erp-pro-ui 0.1.1 → 0.1.2

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 (400) hide show
  1. package/README.md +512 -288
  2. package/dist/accordion.cjs +1 -1
  3. package/dist/accordion.mjs +1 -1
  4. package/dist/alert.cjs +1 -1
  5. package/dist/alert.mjs +1 -1
  6. package/dist/ascii-text.cjs +1 -1
  7. package/dist/ascii-text.mjs +1 -1
  8. package/dist/button.cjs +1 -1
  9. package/dist/button.mjs +1 -1
  10. package/dist/card.cjs +1 -1
  11. package/dist/card.mjs +1 -1
  12. package/dist/carousel.cjs +1 -1
  13. package/dist/carousel.mjs +1 -1
  14. package/dist/catalog.cjs +6 -0
  15. package/dist/catalog.cjs.map +1 -1
  16. package/dist/catalog.d.ts +11 -1
  17. package/dist/catalog.d.ts.map +1 -1
  18. package/dist/catalog.mjs +6 -0
  19. package/dist/catalog.mjs.map +1 -1
  20. package/dist/charts.cjs +4 -1
  21. package/dist/charts.mjs +2 -2
  22. package/dist/checkbox.cjs +1 -1
  23. package/dist/checkbox.mjs +1 -1
  24. package/dist/chip.cjs +1 -1
  25. package/dist/chip.mjs +1 -1
  26. package/dist/chroma-grid.cjs +1 -1
  27. package/dist/chroma-grid.mjs +1 -1
  28. package/dist/chunks/{accordion-C_0oGZkZ.mjs → accordion-Cbt-SJhj.mjs} +4 -4
  29. package/dist/chunks/accordion-Cbt-SJhj.mjs.map +1 -0
  30. package/dist/chunks/{accordion-BZ5hyz0_.cjs → accordion-pfJR8YYA.cjs} +4 -4
  31. package/dist/chunks/accordion-pfJR8YYA.cjs.map +1 -0
  32. package/dist/chunks/{alert-DeVa-NR1.mjs → alert-CtdLy4Hv.mjs} +6 -6
  33. package/dist/chunks/alert-CtdLy4Hv.mjs.map +1 -0
  34. package/dist/chunks/{alert-BdBDWqBN.cjs → alert-Dvz1GoL5.cjs} +6 -6
  35. package/dist/chunks/alert-Dvz1GoL5.cjs.map +1 -0
  36. package/dist/chunks/{ascii-text-BzQCLfya.mjs → ascii-text-C5tyNsR3.mjs} +32 -5
  37. package/dist/chunks/ascii-text-C5tyNsR3.mjs.map +1 -0
  38. package/dist/chunks/{ascii-text-D6lVHWph.cjs → ascii-text-DlmArZXh.cjs} +32 -5
  39. package/dist/chunks/ascii-text-DlmArZXh.cjs.map +1 -0
  40. package/dist/chunks/background-gradient-animation-BL-lnrJe.mjs.map +1 -1
  41. package/dist/chunks/background-gradient-animation-CXV9GDH8.cjs.map +1 -1
  42. package/dist/chunks/{button-CmNEMp_O.mjs → button-B0Lhj0AS.mjs} +3 -3
  43. package/dist/chunks/button-B0Lhj0AS.mjs.map +1 -0
  44. package/dist/chunks/{button-BH1eUjae.cjs → button-CZL6kFzT.cjs} +3 -3
  45. package/dist/chunks/button-CZL6kFzT.cjs.map +1 -0
  46. package/dist/chunks/{card-CzstAQYy.mjs → card-CcIF6z2H.mjs} +2 -2
  47. package/dist/chunks/card-CcIF6z2H.mjs.map +1 -0
  48. package/dist/chunks/{card-DZGM4zLx.cjs → card-gt-HZh0h.cjs} +2 -2
  49. package/dist/chunks/card-gt-HZh0h.cjs.map +1 -0
  50. package/dist/chunks/{carousel-47Eiyzwg.cjs → carousel-Cq5uwqQt.cjs} +3 -3
  51. package/dist/chunks/{carousel-BJ3nm2bw.mjs.map → carousel-Cq5uwqQt.cjs.map} +1 -1
  52. package/dist/chunks/{carousel-BJ3nm2bw.mjs → carousel-DJdqBVRK.mjs} +3 -3
  53. package/dist/chunks/{carousel-47Eiyzwg.cjs.map → carousel-DJdqBVRK.mjs.map} +1 -1
  54. package/dist/chunks/charts-BpElnsoR.cjs +687 -0
  55. package/dist/chunks/charts-BpElnsoR.cjs.map +1 -0
  56. package/dist/chunks/charts-DugYWvEf.mjs +632 -0
  57. package/dist/chunks/charts-DugYWvEf.mjs.map +1 -0
  58. package/dist/chunks/{checkbox-B3eIojWs.mjs → checkbox-DvwlGwWe.mjs} +8 -8
  59. package/dist/chunks/checkbox-DvwlGwWe.mjs.map +1 -0
  60. package/dist/chunks/{checkbox-DQmZwRTt.cjs → checkbox-yHuSw-hV.cjs} +8 -8
  61. package/dist/chunks/checkbox-yHuSw-hV.cjs.map +1 -0
  62. package/dist/chunks/{chip-cZ7-HmWw.mjs → chip-BGSUmnlO.mjs} +12 -12
  63. package/dist/chunks/chip-BGSUmnlO.mjs.map +1 -0
  64. package/dist/chunks/{chip-BH6wzwat.cjs → chip-DcBji__g.cjs} +12 -12
  65. package/dist/chunks/chip-DcBji__g.cjs.map +1 -0
  66. package/dist/chunks/{chroma-grid-DtsqM4LW.cjs → chroma-grid-9E9j1s9I.cjs} +10 -10
  67. package/dist/chunks/chroma-grid-9E9j1s9I.cjs.map +1 -0
  68. package/dist/chunks/{chroma-grid-CC_fFzxO.mjs → chroma-grid-Cdeql_2C.mjs} +10 -10
  69. package/dist/chunks/chroma-grid-Cdeql_2C.mjs.map +1 -0
  70. package/dist/chunks/color-palette-BLvDnCOD.cjs +754 -0
  71. package/dist/chunks/color-palette-BLvDnCOD.cjs.map +1 -0
  72. package/dist/chunks/color-palette-CXlCDiZz.mjs +748 -0
  73. package/dist/chunks/color-palette-CXlCDiZz.mjs.map +1 -0
  74. package/dist/chunks/{combobox-mAvOcg-E.cjs → combobox-BXu3s0dt.cjs} +56 -32
  75. package/dist/chunks/combobox-BXu3s0dt.cjs.map +1 -0
  76. package/dist/chunks/combobox-CjK-qG4k.mjs +132 -0
  77. package/dist/chunks/combobox-CjK-qG4k.mjs.map +1 -0
  78. package/dist/chunks/{data-table-BRcGhJDf.cjs → data-table-9HELVsYR.cjs} +197 -292
  79. package/dist/chunks/data-table-9HELVsYR.cjs.map +1 -0
  80. package/dist/chunks/{data-table-Dp0t_I_z.mjs → data-table-DyEQn9Yj.mjs} +197 -292
  81. package/dist/chunks/data-table-DyEQn9Yj.mjs.map +1 -0
  82. package/dist/chunks/{date-picker-BWBkr6LG.mjs → date-picker-D8gaaMlJ.mjs} +39 -16
  83. package/dist/chunks/date-picker-D8gaaMlJ.mjs.map +1 -0
  84. package/dist/chunks/{date-picker-DooielHi.cjs → date-picker-W9om1j7A.cjs} +39 -16
  85. package/dist/chunks/date-picker-W9om1j7A.cjs.map +1 -0
  86. package/dist/chunks/{dialog-Cbuf8V0g.cjs → dialog-CYFiWN8M.cjs} +20 -20
  87. package/dist/chunks/dialog-CYFiWN8M.cjs.map +1 -0
  88. package/dist/chunks/{dialog-C6nxSfIl.mjs → dialog-DUWnV9tN.mjs} +20 -20
  89. package/dist/chunks/dialog-DUWnV9tN.mjs.map +1 -0
  90. package/dist/chunks/{drawer-Dn0u8Sck.cjs → drawer-CLjsYdxN.cjs} +39 -22
  91. package/dist/chunks/drawer-CLjsYdxN.cjs.map +1 -0
  92. package/dist/chunks/drawer-D82Jz6KO.mjs +122 -0
  93. package/dist/chunks/drawer-D82Jz6KO.mjs.map +1 -0
  94. package/dist/chunks/{form-TwlDrshv.mjs → form-B2vcaHwh.mjs} +4 -4
  95. package/dist/chunks/form-B2vcaHwh.mjs.map +1 -0
  96. package/dist/chunks/{form-DcEuk721.cjs → form-CzH9GQc6.cjs} +4 -4
  97. package/dist/chunks/form-CzH9GQc6.cjs.map +1 -0
  98. package/dist/chunks/{gradual-blur-2jVhPcND.cjs → gradual-blur-B9GoY8o1.cjs} +1 -1
  99. package/dist/chunks/{gradual-blur-2jVhPcND.cjs.map → gradual-blur-B9GoY8o1.cjs.map} +1 -1
  100. package/dist/chunks/{gradual-blur-jTzKCmAV.mjs → gradual-blur-Bl3dOMEz.mjs} +1 -1
  101. package/dist/chunks/{gradual-blur-jTzKCmAV.mjs.map → gradual-blur-Bl3dOMEz.mjs.map} +1 -1
  102. package/dist/chunks/{hover-card-KjWMnvt_.cjs → hover-card-v0QwmVBU.cjs} +9 -4
  103. package/dist/chunks/hover-card-v0QwmVBU.cjs.map +1 -0
  104. package/dist/chunks/{hover-card-DwTVfjgN.mjs → hover-card-xqwpmZNm.mjs} +9 -4
  105. package/dist/chunks/{hover-card-KjWMnvt_.cjs.map → hover-card-xqwpmZNm.mjs.map} +1 -1
  106. package/dist/chunks/{icons-DYkpqWYG.cjs → icons-BxIzP2jd.cjs} +131 -8
  107. package/dist/chunks/icons-BxIzP2jd.cjs.map +1 -0
  108. package/dist/chunks/{icons-CrM6pFkv.mjs → icons-DuumN7z-.mjs} +108 -9
  109. package/dist/chunks/icons-DuumN7z-.mjs.map +1 -0
  110. package/dist/chunks/{input-CoRHoZkB.cjs → input-D9qZNqXV.cjs} +8 -8
  111. package/dist/chunks/input-D9qZNqXV.cjs.map +1 -0
  112. package/dist/chunks/{input-ChhwdNGk.mjs → input-wNqevfQ4.mjs} +8 -8
  113. package/dist/chunks/input-wNqevfQ4.mjs.map +1 -0
  114. package/dist/chunks/{label-EciNc4hO.cjs → label-BWPEGVam.cjs} +1 -1
  115. package/dist/chunks/{label-EciNc4hO.cjs.map → label-BWPEGVam.cjs.map} +1 -1
  116. package/dist/chunks/{label-JZn7PmtR.mjs → label-KPA-yYOF.mjs} +1 -1
  117. package/dist/chunks/{label-JZn7PmtR.mjs.map → label-KPA-yYOF.mjs.map} +1 -1
  118. package/dist/chunks/{loading-DPNa_X3c.mjs → loading-S1TdIrbB.mjs} +2 -2
  119. package/dist/chunks/{loading-DPNa_X3c.mjs.map → loading-S1TdIrbB.mjs.map} +1 -1
  120. package/dist/chunks/{loading-Cqgps3nf.cjs → loading-q7IEg56I.cjs} +2 -2
  121. package/dist/chunks/{loading-Cqgps3nf.cjs.map → loading-q7IEg56I.cjs.map} +1 -1
  122. package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs +132 -0
  123. package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs.map +1 -0
  124. package/dist/chunks/multi-select-combobox-UW0X15W7.cjs +139 -0
  125. package/dist/chunks/multi-select-combobox-UW0X15W7.cjs.map +1 -0
  126. package/dist/chunks/{otp-input-DaQDfI9C.cjs → otp-input-B6zzOEqw.cjs} +13 -14
  127. package/dist/chunks/otp-input-B6zzOEqw.cjs.map +1 -0
  128. package/dist/chunks/{otp-input-CNungc1j.mjs → otp-input-Bg4nQG6x.mjs} +13 -14
  129. package/dist/chunks/otp-input-Bg4nQG6x.mjs.map +1 -0
  130. package/dist/chunks/{overlay-BfUR77DT.cjs → overlay-DWNTyQzK.cjs} +1 -1
  131. package/dist/chunks/{overlay-BfUR77DT.cjs.map → overlay-DWNTyQzK.cjs.map} +1 -1
  132. package/dist/chunks/{overlay-CpdakhXI.mjs → overlay-TycCIFOu.mjs} +1 -1
  133. package/dist/chunks/{overlay-CpdakhXI.mjs.map → overlay-TycCIFOu.mjs.map} +1 -1
  134. package/dist/chunks/{password-strength-meter-xtMqhhFg.mjs → password-strength-meter-CbNSBuh_.mjs} +10 -10
  135. package/dist/chunks/password-strength-meter-CbNSBuh_.mjs.map +1 -0
  136. package/dist/chunks/{password-strength-meter-u4YI00zE.cjs → password-strength-meter-DxMV6GAs.cjs} +10 -10
  137. package/dist/chunks/password-strength-meter-DxMV6GAs.cjs.map +1 -0
  138. package/dist/chunks/progress-bar-C1OvQ-NI.cjs +96 -0
  139. package/dist/chunks/progress-bar-C1OvQ-NI.cjs.map +1 -0
  140. package/dist/chunks/progress-bar-C9FZDrju.mjs +89 -0
  141. package/dist/chunks/progress-bar-C9FZDrju.mjs.map +1 -0
  142. package/dist/chunks/{radio-C-fPZgSY.mjs → radio-C9w_CoiY.mjs} +9 -9
  143. package/dist/chunks/radio-C9w_CoiY.mjs.map +1 -0
  144. package/dist/chunks/{radio-mCgvEhOR.cjs → radio-jMHDvaMY.cjs} +9 -9
  145. package/dist/chunks/radio-jMHDvaMY.cjs.map +1 -0
  146. package/dist/chunks/select-D71tk6-I.mjs +152 -0
  147. package/dist/chunks/select-D71tk6-I.mjs.map +1 -0
  148. package/dist/chunks/select-WC_kPqUP.cjs +158 -0
  149. package/dist/chunks/select-WC_kPqUP.cjs.map +1 -0
  150. package/dist/chunks/{skeleton-D1S4RyeL.mjs → skeleton-BhYWOp0Q.mjs} +1 -1
  151. package/dist/chunks/{skeleton-D1S4RyeL.mjs.map → skeleton-BhYWOp0Q.mjs.map} +1 -1
  152. package/dist/chunks/{skeleton-C-NHrM-w.cjs → skeleton-DTXpHYYB.cjs} +1 -1
  153. package/dist/chunks/{skeleton-C-NHrM-w.cjs.map → skeleton-DTXpHYYB.cjs.map} +1 -1
  154. package/dist/chunks/{spinners-hf553hP9.mjs → spinners-BBCWD2gw.mjs} +2 -2
  155. package/dist/chunks/{spinners-hf553hP9.mjs.map → spinners-BBCWD2gw.mjs.map} +1 -1
  156. package/dist/chunks/{spinners-CU3bLaoo.cjs → spinners-BL4ERCCw.cjs} +2 -2
  157. package/dist/chunks/{spinners-CU3bLaoo.cjs.map → spinners-BL4ERCCw.cjs.map} +1 -1
  158. package/dist/chunks/{splash-cursor-Dpzl_YXx.cjs → splash-cursor-BVSmbcIX.cjs} +9 -8
  159. package/dist/chunks/splash-cursor-BVSmbcIX.cjs.map +1 -0
  160. package/dist/chunks/{splash-cursor-9BsoQZl0.mjs → splash-cursor-rSrTnawZ.mjs} +9 -8
  161. package/dist/chunks/splash-cursor-rSrTnawZ.mjs.map +1 -0
  162. package/dist/chunks/{spotlight-card-Bl0aXnT4.mjs → spotlight-card-BpZLMOp6.mjs} +1 -1
  163. package/dist/chunks/{spotlight-card-Bl0aXnT4.mjs.map → spotlight-card-BpZLMOp6.mjs.map} +1 -1
  164. package/dist/chunks/{spotlight-card-SUhrgstF.cjs → spotlight-card-DS1dy1W3.cjs} +1 -1
  165. package/dist/chunks/{spotlight-card-SUhrgstF.cjs.map → spotlight-card-DS1dy1W3.cjs.map} +1 -1
  166. package/dist/chunks/{stepper-uz8iRzlY.mjs → stepper-D4yQsQB0.mjs} +14 -14
  167. package/dist/chunks/stepper-D4yQsQB0.mjs.map +1 -0
  168. package/dist/chunks/{stepper-BDz6PkjV.cjs → stepper-fY-Sx72k.cjs} +14 -14
  169. package/dist/chunks/stepper-fY-Sx72k.cjs.map +1 -0
  170. package/dist/chunks/{sun-to-moon-button-3E6qah0o.mjs → sun-to-moon-button-B2Aje05o.mjs} +3 -3
  171. package/dist/chunks/{sun-to-moon-button-3E6qah0o.mjs.map → sun-to-moon-button-B2Aje05o.mjs.map} +1 -1
  172. package/dist/chunks/{sun-to-moon-button-B__3FWnK.cjs → sun-to-moon-button-BmFwRBye.cjs} +3 -3
  173. package/dist/chunks/{sun-to-moon-button-B__3FWnK.cjs.map → sun-to-moon-button-BmFwRBye.cjs.map} +1 -1
  174. package/dist/chunks/{switch-y8oWcyLp.cjs → switch-C5otDb4c.cjs} +3 -3
  175. package/dist/chunks/switch-C5otDb4c.cjs.map +1 -0
  176. package/dist/chunks/{switch-DYLavKgf.mjs → switch-DOVl_i_s.mjs} +3 -3
  177. package/dist/chunks/switch-DOVl_i_s.mjs.map +1 -0
  178. package/dist/chunks/textarea-CAUsyu4-.cjs +63 -0
  179. package/dist/chunks/textarea-CAUsyu4-.cjs.map +1 -0
  180. package/dist/chunks/textarea-CU5C-Zw9.mjs +57 -0
  181. package/dist/chunks/textarea-CU5C-Zw9.mjs.map +1 -0
  182. package/dist/chunks/{theme-CBtWIFMT.cjs → theme-7DWLxJK_.cjs} +4 -2
  183. package/dist/chunks/theme-7DWLxJK_.cjs.map +1 -0
  184. package/dist/chunks/{theme-Bwu0HKqZ.mjs → theme-BceKeYhw.mjs} +4 -2
  185. package/dist/chunks/theme-BceKeYhw.mjs.map +1 -0
  186. package/dist/chunks/{toast-C8JRhbSo.mjs → toast-CvfP7PUP.mjs} +20 -20
  187. package/dist/chunks/toast-CvfP7PUP.mjs.map +1 -0
  188. package/dist/chunks/{toast-DWOwpD2F.cjs → toast-Ds7_19Ap.cjs} +20 -20
  189. package/dist/chunks/toast-Ds7_19Ap.cjs.map +1 -0
  190. package/dist/chunks/{tooltip-YtA_66_1.mjs → tooltip-efHETBo1.mjs} +1 -1
  191. package/dist/chunks/{tooltip-YtA_66_1.mjs.map → tooltip-efHETBo1.mjs.map} +1 -1
  192. package/dist/chunks/{tooltip-BHXNmXsa.cjs → tooltip-nkIqViGk.cjs} +1 -1
  193. package/dist/chunks/{tooltip-BHXNmXsa.cjs.map → tooltip-nkIqViGk.cjs.map} +1 -1
  194. package/dist/chunks/{typography-BzprBnQc.mjs → typography-CLu6Hx9j.mjs} +7 -3
  195. package/dist/chunks/{typography-BzprBnQc.mjs.map → typography-CLu6Hx9j.mjs.map} +1 -1
  196. package/dist/chunks/{typography-3wSx67DZ.cjs → typography-DaLu9tty.cjs} +7 -3
  197. package/dist/chunks/{typography-3wSx67DZ.cjs.map → typography-DaLu9tty.cjs.map} +1 -1
  198. package/dist/color-palette.cjs +1 -1
  199. package/dist/color-palette.mjs +1 -1
  200. package/dist/colors.css +121 -186
  201. package/dist/combobox.cjs +1 -1
  202. package/dist/combobox.mjs +1 -1
  203. package/dist/components/data-display/charts/AreaChart.d.ts.map +1 -1
  204. package/dist/components/data-display/charts/BarChart.d.ts.map +1 -1
  205. package/dist/components/data-display/charts/NeonLineChart.d.ts.map +1 -1
  206. package/dist/components/data-display/charts/PieChart.d.ts.map +1 -1
  207. package/dist/components/data-display/charts/StackedBarChart.d.ts.map +1 -1
  208. package/dist/components/data-display/charts/ThinBreakdownBar.d.ts.map +1 -1
  209. package/dist/components/data-display/charts/chartPalette.d.ts +10 -0
  210. package/dist/components/data-display/charts/chartPalette.d.ts.map +1 -0
  211. package/dist/components/data-display/charts/index.d.ts +2 -0
  212. package/dist/components/data-display/charts/index.d.ts.map +1 -1
  213. package/dist/components/data-display/chip/Chip.d.ts.map +1 -1
  214. package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -1
  215. package/dist/components/data-display/data-table/DataTable.d.ts +17 -10
  216. package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
  217. package/dist/components/data-display/data-table/index.d.ts +1 -1
  218. package/dist/components/data-display/data-table/index.d.ts.map +1 -1
  219. package/dist/components/data-display/index.d.ts +1 -0
  220. package/dist/components/data-display/index.d.ts.map +1 -1
  221. package/dist/components/data-display/progress-bar/ProgressBar.d.ts +18 -0
  222. package/dist/components/data-display/progress-bar/ProgressBar.d.ts.map +1 -0
  223. package/dist/components/data-display/progress-bar/index.d.ts +3 -0
  224. package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
  225. package/dist/components/effects/ascii-text/ASCIIText.d.ts.map +1 -1
  226. package/dist/components/effects/border-beam/BorderBeam.d.ts.map +1 -1
  227. package/dist/components/effects/chroma-grid/ChromaGrid.d.ts.map +1 -1
  228. package/dist/components/effects/splash-cursor/SplashCursor.d.ts.map +1 -1
  229. package/dist/components/forms/combobox/Combobox.d.ts.map +1 -1
  230. package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
  231. package/dist/components/forms/input/Input.d.ts.map +1 -1
  232. package/dist/components/forms/multi-select-combobox/MultiSelectCombobox.d.ts.map +1 -1
  233. package/dist/components/forms/otp-input/OTPInput.d.ts.map +1 -1
  234. package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -1
  235. package/dist/components/forms/select/Select.d.ts.map +1 -1
  236. package/dist/components/forms/select/types.d.ts +2 -0
  237. package/dist/components/forms/select/types.d.ts.map +1 -1
  238. package/dist/components/forms/textarea/Textarea.d.ts.map +1 -1
  239. package/dist/components/icons/ColumnsIcon.d.ts +9 -0
  240. package/dist/components/icons/ColumnsIcon.d.ts.map +1 -0
  241. package/dist/components/icons/MailIcon.d.ts +9 -0
  242. package/dist/components/icons/MailIcon.d.ts.map +1 -0
  243. package/dist/components/icons/PlayIcon.d.ts +9 -0
  244. package/dist/components/icons/PlayIcon.d.ts.map +1 -0
  245. package/dist/components/icons/ZapIcon.d.ts +9 -0
  246. package/dist/components/icons/ZapIcon.d.ts.map +1 -0
  247. package/dist/components/icons/index.d.ts +4 -0
  248. package/dist/components/icons/index.d.ts.map +1 -1
  249. package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -1
  250. package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -1
  251. package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -1
  252. package/dist/components/typography/Typography.d.ts.map +1 -1
  253. package/dist/data-table.cjs +1 -1
  254. package/dist/data-table.mjs +1 -1
  255. package/dist/date-picker.cjs +1 -1
  256. package/dist/date-picker.mjs +1 -1
  257. package/dist/dialog.cjs +1 -1
  258. package/dist/dialog.mjs +1 -1
  259. package/dist/docs.cjs +50 -4
  260. package/dist/docs.cjs.map +1 -1
  261. package/dist/docs.d.ts +59 -9
  262. package/dist/docs.d.ts.map +1 -1
  263. package/dist/docs.mjs +50 -4
  264. package/dist/docs.mjs.map +1 -1
  265. package/dist/drawer.cjs +1 -1
  266. package/dist/drawer.mjs +1 -1
  267. package/dist/fonts.css +5 -0
  268. package/dist/form.cjs +1 -1
  269. package/dist/form.mjs +1 -1
  270. package/dist/foundation.css +3 -3
  271. package/dist/foundations/theme/ThemeProvider.d.ts +1 -0
  272. package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
  273. package/dist/gradual-blur.cjs +1 -1
  274. package/dist/gradual-blur.mjs +1 -1
  275. package/dist/hover-card.cjs +1 -1
  276. package/dist/hover-card.mjs +1 -1
  277. package/dist/icons.cjs +5 -1
  278. package/dist/icons.mjs +2 -2
  279. package/dist/index.cjs +50 -41
  280. package/dist/index.cjs.map +1 -1
  281. package/dist/index.d.ts +5 -3
  282. package/dist/index.d.ts.map +1 -1
  283. package/dist/index.mjs +43 -42
  284. package/dist/index.mjs.map +1 -1
  285. package/dist/input.cjs +1 -1
  286. package/dist/input.mjs +1 -1
  287. package/dist/label.cjs +1 -1
  288. package/dist/label.mjs +1 -1
  289. package/dist/loading.cjs +1 -1
  290. package/dist/loading.mjs +1 -1
  291. package/dist/multi-select-combobox.cjs +1 -1
  292. package/dist/multi-select-combobox.mjs +1 -1
  293. package/dist/otp-input.cjs +1 -1
  294. package/dist/otp-input.mjs +1 -1
  295. package/dist/password-strength-meter.cjs +1 -1
  296. package/dist/password-strength-meter.mjs +1 -1
  297. package/dist/progress-bar.cjs +3 -0
  298. package/dist/progress-bar.d.ts +2 -0
  299. package/dist/progress-bar.mjs +2 -0
  300. package/dist/radio.cjs +1 -1
  301. package/dist/radio.mjs +1 -1
  302. package/dist/select.cjs +1 -1
  303. package/dist/select.mjs +1 -1
  304. package/dist/skeleton.cjs +1 -1
  305. package/dist/skeleton.mjs +1 -1
  306. package/dist/spinners.cjs +1 -1
  307. package/dist/spinners.mjs +1 -1
  308. package/dist/splash-cursor.cjs +1 -1
  309. package/dist/splash-cursor.mjs +1 -1
  310. package/dist/spotlight-card.cjs +1 -1
  311. package/dist/spotlight-card.mjs +1 -1
  312. package/dist/stepper.cjs +1 -1
  313. package/dist/stepper.mjs +1 -1
  314. package/dist/sun-to-moon-button.cjs +1 -1
  315. package/dist/sun-to-moon-button.mjs +1 -1
  316. package/dist/switch.cjs +1 -1
  317. package/dist/switch.mjs +1 -1
  318. package/dist/textarea.cjs +1 -1
  319. package/dist/textarea.mjs +1 -1
  320. package/dist/theme.cjs +1 -1
  321. package/dist/theme.mjs +1 -1
  322. package/dist/toast.cjs +1 -1
  323. package/dist/toast.mjs +1 -1
  324. package/dist/tokens.css +592 -0
  325. package/dist/tooltip.cjs +1 -1
  326. package/dist/tooltip.mjs +1 -1
  327. package/dist/typography.cjs +1 -1
  328. package/dist/typography.mjs +1 -1
  329. package/package.json +19 -5
  330. package/dist/chunks/accordion-BZ5hyz0_.cjs.map +0 -1
  331. package/dist/chunks/accordion-C_0oGZkZ.mjs.map +0 -1
  332. package/dist/chunks/alert-BdBDWqBN.cjs.map +0 -1
  333. package/dist/chunks/alert-DeVa-NR1.mjs.map +0 -1
  334. package/dist/chunks/ascii-text-BzQCLfya.mjs.map +0 -1
  335. package/dist/chunks/ascii-text-D6lVHWph.cjs.map +0 -1
  336. package/dist/chunks/button-BH1eUjae.cjs.map +0 -1
  337. package/dist/chunks/button-CmNEMp_O.mjs.map +0 -1
  338. package/dist/chunks/card-CzstAQYy.mjs.map +0 -1
  339. package/dist/chunks/card-DZGM4zLx.cjs.map +0 -1
  340. package/dist/chunks/charts-Bynf6x07.mjs +0 -448
  341. package/dist/chunks/charts-Bynf6x07.mjs.map +0 -1
  342. package/dist/chunks/charts-UYl7Ecqv.cjs +0 -485
  343. package/dist/chunks/charts-UYl7Ecqv.cjs.map +0 -1
  344. package/dist/chunks/checkbox-B3eIojWs.mjs.map +0 -1
  345. package/dist/chunks/checkbox-DQmZwRTt.cjs.map +0 -1
  346. package/dist/chunks/chip-BH6wzwat.cjs.map +0 -1
  347. package/dist/chunks/chip-cZ7-HmWw.mjs.map +0 -1
  348. package/dist/chunks/chroma-grid-CC_fFzxO.mjs.map +0 -1
  349. package/dist/chunks/chroma-grid-DtsqM4LW.cjs.map +0 -1
  350. package/dist/chunks/color-palette-Cz7vqbil.cjs +0 -1156
  351. package/dist/chunks/color-palette-Cz7vqbil.cjs.map +0 -1
  352. package/dist/chunks/color-palette-yadpDCUw.mjs +0 -1150
  353. package/dist/chunks/color-palette-yadpDCUw.mjs.map +0 -1
  354. package/dist/chunks/combobox-B9Nzlhu3.mjs +0 -108
  355. package/dist/chunks/combobox-B9Nzlhu3.mjs.map +0 -1
  356. package/dist/chunks/combobox-mAvOcg-E.cjs.map +0 -1
  357. package/dist/chunks/data-table-BRcGhJDf.cjs.map +0 -1
  358. package/dist/chunks/data-table-Dp0t_I_z.mjs.map +0 -1
  359. package/dist/chunks/date-picker-BWBkr6LG.mjs.map +0 -1
  360. package/dist/chunks/date-picker-DooielHi.cjs.map +0 -1
  361. package/dist/chunks/dialog-C6nxSfIl.mjs.map +0 -1
  362. package/dist/chunks/dialog-Cbuf8V0g.cjs.map +0 -1
  363. package/dist/chunks/drawer-DIuvgqTA.mjs +0 -105
  364. package/dist/chunks/drawer-DIuvgqTA.mjs.map +0 -1
  365. package/dist/chunks/drawer-Dn0u8Sck.cjs.map +0 -1
  366. package/dist/chunks/form-DcEuk721.cjs.map +0 -1
  367. package/dist/chunks/form-TwlDrshv.mjs.map +0 -1
  368. package/dist/chunks/hover-card-DwTVfjgN.mjs.map +0 -1
  369. package/dist/chunks/icons-CrM6pFkv.mjs.map +0 -1
  370. package/dist/chunks/icons-DYkpqWYG.cjs.map +0 -1
  371. package/dist/chunks/input-ChhwdNGk.mjs.map +0 -1
  372. package/dist/chunks/input-CoRHoZkB.cjs.map +0 -1
  373. package/dist/chunks/multi-select-combobox-BPRTZVF6.mjs +0 -108
  374. package/dist/chunks/multi-select-combobox-BPRTZVF6.mjs.map +0 -1
  375. package/dist/chunks/multi-select-combobox-DiMwJxj_.cjs +0 -115
  376. package/dist/chunks/multi-select-combobox-DiMwJxj_.cjs.map +0 -1
  377. package/dist/chunks/otp-input-CNungc1j.mjs.map +0 -1
  378. package/dist/chunks/otp-input-DaQDfI9C.cjs.map +0 -1
  379. package/dist/chunks/password-strength-meter-u4YI00zE.cjs.map +0 -1
  380. package/dist/chunks/password-strength-meter-xtMqhhFg.mjs.map +0 -1
  381. package/dist/chunks/radio-C-fPZgSY.mjs.map +0 -1
  382. package/dist/chunks/radio-mCgvEhOR.cjs.map +0 -1
  383. package/dist/chunks/select-BB-pOzI2.mjs +0 -116
  384. package/dist/chunks/select-BB-pOzI2.mjs.map +0 -1
  385. package/dist/chunks/select-BwelAQc1.cjs +0 -122
  386. package/dist/chunks/select-BwelAQc1.cjs.map +0 -1
  387. package/dist/chunks/splash-cursor-9BsoQZl0.mjs.map +0 -1
  388. package/dist/chunks/splash-cursor-Dpzl_YXx.cjs.map +0 -1
  389. package/dist/chunks/stepper-BDz6PkjV.cjs.map +0 -1
  390. package/dist/chunks/stepper-uz8iRzlY.mjs.map +0 -1
  391. package/dist/chunks/switch-DYLavKgf.mjs.map +0 -1
  392. package/dist/chunks/switch-y8oWcyLp.cjs.map +0 -1
  393. package/dist/chunks/textarea-BWkUVpm3.cjs +0 -66
  394. package/dist/chunks/textarea-BWkUVpm3.cjs.map +0 -1
  395. package/dist/chunks/textarea-Bxqe70TW.mjs +0 -60
  396. package/dist/chunks/textarea-Bxqe70TW.mjs.map +0 -1
  397. package/dist/chunks/theme-Bwu0HKqZ.mjs.map +0 -1
  398. package/dist/chunks/theme-CBtWIFMT.cjs.map +0 -1
  399. package/dist/chunks/toast-C8JRhbSo.mjs.map +0 -1
  400. package/dist/chunks/toast-DWOwpD2F.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splash-cursor-BVSmbcIX.cjs","names":[],"sources":["../../src/components/effects/splash-cursor/SplashCursor.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useCallback } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { SplashCursorProps, Particle } from \"./types\";\n\nconst sizeConfig = {\n sm: { base: 20, variance: 10 },\n md: { base: 40, variance: 20 },\n lg: { base: 60, variance: 30 },\n xl: { base: 100, variance: 50 },\n};\n\nconst defaultColors = [\n \"var(--ds-color-accent)\",\n \"var(--ds-color-accent-hover)\",\n \"var(--ds-color-info)\",\n \"var(--ds-color-success)\",\n \"var(--ds-color-warning)\",\n \"var(--ds-color-danger)\",\n];\n\nexport const SplashCursor = ({\n className,\n color,\n secondaryColor,\n size = \"md\",\n particleCount = 12,\n enabled = true,\n blur = 0,\n opacity = 0.6,\n duration = 800,\n smooth = true,\n smoothFactor = 0.15,\n style,\n children,\n variant = \"splash\",\n}: SplashCursorProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [particles, setParticles] = useState<Particle[]>([]);\n const [mousePos, setMousePos] = useState({ x: 0, y: 0 });\n const [smoothPos, setSmoothPos] = useState({ x: 0, y: 0 });\n const [isInside, setIsInside] = useState(false);\n const particleIdRef = useRef<number>(0);\n const animationFrameRef = useRef<number | undefined>(undefined);\n\n // Smooth cursor following\n useEffect(() => {\n if (!smooth || !enabled) return;\n\n const animate = () => {\n setSmoothPos((prev) => ({\n x: prev.x + (mousePos.x - prev.x) * smoothFactor,\n y: prev.y + (mousePos.y - prev.y) * smoothFactor,\n }));\n animationFrameRef.current = requestAnimationFrame(animate);\n };\n\n animationFrameRef.current = requestAnimationFrame(animate);\n return () => {\n if (animationFrameRef.current) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n };\n }, [mousePos, smooth, smoothFactor, enabled]);\n\n const getRandomColor = useCallback(() => {\n if (color && secondaryColor) {\n return Math.random() > 0.5 ? color : secondaryColor;\n }\n if (color) return color;\n return defaultColors[Math.floor(Math.random() * defaultColors.length)];\n }, [color, secondaryColor]);\n\n const createParticles = useCallback(\n (x: number, y: number) => {\n const config = sizeConfig[size];\n const newParticles: Particle[] = [];\n\n for (let i = 0; i < particleCount; i++) {\n const angle = (Math.PI * 2 * i) / particleCount;\n const distance =\n variant === \"ripple\" ? config.base : Math.random() * config.variance;\n\n newParticles.push({\n id: particleIdRef.current++,\n x: x + Math.cos(angle) * distance * (variant === \"ripple\" ? 0 : 1),\n y: y + Math.sin(angle) * distance * (variant === \"ripple\" ? 0 : 1),\n size: config.base * 0.3 + Math.random() * config.base * 0.4,\n opacity: opacity * (0.5 + Math.random() * 0.5),\n color: getRandomColor(),\n });\n }\n\n setParticles((prev) => [...prev.slice(-50), ...newParticles]);\n\n // Remove particles after animation\n setTimeout(() => {\n setParticles((prev) =>\n prev.filter((p) => !newParticles.find((np) => np.id === p.id)),\n );\n }, duration);\n },\n [size, particleCount, opacity, duration, getRandomColor, variant],\n );\n\n const handleMouseMove = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (!enabled || !containerRef.current) return;\n\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n\n setMousePos({ x, y });\n\n // Create splash effect on movement\n if (variant === \"splash\" || variant === \"trail\") {\n if (Math.random() > (variant === \"trail\" ? 0.7 : 0.85)) {\n createParticles(x, y);\n }\n }\n },\n [enabled, createParticles, variant],\n );\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (!enabled || !containerRef.current) return;\n\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n\n // Create burst effect on click\n createParticles(x, y);\n if (variant === \"ripple\") {\n setTimeout(() => createParticles(x, y), 100);\n setTimeout(() => createParticles(x, y), 200);\n }\n },\n [enabled, createParticles, variant],\n );\n\n const getParticleAnimation = (particle: Particle) => {\n const config = sizeConfig[size];\n\n switch (variant) {\n case \"glow\":\n return {\n initial: { scale: 0, opacity: particle.opacity },\n animate: { scale: 2, opacity: 0 },\n exit: { scale: 3, opacity: 0 },\n };\n case \"trail\":\n return {\n initial: { scale: 1, opacity: particle.opacity, y: 0 },\n animate: { scale: 0.5, opacity: 0, y: 20 },\n exit: { scale: 0, opacity: 0 },\n };\n case \"ripple\":\n return {\n initial: { scale: 0, opacity: particle.opacity },\n animate: { scale: 4, opacity: 0 },\n exit: { scale: 5, opacity: 0 },\n };\n default: // splash\n const angle = Math.random() * Math.PI * 2;\n const distance = config.base + Math.random() * config.variance;\n return {\n initial: { scale: 0, opacity: particle.opacity, x: 0, y: 0 },\n animate: {\n scale: [0, 1.2, 0.8],\n opacity: [particle.opacity, particle.opacity * 0.8, 0],\n x: Math.cos(angle) * distance,\n y: Math.sin(angle) * distance,\n },\n exit: { scale: 0, opacity: 0 },\n };\n }\n };\n\n const cursorPos = smooth ? smoothPos : mousePos;\n const glowColor =\n color && secondaryColor\n ? `color-mix(in srgb, ${color} 60%, ${secondaryColor})`\n : color\n ? `color-mix(in srgb, ${color} 35%, transparent)`\n : \"color-mix(in srgb, var(--ds-color-accent) 35%, transparent)\";\n\n return (\n <div\n ref={containerRef}\n className={mergeClassNames(\"relative overflow-hidden\", className)}\n style={style}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setIsInside(true)}\n onMouseLeave={() => setIsInside(false)}\n onClick={handleClick}\n >\n {/* Cursor glow effect */}\n {enabled && isInside && variant === \"glow\" && (\n <motion.div\n className=\"pointer-events-none absolute z-10\"\n style={{\n left: cursorPos.x,\n top: cursorPos.y,\n width: sizeConfig[size].base * 2,\n height: sizeConfig[size].base * 2,\n transform: \"translate(-50%, -50%)\",\n background: `radial-gradient(circle, ${glowColor} 0%, transparent 70%)`,\n filter: blur ? `blur(${blur}px)` : undefined,\n }}\n initial={{ scale: 0, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n exit={{ scale: 0, opacity: 0 }}\n />\n )}\n\n {/* Particles */}\n <AnimatePresence>\n {enabled &&\n particles.map((particle) => {\n const animation = getParticleAnimation(particle);\n return (\n <motion.div\n key={particle.id}\n className=\"pointer-events-none absolute rounded-full z-20\"\n style={{\n left: particle.x,\n top: particle.y,\n width: particle.size,\n height: particle.size,\n backgroundColor: particle.color,\n transform: \"translate(-50%, -50%)\",\n filter: blur ? `blur(${blur}px)` : undefined,\n }}\n {...animation}\n transition={{\n duration: duration / 1000,\n ease: \"easeOut\",\n }}\n />\n );\n })}\n </AnimatePresence>\n\n {/* Children content */}\n <div className=\"relative z-0\">{children}</div>\n </div>\n );\n};\n\nSplashCursor.displayName = \"SplashCursor\";\n\nexport default SplashCursor;\n"],"mappings":"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"}
