erp-pro-ui 0.1.4 → 0.1.6

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 (484) hide show
  1. package/README.md +137 -28
  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/animated-content.cjs +1 -1
  7. package/dist/animated-content.mjs +1 -1
  8. package/dist/animations.css +2 -2
  9. package/dist/ascii-text.cjs +1 -1
  10. package/dist/ascii-text.mjs +1 -1
  11. package/dist/background-gradient-animation.cjs +1 -1
  12. package/dist/background-gradient-animation.mjs +1 -1
  13. package/dist/button-hover-border-gradient.cjs +1 -1
  14. package/dist/button-hover-border-gradient.mjs +1 -1
  15. package/dist/button.cjs +1 -1
  16. package/dist/button.mjs +1 -1
  17. package/dist/calendar.cjs +1 -1
  18. package/dist/calendar.mjs +1 -1
  19. package/dist/card.cjs +1 -1
  20. package/dist/card.mjs +1 -1
  21. package/dist/carousel.cjs +1 -1
  22. package/dist/carousel.mjs +1 -1
  23. package/dist/catalog.cjs +6 -0
  24. package/dist/catalog.cjs.map +1 -1
  25. package/dist/catalog.d.ts +11 -1
  26. package/dist/catalog.d.ts.map +1 -1
  27. package/dist/catalog.mjs +6 -0
  28. package/dist/catalog.mjs.map +1 -1
  29. package/dist/charts.cjs +2 -1
  30. package/dist/charts.mjs +2 -2
  31. package/dist/checkbox.cjs +1 -1
  32. package/dist/checkbox.mjs +1 -1
  33. package/dist/chip.cjs +3 -1
  34. package/dist/chip.mjs +2 -2
  35. package/dist/chroma-grid.cjs +1 -1
  36. package/dist/chroma-grid.mjs +1 -1
  37. package/dist/chunks/{HoverBorderGradient-Df3PKpw6.cjs → HoverBorderGradient-C5D6lGg0.cjs} +8 -8
  38. package/dist/chunks/HoverBorderGradient-C5D6lGg0.cjs.map +1 -0
  39. package/dist/chunks/{HoverBorderGradient-DVFEIXFQ.mjs → HoverBorderGradient-CduqqQgX.mjs} +8 -8
  40. package/dist/chunks/HoverBorderGradient-CduqqQgX.mjs.map +1 -0
  41. package/dist/chunks/{accordion-Cbt-SJhj.mjs → accordion-6zxJUYXr.mjs} +8 -8
  42. package/dist/chunks/accordion-6zxJUYXr.mjs.map +1 -0
  43. package/dist/chunks/{accordion-pfJR8YYA.cjs → accordion-CmB6EidC.cjs} +8 -8
  44. package/dist/chunks/accordion-CmB6EidC.cjs.map +1 -0
  45. package/dist/chunks/alert-C5KEeQqh.cjs +81 -0
  46. package/dist/chunks/alert-C5KEeQqh.cjs.map +1 -0
  47. package/dist/chunks/alert-XVmYJgds.mjs +75 -0
  48. package/dist/chunks/alert-XVmYJgds.mjs.map +1 -0
  49. package/dist/chunks/{animated-content-CttSmLWV.cjs → animated-content-CLsFnjgr.cjs} +1 -1
  50. package/dist/chunks/{animated-content-CttSmLWV.cjs.map → animated-content-CLsFnjgr.cjs.map} +1 -1
  51. package/dist/chunks/{animated-content-C1uNg1xO.mjs → animated-content-bK6xp-vc.mjs} +1 -1
  52. package/dist/chunks/{animated-content-C1uNg1xO.mjs.map → animated-content-bK6xp-vc.mjs.map} +1 -1
  53. package/dist/chunks/{ascii-text-DlmArZXh.cjs → ascii-text-BP-BBy0-.cjs} +3 -3
  54. package/dist/chunks/{ascii-text-DlmArZXh.cjs.map → ascii-text-BP-BBy0-.cjs.map} +1 -1
  55. package/dist/chunks/{ascii-text-C5tyNsR3.mjs → ascii-text-RJxX3wCC.mjs} +1 -1
  56. package/dist/chunks/{ascii-text-C5tyNsR3.mjs.map → ascii-text-RJxX3wCC.mjs.map} +1 -1
  57. package/dist/chunks/{background-gradient-animation-BL-lnrJe.mjs → background-gradient-animation-DpKJ3ecq.mjs} +3 -3
  58. package/dist/chunks/{background-gradient-animation-BL-lnrJe.mjs.map → background-gradient-animation-DpKJ3ecq.mjs.map} +1 -1
  59. package/dist/chunks/{background-gradient-animation-CXV9GDH8.cjs → background-gradient-animation-II9hdrgB.cjs} +3 -3
  60. package/dist/chunks/{background-gradient-animation-CXV9GDH8.cjs.map → background-gradient-animation-II9hdrgB.cjs.map} +1 -1
  61. package/dist/chunks/{button-B0Lhj0AS.mjs → button-DddUhuR-.mjs} +6 -5
  62. package/dist/chunks/button-DddUhuR-.mjs.map +1 -0
  63. package/dist/chunks/{button-hover-border-gradient-CvoM60wz.mjs → button-hover-border-gradient-DFppVRI4.mjs} +3 -3
  64. package/dist/chunks/{button-hover-border-gradient-CvoM60wz.mjs.map → button-hover-border-gradient-DFppVRI4.mjs.map} +1 -1
  65. package/dist/chunks/{button-hover-border-gradient-CSHXM5Cm.cjs → button-hover-border-gradient-DX2lBG5C.cjs} +3 -3
  66. package/dist/chunks/{button-hover-border-gradient-CSHXM5Cm.cjs.map → button-hover-border-gradient-DX2lBG5C.cjs.map} +1 -1
  67. package/dist/chunks/{button-CZL6kFzT.cjs → button-xqernofO.cjs} +6 -5
  68. package/dist/chunks/button-xqernofO.cjs.map +1 -0
  69. package/dist/chunks/{calendar-DrCgT_pj.mjs → calendar-Cp84V2rY.mjs} +7 -7
  70. package/dist/chunks/calendar-Cp84V2rY.mjs.map +1 -0
  71. package/dist/chunks/{calendar-Cpp_Rc7T.cjs → calendar-DuCKr6b7.cjs} +7 -7
  72. package/dist/chunks/calendar-DuCKr6b7.cjs.map +1 -0
  73. package/dist/chunks/{card-C5_tFK6Q.cjs → card-CqPDr6Tt.cjs} +4 -4
  74. package/dist/chunks/card-CqPDr6Tt.cjs.map +1 -0
  75. package/dist/chunks/{card-Dh8wNv8N.mjs → card-SpHHNB0c.mjs} +4 -4
  76. package/dist/chunks/card-SpHHNB0c.mjs.map +1 -0
  77. package/dist/chunks/{carousel-BYwqI4cA.mjs → carousel-C1skQ65z.mjs} +14 -14
  78. package/dist/chunks/carousel-C1skQ65z.mjs.map +1 -0
  79. package/dist/chunks/{carousel-C1338X8h.cjs → carousel-YlRLOGkM.cjs} +11 -11
  80. package/dist/chunks/carousel-YlRLOGkM.cjs.map +1 -0
  81. package/dist/chunks/{charts-BYvM4TMG.mjs → charts-C-Qee_JY.mjs} +118 -19
  82. package/dist/chunks/charts-C-Qee_JY.mjs.map +1 -0
  83. package/dist/chunks/{charts-DbxyHtlX.cjs → charts-CZEYcr6X.cjs} +119 -14
  84. package/dist/chunks/charts-CZEYcr6X.cjs.map +1 -0
  85. package/dist/chunks/{checkbox-Pr49U9F1.mjs → checkbox-DjGpvMyo.mjs} +12 -12
  86. package/dist/chunks/checkbox-DjGpvMyo.mjs.map +1 -0
  87. package/dist/chunks/{checkbox-CxOcjoGP.cjs → checkbox-NM_iPd6S.cjs} +10 -10
  88. package/dist/chunks/checkbox-NM_iPd6S.cjs.map +1 -0
  89. package/dist/chunks/chip-BY83_HK7.cjs +203 -0
  90. package/dist/chunks/chip-BY83_HK7.cjs.map +1 -0
  91. package/dist/chunks/chip-CbO8-1lK.mjs +185 -0
  92. package/dist/chunks/chip-CbO8-1lK.mjs.map +1 -0
  93. package/dist/chunks/{chroma-grid-BAo6V5A7.mjs → chroma-grid-CexX28VQ.mjs} +6 -6
  94. package/dist/chunks/chroma-grid-CexX28VQ.mjs.map +1 -0
  95. package/dist/chunks/{chroma-grid-CIk0dsNS.cjs → chroma-grid-DP__XtmV.cjs} +6 -6
  96. package/dist/chunks/chroma-grid-DP__XtmV.cjs.map +1 -0
  97. package/dist/chunks/{color-palette-euKQMWlV.mjs → color-palette-BU1cI6XP.mjs} +166 -132
  98. package/dist/chunks/color-palette-BU1cI6XP.mjs.map +1 -0
  99. package/dist/chunks/{color-palette-2TuEMkAn.cjs → color-palette-ThIKMhT1.cjs} +168 -133
  100. package/dist/chunks/color-palette-ThIKMhT1.cjs.map +1 -0
  101. package/dist/chunks/{combobox-CwGubKTt.cjs → combobox-B7UIcjsI.cjs} +31 -23
  102. package/dist/chunks/combobox-B7UIcjsI.cjs.map +1 -0
  103. package/dist/chunks/{combobox-DrFmkI0F.mjs → combobox-D6WnThIQ.mjs} +30 -22
  104. package/dist/chunks/combobox-D6WnThIQ.mjs.map +1 -0
  105. package/dist/chunks/data-table-KDM8AEwU.mjs +1555 -0
  106. package/dist/chunks/data-table-KDM8AEwU.mjs.map +1 -0
  107. package/dist/chunks/data-table-z-YDzi0N.cjs +1646 -0
  108. package/dist/chunks/data-table-z-YDzi0N.cjs.map +1 -0
  109. package/dist/chunks/{date-picker-CNPORxhv.mjs → date-picker-Bh6_p4bD.mjs} +39 -19
  110. package/dist/chunks/date-picker-Bh6_p4bD.mjs.map +1 -0
  111. package/dist/chunks/{date-picker-CZo68Fkl.cjs → date-picker-CfCvp6Tj.cjs} +39 -19
  112. package/dist/chunks/date-picker-CfCvp6Tj.cjs.map +1 -0
  113. package/dist/chunks/{dialog-DUWnV9tN.mjs → dialog-BibwiFLY.mjs} +33 -30
  114. package/dist/chunks/dialog-BibwiFLY.mjs.map +1 -0
  115. package/dist/chunks/{dialog-CYFiWN8M.cjs → dialog-I141I0nc.cjs} +33 -30
  116. package/dist/chunks/dialog-I141I0nc.cjs.map +1 -0
  117. package/dist/chunks/{drawer-D82Jz6KO.mjs → drawer-DsE8Pb8e.mjs} +11 -11
  118. package/dist/chunks/drawer-DsE8Pb8e.mjs.map +1 -0
  119. package/dist/chunks/{drawer-CLjsYdxN.cjs → drawer-EC9eopGX.cjs} +11 -11
  120. package/dist/chunks/drawer-EC9eopGX.cjs.map +1 -0
  121. package/dist/chunks/{form-B2vcaHwh.mjs → form-CRwpjFWu.mjs} +10 -10
  122. package/dist/chunks/form-CRwpjFWu.mjs.map +1 -0
  123. package/dist/chunks/{form-CzH9GQc6.cjs → form-DaGyqM97.cjs} +10 -10
  124. package/dist/chunks/form-DaGyqM97.cjs.map +1 -0
  125. package/dist/chunks/{gradual-blur-B9GoY8o1.cjs → gradual-blur-Di7MBs7M.cjs} +1 -1
  126. package/dist/chunks/{gradual-blur-B9GoY8o1.cjs.map → gradual-blur-Di7MBs7M.cjs.map} +1 -1
  127. package/dist/chunks/{gradual-blur-Bl3dOMEz.mjs → gradual-blur-pt0UiMEy.mjs} +1 -1
  128. package/dist/chunks/{gradual-blur-Bl3dOMEz.mjs.map → gradual-blur-pt0UiMEy.mjs.map} +1 -1
  129. package/dist/chunks/{hover-card-xqwpmZNm.mjs → hover-card-C3Xa18Ov.mjs} +7 -8
  130. package/dist/chunks/hover-card-C3Xa18Ov.mjs.map +1 -0
  131. package/dist/chunks/{hover-card-v0QwmVBU.cjs → hover-card-D78E07hk.cjs} +7 -8
  132. package/dist/chunks/hover-card-D78E07hk.cjs.map +1 -0
  133. package/dist/chunks/{icons-BxIzP2jd.cjs → icons-CRanVZB1.cjs} +8 -8
  134. package/dist/chunks/icons-CRanVZB1.cjs.map +1 -0
  135. package/dist/chunks/{icons-DuumN7z-.mjs → icons-bx3nrxNv.mjs} +8 -8
  136. package/dist/chunks/icons-bx3nrxNv.mjs.map +1 -0
  137. package/dist/chunks/{input-Bt_r_B_c.mjs → input-CpARxvFi.mjs} +14 -14
  138. package/dist/chunks/input-CpARxvFi.mjs.map +1 -0
  139. package/dist/chunks/{input-BWM6G7jq.cjs → input-DTW_8EwG.cjs} +14 -14
  140. package/dist/chunks/input-DTW_8EwG.cjs.map +1 -0
  141. package/dist/chunks/{label-KPA-yYOF.mjs → label-BVH02Yvq.mjs} +1 -1
  142. package/dist/chunks/{label-KPA-yYOF.mjs.map → label-BVH02Yvq.mjs.map} +1 -1
  143. package/dist/chunks/{label-BWPEGVam.cjs → label-DN-Bg5i8.cjs} +1 -1
  144. package/dist/chunks/{label-BWPEGVam.cjs.map → label-DN-Bg5i8.cjs.map} +1 -1
  145. package/dist/chunks/{loading-q7IEg56I.cjs → loading-B1yrR3KX.cjs} +7 -7
  146. package/dist/chunks/{loading-q7IEg56I.cjs.map → loading-B1yrR3KX.cjs.map} +1 -1
  147. package/dist/chunks/{loading-S1TdIrbB.mjs → loading-B2Ron0Fd.mjs} +7 -7
  148. package/dist/chunks/{loading-S1TdIrbB.mjs.map → loading-B2Ron0Fd.mjs.map} +1 -1
  149. package/dist/chunks/{multi-select-combobox-D46M-AN9.mjs → multi-select-combobox-CMhAXEGZ.mjs} +15 -15
  150. package/dist/chunks/multi-select-combobox-CMhAXEGZ.mjs.map +1 -0
  151. package/dist/chunks/{multi-select-combobox-dS6bJE_e.cjs → multi-select-combobox-FEbMAPEg.cjs} +16 -16
  152. package/dist/chunks/multi-select-combobox-FEbMAPEg.cjs.map +1 -0
  153. package/dist/chunks/{otp-input-DSW9Ca_D.cjs → otp-input-B6nJC-Fl.cjs} +10 -10
  154. package/dist/chunks/otp-input-B6nJC-Fl.cjs.map +1 -0
  155. package/dist/chunks/{otp-input-DeAi4nJ_.mjs → otp-input-B7DhhsMe.mjs} +10 -10
  156. package/dist/chunks/otp-input-B7DhhsMe.mjs.map +1 -0
  157. package/dist/chunks/{overlay-TycCIFOu.mjs → overlay-C58wXorc.mjs} +1 -1
  158. package/dist/chunks/{overlay-TycCIFOu.mjs.map → overlay-C58wXorc.mjs.map} +1 -1
  159. package/dist/chunks/{overlay-DWNTyQzK.cjs → overlay-DwJgjJuu.cjs} +1 -1
  160. package/dist/chunks/{overlay-DWNTyQzK.cjs.map → overlay-DwJgjJuu.cjs.map} +1 -1
  161. package/dist/chunks/{password-strength-meter-DxMV6GAs.cjs → password-strength-meter-6vNu6p19.cjs} +13 -13
  162. package/dist/chunks/password-strength-meter-6vNu6p19.cjs.map +1 -0
  163. package/dist/chunks/{password-strength-meter-CbNSBuh_.mjs → password-strength-meter-D7gmZNjp.mjs} +13 -13
  164. package/dist/chunks/password-strength-meter-D7gmZNjp.mjs.map +1 -0
  165. package/dist/chunks/{progress-bar-BdvQtpm3.cjs → progress-bar-CbsCItvv.cjs} +78 -5
  166. package/dist/chunks/progress-bar-CbsCItvv.cjs.map +1 -0
  167. package/dist/chunks/{progress-bar-B9sy7WBT.mjs → progress-bar-D6Q9Di7D.mjs} +72 -5
  168. package/dist/chunks/progress-bar-D6Q9Di7D.mjs.map +1 -0
  169. package/dist/chunks/{radio-C9w_CoiY.mjs → radio-C6Meq2iz.mjs} +2 -2
  170. package/dist/chunks/{radio-C9w_CoiY.mjs.map → radio-C6Meq2iz.mjs.map} +1 -1
  171. package/dist/chunks/{radio-jMHDvaMY.cjs → radio-DxakS7iD.cjs} +2 -2
  172. package/dist/chunks/{radio-jMHDvaMY.cjs.map → radio-DxakS7iD.cjs.map} +1 -1
  173. package/dist/chunks/{select-B8UQ6Uq5.mjs → select-1rSJeUBQ.mjs} +25 -19
  174. package/dist/chunks/select-1rSJeUBQ.mjs.map +1 -0
  175. package/dist/chunks/{select-CCUSMvfS.cjs → select-SOmIt-BD.cjs} +25 -19
  176. package/dist/chunks/select-SOmIt-BD.cjs.map +1 -0
  177. package/dist/chunks/{skeleton-CtLumdRw.mjs → skeleton-BRx-80dg.mjs} +18 -18
  178. package/dist/chunks/skeleton-BRx-80dg.mjs.map +1 -0
  179. package/dist/chunks/{skeleton-BNea1Rcp.cjs → skeleton-o7DlA5yl.cjs} +18 -18
  180. package/dist/chunks/skeleton-o7DlA5yl.cjs.map +1 -0
  181. package/dist/chunks/{spinners-BL4ERCCw.cjs → spinners-BylPf0uk.cjs} +2 -2
  182. package/dist/chunks/{spinners-BL4ERCCw.cjs.map → spinners-BylPf0uk.cjs.map} +1 -1
  183. package/dist/chunks/{spinners-BBCWD2gw.mjs → spinners-hJaI_cBH.mjs} +2 -2
  184. package/dist/chunks/{spinners-BBCWD2gw.mjs.map → spinners-hJaI_cBH.mjs.map} +1 -1
  185. package/dist/chunks/{splash-cursor-BVSmbcIX.cjs → splash-cursor-CmqkSl6m.cjs} +1 -1
  186. package/dist/chunks/{splash-cursor-BVSmbcIX.cjs.map → splash-cursor-CmqkSl6m.cjs.map} +1 -1
  187. package/dist/chunks/{splash-cursor-rSrTnawZ.mjs → splash-cursor-Cxouip_h.mjs} +1 -1
  188. package/dist/chunks/{splash-cursor-rSrTnawZ.mjs.map → splash-cursor-Cxouip_h.mjs.map} +1 -1
  189. package/dist/chunks/{spotlight-card-DS1dy1W3.cjs → spotlight-card-B3L3K21T.cjs} +8 -8
  190. package/dist/chunks/spotlight-card-B3L3K21T.cjs.map +1 -0
  191. package/dist/chunks/{spotlight-card-BpZLMOp6.mjs → spotlight-card-DIgacTxA.mjs} +8 -8
  192. package/dist/chunks/spotlight-card-DIgacTxA.mjs.map +1 -0
  193. package/dist/chunks/{stepper-D6qQbZdg.cjs → stepper-BpjKyemI.cjs} +212 -129
  194. package/dist/chunks/stepper-BpjKyemI.cjs.map +1 -0
  195. package/dist/chunks/{stepper-DUknuW2E.mjs → stepper-JD4ZHT-b.mjs} +213 -130
  196. package/dist/chunks/stepper-JD4ZHT-b.mjs.map +1 -0
  197. package/dist/chunks/sun-to-moon-button-BOx1n6nk.cjs +311 -0
  198. package/dist/chunks/sun-to-moon-button-BOx1n6nk.cjs.map +1 -0
  199. package/dist/chunks/sun-to-moon-button-CBbDar4k.mjs +299 -0
  200. package/dist/chunks/sun-to-moon-button-CBbDar4k.mjs.map +1 -0
  201. package/dist/chunks/{switch-C5otDb4c.cjs → switch-C9suGEWg.cjs} +5 -5
  202. package/dist/chunks/switch-C9suGEWg.cjs.map +1 -0
  203. package/dist/chunks/{switch-DOVl_i_s.mjs → switch-hd7zTBD_.mjs} +5 -5
  204. package/dist/chunks/switch-hd7zTBD_.mjs.map +1 -0
  205. package/dist/chunks/{textarea-Blky_fLK.mjs → textarea-Cu26uKqq.mjs} +5 -5
  206. package/dist/chunks/textarea-Cu26uKqq.mjs.map +1 -0
  207. package/dist/chunks/{textarea-ok_NlE2p.cjs → textarea-cXgKzluG.cjs} +5 -5
  208. package/dist/chunks/textarea-cXgKzluG.cjs.map +1 -0
  209. package/dist/chunks/{theme-7DWLxJK_.cjs → theme-D6B-FaoE.cjs} +28 -5
  210. package/dist/chunks/theme-D6B-FaoE.cjs.map +1 -0
  211. package/dist/chunks/{theme-BceKeYhw.mjs → theme-koPrLKQv.mjs} +28 -5
  212. package/dist/chunks/theme-koPrLKQv.mjs.map +1 -0
  213. package/dist/chunks/{toast-CvfP7PUP.mjs → toast-CpX-22n2.mjs} +26 -26
  214. package/dist/chunks/toast-CpX-22n2.mjs.map +1 -0
  215. package/dist/chunks/{toast-Ds7_19Ap.cjs → toast-REa6FRBc.cjs} +26 -26
  216. package/dist/chunks/toast-REa6FRBc.cjs.map +1 -0
  217. package/dist/chunks/{tooltip-efHETBo1.mjs → tooltip-CASvQiFQ.mjs} +6 -7
  218. package/dist/chunks/tooltip-CASvQiFQ.mjs.map +1 -0
  219. package/dist/chunks/{tooltip-nkIqViGk.cjs → tooltip-CKF78rni.cjs} +6 -7
  220. package/dist/chunks/tooltip-CKF78rni.cjs.map +1 -0
  221. package/dist/chunks/truncated-text-DTgks5yS.mjs +45 -0
  222. package/dist/chunks/truncated-text-DTgks5yS.mjs.map +1 -0
  223. package/dist/chunks/truncated-text-istgJRUq.cjs +52 -0
  224. package/dist/chunks/truncated-text-istgJRUq.cjs.map +1 -0
  225. package/dist/chunks/{typography-CLu6Hx9j.mjs → typography-KxLf6Td8.mjs} +5 -5
  226. package/dist/chunks/typography-KxLf6Td8.mjs.map +1 -0
  227. package/dist/chunks/{typography-DaLu9tty.cjs → typography-sGmh0gZ_.cjs} +6 -6
  228. package/dist/chunks/typography-sGmh0gZ_.cjs.map +1 -0
  229. package/dist/color-palette.cjs +1 -1
  230. package/dist/color-palette.mjs +1 -1
  231. package/dist/colors.css +45 -149
  232. package/dist/combobox.cjs +1 -1
  233. package/dist/combobox.mjs +1 -1
  234. package/dist/components/data-display/card/Card.d.ts.map +1 -1
  235. package/dist/components/data-display/charts/MiniNeonSparkline.d.ts +17 -0
  236. package/dist/components/data-display/charts/MiniNeonSparkline.d.ts.map +1 -0
  237. package/dist/components/data-display/charts/ThinBreakdownBar.d.ts.map +1 -1
  238. package/dist/components/data-display/charts/index.d.ts +2 -0
  239. package/dist/components/data-display/charts/index.d.ts.map +1 -1
  240. package/dist/components/data-display/chip/Chip.d.ts.map +1 -1
  241. package/dist/components/data-display/chip/SpecialChip.d.ts +23 -0
  242. package/dist/components/data-display/chip/SpecialChip.d.ts.map +1 -0
  243. package/dist/components/data-display/chip/index.d.ts +2 -0
  244. package/dist/components/data-display/chip/index.d.ts.map +1 -1
  245. package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -1
  246. package/dist/components/data-display/data-table/DataTable.d.ts +49 -26
  247. package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
  248. package/dist/components/data-display/data-table/DataTableControls.d.ts +34 -0
  249. package/dist/components/data-display/data-table/DataTableControls.d.ts.map +1 -0
  250. package/dist/components/data-display/data-table/DataTableFilters.d.ts +27 -0
  251. package/dist/components/data-display/data-table/DataTableFilters.d.ts.map +1 -0
  252. package/dist/components/data-display/data-table/DataTableRows.d.ts +34 -0
  253. package/dist/components/data-display/data-table/DataTableRows.d.ts.map +1 -0
  254. package/dist/components/data-display/data-table/DataTableToolbar.d.ts +48 -0
  255. package/dist/components/data-display/data-table/DataTableToolbar.d.ts.map +1 -0
  256. package/dist/components/data-display/data-table/TablePrimitives.d.ts +11 -0
  257. package/dist/components/data-display/data-table/TablePrimitives.d.ts.map +1 -0
  258. package/dist/components/data-display/data-table/direction.d.ts +7 -0
  259. package/dist/components/data-display/data-table/direction.d.ts.map +1 -0
  260. package/dist/components/data-display/data-table/index.d.ts +2 -2
  261. package/dist/components/data-display/data-table/index.d.ts.map +1 -1
  262. package/dist/components/data-display/loading/Loading.d.ts.map +1 -1
  263. package/dist/components/data-display/progress-bar/CircularProgress.d.ts +17 -0
  264. package/dist/components/data-display/progress-bar/CircularProgress.d.ts.map +1 -0
  265. package/dist/components/data-display/progress-bar/index.d.ts +2 -0
  266. package/dist/components/data-display/progress-bar/index.d.ts.map +1 -1
  267. package/dist/components/effects/sun-to-moon-button/ThemeSwitcherButtons.d.ts +5 -0
  268. package/dist/components/effects/sun-to-moon-button/ThemeSwitcherButtons.d.ts.map +1 -0
  269. package/dist/components/effects/sun-to-moon-button/index.d.ts +2 -0
  270. package/dist/components/effects/sun-to-moon-button/index.d.ts.map +1 -1
  271. package/dist/components/feedback/alert/Alert.d.ts +1 -1
  272. package/dist/components/feedback/alert/Alert.d.ts.map +1 -1
  273. package/dist/components/feedback/alert/types.d.ts +11 -2
  274. package/dist/components/feedback/alert/types.d.ts.map +1 -1
  275. package/dist/components/forms/button/Button.d.ts +1 -1
  276. package/dist/components/forms/button/Button.d.ts.map +1 -1
  277. package/dist/components/forms/button/index.d.ts +1 -1
  278. package/dist/components/forms/button/index.d.ts.map +1 -1
  279. package/dist/components/forms/button/types.d.ts +4 -1
  280. package/dist/components/forms/button/types.d.ts.map +1 -1
  281. package/dist/components/forms/calendar/Calendar.d.ts.map +1 -1
  282. package/dist/components/forms/checkbox/Checkbox.d.ts.map +1 -1
  283. package/dist/components/forms/combobox/Combobox.d.ts.map +1 -1
  284. package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
  285. package/dist/components/forms/form/Form.d.ts.map +1 -1
  286. package/dist/components/forms/input/Input.d.ts.map +1 -1
  287. package/dist/components/forms/input/types.d.ts +1 -1
  288. package/dist/components/forms/input/types.d.ts.map +1 -1
  289. package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -1
  290. package/dist/components/forms/password-strength-meter/PasswordStrengthMeter.d.ts.map +1 -1
  291. package/dist/components/forms/select/Select.d.ts.map +1 -1
  292. package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -1
  293. package/dist/components/navigation/stepper/Stepper.d.ts +1 -1
  294. package/dist/components/navigation/stepper/Stepper.d.ts.map +1 -1
  295. package/dist/components/navigation/stepper/Stepper1.d.ts.map +1 -1
  296. package/dist/components/navigation/stepper/index.d.ts +1 -1
  297. package/dist/components/navigation/stepper/index.d.ts.map +1 -1
  298. package/dist/components/navigation/stepper/types.d.ts +3 -0
  299. package/dist/components/navigation/stepper/types.d.ts.map +1 -1
  300. package/dist/components/navigation/tabs/Tabs.d.ts +3 -0
  301. package/dist/components/navigation/tabs/Tabs.d.ts.map +1 -0
  302. package/dist/components/navigation/tabs/index.d.ts +3 -0
  303. package/dist/components/navigation/tabs/index.d.ts.map +1 -0
  304. package/dist/components/navigation/tabs/types.d.ts +21 -0
  305. package/dist/components/navigation/tabs/types.d.ts.map +1 -0
  306. package/dist/components/overlays/dialog/Dialog.d.ts.map +1 -1
  307. package/dist/components/overlays/dialog/types.d.ts +1 -0
  308. package/dist/components/overlays/dialog/types.d.ts.map +1 -1
  309. package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -1
  310. package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -1
  311. package/dist/components/overlays/toast/Toast.d.ts.map +1 -1
  312. package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -1
  313. package/dist/components/shared/overlay.d.ts +1 -1
  314. package/dist/components/typography/Typography.d.ts.map +1 -1
  315. package/dist/components/typography/truncated-text/TruncatedText.d.ts +11 -0
  316. package/dist/components/typography/truncated-text/TruncatedText.d.ts.map +1 -0
  317. package/dist/components/typography/truncated-text/index.d.ts +3 -0
  318. package/dist/components/typography/truncated-text/index.d.ts.map +1 -0
  319. package/dist/contexts/ThemeContext.d.ts +1 -1
  320. package/dist/contexts/ThemeContext.d.ts.map +1 -1
  321. package/dist/contexts/index.d.ts +1 -1
  322. package/dist/contexts/index.d.ts.map +1 -1
  323. package/dist/data-table.cjs +11 -1
  324. package/dist/data-table.mjs +2 -2
  325. package/dist/date-picker.cjs +1 -1
  326. package/dist/date-picker.mjs +1 -1
  327. package/dist/dialog.cjs +1 -1
  328. package/dist/dialog.mjs +1 -1
  329. package/dist/docs.cjs +76 -26
  330. package/dist/docs.cjs.map +1 -1
  331. package/dist/docs.d.ts +10 -10
  332. package/dist/docs.d.ts.map +1 -1
  333. package/dist/docs.mjs +76 -26
  334. package/dist/docs.mjs.map +1 -1
  335. package/dist/drawer.cjs +1 -1
  336. package/dist/drawer.mjs +1 -1
  337. package/dist/form.cjs +1 -1
  338. package/dist/form.mjs +1 -1
  339. package/dist/foundation.css +54 -3
  340. package/dist/foundations/theme/ThemeProvider.d.ts +22 -1
  341. package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
  342. package/dist/foundations/theme/index.d.ts +1 -1
  343. package/dist/foundations/theme/index.d.ts.map +1 -1
  344. package/dist/gradual-blur.cjs +1 -1
  345. package/dist/gradual-blur.mjs +1 -1
  346. package/dist/hover-border-gradient.cjs +1 -1
  347. package/dist/hover-border-gradient.mjs +1 -1
  348. package/dist/hover-card.cjs +1 -1
  349. package/dist/hover-card.mjs +1 -1
  350. package/dist/icons.cjs +1 -1
  351. package/dist/icons.mjs +1 -1
  352. package/dist/index.cjs +201 -48
  353. package/dist/index.cjs.map +1 -1
  354. package/dist/index.d.ts +17 -9
  355. package/dist/index.d.ts.map +1 -1
  356. package/dist/index.mjs +183 -50
  357. package/dist/index.mjs.map +1 -1
  358. package/dist/input.cjs +1 -1
  359. package/dist/input.mjs +1 -1
  360. package/dist/label.cjs +1 -1
  361. package/dist/label.mjs +1 -1
  362. package/dist/loading.cjs +1 -1
  363. package/dist/loading.mjs +1 -1
  364. package/dist/multi-select-combobox.cjs +1 -1
  365. package/dist/multi-select-combobox.mjs +1 -1
  366. package/dist/otp-input.cjs +1 -1
  367. package/dist/otp-input.mjs +1 -1
  368. package/dist/password-strength-meter.cjs +1 -1
  369. package/dist/password-strength-meter.mjs +1 -1
  370. package/dist/progress-bar.cjs +2 -1
  371. package/dist/progress-bar.mjs +2 -2
  372. package/dist/radio.cjs +1 -1
  373. package/dist/radio.mjs +1 -1
  374. package/dist/select.cjs +1 -1
  375. package/dist/select.mjs +1 -1
  376. package/dist/skeleton.cjs +1 -1
  377. package/dist/skeleton.mjs +1 -1
  378. package/dist/spinners.cjs +1 -1
  379. package/dist/spinners.mjs +1 -1
  380. package/dist/splash-cursor.cjs +1 -1
  381. package/dist/splash-cursor.mjs +1 -1
  382. package/dist/spotlight-card.cjs +1 -1
  383. package/dist/spotlight-card.mjs +1 -1
  384. package/dist/stepper.cjs +1 -1
  385. package/dist/stepper.mjs +1 -1
  386. package/dist/sun-to-moon-button.cjs +2 -1
  387. package/dist/sun-to-moon-button.mjs +2 -2
  388. package/dist/switch.cjs +1 -1
  389. package/dist/switch.mjs +1 -1
  390. package/dist/textarea.cjs +1 -1
  391. package/dist/textarea.mjs +1 -1
  392. package/dist/theme.cjs +1 -1
  393. package/dist/theme.mjs +1 -1
  394. package/dist/toast.cjs +1 -1
  395. package/dist/toast.mjs +1 -1
  396. package/dist/tokens.css +592 -298
  397. package/dist/tooltip.cjs +1 -1
  398. package/dist/tooltip.mjs +1 -1
  399. package/dist/truncated-text.cjs +3 -0
  400. package/dist/truncated-text.d.ts +2 -0
  401. package/dist/truncated-text.mjs +2 -0
  402. package/dist/typography.cjs +1 -1
  403. package/dist/typography.mjs +1 -1
  404. package/package.json +15 -9
  405. package/dist/chunks/HoverBorderGradient-DVFEIXFQ.mjs.map +0 -1
  406. package/dist/chunks/HoverBorderGradient-Df3PKpw6.cjs.map +0 -1
  407. package/dist/chunks/accordion-Cbt-SJhj.mjs.map +0 -1
  408. package/dist/chunks/accordion-pfJR8YYA.cjs.map +0 -1
  409. package/dist/chunks/alert-CtdLy4Hv.mjs +0 -40
  410. package/dist/chunks/alert-CtdLy4Hv.mjs.map +0 -1
  411. package/dist/chunks/alert-Dvz1GoL5.cjs +0 -46
  412. package/dist/chunks/alert-Dvz1GoL5.cjs.map +0 -1
  413. package/dist/chunks/button-B0Lhj0AS.mjs.map +0 -1
  414. package/dist/chunks/button-CZL6kFzT.cjs.map +0 -1
  415. package/dist/chunks/calendar-Cpp_Rc7T.cjs.map +0 -1
  416. package/dist/chunks/calendar-DrCgT_pj.mjs.map +0 -1
  417. package/dist/chunks/card-C5_tFK6Q.cjs.map +0 -1
  418. package/dist/chunks/card-Dh8wNv8N.mjs.map +0 -1
  419. package/dist/chunks/carousel-BYwqI4cA.mjs.map +0 -1
  420. package/dist/chunks/carousel-C1338X8h.cjs.map +0 -1
  421. package/dist/chunks/charts-BYvM4TMG.mjs.map +0 -1
  422. package/dist/chunks/charts-DbxyHtlX.cjs.map +0 -1
  423. package/dist/chunks/checkbox-CxOcjoGP.cjs.map +0 -1
  424. package/dist/chunks/checkbox-Pr49U9F1.mjs.map +0 -1
  425. package/dist/chunks/chip-B4ol1yPk.cjs +0 -145
  426. package/dist/chunks/chip-B4ol1yPk.cjs.map +0 -1
  427. package/dist/chunks/chip-DdnBLdpl.mjs +0 -139
  428. package/dist/chunks/chip-DdnBLdpl.mjs.map +0 -1
  429. package/dist/chunks/chroma-grid-BAo6V5A7.mjs.map +0 -1
  430. package/dist/chunks/chroma-grid-CIk0dsNS.cjs.map +0 -1
  431. package/dist/chunks/color-palette-2TuEMkAn.cjs.map +0 -1
  432. package/dist/chunks/color-palette-euKQMWlV.mjs.map +0 -1
  433. package/dist/chunks/combobox-CwGubKTt.cjs.map +0 -1
  434. package/dist/chunks/combobox-DrFmkI0F.mjs.map +0 -1
  435. package/dist/chunks/data-table-Bo80m7qV.mjs +0 -1123
  436. package/dist/chunks/data-table-Bo80m7qV.mjs.map +0 -1
  437. package/dist/chunks/data-table-W1sK5tkL.cjs +0 -1154
  438. package/dist/chunks/data-table-W1sK5tkL.cjs.map +0 -1
  439. package/dist/chunks/date-picker-CNPORxhv.mjs.map +0 -1
  440. package/dist/chunks/date-picker-CZo68Fkl.cjs.map +0 -1
  441. package/dist/chunks/dialog-CYFiWN8M.cjs.map +0 -1
  442. package/dist/chunks/dialog-DUWnV9tN.mjs.map +0 -1
  443. package/dist/chunks/drawer-CLjsYdxN.cjs.map +0 -1
  444. package/dist/chunks/drawer-D82Jz6KO.mjs.map +0 -1
  445. package/dist/chunks/form-B2vcaHwh.mjs.map +0 -1
  446. package/dist/chunks/form-CzH9GQc6.cjs.map +0 -1
  447. package/dist/chunks/hover-card-v0QwmVBU.cjs.map +0 -1
  448. package/dist/chunks/hover-card-xqwpmZNm.mjs.map +0 -1
  449. package/dist/chunks/icons-BxIzP2jd.cjs.map +0 -1
  450. package/dist/chunks/icons-DuumN7z-.mjs.map +0 -1
  451. package/dist/chunks/input-BWM6G7jq.cjs.map +0 -1
  452. package/dist/chunks/input-Bt_r_B_c.mjs.map +0 -1
  453. package/dist/chunks/multi-select-combobox-D46M-AN9.mjs.map +0 -1
  454. package/dist/chunks/multi-select-combobox-dS6bJE_e.cjs.map +0 -1
  455. package/dist/chunks/otp-input-DSW9Ca_D.cjs.map +0 -1
  456. package/dist/chunks/otp-input-DeAi4nJ_.mjs.map +0 -1
  457. package/dist/chunks/password-strength-meter-CbNSBuh_.mjs.map +0 -1
  458. package/dist/chunks/password-strength-meter-DxMV6GAs.cjs.map +0 -1
  459. package/dist/chunks/progress-bar-B9sy7WBT.mjs.map +0 -1
  460. package/dist/chunks/progress-bar-BdvQtpm3.cjs.map +0 -1
  461. package/dist/chunks/select-B8UQ6Uq5.mjs.map +0 -1
  462. package/dist/chunks/select-CCUSMvfS.cjs.map +0 -1
  463. package/dist/chunks/skeleton-BNea1Rcp.cjs.map +0 -1
  464. package/dist/chunks/skeleton-CtLumdRw.mjs.map +0 -1
  465. package/dist/chunks/spotlight-card-BpZLMOp6.mjs.map +0 -1
  466. package/dist/chunks/spotlight-card-DS1dy1W3.cjs.map +0 -1
  467. package/dist/chunks/stepper-D6qQbZdg.cjs.map +0 -1
  468. package/dist/chunks/stepper-DUknuW2E.mjs.map +0 -1
  469. package/dist/chunks/sun-to-moon-button-B2Aje05o.mjs +0 -186
  470. package/dist/chunks/sun-to-moon-button-B2Aje05o.mjs.map +0 -1
  471. package/dist/chunks/sun-to-moon-button-BmFwRBye.cjs +0 -192
  472. package/dist/chunks/sun-to-moon-button-BmFwRBye.cjs.map +0 -1
  473. package/dist/chunks/switch-C5otDb4c.cjs.map +0 -1
  474. package/dist/chunks/switch-DOVl_i_s.mjs.map +0 -1
  475. package/dist/chunks/textarea-Blky_fLK.mjs.map +0 -1
  476. package/dist/chunks/textarea-ok_NlE2p.cjs.map +0 -1
  477. package/dist/chunks/theme-7DWLxJK_.cjs.map +0 -1
  478. package/dist/chunks/theme-BceKeYhw.mjs.map +0 -1
  479. package/dist/chunks/toast-CvfP7PUP.mjs.map +0 -1
  480. package/dist/chunks/toast-Ds7_19Ap.cjs.map +0 -1
  481. package/dist/chunks/tooltip-efHETBo1.mjs.map +0 -1
  482. package/dist/chunks/tooltip-nkIqViGk.cjs.map +0 -1
  483. package/dist/chunks/typography-CLu6Hx9j.mjs.map +0 -1
  484. package/dist/chunks/typography-DaLu9tty.cjs.map +0 -1
