@yselimcan/ui 0.0.3 → 0.0.4

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 (208) hide show
  1. package/dist/index100.js +5 -4
  2. package/dist/index101.js +128 -61
  3. package/dist/index102.js +27 -8
  4. package/dist/index103.js +7 -12
  5. package/dist/index104.js +5 -4
  6. package/dist/index105.js +12 -3
  7. package/dist/index106.js +22 -5
  8. package/dist/index108.js +7 -7
  9. package/dist/index109.js +1 -1
  10. package/dist/index110.js +4 -4
  11. package/dist/index113.js +1 -1
  12. package/dist/index115.js +1 -1
  13. package/dist/index118.js +1 -1
  14. package/dist/index119.js +2 -2
  15. package/dist/index121.js +19 -19
  16. package/dist/index122.js +1 -1
  17. package/dist/index124.js +7 -7
  18. package/dist/index126.js +3 -3
  19. package/dist/index127.js +5 -5
  20. package/dist/index128.js +1 -1
  21. package/dist/index129.js +14 -30
  22. package/dist/index130.js +4 -10
  23. package/dist/index131.js +27 -64
  24. package/dist/index132.js +15 -51
  25. package/dist/index133.js +21 -12
  26. package/dist/index134.js +58 -12
  27. package/dist/index135.js +16 -11
  28. package/dist/index136.js +23 -36
  29. package/dist/index137.js +40 -11
  30. package/dist/index138.js +43 -9
  31. package/dist/index139.js +21 -5
  32. package/dist/index140.js +46 -85
  33. package/dist/index141.js +51 -11
  34. package/dist/index142.js +14 -260
  35. package/dist/index143.js +11 -79
  36. package/dist/index144.js +21 -10
  37. package/dist/index145.js +34 -55
  38. package/dist/index146.js +230 -11
  39. package/dist/index147.js +283 -11
  40. package/dist/index148.js +53 -30
  41. package/dist/index149.js +14 -17
  42. package/dist/index150.js +72 -59
  43. package/dist/index151.js +3 -104
  44. package/dist/index152.js +29 -7
  45. package/dist/index153.js +24 -9
  46. package/dist/index154.js +15 -22
  47. package/dist/index155.js +66 -100
  48. package/dist/index156.js +2 -6
  49. package/dist/index157.js +103 -31
  50. package/dist/index158.js +75 -226
  51. package/dist/index159.js +257 -68
  52. package/dist/index160.js +11 -283
  53. package/dist/index161.js +10 -53
  54. package/dist/index162.js +40 -3
  55. package/dist/index163.js +4 -14
  56. package/dist/index164.js +65 -14
  57. package/dist/index165.js +10 -29
  58. package/dist/index166.js +8 -7
  59. package/dist/index167.js +5 -22
  60. package/dist/index168.js +53 -24
  61. package/dist/index169.js +11 -160
  62. package/dist/index170.js +114 -110
  63. package/dist/index171.js +11 -75
  64. package/dist/index172.js +11 -64
  65. package/dist/index173.js +65 -68
  66. package/dist/index174.js +13 -14
  67. package/dist/index175.js +13 -6
  68. package/dist/index176.js +11 -16
  69. package/dist/index177.js +11 -21
  70. package/dist/index178.js +86 -57
  71. package/dist/index179.js +11 -17
  72. package/dist/index18.js +1 -1
  73. package/dist/index180.js +11 -27
  74. package/dist/index181.js +56 -42
  75. package/dist/index182.js +10 -20
  76. package/dist/index183.js +11 -48
  77. package/dist/index184.js +15 -48
  78. package/dist/index185.js +8 -17
  79. package/dist/index186.js +8 -11
  80. package/dist/index187.js +102 -34
  81. package/dist/index188.js +7 -15
  82. package/dist/index189.js +31 -78
  83. package/dist/index190.js +74 -23
  84. package/dist/index191.js +15 -4
  85. package/dist/index192.js +28 -11
  86. package/dist/index193.js +7 -10
  87. package/dist/index194.js +22 -40
  88. package/dist/index195.js +25 -5
  89. package/dist/index196.js +160 -9
  90. package/dist/index197.js +113 -11
  91. package/dist/index198.js +73 -115
  92. package/dist/index199.js +64 -11
  93. package/dist/index200.js +47 -5
  94. package/dist/index201.js +193 -41
  95. package/dist/index202.js +30 -182
  96. package/dist/index203.js +20 -48
  97. package/dist/index204.js +6 -20
  98. package/dist/index205.js +3 -3
  99. package/dist/index206.js +12 -4
  100. package/dist/index207.js +9 -21
  101. package/dist/index208.js +14 -125
  102. package/dist/index209.js +7 -45
  103. package/dist/index210.js +4 -18
  104. package/dist/index211.js +22 -5
  105. package/dist/index212.js +122 -175
  106. package/dist/index213.js +45 -76
  107. package/dist/index214.js +15 -396
  108. package/dist/index215.js +5 -7
  109. package/dist/index216.js +181 -5
  110. package/dist/index217.js +74 -15
  111. package/dist/index218.js +396 -12
  112. package/dist/index219.js +38 -32
  113. package/dist/index220.js +57 -39
  114. package/dist/index221.js +28 -57
  115. package/dist/index222.js +7 -27
  116. package/dist/index223.js +12 -7
  117. package/dist/index224.js +10 -11
  118. package/dist/index225.js +5 -5
  119. package/dist/index226.js +21 -11
  120. package/dist/index227.js +11 -21
  121. package/dist/index228.js +7 -11
  122. package/dist/index229.js +42 -7
  123. package/dist/index230.js +594 -40
  124. package/dist/index231.js +11 -596
  125. package/dist/index232.js +32 -11
  126. package/dist/index233.js +3 -3
  127. package/dist/index234.js +5 -10
  128. package/dist/index235.js +14 -11
  129. package/dist/index236.js +208 -14
  130. package/dist/index237.js +4 -209
  131. package/dist/index238.js +13 -3
  132. package/dist/index239.js +47 -13
  133. package/dist/index24.js +2 -2
  134. package/dist/index240.js +3 -47
  135. package/dist/index241.js +12 -3
  136. package/dist/index242.js +56 -11
  137. package/dist/index243.js +29 -57
  138. package/dist/index244.js +13 -29
  139. package/dist/index245.js +9 -14
  140. package/dist/index246.js +207 -9
  141. package/dist/index247.js +304 -189
  142. package/dist/index248.js +3 -21
  143. package/dist/index249.js +3 -6
  144. package/dist/index250.js +14 -321
  145. package/dist/index251.js +21 -3
  146. package/dist/index252.js +6 -3
  147. package/dist/index253.js +1 -1
  148. package/dist/index28.js +1 -1
  149. package/dist/index32.js +1 -1
  150. package/dist/index33.js +12 -12
  151. package/dist/index34.js +4 -4
  152. package/dist/index35.js +9 -9
  153. package/dist/index36.js +6 -6
  154. package/dist/index37.js +7 -7
  155. package/dist/index38.js +9 -9
  156. package/dist/index39.js +2 -2
  157. package/dist/index40.js +2 -2
  158. package/dist/index41.js +2 -2
  159. package/dist/index42.js +2 -2
  160. package/dist/index43.js +1 -1
  161. package/dist/index45.js +5 -5
  162. package/dist/index46.js +7 -7
  163. package/dist/index47.js +7 -7
  164. package/dist/index48.js +14 -14
  165. package/dist/index49.js +4 -4
  166. package/dist/index50.js +6 -6
  167. package/dist/index52.js +20 -20
  168. package/dist/index53.js +2 -2
  169. package/dist/index54.js +23 -23
  170. package/dist/index55.js +7 -7
  171. package/dist/index56.js +5 -5
  172. package/dist/index57.js +1 -1
  173. package/dist/index58.js +2 -2
  174. package/dist/index59.js +4 -4
  175. package/dist/index60.js +8 -8
  176. package/dist/index61.js +3 -3
  177. package/dist/index62.js +3 -3
  178. package/dist/index63.js +8 -8
  179. package/dist/index64.js +3 -3
  180. package/dist/index65.js +3 -3
  181. package/dist/index66.js +8 -8
  182. package/dist/index67.js +1 -1
  183. package/dist/index69.js +26 -26
  184. package/dist/index70.js +4 -4
  185. package/dist/index71.js +11 -11
  186. package/dist/index72.js +16 -16
  187. package/dist/index73.js +7 -7
  188. package/dist/index74.js +1 -1
  189. package/dist/index75.js +11 -11
  190. package/dist/index76.js +2 -2
  191. package/dist/index77.js +2 -2
  192. package/dist/index78.js +2 -2
  193. package/dist/index79.js +1 -1
  194. package/dist/index80.js +1 -1
  195. package/dist/index81.js +14 -14
  196. package/dist/index82.js +3 -3
  197. package/dist/index83.js +4 -4
  198. package/dist/index86.js +7 -7
  199. package/dist/index88.js +81 -87
  200. package/dist/index89.js +87 -81
  201. package/dist/index94.js +4 -133
  202. package/dist/index95.js +63 -24
  203. package/dist/index96.js +8 -8
  204. package/dist/index97.js +14 -5
  205. package/dist/index98.js +3 -12
  206. package/dist/index99.js +3 -22
  207. package/dist/styles.css +1 -1
  208. package/package.json +1 -1
