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,6 +1,7 @@
1
1
  const require_chunk = require("./chunk-B_GkZjkl.cjs");
2
+ const require_utils = require("./utils-B4SmmY4J.cjs");
2
3
  let react = require("react");
3
- react = require_chunk.__toESM(react);
4
+ react = require_chunk.__toESM(react, 1);
4
5
  let react_jsx_runtime = require("react/jsx-runtime");
5
6
  //#region src/components/data-display/progress-bar/ProgressBar.tsx
6
7
  var sizeStyles = {
@@ -58,10 +59,10 @@ function ProgressBar({ value, max = 100, label, percentageLabel, showPercentage
58
59
  children: [(label || showPercentage) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
59
60
  className: "flex items-center justify-between gap-4",
60
61
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
61
- className: `font-mono font-semibold tracking-[0.08em] text-foreground ${sizeStyles[size].label}`,
62
+ className: `font-mono font-semibold tracking-[0.08em] text-ds-1 ${sizeStyles[size].label}`,
62
63
  children: label
63
64
  }), showPercentage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
64
- className: `font-mono font-medium tracking-[0.08em] text-muted-foreground ${sizeStyles[size].percentage}`,
65
+ className: `font-mono font-medium tracking-[0.08em] text-ds-2 ${sizeStyles[size].percentage}`,
65
66
  children: resolvedPercentageLabel
66
67
  })]
