erp-pro-ui 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/README.md +136 -27
  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/animations.css +2 -2
  7. package/dist/ascii-text.cjs +1 -1
  8. package/dist/background-gradient-animation.cjs +1 -1
  9. package/dist/background-gradient-animation.mjs +1 -1
  10. package/dist/button-hover-border-gradient.cjs +1 -1
  11. package/dist/button-hover-border-gradient.mjs +1 -1
  12. package/dist/button.cjs +1 -1
  13. package/dist/button.mjs +1 -1
  14. package/dist/calendar.cjs +1 -1
  15. package/dist/calendar.mjs +1 -1
  16. package/dist/card.cjs +1 -1
  17. package/dist/card.mjs +1 -1
  18. package/dist/carousel.cjs +1 -1
  19. package/dist/carousel.mjs +1 -1
  20. package/dist/charts.cjs +2 -1
  21. package/dist/charts.mjs +2 -2
  22. package/dist/checkbox.cjs +1 -1
  23. package/dist/checkbox.mjs +1 -1
  24. package/dist/chip.cjs +3 -1
  25. package/dist/chip.mjs +2 -2
  26. package/dist/chroma-grid.cjs +1 -1
  27. package/dist/chroma-grid.mjs +1 -1
  28. package/dist/chunks/{HoverBorderGradient-DaduPpj-.cjs → HoverBorderGradient-C5D6lGg0.cjs} +8 -8
  29. package/dist/chunks/HoverBorderGradient-C5D6lGg0.cjs.map +1 -0
  30. package/dist/chunks/{HoverBorderGradient-DYXhtPWs.mjs → HoverBorderGradient-CduqqQgX.mjs} +8 -8
  31. package/dist/chunks/HoverBorderGradient-CduqqQgX.mjs.map +1 -0
  32. package/dist/chunks/{accordion-Dwm6yH0C.mjs → accordion-6zxJUYXr.mjs} +8 -8
  33. package/dist/chunks/accordion-6zxJUYXr.mjs.map +1 -0
  34. package/dist/chunks/{accordion-CxJYq_6x.cjs → accordion-CmB6EidC.cjs} +8 -8
  35. package/dist/chunks/accordion-CmB6EidC.cjs.map +1 -0
  36. package/dist/chunks/alert-C5KEeQqh.cjs +81 -0
  37. package/dist/chunks/alert-C5KEeQqh.cjs.map +1 -0
  38. package/dist/chunks/alert-XVmYJgds.mjs +75 -0
  39. package/dist/chunks/alert-XVmYJgds.mjs.map +1 -0
  40. package/dist/chunks/{ascii-text-Bh4HjIrL.cjs → ascii-text-BP-BBy0-.cjs} +3 -3
  41. package/dist/chunks/{ascii-text-Bh4HjIrL.cjs.map → ascii-text-BP-BBy0-.cjs.map} +1 -1
  42. package/dist/chunks/{background-gradient-animation-BNztOaAL.mjs → background-gradient-animation-DpKJ3ecq.mjs} +3 -3
  43. package/dist/chunks/{background-gradient-animation-BNztOaAL.mjs.map → background-gradient-animation-DpKJ3ecq.mjs.map} +1 -1
  44. package/dist/chunks/{background-gradient-animation-C0jV3b6l.cjs → background-gradient-animation-II9hdrgB.cjs} +3 -3
  45. package/dist/chunks/{background-gradient-animation-C0jV3b6l.cjs.map → background-gradient-animation-II9hdrgB.cjs.map} +1 -1
  46. package/dist/chunks/{button-NwWcZaCl.mjs → button-DddUhuR-.mjs} +4 -4
  47. package/dist/chunks/button-DddUhuR-.mjs.map +1 -0
  48. package/dist/chunks/{button-hover-border-gradient-TmQPZyYW.mjs → button-hover-border-gradient-DFppVRI4.mjs} +3 -3
  49. package/dist/chunks/{button-hover-border-gradient-TmQPZyYW.mjs.map → button-hover-border-gradient-DFppVRI4.mjs.map} +1 -1
  50. package/dist/chunks/{button-hover-border-gradient-B_JuE939.cjs → button-hover-border-gradient-DX2lBG5C.cjs} +3 -3
  51. package/dist/chunks/{button-hover-border-gradient-B_JuE939.cjs.map → button-hover-border-gradient-DX2lBG5C.cjs.map} +1 -1
  52. package/dist/chunks/{button-sVzhc451.cjs → button-xqernofO.cjs} +4 -4
  53. package/dist/chunks/button-xqernofO.cjs.map +1 -0
  54. package/dist/chunks/{calendar-wZGU7o1B.mjs → calendar-Cp84V2rY.mjs} +7 -7
  55. package/dist/chunks/calendar-Cp84V2rY.mjs.map +1 -0
  56. package/dist/chunks/{calendar-B8yy-7Se.cjs → calendar-DuCKr6b7.cjs} +7 -7
  57. package/dist/chunks/calendar-DuCKr6b7.cjs.map +1 -0
  58. package/dist/chunks/{card-CAzOcjaC.cjs → card-CqPDr6Tt.cjs} +4 -4
  59. package/dist/chunks/card-CqPDr6Tt.cjs.map +1 -0
  60. package/dist/chunks/{card-BOTJSO1o.mjs → card-SpHHNB0c.mjs} +4 -4
  61. package/dist/chunks/card-SpHHNB0c.mjs.map +1 -0
  62. package/dist/chunks/{carousel-BCMk0v5p.mjs → carousel-C1skQ65z.mjs} +14 -14
  63. package/dist/chunks/carousel-C1skQ65z.mjs.map +1 -0
  64. package/dist/chunks/{carousel-Crpz33XV.cjs → carousel-YlRLOGkM.cjs} +11 -11
  65. package/dist/chunks/carousel-YlRLOGkM.cjs.map +1 -0
  66. package/dist/chunks/{charts-9OPShAea.mjs → charts-C-Qee_JY.mjs} +114 -18
  67. package/dist/chunks/charts-C-Qee_JY.mjs.map +1 -0
  68. package/dist/chunks/{charts-D1pdxSiu.cjs → charts-CZEYcr6X.cjs} +116 -14
  69. package/dist/chunks/charts-CZEYcr6X.cjs.map +1 -0
  70. package/dist/chunks/{checkbox-C9NrpH_Q.mjs → checkbox-DjGpvMyo.mjs} +12 -12
  71. package/dist/chunks/checkbox-DjGpvMyo.mjs.map +1 -0
  72. package/dist/chunks/{checkbox-BakVQmue.cjs → checkbox-NM_iPd6S.cjs} +10 -10
  73. package/dist/chunks/checkbox-NM_iPd6S.cjs.map +1 -0
  74. package/dist/chunks/chip-BY83_HK7.cjs +203 -0
  75. package/dist/chunks/chip-BY83_HK7.cjs.map +1 -0
  76. package/dist/chunks/chip-CbO8-1lK.mjs +185 -0
  77. package/dist/chunks/chip-CbO8-1lK.mjs.map +1 -0
  78. package/dist/chunks/{chroma-grid-BF9SlWxA.mjs → chroma-grid-CexX28VQ.mjs} +6 -6
  79. package/dist/chunks/chroma-grid-CexX28VQ.mjs.map +1 -0
  80. package/dist/chunks/{chroma-grid-8p5tntYr.cjs → chroma-grid-DP__XtmV.cjs} +6 -6
  81. package/dist/chunks/chroma-grid-DP__XtmV.cjs.map +1 -0
  82. package/dist/chunks/{color-palette-CJEiZCtr.mjs → color-palette-BU1cI6XP.mjs} +166 -132
  83. package/dist/chunks/color-palette-BU1cI6XP.mjs.map +1 -0
  84. package/dist/chunks/{color-palette-DWtgsI3u.cjs → color-palette-ThIKMhT1.cjs} +168 -133
  85. package/dist/chunks/color-palette-ThIKMhT1.cjs.map +1 -0
  86. package/dist/chunks/{combobox-BXFmUNQt.cjs → combobox-B7UIcjsI.cjs} +18 -18
  87. package/dist/chunks/combobox-B7UIcjsI.cjs.map +1 -0
  88. package/dist/chunks/{combobox-ietfKkAW.mjs → combobox-D6WnThIQ.mjs} +16 -16
  89. package/dist/chunks/combobox-D6WnThIQ.mjs.map +1 -0
  90. package/dist/chunks/data-table-B2r5OUFX.mjs +1497 -0
  91. package/dist/chunks/data-table-B2r5OUFX.mjs.map +1 -0
  92. package/dist/chunks/data-table-BLt8DTVy.cjs +1588 -0
  93. package/dist/chunks/data-table-BLt8DTVy.cjs.map +1 -0
  94. package/dist/chunks/{date-picker-CvH7zGtP.mjs → date-picker-Bh6_p4bD.mjs} +39 -19
  95. package/dist/chunks/date-picker-Bh6_p4bD.mjs.map +1 -0
  96. package/dist/chunks/{date-picker-BMZV5HGM.cjs → date-picker-CfCvp6Tj.cjs} +39 -19
  97. package/dist/chunks/date-picker-CfCvp6Tj.cjs.map +1 -0
  98. package/dist/chunks/{dialog-BZst9i2z.mjs → dialog-BibwiFLY.mjs} +26 -28
  99. package/dist/chunks/dialog-BibwiFLY.mjs.map +1 -0
  100. package/dist/chunks/{dialog-DScyxkX9.cjs → dialog-I141I0nc.cjs} +26 -28
  101. package/dist/chunks/dialog-I141I0nc.cjs.map +1 -0
  102. package/dist/chunks/{drawer-B0V7RUHx.mjs → drawer-DsE8Pb8e.mjs} +11 -11
  103. package/dist/chunks/drawer-DsE8Pb8e.mjs.map +1 -0
  104. package/dist/chunks/{drawer-B_x2aMuz.cjs → drawer-EC9eopGX.cjs} +11 -11
  105. package/dist/chunks/drawer-EC9eopGX.cjs.map +1 -0
  106. package/dist/chunks/{form-D-vLjhyP.mjs → form-CRwpjFWu.mjs} +10 -10
  107. package/dist/chunks/form-CRwpjFWu.mjs.map +1 -0
  108. package/dist/chunks/{form-CU_CjV-_.cjs → form-DaGyqM97.cjs} +10 -10
  109. package/dist/chunks/form-DaGyqM97.cjs.map +1 -0
  110. package/dist/chunks/{gradual-blur-amCnDPlg.cjs → gradual-blur-Di7MBs7M.cjs} +1 -1
  111. package/dist/chunks/{gradual-blur-amCnDPlg.cjs.map → gradual-blur-Di7MBs7M.cjs.map} +1 -1
  112. package/dist/chunks/{gradual-blur-BCLuZlHC.mjs → gradual-blur-pt0UiMEy.mjs} +1 -1
  113. package/dist/chunks/{gradual-blur-BCLuZlHC.mjs.map → gradual-blur-pt0UiMEy.mjs.map} +1 -1
  114. package/dist/chunks/{hover-card-D5Plwh1g.mjs → hover-card-C3Xa18Ov.mjs} +7 -8
  115. package/dist/chunks/hover-card-C3Xa18Ov.mjs.map +1 -0
  116. package/dist/chunks/{hover-card-CjL7A_V7.cjs → hover-card-D78E07hk.cjs} +7 -8
  117. package/dist/chunks/hover-card-D78E07hk.cjs.map +1 -0
  118. package/dist/chunks/{icons-CaNIzMf3.cjs → icons-CRanVZB1.cjs} +8 -8
  119. package/dist/chunks/icons-CRanVZB1.cjs.map +1 -0
  120. package/dist/chunks/{icons-BquccnYa.mjs → icons-bx3nrxNv.mjs} +8 -8
  121. package/dist/chunks/icons-bx3nrxNv.mjs.map +1 -0
  122. package/dist/chunks/{input-CS0g1cov.mjs → input-CpARxvFi.mjs} +14 -14
  123. package/dist/chunks/input-CpARxvFi.mjs.map +1 -0
  124. package/dist/chunks/{input-DuoEJayD.cjs → input-DTW_8EwG.cjs} +14 -14
  125. package/dist/chunks/input-DTW_8EwG.cjs.map +1 -0
  126. package/dist/chunks/{label-B03C78Le.mjs → label-BVH02Yvq.mjs} +1 -1
  127. package/dist/chunks/{label-B03C78Le.mjs.map → label-BVH02Yvq.mjs.map} +1 -1
  128. package/dist/chunks/{label-Bw5HtTED.cjs → label-DN-Bg5i8.cjs} +1 -1
  129. package/dist/chunks/{label-Bw5HtTED.cjs.map → label-DN-Bg5i8.cjs.map} +1 -1
  130. package/dist/chunks/{loading-DrYIq0x8.cjs → loading-B1yrR3KX.cjs} +7 -7
  131. package/dist/chunks/{loading-DrYIq0x8.cjs.map → loading-B1yrR3KX.cjs.map} +1 -1
  132. package/dist/chunks/{loading-BSfQsGC5.mjs → loading-B2Ron0Fd.mjs} +7 -7
  133. package/dist/chunks/{loading-BSfQsGC5.mjs.map → loading-B2Ron0Fd.mjs.map} +1 -1
  134. package/dist/chunks/{multi-select-combobox-K05MPFbH.mjs → multi-select-combobox-CMhAXEGZ.mjs} +15 -15
  135. package/dist/chunks/multi-select-combobox-CMhAXEGZ.mjs.map +1 -0
  136. package/dist/chunks/{multi-select-combobox-k4_oScfn.cjs → multi-select-combobox-FEbMAPEg.cjs} +16 -16
  137. package/dist/chunks/multi-select-combobox-FEbMAPEg.cjs.map +1 -0
  138. package/dist/chunks/{otp-input-B8eJz1Lq.cjs → otp-input-B6nJC-Fl.cjs} +10 -10
  139. package/dist/chunks/otp-input-B6nJC-Fl.cjs.map +1 -0
  140. package/dist/chunks/{otp-input-rtXD2QuM.mjs → otp-input-B7DhhsMe.mjs} +10 -10
  141. package/dist/chunks/otp-input-B7DhhsMe.mjs.map +1 -0
  142. package/dist/chunks/{overlay-BCTPOEe8.mjs → overlay-C58wXorc.mjs} +1 -1
  143. package/dist/chunks/{overlay-BCTPOEe8.mjs.map → overlay-C58wXorc.mjs.map} +1 -1
  144. package/dist/chunks/{overlay-De79_3r2.cjs → overlay-DwJgjJuu.cjs} +1 -1
  145. package/dist/chunks/{overlay-De79_3r2.cjs.map → overlay-DwJgjJuu.cjs.map} +1 -1
  146. package/dist/chunks/{password-strength-meter-DkVmfmn3.cjs → password-strength-meter-6vNu6p19.cjs} +13 -13
  147. package/dist/chunks/password-strength-meter-6vNu6p19.cjs.map +1 -0
  148. package/dist/chunks/{password-strength-meter-DOsRacP5.mjs → password-strength-meter-D7gmZNjp.mjs} +13 -13
  149. package/dist/chunks/password-strength-meter-D7gmZNjp.mjs.map +1 -0
  150. package/dist/chunks/{progress-bar-BXFJbnIc.cjs → progress-bar-CbsCItvv.cjs} +78 -5
  151. package/dist/chunks/progress-bar-CbsCItvv.cjs.map +1 -0
  152. package/dist/chunks/{progress-bar-RwwgUpK7.mjs → progress-bar-D6Q9Di7D.mjs} +72 -5
  153. package/dist/chunks/progress-bar-D6Q9Di7D.mjs.map +1 -0
  154. package/dist/chunks/{radio-xi4BJVgm.mjs → radio-C6Meq2iz.mjs} +2 -2
  155. package/dist/chunks/{radio-xi4BJVgm.mjs.map → radio-C6Meq2iz.mjs.map} +1 -1
  156. package/dist/chunks/{radio-fIdlXx0f.cjs → radio-DxakS7iD.cjs} +2 -2
  157. package/dist/chunks/{radio-fIdlXx0f.cjs.map → radio-DxakS7iD.cjs.map} +1 -1
  158. package/dist/chunks/{select-RierVpX6.mjs → select-1rSJeUBQ.mjs} +15 -15
  159. package/dist/chunks/select-1rSJeUBQ.mjs.map +1 -0
  160. package/dist/chunks/{select-BOer92kh.cjs → select-SOmIt-BD.cjs} +16 -16
  161. package/dist/chunks/select-SOmIt-BD.cjs.map +1 -0
  162. package/dist/chunks/{skeleton-DGzckoX9.mjs → skeleton-BRx-80dg.mjs} +18 -18
  163. package/dist/chunks/skeleton-BRx-80dg.mjs.map +1 -0
  164. package/dist/chunks/{skeleton-9q1lJV-B.cjs → skeleton-o7DlA5yl.cjs} +18 -18
  165. package/dist/chunks/skeleton-o7DlA5yl.cjs.map +1 -0
  166. package/dist/chunks/{spinners-q0aJJ90t.cjs → spinners-BylPf0uk.cjs} +2 -2
  167. package/dist/chunks/{spinners-q0aJJ90t.cjs.map → spinners-BylPf0uk.cjs.map} +1 -1
  168. package/dist/chunks/{spinners-ZtY-P7u5.mjs → spinners-hJaI_cBH.mjs} +2 -2
  169. package/dist/chunks/{spinners-ZtY-P7u5.mjs.map → spinners-hJaI_cBH.mjs.map} +1 -1
  170. package/dist/chunks/{splash-cursor-Dw2zyPTf.cjs → splash-cursor-CmqkSl6m.cjs} +1 -1
  171. package/dist/chunks/{splash-cursor-Dw2zyPTf.cjs.map → splash-cursor-CmqkSl6m.cjs.map} +1 -1
  172. package/dist/chunks/{splash-cursor-BKSeGbZk.mjs → splash-cursor-Cxouip_h.mjs} +1 -1
  173. package/dist/chunks/{splash-cursor-BKSeGbZk.mjs.map → splash-cursor-Cxouip_h.mjs.map} +1 -1
  174. package/dist/chunks/{spotlight-card-BYF6TQ-U.cjs → spotlight-card-B3L3K21T.cjs} +8 -8
  175. package/dist/chunks/spotlight-card-B3L3K21T.cjs.map +1 -0
  176. package/dist/chunks/{spotlight-card-kU-Y9bok.mjs → spotlight-card-DIgacTxA.mjs} +8 -8
  177. package/dist/chunks/spotlight-card-DIgacTxA.mjs.map +1 -0
  178. package/dist/chunks/{stepper-6vnY3bgc.cjs → stepper-BpjKyemI.cjs} +53 -53
  179. package/dist/chunks/stepper-BpjKyemI.cjs.map +1 -0
  180. package/dist/chunks/{stepper-sjBOMByt.mjs → stepper-JD4ZHT-b.mjs} +53 -53
  181. package/dist/chunks/stepper-JD4ZHT-b.mjs.map +1 -0
  182. package/dist/chunks/sun-to-moon-button-BOx1n6nk.cjs +311 -0
  183. package/dist/chunks/sun-to-moon-button-BOx1n6nk.cjs.map +1 -0
  184. package/dist/chunks/sun-to-moon-button-CBbDar4k.mjs +299 -0
  185. package/dist/chunks/sun-to-moon-button-CBbDar4k.mjs.map +1 -0
  186. package/dist/chunks/{switch-CJurCzZO.cjs → switch-C9suGEWg.cjs} +5 -5
  187. package/dist/chunks/switch-C9suGEWg.cjs.map +1 -0
  188. package/dist/chunks/{switch-BBg9E9Wa.mjs → switch-hd7zTBD_.mjs} +5 -5
  189. package/dist/chunks/switch-hd7zTBD_.mjs.map +1 -0
  190. package/dist/chunks/{textarea-BEIHilZr.mjs → textarea-Cu26uKqq.mjs} +5 -5
  191. package/dist/chunks/textarea-Cu26uKqq.mjs.map +1 -0
  192. package/dist/chunks/{textarea-C2T9xqFe.cjs → textarea-cXgKzluG.cjs} +5 -5
  193. package/dist/chunks/textarea-cXgKzluG.cjs.map +1 -0
  194. package/dist/chunks/{theme-7DWLxJK_.cjs → theme-D6B-FaoE.cjs} +28 -5
  195. package/dist/chunks/theme-D6B-FaoE.cjs.map +1 -0
  196. package/dist/chunks/{theme-BceKeYhw.mjs → theme-koPrLKQv.mjs} +28 -5
  197. package/dist/chunks/theme-koPrLKQv.mjs.map +1 -0
  198. package/dist/chunks/{toast-7HcN4-uL.mjs → toast-CpX-22n2.mjs} +26 -26
  199. package/dist/chunks/toast-CpX-22n2.mjs.map +1 -0
  200. package/dist/chunks/{toast-B-mjpllA.cjs → toast-REa6FRBc.cjs} +26 -26
  201. package/dist/chunks/toast-REa6FRBc.cjs.map +1 -0
  202. package/dist/chunks/{tooltip-DMcXN6Ff.mjs → tooltip-CASvQiFQ.mjs} +6 -7
  203. package/dist/chunks/tooltip-CASvQiFQ.mjs.map +1 -0
  204. package/dist/chunks/{tooltip-CHQwSgOT.cjs → tooltip-CKF78rni.cjs} +6 -7
  205. package/dist/chunks/tooltip-CKF78rni.cjs.map +1 -0
  206. package/dist/chunks/{truncated-text-Bt0IAgjp.cjs → truncated-text-istgJRUq.cjs} +2 -2
  207. package/dist/chunks/{truncated-text-Bt0IAgjp.cjs.map → truncated-text-istgJRUq.cjs.map} +1 -1
  208. package/dist/chunks/{typography-BddjVdZH.mjs → typography-KxLf6Td8.mjs} +5 -5
  209. package/dist/chunks/typography-KxLf6Td8.mjs.map +1 -0
  210. package/dist/chunks/{typography-DLGuS_eJ.cjs → typography-sGmh0gZ_.cjs} +6 -6
  211. package/dist/chunks/typography-sGmh0gZ_.cjs.map +1 -0
  212. package/dist/color-palette.cjs +1 -1
  213. package/dist/color-palette.mjs +1 -1
  214. package/dist/colors.css +45 -149
  215. package/dist/combobox.cjs +1 -1
  216. package/dist/combobox.mjs +1 -1
  217. package/dist/components/data-display/card/Card.d.ts.map +1 -1
  218. package/dist/components/data-display/charts/MiniNeonSparkline.d.ts +17 -0
  219. package/dist/components/data-display/charts/MiniNeonSparkline.d.ts.map +1 -0
  220. package/dist/components/data-display/charts/index.d.ts +2 -0
  221. package/dist/components/data-display/charts/index.d.ts.map +1 -1
  222. package/dist/components/data-display/chip/Chip.d.ts.map +1 -1
  223. package/dist/components/data-display/chip/SpecialChip.d.ts +23 -0
  224. package/dist/components/data-display/chip/SpecialChip.d.ts.map +1 -0
  225. package/dist/components/data-display/chip/index.d.ts +2 -0
  226. package/dist/components/data-display/chip/index.d.ts.map +1 -1
  227. package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -1
  228. package/dist/components/data-display/data-table/DataTable.d.ts +50 -26
  229. package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
  230. package/dist/components/data-display/data-table/DataTableControls.d.ts +34 -0
  231. package/dist/components/data-display/data-table/DataTableControls.d.ts.map +1 -0
  232. package/dist/components/data-display/data-table/DataTableFilters.d.ts +27 -0
  233. package/dist/components/data-display/data-table/DataTableFilters.d.ts.map +1 -0
  234. package/dist/components/data-display/data-table/DataTableRows.d.ts +35 -0
  235. package/dist/components/data-display/data-table/DataTableRows.d.ts.map +1 -0
  236. package/dist/components/data-display/data-table/DataTableToolbar.d.ts +49 -0
  237. package/dist/components/data-display/data-table/DataTableToolbar.d.ts.map +1 -0
  238. package/dist/components/data-display/data-table/TablePrimitives.d.ts +11 -0
  239. package/dist/components/data-display/data-table/TablePrimitives.d.ts.map +1 -0
  240. package/dist/components/data-display/data-table/direction.d.ts +7 -0
  241. package/dist/components/data-display/data-table/direction.d.ts.map +1 -0
  242. package/dist/components/data-display/data-table/index.d.ts +2 -2
  243. package/dist/components/data-display/data-table/index.d.ts.map +1 -1
  244. package/dist/components/data-display/loading/Loading.d.ts.map +1 -1
  245. package/dist/components/data-display/progress-bar/CircularProgress.d.ts +17 -0
  246. package/dist/components/data-display/progress-bar/CircularProgress.d.ts.map +1 -0
  247. package/dist/components/data-display/progress-bar/index.d.ts +2 -0
  248. package/dist/components/data-display/progress-bar/index.d.ts.map +1 -1
  249. package/dist/components/effects/sun-to-moon-button/ThemeSwitcherButtons.d.ts +5 -0
  250. package/dist/components/effects/sun-to-moon-button/ThemeSwitcherButtons.d.ts.map +1 -0
  251. package/dist/components/effects/sun-to-moon-button/index.d.ts +2 -0
  252. package/dist/components/effects/sun-to-moon-button/index.d.ts.map +1 -1
  253. package/dist/components/feedback/alert/Alert.d.ts +1 -1
  254. package/dist/components/feedback/alert/Alert.d.ts.map +1 -1
  255. package/dist/components/feedback/alert/types.d.ts +11 -2
  256. package/dist/components/feedback/alert/types.d.ts.map +1 -1
  257. package/dist/components/forms/calendar/Calendar.d.ts.map +1 -1
  258. package/dist/components/forms/checkbox/Checkbox.d.ts.map +1 -1
  259. package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
  260. package/dist/components/forms/form/Form.d.ts.map +1 -1
  261. package/dist/components/forms/input/Input.d.ts.map +1 -1
  262. package/dist/components/forms/input/types.d.ts +1 -1
  263. package/dist/components/forms/input/types.d.ts.map +1 -1
  264. package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -1
  265. package/dist/components/forms/password-strength-meter/PasswordStrengthMeter.d.ts.map +1 -1
  266. package/dist/components/forms/select/Select.d.ts.map +1 -1
  267. package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -1
  268. package/dist/components/navigation/stepper/Stepper.d.ts.map +1 -1
  269. package/dist/components/navigation/stepper/Stepper1.d.ts.map +1 -1
  270. package/dist/components/navigation/tabs/Tabs.d.ts +3 -0
  271. package/dist/components/navigation/tabs/Tabs.d.ts.map +1 -0
  272. package/dist/components/navigation/tabs/index.d.ts +3 -0
  273. package/dist/components/navigation/tabs/index.d.ts.map +1 -0
  274. package/dist/components/navigation/tabs/types.d.ts +21 -0
  275. package/dist/components/navigation/tabs/types.d.ts.map +1 -0
  276. package/dist/components/overlays/dialog/Dialog.d.ts.map +1 -1
  277. package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -1
  278. package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -1
  279. package/dist/components/overlays/toast/Toast.d.ts.map +1 -1
  280. package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -1
  281. package/dist/components/typography/Typography.d.ts.map +1 -1
  282. package/dist/contexts/ThemeContext.d.ts +1 -1
  283. package/dist/contexts/ThemeContext.d.ts.map +1 -1
  284. package/dist/contexts/index.d.ts +1 -1
  285. package/dist/contexts/index.d.ts.map +1 -1
  286. package/dist/data-table.cjs +11 -1
  287. package/dist/data-table.mjs +2 -2
  288. package/dist/date-picker.cjs +1 -1
  289. package/dist/date-picker.mjs +1 -1
  290. package/dist/dialog.cjs +1 -1
  291. package/dist/dialog.mjs +1 -1
  292. package/dist/docs.cjs +9 -7
  293. package/dist/docs.cjs.map +1 -1
  294. package/dist/docs.d.ts +10 -10
  295. package/dist/docs.d.ts.map +1 -1
  296. package/dist/docs.mjs +9 -7
  297. package/dist/docs.mjs.map +1 -1
  298. package/dist/drawer.cjs +1 -1
  299. package/dist/drawer.mjs +1 -1
  300. package/dist/form.cjs +1 -1
  301. package/dist/form.mjs +1 -1
  302. package/dist/foundation.css +3 -3
  303. package/dist/foundations/theme/ThemeProvider.d.ts +22 -1
  304. package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
  305. package/dist/foundations/theme/index.d.ts +1 -1
  306. package/dist/foundations/theme/index.d.ts.map +1 -1
  307. package/dist/gradual-blur.cjs +1 -1
  308. package/dist/gradual-blur.mjs +1 -1
  309. package/dist/hover-border-gradient.cjs +1 -1
  310. package/dist/hover-border-gradient.mjs +1 -1
  311. package/dist/hover-card.cjs +1 -1
  312. package/dist/hover-card.mjs +1 -1
  313. package/dist/icons.cjs +1 -1
  314. package/dist/icons.mjs +1 -1
  315. package/dist/index.cjs +229 -48
  316. package/dist/index.cjs.map +1 -1
  317. package/dist/index.d.ts +13 -8
  318. package/dist/index.d.ts.map +1 -1
  319. package/dist/index.mjs +214 -48
  320. package/dist/index.mjs.map +1 -1
  321. package/dist/input.cjs +1 -1
  322. package/dist/input.mjs +1 -1
  323. package/dist/label.cjs +1 -1
  324. package/dist/label.mjs +1 -1
  325. package/dist/loading.cjs +1 -1
  326. package/dist/loading.mjs +1 -1
  327. package/dist/multi-select-combobox.cjs +1 -1
  328. package/dist/multi-select-combobox.mjs +1 -1
  329. package/dist/otp-input.cjs +1 -1
  330. package/dist/otp-input.mjs +1 -1
  331. package/dist/password-strength-meter.cjs +1 -1
  332. package/dist/password-strength-meter.mjs +1 -1
  333. package/dist/progress-bar.cjs +2 -1
  334. package/dist/progress-bar.mjs +2 -2
  335. package/dist/radio.cjs +1 -1
  336. package/dist/radio.mjs +1 -1
  337. package/dist/select.cjs +1 -1
  338. package/dist/select.mjs +1 -1
  339. package/dist/skeleton.cjs +1 -1
  340. package/dist/skeleton.mjs +1 -1
  341. package/dist/spinners.cjs +1 -1
  342. package/dist/spinners.mjs +1 -1
  343. package/dist/splash-cursor.cjs +1 -1
  344. package/dist/splash-cursor.mjs +1 -1
  345. package/dist/spotlight-card.cjs +1 -1
  346. package/dist/spotlight-card.mjs +1 -1
  347. package/dist/stepper.cjs +1 -1
  348. package/dist/stepper.mjs +1 -1
  349. package/dist/sun-to-moon-button.cjs +2 -1
  350. package/dist/sun-to-moon-button.mjs +2 -2
  351. package/dist/switch.cjs +1 -1
  352. package/dist/switch.mjs +1 -1
  353. package/dist/textarea.cjs +1 -1
  354. package/dist/textarea.mjs +1 -1
  355. package/dist/theme.cjs +1 -1
  356. package/dist/theme.mjs +1 -1
  357. package/dist/toast.cjs +1 -1
  358. package/dist/toast.mjs +1 -1
  359. package/dist/tokens.css +592 -298
  360. package/dist/tooltip.cjs +1 -1
  361. package/dist/tooltip.mjs +1 -1
  362. package/dist/truncated-text.cjs +1 -1
  363. package/dist/typography.cjs +1 -1
  364. package/dist/typography.mjs +1 -1
  365. package/package.json +9 -9
  366. package/dist/chunks/HoverBorderGradient-DYXhtPWs.mjs.map +0 -1
  367. package/dist/chunks/HoverBorderGradient-DaduPpj-.cjs.map +0 -1
  368. package/dist/chunks/accordion-CxJYq_6x.cjs.map +0 -1
  369. package/dist/chunks/accordion-Dwm6yH0C.mjs.map +0 -1
  370. package/dist/chunks/alert-BJWReBBk.mjs +0 -40
  371. package/dist/chunks/alert-BJWReBBk.mjs.map +0 -1
  372. package/dist/chunks/alert-Cc-jD7qn.cjs +0 -46
  373. package/dist/chunks/alert-Cc-jD7qn.cjs.map +0 -1
  374. package/dist/chunks/button-NwWcZaCl.mjs.map +0 -1
  375. package/dist/chunks/button-sVzhc451.cjs.map +0 -1
  376. package/dist/chunks/calendar-B8yy-7Se.cjs.map +0 -1
  377. package/dist/chunks/calendar-wZGU7o1B.mjs.map +0 -1
  378. package/dist/chunks/card-BOTJSO1o.mjs.map +0 -1
  379. package/dist/chunks/card-CAzOcjaC.cjs.map +0 -1
  380. package/dist/chunks/carousel-BCMk0v5p.mjs.map +0 -1
  381. package/dist/chunks/carousel-Crpz33XV.cjs.map +0 -1
  382. package/dist/chunks/charts-9OPShAea.mjs.map +0 -1
  383. package/dist/chunks/charts-D1pdxSiu.cjs.map +0 -1
  384. package/dist/chunks/checkbox-BakVQmue.cjs.map +0 -1
  385. package/dist/chunks/checkbox-C9NrpH_Q.mjs.map +0 -1
  386. package/dist/chunks/chip-BN0aOUa-.mjs +0 -142
  387. package/dist/chunks/chip-BN0aOUa-.mjs.map +0 -1
  388. package/dist/chunks/chip-Dc2Sm3Ng.cjs +0 -148
  389. package/dist/chunks/chip-Dc2Sm3Ng.cjs.map +0 -1
  390. package/dist/chunks/chroma-grid-8p5tntYr.cjs.map +0 -1
  391. package/dist/chunks/chroma-grid-BF9SlWxA.mjs.map +0 -1
  392. package/dist/chunks/color-palette-CJEiZCtr.mjs.map +0 -1
  393. package/dist/chunks/color-palette-DWtgsI3u.cjs.map +0 -1
  394. package/dist/chunks/combobox-BXFmUNQt.cjs.map +0 -1
  395. package/dist/chunks/combobox-ietfKkAW.mjs.map +0 -1
  396. package/dist/chunks/data-table-DlqjTYiB.cjs +0 -1160
  397. package/dist/chunks/data-table-DlqjTYiB.cjs.map +0 -1
  398. package/dist/chunks/data-table-Dw0QFNh7.mjs +0 -1129
  399. package/dist/chunks/data-table-Dw0QFNh7.mjs.map +0 -1
  400. package/dist/chunks/date-picker-BMZV5HGM.cjs.map +0 -1
  401. package/dist/chunks/date-picker-CvH7zGtP.mjs.map +0 -1
  402. package/dist/chunks/dialog-BZst9i2z.mjs.map +0 -1
  403. package/dist/chunks/dialog-DScyxkX9.cjs.map +0 -1
  404. package/dist/chunks/drawer-B0V7RUHx.mjs.map +0 -1
  405. package/dist/chunks/drawer-B_x2aMuz.cjs.map +0 -1
  406. package/dist/chunks/form-CU_CjV-_.cjs.map +0 -1
  407. package/dist/chunks/form-D-vLjhyP.mjs.map +0 -1
  408. package/dist/chunks/hover-card-CjL7A_V7.cjs.map +0 -1
  409. package/dist/chunks/hover-card-D5Plwh1g.mjs.map +0 -1
  410. package/dist/chunks/icons-BquccnYa.mjs.map +0 -1
  411. package/dist/chunks/icons-CaNIzMf3.cjs.map +0 -1
  412. package/dist/chunks/input-CS0g1cov.mjs.map +0 -1
  413. package/dist/chunks/input-DuoEJayD.cjs.map +0 -1
  414. package/dist/chunks/multi-select-combobox-K05MPFbH.mjs.map +0 -1
  415. package/dist/chunks/multi-select-combobox-k4_oScfn.cjs.map +0 -1
  416. package/dist/chunks/otp-input-B8eJz1Lq.cjs.map +0 -1
  417. package/dist/chunks/otp-input-rtXD2QuM.mjs.map +0 -1
  418. package/dist/chunks/password-strength-meter-DOsRacP5.mjs.map +0 -1
  419. package/dist/chunks/password-strength-meter-DkVmfmn3.cjs.map +0 -1
  420. package/dist/chunks/progress-bar-BXFJbnIc.cjs.map +0 -1
  421. package/dist/chunks/progress-bar-RwwgUpK7.mjs.map +0 -1
  422. package/dist/chunks/select-BOer92kh.cjs.map +0 -1
  423. package/dist/chunks/select-RierVpX6.mjs.map +0 -1
  424. package/dist/chunks/skeleton-9q1lJV-B.cjs.map +0 -1
  425. package/dist/chunks/skeleton-DGzckoX9.mjs.map +0 -1
  426. package/dist/chunks/spotlight-card-BYF6TQ-U.cjs.map +0 -1
  427. package/dist/chunks/spotlight-card-kU-Y9bok.mjs.map +0 -1
  428. package/dist/chunks/stepper-6vnY3bgc.cjs.map +0 -1
  429. package/dist/chunks/stepper-sjBOMByt.mjs.map +0 -1
  430. package/dist/chunks/sun-to-moon-button-CB_Tkz5X.cjs +0 -192
  431. package/dist/chunks/sun-to-moon-button-CB_Tkz5X.cjs.map +0 -1
  432. package/dist/chunks/sun-to-moon-button-DvlHYqmk.mjs +0 -186
  433. package/dist/chunks/sun-to-moon-button-DvlHYqmk.mjs.map +0 -1
  434. package/dist/chunks/switch-BBg9E9Wa.mjs.map +0 -1
  435. package/dist/chunks/switch-CJurCzZO.cjs.map +0 -1
  436. package/dist/chunks/textarea-BEIHilZr.mjs.map +0 -1
  437. package/dist/chunks/textarea-C2T9xqFe.cjs.map +0 -1
  438. package/dist/chunks/theme-7DWLxJK_.cjs.map +0 -1
  439. package/dist/chunks/theme-BceKeYhw.mjs.map +0 -1
  440. package/dist/chunks/toast-7HcN4-uL.mjs.map +0 -1
  441. package/dist/chunks/toast-B-mjpllA.cjs.map +0 -1
  442. package/dist/chunks/tooltip-CHQwSgOT.cjs.map +0 -1
  443. package/dist/chunks/tooltip-DMcXN6Ff.mjs.map +0 -1
  444. package/dist/chunks/typography-BddjVdZH.mjs.map +0 -1
  445. package/dist/chunks/typography-DLGuS_eJ.cjs.map +0 -1
