neatkit 0.15.0 → 0.15.2

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 (37) hide show
  1. package/dist/Boundary.cjs +1 -1
  2. package/dist/Boundary.js +1 -1
  3. package/dist/Markdown.cjs +1 -1
  4. package/dist/Markdown.js +1 -1
  5. package/dist/Popover.cjs +1 -1
  6. package/dist/Popover.js +1 -1
  7. package/dist/Select.cjs +1 -1
  8. package/dist/Select.js +123 -123
  9. package/dist/Sidebar.cjs +1 -1
  10. package/dist/Sidebar.js +3 -3
  11. package/dist/{Table-GlG5aITK.cjs → Table-DBkiHOd0.cjs} +1 -1
  12. package/dist/{Table-Dvi-4XA7.js → Table-DdTjtnRE.js} +1 -1
  13. package/dist/Table.cjs +1 -1
  14. package/dist/Table.js +1 -1
  15. package/dist/{Tooltip-CDOwCTig.js → Tooltip-4RWCnb2Q.js} +1 -1
  16. package/dist/{Tooltip-DrAZSmEv.cjs → Tooltip-B2rZmRCs.cjs} +1 -1
  17. package/dist/Tooltip.cjs +1 -1
  18. package/dist/Tooltip.js +1 -1
  19. package/dist/components/Portal/hooks/useAnchoredPosition.d.ts +12 -10
  20. package/dist/components/Portal/utils/floating-position.d.ts +5 -36
  21. package/dist/components/Portal/utils/geometry.d.ts +45 -0
  22. package/dist/components/Select/utils/listbox-position.d.ts +6 -5
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/style.css +1 -1
  26. package/dist/tokens.d.ts +1 -1
  27. package/dist/{units-BEMW4BNr.cjs → units-BUvyiHxw.cjs} +1 -1
  28. package/dist/{units-D4Waz9EO.js → units-CMj64udI.js} +1 -1
  29. package/dist/useAnchoredPosition-CrdY2Eat.cjs +1 -0
  30. package/dist/useAnchoredPosition-xI79veB2.js +79 -0
  31. package/dist/useFloatingPosition-DPVO2E8O.cjs +1 -0
  32. package/dist/useFloatingPosition-DktY7k-t.js +110 -0
  33. package/package.json +1 -1
  34. package/dist/useAnchoredPosition-BEzN03Oi.cjs +0 -1
  35. package/dist/useAnchoredPosition-BIXEDNSo.js +0 -119
  36. package/dist/useFloatingPosition-8_GSpDjw.cjs +0 -1
  37. package/dist/useFloatingPosition-Cizey9UN.js +0 -58
package/dist/Select.js CHANGED
@@ -1,23 +1,23 @@
1
1
  "use client";
2
2
  import { jsx as h, jsxs as O } from "react/jsx-runtime";
3
- import { useRef as T, useEffect as Q, useCallback as I, useMemo as Ee, useId as xe, useState as X, forwardRef as De } from "react";
3
+ import { useRef as S, useEffect as Q, useCallback as I, useMemo as Ee, useId as xe, useState as Y, forwardRef as De } from "react";
4
4
  import { u as ee } from "./effects-DGbA6Q2O.js";
5
- import { h as ie, r as se } from "./aria-Bv-xVREf.js";
5
+ import { h as le, r as oe } from "./aria-Bv-xVREf.js";
6
6
  import { a as Oe } from "./reference-CXMr27nM.js";
7
7
  import { I as G } from "./Icon-DK4tkZtF.js";
