@sikka/hawa 0.40.1-next → 0.41.1-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 (242) hide show
  1. package/dist/accordion/index.js.map +1 -1
  2. package/dist/accordion/index.mjs.map +1 -1
  3. package/dist/alert/index.js +1 -1
  4. package/dist/alert/index.js.map +1 -1
  5. package/dist/alert/index.mjs +1 -1
  6. package/dist/alert/index.mjs.map +1 -1
  7. package/dist/appLayout/index.js +15 -15
  8. package/dist/appLayout/index.js.map +1 -1
  9. package/dist/appLayout/index.mjs +15 -15
  10. package/dist/appLayout/index.mjs.map +1 -1
  11. package/dist/appMenubar/index.js.map +1 -1
  12. package/dist/appMenubar/index.mjs.map +1 -1
  13. package/dist/appTabs/index.js +2 -2
  14. package/dist/appTabs/index.js.map +1 -1
  15. package/dist/appTabs/index.mjs +2 -2
  16. package/dist/appTabs/index.mjs.map +1 -1
  17. package/dist/appTopbar/index.js +5 -5
  18. package/dist/appTopbar/index.js.map +1 -1
  19. package/dist/appTopbar/index.mjs +5 -5
  20. package/dist/appTopbar/index.mjs.map +1 -1
  21. package/dist/avatar/index.js +1 -1
  22. package/dist/avatar/index.js.map +1 -1
  23. package/dist/avatar/index.mjs +1 -1
  24. package/dist/avatar/index.mjs.map +1 -1
  25. package/dist/backToTop/index.js +1 -1
  26. package/dist/backToTop/index.js.map +1 -1
  27. package/dist/backToTop/index.mjs +1 -1
  28. package/dist/backToTop/index.mjs.map +1 -1
  29. package/dist/badge/index.d.mts +1 -1
  30. package/dist/badge/index.d.ts +1 -1
  31. package/dist/badge/index.js +1 -1
  32. package/dist/badge/index.js.map +1 -1
  33. package/dist/badge/index.mjs +1 -1
  34. package/dist/badge/index.mjs.map +1 -1
  35. package/dist/blocks/auth/index.js +102 -17
  36. package/dist/blocks/auth/index.mjs +100 -15
  37. package/dist/blocks/feedback/index.js +20 -21
  38. package/dist/blocks/feedback/index.mjs +18 -20
  39. package/dist/blocks/index.js +150 -66
  40. package/dist/blocks/index.mjs +47 -49
  41. package/dist/blocks/misc/index.js +17 -19
  42. package/dist/blocks/misc/index.mjs +11 -11
  43. package/dist/blocks/pricing/index.js +23 -23
  44. package/dist/blocks/pricing/index.mjs +21 -21
  45. package/dist/button/index.js.map +1 -1
  46. package/dist/button/index.mjs.map +1 -1
  47. package/dist/calendar/index.js.map +1 -1
  48. package/dist/calendar/index.mjs.map +1 -1
  49. package/dist/card/index.js +1 -1
  50. package/dist/card/index.js.map +1 -1
  51. package/dist/card/index.mjs +1 -1
  52. package/dist/card/index.mjs.map +1 -1
  53. package/dist/carousel/index.d.mts +1 -1
  54. package/dist/carousel/index.d.ts +1 -1
  55. package/dist/carousel/index.js +7 -7
  56. package/dist/carousel/index.js.map +1 -1
  57. package/dist/carousel/index.mjs +7 -7
  58. package/dist/carousel/index.mjs.map +1 -1
  59. package/dist/checkbox/index.js +2 -2
  60. package/dist/checkbox/index.js.map +1 -1
  61. package/dist/checkbox/index.mjs +2 -2
  62. package/dist/checkbox/index.mjs.map +1 -1
  63. package/dist/{chunk-27G5FKOP.mjs → chunk-2GEXJLRC.mjs} +1 -1
  64. package/dist/{chunk-QSEQS7DS.mjs → chunk-7R25FOBM.mjs} +17 -17
  65. package/dist/{chunk-AJTYKC5R.mjs → chunk-CQYG77SY.mjs} +1 -1
  66. package/dist/{chunk-QZIENYTE.mjs → chunk-D7HDVJFT.mjs} +3 -3
  67. package/dist/{chunk-DYPGZ2IP.mjs → chunk-EBZECS2Z.mjs} +4 -4
  68. package/dist/{chunk-CTNKKP2O.mjs → chunk-FLMCWOQQ.mjs} +62 -62
  69. package/dist/{chunk-GU2DOJ7Q.mjs → chunk-FP6763YO.mjs} +89 -4
  70. package/dist/{chunk-RT2Q3SH7.mjs → chunk-I3AK6DXN.mjs} +3 -3
  71. package/dist/{chunk-CTZRVSTI.mjs → chunk-K5S7P5ZO.mjs} +4 -4
  72. package/dist/{chunk-GN7EIDTE.mjs → chunk-QNLA5TSV.mjs} +2 -2
  73. package/dist/codeBlock/index.js +5 -5
  74. package/dist/codeBlock/index.js.map +1 -1
  75. package/dist/codeBlock/index.mjs +5 -5
  76. package/dist/codeBlock/index.mjs.map +1 -1
  77. package/dist/colorPicker/index.js.map +1 -1
  78. package/dist/colorPicker/index.mjs.map +1 -1
  79. package/dist/combobox/index.js +7 -7
  80. package/dist/combobox/index.js.map +1 -1
  81. package/dist/combobox/index.mjs +7 -7
  82. package/dist/combobox/index.mjs.map +1 -1
  83. package/dist/command/index.js +5 -5
  84. package/dist/command/index.js.map +1 -1
  85. package/dist/command/index.mjs +5 -5
  86. package/dist/command/index.mjs.map +1 -1
  87. package/dist/dataTable/index.d.mts +6 -1
  88. package/dist/dataTable/index.d.ts +6 -1
  89. package/dist/dataTable/index.js +459 -245
  90. package/dist/dataTable/index.js.map +1 -1
  91. package/dist/dataTable/index.mjs +476 -262
  92. package/dist/dataTable/index.mjs.map +1 -1
  93. package/dist/datePicker/index.js.map +1 -1
  94. package/dist/datePicker/index.mjs.map +1 -1
  95. package/dist/destroyableCard/index.js +1 -1
  96. package/dist/destroyableCard/index.js.map +1 -1
  97. package/dist/destroyableCard/index.mjs +1 -1
  98. package/dist/destroyableCard/index.mjs.map +1 -1
  99. package/dist/dialog/index.js +4 -4
  100. package/dist/dialog/index.js.map +1 -1
  101. package/dist/dialog/index.mjs +4 -4
  102. package/dist/dialog/index.mjs.map +1 -1
  103. package/dist/docsLayout/index.js +92 -9
  104. package/dist/docsLayout/index.js.map +1 -1
  105. package/dist/docsLayout/index.mjs +92 -9
  106. package/dist/docsLayout/index.mjs.map +1 -1
  107. package/dist/docsSidebar/index.js +1 -1
  108. package/dist/docsSidebar/index.js.map +1 -1
  109. package/dist/docsSidebar/index.mjs +1 -1
  110. package/dist/docsSidebar/index.mjs.map +1 -1
  111. package/dist/dropdownMenu/index.js +3 -3
  112. package/dist/dropdownMenu/index.js.map +1 -1
  113. package/dist/dropdownMenu/index.mjs +3 -3
  114. package/dist/dropdownMenu/index.mjs.map +1 -1
  115. package/dist/elements/index.d.mts +12 -2
  116. package/dist/elements/index.d.ts +12 -2
  117. package/dist/elements/index.js +656 -493
  118. package/dist/elements/index.mjs +288 -210
  119. package/dist/fileDropzone/index.js +5 -5
  120. package/dist/fileDropzone/index.js.map +1 -1
  121. package/dist/fileDropzone/index.mjs +5 -5
  122. package/dist/fileDropzone/index.mjs.map +1 -1
  123. package/dist/glow/index.js.map +1 -1
  124. package/dist/glow/index.mjs.map +1 -1
  125. package/dist/hooks/index.d.mts +1 -1
  126. package/dist/hooks/index.d.ts +1 -1
  127. package/dist/index.css +27 -127
  128. package/dist/index.d.mts +13 -3
  129. package/dist/index.d.ts +13 -3
  130. package/dist/index.js +732 -570
  131. package/dist/index.mjs +822 -660
  132. package/dist/input/index.js +3 -3
  133. package/dist/input/index.js.map +1 -1
  134. package/dist/input/index.mjs +3 -3
  135. package/dist/input/index.mjs.map +1 -1
  136. package/dist/interfaceSettings/index.js +4 -4
  137. package/dist/interfaceSettings/index.js.map +1 -1
  138. package/dist/interfaceSettings/index.mjs +4 -4
  139. package/dist/interfaceSettings/index.mjs.map +1 -1
  140. package/dist/label/index.js.map +1 -1
  141. package/dist/label/index.mjs.map +1 -1
  142. package/dist/layout/index.js +119 -36
  143. package/dist/layout/index.mjs +31 -31
  144. package/dist/loading/index.js.map +1 -1
  145. package/dist/loading/index.mjs.map +1 -1
  146. package/dist/logos/index.d.mts +5 -0
  147. package/dist/logos/index.d.ts +5 -0
  148. package/dist/logos/index.js +85 -0
  149. package/dist/logos/index.js.map +1 -1
  150. package/dist/logos/index.mjs +85 -0
  151. package/dist/logos/index.mjs.map +1 -1
  152. package/dist/navbar/index.js +12 -12
  153. package/dist/navbar/index.js.map +1 -1
  154. package/dist/navbar/index.mjs +12 -12
  155. package/dist/navbar/index.mjs.map +1 -1
  156. package/dist/navigationMenu/index.js +5 -5
  157. package/dist/navigationMenu/index.js.map +1 -1
  158. package/dist/navigationMenu/index.mjs +5 -5
  159. package/dist/navigationMenu/index.mjs.map +1 -1
  160. package/dist/pagination/index.js.map +1 -1
  161. package/dist/pagination/index.mjs.map +1 -1
  162. package/dist/passwordInput/index.js +3 -3
  163. package/dist/passwordInput/index.js.map +1 -1
  164. package/dist/passwordInput/index.mjs +3 -3
  165. package/dist/passwordInput/index.mjs.map +1 -1
  166. package/dist/phoneInput/index.js +4 -4
  167. package/dist/phoneInput/index.js.map +1 -1
  168. package/dist/phoneInput/index.mjs +4 -4
  169. package/dist/phoneInput/index.mjs.map +1 -1
  170. package/dist/progress/index.js.map +1 -1
  171. package/dist/progress/index.mjs.map +1 -1
  172. package/dist/progressCircle/index.js +1 -1
  173. package/dist/progressCircle/index.js.map +1 -1
  174. package/dist/progressCircle/index.mjs +1 -1
  175. package/dist/progressCircle/index.mjs.map +1 -1
  176. package/dist/radio/index.js +3 -3
  177. package/dist/radio/index.js.map +1 -1
  178. package/dist/radio/index.mjs +3 -3
  179. package/dist/radio/index.mjs.map +1 -1
  180. package/dist/scrollArea/index.js +2 -2
  181. package/dist/scrollArea/index.js.map +1 -1
  182. package/dist/scrollArea/index.mjs +2 -2
  183. package/dist/scrollArea/index.mjs.map +1 -1
  184. package/dist/scrollIndicator/index.js.map +1 -1
  185. package/dist/scrollIndicator/index.mjs.map +1 -1
  186. package/dist/select/index.js +2 -2
  187. package/dist/select/index.js.map +1 -1
  188. package/dist/select/index.mjs +2 -2
  189. package/dist/select/index.mjs.map +1 -1
  190. package/dist/separator/index.js.map +1 -1
  191. package/dist/separator/index.mjs.map +1 -1
  192. package/dist/sheet/index.js +1 -1
  193. package/dist/sheet/index.js.map +1 -1
  194. package/dist/sheet/index.mjs +1 -1
  195. package/dist/sheet/index.mjs.map +1 -1
  196. package/dist/sidebar/index.js +5 -5
  197. package/dist/sidebar/index.js.map +1 -1
  198. package/dist/sidebar/index.mjs +5 -5
  199. package/dist/sidebar/index.mjs.map +1 -1
  200. package/dist/signature/index.js.map +1 -1
  201. package/dist/signature/index.mjs.map +1 -1
  202. package/dist/simpleTable/index.js +5 -5
  203. package/dist/simpleTable/index.js.map +1 -1
  204. package/dist/simpleTable/index.mjs +5 -5
  205. package/dist/simpleTable/index.mjs.map +1 -1
  206. package/dist/slider/index.js.map +1 -1
  207. package/dist/slider/index.mjs.map +1 -1
  208. package/dist/sortButton/index.js.map +1 -1
  209. package/dist/sortButton/index.mjs.map +1 -1
  210. package/dist/splitButton/index.d.mts +27 -27
  211. package/dist/splitButton/index.d.ts +27 -27
  212. package/dist/splitButton/index.js +750 -750
  213. package/dist/splitButton/index.js.map +1 -1
  214. package/dist/splitButton/index.mjs +752 -752
  215. package/dist/splitButton/index.mjs.map +1 -1
  216. package/dist/stats/index.js +3 -5
  217. package/dist/stats/index.js.map +1 -1
  218. package/dist/stats/index.mjs +3 -5
  219. package/dist/stats/index.mjs.map +1 -1
  220. package/dist/switch/index.js +1 -1
  221. package/dist/switch/index.js.map +1 -1
  222. package/dist/switch/index.mjs +1 -1
  223. package/dist/switch/index.mjs.map +1 -1
  224. package/dist/table/index.js +4 -4
  225. package/dist/table/index.js.map +1 -1
  226. package/dist/table/index.mjs +4 -4
  227. package/dist/table/index.mjs.map +1 -1
  228. package/dist/tabs/index.js +2 -2
  229. package/dist/tabs/index.js.map +1 -1
  230. package/dist/tabs/index.mjs +2 -2
  231. package/dist/tabs/index.mjs.map +1 -1
  232. package/dist/textarea/index.js +1 -1
  233. package/dist/textarea/index.js.map +1 -1
  234. package/dist/textarea/index.mjs +1 -1
  235. package/dist/textarea/index.mjs.map +1 -1
  236. package/dist/toaster/index.js +1 -1
  237. package/dist/toaster/index.js.map +1 -1
  238. package/dist/toaster/index.mjs +1 -1
  239. package/dist/toaster/index.mjs.map +1 -1
  240. package/dist/tooltip/index.js.map +1 -1
  241. package/dist/tooltip/index.mjs.map +1 -1
  242. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/switch/index.ts","../../elements/switch/Switch.tsx","../../util/index.ts"],"sourcesContent":["export * from \"./Switch\";\n","import * as React from \"react\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\n\ninterface SwitchProps\n extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {\n size?: \"default\" | \"sm\" | \"lg\";\n label?: string;\n roundedness?: RadiusType;\n}\n\nexport const Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(\n (\n { className, size = \"default\", roundedness = \"inherit\", label, ...props },\n ref\n ) => {\n const [parentDirection, setParentDirection] = React.useState<string | null>(\n null\n );\n const parentRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const parentNode = parentRef.current?.parentNode as HTMLElement | null;\n if (parentNode) {\n const dir = window.getComputedStyle(parentNode).direction;\n setParentDirection(dir);\n }\n });\n\n const rootSize = {\n default: \"hawa-h-[25px] hawa-w-[42px]\",\n sm: \"hawa-h-[20px] hawa-w-[37px]\",\n lg: \"hawa-h-[30px] hawa-w-[47px]\"\n };\n const thumbSize = {\n default: \"hawa-h-[21px] hawa-w-[21px]\",\n sm: \"hawa-h-[16px] hawa-w-[16px]\",\n lg: \"hawa-h-[26px] hawa-w-[26px]\"\n };\n const rootRoundednessStyles = {\n none: \"hawa-rounded-none\",\n full: \"hawa-rounded-full\",\n inherit: \"hawa-rounded\"\n };\n const thumbRoundednessStyles = {\n none: \"hawa-rounded-none\",\n full: \"hawa-rounded-full\",\n inherit: \"hawa-rounded-inner\"\n };\n\n return (\n <div\n className=\"hawa-flex hawa-flex-row hawa-items-center\"\n ref={parentRef}\n >\n <SwitchPrimitives.Root\n className={cn(\n \"data-[state=unchecked]:hawa-bg-primary/20\",\n \"data-[state=checked]:hawa-bg-primary\",\n \"hawa-relative hawa-cursor-pointer hawa-rounded hawa-outline-none\",\n rootRoundednessStyles[roundedness],\n className,\n rootSize[size]\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n thumbSize[size],\n \"hawa-block hawa-rounded hawa-transition-transform hawa-duration-100 hawa-will-change-transform\",\n \"data-[state=checked]:hawa-bg-primary-foreground\",\n \"hawa-bg-white dark:hawa-bg-background\",\n thumbRoundednessStyles[roundedness],\n parentDirection === \"rtl\"\n ? \"hawa--translate-x-0.5 data-[state=checked]:hawa--translate-x-[19px]\"\n : \"hawa-translate-x-0.5 data-[state=checked]:hawa-translate-x-[19px]\"\n )}\n />\n </SwitchPrimitives.Root>\n {label && (\n <span className=\"hawa-mx-2 hawa-text-sm hawa-font-medium hawa-text-gray-900 dark:hawa-text-gray-300\">\n {label}\n </span>\n )}\n </div>\n );\n }\n);\nSwitch.displayName = SwitchPrimitives.Root.displayName;\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AAEvB,uBAAkC;;;ACFlC,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADUO,IAAM,SAAe;AAAA,EAI1B,CACE,EAAE,WAAW,OAAO,WAAW,cAAc,WAAW,OAAO,GAAG,MAAM,GACxE,QACG;AACH,UAAM,CAAC,iBAAiB,kBAAkB,IAAU;AAAA,MAClD;AAAA,IACF;AACA,UAAM,YAAkB,aAAuB,IAAI;AAEnD,IAAM,gBAAU,MAAM;AA5B1B;AA6BM,YAAM,cAAa,eAAU,YAAV,mBAAmB;AACtC,UAAI,YAAY;AACd,cAAM,MAAM,OAAO,iBAAiB,UAAU,EAAE;AAChD,2BAAmB,GAAG;AAAA,MACxB;AAAA,IACF,CAAC;AAED,UAAM,WAAW;AAAA,MACf,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,YAAY;AAAA,MAChB,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,wBAAwB;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AACA,UAAM,yBAAyB;AAAA,MAC7B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,KAAK;AAAA;AAAA,MAEL;AAAA,QAAkB;AAAA,QAAjB;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA,sBAAsB,WAAW;AAAA,YACjC;AAAA,YACA,SAAS,IAAI;AAAA,UACf;AAAA,UACC,GAAG;AAAA,UACJ;AAAA;AAAA,QAEA;AAAA,UAAkB;AAAA,UAAjB;AAAA,YACC,WAAW;AAAA,cACT,UAAU,IAAI;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,cACA,uBAAuB,WAAW;AAAA,cAClC,oBAAoB,QAChB,wEACA;AAAA,YACN;AAAA;AAAA,QACF;AAAA,MACF;AAAA,MACC,SACC,oCAAC,UAAK,WAAU,wFACb,KACH;AAAA,IAEJ;AAAA,EAEJ;AACF;AACA,OAAO,cAA+B,sBAAK;","names":[]}
