@yselimcan/ui 0.0.6 → 0.0.8

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 (236) hide show
  1. package/dist/index100.js +5 -32
  2. package/dist/index101.js +8 -19
  3. package/dist/index102.js +86 -4
  4. package/dist/index103.js +13 -4
  5. package/dist/index104.js +63 -5
  6. package/dist/index105.js +38 -12
  7. package/dist/index106.js +14 -19
  8. package/dist/index107.js +33 -13
  9. package/dist/index108.js +19 -297
  10. package/dist/index109.js +5 -4
  11. package/dist/index110.js +4 -39
  12. package/dist/index111.js +5 -126
  13. package/dist/index112.js +11 -4
  14. package/dist/index113.js +19 -21
  15. package/dist/index114.js +13 -77
  16. package/dist/index115.js +291 -59
  17. package/dist/index116.js +4 -45
  18. package/dist/index117.js +37 -65
  19. package/dist/index118.js +125 -8
  20. package/dist/index119.js +20 -13
  21. package/dist/index120.js +76 -3
  22. package/dist/index121.js +64 -3
  23. package/dist/index122.js +45 -5
  24. package/dist/index123.js +14 -134
  25. package/dist/index124.js +5 -27
  26. package/dist/index125.js +27 -6
  27. package/dist/index127.js +26 -11
  28. package/dist/index128.js +15 -20
  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 +6 -6
  70. package/dist/index17.js +4 -4
  71. package/dist/index170.js +63 -114
  72. package/dist/index171.js +8 -7
  73. package/dist/index172.js +13 -12
  74. package/dist/index173.js +11 -65
  75. package/dist/index174.js +10 -11
  76. package/dist/index175.js +87 -12
  77. package/dist/index176.js +7 -8
  78. package/dist/index177.js +11 -11
  79. package/dist/index178.js +52 -83
  80. package/dist/index179.js +11 -11
  81. package/dist/index18.js +4 -4
  82. package/dist/index180.js +11 -11
  83. package/dist/index181.js +16 -54
  84. package/dist/index182.js +8 -11
  85. package/dist/index183.js +7 -10
  86. package/dist/index184.js +102 -17
  87. package/dist/index185.js +7 -8
  88. package/dist/index186.js +32 -8
  89. package/dist/index187.js +73 -102
  90. package/dist/index188.js +14 -7
  91. package/dist/index189.js +27 -31
  92. package/dist/index19.js +9 -9
  93. package/dist/index190.js +12 -74
  94. package/dist/index191.js +7 -14
  95. package/dist/index192.js +21 -27
  96. package/dist/index193.js +25 -8
  97. package/dist/index194.js +159 -21
  98. package/dist/index195.js +114 -25
  99. package/dist/index196.js +67 -152
  100. package/dist/index197.js +62 -111
  101. package/dist/index198.js +8 -75
  102. package/dist/index199.js +22 -64
  103. package/dist/index20.js +2 -2
  104. package/dist/index200.js +5 -47
  105. package/dist/index201.js +4 -200
  106. package/dist/index202.js +9 -47
  107. package/dist/index203.js +39 -20
  108. package/dist/index204.js +57 -27
  109. package/dist/index205.js +27 -5
  110. package/dist/index206.js +7 -9
  111. package/dist/index207.js +12 -11
  112. package/dist/index208.js +11 -16
  113. package/dist/index209.js +11 -6
  114. package/dist/index21.js +3 -3
  115. package/dist/index210.js +22 -4
  116. package/dist/index211.js +11 -21
  117. package/dist/index212.js +7 -127
  118. package/dist/index213.js +43 -45
  119. package/dist/index214.js +595 -16
  120. package/dist/index215.js +12 -5
  121. package/dist/index216.js +15 -179
  122. package/dist/index217.js +47 -75
  123. package/dist/index218.js +186 -385
  124. package/dist/index219.js +48 -4
  125. package/dist/index22.js +5 -5
  126. package/dist/index220.js +19 -4
  127. package/dist/index221.js +30 -12
  128. package/dist/index222.js +5 -31
  129. package/dist/index223.js +26 -38
  130. package/dist/index224.js +12 -57
  131. package/dist/index225.js +21 -27
  132. package/dist/index226.js +127 -7
  133. package/dist/index227.js +45 -13
  134. package/dist/index228.js +18 -12
  135. package/dist/index229.js +5 -12
  136. package/dist/index23.js +2 -2
  137. package/dist/index230.js +178 -19
  138. package/dist/index231.js +75 -11
  139. package/dist/index232.js +398 -7
  140. package/dist/index233.js +4 -43
  141. package/dist/index234.js +5 -597
  142. package/dist/index235.js +14 -11
  143. package/dist/index236.js +20 -208
  144. package/dist/index237.js +6 -4
  145. package/dist/index238.js +208 -13
  146. package/dist/index239.js +3 -47
  147. package/dist/index24.js +9 -9
  148. package/dist/index240.js +13 -3
  149. package/dist/index241.js +45 -10
  150. package/dist/index242.js +3 -57
  151. package/dist/index243.js +11 -28
  152. package/dist/index244.js +56 -12
  153. package/dist/index245.js +30 -9
  154. package/dist/index246.js +12 -205
  155. package/dist/index247.js +9 -15
  156. package/dist/index248.js +189 -304
  157. package/dist/index249.js +15 -3
  158. package/dist/index250.js +322 -3
  159. package/dist/index251.js +3 -21
  160. package/dist/index252.js +3 -6
  161. package/dist/index253.js +1 -1
  162. package/dist/index256.js +1 -1
  163. package/dist/index257.js +1 -1
  164. package/dist/index260.js +1 -1
  165. package/dist/index261.js +1 -1
  166. package/dist/index262.js +2 -2
  167. package/dist/index264.js +2 -2
  168. package/dist/index28.js +1 -1
  169. package/dist/index29.js +1 -1
  170. package/dist/index30.js +1 -1
  171. package/dist/index31.js +1 -1
  172. package/dist/index32.js +1 -1
  173. package/dist/index33.js +16 -16
  174. package/dist/index34.js +5 -5
  175. package/dist/index35.js +12 -12
  176. package/dist/index36.js +10 -10
  177. package/dist/index37.js +7 -7
  178. package/dist/index38.js +8 -8
  179. package/dist/index39.js +4 -4
  180. package/dist/index40.js +2 -2
  181. package/dist/index41.js +2 -2
  182. package/dist/index42.js +2 -2
  183. package/dist/index43.js +1 -1
  184. package/dist/index45.js +5 -5
  185. package/dist/index46.js +9 -9
  186. package/dist/index47.js +9 -9
  187. package/dist/index48.js +18 -18
  188. package/dist/index49.js +4 -4
  189. package/dist/index50.js +11 -11
  190. package/dist/index51.js +1 -1
  191. package/dist/index52.js +24 -24
  192. package/dist/index53.js +3 -3
  193. package/dist/index54.js +30 -30
  194. package/dist/index55.js +13 -13
  195. package/dist/index56.js +12 -12
  196. package/dist/index57.js +1 -1
  197. package/dist/index58.js +2 -2
  198. package/dist/index59.js +5 -5
  199. package/dist/index60.js +11 -11
  200. package/dist/index61.js +4 -4
  201. package/dist/index62.js +3 -3
  202. package/dist/index63.js +11 -11
  203. package/dist/index64.js +4 -4
  204. package/dist/index65.js +3 -3
  205. package/dist/index66.js +13 -13
  206. package/dist/index68.js +1 -1
  207. package/dist/index69.js +31 -31
  208. package/dist/index70.js +5 -5
  209. package/dist/index71.js +16 -16
  210. package/dist/index72.js +22 -22
  211. package/dist/index73.js +7 -7
  212. package/dist/index74.js +1 -1
  213. package/dist/index75.js +12 -12
  214. package/dist/index76.js +2 -2
  215. package/dist/index77.js +4 -4
  216. package/dist/index78.js +2 -2
  217. package/dist/index79.js +1 -1
  218. package/dist/index80.js +1 -1
  219. package/dist/index81.js +17 -17
  220. package/dist/index82.js +4 -4
  221. package/dist/index83.js +4 -4
  222. package/dist/index87.js +7 -7
  223. package/dist/index88.js +9 -9
  224. package/dist/index89.js +19 -90
  225. package/dist/index90.js +15 -18
  226. package/dist/index91.js +33 -16
  227. package/dist/index92.js +12 -33
  228. package/dist/index93.js +90 -12
  229. package/dist/index94.js +4 -7
  230. package/dist/index95.js +65 -86
  231. package/dist/index96.js +8 -12
  232. package/dist/index97.js +12 -61
  233. package/dist/index98.js +4 -38
  234. package/dist/index99.js +4 -14
  235. package/dist/styles.css +1 -1
  236. package/package.json +7 -4
