@lekoala/date-picker 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/custom-elements.json +12 -2
- package/dist/date-picker.css +153 -105
- package/dist/date-picker.js +166 -78
- package/dist/date-picker.min.css +1 -1
- package/dist/date-picker.min.js +13 -13
- package/dist/date-picker.standalone.min.js +167 -119
- package/dist/types/date-calendar.d.ts.map +1 -1
- package/dist/types/date-field.d.ts +3 -1
- package/dist/types/date-field.d.ts.map +1 -1
- package/dist/types/date-picker.d.ts +62 -5
- package/dist/types/date-picker.d.ts.map +1 -1
- package/docs/ACCESSIBILITY.md +17 -9
- package/docs/API.md +21 -2
- package/docs/ARCHITECTURE.md +16 -2
- package/docs/AT-CHECKLIST.md +1 -1
- package/docs/DECISIONS.md +2 -0
- package/docs/MIGRATION-FLATPICKR.md +1 -1
- package/package.json +4 -4
- package/src/date-calendar.js +3 -6
- package/src/date-field.js +12 -4
- package/src/date-picker.css +153 -105
- package/src/date-picker.js +206 -75
package/dist/date-picker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*** @lekoala/date-picker v0.
|
|
1
|
+
/*** @lekoala/date-picker v0.3.0 - https://github.com/lekoala/date-picker ***/
|
|
2
2
|
(() => {
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -834,7 +834,7 @@
|
|
|
834
834
|
return weeks;
|
|
835
835
|
}
|
|
836
836
|
_focusTargetKey(element) {
|
|
837
|
-
if (element.matches(".dp-month-select, .dp-year-
|
|
837
|
+
if (element.matches(".dp-month-select, .dp-year-input") && element.id) {
|
|
838
838
|
return `#${CSS.escape(element.id)}`;
|
|
839
839
|
}
|
|
840
840
|
if (element.matches(".dp-nav[data-calendar-action]")) {
|
|
@@ -1076,10 +1076,6 @@
|
|
|
1076
1076
|
this._setDisplay(`${this.display.slice(0, 4)}-${target.value}`);
|
|
1077
1077
|
return;
|
|
1078
1078
|
}
|
|
1079
|
-
if (target instanceof HTMLSelectElement && target.matches(".dp-year-select")) {
|
|
1080
|
-
this._setDisplay(`${target.value}-${this.display.slice(5, 7)}`);
|
|
1081
|
-
return;
|
|
1082
|
-
}
|
|
1083
1079
|
if (target instanceof HTMLInputElement && target.matches(".dp-year-input")) {
|
|
1084
1080
|
const year = Number(target.value);
|
|
1085
1081
|
if (!Number.isInteger(year) || year < 1 || year > 9999) {
|
|
@@ -1560,8 +1556,11 @@
|
|
|
1560
1556
|
const availableHeight = `${getAvailableHeight(referenceRect, side, boundary, distance, shiftPadding)}px`;
|
|
1561
1557
|
const { style } = floating;
|
|
1562
1558
|
const roomChanged = style.getPropertyValue("--available-height") !== availableHeight;
|
|
1563
|
-
|
|
1564
|
-
|
|
1559
|
+
const win = options.coordinateSpace === "document" ? reference.ownerDocument.defaultView : null;
|
|
1560
|
+
const originX = win ? win.scrollX : 0;
|
|
1561
|
+
const originY = win ? win.scrollY : 0;
|
|
1562
|
+
style.left = `${coords.x + originX}px`;
|
|
1563
|
+
style.top = `${coords.y + originY}px`;
|
|
1565
1564
|
style.setProperty("--arrow-x", `${arrowX}%`);
|
|
1566
1565
|
style.setProperty("--arrow-y", `${arrowY}%`);
|
|
1567
1566
|
style.setProperty("--available-height", availableHeight);
|
|
@@ -1668,16 +1667,23 @@
|
|
|
1668
1667
|
}
|
|
1669
1668
|
handleInput() {
|
|
1670
1669
|
const input = this.input;
|
|
1671
|
-
|
|
1670
|
+
const text = input.value.trim();
|
|
1671
|
+
const canonical = this.canonical ? this.adapter.format(this.canonical) : "";
|
|
1672
1672
|
this.dirty();
|
|
1673
|
+
if (text === canonical) {
|
|
1674
|
+
this._dirty = false;
|
|
1675
|
+
if (this.hidden)
|
|
1676
|
+
this.hidden.value = this.canonical;
|
|
1677
|
+
input.setCustomValidity("");
|
|
1678
|
+
return;
|
|
1679
|
+
}
|
|
1680
|
+
this._dirty = true;
|
|
1673
1681
|
if (this.hidden)
|
|
1674
1682
|
this.hidden.value = "";
|
|
1675
|
-
const text = input.value.trim();
|
|
1676
1683
|
if (!text) {
|
|
1677
1684
|
input.setCustomValidity("");
|
|
1678
1685
|
return;
|
|
1679
1686
|
}
|
|
1680
|
-
const canonical = this.canonical ? this.adapter.format(this.canonical) : "";
|
|
1681
1687
|
input.setCustomValidity(text === canonical ? "" : this.messages.invalidDate);
|
|
1682
1688
|
}
|
|
1683
1689
|
async commit() {
|
|
@@ -1791,7 +1797,8 @@
|
|
|
1791
1797
|
this._lastFocusEndpoint = "";
|
|
1792
1798
|
this._rangeCommitId = 0;
|
|
1793
1799
|
this._pendingIntents = new Map;
|
|
1794
|
-
this.
|
|
1800
|
+
this._buttons = [];
|
|
1801
|
+
this._returnFocus = null;
|
|
1795
1802
|
this._panel = null;
|
|
1796
1803
|
this._calendar = null;
|
|
1797
1804
|
this._originalDescribedBy = "";
|
|
@@ -1807,6 +1814,7 @@
|
|
|
1807
1814
|
this._dateState = null;
|
|
1808
1815
|
this._renderDay = null;
|
|
1809
1816
|
this._isDateDisabled = null;
|
|
1817
|
+
this._coordinateSpace = "viewport";
|
|
1810
1818
|
}
|
|
1811
1819
|
_rangeMode() {
|
|
1812
1820
|
return this.hasAttribute("range") && Boolean(this._range);
|
|
@@ -1898,7 +1906,7 @@
|
|
|
1898
1906
|
field.confirm = (date) => this._confirmDate(date);
|
|
1899
1907
|
field.setupFormValue();
|
|
1900
1908
|
}
|
|
1901
|
-
this._build(
|
|
1909
|
+
this._build();
|
|
1902
1910
|
this._setRangeAria();
|
|
1903
1911
|
this._syncRangeFields();
|
|
1904
1912
|
this._bindRange();
|
|
@@ -1938,10 +1946,12 @@
|
|
|
1938
1946
|
this._teardownField(this._field);
|
|
1939
1947
|
}
|
|
1940
1948
|
this._field = null;
|
|
1941
|
-
this.
|
|
1949
|
+
for (const { button } of this._buttons)
|
|
1950
|
+
button.remove();
|
|
1951
|
+
this._buttons = [];
|
|
1952
|
+
this._returnFocus = null;
|
|
1942
1953
|
this._panel?.remove();
|
|
1943
1954
|
this._formatHint?.remove();
|
|
1944
|
-
this._button = null;
|
|
1945
1955
|
this._panel = null;
|
|
1946
1956
|
this._calendar = null;
|
|
1947
1957
|
this._formatHint = null;
|
|
@@ -2105,6 +2115,12 @@
|
|
|
2105
2115
|
if (this._connected)
|
|
2106
2116
|
this.validate();
|
|
2107
2117
|
}
|
|
2118
|
+
get coordinateSpace() {
|
|
2119
|
+
return this._coordinateSpace;
|
|
2120
|
+
}
|
|
2121
|
+
set coordinateSpace(value) {
|
|
2122
|
+
this._coordinateSpace = value === "document" ? "document" : "viewport";
|
|
2123
|
+
}
|
|
2108
2124
|
_adapter() {
|
|
2109
2125
|
return this._field?.adapter ?? this._fields?.[0]?.adapter ?? createDateAdapter(this.locale);
|
|
2110
2126
|
}
|
|
@@ -2116,8 +2132,9 @@
|
|
|
2116
2132
|
if (!input)
|
|
2117
2133
|
return;
|
|
2118
2134
|
this._field?.syncInputState();
|
|
2119
|
-
|
|
2120
|
-
|
|
2135
|
+
const button = this._buttons[0]?.button;
|
|
2136
|
+
if (button)
|
|
2137
|
+
button.disabled = input.disabled || input.readOnly;
|
|
2121
2138
|
if (this._open && (input.disabled || input.readOnly))
|
|
2122
2139
|
this.hide(false);
|
|
2123
2140
|
}
|
|
@@ -2126,10 +2143,12 @@
|
|
|
2126
2143
|
return;
|
|
2127
2144
|
for (const field of this._fields)
|
|
2128
2145
|
field.syncInputState();
|
|
2146
|
+
for (const { button, endpoint } of this._buttons) {
|
|
2147
|
+
const index = endpoint === "end" ? 1 : 0;
|
|
2148
|
+
const field = this._fields[index];
|
|
2149
|
+
button.disabled = Boolean(field?.input.disabled || field?.input.readOnly);
|
|
2150
|
+
}
|
|
2129
2151
|
const active = this._range?.activeEndpoint === "end" ? 1 : 0;
|
|
2130
|
-
const disabled = this._fields.every((field) => field.input.disabled || field.input.readOnly);
|
|
2131
|
-
if (this._button)
|
|
2132
|
-
this._button.disabled = disabled;
|
|
2133
2152
|
if (this._open && (this._fields[active]?.input.disabled || this._fields[active]?.input.readOnly)) {
|
|
2134
2153
|
this.hide(false);
|
|
2135
2154
|
}
|
|
@@ -2147,19 +2166,37 @@
|
|
|
2147
2166
|
input.setAttribute("aria-controls", this._panel.id);
|
|
2148
2167
|
}
|
|
2149
2168
|
}
|
|
2150
|
-
|
|
2151
|
-
const input = anchorInput || this._input;
|
|
2152
|
-
if (!input)
|
|
2153
|
-
return;
|
|
2154
|
-
const panelId = `${this._id}-panel`;
|
|
2155
|
-
const hintId = `${this._id}-format`;
|
|
2169
|
+
_createTrigger(endpoint) {
|
|
2156
2170
|
const button = document.createElement("button");
|
|
2157
2171
|
button.type = "button";
|
|
2158
2172
|
button.className = "dp-picker-button";
|
|
2159
2173
|
button.setAttribute("aria-haspopup", "dialog");
|
|
2160
2174
|
button.setAttribute("aria-expanded", "false");
|
|
2161
|
-
button.setAttribute("aria-controls",
|
|
2175
|
+
button.setAttribute("aria-controls", `${this._id}-panel`);
|
|
2176
|
+
if (endpoint)
|
|
2177
|
+
button.dataset.endpoint = endpoint;
|
|
2162
2178
|
button.innerHTML = '<span aria-hidden="true"><svg viewBox="0 0 16 16" width="1em" height="1em" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"><rect x="1.75" y="3" width="12.5" height="11" rx="1.75"/><path d="M1.75 6.75h12.5"/><path d="M5.25 1.75v2.5M10.75 1.75v2.5"/></svg></span>';
|
|
2179
|
+
return button;
|
|
2180
|
+
}
|
|
2181
|
+
_build() {
|
|
2182
|
+
const ranges = this._rangeMode();
|
|
2183
|
+
const targets = [];
|
|
2184
|
+
if (ranges) {
|
|
2185
|
+
for (const [index, field] of (this._fields || []).entries()) {
|
|
2186
|
+
targets.push([field.input, index === 1 ? "end" : "start"]);
|
|
2187
|
+
}
|
|
2188
|
+
} else if (this._input) {
|
|
2189
|
+
targets.push([this._input, ""]);
|
|
2190
|
+
}
|
|
2191
|
+
if (!targets.length)
|
|
2192
|
+
return;
|
|
2193
|
+
const panelId = `${this._id}-panel`;
|
|
2194
|
+
const hintId = `${this._id}-format`;
|
|
2195
|
+
this._buttons = targets.map(([input, endpoint]) => {
|
|
2196
|
+
const button = this._createTrigger(endpoint);
|
|
2197
|
+
input.insertAdjacentElement("afterend", button);
|
|
2198
|
+
return { button, endpoint };
|
|
2199
|
+
});
|
|
2163
2200
|
const panel = document.createElement("div");
|
|
2164
2201
|
panel.id = panelId;
|
|
2165
2202
|
panel.className = "dp-picker-panel";
|
|
@@ -2173,28 +2210,25 @@
|
|
|
2173
2210
|
const hint = document.createElement("span");
|
|
2174
2211
|
hint.id = hintId;
|
|
2175
2212
|
hint.className = "dp-visually-hidden";
|
|
2176
|
-
|
|
2177
|
-
button.insertAdjacentElement("afterend", panel);
|
|
2178
|
-
panel.insertAdjacentElement("afterend", hint);
|
|
2179
|
-
this._button = button;
|
|
2213
|
+
this.append(panel, hint);
|
|
2180
2214
|
this._panel = panel;
|
|
2181
2215
|
this._calendar = calendar;
|
|
2182
2216
|
this._formatHint = hint;
|
|
2183
|
-
if (!this.
|
|
2184
|
-
this._originalDescribedBy =
|
|
2217
|
+
if (!ranges && this._input) {
|
|
2218
|
+
this._originalDescribedBy = this._input.getAttribute("aria-describedby") || "";
|
|
2185
2219
|
const describedBy = [this._originalDescribedBy, hintId].filter(Boolean).join(" ");
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2220
|
+
this._input.setAttribute("aria-describedby", describedBy);
|
|
2221
|
+
this._input.setAttribute("role", "combobox");
|
|
2222
|
+
this._input.setAttribute("aria-haspopup", "dialog");
|
|
2223
|
+
this._input.setAttribute("aria-expanded", "false");
|
|
2224
|
+
this._input.setAttribute("aria-controls", panelId);
|
|
2191
2225
|
}
|
|
2192
2226
|
this._refreshLocale();
|
|
2193
2227
|
this._refreshButtonLabel();
|
|
2194
2228
|
}
|
|
2195
2229
|
_bind() {
|
|
2196
2230
|
const input = this._input;
|
|
2197
|
-
const button = this.
|
|
2231
|
+
const button = this._buttons[0]?.button;
|
|
2198
2232
|
const calendar = this._calendar;
|
|
2199
2233
|
if (!input || !button || !calendar)
|
|
2200
2234
|
return;
|
|
@@ -2234,8 +2268,9 @@
|
|
|
2234
2268
|
this.hide(false);
|
|
2235
2269
|
return;
|
|
2236
2270
|
}
|
|
2237
|
-
this.show();
|
|
2271
|
+
this.show({ returnFocus: button });
|
|
2238
2272
|
}, { signal });
|
|
2273
|
+
button.addEventListener("keydown", (event) => this._onTriggerKeyDown("", event), { signal });
|
|
2239
2274
|
calendar.addEventListener("dateactivate", (event) => {
|
|
2240
2275
|
const custom = event;
|
|
2241
2276
|
const date = custom.detail?.date;
|
|
@@ -2249,7 +2284,7 @@
|
|
|
2249
2284
|
this._field?.dirty();
|
|
2250
2285
|
this._setValue(date, { emit: true, format: true });
|
|
2251
2286
|
this.hide(false);
|
|
2252
|
-
this.
|
|
2287
|
+
this._restoreFocus();
|
|
2253
2288
|
});
|
|
2254
2289
|
}, { signal });
|
|
2255
2290
|
calendar.addEventListener("dateloadend", () => void this.validate(), { signal });
|
|
@@ -2271,9 +2306,8 @@
|
|
|
2271
2306
|
this.addEventListener("keydown", (event) => this._onEscape(event), { signal });
|
|
2272
2307
|
}
|
|
2273
2308
|
_bindRange() {
|
|
2274
|
-
const button = this._button;
|
|
2275
2309
|
const calendar = this._calendar;
|
|
2276
|
-
if (!this._fields || !
|
|
2310
|
+
if (!this._fields || !this._buttons.length || !calendar)
|
|
2277
2311
|
return;
|
|
2278
2312
|
const controller = new AbortController;
|
|
2279
2313
|
this._controller = controller;
|
|
@@ -2286,17 +2320,17 @@
|
|
|
2286
2320
|
field.input.addEventListener("focus", (event) => this._onFieldFocus(endpoint, event), { signal });
|
|
2287
2321
|
field.input.addEventListener("keydown", (event) => this._onFieldKeyDown(endpoint, event), { signal });
|
|
2288
2322
|
}
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
}
|
|
2323
|
+
for (const entry of this._buttons) {
|
|
2324
|
+
const endpoint = entry.endpoint;
|
|
2325
|
+
if (endpoint === "")
|
|
2326
|
+
continue;
|
|
2327
|
+
entry.button.addEventListener("click", (event) => this._onRangeTriggerClick(endpoint, event), {
|
|
2328
|
+
signal
|
|
2329
|
+
});
|
|
2330
|
+
entry.button.addEventListener("keydown", (event) => this._onTriggerKeyDown(endpoint, event), {
|
|
2331
|
+
signal
|
|
2332
|
+
});
|
|
2333
|
+
}
|
|
2300
2334
|
calendar.addEventListener("click", (event) => this._captureGridIntent(event), { capture: true, signal });
|
|
2301
2335
|
calendar.addEventListener("keydown", (event) => this._captureGridIntent(event), {
|
|
2302
2336
|
capture: true,
|
|
@@ -2351,8 +2385,51 @@
|
|
|
2351
2385
|
}, { capture: true, signal });
|
|
2352
2386
|
this.addEventListener("keydown", (event) => this._onEscape(event), { signal });
|
|
2353
2387
|
}
|
|
2388
|
+
_activateRangeEndpoint(endpoint) {
|
|
2389
|
+
const calendar = this._calendar;
|
|
2390
|
+
if (!this._range || !calendar)
|
|
2391
|
+
return;
|
|
2392
|
+
this._range.focus(endpoint);
|
|
2393
|
+
this._rangeCommitId++;
|
|
2394
|
+
this._pendingIntents.clear();
|
|
2395
|
+
this._lastFocusEndpoint = endpoint;
|
|
2396
|
+
const target = this._boundCanonical(endpoint) || todayISO();
|
|
2397
|
+
calendar.display = monthKey(target);
|
|
2398
|
+
calendar.focusedDate = target;
|
|
2399
|
+
}
|
|
2400
|
+
_onRangeTriggerClick(endpoint, event) {
|
|
2401
|
+
if (!this._open) {
|
|
2402
|
+
this.show({ endpoint });
|
|
2403
|
+
return;
|
|
2404
|
+
}
|
|
2405
|
+
if (event.detail === 0) {
|
|
2406
|
+
this._activateRangeEndpoint(endpoint);
|
|
2407
|
+
setTimeout(() => this._calendar?.focusGrid(), 0);
|
|
2408
|
+
return;
|
|
2409
|
+
}
|
|
2410
|
+
if (endpoint !== this._range?.activeEndpoint) {
|
|
2411
|
+
this._activateRangeEndpoint(endpoint);
|
|
2412
|
+
return;
|
|
2413
|
+
}
|
|
2414
|
+
this.hide(false);
|
|
2415
|
+
}
|
|
2416
|
+
_onTriggerKeyDown(endpoint, event) {
|
|
2417
|
+
if (event.key !== "ArrowDown")
|
|
2418
|
+
return;
|
|
2419
|
+
event.preventDefault();
|
|
2420
|
+
if (this._open) {
|
|
2421
|
+
if (this._rangeMode() && endpoint)
|
|
2422
|
+
this._activateRangeEndpoint(endpoint);
|
|
2423
|
+
setTimeout(() => this._calendar?.focusGrid(), 0);
|
|
2424
|
+
return;
|
|
2425
|
+
}
|
|
2426
|
+
if (this._rangeMode())
|
|
2427
|
+
this.show({ endpoint: endpoint || undefined });
|
|
2428
|
+
else
|
|
2429
|
+
this.show({ returnFocus: this._buttons[0]?.button });
|
|
2430
|
+
}
|
|
2354
2431
|
_onFieldKeyDown(endpoint, event) {
|
|
2355
|
-
if (event.key === "ArrowDown"
|
|
2432
|
+
if (event.key === "ArrowDown") {
|
|
2356
2433
|
event.preventDefault();
|
|
2357
2434
|
if (this._rangeMode() && endpoint) {
|
|
2358
2435
|
this._lastFocusEndpoint = endpoint;
|
|
@@ -2400,6 +2477,7 @@
|
|
|
2400
2477
|
const date = cell?.getAttribute("data-date") || "";
|
|
2401
2478
|
if (!isDate(date))
|
|
2402
2479
|
return;
|
|
2480
|
+
this._pendingIntents.clear();
|
|
2403
2481
|
this._pendingIntents.set(date, ++this._rangeCommitId);
|
|
2404
2482
|
}
|
|
2405
2483
|
_onEscape(event) {
|
|
@@ -2462,7 +2540,8 @@
|
|
|
2462
2540
|
this._refreshButtonLabel();
|
|
2463
2541
|
}
|
|
2464
2542
|
_refreshButtonLabel() {
|
|
2465
|
-
|
|
2543
|
+
const single = this._buttons[0]?.button;
|
|
2544
|
+
if (!single)
|
|
2466
2545
|
return;
|
|
2467
2546
|
if (this._rangeMode()) {
|
|
2468
2547
|
this._refreshRangeButtonLabel();
|
|
@@ -2470,16 +2549,19 @@
|
|
|
2470
2549
|
}
|
|
2471
2550
|
const prefix = this._value ? this._messages.changeDate : this._messages.chooseDate;
|
|
2472
2551
|
const suffix = this._value ? `, ${formatLongDate(this._value, this.locale)}` : "";
|
|
2473
|
-
|
|
2552
|
+
single.setAttribute("aria-label", `${prefix}${suffix}`);
|
|
2474
2553
|
}
|
|
2475
2554
|
_refreshRangeButtonLabel() {
|
|
2476
|
-
if (!this.
|
|
2555
|
+
if (!this._range)
|
|
2477
2556
|
return;
|
|
2478
2557
|
const { start, end } = this._range;
|
|
2479
|
-
const
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2558
|
+
for (const { button, endpoint } of this._buttons) {
|
|
2559
|
+
const bound = endpoint === "end" ? end : start;
|
|
2560
|
+
const prefix = bound ? this._messages.changeDate : this._messages.chooseDate;
|
|
2561
|
+
const suffix = bound ? `, ${formatLongDate(bound, this.locale)}` : "";
|
|
2562
|
+
const boundLabel = endpoint === "end" ? this._messages.rangeEnd : this._messages.rangeStart;
|
|
2563
|
+
button.setAttribute("aria-label", `${prefix}${suffix}, ${boundLabel}`);
|
|
2564
|
+
}
|
|
2483
2565
|
}
|
|
2484
2566
|
_reflectValue(value) {
|
|
2485
2567
|
this._reflecting = true;
|
|
@@ -2552,7 +2634,7 @@
|
|
|
2552
2634
|
this._orderTags.delete(index);
|
|
2553
2635
|
return false;
|
|
2554
2636
|
}
|
|
2555
|
-
this._setBound(which, result.value || "", { emit:
|
|
2637
|
+
this._setBound(which, result.value || "", { emit: false, user: true, format: result.status === "ok" });
|
|
2556
2638
|
return true;
|
|
2557
2639
|
}
|
|
2558
2640
|
_setBound(which, value, options = {}) {
|
|
@@ -2711,10 +2793,14 @@
|
|
|
2711
2793
|
this._suppressFocusOpen = false;
|
|
2712
2794
|
}, 0);
|
|
2713
2795
|
}
|
|
2714
|
-
|
|
2796
|
+
_restoreFocus() {
|
|
2797
|
+
const target = this._returnFocus;
|
|
2798
|
+
this._returnFocus = null;
|
|
2799
|
+
if (!(target instanceof HTMLElement) || !target.isConnected || target.matches(":disabled"))
|
|
2800
|
+
return;
|
|
2715
2801
|
this._suppressFocusOpen = true;
|
|
2716
2802
|
setTimeout(() => {
|
|
2717
|
-
|
|
2803
|
+
target.focus();
|
|
2718
2804
|
this._suppressFocusOpen = false;
|
|
2719
2805
|
}, 0);
|
|
2720
2806
|
}
|
|
@@ -2765,20 +2851,13 @@
|
|
|
2765
2851
|
show(options = {}) {
|
|
2766
2852
|
const panel = this._panel;
|
|
2767
2853
|
const calendar = this._calendar;
|
|
2768
|
-
|
|
2769
|
-
if (!panel || !calendar || !button || this._open)
|
|
2854
|
+
if (!panel || !calendar || !this._buttons.length || this._open)
|
|
2770
2855
|
return;
|
|
2771
2856
|
if (this._rangeMode()) {
|
|
2772
|
-
const endpoint = this._resolveRangeEndpoint();
|
|
2857
|
+
const endpoint = options.endpoint || this._resolveRangeEndpoint();
|
|
2773
2858
|
if (!endpoint)
|
|
2774
2859
|
return;
|
|
2775
|
-
this.
|
|
2776
|
-
this._rangeCommitId++;
|
|
2777
|
-
this._pendingIntents.clear();
|
|
2778
|
-
const target = this._boundCanonical(endpoint) || todayISO();
|
|
2779
|
-
calendar.display = monthKey(target);
|
|
2780
|
-
calendar.focusedDate = target;
|
|
2781
|
-
this._lastFocusEndpoint = endpoint;
|
|
2860
|
+
this._activateRangeEndpoint(endpoint);
|
|
2782
2861
|
} else {
|
|
2783
2862
|
const input = this._input;
|
|
2784
2863
|
if (!input || input.disabled || input.readOnly)
|
|
@@ -2786,11 +2865,19 @@
|
|
|
2786
2865
|
const target = this._value || this._adapter().parse(input.value) || todayISO();
|
|
2787
2866
|
calendar.display = monthKey(target);
|
|
2788
2867
|
calendar.focusedDate = target;
|
|
2868
|
+
this._returnFocus = options.returnFocus instanceof HTMLElement ? options.returnFocus : input;
|
|
2789
2869
|
}
|
|
2790
2870
|
panel.showPopover();
|
|
2791
2871
|
this._open = true;
|
|
2792
2872
|
this._setExpanded(true);
|
|
2793
|
-
const
|
|
2873
|
+
const coordinateSpace = this.coordinateSpace;
|
|
2874
|
+
panel.style.position = coordinateSpace === "document" ? "absolute" : "fixed";
|
|
2875
|
+
const position = () => reposition(this, panel, {
|
|
2876
|
+
placement: "bottom-start",
|
|
2877
|
+
distance: 4,
|
|
2878
|
+
shiftPadding: 8,
|
|
2879
|
+
coordinateSpace
|
|
2880
|
+
});
|
|
2794
2881
|
position();
|
|
2795
2882
|
this._stopTracking = autoUpdate(this, panel, position);
|
|
2796
2883
|
if (options.moveFocus !== false)
|
|
@@ -2800,7 +2887,8 @@
|
|
|
2800
2887
|
_setExpanded(expanded) {
|
|
2801
2888
|
const value = expanded ? "true" : "false";
|
|
2802
2889
|
this._input?.setAttribute("aria-expanded", value);
|
|
2803
|
-
this.
|
|
2890
|
+
for (const { button } of this._buttons)
|
|
2891
|
+
button.setAttribute("aria-expanded", value);
|
|
2804
2892
|
for (const field of this._fields || [])
|
|
2805
2893
|
field.input.setAttribute("aria-expanded", value);
|
|
2806
2894
|
}
|
|
@@ -2822,7 +2910,7 @@
|
|
|
2822
2910
|
if (endpoint)
|
|
2823
2911
|
this._focusField(endpoint);
|
|
2824
2912
|
} else {
|
|
2825
|
-
this.
|
|
2913
|
+
this._restoreFocus();
|
|
2826
2914
|
}
|
|
2827
2915
|
}
|
|
2828
2916
|
this.dispatchEvent(new Event("close", { bubbles: true }));
|
package/dist/date-picker.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:where(date-calendar,date-picker){--dp-bg:Canvas;--dp-fg:CanvasText;--dp-muted:color-mix(in srgb,CanvasText 58%,Canvas);--dp-border:color-mix(in srgb,CanvasText 22%,Canvas);--dp-hover:color-mix(in srgb,CanvasText 7%,Canvas);--dp-accent:Highlight;--dp-accent-fg:HighlightText;--dp-radius:.5rem;--dp-day-size:2.75rem;--dp-gap:.25rem;--dp-header-control-size:2.25rem;--dp-header-block-gap:.4rem;--dp-nav-gap:calc(var(--dp-gap)*2.5);--dp-year-inline-size:5.5rem;--dp-day-radius:calc(var(--dp-radius)*.75);color:var(--dp-fg);font:inherit}.dp-visually-hidden{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;block-size:1px!important;inline-size:1px!important;margin:-1px!important;padding:0!important}date-calendar{display:block;inline-size:max-content;max-inline-size:100%}.dp-calendar-shell{inline-size:max-content;max-inline-size:100%}.dp-calendar-header{display:grid;grid-template-columns:minmax(0,1fr)auto auto auto;align-items:stretch;gap:var(--dp-gap);margin-block-end:var(--dp-header-block-gap)}date-calendar[data-year-first] .dp-calendar-header{grid-template-columns:auto minmax(0,1fr)auto auto}.dp-calendar-header .dp-prev{margin-inline-start:var(--dp-nav-gap)}.dp-calendar-header :where(button,select,input){min-block-size:var(--dp-header-control-size);box-sizing:border-box;border:1px solid var(--dp-border);border-radius:calc(var(--dp-radius)*.75);background:var(--dp-bg);color:var(--dp-fg);font:inherit;padding-block-start:.15rem;padding-block-end:.15rem;line-height:1.2}.dp-calendar-header select{padding-block-start:0;padding-block-end:0}.dp-calendar-header select,.dp-calendar-header input{min-inline-size:0;padding-inline-start:.45rem;padding-inline-end:.45rem}.dp-month-select{overflow:hidden;text-overflow:ellipsis;inline-size:100%}.dp-year-input{inline-size:var(--dp-year-inline-size)}.dp-nav{display:grid;inline-size:var(--dp-header-control-size);cursor:pointer;place-items: center;padding:0;font-size:1.35rem;line-height:1}.dp-nav svg{display:block;pointer-events:none;block-size:1rem;inline-size:1rem}[dir=rtl] .dp-nav svg,html[dir=rtl] .dp-nav svg{transform:scaleX(-1)}.dp-picker-button:disabled{cursor:not-allowed;opacity:.45}.dp-calendar-header :where(button,select,input):disabled{cursor:not-allowed;opacity:.45}.dp-nav:hover:not(:disabled),.dp-day:hover:not([data-disabled=true]):not([data-selected=true]):not([data-range-start=true]):not([data-range-end=true]){background:var(--dp-hover)}.dp-grid{border-collapse:separate;border-spacing:0 .25rem;table-layout:fixed}.dp-grid :where(th,td){box-sizing:border-box;inline-size:var(--dp-day-size);block-size:var(--dp-day-size);text-align:center;padding:0}.dp-grid thead th{color:var(--dp-muted);block-size:1.6rem;font-size:.72rem;font-weight:600}.dp-day{position:relative;border-radius:var(--dp-day-radius);cursor:pointer;outline:none;vertical-align:middle;border:1px solid #0000;font-size:.875rem}.dp-day:focus-visible{outline:2px solid var(--dp-accent);outline-offset:2px;box-shadow:0 0 0 2px var(--dp-bg);z-index:1}.dp-day[data-outside-month=true]{color:var(--dp-muted)}.dp-day[data-selected=true]{background:var(--dp-accent);color:var(--dp-accent-fg)}.dp-day[data-today=true]:not([data-selected=true]){border-color:var(--dp-accent)}.dp-day[data-disabled=true]{cursor:not-allowed;opacity:.42}.dp-day[data-range-start=true],.dp-day[data-range-end=true]{background:var(--dp-accent);color:var(--dp-accent-fg)}.dp-day[data-in-range=true]{background:color-mix(in srgb,var(--dp-accent)18%,var(--dp-bg));border-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day:-webkit-any([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day:-moz-any([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day:is([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day:-webkit-any([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day:-moz-any([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day:is([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day[data-in-range=true]:first-of-type:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius)}.dp-day[data-in-range=true]:first-of-type:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius)}.dp-day[data-in-range=true]:first-of-type:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius)}.dp-day[data-in-range=true]:first-of-type:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius)}.dp-day[data-in-range=true]:first-of-type:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius)}.dp-day[data-in-range=true]:first-of-type:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius)}.dp-day[data-in-range=true]:last-of-type:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius)}.dp-day[data-in-range=true]:last-of-type:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius)}.dp-day[data-in-range=true]:last-of-type:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius)}.dp-day[data-in-range=true]:last-of-type:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius)}.dp-day[data-in-range=true]:last-of-type:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius)}.dp-day[data-in-range=true]:last-of-type:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius)}.dp-day-number{display:block;font-variant-numeric:tabular-nums}.dp-day[data-disabled=true]:focus-visible{opacity:1}.dp-day[data-disabled=true]:focus-visible .dp-day-number{color:var(--dp-muted)}.dp-day-extra{position:absolute;display:flex;pointer-events:none;justify-content:center;gap:2px;min-block-size:.35rem;font-size:.55rem;line-height:1;bottom:1px;left:2px;right:2px}.dp-week-number,.dp-week-heading{color:var(--dp-muted);font-size:.65rem;font-weight:500;inline-size:1.6rem!important}date-picker{position:relative;display:inline-grid;grid-template-columns:minmax(0,1fr)auto;align-items:stretch;max-inline-size:100%}date-picker>input:not([type=hidden]){grid-column:1;min-inline-size:0}date-picker:has(>[data-time-start],>[data-time-end]){grid-template-columns:minmax(0,1fr)auto minmax(0,1fr)}date-picker:has(>[data-time-start]):has(>[data-time-end]){grid-template-columns:minmax(0,1fr)auto minmax(0,1fr)minmax(0,1fr)}date-picker>input[data-time-start]{grid-column:3;grid-row:1;inline-size:100%;min-inline-size:0;margin-inline-start:var(--dp-gap)}date-picker>input[data-time-end]{grid-column:4;grid-row:1;inline-size:100%;min-inline-size:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-start]:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-start]:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-start]:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-start]:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-start]:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-start]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-end]:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-end]:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-end]:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-end]:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-end]:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}date-picker:has(>[data-time-start]):has(>[data-time-end])>input[data-time-end]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}date-picker[range]>input:not([type=hidden]){grid-column:1}date-picker[range]>input[data-range-start]{grid-row:1}date-picker[range]>input[data-range-start]:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-bottom-left-radius:0}date-picker[range]>input[data-range-start]:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-bottom-left-radius:0}date-picker[range]>input[data-range-start]:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-bottom-left-radius:0}date-picker[range]>input[data-range-start]:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-bottom-right-radius:0}date-picker[range]>input[data-range-start]:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-bottom-right-radius:0}date-picker[range]>input[data-range-start]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-bottom-right-radius:0}date-picker[range]>input[data-range-end]{grid-row:2}date-picker[range]>input[data-range-end]:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0}date-picker[range]>input[data-range-end]:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0}date-picker[range]>input[data-range-end]:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0}date-picker[range]>input[data-range-end]:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0}date-picker[range]>input[data-range-end]:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0}date-picker[range]>input[data-range-end]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0}.dp-picker-button{grid-column:2;border:1px solid var(--dp-border);background:var(--dp-bg);color:var(--dp-fg);font:inherit;cursor:pointer;border-inline-start:0;min-inline-size:2.5rem}.dp-picker-button:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius);border-bottom-left-radius:0}.dp-picker-button:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius);border-bottom-left-radius:0}.dp-picker-button:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-top-right-radius:var(--dp-radius);border-bottom-right-radius:var(--dp-radius);border-bottom-left-radius:0}.dp-picker-button:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius);border-bottom-right-radius:0}.dp-picker-button:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius);border-bottom-right-radius:0}.dp-picker-button:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-top-left-radius:var(--dp-radius);border-bottom-left-radius:var(--dp-radius);border-bottom-right-radius:0}date-picker[range]>.dp-picker-button{grid-row:1/span 2}.dp-picker-panel[popover]{position:fixed;border:1px solid var(--dp-border);border-radius:var(--dp-radius);background:var(--dp-bg);color:var(--dp-fg);max-block-size:var(--available-height,90svh);overflow:auto;max-inline-size:calc(100vi - 1rem);margin:0;padding:.65rem;inset:auto;box-shadow:0 .5rem 1.5rem #00000029}.dp-picker-panel:not(:popover-open){display:none}@media (forced-colors:active){.dp-day[data-selected=true],.dp-day[data-range-start=true],.dp-day[data-range-end=true]{color:canvastext;background-color:canvas;border:2px solid highlight;font-weight:700}.dp-day[data-in-range=true]{color:canvastext}.dp-day[data-in-range=true]:after{content:"";position:absolute;background-color:highlight;block-size:1px;bottom:4px;left:3px;right:3px}.dp-day[data-selected=true]:before{content:"";position:absolute;border-radius:calc(var(--dp-radius)*.5);pointer-events:none;border:1px solid canvastext;inset:3px}.dp-day[data-today=true]{border-color:highlight}.dp-day-extra{color:canvastext;forced-color-adjust:none}.dp-day[data-disabled=true],.dp-picker-button:disabled{opacity:1;color:graytext}.dp-calendar-header :where(button,select,input):disabled{opacity:1;color:graytext}}
|
|
1
|
+
:where(date-calendar,date-picker){--dp-bg:#fff;--dp-fg:#1f2328;--dp-muted:color-mix(in srgb,var(--dp-fg)58%,var(--dp-bg));--dp-border:color-mix(in srgb,var(--dp-fg)16%,var(--dp-bg));--dp-hover:color-mix(in srgb,var(--dp-fg)5%,var(--dp-bg));--dp-accent:#2563eb;--dp-accent-fg:#fff;--dp-radius:.5rem;--dp-day-size:2.75rem;--dp-gap:.375rem;--dp-header-control-size:2.25rem;--dp-header-block-gap:.75rem;--dp-row-gap:.375rem;--dp-picker-button-size:2.5rem;--dp-year-inline-size:5.5rem;--dp-day-radius:calc(var(--dp-radius)*.75);color:var(--dp-fg);font:inherit}.dp-visually-hidden{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;block-size:1px!important;inline-size:1px!important;margin:-1px!important;padding:0!important}date-calendar{display:block;inline-size:max-content;max-inline-size:100%}.dp-calendar-shell{inline-size:max-content;max-inline-size:100%}.dp-calendar-header{display:grid;grid-template-columns:minmax(0,1fr)auto auto auto;align-items:stretch;gap:var(--dp-gap);margin-block-end:var(--dp-header-block-gap)}date-calendar[data-year-first] .dp-calendar-header{grid-template-columns:auto minmax(0,1fr)auto auto}.dp-calendar-header :where(button,select,input){min-block-size:var(--dp-header-control-size);box-sizing:border-box;border:1px solid var(--dp-border);border-radius:calc(var(--dp-radius)*.75);background:var(--dp-bg);color:var(--dp-fg);font:inherit;padding-block-start:.15rem;padding-block-end:.15rem;line-height:1.2}.dp-calendar-header input{min-inline-size:0;padding-inline-start:.45rem;padding-inline-end:.45rem}.dp-month-select{overflow:hidden;text-overflow:ellipsis;appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - .9rem),calc(100% - .65rem);background-repeat:no-repeat;background-size:.3rem .3rem;inline-size:100%;min-inline-size:0;padding-inline-start:.45rem;padding-inline-end:2rem}[dir=rtl] .dp-month-select,html[dir=rtl] .dp-month-select{background-position:.9rem,.65rem}.dp-year-input{inline-size:var(--dp-year-inline-size)}.dp-nav{display:grid;inline-size:var(--dp-header-control-size);cursor:pointer;place-items: center;padding:0;font-size:1.35rem;line-height:1}.dp-nav svg{display:block;pointer-events:none;block-size:1rem;inline-size:1rem}[dir=rtl] .dp-nav svg,html[dir=rtl] .dp-nav svg{transform:scaleX(-1)}.dp-picker-button:disabled{cursor:not-allowed;opacity:.45}.dp-calendar-header :where(button,select,input):disabled{cursor:not-allowed;opacity:.45}.dp-nav:hover:not(:disabled){background:var(--dp-hover)}.dp-calendar-header :where(button,select,input):focus-visible{outline:none;border-color:var(--dp-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dp-accent)22%,transparent)}.dp-day:hover:not([data-disabled=true]):not([data-selected=true]):not([data-range-start=true]):not([data-range-end=true]){background:var(--dp-hover)}.dp-grid{border-collapse:separate;border-spacing:0 var(--dp-row-gap);table-layout:fixed}.dp-grid :where(th,td){box-sizing:border-box;inline-size:var(--dp-day-size);block-size:var(--dp-day-size);text-align:center;padding:0}.dp-grid thead th{color:var(--dp-muted);block-size:1.5rem;font-size:.72rem;font-weight:500}.dp-day{position:relative;border-radius:var(--dp-day-radius);cursor:pointer;outline:none;vertical-align:middle;border:1px solid #0000;font-size:.875rem}.dp-day:focus-visible{outline:2px solid var(--dp-accent);outline-offset:-2px}.dp-day:-webkit-any([data-selected=true],[data-range-start=true],[data-range-end=true]):focus-visible{outline-color:var(--dp-accent-fg)}.dp-day:-moz-any([data-selected=true],[data-range-start=true],[data-range-end=true]):focus-visible{outline-color:var(--dp-accent-fg)}.dp-day:is([data-selected=true],[data-range-start=true],[data-range-end=true]):focus-visible{outline-color:var(--dp-accent-fg)}.dp-day[data-outside-month=true]{color:var(--dp-muted)}.dp-day[data-selected=true]{background:var(--dp-accent);color:var(--dp-accent-fg)}.dp-day[data-today=true]:not(:-webkit-any([data-selected=true],[data-range-start=true],[data-range-end=true])){border-color:var(--dp-accent)}.dp-day[data-today=true]:not(:-moz-any([data-selected=true],[data-range-start=true],[data-range-end=true])){border-color:var(--dp-accent)}.dp-day[data-today=true]:not(:is([data-selected=true],[data-range-start=true],[data-range-end=true])){border-color:var(--dp-accent)}.dp-day[data-disabled=true]{cursor:not-allowed;opacity:.42}.dp-day[data-range-start=true],.dp-day[data-range-end=true]{background:var(--dp-accent);color:var(--dp-accent-fg)}.dp-day[data-in-range=true]{background:color-mix(in srgb,var(--dp-accent)18%,var(--dp-bg));border-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day[data-range-start=true]:has(+[data-in-range=true],+[data-range-end=true]):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day:-webkit-any([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day:-moz-any([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day:is([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:0;border-bottom-left-radius:0}.dp-day:-webkit-any([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day:-moz-any([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day:is([data-in-range=true],[data-range-start=true])+.dp-day[data-range-end=true]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:0;border-bottom-right-radius:0}.dp-day[data-in-range=true]:first-of-type:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:var(--dp-day-radius);border-bottom-left-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:first-of-type:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:var(--dp-day-radius);border-bottom-left-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:first-of-type:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-left-radius:var(--dp-day-radius);border-bottom-left-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:first-of-type:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:var(--dp-day-radius);border-bottom-right-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:first-of-type:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:var(--dp-day-radius);border-bottom-right-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:first-of-type:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-right-radius:var(--dp-day-radius);border-bottom-right-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:last-of-type:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:var(--dp-day-radius);border-bottom-right-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:last-of-type:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:var(--dp-day-radius);border-bottom-right-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:last-of-type:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-top-right-radius:var(--dp-day-radius);border-bottom-right-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:last-of-type:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:var(--dp-day-radius);border-bottom-left-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:last-of-type:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:var(--dp-day-radius);border-bottom-left-radius:var(--dp-day-radius)}.dp-day[data-in-range=true]:last-of-type:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-top-left-radius:var(--dp-day-radius);border-bottom-left-radius:var(--dp-day-radius)}.dp-day-number{display:block;font-variant-numeric:tabular-nums}.dp-day[data-disabled=true]:focus-visible{opacity:1}.dp-day[data-disabled=true]:focus-visible .dp-day-number{color:var(--dp-muted)}.dp-day-extra{position:absolute;display:flex;pointer-events:none;justify-content:center;gap:2px;min-block-size:.35rem;font-size:.55rem;line-height:1;bottom:1px;left:2px;right:2px}.dp-week-number,.dp-week-heading{color:var(--dp-muted);font-size:.65rem;font-weight:500;inline-size:1.6rem!important}date-picker{position:relative;display:inline-grid;grid-template-columns:minmax(0,1fr);align-items:stretch;max-inline-size:100%}date-picker>input:not([type=hidden]):focus-visible{border-color:var(--dp-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--dp-accent)20%,transparent)}date-picker>input:not([type=hidden]){min-inline-size:0}date-picker>input:not([type=hidden]):not([type=time]){grid-column:1;grid-row:1;box-sizing:border-box;inline-size:100%;padding-inline-end:calc(var(--dp-picker-button-size) + .5rem)}.dp-picker-button{display:grid;grid-column:1;grid-row:1;inline-size:var(--dp-picker-button-size);color:var(--dp-fg);font:inherit;cursor:pointer;background:0 0;border:0;place-self:stretch end;place-items: center;min-inline-size:0}.dp-picker-button:focus-visible{outline:2px solid var(--dp-accent);outline-offset:-5px;border-radius:var(--dp-radius)}date-picker:has(>[data-time-start],>[data-time-end]){grid-template-columns:minmax(0,1fr)minmax(0,1fr);column-gap:var(--dp-gap)}date-picker:has(>[data-time-start]):has(>[data-time-end]){grid-template-columns:minmax(0,1fr)minmax(0,1fr)minmax(0,1fr)}date-picker>input[data-time-start]{grid-column:2;grid-row:1;min-inline-size:0}date-picker>input[data-time-end]{grid-column:3;grid-row:1;min-inline-size:0}date-picker[range]{row-gap:var(--dp-gap)}date-picker[range]>input[data-range-start]{grid-row:1}date-picker[range]>input[data-range-end]{grid-row:2}date-picker[range]>.dp-picker-button[data-endpoint=start]{grid-row:1}date-picker[range]>.dp-picker-button[data-endpoint=end]{grid-row:2}.dp-picker-panel[popover]{position:fixed;border:1px solid var(--dp-border);border-radius:var(--dp-radius);background:var(--dp-bg);color:var(--dp-fg);max-block-size:var(--available-height,90svh);overflow:auto;max-inline-size:calc(100vi - 1rem);margin:0;padding:.875rem 1rem;inset:auto;box-shadow:0 .5rem 1.5rem #0f172a1f}.dp-picker-panel:not(:popover-open){display:none}@media (forced-colors:active){.dp-month-select,[dir=rtl] .dp-month-select{appearance:auto;background-image:none;padding-inline-start:.45rem;padding-inline-end:.45rem}.dp-day:-webkit-any([data-selected=true],[data-range-start=true],[data-range-end=true]){color:canvastext;background-color:canvas;border:2px solid highlight}.dp-day:-moz-any([data-selected=true],[data-range-start=true],[data-range-end=true]){color:canvastext;background-color:canvas;border:2px solid highlight}.dp-day:is([data-selected=true],[data-range-start=true],[data-range-end=true]){color:canvastext;background-color:canvas;border:2px solid highlight}.dp-day[data-in-range=true]{color:canvastext}.dp-day[data-in-range=true]:after{content:"";position:absolute;background-color:highlight;block-size:1px;bottom:4px;left:3px;right:3px}.dp-day[data-today=true]{border-color:highlight}.dp-day-extra{color:canvastext;forced-color-adjust:none}}
|