@sikka/hawa 0.34.0-next → 0.34.2-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.
- package/dist/accordion/index.js +9 -9
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +9 -9
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/appLayout/index.js +62 -91
- package/dist/appLayout/index.js.map +1 -1
- package/dist/appLayout/index.mjs +62 -91
- package/dist/appLayout/index.mjs.map +1 -1
- package/dist/blocks/index.js +9 -9
- package/dist/blocks/index.mjs +2 -2
- package/dist/blocks/misc/index.js +9 -9
- package/dist/blocks/misc/index.mjs +1 -1
- package/dist/blocks/pricing/index.js +9 -9
- package/dist/blocks/pricing/index.mjs +1 -1
- package/dist/chip/index.js +9 -9
- package/dist/chip/index.js.map +1 -1
- package/dist/chip/index.mjs +9 -9
- package/dist/chip/index.mjs.map +1 -1
- package/dist/{chunk-FRYGQYUO.mjs → chunk-J7BT4XJR.mjs} +9 -9
- package/dist/{chunk-E3WWI4I5.mjs → chunk-ORNLFAC6.mjs} +1 -1
- package/dist/{chunk-3HJ3JXPA.mjs → chunk-QPZ4ZR2B.mjs} +1 -1
- package/dist/{chunk-CKLK3G32.mjs → chunk-QVF3VLB7.mjs} +9 -9
- package/dist/elements/index.js +9 -9
- package/dist/elements/index.mjs +3 -3
- package/dist/index.css +69 -52
- package/dist/index.js +62 -91
- package/dist/index.mjs +62 -91
- package/dist/layout/index.js +62 -91
- package/dist/layout/index.mjs +55 -84
- package/dist/sidebar/index.js +9 -9
- package/dist/sidebar/index.js.map +1 -1
- package/dist/sidebar/index.mjs +9 -9
- package/dist/sidebar/index.mjs.map +1 -1
- package/dist/tabs/index.js +9 -9
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +9 -9
- package/dist/tabs/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/accordion/index.js
CHANGED
@@ -83,15 +83,15 @@ var Chip = import_react.default.forwardRef(
|
|
83
83
|
unavailable: "hawa-bg-red-500"
|
84
84
|
};
|
85
85
|
let colorStyles = {
|
86
|
-
green: "hawa-bg-green-
|
87
|
-
blue: "hawa-bg-blue-
|
88
|
-
red: "hawa-bg-red-
|
89
|
-
yellow: "hawa-bg-yellow-
|
90
|
-
orange: "hawa-bg-orange-
|
91
|
-
purple: "hawa-bg-purple-
|
92
|
-
cyan: "hawa-bg-cyan-
|
93
|
-
hyper: "hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
|
94
|
-
oceanic: "hawa-text-white hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
|
86
|
+
green: "hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200",
|
87
|
+
blue: "hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100",
|
88
|
+
red: "hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100",
|
89
|
+
yellow: "hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black",
|
90
|
+
orange: "hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100",
|
91
|
+
purple: "hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100",
|
92
|
+
cyan: "hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100",
|
93
|
+
hyper: "hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
|
94
|
+
oceanic: "hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
|
95
95
|
};
|
96
96
|
if (label) {
|
97
97
|
return /* @__PURE__ */ import_react.default.createElement(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../elements/accordion/index.ts","../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["export * from \"./Accordion\";\nexport * from \"./AccordionItem\";\nexport * from \"./AccordionTrigger\";\nexport * from \"./AccordionRoot\";\nexport * from \"./AccordionContent\";\n","import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\"\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\":\n index === items.length - 1\n },\n triggerclassNames\n )}\n >\n <span\n className={cn(\n \"hawa-flex hawa-flex-row\",\n item.chip && \"hawa-gap-2\"\n )}\n >\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\":\n index === items.length - 1\n },\n contentclassNames\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n )\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { 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\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-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 )}\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"]}
|
package/dist/accordion/index.mjs
CHANGED
@@ -44,15 +44,15 @@ var Chip = React.forwardRef(
|
|
44
44
|
unavailable: "hawa-bg-red-500"
|
45
45
|
};
|
46
46
|
let colorStyles = {
|
47
|
-
green: "hawa-bg-green-
|
48
|
-
blue: "hawa-bg-blue-
|
49
|
-
red: "hawa-bg-red-
|
50
|
-
yellow: "hawa-bg-yellow-
|
51
|
-
orange: "hawa-bg-orange-
|
52
|
-
purple: "hawa-bg-purple-
|
53
|
-
cyan: "hawa-bg-cyan-
|
54
|
-
hyper: "hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
|
55
|
-
oceanic: "hawa-text-white hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
|
47
|
+
green: "hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200",
|
48
|
+
blue: "hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100",
|
49
|
+
red: "hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100",
|
50
|
+
yellow: "hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black",
|
51
|
+
orange: "hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100",
|
52
|
+
purple: "hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100",
|
53
|
+
cyan: "hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100",
|
54
|
+
hyper: "hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
|
55
|
+
oceanic: "hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
|
56
56
|
};
|
57
57
|
if (label) {
|
58
58
|
return /* @__PURE__ */ React.createElement(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../elements/accordion/Accordion.tsx","../../util/index.ts","../../elements/chip/Chip.tsx","../../elements/accordion/AccordionContent.tsx","../../elements/accordion/AccordionTrigger.tsx","../../elements/accordion/AccordionItem.tsx","../../elements/accordion/AccordionRoot.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { cn } from \"@util/index\";\n\nimport { Chip, ChipTypes } from \"../chip\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport type AccordionItemProps = {\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n chip?: ChipTypes;\n};\n\ntype AccordionProps = {\n items: AccordionItemProps[];\n itemClassNames?: string;\n triggerclassNames?: string;\n contentclassNames?: string;\n className?: string;\n design?: \"default\" | \"separated\";\n type: \"single\" | \"multiple\";\n collapsible?: boolean;\n};\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(\n (\n {\n items,\n design = \"default\",\n itemClassNames,\n triggerclassNames,\n contentclassNames,\n className,\n ...props\n },\n ref\n ) => (\n <AccordionPrimitive.Root type={props.type} collapsible>\n <div\n className={cn(\"hawa-flex hawa-flex-col\", {\n \"hawa-gap-4\": design === \"separated\",\n \"hawa-gap-0\": design === \"default\"\n })}\n >\n {items.map((item, index) => (\n <AccordionPrimitive.Item\n disabled={item.disabled || false}\n className={cn(itemClassNames, \"hawa-rounded\")}\n key={index}\n value={`item-${index}`}\n >\n <AccordionTrigger\n disabled={item.disabled || false}\n className={cn(\n \"hawa-transition-all hawa-text-start\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-b-none\"\n : {\n \"hawa-rounded-t\": index === 0,\n \"data-[state=closed]:hawa-rounded-b\":\n index === items.length - 1\n },\n triggerclassNames\n )}\n >\n <span\n className={cn(\n \"hawa-flex hawa-flex-row\",\n item.chip && \"hawa-gap-2\"\n )}\n >\n {item.trigger} {item.chip && <Chip {...item.chip} />}\n </span>\n </AccordionTrigger>\n <AccordionContent\n aria-disabled={item.disabled || false}\n className={cn(\n \"hawa-border hawa-transition-all\",\n design === \"separated\"\n ? \"hawa-rounded data-[state=open]:hawa-rounded-t-none\"\n : {\n \"data-[state=open]:hawa-rounded-b\":\n index === items.length - 1\n },\n contentclassNames\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionPrimitive.Item>\n ))}\n </div>\n </AccordionPrimitive.Root>\n )\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { 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\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-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 )}\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"]}
|
package/dist/appLayout/index.js
CHANGED
@@ -880,15 +880,15 @@ var Chip = import_react4.default.forwardRef(
|
|
880
880
|
unavailable: "hawa-bg-red-500"
|
881
881
|
};
|
882
882
|
let colorStyles = {
|
883
|
-
green: "hawa-bg-green-
|
884
|
-
blue: "hawa-bg-blue-
|
885
|
-
red: "hawa-bg-red-
|
886
|
-
yellow: "hawa-bg-yellow-
|
887
|
-
orange: "hawa-bg-orange-
|
888
|
-
purple: "hawa-bg-purple-
|
889
|
-
cyan: "hawa-bg-cyan-
|
890
|
-
hyper: "hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
|
891
|
-
oceanic: "hawa-text-white hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
|
883
|
+
green: "hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200",
|
884
|
+
blue: "hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100",
|
885
|
+
red: "hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100",
|
886
|
+
yellow: "hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black",
|
887
|
+
orange: "hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100",
|
888
|
+
purple: "hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100",
|
889
|
+
cyan: "hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100",
|
890
|
+
hyper: "hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
|
891
|
+
oceanic: "hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
|
892
892
|
};
|
893
893
|
if (label) {
|
894
894
|
return /* @__PURE__ */ import_react4.default.createElement(
|
@@ -1211,12 +1211,12 @@ var AppLayout = ({
|
|
1211
1211
|
setOpenSideMenu(false);
|
1212
1212
|
}
|
1213
1213
|
}, [size]);
|
1214
|
-
return /* @__PURE__ */ import_react5.default.createElement("div", { className: "hawa-fixed hawa-
|
1214
|
+
return /* @__PURE__ */ import_react5.default.createElement("div", { className: "hawa-fixed hawa-start-0" }, props.topBar && /* @__PURE__ */ import_react5.default.createElement(
|
1215
1215
|
"div",
|
1216
1216
|
{
|
1217
|
+
dir: direction,
|
1217
1218
|
className: cn(
|
1218
|
-
"hawa-fixed hawa-
|
1219
|
-
isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row",
|
1219
|
+
"hawa-fixed hawa-end-0 hawa-start-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
|
1220
1220
|
bordered && "hawa-border-b-[1px]"
|
1221
1221
|
)
|
1222
1222
|
},
|
@@ -1225,18 +1225,10 @@ var AppLayout = ({
|
|
1225
1225
|
{
|
1226
1226
|
className: cn(
|
1227
1227
|
"dark:hawa-text-white",
|
1228
|
-
|
1229
|
-
size > 600 ? "hawa-mr-14" : "hawa-mr-2",
|
1230
|
-
keepDrawerOpen ? "hawa-mr-40" : ""
|
1231
|
-
] : [
|
1232
|
-
size > 600 ? "hawa-ml-14" : "hawa-ml-2",
|
1233
|
-
keepDrawerOpen ? "hawa-ml-40" : ""
|
1234
|
-
]
|
1228
|
+
size > 600 ? "hawa-ms-14" : "hawa-ms-2"
|
1235
1229
|
),
|
1236
|
-
style:
|
1237
|
-
|
1238
|
-
} : {
|
1239
|
-
marginLeft: `${drawerSizeStyle[keepDrawerOpen ? "opened" : "closed"][drawerSize]}px`
|
1230
|
+
style: {
|
1231
|
+
marginInlineStart: `${drawerSizeStyle[keepDrawerOpen ? "opened" : "closed"][drawerSize] + 10}px`
|
1240
1232
|
}
|
1241
1233
|
},
|
1242
1234
|
props.pageTitle
|
@@ -1259,71 +1251,51 @@ var AppLayout = ({
|
|
1259
1251
|
props.pageTitle ? /* @__PURE__ */ import_react5.default.createElement("div", { className: "hawa-text-sm" }, props.pageTitle) : /* @__PURE__ */ import_react5.default.createElement("div", null)
|
1260
1252
|
)
|
1261
1253
|
),
|
1262
|
-
/* @__PURE__ */ import_react5.default.createElement(
|
1263
|
-
|
1254
|
+
/* @__PURE__ */ import_react5.default.createElement("div", { className: cn("hawa-flex hawa-gap-2 dark:hawa-text-white") }, size > 600 ? /* @__PURE__ */ import_react5.default.createElement("div", { className: "hawa-text-end hawa-text-xs" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "hawa-font-bold" }, props.username), " ", /* @__PURE__ */ import_react5.default.createElement("div", null, props.email)) : null, /* @__PURE__ */ import_react5.default.createElement(
|
1255
|
+
DropdownMenu,
|
1264
1256
|
{
|
1265
|
-
|
1266
|
-
|
1267
|
-
|
1268
|
-
|
1269
|
-
|
1270
|
-
|
1271
|
-
|
1272
|
-
|
1273
|
-
|
1274
|
-
|
1275
|
-
/* @__PURE__ */ import_react5.default.createElement(
|
1276
|
-
|
1277
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
triggerClassname: "hawa-mx-2",
|
1284
|
-
align: "end",
|
1285
|
-
alignOffset: 8,
|
1286
|
-
side: "bottom",
|
1287
|
-
sideOffset: 5,
|
1288
|
-
width: profileMenuWidth,
|
1289
|
-
direction: isRTL ? "rtl" : "ltr",
|
1290
|
-
items: props.profileMenuItems || [],
|
1291
|
-
onItemSelect: (e) => console.log("selecting item ", e),
|
1292
|
-
trigger: /* @__PURE__ */ import_react5.default.createElement(
|
1293
|
-
"div",
|
1257
|
+
LinkComponent: MenuLinkComponent,
|
1258
|
+
triggerClassname: "hawa-mx-2",
|
1259
|
+
align: "end",
|
1260
|
+
alignOffset: 8,
|
1261
|
+
side: "bottom",
|
1262
|
+
sideOffset: 5,
|
1263
|
+
width: profileMenuWidth,
|
1264
|
+
direction,
|
1265
|
+
items: props.profileMenuItems || [],
|
1266
|
+
onItemSelect: (e) => console.log("selecting item ", e),
|
1267
|
+
trigger: /* @__PURE__ */ import_react5.default.createElement(
|
1268
|
+
"div",
|
1269
|
+
{
|
1270
|
+
onClick: onAvatarClick,
|
1271
|
+
className: "hawa-relative hawa-h-8 hawa-w-8 hawa-cursor-pointer hawa-overflow-clip hawa-rounded hawa-ring-1 hawa-ring-primary/30 dark:hawa-bg-gray-600"
|
1272
|
+
},
|
1273
|
+
props.avatarImage ? /* @__PURE__ */ import_react5.default.createElement("img", { src: props.avatarImage, alt: "User Avatar" }) : /* @__PURE__ */ import_react5.default.createElement(
|
1274
|
+
"svg",
|
1294
1275
|
{
|
1295
|
-
|
1296
|
-
className: "hawa-
|
1276
|
+
"aria-label": "Avatar Icon",
|
1277
|
+
className: "hawa-absolute hawa--start-1 hawa-h-10 hawa-w-10 hawa-text-gray-400",
|
1278
|
+
fill: "currentColor",
|
1279
|
+
viewBox: "0 0 20 20"
|
1297
1280
|
},
|
1298
|
-
|
1299
|
-
"
|
1281
|
+
/* @__PURE__ */ import_react5.default.createElement(
|
1282
|
+
"path",
|
1300
1283
|
{
|
1301
|
-
|
1302
|
-
|
1303
|
-
|
1304
|
-
|
1305
|
-
},
|
1306
|
-
/* @__PURE__ */ import_react5.default.createElement(
|
1307
|
-
"path",
|
1308
|
-
{
|
1309
|
-
fillRule: "evenodd",
|
1310
|
-
d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
|
1311
|
-
clipRule: "evenodd"
|
1312
|
-
}
|
1313
|
-
)
|
1284
|
+
fillRule: "evenodd",
|
1285
|
+
d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
|
1286
|
+
clipRule: "evenodd"
|
1287
|
+
}
|
1314
1288
|
)
|
1315
1289
|
)
|
1316
|
-
|
1317
|
-
|
1318
|
-
)
|
1290
|
+
)
|
1291
|
+
}
|
1292
|
+
))
|
1319
1293
|
), /* @__PURE__ */ import_react5.default.createElement(
|
1320
1294
|
"div",
|
1321
1295
|
{
|
1322
1296
|
className: cn(
|
1323
|
-
"hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all hawa-bg-
|
1324
|
-
isRTL ? "hawa-right-0
|
1325
|
-
"hawa-h-[calc(100dvh)]",
|
1326
|
-
"hawa-bg-primary-foreground",
|
1297
|
+
"hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all hawa-top-0 hawa-h-[calc(100dvh)] hawa-bg-primary-foreground",
|
1298
|
+
isRTL ? "hawa-right-0" : "hawa-left-0",
|
1327
1299
|
bordered ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : ""
|
1328
1300
|
),
|
1329
1301
|
style: {
|
@@ -1365,7 +1337,7 @@ var AppLayout = ({
|
|
1365
1337
|
"img",
|
1366
1338
|
{
|
1367
1339
|
className: cn(
|
1368
|
-
"hawa-h-9
|
1340
|
+
"hawa-h-9 hawa-opacity-0 hawa-transition-all",
|
1369
1341
|
!openSideMenu ? "hawa-invisible hawa-opacity-0" : "hawa-visible hawa-opacity-100",
|
1370
1342
|
classNames == null ? void 0 : classNames.fullLogoImg
|
1371
1343
|
),
|
@@ -1376,8 +1348,7 @@ var AppLayout = ({
|
|
1376
1348
|
"img",
|
1377
1349
|
{
|
1378
1350
|
className: cn(
|
1379
|
-
"hawa-fixed
|
1380
|
-
isRTL ? "hawa-right-2.5 hawa-top-2.5" : "hawa-left-2.5 hawa-top-2.5",
|
1351
|
+
"hawa-fixed hawa-h-9 hawa-transition-all hawa-start-2.5 hawa-top-2.5",
|
1381
1352
|
openSideMenu ? "hawa-invisible hawa-opacity-0" : "hawa-visible hawa-opacity-100",
|
1382
1353
|
classNames == null ? void 0 : classNames.symbolLogoImg
|
1383
1354
|
),
|
@@ -1436,21 +1407,21 @@ var AppLayout = ({
|
|
1436
1407
|
{
|
1437
1408
|
side: "left",
|
1438
1409
|
delayDuration: 500,
|
1439
|
-
|
1440
|
-
|
1410
|
+
triggerProps: { asChild: true },
|
1411
|
+
content: keepDrawerOpen ? ((_a = props.texts) == null ? void 0 : _a.collapseSidebar) || "Collapse Sidebar" : ((_b = props.texts) == null ? void 0 : _b.expandSidebar) || "Expand Sidebar"
|
1441
1412
|
},
|
1442
1413
|
/* @__PURE__ */ import_react5.default.createElement(
|
1443
1414
|
Button,
|
1444
1415
|
{
|
1445
1416
|
variant: "outline",
|
1417
|
+
size: "smallIcon",
|
1446
1418
|
onClick: () => {
|
1447
1419
|
const newKeepOpenState = !keepDrawerOpen;
|
1448
1420
|
if (props.onDrawerExpand) {
|
1449
1421
|
props.onDrawerExpand(newKeepOpenState);
|
1450
1422
|
}
|
1451
1423
|
setKeepDrawerOpen(newKeepOpenState);
|
1452
|
-
}
|
1453
|
-
size: "smallIcon"
|
1424
|
+
}
|
1454
1425
|
},
|
1455
1426
|
/* @__PURE__ */ import_react5.default.createElement(
|
1456
1427
|
"svg",
|
@@ -1479,15 +1450,15 @@ var AppLayout = ({
|
|
1479
1450
|
{
|
1480
1451
|
className: "hawa-fixed -hawa-z-10 hawa-overflow-y-auto hawa-transition-all",
|
1481
1452
|
style: isRTL ? {
|
1482
|
-
height: `calc(100% - ${props.topBar ? "56" : "0"}px)`,
|
1483
|
-
width: `calc(100% - ${drawerSizeCondition}px)`,
|
1484
1453
|
left: "0px",
|
1485
|
-
top: props.topBar ? "56px" : "0px"
|
1486
|
-
} : {
|
1487
|
-
height: `calc(100% - ${props.topBar ? "56" : "0"}px)`,
|
1454
|
+
top: props.topBar ? "56px" : "0px",
|
1488
1455
|
width: `calc(100% - ${drawerSizeCondition}px)`,
|
1456
|
+
height: `calc(100% - ${props.topBar ? "56" : "0"}px)`
|
1457
|
+
} : {
|
1489
1458
|
left: `${drawerSizeCondition}px`,
|
1490
|
-
top: props.topBar ? "56px" : "0px"
|
1459
|
+
top: props.topBar ? "56px" : "0px",
|
1460
|
+
width: `calc(100% - ${drawerSizeCondition}px)`,
|
1461
|
+
height: `calc(100% - ${props.topBar ? "56" : "0"}px)`
|
1491
1462
|
}
|
1492
1463
|
},
|
1493
1464
|
props.children
|