@sikka/hawa 0.43.5-next → 0.44.0-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 (127) hide show
  1. package/dist/alert/index.d.mts +9 -1
  2. package/dist/alert/index.d.ts +9 -1
  3. package/dist/alert/index.js +40 -36
  4. package/dist/alert/index.js.map +1 -1
  5. package/dist/alert/index.mjs +40 -36
  6. package/dist/alert/index.mjs.map +1 -1
  7. package/dist/appLayout/index.js +11 -22
  8. package/dist/appLayout/index.js.map +1 -1
  9. package/dist/appLayout/index.mjs +11 -22
  10. package/dist/appLayout/index.mjs.map +1 -1
  11. package/dist/backToTop/index.js +11 -22
  12. package/dist/backToTop/index.js.map +1 -1
  13. package/dist/backToTop/index.mjs +11 -22
  14. package/dist/backToTop/index.mjs.map +1 -1
  15. package/dist/blocks/auth/index.js +40 -36
  16. package/dist/blocks/auth/index.mjs +33 -18
  17. package/dist/blocks/feedback/index.js +27 -30
  18. package/dist/blocks/feedback/index.mjs +5 -5
  19. package/dist/blocks/index.js +64 -52
  20. package/dist/blocks/index.mjs +2 -2
  21. package/dist/blocks/misc/index.js +11 -22
  22. package/dist/blocks/misc/index.mjs +5 -5
  23. package/dist/blocks/pricing/index.js +27 -30
  24. package/dist/blocks/pricing/index.mjs +4 -4
  25. package/dist/button/index.d.mts +1 -1
  26. package/dist/button/index.d.ts +1 -1
  27. package/dist/button/index.js +11 -22
  28. package/dist/button/index.js.map +1 -1
  29. package/dist/button/index.mjs +11 -22
  30. package/dist/button/index.mjs.map +1 -1
  31. package/dist/calendar/index.js +12 -23
  32. package/dist/calendar/index.js.map +1 -1
  33. package/dist/calendar/index.mjs +12 -23
  34. package/dist/calendar/index.mjs.map +1 -1
  35. package/dist/{chunk-RPJYSE6Y.mjs → chunk-3B7UZCET.mjs} +11 -22
  36. package/dist/{chunk-ZPNZUWM5.mjs → chunk-6LI35F6L.mjs} +11 -22
  37. package/dist/{chunk-PORTGNAK.mjs → chunk-DYYINLRJ.mjs} +1 -1
  38. package/dist/{chunk-WJ6XCEUI.mjs → chunk-FIUKVRL5.mjs} +1 -1
  39. package/dist/{chunk-VWJIORNH.mjs → chunk-FUYMZP4J.mjs} +1 -1
  40. package/dist/{chunk-P7TMXOPP.mjs → chunk-JDCQLGWW.mjs} +1 -1
  41. package/dist/{chunk-QBPDB7E2.mjs → chunk-JKZQWCAQ.mjs} +1 -1
  42. package/dist/{chunk-3MJGVWY2.mjs → chunk-MEXJAHQV.mjs} +55 -32
  43. package/dist/{chunk-QDZMNVKS.mjs → chunk-OE6XZ6LW.mjs} +17 -9
  44. package/dist/{chunk-ZWQWYHT4.mjs → chunk-XC6FSDW7.mjs} +1 -1
  45. package/dist/codeBlock/index.js +11 -22
  46. package/dist/codeBlock/index.js.map +1 -1
  47. package/dist/codeBlock/index.mjs +11 -22
  48. package/dist/codeBlock/index.mjs.map +1 -1
  49. package/dist/colorPicker/index.js +11 -22
  50. package/dist/colorPicker/index.js.map +1 -1
  51. package/dist/colorPicker/index.mjs +11 -22
  52. package/dist/colorPicker/index.mjs.map +1 -1
  53. package/dist/combobox/index.js +11 -22
  54. package/dist/combobox/index.js.map +1 -1
  55. package/dist/combobox/index.mjs +11 -22
  56. package/dist/combobox/index.mjs.map +1 -1
  57. package/dist/dataTable/index.js +11 -22
  58. package/dist/dataTable/index.js.map +1 -1
  59. package/dist/dataTable/index.mjs +11 -22
  60. package/dist/dataTable/index.mjs.map +1 -1
  61. package/dist/datePicker/index.d.mts +1 -1
  62. package/dist/datePicker/index.d.ts +1 -1
  63. package/dist/datePicker/index.js +22 -24
  64. package/dist/datePicker/index.js.map +1 -1
  65. package/dist/datePicker/index.mjs +22 -24
  66. package/dist/datePicker/index.mjs.map +1 -1
  67. package/dist/docsLayout/index.js +11 -22
  68. package/dist/docsLayout/index.js.map +1 -1
  69. package/dist/docsLayout/index.mjs +11 -22
  70. package/dist/docsLayout/index.mjs.map +1 -1
  71. package/dist/elements/index.d.mts +10 -2
  72. package/dist/elements/index.d.ts +10 -2
  73. package/dist/elements/index.js +65 -53
  74. package/dist/elements/index.mjs +3 -3
  75. package/dist/fileDropzone/index.js +40 -36
  76. package/dist/fileDropzone/index.js.map +1 -1
  77. package/dist/fileDropzone/index.mjs +40 -36
  78. package/dist/fileDropzone/index.mjs.map +1 -1
  79. package/dist/index.d.mts +9 -1
  80. package/dist/index.d.ts +9 -1
  81. package/dist/index.js +67 -55
  82. package/dist/index.mjs +67 -55
  83. package/dist/input/index.js +11 -22
  84. package/dist/input/index.js.map +1 -1
  85. package/dist/input/index.mjs +11 -22
  86. package/dist/input/index.mjs.map +1 -1
  87. package/dist/interfaceSettings/index.js +27 -30
  88. package/dist/interfaceSettings/index.js.map +1 -1
  89. package/dist/interfaceSettings/index.mjs +27 -30
  90. package/dist/interfaceSettings/index.mjs.map +1 -1
  91. package/dist/layout/index.js +11 -22
  92. package/dist/layout/index.mjs +2 -2
  93. package/dist/passwordInput/index.js +11 -22
  94. package/dist/passwordInput/index.js.map +1 -1
  95. package/dist/passwordInput/index.mjs +11 -22
  96. package/dist/passwordInput/index.mjs.map +1 -1
  97. package/dist/phoneInput/index.js +11 -22
  98. package/dist/phoneInput/index.js.map +1 -1
  99. package/dist/phoneInput/index.mjs +11 -22
  100. package/dist/phoneInput/index.mjs.map +1 -1
  101. package/dist/pinInput/index.js +11 -22
  102. package/dist/pinInput/index.js.map +1 -1
  103. package/dist/pinInput/index.mjs +11 -22
  104. package/dist/pinInput/index.mjs.map +1 -1
  105. package/dist/radio/index.js +27 -30
  106. package/dist/radio/index.js.map +1 -1
  107. package/dist/radio/index.mjs +27 -30
  108. package/dist/radio/index.mjs.map +1 -1
  109. package/dist/select/index.js +11 -22
  110. package/dist/select/index.js.map +1 -1
  111. package/dist/select/index.mjs +11 -22
  112. package/dist/select/index.mjs.map +1 -1
  113. package/dist/sortButton/index.js +11 -22
  114. package/dist/sortButton/index.js.map +1 -1
  115. package/dist/sortButton/index.mjs +11 -22
  116. package/dist/sortButton/index.mjs.map +1 -1
  117. package/dist/splitButton/index.d.mts +1 -1
  118. package/dist/splitButton/index.d.ts +1 -1
  119. package/dist/splitButton/index.js +11 -22
  120. package/dist/splitButton/index.js.map +1 -1
  121. package/dist/splitButton/index.mjs +11 -22
  122. package/dist/splitButton/index.mjs.map +1 -1
  123. package/dist/textarea/index.js +11 -22
  124. package/dist/textarea/index.js.map +1 -1
  125. package/dist/textarea/index.mjs +11 -22
  126. package/dist/textarea/index.mjs.map +1 -1
  127. package/package.json +1 -1
