@sikka/hawa 0.30.2-next → 0.30.4-next

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/Label-9FHRF7Ex.d.mts +14 -0
  2. package/dist/Label-9FHRF7Ex.d.ts +14 -0
  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/blocks/auth/index.js +34 -3
  8. package/dist/blocks/auth/index.mjs +7 -2
  9. package/dist/blocks/index.js +36 -5
  10. package/dist/blocks/index.mjs +7 -2
  11. package/dist/blocks/misc/index.js +28 -2
  12. package/dist/blocks/misc/index.mjs +1 -1
  13. package/dist/{chunk-KZCOE6V3.mjs → chunk-E6VRANQ3.mjs} +28 -2
  14. package/dist/{chunk-Q754X27Z.mjs → chunk-N4O2A727.mjs} +30 -4
  15. package/dist/dataTable/index.js +28 -2
  16. package/dist/dataTable/index.js.map +1 -1
  17. package/dist/dataTable/index.mjs +28 -2
  18. package/dist/dataTable/index.mjs.map +1 -1
  19. package/dist/elements/index.d.mts +8 -3
  20. package/dist/elements/index.d.ts +8 -3
  21. package/dist/elements/index.js +35 -24
  22. package/dist/elements/index.mjs +6 -21
  23. package/dist/index.css +0 -10
  24. package/dist/index.d.mts +8 -3
  25. package/dist/index.d.ts +8 -3
  26. package/dist/index.js +41 -25
  27. package/dist/index.mjs +41 -25
  28. package/dist/input/index.d.mts +2 -0
  29. package/dist/input/index.d.ts +2 -0
  30. package/dist/input/index.js +28 -2
  31. package/dist/input/index.js.map +1 -1
  32. package/dist/input/index.mjs +28 -2
  33. package/dist/input/index.mjs.map +1 -1
  34. package/dist/passwordInput/index.js +28 -2
  35. package/dist/passwordInput/index.js.map +1 -1
  36. package/dist/passwordInput/index.mjs +28 -2
  37. package/dist/passwordInput/index.mjs.map +1 -1
  38. package/dist/progress/index.d.mts +5 -1
  39. package/dist/progress/index.d.ts +5 -1
  40. package/dist/progress/index.js +120 -4
  41. package/dist/progress/index.js.map +1 -1
  42. package/dist/progress/index.mjs +120 -4
  43. package/dist/progress/index.mjs.map +1 -1
  44. package/dist/progressCircle/index.d.mts +1 -1
  45. package/dist/progressCircle/index.d.ts +1 -1
  46. package/dist/progressCircle/index.js +5 -20
  47. package/dist/progressCircle/index.js.map +1 -1
  48. package/dist/progressCircle/index.mjs +5 -20
  49. package/dist/progressCircle/index.mjs.map +1 -1
  50. package/dist/radio/index.d.mts +1 -12
  51. package/dist/radio/index.d.ts +1 -12
  52. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+
3
+ type DirectionType = "rtl" | "ltr";
4
+ type PositionType = "top" | "bottom" | "right" | "left";
5
+ type OrientationType = "vertical" | "horizontal";
6
+
7
+ type LabelProps = {
8
+ hint?: React.ReactNode;
9
+ hintSide?: PositionType;
10
+ htmlFor?: string;
11
+ required?: boolean;
12
+ };
13
+
14
+ export type { DirectionType as D, LabelProps as L, OrientationType as O };
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+
3
+ type DirectionType = "rtl" | "ltr";
4
+ type PositionType = "top" | "bottom" | "right" | "left";
5
+ type OrientationType = "vertical" | "horizontal";
6
+
7
+ type LabelProps = {
8
+ hint?: React.ReactNode;
9
+ hintSide?: PositionType;
10
+ htmlFor?: string;
11
+ required?: boolean;
12
+ };
13
+
14
+ export type { DirectionType as D, LabelProps as L, OrientationType as O };
@@ -21,7 +21,7 @@ type ChipTypes = React__default.HTMLAttributes<HTMLSpanElement> & {
21
21
  };
22
22
 