67
68
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -71,7 +72,7 @@ function ProgressBar({ value, max = 100, label, percentageLabel, showPercentage
71
72
  "aria-valuemax": safeMax,
72
73
  "aria-valuenow": Math.round(clampedValue),
73
74
  "aria-valuetext": `${roundedPercentage}%`,
74
- className: `relative overflow-hidden rounded-full border border-white/12 bg-background-tertiary/80 shadow-[inset_0_1px_1px_rgba(255,255,255,0.2)] dark:border-white/6 ${sizeStyles[size].track} ${trackClassName}`,
75
+ className: `relative overflow-hidden rounded-full border border-ds-border-2/50 bg-ds-surface-2/80 shadow-[inset_0_1px_1px_rgba(255,255,255,0.2)] ${sizeStyles[size].track} ${trackClassName}`,
75
76
  style: { background: toneStyle.trackBackground },
76
77
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
77
78
  className: `h-full rounded-full transition-[width,filter,box-shadow] duration-500 ease-out ${fillClassName}`,
@@ -86,6 +87,78 @@ function ProgressBar({ value, max = 100, label, percentageLabel, showPercentage
86
87
  });
87
88
  }
88
89
  //#endregion
90
+ //#region src/components/data-display/progress-bar/CircularProgress.tsx
91
+ var toneColorMap = {
92
+ default: "var(--ds-chart-1)",
93
+ success: "var(--ds-chart-3)",
94
+ warning: "var(--ds-chart-4)",
95
+ danger: "var(--ds-chart-5)",
96
+ info: "var(--ds-chart-2)"
97
+ };
98
+ function clamp(value, max) {
99
+ if (!Number.isFinite(value)) return 0;
100
+ return Math.min(Math.max(value, 0), max);
101
+ }
102
+ function CircularProgress({ value, max = 100, size = 24, strokeWidth = 3, tone = "default", showValue = false, valueLabel, className, trackClassName, progressClassName, ariaLabel = "Circular progress" }) {
103
+ const safeMax = Number.isFinite(max) && max > 0 ? max : 100;
104
+ const safeValue = clamp(value, safeMax);
105
+ const percentage = safeValue / safeMax * 100;
106
+ const center = size / 2;
107
+ const radius = center - strokeWidth / 2;
108
+ const circumference = 2 * Math.PI * radius;
109
+ const dashOffset = circumference - percentage / 100 * circumference;
110
+ const label = valueLabel ?? `${Math.round(percentage)}%`;
111
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
112
+ role: "progressbar",
113
+ "aria-label": ariaLabel,
114
+ "aria-valuemin": 0,
115
+ "aria-valuemax": safeMax,
116
+ "aria-valuenow": Math.round(safeValue),
117
+ "aria-valuetext": label,
118
+ className: require_utils.mergeClassNames("relative inline-flex items-center justify-center", className),
119
+ style: {
120
+ width: size,
121
+ height: size
122
+ },
123
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
124
+ width: size,
125
+ height: size,
126
+ viewBox: `0 0 ${size} ${size}`,
127
+ className: "-rotate-90",
128
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
129
+ cx: center,
130
+ cy: center,
131
+ r: radius,
132
+ fill: "none",
133
+ stroke: "var(--ds-border-2)",
134
+ strokeOpacity: .5,
135
+ strokeWidth,
136
+ className: trackClassName
137
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
138
+ cx: center,
139
+ cy: center,
140
+ r: radius,
141
+ fill: "none",
142
+ stroke: toneColorMap[tone],
143
+ strokeWidth,
144
+ strokeLinecap: "round",
145
+ strokeDasharray: circumference,
146
+ strokeDashoffset: dashOffset,
147
+ className: require_utils.mergeClassNames("transition-[stroke-dashoffset] duration-500 ease-out", progressClassName)
148
+ })]
149
+ }), showValue ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
150
+ className: "absolute text-[10px] font-semibold leading-none text-ds-1",
151
+ children: Math.round(percentage)
152
+ }) : null]
153
+ });
154
+ }
155
+ //#endregion
156
+ Object.defineProperty(exports, "CircularProgress", {
157
+ enumerable: true,
158
+ get: function() {
159
+ return CircularProgress;
160
+ }
161
+ });
89
162
  Object.defineProperty(exports, "ProgressBar", {
90
163
  enumerable: true,
91
164
  get: function() {
@@ -93,4 +166,4 @@ Object.defineProperty(exports, "ProgressBar", {
93
166
  }
94
167
  });
95
168
 
96
- //# sourceMappingURL=progress-bar-BdvQtpm3.cjs.map
169
+ //# sourceMappingURL=progress-bar-CbsCItvv.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar-CbsCItvv.cjs","names":[],"sources":["../../src/components/data-display/progress-bar/ProgressBar.tsx","../../src/components/data-display/progress-bar/CircularProgress.tsx"],"sourcesContent":["import React from \"react\";\n\nexport type ProgressBarSize = \"sm\" | \"md\" | \"lg\";\nexport type ProgressBarTone =\n | \"default\"\n | \"success\"\n | \"warning\"\n | \"danger\"\n | \"info\";\n\nexport interface ProgressBarProps {\n value: number;\n max?: number;\n label?: React.ReactNode;\n percentageLabel?: React.ReactNode;\n showPercentage?: boolean;\n size?: ProgressBarSize;\n tone?: ProgressBarTone;\n className?: string;\n trackClassName?: string;\n fillClassName?: string;\n ariaLabel?: string;\n}\n\nconst sizeStyles: Record<\n ProgressBarSize,\n {\n track: string;\n label: string;\n percentage: string;\n }\n> = {\n sm: {\n track: \"h-1.5\",\n label: \"text-xs\",\n percentage: \"text-xs\",\n },\n md: {\n track: \"h-2.5\",\n label: \"text-sm\",\n percentage: \"text-sm\",\n },\n lg: {\n track: \"h-3.5\",\n label: \"text-base\",\n percentage: \"text-base\",\n },\n};\n\nconst toneStyles: Record<\n ProgressBarTone,\n {\n color: string;\n trackBackground: string;\n }\n> = {\n default: {\n color: \"var(--ds-chart-1)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(15, 23, 42, 0.08) 0%, rgba(30, 41, 59, 0.14) 100%)\",\n },\n success: {\n color: \"var(--ds-chart-3)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(20, 83, 45, 0.12) 0%, rgba(34, 197, 94, 0.18) 100%)\",\n },\n warning: {\n color: \"var(--ds-chart-4)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(120, 53, 15, 0.12) 0%, rgba(245, 158, 11, 0.18) 100%)\",\n },\n danger: {\n color: \"var(--ds-chart-5)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(127, 29, 29, 0.12) 0%, rgba(239, 68, 68, 0.18) 100%)\",\n },\n info: {\n color: \"var(--ds-chart-2)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(30, 64, 175, 0.12) 0%, rgba(59, 130, 246, 0.18) 100%)\",\n },\n};\n\nfunction clampValue(value: number, max: number): number {\n if (!Number.isFinite(value)) {\n return 0;\n }\n\n return Math.min(Math.max(value, 0), max);\n}\n\nexport default function ProgressBar({\n value,\n max = 100,\n label,\n percentageLabel,\n showPercentage = true,\n size = \"md\",\n tone = \"default\",\n className = \"\",\n trackClassName = \"\",\n fillClassName = \"\",\n ariaLabel = \"Progress\",\n}: ProgressBarProps) {\n const safeMax = Number.isFinite(max) && max > 0 ? max : 100;\n const clampedValue = clampValue(value, safeMax);\n const percentage = (clampedValue / safeMax) * 100;\n const roundedPercentage = Math.round(percentage);\n const toneStyle = toneStyles[tone];\n const resolvedPercentageLabel = percentageLabel ?? `${roundedPercentage}%`;\n\n return (\n <div className={`w-full space-y-3 ${className}`}>\n {(label || showPercentage) && (\n <div className=\"flex items-center justify-between gap-4\">\n <div\n className={`font-mono font-semibold tracking-[0.08em] text-ds-1 ${sizeStyles[size].label}`}\n >\n {label}\n </div>\n {showPercentage && (\n <div\n className={`font-mono font-medium tracking-[0.08em] text-ds-2 ${sizeStyles[size].percentage}`}\n >\n {resolvedPercentageLabel}\n </div>\n )}\n </div>\n )}\n\n <div\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemin={0}\n aria-valuemax={safeMax}\n aria-valuenow={Math.round(clampedValue)}\n aria-valuetext={`${roundedPercentage}%`}\n className={`relative overflow-hidden rounded-full border border-ds-border-2/50 bg-ds-surface-2/80 shadow-[inset_0_1px_1px_rgba(255,255,255,0.2)] ${sizeStyles[size].track} ${trackClassName}`}\n style={{ background: toneStyle.trackBackground }}\n >\n <div\n className={`h-full rounded-full transition-[width,filter,box-shadow] duration-500 ease-out ${fillClassName}`}\n style={{\n width: `${percentage}%`,\n background: `linear-gradient(90deg, color-mix(in srgb, ${toneStyle.color} 68%, white 32%) 0%, ${toneStyle.color} 100%)`,\n boxShadow: `inset 0 1px 0 rgba(255,255,255,0.4), 0 0 14px color-mix(in srgb, ${toneStyle.color} 32%, transparent)`,\n filter: percentage > 0 ? \"saturate(1.05) brightness(1.02)\" : \"none\",\n }}\n />\n </div>\n </div>\n );\n}\n","import { mergeClassNames } from \"../../../utils\";\n\nexport type CircularProgressTone =\n | \"default\"\n | \"success\"\n | \"warning\"\n | \"danger\"\n | \"info\";\n\nexport interface CircularProgressProps {\n value: number;\n max?: number;\n size?: number;\n strokeWidth?: number;\n tone?: CircularProgressTone;\n showValue?: boolean;\n valueLabel?: string;\n className?: string;\n trackClassName?: string;\n progressClassName?: string;\n ariaLabel?: string;\n}\n\nconst toneColorMap: Record<CircularProgressTone, string> = {\n default: \"var(--ds-chart-1)\",\n success: \"var(--ds-chart-3)\",\n warning: \"var(--ds-chart-4)\",\n danger: \"var(--ds-chart-5)\",\n info: \"var(--ds-chart-2)\",\n};\n\nfunction clamp(value: number, max: number): number {\n if (!Number.isFinite(value)) return 0;\n return Math.min(Math.max(value, 0), max);\n}\n\nexport default function CircularProgress({\n value,\n max = 100,\n size = 24,\n strokeWidth = 3,\n tone = \"default\",\n showValue = false,\n valueLabel,\n className,\n trackClassName,\n progressClassName,\n ariaLabel = \"Circular progress\",\n}: CircularProgressProps) {\n const safeMax = Number.isFinite(max) && max > 0 ? max : 100;\n const safeValue = clamp(value, safeMax);\n const percentage = (safeValue / safeMax) * 100;\n\n const center = size / 2;\n const radius = center - strokeWidth / 2;\n const circumference = 2 * Math.PI * radius;\n const dashOffset = circumference - (percentage / 100) * circumference;\n const label = valueLabel ?? `${Math.round(percentage)}%`;\n\n return (\n <span\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemin={0}\n aria-valuemax={safeMax}\n aria-valuenow={Math.round(safeValue)}\n aria-valuetext={label}\n className={mergeClassNames(\n \"relative inline-flex items-center justify-center\",\n className,\n )}\n style={{ width: size, height: size }}\n >\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${size} ${size}`}\n className=\"-rotate-90\"\n >\n <circle\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n stroke=\"var(--ds-border-2)\"\n strokeOpacity={0.5}\n strokeWidth={strokeWidth}\n className={trackClassName}\n />\n <circle\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n stroke={toneColorMap[tone]}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={dashOffset}\n className={mergeClassNames(\n \"transition-[stroke-dashoffset] duration-500 ease-out\",\n progressClassName,\n )}\n />\n </svg>\n\n {showValue ? (\n <span className=\"absolute text-[10px] font-semibold leading-none text-ds-1\">\n {Math.round(percentage)}\n </span>\n ) : null}\n </span>\n );\n}\n\nexport { CircularProgress };\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { n as mergeClassNames } from "./utils-ati1KkDb.mjs";
1
2
  import "react";
2
3
  import { jsx, jsxs } from "react/jsx-runtime";
3
4
  //#region src/components/data-display/progress-bar/ProgressBar.tsx
@@ -56,10 +57,10 @@ function ProgressBar({ value, max = 100, label, percentageLabel, showPercentage
56
57
  children: [(label || showPercentage) && /* @__PURE__ */ jsxs("div", {
57
58
  className: "flex items-center justify-between gap-4",
58
59
  children: [/* @__PURE__ */ jsx("div", {
59
- className: `font-mono font-semibold tracking-[0.08em] text-foreground ${sizeStyles[size].label}`,
60
+ className: `font-mono font-semibold tracking-[0.08em] text-ds-1 ${sizeStyles[size].label}`,
60
61
  children: label
61
62
  }), showPercentage && /* @__PURE__ */ jsx("div", {
62
- className: `font-mono font-medium tracking-[0.08em] text-muted-foreground ${sizeStyles[size].percentage}`,
63
+ className: `font-mono font-medium tracking-[0.08em] text-ds-2 ${sizeStyles[size].percentage}`,
63
64
  children: resolvedPercentageLabel
64
65
  })]
65
66
  }), /* @__PURE__ */ jsx("div", {
@@ -69,7 +70,7 @@ function ProgressBar({ value, max = 100, label, percentageLabel, showPercentage
69
70
  "aria-valuemax": safeMax,
70
71
  "aria-valuenow": Math.round(clampedValue),
71
72
  "aria-valuetext": `${roundedPercentage}%`,
72
- className: `relative overflow-hidden rounded-full border border-white/12 bg-background-tertiary/80 shadow-[inset_0_1px_1px_rgba(255,255,255,0.2)] dark:border-white/6 ${sizeStyles[size].track} ${trackClassName}`,
73
+ className: `relative overflow-hidden rounded-full border border-ds-border-2/50 bg-ds-surface-2/80 shadow-[inset_0_1px_1px_rgba(255,255,255,0.2)] ${sizeStyles[size].track} ${trackClassName}`,
73
74
  style: { background: toneStyle.trackBackground },
74
75
  children: /* @__PURE__ */ jsx("div", {
75
76
  className: `h-full rounded-full transition-[width,filter,box-shadow] duration-500 ease-out ${fillClassName}`,
@@ -84,6 +85,72 @@ function ProgressBar({ value, max = 100, label, percentageLabel, showPercentage
84
85
  });
85
86
  }
86
87
  //#endregion
87
- export { ProgressBar as t };
88
+ //#region src/components/data-display/progress-bar/CircularProgress.tsx
89
+ var toneColorMap = {
90
+ default: "var(--ds-chart-1)",
91
+ success: "var(--ds-chart-3)",
92
+ warning: "var(--ds-chart-4)",
93
+ danger: "var(--ds-chart-5)",
94
+ info: "var(--ds-chart-2)"
95
+ };
96
+ function clamp(value, max) {
97
+ if (!Number.isFinite(value)) return 0;
98
+ return Math.min(Math.max(value, 0), max);
99
+ }
100
+ function CircularProgress({ value, max = 100, size = 24, strokeWidth = 3, tone = "default", showValue = false, valueLabel, className, trackClassName, progressClassName, ariaLabel = "Circular progress" }) {
101
+ const safeMax = Number.isFinite(max) && max > 0 ? max : 100;
102
+ const safeValue = clamp(value, safeMax);
103
+ const percentage = safeValue / safeMax * 100;
104
+ const center = size / 2;
105
+ const radius = center - strokeWidth / 2;
106
+ const circumference = 2 * Math.PI * radius;
107
+ const dashOffset = circumference - percentage / 100 * circumference;
108
+ const label = valueLabel ?? `${Math.round(percentage)}%`;
109
+ return /* @__PURE__ */ jsxs("span", {
110
+ role: "progressbar",
111
+ "aria-label": ariaLabel,
112
+ "aria-valuemin": 0,
113
+ "aria-valuemax": safeMax,
114
+ "aria-valuenow": Math.round(safeValue),
115
+ "aria-valuetext": label,
116
+ className: mergeClassNames("relative inline-flex items-center justify-center", className),
117
+ style: {
118
+ width: size,
119
+ height: size
120
+ },
121
+ children: [/* @__PURE__ */ jsxs("svg", {
122
+ width: size,
123
+ height: size,
124
+ viewBox: `0 0 ${size} ${size}`,
125
+ className: "-rotate-90",
126
+ children: [/* @__PURE__ */ jsx("circle", {
127
+ cx: center,
128
+ cy: center,
129
+ r: radius,
130
+ fill: "none",
131
+ stroke: "var(--ds-border-2)",
132
+ strokeOpacity: .5,
133
+ strokeWidth,
134
+ className: trackClassName
135
+ }), /* @__PURE__ */ jsx("circle", {
136
+ cx: center,
137
+ cy: center,
138
+ r: radius,
139
+ fill: "none",
140
+ stroke: toneColorMap[tone],
141
+ strokeWidth,
142
+ strokeLinecap: "round",
143
+ strokeDasharray: circumference,
144
+ strokeDashoffset: dashOffset,
145
+ className: mergeClassNames("transition-[stroke-dashoffset] duration-500 ease-out", progressClassName)
146
+ })]
147
+ }), showValue ? /* @__PURE__ */ jsx("span", {
148
+ className: "absolute text-[10px] font-semibold leading-none text-ds-1",
149
+ children: Math.round(percentage)
150
+ }) : null]
151
+ });
152
+ }
153
+ //#endregion
154
+ export { ProgressBar as n, CircularProgress as t };
88
155
 
89
- //# sourceMappingURL=progress-bar-B9sy7WBT.mjs.map
156
+ //# sourceMappingURL=progress-bar-D6Q9Di7D.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar-D6Q9Di7D.mjs","names":[],"sources":["../../src/components/data-display/progress-bar/ProgressBar.tsx","../../src/components/data-display/progress-bar/CircularProgress.tsx"],"sourcesContent":["import React from \"react\";\n\nexport type ProgressBarSize = \"sm\" | \"md\" | \"lg\";\nexport type ProgressBarTone =\n | \"default\"\n | \"success\"\n | \"warning\"\n | \"danger\"\n | \"info\";\n\nexport interface ProgressBarProps {\n value: number;\n max?: number;\n label?: React.ReactNode;\n percentageLabel?: React.ReactNode;\n showPercentage?: boolean;\n size?: ProgressBarSize;\n tone?: ProgressBarTone;\n className?: string;\n trackClassName?: string;\n fillClassName?: string;\n ariaLabel?: string;\n}\n\nconst sizeStyles: Record<\n ProgressBarSize,\n {\n track: string;\n label: string;\n percentage: string;\n }\n> = {\n sm: {\n track: \"h-1.5\",\n label: \"text-xs\",\n percentage: \"text-xs\",\n },\n md: {\n track: \"h-2.5\",\n label: \"text-sm\",\n percentage: \"text-sm\",\n },\n lg: {\n track: \"h-3.5\",\n label: \"text-base\",\n percentage: \"text-base\",\n },\n};\n\nconst toneStyles: Record<\n ProgressBarTone,\n {\n color: string;\n trackBackground: string;\n }\n> = {\n default: {\n color: \"var(--ds-chart-1)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(15, 23, 42, 0.08) 0%, rgba(30, 41, 59, 0.14) 100%)\",\n },\n success: {\n color: \"var(--ds-chart-3)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(20, 83, 45, 0.12) 0%, rgba(34, 197, 94, 0.18) 100%)\",\n },\n warning: {\n color: \"var(--ds-chart-4)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(120, 53, 15, 0.12) 0%, rgba(245, 158, 11, 0.18) 100%)\",\n },\n danger: {\n color: \"var(--ds-chart-5)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(127, 29, 29, 0.12) 0%, rgba(239, 68, 68, 0.18) 100%)\",\n },\n info: {\n color: \"var(--ds-chart-2)\",\n trackBackground:\n \"linear-gradient(90deg, rgba(30, 64, 175, 0.12) 0%, rgba(59, 130, 246, 0.18) 100%)\",\n },\n};\n\nfunction clampValue(value: number, max: number): number {\n if (!Number.isFinite(value)) {\n return 0;\n }\n\n return Math.min(Math.max(value, 0), max);\n}\n\nexport default function ProgressBar({\n value,\n max = 100,\n label,\n percentageLabel,\n showPercentage = true,\n size = \"md\",\n tone = \"default\",\n className = \"\",\n trackClassName = \"\",\n fillClassName = \"\",\n ariaLabel = \"Progress\",\n}: ProgressBarProps) {\n const safeMax = Number.isFinite(max) && max > 0 ? max : 100;\n const clampedValue = clampValue(value, safeMax);\n const percentage = (clampedValue / safeMax) * 100;\n const roundedPercentage = Math.round(percentage);\n const toneStyle = toneStyles[tone];\n const resolvedPercentageLabel = percentageLabel ?? `${roundedPercentage}%`;\n\n return (\n <div className={`w-full space-y-3 ${className}`}>\n {(label || showPercentage) && (\n <div className=\"flex items-center justify-between gap-4\">\n <div\n className={`font-mono font-semibold tracking-[0.08em] text-ds-1 ${sizeStyles[size].label}`}\n >\n {label}\n </div>\n {showPercentage && (\n <div\n className={`font-mono font-medium tracking-[0.08em] text-ds-2 ${sizeStyles[size].percentage}`}\n >\n {resolvedPercentageLabel}\n </div>\n )}\n </div>\n )}\n\n <div\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemin={0}\n aria-valuemax={safeMax}\n aria-valuenow={Math.round(clampedValue)}\n aria-valuetext={`${roundedPercentage}%`}\n className={`relative overflow-hidden rounded-full border border-ds-border-2/50 bg-ds-surface-2/80 shadow-[inset_0_1px_1px_rgba(255,255,255,0.2)] ${sizeStyles[size].track} ${trackClassName}`}\n style={{ background: toneStyle.trackBackground }}\n >\n <div\n className={`h-full rounded-full transition-[width,filter,box-shadow] duration-500 ease-out ${fillClassName}`}\n style={{\n width: `${percentage}%`,\n background: `linear-gradient(90deg, color-mix(in srgb, ${toneStyle.color} 68%, white 32%) 0%, ${toneStyle.color} 100%)`,\n boxShadow: `inset 0 1px 0 rgba(255,255,255,0.4), 0 0 14px color-mix(in srgb, ${toneStyle.color} 32%, transparent)`,\n filter: percentage > 0 ? \"saturate(1.05) brightness(1.02)\" : \"none\",\n }}\n />\n </div>\n </div>\n );\n}\n","import { mergeClassNames } from \"../../../utils\";\n\nexport type CircularProgressTone =\n | \"default\"\n | \"success\"\n | \"warning\"\n | \"danger\"\n | \"info\";\n\nexport interface CircularProgressProps {\n value: number;\n max?: number;\n size?: number;\n strokeWidth?: number;\n tone?: CircularProgressTone;\n showValue?: boolean;\n valueLabel?: string;\n className?: string;\n trackClassName?: string;\n progressClassName?: string;\n ariaLabel?: string;\n}\n\nconst toneColorMap: Record<CircularProgressTone, string> = {\n default: \"var(--ds-chart-1)\",\n success: \"var(--ds-chart-3)\",\n warning: \"var(--ds-chart-4)\",\n danger: \"var(--ds-chart-5)\",\n info: \"var(--ds-chart-2)\",\n};\n\nfunction clamp(value: number, max: number): number {\n if (!Number.isFinite(value)) return 0;\n return Math.min(Math.max(value, 0), max);\n}\n\nexport default function CircularProgress({\n value,\n max = 100,\n size = 24,\n strokeWidth = 3,\n tone = \"default\",\n showValue = false,\n valueLabel,\n className,\n trackClassName,\n progressClassName,\n ariaLabel = \"Circular progress\",\n}: CircularProgressProps) {\n const safeMax = Number.isFinite(max) && max > 0 ? max : 100;\n const safeValue = clamp(value, safeMax);\n const percentage = (safeValue / safeMax) * 100;\n\n const center = size / 2;\n const radius = center - strokeWidth / 2;\n const circumference = 2 * Math.PI * radius;\n const dashOffset = circumference - (percentage / 100) * circumference;\n const label = valueLabel ?? `${Math.round(percentage)}%`;\n\n return (\n <span\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemin={0}\n aria-valuemax={safeMax}\n aria-valuenow={Math.round(safeValue)}\n aria-valuetext={label}\n className={mergeClassNames(\n \"relative inline-flex items-center justify-center\",\n className,\n )}\n style={{ width: size, height: size }}\n >\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${size} ${size}`}\n className=\"-rotate-90\"\n >\n <circle\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n stroke=\"var(--ds-border-2)\"\n strokeOpacity={0.5}\n strokeWidth={strokeWidth}\n className={trackClassName}\n />\n <circle\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n stroke={toneColorMap[tone]}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={dashOffset}\n className={mergeClassNames(\n \"transition-[stroke-dashoffset] duration-500 ease-out\",\n progressClassName,\n )}\n />\n </svg>\n\n {showValue ? (\n <span className=\"absolute text-[10px] font-semibold leading-none text-ds-1\">\n {Math.round(percentage)}\n </span>\n ) : null}\n </span>\n );\n}\n\nexport { CircularProgress };\n"],"mappings":"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"}
@@ -27,7 +27,7 @@ var Radio = forwardRef(({ className = "", label, error, id, color = "primary", b
27
27
  }),
28
28
  label && /* @__PURE__ */ jsx("label", {
29
29
  htmlFor: radioId,
30
- className: "text-sm font-medium leading-none cursor-pointer text-neutral-900 dark:text-white",
30
+ className: "text-sm font-medium leading-none cursor-pointer text-ds-1",
31
31
  children: label
32
32
  }),
33
33
  error && /* @__PURE__ */ jsx("p", {
@@ -41,4 +41,4 @@ Radio.displayName = "Radio";
41
41
  //#endregion
42
42
  export { Radio as t };
43
43
 
44
- //# sourceMappingURL=radio-C9w_CoiY.mjs.map
44
+ //# sourceMappingURL=radio-C6Meq2iz.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-C9w_CoiY.mjs","names":[],"sources":["../../src/components/forms/radio/Radio.tsx"],"sourcesContent":["import type { RadioProps, RadioColor } from \"./types\";\nimport { forwardRef, useId } from \"react\";\n\nimport { mergeClassNames } from \"../../../utils\";\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nconst colorValues: Record<RadioColor, string> = {\n red: \"var(--ds-color-danger)\",\n blue: \"var(--ds-color-info)\",\n green: \"var(--ds-color-success)\",\n yellow: \"var(--ds-color-warning)\",\n teal: \"var(--ds-brand-teal)\",\n primary: \"var(--ds-color-accent)\",\n};\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n (\n {\n className = \"\",\n label,\n error,\n id,\n color = \"primary\",\n bgClassName = \"\",\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const radioId = id || `radio-${sanitizeId(generatedId)}`;\n\n return (\n <div className=\"flex items-center space-x-2\">\n <input\n ref={ref}\n type=\"radio\"\n id={radioId}\n style={{ accentColor: colorValues[color] }}\n className={mergeClassNames(\n \"h-5 w-5 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50\",\n bgClassName,\n className,\n )}\n {...props}\n />\n {label && (\n <label\n htmlFor={radioId}\n className=\"text-sm font-medium leading-none cursor-pointer text-neutral-900 dark:text-white\"\n >\n {label}\n </label>\n )}\n {error && (\n <p className=\"mt-1 text-sm font-medium text-destructive\">{error}</p>\n )}\n </div>\n );\n },\n);\n\nRadio.displayName = \"Radio\";\n"],"mappings":";;;;AAKA,IAAM,cAAc,UAAkB,MAAM,QAAQ,mBAAmB,IAAI;AAE3E,IAAM,cAA0C;CAC9C,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,SAAS;CACV;AAED,IAAa,QAAQ,YAEjB,EACE,YAAY,IACZ,OACA,OACA,IACA,QAAQ,WACR,cAAc,IACd,GAAG,SAEL,QACG;CACH,MAAM,cAAc,OAAO;CAC3B,MAAM,UAAU,MAAM,SAAS,WAAW,YAAY;AAEtD,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf;GACE,oBAAC,SAAD;IACO;IACL,MAAK;IACL,IAAI;IACJ,OAAO,EAAE,aAAa,YAAY,QAAQ;IAC1C,WAAW,gBACT,0EACA,aACA,UACD;IACD,GAAI;IACJ,CAAA;GACD,SACC,oBAAC,SAAD;IACE,SAAS;IACT,WAAU;cAET;IACK,CAAA;GAET,SACC,oBAAC,KAAD;IAAG,WAAU;cAA6C;IAAU,CAAA;GAElE;;EAGX;AAED,MAAM,cAAc"}
1
+ {"version":3,"file":"radio-C6Meq2iz.mjs","names":[],"sources":["../../src/components/forms/radio/Radio.tsx"],"sourcesContent":["import type { RadioProps, RadioColor } from \"./types\";\nimport { forwardRef, useId } from \"react\";\n\nimport { mergeClassNames } from \"../../../utils\";\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nconst colorValues: Record<RadioColor, string> = {\n red: \"var(--ds-color-danger)\",\n blue: \"var(--ds-color-info)\",\n green: \"var(--ds-color-success)\",\n yellow: \"var(--ds-color-warning)\",\n teal: \"var(--ds-brand-teal)\",\n primary: \"var(--ds-color-accent)\",\n};\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n (\n {\n className = \"\",\n label,\n error,\n id,\n color = \"primary\",\n bgClassName = \"\",\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const radioId = id || `radio-${sanitizeId(generatedId)}`;\n\n return (\n <div className=\"flex items-center space-x-2\">\n <input\n ref={ref}\n type=\"radio\"\n id={radioId}\n style={{ accentColor: colorValues[color] }}\n className={mergeClassNames(\n \"h-5 w-5 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50\",\n bgClassName,\n className,\n )}\n {...props}\n />\n {label && (\n <label\n htmlFor={radioId}\n className=\"text-sm font-medium leading-none cursor-pointer text-ds-1\"\n >\n {label}\n </label>\n )}\n {error && (\n <p className=\"mt-1 text-sm font-medium text-destructive\">{error}</p>\n )}\n </div>\n );\n },\n);\n\nRadio.displayName = \"Radio\";\n"],"mappings":";;;;AAKA,IAAM,cAAc,UAAkB,MAAM,QAAQ,mBAAmB,IAAI;AAE3E,IAAM,cAA0C;CAC9C,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,SAAS;CACV;AAED,IAAa,QAAQ,YAEjB,EACE,YAAY,IACZ,OACA,OACA,IACA,QAAQ,WACR,cAAc,IACd,GAAG,SAEL,QACG;CACH,MAAM,cAAc,OAAO;CAC3B,MAAM,UAAU,MAAM,SAAS,WAAW,YAAY;AAEtD,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf;GACE,oBAAC,SAAD;IACO;IACL,MAAK;IACL,IAAI;IACJ,OAAO,EAAE,aAAa,YAAY,QAAQ;IAC1C,WAAW,gBACT,0EACA,aACA,UACD;IACD,GAAI;IACJ,CAAA;GACD,SACC,oBAAC,SAAD;IACE,SAAS;IACT,WAAU;cAET;IACK,CAAA;GAET,SACC,oBAAC,KAAD;IAAG,WAAU;cAA6C;IAAU,CAAA;GAElE;;EAGX;AAED,MAAM,cAAc"}
@@ -28,7 +28,7 @@ var Radio = (0, react.forwardRef)(({ className = "", label, error, id, color = "
28
28
  }),
29
29
  label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
30
30
  htmlFor: radioId,
31
- className: "text-sm font-medium leading-none cursor-pointer text-neutral-900 dark:text-white",
31
+ className: "text-sm font-medium leading-none cursor-pointer text-ds-1",
32
32
  children: label
33
33
  }),
34
34
  error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
@@ -47,4 +47,4 @@ Object.defineProperty(exports, "Radio", {
47
47
  }
48
48
  });
49
49
 
50
- //# sourceMappingURL=radio-jMHDvaMY.cjs.map
50
+ //# sourceMappingURL=radio-DxakS7iD.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-jMHDvaMY.cjs","names":[],"sources":["../../src/components/forms/radio/Radio.tsx"],"sourcesContent":["import type { RadioProps, RadioColor } from \"./types\";\nimport { forwardRef, useId } from \"react\";\n\nimport { mergeClassNames } from \"../../../utils\";\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nconst colorValues: Record<RadioColor, string> = {\n red: \"var(--ds-color-danger)\",\n blue: \"var(--ds-color-info)\",\n green: \"var(--ds-color-success)\",\n yellow: \"var(--ds-color-warning)\",\n teal: \"var(--ds-brand-teal)\",\n primary: \"var(--ds-color-accent)\",\n};\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n (\n {\n className = \"\",\n label,\n error,\n id,\n color = \"primary\",\n bgClassName = \"\",\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const radioId = id || `radio-${sanitizeId(generatedId)}`;\n\n return (\n <div className=\"flex items-center space-x-2\">\n <input\n ref={ref}\n type=\"radio\"\n id={radioId}\n style={{ accentColor: colorValues[color] }}\n className={mergeClassNames(\n \"h-5 w-5 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50\",\n bgClassName,\n className,\n )}\n {...props}\n />\n {label && (\n <label\n htmlFor={radioId}\n className=\"text-sm font-medium leading-none cursor-pointer text-neutral-900 dark:text-white\"\n >\n {label}\n </label>\n )}\n {error && (\n <p className=\"mt-1 text-sm font-medium text-destructive\">{error}</p>\n )}\n </div>\n );\n },\n);\n\nRadio.displayName = \"Radio\";\n"],"mappings":";;;;;AAKA,IAAM,cAAc,UAAkB,MAAM,QAAQ,mBAAmB,IAAI;AAE3E,IAAM,cAA0C;CAC9C,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,SAAS;CACV;AAED,IAAa,SAAA,GAAA,MAAA,aAET,EACE,YAAY,IACZ,OACA,OACA,IACA,QAAQ,WACR,cAAc,IACd,GAAG,SAEL,QACG;CACH,MAAM,eAAA,GAAA,MAAA,QAAqB;CAC3B,MAAM,UAAU,MAAM,SAAS,WAAW,YAAY;AAEtD,QACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EAAK,WAAU;YAAf;GACE,iBAAA,GAAA,kBAAA,KAAC,SAAD;IACO;IACL,MAAK;IACL,IAAI;IACJ,OAAO,EAAE,aAAa,YAAY,QAAQ;IAC1C,WAAW,cAAA,gBACT,0EACA,aACA,UACD;IACD,GAAI;IACJ,CAAA;GACD,SACC,iBAAA,GAAA,kBAAA,KAAC,SAAD;IACE,SAAS;IACT,WAAU;cAET;IACK,CAAA;GAET,SACC,iBAAA,GAAA,kBAAA,KAAC,KAAD;IAAG,WAAU;cAA6C;IAAU,CAAA;GAElE;;EAGX;AAED,MAAM,cAAc"}
1
+ {"version":3,"file":"radio-DxakS7iD.cjs","names":[],"sources":["../../src/components/forms/radio/Radio.tsx"],"sourcesContent":["import type { RadioProps, RadioColor } from \"./types\";\nimport { forwardRef, useId } from \"react\";\n\nimport { mergeClassNames } from \"../../../utils\";\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nconst colorValues: Record<RadioColor, string> = {\n red: \"var(--ds-color-danger)\",\n blue: \"var(--ds-color-info)\",\n green: \"var(--ds-color-success)\",\n yellow: \"var(--ds-color-warning)\",\n teal: \"var(--ds-brand-teal)\",\n primary: \"var(--ds-color-accent)\",\n};\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n (\n {\n className = \"\",\n label,\n error,\n id,\n color = \"primary\",\n bgClassName = \"\",\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const radioId = id || `radio-${sanitizeId(generatedId)}`;\n\n return (\n <div className=\"flex items-center space-x-2\">\n <input\n ref={ref}\n type=\"radio\"\n id={radioId}\n style={{ accentColor: colorValues[color] }}\n className={mergeClassNames(\n \"h-5 w-5 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50\",\n bgClassName,\n className,\n )}\n {...props}\n />\n {label && (\n <label\n htmlFor={radioId}\n className=\"text-sm font-medium leading-none cursor-pointer text-ds-1\"\n >\n {label}\n </label>\n )}\n {error && (\n <p className=\"mt-1 text-sm font-medium text-destructive\">{error}</p>\n )}\n </div>\n );\n },\n);\n\nRadio.displayName = \"Radio\";\n"],"mappings":";;;;;AAKA,IAAM,cAAc,UAAkB,MAAM,QAAQ,mBAAmB,IAAI;AAE3E,IAAM,cAA0C;CAC9C,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,SAAS;CACV;AAED,IAAa,SAAA,GAAA,MAAA,aAET,EACE,YAAY,IACZ,OACA,OACA,IACA,QAAQ,WACR,cAAc,IACd,GAAG,SAEL,QACG;CACH,MAAM,eAAA,GAAA,MAAA,QAAqB;CAC3B,MAAM,UAAU,MAAM,SAAS,WAAW,YAAY;AAEtD,QACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EAAK,WAAU;YAAf;GACE,iBAAA,GAAA,kBAAA,KAAC,SAAD;IACO;IACL,MAAK;IACL,IAAI;IACJ,OAAO,EAAE,aAAa,YAAY,QAAQ;IAC1C,WAAW,cAAA,gBACT,0EACA,aACA,UACD;IACD,GAAI;IACJ,CAAA;GACD,SACC,iBAAA,GAAA,kBAAA,KAAC,SAAD;IACE,SAAS;IACT,WAAU;cAET;IACK,CAAA;GAET,SACC,iBAAA,GAAA,kBAAA,KAAC,KAAD;IAAG,WAAU;cAA6C;IAAU,CAAA;GAElE;;EAGX;AAED,MAAM,cAAc"}
@@ -1,10 +1,11 @@
1
1
  import { n as mergeClassNames } from "./utils-ati1KkDb.mjs";
2
- import { J as CheckIcon, N as ChevronDownIcon } from "./icons-DuumN7z-.mjs";
2
+ import { t as TruncatedText } from "./truncated-text-DTgks5yS.mjs";
3
+ import { J as CheckIcon, N as ChevronDownIcon } from "./icons-bx3nrxNv.mjs";
3
4
  import { forwardRef, useEffect, useRef, useState } from "react";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { motion, useMotionTemplate, useMotionValue } from "framer-motion";
6
7
  //#region src/components/forms/select/Select.tsx
7
- var Select = forwardRef(function SelectComponent({ className = "", containerClassName = "", triggerClassName = "", dropdownClassName = "", optionClassName = "", label, error, helperText, options, value, onChange, placeholder = "Select...", disabled, bgClassName = "bg-background-secondary", size = "default", selectionIndicator = "check", ...props }, ref) {
8
+ var Select = forwardRef(function SelectComponent({ className = "", containerClassName = "", triggerClassName = "", dropdownClassName = "", optionClassName = "", label, error, helperText, options, value, onChange, placeholder = "Select...", disabled, bgClassName = "bg-ds-surface-1", size = "default", selectionIndicator = "check", ...props }, ref) {
8
9
  const [open, setOpen] = useState(false);
9
10
  const [visible, setVisible] = useState(false);
10
11
  const containerRef = useRef(null);
@@ -70,7 +71,7 @@ var Select = forwardRef(function SelectComponent({ className = "", containerClas
70
71
  className: mergeClassNames("w-full", isCompact ? "min-w-0" : "min-w-48", containerClassName),
71
72
  children: [
72
73
  label ? /* @__PURE__ */ jsx("label", {
73
- className: "mb-2 block text-sm leading-none font-medium text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
74
+ className: "mb-2 block text-sm leading-none font-medium text-ds-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
74
75
  children: label
75
76
  }) : null,
76
77
  /* @__PURE__ */ jsxs("select", {
@@ -102,9 +103,9 @@ var Select = forwardRef(function SelectComponent({ className = "", containerClas
102
103
  onMouseMove: !disabled ? handleMouseMove : void 0,
103
104
  onMouseEnter: !disabled ? () => setVisible(true) : void 0,
104
105
  onMouseLeave: !disabled ? () => setVisible(false) : void 0,
105
- className: mergeClassNames("group/select rounded-lg p-[2px] transition duration-300 hover:border-accent", disabled ? "border-none bg-muted" : error ? "border-destructive" : "border-border"),
106
+ className: mergeClassNames("group/select rounded-lg p-[2px] transition duration-300 hover:border-ds-border-accent", disabled ? "border-none bg-ds-surface-1" : error ? "border-ds-state-error-border" : "border-ds-border-2"),
106
107
  children: /* @__PURE__ */ jsxs("div", {
107
- className: mergeClassNames("flex w-full cursor-pointer items-center justify-between rounded-md border border-input transition duration-400 ease-in-out", isCompact ? "h-9 px-2.5 py-2 text-sm" : "h-10 px-3 py-2 text-sm", bgClassName, disabled ? "cursor-not-allowed opacity-50" : "text-foreground", error ? "border-destructive text-destructive focus-visible:ring-destructive" : "", triggerClassName),
108
+ className: mergeClassNames("flex w-full cursor-pointer items-center justify-between rounded-md border border-ds-border-field transition duration-400 ease-in-out", isCompact ? "h-9 px-2.5 py-2 text-sm" : "h-10 px-3 py-2 text-sm", bgClassName, disabled ? "cursor-not-allowed opacity-50" : "text-ds-1", error ? "border-ds-state-error-border text-ds-state-error-text focus-visible:ring-ds-state-error-border" : "", triggerClassName),
108
109
  onClick: () => {
109
110
  if (!disabled) setOpen((current) => !current);
110
111
  },
@@ -113,14 +114,17 @@ var Select = forwardRef(function SelectComponent({ className = "", containerClas
113
114
  tabIndex: disabled ? -1 : 0,
114
115
  "aria-haspopup": "listbox",
115
116
  "aria-expanded": open,
116
- children: [selectedOption ? /* @__PURE__ */ jsx("span", {
117
- className: "min-w-0 flex-1 truncate text-foreground",
117
+ children: [selectedOption ? /* @__PURE__ */ jsx(TruncatedText, {
118
+ as: "span",
119
+ showTitleOnHover: true,
120
+ className: "flex-1 text-ds-1",
118
121
  children: selectedOption.label
119
- }) : /* @__PURE__ */ jsx("span", {
120
- className: "min-w-0 flex-1 truncate text-muted-foreground",
122
+ }) : /* @__PURE__ */ jsx(TruncatedText, {
123
+ as: "span",
124
+ className: "flex-1 text-ds-2",
121
125
  children: placeholder
122
126
  }), /* @__PURE__ */ jsx("span", {
123
- className: mergeClassNames("ml-2 shrink-0 text-muted-foreground transition-transform duration-300", open ? "rotate-180" : "rotate-0"),
127
+ className: mergeClassNames("ml-2 shrink-0 text-ds-2 transition-transform duration-300", open ? "rotate-180" : "rotate-0"),
124
128
  children: /* @__PURE__ */ jsx(ChevronDownIcon, {
125
129
  width: 24,
126
130
  height: 24,
@@ -130,34 +134,36 @@ var Select = forwardRef(function SelectComponent({ className = "", containerClas
130
134
  })]
131
135
  })
132
136
  }), open && !disabled ? /* @__PURE__ */ jsxs("div", {
133
- className: mergeClassNames("absolute right-0 left-0 z-20 mt-1 flex flex-col overflow-auto rounded-lg border border-border bg-background-secondary shadow-3 backdrop-blur-xl transition", isCompact ? "max-h-56" : "max-h-60", dropdownClassName),
137
+ className: mergeClassNames("absolute right-0 left-0 z-20 mt-1 flex flex-col overflow-auto rounded-lg border border-ds-border-2 bg-ds-surface-1 shadow-3 backdrop-blur-xl transition", isCompact ? "max-h-56" : "max-h-60", dropdownClassName),
134
138
  children: [options.length === 0 ? /* @__PURE__ */ jsx("div", {
135
- className: "px-3 py-2 text-muted-foreground",
139
+ className: "px-3 py-2 text-ds-2",
136
140
  children: "No options"
137
141
  }) : null, options.map((option) => /* @__PURE__ */ jsxs("div", {
138
142
  ref: option.value === value ? selectedOptionRef : null,
139
- className: mergeClassNames("mx-1 my-1 flex cursor-pointer items-center rounded-md text-foreground transition", isCompact ? "gap-1.5 px-2.5 py-2 text-sm" : "gap-2 px-3 py-2 text-sm", option.value === value ? "bg-accent-subtle font-semibold text-accent" : "", "hover:bg-accent hover:text-on-accent", optionClassName),
143
+ className: mergeClassNames("mx-1 my-1 flex cursor-pointer items-center rounded-md text-ds-1 transition", isCompact ? "gap-1.5 px-2.5 py-2 text-sm" : "gap-2 px-3 py-2 text-sm", option.value === value ? "bg-ds-accent-subtle font-semibold text-ds-1" : "", "hover:bg-ds-accent hover:text-ds-on-accent", optionClassName),
140
144
  onClick: () => handleSelect(option.value),
141
145
  children: [selectionIndicator === "check" ? /* @__PURE__ */ jsx("span", {
142
146
  className: mergeClassNames("flex items-center justify-center", isCompact ? "w-4" : "w-5"),
143
147
  children: option.value === value ? /* @__PURE__ */ jsx(CheckIcon, {
144
- className: "text-accent",
148
+ className: "text-ds-1",
145
149
  width: isCompact ? 16 : 18,
146
150
  height: isCompact ? 16 : 18
147
151
  }) : null
148
- }) : null, /* @__PURE__ */ jsx("span", {
149
- className: "min-w-0 flex-1 truncate",
152
+ }) : null, /* @__PURE__ */ jsx(TruncatedText, {
153
+ as: "span",
154
+ showTitleOnHover: true,
155
+ className: "flex-1",
150
156
  children: option.label
151
157
  })]
152
158
  }, option.value))]
153
159
  }) : null]
154
160
  }),
155
161
  error ? /* @__PURE__ */ jsx("p", {
156
- className: "mt-1 text-sm font-medium text-destructive",
162
+ className: "mt-1 text-sm font-medium text-ds-state-error-text",
157
163
  children: error
158
164
  }) : null,
159
165
  helperText && !error ? /* @__PURE__ */ jsx("p", {
160
- className: "mt-1 text-sm text-muted-foreground",
166
+ className: "mt-1 text-sm text-ds-2",
161
167
  children: helperText
162
168
  }) : null
163
169
  ]
@@ -167,4 +173,4 @@ Select.displayName = "Select";
167
173
  //#endregion
168
174
  export { Select as t };
169
175
 
170
- //# sourceMappingURL=select-B8UQ6Uq5.mjs.map
176
+ //# sourceMappingURL=select-1rSJeUBQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-1rSJeUBQ.mjs","names":[],"sources":["../../src/components/forms/select/Select.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type ChangeEvent,\n type ForwardedRef,\n type KeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n} from \"react\";\nimport { motion, useMotionTemplate, useMotionValue } from \"framer-motion\";\n\nimport { CheckIcon, ChevronDownIcon } from \"../../icons\";\nimport { TruncatedText } from \"../../typography/truncated-text\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { SelectProps } from \"./types\";\n\nexport const Select = forwardRef(function SelectComponent(\n {\n className = \"\",\n containerClassName = \"\",\n triggerClassName = \"\",\n dropdownClassName = \"\",\n optionClassName = \"\",\n label,\n error,\n helperText,\n options,\n value,\n onChange,\n placeholder = \"Select...\",\n disabled,\n bgClassName = \"bg-ds-surface-1\",\n size = \"default\",\n selectionIndicator = \"check\",\n ...props\n }: SelectProps,\n ref: ForwardedRef<HTMLSelectElement>,\n) {\n const [open, setOpen] = useState(false);\n const [visible, setVisible] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const hiddenSelectRef = useRef<HTMLSelectElement>(null);\n const selectedOptionRef = useRef<HTMLDivElement>(null);\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const radius = 100;\n const isCompact = size === \"compact\";\n const selectedOption = options.find((option) => option.value === value);\n\n useEffect(() => {\n if (typeof ref === \"function\") {\n ref(hiddenSelectRef.current);\n return;\n }\n\n if (ref) {\n ref.current = hiddenSelectRef.current;\n }\n }, [ref]);\n\n useEffect(() => {\n const handleClick = (event: MouseEvent) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(event.target as Node)\n ) {\n setOpen(false);\n }\n };\n\n if (open) {\n document.addEventListener(\"mousedown\", handleClick);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, [open]);\n\n useEffect(() => {\n if (!open || !selectedOptionRef.current) {\n return;\n }\n\n const frameId = window.requestAnimationFrame(() => {\n selectedOptionRef.current?.scrollIntoView({ block: \"nearest\" });\n });\n\n return () => {\n window.cancelAnimationFrame(frameId);\n };\n }, [open, value]);\n\n const handleMouseMove = (event: ReactMouseEvent<HTMLDivElement>) => {\n const { left, top } = event.currentTarget.getBoundingClientRect();\n mouseX.set(event.clientX - left);\n mouseY.set(event.clientY - top);\n };\n\n const handleSelect = (optionValue: string) => {\n if (onChange && hiddenSelectRef.current) {\n const syntheticEvent = {\n target: { value: optionValue, name: props.name },\n currentTarget: { value: optionValue, name: props.name },\n } as ChangeEvent<HTMLSelectElement>;\n\n onChange(syntheticEvent);\n }\n\n setOpen(false);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setOpen((current) => !current);\n }\n\n if (event.key === \"Escape\") {\n setOpen(false);\n }\n };\n\n return (\n <div\n className={mergeClassNames(\n \"w-full\",\n isCompact ? \"min-w-0\" : \"min-w-48\",\n containerClassName,\n )}\n >\n {label ? (\n <label className=\"mb-2 block text-sm leading-none font-medium text-ds-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n {label}\n </label>\n ) : null}\n\n <select\n ref={hiddenSelectRef}\n className=\"sr-only\"\n value={value}\n onChange={onChange}\n disabled={disabled}\n {...props}\n >\n <option value=\"\">{placeholder}</option>\n {options.map((option) => (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n\n <div\n ref={containerRef}\n className={mergeClassNames(\"relative w-full\", className)}\n >\n <motion.div\n style={{\n backgroundImage: disabled\n ? \"none\"\n : 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={!disabled ? handleMouseMove : undefined}\n onMouseEnter={!disabled ? () => setVisible(true) : undefined}\n onMouseLeave={!disabled ? () => setVisible(false) : undefined}\n className={mergeClassNames(\n \"group/select rounded-lg p-[2px] transition duration-300 hover:border-ds-border-accent\",\n disabled\n ? \"border-none bg-ds-surface-1\"\n : error\n ? \"border-ds-state-error-border\"\n : \"border-ds-border-2\",\n )}\n >\n <div\n className={mergeClassNames(\n \"flex w-full cursor-pointer items-center justify-between rounded-md border border-ds-border-field transition duration-400 ease-in-out\",\n isCompact ? \"h-9 px-2.5 py-2 text-sm\" : \"h-10 px-3 py-2 text-sm\",\n bgClassName,\n disabled ? \"cursor-not-allowed opacity-50\" : \"text-ds-1\",\n error\n ? \"border-ds-state-error-border text-ds-state-error-text focus-visible:ring-ds-state-error-border\"\n : \"\",\n triggerClassName,\n )}\n onClick={() => {\n if (!disabled) {\n setOpen((current) => !current);\n }\n }}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n >\n {selectedOption ? (\n <TruncatedText\n as=\"span\"\n showTitleOnHover\n className=\"flex-1 text-ds-1\"\n >\n {selectedOption.label}\n </TruncatedText>\n ) : (\n <TruncatedText as=\"span\" className=\"flex-1 text-ds-2\">\n {placeholder}\n </TruncatedText>\n )}\n\n <span\n className={mergeClassNames(\n \"ml-2 shrink-0 text-ds-2 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={isCompact ? \"h-4 w-4\" : \"h-5 w-5\"}\n />\n </span>\n </div>\n </motion.div>\n\n {open && !disabled ? (\n <div\n className={mergeClassNames(\n \"absolute right-0 left-0 z-20 mt-1 flex flex-col overflow-auto rounded-lg border border-ds-border-2 bg-ds-surface-1 shadow-3 backdrop-blur-xl transition\",\n isCompact ? \"max-h-56\" : \"max-h-60\",\n dropdownClassName,\n )}\n >\n {options.length === 0 ? (\n <div className=\"px-3 py-2 text-ds-2\">No options</div>\n ) : null}\n\n {options.map((option) => (\n <div\n key={option.value}\n ref={option.value === value ? selectedOptionRef : null}\n className={mergeClassNames(\n \"mx-1 my-1 flex cursor-pointer items-center rounded-md text-ds-1 transition\",\n isCompact\n ? \"gap-1.5 px-2.5 py-2 text-sm\"\n : \"gap-2 px-3 py-2 text-sm\",\n option.value === value\n ? \"bg-ds-accent-subtle font-semibold text-ds-1\"\n : \"\",\n \"hover:bg-ds-accent hover:text-ds-on-accent\",\n optionClassName,\n )}\n onClick={() => handleSelect(option.value)}\n >\n {selectionIndicator === \"check\" ? (\n <span\n className={mergeClassNames(\n \"flex items-center justify-center\",\n isCompact ? \"w-4\" : \"w-5\",\n )}\n >\n {option.value === value ? (\n <CheckIcon\n className=\"text-ds-1\"\n width={isCompact ? 16 : 18}\n height={isCompact ? 16 : 18}\n />\n ) : null}\n </span>\n ) : null}\n <TruncatedText as=\"span\" showTitleOnHover className=\"flex-1\">\n {option.label}\n </TruncatedText>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n\n {error ? (\n <p className=\"mt-1 text-sm font-medium text-ds-state-error-text\">\n {error}\n </p>\n ) : null}\n {helperText && !error ? (\n <p className=\"mt-1 text-sm text-ds-2\">{helperText}</p>\n ) : null}\n </div>\n );\n});\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  require("./chunk-B_GkZjkl.cjs");
2
2
  const require_utils = require("./utils-B4SmmY4J.cjs");
3
- const require_icons = require("./icons-BxIzP2jd.cjs");
3
+ const require_truncated_text = require("./truncated-text-istgJRUq.cjs");
4
+ const require_icons = require("./icons-CRanVZB1.cjs");
4
5
  let react = require("react");
5
6
  let react_jsx_runtime = require("react/jsx-runtime");
6
7
  let framer_motion = require("framer-motion");
7
8
  //#region src/components/forms/select/Select.tsx
8
- var Select = (0, react.forwardRef)(function SelectComponent({ className = "", containerClassName = "", triggerClassName = "", dropdownClassName = "", optionClassName = "", label, error, helperText, options, value, onChange, placeholder = "Select...", disabled, bgClassName = "bg-background-secondary", size = "default", selectionIndicator = "check", ...props }, ref) {
9
+ var Select = (0, react.forwardRef)(function SelectComponent({ className = "", containerClassName = "", triggerClassName = "", dropdownClassName = "", optionClassName = "", label, error, helperText, options, value, onChange, placeholder = "Select...", disabled, bgClassName = "bg-ds-surface-1", size = "default", selectionIndicator = "check", ...props }, ref) {
9
10
  const [open, setOpen] = (0, react.useState)(false);
10
11
  const [visible, setVisible] = (0, react.useState)(false);
11
12
  const containerRef = (0, react.useRef)(null);
@@ -71,7 +72,7 @@ var Select = (0, react.forwardRef)(function SelectComponent({ className = "", co
71
72
  className: require_utils.mergeClassNames("w-full", isCompact ? "min-w-0" : "min-w-48", containerClassName),
72
73
  children: [
73
74
  label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
74
- className: "mb-2 block text-sm leading-none font-medium text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
75
+ className: "mb-2 block text-sm leading-none font-medium text-ds-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
75
76
  children: label
76
77
  }) : null,
77
78
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
@@ -103,9 +104,9 @@ var Select = (0, react.forwardRef)(function SelectComponent({ className = "", co
103
104
  onMouseMove: !disabled ? handleMouseMove : void 0,
104
105
  onMouseEnter: !disabled ? () => setVisible(true) : void 0,
105
106
  onMouseLeave: !disabled ? () => setVisible(false) : void 0,
106
- className: require_utils.mergeClassNames("group/select rounded-lg p-[2px] transition duration-300 hover:border-accent", disabled ? "border-none bg-muted" : error ? "border-destructive" : "border-border"),
107
+ className: require_utils.mergeClassNames("group/select rounded-lg p-[2px] transition duration-300 hover:border-ds-border-accent", disabled ? "border-none bg-ds-surface-1" : error ? "border-ds-state-error-border" : "border-ds-border-2"),
107
108
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
108
- className: require_utils.mergeClassNames("flex w-full cursor-pointer items-center justify-between rounded-md border border-input transition duration-400 ease-in-out", isCompact ? "h-9 px-2.5 py-2 text-sm" : "h-10 px-3 py-2 text-sm", bgClassName, disabled ? "cursor-not-allowed opacity-50" : "text-foreground", error ? "border-destructive text-destructive focus-visible:ring-destructive" : "", triggerClassName),
109
+ className: require_utils.mergeClassNames("flex w-full cursor-pointer items-center justify-between rounded-md border border-ds-border-field transition duration-400 ease-in-out", isCompact ? "h-9 px-2.5 py-2 text-sm" : "h-10 px-3 py-2 text-sm", bgClassName, disabled ? "cursor-not-allowed opacity-50" : "text-ds-1", error ? "border-ds-state-error-border text-ds-state-error-text focus-visible:ring-ds-state-error-border" : "", triggerClassName),
109
110
  onClick: () => {
110
111
  if (!disabled) setOpen((current) => !current);
111
112
  },
@@ -114,14 +115,17 @@ var Select = (0, react.forwardRef)(function SelectComponent({ className = "", co
114
115
  tabIndex: disabled ? -1 : 0,
115
116
  "aria-haspopup": "listbox",
116
117
  "aria-expanded": open,
117
- children: [selectedOption ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
118
- className: "min-w-0 flex-1 truncate text-foreground",
118
+ children: [selectedOption ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_truncated_text.TruncatedText, {
119
+ as: "span",
120
+ showTitleOnHover: true,
121
+ className: "flex-1 text-ds-1",
119
122
  children: selectedOption.label
120
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
121
- className: "min-w-0 flex-1 truncate text-muted-foreground",
123
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_truncated_text.TruncatedText, {
124
+ as: "span",
125
+ className: "flex-1 text-ds-2",
122
126
  children: placeholder
123
127
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
124
- className: require_utils.mergeClassNames("ml-2 shrink-0 text-muted-foreground transition-transform duration-300", open ? "rotate-180" : "rotate-0"),
128
+ className: require_utils.mergeClassNames("ml-2 shrink-0 text-ds-2 transition-transform duration-300", open ? "rotate-180" : "rotate-0"),
125
129
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronDownIcon, {
126
130
  width: 24,
127
131
  height: 24,
@@ -131,34 +135,36 @@ var Select = (0, react.forwardRef)(function SelectComponent({ className = "", co
131
135
  })]
132
136
  })
133
137
  }), open && !disabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
134
- className: require_utils.mergeClassNames("absolute right-0 left-0 z-20 mt-1 flex flex-col overflow-auto rounded-lg border border-border bg-background-secondary shadow-3 backdrop-blur-xl transition", isCompact ? "max-h-56" : "max-h-60", dropdownClassName),
138
+ className: require_utils.mergeClassNames("absolute right-0 left-0 z-20 mt-1 flex flex-col overflow-auto rounded-lg border border-ds-border-2 bg-ds-surface-1 shadow-3 backdrop-blur-xl transition", isCompact ? "max-h-56" : "max-h-60", dropdownClassName),
135
139
  children: [options.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
136
- className: "px-3 py-2 text-muted-foreground",
140
+ className: "px-3 py-2 text-ds-2",
137
141
  children: "No options"
138
142
  }) : null, options.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
139
143
  ref: option.value === value ? selectedOptionRef : null,
140
- className: require_utils.mergeClassNames("mx-1 my-1 flex cursor-pointer items-center rounded-md text-foreground transition", isCompact ? "gap-1.5 px-2.5 py-2 text-sm" : "gap-2 px-3 py-2 text-sm", option.value === value ? "bg-accent-subtle font-semibold text-accent" : "", "hover:bg-accent hover:text-on-accent", optionClassName),
144
+ className: require_utils.mergeClassNames("mx-1 my-1 flex cursor-pointer items-center rounded-md text-ds-1 transition", isCompact ? "gap-1.5 px-2.5 py-2 text-sm" : "gap-2 px-3 py-2 text-sm", option.value === value ? "bg-ds-accent-subtle font-semibold text-ds-1" : "", "hover:bg-ds-accent hover:text-ds-on-accent", optionClassName),
141
145
  onClick: () => handleSelect(option.value),
142
146
  children: [selectionIndicator === "check" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
143
147
  className: require_utils.mergeClassNames("flex items-center justify-center", isCompact ? "w-4" : "w-5"),
144
148
  children: option.value === value ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.CheckIcon, {
145
- className: "text-accent",
149
+ className: "text-ds-1",
146
150
  width: isCompact ? 16 : 18,
147
151
  height: isCompact ? 16 : 18
148
152
  }) : null
149
- }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
150
- className: "min-w-0 flex-1 truncate",
153
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_truncated_text.TruncatedText, {
154
+ as: "span",
155
+ showTitleOnHover: true,
156
+ className: "flex-1",
151
157
  children: option.label
152
158
  })]
153
159
  }, option.value))]
154
160
  }) : null]
155
161
  }),
156
162
  error ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
157
- className: "mt-1 text-sm font-medium text-destructive",
163
+ className: "mt-1 text-sm font-medium text-ds-state-error-text",
158
164
  children: error
159
165
  }) : null,
160
166
  helperText && !error ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
161
- className: "mt-1 text-sm text-muted-foreground",
167
+ className: "mt-1 text-sm text-ds-2",
162
168
  children: helperText
163
169
  }) : null
164
170
  ]
@@ -173,4 +179,4 @@ Object.defineProperty(exports, "Select", {
173
179
  }
174
180
  });
175
181
 
176
- //# sourceMappingURL=select-CCUSMvfS.cjs.map
182
+ //# sourceMappingURL=select-SOmIt-BD.cjs.map