erp-pro-ui 0.2.5 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/dist/accordion.cjs +1 -1
  2. package/dist/accordion.mjs +1 -1
  3. package/dist/alert.cjs +1 -1
  4. package/dist/alert.mjs +1 -1
  5. package/dist/animated-content.cjs +1 -1
  6. package/dist/animated-content.mjs +1 -1
  7. package/dist/ascii-text.cjs +1 -1
  8. package/dist/ascii-text.mjs +1 -1
  9. package/dist/background-gradient-animation.cjs +1 -1
  10. package/dist/background-gradient-animation.mjs +1 -1
  11. package/dist/button-hover-border-gradient.cjs +1 -1
  12. package/dist/button-hover-border-gradient.mjs +1 -1
  13. package/dist/button.cjs +1 -1
  14. package/dist/button.mjs +1 -1
  15. package/dist/calendar.cjs +1 -1
  16. package/dist/calendar.mjs +1 -1
  17. package/dist/card.cjs +1 -1
  18. package/dist/card.mjs +1 -1
  19. package/dist/carousel.cjs +1 -1
  20. package/dist/carousel.mjs +1 -1
  21. package/dist/catalog.cjs +21 -0
  22. package/dist/catalog.cjs.map +1 -1
  23. package/dist/catalog.d.ts +37 -1
  24. package/dist/catalog.d.ts.map +1 -1
  25. package/dist/catalog.mjs +21 -0
  26. package/dist/catalog.mjs.map +1 -1
  27. package/dist/charts.cjs +1 -1
  28. package/dist/charts.mjs +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.mjs +1 -1
  31. package/dist/chip.cjs +1 -1
  32. package/dist/chip.mjs +1 -1
  33. package/dist/chroma-grid.cjs +1 -1
  34. package/dist/chroma-grid.mjs +1 -1
  35. package/dist/chunks/{drawer-DaoAXL-w.mjs → Drawer-BhTTQV8Q.mjs} +2 -2
  36. package/dist/chunks/{drawer-DaoAXL-w.mjs.map → Drawer-BhTTQV8Q.mjs.map} +1 -1
  37. package/dist/chunks/{drawer-D07dGN6R.cjs → Drawer-C_DLqrus.cjs} +2 -3
  38. package/dist/chunks/{drawer-D07dGN6R.cjs.map → Drawer-C_DLqrus.cjs.map} +1 -1
  39. package/dist/chunks/{DropdownMenu-BtTOri-A.mjs → DropdownMenu-B18BI5l7.mjs} +2 -2
  40. package/dist/chunks/{DropdownMenu-BtTOri-A.mjs.map → DropdownMenu-B18BI5l7.mjs.map} +1 -1
  41. package/dist/chunks/{DropdownMenu-BDrNYO-D.cjs → DropdownMenu-CEmlmX7P.cjs} +2 -3
  42. package/dist/chunks/{DropdownMenu-BDrNYO-D.cjs.map → DropdownMenu-CEmlmX7P.cjs.map} +1 -1
  43. package/dist/chunks/{HoverBorderGradient-NbdXeLgC.mjs → HoverBorderGradient-CGKcviEd.mjs} +2 -2
  44. package/dist/chunks/{HoverBorderGradient-NbdXeLgC.mjs.map → HoverBorderGradient-CGKcviEd.mjs.map} +1 -1
  45. package/dist/chunks/{HoverBorderGradient-9pfvBoHR.cjs → HoverBorderGradient-DTKasFZO.cjs} +2 -3
  46. package/dist/chunks/{HoverBorderGradient-9pfvBoHR.cjs.map → HoverBorderGradient-DTKasFZO.cjs.map} +1 -1
  47. package/dist/chunks/{SunToMoonButton-BkEfkElJ.mjs → SunToMoonButton-DIMK53fW.mjs} +2 -2
  48. package/dist/chunks/{SunToMoonButton-BkEfkElJ.mjs.map → SunToMoonButton-DIMK53fW.mjs.map} +1 -1
  49. package/dist/chunks/{SunToMoonButton-jS4BJD9q.cjs → SunToMoonButton-DUuIqw22.cjs} +2 -3
  50. package/dist/chunks/{SunToMoonButton-jS4BJD9q.cjs.map → SunToMoonButton-DUuIqw22.cjs.map} +1 -1
  51. package/dist/chunks/{Tooltip-DD30yj3A.cjs → Tooltip-1yPGRJ2Q.cjs} +10 -8
  52. package/dist/chunks/Tooltip-1yPGRJ2Q.cjs.map +1 -0
  53. package/dist/chunks/{Tooltip-DK3B879v.mjs → Tooltip-CEj-I4JO.mjs} +10 -7
  54. package/dist/chunks/Tooltip-CEj-I4JO.mjs.map +1 -0
  55. package/dist/chunks/{accordion-6zxJUYXr.mjs → accordion-Cf-Q3rec.mjs} +2 -2
  56. package/dist/chunks/{accordion-6zxJUYXr.mjs.map → accordion-Cf-Q3rec.mjs.map} +1 -1
  57. package/dist/chunks/{accordion-CmB6EidC.cjs → accordion-X4PNqWkW.cjs} +2 -3
  58. package/dist/chunks/{accordion-CmB6EidC.cjs.map → accordion-X4PNqWkW.cjs.map} +1 -1
  59. package/dist/chunks/{alert-C5KEeQqh.cjs → alert-BEMULPIi.cjs} +2 -3
  60. package/dist/chunks/{alert-C5KEeQqh.cjs.map → alert-BEMULPIi.cjs.map} +1 -1
  61. package/dist/chunks/{alert-XVmYJgds.mjs → alert-GImBqaCY.mjs} +2 -2
  62. package/dist/chunks/{alert-XVmYJgds.mjs.map → alert-GImBqaCY.mjs.map} +1 -1
  63. package/dist/chunks/{animated-content-bK6xp-vc.mjs → animated-content-Bp-Yt0_7.mjs} +1 -1
  64. package/dist/chunks/{animated-content-bK6xp-vc.mjs.map → animated-content-Bp-Yt0_7.mjs.map} +1 -1
  65. package/dist/chunks/{animated-content-CLsFnjgr.cjs → animated-content-tSHXDZq2.cjs} +1 -2
  66. package/dist/chunks/{animated-content-CLsFnjgr.cjs.map → animated-content-tSHXDZq2.cjs.map} +1 -1
  67. package/dist/chunks/{ascii-text-BFnpVur6.cjs → ascii-text-Ctua6ucZ.cjs} +2 -2
  68. package/dist/chunks/{ascii-text-BFnpVur6.cjs.map → ascii-text-Ctua6ucZ.cjs.map} +1 -1
  69. package/dist/chunks/{ascii-text-Bdy4C5rU.mjs → ascii-text-QyP7JU7g.mjs} +1 -1
  70. package/dist/chunks/{ascii-text-Bdy4C5rU.mjs.map → ascii-text-QyP7JU7g.mjs.map} +1 -1
  71. package/dist/chunks/{background-gradient-animation-BR9wx6Z8.mjs → background-gradient-animation-CZUD_aq2.mjs} +2 -2
  72. package/dist/chunks/{background-gradient-animation-BR9wx6Z8.mjs.map → background-gradient-animation-CZUD_aq2.mjs.map} +1 -1
  73. package/dist/chunks/{background-gradient-animation-CiNdmA61.cjs → background-gradient-animation-PvM0i88k.cjs} +2 -3
  74. package/dist/chunks/{background-gradient-animation-CiNdmA61.cjs.map → background-gradient-animation-PvM0i88k.cjs.map} +1 -1
  75. package/dist/chunks/{button-A6UTvrOu.mjs → button-CAU9ej3h.mjs} +3 -2
  76. package/dist/chunks/button-CAU9ej3h.mjs.map +1 -0
  77. package/dist/chunks/{button-C4MXPxsC.cjs → button-D2ZYmVda.cjs} +3 -3
  78. package/dist/chunks/button-D2ZYmVda.cjs.map +1 -0
  79. package/dist/chunks/{button-hover-border-gradient-ssmwU5-U.cjs → button-hover-border-gradient-D12Zjmd3.cjs} +2 -3
  80. package/dist/chunks/{button-hover-border-gradient-ssmwU5-U.cjs.map → button-hover-border-gradient-D12Zjmd3.cjs.map} +1 -1
  81. package/dist/chunks/{button-hover-border-gradient-DnFvjNNw.mjs → button-hover-border-gradient-VNEg4V0o.mjs} +2 -2
  82. package/dist/chunks/{button-hover-border-gradient-DnFvjNNw.mjs.map → button-hover-border-gradient-VNEg4V0o.mjs.map} +1 -1
  83. package/dist/chunks/calendar-BlUhssD4.mjs +203 -0
  84. package/dist/chunks/calendar-BlUhssD4.mjs.map +1 -0
  85. package/dist/chunks/calendar-CdKKhdx5.cjs +208 -0
  86. package/dist/chunks/calendar-CdKKhdx5.cjs.map +1 -0
  87. package/dist/chunks/{card-RrT68nvu.cjs → card-C_Qr7E6E.cjs} +1 -2
  88. package/dist/chunks/{card-RrT68nvu.cjs.map → card-C_Qr7E6E.cjs.map} +1 -1
  89. package/dist/chunks/{card-BId1_zHw.mjs → card-DYHDNCPK.mjs} +1 -1
  90. package/dist/chunks/{card-BId1_zHw.mjs.map → card-DYHDNCPK.mjs.map} +1 -1
  91. package/dist/chunks/{carousel-Cv0m1Pp5.cjs → carousel-DtOJEbEU.cjs} +4 -5
  92. package/dist/chunks/{carousel-Cv0m1Pp5.cjs.map → carousel-DtOJEbEU.cjs.map} +1 -1
  93. package/dist/chunks/{carousel-Dd4rp-jr.mjs → carousel-eeqWZZHE.mjs} +4 -4
  94. package/dist/chunks/{carousel-Dd4rp-jr.mjs.map → carousel-eeqWZZHE.mjs.map} +1 -1
  95. package/dist/chunks/chartStyles-2mTluDoo.cjs +108 -0
  96. package/dist/chunks/chartStyles-2mTluDoo.cjs.map +1 -0
  97. package/dist/chunks/chartStyles-DrHVYS5N.mjs +55 -0
  98. package/dist/chunks/chartStyles-DrHVYS5N.mjs.map +1 -0
  99. package/dist/chunks/{charts-BmIV-mJy.cjs → charts-DMu4zp8j.cjs} +43 -94
  100. package/dist/chunks/charts-DMu4zp8j.cjs.map +1 -0
  101. package/dist/chunks/{charts-DkVu0rFc.mjs → charts-DlskmT1J.mjs} +3 -54
  102. package/dist/chunks/charts-DlskmT1J.mjs.map +1 -0
  103. package/dist/chunks/{checkbox-3aB7XC9_.mjs → checkbox-D7EJQbqC.mjs} +1 -1
  104. package/dist/chunks/{checkbox-3aB7XC9_.mjs.map → checkbox-D7EJQbqC.mjs.map} +1 -1
  105. package/dist/chunks/{checkbox-D8ivRZ1x.cjs → checkbox-Lw2UqyNE.cjs} +1 -2
  106. package/dist/chunks/{checkbox-D8ivRZ1x.cjs.map → checkbox-Lw2UqyNE.cjs.map} +1 -1
  107. package/dist/chunks/{chip-B0YzBwkz.cjs → chip-D5i9VT9O.cjs} +4 -5
  108. package/dist/chunks/{chip-B0YzBwkz.cjs.map → chip-D5i9VT9O.cjs.map} +1 -1
  109. package/dist/chunks/{chip-CqcdcSs2.mjs → chip-DBlSQcqR.mjs} +4 -4
  110. package/dist/chunks/{chip-CqcdcSs2.mjs.map → chip-DBlSQcqR.mjs.map} +1 -1
  111. package/dist/chunks/{chroma-grid-DcZ9f4Ui.cjs → chroma-grid-CTDtdFUm.cjs} +2 -3
  112. package/dist/chunks/{chroma-grid-DcZ9f4Ui.cjs.map → chroma-grid-CTDtdFUm.cjs.map} +1 -1
  113. package/dist/chunks/{chroma-grid-opB2DBtS.mjs → chroma-grid-DuLTfGVP.mjs} +2 -2
  114. package/dist/chunks/{chroma-grid-opB2DBtS.mjs.map → chroma-grid-DuLTfGVP.mjs.map} +1 -1
  115. package/dist/chunks/{color-palette-pLh6En3n.cjs → color-palette-DQQ9UV0N.cjs} +2 -2
  116. package/dist/chunks/{color-palette-pLh6En3n.cjs.map → color-palette-DQQ9UV0N.cjs.map} +1 -1
  117. package/dist/chunks/{color-palette-C3lesasJ.mjs → color-palette-G1HUXWJP.mjs} +1 -1
  118. package/dist/chunks/{color-palette-C3lesasJ.mjs.map → color-palette-G1HUXWJP.mjs.map} +1 -1
  119. package/dist/chunks/{combobox-CtNrGmuR.cjs → combobox-CkNzH1YV.cjs} +6 -6
  120. package/dist/chunks/{combobox-CtNrGmuR.cjs.map → combobox-CkNzH1YV.cjs.map} +1 -1
  121. package/dist/chunks/{combobox-B6yk5U82.mjs → combobox-xNmFFHd6.mjs} +5 -5
  122. package/dist/chunks/{combobox-B6yk5U82.mjs.map → combobox-xNmFFHd6.mjs.map} +1 -1
  123. package/dist/chunks/dashboard-cards-Bww66_5K.cjs +6570 -0
  124. package/dist/chunks/dashboard-cards-Bww66_5K.cjs.map +1 -0
  125. package/dist/chunks/dashboard-cards-lnifLEyj.mjs +6385 -0
  126. package/dist/chunks/dashboard-cards-lnifLEyj.mjs.map +1 -0
  127. package/dist/chunks/{data-table-fAEuevPn.cjs → data-table-BCVbzkLo.cjs} +48 -37
  128. package/dist/chunks/data-table-BCVbzkLo.cjs.map +1 -0
  129. package/dist/chunks/{data-table-Dtf6lKpp.mjs → data-table-C25KHEn4.mjs} +47 -36
  130. package/dist/chunks/data-table-C25KHEn4.mjs.map +1 -0
  131. package/dist/chunks/date-picker--cqsgsIV.mjs +587 -0
  132. package/dist/chunks/date-picker--cqsgsIV.mjs.map +1 -0
  133. package/dist/chunks/date-picker-BJQdFyqr.cjs +592 -0
  134. package/dist/chunks/date-picker-BJQdFyqr.cjs.map +1 -0
  135. package/dist/chunks/{dialog-DSyq6MS3.mjs → dialog-BHIeG3Sg.mjs} +3 -3
  136. package/dist/chunks/{dialog-DSyq6MS3.mjs.map → dialog-BHIeG3Sg.mjs.map} +1 -1
  137. package/dist/chunks/{dialog-J2ZTSTpL.cjs → dialog-CLKU0cXX.cjs} +3 -4
  138. package/dist/chunks/{dialog-J2ZTSTpL.cjs.map → dialog-CLKU0cXX.cjs.map} +1 -1
  139. package/dist/chunks/draggable-grid-2L_eHKfp.cjs +245 -0
  140. package/dist/chunks/draggable-grid-2L_eHKfp.cjs.map +1 -0
  141. package/dist/chunks/draggable-grid-IuCMSOsE.mjs +240 -0
  142. package/dist/chunks/draggable-grid-IuCMSOsE.mjs.map +1 -0
  143. package/dist/chunks/event-calendar-CO2doGJW.mjs +1191 -0
  144. package/dist/chunks/event-calendar-CO2doGJW.mjs.map +1 -0
  145. package/dist/chunks/event-calendar-CvficOuV.cjs +1208 -0
  146. package/dist/chunks/event-calendar-CvficOuV.cjs.map +1 -0
  147. package/dist/chunks/{form-X6Vyaavl.cjs → form-DARN6jtX.cjs} +1 -2
  148. package/dist/chunks/{form-X6Vyaavl.cjs.map → form-DARN6jtX.cjs.map} +1 -1
  149. package/dist/chunks/{form-CtZ6U-_B.mjs → form-DNuFklNR.mjs} +1 -1
  150. package/dist/chunks/{form-CtZ6U-_B.mjs.map → form-DNuFklNR.mjs.map} +1 -1
  151. package/dist/chunks/{gradual-blur-C6NOnjTw.cjs → gradual-blur-BBLbpXD4.cjs} +2 -3
  152. package/dist/chunks/{gradual-blur-C6NOnjTw.cjs.map → gradual-blur-BBLbpXD4.cjs.map} +1 -1
  153. package/dist/chunks/{gradual-blur-DXfxpCdB.mjs → gradual-blur-BPx2MSWI.mjs} +2 -2
  154. package/dist/chunks/{gradual-blur-DXfxpCdB.mjs.map → gradual-blur-BPx2MSWI.mjs.map} +1 -1
  155. package/dist/chunks/{hover-card-C88rU-nW.mjs → hover-card-BkVHGXz6.mjs} +1 -1
  156. package/dist/chunks/{hover-card-C88rU-nW.mjs.map → hover-card-BkVHGXz6.mjs.map} +1 -1
  157. package/dist/chunks/{hover-card--rplmsA_.cjs → hover-card-DwZFtu8w.cjs} +1 -2
  158. package/dist/chunks/{hover-card--rplmsA_.cjs.map → hover-card-DwZFtu8w.cjs.map} +1 -1
  159. package/dist/chunks/{icons-CRanVZB1.cjs → icons-Ci8yEvvF.cjs} +1 -2
  160. package/dist/chunks/{icons-CRanVZB1.cjs.map → icons-Ci8yEvvF.cjs.map} +1 -1
  161. package/dist/chunks/{icons-bx3nrxNv.mjs → icons-CkVHNbbN.mjs} +1 -1
  162. package/dist/chunks/{icons-bx3nrxNv.mjs.map → icons-CkVHNbbN.mjs.map} +1 -1
  163. package/dist/chunks/{input-Bqo9Q5zF.mjs → input-B-XSdnfh.mjs} +4 -4
  164. package/dist/chunks/{input-Bqo9Q5zF.mjs.map → input-B-XSdnfh.mjs.map} +1 -1
  165. package/dist/chunks/{input-DkCPyWXi.cjs → input-EH7x0pQY.cjs} +4 -5
  166. package/dist/chunks/{input-DkCPyWXi.cjs.map → input-EH7x0pQY.cjs.map} +1 -1
  167. package/dist/chunks/{label-Drxg0cG2.mjs → label-CcsncrKQ.mjs} +1 -1
  168. package/dist/chunks/{label-Drxg0cG2.mjs.map → label-CcsncrKQ.mjs.map} +1 -1
  169. package/dist/chunks/{label-BKzqfAAq.cjs → label-Du-5H7wd.cjs} +1 -2
  170. package/dist/chunks/{label-BKzqfAAq.cjs.map → label-Du-5H7wd.cjs.map} +1 -1
  171. package/dist/chunks/{loading-Dtosnb4A.mjs → loading-2Lh_355V.mjs} +2 -2
  172. package/dist/chunks/{loading-Dtosnb4A.mjs.map → loading-2Lh_355V.mjs.map} +1 -1
  173. package/dist/chunks/{loading-BiM4mKh6.cjs → loading-DeGHTDO2.cjs} +2 -3
  174. package/dist/chunks/{loading-BiM4mKh6.cjs.map → loading-DeGHTDO2.cjs.map} +1 -1
  175. package/dist/chunks/{multi-select-combobox-Do23ZfOQ.mjs → multi-select-combobox-BOdKmPj2.mjs} +4 -4
  176. package/dist/chunks/{multi-select-combobox-Do23ZfOQ.mjs.map → multi-select-combobox-BOdKmPj2.mjs.map} +1 -1
  177. package/dist/chunks/{multi-select-combobox-C0DoDzxQ.cjs → multi-select-combobox-PPYRcaPg.cjs} +5 -5
  178. package/dist/chunks/{multi-select-combobox-C0DoDzxQ.cjs.map → multi-select-combobox-PPYRcaPg.cjs.map} +1 -1
  179. package/dist/chunks/{otp-input-JOysxKfD.mjs → otp-input--_itTXaL.mjs} +1 -1
  180. package/dist/chunks/{otp-input-JOysxKfD.mjs.map → otp-input--_itTXaL.mjs.map} +1 -1
  181. package/dist/chunks/{otp-input-CkhV-sGl.cjs → otp-input-Dgw_47Z7.cjs} +1 -2
  182. package/dist/chunks/{otp-input-CkhV-sGl.cjs.map → otp-input-Dgw_47Z7.cjs.map} +1 -1
  183. package/dist/chunks/{overlay-DNnZywyR.cjs → overlay-15EzdrIu.cjs} +1 -2
  184. package/dist/chunks/{overlay-DNnZywyR.cjs.map → overlay-15EzdrIu.cjs.map} +1 -1
  185. package/dist/chunks/{overlay-BzkUmjQ-.mjs → overlay-BMbhF-EC.mjs} +1 -1
  186. package/dist/chunks/{overlay-BzkUmjQ-.mjs.map → overlay-BMbhF-EC.mjs.map} +1 -1
  187. package/dist/chunks/{password-strength-meter-DCi_BP7e.cjs → password-strength-meter-Be1c-dnK.cjs} +2 -3
  188. package/dist/chunks/{password-strength-meter-DCi_BP7e.cjs.map → password-strength-meter-Be1c-dnK.cjs.map} +1 -1
  189. package/dist/chunks/{password-strength-meter-BsvqQBAg.mjs → password-strength-meter-Q1Qr-4tz.mjs} +2 -2
  190. package/dist/chunks/{password-strength-meter-BsvqQBAg.mjs.map → password-strength-meter-Q1Qr-4tz.mjs.map} +1 -1
  191. package/dist/chunks/{progress-bar-CYaBO_lS.cjs → progress-bar-BsnX079N.cjs} +3 -3
  192. package/dist/chunks/{progress-bar-CYaBO_lS.cjs.map → progress-bar-BsnX079N.cjs.map} +1 -1
  193. package/dist/chunks/{progress-bar-DQ5ZKk2Y.mjs → progress-bar-l5WpbpZf.mjs} +2 -2
  194. package/dist/chunks/{progress-bar-DQ5ZKk2Y.mjs.map → progress-bar-l5WpbpZf.mjs.map} +1 -1
  195. package/dist/chunks/{radio-CuiM_gDv.mjs → radio-B94_TGtz.mjs} +2 -2
  196. package/dist/chunks/{radio-CuiM_gDv.mjs.map → radio-B94_TGtz.mjs.map} +1 -1
  197. package/dist/chunks/{radio-zx9xEW_C.cjs → radio-W_NiS_dO.cjs} +2 -3
  198. package/dist/chunks/{radio-zx9xEW_C.cjs.map → radio-W_NiS_dO.cjs.map} +1 -1
  199. package/dist/chunks/{select-bZ9WqLOc.cjs → select-C5lkcrSB.cjs} +5 -6
  200. package/dist/chunks/{select-bZ9WqLOc.cjs.map → select-C5lkcrSB.cjs.map} +1 -1
  201. package/dist/chunks/{select-CUaSNR09.mjs → select-DnSSxddm.mjs} +5 -5
  202. package/dist/chunks/{select-CUaSNR09.mjs.map → select-DnSSxddm.mjs.map} +1 -1
  203. package/dist/chunks/{sidebar-Dhf_Arae.mjs → sidebar-C3Sx87wD.mjs} +10 -11
  204. package/dist/chunks/{sidebar-Dhf_Arae.mjs.map → sidebar-C3Sx87wD.mjs.map} +1 -1
  205. package/dist/chunks/{sidebar-3i4mGE6T.cjs → sidebar-DDRWkz5k.cjs} +10 -12
  206. package/dist/chunks/{sidebar-3i4mGE6T.cjs.map → sidebar-DDRWkz5k.cjs.map} +1 -1
  207. package/dist/chunks/{skeleton-DCBGLNAZ.cjs → skeleton-B2u9c1xJ.cjs} +2 -3
  208. package/dist/chunks/{skeleton-DCBGLNAZ.cjs.map → skeleton-B2u9c1xJ.cjs.map} +1 -1
  209. package/dist/chunks/{skeleton-nH1eAN96.mjs → skeleton-DVAlrOq2.mjs} +2 -2
  210. package/dist/chunks/{skeleton-nH1eAN96.mjs.map → skeleton-DVAlrOq2.mjs.map} +1 -1
  211. package/dist/chunks/{spinners-g6_Up5Rb.mjs → spinners-BQtIp2ov.mjs} +2 -2
  212. package/dist/chunks/{spinners-g6_Up5Rb.mjs.map → spinners-BQtIp2ov.mjs.map} +1 -1
  213. package/dist/chunks/{spinners-C9acUulz.cjs → spinners-BiebALzS.cjs} +2 -3
  214. package/dist/chunks/{spinners-C9acUulz.cjs.map → spinners-BiebALzS.cjs.map} +1 -1
  215. package/dist/chunks/{splash-cursor-BqG7ClsJ.cjs → splash-cursor-8b7ORB2k.cjs} +2 -3
  216. package/dist/chunks/{splash-cursor-BqG7ClsJ.cjs.map → splash-cursor-8b7ORB2k.cjs.map} +1 -1
  217. package/dist/chunks/{splash-cursor-N4FdnkOa.mjs → splash-cursor-CeZffMed.mjs} +2 -2
  218. package/dist/chunks/{splash-cursor-N4FdnkOa.mjs.map → splash-cursor-CeZffMed.mjs.map} +1 -1
  219. package/dist/chunks/{spotlight-card-BmsqC7wm.cjs → spotlight-card-BQjp7hO1.cjs} +2 -3
  220. package/dist/chunks/{spotlight-card-BmsqC7wm.cjs.map → spotlight-card-BQjp7hO1.cjs.map} +1 -1
  221. package/dist/chunks/{spotlight-card-D9Z3nTmb.mjs → spotlight-card-DiPtBCAK.mjs} +2 -2
  222. package/dist/chunks/{spotlight-card-D9Z3nTmb.mjs.map → spotlight-card-DiPtBCAK.mjs.map} +1 -1
  223. package/dist/chunks/{stepper-DepvEGfr.cjs → stepper-BuhQfQTH.cjs} +5 -6
  224. package/dist/chunks/{stepper-DepvEGfr.cjs.map → stepper-BuhQfQTH.cjs.map} +1 -1
  225. package/dist/chunks/{stepper-Jv5OS1nY.mjs → stepper-CVNcexxq.mjs} +5 -5
  226. package/dist/chunks/{stepper-Jv5OS1nY.mjs.map → stepper-CVNcexxq.mjs.map} +1 -1
  227. package/dist/chunks/{sun-to-moon-button-PwgTPsTW.cjs → sun-to-moon-button-BzYGFhrg.cjs} +4 -5
  228. package/dist/chunks/{sun-to-moon-button-PwgTPsTW.cjs.map → sun-to-moon-button-BzYGFhrg.cjs.map} +1 -1
  229. package/dist/chunks/{sun-to-moon-button-BJtBEaa3.mjs → sun-to-moon-button-CRXBMFZb.mjs} +4 -4
  230. package/dist/chunks/{sun-to-moon-button-BJtBEaa3.mjs.map → sun-to-moon-button-CRXBMFZb.mjs.map} +1 -1
  231. package/dist/chunks/{switch-X3l8xnle.cjs → switch-CEoT3MgX.cjs} +1 -2
  232. package/dist/chunks/{switch-X3l8xnle.cjs.map → switch-CEoT3MgX.cjs.map} +1 -1
  233. package/dist/chunks/{switch-iPsN1NS2.mjs → switch-DUnNe4xP.mjs} +1 -1
  234. package/dist/chunks/{switch-iPsN1NS2.mjs.map → switch-DUnNe4xP.mjs.map} +1 -1
  235. package/dist/chunks/{textarea-CGRl2hrM.cjs → textarea-Bschfj24.cjs} +2 -3
  236. package/dist/chunks/{textarea-CGRl2hrM.cjs.map → textarea-Bschfj24.cjs.map} +1 -1
  237. package/dist/chunks/{textarea-Bdo-Trvi.mjs → textarea-CfeKo5HA.mjs} +2 -2
  238. package/dist/chunks/{textarea-Bdo-Trvi.mjs.map → textarea-CfeKo5HA.mjs.map} +1 -1
  239. package/dist/chunks/{theme-koPrLKQv.mjs → theme-BXML6jHE.mjs} +1 -1
  240. package/dist/chunks/{theme-koPrLKQv.mjs.map → theme-BXML6jHE.mjs.map} +1 -1
  241. package/dist/chunks/{theme-D6B-FaoE.cjs → theme-BzTaXYZ8.cjs} +1 -2
  242. package/dist/chunks/{theme-D6B-FaoE.cjs.map → theme-BzTaXYZ8.cjs.map} +1 -1
  243. package/dist/chunks/{toast-BcBidy5n.mjs → toast-D1W0BvoH.mjs} +2 -2
  244. package/dist/chunks/{toast-BcBidy5n.mjs.map → toast-D1W0BvoH.mjs.map} +1 -1
  245. package/dist/chunks/{toast-DiFgv3IL.cjs → toast-DL8svc6q.cjs} +2 -3
  246. package/dist/chunks/{toast-DiFgv3IL.cjs.map → toast-DL8svc6q.cjs.map} +1 -1
  247. package/dist/chunks/{truncated-text-BIXqNfOL.cjs → truncated-text-D0t4atw5.cjs} +3 -3
  248. package/dist/chunks/{truncated-text-BIXqNfOL.cjs.map → truncated-text-D0t4atw5.cjs.map} +1 -1
  249. package/dist/chunks/{truncated-text-C9t9o9IA.mjs → truncated-text-DIkg-8Vo.mjs} +2 -2
  250. package/dist/chunks/{truncated-text-C9t9o9IA.mjs.map → truncated-text-DIkg-8Vo.mjs.map} +1 -1
  251. package/dist/chunks/{typography-LwwY_MOy.cjs → typography-C5fYwhp2.cjs} +3 -3
  252. package/dist/chunks/{typography-LwwY_MOy.cjs.map → typography-C5fYwhp2.cjs.map} +1 -1
  253. package/dist/chunks/{typography-Ct-jDJP3.mjs → typography-Czi7t5y4.mjs} +2 -2
  254. package/dist/chunks/{typography-Ct-jDJP3.mjs.map → typography-Czi7t5y4.mjs.map} +1 -1
  255. package/dist/chunks/{utils-LRbEQHYs.cjs → utils-CoA0q63n.cjs} +84 -4
  256. package/dist/chunks/utils-CoA0q63n.cjs.map +1 -0
  257. package/dist/chunks/{utils-7S0u48mU.mjs → utils-Dc7j29ec.mjs} +84 -4
  258. package/dist/chunks/utils-Dc7j29ec.mjs.map +1 -0
  259. package/dist/color-palette.cjs +1 -1
  260. package/dist/color-palette.mjs +1 -1
  261. package/dist/combobox.cjs +1 -1
  262. package/dist/combobox.mjs +1 -1
  263. package/dist/components/data-display/charts/chartPalette.d.ts +1 -1
  264. package/dist/components/data-display/dashboard-cards/AIFeatureAdoptionCard.d.ts +26 -0
  265. package/dist/components/data-display/dashboard-cards/AIFeatureAdoptionCard.d.ts.map +1 -0
  266. package/dist/components/data-display/dashboard-cards/AIInsightsCard.d.ts +30 -0
  267. package/dist/components/data-display/dashboard-cards/AIInsightsCard.d.ts.map +1 -0
  268. package/dist/components/data-display/dashboard-cards/AcquisitionChannelCard.d.ts +24 -0
  269. package/dist/components/data-display/dashboard-cards/AcquisitionChannelCard.d.ts.map +1 -0
  270. package/dist/components/data-display/dashboard-cards/BarBreakdownCard.d.ts +49 -0
  271. package/dist/components/data-display/dashboard-cards/BarBreakdownCard.d.ts.map +1 -0
  272. package/dist/components/data-display/dashboard-cards/CustomerLifecycleCard.d.ts +24 -0
  273. package/dist/components/data-display/dashboard-cards/CustomerLifecycleCard.d.ts.map +1 -0
  274. package/dist/components/data-display/dashboard-cards/DeviceSalesCard.d.ts +25 -0
  275. package/dist/components/data-display/dashboard-cards/DeviceSalesCard.d.ts.map +1 -0
  276. package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts +143 -0
  277. package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts.map +1 -0
  278. package/dist/components/data-display/dashboard-cards/EarningsCard.d.ts +43 -0
  279. package/dist/components/data-display/dashboard-cards/EarningsCard.d.ts.map +1 -0
  280. package/dist/components/data-display/dashboard-cards/ExpensesCard.d.ts +26 -0
  281. package/dist/components/data-display/dashboard-cards/ExpensesCard.d.ts.map +1 -0
  282. package/dist/components/data-display/dashboard-cards/FinancialPLCard.d.ts +78 -0
  283. package/dist/components/data-display/dashboard-cards/FinancialPLCard.d.ts.map +1 -0
  284. package/dist/components/data-display/dashboard-cards/IncomeExpenseCard.d.ts +30 -0
  285. package/dist/components/data-display/dashboard-cards/IncomeExpenseCard.d.ts.map +1 -0
  286. package/dist/components/data-display/dashboard-cards/InventoryCards.d.ts +44 -0
  287. package/dist/components/data-display/dashboard-cards/InventoryCards.d.ts.map +1 -0
  288. package/dist/components/data-display/dashboard-cards/PaymentSummaryCard.d.ts +45 -0
  289. package/dist/components/data-display/dashboard-cards/PaymentSummaryCard.d.ts.map +1 -0
  290. package/dist/components/data-display/dashboard-cards/RevenueGrowthCard.d.ts +26 -0
  291. package/dist/components/data-display/dashboard-cards/RevenueGrowthCard.d.ts.map +1 -0
  292. package/dist/components/data-display/dashboard-cards/SalesHeatmapCard.d.ts +36 -0
  293. package/dist/components/data-display/dashboard-cards/SalesHeatmapCard.d.ts.map +1 -0
  294. package/dist/components/data-display/dashboard-cards/SalesOverviewCard.d.ts +33 -0
  295. package/dist/components/data-display/dashboard-cards/SalesOverviewCard.d.ts.map +1 -0
  296. package/dist/components/data-display/dashboard-cards/SeatUtilizationCard.d.ts +22 -0
  297. package/dist/components/data-display/dashboard-cards/SeatUtilizationCard.d.ts.map +1 -0
  298. package/dist/components/data-display/dashboard-cards/ShipmentStatisticsCard.d.ts +33 -0
  299. package/dist/components/data-display/dashboard-cards/ShipmentStatisticsCard.d.ts.map +1 -0
  300. package/dist/components/data-display/dashboard-cards/StockAvailabilityCard.d.ts +24 -0
  301. package/dist/components/data-display/dashboard-cards/StockAvailabilityCard.d.ts.map +1 -0
  302. package/dist/components/data-display/dashboard-cards/SubscriptionHealthCard.d.ts +23 -0
  303. package/dist/components/data-display/dashboard-cards/SubscriptionHealthCard.d.ts.map +1 -0
  304. package/dist/components/data-display/dashboard-cards/SupportTrackerCard.d.ts +25 -0
  305. package/dist/components/data-display/dashboard-cards/SupportTrackerCard.d.ts.map +1 -0
  306. package/dist/components/data-display/dashboard-cards/ToolUsageOverviewCard.d.ts +22 -0
  307. package/dist/components/data-display/dashboard-cards/ToolUsageOverviewCard.d.ts.map +1 -0
  308. package/dist/components/data-display/dashboard-cards/TopPlansCard.d.ts +23 -0
  309. package/dist/components/data-display/dashboard-cards/TopPlansCard.d.ts.map +1 -0
  310. package/dist/components/data-display/dashboard-cards/TopSellingItemsCard.d.ts +42 -0
  311. package/dist/components/data-display/dashboard-cards/TopSellingItemsCard.d.ts.map +1 -0
  312. package/dist/components/data-display/dashboard-cards/TopToolsCard.d.ts +22 -0
  313. package/dist/components/data-display/dashboard-cards/TopToolsCard.d.ts.map +1 -0
  314. package/dist/components/data-display/dashboard-cards/TopicsCard.d.ts +18 -0
  315. package/dist/components/data-display/dashboard-cards/TopicsCard.d.ts.map +1 -0
  316. package/dist/components/data-display/dashboard-cards/VehicleConditionCard.d.ts +20 -0
  317. package/dist/components/data-display/dashboard-cards/VehicleConditionCard.d.ts.map +1 -0
  318. package/dist/components/data-display/dashboard-cards/VehiclesOverviewCard.d.ts +21 -0
  319. package/dist/components/data-display/dashboard-cards/VehiclesOverviewCard.d.ts.map +1 -0
  320. package/dist/components/data-display/dashboard-cards/_PLCardHeader.d.ts +63 -0
  321. package/dist/components/data-display/dashboard-cards/_PLCardHeader.d.ts.map +1 -0
  322. package/dist/components/data-display/dashboard-cards/_PLCharts.d.ts +33 -0
  323. package/dist/components/data-display/dashboard-cards/_PLCharts.d.ts.map +1 -0
  324. package/dist/components/data-display/dashboard-cards/_PLKpiStrip.d.ts +11 -0
  325. package/dist/components/data-display/dashboard-cards/_PLKpiStrip.d.ts.map +1 -0
  326. package/dist/components/data-display/dashboard-cards/_PLOverview.d.ts +9 -0
  327. package/dist/components/data-display/dashboard-cards/_PLOverview.d.ts.map +1 -0
  328. package/dist/components/data-display/dashboard-cards/_TabTooltip.d.ts +8 -0
  329. package/dist/components/data-display/dashboard-cards/_TabTooltip.d.ts.map +1 -0
  330. package/dist/components/data-display/dashboard-cards/index.d.ts +57 -0
  331. package/dist/components/data-display/dashboard-cards/index.d.ts.map +1 -1
  332. package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
  333. package/dist/components/data-display/data-table/DataTableControls.d.ts.map +1 -1
  334. package/dist/components/data-display/event-calendar/AddEventPanel.d.ts +11 -0
  335. package/dist/components/data-display/event-calendar/AddEventPanel.d.ts.map +1 -0
  336. package/dist/components/data-display/event-calendar/CalendarHeader.d.ts +13 -0
  337. package/dist/components/data-display/event-calendar/CalendarHeader.d.ts.map +1 -0
  338. package/dist/components/data-display/event-calendar/CalendarSidebar.d.ts +13 -0
  339. package/dist/components/data-display/event-calendar/CalendarSidebar.d.ts.map +1 -0
  340. package/dist/components/data-display/event-calendar/EventCalendar.d.ts +3 -0
  341. package/dist/components/data-display/event-calendar/EventCalendar.d.ts.map +1 -0
  342. package/dist/components/data-display/event-calendar/EventDetailDrawer.d.ts +10 -0
  343. package/dist/components/data-display/event-calendar/EventDetailDrawer.d.ts.map +1 -0
  344. package/dist/components/data-display/event-calendar/EventFilterList.d.ts +9 -0
  345. package/dist/components/data-display/event-calendar/EventFilterList.d.ts.map +1 -0
  346. package/dist/components/data-display/event-calendar/EventPill.d.ts +10 -0
  347. package/dist/components/data-display/event-calendar/EventPill.d.ts.map +1 -0
  348. package/dist/components/data-display/event-calendar/MiniCalendarPicker.d.ts +9 -0
  349. package/dist/components/data-display/event-calendar/MiniCalendarPicker.d.ts.map +1 -0
  350. package/dist/components/data-display/event-calendar/calendarUtils.d.ts +27 -0
  351. package/dist/components/data-display/event-calendar/calendarUtils.d.ts.map +1 -0
  352. package/dist/components/data-display/event-calendar/index.d.ts +4 -0
  353. package/dist/components/data-display/event-calendar/index.d.ts.map +1 -0
  354. package/dist/components/data-display/event-calendar/types.d.ts +52 -0
  355. package/dist/components/data-display/event-calendar/types.d.ts.map +1 -0
  356. package/dist/components/data-display/event-calendar/views/DayView.d.ts +10 -0
  357. package/dist/components/data-display/event-calendar/views/DayView.d.ts.map +1 -0
  358. package/dist/components/data-display/event-calendar/views/ListView.d.ts +10 -0
  359. package/dist/components/data-display/event-calendar/views/ListView.d.ts.map +1 -0
  360. package/dist/components/data-display/event-calendar/views/MonthView.d.ts +11 -0
  361. package/dist/components/data-display/event-calendar/views/MonthView.d.ts.map +1 -0
  362. package/dist/components/data-display/event-calendar/views/WeekView.d.ts +10 -0
  363. package/dist/components/data-display/event-calendar/views/WeekView.d.ts.map +1 -0
  364. package/dist/components/forms/button/Button.d.ts.map +1 -1
  365. package/dist/components/forms/calendar/Calendar.d.ts +1 -1
  366. package/dist/components/forms/calendar/Calendar.d.ts.map +1 -1
  367. package/dist/components/forms/calendar/types.d.ts +6 -0
  368. package/dist/components/forms/calendar/types.d.ts.map +1 -1
  369. package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
  370. package/dist/components/layout/draggable-grid/DraggableGrid.d.ts +20 -0
  371. package/dist/components/layout/draggable-grid/DraggableGrid.d.ts.map +1 -0
  372. package/dist/components/layout/draggable-grid/index.d.ts +3 -0
  373. package/dist/components/layout/draggable-grid/index.d.ts.map +1 -0
  374. package/dist/components/navigation/sidebar/DashboardSidebarShell.d.ts.map +1 -1
  375. package/dist/components/overlays/tooltip/Tooltip.d.ts +3 -1
  376. package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -1
  377. package/dist/dashboard-cards.cjs +33 -0
  378. package/dist/dashboard-cards.d.ts +2 -0
  379. package/dist/dashboard-cards.mjs +2 -0
  380. package/dist/data-table.cjs +1 -1
  381. package/dist/data-table.mjs +1 -1
  382. package/dist/date-picker.cjs +1 -1
  383. package/dist/date-picker.mjs +1 -1
  384. package/dist/dialog.cjs +1 -1
  385. package/dist/dialog.mjs +1 -1
  386. package/dist/docs.cjs +44 -0
  387. package/dist/docs.cjs.map +1 -1
  388. package/dist/docs.d.ts.map +1 -1
  389. package/dist/docs.mjs +44 -0
  390. package/dist/docs.mjs.map +1 -1
  391. package/dist/draggable-grid.cjs +3 -0
  392. package/dist/draggable-grid.d.ts +2 -0
  393. package/dist/draggable-grid.mjs +2 -0
  394. package/dist/drawer.cjs +2 -2
  395. package/dist/drawer.mjs +1 -1
  396. package/dist/event-calendar.cjs +5 -0
  397. package/dist/event-calendar.d.ts +2 -0
  398. package/dist/event-calendar.mjs +2 -0
  399. package/dist/form.cjs +1 -1
  400. package/dist/form.mjs +1 -1
  401. package/dist/gradual-blur.cjs +1 -1
  402. package/dist/gradual-blur.mjs +1 -1
  403. package/dist/hover-border-gradient.cjs +1 -1
  404. package/dist/hover-border-gradient.mjs +1 -1
  405. package/dist/hover-card.cjs +1 -1
  406. package/dist/hover-card.mjs +1 -1
  407. package/dist/icons.cjs +1 -1
  408. package/dist/icons.mjs +1 -1
  409. package/dist/index.cjs +91 -332
  410. package/dist/index.cjs.map +1 -1
  411. package/dist/index.d.ts +10 -2
  412. package/dist/index.d.ts.map +1 -1
  413. package/dist/index.mjs +57 -329
  414. package/dist/index.mjs.map +1 -1
  415. package/dist/input.cjs +1 -1
  416. package/dist/input.mjs +1 -1
  417. package/dist/label.cjs +1 -1
  418. package/dist/label.mjs +1 -1
  419. package/dist/loading.cjs +1 -1
  420. package/dist/loading.mjs +1 -1
  421. package/dist/multi-select-combobox.cjs +1 -1
  422. package/dist/multi-select-combobox.mjs +1 -1
  423. package/dist/otp-input.cjs +1 -1
  424. package/dist/otp-input.mjs +1 -1
  425. package/dist/password-strength-meter.cjs +1 -1
  426. package/dist/password-strength-meter.mjs +1 -1
  427. package/dist/progress-bar.cjs +1 -1
  428. package/dist/progress-bar.mjs +1 -1
  429. package/dist/radio.cjs +1 -1
  430. package/dist/radio.mjs +1 -1
  431. package/dist/select.cjs +1 -1
  432. package/dist/select.mjs +1 -1
  433. package/dist/sidebar.cjs +1 -1
  434. package/dist/sidebar.mjs +1 -1
  435. package/dist/skeleton.cjs +1 -1
  436. package/dist/skeleton.mjs +1 -1
  437. package/dist/spinners.cjs +1 -1
  438. package/dist/spinners.mjs +1 -1
  439. package/dist/splash-cursor.cjs +1 -1
  440. package/dist/splash-cursor.mjs +1 -1
  441. package/dist/spotlight-card.cjs +1 -1
  442. package/dist/spotlight-card.mjs +1 -1
  443. package/dist/stepper.cjs +1 -1
  444. package/dist/stepper.mjs +1 -1
  445. package/dist/sun-to-moon-button.cjs +2 -2
  446. package/dist/sun-to-moon-button.mjs +2 -2
  447. package/dist/switch.cjs +1 -1
  448. package/dist/switch.mjs +1 -1
  449. package/dist/textarea.cjs +1 -1
  450. package/dist/textarea.mjs +1 -1
  451. package/dist/theme.cjs +1 -1
  452. package/dist/theme.mjs +1 -1
  453. package/dist/toast.cjs +1 -1
  454. package/dist/toast.mjs +1 -1
  455. package/dist/tooltip.cjs +1 -1
  456. package/dist/tooltip.mjs +1 -1
  457. package/dist/truncated-text.cjs +1 -1
  458. package/dist/truncated-text.mjs +1 -1
  459. package/dist/typography.cjs +1 -1
  460. package/dist/typography.mjs +1 -1
  461. package/dist/utils.cjs +1 -1
  462. package/dist/utils.mjs +1 -1
  463. package/package.json +44 -11
  464. package/dist/chunks/Tooltip-DD30yj3A.cjs.map +0 -1
  465. package/dist/chunks/Tooltip-DK3B879v.mjs.map +0 -1
  466. package/dist/chunks/button-A6UTvrOu.mjs.map +0 -1
  467. package/dist/chunks/button-C4MXPxsC.cjs.map +0 -1
  468. package/dist/chunks/calendar-5XzPqKbE.mjs +0 -178
  469. package/dist/chunks/calendar-5XzPqKbE.mjs.map +0 -1
  470. package/dist/chunks/calendar-CQJgQ5H_.cjs +0 -184
  471. package/dist/chunks/calendar-CQJgQ5H_.cjs.map +0 -1
  472. package/dist/chunks/charts-BmIV-mJy.cjs.map +0 -1
  473. package/dist/chunks/charts-DkVu0rFc.mjs.map +0 -1
  474. package/dist/chunks/data-table-Dtf6lKpp.mjs.map +0 -1
  475. package/dist/chunks/data-table-fAEuevPn.cjs.map +0 -1
  476. package/dist/chunks/date-picker-BmQ0rgwH.mjs +0 -228
  477. package/dist/chunks/date-picker-BmQ0rgwH.mjs.map +0 -1
  478. package/dist/chunks/date-picker-qpUZMtZC.cjs +0 -234
  479. package/dist/chunks/date-picker-qpUZMtZC.cjs.map +0 -1
  480. package/dist/chunks/utils-7S0u48mU.mjs.map +0 -1
  481. package/dist/chunks/utils-LRbEQHYs.cjs.map +0 -1
  482. /package/dist/chunks/{chunk-B_GkZjkl.cjs → chunk-D6vf50IK.cjs} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/components/effects/border-beam/BorderBeam.tsx","../src/components/data-display/dashboard-cards/StatCard.tsx","../src/components/data-display/dashboard-cards/ChartCard.tsx","../src/components/data-display/dashboard-cards/TopProductsCard.tsx","../src/components/navigation/tabs/Tabs.tsx"],"sourcesContent":["import type { CSSProperties } from \"react\";\n\nexport interface BorderBeamProps {\n className?: string;\n size?: number;\n duration?: number;\n borderWidth?: number;\n anchor?: number;\n colorFrom?: string;\n colorTo?: string;\n delay?: number;\n}\n\nexport function BorderBeam({\n className = \"\",\n size = 200,\n duration = 15,\n anchor = 90,\n borderWidth = 0.5,\n colorFrom = \"var(--ds-color-accent)\",\n colorTo = \"var(--ds-color-accent-hover)\",\n delay = 0,\n}: BorderBeamProps) {\n return (\n <div\n style={\n {\n \"--size\": `${size}px`,\n \"--duration\": `${duration}s`,\n \"--anchor\": `${anchor}`,\n \"--border-width\": `${borderWidth}px`,\n \"--beam-color-from\": colorFrom,\n \"--beam-color-to\": colorTo,\n \"--delay\": `-${delay}s`,\n } as CSSProperties\n }\n className={`border-beam ${className}`}\n />\n );\n}\n","\"use client\";\n\nimport type { FC, ReactNode } from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { EllipsisVerticalIcon } from \"../../icons/EllipsisVerticalIcon\";\nimport { mergeClassNames } from \"../../../utils\";\n\n// ---------------------------------------------------------------------------\n// Internal: TrendBadge\n// ---------------------------------------------------------------------------\n\ninterface TrendBadgeProps {\n value: string;\n direction: \"up\" | \"down\";\n}\n\nconst TrendBadge: FC<TrendBadgeProps> = ({ value, direction }) => {\n const isUp = direction === \"up\";\n const color = isUp ? \"var(--ds-color-success)\" : \"var(--ds-color-danger)\";\n const bg = isUp ? \"var(--ds-color-success-subtle)\" : \"var(--ds-color-danger-subtle)\";\n\n return (\n <span\n className=\"inline-flex items-center gap-1 rounded-sm border px-1 py-0.5 text-[11px] font-semibold leading-none\"\n style={{ color, borderColor: color, backgroundColor: bg }}\n aria-label={`${value} ${isUp ? \"increase\" : \"decrease\"}`}\n >\n {value}\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" aria-hidden=\"true\">\n {isUp ? (\n <path d=\"M5 8V2M5 2L2 5M5 2L8 5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n ) : (\n <path d=\"M5 2V8M5 8L2 5M5 8L8 5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n )}\n </svg>\n \n </span>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Internal: MenuButton\n// ---------------------------------------------------------------------------\n\nconst MenuButton: FC<{ onClick?: () => void }> = ({ onClick }) => (\n <Button\n variant=\"tertiary\"\n size=\"small\"\n className=\"shrink-0 p-0.5! text-ds-3\"\n aria-label=\"More options\"\n onClick={onClick}\n >\n <EllipsisVerticalIcon width={18} height={18} />\n </Button>\n);\n\n// ---------------------------------------------------------------------------\n// Internal: LegendDot\n// ---------------------------------------------------------------------------\n\nconst LegendDots: FC<{ items: { label: string; color: string }[] }> = ({ items }) => (\n <div className=\"flex items-center gap-3\">\n {items.map((item) => (\n <span key={item.label} className=\"flex items-center gap-1.5 text-xs text-ds-2\">\n <span\n className=\"inline-block h-2.5 w-2.5 shrink-0 rounded-full\"\n style={{ backgroundColor: item.color }}\n aria-hidden=\"true\"\n />\n {item.label}\n </span>\n ))}\n </div>\n);\n\n// ---------------------------------------------------------------------------\n// Public types\n// ---------------------------------------------------------------------------\n\nexport type StatCardSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface StatCardLegendItem {\n label: string;\n color: string;\n}\n\nexport interface StatCardProps {\n /** Layout size:\n * - \"sm\" → 2-col — metric only, no chart\n * - \"md\" → 4-col — metric + compact chart on the right (default)\n * - \"lg\" → 12-col — metric header + full-width chart below\n */\n size?: StatCardSize;\n title: string;\n badge?: TrendBadgeProps;\n value: ReactNode;\n dateRange: string;\n /** Chart content (any chart component). Ignored when size=\"sm\".\n * For \"md\" position is controlled by chartPosition.\n * For \"lg\" the chart spans full card width below a divider. */\n chart?: ReactNode;\n /** Controls where the chart renders in size=\"md\".\n * - \"side\" (default) — compact chart to the right of the metric.\n * - \"bottom\" — full-width chart below the metric (good for bar/line/area charts). */\n chartPosition?: \"side\" | \"bottom\";\n /** Override the chart container's size/style.\n * \"md\" side: overrides the side-zone div (default: h-[68px] w-[180px] shrink-0 overflow-hidden).\n * \"md\" bottom: overrides the bottom chart div (default: w-full pt-3).\n * \"lg\": overrides the chart wrapper div (default: border-t border-ds-border-2 pt-4 w-full). */\n chartClassName?: string;\n /** Legend items shown in the header. Only visible when size=\"lg\". */\n legend?: StatCardLegendItem[];\n className?: string;\n onMenuClick?: () => void;\n}\n\n// ---------------------------------------------------------------------------\n// StatCard\n// ---------------------------------------------------------------------------\n\nexport const StatCard: FC<StatCardProps> = ({\n size = \"md\",\n title,\n badge,\n value,\n dateRange,\n chart,\n chartPosition = \"side\",\n chartClassName,\n legend,\n className,\n onMenuClick,\n}) => {\n const base = mergeClassNames(\n \"rounded-lg border border-ds-border-3/80 bg-ds-surface-1\",\n className,\n );\n\n // ── sm: 2-col, metric only ───────────────────────────────────────────────\n if (size === \"sm\") {\n return (\n <div className={mergeClassNames(base, \"flex flex-col gap-7 p-5\")}>\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-sm font-semibold text-ds-1\">{title}</span>\n {badge && <TrendBadge value={badge.value} direction={badge.direction} />}\n </div>\n <MenuButton onClick={onMenuClick} />\n </div>\n <div className=\"flex flex-col gap-1\">\n <p className=\"text-2xl font-bold tracking-tight text-ds-1 leading-none\">\n {value}\n </p>\n <p className=\"text-[10px] text-ds-3 mt-1\">{dateRange}</p>\n </div>\n </div>\n );\n }\n\n // ── md: 4-col, metric + chart ────────────────────────────────────────────\n if (size === \"md\") {\n const metricBlock = (\n <div className=\"flex flex-col gap-1 min-w-0\">\n <p className=\"text-3xl font-bold tracking-tight text-ds-1 leading-none\">\n {value}\n </p>\n <p className=\"text-[10px] text-ds-3 mt-1\">{dateRange}</p>\n </div>\n );\n\n return (\n <div className={mergeClassNames(base, \"flex flex-col gap-3 p-5\")}>\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-sm font-semibold text-ds-1\">{title}</span>\n {badge && <TrendBadge value={badge.value} direction={badge.direction} />}\n </div>\n <MenuButton onClick={onMenuClick} />\n </div>\n\n {chartPosition === \"bottom\" ? (\n <>\n {metricBlock}\n {chart && (\n <div className={mergeClassNames(\"w-full pt-3\", chartClassName)}>\n {chart}\n </div>\n )}\n </>\n ) : (\n <div className=\"flex items-end justify-between gap-3\">\n {metricBlock}\n {chart && (\n <div className={mergeClassNames(\"h-[46px] w-[155px] shrink-0 overflow-hidden\", chartClassName)}>\n {chart}\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n\n // ── lg: 12-col, header + full-width chart ────────────────────────────────\n return (\n <div className={mergeClassNames(base, \"flex flex-col p-5\")}>\n {/* Header row */}\n <div className=\"flex flex-wrap items-start justify-between gap-x-6 gap-y-2 mb-4\">\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-sm font-semibold text-ds-1\">{title}</span>\n {badge && <TrendBadge value={badge.value} direction={badge.direction} />}\n </div>\n <p className=\"text-3xl font-bold tracking-tight text-ds-1 leading-none\">\n {value}\n </p>\n <p className=\"text-xs text-ds-3\">{dateRange}</p>\n </div>\n <div className=\"flex items-center gap-4 ms-auto\">\n {legend && legend.length > 0 && <LegendDots items={legend} />}\n <MenuButton onClick={onMenuClick} />\n </div>\n </div>\n\n {/* Chart area */}\n {chart && (\n <div className={mergeClassNames(\"border-t border-ds-border-2 pt-4 w-full\", chartClassName)}>\n {chart}\n </div>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport type { FC, ReactNode } from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { EllipsisVerticalIcon } from \"../../icons/EllipsisVerticalIcon\";\nimport { mergeClassNames } from \"../../../utils\";\n\nexport interface ChartCardLegendItem {\n label: string;\n color: string;\n}\n\nexport interface ChartCardProps {\n title: string;\n dateRange?: string;\n legend?: ChartCardLegendItem[];\n className?: string;\n onMenuClick?: () => void;\n children: ReactNode;\n}\n\nexport const ChartCard: FC<ChartCardProps> = ({\n title,\n dateRange,\n legend,\n className,\n onMenuClick,\n children,\n}) => {\n return (\n <div\n className={mergeClassNames(\n \"flex flex-col gap-4 rounded-2xl border border-ds-border-2 bg-ds-surface-1 p-5\",\n className,\n )}\n >\n <div className=\"flex flex-wrap items-start justify-between gap-x-6 gap-y-2\">\n <div className=\"flex flex-col gap-0.5\">\n <span className=\"text-sm font-semibold text-ds-color-fg\">\n {title}\n </span>\n {dateRange && (\n <span className=\"text-xs text-ds-color-fg-subtle\">{dateRange}</span>\n )}\n </div>\n\n <div className=\"flex items-center gap-4 ms-auto\">\n {legend && legend.length > 0 && (\n <div className=\"flex items-center gap-3\">\n {legend.map((item) => (\n <span\n key={item.label}\n className=\"flex items-center gap-1.5 text-xs text-ds-color-fg-muted\"\n >\n <span\n className=\"inline-block h-2.5 w-2.5 rounded-full shrink-0\"\n style={{ backgroundColor: item.color }}\n aria-hidden=\"true\"\n />\n {item.label}\n </span>\n ))}\n </div>\n )}\n <Button\n variant=\"tertiary\"\n size=\"small\"\n className=\"shrink-0 p-0.5! text-ds-color-fg-subtle\"\n aria-label=\"More options\"\n onClick={onMenuClick}\n >\n <EllipsisVerticalIcon width={18} height={18} />\n </Button>\n </div>\n </div>\n\n <div className=\"w-full\">{children}</div>\n </div>\n );\n};\n","\"use client\";\n\nimport type { FC } from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { EllipsisVerticalIcon } from \"../../icons/EllipsisVerticalIcon\";\nimport { mergeClassNames } from \"../../../utils\";\n\nexport interface TopProductItem {\n id: string | number;\n name: string;\n category: string;\n soldCount: number;\n image?: string;\n rank: number;\n}\n\nexport interface TopProductsCardProps {\n title?: string;\n items: TopProductItem[];\n className?: string;\n onMenuClick?: () => void;\n}\n\nconst RankBadge: FC<{ rank: number }> = ({ rank }) => (\n <span\n className=\"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md border text-xs font-semibold border-ds-border-3/80 \"\n style={{\n borderColor: \"var(--ds-color-accent)\",\n color: \"var(--ds-color-accent)\",\n }}\n aria-label={`Rank ${rank}`}\n >\n {rank}\n </span>\n);\n\nconst ProductImage: FC<{ src?: string; alt: string }> = ({ src, alt }) => {\n if (src) {\n return (\n <img\n src={src}\n alt={alt}\n className=\"h-11 w-11 shrink-0 rounded-md object-contain bg-ds-color-bg-utility p-1\"\n />\n );\n }\n return (\n <div\n className=\"flex h-11 w-11 shrink-0 items-center justify-center rounded-md bg-ds-color-bg-utility text-ds-color-fg-subtle text-lg\"\n aria-hidden=\"true\"\n >\n □\n </div>\n );\n};\n\nexport const TopProductsCard: FC<TopProductsCardProps> = ({\n title = \"Top Products\",\n items,\n className,\n onMenuClick,\n}) => {\n return (\n <div\n className={mergeClassNames(\n \"flex flex-col rounded-lg border border-ds-border-3/80 bg-ds-surface-1 p-5\",\n className,\n )}\n >\n <div className=\"mb-4 flex items-center justify-between\">\n <span className=\"text-sm font-semibold text-ds-color-fg\">{title}</span>\n <Button\n variant=\"tertiary\"\n size=\"small\"\n className=\"shrink-0 p-0.5! text-ds-color-fg-subtle\"\n aria-label=\"More options\"\n onClick={onMenuClick}\n >\n <EllipsisVerticalIcon width={18} height={18} />\n </Button>\n </div>\n\n <ul className=\"flex flex-col divide-y divide-ds-border-2\" role=\"list\">\n {items.map((item) => (\n <li\n key={item.id}\n className=\"flex items-center gap-3 py-3 first:pt-0 last:pb-0\"\n >\n <ProductImage src={item.image} alt={item.name} />\n\n <div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n <span className=\"truncate text-sm font-semibold text-ds-color-fg\">\n {item.name}\n </span>\n <span className=\"truncate text-xs text-ds-color-fg-subtle\">\n {item.category} · {item.soldCount.toLocaleString()} sold\n </span>\n </div>\n\n <RankBadge rank={item.rank} />\n </li>\n ))}\n </ul>\n </div>\n );\n};\n","import {\n Fragment,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { TabsDirection, TabsItem, TabsProps } from \"./types\";\n\nconst rtlLanguages = /^(ar|fa|ur|he)(-|$)/i;\n\nfunction resolveDirection(\n direction: TabsDirection,\n): Exclude<TabsDirection, \"auto\"> {\n if (direction !== \"auto\") {\n return direction;\n }\n\n if (typeof document === \"undefined\") {\n return \"ltr\";\n }\n\n const explicitDirection =\n document.documentElement.getAttribute(\"dir\") ?? undefined;\n\n if (explicitDirection === \"rtl\" || explicitDirection === \"ltr\") {\n return explicitDirection;\n }\n\n if (\n typeof navigator !== \"undefined\" &&\n rtlLanguages.test(navigator.language)\n ) {\n return \"rtl\";\n }\n\n return \"ltr\";\n}\n\nfunction getFirstEnabledId(items: readonly TabsItem[]): string {\n const fallback = items.find((item) => !item.disabled) ?? items[0];\n return fallback?.id ?? \"\";\n}\n\nexport function Tabs({\n items,\n value,\n defaultValue,\n onValueChange,\n dir = \"auto\",\n className,\n listClassName,\n triggerClassName,\n panelClassName,\n animationDurationMs,\n animation = \"slide\",\n}: TabsProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const tabSlotRefs = useRef<Record<string, HTMLDivElement | null>>({});\n const panelRef = useRef<HTMLDivElement>(null);\n const isControlled = value !== undefined;\n\n const fallbackId = useMemo(() => getFirstEnabledId(items), [items]);\n const [internalValue, setInternalValue] = useState<string>(\n defaultValue ?? fallbackId,\n );\n const rawActiveId = isControlled ? value : internalValue;\n const activeId = items.some((item) => item.id === rawActiveId)\n ? rawActiveId\n : fallbackId;\n\n const activeIndex = useMemo(\n () =>\n Math.max(\n items.findIndex((item) => item.id === activeId),\n 0,\n ),\n [items, activeId],\n );\n\n const previousIndexRef = useRef(activeIndex);\n const [indicator, setIndicator] = useState<{\n left: number;\n width: number;\n } | null>(null);\n\n const getEffectiveDirection = useCallback(() => {\n if (dir !== \"auto\") {\n return dir;\n }\n\n if (typeof window !== \"undefined\" && listRef.current) {\n const cssDirection = window.getComputedStyle(listRef.current).direction;\n if (cssDirection === \"rtl\" || cssDirection === \"ltr\") {\n return cssDirection;\n }\n }\n\n return resolveDirection(\"auto\");\n }, [dir]);\n\n useEffect(() => {\n const previousIndex = previousIndexRef.current;\n if (activeIndex === previousIndex) {\n return;\n }\n\n const panel = panelRef.current;\n if (!panel) {\n previousIndexRef.current = activeIndex;\n return;\n }\n\n if (animation === \"slide\") {\n const indexDelta = activeIndex - previousIndex;\n const logicalDirection = indexDelta >= 0 ? 1 : -1;\n const visualDirection =\n getEffectiveDirection() === \"rtl\" ? -logicalDirection : logicalDirection;\n const fromX = visualDirection > 0 ? -14 : 14;\n\n panel.animate(\n [\n { opacity: 0, transform: `translateX(${fromX}px)` },\n { opacity: 1, transform: \"translateX(0px)\" },\n ],\n {\n duration: animationDurationMs ?? 300,\n easing: \"cubic-bezier(0.42, 1, 0.36, 1)\",\n },\n );\n } else if (animation === \"fade\") {\n panel.animate(\n [{ opacity: 0 }, { opacity: 1 }],\n {\n duration: animationDurationMs ?? 360,\n easing: \"cubic-bezier(0.42, 1, 0.36, 1)\",\n },\n );\n } else if (animation === \"rise\") {\n panel.animate(\n [\n { opacity: 0, transform: \"translateY(14px)\" },\n { opacity: 1, transform: \"translateY(0px)\" },\n ],\n {\n duration: animationDurationMs ?? 420,\n easing: \"cubic-bezier(0.534, 1, 0.3, 1)\",\n },\n );\n }\n\n previousIndexRef.current = activeIndex;\n }, [activeIndex, animationDurationMs, animation, getEffectiveDirection]);\n\n const activeItem = items[activeIndex] ?? items[0];\n\n useLayoutEffect(() => {\n const updateIndicator = () => {\n const selectedSlot = tabSlotRefs.current[activeItem?.id ?? \"\"];\n if (!selectedSlot) {\n setIndicator(null);\n return;\n }\n\n setIndicator({\n left: selectedSlot.offsetLeft,\n width: selectedSlot.offsetWidth,\n });\n };\n\n updateIndicator();\n window.addEventListener(\"resize\", updateIndicator);\n return () => window.removeEventListener(\"resize\", updateIndicator);\n }, [activeItem?.id, items.length]);\n\n const setValue = (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n onValueChange?.(nextValue);\n };\n\n const moveBy = (delta: number) => {\n if (items.length === 0) {\n return;\n }\n\n let probe = activeIndex;\n for (let step = 0; step < items.length; step++) {\n probe = (probe + delta + items.length) % items.length;\n const candidate = items[probe];\n if (!candidate?.disabled) {\n setValue(candidate.id);\n return;\n }\n }\n };\n\n return (\n <div\n ref={rootRef}\n dir={dir === \"auto\" ? undefined : dir}\n className={mergeClassNames(\"w-full\", className)}\n >\n <div\n ref={listRef}\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n className={mergeClassNames(\n \"relative flex h-9 w-full items-center gap-0 overflow-hidden rounded-lg border border-ds-border-3 bg-ds-surface-2 p-1\",\n listClassName,\n )}\n >\n {items.length > 0 && indicator ? (\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute bottom-1 top-1 rounded-md border border-ds-border-accent/45 bg-ds-accent shadow-[0_1px_3px_rgba(0,0,0,0.1),0_1px_2px_rgba(0,0,0,0.06)] transition-transform duration-300 ease-out\"\n style={{\n width: `${indicator.width}px`,\n transform: `translateX(${indicator.left}px)`,\n left: 0,\n }}\n />\n ) : null}\n {items.map((item) => {\n const selected = item.id === activeItem?.id;\n return (\n <div\n key={item.id}\n ref={(node) => {\n tabSlotRefs.current[item.id] = node;\n }}\n className=\"relative z-10 h-full min-w-0 flex-1\"\n >\n <Button\n role=\"tab\"\n id={`tab-${item.id}`}\n aria-selected={selected}\n aria-controls={`tabpanel-${item.id}`}\n tabIndex={selected ? 0 : -1}\n disabled={item.disabled}\n variant=\"tertiary\"\n size=\"small\"\n className={mergeClassNames(\n \"h-full w-full rounded-md px-3 py-1 text-base font-normal leading-[22px] transition-colors duration-200\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-ds-focus/60\",\n selected ? \"text-ds-on-accent\" : \"text-ds-2 hover:text-ds-10\",\n item.disabled && \"cursor-not-allowed opacity-55\",\n triggerClassName,\n )}\n onClick={() => {\n if (!item.disabled) {\n setValue(item.id);\n }\n }}\n onKeyDown={(event) => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n moveBy(getEffectiveDirection() === \"rtl\" ? -1 : 1);\n }\n\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n moveBy(getEffectiveDirection() === \"rtl\" ? 1 : -1);\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n const first = items.find((candidate) => !candidate.disabled);\n if (first) {\n setValue(first.id);\n }\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n const reversed = [...items].reverse();\n const last = reversed.find(\n (candidate) => !candidate.disabled,\n );\n if (last) {\n setValue(last.id);\n }\n }\n }}\n >\n {item.label}\n </Button>\n </div>\n );\n })}\n </div>\n\n <div\n ref={panelRef}\n role=\"tabpanel\"\n id={`tabpanel-${activeItem?.id ?? \"\"}`}\n aria-labelledby={`tab-${activeItem?.id ?? \"\"}`}\n className={mergeClassNames(\"mt-2 w-full\", panelClassName)}\n >\n <Fragment key={activeItem?.id}>\n {activeItem?.content}\n </Fragment>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/components/effects/border-beam/BorderBeam.tsx","../src/components/navigation/tabs/Tabs.tsx"],"sourcesContent":["import type { CSSProperties } from \"react\";\n\nexport interface BorderBeamProps {\n className?: string;\n size?: number;\n duration?: number;\n borderWidth?: number;\n anchor?: number;\n colorFrom?: string;\n colorTo?: string;\n delay?: number;\n}\n\nexport function BorderBeam({\n className = \"\",\n size = 200,\n duration = 15,\n anchor = 90,\n borderWidth = 0.5,\n colorFrom = \"var(--ds-color-accent)\",\n colorTo = \"var(--ds-color-accent-hover)\",\n delay = 0,\n}: BorderBeamProps) {\n return (\n <div\n style={\n {\n \"--size\": `${size}px`,\n \"--duration\": `${duration}s`,\n \"--anchor\": `${anchor}`,\n \"--border-width\": `${borderWidth}px`,\n \"--beam-color-from\": colorFrom,\n \"--beam-color-to\": colorTo,\n \"--delay\": `-${delay}s`,\n } as CSSProperties\n }\n className={`border-beam ${className}`}\n />\n );\n}\n","import {\n Fragment,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { TabsDirection, TabsItem, TabsProps } from \"./types\";\n\nconst rtlLanguages = /^(ar|fa|ur|he)(-|$)/i;\n\nfunction resolveDirection(\n direction: TabsDirection,\n): Exclude<TabsDirection, \"auto\"> {\n if (direction !== \"auto\") {\n return direction;\n }\n\n if (typeof document === \"undefined\") {\n return \"ltr\";\n }\n\n const explicitDirection =\n document.documentElement.getAttribute(\"dir\") ?? undefined;\n\n if (explicitDirection === \"rtl\" || explicitDirection === \"ltr\") {\n return explicitDirection;\n }\n\n if (\n typeof navigator !== \"undefined\" &&\n rtlLanguages.test(navigator.language)\n ) {\n return \"rtl\";\n }\n\n return \"ltr\";\n}\n\nfunction getFirstEnabledId(items: readonly TabsItem[]): string {\n const fallback = items.find((item) => !item.disabled) ?? items[0];\n return fallback?.id ?? \"\";\n}\n\nexport function Tabs({\n items,\n value,\n defaultValue,\n onValueChange,\n dir = \"auto\",\n className,\n listClassName,\n triggerClassName,\n panelClassName,\n animationDurationMs,\n animation = \"slide\",\n}: TabsProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const tabSlotRefs = useRef<Record<string, HTMLDivElement | null>>({});\n const panelRef = useRef<HTMLDivElement>(null);\n const isControlled = value !== undefined;\n\n const fallbackId = useMemo(() => getFirstEnabledId(items), [items]);\n const [internalValue, setInternalValue] = useState<string>(\n defaultValue ?? fallbackId,\n );\n const rawActiveId = isControlled ? value : internalValue;\n const activeId = items.some((item) => item.id === rawActiveId)\n ? rawActiveId\n : fallbackId;\n\n const activeIndex = useMemo(\n () =>\n Math.max(\n items.findIndex((item) => item.id === activeId),\n 0,\n ),\n [items, activeId],\n );\n\n const previousIndexRef = useRef(activeIndex);\n const [indicator, setIndicator] = useState<{\n left: number;\n width: number;\n } | null>(null);\n\n const getEffectiveDirection = useCallback(() => {\n if (dir !== \"auto\") {\n return dir;\n }\n\n if (typeof window !== \"undefined\" && listRef.current) {\n const cssDirection = window.getComputedStyle(listRef.current).direction;\n if (cssDirection === \"rtl\" || cssDirection === \"ltr\") {\n return cssDirection;\n }\n }\n\n return resolveDirection(\"auto\");\n }, [dir]);\n\n useEffect(() => {\n const previousIndex = previousIndexRef.current;\n if (activeIndex === previousIndex) {\n return;\n }\n\n const panel = panelRef.current;\n if (!panel) {\n previousIndexRef.current = activeIndex;\n return;\n }\n\n if (animation === \"slide\") {\n const indexDelta = activeIndex - previousIndex;\n const logicalDirection = indexDelta >= 0 ? 1 : -1;\n const visualDirection =\n getEffectiveDirection() === \"rtl\" ? -logicalDirection : logicalDirection;\n const fromX = visualDirection > 0 ? -14 : 14;\n\n panel.animate(\n [\n { opacity: 0, transform: `translateX(${fromX}px)` },\n { opacity: 1, transform: \"translateX(0px)\" },\n ],\n {\n duration: animationDurationMs ?? 300,\n easing: \"cubic-bezier(0.42, 1, 0.36, 1)\",\n },\n );\n } else if (animation === \"fade\") {\n panel.animate(\n [{ opacity: 0 }, { opacity: 1 }],\n {\n duration: animationDurationMs ?? 360,\n easing: \"cubic-bezier(0.42, 1, 0.36, 1)\",\n },\n );\n } else if (animation === \"rise\") {\n panel.animate(\n [\n { opacity: 0, transform: \"translateY(14px)\" },\n { opacity: 1, transform: \"translateY(0px)\" },\n ],\n {\n duration: animationDurationMs ?? 420,\n easing: \"cubic-bezier(0.534, 1, 0.3, 1)\",\n },\n );\n }\n\n previousIndexRef.current = activeIndex;\n }, [activeIndex, animationDurationMs, animation, getEffectiveDirection]);\n\n const activeItem = items[activeIndex] ?? items[0];\n\n useLayoutEffect(() => {\n const updateIndicator = () => {\n const selectedSlot = tabSlotRefs.current[activeItem?.id ?? \"\"];\n if (!selectedSlot) {\n setIndicator(null);\n return;\n }\n\n setIndicator({\n left: selectedSlot.offsetLeft,\n width: selectedSlot.offsetWidth,\n });\n };\n\n updateIndicator();\n window.addEventListener(\"resize\", updateIndicator);\n return () => window.removeEventListener(\"resize\", updateIndicator);\n }, [activeItem?.id, items.length]);\n\n const setValue = (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n onValueChange?.(nextValue);\n };\n\n const moveBy = (delta: number) => {\n if (items.length === 0) {\n return;\n }\n\n let probe = activeIndex;\n for (let step = 0; step < items.length; step++) {\n probe = (probe + delta + items.length) % items.length;\n const candidate = items[probe];\n if (!candidate?.disabled) {\n setValue(candidate.id);\n return;\n }\n }\n };\n\n return (\n <div\n ref={rootRef}\n dir={dir === \"auto\" ? undefined : dir}\n className={mergeClassNames(\"w-full\", className)}\n >\n <div\n ref={listRef}\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n className={mergeClassNames(\n \"relative flex h-9 w-full items-center gap-0 overflow-hidden rounded-lg border border-ds-border-3 bg-ds-surface-2 p-1\",\n listClassName,\n )}\n >\n {items.length > 0 && indicator ? (\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute bottom-1 top-1 rounded-md border border-ds-border-accent/45 bg-ds-accent shadow-[0_1px_3px_rgba(0,0,0,0.1),0_1px_2px_rgba(0,0,0,0.06)] transition-transform duration-300 ease-out\"\n style={{\n width: `${indicator.width}px`,\n transform: `translateX(${indicator.left}px)`,\n left: 0,\n }}\n />\n ) : null}\n {items.map((item) => {\n const selected = item.id === activeItem?.id;\n return (\n <div\n key={item.id}\n ref={(node) => {\n tabSlotRefs.current[item.id] = node;\n }}\n className=\"relative z-10 h-full min-w-0 flex-1\"\n >\n <Button\n role=\"tab\"\n id={`tab-${item.id}`}\n aria-selected={selected}\n aria-controls={`tabpanel-${item.id}`}\n tabIndex={selected ? 0 : -1}\n disabled={item.disabled}\n variant=\"tertiary\"\n size=\"small\"\n className={mergeClassNames(\n \"h-full w-full rounded-md px-3 py-1 text-base font-normal leading-[22px] transition-colors duration-200\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-ds-focus/60\",\n selected ? \"text-ds-on-accent\" : \"text-ds-2 hover:text-ds-10\",\n item.disabled && \"cursor-not-allowed opacity-55\",\n triggerClassName,\n )}\n onClick={() => {\n if (!item.disabled) {\n setValue(item.id);\n }\n }}\n onKeyDown={(event) => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n moveBy(getEffectiveDirection() === \"rtl\" ? -1 : 1);\n }\n\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n moveBy(getEffectiveDirection() === \"rtl\" ? 1 : -1);\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n const first = items.find((candidate) => !candidate.disabled);\n if (first) {\n setValue(first.id);\n }\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n const reversed = [...items].reverse();\n const last = reversed.find(\n (candidate) => !candidate.disabled,\n );\n if (last) {\n setValue(last.id);\n }\n }\n }}\n >\n {item.label}\n </Button>\n </div>\n );\n })}\n </div>\n\n <div\n ref={panelRef}\n role=\"tabpanel\"\n id={`tabpanel-${activeItem?.id ?? \"\"}`}\n aria-labelledby={`tab-${activeItem?.id ?? \"\"}`}\n className={mergeClassNames(\"mt-2 w-full\", panelClassName)}\n >\n <Fragment key={activeItem?.id}>\n {activeItem?.content}\n </Fragment>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
package/dist/input.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_input = require("./chunks/input-DkCPyWXi.cjs");
2
+ const require_input = require("./chunks/input-EH7x0pQY.cjs");
3
3
  exports.Input = require_input.Input;
4
4
  exports.InputState = require_input.InputState;
package/dist/input.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { n as InputState, t as Input } from "./chunks/input-Bqo9Q5zF.mjs";
1
+ import { n as InputState, t as Input } from "./chunks/input-B-XSdnfh.mjs";
2
2
  export { Input, InputState };
package/dist/label.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_label = require("./chunks/label-BKzqfAAq.cjs");
2
+ const require_label = require("./chunks/label-Du-5H7wd.cjs");
3
3
  exports.Label = require_label.Label;
package/dist/label.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Label } from "./chunks/label-Drxg0cG2.mjs";
1
+ import { t as Label } from "./chunks/label-CcsncrKQ.mjs";
2
2
  export { Label };
