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

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 (185) hide show
  1. package/README.md +16 -1
  2. package/dist/{action-bar-OACchRZw.js → action-bar-ti3e6FK1.js} +1 -1
  3. package/dist/action-bar.js +1 -1
  4. package/dist/{app-shell-CmYvnu_7.js → app-shell-nnSP44OO.js} +271 -267
  5. package/dist/app-shell.js +1 -1
  6. package/dist/bin/slotted-agent-docs.mjs +297 -0
  7. package/dist/{cascader-D1AhTyBL.js → cascader-Cn2Acpcv.js} +227 -210
  8. package/dist/cascader.js +1 -1
  9. package/dist/chart-04i6NZQA.js +968 -0
  10. package/dist/chart.js +1 -1
  11. package/dist/{checkbox-DfxFHZaU.js → checkbox-B4Sb1eXj.js} +3 -3
  12. package/dist/{checkbox-group-9sDgrV5Z.js → checkbox-group-LpGMuq9w.js} +2 -2
  13. package/dist/checkbox-group.js +1 -1
  14. package/dist/checkbox.js +1 -1
  15. package/dist/{code-block-CFHf8uTm.js → code-block-CTNiyt0U.js} +1 -1
  16. package/dist/code-block.js +1 -1
  17. package/dist/{color-picker-CwbWzCKg.js → color-picker-BcRCeISx.js} +4 -4
  18. package/dist/color-picker.js +1 -1
  19. package/dist/{column-manager-CTtizVhm.js → column-manager-BtkYLs5G.js} +4 -4
  20. package/dist/column-manager.js +1 -1
  21. package/dist/{combobox-BVMI9lg8.js → combobox-C1D5doWM.js} +227 -198
  22. package/dist/combobox.js +1 -1
  23. package/dist/{context-menu-BuST6W94.js → context-menu-B00UIBVC.js} +1 -1
  24. package/dist/context-menu.js +1 -1
  25. package/dist/{currency-field-DD9A5U3D.js → currency-field-Dti9JFu0.js} +1 -1
  26. package/dist/currency-field.js +1 -1
  27. package/dist/{dashboard-grid-CBMP_-JV.js → dashboard-grid-CoLKLvYL.js} +1 -1
  28. package/dist/dashboard-grid.js +1 -1
  29. package/dist/{data-grid-Eb-a4jg3.js → data-grid-DX95Y7mY.js} +18 -18
  30. package/dist/data-grid.js +1 -1
  31. package/dist/{data-list-oICmxGkA.js → data-list-CWYTPNm-.js} +2 -2
  32. package/dist/data-list.js +1 -1
  33. package/dist/{date-field-Hr-OCU-H.js → date-field-BxEpqAPg.js} +1 -1
  34. package/dist/date-field.js +1 -1
  35. package/dist/date-picker-DRk9SZp1.js +308 -0
  36. package/dist/date-picker.js +1 -1
  37. package/dist/date-range-picker-6Yz7avTS.js +483 -0
  38. package/dist/date-range-picker.js +1 -1
  39. package/dist/{datetime-field-B8TrmsDK.js → datetime-field-D2f9u6im.js} +1 -1
  40. package/dist/datetime-field.js +1 -1
  41. package/dist/datetime-picker-STqSWMkH.js +645 -0
  42. package/dist/datetime-picker.js +1 -1
  43. package/dist/datetime-range-picker-DQNQwr3K.js +1000 -0
  44. package/dist/datetime-range-picker.js +1 -1
  45. package/dist/{detail-panel-CW53lUjp.js → detail-panel-z6WGleP4.js} +1 -1
  46. package/dist/detail-panel.js +1 -1
  47. package/dist/docs/AGENTS.snippet.md +2 -0
  48. package/dist/docs/app-shell.examples.md +1 -1
  49. package/dist/docs/app-shell.json +4 -4
  50. package/dist/docs/app-shell.md +2 -2
  51. package/dist/docs/guidelines/README.md +2 -2
  52. package/dist/docs/guidelines/index.md +1 -1
  53. package/dist/docs/guidelines/own-elements.md +1 -1
  54. package/dist/docs/page-header.json +1 -0
  55. package/dist/docs/page-header.md +1 -1
  56. package/dist/docs/segmented-control.json +7 -11
  57. package/dist/docs/segmented-control.md +1 -1
  58. package/dist/docs/skills/build-own-element/SKILL.md +6 -6
  59. package/dist/docs/skills/compose-screen/SKILL.md +6 -6
  60. package/dist/docs/skills/review-screen/SKILL.md +6 -6
  61. package/dist/docs/skills/theme-app/SKILL.md +1 -1
  62. package/dist/docs/skills/waiting-states/SKILL.md +2 -2
  63. package/dist/docs/tabs.json +16 -3
  64. package/dist/docs/tabs.md +3 -2
  65. package/dist/{entity-picker-Dn1T7JCq.js → entity-picker-BdySwW8F.js} +274 -256
  66. package/dist/entity-picker.js +1 -1
  67. package/dist/{event-calendar-CnF3iIZD.js → event-calendar-CiphPXdV.js} +4 -4
  68. package/dist/event-calendar.js +1 -1
  69. package/dist/{field-NJaCxl2h.js → field-BxQFpOXS.js} +1 -1
  70. package/dist/{field-group-hAzVa2O9.js → field-group-DcN_hiZN.js} +1 -1
  71. package/dist/field-group.js +1 -1
  72. package/dist/field.js +1 -1
  73. package/dist/{filter-bar-CHyy1o--.js → filter-bar-C_dXljI_.js} +10 -10
  74. package/dist/filter-bar.js +1 -1
  75. package/dist/{hover-card-BJE5dtaQ.js → hover-card-DpVzwvDJ.js} +1 -1
  76. package/dist/hover-card.js +1 -1
  77. package/dist/{import-export-center-jF37b909.js → import-export-center-BQnMJz4g.js} +3 -3
  78. package/dist/import-export-center.js +1 -1
  79. package/dist/index.js +63 -63
  80. package/dist/{listbox-Dv856z9I.js → listbox-D0MJcAMm.js} +1 -1
  81. package/dist/listbox.js +1 -1
  82. package/dist/{markdown-CeG8mUbI.js → markdown-IiVoh6yi.js} +2 -2
  83. package/dist/markdown.js +1 -1
  84. package/dist/menu-parts-D6v_mz6O.js +809 -0
  85. package/dist/menu.js +1 -1
  86. package/dist/{menubar-b2CruimJ.js → menubar-DApIg1eR.js} +1 -1
  87. package/dist/menubar.js +1 -1
  88. package/dist/{multi-select-DQ5ds0fX.js → multi-select-B8z6ApgW.js} +286 -257
  89. package/dist/multi-select.js +1 -1
  90. package/dist/{notification-center-C1iWWl5Y.js → notification-center-CGEEHcRA.js} +2 -2
  91. package/dist/notification-center.js +1 -1
  92. package/dist/{number-field-BFIAmv-z.js → number-field-DXk1TAXA.js} +1 -1
  93. package/dist/number-field.js +1 -1
  94. package/dist/{otp-input-BNQhuKaT.js → otp-input-CI-kdNgx.js} +1 -1
  95. package/dist/otp-input.js +1 -1
  96. package/dist/{popover-Be7JWbGJ.js → popover-DEp8Bf3e.js} +186 -166
  97. package/dist/popover.js +1 -1
  98. package/dist/{prompt-composer-BxpdkTpZ.js → prompt-composer-DdcU3S3L.js} +1 -1
  99. package/dist/prompt-composer.js +1 -1
  100. package/dist/{radio-group-BaVIP9UH.js → radio-group-D8csBZ8Z.js} +2 -2
  101. package/dist/radio-group.js +1 -1
  102. package/dist/{rating-DYBQBzwB.js → rating-rI3b5zII.js} +1 -1
  103. package/dist/rating.js +1 -1
  104. package/dist/{saved-views-DlE_--Z9.js → saved-views-B3brBTD9.js} +4 -4
  105. package/dist/saved-views.js +1 -1
  106. package/dist/scroll-area-DQ_ansLu.js +112 -0
  107. package/dist/scroll-area.js +1 -1
  108. package/dist/{segmented-control-DmuOGiu6.js → segmented-control-C-PzkTtg.js} +2 -2
  109. package/dist/segmented-control.js +1 -1
  110. package/dist/{select-M7Io4UL9.js → select-BUylPwpb.js} +241 -203
  111. package/dist/select.js +1 -1
  112. package/dist/{side-navigation-CBLtCzuJ.js → side-navigation-Bm-BZma1.js} +156 -140
  113. package/dist/side-navigation.js +1 -1
  114. package/dist/{slider-DTes4HLF.js → slider-fp7kyg-6.js} +1 -1
  115. package/dist/slider.js +1 -1
  116. package/dist/{split-button-CPgHiy9G.js → split-button-DKRm0j5c.js} +1 -1
  117. package/dist/split-button.js +1 -1
  118. package/dist/styles.css +1 -1
  119. package/dist/{switch-DQzuIhPX.js → switch-aVoc4C2F.js} +1 -1
  120. package/dist/switch.js +1 -1
  121. package/dist/{table-U9eJYCuB.js → table-BYEvFr4P.js} +276 -275
  122. package/dist/table.js +1 -1
  123. package/dist/{tabs-BtHmjlnM.js → tabs-HWmvOKM4.js} +109 -102
  124. package/dist/tabs.js +1 -1
  125. package/dist/{tags-input-CcOkm0AW.js → tags-input-pbv6x1Pi.js} +1 -1
  126. package/dist/tags-input.js +1 -1
  127. package/dist/{text-field-DLfIZ0fk.js → text-field-CbQ6UCAP.js} +1 -1
  128. package/dist/text-field.js +1 -1
  129. package/dist/{textarea-CBJBJBi6.js → textarea-DJSfhrXH.js} +1 -1
  130. package/dist/textarea.js +1 -1
  131. package/dist/{time-field-DrhiCtUl.js → time-field-BI9n607q.js} +1 -1
  132. package/dist/time-field.js +1 -1
  133. package/dist/time-picker-D6SlQWNF.js +402 -0
  134. package/dist/time-picker.js +1 -1
  135. package/dist/time-range-picker-CcV3_45h.js +751 -0
  136. package/dist/time-range-picker.js +1 -1
  137. package/dist/{toggle-group-7iBR9Rn1.js → toggle-group-i7JPO8BM.js} +1 -1
  138. package/dist/toggle-group.js +1 -1
  139. package/dist/{toolbar-DDZpEftQ.js → toolbar-B9knmgHA.js} +1 -1
  140. package/dist/toolbar.js +1 -1
  141. package/dist/tooltip-CgjIROUy.js +410 -0
  142. package/dist/tooltip.js +1 -1
  143. package/dist/{top-navigation-e-tWMGNr.js → top-navigation-DiG2PF5W.js} +2 -2
  144. package/dist/top-navigation.js +1 -1
  145. package/dist/{transfer-CqZOTLMP.js → transfer--UOQVeKE.js} +5 -5
  146. package/dist/transfer.js +1 -1
  147. package/dist/types/app-shell/app-shell-parts.d.ts +6 -4
  148. package/dist/types/app-shell/app-shell-parts.d.ts.map +1 -1
  149. package/dist/types/app-shell/app-shell.d.ts.map +1 -1
  150. package/dist/types/cascader/cascader.d.ts.map +1 -1
  151. package/dist/types/chart/chart.d.ts.map +1 -1
  152. package/dist/types/combobox/combobox-parts.d.ts.map +1 -1
  153. package/dist/types/date-picker/date-picker.d.ts.map +1 -1
  154. package/dist/types/date-range-picker/date-range-picker.d.ts.map +1 -1
  155. package/dist/types/datetime-picker/datetime-picker.d.ts.map +1 -1
  156. package/dist/types/datetime-range-picker/datetime-range-picker.d.ts.map +1 -1
  157. package/dist/types/entity-picker/entity-picker-popup.d.ts.map +1 -1
  158. package/dist/types/menu/menu-parts.d.ts.map +1 -1
  159. package/dist/types/multi-select/multi-select-parts.d.ts.map +1 -1
  160. package/dist/types/popover/popover-parts.d.ts.map +1 -1
  161. package/dist/types/scroll-area/scroll-area.d.ts.map +1 -1
  162. package/dist/types/select/select-parts.d.ts.map +1 -1
  163. package/dist/types/side-navigation/side-navigation-parts.d.ts.map +1 -1
  164. package/dist/types/stat-card/stat-card.types.d.ts +2 -2
  165. package/dist/types/stat-card/stat-card.types.d.ts.map +1 -1
  166. package/dist/types/table/table-content.d.ts.map +1 -1
  167. package/dist/types/tabs/tabs-parts.d.ts +2 -4
  168. package/dist/types/tabs/tabs-parts.d.ts.map +1 -1
  169. package/dist/types/tabs/tabs.d.ts.map +1 -1
  170. package/dist/types/time-picker/time-picker.d.ts.map +1 -1
  171. package/dist/types/time-range-picker/time-range-picker.d.ts.map +1 -1
  172. package/dist/types/tooltip/tooltip-parts.d.ts.map +1 -1
  173. package/dist/{upload-DjnlVR8y.js → upload-CLX5cURk.js} +1 -1
  174. package/dist/upload.js +1 -1
  175. package/package.json +10 -7
  176. package/dist/chart-O0ZhkzJe.js +0 -966
  177. package/dist/date-picker-D3-y2Jxw.js +0 -295
  178. package/dist/date-range-picker-y3b82Wmf.js +0 -471
  179. package/dist/datetime-picker-CIRHVLQp.js +0 -629
  180. package/dist/datetime-range-picker-DM-1m98z.js +0 -994
  181. package/dist/menu-parts-W58pVNUt.js +0 -786
  182. package/dist/scroll-area-BriwmvYY.js +0 -111
  183. package/dist/time-picker-CRQsMJbQ.js +0 -396
  184. package/dist/time-range-picker-DlZJsj1e.js +0 -745
  185. package/dist/tooltip-DbKTPe_i.js +0 -392
