solid-baseui 0.1.0-alpha.1 → 0.1.0-alpha.2

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 (189) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +51 -20
  3. package/dist/lib/client/DialogHandle-DluOK_7u.js +521 -0
  4. package/dist/lib/client/DialogPopup-CfEb3F54.js +138 -0
  5. package/dist/lib/client/FieldControl-eDe-Jnp9.js +142 -0
  6. package/dist/lib/client/{FieldRootContext-izCEh80D.js → FieldRootContext-D3fuVjs3.js} +1 -1
  7. package/dist/lib/client/{FocusManager-NP1uPXTi.js → FocusManager-q7z7PMV1.js} +92 -89
  8. package/dist/lib/client/{InternalBackdrop-cSK13gaM.js → InternalBackdrop-B8_lfUvf.js} +1 -1
  9. package/dist/lib/client/{MenuSubmenuTrigger-yfncqM-D.js → MenuSubmenuTrigger-DMb5CwTF.js} +386 -386
  10. package/dist/lib/client/{PopupHandle-CQI6Om1Z.js → PopupHandle-DyX5gY1e.js} +17 -11
  11. package/dist/lib/client/{PopupStore-Du0O57fL.js → PopupStore-BjRwcvbG.js} +91 -88
  12. package/dist/lib/client/PopupViewport-BanYHrD-.js +154 -0
  13. package/dist/lib/client/{TriggerFocusGuards-Cs8LVBj5.js → TriggerFocusGuards-Fzspp3Y1.js} +2 -2
  14. package/dist/lib/client/accordion/index.js +1 -1
  15. package/dist/lib/client/{accordion-BFeZFpJZ.js → accordion-CA2DfX67.js} +144 -144
  16. package/dist/lib/client/alert-dialog/index.js +1 -1
  17. package/dist/lib/client/{alert-dialog-BxGUF8_Q.js → alert-dialog-Bup88Dpx.js} +2 -2
  18. package/dist/lib/client/autocomplete/index.js +1 -1
  19. package/dist/lib/client/{autocomplete-C9QA98XD.js → autocomplete-oyy_uRpU.js} +2 -2
  20. package/dist/lib/client/avatar/index.js +1 -1
  21. package/dist/lib/client/avatar-DNZ4fnBd.js +191 -0
  22. package/dist/lib/client/button/index.js +1 -1
  23. package/dist/lib/client/button-BJZYmCVv.js +88 -0
  24. package/dist/lib/client/checkbox/index.js +1 -1
  25. package/dist/lib/client/checkbox-group/index.js +1 -1
  26. package/dist/lib/client/{checkbox-group-CwMDoSTK.js → checkbox-group-DGyrciZJ.js} +1 -1
  27. package/dist/lib/client/checkbox-sQHYTbpB.js +425 -0
  28. package/dist/lib/client/collapsible/index.js +1 -1
  29. package/dist/lib/client/collapsible-BENbFFCc.js +230 -0
  30. package/dist/lib/client/combobox/index.js +1 -1
  31. package/dist/lib/client/{combobox-6DhOdzit.js → combobox-BGH8QLXH.js} +143 -141
  32. package/dist/lib/client/compositeNavigation-DCt1sQon.js +82 -0
  33. package/dist/lib/client/{constants-cOVxAoxB.js → constants-ByOMFJAe.js} +100 -100
  34. package/dist/lib/client/context-menu/index.js +1 -1
  35. package/dist/lib/client/context-menu-xQ1sBCET.js +220 -0
  36. package/dist/lib/client/{createAnchorPositioning-D96gu-Dz.js → createAnchorPositioning-DCXIApS1.js} +1 -1
  37. package/dist/lib/client/{createAnchoredPopupScrollLock-Cx0cbh1_.js → createAnchoredPopupScrollLock-BxKpJbCE.js} +2 -2
  38. package/dist/lib/client/{createClickInteraction-CTaIFBiV.js → createClickInteraction-BeBsTqtY.js} +1 -1
  39. package/dist/lib/client/{createFocusInteraction--s9_qBf3.js → createFocusInteraction-DQPWkZe2.js} +7 -7
  40. package/dist/lib/client/{createPopupAutoResize-Dn-stj-8.js → createPopupAutoResize-CSNpMz5v.js} +3 -3
  41. package/dist/lib/client/dialog/index.js +1 -1
  42. package/dist/lib/client/{dialog-B9tR9X48.js → dialog-C0EF0a5u.js} +2 -2
  43. package/dist/lib/client/{dom-BEAeQ9Eb.js → dom-lDdayFF_.js} +25 -15
  44. package/dist/lib/client/drawer/index.js +1 -1
  45. package/dist/lib/client/{drawer-dyr3_sKQ.js → drawer-uKoNBwDU.js} +519 -518
  46. package/dist/lib/client/field/index.js +1 -1
  47. package/dist/lib/client/{field-CjUAjp1m.js → field-DIMrgpBW.js} +144 -144
  48. package/dist/lib/client/form/index.js +1 -1
  49. package/dist/lib/client/form-Bqq8wSLY.js +109 -0
  50. package/dist/lib/client/index.js +34 -34
  51. package/dist/lib/client/input/index.js +1 -1
  52. package/dist/lib/client/{input-_QHvSSqM.js → input-YthuKwIE.js} +1 -1
  53. package/dist/lib/client/internals/composeEventHandlers.js +14 -8
  54. package/dist/lib/client/internals/field-root-context/index.js +2 -2
  55. package/dist/lib/client/{mergeStyleValue-DhTA9Nwe.js → isSolidAccessor-BH_FevwH.js} +1 -12
  56. package/dist/lib/client/menu/index.js +1 -1
  57. package/dist/lib/client/{menu-DLqUBmMK.js → menu-4rNLN6aX.js} +79 -79
  58. package/dist/lib/client/menubar/index.js +1 -1
  59. package/dist/lib/client/menubar-nFQGtNmY.js +163 -0
  60. package/dist/lib/client/mergeStyleValue-Dcd36yxZ.js +12 -0
  61. package/dist/lib/client/navigation-menu/index.js +1 -1
  62. package/dist/lib/client/{navigation-menu-mVHV41Ky.js → navigation-menu-BbRyun3a.js} +284 -284
  63. package/dist/lib/client/number-field/index.js +1 -1
  64. package/dist/lib/client/{number-field-DusLw_0X.js → number-field-hT_H0hVu.js} +356 -356
  65. package/dist/lib/client/otp-field/index.js +1 -1
  66. package/dist/lib/client/otp-field-lsy2iGID.js +584 -0
  67. package/dist/lib/client/popover/index.js +1 -1
  68. package/dist/lib/client/{popover-Cv7xn0nW.js → popover-Cmvmuf1L.js} +250 -248
  69. package/dist/lib/client/{popupStateMapping-C6jQ_LKo.js → popupStateMapping-nhukB8NK.js} +51 -51
  70. package/dist/lib/client/preview-card/index.js +1 -1
  71. package/dist/lib/client/{preview-card-FTN_aafM.js → preview-card-Dtu8AnBN.js} +168 -168
  72. package/dist/lib/client/radio/index.js +1 -1
  73. package/dist/lib/client/{radio-DA_oZhQT.js → radio-CeCU-Qqi.js} +77 -77
  74. package/dist/lib/client/radio-group/index.js +1 -1
  75. package/dist/lib/client/radio-group-NbuJvjQe.js +195 -0
  76. package/dist/lib/client/{safePolygon-DJG0VIVo.js → safePolygon-DVAR5dQD.js} +70 -70
  77. package/dist/lib/client/scroll-area/index.js +1 -1
  78. package/dist/lib/client/scroll-area-DqbvoAd7.js +717 -0
  79. package/dist/lib/client/{scrollable-SRNYlhF7.js → scrollable-BVaDUXng.js} +12 -12
  80. package/dist/lib/client/select/index.js +1 -1
  81. package/dist/lib/client/{select-DSPJt7Rk.js → select-Dad51Xbn.js} +635 -634
  82. package/dist/lib/client/slider/index.js +1 -1
  83. package/dist/lib/client/slider-CLSKFq_M.js +927 -0
  84. package/dist/lib/client/switch/index.js +1 -1
  85. package/dist/lib/client/{switch-CPl7QHKI.js → switch-Bzuu5EIg.js} +61 -61
  86. package/dist/lib/client/tabs/index.js +1 -1
  87. package/dist/lib/client/{tabs-Bn4rZDyZ.js → tabs-DWiBDv8D.js} +252 -249
  88. package/dist/lib/client/toast/index.js +1 -1
  89. package/dist/lib/client/{toast-7LdqZWOs.js → toast-DmtPJW2k.js} +353 -353
  90. package/dist/lib/client/toggle/index.js +1 -1
  91. package/dist/lib/client/{toggle-CsC37e3e.js → toggle-CAe-Z8Xn.js} +33 -33
  92. package/dist/lib/client/toggle-group/index.js +1 -1
  93. package/dist/lib/client/{toggle-group-DSWb9HxN.js → toggle-group-BbQg5s-m.js} +44 -44
  94. package/dist/lib/client/toolbar/index.js +1 -1
  95. package/dist/lib/client/{toolbar-DcCi3HNp.js → toolbar-BXT_g-oX.js} +218 -218
  96. package/dist/lib/client/tooltip/index.js +1 -1
  97. package/dist/lib/client/{tooltip-D-PkGco9.js → tooltip-h2r2_Xuo.js} +250 -249
  98. package/dist/lib/client/{useFilteredItems-B7z2CGMV.js → useFilteredItems-BX0BEuSI.js} +850 -819
  99. package/dist/lib/server/{DialogHandle-nJSSy_jM.js → DialogHandle-BGIISmG7.js} +16 -16
  100. package/dist/lib/server/{DialogPopup-Da1aIxVA.js → DialogPopup-C2ZDGf42.js} +4 -4
  101. package/dist/lib/server/{FieldControl-BDeNR3ug.js → FieldControl-CDMMyvuj.js} +6 -6
  102. package/dist/lib/server/{FieldRootContext-IC-LWzVp.js → FieldRootContext-Bfpna6gA.js} +3 -3
  103. package/dist/lib/server/{FocusManager-1LfoCsya.js → FocusManager-D-xgblGs.js} +9 -3
  104. package/dist/lib/server/{InternalBackdrop-C_iDPVR-.js → InternalBackdrop-D_2zAWnl.js} +1 -1
  105. package/dist/lib/server/{MenuSubmenuTrigger-rR8ZN7YR.js → MenuSubmenuTrigger-BMQKlOvU.js} +50 -50
  106. package/dist/lib/server/{PopupHandle-Ct6wywmP.js → PopupHandle-QNj4mED2.js} +14 -5
  107. package/dist/lib/server/{PopupStore-kHjFPiQ5.js → PopupStore-evylvVnN.js} +5 -2
  108. package/dist/lib/server/{PopupViewport-DftN5VUp.js → PopupViewport-BDttjORN.js} +37 -27
  109. package/dist/lib/server/{TriggerFocusGuards-CvoGfft9.js → TriggerFocusGuards-B9GNbLrL.js} +2 -2
  110. package/dist/lib/server/accordion/index.js +7 -7
  111. package/dist/lib/server/alert-dialog/index.js +2 -2
  112. package/dist/lib/server/autocomplete/index.js +2 -2
  113. package/dist/lib/server/avatar/index.js +3 -3
  114. package/dist/lib/server/button/index.js +6 -6
  115. package/dist/lib/server/checkbox/index.js +7 -7
  116. package/dist/lib/server/checkbox-group/index.js +1 -1
  117. package/dist/lib/server/collapsible/index.js +6 -6
  118. package/dist/lib/server/combobox/index.js +18 -18
  119. package/dist/lib/server/{compositeNavigation-BRVT1C38.js → compositeNavigation-D5jKM4yk.js} +32 -1
  120. package/dist/lib/server/{constants-D7ciIzsV.js → constants-ByqXubhO.js} +2 -2
  121. package/dist/lib/server/context-menu/index.js +9 -9
  122. package/dist/lib/server/{createAnchorPositioning-B5Y0WEev.js → createAnchorPositioning-DrQYe7RS.js} +1 -1
  123. package/dist/lib/server/{createAnchoredPopupScrollLock-DFuUrykR.js → createAnchoredPopupScrollLock-q6gnOSmv.js} +2 -2
  124. package/dist/lib/server/{createClickInteraction-BYsMgvup.js → createClickInteraction-D7oc1Vco.js} +1 -1
  125. package/dist/lib/server/{createFocusInteraction-DMyKsniI.js → createFocusInteraction-DFKr4G7a.js} +1 -1
  126. package/dist/lib/server/{createPopupAutoResize-ImBjwdj_.js → createPopupAutoResize-Cg0-lLf4.js} +1 -1
  127. package/dist/lib/server/dialog/index.js +2 -2
  128. package/dist/lib/server/{dom-Crg_2R-j.js → dom-D8_aB1yy.js} +14 -1
  129. package/dist/lib/server/drawer/index.js +38 -34
  130. package/dist/lib/server/field/index.js +6 -6
  131. package/dist/lib/server/form/index.js +2 -2
  132. package/dist/lib/server/input/index.js +1 -1
  133. package/dist/lib/server/internals/composeEventHandlers.js +15 -9
  134. package/dist/lib/server/internals/field-root-context/index.js +1 -1
  135. package/dist/lib/server/{mergeStyleValue-BwJ10_X2.js → isSolidAccessor-CZpzAH5l.js} +1 -20
  136. package/dist/lib/server/menu/index.js +17 -17
  137. package/dist/lib/server/menubar/index.js +4 -4
  138. package/dist/lib/server/mergeStyleValue-DecVaoac.js +20 -0
  139. package/dist/lib/server/navigation-menu/index.js +21 -21
  140. package/dist/lib/server/number-field/index.js +21 -21
  141. package/dist/lib/server/otp-field/index.js +8 -8
  142. package/dist/lib/server/popover/index.js +27 -26
  143. package/dist/lib/server/{popupStateMapping-B2KsiiLb.js → popupStateMapping-VHqr6M4H.js} +1 -1
  144. package/dist/lib/server/preview-card/index.js +16 -16
  145. package/dist/lib/server/radio/index.js +6 -6
  146. package/dist/lib/server/radio-group/index.js +5 -5
  147. package/dist/lib/server/{safePolygon-C1GNJbKR.js → safePolygon-B8QtiIZ3.js} +1 -1
  148. package/dist/lib/server/scroll-area/index.js +18 -18
  149. package/dist/lib/server/{scrollable-CjsSxbGr.js → scrollable-C9Pgq8T5.js} +1 -1
  150. package/dist/lib/server/select/index.js +39 -38
  151. package/dist/lib/server/slider/index.js +14 -14
  152. package/dist/lib/server/switch/index.js +9 -9
  153. package/dist/lib/server/tabs/index.js +12 -8
  154. package/dist/lib/server/toast/index.js +32 -32
  155. package/dist/lib/server/toggle/index.js +7 -7
  156. package/dist/lib/server/toggle-group/index.js +2 -2
  157. package/dist/lib/server/toolbar/index.js +14 -14
  158. package/dist/lib/server/tooltip/index.js +32 -27
  159. package/dist/lib/server/{useFilteredItems-DCxq20Is.js → useFilteredItems-BmhL0nf1.js} +181 -137
  160. package/dist/lib/types/accordion/trigger/AccordionTrigger.d.ts +7 -7
  161. package/dist/lib/types/combobox/chip/ComboboxChip.d.ts +2 -0
  162. package/dist/lib/types/combobox/root/ComboboxRoot.d.ts +6 -1
  163. package/dist/lib/types/combobox/store/ComboboxStore.d.ts +1 -0
  164. package/dist/lib/types/combobox/utils/handleInputPress.d.ts +1 -1
  165. package/dist/lib/types/field/control/FieldControl.d.ts +5 -5
  166. package/dist/lib/types/internals/composeEventHandlers.d.ts +9 -2
  167. package/dist/lib/types/internals/field-root-context/FieldRootContext.d.ts +1 -0
  168. package/dist/lib/types/internals/overlay/dom.d.ts +2 -0
  169. package/dist/lib/types/number-field/input/NumberFieldInput.d.ts +5 -5
  170. package/dist/lib/types/slider/track/SliderTrack.d.ts +2 -2
  171. package/dist/lib/types/toolbar/link/ToolbarLink.d.ts +10 -3
  172. package/dist/lib/types/toolbar/root/ToolbarRoot.d.ts +10 -4
  173. package/package.json +1 -1
  174. package/dist/lib/client/DialogHandle-BGyIbcvg.js +0 -521
  175. package/dist/lib/client/DialogPopup-Df7MC358.js +0 -138
  176. package/dist/lib/client/FieldControl-C0PATyKV.js +0 -142
  177. package/dist/lib/client/PopupViewport-IS4XU03s.js +0 -152
  178. package/dist/lib/client/avatar-BQoEzzav.js +0 -191
  179. package/dist/lib/client/button-akYS6FyY.js +0 -88
  180. package/dist/lib/client/checkbox-DOXtzBhA.js +0 -425
  181. package/dist/lib/client/collapsible-t8YReaIp.js +0 -230
  182. package/dist/lib/client/compositeNavigation-sxniYTc7.js +0 -58
  183. package/dist/lib/client/context-menu-CplDpqmi.js +0 -220
  184. package/dist/lib/client/form-6Ne_bWQX.js +0 -109
  185. package/dist/lib/client/menubar-DhPRUQZ6.js +0 -163
  186. package/dist/lib/client/otp-field-D-B9tZzF.js +0 -584
  187. package/dist/lib/client/radio-group-CWtQxWDl.js +0 -195
  188. package/dist/lib/client/scroll-area-NCr49LkD.js +0 -717
  189. package/dist/lib/client/slider-CWq9hxFf.js +0 -927
