@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/index155.js CHANGED
@@ -1,72 +1,266 @@
1
- import { isHTMLElement as u, isShadowRoot as i } from "./index101.js";
2
- import { isJSDOM as c } from "./index162.js";
3
- import { TYPEABLE_SELECTOR as s, FOCUSABLE_ATTRIBUTE as n } from "./index245.js";
4
- function h(t) {
5
- let e = t.activeElement;
6
- for (; e?.shadowRoot?.activeElement != null; )
7
- e = e.shadowRoot.activeElement;
8
- return e;
1
+ "use client";
2
+ import * as a from "react";
3
+ import { getSide as L, getSideAxis as Ee, getAlignment as Me } from "./index212.js";
4
+ import { ownerDocument as qe } from "./index147.js";
5
+ import { useIsoLayoutEffect as q } from "./index126.js";
6
+ import { useValueAsRef as G } from "./index128.js";
7
+ import { useStableCallback as Ge } from "./index127.js";
8
+ import { useDirection as Je } from "./index186.js";
9
+ import { arrow as Ke } from "./index213.js";
10
+ import { hide as Ne } from "./index214.js";
11
+ import { DEFAULT_SIDES as Qe } from "./index215.js";
12
+ import { flip as Ze, offset as et, size as tt, shift as nt, limitShift as ot } from "./index216.js";
13
+ import { useFloating as it } from "./index217.js";
14
+ import { autoUpdate as $e } from "./index218.js";
15
+ function ke(l, f, u) {
16
+ const n = l === "inline-start" || l === "inline-end";
17
+ return {
18
+ top: "top",
19
+ right: n ? u ? "inline-start" : "inline-end" : "right",
20
+ bottom: "bottom",
21
+ left: n ? u ? "inline-end" : "inline-start" : "left"
22
+ }[f];
9
23
  }
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;
24
+ function ve(l, f, u) {
25
+ const {
26
+ rects: n,
27
+ placement: s
28
+ } = l;
29
+ return {
30
+ side: ke(f, L(s), u),
31
+ align: Me(s) || "center",
32
+ anchor: {
33
+ width: n.reference.width,
34
+ height: n.reference.height
35
+ },
36
+ positioner: {
37
+ width: n.floating.width,
38
+ height: n.floating.height
22
39
  }
23
- }
24
- return !1;
40
+ };
25
41
  }
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
- }
42
+ function wt(l) {
43
+ const {
44
+ // Public parameters
45
+ anchor: f,
46
+ positionMethod: u = "absolute",
47
+ side: n = "bottom",
48
+ sideOffset: s = 0,
49
+ align: b = "center",
50
+ alignOffset: H = 0,
51
+ collisionBoundary: J,
52
+ collisionPadding: Ce = 5,
53
+ sticky: T = !1,
54
+ arrowPadding: K = 5,
55
+ disableAnchorTracking: z = !1,
56
+ // Private parameters
57
+ keepMounted: B = !1,
58
+ floatingRootContext: $,
59
+ mounted: r,
60
+ collisionAvoidance: V,
61
+ shiftCrossAxis: w = !1,
62
+ nodeId: Fe,
63
+ adaptiveOrigin: I,
64
+ lazyFlip: N = !1,
65
+ externalTree: Le
66
+ } = l, [Q, Z] = a.useState(null);
67
+ !r && Q !== null && Z(null);
68
+ const A = V.side || "flip", S = V.align || "flip", He = V.fallbackAxisSide || "end", ee = typeof f == "function" ? f : void 0, Te = Ge(ee), te = ee ? Te : f, v = G(f), p = Je() === "rtl", ne = Q || {
69
+ top: "top",
70
+ right: "right",
71
+ bottom: "bottom",
72
+ left: "left",
73
+ "inline-end": p ? "left" : "right",
74
+ "inline-start": p ? "right" : "left"
75
+ }[n], ze = b === "center" ? ne : `${ne}-${b}`;
76
+ let e = Ce;
77
+ const d = 1, oe = n === "bottom" ? d : 0, ie = n === "top" ? d : 0, re = n === "right" ? d : 0, se = n === "left" ? d : 0;
78
+ typeof e == "number" ? e = {
79
+ top: e + oe,
80
+ right: e + se,
81
+ bottom: e + ie,
82
+ left: e + re
83
+ } : e && (e = {
84
+ top: (e.top || 0) + oe,
85
+ right: (e.right || 0) + se,
86
+ bottom: (e.bottom || 0) + ie,
87
+ left: (e.left || 0) + re
88
+ });
89
+ const D = {
90
+ boundary: J === "clipping-ancestors" ? "clippingAncestors" : J,
91
+ padding: e
92
+ }, m = a.useRef(null), U = G(s), Y = G(H), M = [et((t) => {
93
+ const o = ve(t, n, p), c = typeof U.current == "function" ? U.current(o) : U.current, i = typeof Y.current == "function" ? Y.current(o) : Y.current;
94
+ return {
95
+ mainAxis: c,
96
+ crossAxis: i,
97
+ alignmentAxis: i
98
+ };
99
+ }, [typeof s != "function" ? s : 0, typeof H != "function" ? H : 0, p, n])], ce = S === "none" && A !== "shift", le = !ce && (T || w || A === "shift"), ae = A === "none" ? null : Ze({
100
+ ...D,
101
+ // Ensure the popup flips if it's been limited by its --available-height and it resizes.
102
+ // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
103
+ padding: {
104
+ top: e.top + d,
105
+ right: e.right + d,
106
+ bottom: e.bottom + d,
107
+ left: e.left + d
108
+ },
109
+ mainAxis: !w && A === "flip",
110
+ crossAxis: S === "flip" ? "alignment" : !1,
111
+ fallbackAxisSideDirection: He
112
+ }), fe = ce ? null : nt((t) => {
113
+ const o = qe(t.elements.floating).documentElement;
114
+ return {
115
+ ...D,
116
+ // Use the Layout Viewport to avoid shifting around when pinch-zooming
117
+ // for context menus.
118
+ rootBoundary: w ? {
119
+ x: 0,
120
+ y: 0,
121
+ width: o.clientWidth,
122
+ height: o.clientHeight
123
+ } : void 0,
124
+ mainAxis: S !== "none",
125
+ crossAxis: le,
126
+ limiter: T || w ? void 0 : ot((c) => {
127
+ if (!m.current)
128
+ return {};
129
+ const {
130
+ width: i,
131
+ height: x
132
+ } = m.current.getBoundingClientRect(), y = Ee(L(c.placement)), F = y === "y" ? i : x, j = y === "y" ? e.left + e.right : e.top + e.bottom;
133
+ return {
134
+ offset: F / 2 + j / 2
135
+ };
136
+ })
137
+ };
138
+ }, [D, T, w, e, S]);
139
+ A === "shift" || S === "shift" || b === "center" ? M.push(fe, ae) : M.push(ae, fe), M.push(tt({
140
+ ...D,
141
+ apply({
142
+ elements: {
143
+ floating: t
144
+ },
145
+ rects: {
146
+ reference: o
147
+ },
148
+ availableWidth: c,
149
+ availableHeight: i
150
+ }) {
151
+ Object.entries({
152
+ "--available-width": `${c}px`,
153
+ "--available-height": `${i}px`,
154
+ "--anchor-width": `${o.width}px`,
155
+ "--anchor-height": `${o.height}px`
156
+ }).forEach(([x, y]) => {
157
+ t.style.setProperty(x, y);
158
+ });
159
+ }
160
+ }), Ke(() => ({
161
+ // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
162
+ // we'll create a fake element.
163
+ element: m.current || document.createElement("div"),
164
+ padding: K,
165
+ offsetParent: "floating"
166
+ }), [K]), {
167
+ name: "transformOrigin",
168
+ fn(t) {
169
+ const {
170
+ elements: o,
171
+ middlewareData: c,
172
+ placement: i,
173
+ rects: x,
174
+ y
175
+ } = t, F = L(i), j = Ee(F), Oe = m.current, Be = c.arrow?.x || 0, Ve = c.arrow?.y || 0, Ie = Oe?.clientWidth || 0, Ue = Oe?.clientHeight || 0, _ = Be + Ie / 2, Pe = Ve + Ue / 2, Ye = Math.abs(c.shift?.y || 0), We = x.reference.height / 2, E = typeof s == "function" ? s(ve(t, n, p)) : s, Xe = Ye > E, je = {
176
+ top: `${_}px calc(100% + ${E}px)`,
177
+ bottom: `${_}px ${-E}px`,
178
+ left: `calc(100% + ${E}px) ${Pe}px`,
179
+ right: `${-E}px ${Pe}px`
180
+ }[F], _e = `${_}px ${x.reference.y + We - y}px`;
181
+ return o.floating.style.setProperty("--transform-origin", le && j === "y" && Xe ? _e : je), {};
182
+ }
183
+ }, Ne, I), q(() => {
184
+ !r && $ && $.update({
185
+ referenceElement: null,
186
+ floatingElement: null,
187
+ domReferenceElement: null
188
+ });
189
+ }, [r, $]);
190
+ const W = a.useMemo(() => ({
191
+ elementResize: !z && typeof ResizeObserver < "u",
192
+ layoutShift: !z && typeof IntersectionObserver < "u"
193
+ }), [z]), {
194
+ refs: h,
195
+ elements: R,
196
+ x: de,
197
+ y: ue,
198
+ middlewareData: g,
199
+ update: k,
200
+ placement: pe,
201
+ context: me,
202
+ isPositioned: O,
203
+ floatingStyles: he
204
+ } = it({
205
+ rootContext: $,
206
+ placement: ze,
207
+ middleware: M,
208
+ strategy: u,
209
+ whileElementsMounted: B ? void 0 : (...t) => $e(...t, W),
210
+ nodeId: Fe,
211
+ externalTree: Le
212
+ }), {
213
+ sideX: ge,
214
+ sideY: xe
215
+ } = g.adaptiveOrigin || Qe, X = O ? u : "fixed", ye = a.useMemo(() => I ? {
216
+ position: X,
217
+ [ge]: de,
218
+ [xe]: ue
219
+ } : {
220
+ position: X,
221
+ ...he
222
+ }, [I, X, ge, de, xe, ue, he]), C = a.useRef(null);
223
+ q(() => {
224
+ if (!r)
225
+ return;
226
+ const t = v.current, o = typeof t == "function" ? t() : t, i = (De(o) ? o.current : o) || null || null;
227
+ i !== C.current && (h.setPositionReference(i), C.current = i);
228
+ }, [r, h, te, v]), a.useEffect(() => {
229
+ if (!r)
230
+ return;
231
+ const t = v.current;
232
+ typeof t != "function" && De(t) && t.current !== C.current && (h.setPositionReference(t.current), C.current = t.current);
233
+ }, [r, h, te, v]), a.useEffect(() => {
234
+ if (B && r && R.domReference && R.floating)
235
+ return $e(R.domReference, R.floating, k, W);
236
+ }, [B, r, R, k, W]);
237
+ const P = L(pe), be = ke(n, P, p), we = Me(pe) || "center", Ae = !!g.hide?.referenceHidden;
238
+ q(() => {
239
+ N && r && O && Z(P);
240
+ }, [N, r, O, P]);
241
+ const Se = a.useMemo(() => ({
242
+ position: "absolute",
243
+ top: g.arrow?.y,
244
+ left: g.arrow?.x
245
+ }), [g.arrow]), Re = g.arrow?.centerOffset !== 0;
246
+ return a.useMemo(() => ({
247
+ positionerStyles: ye,
248
+ arrowStyles: Se,
249
+ arrowRef: m,
250
+ arrowUncentered: Re,
251
+ side: be,
252
+ align: we,
253
+ physicalSide: P,
254
+ anchorHidden: Ae,
255
+ refs: h,
256
+ context: me,
257
+ isPositioned: O,
258
+ update: k
259
+ }), [ye, Se, m, Re, be, we, P, Ae, h, me, O, k]);
57
260
  }