package/README.md CHANGED
@@ -53,7 +53,7 @@ In your global stylesheet:
53
53
 
54
54
  That single import already loads the packaged colors, fonts, foundations, and generated Tailwind v4 tokens. You do not need a local Tailwind theme extension just to use the library palette.
55
55
 
56
- Prefer the semantic utilities and `--ds-*` tokens in new code. The older `--color-*` and `primary-*` aliases are still shipped as a migration surface, not as the preferred authoring API.
56
+ Use DS-only tokens and utilities in new code. The official contract is `--ds-*` plus DS utility classes (for example `text-ds-1`, `bg-ds-surface-1`, `border-ds-border-2`).
57
57
 
58
58
  If you only want the raw design tokens without the Tailwind bridge, import the internal token layer directly instead:
59
59
 
@@ -117,7 +117,7 @@ If you use Next.js, import `erp-pro-ui/styles.css` from your app-level global st
117
117
 
118
118
  The library now ships a two-layer theme contract so another project can use the same tokens without copying theme config:
119
119
 
120
- - `erp-pro-ui/tokens.css`: raw `--ds-*` tokens plus compatibility CSS variables
120
+ - `erp-pro-ui/tokens.css`: raw `--ds-*` tokens
121
121
  - `erp-pro-ui/colors.css`: Tailwind v4 `@theme` bridge that generates semantic utilities
