@rpcbase/ui 0.251.0 → 0.252.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 (243) hide show
  1. package/dist/index150.js +3 -3
  2. package/dist/index156.js +1 -1
  3. package/dist/index163.js +2 -2
  4. package/dist/index164.js +7 -7
  5. package/dist/index167.js +1 -1
  6. package/dist/index169.js +1 -1
  7. package/dist/index172.js +3 -3
  8. package/dist/index175.js +1 -1
  9. package/dist/index176.js +4 -4
  10. package/dist/index182.js +1 -1
  11. package/dist/index184.js +4 -4
  12. package/dist/index185.js +13 -13
  13. package/dist/index188.js +5 -5
  14. package/dist/index189.js +1 -1
  15. package/dist/index192.js +2 -2
  16. package/dist/index193.js +6 -6
  17. package/dist/index254.js +155 -20
  18. package/dist/index254.js.map +1 -1
  19. package/dist/index255.js +31 -65
  20. package/dist/index255.js.map +1 -1
  21. package/dist/index256.js +11 -6
  22. package/dist/index256.js.map +1 -1
  23. package/dist/index257.js +49 -5
  24. package/dist/index257.js.map +1 -1
  25. package/dist/index258.js +9 -11
  26. package/dist/index258.js.map +1 -1
  27. package/dist/index259.js +11 -3
  28. package/dist/index259.js.map +1 -1
  29. package/dist/index260.js +41 -48
  30. package/dist/index260.js.map +1 -1
  31. package/dist/index261.js +98 -4
  32. package/dist/index261.js.map +1 -1
  33. package/dist/index262.js +84 -27
  34. package/dist/index262.js.map +1 -1
  35. package/dist/index263.js +103 -14
  36. package/dist/index263.js.map +1 -1
  37. package/dist/index264.js +52 -5
  38. package/dist/index264.js.map +1 -1
  39. package/dist/index265.js +11 -21
  40. package/dist/index265.js.map +1 -1
  41. package/dist/index266.js +4 -53
  42. package/dist/index266.js.map +1 -1
  43. package/dist/index267.js +37 -20
  44. package/dist/index267.js.map +1 -1
  45. package/dist/index268.js +8 -41
  46. package/dist/index268.js.map +1 -1
  47. package/dist/index269.js +132 -36
  48. package/dist/index269.js.map +1 -1
  49. package/dist/index270.js +18 -46
  50. package/dist/index270.js.map +1 -1
  51. package/dist/index271.js +14 -19
  52. package/dist/index271.js.map +1 -1
  53. package/dist/index272.js +3 -70
  54. package/dist/index272.js.map +1 -1
  55. package/dist/index273.js +34 -15
  56. package/dist/index273.js.map +1 -1
  57. package/dist/index274.js +20 -3
  58. package/dist/index274.js.map +1 -1
  59. package/dist/index275.js +9 -11
  60. package/dist/index275.js.map +1 -1
  61. package/dist/index276.js +8 -13
  62. package/dist/index276.js.map +1 -1
  63. package/dist/index277.js +20 -19
  64. package/dist/index277.js.map +1 -1
  65. package/dist/index278.js +65 -35
  66. package/dist/index278.js.map +1 -1
  67. package/dist/index279.js +6 -239
  68. package/dist/index279.js.map +1 -1
  69. package/dist/index280.js +5 -252
  70. package/dist/index280.js.map +1 -1
  71. package/dist/index281.js +10 -67
  72. package/dist/index281.js.map +1 -1
  73. package/dist/index282.js +3 -99
  74. package/dist/index282.js.map +1 -1
  75. package/dist/index283.js +47 -80
  76. package/dist/index283.js.map +1 -1
  77. package/dist/index284.js +4 -4
  78. package/dist/index284.js.map +1 -1
  79. package/dist/index285.js +27 -27
  80. package/dist/index285.js.map +1 -1
  81. package/dist/index286.js +16 -16
  82. package/dist/index286.js.map +1 -1
  83. package/dist/index287.js +6 -35
  84. package/dist/index287.js.map +1 -1
  85. package/dist/index288.js +21 -17
  86. package/dist/index288.js.map +1 -1
  87. package/dist/index289.js +53 -3
  88. package/dist/index289.js.map +1 -1
  89. package/dist/index290.js +20 -26
  90. package/dist/index290.js.map +1 -1
  91. package/dist/index291.js +40 -27
  92. package/dist/index291.js.map +1 -1
  93. package/dist/index292.js +40 -4
  94. package/dist/index292.js.map +1 -1
  95. package/dist/index293.js +46 -79
  96. package/dist/index293.js.map +1 -1
  97. package/dist/index294.js +19 -271
  98. package/dist/index294.js.map +1 -1
  99. package/dist/index295.js +70 -11
  100. package/dist/index295.js.map +1 -1
  101. package/dist/index296.js +18 -11
  102. package/dist/index296.js.map +1 -1
  103. package/dist/index297.js +3 -25
  104. package/dist/index297.js.map +1 -1
  105. package/dist/index298.js +11 -16
  106. package/dist/index298.js.map +1 -1
  107. package/dist/index299.js +12 -124
  108. package/dist/index299.js.map +1 -1
  109. package/dist/index300.js +18 -5
  110. package/dist/index300.js.map +1 -1
  111. package/dist/index301.js +35 -64
  112. package/dist/index301.js.map +1 -1
  113. package/dist/index302.js +240 -14
  114. package/dist/index302.js.map +1 -1
  115. package/dist/index303.js +252 -7
  116. package/dist/index303.js.map +1 -1
  117. package/dist/index304.js +68 -5
  118. package/dist/index304.js.map +1 -1
  119. package/dist/index305.js +99 -3
  120. package/dist/index305.js.map +1 -1
  121. package/dist/index306.js +83 -10
  122. package/dist/index306.js.map +1 -1
  123. package/dist/index307.js +3 -7
  124. package/dist/index307.js.map +1 -1
  125. package/dist/index308.js +24 -128
  126. package/dist/index308.js.map +1 -1
  127. package/dist/index309.js +16 -399
  128. package/dist/index309.js.map +1 -1
  129. package/dist/index310.js +35 -5
  130. package/dist/index310.js.map +1 -1
  131. package/dist/index311.js +16 -51
  132. package/dist/index311.js.map +1 -1
  133. package/dist/index312.js +3 -11
  134. package/dist/index312.js.map +1 -1
  135. package/dist/index313.js +22 -23
  136. package/dist/index313.js.map +1 -1
  137. package/dist/index314.js +27 -10
  138. package/dist/index314.js.map +1 -1
  139. package/dist/index315.js +4 -33
  140. package/dist/index315.js.map +1 -1
  141. package/dist/index316.js +78 -11
  142. package/dist/index316.js.map +1 -1
  143. package/dist/index317.js +268 -45
  144. package/dist/index317.js.map +1 -1
  145. package/dist/index318.js +11 -9
  146. package/dist/index318.js.map +1 -1
  147. package/dist/index319.js +10 -11
  148. package/dist/index319.js.map +1 -1
  149. package/dist/index320.js +25 -43
  150. package/dist/index320.js.map +1 -1
  151. package/dist/index321.js +15 -96
  152. package/dist/index321.js.map +1 -1
  153. package/dist/index322.js +122 -83
  154. package/dist/index322.js.map +1 -1
  155. package/dist/index323.js +4 -104
  156. package/dist/index323.js.map +1 -1
  157. package/dist/index324.js +60 -47
  158. package/dist/index324.js.map +1 -1
  159. package/dist/index325.js +13 -11
  160. package/dist/index325.js.map +1 -1
  161. package/dist/index326.js +7 -4
  162. package/dist/index326.js.map +1 -1
  163. package/dist/index327.js +5 -37
  164. package/dist/index327.js.map +1 -1
  165. package/dist/index328.js +3 -8
  166. package/dist/index328.js.map +1 -1
  167. package/dist/index329.js +10 -154
  168. package/dist/index329.js.map +1 -1
  169. package/dist/index330.js +7 -135
  170. package/dist/index330.js.map +1 -1
  171. package/dist/index331.js +133 -17
  172. package/dist/index331.js.map +1 -1
  173. package/dist/index332.js +398 -14
  174. package/dist/index332.js.map +1 -1
  175. package/dist/index333.js +5 -4
  176. package/dist/index333.js.map +1 -1
  177. package/dist/index334.js +50 -34
  178. package/dist/index334.js.map +1 -1
  179. package/dist/index335.js +11 -20
  180. package/dist/index335.js.map +1 -1
  181. package/dist/index336.js +27 -9
  182. package/dist/index336.js.map +1 -1
  183. package/dist/index337.js +11 -8
  184. package/dist/index337.js.map +1 -1
  185. package/dist/index338.js +2 -2
  186. package/dist/index348.js +2 -2
  187. package/dist/index350.js +4 -4
  188. package/dist/index358.js +5 -5
  189. package/dist/index359.js +1 -1
  190. package/dist/index365.js +5 -4
  191. package/dist/index365.js.map +1 -1
  192. package/dist/index366.js +20 -5
  193. package/dist/index366.js.map +1 -1
  194. package/dist/index367.js +4 -3
  195. package/dist/index367.js.map +1 -1
  196. package/dist/index368.js +5 -11
  197. package/dist/index368.js.map +1 -1
  198. package/dist/index369.js +3 -21
  199. package/dist/index369.js.map +1 -1
  200. package/dist/index370.js +11 -44
  201. package/dist/index370.js.map +1 -1
  202. package/dist/index371.js +20 -17
  203. package/dist/index371.js.map +1 -1
  204. package/dist/index372.js +45 -5
  205. package/dist/index372.js.map +1 -1
  206. package/dist/index373.js +15 -198
  207. package/dist/index373.js.map +1 -1
  208. package/dist/index374.js +5 -74
  209. package/dist/index374.js.map +1 -1
  210. package/dist/index375.js +192 -115
  211. package/dist/index375.js.map +1 -1
  212. package/dist/index376.js +73 -4
  213. package/dist/index376.js.map +1 -1
  214. package/dist/index377.js +122 -19
  215. package/dist/index377.js.map +1 -1
  216. package/dist/index379.js +3 -3
  217. package/dist/index380.js +3 -3
  218. package/dist/index382.js +1 -1
  219. package/dist/index384.js +1 -1
  220. package/dist/index385.js +2 -2
  221. package/dist/index388.js +1 -1
  222. package/dist/index389.js +2 -2
  223. package/dist/index413.js +1 -1
  224. package/dist/index423.js +1 -1
  225. package/dist/index424.js +1 -1
  226. package/dist/index427.js +1 -1
  227. package/dist/index428.js +1 -1
  228. package/dist/index434.js +2 -2
  229. package/dist/index436.js +2 -2
  230. package/dist/index49.js +30 -30
  231. package/dist/index50.js +21 -21
  232. package/dist/index51.js +1 -1
  233. package/dist/index52.js +8 -8
  234. package/dist/index53.js +2 -2
  235. package/dist/index55.js +16 -16
  236. package/dist/index56.js +4 -4
  237. package/dist/index57.js +3 -3
  238. package/dist/index58.js +7 -7
  239. package/dist/index59.js +4 -4
  240. package/dist/index60.js +12 -12
  241. package/dist/index61.js +2 -2
  242. package/dist/index62.js +2 -2
  243. package/package.json +1 -1
