@yselimcan/ui 0.0.4 → 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 (184) hide show
  1. package/dist/index101.js +7 -133
  2. package/dist/index102.js +86 -26
  3. package/dist/index103.js +12 -8
  4. package/dist/index104.js +63 -5
  5. package/dist/index105.js +38 -13
  6. package/dist/index106.js +14 -23
  7. package/dist/index107.js +32 -7
  8. package/dist/index108.js +19 -88
  9. package/dist/index109.js +4 -11
  10. package/dist/index110.js +4 -63
  11. package/dist/index111.js +4 -37
  12. package/dist/index112.js +12 -14
  13. package/dist/index113.js +18 -32
  14. package/dist/index114.js +13 -19
  15. package/dist/index115.js +295 -4
  16. package/dist/index116.js +5 -4
  17. package/dist/index117.js +39 -5
  18. package/dist/index118.js +124 -10
  19. package/dist/index119.js +21 -19
  20. package/dist/index120.js +77 -13
  21. package/dist/index121.js +59 -291
  22. package/dist/index122.js +45 -4
  23. package/dist/index123.js +14 -39
  24. package/dist/index124.js +4 -124
  25. package/dist/index125.js +29 -20
  26. package/dist/index126.js +5 -77
  27. package/dist/index127.js +25 -62
  28. package/dist/index128.js +16 -44
  29. package/dist/index129.js +22 -14
  30. package/dist/index130.js +58 -5
  31. package/dist/index131.js +16 -28
  32. package/dist/index132.js +25 -15
  33. package/dist/index133.js +40 -21
  34. package/dist/index134.js +43 -59
  35. package/dist/index135.js +19 -15
  36. package/dist/index136.js +47 -26
  37. package/dist/index137.js +49 -38
  38. package/dist/index138.js +18 -43
  39. package/dist/index139.js +11 -21
  40. package/dist/index140.js +22 -48
  41. package/dist/index141.js +34 -50
  42. package/dist/index142.js +229 -16
  43. package/dist/index143.js +283 -11
  44. package/dist/index144.js +52 -21
  45. package/dist/index145.js +15 -35
  46. package/dist/index146.js +74 -225
  47. package/dist/index147.js +3 -283
  48. package/dist/index148.js +30 -53
  49. package/dist/index149.js +24 -16
  50. package/dist/index150.js +15 -79
  51. package/dist/index151.js +69 -3
  52. package/dist/index152.js +4 -31
  53. package/dist/index153.js +103 -22
  54. package/dist/index154.js +79 -15
  55. package/dist/index155.js +259 -65
  56. package/dist/index156.js +12 -4
  57. package/dist/index157.js +11 -105
  58. package/dist/index158.js +37 -76
  59. package/dist/index159.js +4 -263
  60. package/dist/index160.js +66 -11
  61. package/dist/index161.js +9 -10
  62. package/dist/index162.js +8 -40
  63. package/dist/index163.js +5 -4
  64. package/dist/index164.js +129 -62
  65. package/dist/index165.js +54 -10
  66. package/dist/index166.js +11 -8
  67. package/dist/index167.js +118 -6
  68. package/dist/index168.js +11 -53
  69. package/dist/index169.js +8 -11
  70. package/dist/index17.js +4 -4
  71. package/dist/index170.js +12 -117
  72. package/dist/index171.js +22 -11
  73. package/dist/index173.js +2 -2
  74. package/dist/index175.js +2 -2
  75. package/dist/index178.js +6 -6
  76. package/dist/index18.js +5 -5
  77. package/dist/index181.js +2 -2
  78. package/dist/index184.js +1 -1
  79. package/dist/index187.js +5 -5
  80. package/dist/index189.js +3 -3
  81. package/dist/index19.js +10 -10
  82. package/dist/index190.js +1 -1
  83. package/dist/index191.js +1 -1
  84. package/dist/index192.js +2 -2
  85. package/dist/index193.js +1 -1
  86. package/dist/index194.js +1 -1
  87. package/dist/index195.js +3 -3
  88. package/dist/index196.js +6 -6
  89. package/dist/index197.js +3 -3
  90. package/dist/index198.js +6 -6
  91. package/dist/index199.js +1 -1
  92. package/dist/index20.js +3 -3
  93. package/dist/index200.js +5 -47
  94. package/dist/index201.js +41 -193
  95. package/dist/index202.js +182 -30
  96. package/dist/index203.js +48 -20
  97. package/dist/index204.js +20 -6
  98. package/dist/index205.js +2 -2
  99. package/dist/index207.js +6 -9
  100. package/dist/index208.js +4 -17
  101. package/dist/index209.js +9 -6
  102. package/dist/index21.js +4 -4
  103. package/dist/index210.js +17 -4
  104. package/dist/index217.js +3 -3
  105. package/dist/index218.js +1 -1
  106. package/dist/index22.js +5 -5
  107. package/dist/index220.js +2 -2
  108. package/dist/index221.js +1 -1
  109. package/dist/index229.js +1 -1
  110. package/dist/index23.js +3 -3
  111. package/dist/index230.js +4 -597
  112. package/dist/index231.js +4 -11
  113. package/dist/index232.js +593 -29
  114. package/dist/index233.js +12 -4
  115. package/dist/index234.js +15 -5
  116. package/dist/index235.js +30 -12
  117. package/dist/index239.js +2 -2
  118. package/dist/index24.js +9 -9
  119. package/dist/index242.js +3 -3
  120. package/dist/index243.js +1 -1
  121. package/dist/index247.js +14 -321
  122. package/dist/index248.js +322 -3
  123. package/dist/index249.js +3 -3
  124. package/dist/index250.js +3 -15
  125. package/dist/index251.js +1 -1
  126. package/dist/index26.js +1 -1
  127. package/dist/index27.js +1 -1
  128. package/dist/index28.js +2 -2
  129. package/dist/index32.js +1 -1
  130. package/dist/index33.js +11 -11
  131. package/dist/index34.js +2 -2
  132. package/dist/index35.js +10 -10
  133. package/dist/index36.js +8 -8
  134. package/dist/index37.js +4 -4
  135. package/dist/index38.js +6 -6
  136. package/dist/index39.js +4 -4
  137. package/dist/index40.js +1 -1
  138. package/dist/index41.js +3 -3
  139. package/dist/index43.js +1 -1
  140. package/dist/index44.js +1 -1
  141. package/dist/index45.js +3 -3
  142. package/dist/index46.js +6 -6
  143. package/dist/index47.js +7 -7
  144. package/dist/index48.js +16 -16
  145. package/dist/index49.js +2 -2
  146. package/dist/index50.js +10 -10
  147. package/dist/index52.js +14 -14
  148. package/dist/index53.js +1 -1
  149. package/dist/index54.js +17 -17
  150. package/dist/index55.js +9 -9
  151. package/dist/index56.js +10 -10
  152. package/dist/index57.js +1 -1
  153. package/dist/index58.js +3 -3
  154. package/dist/index59.js +3 -3
  155. package/dist/index60.js +7 -7
  156. package/dist/index61.js +3 -3
  157. package/dist/index62.js +3 -3
  158. package/dist/index63.js +6 -6
  159. package/dist/index64.js +3 -3
  160. package/dist/index66.js +7 -7
  161. package/dist/index67.js +1 -1
  162. package/dist/index69.js +30 -30
  163. package/dist/index70.js +5 -5
  164. package/dist/index71.js +18 -18
  165. package/dist/index72.js +24 -24
  166. package/dist/index73.js +8 -8
  167. package/dist/index74.js +2 -2
  168. package/dist/index75.js +14 -14
  169. package/dist/index76.js +3 -3
  170. package/dist/index77.js +5 -5
  171. package/dist/index78.js +4 -4
  172. package/dist/index79.js +1 -1
  173. package/dist/index80.js +1 -1
  174. package/dist/index81.js +17 -17
  175. package/dist/index82.js +5 -5
  176. package/dist/index83.js +5 -5
  177. package/dist/index86.js +11 -54
  178. package/dist/index87.js +54 -11
  179. package/dist/index88.js +87 -81
  180. package/dist/index89.js +81 -87
  181. package/dist/index95.js +1 -1
  182. package/dist/index96.js +1 -1
  183. package/dist/styles.css +1 -1
  184. package/package.json +1 -1
