@mdigital_ui/ui 0.2.9 → 0.3.1

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 (143) hide show
  1. package/README.md +574 -994
  2. package/dist/accordion/index.js +1 -1
  3. package/dist/avatar/index.js +1 -1
  4. package/dist/badge/index.js +1 -1
  5. package/dist/breadcrumbs/index.js +1 -1
  6. package/dist/button/index.js +1 -1
  7. package/dist/button-group/index.js +1 -1
  8. package/dist/card/index.js +2 -1
  9. package/dist/cascader/index.js +2 -1
  10. package/dist/checkbox/index.js +1 -1
  11. package/dist/checkbox-group/index.js +1 -1
  12. package/dist/{chunk-4LSKRZOT.js → chunk-2PNLIQYM.js} +21 -4
  13. package/dist/chunk-2PNLIQYM.js.map +1 -0
  14. package/dist/{chunk-43RDFTC5.js → chunk-4TQ4BZ3S.js} +6 -4
  15. package/dist/chunk-4TQ4BZ3S.js.map +1 -0
  16. package/dist/{chunk-IMGVPMHJ.js → chunk-5JOJBDET.js} +47 -40
  17. package/dist/chunk-5JOJBDET.js.map +1 -0
  18. package/dist/{chunk-W3ES3UPV.js → chunk-5VORB55Y.js} +19 -3
  19. package/dist/chunk-5VORB55Y.js.map +1 -0
  20. package/dist/{chunk-3UCZ4GMN.js → chunk-6HGUDHHE.js} +4 -2
  21. package/dist/chunk-6HGUDHHE.js.map +1 -0
  22. package/dist/chunk-6YVT3AL2.js +211 -0
  23. package/dist/chunk-6YVT3AL2.js.map +1 -0
  24. package/dist/{chunk-CPDVBHA3.js → chunk-7KA7JSRX.js} +133 -23
  25. package/dist/chunk-7KA7JSRX.js.map +1 -0
  26. package/dist/chunk-CO766H7F.js +348 -0
  27. package/dist/chunk-CO766H7F.js.map +1 -0
  28. package/dist/{chunk-JIREY2VB.js → chunk-DHXVNO75.js} +3 -3
  29. package/dist/{chunk-JIREY2VB.js.map → chunk-DHXVNO75.js.map} +1 -1
  30. package/dist/chunk-DRL4CJMI.js +147 -0
  31. package/dist/chunk-DRL4CJMI.js.map +1 -0
  32. package/dist/{chunk-YAAV7FQG.js → chunk-FJPMIXWU.js} +15 -4
  33. package/dist/chunk-FJPMIXWU.js.map +1 -0
  34. package/dist/{chunk-MXDTUN3V.js → chunk-FZLFCT6Q.js} +141 -106
  35. package/dist/chunk-FZLFCT6Q.js.map +1 -0
  36. package/dist/chunk-GGDDE7LC.js +303 -0
  37. package/dist/chunk-GGDDE7LC.js.map +1 -0
  38. package/dist/{chunk-MRFCITKK.js → chunk-GVEEUHM2.js} +20 -16
  39. package/dist/chunk-GVEEUHM2.js.map +1 -0
  40. package/dist/{chunk-RYKVZFGB.js → chunk-HLY4VDIX.js} +7 -7
  41. package/dist/chunk-HLY4VDIX.js.map +1 -0
  42. package/dist/{chunk-2OUGJBXK.js → chunk-IVOMN6DV.js} +60 -14
  43. package/dist/chunk-IVOMN6DV.js.map +1 -0
  44. package/dist/{chunk-REKWBXAQ.js → chunk-J6IJBRYT.js} +12 -11
  45. package/dist/chunk-J6IJBRYT.js.map +1 -0
  46. package/dist/{chunk-LMR7TKDJ.js → chunk-KPM72QBO.js} +27 -10
  47. package/dist/chunk-KPM72QBO.js.map +1 -0
  48. package/dist/{chunk-QF3NJUUG.js → chunk-L572AMB3.js} +53 -8
  49. package/dist/chunk-L572AMB3.js.map +1 -0
  50. package/dist/{chunk-UUP7YGOS.js → chunk-LX4FDH4J.js} +3 -3
  51. package/dist/chunk-LX4FDH4J.js.map +1 -0
  52. package/dist/chunk-OL2GU2O3.js +293 -0
  53. package/dist/chunk-OL2GU2O3.js.map +1 -0
  54. package/dist/{chunk-N32VWE6V.js → chunk-RLYGJN56.js} +64 -60
  55. package/dist/chunk-RLYGJN56.js.map +1 -0
  56. package/dist/{chunk-X5SCI7KH.js → chunk-RZVEKAFR.js} +18 -6
  57. package/dist/chunk-RZVEKAFR.js.map +1 -0
  58. package/dist/chunk-T4MGK3WE.js +143 -0
  59. package/dist/chunk-T4MGK3WE.js.map +1 -0
  60. package/dist/{chunk-YFK2DHCY.js → chunk-TBMY5EQC.js} +10 -6
  61. package/dist/chunk-TBMY5EQC.js.map +1 -0
  62. package/dist/{chunk-PXOHJJBE.js → chunk-UHVPOGNC.js} +44 -9
  63. package/dist/chunk-UHVPOGNC.js.map +1 -0
  64. package/dist/{chunk-CMGCJXE5.js → chunk-UTKVWE76.js} +15 -4
  65. package/dist/chunk-UTKVWE76.js.map +1 -0
  66. package/dist/chunk-XQJ6HZ4Q.js +310 -0
  67. package/dist/chunk-XQJ6HZ4Q.js.map +1 -0
  68. package/dist/chunk-YJOLLSHH.js +132 -0
  69. package/dist/chunk-YJOLLSHH.js.map +1 -0
  70. package/dist/chunk-YWGWFGCY.js +332 -0
  71. package/dist/chunk-YWGWFGCY.js.map +1 -0
  72. package/dist/{chunk-FIGSNRWY.js → chunk-ZFYEAPEL.js} +40 -13
  73. package/dist/chunk-ZFYEAPEL.js.map +1 -0
  74. package/dist/chunk-ZRSSFP52.js +345 -0
  75. package/dist/chunk-ZRSSFP52.js.map +1 -0
  76. package/dist/clipboard/index.js +2 -1
  77. package/dist/collapse/index.js +2 -1
  78. package/dist/command/index.js +1 -1
  79. package/dist/context-menu/index.js +1 -1
  80. package/dist/date-picker/index.js +1 -1
  81. package/dist/descriptions/index.js +1 -1
  82. package/dist/float-input/index.js +6 -0
  83. package/dist/form/index.js +4 -0
  84. package/dist/form/index.js.map +1 -0
  85. package/dist/index.js +38 -30
  86. package/dist/index.js.map +1 -1
  87. package/dist/link/index.js +4 -0
  88. package/dist/link/index.js.map +1 -0
  89. package/dist/menubar/index.js +6 -0
  90. package/dist/menubar/index.js.map +1 -0
  91. package/dist/navigation-menu/index.js +4 -0
  92. package/dist/navigation-menu/index.js.map +1 -0
  93. package/dist/number-input/index.js +6 -0
  94. package/dist/number-input/index.js.map +1 -0
  95. package/dist/pagination/index.js +1 -1
  96. package/dist/progress/index.js +1 -1
  97. package/dist/scroll-area/index.js +4 -0
  98. package/dist/scroll-area/index.js.map +1 -0
  99. package/dist/select/index.js +1 -1
  100. package/dist/slider/index.js +1 -1
  101. package/dist/table/index.js +4 -4
  102. package/dist/timeline/index.js +4 -0
  103. package/dist/timeline/index.js.map +1 -0
  104. package/dist/toast/index.js +5 -0
  105. package/dist/toast/index.js.map +1 -0
  106. package/dist/transfer/index.js +2 -2
  107. package/dist/upload/index.js +1 -1
  108. package/package.json +72 -14
  109. package/dist/chart/index.js +0 -4
  110. package/dist/chunk-2OUGJBXK.js.map +0 -1
  111. package/dist/chunk-3UCZ4GMN.js.map +0 -1
  112. package/dist/chunk-43RDFTC5.js.map +0 -1
  113. package/dist/chunk-4LSKRZOT.js.map +0 -1
  114. package/dist/chunk-C5YO5VZS.js +0 -448
  115. package/dist/chunk-C5YO5VZS.js.map +0 -1
  116. package/dist/chunk-CMGCJXE5.js.map +0 -1
  117. package/dist/chunk-CPDVBHA3.js.map +0 -1
  118. package/dist/chunk-FIGSNRWY.js.map +0 -1
  119. package/dist/chunk-H47C2ENJ.js +0 -215
  120. package/dist/chunk-H47C2ENJ.js.map +0 -1
  121. package/dist/chunk-IMGVPMHJ.js.map +0 -1
  122. package/dist/chunk-LMR7TKDJ.js.map +0 -1
  123. package/dist/chunk-MRFCITKK.js.map +0 -1
  124. package/dist/chunk-MXDTUN3V.js.map +0 -1
  125. package/dist/chunk-N32VWE6V.js.map +0 -1
  126. package/dist/chunk-PXOHJJBE.js.map +0 -1
  127. package/dist/chunk-QF3NJUUG.js.map +0 -1
  128. package/dist/chunk-REKWBXAQ.js.map +0 -1
  129. package/dist/chunk-RYKVZFGB.js.map +0 -1
  130. package/dist/chunk-UUP7YGOS.js.map +0 -1
  131. package/dist/chunk-W3ES3UPV.js.map +0 -1
  132. package/dist/chunk-X5SCI7KH.js.map +0 -1
  133. package/dist/chunk-YAAV7FQG.js.map +0 -1
  134. package/dist/chunk-YFK2DHCY.js.map +0 -1
  135. package/dist/index.d.ts +0 -5220
  136. package/dist/styles/base.css +0 -5906
  137. package/dist/styles/global.css +0 -6401
  138. package/dist/styles/themes/dark.css +0 -93
  139. package/dist/styles/themes/light.css +0 -89
  140. package/dist/styles/themes/presets/corporate.css +0 -126
  141. package/dist/styles/themes/presets/minimal.css +0 -126
  142. package/dist/styles/themes/presets/vibrant.css +0 -126
  143. /package/dist/{chart → float-input}/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/progress/index.tsx"],"names":[],"mappings":"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","file":"chunk-HLY4VDIX.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport React from \"react\";\n\nimport { cn } from \"../utils\";\nimport type { ProgressProps } from \"./types\";\n\nconst circleSizes = {\n xs: { size: 60, strokeWidth: 4 },\n sm: { size: 80, strokeWidth: 6 },\n md: { size: 120, strokeWidth: 8 },\n lg: { size: 160, strokeWidth: 10 },\n};\n\nconst progressContainerVariants = cva(\"w-full rounded-full overflow-hidden\", {\n variants: {\n size: {\n xs: \"h-1\",\n sm: \"h-2\",\n md: \"h-3\",\n lg: \"h-4\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst progressBarVariants = cva(\n \"h-full transition-all duration-300 ease-in-out rounded-full\",\n {\n variants: {\n size: {\n xs: \"\",\n sm: \"\",\n md: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nconst backgroundColorStyles = {\n default: {\n default: \"bg-surface\",\n solid: \"bg-surface\",\n soft: \"bg-surface/50\",\n },\n primary: {\n default: \"bg-primary/10\",\n solid: \"bg-primary/20\",\n soft: \"bg-primary/10\",\n },\n secondary: {\n default: \"bg-secondary/10\",\n solid: \"bg-secondary/20\",\n soft: \"bg-secondary/10\",\n },\n accent: {\n default: \"bg-accent/10\",\n solid: \"bg-accent/20\",\n soft: \"bg-accent/10\",\n },\n success: {\n default: \"bg-success/10\",\n solid: \"bg-success/20\",\n soft: \"bg-success/10\",\n },\n error: {\n default: \"bg-error/10\",\n solid: \"bg-error/20\",\n soft: \"bg-error/10\",\n },\n warning: {\n default: \"bg-warning/10\",\n solid: \"bg-warning/20\",\n soft: \"bg-warning/10\",\n },\n info: {\n default: \"bg-info/10\",\n solid: \"bg-info/20\",\n soft: \"bg-info/10\",\n },\n};\n\nconst barColorStyles = {\n default: {\n default: \"bg-surface border border-border\",\n solid: \"bg-surface\",\n soft: \"bg-surface/80\",\n },\n primary: {\n default: \"bg-primary/20 border border-primary\",\n solid: \"bg-primary\",\n soft: \"bg-primary/60\",\n },\n secondary: {\n default: \"bg-secondary/20 border border-secondary\",\n solid: \"bg-secondary\",\n soft: \"bg-secondary/60\",\n },\n accent: {\n default: \"bg-accent/20 border border-accent\",\n solid: \"bg-accent\",\n soft: \"bg-accent/60\",\n },\n success: {\n default: \"bg-success/20 border border-success\",\n solid: \"bg-success\",\n soft: \"bg-success/60\",\n },\n error: {\n default: \"bg-error/20 border border-error\",\n solid: \"bg-error\",\n soft: \"bg-error/60\",\n },\n warning: {\n default: \"bg-warning/20 border border-warning\",\n solid: \"bg-warning\",\n soft: \"bg-warning/60\",\n },\n info: {\n default: \"bg-info/20 border border-info\",\n solid: \"bg-info\",\n soft: \"bg-info/60\",\n },\n};\n\nconst circleStrokeColors = {\n default: {\n default: \"stroke-surface\",\n solid: \"stroke-surface\",\n soft: \"stroke-surface/80\",\n },\n primary: {\n default: \"stroke-primary\",\n solid: \"stroke-primary\",\n soft: \"stroke-primary/60\",\n },\n secondary: {\n default: \"stroke-secondary\",\n solid: \"stroke-secondary\",\n soft: \"stroke-secondary/60\",\n },\n accent: {\n default: \"stroke-accent\",\n solid: \"stroke-accent\",\n soft: \"stroke-accent/60\",\n },\n success: {\n default: \"stroke-success\",\n solid: \"stroke-success\",\n soft: \"stroke-success/60\",\n },\n error: {\n default: \"stroke-error\",\n solid: \"stroke-error\",\n soft: \"stroke-error/60\",\n },\n warning: {\n default: \"stroke-warning\",\n solid: \"stroke-warning\",\n soft: \"stroke-warning/60\",\n },\n info: {\n default: \"stroke-info\",\n solid: \"stroke-info\",\n soft: \"stroke-info/60\",\n },\n};\n\nconst circleTrailColors = {\n default: {\n default: \"stroke-surface\",\n solid: \"stroke-surface\",\n soft: \"stroke-surface/50\",\n },\n primary: {\n default: \"stroke-primary/10\",\n solid: \"stroke-primary/20\",\n soft: \"stroke-primary/10\",\n },\n secondary: {\n default: \"stroke-secondary/10\",\n solid: \"stroke-secondary/20\",\n soft: \"stroke-secondary/10\",\n },\n accent: {\n default: \"stroke-accent/10\",\n solid: \"stroke-accent/20\",\n soft: \"stroke-accent/10\",\n },\n success: {\n default: \"stroke-success/10\",\n solid: \"stroke-success/20\",\n soft: \"stroke-success/10\",\n },\n error: {\n default: \"stroke-error/10\",\n solid: \"stroke-error/20\",\n soft: \"stroke-error/10\",\n },\n warning: {\n default: \"stroke-warning/10\",\n solid: \"stroke-warning/20\",\n soft: \"stroke-warning/10\",\n },\n info: {\n default: \"stroke-info/10\",\n solid: \"stroke-info/20\",\n soft: \"stroke-info/10\",\n },\n};\n\nconst Progress = React.memo<ProgressProps>(\n ({\n value,\n color = \"primary\",\n size = \"md\",\n circleSize: customCircleSize,\n strokeWidth: customStrokeWidth,\n variant = \"default\",\n type = \"line\",\n orientation = \"horizontal\",\n showProgress = false,\n label,\n striped = false,\n animated = false,\n className,\n classNames,\n totalSteps = 5,\n \"aria-label\": ariaLabel,\n }) => {\n const clampedValue = Math.min(Math.max(value, 0), 100);\n const progressLabel = ariaLabel || label || \"Progress\";\n\n if (type === \"circle\") {\n // Use custom values if provided, otherwise fall back to size presets\n const preset = circleSizes[size];\n const circleSize = customCircleSize ?? preset.size;\n const strokeWidth = customStrokeWidth ?? preset.strokeWidth;\n const radius = (circleSize - strokeWidth) / 2;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - (clampedValue / 100) * circumference;\n\n return (\n <div\n className={cn(\n \"inline-flex flex-col items-center\",\n \"progress_root\",\n className,\n classNames?.root,\n )}\n >\n <div\n className=\"relative\"\n style={{ width: circleSize, height: circleSize }}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n >\n <svg\n width={circleSize}\n height={circleSize}\n className=\"transform -rotate-90\"\n aria-hidden=\"true\"\n >\n {/* Background circle */}\n <circle\n cx={circleSize / 2}\n cy={circleSize / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n className={cn(\n circleTrailColors[color][variant],\n \"progress_track\",\n classNames?.track,\n )}\n />\n <circle\n cx={circleSize / 2}\n cy={circleSize / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n strokeLinecap=\"round\"\n className={cn(\n circleStrokeColors[color][variant],\n \"transition-all duration-300 ease-in-out\",\n \"progress_fill\",\n classNames?.fill,\n )}\n />\n </svg>\n {/* Center text */}\n <div className=\"absolute inset-0 flex flex-col items-center justify-center\">\n {label ? (\n <div\n className={cn(\n \"p-2 text-text-secondary\",\n \"progress_label\",\n classNames?.label,\n )}\n style={{ fontSize: `${circleSize / Math.floor(label.length * 1.5)}px` }}\n >\n {label}\n </div>\n ) : (\n <span\n className={cn(\n \"text-text-primary font-semibold\",\n \"progress_value\",\n classNames?.value,\n )}\n style={{ fontSize: circleSize / 5 }}\n >\n {clampedValue}%\n </span>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n if (type === \"step\") {\n const currentStep = Math.ceil((clampedValue / 100) * totalSteps);\n\n if (orientation === \"vertical\") {\n return (\n <div\n className={cn(\n \"h-full flex flex-col\",\n \"progress_root\",\n className,\n classNames?.root,\n )}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n >\n {label && (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span className={cn(\"progress_label\", classNames?.label)}>\n {label}\n </span>\n {showProgress && (\n <span\n className={cn(\n \"font-medium\",\n \"progress_value\",\n classNames?.value,\n )}\n >\n {clampedValue}%\n </span>\n )}\n </div>\n )}\n <div\n className={cn(\n \"flex-1 rounded-full overflow-hidden flex flex-col-reverse gap-1\",\n size === \"xs\"\n ? \"w-1\"\n : size === \"sm\"\n ? \"w-2\"\n : size === \"md\"\n ? \"w-3\"\n : \"w-4\",\n \"progress_track\",\n classNames?.track,\n )}\n >\n {Array.from({ length: totalSteps }, (_, index) => {\n const stepNumber = index + 1;\n const isCompleted = stepNumber <= currentStep;\n\n return (\n <div\n key={index}\n className={cn(\n \"w-full rounded-full transition-all flex-1\",\n isCompleted\n ? barColorStyles[color][variant]\n : backgroundColorStyles[color][variant],\n animated && striped && \"progress-shimmer\",\n \"progress_fill\",\n classNames?.fill,\n )}\n style={{\n ...(striped &&\n isCompleted && {\n backgroundImage:\n \"linear-gradient(45deg, var(--overlay-stripe) 25%, transparent 25%, transparent 50%, var(--overlay-stripe) 50%, var(--overlay-stripe) 75%, transparent 75%, transparent)\",\n backgroundSize: \"1rem 1rem\",\n }),\n }}\n />\n );\n })}\n </div>\n </div>\n );\n }\n\n // Horizontal step progress\n return (\n <div\n className={cn(\"w-full\", \"progress_root\", className, classNames?.root)}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n >\n {label && (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span className={cn(\"progress_label\", classNames?.label)}>\n {label}\n </span>\n {showProgress && (\n <span\n className={cn(\n \"font-medium\",\n \"progress_value\",\n classNames?.value,\n )}\n >\n {clampedValue}%\n </span>\n )}\n </div>\n )}\n <div\n className={cn(\n \"w-full rounded-full overflow-hidden flex gap-1\",\n progressContainerVariants({ size }),\n \"progress_track\",\n classNames?.track,\n )}\n >\n {Array.from({ length: totalSteps }, (_, index) => {\n const stepNumber = index + 1;\n const isCompleted = stepNumber <= currentStep;\n\n return (\n <div\n key={index}\n className={cn(\n \"h-full rounded-full transition-all flex-1\",\n isCompleted\n ? barColorStyles[color][variant]\n : backgroundColorStyles[color][variant],\n animated && striped && \"progress-shimmer\",\n \"progress_fill\",\n classNames?.fill,\n )}\n style={{\n ...(striped &&\n isCompleted && {\n backgroundImage:\n \"linear-gradient(45deg, var(--overlay-stripe) 25%, transparent 25%, transparent 50%, var(--overlay-stripe) 50%, var(--overlay-stripe) 75%, transparent 75%, transparent)\",\n backgroundSize: \"1rem 1rem\",\n }),\n }}\n />\n );\n })}\n </div>\n </div>\n );\n }\n\n // Line progress (horizontal or vertical)\n if (orientation === \"vertical\") {\n return (\n <div\n className={cn(\n \"h-full flex flex-col\",\n \"progress_root\",\n className,\n classNames?.root,\n )}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n >\n {label && (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span className={cn(\"progress_label\", classNames?.label)}>\n {label}\n </span>\n {showProgress && (\n <span\n className={cn(\n \"font-medium\",\n \"progress_value\",\n classNames?.value,\n )}\n >\n {clampedValue}%\n </span>\n )}\n </div>\n )}\n <div\n className={cn(\n \"flex-1 rounded-full overflow-hidden flex flex-col justify-end\",\n size === \"xs\"\n ? \"w-1\"\n : size === \"sm\"\n ? \"w-2\"\n : size === \"md\"\n ? \"w-3\"\n : \"w-4\",\n backgroundColorStyles[color][variant],\n \"progress_track\",\n classNames?.track,\n )}\n >\n <div\n className={cn(\n \"w-full transition-all duration-300 ease-in-out rounded-full\",\n barColorStyles[color][variant],\n animated && striped && \"progress-shimmer\",\n \"progress_fill\",\n classNames?.fill,\n )}\n style={{\n height: `${clampedValue}%`,\n ...(striped && {\n backgroundImage:\n \"linear-gradient(45deg, var(--overlay-stripe) 25%, transparent 25%, transparent 50%, var(--overlay-stripe) 50%, var(--overlay-stripe) 75%, transparent 75%, transparent)\",\n backgroundSize: \"1rem 1rem\",\n }),\n }}\n />\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\"w-full\", \"progress_root\", className, classNames?.root)}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n >\n {label && (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span className={cn(\"progress_label\", classNames?.label)}>\n {label}\n </span>\n {showProgress && (\n <span\n className={cn(\n \"font-medium\",\n \"progress_value\",\n classNames?.value,\n )}\n >\n {clampedValue}%\n </span>\n )}\n </div>\n )}\n <div\n className={cn(\n progressContainerVariants({ size }),\n backgroundColorStyles[color][variant],\n \"progress_track\",\n classNames?.track,\n )}\n >\n <div\n className={cn(\n progressBarVariants({ size }),\n barColorStyles[color][variant],\n animated && striped && \"progress-shimmer\",\n \"progress_fill\",\n classNames?.fill,\n )}\n style={{\n width: `${clampedValue}%`,\n ...(striped && {\n backgroundImage:\n \"linear-gradient(45deg, var(--overlay-stripe) 25%, transparent 25%, transparent 50%, var(--overlay-stripe) 50%, var(--overlay-stripe) 75%, transparent 75%, transparent)\",\n backgroundSize: \"1rem 1rem\",\n }),\n }}\n />\n </div>\n </div>\n );\n },\n);\n\nProgress.displayName = \"Progress\";\n\nexport type * from \"./types\";\nexport default Progress;\n"]}
