neatkit 0.10.0 → 0.12.0

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 (105) hide show
  1. package/dist/Boundary.cjs +1 -1
  2. package/dist/Boundary.js +191 -120
  3. package/dist/{Button-CVe9T_Zw.cjs → Button-6oWs-pyF.cjs} +1 -1
  4. package/dist/{Button-D6rXvcqq.js → Button-B0E-M8mp.js} +1 -1
  5. package/dist/Button.cjs +1 -1
  6. package/dist/Button.js +1 -1
  7. package/dist/Card.cjs +1 -1
  8. package/dist/Card.js +75 -2
  9. package/dist/Checkbox.cjs +1 -1
  10. package/dist/Checkbox.js +2 -2
  11. package/dist/Code-f0GWveGp.cjs +4 -0
  12. package/dist/{Code-Bp2X1k-g.js → Code-pROJjsiG.js} +57 -58
  13. package/dist/Code.cjs +1 -1
  14. package/dist/Code.js +1 -1
  15. package/dist/Field.cjs +1 -1
  16. package/dist/Field.js +57 -62
  17. package/dist/Icon-BFaHVAoQ.cjs +1 -0
  18. package/dist/{Icon-CxK1wlGk.js → Icon-Cj1s40xn.js} +308 -96
  19. package/dist/Icon.cjs +1 -1
  20. package/dist/Icon.js +1 -1
  21. package/dist/Input.cjs +1 -1
  22. package/dist/Input.js +2 -2
  23. package/dist/Markdown.cjs +1 -1
  24. package/dist/Markdown.js +76 -75
  25. package/dist/Modal.cjs +1 -1
  26. package/dist/Modal.js +4 -4
  27. package/dist/PinInput.cjs +1 -1
  28. package/dist/PinInput.js +228 -192
  29. package/dist/Popover.cjs +1 -1
  30. package/dist/Popover.js +117 -119
  31. package/dist/Radio.cjs +1 -1
  32. package/dist/Radio.js +1 -1
  33. package/dist/Select.cjs +1 -1
  34. package/dist/Select.js +12 -11
  35. package/dist/Sidebar.cjs +1 -1
  36. package/dist/Sidebar.js +441 -309
  37. package/dist/Switch.cjs +1 -1
  38. package/dist/Switch.js +1 -1
  39. package/dist/{Table-DutHfiXR.js → Table-B2G8CHJ9.js} +111 -108
  40. package/dist/Table-Z8Q6XRkc.cjs +1 -0
  41. package/dist/Table.cjs +1 -1
  42. package/dist/Table.js +1 -1
  43. package/dist/TextArea.cjs +1 -1
  44. package/dist/TextArea.js +1 -1
  45. package/dist/Tooltip-CpyROf6x.js +225 -0
  46. package/dist/Tooltip-DDPh_YFO.cjs +1 -0
  47. package/dist/Tooltip.cjs +1 -1
  48. package/dist/Tooltip.js +1 -1
  49. package/dist/aria-Bv-xVREf.js +17 -0
  50. package/dist/aria-DM-xYEHQ.cjs +1 -0
  51. package/dist/components/Boundary/hooks/useDocumentBackground.d.ts +28 -0
  52. package/dist/components/Card/Card.d.ts +22 -23
  53. package/dist/components/Card/components/CardBody.d.ts +24 -0
  54. package/dist/components/Card/components/CardFooter.d.ts +24 -0
  55. package/dist/components/Card/components/CardHeader.d.ts +24 -0
  56. package/dist/components/Card/index.d.ts +1 -1
  57. package/dist/components/Code/Code.d.ts +9 -7
  58. package/dist/components/Code/index.d.ts +1 -1
  59. package/dist/components/Icon/icons/AppleIcon.d.ts +11 -0
  60. package/dist/components/Icon/icons/BingIcon.d.ts +11 -0
  61. package/dist/components/Icon/icons/ChainIcon.d.ts +11 -0
  62. package/dist/components/Icon/icons/FacebookIcon.d.ts +11 -0
  63. package/dist/components/Icon/icons/GoogleIcon.d.ts +11 -0
  64. package/dist/components/Icon/icons/InstagramIcon.d.ts +11 -0
  65. package/dist/components/Icon/icons/MicrosoftIcon.d.ts +11 -0
  66. package/dist/components/Icon/icons/TwitterIcon.d.ts +11 -0
  67. package/dist/components/Icon/utils/registry.d.ts +8 -0
  68. package/dist/components/PinInput/PinInput.d.ts +1 -1
  69. package/dist/components/PinInput/hooks/usePinInput.d.ts +1 -1
  70. package/dist/components/Radio/Radio.d.ts +1 -1
  71. package/dist/components/Sidebar/Sidebar.d.ts +5 -0
  72. package/dist/components/Sidebar/components/SidebarFallbackTrigger.d.ts +32 -0
  73. package/dist/components/Sidebar/components/SidebarFooter.d.ts +5 -0
  74. package/dist/components/Sidebar/components/SidebarPanel.d.ts +1 -1
  75. package/dist/components/Sidebar/components/SidebarTrigger.d.ts +4 -0
  76. package/dist/components/Sidebar/hooks/useContentBelow.d.ts +23 -0
  77. package/dist/components/Sidebar/utils/children.d.ts +16 -0
  78. package/dist/components/Table/Table.d.ts +8 -2
  79. package/dist/components/Table/index.d.ts +1 -1
  80. package/dist/effects-D98vUn6N.cjs +1 -0
  81. package/dist/effects-DGbA6Q2O.js +18 -0
  82. package/dist/style.css +1 -1
  83. package/dist/useFloatingPosition-DQgw-w_Z.cjs +1 -0
  84. package/dist/useFloatingPosition-MGoyautY.js +57 -0
  85. package/dist/{useFocusTrap-C0IcCdNf.js → useFocusTrap-BxPazAL6.js} +1 -1
  86. package/dist/{useFocusTrap-gAK_402D.cjs → useFocusTrap-CrMcAu8s.cjs} +1 -1
  87. package/dist/{usePresence-CqegYqy4.js → usePresence-BTRY1_l-.js} +47 -56
  88. package/dist/usePresence-Dm0mls5p.cjs +1 -0
  89. package/dist/utils/aria.d.ts +4 -5
  90. package/dist/utils/trigger.d.ts +46 -0
  91. package/package.json +1 -1
  92. package/dist/Card-CPq6dsut.js +0 -34
  93. package/dist/Card-CQ-8_1tO.cjs +0 -1
  94. package/dist/Code-B7s_rN0G.cjs +0 -4
  95. package/dist/Icon-BIBzgznI.cjs +0 -1
  96. package/dist/Table-BqWBgMTU.cjs +0 -1
  97. package/dist/Tooltip-CCuE-hfp.cjs +0 -1
  98. package/dist/Tooltip-CeyRKNv4.js +0 -231
  99. package/dist/aria-Bntn6ad_.cjs +0 -1
  100. package/dist/aria-CeA9QfD1.js +0 -15
  101. package/dist/effects-D5CWf-Pl.js +0 -8
  102. package/dist/effects-D85L_7zM.cjs +0 -1
  103. package/dist/useFloatingPosition-Dq8xpr3E.js +0 -27
  104. package/dist/useFloatingPosition-g5kXywoB.cjs +0 -1
  105. package/dist/usePresence-B5RYv4e1.cjs +0 -1
package/dist/Popover.js CHANGED
@@ -1,230 +1,228 @@
1
1
  "use client";