package/dist/index122.js CHANGED
@@ -1,7 +1,48 @@
1
- import { isReactVersionAtLeast as r } from "./index204.js";
2
- function n(e) {
3
- return r(19) ? e : e ? "true" : void 0;
1
+ import * as l from "react";
2
+ import { FOCUSABLE_ATTRIBUTE as C, ACTIVE_KEY as s, SELECTED_KEY as E } from "./index245.js";
3
+ function k(e = []) {
4
+ const a = e.map((n) => n?.reference), g = e.map((n) => n?.floating), f = e.map((n) => n?.item), t = e.map((n) => n?.trigger), o = l.useCallback(
5
+ (n) => u(n, e, "reference"),
6
+ // eslint-disable-next-line react-hooks/exhaustive-deps
7
+ a
8
+ ), c = l.useCallback(
9
+ (n) => u(n, e, "floating"),
10
+ // eslint-disable-next-line react-hooks/exhaustive-deps
11
+ g
12
+ ), i = l.useCallback(
13
+ (n) => u(n, e, "item"),
14
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15
+ f
16
+ ), r = l.useCallback(
17
+ (n) => u(n, e, "trigger"),
18
+ // eslint-disable-next-line react-hooks/exhaustive-deps
19
+ t
20
+ );
21
+ return l.useMemo(() => ({
22
+ getReferenceProps: o,
23
+ getFloatingProps: c,
24
+ getItemProps: i,
25
+ getTriggerProps: r
26
+ }), [o, c, i, r]);
27
+ }
28
+ function u(e, a, g) {
29
+ const f = /* @__PURE__ */ new Map(), t = g === "item", o = {};
30
+ g === "floating" && (o.tabIndex = -1, o[C] = "");
31
+ for (const c in e)
32
+ t && e && (c === s || c === E) || (o[c] = e[c]);
33
+ for (let c = 0; c < a.length; c += 1) {
34
+ let i;
35
+ const r = a[c]?.[g];
36
+ typeof r == "function" ? i = e ? r(e) : null : i = r, i && m(o, i, t, f);
37
+ }
38
+ return m(o, e, t, f), o;
39
+ }
40
+ function m(e, a, g, f) {
41
+ for (const t in a) {
42
+ const o = a[t];
43
+ g && (t === s || t === E) || (t.startsWith("on") ? (f.has(t) || f.set(t, []), typeof o == "function" && (f.get(t)?.push(o), e[t] = (...c) => f.get(t)?.map((i) => i(...c)).find((i) => i !== void 0))) : e[t] = o);
44
+ }
4
45
  }
5
46
  export {
6
- n as inertValue
47
+ k as useInteractions
7
48
  };
package/dist/index123.js CHANGED
@@ -1,41 +1,16 @@
1
- import * as i from "react";
2
- import { jsx as a } from "react/jsx-runtime";
3
- const c = /* @__PURE__ */ i.forwardRef(function(r, n) {
4
- const {
5
- cutout: e,
6
- ...p
7
- } = r;
8
- let o;
9
- if (e) {
10
- const t = e?.getBoundingClientRect();
11
- o = `polygon(
12
- 0% 0%,
13
- 100% 0%,
14
- 100% 100%,
15
- 0% 100%,
16
- 0% 0%,
17
- ${t.left}px ${t.top}px,
18
- ${t.left}px ${t.bottom}px,
19
- ${t.right}px ${t.bottom}px,
20
- ${t.right}px ${t.top}px,
21
- ${t.left}px ${t.top}px
22
- )`;
23
- }
24
- return /* @__PURE__ */ a("div", {
25
- ref: n,
26
- role: "presentation",
27
- "data-base-ui-inert": "",
28
- ...p,
29
- style: {
30
- position: "fixed",
31
- inset: 0,
32
- userSelect: "none",
33
- WebkitUserSelect: "none",
34
- clipPath: o
35
- }
36
- });
37
- });
38
- process.env.NODE_ENV !== "production" && (c.displayName = "InternalBackdrop");
1
+ const i = {
2
+ clip: "rect(0 0 0 0)",
3
+ overflow: "hidden",
4
+ whiteSpace: "nowrap",
5
+ position: "fixed",
6
+ top: 0,
7
+ left: 0,
8
+ border: 0,
9
+ padding: 0,
10
+ width: 1,
11
+ height: 1,
12
+ margin: -1
13
+ };
39
14
  export {
40
- c as InternalBackdrop
15
+ i as visuallyHidden
41
16
  };
package/dist/index124.js CHANGED
@@ -1,128 +1,8 @@
1
- "use client";
2
1
  import * as t from "react";
3
- import * as h from "react-dom";
4
- import { isNode as M } from "./index101.js";
5
- import { useId as D } from "./index184.js";
6
- import { useIsoLayoutEffect as V } from "./index104.js";
7
- import { FocusGuard as S } from "./index195.js";
8
- import { createChangeEventDetails as w } from "./index113.js";
9
- import { createAttribute as G } from "./index237.js";
10
- import { useRenderElement as _ } from "./index86.js";
11
- import { ownerVisuallyHidden as j } from "./index125.js";
12
- import { jsxs as T, jsx as P } from "react/jsx-runtime";
13
- import { enableFocusInside as I, isOutsideEvent as g, getPreviousTabbable as q, getNextTabbable as A, disableFocusInside as B } from "./index199.js";
14
- import { EMPTY_OBJECT as H } from "./index100.js";
15
- import { focusOut as J } from "./index114.js";
16
- const F = /* @__PURE__ */ t.createContext(null);
17
- process.env.NODE_ENV !== "production" && (F.displayName = "PortalContext");
18
- const Y = () => t.useContext(F), k = G("portal");
19
- function z(N = {}) {
20
- const {
21
- ref: f,
22
- container: s,
23
- componentProps: b = H,
24
- elementProps: E,
25
- elementState: x
26
- } = N, d = D(), m = Y()?.portalNode, [e, c] = t.useState(null), [p, u] = t.useState(null), n = t.useRef(null);
27
- V(() => {
28
- if (s === null) {
29
- n.current && (n.current = null, u(null), c(null));
30
- return;
31
- }
32
- if (d == null)
33
- return;
34
- const a = (s && (M(s) ? s : s.current)) ?? m ?? document.body;
35
- if (a == null) {
36
- n.current && (n.current = null, u(null), c(null));
37
- return;
38
- }
39
- n.current !== a && (n.current = a, u(null), c(a));
40
- }, [s, m, d]);
41
- const i = _("div", b, {
42
- ref: [f, u],
43
- state: x,
44
- props: [{
45
- id: d,
46
- [k]: ""
47
- }, E]
48
- });
49
- return {
50
- portalNode: p,
51
- portalSubtree: e && i ? /* @__PURE__ */ h.createPortal(i, e) : null
52
- };
2
+ function n(r) {
3
+ const e = t.useRef(!0);
4
+ e.current && (e.current = !1, r());
53
5
  }
54
- const K = /* @__PURE__ */ t.forwardRef(function(f, s) {
55
- const {
56
- children: b,
57
- container: E,
58
- className: x,
59
- render: d,
60
- renderGuards: R,
61
- ...m
62
- } = f, {
63
- portalNode: e,
64
- portalSubtree: c
65
- } = z({
66
- container: E,
67
- ref: s,
68
- componentProps: f,
69
- elementProps: m
70
- }), p = t.useRef(null), u = t.useRef(null), n = t.useRef(null), i = t.useRef(null), [o, a] = t.useState(null), C = o?.modal, O = o?.open, v = typeof R == "boolean" ? R : !!o && !o.modal && o.open && !!e;
71
- t.useEffect(() => {
72
- if (!e || C)
73
- return;
74
- function r(l) {
75
- e && g(l) && (l.type === "focusin" ? I : B)(e);
76
- }
77
- return e.addEventListener("focusin", r, !0), e.addEventListener("focusout", r, !0), () => {
78
- e.removeEventListener("focusin", r, !0), e.removeEventListener("focusout", r, !0);
79
- };
80
- }, [e, C]), t.useEffect(() => {
81
- !e || O || I(e);
82
- }, [O, e]);
83
- const L = t.useMemo(() => ({
84
- beforeOutsideRef: p,
85
- afterOutsideRef: u,
86
- beforeInsideRef: n,
87
- afterInsideRef: i,
88
- portalNode: e,
89
- setFocusManagerState: a
90
- }), [e]);
91
- return /* @__PURE__ */ T(t.Fragment, {
92
- children: [c, /* @__PURE__ */ T(F.Provider, {
93
- value: L,
94
- children: [v && e && /* @__PURE__ */ P(S, {
95
- "data-type": "outside",
96
- ref: p,
97
- onFocus: (r) => {
98
- if (g(r, e))
99
- n.current?.focus();
100
- else {
101
- const l = o ? o.domReference : null;
102
- q(l)?.focus();
103
- }
104
- }
105
- }), v && e && /* @__PURE__ */ P("span", {
106
- "aria-owns": e.id,
107
- style: j
108
- }), e && /* @__PURE__ */ h.createPortal(b, e), v && e && /* @__PURE__ */ P(S, {
109
- "data-type": "outside",
110
- ref: u,
111
- onFocus: (r) => {
112
- if (g(r, e))
113
- i.current?.focus();
114
- else {
115
- const l = o ? o.domReference : null;
116
- A(l)?.focus(), o?.closeOnFocusOut && o?.onOpenChange(!1, w(J, r.nativeEvent));
117
- }
118
- }
119
- })]
120
- })]
121
- });
122
- });
123
- process.env.NODE_ENV !== "production" && (K.displayName = "FloatingPortal");
124
6
  export {
125
- K as FloatingPortal,
126
- z as useFloatingPortalNode,
127
- Y as usePortalContext
7
+ n as useOnFirstRender
128
8
  };
package/dist/index125.js CHANGED
@@ -1,23 +1,32 @@
1
- const n = 500, t = 500, i = {
2
- style: {
3
- transition: "none"
1
+ "use client";
2
+ import * as n from "react";
3
+ function d({
4
+ controlled: o,
5
+ default: s,
6
+ name: t,
7
+ state: i = "value"
8
+ }) {
9
+ const {
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)]);
4
24
  }
5
- }, I = "data-base-ui-click-trigger", o = {
6
- fallbackAxisSide: "none"
7
- }, s = {
8
- fallbackAxisSide: "end"
9
- }, e = {
10
- clipPath: "inset(50%)",
11
- position: "fixed",
12
- top: 0,
13
- left: 0
14
- };
25
+ const f = n.useCallback((r) => {
26
+ e || c(r);
27
+ }, []);
28
+ return [u, f];
29
+ }
15
30
  export {
16
- I as CLICK_TRIGGER_IDENTIFIER,
17
- i as DISABLED_TRANSITIONS_STYLE,
18
- o as DROPDOWN_COLLISION_AVOIDANCE,
19
- t as PATIENT_CLICK_THRESHOLD,
20
- s as POPUP_COLLISION_AVOIDANCE,
21
- n as TYPEAHEAD_RESET_MS,
22
- e as ownerVisuallyHidden
31
+ d as useControlled
23
32
  };