package/dist/index289.js CHANGED
@@ -1,7 +1,57 @@
1
- function l(e, r) {
2
- return e ?? r;
1
+ import a from "./index190.js";
2
+ import * as n from "react";
3
+ import { NOOP as e, EMPTY_OBJECT as d } from "./index287.js";
4
+ import { DEFAULT_FIELD_ROOT_STATE as l, DEFAULT_FIELD_STATE_ATTRIBUTES as i, DEFAULT_VALIDITY_STATE as s } from "./index310.js";
5
+ const u = {
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: (o, t = d) => t,
36
+ inputRef: {
37
+ current: null
38
+ },
39
+ registerInput: e,
40
+ commit: async () => {
41
+ },
42
+ change: e
43
+ }
44
+ }, r = /* @__PURE__ */ n.createContext(u);
45
+ process.env.NODE_ENV !== "production" && (r.displayName = "FieldRootContext");
46
+ function f(o = !0) {
47
+ const t = n.useContext(r);
48
+ if (t.setValidityData === e && !o)
49
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : a(28));
50
+ return t;
3
51
  }
4
52
  export {
5
- l as resolveAriaLabelledBy
53
+ u as DEFAULT_FIELD_ROOT_CONTEXT,
54
+ r as FieldRootContext,
55
+ f as useFieldRootContext
6
56
  };