23
23
  type AccordionItemProps = {
24
- trigger: string;
24
+ trigger: React.ReactNode;
25
25
  content: React.ReactNode;
26
26
  disabled?: boolean;
27
27
  chip?: ChipTypes;
@@ -21,7 +21,7 @@ type ChipTypes = React__default.HTMLAttributes<HTMLSpanElement> & {
21
21
  };
22
22
 
23
23
  type AccordionItemProps = {
24
- trigger: string;
24
+ trigger: React.ReactNode;
25
25
  content: React.ReactNode;
26
26
  disabled?: boolean;
27
27
  chip?: ChipTypes;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/accordion/index.ts","../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["export * from \"./Accordion\";\nexport * from \"./AccordionItem\";\nexport * from \"./AccordionTrigger\";\nexport * from \"./AccordionRoot\";\nexport * from \"./AccordionContent\";\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: string;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n// & React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\"\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\":\n index === items.length - 1\n },\n triggerclassNames\n )}\n >\n <span\n className={cn(\n \"hawa-flex hawa-flex-row\",\n item.chip && \"hawa-gap-2\"\n )}\n >\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\":\n index === items.length - 1\n },\n contentclassNames\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n )\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\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 dotType?: \"available\" | \"unavailable\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n {\n label,\n size = \"normal\",\n icon,\n color,\n radius = \"inherit\",\n dotType,\n ...rest\n },\n ref\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\"\n };\n let sizeStyles = {\n small:\n \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\"\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\"\n };\n let dotTypeStyles = {\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\"\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-100 hawa-text-green-500 dark:hawa-bg-green-400 dark:hawa-text-green-800\",\n blue: \"hawa-bg-blue-100 hawa-text-blue-500 dark:hawa-bg-blue-400 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-100 hawa-text-red-500 dark:hawa-bg-red-400 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-100 hawa-text-yellow-600 dark:hawa-bg-yellow-400 dark:hawa-text-yellow-800\",\n orange:\n \"hawa-bg-orange-100 hawa-text-orange-500 dark:hawa-bg-orange-400 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-100 hawa-text-purple-500 dark:hawa-bg-purple-400 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-100 hawa-text-cyan-800 dark:hawa-bg-cyan-400 dark:hawa-text-cyan-800\",\n hyper:\n \"hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white 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 )}\n >\n {dotType && (\n <span\n className={cn(dotStyles[size], dotTypeStyles[dotType])}\n ></span>\n )}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\"\n )}\n ></span>\n );\n }\n }\n);\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> & {\n unstyled?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down\",\n className\n )\n : className\n }\n {...props}\n >\n <div className=\"hawa-bg-background hawa-p-4\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { AccordionContent };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {\n unstyled?: boolean;\n hideArrow?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"hawa-flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180\",\n props.disabled\n ? \"hawa-bg-muted/30 hawa-text-muted-foreground/50\"\n : \"hover:hawa-bg-muted\",\n className\n )\n : className\n }\n {...props}\n >\n {children}\n {!props.hideArrow && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nexport { AccordionTrigger };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport { AccordionItem };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nconst AccordionRoot = AccordionPrimitive.Root;\nexport { AccordionRoot };\n"],"mappings":"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","names":["React","AccordionPrimitive","React","React","React","AccordionPrimitive","React","AccordionPrimitive","AccordionPrimitive"]}
1
+ {"version":3,"sources":["../../elements/accordion/index.ts","../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["export * from \"./Accordion\";\nexport * from \"./AccordionItem\";\nexport * from \"./AccordionTrigger\";\nexport * from \"./AccordionRoot\";\nexport * from \"./AccordionContent\";\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n// & React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\"\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\":\n index === items.length - 1\n },\n triggerclassNames\n )}\n >\n <span\n className={cn(\n \"hawa-flex hawa-flex-row\",\n item.chip && \"hawa-gap-2\"\n )}\n >\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\":\n index === items.length - 1\n },\n contentclassNames\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n )\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\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 dotType?: \"available\" | \"unavailable\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n {\n label,\n size = \"normal\",\n icon,\n color,\n radius = \"inherit\",\n dotType,\n ...rest\n },\n ref\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\"\n };\n let sizeStyles = {\n small:\n \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\"\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\"\n };\n let dotTypeStyles = {\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\"\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-100 hawa-text-green-500 dark:hawa-bg-green-400 dark:hawa-text-green-800\",\n blue: \"hawa-bg-blue-100 hawa-text-blue-500 dark:hawa-bg-blue-400 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-100 hawa-text-red-500 dark:hawa-bg-red-400 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-100 hawa-text-yellow-600 dark:hawa-bg-yellow-400 dark:hawa-text-yellow-800\",\n orange:\n \"hawa-bg-orange-100 hawa-text-orange-500 dark:hawa-bg-orange-400 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-100 hawa-text-purple-500 dark:hawa-bg-purple-400 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-100 hawa-text-cyan-800 dark:hawa-bg-cyan-400 dark:hawa-text-cyan-800\",\n hyper:\n \"hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white 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 )}\n >\n {dotType && (\n <span\n className={cn(dotStyles[size], dotTypeStyles[dotType])}\n ></span>\n )}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\"\n )}\n ></span>\n );\n }\n }\n);\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> & {\n unstyled?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down\",\n className\n )\n : className\n }\n {...props}\n >\n <div className=\"hawa-bg-background hawa-p-4\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { AccordionContent };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {\n unstyled?: boolean;\n hideArrow?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"hawa-flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180\",\n props.disabled\n ? \"hawa-bg-muted/30 hawa-text-muted-foreground/50\"\n : \"hover:hawa-bg-muted\",\n className\n )\n : className\n }\n {...props}\n >\n {children}\n {!props.hideArrow && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nexport { AccordionTrigger };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport { AccordionItem };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nconst AccordionRoot = AccordionPrimitive.Root;\nexport { AccordionRoot };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,SAAuB;AAEvB,IAAAC,sBAAoC;;;ACFpC,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ACLA,mBAAkB;AAiCX,IAAM,OAAO,aAAAC,QAAM;AAAA,EACxB,CACE;AAAA,IACE;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,QAAI,gBACF;AACF,QAAI,eAAe;AAAA,MACjB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AACA,QAAI,aAAa;AAAA,MACf,OACE;AAAA,MACF,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,YAAY;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,gBAAgB;AAAA,MAClB,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,UAC/B;AAAA;AAAA,QAEC,WACC,6BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,UAAU,IAAI,GAAG,cAAc,OAAO,CAAC;AAAA;AAAA,QACtD;AAAA,QAEF,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;;;ACvHA,IAAAC,SAAuB;AAEvB,yBAAoC;AAGpC,IAAM,mBAAyB,kBAK7B,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA,WACE,CAAC,MAAM,WACH;AAAA,MACE;AAAA,MACA;AAAA,IACF,IACA;AAAA,IAEL,GAAG;AAAA;AAAA,EAEJ,qCAAC,SAAI,WAAU,iCAA+B,QAAS;AACzD,CACD;AACD,iBAAiB,cAAiC,2BAAQ;;;AC1B1D,IAAAC,SAAuB;AAEvB,IAAAC,sBAAoC;AAGpC,IAAM,mBAAyB,kBAM7B,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC,qCAAoB,4BAAnB,EAA0B,WAAU,eACnC;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA,WACE,CAAC,MAAM,WACH;AAAA,MACE;AAAA,MACA,MAAM,WACF,mDACA;AAAA,MACJ;AAAA,IACF,IACA;AAAA,IAEL,GAAG;AAAA;AAAA,EAEH;AAAA,EACA,CAAC,MAAM,aACN;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,WAAU;AAAA;AAAA,IAEV,qCAAC,UAAK,GAAE,gBAAe;AAAA,EACzB;AAEJ,CACF,CACD;AAED,iBAAiB,cAAiC,4BAAQ;;;AJrB1D,IAAM,YAAkB;AAAA,EAItB,CACE;AAAA,IACE;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QAEA,qCAAoB,0BAAnB,EAAwB,MAAM,MAAM,MAAM,aAAW,QACpD;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,2BAA2B;AAAA,QACvC,cAAc,WAAW;AAAA,QACzB,cAAc,WAAW;AAAA,MAC3B,CAAC;AAAA;AAAA,IAEA,MAAM,IAAI,CAAC,MAAM,UAChB;AAAA,MAAoB;AAAA,MAAnB;AAAA,QACC,UAAU,KAAK,YAAY;AAAA,QAC3B,WAAW,GAAG,gBAAgB,cAAc;AAAA,QAC5C,KAAK;AAAA,QACL,OAAO,QAAQ,KAAK;AAAA;AAAA,MAEpB;AAAA,QAAC;AAAA;AAAA,UACC,UAAU,KAAK,YAAY;AAAA,UAC3B,WAAW;AAAA,YACT;AAAA,YACA,WAAW,cACP,uDACA;AAAA,cACE,kBAAkB,UAAU;AAAA,cAC5B,sCACE,UAAU,MAAM,SAAS;AAAA,YAC7B;AAAA,YACJ;AAAA,UACF;AAAA;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA,KAAK,QAAQ;AAAA,YACf;AAAA;AAAA,UAEC,KAAK;AAAA,UAAQ;AAAA,UAAE,KAAK,QAAQ,qCAAC,QAAM,GAAG,KAAK,MAAM;AAAA,QACpD;AAAA,MACF;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,iBAAe,KAAK,YAAY;AAAA,UAChC,WAAW;AAAA,YACT;AAAA,YACA,WAAW,cACP,uDACA;AAAA,cACE,oCACE,UAAU,MAAM,SAAS;AAAA,YAC7B;AAAA,YACJ;AAAA,UACF;AAAA;AAAA,QAEC,KAAK;AAAA,MACR;AAAA,IACF,CACD;AAAA,EACH,CACF;AAEJ;AAEA,UAAU,cAAc;;;AKvGxB,IAAAC,SAAuB;AAEvB,IAAAC,sBAAoC;AAGpC,IAAM,gBAAsB,kBAG1B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,qCAAoB,0BAAnB,EAAwB,KAAU,WAAW,GAAG,SAAS,GAAI,GAAG,OAAO,CACzE;AAED,cAAc,cAAc;;;ACV5B,IAAAC,sBAAoC;AAEpC,IAAM,gBAAmC;","names":["React","AccordionPrimitive","React","React","React","AccordionPrimitive","React","AccordionPrimitive","AccordionPrimitive"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: string;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n// & React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\"\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\":\n index === items.length - 1\n },\n triggerclassNames\n )}\n >\n <span\n className={cn(\n \"hawa-flex hawa-flex-row\",\n item.chip && \"hawa-gap-2\"\n )}\n >\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\":\n index === items.length - 1\n },\n contentclassNames\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n )\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\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 dotType?: \"available\" | \"unavailable\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n {\n label,\n size = \"normal\",\n icon,\n color,\n radius = \"inherit\",\n dotType,\n ...rest\n },\n ref\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\"\n };\n let sizeStyles = {\n small:\n \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\"\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\"\n };\n let dotTypeStyles = {\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\"\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-100 hawa-text-green-500 dark:hawa-bg-green-400 dark:hawa-text-green-800\",\n blue: \"hawa-bg-blue-100 hawa-text-blue-500 dark:hawa-bg-blue-400 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-100 hawa-text-red-500 dark:hawa-bg-red-400 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-100 hawa-text-yellow-600 dark:hawa-bg-yellow-400 dark:hawa-text-yellow-800\",\n orange:\n \"hawa-bg-orange-100 hawa-text-orange-500 dark:hawa-bg-orange-400 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-100 hawa-text-purple-500 dark:hawa-bg-purple-400 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-100 hawa-text-cyan-800 dark:hawa-bg-cyan-400 dark:hawa-text-cyan-800\",\n hyper:\n \"hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white 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 )}\n >\n {dotType && (\n <span\n className={cn(dotStyles[size], dotTypeStyles[dotType])}\n ></span>\n )}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\"\n )}\n ></span>\n );\n }\n }\n);\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> & {\n unstyled?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down\",\n className\n )\n : className\n }\n {...props}\n >\n <div className=\"hawa-bg-background hawa-p-4\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { AccordionContent };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {\n unstyled?: boolean;\n hideArrow?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"hawa-flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180\",\n props.disabled\n ? \"hawa-bg-muted/30 hawa-text-muted-foreground/50\"\n : \"hover:hawa-bg-muted\",\n className\n )\n : className\n }\n {...props}\n >\n {children}\n {!props.hideArrow && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nexport { AccordionTrigger };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport { AccordionItem };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nconst AccordionRoot = AccordionPrimitive.Root;\nexport { AccordionRoot };\n"],"mappings":"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","names":["React","AccordionPrimitive","React","React","AccordionPrimitive","React","AccordionPrimitive","AccordionPrimitive"]}
1
+ {"version":3,"sources":["../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n// & React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\"\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\":\n index === items.length - 1\n },\n triggerclassNames\n )}\n >\n <span\n className={cn(\n \"hawa-flex hawa-flex-row\",\n item.chip && \"hawa-gap-2\"\n )}\n >\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\":\n index === items.length - 1\n },\n contentclassNames\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n )\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\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 dotType?: \"available\" | \"unavailable\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n {\n label,\n size = \"normal\",\n icon,\n color,\n radius = \"inherit\",\n dotType,\n ...rest\n },\n ref\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\"\n };\n let sizeStyles = {\n small:\n \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\"\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\"\n };\n let dotTypeStyles = {\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\"\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-100 hawa-text-green-500 dark:hawa-bg-green-400 dark:hawa-text-green-800\",\n blue: \"hawa-bg-blue-100 hawa-text-blue-500 dark:hawa-bg-blue-400 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-100 hawa-text-red-500 dark:hawa-bg-red-400 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-100 hawa-text-yellow-600 dark:hawa-bg-yellow-400 dark:hawa-text-yellow-800\",\n orange:\n \"hawa-bg-orange-100 hawa-text-orange-500 dark:hawa-bg-orange-400 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-100 hawa-text-purple-500 dark:hawa-bg-purple-400 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-100 hawa-text-cyan-800 dark:hawa-bg-cyan-400 dark:hawa-text-cyan-800\",\n hyper:\n \"hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white 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 )}\n >\n {dotType && (\n <span\n className={cn(dotStyles[size], dotTypeStyles[dotType])}\n ></span>\n )}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\"\n )}\n ></span>\n );\n }\n }\n);\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> & {\n unstyled?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down\",\n className\n )\n : className\n }\n {...props}\n >\n <div className=\"hawa-bg-background hawa-p-4\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { AccordionContent };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {\n unstyled?: boolean;\n hideArrow?: boolean;\n }\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"hawa-flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={\n !props.unstyled\n ? cn(\n \"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180\",\n props.disabled\n ? \"hawa-bg-muted/30 hawa-text-muted-foreground/50\"\n : \"hover:hawa-bg-muted\",\n className\n )\n : className\n }\n {...props}\n >\n {children}\n {!props.hideArrow && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nexport { AccordionTrigger };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport { AccordionItem };\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nconst AccordionRoot = AccordionPrimitive.Root;\nexport { AccordionRoot };\n"],"mappings":"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","names":["React","AccordionPrimitive","React","React","AccordionPrimitive","React","AccordionPrimitive","AccordionPrimitive"]}
@@ -1209,6 +1209,23 @@ var Input = (0, import_react7.forwardRef)(
1209
1209
  };
1210
1210
  let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
1211
1211
  let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
1212
+ const handleChange = (e) => {
1213
+ let newValue = e.target.value;
1214
+ if (props.prefixText) {
1215
+ if (newValue.length < props.prefixText.length) {
1216
+ newValue = props.prefixText;
1217
+ } else {
1218
+ const isSubstring = props.prefixText.startsWith(newValue);
1219
+ if (!isSubstring && !newValue.startsWith(props.prefixText)) {
1220
+ newValue = `${props.prefixText}${newValue}`;
1221
+ }
1222
+ }
1223
+ }
1224
+ if (props.onChange) {
1225
+ const newEvent = { ...e, target: { ...e.target, value: newValue } };
1226
+ props.onChange(newEvent);
1227
+ }
1228
+ };
1212
1229
  return /* @__PURE__ */ import_react7.default.createElement(
1213
1230
  "div",
1214
1231
  {
@@ -1221,7 +1238,16 @@ var Input = (0, import_react7.forwardRef)(
1221
1238
  )
1222
1239
  },
1223
1240
  props.label && /* @__PURE__ */ import_react7.default.createElement(Label, { ...labelProps }, props.label),
1224
- /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.prefixText && /* @__PURE__ */ import_react7.default.createElement("span", { className: cn("hawa-me-2 hawa-opacity-90", !forceHideHelperText && "hawa-mb-2") }, props.prefixText), props.isLoading ? /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ import_react7.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react7.default.createElement(
1241
+ /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.outsidePrefix && /* @__PURE__ */ import_react7.default.createElement(
1242
+ "span",
1243
+ {
1244
+ className: cn(
1245
+ "hawa-me-2 hawa-opacity-90",
1246
+ !forceHideHelperText && "hawa-mb-2"
1247
+ )
1248
+ },
1249
+ props.outsidePrefix
1250
+ ), props.isLoading ? /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ import_react7.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react7.default.createElement(
1225
1251
  "div",
1226
1252
  {
1227
1253
  className: cn(
@@ -1245,7 +1271,7 @@ var Input = (0, import_react7.forwardRef)(
1245
1271
  dir: props.dir,
1246
1272
  type: props.type,
1247
1273
  value: props.value,
1248
- onChange: props.onChange,
1274
+ onChange: handleChange,
1249
1275
  autoComplete: props.autoComplete,
1250
1276
  defaultValue: props.defaultValue,
1251
1277
  placeholder,
@@ -3795,7 +3821,12 @@ var RegisterForm = ({
3795
3821
  direction: props.direction,
3796
3822
  title: props.errorTitle,
3797
3823
  text: props.errorText,
3798
- severity: "error"
3824
+ severity: "error",
3825
+ onAlertClosed: () => {
3826
+ if (props.onErrorDismissed) {
3827
+ props.onErrorDismissed();
3828
+ }
3829
+ }
3799
3830
  }
3800
3831
  ), /* @__PURE__ */ import_react15.default.createElement(import_react_hook_form2.FormProvider, { ...methods }, /* @__PURE__ */ import_react15.default.createElement(
3801
3832
  "form",
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  Input
4
- } from "../../chunk-KZCOE6V3.mjs";
4
+ } from "../../chunk-E6VRANQ3.mjs";
5
5
  import {
6
6
  StopPropagationWrapper
7
7
  } from "../../chunk-47APBDKK.mjs";
@@ -2919,7 +2919,12 @@ var RegisterForm = ({
2919
2919
  direction: props.direction,
2920
2920
  title: props.errorTitle,
2921
2921
  text: props.errorText,
2922
- severity: "error"
2922
+ severity: "error",
2923
+ onAlertClosed: () => {
2924
+ if (props.onErrorDismissed) {
2925
+ props.onErrorDismissed();
2926
+ }
2927
+ }
2923
2928
  }
2924
2929
  ), /* @__PURE__ */ React7.createElement(FormProvider, { ...methods }, /* @__PURE__ */ React7.createElement(
2925
2930
  "form",
@@ -1230,6 +1230,23 @@ var Input = (0, import_react7.forwardRef)(
1230
1230
  };
1231
1231
  let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
1232
1232
  let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
1233
+ const handleChange = (e) => {
1234
+ let newValue = e.target.value;
1235
+ if (props.prefixText) {
1236
+ if (newValue.length < props.prefixText.length) {
1237
+ newValue = props.prefixText;
1238
+ } else {
1239
+ const isSubstring = props.prefixText.startsWith(newValue);
1240
+ if (!isSubstring && !newValue.startsWith(props.prefixText)) {
1241
+ newValue = `${props.prefixText}${newValue}`;
1242
+ }
1243
+ }
1244
+ }
1245
+ if (props.onChange) {
1246
+ const newEvent = { ...e, target: { ...e.target, value: newValue } };
1247
+ props.onChange(newEvent);
1248
+ }
1249
+ };
1233
1250
  return /* @__PURE__ */ import_react7.default.createElement(
1234
1251
  "div",
1235
1252
  {
@@ -1242,7 +1259,16 @@ var Input = (0, import_react7.forwardRef)(
1242
1259
  )
1243
1260
  },
1244
1261
  props.label && /* @__PURE__ */ import_react7.default.createElement(Label, { ...labelProps }, props.label),
1245
- /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.prefixText && /* @__PURE__ */ import_react7.default.createElement("span", { className: cn("hawa-me-2 hawa-opacity-90", !forceHideHelperText && "hawa-mb-2") }, props.prefixText), props.isLoading ? /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ import_react7.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react7.default.createElement(
1262
+ /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.outsidePrefix && /* @__PURE__ */ import_react7.default.createElement(
1263
+ "span",
1264
+ {
1265
+ className: cn(
1266
+ "hawa-me-2 hawa-opacity-90",
1267
+ !forceHideHelperText && "hawa-mb-2"
1268
+ )
1269
+ },
1270
+ props.outsidePrefix
1271
+ ), props.isLoading ? /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ import_react7.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react7.default.createElement(
1246
1272
  "div",
1247
1273
  {
1248
1274
  className: cn(
@@ -1266,7 +1292,7 @@ var Input = (0, import_react7.forwardRef)(
1266
1292
  dir: props.dir,
1267
1293
  type: props.type,
1268
1294
  value: props.value,
1269
- onChange: props.onChange,
1295
+ onChange: handleChange,
1270
1296
  autoComplete: props.autoComplete,
1271
1297
  defaultValue: props.defaultValue,
1272
1298
  placeholder,
@@ -3952,7 +3978,12 @@ var RegisterForm = ({
3952
3978
  direction: props.direction,
3953
3979
  title: props.errorTitle,
3954
3980
  text: props.errorText,
3955
- severity: "error"
3981
+ severity: "error",
3982
+ onAlertClosed: () => {
3983
+ if (props.onErrorDismissed) {
3984
+ props.onErrorDismissed();
3985
+ }
3986
+ }
3956
3987
  }
3957
3988
  ), /* @__PURE__ */ import_react15.default.createElement(import_react_hook_form2.FormProvider, { ...methods }, /* @__PURE__ */ import_react15.default.createElement(
3958
3989
  "form",
@@ -7119,7 +7150,7 @@ var import_react44 = __toESM(require("react"));
7119
7150
  // elements/progress/Progress.tsx
7120
7151
  var React54 = __toESM(require("react"));
7121
7152
  var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
7122
- var Progress = React54.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ React54.createElement(
7153
+ var Progress = React54.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ React54.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, props.label && /* @__PURE__ */ React54.createElement(Label, { ...props.labelProps }, props.label), /* @__PURE__ */ React54.createElement(
7123
7154
  ProgressPrimitive.Root,
7124
7155
  {
7125
7156
  ref,
@@ -7136,7 +7167,7 @@ var Progress = React54.forwardRef(({ className, value, ...props }, ref) => /* @_
7136
7167
  style: { transform: `translateX(-${100 - (value || 0)}%)` }
7137
7168
  }
7138
7169
  )
7139
- ));
7170
+ )));
7140
7171
  Progress.displayName = ProgressPrimitive.Root.displayName;
7141
7172
 
7142
7173
  // blocks/Usage.tsx
@@ -26,7 +26,7 @@ import {
26
26
  UncheckMark,
27
27
  VeryBadEmoji,
28
28
  VeryGoodEmoji
29
- } from "../chunk-Q754X27Z.mjs";
29
+ } from "../chunk-N4O2A727.mjs";
30
30
  import {
31
31
  Button,
32
32
  Card,
@@ -540,7 +540,12 @@ var RegisterForm = ({
540
540
  direction: props.direction,
541
541
  title: props.errorTitle,
542
542
  text: props.errorText,
543
- severity: "error"
543
+ severity: "error",
544
+ onAlertClosed: () => {
545
+ if (props.onErrorDismissed) {
546
+ props.onErrorDismissed();
547
+ }
548
+ }
544
549
  }
545
550
  ), /* @__PURE__ */ React3.createElement(FormProvider, { ...methods }, /* @__PURE__ */ React3.createElement(
546
551
  "form",
@@ -931,6 +931,23 @@ var Input = (0, import_react8.forwardRef)(
931
931
  };
932
932
  let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
933
933
  let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
934
+ const handleChange = (e) => {
935
+ let newValue = e.target.value;
936
+ if (props.prefixText) {
937
+ if (newValue.length < props.prefixText.length) {
938
+ newValue = props.prefixText;
939
+ } else {
940
+ const isSubstring = props.prefixText.startsWith(newValue);
941
+ if (!isSubstring && !newValue.startsWith(props.prefixText)) {
942
+ newValue = `${props.prefixText}${newValue}`;
943
+ }
944
+ }
945
+ }
946
+ if (props.onChange) {
947
+ const newEvent = { ...e, target: { ...e.target, value: newValue } };
948
+ props.onChange(newEvent);
949
+ }
950
+ };
934
951
  return /* @__PURE__ */ import_react8.default.createElement(
935
952
  "div",
936
953
  {
@@ -943,7 +960,16 @@ var Input = (0, import_react8.forwardRef)(
943
960
  )
944
961
  },
945
962
  props.label && /* @__PURE__ */ import_react8.default.createElement(Label, { ...labelProps }, props.label),
946
- /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.prefixText && /* @__PURE__ */ import_react8.default.createElement("span", { className: cn("hawa-me-2 hawa-opacity-90", !forceHideHelperText && "hawa-mb-2") }, props.prefixText), props.isLoading ? /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ import_react8.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react8.default.createElement(
963
+ /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.outsidePrefix && /* @__PURE__ */ import_react8.default.createElement(
964
+ "span",
965
+ {
966
+ className: cn(
967
+ "hawa-me-2 hawa-opacity-90",
968
+ !forceHideHelperText && "hawa-mb-2"
969
+ )
970
+ },
971
+ props.outsidePrefix
972
+ ), props.isLoading ? /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ import_react8.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react8.default.createElement(
947
973
  "div",
948
974
  {
949
975
  className: cn(
@@ -967,7 +993,7 @@ var Input = (0, import_react8.forwardRef)(
967
993
  dir: props.dir,
968
994
  type: props.type,
969
995
  value: props.value,
970
- onChange: props.onChange,
996
+ onChange: handleChange,
971
997
  autoComplete: props.autoComplete,
972
998
  defaultValue: props.defaultValue,
973
999
  placeholder,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  Input
4
- } from "../../chunk-KZCOE6V3.mjs";
4
+ } from "../../chunk-E6VRANQ3.mjs";
5
5
  import {
6
6
  Chip,
7
7
  ScrollArea
@@ -34,6 +34,23 @@ var Input = forwardRef(
34
34
  };
35
35
  let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
36
36
  let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
37
+ const handleChange = (e) => {
38
+ let newValue = e.target.value;
39
+ if (props.prefixText) {
40
+ if (newValue.length < props.prefixText.length) {
41
+ newValue = props.prefixText;
42
+ } else {
43
+ const isSubstring = props.prefixText.startsWith(newValue);
44
+ if (!isSubstring && !newValue.startsWith(props.prefixText)) {
45
+ newValue = `${props.prefixText}${newValue}`;
46
+ }
47
+ }
48
+ }
49
+ if (props.onChange) {
50
+ const newEvent = { ...e, target: { ...e.target, value: newValue } };
51
+ props.onChange(newEvent);
52
+ }
53
+ };
37
54
  return /* @__PURE__ */ React.createElement(
38
55
  "div",
39
56
  {
@@ -46,7 +63,16 @@ var Input = forwardRef(
46
63
  )
47
64
  },
48
65
  props.label && /* @__PURE__ */ React.createElement(Label, { ...labelProps }, props.label),
49
- /* @__PURE__ */ React.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.prefixText && /* @__PURE__ */ React.createElement("span", { className: cn("hawa-me-2 hawa-opacity-90", !forceHideHelperText && "hawa-mb-2") }, props.prefixText), props.isLoading ? /* @__PURE__ */ React.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ React.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ React.createElement(React.Fragment, null, !props.hideSeparator && /* @__PURE__ */ React.createElement(
66
+ /* @__PURE__ */ React.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.outsidePrefix && /* @__PURE__ */ React.createElement(
67
+ "span",
68
+ {
69
+ className: cn(
70
+ "hawa-me-2 hawa-opacity-90",
71
+ !forceHideHelperText && "hawa-mb-2"
72
+ )
73
+ },
74
+ props.outsidePrefix
75
+ ), props.isLoading ? /* @__PURE__ */ React.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ React.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ React.createElement(React.Fragment, null, !props.hideSeparator && /* @__PURE__ */ React.createElement(
50
76
  "div",
51
77
  {
52
78
  className: cn(
@@ -70,7 +96,7 @@ var Input = forwardRef(
70
96
  dir: props.dir,
71
97
  type: props.type,
72
98
  value: props.value,
73
- onChange: props.onChange,
99
+ onChange: handleChange,
74
100
  autoComplete: props.autoComplete,
75
101
  defaultValue: props.defaultValue,
76
102
  placeholder,
@@ -223,6 +223,23 @@ var Input = forwardRef2(
223
223
  };
224
224
  let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
225
225
  let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
226
+ const handleChange = (e) => {
227
+ let newValue = e.target.value;
228
+ if (props.prefixText) {
229
+ if (newValue.length < props.prefixText.length) {
230
+ newValue = props.prefixText;
231
+ } else {
232
+ const isSubstring = props.prefixText.startsWith(newValue);
233
+ if (!isSubstring && !newValue.startsWith(props.prefixText)) {
234
+ newValue = `${props.prefixText}${newValue}`;
235
+ }
236
+ }
237
+ }
238
+ if (props.onChange) {
239
+ const newEvent = { ...e, target: { ...e.target, value: newValue } };
240
+ props.onChange(newEvent);
241
+ }
242
+ };
226
243
  return /* @__PURE__ */ React3.createElement(
227
244
  "div",
228
245
  {
@@ -235,7 +252,16 @@ var Input = forwardRef2(
235
252
  )
236
253
  },
237
254
  props.label && /* @__PURE__ */ React3.createElement(Label, { ...labelProps }, props.label),
238
- /* @__PURE__ */ React3.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.prefixText && /* @__PURE__ */ React3.createElement("span", { className: cn("hawa-me-2 hawa-opacity-90", !forceHideHelperText && "hawa-mb-2") }, props.prefixText), props.isLoading ? /* @__PURE__ */ React3.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ React3.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ React3.createElement(React3.Fragment, null, !props.hideSeparator && /* @__PURE__ */ React3.createElement(
255
+ /* @__PURE__ */ React3.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.outsidePrefix && /* @__PURE__ */ React3.createElement(
256
+ "span",
257
+ {
258
+ className: cn(
259
+ "hawa-me-2 hawa-opacity-90",
260
+ !forceHideHelperText && "hawa-mb-2"
261
+ )
262
+ },
263
+ props.outsidePrefix
264
+ ), props.isLoading ? /* @__PURE__ */ React3.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ React3.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ React3.createElement(React3.Fragment, null, !props.hideSeparator && /* @__PURE__ */ React3.createElement(
239
265
  "div",
240
266
  {
241
267
  className: cn(
@@ -259,7 +285,7 @@ var Input = forwardRef2(
259
285
  dir: props.dir,
260
286
  type: props.type,
261
287
  value: props.value,
262
- onChange: props.onChange,
288
+ onChange: handleChange,
263
289
  autoComplete: props.autoComplete,
264
290
  defaultValue: props.defaultValue,
265
291
  placeholder,
@@ -2977,7 +3003,7 @@ var Separator = ({
2977
3003
  // elements/progress/Progress.tsx
2978
3004
  import * as React15 from "react";
2979
3005
  import * as ProgressPrimitive from "@radix-ui/react-progress";
2980
- var Progress = React15.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ React15.createElement(
3006
+ var Progress = React15.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ React15.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, props.label && /* @__PURE__ */ React15.createElement(Label, { ...props.labelProps }, props.label), /* @__PURE__ */ React15.createElement(
2981
3007
  ProgressPrimitive.Root,
2982
3008
  {
2983
3009
  ref,
@@ -2994,7 +3020,7 @@ var Progress = React15.forwardRef(({ className, value, ...props }, ref) => /* @_
2994
3020
  style: { transform: `translateX(-${100 - (value || 0)}%)` }
2995
3021
  }
2996
3022
  )
2997
- ));
3023
+ )));
2998
3024
  Progress.displayName = ProgressPrimitive.Root.displayName;
2999
3025
 
3000
3026
  // icons/Emojis.tsx