@sikka/hawa 0.2.38 → 0.2.41-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.
package/dist/index.js ADDED
@@ -0,0 +1,1931 @@
1
+ "use strict";
2
+ function _array_like_to_array(arr, len) {
3
+ if (len == null || len > arr.length) len = arr.length;
4
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5
+ return arr2;
6
+ }
7
+ function _array_with_holes(arr) {
8
+ if (Array.isArray(arr)) return arr;
9
+ }
10
+ function _array_without_holes(arr) {
11
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
12
+ }
13
+ function _define_property(obj, key, value) {
14
+ if (key in obj) {
15
+ Object.defineProperty(obj, key, {
16
+ value: value,
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true
20
+ });
21
+ } else {
22
+ obj[key] = value;
23
+ }
24
+ return obj;
25
+ }
26
+ function _extends() {
27
+ _extends = Object.assign || function(target) {
28
+ for(var i = 1; i < arguments.length; i++){
29
+ var source = arguments[i];
30
+ for(var key in source){
31
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
32
+ target[key] = source[key];
33
+ }
34
+ }
35
+ }
36
+ return target;
37
+ };
38
+ return _extends.apply(this, arguments);
39
+ }
40
+ function _iterable_to_array(iter) {
41
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
42
+ }
43
+ function _iterable_to_array_limit(arr, i) {
44
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
45
+ if (_i == null) return;
46
+ var _arr = [];
47
+ var _n = true;
48
+ var _d = false;
49
+ var _s, _e;
50
+ try {
51
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
52
+ _arr.push(_s.value);
53
+ if (i && _arr.length === i) break;
54
+ }
55
+ } catch (err) {
56
+ _d = true;
57
+ _e = err;
58
+ } finally{
59
+ try {
60
+ if (!_n && _i["return"] != null) _i["return"]();
61
+ } finally{
62
+ if (_d) throw _e;
63
+ }
64
+ }
65
+ return _arr;
66
+ }
67
+ function _non_iterable_rest() {
68
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
69
+ }
70
+ function _non_iterable_spread() {
71
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
72
+ }
73
+ function _object_destructuring_empty(o) {
74
+ if (o === null || o === void 0) throw new TypeError("Cannot destructure " + o);
75
+ return o;
76
+ }
77
+ function _object_spread(target) {
78
+ for(var i = 1; i < arguments.length; i++){
79
+ var source = arguments[i] != null ? arguments[i] : {};
80
+ var ownKeys = Object.keys(source);
81
+ if (typeof Object.getOwnPropertySymbols === "function") {
82
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
83
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
84
+ }));
85
+ }
86
+ ownKeys.forEach(function(key) {
87
+ _define_property(target, key, source[key]);
88
+ });
89
+ }
90
+ return target;
91
+ }
92
+ function ownKeys(object, enumerableOnly) {
93
+ var keys = Object.keys(object);
94
+ if (Object.getOwnPropertySymbols) {
95
+ var symbols = Object.getOwnPropertySymbols(object);
96
+ if (enumerableOnly) {
97
+ symbols = symbols.filter(function(sym) {
98
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
99
+ });
100
+ }
101
+ keys.push.apply(keys, symbols);
102
+ }
103
+ return keys;
104
+ }
105
+ function _object_spread_props(target, source) {
106
+ source = source != null ? source : {};
107
+ if (Object.getOwnPropertyDescriptors) {
108
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
109
+ } else {
110
+ ownKeys(Object(source)).forEach(function(key) {
111
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
112
+ });
113
+ }
114
+ return target;
115
+ }
116
+ function _object_without_properties(source, excluded) {
117
+ if (source == null) return {};
118
+ var target = _object_without_properties_loose(source, excluded);
119
+ var key, i;
120
+ if (Object.getOwnPropertySymbols) {
121
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
122
+ for(i = 0; i < sourceSymbolKeys.length; i++){
123
+ key = sourceSymbolKeys[i];
124
+ if (excluded.indexOf(key) >= 0) continue;
125
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
126
+ target[key] = source[key];
127
+ }
128
+ }
129
+ return target;
130
+ }
131
+ function _object_without_properties_loose(source, excluded) {
132
+ if (source == null) return {};
133
+ var target = {};
134
+ var sourceKeys = Object.keys(source);
135
+ var key, i;
136
+ for(i = 0; i < sourceKeys.length; i++){
137
+ key = sourceKeys[i];
138
+ if (excluded.indexOf(key) >= 0) continue;
139
+ target[key] = source[key];
140
+ }
141
+ return target;
142
+ }
143
+ function _sliced_to_array(arr, i) {
144
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
145
+ }
146
+ function _to_consumable_array(arr) {
147
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
148
+ }
149
+ function _unsupported_iterable_to_array(o, minLen) {
150
+ if (!o) return;
151
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
152
+ var n = Object.prototype.toString.call(o).slice(8, -1);
153
+ if (n === "Object" && o.constructor) n = o.constructor.name;
154
+ if (n === "Map" || n === "Set") return Array.from(n);
155
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
156
+ }
157
+ var __create = Object.create;
158
+ var __defProp = Object.defineProperty;
159
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
160
+ var __getOwnPropNames = Object.getOwnPropertyNames;
161
+ var __getProtoOf = Object.getPrototypeOf;
162
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
163
+ var __export = function(target, all) {
164
+ for(var name in all)__defProp(target, name, {
165
+ get: all[name],
166
+ enumerable: true
167
+ });
168
+ };
169
+ var __copyProps = function(to, from, except, desc) {
170
+ if (from && typeof from === "object" || typeof from === "function") {
171
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
172
+ try {
173
+ var _loop = function() {
174
+ var key = _step.value;
175
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
176
+ get: function() {
177
+ return from[key];
178
+ },
179
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
180
+ });
181
+ };
182
+ for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
183
+ } catch (err) {
184
+ _didIteratorError = true;
185
+ _iteratorError = err;
186
+ } finally{
187
+ try {
188
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
189
+ _iterator.return();
190
+ }
191
+ } finally{
192
+ if (_didIteratorError) {
193
+ throw _iteratorError;
194
+ }
195
+ }
196
+ }
197
+ }
198
+ return to;
199
+ };
200
+ var __toESM = function(mod, isNodeMode, target) {
201
+ return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
202
+ // file that has been converted to a CommonJS file using a Babel-
203
+ // compatible transform (i.e. "__esModule" has not been set), then set
204
+ // "default" to the CommonJS "module.exports" for node compatibility.
205
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
206
+ value: mod,
207
+ enumerable: true
208
+ }) : target, mod);
209
+ };
210
+ var __toCommonJS = function(mod) {
211
+ return __copyProps(__defProp({}, "__esModule", {
212
+ value: true
213
+ }), mod);
214
+ };
215
+ // components/index.tsx
216
+ var components_exports = {};
217
+ __export(components_exports, {
218
+ ActionCard: function() {
219
+ return ActionCard;
220
+ },
221
+ Alert: function() {
222
+ return Alert;
223
+ },
224
+ AppStores: function() {
225
+ return AppStores;
226
+ },
227
+ Breadcrumb: function() {
228
+ return Breadcrumb;
229
+ },
230
+ Button: function() {
231
+ return Button;
232
+ },
233
+ Card: function() {
234
+ return Card;
235
+ },
236
+ CardContent: function() {
237
+ return CardContent;
238
+ },
239
+ CardDescription: function() {
240
+ return CardDescription;
241
+ },
242
+ CardFooter: function() {
243
+ return CardFooter;
244
+ },
245
+ CardHeader: function() {
246
+ return CardHeader;
247
+ },
248
+ CardTitle: function() {
249
+ return CardTitle;
250
+ },
251
+ Checkbox: function() {
252
+ return Checkbox;
253
+ },
254
+ Chip: function() {
255
+ return Chip;
256
+ },
257
+ CodeBlock: function() {
258
+ return CodeBlock;
259
+ },
260
+ Dialog: function() {
261
+ return Dialog;
262
+ },
263
+ DialogContent: function() {
264
+ return DialogContent;
265
+ },
266
+ DialogDescription: function() {
267
+ return DialogDescription;
268
+ },
269
+ DialogFooter: function() {
270
+ return DialogFooter;
271
+ },
272
+ DialogHeader: function() {
273
+ return DialogHeader;
274
+ },
275
+ DialogTitle: function() {
276
+ return DialogTitle;
277
+ },
278
+ DialogTrigger: function() {
279
+ return DialogTrigger;
280
+ },
281
+ DropdownMenu: function() {
282
+ return DropdownMenu;
283
+ },
284
+ Label: function() {
285
+ return Label;
286
+ },
287
+ Loading: function() {
288
+ return Loading;
289
+ },
290
+ PinInput: function() {
291
+ return PinInput;
292
+ },
293
+ Popover: function() {
294
+ return Popover;
295
+ },
296
+ PopoverContent: function() {
297
+ return PopoverContent;
298
+ },
299
+ Radio: function() {
300
+ return Radio;
301
+ },
302
+ Skeleton: function() {
303
+ return Skeleton;
304
+ },
305
+ Slider: function() {
306
+ return Slider;
307
+ },
308
+ Switch: function() {
309
+ return Switch;
310
+ },
311
+ Textarea: function() {
312
+ return Textarea;
313
+ },
314
+ Toast: function() {
315
+ return Toast;
316
+ },
317
+ ToastAction: function() {
318
+ return ToastAction;
319
+ },
320
+ ToastClose: function() {
321
+ return ToastClose;
322
+ },
323
+ ToastDescription: function() {
324
+ return ToastDescription;
325
+ },
326
+ ToastProvider: function() {
327
+ return ToastProvider;
328
+ },
329
+ ToastTitle: function() {
330
+ return ToastTitle;
331
+ },
332
+ ToastViewport: function() {
333
+ return ToastViewport;
334
+ },
335
+ Toaster: function() {
336
+ return Toaster;
337
+ },
338
+ Tooltip: function() {
339
+ return Tooltip;
340
+ },
341
+ buttonVariants: function() {
342
+ return buttonVariants;
343
+ }
344
+ });
345
+ module.exports = __toCommonJS(components_exports);
346
+ // components/elements/Button.tsx
347
+ var React2 = __toESM(require("react"));
348
+ var import_class_variance_authority = require("class-variance-authority");
349
+ // components/util.ts
350
+ var import_clsx = require("clsx");
351
+ var import_tailwind_merge = require("tailwind-merge");
352
+ function cn() {
353
+ for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){
354
+ inputs[_key] = arguments[_key];
355
+ }
356
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
357
+ }
358
+ // components/elements/Loading.tsx
359
+ var import_react = __toESM(require("react"));
360
+ var import_clsx2 = __toESM(require("clsx"));
361
+ var Loading = function(_param) {
362
+ var _param_design = _param.design, design = _param_design === void 0 ? "spinner" : _param_design, _param_size = _param.size, size = _param_size === void 0 ? "sm" : _param_size, color = _param.color, props = _object_without_properties(_param, [
363
+ "design",
364
+ "size",
365
+ "color"
366
+ ]);
367
+ var sizeStyles = {
368
+ button: "hawa-h-4 hawa-w-4",
369
+ xs: "hawa-h-1 hawa-w-1",
370
+ sm: "hawa-h-6 hawa-w-6",
371
+ normal: "hawa-h-8 hawa-w-8",
372
+ lg: "hawa-h-14 hawa-w-14",
373
+ xl: "hawa-h-24 hawa-w-24"
374
+ };
375
+ var animationStyles = {
376
+ pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
377
+ bounce: "hawa-animate-bounce"
378
+ };
379
+ switch(design.split("-")[0]){
380
+ case "dots":
381
+ return /* @__PURE__ */ import_react.default.createElement("div", {
382
+ className: "hawa-flex hawa-flex-row hawa-gap-2"
383
+ }, /* @__PURE__ */ import_react.default.createElement("div", {
384
+ className: (0, import_clsx2.default)("hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite", size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size], animationStyles[design.split("-")[1]], color ? color : "hawa-bg-primary")
385
+ }), /* @__PURE__ */ import_react.default.createElement("div", {
386
+ className: (0, import_clsx2.default)("hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite", size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size], animationStyles[design.split("-")[1]], color ? color : "hawa-bg-primary")
387
+ }), /* @__PURE__ */ import_react.default.createElement("div", {
388
+ className: (0, import_clsx2.default)("hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite", size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size], animationStyles[design.split("-")[1]], color ? color : "hawa-bg-primary")
389
+ }));
390
+ default:
391
+ return /* @__PURE__ */ import_react.default.createElement("div", {
392
+ className: "hawa-flex hawa-flex-row hawa-gap-x-3"
393
+ }, /* @__PURE__ */ import_react.default.createElement("div", {
394
+ "aria-label": "Loading...",
395
+ role: "status"
396
+ }, /* @__PURE__ */ import_react.default.createElement("svg", {
397
+ className: (0, import_clsx2.default)(sizeStyles[size], "hawa-animate-spin"),
398
+ viewBox: "3 3 18 18"
399
+ }, /* @__PURE__ */ import_react.default.createElement("path", {
400
+ className: "hawa-fill-primary/20",
401
+ d: "M12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5ZM3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z"
402
+ }), /* @__PURE__ */ import_react.default.createElement("path", {
403
+ className: color ? color : "hawa-fill-primary",
404
+ d: "M16.9497 7.05015C14.2161 4.31648 9.78392 4.31648 7.05025 7.05015C6.65973 7.44067 6.02656 7.44067 5.63604 7.05015C5.24551 6.65962 5.24551 6.02646 5.63604 5.63593C9.15076 2.12121 14.8492 2.12121 18.364 5.63593C18.7545 6.02646 18.7545 6.65962 18.364 7.05015C17.9734 7.44067 17.3403 7.44067 16.9497 7.05015Z"
405
+ }))));
406
+ }
407
+ };
408
+ // components/elements/Button.tsx
409
+ var buttonVariants = (0, import_class_variance_authority.cva)("hawa-inline-flex hawa-items-center hawa-justify-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", {
410
+ variants: {
411
+ variant: {
412
+ default: "hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90",
413
+ light: "hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40",
414
+ destructive: "hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90",
415
+ outline: "hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground",
416
+ secondary: "hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80",
417
+ ghost: "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
418
+ link: "hawa-text-primary hawa-underline-offset-4 hover:hawa-underline",
419
+ neoBrutalism: "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"
420
+ },
421
+ size: {
422
+ default: "hawa-h-10 hawa-px-4 hawa-py-2",
423
+ heightless: "hawa-px-4 hawa-py-4",
424
+ xs: "hawa-h-fit hawa-py-1 hawa-text-[10px] hawa-px-2 ",
425
+ sm: "hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3",
426
+ lg: "hawa-h-11 hawa-rounded-md hawa-px-8",
427
+ xl: "hawa-h-14 hawa-rounded-md hawa-px-10",
428
+ icon: "hawa-h-10 hawa-w-10",
429
+ smallIcon: "hawa-h-7 hawa-w-7"
430
+ }
431
+ },
432
+ defaultVariants: {
433
+ variant: "default",
434
+ size: "default"
435
+ }
436
+ });
437
+ var Button = React2.forwardRef(function(_param, ref) {
438
+ var className = _param.className, variant = _param.variant, size = _param.size, _param_asChild = _param.asChild, asChild = _param_asChild === void 0 ? false : _param_asChild, isLoading = _param.isLoading, children = _param.children, props = _object_without_properties(_param, [
439
+ "className",
440
+ "variant",
441
+ "size",
442
+ "asChild",
443
+ "isLoading",
444
+ "children"
445
+ ]);
446
+ var Comp = "button";
447
+ var loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
448
+ return /* @__PURE__ */ React2.createElement(Comp, _object_spread({
449
+ className: cn(buttonVariants({
450
+ variant: variant,
451
+ size: size,
452
+ className: className
453
+ })),
454
+ ref: ref
455
+ }, props), isLoading ? /* @__PURE__ */ React2.createElement(Loading, {
456
+ design: "dots-pulse",
457
+ color: loadingColor,
458
+ size: size === "sm" ? "xs" : "button"
459
+ }) : children);
460
+ });
461
+ Button.displayName = "Button";
462
+ // components/elements/Dialog.tsx
463
+ var React3 = __toESM(require("react"));
464
+ var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"));
465
+ var Dialog = DialogPrimitive.Root;
466
+ var DialogTrigger = DialogPrimitive.Trigger;
467
+ var DialogPortal = function(_param) /* @__PURE__ */ {
468
+ var props = _extends({}, _object_destructuring_empty(_param));
469
+ return React3.createElement(DialogPrimitive.Portal, _object_spread({}, props));
470
+ };
471
+ DialogPortal.displayName = DialogPrimitive.Portal.displayName;
472
+ var DialogOverlay = React3.forwardRef(function(_param, ref) /* @__PURE__ */ {
473
+ var className = _param.className, props = _object_without_properties(_param, [
474
+ "className"
475
+ ]);
476
+ return React3.createElement(DialogPrimitive.Overlay, _object_spread({
477
+ ref: ref,
478
+ className: cn("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", className)
479
+ }, props));
480
+ });
481
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
482
+ var DialogContent = React3.forwardRef(function(_param, ref) /* @__PURE__ */ {
483
+ var className = _param.className, children = _param.children, props = _object_without_properties(_param, [
484
+ "className",
485
+ "children"
486
+ ]);
487
+ return React3.createElement(DialogPortal, null, /* @__PURE__ */ React3.createElement(DialogOverlay, null), /* @__PURE__ */ React3.createElement(DialogPrimitive.Content, _object_spread({
488
+ onPointerDownOutside: function(e) {
489
+ if (props.persist) {
490
+ e.preventDefault();
491
+ }
492
+ },
493
+ ref: ref,
494
+ className: cn("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-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", className)
495
+ }, props), children, /* @__PURE__ */ React3.createElement(DialogPrimitive.Close, {
496
+ className: cn("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", props.dir === "rtl" ? " hawa-left-4" : " hawa-right-4")
497
+ }, /* @__PURE__ */ React3.createElement("svg", {
498
+ "aria-label": "Close Icon",
499
+ "aria-hidden": "true",
500
+ className: "hawa-h-5 hawa-w-5",
501
+ fill: "currentColor",
502
+ viewBox: "0 0 20 20"
503
+ }, /* @__PURE__ */ React3.createElement("path", {
504
+ fillRule: "evenodd",
505
+ 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",
506
+ clipRule: "evenodd"
507
+ })), /* @__PURE__ */ React3.createElement("span", {
508
+ className: "hawa-sr-only"
509
+ }, "Close"))));
510
+ });
511
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
512
+ var DialogHeader = function(_param) /* @__PURE__ */ {
513
+ var className = _param.className, props = _object_without_properties(_param, [
514
+ "className"
515
+ ]);
516
+ return React3.createElement("div", _object_spread({
517
+ className: cn("hawa-flex hawa-flex-col hawa-space-y-1.5 hawa-text-center sm:hawa-text-left", className)
518
+ }, props));
519
+ };
520
+ DialogHeader.displayName = "DialogHeader";
521
+ var DialogTitle = React3.forwardRef(function(_param, ref) /* @__PURE__ */ {
522
+ var className = _param.className, props = _object_without_properties(_param, [
523
+ "className"
524
+ ]);
525
+ return React3.createElement(DialogPrimitive.Title, _object_spread({
526
+ ref: ref,
527
+ className: cn("hawa-text-start hawa-text-lg hawa-font-semibold hawa-leading-none hawa-tracking-tight", className)
528
+ }, props));
529
+ });
530
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
531
+ var DialogDescription = React3.forwardRef(function(_param, ref) /* @__PURE__ */ {
532
+ var className = _param.className, props = _object_without_properties(_param, [
533
+ "className"
534
+ ]);
535
+ return React3.createElement(DialogPrimitive.Description, _object_spread({
536
+ ref: ref,
537
+ className: cn("hawa-text-start hawa-text-sm hawa-text-muted-foreground", className)
538
+ }, props));
539
+ });
540
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
541
+ var DialogFooter = function(_param) /* @__PURE__ */ {
542
+ var className = _param.className, props = _object_without_properties(_param, [
543
+ "className"
544
+ ]);
545
+ return React3.createElement("div", _object_spread({
546
+ className: cn("hawa-flex hawa-flex-col-reverse sm:hawa-flex-row sm:hawa-justify-end sm:hawa-gap-2", className)
547
+ }, props));
548
+ };
549
+ DialogFooter.displayName = "DialogFooter";
550
+ // components/elements/Card.tsx
551
+ var React4 = __toESM(require("react"));
552
+ var Card = React4.forwardRef(function(_param, ref) /* @__PURE__ */ {
553
+ var className = _param.className, _param_clickable = _param.clickable, clickable = _param_clickable === void 0 ? false : _param_clickable, props = _object_without_properties(_param, [
554
+ "className",
555
+ "clickable"
556
+ ]);
557
+ return React4.createElement("div", _object_spread({
558
+ ref: ref,
559
+ className: cn("hawa-rounded-lg hawa-border hawa-bg-card hawa-text-card-foreground hawa-shadow-sm", clickable && "hawa-cursor-pointer hawa-transition-all hover:hawa-drop-shadow-md dark:hover:hawa-shadow-dark", className)
560
+ }, props));
561
+ });
562
+ Card.displayName = "Card";
563
+ var CardHeader = React4.forwardRef(function(_param, ref) /* @__PURE__ */ {
564
+ var className = _param.className, props = _object_without_properties(_param, [
565
+ "className"
566
+ ]);
567
+ return React4.createElement("div", _object_spread({
568
+ ref: ref,
569
+ className: cn("hawa-flex hawa-flex-col hawa-space-y-1.5 hawa-p-6", className)
570
+ }, props));
571
+ });
572
+ CardHeader.displayName = "CardHeader";
573
+ var CardTitle = React4.forwardRef(function(_param, ref) /* @__PURE__ */ {
574
+ var className = _param.className, props = _object_without_properties(_param, [
575
+ "className"
576
+ ]);
577
+ return React4.createElement("h3", _object_spread({
578
+ ref: ref,
579
+ className: cn("hawa-text-2xl hawa-font-semibold hawa-leading-none hawa-tracking-tight", className)
580
+ }, props));
581
+ });
582
+ CardTitle.displayName = "CardTitle";
583
+ var CardDescription = React4.forwardRef(function(_param, ref) /* @__PURE__ */ {
584
+ var className = _param.className, props = _object_without_properties(_param, [
585
+ "className"
586
+ ]);
587
+ return React4.createElement("p", _object_spread({
588
+ ref: ref,
589
+ className: cn("hawa-text-sm hawa-text-muted-foreground", className)
590
+ }, props));
591
+ });
592
+ CardDescription.displayName = "CardDescription";
593
+ var CardContent = React4.forwardRef(function(_param, ref) /* @__PURE__ */ {
594
+ var headless = _param.headless, className = _param.className, props = _object_without_properties(_param, [
595
+ "headless",
596
+ "className"
597
+ ]);
598
+ return React4.createElement("div", _object_spread({
599
+ ref: ref,
600
+ className: cn("hawa-p-6", headless ? "hawa-pt-6" : "hawa-pt-0", className)
601
+ }, props));
602
+ });
603
+ CardContent.displayName = "CardContent";
604
+ var CardFooter = React4.forwardRef(function(_param, ref) /* @__PURE__ */ {
605
+ var className = _param.className, props = _object_without_properties(_param, [
606
+ "className"
607
+ ]);
608
+ return React4.createElement("div", _object_spread({
609
+ ref: ref,
610
+ className: cn("hawa-flex hawa-items-center hawa-p-6 hawa-pt-0", className)
611
+ }, props));
612
+ });
613
+ CardFooter.displayName = "CardFooter";
614
+ // components/elements/Breadcrumb.tsx
615
+ var import_react2 = __toESM(require("react"));
616
+ var Breadcrumb = function(param) {
617
+ var breadcrumbLinks = param.breadcrumbLinks, _param_separator = param.separator, separator = _param_separator === void 0 ? ">" : _param_separator;
618
+ return /* @__PURE__ */ import_react2.default.createElement("div", {
619
+ className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2 hawa-text-sm"
620
+ }, breadcrumbLinks.map(function(singleBreadcrumbLink, index) {
621
+ return /* @__PURE__ */ import_react2.default.createElement("div", {
622
+ className: "hawa-flex hawa-flex-row hawa-items-center hawa-justify-center hawa-gap-2"
623
+ }, /* @__PURE__ */ import_react2.default.createElement("a", {
624
+ href: singleBreadcrumbLink.href,
625
+ className: index + 1 === breadcrumbLinks.length ? "hawa-pointer-events-none" : "hawa-underline-offset-4 hawa-transition-all hover:hawa-text-primary hover:hawa-underline hover:hawa-decoration-2"
626
+ }, singleBreadcrumbLink.label), index != breadcrumbLinks.length - 1 ? typeof separator == "string" ? /* @__PURE__ */ import_react2.default.createElement("div", null, separator) : /* @__PURE__ */ import_react2.default.createElement("div", null, separator) : null);
627
+ }));
628
+ };
629
+ // components/elements/Tooltip.tsx
630
+ var import_react3 = __toESM(require("react"));
631
+ var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
632
+ var TooltipContent = import_react3.default.forwardRef(function(_param, ref) /* @__PURE__ */ {
633
+ var className = _param.className, _param_sideOffset = _param.sideOffset, sideOffset = _param_sideOffset === void 0 ? 4 : _param_sideOffset, props = _object_without_properties(_param, [
634
+ "className",
635
+ "sideOffset"
636
+ ]);
637
+ return import_react3.default.createElement(TooltipPrimitive.Content, _object_spread({
638
+ ref: ref,
639
+ sideOffset: sideOffset,
640
+ className: cn("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", className)
641
+ }, props));
642
+ });
643
+ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
644
+ var TooltipArrow = import_react3.default.forwardRef(function(_param, ref) /* @__PURE__ */ {
645
+ var className = _param.className, props = _object_without_properties(_param, [
646
+ "className"
647
+ ]);
648
+ return import_react3.default.createElement(TooltipPrimitive.Arrow, _object_spread({
649
+ ref: ref,
650
+ className: cn(className)
651
+ }, props));
652
+ });
653
+ TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
654
+ var Tooltip = function(_param) {
655
+ var side = _param.side, open = _param.open, content = _param.content, children = _param.children, defaultOpen = _param.defaultOpen, onOpenChange = _param.onOpenChange, _param_delayDuration = _param.delayDuration, delayDuration = _param_delayDuration === void 0 ? 300 : _param_delayDuration, props = _object_without_properties(_param, [
656
+ "side",
657
+ "open",
658
+ "content",
659
+ "children",
660
+ "defaultOpen",
661
+ "onOpenChange",
662
+ "delayDuration"
663
+ ]);
664
+ return /* @__PURE__ */ import_react3.default.createElement(TooltipPrimitive.TooltipProvider, {
665
+ delayDuration: delayDuration
666
+ }, /* @__PURE__ */ import_react3.default.createElement(TooltipPrimitive.Root, {
667
+ open: open,
668
+ defaultOpen: defaultOpen,
669
+ onOpenChange: onOpenChange
670
+ }, /* @__PURE__ */ import_react3.default.createElement(TooltipPrimitive.Trigger, {
671
+ asChild: true
672
+ }, children), /* @__PURE__ */ import_react3.default.createElement(TooltipContent, _object_spread({
673
+ side: side,
674
+ align: "center"
675
+ }, props), content)));
676
+ };
677
+ // components/elements/CodeBlock.tsx
678
+ var import_react5 = __toESM(require("react"));
679
+ // components/hooks/useClipboard.ts
680
+ var import_react4 = require("react");
681
+ function useClipboard() {
682
+ var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref_timeout = _ref.timeout, timeout = _ref_timeout === void 0 ? 2e3 : _ref_timeout;
683
+ var _ref1 = _sliced_to_array((0, import_react4.useState)(null), 2), error = _ref1[0], setError = _ref1[1];
684
+ var _ref2 = _sliced_to_array((0, import_react4.useState)(false), 2), copied = _ref2[0], setCopied = _ref2[1];
685
+ var _ref3 = _sliced_to_array((0, import_react4.useState)(null), 2), copyTimeout = _ref3[0], setCopyTimeout = _ref3[1];
686
+ var handleCopyResult = function(value) {
687
+ clearTimeout(copyTimeout);
688
+ setCopyTimeout(setTimeout(function() {
689
+ return setCopied(false);
690
+ }, timeout));
691
+ setCopied(value);
692
+ };
693
+ var copy = function(valueToCopy) {
694
+ if ("clipboard" in navigator) {
695
+ navigator.clipboard.writeText(valueToCopy).then(function() {
696
+ return handleCopyResult(true);
697
+ }).catch(function(err) {
698
+ return setError(err);
699
+ });
700
+ } else {
701
+ setError(new Error("useClipboard: navigator.clipboard is not supported"));
702
+ }
703
+ };
704
+ var reset = function() {
705
+ setCopied(false);
706
+ setError(null);
707
+ clearTimeout(copyTimeout);
708
+ };
709
+ return {
710
+ copy: copy,
711
+ reset: reset,
712
+ error: error,
713
+ copied: copied
714
+ };
715
+ }
716
+ // components/elements/CodeBlock.tsx
717
+ var CodeBlock = function(param) {
718
+ var tabs = param.tabs, code = param.code, fileName = param.fileName, _param_width = param.width, width = _param_width === void 0 ? "full" : _param_width;
719
+ var clipboard = useClipboard();
720
+ var _ref = _sliced_to_array((0, import_react5.useState)(0), 2), selectedTab = _ref[0], setSelectedTab = _ref[1];
721
+ var widthStyles = {
722
+ full: "hawa-w-full",
723
+ md: "hawa-w-full hawa-max-w-md",
724
+ sm: "hawa-w-full hawa-max-w-sm",
725
+ xs: "hawa-w-full hawa-max-w-xs"
726
+ };
727
+ return /* @__PURE__ */ import_react5.default.createElement("div", {
728
+ className: cn(widthStyles[width], "hawa-w-full hawa-flex-col hawa-items-center hawa-rounded hawa-bg-background hawa-text-left hawa-text-white sm:hawa-text-base")
729
+ }, tabs && /* @__PURE__ */ import_react5.default.createElement("div", {
730
+ className: "hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-bg-gray-200 dark:hawa-bg-muted hawa-p-2 hawa-pb-0 hawa-text-foreground hawa-font-mono "
731
+ }, tabs.map(function(tab, i) {
732
+ return /* @__PURE__ */ import_react5.default.createElement("div", {
733
+ className: cn(selectedTab === i ? " hawa-border-b-2 hawa-border-primary" : "hawa-bg-transparent")
734
+ }, /* @__PURE__ */ import_react5.default.createElement("div", {
735
+ onClick: function() {
736
+ return setSelectedTab(i);
737
+ },
738
+ className: cn("hawa-mb-1 hawa-transition-all hawa-w-full hawa-max-w-[52px] hawa-cursor-pointer hawa-rounded-inner hawa-p-2 hawa-py-1 hawa-text-center hawa-text-[1rem] hover:hawa-bg-muted-foreground/20")
739
+ }, tab.title));
740
+ })), fileName && /* @__PURE__ */ import_react5.default.createElement("div", {
741
+ className: "hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-bg-gray-200 dark:hawa-bg-muted hawa-p-2 hawa-pb-0 hawa-text-foreground hawa-font-mono"
742
+ }, /* @__PURE__ */ import_react5.default.createElement("div", {
743
+ className: cn("hawa-mb-1 hawa-w-full hawa-max-w-[52px] hawa-rounded-inner hawa-p-2 hawa-py-1 hawa-text-center hawa-text-[1rem]")
744
+ }, fileName)), /* @__PURE__ */ import_react5.default.createElement("pre", null, /* @__PURE__ */ import_react5.default.createElement("code", {
745
+ className: cn("hawa-relative hawa-flex hawa-w-full hawa-flex-row hawa-items-start hawa-justify-between hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base hawa-bg-gray-300 ", tabs || fileName ? "hawa-rounded-b hawa-rounded-t-none" : "hawa-rounded")
746
+ }, /* @__PURE__ */ import_react5.default.createElement("div", {
747
+ className: "hawa-flex hawa-min-h-[37.75px] hawa-w-full hawa-flex-row hawa-justify-start hawa-overflow-auto hawa-p-4 hawa-text-foreground hawa-bg-background/70 hawa-font-mono "
748
+ }, tabs ? tabs[selectedTab].code : code), /* @__PURE__ */ import_react5.default.createElement("div", {
749
+ className: "hawa-absolute hawa-right-0 hawa-flex hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2 hawa-p-2"
750
+ }, /* @__PURE__ */ import_react5.default.createElement(Tooltip, {
751
+ open: clipboard.copied,
752
+ side: "left",
753
+ content: /* @__PURE__ */ import_react5.default.createElement("div", null, "Copied!")
754
+ }, /* @__PURE__ */ import_react5.default.createElement(Button, {
755
+ size: "icon",
756
+ onClick: function() {
757
+ return clipboard.copy(tabs ? tabs[selectedTab].code : code);
758
+ },
759
+ variant: "outline",
760
+ className: "hawa-opacity-50 sm:hawa-opacity-100 hawa-text-foreground"
761
+ }, /* @__PURE__ */ import_react5.default.createElement("svg", {
762
+ "aria-label": "Copy Icon",
763
+ stroke: "currentColor",
764
+ fill: "none",
765
+ strokeWidth: "2",
766
+ viewBox: "0 0 24 24",
767
+ strokeLinecap: "round",
768
+ strokeLinejoin: "round",
769
+ height: "1em",
770
+ width: "1em"
771
+ }, /* @__PURE__ */ import_react5.default.createElement("rect", {
772
+ width: "14",
773
+ height: "14",
774
+ x: "8",
775
+ y: "8",
776
+ rx: "2",
777
+ ry: "2"
778
+ }), /* @__PURE__ */ import_react5.default.createElement("path", {
779
+ d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
780
+ }))))))));
781
+ };
782
+ // components/elements/Checkbox.tsx
783
+ var React8 = __toESM(require("react"));
784
+ var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
785
+ var Checkbox = function(_param) {
786
+ var id = _param.id, label = _param.label, sublabel = _param.sublabel, helperText = _param.helperText, checkboxProps = _object_without_properties(_param, [
787
+ "id",
788
+ "label",
789
+ "sublabel",
790
+ "helperText"
791
+ ]);
792
+ return /* @__PURE__ */ React8.createElement("div", {
793
+ className: "hawa-items-top hawa-flex hawa-gap-2 "
794
+ }, /* @__PURE__ */ React8.createElement(CheckboxElement, _object_spread({
795
+ id: id
796
+ }, checkboxProps)), (label || helperText) && /* @__PURE__ */ React8.createElement("div", {
797
+ className: "hawa-grid hawa-gap-1.5 hawa-leading-none"
798
+ }, label && /* @__PURE__ */ React8.createElement("label", {
799
+ role: "checkbox",
800
+ htmlFor: id,
801
+ className: cn("hawa-cursor-pointer hawa-select-none hawa-text-sm hawa-font-medium hawa-leading-none hawa-pt-0.5", checkboxProps.disabled && "hawa-cursor-not-allowed hawa-text-muted-foreground hawa-opacity-70 ")
802
+ }, label), sublabel && /* @__PURE__ */ React8.createElement("label", {
803
+ role: "checkbox",
804
+ htmlFor: id,
805
+ className: cn("hawa-cursor-pointer hawa-select-none hawa-text-sm hawa-text-muted-foreground", checkboxProps.disabled && "hawa-cursor-not-allowed hawa-text-muted-foreground hawa-opacity-70")
806
+ }, sublabel), helperText && !checkboxProps.disabled && /* @__PURE__ */ React8.createElement("label", {
807
+ role: "checkbox",
808
+ htmlFor: id,
809
+ className: cn("hawa-select-none hawa-text-xs hawa-text-red-500", checkboxProps.disabled && "hawa-cursor-not-allowed hawa-opacity-70")
810
+ }, helperText)));
811
+ };
812
+ var CheckboxElement = React8.forwardRef(function(_param, ref) /* @__PURE__ */ {
813
+ var className = _param.className, props = _object_without_properties(_param, [
814
+ "className"
815
+ ]);
816
+ return React8.createElement(CheckboxPrimitive.Root, _object_spread({
817
+ ref: ref,
818
+ className: cn("hawa-peer hawa-h-4 hawa-w-4 hawa-shrink-0 hawa-rounded-sm 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", className)
819
+ }, props), /* @__PURE__ */ React8.createElement(CheckboxPrimitive.Indicator, {
820
+ className: cn("hawa-flex hawa-items-center hawa-justify-center hawa-text-current")
821
+ }, /* @__PURE__ */ React8.createElement("svg", {
822
+ "aria-label": "Check Mark",
823
+ stroke: "currentColor",
824
+ fill: "currentColor",
825
+ strokeWidth: "0",
826
+ viewBox: "0 0 512 512",
827
+ height: "0.60em",
828
+ width: "0.60em"
829
+ }, /* @__PURE__ */ React8.createElement("path", {
830
+ 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"
831
+ })), " "));
832
+ });
833
+ CheckboxElement.displayName = CheckboxPrimitive.Root.displayName;
834
+ // components/elements/Toast.tsx
835
+ var React9 = __toESM(require("react"));
836
+ var ToastPrimitives = __toESM(require("@radix-ui/react-toast"));
837
+ var import_class_variance_authority2 = require("class-variance-authority");
838
+ var toastVariants = (0, import_class_variance_authority2.cva)("hawa-group 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", {
839
+ variants: {
840
+ variant: {
841
+ default: "hawa-border hawa-bg-background hawa-text-foreground",
842
+ destructive: "hawa-destructive hawa-group hawa-border-destructive hawa-bg-destructive hawa-text-destructive-foreground"
843
+ },
844
+ severity: {
845
+ info: "hawa-info hawa-group hawa-text-info-foreground hawa-bg-info",
846
+ warning: "hawa-warning hawa-group hawa-text-warning-foreground hawa-bg-warning",
847
+ error: "hawa-error hawa-group hawa-border-error hawa-bg-error hawa-text-error-foreground",
848
+ success: "hawa-success hawa-group hawa-text-success-foreground hawa-bg-success",
849
+ none: ""
850
+ }
851
+ },
852
+ defaultVariants: {
853
+ variant: "default"
854
+ }
855
+ });
856
+ var ToastProvider = ToastPrimitives.Provider;
857
+ var ToastViewport = React9.forwardRef(function(_param, ref) /* @__PURE__ */ {
858
+ var className = _param.className, props = _object_without_properties(_param, [
859
+ "className"
860
+ ]);
861
+ return React9.createElement(ToastPrimitives.Viewport, _object_spread({
862
+ ref: ref,
863
+ className: cn("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]", className)
864
+ }, props));
865
+ });
866
+ ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
867
+ var Toast = React9.forwardRef(function(_param, ref) {
868
+ var className = _param.className, variant = _param.variant, _param_severity = _param.severity, severity = _param_severity === void 0 ? "none" : _param_severity, direction = _param.direction, props = _object_without_properties(_param, [
869
+ "className",
870
+ "variant",
871
+ "severity",
872
+ "direction"
873
+ ]);
874
+ return /* @__PURE__ */ React9.createElement(ToastPrimitives.Root, _object_spread({
875
+ ref: ref,
876
+ className: cn(toastVariants({
877
+ variant: variant,
878
+ severity: severity
879
+ }), className, 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"),
880
+ dir: direction
881
+ }, props));
882
+ });
883
+ Toast.displayName = ToastPrimitives.Root.displayName;
884
+ var ToastAction = React9.forwardRef(function(_param, ref) {
885
+ var className = _param.className, props = _object_without_properties(_param, [
886
+ "className"
887
+ ]);
888
+ return /* @__PURE__ */ React9.createElement(ToastPrimitives.Action, _object_spread({
889
+ ref: ref,
890
+ className: cn("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", "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", "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", "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", "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", className)
891
+ }, props));
892
+ });
893
+ ToastAction.displayName = ToastPrimitives.Action.displayName;
894
+ var ToastClose = React9.forwardRef(function(_param, ref) /* @__PURE__ */ {
895
+ var className = _param.className, props = _object_without_properties(_param, [
896
+ "className"
897
+ ]);
898
+ return React9.createElement(ToastPrimitives.Close, _object_spread({
899
+ ref: ref,
900
+ className: cn("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", className),
901
+ "toast-close": ""
902
+ }, props), /* @__PURE__ */ React9.createElement("svg", {
903
+ "aria-label": "Close Icon",
904
+ "aria-hidden": "true",
905
+ className: "hawa-h-4 hawa-w-4",
906
+ fill: "currentColor",
907
+ viewBox: "0 0 20 20"
908
+ }, /* @__PURE__ */ React9.createElement("path", {
909
+ fillRule: "evenodd",
910
+ 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",
911
+ clipRule: "evenodd"
912
+ })));
913
+ });
914
+ ToastClose.displayName = ToastPrimitives.Close.displayName;
915
+ var ToastTitle = React9.forwardRef(function(_param, ref) /* @__PURE__ */ {
916
+ var className = _param.className, props = _object_without_properties(_param, [
917
+ "className"
918
+ ]);
919
+ return React9.createElement(ToastPrimitives.Title, _object_spread({
920
+ ref: ref,
921
+ className: cn("hawa-text-sm hawa-font-semibold", className)
922
+ }, props));
923
+ });
924
+ ToastTitle.displayName = ToastPrimitives.Title.displayName;
925
+ var ToastDescription = React9.forwardRef(function(_param, ref) /* @__PURE__ */ {
926
+ var className = _param.className, props = _object_without_properties(_param, [
927
+ "className"
928
+ ]);
929
+ return React9.createElement(ToastPrimitives.Description, _object_spread({
930
+ ref: ref,
931
+ className: cn("hawa-text-sm hawa-opacity-90", className)
932
+ }, props));
933
+ });
934
+ ToastDescription.displayName = ToastPrimitives.Description.displayName;
935
+ // components/elements/Toaster.tsx
936
+ var import_react6 = __toESM(require("react"));
937
+ // components/hooks/useToast.ts
938
+ var React10 = __toESM(require("react"));
939
+ var TOAST_LIMIT = 5;
940
+ var TOAST_REMOVE_DELAY = 1e5;
941
+ var count = 0;
942
+ function genId() {
943
+ count = (count + 1) % Number.MAX_VALUE;
944
+ return count.toString();
945
+ }
946
+ var toastTimeouts = /* @__PURE__ */ new Map();
947
+ var addToRemoveQueue = function(toastId) {
948
+ if (toastTimeouts.has(toastId)) {
949
+ return;
950
+ }
951
+ var timeout = setTimeout(function() {
952
+ toastTimeouts.delete(toastId);
953
+ dispatch({
954
+ type: "REMOVE_TOAST",
955
+ toastId: toastId
956
+ });
957
+ }, TOAST_REMOVE_DELAY);
958
+ toastTimeouts.set(toastId, timeout);
959
+ };
960
+ var reducer = function(state, action) {
961
+ switch(action.type){
962
+ case "ADD_TOAST":
963
+ return _object_spread_props(_object_spread({}, state), {
964
+ toasts: [
965
+ action.toast
966
+ ].concat(_to_consumable_array(state.toasts)).slice(0, TOAST_LIMIT)
967
+ });
968
+ case "UPDATE_TOAST":
969
+ return _object_spread_props(_object_spread({}, state), {
970
+ toasts: state.toasts.map(function(t) {
971
+ return t.id === action.toast.id ? _object_spread({}, t, action.toast) : t;
972
+ })
973
+ });
974
+ case "DISMISS_TOAST":
975
+ {
976
+ var toastId = action.toastId;
977
+ if (toastId) {
978
+ addToRemoveQueue(toastId);
979
+ } else {
980
+ state.toasts.forEach(function(toast2) {
981
+ addToRemoveQueue(toast2.id);
982
+ });
983
+ }
984
+ return _object_spread_props(_object_spread({}, state), {
985
+ toasts: state.toasts.map(function(t) {
986
+ return t.id === toastId || toastId === void 0 ? _object_spread_props(_object_spread({}, t), {
987
+ open: false
988
+ }) : t;
989
+ })
990
+ });
991
+ }
992
+ case "REMOVE_TOAST":
993
+ if (action.toastId === void 0) {
994
+ return _object_spread_props(_object_spread({}, state), {
995
+ toasts: []
996
+ });
997
+ }
998
+ return _object_spread_props(_object_spread({}, state), {
999
+ toasts: state.toasts.filter(function(t) {
1000
+ return t.id !== action.toastId;
1001
+ })
1002
+ });
1003
+ }
1004
+ };
1005
+ var listeners = [];
1006
+ var memoryState = {
1007
+ toasts: []
1008
+ };
1009
+ function dispatch(action) {
1010
+ memoryState = reducer(memoryState, action);
1011
+ listeners.forEach(function(listener) {
1012
+ listener(memoryState);
1013
+ });
1014
+ }
1015
+ function toast(_param) {
1016
+ var props = _extends({}, _object_destructuring_empty(_param));
1017
+ var id = genId();
1018
+ var update = function(props2) {
1019
+ return dispatch({
1020
+ type: "UPDATE_TOAST",
1021
+ toast: _object_spread_props(_object_spread({}, props2), {
1022
+ id: id
1023
+ })
1024
+ });
1025
+ };
1026
+ var dismiss = function() {
1027
+ return dispatch({
1028
+ type: "DISMISS_TOAST",
1029
+ toastId: id
1030
+ });
1031
+ };
1032
+ dispatch({
1033
+ type: "ADD_TOAST",
1034
+ toast: _object_spread_props(_object_spread({}, props), {
1035
+ id: id,
1036
+ open: true,
1037
+ onOpenChange: function(open) {
1038
+ if (!open) dismiss();
1039
+ }
1040
+ })
1041
+ });
1042
+ return {
1043
+ id: id,
1044
+ dismiss: dismiss,
1045
+ update: update
1046
+ };
1047
+ }
1048
+ function useToast() {
1049
+ var _React10_useState = _sliced_to_array(React10.useState(memoryState), 2), state = _React10_useState[0], setState = _React10_useState[1];
1050
+ React10.useEffect(function() {
1051
+ listeners.push(setState);
1052
+ return function() {
1053
+ var index = listeners.indexOf(setState);
1054
+ if (index > -1) {
1055
+ listeners.splice(index, 1);
1056
+ }
1057
+ };
1058
+ }, [
1059
+ state
1060
+ ]);
1061
+ return _object_spread_props(_object_spread({}, state), {
1062
+ toast: toast,
1063
+ dismiss: function(toastId) {
1064
+ return dispatch({
1065
+ type: "DISMISS_TOAST",
1066
+ toastId: toastId
1067
+ });
1068
+ }
1069
+ });
1070
+ }
1071
+ // components/elements/Toaster.tsx
1072
+ function Toaster(props) {
1073
+ var toasts = useToast().toasts;
1074
+ var isRTL = props.direction === "rtl";
1075
+ return /* @__PURE__ */ import_react6.default.createElement(ToastProvider, {
1076
+ swipeDirection: isRTL ? "left" : "right"
1077
+ }, toasts.map(function(_param) {
1078
+ var id = _param.id, title = _param.title, description = _param.description, action = _param.action, toastProps = _object_without_properties(_param, [
1079
+ "id",
1080
+ "title",
1081
+ "description",
1082
+ "action"
1083
+ ]);
1084
+ return /* @__PURE__ */ import_react6.default.createElement(Toast, _object_spread({
1085
+ direction: props.direction,
1086
+ key: id
1087
+ }, toastProps), /* @__PURE__ */ import_react6.default.createElement("div", {
1088
+ className: "hawa-grid hawa-gap-1 hawa-text-start"
1089
+ }, title && /* @__PURE__ */ import_react6.default.createElement(ToastTitle, null, title), description && /* @__PURE__ */ import_react6.default.createElement(ToastDescription, null, description)), action, /* @__PURE__ */ import_react6.default.createElement(ToastClose, null));
1090
+ }), /* @__PURE__ */ import_react6.default.createElement(ToastViewport, {
1091
+ className: cn("hawa-gap-2", isRTL && "hawa-fixed hawa-left-0")
1092
+ }));
1093
+ }
1094
+ // components/elements/Switch.tsx
1095
+ var React12 = __toESM(require("react"));
1096
+ var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"));
1097
+ var rootSize = {
1098
+ default: "hawa-h-[25px] hawa-w-[42px]",
1099
+ sm: "hawa-h-[20px] hawa-w-[37px]",
1100
+ lg: "hawa-h-[30px] hawa-w-[47px]"
1101
+ };
1102
+ var thumbSize = {
1103
+ default: "hawa-h-[21px] hawa-w-[21px]",
1104
+ sm: "hawa-h-[16px] hawa-w-[16px]",
1105
+ lg: "hawa-h-[26px] hawa-w-[26px]"
1106
+ };
1107
+ var Switch = React12.forwardRef(function(_param, ref) {
1108
+ var className = _param.className, _param_size = _param.size, size = _param_size === void 0 ? "default" : _param_size, label = _param.label, props = _object_without_properties(_param, [
1109
+ "className",
1110
+ "size",
1111
+ "label"
1112
+ ]);
1113
+ var _React12_useState = _sliced_to_array(React12.useState(null), 2), parentDirection = _React12_useState[0], setParentDirection = _React12_useState[1];
1114
+ var parentRef = React12.useRef(null);
1115
+ React12.useEffect(function() {
1116
+ var _parentRef_current;
1117
+ var parentNode = (_parentRef_current = parentRef.current) === null || _parentRef_current === void 0 ? void 0 : _parentRef_current.parentNode;
1118
+ if (parentNode) {
1119
+ var dir = window.getComputedStyle(parentNode).direction;
1120
+ setParentDirection(dir);
1121
+ }
1122
+ });
1123
+ return /* @__PURE__ */ React12.createElement("div", {
1124
+ className: "hawa-flex hawa-flex-row hawa-items-center",
1125
+ ref: parentRef
1126
+ }, /* @__PURE__ */ React12.createElement(SwitchPrimitives.Root, _object_spread_props(_object_spread({
1127
+ className: cn("hawa-relative hawa-cursor-pointer hawa-rounded-full hawa-bg-primary/20 hawa-outline-none data-[state=checked]:hawa-bg-primary", className, rootSize[size])
1128
+ }, props), {
1129
+ ref: ref
1130
+ }), /* @__PURE__ */ React12.createElement(SwitchPrimitives.Thumb, {
1131
+ className: cn(thumbSize[size], "hawa-block hawa-rounded-full hawa-bg-white hawa-transition-transform hawa-duration-100 hawa-will-change-transform data-[state=checked]:hawa-bg-primary-foreground dark:hawa-bg-background", 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]")
1132
+ })), label && /* @__PURE__ */ React12.createElement("span", {
1133
+ className: "hawa-mx-2 hawa-text-sm hawa-font-medium hawa-text-gray-900 dark:hawa-text-gray-300"
1134
+ }, label));
1135
+ });
1136
+ Switch.displayName = SwitchPrimitives.Root.displayName;
1137
+ // components/elements/Radio.tsx
1138
+ var import_react7 = __toESM(require("react"));
1139
+ var Radio = function(_param) {
1140
+ var _param_design = _param.design, design = _param_design === void 0 ? "default" : _param_design, _param_width = _param.width, width = _param_width === void 0 ? "default" : _param_width, _param_orientation = _param.orientation, orientation = _param_orientation === void 0 ? "horizontal" : _param_orientation, props = _object_without_properties(_param, [
1141
+ "design",
1142
+ "width",
1143
+ "orientation"
1144
+ ]);
1145
+ var _ref = _sliced_to_array((0, import_react7.useState)(props.defaultValue), 2), selectedOption = _ref[0], setSelectedOption = _ref[1];
1146
+ var activeTabStyle = "hawa-inline-block hawa-py-2 hawa-px-4 hawa-w-full hawa-text-primary-foreground hawa-bg-primary hawa-active dark:hawa-bg-primary ";
1147
+ var inactiveTabStyle = "hawa-inline-block hawa-py-2 hawa-px-4 hawa-w-full hawa-transition-all hover:hawa-bg-primary/10 dark:hawa-bg-background hawa-bg-primary/5 hover:hawa-text-gray-900 dark:hover:hawa-bg-primary/10 dark:hover:hawa-text-white dark:hawa-bg-primary/5";
1148
+ var orientationStyle = {
1149
+ horizontal: "hawa-flex hawa-flex-row",
1150
+ vertical: "hawa-flex hawa-flex-col"
1151
+ };
1152
+ var widthStyle = {
1153
+ default: "hawa-max-w-fit",
1154
+ full: "hawa-w-full"
1155
+ };
1156
+ var _import_react7_default_useState = _sliced_to_array(import_react7.default.useState(null), 2), parentDirection = _import_react7_default_useState[0], setParentDirection = _import_react7_default_useState[1];
1157
+ var parentRef = (0, import_react7.useRef)(null);
1158
+ (0, import_react7.useEffect)(function() {
1159
+ var _parentRef_current;
1160
+ var parentNode = (_parentRef_current = parentRef.current) === null || _parentRef_current === void 0 ? void 0 : _parentRef_current.parentNode;
1161
+ if (parentNode) {
1162
+ var dir = window.getComputedStyle(parentNode).direction;
1163
+ setParentDirection(dir);
1164
+ }
1165
+ });
1166
+ switch(design){
1167
+ case "tabs":
1168
+ var _props_options, _props_options1;
1169
+ return /* @__PURE__ */ import_react7.default.createElement("ul", {
1170
+ ref: parentRef,
1171
+ className: cn(props.options && ((_props_options = props.options) === null || _props_options === void 0 ? void 0 : _props_options.length) > 2 ? "hawa-flex-wrap xs:hawa-max-w-full xs:hawa-flex-nowrap" : "", "hawa-select-none hawa-whitespace-nowrap hawa-rounded hawa-border hawa-text-center hawa-text-sm hawa-font-medium", widthStyle[width], orientationStyle[orientation])
1172
+ }, (_props_options1 = props.options) === null || _props_options1 === void 0 ? void 0 : _props_options1.map(function(opt, o) {
1173
+ return /* @__PURE__ */ import_react7.default.createElement("li", {
1174
+ "aria-current": "page",
1175
+ onClick: function() {
1176
+ setSelectedOption(opt.value);
1177
+ props.onChangeTab(opt.value);
1178
+ },
1179
+ className: cn("hawa-w-full hawa-cursor-pointer ", orientation === "horizontal" && parentDirection === "ltr" && "hawa-rounded-none first:hawa-rounded-l last:hawa-rounded-r", orientation === "horizontal" && parentDirection === "rtl" && "hawa-rounded-none first:hawa-rounded-r last:hawa-rounded-l", orientation === "vertical" && "hawa-rounded-none first:hawa-rounded-t last:hawa-rounded-b", "hawa-last hawa-flex hawa-flex-row hawa-items-center hawa-justify-center hawa-gap-2 ", selectedOption === opt.value ? activeTabStyle : inactiveTabStyle),
1180
+ key: o
1181
+ }, opt.icon && opt.icon, opt.label);
1182
+ }));
1183
+ case "bordered":
1184
+ return /* @__PURE__ */ import_react7.default.createElement("div", {
1185
+ className: cn(orientationStyle[orientation], "hawa-gap-4")
1186
+ }, props.options && props.options.map(function(opt, i) {
1187
+ return /* @__PURE__ */ import_react7.default.createElement("div", {
1188
+ className: "hawa-rounded hawa-border hawa-border-gray-200 "
1189
+ }, /* @__PURE__ */ import_react7.default.createElement("div", {
1190
+ className: "radio-item radio-item-bordered hawa-flex hawa-items-center hawa-transition-all",
1191
+ key: i + 1
1192
+ }, /* @__PURE__ */ import_react7.default.createElement("input", {
1193
+ disabled: opt.disabled,
1194
+ id: opt.value.toString(),
1195
+ type: "radio",
1196
+ value: opt.value,
1197
+ name: "bordered-radio"
1198
+ }), /* @__PURE__ */ import_react7.default.createElement("label", {
1199
+ htmlFor: opt.value.toString(),
1200
+ className: cn("hawa-ml-2 hawa-w-full hawa-p-4 hawa-pl-3 hawa-text-sm hawa-font-medium dark:hawa-text-white", opt.disabled ? "hawa-opacity-50" : "hawa-cursor-pointer hawa-text-gray-900")
1201
+ }, opt.label)));
1202
+ }));
1203
+ case "cards":
1204
+ var _props_options2;
1205
+ return /* @__PURE__ */ import_react7.default.createElement("ul", {
1206
+ className: cn(orientationStyle[orientation], "hawa-gap-4")
1207
+ }, (_props_options2 = props.options) === null || _props_options2 === void 0 ? void 0 : _props_options2.map(function(opt, o) {
1208
+ return /* @__PURE__ */ import_react7.default.createElement("li", null, /* @__PURE__ */ import_react7.default.createElement("input", {
1209
+ type: "radio",
1210
+ id: opt.value.toString(),
1211
+ name: "cards-radio",
1212
+ value: opt.value.toString(),
1213
+ className: "hawa-peer hawa-hidden",
1214
+ required: true,
1215
+ disabled: opt.disabled
1216
+ }), /* @__PURE__ */ import_react7.default.createElement("label", {
1217
+ htmlFor: opt.value.toString(),
1218
+ className: cn("hawa-inline-flex hawa-h-full hawa-w-full hawa-items-center hawa-justify-between hawa-rounded-lg hawa-border hawa-border-gray-200 hawa-bg-white hawa-p-5 hawa-text-gray-500 peer-checked:hawa-border-blue-600 peer-checked:hawa-text-blue-600 dark:hawa-border-gray-700 dark:hawa-bg-gray-800 dark:hawa-text-gray-400 dark:peer-checked:hawa-text-primary", opt.disabled ? "hawa-opacity-50" : "hawa-cursor-pointer hover:hawa-bg-gray-100 hover:hawa-text-gray-600 dark:hover:hawa-bg-gray-700 dark:hover:hawa-text-gray-300")
1219
+ }, /* @__PURE__ */ import_react7.default.createElement("div", {
1220
+ className: "hawa-block hawa-h-full hawa-w-full"
1221
+ }, /* @__PURE__ */ import_react7.default.createElement("div", {
1222
+ className: "hawa-w-full hawa-text-lg hawa-font-semibold"
1223
+ }, opt.label), /* @__PURE__ */ import_react7.default.createElement("div", {
1224
+ className: "hawa-w-full"
1225
+ }, opt.sublabel))));
1226
+ }));
1227
+ default:
1228
+ return /* @__PURE__ */ import_react7.default.createElement("div", {
1229
+ className: cn(orientationStyle[orientation], "hawa-gap-2")
1230
+ }, props.options && props.options.map(function(opt, i) {
1231
+ return /* @__PURE__ */ import_react7.default.createElement("div", {
1232
+ className: "radio-item radio-item-default hawa-flex hawa-items-center hawa-transition-all",
1233
+ key: i + 1
1234
+ }, /* @__PURE__ */ import_react7.default.createElement("input", {
1235
+ disabled: opt.disabled,
1236
+ id: opt.value.toString(),
1237
+ type: "radio",
1238
+ value: opt.value,
1239
+ name: "default-radio"
1240
+ }), /* @__PURE__ */ import_react7.default.createElement("label", {
1241
+ htmlFor: opt.value.toString(),
1242
+ className: cn("hawa-text-sm hawa-font-medium dark:hawa-text-white", opt.disabled ? "hawa-text-gray-400" : "hawa-cursor-pointer hawa-text-gray-900")
1243
+ }, opt.label));
1244
+ }));
1245
+ }
1246
+ };
1247
+ // components/elements/Skeleton.tsx
1248
+ var import_react8 = __toESM(require("react"));
1249
+ function Skeleton(_param) {
1250
+ var className = _param.className, _param_animation = _param.animation, animation = _param_animation === void 0 ? "pulse" : _param_animation, props = _object_without_properties(_param, [
1251
+ "className",
1252
+ "animation"
1253
+ ]);
1254
+ return /* @__PURE__ */ import_react8.default.createElement("div", _object_spread({
1255
+ className: cn(animation === "pulse" ? "hawa-animate-pulse hawa-rounded hawa-bg-muted" : "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", className)
1256
+ }, props));
1257
+ }
1258
+ {}// components/elements/Chip.tsx
1259
+ var import_react9 = __toESM(require("react"));
1260
+ var import_clsx3 = __toESM(require("clsx"));
1261
+ var Chip = function(param) {
1262
+ var label = param.label, _param_size = param.size, size = _param_size === void 0 ? "normal" : _param_size, icon = param.icon, color = param.color, dot = param.dot, _param_dotType = param.dotType, dotType = _param_dotType === void 0 ? "available" : _param_dotType;
1263
+ var defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-rounded hawa-px-2.5 hawa-py-0.5 hawa-font-bold hawa-text-blue-800 hawa-bg-blue-200 dark:hawa-text-blue-800";
1264
+ var sizeStyles = {
1265
+ small: "hawa-h-full hawa-leading-4 hawa-px-1 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 ",
1266
+ normal: "hawa-h-fit hawa-text-xs",
1267
+ large: ""
1268
+ };
1269
+ var dotStyles = {
1270
+ small: "hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full",
1271
+ normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
1272
+ large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
1273
+ };
1274
+ var dotTypeStyles = {
1275
+ available: "hawa-bg-green-500",
1276
+ unavailable: "hawa-bg-red-500"
1277
+ };
1278
+ return /* @__PURE__ */ import_react9.default.createElement("span", {
1279
+ className: (0, import_clsx3.default)(defaultStyles, sizeStyles[size], color ? "hawa-bg-".concat(color, "-100 hawa-text-").concat(color, "-500") : "hawa-bg-layoutPrimary-500")
1280
+ }, dot && /* @__PURE__ */ import_react9.default.createElement("span", {
1281
+ className: (0, import_clsx3.default)(dotStyles[size], dotTypeStyles[dotType])
1282
+ }), icon && icon, label);
1283
+ };
1284
+ // components/elements/Label.tsx
1285
+ var React16 = __toESM(require("react"));
1286
+ var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
1287
+ var import_class_variance_authority3 = require("class-variance-authority");
1288
+ var labelVariants = (0, import_class_variance_authority3.cva)("hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70");
1289
+ var Label = React16.forwardRef(function(_param, ref) /* @__PURE__ */ {
1290
+ var className = _param.className, props = _object_without_properties(_param, [
1291
+ "className"
1292
+ ]);
1293
+ return React16.createElement(LabelPrimitive.Root, _object_spread({
1294
+ ref: ref,
1295
+ className: cn(labelVariants(), className)
1296
+ }, props));
1297
+ });
1298
+ Label.displayName = LabelPrimitive.Root.displayName;
1299
+ // components/elements/Alert.tsx
1300
+ var import_react10 = __toESM(require("react"));
1301
+ var import_clsx4 = __toESM(require("clsx"));
1302
+ var Alert = function(_param) {
1303
+ var _param_variant = _param.variant, variant = _param_variant === void 0 ? "normal" : _param_variant, _param_direction = _param.direction, direction = _param_direction === void 0 ? "ltr" : _param_direction, _param_severity = _param.severity, severity = _param_severity === void 0 ? "info" : _param_severity, duration = _param.duration, icon = _param.icon, className = _param.className, props = _object_without_properties(_param, [
1304
+ "variant",
1305
+ "direction",
1306
+ "severity",
1307
+ "duration",
1308
+ "icon",
1309
+ "className"
1310
+ ]);
1311
+ var alertRef = (0, import_react10.useRef)(null);
1312
+ var _ref = _sliced_to_array((0, import_react10.useState)(false), 2), closed = _ref[0], setClosed = _ref[1];
1313
+ (0, import_react10.useEffect)(function() {
1314
+ if (duration) {
1315
+ var timeoutHide = setTimeout(function() {
1316
+ setClosed(true);
1317
+ }, duration);
1318
+ var timeoutDestroy = setTimeout(function() {
1319
+ setClosed(true);
1320
+ if (alertRef === null || alertRef === void 0 ? void 0 : alertRef.current) {
1321
+ alertRef === null || alertRef === void 0 ? void 0 : alertRef.current.removeChild(alertRef === null || alertRef === void 0 ? void 0 : alertRef.current.children[0]);
1322
+ }
1323
+ }, duration + 1e3);
1324
+ return function() {
1325
+ clearTimeout(timeoutHide);
1326
+ clearTimeout(timeoutDestroy);
1327
+ };
1328
+ }
1329
+ }, [
1330
+ duration
1331
+ ]);
1332
+ var closeButtonStyle = {
1333
+ none: "hover:hawa-bg-gray-300",
1334
+ info: "hover:hawa-bg-blue-300",
1335
+ warning: "hover:hawa-bg-yellow-300",
1336
+ error: "hover:hawa-bg-red-300",
1337
+ success: "hover:hawa-bg-green-300"
1338
+ };
1339
+ var styleVariant = {
1340
+ // normal: {
1341
+ none: "hawa-text-gray-700 hawa-bg-gray-100 dark:hawa-bg-gray-200 dark:hawa-text-gray-800",
1342
+ info: "hawa-text-blue-700 hawa-bg-blue-100 dark:hawa-bg-blue-200 dark:hawa-text-blue-800",
1343
+ warning: "hawa-text-yellow-700 hawa-bg-yellow-100 dark:hawa-bg-yellow-200 dark:hawa-text-yellow-800",
1344
+ error: "hawa-text-red-700 hawa-bg-red-100 dark:hawa-bg-red-200 dark:hawa-text-red-800",
1345
+ success: "hawa-text-green-700 hawa-bg-green-100 dark:hawa-bg-green-200 dark:hawa-text-green-800"
1346
+ };
1347
+ return /* @__PURE__ */ import_react10.default.createElement("div", {
1348
+ ref: alertRef
1349
+ }, /* @__PURE__ */ import_react10.default.createElement("div", {
1350
+ className: (0, import_clsx4.default)("hawa-relative hawa-mb-4 hawa-flex hawa-flex-col hawa-rounded hawa-p-4 hawa-text-sm hawa-transition-all", styleVariant[severity], closed ? "hawa-opacity-0" : "hawa-opacity-100", className),
1351
+ role: "alert",
1352
+ dir: direction
1353
+ }, /* @__PURE__ */ import_react10.default.createElement("div", {
1354
+ className: "hawa-flex hawa-flex-row"
1355
+ }, icon && /* @__PURE__ */ import_react10.default.createElement("div", {
1356
+ className: direction === "rtl" ? "hawa-pl-2 hawa-pt-1" : "hawa-pr-2 hawa-pt-1"
1357
+ }, icon), /* @__PURE__ */ import_react10.default.createElement("div", {
1358
+ className: "hawa-flex hawa-flex-col"
1359
+ }, /* @__PURE__ */ import_react10.default.createElement("span", {
1360
+ className: (0, import_clsx4.default)("font-medium", direction === "rtl" ? "hawa-ml-8" : "hawa-mr-8")
1361
+ }, props.title), /* @__PURE__ */ import_react10.default.createElement("span", null, props.text), props.actions && /* @__PURE__ */ import_react10.default.createElement("div", {
1362
+ className: "hawa-mt-2 hawa-flex hawa-flex-row hawa-gap-2"
1363
+ }, props.actions.map(function(act, index) {
1364
+ return /* @__PURE__ */ import_react10.default.createElement(Button, {
1365
+ key: index,
1366
+ variant: act.variant,
1367
+ onClick: act.onClick()
1368
+ }, act.label);
1369
+ })))), !props.persistant && /* @__PURE__ */ import_react10.default.createElement("button", {
1370
+ type: "button",
1371
+ className: (0, import_clsx4.default)("hawa-absolute hawa-top-2 hawa-inline-flex hawa-h-9 hawa-w-9 hawa-items-center hawa-justify-center hawa-rounded-inner hawa-p-1.5 hawa-text-gray-400 hawa-transition-all hover:hawa-text-gray-900", closeButtonStyle[severity], direction === "rtl" ? "hawa-left-2" : "hawa-right-2"),
1372
+ "data-dismiss-target": "#alert-default",
1373
+ "aria-label": "Close",
1374
+ onClick: function() {
1375
+ setClosed(true);
1376
+ setTimeout(function() {
1377
+ if (alertRef === null || alertRef === void 0 ? void 0 : alertRef.current) {
1378
+ alertRef === null || alertRef === void 0 ? void 0 : alertRef.current.removeChild(alertRef === null || alertRef === void 0 ? void 0 : alertRef.current.children[0]);
1379
+ }
1380
+ }, 200);
1381
+ }
1382
+ }, /* @__PURE__ */ import_react10.default.createElement("span", {
1383
+ className: "sr-only"
1384
+ }, "Close"), /* @__PURE__ */ import_react10.default.createElement("svg", {
1385
+ "aria-label": "Close Icon",
1386
+ "aria-hidden": "true",
1387
+ className: "hawa-h-5 hawa-w-5",
1388
+ fill: "currentColor",
1389
+ viewBox: "0 0 20 20"
1390
+ }, /* @__PURE__ */ import_react10.default.createElement("path", {
1391
+ fillRule: "evenodd",
1392
+ 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",
1393
+ clipRule: "evenodd"
1394
+ })))));
1395
+ };
1396
+ // components/elements/Popover.tsx
1397
+ var React18 = __toESM(require("react"));
1398
+ var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
1399
+ var PopoverContent = React18.forwardRef(function(_param, ref) /* @__PURE__ */ {
1400
+ var className = _param.className, _param_align = _param.align, align = _param_align === void 0 ? "center" : _param_align, _param_sideOffset = _param.sideOffset, sideOffset = _param_sideOffset === void 0 ? 4 : _param_sideOffset, props = _object_without_properties(_param, [
1401
+ "className",
1402
+ "align",
1403
+ "sideOffset"
1404
+ ]);
1405
+ return React18.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ React18.createElement(PopoverPrimitive.Content, _object_spread({
1406
+ ref: ref,
1407
+ align: align,
1408
+ sideOffset: sideOffset,
1409
+ className: cn("hawa-z-50 hawa-rounded hawa-border hawa-bg-popover hawa-p-4 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 dark:hawa-shadow-dark", className)
1410
+ }, props)));
1411
+ });
1412
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1413
+ var Popover = function(_param) /* @__PURE__ */ {
1414
+ var trigger = _param.trigger, children = _param.children, className = _param.className, _param_align = _param.align, align = _param_align === void 0 ? "center" : _param_align, side = _param.side, _param_sideOffset = _param.sideOffset, sideOffset = _param_sideOffset === void 0 ? 4 : _param_sideOffset, open = _param.open, disableTrigger = _param.disableTrigger, props = _object_without_properties(_param, [
1415
+ "trigger",
1416
+ "children",
1417
+ "className",
1418
+ "align",
1419
+ "side",
1420
+ "sideOffset",
1421
+ "open",
1422
+ "disableTrigger"
1423
+ ]);
1424
+ return React18.createElement(PopoverPrimitive.Root, _object_spread({
1425
+ open: open
1426
+ }, props), /* @__PURE__ */ React18.createElement(PopoverPrimitive.Trigger, {
1427
+ disabled: disableTrigger
1428
+ }, trigger), /* @__PURE__ */ React18.createElement(PopoverContent, {
1429
+ side: side,
1430
+ className: className,
1431
+ align: align,
1432
+ sideOffset: sideOffset
1433
+ }, children));
1434
+ };
1435
+ // components/elements/Textarea.tsx
1436
+ var React19 = __toESM(require("react"));
1437
+ var Textarea = React19.forwardRef(function(_param, ref) {
1438
+ var className = _param.className, props = _object_without_properties(_param, [
1439
+ "className"
1440
+ ]);
1441
+ return /* @__PURE__ */ React19.createElement("textarea", _object_spread({
1442
+ className: cn("hawa-flex hawa-min-h-[80px] 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-muted-foreground 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", className),
1443
+ ref: ref
1444
+ }, props));
1445
+ });
1446
+ Textarea.displayName = "Textarea";
1447
+ // components/elements/Slider.tsx
1448
+ var React20 = __toESM(require("react"));
1449
+ var SliderPrimitive = __toESM(require("@radix-ui/react-slider"));
1450
+ var Slider = React20.forwardRef(function(_param, ref) /* @__PURE__ */ {
1451
+ var className = _param.className, props = _object_without_properties(_param, [
1452
+ "className"
1453
+ ]);
1454
+ return React20.createElement(SliderPrimitive.Root, _object_spread({
1455
+ ref: ref,
1456
+ className: cn("hawa-relative hawa-flex hawa-w-full hawa-touch-none hawa-select-none hawa-items-center", className)
1457
+ }, props), /* @__PURE__ */ React20.createElement(SliderPrimitive.Track, {
1458
+ className: "hawa-relative hawa-h-2 hawa-w-full hawa-grow hawa-overflow-hidden hawa-rounded-full hawa-bg-secondary"
1459
+ }, /* @__PURE__ */ React20.createElement(SliderPrimitive.Range, {
1460
+ className: "hawa-absolute hawa-h-full hawa-bg-primary"
1461
+ })), /* @__PURE__ */ React20.createElement(SliderPrimitive.Thumb, {
1462
+ 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"
1463
+ }));
1464
+ });
1465
+ Slider.displayName = SliderPrimitive.Root.displayName;
1466
+ // components/elements/DropdownMenu.tsx
1467
+ var React21 = __toESM(require("react"));
1468
+ var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
1469
+ var DropdownMenuRoot = DropdownMenuPrimitive.Root;
1470
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1471
+ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
1472
+ var DropdownMenuSub = DropdownMenuPrimitive.Sub;
1473
+ var DropdownMenuSubTrigger = React21.forwardRef(function(_param, ref) /* @__PURE__ */ {
1474
+ var className = _param.className, inset = _param.inset, children = _param.children, props = _object_without_properties(_param, [
1475
+ "className",
1476
+ "inset",
1477
+ "children"
1478
+ ]);
1479
+ return React21.createElement(DropdownMenuPrimitive.SubTrigger, _object_spread({
1480
+ ref: ref,
1481
+ className: cn("hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-px-2 hawa-py-3 hawa-text-sm hawa-outline-none focus:hawa-bg-accent data-[state=open]:hawa-bg-accent", inset && "hawa-pl-8", className)
1482
+ }, props), /* @__PURE__ */ React21.createElement("div", {
1483
+ className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2"
1484
+ }, children), " ", /* @__PURE__ */ React21.createElement("svg", {
1485
+ "aria-label": "Chevron Right Icon",
1486
+ stroke: "currentColor",
1487
+ fill: "currentColor",
1488
+ strokeWidth: "0",
1489
+ viewBox: "0 0 16 16",
1490
+ height: "1em",
1491
+ width: "1em",
1492
+ className: cn(props.dir === "rtl" ? "hawa-rotate-180" : "")
1493
+ }, /* @__PURE__ */ React21.createElement("path", {
1494
+ fillRule: "evenodd",
1495
+ 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"
1496
+ })));
1497
+ });
1498
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
1499
+ var DropdownMenuSubContent = React21.forwardRef(function(_param, ref) /* @__PURE__ */ {
1500
+ var className = _param.className, props = _object_without_properties(_param, [
1501
+ "className"
1502
+ ]);
1503
+ return React21.createElement(DropdownMenuPrimitive.SubContent, _object_spread({
1504
+ ref: ref,
1505
+ className: cn("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 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", className)
1506
+ }, props));
1507
+ });
1508
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1509
+ var DropdownMenuContent = React21.forwardRef(function(_param, ref) /* @__PURE__ */ {
1510
+ var className = _param.className, _param_sideOffset = _param.sideOffset, sideOffset = _param_sideOffset === void 0 ? 4 : _param_sideOffset, props = _object_without_properties(_param, [
1511
+ "className",
1512
+ "sideOffset"
1513
+ ]);
1514
+ return React21.createElement(DropdownMenuPrimitive.Portal, null, /* @__PURE__ */ React21.createElement(DropdownMenuPrimitive.Content, _object_spread({
1515
+ ref: ref,
1516
+ sideOffset: sideOffset,
1517
+ className: cn("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", className)
1518
+ }, props)));
1519
+ });
1520
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1521
+ var DropdownMenuItem = React21.forwardRef(function(_param, ref) {
1522
+ var className = _param.className, inset = _param.inset, props = _object_without_properties(_param, [
1523
+ "className",
1524
+ "inset"
1525
+ ]);
1526
+ console.log("sdsdsds", props.children);
1527
+ return /* @__PURE__ */ React21.createElement(DropdownMenuPrimitive.Item, _object_spread({
1528
+ disabled: props.disabled,
1529
+ ref: ref,
1530
+ className: cn("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", inset && "hawa-pl-8", props.end && Array.isArray(props.children) && props.children[1] && "hawa-gap-6", className)
1531
+ }, props), /* @__PURE__ */ React21.createElement("div", {
1532
+ className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2 "
1533
+ }, props.children), props.end && props.end);
1534
+ });
1535
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1536
+ var DropdownMenuCheckboxItem = React21.forwardRef(function(_param, ref) /* @__PURE__ */ {
1537
+ var className = _param.className, children = _param.children, checked = _param.checked, props = _object_without_properties(_param, [
1538
+ "className",
1539
+ "children",
1540
+ "checked"
1541
+ ]);
1542
+ return React21.createElement(DropdownMenuPrimitive.CheckboxItem, _object_spread({
1543
+ ref: ref,
1544
+ className: cn("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", className),
1545
+ checked: checked
1546
+ }, props), /* @__PURE__ */ React21.createElement("span", {
1547
+ className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center"
1548
+ }, /* @__PURE__ */ React21.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React21.createElement("svg", {
1549
+ "aria-label": "Check Mark",
1550
+ stroke: "currentColor",
1551
+ fill: "currentColor",
1552
+ strokeWidth: "0",
1553
+ viewBox: "0 0 512 512",
1554
+ height: "0.60em",
1555
+ width: "0.60em"
1556
+ }, /* @__PURE__ */ React21.createElement("path", {
1557
+ 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"
1558
+ })), " ")), children);
1559
+ });
1560
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1561
+ var DropdownMenuRadioItem = React21.forwardRef(function(_param, ref) /* @__PURE__ */ {
1562
+ var className = _param.className, children = _param.children, props = _object_without_properties(_param, [
1563
+ "className",
1564
+ "children"
1565
+ ]);
1566
+ return React21.createElement(DropdownMenuPrimitive.RadioItem, _object_spread({
1567
+ ref: ref,
1568
+ className: cn("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", className)
1569
+ }, props), /* @__PURE__ */ React21.createElement("span", {
1570
+ className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center"
1571
+ }, /* @__PURE__ */ React21.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React21.createElement("svg", {
1572
+ xmlns: "http://www.w3.org/2000/svg",
1573
+ width: "24",
1574
+ "aria-label": "Circle",
1575
+ height: "24",
1576
+ viewBox: "0 0 24 24",
1577
+ fill: "none",
1578
+ stroke: "currentColor",
1579
+ strokeWidth: "2",
1580
+ strokeLinecap: "round",
1581
+ strokeLinejoin: "round",
1582
+ className: "hawa-h-2 hawa-w-2 hawa-fill-current"
1583
+ }, /* @__PURE__ */ React21.createElement("circle", {
1584
+ cx: "12",
1585
+ cy: "12",
1586
+ r: "10"
1587
+ })))), children);
1588
+ });
1589
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1590
+ var DropdownMenuLabel = React21.forwardRef(function(_param, ref) /* @__PURE__ */ {
1591
+ var className = _param.className, inset = _param.inset, props = _object_without_properties(_param, [
1592
+ "className",
1593
+ "inset"
1594
+ ]);
1595
+ return React21.createElement(DropdownMenuPrimitive.Label, _object_spread({
1596
+ ref: ref,
1597
+ className: cn("hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-font-semibold", inset && "hawa-pl-8", className)
1598
+ }, props));
1599
+ });
1600
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1601
+ var DropdownMenuSeparator = React21.forwardRef(function(_param, ref) /* @__PURE__ */ {
1602
+ var className = _param.className, props = _object_without_properties(_param, [
1603
+ "className"
1604
+ ]);
1605
+ return React21.createElement(DropdownMenuPrimitive.Separator, _object_spread({
1606
+ ref: ref,
1607
+ className: cn("hawa--mx-1 hawa-my-1 hawa-h-px hawa-bg-muted", className)
1608
+ }, props));
1609
+ });
1610
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1611
+ var DropdownMenuShortcut = function(_param) {
1612
+ var className = _param.className, props = _object_without_properties(_param, [
1613
+ "className"
1614
+ ]);
1615
+ return /* @__PURE__ */ React21.createElement("span", _object_spread({
1616
+ className: cn("hawa-ml-auto hawa-text-xs hawa-tracking-widest hawa-opacity-60", className)
1617
+ }, props));
1618
+ };
1619
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1620
+ var DropdownMenu = function(param) {
1621
+ var trigger = param.trigger, items = param.items, direction = param.direction, sideOffset = param.sideOffset, side = param.side, className = param.className, triggerClassname = param.triggerClassname, align = param.align, alignOffset = param.alignOffset, onItemSelect = param.onItemSelect, _param_size = param.size, size = _param_size === void 0 ? "default" : _param_size, _param_width = param.width, width = _param_width === void 0 ? "default" : _param_width;
1622
+ var widthStyles = {
1623
+ default: "hawa-min-w-[8rem]",
1624
+ sm: "hawa-w-fit",
1625
+ lg: "hawa-w-[200px]",
1626
+ parent: "ddm-w-parent"
1627
+ };
1628
+ var sizeStyles = {
1629
+ default: "hawa-px-2 hawa-py-3 ",
1630
+ sm: "hawa-text-xs hawa-px-1.5 hawa-py-1.5"
1631
+ };
1632
+ return /* @__PURE__ */ React21.createElement(DropdownMenuRoot, {
1633
+ dir: direction
1634
+ }, /* @__PURE__ */ React21.createElement(DropdownMenuTrigger, {
1635
+ asChild: true,
1636
+ className: triggerClassname
1637
+ }, trigger), /* @__PURE__ */ React21.createElement(DropdownMenuPortal, null, /* @__PURE__ */ React21.createElement(DropdownMenuContent, {
1638
+ side: side,
1639
+ sideOffset: sideOffset,
1640
+ className: cn(className, widthStyles[width], "hawa-flex hawa-flex-col hawa-gap-2"),
1641
+ align: align,
1642
+ alignOffset: alignOffset
1643
+ }, items && items.map(function(item, index) {
1644
+ if (item.itemType === "separator") {
1645
+ return /* @__PURE__ */ React21.createElement(DropdownMenuSeparator, {
1646
+ key: index
1647
+ });
1648
+ } else if (item.itemType === "label") {
1649
+ return /* @__PURE__ */ React21.createElement(DropdownMenuLabel, {
1650
+ key: index
1651
+ }, item.label);
1652
+ } else {
1653
+ return item.subitems ? /* @__PURE__ */ React21.createElement(DropdownMenuSub, {
1654
+ key: index
1655
+ }, /* @__PURE__ */ React21.createElement(DropdownMenuSubTrigger, {
1656
+ className: cn(sizeStyles[size]),
1657
+ dir: direction
1658
+ }, item.icon && item.icon, item.label && item.label), /* @__PURE__ */ React21.createElement(DropdownMenuPortal, null, /* @__PURE__ */ React21.createElement(DropdownMenuSubContent, null, item.subitems.map(function(subitem, subIndex) {
1659
+ return /* @__PURE__ */ React21.createElement(DropdownMenuItem, {
1660
+ key: subIndex,
1661
+ className: cn(sizeStyles[size], !item.icon && !item.label ? "hawa-px-0 hawa-py-0 focus:hawa-bg-transparent" : "focus:hawa-bg-accent"),
1662
+ disabled: subitem.disabled,
1663
+ onSelect: function() {
1664
+ subitem.action && subitem.action();
1665
+ if (onItemSelect) {
1666
+ onItemSelect(subitem.value);
1667
+ }
1668
+ }
1669
+ }, subitem.icon && subitem.icon, subitem.label && subitem.label);
1670
+ })))) : /* @__PURE__ */ React21.createElement(DropdownMenuItem, {
1671
+ key: index,
1672
+ disabled: item.disabled,
1673
+ onSelect: function(e) {
1674
+ if (item.presist) {
1675
+ e.preventDefault();
1676
+ }
1677
+ if (item.action) {
1678
+ item.action();
1679
+ if (onItemSelect) {
1680
+ onItemSelect(item.value);
1681
+ }
1682
+ } else {
1683
+ if (onItemSelect) {
1684
+ onItemSelect(item.value);
1685
+ }
1686
+ }
1687
+ },
1688
+ end: item.end,
1689
+ className: cn(sizeStyles[size], !item.icon && !item.label ? "hawa-px-0 hawa-py-0 focus:hawa-bg-transparent " : "focus:hawa-bg-accent ", item.presist && "focus:hawa-bg-transparent")
1690
+ }, item.icon && item.icon, item.label && item.label);
1691
+ }
1692
+ }))));
1693
+ };
1694
+ // components/elements/PinInput.tsx
1695
+ var import_react11 = __toESM(require("react"));
1696
+ var import_clsx5 = __toESM(require("clsx"));
1697
+ var PinInput = function(_param) {
1698
+ var label = _param.label, icon = _param.icon, digits = _param.digits, _param_width = _param.width, width = _param_width === void 0 ? "normal" : _param_width, getPins = _param.getPins, props = _object_without_properties(_param, [
1699
+ "label",
1700
+ "icon",
1701
+ "digits",
1702
+ "width",
1703
+ "getPins"
1704
+ ]);
1705
+ var _ref = _sliced_to_array((0, import_react11.useState)(Array.from(Array(digits))), 2), pin = _ref[0], setPin = _ref[1];
1706
+ var handleKeyDown = function(e, index) {
1707
+ var backTo = 0;
1708
+ if (e.key === "Backspace") {
1709
+ e.target.value.length === 0 ? backTo = index - 1 : backTo = index;
1710
+ var previousInput = document.getElementById("input-".concat(backTo));
1711
+ previousInput === null || previousInput === void 0 ? void 0 : previousInput.focus();
1712
+ }
1713
+ };
1714
+ (0, import_react11.useEffect)(function() {
1715
+ var unfilled = pin.includes(void 0);
1716
+ if (!unfilled && getPins) {
1717
+ getPins(pin);
1718
+ }
1719
+ });
1720
+ var handleChange = function(e, index) {
1721
+ if (!/^\d*$/.test(e.target.value)) {
1722
+ var newPin = _to_consumable_array(pin);
1723
+ newPin[index] = "";
1724
+ setPin(newPin);
1725
+ return;
1726
+ } else {
1727
+ var newPin1 = _to_consumable_array(pin);
1728
+ newPin1[index] = e.target.value;
1729
+ setPin(newPin1);
1730
+ if (e.target.value.length === 1) {
1731
+ var nextInput = document.getElementById("input-".concat(index + 1));
1732
+ nextInput === null || nextInput === void 0 ? void 0 : nextInput.focus();
1733
+ } else if (e.target.value.length === 0) {
1734
+ var previousInput = document.getElementById("input-".concat(index - 1));
1735
+ previousInput === null || previousInput === void 0 ? void 0 : previousInput.focus();
1736
+ }
1737
+ }
1738
+ };
1739
+ return /* @__PURE__ */ import_react11.default.createElement("div", {
1740
+ className: "hawa-flex hawa-w-full hawa-flex-row hawa-justify-center hawa-gap-2"
1741
+ }, pin.map(function(value, index) {
1742
+ return /* @__PURE__ */ import_react11.default.createElement("input", _object_spread({
1743
+ key: index,
1744
+ type: "text",
1745
+ maxLength: 1,
1746
+ value: value,
1747
+ id: "input-".concat(index),
1748
+ pattern: "[0-9]*",
1749
+ className: (0, import_clsx5.default)("hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center", width === "full" ? "hawa-w-full" : "hawa-w-10"),
1750
+ onChange: function(e) {
1751
+ return handleChange(e, index);
1752
+ },
1753
+ onKeyDown: function(e) {
1754
+ return handleKeyDown(e, index);
1755
+ },
1756
+ onFocus: function(e) {
1757
+ return e.target.select();
1758
+ }
1759
+ }, props));
1760
+ }));
1761
+ };
1762
+ // components/elements/ActionCard.tsx
1763
+ var import_react12 = __toESM(require("react"));
1764
+ var ActionCard = function(props) {
1765
+ var _ref = _sliced_to_array((0, import_react12.useState)(false), 2), hovered = _ref[0], setHovered = _ref[1];
1766
+ return /* @__PURE__ */ import_react12.default.createElement("div", {
1767
+ className: "hawa-flex hawa-h-full hawa-w-full hawa-flex-col hawa-gap-1"
1768
+ }, /* @__PURE__ */ import_react12.default.createElement("div", {
1769
+ className: "hawa-group hawa-relative hawa-h-full hawa-w-full hawa-rounded hawa-border hawa-bg-background hawa-bg-cover hawa-bg-center hawa-transition-all hawa-duration-500 hover:hawa-drop-shadow-2xl",
1770
+ style: {
1771
+ backgroundImage: "url(".concat(props.blank ? "" : props.cardImage, ")")
1772
+ },
1773
+ onMouseEnter: function() {
1774
+ return setHovered(true);
1775
+ },
1776
+ onMouseLeave: function() {
1777
+ return setHovered(false);
1778
+ }
1779
+ }, props.blank ? /* @__PURE__ */ import_react12.default.createElement("div", {
1780
+ className: "hawa-flex hawa-h-full hawa-flex-col hawa-items-center hawa-justify-center "
1781
+ }, /* @__PURE__ */ import_react12.default.createElement("svg", {
1782
+ className: "hawa-h-10 hawa-w-10 hawa-text-foreground",
1783
+ stroke: "currentColor",
1784
+ fill: "currentColor",
1785
+ "stroke-width": "0",
1786
+ viewBox: "0 0 24 24",
1787
+ height: "1em",
1788
+ width: "1em",
1789
+ xmlns: "http://www.w3.org/2000/svg"
1790
+ }, /* @__PURE__ */ import_react12.default.createElement("path", {
1791
+ d: "M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z"
1792
+ }))) : /* @__PURE__ */ import_react12.default.createElement("div", {
1793
+ className: "hawa-absolute hawa-inset-0 hawa-rounded hawa-bg-black hawa-opacity-50"
1794
+ }), /* @__PURE__ */ import_react12.default.createElement("div", {
1795
+ className: "hawa-absolute hawa-bottom-2 hawa-right-2 hawa-z-10 hawa-opacity-0 hawa-transition-all hawa-duration-200 group-hover:hawa-opacity-100"
1796
+ }, props.inCardActions), !props.blank && /* @__PURE__ */ import_react12.default.createElement("div", {
1797
+ className: "hawa-relative hawa-p-4"
1798
+ }, /* @__PURE__ */ import_react12.default.createElement("h1", {
1799
+ className: "hawa-text-white"
1800
+ }, props.title), /* @__PURE__ */ import_react12.default.createElement("p", {
1801
+ className: "hawa-text-white"
1802
+ }, props.subtitle))), /* @__PURE__ */ import_react12.default.createElement("div", {
1803
+ className: "hawa-flex hawa-flex-row hawa-justify-between hawa-text-sm hawa-transition-all hawa-duration-200 ".concat(hovered ? "hawa-opacity-100" : "hawa-opacity-0")
1804
+ }, props.bottomElement));
1805
+ };
1806
+ // components/elements/AppStores.tsx
1807
+ var import_react13 = __toESM(require("react"));
1808
+ var AppStores = function(props) {
1809
+ return /* @__PURE__ */ import_react13.default.createElement("div", {
1810
+ className: "hawa-flex hawa-justify-center"
1811
+ }, /* @__PURE__ */ import_react13.default.createElement("div", null, props.store === "apple" ? props.mode === "dark" ? /* @__PURE__ */ import_react13.default.createElement("div", {
1812
+ className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-bg-black hawa-text-white"
1813
+ }, /* @__PURE__ */ import_react13.default.createElement("div", {
1814
+ className: "hawa-mr-3"
1815
+ }, /* @__PURE__ */ import_react13.default.createElement("svg", {
1816
+ viewBox: "0 0 384 512",
1817
+ width: "30"
1818
+ }, /* @__PURE__ */ import_react13.default.createElement("path", {
1819
+ fill: "currentColor",
1820
+ d: "M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"
1821
+ }))), /* @__PURE__ */ import_react13.default.createElement("div", null, /* @__PURE__ */ import_react13.default.createElement("div", {
1822
+ className: "hawa-text-xs"
1823
+ }, "Download on the"), /* @__PURE__ */ import_react13.default.createElement("div", {
1824
+ className: "hawa-font-sans hawa--mt-1 hawa-text-2xl hawa-font-semibold"
1825
+ }, "App Store"))) : /* @__PURE__ */ import_react13.default.createElement("div", {
1826
+ className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-border hawa-border-black hawa-bg-transparent hawa-text-black"
1827
+ }, /* @__PURE__ */ import_react13.default.createElement("div", {
1828
+ className: "hawa-mr-3"
1829
+ }, /* @__PURE__ */ import_react13.default.createElement("svg", {
1830
+ viewBox: "0 0 384 512",
1831
+ width: "30"
1832
+ }, /* @__PURE__ */ import_react13.default.createElement("path", {
1833
+ fill: "currentColor",
1834
+ d: "M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"
1835
+ }))), /* @__PURE__ */ import_react13.default.createElement("div", null, /* @__PURE__ */ import_react13.default.createElement("div", {
1836
+ className: "hawa-text-xs"
1837
+ }, "Download on the"), /* @__PURE__ */ import_react13.default.createElement("div", {
1838
+ className: "hawa-font-sans hawa--mt-1 hawa-text-2xl hawa-font-semibold"
1839
+ }, "App Store"))) : props.mode === "dark" ? /* @__PURE__ */ import_react13.default.createElement("div", {
1840
+ className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-bg-black hawa-text-white"
1841
+ }, /* @__PURE__ */ import_react13.default.createElement("div", {
1842
+ className: "hawa-mr-3"
1843
+ }, /* @__PURE__ */ import_react13.default.createElement("svg", {
1844
+ viewBox: "30 336.7 120.9 129.2",
1845
+ width: "30"
1846
+ }, /* @__PURE__ */ import_react13.default.createElement("path", {
1847
+ fill: "#FFD400",
1848
+ d: "M119.2,421.2c15.3-8.4,27-14.8,28-15.3c3.2-1.7,6.5-6.2,0-9.7 c-2.1-1.1-13.4-7.3-28-15.3l-20.1,20.2L119.2,421.2z"
1849
+ }), /* @__PURE__ */ import_react13.default.createElement("path", {
1850
+ fill: "#FF3333",
1851
+ d: "M99.1,401.1l-64.2,64.7c1.5,0.2,3.2-0.2,5.2-1.3 c4.2-2.3,48.8-26.7,79.1-43.3L99.1,401.1L99.1,401.1z"
1852
+ }), /* @__PURE__ */ import_react13.default.createElement("path", {
1853
+ fill: "#48FF48",
1854
+ d: "M99.1,401.1l20.1-20.2c0,0-74.6-40.7-79.1-43.1 c-1.7-1-3.6-1.3-5.3-1L99.1,401.1z"
1855
+ }), /* @__PURE__ */ import_react13.default.createElement("path", {
1856
+ fill: "#3BCCFF",
1857
+ d: "M99.1,401.1l-64.3-64.3c-2.6,0.6-4.8,2.9-4.8,7.6 c0,7.5,0,107.5,0,113.8c0,4.3,1.7,7.4,4.9,7.7L99.1,401.1z"
1858
+ }))), /* @__PURE__ */ import_react13.default.createElement("div", null, /* @__PURE__ */ import_react13.default.createElement("div", {
1859
+ className: "hawa-text-xs"
1860
+ }, "GET IT ON"), /* @__PURE__ */ import_react13.default.createElement("div", {
1861
+ className: "hawa-font-sans hawa--mt-1 hawa-text-xl hawa-font-semibold"
1862
+ }, "Google Play"))) : /* @__PURE__ */ import_react13.default.createElement("div", {
1863
+ className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-border hawa-border-black hawa-bg-white hawa-text-black"
1864
+ }, /* @__PURE__ */ import_react13.default.createElement("div", {
1865
+ className: "hawa-mr-3"
1866
+ }, /* @__PURE__ */ import_react13.default.createElement("svg", {
1867
+ viewBox: "30 336.7 120.9 129.2",
1868
+ width: "30"
1869
+ }, /* @__PURE__ */ import_react13.default.createElement("path", {
1870
+ fill: "#FFD400",
1871
+ d: "M119.2,421.2c15.3-8.4,27-14.8,28-15.3c3.2-1.7,6.5-6.2,0-9.7 c-2.1-1.1-13.4-7.3-28-15.3l-20.1,20.2L119.2,421.2z"
1872
+ }), /* @__PURE__ */ import_react13.default.createElement("path", {
1873
+ fill: "#FF3333",
1874
+ d: "M99.1,401.1l-64.2,64.7c1.5,0.2,3.2-0.2,5.2-1.3 c4.2-2.3,48.8-26.7,79.1-43.3L99.1,401.1L99.1,401.1z"
1875
+ }), /* @__PURE__ */ import_react13.default.createElement("path", {
1876
+ fill: "#48FF48",
1877
+ d: "M99.1,401.1l20.1-20.2c0,0-74.6-40.7-79.1-43.1 c-1.7-1-3.6-1.3-5.3-1L99.1,401.1z"
1878
+ }), /* @__PURE__ */ import_react13.default.createElement("path", {
1879
+ fill: "#3BCCFF",
1880
+ d: "M99.1,401.1l-64.3-64.3c-2.6,0.6-4.8,2.9-4.8,7.6 c0,7.5,0,107.5,0,113.8c0,4.3,1.7,7.4,4.9,7.7L99.1,401.1z"
1881
+ }))), /* @__PURE__ */ import_react13.default.createElement("div", null, /* @__PURE__ */ import_react13.default.createElement("div", {
1882
+ className: "hawa-text-xs"
1883
+ }, "GET IT ON"), /* @__PURE__ */ import_react13.default.createElement("div", {
1884
+ className: "hawa-font-sans hawa--mt-1 hawa-text-xl hawa-font-semibold"
1885
+ }, "Google Play")))));
1886
+ };
1887
+ // Annotate the CommonJS export names for ESM import in node:
1888
+ 0 && (module.exports = {
1889
+ ActionCard: ActionCard,
1890
+ Alert: Alert,
1891
+ AppStores: AppStores,
1892
+ Breadcrumb: Breadcrumb,
1893
+ Button: Button,
1894
+ Card: Card,
1895
+ CardContent: CardContent,
1896
+ CardDescription: CardDescription,
1897
+ CardFooter: CardFooter,
1898
+ CardHeader: CardHeader,
1899
+ CardTitle: CardTitle,
1900
+ Checkbox: Checkbox,
1901
+ Chip: Chip,
1902
+ CodeBlock: CodeBlock,
1903
+ Dialog: Dialog,
1904
+ DialogContent: DialogContent,
1905
+ DialogDescription: DialogDescription,
1906
+ DialogFooter: DialogFooter,
1907
+ DialogHeader: DialogHeader,
1908
+ DialogTitle: DialogTitle,
1909
+ DialogTrigger: DialogTrigger,
1910
+ DropdownMenu: DropdownMenu,
1911
+ Label: Label,
1912
+ Loading: Loading,
1913
+ PinInput: PinInput,
1914
+ Popover: Popover,
1915
+ PopoverContent: PopoverContent,
1916
+ Radio: Radio,
1917
+ Skeleton: Skeleton,
1918
+ Slider: Slider,
1919
+ Switch: Switch,
1920
+ Textarea: Textarea,
1921
+ Toast: Toast,
1922
+ ToastAction: ToastAction,
1923
+ ToastClose: ToastClose,
1924
+ ToastDescription: ToastDescription,
1925
+ ToastProvider: ToastProvider,
1926
+ ToastTitle: ToastTitle,
1927
+ ToastViewport: ToastViewport,
1928
+ Toaster: Toaster,
1929
+ Tooltip: Tooltip,
1930
+ buttonVariants: buttonVariants
1931
+ });