7
57
  //# sourceMappingURL=index289.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index289.js","sources":["../../../node_modules/@base-ui/react/utils/resolveAriaLabelledBy.mjs"],"sourcesContent":["'use client';\n\nexport function getDefaultLabelId(id) {\n return id == null ? undefined : `${id}-label`;\n}\nexport function resolveAriaLabelledBy(fieldLabelId, localLabelId) {\n return fieldLabelId ?? localLabelId;\n}"],"names":["resolveAriaLabelledBy","fieldLabelId","localLabelId"],"mappings":"AAKO,SAASA,EAAsBC,GAAcC,GAAc;AAChE,SAAOD,KAAgBC;AACzB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index289.js","sources":["../../../node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs"],"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.mjs\";\nimport { DEFAULT_FIELD_ROOT_STATE, DEFAULT_FIELD_STATE_ATTRIBUTES, DEFAULT_VALIDITY_STATE } from \"../field-constants/constants.mjs\";\nexport const DEFAULT_FIELD_ROOT_CONTEXT = {\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: (_disabled, props = EMPTY_OBJECT) => props,\n inputRef: {\n current: null\n },\n registerInput: NOOP,\n commit: async () => {},\n change: NOOP\n }\n};\nexport const FieldRootContext = /*#__PURE__*/React.createContext(DEFAULT_FIELD_ROOT_CONTEXT);\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":["DEFAULT_FIELD_ROOT_CONTEXT","DEFAULT_VALIDITY_STATE","NOOP","DEFAULT_FIELD_STATE_ATTRIBUTES","DEFAULT_FIELD_ROOT_STATE","_disabled","props","EMPTY_OBJECT","FieldRootContext","React","useFieldRootContext","optional","context","_formatErrorMessage"],"mappings":";;;;AAOY,MAACA,IAA6B;AAAA,EACxC,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,GAAWC,IAAQC,MAAiBD;AAAA,IACzD,UAAU;AAAA,MACR,SAAS;AAAA,IACf;AAAA,IACI,eAAeJ;AAAA,IACf,QAAQ,YAAY;AAAA,IAAC;AAAA,IACrB,QAAQA;AAAA,EACZ;AACA,GACaM,IAAgC,gBAAAC,EAAM,cAAcT,CAA0B;AACvF,QAAQ,IAAI,aAAa,iBAAcQ,EAAiB,cAAc;AACnE,SAASE,EAAoBC,IAAW,IAAM;AACnD,QAAMC,IAAUH,EAAM,WAAWD,CAAgB;AACjD,MAAII,EAAQ,oBAAoBV,KAAQ,CAACS;AACvC,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,0FAA0FE,EAAoB,EAAE,CAAC;AAE3K,SAAOD;AACT;","x_google_ignoreList":[0]}
