@sikka/hawa 0.24.4-next → 0.24.6-next

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/accordion/index.d.mts +1 -2
  2. package/dist/accordion/index.d.ts +1 -2
  3. package/dist/accordion/index.mjs +219 -7
  4. package/dist/alert/index.d.mts +1 -1
  5. package/dist/alert/index.d.ts +1 -1
  6. package/dist/appLayout/index.d.mts +126 -0
  7. package/dist/appLayout/index.d.ts +126 -0
  8. package/dist/appLayout/index.js +1325 -0
  9. package/dist/appLayout/index.mjs +1285 -0
  10. package/dist/appMenubar/index.d.mts +33 -0
  11. package/dist/appMenubar/index.d.ts +33 -0
  12. package/dist/appMenubar/index.js +281 -0
  13. package/dist/appMenubar/index.mjs +224 -0
  14. package/dist/appTabs/index.d.mts +18 -0
  15. package/dist/appTabs/index.d.ts +18 -0
  16. package/dist/appTabs/index.js +92 -0
  17. package/dist/appTabs/index.mjs +50 -0
  18. package/dist/appTopbar/index.d.mts +44 -0
  19. package/dist/appTopbar/index.d.ts +44 -0
  20. package/dist/appTopbar/index.js +483 -0
  21. package/dist/appTopbar/index.mjs +441 -0
  22. package/dist/avatar/index.d.mts +5 -4
  23. package/dist/avatar/index.d.ts +5 -4
  24. package/dist/backToTop/index.mjs +353 -3
  25. package/dist/badge/index.d.mts +2 -2
  26. package/dist/badge/index.d.ts +2 -2
  27. package/dist/blocks/index.js +4 -3
  28. package/dist/blocks/index.mjs +4 -3
  29. package/dist/checkbox/index.d.mts +1 -2
  30. package/dist/checkbox/index.d.ts +1 -2
  31. package/dist/chip/index.d.mts +36 -2
  32. package/dist/chip/index.d.ts +36 -2
  33. package/dist/chip/index.mjs +83 -3
  34. package/dist/chunk-62GI5F2P.mjs +442 -0
  35. package/dist/chunk-7NCNPRCL.mjs +120 -0
  36. package/dist/{chunk-TNAHW35O.mjs → chunk-C2UYTGUD.mjs} +8 -4
  37. package/dist/{chunk-26FHSPJI.mjs → chunk-DGWAHQRX.mjs} +1 -101
  38. package/dist/chunk-LRLLDOQZ.mjs +178 -0
  39. package/dist/chunk-ND4BWUKH.mjs +34 -0
  40. package/dist/codeBlock/index.mjs +684 -310
  41. package/dist/colorPicker/index.d.mts +2 -1
  42. package/dist/colorPicker/index.d.ts +2 -1
  43. package/dist/colorPicker/index.mjs +2 -167
  44. package/dist/combobox/index.d.mts +9 -1
  45. package/dist/combobox/index.d.ts +9 -1
  46. package/dist/combobox/index.mjs +61 -393
  47. package/dist/command/index.mjs +10 -425
  48. package/dist/commonTypes-3J1E3b61.d.mts +6 -0
  49. package/dist/commonTypes-3J1E3b61.d.ts +6 -0
  50. package/dist/commonTypes-GhKAraJw.d.mts +4 -0
  51. package/dist/commonTypes-GhKAraJw.d.ts +4 -0
  52. package/dist/commonTypes-LrR8QrYP.d.mts +5 -0
  53. package/dist/commonTypes-LrR8QrYP.d.ts +5 -0
  54. package/dist/commonTypes-WPhcN3Vr.d.mts +5 -0
  55. package/dist/commonTypes-WPhcN3Vr.d.ts +5 -0
  56. package/dist/commonTypes-ko_NGEoT.d.mts +3 -0
  57. package/dist/commonTypes-ko_NGEoT.d.ts +3 -0
  58. package/dist/copyrights/index.d.mts +17 -0
  59. package/dist/copyrights/index.d.ts +17 -0
  60. package/dist/copyrights/index.js +45 -0
  61. package/dist/copyrights/index.mjs +8 -0
  62. package/dist/count/index.d.mts +11 -0
  63. package/dist/count/index.d.ts +11 -0
  64. package/dist/count/index.js +45 -0
  65. package/dist/count/index.mjs +8 -0
  66. package/dist/dataTable/index.d.mts +1 -1
  67. package/dist/dataTable/index.d.ts +1 -1
  68. package/dist/destroyableCard/index.d.mts +1 -1
  69. package/dist/destroyableCard/index.d.ts +1 -1
  70. package/dist/dialog/index.d.mts +1 -1
  71. package/dist/dialog/index.d.ts +1 -1
  72. package/dist/docsLayout/index.d.mts +37 -0
  73. package/dist/docsLayout/index.d.ts +37 -0
  74. package/dist/docsLayout/index.js +926 -0
  75. package/dist/docsLayout/index.mjs +886 -0
  76. package/dist/docsSidebar/index.d.mts +11 -0
  77. package/dist/docsSidebar/index.d.ts +11 -0
  78. package/dist/docsSidebar/index.js +111 -0
  79. package/dist/docsSidebar/index.mjs +69 -0
  80. package/dist/index.css +9 -3
  81. package/dist/index.d.mts +1 -0
  82. package/dist/index.d.ts +1 -0
  83. package/dist/index.js +54 -44
  84. package/dist/index.mjs +54 -44
  85. package/dist/input/index.d.mts +2 -9
  86. package/dist/input/index.d.ts +2 -9
  87. package/dist/input/index.mjs +14 -98
  88. package/dist/interfaceSettings/index.d.mts +1 -1
  89. package/dist/interfaceSettings/index.d.ts +1 -1
  90. package/dist/interfaceSettings/index.mjs +24 -110
  91. package/dist/label/index.d.mts +1 -1
  92. package/dist/label/index.d.ts +1 -1
  93. package/dist/label/index.mjs +2 -87
  94. package/dist/layout/index.d.mts +1 -0
  95. package/dist/layout/index.d.ts +1 -0
  96. package/dist/layout/index.js +53 -44
  97. package/dist/layout/index.mjs +50 -41
  98. package/dist/navbar/index.d.mts +17 -0
  99. package/dist/navbar/index.d.ts +17 -0
  100. package/dist/navbar/index.js +166 -0
  101. package/dist/navbar/index.mjs +126 -0
  102. package/dist/pagination/index.d.mts +1 -1
  103. package/dist/pagination/index.d.ts +1 -1
  104. package/dist/passwordInput/index.mjs +27 -137
  105. package/dist/phoneInput/index.mjs +19 -129
  106. package/dist/radio/index.d.mts +1 -4
  107. package/dist/radio/index.d.ts +1 -4
  108. package/dist/scrollArea/index.d.mts +1 -1
  109. package/dist/scrollArea/index.d.ts +1 -1
  110. package/dist/select/index.d.mts +1 -1
  111. package/dist/select/index.d.ts +1 -1
  112. package/dist/separator/index.d.mts +1 -1
  113. package/dist/separator/index.d.ts +1 -1
  114. package/dist/sidebar/index.d.mts +48 -0
  115. package/dist/sidebar/index.d.ts +48 -0
  116. package/dist/sidebar/index.js +341 -0
  117. package/dist/sidebar/index.mjs +298 -0
  118. package/dist/simpleTable/index.d.mts +4 -3
  119. package/dist/simpleTable/index.d.ts +4 -3
  120. package/dist/simpleTable/index.mjs +21 -45
  121. package/dist/skeleton/index.d.mts +3 -3
  122. package/dist/skeleton/index.d.ts +3 -3
  123. package/dist/skeleton/index.mjs +3 -29
  124. package/dist/sortButton/index.mjs +9 -260
  125. package/dist/splitButton/index.d.mts +4 -3
  126. package/dist/splitButton/index.d.ts +4 -3
  127. package/dist/splitButton/index.mjs +10 -259
  128. package/dist/stats/index.d.mts +19 -0
  129. package/dist/stats/index.d.ts +19 -0
  130. package/dist/stats/index.js +191 -0
  131. package/dist/stats/index.mjs +154 -0
  132. package/dist/stopPropagationWrapper/index.d.mts +2 -2
  133. package/dist/stopPropagationWrapper/index.d.ts +2 -2
  134. package/dist/switch/index.d.mts +2 -1
  135. package/dist/switch/index.d.ts +2 -1
  136. package/dist/tabs/index.d.mts +19 -1
  137. package/dist/tabs/index.d.ts +19 -1
  138. package/dist/tabs/index.mjs +94 -14
  139. package/dist/textarea/index.d.mts +8 -1
  140. package/dist/textarea/index.d.ts +8 -1
  141. package/dist/textarea/index.mjs +92 -8
  142. package/dist/toast/index.d.mts +1 -1
  143. package/dist/toast/index.d.ts +1 -1
  144. package/package.json +1 -1
  145. package/dist/Label-fkQ4ebuH.d.mts +0 -12
  146. package/dist/Label-fkQ4ebuH.d.ts +0 -12
  147. package/dist/chunk-72HYR6WB.mjs +0 -88
  148. package/dist/chunk-JYSC6GKM.mjs +0 -229
  149. package/dist/commonTypes-3k5cNB1s.d.mts +0 -4
  150. package/dist/commonTypes-3k5cNB1s.d.ts +0 -4
  151. package/dist/commonTypes-N7XOVCit.d.mts +0 -5
  152. package/dist/commonTypes-N7XOVCit.d.ts +0 -5
  153. package/dist/index-DUZFcPRO.d.mts +0 -38
  154. package/dist/index-DUZFcPRO.d.ts +0 -38
