@bzync/rui 0.0.5 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/README.md +5 -0
  2. package/dist/autocomplete-D6z5B-WU.cjs +1 -0
  3. package/dist/{autocomplete-BgKbj6M4.js → autocomplete-bgySuP8X.js} +149 -142
  4. package/dist/calendar-CQumLNgS.cjs +1 -0
  5. package/dist/{calendar-j2_zvum1.js → calendar-nkYCMEy3.js} +9 -9
  6. package/dist/charts-Cot5lCgC.cjs +1 -0
  7. package/dist/{charts-CxEy2c3M.js → charts-Dscl6UC3.js} +122 -145
  8. package/dist/cn-B6R3HKzx.cjs +1 -0
  9. package/dist/{cn-DpgY2leY.js → cn-BJyZJP-y.js} +389 -389
  10. package/dist/{component-styles-Bgy44fc8.js → component-styles-C2CbHEEA.js} +2 -2
  11. package/dist/component-styles-DY4wigiq.cjs +1 -0
  12. package/dist/components/accordion.cjs +1 -1
  13. package/dist/components/accordion.js +2 -2
  14. package/dist/components/alert.cjs +1 -1
  15. package/dist/components/alert.js +3 -3
  16. package/dist/components/aspect-ratio.cjs +1 -1
  17. package/dist/components/aspect-ratio.js +1 -1
  18. package/dist/components/auth-backdrop.cjs +1 -1
  19. package/dist/components/auth-backdrop.d.ts +4 -1
  20. package/dist/components/auth-backdrop.js +12 -8
  21. package/dist/components/autocomplete/dropdown.d.ts +4 -1
  22. package/dist/components/autocomplete/multi-trigger.d.ts +3 -1
  23. package/dist/components/autocomplete/single-trigger.d.ts +3 -1
  24. package/dist/components/autocomplete/types.d.ts +15 -0
  25. package/dist/components/autocomplete.cjs +1 -1
  26. package/dist/components/autocomplete.js +1 -1
  27. package/dist/components/avatar-group.cjs +1 -1
  28. package/dist/components/avatar-group.js +1 -1
  29. package/dist/components/avatar.cjs +1 -1
  30. package/dist/components/avatar.js +2 -2
  31. package/dist/components/badge.cjs +1 -1
  32. package/dist/components/badge.js +1 -1
  33. package/dist/components/billing-interval-toggle.cjs +1 -1
  34. package/dist/components/billing-interval-toggle.d.ts +4 -6
  35. package/dist/components/billing-interval-toggle.js +26 -19
  36. package/dist/components/blockquote.cjs +1 -1
  37. package/dist/components/blockquote.js +3 -3
  38. package/dist/components/breadcrumb.cjs +1 -1
  39. package/dist/components/breadcrumb.js +2 -2
  40. package/dist/components/button-group.cjs +1 -1
  41. package/dist/components/button-group.js +1 -1
  42. package/dist/components/button.cjs +1 -1
  43. package/dist/components/button.d.ts +2 -0
  44. package/dist/components/button.js +79 -36
  45. package/dist/components/calendar.cjs +1 -1
  46. package/dist/components/calendar.js +1 -1
  47. package/dist/components/callout.cjs +1 -1
  48. package/dist/components/callout.js +14 -14
  49. package/dist/components/card.cjs +1 -1
  50. package/dist/components/card.js +1 -1
  51. package/dist/components/charts/shared.d.ts +15 -0
  52. package/dist/components/charts.cjs +1 -1
  53. package/dist/components/charts.js +1 -1
  54. package/dist/components/checkbox.cjs +1 -1
  55. package/dist/components/checkbox.js +3 -3
  56. package/dist/components/code.cjs +3 -3
  57. package/dist/components/code.js +4 -4
  58. package/dist/components/command.cjs +1 -1
  59. package/dist/components/command.d.ts +8 -1
  60. package/dist/components/command.js +84 -83
  61. package/dist/components/confirm-dialog.cjs +1 -1
  62. package/dist/components/confirm-dialog.d.ts +8 -1
  63. package/dist/components/confirm-dialog.js +37 -31
  64. package/dist/components/copy-button.cjs +1 -1
  65. package/dist/components/copy-button.js +3 -2
  66. package/dist/components/currency.cjs +1 -1
  67. package/dist/components/currency.js +1 -1
  68. package/dist/components/datatable/types.d.ts +4 -0
  69. package/dist/components/datatable.cjs +1 -1
  70. package/dist/components/datatable.d.ts +1 -5
  71. package/dist/components/datatable.js +1 -1
  72. package/dist/components/datepicker.cjs +1 -1
  73. package/dist/components/datepicker.d.ts +3 -3
  74. package/dist/components/datepicker.js +234 -105
  75. package/dist/components/description-list.cjs +1 -1
  76. package/dist/components/description-list.js +1 -1
  77. package/dist/components/divider.cjs +1 -1
  78. package/dist/components/divider.js +1 -1
  79. package/dist/components/drawer.cjs +1 -1
  80. package/dist/components/drawer.d.ts +6 -1
  81. package/dist/components/drawer.js +128 -2
  82. package/dist/components/dropdown-menu-panel.cjs +1 -0
  83. package/dist/components/dropdown-menu-panel.d.ts +24 -0
  84. package/dist/components/dropdown-menu-panel.js +84 -0
  85. package/dist/components/dropdown-menu.cjs +1 -1
  86. package/dist/components/dropdown-menu.d.ts +5 -1
  87. package/dist/components/dropdown-menu.js +38 -93
  88. package/dist/components/empty-state.cjs +1 -1
  89. package/dist/components/empty-state.d.ts +5 -1
  90. package/dist/components/empty-state.js +9 -9
  91. package/dist/components/error-state.cjs +1 -1
  92. package/dist/components/error-state.js +2 -2
  93. package/dist/components/file-upload.cjs +1 -1
  94. package/dist/components/file-upload.js +4 -4
  95. package/dist/components/form-field.cjs +1 -1
  96. package/dist/components/form-field.d.ts +9 -0
  97. package/dist/components/form-field.js +49 -14
  98. package/dist/components/info-button.cjs +1 -1
  99. package/dist/components/info-button.d.ts +5 -3
  100. package/dist/components/info-button.js +33 -29
  101. package/dist/components/input.cjs +1 -1
  102. package/dist/components/input.js +3 -3
  103. package/dist/components/kbd.cjs +1 -1
  104. package/dist/components/kbd.js +1 -1
  105. package/dist/components/label.cjs +1 -1
  106. package/dist/components/label.js +2 -2
  107. package/dist/components/layout.cjs +1 -1
  108. package/dist/components/layout.js +1 -1
  109. package/dist/components/link.cjs +1 -1
  110. package/dist/components/link.js +1 -1
  111. package/dist/components/list.cjs +1 -1
  112. package/dist/components/list.js +1 -1
  113. package/dist/components/modal.cjs +1 -1
  114. package/dist/components/modal.d.ts +8 -1
  115. package/dist/components/modal.js +74 -120
  116. package/dist/components/navigation.cjs +1 -1
  117. package/dist/components/navigation.js +2 -2
  118. package/dist/components/number-input.cjs +1 -1
  119. package/dist/components/number-input.js +3 -3
  120. package/dist/components/otp-input.cjs +1 -1
  121. package/dist/components/otp-input.js +2 -2
  122. package/dist/components/overlay.cjs +1 -0
  123. package/dist/components/overlay.d.ts +52 -0
  124. package/dist/components/overlay.js +87 -0
  125. package/dist/components/pagination.cjs +1 -1
  126. package/dist/components/pagination.js +2 -2
  127. package/dist/components/popover.cjs +1 -1
  128. package/dist/components/popover.d.ts +2 -1
  129. package/dist/components/popover.js +41 -40
  130. package/dist/components/progressbar.cjs +1 -1
  131. package/dist/components/progressbar.js +1 -1
  132. package/dist/components/radio.cjs +1 -1
  133. package/dist/components/radio.js +3 -3
  134. package/dist/components/rating.cjs +1 -1
  135. package/dist/components/rating.js +3 -3
  136. package/dist/components/richtext.cjs +1 -1
  137. package/dist/components/richtext.js +2 -2
  138. package/dist/components/scroll-area.cjs +1 -1
  139. package/dist/components/scroll-area.js +3 -3
  140. package/dist/components/select/option-list.d.ts +3 -1
  141. package/dist/components/select/types.d.ts +4 -0
  142. package/dist/components/select.cjs +1 -1
  143. package/dist/components/select.js +1 -1
  144. package/dist/components/seo.cjs +1 -1
  145. package/dist/components/seo.js +1 -1
  146. package/dist/components/separator.cjs +1 -1
  147. package/dist/components/separator.js +1 -1
  148. package/dist/components/skeleton.cjs +1 -1
  149. package/dist/components/skeleton.d.ts +14 -1
  150. package/dist/components/skeleton.js +56 -4
  151. package/dist/components/slider.cjs +1 -1
  152. package/dist/components/slider.js +2 -2
  153. package/dist/components/slot.cjs +1 -0
  154. package/dist/components/slot.d.ts +12 -0
  155. package/dist/components/slot.js +16 -0
  156. package/dist/components/snackbar-viewport.cjs +1 -0
  157. package/dist/components/snackbar-viewport.d.ts +27 -0
  158. package/dist/components/snackbar-viewport.js +181 -0
  159. package/dist/components/snackbar.cjs +1 -1
  160. package/dist/components/snackbar.d.ts +5 -1
  161. package/dist/components/snackbar.js +36 -200
  162. package/dist/components/spinner.cjs +1 -1
  163. package/dist/components/spinner.js +1 -1
  164. package/dist/components/stat.cjs +1 -1
  165. package/dist/components/stat.js +1 -1
  166. package/dist/components/status-dot.cjs +1 -1
  167. package/dist/components/status-dot.js +1 -1
  168. package/dist/components/stepper.cjs +1 -1
  169. package/dist/components/stepper.js +5 -5
  170. package/dist/components/switch.cjs +1 -1
  171. package/dist/components/switch.js +37 -43
  172. package/dist/components/table.cjs +1 -1
  173. package/dist/components/table.js +1 -1
  174. package/dist/components/tabs.cjs +1 -1
  175. package/dist/components/tabs.d.ts +6 -4
  176. package/dist/components/tabs.js +51 -81
  177. package/dist/components/tag.cjs +1 -1
  178. package/dist/components/tag.js +1 -1
  179. package/dist/components/terminal.cjs +1 -1
  180. package/dist/components/terminal.js +1 -1
  181. package/dist/components/textarea.cjs +1 -1
  182. package/dist/components/textarea.js +3 -3
  183. package/dist/components/theme-provider.cjs +1 -1
  184. package/dist/components/theme-provider.js +1 -1
  185. package/dist/components/theme-toggle.cjs +1 -1
  186. package/dist/components/theme-toggle.js +27 -3
  187. package/dist/components/time-picker.cjs +1 -1
  188. package/dist/components/time-picker.d.ts +2 -0
  189. package/dist/components/time-picker.js +206 -148
  190. package/dist/components/timeline.cjs +1 -1
  191. package/dist/components/timeline.js +1 -1
  192. package/dist/components/toggle.cjs +1 -1
  193. package/dist/components/toggle.js +2 -2
  194. package/dist/components/tooltip.cjs +1 -1
  195. package/dist/components/tooltip.d.ts +2 -1
  196. package/dist/components/tooltip.js +37 -36
  197. package/dist/components/tree.cjs +1 -1
  198. package/dist/components/tree.js +1 -1
  199. package/dist/components/typography.cjs +1 -1
  200. package/dist/components/typography.d.ts +2 -3
  201. package/dist/components/typography.js +37 -24
  202. package/dist/components/visually-hidden.cjs +1 -0
  203. package/dist/components/visually-hidden.d.ts +16 -0
  204. package/dist/components/visually-hidden.js +13 -0
  205. package/dist/{datatable-yBN4M3UV.js → datatable-BJoZMrKI.js} +6 -6
  206. package/dist/datatable-t0U7t_xh.cjs +1 -0
  207. package/dist/icons-Dfetr1L2.cjs +1 -0
  208. package/dist/icons-Dk7VZ4Ph.js +51 -0
  209. package/dist/index.cjs +1 -1
  210. package/dist/index.d.ts +4 -0
  211. package/dist/index.js +126 -99
  212. package/dist/lib/cn.d.ts +13 -1
  213. package/dist/lib/component-styles.d.ts +14 -2
  214. package/dist/lib/icons.d.ts +12 -0
  215. package/dist/lib/motion.d.ts +58 -0
  216. package/dist/motion-B2shivEB.cjs +1 -0
  217. package/dist/motion-gnRzFS5f.js +62 -0
  218. package/dist/select-ByjnuEcE.cjs +1 -0
  219. package/dist/{select-ClWrcj3R.js → select-CiMzLhUK.js} +128 -122
  220. package/dist/styles.css +1 -1
  221. package/dist/{terminal-CpraMs50.cjs → terminal-1U0ftG3i.cjs} +2 -2
  222. package/dist/{terminal-BOR2cFi1.js → terminal-VXdxVoAv.js} +4 -4
  223. package/dist/use-focus-trap-CPLT49gN.cjs +1 -0
  224. package/dist/use-focus-trap-CS6BXJAB.js +77 -0
  225. package/dist/{utils-CQ8pvCtk.js → utils-DEw5mQrH.js} +1 -1
  226. package/dist/{utils-DOFJTw8o.cjs → utils-MnnCTelh.cjs} +1 -1
  227. package/package.json +56 -9
  228. package/dist/autocomplete-Bk4pRQ2R.cjs +0 -1
  229. package/dist/calendar-CUXpVrVE.cjs +0 -1
  230. package/dist/charts-UDqS1BH1.cjs +0 -1
  231. package/dist/cn-BdjraxxU.cjs +0 -1
  232. package/dist/component-styles-DOUctc8_.cjs +0 -1
  233. package/dist/createLucideIcon-DDY8HuQR.js +0 -42
  234. package/dist/createLucideIcon-b_X_3fj-.cjs +0 -1
  235. package/dist/datatable-rzDgQ3r6.cjs +0 -1
  236. package/dist/drawer-CTeBsYrO.cjs +0 -1
  237. package/dist/drawer-ixuzyLVS.js +0 -189
  238. package/dist/select-BFwx--uK.cjs +0 -1
  239. package/dist/theme-toggle-Bb0BYo51.js +0 -71
  240. package/dist/theme-toggle-Cld8tktJ.cjs +0 -1
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { t as e } from "../cn-DpgY2leY.js";
3
- import { c as t, o as n, t as r } from "../component-styles-Bgy44fc8.js";
2
+ import { t as e } from "../cn-BJyZJP-y.js";
3
+ import { c as t, o as n, t as r } from "../component-styles-C2CbHEEA.js";
4
4
  import { AnimatePresence as i, motion as a } from "framer-motion";