122
122
  - `erp-pro-ui/styles.css`: full package stylesheet, including fonts, tokens, bridge, foundations, and animations
123
123
 
@@ -128,22 +128,22 @@ After importing `erp-pro-ui/styles.css` or `erp-pro-ui/colors.css`, you can use
128
128
  ```tsx
129
129
  export function ThemePreview() {
130
130
  return (
131
- <section className="bg-surface text-fg border border-border rounded-2xl p-6 shadow-2 font-sans">
132
- <h2 className="text-accent text-2xl font-semibold">
131
+ <section className="bg-ds-surface-1 text-ds-1 border border-ds-border-2 rounded-2xl p-6 shadow-2 font-sans">
132
+ <h2 className="text-ds-1 text-2xl font-semibold">
133
133
  Semantic theme utilities
134
134
  </h2>
135
- <p className="text-fg-muted">
135
+ <p className="text-ds-2">
136
136
  These classes come from erp-pro-ui. No local Tailwind theme extension is
137
137
  required.
138
138
  </p>
139
139
  <div className="mt-4 flex gap-3">
140
- <span className="bg-accent text-on-accent rounded-full px-3 py-1">
140
+ <span className="bg-ds-accent text-ds-on-accent rounded-full px-3 py-1">
141
141
  Accent
142
142
  </span>
143
- <span className="bg-accent-subtle text-accent rounded-full px-3 py-1">
143
+ <span className="bg-ds-accent-subtle text-ds-1 rounded-full px-3 py-1">
144
144
  Accent Subtle
145
145
  </span>
146
- <span className="bg-success-subtle text-success rounded-full px-3 py-1">
146
+ <span className="bg-ds-state-success-surface text-ds-state-success-text rounded-full px-3 py-1">
147
147
  Success
148
148
  </span>
149
149
  </div>
@@ -207,21 +207,99 @@ import { BarChart, getChartColorVar } from "erp-pro-ui";
207
207
  The token system is split into stable layers:
208
208
 
209
209
  - Internal design-system tokens: `--ds-*`
210
- - Semantic utility aliases: `bg-surface`, `text-fg`, `border-border`, `bg-accent`, `text-on-accent`, `outline-focus`
211
- - Compatibility color variables: `--color-primary`, `--color-background-primary`, `--color-text-primary`, and the existing `primary-50` through `primary-900` theme scale
212
-
213
- For new components, use the semantic utility layer or the `--ds-*` variables directly. Keep the compatibility aliases for migration work and external consumers that still rely on the legacy contract.
210
+ - DS utility classes: `bg-ds-surface-1`, `text-ds-1`, `border-ds-border-2`, `bg-ds-accent`, `text-ds-on-accent`, `ring-ds-focus`
211
+ - Raw DS tokens: `--ds-surface-*`, `--ds-text-*`, `--ds-border-*`, `--ds-color-*`
212
+
213
+ ### Token contract rules
214
+
215
+ Use these rules to keep theming simple and predictable across apps:
216
+
217
+ - Edit theme values only in `tokens.css` brand/mode/variant blocks (`data-brand`, `data-mode`, `data-variant`).
218
+ - Use DS utility classes in component markup (`text-ds-*`, `bg-ds-*`, `border-ds-*`).
219
+ - Do not re-introduce legacy utility aliases (`text-foreground`, `text-muted-foreground`, `text-accent`, `bg-background*`).
220
+ - Do not use raw `text-[var(...)]`, `bg-[var(...)]`, `border-[var(...)]` utility classes in components.
221
+ - Keep official brand presets hue-first: `purple`, `teal`, `yellow`, `green`.
222
+
223
+ Single rule for theming:
224
+
225
+ - If you want a different UI color, update the matching `--ds-*` token in the correct theme block. Do not hardcode color values in components.
226
+
227
+ ### Token priority and quick groups
228
+
229
+ Priority order (top to bottom):
230
+
231
+ 1. Global foundation defaults (`:root` / `:host`)
232
+ 2. Global mode overrides (dark/light + system fallback)
233
+ 3. Brand accent scales (`purple` / `teal` / `yellow` / `green`)
234
+ 4. Brand + mode surface/text/border overrides
235
+ 5. Global variant overrides (`light-alt` / `dark-alt`)
236
+
237
+ When debugging a color:
238
+
239
+ - Check `--ds-surface-*` (background layers)
240
+ - Check `--ds-text-*` (text hierarchy)
241
+ - Check `--ds-border-*` (border hierarchy)
242
+ - Check `--ds-accent-*` (brand accents)
243
+
244
+ Quick groups:
245
+
246
+ - `--ds-surface-*`: background layers
247
+ - `--ds-surface-canvas`: main app/page background
248
+ - `--ds-surface-1`: default card/panel background on top of canvas
249
+ - `--ds-surface-2`: elevated background (modal/popover/raised panel)
250
+ - `--ds-text-*`: text hierarchy
251
+ - `--ds-text-1`: primary text (titles, key content)
252
+ - `--ds-text-2`: secondary text (supporting labels/metadata)
253
+ - `--ds-text-3`: tertiary text (hints/helper/low emphasis)
254
+ - `--ds-border-*`: border hierarchy
255
+ - `--ds-border-1`: strongest border
256
+ - `--ds-border-2`: default border
257
+ - `--ds-border-3`: subtle border
258
+ - `--ds-border-field`: input border
259
+ - `--ds-accent-*`: brand accent scale
260
+ - `--ds-accent-50..900`: light to dark scale
261
+ - `--ds-accent`: active accent for CTA/active states
262
+ - `--ds-accent-contrast`: text/icon color on accent backgrounds
263
+ - `--ds-color-*`: semantic derived tokens
264
+ - `--ds-color-bg-*`: semantic backgrounds
265
+ - `--ds-color-fg*`: semantic text
266
+ - `--ds-color-border*`: semantic borders
267
+ - `--ds-color-accent*`: interaction/brand states
268
+ - status tokens: success, warning, danger, info, disabled
214
269
 
215
270
  ### Theme switching
216
271
 
217
- If you use `ThemeProvider`, the library updates `data-brand` and `data-mode` for you. It still writes the old `data-theme` attribute for compatibility, but the new architecture treats brand and mode as separate axes.
272
+ If you use `ThemeProvider`, the library updates `data-brand`, `data-mode`, and `data-variant` for you.
218
273
 
219
274
  If you do not use `ThemeProvider`, you can still switch manually in your app shell:
220
275
 
221
276
  ```html
