+ { this._isRange
+ ? <>
+
+
{this._fromLabel}
+ { dateFields.call(this, false) }
+
+
+
{this._toLabel}
+ { dateFields.call(this, true) }
+
+ >
+ : dateFields.call(this, false)
+ }
+
+
+ { yearPickerDialog.call(this, false) }
+ { this._isRange && yearPickerDialog.call(this, true) }
+ >
+ );
+}
+
+function dateFields(this: DateHighZoomInputs, isEnd: boolean) {
+ const yearVal = isEnd ? this._endYearValue : this._yearValue;
+ const monthVal = isEnd ? this._endMonthValue : this._monthValue;
+ const dayVal = isEnd ? this._endDayValue : this._dayValue;
+ const yearVS = isEnd ? this._endYearValueState : this._yearValueState;
+ const monthVS = isEnd ? this._endMonthValueState : this._monthValueState;
+ const dayVS = isEnd ? this._endDayValueState : this._dayValueState;
+ const yearMsg = isEnd ? this._endYearValueStateMessage : this._yearValueStateMessage;
+ const monthMsg = isEnd ? this._endMonthValueStateMessage : this._monthValueStateMessage;
+ const dayMsg = isEnd ? this._endDayValueStateMessage : this._dayValueStateMessage;
+ const dayOpts = isEnd ? this._endDayOptions : this._dayOptions;
+ const suffix = isEnd ? "-end" : "";
+
+ return (
+
+
+ {/* Year */}
+
+
+ this._onYearInput(e, isEnd)}
+ onChange={(e: CustomEvent) => this._onYearChange(e, isEnd)}
+ >
+ { yearVS === ValueState.Negative && yearMsg &&
+ {yearMsg}
+ }
+ this._openYearPicker(isEnd)}
+ />
+
+
+
+ {/* Month */}
+
+
+
+
+
+ {/* Day */}
+
+
+
+
+
+
+ );
+}
+
+function yearPickerDialog(this: DateHighZoomInputs, isEnd: boolean) {
+ const isOpen = isEnd ? this._endYearPickerOpen : this._yearPickerOpen;
+ const selectedTs = this._yearPickerSelectedTimestamp(isEnd);
+ const ypId = `${this._id}-yearpicker${isEnd ? "-end" : ""}`;
+
+ return (
+