package/dist/loading.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_loading = require("./chunks/loading-BiM4mKh6.cjs");
2
+ const require_loading = require("./chunks/loading-DeGHTDO2.cjs");
3
3
  exports.Bars = require_loading.Bars;
4
4
  exports.Bounce = require_loading.Bounce;
5
5
  exports.Dots = require_loading.Dots;
package/dist/loading.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as Pulse, c as Spinner, i as Loading, l as Wave, n as Bounce, o as Ring, r as Dots, s as Skeleton, t as Bars } from "./chunks/loading-Dtosnb4A.mjs";
1
+ import { a as Pulse, c as Spinner, i as Loading, l as Wave, n as Bounce, o as Ring, r as Dots, s as Skeleton, t as Bars } from "./chunks/loading-2Lh_355V.mjs";
2
2
  export { Bars, Bounce, Dots, Loading, Pulse, Ring, Skeleton, Spinner, Wave };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_multi_select_combobox = require("./chunks/multi-select-combobox-C0DoDzxQ.cjs");
2
+ const require_multi_select_combobox = require("./chunks/multi-select-combobox-PPYRcaPg.cjs");
3
3
  exports.MultiSelectCombobox = require_multi_select_combobox.MultiSelectCombobox;
@@ -1,2 +1,2 @@
1
- import { t as MultiSelectCombobox } from "./chunks/multi-select-combobox-Do23ZfOQ.mjs";
1
+ import { t as MultiSelectCombobox } from "./chunks/multi-select-combobox-BOdKmPj2.mjs";
2
2
  export { MultiSelectCombobox };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_otp_input = require("./chunks/otp-input-CkhV-sGl.cjs");
