@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/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 "./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]);
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 "./index125.js";
2
- import { EMPTY_OBJECT as o } from "./index100.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 "./index104.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,11 @@
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;
1
+ let o;
2
+ process.env.NODE_ENV !== "production" && (o = /* @__PURE__ */ new Set());
3
+ function s(...r) {
4
+ if (process.env.NODE_ENV !== "production") {
5
+ const e = r.join(" ");
6
+ o.has(e) || (o.add(e), console.error(`Base UI: ${e}`));
7
+ }
10
8
  }
11
9
  export {
12
- o as SelectItemContext,
13
- s as useSelectItemContext
10
+ s as error
14
11
  };
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 "./index107.js";
4
- import { useDialogRoot as x } from "./index108.js";
5
- import { useDialogRootContext as h, DialogRootContext as R } from "./index109.js";
6
- import { DialogStore as D } from "./index110.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,15 @@
1
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) {
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");
2
+ import n from "./index94.js";
3
+ import * as t from "react";
4
+ const e = /* @__PURE__ */ t.createContext(void 0);
5
+ process.env.NODE_ENV !== "production" && (e.displayName = "CompositeRootContext");
6
+ function r(s = !1) {
7
+ const o = t.useContext(e);
8
+ if (o === void 0 && !s)
9
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : n(16));
10
+ return o;
11
+ }
118
12
  export {
119
- F as SelectScrollArrow
13
+ e as CompositeRootContext,
14
+ r as useCompositeRootContext
120
15
  };
package/dist/index171.js CHANGED
@@ -1,14 +1,25 @@
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;
1
+ "use client";
2
+ import * as c from "react";
3
+ function f(d) {
4
+ const {
5
+ focusableWhenDisabled: e,
6
+ disabled: s,
7
+ composite: t = !1,
8
+ tabIndex: i = 0,
9
+ isNativeButton: o
10
+ } = d, n = t && e !== !1, l = t && e === !1;
11
+ return {
12
+ props: c.useMemo(() => {
13
+ const a = {
14
+ // allow Tabbing away from focusableWhenDisabled elements
15
+ onKeyDown(b) {
16
+ s && e && b.key !== "Tab" && b.preventDefault();
17
+ }
18
+ };
19
+ return t || (a.tabIndex = i, !o && s && (a.tabIndex = e ? i : -1)), (o && (e || n) || !o && s) && (a["aria-disabled"] = s), o && (!e || l) && (a.disabled = s), a;
20
+ }, [t, s, e, n, l, o, i])
21
+ };
10
22
  }
11
23
  export {
12
- o as SelectGroupContext,
13
- s as useSelectGroupContext
24
+ f as useFocusableWhenDisabled
14
25
  };
package/dist/index173.js CHANGED
@@ -2,9 +2,9 @@
2
2
  import * as a from "react";
3
3
  import { useMergedRefs as h } from "./index95.js";
4
4
  import { useContextMenuRootContext as y } from "./index180.js";
5
- import { useButton as P } from "./index88.js";
5
+ import { useButton as P } from "./index89.js";
6
6
  import { mergeProps as v } from "./index27.js";
7
- import { itemPress as I } from "./index114.js";
7
+ import { itemPress as I } from "./index108.js";
8
8
  const A = {
9
9
  type: "regular-item"
10
10
  };
