@yselimcan/ui 0.0.3 → 0.0.5

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 (225) hide show
  1. package/dist/index100.js +5 -4
  2. package/dist/index101.js +7 -66
  3. package/dist/index102.js +87 -8
  4. package/dist/index103.js +11 -12
  5. package/dist/index104.js +62 -3
  6. package/dist/index105.js +38 -4
  7. package/dist/index106.js +14 -6
  8. package/dist/index107.js +32 -7
  9. package/dist/index108.js +19 -88
  10. package/dist/index109.js +4 -11
  11. package/dist/index110.js +4 -63
  12. package/dist/index111.js +4 -37
  13. package/dist/index112.js +12 -14
  14. package/dist/index113.js +18 -32
  15. package/dist/index114.js +13 -19
  16. package/dist/index115.js +295 -4
  17. package/dist/index116.js +5 -4
  18. package/dist/index117.js +39 -5
  19. package/dist/index118.js +124 -10
  20. package/dist/index119.js +21 -19
  21. package/dist/index120.js +77 -13
  22. package/dist/index121.js +59 -291
  23. package/dist/index122.js +45 -4
  24. package/dist/index123.js +14 -39
  25. package/dist/index124.js +4 -124
  26. package/dist/index125.js +29 -20
  27. package/dist/index126.js +5 -77
  28. package/dist/index127.js +25 -62
  29. package/dist/index128.js +16 -44
  30. package/dist/index129.js +21 -29
  31. package/dist/index130.js +58 -11
  32. package/dist/index131.js +16 -65
  33. package/dist/index132.js +24 -50
  34. package/dist/index133.js +39 -11
  35. package/dist/index134.js +42 -12
  36. package/dist/index135.js +20 -11
  37. package/dist/index136.js +44 -36
  38. package/dist/index137.js +51 -11
  39. package/dist/index138.js +17 -8
  40. package/dist/index139.js +11 -5
  41. package/dist/index140.js +21 -86
  42. package/dist/index141.js +35 -11
  43. package/dist/index142.js +223 -256
  44. package/dist/index143.js +279 -75
  45. package/dist/index144.js +53 -11
  46. package/dist/index145.js +13 -54
  47. package/dist/index146.js +79 -11
  48. package/dist/index147.js +3 -11
  49. package/dist/index148.js +2 -2
  50. package/dist/index149.js +23 -18
  51. package/dist/index150.js +14 -65
  52. package/dist/index151.js +63 -98
  53. package/dist/index152.js +4 -9
  54. package/dist/index153.js +103 -7
  55. package/dist/index154.js +78 -21
  56. package/dist/index155.js +259 -99
  57. package/dist/index156.js +11 -7
  58. package/dist/index157.js +10 -32
  59. package/dist/index158.js +38 -228
  60. package/dist/index159.js +4 -74
  61. package/dist/index160.js +63 -280
  62. package/dist/index161.js +10 -54
  63. package/dist/index162.js +8 -3
  64. package/dist/index163.js +5 -14
  65. package/dist/index164.js +132 -14
  66. package/dist/index165.js +51 -26
  67. package/dist/index166.js +11 -7
  68. package/dist/index167.js +116 -21
  69. package/dist/index168.js +12 -25
  70. package/dist/index169.js +8 -160
  71. package/dist/index17.js +4 -4
  72. package/dist/index170.js +12 -113
  73. package/dist/index171.js +22 -75
  74. package/dist/index172.js +11 -64
  75. package/dist/index173.js +65 -68
  76. package/dist/index174.js +13 -14
  77. package/dist/index175.js +13 -6
  78. package/dist/index176.js +11 -16
  79. package/dist/index177.js +11 -21
  80. package/dist/index178.js +86 -57
  81. package/dist/index179.js +11 -17
  82. package/dist/index18.js +4 -4
  83. package/dist/index180.js +11 -27
  84. package/dist/index181.js +56 -42
  85. package/dist/index182.js +10 -20
  86. package/dist/index183.js +11 -48
  87. package/dist/index184.js +15 -48
  88. package/dist/index185.js +8 -17
  89. package/dist/index186.js +8 -11
  90. package/dist/index187.js +102 -34
  91. package/dist/index188.js +7 -15
  92. package/dist/index189.js +31 -78
  93. package/dist/index19.js +10 -10
  94. package/dist/index190.js +74 -23
  95. package/dist/index191.js +15 -4
  96. package/dist/index192.js +28 -11
  97. package/dist/index193.js +7 -10
  98. package/dist/index194.js +22 -40
  99. package/dist/index195.js +25 -5
  100. package/dist/index196.js +160 -9
  101. package/dist/index197.js +113 -11
  102. package/dist/index198.js +73 -115
  103. package/dist/index199.js +64 -11
  104. package/dist/index20.js +3 -3
  105. package/dist/index201.js +2 -2
  106. package/dist/index202.js +5 -5
  107. package/dist/index203.js +1 -1
  108. package/dist/index204.js +2 -2
  109. package/dist/index205.js +3 -3
  110. package/dist/index206.js +12 -4
  111. package/dist/index207.js +4 -19
  112. package/dist/index208.js +4 -128
  113. package/dist/index209.js +10 -45
  114. package/dist/index21.js +4 -4
  115. package/dist/index210.js +16 -17
  116. package/dist/index211.js +22 -5
  117. package/dist/index212.js +122 -175
  118. package/dist/index213.js +45 -76
  119. package/dist/index214.js +15 -396
  120. package/dist/index215.js +5 -7
  121. package/dist/index216.js +181 -5
  122. package/dist/index217.js +74 -15
  123. package/dist/index218.js +396 -12
  124. package/dist/index219.js +38 -32
  125. package/dist/index22.js +5 -5
  126. package/dist/index220.js +57 -39
  127. package/dist/index221.js +28 -57
  128. package/dist/index222.js +7 -27
  129. package/dist/index223.js +12 -7
  130. package/dist/index224.js +10 -11
  131. package/dist/index225.js +5 -5
  132. package/dist/index226.js +21 -11
  133. package/dist/index227.js +11 -21
  134. package/dist/index228.js +7 -11
  135. package/dist/index229.js +42 -7
  136. package/dist/index23.js +3 -3
  137. package/dist/index230.js +4 -43
  138. package/dist/index231.js +5 -597
  139. package/dist/index232.js +596 -11
  140. package/dist/index233.js +12 -4
  141. package/dist/index234.js +11 -6
  142. package/dist/index235.js +32 -11
  143. package/dist/index236.js +208 -14
  144. package/dist/index237.js +4 -209
  145. package/dist/index238.js +13 -3
  146. package/dist/index239.js +47 -13
  147. package/dist/index24.js +9 -9
  148. package/dist/index240.js +3 -47
  149. package/dist/index241.js +12 -3
  150. package/dist/index242.js +56 -11
  151. package/dist/index243.js +29 -57
  152. package/dist/index244.js +13 -29
  153. package/dist/index245.js +9 -14
  154. package/dist/index246.js +207 -9
  155. package/dist/index247.js +13 -205
  156. package/dist/index248.js +317 -16
  157. package/dist/index249.js +3 -6
  158. package/dist/index250.js +3 -322
  159. package/dist/index251.js +21 -3
  160. package/dist/index252.js +6 -3
  161. package/dist/index253.js +1 -1
  162. package/dist/index26.js +1 -1
  163. package/dist/index27.js +1 -1
  164. package/dist/index28.js +1 -1
  165. package/dist/index32.js +1 -1
  166. package/dist/index33.js +17 -17
  167. package/dist/index34.js +5 -5
  168. package/dist/index35.js +14 -14
  169. package/dist/index36.js +11 -11
  170. package/dist/index37.js +8 -8
  171. package/dist/index38.js +9 -9
  172. package/dist/index39.js +5 -5
  173. package/dist/index40.js +3 -3
  174. package/dist/index41.js +4 -4
  175. package/dist/index42.js +2 -2
  176. package/dist/index43.js +2 -2
  177. package/dist/index44.js +1 -1
  178. package/dist/index45.js +6 -6
  179. package/dist/index46.js +10 -10
  180. package/dist/index47.js +9 -9
  181. package/dist/index48.js +17 -17
  182. package/dist/index49.js +4 -4
  183. package/dist/index50.js +11 -11
  184. package/dist/index52.js +24 -24
  185. package/dist/index53.js +3 -3
  186. package/dist/index54.js +30 -30
  187. package/dist/index55.js +14 -14
  188. package/dist/index56.js +13 -13
  189. package/dist/index57.js +2 -2
  190. package/dist/index58.js +4 -4
  191. package/dist/index59.js +6 -6
  192. package/dist/index60.js +12 -12
  193. package/dist/index61.js +5 -5
  194. package/dist/index62.js +4 -4
  195. package/dist/index63.js +12 -12
  196. package/dist/index64.js +5 -5
  197. package/dist/index65.js +3 -3
  198. package/dist/index66.js +14 -14
  199. package/dist/index69.js +32 -32
  200. package/dist/index70.js +5 -5
  201. package/dist/index71.js +18 -18
  202. package/dist/index72.js +23 -23
  203. package/dist/index73.js +8 -8
  204. package/dist/index74.js +2 -2
  205. package/dist/index75.js +12 -12
  206. package/dist/index76.js +3 -3
  207. package/dist/index77.js +5 -5
  208. package/dist/index78.js +4 -4
  209. package/dist/index79.js +1 -1
  210. package/dist/index80.js +1 -1
  211. package/dist/index81.js +16 -16
  212. package/dist/index82.js +5 -5
  213. package/dist/index83.js +5 -5
  214. package/dist/index86.js +11 -54
  215. package/dist/index87.js +54 -11
  216. package/dist/index88.js +11 -11
  217. package/dist/index89.js +6 -6
  218. package/dist/index94.js +4 -133
  219. package/dist/index95.js +63 -24
  220. package/dist/index96.js +8 -8
  221. package/dist/index97.js +14 -5
  222. package/dist/index98.js +3 -12
  223. package/dist/index99.js +3 -22
  224. package/dist/styles.css +1 -1
  225. package/package.json +1 -1