2
+ const require_otp_input = require("./chunks/otp-input-Dgw_47Z7.cjs");
3
3
  exports.OTPInput = require_otp_input.OTPInput;
@@ -1,2 +1,2 @@
1
- import { t as OTPInput } from "./chunks/otp-input-JOysxKfD.mjs";
1
+ import { t as OTPInput } from "./chunks/otp-input--_itTXaL.mjs";
2
2
  export { OTPInput };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_password_strength_meter = require("./chunks/password-strength-meter-DCi_BP7e.cjs");
2
+ const require_password_strength_meter = require("./chunks/password-strength-meter-Be1c-dnK.cjs");
3
3
  exports.PasswordStrengthMeter = require_password_strength_meter.PasswordStrengthMeter;
@@ -1,2 +1,2 @@
1
- import { t as PasswordStrengthMeter } from "./chunks/password-strength-meter-BsvqQBAg.mjs";
1
+ import { t as PasswordStrengthMeter } from "./chunks/password-strength-meter-Q1Qr-4tz.mjs";
2
2
  export { PasswordStrengthMeter };
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_progress_bar = require("./chunks/progress-bar-CYaBO_lS.cjs");
2
+ const require_progress_bar = require("./chunks/progress-bar-BsnX079N.cjs");
3
3
  exports.CircularProgress = require_progress_bar.CircularProgress;
