@rpcbase/ui 0.233.0 → 0.234.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.
Files changed (203) hide show
  1. package/dist/index167.js +3 -3
  2. package/dist/index172.js +3 -3
  3. package/dist/index175.js +1 -1
  4. package/dist/index176.js +4 -4
  5. package/dist/index182.js +1 -1
  6. package/dist/index184.js +12 -12
  7. package/dist/index185.js +1 -1
  8. package/dist/index187.js +5 -5
  9. package/dist/index189.js +6 -6
  10. package/dist/index190.js +5 -5
  11. package/dist/index193.js +3 -3
  12. package/dist/index194.js +5 -5
  13. package/dist/index198.js +57 -36
  14. package/dist/index198.js.map +1 -1
  15. package/dist/index199.js.map +1 -1
  16. package/dist/index262.js +2 -2
  17. package/dist/index274.js +1 -1
  18. package/dist/index278.js +20 -20
  19. package/dist/index278.js.map +1 -1
  20. package/dist/index279.js +24 -62
  21. package/dist/index279.js.map +1 -1
  22. package/dist/index280.js +16 -6
  23. package/dist/index280.js.map +1 -1
  24. package/dist/index281.js +20 -12
  25. package/dist/index281.js.map +1 -1
  26. package/dist/index282.js +64 -48
  27. package/dist/index282.js.map +1 -1
  28. package/dist/index283.js +7 -4
  29. package/dist/index283.js.map +1 -1
  30. package/dist/index284.js +11 -29
  31. package/dist/index284.js.map +1 -1
  32. package/dist/index285.js +49 -15
  33. package/dist/index285.js.map +1 -1
  34. package/dist/index286.js +4 -6
  35. package/dist/index286.js.map +1 -1
  36. package/dist/index287.js +28 -20
  37. package/dist/index287.js.map +1 -1
  38. package/dist/index288.js +15 -50
  39. package/dist/index288.js.map +1 -1
  40. package/dist/index289.js +5 -25
  41. package/dist/index289.js.map +1 -1
  42. package/dist/index290.js +21 -41
  43. package/dist/index290.js.map +1 -1
  44. package/dist/index291.js +50 -38
  45. package/dist/index291.js.map +1 -1
  46. package/dist/index292.js +26 -45
  47. package/dist/index292.js.map +1 -1
  48. package/dist/index293.js +40 -19
  49. package/dist/index293.js.map +1 -1
  50. package/dist/index294.js +38 -69
  51. package/dist/index294.js.map +1 -1
  52. package/dist/index295.js +45 -18
  53. package/dist/index295.js.map +1 -1
  54. package/dist/index296.js +20 -11
  55. package/dist/index296.js.map +1 -1
  56. package/dist/index297.js +69 -26
  57. package/dist/index297.js.map +1 -1
  58. package/dist/index298.js +16 -12
  59. package/dist/index298.js.map +1 -1
  60. package/dist/index299.js +10 -17
  61. package/dist/index299.js.map +1 -1
  62. package/dist/index300.js +26 -35
  63. package/dist/index300.js.map +1 -1
  64. package/dist/index301.js +12 -261
  65. package/dist/index301.js.map +1 -1
  66. package/dist/index302.js +15 -275
  67. package/dist/index302.js.map +1 -1
  68. package/dist/index303.js +36 -68
  69. package/dist/index303.js.map +1 -1
  70. package/dist/index304.js +256 -93
  71. package/dist/index304.js.map +1 -1
  72. package/dist/index305.js +270 -75
  73. package/dist/index305.js.map +1 -1
  74. package/dist/index306.js +68 -3
  75. package/dist/index306.js.map +1 -1
  76. package/dist/index307.js +96 -26
  77. package/dist/index307.js.map +1 -1
  78. package/dist/index308.js +83 -16
  79. package/dist/index308.js.map +1 -1
  80. package/dist/index309.js +4 -35
  81. package/dist/index309.js.map +1 -1
  82. package/dist/index310.js +28 -15
  83. package/dist/index310.js.map +1 -1
  84. package/dist/index311.js +16 -3
  85. package/dist/index311.js.map +1 -1
  86. package/dist/index312.js +35 -27
  87. package/dist/index312.js.map +1 -1
  88. package/dist/index313.js +16 -28
  89. package/dist/index313.js.map +1 -1
  90. package/dist/index314.js +4 -4
  91. package/dist/index314.js.map +1 -1
  92. package/dist/index315.js +23 -75
  93. package/dist/index315.js.map +1 -1
  94. package/dist/index316.js +25 -266
  95. package/dist/index316.js.map +1 -1
  96. package/dist/index317.js +4 -12
  97. package/dist/index317.js.map +1 -1
  98. package/dist/index318.js +79 -11
  99. package/dist/index318.js.map +1 -1
  100. package/dist/index319.js +267 -23
  101. package/dist/index319.js.map +1 -1
  102. package/dist/index320.js +11 -16
  103. package/dist/index320.js.map +1 -1
  104. package/dist/index321.js +10 -125
  105. package/dist/index321.js.map +1 -1
  106. package/dist/index322.js +24 -4
  107. package/dist/index322.js.map +1 -1
  108. package/dist/index323.js +16 -40
  109. package/dist/index323.js.map +1 -1
  110. package/dist/index324.js +121 -61
  111. package/dist/index324.js.map +1 -1
  112. package/dist/index325.js +6 -14
  113. package/dist/index325.js.map +1 -1
  114. package/dist/index326.js +40 -7
  115. package/dist/index326.js.map +1 -1
  116. package/dist/index327.js +65 -5
  117. package/dist/index327.js.map +1 -1
  118. package/dist/index328.js +14 -4
  119. package/dist/index328.js.map +1 -1
  120. package/dist/index329.js +7 -10
  121. package/dist/index329.js.map +1 -1
  122. package/dist/index330.js +5 -7
  123. package/dist/index330.js.map +1 -1
  124. package/dist/index331.js +3 -133
  125. package/dist/index331.js.map +1 -1
  126. package/dist/index332.js +9 -398
  127. package/dist/index332.js.map +1 -1
  128. package/dist/index333.js +7 -52
  129. package/dist/index333.js.map +1 -1
  130. package/dist/index334.js +133 -11
  131. package/dist/index334.js.map +1 -1
  132. package/dist/index335.js +399 -11
  133. package/dist/index335.js.map +1 -1
  134. package/dist/index336.js +51 -18
  135. package/dist/index336.js.map +1 -1
  136. package/dist/index337.js +11 -28
  137. package/dist/index337.js.map +1 -1
  138. package/dist/index338.js +11 -16
  139. package/dist/index338.js.map +1 -1
  140. package/dist/index339.js +1 -1
  141. package/dist/index346.js +2 -2
  142. package/dist/index347.js +122 -5
  143. package/dist/index347.js.map +1 -1
  144. package/dist/index348.js +31 -121
  145. package/dist/index348.js.map +1 -1
  146. package/dist/index349.js +72 -31
  147. package/dist/index349.js.map +1 -1
  148. package/dist/index350.js +139 -70
  149. package/dist/index350.js.map +1 -1
  150. package/dist/index351.js +35 -116
  151. package/dist/index351.js.map +1 -1
  152. package/dist/index352.js +44 -56
  153. package/dist/index352.js.map +1 -1
  154. package/dist/index353.js +14 -49
  155. package/dist/index353.js.map +1 -1
  156. package/dist/index354.js +6 -15
  157. package/dist/index354.js.map +1 -1
  158. package/dist/index368.js +1 -1
  159. package/dist/index371.js +2 -2
  160. package/dist/index372.js +3 -3
  161. package/dist/index374.js +3 -3
  162. package/dist/index375.js +1 -1
  163. package/dist/index376.js +3 -3
  164. package/dist/index378.js +2 -2
  165. package/dist/index380.js +1 -1
  166. package/dist/index381.js +2 -2
  167. package/dist/index384.js +2 -2
  168. package/dist/index386.js +1 -1
  169. package/dist/index407.js +1 -1
  170. package/dist/index417.js +1 -1
  171. package/dist/index418.js +1 -1
  172. package/dist/index421.js +1 -1
  173. package/dist/index422.js +1 -1
  174. package/dist/index427.js +2 -2
  175. package/dist/index429.js +2 -2
  176. package/dist/index44.js +1 -1
  177. package/dist/index45.js +2 -2
  178. package/dist/index49.js +28 -28
  179. package/dist/index50.js +21 -21
  180. package/dist/index51.js +1 -1
  181. package/dist/index52.js +8 -8
  182. package/dist/index53.js +2 -2
  183. package/dist/index55.js +17 -17
  184. package/dist/index56.js +4 -4
  185. package/dist/index57.js +3 -3
  186. package/dist/index58.js +7 -7
  187. package/dist/index59.js +4 -4
  188. package/dist/index60.js +12 -12
  189. package/dist/index61.js +2 -2
  190. package/dist/index62.js +2 -2
  191. package/dist/index70.js +1 -1
  192. package/dist/index71.js +1 -1
  193. package/dist/index74.js +6 -2
  194. package/dist/index74.js.map +1 -1
  195. package/dist/index75.js +8 -2
  196. package/dist/index75.js.map +1 -1
  197. package/dist/index76.js +5 -5
  198. package/dist/index76.js.map +1 -1
  199. package/dist/index77.js +2 -8
  200. package/dist/index77.js.map +1 -1
  201. package/dist/index78.js +2 -6
  202. package/dist/index78.js.map +1 -1
  203. package/package.json +1 -1
