@slotted/react 0.1.0-beta.3 → 0.1.0-beta.4

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.
Files changed (102) hide show
  1. package/dist/{accordion-D-YuMJzk.js → accordion-lCqrmQ3w.js} +43 -43
  2. package/dist/accordion.js +1 -1
  3. package/dist/calendar-BZ6PP7Ke.js +436 -0
  4. package/dist/calendar.js +1 -1
  5. package/dist/{collapsible-CGo49NNW.js → collapsible-F-K36XbF.js} +17 -17
  6. package/dist/collapsible.js +1 -1
  7. package/dist/{data-grid-BKaGMqIm.js → data-grid-Eb-a4jg3.js} +6 -6
  8. package/dist/data-grid.js +1 -1
  9. package/dist/date-field-Hr-OCU-H.js +290 -0
  10. package/dist/date-field.js +1 -1
  11. package/dist/date-picker-D3-y2Jxw.js +295 -0
  12. package/dist/date-picker.js +1 -1
  13. package/dist/{date-range-picker-CNOAtHwU.js → date-range-picker-y3b82Wmf.js} +2 -2
  14. package/dist/date-range-picker.js +1 -1
  15. package/dist/{datetime-picker-HDVlUhzy.js → datetime-picker-CIRHVLQp.js} +1 -1
  16. package/dist/datetime-picker.js +1 -1
  17. package/dist/{datetime-range-picker-IqOFJtdW.js → datetime-range-picker-DM-1m98z.js} +1 -1
  18. package/dist/datetime-range-picker.js +1 -1
  19. package/dist/{detail-panel-qOJiNuzr.js → detail-panel-CW53lUjp.js} +3 -3
  20. package/dist/detail-panel.js +1 -1
  21. package/dist/docs/calendar.json +7 -0
  22. package/dist/docs/calendar.md +1 -0
  23. package/dist/docs/collapsible.json +1 -1
  24. package/dist/docs/collapsible.md +1 -1
  25. package/dist/docs/date-field.json +8 -1
  26. package/dist/docs/date-field.md +2 -1
  27. package/dist/docs/date-picker.examples.md +29 -0
  28. package/dist/docs/date-picker.json +16 -1
  29. package/dist/docs/date-picker.md +2 -1
  30. package/dist/docs/guidelines/composition.md +10 -0
  31. package/dist/docs/guidelines/index.md +2 -0
  32. package/dist/docs/guidelines/list-pages.md +12 -1
  33. package/dist/docs/page.json +1 -0
  34. package/dist/docs/page.md +1 -0
  35. package/dist/docs/select.json +1 -1
  36. package/dist/docs/select.md +1 -1
  37. package/dist/docs/skills/compose-screen/SKILL.md +7 -0
  38. package/dist/docs/table.json +13 -0
  39. package/dist/docs/table.md +3 -1
  40. package/dist/docs/tabs.json +9 -1
  41. package/dist/docs/tabs.md +3 -1
  42. package/dist/docs/text-field.json +1 -1
  43. package/dist/docs/text-field.md +1 -1
  44. package/dist/{entity-picker-CPDd73JR.js → entity-picker-Dn1T7JCq.js} +1 -1
  45. package/dist/entity-picker.js +1 -1
  46. package/dist/{filter-bar-D_xDcAp2.js → filter-bar-CHyy1o--.js} +3 -3
  47. package/dist/filter-bar.js +1 -1
  48. package/dist/{import-export-center-DpY2DGBZ.js → import-export-center-jF37b909.js} +2 -2
  49. package/dist/import-export-center.js +1 -1
  50. package/dist/index.js +19 -19
  51. package/dist/{notification-center-Sz54IziY.js → notification-center-C1iWWl5Y.js} +1 -1
  52. package/dist/notification-center.js +1 -1
  53. package/dist/{page-kQgLctsA.js → page-IiYXk1sz.js} +32 -32
  54. package/dist/{page-header-CWEBfMGq.js → page-header-Bn4nIGfF.js} +1 -1
  55. package/dist/page-header.js +1 -1
  56. package/dist/page.js +1 -1
  57. package/dist/{select-DOFqPy26.js → select-M7Io4UL9.js} +273 -260
  58. package/dist/select.js +1 -1
  59. package/dist/styles.css +1 -1
  60. package/dist/{table-Cipi2c5X.js → table-U9eJYCuB.js} +167 -165
  61. package/dist/table.js +1 -1
  62. package/dist/tabs-BtHmjlnM.js +348 -0
  63. package/dist/tabs.js +1 -1
  64. package/dist/types/accordion/accordion.d.ts.map +1 -1
  65. package/dist/types/calendar/calendar.d.ts +1 -1
  66. package/dist/types/calendar/calendar.d.ts.map +1 -1
  67. package/dist/types/calendar/calendar.types.d.ts +9 -0
  68. package/dist/types/calendar/calendar.types.d.ts.map +1 -1
  69. package/dist/types/calendar/index.d.ts +1 -1
  70. package/dist/types/calendar/index.d.ts.map +1 -1
  71. package/dist/types/collapsible/collapsible-parts.d.ts.map +1 -1
  72. package/dist/types/date-field/date-field.d.ts +1 -1
  73. package/dist/types/date-field/date-field.d.ts.map +1 -1
  74. package/dist/types/date-field/date-field.types.d.ts +7 -0
  75. package/dist/types/date-field/date-field.types.d.ts.map +1 -1
  76. package/dist/types/date-picker/date-picker.d.ts +5 -1
  77. package/dist/types/date-picker/date-picker.d.ts.map +1 -1
  78. package/dist/types/date-picker/date-picker.types.d.ts +20 -2
  79. package/dist/types/date-picker/date-picker.types.d.ts.map +1 -1
  80. package/dist/types/date-picker/index.d.ts +1 -1
  81. package/dist/types/date-picker/index.d.ts.map +1 -1
  82. package/dist/types/page/page.d.ts.map +1 -1
  83. package/dist/types/select/select-items.d.ts.map +1 -1
  84. package/dist/types/select/select-parts.d.ts.map +1 -1
  85. package/dist/types/select/select.d.ts.map +1 -1
  86. package/dist/types/table/index.d.ts +1 -1
  87. package/dist/types/table/index.d.ts.map +1 -1
  88. package/dist/types/table/table-defaults.d.ts.map +1 -1
  89. package/dist/types/table/table.d.ts +1 -1
  90. package/dist/types/table/table.d.ts.map +1 -1
  91. package/dist/types/table/table.types.d.ts +15 -0
  92. package/dist/types/table/table.types.d.ts.map +1 -1
  93. package/dist/types/tabs/tabs-parts.d.ts.map +1 -1
  94. package/dist/types/tabs/tabs.d.ts +1 -1
  95. package/dist/types/tabs/tabs.d.ts.map +1 -1
  96. package/dist/types/tabs/tabs.types.d.ts +18 -0
  97. package/dist/types/tabs/tabs.types.d.ts.map +1 -1
  98. package/package.json +6 -6
  99. package/dist/calendar-B3mio8iQ.js +0 -387
  100. package/dist/date-field-CYcN6diW.js +0 -279
  101. package/dist/date-picker-4X-_2ltN.js +0 -264
  102. package/dist/tabs-DQ36APY-.js +0 -343
