@yselimcan/ui 0.0.7 → 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 (233) 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 -29
  9. package/dist/index108.js +19 -12
  10. package/dist/index109.js +4 -65
  11. package/dist/index110.js +3 -53
  12. package/dist/index111.js +5 -13
  13. package/dist/index112.js +11 -5
  14. package/dist/index113.js +19 -13
  15. package/dist/index114.js +13 -13
  16. package/dist/index115.js +296 -32
  17. package/dist/index116.js +5 -19
  18. package/dist/index117.js +38 -40
  19. package/dist/index118.js +123 -16
  20. package/dist/index119.js +21 -12
  21. package/dist/index120.js +77 -38
  22. package/dist/index121.js +65 -14
  23. package/dist/index122.js +45 -8
  24. package/dist/index123.js +14 -13
  25. package/dist/index124.js +5 -5
  26. package/dist/index125.js +29 -87
  27. package/dist/index126.js +4 -296
  28. package/dist/index127.js +26 -10
  29. package/dist/index128.js +14 -122
  30. package/dist/index129.js +21 -4
  31. package/dist/index130.js +54 -259
  32. package/dist/index131.js +16 -78
  33. package/dist/index132.js +26 -37
  34. package/dist/index133.js +41 -21
  35. package/dist/index134.js +43 -12
  36. package/dist/index135.js +20 -55
  37. package/dist/index136.js +48 -11
  38. package/dist/index137.js +51 -11
  39. package/dist/index138.js +16 -29
  40. package/dist/index139.js +11 -18
  41. package/dist/index140.js +21 -65
  42. package/dist/index141.js +34 -103
  43. package/dist/index142.js +230 -8
  44. package/dist/index143.js +283 -8
  45. package/dist/index144.js +52 -21
  46. package/dist/index145.js +14 -102
  47. package/dist/index146.js +79 -7
  48. package/dist/index147.js +3 -32
  49. package/dist/index148.js +28 -228
  50. package/dist/index149.js +23 -74
  51. package/dist/index150.js +15 -283
  52. package/dist/index151.js +68 -52
  53. package/dist/index152.js +4 -46
  54. package/dist/index153.js +98 -70
  55. package/dist/index154.js +79 -3
  56. package/dist/index155.js +262 -13
  57. package/dist/index156.js +11 -15
  58. package/dist/index157.js +10 -28
  59. package/dist/index158.js +40 -7
  60. package/dist/index159.js +4 -22
  61. package/dist/index160.js +66 -24
  62. package/dist/index161.js +9 -160
  63. package/dist/index162.js +8 -113
  64. package/dist/index163.js +5 -64
  65. package/dist/index164.js +132 -74
  66. package/dist/index165.js +53 -64
  67. package/dist/index166.js +10 -68
  68. package/dist/index167.js +118 -14
  69. package/dist/index168.js +11 -7
  70. package/dist/index169.js +10 -4
  71. package/dist/index17.js +4 -4
  72. package/dist/index170.js +64 -15
  73. package/dist/index171.js +12 -21
  74. package/dist/index172.js +12 -58
  75. package/dist/index173.js +11 -16
  76. package/dist/index174.js +11 -27
  77. package/dist/index175.js +88 -43
  78. package/dist/index176.js +11 -21
  79. package/dist/index177.js +11 -48
  80. package/dist/index178.js +53 -48
  81. package/dist/index179.js +11 -17
  82. package/dist/index18.js +4 -4
  83. package/dist/index180.js +11 -11
  84. package/dist/index181.js +17 -34
  85. package/dist/index182.js +8 -15
  86. package/dist/index183.js +8 -79
  87. package/dist/index184.js +103 -23
  88. package/dist/index185.js +6 -2
  89. package/dist/index186.js +32 -11
  90. package/dist/index187.js +74 -10
  91. package/dist/index188.js +13 -39
  92. package/dist/index189.js +28 -4
  93. package/dist/index19.js +9 -9
  94. package/dist/index190.js +13 -10
  95. package/dist/index191.js +7 -11
  96. package/dist/index192.js +21 -116
  97. package/dist/index193.js +25 -12
  98. package/dist/index194.js +158 -85
  99. package/dist/index195.js +113 -12
  100. package/dist/index196.js +72 -59
  101. package/dist/index197.js +65 -4
  102. package/dist/index198.js +9 -5
  103. package/dist/index199.js +22 -11
  104. package/dist/index20.js +2 -2
  105. package/dist/index201.js +4 -22
  106. package/dist/index202.js +10 -4
  107. package/dist/index203.js +38 -26
  108. package/dist/index204.js +56 -127
  109. package/dist/index205.js +28 -45
  110. package/dist/index206.js +8 -18
  111. package/dist/index207.js +13 -5
  112. package/dist/index208.js +11 -180
  113. package/dist/index209.js +11 -75
  114. package/dist/index21.js +3 -3
  115. package/dist/index210.js +19 -396
  116. package/dist/index211.js +11 -199
  117. package/dist/index212.js +7 -47
  118. package/dist/index213.js +43 -20
  119. package/dist/index214.js +593 -44
  120. package/dist/index215.js +11 -6
  121. package/dist/index216.js +17 -5
  122. package/dist/index217.js +45 -14
  123. package/dist/index218.js +197 -12
  124. package/dist/index219.js +47 -32
  125. package/dist/index22.js +5 -5
  126. package/dist/index220.js +20 -4
  127. package/dist/index221.js +32 -11
  128. package/dist/index222.js +6 -9
  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 -3
  144. package/dist/index237.js +5 -208
  145. package/dist/index238.js +209 -4
  146. package/dist/index239.js +3 -13
  147. package/dist/index24.js +9 -9
  148. package/dist/index240.js +13 -47
  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/index27.js +1 -1
  163. package/dist/index28.js +1 -1
  164. package/dist/index29.js +1 -1
  165. package/dist/index30.js +1 -1
  166. package/dist/index31.js +1 -1
  167. package/dist/index32.js +1 -1
  168. package/dist/index33.js +16 -16
  169. package/dist/index34.js +5 -5
  170. package/dist/index35.js +13 -13
  171. package/dist/index36.js +10 -10
  172. package/dist/index37.js +7 -7
  173. package/dist/index38.js +9 -9
  174. package/dist/index39.js +4 -4
  175. package/dist/index40.js +2 -2
  176. package/dist/index41.js +3 -3
  177. package/dist/index42.js +2 -2
  178. package/dist/index43.js +1 -1
  179. package/dist/index45.js +5 -5
  180. package/dist/index46.js +9 -9
  181. package/dist/index47.js +9 -9
  182. package/dist/index48.js +18 -18
  183. package/dist/index49.js +4 -4
  184. package/dist/index50.js +11 -11
  185. package/dist/index51.js +1 -1
  186. package/dist/index52.js +25 -25
  187. package/dist/index53.js +3 -3
  188. package/dist/index54.js +31 -31
  189. package/dist/index55.js +13 -13
  190. package/dist/index56.js +12 -12
  191. package/dist/index57.js +1 -1
  192. package/dist/index58.js +3 -3
  193. package/dist/index59.js +5 -5
  194. package/dist/index60.js +11 -11
  195. package/dist/index61.js +4 -4
  196. package/dist/index62.js +3 -3
  197. package/dist/index63.js +11 -11
  198. package/dist/index64.js +4 -4
  199. package/dist/index65.js +3 -3
  200. package/dist/index66.js +13 -13
  201. package/dist/index67.js +1 -1
  202. package/dist/index68.js +1 -1
  203. package/dist/index69.js +32 -32
  204. package/dist/index70.js +5 -5
  205. package/dist/index71.js +17 -17
  206. package/dist/index72.js +23 -23
  207. package/dist/index73.js +7 -7
  208. package/dist/index74.js +1 -1
  209. package/dist/index75.js +13 -13
  210. package/dist/index76.js +2 -2
  211. package/dist/index77.js +4 -4
  212. package/dist/index78.js +3 -3
  213. package/dist/index79.js +1 -1
  214. package/dist/index80.js +1 -1
  215. package/dist/index81.js +17 -17
  216. package/dist/index82.js +4 -4
  217. package/dist/index83.js +4 -4
  218. package/dist/index86.js +11 -89
  219. package/dist/index87.js +8 -8
  220. package/dist/index88.js +96 -12
  221. package/dist/index89.js +19 -96
  222. package/dist/index90.js +15 -18
  223. package/dist/index91.js +33 -16
  224. package/dist/index92.js +12 -33
  225. package/dist/index93.js +90 -12
  226. package/dist/index94.js +4 -133
  227. package/dist/index95.js +63 -24
  228. package/dist/index96.js +8 -8
  229. package/dist/index97.js +14 -5
  230. package/dist/index98.js +3 -12
  231. package/dist/index99.js +3 -22
  232. package/dist/styles.css +1 -1
  233. package/package.json +3 -3
