@sikka/hawa 0.48.1-next → 0.49.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 (299) hide show
  1. package/dist/accordion/index.js +3 -28
  2. package/dist/accordion/index.js.map +1 -1
  3. package/dist/accordion/index.mjs +3 -28
  4. package/dist/accordion/index.mjs.map +1 -1
  5. package/dist/alert/index.js +53 -98
  6. package/dist/alert/index.js.map +1 -1
  7. package/dist/alert/index.mjs +53 -98
  8. package/dist/alert/index.mjs.map +1 -1
  9. package/dist/appLayout/index.d.mts +2 -0
  10. package/dist/appLayout/index.d.ts +2 -0
  11. package/dist/appLayout/index.js +263 -409
  12. package/dist/appLayout/index.js.map +1 -1
  13. package/dist/appLayout/index.mjs +263 -409
  14. package/dist/appLayout/index.mjs.map +1 -1
  15. package/dist/appMenubar/index.js +15 -20
  16. package/dist/appMenubar/index.js.map +1 -1
  17. package/dist/appMenubar/index.mjs +15 -20
  18. package/dist/appMenubar/index.mjs.map +1 -1
  19. package/dist/appTabs/index.js +28 -37
  20. package/dist/appTabs/index.js.map +1 -1
  21. package/dist/appTabs/index.mjs +28 -37
  22. package/dist/appTabs/index.mjs.map +1 -1
  23. package/dist/appTopbar/index.js +125 -173
  24. package/dist/appTopbar/index.js.map +1 -1
  25. package/dist/appTopbar/index.mjs +125 -173
  26. package/dist/appTopbar/index.mjs.map +1 -1
  27. package/dist/avatar/index.js.map +1 -1
  28. package/dist/avatar/index.mjs.map +1 -1
  29. package/dist/backToTop/index.js +50 -82
  30. package/dist/backToTop/index.js.map +1 -1
  31. package/dist/backToTop/index.mjs +50 -82
  32. package/dist/backToTop/index.mjs.map +1 -1
  33. package/dist/badge/index.d.mts +1 -1
  34. package/dist/badge/index.d.ts +1 -1
  35. package/dist/badge/index.js +2 -18
  36. package/dist/badge/index.js.map +1 -1
  37. package/dist/badge/index.mjs +2 -18
  38. package/dist/badge/index.mjs.map +1 -1
  39. package/dist/blocks/auth/index.js +202 -468
  40. package/dist/blocks/auth/index.mjs +96 -280
  41. package/dist/blocks/feedback/index.js +214 -375
  42. package/dist/blocks/feedback/index.mjs +12 -25
  43. package/dist/blocks/index.js +604 -1122
  44. package/dist/blocks/index.mjs +132 -291
  45. package/dist/blocks/misc/index.js +136 -251
  46. package/dist/blocks/misc/index.mjs +29 -54
  47. package/dist/blocks/pricing/index.js +220 -397
  48. package/dist/blocks/pricing/index.mjs +63 -134
  49. package/dist/breadcrumb/index.js +1 -5
  50. package/dist/breadcrumb/index.js.map +1 -1
  51. package/dist/breadcrumb/index.mjs +1 -5
  52. package/dist/breadcrumb/index.mjs.map +1 -1
  53. package/dist/button/index.js +50 -82
  54. package/dist/button/index.js.map +1 -1
  55. package/dist/button/index.mjs +50 -82
  56. package/dist/button/index.mjs.map +1 -1
  57. package/dist/calendar/index.js +50 -82
  58. package/dist/calendar/index.js.map +1 -1
  59. package/dist/calendar/index.mjs +50 -82
  60. package/dist/calendar/index.mjs.map +1 -1
  61. package/dist/card/index.js +7 -35
  62. package/dist/card/index.js.map +1 -1
  63. package/dist/card/index.mjs +7 -35
  64. package/dist/card/index.mjs.map +1 -1
  65. package/dist/carousel/index.js +15 -27
  66. package/dist/carousel/index.js.map +1 -1
  67. package/dist/carousel/index.mjs +15 -27
  68. package/dist/carousel/index.mjs.map +1 -1
  69. package/dist/checkbox/index.js +2 -13
  70. package/dist/checkbox/index.js.map +1 -1
  71. package/dist/checkbox/index.mjs +2 -13
  72. package/dist/checkbox/index.mjs.map +1 -1
  73. package/dist/chip/index.js +2 -16
  74. package/dist/chip/index.js.map +1 -1
  75. package/dist/chip/index.mjs +2 -16
  76. package/dist/chip/index.mjs.map +1 -1
  77. package/dist/{chunk-WUMDFBEK.mjs → chunk-3CHFVHTW.mjs} +43 -54
  78. package/dist/{chunk-2LUXOXAL.mjs → chunk-5SQBJRWE.mjs} +3 -9
  79. package/dist/{chunk-C2UOOH4X.mjs → chunk-B53SP2WZ.mjs} +3 -17
  80. package/dist/chunk-GHGWQVTM.mjs +150 -0
  81. package/dist/{chunk-5S5DR7KF.mjs → chunk-I23ONEDJ.mjs} +2 -10
  82. package/dist/{chunk-JFWD2ICY.mjs → chunk-JT7R3L5O.mjs} +54 -62
  83. package/dist/{chunk-6SJUUJOV.mjs → chunk-KDGJZPWK.mjs} +295 -574
  84. package/dist/{chunk-AWJSHOYU.mjs → chunk-KSJGXQTE.mjs} +1 -1
  85. package/dist/{chunk-NMW4GM4G.mjs → chunk-SE2JMXYG.mjs} +104 -144
  86. package/dist/{chunk-GBLWUEYN.mjs → chunk-ULRL4WI6.mjs} +176 -256
  87. package/dist/{chunk-IFWYR5W2.mjs → chunk-VUELRPUL.mjs} +57 -117
  88. package/dist/{chunk-WL7C2A5D.mjs → chunk-WQR4XZGL.mjs} +8 -15
  89. package/dist/codeBlock/index.js +50 -82
  90. package/dist/codeBlock/index.js.map +1 -1
  91. package/dist/codeBlock/index.mjs +50 -82
  92. package/dist/codeBlock/index.mjs.map +1 -1
  93. package/dist/colorPicker/index.js +21 -33
  94. package/dist/colorPicker/index.js.map +1 -1
  95. package/dist/colorPicker/index.mjs +22 -37
  96. package/dist/colorPicker/index.mjs.map +1 -1
  97. package/dist/combobox/index.d.mts +1 -1
  98. package/dist/combobox/index.d.ts +1 -1
  99. package/dist/combobox/index.js +141 -223
  100. package/dist/combobox/index.js.map +1 -1
  101. package/dist/combobox/index.mjs +141 -223
  102. package/dist/combobox/index.mjs.map +1 -1
  103. package/dist/command/index.d.mts +1 -1
  104. package/dist/command/index.d.ts +1 -1
  105. package/dist/command/index.js +129 -212
  106. package/dist/command/index.js.map +1 -1
  107. package/dist/command/index.mjs +129 -212
  108. package/dist/command/index.mjs.map +1 -1
  109. package/dist/dataTable/index.js +254 -394
  110. package/dist/dataTable/index.js.map +1 -1
  111. package/dist/dataTable/index.mjs +254 -394
  112. package/dist/dataTable/index.mjs.map +1 -1
  113. package/dist/datePicker/index.js +64 -105
  114. package/dist/datePicker/index.js.map +1 -1
  115. package/dist/datePicker/index.mjs +64 -105
  116. package/dist/datePicker/index.mjs.map +1 -1
  117. package/dist/destroyableCard/index.js +8 -39
  118. package/dist/destroyableCard/index.js.map +1 -1
  119. package/dist/destroyableCard/index.mjs +8 -39
  120. package/dist/destroyableCard/index.mjs.map +1 -1
  121. package/dist/dialog/index.js +70 -122
  122. package/dist/dialog/index.js.map +1 -1
  123. package/dist/dialog/index.mjs +70 -122
  124. package/dist/dialog/index.mjs.map +1 -1
  125. package/dist/docsLayout/index.js +169 -358
  126. package/dist/docsLayout/index.js.map +1 -1
  127. package/dist/docsLayout/index.mjs +169 -358
  128. package/dist/docsLayout/index.mjs.map +1 -1
  129. package/dist/docsSidebar/index.js +9 -16
  130. package/dist/docsSidebar/index.js.map +1 -1
  131. package/dist/docsSidebar/index.mjs +9 -16
  132. package/dist/docsSidebar/index.mjs.map +1 -1
  133. package/dist/dropdownMenu/index.js +124 -164
  134. package/dist/dropdownMenu/index.js.map +1 -1
  135. package/dist/dropdownMenu/index.mjs +124 -164
  136. package/dist/dropdownMenu/index.mjs.map +1 -1
  137. package/dist/elements/index.d.mts +3 -3
  138. package/dist/elements/index.d.ts +3 -3
  139. package/dist/elements/index.js +841 -1505
  140. package/dist/elements/index.mjs +381 -718
  141. package/dist/fileDropzone/index.js +60 -159
  142. package/dist/fileDropzone/index.js.map +1 -1
  143. package/dist/fileDropzone/index.mjs +60 -159
  144. package/dist/fileDropzone/index.mjs.map +1 -1
  145. package/dist/glow/index.js +4 -16
  146. package/dist/glow/index.js.map +1 -1
  147. package/dist/glow/index.mjs +4 -16
  148. package/dist/glow/index.mjs.map +1 -1
  149. package/dist/hooks/index.d.mts +1 -5
  150. package/dist/hooks/index.d.ts +1 -5
  151. package/dist/hooks/index.js +11 -24
  152. package/dist/hooks/index.mjs +2 -2
  153. package/dist/{index-B0aJcA6d.d.ts → index-BgNycocQ.d.mts} +2 -2
  154. package/dist/{index-B0aJcA6d.d.mts → index-BgNycocQ.d.ts} +2 -2
  155. package/dist/index.css +1 -2
  156. package/dist/index.d.mts +6 -8
  157. package/dist/index.d.ts +6 -8
  158. package/dist/index.js +1194 -2170
  159. package/dist/index.mjs +1195 -2174
  160. package/dist/input/index.js +20 -29
  161. package/dist/input/index.js.map +1 -1
  162. package/dist/input/index.mjs +20 -29
  163. package/dist/input/index.mjs.map +1 -1
  164. package/dist/interfaceSettings/index.js +122 -163
  165. package/dist/interfaceSettings/index.js.map +1 -1
  166. package/dist/interfaceSettings/index.mjs +122 -163
  167. package/dist/interfaceSettings/index.mjs.map +1 -1
  168. package/dist/label/index.js +19 -26
  169. package/dist/label/index.js.map +1 -1
  170. package/dist/label/index.mjs +19 -26
  171. package/dist/label/index.mjs.map +1 -1
  172. package/dist/layout/index.d.mts +2 -0
  173. package/dist/layout/index.d.ts +2 -0
  174. package/dist/layout/index.js +434 -790
  175. package/dist/layout/index.mjs +143 -243
  176. package/dist/loading/index.js +30 -53
  177. package/dist/loading/index.js.map +1 -1
  178. package/dist/loading/index.mjs +30 -53
  179. package/dist/loading/index.mjs.map +1 -1
  180. package/dist/logos/index.js +66 -191
  181. package/dist/logos/index.js.map +1 -1
  182. package/dist/logos/index.mjs +66 -191
  183. package/dist/logos/index.mjs.map +1 -1
  184. package/dist/navbar/index.js +1 -4
  185. package/dist/navbar/index.js.map +1 -1
  186. package/dist/navbar/index.mjs +1 -4
  187. package/dist/navbar/index.mjs.map +1 -1
  188. package/dist/navigationMenu/index.js +14 -22
  189. package/dist/navigationMenu/index.js.map +1 -1
  190. package/dist/navigationMenu/index.mjs +14 -22
  191. package/dist/navigationMenu/index.mjs.map +1 -1
  192. package/dist/pagination/index.js +1 -5
  193. package/dist/pagination/index.js.map +1 -1
  194. package/dist/pagination/index.mjs +1 -5
  195. package/dist/pagination/index.mjs.map +1 -1
  196. package/dist/passwordInput/index.js +36 -65
  197. package/dist/passwordInput/index.js.map +1 -1
  198. package/dist/passwordInput/index.mjs +36 -65
  199. package/dist/passwordInput/index.mjs.map +1 -1
  200. package/dist/phoneInput/index.js +20 -29
  201. package/dist/phoneInput/index.js.map +1 -1
  202. package/dist/phoneInput/index.mjs +20 -29
  203. package/dist/phoneInput/index.mjs.map +1 -1
  204. package/dist/pinInput/index.js +14 -16
  205. package/dist/pinInput/index.js.map +1 -1
  206. package/dist/pinInput/index.mjs +14 -16
  207. package/dist/pinInput/index.mjs.map +1 -1
  208. package/dist/popover/index.js +14 -24
  209. package/dist/popover/index.js.map +1 -1
  210. package/dist/popover/index.mjs +14 -24
  211. package/dist/popover/index.mjs.map +1 -1
  212. package/dist/progress/index.js +19 -26
  213. package/dist/progress/index.js.map +1 -1
  214. package/dist/progress/index.mjs +19 -26
  215. package/dist/progress/index.mjs.map +1 -1
  216. package/dist/progressCircle/index.js +67 -71
  217. package/dist/progressCircle/index.js.map +1 -1
  218. package/dist/progressCircle/index.mjs +67 -71
  219. package/dist/progressCircle/index.mjs.map +1 -1
  220. package/dist/radio/index.js +122 -163
  221. package/dist/radio/index.js.map +1 -1
  222. package/dist/radio/index.mjs +122 -163
  223. package/dist/radio/index.mjs.map +1 -1
  224. package/dist/scrollArea/index.js.map +1 -1
  225. package/dist/scrollArea/index.mjs.map +1 -1
  226. package/dist/scrollIndicator/index.js +1 -4
  227. package/dist/scrollIndicator/index.js.map +1 -1
  228. package/dist/scrollIndicator/index.mjs +1 -4
  229. package/dist/scrollIndicator/index.mjs.map +1 -1
  230. package/dist/select/index.js +20 -29
  231. package/dist/select/index.js.map +1 -1
  232. package/dist/select/index.mjs +20 -29
  233. package/dist/select/index.mjs.map +1 -1
  234. package/dist/separator/index.js.map +1 -1
  235. package/dist/separator/index.mjs.map +1 -1
  236. package/dist/sheet/index.js +42 -53
  237. package/dist/sheet/index.js.map +1 -1
  238. package/dist/sheet/index.mjs +42 -53
  239. package/dist/sheet/index.mjs.map +1 -1
  240. package/dist/sidebar/index.js +66 -133
  241. package/dist/sidebar/index.js.map +1 -1
  242. package/dist/sidebar/index.mjs +66 -133
  243. package/dist/sidebar/index.mjs.map +1 -1
  244. package/dist/signature/index.js +19 -26
  245. package/dist/signature/index.js.map +1 -1
  246. package/dist/signature/index.mjs +19 -26
  247. package/dist/signature/index.mjs.map +1 -1
  248. package/dist/simpleTable/index.js +50 -81
  249. package/dist/simpleTable/index.js.map +1 -1
  250. package/dist/simpleTable/index.mjs +50 -81
  251. package/dist/simpleTable/index.mjs.map +1 -1
  252. package/dist/skeleton/index.js.map +1 -1
  253. package/dist/skeleton/index.mjs.map +1 -1
  254. package/dist/slider/index.js.map +1 -1
  255. package/dist/slider/index.mjs.map +1 -1
  256. package/dist/sonner/index.js.map +1 -1
  257. package/dist/sonner/index.mjs.map +1 -1
  258. package/dist/sortButton/index.js +50 -82
  259. package/dist/sortButton/index.js.map +1 -1
  260. package/dist/sortButton/index.mjs +50 -82
  261. package/dist/sortButton/index.mjs.map +1 -1
  262. package/dist/splitButton/index.js +214 -294
  263. package/dist/splitButton/index.js.map +1 -1
  264. package/dist/splitButton/index.mjs +214 -294
  265. package/dist/splitButton/index.mjs.map +1 -1
  266. package/dist/stats/index.js +7 -35
  267. package/dist/stats/index.js.map +1 -1
  268. package/dist/stats/index.mjs +7 -35
  269. package/dist/stats/index.mjs.map +1 -1
  270. package/dist/switch/index.js +24 -34
  271. package/dist/switch/index.js.map +1 -1
  272. package/dist/switch/index.mjs +24 -34
  273. package/dist/switch/index.mjs.map +1 -1
  274. package/dist/table/index.js +27 -29
  275. package/dist/table/index.js.map +1 -1
  276. package/dist/table/index.mjs +27 -29
  277. package/dist/table/index.mjs.map +1 -1
  278. package/dist/tabs/index.js +54 -76
  279. package/dist/tabs/index.js.map +1 -1
  280. package/dist/tabs/index.mjs +54 -76
  281. package/dist/tabs/index.mjs.map +1 -1
  282. package/dist/textarea/index.js +21 -38
  283. package/dist/textarea/index.js.map +1 -1
  284. package/dist/textarea/index.mjs +21 -38
  285. package/dist/textarea/index.mjs.map +1 -1
  286. package/dist/toast/index.js +2 -10
  287. package/dist/toast/index.js.map +1 -1
  288. package/dist/toast/index.mjs +2 -10
  289. package/dist/toast/index.mjs.map +1 -1
  290. package/dist/toaster/index.js +3 -16
  291. package/dist/toaster/index.js.map +1 -1
  292. package/dist/toaster/index.mjs +3 -16
  293. package/dist/toaster/index.mjs.map +1 -1
  294. package/dist/tooltip/index.js +19 -26
  295. package/dist/tooltip/index.js.map +1 -1
  296. package/dist/tooltip/index.mjs +19 -26
  297. package/dist/tooltip/index.mjs.map +1 -1
  298. package/package.json +12 -12
  299. package/dist/chunk-JP2N5WKD.mjs +0 -190