58
- function w(t) {
59
- return t ? t.hasAttribute(n) ? t : t.querySelector(`[${n}]`) || t : null;
261
+ function De(l) {
262
+ return l != null && "current" in l;
60
263
  }
61
264
  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
265
+ wt as useAnchorPositioning
72
266
  };
package/dist/index156.js CHANGED
@@ -1,6 +1,14 @@
1
- import * as e from "react";
2
- const t = /* @__PURE__ */ e.createContext(void 0);
3
- process.env.NODE_ENV !== "production" && (t.displayName = "SelectPortalContext");
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 = "SelectPositionerContext");
5
+ function i() {
6
+ const e = t.useContext(o);
7
+ if (!e)
8
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>." : n(59));
9
+ return e;
10
+ }
4
11
  export {
5
- t as SelectPortalContext
12
+ o as SelectPositionerContext,
13
+ i as useSelectPositionerContext
6
14
  };
package/dist/index157.js CHANGED
@@ -1,107 +1,13 @@
1
- "use client";
2
- import { getWindow as u, isOverflowElement as Y } from "./index101.js";
3
- import { isIOS as W, isWebKit as E } from "./index162.js";
4
- import { ownerDocument as n } from "./index151.js";
5
- import { useIsoLayoutEffect as T } from "./index104.js";
6
- import { Timeout as k } from "./index152.js";
7
- import { AnimationFrame as z } from "./index164.js";
8
- import { NOOP as H } from "./index100.js";
9
- let L = {}, C = {}, O = "";
10
- function F(r) {
11
- if (typeof document > "u")
12
- return !1;
13
- const o = n(r);
14
- return u(o).innerWidth - o.documentElement.clientWidth > 0;
15
- }
16
- function j(r) {
17
- const o = n(r), t = o.documentElement, e = o.body, l = Y(t) ? t : e, s = l.style.overflow;
18
- return l.style.overflow = "hidden", () => {
19
- l.style.overflow = s;
20
- };
21
- }
22
- function I(r) {
23
- const o = n(r), t = o.documentElement, e = o.body, l = u(t);
24
- let s = 0, c = 0;
25
- const h = z.create(), f = typeof CSS < "u" && CSS.supports?.("scrollbar-gutter", "stable");
26
- if (E && (l.visualViewport?.scale ?? 1) !== 1)
27
- return () => {
28
- };
29
- function d() {
30
- const a = l.getComputedStyle(t), i = l.getComputedStyle(e), y = (a.scrollbarGutter || "").includes("both-edges") ? "stable both-edges" : "stable";
31
- s = t.scrollTop, c = t.scrollLeft, L = {
32
- scrollbarGutter: t.style.scrollbarGutter,
33
- overflowY: t.style.overflowY,
34
- overflowX: t.style.overflowX
35
- }, O = t.style.scrollBehavior, C = {
36
- position: e.style.position,
37
- height: e.style.height,
38
- width: e.style.width,
39
- boxSizing: e.style.boxSizing,
40
- overflowY: e.style.overflowY,
41
- overflowX: e.style.overflowX,
42
- scrollBehavior: e.style.scrollBehavior
43
- };
44
- const X = t.scrollHeight > t.clientHeight, B = t.scrollWidth > t.clientWidth, x = a.overflowY === "scroll" || i.overflowY === "scroll", G = a.overflowX === "scroll" || i.overflowX === "scroll", b = Math.max(0, l.innerWidth - t.clientWidth), w = Math.max(0, l.innerHeight - t.clientHeight), p = parseFloat(i.marginTop) + parseFloat(i.marginBottom), g = parseFloat(i.marginLeft) + parseFloat(i.marginRight), S = Y(t) ? t : e;
45
- if (f) {
46
- t.style.scrollbarGutter = y, S.style.overflowY = "hidden", S.style.overflowX = "hidden";
47
- return;
48
- }
49
- Object.assign(t.style, {
50
- scrollbarGutter: y,
51
- overflowY: "hidden",
52
- overflowX: "hidden"
53
- }), (X || x) && (t.style.overflowY = "scroll"), (B || G) && (t.style.overflowX = "scroll"), Object.assign(e.style, {
54
- position: "relative",
55
- height: p || w ? `calc(100dvh - ${p + w}px)` : "100dvh",
56
- width: g || b ? `calc(100vw - ${g + b}px)` : "100vw",
57
- boxSizing: "border-box",
58
- overflow: "hidden",
59
- scrollBehavior: "unset"
60
- }), e.scrollTop = s, e.scrollLeft = c, t.setAttribute("data-base-ui-scroll-locked", ""), t.style.scrollBehavior = "unset";
61
- }
62
- function m() {
63
- Object.assign(t.style, L), Object.assign(e.style, C), f || (t.scrollTop = s, t.scrollLeft = c, t.removeAttribute("data-base-ui-scroll-locked"), t.style.scrollBehavior = O);
64
- }
65
- function v() {
66
- m(), h.request(d);
67
- }
68
- return d(), l.addEventListener("resize", v), () => {
69
- h.cancel(), m(), typeof l.removeEventListener == "function" && l.removeEventListener("resize", v);
70
- };
71
- }
72
- class R {
73
- lockCount = 0;
74
- restore = null;
75
- timeoutLock = k.create();
76
- timeoutUnlock = k.create();
77
- acquire(o) {
78
- return this.lockCount += 1, this.lockCount === 1 && this.restore === null && this.timeoutLock.start(0, () => this.lock(o)), this.release;
79
- }
80
- release = () => {
81
- this.lockCount -= 1, this.lockCount === 0 && this.restore && this.timeoutUnlock.start(0, this.unlock);
82
- };
83
- unlock = () => {
84
- this.lockCount === 0 && this.restore && (this.restore?.(), this.restore = null);
85
- };
86
- lock(o) {
87
- if (this.lockCount === 0 || this.restore !== null)
88
- return;
89
- const e = n(o).documentElement, l = u(e).getComputedStyle(e).overflowY;
90
- if (l === "hidden" || l === "clip") {
91
- this.restore = H;
92
- return;
93
- }
94
- const s = W || !F(o);
95
- this.restore = s ? j(o) : I(o);
96
- }
97
- }
98
- const V = new R();
99
- function _(r = !0, o = null) {
100
- T(() => {
101
- if (r)
102
- return V.acquire(o);
103
- }, [r, o]);
104
- }
1
+ function e(o, t) {
2
+ o && Object.assign(o.style, t);
3
+ }
4
+ const i = {
5
+ position: "relative",
6
+ maxHeight: "100%",
7
+ overflowX: "hidden",
8
+ overflowY: "auto"
9
+ };
105
10
  export {
106
- _ as useScrollLock
11
+ i as LIST_FUNCTIONAL_STYLES,
12
+ e as clearStyles
107
13
  };