222
- <html data-brand="teal" data-mode="dark"></html>
277
+ <html data-brand="teal" data-mode="light" data-variant="alt"></html>
223
278
  ```
224
279
 
280
+ Quick mental model:
281
+
282
+ - `data-brand` controls accent family and brand-specific palette.
283
+ - `data-mode` controls light/dark surface, text, and border foundations.
284
+ - `data-variant` controls which foundation variant to use (`default` or `alt`) in both light and dark modes.
285
+ - `data-dark-variant` remains supported temporarily as a compatibility alias during migration.
286
+ - Components consume semantic tokens, so they update automatically.
287
+
288
+ ### Brand palette presets (light + dark)
289
+
290
+ The shipped token presets include a tinted SaaS surface system for each brand. When you switch brand, mode, or variant, semantic tokens (`bg-ds-surface-1`, `text-ds-1`, `border-ds-border-2`) update automatically. Both `light-alt` and `dark-alt` use shared foundations while each brand keeps its own accent family.
291
+
292
+ | Brand preset | Light default canvas / surface / stroke / text | Light alt canvas / surface / stroke | Dark default canvas / surface / stroke / text | Dark alt canvas / surface / stroke |
293
+ | ------------ | ---------------------------------------------- | ----------------------------------- | --------------------------------------------- | ---------------------------------- |
294
+ | `purple` | `#F4F7FE` / `#FFFFFF` / `#E9EDF7` / `#2B3674` | `#F4F7FE` / `#FEFEFF` / `#A3AED0` | `#0A0B1C` / `#161936` / `#2B308B` / `#EFF4FB` | `#0F111A` / `#1A1D29` / `#2D3748` |
295
+ | `teal` | `#F0F9FA` / `#FFFFFF` / `#D1E9ED` / `#134E48` | `#F4F7FE` / `#FEFEFF` / `#A3AED0` | `#061113` / `#0E2529` / `#1A4D57` / `#E0F2F1` | `#0F111A` / `#1A1D29` / `#2D3748` |
296
+ | `yellow` | `#FEFCE8` / `#FFFFFF` / `#FEF08A` / `#854D0E` | `#F4F7FE` / `#FEFEFF` / `#A3AED0` | `#121002` / `#241D05` / `#4D3D02` / `#FEF9C3` | `#0F111A` / `#1A1D29` / `#2D3748` |
297
+ | `green` | `#F0FDF4` / `#FFFFFF` / `#DCFCE7` / `#064E3B` | `#F4F7FE` / `#FEFEFF` / `#A3AED0` | `#020C09` / `#06241B` / `#065F46` / `#D1FAE5` | `#0F111A` / `#1A1D29` / `#2D3748` |
298
+
299
+ You can target these via:
300
+
301
+ - `data-brand="purple|teal|yellow|green"` + `data-mode="light|dark"` + optional `data-variant="default|alt"`
302
+
225
303
  ## Import Patterns
