kz-design-system 0.1.0 → 0.2.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.
Files changed (132) hide show
  1. package/dist/avatar.d.mts +1 -1
  2. package/dist/avatar.d.ts +1 -1
  3. package/dist/avatar.js.map +1 -1
  4. package/dist/avatar.mjs.map +1 -1
  5. package/dist/button.d.mts +7 -2
  6. package/dist/button.d.ts +7 -2
  7. package/dist/button.js +149 -9
  8. package/dist/button.js.map +1 -1
  9. package/dist/button.mjs +252 -8
  10. package/dist/button.mjs.map +1 -1
  11. package/dist/card.d.mts +1 -1
  12. package/dist/card.d.ts +1 -1
  13. package/dist/card.js.map +1 -1
  14. package/dist/card.mjs.map +1 -1
  15. package/dist/checkbox.d.mts +1 -1
  16. package/dist/checkbox.d.ts +1 -1
  17. package/dist/checkbox.js.map +1 -1
  18. package/dist/checkbox.mjs.map +1 -1
  19. package/dist/color-picker.d.mts +1 -1
  20. package/dist/color-picker.d.ts +1 -1
  21. package/dist/color-picker.js +151 -145
  22. package/dist/color-picker.js.map +1 -1
  23. package/dist/color-picker.mjs +196 -190
  24. package/dist/color-picker.mjs.map +1 -1
  25. package/dist/date-range-picker.d.mts +1 -1
  26. package/dist/date-range-picker.d.ts +1 -1
  27. package/dist/date-range-picker.js +151 -145
  28. package/dist/date-range-picker.js.map +1 -1
  29. package/dist/date-range-picker.mjs +196 -190
  30. package/dist/date-range-picker.mjs.map +1 -1
  31. package/dist/date-time-picker.d.mts +1 -1
  32. package/dist/date-time-picker.d.ts +1 -1
  33. package/dist/date-time-picker.js +151 -145
  34. package/dist/date-time-picker.js.map +1 -1
  35. package/dist/date-time-picker.mjs +196 -190
  36. package/dist/date-time-picker.mjs.map +1 -1
  37. package/dist/dropdown.d.mts +1 -1
  38. package/dist/dropdown.d.ts +1 -1
  39. package/dist/dropdown.js +7 -1
  40. package/dist/dropdown.js.map +1 -1
  41. package/dist/dropdown.mjs +7 -1
  42. package/dist/dropdown.mjs.map +1 -1
  43. package/dist/{enum-BXb6AbOQ.d.mts → enum-D-4EiT-9.d.mts} +1 -0
  44. package/dist/{enum-BXb6AbOQ.d.ts → enum-D-4EiT-9.d.ts} +1 -0
  45. package/dist/error-page.d.mts +26 -0
  46. package/dist/error-page.d.ts +26 -0
  47. package/dist/error-page.js +243 -0
  48. package/dist/error-page.js.map +1 -0
  49. package/dist/error-page.mjs +310 -0
  50. package/dist/error-page.mjs.map +1 -0
  51. package/dist/file-uploader.d.mts +1 -1
  52. package/dist/file-uploader.d.ts +1 -1
  53. package/dist/form-group.d.mts +1 -1
  54. package/dist/form-group.d.ts +1 -1
  55. package/dist/icon-picker.d.mts +1 -1
  56. package/dist/icon-picker.d.ts +1 -1
  57. package/dist/icon-picker.js +257 -251
  58. package/dist/icon-picker.js.map +1 -1
  59. package/dist/icon-picker.mjs +196 -190
  60. package/dist/icon-picker.mjs.map +1 -1
  61. package/dist/{index-0bTjZ-iO.d.mts → index-CKvZPvgt.d.mts} +1 -1
  62. package/dist/{index-plipErXS.d.ts → index-vK8vhVDZ.d.ts} +1 -1
  63. package/dist/index.d.mts +5 -3
  64. package/dist/index.d.ts +5 -3
  65. package/dist/index.js +374 -257
  66. package/dist/index.js.map +1 -1
  67. package/dist/index.mjs +270 -155
  68. package/dist/index.mjs.map +1 -1
  69. package/dist/number-input.d.mts +1 -1
  70. package/dist/number-input.d.ts +1 -1
  71. package/dist/number-input.js +162 -23
  72. package/dist/number-input.js.map +1 -1
  73. package/dist/number-input.mjs +263 -20
  74. package/dist/number-input.mjs.map +1 -1
  75. package/dist/pagination.js +7 -1
  76. package/dist/pagination.js.map +1 -1
  77. package/dist/pagination.mjs +7 -1
  78. package/dist/pagination.mjs.map +1 -1
  79. package/dist/qr-renderer.d.mts +1 -1
  80. package/dist/qr-renderer.d.ts +1 -1
  81. package/dist/qr-renderer.js +148 -142
  82. package/dist/qr-renderer.js.map +1 -1
  83. package/dist/qr-renderer.mjs +81 -75
  84. package/dist/qr-renderer.mjs.map +1 -1
  85. package/dist/radio-button.d.mts +1 -1
  86. package/dist/radio-button.d.ts +1 -1
  87. package/dist/radio-button.js.map +1 -1
  88. package/dist/radio-button.mjs.map +1 -1
  89. package/dist/screen-loader.d.mts +28 -0
  90. package/dist/screen-loader.d.ts +28 -0
  91. package/dist/screen-loader.js +166 -0
  92. package/dist/screen-loader.js.map +1 -0
  93. package/dist/screen-loader.mjs +129 -0
  94. package/dist/screen-loader.mjs.map +1 -0
  95. package/dist/select.d.mts +1 -1
  96. package/dist/select.d.ts +1 -1
  97. package/dist/sql-editor.js +148 -142
  98. package/dist/sql-editor.js.map +1 -1
  99. package/dist/sql-editor.mjs +81 -75
  100. package/dist/sql-editor.mjs.map +1 -1
  101. package/dist/styles.css +2 -2
  102. package/dist/table.js +7 -1
  103. package/dist/table.js.map +1 -1
  104. package/dist/table.mjs +7 -1
  105. package/dist/table.mjs.map +1 -1
  106. package/dist/text-area.d.mts +1 -1
  107. package/dist/text-area.d.ts +1 -1
  108. package/dist/text-area.js.map +1 -1
  109. package/dist/text-area.mjs.map +1 -1
  110. package/dist/text-input.d.mts +1 -1
  111. package/dist/text-input.d.ts +1 -1
  112. package/dist/text-input.js.map +1 -1
  113. package/dist/text-input.mjs.map +1 -1
  114. package/dist/theme.d.mts +2 -2
  115. package/dist/theme.d.ts +2 -2
  116. package/dist/theme.js.map +1 -1
  117. package/dist/theme.mjs.map +1 -1
  118. package/dist/toast.d.mts +1 -1
  119. package/dist/toast.d.ts +1 -1
  120. package/dist/toggle-button.d.mts +1 -1
  121. package/dist/toggle-button.d.ts +1 -1
  122. package/dist/toggle-button.js.map +1 -1
  123. package/dist/toggle-button.mjs.map +1 -1
  124. package/dist/tooltip.d.mts +1 -1
  125. package/dist/tooltip.d.ts +1 -1
  126. package/dist/tooltip.js.map +1 -1
  127. package/dist/tooltip.mjs.map +1 -1
  128. package/dist/typography.d.mts +1 -1
  129. package/dist/typography.d.ts +1 -1
  130. package/dist/typography.js.map +1 -1
  131. package/dist/typography.mjs.map +1 -1
  132. package/package.json +14 -2
package/dist/avatar.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { A as AvatarSize, a as AvatarStatus } from './enum-BXb6AbOQ.mjs';
2
+ import { A as AvatarSize, a as AvatarStatus } from './enum-D-4EiT-9.mjs';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
 
