@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/index170.js CHANGED
@@ -1,116 +1,120 @@
1
- import { isElement as U } from "./index94.js";
2
- import { Timeout as Z } from "./index148.js";
3
- import { getTarget as $, contains as W } from "./index173.js";
4
- import { getNodeChildren as y } from "./index242.js";
5
- function G(u, t) {
6
- const [_, R] = u;
7
- let h = !1;
8
- const a = t.length;
9
- for (let d = 0, b = a - 1; d < a; b = d++) {
10
- const [O, E] = t[d] || [0, 0], [S, i] = t[b] || [0, 0];
11
- E >= R != i >= R && _ <= (S - O) * (R - E) / (i - E) + O && (h = !h);
12
- }
13
- return h;
14
- }
15
- function x(u, t) {
16
- return u[0] >= t.x && u[0] <= t.x + t.width && u[1] >= t.y && u[1] <= t.y + t.height;
17
- }
18
- function rt(u = {}) {
1
+ "use client";
2
+ import * as R from "react";
3
+ import { useTimeout as O } from "./index152.js";
4
+ import { useIsoLayoutEffect as X } from "./index104.js";
5
+ import { useSelectRootContext as Y } from "./index133.js";
6
+ import { useSelectPositionerContext as _ } from "./index160.js";
7
+ import { useTransitionStatus as j } from "./index137.js";
8
+ import { useOpenChangeComplete as q } from "./index119.js";
9
+ import { useRenderElement as z } from "./index86.js";
10
+ import { selectors as d } from "./index138.js";
11
+ import { useStore as H } from "./index149.js";
12
+ const F = /* @__PURE__ */ R.forwardRef(function(w, I) {
19
13
  const {
20
- buffer: t = 0.5,
21
- blockPointerEvents: _ = !1,
22
- requireIntent: R = !0
23
- } = u, h = new Z();
24
- let a = !1, d = null, b = null, O = typeof performance < "u" ? performance.now() : 0;
25
- function E(i, s) {
26
- const k = performance.now(), c = k - O;
27
- if (d === null || b === null || c === 0)
28
- return d = i, b = s, O = k, null;
29
- const X = i - d, Y = s - b, z = Math.sqrt(X * X + Y * Y) / c;
30
- return d = i, b = s, O = k, z;
31
- }
32
- const S = ({
33
- x: i,
34
- y: s,
35
- placement: k,
36
- elements: c,
37
- onClose: X,
38
- nodeId: Y,
39
- tree: p
40
- }) => function(P) {
41
- function I() {
42
- h.clear(), X();
14
+ render: J,
15
+ className: K,
16
+ direction: r,
17
+ keepMounted: v = !1,
18
+ ...V
19
+ } = w, {
20
+ store: o,
21
+ popupRef: g,
22
+ listRef: a,
23
+ handleScrollArrowVisibility: C,
24
+ scrollArrowsMountedCountRef: c
25
+ } = Y(), {
26
+ side: S,
27
+ scrollDownArrowRef: E,
28
+ scrollUpArrowRef: N
29
+ } = _(), y = r === "up" ? d.scrollUpArrowVisible : d.scrollDownArrowVisible, B = H(o, y), D = H(o, d.openMethod), n = B && D !== "touch", f = O(), p = r === "up" ? N : E, {
30
+ transitionStatus: T,
31
+ setMounted: k
32
+ } = j(n);
33
+ X(() => (c.current += 1, o.state.hasScrollArrows || o.set("hasScrollArrows", !0), () => {
34
+ c.current = Math.max(0, c.current - 1), c.current === 0 && o.state.hasScrollArrows && o.set("hasScrollArrows", !1);
35
+ }), [o, c]), q({
36
+ open: n,
37
+ ref: p,
38
+ onComplete() {
39
+ n || k(!1);
43
40
  }
44
- if (h.clear(), !c.domReference || !c.floating || k == null || i == null || s == null)
45
- return;
46
- const {
47
- clientX: N,
48
- clientY: V
49
- } = P, H = [N, V], A = $(P), j = P.type === "mouseleave", J = W(c.floating, A), D = W(c.domReference, A), n = c.domReference.getBoundingClientRect(), o = c.floating.getBoundingClientRect(), C = k.split("-")[0], m = i > o.right - o.width / 2, g = s > o.bottom - o.height / 2, K = x(H, n), l = o.width > n.width, f = o.height > n.height, v = (l ? n : o).left, B = (l ? n : o).right, M = (f ? n : o).top, q = (f ? n : o).bottom;
50
- if (J && (a = !0, !j))
51
- return;
52
- if (D && (a = !1), D && !j) {
53
- a = !0;
54
- return;
55
- }
56
- if (j && U(P.relatedTarget) && W(c.floating, P.relatedTarget) || p && y(p.nodesRef.current, Y).some(({
57
- context: e
58
- }) => e?.open))
59
- return;
60
- if (C === "top" && s >= n.bottom - 1 || C === "bottom" && s <= n.top + 1 || C === "left" && i >= n.right - 1 || C === "right" && i <= n.left + 1)
61
- return I();
62
- let L = [];
63
- switch (C) {
64
- case "top":
65
- L = [[v, n.top + 1], [v, o.bottom - 1], [B, o.bottom - 1], [B, n.top + 1]];
66
- break;
67
- case "bottom":
68
- L = [[v, o.top + 1], [v, n.bottom - 1], [B, n.bottom - 1], [B, o.top + 1]];
69
- break;
70
- case "left":
71
- L = [[o.right - 1, q], [o.right - 1, M], [n.left + 1, M], [n.left + 1, q]];
72
- break;
73
- case "right":
74
- L = [[n.right - 1, q], [n.right - 1, M], [o.left + 1, M], [o.left + 1, q]];
75
- break;
76
- }
77
- function Q([e, r]) {
78
- switch (C) {
79
- case "top": {
80
- const T = [l ? e + t / 2 : m ? e + t * 4 : e - t * 4, r + t + 1], w = [l ? e - t / 2 : m ? e + t * 4 : e - t * 4, r + t + 1], F = [[o.left, m || l ? o.bottom - t : o.top], [o.right, m ? l ? o.bottom - t : o.top : o.bottom - t]];
81
- return [T, w, ...F];
82
- }
83
- case "bottom": {
84
- const T = [l ? e + t / 2 : m ? e + t * 4 : e - t * 4, r - t], w = [l ? e - t / 2 : m ? e + t * 4 : e - t * 4, r - t], F = [[o.left, m || l ? o.top + t : o.bottom], [o.right, m ? l ? o.top + t : o.bottom : o.top + t]];
85
- return [T, w, ...F];
86
- }
87
- case "left": {
88
- const T = [e + t + 1, f ? r + t / 2 : g ? r + t * 4 : r - t * 4], w = [e + t + 1, f ? r - t / 2 : g ? r + t * 4 : r - t * 4];
89
- return [...[[g || f ? o.right - t : o.left, o.top], [g ? f ? o.right - t : o.left : o.right - t, o.bottom]], T, w];
41
+ });
42
+ const P = R.useMemo(() => ({
43
+ direction: r,
44
+ visible: n,
45
+ side: S,
46
+ transitionStatus: T
47
+ }), [r, n, S, T]), U = z("div", w, {
48
+ ref: [I, p],
49
+ state: P,
50
+ props: [{
51
+ "aria-hidden": !0,
52
+ children: r === "up" ? "▲" : "▼",
53
+ style: {
54
+ position: "absolute"
55
+ },
56
+ onMouseMove(A) {
57
+ if (A.movementX === 0 && A.movementY === 0 || f.isStarted())
58
+ return;
59
+ o.set("activeIndex", null);
60
+ function M() {
61
+ const t = o.state.listElement ?? g.current;
62
+ if (!t)
63
+ return;
64
+ o.set("activeIndex", null), C();
65
+ const x = t.scrollTop === 0, b = Math.round(t.scrollTop + t.clientHeight) >= t.scrollHeight;
66
+ if (a.current.length === 0 && (r === "up" ? o.set("scrollUpArrowVisible", !x) : o.set("scrollDownArrowVisible", !b)), r === "up" && x || r === "down" && b) {
67
+ f.clear();
68
+ return;
69
+ }
70
+ if ((o.state.listElement || g.current) && a.current && a.current.length > 0) {
71
+ const s = a.current, m = p.current?.offsetHeight || 0;
72
+ if (r === "up") {
73
+ let l = 0;
74
+ const h = t.scrollTop + m;
75
+ for (let e = 0; e < s.length; e += 1) {
76
+ const i = s[e];
77
+ if (i && i.offsetTop >= h) {
78
+ l = e;
79
+ break;
80
+ }
81
+ }
82
+ const u = Math.max(0, l - 1);
83
+ if (u < l) {
84
+ const e = s[u];
85
+ e && (t.scrollTop = Math.max(0, e.offsetTop - m));
86
+ } else
87
+ t.scrollTop = 0;
88
+ } else {
89
+ let l = s.length - 1;
90
+ const h = t.scrollTop + t.clientHeight - m;
91
+ for (let e = 0; e < s.length; e += 1) {
92
+ const i = s[e];
93
+ if (i && i.offsetTop + i.offsetHeight > h) {
94
+ l = Math.max(0, e - 1);
95
+ break;
96
+ }
97
+ }
98
+ const u = Math.min(s.length - 1, l + 1);
99
+ if (u > l) {
100
+ const e = s[u];
101
+ e && (t.scrollTop = e.offsetTop + e.offsetHeight - t.clientHeight + m);
102
+ } else
103
+ t.scrollTop = t.scrollHeight - t.clientHeight;
104
+ }
105
+ }
106
+ f.start(40, M);
90
107
  }
91
- case "right": {
92
- const T = [e - t, f ? r + t / 2 : g ? r + t * 4 : r - t * 4], w = [e - t, f ? r - t / 2 : g ? r + t * 4 : r - t * 4], F = [[g || f ? o.left + t : o.right, o.top], [g ? f ? o.left + t : o.right : o.left + t, o.bottom]];
93
- return [T, w, ...F];
94
- }
95
- default:
96
- return [];
97
- }
98
- }
99
- if (!G([N, V], L)) {
100
- if (a && !K)
101
- return I();
102
- if (!j && R) {
103
- const e = E(P.clientX, P.clientY);
104
- if (e !== null && e < 0.1)
105
- return I();
108
+ f.start(40, M);
109
+ },
110
+ onMouseLeave() {
111
+ f.clear();
106
112
  }
107
- G([N, V], Q([i, s])) ? !a && R && h.start(40, I) : I();
108
- }
109
- };
110
- return S.__options = {
111
- blockPointerEvents: _
112
- }, S;
113
- }
113
+ }, V]
114
+ });
115
+ return n || v ? U : null;
116
+ });
117
+ process.env.NODE_ENV !== "production" && (F.displayName = "SelectScrollArrow");
114
118
  export {
115
- rt as safePolygon
119
+ F as SelectScrollArrow
116
120
  };
package/dist/index171.js CHANGED
@@ -1,78 +1,14 @@
1
- import * as i from "react";
2
- import { getWindow as h, isElement as b, isHTMLElement as M } from "./index94.js";
3
- import { isMac as F, isSafari as D } from "./index194.js";
4
- import { useTimeout as k } from "./index148.js";
5
- import { createChangeEventDetails as R } from "./index113.js";
6
- import { createAttribute as O } from "./index238.js";
7
- import { activeElement as T, contains as w, getTarget as S, isTypeableElement as A, matchesFocusVisible as C, getDocument as x } from "./index173.js";
8
- import { triggerFocus as y, triggerPress as B, escapeKey as K } from "./index114.js";
9
- const g = F && D;
10
- function z(a, L = {}) {
11
- const r = "rootStore" in a ? a.rootStore : a, {
12
- events: f,
13
- dataRef: E
14
- } = r.context, {
15
- enabled: o = !0,
16
- visibleOnly: p = !0
17
- } = L, s = i.useRef(!1), v = k(), m = i.useRef(!0);
18
- i.useEffect(() => {
19
- const t = r.select("domReferenceElement");
20
- if (!o)
21
- return;
22
- const e = h(t);
23
- function u() {
24
- !r.select("open") && M(t) && t === T(x(t)) && (s.current = !0);
25
- }
26
- function c() {
27
- m.current = !0;
28
- }
29
- function n() {
30
- m.current = !1;
31
- }
32
- return e.addEventListener("blur", u), g && (e.addEventListener("keydown", c, !0), e.addEventListener("pointerdown", n, !0)), () => {
33
- e.removeEventListener("blur", u), g && (e.removeEventListener("keydown", c, !0), e.removeEventListener("pointerdown", n, !0));
34
- };
35
- }, [r, o]), i.useEffect(() => {
36
- if (!o)
37
- return;
38
- function t(e) {
39
- (e.reason === B || e.reason === K) && (s.current = !0);
40
- }
41
- return f.on("openchange", t), () => {
42
- f.off("openchange", t);
43
- };
44
- }, [f, o]);
45
- const l = i.useMemo(() => ({
46
- onMouseLeave() {
47
- s.current = !1;
48
- },
49
- onFocus(t) {
50
- if (s.current)
51
- return;
52
- const e = S(t.nativeEvent);
53
- if (p && b(e)) {
54
- if (g && !t.relatedTarget) {
55
- if (!m.current && !A(e))
56
- return;
57
- } else if (!C(e))
58
- return;
59
- }
60
- r.setOpen(!0, R(y, t.nativeEvent, t.currentTarget));
61
- },
62
- onBlur(t) {
63
- s.current = !1;
64
- const e = t.relatedTarget, u = t.nativeEvent, c = b(e) && e.hasAttribute(O("focus-guard")) && e.getAttribute("data-type") === "outside";
65
- v.start(0, () => {
66
- const n = r.select("domReferenceElement"), d = T(n ? n.ownerDocument : document);
67
- !e && d === n || w(E.current.floatingContext?.refs.floating.current, d) || w(n, d) || c || r.context.triggerElements.hasElement(t.relatedTarget) || r.setOpen(!1, R(y, u));
68
- });
69
- }
70
- }), [E, r, p, v]);
71
- return i.useMemo(() => o ? {
72
- reference: l,
73
- trigger: l
74
- } : {}, [o, l]);
1
+ import r from "./index94.js";
2
+ import * as t from "react";
3
+ const o = /* @__PURE__ */ t.createContext(void 0);
4
+ process.env.NODE_ENV !== "production" && (o.displayName = "SelectGroupContext");
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: SelectGroupContext is missing. SelectGroup parts must be placed within <Select.Group>." : r(56));
9
+ return e;
75
10
  }
76
11
  export {
77
- z as useFocus
12
+ o as SelectGroupContext,
13
+ s as useSelectGroupContext
78
14
  };
package/dist/index172.js CHANGED
@@ -1,67 +1,14 @@
1
- import { tabbable as r } from "./index237.js";
2
- import { contains as d, getDocument as b, activeElement as f } from "./index173.js";
3
- const s = () => ({
4
- getShadowRoot: !0,
5
- displayCheck: (
6
- // JSDOM does not support the `tabbable` library. To solve this we can
7
- // check if `ResizeObserver` is a real function (not polyfilled), which
8
- // determines if the current environment is JSDOM-like.
9
- typeof ResizeObserver == "function" && ResizeObserver.toString().includes("[native code]") ? "full" : "none"
10
- )
11
- });
12
- function u(t, a) {
13
- const e = r(t, s()), n = e.length;
14
- if (n === 0)
15
- return;
16
- const i = f(b(t)), o = e.indexOf(i), c = o === -1 ? a === 1 ? 0 : n - 1 : o + a;
17
- return e[c];
18
- }
19
- function T(t) {
20
- return u(b(t).body, 1) || t;
21
- }
22
- function m(t) {
23
- return u(b(t).body, -1) || t;
24
- }
25
- function l(t, a) {
26
- if (!t)
27
- return null;
28
- const e = r(b(t).body, s()), n = e.length;
29
- if (n === 0)
30
- return null;
31
- const i = e.indexOf(t);
32
- if (i === -1)
33
- return null;
34
- const o = (i + a + n) % n;
35
- return e[o];
36
- }
37
- function v(t) {
38
- return l(t, 1);
39
- }
40
- function h(t) {
41
- return l(t, -1);
42
- }
43
- function p(t, a) {
44
- const e = a || t.currentTarget, n = t.relatedTarget;
45
- return !n || !d(e, n);
46
- }
47
- function y(t) {
48
- r(t, s()).forEach((e) => {
49
- e.dataset.tabindex = e.getAttribute("tabindex") || "", e.setAttribute("tabindex", "-1");
50
- });
51
- }
52
- function A(t) {
53
- t.querySelectorAll("[data-tabindex]").forEach((e) => {
54
- const n = e.dataset.tabindex;
55
- delete e.dataset.tabindex, n ? e.setAttribute("tabindex", n) : e.removeAttribute("tabindex");
56
- });
1
+ import n from "./index94.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;
57
10
  }
58
11
  export {
59
- y as disableFocusInside,
60
- A as enableFocusInside,
61
- T as getNextTabbable,
62
- m as getPreviousTabbable,
63
- v as getTabbableAfterElement,
64
- h as getTabbableBeforeElement,
65
- s as getTabbableOptions,
66
- p as isOutsideEvent
12
+ o as MenuCheckboxItemContext,
13
+ s as useMenuCheckboxItemContext
67
14
  };
package/dist/index173.js CHANGED
@@ -1,72 +1,69 @@
1
- import { isHTMLElement as u, isShadowRoot as i } from "./index94.js";
2
- import { isJSDOM as c } from "./index194.js";
3
- import { TYPEABLE_SELECTOR as s, FOCUSABLE_ATTRIBUTE as n } from "./index246.js";
4
- function h(t) {
5
- let e = t.activeElement;
6
- for (; e?.shadowRoot?.activeElement != null; )
7
- e = e.shadowRoot.activeElement;
8
- return e;
9
- }
10
- function b(t, e) {
11
- if (!t || !e)
12
- return !1;
13
- const r = e.getRootNode?.();
14
- if (t.contains(e))
15
- return !0;
16
- if (r && i(r)) {
17
- let o = e;
18
- for (; o; ) {
19
- if (t === o)
20
- return !0;
21
- o = o.parentNode || o.host;
1
+ "use client";
2
+ import * as a from "react";
3
+ import { useMergedRefs as h } from "./index95.js";
4
+ import { useContextMenuRootContext as y } from "./index180.js";
5
+ import { useButton as P } from "./index88.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();
22
59
  }
23
- }
24
- return !1;
25
- }
26
- function E(t) {
27
- return "composedPath" in t ? t.composedPath()[0] : t.target;
28
- }
29
- function T(t, e) {
30
- if (e == null)
31
- return !1;
32
- if ("composedPath" in t)
33
- return t.composedPath().includes(e);
34
- const r = t;
35
- return r.target != null && e.contains(r.target);
36
- }
37
- function p(t) {
38
- return t.matches("html,body");
39
- }
40
- function d(t) {
41
- return t?.ownerDocument || document;
42
- }
43
- function a(t) {
44
- return u(t) && t.matches(s);
45
- }
46
- function g(t) {
47
- return t ? t.getAttribute("role") === "combobox" && a(t) : !1;
48
- }
49
- function R(t) {
50
- if (!t || c)
51
- return !0;
52
- try {
53
- return t.matches(":focus-visible");
54
- } catch {
55
- return !0;
56
- }
57
- }
58
- function w(t) {
59
- return t ? t.hasAttribute(n) ? t : t.querySelector(`[${n}]`) || t : null;
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]);
60
65
  }