226
304
 
227
305
  Use whichever public import style fits your project.
@@ -447,19 +525,20 @@ The tables below document the public surface you can use from another project.
447
525
 
448
526
  ### Data Display And Charts
449
527
 
450
- | Export | Subpath | Use it for |
451
- | ----------------------------------------------------------------- | -------------------------- | ------------------------------------------------- |
452
- | `Card` | `erp-pro-ui/card` | Panel and container layout |
453
- | `Chip` | `erp-pro-ui/chip` | Tags, status pills, and labels |
454
- | `ColorPalette` | `erp-pro-ui/color-palette` | Design token or palette presentation |
455
- | `DataTable` | `erp-pro-ui/data-table` | Feature-rich tables with filtering and pagination |
456
- | `FilterDropdown`, `FilterButton`, `ColumnToggle`, `FilterProfile` | `erp-pro-ui/data-table` | DataTable helper building blocks |
457
- | `AreaChart` | `erp-pro-ui/charts` | Area chart visualizations |
458
- | `BarChart` | `erp-pro-ui/charts` | Bar chart visualizations |
459
- | `PieChart` | `erp-pro-ui/charts` | Pie and donut charts |
460
- | `NeonLineChart` | `erp-pro-ui/charts` | Glowing line charts |
461
- | `StackedBarChart` | `erp-pro-ui/charts` | Stacked comparisons |
462
- | `ThinBreakdownBar` | `erp-pro-ui/charts` | Compact segmented metric bars |
528
+ | Export | Subpath | Use it for |
529
+ | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------- |
530
+ | `Card` | `erp-pro-ui/card` | Panel and container layout |
531
+ | `Chip` | `erp-pro-ui/chip` | Tags, status pills, and labels |
532
+ | `ColorPalette` | `erp-pro-ui/color-palette` | Design token or palette presentation |
533
+ | `DataTable` | `erp-pro-ui/data-table` | Feature-rich tables with filtering and pagination |
534
+ | `FilterDropdown`, `FilterButton`, `ColumnToggle`, `FilterProfile` | `erp-pro-ui/data-table` | DataTable helper building blocks |
535
+ | `TableContainer`, `Table`, `TableHeader`, `TableBody`, `TableFooter`, `TableRow`, `TableHead`, `TableCell`, `TableCaption` | `erp-pro-ui/data-table` | Composable table primitives with style control |
536
+ | `AreaChart` | `erp-pro-ui/charts` | Area chart visualizations |
537
+ | `BarChart` | `erp-pro-ui/charts` | Bar chart visualizations |
538
+ | `PieChart` | `erp-pro-ui/charts` | Pie and donut charts |
539
+ | `NeonLineChart` | `erp-pro-ui/charts` | Glowing line charts |
540
+ | `StackedBarChart` | `erp-pro-ui/charts` | Stacked comparisons |
541
+ | `ThinBreakdownBar` | `erp-pro-ui/charts` | Compact segmented metric bars |
463
542
 
464
543
  ### Visual Effects And Text Components
465
544
 
@@ -527,6 +606,36 @@ const rows = [
527
606
  <DataTable columns={columns} data={rows} searchPlaceholder="Search users" />;
528
607
  ```
529
608
 
609
+ ### Composable table primitives
610
+
611
+ ```tsx
612
+ import {
613
+ Table,
614
+ TableBody,
615
+ TableCaption,
616
+ TableCell,
617
+ TableHead,
618
+ TableHeader,
619
+ TableRow,
620
+ } from "erp-pro-ui";
621
+
622
+ <Table>
623
+ <TableCaption>Quarterly summary</TableCaption>
624
+ <TableHeader>
625
+ <TableRow>
626
+ <TableHead>Name</TableHead>
627
+ <TableHead>Role</TableHead>
628
+ </TableRow>
629
+ </TableHeader>
630
+ <TableBody>
631
+ <TableRow>
632
+ <TableCell>Ava Stone</TableCell>
633
+ <TableCell>Admin</TableCell>
634
+ </TableRow>
635
+ </TableBody>
636
+ </Table>;
637
+ ```
638
+
530
639
  ### Charts
531
640
 
532
641
  ```tsx
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_accordion = require("./chunks/accordion-CxJYq_6x.cjs");
2
+ const require_accordion = require("./chunks/accordion-CmB6EidC.cjs");
3
3
  exports.Accordion = require_accordion.Accordion;
@@ -1,2 +1,2 @@
1
- import { t as Accordion } from "./chunks/accordion-Dwm6yH0C.mjs";
1
+ import { t as Accordion } from "./chunks/accordion-6zxJUYXr.mjs";
2
2
  export { Accordion };
package/dist/alert.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_alert = require("./chunks/alert-Cc-jD7qn.cjs");
2
+ const require_alert = require("./chunks/alert-C5KEeQqh.cjs");
3
3
  exports.Alert = require_alert.Alert;
package/dist/alert.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Alert } from "./chunks/alert-BJWReBBk.mjs";
1
+ import { t as Alert } from "./chunks/alert-XVmYJgds.mjs";
2
2
  export { Alert };
@@ -23,8 +23,8 @@
23
23
  width: var(--size);
24
24
  background: linear-gradient(
25
25
  to left,
26
- var(--color-from),
27
- var(--color-to),
26
+ var(--beam-color-from),
27
+ var(--beam-color-to),
28
28
  transparent
29
29
  );
30
30
  offset-anchor: calc(var(--anchor) * 1%) 50%;
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_ascii_text = require("./chunks/ascii-text-Bh4HjIrL.cjs");
2
+ const require_ascii_text = require("./chunks/ascii-text-BP-BBy0-.cjs");
3
3
  exports.ASCIIText = require_ascii_text.ASCIIText;
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_background_gradient_animation = require("./chunks/background-gradient-animation-C0jV3b6l.cjs");
2
+ const require_background_gradient_animation = require("./chunks/background-gradient-animation-II9hdrgB.cjs");
3
3
  exports.BackgroundGradientAnimation = require_background_gradient_animation.BackgroundGradientAnimation;
4
4
  exports.BackgroundGradientAnimationDemo = require_background_gradient_animation.BackgroundGradientAnimationDemo;
@@ -1,2 +1,2 @@
1
- import { n as BackgroundGradientAnimation, t as BackgroundGradientAnimationDemo } from "./chunks/background-gradient-animation-BNztOaAL.mjs";
1
+ import { n as BackgroundGradientAnimation, t as BackgroundGradientAnimationDemo } from "./chunks/background-gradient-animation-DpKJ3ecq.mjs";
2
2
  export { BackgroundGradientAnimation, BackgroundGradientAnimationDemo };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_button_hover_border_gradient = require("./chunks/button-hover-border-gradient-B_JuE939.cjs");
2
+ const require_button_hover_border_gradient = require("./chunks/button-hover-border-gradient-DX2lBG5C.cjs");
3
3
  exports.ButtonHoverBorderGradient = require_button_hover_border_gradient.ButtonHoverBorderGradient;
