@sikka/hawa 0.42.0-next → 0.42.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.
Files changed (107) hide show
  1. package/dist/{DropdownMenu-SFJtRGAw.d.ts → DropdownMenu-DgV8PvW3.d.ts} +1 -0
  2. package/dist/{DropdownMenu-FVVDS2rX.d.mts → DropdownMenu-dvd9brmT.d.mts} +1 -0
  3. package/dist/appLayout/index.js +3 -1
  4. package/dist/appLayout/index.js.map +1 -1
  5. package/dist/appLayout/index.mjs +3 -1
  6. package/dist/appLayout/index.mjs.map +1 -1
  7. package/dist/appTopbar/index.js +3 -1
  8. package/dist/appTopbar/index.js.map +1 -1
  9. package/dist/appTopbar/index.mjs +3 -1
  10. package/dist/appTopbar/index.mjs.map +1 -1
  11. package/dist/backToTop/index.js +4 -8
  12. package/dist/backToTop/index.js.map +1 -1
  13. package/dist/backToTop/index.mjs +4 -8
  14. package/dist/backToTop/index.mjs.map +1 -1
  15. package/dist/blocks/feedback/index.js +2 -4
  16. package/dist/blocks/feedback/index.mjs +1 -1
  17. package/dist/blocks/index.d.mts +1 -1
  18. package/dist/blocks/index.d.ts +1 -1
  19. package/dist/blocks/index.js +6 -7
  20. package/dist/blocks/index.mjs +4 -4
  21. package/dist/blocks/misc/index.js +1 -2
  22. package/dist/blocks/misc/index.mjs +1 -1
  23. package/dist/blocks/pricing/index.js +3 -6
  24. package/dist/blocks/pricing/index.mjs +2 -2
  25. package/dist/carousel/index.js +1 -2
  26. package/dist/carousel/index.js.map +1 -1
  27. package/dist/carousel/index.mjs +1 -2
  28. package/dist/carousel/index.mjs.map +1 -1
  29. package/dist/{chunk-SYGWSBJL.mjs → chunk-2LUXOXAL.mjs} +1 -2
  30. package/dist/{chunk-FP6763YO.mjs → chunk-DBOKFWWD.mjs} +3 -1
  31. package/dist/{chunk-K5S7P5ZO.mjs → chunk-DGM7WFJR.mjs} +2 -4
  32. package/dist/{chunk-2GEXJLRC.mjs → chunk-OXZBK6KQ.mjs} +1 -1
  33. package/dist/{chunk-7R25FOBM.mjs → chunk-Q3IS4SMU.mjs} +5 -8
  34. package/dist/{chunk-XCW5YNMS.mjs → chunk-QUN7JBW3.mjs} +1 -2
  35. package/dist/{chunk-I3AK6DXN.mjs → chunk-RGOMP4PW.mjs} +1 -2
  36. package/dist/codeBlock/index.mjs +1 -2
  37. package/dist/codeBlock/index.mjs.map +1 -1
  38. package/dist/combobox/index.js +1 -1
  39. package/dist/combobox/index.js.map +1 -1
  40. package/dist/combobox/index.mjs +1 -1
  41. package/dist/combobox/index.mjs.map +1 -1
  42. package/dist/command/index.js +2 -3
  43. package/dist/command/index.js.map +1 -1
  44. package/dist/command/index.mjs +2 -3
  45. package/dist/command/index.mjs.map +1 -1
  46. package/dist/dataTable/index.js +3 -1
  47. package/dist/dataTable/index.js.map +1 -1
  48. package/dist/dataTable/index.mjs +3 -1
  49. package/dist/dataTable/index.mjs.map +1 -1
  50. package/dist/dialog/index.js +1 -1
  51. package/dist/dialog/index.js.map +1 -1
  52. package/dist/dialog/index.mjs +1 -1
  53. package/dist/dialog/index.mjs.map +1 -1
  54. package/dist/dropdownMenu/index.d.mts +1 -0
  55. package/dist/dropdownMenu/index.d.ts +1 -0
  56. package/dist/dropdownMenu/index.js +3 -1
  57. package/dist/dropdownMenu/index.js.map +1 -1
  58. package/dist/dropdownMenu/index.mjs +3 -1
  59. package/dist/dropdownMenu/index.mjs.map +1 -1
  60. package/dist/elements/index.d.mts +1 -1
  61. package/dist/elements/index.d.ts +1 -1
  62. package/dist/elements/index.js +19 -32
  63. package/dist/elements/index.mjs +18 -30
  64. package/dist/glow/index.js +1 -2
  65. package/dist/glow/index.js.map +1 -1
  66. package/dist/glow/index.mjs +1 -2
  67. package/dist/glow/index.mjs.map +1 -1
  68. package/dist/hooks/index.js +1 -2
  69. package/dist/hooks/index.mjs +2 -2
  70. package/dist/index.css +134 -0
  71. package/dist/index.d.mts +1 -0
  72. package/dist/index.d.ts +1 -0
  73. package/dist/index.js +20 -34
  74. package/dist/index.mjs +21 -36
  75. package/dist/interfaceSettings/index.js +2 -4
  76. package/dist/interfaceSettings/index.js.map +1 -1
  77. package/dist/interfaceSettings/index.mjs +2 -4
  78. package/dist/interfaceSettings/index.mjs.map +1 -1
  79. package/dist/layout/index.d.mts +1 -1
  80. package/dist/layout/index.d.ts +1 -1
  81. package/dist/layout/index.js +3 -1
  82. package/dist/layout/index.mjs +3 -3
  83. package/dist/passwordInput/index.js +5 -10
  84. package/dist/passwordInput/index.js.map +1 -1
  85. package/dist/passwordInput/index.mjs +5 -10
  86. package/dist/passwordInput/index.mjs.map +1 -1
  87. package/dist/radio/index.js +2 -4
  88. package/dist/radio/index.js.map +1 -1
  89. package/dist/radio/index.mjs +2 -4
  90. package/dist/radio/index.mjs.map +1 -1
  91. package/dist/scrollArea/index.js +1 -2
  92. package/dist/scrollArea/index.js.map +1 -1
  93. package/dist/scrollArea/index.mjs +1 -2
  94. package/dist/scrollArea/index.mjs.map +1 -1
  95. package/dist/scrollIndicator/index.js +1 -2
  96. package/dist/scrollIndicator/index.js.map +1 -1
  97. package/dist/scrollIndicator/index.mjs +1 -2
  98. package/dist/scrollIndicator/index.mjs.map +1 -1
  99. package/dist/splitButton/index.js +3 -1
  100. package/dist/splitButton/index.js.map +1 -1
  101. package/dist/splitButton/index.mjs +3 -1
  102. package/dist/splitButton/index.mjs.map +1 -1
  103. package/dist/tabs/index.js +1 -2
  104. package/dist/tabs/index.js.map +1 -1
  105. package/dist/tabs/index.mjs +1 -2
  106. package/dist/tabs/index.mjs.map +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/dropdownMenu/DropdownMenu.tsx","../../util/index.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { Portal } from \"@headlessui/react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { cn } from \"@util/index\";\n\nimport { DirectionType, RadioOptionType } from \"../../types/commonTypes\";\n\nconst DropdownMenuRoot = DropdownMenuPrimitive.Root;\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none focus:hawa-bg-accent data-[state=open]:hawa-bg-accent\",\n inset && \"hawa-pl-8\",\n className,\n )}\n {...props}\n >\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-2\">\n {children}\n </div>{\" \"}\n <svg\n aria-label=\"Chevron Right Icon\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth=\"0\"\n viewBox=\"0 0 16 16\"\n height=\"1em\"\n width=\"1em\"\n className={cn(props.dir === \"rtl\" ? \"hawa-rotate-180\" : \"\")}\n >\n <path\n fillRule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\n ></path>\n </svg>\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"hawa-z-50 hawa-min-w-[8rem] hawa-gap-1 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-lg data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-md data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n end?: any;\n shortcut?: React.ReactNode;\n badged?: boolean;\n slug?: string;\n LinkComponent?: any;\n }\n>(({ className, inset, badged, slug, LinkComponent = \"a\", ...props }, ref) => {\n return (\n <LinkComponent href={slug}>\n <DropdownMenuPrimitive.Item\n disabled={props.disabled}\n ref={ref}\n className={cn(\n \"hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50\",\n inset && \"hawa-pl-8\",\n props.end &&\n Array.isArray(props.children) &&\n props.children[1] &&\n \"hawa-gap-6\",\n className,\n )}\n {...props}\n >\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-2\">\n {props.children}\n </div>\n\n {props.end && props.end}\n {!props.end && props.shortcut && (\n <DropdownMenuShortcut>{props.shortcut}</DropdownMenuShortcut>\n )}\n {!props.end && badged && (\n <div className=\"hawa-h-3 hawa-w-3 hawa-rounded-full hawa-bg-red-500\" />\n )}\n </DropdownMenuPrimitive.Item>\n </LinkComponent>\n );\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n {/* <Check className=\"h-4 w-4\" /> */}\n <svg\n aria-label=\"Check Mark\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth=\"0\"\n viewBox=\"0 0 512 512\"\n height=\"0.60em\"\n width=\"0.60em\"\n >\n <path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"></path>\n </svg>{\" \"}\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n aria-label=\"Circle\"\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-h-2 hawa-w-2 hawa-fill-current\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n </svg>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-font-semibold\",\n inset && \"hawa-pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"hawa--mx-1 hawa-my-1 hawa-h-px hawa-bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"hawa-text-xs hawa-tracking-widest hawa-opacity-60\",\n className,\n )}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\ntype ExtendedDropdownMenuContentProps = Partial<\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n> & {\n // Add any additional types or overrides here, for example:\n // side?: \"left\" | \"right\" | \"top\" | \"bottom\"\n};\ntype ExtendedDropdownMenuTriggerProps = Partial<\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Trigger>\n> & {\n // Add any additional types or overrides here, for example:\n // side?: \"left\" | \"right\" | \"top\" | \"bottom\"\n};\n\nexport type SubItem = {\n label?: string;\n value?: any;\n icon?: any;\n action?: () => void;\n onMiddleClick?: (e: any) => void;\n highlighted?: boolean;\n disabled?: boolean;\n slug?: string;\n};\nexport type MenuItemType = {\n icon?: React.ReactNode;\n label?: string;\n shortcut?: React.ReactNode;\n badged?: boolean;\n value?: any;\n content?: any;\n slug?: string;\n end?: any;\n presist?: boolean;\n itemType?: \"separator\" | \"label\" | \"custom\" | \"radio\";\n action?: () => void;\n highlighted?: boolean;\n subitems?: SubItem[];\n options?: RadioOptionType[];\n currentOption?: string;\n onOptionChange?: (value: string) => void;\n disabled?: boolean;\n onMiddleClick?: (e: any) => void;\n onClick?: any;\n};\ninterface DropdownMenuProps {\n trigger?: any;\n items: MenuItemType[];\n direction?: DirectionType;\n classNames?: {\n trigger?: string;\n content?: string;\n item?: string;\n separator?: string;\n };\n className?: ExtendedDropdownMenuContentProps[\"className\"];\n triggerClassname?: ExtendedDropdownMenuTriggerProps[\"className\"];\n triggerProps?: DropdownMenuPrimitive.DropdownMenuTriggerProps;\n sideOffset?: ExtendedDropdownMenuContentProps[\"sideOffset\"];\n side?: ExtendedDropdownMenuContentProps[\"side\"];\n align?: ExtendedDropdownMenuContentProps[\"align\"];\n alignOffset?: ExtendedDropdownMenuContentProps[\"alignOffset\"];\n width?: \"default\" | \"sm\" | \"lg\" | \"parent\";\n size?: \"default\" | \"sm\";\n onItemSelect?: any;\n onOpenChange?: any;\n header?: React.ReactNode;\n open?: any;\n LinkComponent?: any;\n}\nconst DropdownMenu: React.FC<DropdownMenuProps> = ({\n trigger,\n items,\n direction,\n sideOffset,\n side,\n className,\n classNames,\n triggerClassname,\n triggerProps,\n align,\n alignOffset,\n onItemSelect,\n size = \"default\",\n width = \"default\",\n header,\n onOpenChange,\n open,\n LinkComponent,\n}) => {\n const widthStyles = {\n default: \"hawa-min-w-[8rem]\",\n sm: \"hawa-w-fit\",\n lg: \"hawa-w-[200px]\",\n parent: \"ddm-w-parent\",\n };\n const sizeStyles = {\n default: \"hawa-px-2 hawa-py-3 \",\n sm: \"hawa-text-xs hawa-px-1.5 hawa-py-1.5 \",\n };\n let [values, setValues] = React.useState(\n items.map((item) => item.currentOption),\n );\n\n return (\n <DropdownMenuRoot\n onOpenChange={onOpenChange}\n open={open}\n modal={false}\n dir={direction}\n >\n <DropdownMenuTrigger\n asChild\n className={cn(classNames?.trigger, triggerClassname)}\n {...triggerProps}\n >\n {trigger}\n </DropdownMenuTrigger>\n <Portal>\n <DropdownMenuContent\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n className={cn(\n className,\n classNames?.content,\n widthStyles[width],\n \"hawa-flex hawa-flex-col hawa-gap-1 hawa-overflow-y-auto\",\n )}\n style={{\n maxHeight: \"var(--radix-dropdown-menu-content-available-height)\",\n }}\n >\n {header && header}\n {items &&\n items.map((item, index) => {\n const ItemLinkComponent = item.slug ? LinkComponent : \"a\";\n if (item.itemType === \"separator\") {\n return (\n <DropdownMenuSeparator\n key={index}\n className={classNames?.separator}\n />\n );\n } else if (item.itemType === \"label\") {\n return (\n <DropdownMenuLabel key={index}>\n {item.label}\n </DropdownMenuLabel>\n );\n } else if (item.itemType === \"radio\") {\n let dd = item.currentOption;\n return (\n <DropdownMenuSub key={index}>\n <DropdownMenuSubTrigger\n dir={direction}\n className={cn(sizeStyles[size])}\n >\n {item.icon && item.icon}\n {item.label && item.label}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuRadioGroup\n value={values[index]}\n onValueChange={(e) => {\n let newValues = [...values];\n newValues[index] = e;\n setValues(newValues);\n console.log(\"changing to \", e);\n if (item.onOptionChange) {\n item.onOptionChange(e);\n }\n }}\n >\n {item.options?.map((opt, i) => (\n <DropdownMenuRadioItem key={i} value={opt.value}>\n {opt.label}\n </DropdownMenuRadioItem>\n ))}\n </DropdownMenuRadioGroup>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n );\n } else if (item.itemType === \"custom\") {\n return <div key={index}>{item.content}</div>;\n } else {\n return item.subitems ? (\n <DropdownMenuSub key={index}>\n <DropdownMenuSubTrigger\n dir={direction}\n className={cn(sizeStyles[size])}\n >\n {item.icon && item.icon}\n {item.label && item.label}\n </DropdownMenuSubTrigger>\n <Portal>\n <DropdownMenuSubContent>\n {item.subitems.map((subitem, subIndex) => {\n const SubitemLinkComponent = subitem.slug\n ? LinkComponent\n : \"a\";\n return (\n <DropdownMenuItem\n key={subIndex}\n LinkComponent={SubitemLinkComponent}\n slug={subitem.slug}\n disabled={subitem.disabled}\n className={cn(\n sizeStyles[size],\n !item.icon && !item.label\n ? \"hawa-px-0 hawa-py-0 focus:hawa-bg-transparent\"\n : \"focus:hawa-bg-accent\",\n )}\n onMouseDown={(event: any) => {\n if (\n event.button === 1 ||\n (event.button === 0 && event.ctrlKey)\n ) {\n event.preventDefault(); // This line prevents the default behavior of the middle button\n if (subitem.onMiddleClick) {\n subitem.onMiddleClick(item.value);\n }\n }\n }}\n onSelect={() => {\n subitem.action && subitem.action();\n if (onItemSelect) {\n onItemSelect(subitem.value);\n }\n }}\n >\n {subitem.icon && subitem.icon}\n {subitem.label && subitem.label}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuSubContent>\n </Portal>\n </DropdownMenuSub>\n ) : (\n <DropdownMenuItem\n LinkComponent={ItemLinkComponent}\n slug={item.slug}\n key={index}\n disabled={item.disabled}\n onMouseDown={(event: any) => {\n if (\n event.button === 1 ||\n (event.button === 0 && event.ctrlKey)\n ) {\n event.preventDefault(); // This line prevents the default behavior of the middle button\n if (item.onMiddleClick) {\n item.onMiddleClick(item.value);\n }\n }\n }}\n onClick={(event: any) => {\n if (item.onClick) {\n item.onClick(item.value);\n }\n }}\n onSelect={(e) => {\n if (item.presist) {\n e.preventDefault();\n }\n if (item.action) {\n item.action();\n if (onItemSelect) {\n onItemSelect(item.value);\n }\n } else {\n if (onItemSelect) {\n onItemSelect(item.value);\n }\n }\n }}\n end={item.end}\n shortcut={item.shortcut}\n badged={item.badged}\n className={cn(\n sizeStyles[size],\n !item.icon && !item.label\n ? \"hawa-px-0 hawa-py-0 focus:hawa-bg-transparent\"\n : \"focus:hawa-bg-accent\",\n item.presist && \"focus:hawa-bg-transparent\",\n classNames?.item,\n )}\n >\n {item.icon && item.icon}\n {item.label && item.label}\n </DropdownMenuItem>\n );\n }\n })}\n </DropdownMenuContent>\n </Portal>\n </DropdownMenuRoot>\n );\n};\n\ninterface DropdownMenuRadioOptionType extends RadioOptionType {\n props?: Omit<DropdownMenuPrimitive.DropdownMenuItemProps, \"value\" | \"label\">;\n}\n\ninterface DropdownMenuRadioProps {\n trigger?: React.ReactNode;\n side?: ExtendedDropdownMenuContentProps[\"side\"];\n align?: ExtendedDropdownMenuContentProps[\"align\"];\n options: DropdownMenuRadioOptionType[];\n value: string;\n onValueChange: any;\n label?: string;\n contentProps?: ExtendedDropdownMenuContentProps;\n radioGroupProps?: React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.RadioGroup\n >;\n}\nconst DropdownMenuRadio: React.FC<DropdownMenuRadioProps> = (props) => {\n const ariaLabel = props.label ? `${props.label} radio group` : undefined;\n const ariaLabelledby = props.label ? `${props.label}-label` : undefined;\n\n return (\n <DropdownMenuRoot>\n <DropdownMenuTrigger asChild>{props.trigger}</DropdownMenuTrigger>\n <DropdownMenuContent\n align={props.align}\n side={props.side}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n {...props.contentProps}\n >\n {props.label && (\n <>\n <DropdownMenuLabel id={`${props.label}-label`}>\n {props.label}\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n </>\n )}\n <DropdownMenuRadioGroup\n value={props.value}\n onValueChange={props.onValueChange}\n {...props.radioGroupProps}\n >\n {props.options.map((opt, i) => (\n <DropdownMenuRadioItem\n key={i}\n {...opt.props}\n value={opt.value}\n aria-checked={props.value === opt.value}\n >\n {opt.label}\n </DropdownMenuRadioItem>\n ))}\n </DropdownMenuRadioGroup>\n </DropdownMenuContent>\n </DropdownMenuRoot>\n );\n};\n\nexport {\n DropdownMenu,\n DropdownMenuRoot,\n DropdownMenuRadio,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n Portal as DropdownMenuPortal,\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../elements/dropdownMenu/DropdownMenu.tsx","../../util/index.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { Portal } from \"@headlessui/react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { cn } from \"@util/index\";\n\nimport { DirectionType, RadioOptionType } from \"../../types/commonTypes\";\n\nconst DropdownMenuRoot = DropdownMenuPrimitive.Root;\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none focus:hawa-bg-accent data-[state=open]:hawa-bg-accent\",\n inset && \"hawa-pl-8\",\n className,\n )}\n {...props}\n >\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-2\">\n {children}\n </div>{\" \"}\n <svg\n aria-label=\"Chevron Right Icon\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth=\"0\"\n viewBox=\"0 0 16 16\"\n height=\"1em\"\n width=\"1em\"\n className={cn(props.dir === \"rtl\" ? \"hawa-rotate-180\" : \"\")}\n >\n <path\n fillRule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\n ></path>\n </svg>\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"hawa-z-50 hawa-min-w-[8rem] hawa-gap-1 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-lg data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-md data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n end?: any;\n shortcut?: React.ReactNode;\n badged?: boolean;\n slug?: string;\n LinkComponent?: any;\n }\n>(({ className, inset, badged, slug, LinkComponent = \"a\", ...props }, ref) => {\n return (\n <LinkComponent href={slug}>\n <DropdownMenuPrimitive.Item\n disabled={props.disabled}\n ref={ref}\n className={cn(\n \"hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50\",\n inset && \"hawa-pl-8\",\n props.end &&\n Array.isArray(props.children) &&\n props.children[1] &&\n \"hawa-gap-6\",\n className,\n )}\n {...props}\n >\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-2\">\n {props.children}\n </div>\n\n {props.end && props.end}\n {!props.end && props.shortcut && (\n <DropdownMenuShortcut>{props.shortcut}</DropdownMenuShortcut>\n )}\n {!props.end && badged && (\n <div className=\"hawa-h-3 hawa-w-3 hawa-rounded-full hawa-bg-red-500\" />\n )}\n </DropdownMenuPrimitive.Item>\n </LinkComponent>\n );\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n {/* <Check className=\"h-4 w-4\" /> */}\n <svg\n aria-label=\"Check Mark\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth=\"0\"\n viewBox=\"0 0 512 512\"\n height=\"0.60em\"\n width=\"0.60em\"\n >\n <path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"></path>\n </svg>{\" \"}\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n aria-label=\"Circle\"\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-h-2 hawa-w-2 hawa-fill-current\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n </svg>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-font-semibold\",\n inset && \"hawa-pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"hawa--mx-1 hawa-my-1 hawa-h-px hawa-bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"hawa-text-xs hawa-tracking-widest hawa-opacity-60\",\n className,\n )}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\ntype ExtendedDropdownMenuContentProps = Partial<\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n> & {\n // Add any additional types or overrides here, for example:\n // side?: \"left\" | \"right\" | \"top\" | \"bottom\"\n};\ntype ExtendedDropdownMenuTriggerProps = Partial<\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Trigger>\n> & {\n // Add any additional types or overrides here, for example:\n // side?: \"left\" | \"right\" | \"top\" | \"bottom\"\n};\n\nexport type SubItem = {\n label?: string;\n value?: any;\n icon?: any;\n action?: () => void;\n onMiddleClick?: (e: any) => void;\n highlighted?: boolean;\n disabled?: boolean;\n slug?: string;\n};\nexport type MenuItemType = {\n icon?: React.ReactNode;\n label?: string;\n shortcut?: React.ReactNode;\n badged?: boolean;\n value?: any;\n content?: any;\n slug?: string;\n end?: any;\n presist?: boolean;\n itemType?: \"separator\" | \"label\" | \"custom\" | \"radio\";\n action?: () => void;\n highlighted?: boolean;\n subitems?: SubItem[];\n options?: RadioOptionType[];\n currentOption?: string;\n onOptionChange?: (value: string) => void;\n disabled?: boolean;\n onMiddleClick?: (e: any) => void;\n onClick?: any;\n};\ninterface DropdownMenuProps {\n trigger?: any;\n items: MenuItemType[];\n direction?: DirectionType;\n classNames?: {\n trigger?: string;\n content?: string;\n item?: string;\n separator?: string;\n };\n className?: ExtendedDropdownMenuContentProps[\"className\"];\n triggerClassname?: ExtendedDropdownMenuTriggerProps[\"className\"];\n triggerProps?: DropdownMenuPrimitive.DropdownMenuTriggerProps;\n sideOffset?: ExtendedDropdownMenuContentProps[\"sideOffset\"];\n side?: ExtendedDropdownMenuContentProps[\"side\"];\n align?: ExtendedDropdownMenuContentProps[\"align\"];\n alignOffset?: ExtendedDropdownMenuContentProps[\"alignOffset\"];\n contentProps?: ExtendedDropdownMenuContentProps;\n width?: \"default\" | \"sm\" | \"lg\" | \"parent\";\n size?: \"default\" | \"sm\";\n onItemSelect?: any;\n onOpenChange?: any;\n header?: React.ReactNode;\n open?: any;\n LinkComponent?: any;\n}\nconst DropdownMenu: React.FC<DropdownMenuProps> = ({\n trigger,\n items,\n direction,\n sideOffset,\n side,\n className,\n classNames,\n contentProps,\n triggerClassname,\n triggerProps,\n align,\n alignOffset,\n onItemSelect,\n size = \"default\",\n width = \"default\",\n header,\n onOpenChange,\n open,\n LinkComponent,\n}) => {\n const widthStyles = {\n default: \"hawa-min-w-[8rem]\",\n sm: \"hawa-w-fit\",\n lg: \"hawa-w-[200px]\",\n parent: \"ddm-w-parent\",\n };\n const sizeStyles = {\n default: \"hawa-px-2 hawa-py-3 \",\n sm: \"hawa-text-xs hawa-px-1.5 hawa-py-1.5 \",\n };\n let [values, setValues] = React.useState(\n items.map((item) => item.currentOption),\n );\n\n return (\n <DropdownMenuRoot\n onOpenChange={onOpenChange}\n open={open}\n modal={false}\n dir={direction}\n >\n <DropdownMenuTrigger\n asChild\n className={cn(classNames?.trigger, triggerClassname)}\n {...triggerProps}\n >\n {trigger}\n </DropdownMenuTrigger>\n <Portal>\n <DropdownMenuContent\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n className={cn(\n className,\n classNames?.content,\n widthStyles[width],\n \"hawa-flex hawa-flex-col hawa-gap-1 hawa-overflow-y-auto\",\n )}\n style={{\n maxHeight: \"var(--radix-dropdown-menu-content-available-height)\",\n }}\n {...contentProps}\n >\n {header && header}\n {items &&\n items.map((item, index) => {\n const ItemLinkComponent = item.slug ? LinkComponent : \"a\";\n if (item.itemType === \"separator\") {\n return (\n <DropdownMenuSeparator\n key={index}\n className={classNames?.separator}\n />\n );\n } else if (item.itemType === \"label\") {\n return (\n <DropdownMenuLabel key={index}>\n {item.label}\n </DropdownMenuLabel>\n );\n } else if (item.itemType === \"radio\") {\n let dd = item.currentOption;\n return (\n <DropdownMenuSub key={index}>\n <DropdownMenuSubTrigger\n dir={direction}\n className={cn(sizeStyles[size])}\n >\n {item.icon && item.icon}\n {item.label && item.label}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuRadioGroup\n value={values[index]}\n onValueChange={(e) => {\n let newValues = [...values];\n newValues[index] = e;\n setValues(newValues);\n console.log(\"changing to \", e);\n if (item.onOptionChange) {\n item.onOptionChange(e);\n }\n }}\n >\n {item.options?.map((opt, i) => (\n <DropdownMenuRadioItem key={i} value={opt.value}>\n {opt.label}\n </DropdownMenuRadioItem>\n ))}\n </DropdownMenuRadioGroup>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n );\n } else if (item.itemType === \"custom\") {\n return <div key={index}>{item.content}</div>;\n } else {\n return item.subitems ? (\n <DropdownMenuSub key={index}>\n <DropdownMenuSubTrigger\n dir={direction}\n className={cn(sizeStyles[size])}\n >\n {item.icon && item.icon}\n {item.label && item.label}\n </DropdownMenuSubTrigger>\n <Portal>\n <DropdownMenuSubContent>\n {item.subitems.map((subitem, subIndex) => {\n const SubitemLinkComponent = subitem.slug\n ? LinkComponent\n : \"a\";\n return (\n <DropdownMenuItem\n key={subIndex}\n LinkComponent={SubitemLinkComponent}\n slug={subitem.slug}\n disabled={subitem.disabled}\n className={cn(\n sizeStyles[size],\n !item.icon && !item.label\n ? \"hawa-px-0 hawa-py-0 focus:hawa-bg-transparent\"\n : \"focus:hawa-bg-accent\",\n )}\n onMouseDown={(event: any) => {\n if (\n event.button === 1 ||\n (event.button === 0 && event.ctrlKey)\n ) {\n event.preventDefault(); // This line prevents the default behavior of the middle button\n if (subitem.onMiddleClick) {\n subitem.onMiddleClick(item.value);\n }\n }\n }}\n onSelect={() => {\n subitem.action && subitem.action();\n if (onItemSelect) {\n onItemSelect(subitem.value);\n }\n }}\n >\n {subitem.icon && subitem.icon}\n {subitem.label && subitem.label}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuSubContent>\n </Portal>\n </DropdownMenuSub>\n ) : (\n <DropdownMenuItem\n LinkComponent={ItemLinkComponent}\n slug={item.slug}\n key={index}\n disabled={item.disabled}\n onMouseDown={(event: any) => {\n if (\n event.button === 1 ||\n (event.button === 0 && event.ctrlKey)\n ) {\n event.preventDefault(); // This line prevents the default behavior of the middle button\n if (item.onMiddleClick) {\n item.onMiddleClick(item.value);\n }\n }\n }}\n onClick={(event: any) => {\n if (item.onClick) {\n item.onClick(item.value);\n }\n }}\n onSelect={(e) => {\n if (item.presist) {\n e.preventDefault();\n }\n if (item.action) {\n item.action();\n if (onItemSelect) {\n onItemSelect(item.value);\n }\n } else {\n if (onItemSelect) {\n onItemSelect(item.value);\n }\n }\n }}\n end={item.end}\n shortcut={item.shortcut}\n badged={item.badged}\n className={cn(\n sizeStyles[size],\n !item.icon && !item.label\n ? \"hawa-px-0 hawa-py-0 focus:hawa-bg-transparent\"\n : \"focus:hawa-bg-accent\",\n item.presist && \"focus:hawa-bg-transparent\",\n classNames?.item,\n )}\n >\n {item.icon && item.icon}\n {item.label && item.label}\n </DropdownMenuItem>\n );\n }\n })}\n </DropdownMenuContent>\n </Portal>\n </DropdownMenuRoot>\n );\n};\n\ninterface DropdownMenuRadioOptionType extends RadioOptionType {\n props?: Omit<DropdownMenuPrimitive.DropdownMenuItemProps, \"value\" | \"label\">;\n}\n\ninterface DropdownMenuRadioProps {\n trigger?: React.ReactNode;\n side?: ExtendedDropdownMenuContentProps[\"side\"];\n align?: ExtendedDropdownMenuContentProps[\"align\"];\n options: DropdownMenuRadioOptionType[];\n value: string;\n onValueChange: any;\n label?: string;\n contentProps?: ExtendedDropdownMenuContentProps;\n radioGroupProps?: React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.RadioGroup\n >;\n}\nconst DropdownMenuRadio: React.FC<DropdownMenuRadioProps> = (props) => {\n const ariaLabel = props.label ? `${props.label} radio group` : undefined;\n const ariaLabelledby = props.label ? `${props.label}-label` : undefined;\n\n return (\n <DropdownMenuRoot>\n <DropdownMenuTrigger asChild>{props.trigger}</DropdownMenuTrigger>\n <DropdownMenuContent\n align={props.align}\n side={props.side}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n {...props.contentProps}\n >\n {props.label && (\n <>\n <DropdownMenuLabel id={`${props.label}-label`}>\n {props.label}\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n </>\n )}\n <DropdownMenuRadioGroup\n value={props.value}\n onValueChange={props.onValueChange}\n {...props.radioGroupProps}\n >\n {props.options.map((opt, i) => (\n <DropdownMenuRadioItem\n key={i}\n {...opt.props}\n value={opt.value}\n aria-checked={props.value === opt.value}\n >\n {opt.label}\n </DropdownMenuRadioItem>\n ))}\n </DropdownMenuRadioGroup>\n </DropdownMenuContent>\n </DropdownMenuRoot>\n );\n};\n\nexport {\n DropdownMenu,\n DropdownMenuRoot,\n DropdownMenuRadio,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n Portal as DropdownMenuPortal,\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n"],"mappings":"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","names":[]}
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import React__default, { FC, RefObject, ReactNode, ChangeEvent, InputHTMLAttributes } from 'react';
3
3
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
4
4
  import { P as PositionType, D as DirectionType, S as SeverityType, R as RadiusType, O as OrientationType } from '../commonTypes-C-g8nFFC.mjs';
5
- export { D as DropdownMenu, f as DropdownMenuCheckboxItem, d as DropdownMenuContent, k as DropdownMenuGroup, e as DropdownMenuItem, h as DropdownMenuLabel, b as DropdownMenuRadio, o as DropdownMenuRadioGroup, g as DropdownMenuRadioItem, a as DropdownMenuRoot, i as DropdownMenuSeparator, j as DropdownMenuShortcut, l as DropdownMenuSub, m as DropdownMenuSubContent, n as DropdownMenuSubTrigger, c as DropdownMenuTrigger, M as MenuItemType, S as SubItem } from '../DropdownMenu-FVVDS2rX.mjs';
5
+ export { D as DropdownMenu, f as DropdownMenuCheckboxItem, d as DropdownMenuContent, k as DropdownMenuGroup, e as DropdownMenuItem, h as DropdownMenuLabel, b as DropdownMenuRadio, o as DropdownMenuRadioGroup, g as DropdownMenuRadioItem, a as DropdownMenuRoot, i as DropdownMenuSeparator, j as DropdownMenuShortcut, l as DropdownMenuSub, m as DropdownMenuSubContent, n as DropdownMenuSubTrigger, c as DropdownMenuTrigger, M as MenuItemType, S as SubItem } from '../DropdownMenu-dvd9brmT.mjs';
6
6
  import { a as ChipTypes } from '../Chip-CGl24Kd9.mjs';
7
7
  export { b as Chip, C as ChipColors } from '../Chip-CGl24Kd9.mjs';
8
8
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import React__default, { FC, RefObject, ReactNode, ChangeEvent, InputHTMLAttributes } from 'react';
3
3
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
4
4
  import { P as PositionType, D as DirectionType, S as SeverityType, R as RadiusType, O as OrientationType } from '../commonTypes-C-g8nFFC.js';
5
- export { D as DropdownMenu, f as DropdownMenuCheckboxItem, d as DropdownMenuContent, k as DropdownMenuGroup, e as DropdownMenuItem, h as DropdownMenuLabel, b as DropdownMenuRadio, o as DropdownMenuRadioGroup, g as DropdownMenuRadioItem, a as DropdownMenuRoot, i as DropdownMenuSeparator, j as DropdownMenuShortcut, l as DropdownMenuSub, m as DropdownMenuSubContent, n as DropdownMenuSubTrigger, c as DropdownMenuTrigger, M as MenuItemType, S as SubItem } from '../DropdownMenu-SFJtRGAw.js';
5
+ export { D as DropdownMenu, f as DropdownMenuCheckboxItem, d as DropdownMenuContent, k as DropdownMenuGroup, e as DropdownMenuItem, h as DropdownMenuLabel, b as DropdownMenuRadio, o as DropdownMenuRadioGroup, g as DropdownMenuRadioItem, a as DropdownMenuRoot, i as DropdownMenuSeparator, j as DropdownMenuShortcut, l as DropdownMenuSub, m as DropdownMenuSubContent, n as DropdownMenuSubTrigger, c as DropdownMenuTrigger, M as MenuItemType, S as SubItem } from '../DropdownMenu-DgV8PvW3.js';
6
6
  import { a as ChipTypes } from '../Chip-Cato49ar.js';
7
7
  export { b as Chip, C as ChipColors } from '../Chip-Cato49ar.js';
8
8
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
@@ -821,6 +821,7 @@ var DropdownMenu = ({
821
821
  side,
822
822
  className,
823
823
  classNames,
824
+ contentProps,
824
825
  triggerClassname,
825
826
  triggerProps,
826
827
  align,
@@ -878,7 +879,8 @@ var DropdownMenu = ({
878
879
  ),
879
880
  style: {
880
881
  maxHeight: "var(--radix-dropdown-menu-content-available-height)"
881
- }
882
+ },
883
+ ...contentProps
882
884
  },
883
885
  header && header,
884
886
  items && items.map((item, index) => {
@@ -2284,7 +2286,7 @@ var DialogFooter = ({
2284
2286
  "div",
2285
2287
  {
2286
2288
  className: cn(
2287
- "hawa-flex hawa-flex-col-reverse sm:hawa-flex-row sm:hawa-justify-end hawa-gap-2",
2289
+ "hawa-flex hawa-flex-col xs:hawa-flex-row sm:hawa-justify-end hawa-gap-2",
2288
2290
  className
2289
2291
  ),
2290
2292
  ...props
@@ -3746,15 +3748,12 @@ var BackToTop = ({ ...props }) => {
3746
3748
  }
3747
3749
  };
3748
3750
  (0, import_react12.useEffect)(() => {
3749
- if (!props.anchor.current)
3750
- return;
3751
+ if (!props.anchor.current) return;
3751
3752
  props.anchor.current.addEventListener("scroll", onScroll);
3752
3753
  let interval = setInterval(() => {
3753
- if (!props.anchor.current)
3754
- return;
3754
+ if (!props.anchor.current) return;
3755
3755
  let newRect = props.anchor.current.getBoundingClientRect();
3756
- if (_rect.current == null)
3757
- return setRect(newRect);
3756
+ if (_rect.current == null) return setRect(newRect);
3758
3757
  if (!(_rect.current.top == newRect.top && _rect.current.left == newRect.left && _rect.current.width == newRect.width && _rect.current.height == newRect.height)) {
3759
3758
  setRect(newRect);
3760
3759
  }
@@ -3767,8 +3766,7 @@ var BackToTop = ({ ...props }) => {
3767
3766
  }, [onScroll, props.anchor]);
3768
3767
  const getStyles = () => {
3769
3768
  var _a;
3770
- if (!props.anchor.current || !self.current)
3771
- return {};
3769
+ if (!props.anchor.current || !self.current) return {};
3772
3770
  let corner = props.corner || "bottom-right";
3773
3771
  let [vertical, horizontal] = corner.split("-");
3774
3772
  let anchorRect = props.anchor.current.getBoundingClientRect();
@@ -3989,8 +3987,7 @@ var Radio = (0, import_react13.forwardRef)(
3989
3987
  {
3990
3988
  "aria-current": "page",
3991
3989
  onClick: () => {
3992
- if (props.disabled || opt.disabled)
3993
- return;
3990
+ if (props.disabled || opt.disabled) return;
3994
3991
  handleChange(opt);
3995
3992
  },
3996
3993
  className: cn(
@@ -4009,8 +4006,7 @@ var Radio = (0, import_react13.forwardRef)(
4009
4006
  key: o,
4010
4007
  "aria-current": "page",
4011
4008
  onClick: () => {
4012
- if (props.disabled || opt.disabled)
4013
- return;
4009
+ if (props.disabled || opt.disabled) return;
4014
4010
  handleChange(opt);
4015
4011
  },
4016
4012
  className: cn(
@@ -4297,8 +4293,7 @@ var FullCommand = ({
4297
4293
  {
4298
4294
  key: subIndex,
4299
4295
  onSelect: () => {
4300
- if (onActionClick)
4301
- onActionClick();
4296
+ if (onActionClick) onActionClick();
4302
4297
  subItem.action();
4303
4298
  }
4304
4299
  },
@@ -4948,8 +4943,7 @@ var ScrollArea = React41.forwardRef(({ className, children, orientation = "verti
4948
4943
  document.addEventListener("mouseup", onMouseUp);
4949
4944
  };
4950
4945
  const onMouseMove = (e) => {
4951
- if (!isDragging.current || !scrollAreaRef.current)
4952
- return;
4946
+ if (!isDragging.current || !scrollAreaRef.current) return;
4953
4947
  const dx = e.clientX - startPos.current.x;
4954
4948
  const dy = e.clientY - startPos.current.y;
4955
4949
  if (orientation === "vertical") {
@@ -7963,16 +7957,11 @@ var PasswordInput = ({
7963
7957
  (0, import_react49.useEffect)(() => {
7964
7958
  const calculateStrength = () => {
7965
7959
  let strengthScore = 0;
7966
- if (lengthCriteriaMet)
7967
- strengthScore += 1;
7968
- if (numberCriteriaMet)
7969
- strengthScore += 1;
7970
- if (specialCharCriteriaMet)
7971
- strengthScore += 1;
7972
- if (lowercaseCriteriaMet)
7973
- strengthScore += 1;
7974
- if (uppercaseCriteriaMet)
7975
- strengthScore += 1;
7960
+ if (lengthCriteriaMet) strengthScore += 1;
7961
+ if (numberCriteriaMet) strengthScore += 1;
7962
+ if (specialCharCriteriaMet) strengthScore += 1;
7963
+ if (lowercaseCriteriaMet) strengthScore += 1;
7964
+ if (uppercaseCriteriaMet) strengthScore += 1;
7976
7965
  return strengthScore;
7977
7966
  };
7978
7967
  const currentStrengthScore = calculateStrength();
@@ -8174,8 +8163,7 @@ var ScrollIndicator = ({
8174
8163
  }
8175
8164
  };
8176
8165
  (0, import_react50.useEffect)(() => {
8177
- if (!anchor.current)
8178
- return;
8166
+ if (!anchor.current) return;
8179
8167
  anchor.current.addEventListener("scroll", onScroll);
8180
8168
  return () => {
8181
8169
  var _a;
@@ -8393,8 +8381,7 @@ var Carousel = ({
8393
8381
  }, autoplayInterval);
8394
8382
  }
8395
8383
  return () => {
8396
- if (autoplayTimer)
8397
- clearInterval(autoplayTimer);
8384
+ if (autoplayTimer) clearInterval(autoplayTimer);
8398
8385
  };
8399
8386
  }, [emblaApi, autoplay, autoplayInterval]);
8400
8387
  const length = import_react52.default.Children.count(items);
@@ -26,10 +26,10 @@ import {
26
26
  TabsList,
27
27
  TabsTrigger,
28
28
  Textarea
29
- } from "../chunk-7R25FOBM.mjs";
29
+ } from "../chunk-Q3IS4SMU.mjs";
30
30
  import {
31
31
  useClipboard
32
- } from "../chunk-XCW5YNMS.mjs";
32
+ } from "../chunk-QUN7JBW3.mjs";
33
33
  import {
34
34
  Sheet,
35
35
  SheetClose,
@@ -41,7 +41,7 @@ import {
41
41
  SheetPortal,
42
42
  SheetTitle,
43
43
  SheetTrigger
44
- } from "../chunk-2GEXJLRC.mjs";
44
+ } from "../chunk-OXZBK6KQ.mjs";
45
45
  import {
46
46
  Button,
47
47
  Card,
@@ -81,10 +81,10 @@ import {
81
81
  buttonVariants,
82
82
  calculateLuminance,
83
83
  cn
84
- } from "../chunk-FP6763YO.mjs";
84
+ } from "../chunk-DBOKFWWD.mjs";
85
85
  import {
86
86
  __require
87
- } from "../chunk-SYGWSBJL.mjs";
87
+ } from "../chunk-2LUXOXAL.mjs";
88
88
 
89
89
  // elements/accordion/Accordion.tsx
90
90
  import * as React3 from "react";
@@ -590,7 +590,7 @@ var DialogFooter = ({
590
590
  "div",
591
591
  {
592
592
  className: cn(
593
- "hawa-flex hawa-flex-col-reverse sm:hawa-flex-row sm:hawa-justify-end hawa-gap-2",
593
+ "hawa-flex hawa-flex-col xs:hawa-flex-row sm:hawa-justify-end hawa-gap-2",
594
594
  className
595
595
  ),
596
596
  ...props
@@ -1460,15 +1460,12 @@ var BackToTop = ({ ...props }) => {
1460
1460
  }
1461
1461
  };
1462
1462
  useEffect3(() => {
1463
- if (!props.anchor.current)
1464
- return;
1463
+ if (!props.anchor.current) return;
1465
1464
  props.anchor.current.addEventListener("scroll", onScroll);
1466
1465
  let interval = setInterval(() => {
1467
- if (!props.anchor.current)
1468
- return;
1466
+ if (!props.anchor.current) return;
1469
1467
  let newRect = props.anchor.current.getBoundingClientRect();
1470
- if (_rect.current == null)
1471
- return setRect(newRect);
1468
+ if (_rect.current == null) return setRect(newRect);
1472
1469
  if (!(_rect.current.top == newRect.top && _rect.current.left == newRect.left && _rect.current.width == newRect.width && _rect.current.height == newRect.height)) {
1473
1470
  setRect(newRect);
1474
1471
  }
@@ -1481,8 +1478,7 @@ var BackToTop = ({ ...props }) => {
1481
1478
  }, [onScroll, props.anchor]);
1482
1479
  const getStyles = () => {
1483
1480
  var _a;
1484
- if (!props.anchor.current || !self.current)
1485
- return {};
1481
+ if (!props.anchor.current || !self.current) return {};
1486
1482
  let corner = props.corner || "bottom-right";
1487
1483
  let [vertical, horizontal] = corner.split("-");
1488
1484
  let anchorRect = props.anchor.current.getBoundingClientRect();
@@ -1673,8 +1669,7 @@ var FullCommand = ({
1673
1669
  {
1674
1670
  key: subIndex,
1675
1671
  onSelect: () => {
1676
- if (onActionClick)
1677
- onActionClick();
1672
+ if (onActionClick) onActionClick();
1678
1673
  subItem.action();
1679
1674
  }
1680
1675
  },
@@ -2696,16 +2691,11 @@ var PasswordInput = ({
2696
2691
  useEffect8(() => {
2697
2692
  const calculateStrength = () => {
2698
2693
  let strengthScore = 0;
2699
- if (lengthCriteriaMet)
2700
- strengthScore += 1;
2701
- if (numberCriteriaMet)
2702
- strengthScore += 1;
2703
- if (specialCharCriteriaMet)
2704
- strengthScore += 1;
2705
- if (lowercaseCriteriaMet)
2706
- strengthScore += 1;
2707
- if (uppercaseCriteriaMet)
2708
- strengthScore += 1;
2694
+ if (lengthCriteriaMet) strengthScore += 1;
2695
+ if (numberCriteriaMet) strengthScore += 1;
2696
+ if (specialCharCriteriaMet) strengthScore += 1;
2697
+ if (lowercaseCriteriaMet) strengthScore += 1;
2698
+ if (uppercaseCriteriaMet) strengthScore += 1;
2709
2699
  return strengthScore;
2710
2700
  };
2711
2701
  const currentStrengthScore = calculateStrength();
@@ -2893,8 +2883,7 @@ var ScrollIndicator = ({
2893
2883
  }
2894
2884
  };
2895
2885
  useEffect9(() => {
2896
- if (!anchor.current)
2897
- return;
2886
+ if (!anchor.current) return;
2898
2887
  anchor.current.addEventListener("scroll", onScroll);
2899
2888
  return () => {
2900
2889
  var _a;
@@ -3112,8 +3101,7 @@ var Carousel = ({
3112
3101
  }, autoplayInterval);
3113
3102
  }
3114
3103
  return () => {
3115
- if (autoplayTimer)
3116
- clearInterval(autoplayTimer);
3104
+ if (autoplayTimer) clearInterval(autoplayTimer);
3117
3105
  };
3118
3106
  }, [emblaApi, autoplay, autoplayInterval]);
3119
3107
  const length = React28.Children.count(items);
@@ -116,8 +116,7 @@ var Glow = ({
116
116
  });
117
117
  });
118
118
  const capture = (_a = element.current) == null ? void 0 : _a.closest(".glow-capture");
119
- if (capture)
120
- observer.observe(capture);
119
+ if (capture) observer.observe(capture);
121
120
  return () => observer.disconnect();
122
121
  }, []);
123
122
  return /* @__PURE__ */ import_react.default.createElement("div", { ref: element, className: "hawa-glow", style: { display: "grid" } }, /* @__PURE__ */ import_react.default.createElement(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/glow/index.ts","../../elements/glow/Glow.tsx"],"sourcesContent":["export * from \"./Glow\";\n","import React, { CSSProperties, useEffect, useRef } from \"react\";\n\nexport const GlowCapture = ({ className = \"\", size = 400, ...rest }) => {\n const element = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const move = (e: PointerEvent) => {\n if (e.pointerType === \"mouse\") {\n requestAnimationFrame(() => {\n // @ts-ignore\n element.current?.style.setProperty(\"--glow-x\", `${e.layerX}px`);\n // @ts-ignore\n element.current?.style.setProperty(\"--glow-y\", `${e.layerY}px`);\n });\n }\n };\n\n const leave = () => {\n element.current?.style.removeProperty(\"--glow-x\");\n element.current?.style.removeProperty(\"--glow-y\");\n };\n\n element.current?.addEventListener(\"pointermove\", move, { passive: true });\n element.current?.addEventListener(\"pointerleave\", leave, { passive: true });\n return () => {\n element.current?.removeEventListener(\"pointermove\", move);\n element.current?.removeEventListener(\"pointerleave\", leave);\n };\n }, []);\n\n return (\n <div\n ref={element}\n className={`hawa-glow-capture ${className}`}\n style={\n {\n position: \"relative\",\n \"--glow-size\": `${size}px`,\n } as CSSProperties\n }\n {...rest}\n />\n );\n};\n\nconst mask = `\nradial-gradient(var(--glow-size) var(--glow-size) at calc(var(--glow-x, -99999px) - var(--glow-left, 0px))\ncalc(var(--glow-y, -99999px) - var(--glow-top, 0px)), #000000 1%, transparent 50%)\n`;\n\nexport const Glow = ({\n className = \"\",\n style = {},\n\n color = \"#f50057\",\n debug = false,\n ...rest\n}) => {\n const element = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n element.current?.style.setProperty(\n \"--glow-top\",\n `${element.current?.offsetTop}px`,\n );\n element.current?.style.setProperty(\n \"--glow-left\",\n `${element.current?.offsetLeft}px`,\n );\n });\n\n useEffect(() => {\n const observer = new ResizeObserver(() => {\n requestAnimationFrame(() => {\n element.current?.style.setProperty(\n \"--glow-top\",\n `${element.current?.offsetTop}px`,\n );\n element.current?.style.setProperty(\n \"--glow-left\",\n `${element.current?.offsetLeft}px`,\n );\n });\n });\n\n const capture = element.current?.closest(\".glow-capture\");\n if (capture) observer.observe(capture);\n\n return () => observer.disconnect();\n }, []);\n\n return (\n <div ref={element} className=\"hawa-glow\" style={{ display: \"grid\" }}>\n <div\n className={className}\n style={{\n ...style,\n gridArea: \"1/1/1/1\",\n }}\n {...rest}\n >\n {rest.children}\n </div>\n <div\n className={`glow-mask ${className}`}\n // @ts-ignore\n glow=\"true\"\n style={\n {\n ...style,\n \"--glow-color\": color,\n gridArea: \"1/1/1/1\",\n pointerEvents: \"none\",\n mask: debug ? undefined : mask,\n WebkitMask: debug ? undefined : mask,\n } as CSSProperties\n }\n {...rest}\n >\n {rest.children}\n </div>\n </div>\n );\n};\n"],"mappings":"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","names":["_a","_b","React"]}
1
+ {"version":3,"sources":["../../elements/glow/index.ts","../../elements/glow/Glow.tsx"],"sourcesContent":["export * from \"./Glow\";\n","import React, { CSSProperties, useEffect, useRef } from \"react\";\n\nexport const GlowCapture = ({ className = \"\", size = 400, ...rest }) => {\n const element = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const move = (e: PointerEvent) => {\n if (e.pointerType === \"mouse\") {\n requestAnimationFrame(() => {\n // @ts-ignore\n element.current?.style.setProperty(\"--glow-x\", `${e.layerX}px`);\n // @ts-ignore\n element.current?.style.setProperty(\"--glow-y\", `${e.layerY}px`);\n });\n }\n };\n\n const leave = () => {\n element.current?.style.removeProperty(\"--glow-x\");\n element.current?.style.removeProperty(\"--glow-y\");\n };\n\n element.current?.addEventListener(\"pointermove\", move, { passive: true });\n element.current?.addEventListener(\"pointerleave\", leave, { passive: true });\n return () => {\n element.current?.removeEventListener(\"pointermove\", move);\n element.current?.removeEventListener(\"pointerleave\", leave);\n };\n }, []);\n\n return (\n <div\n ref={element}\n className={`hawa-glow-capture ${className}`}\n style={\n {\n position: \"relative\",\n \"--glow-size\": `${size}px`,\n } as CSSProperties\n }\n {...rest}\n />\n );\n};\n\nconst mask = `\nradial-gradient(var(--glow-size) var(--glow-size) at calc(var(--glow-x, -99999px) - var(--glow-left, 0px))\ncalc(var(--glow-y, -99999px) - var(--glow-top, 0px)), #000000 1%, transparent 50%)\n`;\n\nexport const Glow = ({\n className = \"\",\n style = {},\n\n color = \"#f50057\",\n debug = false,\n ...rest\n}) => {\n const element = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n element.current?.style.setProperty(\n \"--glow-top\",\n `${element.current?.offsetTop}px`,\n );\n element.current?.style.setProperty(\n \"--glow-left\",\n `${element.current?.offsetLeft}px`,\n );\n });\n\n useEffect(() => {\n const observer = new ResizeObserver(() => {\n requestAnimationFrame(() => {\n element.current?.style.setProperty(\n \"--glow-top\",\n `${element.current?.offsetTop}px`,\n );\n element.current?.style.setProperty(\n \"--glow-left\",\n `${element.current?.offsetLeft}px`,\n );\n });\n });\n\n const capture = element.current?.closest(\".glow-capture\");\n if (capture) observer.observe(capture);\n\n return () => observer.disconnect();\n }, []);\n\n return (\n <div ref={element} className=\"hawa-glow\" style={{ display: \"grid\" }}>\n <div\n className={className}\n style={{\n ...style,\n gridArea: \"1/1/1/1\",\n }}\n {...rest}\n >\n {rest.children}\n </div>\n <div\n className={`glow-mask ${className}`}\n // @ts-ignore\n glow=\"true\"\n style={\n {\n ...style,\n \"--glow-color\": color,\n gridArea: \"1/1/1/1\",\n pointerEvents: \"none\",\n mask: debug ? undefined : mask,\n WebkitMask: debug ? undefined : mask,\n } as CSSProperties\n }\n {...rest}\n >\n {rest.children}\n </div>\n </div>\n );\n};\n"],"mappings":"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","names":["_a","_b","React"]}
@@ -80,8 +80,7 @@ var Glow = ({
80
80
  });
81
81
  });
82
82
  const capture = (_a = element.current) == null ? void 0 : _a.closest(".glow-capture");
83
- if (capture)
84
- observer.observe(capture);
83
+ if (capture) observer.observe(capture);
85
84
  return () => observer.disconnect();
86
85
  }, []);
87
86
  return /* @__PURE__ */ React.createElement("div", { ref: element, className: "hawa-glow", style: { display: "grid" } }, /* @__PURE__ */ React.createElement(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/glow/Glow.tsx"],"sourcesContent":["import React, { CSSProperties, useEffect, useRef } from \"react\";\n\nexport const GlowCapture = ({ className = \"\", size = 400, ...rest }) => {\n const element = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const move = (e: PointerEvent) => {\n if (e.pointerType === \"mouse\") {\n requestAnimationFrame(() => {\n // @ts-ignore\n element.current?.style.setProperty(\"--glow-x\", `${e.layerX}px`);\n // @ts-ignore\n element.current?.style.setProperty(\"--glow-y\", `${e.layerY}px`);\n });\n }\n };\n\n const leave = () => {\n element.current?.style.removeProperty(\"--glow-x\");\n element.current?.style.removeProperty(\"--glow-y\");\n };\n\n element.current?.addEventListener(\"pointermove\", move, { passive: true });\n element.current?.addEventListener(\"pointerleave\", leave, { passive: true });\n return () => {\n element.current?.removeEventListener(\"pointermove\", move);\n element.current?.removeEventListener(\"pointerleave\", leave);\n };\n }, []);\n\n return (\n <div\n ref={element}\n className={`hawa-glow-capture ${className}`}\n style={\n {\n position: \"relative\",\n \"--glow-size\": `${size}px`,\n } as CSSProperties\n }\n {...rest}\n />\n );\n};\n\nconst mask = `\nradial-gradient(var(--glow-size) var(--glow-size) at calc(var(--glow-x, -99999px) - var(--glow-left, 0px))\ncalc(var(--glow-y, -99999px) - var(--glow-top, 0px)), #000000 1%, transparent 50%)\n`;\n\nexport const Glow = ({\n className = \"\",\n style = {},\n\n color = \"#f50057\",\n debug = false,\n ...rest\n}) => {\n const element = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n element.current?.style.setProperty(\n \"--glow-top\",\n `${element.current?.offsetTop}px`,\n );\n element.current?.style.setProperty(\n \"--glow-left\",\n `${element.current?.offsetLeft}px`,\n );\n });\n\n useEffect(() => {\n const observer = new ResizeObserver(() => {\n requestAnimationFrame(() => {\n element.current?.style.setProperty(\n \"--glow-top\",\n `${element.current?.offsetTop}px`,\n );\n element.current?.style.setProperty(\n \"--glow-left\",\n `${element.current?.offsetLeft}px`,\n );\n });\n });\n\n const capture = element.current?.closest(\".glow-capture\");\n if (capture) observer.observe(capture);\n\n return () => observer.disconnect();\n }, []);\n\n return (\n <div ref={element} className=\"hawa-glow\" style={{ display: \"grid\" }}>\n <div\n className={className}\n style={{\n ...style,\n gridArea: \"1/1/1/1\",\n }}\n {...rest}\n >\n {rest.children}\n </div>\n <div\n className={`glow-mask ${className}`}\n // @ts-ignore\n glow=\"true\"\n style={\n {\n ...style,\n \"--glow-color\": color,\n gridArea: \"1/1/1/1\",\n pointerEvents: \"none\",\n mask: debug ? undefined : mask,\n WebkitMask: debug ? undefined : mask,\n } as CSSProperties\n }\n {...rest}\n >\n {rest.children}\n </div>\n </div>\n );\n};\n"],"mappings":"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","names":["_a","_b"]}
1
+ {"version":3,"sources":["../../elements/glow/Glow.tsx"],"sourcesContent":["import React, { CSSProperties, useEffect, useRef } from \"react\";\n\nexport const GlowCapture = ({ className = \"\", size = 400, ...rest }) => {\n const element = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const move = (e: PointerEvent) => {\n if (e.pointerType === \"mouse\") {\n requestAnimationFrame(() => {\n // @ts-ignore\n element.current?.style.setProperty(\"--glow-x\", `${e.layerX}px`);\n // @ts-ignore\n element.current?.style.setProperty(\"--glow-y\", `${e.layerY}px`);\n });\n }\n };\n\n const leave = () => {\n element.current?.style.removeProperty(\"--glow-x\");\n element.current?.style.removeProperty(\"--glow-y\");\n };\n\n element.current?.addEventListener(\"pointermove\", move, { passive: true });\n element.current?.addEventListener(\"pointerleave\", leave, { passive: true });\n return () => {\n element.current?.removeEventListener(\"pointermove\", move);\n element.current?.removeEventListener(\"pointerleave\", leave);\n };\n }, []);\n\n return (\n <div\n ref={element}\n className={`hawa-glow-capture ${className}`}\n style={\n {\n position: \"relative\",\n \"--glow-size\": `${size}px`,\n } as CSSProperties\n }\n {...rest}\n />\n );\n};\n\nconst mask = `\nradial-gradient(var(--glow-size) var(--glow-size) at calc(var(--glow-x, -99999px) - var(--glow-left, 0px))\ncalc(var(--glow-y, -99999px) - var(--glow-top, 0px)), #000000 1%, transparent 50%)\n`;\n\nexport const Glow = ({\n className = \"\",\n style = {},\n\n color = \"#f50057\",\n debug = false,\n ...rest\n}) => {\n const element = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n element.current?.style.setProperty(\n \"--glow-top\",\n `${element.current?.offsetTop}px`,\n );\n element.current?.style.setProperty(\n \"--glow-left\",\n `${element.current?.offsetLeft}px`,\n );\n });\n\n useEffect(() => {\n const observer = new ResizeObserver(() => {\n requestAnimationFrame(() => {\n element.current?.style.setProperty(\n \"--glow-top\",\n `${element.current?.offsetTop}px`,\n );\n element.current?.style.setProperty(\n \"--glow-left\",\n `${element.current?.offsetLeft}px`,\n );\n });\n });\n\n const capture = element.current?.closest(\".glow-capture\");\n if (capture) observer.observe(capture);\n\n return () => observer.disconnect();\n }, []);\n\n return (\n <div ref={element} className=\"hawa-glow\" style={{ display: \"grid\" }}>\n <div\n className={className}\n style={{\n ...style,\n gridArea: \"1/1/1/1\",\n }}\n {...rest}\n >\n {rest.children}\n </div>\n <div\n className={`glow-mask ${className}`}\n // @ts-ignore\n glow=\"true\"\n style={\n {\n ...style,\n \"--glow-color\": color,\n gridArea: \"1/1/1/1\",\n pointerEvents: \"none\",\n mask: debug ? undefined : mask,\n WebkitMask: debug ? undefined : mask,\n } as CSSProperties\n }\n {...rest}\n >\n {rest.children}\n </div>\n </div>\n );\n};\n"],"mappings":"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","names":["_a","_b"]}
@@ -143,8 +143,7 @@ function toast({ ...props }) {
143
143
  id,
144
144
  open: true,
145
145
  onOpenChange: (open) => {
146
- if (!open)
147
- dismiss();
146
+ if (!open) dismiss();
148
147
  }
149
148
  }
150
149
  });
@@ -18,11 +18,11 @@ import {
18
18
  useViewportSize,
19
19
  useWindowEvent,
20
20
  useWindowSize
21
- } from "../chunk-XCW5YNMS.mjs";
21
+ } from "../chunk-QUN7JBW3.mjs";
22
22
  import {
23
23
  useBreakpoint,
24
24
  useClickOutside
25
- } from "../chunk-SYGWSBJL.mjs";
25
+ } from "../chunk-2LUXOXAL.mjs";
26
26
  export {
27
27
  getHotkeyHandler,
28
28
  getHotkeyMatcher,