package/dist/index165.js CHANGED
@@ -1,12 +1,56 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- const e = "base-ui-disable-scrollbar", r = {
3
- className: e,
4
- element: /* @__PURE__ */ l("style", {
5
- href: e,
6
- precedence: "base-ui:low",
7
- children: `.${e}{scrollbar-width:none}.${e}::-webkit-scrollbar{display:none}`
8
- })
9
- };
1
+ "use client";
2
+ import * as u from "react";
3
+ import { useIsoLayoutEffect as g } from "./index126.js";
4
+ import { useCompositeListContext as F } from "./index225.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;
32
+ }
33
+ }, [n, R, i, c, d]);
34
+ return g(() => {
35
+ if (r != null)
36
+ return;
37
+ const e = s.current;
38
+ if (e)
39
+ return m(e, l), () => {
40
+ a(e);
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]);
52
+ }
10
53
  export {
11
- r as styleDisableScrollbar
54
+ I as IndexGuessBehavior,
55
+ N as useCompositeListItem
12
56
  };
package/dist/index166.js CHANGED
@@ -1,11 +1,14 @@
1
- "use client";
2
- import * as o from "react";
3
- const t = /* @__PURE__ */ o.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (t.displayName = "ToolbarRootContext");
5
- function r(e) {
6
- return o.useContext(t);
1
+ 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 = "SelectItemContext");
5
+ function s() {
6
+ const e = t.useContext(o);
7
+ if (!e)
8
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectItemContext is missing. SelectItem parts must be placed within <Select.Item>." : n(57));
9
+ return e;
7
10
  }