1
+ {"version":3,"sources":["../../elements/switch/index.ts","../../elements/switch/Switch.tsx","../../util/index.ts"],"sourcesContent":["export * from \"./Switch\";\n","import * as React from \"react\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\ninterface SwitchProps\n extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {\n size?: \"default\" | \"sm\" | \"lg\";\n label?: string;\n roundedness?: RadiusType;\n}\n\nexport const Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(\n (\n { className, size = \"default\", roundedness = \"inherit\", label, ...props },\n ref,\n ) => {\n const [parentDirection, setParentDirection] = React.useState<string | null>(\n null,\n );\n const parentRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const parentNode = parentRef.current?.parentNode as HTMLElement | null;\n if (parentNode) {\n const dir = window.getComputedStyle(parentNode).direction;\n setParentDirection(dir);\n }\n });\n\n const rootSize = {\n default: \"hawa-h-[25px] hawa-w-[42px]\",\n sm: \"hawa-h-[20px] hawa-w-[37px]\",\n lg: \"hawa-h-[30px] hawa-w-[47px]\",\n };\n const thumbSize = {\n default: \"hawa-h-[21px] hawa-w-[21px]\",\n sm: \"hawa-h-[16px] hawa-w-[16px]\",\n lg: \"hawa-h-[26px] hawa-w-[26px]\",\n };\n const rootRoundednessStyles = {\n none: \"hawa-rounded-none\",\n full: \"hawa-rounded-full\",\n inherit: \"hawa-rounded\",\n };\n const thumbRoundednessStyles = {\n none: \"hawa-rounded-none\",\n full: \"hawa-rounded-full\",\n inherit: \"hawa-rounded-inner\",\n };\n\n return (\n <div\n className=\"hawa-flex hawa-flex-row hawa-items-center\"\n ref={parentRef}\n >\n <SwitchPrimitives.Root\n className={cn(\n \"data-[state=unchecked]:hawa-bg-primary/20\",\n \"data-[state=checked]:hawa-bg-primary\",\n \"hawa-relative hawa-cursor-pointer hawa-rounded hawa-outline-none\",\n rootRoundednessStyles[roundedness],\n className,\n rootSize[size],\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n thumbSize[size],\n \"hawa-block hawa-rounded hawa-transition-transform hawa-duration-100 hawa-will-change-transform\",\n \"data-[state=checked]:hawa-bg-primary-foreground\",\n \"hawa-bg-white dark:hawa-bg-background\",\n thumbRoundednessStyles[roundedness],\n parentDirection === \"rtl\"\n ? \"hawa--translate-x-0.5 data-[state=checked]:hawa--translate-x-[19px]\"\n : \"hawa-translate-x-0.5 data-[state=checked]:hawa-translate-x-[19px]\",\n )}\n />\n </SwitchPrimitives.Root>\n {label && (\n <span className=\"hawa-mx-2 hawa-text-sm hawa-font-medium hawa-text-gray-900 dark:hawa-text-gray-300\">\n {label}\n </span>\n )}\n </div>\n );\n },\n);\nSwitch.displayName = SwitchPrimitives.Root.displayName;\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AAEvB,uBAAkC;;;ACFlC,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADSO,IAAM,SAAe;AAAA,EAI1B,CACE,EAAE,WAAW,OAAO,WAAW,cAAc,WAAW,OAAO,GAAG,MAAM,GACxE,QACG;AACH,UAAM,CAAC,iBAAiB,kBAAkB,IAAU;AAAA,MAClD;AAAA,IACF;AACA,UAAM,YAAkB,aAAuB,IAAI;AAEnD,IAAM,gBAAU,MAAM;AA3B1B;AA4BM,YAAM,cAAa,eAAU,YAAV,mBAAmB;AACtC,UAAI,YAAY;AACd,cAAM,MAAM,OAAO,iBAAiB,UAAU,EAAE;AAChD,2BAAmB,GAAG;AAAA,MACxB;AAAA,IACF,CAAC;AAED,UAAM,WAAW;AAAA,MACf,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,YAAY;AAAA,MAChB,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,wBAAwB;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AACA,UAAM,yBAAyB;AAAA,MAC7B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,KAAK;AAAA;AAAA,MAEL;AAAA,QAAkB;AAAA,QAAjB;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA,sBAAsB,WAAW;AAAA,YACjC;AAAA,YACA,SAAS,IAAI;AAAA,UACf;AAAA,UACC,GAAG;AAAA,UACJ;AAAA;AAAA,QAEA;AAAA,UAAkB;AAAA,UAAjB;AAAA,YACC,WAAW;AAAA,cACT,UAAU,IAAI;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,cACA,uBAAuB,WAAW;AAAA,cAClC,oBAAoB,QAChB,wEACA;AAAA,YACN;AAAA;AAAA,QACF;AAAA,MACF;AAAA,MACC,SACC,oCAAC,UAAK,WAAU,wFACb,KACH;AAAA,IAEJ;AAAA,EAEJ;AACF;AACA,OAAO,cAA+B,sBAAK;","names":[]}
@@ -71,7 +71,7 @@ var Switch = React.forwardRef(
71
71
  {
72
72
  className: cn(
73
73
  thumbSize[size],
74
- "hawa-block hawa-rounded hawa-transition-transform hawa-duration-100 hawa-will-change-transform",
74
+ "hawa-block hawa-rounded hawa-transition-transform hawa-duration-100 hawa-will-change-transform",
75
75
  "data-[state=checked]:hawa-bg-primary-foreground",
76
76
  "hawa-bg-white dark:hawa-bg-background",
77
77
  thumbRoundednessStyles[roundedness],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/switch/Switch.tsx","../../util/index.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\n\ninterface SwitchProps\n extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {\n size?: \"default\" | \"sm\" | \"lg\";\n label?: string;\n roundedness?: RadiusType;\n}\n\nexport const Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(\n (\n { className, size = \"default\", roundedness = \"inherit\", label, ...props },\n ref\n ) => {\n const [parentDirection, setParentDirection] = React.useState<string | null>(\n null\n );\n const parentRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const parentNode = parentRef.current?.parentNode as HTMLElement | null;\n if (parentNode) {\n const dir = window.getComputedStyle(parentNode).direction;\n setParentDirection(dir);\n }\n });\n\n const rootSize = {\n default: \"hawa-h-[25px] hawa-w-[42px]\",\n sm: \"hawa-h-[20px] hawa-w-[37px]\",\n lg: \"hawa-h-[30px] hawa-w-[47px]\"\n };\n const thumbSize = {\n default: \"hawa-h-[21px] hawa-w-[21px]\",\n sm: \"hawa-h-[16px] hawa-w-[16px]\",\n lg: \"hawa-h-[26px] hawa-w-[26px]\"\n };\n const rootRoundednessStyles = {\n none: \"hawa-rounded-none\",\n full: \"hawa-rounded-full\",\n inherit: \"hawa-rounded\"\n };\n const thumbRoundednessStyles = {\n none: \"hawa-rounded-none\",\n full: \"hawa-rounded-full\",\n inherit: \"hawa-rounded-inner\"\n };\n\n return (\n <div\n className=\"hawa-flex hawa-flex-row hawa-items-center\"\n ref={parentRef}\n >\n <SwitchPrimitives.Root\n className={cn(\n \"data-[state=unchecked]:hawa-bg-primary/20\",\n \"data-[state=checked]:hawa-bg-primary\",\n \"hawa-relative hawa-cursor-pointer hawa-rounded hawa-outline-none\",\n rootRoundednessStyles[roundedness],\n className,\n rootSize[size]\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n thumbSize[size],\n \"hawa-block hawa-rounded hawa-transition-transform hawa-duration-100 hawa-will-change-transform\",\n \"data-[state=checked]:hawa-bg-primary-foreground\",\n \"hawa-bg-white dark:hawa-bg-background\",\n thumbRoundednessStyles[roundedness],\n parentDirection === \"rtl\"\n ? \"hawa--translate-x-0.5 data-[state=checked]:hawa--translate-x-[19px]\"\n : \"hawa-translate-x-0.5 data-[state=checked]:hawa-translate-x-[19px]\"\n )}\n />\n </SwitchPrimitives.Root>\n {label && (\n <span className=\"hawa-mx-2 hawa-text-sm hawa-font-medium hawa-text-gray-900 dark:hawa-text-gray-300\">\n {label}\n </span>\n )}\n </div>\n );\n }\n);\nSwitch.displayName = SwitchPrimitives.Root.displayName;\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"],"mappings":";;;AAAA,YAAY,WAAW;AAEvB,YAAY,sBAAsB;;;ACFlC,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADUO,IAAM,SAAe;AAAA,EAI1B,CACE,EAAE,WAAW,OAAO,WAAW,cAAc,WAAW,OAAO,GAAG,MAAM,GACxE,QACG;AACH,UAAM,CAAC,iBAAiB,kBAAkB,IAAU;AAAA,MAClD;AAAA,IACF;AACA,UAAM,YAAkB,aAAuB,IAAI;AAEnD,IAAM,gBAAU,MAAM;AA5B1B;AA6BM,YAAM,cAAa,eAAU,YAAV,mBAAmB;AACtC,UAAI,YAAY;AACd,cAAM,MAAM,OAAO,iBAAiB,UAAU,EAAE;AAChD,2BAAmB,GAAG;AAAA,MACxB;AAAA,IACF,CAAC;AAED,UAAM,WAAW;AAAA,MACf,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,YAAY;AAAA,MAChB,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,wBAAwB;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AACA,UAAM,yBAAyB;AAAA,MAC7B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,KAAK;AAAA;AAAA,MAEL;AAAA,QAAkB;AAAA,QAAjB;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA,sBAAsB,WAAW;AAAA,YACjC;AAAA,YACA,SAAS,IAAI;AAAA,UACf;AAAA,UACC,GAAG;AAAA,UACJ;AAAA;AAAA,QAEA;AAAA,UAAkB;AAAA,UAAjB;AAAA,YACC,WAAW;AAAA,cACT,UAAU,IAAI;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,cACA,uBAAuB,WAAW;AAAA,cAClC,oBAAoB,QAChB,wEACA;AAAA,YACN;AAAA;AAAA,QACF;AAAA,MACF;AAAA,MACC,SACC,oCAAC,UAAK,WAAU,wFACb,KACH;AAAA,IAEJ;AAAA,EAEJ;AACF;AACA,OAAO,cAA+B,sBAAK;","names":[]}
1
+ {"version":3,"sources":["../../elements/switch/Switch.tsx","../../util/index.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\ninterface SwitchProps\n extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {\n size?: \"default\" | \"sm\" | \"lg\";\n label?: string;\n roundedness?: RadiusType;\n}\n\nexport const Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(\n (\n { className, size = \"default\", roundedness = \"inherit\", label, ...props },\n ref,\n ) => {\n const [parentDirection, setParentDirection] = React.useState<string | null>(\n null,\n );\n const parentRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const parentNode = parentRef.current?.parentNode as HTMLElement | null;\n if (parentNode) {\n const dir = window.getComputedStyle(parentNode).direction;\n setParentDirection(dir);\n }\n });\n\n const rootSize = {\n default: \"hawa-h-[25px] hawa-w-[42px]\",\n sm: \"hawa-h-[20px] hawa-w-[37px]\",\n lg: \"hawa-h-[30px] hawa-w-[47px]\",\n };\n const thumbSize = {\n default: \"hawa-h-[21px] hawa-w-[21px]\",\n sm: \"hawa-h-[16px] hawa-w-[16px]\",\n lg: \"hawa-h-[26px] hawa-w-[26px]\",\n };\n const rootRoundednessStyles = {\n none: \"hawa-rounded-none\",\n full: \"hawa-rounded-full\",\n inherit: \"hawa-rounded\",\n };\n const thumbRoundednessStyles = {\n none: \"hawa-rounded-none\",\n full: \"hawa-rounded-full\",\n inherit: \"hawa-rounded-inner\",\n };\n\n return (\n <div\n className=\"hawa-flex hawa-flex-row hawa-items-center\"\n ref={parentRef}\n >\n <SwitchPrimitives.Root\n className={cn(\n \"data-[state=unchecked]:hawa-bg-primary/20\",\n \"data-[state=checked]:hawa-bg-primary\",\n \"hawa-relative hawa-cursor-pointer hawa-rounded hawa-outline-none\",\n rootRoundednessStyles[roundedness],\n className,\n rootSize[size],\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n thumbSize[size],\n \"hawa-block hawa-rounded hawa-transition-transform hawa-duration-100 hawa-will-change-transform\",\n \"data-[state=checked]:hawa-bg-primary-foreground\",\n \"hawa-bg-white dark:hawa-bg-background\",\n thumbRoundednessStyles[roundedness],\n parentDirection === \"rtl\"\n ? \"hawa--translate-x-0.5 data-[state=checked]:hawa--translate-x-[19px]\"\n : \"hawa-translate-x-0.5 data-[state=checked]:hawa-translate-x-[19px]\",\n )}\n />\n </SwitchPrimitives.Root>\n {label && (\n <span className=\"hawa-mx-2 hawa-text-sm hawa-font-medium hawa-text-gray-900 dark:hawa-text-gray-300\">\n {label}\n </span>\n )}\n </div>\n );\n },\n);\nSwitch.displayName = SwitchPrimitives.Root.displayName;\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"],"mappings":";;;AAAA,YAAY,WAAW;AAEvB,YAAY,sBAAsB;;;ACFlC,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADSO,IAAM,SAAe;AAAA,EAI1B,CACE,EAAE,WAAW,OAAO,WAAW,cAAc,WAAW,OAAO,GAAG,MAAM,GACxE,QACG;AACH,UAAM,CAAC,iBAAiB,kBAAkB,IAAU;AAAA,MAClD;AAAA,IACF;AACA,UAAM,YAAkB,aAAuB,IAAI;AAEnD,IAAM,gBAAU,MAAM;AA3B1B;AA4BM,YAAM,cAAa,eAAU,YAAV,mBAAmB;AACtC,UAAI,YAAY;AACd,cAAM,MAAM,OAAO,iBAAiB,UAAU,EAAE;AAChD,2BAAmB,GAAG;AAAA,MACxB;AAAA,IACF,CAAC;AAED,UAAM,WAAW;AAAA,MACf,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,YAAY;AAAA,MAChB,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,wBAAwB;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AACA,UAAM,yBAAyB;AAAA,MAC7B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,KAAK;AAAA;AAAA,MAEL;AAAA,QAAkB;AAAA,QAAjB;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA,sBAAsB,WAAW;AAAA,YACjC;AAAA,YACA,SAAS,IAAI;AAAA,UACf;AAAA,UACC,GAAG;AAAA,UACJ;AAAA;AAAA,QAEA;AAAA,UAAkB;AAAA,UAAjB;AAAA,YACC,WAAW;AAAA,cACT,UAAU,IAAI;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,cACA,uBAAuB,WAAW;AAAA,cAClC,oBAAoB,QAChB,wEACA;AAAA,YACN;AAAA;AAAA,QACF;AAAA,MACF;AAAA,MACC,SACC,oCAAC,UAAK,WAAU,wFACb,KACH;AAAA,IAEJ;AAAA,EAEJ;AACF;AACA,OAAO,cAA+B,sBAAK;","names":[]}
@@ -53,7 +53,7 @@ function cn(...inputs) {
53
53
  }
54
54
 
55
55
  // elements/table/Table.tsx
56
- var Table = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement("div", { className: "hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border" }, /* @__PURE__ */ React.createElement(
56
+ var Table = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement("div", { className: "hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border" }, /* @__PURE__ */ React.createElement(
57
57
  "table",
58
58
  {
59
59
  ref,
@@ -75,12 +75,12 @@ var TableHead = React.forwardRef(
75
75
  {
76
76
  ref,
77
77
  className: cn(
78
- "hawa-bg-muted/60 hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x",
78
+ "hawa-bg-muted/60 hawa-text-nowrap hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x",
79
79
  dir === "rtl" ? "[&:not(:last-child)]:hawa-border-l" : "[&:not(:last-child)]:hawa-border-r",
80
80
  condensed ? "hawa-h-8" : "hawa-h-12",
81
81
  clickable ? "hawa-px-1" : "hawa-px-4",
82
82
  //First and last columns
83
- clickable ? " [&:not(:last-child)&:not(:first-child)]:hawa-p-1" : "hawa-px-4",
83
+ clickable ? "[&:not(:last-child)&:not(:first-child)]:hawa-p-1" : "hawa-px-4",
84
84
  //Columns in between
85
85
  className
86
86
  ),
@@ -130,7 +130,7 @@ var TableCell = React.forwardRef(
130
130
  // enablePadding ? "hawa-p-4" : "hawa-p-0",
131
131
  // props.disablePadding ? "hawa-p-0" : "hawa-p-4",
132
132
  // props.condensed ? "hawa-p-0 hawa-px-4" : "hawa-p-4",
133
- "hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0 ",
133
+ "hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0",
134
134
  "[&:not(:last-child)&:not(:first-child)]:hawa-border-x",
135
135
  // "[&:not(:last-child)]:hawa-border-r",
136
136
  props.dir === "rtl" ? "[&:not(:last-child)]:hawa-border-l" : "[&:not(:last-child)]:hawa-border-r",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/table/index.ts","../../elements/table/Table.tsx","../../util/index.ts"],"sourcesContent":["export * from \"./Table\";\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\n\ninterface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n clickable?: boolean;\n condensed?: boolean;\n}\ninterface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n condensed?: boolean;\n enablePadding?: boolean;\n padding?: \"condensed\" | \"default\" | \"noPadding\";\n}\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border\">\n <table\n ref={ref}\n className={cn(\"hawa-w-full hawa-caption-bottom hawa-text-sm\", className)}\n {...props}\n />\n </div>\n));\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead\n ref={ref}\n className={cn(\"[&_tr]:hawa-border-b\", \"hawa-bg-muted/50\", className)}\n {...props}\n />\n));\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(\n ({ className, condensed, clickable, dir, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"hawa-bg-muted/60 hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x\",\n dir === \"rtl\"\n ? \"[&:not(:last-child)]:hawa-border-l\"\n : \"[&:not(:last-child)]:hawa-border-r\",\n condensed ? \"hawa-h-8\" : \"hawa-h-12\",\n clickable ? \"hawa-px-1\" : \"hawa-px-4\", //First and last columns\n clickable\n ? \" [&:not(:last-child)&:not(:first-child)]:hawa-p-1\"\n : \"hawa-px-4\", //Columns in between\n className\n )}\n {...props}\n />\n )\n);\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn(\"hawa-border-none\", className)} {...props} />\n));\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"hawa-bg-primary hawa-font-medium hawa-text-primary-foreground\",\n className\n )}\n {...props}\n />\n));\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hawa-bg-background hawa-transition-colors data-[state=selected]:hawa-bg-muted\",\n \"[&:not(:last-child)&:not(:first-child)]:hawa-border-y\",\n \"[&:not(:last-child)]:hawa-border-b\",\n\n className\n )}\n {...props}\n />\n));\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, enablePadding = true, padding = \"default\", ...props }, ref) => {\n let paddingStyles = {\n condensed: \"hawa-p-0 hawa-px-4\",\n default: \"hawa-p-4\",\n noPadding: \"hawa-p-0\"\n };\n\n return (\n <td\n ref={ref}\n className={cn(\n paddingStyles[padding],\n // \"border-x\",\n // enablePadding ? \"hawa-p-4\" : \"hawa-p-0\",\n // props.disablePadding ? \"hawa-p-0\" : \"hawa-p-4\",\n // props.condensed ? \"hawa-p-0 hawa-px-4\" : \"hawa-p-4\",\n \"hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0 \",\n \"[&:not(:last-child)&:not(:first-child)]:hawa-border-x\",\n // \"[&:not(:last-child)]:hawa-border-r\",\n props.dir === \"rtl\"\n ? \"[&:not(:last-child)]:hawa-border-l\"\n : \"[&:not(:last-child)]:hawa-border-r\",\n className\n )}\n {...props}\n />\n );\n }\n);\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\n \"hawa-mt-4 hawa-text-sm hawa-text-muted-foreground\",\n className\n )}\n {...props}\n />\n));\n\nTable.displayName = \"Table\";\nTableRow.displayName = \"TableRow\";\nTableBody.displayName = \"TableBody\";\nTableHead.displayName = \"TableHead\";\nTableCell.displayName = \"TableCell\";\nTableFooter.displayName = \"TableFooter\";\nTableHeader.displayName = \"TableHeader\";\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableHead,\n TableBody,\n TableFooter,\n TableRow,\n TableCell,\n TableCaption\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;;;ACAvB,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADSA,IAAM,QAAc,iBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oCAAC,SAAI,WAAU,4EACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,gDAAgD,SAAS;AAAA,IACtE,GAAG;AAAA;AACN,CACF,CACD;AAED,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,wBAAwB,oBAAoB,SAAS;AAAA,IAClE,GAAG;AAAA;AACN,CACD;AAED,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,WAAW,WAAW,WAAW,KAAK,GAAG,MAAM,GAAG,QACnD;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,QAAQ,QACJ,uCACA;AAAA,QACJ,YAAY,aAAa;AAAA,QACzB,YAAY,cAAc;AAAA;AAAA,QAC1B,YACI,sDACA;AAAA;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oCAAC,WAAM,KAAU,WAAW,GAAG,oBAAoB,SAAS,GAAI,GAAG,OAAO,CAC3E;AAED,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,WAAW,gBAAgB,MAAM,UAAU,WAAW,GAAG,MAAM,GAAG,QAAQ;AAC3E,QAAI,gBAAgB;AAAA,MAClB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,UAKrB;AAAA,UACA;AAAA;AAAA,UAEA,MAAM,QAAQ,QACV,uCACA;AAAA,UACJ;AAAA,QACF;AAAA,QACC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,IAAM,eAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,MAAM,cAAc;AACpB,SAAS,cAAc;AACvB,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB,YAAY,cAAc;AAC1B,YAAY,cAAc;AAC1B,aAAa,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../elements/table/index.ts","../../elements/table/Table.tsx","../../util/index.ts"],"sourcesContent":["export * from \"./Table\";\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\n\ninterface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n clickable?: boolean;\n condensed?: boolean;\n}\ninterface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n condensed?: boolean;\n enablePadding?: boolean;\n padding?: \"condensed\" | \"default\" | \"noPadding\";\n}\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border\">\n <table\n ref={ref}\n className={cn(\"hawa-w-full hawa-caption-bottom hawa-text-sm\", className)}\n {...props}\n />\n </div>\n));\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead\n ref={ref}\n className={cn(\"[&_tr]:hawa-border-b\", \"hawa-bg-muted/50\", className)}\n {...props}\n />\n));\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(\n ({ className, condensed, clickable, dir, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"hawa-bg-muted/60 hawa-text-nowrap hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x\",\n dir === \"rtl\"\n ? \"[&:not(:last-child)]:hawa-border-l\"\n : \"[&:not(:last-child)]:hawa-border-r\",\n condensed ? \"hawa-h-8\" : \"hawa-h-12\",\n clickable ? \"hawa-px-1\" : \"hawa-px-4\", //First and last columns\n clickable\n ? \"[&:not(:last-child)&:not(:first-child)]:hawa-p-1\"\n : \"hawa-px-4\", //Columns in between\n className,\n )}\n {...props}\n />\n ),\n);\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn(\"hawa-border-none\", className)} {...props} />\n));\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"hawa-bg-primary hawa-font-medium hawa-text-primary-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hawa-bg-background hawa-transition-colors data-[state=selected]:hawa-bg-muted\",\n \"[&:not(:last-child)&:not(:first-child)]:hawa-border-y\",\n \"[&:not(:last-child)]:hawa-border-b\",\n\n className,\n )}\n {...props}\n />\n));\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, enablePadding = true, padding = \"default\", ...props }, ref) => {\n let paddingStyles = {\n condensed: \"hawa-p-0 hawa-px-4\",\n default: \"hawa-p-4\",\n noPadding: \"hawa-p-0\",\n };\n\n return (\n <td\n ref={ref}\n className={cn(\n paddingStyles[padding],\n // \"border-x\",\n // enablePadding ? \"hawa-p-4\" : \"hawa-p-0\",\n // props.disablePadding ? \"hawa-p-0\" : \"hawa-p-4\",\n // props.condensed ? \"hawa-p-0 hawa-px-4\" : \"hawa-p-4\",\n \"hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0\",\n \"[&:not(:last-child)&:not(:first-child)]:hawa-border-x\",\n // \"[&:not(:last-child)]:hawa-border-r\",\n props.dir === \"rtl\"\n ? \"[&:not(:last-child)]:hawa-border-l\"\n : \"[&:not(:last-child)]:hawa-border-r\",\n className,\n )}\n {...props}\n />\n );\n },\n);\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\n \"hawa-mt-4 hawa-text-sm hawa-text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nTable.displayName = \"Table\";\nTableRow.displayName = \"TableRow\";\nTableBody.displayName = \"TableBody\";\nTableHead.displayName = \"TableHead\";\nTableCell.displayName = \"TableCell\";\nTableFooter.displayName = \"TableFooter\";\nTableHeader.displayName = \"TableHeader\";\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableHead,\n TableBody,\n TableFooter,\n TableRow,\n TableCell,\n TableCaption,\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;;;ACAvB,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADSA,IAAM,QAAc,iBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oCAAC,SAAI,WAAU,2EACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,gDAAgD,SAAS;AAAA,IACtE,GAAG;AAAA;AACN,CACF,CACD;AAED,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,wBAAwB,oBAAoB,SAAS;AAAA,IAClE,GAAG;AAAA;AACN,CACD;AAED,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,WAAW,WAAW,WAAW,KAAK,GAAG,MAAM,GAAG,QACnD;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,QAAQ,QACJ,uCACA;AAAA,QACJ,YAAY,aAAa;AAAA,QACzB,YAAY,cAAc;AAAA;AAAA,QAC1B,YACI,qDACA;AAAA;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oCAAC,WAAM,KAAU,WAAW,GAAG,oBAAoB,SAAS,GAAI,GAAG,OAAO,CAC3E;AAED,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,WAAW,gBAAgB,MAAM,UAAU,WAAW,GAAG,MAAM,GAAG,QAAQ;AAC3E,QAAI,gBAAgB;AAAA,MAClB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,UAKrB;AAAA,UACA;AAAA;AAAA,UAEA,MAAM,QAAQ,QACV,uCACA;AAAA,UACJ;AAAA,QACF;AAAA,QACC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,IAAM,eAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,MAAM,cAAc;AACpB,SAAS,cAAc;AACvB,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB,YAAY,cAAc;AAC1B,YAAY,cAAc;AAC1B,aAAa,cAAc;","names":[]}
@@ -11,7 +11,7 @@ function cn(...inputs) {
11
11
  }
12
12
 
13
13
  // elements/table/Table.tsx
14
- var Table = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement("div", { className: "hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border" }, /* @__PURE__ */ React.createElement(
14
+ var Table = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement("div", { className: "hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border" }, /* @__PURE__ */ React.createElement(
15
15
  "table",
16
16
  {
17
17
  ref,
@@ -33,12 +33,12 @@ var TableHead = React.forwardRef(
33
33
  {
34
34
  ref,
35
35
  className: cn(
36
- "hawa-bg-muted/60 hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x",
36
+ "hawa-bg-muted/60 hawa-text-nowrap hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x",
37
37
  dir === "rtl" ? "[&:not(:last-child)]:hawa-border-l" : "[&:not(:last-child)]:hawa-border-r",
38
38
  condensed ? "hawa-h-8" : "hawa-h-12",
39
39
  clickable ? "hawa-px-1" : "hawa-px-4",
40
40
  //First and last columns
41
- clickable ? " [&:not(:last-child)&:not(:first-child)]:hawa-p-1" : "hawa-px-4",
41
+ clickable ? "[&:not(:last-child)&:not(:first-child)]:hawa-p-1" : "hawa-px-4",
42
42
  //Columns in between
43
43
  className
44
44
  ),
@@ -88,7 +88,7 @@ var TableCell = React.forwardRef(
88
88
  // enablePadding ? "hawa-p-4" : "hawa-p-0",
89
89
  // props.disablePadding ? "hawa-p-0" : "hawa-p-4",
90
90
  // props.condensed ? "hawa-p-0 hawa-px-4" : "hawa-p-4",
91
- "hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0 ",
91
+ "hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0",
92
92
  "[&:not(:last-child)&:not(:first-child)]:hawa-border-x",
93
93
  // "[&:not(:last-child)]:hawa-border-r",
94
94
  props.dir === "rtl" ? "[&:not(:last-child)]:hawa-border-l" : "[&:not(:last-child)]:hawa-border-r",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/table/Table.tsx","../../util/index.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\n\ninterface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n clickable?: boolean;\n condensed?: boolean;\n}\ninterface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n condensed?: boolean;\n enablePadding?: boolean;\n padding?: \"condensed\" | \"default\" | \"noPadding\";\n}\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border\">\n <table\n ref={ref}\n className={cn(\"hawa-w-full hawa-caption-bottom hawa-text-sm\", className)}\n {...props}\n />\n </div>\n));\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead\n ref={ref}\n className={cn(\"[&_tr]:hawa-border-b\", \"hawa-bg-muted/50\", className)}\n {...props}\n />\n));\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(\n ({ className, condensed, clickable, dir, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"hawa-bg-muted/60 hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x\",\n dir === \"rtl\"\n ? \"[&:not(:last-child)]:hawa-border-l\"\n : \"[&:not(:last-child)]:hawa-border-r\",\n condensed ? \"hawa-h-8\" : \"hawa-h-12\",\n clickable ? \"hawa-px-1\" : \"hawa-px-4\", //First and last columns\n clickable\n ? \" [&:not(:last-child)&:not(:first-child)]:hawa-p-1\"\n : \"hawa-px-4\", //Columns in between\n className\n )}\n {...props}\n />\n )\n);\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn(\"hawa-border-none\", className)} {...props} />\n));\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"hawa-bg-primary hawa-font-medium hawa-text-primary-foreground\",\n className\n )}\n {...props}\n />\n));\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hawa-bg-background hawa-transition-colors data-[state=selected]:hawa-bg-muted\",\n \"[&:not(:last-child)&:not(:first-child)]:hawa-border-y\",\n \"[&:not(:last-child)]:hawa-border-b\",\n\n className\n )}\n {...props}\n />\n));\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, enablePadding = true, padding = \"default\", ...props }, ref) => {\n let paddingStyles = {\n condensed: \"hawa-p-0 hawa-px-4\",\n default: \"hawa-p-4\",\n noPadding: \"hawa-p-0\"\n };\n\n return (\n <td\n ref={ref}\n className={cn(\n paddingStyles[padding],\n // \"border-x\",\n // enablePadding ? \"hawa-p-4\" : \"hawa-p-0\",\n // props.disablePadding ? \"hawa-p-0\" : \"hawa-p-4\",\n // props.condensed ? \"hawa-p-0 hawa-px-4\" : \"hawa-p-4\",\n \"hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0 \",\n \"[&:not(:last-child)&:not(:first-child)]:hawa-border-x\",\n // \"[&:not(:last-child)]:hawa-border-r\",\n props.dir === \"rtl\"\n ? \"[&:not(:last-child)]:hawa-border-l\"\n : \"[&:not(:last-child)]:hawa-border-r\",\n className\n )}\n {...props}\n />\n );\n }\n);\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\n \"hawa-mt-4 hawa-text-sm hawa-text-muted-foreground\",\n className\n )}\n {...props}\n />\n));\n\nTable.displayName = \"Table\";\nTableRow.displayName = \"TableRow\";\nTableBody.displayName = \"TableBody\";\nTableHead.displayName = \"TableHead\";\nTableCell.displayName = \"TableCell\";\nTableFooter.displayName = \"TableFooter\";\nTableHeader.displayName = \"TableHeader\";\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableHead,\n TableBody,\n TableFooter,\n TableRow,\n TableCell,\n TableCaption\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"],"mappings":";;;AAAA,YAAY,WAAW;;;ACAvB,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADSA,IAAM,QAAc,iBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oCAAC,SAAI,WAAU,4EACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,gDAAgD,SAAS;AAAA,IACtE,GAAG;AAAA;AACN,CACF,CACD;AAED,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,wBAAwB,oBAAoB,SAAS;AAAA,IAClE,GAAG;AAAA;AACN,CACD;AAED,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,WAAW,WAAW,WAAW,KAAK,GAAG,MAAM,GAAG,QACnD;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,QAAQ,QACJ,uCACA;AAAA,QACJ,YAAY,aAAa;AAAA,QACzB,YAAY,cAAc;AAAA;AAAA,QAC1B,YACI,sDACA;AAAA;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oCAAC,WAAM,KAAU,WAAW,GAAG,oBAAoB,SAAS,GAAI,GAAG,OAAO,CAC3E;AAED,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,WAAW,gBAAgB,MAAM,UAAU,WAAW,GAAG,MAAM,GAAG,QAAQ;AAC3E,QAAI,gBAAgB;AAAA,MAClB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,UAKrB;AAAA,UACA;AAAA;AAAA,UAEA,MAAM,QAAQ,QACV,uCACA;AAAA,UACJ;AAAA,QACF;AAAA,QACC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,IAAM,eAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,MAAM,cAAc;AACpB,SAAS,cAAc;AACvB,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB,YAAY,cAAc;AAC1B,YAAY,cAAc;AAC1B,aAAa,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../elements/table/Table.tsx","../../util/index.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\n\ninterface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n clickable?: boolean;\n condensed?: boolean;\n}\ninterface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n condensed?: boolean;\n enablePadding?: boolean;\n padding?: \"condensed\" | \"default\" | \"noPadding\";\n}\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"hawa-relative hawa-w-full hawa-overflow-auto hawa-rounded hawa-border\">\n <table\n ref={ref}\n className={cn(\"hawa-w-full hawa-caption-bottom hawa-text-sm\", className)}\n {...props}\n />\n </div>\n));\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead\n ref={ref}\n className={cn(\"[&_tr]:hawa-border-b\", \"hawa-bg-muted/50\", className)}\n {...props}\n />\n));\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(\n ({ className, condensed, clickable, dir, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"hawa-bg-muted/60 hawa-text-nowrap hawa-text-start hawa-align-middle hawa-font-medium hawa-text-muted-foreground dark:hawa-bg-muted/40 [&:has([role=checkbox])]:hawa-pr-0 [&:not(:last-child)&:not(:first-child)]:hawa-border-x\",\n dir === \"rtl\"\n ? \"[&:not(:last-child)]:hawa-border-l\"\n : \"[&:not(:last-child)]:hawa-border-r\",\n condensed ? \"hawa-h-8\" : \"hawa-h-12\",\n clickable ? \"hawa-px-1\" : \"hawa-px-4\", //First and last columns\n clickable\n ? \"[&:not(:last-child)&:not(:first-child)]:hawa-p-1\"\n : \"hawa-px-4\", //Columns in between\n className,\n )}\n {...props}\n />\n ),\n);\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn(\"hawa-border-none\", className)} {...props} />\n));\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"hawa-bg-primary hawa-font-medium hawa-text-primary-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hawa-bg-background hawa-transition-colors data-[state=selected]:hawa-bg-muted\",\n \"[&:not(:last-child)&:not(:first-child)]:hawa-border-y\",\n \"[&:not(:last-child)]:hawa-border-b\",\n\n className,\n )}\n {...props}\n />\n));\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, enablePadding = true, padding = \"default\", ...props }, ref) => {\n let paddingStyles = {\n condensed: \"hawa-p-0 hawa-px-4\",\n default: \"hawa-p-4\",\n noPadding: \"hawa-p-0\",\n };\n\n return (\n <td\n ref={ref}\n className={cn(\n paddingStyles[padding],\n // \"border-x\",\n // enablePadding ? \"hawa-p-4\" : \"hawa-p-0\",\n // props.disablePadding ? \"hawa-p-0\" : \"hawa-p-4\",\n // props.condensed ? \"hawa-p-0 hawa-px-4\" : \"hawa-p-4\",\n \"hawa-align-middle [&:has([role=checkbox])]:hawa-pr-0\",\n \"[&:not(:last-child)&:not(:first-child)]:hawa-border-x\",\n // \"[&:not(:last-child)]:hawa-border-r\",\n props.dir === \"rtl\"\n ? \"[&:not(:last-child)]:hawa-border-l\"\n : \"[&:not(:last-child)]:hawa-border-r\",\n className,\n )}\n {...props}\n />\n );\n },\n);\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\n \"hawa-mt-4 hawa-text-sm hawa-text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nTable.displayName = \"Table\";\nTableRow.displayName = \"TableRow\";\nTableBody.displayName = \"TableBody\";\nTableHead.displayName = \"TableHead\";\nTableCell.displayName = \"TableCell\";\nTableFooter.displayName = \"TableFooter\";\nTableHeader.displayName = \"TableHeader\";\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableHead,\n TableBody,\n TableFooter,\n TableRow,\n TableCell,\n TableCaption,\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"],"mappings":";;;AAAA,YAAY,WAAW;;;ACAvB,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADSA,IAAM,QAAc,iBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oCAAC,SAAI,WAAU,2EACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,gDAAgD,SAAS;AAAA,IACtE,GAAG;AAAA;AACN,CACF,CACD;AAED,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,wBAAwB,oBAAoB,SAAS;AAAA,IAClE,GAAG;AAAA;AACN,CACD;AAED,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,WAAW,WAAW,WAAW,KAAK,GAAG,MAAM,GAAG,QACnD;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,QAAQ,QACJ,uCACA;AAAA,QACJ,YAAY,aAAa;AAAA,QACzB,YAAY,cAAc;AAAA;AAAA,QAC1B,YACI,qDACA;AAAA;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oCAAC,WAAM,KAAU,WAAW,GAAG,oBAAoB,SAAS,GAAI,GAAG,OAAO,CAC3E;AAED,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,IAAM,YAAkB;AAAA,EACtB,CAAC,EAAE,WAAW,gBAAgB,MAAM,UAAU,WAAW,GAAG,MAAM,GAAG,QAAQ;AAC3E,QAAI,gBAAgB;AAAA,MAClB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,UAKrB;AAAA,UACA;AAAA;AAAA,UAEA,MAAM,QAAQ,QACV,uCACA;AAAA,UACJ;AAAA,QACF;AAAA,QACC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,IAAM,eAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,MAAM,cAAc;AACpB,SAAS,cAAc;AACvB,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB,YAAY,cAAc;AAC1B,YAAY,cAAc;AAC1B,aAAa,cAAc;","names":[]}
@@ -295,7 +295,7 @@ var ScrollArea = React10.forwardRef(({ className, children, orientation = "verti
295
295
  "div",
296
296
  {
297
297
  className: cn(
298
- "hawa-pointer-events-none hawa-absolute hawa-bg-background hawa-h-full hawa-w-[50px] hawa-z-10 hawa-start-0 hawa-mask-fade-right",
298
+ "hawa-pointer-events-none hawa-absolute hawa-bg-background hawa-h-full hawa-w-[50px] hawa-z-10 hawa-start-0 hawa-mask-fade-right",
299
299
  showLeftFade ? "hawa-block" : "hawa-hidden"
300
300
  )
301
301
  }
@@ -304,7 +304,7 @@ var ScrollArea = React10.forwardRef(({ className, children, orientation = "verti
304
304
  "div",
305
305
  {
306
306
  className: cn(
307
- "hawa-pointer-events-none hawa-absolute hawa-bg-background hawa-mask-fade-left hawa-end-0 hawa-h-full hawa-w-[50px] hawa-z-10 ",
307
+ "hawa-pointer-events-none hawa-absolute hawa-bg-background hawa-mask-fade-left hawa-end-0 hawa-h-full hawa-w-[50px] hawa-z-10",
308
308
  showRightFade ? "hawa-block" : "hawa-hidden"
309
309
  )
310
310
  }