@mdigital_ui/ui 0.2.5 → 0.2.7

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 (274) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1023 -341
  3. package/dist/accordion/index.js +3 -3
  4. package/dist/avatar/index.js +4 -0
  5. package/dist/avatar/index.js.map +1 -0
  6. package/dist/badge/index.js +3 -3
  7. package/dist/breadcrumbs/index.js +5 -5
  8. package/dist/button/index.js +4 -4
  9. package/dist/button-group/index.js +2 -2
  10. package/dist/card/index.js +2 -2
  11. package/dist/carousel/index.js +2 -1
  12. package/dist/cascader/index.js +2 -2
  13. package/dist/chart/index.js +2 -2
  14. package/dist/checkbox/index.js +3 -3
  15. package/dist/checkbox-group/index.js +2 -2
  16. package/dist/chunk-27QEPVKU.js +115 -0
  17. package/dist/chunk-27QEPVKU.js.map +1 -0
  18. package/dist/{chunk-Y5A26EGR.js → chunk-2J57G7XG.js} +82 -24
  19. package/dist/chunk-2J57G7XG.js.map +1 -0
  20. package/dist/{chunk-FPOXTCYV.js → chunk-2NYVRAG4.js} +29 -20
  21. package/dist/chunk-2NYVRAG4.js.map +1 -0
  22. package/dist/chunk-2OUGJBXK.js +742 -0
  23. package/dist/chunk-2OUGJBXK.js.map +1 -0
  24. package/dist/{chunk-ROR4E6IE.js → chunk-2WZVD7P3.js} +38 -12
  25. package/dist/chunk-2WZVD7P3.js.map +1 -0
  26. package/dist/chunk-3UCZ4GMN.js +84 -0
  27. package/dist/chunk-3UCZ4GMN.js.map +1 -0
  28. package/dist/{chunk-RPAQAZTI.js → chunk-4LSKRZOT.js} +12 -7
  29. package/dist/chunk-4LSKRZOT.js.map +1 -0
  30. package/dist/{chunk-ASW7TEAN.js → chunk-4SQOFZ3N.js} +35 -18
  31. package/dist/chunk-4SQOFZ3N.js.map +1 -0
  32. package/dist/chunk-5PUATOLR.js +127 -0
  33. package/dist/chunk-5PUATOLR.js.map +1 -0
  34. package/dist/chunk-6TMOKYR7.js +75 -0
  35. package/dist/chunk-6TMOKYR7.js.map +1 -0
  36. package/dist/chunk-7UCNBMCV.js +261 -0
  37. package/dist/chunk-7UCNBMCV.js.map +1 -0
  38. package/dist/chunk-AQYOVYPS.js +237 -0
  39. package/dist/chunk-AQYOVYPS.js.map +1 -0
  40. package/dist/{chunk-BP434VYV.js → chunk-C5YO5VZS.js} +17 -17
  41. package/dist/chunk-C5YO5VZS.js.map +1 -0
  42. package/dist/{chunk-ZNJ7M5QK.js → chunk-CHGJX5F2.js} +69 -46
  43. package/dist/chunk-CHGJX5F2.js.map +1 -0
  44. package/dist/chunk-CK6A2R66.js +336 -0
  45. package/dist/chunk-CK6A2R66.js.map +1 -0
  46. package/dist/{chunk-I5ANSIDK.js → chunk-CMGCJXE5.js} +280 -100
  47. package/dist/chunk-CMGCJXE5.js.map +1 -0
  48. package/dist/chunk-CSRMVLPR.js +394 -0
  49. package/dist/chunk-CSRMVLPR.js.map +1 -0
  50. package/dist/chunk-DH7R6NBG.js +107 -0
  51. package/dist/chunk-DH7R6NBG.js.map +1 -0
  52. package/dist/{chunk-XMAH5PDW.js → chunk-FEMHXG2P.js} +28 -11
  53. package/dist/chunk-FEMHXG2P.js.map +1 -0
  54. package/dist/chunk-FIGSNRWY.js +382 -0
  55. package/dist/chunk-FIGSNRWY.js.map +1 -0
  56. package/dist/{chunk-C7SXY3ZV.js → chunk-FVTMKQUE.js} +5 -3
  57. package/dist/chunk-FVTMKQUE.js.map +1 -0
  58. package/dist/{chunk-UAMFKX6L.js → chunk-GBVIACYQ.js} +103 -42
  59. package/dist/chunk-GBVIACYQ.js.map +1 -0
  60. package/dist/chunk-H47C2ENJ.js +215 -0
  61. package/dist/chunk-H47C2ENJ.js.map +1 -0
  62. package/dist/chunk-HWFI4GJE.js +130 -0
  63. package/dist/chunk-HWFI4GJE.js.map +1 -0
  64. package/dist/chunk-IA42ELUP.js +72 -0
  65. package/dist/chunk-IA42ELUP.js.map +1 -0
  66. package/dist/{chunk-HUVXKOJC.js → chunk-INQI3UUI.js} +80 -22
  67. package/dist/chunk-INQI3UUI.js.map +1 -0
  68. package/dist/{chunk-BNILRB4T.js → chunk-J525ROGL.js} +12 -7
  69. package/dist/chunk-J525ROGL.js.map +1 -0
  70. package/dist/chunk-JLS4MBHN.js +205 -0
  71. package/dist/chunk-JLS4MBHN.js.map +1 -0
  72. package/dist/{chunk-SK5ECBBK.js → chunk-KTHWXHDN.js} +15 -6
  73. package/dist/chunk-KTHWXHDN.js.map +1 -0
  74. package/dist/{chunk-SOV4PE3P.js → chunk-LMR7TKDJ.js} +25 -7
  75. package/dist/chunk-LMR7TKDJ.js.map +1 -0
  76. package/dist/{chunk-NNSS366W.js → chunk-MRFCITKK.js} +53 -11
  77. package/dist/chunk-MRFCITKK.js.map +1 -0
  78. package/dist/chunk-MXDTUN3V.js +459 -0
  79. package/dist/chunk-MXDTUN3V.js.map +1 -0
  80. package/dist/{chunk-YNNAOXU5.js → chunk-NGYLRX6F.js} +3 -18
  81. package/dist/chunk-NGYLRX6F.js.map +1 -0
  82. package/dist/chunk-NTPWR57C.js +445 -0
  83. package/dist/chunk-NTPWR57C.js.map +1 -0
  84. package/dist/chunk-OWXQ45GS.js +276 -0
  85. package/dist/chunk-OWXQ45GS.js.map +1 -0
  86. package/dist/{chunk-75XESYGN.js → chunk-P6A75RAH.js} +7 -13
  87. package/dist/chunk-P6A75RAH.js.map +1 -0
  88. package/dist/{chunk-RMGIO27V.js → chunk-PXOHJJBE.js} +39 -10
  89. package/dist/chunk-PXOHJJBE.js.map +1 -0
  90. package/dist/{chunk-SAVE5ACL.js → chunk-Q57THXIU.js} +28 -10
  91. package/dist/chunk-Q57THXIU.js.map +1 -0
  92. package/dist/{chunk-J3G5WWGR.js → chunk-QDHGE7IF.js} +7 -15
  93. package/dist/chunk-QDHGE7IF.js.map +1 -0
  94. package/dist/{chunk-7PKVBUGL.js → chunk-QKSDVYKF.js} +4 -4
  95. package/dist/chunk-QKSDVYKF.js.map +1 -0
  96. package/dist/chunk-ROA7BYGB.js +123 -0
  97. package/dist/chunk-ROA7BYGB.js.map +1 -0
  98. package/dist/{chunk-DPOSWW22.js → chunk-RPIJ2KY7.js} +11 -4
  99. package/dist/chunk-RPIJ2KY7.js.map +1 -0
  100. package/dist/{chunk-R225A5II.js → chunk-RW4RW4DV.js} +80 -30
  101. package/dist/chunk-RW4RW4DV.js.map +1 -0
  102. package/dist/chunk-RYKVZFGB.js +607 -0
  103. package/dist/chunk-RYKVZFGB.js.map +1 -0
  104. package/dist/chunk-SAVEKACZ.js +552 -0
  105. package/dist/chunk-SAVEKACZ.js.map +1 -0
  106. package/dist/chunk-SDNT2JGC.js +143 -0
  107. package/dist/chunk-SDNT2JGC.js.map +1 -0
  108. package/dist/{chunk-DOKTHDG3.js → chunk-SGRACNBP.js} +12 -7
  109. package/dist/chunk-SGRACNBP.js.map +1 -0
  110. package/dist/{chunk-OALOWWO7.js → chunk-TTEBZZ3T.js} +55 -42
  111. package/dist/chunk-TTEBZZ3T.js.map +1 -0
  112. package/dist/{chunk-FCMVKFVV.js → chunk-US4ZCMNU.js} +26 -20
  113. package/dist/chunk-US4ZCMNU.js.map +1 -0
  114. package/dist/chunk-UUP7YGOS.js +299 -0
  115. package/dist/chunk-UUP7YGOS.js.map +1 -0
  116. package/dist/{chunk-QPJL66S7.js → chunk-VUBU7Y4F.js} +123 -55
  117. package/dist/chunk-VUBU7Y4F.js.map +1 -0
  118. package/dist/chunk-WUBMNJGC.js +141 -0
  119. package/dist/chunk-WUBMNJGC.js.map +1 -0
  120. package/dist/chunk-WVG3QQDN.js +283 -0
  121. package/dist/chunk-WVG3QQDN.js.map +1 -0
  122. package/dist/chunk-WZ2KDHFP.js +109 -0
  123. package/dist/chunk-WZ2KDHFP.js.map +1 -0
  124. package/dist/{chunk-FGWSUPVW.js → chunk-X5SCI7KH.js} +190 -137
  125. package/dist/chunk-X5SCI7KH.js.map +1 -0
  126. package/dist/{chunk-D3JWPGCA.js → chunk-XJCWPPMM.js} +10 -56
  127. package/dist/chunk-XJCWPPMM.js.map +1 -0
  128. package/dist/{chunk-LEKLQR4I.js → chunk-YAAV7FQG.js} +70 -45
  129. package/dist/chunk-YAAV7FQG.js.map +1 -0
  130. package/dist/chunk-YOG5GXIC.js +196 -0
  131. package/dist/chunk-YOG5GXIC.js.map +1 -0
  132. package/dist/chunk-Z5VJ6MJP.js +234 -0
  133. package/dist/chunk-Z5VJ6MJP.js.map +1 -0
  134. package/dist/{chunk-267WNY3E.js → chunk-ZC3E3PWH.js} +109 -73
  135. package/dist/chunk-ZC3E3PWH.js.map +1 -0
  136. package/dist/clipboard/index.js +2 -2
  137. package/dist/collapse/index.js +2 -2
  138. package/dist/command/index.js +3 -3
  139. package/dist/context-menu/index.js +4 -0
  140. package/dist/context-menu/index.js.map +1 -0
  141. package/dist/date-picker/index.js +4 -3
  142. package/dist/descriptions/index.js +2 -2
  143. package/dist/divider/index.js +4 -0
  144. package/dist/divider/index.js.map +1 -0
  145. package/dist/drawer/index.js +2 -2
  146. package/dist/dropdown/index.js +4 -3
  147. package/dist/empty/index.js +2 -2
  148. package/dist/fetching-overlay/index.js +4 -3
  149. package/dist/grid/index.js +2 -2
  150. package/dist/image/index.js +2 -2
  151. package/dist/index.d.ts +2494 -211
  152. package/dist/index.js +63 -186
  153. package/dist/index.js.map +1 -1
  154. package/dist/input/index.js +4 -3
  155. package/dist/input-group/index.js +2 -2
  156. package/dist/input-otp/index.js +2 -2
  157. package/dist/input-password/index.js +5 -4
  158. package/dist/kbd/index.js +3 -2
  159. package/dist/modal/index.js +2 -2
  160. package/dist/multi-select/index.js +4 -3
  161. package/dist/notification/index.js +3 -2
  162. package/dist/pagination/index.js +2 -2
  163. package/dist/popover/index.js +3 -2
  164. package/dist/progress/index.js +2 -2
  165. package/dist/radio/index.js +3 -2
  166. package/dist/radio-group/index.js +2 -2
  167. package/dist/rating/index.js +2 -2
  168. package/dist/ribbon/index.js +2 -2
  169. package/dist/select/index.js +5 -4
  170. package/dist/skeleton/index.js +3 -2
  171. package/dist/slider/index.js +2 -2
  172. package/dist/spinner/index.js +3 -2
  173. package/dist/stepper/index.js +2 -2
  174. package/dist/styles/base.css +2165 -1375
  175. package/dist/styles/global.css +2393 -1036
  176. package/dist/styles/themes/dark.css +3 -1
  177. package/dist/styles/themes/light.css +3 -1
  178. package/dist/styles/themes/presets/corporate.css +126 -0
  179. package/dist/styles/themes/presets/minimal.css +126 -0
  180. package/dist/styles/themes/presets/vibrant.css +126 -0
  181. package/dist/switch/index.js +3 -2
  182. package/dist/table/index.js +10 -10
  183. package/dist/tabs/index.js +3 -3
  184. package/dist/tag/index.js +5 -0
  185. package/dist/tag/index.js.map +1 -0
  186. package/dist/textarea/index.js +2 -2
  187. package/dist/theme/index.js +3 -0
  188. package/dist/theme/index.js.map +1 -0
  189. package/dist/toggle/index.js +2 -2
  190. package/dist/toggle-group/index.js +2 -2
  191. package/dist/tooltip/index.js +3 -2
  192. package/dist/transfer/index.js +4 -4
  193. package/dist/tree/index.js +2 -2
  194. package/dist/tree-select/index.js +5 -4
  195. package/dist/upload/index.js +2 -2
  196. package/package.json +460 -70
  197. package/dist/chunk-267WNY3E.js.map +0 -1
  198. package/dist/chunk-2EKAF6EJ.js +0 -128
  199. package/dist/chunk-2EKAF6EJ.js.map +0 -1
  200. package/dist/chunk-3PFA3YG6.js +0 -228
  201. package/dist/chunk-3PFA3YG6.js.map +0 -1
  202. package/dist/chunk-56IXGP5C.js +0 -56
  203. package/dist/chunk-56IXGP5C.js.map +0 -1
  204. package/dist/chunk-5UEWVFF6.js +0 -212
  205. package/dist/chunk-5UEWVFF6.js.map +0 -1
  206. package/dist/chunk-6V5I5HJ2.js +0 -39
  207. package/dist/chunk-6V5I5HJ2.js.map +0 -1
  208. package/dist/chunk-75XESYGN.js.map +0 -1
  209. package/dist/chunk-7PKVBUGL.js.map +0 -1
  210. package/dist/chunk-ASW7TEAN.js.map +0 -1
  211. package/dist/chunk-AWPKZYHT.js +0 -152
  212. package/dist/chunk-AWPKZYHT.js.map +0 -1
  213. package/dist/chunk-BFO3ARVJ.js +0 -104
  214. package/dist/chunk-BFO3ARVJ.js.map +0 -1
  215. package/dist/chunk-BNILRB4T.js.map +0 -1
  216. package/dist/chunk-BP434VYV.js.map +0 -1
  217. package/dist/chunk-C3MX5EXL.js +0 -95
  218. package/dist/chunk-C3MX5EXL.js.map +0 -1
  219. package/dist/chunk-C7SXY3ZV.js.map +0 -1
  220. package/dist/chunk-D3JWPGCA.js.map +0 -1
  221. package/dist/chunk-DOKTHDG3.js.map +0 -1
  222. package/dist/chunk-DPOSWW22.js.map +0 -1
  223. package/dist/chunk-FCMVKFVV.js.map +0 -1
  224. package/dist/chunk-FGWSUPVW.js.map +0 -1
  225. package/dist/chunk-FPOXTCYV.js.map +0 -1
  226. package/dist/chunk-FYHQDFKE.js +0 -164
  227. package/dist/chunk-FYHQDFKE.js.map +0 -1
  228. package/dist/chunk-G6TAVRTJ.js +0 -640
  229. package/dist/chunk-G6TAVRTJ.js.map +0 -1
  230. package/dist/chunk-GEWR5ROK.js +0 -102
  231. package/dist/chunk-GEWR5ROK.js.map +0 -1
  232. package/dist/chunk-HUVXKOJC.js.map +0 -1
  233. package/dist/chunk-I5ANSIDK.js.map +0 -1
  234. package/dist/chunk-J3G5WWGR.js.map +0 -1
  235. package/dist/chunk-JLTDJ3VZ.js +0 -452
  236. package/dist/chunk-JLTDJ3VZ.js.map +0 -1
  237. package/dist/chunk-KBCBVH7B.js +0 -51
  238. package/dist/chunk-KBCBVH7B.js.map +0 -1
  239. package/dist/chunk-KNQ7UQ2W.js +0 -143
  240. package/dist/chunk-KNQ7UQ2W.js.map +0 -1
  241. package/dist/chunk-KTAIRCOL.js +0 -100
  242. package/dist/chunk-KTAIRCOL.js.map +0 -1
  243. package/dist/chunk-LEKLQR4I.js.map +0 -1
  244. package/dist/chunk-MLDX3Z67.js +0 -470
  245. package/dist/chunk-MLDX3Z67.js.map +0 -1
  246. package/dist/chunk-NNSS366W.js.map +0 -1
  247. package/dist/chunk-OALOWWO7.js.map +0 -1
  248. package/dist/chunk-OOS3B7YZ.js +0 -94
  249. package/dist/chunk-OOS3B7YZ.js.map +0 -1
  250. package/dist/chunk-OQANRZPV.js +0 -197
  251. package/dist/chunk-OQANRZPV.js.map +0 -1
  252. package/dist/chunk-OW5A5IIF.js +0 -175
  253. package/dist/chunk-OW5A5IIF.js.map +0 -1
  254. package/dist/chunk-QPJL66S7.js.map +0 -1
  255. package/dist/chunk-R225A5II.js.map +0 -1
  256. package/dist/chunk-RMGIO27V.js.map +0 -1
  257. package/dist/chunk-ROR4E6IE.js.map +0 -1
  258. package/dist/chunk-RPAQAZTI.js.map +0 -1
  259. package/dist/chunk-S5XJXU52.js +0 -178
  260. package/dist/chunk-S5XJXU52.js.map +0 -1
  261. package/dist/chunk-SAVE5ACL.js.map +0 -1
  262. package/dist/chunk-SK5ECBBK.js.map +0 -1
  263. package/dist/chunk-SOV4PE3P.js.map +0 -1
  264. package/dist/chunk-UAMFKX6L.js.map +0 -1
  265. package/dist/chunk-XMAH5PDW.js.map +0 -1
  266. package/dist/chunk-XMKNYG7I.js +0 -181
  267. package/dist/chunk-XMKNYG7I.js.map +0 -1
  268. package/dist/chunk-Y5A26EGR.js.map +0 -1
  269. package/dist/chunk-YNNAOXU5.js.map +0 -1
  270. package/dist/chunk-YZ6V6BQ7.js +0 -134
  271. package/dist/chunk-YZ6V6BQ7.js.map +0 -1
  272. package/dist/chunk-YZVSDRJD.js +0 -253
  273. package/dist/chunk-YZVSDRJD.js.map +0 -1
  274. package/dist/chunk-ZNJ7M5QK.js.map +0 -1