8
11
  export {
9
- t as ToolbarRootContext,
10
- r as useToolbarRootContext
12
+ o as SelectItemContext,
13
+ s as useSelectItemContext
11
14
  };
package/dist/index167.js CHANGED
@@ -1,8 +1,120 @@
1
- import { DISABLED_TRANSITIONS_STYLE as r } from "./index113.js";
2
- import { EMPTY_OBJECT as o } from "./index122.js";
3
- function T(t) {
4
- return t === "starting" ? r : o;
5
- }
1
+ "use client";
2
+ import * as R from "react";
3
+ import { useTimeout as O } from "./index148.js";
4
+ import { useIsoLayoutEffect as X } from "./index126.js";
5
+ import { useSelectRootContext as Y } from "./index129.js";
6
+ import { useSelectPositionerContext as _ } from "./index156.js";
7
+ import { useTransitionStatus as j } from "./index133.js";
8
+ import { useOpenChangeComplete as q } from "./index113.js";
9
+ import { useRenderElement as z } from "./index87.js";
10
+ import { selectors as d } from "./index134.js";
11
+ import { useStore as H } from "./index145.js";
12
+ const F = /* @__PURE__ */ R.forwardRef(function(w, I) {
13
+ const {
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);
40
+ }
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);
107
+ }
108
+ f.start(40, M);
109
+ },
110
+ onMouseLeave() {
111
+ f.clear();
112
+ }
113
+ }, V]
114
+ });
115
+ return n || v ? U : null;
116
+ });
117
+ process.env.NODE_ENV !== "production" && (F.displayName = "SelectScrollArrow");
6
118
  export {
7
- T as getDisabledMountTransitionStyles
119
+ F as SelectScrollArrow
8
120
  };
package/dist/index168.js CHANGED
@@ -1,56 +1,14 @@
1
- "use client";
2
- import * as u from "react";
3
- import { useIsoLayoutEffect as g } from "./index126.js";
4
- import { useCompositeListContext as F } from "./index211.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;
32
- }
33
- }, [n, R, i, c, d]);
34
- return g(() => {
35
- if (r != null)
36
- return;
37
- const e = s.current;
38
- if (e)
39
- return m(e, l), () => {
40
- a(e);
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]);
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;
52
10
  }
53
11
  export {
54
- I as IndexGuessBehavior,
55
- N as useCompositeListItem
12
+ o as SelectGroupContext,
13
+ s as useSelectGroupContext
56
14
  };
package/dist/index169.js CHANGED
@@ -1,14 +1,14 @@
1
- import n from "./index112.js";
1
+ import n from "./index94.js";
2
2
  import * as t from "react";