@@ -1,111 +0,0 @@
1
- import { r as e } from "./i18n-DpW8lqJ1.js";
2
- import { createContext as t, useCallback as n, useContext as r, useImperativeHandle as i, useRef as a, useState as o } from "react";
3
- import { jsx as s } from "react/jsx-runtime";
4
- import { NO_SCROLL_EDGES as c, createScrollEdges as l, scrollEdgeAttributes as u } from "@slotted/core/overflow";
5
- import { scrollAreaMessages as d } from "@slotted/core/i18n";
6
- //#region src/scroll-area/scroll-area-defaults.tsx
7
- var f = t({
8
- axis: "block",
9
- fade: "both",
10
- gutter: "stable",
11
- overscroll: "contain",
12
- scrollbars: "auto"
13
- });
14
- function p() {
15
- return r(f);
16
- }
17
- function m({ children: e, ...t }) {
18
- let n = p();
19
- return /* @__PURE__ */ s(f.Provider, {
20
- value: {
21
- axis: t.axis ?? n.axis,
22
- fade: t.fade ?? n.fade,
23
- gutter: t.gutter ?? n.gutter,
24
- overscroll: t.overscroll ?? n.overscroll,
25
- scrollbars: t.scrollbars ?? n.scrollbars
26
- },
27
- children: e
28
- });
29
- }
30
- //#endregion
31
- //#region src/scroll-area/scroll-area.tsx
32
- function h(e, t) {
33
- typeof e == "function" ? e(t) : e != null && (e.current = t);
34
- }
35
- function g({ axis: t, children: r, className: f, fade: m, gutter: g, labelledBy: _, maxBlockSize: v, maxInlineSize: y, messages: b, onOverflowChange: x, onScrollChange: S, overscroll: C, ref: w, render: T, scrollbars: E, style: D, tabbable: O = !0, viewportProps: k, ...A }) {
36
- let j = p(), M = e(d, b), N = t ?? j.axis, P = E ?? j.scrollbars, F = g ?? j.gutter, I = m ?? j.fade, L = C ?? j.overscroll, R = a(null), [z, B] = o(null), V = a(null), [H, U] = o(c), [W, G] = o(!1), K = a(x);
37
- K.current = x;
38
- let q = n((e) => {
39
- if (B(e), h(k?.ref, e), e === null) return;
40
- let t = l(e, { onChange: (e) => {
41
- U(e), V.current !== null && G(V.current.sideways()), K.current?.(e);
42
- } });
43
- return V.current = t, U(t.state()), G(t.sideways()), () => {
44
- t.destroy(), V.current = null;
45
- };
46
- }, [k?.ref]);
47
- i(w, () => ({
48
- get root() {
49
- return R.current;
50
- },
51
- get viewport() {
52
- return z;
53
- },
54
- state: () => V.current?.state() ?? c,
55
- position: () => V.current?.position() ?? {
56
- block: 0,
57
- inline: 0
58
- },
59
- scrollTo: (e) => V.current?.scrollTo(e),
60
- scrollToEdge: (e) => V.current?.scrollToEdge(e),
61
- reveal: (e) => V.current?.reveal(e),
62
- refresh: () => V.current?.refresh(),
63
- focus: () => z?.focus()
64
- }), [z]);
65
- let J = (e) => {
66
- k?.onScroll?.(e), S !== void 0 && V.current !== null && S(V.current.position(), e);
67
- }, Y = (H.block.overflowing || H.inline.overflowing) && O, X = { ...k };
68
- delete X.onScroll, delete X.ref;
69
- let Z = /* @__PURE__ */ s("div", {
70
- ...X,
71
- "data-part": "viewport",
72
- onScroll: J,
73
- ref: q,
74
- ...Y ? {
75
- role: "region",
76
- tabIndex: 0,
77
- ..._ === void 0 ? { "aria-label": M("label") } : { "aria-labelledby": _ }
78
- } : {},
79
- children: r
80
- }), Q = {
81
- ...A,
82
- className: f,
83
- "data-axis": N,
84
- "data-fade": I,
85
- "data-gutter": F,
86
- "data-overscroll": L,
87
- "data-part": "root",
88
- "data-scrollbars": P,
89
- "data-ui": "scroll-area",
90
- ...W ? { "data-sideways": "" } : {},
91
- ...u(H),
92
- ref: R,
93
- style: v === void 0 && y === void 0 ? D : {
94
- ...v === void 0 ? {} : { maxBlockSize: v },
95
- ...y === void 0 ? {} : { maxInlineSize: y },
96
- ...D
97
- },
98
- children: Z
99
- };
100
- return T === void 0 ? /* @__PURE__ */ s("div", { ...Q }) : T(Q);
101
- }
102
- function _({ render: e, ...t }) {
103
- let n = {
104
- ...t,
105
- "data-part": "content"
106
- };
107
- return e === void 0 ? /* @__PURE__ */ s("div", { ...n }) : e(n);
108
- }
109
- g.Content = _;
110
- //#endregion
111
- export { m as n, p as r, g as t };
@@ -1,396 +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 { t as ee } from "./time-field-DrhiCtUl.js";
5
- import { createControllable as a } from "@slotted/core/state";
6
- import { createContext as te, useCallback as o, useContext as ne, useEffect as s, useId as re, useImperativeHandle as ie, useMemo as c, useRef as l, useState as u } from "react";
7
- import { Fragment as ae, jsx as d, jsxs as f } from "react/jsx-runtime";
8
- import { createPresence as oe } from "@slotted/core/presence";
9
- import { createPortalRoot as se } from "@slotted/core/portal";
10
- import { createDismissableLayer as ce } from "@slotted/core/dismissable-layer";
11
- import { createPositioner as le } from "@slotted/core/positioner";
12
- import { createTypeahead as ue, isPrintable as de } from "@slotted/core/typeahead";
13
- import { createPortal as fe } from "react-dom";
14
- import { timePickerMessages as pe } from "@slotted/core/i18n";
15
- import { createTimeFormat as me, hourJump as he, isSameTime as p, isTimeInRange as ge, isTruncated as _e, nearestIndex as ve, nowIn as ye, timeList as be, toISOTime as xe } from "@slotted/core/date";
16
- //#region src/time-picker/time-picker-defaults.tsx
17
- var Se = 900, m = 1440, h = te({
18
- closeOnSelect: "auto",
19
- granularity: "minute",
20
- hourCycle: void 0,
21
- maxOptions: m,
22
- placement: "bottom-start",
23
- size: "md",
24
- step: 900,
25
- timeZone: void 0,
26
- unavailableOptions: "disable",
27
- variant: "outline"
28
- });
29
- function g() {
30
- return ne(h);
31
- }
32
- function Ce({ children: e, ...t }) {
33
- let n = g();
34
- return /* @__PURE__ */ d(h.Provider, {
35
- value: {
36
- closeOnSelect: t.closeOnSelect ?? n.closeOnSelect,
37
- granularity: t.granularity ?? n.granularity,
38
- hourCycle: t.hourCycle ?? n.hourCycle,
39
- maxOptions: t.maxOptions ?? n.maxOptions,
40
- placement: t.placement ?? n.placement,
41
- size: t.size ?? n.size,
42
- step: t.step ?? n.step,
43
- timeZone: t.timeZone ?? n.timeZone,
44
- unavailableOptions: t.unavailableOptions ?? n.unavailableOptions,
45
- variant: t.variant ?? n.variant
46
- },
47
- children: e
48
- });
49
- }
50
- //#endregion
51
- //#region src/time-picker/time-picker.tsx
52
- var we = "(max-width: 480px) and (pointer: coarse)", Te = {
53
- hour: 12,
54
- minute: 0,
55
- second: 0
56
- };
57
- function Ee({ className: te, clearable: ne = !1, closeOnSelect: Se, defaultHighlightedValue: m, defaultOpen: h = !1, defaultValue: Ce, disabled: Ee, footer: De, granularity: Oe, highlightedValue: _, hourCycle: ke, invalid: Ae, isTimeUnavailable: v, locale: je, max: y, maxOptions: Me, messages: Ne, min: b, name: Pe, onHighlightedValueChange: Fe, onKeyDown: x, onOpenChange: Ie, onValueChange: Le, open: S, options: Re, placement: ze, presets: Be, readOnly: Ve, ref: He, referenceTime: C, relative: Ue, render: We, renderOption: Ge, required: Ke, size: qe, step: Je, style: Ye, timeZone: Xe, unavailableOptions: Ze, value: w, variant: Qe, ...$e }) {
58
- let T = i(), E = g(), et = n(), D = r(pe, Ne), O = l(null), tt = l(null), k = l(null), A = l(null), nt = re(), [j, rt] = u(null), [M, it] = u(null), [at, ot] = u("unmounted"), [st, ct] = u(!1), [lt, ut] = u(!1), [dt, ft] = u(h), N = S ?? dt, [pt, mt] = u(Ce ?? null), P = w ?? pt, F = je ?? et, I = Xe ?? E.timeZone, L = Oe ?? E.granularity, R = ke ?? E.hourCycle, ht = qe ?? T?.size ?? E.size, gt = Qe ?? E.variant, _t = ze ?? E.placement, vt = Se ?? E.closeOnSelect, yt = Je ?? E.step, bt = Me ?? E.maxOptions, xt = Ze ?? E.unavailableOptions, z = Ee ?? T?.disabled, B = Ve ?? T?.readOnly, St = Ke ?? T?.required, V = z !== !0 && B !== !0, H = c(() => me({
59
- granularity: L,
60
- hourCycle: R,
61
- locale: F
62
- }), [
63
- L,
64
- R,
65
- F
66
- ]), [Ct, wt] = u(() => Te);
67
- s(() => wt(ye(I)), [I]);
68
- let U = C ?? Ct, Tt = P !== null && (!ge(P, b, y) || v?.(P) === !0), Et = Ae ?? (Tt ? !0 : T?.invalid), W = c(() => ({
69
- isTimeUnavailable: v,
70
- max: y,
71
- maxOptions: bt,
72
- min: b,
73
- options: Re,
74
- step: yt
75
- }), [
76
- v,
77
- y,
78
- b,
79
- Re,
80
- bt,
81
- yt
82
- ]), G = c(() => {
83
- let e = be(W);
84
- return xt === "hide" ? e.filter((e) => !e.unavailable) : e;
85
- }, [W, xt]), Dt = c(() => _e(W), [W]), Ot = c(() => G.map((e) => H.format(e.time)), [H, G]), kt = o(() => {
86
- if (G.length === 0) return -1;
87
- let e = ve(G, P ?? U);
88
- if (e >= 0 && G[e]?.unavailable !== !0) return e;
89
- let t = G.findIndex((e) => !e.unavailable);
90
- return t >= 0 ? t : 0;
91
- }, [
92
- U,
93
- P,
94
- G
95
- ]), [At, jt] = u(m ?? null), K = _ ?? At, q = c(() => K === null ? -1 : G.findIndex((e) => p(e.time, K)), [K, G]), J = o((e, t, n) => {
96
- a({
97
- controlled: _,
98
- initial: K,
99
- equals: p,
100
- onRequest: (e) => Fe?.(e.value, e)
101
- }).request(e, t, n) && jt(e);
102
- }, [
103
- K,
104
- _,
105
- Fe
106
- ]), Y = o((e, t) => {
107
- let n = G[Math.max(0, Math.min(G.length - 1, e))];
108
- n !== void 0 && J(n.time, "keyboard", t);
109
- }, [G, J]), X = o((e, t, n) => {
110
- a({
111
- controlled: S,
112
- initial: N,
113
- onRequest: (e) => Ie?.(e.value, e)
114
- }).request(e, t, n) && ft(e);
115
- }, [
116
- N,
117
- Ie,
118
- S
119
- ]), Z = o((e, t) => {
120
- a({
121
- controlled: w,
122
- initial: P,
123
- equals: p,
124
- onRequest: (e) => Le?.(e.value, e)
125
- }).request(e, t.reason, t.source) && mt(e);
126
- }, [
127
- P,
128
- Le,
129
- w
130
- ]), Q = l(null);
131
- s(() => {
132
- let e = oe({
133
- present: N,
134
- onStatusChange: ot
135
- });
136
- return Q.current = e, ot(e.status), () => {
137
- e.destroy(), Q.current = null;
138
- };
139
- }, []), s(() => Q.current?.sync(N), [N]), s(() => Q.current?.setNode(j), [j]);
140
- let Mt = at !== "unmounted";
141
- s(() => {
142
- if (!Mt) {
143
- it(null);
144
- return;
145
- }
146
- let e = se({
147
- origin: k.current,
148
- disabled: !1
149
- });
150
- return it(e.container), () => e.release();
151
- }, [Mt]), s(() => {
152
- if (typeof window > "u" || typeof window.matchMedia != "function") return;
153
- let e = window.matchMedia(we), t = () => ut(e.matches);
154
- return t(), e.addEventListener("change", t), () => e.removeEventListener("change", t);
155
- }, []), s(() => {
156
- if (j === null || O.current === null || lt) return;
157
- let e = !0, t = O.current.querySelector("[data-part=\"control\"]") ?? O.current, [n, r = "center"] = _t.split("-"), i = le(t, j, {
158
- align: r,
159
- side: n
160
- });
161
- return i.update().then(() => {
162
- e && ct(!0);
163
- }), () => {
164
- e = !1, i.destroy(), ct(!1);
165
- };
166
- }, [
167
- j,
168
- _t,
169
- lt
170
- ]), s(() => {
171
- if (j === null || !N) return;
172
- let e = k.current === null ? [] : [k.current], t = ce(j, {
173
- branches: e,
174
- escape: !0,
175
- focusOutside: !1,
176
- modal: !1,
177
- outsidePress: !0,
178
- scrollLock: !1,
179
- onDismiss: (e) => {
180
- X(!1, e.reason === "escape" ? "escape" : "outsidePress", e.source), e.reason === "escape" && k.current?.focus({ preventScroll: !0 });
181
- }
182
- });
183
- return () => t.destroy();
184
- }, [
185
- N,
186
- j,
187
- X
188
- ]), s(() => {
189
- if (!N) return;
190
- let e = kt();
191
- e < 0 || J(G[e]?.time ?? null, "programmatic", void 0);
192
- }, [N, G]), s(() => {
193
- !N || q < 0 || (A.current?.querySelectorAll("[data-part=\"option\"]")[q])?.scrollIntoView?.({ block: "nearest" });
194
- }, [q, N]);
195
- let Nt = l(ue({ locale: () => F }));
196
- s(() => {
197
- let e = Nt.current;
198
- return () => e.destroy();
199
- }, []), ie(He, () => ({
200
- focus: () => tt.current?.focus(),
201
- open: () => X(!0, "keyboard", void 0),
202
- close: () => X(!1, "keyboard", void 0)
203
- }), [X]);
204
- let Pt = P === null ? D("choose") : D("change", { time: H.describe(P) }), Ft = vt !== "never", It = o((e, t) => {
205
- !e.unavailable && V && (Z(e.time, {
206
- reason: "select",
207
- source: t
208
- }), J(e.time, "pointer", t), Ft && (X(!1, "select", t), k.current?.focus({ preventScroll: !0 })));
209
- }, [
210
- Ft,
211
- V,
212
- J,
213
- Z,
214
- X
215
- ]), $ = o((e) => {
216
- A.current?.querySelectorAll("[data-part=\"option\"]")[e]?.focus();
217
- }, []), Lt = o((e) => {
218
- let t = q >= 0 ? q : kt();
219
- t < 0 || (Y(t, e), requestAnimationFrame(() => $(t)));
220
- }, [
221
- $,
222
- q,
223
- Y,
224
- kt
225
- ]), Rt = (e) => {
226
- x?.(e), !e.defaultPrevented && V && (e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(), N || X(!0, "keyboard", e), Lt(e));
227
- }, zt = (e) => {
228
- if (x?.(e), e.defaultPrevented) return;
229
- let t = q >= 0 ? q : 0;
230
- switch (e.key) {
231
- case "ArrowDown":
232
- e.preventDefault(), Y(t + 1, e), $(Math.min(G.length - 1, t + 1));
233
- return;
234
- case "ArrowUp":
235
- e.preventDefault(), Y(t - 1, e), $(Math.max(0, t - 1));
236
- return;
237
- case "Home":
238
- e.preventDefault(), Y(0, e), $(0);
239
- return;
240
- case "End":
241
- e.preventDefault(), Y(G.length - 1, e), $(G.length - 1);
242
- return;
243
- case "PageDown": {
244
- e.preventDefault();
245
- let n = he(G, t, 1);
246
- Y(n, e), $(n);
247
- return;
248
- }
249
- case "PageUp": {
250
- e.preventDefault();
251
- let n = he(G, t, -1);
252
- Y(n, e), $(n);
253
- return;
254
- }
255
- case "Enter":
256
- case " ": {
257
- e.preventDefault();
258
- let n = G[t];
259
- n !== void 0 && It(n, e);
260
- return;
261
- }
262
- }
263
- if (de(e.key, Nt.current.query.length > 0)) {
264
- let n = Nt.current.match(e.key, Ot, t);
265
- if (n < 0) return;
266
- e.preventDefault(), Y(n, e), $(n);
267
- }
268
- }, Bt = (e) => {
269
- x?.(e), !e.defaultPrevented && V && e.altKey && e.key === "ArrowDown" && (e.preventDefault(), X(!0, "keyboard", e));
270
- }, Vt = Mt ? /* @__PURE__ */ d("div", {
271
- "data-part": "positioner",
272
- "data-presentation": lt ? "sheet" : "popover",
273
- "data-ui": "time-picker",
274
- ref: rt,
275
- ...N ? { "data-open": "" } : {},
276
- ...st ? { "data-positioned": "" } : {},
277
- children: /* @__PURE__ */ f("div", {
278
- "aria-label": Pt,
279
- "data-part": "content",
280
- id: nt,
281
- role: "listbox",
282
- ...Dt ? { "aria-description": D("truncated") } : {},
283
- children: [
284
- Be === void 0 ? null : /* @__PURE__ */ d("div", {
285
- "data-part": "presets",
286
- children: Be
287
- }),
288
- /* @__PURE__ */ d("div", {
289
- "data-part": "head",
290
- children: /* @__PURE__ */ d("button", {
291
- "data-part": "now",
292
- onClick: (e) => Z(U, {
293
- reason: "select",
294
- source: e
295
- }),
296
- type: "button",
297
- children: D("now")
298
- })
299
- }),
300
- G.length === 0 ? /* @__PURE__ */ d("div", {
301
- "data-part": "empty",
302
- children: D("empty")
303
- }) : /* @__PURE__ */ d("div", {
304
- "data-part": "list",
305
- onKeyDown: zt,
306
- ref: A,
307
- ...Dt ? { "data-truncated": "" } : {},
308
- children: G.map((e, t) => {
309
- let n = Ot[t] ?? "", r = p(e.time, P), i = t === q;
310
- return /* @__PURE__ */ d("div", {
311
- "aria-disabled": e.unavailable ? !0 : void 0,
312
- "aria-selected": r,
313
- "data-part": "option",
314
- onClick: (t) => It(e, t),
315
- role: "option",
316
- tabIndex: i ? 0 : -1,
317
- ...e.unavailable ? { "data-disabled": "" } : {},
318
- ...r ? { "data-selected": "" } : {},
319
- ...i ? { "data-current": "" } : {},
320
- children: Ge === void 0 ? n : Ge({
321
- current: i,
322
- label: n,
323
- selected: r,
324
- time: e.time,
325
- unavailable: e.unavailable
326
- })
327
- }, xe(e.time));
328
- })
329
- }),
330
- De === void 0 ? null : /* @__PURE__ */ d("div", {
331
- "data-part": "footer",
332
- children: De
333
- })
334
- ]
335
- })
336
- }) : null, Ht = /* @__PURE__ */ f(ae, { children: [/* @__PURE__ */ d("div", {
337
- "data-part": "control",
338
- onKeyDown: Bt,
339
- children: /* @__PURE__ */ d(ee, {
340
- clearable: ne,
341
- disabled: z,
342
- end: /* @__PURE__ */ d("button", {
343
- "aria-controls": N ? nt : void 0,
344
- "aria-expanded": N,
345
- "aria-haspopup": "listbox",
346
- "aria-label": Pt,
347
- "data-part": "trigger",
348
- disabled: !V,
349
- onClick: (e) => {
350
- X(!N, "pointer", e), N || Lt(e);
351
- },
352
- onKeyDown: Rt,
353
- ref: k,
354
- type: "button",
355
- children: /* @__PURE__ */ d(t, { children: /* @__PURE__ */ d(e, { name: "clock" }) })
356
- }),
357
- granularity: L,
358
- invalid: Et,
359
- isTimeUnavailable: v,
360
- locale: F,
361
- max: y,
362
- min: b,
363
- name: Pe,
364
- onValueChange: (e, t) => Z(e, t),
365
- readOnly: B,
366
- ref: tt,
367
- required: St,
368
- size: ht,
369
- timeZone: I,
370
- value: P,
371
- variant: gt,
372
- ...R === void 0 ? {} : { hourCycle: R },
373
- ...C === void 0 ? {} : { referenceTime: C },
374
- ...Ue === void 0 ? {} : { relative: Ue }
375
- })
376
- }), M === null ? Vt : null] }), Ut = {
377
- ...$e,
378
- children: Ht,
379
- className: te,
380
- style: Ye,
381
- ...z === !0 ? { "data-disabled": "" } : {},
382
- ...Et === !0 ? { "data-invalid": "" } : {},
383
- ...B === !0 ? { "data-readonly": "" } : {},
384
- ...St === !0 ? { "data-required": "" } : {},
385
- ...N ? { "data-open": "" } : {},
386
- "data-granularity": L,
387
- "data-part": "root",
388
- "data-size": ht,
389
- "data-ui": "time-picker",
390
- "data-variant": gt,
391
- ref: O
392
- };
393
- return /* @__PURE__ */ f(ae, { children: [We === void 0 ? /* @__PURE__ */ d("div", { ...Ut }) : We(Ut), M === null ? null : fe(Vt, M)] });
394
- }
395
- //#endregion
396
- export { g as a, Ce as i, m as n, Se as r, Ee as t };