@@ -1,470 +0,0 @@
1
- import { cn } from './chunk-YNNAOXU5.js';
2
- import { cva } from 'class-variance-authority';
3
- import React from 'react';
4
- import { jsx, jsxs } from 'react/jsx-runtime';
5
-
6
- var stepCircleVariants = cva(
7
- "rounded-full flex items-center justify-center font-medium transition-all",
8
- {
9
- variants: {
10
- size: {
11
- xs: "w-6 h-6 text-xs",
12
- sm: "w-8 h-8 text-sm",
13
- md: "w-10 h-10 text-base",
14
- lg: "w-12 h-12 text-lg"
15
- }
16
- },
17
- defaultVariants: {
18
- size: "md"
19
- }
20
- }
21
- );
22
- var stepDotVariants = cva("rounded-full transition-all", {
23
- variants: {
24
- size: {
25
- xs: "w-2 h-2",
26
- sm: "w-3 h-3",
27
- md: "w-4 h-4",
28
- lg: "w-5 h-5"
29
- }
30
- },
31
- defaultVariants: {
32
- size: "md"
33
- }
34
- });
35
- var stepLabelVariants = cva("font-medium", {
36
- variants: {
37
- size: {
38
- xs: "text-xs",
39
- sm: "text-sm",
40
- md: "text-base",
41
- lg: "text-lg"
42
- }
43
- },
44
- defaultVariants: {
45
- size: "md"
46
- }
47
- });
48
- var stepDescriptionVariants = cva("text-text-secondary", {
49
- variants: {
50
- size: {
51
- xs: "text-xs",
52
- sm: "text-xs",
53
- md: "text-sm",
54
- lg: "text-sm"
55
- }
56
- },
57
- defaultVariants: {
58
- size: "md"
59
- }
60
- });
61
- var connectorVariants = cva("bg-border", {
62
- variants: {
63
- size: {
64
- xs: "h-0.5",
65
- sm: "h-0.5",
66
- md: "h-1",
67
- lg: "h-1"
68
- }
69
- },
70
- defaultVariants: {
71
- size: "md"
72
- }
73
- });
74
- var getStepCircleClasses = (color, variant, state) => {
75
- const isError = state === "error";
76
- const isWait = state === "wait";
77
- if (isError) {
78
- if (variant === "solid")
79
- return "bg-error text-error-foreground border-2 border-error";
80
- if (variant === "soft")
81
- return "bg-error/10 border-2 border-error/50 text-error";
82
- return "bg-error/20 border-2 border-error text-error";
83
- }
84
- if (isWait) {
85
- if (variant === "solid") {
86
- const solidWaitClasses = {
87
- default: "bg-border/50 text-text-secondary",
88
- primary: "bg-primary/30 text-primary-foreground/50",
89
- secondary: "bg-secondary/30 text-secondary-foreground/50",
90
- accent: "bg-accent/30 text-accent-foreground/50",
91
- success: "bg-success/30 text-success-foreground/50",
92
- error: "bg-error/30 text-error-foreground/50",
93
- warning: "bg-warning/30 text-warning-foreground/50",
94
- info: "bg-info/30 text-info-foreground/50"
95
- };
96
- return solidWaitClasses[color];
97
- }
98
- if (variant === "soft") {
99
- const softWaitClasses = {
100
- default: "bg-surface/30 border-2 border-border/30 text-text-secondary",
101
- primary: "bg-primary/5 border-2 border-primary/20 text-text-secondary",
102
- secondary: "bg-secondary/5 border-2 border-secondary/20 text-text-secondary",
103
- accent: "bg-accent/5 border-2 border-accent/20 text-text-secondary",
104
- success: "bg-success/5 border-2 border-success/20 text-text-secondary",
105
- error: "bg-error/5 border-2 border-error/20 text-text-secondary",
106
- warning: "bg-warning/5 border-2 border-warning/20 text-text-secondary",
107
- info: "bg-info/5 border-2 border-info/20 text-text-secondary"
108
- };
109
- return softWaitClasses[color];
110
- }
111
- const defaultWaitClasses = {
112
- default: "bg-surface border-2 border-border/50 text-text-secondary",
113
- primary: "bg-primary/5 border-2 border-primary/30 text-text-secondary",
114
- secondary: "bg-secondary/5 border-2 border-secondary/30 text-text-secondary",
115
- accent: "bg-accent/5 border-2 border-accent/30 text-text-secondary",
116
- success: "bg-success/5 border-2 border-success/30 text-text-secondary",
117
- error: "bg-error/5 border-2 border-error/30 text-text-secondary",
118
- warning: "bg-warning/5 border-2 border-warning/30 text-text-secondary",
119
- info: "bg-info/5 border-2 border-info/30 text-text-secondary"
120
- };
121
- return defaultWaitClasses[color];
122
- }
123
- if (variant === "solid") {
124
- const solidActiveClasses = {
125
- default: "bg-border text-text-primary border-2 border-border",
126
- primary: "bg-primary text-primary-foreground border-2 border-primary",
127
- secondary: "bg-secondary text-secondary-foreground border-2 border-secondary",
128
- accent: "bg-accent text-accent-foreground border-2 border-accent",
129
- success: "bg-success text-success-foreground border-2 border-success",
130
- error: "bg-error text-error-foreground border-2 border-error",
131
- warning: "bg-warning text-warning-foreground border-2 border-warning",
132
- info: "bg-info text-info-foreground border-2 border-info"
133
- };
134
- return solidActiveClasses[color];
135
- }
136
- if (variant === "soft") {
137
- const softActiveClasses = {
138
- default: "bg-surface/50 border-2 border-border text-text-primary",
139
- primary: "bg-primary/10 border-2 border-primary/50 text-primary",
140
- secondary: "bg-secondary/10 border-2 border-secondary/50 text-secondary",
141
- accent: "bg-accent/10 border-2 border-accent/50 text-accent",
142
- success: "bg-success/10 border-2 border-success/50 text-success",
143
- error: "bg-error/10 border-2 border-error/50 text-error",
144
- warning: "bg-warning/10 border-2 border-warning/50 text-warning",
145
- info: "bg-info/10 border-2 border-info/50 text-info"
146
- };
147
- return softActiveClasses[color];
148
- }
149
- const defaultActiveClasses = {
150
- default: "bg-surface border-2 border-border text-text-primary",
151
- primary: "bg-primary/20 border-2 border-primary text-primary",
152
- secondary: "bg-secondary/20 border-2 border-secondary text-secondary",
153
- accent: "bg-accent/20 border-2 border-accent text-accent",
154
- success: "bg-success/20 border-2 border-success text-success",
155
- error: "bg-error/20 border-2 border-error text-error",
156
- warning: "bg-warning/20 border-2 border-warning text-warning",
157
- info: "bg-info/20 border-2 border-info text-info"
158
- };
159
- return defaultActiveClasses[color];
160
- };
161
- var getConnectorClasses = (color, variant, isFinished) => {
162
- if (!isFinished) return "bg-border/50";
163
- if (variant === "soft") {
164
- const softConnectorClasses = {
165
- default: "bg-border/50",
166
- primary: "bg-primary/50",
167
- secondary: "bg-secondary/50",
168
- accent: "bg-accent/50",
169
- success: "bg-success/50",
170
- error: "bg-error/50",
171
- warning: "bg-warning/50",
172
- info: "bg-info/50"
173
- };
174
- return softConnectorClasses[color];
175
- }
176
- const connectorClasses = {
177
- default: "bg-border",
178
- primary: "bg-primary",
179
- secondary: "bg-secondary",
180
- accent: "bg-accent",
181
- success: "bg-success",
182
- error: "bg-error",
183
- warning: "bg-warning",
184
- info: "bg-info"
185
- };
186
- return connectorClasses[color];
187
- };
188
- var Stepper = React.memo(
189
- ({
190
- steps,
191
- currentStep,
192
- color = "primary",
193
- size = "md",
194
- variant = "default",
195
- orientation = "horizontal",
196
- type = "numbered",
197
- status,
198
- onStepClick,
199
- className
200
- }) => {
201
- const getStepState = (index, step) => {
202
- if (step.status) return step.status;
203
- if (index === currentStep && status === "error") return "error";
204
- if (index < currentStep) return "finish";
205
- if (index === currentStep) return status || "process";
206
- return "wait";
207
- };
208
- const handleStepClick = (index, disabled) => {
209
- if (disabled) return;
210
- onStepClick?.(index);
211
- };
212
- if (orientation === "vertical") {
213
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col", className), children: steps.map((step, index) => {
214
- const state = getStepState(index, step);
215
- const isClickable = !step.disabled && onStepClick;
216
- return /* @__PURE__ */ jsxs(
217
- "div",
218
- {
219
- className: "flex",
220
- children: [
221
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center mr-4", children: [
222
- /* @__PURE__ */ jsx(
223
- "div",
224
- {
225
- className: cn(
226
- stepCircleVariants({ size }),
227
- getStepCircleClasses(color, variant, state),
228
- isClickable && "cursor-pointer hover:scale-105",
229
- step.disabled && "opacity-50 cursor-not-allowed"
230
- ),
231
- onClick: () => handleStepClick(index, step.disabled),
232
- children: step.icon || index + 1
233
- }
234
- ),
235
- index < steps.length - 1 && /* @__PURE__ */ jsx(
236
- "div",
237
- {
238
- className: cn(
239
- "w-0.5 flex-1 my-2",
240
- getConnectorClasses(color, variant, state === "finish")
241
- )
242
- }
243
- )
244
- ] }),
245
- /* @__PURE__ */ jsxs(
246
- "div",
247
- {
248
- className: cn("pb-8", index === steps.length - 1 && "pb-0"),
249
- children: [
250
- /* @__PURE__ */ jsx(
251
- "div",
252
- {
253
- className: cn(
254
- stepLabelVariants({ size }),
255
- state === "wait" ? "text-text-secondary" : "text-text-primary",
256
- state === "error" && "text-error"
257
- ),
258
- children: step.label
259
- }
260
- ),
261
- step.description && /* @__PURE__ */ jsx(
262
- "div",
263
- {
264
- className: cn(stepDescriptionVariants({ size }), "mt-1"),
265
- children: step.description
266
- }
267
- )
268
- ]
269
- }
270
- )
271
- ]
272
- },
273
- index
274
- );
275
- }) });
276
- }
277
- if (type === "dots") {
278
- return /* @__PURE__ */ jsx("div", { className: cn("flex items-start", className), children: steps.map((step, index) => {
279
- const state = getStepState(index, step);
280
- const isClickable = !step.disabled && onStepClick;
281
- const prevStep = steps[index - 1];
282
- const prevState = index > 0 && prevStep ? getStepState(index - 1, prevStep) : "wait";
283
- return /* @__PURE__ */ jsx(React.Fragment, { children: /* @__PURE__ */ jsxs(
284
- "div",
285
- {
286
- className: cn(
287
- "flex flex-col items-center flex-1",
288
- index === 0 && "items-start",
289
- index === steps.length - 1 && "items-end"
290
- ),
291
- children: [
292
- /* @__PURE__ */ jsxs("div", { className: "flex items-center w-full", children: [
293
- index > 0 && /* @__PURE__ */ jsx(
294
- "div",
295
- {
296
- className: cn(
297
- "flex-1",
298
- connectorVariants({ size }),
299
- getConnectorClasses(
300
- color,
301
- variant,
302
- prevState === "finish"
303
- )
304
- )
305
- }
306
- ),
307
- /* @__PURE__ */ jsx(
308
- "div",
309
- {
310
- className: cn(
311
- stepDotVariants({ size }),
312
- getStepCircleClasses(color, variant, state),
313
- isClickable && "cursor-pointer hover:scale-105",
314
- step.disabled && "opacity-50 cursor-not-allowed",
315
- "flex-shrink-0"
316
- ),
317
- onClick: () => handleStepClick(index, step.disabled)
318
- }
319
- ),
320
- index < steps.length - 1 && /* @__PURE__ */ jsx(
321
- "div",
322
- {
323
- className: cn(
324
- "flex-1",
325
- connectorVariants({ size }),
326
- getConnectorClasses(
327
- color,
328
- variant,
329
- state === "finish"
330
- )
331
- )
332
- }
333
- )
334
- ] }),
335
- /* @__PURE__ */ jsxs(
336
- "div",
337
- {
338
- className: cn(
339
- "mt-2 px-2",
340
- index === 0 && "text-left",
341
- index === steps.length - 1 && "text-right",
342
- index > 0 && index < steps.length - 1 && "text-center"
343
- ),
344
- children: [
345
- /* @__PURE__ */ jsx(
346
- "div",
347
- {
348
- className: cn(
349
- stepLabelVariants({ size }),
350
- state === "wait" ? "text-text-secondary" : "text-text-primary",
351
- state === "error" && "text-error"
352
- ),
353
- children: step.label
354
- }
355
- ),
356
- step.description && /* @__PURE__ */ jsx(
357
- "div",
358
- {
359
- className: cn(
360
- stepDescriptionVariants({ size }),
361
- "mt-1"
362
- ),
363
- children: step.description
364
- }
365
- )
366
- ]
367
- }
368
- )
369
- ]
370
- }
371
- ) }, index);
372
- }) });
373
- }
374
- return /* @__PURE__ */ jsx("div", { className: cn("flex items-start", className), children: steps.map((step, index) => {
375
- const state = getStepState(index, step);
376
- const isClickable = !step.disabled && onStepClick;
377
- const prevStep = steps[index - 1];
378
- const prevState = index > 0 && prevStep ? getStepState(index - 1, prevStep) : "wait";
379
- return /* @__PURE__ */ jsx(React.Fragment, { children: /* @__PURE__ */ jsxs(
380
- "div",
381
- {
382
- className: cn(
383
- "flex flex-col items-center flex-1",
384
- index === 0 && "items-start",
385
- index === steps.length - 1 && "items-end"
386
- ),
387
- children: [
388
- /* @__PURE__ */ jsxs("div", { className: "flex items-center w-full", children: [
389
- index > 0 && /* @__PURE__ */ jsx(
390
- "div",
391
- {
392
- className: cn(
393
- "flex-1",
394
- connectorVariants({ size }),
395
- getConnectorClasses(
396
- color,
397
- variant,
398
- prevState === "finish"
399
- )
400
- )
401
- }
402
- ),
403
- /* @__PURE__ */ jsx(
404
- "div",
405
- {
406
- className: cn(
407
- stepCircleVariants({ size }),
408
- getStepCircleClasses(color, variant, state),
409
- isClickable && "cursor-pointer hover:scale-105",
410
- step.disabled && "opacity-50 cursor-not-allowed",
411
- "flex-shrink-0"
412
- ),
413
- onClick: () => handleStepClick(index, step.disabled),
414
- children: step.icon || index + 1
415
- }
416
- ),
417
- index < steps.length - 1 && /* @__PURE__ */ jsx(
418
- "div",
419
- {
420
- className: cn(
421
- "flex-1",
422
- connectorVariants({ size }),
423
- getConnectorClasses(color, variant, state === "finish")
424
- )
425
- }
426
- )
427
- ] }),
428
- /* @__PURE__ */ jsxs(
429
- "div",
430
- {
431
- className: cn(
432
- "mt-2 px-2",
433
- index === 0 && "text-left",
434
- index === steps.length - 1 && "text-right",
435
- index > 0 && index < steps.length - 1 && "text-center"
436
- ),
437
- children: [
438
- /* @__PURE__ */ jsx(
439
- "div",
440
- {
441
- className: cn(
442
- stepLabelVariants({ size }),
443
- state === "wait" ? "text-text-secondary" : "text-text-primary",
444
- state === "error" && "text-error"
445
- ),
446
- children: step.label
447
- }
448
- ),
449
- step.description && /* @__PURE__ */ jsx(
450
- "div",
451
- {
452
- className: cn(stepDescriptionVariants({ size }), "mt-1"),
453
- children: step.description
454
- }
455
- )
456
- ]
457
- }
458
- )
459
- ]
460
- }
461
- ) }, index);
462
- }) });
463
- }
464
- );
465
- Stepper.displayName = "Stepper";
466
- var stepper_default = Stepper;
467
-
468
- export { stepper_default };
469
- //# sourceMappingURL=chunk-MLDX3Z67.js.map
470
- //# sourceMappingURL=chunk-MLDX3Z67.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/stepper/index.tsx"],"names":[],"mappings":"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","file":"chunk-MLDX3Z67.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport type {\n StepItem,\n StepperColor,\n StepperProps,\n StepperVariant,\n} from './types'\n\nconst stepCircleVariants = cva(\n 'rounded-full flex items-center justify-center font-medium transition-all',\n {\n variants: {\n size: {\n xs: 'w-6 h-6 text-xs',\n sm: 'w-8 h-8 text-sm',\n md: 'w-10 h-10 text-base',\n lg: 'w-12 h-12 text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst stepDotVariants = cva('rounded-full transition-all', {\n variants: {\n size: {\n xs: 'w-2 h-2',\n sm: 'w-3 h-3',\n md: 'w-4 h-4',\n lg: 'w-5 h-5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst stepLabelVariants = cva('font-medium', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst stepDescriptionVariants = cva('text-text-secondary', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-sm',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst connectorVariants = cva('bg-border', {\n variants: {\n size: {\n xs: 'h-0.5',\n sm: 'h-0.5',\n md: 'h-1',\n lg: 'h-1',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst getStepCircleClasses = (\n color: StepperColor,\n variant: StepperVariant,\n state: 'wait' | 'process' | 'finish' | 'error',\n) => {\n const isError = state === 'error'\n const isWait = state === 'wait'\n\n if (isError) {\n if (variant === 'solid')\n return 'bg-error text-error-foreground border-2 border-error'\n if (variant === 'soft')\n return 'bg-error/10 border-2 border-error/50 text-error'\n return 'bg-error/20 border-2 border-error text-error'\n }\n\n if (isWait) {\n if (variant === 'solid') {\n const solidWaitClasses = {\n default: 'bg-border/50 text-text-secondary',\n primary: 'bg-primary/30 text-primary-foreground/50',\n secondary: 'bg-secondary/30 text-secondary-foreground/50',\n accent: 'bg-accent/30 text-accent-foreground/50',\n success: 'bg-success/30 text-success-foreground/50',\n error: 'bg-error/30 text-error-foreground/50',\n warning: 'bg-warning/30 text-warning-foreground/50',\n info: 'bg-info/30 text-info-foreground/50',\n }\n return solidWaitClasses[color]\n }\n if (variant === 'soft') {\n const softWaitClasses = {\n default: 'bg-surface/30 border-2 border-border/30 text-text-secondary',\n primary: 'bg-primary/5 border-2 border-primary/20 text-text-secondary',\n secondary:\n 'bg-secondary/5 border-2 border-secondary/20 text-text-secondary',\n accent: 'bg-accent/5 border-2 border-accent/20 text-text-secondary',\n success: 'bg-success/5 border-2 border-success/20 text-text-secondary',\n error: 'bg-error/5 border-2 border-error/20 text-text-secondary',\n warning: 'bg-warning/5 border-2 border-warning/20 text-text-secondary',\n info: 'bg-info/5 border-2 border-info/20 text-text-secondary',\n }\n return softWaitClasses[color]\n }\n const defaultWaitClasses = {\n default: 'bg-surface border-2 border-border/50 text-text-secondary',\n primary: 'bg-primary/5 border-2 border-primary/30 text-text-secondary',\n secondary:\n 'bg-secondary/5 border-2 border-secondary/30 text-text-secondary',\n accent: 'bg-accent/5 border-2 border-accent/30 text-text-secondary',\n success: 'bg-success/5 border-2 border-success/30 text-text-secondary',\n error: 'bg-error/5 border-2 border-error/30 text-text-secondary',\n warning: 'bg-warning/5 border-2 border-warning/30 text-text-secondary',\n info: 'bg-info/5 border-2 border-info/30 text-text-secondary',\n }\n return defaultWaitClasses[color]\n }\n\n // process or finish states\n if (variant === 'solid') {\n const solidActiveClasses = {\n default: 'bg-border text-text-primary border-2 border-border',\n primary: 'bg-primary text-primary-foreground border-2 border-primary',\n secondary:\n 'bg-secondary text-secondary-foreground border-2 border-secondary',\n accent: 'bg-accent text-accent-foreground border-2 border-accent',\n success: 'bg-success text-success-foreground border-2 border-success',\n error: 'bg-error text-error-foreground border-2 border-error',\n warning: 'bg-warning text-warning-foreground border-2 border-warning',\n info: 'bg-info text-info-foreground border-2 border-info',\n }\n return solidActiveClasses[color]\n }\n if (variant === 'soft') {\n const softActiveClasses = {\n default: 'bg-surface/50 border-2 border-border text-text-primary',\n primary: 'bg-primary/10 border-2 border-primary/50 text-primary',\n secondary: 'bg-secondary/10 border-2 border-secondary/50 text-secondary',\n accent: 'bg-accent/10 border-2 border-accent/50 text-accent',\n success: 'bg-success/10 border-2 border-success/50 text-success',\n error: 'bg-error/10 border-2 border-error/50 text-error',\n warning: 'bg-warning/10 border-2 border-warning/50 text-warning',\n info: 'bg-info/10 border-2 border-info/50 text-info',\n }\n return softActiveClasses[color]\n }\n const defaultActiveClasses = {\n default: 'bg-surface border-2 border-border text-text-primary',\n primary: 'bg-primary/20 border-2 border-primary text-primary',\n secondary: 'bg-secondary/20 border-2 border-secondary text-secondary',\n accent: 'bg-accent/20 border-2 border-accent text-accent',\n success: 'bg-success/20 border-2 border-success text-success',\n error: 'bg-error/20 border-2 border-error text-error',\n warning: 'bg-warning/20 border-2 border-warning text-warning',\n info: 'bg-info/20 border-2 border-info text-info',\n }\n return defaultActiveClasses[color]\n}\n\nconst getConnectorClasses = (\n color: StepperColor,\n variant: StepperVariant,\n isFinished: boolean,\n) => {\n if (!isFinished) return 'bg-border/50'\n\n if (variant === 'soft') {\n const softConnectorClasses = {\n default: 'bg-border/50',\n primary: 'bg-primary/50',\n secondary: 'bg-secondary/50',\n accent: 'bg-accent/50',\n success: 'bg-success/50',\n error: 'bg-error/50',\n warning: 'bg-warning/50',\n info: 'bg-info/50',\n }\n return softConnectorClasses[color]\n }\n const connectorClasses = {\n default: 'bg-border',\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 return connectorClasses[color]\n}\n\nconst Stepper = React.memo<StepperProps>(\n ({\n steps,\n currentStep,\n color = 'primary',\n size = 'md',\n variant = 'default',\n orientation = 'horizontal',\n type = 'numbered',\n status,\n onStepClick,\n className,\n }) => {\n const getStepState = (\n index: number,\n step: StepItem,\n ): 'wait' | 'process' | 'finish' | 'error' => {\n if (step.status) return step.status\n if (index === currentStep && status === 'error') return 'error'\n if (index < currentStep) return 'finish'\n if (index === currentStep) return status || 'process'\n return 'wait'\n }\n\n const handleStepClick = (index: number, disabled?: boolean) => {\n if (disabled) return\n onStepClick?.(index)\n }\n\n if (orientation === 'vertical') {\n return (\n <div className={cn('flex flex-col', className)}>\n {steps.map((step, index) => {\n const state = getStepState(index, step)\n const isClickable = !step.disabled && onStepClick\n\n return (\n <div\n key={index}\n className=\"flex\"\n >\n <div className=\"flex flex-col items-center mr-4\">\n <div\n className={cn(\n stepCircleVariants({ size }),\n getStepCircleClasses(color, variant, state),\n isClickable && 'cursor-pointer hover:scale-105',\n step.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onClick={() => handleStepClick(index, step.disabled)}\n >\n {step.icon || index + 1}\n </div>\n {index < steps.length - 1 && (\n <div\n className={cn(\n 'w-0.5 flex-1 my-2',\n getConnectorClasses(color, variant, state === 'finish'),\n )}\n />\n )}\n </div>\n <div\n className={cn('pb-8', index === steps.length - 1 && 'pb-0')}\n >\n <div\n className={cn(\n stepLabelVariants({ size }),\n state === 'wait'\n ? 'text-text-secondary'\n : 'text-text-primary',\n state === 'error' && 'text-error',\n )}\n >\n {step.label}\n </div>\n {step.description && (\n <div\n className={cn(stepDescriptionVariants({ size }), 'mt-1')}\n >\n {step.description}\n </div>\n )}\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n\n if (type === 'dots') {\n return (\n <div className={cn('flex items-start', className)}>\n {steps.map((step, index) => {\n const state = getStepState(index, step)\n const isClickable = !step.disabled && onStepClick\n const prevStep = steps[index - 1]\n const prevState =\n index > 0 && prevStep ? getStepState(index - 1, prevStep) : 'wait'\n\n return (\n <React.Fragment key={index}>\n <div\n className={cn(\n 'flex flex-col items-center flex-1',\n index === 0 && 'items-start',\n index === steps.length - 1 && 'items-end',\n )}\n >\n <div className=\"flex items-center w-full\">\n {index > 0 && (\n <div\n className={cn(\n 'flex-1',\n connectorVariants({ size }),\n getConnectorClasses(\n color,\n variant,\n prevState === 'finish',\n ),\n )}\n />\n )}\n <div\n className={cn(\n stepDotVariants({ size }),\n getStepCircleClasses(color, variant, state),\n isClickable && 'cursor-pointer hover:scale-105',\n step.disabled && 'opacity-50 cursor-not-allowed',\n 'flex-shrink-0',\n )}\n onClick={() => handleStepClick(index, step.disabled)}\n />\n {index < steps.length - 1 && (\n <div\n className={cn(\n 'flex-1',\n connectorVariants({ size }),\n getConnectorClasses(\n color,\n variant,\n state === 'finish',\n ),\n )}\n />\n )}\n </div>\n <div\n className={cn(\n 'mt-2 px-2',\n index === 0 && 'text-left',\n index === steps.length - 1 && 'text-right',\n index > 0 && index < steps.length - 1 && 'text-center',\n )}\n >\n <div\n className={cn(\n stepLabelVariants({ size }),\n state === 'wait'\n ? 'text-text-secondary'\n : 'text-text-primary',\n state === 'error' && 'text-error',\n )}\n >\n {step.label}\n </div>\n {step.description && (\n <div\n className={cn(\n stepDescriptionVariants({ size }),\n 'mt-1',\n )}\n >\n {step.description}\n </div>\n )}\n </div>\n </div>\n </React.Fragment>\n )\n })}\n </div>\n )\n }\n\n return (\n <div className={cn('flex items-start', className)}>\n {steps.map((step, index) => {\n const state = getStepState(index, step)\n const isClickable = !step.disabled && onStepClick\n const prevStep = steps[index - 1]\n const prevState =\n index > 0 && prevStep ? getStepState(index - 1, prevStep) : 'wait'\n\n return (\n <React.Fragment key={index}>\n <div\n className={cn(\n 'flex flex-col items-center flex-1',\n index === 0 && 'items-start',\n index === steps.length - 1 && 'items-end',\n )}\n >\n <div className=\"flex items-center w-full\">\n {index > 0 && (\n <div\n className={cn(\n 'flex-1',\n connectorVariants({ size }),\n getConnectorClasses(\n color,\n variant,\n prevState === 'finish',\n ),\n )}\n />\n )}\n <div\n className={cn(\n stepCircleVariants({ size }),\n getStepCircleClasses(color, variant, state),\n isClickable && 'cursor-pointer hover:scale-105',\n step.disabled && 'opacity-50 cursor-not-allowed',\n 'flex-shrink-0',\n )}\n onClick={() => handleStepClick(index, step.disabled)}\n >\n {step.icon || index + 1}\n </div>\n {index < steps.length - 1 && (\n <div\n className={cn(\n 'flex-1',\n connectorVariants({ size }),\n getConnectorClasses(color, variant, state === 'finish'),\n )}\n />\n )}\n </div>\n <div\n className={cn(\n 'mt-2 px-2',\n index === 0 && 'text-left',\n index === steps.length - 1 && 'text-right',\n index > 0 && index < steps.length - 1 && 'text-center',\n )}\n >\n <div\n className={cn(\n stepLabelVariants({ size }),\n state === 'wait'\n ? 'text-text-secondary'\n : 'text-text-primary',\n state === 'error' && 'text-error',\n )}\n >\n {step.label}\n </div>\n {step.description && (\n <div\n className={cn(stepDescriptionVariants({ size }), 'mt-1')}\n >\n {step.description}\n </div>\n )}\n </div>\n </div>\n </React.Fragment>\n )\n })}\n </div>\n )\n },\n)\n\nStepper.displayName = 'Stepper'\n\nexport type * from './types'\nexport default Stepper\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/slider/index.tsx"],"names":[],"mappings":"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","file":"chunk-NNSS366W.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\nimport type { SliderProps } from './types'\n\nconst sliderTrackVariants = cva('relative rounded-full', {\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 thumbVariants = cva(\n 'absolute top-1/2 rounded-full border-2 bg-background cursor-pointer hover:scale-110 active:scale-100 transition-transform duration-150',\n {\n variants: {\n size: {\n xs: 'w-3 h-3',\n sm: 'w-4 h-4',\n md: 'w-4 h-4',\n lg: 'w-6 h-6',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst trackColorStyles = {\n default: {\n default: 'bg-surface',\n solid: 'bg-border',\n soft: 'bg-surface/50',\n },\n primary: {\n default: 'bg-primary/10',\n solid: 'bg-primary/20',\n soft: 'bg-primary/5',\n },\n secondary: {\n default: 'bg-secondary/10',\n solid: 'bg-secondary/20',\n soft: 'bg-secondary/5',\n },\n accent: {\n default: 'bg-accent/10',\n solid: 'bg-accent/20',\n soft: 'bg-accent/5',\n },\n success: {\n default: 'bg-success/10',\n solid: 'bg-success/20',\n soft: 'bg-success/5',\n },\n error: {\n default: 'bg-error/10',\n solid: 'bg-error/20',\n soft: 'bg-error/5',\n },\n warning: {\n default: 'bg-warning/10',\n solid: 'bg-warning/20',\n soft: 'bg-warning/5',\n },\n info: {\n default: 'bg-info/10',\n solid: 'bg-info/20',\n soft: 'bg-info/5',\n },\n}\n\nconst fillColorStyles = {\n default: {\n default: 'bg-surface border-border',\n solid: 'bg-border',\n soft: 'bg-surface/80',\n },\n primary: {\n default: 'bg-primary/20 border-primary',\n solid: 'bg-primary',\n soft: 'bg-primary/60',\n },\n secondary: {\n default: 'bg-secondary/20 border-secondary',\n solid: 'bg-secondary',\n soft: 'bg-secondary/60',\n },\n accent: {\n default: 'bg-accent/20 border-accent',\n solid: 'bg-accent',\n soft: 'bg-accent/60',\n },\n success: {\n default: 'bg-success/20 border-success',\n solid: 'bg-success',\n soft: 'bg-success/60',\n },\n error: {\n default: 'bg-error/20 border-error',\n solid: 'bg-error',\n soft: 'bg-error/60',\n },\n warning: {\n default: 'bg-warning/20 border-warning',\n solid: 'bg-warning',\n soft: 'bg-warning/60',\n },\n info: {\n default: 'bg-info/20 border-info',\n solid: 'bg-info',\n soft: 'bg-info/60',\n },\n}\n\nconst thumbColorStyles = {\n default: {\n default: 'border-border',\n solid: 'border-border',\n soft: 'border-surface',\n },\n primary: {\n default: 'border-primary',\n solid: 'border-primary',\n soft: 'border-primary/60',\n },\n secondary: {\n default: 'border-secondary',\n solid: 'border-secondary',\n soft: 'border-secondary/60',\n },\n accent: {\n default: 'border-accent',\n solid: 'border-accent',\n soft: 'border-accent/60',\n },\n success: {\n default: 'border-success',\n solid: 'border-success',\n soft: 'border-success/60',\n },\n error: {\n default: 'border-error',\n solid: 'border-error',\n soft: 'border-error/60',\n },\n warning: {\n default: 'border-warning',\n solid: 'border-warning',\n soft: 'border-warning/60',\n },\n info: {\n default: 'border-info',\n solid: 'border-info',\n soft: 'border-info/60',\n },\n}\n\nconst Slider = React.memo<SliderProps>(\n ({\n value: controlledValue,\n defaultValue = 50,\n min = 0,\n max = 100,\n step = 1,\n color = 'primary',\n size = 'md',\n variant = 'default',\n onChange,\n disabled = false,\n className,\n footer = false,\n range = false,\n }) => {\n const [internalValue, setInternalValue] = useState<number | number[]>(\n defaultValue,\n )\n const [hoveredThumb, setHoveredThumb] = useState<number | null>(null)\n const trackRef = useRef<HTMLDivElement>(null)\n const isDragging = useRef(false)\n const activeThumb = useRef<number>(0)\n\n const value = controlledValue ?? internalValue\n const values = Array.isArray(value) ? value : [value]\n\n const getPercentage = (val: number) => ((val - min) / (max - min)) * 100\n\n const getValue = (clientX: number) => {\n if (!trackRef.current) return min\n const rect = trackRef.current.getBoundingClientRect()\n const percentage = (clientX - rect.left) / rect.width\n const rawValue = min + percentage * (max - min)\n const steppedValue = Math.round(rawValue / step) * step\n return Math.max(min, Math.min(max, steppedValue))\n }\n\n const handleMouseDown = (thumbIndex: number) => (e: React.MouseEvent) => {\n if (disabled) return\n isDragging.current = true\n activeThumb.current = thumbIndex\n setHoveredThumb(thumbIndex)\n e.preventDefault()\n }\n\n const handleMouseMove = useCallback(\n (e: MouseEvent) => {\n if (!isDragging.current || disabled) return\n const newValue = getValue(e.clientX)\n\n if (range && Array.isArray(value)) {\n const newValues = [...value]\n newValues[activeThumb.current] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n },\n [disabled, value, range, controlledValue, min, max, step],\n )\n\n const handleMouseUp = useCallback(() => {\n isDragging.current = false\n setHoveredThumb(null)\n }, [])\n\n React.useEffect(() => {\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n return () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n }\n }, [handleMouseMove, handleMouseUp])\n\n const handleTrackClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (disabled || isDragging.current) return\n const newValue = getValue(e.clientX)\n\n if (range && Array.isArray(value)) {\n let closestThumbIndex = 0\n let minDistance = Math.abs(newValue - (value[0] || 0))\n for (let i = 1; i < value.length; i++) {\n const distance = Math.abs(newValue - (value[i] || 0))\n if (distance < minDistance) {\n minDistance = distance\n closestThumbIndex = i\n }\n }\n\n const newValues = [...value]\n newValues[closestThumbIndex] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n }\n\n return (\n <div className={cn('w-full', className)}>\n <div\n ref={trackRef}\n onClick={handleTrackClick}\n className={cn(\n sliderTrackVariants({ size }),\n trackColorStyles[color][variant],\n 'relative cursor-pointer', // ✅ фикс выхода\n disabled && 'opacity-50 cursor-not-allowed',\n )}\n >\n {/* Fill segment */}\n {range && values.length > 1 ? (\n values.slice(0, -1).map((val, index) => {\n const left = getPercentage(val)\n const right = getPercentage(values[index + 1]!)\n return (\n <div\n key={index}\n className={cn(\n 'absolute h-full rounded-full',\n fillColorStyles[color][variant],\n )}\n style={{ left: `${left}%`, width: `${right - left}%` }}\n />\n )\n })\n ) : (\n <div\n className={cn(\n 'absolute h-full rounded-full',\n fillColorStyles[color][variant],\n )}\n style={{ left: '0%', width: `${getPercentage(values[0] || 0)}%` }}\n />\n )}\n\n {/* Thumbs */}\n {values.map((val, index) => {\n const left = getPercentage(val)\n const isAtStart = left <= 0\n const isAtEnd = left >= 100\n return (\n <div\n key={index}\n className={cn(\n thumbVariants({ size }),\n thumbColorStyles[color][variant],\n disabled && 'cursor-not-allowed',\n )}\n style={{\n left: `${left}%`,\n transform: `translate(-50%, -50%) ${\n isAtStart\n ? 'translateX(50%)'\n : isAtEnd\n ? 'translateX(-50%)'\n : ''\n }`,\n }}\n onMouseDown={handleMouseDown(index)}\n >\n {hoveredThumb === index && (\n <div className=\"absolute -top-8 left-1/2 -translate-x-1/2 bg-text-primary text-background text-xs px-2 py-1 rounded whitespace-nowrap\">\n {val}\n </div>\n )}\n </div>\n )\n })}\n </div>\n\n {typeof footer === 'boolean' && (\n <div className=\"flex justify-between mt-1 text-sm text-text-secondary\">\n <span>{min}</span>\n <span className=\"font-medium text-text-primary\">\n {range && Array.isArray(value) ? value.join(' - ') : value}\n </span>\n <span>{max}</span>\n </div>\n )}\n {footer && typeof footer !== 'boolean' && footer}\n </div>\n )\n },\n)\n\nSlider.displayName = 'Slider'\n\nexport type * from './types'\nexport default Slider\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/checkbox/index.tsx"],"names":[],"mappings":"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","file":"chunk-OALOWWO7.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport { Check } from 'lucide-react'\nimport React, { useState } from 'react'\n\nimport { cn, iconSizes } from '../utils'\nimport { getCheckboxColorClass } from '../variants'\nimport type { CheckboxColor, CheckboxProps } from './types'\n\nconst colorClasses: Record<CheckboxColor, string> = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n error: 'text-error',\n warning: 'text-warning',\n info: 'text-info',\n};\n\nconst checkboxVariants = cva(\n 'appearance-none rounded border bg-background cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none',\n {\n variants: {\n color: {\n primary: 'border-border checked:border-primary',\n secondary: 'border-border checked:border-secondary',\n accent: 'border-border checked:border-accent',\n success: 'border-border checked:border-success',\n error: 'border-border checked:border-error',\n warning: 'border-border checked:border-warning',\n info: 'border-border checked:border-info',\n },\n size: {\n xs: 'w-[var(--checkbox-size-xs)] h-[var(--checkbox-size-xs)]',\n sm: 'w-[var(--checkbox-size-sm)] h-[var(--checkbox-size-sm)]',\n md: 'w-[var(--checkbox-size-md)] h-[var(--checkbox-size-md)]',\n lg: 'w-[var(--checkbox-size-lg)] h-[var(--checkbox-size-lg)]',\n },\n error: {\n true: 'border-error checked:border-error',\n false: '',\n },\n },\n defaultVariants: {\n color: 'primary',\n size: 'md',\n },\n },\n)\n\nconst Checkbox = React.memo<CheckboxProps>(\n ({\n color = 'primary',\n size = 'md',\n label,\n helperText,\n error,\n indeterminate = false,\n className,\n checked,\n defaultChecked,\n ref,\n labelClassName,\n ...props\n }) => {\n const [internalChecked, setInternalChecked] = useState(\n defaultChecked ?? false,\n )\n const internalRef = React.useRef<HTMLInputElement>(null)\n const checkboxRef =\n (ref as React.RefObject<HTMLInputElement>) || internalRef\n\n // Determine if controlled\n const isControlled = checked !== undefined\n const currentChecked = isControlled ? checked : internalChecked\n\n const onChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(event.target.checked)\n }\n props.onChange?.(event)\n },\n [isControlled, props.onChange],\n )\n\n React.useEffect(() => {\n if (checkboxRef.current) {\n checkboxRef.current.indeterminate = indeterminate\n }\n }, [indeterminate, checkboxRef])\n\n const checkboxElement = (\n <div className=\"relative inline-flex\">\n <input\n ref={checkboxRef}\n type=\"checkbox\"\n className={cn(\n checkboxVariants({ color, size, error: !!error }),\n className,\n )}\n aria-checked={indeterminate ? 'mixed' : currentChecked}\n {...props}\n onChange={onChange}\n checked={currentChecked}\n />\n {currentChecked && (\n <div className=\"absolute inset-0 flex items-center justify-center pointer-events-none\">\n {indeterminate ? (\n <div\n className={cn(\n 'w-[70%] h-[70%] rounded-xs border-2 border-background flex items-center justify-center',\n getCheckboxColorClass(color),\n )}\n />\n ) : (\n <Check\n className={cn(\n iconSizes[size],\n colorClasses[color], \n )}\n />\n )}\n </div>\n )}\n </div>\n )\n\n if (!label && !helperText && !error) return checkboxElement\n\n return (\n <div className=\"w-full\">\n <label\n className={cn(\n 'flex items-center gap-2',\n !props.disabled && 'cursor-pointer',\n )}\n >\n {checkboxElement}\n {label && (\n <span\n className={cn(\n 'text-sm text-text-primary select-none',\n error && 'text-error',\n props.disabled && 'opacity-50',\n labelClassName,\n )}\n >\n {label}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n className={cn(\n 'mt-1 ml-0 text-xs',\n error ? 'text-error' : 'text-text-secondary',\n )}\n >\n {error || helperText}\n </p>\n )}\n </div>\n )\n },\n)\n\nCheckbox.displayName = 'Checkbox'\n\nexport type * from './types'\nexport default Checkbox\n"]}