kz-design-system 0.2.0 → 0.3.0
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/button.d.mts +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/button.js +6 -2
- package/dist/button.js.map +1 -1
- package/dist/button.mjs +11 -3
- package/dist/button.mjs.map +1 -1
- package/dist/color-picker.js +6 -2
- package/dist/color-picker.js.map +1 -1
- package/dist/color-picker.mjs +11 -3
- package/dist/color-picker.mjs.map +1 -1
- package/dist/date-range-picker.js +6 -2
- package/dist/date-range-picker.js.map +1 -1
- package/dist/date-range-picker.mjs +11 -3
- package/dist/date-range-picker.mjs.map +1 -1
- package/dist/date-time-picker.js +6 -2
- package/dist/date-time-picker.js.map +1 -1
- package/dist/date-time-picker.mjs +11 -3
- package/dist/date-time-picker.mjs.map +1 -1
- package/dist/dropdown.js +6 -2
- package/dist/dropdown.js.map +1 -1
- package/dist/dropdown.mjs +11 -3
- package/dist/dropdown.mjs.map +1 -1
- package/dist/error-page.js +5 -1
- package/dist/error-page.js.map +1 -1
- package/dist/error-page.mjs +10 -2
- package/dist/error-page.mjs.map +1 -1
- package/dist/file-uploader.js +5 -1
- package/dist/file-uploader.js.map +1 -1
- package/dist/file-uploader.mjs +10 -2
- package/dist/file-uploader.mjs.map +1 -1
- package/dist/icon-picker.d.mts +1 -1
- package/dist/icon-picker.d.ts +1 -1
- package/dist/icon-picker.js +10 -2
- package/dist/icon-picker.js.map +1 -1
- package/dist/icon-picker.mjs +15 -3
- package/dist/icon-picker.mjs.map +1 -1
- package/dist/{icon-registry-YZFYW-mt.d.mts → icon-registry-DY5NSKnE.d.mts} +5 -1
- package/dist/{icon-registry-YZFYW-mt.d.ts → icon-registry-DY5NSKnE.d.ts} +5 -1
- package/dist/icon.d.mts +2 -2
- package/dist/icon.d.ts +2 -2
- package/dist/icon.js +9 -1
- package/dist/icon.js.map +1 -1
- package/dist/icon.mjs +14 -2
- package/dist/icon.mjs.map +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +994 -693
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +999 -695
- package/dist/index.mjs.map +1 -1
- package/dist/modal.js +5 -1
- package/dist/modal.js.map +1 -1
- package/dist/modal.mjs +10 -2
- package/dist/modal.mjs.map +1 -1
- package/dist/number-input.js +6 -2
- package/dist/number-input.js.map +1 -1
- package/dist/number-input.mjs +11 -3
- package/dist/number-input.mjs.map +1 -1
- package/dist/pagination.js +6 -2
- package/dist/pagination.js.map +1 -1
- package/dist/pagination.mjs +11 -3
- package/dist/pagination.mjs.map +1 -1
- package/dist/qr-renderer.js +6 -2
- package/dist/qr-renderer.js.map +1 -1
- package/dist/qr-renderer.mjs +11 -3
- package/dist/qr-renderer.mjs.map +1 -1
- package/dist/range-slider.d.mts +38 -0
- package/dist/range-slider.d.ts +38 -0
- package/dist/range-slider.js +466 -0
- package/dist/range-slider.js.map +1 -0
- package/dist/range-slider.mjs +426 -0
- package/dist/range-slider.mjs.map +1 -0
- package/dist/select.js +5 -1
- package/dist/select.js.map +1 -1
- package/dist/select.mjs +10 -2
- package/dist/select.mjs.map +1 -1
- package/dist/sidemenu.d.mts +1 -1
- package/dist/sidemenu.d.ts +1 -1
- package/dist/sidemenu.js +5 -1
- package/dist/sidemenu.js.map +1 -1
- package/dist/sidemenu.mjs +10 -2
- package/dist/sidemenu.mjs.map +1 -1
- package/dist/sidepanel.js +5 -1
- package/dist/sidepanel.js.map +1 -1
- package/dist/sidepanel.mjs +10 -2
- package/dist/sidepanel.mjs.map +1 -1
- package/dist/sql-editor.js +6 -2
- package/dist/sql-editor.js.map +1 -1
- package/dist/sql-editor.mjs +11 -3
- package/dist/sql-editor.mjs.map +1 -1
- package/dist/styles.css +2 -2
- package/dist/table.d.mts +14 -0
- package/dist/table.d.ts +14 -0
- package/dist/table.js +41 -21
- package/dist/table.js.map +1 -1
- package/dist/table.mjs +46 -22
- package/dist/table.mjs.map +1 -1
- package/dist/tabs.js +5 -1
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.mjs +10 -2
- package/dist/tabs.mjs.map +1 -1
- package/dist/text-area.js +5 -1
- package/dist/text-area.js.map +1 -1
- package/dist/text-area.mjs +10 -2
- package/dist/text-area.mjs.map +1 -1
- package/dist/text-input.js +5 -1
- package/dist/text-input.js.map +1 -1
- package/dist/text-input.mjs +10 -2
- package/dist/text-input.mjs.map +1 -1
- package/dist/toast.js +5 -1
- package/dist/toast.js.map +1 -1
- package/dist/toast.mjs +10 -2
- package/dist/toast.mjs.map +1 -1
- package/dist/toggle-button.js +6 -2
- package/dist/toggle-button.js.map +1 -1
- package/dist/toggle-button.mjs +11 -3
- package/dist/toggle-button.mjs.map +1 -1
- package/package.json +7 -1
package/dist/color-picker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/color-picker/index.ts","../src/components/color-picker/ColorPicker.tsx","../src/utils/cn.ts","../src/components/button/Button.tsx","../src/components/button/button.variants.ts","../src/icon/icon-sizes.ts","../src/icon/Icon.tsx","../src/icon/icon-registry.tsx","../src/components/typography/Typography.tsx","../src/components/typography/typography-variants.ts"],"sourcesContent":["export { ColorPicker } from \"./ColorPicker\";\nexport type { ColorPickerProps } from \"./ColorPicker\";\n","import * as React from \"react\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { cn } from \"../../utils/cn\";\nimport {\n TextInputVariant,\n TextInputSize,\n TextInputState,\n ButtonVariant,\n ButtonSize,\n} from \"../../constants/enum\";\nimport { Button } from \"../button\";\nimport { Typography } from \"../typography\";\nimport { TypographyVariantEnum } from \"../typography/typography-variants\";\nimport { Icon, IconName } from \"../../icon\";\n\n/* ── Hardcoded palette (10 hues × 10 shades) ── */\n\nconst COLOR_PALETTE: string[] = [\n // Grays\n \"#f8f9fa\",\n \"#e9ecef\",\n \"#dee2e6\",\n \"#ced4da\",\n \"#adb5bd\",\n \"#6c757d\",\n \"#495057\",\n \"#343a40\",\n \"#212529\",\n \"#0d1117\",\n // Reds\n \"#fff5f5\",\n \"#ffe3e3\",\n \"#ffc9c9\",\n \"#ffa8a8\",\n \"#ff8787\",\n \"#ff6b6b\",\n \"#fa5252\",\n \"#f03e3e\",\n \"#e03131\",\n \"#c92a2a\",\n // Oranges\n \"#fff4e6\",\n \"#ffe8cc\",\n \"#ffd8a8\",\n \"#ffc078\",\n \"#ffa94d\",\n \"#ff922b\",\n \"#fd7e14\",\n \"#e8590c\",\n \"#d9480f\",\n \"#bf4000\",\n // Yellows\n \"#fff9db\",\n \"#fff3bf\",\n \"#ffec99\",\n \"#ffe066\",\n \"#ffd43b\",\n \"#fcc419\",\n \"#fab005\",\n \"#f59f00\",\n \"#f08c00\",\n \"#e67700\",\n // Greens\n \"#ebfbee\",\n \"#d3f9d8\",\n \"#b2f2bb\",\n \"#8ce99a\",\n \"#69db7c\",\n \"#51cf66\",\n \"#40c057\",\n \"#37b24d\",\n \"#2f9e44\",\n \"#2b8a3e\",\n // Teals\n \"#e6fcf5\",\n \"#c3fae8\",\n \"#96f2d7\",\n \"#63e6be\",\n \"#38d9a9\",\n \"#20c997\",\n \"#12b886\",\n \"#0ca678\",\n \"#099268\",\n \"#087f5b\",\n // Blues\n \"#e7f5ff\",\n \"#d0ebff\",\n \"#a5d8ff\",\n \"#74c0fc\",\n \"#4dabf7\",\n \"#339af0\",\n \"#228be6\",\n \"#1c7ed6\",\n \"#1971c2\",\n \"#1864ab\",\n // Indigos\n \"#edf2ff\",\n \"#dbe4ff\",\n \"#bac8ff\",\n \"#91a7ff\",\n \"#748ffc\",\n \"#5c7cfa\",\n \"#4c6ef5\",\n \"#4263eb\",\n \"#3b5bdb\",\n \"#364fc7\",\n // Purples\n \"#f8f0fc\",\n \"#f3d9fa\",\n \"#eebefa\",\n \"#e599f7\",\n \"#da77f2\",\n \"#cc5de8\",\n \"#be4bdb\",\n \"#ae3ec9\",\n \"#9c36b5\",\n \"#862e9c\",\n // Pinks\n \"#fff0f6\",\n \"#ffdeeb\",\n \"#fcc2d7\",\n \"#faa2c1\",\n \"#f783ac\",\n \"#f06595\",\n \"#e64980\",\n \"#d6336c\",\n \"#c2255c\",\n \"#a61e4d\",\n];\n\n/* ── Hex helpers ── */\n\nconst HEX_RE = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;\n\nfunction isValidHex(v: string): boolean {\n return HEX_RE.test(v);\n}\n\nfunction normalizeHex(v: string): string {\n const m = v.match(HEX_RE);\n if (m == null) return v;\n const hex = m[1];\n if (hex.length === 3) {\n return `#${hex[0]}${hex[0]}${hex[1]}${hex[1]}${hex[2]}${hex[2]}`.toLowerCase();\n }\n return `#${hex}`.toLowerCase();\n}\n\n/* ── Props ── */\n\nexport interface ColorPickerProps {\n /** Controlled value (hex string). Omit for uncontrolled. */\n value?: string;\n /** Initial value for uncontrolled mode. */\n defaultValue?: string;\n /** Fires when a color is picked or cleared. */\n onChange?: (value: string | undefined) => void;\n\n placeholder?: string;\n disabled?: boolean;\n\n size?: TextInputSize;\n variant?: TextInputVariant;\n state?: TextInputState;\n\n errorText?: string;\n successText?: string;\n warningText?: string;\n\n label?: string;\n helperText?: string;\n description?: string;\n\n className?: string;\n inputClassName?: string;\n}\n\n/* ── Component ── */\n\nconst ColorPicker = React.forwardRef<HTMLInputElement, ColorPickerProps>(\n (\n {\n value: valueProp,\n defaultValue,\n onChange,\n placeholder = \"#000000\",\n disabled = false,\n size = TextInputSize.Md,\n variant = TextInputVariant.Default,\n state = TextInputState.Default,\n errorText,\n successText,\n warningText,\n label,\n helperText,\n description,\n className,\n inputClassName,\n },\n ref\n ) => {\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = React.useState<\n string | undefined\n >(defaultValue);\n\n const value = isControlled ? valueProp : internalValue;\n\n const fireChange = React.useCallback(\n (next: string | undefined) => {\n if (!isControlled) {\n setInternalValue(next);\n }\n onChange?.(next);\n },\n [isControlled, onChange]\n );\n\n const [open, setOpen] = React.useState(false);\n const [inputValue, setInputValue] = React.useState(value ?? \"\");\n\n React.useEffect(() => {\n setInputValue(value ?? \"\");\n }, [value]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value);\n };\n\n const handleInputBlur = () => {\n const trimmed = inputValue.trim();\n if (trimmed === \"\") {\n fireChange(undefined);\n return;\n }\n if (isValidHex(trimmed)) {\n fireChange(normalizeHex(trimmed));\n } else {\n setInputValue(value ?? \"\");\n }\n };\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n handleInputBlur();\n setOpen(false);\n }\n if (e.key === \"Escape\") {\n setOpen(false);\n }\n };\n\n const handleSwatchClick = (hex: string) => {\n fireChange(hex);\n setOpen(false);\n };\n\n const handleClear = () => {\n fireChange(undefined);\n setOpen(false);\n };\n\n const stateMessage =\n state === TextInputState.Error\n ? errorText\n : state === TextInputState.Success\n ? successText\n : state === TextInputState.Warning\n ? warningText\n : undefined;\n\n const rootClass = cn(\"kz-color-picker-root\", className);\n\n const wrapperClass = cn(\n \"kz-color-picker-wrapper\",\n `kz-color-picker-wrapper--${variant}`,\n `kz-color-picker-wrapper--${size}`,\n state !== TextInputState.Default && `kz-color-picker-wrapper--${state}`,\n open && \"kz-color-picker-wrapper--open\"\n );\n\n const inputClass = cn(\n \"kz-color-picker-input\",\n `kz-color-picker-input--${size}`,\n inputClassName\n );\n\n const iconSize = size === TextInputSize.Sm ? 14 : 16;\n\n return (\n <div className={rootClass}>\n {label != null && label !== \"\" && (\n <label className=\"kz-color-picker-label\">\n <Typography variant={TypographyVariantEnum.Label}>\n {label}\n </Typography>\n </label>\n )}\n\n {description != null && description !== \"\" && (\n <Typography variant={TypographyVariantEnum.Caption}>\n {description}\n </Typography>\n )}\n\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger asChild disabled={disabled}>\n <div className={wrapperClass}>\n <span className=\"kz-color-picker-icon\">\n <Icon name={IconName.Palette} size={iconSize} />\n </span>\n {value != null && value !== \"\" && (\n <span\n className=\"kz-color-picker-swatch-preview\"\n style={{ backgroundColor: value }}\n />\n )}\n <input\n ref={ref}\n type=\"text\"\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n className={inputClass}\n aria-invalid={state === TextInputState.Error}\n aria-describedby={\n stateMessage != null\n ? \"color-picker-message\"\n : helperText != null\n ? \"color-picker-helper\"\n : undefined\n }\n />\n <button\n type=\"button\"\n className=\"kz-color-picker-toggle\"\n tabIndex={-1}\n aria-label=\"Toggle color picker\"\n disabled={disabled}\n onClick={(e) => {\n e.stopPropagation();\n setOpen((prev) => !prev);\n }}\n >\n <Icon name={IconName.ChevronDown} size={iconSize} />\n </button>\n </div>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n className=\"kz-color-picker-popover\"\n sideOffset={4}\n align=\"start\"\n onOpenAutoFocus={(e) => e.preventDefault()}\n >\n <div className=\"kz-color-picker-grid\">\n {COLOR_PALETTE.map((hex) => (\n <button\n key={hex}\n type=\"button\"\n className={cn(\n \"kz-color-picker-swatch\",\n value === hex && \"kz-color-picker-swatch--selected\"\n )}\n style={{ backgroundColor: hex }}\n title={hex}\n onClick={() => handleSwatchClick(hex)}\n />\n ))}\n </div>\n\n <div className=\"kz-color-picker-footer\">\n <Button\n variant={ButtonVariant.Primary}\n size={ButtonSize.Sm}\n onClick={handleClear}\n >\n Clear\n </Button>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n\n {stateMessage != null && stateMessage !== \"\" && (\n <Typography\n id=\"color-picker-message\"\n variant={\n state === TextInputState.Error\n ? TypographyVariantEnum.Error\n : state === TextInputState.Success\n ? TypographyVariantEnum.Success\n : TypographyVariantEnum.Warning\n }\n >\n {stateMessage}\n </Typography>\n )}\n\n {helperText != null &&\n helperText !== \"\" &&\n state === TextInputState.Default && (\n <Typography\n id=\"color-picker-helper\"\n variant={TypographyVariantEnum.Caption}\n >\n {helperText}\n </Typography>\n )}\n </div>\n );\n }\n);\n\nColorPicker.displayName = \"ColorPicker\";\n\nexport { ColorPicker };\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n ButtonVariant,\n ButtonSize,\n ButtonStatus,\n ButtonType,\n ButtonAspectRatio,\n} from \"../../constants/enum\";\nimport { buttonVariants, type ButtonVariants } from \"./button.variants\";\nimport { Loader2 } from \"lucide-react\";\nimport { iconSize } from \"../../icon/icon-sizes\";\nimport { cn } from \"../../utils/cn\";\nimport { Icon, type IconProps } from \"../../icon/Icon\";\n\nexport interface ButtonProps extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n \"children\" | \"onClick\"\n> {\n variant: ButtonVariant;\n size: ButtonSize;\n status?: ButtonStatus;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n asChild?: boolean;\n children: React.ReactNode;\n type?: ButtonType;\n loading?: boolean;\n aspectRatio?: ButtonAspectRatio;\n leftIcon?: IconProps;\n rightIcon?: IconProps;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n status,\n onClick,\n asChild = false,\n children,\n type = ButtonType.Button,\n loading = false,\n aspectRatio = ButtonAspectRatio.Auto,\n disabled,\n leftIcon,\n rightIcon,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n const isDisabled = disabled || loading;\n\n const buttonClassName = cn(\n buttonVariants({ variant, size, status }),\n loading && \"opacity-[var(--kz-component-button-loading-opacity,0.8)]\",\n aspectRatio === ButtonAspectRatio.Square && \"kz-button--aspect-1-1\",\n className\n );\n\n if (asChild) {\n return (\n <Comp\n ref={ref}\n type={asChild ? undefined : type}\n className={buttonClassName}\n onClick={onClick}\n disabled={isDisabled}\n aria-busy={loading}\n {...props}\n >\n {children}\n </Comp>\n );\n }\n\n return (\n <Comp\n ref={ref}\n type={type}\n className={buttonClassName}\n onClick={onClick}\n disabled={isDisabled}\n aria-busy={loading}\n {...props}\n >\n {loading && (\n <Loader2\n className=\"kz-button-spinner\"\n size={iconSize.md}\n color=\"currentColor\"\n />\n )}\n {leftIcon && <Icon {...leftIcon} />}\n {children}\n {rightIcon && <Icon {...rightIcon} />}\n </Comp>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\nexport type { ButtonVariants };\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { ButtonVariant, ButtonSize } from \"../../constants/enum\";\n\nconst base = [\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium\",\n \"transition-all duration-150 ease-out\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--kz-color-border-focus)]\",\n \"disabled:pointer-events-none disabled:opacity-[var(--kz-component-button-disabled-opacity,0.5)]\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0\",\n].join(\" \");\n\nexport const buttonVariants = cva(base, {\n variants: {\n variant: {\n primary: [\n \"bg-[var(--kz-component-button-secondary-bg)]\",\n \"text-[var(--kz-component-button-secondary-text)]\",\n \"rounded-[var(--kz-component-button-radius,8px)]\",\n \"[border:var(--kz-component-button-secondary-border,none)]\",\n \"[box-shadow:var(--kz-component-button-secondary-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-secondary-bg-hover)]\",\n \"hover:[box-shadow:var(--kz-component-button-secondary-shadow-hover,var(--kz-component-button-secondary-shadow,none))]\",\n \"active:bg-[var(--kz-component-button-secondary-bg-active)]\",\n ].join(\" \"),\n ghost: [\n \"bg-[var(--kz-component-button-ghost-bg)]\",\n \"text-[var(--kz-component-button-ghost-text)]\",\n \"rounded-[var(--kz-component-button-radius,8px)]\",\n \"border border-transparent\",\n \"[box-shadow:none]\",\n \"hover:bg-[var(--kz-component-button-ghost-bg-hover,transparent)]\",\n \"active:opacity-80\",\n ].join(\" \"),\n container: [\n \"bg-[var(--kz-component-button-container-bg)]\",\n \"text-[var(--kz-component-button-container-text)]\",\n \"border border-[var(--kz-component-button-container-border)]\",\n \"rounded-[var(--kz-component-button-radius,8px)]\",\n \"[box-shadow:var(--kz-component-button-container-shadow)]\",\n \"hover:bg-[var(--kz-component-button-ghost-bg-hover,transparent)]\",\n \"hover:[box-shadow:var(--kz-component-button-container-shadow-hover)]\",\n ].join(\" \"),\n },\n status: {\n default: \"\",\n brand: [\n \"bg-[var(--kz-component-button-brand-bg)]\",\n \"text-[var(--kz-component-button-brand-text)]\",\n \"[box-shadow:var(--kz-component-button-brand-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-brand-bg-hover,var(--kz-component-button-brand-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-brand-shadow-hover,var(--kz-component-button-brand-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-brand-bg-hover,var(--kz-component-button-brand-bg))]\",\n ].join(\" \"),\n success: [\n \"bg-[var(--kz-component-button-success-bg)]\",\n \"text-[var(--kz-component-button-success-text)]\",\n \"[box-shadow:var(--kz-component-button-success-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-success-bg-hover,var(--kz-component-button-success-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-success-shadow-hover,var(--kz-component-button-success-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-success-bg-hover,var(--kz-component-button-success-bg))]\",\n ].join(\" \"),\n warning: [\n \"bg-[var(--kz-component-button-warning-bg)]\",\n \"text-[var(--kz-component-button-warning-text)]\",\n \"[box-shadow:var(--kz-component-button-warning-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-warning-bg-hover,var(--kz-component-button-warning-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-warning-shadow-hover,var(--kz-component-button-warning-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-warning-bg-hover,var(--kz-component-button-warning-bg))]\",\n ].join(\" \"),\n error: [\n \"bg-[var(--kz-component-button-error-bg)]\",\n \"text-[var(--kz-component-button-error-text)]\",\n \"[box-shadow:var(--kz-component-button-error-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-error-bg-hover,var(--kz-component-button-error-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-error-shadow-hover,var(--kz-component-button-error-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-error-bg-hover,var(--kz-component-button-error-bg))]\",\n ].join(\" \"),\n info: [\n \"bg-[var(--kz-component-button-info-bg)]\",\n \"text-[var(--kz-component-button-info-text)]\",\n \"[box-shadow:var(--kz-component-button-info-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-info-bg-hover,var(--kz-component-button-info-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-info-shadow-hover,var(--kz-component-button-info-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-info-bg-hover,var(--kz-component-button-info-bg))]\",\n ].join(\" \"),\n },\n size: {\n sm: [\n \"h-[var(--kz-component-button-height-sm,2rem)]\",\n \"px-[var(--kz-component-button-px-sm,0.75rem)]\",\n \"text-[length:var(--kz-component-button-text-sm,0.875rem)]\",\n \"[&_svg]:size-[var(--kz-component-button-icon-sm,1rem)]\",\n ].join(\" \"),\n md: [\n \"h-[var(--kz-component-button-height-md,2.5rem)]\",\n \"px-[var(--kz-component-button-px-md,1rem)]\",\n \"text-[length:var(--kz-component-button-text-md,0.875rem)]\",\n \"[&_svg]:size-[var(--kz-component-button-icon-md,1rem)]\",\n ].join(\" \"),\n lg: [\n \"h-[var(--kz-component-button-height-lg,3rem)]\",\n \"px-[var(--kz-component-button-px-lg,1.25rem)]\",\n \"text-[length:var(--kz-component-button-text-lg,1rem)]\",\n \"[&_svg]:size-[var(--kz-component-button-icon-lg,1.25rem)]\",\n ].join(\" \"),\n },\n },\n compoundVariants: [\n // Ghost + brand: brand text, transparent bg, brand-tinted hover\n {\n variant: \"ghost\",\n status: \"brand\",\n className: [\n \"!bg-transparent text-[var(--kz-color-brand-accent)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-brand-bg-hover,rgba(0,150,137,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n // Ghost + status: text color = status, bg transparent, hover = light tint\n {\n variant: \"ghost\",\n status: \"success\",\n className: [\n \"!bg-transparent text-[var(--kz-color-status-success)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-success-bg-hover,rgba(0,201,80,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n {\n variant: \"ghost\",\n status: \"warning\",\n className: [\n \"!bg-transparent text-[var(--kz-color-status-warning)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-warning-bg-hover,rgba(245,158,11,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n {\n variant: \"ghost\",\n status: \"error\",\n className: [\n \"!bg-transparent text-[var(--kz-color-status-error)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-error-bg-hover,rgba(251,44,54,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n {\n variant: \"ghost\",\n status: \"info\",\n className: [\n \"!bg-transparent text-[var(--kz-color-status-info)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-info-bg-hover,rgba(37,99,235,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n // Container + brand: brand text, brand border, no shadow, brand-tinted hover\n {\n variant: \"container\",\n status: \"brand\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-component-button-container-brand-text,var(--kz-color-brand-accent))]\",\n \"!border-[var(--kz-component-button-container-brand-border,var(--kz-color-brand-accent))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-container-brand-bg-hover,rgba(0,150,137,0.08))]\",\n ].join(\" \"),\n },\n // Container + status: keep container shape/shadow, override bg/text with status colors\n {\n variant: \"container\",\n status: \"success\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-color-status-success)]\",\n \"!border-[var(--kz-color-status-success)]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-ghost-success-bg-hover,rgba(0,201,80,0.1))]\",\n ].join(\" \"),\n },\n {\n variant: \"container\",\n status: \"warning\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-color-status-warning)]\",\n \"!border-[var(--kz-color-status-warning)]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-ghost-warning-bg-hover,rgba(245,158,11,0.1))]\",\n ].join(\" \"),\n },\n {\n variant: \"container\",\n status: \"error\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-color-status-error)]\",\n \"!border-[var(--kz-color-status-error)]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-ghost-error-bg-hover,rgba(251,44,54,0.1))]\",\n ].join(\" \"),\n },\n {\n variant: \"container\",\n status: \"info\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-color-status-info)]\",\n \"!border-[var(--kz-color-status-info)]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-ghost-info-bg-hover,rgba(37,99,235,0.1))]\",\n ].join(\" \"),\n },\n ],\n defaultVariants: {\n variant: ButtonVariant.Primary,\n size: ButtonSize.Md,\n },\n});\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\n","/** Preset icon sizes (px). Use with Icon size prop. */\nexport const iconSize = {\n xs: 12,\n sm: 16,\n md: 24,\n lg: 32,\n xl: 40,\n} as const;\n\nexport type IconSizeKey = keyof typeof iconSize;\n","import * as React from \"react\";\nimport { iconRegistry, IconName } from \"./icon-registry\";\nimport { iconSize, type IconSizeKey } from \"./icon-sizes\";\nimport { cn } from \"../utils/cn\";\n\nexport interface IconProps extends Omit<\n React.SVGAttributes<SVGSVGElement>,\n \"color\"\n> {\n name: IconName;\n size?: IconSizeKey | number;\n color?: string;\n className?: string;\n}\n\nconst Icon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ name, size = \"md\", color, className, ...props }, ref) => {\n const Component = iconRegistry[name];\n if (!Component) return null;\n const sizePx = typeof size === \"number\" ? size : iconSize[size];\n const resolvedColor = color ?? \"var(--kz-color-icon-default, currentColor)\";\n return (\n <Component\n ref={ref}\n size={sizePx}\n color={resolvedColor}\n className={cn(\"shrink-0\", className)}\n {...props}\n />\n );\n }\n);\n\nIcon.displayName = \"Icon\";\n\nexport { Icon, iconRegistry, iconSize, IconName };\nexport type { IconSizeKey };\n","import type { LucideIcon } from \"lucide-react\";\nimport {\n Search,\n CircleAlert,\n CheckCircle,\n TriangleAlert,\n Loader2,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n BarChart2,\n Shield,\n ArrowLeft,\n ArrowUp,\n ArrowDown,\n ArrowUpDown,\n EllipsisVertical,\n Sun,\n Moon,\n Settings,\n LogOut,\n User,\n FileText,\n LockOpen,\n Calendar,\n ChartArea,\n ChartBar,\n ChartBarBig,\n ChartBarDecreasing,\n ChartBarIncreasing,\n ChartBarStacked,\n ChartCandlestick,\n ChartColumn,\n ChartColumnBig,\n ChartColumnDecreasing,\n ChartColumnIncreasing,\n ChartColumnStacked,\n ChartGantt,\n ChartLine,\n ChartNetwork,\n ChartNoAxesColumn,\n ChartNoAxesColumnDecreasing,\n ChartNoAxesColumnIncreasing,\n ChartNoAxesCombined,\n ChartNoAxesGantt,\n ChartPie,\n ChartScatter,\n ChartSpline,\n FolderKanban,\n Kanban,\n SquareChartGantt,\n SquareDashedKanban,\n SquareKanban,\n TrendingDown,\n TrendingUp,\n TrendingUpDown,\n Atom,\n GitBranch,\n Clipboard,\n Palette,\n Gauge,\n Filter,\n Grid3x3,\n RadioTower,\n BadgeCheck,\n Wallet,\n DollarSign,\n Plus,\n Building2,\n X,\n FilePlus,\n UserPlus2,\n UserRoundPlus,\n List,\n CircleAlert as AlertCircleIcon,\n Layers,\n Badge,\n MapPin,\n Puzzle,\n Globe,\n ShoppingBag,\n QrCode,\n Brush,\n FileSpreadsheet,\n Tag,\n Scan,\n Clock3,\n UserPlus,\n Users,\n Files,\n Group,\n CheckSquare,\n ClipboardList,\n ListTodo,\n BarChart3,\n FileBarChart,\n FileSearch,\n Lock,\n Settings2,\n LayoutGrid,\n Terminal,\n Pencil,\n Trash2,\n Eye,\n EyeOff,\n} from \"lucide-react\";\n\n/** Use IconName.* so users discover available icons. Values match registry keys. */\nexport enum IconName {\n Search = \"search\",\n CircleAlert = \"circle-alert\",\n CheckCircle = \"check-circle\",\n TriangleAlert = \"triangle-alert\",\n Loader2 = \"loader-2\",\n ChevronDown = \"chevron-down\",\n ChevronLeft = \"chevron-left\",\n ChevronRight = \"chevron-right\",\n BarChart2 = \"bar-chart-2\",\n Shield = \"shield\",\n ArrowLeft = \"arrow-left\",\n ArrowUp = \"arrow-up\",\n ArrowDown = \"arrow-down\",\n ArrowUpDown = \"arrow-up-down\",\n EllipsisVertical = \"ellipsis-vertical\",\n Sun = \"sun\",\n Moon = \"moon\",\n LogOut = \"log-out\",\n Settings = \"settings\",\n User = \"user\",\n FileText = \"file-text\",\n LockOpen = \"lock-open\",\n Calendar = \"calendar\",\n ChartArea = \"chart-area\",\n ChartBar = \"chart-bar\",\n ChartBarBig = \"chart-bar-big\",\n ChartBarDecreasing = \"chart-bar-decreasing\",\n ChartBarIncreasing = \"chart-bar-increasing\",\n ChartBarStacked = \"chart-bar-stacked\",\n ChartCandlestick = \"chart-candlestick\",\n ChartColumn = \"chart-column\",\n ChartColumnBig = \"chart-column-big\",\n ChartColumnDecreasing = \"chart-column-decreasing\",\n ChartColumnIncreasing = \"chart-column-increasing\",\n ChartColumnStacked = \"chart-column-stacked\",\n ChartGantt = \"chart-gantt\",\n ChartLine = \"chart-line\",\n ChartNetwork = \"chart-network\",\n ChartNoAxesColumn = \"chart-no-axes-column\",\n ChartNoAxesColumnDecreasing = \"chart-no-axes-column-decreasing\",\n ChartNoAxesColumnIncreasing = \"chart-no-axes-column-increasing\",\n ChartNoAxesCombined = \"chart-no-axes-combined\",\n ChartNoAxesGantt = \"chart-no-axes-gantt\",\n ChartPie = \"chart-pie\",\n ChartScatter = \"chart-scatter\",\n ChartSpline = \"chart-spline\",\n FolderKanban = \"folder-kanban\",\n Kanban = \"kanban\",\n SquareChartGantt = \"square-chart-gantt\",\n SquareDashedKanban = \"square-dashed-kanban\",\n SquareKanban = \"square-kanban\",\n TrendingDown = \"trending-down\",\n TrendingUp = \"trending-up\",\n TrendingUpDown = \"trending-up-down\",\n Atom = \"atom\",\n GitBranch = \"git-branch\",\n Clipboard = \"clipboard\",\n Palette = \"palette\",\n Gauge = \"gauge\",\n Filter = \"filter\",\n Grid3x3 = \"grid-3x3\",\n RadioTower = \"radio-tower\",\n BadgeCheck = \"badge-check\",\n Wallet = \"wallet\",\n DollarSign = \"dollar-sign\",\n Plus = \"plus\",\n Building2 = \"building-2\",\n X = \"x\",\n FilePlus = \"file-plus\",\n UserPlus2 = \"user-plus-2\",\n UserRoundPlus = \"user-round-plus\",\n List = \"list\",\n AlertCircle = \"alert-circle\",\n Layers = \"layers\",\n Badge = \"badge\",\n MapPin = \"map-pin\",\n Puzzle = \"puzzle\",\n Globe = \"globe\",\n ShoppingBag = \"shopping-bag\",\n QrCode = \"qr-code\",\n Brush = \"brush\",\n FileSpreadsheet = \"file-spreadsheet\",\n Tag = \"tag\",\n Scan = \"scan\",\n Clock3 = \"clock-3\",\n UserPlus = \"user-plus\",\n Users = \"users\",\n Files = \"files\",\n Group = \"group\",\n CheckSquare = \"check-square\",\n ClipboardList = \"clipboard-list\",\n ListTodo = \"list-todo\",\n BarChart3 = \"bar-chart-3\",\n FileBarChart = \"file-bar-chart\",\n FileSearch = \"file-search\",\n Lock = \"lock\",\n Settings2 = \"settings-2\",\n LayoutGrid = \"layout-grid\",\n Terminal = \"terminal\",\n Pencil = \"pencil\",\n Trash2 = \"trash-2\",\n Eye = \"eye\",\n EyeOff = \"eye-off\",\n}\n\nexport const iconRegistry: Record<IconName, LucideIcon> = {\n [IconName.Search]: Search,\n [IconName.CircleAlert]: CircleAlert,\n [IconName.CheckCircle]: CheckCircle,\n [IconName.TriangleAlert]: TriangleAlert,\n [IconName.Loader2]: Loader2,\n [IconName.ChevronDown]: ChevronDown,\n [IconName.ChevronLeft]: ChevronLeft,\n [IconName.ChevronRight]: ChevronRight,\n [IconName.BarChart2]: BarChart2,\n [IconName.Shield]: Shield,\n [IconName.ArrowLeft]: ArrowLeft,\n [IconName.ArrowUp]: ArrowUp,\n [IconName.ArrowDown]: ArrowDown,\n [IconName.ArrowUpDown]: ArrowUpDown,\n [IconName.EllipsisVertical]: EllipsisVertical,\n [IconName.Sun]: Sun,\n [IconName.Moon]: Moon,\n [IconName.LogOut]: LogOut,\n [IconName.Settings]: Settings,\n [IconName.User]: User,\n [IconName.FileText]: FileText,\n [IconName.LockOpen]: LockOpen,\n [IconName.Calendar]: Calendar,\n [IconName.ChartArea]: ChartArea,\n [IconName.ChartBar]: ChartBar,\n [IconName.ChartBarBig]: ChartBarBig,\n [IconName.ChartBarDecreasing]: ChartBarDecreasing,\n [IconName.ChartBarIncreasing]: ChartBarIncreasing,\n [IconName.ChartBarStacked]: ChartBarStacked,\n [IconName.ChartCandlestick]: ChartCandlestick,\n [IconName.ChartColumn]: ChartColumn,\n [IconName.ChartColumnBig]: ChartColumnBig,\n [IconName.ChartColumnDecreasing]: ChartColumnDecreasing,\n [IconName.ChartColumnIncreasing]: ChartColumnIncreasing,\n [IconName.ChartColumnStacked]: ChartColumnStacked,\n [IconName.ChartGantt]: ChartGantt,\n [IconName.ChartLine]: ChartLine,\n [IconName.ChartNetwork]: ChartNetwork,\n [IconName.ChartNoAxesColumn]: ChartNoAxesColumn,\n [IconName.ChartNoAxesColumnDecreasing]: ChartNoAxesColumnDecreasing,\n [IconName.ChartNoAxesColumnIncreasing]: ChartNoAxesColumnIncreasing,\n [IconName.ChartNoAxesCombined]: ChartNoAxesCombined,\n [IconName.ChartNoAxesGantt]: ChartNoAxesGantt,\n [IconName.ChartPie]: ChartPie,\n [IconName.ChartScatter]: ChartScatter,\n [IconName.ChartSpline]: ChartSpline,\n [IconName.FolderKanban]: FolderKanban,\n [IconName.Kanban]: Kanban,\n [IconName.SquareChartGantt]: SquareChartGantt,\n [IconName.SquareDashedKanban]: SquareDashedKanban,\n [IconName.SquareKanban]: SquareKanban,\n [IconName.TrendingDown]: TrendingDown,\n [IconName.TrendingUp]: TrendingUp,\n [IconName.TrendingUpDown]: TrendingUpDown,\n [IconName.Atom]: Atom,\n [IconName.GitBranch]: GitBranch,\n [IconName.Clipboard]: Clipboard,\n [IconName.Palette]: Palette,\n [IconName.Gauge]: Gauge,\n [IconName.Filter]: Filter,\n [IconName.Grid3x3]: Grid3x3,\n [IconName.RadioTower]: RadioTower,\n [IconName.BadgeCheck]: BadgeCheck,\n [IconName.Wallet]: Wallet,\n [IconName.DollarSign]: DollarSign,\n [IconName.Plus]: Plus,\n [IconName.Building2]: Building2,\n [IconName.X]: X,\n [IconName.FilePlus]: FilePlus,\n [IconName.UserPlus2]: UserPlus2,\n [IconName.UserRoundPlus]: UserRoundPlus,\n [IconName.List]: List,\n [IconName.AlertCircle]: AlertCircleIcon,\n [IconName.Layers]: Layers,\n [IconName.Badge]: Badge,\n [IconName.MapPin]: MapPin,\n [IconName.Puzzle]: Puzzle,\n [IconName.Globe]: Globe,\n [IconName.ShoppingBag]: ShoppingBag,\n [IconName.QrCode]: QrCode,\n [IconName.Brush]: Brush,\n [IconName.FileSpreadsheet]: FileSpreadsheet,\n [IconName.Tag]: Tag,\n [IconName.Scan]: Scan,\n [IconName.Clock3]: Clock3,\n [IconName.UserPlus]: UserPlus,\n [IconName.Users]: Users,\n [IconName.Files]: Files,\n [IconName.Group]: Group,\n [IconName.CheckSquare]: CheckSquare,\n [IconName.ClipboardList]: ClipboardList,\n [IconName.ListTodo]: ListTodo,\n [IconName.BarChart3]: BarChart3,\n [IconName.FileBarChart]: FileBarChart,\n [IconName.FileSearch]: FileSearch,\n [IconName.Lock]: Lock,\n [IconName.Settings2]: Settings2,\n [IconName.LayoutGrid]: LayoutGrid,\n [IconName.Terminal]: Terminal,\n [IconName.Pencil]: Pencil,\n [IconName.Trash2]: Trash2,\n [IconName.Eye]: Eye,\n [IconName.EyeOff]: EyeOff,\n};\n","import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport {\n getTypographyClass,\n getDefaultElement,\n type TypographyVariant,\n} from \"./typography-variants\";\nimport {\n TypographyTone as TypographyToneEnum,\n TypographyAlign as TypographyAlignEnum,\n TypographyWeight as TypographyWeightEnum,\n} from \"../../constants/enum\";\n\nexport {\n TypographyTone as TypographyToneEnum,\n TypographyAlign as TypographyAlignEnum,\n TypographyWeight as TypographyWeightEnum,\n} from \"../../constants/enum\";\n\nexport type TypographyTone = TypographyToneEnum;\nexport type TypographyAlign = TypographyAlignEnum;\nexport type TypographyWeight = TypographyWeightEnum;\n\nexport type TypographyAsElement =\n | \"p\"\n | \"span\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"div\"\n | \"a\"\n | \"label\"\n | \"figcaption\";\n\nexport interface TypographyProps extends Omit<\n React.HTMLAttributes<HTMLElement>,\n \"color\"\n> {\n children: React.ReactNode;\n variant: TypographyVariant;\n href?: string;\n tone?: TypographyTone;\n as?: TypographyAsElement;\n align?: TypographyAlign;\n truncate?: boolean;\n lines?: number;\n weight?: TypographyWeight;\n className?: string;\n}\n\nconst alignClass: Record<TypographyAlignEnum, string> = {\n [TypographyAlignEnum.Left]: \"text-left\",\n [TypographyAlignEnum.Center]: \"text-center\",\n [TypographyAlignEnum.Right]: \"text-right\",\n};\n\nconst weightClass: Record<TypographyWeightEnum, string> = {\n [TypographyWeightEnum.Regular]: \"font-normal\",\n [TypographyWeightEnum.Medium]: \"font-medium\",\n [TypographyWeightEnum.Semibold]: \"font-semibold\",\n [TypographyWeightEnum.Bold]: \"font-bold\",\n};\n\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n (\n {\n children,\n variant,\n href,\n tone,\n as,\n align,\n truncate,\n lines,\n weight,\n className,\n style,\n ...props\n },\n ref\n ) => {\n const Comp = href !== undefined ? \"a\" : (as ?? getDefaultElement(variant));\n const typographyClass = getTypographyClass(variant);\n\n const toneClass =\n tone !== undefined ? `kz-typography-tone-${tone}` : undefined;\n\n const lineClampStyle: React.CSSProperties | undefined =\n lines !== undefined && lines > 0\n ? {\n display: \"-webkit-box\",\n WebkitBoxOrient: \"vertical\",\n WebkitLineClamp: lines,\n overflow: \"hidden\",\n }\n : undefined;\n\n const combinedStyle = lineClampStyle\n ? { ...style, ...lineClampStyle }\n : style;\n\n return React.createElement(\n Comp as \"p\",\n {\n ref,\n ...(href !== undefined && { href }),\n className: cn(\n typographyClass,\n toneClass,\n align !== undefined && alignClass[align],\n truncate && \"truncate\",\n weight !== undefined && weightClass[weight],\n className\n ),\n style: combinedStyle,\n ...props,\n },\n children\n );\n }\n);\n\nTypography.displayName = \"Typography\";\n\nexport { Typography };\nexport type { TypographyVariant };\n","import { TypographyVariant as TypographyVariantEnum } from \"../../constants/enum\";\n\nexport { TypographyVariant as TypographyVariantEnum } from \"../../constants/enum\";\n\nexport type TypographyVariant = TypographyVariantEnum;\n\nexport const typographyVariants: TypographyVariant[] = [\n TypographyVariantEnum.H1,\n TypographyVariantEnum.H2,\n TypographyVariantEnum.H3,\n TypographyVariantEnum.H4,\n TypographyVariantEnum.H5,\n TypographyVariantEnum.Body,\n TypographyVariantEnum.Small,\n TypographyVariantEnum.Caption,\n TypographyVariantEnum.Label,\n TypographyVariantEnum.Link,\n TypographyVariantEnum.Error,\n TypographyVariantEnum.Success,\n TypographyVariantEnum.Warning,\n];\n\nconst variantToClass: Record<TypographyVariant, string> = {\n [TypographyVariantEnum.H1]: \"kz-typography-h1\",\n [TypographyVariantEnum.H2]: \"kz-typography-h2\",\n [TypographyVariantEnum.H3]: \"kz-typography-h3\",\n [TypographyVariantEnum.H4]: \"kz-typography-h4\",\n [TypographyVariantEnum.H5]: \"kz-typography-h5\",\n [TypographyVariantEnum.Body]: \"kz-typography-body\",\n [TypographyVariantEnum.Small]: \"kz-typography-small\",\n [TypographyVariantEnum.Caption]: \"kz-typography-caption\",\n [TypographyVariantEnum.Label]: \"kz-typography-label\",\n [TypographyVariantEnum.Link]: \"kz-typography-link\",\n [TypographyVariantEnum.Error]: \"kz-typography-error\",\n [TypographyVariantEnum.Success]: \"kz-typography-success\",\n [TypographyVariantEnum.Warning]: \"kz-typography-warning\",\n};\n\nexport function getTypographyClass(variant: TypographyVariant): string {\n return variantToClass[variant];\n}\n\nconst defaultElement: Record<TypographyVariant, keyof JSX.IntrinsicElements> = {\n [TypographyVariantEnum.H1]: \"h1\",\n [TypographyVariantEnum.H2]: \"h2\",\n [TypographyVariantEnum.H3]: \"h3\",\n [TypographyVariantEnum.H4]: \"h4\",\n [TypographyVariantEnum.H5]: \"h5\",\n [TypographyVariantEnum.Body]: \"p\",\n [TypographyVariantEnum.Small]: \"span\",\n [TypographyVariantEnum.Caption]: \"span\",\n [TypographyVariantEnum.Label]: \"span\",\n [TypographyVariantEnum.Link]: \"a\",\n [TypographyVariantEnum.Error]: \"span\",\n [TypographyVariantEnum.Success]: \"span\",\n [TypographyVariantEnum.Warning]: \"span\",\n};\n\nexport function getDefaultElement(\n variant: TypographyVariant\n): keyof JSX.IntrinsicElements {\n return defaultElement[variant];\n}\n"],"mappings":"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","names":["React","React","import_lucide_react","AlertCircleIcon","import_jsx_runtime","React","import_jsx_runtime","iconSize"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/color-picker/index.ts","../src/components/color-picker/ColorPicker.tsx","../src/utils/cn.ts","../src/components/button/Button.tsx","../src/components/button/button.variants.ts","../src/icon/icon-sizes.ts","../src/icon/Icon.tsx","../src/icon/icon-registry.tsx","../src/components/typography/Typography.tsx","../src/components/typography/typography-variants.ts"],"sourcesContent":["export { ColorPicker } from \"./ColorPicker\";\nexport type { ColorPickerProps } from \"./ColorPicker\";\n","import * as React from \"react\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { cn } from \"../../utils/cn\";\nimport {\n TextInputVariant,\n TextInputSize,\n TextInputState,\n ButtonVariant,\n ButtonSize,\n} from \"../../constants/enum\";\nimport { Button } from \"../button\";\nimport { Typography } from \"../typography\";\nimport { TypographyVariantEnum } from \"../typography/typography-variants\";\nimport { Icon, IconName } from \"../../icon\";\n\n/* ── Hardcoded palette (10 hues × 10 shades) ── */\n\nconst COLOR_PALETTE: string[] = [\n // Grays\n \"#f8f9fa\",\n \"#e9ecef\",\n \"#dee2e6\",\n \"#ced4da\",\n \"#adb5bd\",\n \"#6c757d\",\n \"#495057\",\n \"#343a40\",\n \"#212529\",\n \"#0d1117\",\n // Reds\n \"#fff5f5\",\n \"#ffe3e3\",\n \"#ffc9c9\",\n \"#ffa8a8\",\n \"#ff8787\",\n \"#ff6b6b\",\n \"#fa5252\",\n \"#f03e3e\",\n \"#e03131\",\n \"#c92a2a\",\n // Oranges\n \"#fff4e6\",\n \"#ffe8cc\",\n \"#ffd8a8\",\n \"#ffc078\",\n \"#ffa94d\",\n \"#ff922b\",\n \"#fd7e14\",\n \"#e8590c\",\n \"#d9480f\",\n \"#bf4000\",\n // Yellows\n \"#fff9db\",\n \"#fff3bf\",\n \"#ffec99\",\n \"#ffe066\",\n \"#ffd43b\",\n \"#fcc419\",\n \"#fab005\",\n \"#f59f00\",\n \"#f08c00\",\n \"#e67700\",\n // Greens\n \"#ebfbee\",\n \"#d3f9d8\",\n \"#b2f2bb\",\n \"#8ce99a\",\n \"#69db7c\",\n \"#51cf66\",\n \"#40c057\",\n \"#37b24d\",\n \"#2f9e44\",\n \"#2b8a3e\",\n // Teals\n \"#e6fcf5\",\n \"#c3fae8\",\n \"#96f2d7\",\n \"#63e6be\",\n \"#38d9a9\",\n \"#20c997\",\n \"#12b886\",\n \"#0ca678\",\n \"#099268\",\n \"#087f5b\",\n // Blues\n \"#e7f5ff\",\n \"#d0ebff\",\n \"#a5d8ff\",\n \"#74c0fc\",\n \"#4dabf7\",\n \"#339af0\",\n \"#228be6\",\n \"#1c7ed6\",\n \"#1971c2\",\n \"#1864ab\",\n // Indigos\n \"#edf2ff\",\n \"#dbe4ff\",\n \"#bac8ff\",\n \"#91a7ff\",\n \"#748ffc\",\n \"#5c7cfa\",\n \"#4c6ef5\",\n \"#4263eb\",\n \"#3b5bdb\",\n \"#364fc7\",\n // Purples\n \"#f8f0fc\",\n \"#f3d9fa\",\n \"#eebefa\",\n \"#e599f7\",\n \"#da77f2\",\n \"#cc5de8\",\n \"#be4bdb\",\n \"#ae3ec9\",\n \"#9c36b5\",\n \"#862e9c\",\n // Pinks\n \"#fff0f6\",\n \"#ffdeeb\",\n \"#fcc2d7\",\n \"#faa2c1\",\n \"#f783ac\",\n \"#f06595\",\n \"#e64980\",\n \"#d6336c\",\n \"#c2255c\",\n \"#a61e4d\",\n];\n\n/* ── Hex helpers ── */\n\nconst HEX_RE = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;\n\nfunction isValidHex(v: string): boolean {\n return HEX_RE.test(v);\n}\n\nfunction normalizeHex(v: string): string {\n const m = v.match(HEX_RE);\n if (m == null) return v;\n const hex = m[1];\n if (hex.length === 3) {\n return `#${hex[0]}${hex[0]}${hex[1]}${hex[1]}${hex[2]}${hex[2]}`.toLowerCase();\n }\n return `#${hex}`.toLowerCase();\n}\n\n/* ── Props ── */\n\nexport interface ColorPickerProps {\n /** Controlled value (hex string). Omit for uncontrolled. */\n value?: string;\n /** Initial value for uncontrolled mode. */\n defaultValue?: string;\n /** Fires when a color is picked or cleared. */\n onChange?: (value: string | undefined) => void;\n\n placeholder?: string;\n disabled?: boolean;\n\n size?: TextInputSize;\n variant?: TextInputVariant;\n state?: TextInputState;\n\n errorText?: string;\n successText?: string;\n warningText?: string;\n\n label?: string;\n helperText?: string;\n description?: string;\n\n className?: string;\n inputClassName?: string;\n}\n\n/* ── Component ── */\n\nconst ColorPicker = React.forwardRef<HTMLInputElement, ColorPickerProps>(\n (\n {\n value: valueProp,\n defaultValue,\n onChange,\n placeholder = \"#000000\",\n disabled = false,\n size = TextInputSize.Md,\n variant = TextInputVariant.Default,\n state = TextInputState.Default,\n errorText,\n successText,\n warningText,\n label,\n helperText,\n description,\n className,\n inputClassName,\n },\n ref\n ) => {\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = React.useState<\n string | undefined\n >(defaultValue);\n\n const value = isControlled ? valueProp : internalValue;\n\n const fireChange = React.useCallback(\n (next: string | undefined) => {\n if (!isControlled) {\n setInternalValue(next);\n }\n onChange?.(next);\n },\n [isControlled, onChange]\n );\n\n const [open, setOpen] = React.useState(false);\n const [inputValue, setInputValue] = React.useState(value ?? \"\");\n\n React.useEffect(() => {\n setInputValue(value ?? \"\");\n }, [value]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value);\n };\n\n const handleInputBlur = () => {\n const trimmed = inputValue.trim();\n if (trimmed === \"\") {\n fireChange(undefined);\n return;\n }\n if (isValidHex(trimmed)) {\n fireChange(normalizeHex(trimmed));\n } else {\n setInputValue(value ?? \"\");\n }\n };\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n handleInputBlur();\n setOpen(false);\n }\n if (e.key === \"Escape\") {\n setOpen(false);\n }\n };\n\n const handleSwatchClick = (hex: string) => {\n fireChange(hex);\n setOpen(false);\n };\n\n const handleClear = () => {\n fireChange(undefined);\n setOpen(false);\n };\n\n const stateMessage =\n state === TextInputState.Error\n ? errorText\n : state === TextInputState.Success\n ? successText\n : state === TextInputState.Warning\n ? warningText\n : undefined;\n\n const rootClass = cn(\"kz-color-picker-root\", className);\n\n const wrapperClass = cn(\n \"kz-color-picker-wrapper\",\n `kz-color-picker-wrapper--${variant}`,\n `kz-color-picker-wrapper--${size}`,\n state !== TextInputState.Default && `kz-color-picker-wrapper--${state}`,\n open && \"kz-color-picker-wrapper--open\"\n );\n\n const inputClass = cn(\n \"kz-color-picker-input\",\n `kz-color-picker-input--${size}`,\n inputClassName\n );\n\n const iconSize = size === TextInputSize.Sm ? 14 : 16;\n\n return (\n <div className={rootClass}>\n {label != null && label !== \"\" && (\n <label className=\"kz-color-picker-label\">\n <Typography variant={TypographyVariantEnum.Label}>\n {label}\n </Typography>\n </label>\n )}\n\n {description != null && description !== \"\" && (\n <Typography variant={TypographyVariantEnum.Caption}>\n {description}\n </Typography>\n )}\n\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger asChild disabled={disabled}>\n <div className={wrapperClass}>\n <span className=\"kz-color-picker-icon\">\n <Icon name={IconName.Palette} size={iconSize} />\n </span>\n {value != null && value !== \"\" && (\n <span\n className=\"kz-color-picker-swatch-preview\"\n style={{ backgroundColor: value }}\n />\n )}\n <input\n ref={ref}\n type=\"text\"\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n className={inputClass}\n aria-invalid={state === TextInputState.Error}\n aria-describedby={\n stateMessage != null\n ? \"color-picker-message\"\n : helperText != null\n ? \"color-picker-helper\"\n : undefined\n }\n />\n <button\n type=\"button\"\n className=\"kz-color-picker-toggle\"\n tabIndex={-1}\n aria-label=\"Toggle color picker\"\n disabled={disabled}\n onClick={(e) => {\n e.stopPropagation();\n setOpen((prev) => !prev);\n }}\n >\n <Icon name={IconName.ChevronDown} size={iconSize} />\n </button>\n </div>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n className=\"kz-color-picker-popover\"\n sideOffset={4}\n align=\"start\"\n onOpenAutoFocus={(e) => e.preventDefault()}\n >\n <div className=\"kz-color-picker-grid\">\n {COLOR_PALETTE.map((hex) => (\n <button\n key={hex}\n type=\"button\"\n className={cn(\n \"kz-color-picker-swatch\",\n value === hex && \"kz-color-picker-swatch--selected\"\n )}\n style={{ backgroundColor: hex }}\n title={hex}\n onClick={() => handleSwatchClick(hex)}\n />\n ))}\n </div>\n\n <div className=\"kz-color-picker-footer\">\n <Button\n variant={ButtonVariant.Primary}\n size={ButtonSize.Sm}\n onClick={handleClear}\n >\n Clear\n </Button>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n\n {stateMessage != null && stateMessage !== \"\" && (\n <Typography\n id=\"color-picker-message\"\n variant={\n state === TextInputState.Error\n ? TypographyVariantEnum.Error\n : state === TextInputState.Success\n ? TypographyVariantEnum.Success\n : TypographyVariantEnum.Warning\n }\n >\n {stateMessage}\n </Typography>\n )}\n\n {helperText != null &&\n helperText !== \"\" &&\n state === TextInputState.Default && (\n <Typography\n id=\"color-picker-helper\"\n variant={TypographyVariantEnum.Caption}\n >\n {helperText}\n </Typography>\n )}\n </div>\n );\n }\n);\n\nColorPicker.displayName = \"ColorPicker\";\n\nexport { ColorPicker };\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n ButtonVariant,\n ButtonSize,\n ButtonStatus,\n ButtonType,\n ButtonAspectRatio,\n} from \"../../constants/enum\";\nimport { buttonVariants, type ButtonVariants } from \"./button.variants\";\nimport { Loader2 } from \"lucide-react\";\nimport { iconSize } from \"../../icon/icon-sizes\";\nimport { cn } from \"../../utils/cn\";\nimport { Icon, type IconProps } from \"../../icon/Icon\";\n\nexport interface ButtonProps extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n \"children\" | \"onClick\"\n> {\n variant: ButtonVariant;\n size: ButtonSize;\n status?: ButtonStatus;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n asChild?: boolean;\n children: React.ReactNode;\n type?: ButtonType;\n loading?: boolean;\n aspectRatio?: ButtonAspectRatio;\n leftIcon?: IconProps;\n rightIcon?: IconProps;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n status,\n onClick,\n asChild = false,\n children,\n type = ButtonType.Button,\n loading = false,\n aspectRatio = ButtonAspectRatio.Auto,\n disabled,\n leftIcon,\n rightIcon,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n const isDisabled = disabled || loading;\n\n const buttonClassName = cn(\n buttonVariants({ variant, size, status }),\n loading && \"opacity-[var(--kz-component-button-loading-opacity,0.8)]\",\n aspectRatio === ButtonAspectRatio.Square && \"kz-button--aspect-1-1\",\n className\n );\n\n if (asChild) {\n return (\n <Comp\n ref={ref}\n type={asChild ? undefined : type}\n className={buttonClassName}\n onClick={onClick}\n disabled={isDisabled}\n aria-busy={loading}\n {...props}\n >\n {children}\n </Comp>\n );\n }\n\n return (\n <Comp\n ref={ref}\n type={type}\n className={buttonClassName}\n onClick={onClick}\n disabled={isDisabled}\n aria-busy={loading}\n {...props}\n >\n {loading && (\n <Loader2\n className=\"kz-button-spinner\"\n size={iconSize.md}\n color=\"currentColor\"\n />\n )}\n {leftIcon && <Icon {...leftIcon} />}\n {children}\n {rightIcon && <Icon {...rightIcon} />}\n </Comp>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\nexport type { ButtonVariants };\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { ButtonVariant, ButtonSize } from \"../../constants/enum\";\n\nconst base = [\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium\",\n \"transition-all duration-150 ease-out\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--kz-color-border-focus)]\",\n \"disabled:cursor-not-allowed disabled:opacity-[var(--kz-component-button-disabled-opacity,0.5)]\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0\",\n].join(\" \");\n\nexport const buttonVariants = cva(base, {\n variants: {\n variant: {\n primary: [\n \"bg-[var(--kz-component-button-secondary-bg)]\",\n \"text-[var(--kz-component-button-secondary-text)]\",\n \"rounded-[var(--kz-component-button-radius,8px)]\",\n \"[border:var(--kz-component-button-secondary-border,none)]\",\n \"[box-shadow:var(--kz-component-button-secondary-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-secondary-bg-hover)]\",\n \"hover:[box-shadow:var(--kz-component-button-secondary-shadow-hover,var(--kz-component-button-secondary-shadow,none))]\",\n \"active:bg-[var(--kz-component-button-secondary-bg-active)]\",\n ].join(\" \"),\n ghost: [\n \"bg-[var(--kz-component-button-ghost-bg)]\",\n \"text-[var(--kz-component-button-ghost-text)]\",\n \"rounded-[var(--kz-component-button-radius,8px)]\",\n \"border border-transparent\",\n \"[box-shadow:none]\",\n \"hover:bg-[var(--kz-component-button-ghost-bg-hover,transparent)]\",\n \"active:opacity-80\",\n ].join(\" \"),\n container: [\n \"bg-[var(--kz-component-button-container-bg)]\",\n \"text-[var(--kz-component-button-container-text)]\",\n \"border border-[var(--kz-component-button-container-border)]\",\n \"rounded-[var(--kz-component-button-radius,8px)]\",\n \"[box-shadow:var(--kz-component-button-container-shadow)]\",\n \"hover:bg-[var(--kz-component-button-ghost-bg-hover,transparent)]\",\n \"hover:[box-shadow:var(--kz-component-button-container-shadow-hover)]\",\n ].join(\" \"),\n },\n status: {\n default: \"\",\n brand: [\n \"bg-[var(--kz-component-button-brand-bg)]\",\n \"text-[var(--kz-component-button-brand-text)]\",\n \"[box-shadow:var(--kz-component-button-brand-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-brand-bg-hover,var(--kz-component-button-brand-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-brand-shadow-hover,var(--kz-component-button-brand-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-brand-bg-hover,var(--kz-component-button-brand-bg))]\",\n ].join(\" \"),\n success: [\n \"bg-[var(--kz-component-button-success-bg)]\",\n \"text-[var(--kz-component-button-success-text)]\",\n \"[box-shadow:var(--kz-component-button-success-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-success-bg-hover,var(--kz-component-button-success-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-success-shadow-hover,var(--kz-component-button-success-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-success-bg-hover,var(--kz-component-button-success-bg))]\",\n ].join(\" \"),\n warning: [\n \"bg-[var(--kz-component-button-warning-bg)]\",\n \"text-[var(--kz-component-button-warning-text)]\",\n \"[box-shadow:var(--kz-component-button-warning-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-warning-bg-hover,var(--kz-component-button-warning-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-warning-shadow-hover,var(--kz-component-button-warning-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-warning-bg-hover,var(--kz-component-button-warning-bg))]\",\n ].join(\" \"),\n error: [\n \"bg-[var(--kz-component-button-error-bg)]\",\n \"text-[var(--kz-component-button-error-text)]\",\n \"[box-shadow:var(--kz-component-button-error-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-error-bg-hover,var(--kz-component-button-error-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-error-shadow-hover,var(--kz-component-button-error-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-error-bg-hover,var(--kz-component-button-error-bg))]\",\n ].join(\" \"),\n info: [\n \"bg-[var(--kz-component-button-info-bg)]\",\n \"text-[var(--kz-component-button-info-text)]\",\n \"[box-shadow:var(--kz-component-button-info-shadow,none)]\",\n \"hover:bg-[var(--kz-component-button-info-bg-hover,var(--kz-component-button-info-bg))]\",\n \"hover:[box-shadow:var(--kz-component-button-info-shadow-hover,var(--kz-component-button-info-shadow,none))]\",\n \"active:!bg-[var(--kz-component-button-info-bg-hover,var(--kz-component-button-info-bg))]\",\n ].join(\" \"),\n },\n size: {\n sm: [\n \"h-[var(--kz-component-button-height-sm,2rem)]\",\n \"px-[var(--kz-component-button-px-sm,0.75rem)]\",\n \"text-[length:var(--kz-component-button-text-sm,0.875rem)]\",\n \"[&_svg]:size-[var(--kz-component-button-icon-sm,1rem)]\",\n ].join(\" \"),\n md: [\n \"h-[var(--kz-component-button-height-md,2.5rem)]\",\n \"px-[var(--kz-component-button-px-md,1rem)]\",\n \"text-[length:var(--kz-component-button-text-md,0.875rem)]\",\n \"[&_svg]:size-[var(--kz-component-button-icon-md,1rem)]\",\n ].join(\" \"),\n lg: [\n \"h-[var(--kz-component-button-height-lg,3rem)]\",\n \"px-[var(--kz-component-button-px-lg,1.25rem)]\",\n \"text-[length:var(--kz-component-button-text-lg,1rem)]\",\n \"[&_svg]:size-[var(--kz-component-button-icon-lg,1.25rem)]\",\n ].join(\" \"),\n },\n },\n compoundVariants: [\n // Ghost + brand: brand text, transparent bg, brand-tinted hover\n {\n variant: \"ghost\",\n status: \"brand\",\n className: [\n \"!bg-transparent text-[var(--kz-color-brand-accent)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-brand-bg-hover,rgba(0,150,137,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n // Ghost + status: text color = status, bg transparent, hover = light tint\n {\n variant: \"ghost\",\n status: \"success\",\n className: [\n \"!bg-transparent text-[var(--kz-color-status-success)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-success-bg-hover,rgba(0,201,80,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n {\n variant: \"ghost\",\n status: \"warning\",\n className: [\n \"!bg-transparent text-[var(--kz-color-status-warning)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-warning-bg-hover,rgba(245,158,11,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n {\n variant: \"ghost\",\n status: \"error\",\n className: [\n \"!bg-transparent text-[var(--kz-color-status-error)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-error-bg-hover,rgba(251,44,54,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n {\n variant: \"ghost\",\n status: \"info\",\n className: [\n \"!bg-transparent text-[var(--kz-color-status-info)]\",\n \"hover:!bg-[var(--kz-component-button-ghost-info-bg-hover,rgba(37,99,235,0.1))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n ].join(\" \"),\n },\n // Container + brand: brand text, brand border, no shadow, brand-tinted hover\n {\n variant: \"container\",\n status: \"brand\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-component-button-container-brand-text,var(--kz-color-brand-accent))]\",\n \"!border-[var(--kz-component-button-container-brand-border,var(--kz-color-brand-accent))]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-container-brand-bg-hover,rgba(0,150,137,0.08))]\",\n ].join(\" \"),\n },\n // Container + status: keep container shape/shadow, override bg/text with status colors\n {\n variant: \"container\",\n status: \"success\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-color-status-success)]\",\n \"!border-[var(--kz-color-status-success)]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-ghost-success-bg-hover,rgba(0,201,80,0.1))]\",\n ].join(\" \"),\n },\n {\n variant: \"container\",\n status: \"warning\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-color-status-warning)]\",\n \"!border-[var(--kz-color-status-warning)]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-ghost-warning-bg-hover,rgba(245,158,11,0.1))]\",\n ].join(\" \"),\n },\n {\n variant: \"container\",\n status: \"error\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-color-status-error)]\",\n \"!border-[var(--kz-color-status-error)]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-ghost-error-bg-hover,rgba(251,44,54,0.1))]\",\n ].join(\" \"),\n },\n {\n variant: \"container\",\n status: \"info\",\n className: [\n \"!bg-transparent\",\n \"!text-[var(--kz-color-status-info)]\",\n \"!border-[var(--kz-color-status-info)]\",\n \"[box-shadow:none] hover:[box-shadow:none]\",\n \"hover:!bg-[var(--kz-component-button-ghost-info-bg-hover,rgba(37,99,235,0.1))]\",\n ].join(\" \"),\n },\n ],\n defaultVariants: {\n variant: ButtonVariant.Primary,\n size: ButtonSize.Md,\n },\n});\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\n","/** Preset icon sizes (px). Use with Icon size prop. */\nexport const iconSize = {\n xs: 12,\n sm: 16,\n md: 24,\n lg: 32,\n xl: 40,\n} as const;\n\nexport type IconSizeKey = keyof typeof iconSize;\n","import * as React from \"react\";\nimport { iconRegistry, IconName } from \"./icon-registry\";\nimport { iconSize, type IconSizeKey } from \"./icon-sizes\";\nimport { cn } from \"../utils/cn\";\n\nexport interface IconProps extends Omit<\n React.SVGAttributes<SVGSVGElement>,\n \"color\"\n> {\n name: IconName;\n size?: IconSizeKey | number;\n color?: string;\n className?: string;\n}\n\nconst Icon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ name, size = \"md\", color, className, ...props }, ref) => {\n const Component = iconRegistry[name];\n if (!Component) return null;\n const sizePx = typeof size === \"number\" ? size : iconSize[size];\n const resolvedColor = color ?? \"var(--kz-color-icon-default, currentColor)\";\n return (\n <Component\n ref={ref}\n size={sizePx}\n color={resolvedColor}\n className={cn(\"shrink-0\", className)}\n {...props}\n />\n );\n }\n);\n\nIcon.displayName = \"Icon\";\n\nexport { Icon, iconRegistry, iconSize, IconName };\nexport type { IconSizeKey };\n","import type { LucideIcon } from \"lucide-react\";\nimport {\n Search,\n CircleAlert,\n CheckCircle,\n TriangleAlert,\n Loader2,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n BarChart2,\n Shield,\n ArrowLeft,\n ArrowUp,\n ArrowDown,\n ArrowUpDown,\n EllipsisVertical,\n Sun,\n Moon,\n Settings,\n LogOut,\n User,\n FileText,\n LockOpen,\n Calendar,\n ChartArea,\n ChartBar,\n ChartBarBig,\n ChartBarDecreasing,\n ChartBarIncreasing,\n ChartBarStacked,\n ChartCandlestick,\n ChartColumn,\n ChartColumnBig,\n ChartColumnDecreasing,\n ChartColumnIncreasing,\n ChartColumnStacked,\n ChartGantt,\n ChartLine,\n ChartNetwork,\n ChartNoAxesColumn,\n ChartNoAxesColumnDecreasing,\n ChartNoAxesColumnIncreasing,\n ChartNoAxesCombined,\n ChartNoAxesGantt,\n ChartPie,\n ChartScatter,\n ChartSpline,\n FolderKanban,\n Kanban,\n SquareChartGantt,\n SquareDashedKanban,\n SquareKanban,\n TrendingDown,\n TrendingUp,\n TrendingUpDown,\n Atom,\n GitBranch,\n Clipboard,\n Palette,\n Gauge,\n Filter,\n Grid3x3,\n RadioTower,\n BadgeCheck,\n Wallet,\n DollarSign,\n Plus,\n Building2,\n X,\n FilePlus,\n UserPlus2,\n UserRoundPlus,\n List,\n CircleAlert as AlertCircleIcon,\n Layers,\n Badge,\n MapPin,\n Puzzle,\n Globe,\n ShoppingBag,\n QrCode,\n Brush,\n FileSpreadsheet,\n Tag,\n Scan,\n Clock3,\n UserPlus,\n Users,\n Files,\n Group,\n CheckSquare,\n ClipboardList,\n ListTodo,\n BarChart3,\n FileBarChart,\n FileSearch,\n Lock,\n Settings2,\n LayoutGrid,\n Terminal,\n Pencil,\n Trash2,\n Eye,\n EyeOff,\n Pin,\n PinOff,\n Save,\n RotateCcw,\n} from \"lucide-react\";\n\n/** Use IconName.* so users discover available icons. Values match registry keys. */\nexport enum IconName {\n Search = \"search\",\n CircleAlert = \"circle-alert\",\n CheckCircle = \"check-circle\",\n TriangleAlert = \"triangle-alert\",\n Loader2 = \"loader-2\",\n ChevronDown = \"chevron-down\",\n ChevronLeft = \"chevron-left\",\n ChevronRight = \"chevron-right\",\n BarChart2 = \"bar-chart-2\",\n Shield = \"shield\",\n ArrowLeft = \"arrow-left\",\n ArrowUp = \"arrow-up\",\n ArrowDown = \"arrow-down\",\n ArrowUpDown = \"arrow-up-down\",\n EllipsisVertical = \"ellipsis-vertical\",\n Sun = \"sun\",\n Moon = \"moon\",\n LogOut = \"log-out\",\n Settings = \"settings\",\n User = \"user\",\n FileText = \"file-text\",\n LockOpen = \"lock-open\",\n Calendar = \"calendar\",\n ChartArea = \"chart-area\",\n ChartBar = \"chart-bar\",\n ChartBarBig = \"chart-bar-big\",\n ChartBarDecreasing = \"chart-bar-decreasing\",\n ChartBarIncreasing = \"chart-bar-increasing\",\n ChartBarStacked = \"chart-bar-stacked\",\n ChartCandlestick = \"chart-candlestick\",\n ChartColumn = \"chart-column\",\n ChartColumnBig = \"chart-column-big\",\n ChartColumnDecreasing = \"chart-column-decreasing\",\n ChartColumnIncreasing = \"chart-column-increasing\",\n ChartColumnStacked = \"chart-column-stacked\",\n ChartGantt = \"chart-gantt\",\n ChartLine = \"chart-line\",\n ChartNetwork = \"chart-network\",\n ChartNoAxesColumn = \"chart-no-axes-column\",\n ChartNoAxesColumnDecreasing = \"chart-no-axes-column-decreasing\",\n ChartNoAxesColumnIncreasing = \"chart-no-axes-column-increasing\",\n ChartNoAxesCombined = \"chart-no-axes-combined\",\n ChartNoAxesGantt = \"chart-no-axes-gantt\",\n ChartPie = \"chart-pie\",\n ChartScatter = \"chart-scatter\",\n ChartSpline = \"chart-spline\",\n FolderKanban = \"folder-kanban\",\n Kanban = \"kanban\",\n SquareChartGantt = \"square-chart-gantt\",\n SquareDashedKanban = \"square-dashed-kanban\",\n SquareKanban = \"square-kanban\",\n TrendingDown = \"trending-down\",\n TrendingUp = \"trending-up\",\n TrendingUpDown = \"trending-up-down\",\n Atom = \"atom\",\n GitBranch = \"git-branch\",\n Clipboard = \"clipboard\",\n Palette = \"palette\",\n Gauge = \"gauge\",\n Filter = \"filter\",\n Grid3x3 = \"grid-3x3\",\n RadioTower = \"radio-tower\",\n BadgeCheck = \"badge-check\",\n Wallet = \"wallet\",\n DollarSign = \"dollar-sign\",\n Plus = \"plus\",\n Building2 = \"building-2\",\n X = \"x\",\n FilePlus = \"file-plus\",\n UserPlus2 = \"user-plus-2\",\n UserRoundPlus = \"user-round-plus\",\n List = \"list\",\n AlertCircle = \"alert-circle\",\n Layers = \"layers\",\n Badge = \"badge\",\n MapPin = \"map-pin\",\n Puzzle = \"puzzle\",\n Globe = \"globe\",\n ShoppingBag = \"shopping-bag\",\n QrCode = \"qr-code\",\n Brush = \"brush\",\n FileSpreadsheet = \"file-spreadsheet\",\n Tag = \"tag\",\n Scan = \"scan\",\n Clock3 = \"clock-3\",\n UserPlus = \"user-plus\",\n Users = \"users\",\n Files = \"files\",\n Group = \"group\",\n CheckSquare = \"check-square\",\n ClipboardList = \"clipboard-list\",\n ListTodo = \"list-todo\",\n BarChart3 = \"bar-chart-3\",\n FileBarChart = \"file-bar-chart\",\n FileSearch = \"file-search\",\n Lock = \"lock\",\n Settings2 = \"settings-2\",\n LayoutGrid = \"layout-grid\",\n Terminal = \"terminal\",\n Pencil = \"pencil\",\n Trash2 = \"trash-2\",\n Eye = \"eye\",\n EyeOff = \"eye-off\",\n Pin = \"pin\",\n PinOff = \"pin-off\",\n Save = \"save\",\n RotateCcw = \"rotate-ccw\",\n}\n\nexport const iconRegistry: Record<IconName, LucideIcon> = {\n [IconName.Search]: Search,\n [IconName.CircleAlert]: CircleAlert,\n [IconName.CheckCircle]: CheckCircle,\n [IconName.TriangleAlert]: TriangleAlert,\n [IconName.Loader2]: Loader2,\n [IconName.ChevronDown]: ChevronDown,\n [IconName.ChevronLeft]: ChevronLeft,\n [IconName.ChevronRight]: ChevronRight,\n [IconName.BarChart2]: BarChart2,\n [IconName.Shield]: Shield,\n [IconName.ArrowLeft]: ArrowLeft,\n [IconName.ArrowUp]: ArrowUp,\n [IconName.ArrowDown]: ArrowDown,\n [IconName.ArrowUpDown]: ArrowUpDown,\n [IconName.EllipsisVertical]: EllipsisVertical,\n [IconName.Sun]: Sun,\n [IconName.Moon]: Moon,\n [IconName.LogOut]: LogOut,\n [IconName.Settings]: Settings,\n [IconName.User]: User,\n [IconName.FileText]: FileText,\n [IconName.LockOpen]: LockOpen,\n [IconName.Calendar]: Calendar,\n [IconName.ChartArea]: ChartArea,\n [IconName.ChartBar]: ChartBar,\n [IconName.ChartBarBig]: ChartBarBig,\n [IconName.ChartBarDecreasing]: ChartBarDecreasing,\n [IconName.ChartBarIncreasing]: ChartBarIncreasing,\n [IconName.ChartBarStacked]: ChartBarStacked,\n [IconName.ChartCandlestick]: ChartCandlestick,\n [IconName.ChartColumn]: ChartColumn,\n [IconName.ChartColumnBig]: ChartColumnBig,\n [IconName.ChartColumnDecreasing]: ChartColumnDecreasing,\n [IconName.ChartColumnIncreasing]: ChartColumnIncreasing,\n [IconName.ChartColumnStacked]: ChartColumnStacked,\n [IconName.ChartGantt]: ChartGantt,\n [IconName.ChartLine]: ChartLine,\n [IconName.ChartNetwork]: ChartNetwork,\n [IconName.ChartNoAxesColumn]: ChartNoAxesColumn,\n [IconName.ChartNoAxesColumnDecreasing]: ChartNoAxesColumnDecreasing,\n [IconName.ChartNoAxesColumnIncreasing]: ChartNoAxesColumnIncreasing,\n [IconName.ChartNoAxesCombined]: ChartNoAxesCombined,\n [IconName.ChartNoAxesGantt]: ChartNoAxesGantt,\n [IconName.ChartPie]: ChartPie,\n [IconName.ChartScatter]: ChartScatter,\n [IconName.ChartSpline]: ChartSpline,\n [IconName.FolderKanban]: FolderKanban,\n [IconName.Kanban]: Kanban,\n [IconName.SquareChartGantt]: SquareChartGantt,\n [IconName.SquareDashedKanban]: SquareDashedKanban,\n [IconName.SquareKanban]: SquareKanban,\n [IconName.TrendingDown]: TrendingDown,\n [IconName.TrendingUp]: TrendingUp,\n [IconName.TrendingUpDown]: TrendingUpDown,\n [IconName.Atom]: Atom,\n [IconName.GitBranch]: GitBranch,\n [IconName.Clipboard]: Clipboard,\n [IconName.Palette]: Palette,\n [IconName.Gauge]: Gauge,\n [IconName.Filter]: Filter,\n [IconName.Grid3x3]: Grid3x3,\n [IconName.RadioTower]: RadioTower,\n [IconName.BadgeCheck]: BadgeCheck,\n [IconName.Wallet]: Wallet,\n [IconName.DollarSign]: DollarSign,\n [IconName.Plus]: Plus,\n [IconName.Building2]: Building2,\n [IconName.X]: X,\n [IconName.FilePlus]: FilePlus,\n [IconName.UserPlus2]: UserPlus2,\n [IconName.UserRoundPlus]: UserRoundPlus,\n [IconName.List]: List,\n [IconName.AlertCircle]: AlertCircleIcon,\n [IconName.Layers]: Layers,\n [IconName.Badge]: Badge,\n [IconName.MapPin]: MapPin,\n [IconName.Puzzle]: Puzzle,\n [IconName.Globe]: Globe,\n [IconName.ShoppingBag]: ShoppingBag,\n [IconName.QrCode]: QrCode,\n [IconName.Brush]: Brush,\n [IconName.FileSpreadsheet]: FileSpreadsheet,\n [IconName.Tag]: Tag,\n [IconName.Scan]: Scan,\n [IconName.Clock3]: Clock3,\n [IconName.UserPlus]: UserPlus,\n [IconName.Users]: Users,\n [IconName.Files]: Files,\n [IconName.Group]: Group,\n [IconName.CheckSquare]: CheckSquare,\n [IconName.ClipboardList]: ClipboardList,\n [IconName.ListTodo]: ListTodo,\n [IconName.BarChart3]: BarChart3,\n [IconName.FileBarChart]: FileBarChart,\n [IconName.FileSearch]: FileSearch,\n [IconName.Lock]: Lock,\n [IconName.Settings2]: Settings2,\n [IconName.LayoutGrid]: LayoutGrid,\n [IconName.Terminal]: Terminal,\n [IconName.Pencil]: Pencil,\n [IconName.Trash2]: Trash2,\n [IconName.Eye]: Eye,\n [IconName.EyeOff]: EyeOff,\n [IconName.Pin]: Pin,\n [IconName.PinOff]: PinOff,\n [IconName.Save]: Save,\n [IconName.RotateCcw]: RotateCcw,\n};\n","import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport {\n getTypographyClass,\n getDefaultElement,\n type TypographyVariant,\n} from \"./typography-variants\";\nimport {\n TypographyTone as TypographyToneEnum,\n TypographyAlign as TypographyAlignEnum,\n TypographyWeight as TypographyWeightEnum,\n} from \"../../constants/enum\";\n\nexport {\n TypographyTone as TypographyToneEnum,\n TypographyAlign as TypographyAlignEnum,\n TypographyWeight as TypographyWeightEnum,\n} from \"../../constants/enum\";\n\nexport type TypographyTone = TypographyToneEnum;\nexport type TypographyAlign = TypographyAlignEnum;\nexport type TypographyWeight = TypographyWeightEnum;\n\nexport type TypographyAsElement =\n | \"p\"\n | \"span\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"div\"\n | \"a\"\n | \"label\"\n | \"figcaption\";\n\nexport interface TypographyProps extends Omit<\n React.HTMLAttributes<HTMLElement>,\n \"color\"\n> {\n children: React.ReactNode;\n variant: TypographyVariant;\n href?: string;\n tone?: TypographyTone;\n as?: TypographyAsElement;\n align?: TypographyAlign;\n truncate?: boolean;\n lines?: number;\n weight?: TypographyWeight;\n className?: string;\n}\n\nconst alignClass: Record<TypographyAlignEnum, string> = {\n [TypographyAlignEnum.Left]: \"text-left\",\n [TypographyAlignEnum.Center]: \"text-center\",\n [TypographyAlignEnum.Right]: \"text-right\",\n};\n\nconst weightClass: Record<TypographyWeightEnum, string> = {\n [TypographyWeightEnum.Regular]: \"font-normal\",\n [TypographyWeightEnum.Medium]: \"font-medium\",\n [TypographyWeightEnum.Semibold]: \"font-semibold\",\n [TypographyWeightEnum.Bold]: \"font-bold\",\n};\n\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n (\n {\n children,\n variant,\n href,\n tone,\n as,\n align,\n truncate,\n lines,\n weight,\n className,\n style,\n ...props\n },\n ref\n ) => {\n const Comp = href !== undefined ? \"a\" : (as ?? getDefaultElement(variant));\n const typographyClass = getTypographyClass(variant);\n\n const toneClass =\n tone !== undefined ? `kz-typography-tone-${tone}` : undefined;\n\n const lineClampStyle: React.CSSProperties | undefined =\n lines !== undefined && lines > 0\n ? {\n display: \"-webkit-box\",\n WebkitBoxOrient: \"vertical\",\n WebkitLineClamp: lines,\n overflow: \"hidden\",\n }\n : undefined;\n\n const combinedStyle = lineClampStyle\n ? { ...style, ...lineClampStyle }\n : style;\n\n return React.createElement(\n Comp as \"p\",\n {\n ref,\n ...(href !== undefined && { href }),\n className: cn(\n typographyClass,\n toneClass,\n align !== undefined && alignClass[align],\n truncate && \"truncate\",\n weight !== undefined && weightClass[weight],\n className\n ),\n style: combinedStyle,\n ...props,\n },\n children\n );\n }\n);\n\nTypography.displayName = \"Typography\";\n\nexport { Typography };\nexport type { TypographyVariant };\n","import { TypographyVariant as TypographyVariantEnum } from \"../../constants/enum\";\n\nexport { TypographyVariant as TypographyVariantEnum } from \"../../constants/enum\";\n\nexport type TypographyVariant = TypographyVariantEnum;\n\nexport const typographyVariants: TypographyVariant[] = [\n TypographyVariantEnum.H1,\n TypographyVariantEnum.H2,\n TypographyVariantEnum.H3,\n TypographyVariantEnum.H4,\n TypographyVariantEnum.H5,\n TypographyVariantEnum.Body,\n TypographyVariantEnum.Small,\n TypographyVariantEnum.Caption,\n TypographyVariantEnum.Label,\n TypographyVariantEnum.Link,\n TypographyVariantEnum.Error,\n TypographyVariantEnum.Success,\n TypographyVariantEnum.Warning,\n];\n\nconst variantToClass: Record<TypographyVariant, string> = {\n [TypographyVariantEnum.H1]: \"kz-typography-h1\",\n [TypographyVariantEnum.H2]: \"kz-typography-h2\",\n [TypographyVariantEnum.H3]: \"kz-typography-h3\",\n [TypographyVariantEnum.H4]: \"kz-typography-h4\",\n [TypographyVariantEnum.H5]: \"kz-typography-h5\",\n [TypographyVariantEnum.Body]: \"kz-typography-body\",\n [TypographyVariantEnum.Small]: \"kz-typography-small\",\n [TypographyVariantEnum.Caption]: \"kz-typography-caption\",\n [TypographyVariantEnum.Label]: \"kz-typography-label\",\n [TypographyVariantEnum.Link]: \"kz-typography-link\",\n [TypographyVariantEnum.Error]: \"kz-typography-error\",\n [TypographyVariantEnum.Success]: \"kz-typography-success\",\n [TypographyVariantEnum.Warning]: \"kz-typography-warning\",\n};\n\nexport function getTypographyClass(variant: TypographyVariant): string {\n return variantToClass[variant];\n}\n\nconst defaultElement: Record<TypographyVariant, keyof JSX.IntrinsicElements> = {\n [TypographyVariantEnum.H1]: \"h1\",\n [TypographyVariantEnum.H2]: \"h2\",\n [TypographyVariantEnum.H3]: \"h3\",\n [TypographyVariantEnum.H4]: \"h4\",\n [TypographyVariantEnum.H5]: \"h5\",\n [TypographyVariantEnum.Body]: \"p\",\n [TypographyVariantEnum.Small]: \"span\",\n [TypographyVariantEnum.Caption]: \"span\",\n [TypographyVariantEnum.Label]: \"span\",\n [TypographyVariantEnum.Link]: \"a\",\n [TypographyVariantEnum.Error]: \"span\",\n [TypographyVariantEnum.Success]: \"span\",\n [TypographyVariantEnum.Warning]: \"span\",\n};\n\nexport function getDefaultElement(\n variant: TypographyVariant\n): keyof JSX.IntrinsicElements {\n return defaultElement[variant];\n}\n"],"mappings":"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","names":["React","React","import_lucide_react","AlertCircleIcon","import_jsx_runtime","React","import_jsx_runtime","iconSize"]}
|
package/dist/color-picker.mjs
CHANGED
|
@@ -19,7 +19,7 @@ var base = [
|
|
|
19
19
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium",
|
|
20
20
|
"transition-all duration-150 ease-out",
|
|
21
21
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--kz-color-border-focus)]",
|
|
22
|
-
"disabled:
|
|
22
|
+
"disabled:cursor-not-allowed disabled:opacity-[var(--kz-component-button-disabled-opacity,0.5)]",
|
|
23
23
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0"
|
|
24
24
|
].join(" ");
|
|
25
25
|
var buttonVariants = cva(base, {
|
|
@@ -349,7 +349,11 @@ import {
|
|
|
349
349
|
Pencil,
|
|
350
350
|
Trash2,
|
|
351
351
|
Eye,
|
|
352
|
-
EyeOff
|
|
352
|
+
EyeOff,
|
|
353
|
+
Pin,
|
|
354
|
+
PinOff,
|
|
355
|
+
Save,
|
|
356
|
+
RotateCcw
|
|
353
357
|
} from "lucide-react";
|
|
354
358
|
var iconRegistry = {
|
|
355
359
|
["search" /* Search */]: Search,
|
|
@@ -454,7 +458,11 @@ var iconRegistry = {
|
|
|
454
458
|
["pencil" /* Pencil */]: Pencil,
|
|
455
459
|
["trash-2" /* Trash2 */]: Trash2,
|
|
456
460
|
["eye" /* Eye */]: Eye,
|
|
457
|
-
["eye-off" /* EyeOff */]: EyeOff
|
|
461
|
+
["eye-off" /* EyeOff */]: EyeOff,
|
|
462
|
+
["pin" /* Pin */]: Pin,
|
|
463
|
+
["pin-off" /* PinOff */]: PinOff,
|
|
464
|
+
["save" /* Save */]: Save,
|
|
465
|
+
["rotate-ccw" /* RotateCcw */]: RotateCcw
|
|
458
466
|
};
|
|
459
467
|
|
|
460
468
|
// src/icon/Icon.tsx
|