@@ -1,2 +1,2 @@
1
- import { t as ButtonHoverBorderGradient } from "./chunks/button-hover-border-gradient-TmQPZyYW.mjs";
1
+ import { t as ButtonHoverBorderGradient } from "./chunks/button-hover-border-gradient-DFppVRI4.mjs";
2
2
  export { ButtonHoverBorderGradient };
package/dist/button.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_button = require("./chunks/button-sVzhc451.cjs");
2
+ const require_button = require("./chunks/button-xqernofO.cjs");
3
3
  exports.Button = require_button.Button;
package/dist/button.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Button } from "./chunks/button-NwWcZaCl.mjs";
1
+ import { t as Button } from "./chunks/button-DddUhuR-.mjs";
2
2
  export { Button };
package/dist/calendar.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_calendar = require("./chunks/calendar-B8yy-7Se.cjs");
2
+ const require_calendar = require("./chunks/calendar-DuCKr6b7.cjs");
3
3
  exports.Calendar = require_calendar.Calendar;
package/dist/calendar.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Calendar } from "./chunks/calendar-wZGU7o1B.mjs";
1
+ import { t as Calendar } from "./chunks/calendar-Cp84V2rY.mjs";
2
2
  export { Calendar };
package/dist/card.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_card = require("./chunks/card-CAzOcjaC.cjs");
2
+ const require_card = require("./chunks/card-CqPDr6Tt.cjs");
3
3
  exports.Card = require_card.Card;
package/dist/card.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Card } from "./chunks/card-BOTJSO1o.mjs";
1
+ import { t as Card } from "./chunks/card-SpHHNB0c.mjs";
2
2
  export { Card };
package/dist/carousel.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_carousel = require("./chunks/carousel-Crpz33XV.cjs");
2
+ const require_carousel = require("./chunks/carousel-YlRLOGkM.cjs");
3
3
  exports.Carousel = require_carousel.Carousel;
package/dist/carousel.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Carousel } from "./chunks/carousel-BCMk0v5p.mjs";
1
+ import { t as Carousel } from "./chunks/carousel-C1skQ65z.mjs";
2
2
  export { Carousel };
package/dist/charts.cjs CHANGED
@@ -1,7 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_charts = require("./chunks/charts-D1pdxSiu.cjs");
2
+ const require_charts = require("./chunks/charts-CZEYcr6X.cjs");
3
3
  exports.AreaChart = require_charts.AreaChart;
4
4
  exports.BarChart = require_charts.BarChart;
5
+ exports.MiniNeonSparkline = require_charts.MiniNeonSparkline;
5
6
  exports.NeonLineChart = require_charts.NeonLineChart;
6
7
  exports.PieChart = require_charts.PieChart;
7
8
  exports.PositiveNegativeBarChart = require_charts.PositiveNegativeBarChart;
package/dist/charts.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as ThinBreakdownBar, c as chartColorTokens, i as AreaChart, l as getChartColorVar, n as PositiveNegativeBarChart, o as StackedBarChart, r as BarChart, s as NeonLineChart, t as PieChart, u as getChartPalette } from "./chunks/charts-9OPShAea.mjs";
2
- export { AreaChart, BarChart, NeonLineChart, PieChart, PositiveNegativeBarChart, StackedBarChart, ThinBreakdownBar, chartColorTokens, getChartColorVar, getChartPalette };
1
+ import { a as ThinBreakdownBar, c as NeonLineChart, d as getChartPalette, i as AreaChart, l as chartColorTokens, n as PositiveNegativeBarChart, o as StackedBarChart, r as BarChart, s as MiniNeonSparkline, t as PieChart, u as getChartColorVar } from "./chunks/charts-C-Qee_JY.mjs";
2
+ export { AreaChart, BarChart, MiniNeonSparkline, NeonLineChart, PieChart, PositiveNegativeBarChart, StackedBarChart, ThinBreakdownBar, chartColorTokens, getChartColorVar, getChartPalette };
package/dist/checkbox.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_checkbox = require("./chunks/checkbox-BakVQmue.cjs");
2
+ const require_checkbox = require("./chunks/checkbox-NM_iPd6S.cjs");
3
3
  exports.Checkbox = require_checkbox.Checkbox;
package/dist/checkbox.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Checkbox } from "./chunks/checkbox-C9NrpH_Q.mjs";
1
+ import { t as Checkbox } from "./chunks/checkbox-DjGpvMyo.mjs";
2
2
  export { Checkbox };
package/dist/chip.cjs CHANGED
@@ -1,3 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_chip = require("./chunks/chip-Dc2Sm3Ng.cjs");
2
+ const require_chip = require("./chunks/chip-BY83_HK7.cjs");
3
3
  exports.Chip = require_chip.Chip;
4
+ exports.SplitChip = require_chip.SplitChip;
5
+ exports.StatusDotChip = require_chip.StatusDotChip;
package/dist/chip.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Chip } from "./chunks/chip-BN0aOUa-.mjs";
2
- export { Chip };
1
+ import { n as StatusDotChip, r as Chip, t as SplitChip } from "./chunks/chip-CbO8-1lK.mjs";
2
+ export { Chip, SplitChip, StatusDotChip };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_chroma_grid = require("./chunks/chroma-grid-8p5tntYr.cjs");
2
+ const require_chroma_grid = require("./chunks/chroma-grid-DP__XtmV.cjs");
3
3
  exports.ChromaGrid = require_chroma_grid.ChromaGrid;
@@ -1,2 +1,2 @@
1
- import { t as ChromaGrid } from "./chunks/chroma-grid-BF9SlWxA.mjs";
1
+ import { t as ChromaGrid } from "./chunks/chroma-grid-CexX28VQ.mjs";
2
2
  export { ChromaGrid };
@@ -5,12 +5,12 @@ let react_jsx_runtime = require("react/jsx-runtime");
5
5
  let framer_motion = require("framer-motion");
6
6
  //#region src/components/effects/hover-border-gradient/HoverBorderGradient.tsx
7
7
  var movingMap = {
8
- TOP: "radial-gradient(50.7% 50% at 50% 0%, var(--color-hover-gradient) 0%, transparent 100%)",
9
- LEFT: "radial-gradient(25.6% 43.1% at 0% 50%, var(--color-hover-gradient) 0%, transparent 100%)",
10
- BOTTOM: "radial-gradient(50.7% 50% at 50% 100%, var(--color-hover-gradient) 0%, transparent 100%)",
11
- RIGHT: "radial-gradient(25.2% 41% at 100% 50%, var(--color-hover-gradient) 0%, transparent 100%)"
8
+ TOP: "radial-gradient(50.7% 50% at 50% 0%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
9
+ LEFT: "radial-gradient(25.6% 43.1% at 0% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
10
+ BOTTOM: "radial-gradient(50.7% 50% at 50% 100%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
11
+ RIGHT: "radial-gradient(25.2% 41% at 100% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)"
12
12
  };
