@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/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 "./index94.js";
5
- import { useId as D } from "./index149.js";
6
- import { useIsoLayoutEffect as V } from "./index97.js";
7
- import { FocusGuard as S } from "./index168.js";
8
- import { createChangeEventDetails as w } from "./index113.js";
9
- import { createAttribute as G } from "./index238.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 "./index172.js";
14
- import { EMPTY_OBJECT as H } from "./index106.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 "./index95.js";
3
- import { useIsoLayoutEffect as o } from "./index97.js";
4
- import { useTransitionStatus as s } from "./index136.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 "./index150.js";
4
- import { useTimeout as b } from "./index148.js";
5
- import { createChangeEventDetails as k } from "./index113.js";
6
- import { isMouseLikePointerType as w, isClickLikeEvent as I } from "./index222.js";
7
- import { isTypeableElement as x } from "./index173.js";
8
- import { EMPTY_OBJECT as L } from "./index106.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 "./index246.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,32 +1,24 @@
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)]);
24
- }
25
- const f = n.useCallback((r) => {
26
- e || c(r);
27
- }, []);
28
- return [u, f];
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;
29
18
  }
30
19
  export {
31
- d as useControlled
20
+ c as SelectFloatingContext,
21
+ n as SelectRootContext,
22
+ i as useSelectFloatingContext,
23
+ s as useSelectRootContext
32
24
  };
package/dist/index130.js CHANGED
@@ -1,14 +1,61 @@
1
- import n from "./index100.js";
2
- import * as t from "react";
3
- const o = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (o.displayName = "MenuCheckboxItemContext");
5
- function s() {
6
- const e = t.useContext(o);
7
- if (e === void 0)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: MenuCheckboxItemContext is missing. MenuCheckboxItem parts must be placed within <Menu.CheckboxItem>." : n(30));
9
- return e;
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;
10
57
  }
11
58
  export {
12
- o as MenuCheckboxItemContext,
13
- s as useMenuCheckboxItemContext
59
+ l as FieldRootContext,
60
+ f as useFieldRootContext
14
61
  };
package/dist/index131.js CHANGED
@@ -1,69 +1,20 @@
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) {
12
- 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]);
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);
65
16
  }
66
17
  export {
67
- A as REGULAR_ITEM,
68
- w as useMenuItem
18
+ o as LabelableContext,
19
+ a as useLabelableContext
69
20
  };