package/dist/index225.js CHANGED
@@ -1,30 +1,24 @@
1
- import { isAndroid as r, isJSDOM as o } from "./index188.js";
2
- function s(i) {
3
- i.preventDefault(), i.stopPropagation();
4
- }
5
- function e(i) {
6
- return "nativeEvent" in i;
7
- }
8
- function p(i) {
9
- return i.mozInputSource === 0 && i.isTrusted ? !0 : r && i.pointerType ? i.type === "click" && i.buttons === 1 : i.detail === 0 && !i.pointerType;
10
- }
11
- function c(i) {
12
- return o ? !1 : !r && i.width === 0 && i.height === 0 || r && i.width === 1 && i.height === 1 && i.pressure === 0 && i.detail === 0 && i.pointerType === "mouse" || // iOS VoiceOver returns 0.333• for width/height.
13
- i.width < 1 && i.height < 1 && i.pressure === 0 && i.detail === 0 && i.pointerType === "touch";
14
- }
15
- function d(i, t) {
16
- const u = ["mouse", "pen"];
17
- return t || u.push("", void 0), u.includes(i);
18
- }
19
- function f(i) {
20
- const t = i.type;
21
- return t === "click" || t === "mousedown" || t === "keydown" || t === "keyup";
1
+ "use client";
2
+ import * as e from "react";
3
+ const t = /* @__PURE__ */ e.createContext({
4
+ register: () => {
5
+ },
6
+ unregister: () => {
7
+ },
8
+ subscribeMapChange: () => () => {
9
+ },
10
+ elementsRef: {
11
+ current: []
12
+ },
13
+ nextIndexRef: {
14
+ current: 0
15
+ }
16
+ });
17
+ process.env.NODE_ENV !== "production" && (t.displayName = "CompositeListContext");
18
+ function n() {
19
+ return e.useContext(t);
22
20
  }
23
21
  export {
24
- f as isClickLikeEvent,
25
- d as isMouseLikePointerType,
26
- e as isReactEvent,
27
- p as isVirtualClick,
28
- c as isVirtualPointerEvent,
29
- s as stopEvent
22
+ t as CompositeListContext,
23
+ n as useCompositeListContext
30
24
  };
package/dist/index226.js CHANGED
@@ -1,10 +1,130 @@
1
- import * as o from "react";
2
- const t = /* @__PURE__ */ o.createContext(void 0);
3
- process.env.NODE_ENV !== "production" && (t.displayName = "ComboboxChipsContext");
4
- function e() {
5
- return o.useContext(t);
1
+ const j = ["top", "right", "bottom", "left"], m = Math.min, p = Math.max, C = Math.round, L = Math.floor, E = (t) => ({
2
+ x: t,
3
+ y: t
4
+ }), h = {
5
+ left: "right",
6
+ right: "left",
7
+ bottom: "top",
8
+ top: "bottom"
9
+ }, x = {
10
+ start: "end",
11
+ end: "start"
12
+ };
13
+ function R(t, e, n) {
14
+ return p(t, m(e, n));
15
+ }
16
+ function T(t, e) {
17
+ return typeof t == "function" ? t(e) : t;
18
+ }
19
+ function g(t) {
20
+ return t.split("-")[0];
21
+ }
22
+ function a(t) {
23
+ return t.split("-")[1];
24
+ }
25
+ function b(t) {
26
+ return t === "x" ? "y" : "x";
27
+ }
28
+ function d(t) {
29
+ return t === "y" ? "height" : "width";
30
+ }
31
+ const A = /* @__PURE__ */ new Set(["top", "bottom"]);
32
+ function P(t) {
33
+ return A.has(g(t)) ? "y" : "x";
34
+ }
35
+ function y(t) {
36
+ return b(P(t));
37
+ }
38
+ function k(t, e, n) {
39
+ n === void 0 && (n = !1);
40
+ const r = a(t), i = y(t), o = d(i);
41
+ let c = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
42
+ return e.reference[o] > e.floating[o] && (c = f(c)), [c, f(c)];
43
+ }
44
+ function q(t) {
45
+ const e = f(t);
46
+ return [s(t), e, s(e)];
47
+ }
48
+ function s(t) {
49
+ return t.replace(/start|end/g, (e) => x[e]);
50
+ }
51
+ const u = ["left", "right"], l = ["right", "left"], M = ["top", "bottom"], O = ["bottom", "top"];
52
+ function S(t, e, n) {
53
+ switch (t) {
54
+ case "top":
55
+ case "bottom":
56
+ return n ? e ? l : u : e ? u : l;
57
+ case "left":
58
+ case "right":
59
+ return e ? M : O;
60
+ default:
61
+ return [];
62
+ }
63
+ }
64
+ function z(t, e, n, r) {
65
+ const i = a(t);
66
+ let o = S(g(t), n === "start", r);
67
+ return i && (o = o.map((c) => c + "-" + i), e && (o = o.concat(o.map(s)))), o;
68
+ }
69
+ function f(t) {
70
+ return t.replace(/left|right|bottom|top/g, (e) => h[e]);
71
+ }
72
+ function w(t) {
73
+ return {
74
+ top: 0,
75
+ right: 0,
76
+ bottom: 0,
77
+ left: 0,
78
+ ...t
79
+ };
80
+ }
81
+ function B(t) {
82
+ return typeof t != "number" ? w(t) : {
83
+ top: t,
84
+ right: t,
85
+ bottom: t,
86
+ left: t
87
+ };
88
+ }
89
+ function D(t) {
90
+ const {
91
+ x: e,
92
+ y: n,
93
+ width: r,
94
+ height: i
95
+ } = t;
96
+ return {
97
+ width: r,
98
+ height: i,
99
+ top: n,
100
+ left: e,
101
+ right: e + r,
102
+ bottom: n + i,
103
+ x: e,
104
+ y: n
105
+ };
6
106
  }
7
107
  export {
8
- t as ComboboxChipsContext,
9
- e as useComboboxChipsContext
108
+ R as clamp,
109
+ E as createCoords,
110
+ T as evaluate,
111
+ w as expandPaddingObject,
112
+ L as floor,
113
+ a as getAlignment,
114
+ y as getAlignmentAxis,
115
+ k as getAlignmentSides,
116
+ d as getAxisLength,
117
+ q as getExpandedPlacements,
118
+ s as getOppositeAlignmentPlacement,
119
+ b as getOppositeAxis,
120
+ z as getOppositeAxisPlacements,
121
+ f as getOppositePlacement,
122
+ B as getPaddingObject,
123
+ g as getSide,
124
+ P as getSideAxis,
125
+ p as max,
126
+ m as min,
127
+ D as rectToClientRect,
128
+ C as round,
129
+ j as sides
10
130
  };
package/dist/index227.js CHANGED
@@ -1,15 +1,47 @@
1
- "use client";
2
- import r from "./index100.js";
3
- import * as e from "react";
4
- const t = /* @__PURE__ */ e.createContext(void 0);
5
- process.env.NODE_ENV !== "production" && (t.displayName = "ComboboxPositionerContext");
6
- function s(n) {
7
- const o = e.useContext(t);
8
- if (o === void 0 && !n)
9
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Combobox.Popup> and <Combobox.Arrow> must be used within the <Combobox.Positioner> component" : r(21));
10
- return o;
11
- }
1
+ import { evaluate as W, getPaddingObject as Y, getAlignmentAxis as k, getAlignment as q, clamp as B, getAxisLength as C } from "./index226.js";
2
+ const F = (s) => ({
3
+ name: "arrow",
4
+ options: s,
5
+ async fn(i) {
6
+ const {
7
+ x: y,
8
+ y: j,
9
+ placement: x,
10
+ rects: n,
11
+ platform: f,
12
+ elements: l,
13
+ middlewareData: M
14
+ } = i, {
15
+ element: g,
16
+ padding: v = 0,
17
+ offsetParent: z = "real"
18
+ } = W(s, i) || {};
19
+ if (g == null)
20
+ return {};
21
+ const h = Y(v), m = {
22
+ x: y,
23
+ y: j
24
+ }, t = k(x), e = C(t), r = await f.getDimensions(g), d = t === "y", E = d ? "top" : "left", H = d ? "bottom" : "right", A = d ? "clientHeight" : "clientWidth", L = n.reference[e] + n.reference[t] - m[t] - n.floating[e], R = m[t] - n.reference[t], S = z === "real" ? await f.getOffsetParent?.(g) : l.floating;
25
+ let a = l.floating[A] || n.floating[e];
26
+ (!a || !await f.isElement?.(S)) && (a = l.floating[A] || n.floating[e]);
27
+ const T = L / 2 - R / 2, O = a / 2 - r[e] / 2 - 1, u = Math.min(h[E], O), b = Math.min(h[H], O), c = u, D = a - r[e] - b, o = a / 2 - r[e] / 2 + T, P = B(c, o, D), p = !M.arrow && q(x) != null && o !== P && n.reference[e] / 2 - (o < c ? u : b) - r[e] / 2 < 0, w = p ? o < c ? o - c : o - D : 0;
28
+ return {
29
+ [t]: m[t] + w,
30
+ data: {
31
+ [t]: P,
32
+ centerOffset: o - P - w,
33
+ ...p && {
34
+ alignmentOffset: w
35
+ }
36
+ },
37
+ reset: p
38
+ };
39
+ }
40
+ }), I = (s, i) => ({
41
+ ...F(s),
42
+ options: [s, i]
43
+ });
12
44
  export {
13
- t as ComboboxPositionerContext,
14
- s as useComboboxPositionerContext
45
+ I as arrow,
46
+ F as baseArrow
15
47
  };
package/dist/index228.js CHANGED
@@ -1,14 +1,20 @@
1
- import r from "./index100.js";
2
- import * as t from "react";
3
- const e = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (e.displayName = "ComboboxPortalContext");
5
- function s() {
6
- const o = t.useContext(e);
7
- if (o === void 0)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Combobox.Portal> is missing." : r(20));
9
- return o;
10
- }
1
+ import { hide as a } from "./index230.js";
2
+ const o = {
3
+ name: "hide",
4
+ async fn(e) {
5
+ const {
6
+ width: n,
7
+ height: d,
8
+ x: i,
9
+ y: t
10
+ } = e.rects.reference, r = n === 0 && d === 0 && i === 0 && t === 0;
11
+ return {
12
+ data: {
13
+ referenceHidden: (await a().fn(e)).data?.referenceHidden || r
14
+ }
15
+ };
16
+ }
17
+ };
11
18
  export {
12
- e as ComboboxPortalContext,
13
- s as useComboboxPortalContext
19
+ o as hide
14
20
  };
package/dist/index229.js CHANGED
@@ -1,14 +1,7 @@
1
- import r from "./index100.js";
2
- import * as t from "react";
3
- const e = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (e.displayName = "ComboboxGroupContext");
5
- function s() {
6
- const o = t.useContext(e);
7
- if (o === void 0)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: ComboboxGroupContext is missing. ComboboxGroup parts must be placed within <Combobox.Group>." : r(18));
9
- return o;
10
- }
1
+ const e = {
2
+ sideX: "left",
3
+ sideY: "top"
4
+ };
11
5
  export {
12
- e as ComboboxGroupContext,
13
- s as useComboboxGroupContext
6
+ e as DEFAULT_SIDES
14
7
  };
package/dist/index23.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import * as l from "react";
3
- import { useDialogRootContext as n } from "./index195.js";
3
+ import { useDialogRootContext as n } from "./index103.js";
4
4
  import { useRenderElement as a } from "./index87.js";
5
- import { useBaseUiId as m } from "./index112.js";
5
+ import { useBaseUiId as m } from "./index109.js";
6
6
  const d = /* @__PURE__ */ l.forwardRef(function(e, t) {
7
7
  const {
8
8
  render: c,
package/dist/index230.js CHANGED
@@ -1,24 +1,183 @@
1
- "use client";
2
- import * as o from "react";
3
- import { jsx as i } from "react/jsx-runtime";
4
- const e = /* @__PURE__ */ o.createContext(null);
5
- process.env.NODE_ENV !== "production" && (e.displayName = "GroupCollectionContext");
6
- function u() {
7
- return o.useContext(e);
1
+ import { flip as H, offset as I, size as J, hide as K, computePosition as N, shift as Q, limitShift as T } from "./index232.js";
2
+ import { autoUpdate as ae, platform as de } from "./index232.js";
3
+ import * as r from "react";
4
+ import { useLayoutEffect as X } from "react";
5
+ import * as Y from "react-dom";
6
+ var Z = typeof document < "u", b = function() {
7
+ }, R = Z ? X : b;
8
+ function w(e, t) {
9
+ if (e === t)
10
+ return !0;
11
+ if (typeof e != typeof t)
12
+ return !1;
13
+ if (typeof e == "function" && e.toString() === t.toString())
14
+ return !0;
15
+ let n, f, c;
16
+ if (e && t && typeof e == "object") {
17
+ if (Array.isArray(e)) {
18
+ if (n = e.length, n !== t.length) return !1;
19
+ for (f = n; f-- !== 0; )
20
+ if (!w(e[f], t[f]))
21
+ return !1;
22
+ return !0;
23
+ }
24
+ if (c = Object.keys(e), n = c.length, n !== Object.keys(t).length)
25
+ return !1;
26
+ for (f = n; f-- !== 0; )
27
+ if (!{}.hasOwnProperty.call(t, c[f]))
28
+ return !1;
29
+ for (f = n; f-- !== 0; ) {
30
+ const p = c[f];
31
+ if (!(p === "_owner" && e.$$typeof) && !w(e[p], t[p]))
32
+ return !1;
33
+ }
34
+ return !0;
35
+ }
36
+ return e !== e && t !== t;
8
37
  }
9
- function s(n) {
38
+ function L(e) {
39
+ return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
40
+ }
41
+ function z(e, t) {
42
+ const n = L(e);
43
+ return Math.round(t * n) / n;
44
+ }
45
+ function k(e) {
46
+ const t = r.useRef(e);
47
+ return R(() => {
48
+ t.current = e;
49
+ }), t;
50
+ }
51
+ function ne(e) {
52
+ e === void 0 && (e = {});
10
53
  const {
11
- children: r,
12
- items: t
13
- } = n, c = o.useMemo(() => ({
14
- items: t
15
- }), [t]);
16
- return /* @__PURE__ */ i(e.Provider, {
17
- value: c,
18
- children: r
19
- });
54
+ placement: t = "bottom",
55
+ strategy: n = "absolute",
56
+ middleware: f = [],
57
+ platform: c,
58
+ elements: {
59
+ reference: p,
60
+ floating: A
61
+ } = {},
62
+ transform: D = !0,
63
+ whileElementsMounted: E,
64
+ open: x
65
+ } = e, [s, C] = r.useState({
66
+ x: 0,
67
+ y: 0,
68
+ strategy: n,
69
+ placement: t,
70
+ middlewareData: {},
71
+ isPositioned: !1
72
+ }), [M, q] = r.useState(f);
73
+ w(M, f) || q(f);
74
+ const [B, U] = r.useState(null), [V, W] = r.useState(null), _ = r.useCallback((o) => {
75
+ o !== a.current && (a.current = o, U(o));
76
+ }, []), v = r.useCallback((o) => {
77
+ o !== d.current && (d.current = o, W(o));
78
+ }, []), i = p || B, u = A || V, a = r.useRef(null), d = r.useRef(null), y = r.useRef(s), G = E != null, S = k(E), P = k(c), F = k(x), g = r.useCallback(() => {
79
+ if (!a.current || !d.current)
80
+ return;
81
+ const o = {
82
+ placement: t,
83
+ strategy: n,
84
+ middleware: M
85
+ };
86
+ P.current && (o.platform = P.current), N(a.current, d.current, o).then((h) => {
87
+ const m = {
88
+ ...h,
89
+ // The floating element's position may be recomputed while it's closed
90
+ // but still mounted (such as when transitioning out). To ensure
91
+ // `isPositioned` will be `false` initially on the next open, avoid
92
+ // setting it to `true` when `open === false` (must be specified).
93
+ isPositioned: F.current !== !1
94
+ };
95
+ $.current && !w(y.current, m) && (y.current = m, Y.flushSync(() => {
96
+ C(m);
97
+ }));
98
+ });
99
+ }, [M, t, n, P, F]);
100
+ R(() => {
101
+ x === !1 && y.current.isPositioned && (y.current.isPositioned = !1, C((o) => ({
102
+ ...o,
103
+ isPositioned: !1
104
+ })));
105
+ }, [x]);
106
+ const $ = r.useRef(!1);
107
+ R(() => ($.current = !0, () => {
108
+ $.current = !1;
109
+ }), []), R(() => {
110
+ if (i && (a.current = i), u && (d.current = u), i && u) {
111
+ if (S.current)
112
+ return S.current(i, u, g);
113
+ g();
114
+ }
115
+ }, [i, u, g, S, G]);
116
+ const O = r.useMemo(() => ({
117
+ reference: a,
118
+ floating: d,
119
+ setReference: _,
120
+ setFloating: v
121
+ }), [_, v]), l = r.useMemo(() => ({
122
+ reference: i,
123
+ floating: u
124
+ }), [i, u]), j = r.useMemo(() => {
125
+ const o = {
126
+ position: n,
127
+ left: 0,
128
+ top: 0
129
+ };
130
+ if (!l.floating)
131
+ return o;
132
+ const h = z(l.floating, s.x), m = z(l.floating, s.y);
133
+ return D ? {
134
+ ...o,
135
+ transform: "translate(" + h + "px, " + m + "px)",
136
+ ...L(l.floating) >= 1.5 && {
137
+ willChange: "transform"
138
+ }
139
+ } : {
140
+ position: n,
141
+ left: h,
142
+ top: m
143
+ };
144
+ }, [n, D, l.floating, s.x, s.y]);
145
+ return r.useMemo(() => ({
146
+ ...s,
147
+ update: g,
148
+ refs: O,
149
+ elements: l,
150
+ floatingStyles: j
151
+ }), [s, g, O, l, j]);
20
152
  }
153
+ const re = (e, t) => ({
154
+ ...I(e),
155
+ options: [e, t]
156
+ }), oe = (e, t) => ({
157
+ ...Q(e),
158
+ options: [e, t]
159
+ }), fe = (e, t) => ({
160
+ ...T(e),
161
+ options: [e, t]
162
+ }), se = (e, t) => ({
163
+ ...H(e),
164
+ options: [e, t]
165
+ }), ie = (e, t) => ({
166
+ ...J(e),
167
+ options: [e, t]
168
+ }), ue = (e, t) => ({
169
+ ...K(e),
170
+ options: [e, t]
171
+ });
21
172
  export {
22
- s as GroupCollectionProvider,
23
- u as useGroupCollectionContext
173
+ ae as autoUpdate,
174
+ N as computePosition,
175
+ se as flip,
176
+ ue as hide,
177
+ fe as limitShift,
178
+ re as offset,
179
+ de as platform,
180
+ oe as shift,
181
+ ie as size,
182
+ ne as useFloating
24
183
  };
package/dist/index231.js CHANGED
@@ -1,14 +1,78 @@
1
- import n from "./index100.js";
2
- import * as t from "react";
3
- const e = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (e.displayName = "ComboboxItemContext");
5
- function m() {
6
- const o = t.useContext(e);
7
- if (!o)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: ComboboxItemContext is missing. ComboboxItem parts must be placed within <Combobox.Item>." : n(19));
9
- return o;
1
+ import * as o from "react";
2
+ import { useFloating as P } from "./index230.js";
3
+ import { isElement as s } from "./index164.js";
4
+ import { useIsoLayoutEffect as F } from "./index126.js";
5
+ import { useFloatingTree as V } from "./index178.js";
6
+ import { useFloatingRootContext as v } from "./index141.js";
7
+ function w(c = {}) {
8
+ const {
9
+ nodeId: m,
10
+ externalTree: y
11
+ } = c, I = v(c), t = c.rootContext || I, r = {
12
+ reference: t.useState("referenceElement"),
13
+ floating: t.useState("floatingElement"),
14
+ domReference: t.useState("domReferenceElement")
15
+ }, [g, M] = o.useState(null), i = o.useRef(null), b = V(y);
16
+ F(() => {
17
+ r.domReference && (i.current = r.domReference);
18
+ }, [r.domReference]);
19
+ const n = P({
20
+ ...c,
21
+ elements: {
22
+ ...r,
23
+ ...g && {
24
+ reference: g
25
+ }
26
+ }
27
+ }), d = o.useCallback((e) => {
28
+ const u = s(e) ? {
29
+ getBoundingClientRect: () => e.getBoundingClientRect(),
30
+ getClientRects: () => e.getClientRects(),
31
+ contextElement: e
32
+ } : e;
33
+ M(u), n.refs.setReference(u);
34
+ }, [n.refs]), [R, S] = o.useState(null), [k, L] = o.useState(null);
35
+ t.useSyncedValue("referenceElement", R), t.useSyncedValue("domReferenceElement", s(R) ? R : null), t.useSyncedValue("floatingElement", k);
36
+ const x = o.useCallback((e) => {
37
+ (s(e) || e === null) && (i.current = e, S(e)), (s(n.refs.reference.current) || n.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to
38
+ // `null` to support `positionReference` + an unstable `reference`
39
+ // callback ref.
40
+ e !== null && !s(e)) && n.refs.setReference(e);
41
+ }, [n.refs, S]), C = o.useCallback((e) => {
42
+ L(e), n.refs.setFloating(e);
43
+ }, [n.refs]), l = o.useMemo(() => ({
44
+ ...n.refs,
45
+ setReference: x,
46
+ setFloating: C,
47
+ setPositionReference: d,
48
+ domReference: i
49
+ }), [n.refs, x, C, d]), f = o.useMemo(() => ({
50
+ ...n.elements,
51
+ domReference: r.domReference
52
+ }), [n.elements, r.domReference]), E = t.useState("open"), p = t.useState("floatingId"), a = o.useMemo(() => ({
53
+ ...n,
54
+ dataRef: t.context.dataRef,
55
+ open: E,
56
+ onOpenChange: t.setOpen,
57
+ events: t.context.events,
58
+ floatingId: p,
59
+ refs: l,
60
+ elements: f,
61
+ nodeId: m,
62
+ rootStore: t
63
+ }), [n, l, f, m, t, E, p]);
64
+ return F(() => {
65
+ t.context.dataRef.current.floatingContext = a;
66
+ const e = b?.nodesRef.current.find((u) => u.id === m);
67
+ e && (e.context = a);
68
+ }), o.useMemo(() => ({
69
+ ...n,
70
+ context: a,
71
+ refs: l,
72
+ elements: f,
73
+ rootStore: t
74
+ }), [n, l, f, a, t]);
10
75
  }
11
76
  export {
12
- e as ComboboxItemContext,
13
- m as useComboboxItemContext
77
+ w as useFloating
14
78
  };