@sikka/hawa 0.49.13-next → 0.49.15-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 (113) hide show
  1. package/dist/{Chip-KG1_ZmCL.d.mts → Chip-BRMzT5TB.d.mts} +2 -2
  2. package/dist/{Chip-Cw1twk4G.d.ts → Chip-D58g8OJ_.d.ts} +2 -2
  3. package/dist/accordion/index.d.mts +1 -1
  4. package/dist/accordion/index.d.ts +1 -1
  5. package/dist/accordion/index.js.map +1 -1
  6. package/dist/accordion/index.mjs.map +1 -1
  7. package/dist/appLayout/index.js +1 -3
  8. package/dist/appLayout/index.js.map +1 -1
  9. package/dist/appLayout/index.mjs +1 -3
  10. package/dist/appLayout/index.mjs.map +1 -1
  11. package/dist/appTopbar/index.js +0 -2
  12. package/dist/appTopbar/index.js.map +1 -1
  13. package/dist/appTopbar/index.mjs +0 -2
  14. package/dist/appTopbar/index.mjs.map +1 -1
  15. package/dist/badge/index.d.mts +1 -1
  16. package/dist/badge/index.d.ts +1 -1
  17. package/dist/badge/index.js +11 -2
  18. package/dist/badge/index.js.map +1 -1
  19. package/dist/badge/index.mjs +11 -2
  20. package/dist/badge/index.mjs.map +1 -1
  21. package/dist/blocks/auth/index.js +15 -16
  22. package/dist/blocks/auth/index.mjs +15 -16
  23. package/dist/blocks/index.d.mts +1 -1
  24. package/dist/blocks/index.d.ts +1 -1
  25. package/dist/blocks/index.js +15 -18
  26. package/dist/blocks/index.mjs +4 -6
  27. package/dist/blocks/misc/index.js +0 -1
  28. package/dist/blocks/misc/index.mjs +0 -1
  29. package/dist/button/index.d.mts +1 -1
  30. package/dist/button/index.d.ts +1 -1
  31. package/dist/chip/index.d.mts +2 -2
  32. package/dist/chip/index.d.ts +2 -2
  33. package/dist/chip/index.js.map +1 -1
  34. package/dist/chip/index.mjs.map +1 -1
  35. package/dist/{chunk-XWNN7K63.mjs → chunk-NJJVVA2A.mjs} +17 -17
  36. package/dist/{chunk-5SQBJRWE.mjs → chunk-OWMN44TT.mjs} +1 -1
  37. package/dist/{chunk-3CHFVHTW.mjs → chunk-QQ7C5DWR.mjs} +1 -1
  38. package/dist/{chunk-KDGJZPWK.mjs → chunk-YGLAEAJY.mjs} +0 -1
  39. package/dist/{chunk-WQR4XZGL.mjs → chunk-Z3ZL22XB.mjs} +1 -3
  40. package/dist/combobox/index.js +0 -1
  41. package/dist/combobox/index.js.map +1 -1
  42. package/dist/combobox/index.mjs +0 -1
  43. package/dist/combobox/index.mjs.map +1 -1
  44. package/dist/command/index.js +0 -1
  45. package/dist/command/index.js.map +1 -1
  46. package/dist/command/index.mjs +0 -1
  47. package/dist/command/index.mjs.map +1 -1
  48. package/dist/count/index.d.mts +2 -2
  49. package/dist/count/index.d.ts +2 -2
  50. package/dist/count/index.js.map +1 -1
  51. package/dist/count/index.mjs.map +1 -1
  52. package/dist/dataTable/index.js +0 -1
  53. package/dist/dataTable/index.js.map +1 -1
  54. package/dist/dataTable/index.mjs +0 -1
  55. package/dist/dataTable/index.mjs.map +1 -1
  56. package/dist/datePicker/index.d.mts +1 -1
  57. package/dist/datePicker/index.d.ts +1 -1
  58. package/dist/dialog/index.js +0 -1
  59. package/dist/dialog/index.js.map +1 -1
  60. package/dist/dialog/index.mjs +0 -1
  61. package/dist/dialog/index.mjs.map +1 -1
  62. package/dist/docsLayout/index.js +1 -1
  63. package/dist/docsLayout/index.js.map +1 -1
  64. package/dist/docsLayout/index.mjs +1 -1
  65. package/dist/docsLayout/index.mjs.map +1 -1
  66. package/dist/dropdownMenu/index.js +0 -1
  67. package/dist/dropdownMenu/index.js.map +1 -1
  68. package/dist/dropdownMenu/index.mjs +0 -1
  69. package/dist/dropdownMenu/index.mjs.map +1 -1
  70. package/dist/elements/index.d.mts +9 -7
  71. package/dist/elements/index.d.ts +9 -7
  72. package/dist/elements/index.js +32 -23
  73. package/dist/elements/index.mjs +22 -12
  74. package/dist/fileDropzone/index.js +6 -4
  75. package/dist/fileDropzone/index.js.map +1 -1
  76. package/dist/fileDropzone/index.mjs +6 -4
  77. package/dist/fileDropzone/index.mjs.map +1 -1
  78. package/dist/hooks/index.d.mts +2 -2
  79. package/dist/hooks/index.d.ts +2 -2
  80. package/dist/hooks/index.js +2 -4
  81. package/dist/hooks/index.mjs +2 -2
  82. package/dist/index.css +231 -233
  83. package/dist/index.d.mts +11 -9
  84. package/dist/index.d.ts +11 -9
  85. package/dist/index.js +35 -32
  86. package/dist/index.mjs +35 -32
  87. package/dist/layout/index.d.mts +1 -1
  88. package/dist/layout/index.d.ts +1 -1
  89. package/dist/layout/index.js +2 -5
  90. package/dist/layout/index.mjs +4 -6
  91. package/dist/phoneInput/index.js.map +1 -1
  92. package/dist/phoneInput/index.mjs.map +1 -1
  93. package/dist/pinInput/index.d.mts +4 -2
  94. package/dist/pinInput/index.d.ts +4 -2
  95. package/dist/pinInput/index.js +15 -15
  96. package/dist/pinInput/index.js.map +1 -1
  97. package/dist/pinInput/index.mjs +15 -15
  98. package/dist/pinInput/index.mjs.map +1 -1
  99. package/dist/select/index.js.map +1 -1
  100. package/dist/select/index.mjs.map +1 -1
  101. package/dist/sidebar/index.js.map +1 -1
  102. package/dist/sidebar/index.mjs.map +1 -1
  103. package/dist/splitButton/index.d.mts +1 -1
  104. package/dist/splitButton/index.d.ts +1 -1
  105. package/dist/splitButton/index.js +0 -1
  106. package/dist/splitButton/index.js.map +1 -1
  107. package/dist/splitButton/index.mjs +0 -1
  108. package/dist/splitButton/index.mjs.map +1 -1
  109. package/dist/tabs/index.d.mts +1 -1
  110. package/dist/tabs/index.d.ts +1 -1
  111. package/dist/tabs/index.js.map +1 -1
  112. package/dist/tabs/index.mjs.map +1 -1
  113. package/package.json +46 -46
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/badge/Badge.tsx","../../util/index.ts"],"sourcesContent":["import React, { useEffect, useState, useRef, RefObject, FC } from \"react\";\n\nimport { cn } from \"@util/index\";\n\ntype BadgeTypes = {\n position: \"right\" | \"left\";\n anchor: RefObject<HTMLElement>;\n size?: \"small\" | \"default\" | \"large\";\n text?: string | number;\n className?: string;\n};\n\nexport const Badge: FC<BadgeTypes> = ({\n anchor,\n position = \"right\",\n size = \"default\",\n text,\n className,\n}) => {\n const [badgePosition, setBadgePosition] = useState<any>(null);\n const indicatorRef = useRef(null);\n const sizeStyles = {\n small: { top: 4, left: 6, right: 7, classes: \"hawa-w-3 hawa-h-3\" },\n default: { top: 4, left: 7, right: 5, classes: \"hawa-w-3 hawa-h-3\" },\n large: { top: 6, left: 12, right: 7, classes: \"hawa-w-6 hawa-h-6\" },\n };\n useEffect(() => {\n const handlePositioning = () => {\n if (anchor.current && indicatorRef.current) {\n const rect = anchor.current.getBoundingClientRect();\n const parentRect = (\n indicatorRef.current as HTMLElement\n ).parentElement?.getBoundingClientRect();\n const style = window.getComputedStyle(anchor.current);\n const marginTop = parseFloat(style.marginTop.replace(\"px\", \"\"));\n const marginRight = parseFloat(style.marginRight.replace(\"px\", \"\"));\n\n if (parentRect) {\n setBadgePosition({\n top: rect.top - parentRect.top - marginTop - sizeStyles[size].top,\n left:\n position === \"right\"\n ? parentRect.right - parentRect.left - sizeStyles[size].left\n : rect.right -\n parentRect.left -\n parentRect.width -\n marginRight -\n sizeStyles[size].right,\n });\n }\n }\n };\n\n handlePositioning();\n window.addEventListener(\"resize\", handlePositioning);\n return () => {\n window.removeEventListener(\"resize\", handlePositioning);\n };\n }, [anchor]);\n\n return (\n <div ref={indicatorRef} className={cn(\"hawa-relative\", className)}>\n {badgePosition && (\n <div\n style={{\n position: \"absolute\",\n top: badgePosition?.top,\n left: badgePosition?.left,\n }}\n className={cn(\n \"hawa-origin-center hawa-rounded-full hawa-bg-red-500\",\n sizeStyles[size].classes,\n \"hawa-flex hawa-flex-row hawa-items-center hawa-justify-center hawa-text-[9px] hawa-text-white\",\n )}\n >\n {size === \"large\" && text && text}\n </div>\n )}\n </div>\n );\n};\n\nexport const BadgedComponent = ({ children, className, hideBadge, position, size, text }: any) => {\n const ref = useRef(null);\n\n return (\n <div className={cn(\"hawa-relative hawa-w-fit\", className)} ref={ref}>\n {!hideBadge && (\n <Badge size={size} text={text} position={position} anchor={ref} className=\"hawa-z-10\" />\n )}\n {children}\n </div>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(sanitizedHex);\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16),\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\"),\n },\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49,\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n"],"mappings":";;;AAAA,OAAO,SAAS,WAAW,UAAU,cAA6B;;;ACAlE,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADOO,IAAM,QAAwB,CAAC;AAAA,EACpC;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAc,IAAI;AAC5D,QAAM,eAAe,OAAO,IAAI;AAChC,QAAM,aAAa;AAAA,IACjB,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,oBAAoB;AAAA,IACjE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,oBAAoB;AAAA,IACnE,OAAO,EAAE,KAAK,GAAG,MAAM,IAAI,OAAO,GAAG,SAAS,oBAAoB;AAAA,EACpE;AACA,YAAU,MAAM;AACd,UAAM,oBAAoB,MAAM;AA3BpC;AA4BM,UAAI,OAAO,WAAW,aAAa,SAAS;AAC1C,cAAM,OAAO,OAAO,QAAQ,sBAAsB;AAClD,cAAM,cACJ,kBAAa,QACb,kBADA,mBACe;AACjB,cAAM,QAAQ,OAAO,iBAAiB,OAAO,OAAO;AACpD,cAAM,YAAY,WAAW,MAAM,UAAU,QAAQ,MAAM,EAAE,CAAC;AAC9D,cAAM,cAAc,WAAW,MAAM,YAAY,QAAQ,MAAM,EAAE,CAAC;AAElE,YAAI,YAAY;AACd,2BAAiB;AAAA,YACf,KAAK,KAAK,MAAM,WAAW,MAAM,YAAY,WAAW,IAAI,EAAE;AAAA,YAC9D,MACE,aAAa,UACT,WAAW,QAAQ,WAAW,OAAO,WAAW,IAAI,EAAE,OACtD,KAAK,QACL,WAAW,OACX,WAAW,QACX,cACA,WAAW,IAAI,EAAE;AAAA,UACzB,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAEA,sBAAkB;AAClB,WAAO,iBAAiB,UAAU,iBAAiB;AACnD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,iBAAiB;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AAEX,SACE,oCAAC,SAAI,KAAK,cAAc,WAAW,GAAG,iBAAiB,SAAS,KAC7D,iBACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,KAAK,+CAAe;AAAA,QACpB,MAAM,+CAAe;AAAA,MACvB;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,WAAW,IAAI,EAAE;AAAA,QACjB;AAAA,MACF;AAAA;AAAA,IAEC,SAAS,WAAW,QAAQ;AAAA,EAC/B,CAEJ;AAEJ;AAEO,IAAM,kBAAkB,CAAC,EAAE,UAAU,WAAW,WAAW,UAAU,MAAM,KAAK,MAAW;AAChG,QAAM,MAAM,OAAO,IAAI;AAEvB,SACE,oCAAC,SAAI,WAAW,GAAG,4BAA4B,SAAS,GAAG,OACxD,CAAC,aACA,oCAAC,SAAM,MAAY,MAAY,UAAoB,QAAQ,KAAK,WAAU,aAAY,GAEvF,QACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../elements/badge/Badge.tsx","../../util/index.ts"],"sourcesContent":["import React, { useEffect, useState, useRef, RefObject, FC } from \"react\";\n\nimport { cn } from \"@util/index\";\n\ntype BadgeTypes = {\n position: \"right\" | \"left\";\n anchor: RefObject<HTMLDivElement | null>;\n size?: \"small\" | \"default\" | \"large\";\n text?: string | number;\n className?: string;\n};\n\nexport const Badge: FC<BadgeTypes> = ({\n anchor,\n position = \"right\",\n size = \"default\",\n text,\n className,\n}) => {\n const [badgePosition, setBadgePosition] = useState<any>(null);\n const indicatorRef = useRef(null);\n const sizeStyles = {\n small: { top: 4, left: 6, right: 7, classes: \"hawa-w-3 hawa-h-3\" },\n default: { top: 4, left: 7, right: 5, classes: \"hawa-w-3 hawa-h-3\" },\n large: { top: 6, left: 12, right: 7, classes: \"hawa-w-6 hawa-h-6\" },\n };\n useEffect(() => {\n const handlePositioning = () => {\n if (anchor && anchor.current && indicatorRef.current) {\n const rect = anchor.current.getBoundingClientRect();\n const parentRect = (\n indicatorRef.current as HTMLElement\n ).parentElement?.getBoundingClientRect();\n const style = window.getComputedStyle(anchor.current);\n const marginTop = parseFloat(style.marginTop.replace(\"px\", \"\"));\n const marginRight = parseFloat(style.marginRight.replace(\"px\", \"\"));\n\n if (parentRect) {\n setBadgePosition({\n top: rect.top - parentRect.top - marginTop - sizeStyles[size].top,\n left:\n position === \"right\"\n ? parentRect.right - parentRect.left - sizeStyles[size].left\n : rect.right -\n parentRect.left -\n parentRect.width -\n marginRight -\n sizeStyles[size].right,\n });\n }\n }\n };\n\n handlePositioning();\n window.addEventListener(\"resize\", handlePositioning);\n return () => {\n window.removeEventListener(\"resize\", handlePositioning);\n };\n }, [anchor]);\n\n return (\n <div ref={indicatorRef} className={cn(\"hawa-relative\", className)}>\n {badgePosition && (\n <div\n style={{\n position: \"absolute\",\n top: badgePosition?.top,\n left: badgePosition?.left,\n }}\n className={cn(\n \"hawa-origin-center hawa-rounded-full hawa-bg-red-500\",\n sizeStyles[size].classes,\n \"hawa-flex hawa-flex-row hawa-items-center hawa-justify-center hawa-text-[9px] hawa-text-white\",\n )}\n >\n {size === \"large\" && text && text}\n </div>\n )}\n </div>\n );\n};\n\nexport const BadgedComponent = ({ children, className, hideBadge, position, size, text }: any) => {\n const ref = useRef<HTMLDivElement | null>(null);\n\n return (\n <div className={cn(\"hawa-relative hawa-w-fit\", className)} ref={ref}>\n {!hideBadge && (\n <Badge\n size={size}\n text={text}\n position={position}\n anchor={ref || null}\n className=\"hawa-z-10\"\n />\n )}\n {children}\n </div>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(sanitizedHex);\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16),\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\"),\n },\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49,\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n"],"mappings":";;;AAAA,OAAO,SAAS,WAAW,UAAU,cAA6B;;;ACAlE,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADOO,IAAM,QAAwB,CAAC;AAAA,EACpC;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAc,IAAI;AAC5D,QAAM,eAAe,OAAO,IAAI;AAChC,QAAM,aAAa;AAAA,IACjB,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,oBAAoB;AAAA,IACjE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,oBAAoB;AAAA,IACnE,OAAO,EAAE,KAAK,GAAG,MAAM,IAAI,OAAO,GAAG,SAAS,oBAAoB;AAAA,EACpE;AACA,YAAU,MAAM;AACd,UAAM,oBAAoB,MAAM;AA3BpC;AA4BM,UAAI,UAAU,OAAO,WAAW,aAAa,SAAS;AACpD,cAAM,OAAO,OAAO,QAAQ,sBAAsB;AAClD,cAAM,cACJ,kBAAa,QACb,kBADA,mBACe;AACjB,cAAM,QAAQ,OAAO,iBAAiB,OAAO,OAAO;AACpD,cAAM,YAAY,WAAW,MAAM,UAAU,QAAQ,MAAM,EAAE,CAAC;AAC9D,cAAM,cAAc,WAAW,MAAM,YAAY,QAAQ,MAAM,EAAE,CAAC;AAElE,YAAI,YAAY;AACd,2BAAiB;AAAA,YACf,KAAK,KAAK,MAAM,WAAW,MAAM,YAAY,WAAW,IAAI,EAAE;AAAA,YAC9D,MACE,aAAa,UACT,WAAW,QAAQ,WAAW,OAAO,WAAW,IAAI,EAAE,OACtD,KAAK,QACL,WAAW,OACX,WAAW,QACX,cACA,WAAW,IAAI,EAAE;AAAA,UACzB,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAEA,sBAAkB;AAClB,WAAO,iBAAiB,UAAU,iBAAiB;AACnD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,iBAAiB;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AAEX,SACE,oCAAC,SAAI,KAAK,cAAc,WAAW,GAAG,iBAAiB,SAAS,KAC7D,iBACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,KAAK,+CAAe;AAAA,QACpB,MAAM,+CAAe;AAAA,MACvB;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,WAAW,IAAI,EAAE;AAAA,QACjB;AAAA,MACF;AAAA;AAAA,IAEC,SAAS,WAAW,QAAQ;AAAA,EAC/B,CAEJ;AAEJ;AAEO,IAAM,kBAAkB,CAAC,EAAE,UAAU,WAAW,WAAW,UAAU,MAAM,KAAK,MAAW;AAChG,QAAM,MAAM,OAA8B,IAAI;AAE9C,SACE,oCAAC,SAAI,WAAW,GAAG,4BAA4B,SAAS,GAAG,OACxD,CAAC,aACA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,OAAO;AAAA,MACf,WAAU;AAAA;AAAA,EACZ,GAED,QACH;AAEJ;","names":[]}
@@ -4395,7 +4395,6 @@ var RegisterForm = ({
4395
4395
  resolver: (0, import_zod2.zodResolver)(finalSchema)
4396
4396
  });