8
- import { c as Re, d as Se, b as Le, P as Ne } from "./usePresence-BTRY1_l-.js";
9
- import { a as Pe, u as Ae } from "./useAnchoredPosition-BIXEDNSo.js";
10
- function Te(t) {
11
- const { form: n, onReset: a, resetValue: o, triggerReference: l } = t, r = T(null);
8
+ import { c as Re, d as Le, b as Ne, P as Pe } from "./usePresence-BTRY1_l-.js";
9
+ import { c as Ae, u as Te } from "./useAnchoredPosition-xI79veB2.js";
10
+ function Se(t) {
11
+ const { form: n, onReset: a, resetValue: i, triggerReference: s } = t, r = S(null);
12
12
  return Q(() => {
13
13
  var d;
14
- const c = (d = l.current) == null ? void 0 : d.form;
14
+ const c = (d = s.current) == null ? void 0 : d.form;
15
15
  if (!c) return;
16
- function i() {
16
+ function l() {
17
17
  const u = r.current;
18
18
  if (u) {
19
19
  const b = Array.from(u.options), g = b.find(
20
- (y) => y.value === o
20
+ (y) => y.value === i
21
21
  ) ?? b[0];
22
22
  b.forEach((y) => {
23
23
  y.defaultSelected = y === g;
@@ -25,19 +25,19 @@ function Te(t) {
25
25
  }
26
26
  a();
27
27
  }
28
- return c.addEventListener("reset", i), () => c.removeEventListener("reset", i);
29
- }, [n, a, o, l]), r;
28
+ return c.addEventListener("reset", l), () => c.removeEventListener("reset", l);
29
+ }, [n, a, i, s]), r;
30
30
  }
31
- const $ = 8, Y = 4, He = 160, Me = 72;
32
- function Ve(t, n, a, o = "start") {
33
- const l = a.bottom - t.bottom - Y - $, r = t.top - a.top - Y - $, c = l < He && r > l, i = Math.max(
31
+ const $ = 8, B = 4, He = 160, Me = 72;
32
+ function Ve(t, n, a, i = "start") {
33
+ const s = a.bottom - t.bottom - B - $, r = t.top - a.top - B - $, c = s < He && r > s, l = Math.max(
34
34
  Me,
35
- c ? r : l
35
+ c ? r : s
36
36
  ), d = Math.max(
37
37
  t.width,
38
38
  (n == null ? void 0 : n.width) ?? t.width
39
- ), u = a.left + $, b = Pe(
40
- o,
39
+ ), u = a.left + $, b = Ae(
40
+ i,
41
41
  t.left,
42
42
  t.width,
43
43
  d
@@ -49,31 +49,31 @@ function Ve(t, n, a, o = "start") {
49
49
  )
50
50
  ), y = c ? Math.max(
51
51
  a.top + $,
52
- t.top - Y - Math.min((n == null ? void 0 : n.height) ?? i, i)
53
- ) : t.bottom + Y;
52
+ t.top - B - Math.min((n == null ? void 0 : n.height) ?? l, l)
53
+ ) : t.bottom + B;
54
54
  return {
55
55
  left: g,
56
- maxHeight: i,
56
+ maxHeight: l,
57
57
  minWidth: t.width,
58
58
  top: y
59
59
  };
60
60
  }
61
- function Ce(t, n, a, o, l = "start") {
61
+ function Ce(t, n, a, i, s = "start") {
62
62
  const r = I(
63
63
  (c) => {
64
- const { panelBounds: i, triggerBounds: d, visibleBounds: u } = c;
64
+ const { panelSize: l, triggerBounds: d, visibleBounds: u } = c;
65
65
  return Ve(
66
66
  d,
67
- i,
67
+ l,
68
68
  u,
69
- l
69
+ s
70
70
  );
71
71
  },
72
- [l]
72
+ [s]
73
73
  );
74
- return Ae({
74
+ return Te({
75
75
  active: t,
76
- boundary: o,
76
+ boundary: i,
77
77
  fit: r,
78
78
  panel: a,
79
79
  trigger: n
@@ -81,34 +81,34 @@ function Ce(t, n, a, o, l = "start") {
81
81
  }
82
82
  const We = 500;
83
83
  function $e(t) {
84
- const n = T(""), a = T(null), o = T(null);
84
+ const n = S(""), a = S(null), i = S(null);
85
85
  return Q(() => () => {
86
- const l = o.current;
87
- l && a.current !== null && l.clearTimeout(a.current);
88
- }, []), I((l) => {
86
+ const s = i.current;
87
+ s && a.current !== null && s.clearTimeout(a.current);
88
+ }, []), I((s) => {
89
89
  var d;
90
90
  const r = (d = t.current) == null ? void 0 : d.ownerDocument.defaultView;
91
91
  if (!r) return null;
92
- o.current = r;
93
- const c = n.current + l, i = Array.from(c).every((u) => u === l);
94
- return n.current = i ? l : c, a.current !== null && r.clearTimeout(a.current), a.current = r.setTimeout(() => {
92
+ i.current = r;
93
+ const c = n.current + s, l = Array.from(c).every((u) => u === s);
94
+ return n.current = l ? s : c, a.current !== null && r.clearTimeout(a.current), a.current = r.setTimeout(() => {
95
95
  n.current = "", a.current = null;
96
96
  }, We), n.current;
97
97
  }, [t]);
98
98
  }
99
- function B(t, n, a) {
99
+ function z(t, n, a) {
100
100
  if (t.length === 0) return -1;
101
- for (let o = 1; o <= t.length; o += 1) {
102
- const l = (n + a * o + t.length) % t.length;
103
- if (!t[l].disabled) return l;
101
+ for (let i = 1; i <= t.length; i += 1) {
102
+ const s = (n + a * i + t.length) % t.length;
103
+ if (!t[s].disabled) return s;
104
104
  }
105
105
  return -1;
106
106
  }
107
107
  function Ge(t, n, a) {
108
- for (let o = 1; o <= t.length; o += 1) {
109
- const l = (a + o + t.length) % t.length, r = t[l];
108
+ for (let i = 1; i <= t.length; i += 1) {
109
+ const s = (a + i + t.length) % t.length, r = t[s];
110
110
  if (!r.disabled && r.label.toLocaleLowerCase().startsWith(n))
111
- return l;
111
+ return s;
112
112
  }
113
113
  return -1;
114
114
  }
@@ -124,38 +124,38 @@ function qe(t) {
124
124
  const {
125
125
  active: n,
126
126
  align: a,
127
- closeOnEscape: o,
128
- closeOnOutsideInteraction: l,
127
+ closeOnEscape: i,
128
+ closeOnOutsideInteraction: s,
129
129
  highlightedIndex: r,
130
130
  id: c,
131
- listboxReference: i,
131
+ listboxReference: l,
132
132
  onEscapeDismiss: d,
133
133
  onEscapeKeyDown: u,
134
134
  onHighlight: b,
135
135
  onOutsideDismiss: g,
136
136
  onPointerDownOutside: y,
137
137
  onSelect: R,
138
- options: S,
138
+ options: L,
139
139
  ownerDocument: H,
140
140
  position: E,
141
141
  selectedValue: x,
142
- state: L,
142
+ state: N,
143
143
  triggerReference: K
144
- } = t, m = T(null), q = ee("Select").boundaryElement, D = Re(!0, q), F = Ee(
144
+ } = t, m = S(null), q = ee("Select").boundaryElement, D = Re(!0, q), F = Ee(
145
145
  () => [K, m],
146
146
  [K]
147
147
  ), j = I(
148
148
  (f) => {
149
- m.current = f, i(f);
149
+ m.current = f, l(f);
150
150
  },
151
- [i]
151
+ [l]
152
152
  );
153
- return Se({
153
+ return Le({
154
154
  active: n,
155
155
  boundaries: F,
156
156
  boundary: q,
157
- dismissOnEscape: o,
158
- dismissOnPointerDownOutside: l,
157
+ dismissOnEscape: i,
158
+ dismissOnPointerDownOutside: s,
159
159
  layerId: D.id,
160
160
  onEscapeDismiss: d,
161
161
  onEscapeKeyDown: u,
@@ -169,7 +169,7 @@ function qe(t) {
169
169
  "aria-labelledby": c,
170
170
  className: "nk-select__listbox",
171
171
  "data-align": a,
172
- "data-state": L,
172
+ "data-state": N,
173
173
  id: `${c}-listbox`,
174
174
  ref: j,
175
175
  role: "listbox",
@@ -180,7 +180,7 @@ function qe(t) {
180
180
  top: E.top,
181
181
  zIndex: D.zIndex
182
182
  } : { visibility: "hidden", zIndex: D.zIndex },
183
- children: S.map((f, M) => /* @__PURE__ */ O(
183
+ children: L.map((f, M) => /* @__PURE__ */ O(
184
184
  "div",
185
185
  {
186
186
  "aria-disabled": f.disabled || void 0,
@@ -215,22 +215,22 @@ function je(t) {
215
215
  const {
216
216
  "aria-invalid": n,
217
217
  align: a = "start",
218
- className: o,
219
- closeOnEscape: l = !0,
218
+ className: i,
219
+ closeOnEscape: s = !0,
220
220
  closeOnOutsideInteraction: r = !0,
221
221
  defaultValue: c = "",
222
- disabled: i = !1,
222
+ disabled: l = !1,
223
223
  displayOverride: d,
224
224
  form: u,
225
225
  forwardedReference: b,
226
226
  id: g,
227
227
  invalid: y = !1,
228
228
  name: R,
229
- onChange: S,
229
+ onChange: L,
230
230
  onClick: H,
231
231
  onEscapeKeyDown: E,
232
232
  onKeyDown: x,
233
- onOpenChange: L,
233
+ onOpenChange: N,
234
234
  onPointerDownOutside: K,
235
235
  options: m,
236
236
  placeholder: q,
@@ -241,15 +241,15 @@ function je(t) {
241
241
  ...M
242
242
  } = t;
243
243
  Ke(m);
244
- const J = xe(), N = g ?? J, w = T(null), [V, oe] = X(null), [p, re] = X(!1), [_, C] = X(-1), [ce, te] = X(c), P = j !== void 0, A = P ? j : ce, de = m.find(
245
- (e) => e.value === A
246
- ), ue = y || ie(n), fe = se(y, n), Z = Le(p), W = ((ae = w.current) == null ? void 0 : ae.ownerDocument) ?? (typeof document > "u" ? null : document), me = ee("Select").boundaryElement, he = Ce(
244
+ const J = xe(), P = g ?? J, w = S(null), [V, ie] = Y(null), [p, re] = Y(!1), [_, C] = Y(-1), [ce, te] = Y(c), A = j !== void 0, T = A ? j : ce, de = m.find(
245
+ (e) => e.value === T
246
+ ), ue = y || le(n), fe = oe(y, n), Z = Ne(p), W = ((ae = w.current) == null ? void 0 : ae.ownerDocument) ?? (typeof document > "u" ? null : document), me = ee("Select").boundaryElement, he = Ce(
247
247
  Z.present,
248
248
  w.current,
249
249
  V,
250
250
  me,
251
251
  a
252
- ), pe = $e(w), ve = f === void 0 ? F : { ...F, width: f }, z = d ?? de, be = I(
252
+ ), pe = $e(w), ve = f === void 0 ? F : { ...F, width: f }, U = d ?? de, be = I(
253
253
  (e) => Fe(
254
254
  e,
255
255
  w,
@@ -257,57 +257,57 @@ function je(t) {
257
257
  ),
258
258
  [b]
259
259
  ), v = I((e) => {
260
- p !== e && (re(e), L == null || L(e));
261
- }, [L, p]), ye = I(() => {
262
- P || te(c), v(!1);
263
- }, [c, P, v]), Ie = Te({
260
+ p !== e && (re(e), N == null || N(e));
261
+ }, [N, p]), ye = I(() => {
262
+ A || te(c), v(!1);
263
+ }, [c, A, v]), Ie = Se({
264
264
  form: u,
265
265
  onReset: ye,
266
- resetValue: P ? A : c,
266
+ resetValue: A ? T : c,
267
267
  triggerReference: w
268
- }), U = I((e = 1) => {
269
- const s = m.findIndex(
270
- (le) => le.value === A && !le.disabled
268
+ }), X = I((e = 1) => {
269
+ const o = m.findIndex(
270
+ (se) => se.value === T && !se.disabled
271
271
  ), k = e === 1 ? -1 : m.length;
272
272
  C(
273
- s >= 0 ? s : B(m, k, e)
273
+ o >= 0 ? o : z(m, k, e)
274
274
  ), v(!0);
275
- }, [m, A, v]), ne = I((e) => {
276
- var s;
277
- i || e.disabled || (P || te(e.value), v(!1), (s = w.current) == null || s.focus(), S == null || S(e.value));
278
- }, [i, P, S, v]), ge = I(() => {
275
+ }, [m, T, v]), ne = I((e) => {
276
+ var o;
277
+ l || e.disabled || (A || te(e.value), v(!1), (o = w.current) == null || o.focus(), L == null || L(e.value));
278
+ }, [l, A, L, v]), ge = I(() => {
279
279
  var e;
280
280
  v(!1), (e = w.current) == null || e.focus();
281
281
  }, [v]), we = I(() => {
282
282
  v(!1);
283
283
  }, [v]);
284
284
  function _e(e) {
285
- H == null || H(e), !(e.defaultPrevented || i) && (p ? v(!1) : U());
285
+ H == null || H(e), !(e.defaultPrevented || l) && (p ? v(!1) : X());
286
286
  }
287
287
  function ke(e) {
288
- if (x == null || x(e), !(e.defaultPrevented || i)) {
288
+ if (x == null || x(e), !(e.defaultPrevented || l)) {
289
289
  if (e.key === "ArrowDown" || e.key === "ArrowUp") {
290
290
  e.preventDefault();
291
- const s = e.key === "ArrowDown" ? 1 : -1;
291
+ const o = e.key === "ArrowDown" ? 1 : -1;
292
292
  p ? C(
293
- (k) => B(m, k, s)
294
- ) : U(s);
293
+ (k) => z(m, k, o)
294
+ ) : X(o);
295
295
  return;
296
296
  }
297
297
  if (e.key === "Home" || e.key === "End") {
298
- if (e.preventDefault(), !p) U(e.key === "Home" ? 1 : -1);
298
+ if (e.preventDefault(), !p) X(e.key === "Home" ? 1 : -1);
299
299
  else {
300
- const s = e.key === "Home" ? 1 : -1, k = s === 1 ? -1 : m.length;
300
+ const o = e.key === "Home" ? 1 : -1, k = o === 1 ? -1 : m.length;
301
301
  C(
302
- B(m, k, s)
302
+ z(m, k, o)
303
303
  );
304
304
  }
305
305
  return;
306
306
  }
307
307
  if (e.key === "Enter" || e.key === " ") {
308
308
  e.preventDefault();
309
- const s = m[_];
310
- p && s ? ne(s) : p || U();
309
+ const o = m[_];
310
+ p && o ? ne(o) : p || X();
311
311
  return;
312
312
  }
313
313
  if (e.key === "Tab") {
@@ -315,11 +315,11 @@ function je(t) {
315
315
  return;
316
316
  }
317
317
  if (e.key.length === 1 && !e.altKey && !e.ctrlKey && !e.metaKey) {
318
- const s = pe(e.key.toLocaleLowerCase());
319
- if (s === null) return;
318
+ const o = pe(e.key.toLocaleLowerCase());
319
+ if (o === null) return;
320
320
  const k = Ge(
321
321
  m,
322
- s,
322
+ o,
323
323
  _
324
324
  );
325
325
  k >= 0 && (e.preventDefault(), p || v(!0), C(k));
@@ -327,20 +327,20 @@ function je(t) {
327
327
  }
328
328
  }
329
329
  return Q(() => {
330
- i && v(!1);
331
- }, [i, v]), Q(() => {
330
+ l && v(!1);
331
+ }, [l, v]), Q(() => {
332
332
  var e;
333
333
  if (p && _ >= 0) {
334
- const s = W == null ? void 0 : W.getElementById(
335
- `${N}-option-${_}`
334
+ const o = W == null ? void 0 : W.getElementById(
335
+ `${P}-option-${_}`
336
336
  );
337
- s && (V != null && V.contains(s)) && ((e = s.scrollIntoView) == null || e.call(s, { block: "nearest" }));
337
+ o && (V != null && V.contains(o)) && ((e = o.scrollIntoView) == null || e.call(o, { block: "nearest" }));
338
338
  }
339
- }, [_, N, V, p]), /* @__PURE__ */ O(
339
+ }, [_, P, V, p]), /* @__PURE__ */ O(
340
340
  "span",
341
341
  {
342
- className: ["nk-select", o].filter(Boolean).join(" "),
343
- "data-disabled": i || void 0,
342
+ className: ["nk-select", i].filter(Boolean).join(" "),
343
+ "data-disabled": l || void 0,
344
344
  "data-invalid": ue || void 0,
345
345
  "data-mode": "custom",
346
346
  "data-open": p || void 0,
@@ -351,25 +351,25 @@ function je(t) {
351
351
  {
352
352
  ...M,
353
353
  ref: be,
354
- "aria-activedescendant": p && _ >= 0 ? `${N}-option-${_}` : void 0,
355
- "aria-controls": `${N}-listbox`,
354
+ "aria-activedescendant": p && _ >= 0 ? `${P}-option-${_}` : void 0,
355
+ "aria-controls": `${P}-listbox`,
356
356
  "aria-expanded": p,
357
357
  "aria-haspopup": "listbox",
358
358
  "aria-invalid": fe,
359
359
  "aria-required": D || void 0,
360
360
  "aria-autocomplete": "none",
361
361
  className: "nk-select__trigger",
362
- disabled: i,
362
+ disabled: l,
363
363
  form: u,
364
- id: N,
364
+ id: P,
365
365
  onClick: _e,
366
366
  onKeyDown: ke,
367
367
  role: "combobox",
368
368
  type: "button",
369
369
  children: [
370
- z ? /* @__PURE__ */ O("span", { className: "nk-select__value", children: [
371
- z.icon ? /* @__PURE__ */ h(G, { type: z.icon }) : null,
372
- /* @__PURE__ */ h("span", { className: "nk-select__value-label", children: z.label })
370
+ U ? /* @__PURE__ */ O("span", { className: "nk-select__value", children: [
371
+ U.icon ? /* @__PURE__ */ h(G, { type: U.icon }) : null,
372
+ /* @__PURE__ */ h("span", { className: "nk-select__value-label", children: U.label })
373
373
  ] }) : /* @__PURE__ */ h("span", { className: "nk-select__placeholder", children: q }),
374
374
  /* @__PURE__ */ h(G, { className: "nk-select__icon", type: "chevron-down" })
375
375
  ]
@@ -381,18 +381,18 @@ function je(t) {
381
381
  ref: Ie,
382
382
  "aria-hidden": "true",
383
383
  className: "nk-select__form-control",
384
- disabled: i,
384
+ disabled: l,
385
385
  form: u,
386
386
  name: R,
387
387
  onChange: () => {
388
388
  },
389
389
  onInvalid: (e) => {
390
- var s;
391
- e.preventDefault(), (s = w.current) == null || s.focus();
390
+ var o;
391
+ e.preventDefault(), (o = w.current) == null || o.focus();
392
392
  },
393
393
  required: D,
394
394
  tabIndex: -1,
395
- value: A,
395
+ value: T,
396
396
  children: [
397
397
  /* @__PURE__ */ h("option", { value: "" }),
398
398
  m.map((e) => /* @__PURE__ */ h(
@@ -407,16 +407,16 @@ function je(t) {
407
407
  ]
408
408
  }
409
409
  ) : null,
410
- Z.present && W ? /* @__PURE__ */ h(Ne, { children: /* @__PURE__ */ h(
410
+ Z.present && W ? /* @__PURE__ */ h(Pe, { children: /* @__PURE__ */ h(
411
411
  qe,
412
412
  {
413
413
  active: p,
414
414
  align: a,
415
- closeOnEscape: l,
415
+ closeOnEscape: s,
416
416
  closeOnOutsideInteraction: r,
417
417
  highlightedIndex: _,
418
- id: N,
419
- listboxReference: oe,
418
+ id: P,
419
+ listboxReference: ie,
420
420
  onEscapeDismiss: ge,
421
421
  onEscapeKeyDown: E,
422
422
  onHighlight: C,
@@ -426,7 +426,7 @@ function je(t) {
426
426
  options: m,
427
427
  ownerDocument: W,
428
428
  position: he,
429
- selectedValue: A,
429
+ selectedValue: T,
430
430
  state: Z.state === "closing" ? "closing" : "open",
431
431
  triggerReference: w
432
432
  }
@@ -435,24 +435,24 @@ function je(t) {
435
435
  }
436
436
  );
437
437
  }
438
- function ze(t) {
438
+ function Ue(t) {
439
439
  const {
440
440
  "aria-invalid": n,
441
441
  children: a,
442
- className: o,
443
- defaultValue: l,
442
+ className: i,
443
+ defaultValue: s,
444
444
  disabled: r = !1,
445
445
  forwardedReference: c,
446
- invalid: i = !1,
446
+ invalid: l = !1,
447
447
  placeholder: d,
448
448
  style: u,
449
449
  value: b,
450
450
  ...g
451
- } = t, y = se(i, n), R = i || ie(n);
451
+ } = t, y = oe(l, n), R = l || le(n);
452
452
  return /* @__PURE__ */ O(
453
453
  "span",
454
454
  {
455
- className: ["nk-select", o].filter(Boolean).join(" "),
455
+ className: ["nk-select", i].filter(Boolean).join(" "),
456
456
  "data-disabled": r || void 0,
457
457
  "data-invalid": R || void 0,
458
458
  "data-mode": "native",
@@ -465,7 +465,7 @@ function ze(t) {
465
465
  ref: c,
466
466
  "aria-invalid": y,
467
467
  className: "nk-select__control",
468
- defaultValue: b === void 0 ? l ?? (d !== void 0 ? "" : void 0) : void 0,
468
+ defaultValue: b === void 0 ? s ?? (d !== void 0 ? "" : void 0) : void 0,
469
469
  disabled: r,
470
470
  value: b,
471
471
  children: [
@@ -480,15 +480,15 @@ function ze(t) {
480
480
  );
481
481
  }
482
482
  const tt = De(function(n, a) {
483
- const { options: o } = n;
484
- return ee("Select"), o !== void 0 ? /* @__PURE__ */ h(
483
+ const { options: i } = n;
484
+ return ee("Select"), i !== void 0 ? /* @__PURE__ */ h(
485
485
  je,
486
486
  {
487
487
  ...n,
488
488
  forwardedReference: a
489
489
  }
490
490
  ) : /* @__PURE__ */ h(
491
- ze,
491
+ Ue,
492
492
  {
493
493
  ...n,
494
494
  forwardedReference: a
package/dist/Sidebar.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),t=require("react"),R=require("./effects-D98vUn6N.cjs"),H=require("./reference-C2guRuR0.cjs"),P=require("./usePresence-Dm0mls5p.cjs"),z=require("./Button-pinr6Woy.cjs"),U=require("./Text-DWYlIcPj.cjs"),ae=require("./useFocusTrap-CrMcAu8s.cjs"),oe=require("./useScrollLock-Dy8MZaSn.cjs"),ie=require("./aria-DM-xYEHQ.cjs"),le=require("./useFloatingPosition-8_GSpDjw.cjs"),ce=require("./Avatar-Belo7qAY.cjs"),ue=require("./Spinner-BE0F4y2S.cjs"),de=require("./Tooltip-DrAZSmEv.cjs"),fe=require("./units-BEMW4BNr.cjs");function be(s){const{label:n,onToggle:e,panelId:r,reference:b,side:u,sidebarOpen:i}=s;return l.jsx(z.Button,{ref:b,"aria-controls":r,"aria-expanded":i,"aria-haspopup":"dialog","aria-label":n,className:"nk-sidebar__fallback-trigger","data-side":u,icon:"burger",variant:"secondary",size:"large",onClick:e})}const q=new WeakMap;function Z(s){const n=q.get(s);if(n)return n;const e={listeners:new Set,owner:null,state:void 0};return q.set(s,e),e}function pe(s,n,e){const r=Z(s);return r.owner!==null&&r.owner!==n?!1:(r.owner=n,r.state=e,r.listeners.forEach(b=>b()),!0)}function he(s,n){const e=q.get(s);!e||e.owner!==n||(e.owner=null,e.state=void 0,e.listeners.forEach(r=>r()))}function me(s){var n;return s?(n=q.get(s))==null?void 0:n.state:void 0}function ge(s,n){if(!s)return()=>{};const e=Z(s);return e.listeners.add(n),()=>{e.listeners.delete(n)}}const ve=()=>{};function O(s){const n=R.useBoundary(s).boundaryElement,e=t.useCallback(b=>ge(n,b),[n]),r=t.useCallback(()=>me(n),[n]);return t.useSyncExternalStore(e,r,ve)}function D(s,n){return s==="both"||s===(n==="overlay"?"overlay":"inline")}const W=t.forwardRef(function(n,e){const{children:r,className:b,presentation:u="both",...i}=n,o=O("Sidebar.Footer");return D(u,o==null?void 0:o.presentation)?l.jsx("div",{...i,ref:e,className:["nk-sidebar__footer",b].filter(Boolean).join(" "),children:r}):null}),ye=t.forwardRef(function(n,e){const{"aria-label":r,"aria-labelledby":b,children:u,className:i,label:o,presentation:y="both",...p}=n,S=O("Sidebar.Group"),c=`${t.useId()}-label`,h=o!=null&&typeof o!="boolean"&&(typeof o!="string"||o.trim()!=="");if(!D(y,S==null?void 0:S.presentation))return null;const d=b??(r===void 0&&h?c:void 0),a=!!(r??d);return t.createElement(a?"nav":"div",{...p,ref:e,"aria-label":r,"aria-labelledby":d,className:["nk-sidebar__group",i].filter(Boolean).join(" ")},h?l.jsx(U.Text,{as:"h2",className:"nk-sidebar__group-label",id:c,size:"subtitle",weight:"medium",children:o}):null,l.jsx("ul",{className:"nk-sidebar__list",children:u}))}),Se=t.forwardRef(function(n,e){const{children:r,className:b,presentation:u="both",...i}=n,o=O("Sidebar.Header");return D(u,o==null?void 0:o.presentation)?l.jsx("div",{...i,ref:e,className:["nk-sidebar__header",b].filter(Boolean).join(" "),children:r}):null}),ke=t.forwardRef(function(n,e){const{active:r=!1,as:b,children:u,className:i,disabled:o=!1,icon:y,onClick:p,presentation:S="both",type:c,...h}=n,d=O("Sidebar.Item"),a=b??"button",f=a==="button",m=h,E=m.href!==void 0||m.to!==void 0;function v(k){if(o){k.preventDefault();return}p==null||p(k),d!=null&&d.open&&d.presentation==="overlay"&&!k.defaultPrevented&&d.requestOpenChange(!1,"item")}return D(S,d==null?void 0:d.presentation)?l.jsx("li",{className:"nk-sidebar__item-container",children:l.jsx(z.Button,{...h,ref:e,"aria-current":r?E?"page":"true":void 0,as:a,className:["nk-sidebar__item",i].filter(Boolean).join(" "),"data-active":r||void 0,disabled:o,fullWidth:!0,href:m.href,icon:y,onClick:v,shape:"rectangle",size:"small",textAlignment:"left",type:f?c??"button":c,variant:"ghost",children:l.jsx("span",{className:"nk-sidebar__item-label",children:u})})}):null}),Ee=1;function Ce(s){return s==null?void 0:s.ResizeObserver}function xe(s){return s==null?void 0:s.MutationObserver}function _e(){const[s,n]=t.useState(!1),e=t.useRef(null),r=t.useCallback(i=>{const o=i.scrollHeight-i.scrollTop-i.clientHeight;n(o>Ee)},[]),b=t.useCallback(i=>{var m;if((m=e.current)==null||m.call(e),e.current=null,!i)return;const o=i;r(o);function y(){r(o)}const p=o.ownerDocument.defaultView;p==null||p.addEventListener("resize",y);const S=Ce(p),c=S?new S(y):void 0;function h(){c==null||c.disconnect(),c==null||c.observe(o);for(const E of o.children)c==null||c.observe(E)}h();function d(E){E.some(k=>k.type==="childList")&&h(),y()}const a=xe(p),f=a?new a(d):void 0;f==null||f.observe(o,{attributeFilter:["class","hidden","style"],characterData:!0,childList:!0,subtree:!0}),e.current=()=>{p==null||p.removeEventListener("resize",y),c==null||c.disconnect(),f==null||f.disconnect()}},[r]),u=t.useCallback(i=>{r(i.currentTarget)},[r]);return{containerReference:b,contentBelow:s,handleScroll:u}}function je(s,n){for(const e of t.Children.toArray(s)){if(t.isValidElement(e)&&e.type===t.Fragment){const r=ee(e.props.children);r.bodyChildren.length>0&&n.bodyChildren.push(t.cloneElement(e,void 0,...r.bodyChildren)),r.footerChildren.length>0&&n.footerChildren.push(t.cloneElement(e,void 0,...r.footerChildren));continue}t.isValidElement(e)&&e.type===W?n.footerChildren.push(e):n.bodyChildren.push(e)}}function ee(s){const n={bodyChildren:[],footerChildren:[]};return je(s,n),n}function ne(s){const{"aria-label":n,"aria-labelledby":e,children:r,className:b,height:u,open:i,panelId:o,panelReference:y,presentation:p,side:S,state:c,style:h,width:d,...a}=s,{containerReference:f,contentBelow:m,handleScroll:E}=_e(),v=p==="overlay",{bodyChildren:k,footerChildren:I}=ee(r),L=n??(e===void 0?"Sidebar":void 0),T=v&&i;let j=h;return(d!==void 0||u!==void 0)&&(j={...h},u!==void 0&&(j["--nk-sidebar-height"]=u),d!==void 0&&(j["--nk-sidebar-width"]=d)),l.jsxs("aside",{...a,ref:y,"aria-hidden":v&&!i?!0:void 0,"aria-label":v&&!i?void 0:L,"aria-labelledby":v&&!i?void 0:e,"aria-modal":T?"true":void 0,className:["nk-sidebar",b].filter(Boolean).join(" "),"data-responsive":p==="pending"||void 0,"data-side":S,"data-state":c,"data-variant":v?"overlay":"inline",id:o,role:T?"dialog":void 0,style:j,tabIndex:v?-1:void 0,children:[l.jsx("div",{ref:f,className:"nk-sidebar__body","data-content-below":m||void 0,onScroll:E,children:k}),I]})}function Ne(s){const{boundaries:n,initialFocusReference:e,lockScroll:r,ownerDocument:b,panelReference:u,presenceState:i,restoreFocus:o,sidebar:y,side:p,...S}=s,{id:c,open:h,requestOpenChange:d}=y,a=t.useContext(P.FocusScopeContext),f=t.useRef(null),[m,E]=t.useState(null),v=R.useBoundary("Sidebar").boundaryElement,k=P.useOverlayLayer(!0,v),I=t.useCallback(B=>{f.current=B,u(B),E(B)},[u]);R.useIsomorphicLayoutEffect(()=>{m&&(m.inert=!h)},[h,m]);const L=t.useCallback(()=>{d(!1,"escape")},[d]),T=t.useCallback(()=>{d(!1,"outside")},[d]);P.useDismissableLayer({boundary:v,active:h,boundaries:n,dismissOnEscape:!0,dismissOnPointerDownOutside:!0,layerId:k.id,onEscapeDismiss:L,onPointerDownOutsideDismiss:T,ownerDocument:b});const j=ae.useFocusTrap({boundary:v,active:h,container:m,initialFocusReference:e??f,layerId:k.id,restoreFocus:o});return oe.useScrollLock(r&&h,b,v),l.jsx(P.FocusScopeContext.Provider,{value:h?j:a,children:l.jsx("div",{className:"nk-sidebar__overlay","data-side":p,"data-state":i,role:"presentation",style:{zIndex:k.zIndex},children:l.jsx(ne,{...S,open:h,panelId:c,panelReference:I,presentation:"overlay",side:p,state:i})})})}function Re(s){const{children:n}=s;if(n.type===t.Fragment)throw new Error("Sidebar.Trigger requires a single non-Fragment child");const e=O("Sidebar.Trigger"),r=n.props,b=H.getElementReference(n),u=e==null?void 0:e.registerTrigger,i=e==null?void 0:e.unregisterTrigger,o=t.useRef(null),y=t.useCallback(f=>{const m=o.current;m&&m!==f&&(i==null||i(m)),o.current=f,f&&(u==null||u(f)),H.assignElementReference(b,f)},[b,u,i]),p=t.useCallback(f=>{f.defaultPrevented||!e||e.requestOpenChange(!e.open,"trigger")},[e]);if(!e)return null;const{id:S,open:c,presentation:h,variant:d}=e,a=c&&h==="overlay";return t.cloneElement(n,le.resolveTriggerOverrides(r,{"aria-controls":a?ie.mergeIdentifiers(r["aria-controls"],S):r["aria-controls"],"aria-expanded":c,"aria-haspopup":r["aria-haspopup"]??"dialog",className:"nk-sidebar__trigger","data-sidebar-variant":d,onClick:p,ref:y}))}const Pe=t.forwardRef(function(n,e){const{actions:r,className:b,description:u,image:i,loading:o=!1,name:y,onClick:p,...S}=n,c=u!=null&&typeof u!="boolean",h=l.jsxs(l.Fragment,{children:[l.jsx(ce.Avatar,{alt:y,"aria-hidden":!0,className:"nk-sidebar__user-avatar",image:i}),l.jsxs("span",{className:"nk-sidebar__user-text",children:[l.jsx(U.Text,{as:"span",className:"nk-sidebar__user-name",children:y}),c?l.jsx(U.Text,{as:"span",className:"nk-sidebar__user-description",size:"caption",tone:"muted",children:u}):null]})]});return l.jsx("div",{...S,ref:e,className:["nk-sidebar__user",b].filter(Boolean).join(" "),children:o?l.jsx(ue.Spinner,{className:"nk-sidebar__user-spinner",size:16}):l.jsxs(l.Fragment,{children:[p?l.jsx("button",{className:"nk-sidebar__user-details",onClick:p,type:"button",children:h}):l.jsx("div",{className:"nk-sidebar__user-details",children:h}),r!==void 0&&r.length>0?l.jsx("div",{className:"nk-sidebar__user-actions",children:r.map(d=>{const{"aria-label":a,icon:f,label:m,...E}=d;return l.jsx(de.Tooltip2,{content:m,children:l.jsx(z.Button,{...E,"aria-label":a??m,className:"nk-sidebar__user-action",icon:f,shape:"rectangle",type:"button",variant:"ghost"})},m)})}):null]})})}),Te=()=>()=>{},X=()=>{};function Ie(s,n){const e=s==="responsive"?n:void 0,r=t.useSyncExternalStore((e==null?void 0:e.subscribe)??Te,(e==null?void 0:e.read)??X,X);return s!=="responsive"?s:r===void 0?"pending":r>=fe.breakpoint("medium")?"inline":"overlay"}const Le=32,Be=t.forwardRef(function(n,e){var Q;const{defaultOpen:r=!1,height:b,initialFocusReference:u,lockScroll:i=!0,onOpenChange:o,open:y,restoreFocus:p=!0,side:S="left",variant:c="responsive",width:h,...d}=n,a=R.useBoundary("Sidebar"),f=`${t.useId()}-sidebar`,m=t.useRef(Symbol("nk-sidebar")).current,E=t.useRef(null),v=Ie(c,a==null?void 0:a.width),k=y!==void 0,[I,L]=t.useState(r),[T,j]=t.useState(0),[B,re]=t.useState(!1),G=t.useRef(null),N=k?y:I,w=t.useRef(o);R.useIsomorphicLayoutEffect(()=>{w.current=o});const F=t.useCallback((g,C)=>{var x;N!==g&&(k||L(g),(x=w.current)==null||x.call(w,g,C))},[k,N]),V=t.useCallback(g=>{E.current=g,H.assignElementReference(e,g)},[e]),_=t.useMemo(()=>[E],[]),$=t.useCallback(g=>{_.push({current:g}),j(C=>C+1)},[_]),K=t.useCallback(g=>{const C=_.findIndex(x=>x.current===g);C>0&&_.splice(C,1),j(x=>Math.max(x-1,0))},[_]),te=t.useCallback(g=>{const C=G.current;if(C&&C!==g){const x=_.findIndex(se=>se.current===C);x>0&&_.splice(x,1)}G.current=g,g&&_.push({current:g})},[_]),A=t.useMemo(()=>({id:f,open:N,presentation:v,registerTrigger:$,requestOpenChange:F,unregisterTrigger:K,variant:c}),[N,f,v,$,F,K,c]);R.useIsomorphicLayoutEffect(()=>{const g=a==null?void 0:a.boundaryElement;if(!g)return;if(pe(g,m,A)===!1)throw new Error("A Boundary supports one Sidebar. Neatkit resolves Trigger, Group, and Item interactions against the single Sidebar published to the nearest Boundary, so give each Sidebar a Boundary of its own.")},[a==null?void 0:a.boundaryElement,m,A]),R.useIsomorphicLayoutEffect(()=>{const g=a==null?void 0:a.boundaryElement;if(g)return()=>he(g,m)},[a==null?void 0:a.boundaryElement,m]),t.useEffect(()=>{v==="inline"&&F(!1,"variant")},[v,F]),t.useEffect(()=>{var x;const g=(x=a==null?void 0:a.boundaryElement)==null?void 0:x.ownerDocument.defaultView;if(!g)return;const C=g.setTimeout(()=>re(!0),Le);return()=>g.clearTimeout(C)},[a==null?void 0:a.boundaryElement]);const M=P.usePresence(N&&v==="overlay"),Y=((Q=a==null?void 0:a.boundaryElement)==null?void 0:Q.ownerDocument)??(typeof document>"u"?null:document);if(v!=="overlay")return l.jsx(ne,{...d,height:b,open:!1,panelId:f,panelReference:V,presentation:v,side:S,width:h});const J=B&&T===0?l.jsx(P.Portal,{children:l.jsx(be,{label:`Open ${d["aria-label"]??"Sidebar"}`,onToggle:()=>F(!N,"trigger"),panelId:M.present?f:void 0,reference:te,side:S,sidebarOpen:N})}):null;return!M.present||!Y?J:l.jsxs(l.Fragment,{children:[J,l.jsx(P.Portal,{children:l.jsx(Ne,{...d,boundaries:_,initialFocusReference:u,lockScroll:i,ownerDocument:Y,panelReference:V,presenceState:M.state==="closing"?"closing":"open",restoreFocus:p,side:S,sidebar:A,width:h})})]})}),Fe=Object.assign(Be,{Footer:W,Group:ye,Header:Se,Item:ke,Trigger:Re,User:Pe});exports.default=Fe;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),t=require("react"),R=require("./effects-D98vUn6N.cjs"),H=require("./reference-C2guRuR0.cjs"),P=require("./usePresence-Dm0mls5p.cjs"),z=require("./Button-pinr6Woy.cjs"),U=require("./Text-DWYlIcPj.cjs"),ae=require("./useFocusTrap-CrMcAu8s.cjs"),oe=require("./useScrollLock-Dy8MZaSn.cjs"),ie=require("./aria-DM-xYEHQ.cjs"),le=require("./useFloatingPosition-DPVO2E8O.cjs"),ce=require("./Avatar-Belo7qAY.cjs"),ue=require("./Spinner-BE0F4y2S.cjs"),de=require("./Tooltip-B2rZmRCs.cjs"),fe=require("./units-BUvyiHxw.cjs");function be(s){const{label:n,onToggle:e,panelId:r,reference:b,side:u,sidebarOpen:i}=s;return l.jsx(z.Button,{ref:b,"aria-controls":r,"aria-expanded":i,"aria-haspopup":"dialog","aria-label":n,className:"nk-sidebar__fallback-trigger","data-side":u,icon:"burger",variant:"secondary",size:"large",onClick:e})}const q=new WeakMap;function Z(s){const n=q.get(s);if(n)return n;const e={listeners:new Set,owner:null,state:void 0};return q.set(s,e),e}function pe(s,n,e){const r=Z(s);return r.owner!==null&&r.owner!==n?!1:(r.owner=n,r.state=e,r.listeners.forEach(b=>b()),!0)}function he(s,n){const e=q.get(s);!e||e.owner!==n||(e.owner=null,e.state=void 0,e.listeners.forEach(r=>r()))}function me(s){var n;return s?(n=q.get(s))==null?void 0:n.state:void 0}function ge(s,n){if(!s)return()=>{};const e=Z(s);return e.listeners.add(n),()=>{e.listeners.delete(n)}}const ve=()=>{};function O(s){const n=R.useBoundary(s).boundaryElement,e=t.useCallback(b=>ge(n,b),[n]),r=t.useCallback(()=>me(n),[n]);return t.useSyncExternalStore(e,r,ve)}function D(s,n){return s==="both"||s===(n==="overlay"?"overlay":"inline")}const W=t.forwardRef(function(n,e){const{children:r,className:b,presentation:u="both",...i}=n,o=O("Sidebar.Footer");return D(u,o==null?void 0:o.presentation)?l.jsx("div",{...i,ref:e,className:["nk-sidebar__footer",b].filter(Boolean).join(" "),children:r}):null}),ye=t.forwardRef(function(n,e){const{"aria-label":r,"aria-labelledby":b,children:u,className:i,label:o,presentation:y="both",...p}=n,S=O("Sidebar.Group"),c=`${t.useId()}-label`,h=o!=null&&typeof o!="boolean"&&(typeof o!="string"||o.trim()!=="");if(!D(y,S==null?void 0:S.presentation))return null;const d=b??(r===void 0&&h?c:void 0),a=!!(r??d);return t.createElement(a?"nav":"div",{...p,ref:e,"aria-label":r,"aria-labelledby":d,className:["nk-sidebar__group",i].filter(Boolean).join(" ")},h?l.jsx(U.Text,{as:"h2",className:"nk-sidebar__group-label",id:c,size:"subtitle",weight:"medium",children:o}):null,l.jsx("ul",{className:"nk-sidebar__list",children:u}))}),Se=t.forwardRef(function(n,e){const{children:r,className:b,presentation:u="both",...i}=n,o=O("Sidebar.Header");return D(u,o==null?void 0:o.presentation)?l.jsx("div",{...i,ref:e,className:["nk-sidebar__header",b].filter(Boolean).join(" "),children:r}):null}),ke=t.forwardRef(function(n,e){const{active:r=!1,as:b,children:u,className:i,disabled:o=!1,icon:y,onClick:p,presentation:S="both",type:c,...h}=n,d=O("Sidebar.Item"),a=b??"button",f=a==="button",m=h,E=m.href!==void 0||m.to!==void 0;function v(k){if(o){k.preventDefault();return}p==null||p(k),d!=null&&d.open&&d.presentation==="overlay"&&!k.defaultPrevented&&d.requestOpenChange(!1,"item")}return D(S,d==null?void 0:d.presentation)?l.jsx("li",{className:"nk-sidebar__item-container",children:l.jsx(z.Button,{...h,ref:e,"aria-current":r?E?"page":"true":void 0,as:a,className:["nk-sidebar__item",i].filter(Boolean).join(" "),"data-active":r||void 0,disabled:o,fullWidth:!0,href:m.href,icon:y,onClick:v,shape:"rectangle",size:"small",textAlignment:"left",type:f?c??"button":c,variant:"ghost",children:l.jsx("span",{className:"nk-sidebar__item-label",children:u})})}):null}),Ee=1;function Ce(s){return s==null?void 0:s.ResizeObserver}function xe(s){return s==null?void 0:s.MutationObserver}function _e(){const[s,n]=t.useState(!1),e=t.useRef(null),r=t.useCallback(i=>{const o=i.scrollHeight-i.scrollTop-i.clientHeight;n(o>Ee)},[]),b=t.useCallback(i=>{var m;if((m=e.current)==null||m.call(e),e.current=null,!i)return;const o=i;r(o);function y(){r(o)}const p=o.ownerDocument.defaultView;p==null||p.addEventListener("resize",y);const S=Ce(p),c=S?new S(y):void 0;function h(){c==null||c.disconnect(),c==null||c.observe(o);for(const E of o.children)c==null||c.observe(E)}h();function d(E){E.some(k=>k.type==="childList")&&h(),y()}const a=xe(p),f=a?new a(d):void 0;f==null||f.observe(o,{attributeFilter:["class","hidden","style"],characterData:!0,childList:!0,subtree:!0}),e.current=()=>{p==null||p.removeEventListener("resize",y),c==null||c.disconnect(),f==null||f.disconnect()}},[r]),u=t.useCallback(i=>{r(i.currentTarget)},[r]);return{containerReference:b,contentBelow:s,handleScroll:u}}function je(s,n){for(const e of t.Children.toArray(s)){if(t.isValidElement(e)&&e.type===t.Fragment){const r=ee(e.props.children);r.bodyChildren.length>0&&n.bodyChildren.push(t.cloneElement(e,void 0,...r.bodyChildren)),r.footerChildren.length>0&&n.footerChildren.push(t.cloneElement(e,void 0,...r.footerChildren));continue}t.isValidElement(e)&&e.type===W?n.footerChildren.push(e):n.bodyChildren.push(e)}}function ee(s){const n={bodyChildren:[],footerChildren:[]};return je(s,n),n}function ne(s){const{"aria-label":n,"aria-labelledby":e,children:r,className:b,height:u,open:i,panelId:o,panelReference:y,presentation:p,side:S,state:c,style:h,width:d,...a}=s,{containerReference:f,contentBelow:m,handleScroll:E}=_e(),v=p==="overlay",{bodyChildren:k,footerChildren:I}=ee(r),L=n??(e===void 0?"Sidebar":void 0),T=v&&i;let j=h;return(d!==void 0||u!==void 0)&&(j={...h},u!==void 0&&(j["--nk-sidebar-height"]=u),d!==void 0&&(j["--nk-sidebar-width"]=d)),l.jsxs("aside",{...a,ref:y,"aria-hidden":v&&!i?!0:void 0,"aria-label":v&&!i?void 0:L,"aria-labelledby":v&&!i?void 0:e,"aria-modal":T?"true":void 0,className:["nk-sidebar",b].filter(Boolean).join(" "),"data-responsive":p==="pending"||void 0,"data-side":S,"data-state":c,"data-variant":v?"overlay":"inline",id:o,role:T?"dialog":void 0,style:j,tabIndex:v?-1:void 0,children:[l.jsx("div",{ref:f,className:"nk-sidebar__body","data-content-below":m||void 0,onScroll:E,children:k}),I]})}function Ne(s){const{boundaries:n,initialFocusReference:e,lockScroll:r,ownerDocument:b,panelReference:u,presenceState:i,restoreFocus:o,sidebar:y,side:p,...S}=s,{id:c,open:h,requestOpenChange:d}=y,a=t.useContext(P.FocusScopeContext),f=t.useRef(null),[m,E]=t.useState(null),v=R.useBoundary("Sidebar").boundaryElement,k=P.useOverlayLayer(!0,v),I=t.useCallback(B=>{f.current=B,u(B),E(B)},[u]);R.useIsomorphicLayoutEffect(()=>{m&&(m.inert=!h)},[h,m]);const L=t.useCallback(()=>{d(!1,"escape")},[d]),T=t.useCallback(()=>{d(!1,"outside")},[d]);P.useDismissableLayer({boundary:v,active:h,boundaries:n,dismissOnEscape:!0,dismissOnPointerDownOutside:!0,layerId:k.id,onEscapeDismiss:L,onPointerDownOutsideDismiss:T,ownerDocument:b});const j=ae.useFocusTrap({boundary:v,active:h,container:m,initialFocusReference:e??f,layerId:k.id,restoreFocus:o});return oe.useScrollLock(r&&h,b,v),l.jsx(P.FocusScopeContext.Provider,{value:h?j:a,children:l.jsx("div",{className:"nk-sidebar__overlay","data-side":p,"data-state":i,role:"presentation",style:{zIndex:k.zIndex},children:l.jsx(ne,{...S,open:h,panelId:c,panelReference:I,presentation:"overlay",side:p,state:i})})})}function Re(s){const{children:n}=s;if(n.type===t.Fragment)throw new Error("Sidebar.Trigger requires a single non-Fragment child");const e=O("Sidebar.Trigger"),r=n.props,b=H.getElementReference(n),u=e==null?void 0:e.registerTrigger,i=e==null?void 0:e.unregisterTrigger,o=t.useRef(null),y=t.useCallback(f=>{const m=o.current;m&&m!==f&&(i==null||i(m)),o.current=f,f&&(u==null||u(f)),H.assignElementReference(b,f)},[b,u,i]),p=t.useCallback(f=>{f.defaultPrevented||!e||e.requestOpenChange(!e.open,"trigger")},[e]);if(!e)return null;const{id:S,open:c,presentation:h,variant:d}=e,a=c&&h==="overlay";return t.cloneElement(n,le.resolveTriggerOverrides(r,{"aria-controls":a?ie.mergeIdentifiers(r["aria-controls"],S):r["aria-controls"],"aria-expanded":c,"aria-haspopup":r["aria-haspopup"]??"dialog",className:"nk-sidebar__trigger","data-sidebar-variant":d,onClick:p,ref:y}))}const Pe=t.forwardRef(function(n,e){const{actions:r,className:b,description:u,image:i,loading:o=!1,name:y,onClick:p,...S}=n,c=u!=null&&typeof u!="boolean",h=l.jsxs(l.Fragment,{children:[l.jsx(ce.Avatar,{alt:y,"aria-hidden":!0,className:"nk-sidebar__user-avatar",image:i}),l.jsxs("span",{className:"nk-sidebar__user-text",children:[l.jsx(U.Text,{as:"span",className:"nk-sidebar__user-name",children:y}),c?l.jsx(U.Text,{as:"span",className:"nk-sidebar__user-description",size:"caption",tone:"muted",children:u}):null]})]});return l.jsx("div",{...S,ref:e,className:["nk-sidebar__user",b].filter(Boolean).join(" "),children:o?l.jsx(ue.Spinner,{className:"nk-sidebar__user-spinner",size:16}):l.jsxs(l.Fragment,{children:[p?l.jsx("button",{className:"nk-sidebar__user-details",onClick:p,type:"button",children:h}):l.jsx("div",{className:"nk-sidebar__user-details",children:h}),r!==void 0&&r.length>0?l.jsx("div",{className:"nk-sidebar__user-actions",children:r.map(d=>{const{"aria-label":a,icon:f,label:m,...E}=d;return l.jsx(de.Tooltip2,{content:m,children:l.jsx(z.Button,{...E,"aria-label":a??m,className:"nk-sidebar__user-action",icon:f,shape:"rectangle",type:"button",variant:"ghost"})},m)})}):null]})})}),Te=()=>()=>{},X=()=>{};function Ie(s,n){const e=s==="responsive"?n:void 0,r=t.useSyncExternalStore((e==null?void 0:e.subscribe)??Te,(e==null?void 0:e.read)??X,X);return s!=="responsive"?s:r===void 0?"pending":r>=fe.breakpoint("medium")?"inline":"overlay"}const Le=32,Be=t.forwardRef(function(n,e){var Q;const{defaultOpen:r=!1,height:b,initialFocusReference:u,lockScroll:i=!0,onOpenChange:o,open:y,restoreFocus:p=!0,side:S="left",variant:c="responsive",width:h,...d}=n,a=R.useBoundary("Sidebar"),f=`${t.useId()}-sidebar`,m=t.useRef(Symbol("nk-sidebar")).current,E=t.useRef(null),v=Ie(c,a==null?void 0:a.width),k=y!==void 0,[I,L]=t.useState(r),[T,j]=t.useState(0),[B,re]=t.useState(!1),G=t.useRef(null),N=k?y:I,w=t.useRef(o);R.useIsomorphicLayoutEffect(()=>{w.current=o});const F=t.useCallback((g,C)=>{var x;N!==g&&(k||L(g),(x=w.current)==null||x.call(w,g,C))},[k,N]),V=t.useCallback(g=>{E.current=g,H.assignElementReference(e,g)},[e]),_=t.useMemo(()=>[E],[]),$=t.useCallback(g=>{_.push({current:g}),j(C=>C+1)},[_]),K=t.useCallback(g=>{const C=_.findIndex(x=>x.current===g);C>0&&_.splice(C,1),j(x=>Math.max(x-1,0))},[_]),te=t.useCallback(g=>{const C=G.current;if(C&&C!==g){const x=_.findIndex(se=>se.current===C);x>0&&_.splice(x,1)}G.current=g,g&&_.push({current:g})},[_]),A=t.useMemo(()=>({id:f,open:N,presentation:v,registerTrigger:$,requestOpenChange:F,unregisterTrigger:K,variant:c}),[N,f,v,$,F,K,c]);R.useIsomorphicLayoutEffect(()=>{const g=a==null?void 0:a.boundaryElement;if(!g)return;if(pe(g,m,A)===!1)throw new Error("A Boundary supports one Sidebar. Neatkit resolves Trigger, Group, and Item interactions against the single Sidebar published to the nearest Boundary, so give each Sidebar a Boundary of its own.")},[a==null?void 0:a.boundaryElement,m,A]),R.useIsomorphicLayoutEffect(()=>{const g=a==null?void 0:a.boundaryElement;if(g)return()=>he(g,m)},[a==null?void 0:a.boundaryElement,m]),t.useEffect(()=>{v==="inline"&&F(!1,"variant")},[v,F]),t.useEffect(()=>{var x;const g=(x=a==null?void 0:a.boundaryElement)==null?void 0:x.ownerDocument.defaultView;if(!g)return;const C=g.setTimeout(()=>re(!0),Le);return()=>g.clearTimeout(C)},[a==null?void 0:a.boundaryElement]);const M=P.usePresence(N&&v==="overlay"),Y=((Q=a==null?void 0:a.boundaryElement)==null?void 0:Q.ownerDocument)??(typeof document>"u"?null:document);if(v!=="overlay")return l.jsx(ne,{...d,height:b,open:!1,panelId:f,panelReference:V,presentation:v,side:S,width:h});const J=B&&T===0?l.jsx(P.Portal,{children:l.jsx(be,{label:`Open ${d["aria-label"]??"Sidebar"}`,onToggle:()=>F(!N,"trigger"),panelId:M.present?f:void 0,reference:te,side:S,sidebarOpen:N})}):null;return!M.present||!Y?J:l.jsxs(l.Fragment,{children:[J,l.jsx(P.Portal,{children:l.jsx(Ne,{...d,boundaries:_,initialFocusReference:u,lockScroll:i,ownerDocument:Y,panelReference:V,presenceState:M.state==="closing"?"closing":"open",restoreFocus:p,side:S,sidebar:A,width:h})})]})}),Fe=Object.assign(Be,{Footer:W,Group:ye,Header:Se,Item:ke,Trigger:Re,User:Pe});exports.default=Fe;
package/dist/Sidebar.js CHANGED
@@ -9,11 +9,11 @@ import { T as V } from "./Text-rN6iDo0V.js";
9
9
  import { u as Pe } from "./useFocusTrap-BxPazAL6.js";
10
10
  import { u as Te } from "./useScrollLock-Drd7OZRC.js";
11
11
  import { m as Ie } from "./aria-Bv-xVREf.js";
12
- import { r as Le } from "./useFloatingPosition-Cizey9UN.js";
12
+ import { r as Le } from "./useFloatingPosition-DktY7k-t.js";
13
13
  import { A as Re } from "./Avatar-DjDCFqNG.js";
14
14
  import { S as Be } from "./Spinner-CmxlDlOk.js";
15
- import { T as Oe } from "./Tooltip-CDOwCTig.js";
16
- import { b as Fe } from "./units-D4Waz9EO.js";
15
+ import { T as Oe } from "./Tooltip-4RWCnb2Q.js";
16
+ import { b as Fe } from "./units-CMj64udI.js";
17
17
  function xe(t) {
18
18
  const { label: n, onToggle: e, panelId: r, reference: u, side: l, sidebarOpen: o } = t;
19
19
  return /* @__PURE__ */ p(