package/dist/index290.js CHANGED
@@ -1,30 +1,24 @@
1
- import { isHTMLElement as i } from "./index308.js";
2
- import { FOCUSABLE_ATTRIBUTE as u, TYPEABLE_SELECTOR as n } from "./index390.js";
3
- function a(t, r) {
4
- if (r == null)
5
- return !1;
6
- if ("composedPath" in t)
7
- return t.composedPath().includes(r);
8
- const o = t;
9
- return o.target != null && r.contains(o.target);
10
- }
11
- function b(t) {
12
- return t.matches("html,body");
13
- }
14
- function e(t) {
15
- return i(t) && t.matches(n);
16
- }
17
- function f(t) {
18
- return t ? t.getAttribute("role") === "combobox" && e(t) : !1;
19
- }
20
- function T(t) {
21
- return t ? t.hasAttribute(u) ? t : t.querySelector(`[${u}]`) || t : null;
1
+ import * as f from "react";
2
+ import { useIsoLayoutEffect as l } from "./index284.js";
3
+ import { useFieldRootContext as m } from "./index289.js";
4
+ function R(o, n, s, u, i = !0, c) {
5
+ const {
6
+ registerFieldControl: t
7
+ } = m(), r = f.useRef(null);
8
+ r.current || (r.current = /* @__PURE__ */ Symbol()), l(() => {
9
+ const e = r.current;
10
+ return !e || !i ? void 0 : (t(e, {
11
+ controlRef: o,
12
+ getValue: u,
13
+ id: n,
14
+ name: c,
15
+ value: s
16
+ }), () => {
17
+ t(e, void 0);
18
+ });
19
+ }, [o, i, u, n, c, t, s]);
22
20
  }
23
21
  export {
24
- T as getFloatingFocusElement,
25
- a as isEventTargetWithin,
26
- b as isRootElement,
27
- f as isTypeableCombobox,
28
- e as isTypeableElement
22
+ R as useRegisterFieldControl
29
23
  };
30
24
  //# sourceMappingURL=index290.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index290.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/utils/element.mjs"],"sourcesContent":["import { isElement, isHTMLElement } from '@floating-ui/utils/dom';\nimport { platform } from '@base-ui/utils/platform';\nimport { FOCUSABLE_ATTRIBUTE, TYPEABLE_SELECTOR } from \"./constants.mjs\";\nimport { activeElement, contains, getTarget } from \"../../internals/shadowDom.mjs\";\nexport { activeElement, contains, getTarget };\nexport function isTargetInsideEnabledTrigger(target, triggerElements) {\n if (!isElement(target)) {\n return false;\n }\n const targetElement = target;\n if (triggerElements.hasElement(targetElement)) {\n return !targetElement.hasAttribute('data-trigger-disabled');\n }\n for (const [, trigger] of triggerElements.entries()) {\n if (contains(trigger, targetElement)) {\n return !trigger.hasAttribute('data-trigger-disabled');\n }\n }\n return false;\n}\nexport function isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const eventAgain = event;\n return eventAgain.target != null && node.contains(eventAgain.target);\n}\nexport function isRootElement(element) {\n return element.matches('html,body');\n}\nexport function isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nexport function isInteractiveElement(element) {\n return element?.closest(`button,a[href],[role=\"button\"],select,[tabindex]:not([tabindex=\"-1\"]),${TYPEABLE_SELECTOR}`) != null;\n}\nexport function isTypeableCombobox(element) {\n if (!element) {\n return false;\n }\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\nexport function matchesFocusVisible(element) {\n // We don't want to block focus from working with `visibleOnly`\n // (JSDOM doesn't match `:focus-visible` when the element has `:focus`)\n if (!element || platform.env.jsdom) {\n return true;\n }\n try {\n return element.matches(':focus-visible');\n } catch (_e) {\n return true;\n }\n}\nexport function getFloatingFocusElement(floatingElement) {\n if (!floatingElement) {\n return null;\n }\n // Try to find the element that has `{...getFloatingProps()}` spread on it.\n // This indicates the floating element is acting as a positioning wrapper, and\n // so focus should be managed on the child element with the event handlers and\n // aria props.\n return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(`[${FOCUSABLE_ATTRIBUTE}]`) || floatingElement;\n}"],"names":["isEventTargetWithin","event","node","eventAgain","isRootElement","element","isTypeableElement","isHTMLElement","TYPEABLE_SELECTOR","isTypeableCombobox","getFloatingFocusElement","floatingElement","FOCUSABLE_ATTRIBUTE"],"mappings":";;AAoBO,SAASA,EAAoBC,GAAOC,GAAM;AAC/C,MAAIA,KAAQ;AACV,WAAO;AAET,MAAI,kBAAkBD;AACpB,WAAOA,EAAM,eAAe,SAASC,CAAI;AAI3C,QAAMC,IAAaF;AACnB,SAAOE,EAAW,UAAU,QAAQD,EAAK,SAASC,EAAW,MAAM;AACrE;AACO,SAASC,EAAcC,GAAS;AACrC,SAAOA,EAAQ,QAAQ,WAAW;AACpC;AACO,SAASC,EAAkBD,GAAS;AACzC,SAAOE,EAAcF,CAAO,KAAKA,EAAQ,QAAQG,CAAiB;AACpE;AAIO,SAASC,EAAmBJ,GAAS;AAC1C,SAAKA,IAGEA,EAAQ,aAAa,MAAM,MAAM,cAAcC,EAAkBD,CAAO,IAFtE;AAGX;AAaO,SAASK,EAAwBC,GAAiB;AACvD,SAAKA,IAOEA,EAAgB,aAAaC,CAAmB,IAAID,IAAkBA,EAAgB,cAAc,IAAIC,CAAmB,GAAG,KAAKD,IANjI;AAOX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index290.js","sources":["../../../node_modules/@base-ui/react/internals/field-register-control/useRegisterFieldControl.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFieldRootContext } from \"../field-root-context/FieldRootContext.mjs\";\nexport function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name) {\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 const registration = {\n controlRef,\n getValue: getFormValueOverride,\n id,\n name,\n value\n };\n registerFieldControl(source, registration);\n return () => {\n registerFieldControl(source, undefined);\n };\n }, [controlRef, enabled, getFormValueOverride, id, name, registerFieldControl, value]);\n}"],"names":["useRegisterFieldControl","controlRef","id","value","getFormValueOverride","enabled","name","registerFieldControl","useFieldRootContext","sourceRef","React","useIsoLayoutEffect","source"],"mappings":";;;AAKO,SAASA,EAAwBC,GAAYC,GAAIC,GAAOC,GAAsBC,IAAU,IAAMC,GAAM;AACzG,QAAM;AAAA,IACJ,sBAAAC;AAAA,EACJ,IAAMC,EAAmB,GACjBC,IAAYC,EAAM,OAAO,IAAI;AACnC,EAAKD,EAAU,YACbA,EAAU,UAAU,uBAAM,IAE5BE,EAAmB,MAAM;AACvB,UAAMC,IAASH,EAAU;AACzB,WAAI,CAACG,KAAU,CAACP,IACd,UASFE,EAAqBK,GAPA;AAAA,MACnB,YAAAX;AAAA,MACA,UAAUG;AAAA,MACV,IAAAF;AAAA,MACA,MAAAI;AAAA,MACA,OAAAH;AAAA,IACN,CAC6C,GAClC,MAAM;AACX,MAAAI,EAAqBK,GAAQ,MAAS;AAAA,IACxC;AAAA,EACF,GAAG,CAACX,GAAYI,GAASD,GAAsBF,GAAII,GAAMC,GAAsBJ,CAAK,CAAC;AACvF;","x_google_ignoreList":[0]}
package/dist/index291.js CHANGED
@@ -1,32 +1,45 @@
1
- import { isShadowRoot as r } from "./index308.js";
2
- function a(t) {
3
- let e = t.activeElement;
4
- for (; e?.shadowRoot?.activeElement != null; )
5
- e = e.shadowRoot.activeElement;
6
- return e;
7
- }
8
- function u(t, e) {
9
- if (!t || !e)
10
- return !1;
11
- const n = e.getRootNode?.();
12
- if (t.contains(e))
13
- return !0;
14
- if (n && r(n)) {
15
- let o = e;
16
- for (; o; ) {
17
- if (t === o)
18
- return !0;
19
- o = o.parentNode || o.host;
1
+ import * as i from "react";
2
+ import { useIsoLayoutEffect as b } from "./index284.js";
3
+ import { useStableCallback as R } from "./index285.js";
4
+ import { useRefWithInit as E } from "./index279.js";
5
+ import { isElement as x } from "./index331.js";
6
+ import { useBaseUiId as C } from "./index178.js";
7
+ import { useLabelableContext as g } from "./index309.js";
8
+ import { NOOP as p } from "./index287.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;
20
34
  }
21
- }
22
- return !1;
23
- }
24
- function f(t) {
25
- return "composedPath" in t ? t.composedPath()[0] : t.target;
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;
26
41
  }
27
42
  export {
28
- a as activeElement,
29
- u as contains,
30
- f as getTarget
43
+ F as useLabelableId
31
44
  };
32
45
  //# sourceMappingURL=index291.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index291.js","sources":["../../../node_modules/@base-ui/react/internals/shadowDom.mjs"],"sourcesContent":["import { isShadowRoot } from '@floating-ui/utils/dom';\nexport function activeElement(doc) {\n let element = doc.activeElement;\n while (element?.shadowRoot?.activeElement != null) {\n element = element.shadowRoot.activeElement;\n }\n return element;\n}\nexport function contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode?.();\n\n // First, attempt with the faster native method.\n if (parent.contains(child)) {\n return true;\n }\n\n // Then fall back to traversing out of shadow roots when needed.\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nexport function getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS assumes `composedPath()` always exists, but older browsers without\n // shadow DOM support still fall back to `target`.\n return event.target;\n}"],"names":["activeElement","doc","element","contains","parent","child","rootNode","isShadowRoot","next","getTarget","event"],"mappings":";AACO,SAASA,EAAcC,GAAK;AACjC,MAAIC,IAAUD,EAAI;AAClB,SAAOC,GAAS,YAAY,iBAAiB;AAC3C,IAAAA,IAAUA,EAAQ,WAAW;AAE/B,SAAOA;AACT;AACO,SAASC,EAASC,GAAQC,GAAO;AACtC,MAAI,CAACD,KAAU,CAACC;AACd,WAAO;AAET,QAAMC,IAAWD,EAAM,cAAW;AAGlC,MAAID,EAAO,SAASC,CAAK;AACvB,WAAO;AAIT,MAAIC,KAAYC,EAAaD,CAAQ,GAAG;AACtC,QAAIE,IAAOH;AACX,WAAOG,KAAM;AACX,UAAIJ,MAAWI;AACb,eAAO;AAET,MAAAA,IAAOA,EAAK,cAAcA,EAAK;AAAA,IACjC;AAAA,EACF;AACA,SAAO;AACT;AACO,SAASC,EAAUC,GAAO;AAC/B,SAAI,kBAAkBA,IACbA,EAAM,aAAY,EAAG,CAAC,IAKxBA,EAAM;AACf;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index291.js","sources":["../../../node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs"],"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.mjs\";\nimport { useBaseUiId } from \"../useBaseUiId.mjs\";\nimport { useLabelableContext } from \"./LabelableContext.mjs\";\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]}
package/dist/index292.js CHANGED
@@ -1,7 +1,43 @@
1
- import * as e from "react";
2
- const t = /* @__PURE__ */ e.createContext(void 0);
3
- process.env.NODE_ENV !== "production" && (t.displayName = "SelectPortalContext");
1
+ import * as a from "react";
2
+ import { useIsoLayoutEffect as c } from "./index284.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
+ };
14
+ }
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
+ };
39
+ }
4
40
  export {
5
- t as SelectPortalContext
41
+ g as useTransitionStatus
6
42
  };