13
- var highlight = `radial-gradient(85% 181% at 50% 50%, var(--color-hover-gradient) 0%, transparent 100%)`;
13
+ var highlight = `radial-gradient(85% 181% at 50% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)`;
14
14
  function HoverBorderGradient({ containerClassName, className, duration = 1, clockwise = true, children, ...props }) {
15
15
  const [hovered, setHovered] = (0, react.useState)(false);
16
16
  const [direction, setDirection] = (0, react.useState)("TOP");
@@ -42,10 +42,10 @@ function HoverBorderGradient({ containerClassName, className, duration = 1, cloc
42
42
  type: "button",
43
43
  onMouseEnter: handleMouseEnter,
44
44
  onMouseLeave: handleMouseLeave,
45
- className: require_utils.mergeClassNames("relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-neutral-300 dark:border-white/10 p-px transition duration-500", containerClassName),
45
+ className: require_utils.mergeClassNames("relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-ds-border-2 p-px transition duration-500", containerClassName),
46
46
  ...props,
47
47
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
48
- className: require_utils.mergeClassNames("bg-white dark:bg-neutral-900 text-neutral-900 dark:text-white z-10 w-auto rounded-[inherit] px-4 py-2", className),
48
+ className: require_utils.mergeClassNames("bg-ds-surface-1 text-ds-1 z-10 w-auto rounded-[inherit] px-4 py-2", className),
49
49
  children
50
50
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
51
51
  className: require_utils.mergeClassNames("absolute inset-0 z-0 flex-none overflow-hidden rounded-[inherit]"),
@@ -72,4 +72,4 @@ Object.defineProperty(exports, "HoverBorderGradient", {
72
72
  }
73
73
  });
74
74
 
75
- //# sourceMappingURL=HoverBorderGradient-DaduPpj-.cjs.map
75
+ //# sourceMappingURL=HoverBorderGradient-C5D6lGg0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverBorderGradient-C5D6lGg0.cjs","names":[],"sources":["../../src/components/effects/hover-border-gradient/HoverBorderGradient.tsx"],"sourcesContent":["import { mergeClassNames } from \"../../../utils\";\nimport { motion } from \"framer-motion\";\nimport { useCallback, useEffect, useState } from \"react\";\n\ntype Direction = \"TOP\" | \"LEFT\" | \"BOTTOM\" | \"RIGHT\";\n\ntype HoverBorderGradientProps =\n React.ButtonHTMLAttributes<HTMLButtonElement> & {\n containerClassName?: string;\n className?: string;\n duration?: number;\n clockwise?: boolean;\n children?: React.ReactNode;\n };\n\nconst movingMap: Record<Direction, string> = {\n TOP: \"radial-gradient(50.7% 50% at 50% 0%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n LEFT: \"radial-gradient(25.6% 43.1% at 0% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n BOTTOM:\n \"radial-gradient(50.7% 50% at 50% 100%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n RIGHT:\n \"radial-gradient(25.2% 41% at 100% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n};\n\nconst highlight = `radial-gradient(85% 181% at 50% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)`;\n\nexport function HoverBorderGradient({\n containerClassName,\n className,\n duration = 1,\n clockwise = true,\n children,\n ...props\n}: HoverBorderGradientProps) {\n const [hovered, setHovered] = useState(false);\n const [direction, setDirection] = useState<Direction>(\"TOP\");\n\n const rotateDirection = useCallback(\n (current: Direction): Direction => {\n const directions: Direction[] = [\"TOP\", \"LEFT\", \"BOTTOM\", \"RIGHT\"];\n const index = directions.indexOf(current);\n const nextIndex = clockwise\n ? (index - 1 + directions.length) % directions.length\n : (index + 1) % directions.length;\n return directions[nextIndex];\n },\n [clockwise],\n );\n\n useEffect(() => {\n if (!hovered) {\n const interval = setInterval(() => {\n setDirection((prevState) => rotateDirection(prevState));\n }, duration * 1000);\n return () => clearInterval(interval);\n }\n }, [hovered, duration, rotateDirection]);\n\n const handleMouseEnter = () => setHovered(true);\n const handleMouseLeave = () => setHovered(false);\n\n return (\n <button\n type=\"button\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={mergeClassNames(\n \"relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-ds-border-2 p-px transition duration-500\",\n containerClassName,\n )}\n {...props}\n >\n <div\n className={mergeClassNames(\n \"bg-ds-surface-1 text-ds-1 z-10 w-auto rounded-[inherit] px-4 py-2\",\n className,\n )}\n >\n {children}\n </div>\n <motion.div\n className={mergeClassNames(\n \"absolute inset-0 z-0 flex-none overflow-hidden rounded-[inherit]\",\n )}\n style={{\n filter: \"blur(2px)\",\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n }}\n initial={{ background: movingMap[direction] }}\n animate={{\n background: hovered\n ? [movingMap[direction], highlight]\n : movingMap[direction],\n }}\n transition={{ ease: \"linear\", duration: duration ?? 1 }}\n />\n </button>\n );\n}\n"],"mappings":";;;;;;AAeA,IAAM,YAAuC;CAC3C,KAAK;CACL,MAAM;CACN,QACE;CACF,OACE;CACH;AAED,IAAM,YAAY;AAElB,SAAgB,oBAAoB,EAClC,oBACA,WACA,WAAW,GACX,YAAY,MACZ,UACA,GAAG,SACwB;CAC3B,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,UAAuB,MAAM;CAC7C,MAAM,CAAC,WAAW,iBAAA,GAAA,MAAA,UAAoC,MAAM;CAE5D,MAAM,mBAAA,GAAA,MAAA,cACH,YAAkC;EACjC,MAAM,aAA0B;GAAC;GAAO;GAAQ;GAAU;GAAQ;EAClE,MAAM,QAAQ,WAAW,QAAQ,QAAQ;AAIzC,SAAO,WAHW,aACb,QAAQ,IAAI,WAAW,UAAU,WAAW,UAC5C,QAAQ,KAAK,WAAW;IAG/B,CAAC,UAAU,CACZ;AAED,EAAA,GAAA,MAAA,iBAAgB;AACd,MAAI,CAAC,SAAS;GACZ,MAAM,WAAW,kBAAkB;AACjC,kBAAc,cAAc,gBAAgB,UAAU,CAAC;MACtD,WAAW,IAAK;AACnB,gBAAa,cAAc,SAAS;;IAErC;EAAC;EAAS;EAAU;EAAgB,CAAC;CAExC,MAAM,yBAAyB,WAAW,KAAK;CAC/C,MAAM,yBAAyB,WAAW,MAAM;AAEhD,QACE,iBAAA,GAAA,kBAAA,MAAC,UAAD;EACE,MAAK;EACL,cAAc;EACd,cAAc;EACd,WAAW,cAAA,gBACT,uLACA,mBACD;EACD,GAAI;YARN,CAUE,iBAAA,GAAA,kBAAA,KAAC,OAAD;GACE,WAAW,cAAA,gBACT,qEACA,UACD;GAEA;GACG,CAAA,EACN,iBAAA,GAAA,kBAAA,KAAC,cAAA,OAAO,KAAR;GACE,WAAW,cAAA,gBACT,mEACD;GACD,OAAO;IACL,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACT;GACD,SAAS,EAAE,YAAY,UAAU,YAAY;GAC7C,SAAS,EACP,YAAY,UACR,CAAC,UAAU,YAAY,UAAU,GACjC,UAAU,YACf;GACD,YAAY;IAAE,MAAM;IAAU,UAAU,YAAY;IAAG;GACvD,CAAA,CACK"}
@@ -4,12 +4,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { motion } from "framer-motion";
5
5
  //#region src/components/effects/hover-border-gradient/HoverBorderGradient.tsx
6
6
  var movingMap = {
7
- TOP: "radial-gradient(50.7% 50% at 50% 0%, var(--color-hover-gradient) 0%, transparent 100%)",
8
- LEFT: "radial-gradient(25.6% 43.1% at 0% 50%, var(--color-hover-gradient) 0%, transparent 100%)",
9
- BOTTOM: "radial-gradient(50.7% 50% at 50% 100%, var(--color-hover-gradient) 0%, transparent 100%)",
10
- RIGHT: "radial-gradient(25.2% 41% at 100% 50%, var(--color-hover-gradient) 0%, transparent 100%)"
7
+ TOP: "radial-gradient(50.7% 50% at 50% 0%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
8
+ LEFT: "radial-gradient(25.6% 43.1% at 0% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
9
+ BOTTOM: "radial-gradient(50.7% 50% at 50% 100%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
10
+ RIGHT: "radial-gradient(25.2% 41% at 100% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)"
11
11
  };
12
- var highlight = `radial-gradient(85% 181% at 50% 50%, var(--color-hover-gradient) 0%, transparent 100%)`;
12
+ var highlight = `radial-gradient(85% 181% at 50% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)`;
13
13
  function HoverBorderGradient({ containerClassName, className, duration = 1, clockwise = true, children, ...props }) {
14
14
  const [hovered, setHovered] = useState(false);
15
15
  const [direction, setDirection] = useState("TOP");
@@ -41,10 +41,10 @@ function HoverBorderGradient({ containerClassName, className, duration = 1, cloc
41
41
  type: "button",
42
42
  onMouseEnter: handleMouseEnter,
43
43
  onMouseLeave: handleMouseLeave,
44
- className: mergeClassNames("relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-neutral-300 dark:border-white/10 p-px transition duration-500", containerClassName),
44
+ className: mergeClassNames("relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-ds-border-2 p-px transition duration-500", containerClassName),
45
45
  ...props,
46
46
  children: [/* @__PURE__ */ jsx("div", {
47
- className: mergeClassNames("bg-white dark:bg-neutral-900 text-neutral-900 dark:text-white z-10 w-auto rounded-[inherit] px-4 py-2", className),
47
+ className: mergeClassNames("bg-ds-surface-1 text-ds-1 z-10 w-auto rounded-[inherit] px-4 py-2", className),
48
48
  children
49
49
  }), /* @__PURE__ */ jsx(motion.div, {
50
50
  className: mergeClassNames("absolute inset-0 z-0 flex-none overflow-hidden rounded-[inherit]"),
@@ -66,4 +66,4 @@ function HoverBorderGradient({ containerClassName, className, duration = 1, cloc
66
66
  //#endregion
67
67
  export { HoverBorderGradient as t };
68
68
 
69
- //# sourceMappingURL=HoverBorderGradient-DYXhtPWs.mjs.map
69
+ //# sourceMappingURL=HoverBorderGradient-CduqqQgX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverBorderGradient-CduqqQgX.mjs","names":[],"sources":["../../src/components/effects/hover-border-gradient/HoverBorderGradient.tsx"],"sourcesContent":["import { mergeClassNames } from \"../../../utils\";\nimport { motion } from \"framer-motion\";\nimport { useCallback, useEffect, useState } from \"react\";\n\ntype Direction = \"TOP\" | \"LEFT\" | \"BOTTOM\" | \"RIGHT\";\n\ntype HoverBorderGradientProps =\n React.ButtonHTMLAttributes<HTMLButtonElement> & {\n containerClassName?: string;\n className?: string;\n duration?: number;\n clockwise?: boolean;\n children?: React.ReactNode;\n };\n\nconst movingMap: Record<Direction, string> = {\n TOP: \"radial-gradient(50.7% 50% at 50% 0%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n LEFT: \"radial-gradient(25.6% 43.1% at 0% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n BOTTOM:\n \"radial-gradient(50.7% 50% at 50% 100%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n RIGHT:\n \"radial-gradient(25.2% 41% at 100% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n};\n\nconst highlight = `radial-gradient(85% 181% at 50% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)`;\n\nexport function HoverBorderGradient({\n containerClassName,\n className,\n duration = 1,\n clockwise = true,\n children,\n ...props\n}: HoverBorderGradientProps) {\n const [hovered, setHovered] = useState(false);\n const [direction, setDirection] = useState<Direction>(\"TOP\");\n\n const rotateDirection = useCallback(\n (current: Direction): Direction => {\n const directions: Direction[] = [\"TOP\", \"LEFT\", \"BOTTOM\", \"RIGHT\"];\n const index = directions.indexOf(current);\n const nextIndex = clockwise\n ? (index - 1 + directions.length) % directions.length\n : (index + 1) % directions.length;\n return directions[nextIndex];\n },\n [clockwise],\n );\n\n useEffect(() => {\n if (!hovered) {\n const interval = setInterval(() => {\n setDirection((prevState) => rotateDirection(prevState));\n }, duration * 1000);\n return () => clearInterval(interval);\n }\n }, [hovered, duration, rotateDirection]);\n\n const handleMouseEnter = () => setHovered(true);\n const handleMouseLeave = () => setHovered(false);\n\n return (\n <button\n type=\"button\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={mergeClassNames(\n \"relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-ds-border-2 p-px transition duration-500\",\n containerClassName,\n )}\n {...props}\n >\n <div\n className={mergeClassNames(\n \"bg-ds-surface-1 text-ds-1 z-10 w-auto rounded-[inherit] px-4 py-2\",\n className,\n )}\n >\n {children}\n </div>\n <motion.div\n className={mergeClassNames(\n \"absolute inset-0 z-0 flex-none overflow-hidden rounded-[inherit]\",\n )}\n style={{\n filter: \"blur(2px)\",\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n }}\n initial={{ background: movingMap[direction] }}\n animate={{\n background: hovered\n ? [movingMap[direction], highlight]\n : movingMap[direction],\n }}\n transition={{ ease: \"linear\", duration: duration ?? 1 }}\n />\n </button>\n );\n}\n"],"mappings":";;;;;AAeA,IAAM,YAAuC;CAC3C,KAAK;CACL,MAAM;CACN,QACE;CACF,OACE;CACH;AAED,IAAM,YAAY;AAElB,SAAgB,oBAAoB,EAClC,oBACA,WACA,WAAW,GACX,YAAY,MACZ,UACA,GAAG,SACwB;CAC3B,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,CAAC,WAAW,gBAAgB,SAAoB,MAAM;CAE5D,MAAM,kBAAkB,aACrB,YAAkC;EACjC,MAAM,aAA0B;GAAC;GAAO;GAAQ;GAAU;GAAQ;EAClE,MAAM,QAAQ,WAAW,QAAQ,QAAQ;AAIzC,SAAO,WAHW,aACb,QAAQ,IAAI,WAAW,UAAU,WAAW,UAC5C,QAAQ,KAAK,WAAW;IAG/B,CAAC,UAAU,CACZ;AAED,iBAAgB;AACd,MAAI,CAAC,SAAS;GACZ,MAAM,WAAW,kBAAkB;AACjC,kBAAc,cAAc,gBAAgB,UAAU,CAAC;MACtD,WAAW,IAAK;AACnB,gBAAa,cAAc,SAAS;;IAErC;EAAC;EAAS;EAAU;EAAgB,CAAC;CAExC,MAAM,yBAAyB,WAAW,KAAK;CAC/C,MAAM,yBAAyB,WAAW,MAAM;AAEhD,QACE,qBAAC,UAAD;EACE,MAAK;EACL,cAAc;EACd,cAAc;EACd,WAAW,gBACT,uLACA,mBACD;EACD,GAAI;YARN,CAUE,oBAAC,OAAD;GACE,WAAW,gBACT,qEACA,UACD;GAEA;GACG,CAAA,EACN,oBAAC,OAAO,KAAR;GACE,WAAW,gBACT,mEACD;GACD,OAAO;IACL,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACT;GACD,SAAS,EAAE,YAAY,UAAU,YAAY;GAC7C,SAAS,EACP,YAAY,UACR,CAAC,UAAU,YAAY,UAAU,GACjC,UAAU,YACf;GACD,YAAY;IAAE,MAAM;IAAU,UAAU,YAAY;IAAG;GACvD,CAAA,CACK"}
@@ -1,4 +1,4 @@
1
- import { N as ChevronDownIcon } from "./icons-BquccnYa.mjs";
1
+ import { N as ChevronDownIcon } from "./icons-bx3nrxNv.mjs";
2
2
  import { useState } from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region src/components/navigation/accordion/Accordion.tsx
@@ -24,10 +24,10 @@ var Accordion = ({ items, type = "single", defaultOpenIds = type === "single" &&
24
24
  children: items.map((item) => {
25
25
  const open = openItems.includes(item.id);
26
26
  return /* @__PURE__ */ jsxs("div", {
27
- className: cx("rounded-xl backdrop-blur-2xl transition-all duration-300", "bg-white/60 border border-white/40 shadow-lg shadow-neutral-200/50", "dark:bg-neutral-900/50 dark:border-white/10 dark:shadow-neutral-950/50", "hover:bg-white/80 hover:shadow-xl hover:border-white/60", "dark:hover:bg-neutral-800/60 dark:hover:border-white/20", open && "ring-2 ring-focus/40", separated ? "p-0" : ""),
27
+ className: cx("rounded-xl border border-ds-border-2 bg-ds-surface-1 backdrop-blur-2xl transition-all duration-300", "hover:border-ds-border-1 hover:bg-ds-surface-2", open && "ring-2 ring-ds-focus/40", separated ? "p-0" : ""),
28
28
  children: [/* @__PURE__ */ jsxs("button", {
29
29
  type: "button",
30
- className: cx("flex w-full items-center justify-between gap-4 px-5 py-4 rounded-xl transition-colors duration-200", "text-neutral-700 dark:text-neutral-200", "hover:bg-white/40 dark:hover:bg-white/5", separated ? "border-b border-neutral-200/50 dark:border-white/10" : "", item.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"),
30
+ className: cx("flex w-full items-center justify-between gap-4 px-5 py-4 rounded-xl transition-colors duration-200", "text-ds-1 hover:bg-ds-surface-2", separated ? "border-b border-ds-border-2" : "", item.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"),
31
31
  "aria-expanded": open,
32
32
  "aria-controls": `${item.id}-content`,
33
33
  id: `${item.id}-trigger`,
@@ -36,14 +36,14 @@ var Accordion = ({ items, type = "single", defaultOpenIds = type === "single" &&
36
36
  children: [/* @__PURE__ */ jsxs("div", {
37
37
  className: "text-left flex-1",
38
38
  children: [/* @__PURE__ */ jsx("p", {
39
- className: "text-base font-semibold text-neutral-900 dark:text-white",
39
+ className: "text-base font-semibold text-ds-1",
40
40
  children: item.title
41
41
  }), item.description && /* @__PURE__ */ jsx("p", {
42
- className: "text-sm text-neutral-500 dark:text-neutral-400 mt-0.5",
42
+ className: "mt-0.5 text-sm text-ds-2",
43
43
  children: item.description
44
44
  })]
45
45
  }), /* @__PURE__ */ jsx("span", {
46
- className: cx("p-1.5 rounded-lg transition-all duration-300", "bg-neutral-100/80 dark:bg-white/10", "text-neutral-600 dark:text-neutral-300", open && "rotate-180 bg-accent-subtle text-accent"),
46
+ className: cx("p-1.5 rounded-lg transition-all duration-300", "bg-ds-surface-2 text-ds-2", open && "rotate-180 bg-ds-accent-subtle text-ds-1"),
47
47
  children: caret
48
48
  })]
49
49
  }), /* @__PURE__ */ jsx("div", {
@@ -52,7 +52,7 @@ var Accordion = ({ items, type = "single", defaultOpenIds = type === "single" &&
52
52
  "aria-labelledby": `${item.id}-trigger`,
53
53
  className: cx("overflow-hidden transition-all duration-300 ease-in-out", open ? "max-h-[1000px] opacity-100" : "max-h-0 opacity-0"),
54
54
  children: /* @__PURE__ */ jsx("div", {
55
- className: "px-5 pb-5 pt-2 text-sm text-neutral-600 dark:text-neutral-300 leading-relaxed",
55
+ className: "px-5 pb-5 pt-2 text-sm leading-relaxed text-ds-2",
56
56
  children: item.content
57
57
  })
58
58
  })]
@@ -63,4 +63,4 @@ var Accordion = ({ items, type = "single", defaultOpenIds = type === "single" &&
63
63
  //#endregion
64
64
  export { Accordion as t };
65
65
 
66
- //# sourceMappingURL=accordion-Dwm6yH0C.mjs.map
66
+ //# sourceMappingURL=accordion-6zxJUYXr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion-6zxJUYXr.mjs","names":[],"sources":["../../src/components/navigation/accordion/Accordion.tsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { ChevronDownIcon } from \"../../icons\";\nimport type { AccordionProps } from \"./types\";\n\nconst cx = (...classes: Array<string | false | undefined>) =>\n classes.filter(Boolean).join(\" \").replace(/\\s+/g, \" \").trim();\n\nconst caret = (\n <ChevronDownIcon\n className=\"h-5 w-5 transition-transform duration-300\"\n aria-hidden=\"true\"\n />\n);\n\nexport const Accordion = ({\n items,\n type = \"single\",\n defaultOpenIds = type === \"single\" && items.length ? [items[0].id] : [],\n value,\n onValueChange,\n className = \"\",\n separated = false,\n}: AccordionProps) => {\n const [internalOpen, setInternalOpen] = useState<string[]>(defaultOpenIds);\n const controlled = Array.isArray(value);\n const openItems = controlled ? value! : internalOpen;\n\n const toggleItem = (id: string) => {\n let next: string[];\n const isOpen = openItems.includes(id);\n\n if (type === \"single\") {\n next = isOpen ? [] : [id];\n } else {\n next = isOpen\n ? openItems.filter((openId) => openId !== id)\n : [...openItems, id];\n }\n\n if (!controlled) {\n setInternalOpen(next);\n }\n onValueChange?.(next);\n };\n\n return (\n <div className={cx(\"space-y-3\", className)}>\n {items.map((item) => {\n const open = openItems.includes(item.id);\n return (\n <div\n key={item.id}\n className={cx(\n \"rounded-xl border border-ds-border-2 bg-ds-surface-1 backdrop-blur-2xl transition-all duration-300\",\n \"hover:border-ds-border-1 hover:bg-ds-surface-2\",\n // Ring highlight on open\n open && \"ring-2 ring-ds-focus/40\",\n separated ? \"p-0\" : \"\",\n )}\n >\n <button\n type=\"button\"\n className={cx(\n \"flex w-full items-center justify-between gap-4 px-5 py-4 rounded-xl transition-colors duration-200\",\n \"text-ds-1 hover:bg-ds-surface-2\",\n separated ? \"border-b border-ds-border-2\" : \"\",\n item.disabled\n ? \"opacity-50 cursor-not-allowed\"\n : \"cursor-pointer\",\n )}\n aria-expanded={open}\n aria-controls={`${item.id}-content`}\n id={`${item.id}-trigger`}\n onClick={() => !item.disabled && toggleItem(item.id)}\n disabled={item.disabled}\n >\n <div className=\"text-left flex-1\">\n <p className=\"text-base font-semibold text-ds-1\">\n {item.title}\n </p>\n {item.description && (\n <p className=\"mt-0.5 text-sm text-ds-2\">{item.description}</p>\n )}\n </div>\n <span\n className={cx(\n \"p-1.5 rounded-lg transition-all duration-300\",\n \"bg-ds-surface-2 text-ds-2\",\n open && \"rotate-180 bg-ds-accent-subtle text-ds-1\",\n )}\n >\n {caret}\n </span>\n </button>\n <div\n id={`${item.id}-content`}\n role=\"region\"\n aria-labelledby={`${item.id}-trigger`}\n className={cx(\n \"overflow-hidden transition-all duration-300 ease-in-out\",\n open ? \"max-h-[1000px] opacity-100\" : \"max-h-0 opacity-0\",\n )}\n >\n <div className=\"px-5 pb-5 pt-2 text-sm leading-relaxed text-ds-2\">\n {item.content}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;AAKA,IAAM,MAAM,GAAG,YACb,QAAQ,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,QAAQ,IAAI,CAAC,MAAM;AAE/D,IAAM,QACJ,oBAAC,iBAAD;CACE,WAAU;CACV,eAAY;CACZ,CAAA;AAGJ,IAAa,aAAa,EACxB,OACA,OAAO,UACP,iBAAiB,SAAS,YAAY,MAAM,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,EACvE,OACA,eACA,YAAY,IACZ,YAAY,YACQ;CACpB,MAAM,CAAC,cAAc,mBAAmB,SAAmB,eAAe;CAC1E,MAAM,aAAa,MAAM,QAAQ,MAAM;CACvC,MAAM,YAAY,aAAa,QAAS;CAExC,MAAM,cAAc,OAAe;EACjC,IAAI;EACJ,MAAM,SAAS,UAAU,SAAS,GAAG;AAErC,MAAI,SAAS,SACX,QAAO,SAAS,EAAE,GAAG,CAAC,GAAG;MAEzB,QAAO,SACH,UAAU,QAAQ,WAAW,WAAW,GAAG,GAC3C,CAAC,GAAG,WAAW,GAAG;AAGxB,MAAI,CAAC,WACH,iBAAgB,KAAK;AAEvB,kBAAgB,KAAK;;AAGvB,QACE,oBAAC,OAAD;EAAK,WAAW,GAAG,aAAa,UAAU;YACvC,MAAM,KAAK,SAAS;GACnB,MAAM,OAAO,UAAU,SAAS,KAAK,GAAG;AACxC,UACE,qBAAC,OAAD;IAEE,WAAW,GACT,sGACA,kDAEA,QAAQ,2BACR,YAAY,QAAQ,GACrB;cARH,CAUE,qBAAC,UAAD;KACE,MAAK;KACL,WAAW,GACT,sGACA,mCACA,YAAY,gCAAgC,IAC5C,KAAK,WACD,kCACA,iBACL;KACD,iBAAe;KACf,iBAAe,GAAG,KAAK,GAAG;KAC1B,IAAI,GAAG,KAAK,GAAG;KACf,eAAe,CAAC,KAAK,YAAY,WAAW,KAAK,GAAG;KACpD,UAAU,KAAK;eAdjB,CAgBE,qBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,oBAAC,KAAD;OAAG,WAAU;iBACV,KAAK;OACJ,CAAA,EACH,KAAK,eACJ,oBAAC,KAAD;OAAG,WAAU;iBAA4B,KAAK;OAAgB,CAAA,CAE5D;SACN,oBAAC,QAAD;MACE,WAAW,GACT,gDACA,6BACA,QAAQ,2CACT;gBAEA;MACI,CAAA,CACA;QACT,oBAAC,OAAD;KACE,IAAI,GAAG,KAAK,GAAG;KACf,MAAK;KACL,mBAAiB,GAAG,KAAK,GAAG;KAC5B,WAAW,GACT,2DACA,OAAO,+BAA+B,oBACvC;eAED,oBAAC,OAAD;MAAK,WAAU;gBACZ,KAAK;MACF,CAAA;KACF,CAAA,CACF;MAxDC,KAAK,GAwDN;IAER;EACE,CAAA"}