package/dist/index158.js CHANGED
@@ -1,82 +1,43 @@
1
- "use client";
2
- import * as a from "react";
3
- import { useRefWithInit as T } from "./index107.js";
4
- import { useStableCallback as m } from "./index102.js";
5
- import { useIsoLayoutEffect as f } from "./index104.js";
6
- import { CompositeListContext as D } from "./index211.js";
7
- import { jsx as L } from "react/jsx-runtime";
8
- function k(h) {
9
- const {
10
- children: N,
11
- elementsRef: t,
12
- labelsRef: o,
13
- onMapChange: _
14
- } = h, C = m(_), O = a.useRef(0), d = T(R).current, i = T(P).current, [p, M] = a.useState(0), c = a.useRef(p), E = m((e, u) => {
15
- i.set(e, u ?? null), c.current += 1, M(c.current);
16
- }), I = m((e) => {
17
- i.delete(e), c.current += 1, M(c.current);
18
- }), r = a.useMemo(() => {
19
- const e = /* @__PURE__ */ new Map();
20
- return Array.from(i.keys()).filter((n) => n.isConnected).sort(S).forEach((n, l) => {
21
- const s = i.get(n) ?? {};
22
- e.set(n, {
23
- ...s,
24
- index: l
25
- });
26
- }), e;
27
- }, [i, p]);
28
- f(() => {
29
- if (typeof MutationObserver != "function" || r.size === 0)
30
- return;
31
- const e = new MutationObserver((u) => {
32
- const n = /* @__PURE__ */ new Set(), l = (s) => n.has(s) ? n.delete(s) : n.add(s);
33
- u.forEach((s) => {
34
- s.removedNodes.forEach(l), s.addedNodes.forEach(l);
35
- }), n.size === 0 && (c.current += 1, M(c.current));
36
- });
37
- return r.forEach((u, n) => {
38
- n.parentElement && e.observe(n.parentElement, {
39
- childList: !0
40
- });
41
- }), () => {
42
- e.disconnect();
1
+ const a = typeof navigator < "u", o = e(), n = f(), r = u(), c = typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter:none"), m = (
2
+ // iPads can claim to be MacIntel
3
+ o.platform === "MacIntel" && o.maxTouchPoints > 1 ? !0 : /iP(hone|ad|od)|iOS/.test(o.platform)
4
+ ), p = a && /firefox/i.test(r), g = a && /apple/i.test(navigator.vendor), d = a && /android/i.test(n) || /android/i.test(r), l = a && n.toLowerCase().startsWith("mac") && !navigator.maxTouchPoints, v = r.includes("jsdom/");
5
+ function e() {
6
+ if (!a)
7
+ return {
8
+ platform: "",
9
+ maxTouchPoints: -1
43
10
  };
44
- }, [r]), f(() => {
45
- c.current === p && (t.current.length !== r.size && (t.current.length = r.size), o && o.current.length !== r.size && (o.current.length = r.size), O.current = r.size), C(r);
46
- }, [C, r, t, o, p]), f(() => () => {
47
- t.current = [];
48
- }, [t]), f(() => () => {
49
- o && (o.current = []);
50
- }, [o]);
51
- const g = m((e) => (d.add(e), () => {
52
- d.delete(e);
53
- }));
54
- f(() => {
55
- d.forEach((e) => e(r));
56
- }, [d, r]);
57
- const b = a.useMemo(() => ({
58
- register: E,
59
- unregister: I,
60
- subscribeMapChange: g,
61
- elementsRef: t,
62
- labelsRef: o,
63
- nextIndexRef: O
64
- }), [E, I, g, t, o, O]);
65
- return /* @__PURE__ */ L(D.Provider, {
66
- value: b,
67
- children: N
68
- });
11
+ const t = navigator.userAgentData;
12
+ return t?.platform ? {
13
+ platform: t.platform,
14
+ maxTouchPoints: navigator.maxTouchPoints
15
+ } : {
16
+ platform: navigator.platform ?? "",
17
+ maxTouchPoints: navigator.maxTouchPoints ?? -1
18
+ };
69
19
  }
70
- function P() {
71
- return /* @__PURE__ */ new Map();
20
+ function u() {
21
+ if (!a)
22
+ return "";
23
+ const t = navigator.userAgentData;
24
+ return t && Array.isArray(t.brands) ? t.brands.map(({
25
+ brand: i,
26
+ version: s
27
+ }) => `${i}/${s}`).join(" ") : navigator.userAgent;
72
28
  }
73
- function R() {
74
- return /* @__PURE__ */ new Set();
75
- }
76
- function S(h, N) {
77
- const t = h.compareDocumentPosition(N);
78
- return t & Node.DOCUMENT_POSITION_FOLLOWING || t & Node.DOCUMENT_POSITION_CONTAINED_BY ? -1 : t & Node.DOCUMENT_POSITION_PRECEDING || t & Node.DOCUMENT_POSITION_CONTAINS ? 1 : 0;
29
+ function f() {
30
+ if (!a)
31
+ return "";
32
+ const t = navigator.userAgentData;
33
+ return t?.platform ? t.platform : navigator.platform ?? "";
79
34
  }
80
35
  export {
81
- k as CompositeList
36
+ d as isAndroid,
37
+ p as isFirefox,
38
+ m as isIOS,
39
+ v as isJSDOM,
40
+ l as isMac,
41
+ g as isSafari,
42
+ c as isWebKit
82
43
  };