package/dist/index126.js CHANGED
@@ -1,79 +1,7 @@
1
- import * as l from "react";
2
- import { useStableCallback as a } from "./index102.js";
3
- import { useIsoLayoutEffect as o } from "./index104.js";
4
- import { useTransitionStatus as s } from "./index137.js";
5
- import { useOpenChangeComplete as f } from "./index119.js";
6
- function m(e, n) {
7
- const t = l.useRef(null);
8
- return l.useCallback((i) => {
9
- e !== void 0 && (t.current !== null && (n.context.triggerElements.delete(t.current), t.current = null), i !== null && (t.current = e, n.context.triggerElements.add(e, i)));
10
- }, [n, e]);
11
- }
12
- function E(e, n, t, i) {
13
- const r = t.useState("isMountedByTrigger", e), c = m(e, t), g = a((u) => {
14
- c(u), u !== null && t.select("open") && t.select("activeTriggerId") == null && t.update({
15
- activeTriggerId: e,
16
- activeTriggerElement: u,
17
- ...i
18
- });
19
- });
20
- return o(() => {
21
- r && t.update({
22
- activeTriggerElement: n.current,
23
- ...i
24
- });
25
- }, [r, t, n, ...Object.values(i)]), {
26
- registerTrigger: g,
27
- isMountedByThisTrigger: r
28
- };
29
- }
30
- function C(e) {
31
- const n = e.useState("open");
32
- o(() => {
33
- if (n && !e.select("activeTriggerId") && e.context.triggerElements.size === 1) {
34
- const t = e.context.triggerElements.entries().next();
35
- if (!t.done) {
36
- const [i, r] = t.value;
37
- e.update({
38
- activeTriggerId: i,
39
- activeTriggerElement: r
40
- });
41
- }
42
- }
43
- }, [n, e]);
44
- }
45
- function x(e, n, t) {
46
- const {
47
- mounted: i,
48
- setMounted: r,
49
- transitionStatus: c
50
- } = s(e);
51
- n.useSyncedValues({
52
- mounted: i,
53
- transitionStatus: c
54
- });
55
- const g = a(() => {
56
- r(!1), n.update({
57
- activeTriggerId: null,
58
- activeTriggerElement: null,
59
- mounted: !1
60
- }), t?.(), n.context.onOpenChangeComplete?.(!1);
61
- }), u = n.useState("preventUnmountingOnClose");
62
- return f({
63
- enabled: !u,
64
- open: e,
65
- ref: n.context.popupRef,
66
- onComplete() {
67
- e || g();
68
- }
69
- }), {
70
- forceUnmount: g,
71
- transitionStatus: c
72
- };
73
- }
1
+ "use client";
2
+ import * as e from "react";
3
+ const o = () => {
4
+ }, t = typeof document < "u" ? e.useLayoutEffect : o;
74
5
  export {
75
- C as useImplicitActiveTrigger,
76
- x as useOpenStateTransitions,
77
- E as useTriggerDataForwarding,
78
- m as useTriggerRegistration
6
+ t as useIsoLayoutEffect
79
7
  };