@@ -1,584 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { t } from "./useRender-CxZ8PI-g.js";
3
- import { getStateAttributesProps as n } from "./internals/getStateAttributesProps.js";
4
- import { _ as r, b as i, g as a, h as o } from "./reasons-Co5CzjKq.js";
5
- import { n as s, t as c } from "./resolveStyle-XcgAuaKR.js";
6
- import { createChangeEventDetails as l, createGenericEventDetails as u } from "./internals/createBaseUIEventDetails.js";
7
- import { composeEventHandlers as d } from "./internals/composeEventHandlers.js";
8
- import { n as f } from "./DirectionContext-BwMabICS.js";
9
- import { fieldValidityMapping as p } from "./internals/field-constants.js";
10
- import { n as m } from "./FieldRootContext-izCEh80D.js";
11
- import { n as h } from "./FormContext-CwLBtm_d.js";
12
- import { r as g } from "./LabelableContext-CmQF-TX2.js";
13
- import { t as _ } from "./Separator-D5oJzlA3.js";
14
- import { createComponent as ee, delegateEvents as v, effect as y, getNextElement as te, memo as b, mergeProps as ne, ref as x, runHydrationEvents as re, setAttribute as S, setProperty as ie, spread as ae, style as oe, template as C } from "@solidjs/web";
15
- import { createContext as w, createEffect as T, createMemo as E, createSignal as D, createUniqueId as se, omit as ce, onCleanup as le, onSettled as ue, untrack as O, useContext as de } from "solid-js";
16
- //#region src/otp-field/utils/otp.ts
17
- var k = {
18
- numeric: {
19
- slotPattern: "\\d{1}",
20
- getRootPattern: (e) => `\\d{${e}}`,
21
- regexp: /[^\d]/g,
22
- inputMode: "numeric"
23
- },
24
- alpha: {
25
- slotPattern: "[a-zA-Z]{1}",
26
- getRootPattern: (e) => `[a-zA-Z]{${e}}`,
27
- regexp: /[^a-zA-Z]/g,
28
- inputMode: "text"
29
- },
30
- alphanumeric: {
31
- slotPattern: "[a-zA-Z0-9]{1}",
32
- getRootPattern: (e) => `[a-zA-Z0-9]{${e}}`,
33
- regexp: /[^a-zA-Z0-9]/g,
34
- inputMode: "text"
35
- }
36
- };
37
- function fe(e) {
38
- return e === "none" ? null : k[e];
39
- }
40
- function A(e) {
41
- return (e ?? "").replace(/\s/g, "");
42
- }
43
- function j(e, t) {
44
- return t ? e.replace(t.regexp, "") : e;
45
- }
46
- function M(e, t, n, r) {
47
- let i = A(e), a = fe(n), o = j(i, a), s = i.length > o.length;
48
- if (r) {
49
- let e = r(o);
50
- s ||= o.length > e.length, o = j(e, a), s ||= e.length > o.length;
51
- }
52
- let c = t < 0 ? 0 : t, l = Array.from(o);
53
- return [l.slice(0, c).join(""), s || l.length > c];
54
- }
55
- function N(e, t, n, r) {
56
- return M(e, t, n, r)[0];
57
- }
58
- function pe(e, t, n, r, i, a) {
59
- let o = N(n, r, i, a);
60
- return N(`${e.slice(0, t)}${o}${e.slice(t + o.length)}`, r, i, a);
61
- }
62
- function P(e, t) {
63
- return t < 0 || t >= e.length ? e : `${e.slice(0, t)}${e.slice(t + 1)}`;
64
- }
65
- //#endregion
66
- //#region src/otp-field/utils/stateAttributesMapping.ts
67
- var me = {
68
- value: () => null,
69
- length: () => null,
70
- ...p
71
- }, F = {
72
- value: () => null,
73
- index: () => null,
74
- ...p
75
- }, I = Symbol("OTPFieldRootContext"), he = w(I);
76
- function ge() {
77
- let e = de(he);
78
- if (e !== I) return e;
79
- throw Error("Base UI: OTPFieldRootContext is missing. OTPField parts must be placed within <OTPField.Root>.");
80
- }
81
- function _e(e, t, n) {
82
- return {
83
- ...e,
84
- value: t,
85
- index: n,
86
- filled: t !== ""
87
- };
88
- }
89
- //#endregion
90
- //#region src/otp-field/root/OTPFieldRoot.tsx
91
- var ve = /* @__PURE__ */ C("<div>"), ye = /* @__PURE__ */ C("<input type=text aria-hidden=true tabindex=-1>"), be = {
92
- "clip-path": "inset(50%)",
93
- overflow: "hidden",
94
- "white-space": "nowrap",
95
- border: "0",
96
- padding: "0",
97
- width: "1px",
98
- height: "1px",
99
- margin: "-1px",
100
- position: "fixed",
101
- top: "0",
102
- left: "0"
103
- }, xe = {
104
- ...be,
105
- position: "absolute"
106
- };
107
- function Se(e) {
108
- let r = m(!0), i = h(), a = g(), d = e, f = e, p = Symbol("OTPField"), _ = Symbol("OTPFieldLabel"), v = `base-ui-${se()}`, C = `base-ui-${se()}`, w = O(a.controlId), de = typeof w == "string" ? w : v, k = O(() => d.value !== void 0), A = O(() => k ? d.value : d.defaultValue), j = N(A, O(() => d.length), O(() => d.validationType ?? "numeric"), O(() => d.normalizeValue)), [pe, P] = D(A), [F, I] = D(), [ge, _e] = D(), [Se, Ee] = D(Math.min(j.length, O(() => d.length) - 1)), [De, L] = D(!1), [R, Oe] = D(0), [ke, Ae] = D(), z = /* @__PURE__ */ new Map(), je = 0, Me, B, V, Ne = !1, Pe = !1, Fe = 0, Ie = ce(f, "aria-describedby", "aria-labelledby", "render", "autoComplete", "autoSubmit", "class", "defaultValue", "disabled", "form", "id", "inputMode", "length", "mask", "name", "normalizeValue", "onChange", "onValueChange", "onValueComplete", "onValueInvalid", "readOnly", "ref", "required", "style", "validationType", "value"), H = E(() => d.length), U = E(() => d.validationType ?? "numeric"), W = () => d.normalizeValue, G = E(() => N(k ? d.value : pe(), H(), U(), W())), K = E(() => r.disabled() || (d.disabled ?? !1)), q = E(() => d.readOnly ?? !1), Le = E(() => d.required ?? !1), J = E(() => r.name() ?? d.name), Y = E(() => d.id ?? de), Re = () => d.autoComplete ?? "one-time-code", ze = () => d.form, Be = () => d.mask ?? !1, Ve = E(() => fe(U())), He = E(() => Ve()?.slotPattern), Ue = E(() => Ve()?.getRootPattern(H())), We = E(() => d.inputMode ?? Ve()?.inputMode), Ge = E(() => Number.isInteger(H()) && H() > 0), X = E(() => (R(), $()[0]?.element)), Ke = E(() => De() ? Math.min(Se(), Math.max(H() - 1, 0)) : Math.min(G().length, H() - 1)), Z = E(() => ({
109
- ...r.state(),
110
- complete: G().length === H(),
111
- disabled: K(),
112
- filled: G() !== "",
113
- focused: De(),
114
- length: H(),
115
- readOnly: q(),
116
- required: Le(),
117
- value: G()
118
- })), qe = E(() => s(e.class, Z())), Je = t(e, () => Z(), (e) => (() => {
119
- var t = te(ve);
120
- return ae(t, e, !1), re(), t;
121
- })()), Ye = E(() => c(e.style, Z())), Xe = E(() => n(Z(), me)), Ze = E(() => d["aria-labelledby"] ?? a.labelId() ?? ke()), Qe = E(() => d["aria-labelledby"] == null ? Ze() : void 0), $e = E(() => a.getAriaDescribedBy(d["aria-describedby"])), et = E(() => a.getAriaDescribedBy(void 0)), tt = O(G), Q = {
122
- id: O(Y),
123
- name: d.name,
124
- value: () => V ?? G(),
125
- getControl: () => X() ?? null
126
- };
127
- function nt() {
128
- let e = Symbol("OTPFieldInput"), [t, n] = D(z.size), r = {
129
- element: void 0,
130
- index: t,
131
- setIndex: n,
132
- order: je
133
- };
134
- return je += 1, z.set(e, r), it(), {
135
- index: t,
136
- setElement(e) {
137
- r.element = e, rt();
138
- },
139
- unregister() {
140
- z.delete(e), rt();
141
- }
142
- };
143
- }
144
- function $() {
145
- return Array.from(z.values()).sort(Ce);
146
- }
147
- function rt() {
148
- let e = $();
149
- for (let t = 0; t < e.length; t += 1) e[t]?.setIndex(t);
150
- it();
151
- }
152
- function it() {
153
- Pe || (Pe = !0, queueMicrotask(() => {
154
- Pe = !1, Ne || Oe((e) => e + 1);
155
- }));
156
- }
157
- function at(e) {
158
- let t = $(), n = t[Math.min(Math.max(e, 0), Math.max(t.length - 1, 0))]?.element;
159
- n?.focus(), n?.select();
160
- }
161
- function ot(e, t) {
162
- Me = {
163
- index: e,
164
- value: t
165
- };
166
- }
167
- function st(e) {
168
- let t = Y();
169
- if (t) return e === 0 ? t : `${t}-${e + 1}`;
170
- }
171
- function ct(e, t) {
172
- if (e > G().length) {
173
- at(Math.min(G().length, H() - 1));
174
- return;
175
- }
176
- Ee(e), L(!0), r.setFocused(!0), t.currentTarget.select();
177
- }
178
- function lt(e) {
179
- O(() => {
180
- let t = e.relatedTarget, n = F();
181
- n && t instanceof Element && we(n, t) || (r.setTouched(!0), L(!1), r.setFocused(!1), r.validationMode() === "onBlur" && r.validation.commit(G()));
182
- });
183
- }
184
- function ut(e, t) {
185
- d.onValueInvalid?.(e, t);
186
- }
187
- function dt(e, t, n, r, i) {
188
- if (e || t || !n) {
189
- Ae(void 0);
190
- return;
191
- }
192
- let a = n.getRootNode(), o = "querySelectorAll" in a ? a : void 0, s = r && o ? Array.from(o.querySelectorAll("label")).find((e) => e.htmlFor === r) : void 0, c = n.closest("label") ?? n.labels?.[0] ?? s;
193
- if (!c || !i || c.getRootNode() !== i.getRootNode()) {
194
- Ae(void 0);
195
- return;
196
- }
197
- c.id ||= C, Ae(c.id || void 0);
198
- }
199
- function ft(e, t) {
200
- let n = N(e, H(), U(), W()), r = (t.reason === "input-change" || t.reason === "input-paste") && n.length === H() && (G().length !== H() || t.reason === "input-paste") ? u(t.reason, t.event) : null;
201
- return n === G() ? (r && pt(n, r), null) : (d.onValueChange?.(n, t), t.isCanceled ? null : (k || P(n), r ? B = {
202
- value: n,
203
- details: r
204
- } : n.length !== H() && (B = void 0), n));
205
- }
206
- function pt(e, t) {
207
- let n = d.autoSubmit ?? !1, r = ze(), i = V;
208
- V = e;
209
- try {
210
- d.onValueComplete?.(e, t), n && mt(r, e);
211
- } finally {
212
- V = i;
213
- }
214
- }
215
- function mt(e, t) {
216
- let n = ge(), r = $().flatMap((e) => e.element ?? []), i = n?.form ?? r[0]?.form ?? null;
217
- if (e) {
218
- let t = F()?.ownerDocument.getElementById(e);
219
- t?.tagName === "FORM" && (i = t);
220
- }
221
- if (!i?.requestSubmit) return;
222
- let a = r.map((e) => e.value), o = n?.value;
223
- for (let e = 0; e < r.length; e += 1) {
224
- let n = r[e];
225
- n && (n.value = t[e] ?? "");
226
- }
227
- n && (n.value = t);
228
- try {
229
- i.requestSubmit();
230
- } finally {
231
- for (let e = 0; e < r.length; e += 1) {
232
- let t = r[e];
233
- t && (t.value = a[e] ?? "");
234
- }
235
- n && (n.value = o ?? "");
236
- }
237
- }
238
- function ht(e) {
239
- if (e.defaultPrevented || K() || q()) {
240
- e.currentTarget.value = G();
241
- return;
242
- }
243
- let t = e.currentTarget.value, [n, r] = M(t, H(), U(), W());
244
- r && ut(t, u(o, e));
245
- let i = ft(n, l(o, e));
246
- e.currentTarget.value !== G() && (e.currentTarget.value = G()), i != null && i !== "" && ot(i.length - 1, i);
247
- }
248
- let gt = {
249
- activeIndex: Ke,
250
- autoComplete: Re,
251
- disabled: K,
252
- form: ze,
253
- focusInput: at,
254
- queueFocusInput: ot,
255
- getInputId: st,
256
- handleInputBlur: lt,
257
- handleInputFocus: ct,
258
- inputMode: We,
259
- inputAriaLabelledBy: Qe,
260
- invalid: () => r.invalid(),
261
- length: H,
262
- mask: Be,
263
- normalizeValue: W,
264
- pattern: He,
265
- readOnly: q,
266
- registerInput: nt,
267
- reportValueInvalid: ut,
268
- required: Le,
269
- setValue: ft,
270
- state: Z,
271
- validationType: U,
272
- value: G
273
- };
274
- return T(() => ({
275
- disabled: K(),
276
- firstInput: X(),
277
- id: Y(),
278
- name: d.name
279
- }), (e) => O(() => {
280
- Q.id = e.id, Q.name = e.name, r.registerFieldControl(p, e.disabled || !e.firstInput ? void 0 : Q), a.registerControlId(_, e.firstInput ? e.id : void 0);
281
- })), T(() => ({
282
- disabled: K(),
283
- input: ge()
284
- }), (e) => O(() => {
285
- if (!(!e.input || e.disabled)) return r.validation.registerInput(p, e.input, () => O(() => X() ?? null));
286
- })), T(() => ({
287
- explicit: d["aria-labelledby"],
288
- fieldLabel: a.labelId(),
289
- input: X(),
290
- inputId: Y(),
291
- group: F()
292
- }), (e) => {
293
- dt(e.explicit, e.fieldLabel, e.input, e.inputId, e.group);
294
- }), T(() => ({
295
- initialValue: r.validityData().initialValue,
296
- name: J(),
297
- value: G()
298
- }), (e) => {
299
- if (e.value === tt) return;
300
- tt = e.value, O(() => {
301
- i.clearError(e.name), r.setDirty(e.value !== e.initialValue), r.setFilled(e.value !== ""), r.validation.change(e.value);
302
- });
303
- let t = ++Fe;
304
- queueMicrotask(() => {
305
- if (Ne || t !== Fe) return;
306
- let e = O(G), n = Me;
307
- Me = void 0, n?.value === e && at(n.index);
308
- let r = B;
309
- B = void 0, r?.value === e && pt(e, r.details);
310
- });
311
- }), T(() => (R(), {
312
- count: z.size,
313
- length: H()
314
- }), (e) => {
315
- Te() && Number.isInteger(e.length) && e.length > 0 && e.count !== 0 && e.count !== e.length && console.warn(`<OTPField.Root> \`length\` must match the number of rendered <OTPField.Input /> parts. Received \`length={${e.length}}\` but rendered ${e.count} input${e.count === 1 ? "" : "s"}.`);
316
- }), T(() => H(), (e) => {
317
- Te() && (!Number.isInteger(e) || e <= 0) && console.warn(`<OTPField.Root> \`length\` must be a positive integer. Received \`length={${String(e)}}\`.`);
318
- }), T(() => {
319
- R();
320
- let e = /* @__PURE__ */ new Set(), t = F();
321
- t && e.add(t.getRootNode());
322
- for (let t of z.values()) t.element && e.add(t.element.getRootNode());
323
- return Array.from(e);
324
- }, (e) => {
325
- if (typeof MutationObserver > "u") return;
326
- function t(e) {
327
- return e.type === "attributes" ? e.target instanceof HTMLLabelElement || Array.from(z.values()).some((t) => t.element === e.target) : [...e.addedNodes, ...e.removedNodes].some((e) => e instanceof HTMLLabelElement ? !0 : e instanceof Element ? e.querySelector("label") ? !0 : Array.from(z.values()).some((t) => t.element === e || (t.element ? e.contains(t.element) : !1)) : !1);
328
- }
329
- let n = new MutationObserver((e) => {
330
- e.some(t) && (rt(), O(() => {
331
- dt(d["aria-labelledby"], a.labelId(), $()[0]?.element, Y(), F());
332
- }));
333
- });
334
- for (let t of e) n.observe(t, {
335
- attributeFilter: ["for", "id"],
336
- attributes: !0,
337
- childList: !0,
338
- subtree: !0
339
- });
340
- return () => n.disconnect();
341
- }), ue(() => O(() => {
342
- r.setFilled(G() !== "");
343
- let e = $()[0]?.element;
344
- Q.id = Y(), Q.name = d.name, r.registerFieldControl(p, K() || !e ? void 0 : Q), a.registerControlId(_, e ? Y() : void 0), dt(d["aria-labelledby"], a.labelId(), e, Y(), F());
345
- })), le(() => {
346
- Ne = !0, r.registerFieldControl(p, void 0), a.registerControlId(_, void 0);
347
- }), ee(he, {
348
- value: gt,
349
- get children() {
350
- return [ee(Je, ne({
351
- ref: [((e) => I(e)), d.ref],
352
- get class() {
353
- return qe();
354
- },
355
- get style() {
356
- return Ye();
357
- },
358
- role: "group",
359
- get "aria-describedby"() {
360
- return $e();
361
- },
362
- get "aria-labelledby"() {
363
- return Ze();
364
- }
365
- }, Xe, Ie)), b(() => b(() => !!Ge())() ? (() => {
366
- var e = te(ye);
367
- return e.$$input = ht, e.addEventListener("focus", () => at(0)), x(() => (e) => _e(e), e), y(() => ({
368
- e: Y() && J() == null ? `${Y()}-hidden-input` : void 0,
369
- t: ze(),
370
- a: J(),
371
- o: G(),
372
- i: Re(),
373
- n: We(),
374
- s: H(),
375
- h: H(),
376
- r: Ue(),
377
- d: K(),
378
- l: q(),
379
- u: Le(),
380
- c: et(),
381
- w: Z().valid === !1 && !K() ? "true" : void 0,
382
- m: J() ? xe : be
383
- }), ({ e: t, t: n, a: r, o: i, i: a, n: o, s, h: c, r: l, d: u, l: d, u: f, c: p, w: m, m: h }, g) => {
384
- t !== g?.e && S(e, "id", t), n !== g?.t && S(e, "form", n), r !== g?.a && S(e, "name", r), ie(e, "value", i), a !== g?.i && S(e, "autocomplete", a), o !== g?.n && S(e, "inputmode", o), s !== g?.s && S(e, "minlength", s), c !== g?.h && S(e, "maxlength", c), l !== g?.r && S(e, "pattern", l), u !== g?.d && S(e, "disabled", u), d !== g?.l && S(e, "readonly", d), f !== g?.u && S(e, "required", f), p !== g?.c && S(e, "aria-describedby", p), m !== g?.w && S(e, "aria-invalid", m), oe(e, h, g?.m);
385
- }), re(), e;
386
- })() : Ge())];
387
- }
388
- });
389
- }
390
- function Ce(e, t) {
391
- if (!e.element || !t.element || e.element === t.element) return e.order - t.order;
392
- let n = e.element.compareDocumentPosition(t.element);
393
- return n & Node.DOCUMENT_POSITION_DISCONNECTED ? e.order - t.order : n & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : n & Node.DOCUMENT_POSITION_PRECEDING ? 1 : e.order - t.order;
394
- }
395
- function we(e, t) {
396
- if (e.contains(t)) return !0;
397
- let n = t;
398
- for (; n;) {
399
- if (n === e) return !0;
400
- n = n.parentNode ?? (n instanceof ShadowRoot ? n.host : null);
401
- }
402
- return !1;
403
- }
404
- function Te() {
405
- return !1;
406
- }
407
- v(["input"]);
408
- //#endregion
409
- //#region src/otp-field/input/OTPFieldInput.tsx
410
- var Ee = /* @__PURE__ */ C("<input>");
411
- function De(e) {
412
- let p = ge(), m = f(), h = p.registerInput(), g = e, _ = ce(e, "aria-label", "aria-labelledby", "render", "class", "defaultChecked", "defaultValue", "index", "onBlur", "onFocus", "onInput", "onKeyDown", "onMouseDown", "onPaste", "ref", "style"), v = h.index, y = E(() => p.value()[v()] ?? ""), x = E(() => _e(p.state(), y(), v())), S = E(() => s(e.class, x())), ie = t(e, () => x(), (e) => (() => {
413
- var t = te(Ee);
414
- return ae(t, e, !1), re(), t;
415
- })()), oe = E(() => c(e.style, x())), C = E(() => n(x(), F)), w = E(() => v() === 0 ? void 0 : g["aria-label"]), se = E(() => g["aria-labelledby"] ?? p.inputAriaLabelledBy()), [ue, O] = D(), de = d(() => g.onMouseDown, () => me), k = d(() => g.onFocus, () => I), fe = d(() => g.onBlur, () => he), A = d(() => g.onInput, () => ve), j = d(() => g.onKeyDown, () => ye), N = d(() => g.onPaste, () => be);
416
- function me(e) {
417
- e.defaultPrevented || p.disabled() || (e.preventDefault(), p.focusInput(v()));
418
- }
419
- function I(e) {
420
- e.defaultPrevented || p.disabled() || p.handleInputFocus(v(), e);
421
- }
422
- function he(e) {
423
- e.defaultPrevented || p.handleInputBlur(e);
424
- }
425
- function ve(e) {
426
- if (e.defaultPrevented || p.disabled() || p.readOnly()) {
427
- e.currentTarget.value = y();
428
- return;
429
- }
430
- let t = e.currentTarget.value, [n, r] = M(t, p.length(), p.validationType(), p.normalizeValue());
431
- if (r && p.reportValueInvalid(t, u(o, e)), n === "") {
432
- t === "" ? (p.setValue(P(p.value(), v()), l(a, e)), e.currentTarget.value = y()) : (e.currentTarget.value = y(), y() !== "" && e.currentTarget.select());
433
- return;
434
- }
435
- let i = pe(p.value(), v(), n, p.length(), p.validationType(), p.normalizeValue()), s = p.setValue(i, l(o, e));
436
- e.currentTarget.value !== y() && (e.currentTarget.value = y()), s != null && p.queueFocusInput(Math.min(v() + n.length, p.length() - 1), s);
437
- }
438
- function ye(e) {
439
- if (e.defaultPrevented || p.disabled()) return;
440
- let t = Math.max(p.length() - 1, 0), n = Math.min(p.value().length, t), r = (e.ctrlKey || e.metaKey) && !e.altKey, a = m() === "rtl" ? "ArrowRight" : "ArrowLeft", o = m() === "rtl" ? "ArrowLeft" : "ArrowRight";
441
- if (e.key === a) {
442
- L(e), p.focusInput(r ? 0 : Math.max(0, v() - 1));
443
- return;
444
- }
445
- if (e.key === o) {
446
- L(e), p.focusInput(r ? n : Math.min(t, v() + 1));
447
- return;
448
- }
449
- if (e.key === "Home" || e.key === "ArrowUp") {
450
- L(e), p.focusInput(0);
451
- return;
452
- }
453
- if (e.key === "End" || e.key === "ArrowDown") {
454
- L(e), p.focusInput(n);
455
- return;
456
- }
457
- if (p.readOnly()) return;
458
- let s = (t, n) => {
459
- let r = p.setValue(t, l(i, e));
460
- r != null && p.queueFocusInput(n, r);
461
- };
462
- if (e.key === "Backspace" && r) {
463
- L(e), s("", 0);
464
- return;
465
- }
466
- if (e.key === "Delete") {
467
- L(e), s(P(p.value(), v()), v());
468
- return;
469
- }
470
- let c = e.currentTarget.value, u = e.currentTarget.selectionStart === 0 && e.currentTarget.selectionEnd === c.length;
471
- if (e.key.length === 1 && u && y() === e.key) {
472
- L(e), v() < p.length() - 1 && p.focusInput(v() + 1);
473
- return;
474
- }
475
- if (e.key === "Backspace") {
476
- L(e);
477
- let t = Math.max(0, v() - 1), n = y() === "" ? t : v();
478
- s(P(p.value(), n), t);
479
- }
480
- }
481
- function be(e) {
482
- if (e.defaultPrevented || p.disabled() || p.readOnly()) return;
483
- let t = "";
484
- try {
485
- t = e.clipboardData?.getData("text/plain") ?? "";
486
- } catch {
487
- R() && console.warn("<OTPField.Input> could not read clipboard text during paste handling.");
488
- return;
489
- }
490
- e.preventDefault();
491
- let [n, i] = M(t, p.length(), p.validationType(), p.normalizeValue());
492
- if (i && p.reportValueInvalid(t, u(r, e)), n === "") return;
493
- let a = p.setValue(pe(p.value(), v(), n, p.length(), p.validationType(), p.normalizeValue()), l(r, e));
494
- a != null && p.queueFocusInput(Math.min(v() + n.length, p.length() - 1), a);
495
- }
496
- return T(() => ({
497
- element: ue(),
498
- index: v(),
499
- label: g["aria-label"]
500
- }), (e) => {
501
- R() && e.element && e.index === 0 && e.label != null && !e.element.labels?.length && console.warn("<OTPField.Input> ignores `aria-label` on the first input. Use a `<label>` or `<Field.Label>` to label the OTP field.");
502
- }), le(h.unregister), ee(ie, ne({
503
- ref: [((e) => {
504
- O(e), h.setElement(e);
505
- }), g.ref],
506
- get id() {
507
- return p.getInputId(v());
508
- },
509
- get value() {
510
- return y();
511
- },
512
- get type() {
513
- return p.mask() ? "password" : "text";
514
- },
515
- get inputmode() {
516
- return p.inputMode();
517
- },
518
- get autocomplete() {
519
- return b(() => v() === 0)() ? p.autoComplete() : "off";
520
- },
521
- autocorrect: "off",
522
- spellcheck: !1,
523
- get enterkeyhint() {
524
- return v() === p.length() - 1 ? "done" : "next";
525
- },
526
- get maxlength() {
527
- return b(() => v() === 0)() ? p.length() : void 0;
528
- },
529
- get tabindex() {
530
- return p.activeIndex() === v() ? 0 : -1;
531
- },
532
- get disabled() {
533
- return p.disabled();
534
- },
535
- get form() {
536
- return p.form();
537
- },
538
- get pattern() {
539
- return p.pattern();
540
- },
541
- get readonly() {
542
- return p.readOnly();
543
- },
544
- get required() {
545
- return p.required();
546
- },
547
- get "aria-labelledby"() {
548
- return b(() => w() == null)() ? se() : void 0;
549
- },
550
- get "aria-invalid"() {
551
- return !p.disabled() && p.invalid() ? "true" : void 0;
552
- },
553
- get "aria-label"() {
554
- return w();
555
- },
556
- get class() {
557
- return S();
558
- },
559
- get style() {
560
- return oe();
561
- },
562
- onMouseDown: de,
563
- onFocus: k,
564
- onBlur: fe,
565
- onInput: A,
566
- onKeyDown: j,
567
- onPaste: N
568
- }, C, _));
569
- }
570
- function L(e) {
571
- e.preventDefault(), e.stopPropagation();
572
- }
573
- function R() {
574
- return !1;
575
- }
576
- //#endregion
577
- //#region src/otp-field/index.parts.ts
578
- var Oe = /* @__PURE__ */ e({
579
- Input: () => De,
580
- Root: () => Se,
581
- Separator: () => _
582
- });
583
- //#endregion
584
- export { Oe as t };