2
- import { jsxs as ne, Fragment as Le, jsx as I } from "react/jsx-runtime";
3
- import { forwardRef as Ne, Fragment as Be, useId as _e, useContext as Ke, useState as q, useRef as v, useReducer as je, useMemo as qe, useCallback as y, useEffect as z, cloneElement as ze } from "react";
4
- import { m as Ae } from "./aria-CeA9QfD1.js";
5
- import { u as Me } from "./effects-D5CWf-Pl.js";
6
- import { g as $e, a as se } from "./reference-CXMr27nM.js";
7
- import { F as oe, c as He, b as Ve, d as Ue, e as Ge, P as Je } from "./usePresence-CqegYqy4.js";
8
- import { u as Qe } from "./useFloatingPosition-Dq8xpr3E.js";
9
- import { u as We } from "./useFocusTrap-C0IcCdNf.js";
10
- import { S as Xe } from "./Surface-vEFsZC12.js";
11
- function Ye(o) {
12
- const { inert: a, panelElement: i } = o;
13
- return Me(() => {
2
+ import { jsxs as ne, Fragment as Ne, jsx as I } from "react/jsx-runtime";
3
+ import { forwardRef as _e, Fragment as Be, useId as qe, useContext as ze, useState as A, useRef as y, useReducer as Ae, useMemo as Me, useCallback as h, useEffect as M, cloneElement as $e } from "react";
4
+ import { m as je } from "./aria-Bv-xVREf.js";
5
+ import { u as He, a as Ke } from "./effects-DGbA6Q2O.js";
6
+ import { g as Ve, a as se } from "./reference-CXMr27nM.js";
7
+ import { u as Ue, r as Ge } from "./useFloatingPosition-MGoyautY.js";
8
+ import { F as oe, b as Je, c as Qe, d as We, P as Xe } from "./usePresence-BTRY1_l-.js";
9
+ import { u as Ye } from "./useFocusTrap-BxPazAL6.js";
10
+ import { S as Ze } from "./Surface-vEFsZC12.js";
11
+ function er(t) {
12
+ const { inert: a, panelElement: i } = t;
13
+ return Ke(() => {
14
14
  i && (i.inert = a);
15
15
  }, [a, i]), null;
16
16
  }
17
- function Ze(o, a, i) {
18
- a.current = o, se(i, o);
17
+ function rr(t, a, i) {
18
+ a.current = t, se(i, t);
19
19
  }
20
- function er(o, a, i) {
21
- a.current = o, se(i, o);
20
+ function tr(t, a, i) {
21
+ a.current = t, se(i, t);
22
22
  }
23
- function rr(o) {
24
- const a = o.tagName.toLowerCase();
25
- return o.getAttribute("role") === "button" && a !== "button" ? !1 : ["button", "input", "select", "summary", "textarea"].includes(a) ? !0 : a === "a" && o.hasAttribute("href");
23
+ function nr(t) {
24
+ const a = t.tagName.toLowerCase();
25
+ return t.getAttribute("role") === "button" && a !== "button" ? !1 : ["button", "input", "select", "summary", "textarea"].includes(a) ? !0 : a === "a" && t.hasAttribute("href");
26
26
  }
27
- function tr(o) {
28
- return o === "grid" || o === "listbox" || o === "menu" || o === "tree" ? o : "dialog";
27
+ function or(t) {
28
+ return t === "grid" || t === "listbox" || t === "menu" || t === "tree" ? t : "dialog";
29
29
  }
30
- const pr = Ne(function(a, i) {
30
+ const mr = _e(function(a, i) {
31
31
  const {
32
- "aria-label": A,
32
+ "aria-label": $,
33
33
  "aria-labelledby": ae,
34
- autoFocus: F = !0,
34
+ autoFocus: D = !0,
35
35
  children: ie,
36
36
  className: ce,
37
37
  closeOnEscape: le = !0,
38
38
  closeOnOutsideInteraction: ue = !0,
39
39
  defaultOpen: de = !1,
40
40
  disabled: R = !1,
41
- initialFocusReference: h,
41
+ initialFocusReference: P,
42
42
  onEscapeKeyDown: fe,
43
43
  onOpenChange: x,
44
- onPointerDownOutside: k,
45
- open: M,
46
- placement: $ = "bottom",
44
+ onPointerDownOutside: O,
45
+ open: j,
46
+ placement: H = "bottom",
47
47
  restoreFocus: L = !0,
48
- role: H = "dialog",
48
+ role: K = "dialog",
49
49
  style: V,
50
50
  tabIndex: pe,
51
- trapFocus: m = !1,
51
+ trapFocus: g = !1,
52
52
  trigger: l,
53
- ...me
53
+ ...ge
54
54
  } = a;
55
55
  if (l.type === Be)
56
56
  throw new Error("Popover requires a single non-Fragment trigger");
57
- const U = _e(), ge = Ke(oe), G = `${U}-popover`, n = l.props, J = $e(l), Q = n.id ?? `${U}-trigger`, P = R || n.disabled === !0 || n["aria-disabled"] === !0 || n["aria-disabled"] === "true", E = M !== void 0, [be, ve] = q(de), r = E ? M : be, O = He(r), W = v(null), X = v(null), N = v("programmatic"), B = v(null), Y = v(r), T = v(null), [ye, he] = je(
57
+ const U = qe(), me = ze(oe), G = `${U}-popover`, o = l.props, J = Ve(l), Q = o.id ?? `${U}-trigger`, m = R || o.disabled === !0 || o["aria-disabled"] === !0 || o["aria-disabled"] === "true", T = j !== void 0, [be, ve] = A(de), r = T ? j : be, k = Je(r), W = y(null), X = y(null), N = y("programmatic"), _ = y(null), Y = y(r), E = y(null), [ye, he] = Ae(
58
58
  (e) => e + 1,
59
59
  0
60
- ), [c, Pe] = q(null), [u, Ee] = q(null), s = (c == null ? void 0 : c.ownerDocument) ?? (typeof document > "u" ? null : document), w = Ve("Popover").boundaryElement, C = Ue(O.present, w), Te = qe(
60
+ ), [c, Pe] = A(null), [u, Te] = A(null), s = (c == null ? void 0 : c.ownerDocument) ?? (typeof document > "u" ? null : document), C = He("Popover").boundaryElement, S = Qe(k.present, C), Ee = Me(
61
61
  () => [W, X],
62
62
  []
63
- ), d = Qe(
64
- O.present,
65
- $,
63
+ ), d = Ue(
64
+ k.present,
65
+ H,
66
66
  c,
67
67
  u,
68
- w
69
- ), Ie = y(
68
+ C
69
+ ), Ie = h(
70
70
  (e) => {
71
- er(
71
+ tr(
72
72
  e,
73
73
  W,
74
74
  J
75
75
  ), Pe(e);
76
76
  },
77
77
  [J]
78
- ), Re = y(
78
+ ), Re = h(
79
79
  (e) => {
80
- Ze(
80
+ rr(
81
81
  e,
82
82
  X,
83
83
  i
84
- ), Ee(e);
84
+ ), Te(e);
85
85
  },
86
86
  [i]
87
- ), f = y((e, t) => {
88
- r !== e && (E ? (B.current = {
87
+ ), f = h((e, n) => {
88
+ r !== e && (T ? (_.current = {
89
89
  open: e,
90
- reason: t
91
- }, he()) : (N.current = t, ve(e)), x == null || x(e, t));
92
- }, [E, x, r]), xe = y(() => {
90
+ reason: n
91
+ }, he()) : (N.current = n, ve(e)), x == null || x(e, n));
92
+ }, [T, x, r]), xe = h(() => {
93
93
  f(!1, "escape");
94
- }, [f]), ke = y(() => {
94
+ }, [f]), Oe = h(() => {
95
95
  f(!1, "outside");
96
- }, [f]), Oe = y((e) => {
96
+ }, [f]), ke = h((e) => {
97
97
  var p;
98
- if (k == null || k(e), e.defaultPrevented) return;
99
- const t = (p = s == null ? void 0 : s.defaultView) == null ? void 0 : p.HTMLElement;
100
- t ? T.current = e.composedPath().find(
101
- (b) => b instanceof t && b.tabIndex >= 0
102
- ) ?? e.target : T.current = e.target;
103
- }, [k, s]);
104
- Ge({
105
- boundary: w,
98
+ if (O == null || O(e), e.defaultPrevented) return;
99
+ const n = (p = s == null ? void 0 : s.defaultView) == null ? void 0 : p.HTMLElement;
100
+ n ? E.current = e.composedPath().find(
101
+ (v) => v instanceof n && v.tabIndex >= 0
102
+ ) ?? e.target : E.current = e.target;
103
+ }, [O, s]);
104
+ We({
105
+ boundary: C,
106
106
  active: r,
107
- boundaries: Te,
107
+ boundaries: Ee,
108
108
  dismissOnEscape: le,
109
109
  dismissOnPointerDownOutside: ue,
110
- layerId: C.id,
110
+ layerId: S.id,
111
111
  onEscapeDismiss: xe,
112
112
  onEscapeKeyDown: fe,
113
- onPointerDownOutside: Oe,
114
- onPointerDownOutsideDismiss: ke,
113
+ onPointerDownOutside: ke,
114
+ onPointerDownOutsideDismiss: Oe,
115
115
  ownerDocument: s
116
116
  });
117
- const we = We({
118
- boundary: w,
119
- active: r && m,
120
- autoFocus: F,
117
+ const Ce = Ye({
118
+ boundary: C,
119
+ active: r && g,
120
+ autoFocus: D,
121
121
  container: u,
122
- initialFocusReference: h,
123
- layerId: C.id,
122
+ initialFocusReference: P,
123
+ layerId: S.id,
124
124
  restoreFocus: L
125
125
  });
126
- z(() => {
127
- if (!r || m || !F || !u) return;
126
+ M(() => {
127
+ if (!r || g || !D || !u) return;
128
128
  let e = !0;
129
129
  return Promise.resolve().then(() => {
130
130
  if (!e) return;
131
- const t = h == null ? void 0 : h.current;
132
- (t && u.contains(t) ? t : u).focus({ preventScroll: !0 });
131
+ const n = P == null ? void 0 : P.current;
132
+ (n && u.contains(n) ? n : u).focus({ preventScroll: !0 });
133
133
  }), () => {
134
134
  e = !1;
135
135
  };
136
- }, [F, h, r, u, m]), z(() => {
136
+ }, [D, P, r, u, g]), M(() => {
137
137
  var te;
138
138
  const e = Y.current;
139
139
  Y.current = r;
140
- const t = B.current;
140
+ const n = _.current;
141
141
  let p = N.current;
142
- if (E && (p = "programmatic", e !== r && (t == null ? void 0 : t.open) === r && (p = t.reason)), B.current = null, r) {
143
- N.current = "programmatic", T.current = null;
142
+ if (T && (p = "programmatic", e !== r && (n == null ? void 0 : n.open) === r && (p = n.reason)), _.current = null, r) {
143
+ N.current = "programmatic", E.current = null;
144
144
  return;
145
145
  }
146
- const b = s == null ? void 0 : s.activeElement, K = T.current, j = (te = s == null ? void 0 : s.defaultView) == null ? void 0 : te.HTMLElement, Fe = p === "outside" && j && K instanceof j && b instanceof j && (K === b || K.contains(b));
147
- e && !m && L && !Fe && (c == null || c.focus({ preventScroll: !0 })), T.current = null;
146
+ const v = s == null ? void 0 : s.activeElement, q = E.current, z = (te = s == null ? void 0 : s.defaultView) == null ? void 0 : te.HTMLElement, Le = p === "outside" && z && q instanceof z && v instanceof z && (q === v || q.contains(v));
147
+ e && !g && L && !Le && (c == null || c.focus({ preventScroll: !0 })), E.current = null;
148
148
  }, [
149
149
  ye,
150
- E,
150
+ T,
151
151
  r,
152
152
  s,
153
153
  L,
154
- m,
154
+ g,
155
155
  c
156
- ]), z(() => {
156
+ ]), M(() => {
157
157
  R && r && f(!1, "programmatic");
158
158
  }, [R, r, f]);
159
- function Ce(e) {
160
- var t;
161
- if (P) {
159
+ function Se(e) {
160
+ if (m) {
162
161
  e.preventDefault(), e.stopPropagation();
163
162
  return;
164
163
  }
165
- (t = n.onClick) == null || t.call(n, e), !e.defaultPrevented && f(!r, "trigger");
164
+ e.defaultPrevented || f(!r, "trigger");
166
165
  }
167
- function De(e) {
168
- var t;
169
- (t = n.onKeyDown) == null || t.call(n, e), !(e.defaultPrevented || P || rr(e.currentTarget) || e.key !== "Enter" && e.key !== " ") && (e.preventDefault(), e.currentTarget.click());
166
+ function we(e) {
167
+ e.defaultPrevented || m || nr(e.currentTarget) || e.key !== "Enter" && e.key !== " " || (e.preventDefault(), e.currentTarget.click());
170
168
  }
171
169
  if (R) return l;
172
- const _ = typeof l.type == "string", g = _ ? l.type : null, Z = g === "a" && typeof n.href == "string", ee = _ && !(g === "button" || g === "input" || g === "select" || g === "summary" || g === "textarea" || Z), re = Z && P;
173
- let D = n.role;
174
- D === void 0 && (re ? D = "link" : ee && (D = "button"));
175
- let S = n.tabIndex;
176
- S === void 0 && ee && (S = 0), P && (S = -1);
177
- const Se = ze(
170
+ const B = typeof l.type == "string", b = B ? l.type : null, Z = b === "a" && typeof o.href == "string", ee = B && !(b === "button" || b === "input" || b === "select" || b === "summary" || b === "textarea" || Z), re = Z && m;
171
+ let w = o.role;
172
+ w === void 0 && (re ? w = "link" : ee && (w = "button"));
173
+ let F = o.tabIndex;
174
+ F === void 0 && ee && (F = 0), m && (F = -1);
175
+ const Fe = m ? { ...o, onClick: void 0 } : o, De = $e(
178
176
  l,
179
- {
180
- "aria-controls": r ? Ae(n["aria-controls"], G) : n["aria-controls"],
177
+ Ge(Fe, {
178
+ "aria-controls": r ? je(o["aria-controls"], G) : o["aria-controls"],
181
179
  "aria-expanded": r,
182
- "aria-haspopup": n["aria-haspopup"] ?? tr(H),
183
- "aria-disabled": P ? !0 : n["aria-disabled"],
184
- className: [n.className, "nk-popover__trigger"].filter(Boolean).join(" "),
185
- href: re ? void 0 : n.href,
180
+ "aria-haspopup": o["aria-haspopup"] ?? or(K),
181
+ "aria-disabled": m ? !0 : o["aria-disabled"],
182
+ className: "nk-popover__trigger",
183
+ href: re ? void 0 : o.href,
186
184
  id: Q,
187
- onClick: Ce,
188
- onKeyDown: _ ? De : n.onKeyDown,
185
+ onClick: Se,
186
+ onKeyDown: B ? we : void 0,
189
187
  ref: Ie,
190
- role: D,
191
- tabIndex: S
192
- }
188
+ role: w,
189
+ tabIndex: F
190
+ })
193
191
  );
194
- return /* @__PURE__ */ ne(Le, { children: [
195
- Se,
192
+ return /* @__PURE__ */ ne(Ne, { children: [
193
+ De,
196
194
  /* @__PURE__ */ I(
197
195
  oe.Provider,
198
196
  {
199
- value: r && m ? we : ge,
200
- children: O.present && s ? /* @__PURE__ */ I(Je, { children: /* @__PURE__ */ ne(
201
- Xe,
197
+ value: r && g ? Ce : me,
198
+ children: k.present && s ? /* @__PURE__ */ I(Xe, { children: /* @__PURE__ */ ne(
199
+ Ze,
202
200
  {
203
- ...me,
201
+ ...ge,
204
202
  ref: Re,
205
203
  "aria-hidden": r ? void 0 : !0,
206
- "aria-label": r ? A : void 0,
207
- "aria-labelledby": r ? ae ?? (A === void 0 ? Q : void 0) : void 0,
204
+ "aria-label": r ? $ : void 0,
205
+ "aria-labelledby": r ? ae ?? ($ === void 0 ? Q : void 0) : void 0,
208
206
  className: ["nk-popover", ce].filter(Boolean).join(" "),
209
- "data-placement": (d == null ? void 0 : d.placement) ?? $,
210
- "data-state": O.state === "closing" ? "closing" : "open",
207
+ "data-placement": (d == null ? void 0 : d.placement) ?? H,
208
+ "data-state": k.state === "closing" ? "closing" : "open",
211
209
  id: G,
212
- role: r ? H : void 0,
210
+ role: r ? K : void 0,
213
211
  style: d ? {
214
212
  ...V,
215
213
  "--nk-popover-arrow-offset": `${d.arrowOffset}px`,
216
214
  left: d.left,
217
215
  top: d.top,
218
- zIndex: C.zIndex
216
+ zIndex: S.zIndex
219
217
  } : {
220
218
  ...V,
221
219
  visibility: "hidden",
222
- zIndex: C.zIndex
220
+ zIndex: S.zIndex
223
221
  },
224
222
  tabIndex: pe ?? -1,
225
223
  children: [
226
224
  /* @__PURE__ */ I(
227
- Ye,
225
+ er,
228
226
  {
229
227
  inert: !r,
230
228
  panelElement: u
@@ -240,5 +238,5 @@ const pr = Ne(function(a, i) {
240
238
  ] });
241
239
  });
242
240
  export {
243
- pr as default
241
+ mr as default
244
242
  };
package/dist/Radio.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime"),r=require("react"),C=require("./reference-C2guRuR0.cjs"),m=require("./aria-Bntn6ad_.cjs"),j=require("./field-control-NfLwcPj6.cjs"),q=require("./Text-DWYlIcPj.cjs"),x=r.createContext(void 0),g=r.forwardRef(function(l,t){const{"aria-invalid":c,children:v,className:p,defaultValue:R,disabled:o=!1,invalid:f=!1,name:e,onChange:u,orientation:a="vertical",required:n=!1,value:b,...h}=l,s=f||m.hasInvalidState(c),k={defaultValue:R,disabled:o,name:e,onChange:u,required:n,value:b};return d.jsx(x.Provider,{value:k,children:d.jsx("div",{...h,ref:t,"aria-disabled":o||void 0,"aria-invalid":m.resolveAriaInvalid(f,c),"aria-required":n||void 0,className:["nk-radio-group",p].filter(Boolean).join(" "),"data-disabled":o||void 0,"data-invalid":s||void 0,"data-orientation":a,role:"radiogroup",children:v})})});j.markFieldGroupControl(g,"group");function _(){const i=r.useContext(x);if(!i)throw new Error("Radio must be rendered within RadioGroup");return i}function G(i,l,t){l.current=i,C.assignElementReference(t,i)}const N=r.forwardRef(function(l,t){const{children:c,className:v,disabled:p=!1,style:R,value:o,...f}=l,e=_(),u=r.useRef(null),a=e.disabled||p,n=e.value!==void 0,b=e.value===o,h=r.useCallback(s=>G(s,u,t),[t]);return r.useEffect(()=>{var s;!n&&a&&((s=u.current)!=null&&s.checked)&&(u.current.checked=!1)},[n,a]),d.jsxs("label",{className:["nk-radio",v].filter(Boolean).join(" "),"data-disabled":a||void 0,style:R,children:[d.jsx("input",{...f,ref:h,checked:n?!a&&b:void 0,className:"nk-radio__control",defaultChecked:n?void 0:!a&&e.defaultValue===o,disabled:a,name:e.name,onChange:e.onChange,required:e.required,type:"radio",value:o}),d.jsx("span",{"aria-hidden":"true",className:"nk-radio__visual"}),d.jsx(q.Text,{as:"span",className:"nk-radio__label",children:c})]})}),w=Object.assign(N,{Group:g});exports.default=w;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime"),r=require("react"),C=require("./reference-C2guRuR0.cjs"),m=require("./aria-DM-xYEHQ.cjs"),j=require("./field-control-NfLwcPj6.cjs"),q=require("./Text-DWYlIcPj.cjs"),x=r.createContext(void 0),g=r.forwardRef(function(l,t){const{"aria-invalid":c,children:v,className:p,defaultValue:R,disabled:o=!1,invalid:f=!1,name:e,onChange:u,orientation:a="vertical",required:n=!1,value:b,...h}=l,s=f||m.hasInvalidState(c),k={defaultValue:R,disabled:o,name:e,onChange:u,required:n,value:b};return d.jsx(x.Provider,{value:k,children:d.jsx("div",{...h,ref:t,"aria-disabled":o||void 0,"aria-invalid":m.resolveAriaInvalid(f,c),"aria-required":n||void 0,className:["nk-radio-group",p].filter(Boolean).join(" "),"data-disabled":o||void 0,"data-invalid":s||void 0,"data-orientation":a,role:"radiogroup",children:v})})});j.markFieldGroupControl(g,"group");function _(){const i=r.useContext(x);if(!i)throw new Error("Radio must be rendered within RadioGroup");return i}function G(i,l,t){l.current=i,C.assignElementReference(t,i)}const N=r.forwardRef(function(l,t){const{children:c,className:v,disabled:p=!1,style:R,value:o,...f}=l,e=_(),u=r.useRef(null),a=e.disabled||p,n=e.value!==void 0,b=e.value===o,h=r.useCallback(s=>G(s,u,t),[t]);return r.useEffect(()=>{var s;!n&&a&&((s=u.current)!=null&&s.checked)&&(u.current.checked=!1)},[n,a]),d.jsxs("label",{className:["nk-radio",v].filter(Boolean).join(" "),"data-disabled":a||void 0,style:R,children:[d.jsx("input",{...f,ref:h,checked:n?!a&&b:void 0,className:"nk-radio__control",defaultChecked:n?void 0:!a&&e.defaultValue===o,disabled:a,name:e.name,onChange:e.onChange,required:e.required,type:"radio",value:o}),d.jsx("span",{"aria-hidden":"true",className:"nk-radio__visual"}),d.jsx(q.Text,{as:"span",className:"nk-radio__label",children:c})]})}),w=Object.assign(N,{Group:g});exports.default=w;
package/dist/Radio.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { jsx as l, jsxs as g } from "react/jsx-runtime";
3
3
  import { createContext as x, forwardRef as R, useContext as G, useRef as N, useCallback as _, useEffect as j } from "react";
4
4
  import { a as q } from "./reference-CXMr27nM.js";
5
- import { r as I, h as V } from "./aria-CeA9QfD1.js";
5
+ import { r as I, h as V } from "./aria-Bv-xVREf.js";
6
6
  import { m as w } from "./field-control-XAn_FKks.js";
7
7
  import { T as E } from "./Text-rN6iDo0V.js";
8
8
  const b = x(void 0), k = R(
package/dist/Select.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime"),r=require("react"),S=require("./usePresence-B5RYv4e1.cjs"),U=require("./aria-Bntn6ad_.cjs"),ye=require("./reference-C2guRuR0.cjs"),q=require("./Icon-BIBzgznI.cjs"),xe=require("./useAnchoredPosition-D7GRFzoX.cjs");function Ie(t){const{form:n,onReset:s,resetValue:a,triggerReference:o}=t,l=r.useRef(null);return r.useEffect(()=>{var u;const i=(u=o.current)==null?void 0:u.form;if(!i)return;function h(){const b=l.current;if(b){const y=Array.from(b.options),g=y.find(x=>x.value===a)??y[0];y.forEach(x=>{x.defaultSelected=x===g})}s()}return i.addEventListener("reset",h),()=>i.removeEventListener("reset",h)},[n,s,a,o]),l}const H=8,z=4,ge=160,ke=72;function we(t,n,s){const a=s.bottom-t.bottom-z-H,o=t.top-s.top-z-H,l=a<ge&&o>a,i=Math.max(ke,l?o:a),h=Math.max(t.width,(n==null?void 0:n.width)??t.width),u=s.left+H,b=Math.min(Math.max(u,t.left),Math.max(u,s.right-H-h)),y=l?Math.max(s.top+H,t.top-z-Math.min((n==null?void 0:n.height)??i,i)):t.bottom+z;return{left:b,maxHeight:i,minWidth:t.width,top:y}}function Ee(t,n,s,a){const o=r.useCallback(l=>{const{panelBounds:i,triggerBounds:h,visibleBounds:u}=l;return we(h,i,u)},[]);return xe.useAnchoredPosition({active:t,boundary:a,fit:o,panel:s,trigger:n})}const Re=500;function _e(t){const n=r.useRef(""),s=r.useRef(null),a=r.useRef(null);return r.useEffect(()=>()=>{const o=a.current;o&&s.current!==null&&o.clearTimeout(s.current)},[]),r.useCallback(o=>{var u;const l=(u=t.current)==null?void 0:u.ownerDocument.defaultView;if(!l)return null;a.current=l;const i=n.current+o,h=Array.from(i).every(b=>b===o);return n.current=h?o:i,s.current!==null&&l.clearTimeout(s.current),s.current=l.setTimeout(()=>{n.current="",s.current=null},Re),n.current},[t])}function Q(t,n,s){if(t.length===0)return-1;for(let a=1;a<=t.length;a+=1){const o=(n+s*a+t.length)%t.length;if(!t[o].disabled)return o}return-1}function Oe(t,n,s){for(let a=1;a<=t.length;a+=1){const o=(s+a+t.length)%t.length,l=t[o];if(!l.disabled&&l.label.toLocaleLowerCase().startsWith(n))return o}return-1}function Se(t){const n=new Set;t.forEach(s=>{if(n.has(s.value))throw new Error("Select option values must be unique");n.add(s.value)})}function De(t){const{active:n,closeOnEscape:s,closeOnOutsideInteraction:a,highlightedIndex:o,id:l,listboxReference:i,onEscapeDismiss:h,onEscapeKeyDown:u,onHighlight:b,onOutsideDismiss:y,onPointerDownOutside:g,onSelect:x,options:k,ownerDocument:C,position:R,selectedValue:_,state:D,triggerReference:V}=t,m=r.useRef(null),W=S.useBoundary("Select").boundaryElement,O=S.useOverlayLayer(!0,W),$=r.useMemo(()=>[V,m],[V]),G=r.useCallback(f=>{m.current=f,i(f)},[i]);return S.useDismissableLayer({active:n,boundaries:$,boundary:W,dismissOnEscape:s,dismissOnPointerDownOutside:a,layerId:O.id,onEscapeDismiss:h,onEscapeKeyDown:u,onPointerDownOutside:g,onPointerDownOutsideDismiss:y,ownerDocument:C}),d.jsx("div",{"aria-hidden":n?void 0:!0,"aria-labelledby":l,className:"nk-select__listbox","data-state":D,id:`${l}-listbox`,ref:G,role:"listbox",style:R?{left:R.left,maxHeight:R.maxHeight,minWidth:R.minWidth,top:R.top,zIndex:O.zIndex}:{visibility:"hidden",zIndex:O.zIndex},children:k.map((f,N)=>d.jsxs("div",{"aria-disabled":f.disabled||void 0,"aria-selected":f.value===_,className:"nk-select__option","data-highlighted":N===o||void 0,"data-selected":f.value===_||void 0,id:`${l}-option-${N}`,onPointerDown:X=>{X.preventDefault(),f.disabled||x(f)},onPointerMove:()=>{f.disabled||b(N)},role:"option",children:[f.icon?d.jsx(q.Icon,{type:f.icon}):null,d.jsx("span",{className:"nk-select__option-label",children:f.label}),f.value===_?d.jsx(q.Icon,{className:"nk-select__check",type:"checkmark"}):null]},f.value))})}function je(t,n,s){n.current=t,ye.assignElementReference(s,t)}function Le(t){var B;const{"aria-invalid":n,className:s,closeOnEscape:a=!0,closeOnOutsideInteraction:o=!0,defaultValue:l="",disabled:i=!1,displayOverride:h,form:u,forwardedReference:b,id:y,invalid:g=!1,name:x,onChange:k,onClick:C,onEscapeKeyDown:R,onKeyDown:_,onOpenChange:D,onPointerDownOutside:V,options:m,placeholder:W,required:O=!1,style:$,value:G,width:f,...N}=t;Se(m);const X=r.useId(),j=y??X,I=r.useRef(null),[A,te]=r.useState(null),[v,ne]=r.useState(!1),[w,T]=r.useState(-1),[se,J]=r.useState(l),L=G!==void 0,P=L?G:se,ae=m.find(e=>e.value===P),le=g||U.hasInvalidState(n),ie=U.resolveAriaInvalid(g,n),Y=S.usePresence(v),M=((B=I.current)==null?void 0:B.ownerDocument)??(typeof document>"u"?null:document),re=S.useBoundary("Select").boundaryElement,oe=Ee(Y.present,I.current,A,re),ce=_e(I),de=f===void 0?$:{...$,width:f},K=h??ae,ue=r.useCallback(e=>je(e,I,b),[b]),p=r.useCallback(e=>{v!==e&&(ne(e),D==null||D(e))},[D,v]),fe=r.useCallback(()=>{L||J(l),p(!1)},[l,L,p]),me=Ie({form:u,onReset:fe,resetValue:L?P:l,triggerReference:I}),F=r.useCallback((e=1)=>{const c=m.findIndex(ee=>ee.value===P&&!ee.disabled),E=e===1?-1:m.length;T(c>=0?c:Q(m,E,e)),p(!0)},[m,P,p]),Z=r.useCallback(e=>{var c;i||e.disabled||(L||J(e.value),p(!1),(c=I.current)==null||c.focus(),k==null||k(e.value))},[i,L,k,p]),he=r.useCallback(()=>{var e;p(!1),(e=I.current)==null||e.focus()},[p]),ve=r.useCallback(()=>{p(!1)},[p]);function pe(e){C==null||C(e),!(e.defaultPrevented||i)&&(v?p(!1):F())}function be(e){if(_==null||_(e),!(e.defaultPrevented||i)){if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault();const c=e.key==="ArrowDown"?1:-1;v?T(E=>Q(m,E,c)):F(c);return}if(e.key==="Home"||e.key==="End"){if(e.preventDefault(),!v)F(e.key==="Home"?1:-1);else{const c=e.key==="Home"?1:-1,E=c===1?-1:m.length;T(Q(m,E,c))}return}if(e.key==="Enter"||e.key===" "){e.preventDefault();const c=m[w];v&&c?Z(c):v||F();return}if(e.key==="Tab"){p(!1);return}if(e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey){const c=ce(e.key.toLocaleLowerCase());if(c===null)return;const E=Oe(m,c,w);E>=0&&(e.preventDefault(),v||p(!0),T(E))}}}return r.useEffect(()=>{i&&p(!1)},[i,p]),r.useEffect(()=>{var e;if(v&&w>=0){const c=M==null?void 0:M.getElementById(`${j}-option-${w}`);c&&(A!=null&&A.contains(c))&&((e=c.scrollIntoView)==null||e.call(c,{block:"nearest"}))}},[w,j,A,v]),d.jsxs("span",{className:["nk-select",s].filter(Boolean).join(" "),"data-disabled":i||void 0,"data-invalid":le||void 0,"data-mode":"custom","data-open":v||void 0,style:de,children:[d.jsxs("button",{...N,ref:ue,"aria-activedescendant":v&&w>=0?`${j}-option-${w}`:void 0,"aria-controls":`${j}-listbox`,"aria-expanded":v,"aria-haspopup":"listbox","aria-invalid":ie,"aria-required":O||void 0,"aria-autocomplete":"none",className:"nk-select__trigger",disabled:i,form:u,id:j,onClick:pe,onKeyDown:be,role:"combobox",type:"button",children:[K?d.jsxs("span",{className:"nk-select__value",children:[K.icon?d.jsx(q.Icon,{type:K.icon}):null,d.jsx("span",{className:"nk-select__value-label",children:K.label})]}):d.jsx("span",{className:"nk-select__placeholder",children:W}),d.jsx(q.Icon,{className:"nk-select__icon",type:"chevron-down"})]}),x||O?d.jsxs("select",{ref:me,"aria-hidden":"true",className:"nk-select__form-control",disabled:i,form:u,name:x,onChange:()=>{},onInvalid:e=>{var c;e.preventDefault(),(c=I.current)==null||c.focus()},required:O,tabIndex:-1,value:P,children:[d.jsx("option",{value:""}),m.map(e=>d.jsx("option",{disabled:e.disabled,value:e.value,children:e.label},e.value))]}):null,Y.present&&M?d.jsx(S.Portal,{children:d.jsx(De,{active:v,closeOnEscape:a,closeOnOutsideInteraction:o,highlightedIndex:w,id:j,listboxReference:te,onEscapeDismiss:he,onEscapeKeyDown:R,onHighlight:T,onOutsideDismiss:ve,onPointerDownOutside:V,onSelect:Z,options:m,ownerDocument:M,position:oe,selectedValue:P,state:Y.state==="closing"?"closing":"open",triggerReference:I})}):null]})}function Pe(t){const{"aria-invalid":n,children:s,className:a,defaultValue:o,disabled:l=!1,forwardedReference:i,invalid:h=!1,placeholder:u,style:b,value:y,...g}=t,x=U.resolveAriaInvalid(h,n),k=h||U.hasInvalidState(n);return d.jsxs("span",{className:["nk-select",a].filter(Boolean).join(" "),"data-disabled":l||void 0,"data-invalid":k||void 0,"data-mode":"native",style:b,children:[d.jsxs("select",{...g,ref:i,"aria-invalid":x,className:"nk-select__control",defaultValue:y===void 0?o??(u!==void 0?"":void 0):void 0,disabled:l,value:y,children:[u!==void 0?d.jsx("option",{disabled:!0,value:"",children:u}):null,s]}),d.jsx(q.Icon,{className:"nk-select__icon",type:"chevron-down"})]})}const Ce=r.forwardRef(function(n,s){const{options:a}=n;return S.useBoundary("Select"),a!==void 0?d.jsx(Le,{...n,forwardedReference:s}):d.jsx(Pe,{...n,forwardedReference:s})});exports.default=Ce;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime"),r=require("react"),J=require("./effects-D98vUn6N.cjs"),z=require("./aria-DM-xYEHQ.cjs"),xe=require("./reference-C2guRuR0.cjs"),H=require("./Icon-BFaHVAoQ.cjs"),U=require("./usePresence-Dm0mls5p.cjs"),Ie=require("./useAnchoredPosition-D7GRFzoX.cjs");function ge(t){const{form:n,onReset:s,resetValue:a,triggerReference:o}=t,l=r.useRef(null);return r.useEffect(()=>{var u;const i=(u=o.current)==null?void 0:u.form;if(!i)return;function h(){const b=l.current;if(b){const y=Array.from(b.options),g=y.find(x=>x.value===a)??y[0];y.forEach(x=>{x.defaultSelected=x===g})}s()}return i.addEventListener("reset",h),()=>i.removeEventListener("reset",h)},[n,s,a,o]),l}const M=8,F=4,ke=160,we=72;function Ee(t,n,s){const a=s.bottom-t.bottom-F-M,o=t.top-s.top-F-M,l=a<ke&&o>a,i=Math.max(we,l?o:a),h=Math.max(t.width,(n==null?void 0:n.width)??t.width),u=s.left+M,b=Math.min(Math.max(u,t.left),Math.max(u,s.right-M-h)),y=l?Math.max(s.top+M,t.top-F-Math.min((n==null?void 0:n.height)??i,i)):t.bottom+F;return{left:b,maxHeight:i,minWidth:t.width,top:y}}function Re(t,n,s,a){const o=r.useCallback(l=>{const{panelBounds:i,triggerBounds:h,visibleBounds:u}=l;return Ee(h,i,u)},[]);return Ie.useAnchoredPosition({active:t,boundary:a,fit:o,panel:s,trigger:n})}const _e=500;function Oe(t){const n=r.useRef(""),s=r.useRef(null),a=r.useRef(null);return r.useEffect(()=>()=>{const o=a.current;o&&s.current!==null&&o.clearTimeout(s.current)},[]),r.useCallback(o=>{var u;const l=(u=t.current)==null?void 0:u.ownerDocument.defaultView;if(!l)return null;a.current=l;const i=n.current+o,h=Array.from(i).every(b=>b===o);return n.current=h?o:i,s.current!==null&&l.clearTimeout(s.current),s.current=l.setTimeout(()=>{n.current="",s.current=null},_e),n.current},[t])}function Q(t,n,s){if(t.length===0)return-1;for(let a=1;a<=t.length;a+=1){const o=(n+s*a+t.length)%t.length;if(!t[o].disabled)return o}return-1}function Se(t,n,s){for(let a=1;a<=t.length;a+=1){const o=(s+a+t.length)%t.length,l=t[o];if(!l.disabled&&l.label.toLocaleLowerCase().startsWith(n))return o}return-1}function De(t){const n=new Set;t.forEach(s=>{if(n.has(s.value))throw new Error("Select option values must be unique");n.add(s.value)})}function je(t){const{active:n,closeOnEscape:s,closeOnOutsideInteraction:a,highlightedIndex:o,id:l,listboxReference:i,onEscapeDismiss:h,onEscapeKeyDown:u,onHighlight:b,onOutsideDismiss:y,onPointerDownOutside:g,onSelect:x,options:k,ownerDocument:P,position:R,selectedValue:_,state:S,triggerReference:q}=t,m=r.useRef(null),V=J.useBoundary("Select").boundaryElement,O=U.useOverlayLayer(!0,V),W=r.useMemo(()=>[q,m],[q]),$=r.useCallback(f=>{m.current=f,i(f)},[i]);return U.useDismissableLayer({active:n,boundaries:W,boundary:V,dismissOnEscape:s,dismissOnPointerDownOutside:a,layerId:O.id,onEscapeDismiss:h,onEscapeKeyDown:u,onPointerDownOutside:g,onPointerDownOutsideDismiss:y,ownerDocument:P}),d.jsx("div",{"aria-hidden":n?void 0:!0,"aria-labelledby":l,className:"nk-select__listbox","data-state":S,id:`${l}-listbox`,ref:$,role:"listbox",style:R?{left:R.left,maxHeight:R.maxHeight,minWidth:R.minWidth,top:R.top,zIndex:O.zIndex}:{visibility:"hidden",zIndex:O.zIndex},children:k.map((f,C)=>d.jsxs("div",{"aria-disabled":f.disabled||void 0,"aria-selected":f.value===_,className:"nk-select__option","data-highlighted":C===o||void 0,"data-selected":f.value===_||void 0,id:`${l}-option-${C}`,onPointerDown:X=>{X.preventDefault(),f.disabled||x(f)},onPointerMove:()=>{f.disabled||b(C)},role:"option",children:[f.icon?d.jsx(H.Icon,{type:f.icon}):null,d.jsx("span",{className:"nk-select__option-label",children:f.label}),f.value===_?d.jsx(H.Icon,{className:"nk-select__check",type:"checkmark"}):null]},f.value))})}function Le(t,n,s){n.current=t,xe.assignElementReference(s,t)}function Pe(t){var ee;const{"aria-invalid":n,className:s,closeOnEscape:a=!0,closeOnOutsideInteraction:o=!0,defaultValue:l="",disabled:i=!1,displayOverride:h,form:u,forwardedReference:b,id:y,invalid:g=!1,name:x,onChange:k,onClick:P,onEscapeKeyDown:R,onKeyDown:_,onOpenChange:S,onPointerDownOutside:q,options:m,placeholder:V,required:O=!1,style:W,value:$,width:f,...C}=t;De(m);const X=r.useId(),D=y??X,I=r.useRef(null),[N,ne]=r.useState(null),[v,se]=r.useState(!1),[w,A]=r.useState(-1),[ae,Z]=r.useState(l),j=$!==void 0,L=j?$:ae,le=m.find(e=>e.value===L),ie=g||z.hasInvalidState(n),re=z.resolveAriaInvalid(g,n),Y=U.usePresence(v),T=((ee=I.current)==null?void 0:ee.ownerDocument)??(typeof document>"u"?null:document),oe=J.useBoundary("Select").boundaryElement,ce=Re(Y.present,I.current,N,oe),de=Oe(I),ue=f===void 0?W:{...W,width:f},G=h??le,fe=r.useCallback(e=>Le(e,I,b),[b]),p=r.useCallback(e=>{v!==e&&(se(e),S==null||S(e))},[S,v]),me=r.useCallback(()=>{j||Z(l),p(!1)},[l,j,p]),he=ge({form:u,onReset:me,resetValue:j?L:l,triggerReference:I}),K=r.useCallback((e=1)=>{const c=m.findIndex(te=>te.value===L&&!te.disabled),E=e===1?-1:m.length;A(c>=0?c:Q(m,E,e)),p(!0)},[m,L,p]),B=r.useCallback(e=>{var c;i||e.disabled||(j||Z(e.value),p(!1),(c=I.current)==null||c.focus(),k==null||k(e.value))},[i,j,k,p]),ve=r.useCallback(()=>{var e;p(!1),(e=I.current)==null||e.focus()},[p]),pe=r.useCallback(()=>{p(!1)},[p]);function be(e){P==null||P(e),!(e.defaultPrevented||i)&&(v?p(!1):K())}function ye(e){if(_==null||_(e),!(e.defaultPrevented||i)){if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault();const c=e.key==="ArrowDown"?1:-1;v?A(E=>Q(m,E,c)):K(c);return}if(e.key==="Home"||e.key==="End"){if(e.preventDefault(),!v)K(e.key==="Home"?1:-1);else{const c=e.key==="Home"?1:-1,E=c===1?-1:m.length;A(Q(m,E,c))}return}if(e.key==="Enter"||e.key===" "){e.preventDefault();const c=m[w];v&&c?B(c):v||K();return}if(e.key==="Tab"){p(!1);return}if(e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey){const c=de(e.key.toLocaleLowerCase());if(c===null)return;const E=Se(m,c,w);E>=0&&(e.preventDefault(),v||p(!0),A(E))}}}return r.useEffect(()=>{i&&p(!1)},[i,p]),r.useEffect(()=>{var e;if(v&&w>=0){const c=T==null?void 0:T.getElementById(`${D}-option-${w}`);c&&(N!=null&&N.contains(c))&&((e=c.scrollIntoView)==null||e.call(c,{block:"nearest"}))}},[w,D,N,v]),d.jsxs("span",{className:["nk-select",s].filter(Boolean).join(" "),"data-disabled":i||void 0,"data-invalid":ie||void 0,"data-mode":"custom","data-open":v||void 0,style:ue,children:[d.jsxs("button",{...C,ref:fe,"aria-activedescendant":v&&w>=0?`${D}-option-${w}`:void 0,"aria-controls":`${D}-listbox`,"aria-expanded":v,"aria-haspopup":"listbox","aria-invalid":re,"aria-required":O||void 0,"aria-autocomplete":"none",className:"nk-select__trigger",disabled:i,form:u,id:D,onClick:be,onKeyDown:ye,role:"combobox",type:"button",children:[G?d.jsxs("span",{className:"nk-select__value",children:[G.icon?d.jsx(H.Icon,{type:G.icon}):null,d.jsx("span",{className:"nk-select__value-label",children:G.label})]}):d.jsx("span",{className:"nk-select__placeholder",children:V}),d.jsx(H.Icon,{className:"nk-select__icon",type:"chevron-down"})]}),x||O?d.jsxs("select",{ref:he,"aria-hidden":"true",className:"nk-select__form-control",disabled:i,form:u,name:x,onChange:()=>{},onInvalid:e=>{var c;e.preventDefault(),(c=I.current)==null||c.focus()},required:O,tabIndex:-1,value:L,children:[d.jsx("option",{value:""}),m.map(e=>d.jsx("option",{disabled:e.disabled,value:e.value,children:e.label},e.value))]}):null,Y.present&&T?d.jsx(U.Portal,{children:d.jsx(je,{active:v,closeOnEscape:a,closeOnOutsideInteraction:o,highlightedIndex:w,id:D,listboxReference:ne,onEscapeDismiss:ve,onEscapeKeyDown:R,onHighlight:A,onOutsideDismiss:pe,onPointerDownOutside:q,onSelect:B,options:m,ownerDocument:T,position:ce,selectedValue:L,state:Y.state==="closing"?"closing":"open",triggerReference:I})}):null]})}function Ce(t){const{"aria-invalid":n,children:s,className:a,defaultValue:o,disabled:l=!1,forwardedReference:i,invalid:h=!1,placeholder:u,style:b,value:y,...g}=t,x=z.resolveAriaInvalid(h,n),k=h||z.hasInvalidState(n);return d.jsxs("span",{className:["nk-select",a].filter(Boolean).join(" "),"data-disabled":l||void 0,"data-invalid":k||void 0,"data-mode":"native",style:b,children:[d.jsxs("select",{...g,ref:i,"aria-invalid":x,className:"nk-select__control",defaultValue:y===void 0?o??(u!==void 0?"":void 0):void 0,disabled:l,value:y,children:[u!==void 0?d.jsx("option",{disabled:!0,value:"",children:u}):null,s]}),d.jsx(H.Icon,{className:"nk-select__icon",type:"chevron-down"})]})}const Ne=r.forwardRef(function(n,s){const{options:a}=n;return J.useBoundary("Select"),a!==void 0?d.jsx(Pe,{...n,forwardedReference:s}):d.jsx(Ce,{...n,forwardedReference:s})});exports.default=Ne;
package/dist/Select.js CHANGED
@@ -1,10 +1,11 @@
1
1
  "use client";
2
2
  import { jsx as f, jsxs as R } from "react/jsx-runtime";
3
3
  import { useRef as T, useEffect as Y, useCallback as I, useMemo as ke, useId as Ee, useState as U, forwardRef as xe } from "react";
4
- import { b as B, d as De, e as Oe, c as Re, P as Se } from "./usePresence-CqegYqy4.js";
5
- import { h as le, r as ie } from "./aria-CeA9QfD1.js";
6
- import { a as Le } from "./reference-CXMr27nM.js";
7
- import { I as $ } from "./Icon-CxK1wlGk.js";
4
+ import { u as B } from "./effects-DGbA6Q2O.js";
5
+ import { h as le, r as ie } from "./aria-Bv-xVREf.js";
6
+ import { a as De } from "./reference-CXMr27nM.js";
7
+ import { I as $ } from "./Icon-Cj1s40xn.js";
8
+ import { c as Oe, d as Re, b as Se, P as Le } from "./usePresence-BTRY1_l-.js";
8
9
  import { u as Ne } from "./useAnchoredPosition-C0VS7hm6.js";
9
10
  function Pe(t) {
10
11
  const { form: n, onReset: a, resetValue: l, triggerReference: o } = t, i = T(null);
@@ -133,7 +134,7 @@ function Ge(t) {
133
134
  selectedValue: D,
134
135
  state: S,
135
136
  triggerReference: G
136
- } = t, u = T(null), K = B("Select").boundaryElement, O = De(!0, K), q = ke(
137
+ } = t, u = T(null), K = B("Select").boundaryElement, O = Oe(!0, K), q = ke(
137
138
  () => [G, u],
138
139
  [G]
139
140
  ), F = I(
@@ -142,7 +143,7 @@ function Ge(t) {
142
143
  },
143
144
  [s]
144
145
  );
145
- return Oe({
146
+ return Re({
146
147
  active: n,
147
148
  boundaries: q,
148
149
  boundary: K,
@@ -199,7 +200,7 @@ function Ge(t) {
199
200
  );
200
201
  }
201
202
  function Ke(t, n, a) {
202
- n.current = t, Le(a, t);
203
+ n.current = t, De(a, t);
203
204
  }
204
205
  function qe(t) {
205
206
  var ne;
@@ -233,7 +234,7 @@ function qe(t) {
233
234
  $e(u);
234
235
  const Q = Ee(), L = b ?? Q, g = T(null), [M, se] = U(null), [h, oe] = U(!1), [k, V] = U(-1), [re, ee] = U(i), N = F !== void 0, P = N ? F : re, ce = u.find(
235
236
  (e) => e.value === P
236
- ), de = w || le(n), ue = ie(w, n), J = Re(h), C = ((ne = g.current) == null ? void 0 : ne.ownerDocument) ?? (typeof document > "u" ? null : document), fe = B("Select").boundaryElement, me = Me(
237
+ ), de = w || le(n), ue = ie(w, n), J = Se(h), C = ((ne = g.current) == null ? void 0 : ne.ownerDocument) ?? (typeof document > "u" ? null : document), fe = B("Select").boundaryElement, me = Me(
237
238
  J.present,
238
239
  g.current,
239
240
  M,
@@ -396,7 +397,7 @@ function qe(t) {
396
397
  ]
397
398
  }
398
399
  ) : null,
399
- J.present && C ? /* @__PURE__ */ f(Se, { children: /* @__PURE__ */ f(
400
+ J.present && C ? /* @__PURE__ */ f(Le, { children: /* @__PURE__ */ f(
400
401
  Ge,
401
402
  {
402
403
  active: h,
@@ -467,7 +468,7 @@ function Fe(t) {
467
468
  }
468
469
  );
469
470
  }
470
- const Ze = xe(function(n, a) {
471
+ const Be = xe(function(n, a) {
471
472
  const { options: l } = n;
472
473
  return B("Select"), l !== void 0 ? /* @__PURE__ */ f(
473
474
  qe,
@@ -484,5 +485,5 @@ const Ze = xe(function(n, a) {
484
485
  );
485
486
  });
486
487
  export {
487
- Ze as default
488
+ Be as default
488
489
  };
package/dist/Sidebar.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),t=require("react"),C=require("./effects-D85L_7zM.cjs"),L=require("./reference-C2guRuR0.cjs"),x=require("./usePresence-B5RYv4e1.cjs"),D=require("./Text-DWYlIcPj.cjs"),J=require("./Button-CVe9T_Zw.cjs"),V=require("./useFocusTrap-gAK_402D.cjs"),W=require("./useScrollLock-Dy8MZaSn.cjs"),X=require("./aria-Bntn6ad_.cjs"),Y=require("./Avatar-Belo7qAY.cjs"),Z=require("./Spinner-BE0F4y2S.cjs"),ee=require("./Tooltip-CCuE-hfp.cjs"),ne=require("./units-PzuiQNnw.cjs"),B=new WeakMap;function K(s){const n=B.get(s);if(n)return n;const e={listeners:new Set,owner:null,state:void 0};return B.set(s,e),e}function re(s,n,e){const r=K(s);return r.owner!==null&&r.owner!==n?!1:(r.owner=n,r.state=e,r.listeners.forEach(p=>p()),!0)}function te(s,n){const e=B.get(s);!e||e.owner!==n||(e.owner=null,e.state=void 0,e.listeners.forEach(r=>r()))}function se(s){var n;return s?(n=B.get(s))==null?void 0:n.state:void 0}function ae(s,n){if(!s)return()=>{};const e=K(s);return e.listeners.add(n),()=>{e.listeners.delete(n)}}const ie=()=>{};function P(s){const n=x.useBoundary(s).boundaryElement,e=t.useCallback(p=>ae(n,p),[n]),r=t.useCallback(()=>se(n),[n]);return t.useSyncExternalStore(e,r,ie)}function O(s,n){return s==="both"||s===(n==="overlay"?"overlay":"inline")}const oe=t.forwardRef(function(n,e){const{children:r,className:p,presentation:c="both",...b}=n,o=P("Sidebar.Footer");return O(c,o==null?void 0:o.presentation)?i.jsx("div",{...b,ref:e,className:["nk-sidebar__footer",p].filter(Boolean).join(" "),children:r}):null}),le=t.forwardRef(function(n,e){const{"aria-label":r,"aria-labelledby":p,children:c,className:b,label:o,presentation:S="both",...v}=n,g=P("Sidebar.Group"),h=`${t.useId()}-label`,f=o!=null&&typeof o!="boolean"&&(typeof o!="string"||o.trim()!=="");if(!O(S,g==null?void 0:g.presentation))return null;const l=p??(r===void 0&&f?h:void 0),a=!!(r??l);return t.createElement(a?"nav":"div",{...v,ref:e,"aria-label":r,"aria-labelledby":l,className:["nk-sidebar__group",b].filter(Boolean).join(" ")},f?i.jsx(D.Text,{as:"h2",className:"nk-sidebar__group-label",id:h,size:"subtitle",weight:"medium",children:o}):null,i.jsx("ul",{className:"nk-sidebar__list",children:c}))}),ce=t.forwardRef(function(n,e){const{children:r,className:p,presentation:c="both",...b}=n,o=P("Sidebar.Header");return O(c,o==null?void 0:o.presentation)?i.jsx("div",{...b,ref:e,className:["nk-sidebar__header",p].filter(Boolean).join(" "),children:r}):null}),ue=t.forwardRef(function(n,e){const{active:r=!1,as:p,children:c,className:b,disabled:o=!1,icon:S,onClick:v,presentation:g="both",type:h,...f}=n,l=P("Sidebar.Item"),a=p??"button",u=a==="button",d=f,k=d.href!==void 0||d.to!==void 0;function m(_){if(o){_.preventDefault();return}v==null||v(_),l!=null&&l.open&&l.presentation==="overlay"&&!_.defaultPrevented&&l.requestOpenChange(!1,"item")}return O(g,l==null?void 0:l.presentation)?i.jsx("li",{className:"nk-sidebar__item-container",children:i.jsx(J.Button,{...f,ref:e,"aria-current":r?k?"page":"true":void 0,as:a,className:["nk-sidebar__item",b].filter(Boolean).join(" "),"data-active":r||void 0,disabled:o,fullWidth:!0,href:d.href,icon:S,onClick:m,shape:"rectangle",textAlignment:"left",type:u?h??"button":h,variant:"ghost",children:i.jsx("span",{className:"nk-sidebar__item-label",children:c})})}):null});function Q(s){const{"aria-label":n,"aria-labelledby":e,children:r,className:p,height:c,open:b,panelId:o,panelReference:S,presentation:v,side:g,state:h,style:f,width:l,...a}=s,u=v==="overlay",d=n??(e===void 0?"Sidebar":void 0),k=u&&b;let m=f;return(l!==void 0||c!==void 0)&&(m={...f},c!==void 0&&(m["--nk-sidebar-height"]=c),l!==void 0&&(m["--nk-sidebar-width"]=l)),i.jsx("aside",{...a,ref:S,"aria-hidden":u&&!b?!0:void 0,"aria-label":u&&!b?void 0:d,"aria-labelledby":u&&!b?void 0:e,"aria-modal":k?"true":void 0,className:["nk-sidebar",p].filter(Boolean).join(" "),"data-responsive":v==="pending"||void 0,"data-side":g,"data-state":h,"data-variant":u?"overlay":"inline",id:o,role:k?"dialog":void 0,style:m,tabIndex:u?-1:void 0,children:i.jsx("div",{className:"nk-sidebar__body",children:r})})}function de(s){const{boundaries:n,initialFocusReference:e,lockScroll:r,ownerDocument:p,panelReference:c,presenceState:b,restoreFocus:o,sidebar:S,side:v,...g}=s,{id:h,open:f,requestOpenChange:l}=S,a=t.useContext(x.FocusScopeContext),u=t.useRef(null),[d,k]=t.useState(null),m=x.useBoundary("Sidebar").boundaryElement,_=x.useOverlayLayer(!0,m),T=t.useCallback(E=>{u.current=E,c(E),k(E)},[c]);C.useIsomorphicLayoutEffect(()=>{d&&(d.inert=!f)},[f,d]);const q=t.useCallback(()=>{l(!1,"escape")},[l]),j=t.useCallback(()=>{l(!1,"outside")},[l]);x.useDismissableLayer({boundary:m,active:f,boundaries:n,dismissOnEscape:!0,dismissOnPointerDownOutside:!0,layerId:_.id,onEscapeDismiss:q,onPointerDownOutsideDismiss:j,ownerDocument:p});const N=V.useFocusTrap({boundary:m,active:f,container:d,initialFocusReference:e??u,layerId:_.id,restoreFocus:o});return W.useScrollLock(r&&f,p,m),i.jsx(x.FocusScopeContext.Provider,{value:f?N:a,children:i.jsx("div",{className:"nk-sidebar__overlay","data-side":v,"data-state":b,role:"presentation",style:{zIndex:_.zIndex},children:i.jsx(Q,{...g,open:f,panelId:h,panelReference:T,presentation:"overlay",side:v,state:b})})})}function be(s){const{children:n}=s;if(n.type===t.Fragment)throw new Error("Sidebar.Trigger requires a single non-Fragment child");const e=P("Sidebar.Trigger"),r=n.props,p=L.getElementReference(n),c=e==null?void 0:e.registerTrigger,b=e==null?void 0:e.unregisterTrigger,o=t.useRef(null),S=t.useCallback(u=>{const d=o.current;d&&d!==u&&(b==null||b(d)),o.current=u,u&&(c==null||c(u)),L.assignElementReference(p,u)},[p,c,b]),v=t.useCallback(u=>{var d;(d=r.onClick)==null||d.call(r,u),!(u.defaultPrevented||!e)&&e.requestOpenChange(!e.open,"trigger")},[r,e]);if(!e)return null;const{id:g,open:h,presentation:f,variant:l}=e,a=h&&f==="overlay";return t.cloneElement(n,{"aria-controls":a?X.mergeIdentifiers(r["aria-controls"],g):r["aria-controls"],"aria-expanded":h,"aria-haspopup":r["aria-haspopup"]??"dialog",className:[r.className,"nk-sidebar__trigger"].filter(Boolean).join(" "),"data-sidebar-variant":l,onClick:v,ref:S})}const fe=t.forwardRef(function(n,e){const{actions:r,className:p,description:c,image:b,loading:o=!1,name:S,onClick:v,...g}=n,h=c!=null&&typeof c!="boolean",f=i.jsxs(i.Fragment,{children:[i.jsx(Y.Avatar,{alt:S,"aria-hidden":!0,className:"nk-sidebar__user-avatar",image:b}),i.jsxs("span",{className:"nk-sidebar__user-text",children:[i.jsx(D.Text,{as:"span",className:"nk-sidebar__user-name",children:S}),h?i.jsx(D.Text,{as:"span",className:"nk-sidebar__user-description",size:"caption",tone:"muted",children:c}):null]})]});return i.jsx("div",{...g,ref:e,className:["nk-sidebar__user",p].filter(Boolean).join(" "),children:o?i.jsx(Z.Spinner,{className:"nk-sidebar__user-spinner",size:16}):i.jsxs(i.Fragment,{children:[v?i.jsx("button",{className:"nk-sidebar__user-details",onClick:v,type:"button",children:f}):i.jsx("div",{className:"nk-sidebar__user-details",children:f}),r!==void 0&&r.length>0?i.jsx("div",{className:"nk-sidebar__user-actions",children:r.map(l=>{const{"aria-label":a,icon:u,label:d,...k}=l;return i.jsx(ee.Tooltip2,{content:d,children:i.jsx(J.Button,{...k,"aria-label":a??d,className:"nk-sidebar__user-action",icon:u,shape:"rectangle",type:"button",variant:"ghost"})},d)})}):null]})})}),pe=()=>()=>{},$=()=>{};function me(s,n){const e=s==="responsive"?n:void 0,r=t.useSyncExternalStore((e==null?void 0:e.subscribe)??pe,(e==null?void 0:e.read)??$,$);return s!=="responsive"?s:r===void 0?"pending":r>=ne.breakpoint("md")?"inline":"overlay"}const ve=t.forwardRef(function(n,e){var H;const{defaultOpen:r=!1,height:p,initialFocusReference:c,lockScroll:b=!0,onOpenChange:o,open:S,restoreFocus:v=!0,side:g="start",variant:h="responsive",width:f,...l}=n,a=x.useBoundary("Sidebar"),u=`${t.useId()}-sidebar`,d=t.useRef(Symbol("nk-sidebar")).current,k=t.useRef(null),m=me(h,a==null?void 0:a.width),_=S!==void 0,[T,q]=t.useState(r),j=_?S:T,N=t.useRef(o);C.useIsomorphicLayoutEffect(()=>{N.current=o});const E=t.useCallback((y,R)=>{var I;j!==y&&(_||q(y),(I=N.current)==null||I.call(N,y,R))},[_,j]),A=t.useCallback(y=>{k.current=y,L.assignElementReference(e,y)},[e]),w=t.useMemo(()=>[k],[]),M=t.useCallback(y=>{w.push({current:y})},[w]),U=t.useCallback(y=>{const R=w.findIndex(I=>I.current===y);R>0&&w.splice(R,1)},[w]),F=t.useMemo(()=>({id:u,open:j,presentation:m,registerTrigger:M,requestOpenChange:E,unregisterTrigger:U,variant:h}),[j,u,m,M,E,U,h]);C.useIsomorphicLayoutEffect(()=>{const y=a==null?void 0:a.boundaryElement;if(!y)return;if(re(y,d,F)===!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,d,F]),C.useIsomorphicLayoutEffect(()=>{const y=a==null?void 0:a.boundaryElement;if(y)return()=>te(y,d)},[a==null?void 0:a.boundaryElement,d]),t.useEffect(()=>{m==="inline"&&E(!1,"variant")},[m,E]);const z=x.usePresence(j&&m==="overlay"),G=((H=a==null?void 0:a.boundaryElement)==null?void 0:H.ownerDocument)??(typeof document>"u"?null:document);return m!=="overlay"?i.jsx(Q,{...l,height:p,open:!1,panelId:u,panelReference:A,presentation:m,side:g,width:f}):!z.present||!G?null:i.jsx(x.Portal,{children:i.jsx(de,{...l,boundaries:w,initialFocusReference:c,lockScroll:b,ownerDocument:G,panelReference:A,presenceState:z.state==="closing"?"closing":"open",restoreFocus:v,side:g,sidebar:F,width:f})})}),he=Object.assign(ve,{Footer:oe,Group:le,Header:ce,Item:ue,Trigger:be,User:fe});exports.default=he;
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"),G=require("./Button-6oWs-pyF.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-DQgw-w_Z.cjs"),ce=require("./Avatar-Belo7qAY.cjs"),ue=require("./Spinner-BE0F4y2S.cjs"),de=require("./Tooltip-DDPh_YFO.cjs"),fe=require("./units-PzuiQNnw.cjs");function be(s){const{label:n,onToggle:e,panelId:r,reference:b,side:u,sidebarOpen:i}=s;return l.jsx(G.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",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 ge(s){var n;return s?(n=q.get(s))==null?void 0:n.state:void 0}function me(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=>me(n,b),[n]),r=t.useCallback(()=>ge(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",g=h,E=g.href!==void 0||g.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(G.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:g.href,icon:y,onClick:v,shape:"rectangle",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 g;if((g=e.current)==null||g.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:g,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":g||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),[g,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(()=>{g&&(g.inert=!h)},[h,g]);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:g,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 g=o.current;g&&g!==f&&(i==null||i(g)),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:g,...E}=d;return l.jsx(de.Tooltip2,{content:g,children:l.jsx(G.Button,{...E,"aria-label":a??g,className:"nk-sidebar__user-action",icon:f,shape:"rectangle",type:"button",variant:"ghost"})},g)})}):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("md")?"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`,g=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),V=t.useRef(null),N=k?y:I,w=t.useRef(o);R.useIsomorphicLayoutEffect(()=>{w.current=o});const F=t.useCallback((m,C)=>{var x;N!==m&&(k||L(m),(x=w.current)==null||x.call(w,m,C))},[k,N]),z=t.useCallback(m=>{E.current=m,H.assignElementReference(e,m)},[e]),_=t.useMemo(()=>[E],[]),$=t.useCallback(m=>{_.push({current:m}),j(C=>C+1)},[_]),K=t.useCallback(m=>{const C=_.findIndex(x=>x.current===m);C>0&&_.splice(C,1),j(x=>Math.max(x-1,0))},[_]),te=t.useCallback(m=>{const C=V.current;if(C&&C!==m){const x=_.findIndex(se=>se.current===C);x>0&&_.splice(x,1)}V.current=m,m&&_.push({current:m})},[_]),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 m=a==null?void 0:a.boundaryElement;if(!m)return;if(pe(m,g,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,g,A]),R.useIsomorphicLayoutEffect(()=>{const m=a==null?void 0:a.boundaryElement;if(m)return()=>he(m,g)},[a==null?void 0:a.boundaryElement,g]),t.useEffect(()=>{v==="inline"&&F(!1,"variant")},[v,F]),t.useEffect(()=>{var x;const m=(x=a==null?void 0:a.boundaryElement)==null?void 0:x.ownerDocument.defaultView;if(!m)return;const C=m.setTimeout(()=>re(!0),Le);return()=>m.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:z,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:z,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;