@@ -1,279 +0,0 @@
1
- import { n as e, t } from "./icon-T9Yt4tnm.js";
2
- import { n, r } from "./i18n-DpW8lqJ1.js";
3
- import { b as i } from "./field-NJaCxl2h.js";
4
- import { createControllable as a } from "@slotted/core/state";
5
- import { createContext as o, useCallback as s, useContext as c, useEffect as l, useId as u, useImperativeHandle as d, useMemo as f, useRef as p, useState as m } from "react";
6
- import { Fragment as ee, jsx as h, jsxs as te } from "react/jsx-runtime";
7
- import { dateFieldMessages as ne } from "@slotted/core/i18n";
8
- import { EMPTY_SEGMENTS as re, boundSegment as ie, clearSegment as ae, commitTyping as oe, createDateFormat as se, dateOf as g, fieldRange as _, isDateInRange as ce, isSameDate as le, plainDate as ue, segmentsOf as v, stepSegment as y, toISODate as de, todayIn as fe, typeDigit as pe } from "@slotted/core/date";
9
- //#region src/date-field/date-field-defaults.tsx
10
- var b = 20, x = o({
11
- calendar: "gregory",
12
- firstDayOfWeek: void 0,
13
- size: "md",
14
- timeZone: void 0,
15
- variant: "outline",
16
- yearPivot: 20
17
- });
18
- function S() {
19
- return c(x);
20
- }
21
- function me({ children: e, ...t }) {
22
- let n = S();
23
- return /* @__PURE__ */ h(x.Provider, {
24
- value: {
25
- calendar: t.calendar ?? n.calendar,
26
- firstDayOfWeek: t.firstDayOfWeek ?? n.firstDayOfWeek,
27
- size: t.size ?? n.size,
28
- timeZone: t.timeZone ?? n.timeZone,
29
- variant: t.variant ?? n.variant,
30
- yearPivot: t.yearPivot ?? n.yearPivot
31
- },
32
- children: e
33
- });
34
- }
35
- //#endregion
36
- //#region src/date-field/date-field.tsx
37
- var he = {
38
- day: 5,
39
- month: 5,
40
- year: 10
41
- }, ge = ue(2e3, 1, 1);
42
- function _e({ "aria-describedby": o, "aria-label": c, "aria-labelledby": _, calendar: ue, className: b, clearable: x = !1, defaultValue: me, disabled: _e, end: C, firstDayOfWeek: ye, id: be, invalid: xe, isDateUnavailable: Se, locale: Ce, max: we, messages: Te, min: Ee, name: De, onKeyDown: Oe, onPaste: ke, onValueChange: w, readOnly: Ae, ref: je, render: T, required: Me, size: Ne, start: E, style: Pe, timeZone: Fe, value: D, variant: Ie, yearPivot: Le, ...Re }) {
43
- let O = i(), k = O?.registerControl;
44
- l(() => k?.(), [k]);
45
- let A = S(), ze = n(), Be = r(ne, Te), j = p(null), Ve = u(), M = Ce ?? ze, N = ye ?? A.firstDayOfWeek, P = Le ?? A.yearPivot, F = Fe ?? A.timeZone, He = ue ?? A.calendar, Ue = Ne ?? O?.size ?? A.size, We = Ie ?? A.variant, I = _e ?? O?.disabled, L = Ae ?? O?.readOnly, Ge = xe ?? O?.invalid, R = Me ?? O?.required, z = f(() => se({
46
- locale: M,
47
- firstDayOfWeek: N,
48
- yearPivot: P
49
- }), [
50
- N,
51
- M,
52
- P
53
- ]), [B, Ke] = m(() => ge);
54
- l(() => Ke(fe(F)), [F]);
55
- let [qe, Je] = m(() => v(D ?? me ?? null)), [V, H] = m(void 0), U = p(qe), W = () => U.current;
56
- l(() => {
57
- D !== void 0 && (le(g(U.current), D) || (U.current = v(D), Je(U.current)));
58
- }, [D]);
59
- let G = qe, K = g(G), q = f(() => z.pattern.filter((e) => e.type !== "literal").map((e) => e.type), [z]), J = s((e, t, n) => {
60
- let r = g(U.current);
61
- U.current = e, Je(e), e.typing === null && a({
62
- controlled: D,
63
- initial: r,
64
- equals: le,
65
- onRequest: (t) => {
66
- w?.(t.value, {
67
- ...t,
68
- segments: e
69
- });
70
- }
71
- }).request(g(e), t, n);
72
- }, [w, D]), Y = s((e) => {
73
- H(e), j.current?.querySelector(`[data-part="segment"][data-field="${e}"]`)?.focus();
74
- }, []), Ye = s(() => {
75
- let e = W(), t = q.find((t) => e[t] === null) ?? q[0];
76
- t !== void 0 && Y(t);
77
- }, [q, Y]), X = s((e, t) => {
78
- let n = q.indexOf(e) + t, r = q[n];
79
- r !== void 0 && Y(r);
80
- }, [q, Y]);
81
- d(je, () => ({
82
- focus: () => {
83
- let e = q[0];
84
- e !== void 0 && Y(e);
85
- },
86
- clear: () => J(re, "clear", void 0),
87
- get activeField() {
88
- return V;
89
- }
90
- }), [
91
- V,
92
- J,
93
- q,
94
- Y
95
- ]);
96
- let Z = I !== !0 && L !== !0, Q = (e) => {
97
- e.preventDefault(), e.stopPropagation();
98
- }, Xe = (e) => (t) => {
99
- if (Oe?.(t), t.defaultPrevented) return;
100
- let n = j.current !== null && getComputedStyle(j.current).direction === "rtl", r = n ? "ArrowLeft" : "ArrowRight", i = n ? "ArrowRight" : "ArrowLeft";
101
- if (t.key === r) {
102
- Q(t), X(e, 1);
103
- return;
104
- }
105
- if (t.key === i) {
106
- Q(t), X(e, -1);
107
- return;
108
- }
109
- if (Z && !t.altKey) {
110
- switch (t.key) {
111
- case "ArrowUp":
112
- Q(t), J(y(W(), e, 1, B), "keyboard", t);
113
- return;
114
- case "ArrowDown":
115
- Q(t), J(y(W(), e, -1, B), "keyboard", t);
116
- return;
117
- case "PageUp":
118
- Q(t), J(y(W(), e, he[e], B), "keyboard", t);
119
- return;
120
- case "PageDown":
121
- Q(t), J(y(W(), e, -he[e], B), "keyboard", t);
122
- return;
123
- case "Home":
124
- Q(t), J(ie(W(), e, "min", B), "keyboard", t);
125
- return;
126
- case "Backspace":
127
- case "Delete":
128
- Q(t), J(ae(W(), e), "clear", t);
129
- return;
130
- case "End":
131
- Q(t), J(ie(W(), e, "max", B), "keyboard", t);
132
- return;
133
- }
134
- if (/^\d$/.test(t.key)) {
135
- Q(t);
136
- let n = pe(W(), e, Number(t.key), z, B);
137
- J(n.segments, "keyboard", t), n.advance && X(e, 1);
138
- }
139
- }
140
- }, Ze = (e) => {
141
- if (ke?.(e), e.defaultPrevented || !Z) return;
142
- let t = z.parse(e.clipboardData.getData("text/plain"));
143
- t !== null && (e.preventDefault(), J(v(t), "keyboard", e));
144
- }, Qe = () => {
145
- H(void 0);
146
- let e = W();
147
- e.typing !== null && J(oe(e, z, B), "blur", void 0);
148
- }, $e = (e) => {
149
- e.target?.closest("[data-part=\"segment\"], button, a, input, select, textarea") ?? (e.preventDefault(), Ye());
150
- }, et = (e) => {
151
- J(re, "clear", e);
152
- let t = q[0];
153
- t !== void 0 && Y(t);
154
- }, tt = `${Ve}-value`, nt = K === null ? void 0 : z.describe(K), rt = K !== null && Se?.(K) === !0, it = K !== null && !ce(K, Ee, we), at = Ge === !0 || rt || it, ot = G.year === null && G.month === null && G.day === null, st = x && !ot && Z, ct = /* @__PURE__ */ te(ee, { children: [
155
- E === void 0 ? null : /* @__PURE__ */ h("span", {
156
- "data-part": "start",
157
- children: E
158
- }),
159
- /* @__PURE__ */ h("div", {
160
- "aria-describedby": [o, O?.describedBy].filter(Boolean).join(" ") || void 0,
161
- "aria-disabled": I === !0 || void 0,
162
- "aria-invalid": at ? !0 : void 0,
163
- "aria-label": c,
164
- "aria-labelledby": c === void 0 ? [_ ?? O?.ids.label, tt].filter(Boolean).join(" ") : void 0,
165
- "aria-readonly": L === !0 || void 0,
166
- "aria-required": R === !0 || void 0,
167
- "data-part": "segments",
168
- id: be ?? O?.ids.control,
169
- onPaste: Ze,
170
- role: "group",
171
- children: z.pattern.map((e, t) => {
172
- if (e.type === "literal") return /* @__PURE__ */ h("span", {
173
- "aria-hidden": "true",
174
- "data-part": "literal",
175
- children: e.value
176
- }, `literal-${String(t)}`);
177
- let n = e.type;
178
- return /* @__PURE__ */ h(ve, {
179
- disabled: I === !0,
180
- field: n,
181
- format: z,
182
- onBlur: Qe,
183
- onFocus: () => H(n),
184
- onKeyDown: Xe(n),
185
- placeholder: e.value,
186
- readOnly: L === !0,
187
- reference: B,
188
- segments: G,
189
- tabIndex: n === (V ?? q[0]) ? 0 : -1
190
- }, n);
191
- })
192
- }),
193
- /* @__PURE__ */ h("span", {
194
- "data-part": "value-text",
195
- hidden: !0,
196
- id: tt,
197
- children: nt
198
- }),
199
- st ? /* @__PURE__ */ h("button", {
200
- "aria-label": Be("clear"),
201
- "data-part": "clear",
202
- onClick: et,
203
- type: "button",
204
- children: /* @__PURE__ */ h(t, { children: /* @__PURE__ */ h(e, { name: "x" }) })
205
- }) : null,
206
- C === void 0 ? null : /* @__PURE__ */ h("span", {
207
- "data-part": "end",
208
- children: C
209
- }),
210
- /* @__PURE__ */ h("input", {
211
- "data-part": "hidden-input",
212
- name: De,
213
- readOnly: !0,
214
- type: "hidden",
215
- value: K === null ? "" : de(K)
216
- })
217
- ] }), $ = {
218
- ...Re,
219
- children: ct,
220
- className: b,
221
- style: Pe,
222
- ...I === !0 ? { "data-disabled": "" } : {},
223
- ...at ? { "data-invalid": "" } : {},
224
- ...L === !0 ? { "data-readonly": "" } : {},
225
- ...R === !0 ? { "data-required": "" } : {},
226
- "data-calendar": He,
227
- "data-part": "root",
228
- "data-size": Ue,
229
- "data-ui": "date-field",
230
- "data-variant": We,
231
- onMouseDown: $e,
232
- ref: j
233
- };
234
- return T === void 0 ? /* @__PURE__ */ h("div", { ...$ }) : T($);
235
- }
236
- function C({ field: e, format: t, reference: n, segments: r }) {
237
- let i = r[e];
238
- if (i === null) return t.pattern.find((t) => t.type === e)?.value ?? "";
239
- let a = r.typing;
240
- return a !== null && a.field === e ? String(i).padStart(a.digits, "0") : t.formatField({
241
- year: r.year ?? n.year,
242
- month: r.month ?? n.month,
243
- day: r.day ?? n.day
244
- }, e);
245
- }
246
- function ve({ disabled: e, field: t, format: n, onBlur: r, onFocus: i, onKeyDown: a, placeholder: o, readOnly: s, reference: c, segments: l, tabIndex: u }) {
247
- let d = l[t], f = _(t, {
248
- year: l.year ?? c.year,
249
- month: l.month ?? c.month
250
- }), p = d === null ? void 0 : t === "month" ? n.monthNames("long")[d - 1] ?? String(d) : String(d);
251
- return /* @__PURE__ */ h("div", {
252
- "aria-disabled": e ? !0 : void 0,
253
- "aria-label": o,
254
- "aria-readonly": s ? !0 : void 0,
255
- "aria-valuemax": f.max,
256
- "aria-valuemin": f.min,
257
- "aria-valuenow": d ?? void 0,
258
- "aria-valuetext": p,
259
- "data-field": t,
260
- "data-part": "segment",
261
- ...d === null ? { "data-placeholder": "" } : {},
262
- onBlur: r,
263
- onFocus: i,
264
- onKeyDown: a,
265
- onMouseDown: (e) => {
266
- e.preventDefault(), e.currentTarget.focus();
267
- },
268
- role: "spinbutton",
269
- tabIndex: e ? -1 : u,
270
- children: C({
271
- field: t,
272
- format: n,
273
- reference: c,
274
- segments: l
275
- })
276
- });
277
- }
278
- //#endregion
279
- export { S as i, b as n, me as r, _e as t };
@@ -1,264 +0,0 @@
1
- import { n as e, t } from "./icon-T9Yt4tnm.js";
2
- import { n, r } from "./i18n-DpW8lqJ1.js";
3
- import { n as i, r as ee, t as te } from "./calendar-B3mio8iQ.js";
4
- import { b as ne } from "./field-NJaCxl2h.js";
5
- import { t as re } from "./date-field-CYcN6diW.js";
6
- import { tabbables as ie } from "@slotted/core/focus";
7
- import { createControllable as a } from "@slotted/core/state";
8
- import { createContext as o, useCallback as s, useContext as c, useEffect as l, useId as ae, useImperativeHandle as oe, useMemo as se, useRef as u, useState as d } from "react";
9
- import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
10
- import { createPresence as ce } from "@slotted/core/presence";
11
- import { createPortalRoot as le } from "@slotted/core/portal";
12
- import { createDismissableLayer as ue } from "@slotted/core/dismissable-layer";
13
- import { createPositioner as de } from "@slotted/core/positioner";
14
- import { createPortal as fe } from "react-dom";
15
- import { datePickerMessages as pe } from "@slotted/core/i18n";
16
- import { createDateFormat as me, isDateInRange as he } from "@slotted/core/date";
17
- //#region src/date-picker/date-picker-defaults.tsx
18
- var h = o({
19
- calendar: "gregory",
20
- closeOnSelect: "auto",
21
- placement: "bottom-start",
22
- size: "md",
23
- timeZone: void 0,
24
- variant: "outline"
25
- });
26
- function g() {
27
- return c(h);
28
- }
29
- function _({ children: e, ...t }) {
30
- let n = g();
31
- return /* @__PURE__ */ p(h.Provider, {
32
- value: {
33
- calendar: t.calendar ?? n.calendar,
34
- closeOnSelect: t.closeOnSelect ?? n.closeOnSelect,
35
- placement: t.placement ?? n.placement,
36
- size: t.size ?? n.size,
37
- timeZone: t.timeZone ?? n.timeZone,
38
- variant: t.variant ?? n.variant
39
- },
40
- children: e
41
- });
42
- }
43
- //#endregion
44
- //#region src/date-picker/date-picker.tsx
45
- var ge = "(max-width: 480px) and (pointer: coarse)";
46
- function _e({ calendar: o, className: c, clearable: h = !1, closeOnSelect: _, defaultOpen: _e = !1, defaultValue: v, defaultView: ve, disabled: ye, firstDayOfWeek: y, fixedWeeks: be = !0, footer: xe, invalid: Se, isDateUnavailable: b, locale: Ce, max: x, messages: we, min: S, months: Te, name: Ee, onKeyDown: De, onOpenChange: C, onValueChange: Oe, open: w, placement: ke, presets: Ae, readOnly: je, ref: Me, render: Ne, required: Pe, selectionMode: Fe = "single", size: Ie, style: Le, timeZone: Re, value: T, variant: ze, weekNumbers: Be, yearPivot: E, ...Ve }) {
47
- let D = ne(), O = g(), He = n(), k = r(pe, we), A = u(null), j = u(null), M = u(null), N = ae(), [P, Ue] = d(null), [F, I] = d(null), [We, L] = d("unmounted"), [Ge, R] = d(!1), [z, Ke] = d(!1), [qe, Je] = d(_e), B = u(!1), V = w ?? qe, [H, Ye] = d(v ?? null), U = T ?? H, [W, G] = d(ve ?? "day"), K = Ce ?? He, Xe = Re ?? O.timeZone, Ze = o ?? O.calendar, Qe = Ie ?? D?.size ?? O.size, $e = ze ?? O.variant, et = ke ?? O.placement, tt = _ ?? O.closeOnSelect, q = ye ?? D?.disabled, J = je ?? D?.readOnly, nt = Se ?? (i(T ?? H).some((e) => !he(e, S, x) || b?.(e) === !0) ? !0 : D?.invalid), rt = Pe ?? D?.required, it = q !== !0 && J !== !0, at = se(() => me({ locale: K }), [K]), Y = s((e, t, n) => {
48
- a({
49
- controlled: w,
50
- initial: V,
51
- onRequest: (e) => {
52
- C?.(e.value, e), B.current = e.value && !e.cancelled;
53
- }
54
- }).request(e, t, n) && Je(e);
55
- }, [
56
- V,
57
- C,
58
- w
59
- ]), X = s((e, t) => {
60
- a({
61
- controlled: T,
62
- initial: U,
63
- equals: () => !1,
64
- onRequest: (e) => Oe?.(e.value, e)
65
- }).request(e, t.reason, t.source) && Ye(e);
66
- }, [
67
- U,
68
- Oe,
69
- T
70
- ]), [ot] = d(() => v ?? null);
71
- l(() => {
72
- let e = A.current?.closest("form");
73
- if (e == null) return;
74
- let t = (e) => X(ot, {
75
- reason: "programmatic",
76
- source: e
77
- });
78
- return e.addEventListener("reset", t), () => e.removeEventListener("reset", t);
79
- }, [ot, X]);
80
- let Z = u(null);
81
- l(() => {
82
- let e = ce({
83
- present: V,
84
- onStatusChange: L
85
- });
86
- return Z.current = e, L(e.status), () => {
87
- e.destroy(), Z.current = null;
88
- };
89
- }, []), l(() => Z.current?.sync(V), [V]), l(() => Z.current?.setNode(P), [P]);
90
- let Q = We !== "unmounted";
91
- l(() => {
92
- if (!Q) {
93
- I(null);
94
- return;
95
- }
96
- let e = le({
97
- origin: M.current,
98
- disabled: !1
99
- });
100
- return I(e.container), () => e.release();
101
- }, [Q]), l(() => {
102
- if (typeof window > "u" || typeof window.matchMedia != "function") return;
103
- let e = window.matchMedia(ge), t = () => Ke(e.matches);
104
- return t(), e.addEventListener("change", t), () => e.removeEventListener("change", t);
105
- }, []), l(() => {
106
- if (P === null || A.current === null || z) return;
107
- let e = !0, t = A.current.querySelector("[data-part=\"control\"]") ?? A.current, [n, r = "center"] = et.split("-"), i = de(t, P, {
108
- align: r === void 0 ? "center" : r,
109
- side: n
110
- });
111
- return i.update().then(() => {
112
- e && R(!0);
113
- }), () => {
114
- e = !1, i.destroy(), R(!1);
115
- };
116
- }, [
117
- P,
118
- et,
119
- z
120
- ]);
121
- let $ = u(W);
122
- $.current = W, l(() => {
123
- if (P === null || !V) return;
124
- let e = M.current === null ? [] : [M.current], t = ue(P, {
125
- branches: e,
126
- escape: !0,
127
- focusOutside: !1,
128
- modal: !1,
129
- outsidePress: !0,
130
- scrollLock: !1,
131
- onDismiss: (e) => {
132
- if (e.reason === "escape" && $.current !== "day") {
133
- G($.current === "year" ? "month" : "day");
134
- return;
135
- }
136
- Y(!1, e.reason === "escape" ? "escape" : "outsidePress", e.source), e.reason === "escape" && M.current?.focus({ preventScroll: !0 });
137
- }
138
- });
139
- return () => t.destroy();
140
- }, [
141
- V,
142
- P,
143
- Y
144
- ]), l(() => {
145
- P !== null && F !== null && V && B.current && F.contains(P) && (B.current = !1, P.querySelector("[data-part=\"day\"][tabindex=\"0\"]")?.focus({ preventScroll: !0 }));
146
- }, [
147
- F,
148
- V,
149
- P
150
- ]);
151
- let st = (e) => {
152
- if (e.key !== "Tab" || e.altKey || e.ctrlKey || e.metaKey) return;
153
- let t = ie(e.currentTarget), n = t[0], r = t[t.length - 1];
154
- if (n === void 0 || r === void 0) return;
155
- let i = e.currentTarget.ownerDocument.activeElement;
156
- e.shiftKey && i === n ? (e.preventDefault(), r.focus()) : !e.shiftKey && i === r && (e.preventDefault(), n.focus());
157
- };
158
- oe(Me, () => ({
159
- focus: () => j.current?.focus(),
160
- open: () => Y(!0, "keyboard", void 0),
161
- close: () => Y(!1, "keyboard", void 0)
162
- }), [Y]);
163
- let ct = i(U), lt = ct.length === 0 ? k("choose") : k("change", { date: ct.map((e) => at.describe(e)).join(" – ") }), ut = tt === "always" || tt === "auto" && Fe === "single", dt = (e) => {
164
- De?.(e), !e.defaultPrevented && it && e.altKey && e.key === "ArrowDown" && (e.preventDefault(), Y(!0, "keyboard", e));
165
- }, ft = ee(U) || Array.isArray(U) ? void 0 : U ?? null, pt = Q ? /* @__PURE__ */ p("div", {
166
- "data-part": "positioner",
167
- "data-presentation": z ? "sheet" : "popover",
168
- "data-ui": "date-picker",
169
- ref: Ue,
170
- ...V ? { "data-open": "" } : {},
171
- ...Ge ? { "data-positioned": "" } : {},
172
- children: /* @__PURE__ */ m("div", {
173
- "aria-label": lt,
174
- "data-part": "content",
175
- id: N,
176
- onKeyDown: st,
177
- role: "dialog",
178
- children: [
179
- Ae === void 0 ? null : /* @__PURE__ */ p("div", {
180
- "data-part": "presets",
181
- children: Ae
182
- }),
183
- /* @__PURE__ */ p(te, {
184
- fixedWeeks: be,
185
- isDateUnavailable: b,
186
- locale: K,
187
- max: x,
188
- min: S,
189
- months: Te,
190
- onValueChange: (e, t) => {
191
- X(e, t), ut && (Y(!1, "select", t.source), M.current?.focus({ preventScroll: !0 }));
192
- },
193
- onViewChange: G,
194
- readOnly: J,
195
- selectionMode: Fe,
196
- timeZone: Xe,
197
- value: U,
198
- view: W,
199
- weekNumbers: Be,
200
- ...y === void 0 ? {} : { firstDayOfWeek: y }
201
- }),
202
- xe === void 0 ? null : /* @__PURE__ */ p("div", {
203
- "data-part": "footer",
204
- children: xe
205
- })
206
- ]
207
- })
208
- }) : null, mt = /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p("div", {
209
- "data-part": "control",
210
- onKeyDown: dt,
211
- children: /* @__PURE__ */ p(re, {
212
- calendar: Ze,
213
- clearable: h,
214
- disabled: q,
215
- end: /* @__PURE__ */ p("button", {
216
- "aria-controls": V ? N : void 0,
217
- "aria-expanded": V,
218
- "aria-haspopup": "dialog",
219
- "aria-label": lt,
220
- "data-part": "trigger",
221
- disabled: !it,
222
- onClick: (e) => Y(!V, "pointer", e),
223
- ref: M,
224
- type: "button",
225
- children: /* @__PURE__ */ p(t, { children: /* @__PURE__ */ p(e, { name: "calendar" }) })
226
- }),
227
- invalid: nt,
228
- isDateUnavailable: b,
229
- locale: K,
230
- max: x,
231
- min: S,
232
- name: Ee,
233
- onValueChange: (e, t) => X(e, t),
234
- readOnly: J,
235
- ref: j,
236
- required: rt,
237
- size: Qe,
238
- timeZone: Xe,
239
- variant: $e,
240
- ...y === void 0 ? {} : { firstDayOfWeek: y },
241
- ...E === void 0 ? {} : { yearPivot: E },
242
- ...ft === void 0 ? {} : { value: ft }
243
- })
244
- }), F === null ? pt : null] }), ht = {
245
- ...Ve,
246
- children: mt,
247
- className: c,
248
- style: Le,
249
- ...q === !0 ? { "data-disabled": "" } : {},
250
- ...nt === !0 ? { "data-invalid": "" } : {},
251
- ...J === !0 ? { "data-readonly": "" } : {},
252
- ...rt === !0 ? { "data-required": "" } : {},
253
- ...V ? { "data-open": "" } : {},
254
- "data-calendar": Ze,
255
- "data-part": "root",
256
- "data-size": Qe,
257
- "data-ui": "date-picker",
258
- "data-variant": $e,
259
- ref: A
260
- };
261
- return /* @__PURE__ */ m(f, { children: [Ne === void 0 ? /* @__PURE__ */ p("div", { ...ht }) : Ne(ht), F === null ? null : fe(pt, F)] });
262
- }
263
- //#endregion
264
- export { _ as n, g as r, _e as t };