@lekoala/date-picker 0.1.0 → 0.2.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 +30 -5
- package/custom-elements.json +44 -0
- package/dist/date-picker.css +114 -18
- package/dist/date-picker.js +176 -19
- package/dist/date-picker.min.css +1 -1
- package/dist/date-picker.min.js +13 -13
- package/dist/date-picker.standalone.min.js +128 -32
- package/dist/types/calendar-model.d.ts.map +1 -1
- package/dist/types/date-calendar.d.ts +3 -0
- package/dist/types/date-calendar.d.ts.map +1 -1
- package/dist/types/date-picker.d.ts +24 -0
- package/dist/types/date-picker.d.ts.map +1 -1
- package/dist/types/date.d.ts +6 -0
- package/dist/types/date.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/intl.d.ts +9 -0
- package/dist/types/intl.d.ts.map +1 -1
- package/dist/types/time.d.ts +8 -0
- package/dist/types/time.d.ts.map +1 -0
- package/docs/API.md +52 -2
- package/docs/CALENDAR-INTEGRATION.md +12 -6
- package/docs/DECISIONS.md +8 -1
- package/docs/ROADMAP.md +3 -2
- package/docs/USE_CASES.md +14 -1
- package/package.json +2 -2
- package/src/calendar-model.js +2 -1
- package/src/date-calendar.js +44 -8
- package/src/date-picker.css +114 -18
- package/src/date-picker.js +108 -5
- package/src/date.js +13 -3
- package/src/index.js +1 -0
- package/src/intl.js +38 -2
- package/src/time.js +39 -0
package/dist/date-picker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*** @lekoala/date-picker v0.
|
|
1
|
+
/*** @lekoala/date-picker v0.2.0 - https://github.com/lekoala/date-picker ***/
|
|
2
2
|
(() => {
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -156,10 +156,15 @@
|
|
|
156
156
|
throw new TypeError(`Invalid civil date: ${value}`);
|
|
157
157
|
return toUTCDate(parsed).getUTCDay();
|
|
158
158
|
}
|
|
159
|
-
function
|
|
159
|
+
function normalizeFirstDay(firstDay) {
|
|
160
|
+
if (firstDay === 7)
|
|
161
|
+
return 0;
|
|
160
162
|
if (!Number.isInteger(firstDay) || firstDay < 0 || firstDay > 6)
|
|
161
|
-
throw new RangeError("firstDay must be 0..6");
|
|
162
|
-
|
|
163
|
+
throw new RangeError("firstDay must be 0..6 (Sunday=0, 7 accepted as Sunday alias)");
|
|
164
|
+
return firstDay;
|
|
165
|
+
}
|
|
166
|
+
function startOfWeek(value, firstDay = 1) {
|
|
167
|
+
const offset = (dayOfWeek(value) - normalizeFirstDay(firstDay) + 7) % 7;
|
|
163
168
|
return addDays(value, -offset);
|
|
164
169
|
}
|
|
165
170
|
function endOfWeek(value, firstDay = 1) {
|
|
@@ -210,7 +215,7 @@
|
|
|
210
215
|
class CalendarModel {
|
|
211
216
|
constructor(options = {}) {
|
|
212
217
|
const today = todayISO();
|
|
213
|
-
this.firstDay = options.firstDay ?? 1;
|
|
218
|
+
this.firstDay = normalizeFirstDay(options.firstDay ?? 1);
|
|
214
219
|
this.value = options.value && isDate(options.value) ? options.value : "";
|
|
215
220
|
this.focused = options.focused && isDate(options.focused) ? options.focused : this.value || today;
|
|
216
221
|
this.display = options.display ? monthKey(options.display) : monthKey(this.focused);
|
|
@@ -382,6 +387,32 @@
|
|
|
382
387
|
timeZone: "UTC"
|
|
383
388
|
}).format(toIntlDate(`${value.slice(0, 7)}-15`));
|
|
384
389
|
}
|
|
390
|
+
function monthYearOrder(locale = "") {
|
|
391
|
+
const resolved = resolveLocale(locale);
|
|
392
|
+
try {
|
|
393
|
+
const parts = new Intl.DateTimeFormat(resolved, {
|
|
394
|
+
calendar: "gregory",
|
|
395
|
+
year: "numeric",
|
|
396
|
+
month: "long",
|
|
397
|
+
timeZone: "UTC"
|
|
398
|
+
}).formatToParts(toIntlDate("2026-09-15"));
|
|
399
|
+
let monthIndex = -1;
|
|
400
|
+
let yearIndex = -1;
|
|
401
|
+
parts.forEach((part, index) => {
|
|
402
|
+
const type = part.type;
|
|
403
|
+
if (type === "month") {
|
|
404
|
+
if (monthIndex < 0)
|
|
405
|
+
monthIndex = index;
|
|
406
|
+
} else if (type === "year" || type === "relatedYear" || type === "yearName") {
|
|
407
|
+
if (yearIndex < 0)
|
|
408
|
+
yearIndex = index;
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
if (monthIndex >= 0 && yearIndex >= 0)
|
|
412
|
+
return yearIndex < monthIndex ? ["year", "month"] : ["month", "year"];
|
|
413
|
+
} catch {}
|
|
414
|
+
return ["month", "year"];
|
|
415
|
+
}
|
|
385
416
|
function monthNames(locale = "", style = "long") {
|
|
386
417
|
const resolved = resolveLocale(locale);
|
|
387
418
|
const formatter = new Intl.DateTimeFormat(resolved, { calendar: "gregory", month: style, timeZone: "UTC" });
|
|
@@ -394,10 +425,11 @@
|
|
|
394
425
|
weekday: style,
|
|
395
426
|
timeZone: "UTC"
|
|
396
427
|
});
|
|
428
|
+
const normalized = normalizeFirstDay(firstDay);
|
|
397
429
|
const sunday = toIntlDate("2026-01-04");
|
|
398
430
|
return Array.from({ length: 7 }, (_, index) => {
|
|
399
431
|
const date = new Date(sunday);
|
|
400
|
-
date.setUTCDate(sunday.getUTCDate() + (
|
|
432
|
+
date.setUTCDate(sunday.getUTCDate() + (normalized + index) % 7);
|
|
401
433
|
return formatter.format(date);
|
|
402
434
|
});
|
|
403
435
|
}
|
|
@@ -518,6 +550,8 @@
|
|
|
518
550
|
}
|
|
519
551
|
function parseFirstDay(value) {
|
|
520
552
|
const parsed = Number(value);
|
|
553
|
+
if (parsed === 7)
|
|
554
|
+
return 0;
|
|
521
555
|
return Number.isInteger(parsed) && parsed >= 0 && parsed <= 6 ? parsed : 1;
|
|
522
556
|
}
|
|
523
557
|
function yearOf(month) {
|
|
@@ -559,7 +593,8 @@
|
|
|
559
593
|
"locale",
|
|
560
594
|
"fixed-weeks",
|
|
561
595
|
"show-week-numbers",
|
|
562
|
-
"selection"
|
|
596
|
+
"selection",
|
|
597
|
+
"month-format"
|
|
563
598
|
];
|
|
564
599
|
constructor() {
|
|
565
600
|
super();
|
|
@@ -681,6 +716,15 @@
|
|
|
681
716
|
set selection(value) {
|
|
682
717
|
this.setAttribute("selection", value === "none" ? "none" : "single");
|
|
683
718
|
}
|
|
719
|
+
get monthFormat() {
|
|
720
|
+
return this.getAttribute("month-format") === "short" ? "short" : "long";
|
|
721
|
+
}
|
|
722
|
+
set monthFormat(value) {
|
|
723
|
+
if (value === "short")
|
|
724
|
+
this.setAttribute("month-format", "short");
|
|
725
|
+
else
|
|
726
|
+
this.removeAttribute("month-format");
|
|
727
|
+
}
|
|
684
728
|
get highlightedRange() {
|
|
685
729
|
return { ...this._highlightedRange };
|
|
686
730
|
}
|
|
@@ -1101,7 +1145,7 @@
|
|
|
1101
1145
|
const display = this.display;
|
|
1102
1146
|
const displayYear = yearOf(display);
|
|
1103
1147
|
const displayMonth = Number(display.slice(5, 7));
|
|
1104
|
-
const names = monthNames(locale,
|
|
1148
|
+
const names = monthNames(locale, this.monthFormat);
|
|
1105
1149
|
const weekdayShort = weekdayNames(locale, this.firstDay, "short");
|
|
1106
1150
|
const weekdayLong = weekdayNames(locale, this.firstDay, "long");
|
|
1107
1151
|
const weeks = this._weeks();
|
|
@@ -1146,18 +1190,22 @@
|
|
|
1146
1190
|
}).join("");
|
|
1147
1191
|
const focusedElement = document.activeElement;
|
|
1148
1192
|
const focusKey = focusedElement instanceof HTMLElement && this.contains(focusedElement) ? this._focusTargetKey(focusedElement) : "";
|
|
1193
|
+
const yearFirst = monthYearOrder(locale)[0] === "year";
|
|
1194
|
+
this.toggleAttribute("data-year-first", yearFirst);
|
|
1195
|
+
const monthControl = `<label class="dp-visually-hidden" for="${this._id}-month">${escapeHtml(this._messages.month)}</label>
|
|
1196
|
+
<select id="${this._id}-month" class="dp-month-select" aria-label="${escapeHtml(this._messages.month)}">${monthOptions}</select>`;
|
|
1197
|
+
const yearControl = `<label class="dp-visually-hidden" for="${this._id}-year">${escapeHtml(this._messages.year)}</label>
|
|
1198
|
+
<input id="${this._id}-year" class="dp-year-input" type="number" inputmode="numeric" value="${displayYear}"${minYearAttr}${maxYearAttr} aria-label="${escapeHtml(this._messages.year)}">`;
|
|
1149
1199
|
this._rendering = true;
|
|
1150
1200
|
this.innerHTML = `
|
|
1151
1201
|
<div class="dp-calendar-shell">
|
|
1152
1202
|
<div class="dp-calendar-header">
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
<label class="dp-visually-hidden" for="${this._id}-year">${escapeHtml(this._messages.year)}</label>
|
|
1156
|
-
<input id="${this._id}-year" class="dp-year-input" type="number" inputmode="numeric" value="${displayYear}"${minYearAttr}${maxYearAttr} aria-label="${escapeHtml(this._messages.year)}">
|
|
1203
|
+
${yearFirst ? yearControl : monthControl}
|
|
1204
|
+
${yearFirst ? monthControl : yearControl}
|
|
1157
1205
|
<button type="button" class="dp-nav dp-prev" data-calendar-action="previous" aria-label="${escapeHtml(this._messages.previousMonth)}"${prevDisabled ? " disabled" : ""}><svg aria-hidden="true" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m10 4-4 4 4 4"/></svg></button>
|
|
1158
1206
|
<button type="button" class="dp-nav dp-next" data-calendar-action="next" aria-label="${escapeHtml(this._messages.nextMonth)}"${nextDisabled ? " disabled" : ""}><svg aria-hidden="true" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 4 4 4-4 4"/></svg></button>
|
|
1159
1207
|
</div>
|
|
1160
|
-
<h2 id="${headingId}" class="dp-calendar-heading" aria-live="polite">${escapeHtml(formatMonthYear(`${display}-15`, locale))}</h2>
|
|
1208
|
+
<h2 id="${headingId}" class="dp-calendar-heading dp-visually-hidden" aria-live="polite">${escapeHtml(formatMonthYear(`${display}-15`, locale))}</h2>
|
|
1161
1209
|
<table id="${gridId}" class="dp-grid" role="grid" aria-labelledby="${headingId}">
|
|
1162
1210
|
<thead><tr>${weekHeader}${dayHeaders}</tr></thead>
|
|
1163
1211
|
<tbody>${rows}</tbody>
|
|
@@ -1166,7 +1214,11 @@
|
|
|
1166
1214
|
this._rendering = false;
|
|
1167
1215
|
if (focusKey) {
|
|
1168
1216
|
queueMicrotask(() => {
|
|
1169
|
-
|
|
1217
|
+
let selector = focusKey;
|
|
1218
|
+
if (selector.startsWith(".dp-day[data-date=")) {
|
|
1219
|
+
selector = `.dp-day[data-date="${CSS.escape(this._model.focused)}"]`;
|
|
1220
|
+
}
|
|
1221
|
+
const target = this.querySelector(selector);
|
|
1170
1222
|
if (target instanceof HTMLElement)
|
|
1171
1223
|
target.focus();
|
|
1172
1224
|
});
|
|
@@ -1689,11 +1741,40 @@
|
|
|
1689
1741
|
}
|
|
1690
1742
|
}
|
|
1691
1743
|
|
|
1744
|
+
// src/time.js
|
|
1745
|
+
var TIME_RE = /^(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?$/;
|
|
1746
|
+
function parseTimeParts(value) {
|
|
1747
|
+
const match = TIME_RE.exec(String(value || ""));
|
|
1748
|
+
if (!match)
|
|
1749
|
+
return null;
|
|
1750
|
+
const hour = Number(match[1]);
|
|
1751
|
+
const minute = Number(match[2]);
|
|
1752
|
+
const second = match[3] === undefined ? 0 : Number(match[3]);
|
|
1753
|
+
const millisecond = match[4] === undefined ? 0 : Number(match[4].padEnd(3, "0"));
|
|
1754
|
+
if (hour > 23 || minute > 59 || second > 59 || millisecond > 999)
|
|
1755
|
+
return null;
|
|
1756
|
+
return { hour, minute, second, millisecond };
|
|
1757
|
+
}
|
|
1758
|
+
function isTime(value) {
|
|
1759
|
+
return parseTimeParts(value) !== null;
|
|
1760
|
+
}
|
|
1761
|
+
function toMillis(parts) {
|
|
1762
|
+
return ((parts.hour * 60 + parts.minute) * 60 + parts.second) * 1000 + parts.millisecond;
|
|
1763
|
+
}
|
|
1764
|
+
function compareTimes(a, b) {
|
|
1765
|
+
const left = parseTimeParts(a);
|
|
1766
|
+
const right = parseTimeParts(b);
|
|
1767
|
+
if (!left || !right)
|
|
1768
|
+
throw new TypeError("compareTimes() expects HH:MM values");
|
|
1769
|
+
const diff = toMillis(left) - toMillis(right);
|
|
1770
|
+
return diff === 0 ? 0 : diff < 0 ? -1 : 1;
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1692
1773
|
// src/date-picker.js
|
|
1693
1774
|
var uid2 = 0;
|
|
1694
1775
|
|
|
1695
1776
|
class DatePickerElement extends HTMLElement {
|
|
1696
|
-
static observedAttributes = ["value", "locale", "min", "max", "open-on-focus"];
|
|
1777
|
+
static observedAttributes = ["value", "locale", "min", "max", "open-on-focus", "month-format"];
|
|
1697
1778
|
constructor() {
|
|
1698
1779
|
super();
|
|
1699
1780
|
this._id = `date-picker-${++uid2}`;
|
|
@@ -1705,6 +1786,8 @@
|
|
|
1705
1786
|
this._fields = null;
|
|
1706
1787
|
this._range = null;
|
|
1707
1788
|
this._orderTags = new Set;
|
|
1789
|
+
this._timeFields = [null, null];
|
|
1790
|
+
this._timeOrderOwned = new Set;
|
|
1708
1791
|
this._lastFocusEndpoint = "";
|
|
1709
1792
|
this._rangeCommitId = 0;
|
|
1710
1793
|
this._pendingIntents = new Map;
|
|
@@ -1738,13 +1821,14 @@
|
|
|
1738
1821
|
this._connectSingle();
|
|
1739
1822
|
}
|
|
1740
1823
|
_connectSingle() {
|
|
1741
|
-
const input = this.querySelector(":scope > input:not([type=hidden])");
|
|
1824
|
+
const input = this.querySelector(":scope > input:not([type=hidden]):not([type=time]):not([data-time-start]):not([data-time-end])");
|
|
1742
1825
|
if (!(input instanceof HTMLInputElement)) {
|
|
1743
1826
|
console.warn("<date-picker> expects a direct child text input");
|
|
1744
1827
|
return;
|
|
1745
1828
|
}
|
|
1746
1829
|
this._connected = true;
|
|
1747
1830
|
this._input = input;
|
|
1831
|
+
this._discoverTimeFields();
|
|
1748
1832
|
this._field = new DateFieldController(input, { messages: this._messages, locale: this.locale });
|
|
1749
1833
|
this._field.onAttributesChanged = () => this._syncInputState();
|
|
1750
1834
|
this._field.confirm = (date) => this._confirmDate(date);
|
|
@@ -1767,7 +1851,31 @@
|
|
|
1767
1851
|
input.defaultValue = input.value;
|
|
1768
1852
|
}
|
|
1769
1853
|
}
|
|
1854
|
+
_discoverTimeFields() {
|
|
1855
|
+
this._timeFields = [null, null];
|
|
1856
|
+
const markers = ["data-time-start", "data-time-end"];
|
|
1857
|
+
for (const [index, marker] of markers.entries()) {
|
|
1858
|
+
const matches = this.querySelectorAll(`:scope > input[${marker}]`);
|
|
1859
|
+
if (matches.length > 1) {
|
|
1860
|
+
console.warn(`<date-picker> expects at most one direct child input[${marker}]; ignoring extras`);
|
|
1861
|
+
}
|
|
1862
|
+
const candidate = matches[0];
|
|
1863
|
+
if (candidate == null)
|
|
1864
|
+
continue;
|
|
1865
|
+
if (!(candidate instanceof HTMLInputElement) || candidate.type !== "time") {
|
|
1866
|
+
console.warn(`<date-picker> input[${marker}] must be an <input type="time">; ignoring it`);
|
|
1867
|
+
continue;
|
|
1868
|
+
}
|
|
1869
|
+
this._timeFields[index] = candidate;
|
|
1870
|
+
}
|
|
1871
|
+
if (this.querySelector(":scope > input[type=time]:not([data-time-start]):not([data-time-end])")) {
|
|
1872
|
+
console.warn("<date-picker> time inputs need [data-time-start] or [data-time-end]; ignoring it");
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1770
1875
|
_connectRange() {
|
|
1876
|
+
if (this.querySelector(":scope > input[data-time-start], :scope > input[data-time-end]")) {
|
|
1877
|
+
console.warn("<date-picker range> time companions are not supported yet; leaving them native");
|
|
1878
|
+
}
|
|
1771
1879
|
const startInput = this.querySelector(":scope > input[data-range-start]");
|
|
1772
1880
|
const endInput = this.querySelector(":scope > input[data-range-end]");
|
|
1773
1881
|
if (!(startInput instanceof HTMLInputElement) || !(endInput instanceof HTMLInputElement)) {
|
|
@@ -1819,6 +1927,8 @@
|
|
|
1819
1927
|
this.hide(false);
|
|
1820
1928
|
this._controller?.abort();
|
|
1821
1929
|
this._controller = null;
|
|
1930
|
+
this._clearTimeOrderValidity();
|
|
1931
|
+
this._timeFields = [null, null];
|
|
1822
1932
|
if (this._rangeMode()) {
|
|
1823
1933
|
for (const field of this._fields || [])
|
|
1824
1934
|
this._teardownField(field);
|
|
@@ -1903,6 +2013,15 @@
|
|
|
1903
2013
|
else
|
|
1904
2014
|
this.removeAttribute("locale");
|
|
1905
2015
|
}
|
|
2016
|
+
get monthFormat() {
|
|
2017
|
+
return this.getAttribute("month-format") === "short" ? "short" : "long";
|
|
2018
|
+
}
|
|
2019
|
+
set monthFormat(value) {
|
|
2020
|
+
if (value === "short")
|
|
2021
|
+
this.setAttribute("month-format", "short");
|
|
2022
|
+
else
|
|
2023
|
+
this.removeAttribute("month-format");
|
|
2024
|
+
}
|
|
1906
2025
|
get min() {
|
|
1907
2026
|
const value = this.getAttribute("min") || "";
|
|
1908
2027
|
return isDate(value) ? value : "";
|
|
@@ -2099,6 +2218,13 @@
|
|
|
2099
2218
|
input.addEventListener("keydown", (event) => {
|
|
2100
2219
|
this._onFieldKeyDown("", event);
|
|
2101
2220
|
}, { signal });
|
|
2221
|
+
for (const [index, timeInput] of this._timeFields.entries()) {
|
|
2222
|
+
if (!timeInput)
|
|
2223
|
+
continue;
|
|
2224
|
+
const endpoint = index === 1 ? "end" : "start";
|
|
2225
|
+
timeInput.addEventListener("input", () => this._revalidateTimeOrder(endpoint), { signal });
|
|
2226
|
+
timeInput.addEventListener("change", () => this._revalidateTimeOrder(endpoint), { signal });
|
|
2227
|
+
}
|
|
2102
2228
|
button.addEventListener("click", (event) => {
|
|
2103
2229
|
if (this._open) {
|
|
2104
2230
|
if (event.detail === 0) {
|
|
@@ -2291,6 +2417,7 @@
|
|
|
2291
2417
|
calendar.locale = this.locale;
|
|
2292
2418
|
calendar.min = this.min;
|
|
2293
2419
|
calendar.max = this.max;
|
|
2420
|
+
calendar.monthFormat = this.monthFormat;
|
|
2294
2421
|
calendar.messages = this._messages;
|
|
2295
2422
|
calendar.source = this._source;
|
|
2296
2423
|
calendar.dateState = this._dateState;
|
|
@@ -2516,6 +2643,33 @@
|
|
|
2516
2643
|
}
|
|
2517
2644
|
}
|
|
2518
2645
|
}
|
|
2646
|
+
_revalidateTimeOrder(which) {
|
|
2647
|
+
const [startInput, endInput] = this._timeFields;
|
|
2648
|
+
const bounds = ["start", "end"];
|
|
2649
|
+
const inputs = [startInput, endInput];
|
|
2650
|
+
const startValue = startInput && !startInput.disabled ? startInput.value.trim() : "";
|
|
2651
|
+
const endValue = endInput && !endInput.disabled ? endInput.value.trim() : "";
|
|
2652
|
+
const inverted = Boolean(startInput && endInput && startValue && endValue) && isTime(startValue) && isTime(endValue) && compareTimes(endValue, startValue) < 0;
|
|
2653
|
+
for (const [index, bound] of bounds.entries()) {
|
|
2654
|
+
const input = inputs[index];
|
|
2655
|
+
if (!input)
|
|
2656
|
+
continue;
|
|
2657
|
+
const message = bound === "end" ? this._messages.rangeOrderEnd : this._messages.rangeOrderStart;
|
|
2658
|
+
const shouldHaveOrder = inverted && bound === which;
|
|
2659
|
+
if (shouldHaveOrder) {
|
|
2660
|
+
input.setCustomValidity(message);
|
|
2661
|
+
this._timeOrderOwned.add(input);
|
|
2662
|
+
} else if (this._timeOrderOwned.has(input)) {
|
|
2663
|
+
input.setCustomValidity("");
|
|
2664
|
+
this._timeOrderOwned.delete(input);
|
|
2665
|
+
}
|
|
2666
|
+
}
|
|
2667
|
+
}
|
|
2668
|
+
_clearTimeOrderValidity() {
|
|
2669
|
+
for (const input of this._timeOrderOwned)
|
|
2670
|
+
input.setCustomValidity("");
|
|
2671
|
+
this._timeOrderOwned.clear();
|
|
2672
|
+
}
|
|
2519
2673
|
_restoreDefault() {
|
|
2520
2674
|
const field = this._field;
|
|
2521
2675
|
if (!field)
|
|
@@ -2600,10 +2754,13 @@
|
|
|
2600
2754
|
return true;
|
|
2601
2755
|
if (!input.value.trim()) {
|
|
2602
2756
|
input.setCustomValidity("");
|
|
2603
|
-
|
|
2757
|
+
} else {
|
|
2758
|
+
await this._commitText(false, { force: true });
|
|
2604
2759
|
}
|
|
2605
|
-
|
|
2606
|
-
|
|
2760
|
+
this._revalidateTimeOrder("start");
|
|
2761
|
+
this._revalidateTimeOrder("end");
|
|
2762
|
+
const timesValid = this._timeFields.every((timeInput) => timeInput?.checkValidity() ?? true);
|
|
2763
|
+
return input.checkValidity() && timesValid;
|
|
2607
2764
|
}
|
|
2608
2765
|
show(options = {}) {
|
|
2609
2766
|
const panel = this._panel;
|
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;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: center;gap:var(--dp-gap);margin-block-end:.4rem}.dp-calendar-header .dp-prev{margin-inline-start:calc(var(--dp-gap)*2.5)}.dp-calendar-header :where(button,select,input){border:1px solid var(--dp-border);border-radius:calc(var(--dp-radius)*.75);background:var(--dp-bg);color:var(--dp-fg);font:inherit;min-block-size:2.25rem}.dp-calendar-header select,.dp-calendar-header input{min-inline-size:0;padding-inline-start:.45rem;padding-inline-end:.45rem}.dp-month-select{inline-size:100%}.dp-year-input{inline-size:5.5rem}.dp-nav{display:grid;cursor:pointer;place-items: center;inline-size:2.25rem;padding:0;font-size:1.35rem;line-height:1}.dp-nav svg{display:block;pointer-events:none;block-size:1rem;inline-size:1rem}.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-calendar-heading{text-align:center;margin:0 0 .35rem;font-size:.875rem;font-weight:600}.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:calc(var(--dp-radius)*.75);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:1px;z-index:1}.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-outside-month=true]{color:var(--dp-muted)}.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-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[range]>input:not([type=hidden]){grid-column:1}date-picker[range]>input[data-range-start]{grid-row:1}date-picker[range]>input[data-range-end]{grid-row:2}.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: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}}
|