package/dist/index175.js CHANGED
@@ -1,5 +1,5 @@
1
- import { transitionStatusMapping as r } from "./index112.js";
2
- import { MenuCheckboxItemDataAttributes as t } from "./index233.js";
1
+ import { transitionStatusMapping as r } from "./index106.js";
2
+ import { MenuCheckboxItemDataAttributes as t } from "./index230.js";
3
3
  const c = {
4
4
  checked(e) {
5
5
  return e ? {
package/dist/index178.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import * as L from "react";
2
- import { isElement as j } from "./index101.js";
3
- import { useStableCallback as f } from "./index102.js";
4
- import { useIsoLayoutEffect as F } from "./index104.js";
5
- import { createChangeEventDetails as w } from "./index113.js";
2
+ import { isElement as j } from "./index164.js";
3
+ import { useStableCallback as f } from "./index127.js";
4
+ import { useIsoLayoutEffect as F } from "./index126.js";
5
+ import { createChangeEventDetails as w } from "./index107.js";
6
6
  import { useFloatingTree as q, useFloatingParentNodeId as z } from "./index181.js";
7
7
  import { useHoverInteractionSharedState as B, safePolygonIdentifier as H, isInteractiveElement as G } from "./index243.js";
8
- import { triggerHover as O } from "./index114.js";
9
- import { getDocument as x, getTarget as J } from "./index155.js";
8
+ import { triggerHover as O } from "./index108.js";
9
+ import { getDocument as x, getTarget as J } from "./index151.js";
10
10
  import { isMouseLikePointerType as K } from "./index221.js";
11
11
  const Q = /* @__PURE__ */ new Set(["click", "mousedown"]);
12
12
  function re(i, d = {}) {
package/dist/index18.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import * as n from "react";
3
- import { useDialogRootContext as p } from "./index109.js";
4
- import { useRenderElement as d } from "./index86.js";
5
- import { createChangeEventDetails as C } from "./index113.js";
6
- import { useButton as g } from "./index88.js";
7
- import { closePress as v } from "./index114.js";
3
+ import { useDialogRootContext as p } from "./index103.js";
4
+ import { useRenderElement as d } from "./index87.js";
5
+ import { createChangeEventDetails as C } from "./index107.js";
6
+ import { useButton as g } from "./index89.js";
7
+ import { closePress as v } from "./index108.js";
8
8
  const D = /* @__PURE__ */ n.forwardRef(function(t, s) {
9
9
  const {
10
10
  render: R,
package/dist/index181.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import * as r from "react";
3
3
  import { useId as a } from "./index184.js";
4
- import { useIsoLayoutEffect as l } from "./index104.js";
5
- import { useRefWithInit as f } from "./index107.js";
4
+ import { useIsoLayoutEffect as l } from "./index126.js";
5
+ import { useRefWithInit as f } from "./index101.js";
6
6
  import { FloatingTreeStore as m } from "./index191.js";
7
7
  import { jsx as d } from "react/jsx-runtime";
8
8
  const i = /* @__PURE__ */ r.createContext(null);
package/dist/index184.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import * as n from "react";
3
- import { SafeReact as l } from "./index234.js";
3
+ import { SafeReact as l } from "./index231.js";
4
4
  let o = 0;
5
5
  function f(u, t = "mui") {
6
6
  const [e, a] = n.useState(u), c = u || e;
package/dist/index187.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as o from "react";
2
2
  import { EMPTY_OBJECT as s } from "./index100.js";
3
- import { useRefWithInit as l } from "./index107.js";
3
+ import { useRefWithInit as l } from "./index101.js";
4
4
  import { FloatingTreeStore as u } from "./index191.js";
5
- import { ReactStore as p } from "./index201.js";
6
- import { PopupTriggerMap as d } from "./index202.js";
7
- import { createSelector as t } from "./index203.js";
8
- import { popupStoreSelectors as f, createInitialPopupStoreState as c } from "./index200.js";
5
+ import { ReactStore as p } from "./index202.js";
6
+ import { PopupTriggerMap as d } from "./index203.js";
7
+ import { createSelector as t } from "./index204.js";
8
+ import { popupStoreSelectors as f, createInitialPopupStoreState as c } from "./index201.js";
9
9
  const m = {
10
10
  ...f,
11
11
  disabled: t((e) => e.parent.type === "menubar" && e.parent.context.disabled || e.disabled),
package/dist/index189.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { useId as f } from "./index184.js";
2
- import { useRefWithInit as g } from "./index107.js";
3
- import { useIsoLayoutEffect as E } from "./index104.js";
4
- import { isElement as d } from "./index101.js";
2
+ import { useRefWithInit as g } from "./index101.js";
3
+ import { useIsoLayoutEffect as E } from "./index126.js";
4
+ import { isElement as d } from "./index164.js";
5
5
  import { useFloatingParentNodeId as S } from "./index181.js";
6
6
  import { FloatingRootStore as x } from "./index242.js";
7
7
  function v(p) {
package/dist/index19.js CHANGED
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import * as c from "react";
3
- import { useDialogRootContext as h } from "./index109.js";
4
- import { useRenderElement as M } from "./index86.js";
5
- import { popupStateMapping as y } from "./index111.js";
6
- import { transitionStatusMapping as N } from "./index112.js";
7
- import { DialogPopupCssVars as v } from "./index116.js";
8
- import { DialogPopupDataAttributes as w } from "./index117.js";
9
- import { useDialogPortalContext as A } from "./index118.js";
10
- import { useOpenChangeComplete as K } from "./index119.js";
11
- import { COMPOSITE_KEYS as T } from "./index120.js";
3
+ import { useDialogRootContext as h } from "./index103.js";
4
+ import { useRenderElement as M } from "./index87.js";
5
+ import { popupStateMapping as y } from "./index105.js";
6
+ import { transitionStatusMapping as N } from "./index106.js";
7
+ import { DialogPopupCssVars as v } from "./index110.js";
8
+ import { DialogPopupDataAttributes as w } from "./index111.js";
9
+ import { useDialogPortalContext as A } from "./index112.js";
10
+ import { useOpenChangeComplete as K } from "./index113.js";
11
+ import { COMPOSITE_KEYS as T } from "./index114.js";
12
12
  import { jsx as V } from "react/jsx-runtime";
13
- import { FloatingFocusManager as _ } from "./index121.js";
13
+ import { FloatingFocusManager as _ } from "./index115.js";
14
14
  const j = {
15
15
  ...y,
16
16
  ...N,
package/dist/index190.js CHANGED
@@ -2,7 +2,7 @@ import * as r from "react";
2
2
  import { useId as P } from "./index184.js";
3
3
  import { useFloatingParentNodeId as S } from "./index181.js";
4
4
  import { EMPTY_OBJECT as F } from "./index100.js";
5
- import { getFloatingFocusElement as y } from "./index155.js";
5
+ import { getFloatingFocusElement as y } from "./index151.js";
6
6
  const T = /* @__PURE__ */ new Map([["select", "listbox"], ["combobox", "listbox"], ["label", !1]]);
7
7
  function k(c, I = {}) {
8
8
  const a = "rootStore" in c ? c.rootStore : c, l = a.useState("open"), u = a.useState("floatingId"), x = a.useState("domReferenceElement"), d = a.useState("floatingElement"), {
package/dist/index191.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createEventEmitter as n } from "./index235.js";
1
+ import { createEventEmitter as n } from "./index234.js";
2
2
  class d {
3
3
  nodesRef = {
4
4
  current: []