package/dist/index127.js CHANGED
@@ -1,67 +1,30 @@
1
1
  "use client";
2
- import * as v from "react";
3
- import { useAnimationFrame as P } from "./index164.js";
4
- import { useTimeout as b } from "./index152.js";
5
- import { createChangeEventDetails as k } from "./index113.js";
6
- import { isMouseLikePointerType as w, isClickLikeEvent as I } from "./index221.js";
7
- import { isTypeableElement as x } from "./index155.js";
8
- import { EMPTY_OBJECT as L } from "./index100.js";
9
- import { triggerPress as y } from "./index114.js";
10
- function Y(d, M = {}) {
11
- const e = "rootStore" in d ? d.rootStore : d, T = e.context.dataRef, {
12
- enabled: h = !0,
13
- event: p = "click",
14
- toggle: g = !0,
15
- ignoreMouse: E = !1,
16
- stickIfOpen: O = !0,
17
- touchOpenDelay: n = 0
18
- } = M, s = v.useRef(void 0), C = P(), a = b(), R = v.useMemo(() => ({
19
- onPointerDown(t) {
20
- s.current = t.pointerType;
21
- },
22
- onMouseDown(t) {
23
- const r = s.current, o = t.nativeEvent, c = e.select("open");
24
- if (t.button !== 0 || p === "click" || w(r, !0) && E)
25
- return;
26
- const m = T.current.openEvent, i = m?.type, f = e.select("domReferenceElement") !== t.currentTarget, l = c && f || !(c && g && (!(m && O) || i === "click" || i === "mousedown"));
27
- if (x(o.target)) {
28
- const u = k(y, o, o.target);
29
- l && r === "touch" && n > 0 ? a.start(n, () => {
30
- e.setOpen(!0, u);
31
- }) : e.setOpen(l, u);
32
- return;
33
- }
34
- const D = t.currentTarget;
35
- C.request(() => {
36
- const u = k(y, o, D);
37
- l && r === "touch" && n > 0 ? a.start(n, () => {
38
- e.setOpen(!0, u);
39
- }) : e.setOpen(l, u);
40
- });
41
- },
42
- onClick(t) {
43
- if (p === "mousedown-only")
44
- return;
45
- const r = s.current;
46
- if (p === "mousedown" && r) {
47
- s.current = void 0;
48
- return;
49
- }
50
- if (w(r, !0) && E)
51
- return;
52
- const o = e.select("open"), c = T.current.openEvent, m = e.select("domReferenceElement") !== t.currentTarget, i = o && m || !(o && g && (!(c && O) || I(c))), f = k(y, t.nativeEvent, t.currentTarget);
53
- i && r === "touch" && n > 0 ? a.start(n, () => {
54
- e.setOpen(!0, f);
55
- }) : e.setOpen(i, f);
56
- },
57
- onKeyDown() {
58
- s.current = void 0;
2
+ import * as a from "react";
3
+ import { useRefWithInit as c } from "./index101.js";
4
+ const n = a[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0, -3)], r = (
5
+ // React 17 doesn't have useInsertionEffect.
6
+ n && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
7
+ n !== a.useLayoutEffect ? n : (e) => e()
8
+ );
9
+ function f(e) {
10
+ const t = c(o).current;
11
+ return t.next = e, r(t.effect), t.trampoline;
12
+ }
13
+ function o() {
14
+ const e = {
15
+ next: void 0,
16
+ callback: l,
17
+ trampoline: (...t) => e.callback?.(...t),
18
+ effect: () => {
19
+ e.callback = e.next;
59
20
  }
60
- }), [T, p, E, e, O, g, C, a, n]);
61
- return v.useMemo(() => h ? {
62
- reference: R
63
- } : L, [h, R]);
21
+ };
22
+ return e;
23
+ }
24
+ function l() {
25
+ if (process.env.NODE_ENV !== "production")
26
+ throw new Error("Base UI: Cannot call an event handler while rendering.");
64
27
  }
65
28
  export {
66
- Y as useClick
29
+ f as useStableCallback
67
30
  };
package/dist/index128.js CHANGED
@@ -1,48 +1,20 @@
1
- import * as l from "react";
2
- import { FOCUSABLE_ATTRIBUTE as C, ACTIVE_KEY as s, SELECTED_KEY as E } from "./index245.js";
3
- function k(e = []) {
4
- const a = e.map((n) => n?.reference), g = e.map((n) => n?.floating), f = e.map((n) => n?.item), t = e.map((n) => n?.trigger), o = l.useCallback(
5
- (n) => u(n, e, "reference"),
6
- // eslint-disable-next-line react-hooks/exhaustive-deps
7
- a
8
- ), c = l.useCallback(
9
- (n) => u(n, e, "floating"),
10
- // eslint-disable-next-line react-hooks/exhaustive-deps
11
- g
12
- ), i = l.useCallback(
13
- (n) => u(n, e, "item"),
14
- // eslint-disable-next-line react-hooks/exhaustive-deps
15
- f
16
- ), r = l.useCallback(
17
- (n) => u(n, e, "trigger"),
18
- // eslint-disable-next-line react-hooks/exhaustive-deps
19
- t
20
- );
21
- return l.useMemo(() => ({
22
- getReferenceProps: o,
23
- getFloatingProps: c,
24
- getItemProps: i,
25
- getTriggerProps: r
26
- }), [o, c, i, r]);
1
+ "use client";
2
+ import { useIsoLayoutEffect as n } from "./index126.js";
3
+ import { useRefWithInit as r } from "./index101.js";
4
+ function s(e) {
5
+ const t = r(f, e).current;
6
+ return t.next = e, n(t.effect), t;
27
7
  }
28
- function u(e, a, g) {
29
- const f = /* @__PURE__ */ new Map(), t = g === "item", o = {};
30
- g === "floating" && (o.tabIndex = -1, o[C] = "");
31
- for (const c in e)
32
- t && e && (c === s || c === E) || (o[c] = e[c]);
33
- for (let c = 0; c < a.length; c += 1) {
34
- let i;
35
- const r = a[c]?.[g];
36
- typeof r == "function" ? i = e ? r(e) : null : i = r, i && m(o, i, t, f);
37
- }
38
- return m(o, e, t, f), o;
39
- }
40
- function m(e, a, g, f) {
41
- for (const t in a) {
42
- const o = a[t];
43
- g && (t === s || t === E) || (t.startsWith("on") ? (f.has(t) || f.set(t, []), typeof o == "function" && (f.get(t)?.push(o), e[t] = (...c) => f.get(t)?.map((i) => i(...c)).find((i) => i !== void 0))) : e[t] = o);
44
- }
8
+ function f(e) {
9
+ const t = {
10
+ current: e,
11
+ next: e,
12
+ effect: () => {
13
+ t.current = t.next;
14
+ }
15
+ };
16
+ return t;
45
17
  }
46
18
  export {
47
- k as useInteractions
19
+ s as useValueAsRef
48
20
  };
package/dist/index129.js CHANGED
@@ -1,16 +1,24 @@
1
- const i = {
2
- clip: "rect(0 0 0 0)",
3
- overflow: "hidden",
4
- whiteSpace: "nowrap",
5
- position: "fixed",
6
- top: 0,
7
- left: 0,
8
- border: 0,
9
- padding: 0,
10
- width: 1,
11
- height: 1,
12
- margin: -1
13
- };
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;
18
+ }
14
19
  export {
15
- i as visuallyHidden
20
+ c as SelectFloatingContext,
21
+ n as SelectRootContext,
22
+ i as useSelectFloatingContext,
23
+ s as useSelectRootContext
16
24
  };
package/dist/index130.js CHANGED
@@ -1,8 +1,61 @@
1
- import * as t from "react";
2
- function n(r) {
3
- const e = t.useRef(!0);
4
- e.current && (e.current = !1, r());
1
+ "use client";
2
+ import s from "./index94.js";
3
+ import * as a from "react";
4
+ import { DEFAULT_VALIDITY_STATE as n } from "./index149.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
15
+ },
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;
5
57
  }
6
58
  export {
7
- n as useOnFirstRender
59
+ l as FieldRootContext,
60
+ f as useFieldRootContext
8
61
  };