@sikka/hawa 0.31.2-next → 0.31.4-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 (106) hide show
  1. package/dist/alert/index.js +0 -1
  2. package/dist/alert/index.js.map +1 -1
  3. package/dist/alert/index.mjs +0 -1
  4. package/dist/alert/index.mjs.map +1 -1
  5. package/dist/appLayout/index.d.mts +1 -0
  6. package/dist/appLayout/index.d.ts +1 -0
  7. package/dist/appLayout/index.js +11 -9
  8. package/dist/appLayout/index.js.map +1 -1
  9. package/dist/appLayout/index.mjs +11 -9
  10. package/dist/appLayout/index.mjs.map +1 -1
  11. package/dist/backToTop/index.js +0 -1
  12. package/dist/backToTop/index.js.map +1 -1
  13. package/dist/backToTop/index.mjs +0 -1
  14. package/dist/backToTop/index.mjs.map +1 -1
  15. package/dist/blocks/auth/index.js +12 -5
  16. package/dist/blocks/auth/index.mjs +5 -5
  17. package/dist/blocks/feedback/index.js +8 -3
  18. package/dist/blocks/feedback/index.mjs +5 -5
  19. package/dist/blocks/index.js +13 -6
  20. package/dist/blocks/index.mjs +3 -3
  21. package/dist/blocks/misc/index.js +9 -4
  22. package/dist/blocks/misc/index.mjs +6 -6
  23. package/dist/blocks/pricing/index.js +8 -3
  24. package/dist/blocks/pricing/index.mjs +4 -4
  25. package/dist/button/index.js +3 -2
  26. package/dist/button/index.js.map +1 -1
  27. package/dist/button/index.mjs +3 -2
  28. package/dist/button/index.mjs.map +1 -1
  29. package/dist/card/index.d.mts +1 -0
  30. package/dist/card/index.d.ts +1 -0
  31. package/dist/card/index.js +8 -2
  32. package/dist/card/index.js.map +1 -1
  33. package/dist/card/index.mjs +8 -2
  34. package/dist/card/index.mjs.map +1 -1
  35. package/dist/{chunk-YR2YA3DQ.mjs → chunk-2QAGLSHC.mjs} +1 -1
  36. package/dist/{chunk-ER7YWU7Z.mjs → chunk-34LNWMOZ.mjs} +1 -1
  37. package/dist/{chunk-XLMVXGNC.mjs → chunk-3S44N7SB.mjs} +1 -1
  38. package/dist/{chunk-XTGWVGTN.mjs → chunk-6HRJIMXY.mjs} +2 -2
  39. package/dist/{chunk-DGOT2FVH.mjs → chunk-MQWYXMSK.mjs} +8 -3
  40. package/dist/{chunk-ZGNBKYX7.mjs → chunk-PA3Z7W32.mjs} +8 -3
  41. package/dist/{chunk-KNG6AWIO.mjs → chunk-S6TZHTWS.mjs} +1 -1
  42. package/dist/{chunk-BXGDHNAY.mjs → chunk-WUMWQIAW.mjs} +1 -1
  43. package/dist/{chunk-AEFNDLFD.mjs → chunk-XRUPXLOK.mjs} +1 -1
  44. package/dist/{chunk-TKSAYWDH.mjs → chunk-XZLXGXIA.mjs} +1 -1
  45. package/dist/codeBlock/index.js +0 -1
  46. package/dist/codeBlock/index.js.map +1 -1
  47. package/dist/codeBlock/index.mjs +0 -1
  48. package/dist/codeBlock/index.mjs.map +1 -1
  49. package/dist/combobox/index.js +1 -1
  50. package/dist/combobox/index.js.map +1 -1
  51. package/dist/combobox/index.mjs +1 -1
  52. package/dist/combobox/index.mjs.map +1 -1
  53. package/dist/dataTable/index.js +0 -1
  54. package/dist/dataTable/index.js.map +1 -1
  55. package/dist/dataTable/index.mjs +0 -1
  56. package/dist/dataTable/index.mjs.map +1 -1
  57. package/dist/destroyableCard/index.js +8 -2
  58. package/dist/destroyableCard/index.js.map +1 -1
  59. package/dist/destroyableCard/index.mjs +8 -2
  60. package/dist/destroyableCard/index.mjs.map +1 -1
  61. package/dist/docsLayout/index.js +3 -2
  62. package/dist/docsLayout/index.js.map +1 -1
  63. package/dist/docsLayout/index.mjs +3 -2
  64. package/dist/docsLayout/index.mjs.map +1 -1
  65. package/dist/elements/index.d.mts +1 -0
  66. package/dist/elements/index.d.ts +1 -0
  67. package/dist/elements/index.js +10 -5
  68. package/dist/elements/index.mjs +4 -4
  69. package/dist/fileDropzone/index.js +0 -1
  70. package/dist/fileDropzone/index.js.map +1 -1
  71. package/dist/fileDropzone/index.mjs +0 -1
  72. package/dist/fileDropzone/index.mjs.map +1 -1
  73. package/dist/floatBox/index.js +1 -1
  74. package/dist/floatBox/index.js.map +1 -1
  75. package/dist/floatBox/index.mjs +1 -1
  76. package/dist/floatBox/index.mjs.map +1 -1
  77. package/dist/index.css +12 -0
  78. package/dist/index.d.mts +2 -0
  79. package/dist/index.d.ts +2 -0
  80. package/dist/index.js +22 -14
  81. package/dist/index.mjs +22 -14
  82. package/dist/layout/index.d.mts +1 -0
  83. package/dist/layout/index.d.ts +1 -0
  84. package/dist/layout/index.js +19 -11
  85. package/dist/layout/index.mjs +13 -10
  86. package/dist/sonner/index.js +4 -2
  87. package/dist/sonner/index.js.map +1 -1
  88. package/dist/sonner/index.mjs +4 -2
  89. package/dist/sonner/index.mjs.map +1 -1
  90. package/dist/sortButton/index.js +0 -1
  91. package/dist/sortButton/index.js.map +1 -1
  92. package/dist/sortButton/index.mjs +0 -1
  93. package/dist/sortButton/index.mjs.map +1 -1
  94. package/dist/splitButton/index.js +0 -1
  95. package/dist/splitButton/index.js.map +1 -1
  96. package/dist/splitButton/index.mjs +0 -1
  97. package/dist/splitButton/index.mjs.map +1 -1
  98. package/dist/stats/index.js +8 -2
  99. package/dist/stats/index.js.map +1 -1
  100. package/dist/stats/index.mjs +8 -2
  101. package/dist/stats/index.mjs.map +1 -1
  102. package/dist/tabs/index.js +1 -1
  103. package/dist/tabs/index.js.map +1 -1
  104. package/dist/tabs/index.mjs +1 -1
  105. package/dist/tabs/index.mjs.map +1 -1
  106. package/package.json +1 -1