package/dist/avatar.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { A as AvatarSize, a as AvatarStatus } from './enum-BXb6AbOQ.js';
2
+ import { A as AvatarSize, a as AvatarStatus } from './enum-D-4EiT-9.js';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/avatar/index.ts","../src/components/avatar/Avatar.tsx","../src/constants/enum.ts","../src/components/avatar/avatar.variants.ts","../src/utils/cn.ts"],"sourcesContent":["export {\n Avatar,\n avatarVariants,\n type AvatarProps,\n type AvatarVariants,\n} from \"./Avatar\";\nexport { AvatarSize, AvatarStatus } from \"../../constants/enum\";\n","import * as React from \"react\";\nimport { User } from \"lucide-react\";\nimport { AvatarSize, AvatarStatus } from \"../../constants/enum\";\nimport { avatarVariants, type AvatarVariants } from \"./avatar.variants\";\nimport { cn } from \"../../utils/cn\";\n\nconst ICON_SIZE_MAP: Record<AvatarSize, number> = {\n [AvatarSize.Sm]: 16,\n [AvatarSize.Md]: 20,\n [AvatarSize.Lg]: 24,\n [AvatarSize.Xl]: 32,\n};\n\nexport interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {\n src?: string;\n alt?: string;\n initials?: string;\n fallbackIcon?: React.ReactNode;\n size?: AvatarSize;\n status?: AvatarStatus;\n className?: string;\n}\n\nconst Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n src,\n alt = \"\",\n initials,\n fallbackIcon,\n size = AvatarSize.Md,\n status,\n className,\n ...props\n },\n ref\n ) => {\n const [imgError, setImgError] = React.useState(false);\n\n React.useEffect(() => {\n setImgError(false);\n }, [src]);\n\n const showImage = src && !imgError;\n const showIndicator = status === AvatarStatus.Online;\n\n return (\n <div\n ref={ref}\n className={cn(avatarVariants({ size }), className)}\n role=\"img\"\n aria-label={alt || initials || \"Avatar\"}\n {...props}\n >\n {showImage ? (\n <span className=\"kz-avatar-image\">\n <img\n src={src}\n alt={alt}\n className=\"h-full w-full object-cover\"\n onError={() => setImgError(true)}\n draggable={false}\n />\n </span>\n ) : initials ? (\n <span className=\"kz-avatar-initials\" aria-hidden=\"true\">\n {initials}\n </span>\n ) : (\n <span className=\"kz-avatar-fallback-icon\" aria-hidden=\"true\">\n {fallbackIcon ?? <User size={ICON_SIZE_MAP[size]} />}\n </span>\n )}\n\n {showIndicator && (\n <span\n className={cn(\"kz-avatar-status\", `kz-avatar-status--${size}`)}\n aria-label=\"Online\"\n role=\"status\"\n />\n )}\n </div>\n );\n }\n);\n\nAvatar.displayName = \"Avatar\";\n\nexport { Avatar, avatarVariants };\nexport type { AvatarVariants };\n","export enum Theme {\n Light = \"light\",\n Dark = \"dark\",\n}\n\nexport enum ThemeStyle {\n Enterprise = \"enterprise\",\n Neumorphic = \"neumorphic\",\n Standard = \"standard\",\n Glassmorphic = \"glassmorphic\",\n}\n\nexport enum KezelVariant {\n Standard = \"standard\",\n Neumorphic = \"neumorphic\",\n}\n\nexport enum KezelMode {\n Light,\n Dark,\n}\n\nexport enum ButtonVariant {\n Primary = \"primary\",\n Ghost = \"ghost\",\n Container = \"container\",\n}\n\nexport enum ButtonStatus {\n Brand = \"brand\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n Info = \"info\",\n}\n\nexport enum ButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ButtonType {\n Button = \"button\",\n Submit = \"submit\",\n Reset = \"reset\",\n}\n\nexport enum ButtonAspectRatio {\n Auto = \"auto\",\n Square = \"square\",\n}\n\nexport enum DropdownTriggerVariant {\n Default = \"default\",\n Ghost = \"ghost\",\n}\n\nexport enum TypographyVariant {\n H1 = \"h1\",\n H2 = \"h2\",\n H3 = \"h3\",\n H4 = \"h4\",\n H5 = \"h5\",\n Body = \"body\",\n Small = \"small\",\n Caption = \"caption\",\n Label = \"label\",\n Link = \"link\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TypographyTone {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Muted = \"muted\",\n Disabled = \"disabled\",\n Inverse = \"inverse\",\n Link = \"link\",\n}\n\nexport enum TypographyAlign {\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n}\n\nexport enum TypographyWeight {\n Regular = \"regular\",\n Medium = \"medium\",\n Semibold = \"semibold\",\n Bold = \"bold\",\n}\n\nexport enum TokenCategory {\n Color = \"color\",\n Shadow = \"shadow\",\n Length = \"length\",\n Number = \"number\",\n LineHeight = \"lineHeight\",\n FontFamily = \"fontFamily\",\n FontWeight = \"fontWeight\",\n Duration = \"duration\",\n Easing = \"easing\",\n}\n\nexport enum OverrideMode {\n Safe = \"safe\",\n Strict = \"strict\",\n}\n\nexport enum TextInputVariant {\n Default = \"default\",\n Container = \"container\",\n Ghost = \"ghost\",\n}\n\nexport enum TextInputSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TextInputState {\n Default = \"default\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TextInputType {\n Text = \"text\",\n Email = \"email\",\n Password = \"password\",\n Number = \"number\",\n Search = \"search\",\n Tel = \"tel\",\n Url = \"url\",\n}\n\nexport enum TooltipSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TooltipPosition {\n Top = \"top\",\n Right = \"right\",\n Bottom = \"bottom\",\n Left = \"left\",\n}\n\nexport enum TooltipAlign {\n Start = \"start\",\n Center = \"center\",\n End = \"end\",\n}\n\nexport enum TooltipColor {\n Default = \"default\",\n Inverse = \"inverse\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n}\n\nexport enum ToggleButtonVariant {\n Default = \"default\",\n Primary = \"primary\",\n Container = \"container\",\n}\n\nexport enum ToggleButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxVariant {\n Default = \"default\",\n Container = \"container\",\n}\n\nexport enum RadioSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum AvatarSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n Xl = \"xl\",\n}\n\nexport enum AvatarStatus {\n Online = \"online\",\n Busy = \"busy\",\n Away = \"away\",\n Offline = \"offline\",\n}\n\nexport enum ToastVariant {\n Success = \"success\",\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\",\n}\n\nexport enum CardShadow {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ToastPosition {\n TopRight = \"top-right\",\n TopLeft = \"top-left\",\n BottomRight = \"bottom-right\",\n BottomLeft = \"bottom-left\",\n}\n\nexport enum QrPattern {\n Square = \"square\",\n Circle = \"circle\",\n Diamond = \"diamond\",\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { AvatarSize } from \"../../constants/enum\";\n\nconst base = [\n \"kz-avatar\",\n \"relative inline-flex items-center justify-center\",\n \"rounded-full\",\n \"shrink-0\",\n \"[box-shadow:none]\",\n].join(\" \");\n\nexport const avatarVariants = cva(base, {\n variants: {\n size: {\n [AvatarSize.Sm]: \"size-8 text-xs\",\n [AvatarSize.Md]: \"size-10 text-sm\",\n [AvatarSize.Lg]: \"size-12 text-base\",\n [AvatarSize.Xl]: \"size-16 text-lg\",\n },\n },\n defaultVariants: {\n size: AvatarSize.Md,\n },\n});\n\nexport type AvatarVariants = VariantProps<typeof avatarVariants>;\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AACvB,0BAAqB;;;ACqMd,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AAJK,SAAAA;AAAA,GAAA;AAOL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;;;AC7MZ,sCAAuC;AAGvC,IAAM,OAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAEH,IAAM,qBAAiB,qCAAI,MAAM;AAAA,EACtC,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,IACnB;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf;AAAA,EACF;AACF,CAAC;;;ACvBD,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AH0CM;AAzCN,IAAM,gBAA4C;AAAA,EAChD,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AACnB;AAYA,IAAM,SAAe;AAAA,EACnB,CACE;AAAA,IACE;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,CAAC,UAAU,WAAW,IAAU,eAAS,KAAK;AAEpD,IAAM,gBAAU,MAAM;AACpB,kBAAY,KAAK;AAAA,IACnB,GAAG,CAAC,GAAG,CAAC;AAER,UAAM,YAAY,OAAO,CAAC;AAC1B,UAAM,gBAAgB;AAEtB,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,eAAe,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,QACjD,MAAK;AAAA,QACL,cAAY,OAAO,YAAY;AAAA,QAC9B,GAAG;AAAA,QAEH;AAAA,sBACC,4CAAC,UAAK,WAAU,mBACd;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,WAAU;AAAA,cACV,SAAS,MAAM,YAAY,IAAI;AAAA,cAC/B,WAAW;AAAA;AAAA,UACb,GACF,IACE,WACF,4CAAC,UAAK,WAAU,sBAAqB,eAAY,QAC9C,oBACH,IAEA,4CAAC,UAAK,WAAU,2BAA0B,eAAY,QACnD,0BAAgB,4CAAC,4BAAK,MAAM,cAAc,IAAI,GAAG,GACpD;AAAA,UAGD,iBACC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,GAAG,oBAAoB,qBAAqB,IAAI,EAAE;AAAA,cAC7D,cAAW;AAAA,cACX,MAAK;AAAA;AAAA,UACP;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;","names":["AvatarSize","AvatarStatus"]}
1
+ {"version":3,"sources":["../src/components/avatar/index.ts","../src/components/avatar/Avatar.tsx","../src/constants/enum.ts","../src/components/avatar/avatar.variants.ts","../src/utils/cn.ts"],"sourcesContent":["export {\n Avatar,\n avatarVariants,\n type AvatarProps,\n type AvatarVariants,\n} from \"./Avatar\";\nexport { AvatarSize, AvatarStatus } from \"../../constants/enum\";\n","import * as React from \"react\";\nimport { User } from \"lucide-react\";\nimport { AvatarSize, AvatarStatus } from \"../../constants/enum\";\nimport { avatarVariants, type AvatarVariants } from \"./avatar.variants\";\nimport { cn } from \"../../utils/cn\";\n\nconst ICON_SIZE_MAP: Record<AvatarSize, number> = {\n [AvatarSize.Sm]: 16,\n [AvatarSize.Md]: 20,\n [AvatarSize.Lg]: 24,\n [AvatarSize.Xl]: 32,\n};\n\nexport interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {\n src?: string;\n alt?: string;\n initials?: string;\n fallbackIcon?: React.ReactNode;\n size?: AvatarSize;\n status?: AvatarStatus;\n className?: string;\n}\n\nconst Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n src,\n alt = \"\",\n initials,\n fallbackIcon,\n size = AvatarSize.Md,\n status,\n className,\n ...props\n },\n ref\n ) => {\n const [imgError, setImgError] = React.useState(false);\n\n React.useEffect(() => {\n setImgError(false);\n }, [src]);\n\n const showImage = src && !imgError;\n const showIndicator = status === AvatarStatus.Online;\n\n return (\n <div\n ref={ref}\n className={cn(avatarVariants({ size }), className)}\n role=\"img\"\n aria-label={alt || initials || \"Avatar\"}\n {...props}\n >\n {showImage ? (\n <span className=\"kz-avatar-image\">\n <img\n src={src}\n alt={alt}\n className=\"h-full w-full object-cover\"\n onError={() => setImgError(true)}\n draggable={false}\n />\n </span>\n ) : initials ? (\n <span className=\"kz-avatar-initials\" aria-hidden=\"true\">\n {initials}\n </span>\n ) : (\n <span className=\"kz-avatar-fallback-icon\" aria-hidden=\"true\">\n {fallbackIcon ?? <User size={ICON_SIZE_MAP[size]} />}\n </span>\n )}\n\n {showIndicator && (\n <span\n className={cn(\"kz-avatar-status\", `kz-avatar-status--${size}`)}\n aria-label=\"Online\"\n role=\"status\"\n />\n )}\n </div>\n );\n }\n);\n\nAvatar.displayName = \"Avatar\";\n\nexport { Avatar, avatarVariants };\nexport type { AvatarVariants };\n","export enum Theme {\n Light = \"light\",\n Dark = \"dark\",\n}\n\nexport enum ThemeStyle {\n Enterprise = \"enterprise\",\n Neumorphic = \"neumorphic\",\n Standard = \"standard\",\n Glassmorphic = \"glassmorphic\",\n}\n\nexport enum KezelVariant {\n Standard = \"standard\",\n Neumorphic = \"neumorphic\",\n}\n\nexport enum KezelMode {\n Light,\n Dark,\n}\n\nexport enum ButtonVariant {\n Primary = \"primary\",\n Ghost = \"ghost\",\n Container = \"container\",\n}\n\nexport enum ButtonStatus {\n Default = \"default\",\n Brand = \"brand\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n Info = \"info\",\n}\n\nexport enum ButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ButtonType {\n Button = \"button\",\n Submit = \"submit\",\n Reset = \"reset\",\n}\n\nexport enum ButtonAspectRatio {\n Auto = \"auto\",\n Square = \"square\",\n}\n\nexport enum DropdownTriggerVariant {\n Default = \"default\",\n Ghost = \"ghost\",\n}\n\nexport enum TypographyVariant {\n H1 = \"h1\",\n H2 = \"h2\",\n H3 = \"h3\",\n H4 = \"h4\",\n H5 = \"h5\",\n Body = \"body\",\n Small = \"small\",\n Caption = \"caption\",\n Label = \"label\",\n Link = \"link\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TypographyTone {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Muted = \"muted\",\n Disabled = \"disabled\",\n Inverse = \"inverse\",\n Link = \"link\",\n}\n\nexport enum TypographyAlign {\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n}\n\nexport enum TypographyWeight {\n Regular = \"regular\",\n Medium = \"medium\",\n Semibold = \"semibold\",\n Bold = \"bold\",\n}\n\nexport enum TokenCategory {\n Color = \"color\",\n Shadow = \"shadow\",\n Length = \"length\",\n Number = \"number\",\n LineHeight = \"lineHeight\",\n FontFamily = \"fontFamily\",\n FontWeight = \"fontWeight\",\n Duration = \"duration\",\n Easing = \"easing\",\n}\n\nexport enum OverrideMode {\n Safe = \"safe\",\n Strict = \"strict\",\n}\n\nexport enum TextInputVariant {\n Default = \"default\",\n Container = \"container\",\n Ghost = \"ghost\",\n}\n\nexport enum TextInputSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TextInputState {\n Default = \"default\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TextInputType {\n Text = \"text\",\n Email = \"email\",\n Password = \"password\",\n Number = \"number\",\n Search = \"search\",\n Tel = \"tel\",\n Url = \"url\",\n}\n\nexport enum TooltipSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TooltipPosition {\n Top = \"top\",\n Right = \"right\",\n Bottom = \"bottom\",\n Left = \"left\",\n}\n\nexport enum TooltipAlign {\n Start = \"start\",\n Center = \"center\",\n End = \"end\",\n}\n\nexport enum TooltipColor {\n Default = \"default\",\n Inverse = \"inverse\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n}\n\nexport enum ToggleButtonVariant {\n Default = \"default\",\n Primary = \"primary\",\n Container = \"container\",\n}\n\nexport enum ToggleButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxVariant {\n Default = \"default\",\n Container = \"container\",\n}\n\nexport enum RadioSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum AvatarSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n Xl = \"xl\",\n}\n\nexport enum AvatarStatus {\n Online = \"online\",\n Busy = \"busy\",\n Away = \"away\",\n Offline = \"offline\",\n}\n\nexport enum ToastVariant {\n Success = \"success\",\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\",\n}\n\nexport enum CardShadow {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ToastPosition {\n TopRight = \"top-right\",\n TopLeft = \"top-left\",\n BottomRight = \"bottom-right\",\n BottomLeft = \"bottom-left\",\n}\n\nexport enum QrPattern {\n Square = \"square\",\n Circle = \"circle\",\n Diamond = \"diamond\",\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { AvatarSize } from \"../../constants/enum\";\n\nconst base = [\n \"kz-avatar\",\n \"relative inline-flex items-center justify-center\",\n \"rounded-full\",\n \"shrink-0\",\n \"[box-shadow:none]\",\n].join(\" \");\n\nexport const avatarVariants = cva(base, {\n variants: {\n size: {\n [AvatarSize.Sm]: \"size-8 text-xs\",\n [AvatarSize.Md]: \"size-10 text-sm\",\n [AvatarSize.Lg]: \"size-12 text-base\",\n [AvatarSize.Xl]: \"size-16 text-lg\",\n },\n },\n defaultVariants: {\n size: AvatarSize.Md,\n },\n});\n\nexport type AvatarVariants = VariantProps<typeof avatarVariants>;\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AACvB,0BAAqB;;;ACsMd,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AAJK,SAAAA;AAAA,GAAA;AAOL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;;;AC9MZ,sCAAuC;AAGvC,IAAM,OAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAEH,IAAM,qBAAiB,qCAAI,MAAM;AAAA,EACtC,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,IACnB;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf;AAAA,EACF;AACF,CAAC;;;ACvBD,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AH0CM;AAzCN,IAAM,gBAA4C;AAAA,EAChD,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AACnB;AAYA,IAAM,SAAe;AAAA,EACnB,CACE;AAAA,IACE;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,CAAC,UAAU,WAAW,IAAU,eAAS,KAAK;AAEpD,IAAM,gBAAU,MAAM;AACpB,kBAAY,KAAK;AAAA,IACnB,GAAG,CAAC,GAAG,CAAC;AAER,UAAM,YAAY,OAAO,CAAC;AAC1B,UAAM,gBAAgB;AAEtB,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,eAAe,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,QACjD,MAAK;AAAA,QACL,cAAY,OAAO,YAAY;AAAA,QAC9B,GAAG;AAAA,QAEH;AAAA,sBACC,4CAAC,UAAK,WAAU,mBACd;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,WAAU;AAAA,cACV,SAAS,MAAM,YAAY,IAAI;AAAA,cAC/B,WAAW;AAAA;AAAA,UACb,GACF,IACE,WACF,4CAAC,UAAK,WAAU,sBAAqB,eAAY,QAC9C,oBACH,IAEA,4CAAC,UAAK,WAAU,2BAA0B,eAAY,QACnD,0BAAgB,4CAAC,4BAAK,MAAM,cAAc,IAAI,GAAG,GACpD;AAAA,UAGD,iBACC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,GAAG,oBAAoB,qBAAqB,IAAI,EAAE;AAAA,cAC7D,cAAW;AAAA,cACX,MAAK;AAAA;AAAA,UACP;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;","names":["AvatarSize","AvatarStatus"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/avatar/Avatar.tsx","../src/constants/enum.ts","../src/components/avatar/avatar.variants.ts","../src/utils/cn.ts"],"sourcesContent":["import * as React from \"react\";\nimport { User } from \"lucide-react\";\nimport { AvatarSize, AvatarStatus } from \"../../constants/enum\";\nimport { avatarVariants, type AvatarVariants } from \"./avatar.variants\";\nimport { cn } from \"../../utils/cn\";\n\nconst ICON_SIZE_MAP: Record<AvatarSize, number> = {\n [AvatarSize.Sm]: 16,\n [AvatarSize.Md]: 20,\n [AvatarSize.Lg]: 24,\n [AvatarSize.Xl]: 32,\n};\n\nexport interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {\n src?: string;\n alt?: string;\n initials?: string;\n fallbackIcon?: React.ReactNode;\n size?: AvatarSize;\n status?: AvatarStatus;\n className?: string;\n}\n\nconst Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n src,\n alt = \"\",\n initials,\n fallbackIcon,\n size = AvatarSize.Md,\n status,\n className,\n ...props\n },\n ref\n ) => {\n const [imgError, setImgError] = React.useState(false);\n\n React.useEffect(() => {\n setImgError(false);\n }, [src]);\n\n const showImage = src && !imgError;\n const showIndicator = status === AvatarStatus.Online;\n\n return (\n <div\n ref={ref}\n className={cn(avatarVariants({ size }), className)}\n role=\"img\"\n aria-label={alt || initials || \"Avatar\"}\n {...props}\n >\n {showImage ? (\n <span className=\"kz-avatar-image\">\n <img\n src={src}\n alt={alt}\n className=\"h-full w-full object-cover\"\n onError={() => setImgError(true)}\n draggable={false}\n />\n </span>\n ) : initials ? (\n <span className=\"kz-avatar-initials\" aria-hidden=\"true\">\n {initials}\n </span>\n ) : (\n <span className=\"kz-avatar-fallback-icon\" aria-hidden=\"true\">\n {fallbackIcon ?? <User size={ICON_SIZE_MAP[size]} />}\n </span>\n )}\n\n {showIndicator && (\n <span\n className={cn(\"kz-avatar-status\", `kz-avatar-status--${size}`)}\n aria-label=\"Online\"\n role=\"status\"\n />\n )}\n </div>\n );\n }\n);\n\nAvatar.displayName = \"Avatar\";\n\nexport { Avatar, avatarVariants };\nexport type { AvatarVariants };\n","export enum Theme {\n Light = \"light\",\n Dark = \"dark\",\n}\n\nexport enum ThemeStyle {\n Enterprise = \"enterprise\",\n Neumorphic = \"neumorphic\",\n Standard = \"standard\",\n Glassmorphic = \"glassmorphic\",\n}\n\nexport enum KezelVariant {\n Standard = \"standard\",\n Neumorphic = \"neumorphic\",\n}\n\nexport enum KezelMode {\n Light,\n Dark,\n}\n\nexport enum ButtonVariant {\n Primary = \"primary\",\n Ghost = \"ghost\",\n Container = \"container\",\n}\n\nexport enum ButtonStatus {\n Brand = \"brand\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n Info = \"info\",\n}\n\nexport enum ButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ButtonType {\n Button = \"button\",\n Submit = \"submit\",\n Reset = \"reset\",\n}\n\nexport enum ButtonAspectRatio {\n Auto = \"auto\",\n Square = \"square\",\n}\n\nexport enum DropdownTriggerVariant {\n Default = \"default\",\n Ghost = \"ghost\",\n}\n\nexport enum TypographyVariant {\n H1 = \"h1\",\n H2 = \"h2\",\n H3 = \"h3\",\n H4 = \"h4\",\n H5 = \"h5\",\n Body = \"body\",\n Small = \"small\",\n Caption = \"caption\",\n Label = \"label\",\n Link = \"link\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TypographyTone {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Muted = \"muted\",\n Disabled = \"disabled\",\n Inverse = \"inverse\",\n Link = \"link\",\n}\n\nexport enum TypographyAlign {\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n}\n\nexport enum TypographyWeight {\n Regular = \"regular\",\n Medium = \"medium\",\n Semibold = \"semibold\",\n Bold = \"bold\",\n}\n\nexport enum TokenCategory {\n Color = \"color\",\n Shadow = \"shadow\",\n Length = \"length\",\n Number = \"number\",\n LineHeight = \"lineHeight\",\n FontFamily = \"fontFamily\",\n FontWeight = \"fontWeight\",\n Duration = \"duration\",\n Easing = \"easing\",\n}\n\nexport enum OverrideMode {\n Safe = \"safe\",\n Strict = \"strict\",\n}\n\nexport enum TextInputVariant {\n Default = \"default\",\n Container = \"container\",\n Ghost = \"ghost\",\n}\n\nexport enum TextInputSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TextInputState {\n Default = \"default\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TextInputType {\n Text = \"text\",\n Email = \"email\",\n Password = \"password\",\n Number = \"number\",\n Search = \"search\",\n Tel = \"tel\",\n Url = \"url\",\n}\n\nexport enum TooltipSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TooltipPosition {\n Top = \"top\",\n Right = \"right\",\n Bottom = \"bottom\",\n Left = \"left\",\n}\n\nexport enum TooltipAlign {\n Start = \"start\",\n Center = \"center\",\n End = \"end\",\n}\n\nexport enum TooltipColor {\n Default = \"default\",\n Inverse = \"inverse\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n}\n\nexport enum ToggleButtonVariant {\n Default = \"default\",\n Primary = \"primary\",\n Container = \"container\",\n}\n\nexport enum ToggleButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxVariant {\n Default = \"default\",\n Container = \"container\",\n}\n\nexport enum RadioSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum AvatarSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n Xl = \"xl\",\n}\n\nexport enum AvatarStatus {\n Online = \"online\",\n Busy = \"busy\",\n Away = \"away\",\n Offline = \"offline\",\n}\n\nexport enum ToastVariant {\n Success = \"success\",\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\",\n}\n\nexport enum CardShadow {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ToastPosition {\n TopRight = \"top-right\",\n TopLeft = \"top-left\",\n BottomRight = \"bottom-right\",\n BottomLeft = \"bottom-left\",\n}\n\nexport enum QrPattern {\n Square = \"square\",\n Circle = \"circle\",\n Diamond = \"diamond\",\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { AvatarSize } from \"../../constants/enum\";\n\nconst base = [\n \"kz-avatar\",\n \"relative inline-flex items-center justify-center\",\n \"rounded-full\",\n \"shrink-0\",\n \"[box-shadow:none]\",\n].join(\" \");\n\nexport const avatarVariants = cva(base, {\n variants: {\n size: {\n [AvatarSize.Sm]: \"size-8 text-xs\",\n [AvatarSize.Md]: \"size-10 text-sm\",\n [AvatarSize.Lg]: \"size-12 text-base\",\n [AvatarSize.Xl]: \"size-16 text-lg\",\n },\n },\n defaultVariants: {\n size: AvatarSize.Md,\n },\n});\n\nexport type AvatarVariants = VariantProps<typeof avatarVariants>;\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"],"mappings":";AAAA,YAAY,WAAW;AACvB,SAAS,YAAY;;;ACqMd,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AAJK,SAAAA;AAAA,GAAA;AAOL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;;;AC7MZ,SAAS,WAA8B;AAGvC,IAAM,OAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAEH,IAAM,iBAAiB,IAAI,MAAM;AAAA,EACtC,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,IACnB;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf;AAAA,EACF;AACF,CAAC;;;ACvBD,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;AH0CM,SASM,KATN;AAzCN,IAAM,gBAA4C;AAAA,EAChD,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AACnB;AAYA,IAAM,SAAe;AAAA,EACnB,CACE;AAAA,IACE;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,CAAC,UAAU,WAAW,IAAU,eAAS,KAAK;AAEpD,IAAM,gBAAU,MAAM;AACpB,kBAAY,KAAK;AAAA,IACnB,GAAG,CAAC,GAAG,CAAC;AAER,UAAM,YAAY,OAAO,CAAC;AAC1B,UAAM,gBAAgB;AAEtB,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,eAAe,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,QACjD,MAAK;AAAA,QACL,cAAY,OAAO,YAAY;AAAA,QAC9B,GAAG;AAAA,QAEH;AAAA,sBACC,oBAAC,UAAK,WAAU,mBACd;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,WAAU;AAAA,cACV,SAAS,MAAM,YAAY,IAAI;AAAA,cAC/B,WAAW;AAAA;AAAA,UACb,GACF,IACE,WACF,oBAAC,UAAK,WAAU,sBAAqB,eAAY,QAC9C,oBACH,IAEA,oBAAC,UAAK,WAAU,2BAA0B,eAAY,QACnD,0BAAgB,oBAAC,QAAK,MAAM,cAAc,IAAI,GAAG,GACpD;AAAA,UAGD,iBACC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,GAAG,oBAAoB,qBAAqB,IAAI,EAAE;AAAA,cAC7D,cAAW;AAAA,cACX,MAAK;AAAA;AAAA,UACP;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;","names":["AvatarSize","AvatarStatus"]}
1
+ {"version":3,"sources":["../src/components/avatar/Avatar.tsx","../src/constants/enum.ts","../src/components/avatar/avatar.variants.ts","../src/utils/cn.ts"],"sourcesContent":["import * as React from \"react\";\nimport { User } from \"lucide-react\";\nimport { AvatarSize, AvatarStatus } from \"../../constants/enum\";\nimport { avatarVariants, type AvatarVariants } from \"./avatar.variants\";\nimport { cn } from \"../../utils/cn\";\n\nconst ICON_SIZE_MAP: Record<AvatarSize, number> = {\n [AvatarSize.Sm]: 16,\n [AvatarSize.Md]: 20,\n [AvatarSize.Lg]: 24,\n [AvatarSize.Xl]: 32,\n};\n\nexport interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {\n src?: string;\n alt?: string;\n initials?: string;\n fallbackIcon?: React.ReactNode;\n size?: AvatarSize;\n status?: AvatarStatus;\n className?: string;\n}\n\nconst Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n src,\n alt = \"\",\n initials,\n fallbackIcon,\n size = AvatarSize.Md,\n status,\n className,\n ...props\n },\n ref\n ) => {\n const [imgError, setImgError] = React.useState(false);\n\n React.useEffect(() => {\n setImgError(false);\n }, [src]);\n\n const showImage = src && !imgError;\n const showIndicator = status === AvatarStatus.Online;\n\n return (\n <div\n ref={ref}\n className={cn(avatarVariants({ size }), className)}\n role=\"img\"\n aria-label={alt || initials || \"Avatar\"}\n {...props}\n >\n {showImage ? (\n <span className=\"kz-avatar-image\">\n <img\n src={src}\n alt={alt}\n className=\"h-full w-full object-cover\"\n onError={() => setImgError(true)}\n draggable={false}\n />\n </span>\n ) : initials ? (\n <span className=\"kz-avatar-initials\" aria-hidden=\"true\">\n {initials}\n </span>\n ) : (\n <span className=\"kz-avatar-fallback-icon\" aria-hidden=\"true\">\n {fallbackIcon ?? <User size={ICON_SIZE_MAP[size]} />}\n </span>\n )}\n\n {showIndicator && (\n <span\n className={cn(\"kz-avatar-status\", `kz-avatar-status--${size}`)}\n aria-label=\"Online\"\n role=\"status\"\n />\n )}\n </div>\n );\n }\n);\n\nAvatar.displayName = \"Avatar\";\n\nexport { Avatar, avatarVariants };\nexport type { AvatarVariants };\n","export enum Theme {\n Light = \"light\",\n Dark = \"dark\",\n}\n\nexport enum ThemeStyle {\n Enterprise = \"enterprise\",\n Neumorphic = \"neumorphic\",\n Standard = \"standard\",\n Glassmorphic = \"glassmorphic\",\n}\n\nexport enum KezelVariant {\n Standard = \"standard\",\n Neumorphic = \"neumorphic\",\n}\n\nexport enum KezelMode {\n Light,\n Dark,\n}\n\nexport enum ButtonVariant {\n Primary = \"primary\",\n Ghost = \"ghost\",\n Container = \"container\",\n}\n\nexport enum ButtonStatus {\n Default = \"default\",\n Brand = \"brand\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n Info = \"info\",\n}\n\nexport enum ButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ButtonType {\n Button = \"button\",\n Submit = \"submit\",\n Reset = \"reset\",\n}\n\nexport enum ButtonAspectRatio {\n Auto = \"auto\",\n Square = \"square\",\n}\n\nexport enum DropdownTriggerVariant {\n Default = \"default\",\n Ghost = \"ghost\",\n}\n\nexport enum TypographyVariant {\n H1 = \"h1\",\n H2 = \"h2\",\n H3 = \"h3\",\n H4 = \"h4\",\n H5 = \"h5\",\n Body = \"body\",\n Small = \"small\",\n Caption = \"caption\",\n Label = \"label\",\n Link = \"link\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TypographyTone {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Muted = \"muted\",\n Disabled = \"disabled\",\n Inverse = \"inverse\",\n Link = \"link\",\n}\n\nexport enum TypographyAlign {\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n}\n\nexport enum TypographyWeight {\n Regular = \"regular\",\n Medium = \"medium\",\n Semibold = \"semibold\",\n Bold = \"bold\",\n}\n\nexport enum TokenCategory {\n Color = \"color\",\n Shadow = \"shadow\",\n Length = \"length\",\n Number = \"number\",\n LineHeight = \"lineHeight\",\n FontFamily = \"fontFamily\",\n FontWeight = \"fontWeight\",\n Duration = \"duration\",\n Easing = \"easing\",\n}\n\nexport enum OverrideMode {\n Safe = \"safe\",\n Strict = \"strict\",\n}\n\nexport enum TextInputVariant {\n Default = \"default\",\n Container = \"container\",\n Ghost = \"ghost\",\n}\n\nexport enum TextInputSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TextInputState {\n Default = \"default\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TextInputType {\n Text = \"text\",\n Email = \"email\",\n Password = \"password\",\n Number = \"number\",\n Search = \"search\",\n Tel = \"tel\",\n Url = \"url\",\n}\n\nexport enum TooltipSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TooltipPosition {\n Top = \"top\",\n Right = \"right\",\n Bottom = \"bottom\",\n Left = \"left\",\n}\n\nexport enum TooltipAlign {\n Start = \"start\",\n Center = \"center\",\n End = \"end\",\n}\n\nexport enum TooltipColor {\n Default = \"default\",\n Inverse = \"inverse\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n}\n\nexport enum ToggleButtonVariant {\n Default = \"default\",\n Primary = \"primary\",\n Container = \"container\",\n}\n\nexport enum ToggleButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxVariant {\n Default = \"default\",\n Container = \"container\",\n}\n\nexport enum RadioSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum AvatarSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n Xl = \"xl\",\n}\n\nexport enum AvatarStatus {\n Online = \"online\",\n Busy = \"busy\",\n Away = \"away\",\n Offline = \"offline\",\n}\n\nexport enum ToastVariant {\n Success = \"success\",\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\",\n}\n\nexport enum CardShadow {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ToastPosition {\n TopRight = \"top-right\",\n TopLeft = \"top-left\",\n BottomRight = \"bottom-right\",\n BottomLeft = \"bottom-left\",\n}\n\nexport enum QrPattern {\n Square = \"square\",\n Circle = \"circle\",\n Diamond = \"diamond\",\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { AvatarSize } from \"../../constants/enum\";\n\nconst base = [\n \"kz-avatar\",\n \"relative inline-flex items-center justify-center\",\n \"rounded-full\",\n \"shrink-0\",\n \"[box-shadow:none]\",\n].join(\" \");\n\nexport const avatarVariants = cva(base, {\n variants: {\n size: {\n [AvatarSize.Sm]: \"size-8 text-xs\",\n [AvatarSize.Md]: \"size-10 text-sm\",\n [AvatarSize.Lg]: \"size-12 text-base\",\n [AvatarSize.Xl]: \"size-16 text-lg\",\n },\n },\n defaultVariants: {\n size: AvatarSize.Md,\n },\n});\n\nexport type AvatarVariants = VariantProps<typeof avatarVariants>;\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"],"mappings":";AAAA,YAAY,WAAW;AACvB,SAAS,YAAY;;;ACsMd,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AAJK,SAAAA;AAAA,GAAA;AAOL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;;;AC9MZ,SAAS,WAA8B;AAGvC,IAAM,OAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAEH,IAAM,iBAAiB,IAAI,MAAM;AAAA,EACtC,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,MACjB,cAAc,GAAG;AAAA,IACnB;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf;AAAA,EACF;AACF,CAAC;;;ACvBD,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;AH0CM,SASM,KATN;AAzCN,IAAM,gBAA4C;AAAA,EAChD,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AAAA,EACjB,cAAc,GAAG;AACnB;AAYA,IAAM,SAAe;AAAA,EACnB,CACE;AAAA,IACE;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,CAAC,UAAU,WAAW,IAAU,eAAS,KAAK;AAEpD,IAAM,gBAAU,MAAM;AACpB,kBAAY,KAAK;AAAA,IACnB,GAAG,CAAC,GAAG,CAAC;AAER,UAAM,YAAY,OAAO,CAAC;AAC1B,UAAM,gBAAgB;AAEtB,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,eAAe,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,QACjD,MAAK;AAAA,QACL,cAAY,OAAO,YAAY;AAAA,QAC9B,GAAG;AAAA,QAEH;AAAA,sBACC,oBAAC,UAAK,WAAU,mBACd;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,WAAU;AAAA,cACV,SAAS,MAAM,YAAY,IAAI;AAAA,cAC/B,WAAW;AAAA;AAAA,UACb,GACF,IACE,WACF,oBAAC,UAAK,WAAU,sBAAqB,eAAY,QAC9C,oBACH,IAEA,oBAAC,UAAK,WAAU,2BAA0B,eAAY,QACnD,0BAAgB,oBAAC,QAAK,MAAM,cAAc,IAAI,GAAG,GACpD;AAAA,UAGD,iBACC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,GAAG,oBAAoB,qBAAqB,IAAI,EAAE;AAAA,cAC7D,cAAW;AAAA,cACX,MAAK;AAAA;AAAA,UACP;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;","names":["AvatarSize","AvatarStatus"]}
package/dist/button.d.mts CHANGED
@@ -1,11 +1,14 @@
1
1
  import * as React from 'react';
2
- import { e as ButtonVariant, b as ButtonSize, c as ButtonStatus, d as ButtonType, B as ButtonAspectRatio } from './enum-BXb6AbOQ.mjs';
2
+ import { e as ButtonVariant, b as ButtonSize, c as ButtonStatus, d as ButtonType, B as ButtonAspectRatio } from './enum-D-4EiT-9.mjs';
3
+ import { IconProps } from './icon.mjs';
3
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
5
  import { VariantProps } from 'class-variance-authority';
6
+ import './icon-registry-YZFYW-mt.mjs';
7
+ import 'lucide-react';
5
8
 
6
9
  declare const buttonVariants: (props?: ({
7
10
  variant?: "primary" | "ghost" | "container" | null | undefined;
8
- status?: "brand" | "success" | "warning" | "error" | "info" | null | undefined;
11
+ status?: "default" | "brand" | "success" | "warning" | "error" | "info" | null | undefined;
9
12
  size?: "sm" | "md" | "lg" | null | undefined;
10
13
  } & class_variance_authority_types.ClassProp) | undefined) => string;
11
14
  type ButtonVariants = VariantProps<typeof buttonVariants>;
@@ -20,6 +23,8 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
20
23
  type?: ButtonType;
21
24
  loading?: boolean;
22
25
  aspectRatio?: ButtonAspectRatio;
26
+ leftIcon?: IconProps;
27
+ rightIcon?: IconProps;
23
28
  }