4
4
  exports.ProgressBar = require_progress_bar.ProgressBar;
@@ -1,2 +1,2 @@
1
- import { n as ProgressBar, t as CircularProgress } from "./chunks/progress-bar-DQ5ZKk2Y.mjs";
1
+ import { n as ProgressBar, t as CircularProgress } from "./chunks/progress-bar-l5WpbpZf.mjs";
2
2
  export { CircularProgress, ProgressBar };
package/dist/radio.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_radio = require("./chunks/radio-zx9xEW_C.cjs");
2
+ const require_radio = require("./chunks/radio-W_NiS_dO.cjs");
3
3
  exports.Radio = require_radio.Radio;
package/dist/radio.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Radio } from "./chunks/radio-CuiM_gDv.mjs";
1
+ import { t as Radio } from "./chunks/radio-B94_TGtz.mjs";
2
2
  export { Radio };
package/dist/select.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_select = require("./chunks/select-bZ9WqLOc.cjs");
2
+ const require_select = require("./chunks/select-C5lkcrSB.cjs");
3
3
  exports.Select = require_select.Select;
package/dist/select.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Select } from "./chunks/select-CUaSNR09.mjs";
1
+ import { t as Select } from "./chunks/select-DnSSxddm.mjs";
2
2
  export { Select };