@@ -22,12 +22,12 @@ var sizeConfig = {
22
22
  }
23
23
  };
24
24
  var defaultColors = [
25
- "#7367f0",
26
- "#9b87f5",
27
- "#6366f1",
28
- "#8b5cf6",
29
- "#a78bfa",
30
- "#c4b5fd"
25
+ "var(--ds-color-accent)",
26
+ "var(--ds-color-accent-hover)",
27
+ "var(--ds-color-info)",
28
+ "var(--ds-color-success)",
29
+ "var(--ds-color-warning)",
30
+ "var(--ds-color-danger)"
31
31
  ];
32
32
  var SplashCursor = ({ className, color, secondaryColor, size = "md", particleCount = 12, enabled = true, blur = 0, opacity = .6, duration = 800, smooth = true, smoothFactor = .15, style, children, variant = "splash" }) => {
33
33
  const containerRef = useRef(null);
@@ -205,6 +205,7 @@ var SplashCursor = ({ className, color, secondaryColor, size = "md", particleCou
205
205
  }
206
206
  };
207
207
  const cursorPos = smooth ? smoothPos : mousePos;
208
+ const glowColor = color && secondaryColor ? `color-mix(in srgb, ${color} 60%, ${secondaryColor})` : color ? `color-mix(in srgb, ${color} 35%, transparent)` : "color-mix(in srgb, var(--ds-color-accent) 35%, transparent)";
208
209
  return /* @__PURE__ */ jsxs("div", {
209
210
  ref: containerRef,
210
211
  className: mergeClassNames("relative overflow-hidden", className),
@@ -222,7 +223,7 @@ var SplashCursor = ({ className, color, secondaryColor, size = "md", particleCou
222
223
  width: sizeConfig[size].base * 2,
223
224
  height: sizeConfig[size].base * 2,
224
225
  transform: "translate(-50%, -50%)",
225
- background: `radial-gradient(circle, ${color || defaultColors[0]}40 0%, transparent 70%)`,
226
+ background: `radial-gradient(circle, ${glowColor} 0%, transparent 70%)`,
226
227
  filter: blur ? `blur(${blur}px)` : void 0
227
228
  },
228
229
  initial: {
@@ -269,4 +270,4 @@ SplashCursor.displayName = "SplashCursor";
269
270
  //#endregion
270
271
  export { SplashCursor as t };
271
272
 
272
- //# sourceMappingURL=splash-cursor-9BsoQZl0.mjs.map
273
+ //# sourceMappingURL=splash-cursor-rSrTnawZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splash-cursor-rSrTnawZ.mjs","names":[],"sources":["../../src/components/effects/splash-cursor/SplashCursor.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useCallback } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { SplashCursorProps, Particle } from \"./types\";\n\nconst sizeConfig = {\n sm: { base: 20, variance: 10 },\n md: { base: 40, variance: 20 },\n lg: { base: 60, variance: 30 },\n xl: { base: 100, variance: 50 },\n};\n\nconst defaultColors = [\n \"var(--ds-color-accent)\",\n \"var(--ds-color-accent-hover)\",\n \"var(--ds-color-info)\",\n \"var(--ds-color-success)\",\n \"var(--ds-color-warning)\",\n \"var(--ds-color-danger)\",\n];\n\nexport const SplashCursor = ({\n className,\n color,\n secondaryColor,\n size = \"md\",\n particleCount = 12,\n enabled = true,\n blur = 0,\n opacity = 0.6,\n duration = 800,\n smooth = true,\n smoothFactor = 0.15,\n style,\n children,\n variant = \"splash\",\n}: SplashCursorProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [particles, setParticles] = useState<Particle[]>([]);\n const [mousePos, setMousePos] = useState({ x: 0, y: 0 });\n const [smoothPos, setSmoothPos] = useState({ x: 0, y: 0 });\n const [isInside, setIsInside] = useState(false);\n const particleIdRef = useRef<number>(0);\n const animationFrameRef = useRef<number | undefined>(undefined);\n\n // Smooth cursor following\n useEffect(() => {\n if (!smooth || !enabled) return;\n\n const animate = () => {\n setSmoothPos((prev) => ({\n x: prev.x + (mousePos.x - prev.x) * smoothFactor,\n y: prev.y + (mousePos.y - prev.y) * smoothFactor,\n }));\n animationFrameRef.current = requestAnimationFrame(animate);\n };\n\n animationFrameRef.current = requestAnimationFrame(animate);\n return () => {\n if (animationFrameRef.current) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n };\n }, [mousePos, smooth, smoothFactor, enabled]);\n\n const getRandomColor = useCallback(() => {\n if (color && secondaryColor) {\n return Math.random() > 0.5 ? color : secondaryColor;\n }\n if (color) return color;\n return defaultColors[Math.floor(Math.random() * defaultColors.length)];\n }, [color, secondaryColor]);\n\n const createParticles = useCallback(\n (x: number, y: number) => {\n const config = sizeConfig[size];\n const newParticles: Particle[] = [];\n\n for (let i = 0; i < particleCount; i++) {\n const angle = (Math.PI * 2 * i) / particleCount;\n const distance =\n variant === \"ripple\" ? config.base : Math.random() * config.variance;\n\n newParticles.push({\n id: particleIdRef.current++,\n x: x + Math.cos(angle) * distance * (variant === \"ripple\" ? 0 : 1),\n y: y + Math.sin(angle) * distance * (variant === \"ripple\" ? 0 : 1),\n size: config.base * 0.3 + Math.random() * config.base * 0.4,\n opacity: opacity * (0.5 + Math.random() * 0.5),\n color: getRandomColor(),\n });\n }\n\n setParticles((prev) => [...prev.slice(-50), ...newParticles]);\n\n // Remove particles after animation\n setTimeout(() => {\n setParticles((prev) =>\n prev.filter((p) => !newParticles.find((np) => np.id === p.id)),\n );\n }, duration);\n },\n [size, particleCount, opacity, duration, getRandomColor, variant],\n );\n\n const handleMouseMove = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (!enabled || !containerRef.current) return;\n\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n\n setMousePos({ x, y });\n\n // Create splash effect on movement\n if (variant === \"splash\" || variant === \"trail\") {\n if (Math.random() > (variant === \"trail\" ? 0.7 : 0.85)) {\n createParticles(x, y);\n }\n }\n },\n [enabled, createParticles, variant],\n );\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (!enabled || !containerRef.current) return;\n\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n\n // Create burst effect on click\n createParticles(x, y);\n if (variant === \"ripple\") {\n setTimeout(() => createParticles(x, y), 100);\n setTimeout(() => createParticles(x, y), 200);\n }\n },\n [enabled, createParticles, variant],\n );\n\n const getParticleAnimation = (particle: Particle) => {\n const config = sizeConfig[size];\n\n switch (variant) {\n case \"glow\":\n return {\n initial: { scale: 0, opacity: particle.opacity },\n animate: { scale: 2, opacity: 0 },\n exit: { scale: 3, opacity: 0 },\n };\n case \"trail\":\n return {\n initial: { scale: 1, opacity: particle.opacity, y: 0 },\n animate: { scale: 0.5, opacity: 0, y: 20 },\n exit: { scale: 0, opacity: 0 },\n };\n case \"ripple\":\n return {\n initial: { scale: 0, opacity: particle.opacity },\n animate: { scale: 4, opacity: 0 },\n exit: { scale: 5, opacity: 0 },\n };\n default: // splash\n const angle = Math.random() * Math.PI * 2;\n const distance = config.base + Math.random() * config.variance;\n return {\n initial: { scale: 0, opacity: particle.opacity, x: 0, y: 0 },\n animate: {\n scale: [0, 1.2, 0.8],\n opacity: [particle.opacity, particle.opacity * 0.8, 0],\n x: Math.cos(angle) * distance,\n y: Math.sin(angle) * distance,\n },\n exit: { scale: 0, opacity: 0 },\n };\n }\n };\n\n const cursorPos = smooth ? smoothPos : mousePos;\n const glowColor =\n color && secondaryColor\n ? `color-mix(in srgb, ${color} 60%, ${secondaryColor})`\n : color\n ? `color-mix(in srgb, ${color} 35%, transparent)`\n : \"color-mix(in srgb, var(--ds-color-accent) 35%, transparent)\";\n\n return (\n <div\n ref={containerRef}\n className={mergeClassNames(\"relative overflow-hidden\", className)}\n style={style}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setIsInside(true)}\n onMouseLeave={() => setIsInside(false)}\n onClick={handleClick}\n >\n {/* Cursor glow effect */}\n {enabled && isInside && variant === \"glow\" && (\n <motion.div\n className=\"pointer-events-none absolute z-10\"\n style={{\n left: cursorPos.x,\n top: cursorPos.y,\n width: sizeConfig[size].base * 2,\n height: sizeConfig[size].base * 2,\n transform: \"translate(-50%, -50%)\",\n background: `radial-gradient(circle, ${glowColor} 0%, transparent 70%)`,\n filter: blur ? `blur(${blur}px)` : undefined,\n }}\n initial={{ scale: 0, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n exit={{ scale: 0, opacity: 0 }}\n />\n )}\n\n {/* Particles */}\n <AnimatePresence>\n {enabled &&\n particles.map((particle) => {\n const animation = getParticleAnimation(particle);\n return (\n <motion.div\n key={particle.id}\n className=\"pointer-events-none absolute rounded-full z-20\"\n style={{\n left: particle.x,\n top: particle.y,\n width: particle.size,\n height: particle.size,\n backgroundColor: particle.color,\n transform: \"translate(-50%, -50%)\",\n filter: blur ? `blur(${blur}px)` : undefined,\n }}\n {...animation}\n transition={{\n duration: duration / 1000,\n ease: \"easeOut\",\n }}\n />\n );\n })}\n </AnimatePresence>\n\n {/* Children content */}\n <div className=\"relative z-0\">{children}</div>\n </div>\n );\n};\n\nSplashCursor.displayName = \"SplashCursor\";\n\nexport default SplashCursor;\n"],"mappings":"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"}
@@ -101,4 +101,4 @@ SpotlightCard.displayName = "SpotlightCard";
101
101
  //#endregion
102
102
  export { SpotlightCard as t };
103
103
 
104
- //# sourceMappingURL=spotlight-card-Bl0aXnT4.mjs.map
104
+ //# sourceMappingURL=spotlight-card-BpZLMOp6.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spotlight-card-Bl0aXnT4.mjs","names":[],"sources":["../../src/components/effects/spotlight-card/SpotlightCard.tsx"],"sourcesContent":["import { useState, useRef } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { SpotlightCardProps } from \"./types\";\n\nconst borderRadiusMap = {\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n \"2xl\": \"rounded-2xl\",\n full: \"rounded-full\",\n};\n\nconst paddingMap = {\n none: \"\",\n sm: \"p-3\",\n md: \"p-5\",\n lg: \"p-7\",\n xl: \"p-10\",\n};\n\nconst variantStyles = {\n glass: `\n bg-white/60 dark:bg-neutral-900/50\n backdrop-blur-2xl\n border border-white/40 dark:border-white/10\n shadow-xl shadow-neutral-200/30 dark:shadow-neutral-950/50\n `,\n solid: `\n bg-white dark:bg-neutral-900\n border border-neutral-200 dark:border-neutral-800\n shadow-lg shadow-neutral-200/50 dark:shadow-neutral-950/50\n `,\n outlined: `\n bg-transparent\n border-2 border-neutral-200 dark:border-neutral-700\n `,\n};\n\nexport const SpotlightCard = ({\n children,\n className,\n spotlightColor = \"rgba(115, 103, 240, 0.15)\",\n spotlightSize = 350,\n spotlightEnabled = true,\n variant = \"glass\",\n borderRadius = \"xl\",\n padding = \"md\",\n hoverScale = true,\n style,\n onClick,\n}: SpotlightCardProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n const [isHovered, setIsHovered] = useState(false);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current || !spotlightEnabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n setMousePosition({\n x: e.clientX - rect.left,\n y: e.clientY - rect.top,\n });\n };\n\n const handleMouseEnter = () => {\n setIsHovered(true);\n };\n\n const handleMouseLeave = () => {\n setIsHovered(false);\n };\n\n const spotlightStyle =\n spotlightEnabled && isHovered\n ? {\n background: `radial-gradient(${spotlightSize}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor}, transparent 80%)`,\n }\n : {};\n\n return (\n <motion.div\n ref={containerRef}\n className={mergeClassNames(\n \"relative overflow-hidden transition-all duration-300\",\n borderRadiusMap[borderRadius],\n paddingMap[padding],\n variantStyles[variant],\n onClick && \"cursor-pointer\",\n className,\n )}\n style={style}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={onClick}\n whileHover={hoverScale ? { scale: 1.02 } : undefined}\n whileTap={onClick ? { scale: 0.98 } : undefined}\n transition={{ type: \"spring\", stiffness: 400, damping: 25 }}\n >\n {/* Spotlight overlay */}\n {spotlightEnabled && (\n <motion.div\n className=\"pointer-events-none absolute inset-0 z-0\"\n style={spotlightStyle}\n initial={{ opacity: 0 }}\n animate={{ opacity: isHovered ? 1 : 0 }}\n transition={{ duration: 0.3 }}\n />\n )}\n\n {/* Border glow effect */}\n {spotlightEnabled && isHovered && (\n <motion.div\n className={mergeClassNames(\n \"pointer-events-none absolute inset-0 z-0\",\n borderRadiusMap[borderRadius],\n )}\n style={{\n background: `radial-gradient(${spotlightSize * 0.6}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor.replace(\"0.15\", \"0.3\")}, transparent 70%)`,\n filter: \"blur(20px)\",\n }}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2 }}\n />\n )}\n\n {/* Content */}\n <div className=\"relative z-10\">{children}</div>\n </motion.div>\n );\n};\n\nSpotlightCard.displayName = \"SpotlightCard\";\n\nexport default SpotlightCard;\n"],"mappings":";;;;;AAKA,IAAM,kBAAkB;CACtB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,MAAM;CACP;AAED,IAAM,aAAa;CACjB,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,gBAAgB;CACpB,OAAO;;;;;;CAMP,OAAO;;;;;CAKP,UAAU;;;;CAIX;AAED,IAAa,iBAAiB,EAC5B,UACA,WACA,iBAAiB,6BACjB,gBAAgB,KAChB,mBAAmB,MACnB,UAAU,SACV,eAAe,MACf,UAAU,MACV,aAAa,MACb,OACA,cACwB;CACxB,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,CAAC,eAAe,oBAAoB,SAAS;EAAE,GAAG;EAAG,GAAG;EAAG,CAAC;CAClE,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CAEjD,MAAM,mBAAmB,MAAwC;AAC/D,MAAI,CAAC,aAAa,WAAW,CAAC,iBAAkB;EAChD,MAAM,OAAO,aAAa,QAAQ,uBAAuB;AACzD,mBAAiB;GACf,GAAG,EAAE,UAAU,KAAK;GACpB,GAAG,EAAE,UAAU,KAAK;GACrB,CAAC;;CAGJ,MAAM,yBAAyB;AAC7B,eAAa,KAAK;;CAGpB,MAAM,yBAAyB;AAC7B,eAAa,MAAM;;CAGrB,MAAM,iBACJ,oBAAoB,YAChB,EACE,YAAY,mBAAmB,cAAc,eAAe,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,qBACvH,GACD,EAAE;AAER,QACE,qBAAC,OAAO,KAAR;EACE,KAAK;EACL,WAAW,gBACT,wDACA,gBAAgB,eAChB,WAAW,UACX,cAAc,UACd,WAAW,kBACX,UACD;EACM;EACP,aAAa;EACb,cAAc;EACd,cAAc;EACL;EACT,YAAY,aAAa,EAAE,OAAO,MAAM,GAAG,KAAA;EAC3C,UAAU,UAAU,EAAE,OAAO,KAAM,GAAG,KAAA;EACtC,YAAY;GAAE,MAAM;GAAU,WAAW;GAAK,SAAS;GAAI;YAjB7D;GAoBG,oBACC,oBAAC,OAAO,KAAR;IACE,WAAU;IACV,OAAO;IACP,SAAS,EAAE,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,YAAY,IAAI,GAAG;IACvC,YAAY,EAAE,UAAU,IAAK;IAC7B,CAAA;GAIH,oBAAoB,aACnB,oBAAC,OAAO,KAAR;IACE,WAAW,gBACT,4CACA,gBAAgB,cACjB;IACD,OAAO;KACL,YAAY,mBAAmB,gBAAgB,GAAI,eAAe,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,QAAQ,QAAQ,MAAM,CAAC;KACnJ,QAAQ;KACT;IACD,SAAS,EAAE,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,GAAG;IACvB,YAAY,EAAE,UAAU,IAAK;IAC7B,CAAA;GAIJ,oBAAC,OAAD;IAAK,WAAU;IAAiB;IAAe,CAAA;GACpC;;;AAIjB,cAAc,cAAc"}
1
+ {"version":3,"file":"spotlight-card-BpZLMOp6.mjs","names":[],"sources":["../../src/components/effects/spotlight-card/SpotlightCard.tsx"],"sourcesContent":["import { useState, useRef } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { SpotlightCardProps } from \"./types\";\n\nconst borderRadiusMap = {\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n \"2xl\": \"rounded-2xl\",\n full: \"rounded-full\",\n};\n\nconst paddingMap = {\n none: \"\",\n sm: \"p-3\",\n md: \"p-5\",\n lg: \"p-7\",\n xl: \"p-10\",\n};\n\nconst variantStyles = {\n glass: `\n bg-white/60 dark:bg-neutral-900/50\n backdrop-blur-2xl\n border border-white/40 dark:border-white/10\n shadow-xl shadow-neutral-200/30 dark:shadow-neutral-950/50\n `,\n solid: `\n bg-white dark:bg-neutral-900\n border border-neutral-200 dark:border-neutral-800\n shadow-lg shadow-neutral-200/50 dark:shadow-neutral-950/50\n `,\n outlined: `\n bg-transparent\n border-2 border-neutral-200 dark:border-neutral-700\n `,\n};\n\nexport const SpotlightCard = ({\n children,\n className,\n spotlightColor = \"rgba(115, 103, 240, 0.15)\",\n spotlightSize = 350,\n spotlightEnabled = true,\n variant = \"glass\",\n borderRadius = \"xl\",\n padding = \"md\",\n hoverScale = true,\n style,\n onClick,\n}: SpotlightCardProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n const [isHovered, setIsHovered] = useState(false);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current || !spotlightEnabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n setMousePosition({\n x: e.clientX - rect.left,\n y: e.clientY - rect.top,\n });\n };\n\n const handleMouseEnter = () => {\n setIsHovered(true);\n };\n\n const handleMouseLeave = () => {\n setIsHovered(false);\n };\n\n const spotlightStyle =\n spotlightEnabled && isHovered\n ? {\n background: `radial-gradient(${spotlightSize}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor}, transparent 80%)`,\n }\n : {};\n\n return (\n <motion.div\n ref={containerRef}\n className={mergeClassNames(\n \"relative overflow-hidden transition-all duration-300\",\n borderRadiusMap[borderRadius],\n paddingMap[padding],\n variantStyles[variant],\n onClick && \"cursor-pointer\",\n className,\n )}\n style={style}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={onClick}\n whileHover={hoverScale ? { scale: 1.02 } : undefined}\n whileTap={onClick ? { scale: 0.98 } : undefined}\n transition={{ type: \"spring\", stiffness: 400, damping: 25 }}\n >\n {/* Spotlight overlay */}\n {spotlightEnabled && (\n <motion.div\n className=\"pointer-events-none absolute inset-0 z-0\"\n style={spotlightStyle}\n initial={{ opacity: 0 }}\n animate={{ opacity: isHovered ? 1 : 0 }}\n transition={{ duration: 0.3 }}\n />\n )}\n\n {/* Border glow effect */}\n {spotlightEnabled && isHovered && (\n <motion.div\n className={mergeClassNames(\n \"pointer-events-none absolute inset-0 z-0\",\n borderRadiusMap[borderRadius],\n )}\n style={{\n background: `radial-gradient(${spotlightSize * 0.6}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor.replace(\"0.15\", \"0.3\")}, transparent 70%)`,\n filter: \"blur(20px)\",\n }}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2 }}\n />\n )}\n\n {/* Content */}\n <div className=\"relative z-10\">{children}</div>\n </motion.div>\n );\n};\n\nSpotlightCard.displayName = \"SpotlightCard\";\n\nexport default SpotlightCard;\n"],"mappings":";;;;;AAKA,IAAM,kBAAkB;CACtB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,MAAM;CACP;AAED,IAAM,aAAa;CACjB,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,gBAAgB;CACpB,OAAO;;;;;;CAMP,OAAO;;;;;CAKP,UAAU;;;;CAIX;AAED,IAAa,iBAAiB,EAC5B,UACA,WACA,iBAAiB,6BACjB,gBAAgB,KAChB,mBAAmB,MACnB,UAAU,SACV,eAAe,MACf,UAAU,MACV,aAAa,MACb,OACA,cACwB;CACxB,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,CAAC,eAAe,oBAAoB,SAAS;EAAE,GAAG;EAAG,GAAG;EAAG,CAAC;CAClE,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CAEjD,MAAM,mBAAmB,MAAwC;AAC/D,MAAI,CAAC,aAAa,WAAW,CAAC,iBAAkB;EAChD,MAAM,OAAO,aAAa,QAAQ,uBAAuB;AACzD,mBAAiB;GACf,GAAG,EAAE,UAAU,KAAK;GACpB,GAAG,EAAE,UAAU,KAAK;GACrB,CAAC;;CAGJ,MAAM,yBAAyB;AAC7B,eAAa,KAAK;;CAGpB,MAAM,yBAAyB;AAC7B,eAAa,MAAM;;CAGrB,MAAM,iBACJ,oBAAoB,YAChB,EACE,YAAY,mBAAmB,cAAc,eAAe,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,qBACvH,GACD,EAAE;AAER,QACE,qBAAC,OAAO,KAAR;EACE,KAAK;EACL,WAAW,gBACT,wDACA,gBAAgB,eAChB,WAAW,UACX,cAAc,UACd,WAAW,kBACX,UACD;EACM;EACP,aAAa;EACb,cAAc;EACd,cAAc;EACL;EACT,YAAY,aAAa,EAAE,OAAO,MAAM,GAAG,KAAA;EAC3C,UAAU,UAAU,EAAE,OAAO,KAAM,GAAG,KAAA;EACtC,YAAY;GAAE,MAAM;GAAU,WAAW;GAAK,SAAS;GAAI;YAjB7D;GAoBG,oBACC,oBAAC,OAAO,KAAR;IACE,WAAU;IACV,OAAO;IACP,SAAS,EAAE,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,YAAY,IAAI,GAAG;IACvC,YAAY,EAAE,UAAU,IAAK;IAC7B,CAAA;GAIH,oBAAoB,aACnB,oBAAC,OAAO,KAAR;IACE,WAAW,gBACT,4CACA,gBAAgB,cACjB;IACD,OAAO;KACL,YAAY,mBAAmB,gBAAgB,GAAI,eAAe,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,QAAQ,QAAQ,MAAM,CAAC;KACnJ,QAAQ;KACT;IACD,SAAS,EAAE,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,GAAG;IACvB,YAAY,EAAE,UAAU,IAAK;IAC7B,CAAA;GAIJ,oBAAC,OAAD;IAAK,WAAU;IAAiB;IAAe,CAAA;GACpC;;;AAIjB,cAAc,cAAc"}
@@ -107,4 +107,4 @@ Object.defineProperty(exports, "SpotlightCard", {
107
107
  }
108
108
  });
109
109
 
110
- //# sourceMappingURL=spotlight-card-SUhrgstF.cjs.map
110
+ //# sourceMappingURL=spotlight-card-DS1dy1W3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spotlight-card-SUhrgstF.cjs","names":[],"sources":["../../src/components/effects/spotlight-card/SpotlightCard.tsx"],"sourcesContent":["import { useState, useRef } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { SpotlightCardProps } from \"./types\";\n\nconst borderRadiusMap = {\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n \"2xl\": \"rounded-2xl\",\n full: \"rounded-full\",\n};\n\nconst paddingMap = {\n none: \"\",\n sm: \"p-3\",\n md: \"p-5\",\n lg: \"p-7\",\n xl: \"p-10\",\n};\n\nconst variantStyles = {\n glass: `\n bg-white/60 dark:bg-neutral-900/50\n backdrop-blur-2xl\n border border-white/40 dark:border-white/10\n shadow-xl shadow-neutral-200/30 dark:shadow-neutral-950/50\n `,\n solid: `\n bg-white dark:bg-neutral-900\n border border-neutral-200 dark:border-neutral-800\n shadow-lg shadow-neutral-200/50 dark:shadow-neutral-950/50\n `,\n outlined: `\n bg-transparent\n border-2 border-neutral-200 dark:border-neutral-700\n `,\n};\n\nexport const SpotlightCard = ({\n children,\n className,\n spotlightColor = \"rgba(115, 103, 240, 0.15)\",\n spotlightSize = 350,\n spotlightEnabled = true,\n variant = \"glass\",\n borderRadius = \"xl\",\n padding = \"md\",\n hoverScale = true,\n style,\n onClick,\n}: SpotlightCardProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n const [isHovered, setIsHovered] = useState(false);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current || !spotlightEnabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n setMousePosition({\n x: e.clientX - rect.left,\n y: e.clientY - rect.top,\n });\n };\n\n const handleMouseEnter = () => {\n setIsHovered(true);\n };\n\n const handleMouseLeave = () => {\n setIsHovered(false);\n };\n\n const spotlightStyle =\n spotlightEnabled && isHovered\n ? {\n background: `radial-gradient(${spotlightSize}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor}, transparent 80%)`,\n }\n : {};\n\n return (\n <motion.div\n ref={containerRef}\n className={mergeClassNames(\n \"relative overflow-hidden transition-all duration-300\",\n borderRadiusMap[borderRadius],\n paddingMap[padding],\n variantStyles[variant],\n onClick && \"cursor-pointer\",\n className,\n )}\n style={style}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={onClick}\n whileHover={hoverScale ? { scale: 1.02 } : undefined}\n whileTap={onClick ? { scale: 0.98 } : undefined}\n transition={{ type: \"spring\", stiffness: 400, damping: 25 }}\n >\n {/* Spotlight overlay */}\n {spotlightEnabled && (\n <motion.div\n className=\"pointer-events-none absolute inset-0 z-0\"\n style={spotlightStyle}\n initial={{ opacity: 0 }}\n animate={{ opacity: isHovered ? 1 : 0 }}\n transition={{ duration: 0.3 }}\n />\n )}\n\n {/* Border glow effect */}\n {spotlightEnabled && isHovered && (\n <motion.div\n className={mergeClassNames(\n \"pointer-events-none absolute inset-0 z-0\",\n borderRadiusMap[borderRadius],\n )}\n style={{\n background: `radial-gradient(${spotlightSize * 0.6}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor.replace(\"0.15\", \"0.3\")}, transparent 70%)`,\n filter: \"blur(20px)\",\n }}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2 }}\n />\n )}\n\n {/* Content */}\n <div className=\"relative z-10\">{children}</div>\n </motion.div>\n );\n};\n\nSpotlightCard.displayName = \"SpotlightCard\";\n\nexport default SpotlightCard;\n"],"mappings":";;;;;;AAKA,IAAM,kBAAkB;CACtB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,MAAM;CACP;AAED,IAAM,aAAa;CACjB,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,gBAAgB;CACpB,OAAO;;;;;;CAMP,OAAO;;;;;CAKP,UAAU;;;;CAIX;AAED,IAAa,iBAAiB,EAC5B,UACA,WACA,iBAAiB,6BACjB,gBAAgB,KAChB,mBAAmB,MACnB,UAAU,SACV,eAAe,MACf,UAAU,MACV,aAAa,MACb,OACA,cACwB;CACxB,MAAM,gBAAA,GAAA,MAAA,QAAsC,KAAK;CACjD,MAAM,CAAC,eAAe,qBAAA,GAAA,MAAA,UAA6B;EAAE,GAAG;EAAG,GAAG;EAAG,CAAC;CAClE,MAAM,CAAC,WAAW,iBAAA,GAAA,MAAA,UAAyB,MAAM;CAEjD,MAAM,mBAAmB,MAAwC;AAC/D,MAAI,CAAC,aAAa,WAAW,CAAC,iBAAkB;EAChD,MAAM,OAAO,aAAa,QAAQ,uBAAuB;AACzD,mBAAiB;GACf,GAAG,EAAE,UAAU,KAAK;GACpB,GAAG,EAAE,UAAU,KAAK;GACrB,CAAC;;CAGJ,MAAM,yBAAyB;AAC7B,eAAa,KAAK;;CAGpB,MAAM,yBAAyB;AAC7B,eAAa,MAAM;;CAGrB,MAAM,iBACJ,oBAAoB,YAChB,EACE,YAAY,mBAAmB,cAAc,eAAe,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,qBACvH,GACD,EAAE;AAER,QACE,iBAAA,GAAA,kBAAA,MAAC,cAAA,OAAO,KAAR;EACE,KAAK;EACL,WAAW,cAAA,gBACT,wDACA,gBAAgB,eAChB,WAAW,UACX,cAAc,UACd,WAAW,kBACX,UACD;EACM;EACP,aAAa;EACb,cAAc;EACd,cAAc;EACL;EACT,YAAY,aAAa,EAAE,OAAO,MAAM,GAAG,KAAA;EAC3C,UAAU,UAAU,EAAE,OAAO,KAAM,GAAG,KAAA;EACtC,YAAY;GAAE,MAAM;GAAU,WAAW;GAAK,SAAS;GAAI;YAjB7D;GAoBG,oBACC,iBAAA,GAAA,kBAAA,KAAC,cAAA,OAAO,KAAR;IACE,WAAU;IACV,OAAO;IACP,SAAS,EAAE,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,YAAY,IAAI,GAAG;IACvC,YAAY,EAAE,UAAU,IAAK;IAC7B,CAAA;GAIH,oBAAoB,aACnB,iBAAA,GAAA,kBAAA,KAAC,cAAA,OAAO,KAAR;IACE,WAAW,cAAA,gBACT,4CACA,gBAAgB,cACjB;IACD,OAAO;KACL,YAAY,mBAAmB,gBAAgB,GAAI,eAAe,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,QAAQ,QAAQ,MAAM,CAAC;KACnJ,QAAQ;KACT;IACD,SAAS,EAAE,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,GAAG;IACvB,YAAY,EAAE,UAAU,IAAK;IAC7B,CAAA;GAIJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,WAAU;IAAiB;IAAe,CAAA;GACpC;;;AAIjB,cAAc,cAAc"}
1
+ {"version":3,"file":"spotlight-card-DS1dy1W3.cjs","names":[],"sources":["../../src/components/effects/spotlight-card/SpotlightCard.tsx"],"sourcesContent":["import { useState, useRef } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { SpotlightCardProps } from \"./types\";\n\nconst borderRadiusMap = {\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n \"2xl\": \"rounded-2xl\",\n full: \"rounded-full\",\n};\n\nconst paddingMap = {\n none: \"\",\n sm: \"p-3\",\n md: \"p-5\",\n lg: \"p-7\",\n xl: \"p-10\",\n};\n\nconst variantStyles = {\n glass: `\n bg-white/60 dark:bg-neutral-900/50\n backdrop-blur-2xl\n border border-white/40 dark:border-white/10\n shadow-xl shadow-neutral-200/30 dark:shadow-neutral-950/50\n `,\n solid: `\n bg-white dark:bg-neutral-900\n border border-neutral-200 dark:border-neutral-800\n shadow-lg shadow-neutral-200/50 dark:shadow-neutral-950/50\n `,\n outlined: `\n bg-transparent\n border-2 border-neutral-200 dark:border-neutral-700\n `,\n};\n\nexport const SpotlightCard = ({\n children,\n className,\n spotlightColor = \"rgba(115, 103, 240, 0.15)\",\n spotlightSize = 350,\n spotlightEnabled = true,\n variant = \"glass\",\n borderRadius = \"xl\",\n padding = \"md\",\n hoverScale = true,\n style,\n onClick,\n}: SpotlightCardProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n const [isHovered, setIsHovered] = useState(false);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current || !spotlightEnabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n setMousePosition({\n x: e.clientX - rect.left,\n y: e.clientY - rect.top,\n });\n };\n\n const handleMouseEnter = () => {\n setIsHovered(true);\n };\n\n const handleMouseLeave = () => {\n setIsHovered(false);\n };\n\n const spotlightStyle =\n spotlightEnabled && isHovered\n ? {\n background: `radial-gradient(${spotlightSize}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor}, transparent 80%)`,\n }\n : {};\n\n return (\n <motion.div\n ref={containerRef}\n className={mergeClassNames(\n \"relative overflow-hidden transition-all duration-300\",\n borderRadiusMap[borderRadius],\n paddingMap[padding],\n variantStyles[variant],\n onClick && \"cursor-pointer\",\n className,\n )}\n style={style}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={onClick}\n whileHover={hoverScale ? { scale: 1.02 } : undefined}\n whileTap={onClick ? { scale: 0.98 } : undefined}\n transition={{ type: \"spring\", stiffness: 400, damping: 25 }}\n >\n {/* Spotlight overlay */}\n {spotlightEnabled && (\n <motion.div\n className=\"pointer-events-none absolute inset-0 z-0\"\n style={spotlightStyle}\n initial={{ opacity: 0 }}\n animate={{ opacity: isHovered ? 1 : 0 }}\n transition={{ duration: 0.3 }}\n />\n )}\n\n {/* Border glow effect */}\n {spotlightEnabled && isHovered && (\n <motion.div\n className={mergeClassNames(\n \"pointer-events-none absolute inset-0 z-0\",\n borderRadiusMap[borderRadius],\n )}\n style={{\n background: `radial-gradient(${spotlightSize * 0.6}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor.replace(\"0.15\", \"0.3\")}, transparent 70%)`,\n filter: \"blur(20px)\",\n }}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2 }}\n />\n )}\n\n {/* Content */}\n <div className=\"relative z-10\">{children}</div>\n </motion.div>\n );\n};\n\nSpotlightCard.displayName = \"SpotlightCard\";\n\nexport default SpotlightCard;\n"],"mappings":";;;;;;AAKA,IAAM,kBAAkB;CACtB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,MAAM;CACP;AAED,IAAM,aAAa;CACjB,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,gBAAgB;CACpB,OAAO;;;;;;CAMP,OAAO;;;;;CAKP,UAAU;;;;CAIX;AAED,IAAa,iBAAiB,EAC5B,UACA,WACA,iBAAiB,6BACjB,gBAAgB,KAChB,mBAAmB,MACnB,UAAU,SACV,eAAe,MACf,UAAU,MACV,aAAa,MACb,OACA,cACwB;CACxB,MAAM,gBAAA,GAAA,MAAA,QAAsC,KAAK;CACjD,MAAM,CAAC,eAAe,qBAAA,GAAA,MAAA,UAA6B;EAAE,GAAG;EAAG,GAAG;EAAG,CAAC;CAClE,MAAM,CAAC,WAAW,iBAAA,GAAA,MAAA,UAAyB,MAAM;CAEjD,MAAM,mBAAmB,MAAwC;AAC/D,MAAI,CAAC,aAAa,WAAW,CAAC,iBAAkB;EAChD,MAAM,OAAO,aAAa,QAAQ,uBAAuB;AACzD,mBAAiB;GACf,GAAG,EAAE,UAAU,KAAK;GACpB,GAAG,EAAE,UAAU,KAAK;GACrB,CAAC;;CAGJ,MAAM,yBAAyB;AAC7B,eAAa,KAAK;;CAGpB,MAAM,yBAAyB;AAC7B,eAAa,MAAM;;CAGrB,MAAM,iBACJ,oBAAoB,YAChB,EACE,YAAY,mBAAmB,cAAc,eAAe,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,qBACvH,GACD,EAAE;AAER,QACE,iBAAA,GAAA,kBAAA,MAAC,cAAA,OAAO,KAAR;EACE,KAAK;EACL,WAAW,cAAA,gBACT,wDACA,gBAAgB,eAChB,WAAW,UACX,cAAc,UACd,WAAW,kBACX,UACD;EACM;EACP,aAAa;EACb,cAAc;EACd,cAAc;EACL;EACT,YAAY,aAAa,EAAE,OAAO,MAAM,GAAG,KAAA;EAC3C,UAAU,UAAU,EAAE,OAAO,KAAM,GAAG,KAAA;EACtC,YAAY;GAAE,MAAM;GAAU,WAAW;GAAK,SAAS;GAAI;YAjB7D;GAoBG,oBACC,iBAAA,GAAA,kBAAA,KAAC,cAAA,OAAO,KAAR;IACE,WAAU;IACV,OAAO;IACP,SAAS,EAAE,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,YAAY,IAAI,GAAG;IACvC,YAAY,EAAE,UAAU,IAAK;IAC7B,CAAA;GAIH,oBAAoB,aACnB,iBAAA,GAAA,kBAAA,KAAC,cAAA,OAAO,KAAR;IACE,WAAW,cAAA,gBACT,4CACA,gBAAgB,cACjB;IACD,OAAO;KACL,YAAY,mBAAmB,gBAAgB,GAAI,eAAe,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,QAAQ,QAAQ,MAAM,CAAC;KACnJ,QAAQ;KACT;IACD,SAAS,EAAE,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,GAAG;IACvB,YAAY,EAAE,UAAU,IAAK;IAC7B,CAAA;GAIJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,WAAU;IAAiB;IAAe,CAAA;GACpC;;;AAIjB,cAAc,cAAc"}
@@ -1,5 +1,5 @@
1
1
  import { n as mergeClassNames } from "./utils-ati1KkDb.mjs";
2
- import { U as CloseIcon, W as CheckIcon } from "./icons-CrM6pFkv.mjs";
2
+ import { J as CheckIcon, q as CloseIcon } from "./icons-DuumN7z-.mjs";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { AnimatePresence, motion } from "framer-motion";
5
5
  //#region src/components/navigation/stepper/Stepper.tsx
@@ -26,26 +26,26 @@ var sizeConfig = {
26
26
  var getVariantStyles = (variant, status) => {
27
27
  return {
28
28
  default: {
29
- completed: "bg-primary text-white shadow-md shadow-primary/30",
30
- current: "bg-primary text-white ring-4 ring-primary/30 shadow-lg shadow-primary/40",
29
+ completed: "bg-accent text-on-accent shadow-md shadow-accent/25",
30
+ current: "bg-accent text-on-accent ring-4 ring-focus/40 shadow-lg shadow-accent/30",
31
31
  upcoming: "bg-neutral-200 text-neutral-500 dark:bg-neutral-700 dark:text-neutral-400",
32
32
  error: "bg-red-500 text-white ring-4 ring-red-500/30"
33
33
  },
34
34
  glass: {
35
- completed: "bg-primary/80 text-white backdrop-blur-xl border border-primary/30 shadow-lg shadow-primary/20",
36
- current: "bg-primary/90 text-white backdrop-blur-xl border-2 border-primary ring-4 ring-primary/20 shadow-xl shadow-primary/30",
35
+ completed: "bg-accent/85 text-on-accent backdrop-blur-xl border border-accent/30 shadow-lg shadow-accent/20",
36
+ current: "bg-accent/90 text-on-accent backdrop-blur-xl border-2 border-accent ring-4 ring-focus/30 shadow-xl shadow-accent/30",
37
37
  upcoming: "bg-white/60 text-neutral-500 backdrop-blur-xl border border-white/40 dark:bg-neutral-800/60 dark:text-neutral-400 dark:border-white/10",
38
38
  error: "bg-red-500/80 text-white backdrop-blur-xl border border-red-400/30 ring-4 ring-red-500/20"
39
39
  },
40
40
  minimal: {
41
- completed: "bg-primary/10 text-primary dark:bg-primary/20",
42
- current: "bg-primary text-white shadow-sm",
41
+ completed: "bg-accent-subtle text-accent",
42
+ current: "bg-accent text-on-accent shadow-sm",
43
43
  upcoming: "bg-transparent text-neutral-400 border-2 border-neutral-300 dark:border-neutral-600",
44
44
  error: "bg-red-100 text-red-500 dark:bg-red-900/30"
45
45
  },
46
46
  outlined: {
47
- completed: "bg-transparent text-primary border-2 border-primary",
48
- current: "bg-primary text-white border-2 border-primary shadow-lg",
47
+ completed: "bg-transparent text-accent border-2 border-accent",
48
+ current: "bg-accent text-on-accent border-2 border-accent shadow-lg",
49
49
  upcoming: "bg-transparent text-neutral-400 border-2 border-neutral-300 dark:border-neutral-600",
50
50
  error: "bg-transparent text-red-500 border-2 border-red-500"
51
51
  }
@@ -154,7 +154,7 @@ var Stepper = ({ steps, currentStep, onStepClick, orientation = "horizontal", si
154
154
  height: config.connectorThickness
155
155
  } },
156
156
  children: animated ? /* @__PURE__ */ jsx(motion.div, {
157
- className: "absolute top-0 left-0 bg-primary rounded-full",
157
+ className: "absolute top-0 left-0 bg-accent rounded-full",
158
158
  initial: { [isVertical ? "height" : "width"]: 0 },
159
159
  animate: { [isVertical ? "height" : "width"]: `${steps.length > 1 ? Math.min(currentStep, steps.length - 1) / (steps.length - 1) * 100 : 0}%` },
160
160
  transition: {
@@ -166,7 +166,7 @@ var Stepper = ({ steps, currentStep, onStepClick, orientation = "horizontal", si
166
166
  backgroundColor: colors?.connector || colors?.completed
167
167
  }
168
168
  }) : /* @__PURE__ */ jsx("div", {
169
- className: "absolute top-0 left-0 bg-primary rounded-full",
169
+ className: "absolute top-0 left-0 bg-accent rounded-full",
170
170
  style: {
171
171
  ...isVertical ? {
172
172
  width: "100%",
@@ -196,7 +196,7 @@ var Stepper = ({ steps, currentStep, onStepClick, orientation = "horizontal", si
196
196
  type: "button",
197
197
  onClick: () => handleStepClick(index),
198
198
  disabled: !isClickable,
199
- className: mergeClassNames("relative z-10 flex-shrink-0 flex items-center justify-center bg-white dark:bg-neutral-900 rounded-full", isClickable ? "cursor-pointer" : "cursor-default", !isVertical && index === 0 && "mx-0", !isVertical && isLast && "mx-0"),
199
+ className: mergeClassNames("relative z-10 shrink-0 flex items-center justify-center bg-white dark:bg-neutral-900 rounded-full", isClickable ? "cursor-pointer" : "cursor-default", !isVertical && index === 0 && "mx-0", !isVertical && isLast && "mx-0"),
200
200
  style: { padding: `${paddingValue}px` },
201
201
  "aria-current": status === "current" ? "step" : void 0,
202
202
  children: /* @__PURE__ */ jsx(StepIndicator, {
@@ -223,7 +223,7 @@ var Stepper = ({ steps, currentStep, onStepClick, orientation = "horizontal", si
223
223
  } : void 0,
224
224
  transition: { delay: index * .1 },
225
225
  children: [/* @__PURE__ */ jsxs("p", {
226
- className: mergeClassNames("font-medium transition-colors duration-200", config.text, status === "current" ? "text-primary dark:text-primary-400" : status === "completed" ? "text-neutral-700 dark:text-neutral-200" : status === "error" ? "text-red-500" : "text-neutral-500 dark:text-neutral-400"),
226
+ className: mergeClassNames("font-medium transition-colors duration-200", config.text, status === "current" ? "text-accent" : status === "completed" ? "text-neutral-700 dark:text-neutral-200" : status === "error" ? "text-red-500" : "text-neutral-500 dark:text-neutral-400"),
227
227
  children: [step.title, step.optional && /* @__PURE__ */ jsx("span", {
228
228
  className: "ml-1 text-neutral-400 dark:text-neutral-500 font-normal",
229
229
  children: "(Optional)"
@@ -258,4 +258,4 @@ Stepper.displayName = "Stepper";
258
258
  //#endregion
259
259
  export { Stepper as t };
260
260
 
261
- //# sourceMappingURL=stepper-uz8iRzlY.mjs.map
261
+ //# sourceMappingURL=stepper-D4yQsQB0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper-D4yQsQB0.mjs","names":[],"sources":["../../src/components/navigation/stepper/Stepper.tsx"],"sourcesContent":["import { motion, AnimatePresence } from \"framer-motion\";\n\nimport { CheckIcon, CloseIcon } from \"../../icons\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type {\n StepperProps,\n StepIndicatorProps,\n StepStatus,\n StepperSize,\n StepperVariant,\n} from \"./types\";\n\n// Size configurations for indicators and icons\nconst sizeConfig: Record<\n StepperSize,\n { indicator: string; icon: string; text: string; connectorThickness: string }\n> = {\n sm: {\n indicator: \"w-8 h-8\",\n icon: \"w-4 h-4\",\n text: \"text-xs\",\n connectorThickness: \"2px\",\n },\n md: {\n indicator: \"w-10 h-10\",\n icon: \"w-5 h-5\",\n text: \"text-sm\",\n connectorThickness: \"2px\",\n },\n lg: {\n indicator: \"w-12 h-12\",\n icon: \"w-6 h-6\",\n text: \"text-base\",\n connectorThickness: \"4px\",\n },\n};\n\n// Variant styles for the indicator\nconst getVariantStyles = (variant: StepperVariant, status: StepStatus) => {\n const baseStyles = {\n default: {\n completed: \"bg-accent text-on-accent shadow-md shadow-accent/25\",\n current:\n \"bg-accent text-on-accent ring-4 ring-focus/40 shadow-lg shadow-accent/30\",\n upcoming:\n \"bg-neutral-200 text-neutral-500 dark:bg-neutral-700 dark:text-neutral-400\",\n error: \"bg-red-500 text-white ring-4 ring-red-500/30\",\n },\n glass: {\n completed:\n \"bg-accent/85 text-on-accent backdrop-blur-xl border border-accent/30 shadow-lg shadow-accent/20\",\n current:\n \"bg-accent/90 text-on-accent backdrop-blur-xl border-2 border-accent ring-4 ring-focus/30 shadow-xl shadow-accent/30\",\n upcoming:\n \"bg-white/60 text-neutral-500 backdrop-blur-xl border border-white/40 dark:bg-neutral-800/60 dark:text-neutral-400 dark:border-white/10\",\n error:\n \"bg-red-500/80 text-white backdrop-blur-xl border border-red-400/30 ring-4 ring-red-500/20\",\n },\n minimal: {\n completed: \"bg-accent-subtle text-accent\",\n current: \"bg-accent text-on-accent shadow-sm\",\n upcoming:\n \"bg-transparent text-neutral-400 border-2 border-neutral-300 dark:border-neutral-600\",\n error: \"bg-red-100 text-red-500 dark:bg-red-900/30\",\n },\n outlined: {\n completed: \"bg-transparent text-accent border-2 border-accent\",\n current: \"bg-accent text-on-accent border-2 border-accent shadow-lg\",\n upcoming:\n \"bg-transparent text-neutral-400 border-2 border-neutral-300 dark:border-neutral-600\",\n error: \"bg-transparent text-red-500 border-2 border-red-500\",\n },\n };\n\n return baseStyles[variant][status];\n};\n\n// Step Indicator Component\nconst StepIndicator = ({\n step,\n index,\n status,\n size,\n variant,\n showNumbers,\n animated,\n colors,\n}: StepIndicatorProps) => {\n const config = sizeConfig[size];\n const variantStyles = getVariantStyles(variant, status);\n\n // Custom color overrides\n const customColorStyle = colors?.[status]\n ? { backgroundColor: colors[status], borderColor: colors[status] }\n : undefined;\n\n const renderContent = () => {\n if (step.icon) {\n return <span className={config.icon}>{step.icon}</span>;\n }\n\n if (status === \"completed\") {\n return <CheckIcon className={config.icon} aria-hidden=\"true\" />;\n }\n\n if (status === \"error\") {\n return <CloseIcon className={config.icon} aria-hidden=\"true\" />;\n }\n\n if (showNumbers) {\n return <span className=\"font-semibold\">{index + 1}</span>;\n }\n\n return (\n <span\n className={mergeClassNames(\n \"rounded-full bg-current\",\n size === \"sm\" ? \"w-2 h-2\" : \"w-3 h-3\",\n )}\n />\n );\n };\n\n return (\n <motion.div\n className={mergeClassNames(\n \"rounded-full flex items-center justify-center transition-all duration-300\",\n config.indicator,\n variantStyles,\n )}\n style={customColorStyle}\n initial={animated ? { scale: 0.8, opacity: 0 } : undefined}\n animate={animated ? { scale: 1, opacity: 1 } : undefined}\n whileHover={{ scale: 1.05 }}\n whileTap={{ scale: 0.95 }}\n transition={{ type: \"spring\", stiffness: 400, damping: 17 }}\n >\n <AnimatePresence mode=\"wait\">\n <motion.span\n key={status}\n initial={animated ? { scale: 0, rotate: -180 } : undefined}\n animate={animated ? { scale: 1, rotate: 0 } : undefined}\n exit={animated ? { scale: 0, rotate: 180 } : undefined}\n transition={{ duration: 0.2 }}\n >\n {renderContent()}\n </motion.span>\n </AnimatePresence>\n </motion.div>\n );\n};\n\n// Main Stepper Component\nexport const Stepper = ({\n steps,\n currentStep,\n onStepClick,\n orientation = \"horizontal\",\n size = \"md\",\n variant = \"glass\",\n showNumbers = true,\n clickable = true,\n showConnector = true,\n className,\n connectorClassName,\n stepClassName,\n showErrors = false,\n errorSteps = [],\n completedSteps,\n animated = true,\n colors,\n}: StepperProps) => {\n const isVertical = orientation === \"vertical\";\n const config = sizeConfig[size];\n\n const getStepStatus = (index: number): StepStatus => {\n if (showErrors && errorSteps.includes(index)) return \"error\";\n if (completedSteps) {\n if (completedSteps.includes(index)) return \"completed\";\n if (index === currentStep) return \"current\";\n return \"upcoming\";\n }\n if (index < currentStep) return \"completed\";\n if (index === currentStep) return \"current\";\n return \"upcoming\";\n };\n\n const handleStepClick = (index: number) => {\n if (!clickable || !onStepClick) return;\n const step = steps[index];\n if (step.disabled) return;\n\n // Allow clicking on completed or current steps\n const status = getStepStatus(index);\n if (status === \"completed\" || status === \"current\") {\n onStepClick(index);\n }\n };\n\n return (\n <div\n className={mergeClassNames(\n \"w-full relative\",\n isVertical ? \"flex flex-col\" : \"flex items-start justify-between\",\n className,\n )}\n >\n {/* Global Background Continuous Connector */}\n {showConnector &&\n (() => {\n const paddingValue =\n variant === \"glass\" ||\n variant === \"outlined\" ||\n variant === \"minimal\"\n ? 4\n : 2;\n return (\n <div\n className={mergeClassNames(\n \"absolute rounded-full\",\n variant === \"glass\"\n ? \"bg-white/30 dark:bg-white/10 backdrop-blur-sm\"\n : \"bg-neutral-200 dark:bg-neutral-700\",\n connectorClassName,\n )}\n style={{\n ...(isVertical\n ? {\n // Vertical background line\n top: \"0\",\n bottom: \"0\",\n left: `calc(${paddingValue}px + 1px + ${config.indicator.split(\" \")[0].replace(\"w-\", \"\")} * 0.125rem - ${config.connectorThickness} / 2)`,\n width: config.connectorThickness,\n }\n : {\n // Horizontal background line\n left: \"0\",\n right: \"0\",\n top: `calc(${paddingValue}px + 1px + ${config.indicator.split(\" \")[1].replace(\"h-\", \"\")} * 0.125rem - ${config.connectorThickness} / 2)`,\n height: config.connectorThickness,\n }),\n }}\n >\n {/* Animated fill connector */}\n {animated ? (\n <motion.div\n className=\"absolute top-0 left-0 bg-accent rounded-full\"\n initial={{ [isVertical ? \"height\" : \"width\"]: 0 }}\n animate={{\n [isVertical ? \"height\" : \"width\"]:\n `${steps.length > 1 ? (Math.min(currentStep, steps.length - 1) / (steps.length - 1)) * 100 : 0}%`,\n }}\n transition={{ duration: 0.4, ease: \"easeOut\" }}\n style={{\n ...(isVertical ? { width: \"100%\" } : { height: \"100%\" }),\n backgroundColor: colors?.connector || colors?.completed,\n }}\n />\n ) : (\n <div\n className=\"absolute top-0 left-0 bg-accent rounded-full\"\n style={{\n ...(isVertical\n ? {\n width: \"100%\",\n height: `${steps.length > 1 ? (Math.min(currentStep, steps.length - 1) / (steps.length - 1)) * 100 : 0}%`,\n }\n : {\n height: \"100%\",\n width: `${steps.length > 1 ? (Math.min(currentStep, steps.length - 1) / (steps.length - 1)) * 100 : 0}%`,\n }),\n backgroundColor: colors?.connector || colors?.completed,\n }}\n />\n )}\n </div>\n );\n })()}\n\n {steps.map((step, index) => {\n const status = getStepStatus(index);\n const isLast = index === steps.length - 1;\n const isClickable = clickable && !step.disabled; // Keep steps clickable unconditionally for navigation\n const paddingValue =\n variant === \"glass\" || variant === \"outlined\" || variant === \"minimal\"\n ? 4\n : 2;\n\n return (\n <div\n key={step.id}\n className={mergeClassNames(\n \"relative z-10\",\n isVertical\n ? \"flex gap-4 pb-8\" // spacing between vertical elements\n : \"flex flex-1 flex-col items-center\",\n !isLast && isVertical && \"mb-2\",\n isVertical && isLast && \"pb-0\",\n stepClassName,\n )}\n style={{\n // Ensure perfect horizontal distribution\n ...(!isVertical\n ? {\n flexBasis: 0,\n flexGrow: 1,\n // Keep first item aligned left, last aligned right, others centered\n alignItems:\n index === 0\n ? \"flex-start\"\n : isLast\n ? \"flex-end\"\n : \"center\",\n }\n : {}),\n }}\n >\n {/* Step Indicator */}\n <button\n type=\"button\"\n onClick={() => handleStepClick(index)}\n disabled={!isClickable}\n className={mergeClassNames(\n \"relative z-10 shrink-0 flex items-center justify-center bg-white dark:bg-neutral-900 rounded-full\", // Mask background line\n isClickable ? \"cursor-pointer\" : \"cursor-default\",\n // Horizontal offset logic for end items to align with text\n !isVertical && index === 0 && \"mx-0\",\n !isVertical && isLast && \"mx-0\",\n )}\n style={{\n // Adjust the background masking size depending on variant so the line doesn't peek through the edges\n padding: `${paddingValue}px`,\n }}\n aria-current={status === \"current\" ? \"step\" : undefined}\n >\n <StepIndicator\n step={step}\n index={index}\n status={status}\n size={size}\n variant={variant}\n showNumbers={showNumbers}\n animated={animated}\n colors={colors}\n />\n </button>\n\n {/* Step text content */}\n <motion.div\n className={mergeClassNames(\n \"mt-2\",\n isVertical ? \"flex-1 pb-6\" : \"text-center px-2\",\n !isVertical && index === 0 && \"text-left px-0\",\n !isVertical && isLast && \"text-right px-0\",\n isVertical && isLast && \"pb-0\",\n )}\n style={isVertical ? { marginTop: \"-4px\" } : undefined}\n initial={animated ? { opacity: 0, y: 10 } : undefined}\n animate={animated ? { opacity: 1, y: 0 } : undefined}\n transition={{ delay: index * 0.1 }}\n >\n <p\n className={mergeClassNames(\n \"font-medium transition-colors duration-200\",\n config.text,\n status === \"current\"\n ? \"text-accent\"\n : status === \"completed\"\n ? \"text-neutral-700 dark:text-neutral-200\"\n : status === \"error\"\n ? \"text-red-500\"\n : \"text-neutral-500 dark:text-neutral-400\",\n )}\n >\n {step.title}\n {step.optional && (\n <span className=\"ml-1 text-neutral-400 dark:text-neutral-500 font-normal\">\n (Optional)\n </span>\n )}\n </p>\n {step.description && (\n <p\n className={mergeClassNames(\n \"mt-0.5 text-neutral-500 dark:text-neutral-400\",\n size === \"sm\" ? \"text-xs\" : \"text-xs\",\n )}\n >\n {step.description}\n </p>\n )}\n </motion.div>\n\n {/* Step content (for vertical with content) */}\n {isVertical && step.content && status === \"current\" && (\n <motion.div\n initial={{ opacity: 0, height: 0 }}\n animate={{ opacity: 1, height: \"auto\" }}\n exit={{ opacity: 0, height: 0 }}\n className=\"pl-14 pb-4 w-full\"\n >\n {step.content}\n </motion.div>\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nStepper.displayName = \"Stepper\";\n\nexport default Stepper;\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  require("./chunk-B_GkZjkl.cjs");
2
2
  const require_utils = require("./utils-B4SmmY4J.cjs");
3
- const require_icons = require("./icons-DYkpqWYG.cjs");
3
+ const require_icons = require("./icons-BxIzP2jd.cjs");
4
4
  let react_jsx_runtime = require("react/jsx-runtime");
5
5
  let framer_motion = require("framer-motion");
6
6
  //#region src/components/navigation/stepper/Stepper.tsx
@@ -27,26 +27,26 @@ var sizeConfig = {
27
27
  var getVariantStyles = (variant, status) => {
28
28
  return {
29
29
  default: {
30
- completed: "bg-primary text-white shadow-md shadow-primary/30",
31
- current: "bg-primary text-white ring-4 ring-primary/30 shadow-lg shadow-primary/40",
30
+ completed: "bg-accent text-on-accent shadow-md shadow-accent/25",
31
+ current: "bg-accent text-on-accent ring-4 ring-focus/40 shadow-lg shadow-accent/30",
32
32
  upcoming: "bg-neutral-200 text-neutral-500 dark:bg-neutral-700 dark:text-neutral-400",
33
33
  error: "bg-red-500 text-white ring-4 ring-red-500/30"
34
34
  },
35
35
  glass: {
36
- completed: "bg-primary/80 text-white backdrop-blur-xl border border-primary/30 shadow-lg shadow-primary/20",
37
- current: "bg-primary/90 text-white backdrop-blur-xl border-2 border-primary ring-4 ring-primary/20 shadow-xl shadow-primary/30",
36
+ completed: "bg-accent/85 text-on-accent backdrop-blur-xl border border-accent/30 shadow-lg shadow-accent/20",
37
+ current: "bg-accent/90 text-on-accent backdrop-blur-xl border-2 border-accent ring-4 ring-focus/30 shadow-xl shadow-accent/30",
38
38
  upcoming: "bg-white/60 text-neutral-500 backdrop-blur-xl border border-white/40 dark:bg-neutral-800/60 dark:text-neutral-400 dark:border-white/10",
39
39
  error: "bg-red-500/80 text-white backdrop-blur-xl border border-red-400/30 ring-4 ring-red-500/20"
40
40
  },
41
41
  minimal: {
42
- completed: "bg-primary/10 text-primary dark:bg-primary/20",
43
- current: "bg-primary text-white shadow-sm",
42
+ completed: "bg-accent-subtle text-accent",
43
+ current: "bg-accent text-on-accent shadow-sm",
44
44
  upcoming: "bg-transparent text-neutral-400 border-2 border-neutral-300 dark:border-neutral-600",
45
45
  error: "bg-red-100 text-red-500 dark:bg-red-900/30"
46
46
  },
47
47
  outlined: {
48
- completed: "bg-transparent text-primary border-2 border-primary",
49
- current: "bg-primary text-white border-2 border-primary shadow-lg",
48
+ completed: "bg-transparent text-accent border-2 border-accent",
49
+ current: "bg-accent text-on-accent border-2 border-accent shadow-lg",
50
50
  upcoming: "bg-transparent text-neutral-400 border-2 border-neutral-300 dark:border-neutral-600",
51
51
  error: "bg-transparent text-red-500 border-2 border-red-500"
52
52
  }
@@ -155,7 +155,7 @@ var Stepper = ({ steps, currentStep, onStepClick, orientation = "horizontal", si
155
155
  height: config.connectorThickness
156
156
  } },
157
157
  children: animated ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
158
- className: "absolute top-0 left-0 bg-primary rounded-full",
158
+ className: "absolute top-0 left-0 bg-accent rounded-full",
159
159
  initial: { [isVertical ? "height" : "width"]: 0 },
160
160
  animate: { [isVertical ? "height" : "width"]: `${steps.length > 1 ? Math.min(currentStep, steps.length - 1) / (steps.length - 1) * 100 : 0}%` },
161
161
  transition: {
@@ -167,7 +167,7 @@ var Stepper = ({ steps, currentStep, onStepClick, orientation = "horizontal", si
167
167
  backgroundColor: colors?.connector || colors?.completed
168
168
  }
169
169
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
170
- className: "absolute top-0 left-0 bg-primary rounded-full",
170
+ className: "absolute top-0 left-0 bg-accent rounded-full",
171
171
  style: {
172
172
  ...isVertical ? {
173
173
  width: "100%",
@@ -197,7 +197,7 @@ var Stepper = ({ steps, currentStep, onStepClick, orientation = "horizontal", si
197
197
  type: "button",
198
198
  onClick: () => handleStepClick(index),
199
199
  disabled: !isClickable,
200
- className: require_utils.mergeClassNames("relative z-10 flex-shrink-0 flex items-center justify-center bg-white dark:bg-neutral-900 rounded-full", isClickable ? "cursor-pointer" : "cursor-default", !isVertical && index === 0 && "mx-0", !isVertical && isLast && "mx-0"),
200
+ className: require_utils.mergeClassNames("relative z-10 shrink-0 flex items-center justify-center bg-white dark:bg-neutral-900 rounded-full", isClickable ? "cursor-pointer" : "cursor-default", !isVertical && index === 0 && "mx-0", !isVertical && isLast && "mx-0"),
201
201
  style: { padding: `${paddingValue}px` },
202
202
  "aria-current": status === "current" ? "step" : void 0,
203
203
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StepIndicator, {
@@ -224,7 +224,7 @@ var Stepper = ({ steps, currentStep, onStepClick, orientation = "horizontal", si
224
224
  } : void 0,
225
225
  transition: { delay: index * .1 },
226
226
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
227
- className: require_utils.mergeClassNames("font-medium transition-colors duration-200", config.text, status === "current" ? "text-primary dark:text-primary-400" : status === "completed" ? "text-neutral-700 dark:text-neutral-200" : status === "error" ? "text-red-500" : "text-neutral-500 dark:text-neutral-400"),
227
+ className: require_utils.mergeClassNames("font-medium transition-colors duration-200", config.text, status === "current" ? "text-accent" : status === "completed" ? "text-neutral-700 dark:text-neutral-200" : status === "error" ? "text-red-500" : "text-neutral-500 dark:text-neutral-400"),
228
228
  children: [step.title, step.optional && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
229
229
  className: "ml-1 text-neutral-400 dark:text-neutral-500 font-normal",
230
230
  children: "(Optional)"
@@ -264,4 +264,4 @@ Object.defineProperty(exports, "Stepper", {
264
264
  }
265
265
  });
266
266
 
267
- //# sourceMappingURL=stepper-BDz6PkjV.cjs.map
267
+ //# sourceMappingURL=stepper-fY-Sx72k.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper-fY-Sx72k.cjs","names":[],"sources":["../../src/components/navigation/stepper/Stepper.tsx"],"sourcesContent":["import { motion, AnimatePresence } from \"framer-motion\";\n\nimport { CheckIcon, CloseIcon } from \"../../icons\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type {\n StepperProps,\n StepIndicatorProps,\n StepStatus,\n StepperSize,\n StepperVariant,\n} from \"./types\";\n\n// Size configurations for indicators and icons\nconst sizeConfig: Record<\n StepperSize,\n { indicator: string; icon: string; text: string; connectorThickness: string }\n> = {\n sm: {\n indicator: \"w-8 h-8\",\n icon: \"w-4 h-4\",\n text: \"text-xs\",\n connectorThickness: \"2px\",\n },\n md: {\n indicator: \"w-10 h-10\",\n icon: \"w-5 h-5\",\n text: \"text-sm\",\n connectorThickness: \"2px\",\n },\n lg: {\n indicator: \"w-12 h-12\",\n icon: \"w-6 h-6\",\n text: \"text-base\",\n connectorThickness: \"4px\",\n },\n};\n\n// Variant styles for the indicator\nconst getVariantStyles = (variant: StepperVariant, status: StepStatus) => {\n const baseStyles = {\n default: {\n completed: \"bg-accent text-on-accent shadow-md shadow-accent/25\",\n current:\n \"bg-accent text-on-accent ring-4 ring-focus/40 shadow-lg shadow-accent/30\",\n upcoming:\n \"bg-neutral-200 text-neutral-500 dark:bg-neutral-700 dark:text-neutral-400\",\n error: \"bg-red-500 text-white ring-4 ring-red-500/30\",\n },\n glass: {\n completed:\n \"bg-accent/85 text-on-accent backdrop-blur-xl border border-accent/30 shadow-lg shadow-accent/20\",\n current:\n \"bg-accent/90 text-on-accent backdrop-blur-xl border-2 border-accent ring-4 ring-focus/30 shadow-xl shadow-accent/30\",\n upcoming:\n \"bg-white/60 text-neutral-500 backdrop-blur-xl border border-white/40 dark:bg-neutral-800/60 dark:text-neutral-400 dark:border-white/10\",\n error:\n \"bg-red-500/80 text-white backdrop-blur-xl border border-red-400/30 ring-4 ring-red-500/20\",\n },\n minimal: {\n completed: \"bg-accent-subtle text-accent\",\n current: \"bg-accent text-on-accent shadow-sm\",\n upcoming:\n \"bg-transparent text-neutral-400 border-2 border-neutral-300 dark:border-neutral-600\",\n error: \"bg-red-100 text-red-500 dark:bg-red-900/30\",\n },\n outlined: {\n completed: \"bg-transparent text-accent border-2 border-accent\",\n current: \"bg-accent text-on-accent border-2 border-accent shadow-lg\",\n upcoming:\n \"bg-transparent text-neutral-400 border-2 border-neutral-300 dark:border-neutral-600\",\n error: \"bg-transparent text-red-500 border-2 border-red-500\",\n },\n };\n\n return baseStyles[variant][status];\n};\n\n// Step Indicator Component\nconst StepIndicator = ({\n step,\n index,\n status,\n size,\n variant,\n showNumbers,\n animated,\n colors,\n}: StepIndicatorProps) => {\n const config = sizeConfig[size];\n const variantStyles = getVariantStyles(variant, status);\n\n // Custom color overrides\n const customColorStyle = colors?.[status]\n ? { backgroundColor: colors[status], borderColor: colors[status] }\n : undefined;\n\n const renderContent = () => {\n if (step.icon) {\n return <span className={config.icon}>{step.icon}</span>;\n }\n\n if (status === \"completed\") {\n return <CheckIcon className={config.icon} aria-hidden=\"true\" />;\n }\n\n if (status === \"error\") {\n return <CloseIcon className={config.icon} aria-hidden=\"true\" />;\n }\n\n if (showNumbers) {\n return <span className=\"font-semibold\">{index + 1}</span>;\n }\n\n return (\n <span\n className={mergeClassNames(\n \"rounded-full bg-current\",\n size === \"sm\" ? \"w-2 h-2\" : \"w-3 h-3\",\n )}\n />\n );\n };\n\n return (\n <motion.div\n className={mergeClassNames(\n \"rounded-full flex items-center justify-center transition-all duration-300\",\n config.indicator,\n variantStyles,\n )}\n style={customColorStyle}\n initial={animated ? { scale: 0.8, opacity: 0 } : undefined}\n animate={animated ? { scale: 1, opacity: 1 } : undefined}\n whileHover={{ scale: 1.05 }}\n whileTap={{ scale: 0.95 }}\n transition={{ type: \"spring\", stiffness: 400, damping: 17 }}\n >\n <AnimatePresence mode=\"wait\">\n <motion.span\n key={status}\n initial={animated ? { scale: 0, rotate: -180 } : undefined}\n animate={animated ? { scale: 1, rotate: 0 } : undefined}\n exit={animated ? { scale: 0, rotate: 180 } : undefined}\n transition={{ duration: 0.2 }}\n >\n {renderContent()}\n </motion.span>\n </AnimatePresence>\n </motion.div>\n );\n};\n\n// Main Stepper Component\nexport const Stepper = ({\n steps,\n currentStep,\n onStepClick,\n orientation = \"horizontal\",\n size = \"md\",\n variant = \"glass\",\n showNumbers = true,\n clickable = true,\n showConnector = true,\n className,\n connectorClassName,\n stepClassName,\n showErrors = false,\n errorSteps = [],\n completedSteps,\n animated = true,\n colors,\n}: StepperProps) => {\n const isVertical = orientation === \"vertical\";\n const config = sizeConfig[size];\n\n const getStepStatus = (index: number): StepStatus => {\n if (showErrors && errorSteps.includes(index)) return \"error\";\n if (completedSteps) {\n if (completedSteps.includes(index)) return \"completed\";\n if (index === currentStep) return \"current\";\n return \"upcoming\";\n }\n if (index < currentStep) return \"completed\";\n if (index === currentStep) return \"current\";\n return \"upcoming\";\n };\n\n const handleStepClick = (index: number) => {\n if (!clickable || !onStepClick) return;\n const step = steps[index];\n if (step.disabled) return;\n\n // Allow clicking on completed or current steps\n const status = getStepStatus(index);\n if (status === \"completed\" || status === \"current\") {\n onStepClick(index);\n }\n };\n\n return (\n <div\n className={mergeClassNames(\n \"w-full relative\",\n isVertical ? \"flex flex-col\" : \"flex items-start justify-between\",\n className,\n )}\n >\n {/* Global Background Continuous Connector */}\n {showConnector &&\n (() => {\n const paddingValue =\n variant === \"glass\" ||\n variant === \"outlined\" ||\n variant === \"minimal\"\n ? 4\n : 2;\n return (\n <div\n className={mergeClassNames(\n \"absolute rounded-full\",\n variant === \"glass\"\n ? \"bg-white/30 dark:bg-white/10 backdrop-blur-sm\"\n : \"bg-neutral-200 dark:bg-neutral-700\",\n connectorClassName,\n )}\n style={{\n ...(isVertical\n ? {\n // Vertical background line\n top: \"0\",\n bottom: \"0\",\n left: `calc(${paddingValue}px + 1px + ${config.indicator.split(\" \")[0].replace(\"w-\", \"\")} * 0.125rem - ${config.connectorThickness} / 2)`,\n width: config.connectorThickness,\n }\n : {\n // Horizontal background line\n left: \"0\",\n right: \"0\",\n top: `calc(${paddingValue}px + 1px + ${config.indicator.split(\" \")[1].replace(\"h-\", \"\")} * 0.125rem - ${config.connectorThickness} / 2)`,\n height: config.connectorThickness,\n }),\n }}\n >\n {/* Animated fill connector */}\n {animated ? (\n <motion.div\n className=\"absolute top-0 left-0 bg-accent rounded-full\"\n initial={{ [isVertical ? \"height\" : \"width\"]: 0 }}\n animate={{\n [isVertical ? \"height\" : \"width\"]:\n `${steps.length > 1 ? (Math.min(currentStep, steps.length - 1) / (steps.length - 1)) * 100 : 0}%`,\n }}\n transition={{ duration: 0.4, ease: \"easeOut\" }}\n style={{\n ...(isVertical ? { width: \"100%\" } : { height: \"100%\" }),\n backgroundColor: colors?.connector || colors?.completed,\n }}\n />\n ) : (\n <div\n className=\"absolute top-0 left-0 bg-accent rounded-full\"\n style={{\n ...(isVertical\n ? {\n width: \"100%\",\n height: `${steps.length > 1 ? (Math.min(currentStep, steps.length - 1) / (steps.length - 1)) * 100 : 0}%`,\n }\n : {\n height: \"100%\",\n width: `${steps.length > 1 ? (Math.min(currentStep, steps.length - 1) / (steps.length - 1)) * 100 : 0}%`,\n }),\n backgroundColor: colors?.connector || colors?.completed,\n }}\n />\n )}\n </div>\n );\n })()}\n\n {steps.map((step, index) => {\n const status = getStepStatus(index);\n const isLast = index === steps.length - 1;\n const isClickable = clickable && !step.disabled; // Keep steps clickable unconditionally for navigation\n const paddingValue =\n variant === \"glass\" || variant === \"outlined\" || variant === \"minimal\"\n ? 4\n : 2;\n\n return (\n <div\n key={step.id}\n className={mergeClassNames(\n \"relative z-10\",\n isVertical\n ? \"flex gap-4 pb-8\" // spacing between vertical elements\n : \"flex flex-1 flex-col items-center\",\n !isLast && isVertical && \"mb-2\",\n isVertical && isLast && \"pb-0\",\n stepClassName,\n )}\n style={{\n // Ensure perfect horizontal distribution\n ...(!isVertical\n ? {\n flexBasis: 0,\n flexGrow: 1,\n // Keep first item aligned left, last aligned right, others centered\n alignItems:\n index === 0\n ? \"flex-start\"\n : isLast\n ? \"flex-end\"\n : \"center\",\n }\n : {}),\n }}\n >\n {/* Step Indicator */}\n <button\n type=\"button\"\n onClick={() => handleStepClick(index)}\n disabled={!isClickable}\n className={mergeClassNames(\n \"relative z-10 shrink-0 flex items-center justify-center bg-white dark:bg-neutral-900 rounded-full\", // Mask background line\n isClickable ? \"cursor-pointer\" : \"cursor-default\",\n // Horizontal offset logic for end items to align with text\n !isVertical && index === 0 && \"mx-0\",\n !isVertical && isLast && \"mx-0\",\n )}\n style={{\n // Adjust the background masking size depending on variant so the line doesn't peek through the edges\n padding: `${paddingValue}px`,\n }}\n aria-current={status === \"current\" ? \"step\" : undefined}\n >\n <StepIndicator\n step={step}\n index={index}\n status={status}\n size={size}\n variant={variant}\n showNumbers={showNumbers}\n animated={animated}\n colors={colors}\n />\n </button>\n\n {/* Step text content */}\n <motion.div\n className={mergeClassNames(\n \"mt-2\",\n isVertical ? \"flex-1 pb-6\" : \"text-center px-2\",\n !isVertical && index === 0 && \"text-left px-0\",\n !isVertical && isLast && \"text-right px-0\",\n isVertical && isLast && \"pb-0\",\n )}\n style={isVertical ? { marginTop: \"-4px\" } : undefined}\n initial={animated ? { opacity: 0, y: 10 } : undefined}\n animate={animated ? { opacity: 1, y: 0 } : undefined}\n transition={{ delay: index * 0.1 }}\n >\n <p\n className={mergeClassNames(\n \"font-medium transition-colors duration-200\",\n config.text,\n status === \"current\"\n ? \"text-accent\"\n : status === \"completed\"\n ? \"text-neutral-700 dark:text-neutral-200\"\n : status === \"error\"\n ? \"text-red-500\"\n : \"text-neutral-500 dark:text-neutral-400\",\n )}\n >\n {step.title}\n {step.optional && (\n <span className=\"ml-1 text-neutral-400 dark:text-neutral-500 font-normal\">\n (Optional)\n </span>\n )}\n </p>\n {step.description && (\n <p\n className={mergeClassNames(\n \"mt-0.5 text-neutral-500 dark:text-neutral-400\",\n size === \"sm\" ? \"text-xs\" : \"text-xs\",\n )}\n >\n {step.description}\n </p>\n )}\n </motion.div>\n\n {/* Step content (for vertical with content) */}\n {isVertical && step.content && status === \"current\" && (\n <motion.div\n initial={{ opacity: 0, height: 0 }}\n animate={{ opacity: 1, height: \"auto\" }}\n exit={{ opacity: 0, height: 0 }}\n className=\"pl-14 pb-4 w-full\"\n >\n {step.content}\n </motion.div>\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nStepper.displayName = \"Stepper\";\n\nexport default Stepper;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { n as useThemeContext } from "./theme-Bwu0HKqZ.mjs";
1
+ import { n as useThemeContext } from "./theme-BceKeYhw.mjs";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { motion } from "framer-motion";
4
4
  //#region src/components/effects/sun-to-moon-button/SunToMoonButton.tsx
@@ -175,7 +175,7 @@ function SunToMoonButton({ showLabelAndImage = true }) {
175
175
  ]
176
176
  }), /* @__PURE__ */ jsxs("span", {
177
177
  className: "my-1 flex w-[150px] justify-between",
178
- children: [/* @__PURE__ */ jsx("span", { className: "mb-1 w-[80px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600" }), /* @__PURE__ */ jsx("span", { className: "mb-1 w-[30px] rounded-full bg-primary p-1" })]
178
+ children: [/* @__PURE__ */ jsx("span", { className: "mb-1 w-[80px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600" }), /* @__PURE__ */ jsx("span", { className: "mb-1 w-[30px] rounded-full bg-accent p-1" })]
179
179
  })]
180
180
  })]
181
181
  });
@@ -183,4 +183,4 @@ function SunToMoonButton({ showLabelAndImage = true }) {
183
183
  //#endregion
184
184
  export { SunToMoonButton as t };
185
185
 
186
- //# sourceMappingURL=sun-to-moon-button-3E6qah0o.mjs.map
186
+ //# sourceMappingURL=sun-to-moon-button-B2Aje05o.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sun-to-moon-button-3E6qah0o.mjs","names":[],"sources":["../../src/components/effects/sun-to-moon-button/SunToMoonButton.tsx"],"sourcesContent":["import { useThemeContext } from \"../../../foundations/theme\";\nimport { motion } from \"framer-motion\";\n\nexport interface SunToMoonButtonProps {\n showLabelAndImage?: boolean;\n}\n\nexport default function SunToMoonButton({\n showLabelAndImage = true,\n}: SunToMoonButtonProps) {\n const { mode, toggleMode } = useThemeContext();\n\n const raysVariants = {\n hidden: {\n strokeOpacity: 0,\n transition: {\n staggerChildren: 0.05,\n staggerDirection: -1,\n },\n },\n visible: {\n strokeOpacity: 1,\n transition: {\n staggerChildren: 0.05,\n },\n },\n };\n\n const rayVariant = {\n hidden: {\n pathLength: 0,\n opacity: 0,\n // Start from center of the circle\n scale: 0,\n },\n visible: {\n pathLength: 1,\n opacity: 1,\n scale: 1,\n transition: {\n duration: 0.5,\n pathLength: { duration: 0.3 },\n opacity: { duration: 0.2 },\n scale: { duration: 0.3 },\n },\n },\n };\n\n const shineVariant = {\n hidden: {\n opacity: 0,\n scale: 2,\n strokeDasharray: \"20, 1000\",\n strokeDashoffset: 0,\n filter: \"blur(0px)\",\n },\n visible: {\n opacity: [0, 1, 0],\n strokeDashoffset: [0, -50, -100],\n filter: [\"blur(2px)\", \"blur(2px)\", \"blur(0px)\"],\n transition: {\n duration: 0.75,\n },\n },\n };\n\n const sunPath =\n \"M70 49.5C70 60.8218 60.8218 70 49.5 70C38.1782 70 29 60.8218 29 49.5C29 38.1782 38.1782 29 49.5 29C60 29 69.5 38 70 49.5Z\";\n const moonPath =\n \"M70 49.5C70 60.8218 60.8218 70 49.5 70C38.1782 70 29 60.8218 29 49.5C29 38.1782 38.1782 29 49.5 29C39 45 49.5 59.5 70 49.5Z\";\n const fallbackPath = sunPath;\n\n // Ensure we have valid paths at all times\n // Light mode = sun, Dark mode = moon\n const currentPath = mode === \"light\" ? sunPath : moonPath;\n const safeCurrentPath = currentPath || fallbackPath;\n\n return (\n <button\n type=\"button\"\n className=\"flex w-full cursor-pointer flex-col items-center justify-center rounded-xl py-3 text-base font-medium transition duration-200\"\n onClick={() => toggleMode()}\n >\n <span className=\"flex items-center\">\n {showLabelAndImage && (\n <span className=\"mr-2 text-neutral-900 dark:text-white\">\n {mode === \"light\" ? \"Light\" : \"Dark\"}\n </span>\n )}\n\n <motion.svg\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n width={20}\n height={20}\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"relative\"\n >\n {/* Shine effect for moon in dark mode */}\n {moonPath && (\n <motion.path\n variants={shineVariant}\n d={moonPath}\n className=\"absolute top-0 left-0 stroke-blue-100\"\n initial=\"hidden\"\n animate={mode === \"light\" ? \"hidden\" : \"visible\"}\n />\n )}\n\n {/* Sun rays - visible in light mode */}\n <motion.g\n variants={raysVariants}\n initial=\"hidden\"\n animate={mode === \"dark\" ? \"hidden\" : \"visible\"}\n style={{\n strokeLinecap: \"round\",\n strokeWidth: 6,\n stroke: \"var(--color-yellow-500)\",\n }}\n >\n <motion.path\n className=\"origin-center\"\n variants={rayVariant}\n d=\"M50 2V11\"\n />\n <motion.path variants={rayVariant} d=\"M85 15L78 22\" />\n <motion.path variants={rayVariant} d=\"M98 50H89\" />\n <motion.path variants={rayVariant} d=\"M85 85L78 78\" />\n <motion.path variants={rayVariant} d=\"M50 98V89\" />\n <motion.path variants={rayVariant} d=\"M23 78L16 84\" />\n <motion.path variants={rayVariant} d=\"M11 50H2\" />\n <motion.path variants={rayVariant} d=\"M23 23L16 16\" />\n </motion.g>\n\n {/* Main path - Light=Sun(yellow), Dark=Moon(blue) */}\n <motion.path\n d={safeCurrentPath}\n fill=\"transparent\"\n transition={{ duration: 1, type: \"spring\" }}\n initial={false}\n animate={\n mode === \"light\"\n ? {\n d: sunPath || fallbackPath,\n rotate: 0,\n scale: 1,\n stroke: \"var(--color-yellow-500)\",\n fill: \"var(--color-yellow-500)\",\n fillOpacity: 0.5,\n strokeOpacity: 1,\n }\n : {\n d: moonPath || fallbackPath,\n rotate: -360,\n scale: 2,\n stroke: \"var(--color-blue-400)\",\n fill: \"var(--color-blue-400)\",\n fillOpacity: 0.35,\n strokeOpacity: 1,\n }\n }\n />\n </motion.svg>\n </span>\n {showLabelAndImage && (\n <span className=\"mt-2 flex h-[90px] w-[180px] flex-col items-center justify-center rounded-md bg-neutral-100 dark:bg-neutral-800\">\n <span className=\"my-4 flex w-[150px] flex-col rounded-md\">\n <span className=\"mb-1 w-[80px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600\"></span>\n <span className=\"mb-1 w-[100px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600\"></span>\n <span className=\"w-[150px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600\"></span>\n </span>\n <span className=\"my-1 flex w-[150px] justify-between\">\n <span className=\"mb-1 w-[80px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600\"></span>\n <span className=\"mb-1 w-[30px] rounded-full bg-primary p-1\"></span>\n </span>\n </span>\n )}\n </button>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sun-to-moon-button-B2Aje05o.mjs","names":[],"sources":["../../src/components/effects/sun-to-moon-button/SunToMoonButton.tsx"],"sourcesContent":["import { useThemeContext } from \"../../../foundations/theme\";\nimport { motion } from \"framer-motion\";\n\nexport interface SunToMoonButtonProps {\n showLabelAndImage?: boolean;\n}\n\nexport default function SunToMoonButton({\n showLabelAndImage = true,\n}: SunToMoonButtonProps) {\n const { mode, toggleMode } = useThemeContext();\n\n const raysVariants = {\n hidden: {\n strokeOpacity: 0,\n transition: {\n staggerChildren: 0.05,\n staggerDirection: -1,\n },\n },\n visible: {\n strokeOpacity: 1,\n transition: {\n staggerChildren: 0.05,\n },\n },\n };\n\n const rayVariant = {\n hidden: {\n pathLength: 0,\n opacity: 0,\n // Start from center of the circle\n scale: 0,\n },\n visible: {\n pathLength: 1,\n opacity: 1,\n scale: 1,\n transition: {\n duration: 0.5,\n pathLength: { duration: 0.3 },\n opacity: { duration: 0.2 },\n scale: { duration: 0.3 },\n },\n },\n };\n\n const shineVariant = {\n hidden: {\n opacity: 0,\n scale: 2,\n strokeDasharray: \"20, 1000\",\n strokeDashoffset: 0,\n filter: \"blur(0px)\",\n },\n visible: {\n opacity: [0, 1, 0],\n strokeDashoffset: [0, -50, -100],\n filter: [\"blur(2px)\", \"blur(2px)\", \"blur(0px)\"],\n transition: {\n duration: 0.75,\n },\n },\n };\n\n const sunPath =\n \"M70 49.5C70 60.8218 60.8218 70 49.5 70C38.1782 70 29 60.8218 29 49.5C29 38.1782 38.1782 29 49.5 29C60 29 69.5 38 70 49.5Z\";\n const moonPath =\n \"M70 49.5C70 60.8218 60.8218 70 49.5 70C38.1782 70 29 60.8218 29 49.5C29 38.1782 38.1782 29 49.5 29C39 45 49.5 59.5 70 49.5Z\";\n const fallbackPath = sunPath;\n\n // Ensure we have valid paths at all times\n // Light mode = sun, Dark mode = moon\n const currentPath = mode === \"light\" ? sunPath : moonPath;\n const safeCurrentPath = currentPath || fallbackPath;\n\n return (\n <button\n type=\"button\"\n className=\"flex w-full cursor-pointer flex-col items-center justify-center rounded-xl py-3 text-base font-medium transition duration-200\"\n onClick={() => toggleMode()}\n >\n <span className=\"flex items-center\">\n {showLabelAndImage && (\n <span className=\"mr-2 text-neutral-900 dark:text-white\">\n {mode === \"light\" ? \"Light\" : \"Dark\"}\n </span>\n )}\n\n <motion.svg\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n width={20}\n height={20}\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"relative\"\n >\n {/* Shine effect for moon in dark mode */}\n {moonPath && (\n <motion.path\n variants={shineVariant}\n d={moonPath}\n className=\"absolute top-0 left-0 stroke-blue-100\"\n initial=\"hidden\"\n animate={mode === \"light\" ? \"hidden\" : \"visible\"}\n />\n )}\n\n {/* Sun rays - visible in light mode */}\n <motion.g\n variants={raysVariants}\n initial=\"hidden\"\n animate={mode === \"dark\" ? \"hidden\" : \"visible\"}\n style={{\n strokeLinecap: \"round\",\n strokeWidth: 6,\n stroke: \"var(--color-yellow-500)\",\n }}\n >\n <motion.path\n className=\"origin-center\"\n variants={rayVariant}\n d=\"M50 2V11\"\n />\n <motion.path variants={rayVariant} d=\"M85 15L78 22\" />\n <motion.path variants={rayVariant} d=\"M98 50H89\" />\n <motion.path variants={rayVariant} d=\"M85 85L78 78\" />\n <motion.path variants={rayVariant} d=\"M50 98V89\" />\n <motion.path variants={rayVariant} d=\"M23 78L16 84\" />\n <motion.path variants={rayVariant} d=\"M11 50H2\" />\n <motion.path variants={rayVariant} d=\"M23 23L16 16\" />\n </motion.g>\n\n {/* Main path - Light=Sun(yellow), Dark=Moon(blue) */}\n <motion.path\n d={safeCurrentPath}\n fill=\"transparent\"\n transition={{ duration: 1, type: \"spring\" }}\n initial={false}\n animate={\n mode === \"light\"\n ? {\n d: sunPath || fallbackPath,\n rotate: 0,\n scale: 1,\n stroke: \"var(--color-yellow-500)\",\n fill: \"var(--color-yellow-500)\",\n fillOpacity: 0.5,\n strokeOpacity: 1,\n }\n : {\n d: moonPath || fallbackPath,\n rotate: -360,\n scale: 2,\n stroke: \"var(--color-blue-400)\",\n fill: \"var(--color-blue-400)\",\n fillOpacity: 0.35,\n strokeOpacity: 1,\n }\n }\n />\n </motion.svg>\n </span>\n {showLabelAndImage && (\n <span className=\"mt-2 flex h-[90px] w-[180px] flex-col items-center justify-center rounded-md bg-neutral-100 dark:bg-neutral-800\">\n <span className=\"my-4 flex w-[150px] flex-col rounded-md\">\n <span className=\"mb-1 w-[80px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600\"></span>\n <span className=\"mb-1 w-[100px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600\"></span>\n <span className=\"w-[150px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600\"></span>\n </span>\n <span className=\"my-1 flex w-[150px] justify-between\">\n <span className=\"mb-1 w-[80px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600\"></span>\n <span className=\"mb-1 w-[30px] rounded-full bg-accent p-1\"></span>\n </span>\n </span>\n )}\n </button>\n );\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  require("./chunk-B_GkZjkl.cjs");
2
- const require_theme = require("./theme-CBtWIFMT.cjs");
2
+ const require_theme = require("./theme-7DWLxJK_.cjs");
3
3
  let react_jsx_runtime = require("react/jsx-runtime");
4
4
  let framer_motion = require("framer-motion");
5
5
  //#region src/components/effects/sun-to-moon-button/SunToMoonButton.tsx
@@ -176,7 +176,7 @@ function SunToMoonButton({ showLabelAndImage = true }) {
176
176
  ]
177
177
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
178
178
  className: "my-1 flex w-[150px] justify-between",
179
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "mb-1 w-[80px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "mb-1 w-[30px] rounded-full bg-primary p-1" })]
179
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "mb-1 w-[80px] rounded-full bg-neutral-300 p-1 dark:bg-neutral-600" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "mb-1 w-[30px] rounded-full bg-accent p-1" })]
180
180
  })]
181
181
  })]
182
182
  });
@@ -189,4 +189,4 @@ Object.defineProperty(exports, "SunToMoonButton", {
189
189
  }
190
190
  });
191
191
 
192
- //# sourceMappingURL=sun-to-moon-button-B__3FWnK.cjs.map
192
+ //# sourceMappingURL=sun-to-moon-button-BmFwRBye.cjs.map