@@ -1,3 +1,4 @@
1
+ import { focusRingColorClasses, textColorClasses } from './chunk-LK4EPTNG.js';
1
2
  import { cn, iconSizes } from './chunk-NGYLRX6F.js';
2
3
  import * as PopoverPrimitive from '@radix-ui/react-popover';
3
4
  import { cva } from 'class-variance-authority';
@@ -6,7 +7,7 @@ import React from 'react';
6
7
  import { jsxs, jsx } from 'react/jsx-runtime';
7
8
 
8
9
  var cascaderTriggerVariants = cva(
9
- "flex items-center justify-between gap-2 rounded-md border transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none",
10
+ "flex items-center justify-between gap-2 rounded-md border transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background",
10
11
  {
11
12
  variants: {
12
13
  status: {
@@ -35,7 +36,7 @@ var cascaderTriggerVariants = cva(
35
36
  }
36
37
  );
37
38
  var cascaderMenuVariants = cva(
38
- "overflow-auto rounded-md border bg-background w-[200px] max-h-[300px] py-1",
39
+ "overflow-auto rounded-md border bg-background w-[200px] max-h-[300px]",
39
40
  {
40
41
  variants: {
41
42
  size: {
@@ -69,7 +70,7 @@ var cascaderItemVariants = cva(
69
70
  false: ""
70
71
  },
71
72
  selected: {
72
- true: "bg-primary/10 text-primary font-medium",
73
+ true: "font-medium",
73
74
  false: ""
74
75
  }
75
76
  },
@@ -87,6 +88,36 @@ var tagSizeClasses = {
87
88
  md: "text-sm px-2 py-0.5",
88
89
  lg: "text-sm px-2.5 py-1"
89
90
  };
91
+ var accentBgClasses = {
92
+ default: "bg-primary/10 text-primary",
93
+ primary: "bg-primary/10 text-primary",
94
+ secondary: "bg-secondary/10 text-secondary",
95
+ accent: "bg-accent/10 text-accent",
96
+ success: "bg-success/10 text-success",
97
+ error: "bg-error/10 text-error",
98
+ warning: "bg-warning/10 text-warning",
99
+ info: "bg-info/10 text-info"
100
+ };
101
+ var checkboxCheckedClasses = {
102
+ default: "bg-primary border-primary",
103
+ primary: "bg-primary border-primary",
104
+ secondary: "bg-secondary border-secondary",
105
+ accent: "bg-accent border-accent",
106
+ success: "bg-success border-success",
107
+ error: "bg-error border-error",
108
+ warning: "bg-warning border-warning",
109
+ info: "bg-info border-info"
110
+ };
111
+ var indeterminateBgClasses = {
112
+ default: "bg-primary",
113
+ primary: "bg-primary",
114
+ secondary: "bg-secondary",
115
+ accent: "bg-accent",
116
+ success: "bg-success",
117
+ error: "bg-error",
118
+ warning: "bg-warning",
119
+ info: "bg-info"
120
+ };
90
121
  var Cascader = React.memo(
91
122
  ({
92
123
  options,
@@ -98,8 +129,7 @@ var Cascader = React.memo(
98
129
  label,
99
130
  helperText,
100
131
  messagePosition = "bottom",
101
- // color is accepted but currently unused - status is derived from error/warning/success/info props
102
- color: _color,
132
+ color = "default",
103
133
  size = "md",
104
134
  placement = "bottomLeft",
105
135
  disabled = false,
@@ -127,7 +157,7 @@ var Cascader = React.memo(
127
157
  onOpenChange
128
158
  }) => {
129
159
  const [isOpen, setIsOpen] = React.useState(false);
130
- const [internalValue, setInternalValue] = React.useState(defaultValue || (multiple ? [] : []));
160
+ const [internalValue, setInternalValue] = React.useState(defaultValue || []);
131
161
  const [activeMenus, setActiveMenus] = React.useState([
132
162
  options
133
163
  ]);
@@ -331,6 +361,7 @@ var Cascader = React.memo(
331
361
  (option, level, index) => {
332
362
  if (expandTrigger !== "hover" || option.disabled) return;
333
363
  setHoveredPath((prev) => [...prev.slice(0, level), index]);
364
+ setSelectedPath((prev) => [...prev.slice(0, level), option.value]);
334
365
  if (option.children && option.children.length > 0) {
335
366
  setActiveMenus((prev) => [
336
367
  ...prev.slice(0, level + 1),
@@ -420,8 +451,10 @@ var Cascader = React.memo(
420
451
  case "ArrowLeft":
421
452
  e.preventDefault();
422
453
  if (focusedIndex && focusedIndex.level > 0) {
454
+ const parentLevel = focusedIndex.level - 1;
455
+ const parentIndex = hoveredPath[parentLevel] ?? 0;
423
456
  setActiveMenus((prev) => prev.slice(0, focusedIndex.level));
424
- setFocusedIndex({ level: focusedIndex.level - 1, index: 0 });
457
+ setFocusedIndex({ level: parentLevel, index: parentIndex });
425
458
  }
426
459
  break;
427
460
  case "Enter":
@@ -474,13 +507,15 @@ var Cascader = React.memo(
474
507
  ]);
475
508
  const showClearButton = clearable && normalizedValue.length > 0 && normalizedValue[0]?.[0] && !disabled && !loading;
476
509
  const renderCascaderMenus = () => {
477
- return /* @__PURE__ */ jsx("div", { className: cn("flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:border-r-0 [&>*:not(:last-child)]:rounded-r-none cascader_dropdown", classNames?.dropdown), children: activeMenus.map((menu, level) => /* @__PURE__ */ jsx(
510
+ return /* @__PURE__ */ jsx("div", { className: cn("flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:border-r-0 [&>*:not(:last-child)]:rounded-r-none cascader_dropdown", classNames?.dropdown), "data-slot": "dropdown", children: activeMenus.map((menu, level) => /* @__PURE__ */ jsx(
478
511
  "div",
479
512
  {
480
513
  ref: (el) => {
481
514
  menuRefs.current[level] = el;
482
515
  },
516
+ role: "listbox",
483
517
  className: cn(cascaderMenuVariants({ size }), "border-border cascader_menu", classNames?.menu),
518
+ "data-slot": "menu",
484
519
  children: menu.length === 0 ? /* @__PURE__ */ jsx("div", { className: "px-3 py-6 text-center text-text-secondary text-sm", children: emptyContent }) : menu.map((option, index) => {
485
520
  const isActive = selectedPath[level] === option.value || expandTrigger === "hover" && hoveredPath[level] === index;
486
521
  const isFocused = focusedIndex?.level === level && focusedIndex?.index === index;
@@ -491,6 +526,9 @@ var Cascader = React.memo(
491
526
  return /* @__PURE__ */ jsxs(
492
527
  "div",
493
528
  {
529
+ role: "option",
530
+ "aria-selected": isLeafSelected || (selectionState?.checked ?? false),
531
+ "aria-disabled": option.disabled,
494
532
  className: cn(
495
533
  cascaderItemVariants({
496
534
  size,
@@ -498,22 +536,24 @@ var Cascader = React.memo(
498
536
  active: isActive || isFocused,
499
537
  selected: isLeafSelected
500
538
  }),
539
+ isLeafSelected && accentBgClasses[color],
501
540
  "cascader_option",
502
541
  classNames?.option
503
542
  ),
504
543
  onClick: () => handleItemClick(option, level),
505
544
  onMouseEnter: () => handleItemHover(option, level, index),
545
+ "data-slot": "option",
506
546
  children: [
507
547
  multiple && /* @__PURE__ */ jsxs(
508
548
  "div",
509
549
  {
510
550
  className: cn(
511
551
  "w-4 h-4 border rounded flex items-center justify-center shrink-0",
512
- selectionState?.checked ? "bg-primary border-primary" : "border-border"
552
+ selectionState?.checked ? checkboxCheckedClasses[color] : "border-border"
513
553
  ),
514
554
  children: [
515
555
  selectionState?.checked && /* @__PURE__ */ jsx(Check, { className: "h-3 w-3 text-background" }),
516
- selectionState?.indeterminate && !selectionState?.checked && /* @__PURE__ */ jsx("div", { className: "w-2 h-0.5 bg-primary" })
556
+ selectionState?.indeterminate && !selectionState?.checked && /* @__PURE__ */ jsx("div", { className: cn("w-2 h-0.5", indeterminateBgClasses[color]) })
517
557
  ]
518
558
  }
519
559
  ),
@@ -536,7 +576,7 @@ var Cascader = React.memo(
536
576
  !option.loading && isLeafSelected && /* @__PURE__ */ jsx(
537
577
  Check,
538
578
  {
539
- className: cn(iconSizes[size], "text-primary")
579
+ className: cn(iconSizes[size], textColorClasses[color])
540
580
  }
541
581
  )
542
582
  ]
@@ -574,7 +614,8 @@ var Cascader = React.memo(
574
614
  "span",
575
615
  {
576
616
  className: cn(
577
- "inline-flex items-center gap-1 bg-primary/10 text-primary rounded whitespace-nowrap",
617
+ "inline-flex items-center gap-1 rounded whitespace-nowrap",
618
+ accentBgClasses[color],
578
619
  tagSizeClasses[size]
579
620
  ),
580
621
  children: [
@@ -624,7 +665,9 @@ var Cascader = React.memo(
624
665
  ref,
625
666
  className: cn(
626
667
  cascaderTriggerVariants({ status, size, fullWidth }),
668
+ focusRingColorClasses[color],
627
669
  disabled && "opacity-50 cursor-not-allowed",
670
+ loading && "opacity-50 pointer-events-none",
628
671
  "cascader_trigger",
629
672
  classNames?.trigger,
630
673
  className
@@ -635,6 +678,8 @@ var Cascader = React.memo(
635
678
  "aria-expanded": isOpen,
636
679
  "aria-haspopup": "listbox",
637
680
  "aria-disabled": disabled,
681
+ "aria-label": label || placeholder,
682
+ "data-slot": "trigger",
638
683
  children: [
639
684
  renderTriggerContent(),
640
685
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-text-secondary shrink-0", children: [
@@ -673,6 +718,7 @@ var Cascader = React.memo(
673
718
  {
674
719
  ref: containerRef,
675
720
  className: cn("relative cascader_root", fullWidth ? "w-full" : "inline-block", classNames?.root),
721
+ "data-slot": "root",
676
722
  children: /* @__PURE__ */ jsxs(PopoverPrimitive.Root, { open: isOpen, onOpenChange: handleOpenChange, children: [
677
723
  /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { asChild: true, children: triggerElement }),
678
724
  /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
@@ -738,5 +784,5 @@ Cascader.displayName = "Cascader";
738
784
  var cascader_default = Cascader;
739
785
 
740
786
  export { cascader_default };
741
- //# sourceMappingURL=chunk-2OUGJBXK.js.map
742
- //# sourceMappingURL=chunk-2OUGJBXK.js.map
787
+ //# sourceMappingURL=chunk-IVOMN6DV.js.map
788
+ //# sourceMappingURL=chunk-IVOMN6DV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cascader/index.tsx"],"names":["selectedPath","label"],"mappings":"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","file":"chunk-IVOMN6DV.js","sourcesContent":["'use client'\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { cva } from \"class-variance-authority\";\nimport { Check, ChevronDown, ChevronRight, Loader2, X } from \"lucide-react\";\nimport React from \"react\";\n\nimport type { ComponentColor } from \"../types\";\nimport { cn, iconSizes } from \"../utils\";\nimport { focusRingColorClasses, textColorClasses } from \"../variants\";\nimport type { CascaderOption, CascaderProps, CascaderSize } from \"./types\";\n\nconst cascaderTriggerVariants = cva(\n \"flex items-center justify-between gap-2 rounded-md border transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n {\n variants: {\n status: {\n default: \"bg-background border-border hover:border-primary/50\",\n error: \"border-error\",\n warning: \"border-warning\",\n info: \"border-info\",\n success: \"border-success\",\n },\n size: {\n xs: \"h-(--select-height-xs) px-(--select-padding-x-xs) text-xs\",\n sm: \"h-(--select-height-sm) px-(--select-padding-x-sm) text-sm\",\n md: \"h-(--select-height-md) px-(--select-padding-x-md) text-base\",\n lg: \"h-(--select-height-lg) px-(--select-padding-x-lg) text-lg\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n },\n defaultVariants: {\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n },\n },\n);\n\nconst cascaderMenuVariants = cva(\n \"overflow-auto rounded-md border bg-background w-[200px] max-h-[300px]\",\n {\n variants: {\n size: {\n xs: \"w-[160px]\",\n sm: \"w-[180px]\",\n md: \"w-[200px]\",\n lg: \"w-[220px]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nconst cascaderItemVariants = cva(\n \"relative cursor-pointer select-none text-text-primary transition-colors flex items-center gap-2 w-full\",\n {\n variants: {\n size: {\n xs: \"px-2 py-1 text-xs min-h-[28px]\",\n sm: \"px-2.5 py-1.5 text-sm min-h-[32px]\",\n md: \"px-3 py-2 text-base min-h-[36px]\",\n lg: \"px-3.5 py-2.5 text-lg min-h-[44px]\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n false: \"hover:bg-surface\",\n },\n active: {\n true: \"bg-surface\",\n false: \"\",\n },\n selected: {\n true: \"font-medium\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n disabled: false,\n active: false,\n selected: false,\n },\n },\n);\n\n/**\n * Tag size classes for multiple mode\n */\nconst tagSizeClasses: Record<CascaderSize, string> = {\n xs: \"text-[10px] px-1 py-0\",\n sm: \"text-xs px-1.5 py-0.5\",\n md: \"text-sm px-2 py-0.5\",\n lg: \"text-sm px-2.5 py-1\",\n};\n\n/**\n * Color-aware accent classes for selected items, tags, and checkboxes\n */\nconst accentBgClasses: Record<ComponentColor, string> = {\n default: \"bg-primary/10 text-primary\",\n primary: \"bg-primary/10 text-primary\",\n secondary: \"bg-secondary/10 text-secondary\",\n accent: \"bg-accent/10 text-accent\",\n success: \"bg-success/10 text-success\",\n error: \"bg-error/10 text-error\",\n warning: \"bg-warning/10 text-warning\",\n info: \"bg-info/10 text-info\",\n};\n\nconst checkboxCheckedClasses: Record<ComponentColor, string> = {\n default: \"bg-primary border-primary\",\n primary: \"bg-primary border-primary\",\n secondary: \"bg-secondary border-secondary\",\n accent: \"bg-accent border-accent\",\n success: \"bg-success border-success\",\n error: \"bg-error border-error\",\n warning: \"bg-warning border-warning\",\n info: \"bg-info border-info\",\n};\n\nconst indeterminateBgClasses: Record<ComponentColor, string> = {\n default: \"bg-primary\",\n primary: \"bg-primary\",\n secondary: \"bg-secondary\",\n accent: \"bg-accent\",\n success: \"bg-success\",\n error: \"bg-error\",\n warning: \"bg-warning\",\n info: \"bg-info\",\n};\n\n/**\n * Cascader Component\n *\n * A hierarchical selection component for selecting from nested options.\n *\n * @example\n * // Basic usage\n * <Cascader\n * options={options}\n * placeholder=\"Select location\"\n * onChange={(value, options) => console.log(value)}\n * />\n *\n * @example\n * // Multiple selection\n * <Cascader\n * options={options}\n * multiple\n * placeholder=\"Select categories\"\n * />\n */\nconst Cascader = React.memo<CascaderProps>(\n ({\n options,\n value,\n defaultValue,\n onChange,\n onSelect,\n placeholder = \"Please select\",\n label,\n helperText,\n messagePosition = \"bottom\",\n color = \"default\",\n size = \"md\",\n placement = \"bottomLeft\",\n disabled = false,\n loading = false,\n error,\n warning,\n info,\n success,\n fullWidth = true,\n expandTrigger = \"hover\",\n multiple = false,\n maxTagCount = 3,\n clearable = true,\n showPath = true,\n pathSeparator = \" / \",\n changeOnSelect = false,\n loadData,\n displayRender,\n tagRender,\n emptyContent = \"No options\",\n className,\n classNames,\n required,\n ref,\n onOpenChange,\n }) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [internalValue, setInternalValue] = React.useState<\n string[] | string[][]\n >(defaultValue || []);\n const [activeMenus, setActiveMenus] = React.useState<CascaderOption[][]>([\n options,\n ]);\n const [hoveredPath, setHoveredPath] = React.useState<number[]>([]);\n const [selectedPath, setSelectedPath] = React.useState<string[]>([]);\n const [focusedIndex, setFocusedIndex] = React.useState<{\n level: number;\n index: number;\n } | null>(null);\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const menuRefs = React.useRef<(HTMLDivElement | null)[]>([]);\n\n const currentValue = value !== undefined ? value : internalValue;\n\n // Normalize value to always be string[][]\n const normalizedValue: string[][] = React.useMemo(() => {\n if (multiple) {\n return Array.isArray(currentValue[0])\n ? (currentValue as string[][])\n : [];\n }\n return Array.isArray(currentValue) &&\n currentValue.length > 0 &&\n !Array.isArray(currentValue[0])\n ? [currentValue as string[]]\n : [];\n }, [currentValue, multiple]);\n\n // Determine status for styling\n let status: \"default\" | \"error\" | \"warning\" | \"info\" | \"success\" =\n \"default\";\n if (error) status = \"error\";\n else if (warning) status = \"warning\";\n else if (success) status = \"success\";\n else if (info) status = \"info\";\n\n const helperMessage = error || warning || info || success || helperText;\n\n // Handle open state changes\n const handleOpenChange = React.useCallback(\n (open: boolean) => {\n if (disabled || loading) return;\n\n setIsOpen(open);\n onOpenChange?.(open);\n\n if (open) {\n // Reset state when opening\n setActiveMenus([options]);\n setHoveredPath([]);\n setFocusedIndex(null);\n\n if (normalizedValue.length > 0 && !multiple) {\n setSelectedPath(normalizedValue[0] || []);\n // Expand to show current selection\n expandToPath(normalizedValue[0] || []);\n } else {\n setSelectedPath([]);\n }\n }\n },\n [disabled, loading, options, normalizedValue, multiple, onOpenChange],\n );\n\n // Expand menus to show a specific path\n const expandToPath = React.useCallback(\n (path: string[]) => {\n const menus: CascaderOption[][] = [options];\n let currentOptions = options;\n\n for (const val of path) {\n const option = currentOptions.find((opt) => opt.value === val);\n if (option?.children && option.children.length > 0) {\n menus.push(option.children);\n currentOptions = option.children;\n }\n }\n\n setActiveMenus(menus);\n },\n [options],\n );\n\n // Get selected options for a path\n const getSelectedOptions = React.useCallback(\n (path: string[]): CascaderOption[] => {\n const selected: CascaderOption[] = [];\n let currentOptions = options;\n\n for (const val of path) {\n const option = currentOptions.find((opt) => opt.value === val);\n if (option) {\n selected.push(option);\n currentOptions = option.children || [];\n }\n }\n\n return selected;\n },\n [options],\n );\n\n // Check if a path is selected\n const isPathSelected = React.useCallback(\n (path: string[]): boolean => {\n return normalizedValue.some(\n (selectedPath) =>\n selectedPath.length === path.length &&\n selectedPath.every((val, idx) => val === path[idx]),\n );\n },\n [normalizedValue],\n );\n\n // Get all leaf paths from an option\n const getAllLeafPaths = React.useCallback(\n (option: CascaderOption, currentPath: string[]): string[][] => {\n const paths: string[][] = [];\n const fullPath = [...currentPath, option.value];\n\n if (!option.children || option.children.length === 0) {\n paths.push(fullPath);\n } else {\n option.children.forEach((child) => {\n paths.push(...getAllLeafPaths(child, fullPath));\n });\n }\n\n return paths;\n },\n [],\n );\n\n // Get selection state for a node (for multiple mode checkboxes)\n const getNodeSelectionState = React.useCallback(\n (\n option: CascaderOption,\n currentPath: string[],\n ): { checked: boolean; indeterminate: boolean } => {\n if (!option.children || option.children.length === 0) {\n const fullPath = [...currentPath, option.value];\n return { checked: isPathSelected(fullPath), indeterminate: false };\n }\n\n const leafPaths = getAllLeafPaths(option, currentPath);\n const selectedCount = leafPaths.filter((path) =>\n isPathSelected(path),\n ).length;\n\n return {\n checked: selectedCount === leafPaths.length && leafPaths.length > 0,\n indeterminate: selectedCount > 0 && selectedCount < leafPaths.length,\n };\n },\n [isPathSelected, getAllLeafPaths],\n );\n\n // Handle item click\n const handleItemClick = React.useCallback(\n async (option: CascaderOption, level: number) => {\n if (option.disabled) return;\n\n const newPath = [...selectedPath.slice(0, level), option.value];\n setSelectedPath(newPath);\n\n // Handle async loading\n if (loadData && !option.children && !option.isLeaf && !option.loading) {\n const selectedOpts = getSelectedOptions(newPath);\n await loadData(selectedOpts);\n return;\n }\n\n const hasChildren = option.children && option.children.length > 0;\n const isLeaf = !hasChildren;\n\n if (hasChildren && !multiple) {\n // Single mode with children - just expand\n setActiveMenus((prev) => [\n ...prev.slice(0, level + 1),\n option.children!,\n ]);\n\n // changeOnSelect allows selecting parent nodes\n if (changeOnSelect) {\n const selectedOpts = getSelectedOptions(newPath);\n if (value === undefined) setInternalValue(newPath);\n onChange?.(newPath, selectedOpts);\n }\n } else if (hasChildren && multiple) {\n // Multiple mode with children - toggle all leaves\n const leafPaths = getAllLeafPaths(\n option,\n selectedPath.slice(0, level),\n );\n const allSelected = leafPaths.every((path) => isPathSelected(path));\n\n let newValue: string[][];\n if (allSelected) {\n newValue = normalizedValue.filter(\n (sp) =>\n !leafPaths.some(\n (lp) =>\n lp.length === sp.length && lp.every((v, i) => v === sp[i]),\n ),\n );\n } else {\n const pathsToAdd = leafPaths.filter(\n (path) => !isPathSelected(path),\n );\n newValue = [...normalizedValue, ...pathsToAdd];\n }\n\n const newSelectedOptions = newValue.map((path) =>\n getSelectedOptions(path),\n );\n if (value === undefined) setInternalValue(newValue);\n onChange?.(newValue, newSelectedOptions);\n\n // Also expand\n setActiveMenus((prev) => [\n ...prev.slice(0, level + 1),\n option.children!,\n ]);\n } else if (isLeaf) {\n // Leaf node\n if (multiple) {\n let newValue: string[][];\n if (isPathSelected(newPath)) {\n newValue = normalizedValue.filter(\n (path) =>\n !(\n path.length === newPath.length &&\n path.every((val, idx) => val === newPath[idx])\n ),\n );\n } else {\n newValue = [...normalizedValue, newPath];\n }\n\n const newSelectedOptions = newValue.map((path) =>\n getSelectedOptions(path),\n );\n if (value === undefined) setInternalValue(newValue);\n onChange?.(newValue, newSelectedOptions);\n } else {\n // Single mode - select and close\n const selectedOpts = getSelectedOptions(newPath);\n if (value === undefined) setInternalValue(newPath);\n onChange?.(newPath, selectedOpts);\n onSelect?.(newPath, selectedOpts);\n handleOpenChange(false);\n }\n }\n },\n [\n selectedPath,\n value,\n onChange,\n onSelect,\n getSelectedOptions,\n multiple,\n isPathSelected,\n normalizedValue,\n getAllLeafPaths,\n changeOnSelect,\n loadData,\n handleOpenChange,\n ],\n );\n\n // Handle item hover (for expand on hover)\n const handleItemHover = React.useCallback(\n (option: CascaderOption, level: number, index: number) => {\n if (expandTrigger !== \"hover\" || option.disabled) return;\n\n setHoveredPath((prev) => [...prev.slice(0, level), index]);\n // Track value-path so handleItemClick can build correct paths\n setSelectedPath((prev) => [...prev.slice(0, level), option.value]);\n\n if (option.children && option.children.length > 0) {\n setActiveMenus((prev) => [\n ...prev.slice(0, level + 1),\n option.children!,\n ]);\n } else {\n setActiveMenus((prev) => prev.slice(0, level + 1));\n }\n },\n [expandTrigger],\n );\n\n // Handle clear\n const handleClear = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n const emptyValue = multiple ? [] : [];\n if (value === undefined) setInternalValue(emptyValue);\n onChange?.(emptyValue, []);\n },\n [value, onChange, multiple],\n );\n\n // Remove a selection in multiple mode\n const removeSelection = React.useCallback(\n (pathToRemove: string[], e: React.MouseEvent) => {\n e.stopPropagation();\n if (!multiple) return;\n\n const newValue = normalizedValue.filter(\n (path) =>\n !(\n path.length === pathToRemove.length &&\n path.every((val, idx) => val === pathToRemove[idx])\n ),\n );\n\n const newSelectedOptions = newValue.map((path) =>\n getSelectedOptions(path),\n );\n if (value === undefined) setInternalValue(newValue);\n onChange?.(newValue, newSelectedOptions);\n },\n [multiple, normalizedValue, value, onChange, getSelectedOptions],\n );\n\n // Handle keyboard navigation\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (!isOpen) {\n if (e.key === \"Enter\" || e.key === \" \" || e.key === \"ArrowDown\") {\n e.preventDefault();\n handleOpenChange(true);\n }\n return;\n }\n\n switch (e.key) {\n case \"Escape\":\n e.preventDefault();\n handleOpenChange(false);\n break;\n\n case \"ArrowDown\":\n e.preventDefault();\n if (focusedIndex === null) {\n setFocusedIndex({ level: 0, index: 0 });\n } else {\n const currentMenu = activeMenus[focusedIndex.level];\n if (currentMenu && focusedIndex.index < currentMenu.length - 1) {\n setFocusedIndex({\n ...focusedIndex,\n index: focusedIndex.index + 1,\n });\n }\n }\n break;\n\n case \"ArrowUp\":\n e.preventDefault();\n if (focusedIndex && focusedIndex.index > 0) {\n setFocusedIndex({\n ...focusedIndex,\n index: focusedIndex.index - 1,\n });\n }\n break;\n\n case \"ArrowRight\":\n e.preventDefault();\n if (focusedIndex) {\n const currentMenu = activeMenus[focusedIndex.level];\n const option = currentMenu?.[focusedIndex.index];\n if (option?.children && option.children.length > 0) {\n setActiveMenus((prev) => [\n ...prev.slice(0, focusedIndex.level + 1),\n option.children!,\n ]);\n setFocusedIndex({ level: focusedIndex.level + 1, index: 0 });\n }\n }\n break;\n\n case \"ArrowLeft\":\n e.preventDefault();\n if (focusedIndex && focusedIndex.level > 0) {\n const parentLevel = focusedIndex.level - 1;\n // Preserve parent level's active index from hoveredPath or selectedPath\n const parentIndex = hoveredPath[parentLevel] ?? 0;\n setActiveMenus((prev) => prev.slice(0, focusedIndex.level));\n setFocusedIndex({ level: parentLevel, index: parentIndex });\n }\n break;\n\n case \"Enter\":\n e.preventDefault();\n if (focusedIndex) {\n const currentMenu = activeMenus[focusedIndex.level];\n const option = currentMenu?.[focusedIndex.index];\n if (option) {\n handleItemClick(option, focusedIndex.level);\n }\n }\n break;\n }\n },\n [isOpen, focusedIndex, activeMenus, handleOpenChange, handleItemClick],\n );\n\n // Display value computation\n const displayValue = React.useMemo(() => {\n if (normalizedValue.length === 0) return null;\n\n if (displayRender) {\n if (multiple) {\n const allLabels = normalizedValue.map((path) =>\n getSelectedOptions(path).map((opt) => opt.label),\n );\n const allOptions = normalizedValue.map((path) =>\n getSelectedOptions(path),\n );\n return displayRender(allLabels, allOptions);\n } else {\n const selectedOpts = getSelectedOptions(normalizedValue[0] || []);\n const labels = selectedOpts.map((opt) => opt.label);\n return displayRender(labels, selectedOpts);\n }\n }\n\n if (!multiple) {\n const selectedOpts = getSelectedOptions(normalizedValue[0] || []);\n const labels = selectedOpts.map((opt) => opt.label);\n if (showPath) {\n return labels.join(pathSeparator);\n }\n return labels[labels.length - 1] || null;\n }\n\n return null;\n }, [\n normalizedValue,\n displayRender,\n getSelectedOptions,\n multiple,\n showPath,\n pathSeparator,\n ]);\n\n const showClearButton =\n clearable &&\n normalizedValue.length > 0 &&\n normalizedValue[0]?.[0] &&\n !disabled &&\n !loading;\n\n // Render cascader menus\n const renderCascaderMenus = () => {\n return (\n <div className={cn(\"flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:border-r-0 [&>*:not(:last-child)]:rounded-r-none cascader_dropdown\", classNames?.dropdown)} data-slot=\"dropdown\">\n {activeMenus.map((menu, level) => (\n <div\n key={level}\n ref={(el) => {\n menuRefs.current[level] = el;\n }}\n role=\"listbox\"\n className={cn(cascaderMenuVariants({ size }), \"border-border cascader_menu\", classNames?.menu)}\n data-slot=\"menu\"\n >\n {menu.length === 0 ? (\n <div className=\"px-3 py-6 text-center text-text-secondary text-sm\">\n {emptyContent}\n </div>\n ) : (\n menu.map((option, index) => {\n const isActive =\n selectedPath[level] === option.value ||\n (expandTrigger === \"hover\" && hoveredPath[level] === index);\n const isFocused =\n focusedIndex?.level === level &&\n focusedIndex?.index === index;\n const currentPath = selectedPath.slice(0, level);\n const fullPath = [...currentPath, option.value];\n const selectionState = multiple\n ? getNodeSelectionState(option, currentPath)\n : null;\n const isLeafSelected =\n !multiple &&\n isPathSelected(fullPath) &&\n (!option.children || option.children.length === 0);\n\n return (\n <div\n key={option.value}\n role=\"option\"\n aria-selected={isLeafSelected || (selectionState?.checked ?? false)}\n aria-disabled={option.disabled}\n className={cn(\n cascaderItemVariants({\n size,\n disabled: !!option.disabled,\n active: isActive || isFocused,\n selected: isLeafSelected,\n }),\n isLeafSelected && accentBgClasses[color],\n \"cascader_option\",\n classNames?.option\n )}\n onClick={() => handleItemClick(option, level)}\n onMouseEnter={() => handleItemHover(option, level, index)}\n data-slot=\"option\"\n >\n {multiple && (\n <div\n className={cn(\n \"w-4 h-4 border rounded flex items-center justify-center shrink-0\",\n selectionState?.checked\n ? checkboxCheckedClasses[color]\n : \"border-border\",\n )}\n >\n {selectionState?.checked && (\n <Check className=\"h-3 w-3 text-background\" />\n )}\n {selectionState?.indeterminate &&\n !selectionState?.checked && (\n <div className={cn(\"w-2 h-0.5\", indeterminateBgClasses[color])} />\n )}\n </div>\n )}\n <span className=\"flex-1 truncate\">{option.label}</span>\n <span\n className={cn(\n \"shrink-0 flex items-center\",\n iconSizes[size],\n )}\n >\n {option.loading && (\n <Loader2\n className={cn(\"animate-spin\", iconSizes[size])}\n />\n )}\n {!option.loading &&\n option.children &&\n option.children.length > 0 && (\n <ChevronRight className={iconSizes[size]} />\n )}\n {!option.loading && isLeafSelected && (\n <Check\n className={cn(iconSizes[size], textColorClasses[color])}\n />\n )}\n </span>\n </div>\n );\n })\n )}\n </div>\n ))}\n </div>\n );\n };\n\n // Render trigger content\n const renderTriggerContent = () => {\n if (multiple && normalizedValue.length > 0) {\n const visibleTags = normalizedValue.slice(0, maxTagCount);\n const remainingCount = normalizedValue.length - maxTagCount;\n\n return (\n <div className=\"flex-1 flex flex-wrap gap-1 items-center min-h-0 overflow-hidden\">\n {visibleTags.map((path, idx) => {\n const selectedOpts = getSelectedOptions(path);\n const label = showPath\n ? selectedOpts.map((o) => o.label).join(pathSeparator)\n : selectedOpts[selectedOpts.length - 1]?.label || \"\";\n\n if (tagRender) {\n return tagRender({\n label,\n value: path,\n closable: !disabled,\n onClose: () =>\n removeSelection(path, {\n stopPropagation: () => {},\n } as React.MouseEvent),\n });\n }\n\n return (\n <span\n key={idx}\n className={cn(\n \"inline-flex items-center gap-1 rounded whitespace-nowrap\",\n accentBgClasses[color],\n tagSizeClasses[size],\n )}\n >\n <span className=\"truncate max-w-[150px]\">{label}</span>\n {!disabled && (\n <button\n type=\"button\"\n onClick={(e) => removeSelection(path, e)}\n className=\"hover:text-error shrink-0\"\n >\n <X className=\"h-3 w-3\" />\n </button>\n )}\n </span>\n );\n })}\n {remainingCount > 0 && (\n <span\n className={cn(\n \"inline-flex items-center bg-surface text-text-secondary rounded whitespace-nowrap\",\n tagSizeClasses[size],\n )}\n >\n +{remainingCount}\n </span>\n )}\n </div>\n );\n }\n\n return (\n <span\n className={cn(\"truncate flex-1\", !displayValue && \"text-text-secondary\")}\n >\n {displayValue || placeholder}\n </span>\n );\n };\n\n // Popover placement mapping\n const popoverSide = placement.startsWith(\"top\") ? \"top\" : \"bottom\";\n const popoverAlign = placement.endsWith(\"Right\") ? \"end\" : \"start\";\n\n const triggerElement = (\n <div\n ref={ref}\n className={cn(\n cascaderTriggerVariants({ status, size, fullWidth }),\n focusRingColorClasses[color],\n disabled && \"opacity-50 cursor-not-allowed\",\n loading && \"opacity-50 pointer-events-none\",\n \"cascader_trigger\",\n classNames?.trigger,\n className,\n )}\n onKeyDown={handleKeyDown}\n tabIndex={disabled ? -1 : 0}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-disabled={disabled}\n aria-label={label || placeholder}\n data-slot=\"trigger\"\n >\n {renderTriggerContent()}\n <div className=\"flex items-center gap-1 text-text-secondary shrink-0\">\n {loading && (\n <Loader2\n className={cn(\"animate-spin text-text-secondary\", iconSizes[size])}\n />\n )}\n {!loading && showClearButton && (\n <button\n type=\"button\"\n onClick={handleClear}\n className=\"hover:text-text-primary\"\n aria-label=\"Clear selection\"\n >\n <X className={iconSizes[size]} />\n </button>\n )}\n {!loading && (\n <ChevronDown\n className={cn(\n \"transition-transform\",\n iconSizes[size],\n isOpen && \"rotate-180\",\n )}\n />\n )}\n </div>\n </div>\n );\n\n const cascaderElement = (\n <div\n ref={containerRef}\n className={cn(\"relative cascader_root\", fullWidth ? \"w-full\" : \"inline-block\", classNames?.root)}\n data-slot=\"root\"\n >\n <PopoverPrimitive.Root open={isOpen} onOpenChange={handleOpenChange}>\n <PopoverPrimitive.Trigger asChild>\n {triggerElement}\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n side={popoverSide}\n align={popoverAlign}\n sideOffset={4}\n className=\"z-50 outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\n >\n {renderCascaderMenus()}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </div>\n );\n\n if (!label && !helperMessage) return cascaderElement;\n\n return (\n <div\n className={cn(\"flex flex-col\", fullWidth ? \"w-full\" : \"inline-block\")}\n >\n <div className=\"flex gap-2 items-center mb-0.5\">\n {label && (\n <label className=\"text-sm font-medium text-text-secondary\">\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </label>\n )}\n {helperMessage && messagePosition === \"top\" && (\n <span\n className={cn(\n \"text-xs\",\n status === \"error\" && \"text-error\",\n status === \"warning\" && \"text-warning\",\n status === \"info\" && \"text-info\",\n status === \"success\" && \"text-success\",\n status === \"default\" && \"text-text-secondary\",\n )}\n >\n {helperMessage}\n </span>\n )}\n </div>\n {cascaderElement}\n {helperMessage && messagePosition === \"bottom\" && (\n <span\n className={cn(\n \"text-xs mt-0.5\",\n status === \"error\" && \"text-error\",\n status === \"warning\" && \"text-warning\",\n status === \"info\" && \"text-info\",\n status === \"success\" && \"text-success\",\n status === \"default\" && \"text-text-secondary\",\n )}\n >\n {helperMessage}\n </span>\n )}\n </div>\n );\n },\n);\n\nCascader.displayName = \"Cascader\";\n\nexport type * from \"./types\";\nexport default Cascader;\n"]}
@@ -1,14 +1,14 @@
1
1
  import { toggle_group_default } from './chunk-KTHWXHDN.js';
2
- import { pagination_default } from './chunk-X5SCI7KH.js';
2
+ import { pagination_default } from './chunk-RZVEKAFR.js';
3
3
  import { input_default } from './chunk-CLLNXRYZ.js';
4
- import { checkbox_default } from './chunk-N32VWE6V.js';
4
+ import { checkbox_default } from './chunk-RLYGJN56.js';
5
5
  import { Popover, PopoverTrigger, PopoverContent } from './chunk-WTGCXWNX.js';
6
- import { button_default } from './chunk-YFK2DHCY.js';
7
- import { cn, iconSizes } from './chunk-NGYLRX6F.js';
6
+ import { button_default } from './chunk-TBMY5EQC.js';
7
+ import { iconSizes, cn } from './chunk-NGYLRX6F.js';
8
8
  import { useReactTable, getGroupedRowModel, getExpandedRowModel, getPaginationRowModel, getFilteredRowModel, getSortedRowModel, getCoreRowModel, flexRender } from '@tanstack/react-table';
9
9
  import { useVirtualizer } from '@tanstack/react-virtual';
10
- import { Search, Columns3, ChevronDown, ChevronsUpDown, PinOff, Pin, ChevronRight, Inbox } from 'lucide-react';
11
- import React, { useState, useRef, useEffect, useMemo } from 'react';
10
+ import { ChevronDown, ChevronRight, PinOff, Pin, Search, Columns3, ChevronsUpDown, Inbox } from 'lucide-react';
11
+ import React, { useState, useRef, useMemo, useEffect } from 'react';
12
12
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
13
13
  import { cva } from 'class-variance-authority';
14
14
 
@@ -376,7 +376,7 @@ var TableSkeleton = ({
376
376
  )) });
377
377
  };
378
378
  TableSkeleton.displayName = "TableSkeleton";
379
- function Table({
379
+ function TableComponent({
380
380
  data,
381
381
  columns,
382
382
  columnGroups,
@@ -667,7 +667,7 @@ function Table({
667
667
  const selectedRows = table.getSelectedRowModel().rows.map((row) => row.original);
668
668
  onSelectionChange(selectedRows);
669
669
  }
670
- }, [rowSelection, onSelectionChange, table]);
670
+ }, [rowSelection, onSelectionChange]);
671
671
  const rows = table.getRowModel().rows;
672
672
  const pinnedRowsData = rows.filter((row) => pinnedRows.includes(row.id));
673
673
  const unpinnedRows = rows.filter((row) => !pinnedRows.includes(row.id));
@@ -1038,9 +1038,10 @@ function Table({
1038
1038
  shouldShowBottomPagination && renderPagination()
1039
1039
  ] });
1040
1040
  }
1041
- Table.displayName = "Table";
1041
+ TableComponent.displayName = "Table";
1042
+ var Table = React.memo(TableComponent);
1042
1043
  var table_default = Table;
1043
1044
 
1044
1045
  export { EditableCell, TableActions, TableCell, TableHeaderCell, TableRow, TableSkeleton, table_default };
1045
- //# sourceMappingURL=chunk-REKWBXAQ.js.map
1046
- //# sourceMappingURL=chunk-REKWBXAQ.js.map
1046
+ //# sourceMappingURL=chunk-J6IJBRYT.js.map
1047
+ //# sourceMappingURL=chunk-J6IJBRYT.js.map