package/dist/sidebar.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sidebar = require("./chunks/sidebar-3i4mGE6T.cjs");
2
+ const require_sidebar = require("./chunks/sidebar-DDRWkz5k.cjs");
3
3
  exports.DashboardSidebarShell = require_sidebar.DashboardSidebarShell;
4
4
  exports.HamburgerIcon = require_sidebar.HamburgerIcon;
5
5
  exports.NavLink = require_sidebar.NavLink;
package/dist/sidebar.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as HamburgerIcon, i as NavLink, n as Sidebar, r as SidebarLinks, t as DashboardSidebarShell } from "./chunks/sidebar-Dhf_Arae.mjs";
1
+ import { a as HamburgerIcon, i as NavLink, n as Sidebar, r as SidebarLinks, t as DashboardSidebarShell } from "./chunks/sidebar-C3Sx87wD.mjs";
2
2
  export { DashboardSidebarShell, HamburgerIcon, NavLink, Sidebar, SidebarLinks };
package/dist/skeleton.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_skeleton = require("./chunks/skeleton-DCBGLNAZ.cjs");
2
+ const require_skeleton = require("./chunks/skeleton-B2u9c1xJ.cjs");
3
3
  exports.Skeleton = require_skeleton.Skeleton;
4
4
  exports.SkeletonAvatar = require_skeleton.SkeletonAvatar;