4397
4397
  const onSubmit = (data) => {
4398
- console.log("Form submitted with data:", data);
4399
4398
  if (props.onRegister) {
4400
4399
  props.onRegister(data);
4401
4400
  } else {
@@ -5049,19 +5048,19 @@ var z5 = __toESM(require("zod"));
5049
5048
  var React36 = __toESM(require("react"));
5050
5049
  var import_input_otp = require("input-otp");
5051
5050
 
5052
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
5051
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
5053
5052
  var import_react43 = require("react");
5054
5053
 
5055
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
5054
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
5056
5055
  var toKebabCase = (string6) => string6.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
5057
5056
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
5058
- return Boolean(className) && array.indexOf(className) === index;
5059
- }).join(" ");
5057
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
5058
+ }).join(" ").trim();
5060
5059
 
5061
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
5060
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
5062
5061
  var import_react42 = require("react");
5063
5062
 
5064
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
5063
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
5065
5064
  var defaultAttributes = {
5066
5065
  xmlns: "http://www.w3.org/2000/svg",
5067
5066
  width: 24,
@@ -5074,7 +5073,7 @@ var defaultAttributes = {
5074
5073
  strokeLinejoin: "round"
5075
5074
  };
5076
5075
 
5077
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
5076
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
5078
5077
  var Icon = (0, import_react42.forwardRef)(
5079
5078
  ({
5080
5079
  color = "currentColor",
@@ -5106,7 +5105,7 @@ var Icon = (0, import_react42.forwardRef)(
5106
5105
  }
5107
5106
  );
5108
5107
 
5109
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
5108
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
5110
5109
  var createLucideIcon = (iconName, iconNode) => {
5111
5110
  const Component = (0, import_react43.forwardRef)(
5112
5111
  ({ className, ...props }, ref) => (0, import_react43.createElement)(Icon, {
@@ -5120,7 +5119,7 @@ var createLucideIcon = (iconName, iconNode) => {
5120
5119
  return Component;
5121
5120
  };
5122
5121
 
5123
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
5122
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
5124
5123
  var Dot = createLucideIcon("Dot", [
5125
5124
  ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
5126
5125
  ]);
@@ -5322,7 +5321,7 @@ var CodeConfirmation = ({
5322
5321
 
5323
5322
  lucide-react/dist/esm/shared/src/utils.js:
5324
5323
  (**
5325
- * @license lucide-react v0.438.0 - ISC
5324
+ * @license lucide-react v0.468.0 - ISC
5326
5325
  *
5327
5326
  * This source code is licensed under the ISC license.
5328
5327
  * See the LICENSE file in the root directory of this source tree.
@@ -5330,7 +5329,7 @@ lucide-react/dist/esm/shared/src/utils.js:
5330
5329
 
5331
5330
  lucide-react/dist/esm/defaultAttributes.js:
5332
5331
  (**
5333
- * @license lucide-react v0.438.0 - ISC
5332
+ * @license lucide-react v0.468.0 - ISC
5334
5333
  *
5335
5334
  * This source code is licensed under the ISC license.
5336
5335
  * See the LICENSE file in the root directory of this source tree.
@@ -5338,7 +5337,7 @@ lucide-react/dist/esm/defaultAttributes.js:
5338
5337
 
5339
5338
  lucide-react/dist/esm/Icon.js:
5340
5339
  (**
5341
- * @license lucide-react v0.438.0 - ISC
5340
+ * @license lucide-react v0.468.0 - ISC
5342
5341
  *
5343
5342
  * This source code is licensed under the ISC license.
5344
5343
  * See the LICENSE file in the root directory of this source tree.
@@ -5346,7 +5345,7 @@ lucide-react/dist/esm/Icon.js:
5346
5345
 
5347
5346
  lucide-react/dist/esm/createLucideIcon.js:
5348
5347
  (**
5349
- * @license lucide-react v0.438.0 - ISC
5348
+ * @license lucide-react v0.468.0 - ISC
5350
5349
  *
5351
5350
  * This source code is licensed under the ISC license.
5352
5351
  * See the LICENSE file in the root directory of this source tree.
@@ -5354,7 +5353,7 @@ lucide-react/dist/esm/createLucideIcon.js:
5354
5353
 
5355
5354
  lucide-react/dist/esm/icons/dot.js:
5356
5355
  (**
5357
- * @license lucide-react v0.438.0 - ISC
5356
+ * @license lucide-react v0.468.0 - ISC
5358
5357
  *
5359
5358
  * This source code is licensed under the ISC license.
5360
5359
  * See the LICENSE file in the root directory of this source tree.
@@ -5362,7 +5361,7 @@ lucide-react/dist/esm/icons/dot.js:
5362
5361
 
5363
5362
  lucide-react/dist/esm/lucide-react.js:
5364
5363
  (**
5365
- * @license lucide-react v0.438.0 - ISC
5364
+ * @license lucide-react v0.468.0 - ISC
5366
5365
  *
5367
5366
  * This source code is licensed under the ISC license.
5368
5367
  * See the LICENSE file in the root directory of this source tree.
@@ -3017,7 +3017,6 @@ var RegisterForm = ({
3017
3017
  resolver: zodResolver2(finalSchema)
3018
3018
  });
3019
3019
  const onSubmit = (data) => {
3020
- console.log("Form submitted with data:", data);
3021
3020
  if (props.onRegister) {
3022
3021
  props.onRegister(data);
3023
3022
  } else {
@@ -3671,19 +3670,19 @@ import * as z5 from "zod";
3671
3670
  import * as React12 from "react";
3672
3671
  import { OTPInput, OTPInputContext } from "input-otp";
3673
3672
 
3674
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
3673
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
3675
3674
  import { forwardRef as forwardRef3, createElement as createElement3 } from "react";
3676
3675
 
3677
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
3676
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
3678
3677
  var toKebabCase = (string6) => string6.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
3679
3678
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
3680
- return Boolean(className) && array.indexOf(className) === index;
3681
- }).join(" ");
3679
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
3680
+ }).join(" ").trim();
3682
3681
 
3683
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
3682
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
3684
3683
  import { forwardRef as forwardRef2, createElement as createElement2 } from "react";
3685
3684
 
3686
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
3685
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
3687
3686
  var defaultAttributes = {
3688
3687
  xmlns: "http://www.w3.org/2000/svg",
3689
3688
  width: 24,
@@ -3696,7 +3695,7 @@ var defaultAttributes = {
3696
3695
  strokeLinejoin: "round"
3697
3696
  };
3698
3697
 
3699
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
3698
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
3700
3699
  var Icon = forwardRef2(
3701
3700
  ({
3702
3701
  color = "currentColor",
@@ -3728,7 +3727,7 @@ var Icon = forwardRef2(
3728
3727
  }
3729
3728
  );
3730
3729
 
3731
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
3730
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
3732
3731
  var createLucideIcon = (iconName, iconNode) => {
3733
3732
  const Component = forwardRef3(
3734
3733
  ({ className, ...props }, ref) => createElement3(Icon, {
@@ -3742,7 +3741,7 @@ var createLucideIcon = (iconName, iconNode) => {
3742
3741
  return Component;
3743
3742
  };
3744
3743
 
3745
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
3744
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
3746
3745
  var Dot = createLucideIcon("Dot", [
3747
3746
  ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
3748
3747
  ]);
@@ -3943,7 +3942,7 @@ export {
3943
3942
 
3944
3943
  lucide-react/dist/esm/shared/src/utils.js:
3945
3944
  (**
3946
- * @license lucide-react v0.438.0 - ISC
3945
+ * @license lucide-react v0.468.0 - ISC
3947
3946
  *
3948
3947
  * This source code is licensed under the ISC license.
3949
3948
  * See the LICENSE file in the root directory of this source tree.
@@ -3951,7 +3950,7 @@ lucide-react/dist/esm/shared/src/utils.js:
3951
3950
 
3952
3951
  lucide-react/dist/esm/defaultAttributes.js:
3953
3952
  (**
3954
- * @license lucide-react v0.438.0 - ISC
3953
+ * @license lucide-react v0.468.0 - ISC
3955
3954
  *
3956
3955
  * This source code is licensed under the ISC license.
3957
3956
  * See the LICENSE file in the root directory of this source tree.
@@ -3959,7 +3958,7 @@ lucide-react/dist/esm/defaultAttributes.js:
3959
3958
 
3960
3959
  lucide-react/dist/esm/Icon.js:
3961
3960
  (**
3962
- * @license lucide-react v0.438.0 - ISC
3961
+ * @license lucide-react v0.468.0 - ISC
3963
3962
  *
3964
3963
  * This source code is licensed under the ISC license.
3965
3964
  * See the LICENSE file in the root directory of this source tree.
@@ -3967,7 +3966,7 @@ lucide-react/dist/esm/Icon.js:
3967
3966
 
3968
3967
  lucide-react/dist/esm/createLucideIcon.js:
3969
3968
  (**
3970
- * @license lucide-react v0.438.0 - ISC
3969
+ * @license lucide-react v0.468.0 - ISC
3971
3970
  *
3972
3971
  * This source code is licensed under the ISC license.
3973
3972
  * See the LICENSE file in the root directory of this source tree.
@@ -3975,7 +3974,7 @@ lucide-react/dist/esm/createLucideIcon.js:
3975
3974
 
3976
3975
  lucide-react/dist/esm/icons/dot.js:
3977
3976
  (**
3978
- * @license lucide-react v0.438.0 - ISC
3977
+ * @license lucide-react v0.468.0 - ISC
3979
3978
  *
3980
3979
  * This source code is licensed under the ISC license.
3981
3980
  * See the LICENSE file in the root directory of this source tree.
@@ -3983,7 +3982,7 @@ lucide-react/dist/esm/icons/dot.js:
3983
3982
 
3984
3983
  lucide-react/dist/esm/lucide-react.js:
3985
3984
  (**
3986
- * @license lucide-react v0.438.0 - ISC
3985
+ * @license lucide-react v0.468.0 - ISC
3987
3986
  *
3988
3987
  * This source code is licensed under the ISC license.
3989
3988
  * See the LICENSE file in the root directory of this source tree.
@@ -1,4 +1,4 @@
1
- import React__default, { FC, InputHTMLAttributes } from 'react';
1
+ import React__default, { FC, InputHTMLAttributes, JSX } from 'react';
2
2
  import { ThirdPartyAuthTextsTypes, LoginFormTextsTypes, RegisterFormTextsTypes, NewPasswordTextsTypes, ResetPasswordTextsTypes, BaseInputType, TextInputType, PricingCardProps, PlanFeature, PricingPlanTexts } from '../types/index.mjs';
3
3
  import { P as PhoneInputProps, S as SelectOptionProps, L as LabelProps, R as RadioOptionsTypes } from '../Radio-BPHTeDMz.mjs';
4
4
  import { D as DirectionType, a as RadioOptionType, O as OrientationType } from '../commonTypes-C-g8nFFC.mjs';
@@ -1,4 +1,4 @@
1
- import React__default, { FC, InputHTMLAttributes } from 'react';
1
+ import React__default, { FC, InputHTMLAttributes, JSX } from 'react';
2
2
  import { ThirdPartyAuthTextsTypes, LoginFormTextsTypes, RegisterFormTextsTypes, NewPasswordTextsTypes, ResetPasswordTextsTypes, BaseInputType, TextInputType, PricingCardProps, PlanFeature, PricingPlanTexts } from '../types/index.js';
3
3
  import { P as PhoneInputProps, S as SelectOptionProps, L as LabelProps, R as RadioOptionsTypes } from '../Radio-cRcIH8_L.js';
4
4
  import { D as DirectionType, a as RadioOptionType, O as OrientationType } from '../commonTypes-C-g8nFFC.js';
@@ -4570,7 +4570,6 @@ var RegisterForm = ({
4570
4570
  resolver: (0, import_zod2.zodResolver)(finalSchema)
4571
4571
  });
4572
4572
  const onSubmit = (data) => {
4573
- console.log("Form submitted with data:", data);
4574
4573
  if (props.onRegister) {
4575
4574
  props.onRegister(data);
4576
4575
  } else {
@@ -5224,19 +5223,19 @@ var z5 = __toESM(require("zod"));
5224
5223
  var React36 = __toESM(require("react"));
5225
5224
  var import_input_otp = require("input-otp");
5226
5225
 
5227
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
5226
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
5228
5227
  var import_react43 = require("react");
5229
5228
 
5230
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
5229
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
5231
5230
  var toKebabCase = (string9) => string9.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
5232
5231
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
5233
- return Boolean(className) && array.indexOf(className) === index;
5234
- }).join(" ");
5232
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
5233
+ }).join(" ").trim();
5235
5234
 
5236
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
5235
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
5237
5236
  var import_react42 = require("react");
5238
5237
 
5239
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
5238
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
5240
5239
  var defaultAttributes = {
5241
5240
  xmlns: "http://www.w3.org/2000/svg",
5242
5241
  width: 24,
@@ -5249,7 +5248,7 @@ var defaultAttributes = {
5249
5248
  strokeLinejoin: "round"
5250
5249
  };
5251
5250
 
5252
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
5251
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
5253
5252
  var Icon = (0, import_react42.forwardRef)(
5254
5253
  ({
5255
5254
  color = "currentColor",
@@ -5281,7 +5280,7 @@ var Icon = (0, import_react42.forwardRef)(
5281
5280
  }
5282
5281
  );
5283
5282
 
5284
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
5283
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
5285
5284
  var createLucideIcon = (iconName, iconNode) => {
5286
5285
  const Component = (0, import_react43.forwardRef)(
5287
5286
  ({ className, ...props }, ref) => (0, import_react43.createElement)(Icon, {
@@ -5295,7 +5294,7 @@ var createLucideIcon = (iconName, iconNode) => {
5295
5294
  return Component;
5296
5295
  };
5297
5296
 
5298
- // ../../node_modules/.pnpm/lucide-react@0.438.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
5297
+ // ../../node_modules/.pnpm/lucide-react@0.468.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
5299
5298
  var Dot = createLucideIcon("Dot", [
5300
5299
  ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
5301
5300
  ]);
@@ -6583,7 +6582,6 @@ var ContactForm = ({
6583
6582
  )
6584
6583
  ),
6585
6584
  customFields && customFields.map((customField) => {
6586
- console.log("custom", customField);
6587
6585
  return /* @__PURE__ */ import_react57.default.createElement(
6588
6586
  import_react_hook_form9.Controller,
6589
6587
  {
@@ -7126,7 +7124,6 @@ var DropdownMenu = ({
7126
7124
  let newValues = [...values];
7127
7125
  newValues[index] = e;
7128
7126
  setValues(newValues);
7129
- console.log("changing to ", e);
7130
7127
  if (item.onOptionChange) {
7131
7128
  item.onOptionChange(e);
7132
7129
  }
@@ -7711,7 +7708,7 @@ var Usage = (props) => {
7711
7708
 
7712
7709
  lucide-react/dist/esm/shared/src/utils.js:
7713
7710
  (**
7714
- * @license lucide-react v0.438.0 - ISC
7711
+ * @license lucide-react v0.468.0 - ISC
7715
7712
  *
7716
7713
  * This source code is licensed under the ISC license.
7717
7714
  * See the LICENSE file in the root directory of this source tree.
@@ -7719,7 +7716,7 @@ lucide-react/dist/esm/shared/src/utils.js:
7719
7716
 
7720
7717
  lucide-react/dist/esm/defaultAttributes.js:
7721
7718
  (**
7722
- * @license lucide-react v0.438.0 - ISC
7719
+ * @license lucide-react v0.468.0 - ISC
7723
7720
  *
7724
7721
  * This source code is licensed under the ISC license.
7725
7722
  * See the LICENSE file in the root directory of this source tree.
@@ -7727,7 +7724,7 @@ lucide-react/dist/esm/defaultAttributes.js:
7727
7724
 
7728
7725
  lucide-react/dist/esm/Icon.js:
7729
7726
  (**
7730
- * @license lucide-react v0.438.0 - ISC
7727
+ * @license lucide-react v0.468.0 - ISC
7731
7728
  *
7732
7729
  * This source code is licensed under the ISC license.
7733
7730
  * See the LICENSE file in the root directory of this source tree.
@@ -7735,7 +7732,7 @@ lucide-react/dist/esm/Icon.js:
7735
7732
 
7736
7733
  lucide-react/dist/esm/createLucideIcon.js:
7737
7734
  (**
7738
- * @license lucide-react v0.438.0 - ISC
7735
+ * @license lucide-react v0.468.0 - ISC
7739
7736
  *
7740
7737
  * This source code is licensed under the ISC license.
7741
7738
  * See the LICENSE file in the root directory of this source tree.
@@ -7743,7 +7740,7 @@ lucide-react/dist/esm/createLucideIcon.js:
7743
7740
 
7744
7741
  lucide-react/dist/esm/icons/dot.js:
7745
7742
  (**
7746
- * @license lucide-react v0.438.0 - ISC
7743
+ * @license lucide-react v0.468.0 - ISC
7747
7744
  *
7748
7745
  * This source code is licensed under the ISC license.
7749
7746
  * See the LICENSE file in the root directory of this source tree.
@@ -7751,7 +7748,7 @@ lucide-react/dist/esm/icons/dot.js:
7751
7748
 
7752
7749
  lucide-react/dist/esm/lucide-react.js:
7753
7750
  (**
7754
- * @license lucide-react v0.438.0 - ISC
7751
+ * @license lucide-react v0.468.0 - ISC
7755
7752
  *
7756
7753
  * This source code is licensed under the ISC license.
7757
7754
  * See the LICENSE file in the root directory of this source tree.
@@ -17,10 +17,10 @@ import {
17
17
  TabsList,
18
18
  TabsTrigger,
19
19
  Textarea
20
- } from "../chunk-XWNN7K63.mjs";
20
+ } from "../chunk-NJJVVA2A.mjs";
21
21
  import {
22
22
  getHotkeyHandler
23
- } from "../chunk-WQR4XZGL.mjs";
23
+ } from "../chunk-Z3ZL22XB.mjs";
24
24
  import {
25
25
  BadEmoji,
26
26
  Button,
@@ -44,8 +44,8 @@ import {
44
44
  VeryBadEmoji,
45
45
  VeryGoodEmoji,
46
46
  cn
47
- } from "../chunk-KDGJZPWK.mjs";
48
- import "../chunk-5SQBJRWE.mjs";
47
+ } from "../chunk-YGLAEAJY.mjs";
48
+ import "../chunk-OWMN44TT.mjs";
49
49
 
50
50
  // blocks/auth/AuthButtons.tsx
51
51
  import React from "react";
@@ -607,7 +607,6 @@ var RegisterForm = ({
607
607
  resolver: zodResolver2(finalSchema)
608
608
  });
609
609
  const onSubmit = (data) => {
610
- console.log("Form submitted with data:", data);
611
610
  if (props.onRegister) {
612
611
  props.onRegister(data);
613
612
  } else {
@@ -2139,7 +2138,6 @@ var ContactForm = ({
2139
2138
  )
2140
2139
  ),
2141
2140
  customFields && customFields.map((customField) => {
2142
- console.log("custom", customField);
2143
2141
  return /* @__PURE__ */ React20.createElement(
2144
2142
  Controller9,
2145
2143
  {
@@ -1764,7 +1764,6 @@ var ContactForm = ({
1764
1764
  )
1765
1765
  ),
1766
1766
  customFields && customFields.map((customField) => {
1767
- console.log("custom", customField);
1768
1767
  return /* @__PURE__ */ import_react34.default.createElement(
1769
1768
  import_react_hook_form2.Controller,
1770
1769
  {
@@ -315,7 +315,6 @@ var ContactForm = ({
315
315
  )
316
316
  ),
317
317
  customFields && customFields.map((customField) => {
318
- console.log("custom", customField);
319
318
  return /* @__PURE__ */ React8.createElement(
320
319
  Controller2,
321
320
  {
@@ -12,7 +12,7 @@ type LabelProps = {
12
12
  };
13
13
 
14
14
  declare const buttonVariants: (props?: ({
15
- variant?: "link" | "default" | "combobox" | "light" | "destructive" | "outline" | "secondary" | "ghost" | "neoBrutalism" | null | undefined;
15
+ variant?: "link" | "combobox" | "default" | "light" | "destructive" | "outline" | "secondary" | "ghost" | "neoBrutalism" | null | undefined;
16
16
  size?: "default" | "icon" | "xs" | "sm" | "lg" | "xl" | "heightless" | "smallIcon" | null | undefined;
17
17
  } & class_variance_authority_types.ClassProp) | undefined) => string;
18
18
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -12,7 +12,7 @@ type LabelProps = {
12
12
  };
13
13
 
14
14
  declare const buttonVariants: (props?: ({
15
- variant?: "link" | "default" | "combobox" | "light" | "destructive" | "outline" | "secondary" | "ghost" | "neoBrutalism" | null | undefined;
15
+ variant?: "link" | "combobox" | "default" | "light" | "destructive" | "outline" | "secondary" | "ghost" | "neoBrutalism" | null | undefined;
16
16
  size?: "default" | "icon" | "xs" | "sm" | "lg" | "xl" | "heightless" | "smallIcon" | null | undefined;
17
17
  } & class_variance_authority_types.ClassProp) | undefined) => string;
18
18
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -6,7 +6,7 @@ type ChipTypes = React__default.HTMLAttributes<HTMLSpanElement> & {
6
6
  /** The text inside the chip */
7
7
  label: string;
8
8
  /** The small icon before the chip label */
9
- icon?: JSX.Element;
9
+ icon?: React__default.JSX.Element;
10
10
  /** The color of the chip, must be a tailwind color */
11
11
  color?: ChipColors;
12
12
  /** The size of the chip */
@@ -21,7 +21,7 @@ declare const Chip: React__default.ForwardRefExoticComponent<React__default.HTML
21
21
  /** The text inside the chip */
22
22
  label: string;
23
23
  /** The small icon before the chip label */
24
- icon?: JSX.Element;
24
+ icon?: React__default.JSX.Element;
25
25
  /** The color of the chip, must be a tailwind color */
26
26
  color?: ChipColors;
27
27
  /** The size of the chip */
@@ -6,7 +6,7 @@ type ChipTypes = React__default.HTMLAttributes<HTMLSpanElement> & {
6
6
  /** The text inside the chip */
7
7
  label: string;
8
8
  /** The small icon before the chip label */
9
- icon?: JSX.Element;
9
+ icon?: React__default.JSX.Element;
10
10
  /** The color of the chip, must be a tailwind color */
11
11
  color?: ChipColors;
12
12
  /** The size of the chip */
@@ -21,7 +21,7 @@ declare const Chip: React__default.ForwardRefExoticComponent<React__default.HTML
21
21
  /** The text inside the chip */
22
22
  label: string;
23
23
  /** The small icon before the chip label */
24
- icon?: JSX.Element;
24
+ icon?: React__default.JSX.Element;
25
25
  /** The color of the chip, must be a tailwind color */
26
26
  color?: ChipColors;
27
27
  /** The size of the chip */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/chip/index.ts","../../elements/chip/Chip.tsx","../../util/index.ts"],"sourcesContent":["export * from \"./Chip\";\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nexport type ChipColors =\n | \"green\"\n | \"blue\"\n | \"red\"\n | \"yellow\"\n | \"orange\"\n | \"purple\"\n | \"cyan\"\n | \"hyper\"\n | \"oceanic\";\n\nexport type ChipTypes = React.HTMLAttributes<HTMLSpanElement> & {\n /** The text inside the chip */\n label: string;\n /** The small icon before the chip label */\n icon?: JSX.Element;\n /** The color of the chip, must be a tailwind color */\n color?: ChipColors;\n /** The size of the chip */\n size?: \"small\" | \"normal\" | \"large\";\n /** Enable/Disable the dot before the label of the chip */\n dot?: boolean;\n /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */\n dotStatus?: \"available\" | \"unavailable\" | \"none\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n { label, size = \"normal\", icon, color, radius = \"inherit\", dot, dotStatus = \"none\", ...rest },\n ref,\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\",\n };\n let sizeStyles = {\n small: \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\",\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\",\n };\n let dotStatusStyles = {\n none: \"hawa-bg-gray-500 dark:hawa-bg-gray-800\",\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\",\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200\",\n blue: \"hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black\",\n orange:\n \"hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100\",\n hyper:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600\",\n };\n if (label) {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n defaultStyles,\n sizeStyles[size],\n radiusStyles[radius],\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n rest.className,\n )}\n >\n {dot && <span className={cn(dotStyles[size], dotStatusStyles[dotStatus])}></span>}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n ></span>\n );\n }\n },\n);\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(sanitizedHex);\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16),\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\"),\n },\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49,\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAkB;;;ACAlB,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AD4BO,IAAM,OAAO,aAAAA,QAAM;AAAA,EACxB,CACE,EAAE,OAAO,OAAO,UAAU,MAAM,OAAO,SAAS,WAAW,KAAK,YAAY,QAAQ,GAAG,KAAK,GAC5F,QACG;AACH,QAAI,gBACF;AACF,QAAI,eAAe;AAAA,MACjB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AACA,QAAI,aAAa;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,YAAY;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,kBAAkB;AAAA,MACpB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AACA,QAAI,cAAmB;AAAA,MACrB,OACE;AAAA,MACF,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QACE;AAAA,MACF,QACE;AAAA,MACF,QACE;AAAA,MACF,MAAM;AAAA,MACN,OACE;AAAA,MACF,SACE;AAAA,IACJ;AACA,QAAI,OAAO;AACT,aACE,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,WAAW,IAAI;AAAA,YACf,aAAa,MAAM;AAAA,YACnB,QAAQ,YAAY,KAAK,IAAI;AAAA,YAC7B,KAAK;AAAA,UACP;AAAA;AAAA,QAEC,OAAO,6BAAAA,QAAA,cAAC,UAAK,WAAW,GAAG,UAAU,IAAI,GAAG,gBAAgB,SAAS,CAAC,GAAG;AAAA,QACzE,QAAQ;AAAA,QACR;AAAA,MACH;AAAA,IAEJ,OAAO;AACL,aACE,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,QAAQ,YAAY,KAAK,IAAI;AAAA,UAC/B;AAAA;AAAA,MACD;AAAA,IAEL;AAAA,EACF;AACF;","names":["React"]}
1
+ {"version":3,"sources":["../../elements/chip/index.ts","../../elements/chip/Chip.tsx","../../util/index.ts"],"sourcesContent":["export * from \"./Chip\";\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nexport type ChipColors =\n | \"green\"\n | \"blue\"\n | \"red\"\n | \"yellow\"\n | \"orange\"\n | \"purple\"\n | \"cyan\"\n | \"hyper\"\n | \"oceanic\";\n\nexport type ChipTypes = React.HTMLAttributes<HTMLSpanElement> & {\n /** The text inside the chip */\n label: string;\n /** The small icon before the chip label */\n icon?: React.JSX.Element;\n /** The color of the chip, must be a tailwind color */\n color?: ChipColors;\n /** The size of the chip */\n size?: \"small\" | \"normal\" | \"large\";\n /** Enable/Disable the dot before the label of the chip */\n dot?: boolean;\n /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */\n dotStatus?: \"available\" | \"unavailable\" | \"none\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n { label, size = \"normal\", icon, color, radius = \"inherit\", dot, dotStatus = \"none\", ...rest },\n ref,\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\",\n };\n let sizeStyles = {\n small: \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\",\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\",\n };\n let dotStatusStyles = {\n none: \"hawa-bg-gray-500 dark:hawa-bg-gray-800\",\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\",\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200\",\n blue: \"hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black\",\n orange:\n \"hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100\",\n hyper:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600\",\n };\n if (label) {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n defaultStyles,\n sizeStyles[size],\n radiusStyles[radius],\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n rest.className,\n )}\n >\n {dot && <span className={cn(dotStyles[size], dotStatusStyles[dotStatus])}></span>}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n ></span>\n );\n }\n },\n);\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(sanitizedHex);\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16),\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\"),\n },\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49,\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAkB;;;ACAlB,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AD4BO,IAAM,OAAO,aAAAA,QAAM;AAAA,EACxB,CACE,EAAE,OAAO,OAAO,UAAU,MAAM,OAAO,SAAS,WAAW,KAAK,YAAY,QAAQ,GAAG,KAAK,GAC5F,QACG;AACH,QAAI,gBACF;AACF,QAAI,eAAe;AAAA,MACjB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AACA,QAAI,aAAa;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,YAAY;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,kBAAkB;AAAA,MACpB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AACA,QAAI,cAAmB;AAAA,MACrB,OACE;AAAA,MACF,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QACE;AAAA,MACF,QACE;AAAA,MACF,QACE;AAAA,MACF,MAAM;AAAA,MACN,OACE;AAAA,MACF,SACE;AAAA,IACJ;AACA,QAAI,OAAO;AACT,aACE,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,WAAW,IAAI;AAAA,YACf,aAAa,MAAM;AAAA,YACnB,QAAQ,YAAY,KAAK,IAAI;AAAA,YAC7B,KAAK;AAAA,UACP;AAAA;AAAA,QAEC,OAAO,6BAAAA,QAAA,cAAC,UAAK,WAAW,GAAG,UAAU,IAAI,GAAG,gBAAgB,SAAS,CAAC,GAAG;AAAA,QACzE,QAAQ;AAAA,QACR;AAAA,MACH;AAAA,IAEJ,OAAO;AACL,aACE,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,QAAQ,YAAY,KAAK,IAAI;AAAA,UAC/B;AAAA;AAAA,MACD;AAAA,IAEL;AAAA,EACF;AACF;","names":["React"]}