package/dist/index.d.mts CHANGED
@@ -26,6 +26,7 @@ import * as MenubarPrimitive from '@radix-ui/react-menubar';
26
26
  interface CardProps extends React$1.HTMLAttributes<HTMLDivElement> {
27
27
  clickable?: boolean;
28
28
  variant?: "default" | "neoBrutalism";
29
+ asContainer?: boolean;
29
30
  }
30
31
  declare const Card: React$1.ForwardRefExoticComponent<CardProps & React$1.RefAttributes<HTMLDivElement>>;
31
32
  declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
@@ -1205,6 +1206,7 @@ type AppLayoutTypes$1 = {
1205
1206
  /** a custom header to replace the logoLink & logoSymbol */
1206
1207
  header?: React__default.ReactNode;
1207
1208
  design?: "default";
1209
+ bordered?: boolean;
1208
1210
  /** The pages of the side drawer */
1209
1211
  drawerItems: AppSidebarItemProps[];
1210
1212
  /** The direction of the layout */
package/dist/index.d.ts CHANGED
@@ -26,6 +26,7 @@ import * as MenubarPrimitive from '@radix-ui/react-menubar';
26
26
  interface CardProps extends React$1.HTMLAttributes<HTMLDivElement> {
27
27
  clickable?: boolean;
28
28
  variant?: "default" | "neoBrutalism";
29
+ asContainer?: boolean;
29
30
  }
30
31
  declare const Card: React$1.ForwardRefExoticComponent<CardProps & React$1.RefAttributes<HTMLDivElement>>;
31
32
  declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
@@ -1205,6 +1206,7 @@ type AppLayoutTypes$1 = {
1205
1206
  /** a custom header to replace the logoLink & logoSymbol */
1206
1207
  header?: React__default.ReactNode;
1207
1208
  design?: "default";
1209
+ bordered?: boolean;
1208
1210
  /** The pages of the side drawer */
1209
1211
  drawerItems: AppSidebarItemProps[];
1210
1212
  /** The direction of the layout */
package/dist/index.js CHANGED
@@ -276,7 +276,13 @@ var calculateLuminance = (color) => {
276
276
 
277
277
  // elements/card/Card.tsx
278
278
  var Card = React.forwardRef(
279
- ({ className, variant = "default", clickable = false, ...props }, ref) => {
279
+ ({
280
+ className,
281
+ variant = "default",
282
+ clickable = false,
283
+ asContainer = false,
284
+ ...props
285
+ }, ref) => {
280
286
  let variantStyles = {
281
287
  default: cn(
282
288
  "hawa-rounded-lg hawa-border hawa-bg-card hawa-text-card-foreground hawa-shadow-sm",
@@ -292,7 +298,7 @@ var Card = React.forwardRef(
292
298
  "div",
293
299
  {
294
300
  ref,
295
- className: cn(className, variantStyles[variant]),
301
+ className: cn(className, !asContainer && variantStyles[variant]),
296
302
  ...props
297
303
  }
298
304
  );
@@ -2274,7 +2280,6 @@ var Button = React15.forwardRef(
2274
2280
  className: cn(
2275
2281
  buttonVariants({ variant, size, className }),
2276
2282
  centered && "hawa-justify-center"
2277
- // "hawa-bg-red-500"
2278
2283
  ),
2279
2284
  ref,
2280
2285
  ...props
@@ -3811,7 +3816,7 @@ var Combobox = React27.forwardRef(
3811
3816
  {
3812
3817
  className: cn(
3813
3818
  "hawa-max-h-[200px]",
3814
- data.length > 0 && "hawa-overflow-y-scroll"
3819
+ data.length > 0 && "hawa-overflow-y-auto"
3815
3820
  )
3816
3821
  },
3817
3822
  data.map((item, i) => /* @__PURE__ */ React27.createElement(
@@ -4646,7 +4651,7 @@ var FloatBox = ({
4646
4651
  "data-side": side,
4647
4652
  "data-floatbox-state": open ? "open" : "closed"
4648
4653
  },
4649
- withArrow && /* @__PURE__ */ React39.createElement("div", { className: cn("hawa-bg-red-500", arrowDirection[side]) }),
4654
+ withArrow && /* @__PURE__ */ React39.createElement("div", { className: cn(arrowDirection[side]) }),
4650
4655
  /* @__PURE__ */ React39.createElement("span", null, props.children)
4651
4656
  );
4652
4657
  };
@@ -9017,6 +9022,7 @@ var AppLayout = ({
9017
9022
  profileMenuWidth = "default",
9018
9023
  DrawerFooterActions,
9019
9024
  classNames,
9025
+ bordered = true,
9020
9026
  design = "default",
9021
9027
  direction = "ltr",
9022
9028
  drawerSize = "md",
@@ -9080,7 +9086,8 @@ var AppLayout = ({
9080
9086
  {
9081
9087
  className: cn(
9082
9088
  "hawa-fixed hawa-left-0 hawa-right-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
9083
- isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
9089
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row",
9090
+ bordered && "hawa-border-b-[1px]"
9084
9091
  )
9085
9092
  },
9086
9093
  size > 600 ? /* @__PURE__ */ import_react54.default.createElement(
@@ -9176,9 +9183,11 @@ var AppLayout = ({
9176
9183
  "div",
9177
9184
  {
9178
9185
  className: cn(
9179
- "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
9186
+ "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
9180
9187
  isRTL ? "hawa-right-0 hawa-top-0 hawa-h-14" : "hawa-left-0 hawa-top-0 hawa-h-14",
9181
- "hawa-h-[calc(100dvh)]"
9188
+ "hawa-h-[calc(100dvh)]",
9189
+ "hawa-bg-primary-foreground",
9190
+ bordered ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : ""
9182
9191
  ),
9183
9192
  style: {
9184
9193
  width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
@@ -9206,7 +9215,7 @@ var AppLayout = ({
9206
9215
  onClick: props.onLogoClick,
9207
9216
  dir: direction,
9208
9217
  className: cn(
9209
- "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-bg-primary-foreground hawa-transition-all",
9218
+ "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-transition-all",
9210
9219
  props.onLogoClick && "hawa-cursor-pointer",
9211
9220
  classNames == null ? void 0 : classNames.logoContainer
9212
9221
  ),
@@ -9243,7 +9252,7 @@ var AppLayout = ({
9243
9252
  "div",
9244
9253
  {
9245
9254
  className: cn(
9246
- "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-bg-primary-foreground hawa-p-0 hawa-py-2 hawa-transition-all",
9255
+ "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-p-0 hawa-py-2 hawa-transition-all",
9247
9256
  openSideMenu ? "hawa-overflow-auto" : "hawa-overflow-hidden"
9248
9257
  ),
9249
9258
  style: {
@@ -9277,9 +9286,8 @@ var AppLayout = ({
9277
9286
  "div",
9278
9287
  {
9279
9288
  className: cn(
9280
- "hawa-fixed hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-bg-primary-foreground hawa-transition-all",
9281
- direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row",
9282
- "hawa-bottom-0"
9289
+ "hawa-fixed hawa-bottom-0 hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-transition-all",
9290
+ direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row"
9283
9291
  ),
9284
9292
  style: {
9285
9293
  width: size > 600 ? `${openSideMenu ? openDrawerWidth : 56}px` : `${openSideMenu ? openDrawerWidth : 0}px`
@@ -10337,7 +10345,7 @@ var LoginForm = ({
10337
10345
  props.cardless && "!hawa-border-none !hawa-bg-transparent !hawa-shadow-none !hawa-drop-shadow-none"
10338
10346
  )
10339
10347
  },
10340
- /* @__PURE__ */ import_react60.default.createElement(CardContent, { headless: true, noPadding: props.cardless, className: "hawa-bg-red-400" }, props.showError && /* @__PURE__ */ import_react60.default.createElement(
10348
+ /* @__PURE__ */ import_react60.default.createElement(CardContent, { headless: true, noPadding: props.cardless }, props.showError && /* @__PURE__ */ import_react60.default.createElement(
10341
10349
  Alert,
10342
10350
  {
10343
10351
  direction: props.direction,
package/dist/index.mjs CHANGED
@@ -38,7 +38,13 @@ var calculateLuminance = (color) => {
38
38
 
39
39
  // elements/card/Card.tsx
40
40
  var Card = React.forwardRef(
41
- ({ className, variant = "default", clickable = false, ...props }, ref) => {
41
+ ({
42
+ className,
43
+ variant = "default",
44
+ clickable = false,
45
+ asContainer = false,
46
+ ...props
47
+ }, ref) => {
42
48
  let variantStyles = {
43
49
  default: cn(
44
50
  "hawa-rounded-lg hawa-border hawa-bg-card hawa-text-card-foreground hawa-shadow-sm",
@@ -54,7 +60,7 @@ var Card = React.forwardRef(
54
60
  "div",
55
61
  {
56
62
  ref,
57
- className: cn(className, variantStyles[variant]),
63
+ className: cn(className, !asContainer && variantStyles[variant]),
58
64
  ...props
59
65
  }
60
66
  );
@@ -2036,7 +2042,6 @@ var Button = React15.forwardRef(
2036
2042
  className: cn(
2037
2043
  buttonVariants({ variant, size, className }),
2038
2044
  centered && "hawa-justify-center"
2039
- // "hawa-bg-red-500"
2040
2045
  ),
2041
2046
  ref,
2042
2047
  ...props
@@ -3581,7 +3586,7 @@ var Combobox = React27.forwardRef(
3581
3586
  {
3582
3587
  className: cn(
3583
3588
  "hawa-max-h-[200px]",
3584
- data.length > 0 && "hawa-overflow-y-scroll"
3589
+ data.length > 0 && "hawa-overflow-y-auto"
3585
3590
  )
3586
3591
  },
3587
3592
  data.map((item, i) => /* @__PURE__ */ React27.createElement(
@@ -4416,7 +4421,7 @@ var FloatBox = ({
4416
4421
  "data-side": side,
4417
4422
  "data-floatbox-state": open ? "open" : "closed"
4418
4423
  },
4419
- withArrow && /* @__PURE__ */ React39.createElement("div", { className: cn("hawa-bg-red-500", arrowDirection[side]) }),
4424
+ withArrow && /* @__PURE__ */ React39.createElement("div", { className: cn(arrowDirection[side]) }),
4420
4425
  /* @__PURE__ */ React39.createElement("span", null, props.children)
4421
4426
  );
4422
4427
  };
@@ -8794,6 +8799,7 @@ var AppLayout = ({
8794
8799
  profileMenuWidth = "default",
8795
8800
  DrawerFooterActions,
8796
8801
  classNames,
8802
+ bordered = true,
8797
8803
  design = "default",
8798
8804
  direction = "ltr",
8799
8805
  drawerSize = "md",
@@ -8857,7 +8863,8 @@ var AppLayout = ({
8857
8863
  {
8858
8864
  className: cn(
8859
8865
  "hawa-fixed hawa-left-0 hawa-right-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
8860
- isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
8866
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row",
8867
+ bordered && "hawa-border-b-[1px]"
8861
8868
  )
8862
8869
  },
8863
8870
  size > 600 ? /* @__PURE__ */ React75.createElement(
@@ -8953,9 +8960,11 @@ var AppLayout = ({
8953
8960
  "div",
8954
8961
  {
8955
8962
  className: cn(
8956
- "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
8963
+ "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
8957
8964
  isRTL ? "hawa-right-0 hawa-top-0 hawa-h-14" : "hawa-left-0 hawa-top-0 hawa-h-14",
8958
- "hawa-h-[calc(100dvh)]"
8965
+ "hawa-h-[calc(100dvh)]",
8966
+ "hawa-bg-primary-foreground",
8967
+ bordered ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : ""
8959
8968
  ),
8960
8969
  style: {
8961
8970
  width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
@@ -8983,7 +8992,7 @@ var AppLayout = ({
8983
8992
  onClick: props.onLogoClick,
8984
8993
  dir: direction,
8985
8994
  className: cn(
8986
- "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-bg-primary-foreground hawa-transition-all",
8995
+ "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-transition-all",
8987
8996
  props.onLogoClick && "hawa-cursor-pointer",
8988
8997
  classNames == null ? void 0 : classNames.logoContainer
8989
8998
  ),
@@ -9020,7 +9029,7 @@ var AppLayout = ({
9020
9029
  "div",
9021
9030
  {
9022
9031
  className: cn(
9023
- "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-bg-primary-foreground hawa-p-0 hawa-py-2 hawa-transition-all",
9032
+ "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-p-0 hawa-py-2 hawa-transition-all",
9024
9033
  openSideMenu ? "hawa-overflow-auto" : "hawa-overflow-hidden"
9025
9034
  ),
9026
9035
  style: {
@@ -9054,9 +9063,8 @@ var AppLayout = ({
9054
9063
  "div",
9055
9064
  {
9056
9065
  className: cn(
9057
- "hawa-fixed hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-bg-primary-foreground hawa-transition-all",
9058
- direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row",
9059
- "hawa-bottom-0"
9066
+ "hawa-fixed hawa-bottom-0 hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-transition-all",
9067
+ direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row"
9060
9068
  ),
9061
9069
  style: {
9062
9070
  width: size > 600 ? `${openSideMenu ? openDrawerWidth : 56}px` : `${openSideMenu ? openDrawerWidth : 0}px`
@@ -10114,7 +10122,7 @@ var LoginForm = ({
10114
10122
  props.cardless && "!hawa-border-none !hawa-bg-transparent !hawa-shadow-none !hawa-drop-shadow-none"
10115
10123
  )
10116
10124
  },
10117
- /* @__PURE__ */ React82.createElement(CardContent, { headless: true, noPadding: props.cardless, className: "hawa-bg-red-400" }, props.showError && /* @__PURE__ */ React82.createElement(
10125
+ /* @__PURE__ */ React82.createElement(CardContent, { headless: true, noPadding: props.cardless }, props.showError && /* @__PURE__ */ React82.createElement(
10118
10126
  Alert,
10119
10127
  {
10120
10128
  direction: props.direction,
@@ -98,6 +98,7 @@ type AppLayoutTypes$1 = {
98
98
  /** a custom header to replace the logoLink & logoSymbol */
99
99
  header?: React__default.ReactNode;
100
100
  design?: "default";
101
+ bordered?: boolean;
101
102
  /** The pages of the side drawer */
102
103
  drawerItems: AppSidebarItemProps[];
103
104
  /** The direction of the layout */
@@ -98,6 +98,7 @@ type AppLayoutTypes$1 = {
98
98
  /** a custom header to replace the logoLink & logoSymbol */
99
99
  header?: React__default.ReactNode;
100
100
  design?: "default";
101
+ bordered?: boolean;
101
102
  /** The pages of the side drawer */
102
103
  drawerItems: AppSidebarItemProps[];
103
104
  /** The direction of the layout */
@@ -75,7 +75,13 @@ function cn(...inputs) {
75
75
 
76
76
  // elements/card/Card.tsx
77
77
  var Card = React.forwardRef(
78
- ({ className, variant = "default", clickable = false, ...props }, ref) => {
78
+ ({
79
+ className,
80
+ variant = "default",
81
+ clickable = false,
82
+ asContainer = false,
83
+ ...props
84
+ }, ref) => {
79
85
  let variantStyles = {
80
86
  default: cn(
81
87
  "hawa-rounded-lg hawa-border hawa-bg-card hawa-text-card-foreground hawa-shadow-sm",
@@ -91,7 +97,7 @@ var Card = React.forwardRef(
91
97
  "div",
92
98
  {
93
99
  ref,
94
- className: cn(className, variantStyles[variant]),
100
+ className: cn(className, !asContainer && variantStyles[variant]),
95
101
  ...props
96
102
  }
97
103
  );
@@ -923,7 +929,6 @@ var Button = React9.forwardRef(
923
929
  className: cn(
924
930
  buttonVariants({ variant, size, className }),
925
931
  centered && "hawa-justify-center"
926
- // "hawa-bg-red-500"
927
932
  ),
928
933
  ref,
929
934
  ...props
@@ -1387,6 +1392,7 @@ var AppLayout = ({
1387
1392
  profileMenuWidth = "default",
1388
1393
  DrawerFooterActions,
1389
1394
  classNames,
1395
+ bordered = true,
1390
1396
  design = "default",
1391
1397
  direction = "ltr",
1392
1398
  drawerSize = "md",
@@ -1450,7 +1456,8 @@ var AppLayout = ({
1450
1456
  {
1451
1457
  className: cn(
1452
1458
  "hawa-fixed hawa-left-0 hawa-right-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
1453
- isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
1459
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row",
1460
+ bordered && "hawa-border-b-[1px]"
1454
1461
  )
1455
1462
  },
1456
1463
  size > 600 ? /* @__PURE__ */ import_react8.default.createElement(
@@ -1546,9 +1553,11 @@ var AppLayout = ({
1546
1553
  "div",
1547
1554
  {
1548
1555
  className: cn(
1549
- "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
1556
+ "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
1550
1557
  isRTL ? "hawa-right-0 hawa-top-0 hawa-h-14" : "hawa-left-0 hawa-top-0 hawa-h-14",
1551
- "hawa-h-[calc(100dvh)]"
1558
+ "hawa-h-[calc(100dvh)]",
1559
+ "hawa-bg-primary-foreground",
1560
+ bordered ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : ""
1552
1561
  ),
1553
1562
  style: {
1554
1563
  width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
@@ -1576,7 +1585,7 @@ var AppLayout = ({
1576
1585
  onClick: props.onLogoClick,
1577
1586
  dir: direction,
1578
1587
  className: cn(
1579
- "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-bg-primary-foreground hawa-transition-all",
1588
+ "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-transition-all",
1580
1589
  props.onLogoClick && "hawa-cursor-pointer",
1581
1590
  classNames == null ? void 0 : classNames.logoContainer
1582
1591
  ),
@@ -1613,7 +1622,7 @@ var AppLayout = ({
1613
1622
  "div",
1614
1623
  {
1615
1624
  className: cn(
1616
- "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-bg-primary-foreground hawa-p-0 hawa-py-2 hawa-transition-all",
1625
+ "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-p-0 hawa-py-2 hawa-transition-all",
1617
1626
  openSideMenu ? "hawa-overflow-auto" : "hawa-overflow-hidden"
1618
1627
  ),
1619
1628
  style: {
@@ -1647,9 +1656,8 @@ var AppLayout = ({
1647
1656
  "div",
1648
1657
  {
1649
1658
  className: cn(
1650
- "hawa-fixed hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-bg-primary-foreground hawa-transition-all",
1651
- direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row",
1652
- "hawa-bottom-0"
1659
+ "hawa-fixed hawa-bottom-0 hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-transition-all",
1660
+ direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row"
1653
1661
  ),
1654
1662
  style: {
1655
1663
  width: size > 600 ? `${openSideMenu ? openDrawerWidth : 56}px` : `${openSideMenu ? openDrawerWidth : 0}px`
@@ -3,7 +3,7 @@ import {
3
3
  Sheet,
4
4
  SheetContent,
5
5
  SheetTrigger
6
- } from "../chunk-TKSAYWDH.mjs";
6
+ } from "../chunk-XZLXGXIA.mjs";
7
7
  import {
8
8
  Button,
9
9
  Card,
@@ -15,7 +15,7 @@ import {
15
15
  Skeleton,
16
16
  Tooltip,
17
17
  cn
18
- } from "../chunk-DGOT2FVH.mjs";
18
+ } from "../chunk-MQWYXMSK.mjs";
19
19
  import {
20
20
  useBreakpoint
21
21
  } from "../chunk-UDCDD66A.mjs";
@@ -397,6 +397,7 @@ var AppLayout = ({
397
397
  profileMenuWidth = "default",
398
398
  DrawerFooterActions,
399
399
  classNames,
400
+ bordered = true,
400
401
  design = "default",
401
402
  direction = "ltr",
402
403
  drawerSize = "md",
@@ -460,7 +461,8 @@ var AppLayout = ({
460
461
  {
461
462
  className: cn(
462
463
  "hawa-fixed hawa-left-0 hawa-right-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
463
- isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
464
+ isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row",
465
+ bordered && "hawa-border-b-[1px]"
464
466
  )
465
467
  },
466
468
  size > 600 ? /* @__PURE__ */ React5.createElement(
@@ -556,9 +558,11 @@ var AppLayout = ({
556
558
  "div",
557
559
  {
558
560
  className: cn(
559
- "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
561
+ "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
560
562
  isRTL ? "hawa-right-0 hawa-top-0 hawa-h-14" : "hawa-left-0 hawa-top-0 hawa-h-14",
561
- "hawa-h-[calc(100dvh)]"
563
+ "hawa-h-[calc(100dvh)]",
564
+ "hawa-bg-primary-foreground",
565
+ bordered ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : ""
562
566
  ),
563
567
  style: {
564
568
  width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
@@ -586,7 +590,7 @@ var AppLayout = ({
586
590
  onClick: props.onLogoClick,
587
591
  dir: direction,
588
592
  className: cn(
589
- "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-bg-primary-foreground hawa-transition-all",
593
+ "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-transition-all",
590
594
  props.onLogoClick && "hawa-cursor-pointer",
591
595
  classNames == null ? void 0 : classNames.logoContainer
592
596
  ),
@@ -623,7 +627,7 @@ var AppLayout = ({
623
627
  "div",
624
628
  {
625
629
  className: cn(
626
- "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-bg-primary-foreground hawa-p-0 hawa-py-2 hawa-transition-all",
630
+ "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-p-0 hawa-py-2 hawa-transition-all",
627
631
  openSideMenu ? "hawa-overflow-auto" : "hawa-overflow-hidden"
628
632
  ),
629
633
  style: {
@@ -657,9 +661,8 @@ var AppLayout = ({
657
661
  "div",
658
662
  {
659
663
  className: cn(
660
- "hawa-fixed hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-bg-primary-foreground hawa-transition-all",
661
- direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row",
662
- "hawa-bottom-0"
664
+ "hawa-fixed hawa-bottom-0 hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-transition-all",
665
+ direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row"
663
666
  ),
664
667
  style: {
665
668
  width: size > 600 ? `${openSideMenu ? openDrawerWidth : 56}px` : `${openSideMenu ? openDrawerWidth : 0}px`
@@ -49,11 +49,13 @@ var Sonner = ({ ...props }) => {
49
49
  toastOptions: {
50
50
  classNames: {
51
51
  toast: "group toast group-[.toaster]:hawa-bg-background group-[.toaster]:hawa-text-foreground group-[.toaster]:hawa-border-border group-[.toaster]:hawa-shadow-lg",
52
- description: "group-[.toast]:text-muted-foreground",
52
+ description: "group-[.toast]:hawa-text-muted-foreground",
53
53
  actionButton: "group-[.toast]:hawa-bg-primary group-[.toast]:hawa-text-primary-foreground",
54
- cancelButton: "group-[.toast]:hawa-bg-muted group-[.toast]:hawa-text-muted-foreground"
54
+ cancelButton: "group-[.toast]:hawa-bg-muted group-[.toast]:hawa-text-muted-foreground",
55
+ title: "!hawa-font-bold"
55
56
  }
56
57
  },
58
+ style: { fontFamily: "IBM Plex Sans Arabic" },
57
59
  ...props
58
60
  }
59
61
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/sonner/index.ts","../../elements/sonner/Sonner.tsx"],"sourcesContent":["export * from \"./Sonner\";\n","import React from \"react\";\n\nimport { Toaster as SonnerToaster, toast } from \"sonner\";\n\nimport { DirectionType } from \"@_types/commonTypes\";\n\ntype SonnerProps = React.ComponentProps<typeof SonnerToaster> & {\n direction?: DirectionType;\n};\n\nconst Sonner = ({ ...props }: SonnerProps) => {\n return (\n <SonnerToaster\n // theme={theme as SonnerProps[\"theme\"]}\n\n dir={props.direction}\n position={props.direction === \"rtl\" ? \"bottom-left\" : \"bottom-right\"}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:hawa-bg-background group-[.toaster]:hawa-text-foreground group-[.toaster]:hawa-border-border group-[.toaster]:hawa-shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:hawa-bg-primary group-[.toast]:hawa-text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:hawa-bg-muted group-[.toast]:hawa-text-muted-foreground\",\n },\n }}\n {...props}\n />\n );\n};\n\nconst createSonner: typeof toast = toast;\n\nexport { Sonner, createSonner };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAkB;AAElB,oBAAgD;AAQhD,IAAM,SAAS,CAAC,EAAE,GAAG,MAAM,MAAmB;AAC5C,SACE,6BAAAA,QAAA;AAAA,IAAC,cAAAC;AAAA,IAAA;AAAA,MAGC,KAAK,MAAM;AAAA,MACX,UAAU,MAAM,cAAc,QAAQ,gBAAgB;AAAA,MACtD,WAAU;AAAA,MACV,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,eAA6B;","names":["React","SonnerToaster"]}
1
+ {"version":3,"sources":["../../elements/sonner/index.ts","../../elements/sonner/Sonner.tsx"],"sourcesContent":["export * from \"./Sonner\";\n","import React from \"react\";\n\nimport { Toaster as SonnerToaster, toast } from \"sonner\";\n\nimport { DirectionType } from \"@_types/commonTypes\";\n\ntype SonnerProps = React.ComponentProps<typeof SonnerToaster> & {\n direction?: DirectionType;\n};\n\nconst Sonner = ({ ...props }: SonnerProps) => {\n return (\n <SonnerToaster\n dir={props.direction}\n position={props.direction === \"rtl\" ? \"bottom-left\" : \"bottom-right\"}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:hawa-bg-background group-[.toaster]:hawa-text-foreground group-[.toaster]:hawa-border-border group-[.toaster]:hawa-shadow-lg\",\n description: \"group-[.toast]:hawa-text-muted-foreground\",\n actionButton:\n \"group-[.toast]:hawa-bg-primary group-[.toast]:hawa-text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:hawa-bg-muted group-[.toast]:hawa-text-muted-foreground\",\n title: \"!hawa-font-bold\",\n },\n }}\n style={{ fontFamily: \"IBM Plex Sans Arabic\" }}\n {...props}\n />\n );\n};\n\nconst createSonner: typeof toast = toast;\n\nexport { Sonner, createSonner };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAkB;AAElB,oBAAgD;AAQhD,IAAM,SAAS,CAAC,EAAE,GAAG,MAAM,MAAmB;AAC5C,SACE,6BAAAA,QAAA;AAAA,IAAC,cAAAC;AAAA,IAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACX,UAAU,MAAM,cAAc,QAAQ,gBAAgB;AAAA,MACtD,WAAU;AAAA,MACV,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,UACF,OAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,OAAO,EAAE,YAAY,uBAAuB;AAAA,MAC3C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,eAA6B;","names":["React","SonnerToaster"]}
@@ -13,11 +13,13 @@ var Sonner = ({ ...props }) => {
13
13
  toastOptions: {
14
14
  classNames: {
15
15
  toast: "group toast group-[.toaster]:hawa-bg-background group-[.toaster]:hawa-text-foreground group-[.toaster]:hawa-border-border group-[.toaster]:hawa-shadow-lg",
16
- description: "group-[.toast]:text-muted-foreground",
16
+ description: "group-[.toast]:hawa-text-muted-foreground",
17
17
  actionButton: "group-[.toast]:hawa-bg-primary group-[.toast]:hawa-text-primary-foreground",
18
- cancelButton: "group-[.toast]:hawa-bg-muted group-[.toast]:hawa-text-muted-foreground"
18
+ cancelButton: "group-[.toast]:hawa-bg-muted group-[.toast]:hawa-text-muted-foreground",
19
+ title: "!hawa-font-bold"
19
20
  }
20
21
  },
22
+ style: { fontFamily: "IBM Plex Sans Arabic" },
21
23
  ...props
22
24
  }
23
25
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/sonner/Sonner.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Toaster as SonnerToaster, toast } from \"sonner\";\n\nimport { DirectionType } from \"@_types/commonTypes\";\n\ntype SonnerProps = React.ComponentProps<typeof SonnerToaster> & {\n direction?: DirectionType;\n};\n\nconst Sonner = ({ ...props }: SonnerProps) => {\n return (\n <SonnerToaster\n // theme={theme as SonnerProps[\"theme\"]}\n\n dir={props.direction}\n position={props.direction === \"rtl\" ? \"bottom-left\" : \"bottom-right\"}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:hawa-bg-background group-[.toaster]:hawa-text-foreground group-[.toaster]:hawa-border-border group-[.toaster]:hawa-shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:hawa-bg-primary group-[.toast]:hawa-text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:hawa-bg-muted group-[.toast]:hawa-text-muted-foreground\",\n },\n }}\n {...props}\n />\n );\n};\n\nconst createSonner: typeof toast = toast;\n\nexport { Sonner, createSonner };\n"],"mappings":";;;AAAA,OAAO,WAAW;AAElB,SAAS,WAAW,eAAe,aAAa;AAQhD,IAAM,SAAS,CAAC,EAAE,GAAG,MAAM,MAAmB;AAC5C,SACE;AAAA,IAAC;AAAA;AAAA,MAGC,KAAK,MAAM;AAAA,MACX,UAAU,MAAM,cAAc,QAAQ,gBAAgB;AAAA,MACtD,WAAU;AAAA,MACV,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,eAA6B;","names":[]}
1
+ {"version":3,"sources":["../../elements/sonner/Sonner.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Toaster as SonnerToaster, toast } from \"sonner\";\n\nimport { DirectionType } from \"@_types/commonTypes\";\n\ntype SonnerProps = React.ComponentProps<typeof SonnerToaster> & {\n direction?: DirectionType;\n};\n\nconst Sonner = ({ ...props }: SonnerProps) => {\n return (\n <SonnerToaster\n dir={props.direction}\n position={props.direction === \"rtl\" ? \"bottom-left\" : \"bottom-right\"}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:hawa-bg-background group-[.toaster]:hawa-text-foreground group-[.toaster]:hawa-border-border group-[.toaster]:hawa-shadow-lg\",\n description: \"group-[.toast]:hawa-text-muted-foreground\",\n actionButton:\n \"group-[.toast]:hawa-bg-primary group-[.toast]:hawa-text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:hawa-bg-muted group-[.toast]:hawa-text-muted-foreground\",\n title: \"!hawa-font-bold\",\n },\n }}\n style={{ fontFamily: \"IBM Plex Sans Arabic\" }}\n {...props}\n />\n );\n};\n\nconst createSonner: typeof toast = toast;\n\nexport { Sonner, createSonner };\n"],"mappings":";;;AAAA,OAAO,WAAW;AAElB,SAAS,WAAW,eAAe,aAAa;AAQhD,IAAM,SAAS,CAAC,EAAE,GAAG,MAAM,MAAmB;AAC5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACX,UAAU,MAAM,cAAc,QAAQ,gBAAgB;AAAA,MACtD,WAAU;AAAA,MACV,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,UACF,OAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,OAAO,EAAE,YAAY,uBAAuB;AAAA,MAC3C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,eAA6B;","names":[]}
@@ -320,7 +320,6 @@ var Button = React2.forwardRef(
320
320
  className: cn(
321
321
  buttonVariants({ variant, size, className }),
322
322
  centered && "hawa-justify-center"
323
- // "hawa-bg-red-500"
324
323
  ),
325
324
  ref,
326
325
  ...props
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/sortButton/index.ts","../../elements/sortButton/SortButton.tsx","../../util/index.ts","../../elements/button/Button.tsx","../../elements/loading/Loading.tsx"],"sourcesContent":["export * from \"./SortButton\";\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { Button } from \"../button\";\n\ntype SortButtonProps = {\n onSort: () => void;\n label: string;\n condensed?: boolean;\n};\n\nexport const SortButton: React.FC<SortButtonProps> = (props) => {\n return (\n <Button\n variant=\"ghost\"\n centered={false}\n className={cn(\n \"hawa-flex hawa-w-full hawa-flex-row hawa-items-start hawa-justify-start hawa-gap-2 hawa-text-start\",\n props.condensed && \"hawa-h-6\"\n )}\n onClick={props.onSort}\n >\n {props.label}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={props.condensed ? \"hawa-h-3 hawa-w-3\" : \"hawa-icon\"}\n >\n <path d=\"m21 16-4 4-4-4\" />\n <path d=\"M17 20V4\" />\n <path d=\"m3 8 4-4 4 4\" />\n <path d=\"M7 4v16\" />\n </svg>\n </Button>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import * as React from \"react\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@util/index\";\nimport { Loading } from \"../loading/Loading\";\n\nconst buttonVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default:\n \"hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90\",\n light: \"hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40\",\n destructive:\n \"hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90\",\n outline:\n \"hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground\",\n secondary:\n \"hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80\",\n ghost: \"hover:hawa-bg-accent hover:hawa-text-accent-foreground\",\n link: \"hawa-text-primary hawa-underline-offset-4 hover:hawa-underline\",\n combobox: \"hawa-bg-background hawa-border\",\n neoBrutalism: \"neo-brutalism\"\n // \"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\",\n },\n size: {\n default: \"hawa-h-10 hawa-px-4 hawa-py-2\",\n heightless: \"hawa-px-4 hawa-py-4\",\n xs: \"hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 \",\n sm: \"hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3\",\n lg: \"hawa-h-11 hawa-rounded-md hawa-px-8\",\n xl: \"hawa-h-14 hawa-rounded-md hawa-px-10\",\n icon: \"hawa-h-10 hawa-w-10\",\n smallIcon: \"hawa-h-7 hawa-w-7\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n centered?: boolean;\n isLoading?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n centered = true,\n isLoading,\n children,\n ...props\n },\n ref\n ) => {\n const Comp = \"button\";\n\n // Determine the color for the HawaLoading component based on the variant\n const loadingColor =\n variant === \"outline\" || variant === \"ghost\" || variant === \"neoBrutalism\"\n ? \"hawa-bg-primary\"\n : \"hawa-bg-primary-foreground\";\n\n return (\n <Comp\n className={cn(\n buttonVariants({ variant, size, className }),\n centered && \"hawa-justify-center\",\n // \"hawa-bg-red-500\"\n )}\n ref={ref}\n {...props}\n >\n {isLoading ? (\n <Loading\n design={\n size === \"icon\" || size === \"smallIcon\" ? \"spinner\" : \"dots-pulse\"\n }\n themeMode={variant === \"outline\" ? \"light\" : \"dark\"}\n color={loadingColor}\n size={size === \"sm\" || size === \"xs\" ? \"xs\" : \"button\"}\n />\n ) : (\n children\n )}\n </Comp>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import React, { FC } from \"react\";\n\nimport { cn } from \"@util/index\";\n\ntype LoadingTypes = {\n /** Specifies the size of the loading component.*/\n size?: \"button\" | \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n /** Determines the design of the loading animation.*/\n design?:\n | \"spinner\"\n | \"dots-bounce\"\n | \"dots-pulse\"\n | \"pulse\"\n | \"spinner-dots\"\n | \"squircle\"\n | \"square\"\n | \"progress\"\n | \"orbit\";\n /** Specifies the color of the loading component. By default it will inherit the value of --primary global CSS variable*/\n color?: string;\n classNames?: {\n container?: string;\n track?: string;\n car?: string;\n };\n themeMode?: \"dark\" | \"light\";\n};\n\nexport const Loading: FC<LoadingTypes> = ({\n design = \"spinner\",\n size = \"normal\",\n themeMode = \"light\",\n classNames,\n color,\n ...props\n}) => {\n let sizeStyles = {\n button: \"hawa-h-4 hawa-w-4\",\n xs: \"hawa-h-1 hawa-w-1\",\n sm: \"hawa-h-6 hawa-w-6\",\n normal: \"hawa-h-8 hawa-w-8\",\n lg: \"hawa-h-14 hawa-w-14\",\n xl: \"hawa-h-24 hawa-w-24\"\n };\n let progressSizes = {\n button: \"hawa-h-1\",\n xs: \"hawa-h-1 hawa-w-1\",\n sm: \"hawa-h-6 hawa-w-6\",\n normal: \"\",\n lg: \"hawa-h-6\",\n xl: \"hawa-h-10 hawa-w-64\"\n };\n\n let animationStyles: any = {\n pulse: \"hawa-animate-in hawa-fade-in hawa-duration-1000\",\n bounce: \"hawa-animate-bounce\"\n };\n switch (design.split(\"-\")[0]) {\n case \"dots\":\n return (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2\",\n classNames?.container\n )}\n >\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n </div>\n );\n case \"square\":\n return (\n <svg\n className={cn(\n \"squircle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n viewBox=\"0 0 35 35\"\n height=\"35\"\n width=\"35\"\n >\n <rect\n className=\"squircle-track\"\n x=\"2.5\"\n y=\"2.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n width=\"32.5\"\n height=\"32.5\"\n />\n <rect\n className=\"square-car\"\n x=\"2.5\"\n y=\"2.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n width=\"32.5\"\n height=\"32.5\"\n pathLength=\"100\"\n />\n </svg>\n );\n case \"squircle\":\n return (\n <svg\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 37 37\"\n height=\"37\"\n width=\"37\"\n preserveAspectRatio=\"xMidYMid meet\"\n className={cn(\n \"squircle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n >\n <path\n className={cn(\"squircle-track\", classNames?.track)}\n fill=\"none\"\n strokeWidth=\"5\"\n pathLength=\"100\"\n 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\"\n ></path>\n <path\n className={cn(\"squircle-car\", classNames?.car)}\n fill=\"none\"\n strokeWidth=\"5\"\n pathLength=\"100\"\n 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\"\n ></path>\n </svg>\n );\n case \"progress\":\n return (\n <div\n className={cn(\n \"progress-loading after:hawa-rounded hawa-rounded\",\n progressSizes[size],\n classNames?.container\n )}\n ></div>\n );\n case \"orbit\":\n return (\n <div className={cn(\"orbit-container\", classNames?.container)}></div>\n );\n\n default:\n return (\n <svg\n viewBox=\"0 0 40 40\"\n height=\"40\"\n width=\"40\"\n className={cn(\n \"circle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n >\n <circle\n className={cn(\n \"circle-track\",\n {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n },\n classNames?.track\n )}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n pathLength=\"100\"\n />\n <circle\n className={cn(\n \"circle-car\",\n {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n },\n classNames?.car\n )}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n fill=\"none\"\n pathLength=\"100\"\n strokeWidth=\"5px\"\n />\n </svg>\n );\n }\n};\n"],"mappings":"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","names":["import_react","React","React","React"]}
1
+ {"version":3,"sources":["../../elements/sortButton/index.ts","../../elements/sortButton/SortButton.tsx","../../util/index.ts","../../elements/button/Button.tsx","../../elements/loading/Loading.tsx"],"sourcesContent":["export * from \"./SortButton\";\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { Button } from \"../button\";\n\ntype SortButtonProps = {\n onSort: () => void;\n label: string;\n condensed?: boolean;\n};\n\nexport const SortButton: React.FC<SortButtonProps> = (props) => {\n return (\n <Button\n variant=\"ghost\"\n centered={false}\n className={cn(\n \"hawa-flex hawa-w-full hawa-flex-row hawa-items-start hawa-justify-start hawa-gap-2 hawa-text-start\",\n props.condensed && \"hawa-h-6\"\n )}\n onClick={props.onSort}\n >\n {props.label}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={props.condensed ? \"hawa-h-3 hawa-w-3\" : \"hawa-icon\"}\n >\n <path d=\"m21 16-4 4-4-4\" />\n <path d=\"M17 20V4\" />\n <path d=\"m3 8 4-4 4 4\" />\n <path d=\"M7 4v16\" />\n </svg>\n </Button>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { Loading } from \"../loading/Loading\";\n\nconst buttonVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default:\n \"hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90\",\n light: \"hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40\",\n destructive:\n \"hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90\",\n outline:\n \"hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground\",\n secondary:\n \"hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80\",\n ghost: \"hover:hawa-bg-accent hover:hawa-text-accent-foreground\",\n link: \"hawa-text-primary hawa-underline-offset-4 hover:hawa-underline\",\n combobox: \"hawa-bg-background hawa-border\",\n neoBrutalism: \"neo-brutalism\",\n // \"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\",\n },\n size: {\n default: \"hawa-h-10 hawa-px-4 hawa-py-2\",\n heightless: \"hawa-px-4 hawa-py-4\",\n xs: \"hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 \",\n sm: \"hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3\",\n lg: \"hawa-h-11 hawa-rounded-md hawa-px-8\",\n xl: \"hawa-h-14 hawa-rounded-md hawa-px-10\",\n icon: \"hawa-h-10 hawa-w-10\",\n smallIcon: \"hawa-h-7 hawa-w-7\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n centered?: boolean;\n isLoading?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n centered = true,\n isLoading,\n children,\n ...props\n },\n ref,\n ) => {\n const Comp = \"button\";\n\n // Determine the color for the HawaLoading component based on the variant\n const loadingColor =\n variant === \"outline\" || variant === \"ghost\" || variant === \"neoBrutalism\"\n ? \"hawa-bg-primary\"\n : \"hawa-bg-primary-foreground\";\n\n return (\n <Comp\n className={cn(\n buttonVariants({ variant, size, className }),\n centered && \"hawa-justify-center\",\n )}\n ref={ref}\n {...props}\n >\n {isLoading ? (\n <Loading\n design={\n size === \"icon\" || size === \"smallIcon\" ? \"spinner\" : \"dots-pulse\"\n }\n themeMode={variant === \"outline\" ? \"light\" : \"dark\"}\n color={loadingColor}\n size={size === \"sm\" || size === \"xs\" ? \"xs\" : \"button\"}\n />\n ) : (\n children\n )}\n </Comp>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import React, { FC } from \"react\";\n\nimport { cn } from \"@util/index\";\n\ntype LoadingTypes = {\n /** Specifies the size of the loading component.*/\n size?: \"button\" | \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n /** Determines the design of the loading animation.*/\n design?:\n | \"spinner\"\n | \"dots-bounce\"\n | \"dots-pulse\"\n | \"pulse\"\n | \"spinner-dots\"\n | \"squircle\"\n | \"square\"\n | \"progress\"\n | \"orbit\";\n /** Specifies the color of the loading component. By default it will inherit the value of --primary global CSS variable*/\n color?: string;\n classNames?: {\n container?: string;\n track?: string;\n car?: string;\n };\n themeMode?: \"dark\" | \"light\";\n};\n\nexport const Loading: FC<LoadingTypes> = ({\n design = \"spinner\",\n size = \"normal\",\n themeMode = \"light\",\n classNames,\n color,\n ...props\n}) => {\n let sizeStyles = {\n button: \"hawa-h-4 hawa-w-4\",\n xs: \"hawa-h-1 hawa-w-1\",\n sm: \"hawa-h-6 hawa-w-6\",\n normal: \"hawa-h-8 hawa-w-8\",\n lg: \"hawa-h-14 hawa-w-14\",\n xl: \"hawa-h-24 hawa-w-24\"\n };\n let progressSizes = {\n button: \"hawa-h-1\",\n xs: \"hawa-h-1 hawa-w-1\",\n sm: \"hawa-h-6 hawa-w-6\",\n normal: \"\",\n lg: \"hawa-h-6\",\n xl: \"hawa-h-10 hawa-w-64\"\n };\n\n let animationStyles: any = {\n pulse: \"hawa-animate-in hawa-fade-in hawa-duration-1000\",\n bounce: \"hawa-animate-bounce\"\n };\n switch (design.split(\"-\")[0]) {\n case \"dots\":\n return (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2\",\n classNames?.container\n )}\n >\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n </div>\n );\n case \"square\":\n return (\n <svg\n className={cn(\n \"squircle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n viewBox=\"0 0 35 35\"\n height=\"35\"\n width=\"35\"\n >\n <rect\n className=\"squircle-track\"\n x=\"2.5\"\n y=\"2.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n width=\"32.5\"\n height=\"32.5\"\n />\n <rect\n className=\"square-car\"\n x=\"2.5\"\n y=\"2.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n width=\"32.5\"\n height=\"32.5\"\n pathLength=\"100\"\n />\n </svg>\n );\n case \"squircle\":\n return (\n <svg\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 37 37\"\n height=\"37\"\n width=\"37\"\n preserveAspectRatio=\"xMidYMid meet\"\n className={cn(\n \"squircle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n >\n <path\n className={cn(\"squircle-track\", classNames?.track)}\n fill=\"none\"\n strokeWidth=\"5\"\n pathLength=\"100\"\n 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\"\n ></path>\n <path\n className={cn(\"squircle-car\", classNames?.car)}\n fill=\"none\"\n strokeWidth=\"5\"\n pathLength=\"100\"\n 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\"\n ></path>\n </svg>\n );\n case \"progress\":\n return (\n <div\n className={cn(\n \"progress-loading after:hawa-rounded hawa-rounded\",\n progressSizes[size],\n classNames?.container\n )}\n ></div>\n );\n case \"orbit\":\n return (\n <div className={cn(\"orbit-container\", classNames?.container)}></div>\n );\n\n default:\n return (\n <svg\n viewBox=\"0 0 40 40\"\n height=\"40\"\n width=\"40\"\n className={cn(\n \"circle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n >\n <circle\n className={cn(\n \"circle-track\",\n {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n },\n classNames?.track\n )}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n pathLength=\"100\"\n />\n <circle\n className={cn(\n \"circle-car\",\n {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n },\n classNames?.car\n )}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n fill=\"none\"\n pathLength=\"100\"\n strokeWidth=\"5px\"\n />\n </svg>\n );\n }\n};\n"],"mappings":"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","names":["import_react","React","React","React"]}