@@ -1,9 +1,12 @@
1
+ import {
2
+ Button
3
+ } from "../chunk-DGWAHQRX.mjs";
1
4
  import {
2
5
  cn
3
6
  } from "../chunk-TE3BKEXL.mjs";
4
7
 
5
8
  // components/elements/splitButton/SplitButton.tsx
6
- import * as React4 from "react";
9
+ import * as React2 from "react";
7
10
 
8
11
  // components/elements/dropdownMenu/DropdownMenu.tsx
9
12
  import * as React from "react";
@@ -333,258 +336,6 @@ var DropdownMenu = ({
333
336
  );
334
337
  };
335
338
 
336
- // components/elements/button/Button.tsx
337
- import * as React3 from "react";
338
- import { cva } from "class-variance-authority";
339
-
340
- // components/elements/loading/Loading.tsx
341
- import React2 from "react";
342
- var Loading = ({
343
- design = "spinner",
344
- size = "sm",
345
- themeMode = "light",
346
- color,
347
- ...props
348
- }) => {
349
- let sizeStyles = {
350
- button: "hawa-h-4 hawa-w-4",
351
- xs: "hawa-h-1 hawa-w-1",
352
- sm: "hawa-h-6 hawa-w-6",
353
- normal: "hawa-h-8 hawa-w-8",
354
- lg: "hawa-h-14 hawa-w-14",
355
- xl: "hawa-h-24 hawa-w-24"
356
- };
357
- let animationStyles = {
358
- pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
359
- bounce: "hawa-animate-bounce"
360
- };
361
- switch (design.split("-")[0]) {
362
- case "dots":
363
- return /* @__PURE__ */ React2.createElement(
364
- "div",
365
- {
366
- className: cn("hawa-flex hawa-flex-row hawa-gap-2", props.className)
367
- },
368
- /* @__PURE__ */ React2.createElement(
369
- "div",
370
- {
371
- className: cn(
372
- "hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
373
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
374
- animationStyles[design.split("-")[1]],
375
- color ? color : "hawa-bg-primary"
376
- )
377
- }
378
- ),
379
- /* @__PURE__ */ React2.createElement(
380
- "div",
381
- {
382
- className: cn(
383
- "hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
384
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
385
- animationStyles[design.split("-")[1]],
386
- color ? color : "hawa-bg-primary"
387
- )
388
- }
389
- ),
390
- /* @__PURE__ */ React2.createElement(
391
- "div",
392
- {
393
- className: cn(
394
- "hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
395
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
396
- animationStyles[design.split("-")[1]],
397
- color ? color : "hawa-bg-primary"
398
- )
399
- }
400
- )
401
- );
402
- case "square":
403
- return /* @__PURE__ */ React2.createElement(
404
- "svg",
405
- {
406
- className: cn("squircle-container", sizeStyles[size]),
407
- viewBox: "0 0 35 35",
408
- height: "35",
409
- width: "35"
410
- },
411
- /* @__PURE__ */ React2.createElement(
412
- "rect",
413
- {
414
- className: "squircle-track",
415
- x: "2.5",
416
- y: "2.5",
417
- fill: "none",
418
- strokeWidth: "5px",
419
- width: "32.5",
420
- height: "32.5"
421
- }
422
- ),
423
- /* @__PURE__ */ React2.createElement(
424
- "rect",
425
- {
426
- className: "square-car",
427
- x: "2.5",
428
- y: "2.5",
429
- fill: "none",
430
- strokeWidth: "5px",
431
- width: "32.5",
432
- height: "32.5",
433
- pathLength: "100"
434
- }
435
- )
436
- );
437
- case "squircle":
438
- return /* @__PURE__ */ React2.createElement(
439
- "svg",
440
- {
441
- className: cn("squircle-container", sizeStyles[size]),
442
- x: "0px",
443
- y: "0px",
444
- viewBox: "0 0 37 37",
445
- height: "37",
446
- width: "37",
447
- preserveAspectRatio: "xMidYMid meet"
448
- },
449
- /* @__PURE__ */ React2.createElement(
450
- "path",
451
- {
452
- className: "squircle-track",
453
- fill: "none",
454
- strokeWidth: "5",
455
- pathLength: "100",
456
- d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
457
- }
458
- ),
459
- /* @__PURE__ */ React2.createElement(
460
- "path",
461
- {
462
- className: "squircle-car",
463
- fill: "none",
464
- strokeWidth: "5",
465
- pathLength: "100",
466
- d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
467
- }
468
- )
469
- );
470
- case "progress":
471
- return /* @__PURE__ */ React2.createElement("div", { className: "progress-loading" });
472
- case "orbit":
473
- return /* @__PURE__ */ React2.createElement("div", { className: "orbit-container" });
474
- default:
475
- return /* @__PURE__ */ React2.createElement(
476
- "svg",
477
- {
478
- className: cn("circle-container", sizeStyles[size]),
479
- viewBox: "0 0 40 40",
480
- height: "40",
481
- width: "40"
482
- },
483
- /* @__PURE__ */ React2.createElement(
484
- "circle",
485
- {
486
- className: cn("circle-track", {
487
- "hawa-stroke-primary-foreground": themeMode === "dark",
488
- "hawa-stroke-primary": themeMode === "light"
489
- }),
490
- cx: "20",
491
- cy: "20",
492
- r: "17.5",
493
- pathLength: "100",
494
- strokeWidth: "5px",
495
- fill: "none"
496
- }
497
- ),
498
- /* @__PURE__ */ React2.createElement(
499
- "circle",
500
- {
501
- className: cn("circle-car", {
502
- "hawa-stroke-primary-foreground": themeMode === "dark",
503
- "hawa-stroke-primary": themeMode === "light"
504
- }),
505
- cx: "20",
506
- cy: "20",
507
- r: "17.5",
508
- pathLength: "100",
509
- strokeWidth: "5px",
510
- fill: "none"
511
- }
512
- )
513
- );
514
- }
515
- };
516
-
517
- // components/elements/button/Button.tsx
518
- var buttonVariants = cva(
519
- "hawa-inline-flex hawa-items-center hawa-select-none hawa-rounded-md hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-colors focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
520
- {
521
- variants: {
522
- variant: {
523
- default: "hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90",
524
- light: "hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40",
525
- destructive: "hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90",
526
- outline: "hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground",
527
- secondary: "hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80",
528
- ghost: "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
529
- link: "hawa-text-primary hawa-underline-offset-4 hover:hawa-underline",
530
- combobox: "hawa-bg-background hawa-border",
531
- neoBrutalism: "neo-brutalism"
532
- // "hawa-cursor-pointer hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active shadow-color-primary active:shadow-color-primary-active",
533
- },
534
- size: {
535
- default: "hawa-h-10 hawa-px-4 hawa-py-2",
536
- heightless: "hawa-px-4 hawa-py-4",
537
- xs: "hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 ",
538
- sm: "hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3",
539
- lg: "hawa-h-11 hawa-rounded-md hawa-px-8",
540
- xl: "hawa-h-14 hawa-rounded-md hawa-px-10",
541
- icon: "hawa-h-10 hawa-w-10",
542
- smallIcon: "hawa-h-7 hawa-w-7"
543
- }
544
- },
545
- defaultVariants: {
546
- variant: "default",
547
- size: "default"
548
- }
549
- }
550
- );
551
- var Button = React3.forwardRef(
552
- ({
553
- className,
554
- variant,
555
- size,
556
- asChild = false,
557
- centered = true,
558
- isLoading,
559
- children,
560
- ...props
561
- }, ref) => {
562
- const Comp = "button";
563
- const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
564
- return /* @__PURE__ */ React3.createElement(
565
- Comp,
566
- {
567
- className: cn(
568
- buttonVariants({ variant, size, className }),
569
- centered && "hawa-justify-center"
570
- ),
571
- ref,
572
- ...props
573
- },
574
- isLoading ? /* @__PURE__ */ React3.createElement(
575
- Loading,
576
- {
577
- design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
578
- themeMode: variant === "outline" ? "light" : "dark",
579
- color: loadingColor,
580
- size: size === "sm" || size === "xs" ? "xs" : "button"
581
- }
582
- ) : children
583
- );
584
- }
585
- );
586
- Button.displayName = "Button";
587
-
588
339
  // components/elements/splitButton/SplitButton.tsx