5
5
  exports.SkeletonButton = require_skeleton.SkeletonButton;
package/dist/skeleton.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as SkeletonImage, c as SkeletonTableRow, i as SkeletonCard, l as SkeletonText, n as SkeletonAvatar, o as SkeletonListItem, r as SkeletonButton, s as SkeletonMetricCard, t as Skeleton } from "./chunks/skeleton-nH1eAN96.mjs";
1
+ import { a as SkeletonImage, c as SkeletonTableRow, i as SkeletonCard, l as SkeletonText, n as SkeletonAvatar, o as SkeletonListItem, r as SkeletonButton, s as SkeletonMetricCard, t as Skeleton } from "./chunks/skeleton-DVAlrOq2.mjs";
2
2
  export { Skeleton, SkeletonAvatar, SkeletonButton, SkeletonCard, SkeletonImage, SkeletonListItem, SkeletonMetricCard, SkeletonTableRow, SkeletonText };
package/dist/spinners.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_spinners = require("./chunks/spinners-C9acUulz.cjs");
2
+ const require_spinners = require("./chunks/spinners-BiebALzS.cjs");
3
3
  exports.Audio = require_spinners.Audio;
package/dist/spinners.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Audio } from "./chunks/spinners-g6_Up5Rb.mjs";
1
+ import { t as Audio } from "./chunks/spinners-BQtIp2ov.mjs";
2
2
  export { Audio };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_splash_cursor = require("./chunks/splash-cursor-BqG7ClsJ.cjs");