package/dist/index287.js CHANGED
@@ -1,25 +1,33 @@
1
- import o from "./index191.js";
2
- import * as e from "react";
3
- const n = /* @__PURE__ */ e.createContext(null);
4
- process.env.NODE_ENV !== "production" && (n.displayName = "SelectRootContext");
5
- const c = /* @__PURE__ */ e.createContext(null);
6
- process.env.NODE_ENV !== "production" && (c.displayName = "SelectFloatingContext");
7
- function s() {
8
- const t = e.useContext(n);
9
- if (t === null)
10
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>." : o(60));
11
- return t;
1
+ import * as a from "react";
2
+ import { useRefWithInit as c } from "./index283.js";
3
+ const n = a[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0, -3)], r = (
4
+ // React 17 doesn't have useInsertionEffect.
5
+ n && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
6
+ n !== a.useLayoutEffect ? n : (e) => e()
7
+ );
8
+ function f(e) {
9
+ const t = c(o).current;
10
+ return t.next = e, r(t.effect), t.trampoline;
12
11
  }
13
- function i() {
14
- const t = e.useContext(c);
15
- if (t === null)
16
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>." : o(61));
17
- return t;
12
+ function o() {
13
+ const e = {
14
+ next: void 0,
15
+ callback: l,
16
+ trampoline: (...t) => e.callback?.(...t),
17
+ effect: () => {
18
+ e.callback = e.next;
19
+ }
20
+ };
21
+ return e;
22
+ }
23
+ function l() {
24
+ if (process.env.NODE_ENV !== "production")
25
+ throw (
26
+ /* minify-error-disabled */
27
+ new Error("Base UI: Cannot call an event handler while rendering.")
28
+ );
18
29
  }
19
30
  export {
20
- c as SelectFloatingContext,
21
- n as SelectRootContext,
22
- i as useSelectFloatingContext,
23
- s as useSelectRootContext
31
+ f as useStableCallback
24
32
  };
25
33
  //# sourceMappingURL=index287.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index287.js","sources":["../../../node_modules/@base-ui/react/esm/select/root/SelectRootContext.js"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectRootContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") SelectRootContext.displayName = \"SelectRootContext\";\nexport const SelectFloatingContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") SelectFloatingContext.displayName = \"SelectFloatingContext\";\nexport function useSelectRootContext() {\n const context = React.useContext(SelectRootContext);\n if (context === null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>.' : _formatErrorMessage(60));\n }\n return context;\n}\nexport function useSelectFloatingContext() {\n const context = React.useContext(SelectFloatingContext);\n if (context === null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>.' : _formatErrorMessage(61));\n }\n return context;\n}"],"names":["SelectRootContext","React","SelectFloatingContext","useSelectRootContext","context","_formatErrorMessage","useSelectFloatingContext"],"mappings":";;AAIY,MAACA,IAAiC,gBAAAC,EAAM,cAAc,IAAI;AAClE,QAAQ,IAAI,aAAa,iBAAcD,EAAkB,cAAc;AAC/D,MAACE,IAAqC,gBAAAD,EAAM,cAAc,IAAI;AACtE,QAAQ,IAAI,aAAa,iBAAcC,EAAsB,cAAc;AACxE,SAASC,IAAuB;AACrC,QAAMC,IAAUH,EAAM,WAAWD,CAAiB;AAClD,MAAII,MAAY;AACd,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,6FAA6FC,EAAoB,EAAE,CAAC;AAE9K,SAAOD;AACT;AACO,SAASE,IAA2B;AACzC,QAAMF,IAAUH,EAAM,WAAWC,CAAqB;AACtD,MAAIE,MAAY;AACd,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,iGAAiGC,EAAoB,EAAE,CAAC;AAElL,SAAOD;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index287.js","sources":["../../../node_modules/@base-ui/utils/esm/useStableCallback.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useRefWithInit } from \"./useRefWithInit.js\";\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst useInsertionEffect = React[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0, -3)];\nconst useSafeInsertionEffect =\n// React 17 doesn't have useInsertionEffect.\nuseInsertionEffect &&\n// Preact replaces useInsertionEffect with useLayoutEffect and fires too late.\nuseInsertionEffect !== React.useLayoutEffect ? useInsertionEffect : fn => fn();\n/**\n * Stabilizes the function passed so it's always the same between renders.\n *\n * The function becomes non-reactive to any values it captures.\n * It can safely be passed as a dependency of `React.useMemo` and `React.useEffect` without re-triggering them if its captured values change.\n *\n * The function must only be called inside effects and event handlers, never during render (which throws an error).\n *\n * This hook is a more permissive version of React 19.2's `React.useEffectEvent` in that it can be passed through contexts and called in event handler props, not just effects.\n */\nexport function useStableCallback(callback) {\n const stable = useRefWithInit(createStableCallback).current;\n stable.next = callback;\n useSafeInsertionEffect(stable.effect);\n return stable.trampoline;\n}\nfunction createStableCallback() {\n const stable = {\n next: undefined,\n callback: assertNotCalled,\n trampoline: (...args) => stable.callback?.(...args),\n effect: () => {\n stable.callback = stable.next;\n }\n };\n return stable;\n}\nfunction assertNotCalled() {\n if (process.env.NODE_ENV !== 'production') {\n throw /* minify-error-disabled */new Error('Base UI: Cannot call an event handler while rendering.');\n }\n}"],"names":["useInsertionEffect","React","useSafeInsertionEffect","fn","useStableCallback","callback","stable","useRefWithInit","createStableCallback","assertNotCalled","args"],"mappings":";;AAMA,MAAMA,IAAqBC,EAAM,qBAAqB,KAAK,OAAM,EAAG,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,GACvFC;AAAA;AAAA,EAENF;AAAA,EAEAA,MAAuBC,EAAM,kBAAkBD,IAAqB,CAAAG,MAAMA,EAAE;AAAA;AAWrE,SAASC,EAAkBC,GAAU;AAC1C,QAAMC,IAASC,EAAeC,CAAoB,EAAE;AACpD,SAAAF,EAAO,OAAOD,GACdH,EAAuBI,EAAO,MAAM,GAC7BA,EAAO;AAChB;AACA,SAASE,IAAuB;AAC9B,QAAMF,IAAS;AAAA,IACb,MAAM;AAAA,IACN,UAAUG;AAAA,IACV,YAAY,IAAIC,MAASJ,EAAO,WAAW,GAAGI,CAAI;AAAA,IAClD,QAAQ,MAAM;AACZ,MAAAJ,EAAO,WAAWA,EAAO;AAAA,IAC3B;AAAA,EACJ;AACE,SAAOA;AACT;AACA,SAASG,IAAkB;AACzB,MAAI,QAAQ,IAAI,aAAa;AAC3B;AAAA;AAAA,MAAiC,IAAI,MAAM,wDAAwD;AAAA;AAEvG;","x_google_ignoreList":[0]}
package/dist/index288.js CHANGED
@@ -1,55 +1,20 @@
1
- import d from "./index191.js";
2
- import * as n from "react";
3
- import { NOOP as e, EMPTY_OBJECT as a } from "./index286.js";
4
- import { DEFAULT_FIELD_ROOT_STATE as l, DEFAULT_FIELD_STATE_ATTRIBUTES as i, DEFAULT_VALIDITY_STATE as s } from "./index309.js";
5
- const r = /* @__PURE__ */ n.createContext({
6
- invalid: void 0,
7
- name: void 0,
8
- validityData: {
9
- state: s,
10
- errors: [],
11
- error: "",
12
- value: "",
13
- initialValue: null
14
- },
15
- setValidityData: e,
16
- disabled: void 0,
17
- touched: i.touched,
18
- setTouched: e,
19
- dirty: i.dirty,
20
- setDirty: e,
21
- filled: i.filled,
22
- setFilled: e,
23
- focused: i.focused,
24
- setFocused: e,
25
- validate: () => null,
26
- validationMode: "onSubmit",
27
- validationDebounceTime: 0,
28
- shouldValidateOnChange: () => !1,
29
- state: l,
30
- markedDirtyRef: {
31
- current: !1
32
- },
33
- registerFieldControl: e,
34
- validation: {
35
- getValidationProps: (t = a) => t,
36
- getInputValidationProps: (t = a) => t,
37
- inputRef: {
38
- current: null
39
- },
40
- commit: async () => {
1
+ import { useIsoLayoutEffect as r } from "./index286.js";
2
+ import { useRefWithInit as n } from "./index283.js";
3
+ function s(e) {
4
+ const t = n(f, e).current;
5
+ return t.next = e, r(t.effect), t;
6
+ }
7
+ function f(e) {
8
+ const t = {
9
+ current: e,
10
+ next: e,
11
+ effect: () => {
12
+ t.current = t.next;
41
13
  }
42
- }
43
- });
44
- process.env.NODE_ENV !== "production" && (r.displayName = "FieldRootContext");
45
- function m(t = !0) {
46
- const o = n.useContext(r);
47
- if (o.setValidityData === e && !t)
48
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : d(28));
49
- return o;
14
+ };
15
+ return t;
50
16
  }
51
17
  export {
52
- r as FieldRootContext,
53
- m as useFieldRootContext
18
+ s as useValueAsRef
54
19
  };
55
20
  //# sourceMappingURL=index288.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index288.js","sources":["../../../node_modules/@base-ui/react/esm/internals/field-root-context/FieldRootContext.js"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { NOOP } from \"../noop.js\";\nimport { DEFAULT_FIELD_ROOT_STATE, DEFAULT_FIELD_STATE_ATTRIBUTES, DEFAULT_VALIDITY_STATE } from \"../field-constants/constants.js\";\nexport const FieldRootContext = /*#__PURE__*/React.createContext({\n invalid: undefined,\n name: undefined,\n validityData: {\n state: DEFAULT_VALIDITY_STATE,\n errors: [],\n error: '',\n value: '',\n initialValue: null\n },\n setValidityData: NOOP,\n disabled: undefined,\n touched: DEFAULT_FIELD_STATE_ATTRIBUTES.touched,\n setTouched: NOOP,\n dirty: DEFAULT_FIELD_STATE_ATTRIBUTES.dirty,\n setDirty: NOOP,\n filled: DEFAULT_FIELD_STATE_ATTRIBUTES.filled,\n setFilled: NOOP,\n focused: DEFAULT_FIELD_STATE_ATTRIBUTES.focused,\n setFocused: NOOP,\n validate: () => null,\n validationMode: 'onSubmit',\n validationDebounceTime: 0,\n shouldValidateOnChange: () => false,\n state: DEFAULT_FIELD_ROOT_STATE,\n markedDirtyRef: {\n current: false\n },\n registerFieldControl: NOOP,\n validation: {\n getValidationProps: (props = EMPTY_OBJECT) => props,\n getInputValidationProps: (props = EMPTY_OBJECT) => props,\n inputRef: {\n current: null\n },\n commit: async () => {}\n }\n});\nif (process.env.NODE_ENV !== \"production\") FieldRootContext.displayName = \"FieldRootContext\";\nexport function useFieldRootContext(optional = true) {\n const context = React.useContext(FieldRootContext);\n if (context.setValidityData === NOOP && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>.' : _formatErrorMessage(28));\n }\n return context;\n}"],"names":["FieldRootContext","React","DEFAULT_VALIDITY_STATE","NOOP","DEFAULT_FIELD_STATE_ATTRIBUTES","DEFAULT_FIELD_ROOT_STATE","props","EMPTY_OBJECT","useFieldRootContext","optional","context","_formatErrorMessage"],"mappings":";;;;AAOY,MAACA,IAAgC,gBAAAC,EAAM,cAAc;AAAA,EAC/D,SAAS;AAAA,EACT,MAAM;AAAA,EACN,cAAc;AAAA,IACZ,OAAOC;AAAA,IACP,QAAQ,CAAA;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,cAAc;AAAA,EAClB;AAAA,EACE,iBAAiBC;AAAA,EACjB,UAAU;AAAA,EACV,SAASC,EAA+B;AAAA,EACxC,YAAYD;AAAA,EACZ,OAAOC,EAA+B;AAAA,EACtC,UAAUD;AAAA,EACV,QAAQC,EAA+B;AAAA,EACvC,WAAWD;AAAA,EACX,SAASC,EAA+B;AAAA,EACxC,YAAYD;AAAA,EACZ,UAAU,MAAM;AAAA,EAChB,gBAAgB;AAAA,EAChB,wBAAwB;AAAA,EACxB,wBAAwB,MAAM;AAAA,EAC9B,OAAOE;AAAA,EACP,gBAAgB;AAAA,IACd,SAAS;AAAA,EACb;AAAA,EACE,sBAAsBF;AAAA,EACtB,YAAY;AAAA,IACV,oBAAoB,CAACG,IAAQC,MAAiBD;AAAA,IAC9C,yBAAyB,CAACA,IAAQC,MAAiBD;AAAA,IACnD,UAAU;AAAA,MACR,SAAS;AAAA,IACf;AAAA,IACI,QAAQ,YAAY;AAAA,IAAC;AAAA,EACzB;AACA,CAAC;AACG,QAAQ,IAAI,aAAa,iBAAcN,EAAiB,cAAc;AACnE,SAASQ,EAAoBC,IAAW,IAAM;AACnD,QAAMC,IAAUT,EAAM,WAAWD,CAAgB;AACjD,MAAIU,EAAQ,oBAAoBP,KAAQ,CAACM;AACvC,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,0FAA0FE,EAAoB,EAAE,CAAC;AAE3K,SAAOD;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index288.js","sources":["../../../node_modules/@base-ui/utils/esm/useValueAsRef.js"],"sourcesContent":["'use client';\n\nimport { useIsoLayoutEffect } from \"./useIsoLayoutEffect.js\";\nimport { useRefWithInit } from \"./useRefWithInit.js\";\n\n/**\n * Untracks the provided value by turning it into a ref to remove its reactivity.\n *\n * Used to access the passed value inside `React.useEffect` without causing the effect to re-run when the value changes.\n */\nexport function useValueAsRef(value) {\n const latest = useRefWithInit(createLatestRef, value).current;\n latest.next = value;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useIsoLayoutEffect(latest.effect);\n return latest;\n}\nfunction createLatestRef(value) {\n const latest = {\n current: value,\n next: value,\n effect: () => {\n latest.current = latest.next;\n }\n };\n return latest;\n}"],"names":["useValueAsRef","value","latest","useRefWithInit","createLatestRef","useIsoLayoutEffect"],"mappings":";;AAUO,SAASA,EAAcC,GAAO;AACnC,QAAMC,IAASC,EAAeC,GAAiBH,CAAK,EAAE;AACtD,SAAAC,EAAO,OAAOD,GAGdI,EAAmBH,EAAO,MAAM,GACzBA;AACT;AACA,SAASE,EAAgBH,GAAO;AAC9B,QAAMC,IAAS;AAAA,IACb,SAASD;AAAA,IACT,MAAMA;AAAA,IACN,QAAQ,MAAM;AACZ,MAAAC,EAAO,UAAUA,EAAO;AAAA,IAC1B;AAAA,EACJ;AACE,SAAOA;AACT;","x_google_ignoreList":[0]}
package/dist/index289.js CHANGED
@@ -1,29 +1,9 @@
1
- import * as f from "react";
2
- import { useIsoLayoutEffect as l } from "./index283.js";
3
- import { useFieldRootContext as d } from "./index288.js";
4
- function p(o, c) {
5
- const {
6
- enabled: n = !0,
7
- getValue: u,
8
- id: i,
9
- value: s
10
- } = c, {
11
- registerFieldControl: e
12
- } = d(), t = f.useRef(null);
13
- t.current || (t.current = /* @__PURE__ */ Symbol()), l(() => {
14
- const r = t.current;
15
- if (!(!r || !n))
16
- return e(r, {
17
- controlRef: o,
18
- getValue: u,
19
- id: i,
20
- value: s
21
- }), () => {
22
- e(r, void 0);
23
- };
24
- }, [o, n, u, i, e, s]);
1
+ function e() {
25
2
  }
3
+ const t = Object.freeze([]), c = Object.freeze({});
26
4
  export {
27
- p as useRegisterFieldControl
5
+ t as EMPTY_ARRAY,
6
+ c as EMPTY_OBJECT,
7
+ e as NOOP
28
8
  };
29
9
  //# sourceMappingURL=index289.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index289.js","sources":["../../../node_modules/@base-ui/react/esm/internals/field-register-control/useRegisterFieldControl.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFieldRootContext } from \"../field-root-context/FieldRootContext.js\";\nexport function useRegisterFieldControl(controlRef, params) {\n const {\n enabled = true,\n getValue,\n id,\n value\n } = params;\n const {\n registerFieldControl\n } = useFieldRootContext();\n const sourceRef = React.useRef(null);\n if (!sourceRef.current) {\n sourceRef.current = Symbol();\n }\n useIsoLayoutEffect(() => {\n const source = sourceRef.current;\n if (!source || !enabled) {\n return undefined;\n }\n registerFieldControl(source, {\n controlRef,\n getValue,\n id,\n value\n });\n return () => {\n registerFieldControl(source, undefined);\n };\n }, [controlRef, enabled, getValue, id, registerFieldControl, value]);\n}"],"names":["useRegisterFieldControl","controlRef","params","enabled","getValue","id","value","registerFieldControl","useFieldRootContext","sourceRef","React","useIsoLayoutEffect","source"],"mappings":";;;AAKO,SAASA,EAAwBC,GAAYC,GAAQ;AAC1D,QAAM;AAAA,IACJ,SAAAC,IAAU;AAAA,IACV,UAAAC;AAAA,IACA,IAAAC;AAAA,IACA,OAAAC;AAAA,EACJ,IAAMJ,GACE;AAAA,IACJ,sBAAAK;AAAA,EACJ,IAAMC,EAAmB,GACjBC,IAAYC,EAAM,OAAO,IAAI;AACnC,EAAKD,EAAU,YACbA,EAAU,UAAU,uBAAM,IAE5BE,EAAmB,MAAM;AACvB,UAAMC,IAASH,EAAU;AACzB,QAAI,GAACG,KAAU,CAACT;AAGhB,aAAAI,EAAqBK,GAAQ;AAAA,QAC3B,YAAAX;AAAA,QACA,UAAAG;AAAA,QACA,IAAAC;AAAA,QACA,OAAAC;AAAA,MACN,CAAK,GACM,MAAM;AACX,QAAAC,EAAqBK,GAAQ,MAAS;AAAA,MACxC;AAAA,EACF,GAAG,CAACX,GAAYE,GAASC,GAAUC,GAAIE,GAAsBD,CAAK,CAAC;AACrE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index289.js","sources":["../../../node_modules/@base-ui/utils/esm/empty.js"],"sourcesContent":["export function NOOP() {}\nexport const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze({});"],"names":["NOOP","EMPTY_ARRAY","EMPTY_OBJECT"],"mappings":"AAAO,SAASA,IAAO;AAAC;AACZ,MAACC,IAAc,OAAO,OAAO,CAAA,CAAE,GAC9BC,IAAe,OAAO,OAAO,CAAA,CAAE;","x_google_ignoreList":[0]}
package/dist/index290.js CHANGED
@@ -1,45 +1,25 @@
1
- import * as i from "react";
2
- import { useIsoLayoutEffect as b } from "./index283.js";
3
- import { useStableCallback as R } from "./index284.js";
4
- import { useRefWithInit as E } from "./index280.js";
5
- import { isElement as x } from "./index331.js";
6
- import { useBaseUiId as C } from "./index178.js";
7
- import { useLabelableContext as g } from "./index308.js";
8
- import { NOOP as p } from "./index286.js";
9
- function F(I = {}) {
10
- const {
11
- id: e,
12
- implicit: l = !1,
13
- controlRef: s
14
- } = I, {
15
- controlId: c,
16
- registerControlId: t
17
- } = g(), o = C(e), d = l ? c : void 0, u = E(() => /* @__PURE__ */ Symbol("labelable-control")), f = i.useRef(!1), a = i.useRef(e != null), n = R(() => {
18
- !f.current || t === p || (f.current = !1, t(u.current, void 0));
19
- });
20
- return b(() => {
21
- if (t === p)
22
- return;
23
- let r;
24
- if (l) {
25
- const m = s?.current;
26
- x(m) && m.closest("label") != null ? r = e ?? null : r = d ?? o;
27
- } else if (e != null)
28
- a.current = !0, r = e;
29
- else if (a.current)
30
- r = o;
31
- else {
32
- n();
33
- return;
34
- }
35
- if (r === void 0) {
36
- n();
37
- return;
38
- }
39
- f.current = !0, t(u.current, r);
40
- }, [e, s, d, t, l, o, u, n]), i.useEffect(() => n, [n]), c ?? o;
1
+ import o from "./index191.js";
2
+ import * as e from "react";
3
+ const n = /* @__PURE__ */ e.createContext(null);
4
+ process.env.NODE_ENV !== "production" && (n.displayName = "SelectRootContext");
5
+ const c = /* @__PURE__ */ e.createContext(null);
6
+ process.env.NODE_ENV !== "production" && (c.displayName = "SelectFloatingContext");
7
+ function s() {
8
+ const t = e.useContext(n);
9
+ if (t === null)
10
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>." : o(60));
11
+ return t;
12
+ }
13
+ function i() {
14
+ const t = e.useContext(c);
15
+ if (t === null)
16
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>." : o(61));
17
+ return t;
41
18
  }
42
19
  export {
43
- F as useLabelableId
20
+ c as SelectFloatingContext,
21
+ n as SelectRootContext,
22
+ i as useSelectFloatingContext,
23
+ s as useSelectRootContext
44
24
  };
45
25
  //# sourceMappingURL=index290.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index290.js","sources":["../../../node_modules/@base-ui/react/esm/internals/labelable-provider/useLabelableId.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { isElement } from '@floating-ui/utils/dom';\nimport { NOOP } from \"../noop.js\";\nimport { useBaseUiId } from \"../useBaseUiId.js\";\nimport { useLabelableContext } from \"./LabelableContext.js\";\nexport function useLabelableId(params = {}) {\n const {\n id,\n implicit = false,\n controlRef\n } = params;\n const {\n controlId,\n registerControlId\n } = useLabelableContext();\n const defaultId = useBaseUiId(id);\n const controlIdForEffect = implicit ? controlId : undefined;\n const controlSourceRef = useRefWithInit(() => Symbol('labelable-control'));\n const hasRegisteredRef = React.useRef(false);\n const hadExplicitIdRef = React.useRef(id != null);\n const unregisterControlId = useStableCallback(() => {\n if (!hasRegisteredRef.current || registerControlId === NOOP) {\n return;\n }\n hasRegisteredRef.current = false;\n registerControlId(controlSourceRef.current, undefined);\n });\n useIsoLayoutEffect(() => {\n if (registerControlId === NOOP) {\n return undefined;\n }\n let nextId;\n if (implicit) {\n const elem = controlRef?.current;\n if (isElement(elem) && elem.closest('label') != null) {\n nextId = id ?? null;\n } else {\n nextId = controlIdForEffect ?? defaultId;\n }\n } else if (id != null) {\n hadExplicitIdRef.current = true;\n nextId = id;\n } else if (hadExplicitIdRef.current) {\n nextId = defaultId;\n } else {\n unregisterControlId();\n return undefined;\n }\n if (nextId === undefined) {\n unregisterControlId();\n return undefined;\n }\n hasRegisteredRef.current = true;\n registerControlId(controlSourceRef.current, nextId);\n return undefined;\n }, [id, controlRef, controlIdForEffect, registerControlId, implicit, defaultId, controlSourceRef, unregisterControlId]);\n React.useEffect(() => {\n return unregisterControlId;\n }, [unregisterControlId]);\n return controlId ?? defaultId;\n}"],"names":["useLabelableId","params","id","implicit","controlRef","controlId","registerControlId","useLabelableContext","defaultId","useBaseUiId","controlIdForEffect","controlSourceRef","useRefWithInit","hasRegisteredRef","React","hadExplicitIdRef","unregisterControlId","useStableCallback","NOOP","useIsoLayoutEffect","nextId","elem","isElement"],"mappings":";;;;;;;;AAUO,SAASA,EAAeC,IAAS,IAAI;AAC1C,QAAM;AAAA,IACJ,IAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,YAAAC;AAAA,EACJ,IAAMH,GACE;AAAA,IACJ,WAAAI;AAAA,IACA,mBAAAC;AAAA,EACJ,IAAMC,EAAmB,GACjBC,IAAYC,EAAYP,CAAE,GAC1BQ,IAAqBP,IAAWE,IAAY,QAC5CM,IAAmBC,EAAe,MAAM,uBAAO,mBAAmB,CAAC,GACnEC,IAAmBC,EAAM,OAAO,EAAK,GACrCC,IAAmBD,EAAM,OAAOZ,KAAM,IAAI,GAC1Cc,IAAsBC,EAAkB,MAAM;AAClD,IAAI,CAACJ,EAAiB,WAAWP,MAAsBY,MAGvDL,EAAiB,UAAU,IAC3BP,EAAkBK,EAAiB,SAAS,MAAS;AAAA,EACvD,CAAC;AACD,SAAAQ,EAAmB,MAAM;AACvB,QAAIb,MAAsBY;AACxB;AAEF,QAAIE;AACJ,QAAIjB,GAAU;AACZ,YAAMkB,IAAOjB,GAAY;AACzB,MAAIkB,EAAUD,CAAI,KAAKA,EAAK,QAAQ,OAAO,KAAK,OAC9CD,IAASlB,KAAM,OAEfkB,IAASV,KAAsBF;AAAA,IAEnC,WAAWN,KAAM;AACf,MAAAa,EAAiB,UAAU,IAC3BK,IAASlB;AAAA,aACAa,EAAiB;AAC1B,MAAAK,IAASZ;AAAA,SACJ;AACL,MAAAQ,EAAmB;AACnB;AAAA,IACF;AACA,QAAII,MAAW,QAAW;AACxB,MAAAJ,EAAmB;AACnB;AAAA,IACF;AACA,IAAAH,EAAiB,UAAU,IAC3BP,EAAkBK,EAAiB,SAASS,CAAM;AAAA,EAEpD,GAAG,CAAClB,GAAIE,GAAYM,GAAoBJ,GAAmBH,GAAUK,GAAWG,GAAkBK,CAAmB,CAAC,GACtHF,EAAM,UAAU,MACPE,GACN,CAACA,CAAmB,CAAC,GACjBX,KAAaG;AACtB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index290.js","sources":["../../../node_modules/@base-ui/react/esm/select/root/SelectRootContext.js"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectRootContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") SelectRootContext.displayName = \"SelectRootContext\";\nexport const SelectFloatingContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") SelectFloatingContext.displayName = \"SelectFloatingContext\";\nexport function useSelectRootContext() {\n const context = React.useContext(SelectRootContext);\n if (context === null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>.' : _formatErrorMessage(60));\n }\n return context;\n}\nexport function useSelectFloatingContext() {\n const context = React.useContext(SelectFloatingContext);\n if (context === null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>.' : _formatErrorMessage(61));\n }\n return context;\n}"],"names":["SelectRootContext","React","SelectFloatingContext","useSelectRootContext","context","_formatErrorMessage","useSelectFloatingContext"],"mappings":";;AAIY,MAACA,IAAiC,gBAAAC,EAAM,cAAc,IAAI;AAClE,QAAQ,IAAI,aAAa,iBAAcD,EAAkB,cAAc;AAC/D,MAACE,IAAqC,gBAAAD,EAAM,cAAc,IAAI;AACtE,QAAQ,IAAI,aAAa,iBAAcC,EAAsB,cAAc;AACxE,SAASC,IAAuB;AACrC,QAAMC,IAAUH,EAAM,WAAWD,CAAiB;AAClD,MAAII,MAAY;AACd,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,6FAA6FC,EAAoB,EAAE,CAAC;AAE9K,SAAOD;AACT;AACO,SAASE,IAA2B;AACzC,QAAMF,IAAUH,EAAM,WAAWC,CAAqB;AACtD,MAAIE,MAAY;AACd,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,iGAAiGC,EAAoB,EAAE,CAAC;AAElL,SAAOD;AACT;","x_google_ignoreList":[0]}
package/dist/index291.js CHANGED
@@ -1,43 +1,55 @@
1
- import * as a from "react";
2
- import { useIsoLayoutEffect as c } from "./index283.js";
3
- import { AnimationFrame as u } from "./index324.js";
4
- function g(t, s = !1, f = !1) {
5
- const [n, r] = a.useState(t && s ? "idle" : void 0), [i, d] = a.useState(t);
6
- return t && !i && (d(!0), r("starting")), !t && i && n !== "ending" && !f && r("ending"), !t && !i && n === "ending" && r(void 0), c(() => {
7
- if (!t && i && n !== "ending" && f) {
8
- const e = u.request(() => {
9
- r("ending");
10
- });
11
- return () => {
12
- u.cancel(e);
13
- };
1
+ import d from "./index191.js";
2
+ import * as n from "react";
3
+ import { NOOP as e, EMPTY_OBJECT as a } from "./index289.js";
4
+ import { DEFAULT_FIELD_ROOT_STATE as l, DEFAULT_FIELD_STATE_ATTRIBUTES as i, DEFAULT_VALIDITY_STATE as s } from "./index312.js";
5
+ const r = /* @__PURE__ */ n.createContext({
6
+ invalid: void 0,
7
+ name: void 0,
8
+ validityData: {
9
+ state: s,
10
+ errors: [],
11
+ error: "",
12
+ value: "",
13
+ initialValue: null
14
+ },
15
+ setValidityData: e,
16
+ disabled: void 0,
17
+ touched: i.touched,
18
+ setTouched: e,
19
+ dirty: i.dirty,
20
+ setDirty: e,
21
+ filled: i.filled,
22
+ setFilled: e,
23
+ focused: i.focused,
24
+ setFocused: e,
25
+ validate: () => null,
26
+ validationMode: "onSubmit",
27
+ validationDebounceTime: 0,
28
+ shouldValidateOnChange: () => !1,
29
+ state: l,
30
+ markedDirtyRef: {
31
+ current: !1
32
+ },
33
+ registerFieldControl: e,
34
+ validation: {
35
+ getValidationProps: (t = a) => t,
36
+ getInputValidationProps: (t = a) => t,
37
+ inputRef: {
38
+ current: null
39
+ },
40
+ commit: async () => {
14
41
  }
15
- }, [t, i, n, f]), c(() => {
16
- if (!t || s)
17
- return;
18
- const e = u.request(() => {
19
- r(void 0);
20
- });
21
- return () => {
22
- u.cancel(e);
23
- };
24
- }, [s, t]), c(() => {
25
- if (!t || !s)
26
- return;
27
- t && i && n !== "idle" && r("starting");
28
- const e = u.request(() => {
29
- r("idle");
30
- });
31
- return () => {
32
- u.cancel(e);
33
- };
34
- }, [s, t, i, n]), {
35
- mounted: i,
36
- setMounted: d,
37
- transitionStatus: n
38
- };
42
+ }
43
+ });
44
+ process.env.NODE_ENV !== "production" && (r.displayName = "FieldRootContext");
45
+ function m(t = !0) {
46
+ const o = n.useContext(r);
47
+ if (o.setValidityData === e && !t)
48
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : d(28));
49
+ return o;
39
50
  }
40
51
  export {
41
- g as useTransitionStatus
52
+ r as FieldRootContext,
53
+ m as useFieldRootContext
42
54
  };
43
55
  //# sourceMappingURL=index291.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index291.js","sources":["../../../node_modules/@base-ui/react/esm/internals/useTransitionStatus.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, transitionStatus]);\n return {\n mounted,\n setMounted,\n transitionStatus\n };\n}"],"names":["useTransitionStatus","open","enableIdleState","deferEndingState","transitionStatus","setTransitionStatus","React","mounted","setMounted","useIsoLayoutEffect","frame","AnimationFrame"],"mappings":";;;AAUO,SAASA,EAAoBC,GAAMC,IAAkB,IAAOC,IAAmB,IAAO;AAC3F,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAM,SAASL,KAAQC,IAAkB,SAAS,MAAS,GACrG,CAACK,GAASC,CAAU,IAAIF,EAAM,SAASL,CAAI;AACjD,SAAIA,KAAQ,CAACM,MACXC,EAAW,EAAI,GACfH,EAAoB,UAAU,IAE5B,CAACJ,KAAQM,KAAWH,MAAqB,YAAY,CAACD,KACxDE,EAAoB,QAAQ,GAE1B,CAACJ,KAAQ,CAACM,KAAWH,MAAqB,YAC5CC,EAAoB,MAAS,GAE/BI,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQM,KAAWH,MAAqB,YAAYD,GAAkB;AACzE,YAAMO,IAAQC,EAAe,QAAQ,MAAM;AACzC,QAAAN,EAAoB,QAAQ;AAAA,MAC9B,CAAC;AACD,aAAO,MAAM;AACX,QAAAM,EAAe,OAAOD,CAAK;AAAA,MAC7B;AAAA,IACF;AAAA,EAEF,GAAG,CAACT,GAAMM,GAASH,GAAkBD,CAAgB,CAAC,GACtDM,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQC;AACX;AAEF,UAAMQ,IAAQC,EAAe,QAAQ,MAAM;AAGzC,MAAAN,EAAoB,MAAS;AAAA,IAC/B,CAAC;AACD,WAAO,MAAM;AACX,MAAAM,EAAe,OAAOD,CAAK;AAAA,IAC7B;AAAA,EACF,GAAG,CAACR,GAAiBD,CAAI,CAAC,GAC1BQ,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQ,CAACC;AACZ;AAEF,IAAID,KAAQM,KAAWH,MAAqB,UAC1CC,EAAoB,UAAU;AAEhC,UAAMK,IAAQC,EAAe,QAAQ,MAAM;AACzC,MAAAN,EAAoB,MAAM;AAAA,IAC5B,CAAC;AACD,WAAO,MAAM;AACX,MAAAM,EAAe,OAAOD,CAAK;AAAA,IAC7B;AAAA,EACF,GAAG,CAACR,GAAiBD,GAAMM,GAASH,CAAgB,CAAC,GAC9C;AAAA,IACL,SAAAG;AAAA,IACA,YAAAC;AAAA,IACA,kBAAAJ;AAAA,EACJ;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index291.js","sources":["../../../node_modules/@base-ui/react/esm/internals/field-root-context/FieldRootContext.js"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { NOOP } from \"../noop.js\";\nimport { DEFAULT_FIELD_ROOT_STATE, DEFAULT_FIELD_STATE_ATTRIBUTES, DEFAULT_VALIDITY_STATE } from \"../field-constants/constants.js\";\nexport const FieldRootContext = /*#__PURE__*/React.createContext({\n invalid: undefined,\n name: undefined,\n validityData: {\n state: DEFAULT_VALIDITY_STATE,\n errors: [],\n error: '',\n value: '',\n initialValue: null\n },\n setValidityData: NOOP,\n disabled: undefined,\n touched: DEFAULT_FIELD_STATE_ATTRIBUTES.touched,\n setTouched: NOOP,\n dirty: DEFAULT_FIELD_STATE_ATTRIBUTES.dirty,\n setDirty: NOOP,\n filled: DEFAULT_FIELD_STATE_ATTRIBUTES.filled,\n setFilled: NOOP,\n focused: DEFAULT_FIELD_STATE_ATTRIBUTES.focused,\n setFocused: NOOP,\n validate: () => null,\n validationMode: 'onSubmit',\n validationDebounceTime: 0,\n shouldValidateOnChange: () => false,\n state: DEFAULT_FIELD_ROOT_STATE,\n markedDirtyRef: {\n current: false\n },\n registerFieldControl: NOOP,\n validation: {\n getValidationProps: (props = EMPTY_OBJECT) => props,\n getInputValidationProps: (props = EMPTY_OBJECT) => props,\n inputRef: {\n current: null\n },\n commit: async () => {}\n }\n});\nif (process.env.NODE_ENV !== \"production\") FieldRootContext.displayName = \"FieldRootContext\";\nexport function useFieldRootContext(optional = true) {\n const context = React.useContext(FieldRootContext);\n if (context.setValidityData === NOOP && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>.' : _formatErrorMessage(28));\n }\n return context;\n}"],"names":["FieldRootContext","React","DEFAULT_VALIDITY_STATE","NOOP","DEFAULT_FIELD_STATE_ATTRIBUTES","DEFAULT_FIELD_ROOT_STATE","props","EMPTY_OBJECT","useFieldRootContext","optional","context","_formatErrorMessage"],"mappings":";;;;AAOY,MAACA,IAAgC,gBAAAC,EAAM,cAAc;AAAA,EAC/D,SAAS;AAAA,EACT,MAAM;AAAA,EACN,cAAc;AAAA,IACZ,OAAOC;AAAA,IACP,QAAQ,CAAA;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,cAAc;AAAA,EAClB;AAAA,EACE,iBAAiBC;AAAA,EACjB,UAAU;AAAA,EACV,SAASC,EAA+B;AAAA,EACxC,YAAYD;AAAA,EACZ,OAAOC,EAA+B;AAAA,EACtC,UAAUD;AAAA,EACV,QAAQC,EAA+B;AAAA,EACvC,WAAWD;AAAA,EACX,SAASC,EAA+B;AAAA,EACxC,YAAYD;AAAA,EACZ,UAAU,MAAM;AAAA,EAChB,gBAAgB;AAAA,EAChB,wBAAwB;AAAA,EACxB,wBAAwB,MAAM;AAAA,EAC9B,OAAOE;AAAA,EACP,gBAAgB;AAAA,IACd,SAAS;AAAA,EACb;AAAA,EACE,sBAAsBF;AAAA,EACtB,YAAY;AAAA,IACV,oBAAoB,CAACG,IAAQC,MAAiBD;AAAA,IAC9C,yBAAyB,CAACA,IAAQC,MAAiBD;AAAA,IACnD,UAAU;AAAA,MACR,SAAS;AAAA,IACf;AAAA,IACI,QAAQ,YAAY;AAAA,IAAC;AAAA,EACzB;AACA,CAAC;AACG,QAAQ,IAAI,aAAa,iBAAcN,EAAiB,cAAc;AACnE,SAASQ,EAAoBC,IAAW,IAAM;AACnD,QAAMC,IAAUT,EAAM,WAAWD,CAAgB;AACjD,MAAIU,EAAQ,oBAAoBP,KAAQ,CAACM;AACvC,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,0FAA0FE,EAAoB,EAAE,CAAC;AAE3K,SAAOD;AACT;","x_google_ignoreList":[0]}
package/dist/index292.js CHANGED
@@ -1,48 +1,29 @@
1
- import { compareItemEquality as s } from "./index295.js";
2
- import { hasNullItemLabel as u, stringifyAsValue as a } from "./index294.js";
3
- import { createSelector as r } from "./index354.js";
4
- const d = {
5
- id: r((e) => e.id),
6
- labelId: r((e) => e.labelId),
7
- modal: r((e) => e.modal),
8
- multiple: r((e) => e.multiple),
9
- items: r((e) => e.items),
10
- itemToStringLabel: r((e) => e.itemToStringLabel),
11
- itemToStringValue: r((e) => e.itemToStringValue),
12
- isItemEqualToValue: r((e) => e.isItemEqualToValue),
13
- value: r((e) => e.value),
14
- hasSelectedValue: r((e) => {
15
- const {
16
- value: l,
17
- multiple: t,
18
- itemToStringValue: o
19
- } = e;
20
- return l == null ? !1 : t && Array.isArray(l) ? l.length > 0 : a(l, o) !== "";
21
- }),
22
- hasNullItemLabel: r((e, l) => l ? u(e.items) : !1),
23
- open: r((e) => e.open),
24
- mounted: r((e) => e.mounted),
25
- forceMount: r((e) => e.forceMount),
26
- transitionStatus: r((e) => e.transitionStatus),
27
- openMethod: r((e) => e.openMethod),
28
- activeIndex: r((e) => e.activeIndex),
29
- selectedIndex: r((e) => e.selectedIndex),
30
- isActive: r((e, l) => e.activeIndex === l),
31
- isSelected: r((e, l, t) => {
32
- const o = e.isItemEqualToValue, i = e.value;
33
- return e.multiple ? Array.isArray(i) && i.some((n) => s(t, n, o)) : e.selectedIndex === l && e.selectedIndex !== null ? !0 : s(t, i, o);
34
- }),
35
- isSelectedByFocus: r((e, l) => e.selectedIndex === l),
36
- popupProps: r((e) => e.popupProps),
37
- triggerProps: r((e) => e.triggerProps),
38
- triggerElement: r((e) => e.triggerElement),
39
- positionerElement: r((e) => e.positionerElement),
40
- listElement: r((e) => e.listElement),
41
- scrollUpArrowVisible: r((e) => e.scrollUpArrowVisible),
42
- scrollDownArrowVisible: r((e) => e.scrollDownArrowVisible),
43
- hasScrollArrows: r((e) => e.hasScrollArrows)
44
- };
1
+ import * as f from "react";
2
+ import { useIsoLayoutEffect as l } from "./index286.js";
3
+ import { useFieldRootContext as d } from "./index291.js";
4
+ function p(o, c) {
5
+ const {
6
+ enabled: n = !0,
7
+ getValue: u,
8
+ id: i,
9
+ value: s
10
+ } = c, {
11
+ registerFieldControl: e
12
+ } = d(), t = f.useRef(null);
13
+ t.current || (t.current = /* @__PURE__ */ Symbol()), l(() => {
14
+ const r = t.current;
15
+ if (!(!r || !n))
16
+ return e(r, {
17
+ controlRef: o,
18
+ getValue: u,
19
+ id: i,
20
+ value: s
21
+ }), () => {
22
+ e(r, void 0);
23
+ };
24
+ }, [o, n, u, i, e, s]);
25
+ }
45
26
  export {
46
- d as selectors
27
+ p as useRegisterFieldControl
47
28
  };
48
29
  //# sourceMappingURL=index292.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index292.js","sources":["../../../node_modules/@base-ui/react/esm/select/store.js"],"sourcesContent":["import { createSelector } from '@base-ui/utils/store';\nimport { compareItemEquality } from \"../internals/itemEquality.js\";\nimport { hasNullItemLabel, stringifyAsValue } from \"../internals/resolveValueLabel.js\";\nexport const selectors = {\n id: createSelector(state => state.id),\n labelId: createSelector(state => state.labelId),\n modal: createSelector(state => state.modal),\n multiple: createSelector(state => state.multiple),\n items: createSelector(state => state.items),\n itemToStringLabel: createSelector(state => state.itemToStringLabel),\n itemToStringValue: createSelector(state => state.itemToStringValue),\n isItemEqualToValue: createSelector(state => state.isItemEqualToValue),\n value: createSelector(state => state.value),\n hasSelectedValue: createSelector(state => {\n const {\n value,\n multiple,\n itemToStringValue\n } = state;\n if (value == null) {\n return false;\n }\n if (multiple && Array.isArray(value)) {\n return value.length > 0;\n }\n return stringifyAsValue(value, itemToStringValue) !== '';\n }),\n hasNullItemLabel: createSelector((state, enabled) => {\n return enabled ? hasNullItemLabel(state.items) : false;\n }),\n open: createSelector(state => state.open),\n mounted: createSelector(state => state.mounted),\n forceMount: createSelector(state => state.forceMount),\n transitionStatus: createSelector(state => state.transitionStatus),\n openMethod: createSelector(state => state.openMethod),\n activeIndex: createSelector(state => state.activeIndex),\n selectedIndex: createSelector(state => state.selectedIndex),\n isActive: createSelector((state, index) => state.activeIndex === index),\n isSelected: createSelector((state, index, itemValue) => {\n const comparer = state.isItemEqualToValue;\n const storeValue = state.value;\n if (state.multiple) {\n return Array.isArray(storeValue) && storeValue.some(selectedItem => compareItemEquality(itemValue, selectedItem, comparer));\n }\n\n // `selectedIndex` is only updated after the items mount for the first time,\n // the value check avoids a re-render for the initially selected item.\n if (state.selectedIndex === index && state.selectedIndex !== null) {\n return true;\n }\n return compareItemEquality(itemValue, storeValue, comparer);\n }),\n isSelectedByFocus: createSelector((state, index) => {\n return state.selectedIndex === index;\n }),\n popupProps: createSelector(state => state.popupProps),\n triggerProps: createSelector(state => state.triggerProps),\n triggerElement: createSelector(state => state.triggerElement),\n positionerElement: createSelector(state => state.positionerElement),\n listElement: createSelector(state => state.listElement),\n scrollUpArrowVisible: createSelector(state => state.scrollUpArrowVisible),\n scrollDownArrowVisible: createSelector(state => state.scrollDownArrowVisible),\n hasScrollArrows: createSelector(state => state.hasScrollArrows)\n};"],"names":["selectors","createSelector","state","value","multiple","itemToStringValue","stringifyAsValue","enabled","hasNullItemLabel","index","itemValue","comparer","storeValue","selectedItem","compareItemEquality"],"mappings":";;;AAGY,MAACA,IAAY;AAAA,EACvB,IAAIC,EAAe,CAAAC,MAASA,EAAM,EAAE;AAAA,EACpC,SAASD,EAAe,CAAAC,MAASA,EAAM,OAAO;AAAA,EAC9C,OAAOD,EAAe,CAAAC,MAASA,EAAM,KAAK;AAAA,EAC1C,UAAUD,EAAe,CAAAC,MAASA,EAAM,QAAQ;AAAA,EAChD,OAAOD,EAAe,CAAAC,MAASA,EAAM,KAAK;AAAA,EAC1C,mBAAmBD,EAAe,CAAAC,MAASA,EAAM,iBAAiB;AAAA,EAClE,mBAAmBD,EAAe,CAAAC,MAASA,EAAM,iBAAiB;AAAA,EAClE,oBAAoBD,EAAe,CAAAC,MAASA,EAAM,kBAAkB;AAAA,EACpE,OAAOD,EAAe,CAAAC,MAASA,EAAM,KAAK;AAAA,EAC1C,kBAAkBD,EAAe,CAAAC,MAAS;AACxC,UAAM;AAAA,MACJ,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,mBAAAC;AAAA,IACN,IAAQH;AACJ,WAAIC,KAAS,OACJ,KAELC,KAAY,MAAM,QAAQD,CAAK,IAC1BA,EAAM,SAAS,IAEjBG,EAAiBH,GAAOE,CAAiB,MAAM;AAAA,EACxD,CAAC;AAAA,EACD,kBAAkBJ,EAAe,CAACC,GAAOK,MAChCA,IAAUC,EAAiBN,EAAM,KAAK,IAAI,EAClD;AAAA,EACD,MAAMD,EAAe,CAAAC,MAASA,EAAM,IAAI;AAAA,EACxC,SAASD,EAAe,CAAAC,MAASA,EAAM,OAAO;AAAA,EAC9C,YAAYD,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,kBAAkBD,EAAe,CAAAC,MAASA,EAAM,gBAAgB;AAAA,EAChE,YAAYD,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,aAAaD,EAAe,CAAAC,MAASA,EAAM,WAAW;AAAA,EACtD,eAAeD,EAAe,CAAAC,MAASA,EAAM,aAAa;AAAA,EAC1D,UAAUD,EAAe,CAACC,GAAOO,MAAUP,EAAM,gBAAgBO,CAAK;AAAA,EACtE,YAAYR,EAAe,CAACC,GAAOO,GAAOC,MAAc;AACtD,UAAMC,IAAWT,EAAM,oBACjBU,IAAaV,EAAM;AACzB,WAAIA,EAAM,WACD,MAAM,QAAQU,CAAU,KAAKA,EAAW,KAAK,CAAAC,MAAgBC,EAAoBJ,GAAWG,GAAcF,CAAQ,CAAC,IAKxHT,EAAM,kBAAkBO,KAASP,EAAM,kBAAkB,OACpD,KAEFY,EAAoBJ,GAAWE,GAAYD,CAAQ;AAAA,EAC5D,CAAC;AAAA,EACD,mBAAmBV,EAAe,CAACC,GAAOO,MACjCP,EAAM,kBAAkBO,CAChC;AAAA,EACD,YAAYR,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,cAAcD,EAAe,CAAAC,MAASA,EAAM,YAAY;AAAA,EACxD,gBAAgBD,EAAe,CAAAC,MAASA,EAAM,cAAc;AAAA,EAC5D,mBAAmBD,EAAe,CAAAC,MAASA,EAAM,iBAAiB;AAAA,EAClE,aAAaD,EAAe,CAAAC,MAASA,EAAM,WAAW;AAAA,EACtD,sBAAsBD,EAAe,CAAAC,MAASA,EAAM,oBAAoB;AAAA,EACxE,wBAAwBD,EAAe,CAAAC,MAASA,EAAM,sBAAsB;AAAA,EAC5E,iBAAiBD,EAAe,CAAAC,MAASA,EAAM,eAAe;AAChE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index292.js","sources":["../../../node_modules/@base-ui/react/esm/internals/field-register-control/useRegisterFieldControl.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFieldRootContext } from \"../field-root-context/FieldRootContext.js\";\nexport function useRegisterFieldControl(controlRef, params) {\n const {\n enabled = true,\n getValue,\n id,\n value\n } = params;\n const {\n registerFieldControl\n } = useFieldRootContext();\n const sourceRef = React.useRef(null);\n if (!sourceRef.current) {\n sourceRef.current = Symbol();\n }\n useIsoLayoutEffect(() => {\n const source = sourceRef.current;\n if (!source || !enabled) {\n return undefined;\n }\n registerFieldControl(source, {\n controlRef,\n getValue,\n id,\n value\n });\n return () => {\n registerFieldControl(source, undefined);\n };\n }, [controlRef, enabled, getValue, id, registerFieldControl, value]);\n}"],"names":["useRegisterFieldControl","controlRef","params","enabled","getValue","id","value","registerFieldControl","useFieldRootContext","sourceRef","React","useIsoLayoutEffect","source"],"mappings":";;;AAKO,SAASA,EAAwBC,GAAYC,GAAQ;AAC1D,QAAM;AAAA,IACJ,SAAAC,IAAU;AAAA,IACV,UAAAC;AAAA,IACA,IAAAC;AAAA,IACA,OAAAC;AAAA,EACJ,IAAMJ,GACE;AAAA,IACJ,sBAAAK;AAAA,EACJ,IAAMC,EAAmB,GACjBC,IAAYC,EAAM,OAAO,IAAI;AACnC,EAAKD,EAAU,YACbA,EAAU,UAAU,uBAAM,IAE5BE,EAAmB,MAAM;AACvB,UAAMC,IAASH,EAAU;AACzB,QAAI,GAACG,KAAU,CAACT;AAGhB,aAAAI,EAAqBK,GAAQ;AAAA,QAC3B,YAAAX;AAAA,QACA,UAAAG;AAAA,QACA,IAAAC;AAAA,QACA,OAAAC;AAAA,MACN,CAAK,GACM,MAAM;AACX,QAAAC,EAAqBK,GAAQ,MAAS;AAAA,MACxC;AAAA,EACF,GAAG,CAACX,GAAYE,GAASC,GAAUC,GAAIE,GAAsBD,CAAK,CAAC;AACrE;","x_google_ignoreList":[0]}
package/dist/index293.js CHANGED
@@ -1,24 +1,45 @@
1
- import * as e from "react";
2
- import { NOOP as r } from "./index286.js";
3
- const t = /* @__PURE__ */ e.createContext({
4
- formRef: {
5
- current: {
6
- fields: /* @__PURE__ */ new Map()
1
+ import * as i from "react";
2
+ import { useIsoLayoutEffect as b } from "./index286.js";
3
+ import { useStableCallback as R } from "./index287.js";
4
+ import { useRefWithInit as E } from "./index283.js";
5
+ import { isElement as x } from "./index334.js";
6
+ import { useBaseUiId as C } from "./index178.js";
7
+ import { useLabelableContext as g } from "./index311.js";
8
+ import { NOOP as p } from "./index289.js";
9
+ function F(I = {}) {
10
+ const {
11
+ id: e,
12
+ implicit: l = !1,
13
+ controlRef: s
14
+ } = I, {
15
+ controlId: c,
16
+ registerControlId: t
17
+ } = g(), o = C(e), d = l ? c : void 0, u = E(() => /* @__PURE__ */ Symbol("labelable-control")), f = i.useRef(!1), a = i.useRef(e != null), n = R(() => {
18
+ !f.current || t === p || (f.current = !1, t(u.current, void 0));
19
+ });
20
+ return b(() => {
21
+ if (t === p)
22
+ return;
23
+ let r;
24
+ if (l) {
25
+ const m = s?.current;
26
+ x(m) && m.closest("label") != null ? r = e ?? null : r = d ?? o;
27
+ } else if (e != null)
28
+ a.current = !0, r = e;
29
+ else if (a.current)
30
+ r = o;
31
+ else {
32
+ n();
33
+ return;
7
34
  }
8
- },
9
- errors: {},
10
- clearErrors: r,
11
- validationMode: "onSubmit",
12
- submitAttemptedRef: {
13
- current: !1
14
- }
15
- });
16
- process.env.NODE_ENV !== "production" && (t.displayName = "FormContext");
17
- function n() {
18
- return e.useContext(t);
35
+ if (r === void 0) {
36
+ n();
37
+ return;
38
+ }
39
+ f.current = !0, t(u.current, r);
40
+ }, [e, s, d, t, l, o, u, n]), i.useEffect(() => n, [n]), c ?? o;
19
41
  }
20
42
  export {
21
- t as FormContext,
22
- n as useFormContext
43
+ F as useLabelableId
23
44
  };
24
45
  //# sourceMappingURL=index293.js.map