7
43
  //# sourceMappingURL=index292.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index292.js","sources":["../../../node_modules/@base-ui/react/select/portal/SelectPortalContext.mjs"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectPortalContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectPortalContext.displayName = \"SelectPortalContext\";\nexport function useSelectPortalContext() {\n const value = React.useContext(SelectPortalContext);\n if (value === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: <Select.Portal> is missing.' : _formatErrorMessage(58));\n }\n return value;\n}"],"names":["SelectPortalContext","React"],"mappings":";AAIY,MAACA,IAAmC,gBAAAC,EAAM,cAAc,MAAS;AACzE,QAAQ,IAAI,aAAa,iBAAcD,EAAoB,cAAc;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index292.js","sources":["../../../node_modules/@base-ui/react/internals/useTransitionStatus.mjs"],"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]}
package/dist/index293.js CHANGED
@@ -1,82 +1,49 @@
1
- import * as a from "react";
2
- import { useRefWithInit as T } from "./index256.js";
3
- import { useStableCallback as l } from "./index262.js";
4
- import { useIsoLayoutEffect as f } from "./index261.js";
5
- import { CompositeListContext as b } from "./index369.js";
6
- import { j as D } from "./index30.js";
7
- function k(h) {
8
- const {
9
- children: N,
10
- elementsRef: t,
11
- labelsRef: o,
12
- onMapChange: R
13
- } = h, E = l(R), O = a.useRef(0), d = T(P).current, i = T(L).current, [p, M] = a.useState(0), c = a.useRef(p), C = l((e, u) => {
14
- i.set(e, u ?? null), c.current += 1, M(c.current);
15
- }), I = l((e) => {
16
- i.delete(e), c.current += 1, M(c.current);
17
- }), r = a.useMemo(() => {
18
- const e = /* @__PURE__ */ new Map();
19
- return Array.from(i.keys()).filter((n) => n.isConnected).sort(S).forEach((n, m) => {
20
- const s = i.get(n) ?? {};
21
- e.set(n, {
22
- ...s,
23
- index: m
24
- });
25
- }), e;
26
- }, [i, p]);
27
- f(() => {
28
- if (typeof MutationObserver != "function" || r.size === 0)
29
- return;
30
- const e = new MutationObserver((u) => {
31
- const n = /* @__PURE__ */ new Set(), m = (s) => n.has(s) ? n.delete(s) : n.add(s);
32
- u.forEach((s) => {
33
- s.removedNodes.forEach(m), s.addedNodes.forEach(m);
34
- }), n.size === 0 && (c.current += 1, M(c.current));
35
- });
36
- return r.forEach((u, n) => {
37
- n.parentElement && e.observe(n.parentElement, {
38
- childList: !0
39
- });
40
- }), () => {
41
- e.disconnect();
42
- };
43
- }, [r]), f(() => {
44
- c.current === p && (t.current.length !== r.size && (t.current.length = r.size), o && o.current.length !== r.size && (o.current.length = r.size), O.current = r.size), E(r);
45
- }, [E, r, t, o, p]), f(() => () => {
46
- t.current = [];
47
- }, [t]), f(() => () => {
48
- o && (o.current = []);
49
- }, [o]);
50
- const g = l((e) => (d.add(e), () => {
51
- d.delete(e);
52
- }));
53
- f(() => {
54
- d.forEach((e) => e(r));
55
- }, [d, r]);
56
- const _ = a.useMemo(() => ({
57
- register: C,
58
- unregister: I,
59
- subscribeMapChange: g,
60
- elementsRef: t,
61
- labelsRef: o,
62
- nextIndexRef: O
63
- }), [C, I, g, t, o, O]);
64
- return /* @__PURE__ */ D.jsx(b.Provider, {
65
- value: _,
66
- children: N
67
- });
68
- }
69
- function L() {
70
- return /* @__PURE__ */ new Map();
71
- }
72
- function P() {
73
- return /* @__PURE__ */ new Set();
74
- }
75
- function S(h, N) {
76
- const t = h.compareDocumentPosition(N);
77
- return t & Node.DOCUMENT_POSITION_FOLLOWING || t & Node.DOCUMENT_POSITION_CONTAINED_BY ? -1 : t & Node.DOCUMENT_POSITION_PRECEDING || t & Node.DOCUMENT_POSITION_CONTAINS ? 1 : 0;
78
- }
1
+ import { compareItemEquality as i } from "./index296.js";
2
+ import { hasNullItemLabel as n, stringifyAsValue as a } from "./index295.js";
3
+ import { createSelector as r } from "./index361.js";
4
+ const c = {
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: t,
17
+ multiple: o,
18
+ itemToStringValue: l
19
+ } = e;
20
+ return t == null ? !1 : o && Array.isArray(t) ? t.length > 0 : a(t, l) !== "";
21
+ }),
22
+ hasNullItemLabel: r((e, t) => t ? n(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, t) => e.activeIndex === t),
31
+ isSelected: r((e, t) => {
32
+ const o = e.isItemEqualToValue, l = e.value;
33
+ return e.multiple ? Array.isArray(l) && l.some((s) => i(t, s, o)) : i(t, l, o);
34
+ }),
35
+ isSelectedByFocus: r((e, t) => e.selectedIndex === t),
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
+ popupSide: r((e) => e.popupSide),
42
+ scrollUpArrowVisible: r((e) => e.scrollUpArrowVisible),
43
+ scrollDownArrowVisible: r((e) => e.scrollDownArrowVisible),
44
+ hasScrollArrows: r((e) => e.hasScrollArrows)
45
+ };
79
46
  export {
80
- k as CompositeList
47
+ c as selectors
81
48
  };