2
+ const require_splash_cursor = require("./chunks/splash-cursor-8b7ORB2k.cjs");
3
3
  exports.SplashCursor = require_splash_cursor.SplashCursor;
@@ -1,2 +1,2 @@
1
- import { t as SplashCursor } from "./chunks/splash-cursor-N4FdnkOa.mjs";
1
+ import { t as SplashCursor } from "./chunks/splash-cursor-CeZffMed.mjs";
2
2
  export { SplashCursor };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_spotlight_card = require("./chunks/spotlight-card-BmsqC7wm.cjs");
2
+ const require_spotlight_card = require("./chunks/spotlight-card-BQjp7hO1.cjs");
3
3
  exports.SpotlightCard = require_spotlight_card.SpotlightCard;
@@ -1,2 +1,2 @@
1
- import { t as SpotlightCard } from "./chunks/spotlight-card-D9Z3nTmb.mjs";
1
+ import { t as SpotlightCard } from "./chunks/spotlight-card-DiPtBCAK.mjs";
2
2
  export { SpotlightCard };
package/dist/stepper.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_stepper = require("./chunks/stepper-DepvEGfr.cjs");
2
+ const require_stepper = require("./chunks/stepper-BuhQfQTH.cjs");
3
3
  exports.Stepper = require_stepper.Stepper;
4
4
  exports.StepperSteps = require_stepper.StepperSteps;
5
5
  exports.StepperStepsNavigation = require_stepper.StepperSteps;
package/dist/stepper.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { i as Stepper, n as StepperWizardStep, r as StepperSteps, t as StepperWizard } from "./chunks/stepper-Jv5OS1nY.mjs";
1
+ import { i as Stepper, n as StepperWizardStep, r as StepperSteps, t as StepperWizard } from "./chunks/stepper-CVNcexxq.mjs";
2
2
  export { Stepper, StepperSteps, StepperSteps as StepperStepsNavigation, StepperWizard, StepperWizardStep };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_SunToMoonButton = require("./chunks/SunToMoonButton-jS4BJD9q.cjs");
3
- const require_sun_to_moon_button = require("./chunks/sun-to-moon-button-PwgTPsTW.cjs");
2
+ const require_SunToMoonButton = require("./chunks/SunToMoonButton-DUuIqw22.cjs");
3
+ const require_sun_to_moon_button = require("./chunks/sun-to-moon-button-BzYGFhrg.cjs");
4
4
  exports.SunToMoonButton = require_SunToMoonButton.SunToMoonButton;
5
5
  exports.ThemeSwitcherButtons = require_sun_to_moon_button.ThemeSwitcherButtons;
@@ -1,3 +1,3 @@
1
- import { t as SunToMoonButton } from "./chunks/SunToMoonButton-BkEfkElJ.mjs";
2
- import { t as ThemeSwitcherButtons } from "./chunks/sun-to-moon-button-BJtBEaa3.mjs";
1
+ import { t as SunToMoonButton } from "./chunks/SunToMoonButton-DIMK53fW.mjs";
2
+ import { t as ThemeSwitcherButtons } from "./chunks/sun-to-moon-button-CRXBMFZb.mjs";
3
3
  export { SunToMoonButton, ThemeSwitcherButtons };
package/dist/switch.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_switch = require("./chunks/switch-X3l8xnle.cjs");
2
+ const require_switch = require("./chunks/switch-CEoT3MgX.cjs");
3
3
  exports.Switch = require_switch.Switch;
package/dist/switch.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Switch } from "./chunks/switch-iPsN1NS2.mjs";
1
+ import { t as Switch } from "./chunks/switch-DUnNe4xP.mjs";
2
2
  export { Switch };
package/dist/textarea.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textarea = require("./chunks/textarea-CGRl2hrM.cjs");
2
+ const require_textarea = require("./chunks/textarea-Bschfj24.cjs");
3
3
  exports.Textarea = require_textarea.Textarea;
package/dist/textarea.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Textarea } from "./chunks/textarea-Bdo-Trvi.mjs";
1
+ import { t as Textarea } from "./chunks/textarea-CfeKo5HA.mjs";
2
2
  export { Textarea };
package/dist/theme.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_theme = require("./chunks/theme-D6B-FaoE.cjs");
2
+ const require_theme = require("./chunks/theme-BzTaXYZ8.cjs");
3
3
  exports.ThemeProvider = require_theme.ThemeProvider;
4
4
  exports.useThemeContext = require_theme.useThemeContext;
package/dist/theme.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { n as useThemeContext, t as ThemeProvider } from "./chunks/theme-koPrLKQv.mjs";
1
+ import { n as useThemeContext, t as ThemeProvider } from "./chunks/theme-BXML6jHE.mjs";
2
2
  export { ThemeProvider, useThemeContext };
package/dist/toast.cjs CHANGED
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_toast = require("./chunks/toast-DiFgv3IL.cjs");
5
+ const require_toast = require("./chunks/toast-DL8svc6q.cjs");
6
6
  exports.ToastItem = require_toast.ToastItem;
7
7
  exports.ToastProvider = require_toast.ToastProvider;
8
8
  exports.default = require_toast.ToastProvider;
package/dist/toast.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as useToast, i as toastStandalone, n as ToastProvider, r as setGlobalToast, t as ToastItem } from "./chunks/toast-BcBidy5n.mjs";
1
+ import { a as useToast, i as toastStandalone, n as ToastProvider, r as setGlobalToast, t as ToastItem } from "./chunks/toast-D1W0BvoH.mjs";
2
2
  export { ToastItem, ToastProvider, ToastProvider as default, setGlobalToast, toastStandalone, useToast };
package/dist/tooltip.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_Tooltip = require("./chunks/Tooltip-DD30yj3A.cjs");
2
+ const require_Tooltip = require("./chunks/Tooltip-1yPGRJ2Q.cjs");
3
3
  exports.Tooltip = require_Tooltip.Tooltip;
package/dist/tooltip.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Tooltip } from "./chunks/Tooltip-DK3B879v.mjs";
1
+ import { t as Tooltip } from "./chunks/Tooltip-CEj-I4JO.mjs";
2
2
  export { Tooltip };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_truncated_text = require("./chunks/truncated-text-BIXqNfOL.cjs");
2
+ const require_truncated_text = require("./chunks/truncated-text-D0t4atw5.cjs");
3
3
  exports.TruncatedText = require_truncated_text.TruncatedText;
@@ -1,2 +1,2 @@
1
- import { t as TruncatedText } from "./chunks/truncated-text-C9t9o9IA.mjs";
1
+ import { t as TruncatedText } from "./chunks/truncated-text-DIkg-8Vo.mjs";
2
2
  export { TruncatedText };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_typography = require("./chunks/typography-LwwY_MOy.cjs");
2
+ const require_typography = require("./chunks/typography-C5fYwhp2.cjs");
3
3
  exports.Typography = require_typography.Typography;
@@ -1,2 +1,2 @@
1
- import { t as Typography } from "./chunks/typography-Ct-jDJP3.mjs";
1
+ import { t as Typography } from "./chunks/typography-Czi7t5y4.mjs";
2
2
  export { Typography };
package/dist/utils.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils = require("./chunks/utils-LRbEQHYs.cjs");
2
+ const require_utils = require("./chunks/utils-CoA0q63n.cjs");
3
3
  exports.generateUniqueKey = require_utils.generateUniqueKey;
4
4
  exports.mergeClassNames = require_utils.mergeClassNames;
5
5
  exports.validateEmail = require_utils.validateEmail;
package/dist/utils.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { n as mergeClassNames, r as generateUniqueKey, t as validateEmail } from "./chunks/utils-7S0u48mU.mjs";
1
+ import { n as mergeClassNames, r as generateUniqueKey, t as validateEmail } from "./chunks/utils-Dc7j29ec.mjs";
2
2
  export { generateUniqueKey, mergeClassNames, validateEmail };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erp-pro-ui",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Lightweight React UI component library for ERP and SaaS apps with tree-shakeable subpath exports.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -109,6 +109,18 @@
109
109
  "require": "./dist/charts.cjs",
110
110
  "default": "./dist/charts.mjs"
111
111
  },
112
+ "./dashboard-cards": {
113
+ "types": "./dist/components/data-display/dashboard-cards/index.d.ts",
114
+ "import": "./dist/dashboard-cards.mjs",
115
+ "require": "./dist/dashboard-cards.cjs",
116
+ "default": "./dist/dashboard-cards.mjs"
117
+ },
118
+ "./event-calendar": {
119
+ "types": "./dist/components/data-display/event-calendar/index.d.ts",
120
+ "import": "./dist/event-calendar.mjs",
121
+ "require": "./dist/event-calendar.cjs",
122
+ "default": "./dist/event-calendar.mjs"
123
+ },
112
124
  "./checkbox": {
113
125
  "types": "./dist/components/forms/checkbox/index.d.ts",
114
126
  "import": "./dist/checkbox.mjs",
@@ -325,6 +337,12 @@
325
337
  "require": "./dist/spinners.cjs",
326
338
  "default": "./dist/spinners.mjs"
327
339
  },
340
+ "./draggable-grid": {
341
+ "types": "./dist/components/layout/draggable-grid/index.d.ts",
342
+ "import": "./dist/draggable-grid.mjs",
343
+ "require": "./dist/draggable-grid.cjs",
344
+ "default": "./dist/draggable-grid.mjs"
345
+ },
328
346
  "./utils": {
329
347
  "types": "./dist/utils/index.d.ts",
330
348
  "import": "./dist/utils.mjs",
@@ -340,9 +358,12 @@
340
358
  "dependencies": {
341
359
  "clsx": "^2.1.1",
342
360
  "recharts": "^3.8.1",
343
- "tailwind-merge": "^3.5.0"
361
+ "tailwind-merge": "^3.6.0"
344
362
  },
345
363
  "peerDependencies": {
364
+ "@dnd-kit/core": "^6.3.1",
365
+ "@dnd-kit/sortable": "^10.0.0",
366
+ "@dnd-kit/utilities": "^3.2.2",
346
367
  "@tanstack/react-table": "^8.21.3",
347
368
  "framer-motion": "^12.38.0",
348
369
  "react": "^19.2.5",
@@ -350,6 +371,15 @@
350
371
  "three": ">=0.183.2"
351
372
  },
352
373
  "peerDependenciesMeta": {
374
+ "@dnd-kit/core": {
375
+ "optional": true
376
+ },
377
+ "@dnd-kit/sortable": {
378
+ "optional": true
379
+ },
380
+ "@dnd-kit/utilities": {
381
+ "optional": true
382
+ },
353
383
  "@tanstack/react-table": {
354
384
  "optional": true
355
385
  },
@@ -361,17 +391,20 @@
361
391
  }
362
392
  },