5
- import { useEffect as o, useId as s, useRef as c, useState as l } from "react";
6
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
5
+ import { forwardRef as o, useEffect as s, useId as ee, useImperativeHandle as c, useLayoutEffect as te, useRef as l, useState as u } from "react";
6
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
7
7
  //#region src/components/datepicker.tsx
8
- var f = [
8
+ var ne = [
9
9
  "Su",
10
10
  "Mo",
11
11
  "Tu",
@@ -13,7 +13,7 @@ var f = [
13
13
  "Th",
14
14
  "Fr",
15
15
  "Sa"
16
- ], p = [
16
+ ], m = [
17
17
  "January",
18
18
  "February",
19
19
  "March",
@@ -27,65 +27,140 @@ var f = [
27
27
  "November",
28
28
  "December"
29
29
  ];
30
- function m(e) {
31
- return `${p[e.getMonth()].slice(0, 3)} ${e.getDate()}, ${e.getFullYear()}`;
30
+ function h(e) {
31
+ return `${m[e.getMonth()].slice(0, 3)} ${e.getDate()}, ${e.getFullYear()}`;
32
32
  }
33
- function h(e, t) {
33
+ function g(e, t) {
34
34
  return new Date(e, t + 1, 0).getDate();
35
35
  }
36
- function g(e, t) {
36
+ function _(e, t) {
37
37
  return new Date(e, t, 1).getDay();
38
38
  }
39
- function _(e, t) {
39
+ function v(e, t) {
40
40
  return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
41
41
  }
42
- function v({ value: v, onChange: y, label: b, hint: x, error: S, placeholder: C = "Select date…", disabled: w, clearable: T = !0, minDate: E, maxDate: D, className: O }) {
43
- let [k, A] = l(null), j = v === void 0 ? k : v, M = /* @__PURE__ */ new Date(), [N, P] = l(!1), [F, I] = l((j ?? M).getFullYear()), [L, R] = l((j ?? M).getMonth()), z = c(null), B = s(), V = `${B}-message`;
44
- function H(e) {
45
- v === void 0 && A(e), y?.(e), P(!1);
42
+ function y(e) {
43
+ return `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
44
+ }
45
+ var b = o(({ value: o, onChange: b, label: x, hint: S, error: C, placeholder: w = "Select date…", disabled: T, clearable: E = !0, minDate: D, maxDate: O, className: k, ...re }, ie) => {
46
+ let [ae, A] = u(null), j = o === void 0 ? ae : o, M = /* @__PURE__ */ new Date(), [N, P] = u(!1), [F, I] = u((j ?? M).getFullYear()), [L, R] = u((j ?? M).getMonth()), [z, B] = u(j ?? M), [V, H] = u({ visibility: "hidden" }), U = l(null), W = l(null), G = l(null);
47
+ c(ie, () => U.current);
48
+ let K = ee(), q = `${K}-dialog`, J = `${K}-message`;
49
+ function Y(e) {
50
+ return !!(D && e < D || O && e > O);
51
+ }
52
+ function X(e) {
53
+ if (Y(e)) return;
54
+ let t = e.getFullYear() === F && e.getMonth() === L;
55
+ if (B(e), I(e.getFullYear()), R(e.getMonth()), t) {
56
+ G.current?.querySelector(`[data-date="${y(e)}"]`)?.focus({ preventScroll: !0 });
57
+ return;
58
+ }
59
+ requestAnimationFrame(() => requestAnimationFrame(() => {
60
+ G.current?.querySelector(`[data-date="${y(e)}"]`)?.focus({ preventScroll: !0 });
61
+ }));
62
+ }
63
+ function oe() {
64
+ return j && !Y(j) ? j : Y(M) ? D && (!O || D <= O) ? D : O ?? M : M;
65
+ }
66
+ function se() {
67
+ let e = oe();
68
+ B(e), I(e.getFullYear()), R(e.getMonth()), H({ visibility: "hidden" }), P(!0), requestAnimationFrame(() => requestAnimationFrame(() => {
69
+ G.current?.querySelector(`[data-date="${y(e)}"]`)?.focus({ preventScroll: !0 });
70
+ }));
46
71
  }
47
- function U(e) {
48
- e.stopPropagation(), v === void 0 && A(null), y?.(null);
72
+ function Z(e = !1) {
73
+ P(!1), e && requestAnimationFrame(() => W.current?.focus());
49
74
  }
50
- function W() {
51
- L === 0 ? (R(11), I((e) => e - 1)) : R((e) => e - 1);
75
+ function ce(e) {
76
+ o === void 0 && A(e), b?.(e), Z(!0);
52
77
  }
53
- function G() {
54
- L === 11 ? (R(0), I((e) => e + 1)) : R((e) => e + 1);
78
+ function le() {
79
+ o === void 0 && A(null), b?.(null);
55
80
  }
56
- o(() => {
81
+ function Q(e, t) {
82
+ let n = new Date(e, t, 1), r = new Date(e, t + 1, 0, 23, 59, 59, 999);
83
+ return !(D && D > r) && !(O && O < n);
84
+ }
85
+ function $(e) {
86
+ let t = new Date(F, L + e, 1), n = t.getFullYear(), r = t.getMonth();
87
+ if (!Q(n, r)) return;
88
+ let i = new Date(n, r, Math.min(z.getDate(), g(n, r)));
89
+ D && i < D && D.getFullYear() === n && D.getMonth() === r && (i = new Date(n, r, D.getDate())), O && i > O && O.getFullYear() === n && O.getMonth() === r && (i = new Date(n, r, O.getDate())), I(n), R(r), B(i);
90
+ }
91
+ s(() => {
57
92
  function e(e) {
58
- z.current?.contains(e.target) || P(!1);
93
+ U.current?.contains(e.target) || Z();
59
94
  }
60
95
  function t(e) {
61
- e.key === "Escape" && P(!1);
96
+ e.key === "Escape" && N && (e.preventDefault(), Z(!0));
62
97
  }
63
98
  return document.addEventListener("mousedown", e), document.addEventListener("keydown", t), () => {
64
99
  document.removeEventListener("mousedown", e), document.removeEventListener("keydown", t);
65
100
  };
66
- }, []);
67
- let K = h(F, L), q = g(F, L), J = [...Array(q).fill(null), ...Array.from({ length: K }, (e, t) => t + 1)];
68
- return /* @__PURE__ */ d("div", {
69
- ref: z,
70
- className: e("relative", n, O),
101
+ }, [N]), te(() => {
102
+ if (!N) return;
103
+ let e = () => {
104
+ let e = W.current, t = G.current;
105
+ if (!e || !t) return;
106
+ let n = t.getBoundingClientRect();
107
+ if (window.innerWidth < 640) {
108
+ H({
109
+ insetInline: 8,
110
+ bottom: 8,
111
+ top: "auto",
112
+ width: "auto",
113
+ visibility: "visible"
114
+ });
115
+ return;
116
+ }
117
+ let r = e.getBoundingClientRect(), i = Math.min(Math.max(r.left, 16), Math.max(16, window.innerWidth - n.width - 16)), a = r.bottom + 6, o = r.top - n.height - 6, s = a + n.height <= window.innerHeight - 16 || o < 16 ? a : o;
118
+ H({
119
+ left: i,
120
+ top: Math.min(Math.max(s, 16), Math.max(16, window.innerHeight - n.height - 16)),
121
+ visibility: "visible"
122
+ });
123
+ };
124
+ return e(), window.addEventListener("resize", e), document.addEventListener("scroll", e, !0), () => {
125
+ window.removeEventListener("resize", e), document.removeEventListener("scroll", e, !0);
126
+ };
127
+ }, [N]), s(() => {
128
+ if (!N || window.innerWidth >= 640) return;
129
+ let e = document.body.style.overflow;
130
+ return document.body.style.overflow = "hidden", () => {
131
+ document.body.style.overflow = e;
132
+ };
133
+ }, [N]);
134
+ function ue(e, t) {
135
+ let n;
136
+ e.key === "ArrowLeft" ? n = new Date(t.getFullYear(), t.getMonth(), t.getDate() - 1) : e.key === "ArrowRight" ? n = new Date(t.getFullYear(), t.getMonth(), t.getDate() + 1) : e.key === "ArrowUp" ? n = new Date(t.getFullYear(), t.getMonth(), t.getDate() - 7) : e.key === "ArrowDown" ? n = new Date(t.getFullYear(), t.getMonth(), t.getDate() + 7) : e.key === "Home" ? n = new Date(t.getFullYear(), t.getMonth(), t.getDate() - t.getDay()) : e.key === "End" ? n = new Date(t.getFullYear(), t.getMonth(), t.getDate() + (6 - t.getDay())) : e.key === "PageUp" ? n = new Date(t.getFullYear(), t.getMonth() - 1, Math.min(t.getDate(), g(t.getFullYear(), t.getMonth() - 1))) : e.key === "PageDown" && (n = new Date(t.getFullYear(), t.getMonth() + 1, Math.min(t.getDate(), g(t.getFullYear(), t.getMonth() + 1)))), n && (e.preventDefault(), X(n));
137
+ }
138
+ let de = g(F, L), fe = _(F, L), pe = [...Array(fe).fill(null), ...Array.from({ length: de }, (e, t) => t + 1)];
139
+ return /* @__PURE__ */ p("div", {
140
+ ref: U,
141
+ className: e("relative", n, k),
142
+ ...re,
71
143
  children: [
72
- b && /* @__PURE__ */ u("label", {
73
- htmlFor: B,
144
+ x && /* @__PURE__ */ f("label", {
145
+ htmlFor: K,
74
146
  className: "text-xs font-semibold leading-5 text-foreground",
75
- children: b
147
+ children: x
76
148
  }),
77
- /* @__PURE__ */ d("button", {
78
- type: "button",
79
- id: B,
80
- "aria-expanded": N,
81
- "aria-haspopup": "dialog",
82
- "aria-invalid": S ? !0 : void 0,
83
- "aria-describedby": S || x ? V : void 0,
84
- disabled: w,
85
- onClick: () => P((e) => !e),
86
- className: e("flex h-9 w-full items-center gap-2 rounded-[var(--radius-md)] px-3 text-left outline-none", r, "focus:border-accent-500 focus:ring-2 focus:ring-focus-ring/20", S && "border-destructive/60 hover:border-destructive/70 focus-within:border-destructive focus-within:ring-destructive/20", w && "opacity-50 cursor-not-allowed"),
87
- children: [
88
- /* @__PURE__ */ d("svg", {
149
+ /* @__PURE__ */ p("div", {
150
+ className: e("flex h-11 w-full items-center rounded-[var(--radius-md)] sm:h-9", r, C && "border-destructive/60 hover:border-destructive/70 focus-within:border-destructive focus-within:ring-destructive/25", T && "cursor-not-allowed opacity-50"),
151
+ children: [/* @__PURE__ */ p("button", {
152
+ ref: W,
153
+ type: "button",
154
+ id: K,
155
+ "aria-expanded": N,
156
+ "aria-haspopup": "dialog",
157
+ "aria-controls": q,
158
+ "aria-invalid": C ? !0 : void 0,
159
+ "aria-describedby": C || S ? J : void 0,
160
+ disabled: T,
161
+ onClick: () => N ? Z() : se(),
162
+ className: "flex h-full min-w-0 flex-1 items-center gap-2 rounded-[var(--radius-md)] px-3 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-focus-ring/35",
163
+ children: [/* @__PURE__ */ p("svg", {
89
164
  width: "14",
90
165
  height: "14",
91
166
  viewBox: "0 0 24 24",
@@ -96,7 +171,7 @@ function v({ value: v, onChange: y, label: b, hint: x, error: S, placeholder: C
96
171
  strokeLinejoin: "round",
97
172
  className: "text-slate-500 shrink-0",
98
173
  children: [
99
- /* @__PURE__ */ u("rect", {
174
+ /* @__PURE__ */ f("rect", {
100
175
  width: "18",
101
176
  height: "18",
102
177
  x: "3",
@@ -104,50 +179,58 @@ function v({ value: v, onChange: y, label: b, hint: x, error: S, placeholder: C
104
179
  rx: "2",
105
180
  ry: "2"
106
181
  }),
107
- /* @__PURE__ */ u("line", {
182
+ /* @__PURE__ */ f("line", {
108
183
  x1: "16",
109
184
  x2: "16",
110
185
  y1: "2",
111
186
  y2: "6"
112
187
  }),
113
- /* @__PURE__ */ u("line", {
188
+ /* @__PURE__ */ f("line", {
114
189
  x1: "8",
115
190
  x2: "8",
116
191
  y1: "2",
117
192
  y2: "6"
118
193
  }),
119
- /* @__PURE__ */ u("line", {
194
+ /* @__PURE__ */ f("line", {
120
195
  x1: "3",
121
196
  x2: "21",
122
197
  y1: "10",
123
198
  y2: "10"
124
199
  })
125
200
  ]
126
- }),
127
- /* @__PURE__ */ u("span", {
201
+ }), /* @__PURE__ */ f("span", {
128
202
  className: e("flex-1 text-sm truncate", j ? "text-foreground" : "text-muted-foreground"),
129
- children: j ? m(j) : C
130
- }),
131
- T && j && !w && /* @__PURE__ */ u("span", {
132
- role: "button",
133
- tabIndex: -1,
134
- onClick: U,
135
- className: "shrink-0 text-slate-500 hover:text-slate-700 dark:hover:text-slate-300 transition-colors",
136
- children: /* @__PURE__ */ u("svg", {
137
- width: "10",
138
- height: "10",
139
- viewBox: "0 0 24 24",
140
- fill: "none",
141
- stroke: "currentColor",
142
- strokeWidth: "3",
143
- strokeLinecap: "round",
144
- strokeLinejoin: "round",
145
- children: /* @__PURE__ */ u("path", { d: "M18 6 6 18M6 6l12 12" })
146
- })
203
+ children: j ? h(j) : w
204
+ })]
205
+ }), E && j && !T && /* @__PURE__ */ f("button", {
206
+ type: "button",
207
+ "aria-label": `Clear ${x?.toLowerCase() ?? "date"}`,
208
+ onClick: le,
209
+ className: e(t, "mr-1 size-9 sm:size-7"),
210
+ children: /* @__PURE__ */ f("svg", {
211
+ "aria-hidden": "true",
212
+ width: "11",
213
+ height: "11",
214
+ viewBox: "0 0 24 24",
215
+ fill: "none",
216
+ stroke: "currentColor",
217
+ strokeWidth: "3",
218
+ strokeLinecap: "round",
219
+ strokeLinejoin: "round",
220
+ children: /* @__PURE__ */ f("path", { d: "M18 6 6 18M6 6l12 12" })
147
221
  })
148
- ]
222
+ })]
149
223
  }),
150
- /* @__PURE__ */ u(i, { children: N && /* @__PURE__ */ d(a.div, {
224
+ /* @__PURE__ */ f(i, { children: N && /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(a.div, {
225
+ "aria-hidden": "true",
226
+ className: "fixed inset-0 z-40 bg-overlay sm:hidden",
227
+ onMouseDown: () => Z(!0),
228
+ initial: { opacity: 0 },
229
+ animate: { opacity: 1 },
230
+ exit: { opacity: 0 }
231
+ }), /* @__PURE__ */ p(a.div, {
232
+ ref: G,
233
+ id: q,
151
234
  initial: {
152
235
  opacity: 0,
153
236
  y: -4,
@@ -164,20 +247,46 @@ function v({ value: v, onChange: y, label: b, hint: x, error: S, placeholder: C
164
247
  scaleY: .97
165
248
  },
166
249
  transition: { duration: .13 },
167
- style: { originY: 0 },
168
250
  role: "dialog",
169
- "aria-label": "Choose date",
170
- className: "absolute left-0 top-full z-50 mt-1.5 w-[min(18rem,calc(100vw-2rem))] rounded-[var(--radius-lg)] border border-border bg-surface-raised p-3 shadow-floating",
251
+ "aria-label": x ? `Choose ${x.toLowerCase()}` : "Choose date",
252
+ className: "fixed z-50 w-[min(18rem,calc(100vw-2rem))] max-h-[calc(100dvh-1rem)] overflow-y-auto rounded-[var(--radius-lg)] border border-border bg-surface-raised p-3 shadow-floating",
253
+ style: {
254
+ ...V,
255
+ originY: 0
256
+ },
171
257
  children: [
172
- /* @__PURE__ */ d("div", {
258
+ /* @__PURE__ */ p("div", {
259
+ className: "mb-2 flex items-center justify-between gap-3 sm:hidden",
260
+ children: [/* @__PURE__ */ f("strong", {
261
+ className: "text-sm text-foreground",
262
+ children: x ? `Choose ${x.toLowerCase()}` : "Choose date"
263
+ }), /* @__PURE__ */ f("button", {
264
+ type: "button",
265
+ onClick: () => Z(!0),
266
+ className: e(t, "size-11"),
267
+ "aria-label": "Close date picker",
268
+ children: /* @__PURE__ */ f("svg", {
269
+ "aria-hidden": "true",
270
+ width: "14",
271
+ height: "14",
272
+ viewBox: "0 0 24 24",
273
+ fill: "none",
274
+ stroke: "currentColor",
275
+ strokeWidth: "2",
276
+ children: /* @__PURE__ */ f("path", { d: "M18 6 6 18M6 6l12 12" })
277
+ })
278
+ })]
279
+ }),
280
+ /* @__PURE__ */ p("div", {
173
281
  className: "flex items-center justify-between mb-3",
174
282
  children: [
175
- /* @__PURE__ */ u("button", {
283
+ /* @__PURE__ */ f("button", {
176
284
  type: "button",
177
- onClick: W,
285
+ onClick: () => $(-1),
286
+ disabled: !Q(new Date(F, L - 1, 1).getFullYear(), new Date(F, L - 1, 1).getMonth()),
178
287
  "aria-label": "Previous month",
179
- className: e(t, "size-7"),
180
- children: /* @__PURE__ */ u("svg", {
288
+ className: e(t, "size-11 disabled:cursor-not-allowed disabled:opacity-35 sm:size-7"),
289
+ children: /* @__PURE__ */ f("svg", {
181
290
  width: "14",
182
291
  height: "14",
183
292
  viewBox: "0 0 24 24",
@@ -186,24 +295,25 @@ function v({ value: v, onChange: y, label: b, hint: x, error: S, placeholder: C
186
295
  strokeWidth: "2.5",
187
296
  strokeLinecap: "round",
188
297
  strokeLinejoin: "round",
189
- children: /* @__PURE__ */ u("path", { d: "m15 18-6-6 6-6" })
298
+ children: /* @__PURE__ */ f("path", { d: "m15 18-6-6 6-6" })
190
299
  })
191
300
  }),
192
- /* @__PURE__ */ d("span", {
301
+ /* @__PURE__ */ p("span", {
193
302
  "aria-live": "polite",
194
303
  className: "text-sm font-semibold text-foreground",
195
304
  children: [
196
- p[L],
305
+ m[L],
197
306
  " ",
198
307
  F
199
308
  ]
200
309
  }),
201
- /* @__PURE__ */ u("button", {
310
+ /* @__PURE__ */ f("button", {
202
311
  type: "button",
203
- onClick: G,
312
+ onClick: () => $(1),
313
+ disabled: !Q(new Date(F, L + 1, 1).getFullYear(), new Date(F, L + 1, 1).getMonth()),
204
314
  "aria-label": "Next month",
205
- className: e(t, "size-7"),
206
- children: /* @__PURE__ */ u("svg", {
315
+ className: e(t, "size-11 disabled:cursor-not-allowed disabled:opacity-35 sm:size-7"),
316
+ children: /* @__PURE__ */ f("svg", {
207
317
  width: "14",
208
318
  height: "14",
209
319
  viewBox: "0 0 24 24",
@@ -212,28 +322,32 @@ function v({ value: v, onChange: y, label: b, hint: x, error: S, placeholder: C
212
322
  strokeWidth: "2.5",
213
323
  strokeLinecap: "round",
214
324
  strokeLinejoin: "round",
215
- children: /* @__PURE__ */ u("path", { d: "m9 18 6-6-6-6" })
325
+ children: /* @__PURE__ */ f("path", { d: "m9 18 6-6-6-6" })
216
326
  })
217
327
  })
218
328
  ]
219
329
  }),
220
- /* @__PURE__ */ u("div", {
330
+ /* @__PURE__ */ f("div", {
221
331
  className: "grid grid-cols-7 gap-0.5 mb-1",
222
- children: f.map((e) => /* @__PURE__ */ u("div", {
332
+ children: ne.map((e) => /* @__PURE__ */ f("div", {
223
333
  "aria-hidden": "true",
224
- className: "text-center text-[10px] font-semibold text-muted-foreground py-1",
334
+ className: "py-1 text-center text-[10px] font-semibold text-muted-foreground",
225
335
  children: e
226
336
  }, e))
227
337
  }),
228
- /* @__PURE__ */ u("div", {
338
+ /* @__PURE__ */ f("div", {
229
339
  className: "grid grid-cols-7 gap-0.5",
230
- children: J.map((t, n) => {
231
- if (!t) return /* @__PURE__ */ u("div", {}, `empty-${n}`);
232
- let r = new Date(F, L, t), i = j ? _(r, j) : !1, a = _(r, M), o = E && r < E || D && r > D;
233
- return /* @__PURE__ */ u("button", {
340
+ children: pe.map((t, n) => {
341
+ if (!t) return /* @__PURE__ */ f("div", {}, `empty-${n}`);
342
+ let r = new Date(F, L, t), i = j ? v(r, j) : !1, a = v(r, M), o = Y(r);
343
+ return /* @__PURE__ */ f("button", {
234
344
  type: "button",
235
345
  disabled: !!o,
236
- onClick: () => H(r),
346
+ onClick: () => ce(r),
347
+ onFocus: () => B(r),
348
+ onKeyDown: (e) => ue(e, r),
349
+ "data-date": y(r),
350
+ tabIndex: v(r, z) ? 0 : -1,
237
351
  "aria-label": r.toLocaleDateString(void 0, {
238
352
  weekday: "long",
239
353
  year: "numeric",
@@ -242,26 +356,41 @@ function v({ value: v, onChange: y, label: b, hint: x, error: S, placeholder: C
242
356
  }),
243
357
  "aria-pressed": i,
244
358
  "aria-current": a ? "date" : void 0,
245
- className: e("h-8 w-full rounded-md text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring/35", i ? "bg-primary text-primary-foreground font-medium" : a ? "border border-accent-500/40 text-accent-400 hover:bg-accent-500/10" : "text-slate-700 dark:text-slate-200 hover:bg-black/6 dark:hover:bg-white/6", o && "opacity-30 cursor-not-allowed"),
359
+ className: e("h-11 w-full rounded-md text-sm transition-colors focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-focus-ring/35 sm:h-8", i ? "bg-primary text-primary-foreground font-medium" : a ? "border border-accent-500/40 text-accent-400 hover:bg-accent-500/10" : "text-slate-700 dark:text-slate-200 hover:bg-black/6 dark:hover:bg-white/6", o && "opacity-30 cursor-not-allowed"),
246
360
  children: t
247
361
  }, t);
248
362
  })
363
+ }),
364
+ /* @__PURE__ */ p("div", {
365
+ className: e("mt-3 flex items-center border-t border-border pt-3", Y(M) ? "justify-end" : "justify-between"),
366
+ children: [!Y(M) && /* @__PURE__ */ f("button", {
367
+ type: "button",
368
+ onClick: () => X(M),
369
+ className: "h-11 rounded-md px-3 text-xs font-medium text-accent-700 hover:bg-muted focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-focus-ring/35 sm:h-10 dark:text-accent-300",
370
+ children: "Today"
371
+ }), /* @__PURE__ */ f("button", {
372
+ type: "button",
373
+ onClick: () => Z(!0),
374
+ className: "h-11 rounded-md px-3 text-xs font-medium text-muted-foreground hover:bg-muted focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-focus-ring/35 sm:h-10",
375
+ children: "Cancel"
376
+ })]
249
377
  })
250
378
  ]
251
- }) }),
252
- S && /* @__PURE__ */ u("p", {
253
- id: V,
379
+ })] }) }),
380
+ C && /* @__PURE__ */ f("p", {
381
+ id: J,
254
382
  "aria-live": "polite",
255
383
  className: "text-xs leading-5 text-destructive",
256
- children: S
384
+ children: C
257
385
  }),
258
- x && !S && /* @__PURE__ */ u("p", {
259
- id: V,
386
+ S && !C && /* @__PURE__ */ f("p", {
387
+ id: J,
260
388
  className: "text-xs leading-5 text-muted-foreground",
261
- children: x
389
+ children: S
262
390
  })
263
391
  ]
264
392
  });
265
- }
393
+ });
394
+ b.displayName = "DatePicker";
266
395
  //#endregion
267
- export { v as DatePicker };
396
+ export { b as DatePicker };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-BdjraxxU.cjs");let t=require("react"),n=require("react/jsx-runtime");var r={1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`},i={compact:`gap-x-4 gap-y-3`,default:`gap-x-6 gap-y-5`,relaxed:`gap-x-8 gap-y-7`},a=(0,t.forwardRef)(({columns:t=1,density:a=`default`,className:o,...s},c)=>(0,n.jsx)(`dl`,{ref:c,className:e.t(`grid min-w-0`,r[t],i[a],o),...s}));a.displayName=`DescriptionList`;var o=(0,t.forwardRef)(({orientation:t=`stacked`,className:r,...i},a)=>(0,n.jsx)(`div`,{ref:a,className:e.t(`min-w-0`,t===`inline`?`flex flex-col gap-1 sm:flex-row sm:items-baseline sm:justify-between sm:gap-4`:`flex flex-col gap-1`,r),...i}));o.displayName=`DescriptionItem`;var s=(0,t.forwardRef)(({className:t,...r},i)=>(0,n.jsx)(`dt`,{ref:i,className:e.t(`text-xs font-medium text-muted-foreground`,t),...r}));s.displayName=`DescriptionTerm`;var c=(0,t.forwardRef)(({className:t,...r},i)=>(0,n.jsx)(`dd`,{ref:i,className:e.t(`min-w-0 break-words text-sm font-medium text-foreground`,t),...r}));c.displayName=`DescriptionDetails`,exports.DescriptionDetails=c,exports.DescriptionItem=o,exports.DescriptionList=a,exports.DescriptionTerm=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-B6R3HKzx.cjs");let t=require("react"),n=require("react/jsx-runtime");var r={1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`},i={compact:`gap-x-4 gap-y-3`,default:`gap-x-6 gap-y-5`,relaxed:`gap-x-8 gap-y-7`},a=(0,t.forwardRef)(({columns:t=1,density:a=`default`,className:o,...s},c)=>(0,n.jsx)(`dl`,{ref:c,className:e.t(`grid min-w-0`,r[t],i[a],o),...s}));a.displayName=`DescriptionList`;var o=(0,t.forwardRef)(({orientation:t=`stacked`,className:r,...i},a)=>(0,n.jsx)(`div`,{ref:a,className:e.t(`min-w-0`,t===`inline`?`flex flex-col gap-1 sm:flex-row sm:items-baseline sm:justify-between sm:gap-4`:`flex flex-col gap-1`,r),...i}));o.displayName=`DescriptionItem`;var s=(0,t.forwardRef)(({className:t,...r},i)=>(0,n.jsx)(`dt`,{ref:i,className:e.t(`text-xs font-medium text-muted-foreground`,t),...r}));s.displayName=`DescriptionTerm`;var c=(0,t.forwardRef)(({className:t,...r},i)=>(0,n.jsx)(`dd`,{ref:i,className:e.t(`min-w-0 break-words text-sm font-medium text-foreground`,t),...r}));c.displayName=`DescriptionDetails`,exports.DescriptionDetails=c,exports.DescriptionItem=o,exports.DescriptionList=a,exports.DescriptionTerm=s;
@@ -1,4 +1,4 @@
1
- import { t as e } from "../cn-DpgY2leY.js";
1
+ import { t as e } from "../cn-BJyZJP-y.js";
2
2
  import { forwardRef as t } from "react";
3
3
  import { jsx as n } from "react/jsx-runtime";
4
4
  //#region src/components/description-list.tsx
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-BdjraxxU.cjs");let t=require("react"),n=require("react/jsx-runtime");var r={solid:`border-solid`,dashed:`border-dashed`,dotted:`border-dotted`},i={none:`my-0`,sm:`my-2`,md:`my-4`,lg:`my-6`},a={none:`mx-0`,sm:`mx-2`,md:`mx-4`,lg:`mx-6`},o=(0,t.forwardRef)(({orientation:t=`horizontal`,variant:o=`solid`,spacing:s=`md`,label:c,decorative:l=!0,className:u,...d},f)=>{let p=t===`vertical`,m=e.t(`min-w-0 flex-1 border-border`,r[o],p?`w-0 border-l`:`h-0 border-t`);return(0,n.jsxs)(`div`,{ref:f,role:l?`presentation`:`separator`,"aria-orientation":l?void 0:t,className:e.t(`flex shrink-0 items-center`,p?`h-full min-h-4 self-stretch flex-col`:`w-full min-w-0 flex-row`,p?a[s]:i[s],u),...d,children:[(0,n.jsx)(`span`,{"aria-hidden":`true`,className:m}),c&&(0,n.jsx)(`span`,{className:e.t(`shrink-0 text-xs font-medium text-muted-foreground`,p?`my-2 [writing-mode:vertical-rl]`:`mx-3`),children:c}),c&&(0,n.jsx)(`span`,{"aria-hidden":`true`,className:m})]})});o.displayName=`Divider`,exports.Divider=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-B6R3HKzx.cjs");let t=require("react"),n=require("react/jsx-runtime");var r={solid:`border-solid`,dashed:`border-dashed`,dotted:`border-dotted`},i={none:`my-0`,sm:`my-2`,md:`my-4`,lg:`my-6`},a={none:`mx-0`,sm:`mx-2`,md:`mx-4`,lg:`mx-6`},o=(0,t.forwardRef)(({orientation:t=`horizontal`,variant:o=`solid`,spacing:s=`md`,label:c,decorative:l=!0,className:u,...d},f)=>{let p=t===`vertical`,m=e.t(`min-w-0 flex-1 border-border`,r[o],p?`w-0 border-l`:`h-0 border-t`);return(0,n.jsxs)(`div`,{ref:f,role:l?`presentation`:`separator`,"aria-orientation":l?void 0:t,className:e.t(`flex shrink-0 items-center`,p?`h-full min-h-4 self-stretch flex-col`:`w-full min-w-0 flex-row`,p?a[s]:i[s],u),...d,children:[(0,n.jsx)(`span`,{"aria-hidden":`true`,className:m}),c&&(0,n.jsx)(`span`,{className:e.t(`shrink-0 text-xs font-medium text-muted-foreground`,p?`my-2 [writing-mode:vertical-rl]`:`mx-3`),children:c}),c&&(0,n.jsx)(`span`,{"aria-hidden":`true`,className:m})]})});o.displayName=`Divider`,exports.Divider=o;
@@ -1,4 +1,4 @@
1
- import { t as e } from "../cn-DpgY2leY.js";
1
+ import { t as e } from "../cn-BJyZJP-y.js";
2
2
  import { forwardRef as t } from "react";
3
3
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
4
  //#region src/components/divider.tsx
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../drawer-CTeBsYrO.cjs");exports.Drawer=e.t;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../cn-B6R3HKzx.cjs"),t=require("../component-styles-DY4wigiq.cjs"),n=require("../use-event-callback-Du9_9eAi.cjs"),r=require("../motion-B2shivEB.cjs"),i=require("../use-focus-trap-CPLT49gN.cjs"),a=require("../icons-Dfetr1L2.cjs");let o=require("framer-motion"),s=require("react"),c=require("react/jsx-runtime"),l=require("react-dom");function u({open:u,onClose:d,position:f=`left`,title:p,children:m,width:h=320,className:g,overlayClassName:_,panelClassName:v,headerClassName:y,titleClassName:b,closeButtonClassName:x,contentClassName:S,handleClassName:C,unstyled:w=!1,ariaLabel:T=`Drawer`,closeAriaLabel:E=`Close drawer`,closeOnEscape:D=!0,closeOnOverlayClick:O=!0}){let k=n.t(d),A=(0,s.useRef)(null),j=(0,s.useId)(),{previouslyFocusedRef:M,restoreNow:N}=i.n(u);i.t(A,{active:u,onEscape:k,closeOnEscape:D});let P=N;if(typeof document>`u`)return null;if(w&&u)return(0,l.createPortal)((0,c.jsx)(`div`,{ref:A,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":typeof p==`string`?p:T,className:e.t(g,v),children:m}),document.body);if(f===`bottom`)return(0,l.createPortal)((0,c.jsx)(o.AnimatePresence,{onExitComplete:P,children:u&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(o.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:r.n.overlay,className:e.t(`fixed inset-0 z-[100] bg-overlay`,_),onClick:O?k:void 0},`drawer-backdrop`),(0,c.jsxs)(o.motion.div,{ref:A,tabIndex:-1,initial:{y:`100%`},animate:{y:0},exit:{y:`100%`},transition:r.n.panelEnter,role:`dialog`,"aria-modal":`true`,"aria-labelledby":p?j:void 0,"aria-label":p?void 0:T,className:e.t(`fixed bottom-0 left-0 right-0 z-[101] flex max-h-[80dvh] flex-col rounded-t-[var(--radius-xl)] border-t border-border bg-surface-raised shadow-overlay`,v,g),children:[(0,c.jsx)(`div`,{className:`flex justify-center pb-1 pt-3 shrink-0`,"aria-hidden":`true`,children:(0,c.jsx)(`div`,{className:e.t(`h-1 w-9 rounded-full bg-border-strong`,C)})}),p&&(0,c.jsxs)(`div`,{className:e.t(`flex items-center justify-between border-b border-border px-5 py-3 shrink-0`,y),children:[(0,c.jsx)(`h2`,{id:j,className:e.t(`text-sm font-semibold text-foreground`,b),children:p}),(0,c.jsx)(`button`,{type:`button`,onClick:k,className:e.t(t.c,x),"aria-label":E,children:(0,c.jsx)(a.t,{size:14,"aria-hidden":`true`})})]}),(0,c.jsx)(`div`,{className:e.t(`flex-1 overflow-y-auto pb-safe-bottom`,S),children:m})]},`drawer-panel`)]})}),document.body);let F=f===`left`?`-100%`:`100%`;return(0,l.createPortal)((0,c.jsx)(o.AnimatePresence,{onExitComplete:P,children:u&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(o.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:r.n.overlay,className:e.t(`fixed inset-0 z-[100] bg-overlay`,_),onClick:O?k:void 0},`drawer-backdrop`),(0,c.jsxs)(o.motion.div,{ref:A,tabIndex:-1,initial:{x:F},animate:{x:0},exit:{x:F},transition:r.n.panelEnter,role:`dialog`,"aria-modal":`true`,"aria-labelledby":p?j:void 0,"aria-label":p?void 0:T,className:e.t(`fixed top-0 bottom-0 z-[101] flex max-w-[100vw] flex-col bg-surface-raised shadow-overlay`,f===`left`?`left-0 border-r border-border`:`right-0 border-l border-border`,v,g),style:{width:h},children:[p&&(0,c.jsxs)(`div`,{className:e.t(`flex h-14 items-center justify-between gap-3 border-b border-border px-5 shrink-0`,y),children:[(0,c.jsx)(`h2`,{id:j,className:e.t(`min-w-0 truncate text-sm font-semibold text-foreground`,b),children:p}),(0,c.jsx)(`button`,{type:`button`,onClick:k,className:e.t(t.c,x),"aria-label":E,children:(0,c.jsx)(a.t,{size:14,"aria-hidden":`true`})})]}),(0,c.jsx)(`div`,{className:e.t(`flex-1 overflow-y-auto`,S),children:m})]},`drawer-panel`)]})}),document.body)}exports.Drawer=u;
@@ -9,10 +9,15 @@ export interface DrawerProps {
9
9
  className?: string;
10
10
  overlayClassName?: string;
11
11
  panelClassName?: string;
12
+ headerClassName?: string;
13
+ titleClassName?: string;
14
+ closeButtonClassName?: string;
15
+ contentClassName?: string;
16
+ handleClassName?: string;
12
17
  unstyled?: boolean;
13
18
  ariaLabel?: string;
14
19
  closeAriaLabel?: string;
15
20
  closeOnEscape?: boolean;
16
21
  closeOnOverlayClick?: boolean;
17
22
  }
18
- export declare function Drawer({ open, onClose, position, title, children, width, className, overlayClassName, panelClassName, unstyled, ariaLabel, closeAriaLabel, closeOnEscape, closeOnOverlayClick, }: DrawerProps): import('react').ReactPortal | null;
23
+ export declare function Drawer({ open, onClose, position, title, children, width, className, overlayClassName, panelClassName, headerClassName, titleClassName, closeButtonClassName, contentClassName, handleClassName, unstyled, ariaLabel, closeAriaLabel, closeOnEscape, closeOnOverlayClick, }: DrawerProps): import('react').ReactPortal | null;