@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/index171.js CHANGED
@@ -1,78 +1,25 @@
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
+ "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
+ };
75
22
  }
76
23
  export {
77
- z as useFocus
24
+ f as useFocusableWhenDisabled
78
25
  };
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 "./index89.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) {
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 "./index106.js";
2
+ import { MenuCheckboxItemDataAttributes as t } from "./index230.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
  };
package/dist/index177.js CHANGED
@@ -1,24 +1,14 @@
1
- import o from "./index100.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;
1
+ import n from "./index94.js";
2
+ import * as o from "react";
3
+ const t = /* @__PURE__ */ o.createContext(void 0);
4
+ process.env.NODE_ENV !== "production" && (t.displayName = "MenuGroupContext");
5
+ function u() {
6
+ const e = o.useContext(t);
7
+ if (e === void 0)
8
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: MenuGroupRootContext is missing. Menu group parts must be used within <Menu.Group>." : n(31));
9
+ return e;
18
10
  }
19
11
  export {
20
- c as SelectFloatingContext,
21
- n as SelectRootContext,
22
- i as useSelectFloatingContext,
23
- s as useSelectRootContext
12
+ t as MenuGroupContext,
13
+ u as useMenuGroupRootContext
24
14
  };
package/dist/index178.js CHANGED
@@ -1,61 +1,90 @@
1
- "use client";
2
- import s from "./index100.js";
3
- import * as a from "react";
4
- import { DEFAULT_VALIDITY_STATE as n } from "./index190.js";
5
- import { NOOP as e, EMPTY_OBJECT as o } from "./index106.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 () => {
1
+ import * as L from "react";
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
+ import { useFloatingTree as q, useFloatingParentNodeId as z } from "./index181.js";
7
+ import { useHoverInteractionSharedState as B, safePolygonIdentifier as H, isInteractiveElement as G } from "./index243.js";
8
+ import { triggerHover as O } from "./index108.js";
9
+ import { getDocument as x, getTarget as J } from "./index151.js";
10
+ import { isMouseLikePointerType as K } from "./index221.js";
11
+ const Q = /* @__PURE__ */ new Set(["click", "mousedown"]);
12
+ function re(i, d = {}) {
13
+ const n = "rootStore" in i ? i.rootStore : i, m = n.useState("open"), u = n.useState("floatingElement"), b = n.useState("domReferenceElement"), {
14
+ dataRef: p
15
+ } = n.context, {
16
+ enabled: R = !0,
17
+ closeDelay: I = 0,
18
+ externalTree: A
19
+ } = d, {
20
+ pointerTypeRef: E,
21
+ interactedInsideRef: l,
22
+ handlerRef: v,
23
+ performedPointerEventsMutationRef: g,
24
+ unbindMouseMoveRef: N,
25
+ restTimeoutPendingRef: S,
26
+ openChangeTimeout: y,
27
+ handleCloseOptionsRef: k
28
+ } = B(n), M = q(A), T = z(), h = f(() => l.current ? !0 : p.current.openEvent ? Q.has(p.current.openEvent.type) : !1), C = f(() => {
29
+ const e = p.current.openEvent?.type;
30
+ return e?.includes("mouse") && e !== "mousedown";
31
+ }), P = L.useCallback((e, r = !0) => {
32
+ const s = U(I, E.current);
33
+ s && !v.current ? y.start(s, () => n.setOpen(!1, w(O, e))) : r && (y.clear(), n.setOpen(!1, w(O, e)));
34
+ }, [I, v, n, E, y]), c = f(() => {
35
+ N.current(), v.current = void 0;
36
+ }), a = f(() => {
37
+ if (g.current) {
38
+ const e = x(u).body;
39
+ e.style.pointerEvents = "", e.removeAttribute(H), g.current = !1;
48
40
  }
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;
41
+ }), D = f((e) => {
42
+ const r = J(e);
43
+ if (!G(r)) {
44
+ l.current = !1;
45
+ return;
46
+ }
47
+ l.current = !0;
48
+ });
49
+ F(() => {
50
+ m || (E.current = void 0, S.current = !1, l.current = !1, c(), a());
51
+ }, [m, E, S, l, c, a]), L.useEffect(() => () => {
52
+ c();
53
+ }, [c]), L.useEffect(() => a, [a]), F(() => {
54
+ if (R && m && k.current?.blockPointerEvents && C() && j(b) && u) {
55
+ g.current = !0;
56
+ const e = x(u).body;
57
+ e.setAttribute(H, "");
58
+ const r = b, s = u, t = M?.nodesRef.current.find((o) => o.id === T)?.context?.elements.floating;
59
+ return t && (t.style.pointerEvents = ""), e.style.pointerEvents = "none", r.style.pointerEvents = "auto", s.style.pointerEvents = "auto", () => {
60
+ e.style.pointerEvents = "", r.style.pointerEvents = "", s.style.pointerEvents = "";
61
+ };
62
+ }
63
+ }, [R, m, b, u, k, C, M, T, g]), L.useEffect(() => {
64
+ if (!R)
65
+ return;
66
+ function e(o) {
67
+ if (h() || !p.current.floatingContext || !n.select("open"))
68
+ return;
69
+ const W = n.context.triggerElements;
70
+ o.relatedTarget && W.hasElement(o.relatedTarget) || (a(), c(), h() || P(o));
71
+ }
72
+ function r(o) {
73
+ y.clear(), a(), v.current?.(o), c();
74
+ }
75
+ function s(o) {
76
+ h() || P(o, !1);
77
+ }
78
+ const t = u;
79
+ return t && (t.addEventListener("mouseleave", e), t.addEventListener("mouseenter", r), t.addEventListener("mouseleave", s), t.addEventListener("pointerdown", D, !0)), () => {
80
+ t && (t.removeEventListener("mouseleave", e), t.removeEventListener("mouseenter", r), t.removeEventListener("mouseleave", s), t.removeEventListener("pointerdown", D, !0));
81
+ };
82
+ });
83
+ }
84
+ function U(i, d) {
85
+ return d && !K(d) ? 0 : typeof i == "function" ? i() : i;
57
86
  }
58
87
  export {
59
- l as FieldRootContext,
60
- f as useFieldRootContext
88
+ U as getDelay,
89
+ re as useHoverFloatingInteraction
61
90
  };
package/dist/index179.js CHANGED
@@ -1,20 +1,14 @@
1
- "use client";
2
- import * as t from "react";
3
- import { NOOP as e } from "./index106.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);
1
+ import n from "./index94.js";
2
+ import * as o from "react";
3
+ const t = /* @__PURE__ */ o.createContext(void 0);
4
+ process.env.NODE_ENV !== "production" && (t.displayName = "MenuPortalContext");
5
+ function s() {
6
+ const e = o.useContext(t);
7
+ if (e === void 0)
8
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Menu.Portal> is missing." : n(32));
9
+ return e;
16
10
  }
17
11
  export {
18
- o as LabelableContext,
19
- a as useLabelableContext
12
+ t as MenuPortalContext,
13
+ s as useMenuPortalContext
20
14
  };
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";
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
6
  import { useButton as g } from "./index89.js";
7
- import { closePress as v } from "./index114.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,