589
340
  var SplitButton = ({
590
341
  variant,
@@ -592,13 +343,13 @@ var SplitButton = ({
592
343
  menuItems = [],
593
344
  children,
594
345
  ...props
595
- }) => /* @__PURE__ */ React4.createElement(
346
+ }) => /* @__PURE__ */ React2.createElement(
596
347
  "div",
597
348
  {
598
349
  dir: "ltr",
599
350
  className: cn("hawa-row hawa-flex hawa-h-fit hawa-justify-center")
600
351
  },
601
- /* @__PURE__ */ React4.createElement(
352
+ /* @__PURE__ */ React2.createElement(
602
353
  Button,
603
354
  {
604
355
  variant,
@@ -607,7 +358,7 @@ var SplitButton = ({
607
358
  },
608
359
  children
609
360
  ),
610
- /* @__PURE__ */ React4.createElement(
361
+ /* @__PURE__ */ React2.createElement(
611
362
  DropdownMenu,
612
363
  {
613
364
  size: "sm",
@@ -615,7 +366,7 @@ var SplitButton = ({
615
366
  direction,
616
367
  align: direction === "rtl" ? "start" : "end",
617
368
  items: menuItems,
618
- trigger: /* @__PURE__ */ React4.createElement(
369
+ trigger: /* @__PURE__ */ React2.createElement(
619
370
  Button,
620
371
  {
621
372
  asChild: true,
@@ -626,7 +377,7 @@ var SplitButton = ({
626
377
  props.className
627
378
  )
628
379
  },
629
- /* @__PURE__ */ React4.createElement(
380
+ /* @__PURE__ */ React2.createElement(
630
381
  "svg",
631
382
  {
632
383
  xmlns: "http://www.w3.org/2000/svg",
@@ -639,7 +390,7 @@ var SplitButton = ({
639
390
  strokeLinecap: "round",
640
391
  strokeLinejoin: "round"
641
392
  },
642
- /* @__PURE__ */ React4.createElement("path", { d: "m6 9 6 6 6-6" })
393
+ /* @__PURE__ */ React2.createElement("path", { d: "m6 9 6 6 6-6" })
643
394
  )
644
395
  )
645
396
  }
@@ -0,0 +1,19 @@
1
+ import React, { FC } from 'react';
2
+
3
+ interface StatTypes extends React.HTMLAttributes<HTMLDivElement> {
4
+ label?: string;
5
+ color?: string;
6
+ number?: string;
7
+ helperText?: string;
8
+ helperTextColor?: "default" | "positive" | "negative" | "muted";
9
+ chart?: any;
10
+ icon?: React.ReactNode;
11
+ variant?: "default" | "plain" | "contained" | "outlined" | "brutalist" | "dropshadow";
12
+ width?: "full" | "min" | "normal";
13
+ isLoading?: boolean;
14
+ className?: string;
15
+ clickable?: boolean;
16
+ }
17
+ declare const Stats: FC<StatTypes>;
18
+
19
+ export { Stats };
@@ -0,0 +1,19 @@
1
+ import React, { FC } from 'react';
2
+
3
+ interface StatTypes extends React.HTMLAttributes<HTMLDivElement> {
4
+ label?: string;
5
+ color?: string;
6
+ number?: string;
7
+ helperText?: string;
8
+ helperTextColor?: "default" | "positive" | "negative" | "muted";
9
+ chart?: any;
10
+ icon?: React.ReactNode;
11
+ variant?: "default" | "plain" | "contained" | "outlined" | "brutalist" | "dropshadow";
12
+ width?: "full" | "min" | "normal";
13
+ isLoading?: boolean;
14
+ className?: string;
15
+ clickable?: boolean;
16
+ }
17
+ declare const Stats: FC<StatTypes>;
18
+
19
+ export { Stats };
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // components/layout/stats/index.ts
31
+ var stats_exports = {};
32
+ __export(stats_exports, {
33
+ Stats: () => Stats
34
+ });
35
+ module.exports = __toCommonJS(stats_exports);
36
+
37
+ // components/layout/stats/Stats.tsx
38
+ var import_react2 = __toESM(require("react"));
39
+
40
+ // components/elements/card/Card.tsx
41
+ var React = __toESM(require("react"));
42
+
43
+ // components/util.ts
44
+ var import_clsx = require("clsx");
45
+ var import_tailwind_merge = require("tailwind-merge");
46
+ function cn(...inputs) {
47
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
48
+ }
49
+
50
+ // components/elements/card/Card.tsx
51
+ var Card = React.forwardRef(
52
+ ({ className, variant = "default", clickable = false, ...props }, ref) => {
53
+ let variantStyles = {
54
+ default: cn(
55
+ "hawa-rounded-lg hawa-border hawa-bg-card hawa-text-card-foreground hawa-shadow-sm",
56
+ clickable && "hawa-cursor-pointer hawa-transition-all hover:hawa-drop-shadow-md dark:hover:dark-shadow"
57
+ ),
58
+ neoBrutalism: cn(
59
+ "neo-brutalism",
60
+ // "hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] transition-all uppercase font-mono dark:bg-black font-bold py-2 px-4 rounded border-2 border-primary shadow-color-primary transition-[transform_50ms, box-shadow_50ms]",
61
+ clickable && "hawa-cursor-pointer active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active active:translate-x-0.5 active:translate-y-0.5 active:shadow-color-primary-active"
62
+ )
63
+ };
64
+ return /* @__PURE__ */ React.createElement(
65
+ "div",
66
+ {
67
+ ref,
68
+ className: cn(className, variantStyles[variant]),
69
+ ...props
70
+ }
71
+ );
72
+ }
73
+ );
74
+ var CardHeader = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
75
+ "div",
76
+ {
77
+ ref,
78
+ className: cn(
79
+ "hawa-flex hawa-flex-col hawa-space-y-1.5 hawa-p-6",
80
+ className
81
+ ),
82
+ ...props
83
+ }
84
+ ));
85
+ var CardTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
86
+ "h3",
87
+ {
88
+ ref,
89
+ className: cn("hawa-text-2xl hawa-font-semibold ", className),
90
+ ...props
91
+ }
92
+ ));
93
+ var CardDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
94
+ "p",
95
+ {
96
+ ref,
97
+ className: cn("hawa-text-sm hawa-text-muted-foreground", className),
98
+ ...props
99
+ }
100
+ ));
101
+ var CardContent = React.forwardRef(
102
+ ({ headless, noPadding, className, ...props }, ref) => /* @__PURE__ */ React.createElement(
103
+ "div",
104
+ {
105
+ ref,
106
+ className: cn(
107
+ noPadding ? "hawa-p-0" : "hawa-p-6",
108
+ headless ? "hawa-pt-6" : "hawa-pt-0",
109
+ className
110
+ ),
111
+ ...props
112
+ }
113
+ )
114
+ );
115
+ var CardFooter = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
116
+ "div",
117
+ {
118
+ ref,
119
+ className: cn("hawa-flex hawa-items-center hawa-p-6 hawa-pt-0", className),
120
+ ...props
121
+ }
122
+ ));
123
+ CardDescription.displayName = "CardDescription";
124
+ CardContent.displayName = "CardContent";
125
+ CardHeader.displayName = "CardHeader";
126
+ CardFooter.displayName = "CardFooter";
127
+ CardTitle.displayName = "CardTitle";
128
+ Card.displayName = "Card";
129
+
130
+ // components/elements/skeleton/Skeleton.tsx
131
+ var import_react = __toESM(require("react"));
132
+ function Skeleton({
133
+ className,
134
+ content,
135
+ animation = "pulse",
136
+ ...props
137
+ }) {
138
+ const animationStyles = {
139
+ none: "hawa-rounded hawa-bg-muted",
140
+ pulse: "hawa-animate-pulse hawa-rounded hawa-bg-muted",
141
+ shimmer: "hawa-space-y-5 hawa-rounded hawa-bg-muted hawa-p-4 hawa-relative before:hawa-absolute before:hawa-inset-0 before:hawa--translate-x-full before:hawa-animate-[shimmer_2s_infinite] before:hawa-bg-gradient-to-r before:hawa-from-transparent before:hawa-via-gray-300/40 dark:before:hawa-via-white/10 before:hawa-to-transparent hawa-isolate hawa-overflow-hidden before:hawa-border-t before:hawa-border-rose-100/10"
142
+ };
143
+ return /* @__PURE__ */ import_react.default.createElement(
144
+ "div",
145
+ {
146
+ className: cn(
147
+ animationStyles[animation],
148
+ content && "hawa-flex hawa-flex-col hawa-items-center hawa-justify-center",
149
+ className
150
+ ),
151
+ ...props
152
+ },
153
+ content && content
154
+ );
155
+ }
156
+
157
+ // components/layout/stats/Stats.tsx
158
+ var Stats = ({
159
+ label,
160
+ icon,
161
+ isLoading,
162
+ number,
163
+ helperText,
164
+ helperTextColor = "default",
165
+ chart,
166
+ clickable,
167
+ variant = "default",
168
+ ...props
169
+ }) => {
170
+ let helperTextColorStyles = {
171
+ default: "",
172
+ positive: "hawa-text-green-600 dark:hawa-text-green-500",
173
+ negative: "hawa-text-red-600 dark:hawa-text-red-500",
174
+ muted: "hawa-text-muted-foreground"
175
+ };
176
+ return /* @__PURE__ */ import_react2.default.createElement(Card, { ...props, clickable }, /* @__PURE__ */ import_react2.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-justify-between hawa-p-4" }, /* @__PURE__ */ import_react2.default.createElement(CardTitle, { className: "hawa-text-sm hawa-font-medium" }, label), icon && /* @__PURE__ */ import_react2.default.createElement("span", null, icon)), /* @__PURE__ */ import_react2.default.createElement(CardContent, { className: "hawa-transition-all" }, isLoading ? /* @__PURE__ */ import_react2.default.createElement(Skeleton, { className: "hawa-h-8 hawa-w-3/4" }) : /* @__PURE__ */ import_react2.default.createElement("div", { className: "hawa-text-2xl hawa-font-bold" }, number), helperText && /* @__PURE__ */ import_react2.default.createElement(
177
+ "div",
178
+ {
179
+ className: cn(
180
+ "hawa-my-0 hawa-text-start hawa-text-xs hawa-transition-all",
181
+ helperTextColorStyles[helperTextColor],
182
+ helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
183
+ )
184
+ },
185
+ isLoading ? /* @__PURE__ */ import_react2.default.createElement(Skeleton, { className: "hawa-mt-2 hawa-h-4 hawa-w-1/2" }) : helperText
186
+ ), chart && (isLoading ? /* @__PURE__ */ import_react2.default.createElement(Skeleton, { className: "hawa-mt-2 hawa-h-4 hawa-w-1/2" }) : chart)));
187
+ };
188
+ // Annotate the CommonJS export names for ESM import in node:
189
+ 0 && (module.exports = {
190
+ Stats
191
+ });