82
49
  //# sourceMappingURL=index293.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index293.js","sources":["../../../node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs"],"sourcesContent":["/* eslint-disable no-bitwise */\n'use client';\n\nimport * as React from 'react';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { CompositeListContext } from \"./CompositeListContext.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Provides context for a list of items in a composite component.\n * @internal\n */\nexport function CompositeList(props) {\n const {\n children,\n elementsRef,\n labelsRef,\n onMapChange: onMapChangeProp\n } = props;\n const onMapChange = useStableCallback(onMapChangeProp);\n const nextIndexRef = React.useRef(0);\n const listeners = useRefWithInit(createListeners).current;\n\n // We use a stable `map` to avoid O(n^2) re-allocation costs for large lists.\n // `mapTick` is our re-render trigger mechanism. We also need to update the\n // elements and label refs, but there's a lot of async work going on and sometimes\n // the effect that handles `onMapChange` gets called after those refs have been\n // filled, and we don't want to lose those values by setting their lengths to `0`.\n // We also need to have them at the proper length because floating-ui uses that\n // information for list navigation.\n\n const map = useRefWithInit(createMap).current;\n // `mapTick` uses a counter rather than objects for low precision-loss risk and better memory efficiency\n const [mapTick, setMapTick] = React.useState(0);\n const lastTickRef = React.useRef(mapTick);\n const register = useStableCallback((node, metadata) => {\n map.set(node, metadata ?? null);\n lastTickRef.current += 1;\n setMapTick(lastTickRef.current);\n });\n const unregister = useStableCallback(node => {\n map.delete(node);\n lastTickRef.current += 1;\n setMapTick(lastTickRef.current);\n });\n const sortedMap = React.useMemo(() => {\n // `mapTick` is the `useMemo` trigger as `map` is stable.\n disableEslintWarning(mapTick);\n const newMap = new Map();\n // Filter out disconnected elements before sorting to avoid inconsistent\n // compareDocumentPosition results when elements are detached from the DOM.\n const sortedNodes = Array.from(map.keys()).filter(node => node.isConnected).sort(sortByDocumentPosition);\n sortedNodes.forEach((node, index) => {\n const metadata = map.get(node) ?? {};\n newMap.set(node, {\n ...metadata,\n index\n });\n });\n return newMap;\n }, [map, mapTick]);\n useIsoLayoutEffect(() => {\n if (typeof MutationObserver !== 'function' || sortedMap.size === 0) {\n return undefined;\n }\n const mutationObserver = new MutationObserver(entries => {\n const diff = new Set();\n const updateDiff = node => diff.has(node) ? diff.delete(node) : diff.add(node);\n entries.forEach(entry => {\n entry.removedNodes.forEach(updateDiff);\n entry.addedNodes.forEach(updateDiff);\n });\n if (diff.size === 0) {\n lastTickRef.current += 1;\n setMapTick(lastTickRef.current);\n }\n });\n sortedMap.forEach((_, node) => {\n if (node.parentElement) {\n mutationObserver.observe(node.parentElement, {\n childList: true\n });\n }\n });\n return () => {\n mutationObserver.disconnect();\n };\n }, [sortedMap]);\n useIsoLayoutEffect(() => {\n const shouldUpdateLengths = lastTickRef.current === mapTick;\n if (shouldUpdateLengths) {\n if (elementsRef.current.length !== sortedMap.size) {\n elementsRef.current.length = sortedMap.size;\n }\n if (labelsRef && labelsRef.current.length !== sortedMap.size) {\n labelsRef.current.length = sortedMap.size;\n }\n nextIndexRef.current = sortedMap.size;\n }\n onMapChange(sortedMap);\n }, [onMapChange, sortedMap, elementsRef, labelsRef, mapTick]);\n useIsoLayoutEffect(() => {\n return () => {\n elementsRef.current = [];\n };\n }, [elementsRef]);\n useIsoLayoutEffect(() => {\n return () => {\n if (labelsRef) {\n labelsRef.current = [];\n }\n };\n }, [labelsRef]);\n const subscribeMapChange = useStableCallback(fn => {\n listeners.add(fn);\n return () => {\n listeners.delete(fn);\n };\n });\n useIsoLayoutEffect(() => {\n listeners.forEach(l => l(sortedMap));\n }, [listeners, sortedMap]);\n const contextValue = React.useMemo(() => ({\n register,\n unregister,\n subscribeMapChange,\n elementsRef,\n labelsRef,\n nextIndexRef\n }), [register, unregister, subscribeMapChange, elementsRef, labelsRef, nextIndexRef]);\n return /*#__PURE__*/_jsx(CompositeListContext.Provider, {\n value: contextValue,\n children: children\n });\n}\nfunction createMap() {\n return new Map();\n}\nfunction createListeners() {\n return new Set();\n}\nfunction sortByDocumentPosition(a, b) {\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n return 0;\n}\nfunction disableEslintWarning(_) {}"],"names":["CompositeList","props","children","elementsRef","labelsRef","onMapChangeProp","onMapChange","useStableCallback","nextIndexRef","React","listeners","useRefWithInit","createListeners","map","createMap","mapTick","setMapTick","lastTickRef","register","node","metadata","unregister","sortedMap","newMap","sortByDocumentPosition","index","useIsoLayoutEffect","mutationObserver","entries","diff","updateDiff","entry","_","subscribeMapChange","fn","l","contextValue","_jsx","CompositeListContext","a","b","position"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index293.js","sources":["../../../node_modules/@base-ui/react/select/store.mjs"],"sourcesContent":["import { createSelector } from '@base-ui/utils/store';\nimport { compareItemEquality } from \"../internals/itemEquality.mjs\";\nimport { hasNullItemLabel, stringifyAsValue } from \"../internals/resolveValueLabel.mjs\";\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, 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 // The value is the source of truth: a stale `selectedIndex` (e.g. the controlled\n // value changes while the popup is open, where the index sync is deferred) must not\n // keep a previously selected item marked as selected.\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 popupSide: createSelector(state => state.popupSide),\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,GAAOQ,MAAc;AAC/C,UAAMC,IAAWT,EAAM,oBACjBU,IAAaV,EAAM;AACzB,WAAIA,EAAM,WACD,MAAM,QAAQU,CAAU,KAAKA,EAAW,KAAK,CAAAC,MAAgBC,EAAoBJ,GAAWG,GAAcF,CAAQ,CAAC,IAMrHG,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,WAAWD,EAAe,CAAAC,MAASA,EAAM,SAAS;AAAA,EAClD,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]}