3
3
  const o = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (o.displayName = "SelectItemContext");
4
+ process.env.NODE_ENV !== "production" && (o.displayName = "MenuCheckboxItemContext");
5
5
  function s() {
6
6
  const e = t.useContext(o);
7
- if (!e)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectItemContext is missing. SelectItem parts must be placed within <Select.Item>." : n(57));
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
9
  return e;
10
10
  }
11
11
  export {
12
- o as SelectItemContext,
13
- s as useSelectItemContext
12
+ o as MenuCheckboxItemContext,
13
+ s as useMenuCheckboxItemContext
14
14
  };
package/dist/index17.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import * as f from "react";
3
- import { useRefWithInit as C } from "./index94.js";
4
- import { useDialogRoot as x } from "./index95.js";
5
- import { useDialogRootContext as h, DialogRootContext as R } from "./index96.js";
6
- import { DialogStore as D } from "./index97.js";
3
+ import { useRefWithInit as C } from "./index101.js";
4
+ import { useDialogRoot as x } from "./index102.js";
5
+ import { useDialogRootContext as h, DialogRootContext as R } from "./index103.js";
6
+ import { DialogStore as D } from "./index104.js";
7
7
  import { jsx as I } from "react/jsx-runtime";
8
8
  function b(s) {
9
9
  const {
package/dist/index170.js CHANGED
@@ -1,120 +1,69 @@
1
1
  "use client";
2
- import * as R from "react";
3
- import { useTimeout as O } from "./index152.js";
4
- import { useIsoLayoutEffect as X } from "./index126.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 "./index106.js";
9
- import { useRenderElement as z } from "./index87.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) {
2
+ import * as a from "react";
3
+ import { useMergedRefs as h } from "./index95.js";
4
+ import { useContextMenuRootContext as y } from "./index177.js";
5
+ import { useButton as P } from "./index93.js";
6
+ import { mergeProps as v } from "./index27.js";
7
+ import { itemPress as I } from "./index108.js";
8
+ const A = {
9
+ type: "regular-item"
10
+ };
11
+ function w(M) {
13
12
  const {
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);
40
- }
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())
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)
58
56
  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);
107
- }
108
- f.start(40, M);
109
- },
110
- onMouseLeave() {
111
- f.clear();
112
57
  }
113
- }, V]
114
- });
115
- return n || v ? U : null;
116
- });
117
- process.env.NODE_ENV !== "production" && (F.displayName = "SelectScrollArrow");
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]);
65
+ }
118
66
  export {
119
- F as SelectScrollArrow
67
+ A as REGULAR_ITEM,
68
+ w as useMenuItem
120
69
  };
package/dist/index171.js CHANGED
@@ -1,14 +1,15 @@
1
- import r from "./index112.js";
1
+ "use client";
2
+ import r from "./index94.js";
2
3
  import * as t from "react";
3
4
  const o = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (o.displayName = "SelectGroupContext");
5
- function s() {
5
+ process.env.NODE_ENV !== "production" && (o.displayName = "MenuRootContext");
6
+ function i(n) {
6
7
  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));
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));
9
10
  return e;
10
11
  }
11
12
  export {
12
- o as SelectGroupContext,
13
- s as useSelectGroupContext
13
+ o as MenuRootContext,
14
+ i as useMenuRootContext
14
15
  };
package/dist/index172.js CHANGED
@@ -1,14 +1,15 @@
1
- import n from "./index112.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;
10
- }
1
+ import { transitionStatusMapping as r } from "./index106.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
+ };
11
13
  export {
12
- o as MenuCheckboxItemContext,
13
- s as useMenuCheckboxItemContext
14
+ c as itemMapping
14
15
  };
package/dist/index173.js CHANGED
@@ -1,69 +1,15 @@
1
1
  "use client";
2
- import * as a from "react";
3
- import { useMergedRefs as h } from "./index117.js";
4
- import { useContextMenuRootContext as y } from "./index180.js";
5
- import { useButton as P } from "./index89.js";
6
- import { mergeProps as v } from "./index27.js";
7
- import { itemPress as I } from "./index101.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 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;
65
11
  }
66
12
  export {
67
- A as REGULAR_ITEM,
68
- w as useMenuItem
13
+ t as MenuPositionerContext,
14
+ s as useMenuPositionerContext
69
15
  };