@@ -9,7 +9,7 @@ import {
9
9
  Label,
10
10
  Skeleton,
11
11
  cn
12
- } from "./chunk-RPJYSE6Y.mjs";
12
+ } from "./chunk-3B7UZCET.mjs";
13
13
 
14
14
  // elements/alert/Alert.tsx
15
15
  import React, { useRef, useState, useEffect } from "react";
@@ -18,7 +18,7 @@ var Alert = ({
18
18
  severity = "none",
19
19
  duration,
20
20
  icon,
21
- className,
21
+ classNames,
22
22
  ...props
23
23
  }) => {
24
24
  const alertRef = useRef(null);
@@ -69,21 +69,25 @@ var Alert = ({
69
69
  "hawa-relative hawa-mb-4 hawa-flex hawa-flex-col hawa-rounded hawa-p-4 hawa-text-sm hawa-transition-all",
70
70
  styleVariant[severity],
71
71
  closed ? "hawa-opacity-0" : "hawa-opacity-100",
72
- className
72
+ classNames == null ? void 0 : classNames.root
73
73
  )
74
74
  },
75
75
  /* @__PURE__ */ React.createElement("div", { className: "hawa-flex hawa-flex-row" }, icon && /* @__PURE__ */ React.createElement(
76
76
  "div",
77
77
  {
78
- className: direction === "rtl" ? "hawa-pl-2 hawa-pt-1" : "hawa-pr-2 hawa-pt-1"
78
+ className: cn(
79
+ direction === "rtl" ? "hawa-pl-2 hawa-pt-1" : "hawa-pr-2 hawa-pt-1",
80
+ classNames == null ? void 0 : classNames.icon
81
+ )
79
82
  },
80
83
  icon
81
- ), /* @__PURE__ */ React.createElement("div", { className: "hawa-flex hawa-flex-col" }, /* @__PURE__ */ React.createElement(
84
+ ), /* @__PURE__ */ React.createElement("div", { className: cn("hawa-flex hawa-flex-col", classNames == null ? void 0 : classNames.content) }, /* @__PURE__ */ React.createElement(
82
85
  "span",
83
86
  {
84
87
  className: cn(
85
88
  "hawa-font-bold",
86
- direction === "rtl" ? "hawa-ml-8" : "hawa-mr-8"
89
+ direction === "rtl" ? "hawa-ml-8" : "hawa-mr-8",
90
+ classNames == null ? void 0 : classNames.title
87
91
  )
88
92
  },
89
93
  props.title
@@ -92,19 +96,29 @@ var Alert = ({
92
96
  {
93
97
  className: cn(
94
98
  direction === "rtl" ? "hawa-ml-8" : "hawa-mr-8",
95
- props.persistent ? "hawa-w-full" : "hawa-w-[calc(100% - 40px)]"
99
+ props.persistent ? "hawa-w-full" : "hawa-w-[calc(100% - 40px)]",
100
+ classNames == null ? void 0 : classNames.text
96
101
  )
97
102
  },
98
103
  props.text
99
- ), props.actions && /* @__PURE__ */ React.createElement("div", { className: "hawa-mt-2 hawa-flex hawa-flex-row hawa-gap-2" }, props.actions.map((act, index) => /* @__PURE__ */ React.createElement(
100
- Button,
104
+ ), props.actions && /* @__PURE__ */ React.createElement(
105
+ "div",
101
106
  {
102
- key: index,
103
- variant: act.variant,
104
- onClick: act.onClick()
107
+ className: cn(
108
+ "hawa-mt-2 hawa-flex hawa-flex-row hawa-gap-2",
109
+ classNames == null ? void 0 : classNames.actions
110
+ )
105
111
  },
106
- act.label
107
- ))))),
112
+ props.actions.map((act, index) => /* @__PURE__ */ React.createElement(
113
+ Button,
114
+ {
115
+ key: index,
116
+ variant: act.variant,
117
+ onClick: act.onClick()
118
+ },
119
+ act.label
120
+ ))
121
+ ))),
108
122
  !props.persistent && /* @__PURE__ */ React.createElement(
109
123
  "button",
110
124
  {
@@ -114,7 +128,8 @@ var Alert = ({
114
128
  className: cn(
115
129
  "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-transition-all hover:hawa-text-gray-900",
116
130
  closeButtonStyle[severity],
117
- direction === "rtl" ? "hawa-left-2" : "hawa-right-2"
131
+ direction === "rtl" ? "hawa-left-2" : "hawa-right-2",
132
+ classNames == null ? void 0 : classNames.closeButton
118
133
  ),
119
134
  onClick: () => {
120
135
  if (props.onAlertClosed) {
@@ -2600,6 +2615,7 @@ var PopoverRoot = PopoverPrimitive.Root;
2600
2615
 
2601
2616
  // elements/radio/Radio.tsx
2602
2617
  import React9, { useState as useState3, useRef as useRef3, useEffect as useEffect3, forwardRef as forwardRef7 } from "react";
2618
+ import { TabsList, TabsTrigger, Tabs } from "@radix-ui/react-tabs";
2603
2619
  var Radio = forwardRef7(
2604
2620
  ({
2605
2621
  design = "default",
@@ -2676,9 +2692,10 @@ var Radio = forwardRef7(
2676
2692
  )
2677
2693
  },
2678
2694
  props.label && /* @__PURE__ */ React9.createElement(Label, { ...labelProps }, props.label),
2679
- /* @__PURE__ */ React9.createElement(
2680
- "ul",
2695
+ /* @__PURE__ */ React9.createElement(Tabs, null, /* @__PURE__ */ React9.createElement(
2696
+ TabsList,
2681
2697
  {
2698
+ role: "tablist",
2682
2699
  ref: parentRef,
2683
2700
  className: cn(
2684
2701
  props.options && ((_a = props.options) == null ? void 0 : _a.length) > 2 ? "hawa-flex-wrap xs:hawa-max-w-full xs:hawa-flex-nowrap" : "",
@@ -2704,9 +2721,12 @@ var Radio = forwardRef7(
2704
2721
  asChild: true
2705
2722
  },
2706
2723
  /* @__PURE__ */ React9.createElement(
2707
- "li",
2724
+ TabsTrigger,
2708
2725
  {
2709
- "aria-current": "page",
2726
+ "aria-current": selectedOption === opt.value ? "page" : void 0,
2727
+ value: opt.value,
2728
+ role: "tab",
2729
+ tabIndex: 0,
2710
2730
  onClick: () => {
2711
2731
  if (props.disabled || opt.disabled) return;
2712
2732
  handleChange(opt);
@@ -2722,10 +2742,12 @@ var Radio = forwardRef7(
2722
2742
  ),
2723
2743
  /* @__PURE__ */ React9.createElement(PopoverContent, { ...opt.tooltipContentProps }, opt.tooltip)
2724
2744
  ) : /* @__PURE__ */ React9.createElement(
2725
- "li",
2745
+ TabsTrigger,
2726
2746
  {
2727
2747
  key: o,
2728
- "aria-current": "page",
2748
+ role: "tab",
2749
+ tabIndex: 0,
2750
+ "aria-current": selectedOption === opt.value ? "page" : void 0,
2729
2751
  onClick: () => {
2730
2752
  if (props.disabled || opt.disabled) return;
2731
2753
  handleChange(opt);
@@ -2733,13 +2755,14 @@ var Radio = forwardRef7(
2733
2755
  className: cn(
2734
2756
  ...radio_option_tabs_styling,
2735
2757
  selectedOption === opt.value ? activeTabStyle : inactiveTabStyle
2736
- )
2758
+ ),
2759
+ value: opt.value
2737
2760
  },
2738
2761
  opt.icon && opt.icon,
2739
2762
  opt.label
2740
2763
  );
2741
2764
  })
2742
- ),
2765
+ )),
2743
2766
  !forceHideHelperText && /* @__PURE__ */ React9.createElement(HelperText, { helperText: props.helperText })
2744
2767
  );
2745
2768
  case "bordered":
@@ -3101,7 +3124,7 @@ var tabsTriggerVariant = tv({
3101
3124
  defaultVariants: { variant: "default", orientation: "horizontal" }
3102
3125
  });
3103
3126
  var TabsContext = React12.createContext({ orientation: "horizontal", variant: "default", scrollable: false });
3104
- var Tabs = React12.forwardRef(
3127
+ var Tabs2 = React12.forwardRef(
3105
3128
  ({ className, orientation, scrollable, variant = "default", ...props }, ref) => /* @__PURE__ */ React12.createElement(
3106
3129
  TabsPrimitive.Root,
3107
3130
  {
@@ -3116,7 +3139,7 @@ var Tabs = React12.forwardRef(
3116
3139
  /* @__PURE__ */ React12.createElement(TabsContext.Provider, { value: { orientation, variant, scrollable } }, props.children)
3117
3140
  )
3118
3141
  );
3119
- var TabsList = React12.forwardRef(({ className, classNames, ...props }, ref) => {
3142
+ var TabsList2 = React12.forwardRef(({ className, classNames, ...props }, ref) => {
3120
3143
  const { orientation, variant, scrollable } = React12.useContext(TabsContext);
3121
3144
  const { width } = useViewportSize();
3122
3145
  if (scrollable && width < 768 && orientation === "horizontal") {
@@ -3148,7 +3171,7 @@ var TabsList = React12.forwardRef(({ className, classNames, ...props }, ref) =>
3148
3171
  );
3149
3172
  }
3150
3173
  });
3151
- var TabsTrigger = React12.forwardRef(
3174
+ var TabsTrigger2 = React12.forwardRef(
3152
3175
  ({ className, chipProps, withPopover = false, onPopoverClick, ...props }, ref) => {
3153
3176
  const { orientation, variant } = React12.useContext(TabsContext);
3154
3177
  if (withPopover) {
@@ -3204,9 +3227,9 @@ var TabsContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PUR
3204
3227
  ...props
3205
3228
  }
3206
3229
  ));
3207
- Tabs.displayName = TabsPrimitive.Root.displayName;
3208
- TabsList.displayName = TabsPrimitive.List.displayName;
3209
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
3230
+ Tabs2.displayName = TabsPrimitive.Root.displayName;
3231
+ TabsList2.displayName = TabsPrimitive.List.displayName;
3232
+ TabsTrigger2.displayName = TabsPrimitive.Trigger.displayName;
3210
3233
  TabsContent.displayName = TabsPrimitive.Content.displayName;
3211
3234
 
3212
3235
  // elements/separator/Separator.tsx
@@ -3271,9 +3294,9 @@ export {
3271
3294
  Textarea,
3272
3295
  ScrollArea,
3273
3296
  ScrollBar,
3274
- Tabs,
3275
- TabsList,
3276
- TabsTrigger,
3297
+ Tabs2 as Tabs,
3298
+ TabsList2 as TabsList,
3299
+ TabsTrigger2 as TabsTrigger,
3277
3300
  TabsContent,
3278
3301
  Separator,
3279
3302
  Progress
@@ -3,7 +3,7 @@ import {
3
3
  HelperText,
4
4
  Label,
5
5
  cn
6
- } from "./chunk-ZPNZUWM5.mjs";
6
+ } from "./chunk-6LI35F6L.mjs";
7
7
 
8
8
  // elements/popover/Popover.tsx
9
9
  import * as React from "react";
@@ -72,6 +72,7 @@ var PopoverRoot = PopoverPrimitive.Root;
72
72
 
73
73
  // elements/radio/Radio.tsx
74
74
  import React2, { useState, useRef, useEffect, forwardRef as forwardRef2 } from "react";
75
+ import { TabsList, TabsTrigger, Tabs } from "@radix-ui/react-tabs";
75
76
  var Radio = forwardRef2(
76
77
  ({
77
78
  design = "default",
@@ -148,9 +149,10 @@ var Radio = forwardRef2(
148
149
  )
149
150
  },
150
151
  props.label && /* @__PURE__ */ React2.createElement(Label, { ...labelProps }, props.label),
151
- /* @__PURE__ */ React2.createElement(
152
- "ul",
152
+ /* @__PURE__ */ React2.createElement(Tabs, null, /* @__PURE__ */ React2.createElement(
153
+ TabsList,
153
154
  {
155
+ role: "tablist",
154
156
  ref: parentRef,
155
157
  className: cn(
156
158
  props.options && ((_a = props.options) == null ? void 0 : _a.length) > 2 ? "hawa-flex-wrap xs:hawa-max-w-full xs:hawa-flex-nowrap" : "",
@@ -176,9 +178,12 @@ var Radio = forwardRef2(
176
178
  asChild: true
177
179
  },
178
180
  /* @__PURE__ */ React2.createElement(
179
- "li",
181
+ TabsTrigger,
180
182
  {
181
- "aria-current": "page",
183
+ "aria-current": selectedOption === opt.value ? "page" : void 0,
184
+ value: opt.value,
185
+ role: "tab",
186
+ tabIndex: 0,
182
187
  onClick: () => {
183
188
  if (props.disabled || opt.disabled) return;
184
189
  handleChange(opt);
@@ -194,10 +199,12 @@ var Radio = forwardRef2(
194
199
  ),
195
200
  /* @__PURE__ */ React2.createElement(PopoverContent, { ...opt.tooltipContentProps }, opt.tooltip)
196
201
  ) : /* @__PURE__ */ React2.createElement(
197
- "li",
202
+ TabsTrigger,
198
203
  {
199
204
  key: o,
200
- "aria-current": "page",
205
+ role: "tab",
206
+ tabIndex: 0,
207
+ "aria-current": selectedOption === opt.value ? "page" : void 0,
201
208
  onClick: () => {
202
209
  if (props.disabled || opt.disabled) return;
203
210
  handleChange(opt);
@@ -205,13 +212,14 @@ var Radio = forwardRef2(
205
212
  className: cn(
206
213
  ...radio_option_tabs_styling,
207
214
  selectedOption === opt.value ? activeTabStyle : inactiveTabStyle
208
- )
215
+ ),
216
+ value: opt.value
209
217
  },
210
218
  opt.icon && opt.icon,
211
219
  opt.label
212
220
  );
213
221
  })
214
- ),
222
+ )),
215
223
  !forceHideHelperText && /* @__PURE__ */ React2.createElement(HelperText, { helperText: props.helperText })
216
224
  );
217
225
  case "bordered":
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  cn
4
- } from "./chunk-RPJYSE6Y.mjs";
4
+ } from "./chunk-3B7UZCET.mjs";
5
5
 
6
6
  // elements/sheet/Sheet.tsx
7
7
  import * as React from "react";
@@ -81,28 +81,17 @@ var import_class_variance_authority = require("class-variance-authority");
81
81
  // elements/helperText/HelperText.tsx
82
82
  var import_react2 = __toESM(require("react"));
83
83
  var HelperText = ({
84
- helperText,
85
- size = "xs"
86
- }) => {
87
- let sizes = {
88
- xs: "hawa-text-xs hawa-h-4",
89
- sm: "hawa-text-sm",
90
- md: "hawa-text-md",
91
- lg: "hawa-text-lg",
92
- xl: "hawa-text-xl"
93
- };
94
- return /* @__PURE__ */ import_react2.default.createElement(
95
- "p",
96
- {
97
- className: cn(
98
- "hawa-my-0 hawa-text-start hawa-text-helper-color hawa-transition-all",
99
- helperText ? "hawa-opacity-100" : "hawa-h-0 hawa-opacity-0",
100
- sizes[size]
101
- )
102
- },
103
- helperText
104
- );
105
- };
84
+ helperText
85
+ }) => /* @__PURE__ */ import_react2.default.createElement(
86
+ "p",
87
+ {
88
+ className: cn(
89
+ "hawa-my-0 hawa-text-start hawa-text-helper-color hawa-transition-all hawa-text-xs",
90
+ helperText ? "hawa-opacity-100 hawa-h-4" : "hawa-h-0 hawa-opacity-0"
91
+ )
92
+ },
93
+ helperText
94
+ );
106
95
 
107
96
  // elements/label/Label.tsx
108
97
  var React3 = __toESM(require("react"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/codeBlock/index.ts","../../elements/codeBlock/CodeBlock.tsx","../../util/index.ts","../../hooks/useClipboard.ts","../../elements/button/Button.tsx","../../elements/helperText/HelperText.tsx","../../elements/label/Label.tsx","../../elements/tooltip/Tooltip.tsx","../../elements/loading/Loading.tsx"],"sourcesContent":["export * from \"./CodeBlock\";\n","import React, { FC, useState } from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { Highlight, HighlightProps, themes, Prism } from \"prism-react-renderer\";\n\nimport { useClipboard } from \"../../hooks/useClipboard\";\nimport { Button } from \"../button\";\nimport { ScrollArea } from \"../scrollArea\";\nimport { Tooltip } from \"../tooltip\";\n\n(typeof global !== \"undefined\" ? global : window).Prism = Prism;\nrequire(\"prismjs/components/prism-bash\");\n\ntype CodeBlockTypesBase = {\n /** Specifies the programming language for syntax highlighting.*/\n language?: HighlightProps[\"language\"];\n /** Defines the width of the code block.*/\n width?: \"full\" | \"md\" | \"sm\";\n /** Name of the file being displayed. */\n fileName?: string;\n /** line numbers for code block */\n lineNumbers?: boolean;\n /** Wrap text in code block */\n wrapText?: boolean;\n /** Custom class names for the code block */\n classNames?: {\n root?: string;\n tabs?: string;\n tab?: string;\n code?: string;\n fileName?: string;\n codeBlockContainer?: string;\n };\n};\n\n/**\n * Type for when tabs are provided. In this case, the code property is optional.\n * Do not provide the \"code\" prop if \"tabs\" exists.\n */\ntype CodeBlockTypesWithTabs = CodeBlockTypesBase & {\n /** Array of tabs each containing a title and code content.*/\n tabs: { title: string; code: string }[];\n /** Code content to be displayed within the code block.*/\n code?: string;\n};\n\n/**\n * Type for when tabs are not provided. In this case, the code property is required.\n * You must provide the \"code\" prop if \"tabs\" does not exist.\n */\ntype CodeBlockTypesWithoutTabs = CodeBlockTypesBase & {\n /** Array of tabs each containing a title and code content.*/\n tabs?: never;\n /** Code content to be displayed within the code block.*/\n code: string;\n};\n\n/**\n * Either provide \"tabs\" prop (in which case \"code\" is optional),\n * or do not provide \"tabs\" (in which case \"code\" is required).\n */\ntype CodeBlockTypes = CodeBlockTypesWithTabs | CodeBlockTypesWithoutTabs;\n\nconst CopyIcon = () => (\n <svg\n aria-label=\"Copy\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n height=\"1em\"\n width=\"1em\"\n >\n <rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"></rect>\n <path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"></path>\n </svg>\n);\nexport const CodeBlock: FC<CodeBlockTypes> = ({\n tabs,\n code,\n fileName,\n classNames,\n language = \"javascript\", // default to JavaScript if no language is provided\n wrapText = true,\n width = \"full\",\n ...props\n}) => {\n const clipboard = useClipboard();\n const [selectedTab, setSelectedTab] = useState(0);\n const theme = themes.oceanicNext;\n\n let widthStyles = {\n full: \"hawa-w-full\",\n md: \"hawa-w-full hawa-max-w-md\",\n sm: \"hawa-w-full hawa-max-w-sm\",\n xs: \"hawa-w-full hawa-max-w-xs\",\n };\n\n return (\n <div\n className={cn(\n widthStyles[width],\n \"hawa-w-full hawa-flex-col hawa-relative hawa-items-center hawa-rounded hawa-bg-background hawa-text-left hawa-my-2 hawa-text-white sm:hawa-text-base\",\n classNames?.root,\n )}\n >\n {fileName && (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-2 hawa-py-0.5 hawa-pb-0 hawa-font-mono hawa-text-foreground\",\n fileName && tabs ? \"hawa-bg-primary/10\" : \"hawa-bg-primary/15\",\n classNames?.fileName,\n )}\n >\n <div\n className={cn(\n \"hawa-font-mono hawa-w-full hawa-max-w-[52px] hawa-rounded-inner hawa-p-1 hawa-py-0.5 hawa-text-center hawa-text-[0.75rem]\",\n )}\n >\n {fileName}\n </div>\n </div>\n )}\n {tabs && (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-1 hawa-bg-primary/15 hawa-pb-0 hawa-font-mono hawa-text-foreground\",\n tabs && fileName && \"hawa-rounded-t-none\",\n classNames?.tabs,\n )}\n >\n {tabs.map((tab, i) => (\n <div\n key={i}\n className={cn(\n selectedTab === i\n ? \"hawa-border-b-2 hawa-border-primary\"\n : \"hawa-bg-transparent\",\n classNames?.tab,\n )}\n >\n <div\n onClick={() => setSelectedTab(i)}\n className={cn(\n \"hawa-mb-0.5 hawa-w-full hawa-max-w-[52px] hawa-cursor-pointer hawa-rounded-inner hawa-p-2 hawa-py-0.5 hawa-text-center hawa-text-[0.7rem] hawa-transition-all hover:hawa-bg-muted-foreground/20\",\n )}\n >\n {tab.title}\n </div>\n </div>\n ))}\n </div>\n )}\n\n <div\n className={cn(\n \"hawa-flex hawa-w-full hawa-relative hawa-flex-row hawa-items-start hawa-justify-between hawa-border hawa-bg-gray-800 hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base\",\n tabs || fileName\n ? \"hawa-rounded-b hawa-rounded-t-none\"\n : \"hawa-rounded\",\n classNames?.codeBlockContainer,\n \"hawa-overflow-y-auto\",\n )}\n >\n <div\n className={cn(\n \"hawa-flex hawa-absolute hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2 hawa-z-50 hawa-right-3 hawa-top-3\",\n )}\n >\n <Tooltip\n open={clipboard.copied}\n side=\"left\"\n content={<div>Copied!</div>}\n triggerProps={{ asChild: true }}\n >\n <Button\n size=\"smallIcon\"\n onClick={() =>\n clipboard.copy(tabs ? tabs[selectedTab].code : code)\n }\n variant=\"outline\"\n className=\"hawa-text-gray-200 hawa-opacity-50 dark:hawa-border-gray-200 dark:hover:hawa-border-gray-400\"\n >\n <CopyIcon />\n </Button>\n </Tooltip>\n </div>\n <Highlight\n theme={theme}\n code={tabs ? tabs[selectedTab].code : code || \"\"}\n language={language}\n >\n {({ tokens, getLineProps, getTokenProps }) => (\n <pre\n className={cn(\n // !hawa-pe-12\n \"hawa-min-h-[37.75px] hawa-w-full hawa-p-4 hawa-font-mono hawa-text-foreground\",\n classNames?.code,\n wrapText && \"hawa-text-wrap\",\n )}\n >\n {tokens.map((line, i) => (\n <div key={i} {...getLineProps({ line })}>\n {props.lineNumbers && (\n <span className=\"hawa-mr-4\">{i + 1}</span>\n )}\n {line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))}\n </div>\n ))}\n </pre>\n )}\n </Highlight>\n </div>\n </div>\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 { useState } from \"react\";\n\nexport function useClipboard({ timeout = 2000 } = {}): {\n copy: (value: any) => void;\n reset: () => void;\n error: Error | null;\n copied: boolean;\n} {\n const [error, setError] = useState<Error | null>(null);\n const [copied, setCopied] = useState<boolean>(false);\n const [copyTimeout, setCopyTimeout] = useState<NodeJS.Timeout | null>(null);\n\n const handleCopyResult = (value: boolean) => {\n clearTimeout(copyTimeout as NodeJS.Timeout | undefined);\n setCopyTimeout(setTimeout(() => setCopied(false), timeout));\n setCopied(value);\n };\n\n const copy = (valueToCopy: any) => {\n if (\"clipboard\" in navigator) {\n navigator.clipboard\n .writeText(valueToCopy)\n .then(() => handleCopyResult(true))\n .catch((err) => setError(err));\n } else {\n setError(new Error(\"useClipboard: navigator.clipboard is not supported\"));\n }\n };\n\n const reset = () => {\n setCopied(false);\n setError(null);\n clearTimeout(copyTimeout as NodeJS.Timeout | undefined);\n };\n\n return { copy, reset, error, copied };\n}\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { HelperText } from \"../helperText\";\nimport { Label, LabelProps } from \"../label\";\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: { variant: \"default\", size: \"default\" },\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 label?: string;\n labelProps?: LabelProps;\n /** The small red text under the input field to show validation. */\n helperText?: any;\n showHelperText?: boolean;\n /**\n * If true, the button will include a label and helper text. This is useful for forms where the button is part of the form.\n */\n asInput?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n label,\n variant,\n size,\n asChild = false,\n centered = true,\n isLoading,\n children,\n labelProps,\n showHelperText = false,\n asInput = false,\n ...props\n },\n ref,\n ) => {\n const Comp = \"button\";\n\n // Determine the color for the Loading 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 if (asInput) {\n return (\n <div className=\"hawa-flex hawa-flex-col hawa-gap-2\">\n {label && <Label {...labelProps}>{label}</Label>}\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\"\n ? \"spinner\"\n : \"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 {showHelperText && <HelperText helperText={props.helperText} />}\n </div>\n );\n } else {\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\"\n ? \"spinner\"\n : \"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);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const HelperText = ({\n helperText,\n size = \"xs\",\n}: {\n helperText?: any;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n}) => {\n let sizes = {\n xs: \"hawa-text-xs hawa-h-4\",\n sm: \"hawa-text-sm\",\n md: \"hawa-text-md\",\n lg: \"hawa-text-lg\",\n xl: \"hawa-text-xl\",\n };\n\n return (\n <p\n className={cn(\n \"hawa-my-0 hawa-text-start hawa-text-helper-color hawa-transition-all\",\n helperText ? \"hawa-opacity-100\" : \"hawa-h-0 hawa-opacity-0\",\n sizes[size],\n )}\n >\n {helperText}\n </p>\n );\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nimport { Tooltip } from \"../tooltip\";\n\nexport type LabelProps = {\n hint?: React.ReactNode;\n hintSide?: PositionType;\n htmlFor?: string;\n required?: boolean;\n};\n\nconst Label = React.forwardRef<\n HTMLLabelElement,\n React.LabelHTMLAttributes<HTMLLabelElement> & LabelProps\n>(({ className, hint, hintSide, required, children, ...props }, ref) => (\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all\">\n <label\n ref={ref}\n className={cn(\n \"hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70\",\n className,\n )}\n {...props}\n >\n {children}\n {required && <span className=\"hawa-mx-0.5 hawa-text-red-500\">*</span>}\n </label>\n {hint && (\n <Tooltip\n content={hint}\n side={hintSide}\n triggerProps={{\n tabIndex: -1,\n onClick: (event) => event.preventDefault(),\n }}\n >\n <div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"hawa-h-[14px] hawa-w-[14px] hawa-cursor-help\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\" />\n <path d=\"M12 17h.01\" />\n </svg>\n </div>\n </Tooltip>\n )}\n </div>\n));\n\nLabel.displayName = \"Label\";\n\nexport { Label };\n","import React from \"react\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {\n size?: \"default\" | \"small\" | \"large\";\n }\n>(({ className, sideOffset = 4, size = \"default\", ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"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\",\n {\n \"hawa-text-xs\": size === \"small\",\n \"hawa-text-xl\": size === \"large\",\n },\n className,\n )}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>\n>(({ className, ...props }, ref) => (\n <TooltipPrimitive.Arrow ref={ref} className={cn(className)} {...props} />\n));\nTooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;\n\ntype TooltipTypes = {\n /** Controls the open state of the tooltip. */\n open?: any;\n /** Specifies the side where the tooltip will appear. */\n side?: PositionType;\n /** Content to be displayed within the tooltip. */\n content?: any;\n /** Elements to which the tooltip is anchored. */\n children?: any;\n /** Sets the default open state of the tooltip. */\n defaultOpen?: any;\n /** Event handler for open state changes. */\n onOpenChange?: any;\n /** Duration of the delay before the tooltip appears. */\n delayDuration?: any;\n /** Size of the tooltip. */\n size?: \"default\" | \"small\" | \"large\";\n /** Disables the tooltip. */\n disabled?: boolean;\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n contentProps?: TooltipPrimitive.TooltipContentProps;\n providerProps?: TooltipPrimitive.TooltipProps;\n};\n\nconst Tooltip: React.FunctionComponent<TooltipTypes> = ({\n side,\n size,\n open,\n content,\n children,\n disabled,\n defaultOpen,\n onOpenChange,\n triggerProps,\n contentProps,\n providerProps,\n delayDuration = 300,\n ...props\n}) => {\n return (\n <TooltipPrimitive.TooltipProvider\n delayDuration={delayDuration}\n {...providerProps}\n >\n <TooltipPrimitive.Root\n open={!disabled && open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n {...props}\n >\n <TooltipPrimitive.Trigger {...triggerProps}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipContent\n size={size}\n side={side}\n align=\"center\"\n {...contentProps}\n style={{\n ...contentProps?.style,\n maxWidth: \"var(--radix-tooltip-content-available-width)\",\n maxHeight: \"var(--radix-tooltip-content-available-height)\",\n }}\n >\n {content}\n </TooltipContent>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.TooltipProvider>\n );\n};\n\nexport { Tooltip };\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","import_react","React","React","import_react","React","import_react","React","React"]}
1
+ {"version":3,"sources":["../../elements/codeBlock/index.ts","../../elements/codeBlock/CodeBlock.tsx","../../util/index.ts","../../hooks/useClipboard.ts","../../elements/button/Button.tsx","../../elements/helperText/HelperText.tsx","../../elements/label/Label.tsx","../../elements/tooltip/Tooltip.tsx","../../elements/loading/Loading.tsx"],"sourcesContent":["export * from \"./CodeBlock\";\n","import React, { FC, useState } from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { Highlight, HighlightProps, themes, Prism } from \"prism-react-renderer\";\n\nimport { useClipboard } from \"../../hooks/useClipboard\";\nimport { Button } from \"../button\";\nimport { ScrollArea } from \"../scrollArea\";\nimport { Tooltip } from \"../tooltip\";\n\n(typeof global !== \"undefined\" ? global : window).Prism = Prism;\nrequire(\"prismjs/components/prism-bash\");\n\ntype CodeBlockTypesBase = {\n /** Specifies the programming language for syntax highlighting.*/\n language?: HighlightProps[\"language\"];\n /** Defines the width of the code block.*/\n width?: \"full\" | \"md\" | \"sm\";\n /** Name of the file being displayed. */\n fileName?: string;\n /** line numbers for code block */\n lineNumbers?: boolean;\n /** Wrap text in code block */\n wrapText?: boolean;\n /** Custom class names for the code block */\n classNames?: {\n root?: string;\n tabs?: string;\n tab?: string;\n code?: string;\n fileName?: string;\n codeBlockContainer?: string;\n };\n};\n\n/**\n * Type for when tabs are provided. In this case, the code property is optional.\n * Do not provide the \"code\" prop if \"tabs\" exists.\n */\ntype CodeBlockTypesWithTabs = CodeBlockTypesBase & {\n /** Array of tabs each containing a title and code content.*/\n tabs: { title: string; code: string }[];\n /** Code content to be displayed within the code block.*/\n code?: string;\n};\n\n/**\n * Type for when tabs are not provided. In this case, the code property is required.\n * You must provide the \"code\" prop if \"tabs\" does not exist.\n */\ntype CodeBlockTypesWithoutTabs = CodeBlockTypesBase & {\n /** Array of tabs each containing a title and code content.*/\n tabs?: never;\n /** Code content to be displayed within the code block.*/\n code: string;\n};\n\n/**\n * Either provide \"tabs\" prop (in which case \"code\" is optional),\n * or do not provide \"tabs\" (in which case \"code\" is required).\n */\ntype CodeBlockTypes = CodeBlockTypesWithTabs | CodeBlockTypesWithoutTabs;\n\nconst CopyIcon = () => (\n <svg\n aria-label=\"Copy\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n height=\"1em\"\n width=\"1em\"\n >\n <rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"></rect>\n <path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"></path>\n </svg>\n);\nexport const CodeBlock: FC<CodeBlockTypes> = ({\n tabs,\n code,\n fileName,\n classNames,\n language = \"javascript\", // default to JavaScript if no language is provided\n wrapText = true,\n width = \"full\",\n ...props\n}) => {\n const clipboard = useClipboard();\n const [selectedTab, setSelectedTab] = useState(0);\n const theme = themes.oceanicNext;\n\n let widthStyles = {\n full: \"hawa-w-full\",\n md: \"hawa-w-full hawa-max-w-md\",\n sm: \"hawa-w-full hawa-max-w-sm\",\n xs: \"hawa-w-full hawa-max-w-xs\",\n };\n\n return (\n <div\n className={cn(\n widthStyles[width],\n \"hawa-w-full hawa-flex-col hawa-relative hawa-items-center hawa-rounded hawa-bg-background hawa-text-left hawa-my-2 hawa-text-white sm:hawa-text-base\",\n classNames?.root,\n )}\n >\n {fileName && (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-2 hawa-py-0.5 hawa-pb-0 hawa-font-mono hawa-text-foreground\",\n fileName && tabs ? \"hawa-bg-primary/10\" : \"hawa-bg-primary/15\",\n classNames?.fileName,\n )}\n >\n <div\n className={cn(\n \"hawa-font-mono hawa-w-full hawa-max-w-[52px] hawa-rounded-inner hawa-p-1 hawa-py-0.5 hawa-text-center hawa-text-[0.75rem]\",\n )}\n >\n {fileName}\n </div>\n </div>\n )}\n {tabs && (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-1 hawa-bg-primary/15 hawa-pb-0 hawa-font-mono hawa-text-foreground\",\n tabs && fileName && \"hawa-rounded-t-none\",\n classNames?.tabs,\n )}\n >\n {tabs.map((tab, i) => (\n <div\n key={i}\n className={cn(\n selectedTab === i\n ? \"hawa-border-b-2 hawa-border-primary\"\n : \"hawa-bg-transparent\",\n classNames?.tab,\n )}\n >\n <div\n onClick={() => setSelectedTab(i)}\n className={cn(\n \"hawa-mb-0.5 hawa-w-full hawa-max-w-[52px] hawa-cursor-pointer hawa-rounded-inner hawa-p-2 hawa-py-0.5 hawa-text-center hawa-text-[0.7rem] hawa-transition-all hover:hawa-bg-muted-foreground/20\",\n )}\n >\n {tab.title}\n </div>\n </div>\n ))}\n </div>\n )}\n\n <div\n className={cn(\n \"hawa-flex hawa-w-full hawa-relative hawa-flex-row hawa-items-start hawa-justify-between hawa-border hawa-bg-gray-800 hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base\",\n tabs || fileName\n ? \"hawa-rounded-b hawa-rounded-t-none\"\n : \"hawa-rounded\",\n classNames?.codeBlockContainer,\n \"hawa-overflow-y-auto\",\n )}\n >\n <div\n className={cn(\n \"hawa-flex hawa-absolute hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2 hawa-z-50 hawa-right-3 hawa-top-3\",\n )}\n >\n <Tooltip\n open={clipboard.copied}\n side=\"left\"\n content={<div>Copied!</div>}\n triggerProps={{ asChild: true }}\n >\n <Button\n size=\"smallIcon\"\n onClick={() =>\n clipboard.copy(tabs ? tabs[selectedTab].code : code)\n }\n variant=\"outline\"\n className=\"hawa-text-gray-200 hawa-opacity-50 dark:hawa-border-gray-200 dark:hover:hawa-border-gray-400\"\n >\n <CopyIcon />\n </Button>\n </Tooltip>\n </div>\n <Highlight\n theme={theme}\n code={tabs ? tabs[selectedTab].code : code || \"\"}\n language={language}\n >\n {({ tokens, getLineProps, getTokenProps }) => (\n <pre\n className={cn(\n // !hawa-pe-12\n \"hawa-min-h-[37.75px] hawa-w-full hawa-p-4 hawa-font-mono hawa-text-foreground\",\n classNames?.code,\n wrapText && \"hawa-text-wrap\",\n )}\n >\n {tokens.map((line, i) => (\n <div key={i} {...getLineProps({ line })}>\n {props.lineNumbers && (\n <span className=\"hawa-mr-4\">{i + 1}</span>\n )}\n {line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))}\n </div>\n ))}\n </pre>\n )}\n </Highlight>\n </div>\n </div>\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 { useState } from \"react\";\n\nexport function useClipboard({ timeout = 2000 } = {}): {\n copy: (value: any) => void;\n reset: () => void;\n error: Error | null;\n copied: boolean;\n} {\n const [error, setError] = useState<Error | null>(null);\n const [copied, setCopied] = useState<boolean>(false);\n const [copyTimeout, setCopyTimeout] = useState<NodeJS.Timeout | null>(null);\n\n const handleCopyResult = (value: boolean) => {\n clearTimeout(copyTimeout as NodeJS.Timeout | undefined);\n setCopyTimeout(setTimeout(() => setCopied(false), timeout));\n setCopied(value);\n };\n\n const copy = (valueToCopy: any) => {\n if (\"clipboard\" in navigator) {\n navigator.clipboard\n .writeText(valueToCopy)\n .then(() => handleCopyResult(true))\n .catch((err) => setError(err));\n } else {\n setError(new Error(\"useClipboard: navigator.clipboard is not supported\"));\n }\n };\n\n const reset = () => {\n setCopied(false);\n setError(null);\n clearTimeout(copyTimeout as NodeJS.Timeout | undefined);\n };\n\n return { copy, reset, error, copied };\n}\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { HelperText } from \"../helperText\";\nimport { Label, LabelProps } from \"../label\";\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: { variant: \"default\", size: \"default\" },\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 label?: string;\n labelProps?: LabelProps;\n /** The small red text under the input field to show validation. */\n helperText?: any;\n showHelperText?: boolean;\n /**\n * If true, the button will include a label and helper text. This is useful for forms where the button is part of the form.\n */\n asInput?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n label,\n variant,\n size,\n asChild = false,\n centered = true,\n isLoading,\n children,\n labelProps,\n showHelperText = false,\n asInput = false,\n ...props\n },\n ref,\n ) => {\n const Comp = \"button\";\n\n // Determine the color for the Loading 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 if (asInput) {\n return (\n <div className=\"hawa-flex hawa-flex-col hawa-gap-2\">\n {label && <Label {...labelProps}>{label}</Label>}\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\"\n ? \"spinner\"\n : \"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 {showHelperText && <HelperText helperText={props.helperText} />}\n </div>\n );\n } else {\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\"\n ? \"spinner\"\n : \"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);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const HelperText = ({\n helperText,\n}: {\n helperText?: string | React.ReactNode;\n}) => (\n <p\n className={cn(\n \"hawa-my-0 hawa-text-start hawa-text-helper-color hawa-transition-all hawa-text-xs\",\n helperText ? \"hawa-opacity-100 hawa-h-4\" : \"hawa-h-0 hawa-opacity-0\",\n )}\n >\n {helperText}\n </p>\n);\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nimport { Tooltip } from \"../tooltip\";\n\nexport type LabelProps = {\n hint?: React.ReactNode;\n hintSide?: PositionType;\n htmlFor?: string;\n required?: boolean;\n};\n\nconst Label = React.forwardRef<\n HTMLLabelElement,\n React.LabelHTMLAttributes<HTMLLabelElement> & LabelProps\n>(({ className, hint, hintSide, required, children, ...props }, ref) => (\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all\">\n <label\n ref={ref}\n className={cn(\n \"hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70\",\n className,\n )}\n {...props}\n >\n {children}\n {required && <span className=\"hawa-mx-0.5 hawa-text-red-500\">*</span>}\n </label>\n {hint && (\n <Tooltip\n content={hint}\n side={hintSide}\n triggerProps={{\n tabIndex: -1,\n onClick: (event) => event.preventDefault(),\n }}\n >\n <div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"hawa-h-[14px] hawa-w-[14px] hawa-cursor-help\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\" />\n <path d=\"M12 17h.01\" />\n </svg>\n </div>\n </Tooltip>\n )}\n </div>\n));\n\nLabel.displayName = \"Label\";\n\nexport { Label };\n","import React from \"react\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {\n size?: \"default\" | \"small\" | \"large\";\n }\n>(({ className, sideOffset = 4, size = \"default\", ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"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\",\n {\n \"hawa-text-xs\": size === \"small\",\n \"hawa-text-xl\": size === \"large\",\n },\n className,\n )}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>\n>(({ className, ...props }, ref) => (\n <TooltipPrimitive.Arrow ref={ref} className={cn(className)} {...props} />\n));\nTooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;\n\ntype TooltipTypes = {\n /** Controls the open state of the tooltip. */\n open?: any;\n /** Specifies the side where the tooltip will appear. */\n side?: PositionType;\n /** Content to be displayed within the tooltip. */\n content?: any;\n /** Elements to which the tooltip is anchored. */\n children?: any;\n /** Sets the default open state of the tooltip. */\n defaultOpen?: any;\n /** Event handler for open state changes. */\n onOpenChange?: any;\n /** Duration of the delay before the tooltip appears. */\n delayDuration?: any;\n /** Size of the tooltip. */\n size?: \"default\" | \"small\" | \"large\";\n /** Disables the tooltip. */\n disabled?: boolean;\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n contentProps?: TooltipPrimitive.TooltipContentProps;\n providerProps?: TooltipPrimitive.TooltipProps;\n};\n\nconst Tooltip: React.FunctionComponent<TooltipTypes> = ({\n side,\n size,\n open,\n content,\n children,\n disabled,\n defaultOpen,\n onOpenChange,\n triggerProps,\n contentProps,\n providerProps,\n delayDuration = 300,\n ...props\n}) => {\n return (\n <TooltipPrimitive.TooltipProvider\n delayDuration={delayDuration}\n {...providerProps}\n >\n <TooltipPrimitive.Root\n open={!disabled && open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n {...props}\n >\n <TooltipPrimitive.Trigger {...triggerProps}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipContent\n size={size}\n side={side}\n align=\"center\"\n {...contentProps}\n style={{\n ...contentProps?.style,\n maxWidth: \"var(--radix-tooltip-content-available-width)\",\n maxHeight: \"var(--radix-tooltip-content-available-height)\",\n }}\n >\n {content}\n </TooltipContent>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.TooltipProvider>\n );\n};\n\nexport { Tooltip };\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","import_react","React","React","import_react","React","import_react","React","React"]}
@@ -52,28 +52,17 @@ import { cva } from "class-variance-authority";
52
52
  // elements/helperText/HelperText.tsx
53
53
  import React from "react";
54
54
  var HelperText = ({
55
- helperText,
56
- size = "xs"
57
- }) => {
58
- let sizes = {
59
- xs: "hawa-text-xs hawa-h-4",
60
- sm: "hawa-text-sm",
61
- md: "hawa-text-md",
62
- lg: "hawa-text-lg",
63
- xl: "hawa-text-xl"
64
- };
65
- return /* @__PURE__ */ React.createElement(
66
- "p",
67
- {
68
- className: cn(
69
- "hawa-my-0 hawa-text-start hawa-text-helper-color hawa-transition-all",
70
- helperText ? "hawa-opacity-100" : "hawa-h-0 hawa-opacity-0",
71
- sizes[size]
72
- )
73
- },
74
- helperText
75
- );
76
- };
55
+ helperText
56
+ }) => /* @__PURE__ */ React.createElement(
57
+ "p",
58
+ {
59
+ className: cn(
60
+ "hawa-my-0 hawa-text-start hawa-text-helper-color hawa-transition-all hawa-text-xs",
61
+ helperText ? "hawa-opacity-100 hawa-h-4" : "hawa-h-0 hawa-opacity-0"
62
+ )
63
+ },
64
+ helperText
65
+ );
77
66
 
78
67
  // elements/label/Label.tsx
79
68
  import * as React3 from "react";