package/dist/index132.js CHANGED
@@ -1,56 +1,30 @@
1
1
  "use client";
2
- import * as u from "react";
3
- import { useIsoLayoutEffect as g } from "./index97.js";
4
- import { useCompositeListContext as F } from "./index207.js";
5
- let I = /* @__PURE__ */ (function(t) {
6
- return t[t.None = 0] = "None", t[t.GuessFromOrder = 1] = "GuessFromOrder", t;
7
- })({});
8
- function N(t = {}) {
2
+ import { useIsoLayoutEffect as s } from "./index126.js";
3
+ import { isElement as u } from "./index164.js";
4
+ import { useBaseUiId as m } from "./index109.js";
5
+ import { useLabelableContext as c } from "./index131.js";
6
+ import { NOOP as d } from "./index100.js";
7
+ function x(f = {}) {
9
8
  const {
10
- label: c,
11
- metadata: l,
12
- textRef: d,
13
- indexGuessBehavior: L,
14
- index: r
15
- } = t, {
16
- register: m,
17
- unregister: a,
18
- subscribeMapChange: x,
19
- elementsRef: R,
20
- labelsRef: i,
21
- nextIndexRef: p
22
- } = F(), f = u.useRef(-1), [n, C] = u.useState(r ?? (L === I.GuessFromOrder ? () => {
23
- if (f.current === -1) {
24
- const e = p.current;
25
- p.current += 1, f.current = e;
26
- }
27
- return f.current;
28
- } : -1)), s = u.useRef(null), b = u.useCallback((e) => {
29
- if (s.current = e, n !== -1 && e !== null && (R.current[n] = e, i)) {
30
- const o = c !== void 0;
31
- i.current[n] = o ? c : d?.current?.textContent ?? e.textContent;
32
- }
33
- }, [n, R, i, c, d]);
34
- return g(() => {
35
- if (r != null)
36
- return;
37
- const e = s.current;
38
- if (e)
39
- return m(e, l), () => {
40
- a(e);
9
+ id: e,
10
+ implicit: o = !1,
11
+ controlRef: r
12
+ } = f, {
13
+ controlId: l,
14
+ setControlId: t
15
+ } = c(), n = m(e);
16
+ return s(() => {
17
+ if (!(!o && !e || t === d)) {
18
+ if (o) {
19
+ const i = r?.current;
20
+ u(i) && i.closest("label") != null ? t(e ?? null) : t(l ?? n);
21
+ } else e && t(e);
22
+ return () => {
23
+ e && t(void 0);
41
24
  };
42
- }, [r, m, a, l]), g(() => {
43
- if (r == null)
44
- return x((e) => {
45
- const o = s.current ? e.get(s.current)?.index : null;
46
- o != null && C(o);
47
- });
48
- }, [r, x, C]), u.useMemo(() => ({
49
- ref: b,
50
- index: n
51
- }), [n, b]);
25
+ }
26
+ }, [e, r, l, t, o, n]), l ?? n;
52
27
  }
53
28
  export {
54
- I as IndexGuessBehavior,
55
- N as useCompositeListItem
29
+ x as useLabelableId
56
30
  };
package/dist/index133.js CHANGED
@@ -1,15 +1,43 @@
1
1
  "use client";
2
- import r from "./index100.js";
3
- import * as t from "react";
4
- const o = /* @__PURE__ */ t.createContext(void 0);
5
- process.env.NODE_ENV !== "production" && (o.displayName = "MenuRootContext");
6
- function i(n) {
7
- const e = t.useContext(o);
8
- if (e === void 0 && !n)
9
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: MenuRootContext is missing. Menu parts must be placed within <Menu.Root>." : r(36));
10
- return e;
2
+ import * as c from "react";
3
+ import { useIsoLayoutEffect as d } from "./index126.js";
4
+ import { AnimationFrame as u } from "./index160.js";
5
+ function g(t, s = !1, f = !1) {
6
+ const [n, r] = c.useState(t && s ? "idle" : void 0), [i, a] = c.useState(t);
7
+ return t && !i && (a(!0), r("starting")), !t && i && n !== "ending" && !f && r("ending"), !t && !i && n === "ending" && r(void 0), d(() => {
8
+ if (!t && i && n !== "ending" && f) {
9
+ const e = u.request(() => {
10
+ r("ending");
11
+ });
12
+ return () => {
13
+ u.cancel(e);
14
+ };
15
+ }
16
+ }, [t, i, n, f]), d(() => {
17
+ if (!t || s)
18
+ return;
19
+ const e = u.request(() => {
20
+ r(void 0);
21
+ });
22
+ return () => {
23
+ u.cancel(e);
24
+ };
25
+ }, [s, t]), d(() => {
26
+ if (!t || !s)
27
+ return;
28
+ t && i && n !== "idle" && r("starting");
29
+ const e = u.request(() => {
30
+ r("idle");
31
+ });
32
+ return () => {
33
+ u.cancel(e);
34
+ };
35
+ }, [s, t, i, r, n]), c.useMemo(() => ({
36
+ mounted: i,
37
+ setMounted: a,
38
+ transitionStatus: n
39
+ }), [i, n]);
11
40
  }
12
41
  export {
13
- o as MenuRootContext,
14
- i as useMenuRootContext
42
+ g as useTransitionStatus
15
43
  };
package/dist/index134.js CHANGED
@@ -1,15 +1,45 @@
1
- import { transitionStatusMapping as r } from "./index112.js";
2
- import { MenuCheckboxItemDataAttributes as t } from "./index206.js";
3
- const c = {
4
- checked(e) {
5
- return e ? {
6
- [t.checked]: ""
7
- } : {
8
- [t.unchecked]: ""
9
- };
10
- },
11
- ...r
1
+ import { compareItemEquality as n } from "./index138.js";
2
+ import { stringifyAsValue as u } from "./index137.js";
3
+ import { createSelector as r } from "./index204.js";
4
+ const p = {
5
+ id: r((e) => e.id),
6
+ modal: r((e) => e.modal),
7
+ multiple: r((e) => e.multiple),
8
+ items: r((e) => e.items),
9
+ itemToStringLabel: r((e) => e.itemToStringLabel),
10
+ itemToStringValue: r((e) => e.itemToStringValue),
11
+ isItemEqualToValue: r((e) => e.isItemEqualToValue),
12
+ value: r((e) => e.value),
13
+ open: r((e) => e.open),
14
+ mounted: r((e) => e.mounted),
15
+ forceMount: r((e) => e.forceMount),
16
+ transitionStatus: r((e) => e.transitionStatus),
17
+ openMethod: r((e) => e.openMethod),
18
+ activeIndex: r((e) => e.activeIndex),
19
+ selectedIndex: r((e) => e.selectedIndex),
20
+ isActive: r((e, t) => e.activeIndex === t),
21
+ isSelected: r((e, t, l) => {
22
+ const o = e.isItemEqualToValue, i = e.value;
23
+ return e.multiple ? Array.isArray(i) && i.some((s) => n(s, l, o)) : e.selectedIndex === t && e.selectedIndex !== null ? !0 : n(i, l, o);
24
+ }),
25
+ isSelectedByFocus: r((e, t) => e.selectedIndex === t),
26
+ popupProps: r((e) => e.popupProps),
27
+ triggerProps: r((e) => e.triggerProps),
28
+ triggerElement: r((e) => e.triggerElement),
29
+ positionerElement: r((e) => e.positionerElement),
30
+ listElement: r((e) => e.listElement),
31
+ scrollUpArrowVisible: r((e) => e.scrollUpArrowVisible),
32
+ scrollDownArrowVisible: r((e) => e.scrollDownArrowVisible),
33
+ hasScrollArrows: r((e) => e.hasScrollArrows),
34
+ serializedValue: r((e) => {
35
+ const {
36
+ multiple: t,
37
+ value: l,
38
+ itemToStringValue: o
39
+ } = e;
40
+ return t && Array.isArray(l) && l.length === 0 ? "" : u(l, o);
41
+ })
12
42
  };
13
43
  export {
14
- c as itemMapping
44
+ p as selectors
15
45
  };
package/dist/index135.js CHANGED
@@ -1,15 +1,24 @@
1
1
  "use client";
2
- import i from "./index100.js";
3
- import * as o from "react";
4
- const t = /* @__PURE__ */ o.createContext(void 0);
5
- process.env.NODE_ENV !== "production" && (t.displayName = "MenuPositionerContext");
6
- function s(n) {
7
- const e = o.useContext(t);
8
- if (e === void 0 && !n)
9
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: MenuPositionerContext is missing. MenuPositioner parts must be placed within <Menu.Positioner>." : i(33));
10
- return e;
2
+ import * as e from "react";
3
+ import { NOOP as r } from "./index100.js";
4
+ const t = /* @__PURE__ */ e.createContext({
5
+ formRef: {
6
+ current: {
7
+ fields: /* @__PURE__ */ new Map()
8
+ }
9
+ },
10
+ errors: {},
11
+ clearErrors: r,
12
+ validationMode: "onSubmit",
13
+ submitAttemptedRef: {
14
+ current: !1
15
+ }
16
+ });
17
+ process.env.NODE_ENV !== "production" && (t.displayName = "FormContext");
18
+ function n() {
19
+ return e.useContext(t);
11
20
  }
12
21
  export {
13
- t as MenuPositionerContext,
14
- s as useMenuPositionerContext
22
+ t as FormContext,
23
+ n as useFormContext
15
24
  };
package/dist/index136.js CHANGED
@@ -1,43 +1,51 @@
1
- "use client";
2
- import * as c from "react";
3
- import { useIsoLayoutEffect as d } from "./index97.js";
4
- import { AnimationFrame as u } from "./index150.js";
5
- function g(t, s = !1, f = !1) {
6
- const [n, r] = c.useState(t && s ? "idle" : void 0), [i, a] = c.useState(t);
7
- return t && !i && (a(!0), r("starting")), !t && i && n !== "ending" && !f && r("ending"), !t && !i && n === "ending" && r(void 0), d(() => {
8
- if (!t && i && n !== "ending" && f) {
9
- const e = u.request(() => {
10
- r("ending");
11
- });
12
- return () => {
13
- u.cancel(e);
14
- };
15
- }
16
- }, [t, i, n, f]), d(() => {
17
- if (!t || s)
1
+ import * as p from "react-dom";
2
+ import { useIsoLayoutEffect as r } from "./index126.js";
3
+ import { useStableCallback as D } from "./index127.js";
4
+ import { getCombinedFieldValidityData as v } from "./index209.js";
5
+ import { useFormContext as R } from "./index135.js";
6
+ import { useFieldRootContext as b } from "./index130.js";
7
+ function S(u) {
8
+ const {
9
+ enabled: l = !0,
10
+ value: a,
11
+ id: t,
12
+ name: f,
13
+ controlRef: d,
14
+ commit: m
15
+ } = u, {
16
+ formRef: n
17
+ } = R(), {
18
+ invalid: s,
19
+ markedDirtyRef: c,
20
+ validityData: o,
21
+ setValidityData: V
22
+ } = b(), i = D(u.getValue);
23
+ r(() => {
24
+ if (!l)
18
25
  return;
19
- const e = u.request(() => {
20
- r(void 0);
26
+ let e = a;
27
+ e === void 0 && (e = i()), o.initialValue === null && e !== null && V((y) => ({
28
+ ...y,
29
+ initialValue: e
30
+ }));
31
+ }, [l, V, a, o.initialValue, i]), r(() => {
32
+ !l || !t || n.current.fields.set(t, {
33
+ getValue: i,
34
+ name: f,
35
+ controlRef: d,
36
+ validityData: v(o, s),
37
+ validate() {
38
+ let e = a;
39
+ e === void 0 && (e = i()), c.current = !0, p.flushSync(() => m(e));
40
+ }
21
41
  });
42
+ }, [m, d, l, n, i, t, s, c, f, o, a]), r(() => {
43
+ const e = n.current.fields;
22
44
  return () => {
23
- u.cancel(e);
45
+ t && e.delete(t);
24
46
  };
25
- }, [s, t]), d(() => {
26
- if (!t || !s)
27
- return;
28
- t && i && n !== "idle" && r("starting");
29
- const e = u.request(() => {
30
- r("idle");
31
- });
32
- return () => {
33
- u.cancel(e);
34
- };
35
- }, [s, t, i, r, n]), c.useMemo(() => ({
36
- mounted: i,
37
- setMounted: a,
38
- transitionStatus: n
39
- }), [i, n]);
47
+ }, [n, t]);
40
48
  }
41
49
  export {
42
- g as useTransitionStatus
50
+ S as useField
43
51
  };
package/dist/index137.js CHANGED
@@ -1,14 +1,54 @@
1
- import n from "./index100.js";
2
- import * as o from "react";
3
- const t = /* @__PURE__ */ o.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (t.displayName = "MenuGroupContext");
5
- function u() {
6
- const e = o.useContext(t);
7
- if (e === void 0)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: MenuGroupRootContext is missing. Menu group parts must be used within <Menu.Group>." : n(31));
9
- return e;
1
+ "use client";
2
+ import { serializeValue as c } from "./index206.js";
3
+ function t(n) {
4
+ return n != null && n.length > 0 && typeof n[0] == "object" && n[0] != null && "items" in n[0];
5
+ }
6
+ function e(n, r) {
7
+ if (r && n != null)
8
+ return r(n) ?? "";
9
+ if (n && typeof n == "object") {
10
+ if ("label" in n && n.label != null)
11
+ return String(n.label);
12
+ if ("value" in n)
13
+ return String(n.value);
14
+ }
15
+ return c(n);
16
+ }
17
+ function b(n, r) {
18
+ return r && n != null ? r(n) ?? "" : n && typeof n == "object" && "value" in n && "label" in n ? c(n.value) : c(n);
19
+ }
20
+ function y(n, r, f) {
21
+ if (f && n != null)
22
+ return f(n);
23
+ if (n && typeof n == "object" && "label" in n && n.label != null)
24
+ return n.label;
25
+ if (r && !Array.isArray(r))
26
+ return r[n] ?? e(n, f);
27
+ if (Array.isArray(r)) {
28
+ const o = t(r) ? r.flatMap((l) => l.items) : r;
29
+ if (n == null) {
30
+ const l = o.find((u) => u.value == null);
31
+ return l && l.label != null ? l.label : e(n, f);
32
+ }
33
+ if (typeof n != "object") {
34
+ const l = o.find((u) => u && u.value === n);
35
+ return l && l.label != null ? l.label : e(n, f);
36
+ }
37
+ if ("value" in n) {
38
+ const l = o.find((u) => u && u.value === n.value);
39
+ if (l && l.label != null)
40
+ return l.label;
41
+ }
42
+ }
43
+ return e(n, f);
44
+ }
45
+ function p(n, r) {
46
+ return !Array.isArray(n) || n.length === 0 ? "" : n.map((f) => e(f, r)).join(", ");
10
47
  }
11
48
  export {
12
- t as MenuGroupContext,
13
- u as useMenuGroupRootContext
49
+ t as isGroupedItems,
50
+ p as resolveMultipleLabels,
51
+ y as resolveSelectedLabel,
52
+ e as stringifyAsLabel,
53
+ b as stringifyAsValue
14
54
  };
package/dist/index138.js CHANGED
@@ -1,11 +1,20 @@
1
- "use client";
2
- import * as o from "react";
3
- const t = /* @__PURE__ */ o.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (t.displayName = "ToolbarRootContext");
5
- function r(e) {
6
- return o.useContext(t);
1
+ const f = (n, e) => Object.is(n, e);
2
+ function u(n, e, r) {
3
+ return n == null || e == null ? Object.is(n, e) : r(n, e);
4
+ }
5
+ function i(n, e, r) {
6
+ return !n || n.length === 0 ? !1 : n.some((t) => t === void 0 ? !1 : u(t, e, r));
7
+ }
8
+ function d(n, e, r) {
9
+ return !n || n.length === 0 ? -1 : n.findIndex((t) => t === void 0 ? !1 : u(t, e, r));
10
+ }
11
+ function s(n, e, r) {
12
+ return n.filter((t) => !u(t, e, r));
7
13
  }
8
14
  export {
9
- t as ToolbarRootContext,
10
- r as useToolbarRootContext
15
+ u as compareItemEquality,
16
+ f as defaultItemEquality,
17
+ d as findItemIndex,
18
+ i as itemIncludes,
19
+ s as removeItem
11
20
  };
package/dist/index139.js CHANGED
@@ -1,8 +1,14 @@
1
- import { DISABLED_TRANSITIONS_STYLE as r } from "./index125.js";
2
- import { EMPTY_OBJECT as o } from "./index106.js";
3
- function T(t) {
4
- return t === "starting" ? r : o;
1
+ import * as c from "react";
2
+ import { useIsoLayoutEffect as o } from "./index126.js";
3
+ import { useStableCallback as f } from "./index127.js";
4
+ function u(r, n) {
5
+ const t = c.useRef(r), e = f(n);
6
+ o(() => {
7
+ t.current !== r && e(t.current);
8
+ }, [r, e]), o(() => {
9
+ t.current = r;
10
+ }, [r]);
5
11
  }
6
12
  export {
7
- T as getDisabledMountTransitionStyles
13
+ u as useValueChanged
8
14
  };
package/dist/index140.js CHANGED
@@ -1,90 +1,25 @@
1
- import * as L from "react";
2
- import { isElement as j } from "./index94.js";
3
- import { useStableCallback as f } from "./index95.js";
4
- import { useIsoLayoutEffect as F } from "./index97.js";
5
- import { createChangeEventDetails as w } from "./index113.js";
6
- import { useFloatingTree as q, useFloatingParentNodeId as z } from "./index145.js";
7
- import { useHoverInteractionSharedState as B, safePolygonIdentifier as H, isInteractiveElement as G } from "./index244.js";
8
- import { triggerHover as O } from "./index114.js";
9
- import { getDocument as x, getTarget as J } from "./index173.js";
10
- import { isMouseLikePointerType as K } from "./index222.js";
11
- const Q = /* @__PURE__ */ new Set(["click", "mousedown"]);
12
- function re(i, d = {}) {
13
- const n = "rootStore" in i ? i.rootStore : i, m = n.useState("open"), u = n.useState("floatingElement"), b = n.useState("domReferenceElement"), {
14
- dataRef: p
15
- } = n.context, {
16
- enabled: R = !0,
17
- closeDelay: I = 0,
18
- externalTree: A
19
- } = d, {
20
- pointerTypeRef: E,
21
- interactedInsideRef: l,
22
- handlerRef: v,
23
- performedPointerEventsMutationRef: g,
24
- unbindMouseMoveRef: N,
25
- restTimeoutPendingRef: S,
26
- openChangeTimeout: y,
27
- handleCloseOptionsRef: k
28
- } = B(n), M = q(A), T = z(), h = f(() => l.current ? !0 : p.current.openEvent ? Q.has(p.current.openEvent.type) : !1), C = f(() => {
29
- const e = p.current.openEvent?.type;
30
- return e?.includes("mouse") && e !== "mousedown";
31
- }), P = L.useCallback((e, r = !0) => {
32
- const s = U(I, E.current);
33
- s && !v.current ? y.start(s, () => n.setOpen(!1, w(O, e))) : r && (y.clear(), n.setOpen(!1, w(O, e)));
34
- }, [I, v, n, E, y]), c = f(() => {
35
- N.current(), v.current = void 0;
36
- }), a = f(() => {
37
- if (g.current) {
38
- const e = x(u).body;
39
- e.style.pointerEvents = "", e.removeAttribute(H), g.current = !1;
1
+ "use client";
2
+ import * as e from "react";
3
+ import { useStableCallback as a } from "./index127.js";
4
+ import { useEnhancedClickHandler as u } from "./index210.js";
5
+ function f(s) {
6
+ const [n, t] = e.useState(null), c = a((p, i) => {
7
+ s || t(i);
8
+ }), o = e.useCallback(() => {
9
+ t(null);
10
+ }, []), {
11
+ onClick: r,
12
+ onPointerDown: l
13
+ } = u(c);
14
+ return e.useMemo(() => ({
15
+ openMethod: n,
16
+ reset: o,
17
+ triggerProps: {
18
+ onClick: r,
19
+ onPointerDown: l
40
20
  }
41
- }), D = f((e) => {
42
- const r = J(e);
43
- if (!G(r)) {
44
- l.current = !1;
45
- return;
46
- }
47
- l.current = !0;
48
- });
49
- F(() => {
50
- m || (E.current = void 0, S.current = !1, l.current = !1, c(), a());
51
- }, [m, E, S, l, c, a]), L.useEffect(() => () => {
52
- c();
53
- }, [c]), L.useEffect(() => a, [a]), F(() => {
54
- if (R && m && k.current?.blockPointerEvents && C() && j(b) && u) {
55
- g.current = !0;
56
- const e = x(u).body;
57
- e.setAttribute(H, "");
58
- const r = b, s = u, t = M?.nodesRef.current.find((o) => o.id === T)?.context?.elements.floating;
59
- return t && (t.style.pointerEvents = ""), e.style.pointerEvents = "none", r.style.pointerEvents = "auto", s.style.pointerEvents = "auto", () => {
60
- e.style.pointerEvents = "", r.style.pointerEvents = "", s.style.pointerEvents = "";
61
- };
62
- }
63
- }, [R, m, b, u, k, C, M, T, g]), L.useEffect(() => {
64
- if (!R)
65
- return;
66
- function e(o) {
67
- if (h() || !p.current.floatingContext || !n.select("open"))
68
- return;
69
- const W = n.context.triggerElements;
70
- o.relatedTarget && W.hasElement(o.relatedTarget) || (a(), c(), h() || P(o));
71
- }
72
- function r(o) {
73
- y.clear(), a(), v.current?.(o), c();
74
- }
75
- function s(o) {
76
- h() || P(o, !1);
77
- }
78
- const t = u;
79
- return t && (t.addEventListener("mouseleave", e), t.addEventListener("mouseenter", r), t.addEventListener("mouseleave", s), t.addEventListener("pointerdown", D, !0)), () => {
80
- t && (t.removeEventListener("mouseleave", e), t.removeEventListener("mouseenter", r), t.removeEventListener("mouseleave", s), t.removeEventListener("pointerdown", D, !0));
81
- };
82
- });
83
- }
84
- function U(i, d) {
85
- return d && !K(d) ? 0 : typeof i == "function" ? i() : i;
21
+ }), [n, o, r, l]);
86
22
  }
87
23
  export {
88
- U as getDelay,
89
- re as useHoverFloatingInteraction
24
+ f as useOpenInteractionType
90
25
  };
package/dist/index141.js CHANGED
@@ -1,14 +1,38 @@
1
- import n from "./index100.js";
2
- import * as o from "react";
3
- const t = /* @__PURE__ */ o.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (t.displayName = "MenuPortalContext");
5
- function s() {
6
- const e = o.useContext(t);
7
- if (e === void 0)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Menu.Portal> is missing." : n(32));
9
- return e;
1
+ import { isElement as s } from "./index164.js";
2
+ import { useId as m } from "./index184.js";
3
+ import { useRefWithInit as c } from "./index101.js";
4
+ import { useIsoLayoutEffect as a } from "./index126.js";
5
+ import { useFloatingParentNodeId as u } from "./index181.js";
6
+ import { FloatingRootStore as g } from "./index242.js";
7
+ import { PopupTriggerMap as p } from "./index203.js";
8
+ function O(o) {
9
+ const {
10
+ open: r = !1,
11
+ onOpenChange: i,
12
+ elements: e = {}
13
+ } = o, f = m(), l = u() != null;
14
+ if (process.env.NODE_ENV !== "production") {
15
+ const n = e.reference;
16
+ n && !s(n) && console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead.");
17
+ }
18
+ const t = c(() => new g({
19
+ open: r,
20
+ onOpenChange: i,
21
+ referenceElement: e.reference ?? null,
22
+ floatingElement: e.floating ?? null,
23
+ triggerElements: e.triggers ?? new p(),
24
+ floatingId: f,
25
+ nested: l,
26
+ noEmit: o.noEmit || !1
27
+ })).current;
28
+ return a(() => {
29
+ const n = {
30
+ open: r,
31
+ floatingId: f
32
+ };
33
+ e.reference !== void 0 && (n.referenceElement = e.reference, n.domReferenceElement = s(e.reference) ? e.reference : null), e.floating !== void 0 && (n.floatingElement = e.floating), t.update(n);
34
+ }, [r, f, e.reference, e.floating, t]), t.context.onOpenChange = i, t.context.nested = l, t.context.noEmit = o.noEmit || !1, t;
10
35
  }
11
36
  export {
12
- t as MenuPortalContext,
13
- s as useMenuPortalContext
37
+ O as useFloatingRootContext
14
38
  };