@@ -1,139 +0,0 @@
1
- import { q as CloseIcon } from "./icons-DuumN7z-.mjs";
2
- import { forwardRef } from "react";
3
- import { jsx, jsxs } from "react/jsx-runtime";
4
- //#region src/components/data-display/chip/Chip.tsx
5
- var sizeStyles = {
6
- sm: "px-2.5 py-1 text-xs gap-1.5",
7
- md: "px-3 py-1.5 text-sm gap-2",
8
- lg: "px-4 py-2 text-base gap-2.5"
9
- };
10
- var dotSizeStyles = {
11
- sm: "w-1.5 h-1.5",
12
- md: "w-2 h-2",
13
- lg: "w-2.5 h-2.5"
14
- };
15
- var iconSizeStyles = {
16
- sm: "w-3.5 h-3.5",
17
- md: "w-4 h-4",
18
- lg: "w-5 h-5"
19
- };
20
- var colorStyles = {
21
- filled: {
22
- default: "bg-gradient-to-br from-neutral-100 to-neutral-200 text-neutral-800 shadow-sm dark:from-neutral-700 dark:to-neutral-800 dark:text-neutral-100 border border-neutral-200 dark:border-neutral-600",
23
- primary: "bg-linear-to-br from-accent to-accent-hover text-on-accent shadow-md shadow-accent/30 dark:shadow-accent/20",
24
- secondary: "bg-gradient-to-br from-purple-500 to-purple-600 text-white shadow-md shadow-purple-500/30 dark:shadow-purple-500/20",
25
- success: "bg-gradient-to-br from-green-500 to-green-600 text-white shadow-md shadow-green-500/30 dark:shadow-green-500/20",
26
- warning: "bg-gradient-to-br from-amber-500 to-amber-600 text-white shadow-md shadow-amber-500/30 dark:shadow-amber-500/20",
27
- error: "bg-gradient-to-br from-red-500 to-red-600 text-white shadow-md shadow-red-500/30 dark:shadow-red-500/20",
28
- info: "bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md shadow-blue-500/30 dark:shadow-blue-500/20"
29
- },
30
- outlined: {
31
- default: "border-2 border-neutral-300 text-neutral-700 bg-transparent dark:border-neutral-600 dark:text-neutral-200 hover:bg-neutral-50 dark:hover:bg-neutral-800/50",
32
- primary: "border-2 border-accent bg-transparent text-accent hover:bg-accent-subtle",
33
- secondary: "border-2 border-purple-500 text-purple-600 bg-transparent dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20",
34
- success: "border-2 border-green-500 text-green-600 bg-transparent dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20",
35
- warning: "border-2 border-amber-500 text-amber-600 bg-transparent dark:text-amber-400 hover:bg-amber-50 dark:hover:bg-amber-900/20",
36
- error: "border-2 border-red-500 text-red-600 bg-transparent dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20",
37
- info: "border-2 border-blue-500 text-blue-600 bg-transparent dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20"
38
- },
39
- soft: {
40
- default: "bg-neutral-100 text-neutral-800 dark:bg-neutral-800/60 dark:text-neutral-200 backdrop-blur-sm border border-neutral-200/50 dark:border-neutral-700/50",
41
- primary: "border border-accent/20 bg-accent-subtle text-accent backdrop-blur-sm",
42
- secondary: "bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300 backdrop-blur-sm border border-purple-200/50 dark:border-purple-800/50",
43
- success: "bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-300 backdrop-blur-sm border border-green-200/50 dark:border-green-800/50",
44
- warning: "bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300 backdrop-blur-sm border border-amber-200/50 dark:border-amber-800/50",
45
- error: "bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300 backdrop-blur-sm border border-red-200/50 dark:border-red-800/50",
46
- info: "bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300 backdrop-blur-sm border border-blue-200/50 dark:border-blue-800/50"
47
- },
48
- glass: {
49
- default: "bg-white/70 text-neutral-800 dark:bg-neutral-800/70 dark:text-neutral-100 backdrop-blur-xl border border-white/20 dark:border-white/10 shadow-lg",
50
- primary: "border border-accent/20 bg-accent/15 text-accent backdrop-blur-xl shadow-lg shadow-accent/10",
51
- secondary: "bg-purple-500/20 text-purple-700 dark:bg-purple-500/30 dark:text-purple-200 backdrop-blur-xl border border-purple-300/30 dark:border-purple-400/20 shadow-lg shadow-purple-500/10",
52
- success: "bg-green-500/20 text-green-700 dark:bg-green-500/30 dark:text-green-200 backdrop-blur-xl border border-green-300/30 dark:border-green-400/20 shadow-lg shadow-green-500/10",
53
- warning: "bg-amber-500/20 text-amber-700 dark:bg-amber-500/30 dark:text-amber-200 backdrop-blur-xl border border-amber-300/30 dark:border-amber-400/20 shadow-lg shadow-amber-500/10",
54
- error: "bg-red-500/20 text-red-700 dark:bg-red-500/30 dark:text-red-200 backdrop-blur-xl border border-red-300/30 dark:border-red-400/20 shadow-lg shadow-red-500/10",
55
- info: "bg-blue-500/20 text-blue-700 dark:bg-blue-500/30 dark:text-blue-200 backdrop-blur-xl border border-blue-300/30 dark:border-blue-400/20 shadow-lg shadow-blue-500/10"
56
- }
57
- };
58
- var dotColorStyles = {
59
- default: "bg-neutral-500 dark:bg-neutral-400",
60
- primary: "bg-accent",
61
- secondary: "bg-purple-500",
62
- success: "bg-green-500",
63
- warning: "bg-amber-500",
64
- error: "bg-red-500",
65
- info: "bg-blue-500"
66
- };
67
- var Chip = forwardRef(({ children, variant = "soft", color = "default", size = "md", startIcon, endIcon, onRemove, onClick, disabled = false, className = "", dot = false, dotColor, maxWidth }, ref) => {
68
- const isClickable = onClick !== void 0;
69
- const isRemovable = onRemove !== void 0;
70
- const baseStyles = `
71
- inline-flex items-center font-medium rounded-[4px] transition-all duration-200
72
- ${sizeStyles[size]}
73
- ${colorStyles[variant][color]}
74
- ${isClickable && !disabled ? "cursor-pointer hover:scale-105 hover:shadow-lg active:scale-95" : ""}
75
- ${disabled ? "opacity-50 cursor-not-allowed grayscale" : ""}
76
- ${maxWidth ? "max-w-full" : ""}
77
- ${className}
78
- `;
79
- const handleClick = () => {
80
- if (!disabled && onClick) onClick();
81
- };
82
- const handleRemove = (e) => {
83
- e.stopPropagation();
84
- if (!disabled && onRemove) onRemove();
85
- };
86
- return /* @__PURE__ */ jsxs("span", {
87
- ref,
88
- className: baseStyles,
89
- onClick: handleClick,
90
- role: isClickable ? "button" : void 0,
91
- tabIndex: isClickable && !disabled ? 0 : void 0,
92
- style: maxWidth ? { maxWidth: typeof maxWidth === "number" ? `${maxWidth}px` : maxWidth } : void 0,
93
- onKeyDown: (e) => {
94
- if (isClickable && !disabled && (e.key === "Enter" || e.key === " ")) {
95
- e.preventDefault();
96
- onClick?.();
97
- }
98
- },
99
- children: [
100
- dot && /* @__PURE__ */ jsx("span", {
101
- className: `rounded-full shrink-0 animate-pulse ${dotSizeStyles[size]} ${dotColor ? "" : dotColorStyles[color]}`,
102
- style: dotColor ? { backgroundColor: dotColor } : void 0
103
- }),
104
- startIcon && /* @__PURE__ */ jsx("span", {
105
- className: `shrink-0 ${iconSizeStyles[size]}`,
106
- children: startIcon
107
- }),
108
- /* @__PURE__ */ jsx("span", {
109
- className: "truncate font-semibold",
110
- children
111
- }),
112
- endIcon && !isRemovable && /* @__PURE__ */ jsx("span", {
113
- className: `shrink-0 ${iconSizeStyles[size]}`,
114
- children: endIcon
115
- }),
116
- isRemovable && /* @__PURE__ */ jsx("button", {
117
- type: "button",
118
- onClick: handleRemove,
119
- disabled,
120
- className: `
121
- shrink-0 rounded-full p-0.5 ml-1 transition-all duration-200
122
- hover:bg-black/20 dark:hover:bg-white/20 hover:scale-110
123
- focus:outline-none focus:ring-2 focus:ring-current focus:ring-offset-1
124
- ${disabled ? "cursor-not-allowed" : "cursor-pointer"}
125
- `,
126
- "aria-label": "Remove",
127
- children: /* @__PURE__ */ jsx(CloseIcon, {
128
- className: iconSizeStyles[size],
129
- "aria-hidden": "true"
130
- })
131
- })
132
- ]
133
- });
134
- });
135
- Chip.displayName = "Chip";
136
- //#endregion
137
- export { Chip as t };
138
-
139
- //# sourceMappingURL=chip-DdnBLdpl.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chip-DdnBLdpl.mjs","names":[],"sources":["../../src/components/data-display/chip/Chip.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { CloseIcon } from \"../../icons\";\n\nexport type ChipVariant = \"filled\" | \"outlined\" | \"soft\" | \"glass\";\nexport type ChipColor =\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\";\nexport type ChipSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ChipProps {\n /** The content of the chip */\n children: React.ReactNode;\n /** The variant style of the chip */\n variant?: ChipVariant;\n /** The color scheme of the chip */\n color?: ChipColor;\n /** The size of the chip */\n size?: ChipSize;\n /** Icon or element to display at the start */\n startIcon?: React.ReactNode;\n /** Icon or element to display at the end */\n endIcon?: React.ReactNode;\n /** Makes the chip removable with an X button */\n onRemove?: () => void;\n /** Makes the chip clickable */\n onClick?: () => void;\n /** Whether the chip is disabled */\n disabled?: boolean;\n /** Custom className */\n className?: string;\n /** Whether the chip should have a dot indicator */\n dot?: boolean;\n /** Dot color (uses chip color by default) */\n dotColor?: string;\n /** Maximum width for the chip - text will truncate with ellipsis if exceeded */\n maxWidth?: number | string;\n}\n\nconst sizeStyles: Record<ChipSize, string> = {\n sm: \"px-2.5 py-1 text-xs gap-1.5\",\n md: \"px-3 py-1.5 text-sm gap-2\",\n lg: \"px-4 py-2 text-base gap-2.5\",\n};\n\nconst dotSizeStyles: Record<ChipSize, string> = {\n sm: \"w-1.5 h-1.5\",\n md: \"w-2 h-2\",\n lg: \"w-2.5 h-2.5\",\n};\n\nconst iconSizeStyles: Record<ChipSize, string> = {\n sm: \"w-3.5 h-3.5\",\n md: \"w-4 h-4\",\n lg: \"w-5 h-5\",\n};\n\nconst colorStyles: Record<ChipVariant, Record<ChipColor, string>> = {\n filled: {\n default:\n \"bg-gradient-to-br from-neutral-100 to-neutral-200 text-neutral-800 shadow-sm dark:from-neutral-700 dark:to-neutral-800 dark:text-neutral-100 border border-neutral-200 dark:border-neutral-600\",\n primary:\n \"bg-linear-to-br from-accent to-accent-hover text-on-accent shadow-md shadow-accent/30 dark:shadow-accent/20\",\n secondary:\n \"bg-gradient-to-br from-purple-500 to-purple-600 text-white shadow-md shadow-purple-500/30 dark:shadow-purple-500/20\",\n success:\n \"bg-gradient-to-br from-green-500 to-green-600 text-white shadow-md shadow-green-500/30 dark:shadow-green-500/20\",\n warning:\n \"bg-gradient-to-br from-amber-500 to-amber-600 text-white shadow-md shadow-amber-500/30 dark:shadow-amber-500/20\",\n error:\n \"bg-gradient-to-br from-red-500 to-red-600 text-white shadow-md shadow-red-500/30 dark:shadow-red-500/20\",\n info: \"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md shadow-blue-500/30 dark:shadow-blue-500/20\",\n },\n outlined: {\n default:\n \"border-2 border-neutral-300 text-neutral-700 bg-transparent dark:border-neutral-600 dark:text-neutral-200 hover:bg-neutral-50 dark:hover:bg-neutral-800/50\",\n primary:\n \"border-2 border-accent bg-transparent text-accent hover:bg-accent-subtle\",\n secondary:\n \"border-2 border-purple-500 text-purple-600 bg-transparent dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20\",\n success:\n \"border-2 border-green-500 text-green-600 bg-transparent dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20\",\n warning:\n \"border-2 border-amber-500 text-amber-600 bg-transparent dark:text-amber-400 hover:bg-amber-50 dark:hover:bg-amber-900/20\",\n error:\n \"border-2 border-red-500 text-red-600 bg-transparent dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20\",\n info: \"border-2 border-blue-500 text-blue-600 bg-transparent dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20\",\n },\n soft: {\n default:\n \"bg-neutral-100 text-neutral-800 dark:bg-neutral-800/60 dark:text-neutral-200 backdrop-blur-sm border border-neutral-200/50 dark:border-neutral-700/50\",\n primary:\n \"border border-accent/20 bg-accent-subtle text-accent backdrop-blur-sm\",\n secondary:\n \"bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300 backdrop-blur-sm border border-purple-200/50 dark:border-purple-800/50\",\n success:\n \"bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-300 backdrop-blur-sm border border-green-200/50 dark:border-green-800/50\",\n warning:\n \"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300 backdrop-blur-sm border border-amber-200/50 dark:border-amber-800/50\",\n error:\n \"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300 backdrop-blur-sm border border-red-200/50 dark:border-red-800/50\",\n info: \"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300 backdrop-blur-sm border border-blue-200/50 dark:border-blue-800/50\",\n },\n glass: {\n default:\n \"bg-white/70 text-neutral-800 dark:bg-neutral-800/70 dark:text-neutral-100 backdrop-blur-xl border border-white/20 dark:border-white/10 shadow-lg\",\n primary:\n \"border border-accent/20 bg-accent/15 text-accent backdrop-blur-xl shadow-lg shadow-accent/10\",\n secondary:\n \"bg-purple-500/20 text-purple-700 dark:bg-purple-500/30 dark:text-purple-200 backdrop-blur-xl border border-purple-300/30 dark:border-purple-400/20 shadow-lg shadow-purple-500/10\",\n success:\n \"bg-green-500/20 text-green-700 dark:bg-green-500/30 dark:text-green-200 backdrop-blur-xl border border-green-300/30 dark:border-green-400/20 shadow-lg shadow-green-500/10\",\n warning:\n \"bg-amber-500/20 text-amber-700 dark:bg-amber-500/30 dark:text-amber-200 backdrop-blur-xl border border-amber-300/30 dark:border-amber-400/20 shadow-lg shadow-amber-500/10\",\n error:\n \"bg-red-500/20 text-red-700 dark:bg-red-500/30 dark:text-red-200 backdrop-blur-xl border border-red-300/30 dark:border-red-400/20 shadow-lg shadow-red-500/10\",\n info: \"bg-blue-500/20 text-blue-700 dark:bg-blue-500/30 dark:text-blue-200 backdrop-blur-xl border border-blue-300/30 dark:border-blue-400/20 shadow-lg shadow-blue-500/10\",\n },\n};\n\nconst dotColorStyles: Record<ChipColor, string> = {\n default: \"bg-neutral-500 dark:bg-neutral-400\",\n primary: \"bg-accent\",\n secondary: \"bg-purple-500\",\n success: \"bg-green-500\",\n warning: \"bg-amber-500\",\n error: \"bg-red-500\",\n info: \"bg-blue-500\",\n};\n\nconst Chip = forwardRef<HTMLSpanElement, ChipProps>(\n (\n {\n children,\n variant = \"soft\",\n color = \"default\",\n size = \"md\",\n startIcon,\n endIcon,\n onRemove,\n onClick,\n disabled = false,\n className = \"\",\n dot = false,\n dotColor,\n maxWidth,\n },\n ref,\n ) => {\n const isClickable = onClick !== undefined;\n const isRemovable = onRemove !== undefined;\n\n const baseStyles = `\n inline-flex items-center font-medium rounded-[4px] transition-all duration-200\n ${sizeStyles[size]}\n ${colorStyles[variant][color]}\n ${\n isClickable && !disabled\n ? \"cursor-pointer hover:scale-105 hover:shadow-lg active:scale-95\"\n : \"\"\n }\n ${disabled ? \"opacity-50 cursor-not-allowed grayscale\" : \"\"}\n ${maxWidth ? \"max-w-full\" : \"\"}\n ${className}\n `;\n\n const handleClick = () => {\n if (!disabled && onClick) {\n onClick();\n }\n };\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!disabled && onRemove) {\n onRemove();\n }\n };\n\n return (\n <span\n ref={ref}\n className={baseStyles}\n onClick={handleClick}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable && !disabled ? 0 : undefined}\n style={\n maxWidth\n ? {\n maxWidth:\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth,\n }\n : undefined\n }\n onKeyDown={(e) => {\n if (\n isClickable &&\n !disabled &&\n (e.key === \"Enter\" || e.key === \" \")\n ) {\n e.preventDefault();\n onClick?.();\n }\n }}\n >\n {dot && (\n <span\n className={`rounded-full shrink-0 animate-pulse ${\n dotSizeStyles[size]\n } ${dotColor ? \"\" : dotColorStyles[color]}`}\n style={dotColor ? { backgroundColor: dotColor } : undefined}\n />\n )}\n {startIcon && (\n <span className={`shrink-0 ${iconSizeStyles[size]}`}>\n {startIcon}\n </span>\n )}\n <span className=\"truncate font-semibold\">{children}</span>\n {endIcon && !isRemovable && (\n <span className={`shrink-0 ${iconSizeStyles[size]}`}>{endIcon}</span>\n )}\n {isRemovable && (\n <button\n type=\"button\"\n onClick={handleRemove}\n disabled={disabled}\n className={`\n shrink-0 rounded-full p-0.5 ml-1 transition-all duration-200\n hover:bg-black/20 dark:hover:bg-white/20 hover:scale-110\n focus:outline-none focus:ring-2 focus:ring-current focus:ring-offset-1\n ${disabled ? \"cursor-not-allowed\" : \"cursor-pointer\"}\n `}\n aria-label=\"Remove\"\n >\n <CloseIcon className={iconSizeStyles[size]} aria-hidden=\"true\" />\n </button>\n )}\n </span>\n );\n },\n);\n\nChip.displayName = \"Chip\";\n\nexport default Chip;\nexport { Chip };\n"],"mappings":";;;;AA4CA,IAAM,aAAuC;CAC3C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,gBAA0C;CAC9C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,iBAA2C;CAC/C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,cAA8D;CAClE,QAAQ;EACN,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,UAAU;EACR,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,MAAM;EACJ,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,OAAO;EACL,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACF;AAED,IAAM,iBAA4C;CAChD,SAAS;CACT,SAAS;CACT,WAAW;CACX,SAAS;CACT,SAAS;CACT,OAAO;CACP,MAAM;CACP;AAED,IAAM,OAAO,YAET,EACE,UACA,UAAU,QACV,QAAQ,WACR,OAAO,MACP,WACA,SACA,UACA,SACA,WAAW,OACX,YAAY,IACZ,MAAM,OACN,UACA,YAEF,QACG;CACH,MAAM,cAAc,YAAY,KAAA;CAChC,MAAM,cAAc,aAAa,KAAA;CAEjC,MAAM,aAAa;;QAEf,WAAW,MAAM;QACjB,YAAY,SAAS,OAAO;QAE5B,eAAe,CAAC,WACZ,mEACA,GACL;QACC,WAAW,4CAA4C,GAAG;QAC1D,WAAW,eAAe,GAAG;QAC7B,UAAU;;CAGd,MAAM,oBAAoB;AACxB,MAAI,CAAC,YAAY,QACf,UAAS;;CAIb,MAAM,gBAAgB,MAAwB;AAC5C,IAAE,iBAAiB;AACnB,MAAI,CAAC,YAAY,SACf,WAAU;;AAId,QACE,qBAAC,QAAD;EACO;EACL,WAAW;EACX,SAAS;EACT,MAAM,cAAc,WAAW,KAAA;EAC/B,UAAU,eAAe,CAAC,WAAW,IAAI,KAAA;EACzC,OACE,WACI,EACE,UACE,OAAO,aAAa,WAAW,GAAG,SAAS,MAAM,UACpD,GACD,KAAA;EAEN,YAAY,MAAM;AAChB,OACE,eACA,CAAC,aACA,EAAE,QAAQ,WAAW,EAAE,QAAQ,MAChC;AACA,MAAE,gBAAgB;AAClB,eAAW;;;YArBjB;GAyBG,OACC,oBAAC,QAAD;IACE,WAAW,uCACT,cAAc,MACf,GAAG,WAAW,KAAK,eAAe;IACnC,OAAO,WAAW,EAAE,iBAAiB,UAAU,GAAG,KAAA;IAClD,CAAA;GAEH,aACC,oBAAC,QAAD;IAAM,WAAW,YAAY,eAAe;cACzC;IACI,CAAA;GAET,oBAAC,QAAD;IAAM,WAAU;IAA0B;IAAgB,CAAA;GACzD,WAAW,CAAC,eACX,oBAAC,QAAD;IAAM,WAAW,YAAY,eAAe;cAAU;IAAe,CAAA;GAEtE,eACC,oBAAC,UAAD;IACE,MAAK;IACL,SAAS;IACC;IACV,WAAW;;;;gBAIP,WAAW,uBAAuB,iBAAiB;;IAEvD,cAAW;cAEX,oBAAC,WAAD;KAAW,WAAW,eAAe;KAAO,eAAY;KAAS,CAAA;IAC1D,CAAA;GAEN;;EAGZ;AAED,KAAK,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chroma-grid-BAo6V5A7.mjs","names":[],"sources":["../../src/components/effects/chroma-grid/ChromaGrid.tsx"],"sourcesContent":["import { useState, useRef } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { ChromaGridProps, ChromaGridItem } 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};\n\nconst defaultColors = [\n \"linear-gradient(135deg, var(--ds-color-accent) 0%, var(--ds-color-accent-hover) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-accent) 0%, var(--ds-color-info) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-info) 0%, var(--ds-color-accent-hover) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-success) 0%, var(--ds-color-accent) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-warning) 0%, var(--ds-color-accent) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-danger) 0%, var(--ds-color-warning) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-accent-hover) 0%, var(--ds-color-success) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-info) 0%, var(--ds-color-success) 100%)\",\n];\n\nconst getAnimation = (\n animation: string,\n index: number,\n staggerDelay: number,\n) => {\n const delay = (index * staggerDelay) / 1000;\n\n switch (animation) {\n case \"wave\":\n return {\n initial: { opacity: 0, y: 30, rotateX: -15 },\n animate: { opacity: 1, y: 0, rotateX: 0 },\n transition: { delay, duration: 0.6, ease: [0.23, 1, 0.32, 1] as const },\n };\n case \"pulse\":\n return {\n initial: { scale: 0.8, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: {\n delay,\n duration: 0.5,\n type: \"spring\" as const,\n stiffness: 200,\n },\n };\n case \"fadeIn\":\n return {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { delay, duration: 0.4 },\n };\n case \"scale\":\n return {\n initial: { scale: 0, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: {\n delay,\n duration: 0.5,\n type: \"spring\" as const,\n stiffness: 300,\n damping: 20,\n },\n };\n default:\n return {};\n }\n};\n\nconst getHoverEffect = (effect: string) => {\n switch (effect) {\n case \"lift\":\n return { y: -8, transition: { duration: 0.3 } };\n case \"glow\":\n return {\n boxShadow:\n \"0 0 30px color-mix(in srgb, var(--ds-color-accent) 45%, transparent)\",\n transition: { duration: 0.3 },\n };\n case \"scale\":\n return { scale: 1.05, transition: { duration: 0.3 } };\n case \"tilt\":\n return { rotateY: 5, rotateX: 5, transition: { duration: 0.3 } };\n default:\n return {};\n }\n};\n\ninterface GridItemProps {\n item: ChromaGridItem;\n index: number;\n animation: string;\n staggerDelay: number;\n hoverEffect: string;\n variant: string;\n borderRadius: string;\n minHeight: number;\n spotlight: boolean;\n}\n\nconst GridItem = ({\n item,\n index,\n animation,\n staggerDelay,\n hoverEffect,\n variant,\n borderRadius,\n minHeight,\n spotlight,\n}: GridItemProps) => {\n const itemRef = useRef<HTMLDivElement>(null);\n const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n const [isHovered, setIsHovered] = useState(false);\n\n const color = item.color || defaultColors[index % defaultColors.length];\n const animationProps = getAnimation(animation, index, staggerDelay);\n const hoverProps = getHoverEffect(hoverEffect);\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!itemRef.current || !spotlight) return;\n const rect = itemRef.current.getBoundingClientRect();\n setMousePosition({\n x: e.clientX - rect.left,\n y: e.clientY - rect.top,\n });\n };\n\n const gridSpan =\n item.size && item.size > 1\n ? { gridColumn: `span ${item.size}`, gridRow: `span ${item.size}` }\n : {};\n\n const variantStyles = {\n glass: {\n backgroundColor: \"rgba(255, 255, 255, 0.1)\",\n backdropFilter: \"blur(20px)\",\n WebkitBackdropFilter: \"blur(20px)\",\n },\n solid: {},\n gradient: { background: color },\n };\n\n return (\n <motion.div\n ref={itemRef}\n className={mergeClassNames(\n \"relative overflow-hidden cursor-pointer transition-shadow\",\n borderRadiusMap[borderRadius as keyof typeof borderRadiusMap],\n variant === \"glass\" && \"border border-white/20 dark:border-white/10\",\n item.className,\n )}\n style={{\n minHeight:\n item.size && item.size > 1 ? minHeight * item.size : minHeight,\n ...gridSpan,\n ...variantStyles[variant as keyof typeof variantStyles],\n ...(variant !== \"glass\" && { background: color }),\n }}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n onClick={item.onClick}\n {...animationProps}\n whileHover={hoverProps}\n >\n {/* Spotlight effect */}\n {spotlight && isHovered && (\n <motion.div\n className=\"pointer-events-none absolute inset-0 z-0\"\n style={{\n background: `radial-gradient(300px circle at ${mousePosition.x}px ${mousePosition.y}px, rgba(255,255,255,0.2), transparent 70%)`,\n }}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2 }}\n />\n )}\n\n {/* Glass overlay for gradient variant */}\n {variant === \"gradient\" && (\n <div className=\"absolute inset-0 bg-black/10 dark:bg-black/20\" />\n )}\n\n {/* Content */}\n <div className=\"relative z-10 h-full flex flex-col justify-center items-center p-6 text-center\">\n {item.icon && (\n <div className=\"text-4xl text-white mb-3 drop-shadow-lg\">\n {item.icon}\n </div>\n )}\n {item.title && (\n <h3 className=\"text-lg font-bold text-white mb-1 drop-shadow-md\">\n {item.title}\n </h3>\n )}\n {item.description && (\n <p className=\"text-sm text-white/80 drop-shadow-sm\">\n {item.description}\n </p>\n )}\n {item.content}\n </div>\n </motion.div>\n );\n};\n\nexport const ChromaGrid = ({\n items,\n className,\n columns = 3,\n gap = 16,\n minHeight = 200,\n animation = \"wave\",\n staggerDelay = 100,\n hoverEffect = \"lift\",\n variant = \"gradient\",\n borderRadius = \"xl\",\n spotlight = true,\n style,\n}: ChromaGridProps) => {\n return (\n <div\n className={mergeClassNames(\"grid w-full\", className)}\n style={{\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n gap: `${gap}px`,\n ...style,\n }}\n >\n {items.map((item, index) => (\n <GridItem\n key={item.id}\n item={item}\n index={index}\n animation={animation}\n staggerDelay={staggerDelay}\n hoverEffect={hoverEffect}\n variant={variant}\n borderRadius={borderRadius}\n minHeight={minHeight}\n spotlight={spotlight}\n />\n ))}\n </div>\n );\n};\n\nChromaGrid.displayName = \"ChromaGrid\";\n\nexport default ChromaGrid;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chroma-grid-CIk0dsNS.cjs","names":[],"sources":["../../src/components/effects/chroma-grid/ChromaGrid.tsx"],"sourcesContent":["import { useState, useRef } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { ChromaGridProps, ChromaGridItem } 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};\n\nconst defaultColors = [\n \"linear-gradient(135deg, var(--ds-color-accent) 0%, var(--ds-color-accent-hover) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-accent) 0%, var(--ds-color-info) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-info) 0%, var(--ds-color-accent-hover) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-success) 0%, var(--ds-color-accent) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-warning) 0%, var(--ds-color-accent) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-danger) 0%, var(--ds-color-warning) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-accent-hover) 0%, var(--ds-color-success) 100%)\",\n \"linear-gradient(135deg, var(--ds-color-info) 0%, var(--ds-color-success) 100%)\",\n];\n\nconst getAnimation = (\n animation: string,\n index: number,\n staggerDelay: number,\n) => {\n const delay = (index * staggerDelay) / 1000;\n\n switch (animation) {\n case \"wave\":\n return {\n initial: { opacity: 0, y: 30, rotateX: -15 },\n animate: { opacity: 1, y: 0, rotateX: 0 },\n transition: { delay, duration: 0.6, ease: [0.23, 1, 0.32, 1] as const },\n };\n case \"pulse\":\n return {\n initial: { scale: 0.8, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: {\n delay,\n duration: 0.5,\n type: \"spring\" as const,\n stiffness: 200,\n },\n };\n case \"fadeIn\":\n return {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { delay, duration: 0.4 },\n };\n case \"scale\":\n return {\n initial: { scale: 0, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: {\n delay,\n duration: 0.5,\n type: \"spring\" as const,\n stiffness: 300,\n damping: 20,\n },\n };\n default:\n return {};\n }\n};\n\nconst getHoverEffect = (effect: string) => {\n switch (effect) {\n case \"lift\":\n return { y: -8, transition: { duration: 0.3 } };\n case \"glow\":\n return {\n boxShadow:\n \"0 0 30px color-mix(in srgb, var(--ds-color-accent) 45%, transparent)\",\n transition: { duration: 0.3 },\n };\n case \"scale\":\n return { scale: 1.05, transition: { duration: 0.3 } };\n case \"tilt\":\n return { rotateY: 5, rotateX: 5, transition: { duration: 0.3 } };\n default:\n return {};\n }\n};\n\ninterface GridItemProps {\n item: ChromaGridItem;\n index: number;\n animation: string;\n staggerDelay: number;\n hoverEffect: string;\n variant: string;\n borderRadius: string;\n minHeight: number;\n spotlight: boolean;\n}\n\nconst GridItem = ({\n item,\n index,\n animation,\n staggerDelay,\n hoverEffect,\n variant,\n borderRadius,\n minHeight,\n spotlight,\n}: GridItemProps) => {\n const itemRef = useRef<HTMLDivElement>(null);\n const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n const [isHovered, setIsHovered] = useState(false);\n\n const color = item.color || defaultColors[index % defaultColors.length];\n const animationProps = getAnimation(animation, index, staggerDelay);\n const hoverProps = getHoverEffect(hoverEffect);\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!itemRef.current || !spotlight) return;\n const rect = itemRef.current.getBoundingClientRect();\n setMousePosition({\n x: e.clientX - rect.left,\n y: e.clientY - rect.top,\n });\n };\n\n const gridSpan =\n item.size && item.size > 1\n ? { gridColumn: `span ${item.size}`, gridRow: `span ${item.size}` }\n : {};\n\n const variantStyles = {\n glass: {\n backgroundColor: \"rgba(255, 255, 255, 0.1)\",\n backdropFilter: \"blur(20px)\",\n WebkitBackdropFilter: \"blur(20px)\",\n },\n solid: {},\n gradient: { background: color },\n };\n\n return (\n <motion.div\n ref={itemRef}\n className={mergeClassNames(\n \"relative overflow-hidden cursor-pointer transition-shadow\",\n borderRadiusMap[borderRadius as keyof typeof borderRadiusMap],\n variant === \"glass\" && \"border border-white/20 dark:border-white/10\",\n item.className,\n )}\n style={{\n minHeight:\n item.size && item.size > 1 ? minHeight * item.size : minHeight,\n ...gridSpan,\n ...variantStyles[variant as keyof typeof variantStyles],\n ...(variant !== \"glass\" && { background: color }),\n }}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n onClick={item.onClick}\n {...animationProps}\n whileHover={hoverProps}\n >\n {/* Spotlight effect */}\n {spotlight && isHovered && (\n <motion.div\n className=\"pointer-events-none absolute inset-0 z-0\"\n style={{\n background: `radial-gradient(300px circle at ${mousePosition.x}px ${mousePosition.y}px, rgba(255,255,255,0.2), transparent 70%)`,\n }}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2 }}\n />\n )}\n\n {/* Glass overlay for gradient variant */}\n {variant === \"gradient\" && (\n <div className=\"absolute inset-0 bg-black/10 dark:bg-black/20\" />\n )}\n\n {/* Content */}\n <div className=\"relative z-10 h-full flex flex-col justify-center items-center p-6 text-center\">\n {item.icon && (\n <div className=\"text-4xl text-white mb-3 drop-shadow-lg\">\n {item.icon}\n </div>\n )}\n {item.title && (\n <h3 className=\"text-lg font-bold text-white mb-1 drop-shadow-md\">\n {item.title}\n </h3>\n )}\n {item.description && (\n <p className=\"text-sm text-white/80 drop-shadow-sm\">\n {item.description}\n </p>\n )}\n {item.content}\n </div>\n </motion.div>\n );\n};\n\nexport const ChromaGrid = ({\n items,\n className,\n columns = 3,\n gap = 16,\n minHeight = 200,\n animation = \"wave\",\n staggerDelay = 100,\n hoverEffect = \"lift\",\n variant = \"gradient\",\n borderRadius = \"xl\",\n spotlight = true,\n style,\n}: ChromaGridProps) => {\n return (\n <div\n className={mergeClassNames(\"grid w-full\", className)}\n style={{\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n gap: `${gap}px`,\n ...style,\n }}\n >\n {items.map((item, index) => (\n <GridItem\n key={item.id}\n item={item}\n index={index}\n animation={animation}\n staggerDelay={staggerDelay}\n hoverEffect={hoverEffect}\n variant={variant}\n borderRadius={borderRadius}\n minHeight={minHeight}\n spotlight={spotlight}\n />\n ))}\n </div>\n );\n};\n\nChromaGrid.displayName = \"ChromaGrid\";\n\nexport default ChromaGrid;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-palette-2TuEMkAn.cjs","names":[],"sources":["../../src/components/data-display/color-palette/ColorPalette.tsx"],"sourcesContent":["export interface ColorSwatch {\n name: string;\n value: string;\n textColor?: \"light\" | \"dark\";\n}\n\nexport interface ColorGroup {\n name: string;\n colors: ColorSwatch[];\n}\n\nexport interface ColorPaletteProps {\n groups?: ColorGroup[];\n theme?: \"light\" | \"dark\" | \"all\";\n showGradients?: boolean;\n showUsageExamples?: boolean;\n className?: string;\n}\n\nconst lightThemeGroups: ColorGroup[] = [\n {\n name: \"Active Accent Scale\",\n colors: [\n { name: \"primary-50\", value: \"#f6efff\", textColor: \"dark\" },\n { name: \"primary-100\", value: \"#ead9fd\", textColor: \"dark\" },\n { name: \"primary-200\", value: \"#d8b3fb\", textColor: \"dark\" },\n { name: \"primary-300\", value: \"#c084fc\", textColor: \"dark\" },\n { name: \"primary-400\", value: \"#a855f7\", textColor: \"light\" },\n { name: \"primary-500\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"primary-600\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"primary-700\", value: \"#6b21a8\", textColor: \"light\" },\n { name: \"primary-800\", value: \"#581c87\", textColor: \"light\" },\n { name: \"primary-900\", value: \"#3b0764\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Surfaces\",\n colors: [\n { name: \"bg-canvas\", value: \"#f4f7fe\", textColor: \"dark\" },\n { name: \"bg-surface\", value: \"#ffffff\", textColor: \"dark\" },\n { name: \"bg-elevated\", value: \"#ffffff\", textColor: \"dark\" },\n { name: \"bg-muted\", value: \"#f4f3f8\", textColor: \"dark\" },\n { name: \"accent-subtle\", value: \"#f3e8fd\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Foreground\",\n colors: [\n { name: \"fg\", value: \"#1e293b\", textColor: \"light\" },\n { name: \"fg-muted\", value: \"#475467\", textColor: \"light\" },\n { name: \"fg-subtle\", value: \"#64748b\", textColor: \"light\" },\n { name: \"on-accent\", value: \"#ffffff\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Borders\",\n colors: [\n { name: \"border\", value: \"#e5e7eb\", textColor: \"dark\" },\n { name: \"border-strong\", value: \"#d1d5db\", textColor: \"dark\" },\n { name: \"border-muted\", value: \"#f3f4f6\", textColor: \"dark\" },\n { name: \"border-field\", value: \"#e9e8e8\", textColor: \"dark\" },\n { name: \"focus-ring\", value: \"#c595f2\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Status\",\n colors: [\n { name: \"success\", value: \"#1eb564\", textColor: \"light\" },\n { name: \"warning\", value: \"#ff9500\", textColor: \"dark\" },\n { name: \"danger\", value: \"#e31d1c\", textColor: \"light\" },\n { name: \"info\", value: \"#0085c4\", textColor: \"light\" },\n { name: \"disabled\", value: \"#d2d2d3\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Compatibility Aliases\",\n colors: [\n { name: \"--color-primary\", value: \"#4318ff\", textColor: \"light\" },\n {\n name: \"--color-background-primary\",\n value: \"#f4f7fe\",\n textColor: \"dark\",\n },\n {\n name: \"--color-background-secondary\",\n value: \"#ffffff\",\n textColor: \"dark\",\n },\n { name: \"--color-text-primary\", value: \"#1e293b\", textColor: \"light\" },\n { name: \"--color-border-primary\", value: \"#d1d5db\", textColor: \"dark\" },\n ],\n },\n];\n\nconst darkThemeGroups: ColorGroup[] = [\n {\n name: \"Active Accent Scale (Dark)\",\n colors: [\n { name: \"primary-50\", value: \"#f6efff\", textColor: \"dark\" },\n { name: \"primary-100\", value: \"#ead9fd\", textColor: \"dark\" },\n { name: \"primary-200\", value: \"#d8b3fb\", textColor: \"dark\" },\n { name: \"primary-300\", value: \"#c084fc\", textColor: \"dark\" },\n { name: \"primary-400\", value: \"#a855f7\", textColor: \"light\" },\n { name: \"primary-500\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"primary-600\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"primary-700\", value: \"#6b21a8\", textColor: \"light\" },\n { name: \"primary-800\", value: \"#581c87\", textColor: \"light\" },\n { name: \"primary-900\", value: \"#3b0764\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Surfaces (Dark)\",\n colors: [\n { name: \"bg-canvas\", value: \"#070f2e\", textColor: \"light\" },\n { name: \"bg-surface\", value: \"#111c44\", textColor: \"light\" },\n { name: \"bg-elevated\", value: \"#111c44\", textColor: \"light\" },\n { name: \"bg-muted\", value: \"#18254f\", textColor: \"light\" },\n { name: \"accent-subtle\", value: \"#24194b\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Foreground (Dark)\",\n colors: [\n { name: \"fg\", value: \"#f1f5f9\", textColor: \"dark\" },\n { name: \"fg-muted\", value: \"#cbd5e1\", textColor: \"dark\" },\n { name: \"fg-subtle\", value: \"#94a3b8\", textColor: \"dark\" },\n { name: \"on-accent\", value: \"#ffffff\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Borders (Dark)\",\n colors: [\n { name: \"border\", value: \"#4b5563\", textColor: \"light\" },\n { name: \"border-strong\", value: \"#374151\", textColor: \"light\" },\n { name: \"border-muted\", value: \"#6b7280\", textColor: \"light\" },\n { name: \"border-field\", value: \"#545b58\", textColor: \"light\" },\n { name: \"focus-ring\", value: \"#b57fe7\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Status (Dark)\",\n colors: [\n { name: \"success\", value: \"#22c55e\", textColor: \"light\" },\n { name: \"warning\", value: \"#f59e42\", textColor: \"dark\" },\n { name: \"danger\", value: \"#ef4444\", textColor: \"light\" },\n { name: \"info\", value: \"#38bdf8\", textColor: \"dark\" },\n { name: \"disabled\", value: \"#4b5563\", textColor: \"light\" },\n ],\n },\n {\n name: \"Compatibility Aliases (Dark)\",\n colors: [\n { name: \"--color-primary\", value: \"#4318ff\", textColor: \"light\" },\n {\n name: \"--color-background-primary\",\n value: \"#070f2e\",\n textColor: \"light\",\n },\n {\n name: \"--color-background-secondary\",\n value: \"#111c44\",\n textColor: \"light\",\n },\n { name: \"--color-text-primary\", value: \"#f1f5f9\", textColor: \"dark\" },\n { name: \"--color-border-primary\", value: \"#374151\", textColor: \"light\" },\n ],\n },\n];\n\nconst gradientGroups: ColorGroup[] = [\n {\n name: \"Semantic Gradients\",\n colors: [\n { name: \"accent-gradient-start\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"accent-gradient-end\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"accent-secondary\", value: \"#4318ff\", textColor: \"light\" },\n ],\n },\n {\n name: \"Status Gradients\",\n colors: [\n { name: \"success-gradient-start\", value: \"#22c55e\", textColor: \"light\" },\n { name: \"success-gradient-end\", value: \"#16a34a\", textColor: \"light\" },\n { name: \"warning-gradient-start\", value: \"#f59e0b\", textColor: \"dark\" },\n { name: \"warning-gradient-end\", value: \"#d97706\", textColor: \"light\" },\n { name: \"error-gradient-start\", value: \"#ef4444\", textColor: \"light\" },\n { name: \"error-gradient-end\", value: \"#dc2626\", textColor: \"light\" },\n ],\n },\n {\n name: \"Glass / Opacity\",\n colors: [\n {\n name: \"glass-white-90\",\n value: \"rgba(255,255,255,0.9)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-70\",\n value: \"rgba(255,255,255,0.7)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-50\",\n value: \"rgba(255,255,255,0.5)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-20\",\n value: \"rgba(255,255,255,0.2)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-10\",\n value: \"rgba(255,255,255,0.1)\",\n textColor: \"dark\",\n },\n { name: \"glass-black-90\", value: \"rgba(0,0,0,0.9)\", textColor: \"light\" },\n { name: \"glass-black-70\", value: \"rgba(0,0,0,0.7)\", textColor: \"light\" },\n { name: \"glass-black-50\", value: \"rgba(0,0,0,0.5)\", textColor: \"light\" },\n { name: \"glass-black-20\", value: \"rgba(0,0,0,0.2)\", textColor: \"light\" },\n { name: \"glass-black-10\", value: \"rgba(0,0,0,0.1)\", textColor: \"light\" },\n ],\n },\n];\n\n// Default groups (backwards compatibility)\nconst defaultGroups: ColorGroup[] = lightThemeGroups;\n\nfunction ColorSwatchItem({ color }: { color: ColorSwatch }) {\n const copyToClipboard = () => {\n navigator.clipboard.writeText(color.value);\n };\n\n return (\n <div\n className=\"flex flex-col items-center gap-2 cursor-pointer transition-transform hover:scale-105\"\n onClick={copyToClipboard}\n title=\"Click to copy\"\n >\n <div\n className=\"w-20 h-20 rounded-lg shadow-md border border-neutral-200 dark:border-neutral-700 flex items-center justify-center text-xs font-mono\"\n style={{ backgroundColor: color.value }}\n >\n <span\n className={\n color.textColor === \"light\" ? \"text-white\" : \"text-neutral-900\"\n }\n >\n {color.value.length <= 9 ? color.value.toUpperCase() : \"RGBA\"}\n </span>\n </div>\n <span className=\"text-xs font-medium text-neutral-700 dark:text-neutral-300 text-center max-w-20\">\n {color.name}\n </span>\n </div>\n );\n}\n\nfunction GradientPreview() {\n return (\n <div className=\"mt-8\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n Semantic Gradient Examples\n </h3>\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #9333ea, #7e22ce)\",\n }}\n >\n Accent Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #9333ea, #7e22ce)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #9333ea, #4318ff)\",\n }}\n >\n Accent to Brand Primary\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #9333ea, #4318ff)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #22c55e, #16a34a)\",\n }}\n >\n Success Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #22c55e, #16a34a)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-neutral-900 font-medium\"\n style={{\n background: \"linear-gradient(135deg, #fbbf24, #f59e0b)\",\n }}\n >\n Warning Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #fbbf24, #f59e0b)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #ef4444, #dc2626)\",\n }}\n >\n Error Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #ef4444, #dc2626)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium backdrop-blur-xl border border-white/20\"\n style={{\n background: \"rgba(147, 51, 234, 0.7)\",\n }}\n >\n Glass Effect\n </div>\n <code className=\"text-xs text-neutral-500\">\n rgba(147, 51, 234, 0.7) + backdrop-blur\n </code>\n </div>\n </div>\n </div>\n );\n}\n\nfunction UsageExamples() {\n return (\n <div className=\"mt-8 p-6 bg-neutral-50 dark:bg-neutral-800/50 rounded-xl\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n Recommended Usage\n </h3>\n <div className=\"space-y-4\">\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Semantic utilities first\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`import { Button } from \"erp-pro-ui\";\n\n<section className=\"bg-surface text-fg border border-border rounded-2xl p-6\">\n <h2 className=\"text-accent text-xl font-semibold\">Semantic theme</h2>\n <p className=\"text-fg-muted\">Use utilities generated by colors.css.</p>\n <Button label=\"Save changes\" primary />\n</section>`}\n </pre>\n </div>\n\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Raw design-system variables\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`.dashboard-shell {\n background: var(--ds-color-bg-surface);\n color: var(--ds-color-fg);\n border: 1px solid var(--ds-color-border);\n}\n\n.dashboard-shell a {\n color: var(--ds-color-accent);\n}\n\nhtml[data-brand=\"teal\"][data-mode=\"dark\"] {\n color-scheme: dark;\n}`}\n </pre>\n </div>\n\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Compatibility aliases for migration\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`:root {\n --color-primary: #4318ff;\n --color-background-primary: #f4f7fe;\n --color-text-primary: #1e293b;\n}\n\n/* Supported for migration. Prefer semantic utilities or --ds-* in new code. */`}\n </pre>\n </div>\n </div>\n </div>\n );\n}\n\nexport default function ColorPalette({\n groups,\n theme = \"all\",\n showGradients = true,\n showUsageExamples = true,\n className,\n}: ColorPaletteProps) {\n // Determine which groups to show\n let displayGroups: ColorGroup[];\n if (groups) {\n displayGroups = groups;\n } else if (theme === \"light\") {\n displayGroups = lightThemeGroups;\n } else if (theme === \"dark\") {\n displayGroups = darkThemeGroups;\n } else {\n // Show all\n displayGroups = [...lightThemeGroups, ...darkThemeGroups];\n }\n\n // Add gradients if requested and no custom groups\n if (showGradients && !groups) {\n displayGroups = [...displayGroups, ...gradientGroups];\n }\n\n return (\n <div\n className={`p-6 bg-white dark:bg-neutral-900 rounded-xl ${\n className || \"\"\n }`}\n >\n <h2 className=\"text-2xl font-bold text-neutral-900 dark:text-white mb-2\">\n Color Palette\n </h2>\n <p className=\"text-sm text-neutral-600 dark:text-neutral-400 mb-6\">\n Preferred contract:{\" \"}\n <code className=\"font-mono bg-neutral-100 dark:bg-neutral-800 px-2 py-1 rounded\">\n semantic utilities and --ds-* tokens\n </code>{\" \"}\n • Compatibility aliases remain available for migration. Click any swatch\n to copy the color value.\n </p>\n\n <div className=\"mb-6 flex flex-wrap gap-2\">\n <span\n className={`px-3 py-1 rounded-full text-xs font-medium ${\n theme === \"light\" || theme === \"all\"\n ? \"bg-accent-subtle text-accent\"\n : \"bg-neutral-100 text-neutral-500\"\n }`}\n >\n Light Theme\n </span>\n <span\n className={`px-3 py-1 rounded-full text-xs font-medium ${\n theme === \"dark\" || theme === \"all\"\n ? \"bg-accent-subtle text-accent\"\n : \"bg-neutral-100 text-neutral-500\"\n }`}\n >\n Dark Theme\n </span>\n {showGradients && (\n <span className=\"px-3 py-1 rounded-full text-xs font-medium bg-accent-subtle text-accent\">\n Gradients\n </span>\n )}\n </div>\n\n {displayGroups.map((group) => (\n <div key={group.name} className=\"mb-8\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n {group.name}\n </h3>\n <div className=\"flex flex-wrap gap-4\">\n {group.colors.map((color) => (\n <ColorSwatchItem key={color.name} color={color} />\n ))}\n </div>\n </div>\n ))}\n\n {showGradients && <GradientPreview />}\n {showUsageExamples && <UsageExamples />}\n </div>\n );\n}\n\n// Export color groups for external use\nexport { lightThemeGroups, darkThemeGroups, gradientGroups, defaultGroups };\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-palette-euKQMWlV.mjs","names":[],"sources":["../../src/components/data-display/color-palette/ColorPalette.tsx"],"sourcesContent":["export interface ColorSwatch {\n name: string;\n value: string;\n textColor?: \"light\" | \"dark\";\n}\n\nexport interface ColorGroup {\n name: string;\n colors: ColorSwatch[];\n}\n\nexport interface ColorPaletteProps {\n groups?: ColorGroup[];\n theme?: \"light\" | \"dark\" | \"all\";\n showGradients?: boolean;\n showUsageExamples?: boolean;\n className?: string;\n}\n\nconst lightThemeGroups: ColorGroup[] = [\n {\n name: \"Active Accent Scale\",\n colors: [\n { name: \"primary-50\", value: \"#f6efff\", textColor: \"dark\" },\n { name: \"primary-100\", value: \"#ead9fd\", textColor: \"dark\" },\n { name: \"primary-200\", value: \"#d8b3fb\", textColor: \"dark\" },\n { name: \"primary-300\", value: \"#c084fc\", textColor: \"dark\" },\n { name: \"primary-400\", value: \"#a855f7\", textColor: \"light\" },\n { name: \"primary-500\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"primary-600\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"primary-700\", value: \"#6b21a8\", textColor: \"light\" },\n { name: \"primary-800\", value: \"#581c87\", textColor: \"light\" },\n { name: \"primary-900\", value: \"#3b0764\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Surfaces\",\n colors: [\n { name: \"bg-canvas\", value: \"#f4f7fe\", textColor: \"dark\" },\n { name: \"bg-surface\", value: \"#ffffff\", textColor: \"dark\" },\n { name: \"bg-elevated\", value: \"#ffffff\", textColor: \"dark\" },\n { name: \"bg-muted\", value: \"#f4f3f8\", textColor: \"dark\" },\n { name: \"accent-subtle\", value: \"#f3e8fd\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Foreground\",\n colors: [\n { name: \"fg\", value: \"#1e293b\", textColor: \"light\" },\n { name: \"fg-muted\", value: \"#475467\", textColor: \"light\" },\n { name: \"fg-subtle\", value: \"#64748b\", textColor: \"light\" },\n { name: \"on-accent\", value: \"#ffffff\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Borders\",\n colors: [\n { name: \"border\", value: \"#e5e7eb\", textColor: \"dark\" },\n { name: \"border-strong\", value: \"#d1d5db\", textColor: \"dark\" },\n { name: \"border-muted\", value: \"#f3f4f6\", textColor: \"dark\" },\n { name: \"border-field\", value: \"#e9e8e8\", textColor: \"dark\" },\n { name: \"focus-ring\", value: \"#c595f2\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Status\",\n colors: [\n { name: \"success\", value: \"#1eb564\", textColor: \"light\" },\n { name: \"warning\", value: \"#ff9500\", textColor: \"dark\" },\n { name: \"danger\", value: \"#e31d1c\", textColor: \"light\" },\n { name: \"info\", value: \"#0085c4\", textColor: \"light\" },\n { name: \"disabled\", value: \"#d2d2d3\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Compatibility Aliases\",\n colors: [\n { name: \"--color-primary\", value: \"#4318ff\", textColor: \"light\" },\n {\n name: \"--color-background-primary\",\n value: \"#f4f7fe\",\n textColor: \"dark\",\n },\n {\n name: \"--color-background-secondary\",\n value: \"#ffffff\",\n textColor: \"dark\",\n },\n { name: \"--color-text-primary\", value: \"#1e293b\", textColor: \"light\" },\n { name: \"--color-border-primary\", value: \"#d1d5db\", textColor: \"dark\" },\n ],\n },\n];\n\nconst darkThemeGroups: ColorGroup[] = [\n {\n name: \"Active Accent Scale (Dark)\",\n colors: [\n { name: \"primary-50\", value: \"#f6efff\", textColor: \"dark\" },\n { name: \"primary-100\", value: \"#ead9fd\", textColor: \"dark\" },\n { name: \"primary-200\", value: \"#d8b3fb\", textColor: \"dark\" },\n { name: \"primary-300\", value: \"#c084fc\", textColor: \"dark\" },\n { name: \"primary-400\", value: \"#a855f7\", textColor: \"light\" },\n { name: \"primary-500\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"primary-600\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"primary-700\", value: \"#6b21a8\", textColor: \"light\" },\n { name: \"primary-800\", value: \"#581c87\", textColor: \"light\" },\n { name: \"primary-900\", value: \"#3b0764\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Surfaces (Dark)\",\n colors: [\n { name: \"bg-canvas\", value: \"#070f2e\", textColor: \"light\" },\n { name: \"bg-surface\", value: \"#111c44\", textColor: \"light\" },\n { name: \"bg-elevated\", value: \"#111c44\", textColor: \"light\" },\n { name: \"bg-muted\", value: \"#18254f\", textColor: \"light\" },\n { name: \"accent-subtle\", value: \"#24194b\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Foreground (Dark)\",\n colors: [\n { name: \"fg\", value: \"#f1f5f9\", textColor: \"dark\" },\n { name: \"fg-muted\", value: \"#cbd5e1\", textColor: \"dark\" },\n { name: \"fg-subtle\", value: \"#94a3b8\", textColor: \"dark\" },\n { name: \"on-accent\", value: \"#ffffff\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Borders (Dark)\",\n colors: [\n { name: \"border\", value: \"#4b5563\", textColor: \"light\" },\n { name: \"border-strong\", value: \"#374151\", textColor: \"light\" },\n { name: \"border-muted\", value: \"#6b7280\", textColor: \"light\" },\n { name: \"border-field\", value: \"#545b58\", textColor: \"light\" },\n { name: \"focus-ring\", value: \"#b57fe7\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Status (Dark)\",\n colors: [\n { name: \"success\", value: \"#22c55e\", textColor: \"light\" },\n { name: \"warning\", value: \"#f59e42\", textColor: \"dark\" },\n { name: \"danger\", value: \"#ef4444\", textColor: \"light\" },\n { name: \"info\", value: \"#38bdf8\", textColor: \"dark\" },\n { name: \"disabled\", value: \"#4b5563\", textColor: \"light\" },\n ],\n },\n {\n name: \"Compatibility Aliases (Dark)\",\n colors: [\n { name: \"--color-primary\", value: \"#4318ff\", textColor: \"light\" },\n {\n name: \"--color-background-primary\",\n value: \"#070f2e\",\n textColor: \"light\",\n },\n {\n name: \"--color-background-secondary\",\n value: \"#111c44\",\n textColor: \"light\",\n },\n { name: \"--color-text-primary\", value: \"#f1f5f9\", textColor: \"dark\" },\n { name: \"--color-border-primary\", value: \"#374151\", textColor: \"light\" },\n ],\n },\n];\n\nconst gradientGroups: ColorGroup[] = [\n {\n name: \"Semantic Gradients\",\n colors: [\n { name: \"accent-gradient-start\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"accent-gradient-end\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"accent-secondary\", value: \"#4318ff\", textColor: \"light\" },\n ],\n },\n {\n name: \"Status Gradients\",\n colors: [\n { name: \"success-gradient-start\", value: \"#22c55e\", textColor: \"light\" },\n { name: \"success-gradient-end\", value: \"#16a34a\", textColor: \"light\" },\n { name: \"warning-gradient-start\", value: \"#f59e0b\", textColor: \"dark\" },\n { name: \"warning-gradient-end\", value: \"#d97706\", textColor: \"light\" },\n { name: \"error-gradient-start\", value: \"#ef4444\", textColor: \"light\" },\n { name: \"error-gradient-end\", value: \"#dc2626\", textColor: \"light\" },\n ],\n },\n {\n name: \"Glass / Opacity\",\n colors: [\n {\n name: \"glass-white-90\",\n value: \"rgba(255,255,255,0.9)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-70\",\n value: \"rgba(255,255,255,0.7)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-50\",\n value: \"rgba(255,255,255,0.5)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-20\",\n value: \"rgba(255,255,255,0.2)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-10\",\n value: \"rgba(255,255,255,0.1)\",\n textColor: \"dark\",\n },\n { name: \"glass-black-90\", value: \"rgba(0,0,0,0.9)\", textColor: \"light\" },\n { name: \"glass-black-70\", value: \"rgba(0,0,0,0.7)\", textColor: \"light\" },\n { name: \"glass-black-50\", value: \"rgba(0,0,0,0.5)\", textColor: \"light\" },\n { name: \"glass-black-20\", value: \"rgba(0,0,0,0.2)\", textColor: \"light\" },\n { name: \"glass-black-10\", value: \"rgba(0,0,0,0.1)\", textColor: \"light\" },\n ],\n },\n];\n\n// Default groups (backwards compatibility)\nconst defaultGroups: ColorGroup[] = lightThemeGroups;\n\nfunction ColorSwatchItem({ color }: { color: ColorSwatch }) {\n const copyToClipboard = () => {\n navigator.clipboard.writeText(color.value);\n };\n\n return (\n <div\n className=\"flex flex-col items-center gap-2 cursor-pointer transition-transform hover:scale-105\"\n onClick={copyToClipboard}\n title=\"Click to copy\"\n >\n <div\n className=\"w-20 h-20 rounded-lg shadow-md border border-neutral-200 dark:border-neutral-700 flex items-center justify-center text-xs font-mono\"\n style={{ backgroundColor: color.value }}\n >\n <span\n className={\n color.textColor === \"light\" ? \"text-white\" : \"text-neutral-900\"\n }\n >\n {color.value.length <= 9 ? color.value.toUpperCase() : \"RGBA\"}\n </span>\n </div>\n <span className=\"text-xs font-medium text-neutral-700 dark:text-neutral-300 text-center max-w-20\">\n {color.name}\n </span>\n </div>\n );\n}\n\nfunction GradientPreview() {\n return (\n <div className=\"mt-8\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n Semantic Gradient Examples\n </h3>\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #9333ea, #7e22ce)\",\n }}\n >\n Accent Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #9333ea, #7e22ce)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #9333ea, #4318ff)\",\n }}\n >\n Accent to Brand Primary\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #9333ea, #4318ff)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #22c55e, #16a34a)\",\n }}\n >\n Success Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #22c55e, #16a34a)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-neutral-900 font-medium\"\n style={{\n background: \"linear-gradient(135deg, #fbbf24, #f59e0b)\",\n }}\n >\n Warning Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #fbbf24, #f59e0b)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #ef4444, #dc2626)\",\n }}\n >\n Error Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #ef4444, #dc2626)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium backdrop-blur-xl border border-white/20\"\n style={{\n background: \"rgba(147, 51, 234, 0.7)\",\n }}\n >\n Glass Effect\n </div>\n <code className=\"text-xs text-neutral-500\">\n rgba(147, 51, 234, 0.7) + backdrop-blur\n </code>\n </div>\n </div>\n </div>\n );\n}\n\nfunction UsageExamples() {\n return (\n <div className=\"mt-8 p-6 bg-neutral-50 dark:bg-neutral-800/50 rounded-xl\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n Recommended Usage\n </h3>\n <div className=\"space-y-4\">\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Semantic utilities first\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`import { Button } from \"erp-pro-ui\";\n\n<section className=\"bg-surface text-fg border border-border rounded-2xl p-6\">\n <h2 className=\"text-accent text-xl font-semibold\">Semantic theme</h2>\n <p className=\"text-fg-muted\">Use utilities generated by colors.css.</p>\n <Button label=\"Save changes\" primary />\n</section>`}\n </pre>\n </div>\n\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Raw design-system variables\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`.dashboard-shell {\n background: var(--ds-color-bg-surface);\n color: var(--ds-color-fg);\n border: 1px solid var(--ds-color-border);\n}\n\n.dashboard-shell a {\n color: var(--ds-color-accent);\n}\n\nhtml[data-brand=\"teal\"][data-mode=\"dark\"] {\n color-scheme: dark;\n}`}\n </pre>\n </div>\n\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Compatibility aliases for migration\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`:root {\n --color-primary: #4318ff;\n --color-background-primary: #f4f7fe;\n --color-text-primary: #1e293b;\n}\n\n/* Supported for migration. Prefer semantic utilities or --ds-* in new code. */`}\n </pre>\n </div>\n </div>\n </div>\n );\n}\n\nexport default function ColorPalette({\n groups,\n theme = \"all\",\n showGradients = true,\n showUsageExamples = true,\n className,\n}: ColorPaletteProps) {\n // Determine which groups to show\n let displayGroups: ColorGroup[];\n if (groups) {\n displayGroups = groups;\n } else if (theme === \"light\") {\n displayGroups = lightThemeGroups;\n } else if (theme === \"dark\") {\n displayGroups = darkThemeGroups;\n } else {\n // Show all\n displayGroups = [...lightThemeGroups, ...darkThemeGroups];\n }\n\n // Add gradients if requested and no custom groups\n if (showGradients && !groups) {\n displayGroups = [...displayGroups, ...gradientGroups];\n }\n\n return (\n <div\n className={`p-6 bg-white dark:bg-neutral-900 rounded-xl ${\n className || \"\"\n }`}\n >\n <h2 className=\"text-2xl font-bold text-neutral-900 dark:text-white mb-2\">\n Color Palette\n </h2>\n <p className=\"text-sm text-neutral-600 dark:text-neutral-400 mb-6\">\n Preferred contract:{\" \"}\n <code className=\"font-mono bg-neutral-100 dark:bg-neutral-800 px-2 py-1 rounded\">\n semantic utilities and --ds-* tokens\n </code>{\" \"}\n • Compatibility aliases remain available for migration. Click any swatch\n to copy the color value.\n </p>\n\n <div className=\"mb-6 flex flex-wrap gap-2\">\n <span\n className={`px-3 py-1 rounded-full text-xs font-medium ${\n theme === \"light\" || theme === \"all\"\n ? \"bg-accent-subtle text-accent\"\n : \"bg-neutral-100 text-neutral-500\"\n }`}\n >\n Light Theme\n </span>\n <span\n className={`px-3 py-1 rounded-full text-xs font-medium ${\n theme === \"dark\" || theme === \"all\"\n ? \"bg-accent-subtle text-accent\"\n : \"bg-neutral-100 text-neutral-500\"\n }`}\n >\n Dark Theme\n </span>\n {showGradients && (\n <span className=\"px-3 py-1 rounded-full text-xs font-medium bg-accent-subtle text-accent\">\n Gradients\n </span>\n )}\n </div>\n\n {displayGroups.map((group) => (\n <div key={group.name} className=\"mb-8\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n {group.name}\n </h3>\n <div className=\"flex flex-wrap gap-4\">\n {group.colors.map((color) => (\n <ColorSwatchItem key={color.name} color={color} />\n ))}\n </div>\n </div>\n ))}\n\n {showGradients && <GradientPreview />}\n {showUsageExamples && <UsageExamples />}\n </div>\n );\n}\n\n// Export color groups for external use\nexport { lightThemeGroups, darkThemeGroups, gradientGroups, defaultGroups };\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"combobox-CwGubKTt.cjs","names":[],"sources":["../../src/components/forms/combobox/Combobox.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { motion, useMotionTemplate, useMotionValue } from \"framer-motion\";\n\nimport { CheckIcon, ChevronDownIcon } from \"../../icons\";\nimport { mergeClassNames } from \"../../../utils\";\n\nexport interface ComboboxOption {\n label: string;\n value: string;\n}\n\nexport interface ComboboxProps {\n options: ComboboxOption[];\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n bgClassName?: string;\n createOptionLabel?: string;\n onCreateOption?: () => void;\n}\n\nconst Combobox: React.FC<ComboboxProps> = ({\n options,\n value,\n onChange,\n placeholder = \"Select...\",\n className,\n bgClassName = \"bg-background-secondary\",\n createOptionLabel,\n onCreateOption,\n}) => {\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState(\"\");\n const [visible, setVisible] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const radius = 100;\n\n // Filter options by search\n const filteredOptions = options.filter((opt) =>\n opt.label.toLowerCase().includes(search.toLowerCase()),\n );\n\n // Close dropdown on outside click\n useEffect(() => {\n const handleClick = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n setSearch(\"\");\n }\n };\n if (open) {\n document.addEventListener(\"mousedown\", handleClick);\n }\n return () => document.removeEventListener(\"mousedown\", handleClick);\n }, [open]);\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const { left, top } = event.currentTarget.getBoundingClientRect();\n mouseX.set(event.clientX - left);\n mouseY.set(event.clientY - top);\n };\n\n return (\n <div\n ref={ref}\n className={mergeClassNames(\"relative w-full\", className)}\n tabIndex={0}\n >\n <motion.div\n style={{\n backgroundImage: useMotionTemplate`\n radial-gradient(\n ${visible ? `${radius}px` : \"0px\"} circle at ${mouseX}px ${mouseY}px,\n var(--ds-color-accent),\n transparent 90%\n )\n `,\n }}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n className=\"group/combobox rounded-lg border-border p-[2px] transition duration-300 hover:border-accent\"\n >\n <div\n className={mergeClassNames(\n \"flex h-10 w-full cursor-pointer items-center justify-between rounded-md border border-input px-3 py-2 text-sm text-foreground transition duration-400 ease-in-out focus-visible:ring-2 focus-visible:ring-accent focus-visible:outline-none\",\n bgClassName,\n )}\n onClick={() => {\n setOpen((current) => {\n if (current) {\n setSearch(\"\");\n }\n\n return !current;\n });\n }}\n >\n {value ? (\n <span className=\"flex-1 truncate text-foreground\">\n {options.find((opt) => opt.value === value)?.label}\n </span>\n ) : (\n <span className=\"flex-1 text-muted-foreground\">{placeholder}</span>\n )}\n <span\n className={mergeClassNames(\n \"ml-2 text-muted-foreground transition-transform duration-300\",\n open ? \"rotate-180\" : \"rotate-0\",\n )}\n >\n <ChevronDownIcon\n width={24}\n height={24}\n color=\"currentColor\"\n className=\"h-5 w-5\"\n />\n </span>\n </div>\n </motion.div>\n {open && (\n <div className=\"absolute right-0 left-0 z-20 mt-1 flex max-h-60 flex-col rounded-lg border border-border bg-background-secondary shadow-3 backdrop-blur-xl transition\">\n {/* Sticky search input */}\n <div className=\"sticky top-0 z-10 rounded-t-lg border-b border-border-muted bg-elevated/95 backdrop-blur-sm\">\n <input\n autoFocus\n className=\"w-full bg-transparent px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-accent\"\n placeholder=\"Type to search...\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n {/* Scrollable options */}\n <div className=\"max-h-80 flex-1 overflow-auto\">\n {filteredOptions.length === 0 && !createOptionLabel && (\n <div className=\"px-3 py-2 text-muted-foreground\">No options</div>\n )}\n {filteredOptions.map((opt) => (\n <div\n key={opt.value}\n className={mergeClassNames(\n \"mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-foreground transition\",\n opt.value === value\n ? \"bg-accent-subtle text-accent font-semibold\"\n : \"\",\n \"hover:bg-accent hover:text-on-accent\",\n )}\n onClick={() => {\n onChange(opt.value);\n setSearch(\"\");\n setOpen(false);\n }}\n >\n <span className=\"flex w-5 items-center justify-center\">\n {opt.value === value && (\n <CheckIcon className=\"text-accent\" width={18} height={18} />\n )}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">{opt.label}</span>\n </div>\n ))}\n </div>\n {/* Sticky create option */}\n {createOptionLabel && onCreateOption && (\n <div className=\"sticky bottom-0 z-10 rounded-b-lg border-t border-border-muted bg-elevated/95 backdrop-blur-sm\">\n <div\n className=\"mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm font-semibold text-foreground transition hover:bg-accent hover:text-on-accent\"\n onClick={() => {\n onCreateOption();\n setSearch(\"\");\n setOpen(false);\n }}\n >\n <span className=\"flex w-5 items-center justify-center\">\n {/* Optionally add an icon here */}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">\n {createOptionLabel}\n </span>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default Combobox;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"combobox-DrFmkI0F.mjs","names":[],"sources":["../../src/components/forms/combobox/Combobox.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { motion, useMotionTemplate, useMotionValue } from \"framer-motion\";\n\nimport { CheckIcon, ChevronDownIcon } from \"../../icons\";\nimport { mergeClassNames } from \"../../../utils\";\n\nexport interface ComboboxOption {\n label: string;\n value: string;\n}\n\nexport interface ComboboxProps {\n options: ComboboxOption[];\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n bgClassName?: string;\n createOptionLabel?: string;\n onCreateOption?: () => void;\n}\n\nconst Combobox: React.FC<ComboboxProps> = ({\n options,\n value,\n onChange,\n placeholder = \"Select...\",\n className,\n bgClassName = \"bg-background-secondary\",\n createOptionLabel,\n onCreateOption,\n}) => {\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState(\"\");\n const [visible, setVisible] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const radius = 100;\n\n // Filter options by search\n const filteredOptions = options.filter((opt) =>\n opt.label.toLowerCase().includes(search.toLowerCase()),\n );\n\n // Close dropdown on outside click\n useEffect(() => {\n const handleClick = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n setSearch(\"\");\n }\n };\n if (open) {\n document.addEventListener(\"mousedown\", handleClick);\n }\n return () => document.removeEventListener(\"mousedown\", handleClick);\n }, [open]);\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const { left, top } = event.currentTarget.getBoundingClientRect();\n mouseX.set(event.clientX - left);\n mouseY.set(event.clientY - top);\n };\n\n return (\n <div\n ref={ref}\n className={mergeClassNames(\"relative w-full\", className)}\n tabIndex={0}\n >\n <motion.div\n style={{\n backgroundImage: useMotionTemplate`\n radial-gradient(\n ${visible ? `${radius}px` : \"0px\"} circle at ${mouseX}px ${mouseY}px,\n var(--ds-color-accent),\n transparent 90%\n )\n `,\n }}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n className=\"group/combobox rounded-lg border-border p-[2px] transition duration-300 hover:border-accent\"\n >\n <div\n className={mergeClassNames(\n \"flex h-10 w-full cursor-pointer items-center justify-between rounded-md border border-input px-3 py-2 text-sm text-foreground transition duration-400 ease-in-out focus-visible:ring-2 focus-visible:ring-accent focus-visible:outline-none\",\n bgClassName,\n )}\n onClick={() => {\n setOpen((current) => {\n if (current) {\n setSearch(\"\");\n }\n\n return !current;\n });\n }}\n >\n {value ? (\n <span className=\"flex-1 truncate text-foreground\">\n {options.find((opt) => opt.value === value)?.label}\n </span>\n ) : (\n <span className=\"flex-1 text-muted-foreground\">{placeholder}</span>\n )}\n <span\n className={mergeClassNames(\n \"ml-2 text-muted-foreground transition-transform duration-300\",\n open ? \"rotate-180\" : \"rotate-0\",\n )}\n >\n <ChevronDownIcon\n width={24}\n height={24}\n color=\"currentColor\"\n className=\"h-5 w-5\"\n />\n </span>\n </div>\n </motion.div>\n {open && (\n <div className=\"absolute right-0 left-0 z-20 mt-1 flex max-h-60 flex-col rounded-lg border border-border bg-background-secondary shadow-3 backdrop-blur-xl transition\">\n {/* Sticky search input */}\n <div className=\"sticky top-0 z-10 rounded-t-lg border-b border-border-muted bg-elevated/95 backdrop-blur-sm\">\n <input\n autoFocus\n className=\"w-full bg-transparent px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-accent\"\n placeholder=\"Type to search...\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n {/* Scrollable options */}\n <div className=\"max-h-80 flex-1 overflow-auto\">\n {filteredOptions.length === 0 && !createOptionLabel && (\n <div className=\"px-3 py-2 text-muted-foreground\">No options</div>\n )}\n {filteredOptions.map((opt) => (\n <div\n key={opt.value}\n className={mergeClassNames(\n \"mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-foreground transition\",\n opt.value === value\n ? \"bg-accent-subtle text-accent font-semibold\"\n : \"\",\n \"hover:bg-accent hover:text-on-accent\",\n )}\n onClick={() => {\n onChange(opt.value);\n setSearch(\"\");\n setOpen(false);\n }}\n >\n <span className=\"flex w-5 items-center justify-center\">\n {opt.value === value && (\n <CheckIcon className=\"text-accent\" width={18} height={18} />\n )}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">{opt.label}</span>\n </div>\n ))}\n </div>\n {/* Sticky create option */}\n {createOptionLabel && onCreateOption && (\n <div className=\"sticky bottom-0 z-10 rounded-b-lg border-t border-border-muted bg-elevated/95 backdrop-blur-sm\">\n <div\n className=\"mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm font-semibold text-foreground transition hover:bg-accent hover:text-on-accent\"\n onClick={() => {\n onCreateOption();\n setSearch(\"\");\n setOpen(false);\n }}\n >\n <span className=\"flex w-5 items-center justify-center\">\n {/* Optionally add an icon here */}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">\n {createOptionLabel}\n </span>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default Combobox;\n"],"mappings":"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"}