24
29
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
25
30
 
package/dist/button.d.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  import * as React from 'react';
2
- import { e as ButtonVariant, b as ButtonSize, c as ButtonStatus, d as ButtonType, B as ButtonAspectRatio } from './enum-BXb6AbOQ.js';
2
+ import { e as ButtonVariant, b as ButtonSize, c as ButtonStatus, d as ButtonType, B as ButtonAspectRatio } from './enum-D-4EiT-9.js';
3
+ import { IconProps } from './icon.js';
3
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
5
  import { VariantProps } from 'class-variance-authority';
6
+ import './icon-registry-YZFYW-mt.js';
7
+ import 'lucide-react';
5
8
 
6
9
  declare const buttonVariants: (props?: ({
7
10
  variant?: "primary" | "ghost" | "container" | null | undefined;
8
- status?: "brand" | "success" | "warning" | "error" | "info" | null | undefined;
11
+ status?: "default" | "brand" | "success" | "warning" | "error" | "info" | null | undefined;
9
12
  size?: "sm" | "md" | "lg" | null | undefined;
10
13
  } & class_variance_authority_types.ClassProp) | undefined) => string;
11
14
  type ButtonVariants = VariantProps<typeof buttonVariants>;
@@ -20,6 +23,8 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
20
23
  type?: ButtonType;