@@ -53,16 +53,7 @@ function cn(...inputs) {
53
53
  // elements/chip/Chip.tsx
54
54
  var import_react = __toESM(require("react"));
55
55
  var Chip = import_react.default.forwardRef(
56
- ({
57
- label,
58
- size = "normal",
59
- icon,
60
- color,
61
- radius = "inherit",
62
- dot,
63
- dotStatus = "none",
64
- ...rest
65
- }, ref) => {
56
+ ({ label, size = "normal", icon, color, radius = "inherit", dot, dotStatus = "none", ...rest }, ref) => {
66
57
  let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
67
58
  let radiusStyles = {
68
59
  inherit: " hawa-rounded",
@@ -109,12 +100,7 @@ var Chip = import_react.default.forwardRef(
109
100
  rest.className
110
101
  )
111
102
  },
112
- dot && /* @__PURE__ */ import_react.default.createElement(
113
- "span",
114
- {
115
- className: cn(dotStyles[size], dotStatusStyles[dotStatus])
116
- }
117
- ),
103
+ dot && /* @__PURE__ */ import_react.default.createElement("span", { className: cn(dotStyles[size], dotStatusStyles[dotStatus]) }),
118
104
  icon && icon,
119
105
  label
120
106
  );
@@ -224,18 +210,7 @@ var Accordion = React4.forwardRef(
224
210
  triggerclassNames
225
211
  )
226
212
  },
227
- /* @__PURE__ */ React4.createElement(
228
- "span",
229
- {
230
- className: cn(
231
- "hawa-flex hawa-flex-row",
232
- item.chip && "hawa-gap-2"
233
- )
234
- },
235
- item.trigger,
236
- " ",
237
- item.chip && /* @__PURE__ */ React4.createElement(Chip, { ...item.chip })
238
- )
213
+ /* @__PURE__ */ React4.createElement("span", { className: cn("hawa-flex hawa-flex-row", item.chip && "hawa-gap-2") }, item.trigger, " ", item.chip && /* @__PURE__ */ React4.createElement(Chip, { ...item.chip }))
239
214
  ),
240
215
  /* @__PURE__ */ React4.createElement(
241
216
  AccordionContent,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/accordion/index.ts","../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["export * from \"./Accordion\";\nexport * from \"./AccordionItem\";\nexport * from \"./AccordionTrigger\";\nexport * from \"./AccordionRoot\";\nexport * from \"./AccordionContent\";\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref,\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\",\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\":\n index === items.length - 1,\n },\n triggerclassNames,\n )}\n >\n <span\n className={cn(\n \"hawa-flex hawa-flex-row\",\n item.chip && \"hawa-gap-2\",\n )}\n >\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\":\n index === items.length - 1,\n },\n contentclassNames,\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n ),\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\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 React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nexport type ChipColors =\n | \"green\"\n | \"blue\"\n | \"red\"\n | \"yellow\"\n | \"orange\"\n | \"purple\"\n | \"cyan\"\n | \"hyper\"\n | \"oceanic\";\n\nexport type ChipTypes = React.HTMLAttributes<HTMLSpanElement> & {\n /** The text inside the chip */\n label: string;\n /** The small icon before the chip label */\n icon?: JSX.Element;\n /** The color of the chip, must be a tailwind color */\n color?: ChipColors;\n /** The size of the chip */\n size?: \"small\" | \"normal\" | \"large\";\n /** Enable/Disable the dot before the label of the chip */\n dot?: boolean;\n /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */\n dotStatus?: \"available\" | \"unavailable\" | \"none\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n {\n label,\n size = \"normal\",\n icon,\n color,\n radius = \"inherit\",\n dot,\n dotStatus = \"none\",\n ...rest\n },\n ref,\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\",\n };\n let sizeStyles = {\n small:\n \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\",\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\",\n };\n let dotStatusStyles = {\n none: \"hawa-bg-gray-500 dark:hawa-bg-gray-800\",\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\",\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200\",\n blue: \"hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black\",\n orange:\n \"hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100\",\n hyper:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600\",\n };\n if (label) {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n defaultStyles,\n sizeStyles[size],\n radiusStyles[radius],\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n rest.className,\n )}\n >\n {dot && (\n <span\n className={cn(dotStyles[size], dotStatusStyles[dotStatus])}\n ></span>\n )}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n ></span>\n );\n }\n },\n);\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> & {\n unstyled?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down\",\n className,\n )\n : className\n }\n {...props}\n >\n <div className=\"hawa-bg-background hawa-p-4\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { AccordionContent };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {\n unstyled?: boolean;\n hideArrow?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"hawa-flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180\",\n props.disabled\n ? \"hawa-bg-muted/30 hawa-text-muted-foreground/50\"\n : \"hover:hawa-bg-muted\",\n className,\n )\n : className\n }\n {...props}\n >\n {children}\n {!props.hideArrow && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nexport { AccordionTrigger };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport { AccordionItem };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nconst AccordionRoot = AccordionPrimitive.Root;\nexport { AccordionRoot };\n"],"mappings":"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","names":["React","AccordionPrimitive","React","React","React","AccordionPrimitive","React","AccordionPrimitive","AccordionPrimitive"]}
1
+ {"version":3,"sources":["../../elements/accordion/index.ts","../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["export * from \"./Accordion\";\nexport * from \"./AccordionItem\";\nexport * from \"./AccordionTrigger\";\nexport * from \"./AccordionRoot\";\nexport * from \"./AccordionContent\";\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref,\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\",\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\": index === items.length - 1,\n },\n triggerclassNames,\n )}\n >\n <span className={cn(\"hawa-flex hawa-flex-row\", item.chip && \"hawa-gap-2\")}>\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\": index === items.length - 1,\n },\n contentclassNames,\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n ),\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\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(sanitizedHex);\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 React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nexport type ChipColors =\n | \"green\"\n | \"blue\"\n | \"red\"\n | \"yellow\"\n | \"orange\"\n | \"purple\"\n | \"cyan\"\n | \"hyper\"\n | \"oceanic\";\n\nexport type ChipTypes = React.HTMLAttributes<HTMLSpanElement> & {\n /** The text inside the chip */\n label: string;\n /** The small icon before the chip label */\n icon?: JSX.Element;\n /** The color of the chip, must be a tailwind color */\n color?: ChipColors;\n /** The size of the chip */\n size?: \"small\" | \"normal\" | \"large\";\n /** Enable/Disable the dot before the label of the chip */\n dot?: boolean;\n /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */\n dotStatus?: \"available\" | \"unavailable\" | \"none\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n { label, size = \"normal\", icon, color, radius = \"inherit\", dot, dotStatus = \"none\", ...rest },\n ref,\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\",\n };\n let sizeStyles = {\n small: \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\",\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\",\n };\n let dotStatusStyles = {\n none: \"hawa-bg-gray-500 dark:hawa-bg-gray-800\",\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\",\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200\",\n blue: \"hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black\",\n orange:\n \"hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100\",\n hyper:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600\",\n };\n if (label) {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n defaultStyles,\n sizeStyles[size],\n radiusStyles[radius],\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n rest.className,\n )}\n >\n {dot && <span className={cn(dotStyles[size], dotStatusStyles[dotStatus])}></span>}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n ></span>\n );\n }\n },\n);\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> & {\n unstyled?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down\",\n className,\n )\n : className\n }\n {...props}\n >\n <div className=\"hawa-bg-background hawa-p-4\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { AccordionContent };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {\n unstyled?: boolean;\n hideArrow?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"hawa-flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180\",\n props.disabled\n ? \"hawa-bg-muted/30 hawa-text-muted-foreground/50\"\n : \"hover:hawa-bg-muted\",\n className,\n )\n : className\n }\n {...props}\n >\n {children}\n {!props.hideArrow && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nexport { AccordionTrigger };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport { AccordionItem };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nconst AccordionRoot = AccordionPrimitive.Root;\nexport { AccordionRoot };\n"],"mappings":"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","names":["React","AccordionPrimitive","React","React","React","AccordionPrimitive","React","AccordionPrimitive","AccordionPrimitive"]}
@@ -14,16 +14,7 @@ function cn(...inputs) {
14
14
  // elements/chip/Chip.tsx
15
15
  import React from "react";
16
16
  var Chip = React.forwardRef(
17
- ({
18
- label,
19
- size = "normal",
20
- icon,
21
- color,
22
- radius = "inherit",
23
- dot,
24
- dotStatus = "none",
25
- ...rest
26
- }, ref) => {
17
+ ({ label, size = "normal", icon, color, radius = "inherit", dot, dotStatus = "none", ...rest }, ref) => {
27
18
  let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
28
19
  let radiusStyles = {
29
20
  inherit: " hawa-rounded",
@@ -70,12 +61,7 @@ var Chip = React.forwardRef(
70
61
  rest.className
71
62
  )
72
63
  },
73
- dot && /* @__PURE__ */ React.createElement(
74
- "span",
75
- {
76
- className: cn(dotStyles[size], dotStatusStyles[dotStatus])
77
- }
78
- ),
64
+ dot && /* @__PURE__ */ React.createElement("span", { className: cn(dotStyles[size], dotStatusStyles[dotStatus]) }),
79
65
  icon && icon,
80
66
  label
81
67
  );
@@ -185,18 +171,7 @@ var Accordion = React4.forwardRef(
185
171
  triggerclassNames
186
172
  )
187
173
  },
188
- /* @__PURE__ */ React4.createElement(
189
- "span",
190
- {
191
- className: cn(
192
- "hawa-flex hawa-flex-row",
193
- item.chip && "hawa-gap-2"
194
- )
195
- },
196
- item.trigger,
197
- " ",
198
- item.chip && /* @__PURE__ */ React4.createElement(Chip, { ...item.chip })
199
- )
174
+ /* @__PURE__ */ React4.createElement("span", { className: cn("hawa-flex hawa-flex-row", item.chip && "hawa-gap-2") }, item.trigger, " ", item.chip && /* @__PURE__ */ React4.createElement(Chip, { ...item.chip }))
200
175
  ),
201
176
  /* @__PURE__ */ React4.createElement(
202
177
  AccordionContent,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref,\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\",\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\":\n index === items.length - 1,\n },\n triggerclassNames,\n )}\n >\n <span\n className={cn(\n \"hawa-flex hawa-flex-row\",\n item.chip && \"hawa-gap-2\",\n )}\n >\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\":\n index === items.length - 1,\n },\n contentclassNames,\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n ),\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\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 React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nexport type ChipColors =\n | \"green\"\n | \"blue\"\n | \"red\"\n | \"yellow\"\n | \"orange\"\n | \"purple\"\n | \"cyan\"\n | \"hyper\"\n | \"oceanic\";\n\nexport type ChipTypes = React.HTMLAttributes<HTMLSpanElement> & {\n /** The text inside the chip */\n label: string;\n /** The small icon before the chip label */\n icon?: JSX.Element;\n /** The color of the chip, must be a tailwind color */\n color?: ChipColors;\n /** The size of the chip */\n size?: \"small\" | \"normal\" | \"large\";\n /** Enable/Disable the dot before the label of the chip */\n dot?: boolean;\n /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */\n dotStatus?: \"available\" | \"unavailable\" | \"none\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n {\n label,\n size = \"normal\",\n icon,\n color,\n radius = \"inherit\",\n dot,\n dotStatus = \"none\",\n ...rest\n },\n ref,\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\",\n };\n let sizeStyles = {\n small:\n \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\",\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\",\n };\n let dotStatusStyles = {\n none: \"hawa-bg-gray-500 dark:hawa-bg-gray-800\",\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\",\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200\",\n blue: \"hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black\",\n orange:\n \"hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100\",\n hyper:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600\",\n };\n if (label) {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n defaultStyles,\n sizeStyles[size],\n radiusStyles[radius],\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n rest.className,\n )}\n >\n {dot && (\n <span\n className={cn(dotStyles[size], dotStatusStyles[dotStatus])}\n ></span>\n )}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n ></span>\n );\n }\n },\n);\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> & {\n unstyled?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down\",\n className,\n )\n : className\n }\n {...props}\n >\n <div className=\"hawa-bg-background hawa-p-4\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { AccordionContent };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {\n unstyled?: boolean;\n hideArrow?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"hawa-flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180\",\n props.disabled\n ? \"hawa-bg-muted/30 hawa-text-muted-foreground/50\"\n : \"hover:hawa-bg-muted\",\n className,\n )\n : className\n }\n {...props}\n >\n {children}\n {!props.hideArrow && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nexport { AccordionTrigger };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport { AccordionItem };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nconst AccordionRoot = AccordionPrimitive.Root;\nexport { AccordionRoot };\n"],"mappings":"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","names":["React","AccordionPrimitive","React","React","AccordionPrimitive","React","AccordionPrimitive","AccordionPrimitive"]}
1
+ {"version":3,"sources":["../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref,\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\",\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\": index === items.length - 1,\n },\n triggerclassNames,\n )}\n >\n <span className={cn(\"hawa-flex hawa-flex-row\", item.chip && \"hawa-gap-2\")}>\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\": index === items.length - 1,\n },\n contentclassNames,\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n ),\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\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(sanitizedHex);\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 React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nexport type ChipColors =\n | \"green\"\n | \"blue\"\n | \"red\"\n | \"yellow\"\n | \"orange\"\n | \"purple\"\n | \"cyan\"\n | \"hyper\"\n | \"oceanic\";\n\nexport type ChipTypes = React.HTMLAttributes<HTMLSpanElement> & {\n /** The text inside the chip */\n label: string;\n /** The small icon before the chip label */\n icon?: JSX.Element;\n /** The color of the chip, must be a tailwind color */\n color?: ChipColors;\n /** The size of the chip */\n size?: \"small\" | \"normal\" | \"large\";\n /** Enable/Disable the dot before the label of the chip */\n dot?: boolean;\n /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */\n dotStatus?: \"available\" | \"unavailable\" | \"none\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n { label, size = \"normal\", icon, color, radius = \"inherit\", dot, dotStatus = \"none\", ...rest },\n ref,\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\",\n };\n let sizeStyles = {\n small: \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\",\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\",\n };\n let dotStatusStyles = {\n none: \"hawa-bg-gray-500 dark:hawa-bg-gray-800\",\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\",\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200\",\n blue: \"hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black\",\n orange:\n \"hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100\",\n hyper:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600\",\n };\n if (label) {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n defaultStyles,\n sizeStyles[size],\n radiusStyles[radius],\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n rest.className,\n )}\n >\n {dot && <span className={cn(dotStyles[size], dotStatusStyles[dotStatus])}></span>}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n ></span>\n );\n }\n },\n);\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> & {\n unstyled?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down\",\n className,\n )\n : className\n }\n {...props}\n >\n <div className=\"hawa-bg-background hawa-p-4\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { AccordionContent };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {\n unstyled?: boolean;\n hideArrow?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"hawa-flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180\",\n props.disabled\n ? \"hawa-bg-muted/30 hawa-text-muted-foreground/50\"\n : \"hover:hawa-bg-muted\",\n className,\n )\n : className\n }\n {...props}\n >\n {children}\n {!props.hideArrow && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nexport { AccordionTrigger };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport { AccordionItem };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nconst AccordionRoot = AccordionPrimitive.Root;\nexport { AccordionRoot };\n"],"mappings":";;;AAAA,YAAYA,YAAW;AAEvB,YAAYC,yBAAwB;;;ACFpC,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACLA,OAAO,WAAW;AAiCX,IAAM,OAAO,MAAM;AAAA,EACxB,CACE,EAAE,OAAO,OAAO,UAAU,MAAM,OAAO,SAAS,WAAW,KAAK,YAAY,QAAQ,GAAG,KAAK,GAC5F,QACG;AACH,QAAI,gBACF;AACF,QAAI,eAAe;AAAA,MACjB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AACA,QAAI,aAAa;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,YAAY;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,kBAAkB;AAAA,MACpB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AACA,QAAI,cAAmB;AAAA,MACrB,OACE;AAAA,MACF,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QACE;AAAA,MACF,QACE;AAAA,MACF,QACE;AAAA,MACF,MAAM;AAAA,MACN,OACE;AAAA,MACF,SACE;AAAA,IACJ;AACA,QAAI,OAAO;AACT,aACE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,WAAW,IAAI;AAAA,YACf,aAAa,MAAM;AAAA,YACnB,QAAQ,YAAY,KAAK,IAAI;AAAA,YAC7B,KAAK;AAAA,UACP;AAAA;AAAA,QAEC,OAAO,oCAAC,UAAK,WAAW,GAAG,UAAU,IAAI,GAAG,gBAAgB,SAAS,CAAC,GAAG;AAAA,QACzE,QAAQ;AAAA,QACR;AAAA,MACH;AAAA,IAEJ,OAAO;AACL,aACE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,QAAQ,YAAY,KAAK,IAAI;AAAA,UAC/B;AAAA;AAAA,MACD;AAAA,IAEL;AAAA,EACF;AACF;;;AC5GA,YAAYC,YAAW;AAEvB,YAAY,wBAAwB;AAGpC,IAAM,mBAAyB,kBAK7B,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA,WACE,CAAC,MAAM,WACH;AAAA,MACE;AAAA,MACA;AAAA,IACF,IACA;AAAA,IAEL,GAAG;AAAA;AAAA,EAEJ,qCAAC,SAAI,WAAU,iCAA+B,QAAS;AACzD,CACD;AACD,iBAAiB,cAAiC,2BAAQ;;;AC1B1D,YAAYC,YAAW;AAEvB,YAAYC,yBAAwB;AAGpC,IAAM,mBAAyB,kBAM7B,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC,qCAAoB,4BAAnB,EAA0B,WAAU,eACnC;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA,WACE,CAAC,MAAM,WACH;AAAA,MACE;AAAA,MACA,MAAM,WACF,mDACA;AAAA,MACJ;AAAA,IACF,IACA;AAAA,IAEL,GAAG;AAAA;AAAA,EAEH;AAAA,EACA,CAAC,MAAM,aACN;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,WAAU;AAAA;AAAA,IAEV,qCAAC,UAAK,GAAE,gBAAe;AAAA,EACzB;AAEJ,CACF,CACD;AAED,iBAAiB,cAAiC,4BAAQ;;;AJtB1D,IAAM,YAAkB;AAAA,EAItB,CACE;AAAA,IACE;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QAEA,qCAAoB,0BAAnB,EAAwB,MAAM,MAAM,MAAM,aAAW,QACpD;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,2BAA2B;AAAA,QACvC,cAAc,WAAW;AAAA,QACzB,cAAc,WAAW;AAAA,MAC3B,CAAC;AAAA;AAAA,IAEA,MAAM,IAAI,CAAC,MAAM,UAChB;AAAA,MAAoB;AAAA,MAAnB;AAAA,QACC,UAAU,KAAK,YAAY;AAAA,QAC3B,WAAW,GAAG,gBAAgB,cAAc;AAAA,QAC5C,KAAK;AAAA,QACL,OAAO,QAAQ,KAAK;AAAA;AAAA,MAEpB;AAAA,QAAC;AAAA;AAAA,UACC,UAAU,KAAK,YAAY;AAAA,UAC3B,WAAW;AAAA,YACT;AAAA,YACA,WAAW,cACP,uDACA;AAAA,cACE,kBAAkB,UAAU;AAAA,cAC5B,sCAAsC,UAAU,MAAM,SAAS;AAAA,YACjE;AAAA,YACJ;AAAA,UACF;AAAA;AAAA,QAEA,qCAAC,UAAK,WAAW,GAAG,2BAA2B,KAAK,QAAQ,YAAY,KACrE,KAAK,SAAQ,KAAE,KAAK,QAAQ,qCAAC,QAAM,GAAG,KAAK,MAAM,CACpD;AAAA,MACF;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,iBAAe,KAAK,YAAY;AAAA,UAChC,WAAW;AAAA,YACT;AAAA,YACA,WAAW,cACP,uDACA;AAAA,cACE,oCAAoC,UAAU,MAAM,SAAS;AAAA,YAC/D;AAAA,YACJ;AAAA,UACF;AAAA;AAAA,QAEC,KAAK;AAAA,MACR;AAAA,IACF,CACD;AAAA,EACH,CACF;AAEJ;AAEA,UAAU,cAAc;;;AK/FxB,YAAYC,YAAW;AAEvB,YAAYC,yBAAwB;AAGpC,IAAM,gBAAsB,kBAG1B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,qCAAoB,0BAAnB,EAAwB,KAAU,WAAW,GAAG,SAAS,GAAI,GAAG,OAAO,CACzE;AAED,cAAc,cAAc;;;ACV5B,YAAYC,yBAAwB;AAEpC,IAAM,gBAAmC;","names":["React","AccordionPrimitive","React","React","AccordionPrimitive","React","AccordionPrimitive","AccordionPrimitive"]}
@@ -51,9 +51,7 @@ var import_class_variance_authority = require("class-variance-authority");
51
51
 
52
52
  // elements/helperText/HelperText.tsx
53
53
  var import_react = __toESM(require("react"));
54
- var HelperText = ({
55
- helperText
56
- }) => /* @__PURE__ */ import_react.default.createElement(
54
+ var HelperText = ({ helperText }) => /* @__PURE__ */ import_react.default.createElement(
57
55
  "p",
58
56
  {
59
57
  className: cn(
@@ -104,38 +102,31 @@ var Tooltip = ({
104
102
  delayDuration = 300,
105
103
  ...props
106
104
  }) => {
107
- return /* @__PURE__ */ import_react2.default.createElement(
108
- TooltipPrimitive.TooltipProvider,
105
+ return /* @__PURE__ */ import_react2.default.createElement(TooltipPrimitive.TooltipProvider, { delayDuration, ...providerProps }, /* @__PURE__ */ import_react2.default.createElement(
106
+ TooltipPrimitive.Root,
109
107
  {
110
- delayDuration,
111
- ...providerProps
108
+ open: !disabled && open,
109
+ defaultOpen,
110
+ onOpenChange,
111
+ ...props
112
112
  },
113
+ /* @__PURE__ */ import_react2.default.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
113
114
  /* @__PURE__ */ import_react2.default.createElement(
114
- TooltipPrimitive.Root,
115
+ TooltipContent,
115
116
  {
116
- open: !disabled && open,
117
- defaultOpen,
118
- onOpenChange,
119
- ...props
117
+ size,
118
+ side,
119
+ align: "center",
120
+ ...contentProps,
121
+ style: {
122
+ ...contentProps == null ? void 0 : contentProps.style,
123
+ maxWidth: "var(--radix-tooltip-content-available-width)",
124
+ maxHeight: "var(--radix-tooltip-content-available-height)"
125
+ }
120
126
  },
121
- /* @__PURE__ */ import_react2.default.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
122
- /* @__PURE__ */ import_react2.default.createElement(
123
- TooltipContent,
124
- {
125
- size,
126
- side,
127
- align: "center",
128
- ...contentProps,
129
- style: {
130
- ...contentProps == null ? void 0 : contentProps.style,
131
- maxWidth: "var(--radix-tooltip-content-available-width)",
132
- maxHeight: "var(--radix-tooltip-content-available-height)"
133
- }
134
- },
135
- content
136
- )
127
+ content
137
128
  )
138
- );
129
+ ));
139
130
  };
140
131
 
141
132
  // elements/label/Label.tsx
@@ -212,57 +203,42 @@ var Loading = ({
212
203
  };
213
204
  switch (design.split("-")[0]) {
214
205
  case "dots":
215
- return /* @__PURE__ */ import_react3.default.createElement(
206
+ return /* @__PURE__ */ import_react3.default.createElement("div", { className: cn("hawa-flex hawa-flex-row hawa-gap-2", classNames == null ? void 0 : classNames.container) }, /* @__PURE__ */ import_react3.default.createElement(
216
207
  "div",
217
208
  {
218
209
  className: cn(
219
- "hawa-flex hawa-flex-row hawa-gap-2",
220
- classNames == null ? void 0 : classNames.container
210
+ "hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
211
+ size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
212
+ animationStyles[design.split("-")[1]],
213
+ color ? color : "hawa-bg-primary"
221
214
  )
222
- },
223
- /* @__PURE__ */ import_react3.default.createElement(
224
- "div",
225
- {
226
- className: cn(
227
- "hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
228
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
229
- animationStyles[design.split("-")[1]],
230
- color ? color : "hawa-bg-primary"
231
- )
232
- }
233
- ),
234
- /* @__PURE__ */ import_react3.default.createElement(
235
- "div",
236
- {
237
- className: cn(
238
- "hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
239
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
240
- animationStyles[design.split("-")[1]],
241
- color ? color : "hawa-bg-primary"
242
- )
243
- }
244
- ),
245
- /* @__PURE__ */ import_react3.default.createElement(
246
- "div",
247
- {
248
- className: cn(
249
- "hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
250
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
251
- animationStyles[design.split("-")[1]],
252
- color ? color : "hawa-bg-primary"
253
- )
254
- }
255
- )
256
- );
215
+ }
216
+ ), /* @__PURE__ */ import_react3.default.createElement(
217
+ "div",
218
+ {
219
+ className: cn(
220
+ "hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
221
+ size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
222
+ animationStyles[design.split("-")[1]],
223
+ color ? color : "hawa-bg-primary"
224
+ )
225
+ }
226
+ ), /* @__PURE__ */ import_react3.default.createElement(
227
+ "div",
228
+ {
229
+ className: cn(
230
+ "hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
231
+ size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
232
+ animationStyles[design.split("-")[1]],
233
+ color ? color : "hawa-bg-primary"
234
+ )
235
+ }
236
+ ));
257
237
  case "square":
258
238
  return /* @__PURE__ */ import_react3.default.createElement(
259
239
  "svg",
260
240
  {
261
- className: cn(
262
- "squircle-container",
263
- sizeStyles[size],
264
- classNames == null ? void 0 : classNames.container
265
- ),
241
+ className: cn("squircle-container", sizeStyles[size], classNames == null ? void 0 : classNames.container),
266
242
  viewBox: "0 0 35 35",
267
243
  height: "35",
268
244
  width: "35"
@@ -303,11 +279,7 @@ var Loading = ({
303
279
  height: "37",
304
280
  width: "37",
305
281
  preserveAspectRatio: "xMidYMid meet",
306
- className: cn(
307
- "squircle-container",
308
- sizeStyles[size],
309
- classNames == null ? void 0 : classNames.container
310
- )
282
+ className: cn("squircle-container", sizeStyles[size], classNames == null ? void 0 : classNames.container)
311
283
  },
312
284
  /* @__PURE__ */ import_react3.default.createElement(
313
285
  "path",
@@ -350,11 +322,7 @@ var Loading = ({
350
322
  viewBox: "0 0 40 40",
351
323
  height: "40",
352
324
  width: "40",
353
- className: cn(
354
- "circle-container",
355
- sizeStyles[size],
356
- classNames == null ? void 0 : classNames.container
357
- )
325
+ className: cn("circle-container", sizeStyles[size], classNames == null ? void 0 : classNames.container)
358
326
  },
359
327
  /* @__PURE__ */ import_react3.default.createElement(
360
328
  "circle",
@@ -585,20 +553,9 @@ var Alert = ({
585
553
  ), props.actions && /* @__PURE__ */ import_react4.default.createElement(
586
554
  "div",
587
555
  {
588
- className: cn(
589
- "hawa-mt-2 hawa-flex hawa-flex-row hawa-gap-2",
590
- classNames == null ? void 0 : classNames.actions
591
- )
556
+ className: cn("hawa-mt-2 hawa-flex hawa-flex-row hawa-gap-2", classNames == null ? void 0 : classNames.actions)
592
557
  },
593
- props.actions.map((act, index) => /* @__PURE__ */ import_react4.default.createElement(
594
- Button,
595
- {
596
- key: index,
597
- variant: act.variant,
598
- onClick: act.onClick()
599
- },
600
- act.label
601
- ))
558
+ props.actions.map((act, index) => /* @__PURE__ */ import_react4.default.createElement(Button, { key: index, variant: act.variant, onClick: act.onClick() }, act.label))
602
559
  ))),
603
560
  !props.persistent && /* @__PURE__ */ import_react4.default.createElement(
604
561
  "button",
@@ -620,9 +577,7 @@ var Alert = ({
620
577
  setClosed(true);
621
578
  setTimeout(() => {
622
579
  if (alertRef == null ? void 0 : alertRef.current) {
623
- alertRef == null ? void 0 : alertRef.current.removeChild(
624
- alertRef == null ? void 0 : alertRef.current.children[0]
625
- );
580
+ alertRef == null ? void 0 : alertRef.current.removeChild(alertRef == null ? void 0 : alertRef.current.children[0]);
626
581
  }
627
582
  }, 200);
628
583
  }