@sikka/hawa 0.23.8-next → 0.23.10-next

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 (65) hide show
  1. package/dist/DropdownMenu-jh4puuXw.d.ts +95 -0
  2. package/dist/DropdownMenu-vm2kRAhL.d.mts +95 -0
  3. package/dist/Radio-2ZwcMDWt.d.ts +74 -0
  4. package/dist/Radio-5ZANA8Vh.d.mts +74 -0
  5. package/dist/SimpleTable-EE4ejgUR.d.mts +97 -0
  6. package/dist/SimpleTable-vY1ziD-2.d.ts +97 -0
  7. package/dist/Toast-jAb16JQg.d.mts +23 -0
  8. package/dist/Toast-xcELwcIX.d.ts +23 -0
  9. package/dist/blocks/auth/index.d.mts +202 -0
  10. package/dist/blocks/auth/index.d.ts +202 -0
  11. package/dist/blocks/auth/index.js +4182 -0
  12. package/dist/blocks/auth/index.mjs +1057 -0
  13. package/dist/blocks/feedback/index.d.mts +74 -0
  14. package/dist/blocks/feedback/index.d.ts +74 -0
  15. package/dist/blocks/feedback/index.js +1531 -0
  16. package/dist/blocks/feedback/index.mjs +493 -0
  17. package/dist/blocks/index.d.mts +480 -0
  18. package/dist/blocks/index.d.ts +480 -0
  19. package/dist/blocks/index.js +8119 -0
  20. package/dist/blocks/index.mjs +2535 -0
  21. package/dist/blocks/misc/index.d.mts +90 -0
  22. package/dist/blocks/misc/index.d.ts +90 -0
  23. package/dist/blocks/misc/index.js +1163 -0
  24. package/dist/blocks/misc/index.mjs +322 -0
  25. package/dist/blocks/pricing/index.d.mts +93 -0
  26. package/dist/blocks/pricing/index.d.ts +93 -0
  27. package/dist/blocks/pricing/index.js +3320 -0
  28. package/dist/blocks/pricing/index.mjs +2161 -0
  29. package/dist/chunk-2R2QPJT7.mjs +7519 -0
  30. package/dist/chunk-343SRWR4.mjs +146 -0
  31. package/dist/chunk-677VOLD4.mjs +464 -0
  32. package/dist/chunk-A25EXELT.mjs +131 -0
  33. package/dist/chunk-F6TKEDDP.mjs +57 -0
  34. package/dist/chunk-FNVYY7ND.mjs +22 -0
  35. package/dist/chunk-P2O6R3S6.mjs +268 -0
  36. package/dist/chunk-QGKW5R5F.mjs +196 -0
  37. package/dist/chunk-TR56G3NM.mjs +2350 -0
  38. package/dist/chunk-UAVBFK53.mjs +346 -0
  39. package/dist/commonTypes-CKtkuNFH.d.mts +11 -0
  40. package/dist/commonTypes-CKtkuNFH.d.ts +11 -0
  41. package/dist/commonTypes-MxCJyrHv.d.mts +8 -0
  42. package/dist/commonTypes-MxCJyrHv.d.ts +8 -0
  43. package/dist/elements/index.d.mts +715 -0
  44. package/dist/elements/index.d.ts +715 -0
  45. package/dist/elements/index.js +7719 -0
  46. package/dist/elements/index.mjs +285 -0
  47. package/dist/hooks/index.d.mts +107 -0
  48. package/dist/hooks/index.d.ts +107 -0
  49. package/dist/hooks/index.js +451 -0
  50. package/dist/hooks/index.mjs +254 -0
  51. package/dist/index.d.mts +1905 -0
  52. package/dist/index.d.ts +1905 -0
  53. package/dist/index.js +11987 -0
  54. package/dist/index.mjs +11760 -0
  55. package/dist/layout/index.d.mts +249 -0
  56. package/dist/layout/index.d.ts +249 -0
  57. package/dist/layout/index.js +4373 -0
  58. package/dist/layout/index.mjs +1381 -0
  59. package/dist/textTypes-559CaoOV.d.mts +88 -0
  60. package/dist/textTypes-559CaoOV.d.ts +88 -0
  61. package/dist/types/index.d.mts +115 -0
  62. package/dist/types/index.d.ts +115 -0
  63. package/dist/types/index.js +18 -0
  64. package/dist/types/index.mjs +0 -0
  65. package/package.json +1 -1