21
24
  loading?: boolean;
22
25
  aspectRatio?: ButtonAspectRatio;
26
+ leftIcon?: IconProps;
27
+ rightIcon?: IconProps;
23
28
  }
24
29
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
25
30
 
package/dist/button.js CHANGED
@@ -41,7 +41,7 @@ __export(button_exports, {
41
41
  module.exports = __toCommonJS(button_exports);
42
42
 
43
43
  // src/components/button/Button.tsx
44
- var React = __toESM(require("react"));
44
+ var React2 = __toESM(require("react"));
45
45
  var import_react_slot = require("@radix-ui/react-slot");
46
46
 
47
47
  // src/constants/enum.ts
@@ -52,6 +52,7 @@ var ButtonVariant = /* @__PURE__ */ ((ButtonVariant2) => {
52
52
  return ButtonVariant2;
53
53
  })(ButtonVariant || {});
54
54
  var ButtonStatus = /* @__PURE__ */ ((ButtonStatus2) => {
55
+ ButtonStatus2["Default"] = "default";
55
56
  ButtonStatus2["Brand"] = "brand";
56
57
  ButtonStatus2["Success"] = "success";
57
58
  ButtonStatus2["Warning"] = "warning";
@@ -93,6 +94,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(base, {
93
94
  "bg-[var(--kz-component-button-secondary-bg)]",
94
95
  "text-[var(--kz-component-button-secondary-text)]",
95
96
  "rounded-[var(--kz-component-button-radius,8px)]",
97
+ "[border:var(--kz-component-button-secondary-border,none)]",
96
98
  "[box-shadow:var(--kz-component-button-secondary-shadow,none)]",
97
99
  "hover:bg-[var(--kz-component-button-secondary-bg-hover)]",
98
100
  "hover:[box-shadow:var(--kz-component-button-secondary-shadow-hover,var(--kz-component-button-secondary-shadow,none))]",
@@ -118,6 +120,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(base, {
118
120
  ].join(" ")
119
121
  },
120
122
  status: {
123
+ default: "",
121
124
  brand: [
122
125
  "bg-[var(--kz-component-button-brand-bg)]",
123
126
  "text-[var(--kz-component-button-brand-text)]",
@@ -293,7 +296,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(base, {
293
296
  });
294
297
 
295
298
  // src/components/button/Button.tsx
296
- var import_lucide_react = require("lucide-react");
299
+ var import_lucide_react2 = require("lucide-react");
297
300
 
298
301
  // src/icon/icon-sizes.ts
299
302
  var iconSize = {
@@ -311,9 +314,142 @@ function cn(...inputs) {
311
314
  return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
312
315
  }
313
316
 
314
- // src/components/button/Button.tsx
317
+ // src/icon/Icon.tsx
318
+ var React = __toESM(require("react"));
319
+
320
+ // src/icon/icon-registry.tsx
321
+ var import_lucide_react = require("lucide-react");
322
+ var iconRegistry = {
323
+ ["search" /* Search */]: import_lucide_react.Search,
324
+ ["circle-alert" /* CircleAlert */]: import_lucide_react.CircleAlert,
325
+ ["check-circle" /* CheckCircle */]: import_lucide_react.CheckCircle,
326
+ ["triangle-alert" /* TriangleAlert */]: import_lucide_react.TriangleAlert,
327
+ ["loader-2" /* Loader2 */]: import_lucide_react.Loader2,
328
+ ["chevron-down" /* ChevronDown */]: import_lucide_react.ChevronDown,
329
+ ["chevron-left" /* ChevronLeft */]: import_lucide_react.ChevronLeft,
330
+ ["chevron-right" /* ChevronRight */]: import_lucide_react.ChevronRight,
331
+ ["bar-chart-2" /* BarChart2 */]: import_lucide_react.BarChart2,
332
+ ["shield" /* Shield */]: import_lucide_react.Shield,
333
+ ["arrow-left" /* ArrowLeft */]: import_lucide_react.ArrowLeft,
334
+ ["arrow-up" /* ArrowUp */]: import_lucide_react.ArrowUp,
335
+ ["arrow-down" /* ArrowDown */]: import_lucide_react.ArrowDown,
336
+ ["arrow-up-down" /* ArrowUpDown */]: import_lucide_react.ArrowUpDown,
337
+ ["ellipsis-vertical" /* EllipsisVertical */]: import_lucide_react.EllipsisVertical,
338
+ ["sun" /* Sun */]: import_lucide_react.Sun,
339
+ ["moon" /* Moon */]: import_lucide_react.Moon,
340
+ ["log-out" /* LogOut */]: import_lucide_react.LogOut,
341
+ ["settings" /* Settings */]: import_lucide_react.Settings,
342
+ ["user" /* User */]: import_lucide_react.User,
343
+ ["file-text" /* FileText */]: import_lucide_react.FileText,
344
+ ["lock-open" /* LockOpen */]: import_lucide_react.LockOpen,
345
+ ["calendar" /* Calendar */]: import_lucide_react.Calendar,
346
+ ["chart-area" /* ChartArea */]: import_lucide_react.ChartArea,
347
+ ["chart-bar" /* ChartBar */]: import_lucide_react.ChartBar,
348
+ ["chart-bar-big" /* ChartBarBig */]: import_lucide_react.ChartBarBig,
349
+ ["chart-bar-decreasing" /* ChartBarDecreasing */]: import_lucide_react.ChartBarDecreasing,
350
+ ["chart-bar-increasing" /* ChartBarIncreasing */]: import_lucide_react.ChartBarIncreasing,
351
+ ["chart-bar-stacked" /* ChartBarStacked */]: import_lucide_react.ChartBarStacked,
352
+ ["chart-candlestick" /* ChartCandlestick */]: import_lucide_react.ChartCandlestick,
353
+ ["chart-column" /* ChartColumn */]: import_lucide_react.ChartColumn,
354
+ ["chart-column-big" /* ChartColumnBig */]: import_lucide_react.ChartColumnBig,
355
+ ["chart-column-decreasing" /* ChartColumnDecreasing */]: import_lucide_react.ChartColumnDecreasing,
356
+ ["chart-column-increasing" /* ChartColumnIncreasing */]: import_lucide_react.ChartColumnIncreasing,
357
+ ["chart-column-stacked" /* ChartColumnStacked */]: import_lucide_react.ChartColumnStacked,
358
+ ["chart-gantt" /* ChartGantt */]: import_lucide_react.ChartGantt,
359
+ ["chart-line" /* ChartLine */]: import_lucide_react.ChartLine,
360
+ ["chart-network" /* ChartNetwork */]: import_lucide_react.ChartNetwork,
361
+ ["chart-no-axes-column" /* ChartNoAxesColumn */]: import_lucide_react.ChartNoAxesColumn,
362
+ ["chart-no-axes-column-decreasing" /* ChartNoAxesColumnDecreasing */]: import_lucide_react.ChartNoAxesColumnDecreasing,
363
+ ["chart-no-axes-column-increasing" /* ChartNoAxesColumnIncreasing */]: import_lucide_react.ChartNoAxesColumnIncreasing,
364
+ ["chart-no-axes-combined" /* ChartNoAxesCombined */]: import_lucide_react.ChartNoAxesCombined,
365
+ ["chart-no-axes-gantt" /* ChartNoAxesGantt */]: import_lucide_react.ChartNoAxesGantt,
366
+ ["chart-pie" /* ChartPie */]: import_lucide_react.ChartPie,
367
+ ["chart-scatter" /* ChartScatter */]: import_lucide_react.ChartScatter,
368
+ ["chart-spline" /* ChartSpline */]: import_lucide_react.ChartSpline,
369
+ ["folder-kanban" /* FolderKanban */]: import_lucide_react.FolderKanban,
370
+ ["kanban" /* Kanban */]: import_lucide_react.Kanban,
371
+ ["square-chart-gantt" /* SquareChartGantt */]: import_lucide_react.SquareChartGantt,
372
+ ["square-dashed-kanban" /* SquareDashedKanban */]: import_lucide_react.SquareDashedKanban,
373
+ ["square-kanban" /* SquareKanban */]: import_lucide_react.SquareKanban,
374
+ ["trending-down" /* TrendingDown */]: import_lucide_react.TrendingDown,
375
+ ["trending-up" /* TrendingUp */]: import_lucide_react.TrendingUp,
376
+ ["trending-up-down" /* TrendingUpDown */]: import_lucide_react.TrendingUpDown,
377
+ ["atom" /* Atom */]: import_lucide_react.Atom,
378
+ ["git-branch" /* GitBranch */]: import_lucide_react.GitBranch,
379
+ ["clipboard" /* Clipboard */]: import_lucide_react.Clipboard,
380
+ ["palette" /* Palette */]: import_lucide_react.Palette,
381
+ ["gauge" /* Gauge */]: import_lucide_react.Gauge,
382
+ ["filter" /* Filter */]: import_lucide_react.Filter,
383
+ ["grid-3x3" /* Grid3x3 */]: import_lucide_react.Grid3x3,
384
+ ["radio-tower" /* RadioTower */]: import_lucide_react.RadioTower,
385
+ ["badge-check" /* BadgeCheck */]: import_lucide_react.BadgeCheck,
386
+ ["wallet" /* Wallet */]: import_lucide_react.Wallet,
387
+ ["dollar-sign" /* DollarSign */]: import_lucide_react.DollarSign,
388
+ ["plus" /* Plus */]: import_lucide_react.Plus,
389
+ ["building-2" /* Building2 */]: import_lucide_react.Building2,
390
+ ["x" /* X */]: import_lucide_react.X,
391
+ ["file-plus" /* FilePlus */]: import_lucide_react.FilePlus,
392
+ ["user-plus-2" /* UserPlus2 */]: import_lucide_react.UserPlus2,
393
+ ["user-round-plus" /* UserRoundPlus */]: import_lucide_react.UserRoundPlus,
394
+ ["list" /* List */]: import_lucide_react.List,
395
+ ["alert-circle" /* AlertCircle */]: import_lucide_react.CircleAlert,
396
+ ["layers" /* Layers */]: import_lucide_react.Layers,
397
+ ["badge" /* Badge */]: import_lucide_react.Badge,
398
+ ["map-pin" /* MapPin */]: import_lucide_react.MapPin,
399
+ ["puzzle" /* Puzzle */]: import_lucide_react.Puzzle,
400
+ ["globe" /* Globe */]: import_lucide_react.Globe,
401
+ ["shopping-bag" /* ShoppingBag */]: import_lucide_react.ShoppingBag,
402
+ ["qr-code" /* QrCode */]: import_lucide_react.QrCode,
403
+ ["brush" /* Brush */]: import_lucide_react.Brush,
404
+ ["file-spreadsheet" /* FileSpreadsheet */]: import_lucide_react.FileSpreadsheet,
405
+ ["tag" /* Tag */]: import_lucide_react.Tag,
406
+ ["scan" /* Scan */]: import_lucide_react.Scan,
407
+ ["clock-3" /* Clock3 */]: import_lucide_react.Clock3,
408
+ ["user-plus" /* UserPlus */]: import_lucide_react.UserPlus,
409
+ ["users" /* Users */]: import_lucide_react.Users,
410
+ ["files" /* Files */]: import_lucide_react.Files,
411
+ ["group" /* Group */]: import_lucide_react.Group,
412
+ ["check-square" /* CheckSquare */]: import_lucide_react.CheckSquare,
413
+ ["clipboard-list" /* ClipboardList */]: import_lucide_react.ClipboardList,
414
+ ["list-todo" /* ListTodo */]: import_lucide_react.ListTodo,
415
+ ["bar-chart-3" /* BarChart3 */]: import_lucide_react.BarChart3,
416
+ ["file-bar-chart" /* FileBarChart */]: import_lucide_react.FileBarChart,
417
+ ["file-search" /* FileSearch */]: import_lucide_react.FileSearch,
418
+ ["lock" /* Lock */]: import_lucide_react.Lock,
419
+ ["settings-2" /* Settings2 */]: import_lucide_react.Settings2,
420
+ ["layout-grid" /* LayoutGrid */]: import_lucide_react.LayoutGrid,
421
+ ["terminal" /* Terminal */]: import_lucide_react.Terminal,
422
+ ["pencil" /* Pencil */]: import_lucide_react.Pencil,
423
+ ["trash-2" /* Trash2 */]: import_lucide_react.Trash2,
424
+ ["eye" /* Eye */]: import_lucide_react.Eye,
425
+ ["eye-off" /* EyeOff */]: import_lucide_react.EyeOff
426
+ };
427
+
428
+ // src/icon/Icon.tsx
315
429
  var import_jsx_runtime = require("react/jsx-runtime");
316
- var Button = React.forwardRef(
430
+ var Icon = React.forwardRef(
431
+ ({ name, size = "md", color, className, ...props }, ref) => {
432
+ const Component = iconRegistry[name];
433
+ if (!Component) return null;
434
+ const sizePx = typeof size === "number" ? size : iconSize[size];
435
+ const resolvedColor = color ?? "var(--kz-color-icon-default, currentColor)";
436
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
437
+ Component,
438
+ {
439
+ ref,
440
+ size: sizePx,
441
+ color: resolvedColor,
442
+ className: cn("shrink-0", className),
443
+ ...props
444
+ }
445
+ );
446
+ }
447
+ );
448
+ Icon.displayName = "Icon";
449
+
450
+ // src/components/button/Button.tsx
451
+ var import_jsx_runtime2 = require("react/jsx-runtime");
452
+ var Button = React2.forwardRef(
317
453
  ({
318
454
  className,
319
455
  variant,
@@ -326,6 +462,8 @@ var Button = React.forwardRef(
326
462
  loading = false,
327
463
  aspectRatio = "auto" /* Auto */,
328
464
  disabled,
465
+ leftIcon,
466
+ rightIcon,
329
467
  ...props
330
468
  }, ref) => {
331
469
  const Comp = asChild ? import_react_slot.Slot : "button";
@@ -337,7 +475,7 @@ var Button = React.forwardRef(
337
475
  className
338
476
  );
339
477
  if (asChild) {
340
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
478
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
341
479
  Comp,
342
480
  {
343
481
  ref,
@@ -351,7 +489,7 @@ var Button = React.forwardRef(
351
489
  }
352
490
  );
353
491
  }
354
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
492
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
355
493
  Comp,
356
494
  {
357
495
  ref,
@@ -362,15 +500,17 @@ var Button = React.forwardRef(
362
500
  "aria-busy": loading,
363
501
  ...props,
364
502
  children: [
365
- loading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
366
- import_lucide_react.Loader2,
503
+ loading && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
504
+ import_lucide_react2.Loader2,
367
505
  {
368
506
  className: "kz-button-spinner",
369
507
  size: iconSize.md,
370
508
  color: "currentColor"
371
509
  }
372
510
  ),
373
- children
511
+ leftIcon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...leftIcon }),
512
+ children,
513
+ rightIcon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...rightIcon })
374
514
  ]
375
515
  }
376
516
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/button/index.ts","../src/components/button/Button.tsx","../src/constants/enum.ts","../src/components/button/button.variants.ts","../src/icon/icon-sizes.ts","../src/utils/cn.ts"],"sourcesContent":["export {\n Button,\n buttonVariants,\n type ButtonProps,\n type ButtonVariants,\n} from \"./Button\";\nexport {\n ButtonVariant,\n ButtonSize,\n ButtonStatus,\n ButtonType,\n ButtonAspectRatio,\n} from \"../../constants/enum\";\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\";\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}\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 ...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 {children}\n </Comp>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\nexport type { ButtonVariants };\n","export enum Theme {\n Light = \"light\",\n Dark = \"dark\",\n}\n\nexport enum ThemeStyle {\n Enterprise = \"enterprise\",\n Neumorphic = \"neumorphic\",\n Standard = \"standard\",\n Glassmorphic = \"glassmorphic\",\n}\n\nexport enum KezelVariant {\n Standard = \"standard\",\n Neumorphic = \"neumorphic\",\n}\n\nexport enum KezelMode {\n Light,\n Dark,\n}\n\nexport enum ButtonVariant {\n Primary = \"primary\",\n Ghost = \"ghost\",\n Container = \"container\",\n}\n\nexport enum ButtonStatus {\n Brand = \"brand\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n Info = \"info\",\n}\n\nexport enum ButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ButtonType {\n Button = \"button\",\n Submit = \"submit\",\n Reset = \"reset\",\n}\n\nexport enum ButtonAspectRatio {\n Auto = \"auto\",\n Square = \"square\",\n}\n\nexport enum DropdownTriggerVariant {\n Default = \"default\",\n Ghost = \"ghost\",\n}\n\nexport enum TypographyVariant {\n H1 = \"h1\",\n H2 = \"h2\",\n H3 = \"h3\",\n H4 = \"h4\",\n H5 = \"h5\",\n Body = \"body\",\n Small = \"small\",\n Caption = \"caption\",\n Label = \"label\",\n Link = \"link\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TypographyTone {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Muted = \"muted\",\n Disabled = \"disabled\",\n Inverse = \"inverse\",\n Link = \"link\",\n}\n\nexport enum TypographyAlign {\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n}\n\nexport enum TypographyWeight {\n Regular = \"regular\",\n Medium = \"medium\",\n Semibold = \"semibold\",\n Bold = \"bold\",\n}\n\nexport enum TokenCategory {\n Color = \"color\",\n Shadow = \"shadow\",\n Length = \"length\",\n Number = \"number\",\n LineHeight = \"lineHeight\",\n FontFamily = \"fontFamily\",\n FontWeight = \"fontWeight\",\n Duration = \"duration\",\n Easing = \"easing\",\n}\n\nexport enum OverrideMode {\n Safe = \"safe\",\n Strict = \"strict\",\n}\n\nexport enum TextInputVariant {\n Default = \"default\",\n Container = \"container\",\n Ghost = \"ghost\",\n}\n\nexport enum TextInputSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TextInputState {\n Default = \"default\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TextInputType {\n Text = \"text\",\n Email = \"email\",\n Password = \"password\",\n Number = \"number\",\n Search = \"search\",\n Tel = \"tel\",\n Url = \"url\",\n}\n\nexport enum TooltipSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TooltipPosition {\n Top = \"top\",\n Right = \"right\",\n Bottom = \"bottom\",\n Left = \"left\",\n}\n\nexport enum TooltipAlign {\n Start = \"start\",\n Center = \"center\",\n End = \"end\",\n}\n\nexport enum TooltipColor {\n Default = \"default\",\n Inverse = \"inverse\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n}\n\nexport enum ToggleButtonVariant {\n Default = \"default\",\n Primary = \"primary\",\n Container = \"container\",\n}\n\nexport enum ToggleButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxVariant {\n Default = \"default\",\n Container = \"container\",\n}\n\nexport enum RadioSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum AvatarSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n Xl = \"xl\",\n}\n\nexport enum AvatarStatus {\n Online = \"online\",\n Busy = \"busy\",\n Away = \"away\",\n Offline = \"offline\",\n}\n\nexport enum ToastVariant {\n Success = \"success\",\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\",\n}\n\nexport enum CardShadow {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ToastPosition {\n TopRight = \"top-right\",\n TopLeft = \"top-left\",\n BottomRight = \"bottom-right\",\n BottomLeft = \"bottom-left\",\n}\n\nexport enum QrPattern {\n Square = \"square\",\n Circle = \"circle\",\n Diamond = \"diamond\",\n}\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 \"[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 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 { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":"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","names":["ButtonVariant","ButtonStatus","ButtonSize","ButtonType","ButtonAspectRatio"]}
1
+ {"version":3,"sources":["../src/components/button/index.ts","../src/components/button/Button.tsx","../src/constants/enum.ts","../src/components/button/button.variants.ts","../src/icon/icon-sizes.ts","../src/utils/cn.ts","../src/icon/Icon.tsx","../src/icon/icon-registry.tsx"],"sourcesContent":["export {\n Button,\n buttonVariants,\n type ButtonProps,\n type ButtonVariants,\n} from \"./Button\";\nexport {\n ButtonVariant,\n ButtonSize,\n ButtonStatus,\n ButtonType,\n ButtonAspectRatio,\n} from \"../../constants/enum\";\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","export enum Theme {\n Light = \"light\",\n Dark = \"dark\",\n}\n\nexport enum ThemeStyle {\n Enterprise = \"enterprise\",\n Neumorphic = \"neumorphic\",\n Standard = \"standard\",\n Glassmorphic = \"glassmorphic\",\n}\n\nexport enum KezelVariant {\n Standard = \"standard\",\n Neumorphic = \"neumorphic\",\n}\n\nexport enum KezelMode {\n Light,\n Dark,\n}\n\nexport enum ButtonVariant {\n Primary = \"primary\",\n Ghost = \"ghost\",\n Container = \"container\",\n}\n\nexport enum ButtonStatus {\n Default = \"default\",\n Brand = \"brand\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n Info = \"info\",\n}\n\nexport enum ButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ButtonType {\n Button = \"button\",\n Submit = \"submit\",\n Reset = \"reset\",\n}\n\nexport enum ButtonAspectRatio {\n Auto = \"auto\",\n Square = \"square\",\n}\n\nexport enum DropdownTriggerVariant {\n Default = \"default\",\n Ghost = \"ghost\",\n}\n\nexport enum TypographyVariant {\n H1 = \"h1\",\n H2 = \"h2\",\n H3 = \"h3\",\n H4 = \"h4\",\n H5 = \"h5\",\n Body = \"body\",\n Small = \"small\",\n Caption = \"caption\",\n Label = \"label\",\n Link = \"link\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TypographyTone {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Muted = \"muted\",\n Disabled = \"disabled\",\n Inverse = \"inverse\",\n Link = \"link\",\n}\n\nexport enum TypographyAlign {\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n}\n\nexport enum TypographyWeight {\n Regular = \"regular\",\n Medium = \"medium\",\n Semibold = \"semibold\",\n Bold = \"bold\",\n}\n\nexport enum TokenCategory {\n Color = \"color\",\n Shadow = \"shadow\",\n Length = \"length\",\n Number = \"number\",\n LineHeight = \"lineHeight\",\n FontFamily = \"fontFamily\",\n FontWeight = \"fontWeight\",\n Duration = \"duration\",\n Easing = \"easing\",\n}\n\nexport enum OverrideMode {\n Safe = \"safe\",\n Strict = \"strict\",\n}\n\nexport enum TextInputVariant {\n Default = \"default\",\n Container = \"container\",\n Ghost = \"ghost\",\n}\n\nexport enum TextInputSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TextInputState {\n Default = \"default\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TextInputType {\n Text = \"text\",\n Email = \"email\",\n Password = \"password\",\n Number = \"number\",\n Search = \"search\",\n Tel = \"tel\",\n Url = \"url\",\n}\n\nexport enum TooltipSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TooltipPosition {\n Top = \"top\",\n Right = \"right\",\n Bottom = \"bottom\",\n Left = \"left\",\n}\n\nexport enum TooltipAlign {\n Start = \"start\",\n Center = \"center\",\n End = \"end\",\n}\n\nexport enum TooltipColor {\n Default = \"default\",\n Inverse = \"inverse\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n}\n\nexport enum ToggleButtonVariant {\n Default = \"default\",\n Primary = \"primary\",\n Container = \"container\",\n}\n\nexport enum ToggleButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxVariant {\n Default = \"default\",\n Container = \"container\",\n}\n\nexport enum RadioSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum AvatarSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n Xl = \"xl\",\n}\n\nexport enum AvatarStatus {\n Online = \"online\",\n Busy = \"busy\",\n Away = \"away\",\n Offline = \"offline\",\n}\n\nexport enum ToastVariant {\n Success = \"success\",\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\",\n}\n\nexport enum CardShadow {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ToastPosition {\n TopRight = \"top-right\",\n TopLeft = \"top-left\",\n BottomRight = \"bottom-right\",\n BottomLeft = \"bottom-left\",\n}\n\nexport enum QrPattern {\n Square = \"square\",\n Circle = \"circle\",\n Diamond = \"diamond\",\n}\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 { 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 { 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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,SAAuB;AACvB,wBAAqB;;;ACqBd,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,eAAY;AAHF,SAAAA;AAAA,GAAA;AAML,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AASL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AACL,EAAAA,YAAA,QAAK;AAHK,SAAAA;AAAA,GAAA;AAML,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,WAAQ;AAHE,SAAAA;AAAA,GAAA;AAML,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,YAAS;AAFC,SAAAA;AAAA,GAAA;;;ACjDZ,sCAAuC;AAGvC,IAAM,OAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAEH,IAAM,qBAAiB,qCAAI,MAAM;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,MACV,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,IACA,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,MACV,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,MACV,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,MACV,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,MACV,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,MACV,IAAI;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,MACV,IAAI;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA;AAAA,IAEA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA;AAAA,IAEA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA;AAAA,IAEA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf;AAAA,IACA;AAAA,EACF;AACF,CAAC;;;AF/MD,IAAAC,uBAAwB;;;AGTjB,IAAM,WAAW;AAAA,EACtB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;;;ACPA,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ACLA,YAAuB;;;ACCvB,0BAwGO;AA6GA,IAAM,eAA6C;AAAA,EACxD,CAAC,qBAAe,GAAG;AAAA,EACnB,CAAC,gCAAoB,GAAG;AAAA,EACxB,CAAC,gCAAoB,GAAG;AAAA,EACxB,CAAC,oCAAsB,GAAG;AAAA,EAC1B,CAAC,wBAAgB,GAAG;AAAA,EACpB,CAAC,gCAAoB,GAAG;AAAA,EACxB,CAAC,gCAAoB,GAAG;AAAA,EACxB,CAAC,kCAAqB,GAAG;AAAA,EACzB,CAAC,6BAAkB,GAAG;AAAA,EACtB,CAAC,qBAAe,GAAG;AAAA,EACnB,CAAC,4BAAkB,GAAG;AAAA,EACtB,CAAC,wBAAgB,GAAG;AAAA,EACpB,CAAC,4BAAkB,GAAG;AAAA,EACtB,CAAC,iCAAoB,GAAG;AAAA,EACxB,CAAC,0CAAyB,GAAG;AAAA,EAC7B,CAAC,eAAY,GAAG;AAAA,EAChB,CAAC,iBAAa,GAAG;AAAA,EACjB,CAAC,sBAAe,GAAG;AAAA,EACnB,CAAC,yBAAiB,GAAG;AAAA,EACrB,CAAC,iBAAa,GAAG;AAAA,EACjB,CAAC,0BAAiB,GAAG;AAAA,EACrB,CAAC,0BAAiB,GAAG;AAAA,EACrB,CAAC,yBAAiB,GAAG;AAAA,EACrB,CAAC,4BAAkB,GAAG;AAAA,EACtB,CAAC,0BAAiB,GAAG;AAAA,EACrB,CAAC,iCAAoB,GAAG;AAAA,EACxB,CAAC,+CAA2B,GAAG;AAAA,EAC/B,CAAC,+CAA2B,GAAG;AAAA,EAC/B,CAAC,yCAAwB,GAAG;AAAA,EAC5B,CAAC,0CAAyB,GAAG;AAAA,EAC7B,CAAC,gCAAoB,GAAG;AAAA,EACxB,CAAC,uCAAuB,GAAG;AAAA,EAC3B,CAAC,qDAA8B,GAAG;AAAA,EAClC,CAAC,qDAA8B,GAAG;AAAA,EAClC,CAAC,+CAA2B,GAAG;AAAA,EAC/B,CAAC,8BAAmB,GAAG;AAAA,EACvB,CAAC,4BAAkB,GAAG;AAAA,EACtB,CAAC,kCAAqB,GAAG;AAAA,EACzB,CAAC,8CAA0B,GAAG;AAAA,EAC9B,CAAC,mEAAoC,GAAG;AAAA,EACxC,CAAC,mEAAoC,GAAG;AAAA,EACxC,CAAC,kDAA4B,GAAG;AAAA,EAChC,CAAC,4CAAyB,GAAG;AAAA,EAC7B,CAAC,0BAAiB,GAAG;AAAA,EACrB,CAAC,kCAAqB,GAAG;AAAA,EACzB,CAAC,gCAAoB,GAAG;AAAA,EACxB,CAAC,kCAAqB,GAAG;AAAA,EACzB,CAAC,qBAAe,GAAG;AAAA,EACnB,CAAC,2CAAyB,GAAG;AAAA,EAC7B,CAAC,+CAA2B,GAAG;AAAA,EAC/B,CAAC,kCAAqB,GAAG;AAAA,EACzB,CAAC,kCAAqB,GAAG;AAAA,EACzB,CAAC,8BAAmB,GAAG;AAAA,EACvB,CAAC,uCAAuB,GAAG;AAAA,EAC3B,CAAC,iBAAa,GAAG;AAAA,EACjB,CAAC,4BAAkB,GAAG;AAAA,EACtB,CAAC,2BAAkB,GAAG;AAAA,EACtB,CAAC,uBAAgB,GAAG;AAAA,EACpB,CAAC,mBAAc,GAAG;AAAA,EAClB,CAAC,qBAAe,GAAG;AAAA,EACnB,CAAC,wBAAgB,GAAG;AAAA,EACpB,CAAC,8BAAmB,GAAG;AAAA,EACvB,CAAC,8BAAmB,GAAG;AAAA,EACvB,CAAC,qBAAe,GAAG;AAAA,EACnB,CAAC,8BAAmB,GAAG;AAAA,EACvB,CAAC,iBAAa,GAAG;AAAA,EACjB,CAAC,4BAAkB,GAAG;AAAA,EACtB,CAAC,WAAU,GAAG;AAAA,EACd,CAAC,0BAAiB,GAAG;AAAA,EACrB,CAAC,6BAAkB,GAAG;AAAA,EACtB,CAAC,qCAAsB,GAAG;AAAA,EAC1B,CAAC,iBAAa,GAAG;AAAA,EACjB,CAAC,gCAAoB,GAAG,oBAAAC;AAAA,EACxB,CAAC,qBAAe,GAAG;AAAA,EACnB,CAAC,mBAAc,GAAG;AAAA,EAClB,CAAC,sBAAe,GAAG;AAAA,EACnB,CAAC,qBAAe,GAAG;AAAA,EACnB,CAAC,mBAAc,GAAG;AAAA,EAClB,CAAC,gCAAoB,GAAG;AAAA,EACxB,CAAC,sBAAe,GAAG;AAAA,EACnB,CAAC,mBAAc,GAAG;AAAA,EAClB,CAAC,wCAAwB,GAAG;AAAA,EAC5B,CAAC,eAAY,GAAG;AAAA,EAChB,CAAC,iBAAa,GAAG;AAAA,EACjB,CAAC,sBAAe,GAAG;AAAA,EACnB,CAAC,0BAAiB,GAAG;AAAA,EACrB,CAAC,mBAAc,GAAG;AAAA,EAClB,CAAC,mBAAc,GAAG;AAAA,EAClB,CAAC,mBAAc,GAAG;AAAA,EAClB,CAAC,gCAAoB,GAAG;AAAA,EACxB,CAAC,oCAAsB,GAAG;AAAA,EAC1B,CAAC,0BAAiB,GAAG;AAAA,EACrB,CAAC,6BAAkB,GAAG;AAAA,EACtB,CAAC,mCAAqB,GAAG;AAAA,EACzB,CAAC,8BAAmB,GAAG;AAAA,EACvB,CAAC,iBAAa,GAAG;AAAA,EACjB,CAAC,4BAAkB,GAAG;AAAA,EACtB,CAAC,8BAAmB,GAAG;AAAA,EACvB,CAAC,yBAAiB,GAAG;AAAA,EACrB,CAAC,qBAAe,GAAG;AAAA,EACnB,CAAC,sBAAe,GAAG;AAAA,EACnB,CAAC,eAAY,GAAG;AAAA,EAChB,CAAC,sBAAe,GAAG;AACrB;;;ADxSM;AAPN,IAAM,OAAa;AAAA,EACjB,CAAC,EAAE,MAAM,OAAO,MAAM,OAAO,WAAW,GAAG,MAAM,GAAG,QAAQ;AAC1D,UAAM,YAAY,aAAa,IAAI;AACnC,QAAI,CAAC,UAAW,QAAO;AACvB,UAAM,SAAS,OAAO,SAAS,WAAW,OAAO,SAAS,IAAI;AAC9D,UAAM,gBAAgB,SAAS;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW,GAAG,YAAY,SAAS;AAAA,QAClC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;AL+BX,IAAAC,sBAAA;AAhCR,IAAM,SAAe;AAAA,EACnB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,OAAO,UAAU,yBAAO;AAC9B,UAAM,aAAa,YAAY;AAE/B,UAAM,kBAAkB;AAAA,MACtB,eAAe,EAAE,SAAS,MAAM,OAAO,CAAC;AAAA,MACxC,WAAW;AAAA,MACX,yCAA4C;AAAA,MAC5C;AAAA,IACF;AAEA,QAAI,SAAS;AACX,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAM,UAAU,SAAY;AAAA,UAC5B,WAAW;AAAA,UACX;AAAA,UACA,UAAU;AAAA,UACV,aAAW;AAAA,UACV,GAAG;AAAA,UAEH;AAAA;AAAA,MACH;AAAA,IAEJ;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,UAAU;AAAA,QACV,aAAW;AAAA,QACV,GAAG;AAAA,QAEH;AAAA,qBACC;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,MAAM,SAAS;AAAA,cACf,OAAM;AAAA;AAAA,UACR;AAAA,UAED,YAAY,6CAAC,QAAM,GAAG,UAAU;AAAA,UAChC;AAAA,UACA,aAAa,6CAAC,QAAM,GAAG,WAAW;AAAA;AAAA;AAAA,IACrC;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;","names":["React","ButtonVariant","ButtonStatus","ButtonSize","ButtonType","ButtonAspectRatio","import_lucide_react","AlertCircleIcon","import_jsx_runtime"]}