61
66
  export {
62
- h as activeElement,
63
- b as contains,
64
- d as getDocument,
65
- w as getFloatingFocusElement,
66
- E as getTarget,
67
- T as isEventTargetWithin,
68
- p as isRootElement,
69
- g as isTypeableCombobox,
70
- a as isTypeableElement,
71
- R as matchesFocusVisible
67
+ A as REGULAR_ITEM,
68
+ w as useMenuItem
72
69
  };
package/dist/index174.js CHANGED
@@ -1,16 +1,15 @@
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
+ "use client";
2
+ import r from "./index94.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;
11
+ }
14
12
  export {
15
- i as visuallyHidden
13
+ o as MenuRootContext,
14
+ i as useMenuRootContext
16
15
  };
package/dist/index175.js CHANGED
@@ -1,8 +1,15 @@
1
- import * as t from "react";
2
- function n(r) {
3
- const e = t.useRef(!0);
4
- e.current && (e.current = !1, r());
5
- }
1
+ import { transitionStatusMapping as r } from "./index112.js";
2
+ import { MenuCheckboxItemDataAttributes as t } from "./index233.js";
3
+ const c = {
4
+ checked(e) {
5
+ return e ? {
6
+ [t.checked]: ""
7
+ } : {
8
+ [t.unchecked]: ""
9
+ };
10
+ },
11
+ ...r
12
+ };
6
13
  export {
7
- n as useOnFirstRender
14
+ c as itemMapping
8
15
  };
package/dist/index176.js CHANGED
@@ -1,20 +1,15 @@
1
1
  "use client";
2
- import { useIsoLayoutEffect as n } from "./index97.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;
14
- }
15
- };
16
- return t;
2
+ import i from "./index94.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;
17
11
  }
18
12
  export {
19
- s as useValueAsRef
13
+ t as MenuPositionerContext,
14
+ s as useMenuPositionerContext
20
15
  };