package/dist/index131.js CHANGED
@@ -1,69 +1,32 @@
1
1
  "use client";
2
- import * as a from "react";
3
- import { useMergedRefs as h } from "./index101.js";
4
- import { useContextMenuRootContext as y } from "./index144.js";
5
- import { useButton as P } from "./index89.js";
6
- import { mergeProps as v } from "./index27.js";
7
- import { itemPress as I } from "./index114.js";
8
- const A = {
9
- type: "regular-item"
10
- };
11
- function w(M) {
2
+ import * as n from "react";
3
+ function d({
4
+ controlled: o,
5
+ default: s,
6
+ name: t,
7
+ state: i = "value"
8
+ }) {
12
9
  const {
13
- closeOnClick: m,
14
- disabled: R = !1,
15
- highlighted: f,
16
- id: l,
17
- store: n,
18
- nativeButton: b,
19
- itemMetadata: o,
20
- nodeId: r
21
- } = M, i = a.useRef(null), t = y(!0), u = t !== void 0, {
22
- events: s
23
- } = n.useState("floatingTreeRoot"), {
24
- getButtonProps: p,
25
- buttonRef: x
26
- } = P({
27
- disabled: R,
28
- focusableWhenDisabled: !0,
29
- native: b
30
- }), g = a.useCallback((C) => v({
31
- id: l,
32
- role: "menuitem",
33
- tabIndex: f ? 0 : -1,
34
- onMouseMove(e) {
35
- r && s.emit("itemhover", {
36
- nodeId: r,
37
- target: e.currentTarget
38
- });
39
- },
40
- onMouseEnter() {
41
- o.type === "submenu-trigger" && o.setActive();
42
- },
43
- onKeyUp(e) {
44
- e.key === " " && n.context.typingRef.current && e.preventBaseUIHandler();
45
- },
46
- onClick(e) {
47
- m && s.emit("close", {
48
- domEvent: e,
49
- reason: I
50
- });
51
- },
52
- onMouseUp(e) {
53
- if (t) {
54
- const c = t.initialCursorPointRef.current;
55
- if (t.initialCursorPointRef.current = null, u && c && Math.abs(e.clientX - c.x) <= 1 && Math.abs(e.clientY - c.y) <= 1)
56
- return;
57
- }
58
- i.current && n.context.allowMouseUpTriggerRef.current && (!u || e.button === 2) && o.type === "regular-item" && i.current.click();
59
- }
60
- }, C, p), [l, f, p, m, s, n, u, t, o, r]), d = h(i, x);
61
- return a.useMemo(() => ({
62
- getItemProps: g,
63
- itemRef: d
64
- }), [g, d]);
10
+ current: e
11
+ } = n.useRef(o !== void 0), [l, c] = n.useState(s), u = e ? o : l;
12
+ if (process.env.NODE_ENV !== "production") {
13
+ n.useEffect(() => {
14
+ e !== (o !== void 0) && console.error([`Base UI: A component is changing the ${e ? "" : "un"}controlled ${i} state of ${t} to be ${e ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${t} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join(`
15
+ `));
16
+ }, [i, t, o]);
17
+ const {
18
+ current: r
19
+ } = n.useRef(s);
20
+ n.useEffect(() => {
21
+ !e && JSON.stringify(r) !== JSON.stringify(s) && console.error([`Base UI: A component is changing the default ${i} state of an uncontrolled ${t} after being initialized. To suppress this warning opt to use a controlled ${t}.`].join(`
22
+ `));
23
+ }, [JSON.stringify(s)]);
24
+ }
25
+ const f = n.useCallback((r) => {
26
+ e || c(r);
27
+ }, []);
28
+ return [u, f];
65
29
  }
66
30
  export {
67
- A as REGULAR_ITEM,
68
- w as useMenuItem
31
+ d as useControlled
69
32
  };
package/dist/index132.js CHANGED
@@ -1,56 +1,20 @@
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 = {}) {
9
- 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;
2
+ import { useIsoLayoutEffect as n } from "./index104.js";
3
+ import { useRefWithInit as r } from "./index107.js";
4
+ function s(e) {
5
+ const t = r(f, e).current;
6
+ return t.next = e, n(t.effect), t;
7
+ }
8
+ function f(e) {
9
+ const t = {
10
+ current: e,
11
+ next: e,
12
+ effect: () => {
13
+ t.current = t.next;
32
14
  }
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);
41
- };
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]);
15
+ };
16
+ return t;
52
17
  }
53
18
  export {
54
- I as IndexGuessBehavior,
55
- N as useCompositeListItem
19
+ s as useValueAsRef
56
20
  };
package/dist/index133.js CHANGED
@@ -1,15 +1,24 @@
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;
1
+ import o from "./index94.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;
11
18
  }
12
19
  export {
13
- o as MenuRootContext,
14
- i as useMenuRootContext
20
+ c as SelectFloatingContext,
21
+ n as SelectRootContext,
22
+ i as useSelectFloatingContext,
23
+ s as useSelectRootContext
15
24
  };
package/dist/index134.js CHANGED
@@ -1,15 +1,61 @@
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
- };
1
+ "use client";
2
+ import s from "./index94.js";
3
+ import * as a from "react";
4
+ import { DEFAULT_VALIDITY_STATE as n } from "./index153.js";
5
+ import { NOOP as e, EMPTY_OBJECT as o } from "./index100.js";
6
+ const l = /* @__PURE__ */ a.createContext({
7
+ invalid: void 0,
8
+ name: void 0,
9
+ validityData: {
10
+ state: n,
11
+ errors: [],
12
+ error: "",
13
+ value: "",
14
+ initialValue: null
10
15
  },
11
- ...r
12
- };
16
+ setValidityData: e,
17
+ disabled: void 0,
18
+ touched: !1,
19
+ setTouched: e,
20
+ dirty: !1,
21
+ setDirty: e,
22
+ filled: !1,
23
+ setFilled: e,
24
+ focused: !1,
25
+ setFocused: e,
26
+ validate: () => null,
27
+ validationMode: "onSubmit",
28
+ validationDebounceTime: 0,
29
+ shouldValidateOnChange: () => !1,
30
+ state: {
31
+ disabled: !1,
32
+ valid: null,
33
+ touched: !1,
34
+ dirty: !1,
35
+ filled: !1,
36
+ focused: !1
37
+ },
38
+ markedDirtyRef: {
39
+ current: !1
40
+ },
41
+ validation: {
42
+ getValidationProps: (t = o) => t,
43
+ getInputValidationProps: (t = o) => t,
44
+ inputRef: {
45
+ current: null
46
+ },
47
+ commit: async () => {
48
+ }
49
+ }
50
+ });
51
+ process.env.NODE_ENV !== "production" && (l.displayName = "FieldRootContext");
52
+ function f(t = !0) {
53
+ const i = a.useContext(l);
54
+ if (i.setValidityData === e && !t)
55
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : s(28));
56
+ return i;
57
+ }
13
58
  export {
14
- c as itemMapping
59
+ l as FieldRootContext,
60
+ f as useFieldRootContext
15
61
  };
package/dist/index135.js CHANGED
@@ -1,15 +1,20 @@
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 t from "react";
3
+ import { NOOP as e } from "./index100.js";
4
+ const o = /* @__PURE__ */ t.createContext({
5
+ controlId: void 0,
6
+ setControlId: e,
7
+ labelId: void 0,
8
+ setLabelId: e,
9
+ messageIds: [],
10
+ setMessageIds: e,
11
+ getDescriptionProps: (n) => n
12
+ });
13
+ process.env.NODE_ENV !== "production" && (o.displayName = "LabelableContext");
14
+ function a() {
15
+ return t.useContext(o);
11
16
  }
12
17
  export {
13
- t as MenuPositionerContext,
14
- s as useMenuPositionerContext
18
+ o as LabelableContext,
19
+ a as useLabelableContext
15
20
  };
package/dist/index136.js CHANGED
@@ -1,43 +1,30 @@
1
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
- });
2
+ import { useIsoLayoutEffect as s } from "./index104.js";
3
+ import { isElement as u } from "./index101.js";
4
+ import { useBaseUiId as m } from "./index115.js";
5
+ import { useLabelableContext as c } from "./index135.js";
6
+ import { NOOP as d } from "./index100.js";
7
+ function x(f = {}) {
8
+ const {
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);
12
22
  return () => {
13
- u.cancel(e);
23
+ e && t(void 0);
14
24
  };
15
25
  }
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]);
26
+ }, [e, r, l, t, o, n]), l ?? n;
40
27
  }
41
28
  export {
42
- g as useTransitionStatus
29
+ x as useLabelableId
43
30
  };
package/dist/index137.js CHANGED
@@ -1,14 +1,43 @@
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 * as c from "react";
3
+ import { useIsoLayoutEffect as d } from "./index104.js";
4
+ import { AnimationFrame as u } from "./index164.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]);
10
40
  }
11
41
  export {
12
- t as MenuGroupContext,
13
- u as useMenuGroupRootContext
42
+ g as useTransitionStatus
14
43
  };
package/dist/index138.js CHANGED
@@ -1,11 +1,45 @@
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);
7
- }
1
+ import { compareItemEquality as n } from "./index142.js";
2
+ import { stringifyAsValue as u } from "./index141.js";
3
+ import { createSelector as r } from "./index203.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
+ })
42
+ };
8
43
  export {
9
- t as ToolbarRootContext,
10
- r as useToolbarRootContext
44
+ p as selectors
11
45
  };
package/dist/index139.js CHANGED
@@ -1,8 +1,24 @@
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
+ "use client";
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);
5
20
  }
6
21
  export {
7
- T as getDisabledMountTransitionStyles
22
+ t as FormContext,
23
+ n as useFormContext
8
24
  };
package/dist/index140.js CHANGED
@@ -1,90 +1,51 @@
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;
40
- }
41
- }), D = f((e) => {
42
- const r = J(e);
43
- if (!G(r)) {
44
- l.current = !1;
1
+ import * as p from "react-dom";
2
+ import { useIsoLayoutEffect as r } from "./index104.js";
3
+ import { useStableCallback as D } from "./index102.js";
4
+ import { getCombinedFieldValidityData as v } from "./index207.js";
5
+ import { useFormContext as R } from "./index139.js";
6
+ import { useFieldRootContext as b } from "./index134.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)
45
25
  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));
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
+ }
41
+ });
42
+ }, [m, d, l, n, i, t, s, c, f, o, a]), r(() => {
43
+ const e = n.current.fields;
44
+ return () => {
45
+ t && e.delete(t);
81
46
  };
82
- });
83
- }
84
- function U(i, d) {
85
- return d && !K(d) ? 0 : typeof i == "function" ? i() : i;
47
+ }, [n, t]);
86
48
  }
87
49
  export {
88
- U as getDelay,
89
- re as useHoverFloatingInteraction
50
+ S as useField
90
51
  };