@@ -0,0 +1,4373 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // components/layout/index.ts
31
+ var layout_exports = {};
32
+ __export(layout_exports, {
33
+ AppLayout: () => AppLayout,
34
+ AppTabs: () => AppTabs,
35
+ AppTopbar: () => AppTopbar,
36
+ Copyrights: () => Copyrights,
37
+ DocsLayout: () => DocsLayout,
38
+ DocsSidebar: () => DocsSidebar,
39
+ Menubar: () => Menubar,
40
+ MenubarCheckboxItem: () => MenubarCheckboxItem,
41
+ MenubarContent: () => MenubarContent,
42
+ MenubarGroup: () => MenubarGroup,
43
+ MenubarItem: () => MenubarItem,
44
+ MenubarLabel: () => MenubarLabel,
45
+ MenubarMenu: () => MenubarMenu,
46
+ MenubarPortal: () => MenubarPortal,
47
+ MenubarRadioGroup: () => MenubarRadioGroup,
48
+ MenubarRadioItem: () => MenubarRadioItem,
49
+ MenubarSeparator: () => MenubarSeparator,
50
+ MenubarShortcut: () => MenubarShortcut,
51
+ MenubarSub: () => MenubarSub,
52
+ MenubarSubContent: () => MenubarSubContent,
53
+ MenubarSubTrigger: () => MenubarSubTrigger,
54
+ MenubarTrigger: () => MenubarTrigger,
55
+ Navbar: () => Navbar,
56
+ SidebarGroup: () => SidebarGroup,
57
+ SidebarItem: () => SidebarItem,
58
+ Stats: () => Stats
59
+ });
60
+ module.exports = __toCommonJS(layout_exports);
61
+
62
+ // components/layout/Stats.tsx
63
+ var import_react36 = __toESM(require("react"));
64
+
65
+ // components/elements/card/Card.tsx
66
+ var React = __toESM(require("react"));
67
+
68
+ // components/util.ts
69
+ var import_clsx = require("clsx");
70
+ var import_tailwind_merge = require("tailwind-merge");
71
+ function cn(...inputs) {
72
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
73
+ }
74
+
75
+ // components/elements/card/Card.tsx
76
+ var Card = React.forwardRef(
77
+ ({ className, variant = "default", clickable = false, ...props }, ref) => {
78
+ let variantStyles = {
79
+ default: cn(
80
+ "hawa-rounded-lg hawa-border hawa-bg-card hawa-text-card-foreground hawa-shadow-sm",
81
+ clickable && "hawa-cursor-pointer hawa-transition-all hover:hawa-drop-shadow-md dark:hover:dark-shadow"
82
+ ),
83
+ neoBrutalism: cn(
84
+ "neo-brutalism",
85
+ // "hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] transition-all uppercase font-mono dark:bg-black font-bold py-2 px-4 rounded border-2 border-primary shadow-color-primary transition-[transform_50ms, box-shadow_50ms]",
86
+ clickable && "hawa-cursor-pointer active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active active:translate-x-0.5 active:translate-y-0.5 active:shadow-color-primary-active"
87
+ )
88
+ };
89
+ return /* @__PURE__ */ React.createElement(
90
+ "div",
91
+ {
92
+ ref,
93
+ className: cn(className, variantStyles[variant]),
94
+ ...props
95
+ }
96
+ );
97
+ }
98
+ );
99
+ var CardHeader = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
100
+ "div",
101
+ {
102
+ ref,
103
+ className: cn(
104
+ "hawa-flex hawa-flex-col hawa-space-y-1.5 hawa-p-6",
105
+ className
106
+ ),
107
+ ...props
108
+ }
109
+ ));
110
+ var CardTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
111
+ "h3",
112
+ {
113
+ ref,
114
+ className: cn("hawa-text-2xl hawa-font-semibold ", className),
115
+ ...props
116
+ }
117
+ ));
118
+ var CardDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
119
+ "p",
120
+ {
121
+ ref,
122
+ className: cn("hawa-text-sm hawa-text-muted-foreground", className),
123
+ ...props
124
+ }
125
+ ));
126
+ var CardContent = React.forwardRef(
127
+ ({ headless, noPadding, className, ...props }, ref) => /* @__PURE__ */ React.createElement(
128
+ "div",
129
+ {
130
+ ref,
131
+ className: cn(
132
+ noPadding ? "hawa-p-0" : "hawa-p-6",
133
+ headless ? "hawa-pt-6" : "hawa-pt-0",
134
+ className
135
+ ),
136
+ ...props
137
+ }
138
+ )
139
+ );
140
+ var CardFooter = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
141
+ "div",
142
+ {
143
+ ref,
144
+ className: cn("hawa-flex hawa-items-center hawa-p-6 hawa-pt-0", className),
145
+ ...props
146
+ }
147
+ ));
148
+ CardDescription.displayName = "CardDescription";
149
+ CardContent.displayName = "CardContent";
150
+ CardHeader.displayName = "CardHeader";
151
+ CardFooter.displayName = "CardFooter";
152
+ CardTitle.displayName = "CardTitle";
153
+ Card.displayName = "Card";
154
+
155
+ // components/elements/loading/Loading.tsx
156
+ var import_react = __toESM(require("react"));
157
+ var Loading = ({
158
+ design = "spinner",
159
+ size = "sm",
160
+ themeMode = "light",
161
+ color,
162
+ ...props
163
+ }) => {
164
+ let sizeStyles = {
165
+ button: "hawa-h-4 hawa-w-4",
166
+ xs: "hawa-h-1 hawa-w-1",
167
+ sm: "hawa-h-6 hawa-w-6",
168
+ normal: "hawa-h-8 hawa-w-8",
169
+ lg: "hawa-h-14 hawa-w-14",
170
+ xl: "hawa-h-24 hawa-w-24"
171
+ };
172
+ let animationStyles = {
173
+ pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
174
+ bounce: "hawa-animate-bounce"
175
+ };
176
+ switch (design.split("-")[0]) {
177
+ case "dots":
178
+ return /* @__PURE__ */ import_react.default.createElement(
179
+ "div",
180
+ {
181
+ className: cn("hawa-flex hawa-flex-row hawa-gap-2", props.className)
182
+ },
183
+ /* @__PURE__ */ import_react.default.createElement(
184
+ "div",
185
+ {
186
+ className: cn(
187
+ "hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
188
+ size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
189
+ animationStyles[design.split("-")[1]],
190
+ color ? color : "hawa-bg-primary"
191
+ )
192
+ }
193
+ ),
194
+ /* @__PURE__ */ import_react.default.createElement(
195
+ "div",
196
+ {
197
+ className: cn(
198
+ "hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
199
+ size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
200
+ animationStyles[design.split("-")[1]],
201
+ color ? color : "hawa-bg-primary"
202
+ )
203
+ }
204
+ ),
205
+ /* @__PURE__ */ import_react.default.createElement(
206
+ "div",
207
+ {
208
+ className: cn(
209
+ "hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
210
+ size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
211
+ animationStyles[design.split("-")[1]],
212
+ color ? color : "hawa-bg-primary"
213
+ )
214
+ }
215
+ )
216
+ );
217
+ case "square":
218
+ return /* @__PURE__ */ import_react.default.createElement(
219
+ "svg",
220
+ {
221
+ className: cn("squircle-container", sizeStyles[size]),
222
+ viewBox: "0 0 35 35",
223
+ height: "35",
224
+ width: "35"
225
+ },
226
+ /* @__PURE__ */ import_react.default.createElement(
227
+ "rect",
228
+ {
229
+ className: "squircle-track",
230
+ x: "2.5",
231
+ y: "2.5",
232
+ fill: "none",
233
+ strokeWidth: "5px",
234
+ width: "32.5",
235
+ height: "32.5"
236
+ }
237
+ ),
238
+ /* @__PURE__ */ import_react.default.createElement(
239
+ "rect",
240
+ {
241
+ className: "square-car",
242
+ x: "2.5",
243
+ y: "2.5",
244
+ fill: "none",
245
+ strokeWidth: "5px",
246
+ width: "32.5",
247
+ height: "32.5",
248
+ pathLength: "100"
249
+ }
250
+ )
251
+ );
252
+ case "squircle":
253
+ return /* @__PURE__ */ import_react.default.createElement(
254
+ "svg",
255
+ {
256
+ className: cn("squircle-container", sizeStyles[size]),
257
+ x: "0px",
258
+ y: "0px",
259
+ viewBox: "0 0 37 37",
260
+ height: "37",
261
+ width: "37",
262
+ preserveAspectRatio: "xMidYMid meet"
263
+ },
264
+ /* @__PURE__ */ import_react.default.createElement(
265
+ "path",
266
+ {
267
+ className: "squircle-track",
268
+ fill: "none",
269
+ strokeWidth: "5",
270
+ pathLength: "100",
271
+ d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
272
+ }
273
+ ),
274
+ /* @__PURE__ */ import_react.default.createElement(
275
+ "path",
276
+ {
277
+ className: "squircle-car",
278
+ fill: "none",
279
+ strokeWidth: "5",
280
+ pathLength: "100",
281
+ d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
282
+ }
283
+ )
284
+ );
285
+ case "progress":
286
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "progress-loading" });
287
+ case "orbit":
288
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "orbit-container" });
289
+ default:
290
+ return /* @__PURE__ */ import_react.default.createElement(
291
+ "svg",
292
+ {
293
+ className: cn("circle-container", sizeStyles[size]),
294
+ viewBox: "0 0 40 40",
295
+ height: "40",
296
+ width: "40"
297
+ },
298
+ /* @__PURE__ */ import_react.default.createElement(
299
+ "circle",
300
+ {
301
+ className: cn("circle-track", {
302
+ "hawa-stroke-primary-foreground": themeMode === "dark",
303
+ "hawa-stroke-primary": themeMode === "light"
304
+ }),
305
+ cx: "20",
306
+ cy: "20",
307
+ r: "17.5",
308
+ pathLength: "100",
309
+ strokeWidth: "5px",
310
+ fill: "none"
311
+ }
312
+ ),
313
+ /* @__PURE__ */ import_react.default.createElement(
314
+ "circle",
315
+ {
316
+ className: cn("circle-car", {
317
+ "hawa-stroke-primary-foreground": themeMode === "dark",
318
+ "hawa-stroke-primary": themeMode === "light"
319
+ }),
320
+ cx: "20",
321
+ cy: "20",
322
+ r: "17.5",
323
+ pathLength: "100",
324
+ strokeWidth: "5px",
325
+ fill: "none"
326
+ }
327
+ )
328
+ );
329
+ }
330
+ };
331
+
332
+ // components/elements/tooltip/Tooltip.tsx
333
+ var import_react2 = __toESM(require("react"));
334
+ var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
335
+ var TooltipContent = import_react2.default.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ import_react2.default.createElement(
336
+ TooltipPrimitive.Content,
337
+ {
338
+ ref,
339
+ sideOffset,
340
+ className: cn(
341
+ "hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
342
+ className
343
+ ),
344
+ ...props
345
+ }
346
+ ));
347
+ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
348
+ var TooltipArrow = import_react2.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react2.default.createElement(TooltipPrimitive.Arrow, { ref, className: cn(className), ...props }));
349
+ TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
350
+ var Tooltip = ({
351
+ side,
352
+ open,
353
+ content,
354
+ children,
355
+ defaultOpen,
356
+ onOpenChange,
357
+ triggerProps,
358
+ contentProps,
359
+ providerProps,
360
+ delayDuration = 300,
361
+ ...props
362
+ }) => {
363
+ return /* @__PURE__ */ import_react2.default.createElement(
364
+ TooltipPrimitive.TooltipProvider,
365
+ {
366
+ delayDuration,
367
+ ...providerProps
368
+ },
369
+ /* @__PURE__ */ import_react2.default.createElement(
370
+ TooltipPrimitive.Root,
371
+ {
372
+ open,
373
+ defaultOpen,
374
+ onOpenChange,
375
+ ...props
376
+ },
377
+ /* @__PURE__ */ import_react2.default.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
378
+ /* @__PURE__ */ import_react2.default.createElement(TooltipContent, { side, align: "center", ...contentProps }, content)
379
+ )
380
+ );
381
+ };
382
+
383
+ // components/elements/skeleton/Skeleton.tsx
384
+ var import_react3 = __toESM(require("react"));
385
+ function Skeleton({
386
+ className,
387
+ content,
388
+ animation = "pulse",
389
+ ...props
390
+ }) {
391
+ const animationStyles = {
392
+ none: "hawa-rounded hawa-bg-muted",
393
+ pulse: "hawa-animate-pulse hawa-rounded hawa-bg-muted",
394
+ shimmer: "hawa-space-y-5 hawa-rounded hawa-bg-muted hawa-p-4 hawa-relative before:hawa-absolute before:hawa-inset-0 before:hawa--translate-x-full before:hawa-animate-[shimmer_2s_infinite] before:hawa-bg-gradient-to-r before:hawa-from-transparent before:hawa-via-gray-300/40 dark:before:hawa-via-white/10 before:hawa-to-transparent hawa-isolate hawa-overflow-hidden before:hawa-border-t before:hawa-border-rose-100/10"
395
+ };
396
+ return /* @__PURE__ */ import_react3.default.createElement(
397
+ "div",
398
+ {
399
+ className: cn(
400
+ animationStyles[animation],
401
+ content && "hawa-flex hawa-flex-col hawa-items-center hawa-justify-center",
402
+ className
403
+ ),
404
+ ...props
405
+ },
406
+ content && content
407
+ );
408
+ }
409
+
410
+ // components/elements/dropdownMenu/DropdownMenu.tsx
411
+ var React5 = __toESM(require("react"));
412
+ var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
413
+ var DropdownMenuRoot = DropdownMenuPrimitive.Root;
414
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
415
+ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
416
+ var DropdownMenuSub = DropdownMenuPrimitive.Sub;
417
+ var DropdownMenuSubTrigger = React5.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ React5.createElement(
418
+ DropdownMenuPrimitive.SubTrigger,
419
+ {
420
+ ref,
421
+ className: cn(
422
+ "hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none focus:hawa-bg-accent data-[state=open]:hawa-bg-accent",
423
+ inset && "hawa-pl-8",
424
+ className
425
+ ),
426
+ ...props
427
+ },
428
+ /* @__PURE__ */ React5.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2" }, children),
429
+ " ",
430
+ /* @__PURE__ */ React5.createElement(
431
+ "svg",
432
+ {
433
+ "aria-label": "Chevron Right Icon",
434
+ stroke: "currentColor",
435
+ fill: "currentColor",
436
+ strokeWidth: "0",
437
+ viewBox: "0 0 16 16",
438
+ height: "1em",
439
+ width: "1em",
440
+ className: cn(props.dir === "rtl" ? "hawa-rotate-180" : "")
441
+ },
442
+ /* @__PURE__ */ React5.createElement(
443
+ "path",
444
+ {
445
+ fillRule: "evenodd",
446
+ d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
447
+ }
448
+ )
449
+ )
450
+ ));
451
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
452
+ var DropdownMenuSubContent = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React5.createElement(
453
+ DropdownMenuPrimitive.SubContent,
454
+ {
455
+ ref,
456
+ className: cn(
457
+ "hawa-z-50 hawa-min-w-[8rem] hawa-gap-1 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-lg data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
458
+ className
459
+ ),
460
+ ...props
461
+ }
462
+ ));
463
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
464
+ var DropdownMenuContent = React5.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React5.createElement(DropdownMenuPrimitive.Portal, null, /* @__PURE__ */ React5.createElement(
465
+ DropdownMenuPrimitive.Content,
466
+ {
467
+ ref,
468
+ sideOffset,
469
+ className: cn(
470
+ "hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-md data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
471
+ className
472
+ ),
473
+ ...props
474
+ }
475
+ )));
476
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
477
+ var DropdownMenuItem = React5.forwardRef(({ className, inset, badged, slug, ...props }, ref) => {
478
+ return /* @__PURE__ */ React5.createElement("a", { href: slug }, /* @__PURE__ */ React5.createElement(
479
+ DropdownMenuPrimitive.Item,
480
+ {
481
+ disabled: props.disabled,
482
+ ref,
483
+ className: cn(
484
+ "hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
485
+ inset && "hawa-pl-8",
486
+ props.end && Array.isArray(props.children) && props.children[1] && "hawa-gap-6",
487
+ className
488
+ ),
489
+ ...props
490
+ },
491
+ /* @__PURE__ */ React5.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2 " }, props.children),
492
+ props.end && props.end,
493
+ !props.end && props.shortcut && /* @__PURE__ */ React5.createElement(DropdownMenuShortcut, null, props.shortcut),
494
+ !props.end && badged && /* @__PURE__ */ React5.createElement("div", { className: "hawa-h-3 hawa-w-3 hawa-rounded-full hawa-bg-red-500" })
495
+ ));
496
+ });
497
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
498
+ var DropdownMenuCheckboxItem = React5.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ React5.createElement(
499
+ DropdownMenuPrimitive.CheckboxItem,
500
+ {
501
+ ref,
502
+ className: cn(
503
+ "hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
504
+ className
505
+ ),
506
+ checked,
507
+ ...props
508
+ },
509
+ /* @__PURE__ */ React5.createElement("span", { className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React5.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React5.createElement(
510
+ "svg",
511
+ {
512
+ "aria-label": "Check Mark",
513
+ stroke: "currentColor",
514
+ fill: "currentColor",
515
+ strokeWidth: "0",
516
+ viewBox: "0 0 512 512",
517
+ height: "0.60em",
518
+ width: "0.60em"
519
+ },
520
+ /* @__PURE__ */ React5.createElement("path", { d: "M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" })
521
+ ), " ")),
522
+ children
523
+ ));
524
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
525
+ var DropdownMenuRadioItem = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React5.createElement(
526
+ DropdownMenuPrimitive.RadioItem,
527
+ {
528
+ ref,
529
+ className: cn(
530
+ "hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
531
+ className
532
+ ),
533
+ ...props
534
+ },
535
+ /* @__PURE__ */ React5.createElement("span", { className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React5.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React5.createElement(
536
+ "svg",
537
+ {
538
+ xmlns: "http://www.w3.org/2000/svg",
539
+ width: "24",
540
+ "aria-label": "Circle",
541
+ height: "24",
542
+ viewBox: "0 0 24 24",
543
+ fill: "none",
544
+ stroke: "currentColor",
545
+ strokeWidth: "2",
546
+ strokeLinecap: "round",
547
+ strokeLinejoin: "round",
548
+ className: "hawa-h-2 hawa-w-2 hawa-fill-current"
549
+ },
550
+ /* @__PURE__ */ React5.createElement("circle", { cx: "12", cy: "12", r: "10" })
551
+ ))),
552
+ children
553
+ ));
554
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
555
+ var DropdownMenuLabel = React5.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ React5.createElement(
556
+ DropdownMenuPrimitive.Label,
557
+ {
558
+ ref,
559
+ className: cn(
560
+ "hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-font-semibold",
561
+ inset && "hawa-pl-8",
562
+ className
563
+ ),
564
+ ...props
565
+ }
566
+ ));
567
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
568
+ var DropdownMenuSeparator = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React5.createElement(
569
+ DropdownMenuPrimitive.Separator,
570
+ {
571
+ ref,
572
+ className: cn("hawa--mx-1 hawa-my-1 hawa-h-px hawa-bg-muted", className),
573
+ ...props
574
+ }
575
+ ));
576
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
577
+ var DropdownMenuShortcut = ({
578
+ className,
579
+ ...props
580
+ }) => {
581
+ return /* @__PURE__ */ React5.createElement(
582
+ "span",
583
+ {
584
+ className: cn(
585
+ "hawa-text-xs hawa-tracking-widest hawa-opacity-60",
586
+ className
587
+ ),
588
+ ...props
589
+ }
590
+ );
591
+ };
592
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
593
+ var DropdownMenu = ({
594
+ trigger,
595
+ items,
596
+ direction,
597
+ sideOffset,
598
+ side,
599
+ className,
600
+ triggerClassname,
601
+ align,
602
+ alignOffset,
603
+ onItemSelect,
604
+ size = "default",
605
+ width = "default",
606
+ header,
607
+ onOpenChange,
608
+ open
609
+ }) => {
610
+ const widthStyles = {
611
+ default: "hawa-min-w-[8rem]",
612
+ sm: "hawa-w-fit",
613
+ lg: "hawa-w-[200px]",
614
+ parent: "ddm-w-parent"
615
+ };
616
+ const sizeStyles = {
617
+ default: "hawa-px-2 hawa-py-3 ",
618
+ sm: "hawa-text-xs hawa-px-1.5 hawa-py-1.5 "
619
+ };
620
+ return /* @__PURE__ */ React5.createElement(
621
+ DropdownMenuRoot,
622
+ {
623
+ onOpenChange,
624
+ open,
625
+ modal: false,
626
+ dir: direction
627
+ },
628
+ /* @__PURE__ */ React5.createElement(DropdownMenuTrigger, { asChild: true, className: triggerClassname }, trigger),
629
+ /* @__PURE__ */ React5.createElement(DropdownMenuPortal, null, /* @__PURE__ */ React5.createElement(
630
+ DropdownMenuContent,
631
+ {
632
+ side,
633
+ sideOffset,
634
+ className: cn(
635
+ className,
636
+ widthStyles[width],
637
+ "hawa-flex hawa-flex-col hawa-gap-1"
638
+ ),
639
+ align,
640
+ alignOffset
641
+ },
642
+ header && header,
643
+ items && items.map((item, index) => {
644
+ if (item.itemType === "separator") {
645
+ return /* @__PURE__ */ React5.createElement(DropdownMenuSeparator, { key: index });
646
+ } else if (item.itemType === "label") {
647
+ return /* @__PURE__ */ React5.createElement(DropdownMenuLabel, { key: index }, item.label);
648
+ } else if (item.itemType === "custom") {
649
+ return /* @__PURE__ */ React5.createElement("div", { key: index }, item.content);
650
+ } else {
651
+ return item.subitems ? /* @__PURE__ */ React5.createElement(DropdownMenuSub, { key: index }, /* @__PURE__ */ React5.createElement(
652
+ DropdownMenuSubTrigger,
653
+ {
654
+ className: cn(sizeStyles[size]),
655
+ dir: direction
656
+ },
657
+ item.icon && item.icon,
658
+ item.label && item.label
659
+ ), /* @__PURE__ */ React5.createElement(DropdownMenuPortal, null, /* @__PURE__ */ React5.createElement(DropdownMenuSubContent, null, item.subitems.map((subitem, subIndex) => /* @__PURE__ */ React5.createElement(
660
+ DropdownMenuItem,
661
+ {
662
+ slug: subitem.slug,
663
+ onMouseDown: (event) => {
664
+ if (event.button === 1 || event.button === 0 && event.ctrlKey) {
665
+ event.preventDefault();
666
+ if (subitem.onMiddleClick) {
667
+ subitem.onMiddleClick(item.value);
668
+ }
669
+ }
670
+ },
671
+ key: subIndex,
672
+ className: cn(
673
+ sizeStyles[size],
674
+ !item.icon && !item.label ? "hawa-px-0 hawa-py-0 focus:hawa-bg-transparent" : "focus:hawa-bg-accent"
675
+ ),
676
+ disabled: subitem.disabled,
677
+ onSelect: () => {
678
+ subitem.action && subitem.action();
679
+ if (onItemSelect) {
680
+ onItemSelect(subitem.value);
681
+ }
682
+ }
683
+ },
684
+ subitem.icon && subitem.icon,
685
+ subitem.label && subitem.label
686
+ ))))) : /* @__PURE__ */ React5.createElement(
687
+ DropdownMenuItem,
688
+ {
689
+ slug: item.slug,
690
+ key: index,
691
+ disabled: item.disabled,
692
+ onMouseDown: (event) => {
693
+ if (event.button === 1 || event.button === 0 && event.ctrlKey) {
694
+ event.preventDefault();
695
+ if (item.onMiddleClick) {
696
+ item.onMiddleClick(item.value);
697
+ }
698
+ }
699
+ },
700
+ onClick: (event) => {
701
+ if (item.onClick) {
702
+ item.onClick(item.value);
703
+ }
704
+ },
705
+ onSelect: (e) => {
706
+ if (item.presist) {
707
+ e.preventDefault();
708
+ }
709
+ if (item.action) {
710
+ item.action();
711
+ if (onItemSelect) {
712
+ onItemSelect(item.value);
713
+ }
714
+ } else {
715
+ if (onItemSelect) {
716
+ onItemSelect(item.value);
717
+ }
718
+ }
719
+ },
720
+ end: item.end,
721
+ shortcut: item.shortcut,
722
+ badged: item.badged,
723
+ className: cn(
724
+ sizeStyles[size],
725
+ !item.icon && !item.label ? "hawa-px-0 hawa-py-0 focus:hawa-bg-transparent " : "focus:hawa-bg-accent ",
726
+ item.presist && "focus:hawa-bg-transparent"
727
+ )
728
+ },
729
+ item.icon && item.icon,
730
+ item.label && item.label
731
+ );
732
+ }
733
+ })
734
+ ))
735
+ );
736
+ };
737
+
738
+ // components/elements/accordion/Accordion.tsx
739
+ var React9 = __toESM(require("react"));
740
+ var AccordionPrimitive3 = __toESM(require("@radix-ui/react-accordion"));
741
+
742
+ // components/elements/chip/Chip.tsx
743
+ var import_react4 = __toESM(require("react"));
744
+ var Chip = import_react4.default.forwardRef(
745
+ ({
746
+ label,
747
+ size = "normal",
748
+ icon,
749
+ color,
750
+ radius = "inherit",
751
+ dotType,
752
+ ...rest
753
+ }, ref) => {
754
+ let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
755
+ let radiusStyles = {
756
+ inherit: " hawa-rounded",
757
+ full: "hawa-rounded-full",
758
+ none: "hawa-rounded-none"
759
+ };
760
+ let sizeStyles = {
761
+ small: "hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 ",
762
+ normal: "hawa-h-fit hawa-text-xs",
763
+ large: "hawa-text-base"
764
+ };
765
+ let dotStyles = {
766
+ small: "hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full",
767
+ normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
768
+ large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
769
+ };
770
+ let dotTypeStyles = {
771
+ available: "hawa-bg-green-500",
772
+ unavailable: "hawa-bg-red-500"
773
+ };
774
+ let colorStyles = {
775
+ green: "hawa-bg-green-100 hawa-text-green-500 dark:hawa-bg-green-400 dark:hawa-text-green-800",
776
+ blue: "hawa-bg-blue-100 hawa-text-blue-500 dark:hawa-bg-blue-400 dark:hawa-text-blue-100",
777
+ red: "hawa-bg-red-100 hawa-text-red-500 dark:hawa-bg-red-400 dark:hawa-text-red-100",
778
+ yellow: "hawa-bg-yellow-100 hawa-text-yellow-600 dark:hawa-bg-yellow-400 dark:hawa-text-yellow-800",
779
+ orange: "hawa-bg-orange-100 hawa-text-orange-500 dark:hawa-bg-orange-400 dark:hawa-text-orange-100",
780
+ purple: "hawa-bg-purple-100 hawa-text-purple-500 dark:hawa-bg-purple-400 dark:hawa-text-purple-100",
781
+ cyan: "hawa-bg-cyan-100 hawa-text-cyan-800 dark:hawa-bg-cyan-400 dark:hawa-text-cyan-800",
782
+ hyper: "hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
783
+ oceanic: "hawa-text-white hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
784
+ };
785
+ if (label) {
786
+ return /* @__PURE__ */ import_react4.default.createElement(
787
+ "span",
788
+ {
789
+ ...rest,
790
+ ref,
791
+ className: cn(
792
+ defaultStyles,
793
+ sizeStyles[size],
794
+ radiusStyles[radius],
795
+ color ? colorStyles[color] : "hawa-border hawa-bg-none"
796
+ )
797
+ },
798
+ dotType && /* @__PURE__ */ import_react4.default.createElement(
799
+ "span",
800
+ {
801
+ className: cn(dotStyles[size], dotTypeStyles[dotType])
802
+ }
803
+ ),
804
+ icon && icon,
805
+ label
806
+ );
807
+ } else {
808
+ return /* @__PURE__ */ import_react4.default.createElement(
809
+ "span",
810
+ {
811
+ ...rest,
812
+ ref,
813
+ className: cn(
814
+ "hawa-h-2 hawa-w-2 hawa-rounded-full",
815
+ color ? colorStyles[color] : "hawa-border hawa-bg-none"
816
+ )
817
+ }
818
+ );
819
+ }
820
+ }
821
+ );
822
+
823
+ // components/elements/accordion/AccordionContent.tsx
824
+ var React7 = __toESM(require("react"));
825
+ var AccordionPrimitive = __toESM(require("@radix-ui/react-accordion"));
826
+ var AccordionContent = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React7.createElement(
827
+ AccordionPrimitive.Content,
828
+ {
829
+ ref,
830
+ className: !props.unstyled ? cn(
831
+ "hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down",
832
+ className
833
+ ) : className,
834
+ ...props
835
+ },
836
+ /* @__PURE__ */ React7.createElement("div", { className: "hawa-bg-background hawa-p-4" }, children)
837
+ ));
838
+ AccordionContent.displayName = AccordionPrimitive.Content.displayName;
839
+
840
+ // components/elements/accordion/AccordionTrigger.tsx
841
+ var React8 = __toESM(require("react"));
842
+ var AccordionPrimitive2 = __toESM(require("@radix-ui/react-accordion"));
843
+ var AccordionTrigger = React8.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React8.createElement(AccordionPrimitive2.Header, { className: "hawa-flex" }, /* @__PURE__ */ React8.createElement(
844
+ AccordionPrimitive2.Trigger,
845
+ {
846
+ ref,
847
+ className: !props.unstyled ? cn(
848
+ "hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180",
849
+ props.disabled ? "hawa-bg-muted/30 hawa-text-muted-foreground/50" : "hover:hawa-bg-muted",
850
+ className
851
+ ) : className,
852
+ ...props
853
+ },
854
+ children,
855
+ !props.hideArrow && /* @__PURE__ */ React8.createElement(
856
+ "svg",
857
+ {
858
+ xmlns: "http://www.w3.org/2000/svg",
859
+ width: "24",
860
+ height: "24",
861
+ viewBox: "0 0 24 24",
862
+ fill: "none",
863
+ stroke: "currentColor",
864
+ strokeWidth: "2",
865
+ strokeLinecap: "round",
866
+ strokeLinejoin: "round",
867
+ className: "hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200"
868
+ },
869
+ /* @__PURE__ */ React8.createElement("path", { d: "m6 9 6 6 6-6" })
870
+ )
871
+ )));
872
+ AccordionTrigger.displayName = AccordionPrimitive2.Trigger.displayName;
873
+
874
+ // components/elements/accordion/Accordion.tsx
875
+ var Accordion = React9.forwardRef(
876
+ ({
877
+ items,
878
+ design = "default",
879
+ itemClassNames,
880
+ triggerclassNames,
881
+ contentclassNames,
882
+ className,
883
+ ...props
884
+ }, ref) => /* @__PURE__ */ React9.createElement(AccordionPrimitive3.Root, { type: props.type, collapsible: true }, /* @__PURE__ */ React9.createElement(
885
+ "div",
886
+ {
887
+ className: cn("hawa-flex hawa-flex-col", {
888
+ "hawa-gap-4": design === "separated",
889
+ "hawa-gap-0": design === "default"
890
+ })
891
+ },
892
+ items.map((item, index) => /* @__PURE__ */ React9.createElement(
893
+ AccordionPrimitive3.Item,
894
+ {
895
+ disabled: item.disabled || false,
896
+ className: cn(itemClassNames, "hawa-rounded"),
897
+ key: index,
898
+ value: `item-${index}`
899
+ },
900
+ /* @__PURE__ */ React9.createElement(
901
+ AccordionTrigger,
902
+ {
903
+ disabled: item.disabled || false,
904
+ className: cn(
905
+ "hawa-transition-all",
906
+ design === "separated" ? "hawa-rounded data-[state=open]:hawa-rounded-b-none" : {
907
+ "hawa-rounded-t": index === 0,
908
+ "data-[state=closed]:hawa-rounded-b": index === items.length - 1
909
+ },
910
+ triggerclassNames
911
+ )
912
+ },
913
+ /* @__PURE__ */ React9.createElement(
914
+ "span",
915
+ {
916
+ className: cn(
917
+ "hawa-flex hawa-flex-row",
918
+ item.chip && "hawa-gap-2"
919
+ )
920
+ },
921
+ item.trigger,
922
+ " ",
923
+ item.chip && /* @__PURE__ */ React9.createElement(Chip, { ...item.chip })
924
+ )
925
+ ),
926
+ /* @__PURE__ */ React9.createElement(
927
+ AccordionContent,
928
+ {
929
+ "aria-disabled": item.disabled || false,
930
+ className: cn(
931
+ "hawa-border hawa-transition-all",
932
+ design === "separated" ? "hawa-rounded data-[state=open]:hawa-rounded-t-none" : {
933
+ "data-[state=open]:hawa-rounded-b": index === items.length - 1
934
+ },
935
+ contentclassNames
936
+ )
937
+ },
938
+ item.content
939
+ )
940
+ ))
941
+ ))
942
+ );
943
+ Accordion.displayName = "Accordion";
944
+
945
+ // components/elements/accordion/AccordionItem.tsx
946
+ var React10 = __toESM(require("react"));
947
+ var AccordionPrimitive4 = __toESM(require("@radix-ui/react-accordion"));
948
+ var AccordionItem = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React10.createElement(AccordionPrimitive4.Item, { ref, className: cn(className), ...props }));
949
+ AccordionItem.displayName = "AccordionItem";
950
+
951
+ // components/elements/accordion/AccordionRoot.tsx
952
+ var AccordionPrimitive5 = __toESM(require("@radix-ui/react-accordion"));
953
+
954
+ // components/elements/logos/Logos.tsx
955
+ var import_react5 = __toESM(require("react"));
956
+ var Logos = {
957
+ hawa: (props) => /* @__PURE__ */ import_react5.default.createElement(
958
+ "svg",
959
+ {
960
+ xmlns: "http://www.w3.org/2000/svg",
961
+ xmlSpace: "preserve",
962
+ viewBox: "0 0 765 765",
963
+ ...props
964
+ },
965
+ /* @__PURE__ */ import_react5.default.createElement(
966
+ "path",
967
+ {
968
+ d: "M382.5 0C171.6 0 0 171.6 0 382.5V765h382.5C593.4 765 765 593.4 765 382.5S593.4 0 382.5 0zM281.6 305.7c98 0 177.7 79.7 177.7 177.7 0 98-79.7 177.7-177.7 177.7s-177.7-79.7-177.7-177.7c0-98 79.7-177.7 177.7-177.7zm246 314.5c23.2-41.6 35.6-88.7 35.6-136.7 0-155.3-126.3-281.6-281.6-281.6-48 0-95.1 12.4-136.8 35.6C194.9 156 285 104 382.5 104c153.6 0 278.6 125 278.6 278.6 0 97.3-52 187.5-133.5 237.6z",
969
+ fill: "currentColor"
970
+ }
971
+ )
972
+ ),
973
+ sikka: (props) => /* @__PURE__ */ import_react5.default.createElement(
974
+ "svg",
975
+ {
976
+ xmlns: "http://www.w3.org/2000/svg",
977
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
978
+ xmlSpace: "preserve",
979
+ viewBox: "0 0 916.5 765",
980
+ fill: "currentColor",
981
+ ...props
982
+ },
983
+ /* @__PURE__ */ import_react5.default.createElement("defs", null, /* @__PURE__ */ import_react5.default.createElement("path", { id: "a", d: "M0 0h916.5v765H0z" })),
984
+ /* @__PURE__ */ import_react5.default.createElement("clipPath", { id: "b" }, /* @__PURE__ */ import_react5.default.createElement("use", { xlinkHref: "#a", overflow: "visible" })),
985
+ /* @__PURE__ */ import_react5.default.createElement("g", { clipPath: "url(#b)" }, /* @__PURE__ */ import_react5.default.createElement("defs", null, /* @__PURE__ */ import_react5.default.createElement("path", { id: "c", d: "M0 0h916.5v765H0z" })), /* @__PURE__ */ import_react5.default.createElement("clipPath", { id: "d" }, /* @__PURE__ */ import_react5.default.createElement("use", { xlinkHref: "#c", overflow: "visible" })), /* @__PURE__ */ import_react5.default.createElement("g", { clipPath: "url(#d)" }, /* @__PURE__ */ import_react5.default.createElement("path", { d: "M458.3 0h-31.9c-14.6 0-26.5 11.9-26.5 26.3v313.3L136.6 17.1C126 3.9 120.7 0 106.1 0H9.7C.5 0 0 7.9 0 17.1 0 21 1.3 26.3 4 29l288.7 353.6L4 736.1c-2.7 2.7-4 7.9-4 11.8 0 9.2.4 17.1 9.7 17.1h96.4c14.6 0 19.9-3.9 30.5-17.1l263.3-322.5v313.3c0 14.4 11.9 26.3 26.5 26.3h31.9M458.3 765h31.9c14.6 0 26.5-11.8 26.5-26.3V425.5L780 748c10.7 13.2 15.9 17.1 30.5 17.1h96.4c9.2 0 9.7-7.9 9.7-17.1 0-3.9-1.3-9.2-4-11.8L623.8 382.5 912.5 28.9c2.7-2.7 4-7.9 4-11.9 0-9.2-.5-17.1-9.7-17.1h-96.4c-14.6 0-19.9 3.9-30.5 17.1L516.7 339.5V26.3c0-14.4-11.9-26.3-26.5-26.3h-31.9" })))
986
+ ),
987
+ mail: (props) => /* @__PURE__ */ import_react5.default.createElement(
988
+ "svg",
989
+ {
990
+ stroke: "currentColor",
991
+ fill: "none",
992
+ strokeWidth: "2",
993
+ viewBox: "0 0 24 24",
994
+ strokeLinecap: "round",
995
+ strokeLinejoin: "round",
996
+ xmlns: "http://www.w3.org/2000/svg",
997
+ ...props
998
+ },
999
+ /* @__PURE__ */ import_react5.default.createElement("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }),
1000
+ /* @__PURE__ */ import_react5.default.createElement("polyline", { points: "22,6 12,13 2,6" })
1001
+ ),
1002
+ phone: (props) => /* @__PURE__ */ import_react5.default.createElement(
1003
+ "svg",
1004
+ {
1005
+ stroke: "currentColor",
1006
+ fill: "none",
1007
+ strokeWidth: "2",
1008
+ viewBox: "0 0 24 24",
1009
+ "aria-hidden": "true",
1010
+ xmlns: "http://www.w3.org/2000/svg",
1011
+ ...props
1012
+ },
1013
+ /* @__PURE__ */ import_react5.default.createElement(
1014
+ "path",
1015
+ {
1016
+ strokeLinecap: "round",
1017
+ strokeLinejoin: "round",
1018
+ d: "M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3"
1019
+ }
1020
+ )
1021
+ ),
1022
+ twitter: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1023
+ "path",
1024
+ {
1025
+ fill: "currentColor",
1026
+ d: "M21.543 7.104c.015.211.015.423.015.636 0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041 4.93 4.93 0 0 1-4.6-3.42 4.916 4.916 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.887 4.887 0 0 0 2.235.616A4.928 4.928 0 0 1 1.67 3.148a13.98 13.98 0 0 0 10.15 5.144 4.929 4.929 0 0 1 8.39-4.49 9.868 9.868 0 0 0 3.128-1.196 4.941 4.941 0 0 1-2.165 2.724A9.828 9.828 0 0 0 24 4.555a10.019 10.019 0 0 1-2.457 2.549z"
1027
+ }
1028
+ )),
1029
+ instagram: (props) => /* @__PURE__ */ import_react5.default.createElement(
1030
+ "svg",
1031
+ {
1032
+ xmlns: "http://www.w3.org/2000/svg",
1033
+ fill: "currentColor",
1034
+ viewBox: "0 0 16 16",
1035
+ ...props
1036
+ },
1037
+ /* @__PURE__ */ import_react5.default.createElement("path", { d: "M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z" })
1038
+ ),
1039
+ microsoft: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1040
+ "path",
1041
+ {
1042
+ fill: "currentColor",
1043
+ d: "M7.462 0H0v7.19h7.462V0zM16 0H8.538v7.19H16V0zM7.462 8.211H0V16h7.462V8.211zm8.538 0H8.538V16H16V8.211z"
1044
+ }
1045
+ )),
1046
+ github: (props) => /* @__PURE__ */ import_react5.default.createElement(
1047
+ "svg",
1048
+ {
1049
+ xmlns: "http://www.w3.org/2000/svg",
1050
+ viewBox: "0 0 438.549 438.549",
1051
+ ...props
1052
+ },
1053
+ /* @__PURE__ */ import_react5.default.createElement(
1054
+ "path",
1055
+ {
1056
+ fill: "currentColor",
1057
+ d: "M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"
1058
+ }
1059
+ )
1060
+ ),
1061
+ radix: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { viewBox: "0 0 25 25", fill: "none", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1062
+ "path",
1063
+ {
1064
+ d: "M12 25C7.58173 25 4 21.4183 4 17C4 12.5817 7.58173 9 12 9V25Z",
1065
+ fill: "currentcolor"
1066
+ }
1067
+ ), /* @__PURE__ */ import_react5.default.createElement("path", { d: "M12 0H4V8H12V0Z", fill: "currentcolor" }), /* @__PURE__ */ import_react5.default.createElement(
1068
+ "path",
1069
+ {
1070
+ d: "M17 8C19.2091 8 21 6.20914 21 4C21 1.79086 19.2091 0 17 0C14.7909 0 13 1.79086 13 4C13 6.20914 14.7909 8 17 8Z",
1071
+ fill: "currentcolor"
1072
+ }
1073
+ )),
1074
+ aria: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { role: "img", viewBox: "0 0 24 24", fill: "currentColor", ...props }, /* @__PURE__ */ import_react5.default.createElement("path", { d: "M13.966 22.624l-1.69-4.281H8.122l3.892-9.144 5.662 13.425zM8.884 1.376H0v21.248zm15.116 0h-8.884L24 22.624Z" })),
1075
+ npm: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1076
+ "path",
1077
+ {
1078
+ d: "M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z",
1079
+ fill: "currentColor"
1080
+ }
1081
+ )),
1082
+ yarn: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1083
+ "path",
1084
+ {
1085
+ d: "M12 0C5.375 0 0 5.375 0 12s5.375 12 12 12 12-5.375 12-12S18.625 0 12 0zm.768 4.105c.183 0 .363.053.525.157.125.083.287.185.755 1.154.31-.088.468-.042.551-.019.204.056.366.19.463.375.477.917.542 2.553.334 3.605-.241 1.232-.755 2.029-1.131 2.576.324.329.778.899 1.117 1.825.278.774.31 1.478.273 2.015a5.51 5.51 0 0 0 .602-.329c.593-.366 1.487-.917 2.553-.931.714-.009 1.269.445 1.353 1.103a1.23 1.23 0 0 1-.945 1.362c-.649.158-.95.278-1.821.843-1.232.797-2.539 1.242-3.012 1.39a1.686 1.686 0 0 1-.704.343c-.737.181-3.266.315-3.466.315h-.046c-.783 0-1.214-.241-1.45-.491-.658.329-1.51.19-2.122-.134a1.078 1.078 0 0 1-.58-1.153 1.243 1.243 0 0 1-.153-.195c-.162-.25-.528-.936-.454-1.946.056-.723.556-1.367.88-1.71a5.522 5.522 0 0 1 .408-2.256c.306-.727.885-1.348 1.32-1.737-.32-.537-.644-1.367-.329-2.21.227-.602.412-.936.82-1.08h-.005c.199-.074.389-.153.486-.259a3.418 3.418 0 0 1 2.298-1.103c.037-.093.079-.185.125-.283.31-.658.639-1.029 1.024-1.168a.94.94 0 0 1 .328-.06zm.006.7c-.507.016-1.001 1.519-1.001 1.519s-1.27-.204-2.266.871c-.199.218-.468.334-.746.44-.079.028-.176.023-.417.672-.371.991.625 2.094.625 2.094s-1.186.839-1.626 1.881c-.486 1.144-.338 2.261-.338 2.261s-.843.732-.899 1.487c-.051.663.139 1.2.343 1.515.227.343.51.176.51.176s-.561.653-.037.931c.477.25 1.283.394 1.71-.037.31-.31.371-1.001.486-1.283.028-.065.12.111.209.199.097.093.264.195.264.195s-.755.324-.445 1.066c.102.246.468.403 1.066.398.222-.005 2.664-.139 3.313-.296.375-.088.505-.283.505-.283s1.566-.431 2.998-1.357c.917-.598 1.293-.76 2.034-.936.612-.148.57-1.098-.241-1.084-.839.009-1.575.44-2.196.825-1.163.718-1.742.672-1.742.672l-.018-.032c-.079-.13.371-1.293-.134-2.678-.547-1.515-1.413-1.881-1.344-1.997.297-.5 1.038-1.297 1.334-2.78.176-.899.13-2.377-.269-3.151-.074-.144-.732.241-.732.241s-.616-1.371-.788-1.483a.271.271 0 0 0-.157-.046z",
1086
+ fill: "currentColor"
1087
+ }
1088
+ )),
1089
+ pnpm: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1090
+ "path",
1091
+ {
1092
+ d: "M0 0v7.5h7.5V0zm8.25 0v7.5h7.498V0zm8.25 0v7.5H24V0zM8.25 8.25v7.5h7.498v-7.5zm8.25 0v7.5H24v-7.5zM0 16.5V24h7.5v-7.5zm8.25 0V24h7.498v-7.5zm8.25 0V24H24v-7.5z",
1093
+ fill: "currentColor"
1094
+ }
1095
+ )),
1096
+ react: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1097
+ "path",
1098
+ {
1099
+ d: "M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z",
1100
+ fill: "currentColor"
1101
+ }
1102
+ )),
1103
+ tailwind: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1104
+ "path",
1105
+ {
1106
+ d: "M12.001,4.8c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 C13.666,10.618,15.027,12,18.001,12c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C16.337,6.182,14.976,4.8,12.001,4.8z M6.001,12c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 c1.177,1.194,2.538,2.576,5.512,2.576c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C10.337,13.382,8.976,12,6.001,12z",
1107
+ fill: "currentColor"
1108
+ }
1109
+ )),
1110
+ google: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1111
+ "path",
1112
+ {
1113
+ fill: "currentColor",
1114
+ d: "M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
1115
+ }
1116
+ )),
1117
+ apple: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1118
+ "path",
1119
+ {
1120
+ d: "M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701",
1121
+ fill: "currentColor"
1122
+ }
1123
+ )),
1124
+ paypal: (props) => /* @__PURE__ */ import_react5.default.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react5.default.createElement(
1125
+ "path",
1126
+ {
1127
+ d: "M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z",
1128
+ fill: "currentColor"
1129
+ }
1130
+ )),
1131
+ spinner: (props) => /* @__PURE__ */ import_react5.default.createElement(
1132
+ "svg",
1133
+ {
1134
+ xmlns: "http://www.w3.org/2000/svg",
1135
+ width: "24",
1136
+ height: "24",
1137
+ viewBox: "0 0 24 24",
1138
+ fill: "none",
1139
+ stroke: "currentColor",
1140
+ strokeWidth: "2",
1141
+ strokeLinecap: "round",
1142
+ strokeLinejoin: "round",
1143
+ ...props
1144
+ },
1145
+ /* @__PURE__ */ import_react5.default.createElement("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
1146
+ ),
1147
+ whatsapp: (props) => /* @__PURE__ */ import_react5.default.createElement(
1148
+ "svg",
1149
+ {
1150
+ xmlns: "http://www.w3.org/2000/svg",
1151
+ viewBox: "0 0 24 24",
1152
+ fill: "currentColor",
1153
+ ...props
1154
+ },
1155
+ /* @__PURE__ */ import_react5.default.createElement("path", { d: "M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448l-6.305 1.654zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414z" })
1156
+ )
1157
+ };
1158
+
1159
+ // components/elements/navigationMenu/NavigationMenu.tsx
1160
+ var React12 = __toESM(require("react"));
1161
+ var NavigationMenuPrimitive = __toESM(require("@radix-ui/react-navigation-menu"));
1162
+ var import_class_variance_authority = require("class-variance-authority");
1163
+ var navigationMenuTriggerStyle = (0, import_class_variance_authority.cva)(
1164
+ "hawa-group hawa-inline-flex hawa-h-10 hawa-w-max hawa-items-center hawa-gap-1 hawa-justify-center hawa-rounded-md hawa-bg-background hawa-px-4 hawa-py-2 hawa-text-sm hawa-font-medium hawa-transition-colors hover:hawa-bg-accent hover:hawa-text-accent-foreground focus:hawa-bg-accent focus:hawa-text-accent-foreground focus:hawa-outline-none disabled:hawa-pointer-events-none disabled:hawa-opacity-50 data-[active]:hawa-bg-accent/50 "
1165
+ );
1166
+ var NavigationMenuRoot = React12.forwardRef(({ className, children, viewportClassNames, ...props }, ref) => /* @__PURE__ */ React12.createElement(
1167
+ NavigationMenuPrimitive.Root,
1168
+ {
1169
+ ref,
1170
+ className: cn(
1171
+ "hawa-relative hawa-z-10 hawa-flex hawa-flex-1 hawa-items-center hawa-justify-center",
1172
+ // "hawa-max-w-max",
1173
+ className
1174
+ ),
1175
+ ...props
1176
+ },
1177
+ children,
1178
+ /* @__PURE__ */ React12.createElement(NavigationMenuViewport, { className: viewportClassNames })
1179
+ ));
1180
+ var NavigationMenuList = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React12.createElement(
1181
+ NavigationMenuPrimitive.List,
1182
+ {
1183
+ ref,
1184
+ className: cn(
1185
+ "hawa-group hawa-flex hawa-flex-1 hawa-list-none hawa-items-center hawa-justify-center hawa-gap-1",
1186
+ className
1187
+ ),
1188
+ ...props
1189
+ }
1190
+ ));
1191
+ var NavigationMenuTrigger = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React12.createElement(
1192
+ NavigationMenuPrimitive.Trigger,
1193
+ {
1194
+ ref,
1195
+ className: cn(navigationMenuTriggerStyle(), "hawa-group", className),
1196
+ ...props
1197
+ },
1198
+ children,
1199
+ /* @__PURE__ */ React12.createElement(
1200
+ "svg",
1201
+ {
1202
+ "aria-label": "Chevron Icon",
1203
+ xmlns: "http://www.w3.org/2000/svg",
1204
+ width: "24",
1205
+ height: "24",
1206
+ viewBox: "0 0 24 24",
1207
+ fill: "none",
1208
+ stroke: "currentColor",
1209
+ strokeWidth: "2",
1210
+ strokeLinecap: "round",
1211
+ strokeLinejoin: "round",
1212
+ "aria-hidden": "true",
1213
+ className: "hawa-icon hawa-relative hawa-top-[1px] hawa-transition hawa-duration-200 group-data-[state=open]:hawa-rotate-180"
1214
+ },
1215
+ /* @__PURE__ */ React12.createElement("path", { d: "m6 9 6 6 6-6" })
1216
+ )
1217
+ ));
1218
+ var NavigationMenuContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React12.createElement(
1219
+ NavigationMenuPrimitive.Content,
1220
+ {
1221
+ ref,
1222
+ className: cn(
1223
+ "hawa-absolute hawa-left-0 hawa-top-0 hawa-w-full hawa-rounded ",
1224
+ // "md:hawa-absolute md:hawa-w-auto hawa-left-0 hawa-top-0 ",
1225
+ // animation
1226
+ "data-[motion^=from-]:hawa-animate-in data-[motion^=to-]:hawa-animate-out data-[motion^=from-]:hawa-fade-in data-[motion^=to-]:hawa-fade-out data-[motion=from-end]:hawa-slide-in-from-right-52 data-[motion=from-start]:hawa-slide-in-from-left-52 data-[motion=to-end]:hawa-slide-out-to-right-52 data-[motion=to-start]:hawa-slide-out-to-left-52",
1227
+ className
1228
+ ),
1229
+ ...props
1230
+ }
1231
+ ));
1232
+ var NavigationMenuViewport = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React12.createElement(
1233
+ "div",
1234
+ {
1235
+ className: cn(
1236
+ "hawa-absolute hawa-top-full hawa-flex hawa-w-full hawa-justify-center"
1237
+ )
1238
+ },
1239
+ /* @__PURE__ */ React12.createElement(
1240
+ NavigationMenuPrimitive.Viewport,
1241
+ {
1242
+ className: cn(
1243
+ "hawa-origin-top-center hawa-relative hawa-mt-1.5 hawa-w-full hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-text-popover-foreground hawa-shadow-lg data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-90 ",
1244
+ // hawa-h-[var(--radix-navigation-menu-viewport-height)]
1245
+ // "md:hawa-w-[var(--radix-navigation-menu-viewport-width)]",
1246
+ className
1247
+ ),
1248
+ style: {
1249
+ height: "calc(var(--radix-navigation-menu-viewport-height) + 1px)"
1250
+ },
1251
+ ref,
1252
+ ...props
1253
+ }
1254
+ )
1255
+ ));
1256
+ var NavigationMenuIndicator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React12.createElement(
1257
+ NavigationMenuPrimitive.Indicator,
1258
+ {
1259
+ ref,
1260
+ className: cn(
1261
+ "hawa-top-full hawa-z-[1] hawa-flex hawa-h-1.5 hawa-items-end hawa-justify-center hawa-overflow-hidden data-[state=visible]:hawa-animate-in data-[state=hidden]:hawa-animate-out data-[state=hidden]:hawa-fade-out data-[state=visible]:hawa-fade-in",
1262
+ className
1263
+ ),
1264
+ ...props
1265
+ },
1266
+ /* @__PURE__ */ React12.createElement("div", { className: "hawa-relative hawa-top-[60%] hawa-h-2 hawa-w-2 hawa-rotate-45 hawa-rounded-tl-sm hawa-bg-border hawa-shadow-md" })
1267
+ ));
1268
+ NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
1269
+ NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
1270
+ NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
1271
+ NavigationMenuRoot.displayName = NavigationMenuPrimitive.Root.displayName;
1272
+ NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
1273
+ NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
1274
+
1275
+ // components/elements/sheet/Sheet.tsx
1276
+ var React13 = __toESM(require("react"));
1277
+ var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"));
1278
+ var import_class_variance_authority2 = require("class-variance-authority");
1279
+ var Sheet = SheetPrimitive.Root;
1280
+ var SheetTrigger = SheetPrimitive.Trigger;
1281
+ var SheetPortal = SheetPrimitive.Portal;
1282
+ var SheetOverlay = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React13.createElement(
1283
+ SheetPrimitive.Overlay,
1284
+ {
1285
+ className: cn(
1286
+ "hawa-fixed hawa-inset-0 hawa-z-50 hawa-bg-background/80 hawa-backdrop-blur-sm data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0",
1287
+ className
1288
+ ),
1289
+ ...props,
1290
+ ref
1291
+ }
1292
+ ));
1293
+ var sheetVariants = (0, import_class_variance_authority2.cva)(
1294
+ "hawa-fixed hawa-z-50 hawa-gap-4 hawa-bg-background hawa-p-2 hawa-shadow-lg hawa-transition hawa-ease-in-out data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-duration-300 data-[state=open]:hawa-duration-300",
1295
+ {
1296
+ variants: {
1297
+ side: {
1298
+ top: "hawa-inset-x-0 hawa-top-0 hawa-border-b data-[state=closed]:hawa-slide-out-to-top data-[state=open]:hawa-slide-in-from-top",
1299
+ bottom: "hawa-inset-x-0 hawa-bottom-0 hawa-border-t data-[state=closed]:hawa-slide-out-to-bottom data-[state=open]:hawa-slide-in-from-bottom",
1300
+ left: "hawa-inset-y-0 hawa-left-0 hawa-h-full hawa-w-3/4 hawa-border-r data-[state=closed]:hawa-slide-out-to-left data-[state=open]:hawa-slide-in-from-left sm:hawa-max-w-sm",
1301
+ right: "hawa-inset-y-0 hawa-right-0 hawa-h-full hawa-w-3/4 hawa-border-l data-[state=closed]:hawa-slide-out-to-right data-[state=open]:hawa-slide-in-from-right sm:hawa-max-w-sm"
1302
+ }
1303
+ },
1304
+ defaultVariants: {
1305
+ side: "right"
1306
+ }
1307
+ }
1308
+ );
1309
+ var SheetContent = React13.forwardRef(
1310
+ ({ side = "right", className, children, persist, hideCloseButton, ...props }, ref) => /* @__PURE__ */ React13.createElement(SheetPortal, null, /* @__PURE__ */ React13.createElement(SheetOverlay, null), /* @__PURE__ */ React13.createElement(
1311
+ SheetPrimitive.Content,
1312
+ {
1313
+ ref,
1314
+ className: cn(sheetVariants({ side }), className),
1315
+ onPointerDownOutside: (e) => {
1316
+ if (persist) {
1317
+ e.preventDefault();
1318
+ }
1319
+ },
1320
+ ...props
1321
+ },
1322
+ children,
1323
+ !hideCloseButton && /* @__PURE__ */ React13.createElement(
1324
+ SheetPrimitive.Close,
1325
+ {
1326
+ className: cn(
1327
+ "hawa-absolute hawa-rounded-sm hawa-opacity-70 hawa-ring-offset-background hawa-transition-opacity hover:hawa-opacity-100 focus:hawa-outline-none focus:hawa-ring-2 focus:hawa-ring-ring focus:hawa-ring-offset-2 disabled:hawa-pointer-events-none data-[state=open]:hawa-bg-secondary",
1328
+ {
1329
+ "hawa-right-4 hawa-top-4": side === "left" || side === "bottom",
1330
+ "hawa-left-4 hawa-top-4": side === "right",
1331
+ "hawa-bottom-4 hawa-right-4": side === "top"
1332
+ }
1333
+ )
1334
+ },
1335
+ /* @__PURE__ */ React13.createElement(
1336
+ "svg",
1337
+ {
1338
+ "aria-label": "Close Icon",
1339
+ "aria-hidden": "true",
1340
+ className: "hawa-h-5 hawa-w-5",
1341
+ fill: "currentColor",
1342
+ viewBox: "0 0 20 20"
1343
+ },
1344
+ /* @__PURE__ */ React13.createElement(
1345
+ "path",
1346
+ {
1347
+ fillRule: "evenodd",
1348
+ d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
1349
+ clipRule: "evenodd"
1350
+ }
1351
+ )
1352
+ ),
1353
+ /* @__PURE__ */ React13.createElement("span", { className: "hawa-sr-only" }, "Close")
1354
+ )
1355
+ ))
1356
+ );
1357
+ var SheetHeader = ({
1358
+ className,
1359
+ ...props
1360
+ }) => /* @__PURE__ */ React13.createElement(
1361
+ "div",
1362
+ {
1363
+ className: cn(
1364
+ "hawa-flex hawa-flex-col hawa-space-y-2 hawa-text-center sm:hawa-text-left",
1365
+ className
1366
+ ),
1367
+ ...props
1368
+ }
1369
+ );
1370
+ var SheetFooter = ({
1371
+ className,
1372
+ ...props
1373
+ }) => /* @__PURE__ */ React13.createElement(
1374
+ "div",
1375
+ {
1376
+ className: cn(
1377
+ "hawa-flex hawa-flex-col-reverse sm:hawa-flex-row sm:hawa-justify-end sm:hawa-space-x-2",
1378
+ className
1379
+ ),
1380
+ ...props
1381
+ }
1382
+ );
1383
+ var SheetTitle = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React13.createElement(
1384
+ SheetPrimitive.Title,
1385
+ {
1386
+ ref,
1387
+ className: cn(
1388
+ "hawa-text-lg hawa-font-semibold hawa-text-foreground",
1389
+ className
1390
+ ),
1391
+ ...props
1392
+ }
1393
+ ));
1394
+ var SheetDescription = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React13.createElement(
1395
+ SheetPrimitive.Description,
1396
+ {
1397
+ ref,
1398
+ className: cn("hawa-text-sm hawa-text-muted-foreground", className),
1399
+ ...props
1400
+ }
1401
+ ));
1402
+ SheetDescription.displayName = SheetPrimitive.Description.displayName;
1403
+ SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
1404
+ SheetContent.displayName = SheetPrimitive.Content.displayName;
1405
+ SheetHeader.displayName = "SheetHeader";
1406
+ SheetFooter.displayName = "SheetFooter";
1407
+ SheetTitle.displayName = SheetPrimitive.Title.displayName;
1408
+
1409
+ // components/elements/dialog/Dialog.tsx
1410
+ var React14 = __toESM(require("react"));
1411
+ var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"));
1412
+ var DialogPortal = ({ ...props }) => /* @__PURE__ */ React14.createElement(DialogPrimitive.Portal, { ...props });
1413
+ var DialogOverlay = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React14.createElement(
1414
+ DialogPrimitive.Overlay,
1415
+ {
1416
+ ref,
1417
+ className: cn(
1418
+ "hawa-fixed hawa-inset-0 hawa-z-50 hawa-bg-background/80 hawa-backdrop-blur-sm data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0",
1419
+ className
1420
+ ),
1421
+ ...props
1422
+ }
1423
+ ));
1424
+ var DialogContent = React14.forwardRef(({ className, children, persist, hideCloseButton, ...props }, ref) => /* @__PURE__ */ React14.createElement(DialogPortal, null, /* @__PURE__ */ React14.createElement(DialogOverlay, null), /* @__PURE__ */ React14.createElement(
1425
+ DialogPrimitive.Content,
1426
+ {
1427
+ onPointerDownOutside: (e) => {
1428
+ if (persist) {
1429
+ e.preventDefault();
1430
+ }
1431
+ },
1432
+ ref,
1433
+ className: cn(
1434
+ "hawa-fixed hawa-left-[50%] hawa-top-[50%] hawa-z-50 hawa-grid hawa-w-full hawa-max-w-lg hawa-translate-x-[-50%] hawa-translate-y-[-50%] hawa-gap-4 hawa-border hawa-bg-background hawa-p-6 hawa-shadow-lg hawa-transition-all hawa-duration-200 data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[state=closed]:hawa-slide-out-to-left-1/2 data-[state=closed]:hawa-slide-out-to-top-[48%] data-[state=open]:hawa-slide-in-from-left-1/2 data-[state=open]:hawa-slide-in-from-top-[48%] sm:hawa-rounded md:hawa-w-full",
1435
+ className
1436
+ ),
1437
+ ...props
1438
+ },
1439
+ children,
1440
+ !hideCloseButton && /* @__PURE__ */ React14.createElement(
1441
+ DialogPrimitive.Close,
1442
+ {
1443
+ className: cn(
1444
+ "hawa-absolute hawa-top-4 hawa-rounded hawa-opacity-70 hawa-ring-offset-background hawa-transition-opacity hover:hawa-opacity-100 focus:hawa-outline-none focus:hawa-ring-2 focus:hawa-ring-ring focus:hawa-ring-offset-2 disabled:hawa-pointer-events-none data-[state=open]:hawa-bg-accent data-[state=open]:hawa-text-muted-foreground",
1445
+ props.dir === "rtl" ? " hawa-left-4" : " hawa-right-4"
1446
+ )
1447
+ },
1448
+ /* @__PURE__ */ React14.createElement(
1449
+ "svg",
1450
+ {
1451
+ "aria-label": "Close Icon",
1452
+ "aria-hidden": "true",
1453
+ className: "hawa-h-5 hawa-w-5",
1454
+ fill: "currentColor",
1455
+ viewBox: "0 0 20 20"
1456
+ },
1457
+ /* @__PURE__ */ React14.createElement(
1458
+ "path",
1459
+ {
1460
+ fillRule: "evenodd",
1461
+ d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
1462
+ clipRule: "evenodd"
1463
+ }
1464
+ )
1465
+ ),
1466
+ /* @__PURE__ */ React14.createElement("span", { className: "hawa-sr-only" }, "Close")
1467
+ )
1468
+ )));
1469
+ var DialogCarouselContent = React14.forwardRef(
1470
+ ({
1471
+ className,
1472
+ children,
1473
+ onPrev,
1474
+ persist,
1475
+ hideCloseButton,
1476
+ hidePrevButton,
1477
+ ...props
1478
+ }, ref) => /* @__PURE__ */ React14.createElement(DialogPortal, null, /* @__PURE__ */ React14.createElement(DialogOverlay, null), /* @__PURE__ */ React14.createElement(
1479
+ DialogPrimitive.Content,
1480
+ {
1481
+ onPointerDownOutside: (e) => {
1482
+ if (persist) {
1483
+ e.preventDefault();
1484
+ }
1485
+ },
1486
+ ref,
1487
+ className: cn(
1488
+ "hawa-fixed hawa-left-[50%] hawa-top-[50%] hawa-z-50 hawa-grid hawa-w-full hawa-max-w-lg hawa-translate-x-[-50%] hawa-translate-y-[-50%] hawa-gap-4 hawa-border hawa-bg-background hawa-p-6 hawa-pt-14 hawa-shadow-lg hawa-transition-all hawa-duration-200 data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[state=closed]:hawa-slide-out-to-left-1/2 data-[state=closed]:hawa-slide-out-to-top-[48%] data-[state=open]:hawa-slide-in-from-left-1/2 data-[state=open]:hawa-slide-in-from-top-[48%] sm:hawa-rounded md:hawa-w-full",
1489
+ className
1490
+ ),
1491
+ ...props
1492
+ },
1493
+ children,
1494
+ /* @__PURE__ */ React14.createElement(
1495
+ "div",
1496
+ {
1497
+ className: cn(
1498
+ "hawa-absolute hawa-top-0 hawa-flex hawa-w-full hawa-flex-row hawa-p-4",
1499
+ onPrev ? "hawa-justify-between" : "hawa-justify-end"
1500
+ )
1501
+ },
1502
+ hidePrevButton ? /* @__PURE__ */ React14.createElement("div", null) : /* @__PURE__ */ React14.createElement(
1503
+ "div",
1504
+ {
1505
+ onClick: onPrev,
1506
+ className: cn(
1507
+ "hawa-end-0 hawa-cursor-pointer hawa-rounded hawa-opacity-70 hawa-ring-offset-background hawa-transition-opacity hover:hawa-opacity-100 focus:hawa-outline-none focus:hawa-ring-2 focus:hawa-ring-ring focus:hawa-ring-offset-2 disabled:hawa-pointer-events-none data-[state=open]:hawa-bg-accent data-[state=open]:hawa-text-muted-foreground",
1508
+ props.dir === "rtl" && "hawa-rotate-180"
1509
+ )
1510
+ },
1511
+ /* @__PURE__ */ React14.createElement(
1512
+ "svg",
1513
+ {
1514
+ xmlns: "http://www.w3.org/2000/svg",
1515
+ width: "24",
1516
+ height: "24",
1517
+ viewBox: "0 0 24 24",
1518
+ fill: "none",
1519
+ className: "hawa-h-6 hawa-w-6",
1520
+ stroke: "currentColor",
1521
+ strokeWidth: "2",
1522
+ strokeLinecap: "round",
1523
+ strokeLinejoin: "round"
1524
+ },
1525
+ /* @__PURE__ */ React14.createElement("path", { d: "m15 18-6-6 6-6" })
1526
+ )
1527
+ ),
1528
+ !hideCloseButton && /* @__PURE__ */ React14.createElement(
1529
+ DialogPrimitive.Close,
1530
+ {
1531
+ className: cn(
1532
+ "hawa-end-0 hawa-rounded hawa-opacity-70 hawa-ring-offset-background hawa-transition-opacity hover:hawa-opacity-100 focus:hawa-outline-none focus:hawa-ring-2 focus:hawa-ring-ring focus:hawa-ring-offset-2 disabled:hawa-pointer-events-none data-[state=open]:hawa-bg-accent data-[state=open]:hawa-text-muted-foreground ",
1533
+ props.dir === "rtl" ? " hawa-left-4" : " hawa-right-4"
1534
+ )
1535
+ },
1536
+ /* @__PURE__ */ React14.createElement(
1537
+ "svg",
1538
+ {
1539
+ "aria-label": "Close Icon",
1540
+ "aria-hidden": "true",
1541
+ className: "hawa-h-6 hawa-w-6",
1542
+ fill: "currentColor",
1543
+ viewBox: "0 0 20 20"
1544
+ },
1545
+ /* @__PURE__ */ React14.createElement(
1546
+ "path",
1547
+ {
1548
+ fillRule: "evenodd",
1549
+ d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
1550
+ clipRule: "evenodd"
1551
+ }
1552
+ )
1553
+ ),
1554
+ /* @__PURE__ */ React14.createElement("span", { className: "hawa-sr-only" }, "Close")
1555
+ )
1556
+ )
1557
+ ))
1558
+ );
1559
+ var DialogHeader = ({
1560
+ className,
1561
+ ...props
1562
+ }) => /* @__PURE__ */ React14.createElement(
1563
+ "div",
1564
+ {
1565
+ className: cn(
1566
+ "hawa-flex hawa-flex-col hawa-space-y-1.5 hawa-text-center sm:hawa-text-left",
1567
+ className
1568
+ ),
1569
+ ...props
1570
+ }
1571
+ );
1572
+ var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React14.createElement(
1573
+ DialogPrimitive.Title,
1574
+ {
1575
+ ref,
1576
+ className: cn(
1577
+ "hawa-text-start hawa-text-lg hawa-font-semibold hawa-leading-none hawa-tracking-tight",
1578
+ className
1579
+ ),
1580
+ ...props
1581
+ }
1582
+ ));
1583
+ var DialogDescription = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React14.createElement(
1584
+ DialogPrimitive.Description,
1585
+ {
1586
+ ref,
1587
+ className: cn(
1588
+ "hawa-text-start hawa-text-sm hawa-text-muted-foreground",
1589
+ className
1590
+ ),
1591
+ ...props
1592
+ }
1593
+ ));
1594
+ var DialogFooter = ({
1595
+ className,
1596
+ ...props
1597
+ }) => /* @__PURE__ */ React14.createElement(
1598
+ "div",
1599
+ {
1600
+ className: cn(
1601
+ "hawa-flex hawa-flex-col-reverse sm:hawa-flex-row sm:hawa-justify-end sm:hawa-gap-2",
1602
+ className
1603
+ ),
1604
+ ...props
1605
+ }
1606
+ );
1607
+ var DialogCarousel = ({
1608
+ stepsApi,
1609
+ stepsRef,
1610
+ children,
1611
+ direction
1612
+ }) => {
1613
+ React14.useEffect(() => {
1614
+ if (stepsApi) {
1615
+ stepsApi.reInit();
1616
+ }
1617
+ }, [stepsApi, children]);
1618
+ return /* @__PURE__ */ React14.createElement("div", { className: "hawa-overflow-hidden" }, /* @__PURE__ */ React14.createElement("div", { ref: stepsRef, dir: direction }, /* @__PURE__ */ React14.createElement(
1619
+ "div",
1620
+ {
1621
+ className: "hawa-flex",
1622
+ style: {
1623
+ transition: "height 0.2s"
1624
+ }
1625
+ },
1626
+ React14.Children.map(children, (child, index) => /* @__PURE__ */ React14.createElement(
1627
+ "div",
1628
+ {
1629
+ className: cn(
1630
+ "hawa-flex hawa-h-fit hawa-flex-[0_0_100%] hawa-items-center hawa-justify-center"
1631
+ ),
1632
+ key: index
1633
+ },
1634
+ child
1635
+ ))
1636
+ )));
1637
+ };
1638
+ var DialogSteps = ({
1639
+ currentStep,
1640
+ visibleStepRef,
1641
+ children
1642
+ }) => {
1643
+ const [dialogHeight, setDialogHeight] = React14.useState(null);
1644
+ React14.useEffect(() => {
1645
+ if (visibleStepRef.current) {
1646
+ setDialogHeight(visibleStepRef.current.offsetHeight);
1647
+ console.log("height is ", visibleStepRef.current.offsetHeight);
1648
+ }
1649
+ }, [currentStep, visibleStepRef]);
1650
+ return /* @__PURE__ */ React14.createElement(
1651
+ "div",
1652
+ {
1653
+ className: "hawa-relative hawa-overflow-clip",
1654
+ style: {
1655
+ height: dialogHeight || "fit-content",
1656
+ transition: "height 0.2s"
1657
+ }
1658
+ },
1659
+ React14.Children.map(children, (child, index) => /* @__PURE__ */ React14.createElement(
1660
+ "div",
1661
+ {
1662
+ ref: currentStep === `step-${index + 1}` ? visibleStepRef : null,
1663
+ className: cn(
1664
+ currentStep === `step-${index + 1}` ? "hawa-visible hawa-block" : "hawa-invisible hawa-hidden"
1665
+ )
1666
+ },
1667
+ child
1668
+ ))
1669
+ );
1670
+ };
1671
+ var DialogStep = ({
1672
+ id,
1673
+ children,
1674
+ className,
1675
+ stepRef
1676
+ }) => {
1677
+ return /* @__PURE__ */ React14.createElement(
1678
+ "div",
1679
+ {
1680
+ id,
1681
+ ref: stepRef,
1682
+ className: cn("hawa-w-full hawa-px-1", className)
1683
+ },
1684
+ children
1685
+ );
1686
+ };
1687
+ var DialogBody = ({ children, className }) => {
1688
+ return /* @__PURE__ */ React14.createElement("div", { className: cn("hawa-py-6", className) }, children);
1689
+ };
1690
+ DialogBody.displayName = "DialogBody";
1691
+ DialogStep.displayName = "DialogStep";
1692
+ DialogSteps.displayName = "DialogSteps";
1693
+ DialogCarousel.displayName = "DialogCarousel";
1694
+ DialogCarouselContent.displayName = "DialogCarouselContent";
1695
+ DialogHeader.displayName = "DialogHeader";
1696
+ DialogFooter.displayName = "DialogFooter";
1697
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
1698
+ DialogPortal.displayName = DialogPrimitive.Portal.displayName;
1699
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
1700
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
1701
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
1702
+
1703
+ // components/elements/alert/Alert.tsx
1704
+ var import_react6 = __toESM(require("react"));
1705
+
1706
+ // components/elements/button/Button.tsx
1707
+ var React15 = __toESM(require("react"));
1708
+ var import_class_variance_authority3 = require("class-variance-authority");
1709
+ var buttonVariants = (0, import_class_variance_authority3.cva)(
1710
+ "hawa-inline-flex hawa-items-center hawa-select-none hawa-rounded-md hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-colors focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
1711
+ {
1712
+ variants: {
1713
+ variant: {
1714
+ default: "hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90",
1715
+ light: "hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40",
1716
+ destructive: "hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90",
1717
+ outline: "hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground",
1718
+ secondary: "hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80",
1719
+ ghost: "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
1720
+ link: "hawa-text-primary hawa-underline-offset-4 hover:hawa-underline",
1721
+ combobox: "hawa-bg-background hawa-border",
1722
+ neoBrutalism: "neo-brutalism"
1723
+ // "hawa-cursor-pointer hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active shadow-color-primary active:shadow-color-primary-active",
1724
+ },
1725
+ size: {
1726
+ default: "hawa-h-10 hawa-px-4 hawa-py-2",
1727
+ heightless: "hawa-px-4 hawa-py-4",
1728
+ xs: "hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 ",
1729
+ sm: "hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3",
1730
+ lg: "hawa-h-11 hawa-rounded-md hawa-px-8",
1731
+ xl: "hawa-h-14 hawa-rounded-md hawa-px-10",
1732
+ icon: "hawa-h-10 hawa-w-10",
1733
+ smallIcon: "hawa-h-7 hawa-w-7"
1734
+ }
1735
+ },
1736
+ defaultVariants: {
1737
+ variant: "default",
1738
+ size: "default"
1739
+ }
1740
+ }
1741
+ );
1742
+ var Button = React15.forwardRef(
1743
+ ({
1744
+ className,
1745
+ variant,
1746
+ size,
1747
+ asChild = false,
1748
+ centered = true,
1749
+ isLoading,
1750
+ children,
1751
+ ...props
1752
+ }, ref) => {
1753
+ const Comp = "button";
1754
+ const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
1755
+ return /* @__PURE__ */ React15.createElement(
1756
+ Comp,
1757
+ {
1758
+ className: cn(
1759
+ buttonVariants({ variant, size, className }),
1760
+ centered && "hawa-justify-center"
1761
+ ),
1762
+ ref,
1763
+ ...props
1764
+ },
1765
+ isLoading ? /* @__PURE__ */ React15.createElement(
1766
+ Loading,
1767
+ {
1768
+ design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
1769
+ themeMode: variant === "outline" ? "light" : "dark",
1770
+ color: loadingColor,
1771
+ size: size === "sm" || size === "xs" ? "xs" : "button"
1772
+ }
1773
+ ) : children
1774
+ );
1775
+ }
1776
+ );
1777
+ Button.displayName = "Button";
1778
+
1779
+ // components/elements/avatar/Avatar.tsx
1780
+ var import_react8 = __toESM(require("react"));
1781
+
1782
+ // components/elements/FileUploader.tsx
1783
+ var import_react7 = __toESM(require("react"));
1784
+
1785
+ // components/elements/dataTable/DataTable.tsx
1786
+ var React22 = __toESM(require("react"));
1787
+ var import_react_table = require("@tanstack/react-table");
1788
+
1789
+ // components/elements/input/Input.tsx
1790
+ var import_react9 = __toESM(require("react"));
1791
+
1792
+ // components/elements/label/Label.tsx
1793
+ var React19 = __toESM(require("react"));
1794
+ var Label2 = React19.forwardRef(({ className, hint, hintSide, required, children, ...props }, ref) => /* @__PURE__ */ React19.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all" }, /* @__PURE__ */ React19.createElement(
1795
+ "label",
1796
+ {
1797
+ ref,
1798
+ className: cn(
1799
+ "hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70",
1800
+ className
1801
+ ),
1802
+ ...props
1803
+ },
1804
+ children,
1805
+ required && /* @__PURE__ */ React19.createElement("span", { className: "hawa-mx-0.5 hawa-text-red-500" }, "*")
1806
+ ), hint && /* @__PURE__ */ React19.createElement(Tooltip, { content: hint, side: hintSide }, /* @__PURE__ */ React19.createElement(
1807
+ "svg",
1808
+ {
1809
+ xmlns: "http://www.w3.org/2000/svg",
1810
+ className: "hawa-h-[14px] hawa-w-[14px] hawa-cursor-help",
1811
+ viewBox: "0 0 24 24",
1812
+ fill: "none",
1813
+ stroke: "currentColor",
1814
+ strokeWidth: "2",
1815
+ strokeLinecap: "round",
1816
+ strokeLinejoin: "round"
1817
+ },
1818
+ /* @__PURE__ */ React19.createElement("circle", { cx: "12", cy: "12", r: "10" }),
1819
+ /* @__PURE__ */ React19.createElement("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
1820
+ /* @__PURE__ */ React19.createElement("path", { d: "M12 17h.01" })
1821
+ ))));
1822
+ Label2.displayName = "Label";
1823
+
1824
+ // components/elements/input/Input.tsx
1825
+ var Input = (0, import_react9.forwardRef)(
1826
+ ({
1827
+ margin = "none",
1828
+ width = "full",
1829
+ preview = false,
1830
+ forceHideHelperText = false,
1831
+ labelProps,
1832
+ placeholder,
1833
+ showCount,
1834
+ inputProps,
1835
+ countPosition = "bottom",
1836
+ ...props
1837
+ }, ref) => {
1838
+ var _a;
1839
+ let marginStyles = {
1840
+ none: "hawa-mb-0",
1841
+ normal: "hawa-mb-3",
1842
+ large: "hawa-mb-5"
1843
+ };
1844
+ let widthStyles = {
1845
+ small: "hawa-w-full hawa-max-w-2xs",
1846
+ normal: "hawa-w-1/2",
1847
+ full: "hawa-w-full",
1848
+ auto: ""
1849
+ };
1850
+ let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
1851
+ let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
1852
+ return /* @__PURE__ */ import_react9.default.createElement(
1853
+ "div",
1854
+ {
1855
+ className: cn(
1856
+ defaultStyle,
1857
+ marginStyles[margin],
1858
+ widthStyles[width],
1859
+ props.containerClassName,
1860
+ "hawa-w-full hawa-gap-2"
1861
+ )
1862
+ },
1863
+ props.label && /* @__PURE__ */ import_react9.default.createElement(Label2, { ...labelProps }, props.label),
1864
+ props.isLoading ? /* @__PURE__ */ import_react9.default.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ import_react9.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react9.default.createElement(
1865
+ "div",
1866
+ {
1867
+ className: cn(
1868
+ "hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800",
1869
+ preview ? "hawa-opacity-100" : "hawa-opacity-0"
1870
+ )
1871
+ }
1872
+ ), /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, /* @__PURE__ */ import_react9.default.createElement("div", { className: "hawa-relative" }, props.startIcon && /* @__PURE__ */ import_react9.default.createElement("div", { className: "hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2" }, props.startIcon), props.endIcon && /* @__PURE__ */ import_react9.default.createElement(
1873
+ "div",
1874
+ {
1875
+ className: cn(
1876
+ "hawa-absolute hawa-end-3 hawa-top-1/2 hawa--translate-y-1/2",
1877
+ (_a = props.endIconProps) == null ? void 0 : _a.className
1878
+ )
1879
+ },
1880
+ props.endIcon
1881
+ ), /* @__PURE__ */ import_react9.default.createElement(
1882
+ "input",
1883
+ {
1884
+ required: true,
1885
+ dir: props.dir,
1886
+ type: props.type,
1887
+ value: props.value,
1888
+ onChange: props.onChange,
1889
+ autoComplete: props.autoComplete,
1890
+ defaultValue: props.defaultValue,
1891
+ placeholder,
1892
+ disabled: props.disabled || preview,
1893
+ style: { height: 40 },
1894
+ ...inputProps,
1895
+ className: cn(
1896
+ defaultInputStyle,
1897
+ " focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0 dark:hawa-text-white",
1898
+ {
1899
+ "hawa-pe-9": props.endIcon,
1900
+ "hawa-ps-9": props.startIcon,
1901
+ "hawa-pe-[60px]": countPosition === "center"
1902
+ },
1903
+ preview && "hawa-border-transparent hawa-bg-transparent hawa-px-0",
1904
+ inputProps == null ? void 0 : inputProps.className
1905
+ )
1906
+ }
1907
+ )), !forceHideHelperText && /* @__PURE__ */ import_react9.default.createElement(
1908
+ "p",
1909
+ {
1910
+ className: cn(
1911
+ "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
1912
+ props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
1913
+ )
1914
+ },
1915
+ props.helperText
1916
+ ), !props.disabled && forceHideHelperText && /* @__PURE__ */ import_react9.default.createElement(
1917
+ "div",
1918
+ {
1919
+ className: cn(
1920
+ "hawa-absolute hawa-end-0 hawa-top-[47px] hawa-z-20 hawa-translate-y-1/2 hawa-rounded hawa-bg-background hawa-text-start hawa-text-xs hawa-text-helper-color hawa-drop-shadow-md hawa-transition-all",
1921
+ props.helperText ? "hawa-border hawa-p-1" : "hawa-border-none hawa-p-0"
1922
+ )
1923
+ },
1924
+ props.helperText
1925
+ ), showCount && /* @__PURE__ */ import_react9.default.createElement(
1926
+ "div",
1927
+ {
1928
+ className: cn(
1929
+ "hawa-absolute hawa-translate-y-1/2 hawa-text-start hawa-text-xs hawa-transition-all",
1930
+ {
1931
+ "hawa-end-0 hawa-top-[62px]": countPosition === "bottom",
1932
+ "hawa-bottom-[62px] hawa-end-0": countPosition === "top",
1933
+ "hawa-end-2": countPosition === "center"
1934
+ }
1935
+ )
1936
+ },
1937
+ props.value ? String(props.value).length : 0,
1938
+ "/",
1939
+ props.maxLength
1940
+ )))
1941
+ );
1942
+ }
1943
+ );
1944
+
1945
+ // components/elements/table/Table.tsx
1946
+ var React21 = __toESM(require("react"));
1947
+ var Table = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React21.createElement("div", { className: "hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border" }, /* @__PURE__ */ React21.createElement(
1948
+ "table",
1949
+ {
1950
+ ref,
1951
+ className: cn("hawa-w-full hawa-caption-bottom hawa-text-sm", className),
1952
+ ...props
1953
+ }
1954
+ )));
1955
+ Table.displayName = "Table";
1956
+ var TableHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React21.createElement(
1957
+ "thead",
1958
+ {
1959
+ ref,
1960
+ className: cn("[&_tr]:hawa-border-b", "hawa-bg-muted/50", className),
1961
+ ...props
1962
+ }
1963
+ ));
1964
+ TableHeader.displayName = "TableHeader";
1965
+ var TableHead = React21.forwardRef(
1966
+ ({ className, condensed, clickable, dir, ...props }, ref) => /* @__PURE__ */ React21.createElement(
1967
+ "th",
1968
+ {
1969
+ ref,
1970
+ className: cn(
1971
+ "hawa-bg-muted/60 hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x",
1972
+ dir === "rtl" ? "[&:not(:last-child)]:hawa-border-l" : "[&:not(:last-child)]:hawa-border-r",
1973
+ condensed ? "hawa-h-8" : "hawa-h-12",
1974
+ clickable ? "hawa-px-1" : "hawa-px-4",
1975
+ //First and last columns
1976
+ clickable ? " [&:not(:last-child)&:not(:first-child)]:hawa-p-1" : "hawa-px-4",
1977
+ //Columns in between
1978
+ className
1979
+ ),
1980
+ ...props
1981
+ }
1982
+ )
1983
+ );
1984
+ TableHead.displayName = "TableHead";
1985
+ var TableBody = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React21.createElement("tbody", { ref, className: cn("hawa-border-none", className), ...props }));
1986
+ TableBody.displayName = "TableBody";
1987
+ var TableFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React21.createElement(
1988
+ "tfoot",
1989
+ {
1990
+ ref,
1991
+ className: cn(
1992
+ "hawa-bg-primary hawa-font-medium hawa-text-primary-foreground",
1993
+ className
1994
+ ),
1995
+ ...props
1996
+ }
1997
+ ));
1998
+ TableFooter.displayName = "TableFooter";
1999
+ var TableRow = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React21.createElement(
2000
+ "tr",
2001
+ {
2002
+ ref,
2003
+ className: cn(
2004
+ "hawa-bg-background hawa-transition-colors data-[state=selected]:hawa-bg-muted",
2005
+ "[&:not(:last-child)&:not(:first-child)]:hawa-border-y",
2006
+ "[&:not(:last-child)]:hawa-border-b",
2007
+ className
2008
+ ),
2009
+ ...props
2010
+ }
2011
+ ));
2012
+ TableRow.displayName = "TableRow";
2013
+ var TableCell = React21.forwardRef(
2014
+ ({ className, enablePadding = true, padding = "default", ...props }, ref) => {
2015
+ let paddingStyles = {
2016
+ condensed: "hawa-p-0 hawa-px-4",
2017
+ default: "hawa-p-4",
2018
+ noPadding: "hawa-p-0"
2019
+ };
2020
+ return /* @__PURE__ */ React21.createElement(
2021
+ "td",
2022
+ {
2023
+ ref,
2024
+ className: cn(
2025
+ paddingStyles[padding],
2026
+ // "border-x",
2027
+ // enablePadding ? "hawa-p-4" : "hawa-p-0",
2028
+ // props.disablePadding ? "hawa-p-0" : "hawa-p-4",
2029
+ // props.condensed ? "hawa-p-0 hawa-px-4" : "hawa-p-4",
2030
+ "hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0 ",
2031
+ "[&:not(:last-child)&:not(:first-child)]:hawa-border-x",
2032
+ // "[&:not(:last-child)]:hawa-border-r",
2033
+ props.dir === "rtl" ? "[&:not(:last-child)]:hawa-border-l" : "[&:not(:last-child)]:hawa-border-r",
2034
+ className
2035
+ ),
2036
+ ...props
2037
+ }
2038
+ );
2039
+ }
2040
+ );
2041
+ TableCell.displayName = "TableCell";
2042
+ var TableCaption = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React21.createElement(
2043
+ "caption",
2044
+ {
2045
+ ref,
2046
+ className: cn(
2047
+ "hawa-mt-4 hawa-text-sm hawa-text-muted-foreground",
2048
+ className
2049
+ ),
2050
+ ...props
2051
+ }
2052
+ ));
2053
+ TableCaption.displayName = "TableCaption";
2054
+
2055
+ // components/elements/backToTop/BackToTop.tsx
2056
+ var import_react10 = __toESM(require("react"));
2057
+
2058
+ // components/elements/radio/Radio.tsx
2059
+ var import_react11 = __toESM(require("react"));
2060
+
2061
+ // components/elements/combobox/Combobox.tsx
2062
+ var React27 = __toESM(require("react"));
2063
+ var PopoverPrimitive2 = __toESM(require("@radix-ui/react-popover"));
2064
+
2065
+ // components/elements/command/Command.tsx
2066
+ var React25 = __toESM(require("react"));
2067
+ var import_cmdk = require("cmdk");
2068
+ var Command = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25.createElement(
2069
+ import_cmdk.Command,
2070
+ {
2071
+ ref,
2072
+ className: cn(
2073
+ "hawa-flex hawa-h-full hawa-w-full hawa-flex-col hawa-overflow-hidden hawa-rounded-md hawa-bg-popover hawa-text-popover-foreground",
2074
+ className
2075
+ ),
2076
+ ...props
2077
+ }
2078
+ ));
2079
+ Command.displayName = import_cmdk.Command.displayName;
2080
+ var CommandInput = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25.createElement(
2081
+ "div",
2082
+ {
2083
+ className: "hawa-flex hawa-items-center hawa-border-b hawa-px-3",
2084
+ "cmdk-input-wrapper": ""
2085
+ },
2086
+ /* @__PURE__ */ React25.createElement(
2087
+ "svg",
2088
+ {
2089
+ "aria-label": "Search Icon",
2090
+ xmlns: "http://www.w3.org/2000/svg",
2091
+ width: "24",
2092
+ height: "24",
2093
+ viewBox: "0 0 24 24",
2094
+ fill: "none",
2095
+ stroke: "currentColor",
2096
+ strokeWidth: "2",
2097
+ strokeLinecap: "round",
2098
+ strokeLinejoin: "round",
2099
+ className: "hawa-icon hawa-mr-2 hawa-shrink-0 hawa-opacity-50"
2100
+ },
2101
+ /* @__PURE__ */ React25.createElement("circle", { cx: "11", cy: "11", r: "8" }),
2102
+ /* @__PURE__ */ React25.createElement("path", { d: "m21 21-4.3-4.3" })
2103
+ ),
2104
+ /* @__PURE__ */ React25.createElement(
2105
+ import_cmdk.Command.Input,
2106
+ {
2107
+ ref,
2108
+ className: cn(
2109
+ "hawa-flex hawa-h-11 hawa-w-full hawa-rounded-md hawa-bg-transparent hawa-py-3 hawa-text-sm hawa-outline-none placeholder:hawa-text-muted-foreground disabled:hawa-cursor-not-allowed disabled:hawa-opacity-50",
2110
+ className
2111
+ ),
2112
+ ...props
2113
+ }
2114
+ )
2115
+ ));
2116
+ CommandInput.displayName = import_cmdk.Command.Input.displayName;
2117
+ var CommandList = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25.createElement(
2118
+ import_cmdk.Command.List,
2119
+ {
2120
+ ref,
2121
+ className: cn(
2122
+ "hawa-max-h-[300px] hawa-overflow-y-auto hawa-overflow-x-hidden",
2123
+ className
2124
+ ),
2125
+ ...props
2126
+ }
2127
+ ));
2128
+ CommandList.displayName = import_cmdk.Command.List.displayName;
2129
+ var CommandEmpty = React25.forwardRef((props, ref) => /* @__PURE__ */ React25.createElement(
2130
+ import_cmdk.Command.Empty,
2131
+ {
2132
+ ref,
2133
+ className: "hawa-py-6 hawa-text-center hawa-text-sm",
2134
+ ...props
2135
+ }
2136
+ ));
2137
+ CommandEmpty.displayName = import_cmdk.Command.Empty.displayName;
2138
+ var CommandGroup = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25.createElement(
2139
+ import_cmdk.Command.Group,
2140
+ {
2141
+ ref,
2142
+ className: cn(
2143
+ "hawa-overflow-hidden hawa-p-1 hawa-text-foreground [&_[cmdk-group-heading]]:hawa-px-2 [&_[cmdk-group-heading]]:hawa-py-1.5 [&_[cmdk-group-heading]]:hawa-text-xs [&_[cmdk-group-heading]]:hawa-font-medium [&_[cmdk-group-heading]]:hawa-text-muted-foreground",
2144
+ className
2145
+ ),
2146
+ ...props
2147
+ }
2148
+ ));
2149
+ CommandGroup.displayName = import_cmdk.Command.Group.displayName;
2150
+ var CommandSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25.createElement(
2151
+ import_cmdk.Command.Separator,
2152
+ {
2153
+ ref,
2154
+ className: cn("hawa--mx-1 hawa-h-px hawa-bg-border", className),
2155
+ ...props
2156
+ }
2157
+ ));
2158
+ CommandSeparator.displayName = import_cmdk.Command.Separator.displayName;
2159
+ var CommandItem = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25.createElement(
2160
+ import_cmdk.Command.Item,
2161
+ {
2162
+ ref,
2163
+ className: cn(
2164
+ "hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-outline-none aria-selected:hawa-bg-accent aria-selected:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
2165
+ className
2166
+ ),
2167
+ ...props
2168
+ }
2169
+ ));
2170
+ CommandItem.displayName = import_cmdk.Command.Item.displayName;
2171
+ var CommandShortcut = ({
2172
+ className,
2173
+ ...props
2174
+ }) => {
2175
+ return /* @__PURE__ */ React25.createElement(
2176
+ "span",
2177
+ {
2178
+ className: cn(
2179
+ "hawa-ml-auto hawa-text-xs hawa-tracking-widest hawa-text-muted-foreground",
2180
+ className
2181
+ ),
2182
+ ...props
2183
+ }
2184
+ );
2185
+ };
2186
+ CommandShortcut.displayName = "CommandShortcut";
2187
+
2188
+ // components/elements/popover/Popover.tsx
2189
+ var React26 = __toESM(require("react"));
2190
+ var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
2191
+ var PopoverContent = React26.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React26.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ React26.createElement(
2192
+ PopoverPrimitive.Content,
2193
+ {
2194
+ ref,
2195
+ align,
2196
+ sideOffset,
2197
+ className: cn(
2198
+ "dark:dark-shadow hawa-z-50 hawa-rounded hawa-border hawa-bg-popover hawa-text-popover-foreground hawa-shadow-md hawa-outline-none data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
2199
+ className
2200
+ ),
2201
+ ...props
2202
+ }
2203
+ )));
2204
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
2205
+ var PopoverTrigger = PopoverPrimitive.Trigger;
2206
+
2207
+ // components/elements/combobox/Combobox.tsx
2208
+ var Combobox = React27.forwardRef(
2209
+ ({
2210
+ labelKey = "label",
2211
+ valueKey = "value",
2212
+ defaultValue = "",
2213
+ popoverClassName,
2214
+ labelProps,
2215
+ data,
2216
+ ...props
2217
+ }, ref) => {
2218
+ var _a, _b, _c;
2219
+ const [open, setOpen] = React27.useState(false);
2220
+ const [value, setValue] = React27.useState(defaultValue);
2221
+ function getProperty(obj, key) {
2222
+ return obj[key];
2223
+ }
2224
+ const handleOpenChange = (open2) => {
2225
+ if (!(props.isLoading || props.preview)) {
2226
+ setOpen(open2);
2227
+ }
2228
+ };
2229
+ return /* @__PURE__ */ React27.createElement(
2230
+ "div",
2231
+ {
2232
+ className: cn(
2233
+ "hawa-relative hawa-flex hawa-h-fit hawa-flex-col hawa-gap-2",
2234
+ props.width === "fit" ? "hawa-w-fit" : "hawa-w-full"
2235
+ )
2236
+ },
2237
+ props.label && /* @__PURE__ */ React27.createElement(Label2, { ...labelProps }, props.label),
2238
+ /* @__PURE__ */ React27.createElement(PopoverPrimitive2.Root, { open, onOpenChange: handleOpenChange }, /* @__PURE__ */ React27.createElement(PopoverTrigger, { asChild: true }, props.isLoading ? /* @__PURE__ */ React27.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ React27.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ React27.createElement("div", { className: "hawa-flex hawa-flex-col hawa-items-start hawa-gap-2 " }, /* @__PURE__ */ React27.createElement(
2239
+ "div",
2240
+ {
2241
+ className: cn(
2242
+ "hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800",
2243
+ props.preview ? "hawa-opacity-100" : "hawa-opacity-0"
2244
+ )
2245
+ }
2246
+ ), /* @__PURE__ */ React27.createElement(
2247
+ "button",
2248
+ {
2249
+ role: "combobox",
2250
+ "aria-expanded": open,
2251
+ className: cn(
2252
+ "hawa-inline-flex hawa-h-10 hawa-w-full hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-md hawa-border hawa-py-2 hawa-text-sm hawa-font-normal hawa-text-primary hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
2253
+ props.preview ? "hawa-cursor-default hawa-rounded-none hawa-border-transparent hawa-px-0" : "hawa-bg-background hawa-px-3 "
2254
+ )
2255
+ },
2256
+ value ? getProperty(
2257
+ data.find((item) => item[valueKey] === value) || {},
2258
+ labelKey
2259
+ ) : ((_a = props.texts) == null ? void 0 : _a.placeholder) || "...",
2260
+ /* @__PURE__ */ React27.createElement(
2261
+ "svg",
2262
+ {
2263
+ xmlns: "http://www.w3.org/2000/svg",
2264
+ className: cn(
2265
+ "hawa-icon hawa-transition-all",
2266
+ !props.preview ? "hawa-visible hawa-opacity-100" : "hawa-invisible hawa-opacity-0"
2267
+ ),
2268
+ "aria-label": "Chevron down icon",
2269
+ viewBox: "0 0 24 24",
2270
+ fill: "none",
2271
+ stroke: "currentColor",
2272
+ strokeWidth: "2",
2273
+ strokeLinecap: "round",
2274
+ strokeLinejoin: "round"
2275
+ },
2276
+ /* @__PURE__ */ React27.createElement("path", { d: "m6 9 6 6 6-6" })
2277
+ )
2278
+ ), /* @__PURE__ */ React27.createElement(
2279
+ "p",
2280
+ {
2281
+ className: cn(
2282
+ "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
2283
+ props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
2284
+ )
2285
+ },
2286
+ props.helperText
2287
+ ))), /* @__PURE__ */ React27.createElement(
2288
+ PopoverContent,
2289
+ {
2290
+ className: cn("popover-w-parent", props.helperText && "-hawa-mt-4")
2291
+ },
2292
+ /* @__PURE__ */ React27.createElement(Command, null, !props.hideInput && /* @__PURE__ */ React27.createElement(
2293
+ CommandInput,
2294
+ {
2295
+ placeholder: ((_b = props.texts) == null ? void 0 : _b.searchPlaceholder) || "Search"
2296
+ }
2297
+ ), /* @__PURE__ */ React27.createElement(CommandEmpty, null, ((_c = props.texts) == null ? void 0 : _c.noItems) || "No items found."), /* @__PURE__ */ React27.createElement(CommandGroup, { className: "hawa-max-h-[200px] hawa-overflow-y-auto" }, data.map((item, i) => /* @__PURE__ */ React27.createElement(
2298
+ CommandItem,
2299
+ {
2300
+ key: i,
2301
+ onSelect: () => {
2302
+ const newValue = getProperty(item, valueKey);
2303
+ setValue(newValue === value ? "" : newValue);
2304
+ if (props.onChange) {
2305
+ props.onChange(
2306
+ newValue === value ? "" : newValue
2307
+ );
2308
+ }
2309
+ setOpen(false);
2310
+ }
2311
+ },
2312
+ /* @__PURE__ */ React27.createElement(
2313
+ "svg",
2314
+ {
2315
+ "aria-label": "Check Icon",
2316
+ xmlns: "http://www.w3.org/2000/svg",
2317
+ width: "24",
2318
+ height: "24",
2319
+ viewBox: "0 0 24 24",
2320
+ fill: "none",
2321
+ stroke: "currentColor",
2322
+ strokeWidth: "2",
2323
+ strokeLinecap: "round",
2324
+ strokeLinejoin: "round",
2325
+ className: cn(
2326
+ "hawa-icon hawa-mr-2",
2327
+ value === getProperty(item, valueKey) ? "hawa-opacity-100" : "hawa-opacity-0"
2328
+ )
2329
+ },
2330
+ /* @__PURE__ */ React27.createElement("polyline", { points: "20 6 9 17 4 12" })
2331
+ ),
2332
+ getProperty(item, labelKey)
2333
+ ))))
2334
+ ))
2335
+ );
2336
+ }
2337
+ );
2338
+
2339
+ // components/elements/textarea/Textarea.tsx
2340
+ var React28 = __toESM(require("react"));
2341
+ var Textarea = React28.forwardRef(
2342
+ ({
2343
+ className,
2344
+ labelProps,
2345
+ showCount,
2346
+ forceHideHelperText,
2347
+ textareaProps,
2348
+ countPosition = "bottom",
2349
+ ...props
2350
+ }, ref) => {
2351
+ return /* @__PURE__ */ React28.createElement("div", { className: "hawa-relative hawa-flex hawa-h-full hawa-w-full hawa-flex-col hawa-gap-2" }, props.label && /* @__PURE__ */ React28.createElement(Label2, { ...labelProps }, props.label), /* @__PURE__ */ React28.createElement(
2352
+ "textarea",
2353
+ {
2354
+ className: cn(
2355
+ "hawa-flex hawa-min-h-[40px] hawa-w-full hawa-rounded-md hawa-border hawa-border-input hawa-bg-background hawa-px-3 hawa-py-2 hawa-text-sm hawa-ring-offset-background placeholder:hawa-text-gray-400 placeholder:hawa-text-muted-foreground focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0 disabled:hawa-cursor-not-allowed disabled:hawa-opacity-50",
2356
+ className
2357
+ ),
2358
+ ref,
2359
+ ...textareaProps
2360
+ }
2361
+ ), /* @__PURE__ */ React28.createElement("div", { className: "hawa-flex hawa-flex-row hawa-justify-between" }, !forceHideHelperText && /* @__PURE__ */ React28.createElement(
2362
+ "p",
2363
+ {
2364
+ className: cn(
2365
+ "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
2366
+ props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
2367
+ )
2368
+ },
2369
+ props.helperText
2370
+ ), showCount && /* @__PURE__ */ React28.createElement(
2371
+ "div",
2372
+ {
2373
+ className: cn(
2374
+ " hawa-text-start hawa-text-xs hawa-transition-all ",
2375
+ {
2376
+ "hawa-absolute hawa-bottom-[80px] hawa-end-0 hawa-translate-y-1/2": countPosition === "top"
2377
+ }
2378
+ )
2379
+ },
2380
+ (textareaProps == null ? void 0 : textareaProps.value) ? String(textareaProps == null ? void 0 : textareaProps.value).length : 0,
2381
+ "/",
2382
+ textareaProps == null ? void 0 : textareaProps.maxLength
2383
+ )));
2384
+ }
2385
+ );
2386
+ Textarea.displayName = "Textarea";
2387
+
2388
+ // components/elements/fileDropzone/FileDropzone.tsx
2389
+ var import_react12 = __toESM(require("react"));
2390
+ var import_react_dropzone = require("react-dropzone");
2391
+ var import_clsx2 = __toESM(require("clsx"));
2392
+
2393
+ // components/elements/sortButton/SortButton.tsx
2394
+ var import_react13 = __toESM(require("react"));
2395
+
2396
+ // components/elements/tabs/Tabs.tsx
2397
+ var React31 = __toESM(require("react"));
2398
+ var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"));
2399
+ var TabsContext = React31.createContext({ orientation: "vertical" });
2400
+ var Tabs = React31.forwardRef(({ className, orientation, ...props }, ref) => /* @__PURE__ */ React31.createElement(
2401
+ TabsPrimitive.Root,
2402
+ {
2403
+ ref,
2404
+ className: cn(
2405
+ "hawa-flex hawa-gap-2",
2406
+ orientation === "vertical" ? "hawa-flex-row" : "hawa-flex-col",
2407
+ className
2408
+ ),
2409
+ ...props
2410
+ },
2411
+ /* @__PURE__ */ React31.createElement(TabsContext.Provider, { value: { orientation } }, props.children)
2412
+ ));
2413
+ Tabs.displayName = TabsPrimitive.Root.displayName;
2414
+ var TabsList = React31.forwardRef(({ className, ...props }, ref) => {
2415
+ const { orientation } = React31.useContext(TabsContext);
2416
+ return /* @__PURE__ */ React31.createElement(
2417
+ TabsPrimitive.List,
2418
+ {
2419
+ ref,
2420
+ className: cn(
2421
+ "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-border hawa-bg-muted hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10",
2422
+ orientation === "vertical" ? "hawa-flex-col" : "hawa-flex-row",
2423
+ className
2424
+ ),
2425
+ ...props
2426
+ }
2427
+ );
2428
+ });
2429
+ TabsList.displayName = TabsPrimitive.List.displayName;
2430
+ var TabsTrigger = React31.forwardRef(({ className, chipProps, ...props }, ref) => {
2431
+ return /* @__PURE__ */ React31.createElement(
2432
+ TabsPrimitive.Trigger,
2433
+ {
2434
+ ref,
2435
+ className: cn(
2436
+ "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-border hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground data-[state=active]:hawa-shadow-sm dark:hawa-border-primary/10",
2437
+ className
2438
+ ),
2439
+ ...props
2440
+ },
2441
+ props.children,
2442
+ chipProps && /* @__PURE__ */ React31.createElement(Chip, { ...chipProps })
2443
+ );
2444
+ });
2445
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
2446
+ var TabsContent = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React31.createElement(
2447
+ TabsPrimitive.Content,
2448
+ {
2449
+ ref,
2450
+ className: cn(
2451
+ "hawa-ring-offset-hawa-background hawa-w-full focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2",
2452
+ className
2453
+ ),
2454
+ ...props
2455
+ }
2456
+ ));
2457
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
2458
+
2459
+ // components/elements/select/Select.tsx
2460
+ var import_react14 = __toESM(require("react"));
2461
+ var import_react_select = __toESM(require("react-select"));
2462
+ var import_creatable = __toESM(require("react-select/creatable"));
2463
+ var import_clsx3 = __toESM(require("clsx"));
2464
+
2465
+ // components/elements/switch/Switch.tsx
2466
+ var React33 = __toESM(require("react"));
2467
+ var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"));
2468
+ var Switch = React33.forwardRef(
2469
+ ({ className, size = "default", roundedness = "inherit", label, ...props }, ref) => {
2470
+ const [parentDirection, setParentDirection] = React33.useState(
2471
+ null
2472
+ );
2473
+ const parentRef = React33.useRef(null);
2474
+ React33.useEffect(() => {
2475
+ var _a;
2476
+ const parentNode = (_a = parentRef.current) == null ? void 0 : _a.parentNode;
2477
+ if (parentNode) {
2478
+ const dir = window.getComputedStyle(parentNode).direction;
2479
+ setParentDirection(dir);
2480
+ }
2481
+ });
2482
+ const rootSize = {
2483
+ default: "hawa-h-[25px] hawa-w-[42px]",
2484
+ sm: "hawa-h-[20px] hawa-w-[37px]",
2485
+ lg: "hawa-h-[30px] hawa-w-[47px]"
2486
+ };
2487
+ const thumbSize = {
2488
+ default: "hawa-h-[21px] hawa-w-[21px]",
2489
+ sm: "hawa-h-[16px] hawa-w-[16px]",
2490
+ lg: "hawa-h-[26px] hawa-w-[26px]"
2491
+ };
2492
+ const rootRoundednessStyles = {
2493
+ none: "hawa-rounded-none",
2494
+ full: "hawa-rounded-full",
2495
+ inherit: "hawa-rounded"
2496
+ };
2497
+ const thumbRoundednessStyles = {
2498
+ none: "hawa-rounded-none",
2499
+ full: "hawa-rounded-full",
2500
+ inherit: "hawa-rounded-inner"
2501
+ };
2502
+ return /* @__PURE__ */ React33.createElement(
2503
+ "div",
2504
+ {
2505
+ className: "hawa-flex hawa-flex-row hawa-items-center",
2506
+ ref: parentRef
2507
+ },
2508
+ /* @__PURE__ */ React33.createElement(
2509
+ SwitchPrimitives.Root,
2510
+ {
2511
+ className: cn(
2512
+ "data-[state=unchecked]:hawa-bg-primary/20",
2513
+ "data-[state=checked]:hawa-bg-primary",
2514
+ "hawa-relative hawa-cursor-pointer hawa-rounded hawa-outline-none",
2515
+ rootRoundednessStyles[roundedness],
2516
+ className,
2517
+ rootSize[size]
2518
+ ),
2519
+ ...props,
2520
+ ref
2521
+ },
2522
+ /* @__PURE__ */ React33.createElement(
2523
+ SwitchPrimitives.Thumb,
2524
+ {
2525
+ className: cn(
2526
+ thumbSize[size],
2527
+ "hawa-block hawa-rounded hawa-transition-transform hawa-duration-100 hawa-will-change-transform",
2528
+ "data-[state=checked]:hawa-bg-primary-foreground",
2529
+ "hawa-bg-white dark:hawa-bg-background",
2530
+ thumbRoundednessStyles[roundedness],
2531
+ parentDirection === "rtl" ? "hawa--translate-x-0.5 data-[state=checked]:hawa--translate-x-[19px]" : "hawa-translate-x-0.5 data-[state=checked]:hawa-translate-x-[19px]"
2532
+ )
2533
+ }
2534
+ )
2535
+ ),
2536
+ label && /* @__PURE__ */ React33.createElement("span", { className: "hawa-mx-2 hawa-text-sm hawa-font-medium hawa-text-gray-900 dark:hawa-text-gray-300" }, label)
2537
+ );
2538
+ }
2539
+ );
2540
+ Switch.displayName = SwitchPrimitives.Root.displayName;
2541
+
2542
+ // components/elements/checkbox/Checkbox.tsx
2543
+ var React34 = __toESM(require("react"));
2544
+ var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
2545
+ var CheckboxElement = React34.forwardRef(({ radius = "inherit", size = "default", className, ...props }, ref) => {
2546
+ let checkboxRadius = {
2547
+ none: "hawa-rounded-none",
2548
+ inherit: "hawa-rounded-sm",
2549
+ full: "hawa-rounded-full"
2550
+ };
2551
+ let checkboxSizes = {
2552
+ xs: "hawa-w-3 hawa-h-3",
2553
+ sm: "hawa-w-6 hawa-h-6",
2554
+ default: "hawa-icon",
2555
+ md: "hawa-w-8 hawa-h-8",
2556
+ lg: "hawa-w-10 hawa-h-10",
2557
+ xl: "hawa-w-12 hawa-h-12"
2558
+ };
2559
+ let checkboxIndicatorSizes = {
2560
+ xs: "0.5em",
2561
+ default: "0.60em",
2562
+ sm: "0.75em",
2563
+ md: "0.875em",
2564
+ lg: "1em",
2565
+ xl: "1.25em"
2566
+ };
2567
+ return /* @__PURE__ */ React34.createElement(
2568
+ CheckboxPrimitive.Root,
2569
+ {
2570
+ ref,
2571
+ className: cn(
2572
+ "hawa-peer hawa-shrink-0 hawa-border hawa-border-primary hawa-ring-offset-background focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-cursor-not-allowed disabled:hawa-opacity-50 data-[state=checked]:hawa-bg-primary data-[state=checked]:hawa-text-primary-foreground",
2573
+ checkboxSizes[size],
2574
+ checkboxRadius[radius],
2575
+ className
2576
+ ),
2577
+ ...props
2578
+ },
2579
+ /* @__PURE__ */ React34.createElement(
2580
+ CheckboxPrimitive.Indicator,
2581
+ {
2582
+ className: cn(
2583
+ "hawa-flex hawa-items-center hawa-justify-center hawa-text-current"
2584
+ )
2585
+ },
2586
+ /* @__PURE__ */ React34.createElement(
2587
+ "svg",
2588
+ {
2589
+ "aria-label": "Check Mark",
2590
+ stroke: "currentColor",
2591
+ fill: "currentColor",
2592
+ strokeWidth: "0",
2593
+ viewBox: "0 0 512 512",
2594
+ height: checkboxIndicatorSizes[size],
2595
+ width: checkboxIndicatorSizes[size]
2596
+ },
2597
+ /* @__PURE__ */ React34.createElement("path", { d: "M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" })
2598
+ ),
2599
+ " "
2600
+ )
2601
+ );
2602
+ });
2603
+ CheckboxElement.displayName = CheckboxPrimitive.Root.displayName;
2604
+
2605
+ // components/elements/progress/Progress.tsx
2606
+ var React35 = __toESM(require("react"));
2607
+ var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
2608
+ var Progress = React35.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ React35.createElement(
2609
+ ProgressPrimitive.Root,
2610
+ {
2611
+ ref,
2612
+ className: cn(
2613
+ "hawa-relative hawa-h-4 hawa-w-full hawa-overflow-hidden hawa-rounded hawa-bg-secondary",
2614
+ className
2615
+ ),
2616
+ ...props
2617
+ },
2618
+ /* @__PURE__ */ React35.createElement(
2619
+ ProgressPrimitive.Indicator,
2620
+ {
2621
+ className: "hawa-h-full hawa-w-full hawa-flex-1 hawa-bg-primary hawa-transition-all",
2622
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
2623
+ }
2624
+ )
2625
+ ));
2626
+ Progress.displayName = ProgressPrimitive.Root.displayName;
2627
+
2628
+ // components/elements/breadcrumb/Breadcrumb.tsx
2629
+ var import_react15 = __toESM(require("react"));
2630
+
2631
+ // components/elements/appStores/AppStores.tsx
2632
+ var import_react16 = __toESM(require("react"));
2633
+
2634
+ // components/elements/badge/Badge.tsx
2635
+ var import_react17 = __toESM(require("react"));
2636
+
2637
+ // components/elements/phoneInput/PhoneInput.tsx
2638
+ var import_react18 = __toESM(require("react"));
2639
+
2640
+ // components/elements/pinInput/PinInput.tsx
2641
+ var import_react19 = __toESM(require("react"));
2642
+
2643
+ // components/elements/stopPropagationWrapper/StopPropagationWrapper.tsx
2644
+ var import_react20 = __toESM(require("react"));
2645
+
2646
+ // components/elements/scrollArea/ScrollArea.tsx
2647
+ var React42 = __toESM(require("react"));
2648
+ var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"));
2649
+ var ScrollArea = React42.forwardRef(({ className, children, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React42.createElement(
2650
+ ScrollAreaPrimitive.Root,
2651
+ {
2652
+ ref,
2653
+ className: cn("hawa-relative hawa-overflow-hidden", className),
2654
+ ...props
2655
+ },
2656
+ /* @__PURE__ */ React42.createElement(ScrollAreaPrimitive.Viewport, { className: "hawa-h-full hawa-w-full hawa-rounded-[inherit]" }, children),
2657
+ /* @__PURE__ */ React42.createElement(ScrollBar, { orientation }),
2658
+ /* @__PURE__ */ React42.createElement(ScrollAreaPrimitive.Corner, null)
2659
+ ));
2660
+ ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
2661
+ var ScrollBar = React42.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React42.createElement(
2662
+ ScrollAreaPrimitive.ScrollAreaScrollbar,
2663
+ {
2664
+ ref,
2665
+ orientation,
2666
+ className: cn(
2667
+ "hawa-flex hawa-touch-none hawa-select-none hawa-transition-colors",
2668
+ orientation === "vertical" && "hawa-h-full hawa-w-2.5 hawa-border-l hawa-border-l-transparent hawa-p-[1px]",
2669
+ orientation === "horizontal" && "hawa-h-2.5 hawa-border-t hawa-border-t-transparent hawa-p-[1px]",
2670
+ className
2671
+ ),
2672
+ ...props
2673
+ },
2674
+ /* @__PURE__ */ React42.createElement(
2675
+ ScrollAreaPrimitive.ScrollAreaThumb,
2676
+ {
2677
+ className: cn(
2678
+ "hawa-relative hawa-rounded-full hawa-bg-border",
2679
+ orientation === "vertical" && "hawa-flex-1"
2680
+ )
2681
+ }
2682
+ )
2683
+ ));
2684
+ ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
2685
+
2686
+ // components/elements/ProgressCircle.tsx
2687
+ var import_react21 = __toESM(require("react"));
2688
+ var size2config = {
2689
+ xs: {
2690
+ radius: 15,
2691
+ strokeWidth: 3
2692
+ },
2693
+ sm: {
2694
+ radius: 19,
2695
+ strokeWidth: 4
2696
+ },
2697
+ md: {
2698
+ radius: 32,
2699
+ strokeWidth: 6
2700
+ },
2701
+ lg: {
2702
+ radius: 52,
2703
+ strokeWidth: 8
2704
+ },
2705
+ xl: {
2706
+ radius: 80,
2707
+ strokeWidth: 10
2708
+ }
2709
+ };
2710
+ function getLimitedValue(input) {
2711
+ if (input === void 0) {
2712
+ return 0;
2713
+ } else if (input > 100) {
2714
+ return 100;
2715
+ } else {
2716
+ return input;
2717
+ }
2718
+ }
2719
+ var ProgressCircle = import_react21.default.forwardRef((props, ref) => {
2720
+ const {
2721
+ value: inputValue,
2722
+ size = "md",
2723
+ className,
2724
+ showAnimation = true,
2725
+ color,
2726
+ tooltip,
2727
+ radius: inputRadius,
2728
+ strokeWidth: inputStrokeWidth,
2729
+ children,
2730
+ ...other
2731
+ } = props;
2732
+ const value = getLimitedValue(inputValue);
2733
+ const radius = inputRadius != null ? inputRadius : size2config[size].radius;
2734
+ const strokeWidth = inputStrokeWidth != null ? inputStrokeWidth : size2config[size].strokeWidth;
2735
+ const normalizedRadius = radius - strokeWidth / 2;
2736
+ const circumference = normalizedRadius * 2 * Math.PI;
2737
+ const strokeDashoffset = value / 100 * circumference;
2738
+ const offset = circumference - strokeDashoffset;
2739
+ return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
2740
+ "div",
2741
+ {
2742
+ ref,
2743
+ className: cn(
2744
+ "hawa-flex hawa-flex-col hawa-items-center hawa-justify-center",
2745
+ className
2746
+ )
2747
+ },
2748
+ /* @__PURE__ */ import_react21.default.createElement(
2749
+ "svg",
2750
+ {
2751
+ width: radius * 2,
2752
+ height: radius * 2,
2753
+ viewBox: `0 0 ${radius * 2} ${radius * 2}`,
2754
+ className: "hawa-rotate-180 hawa-transform"
2755
+ },
2756
+ /* @__PURE__ */ import_react21.default.createElement(
2757
+ "circle",
2758
+ {
2759
+ r: normalizedRadius,
2760
+ cx: radius,
2761
+ cy: radius,
2762
+ strokeWidth,
2763
+ fill: "transparent",
2764
+ stroke: "",
2765
+ strokeLinecap: "round",
2766
+ className: cn(
2767
+ "hawa-transition-colors hawa-ease-linear",
2768
+ " hawa-stroke-primary/20"
2769
+ )
2770
+ }
2771
+ ),
2772
+ value > 0 ? /* @__PURE__ */ import_react21.default.createElement(
2773
+ "circle",
2774
+ {
2775
+ r: normalizedRadius,
2776
+ cx: radius,
2777
+ cy: radius,
2778
+ strokeWidth,
2779
+ strokeDasharray: circumference + " " + circumference,
2780
+ strokeDashoffset: offset,
2781
+ fill: "transparent",
2782
+ stroke: "",
2783
+ strokeLinecap: "round",
2784
+ className: cn(
2785
+ "hawa-transition-colors hawa-ease-linear",
2786
+ "hawa-stroke-primary",
2787
+ showAnimation ? "hawa-transition-all hawa-duration-300 hawa-ease-in-out" : ""
2788
+ )
2789
+ }
2790
+ ) : null
2791
+ ),
2792
+ /* @__PURE__ */ import_react21.default.createElement("div", { className: cn("hawa-absolute hawa-flex") }, children)
2793
+ ));
2794
+ });
2795
+ ProgressCircle.displayName = "ProgressCircle";
2796
+
2797
+ // components/elements/Pagination.tsx
2798
+ var import_react22 = __toESM(require("react"));
2799
+ var import_react_headless_pagination = require("react-headless-pagination");
2800
+
2801
+ // components/elements/PasswordInput.tsx
2802
+ var import_react26 = __toESM(require("react"));
2803
+
2804
+ // components/icons/Emojis.tsx
2805
+ var import_react23 = __toESM(require("react"));
2806
+
2807
+ // components/icons/InputIcons.tsx
2808
+ var import_react24 = __toESM(require("react"));
2809
+
2810
+ // components/icons/CommonIcons.tsx
2811
+ var import_react25 = __toESM(require("react"));
2812
+
2813
+ // components/elements/Slider.tsx
2814
+ var React49 = __toESM(require("react"));
2815
+ var SliderPrimitive = __toESM(require("@radix-ui/react-slider"));
2816
+ var Slider = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React49.createElement(
2817
+ SliderPrimitive.Root,
2818
+ {
2819
+ ref,
2820
+ className: cn(
2821
+ "hawa-relative hawa-flex hawa-w-full hawa-touch-none hawa-select-none hawa-items-center",
2822
+ className
2823
+ ),
2824
+ ...props
2825
+ },
2826
+ /* @__PURE__ */ React49.createElement(SliderPrimitive.Track, { className: "hawa-relative hawa-h-2 hawa-w-full hawa-grow hawa-overflow-hidden hawa-rounded-full hawa-border hawa-bg-background" }, /* @__PURE__ */ React49.createElement(SliderPrimitive.Range, { className: "hawa-absolute hawa-h-full hawa-bg-primary" })),
2827
+ /* @__PURE__ */ React49.createElement(SliderPrimitive.Thumb, { className: "hawa-block hawa-h-5 hawa-w-5 hawa-rounded-full hawa-border-2 hawa-border-primary hawa-bg-background hawa-ring-offset-background hawa-transition-colors focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50" })
2828
+ ));
2829
+ Slider.displayName = SliderPrimitive.Root.displayName;
2830
+
2831
+ // components/elements/SimpleTable.tsx
2832
+ var React50 = __toESM(require("react"));
2833
+ var import_react_table2 = require("@tanstack/react-table");
2834
+
2835
+ // components/elements/Separator.tsx
2836
+ var React51 = __toESM(require("react"));
2837
+
2838
+ // components/elements/ScrollIndicator.tsx
2839
+ var import_react27 = __toESM(require("react"));
2840
+
2841
+ // components/elements/ColorPicker.tsx
2842
+ var import_react28 = __toESM(require("react"));
2843
+
2844
+ // components/elements/CodeBlock.tsx
2845
+ var import_react30 = __toESM(require("react"));
2846
+ var import_prism_react_renderer = require("prism-react-renderer");
2847
+
2848
+ // components/hooks/useClipboard.ts
2849
+ var import_react29 = require("react");
2850
+
2851
+ // components/elements/Carousel.tsx
2852
+ var import_react31 = __toESM(require("react"));
2853
+ var import_embla_carousel_react = __toESM(require("embla-carousel-react"));
2854
+
2855
+ // components/elements/Count.tsx
2856
+ var import_react32 = __toESM(require("react"));
2857
+
2858
+ // components/elements/Toast.tsx
2859
+ var React57 = __toESM(require("react"));
2860
+ var ToastPrimitives = __toESM(require("@radix-ui/react-toast"));
2861
+ var import_class_variance_authority4 = require("class-variance-authority");
2862
+ var toastVariants = (0, import_class_variance_authority4.cva)(
2863
+ "hawa-group hawa-z-[900] hawa-pointer-events-auto hawa-relative hawa-flex hawa-w-full hawa-items-center hawa-justify-between hawa-space-x-4 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-shadow-lg hawa-transition-all data-[swipe=cancel]:hawa-translate-x-0 data-[swipe=end]:hawa-translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:hawa-translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:hawa-transition-none data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[swipe=end]:hawa-animate-out data-[state=closed]:hawa-fade-out-80 data-[state=open]:hawa-slide-in-from-top-full data-[state=open]:sm:hawa-slide-in-from-bottom-full",
2864
+ {
2865
+ variants: {
2866
+ variant: {
2867
+ default: "hawa-border hawa-bg-background hawa-text-foreground",
2868
+ destructive: "hawa-destructive hawa-group hawa-border-destructive hawa-bg-destructive hawa-text-destructive-foreground"
2869
+ },
2870
+ severity: {
2871
+ info: "hawa-info hawa-group hawa-text-info-foreground hawa-bg-info",
2872
+ warning: "hawa-warning hawa-group hawa-text-warning-foreground hawa-bg-warning",
2873
+ error: "hawa-error hawa-group hawa-border-error hawa-bg-error hawa-text-white",
2874
+ success: "hawa-success hawa-group hawa-text-success-foreground hawa-bg-success",
2875
+ none: ""
2876
+ }
2877
+ },
2878
+ defaultVariants: {
2879
+ variant: "default"
2880
+ }
2881
+ }
2882
+ );
2883
+ var ToastViewport = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React57.createElement(
2884
+ ToastPrimitives.Viewport,
2885
+ {
2886
+ ref,
2887
+ className: cn(
2888
+ "hawa-fixed hawa-top-0 hawa-z-[100] hawa-flex hawa-max-h-screen hawa-w-full hawa-flex-col-reverse hawa-p-4 sm:hawa-bottom-0 sm:hawa-right-0 sm:hawa-top-auto sm:hawa-flex-col md:hawa-max-w-[420px]",
2889
+ className
2890
+ ),
2891
+ ...props
2892
+ }
2893
+ ));
2894
+ ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
2895
+ var Toast = React57.forwardRef(({ className, variant, severity = "none", direction, ...props }, ref) => {
2896
+ return /* @__PURE__ */ React57.createElement(
2897
+ ToastPrimitives.Root,
2898
+ {
2899
+ ref,
2900
+ className: cn(
2901
+ toastVariants({ variant, severity }),
2902
+ className,
2903
+ direction === "rtl" ? "hawa-p-6 hawa-pl-0 hawa-pr-10 data-[state=closed]:hawa-slide-out-to-left-full" : "hawa-p-6 hawa-pr-8 data-[state=closed]:hawa-slide-out-to-right-full"
2904
+ ),
2905
+ dir: direction,
2906
+ ...props
2907
+ }
2908
+ );
2909
+ });
2910
+ Toast.displayName = ToastPrimitives.Root.displayName;
2911
+ var ToastAction = React57.forwardRef(({ className, ...props }, ref) => {
2912
+ return /* @__PURE__ */ React57.createElement(
2913
+ ToastPrimitives.Action,
2914
+ {
2915
+ ref,
2916
+ className: cn(
2917
+ "hawa-inline-flex hawa-h-8 hawa-shrink-0 hawa-items-center hawa-justify-center hawa-rounded-md hawa-border hawa-bg-transparent hawa-px-3 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-colors hover:hawa-bg-secondary hover:hawa-text-secondary-foreground focus:hawa-outline-none focus:hawa-ring-2 focus:hawa-ring-ring focus:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
2918
+ "group-[.info]:hawa-border-muted/40 group-[.info]:hover:hawa-border-info/30 group-[.info]:hover:hawa-bg-info group-[.info]:hover:hawa-text-info-foreground group-[.info]:focus:hawa-ring-info",
2919
+ "group-[.error]:hawa-border-muted/40 group-[.error]:hover:hawa-border-error/30 group-[.error]:hover:hawa-bg-error group-[.error]:hover:hawa-text-error-foreground group-[.error]:focus:hawa-ring-error",
2920
+ "group-[.success]:hawa-border-muted/40 group-[.success]:hover:hawa-border-success/30 group-[.success]:hover:hawa-bg-success group-[.success]:hover:hawa-text-success-foreground group-[.success]:focus:hawa-ring-success",
2921
+ "group-[.warning]:hawa-border-muted/40 group-[.warning]:hover:hawa-border-warning/30 group-[.warning]:hover:hawa-bg-warning group-[.warning]:hover:hawa-text-warning-foreground group-[.warning]:focus:hawa-ring-warning",
2922
+ className
2923
+ ),
2924
+ ...props
2925
+ }
2926
+ );
2927
+ });
2928
+ ToastAction.displayName = ToastPrimitives.Action.displayName;
2929
+ var ToastClose = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React57.createElement(
2930
+ ToastPrimitives.Close,
2931
+ {
2932
+ ref,
2933
+ className: cn(
2934
+ "hawa-absolute hawa-right-2 hawa-top-2 hawa-rounded-md hawa-p-1 hawa-text-foreground/50 hawa-opacity-0 hawa-transition-opacity hover:hawa-text-foreground focus:hawa-opacity-100 focus:hawa-outline-none focus:hawa-ring-2 group-hover:hawa-opacity-100 group-[.destructive]:hawa-text-red-300 group-[.destructive]:hover:hawa-text-red-50 group-[.destructive]:focus:hawa-ring-red-400 group-[.destructive]:focus:hawa-ring-offset-red-600",
2935
+ className
2936
+ ),
2937
+ "toast-close": "",
2938
+ ...props
2939
+ },
2940
+ /* @__PURE__ */ React57.createElement(
2941
+ "svg",
2942
+ {
2943
+ "aria-label": "Close Icon",
2944
+ "aria-hidden": "true",
2945
+ className: "hawa-icon",
2946
+ fill: "currentColor",
2947
+ viewBox: "0 0 20 20"
2948
+ },
2949
+ /* @__PURE__ */ React57.createElement(
2950
+ "path",
2951
+ {
2952
+ fillRule: "evenodd",
2953
+ d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
2954
+ clipRule: "evenodd"
2955
+ }
2956
+ )
2957
+ )
2958
+ ));
2959
+ ToastClose.displayName = ToastPrimitives.Close.displayName;
2960
+ var ToastTitle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React57.createElement(
2961
+ ToastPrimitives.Title,
2962
+ {
2963
+ ref,
2964
+ className: cn(
2965
+ "hawa-select-text hawa-text-sm hawa-font-semibold",
2966
+ className
2967
+ ),
2968
+ ...props
2969
+ }
2970
+ ));
2971
+ ToastTitle.displayName = ToastPrimitives.Title.displayName;
2972
+ var ToastDescription = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React57.createElement(
2973
+ ToastPrimitives.Description,
2974
+ {
2975
+ ref,
2976
+ className: cn("hawa-select-text hawa-text-sm hawa-opacity-90", className),
2977
+ ...props
2978
+ }
2979
+ ));
2980
+ ToastDescription.displayName = ToastPrimitives.Description.displayName;
2981
+
2982
+ // components/elements/Toaster.tsx
2983
+ var import_react33 = __toESM(require("react"));
2984
+
2985
+ // components/hooks/useToast.ts
2986
+ var React58 = __toESM(require("react"));
2987
+
2988
+ // components/elements/DestroyableCard.tsx
2989
+ var import_react34 = __toESM(require("react"));
2990
+
2991
+ // components/elements/InterfaceSettings.tsx
2992
+ var import_react35 = __toESM(require("react"));
2993
+
2994
+ // components/layout/Stats.tsx
2995
+ var Stats = ({
2996
+ label,
2997
+ icon,
2998
+ isLoading,
2999
+ number,
3000
+ helperText,
3001
+ helperTextColor = "default",
3002
+ chart,
3003
+ variant = "default",
3004
+ ...props
3005
+ }) => {
3006
+ let helperTextColorStyles = {
3007
+ default: "",
3008
+ positive: "hawa-text-green-600 dark:hawa-text-green-500",
3009
+ negative: "hawa-text-red-600 dark:hawa-text-red-500",
3010
+ muted: "hawa-text-muted-foreground"
3011
+ };
3012
+ return /* @__PURE__ */ import_react36.default.createElement(Card, { ...props, clickable: Boolean(props.onClick) }, /* @__PURE__ */ import_react36.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-justify-between hawa-p-4" }, /* @__PURE__ */ import_react36.default.createElement(CardTitle, { className: "hawa-text-sm hawa-font-medium" }, label), icon && /* @__PURE__ */ import_react36.default.createElement("span", null, icon)), /* @__PURE__ */ import_react36.default.createElement(CardContent, { className: "hawa-transition-all" }, isLoading ? /* @__PURE__ */ import_react36.default.createElement(Skeleton, { className: "hawa-h-8 hawa-w-3/4" }) : /* @__PURE__ */ import_react36.default.createElement("div", { className: "hawa-text-2xl hawa-font-bold" }, number), helperText && /* @__PURE__ */ import_react36.default.createElement(
3013
+ "div",
3014
+ {
3015
+ className: cn(
3016
+ "hawa-my-0 hawa-text-start hawa-text-xs hawa-transition-all",
3017
+ helperTextColorStyles[helperTextColor],
3018
+ helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
3019
+ )
3020
+ },
3021
+ isLoading ? /* @__PURE__ */ import_react36.default.createElement(Skeleton, { className: "hawa-mt-2 hawa-h-4 hawa-w-1/2" }) : helperText
3022
+ ), chart && (isLoading ? /* @__PURE__ */ import_react36.default.createElement(Skeleton, { className: "hawa-mt-2 hawa-h-4 hawa-w-1/2" }) : chart)));
3023
+ };
3024
+
3025
+ // components/layout/Sidebar.tsx
3026
+ var React63 = __toESM(require("react"));
3027
+ var AccordionPrimitive6 = __toESM(require("@radix-ui/react-accordion"));
3028
+ var Accordion2 = AccordionPrimitive6.Root;
3029
+ var triggerStyles = "hawa-flex hawa-flex-1 hawa-items-center hawa-duration-75 hawa-select-none hawa-cursor-pointer hawa-rounded hawa-justify-between hawa-p-2 hawa-px-3 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa--rotate-90";
3030
+ var AccordionItem2 = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React63.createElement(AccordionPrimitive6.Item, { ref, className: cn(className), ...props }));
3031
+ AccordionItem2.displayName = "AccordionItem";
3032
+ var AccordionTrigger2 = React63.forwardRef(({ className, showArrow, children, ...props }, ref) => /* @__PURE__ */ React63.createElement(AccordionPrimitive6.Header, { className: "flex" }, /* @__PURE__ */ React63.createElement(
3033
+ AccordionPrimitive6.Trigger,
3034
+ {
3035
+ ref,
3036
+ className: cn(triggerStyles, className),
3037
+ ...props
3038
+ },
3039
+ children,
3040
+ showArrow && /* @__PURE__ */ React63.createElement(
3041
+ "svg",
3042
+ {
3043
+ "aria-label": "Chevron Right Icon",
3044
+ stroke: "currentColor",
3045
+ fill: "currentColor",
3046
+ viewBox: "0 0 16 16",
3047
+ height: "1em",
3048
+ width: "1em",
3049
+ className: "hawa-icon hawa-shrink-0 hawa-rotate-90 hawa-transition-transform hawa-duration-200"
3050
+ },
3051
+ /* @__PURE__ */ React63.createElement("path", { d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z" })
3052
+ )
3053
+ )));
3054
+ AccordionTrigger2.displayName = AccordionPrimitive6.Trigger.displayName;
3055
+ var AccordionContent2 = React63.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React63.createElement(
3056
+ AccordionPrimitive6.Content,
3057
+ {
3058
+ ref,
3059
+ className: cn(
3060
+ "hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down",
3061
+ className
3062
+ ),
3063
+ ...props
3064
+ },
3065
+ /* @__PURE__ */ React63.createElement("div", null, children)
3066
+ ));
3067
+ AccordionContent2.displayName = AccordionPrimitive6.Content.displayName;
3068
+ var SidebarGroup = ({
3069
+ title,
3070
+ items,
3071
+ selectedItem,
3072
+ openedItem,
3073
+ setOpenedItem,
3074
+ onItemClick,
3075
+ onSubItemClick,
3076
+ direction,
3077
+ isOpen
3078
+ }) => {
3079
+ return /* @__PURE__ */ React63.createElement("div", { className: "hawa-m-2" }, title && /* @__PURE__ */ React63.createElement("h3", { className: "hawa-mb-1 hawa-font-bold" }, title), /* @__PURE__ */ React63.createElement("ul", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, /* @__PURE__ */ React63.createElement(
3080
+ Accordion2,
3081
+ {
3082
+ value: openedItem,
3083
+ type: "single",
3084
+ onValueChange: (e) => {
3085
+ setOpenedItem(e);
3086
+ },
3087
+ collapsible: true,
3088
+ className: "hawa-flex hawa-flex-col hawa-gap-1"
3089
+ },
3090
+ items.map((item, idx) => /* @__PURE__ */ React63.createElement(
3091
+ SidebarItem,
3092
+ {
3093
+ isOpen,
3094
+ selectedItem,
3095
+ key: idx,
3096
+ direction,
3097
+ item,
3098
+ onItemClick,
3099
+ onSubItemClick
3100
+ }
3101
+ ))
3102
+ )));
3103
+ };
3104
+ var SidebarItem = ({
3105
+ item,
3106
+ onItemClick,
3107
+ onSubItemClick,
3108
+ direction,
3109
+ isOpen = true,
3110
+ ...props
3111
+ }) => {
3112
+ const getSelectedStyle = (value) => {
3113
+ return props.selectedItem === value ? "hawa-bg-primary/90 hawa-text-primary-foreground hawa-cursor-default" : "hover:hawa-bg-primary/10";
3114
+ };
3115
+ if (item.subitems) {
3116
+ return /* @__PURE__ */ React63.createElement(
3117
+ AccordionItem2,
3118
+ {
3119
+ value: item.value,
3120
+ className: "hawa-overflow-x-clip ",
3121
+ dir: direction
3122
+ },
3123
+ /* @__PURE__ */ React63.createElement(
3124
+ AccordionTrigger2,
3125
+ {
3126
+ className: cn(
3127
+ "hawa-w-full hawa-overflow-x-clip",
3128
+ props.selectedItem === item.value ? "hawa-cursor-default hawa-bg-primary hawa-text-primary-foreground" : "hawa-h-10 hover:hawa-bg-primary/10",
3129
+ item.subitems && item.subitems.some(
3130
+ (subitem) => props.selectedItem === subitem.value
3131
+ ) ? "hawa-bg-primary/80 hawa-text-primary-foreground hover:hawa-bg-primary/80" : ""
3132
+ ),
3133
+ showArrow: isOpen
3134
+ },
3135
+ /* @__PURE__ */ React63.createElement(
3136
+ "div",
3137
+ {
3138
+ className: cn(
3139
+ "hawa-flex hawa-h-fit hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2"
3140
+ )
3141
+ },
3142
+ item.icon && item.icon,
3143
+ /* @__PURE__ */ React63.createElement(
3144
+ "span",
3145
+ {
3146
+ className: cn(
3147
+ "hawa-transition-all ",
3148
+ isOpen ? "hawa-opacity-100" : "hawa-opacity-0"
3149
+ )
3150
+ },
3151
+ item.label
3152
+ )
3153
+ )
3154
+ ),
3155
+ item.subitems && /* @__PURE__ */ React63.createElement(AccordionContent2, { className: "hawa-mt-1 hawa-h-full hawa-rounded" }, /* @__PURE__ */ React63.createElement(
3156
+ "div",
3157
+ {
3158
+ className: cn(
3159
+ "hawa-flex hawa-h-full hawa-flex-col hawa-gap-2 hawa-bg-foreground/5 hawa-p-1"
3160
+ )
3161
+ },
3162
+ item.subitems.map((subitem, idx) => /* @__PURE__ */ React63.createElement(
3163
+ "a",
3164
+ {
3165
+ href: subitem.slug,
3166
+ key: idx,
3167
+ onMouseDown: (e) => {
3168
+ if (subitem.onMouseDown) {
3169
+ subitem.onMouseDown(e);
3170
+ }
3171
+ },
3172
+ onClick: (e) => {
3173
+ e.stopPropagation();
3174
+ if (subitem.onClick) {
3175
+ subitem.onClick(e);
3176
+ }
3177
+ if (onSubItemClick) {
3178
+ onSubItemClick([item.value, subitem.value]);
3179
+ }
3180
+ },
3181
+ className: cn(
3182
+ "hawa-flex hawa-h-full hawa-cursor-pointer hawa-flex-row hawa-items-center hawa-gap-2 hawa-overflow-x-clip hawa-whitespace-nowrap hawa-rounded hawa-p-2 hawa-transition-all",
3183
+ // bg-foreground/10
3184
+ getSelectedStyle(subitem.value)
3185
+ )
3186
+ },
3187
+ subitem.icon && subitem.icon,
3188
+ subitem.label
3189
+ ))
3190
+ ))
3191
+ );
3192
+ } else {
3193
+ return /* @__PURE__ */ React63.createElement(
3194
+ "a",
3195
+ {
3196
+ href: item.slug,
3197
+ dir: direction,
3198
+ onMouseDown: (e) => {
3199
+ if (item.onMouseDown) {
3200
+ item.onMouseDown(e);
3201
+ }
3202
+ },
3203
+ onClick: (e) => {
3204
+ if (item.onClick) {
3205
+ item.onClick(e);
3206
+ }
3207
+ if (onItemClick) {
3208
+ onItemClick([item.value]);
3209
+ }
3210
+ },
3211
+ className: cn(
3212
+ triggerStyles,
3213
+ getSelectedStyle(item.value),
3214
+ "hawa-overflow-x-clip "
3215
+ )
3216
+ },
3217
+ /* @__PURE__ */ React63.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2" }, item.icon && item.icon, /* @__PURE__ */ React63.createElement(
3218
+ "span",
3219
+ {
3220
+ className: cn(
3221
+ "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2 hawa-whitespace-nowrap hawa-transition-all",
3222
+ isOpen ? "hawa-opacity-100" : "hawa-opacity-0"
3223
+ )
3224
+ },
3225
+ item.label,
3226
+ " ",
3227
+ item.badge && /* @__PURE__ */ React63.createElement(Chip, { label: item.badge.label, color: "hyper", size: "small" })
3228
+ ))
3229
+ );
3230
+ }
3231
+ };
3232
+
3233
+ // components/layout/Copyrights.tsx
3234
+ var import_react37 = __toESM(require("react"));
3235
+ var Copyrights = (props) => {
3236
+ return /* @__PURE__ */ import_react37.default.createElement("div", { className: "hawa-my-2 hawa-flex hawa-flex-col hawa-items-center hawa-justify-center hawa-gap-1 hawa-text-xs hawa-text-gray-400" }, props.withLogo ? /* @__PURE__ */ import_react37.default.createElement("a", { href: props.onLogoClicked }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "hawa-cursor-pointer" }, /* @__PURE__ */ import_react37.default.createElement("image", { href: props.logoURL, width: 100, height: 50 }))) : null, /* @__PURE__ */ import_react37.default.createElement("div", null, props.version), props.credits ? props.credits : null);
3237
+ };
3238
+
3239
+ // components/layout/Navbar.tsx
3240
+ var import_react38 = __toESM(require("react"));
3241
+
3242
+ // components/elements/Collapsible.tsx
3243
+ var CollapsiblePrimitive = __toESM(require("@radix-ui/react-collapsible"));
3244
+ var Collapsible = CollapsiblePrimitive.Root;
3245
+ var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
3246
+ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
3247
+
3248
+ // components/layout/Navbar.tsx
3249
+ var Navbar = ({
3250
+ backgroundColor,
3251
+ logo,
3252
+ handleLogoClick,
3253
+ ...props
3254
+ }) => {
3255
+ var _a, _b;
3256
+ const [isOpen, setIsOpen] = (0, import_react38.useState)(false);
3257
+ return /* @__PURE__ */ import_react38.default.createElement("nav", { className: " hawa-sticky hawa-top-2 hawa-transition-all" }, /* @__PURE__ */ import_react38.default.createElement(
3258
+ Collapsible,
3259
+ {
3260
+ className: "hawa-relative hawa-m-2 hawa-rounded hawa-p-2",
3261
+ style: { backgroundColor: backgroundColor || "#1f2937" }
3262
+ },
3263
+ /* @__PURE__ */ import_react38.default.createElement("div", { className: "hawa-flex hawa-items-center hawa-justify-between hawa-px-3 " }, /* @__PURE__ */ import_react38.default.createElement("div", { className: "hawa-flex hawa-items-center" }, /* @__PURE__ */ import_react38.default.createElement(
3264
+ "div",
3265
+ {
3266
+ className: "hawa-p-1.5 hawa-text-xl hawa-font-bold hawa-text-white",
3267
+ onClick: () => {
3268
+ if (handleLogoClick) {
3269
+ handleLogoClick();
3270
+ }
3271
+ }
3272
+ },
3273
+ logo
3274
+ )), /* @__PURE__ */ import_react38.default.createElement("div", { className: "hawa-hidden md:hawa-flex " }, (_a = props.menuItems) == null ? void 0 : _a.map((item, i) => /* @__PURE__ */ import_react38.default.createElement(
3275
+ "div",
3276
+ {
3277
+ key: i,
3278
+ onClick: item.action,
3279
+ className: "hawa-cursor-pointer hawa-rounded hawa-p-1.5 hawa-px-2 hawa-text-center hawa-text-sm hawa-text-white hawa-transition-all hover:hawa-bg-gray-300 hover:hawa-text-black"
3280
+ },
3281
+ item.label
3282
+ ))), /* @__PURE__ */ import_react38.default.createElement("div", { className: "hawa-m-0 hawa-flex hawa-h-fit hawa-p-0 md:hawa-hidden" }, /* @__PURE__ */ import_react38.default.createElement(
3283
+ CollapsibleTrigger2,
3284
+ {
3285
+ onClick: () => setIsOpen(!isOpen),
3286
+ className: "hawa-h-full hawa-text-white selection:hawa-p-0 ",
3287
+ "aria-label": "Toggle menu"
3288
+ },
3289
+ /* @__PURE__ */ import_react38.default.createElement(
3290
+ "svg",
3291
+ {
3292
+ xmlns: "http://www.w3.org/2000/svg",
3293
+ width: "24",
3294
+ height: "24",
3295
+ viewBox: "0 0 24 24",
3296
+ fill: "none",
3297
+ stroke: "currentColor",
3298
+ strokeWidth: "2",
3299
+ strokeLinecap: "round",
3300
+ strokeLinejoin: "round",
3301
+ className: cn(
3302
+ "hawa-fixed hawa-h-6 hawa-w-6",
3303
+ isOpen ? "hawa-invisible" : "hawa-visible"
3304
+ )
3305
+ },
3306
+ /* @__PURE__ */ import_react38.default.createElement("line", { x1: "4", x2: "20", y1: "12", y2: "12" }),
3307
+ /* @__PURE__ */ import_react38.default.createElement("line", { x1: "4", x2: "20", y1: "6", y2: "6" }),
3308
+ /* @__PURE__ */ import_react38.default.createElement("line", { x1: "4", x2: "20", y1: "18", y2: "18" })
3309
+ ),
3310
+ /* @__PURE__ */ import_react38.default.createElement(
3311
+ "svg",
3312
+ {
3313
+ xmlns: "http://www.w3.org/2000/svg",
3314
+ width: "24",
3315
+ height: "24",
3316
+ viewBox: "0 0 24 24",
3317
+ fill: "none",
3318
+ stroke: "currentColor",
3319
+ strokeWidth: "2",
3320
+ strokeLinecap: "round",
3321
+ strokeLinejoin: "round",
3322
+ className: cn(
3323
+ "hawa-h-6 hawa-w-6",
3324
+ !isOpen ? "hawa-invisible" : "hawa-visible"
3325
+ )
3326
+ },
3327
+ /* @__PURE__ */ import_react38.default.createElement("path", { d: "M18 6 6 18" }),
3328
+ /* @__PURE__ */ import_react38.default.createElement("path", { d: "m6 6 12 12" })
3329
+ )
3330
+ ))),
3331
+ /* @__PURE__ */ import_react38.default.createElement(
3332
+ CollapsibleContent2,
3333
+ {
3334
+ className: cn(
3335
+ "data-[state=closed]:hawa-opacity-0",
3336
+ "data-[state=open]:hawa-animate-in",
3337
+ "data-[state=open]:hawa-fade-in-90",
3338
+ "hawa-absolute hawa-left-0 hawa-top-[60px] hawa-flex hawa-flex-col hawa-rounded hawa-border hawa-bg-gray-200 hawa-p-1 hawa-transition-all"
3339
+ // "hawa-transition-all hawa-bg-gray-400 hawa-fixed hawa-left-0 hawa-top-[72px] hawa-w-full hawa-flex hawa-flex-col"
3340
+ ),
3341
+ style: {
3342
+ width: "calc(100%)",
3343
+ zIndex: -100
3344
+ }
3345
+ },
3346
+ (_b = props.menuItems) == null ? void 0 : _b.map((item, i) => /* @__PURE__ */ import_react38.default.createElement(
3347
+ "div",
3348
+ {
3349
+ key: i,
3350
+ onClick: item.action,
3351
+ className: "hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-px-10 hawa-text-center hawa-text-black hawa-transition-all hover:hawa-bg-gray-300"
3352
+ },
3353
+ item.label
3354
+ ))
3355
+ )
3356
+ ));
3357
+ };
3358
+
3359
+ // components/layout/AppLayout.tsx
3360
+ var import_react39 = __toESM(require("react"));
3361
+ var AppLayout = ({
3362
+ profileMenuWidth = "default",
3363
+ DrawerFooterActions,
3364
+ design = "default",
3365
+ direction = "ltr",
3366
+ drawerSize = "md",
3367
+ currentPage,
3368
+ clickedItem,
3369
+ setKeepOpen,
3370
+ keepOpen,
3371
+ ...props
3372
+ }) => {
3373
+ var _a, _b;
3374
+ let closeDrawerWidth = 56;
3375
+ let openDrawerWidth = 200;
3376
+ let drawerSizeStyle = {
3377
+ opened: {
3378
+ sm: "100",
3379
+ md: openDrawerWidth,
3380
+ lg: "250"
3381
+ },
3382
+ closed: {
3383
+ sm: closeDrawerWidth,
3384
+ md: closeDrawerWidth,
3385
+ lg: closeDrawerWidth
3386
+ }
3387
+ };
3388
+ const ref = (0, import_react39.useRef)(null);
3389
+ const isRTL = direction === "rtl";
3390
+ const [openedSidebarItem, setOpenedSidebarItem] = (0, import_react39.useState)("");
3391
+ const [size, setSize] = (0, import_react39.useState)(1200);
3392
+ const [openSideMenu, setOpenSideMenu] = (0, import_react39.useState)(true);
3393
+ const drawerSizeCondition = size > 600 ? drawerSizeStyle[keepOpen ? "opened" : "closed"][drawerSize] : 0;
3394
+ (0, import_react39.useEffect)(() => {
3395
+ if (typeof window !== "undefined") {
3396
+ const resize = () => {
3397
+ setSize(window.innerWidth);
3398
+ };
3399
+ resize();
3400
+ window.addEventListener("resize", resize);
3401
+ return () => {
3402
+ window.removeEventListener("resize", resize);
3403
+ };
3404
+ }
3405
+ }, []);
3406
+ (0, import_react39.useEffect)(() => {
3407
+ if (size > 600) {
3408
+ setOpenSideMenu(keepOpen);
3409
+ } else {
3410
+ setOpenSideMenu(false);
3411
+ }
3412
+ }, [size]);
3413
+ (0, import_react39.useEffect)(() => {
3414
+ const handleClickOutside = (event) => {
3415
+ if (ref.current && !ref.current.contains(event.target) && !keepOpen) {
3416
+ setOpenSideMenu(false);
3417
+ }
3418
+ };
3419
+ document.addEventListener("click", handleClickOutside, true);
3420
+ return () => {
3421
+ document.removeEventListener("click", handleClickOutside, true);
3422
+ };
3423
+ }, [keepOpen]);
3424
+ return /* @__PURE__ */ import_react39.default.createElement("div", { className: "hawa-fixed hawa-left-0" }, props.topBar && /* @__PURE__ */ import_react39.default.createElement(
3425
+ "div",
3426
+ {
3427
+ className: cn(
3428
+ "hawa-fixed hawa-left-0 hawa-right-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
3429
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
3430
+ )
3431
+ },
3432
+ size > 600 ? /* @__PURE__ */ import_react39.default.createElement(
3433
+ "div",
3434
+ {
3435
+ className: cn(
3436
+ "dark:hawa-text-white",
3437
+ isRTL ? [
3438
+ size > 600 ? "hawa-mr-14" : "hawa-mr-2",
3439
+ keepOpen ? "hawa-mr-40" : ""
3440
+ ] : [
3441
+ size > 600 ? "hawa-ml-14" : "hawa-ml-2",
3442
+ keepOpen ? "hawa-ml-40" : ""
3443
+ ]
3444
+ ),
3445
+ style: isRTL ? {
3446
+ marginRight: `${drawerSizeStyle[keepOpen ? "opened" : "closed"][drawerSize]}px`
3447
+ } : {
3448
+ marginLeft: `${drawerSizeStyle[keepOpen ? "opened" : "closed"][drawerSize]}px`
3449
+ }
3450
+ },
3451
+ props.pageTitle
3452
+ ) : (
3453
+ // Mobile Drawer Menu Button
3454
+ /* @__PURE__ */ import_react39.default.createElement(
3455
+ "div",
3456
+ {
3457
+ dir: direction,
3458
+ className: "hawa-flex hawa-items-center hawa-justify-center hawa-gap-0.5"
3459
+ },
3460
+ /* @__PURE__ */ import_react39.default.createElement(
3461
+ "div",
3462
+ {
3463
+ onClick: () => setOpenSideMenu(true),
3464
+ className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all hover:hawa-bg-gray-100"
3465
+ },
3466
+ /* @__PURE__ */ import_react39.default.createElement(MenuIcon, null)
3467
+ ),
3468
+ props.pageTitle ? /* @__PURE__ */ import_react39.default.createElement("div", { className: "hawa-text-sm" }, props.pageTitle) : /* @__PURE__ */ import_react39.default.createElement("div", null)
3469
+ )
3470
+ ),
3471
+ /* @__PURE__ */ import_react39.default.createElement(
3472
+ "div",
3473
+ {
3474
+ className: cn(
3475
+ "hawa-flex hawa-gap-2 dark:hawa-text-white",
3476
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
3477
+ )
3478
+ },
3479
+ size > 600 ? /* @__PURE__ */ import_react39.default.createElement(
3480
+ "div",
3481
+ {
3482
+ className: isRTL ? "hawa-text-left hawa-text-xs" : "hawa-text-right hawa-text-xs"
3483
+ },
3484
+ /* @__PURE__ */ import_react39.default.createElement("div", { className: "hawa-font-bold" }, props.username),
3485
+ " ",
3486
+ /* @__PURE__ */ import_react39.default.createElement("div", null, props.email)
3487
+ ) : null,
3488
+ /* @__PURE__ */ import_react39.default.createElement(
3489
+ DropdownMenu,
3490
+ {
3491
+ triggerClassname: "hawa-mx-2",
3492
+ align: "end",
3493
+ alignOffset: 8,
3494
+ side: "bottom",
3495
+ sideOffset: 5,
3496
+ width: profileMenuWidth,
3497
+ direction: isRTL ? "rtl" : "ltr",
3498
+ items: props.profileMenuItems,
3499
+ onItemSelect: (e) => console.log("selecting item ", e),
3500
+ trigger: /* @__PURE__ */ import_react39.default.createElement("div", { className: "hawa-relative hawa-h-8 hawa-w-8 hawa-cursor-pointer hawa-overflow-clip hawa-rounded hawa-ring-1 hawa-ring-primary/30 dark:hawa-bg-gray-600" }, props.avatarImage ? /* @__PURE__ */ import_react39.default.createElement("img", { src: props.avatarImage, alt: "User Avatar" }) : /* @__PURE__ */ import_react39.default.createElement(
3501
+ "svg",
3502
+ {
3503
+ "aria-label": "Avatar Icon",
3504
+ className: "hawa-absolute hawa--left-1 hawa-h-10 hawa-w-10 hawa-text-gray-400",
3505
+ fill: "currentColor",
3506
+ viewBox: "0 0 20 20"
3507
+ },
3508
+ /* @__PURE__ */ import_react39.default.createElement(
3509
+ "path",
3510
+ {
3511
+ fillRule: "evenodd",
3512
+ d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
3513
+ clipRule: "evenodd"
3514
+ }
3515
+ )
3516
+ ))
3517
+ }
3518
+ )
3519
+ )
3520
+ ), /* @__PURE__ */ import_react39.default.createElement(
3521
+ "div",
3522
+ {
3523
+ className: cn(
3524
+ "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
3525
+ isRTL ? "hawa-right-0 hawa-top-0 hawa-h-14" : "hawa-left-0 hawa-top-0 hawa-h-14",
3526
+ "hawa-h-[calc(100dvh)]"
3527
+ ),
3528
+ style: {
3529
+ width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
3530
+ },
3531
+ onMouseEnter: () => {
3532
+ setOpenSideMenu(true);
3533
+ },
3534
+ onMouseLeave: () => {
3535
+ if (size > 600) {
3536
+ if (keepOpen) {
3537
+ setOpenSideMenu(true);
3538
+ } else {
3539
+ setOpenedSidebarItem("");
3540
+ setOpenSideMenu(false);
3541
+ }
3542
+ } else {
3543
+ setOpenSideMenu(false);
3544
+ }
3545
+ },
3546
+ ref
3547
+ },
3548
+ /* @__PURE__ */ import_react39.default.createElement(
3549
+ "div",
3550
+ {
3551
+ onClick: props.onLogoClick,
3552
+ dir: direction,
3553
+ className: cn(
3554
+ "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-bg-primary-foreground hawa-transition-all",
3555
+ props.onLogoClick && "hawa-cursor-pointer"
3556
+ ),
3557
+ style: {
3558
+ width: size > 600 ? `${openSideMenu ? openDrawerWidth : 56}px` : `${openSideMenu ? openDrawerWidth : 0}px`
3559
+ }
3560
+ },
3561
+ openSideMenu && props.header && props.header,
3562
+ !props.header && /* @__PURE__ */ import_react39.default.createElement(
3563
+ "img",
3564
+ {
3565
+ className: cn(
3566
+ "hawa-h-9 hawa-opacity-0 hawa-transition-all",
3567
+ !openSideMenu ? "hawa-invisible hawa-opacity-0" : "hawa-visible hawa-opacity-100"
3568
+ ),
3569
+ src: props.logoLink
3570
+ }
3571
+ ),
3572
+ size > 600 ? /* @__PURE__ */ import_react39.default.createElement(
3573
+ "img",
3574
+ {
3575
+ className: cn(
3576
+ "hawa-fixed hawa-h-9 hawa-transition-all",
3577
+ isRTL ? "hawa-right-2.5 hawa-top-2.5" : "hawa-left-2.5 hawa-top-2.5",
3578
+ openSideMenu ? "hawa-invisible hawa-opacity-0" : "hawa-visible hawa-opacity-100"
3579
+ ),
3580
+ src: props.logoSymbol
3581
+ }
3582
+ ) : null
3583
+ ),
3584
+ /* @__PURE__ */ import_react39.default.createElement(
3585
+ "div",
3586
+ {
3587
+ className: cn(
3588
+ "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-bg-primary-foreground hawa-p-0 hawa-py-2 hawa-transition-all",
3589
+ openSideMenu ? "hawa-overflow-auto" : "hawa-overflow-hidden"
3590
+ ),
3591
+ style: {
3592
+ width: size > 600 ? `${openSideMenu ? openDrawerWidth : drawerSizeCondition}px` : `${openSideMenu ? openDrawerWidth : 0}px`
3593
+ }
3594
+ },
3595
+ /* @__PURE__ */ import_react39.default.createElement(
3596
+ SidebarGroup,
3597
+ {
3598
+ direction,
3599
+ onItemClick: (values) => {
3600
+ if (clickedItem) {
3601
+ clickedItem(values);
3602
+ }
3603
+ },
3604
+ onSubItemClick: (values) => {
3605
+ if (clickedItem) {
3606
+ clickedItem(values);
3607
+ }
3608
+ },
3609
+ selectedItem: currentPage,
3610
+ openedItem: openedSidebarItem,
3611
+ setOpenedItem: (e) => setOpenedSidebarItem(e),
3612
+ isOpen: keepOpen || openSideMenu,
3613
+ items: props.drawerItems
3614
+ }
3615
+ )
3616
+ ),
3617
+ /* @__PURE__ */ import_react39.default.createElement(
3618
+ "div",
3619
+ {
3620
+ className: cn(
3621
+ "hawa-fixed hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-bg-primary-foreground hawa-transition-all",
3622
+ direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row",
3623
+ "hawa-bottom-0"
3624
+ ),
3625
+ style: {
3626
+ width: size > 600 ? `${openSideMenu ? openDrawerWidth : 56}px` : `${openSideMenu ? openDrawerWidth : 0}px`
3627
+ }
3628
+ },
3629
+ DrawerFooterActions && openSideMenu ? /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, DrawerFooterActions) : null,
3630
+ size > 600 && openSideMenu ? /* @__PURE__ */ import_react39.default.createElement(
3631
+ Tooltip,
3632
+ {
3633
+ side: "left",
3634
+ delayDuration: 500,
3635
+ content: keepOpen ? ((_a = props.texts) == null ? void 0 : _a.collapseSidebar) || "Collapse Sidebar" : ((_b = props.texts) == null ? void 0 : _b.expandSidebar) || "Expand Sidebar",
3636
+ triggerProps: { asChild: true }
3637
+ },
3638
+ /* @__PURE__ */ import_react39.default.createElement(
3639
+ Button,
3640
+ {
3641
+ variant: "outline",
3642
+ onClick: () => {
3643
+ const newKeepOpenState = !keepOpen;
3644
+ if (props.onDrawerExpand) {
3645
+ props.onDrawerExpand(newKeepOpenState);
3646
+ }
3647
+ setKeepOpen(newKeepOpenState);
3648
+ },
3649
+ size: "smallIcon"
3650
+ },
3651
+ /* @__PURE__ */ import_react39.default.createElement(
3652
+ "svg",
3653
+ {
3654
+ className: cn(
3655
+ "hawa-h-6 hawa-w-6 hawa-shrink-0 hawa-text-primary hawa-transition-all disabled:hawa-bg-gray-200 ",
3656
+ keepOpen ? isRTL ? "hawa--rotate-90" : "hawa-rotate-90" : isRTL ? "hawa-rotate-90" : "hawa--rotate-90"
3657
+ ),
3658
+ fill: "currentColor",
3659
+ viewBox: "0 0 20 20"
3660
+ },
3661
+ /* @__PURE__ */ import_react39.default.createElement(
3662
+ "path",
3663
+ {
3664
+ fillRule: "evenodd",
3665
+ d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",
3666
+ clipRule: "evenodd"
3667
+ }
3668
+ )
3669
+ )
3670
+ )
3671
+ ) : null
3672
+ )
3673
+ ), /* @__PURE__ */ import_react39.default.createElement(
3674
+ "div",
3675
+ {
3676
+ className: "hawa-fixed -hawa-z-10 hawa-overflow-y-auto hawa-transition-all",
3677
+ style: isRTL ? {
3678
+ height: `calc(100% - ${props.topBar ? "56" : "0"}px)`,
3679
+ width: `calc(100% - ${drawerSizeCondition}px)`,
3680
+ left: "0px",
3681
+ top: props.topBar ? "56px" : "0px"
3682
+ } : {
3683
+ height: `calc(100% - ${props.topBar ? "56" : "0"}px)`,
3684
+ width: `calc(100% - ${drawerSizeCondition}px)`,
3685
+ left: `${drawerSizeCondition}px`,
3686
+ top: props.topBar ? "56px" : "0px"
3687
+ }
3688
+ },
3689
+ props.children
3690
+ ));
3691
+ };
3692
+ var MenuIcon = () => /* @__PURE__ */ import_react39.default.createElement(
3693
+ "svg",
3694
+ {
3695
+ "aria-label": "Menu Button",
3696
+ stroke: "currentColor",
3697
+ fill: "currentColor",
3698
+ strokeWidth: 0,
3699
+ viewBox: "0 0 20 20",
3700
+ "aria-hidden": "true",
3701
+ height: "1.6em",
3702
+ width: "1.6em"
3703
+ },
3704
+ /* @__PURE__ */ import_react39.default.createElement(
3705
+ "path",
3706
+ {
3707
+ fillRule: "evenodd",
3708
+ clipRule: "evenodd",
3709
+ d: "M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
3710
+ }
3711
+ )
3712
+ );
3713
+
3714
+ // components/layout/AppTopbar.tsx
3715
+ var import_react40 = __toESM(require("react"));
3716
+ var AppTopbar = ({ ...props }) => {
3717
+ const isRTL = props.direction === "ltr";
3718
+ const size = 1200;
3719
+ return /* @__PURE__ */ import_react40.default.createElement(
3720
+ "div",
3721
+ {
3722
+ className: cn(
3723
+ "hawa-fixed hawa-left-0 hawa-right-0 hawa-top-0 hawa-z-30 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-border-b hawa-bg-primary-foreground hawa-p-2",
3724
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
3725
+ )
3726
+ },
3727
+ size > 600 ? /* @__PURE__ */ import_react40.default.createElement(
3728
+ "div",
3729
+ null,
3730
+ "page title"
3731
+ ) : (
3732
+ // Mobile Drawer Menu Button
3733
+ /* @__PURE__ */ import_react40.default.createElement(
3734
+ "div",
3735
+ {
3736
+ dir: props.direction,
3737
+ className: "hawa-flex hawa-items-center hawa-justify-center hawa-gap-0.5"
3738
+ },
3739
+ /* @__PURE__ */ import_react40.default.createElement(
3740
+ "div",
3741
+ {
3742
+ className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all hover:hawa-bg-gray-100"
3743
+ },
3744
+ /* @__PURE__ */ import_react40.default.createElement(
3745
+ "svg",
3746
+ {
3747
+ stroke: "currentColor",
3748
+ fill: "currentColor",
3749
+ strokeWidth: 0,
3750
+ viewBox: "0 0 20 20",
3751
+ "aria-hidden": "true",
3752
+ height: "1.6em",
3753
+ width: "1.6em"
3754
+ },
3755
+ /* @__PURE__ */ import_react40.default.createElement(
3756
+ "path",
3757
+ {
3758
+ fillRule: "evenodd",
3759
+ clipRule: "evenodd",
3760
+ d: "M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
3761
+ }
3762
+ )
3763
+ )
3764
+ ),
3765
+ "Mobile title"
3766
+ )
3767
+ ),
3768
+ /* @__PURE__ */ import_react40.default.createElement(
3769
+ "div",
3770
+ {
3771
+ className: cn(
3772
+ "hawa-flex hawa-gap-2 dark:hawa-text-white",
3773
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
3774
+ )
3775
+ },
3776
+ size > 600 ? /* @__PURE__ */ import_react40.default.createElement(
3777
+ "div",
3778
+ {
3779
+ className: isRTL ? "hawa-text-left hawa-text-xs" : "hawa-text-right hawa-text-xs"
3780
+ },
3781
+ /* @__PURE__ */ import_react40.default.createElement("div", { className: "hawa-font-bold" }, props.username),
3782
+ " ",
3783
+ /* @__PURE__ */ import_react40.default.createElement("div", null, props.email)
3784
+ ) : null,
3785
+ /* @__PURE__ */ import_react40.default.createElement(
3786
+ DropdownMenu,
3787
+ {
3788
+ triggerClassname: "hawa-mx-2",
3789
+ align: "end",
3790
+ alignOffset: 8,
3791
+ side: "bottom",
3792
+ sideOffset: 5,
3793
+ direction: isRTL ? "rtl" : "ltr",
3794
+ items: props.profileMenuItems,
3795
+ onItemSelect: (e) => console.log("selecting item ", e),
3796
+ trigger: /* @__PURE__ */ import_react40.default.createElement("div", { className: "hawa-relative hawa-h-8 hawa-w-8 hawa-cursor-pointer hawa-overflow-clip hawa-rounded hawa-ring-1 hawa-ring-primary/30 dark:hawa-bg-gray-600" }, props.avatarImage ? /* @__PURE__ */ import_react40.default.createElement("img", { src: props.avatarImage, alt: "User Avatar" }) : /* @__PURE__ */ import_react40.default.createElement(
3797
+ "svg",
3798
+ {
3799
+ "aria-label": "Avatar Icon",
3800
+ className: "hawa-absolute hawa--left-1 hawa-h-10 hawa-w-10 hawa-text-gray-400",
3801
+ fill: "currentColor",
3802
+ viewBox: "0 0 20 20"
3803
+ },
3804
+ /* @__PURE__ */ import_react40.default.createElement(
3805
+ "path",
3806
+ {
3807
+ fillRule: "evenodd",
3808
+ d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
3809
+ clipRule: "evenodd"
3810
+ }
3811
+ )
3812
+ ))
3813
+ }
3814
+ )
3815
+ )
3816
+ );
3817
+ };
3818
+
3819
+ // components/layout/AppMenubar.tsx
3820
+ var React68 = __toESM(require("react"));
3821
+ var MenubarPrimitive = __toESM(require("@radix-ui/react-menubar"));
3822
+ var MenubarMenu = MenubarPrimitive.Menu;
3823
+ var MenubarGroup = MenubarPrimitive.Group;
3824
+ var MenubarPortal = MenubarPrimitive.Portal;
3825
+ var MenubarSub = MenubarPrimitive.Sub;
3826
+ var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
3827
+ var Menubar = React68.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3828
+ MenubarPrimitive.Root,
3829
+ {
3830
+ ref,
3831
+ className: cn(
3832
+ "hawa-flex hawa-h-10 hawa-items-center hawa-space-x-1 hawa-rounded-md hawa-border hawa-bg-background hawa-p-1",
3833
+ className
3834
+ ),
3835
+ ...props
3836
+ }
3837
+ ));
3838
+ Menubar.displayName = MenubarPrimitive.Root.displayName;
3839
+ var MenubarTrigger = React68.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3840
+ MenubarPrimitive.Trigger,
3841
+ {
3842
+ ref,
3843
+ className: cn(
3844
+ "hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-outline-none focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[state=open]:hawa-bg-accent data-[state=open]:hawa-text-accent-foreground",
3845
+ className
3846
+ ),
3847
+ ...props
3848
+ }
3849
+ ));
3850
+ MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
3851
+ var MenubarSubTrigger = React68.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3852
+ MenubarPrimitive.SubTrigger,
3853
+ {
3854
+ ref,
3855
+ className: cn(
3856
+ "hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-outline-none focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[state=open]:hawa-bg-accent data-[state=open]:hawa-text-accent-foreground",
3857
+ inset && "pl-8",
3858
+ className
3859
+ ),
3860
+ ...props
3861
+ },
3862
+ children,
3863
+ /* @__PURE__ */ React68.createElement(
3864
+ "svg",
3865
+ {
3866
+ "aria-label": "Chevron Right Icon",
3867
+ xmlns: "http://www.w3.org/2000/svg",
3868
+ width: "24",
3869
+ height: "24",
3870
+ viewBox: "0 0 24 24",
3871
+ fill: "none",
3872
+ stroke: "currentColor",
3873
+ strokeWidth: "2",
3874
+ strokeLinecap: "round",
3875
+ strokeLinejoin: "round",
3876
+ className: "hawa-icon hawa-ml-auto"
3877
+ },
3878
+ /* @__PURE__ */ React68.createElement("path", { d: "m9 18 6-6-6-6" })
3879
+ )
3880
+ ));
3881
+ MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
3882
+ var MenubarSubContent = React68.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3883
+ MenubarPrimitive.SubContent,
3884
+ {
3885
+ ref,
3886
+ className: cn(
3887
+ "hawa-z-50 hawa-min-w-[8rem] hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
3888
+ className
3889
+ ),
3890
+ ...props
3891
+ }
3892
+ ));
3893
+ MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
3894
+ var MenubarContent = React68.forwardRef(
3895
+ ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ React68.createElement(MenubarPrimitive.Portal, null, /* @__PURE__ */ React68.createElement(
3896
+ MenubarPrimitive.Content,
3897
+ {
3898
+ ref,
3899
+ align,
3900
+ alignOffset,
3901
+ sideOffset,
3902
+ className: cn(
3903
+ "hawa-z-50 hawa-min-w-[12rem] hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-md data-[state=open]:hawa-animate-in data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
3904
+ className
3905
+ ),
3906
+ ...props
3907
+ }
3908
+ ))
3909
+ );
3910
+ MenubarContent.displayName = MenubarPrimitive.Content.displayName;
3911
+ var MenubarItem = React68.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3912
+ MenubarPrimitive.Item,
3913
+ {
3914
+ ref,
3915
+ className: cn(
3916
+ "hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-outline-none focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
3917
+ inset && "pl-8",
3918
+ className
3919
+ ),
3920
+ ...props
3921
+ }
3922
+ ));
3923
+ MenubarItem.displayName = MenubarPrimitive.Item.displayName;
3924
+ var MenubarCheckboxItem = React68.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3925
+ MenubarPrimitive.CheckboxItem,
3926
+ {
3927
+ ref,
3928
+ className: cn(
3929
+ "hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
3930
+ className
3931
+ ),
3932
+ checked,
3933
+ ...props
3934
+ },
3935
+ /* @__PURE__ */ React68.createElement("span", { className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React68.createElement(MenubarPrimitive.ItemIndicator, null, /* @__PURE__ */ React68.createElement(
3936
+ "svg",
3937
+ {
3938
+ xmlns: "http://www.w3.org/2000/svg",
3939
+ width: "24",
3940
+ height: "24",
3941
+ viewBox: "0 0 24 24",
3942
+ fill: "none",
3943
+ stroke: "currentColor",
3944
+ strokeWidth: "2",
3945
+ strokeLinecap: "round",
3946
+ strokeLinejoin: "round",
3947
+ className: "hawa-icon"
3948
+ },
3949
+ /* @__PURE__ */ React68.createElement("path", { d: "M20 6 9 17l-5-5" })
3950
+ ))),
3951
+ children
3952
+ ));
3953
+ MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
3954
+ var MenubarRadioItem = React68.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3955
+ MenubarPrimitive.RadioItem,
3956
+ {
3957
+ ref,
3958
+ className: cn(
3959
+ "hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
3960
+ className
3961
+ ),
3962
+ ...props
3963
+ },
3964
+ /* @__PURE__ */ React68.createElement("span", { className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React68.createElement(MenubarPrimitive.ItemIndicator, null, /* @__PURE__ */ React68.createElement(
3965
+ "svg",
3966
+ {
3967
+ xmlns: "http://www.w3.org/2000/svg",
3968
+ width: "24",
3969
+ height: "24",
3970
+ viewBox: "0 0 24 24",
3971
+ fill: "none",
3972
+ stroke: "currentColor",
3973
+ strokeWidth: "2",
3974
+ strokeLinecap: "round",
3975
+ strokeLinejoin: "round",
3976
+ className: "hawa-h-2 hawa-w-2 hawa-fill-current"
3977
+ },
3978
+ /* @__PURE__ */ React68.createElement("circle", { cx: "12", cy: "12", r: "10" })
3979
+ ))),
3980
+ children
3981
+ ));
3982
+ MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
3983
+ var MenubarLabel = React68.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3984
+ MenubarPrimitive.Label,
3985
+ {
3986
+ ref,
3987
+ className: cn(
3988
+ "hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-font-semibold",
3989
+ inset && "hawa-pl-8",
3990
+ className
3991
+ ),
3992
+ ...props
3993
+ }
3994
+ ));
3995
+ MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
3996
+ var MenubarSeparator = React68.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React68.createElement(
3997
+ MenubarPrimitive.Separator,
3998
+ {
3999
+ ref,
4000
+ className: cn("hawa--mx-1 hawa-my-1 hawa-h-px hawa-bg-muted", className),
4001
+ ...props
4002
+ }
4003
+ ));
4004
+ MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
4005
+ var MenubarShortcut = ({
4006
+ className,
4007
+ ...props
4008
+ }) => {
4009
+ return /* @__PURE__ */ React68.createElement(
4010
+ "span",
4011
+ {
4012
+ className: cn(
4013
+ "hawa-ml-auto hawa-text-xs hawa-tracking-widest hawa-text-muted-foreground",
4014
+ className
4015
+ ),
4016
+ ...props
4017
+ }
4018
+ );
4019
+ };
4020
+ MenubarShortcut.displayname = "MenubarShortcut";
4021
+
4022
+ // components/layout/AppTabs.tsx
4023
+ var import_react41 = __toESM(require("react"));
4024
+ var AppTabs = ({ tabs, ...props }) => {
4025
+ const [selectedIndex, setSelectedIndex] = (0, import_react41.useState)(0);
4026
+ return /* @__PURE__ */ import_react41.default.createElement("div", { className: "hawa-w-full hawa-border-b hawa-bg-gray-100 hawa-p-6 hawa-pb-0 dark:hawa-bg-gray-900 " }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-justify-center " }, tabs.map((tab, index) => {
4027
+ const selected = index === selectedIndex;
4028
+ return /* @__PURE__ */ import_react41.default.createElement(
4029
+ AppSingleTab,
4030
+ {
4031
+ key: index,
4032
+ tab,
4033
+ onClick: () => setSelectedIndex(index),
4034
+ isSelected: selected
4035
+ }
4036
+ );
4037
+ })));
4038
+ };
4039
+ var AppSingleTab = ({ tab, ...props }) => {
4040
+ return /* @__PURE__ */ import_react41.default.createElement(
4041
+ "div",
4042
+ {
4043
+ key: props.key,
4044
+ onClick: props.onClick,
4045
+ className: cn(
4046
+ "hawa-z-10 hawa-flex hawa-translate-y-[1.1px] hawa-select-none hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-4 hawa-py-2 hawa-text-sm hawa-transition-all ",
4047
+ "hawa-border",
4048
+ // Always have a border but make it transparent
4049
+ props.isSelected ? "hawa-border hawa-border-b-transparent hawa-bg-background" : "hawa-cursor-pointer hawa-border-transparent hover:hawa-bg-gray-200 dark:hover:hawa-bg-gray-700"
4050
+ )
4051
+ },
4052
+ tab.icon && tab.icon,
4053
+ tab.label
4054
+ );
4055
+ };
4056
+
4057
+ // components/layout/DocsLayout.tsx
4058
+ var import_react44 = __toESM(require("react"));
4059
+
4060
+ // components/hooks/useBreakpoint.ts
4061
+ var import_react42 = require("react");
4062
+ var useBreakpoint = () => {
4063
+ const [breakpoint, setBreakpoint] = (0, import_react42.useState)(null);
4064
+ (0, import_react42.useEffect)(() => {
4065
+ if (typeof window !== "undefined") {
4066
+ const resize = () => {
4067
+ setBreakpoint(window.innerWidth);
4068
+ };
4069
+ resize();
4070
+ window.addEventListener("resize", resize);
4071
+ return () => {
4072
+ window.removeEventListener("resize", resize);
4073
+ };
4074
+ }
4075
+ }, []);
4076
+ return breakpoint;
4077
+ };
4078
+
4079
+ // components/layout/DocsSidebar.tsx
4080
+ var import_react43 = __toESM(require("react"));
4081
+ var DocsSidebar = ({
4082
+ currentPage: propCurrentPage,
4083
+ pages,
4084
+ direction
4085
+ }) => {
4086
+ const [activePage, setActivePage] = import_react43.default.useState(pages[0]);
4087
+ const handlePageClick = (page, event) => {
4088
+ event.preventDefault();
4089
+ setTimeout(() => {
4090
+ setActivePage(page);
4091
+ }, 50);
4092
+ const element = document.getElementById(page);
4093
+ element == null ? void 0 : element.scrollIntoView({ behavior: "smooth", block: "start" });
4094
+ };
4095
+ const getCurrentSection = () => {
4096
+ for (let i = pages.length - 1; i >= 0; i--) {
4097
+ const page = pages[i];
4098
+ const element = document.getElementById(page);
4099
+ const rect = element == null ? void 0 : element.getBoundingClientRect();
4100
+ if (rect) {
4101
+ if (rect.top < window.innerHeight && rect.bottom >= 0) {
4102
+ return page;
4103
+ }
4104
+ }
4105
+ }
4106
+ return pages[0];
4107
+ };
4108
+ import_react43.default.useEffect(() => {
4109
+ const handleScroll = () => {
4110
+ setActivePage(getCurrentSection());
4111
+ };
4112
+ window.addEventListener("scroll", handleScroll);
4113
+ return () => {
4114
+ window.removeEventListener("scroll", handleScroll);
4115
+ };
4116
+ }, []);
4117
+ let selectedStyles = {
4118
+ rtl: "hawa-border-r-4 hawa-border-primary hawa-border-collapse hawa-bg-gray-200",
4119
+ ltr: "hawa-border-l-4 hawa-border-primary hawa-border-collapse hawa-bg-gray-200"
4120
+ };
4121
+ return /* @__PURE__ */ import_react43.default.createElement(
4122
+ "div",
4123
+ {
4124
+ className: "hawa-flex hawa-flex-col hawa-overflow-x-clip",
4125
+ dir: direction
4126
+ },
4127
+ pages.map((page, index) => /* @__PURE__ */ import_react43.default.createElement(
4128
+ "div",
4129
+ {
4130
+ key: index,
4131
+ className: cn(
4132
+ "hawa-cursor-pointer hawa-whitespace-nowrap hawa-px-3 hawa-py-1 hawa-text-xs hawa-transition-all hover:hawa-bg-gray-100",
4133
+ (propCurrentPage || activePage) === page ? selectedStyles[direction || "rtl"] : ""
4134
+ ),
4135
+ onClick: (event) => handlePageClick(page, event)
4136
+ },
4137
+ page
4138
+ ))
4139
+ );
4140
+ };
4141
+
4142
+ // components/layout/DocsLayout.tsx
4143
+ var DocsLayout = ({
4144
+ direction = "ltr",
4145
+ drawerSize = "md",
4146
+ DrawerFooterActions,
4147
+ clickedItem,
4148
+ keepOpen,
4149
+ pages,
4150
+ setKeepOpen,
4151
+ ...props
4152
+ }) => {
4153
+ let closeDrawerWidth = 0;
4154
+ let openDrawerWidth = 200;
4155
+ let drawerSizeStyle = {
4156
+ opened: {
4157
+ sm: "100",
4158
+ md: openDrawerWidth,
4159
+ lg: "250"
4160
+ },
4161
+ closed: {
4162
+ sm: closeDrawerWidth,
4163
+ md: closeDrawerWidth,
4164
+ lg: closeDrawerWidth
4165
+ }
4166
+ };
4167
+ const ref = (0, import_react44.useRef)(null);
4168
+ const isRTL = direction === "rtl";
4169
+ let size = useBreakpoint();
4170
+ if (typeof window == "undefined") {
4171
+ size = 1200;
4172
+ }
4173
+ const [currentPage, setCurrentPage] = (0, import_react44.useState)("Introduction");
4174
+ const [openSideMenu, setOpenSideMenu] = (0, import_react44.useState)(true);
4175
+ (0, import_react44.useEffect)(() => {
4176
+ const handleClickOutside = (event) => {
4177
+ if (ref.current && !ref.current.contains(event.target) && !openSideMenu) {
4178
+ setOpenSideMenu(false);
4179
+ }
4180
+ };
4181
+ document.addEventListener("click", handleClickOutside, true);
4182
+ return () => {
4183
+ document.removeEventListener("click", handleClickOutside, true);
4184
+ };
4185
+ }, [openSideMenu]);
4186
+ (0, import_react44.useEffect)(() => {
4187
+ const handleResize = () => {
4188
+ setOpenSideMenu(window.innerWidth > 600 ? true : false);
4189
+ };
4190
+ handleResize();
4191
+ window.addEventListener("resize", handleResize);
4192
+ return () => {
4193
+ window.removeEventListener("resize", handleResize);
4194
+ };
4195
+ }, [keepOpen]);
4196
+ const observerRef = import_react44.default.useRef(null);
4197
+ const handleIntersection = (entries) => {
4198
+ const entry = entries.find((entry2) => entry2.isIntersecting);
4199
+ if (entry) {
4200
+ setCurrentPage(entry.target.id);
4201
+ }
4202
+ };
4203
+ (0, import_react44.useEffect)(() => {
4204
+ observerRef.current = new IntersectionObserver(handleIntersection, {
4205
+ threshold: 0.5
4206
+ // Adjust threshold as needed to determine when a section is in view
4207
+ });
4208
+ import_react44.default.Children.forEach(props.children, (child) => {
4209
+ if (child && child.props.id) {
4210
+ const element = document.getElementById(child.props.id);
4211
+ if (element && observerRef.current) {
4212
+ observerRef.current.observe(element);
4213
+ }
4214
+ }
4215
+ });
4216
+ return () => {
4217
+ if (observerRef.current) {
4218
+ observerRef.current.disconnect();
4219
+ }
4220
+ };
4221
+ }, [props.children]);
4222
+ let drawerSizeCondition = drawerSizeStyle[openSideMenu ? "opened" : "closed"][drawerSize];
4223
+ return /* @__PURE__ */ import_react44.default.createElement("div", { className: "hawa-fixed" }, /* @__PURE__ */ import_react44.default.createElement(
4224
+ "div",
4225
+ {
4226
+ className: cn(
4227
+ "hawa-fixed hawa-left-0 hawa-right-0 hawa-top-0 hawa-z-30 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
4228
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
4229
+ )
4230
+ },
4231
+ size > 600 ? /* @__PURE__ */ import_react44.default.createElement("div", { onClick: props.onLogoClick, dir: direction }, /* @__PURE__ */ import_react44.default.createElement(
4232
+ "img",
4233
+ {
4234
+ className: cn(
4235
+ "hawa-h-8 hawa-opacity-0 hawa-transition-all",
4236
+ !openSideMenu ? "hawa-invisible hawa-opacity-0" : "hawa-visible hawa-opacity-100"
4237
+ ),
4238
+ src: props.logoLink
4239
+ }
4240
+ )) : (
4241
+ // Mobile Drawer Menu Button
4242
+ /* @__PURE__ */ import_react44.default.createElement(
4243
+ "div",
4244
+ {
4245
+ dir: direction,
4246
+ className: "hawa-flex hawa-items-center hawa-justify-center hawa-gap-0.5"
4247
+ },
4248
+ /* @__PURE__ */ import_react44.default.createElement(Sheet, null, /* @__PURE__ */ import_react44.default.createElement(SheetTrigger, null, " ", /* @__PURE__ */ import_react44.default.createElement(
4249
+ "div",
4250
+ {
4251
+ className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all hover:hawa-bg-gray-100"
4252
+ },
4253
+ /* @__PURE__ */ import_react44.default.createElement(
4254
+ "svg",
4255
+ {
4256
+ "aria-label": "Menu Icon",
4257
+ stroke: "currentColor",
4258
+ fill: "currentColor",
4259
+ strokeWidth: 0,
4260
+ viewBox: "0 0 20 20",
4261
+ "aria-hidden": "true",
4262
+ height: "1.6em",
4263
+ width: "1.6em"
4264
+ },
4265
+ /* @__PURE__ */ import_react44.default.createElement(
4266
+ "path",
4267
+ {
4268
+ fillRule: "evenodd",
4269
+ clipRule: "evenodd",
4270
+ d: "M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
4271
+ }
4272
+ )
4273
+ )
4274
+ )), /* @__PURE__ */ import_react44.default.createElement(
4275
+ SheetContent,
4276
+ {
4277
+ side: isRTL ? "right" : "left",
4278
+ className: "hawa-pt-10"
4279
+ },
4280
+ /* @__PURE__ */ import_react44.default.createElement(DocsSidebar, { direction, pages: pages || [] })
4281
+ ))
4282
+ )
4283
+ ),
4284
+ /* @__PURE__ */ import_react44.default.createElement(
4285
+ "div",
4286
+ {
4287
+ className: cn(
4288
+ "hawa-flex hawa-gap-2 dark:hawa-text-white",
4289
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
4290
+ )
4291
+ },
4292
+ /* @__PURE__ */ import_react44.default.createElement(Button, { variant: "ghost", size: "smallIcon" }, /* @__PURE__ */ import_react44.default.createElement(Logos.github, { className: "hawa-icon" }))
4293
+ )
4294
+ ), /* @__PURE__ */ import_react44.default.createElement(
4295
+ "div",
4296
+ {
4297
+ className: cn(
4298
+ "hawa-fixed hawa-z-40 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-bg-primary-foreground hawa-transition-all",
4299
+ isRTL ? "hawa-right-0 hawa-top-0 hawa-h-full" : "hawa-left-0 hawa-top-0 hawa-h-full",
4300
+ "hawa-fixed hawa-overflow-x-clip hawa-p-0 hawa-py-2 hawa-transition-all",
4301
+ "hawa-top-14",
4302
+ openSideMenu ? "hawa-overflow-auto" : "hawa-overflow-hidden"
4303
+ ),
4304
+ style: {
4305
+ width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
4306
+ },
4307
+ onMouseEnter: () => {
4308
+ setOpenSideMenu(true);
4309
+ },
4310
+ onMouseLeave: () => {
4311
+ if (size < 600) {
4312
+ setOpenSideMenu(!openSideMenu);
4313
+ }
4314
+ },
4315
+ ref
4316
+ },
4317
+ /* @__PURE__ */ import_react44.default.createElement(
4318
+ DocsSidebar,
4319
+ {
4320
+ direction,
4321
+ pages: pages || [],
4322
+ currentPage
4323
+ }
4324
+ )
4325
+ ), /* @__PURE__ */ import_react44.default.createElement(
4326
+ "div",
4327
+ {
4328
+ className: "hawa-fixed hawa-overflow-y-auto hawa-transition-all ",
4329
+ style: isRTL ? {
4330
+ height: "calc(100% - 56px)",
4331
+ width: `calc(100% - ${drawerSizeCondition}px)`,
4332
+ left: "0px",
4333
+ top: "56px"
4334
+ } : {
4335
+ height: "calc(100% - 56px)",
4336
+ width: `calc(100% - ${drawerSizeCondition}px)`,
4337
+ left: `${drawerSizeCondition}px`,
4338
+ right: `${drawerSizeCondition}px`,
4339
+ top: "56px"
4340
+ }
4341
+ },
4342
+ props.children
4343
+ ));
4344
+ };
4345
+ // Annotate the CommonJS export names for ESM import in node:
4346
+ 0 && (module.exports = {
4347
+ AppLayout,
4348
+ AppTabs,
4349
+ AppTopbar,
4350
+ Copyrights,
4351
+ DocsLayout,
4352
+ DocsSidebar,
4353
+ Menubar,
4354
+ MenubarCheckboxItem,
4355
+ MenubarContent,
4356
+ MenubarGroup,
4357
+ MenubarItem,
4358
+ MenubarLabel,
4359
+ MenubarMenu,
4360
+ MenubarPortal,
4361
+ MenubarRadioGroup,
4362
+ MenubarRadioItem,
4363
+ MenubarSeparator,
4364
+ MenubarShortcut,
4365
+ MenubarSub,
4366
+ MenubarSubContent,
4367
+ MenubarSubTrigger,
4368
+ MenubarTrigger,
4369
+ Navbar,
4370
+ SidebarGroup,
4371
+ SidebarItem,
4372
+ Stats
4373
+ });