363
393
  "devDependencies": {
364
- "@storybook/react-vite": "^10.3.6",
365
- "@types/react": "^19.2.14",
394
+ "@dnd-kit/core": "^6.3.1",
395
+ "@dnd-kit/sortable": "^10.0.0",
396
+ "@dnd-kit/utilities": "^3.2.2",
397
+ "@storybook/react-vite": "^10.4.1",
398
+ "@types/react": "^19.2.15",
366
399
  "@types/react-dom": "^19.2.3",
367
- "@types/three": "^0.184.0",
368
- "@vitejs/plugin-react": "^6.0.1",
369
- "eslint": "^10.2.1",
370
- "storybook": "^10.3.6",
371
- "terser": "^5.46.2",
400
+ "@types/three": "^0.184.1",
401
+ "@vitejs/plugin-react": "^6.0.2",
402
+ "eslint": "^10.4.0",
403
+ "storybook": "^10.4.1",
404
+ "terser": "^5.48.0",
372
405
  "typescript": "^6.0.3",
373
- "vite": "^8.0.10",
374
- "vite-plugin-dts": "^4.5.4",
406
+ "vite": "^8.0.14",
407
+ "vite-plugin-dts": "^5.0.1",
375
408
  "@erp-pro/eslint-config": "0.0.0",
376
409
  "@erp-pro/tsconfig": "0.0.0"
377
410
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tooltip-DD30yj3A.cjs","names":[],"sources":["../../src/components/overlays/tooltip/Tooltip.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\n\nexport type TooltipPosition = \"top\" | \"bottom\" | \"left\" | \"right\";\nexport type TooltipTrigger = \"hover\" | \"click\" | \"focus\";\n\nexport interface TooltipProps {\n /** The content to display in the tooltip */\n content: React.ReactNode;\n /** The element that triggers the tooltip */\n children: React.ReactElement;\n /** Position of the tooltip relative to the trigger */\n position?: TooltipPosition;\n /** How the tooltip is triggered */\n trigger?: TooltipTrigger;\n /** Delay before showing tooltip (ms) */\n delayShow?: number;\n /** Delay before hiding tooltip (ms) */\n delayHide?: number;\n /** Whether the tooltip is disabled */\n disabled?: boolean;\n /** Custom className for the tooltip */\n className?: string;\n /** Whether to show an arrow pointing to the trigger */\n arrow?: boolean;\n /** Maximum width of the tooltip */\n maxWidth?: number;\n /** Controlled open state */\n open?: boolean;\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void;\n}\n\nconst positionStyles: Record<TooltipPosition, string> = {\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n left: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n right: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n};\n\nconst arrowStyles: Record<TooltipPosition, string> = {\n top: \"top-full left-1/2 -translate-x-1/2 border-t-ds-surface-2 border-x-transparent border-b-transparent border-t-[6px] border-x-[6px] border-b-0\",\n bottom:\n \"bottom-full left-1/2 -translate-x-1/2 border-b-ds-surface-2 border-x-transparent border-t-transparent border-b-[6px] border-x-[6px] border-t-0\",\n left: \"left-full top-1/2 -translate-y-1/2 border-l-ds-surface-2 border-y-transparent border-r-transparent border-l-[6px] border-y-[6px] border-r-0\",\n right:\n \"right-full top-1/2 -translate-y-1/2 border-r-ds-surface-2 border-y-transparent border-l-transparent border-r-[6px] border-y-[6px] border-l-0\",\n};\n\nconst motionVariants = {\n top: {\n initial: { opacity: 0, y: 4, scale: 0.95 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: 4, scale: 0.95 },\n },\n bottom: {\n initial: { opacity: 0, y: -4, scale: 0.95 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: -4, scale: 0.95 },\n },\n left: {\n initial: { opacity: 0, x: 4, scale: 0.95 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: 4, scale: 0.95 },\n },\n right: {\n initial: { opacity: 0, x: -4, scale: 0.95 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: -4, scale: 0.95 },\n },\n} as const;\n\nexport default function Tooltip({\n content,\n children,\n position = \"top\",\n trigger = \"hover\",\n delayShow = 200,\n delayHide = 0,\n disabled = false,\n className = \"\",\n arrow = true,\n maxWidth = 250,\n open: controlledOpen,\n onOpenChange,\n}: TooltipProps) {\n const [internalOpen, setInternalOpen] = useState(false);\n const showTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const hideTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n\n const isControlled = controlledOpen !== undefined;\n const isOpen = isControlled ? controlledOpen : internalOpen;\n\n const setOpen = useCallback(\n (value: boolean) => {\n if (isControlled) {\n onOpenChange?.(value);\n } else {\n setInternalOpen(value);\n }\n },\n [isControlled, onOpenChange],\n );\n\n const clearTimeouts = useCallback(() => {\n if (showTimeoutRef.current) {\n clearTimeout(showTimeoutRef.current);\n showTimeoutRef.current = null;\n }\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n hideTimeoutRef.current = null;\n }\n }, []);\n\n const showTooltip = useCallback(() => {\n if (disabled) return;\n clearTimeouts();\n if (delayShow > 0) {\n showTimeoutRef.current = setTimeout(() => setOpen(true), delayShow);\n } else {\n setOpen(true);\n }\n }, [disabled, delayShow, setOpen, clearTimeouts]);\n\n const hideTooltip = useCallback(() => {\n clearTimeouts();\n if (delayHide > 0) {\n hideTimeoutRef.current = setTimeout(() => setOpen(false), delayHide);\n } else {\n setOpen(false);\n }\n }, [delayHide, setOpen, clearTimeouts]);\n\n const toggleTooltip = useCallback(() => {\n if (disabled) return;\n setOpen(!isOpen);\n }, [disabled, isOpen, setOpen]);\n\n useEffect(() => {\n return () => clearTimeouts();\n }, [clearTimeouts]);\n\n // Close on click outside for click trigger\n useEffect(() => {\n if (trigger !== \"click\" || !isOpen) return;\n\n const handleClickOutside = (event: MouseEvent) => {\n if (\n triggerRef.current &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [trigger, isOpen, setOpen]);\n\n // Close on Escape\n useEffect(() => {\n if (!isOpen) return;\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"keydown\", handleEscape);\n return () => document.removeEventListener(\"keydown\", handleEscape);\n }, [isOpen, setOpen]);\n\n const triggerProps = {\n ...(trigger === \"hover\" && {\n onMouseEnter: showTooltip,\n onMouseLeave: hideTooltip,\n }),\n ...(trigger === \"click\" && {\n onClick: toggleTooltip,\n }),\n ...(trigger === \"focus\" && {\n onFocus: showTooltip,\n onBlur: hideTooltip,\n }),\n };\n\n return (\n <div ref={triggerRef} className=\"relative inline-flex\" {...triggerProps}>\n {children}\n <AnimatePresence>\n {isOpen && !disabled && (\n <motion.div\n role=\"tooltip\"\n initial={motionVariants[position].initial}\n animate={motionVariants[position].animate}\n exit={motionVariants[position].exit}\n transition={{ duration: 0.15, ease: \"easeOut\" }}\n className={`\n absolute z-50 ${positionStyles[position]}\n px-3 py-2 text-sm font-medium\n rounded-lg border border-ds-border-2 bg-ds-surface-2 text-ds-1 shadow-lg\n whitespace-normal break-words\n ${className}\n `}\n style={{ maxWidth }}\n >\n {content}\n {arrow && (\n <span\n className={`absolute w-0 h-0 ${arrowStyles[position]}`}\n aria-hidden=\"true\"\n />\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n}\n\nexport { Tooltip };\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tooltip-DK3B879v.mjs","names":[],"sources":["../../src/components/overlays/tooltip/Tooltip.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\n\nexport type TooltipPosition = \"top\" | \"bottom\" | \"left\" | \"right\";\nexport type TooltipTrigger = \"hover\" | \"click\" | \"focus\";\n\nexport interface TooltipProps {\n /** The content to display in the tooltip */\n content: React.ReactNode;\n /** The element that triggers the tooltip */\n children: React.ReactElement;\n /** Position of the tooltip relative to the trigger */\n position?: TooltipPosition;\n /** How the tooltip is triggered */\n trigger?: TooltipTrigger;\n /** Delay before showing tooltip (ms) */\n delayShow?: number;\n /** Delay before hiding tooltip (ms) */\n delayHide?: number;\n /** Whether the tooltip is disabled */\n disabled?: boolean;\n /** Custom className for the tooltip */\n className?: string;\n /** Whether to show an arrow pointing to the trigger */\n arrow?: boolean;\n /** Maximum width of the tooltip */\n maxWidth?: number;\n /** Controlled open state */\n open?: boolean;\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void;\n}\n\nconst positionStyles: Record<TooltipPosition, string> = {\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n left: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n right: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n};\n\nconst arrowStyles: Record<TooltipPosition, string> = {\n top: \"top-full left-1/2 -translate-x-1/2 border-t-ds-surface-2 border-x-transparent border-b-transparent border-t-[6px] border-x-[6px] border-b-0\",\n bottom:\n \"bottom-full left-1/2 -translate-x-1/2 border-b-ds-surface-2 border-x-transparent border-t-transparent border-b-[6px] border-x-[6px] border-t-0\",\n left: \"left-full top-1/2 -translate-y-1/2 border-l-ds-surface-2 border-y-transparent border-r-transparent border-l-[6px] border-y-[6px] border-r-0\",\n right:\n \"right-full top-1/2 -translate-y-1/2 border-r-ds-surface-2 border-y-transparent border-l-transparent border-r-[6px] border-y-[6px] border-l-0\",\n};\n\nconst motionVariants = {\n top: {\n initial: { opacity: 0, y: 4, scale: 0.95 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: 4, scale: 0.95 },\n },\n bottom: {\n initial: { opacity: 0, y: -4, scale: 0.95 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: -4, scale: 0.95 },\n },\n left: {\n initial: { opacity: 0, x: 4, scale: 0.95 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: 4, scale: 0.95 },\n },\n right: {\n initial: { opacity: 0, x: -4, scale: 0.95 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: -4, scale: 0.95 },\n },\n} as const;\n\nexport default function Tooltip({\n content,\n children,\n position = \"top\",\n trigger = \"hover\",\n delayShow = 200,\n delayHide = 0,\n disabled = false,\n className = \"\",\n arrow = true,\n maxWidth = 250,\n open: controlledOpen,\n onOpenChange,\n}: TooltipProps) {\n const [internalOpen, setInternalOpen] = useState(false);\n const showTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const hideTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n\n const isControlled = controlledOpen !== undefined;\n const isOpen = isControlled ? controlledOpen : internalOpen;\n\n const setOpen = useCallback(\n (value: boolean) => {\n if (isControlled) {\n onOpenChange?.(value);\n } else {\n setInternalOpen(value);\n }\n },\n [isControlled, onOpenChange],\n );\n\n const clearTimeouts = useCallback(() => {\n if (showTimeoutRef.current) {\n clearTimeout(showTimeoutRef.current);\n showTimeoutRef.current = null;\n }\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n hideTimeoutRef.current = null;\n }\n }, []);\n\n const showTooltip = useCallback(() => {\n if (disabled) return;\n clearTimeouts();\n if (delayShow > 0) {\n showTimeoutRef.current = setTimeout(() => setOpen(true), delayShow);\n } else {\n setOpen(true);\n }\n }, [disabled, delayShow, setOpen, clearTimeouts]);\n\n const hideTooltip = useCallback(() => {\n clearTimeouts();\n if (delayHide > 0) {\n hideTimeoutRef.current = setTimeout(() => setOpen(false), delayHide);\n } else {\n setOpen(false);\n }\n }, [delayHide, setOpen, clearTimeouts]);\n\n const toggleTooltip = useCallback(() => {\n if (disabled) return;\n setOpen(!isOpen);\n }, [disabled, isOpen, setOpen]);\n\n useEffect(() => {\n return () => clearTimeouts();\n }, [clearTimeouts]);\n\n // Close on click outside for click trigger\n useEffect(() => {\n if (trigger !== \"click\" || !isOpen) return;\n\n const handleClickOutside = (event: MouseEvent) => {\n if (\n triggerRef.current &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [trigger, isOpen, setOpen]);\n\n // Close on Escape\n useEffect(() => {\n if (!isOpen) return;\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"keydown\", handleEscape);\n return () => document.removeEventListener(\"keydown\", handleEscape);\n }, [isOpen, setOpen]);\n\n const triggerProps = {\n ...(trigger === \"hover\" && {\n onMouseEnter: showTooltip,\n onMouseLeave: hideTooltip,\n }),\n ...(trigger === \"click\" && {\n onClick: toggleTooltip,\n }),\n ...(trigger === \"focus\" && {\n onFocus: showTooltip,\n onBlur: hideTooltip,\n }),\n };\n\n return (\n <div ref={triggerRef} className=\"relative inline-flex\" {...triggerProps}>\n {children}\n <AnimatePresence>\n {isOpen && !disabled && (\n <motion.div\n role=\"tooltip\"\n initial={motionVariants[position].initial}\n animate={motionVariants[position].animate}\n exit={motionVariants[position].exit}\n transition={{ duration: 0.15, ease: \"easeOut\" }}\n className={`\n absolute z-50 ${positionStyles[position]}\n px-3 py-2 text-sm font-medium\n rounded-lg border border-ds-border-2 bg-ds-surface-2 text-ds-1 shadow-lg\n whitespace-normal break-words\n ${className}\n `}\n style={{ maxWidth }}\n >\n {content}\n {arrow && (\n <span\n className={`absolute w-0 h-0 ${arrowStyles[position]}`}\n aria-hidden=\"true\"\n />\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n}\n\nexport { Tooltip };\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"button-A6UTvrOu.mjs","names":[],"sources":["../../src/components/forms/button/Button.tsx"],"sourcesContent":["import type { ButtonProps, ButtonVariant } from \"./types\";\n\nconst baseClasses = `\n inline-flex\n items-center\n justify-center\n gap-2\n cursor-pointer\n rounded-lg\n font-semibold\n leading-none\n transition-all\n duration-200\n ease-in-out\n active:scale-99\n hover:opacity-90\n disabled:opacity-50\n disabled:cursor-not-allowed\n`;\nconst variantClassMap = {\n primary: \"bg-ds-accent hover:bg-ds-accent-hover text-ds-on-accent shadow-2\",\n secondary:\n \"bg-ds-surface-1 border border-ds-border-2 text-ds-1 shadow-1 hover:border-ds-border-1 hover:bg-ds-canvas\",\n tertiary:\n \"bg-transparent text-ds-1 shadow-none hover:bg-ds-canvas/70 hover:text-ds-1 border border-transparent\",\n} satisfies Record<ButtonVariant, string>;\nconst sizeClassMap = {\n small: \"py-2 px-3 text-xs\",\n medium: \"py-2.5 px-4 text-sm\",\n large: \"py-3 px-6 text-base\",\n};\n\nexport const Button = ({\n primary = false,\n variant,\n size = \"medium\",\n backgroundColor,\n label,\n children,\n type = \"button\",\n className = \"\",\n ...props\n}: ButtonProps) => {\n const resolvedVariant = variant ?? (primary ? \"primary\" : \"secondary\");\n const variantClasses = variantClassMap[resolvedVariant];\n const sizeClasses =\n sizeClassMap[size as keyof typeof sizeClassMap] || sizeClassMap.medium;\n\n return (\n <button\n type={type}\n className={`${baseClasses} ${variantClasses} ${sizeClasses} ${className}`.trim()}\n style={backgroundColor ? { backgroundColor } : undefined}\n {...props}\n >\n {children}\n {label && <span>{label}</span>}\n </button>\n );\n};\n"],"mappings":";;AAEA,IAAM,cAAc;;;;;;;;;;;;;;;;;AAiBpB,IAAM,kBAAkB;CACtB,SAAS;CACT,WACE;CACF,UACE;CACH;AACD,IAAM,eAAe;CACnB,OAAO;CACP,QAAQ;CACR,OAAO;CACR;AAED,IAAa,UAAU,EACrB,UAAU,OACV,SACA,OAAO,UACP,iBACA,OACA,UACA,OAAO,UACP,YAAY,IACZ,GAAG,YACc;CAEjB,MAAM,iBAAiB,gBADC,YAAY,UAAU,YAAY;AAK1D,QACE,qBAAC,UAAD;EACQ;EACN,WAAW,GAAG,YAAY,GAAG,eAAe,GAL9C,aAAa,SAAsC,aAAa,OAKH,GAAG,YAAY,MAAM;EAChF,OAAO,kBAAkB,EAAE,iBAAiB,GAAG,KAAA;EAC/C,GAAI;YAJN,CAMG,UACA,SAAS,oBAAC,QAAD,EAAA,UAAO,OAAa,CAAA,CACvB"}