erp-pro-ui 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/README.md +137 -28
  2. package/dist/accordion.cjs +1 -1
  3. package/dist/accordion.mjs +1 -1
  4. package/dist/alert.cjs +1 -1
  5. package/dist/alert.mjs +1 -1
  6. package/dist/animated-content.cjs +1 -1
  7. package/dist/animated-content.mjs +1 -1
  8. package/dist/animations.css +2 -2
  9. package/dist/ascii-text.cjs +1 -1
  10. package/dist/ascii-text.mjs +1 -1
  11. package/dist/background-gradient-animation.cjs +1 -1
  12. package/dist/background-gradient-animation.mjs +1 -1
  13. package/dist/button-hover-border-gradient.cjs +1 -1
  14. package/dist/button-hover-border-gradient.mjs +1 -1
  15. package/dist/button.cjs +1 -1
  16. package/dist/button.mjs +1 -1
  17. package/dist/calendar.cjs +1 -1
  18. package/dist/calendar.mjs +1 -1
  19. package/dist/card.cjs +1 -1
  20. package/dist/card.mjs +1 -1
  21. package/dist/carousel.cjs +1 -1
  22. package/dist/carousel.mjs +1 -1
  23. package/dist/catalog.cjs +6 -0
  24. package/dist/catalog.cjs.map +1 -1
  25. package/dist/catalog.d.ts +11 -1
  26. package/dist/catalog.d.ts.map +1 -1
  27. package/dist/catalog.mjs +6 -0
  28. package/dist/catalog.mjs.map +1 -1
  29. package/dist/charts.cjs +2 -1
  30. package/dist/charts.mjs +2 -2
  31. package/dist/checkbox.cjs +1 -1
  32. package/dist/checkbox.mjs +1 -1
  33. package/dist/chip.cjs +3 -1
  34. package/dist/chip.mjs +2 -2
  35. package/dist/chroma-grid.cjs +1 -1
  36. package/dist/chroma-grid.mjs +1 -1
  37. package/dist/chunks/{HoverBorderGradient-Df3PKpw6.cjs → HoverBorderGradient-C5D6lGg0.cjs} +8 -8
  38. package/dist/chunks/HoverBorderGradient-C5D6lGg0.cjs.map +1 -0
  39. package/dist/chunks/{HoverBorderGradient-DVFEIXFQ.mjs → HoverBorderGradient-CduqqQgX.mjs} +8 -8
  40. package/dist/chunks/HoverBorderGradient-CduqqQgX.mjs.map +1 -0
  41. package/dist/chunks/{accordion-Cbt-SJhj.mjs → accordion-6zxJUYXr.mjs} +8 -8
  42. package/dist/chunks/accordion-6zxJUYXr.mjs.map +1 -0
  43. package/dist/chunks/{accordion-pfJR8YYA.cjs → accordion-CmB6EidC.cjs} +8 -8
  44. package/dist/chunks/accordion-CmB6EidC.cjs.map +1 -0
  45. package/dist/chunks/alert-C5KEeQqh.cjs +81 -0
  46. package/dist/chunks/alert-C5KEeQqh.cjs.map +1 -0
  47. package/dist/chunks/alert-XVmYJgds.mjs +75 -0
  48. package/dist/chunks/alert-XVmYJgds.mjs.map +1 -0
  49. package/dist/chunks/{animated-content-CttSmLWV.cjs → animated-content-CLsFnjgr.cjs} +1 -1
  50. package/dist/chunks/{animated-content-CttSmLWV.cjs.map → animated-content-CLsFnjgr.cjs.map} +1 -1
  51. package/dist/chunks/{animated-content-C1uNg1xO.mjs → animated-content-bK6xp-vc.mjs} +1 -1
  52. package/dist/chunks/{animated-content-C1uNg1xO.mjs.map → animated-content-bK6xp-vc.mjs.map} +1 -1
  53. package/dist/chunks/{ascii-text-DlmArZXh.cjs → ascii-text-BP-BBy0-.cjs} +3 -3
  54. package/dist/chunks/{ascii-text-DlmArZXh.cjs.map → ascii-text-BP-BBy0-.cjs.map} +1 -1
  55. package/dist/chunks/{ascii-text-C5tyNsR3.mjs → ascii-text-RJxX3wCC.mjs} +1 -1
  56. package/dist/chunks/{ascii-text-C5tyNsR3.mjs.map → ascii-text-RJxX3wCC.mjs.map} +1 -1
  57. package/dist/chunks/{background-gradient-animation-BL-lnrJe.mjs → background-gradient-animation-DpKJ3ecq.mjs} +3 -3
  58. package/dist/chunks/{background-gradient-animation-BL-lnrJe.mjs.map → background-gradient-animation-DpKJ3ecq.mjs.map} +1 -1
  59. package/dist/chunks/{background-gradient-animation-CXV9GDH8.cjs → background-gradient-animation-II9hdrgB.cjs} +3 -3
  60. package/dist/chunks/{background-gradient-animation-CXV9GDH8.cjs.map → background-gradient-animation-II9hdrgB.cjs.map} +1 -1
  61. package/dist/chunks/{button-B0Lhj0AS.mjs → button-DddUhuR-.mjs} +6 -5
  62. package/dist/chunks/button-DddUhuR-.mjs.map +1 -0
  63. package/dist/chunks/{button-hover-border-gradient-CvoM60wz.mjs → button-hover-border-gradient-DFppVRI4.mjs} +3 -3
  64. package/dist/chunks/{button-hover-border-gradient-CvoM60wz.mjs.map → button-hover-border-gradient-DFppVRI4.mjs.map} +1 -1
  65. package/dist/chunks/{button-hover-border-gradient-CSHXM5Cm.cjs → button-hover-border-gradient-DX2lBG5C.cjs} +3 -3
  66. package/dist/chunks/{button-hover-border-gradient-CSHXM5Cm.cjs.map → button-hover-border-gradient-DX2lBG5C.cjs.map} +1 -1
  67. package/dist/chunks/{button-CZL6kFzT.cjs → button-xqernofO.cjs} +6 -5
  68. package/dist/chunks/button-xqernofO.cjs.map +1 -0
  69. package/dist/chunks/{calendar-DrCgT_pj.mjs → calendar-Cp84V2rY.mjs} +7 -7
  70. package/dist/chunks/calendar-Cp84V2rY.mjs.map +1 -0
  71. package/dist/chunks/{calendar-Cpp_Rc7T.cjs → calendar-DuCKr6b7.cjs} +7 -7
  72. package/dist/chunks/calendar-DuCKr6b7.cjs.map +1 -0
  73. package/dist/chunks/{card-C5_tFK6Q.cjs → card-CqPDr6Tt.cjs} +4 -4
  74. package/dist/chunks/card-CqPDr6Tt.cjs.map +1 -0
  75. package/dist/chunks/{card-Dh8wNv8N.mjs → card-SpHHNB0c.mjs} +4 -4
  76. package/dist/chunks/card-SpHHNB0c.mjs.map +1 -0
  77. package/dist/chunks/{carousel-BYwqI4cA.mjs → carousel-C1skQ65z.mjs} +14 -14
  78. package/dist/chunks/carousel-C1skQ65z.mjs.map +1 -0
  79. package/dist/chunks/{carousel-C1338X8h.cjs → carousel-YlRLOGkM.cjs} +11 -11
  80. package/dist/chunks/carousel-YlRLOGkM.cjs.map +1 -0
  81. package/dist/chunks/{charts-BYvM4TMG.mjs → charts-C-Qee_JY.mjs} +118 -19
  82. package/dist/chunks/charts-C-Qee_JY.mjs.map +1 -0
  83. package/dist/chunks/{charts-DbxyHtlX.cjs → charts-CZEYcr6X.cjs} +119 -14
  84. package/dist/chunks/charts-CZEYcr6X.cjs.map +1 -0
  85. package/dist/chunks/{checkbox-Pr49U9F1.mjs → checkbox-DjGpvMyo.mjs} +12 -12
  86. package/dist/chunks/checkbox-DjGpvMyo.mjs.map +1 -0
  87. package/dist/chunks/{checkbox-CxOcjoGP.cjs → checkbox-NM_iPd6S.cjs} +10 -10
  88. package/dist/chunks/checkbox-NM_iPd6S.cjs.map +1 -0
  89. package/dist/chunks/chip-BY83_HK7.cjs +203 -0
  90. package/dist/chunks/chip-BY83_HK7.cjs.map +1 -0
  91. package/dist/chunks/chip-CbO8-1lK.mjs +185 -0
  92. package/dist/chunks/chip-CbO8-1lK.mjs.map +1 -0
  93. package/dist/chunks/{chroma-grid-BAo6V5A7.mjs → chroma-grid-CexX28VQ.mjs} +6 -6
  94. package/dist/chunks/chroma-grid-CexX28VQ.mjs.map +1 -0
  95. package/dist/chunks/{chroma-grid-CIk0dsNS.cjs → chroma-grid-DP__XtmV.cjs} +6 -6
  96. package/dist/chunks/chroma-grid-DP__XtmV.cjs.map +1 -0
  97. package/dist/chunks/{color-palette-euKQMWlV.mjs → color-palette-BU1cI6XP.mjs} +166 -132
  98. package/dist/chunks/color-palette-BU1cI6XP.mjs.map +1 -0
  99. package/dist/chunks/{color-palette-2TuEMkAn.cjs → color-palette-ThIKMhT1.cjs} +168 -133
  100. package/dist/chunks/color-palette-ThIKMhT1.cjs.map +1 -0
  101. package/dist/chunks/{combobox-CwGubKTt.cjs → combobox-B7UIcjsI.cjs} +31 -23
  102. package/dist/chunks/combobox-B7UIcjsI.cjs.map +1 -0
  103. package/dist/chunks/{combobox-DrFmkI0F.mjs → combobox-D6WnThIQ.mjs} +30 -22
  104. package/dist/chunks/combobox-D6WnThIQ.mjs.map +1 -0
  105. package/dist/chunks/data-table-KDM8AEwU.mjs +1555 -0
  106. package/dist/chunks/data-table-KDM8AEwU.mjs.map +1 -0
  107. package/dist/chunks/data-table-z-YDzi0N.cjs +1646 -0
  108. package/dist/chunks/data-table-z-YDzi0N.cjs.map +1 -0
  109. package/dist/chunks/{date-picker-CNPORxhv.mjs → date-picker-Bh6_p4bD.mjs} +39 -19
  110. package/dist/chunks/date-picker-Bh6_p4bD.mjs.map +1 -0
  111. package/dist/chunks/{date-picker-CZo68Fkl.cjs → date-picker-CfCvp6Tj.cjs} +39 -19
  112. package/dist/chunks/date-picker-CfCvp6Tj.cjs.map +1 -0
  113. package/dist/chunks/{dialog-DUWnV9tN.mjs → dialog-BibwiFLY.mjs} +33 -30
  114. package/dist/chunks/dialog-BibwiFLY.mjs.map +1 -0
  115. package/dist/chunks/{dialog-CYFiWN8M.cjs → dialog-I141I0nc.cjs} +33 -30
  116. package/dist/chunks/dialog-I141I0nc.cjs.map +1 -0
  117. package/dist/chunks/{drawer-D82Jz6KO.mjs → drawer-DsE8Pb8e.mjs} +11 -11
  118. package/dist/chunks/drawer-DsE8Pb8e.mjs.map +1 -0
  119. package/dist/chunks/{drawer-CLjsYdxN.cjs → drawer-EC9eopGX.cjs} +11 -11
  120. package/dist/chunks/drawer-EC9eopGX.cjs.map +1 -0
  121. package/dist/chunks/{form-B2vcaHwh.mjs → form-CRwpjFWu.mjs} +10 -10
  122. package/dist/chunks/form-CRwpjFWu.mjs.map +1 -0
  123. package/dist/chunks/{form-CzH9GQc6.cjs → form-DaGyqM97.cjs} +10 -10
  124. package/dist/chunks/form-DaGyqM97.cjs.map +1 -0
  125. package/dist/chunks/{gradual-blur-B9GoY8o1.cjs → gradual-blur-Di7MBs7M.cjs} +1 -1
  126. package/dist/chunks/{gradual-blur-B9GoY8o1.cjs.map → gradual-blur-Di7MBs7M.cjs.map} +1 -1
  127. package/dist/chunks/{gradual-blur-Bl3dOMEz.mjs → gradual-blur-pt0UiMEy.mjs} +1 -1
  128. package/dist/chunks/{gradual-blur-Bl3dOMEz.mjs.map → gradual-blur-pt0UiMEy.mjs.map} +1 -1
  129. package/dist/chunks/{hover-card-xqwpmZNm.mjs → hover-card-C3Xa18Ov.mjs} +7 -8
  130. package/dist/chunks/hover-card-C3Xa18Ov.mjs.map +1 -0
  131. package/dist/chunks/{hover-card-v0QwmVBU.cjs → hover-card-D78E07hk.cjs} +7 -8
  132. package/dist/chunks/hover-card-D78E07hk.cjs.map +1 -0
  133. package/dist/chunks/{icons-BxIzP2jd.cjs → icons-CRanVZB1.cjs} +8 -8
  134. package/dist/chunks/icons-CRanVZB1.cjs.map +1 -0
  135. package/dist/chunks/{icons-DuumN7z-.mjs → icons-bx3nrxNv.mjs} +8 -8
  136. package/dist/chunks/icons-bx3nrxNv.mjs.map +1 -0
  137. package/dist/chunks/{input-Bt_r_B_c.mjs → input-CpARxvFi.mjs} +14 -14
  138. package/dist/chunks/input-CpARxvFi.mjs.map +1 -0
  139. package/dist/chunks/{input-BWM6G7jq.cjs → input-DTW_8EwG.cjs} +14 -14
  140. package/dist/chunks/input-DTW_8EwG.cjs.map +1 -0
  141. package/dist/chunks/{label-KPA-yYOF.mjs → label-BVH02Yvq.mjs} +1 -1
  142. package/dist/chunks/{label-KPA-yYOF.mjs.map → label-BVH02Yvq.mjs.map} +1 -1
  143. package/dist/chunks/{label-BWPEGVam.cjs → label-DN-Bg5i8.cjs} +1 -1
  144. package/dist/chunks/{label-BWPEGVam.cjs.map → label-DN-Bg5i8.cjs.map} +1 -1
  145. package/dist/chunks/{loading-q7IEg56I.cjs → loading-B1yrR3KX.cjs} +7 -7
  146. package/dist/chunks/{loading-q7IEg56I.cjs.map → loading-B1yrR3KX.cjs.map} +1 -1
  147. package/dist/chunks/{loading-S1TdIrbB.mjs → loading-B2Ron0Fd.mjs} +7 -7
  148. package/dist/chunks/{loading-S1TdIrbB.mjs.map → loading-B2Ron0Fd.mjs.map} +1 -1
  149. package/dist/chunks/{multi-select-combobox-D46M-AN9.mjs → multi-select-combobox-CMhAXEGZ.mjs} +15 -15
  150. package/dist/chunks/multi-select-combobox-CMhAXEGZ.mjs.map +1 -0
  151. package/dist/chunks/{multi-select-combobox-dS6bJE_e.cjs → multi-select-combobox-FEbMAPEg.cjs} +16 -16
  152. package/dist/chunks/multi-select-combobox-FEbMAPEg.cjs.map +1 -0
  153. package/dist/chunks/{otp-input-DSW9Ca_D.cjs → otp-input-B6nJC-Fl.cjs} +10 -10
  154. package/dist/chunks/otp-input-B6nJC-Fl.cjs.map +1 -0
  155. package/dist/chunks/{otp-input-DeAi4nJ_.mjs → otp-input-B7DhhsMe.mjs} +10 -10
  156. package/dist/chunks/otp-input-B7DhhsMe.mjs.map +1 -0
  157. package/dist/chunks/{overlay-TycCIFOu.mjs → overlay-C58wXorc.mjs} +1 -1
  158. package/dist/chunks/{overlay-TycCIFOu.mjs.map → overlay-C58wXorc.mjs.map} +1 -1
  159. package/dist/chunks/{overlay-DWNTyQzK.cjs → overlay-DwJgjJuu.cjs} +1 -1
  160. package/dist/chunks/{overlay-DWNTyQzK.cjs.map → overlay-DwJgjJuu.cjs.map} +1 -1
  161. package/dist/chunks/{password-strength-meter-DxMV6GAs.cjs → password-strength-meter-6vNu6p19.cjs} +13 -13
  162. package/dist/chunks/password-strength-meter-6vNu6p19.cjs.map +1 -0
  163. package/dist/chunks/{password-strength-meter-CbNSBuh_.mjs → password-strength-meter-D7gmZNjp.mjs} +13 -13
  164. package/dist/chunks/password-strength-meter-D7gmZNjp.mjs.map +1 -0
  165. package/dist/chunks/{progress-bar-BdvQtpm3.cjs → progress-bar-CbsCItvv.cjs} +78 -5
  166. package/dist/chunks/progress-bar-CbsCItvv.cjs.map +1 -0
  167. package/dist/chunks/{progress-bar-B9sy7WBT.mjs → progress-bar-D6Q9Di7D.mjs} +72 -5
  168. package/dist/chunks/progress-bar-D6Q9Di7D.mjs.map +1 -0
  169. package/dist/chunks/{radio-C9w_CoiY.mjs → radio-C6Meq2iz.mjs} +2 -2
  170. package/dist/chunks/{radio-C9w_CoiY.mjs.map → radio-C6Meq2iz.mjs.map} +1 -1
  171. package/dist/chunks/{radio-jMHDvaMY.cjs → radio-DxakS7iD.cjs} +2 -2
  172. package/dist/chunks/{radio-jMHDvaMY.cjs.map → radio-DxakS7iD.cjs.map} +1 -1
  173. package/dist/chunks/{select-B8UQ6Uq5.mjs → select-1rSJeUBQ.mjs} +25 -19
  174. package/dist/chunks/select-1rSJeUBQ.mjs.map +1 -0
  175. package/dist/chunks/{select-CCUSMvfS.cjs → select-SOmIt-BD.cjs} +25 -19
  176. package/dist/chunks/select-SOmIt-BD.cjs.map +1 -0
  177. package/dist/chunks/{skeleton-CtLumdRw.mjs → skeleton-BRx-80dg.mjs} +18 -18
  178. package/dist/chunks/skeleton-BRx-80dg.mjs.map +1 -0
  179. package/dist/chunks/{skeleton-BNea1Rcp.cjs → skeleton-o7DlA5yl.cjs} +18 -18
  180. package/dist/chunks/skeleton-o7DlA5yl.cjs.map +1 -0
  181. package/dist/chunks/{spinners-BL4ERCCw.cjs → spinners-BylPf0uk.cjs} +2 -2
  182. package/dist/chunks/{spinners-BL4ERCCw.cjs.map → spinners-BylPf0uk.cjs.map} +1 -1
  183. package/dist/chunks/{spinners-BBCWD2gw.mjs → spinners-hJaI_cBH.mjs} +2 -2
  184. package/dist/chunks/{spinners-BBCWD2gw.mjs.map → spinners-hJaI_cBH.mjs.map} +1 -1
  185. package/dist/chunks/{splash-cursor-BVSmbcIX.cjs → splash-cursor-CmqkSl6m.cjs} +1 -1
  186. package/dist/chunks/{splash-cursor-BVSmbcIX.cjs.map → splash-cursor-CmqkSl6m.cjs.map} +1 -1
  187. package/dist/chunks/{splash-cursor-rSrTnawZ.mjs → splash-cursor-Cxouip_h.mjs} +1 -1
  188. package/dist/chunks/{splash-cursor-rSrTnawZ.mjs.map → splash-cursor-Cxouip_h.mjs.map} +1 -1
  189. package/dist/chunks/{spotlight-card-DS1dy1W3.cjs → spotlight-card-B3L3K21T.cjs} +8 -8
  190. package/dist/chunks/spotlight-card-B3L3K21T.cjs.map +1 -0
  191. package/dist/chunks/{spotlight-card-BpZLMOp6.mjs → spotlight-card-DIgacTxA.mjs} +8 -8
  192. package/dist/chunks/spotlight-card-DIgacTxA.mjs.map +1 -0
  193. package/dist/chunks/{stepper-D6qQbZdg.cjs → stepper-BpjKyemI.cjs} +212 -129
  194. package/dist/chunks/stepper-BpjKyemI.cjs.map +1 -0
  195. package/dist/chunks/{stepper-DUknuW2E.mjs → stepper-JD4ZHT-b.mjs} +213 -130
  196. package/dist/chunks/stepper-JD4ZHT-b.mjs.map +1 -0
  197. package/dist/chunks/sun-to-moon-button-BOx1n6nk.cjs +311 -0
  198. package/dist/chunks/sun-to-moon-button-BOx1n6nk.cjs.map +1 -0
  199. package/dist/chunks/sun-to-moon-button-CBbDar4k.mjs +299 -0
  200. package/dist/chunks/sun-to-moon-button-CBbDar4k.mjs.map +1 -0
  201. package/dist/chunks/{switch-C5otDb4c.cjs → switch-C9suGEWg.cjs} +5 -5
  202. package/dist/chunks/switch-C9suGEWg.cjs.map +1 -0
  203. package/dist/chunks/{switch-DOVl_i_s.mjs → switch-hd7zTBD_.mjs} +5 -5
  204. package/dist/chunks/switch-hd7zTBD_.mjs.map +1 -0
  205. package/dist/chunks/{textarea-Blky_fLK.mjs → textarea-Cu26uKqq.mjs} +5 -5
  206. package/dist/chunks/textarea-Cu26uKqq.mjs.map +1 -0
  207. package/dist/chunks/{textarea-ok_NlE2p.cjs → textarea-cXgKzluG.cjs} +5 -5
  208. package/dist/chunks/textarea-cXgKzluG.cjs.map +1 -0
  209. package/dist/chunks/{theme-7DWLxJK_.cjs → theme-D6B-FaoE.cjs} +28 -5
  210. package/dist/chunks/theme-D6B-FaoE.cjs.map +1 -0
  211. package/dist/chunks/{theme-BceKeYhw.mjs → theme-koPrLKQv.mjs} +28 -5
  212. package/dist/chunks/theme-koPrLKQv.mjs.map +1 -0
  213. package/dist/chunks/{toast-CvfP7PUP.mjs → toast-CpX-22n2.mjs} +26 -26
  214. package/dist/chunks/toast-CpX-22n2.mjs.map +1 -0
  215. package/dist/chunks/{toast-Ds7_19Ap.cjs → toast-REa6FRBc.cjs} +26 -26
  216. package/dist/chunks/toast-REa6FRBc.cjs.map +1 -0
  217. package/dist/chunks/{tooltip-efHETBo1.mjs → tooltip-CASvQiFQ.mjs} +6 -7
  218. package/dist/chunks/tooltip-CASvQiFQ.mjs.map +1 -0
  219. package/dist/chunks/{tooltip-nkIqViGk.cjs → tooltip-CKF78rni.cjs} +6 -7
  220. package/dist/chunks/tooltip-CKF78rni.cjs.map +1 -0
  221. package/dist/chunks/truncated-text-DTgks5yS.mjs +45 -0
  222. package/dist/chunks/truncated-text-DTgks5yS.mjs.map +1 -0
  223. package/dist/chunks/truncated-text-istgJRUq.cjs +52 -0
  224. package/dist/chunks/truncated-text-istgJRUq.cjs.map +1 -0
  225. package/dist/chunks/{typography-CLu6Hx9j.mjs → typography-KxLf6Td8.mjs} +5 -5
  226. package/dist/chunks/typography-KxLf6Td8.mjs.map +1 -0
  227. package/dist/chunks/{typography-DaLu9tty.cjs → typography-sGmh0gZ_.cjs} +6 -6
  228. package/dist/chunks/typography-sGmh0gZ_.cjs.map +1 -0
  229. package/dist/color-palette.cjs +1 -1
  230. package/dist/color-palette.mjs +1 -1
  231. package/dist/colors.css +45 -149
  232. package/dist/combobox.cjs +1 -1
  233. package/dist/combobox.mjs +1 -1
  234. package/dist/components/data-display/card/Card.d.ts.map +1 -1
  235. package/dist/components/data-display/charts/MiniNeonSparkline.d.ts +17 -0
  236. package/dist/components/data-display/charts/MiniNeonSparkline.d.ts.map +1 -0
  237. package/dist/components/data-display/charts/ThinBreakdownBar.d.ts.map +1 -1
  238. package/dist/components/data-display/charts/index.d.ts +2 -0
  239. package/dist/components/data-display/charts/index.d.ts.map +1 -1
  240. package/dist/components/data-display/chip/Chip.d.ts.map +1 -1
  241. package/dist/components/data-display/chip/SpecialChip.d.ts +23 -0
  242. package/dist/components/data-display/chip/SpecialChip.d.ts.map +1 -0
  243. package/dist/components/data-display/chip/index.d.ts +2 -0
  244. package/dist/components/data-display/chip/index.d.ts.map +1 -1
  245. package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -1
  246. package/dist/components/data-display/data-table/DataTable.d.ts +49 -26
  247. package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
  248. package/dist/components/data-display/data-table/DataTableControls.d.ts +34 -0
  249. package/dist/components/data-display/data-table/DataTableControls.d.ts.map +1 -0
  250. package/dist/components/data-display/data-table/DataTableFilters.d.ts +27 -0
  251. package/dist/components/data-display/data-table/DataTableFilters.d.ts.map +1 -0
  252. package/dist/components/data-display/data-table/DataTableRows.d.ts +34 -0
  253. package/dist/components/data-display/data-table/DataTableRows.d.ts.map +1 -0
  254. package/dist/components/data-display/data-table/DataTableToolbar.d.ts +48 -0
  255. package/dist/components/data-display/data-table/DataTableToolbar.d.ts.map +1 -0
  256. package/dist/components/data-display/data-table/TablePrimitives.d.ts +11 -0
  257. package/dist/components/data-display/data-table/TablePrimitives.d.ts.map +1 -0
  258. package/dist/components/data-display/data-table/direction.d.ts +7 -0
  259. package/dist/components/data-display/data-table/direction.d.ts.map +1 -0
  260. package/dist/components/data-display/data-table/index.d.ts +2 -2
  261. package/dist/components/data-display/data-table/index.d.ts.map +1 -1
  262. package/dist/components/data-display/loading/Loading.d.ts.map +1 -1
  263. package/dist/components/data-display/progress-bar/CircularProgress.d.ts +17 -0
  264. package/dist/components/data-display/progress-bar/CircularProgress.d.ts.map +1 -0
  265. package/dist/components/data-display/progress-bar/index.d.ts +2 -0
  266. package/dist/components/data-display/progress-bar/index.d.ts.map +1 -1
  267. package/dist/components/effects/sun-to-moon-button/ThemeSwitcherButtons.d.ts +5 -0
  268. package/dist/components/effects/sun-to-moon-button/ThemeSwitcherButtons.d.ts.map +1 -0
  269. package/dist/components/effects/sun-to-moon-button/index.d.ts +2 -0
  270. package/dist/components/effects/sun-to-moon-button/index.d.ts.map +1 -1
  271. package/dist/components/feedback/alert/Alert.d.ts +1 -1
  272. package/dist/components/feedback/alert/Alert.d.ts.map +1 -1
  273. package/dist/components/feedback/alert/types.d.ts +11 -2
  274. package/dist/components/feedback/alert/types.d.ts.map +1 -1
  275. package/dist/components/forms/button/Button.d.ts +1 -1
  276. package/dist/components/forms/button/Button.d.ts.map +1 -1
  277. package/dist/components/forms/button/index.d.ts +1 -1
  278. package/dist/components/forms/button/index.d.ts.map +1 -1
  279. package/dist/components/forms/button/types.d.ts +4 -1
  280. package/dist/components/forms/button/types.d.ts.map +1 -1
  281. package/dist/components/forms/calendar/Calendar.d.ts.map +1 -1
  282. package/dist/components/forms/checkbox/Checkbox.d.ts.map +1 -1
  283. package/dist/components/forms/combobox/Combobox.d.ts.map +1 -1
  284. package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
  285. package/dist/components/forms/form/Form.d.ts.map +1 -1
  286. package/dist/components/forms/input/Input.d.ts.map +1 -1
  287. package/dist/components/forms/input/types.d.ts +1 -1
  288. package/dist/components/forms/input/types.d.ts.map +1 -1
  289. package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -1
  290. package/dist/components/forms/password-strength-meter/PasswordStrengthMeter.d.ts.map +1 -1
  291. package/dist/components/forms/select/Select.d.ts.map +1 -1
  292. package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -1
  293. package/dist/components/navigation/stepper/Stepper.d.ts +1 -1
  294. package/dist/components/navigation/stepper/Stepper.d.ts.map +1 -1
  295. package/dist/components/navigation/stepper/Stepper1.d.ts.map +1 -1
  296. package/dist/components/navigation/stepper/index.d.ts +1 -1
  297. package/dist/components/navigation/stepper/index.d.ts.map +1 -1
  298. package/dist/components/navigation/stepper/types.d.ts +3 -0
  299. package/dist/components/navigation/stepper/types.d.ts.map +1 -1
  300. package/dist/components/navigation/tabs/Tabs.d.ts +3 -0
  301. package/dist/components/navigation/tabs/Tabs.d.ts.map +1 -0
  302. package/dist/components/navigation/tabs/index.d.ts +3 -0
  303. package/dist/components/navigation/tabs/index.d.ts.map +1 -0
  304. package/dist/components/navigation/tabs/types.d.ts +21 -0
  305. package/dist/components/navigation/tabs/types.d.ts.map +1 -0
  306. package/dist/components/overlays/dialog/Dialog.d.ts.map +1 -1
  307. package/dist/components/overlays/dialog/types.d.ts +1 -0
  308. package/dist/components/overlays/dialog/types.d.ts.map +1 -1
  309. package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -1
  310. package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -1
  311. package/dist/components/overlays/toast/Toast.d.ts.map +1 -1
  312. package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -1
  313. package/dist/components/shared/overlay.d.ts +1 -1
  314. package/dist/components/typography/Typography.d.ts.map +1 -1
  315. package/dist/components/typography/truncated-text/TruncatedText.d.ts +11 -0
  316. package/dist/components/typography/truncated-text/TruncatedText.d.ts.map +1 -0
  317. package/dist/components/typography/truncated-text/index.d.ts +3 -0
  318. package/dist/components/typography/truncated-text/index.d.ts.map +1 -0
  319. package/dist/contexts/ThemeContext.d.ts +1 -1
  320. package/dist/contexts/ThemeContext.d.ts.map +1 -1
  321. package/dist/contexts/index.d.ts +1 -1
  322. package/dist/contexts/index.d.ts.map +1 -1
  323. package/dist/data-table.cjs +11 -1
  324. package/dist/data-table.mjs +2 -2
  325. package/dist/date-picker.cjs +1 -1
  326. package/dist/date-picker.mjs +1 -1
  327. package/dist/dialog.cjs +1 -1
  328. package/dist/dialog.mjs +1 -1
  329. package/dist/docs.cjs +76 -26
  330. package/dist/docs.cjs.map +1 -1
  331. package/dist/docs.d.ts +10 -10
  332. package/dist/docs.d.ts.map +1 -1
  333. package/dist/docs.mjs +76 -26
  334. package/dist/docs.mjs.map +1 -1
  335. package/dist/drawer.cjs +1 -1
  336. package/dist/drawer.mjs +1 -1
  337. package/dist/form.cjs +1 -1
  338. package/dist/form.mjs +1 -1
  339. package/dist/foundation.css +54 -3
  340. package/dist/foundations/theme/ThemeProvider.d.ts +22 -1
  341. package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
  342. package/dist/foundations/theme/index.d.ts +1 -1
  343. package/dist/foundations/theme/index.d.ts.map +1 -1
  344. package/dist/gradual-blur.cjs +1 -1
  345. package/dist/gradual-blur.mjs +1 -1
  346. package/dist/hover-border-gradient.cjs +1 -1
  347. package/dist/hover-border-gradient.mjs +1 -1
  348. package/dist/hover-card.cjs +1 -1
  349. package/dist/hover-card.mjs +1 -1
  350. package/dist/icons.cjs +1 -1
  351. package/dist/icons.mjs +1 -1
  352. package/dist/index.cjs +201 -48
  353. package/dist/index.cjs.map +1 -1
  354. package/dist/index.d.ts +17 -9
  355. package/dist/index.d.ts.map +1 -1
  356. package/dist/index.mjs +183 -50
  357. package/dist/index.mjs.map +1 -1
  358. package/dist/input.cjs +1 -1
  359. package/dist/input.mjs +1 -1
  360. package/dist/label.cjs +1 -1
  361. package/dist/label.mjs +1 -1
  362. package/dist/loading.cjs +1 -1
  363. package/dist/loading.mjs +1 -1
  364. package/dist/multi-select-combobox.cjs +1 -1
  365. package/dist/multi-select-combobox.mjs +1 -1
  366. package/dist/otp-input.cjs +1 -1
  367. package/dist/otp-input.mjs +1 -1
  368. package/dist/password-strength-meter.cjs +1 -1
  369. package/dist/password-strength-meter.mjs +1 -1
  370. package/dist/progress-bar.cjs +2 -1
  371. package/dist/progress-bar.mjs +2 -2
  372. package/dist/radio.cjs +1 -1
  373. package/dist/radio.mjs +1 -1
  374. package/dist/select.cjs +1 -1
  375. package/dist/select.mjs +1 -1
  376. package/dist/skeleton.cjs +1 -1
  377. package/dist/skeleton.mjs +1 -1
  378. package/dist/spinners.cjs +1 -1
  379. package/dist/spinners.mjs +1 -1
  380. package/dist/splash-cursor.cjs +1 -1
  381. package/dist/splash-cursor.mjs +1 -1
  382. package/dist/spotlight-card.cjs +1 -1
  383. package/dist/spotlight-card.mjs +1 -1
  384. package/dist/stepper.cjs +1 -1
  385. package/dist/stepper.mjs +1 -1
  386. package/dist/sun-to-moon-button.cjs +2 -1
  387. package/dist/sun-to-moon-button.mjs +2 -2
  388. package/dist/switch.cjs +1 -1
  389. package/dist/switch.mjs +1 -1
  390. package/dist/textarea.cjs +1 -1
  391. package/dist/textarea.mjs +1 -1
  392. package/dist/theme.cjs +1 -1
  393. package/dist/theme.mjs +1 -1
  394. package/dist/toast.cjs +1 -1
  395. package/dist/toast.mjs +1 -1
  396. package/dist/tokens.css +592 -298
  397. package/dist/tooltip.cjs +1 -1
  398. package/dist/tooltip.mjs +1 -1
  399. package/dist/truncated-text.cjs +3 -0
  400. package/dist/truncated-text.d.ts +2 -0
  401. package/dist/truncated-text.mjs +2 -0
  402. package/dist/typography.cjs +1 -1
  403. package/dist/typography.mjs +1 -1
  404. package/package.json +15 -9
  405. package/dist/chunks/HoverBorderGradient-DVFEIXFQ.mjs.map +0 -1
  406. package/dist/chunks/HoverBorderGradient-Df3PKpw6.cjs.map +0 -1
  407. package/dist/chunks/accordion-Cbt-SJhj.mjs.map +0 -1
  408. package/dist/chunks/accordion-pfJR8YYA.cjs.map +0 -1
  409. package/dist/chunks/alert-CtdLy4Hv.mjs +0 -40
  410. package/dist/chunks/alert-CtdLy4Hv.mjs.map +0 -1
  411. package/dist/chunks/alert-Dvz1GoL5.cjs +0 -46
  412. package/dist/chunks/alert-Dvz1GoL5.cjs.map +0 -1
  413. package/dist/chunks/button-B0Lhj0AS.mjs.map +0 -1
  414. package/dist/chunks/button-CZL6kFzT.cjs.map +0 -1
  415. package/dist/chunks/calendar-Cpp_Rc7T.cjs.map +0 -1
  416. package/dist/chunks/calendar-DrCgT_pj.mjs.map +0 -1
  417. package/dist/chunks/card-C5_tFK6Q.cjs.map +0 -1
  418. package/dist/chunks/card-Dh8wNv8N.mjs.map +0 -1
  419. package/dist/chunks/carousel-BYwqI4cA.mjs.map +0 -1
  420. package/dist/chunks/carousel-C1338X8h.cjs.map +0 -1
  421. package/dist/chunks/charts-BYvM4TMG.mjs.map +0 -1
  422. package/dist/chunks/charts-DbxyHtlX.cjs.map +0 -1
  423. package/dist/chunks/checkbox-CxOcjoGP.cjs.map +0 -1
  424. package/dist/chunks/checkbox-Pr49U9F1.mjs.map +0 -1
  425. package/dist/chunks/chip-B4ol1yPk.cjs +0 -145
  426. package/dist/chunks/chip-B4ol1yPk.cjs.map +0 -1
  427. package/dist/chunks/chip-DdnBLdpl.mjs +0 -139
  428. package/dist/chunks/chip-DdnBLdpl.mjs.map +0 -1
  429. package/dist/chunks/chroma-grid-BAo6V5A7.mjs.map +0 -1
  430. package/dist/chunks/chroma-grid-CIk0dsNS.cjs.map +0 -1
  431. package/dist/chunks/color-palette-2TuEMkAn.cjs.map +0 -1
  432. package/dist/chunks/color-palette-euKQMWlV.mjs.map +0 -1
  433. package/dist/chunks/combobox-CwGubKTt.cjs.map +0 -1
  434. package/dist/chunks/combobox-DrFmkI0F.mjs.map +0 -1
  435. package/dist/chunks/data-table-Bo80m7qV.mjs +0 -1123
  436. package/dist/chunks/data-table-Bo80m7qV.mjs.map +0 -1
  437. package/dist/chunks/data-table-W1sK5tkL.cjs +0 -1154
  438. package/dist/chunks/data-table-W1sK5tkL.cjs.map +0 -1
  439. package/dist/chunks/date-picker-CNPORxhv.mjs.map +0 -1
  440. package/dist/chunks/date-picker-CZo68Fkl.cjs.map +0 -1
  441. package/dist/chunks/dialog-CYFiWN8M.cjs.map +0 -1
  442. package/dist/chunks/dialog-DUWnV9tN.mjs.map +0 -1
  443. package/dist/chunks/drawer-CLjsYdxN.cjs.map +0 -1
  444. package/dist/chunks/drawer-D82Jz6KO.mjs.map +0 -1
  445. package/dist/chunks/form-B2vcaHwh.mjs.map +0 -1
  446. package/dist/chunks/form-CzH9GQc6.cjs.map +0 -1
  447. package/dist/chunks/hover-card-v0QwmVBU.cjs.map +0 -1
  448. package/dist/chunks/hover-card-xqwpmZNm.mjs.map +0 -1
  449. package/dist/chunks/icons-BxIzP2jd.cjs.map +0 -1
  450. package/dist/chunks/icons-DuumN7z-.mjs.map +0 -1
  451. package/dist/chunks/input-BWM6G7jq.cjs.map +0 -1
  452. package/dist/chunks/input-Bt_r_B_c.mjs.map +0 -1
  453. package/dist/chunks/multi-select-combobox-D46M-AN9.mjs.map +0 -1
  454. package/dist/chunks/multi-select-combobox-dS6bJE_e.cjs.map +0 -1
  455. package/dist/chunks/otp-input-DSW9Ca_D.cjs.map +0 -1
  456. package/dist/chunks/otp-input-DeAi4nJ_.mjs.map +0 -1
  457. package/dist/chunks/password-strength-meter-CbNSBuh_.mjs.map +0 -1
  458. package/dist/chunks/password-strength-meter-DxMV6GAs.cjs.map +0 -1
  459. package/dist/chunks/progress-bar-B9sy7WBT.mjs.map +0 -1
  460. package/dist/chunks/progress-bar-BdvQtpm3.cjs.map +0 -1
  461. package/dist/chunks/select-B8UQ6Uq5.mjs.map +0 -1
  462. package/dist/chunks/select-CCUSMvfS.cjs.map +0 -1
  463. package/dist/chunks/skeleton-BNea1Rcp.cjs.map +0 -1
  464. package/dist/chunks/skeleton-CtLumdRw.mjs.map +0 -1
  465. package/dist/chunks/spotlight-card-BpZLMOp6.mjs.map +0 -1
  466. package/dist/chunks/spotlight-card-DS1dy1W3.cjs.map +0 -1
  467. package/dist/chunks/stepper-D6qQbZdg.cjs.map +0 -1
  468. package/dist/chunks/stepper-DUknuW2E.mjs.map +0 -1
  469. package/dist/chunks/sun-to-moon-button-B2Aje05o.mjs +0 -186
  470. package/dist/chunks/sun-to-moon-button-B2Aje05o.mjs.map +0 -1
  471. package/dist/chunks/sun-to-moon-button-BmFwRBye.cjs +0 -192
  472. package/dist/chunks/sun-to-moon-button-BmFwRBye.cjs.map +0 -1
  473. package/dist/chunks/switch-C5otDb4c.cjs.map +0 -1
  474. package/dist/chunks/switch-DOVl_i_s.mjs.map +0 -1
  475. package/dist/chunks/textarea-Blky_fLK.mjs.map +0 -1
  476. package/dist/chunks/textarea-ok_NlE2p.cjs.map +0 -1
  477. package/dist/chunks/theme-7DWLxJK_.cjs.map +0 -1
  478. package/dist/chunks/theme-BceKeYhw.mjs.map +0 -1
  479. package/dist/chunks/toast-CvfP7PUP.mjs.map +0 -1
  480. package/dist/chunks/toast-Ds7_19Ap.cjs.map +0 -1
  481. package/dist/chunks/tooltip-efHETBo1.mjs.map +0 -1
  482. package/dist/chunks/tooltip-nkIqViGk.cjs.map +0 -1
  483. package/dist/chunks/typography-CLu6Hx9j.mjs.map +0 -1
  484. package/dist/chunks/typography-DaLu9tty.cjs.map +0 -1
@@ -1,8 +1,9 @@
1
- import { _ as AlertTriangleIcon, h as CheckCircleIcon, l as LoaderIcon, o as QuestionCircleIcon, q as CloseIcon, u as InfoCircleIcon, v as AlertCircleIcon } from "./icons-DuumN7z-.mjs";
2
- import { t as useOverlayEffects } from "./overlay-TycCIFOu.mjs";
1
+ import { _ as AlertTriangleIcon, h as CheckCircleIcon, l as LoaderIcon, o as QuestionCircleIcon, q as CloseIcon, u as InfoCircleIcon, v as AlertCircleIcon } from "./icons-bx3nrxNv.mjs";
2
+ import { t as useOverlayEffects } from "./overlay-C58wXorc.mjs";
3
3
  import { useEffect, useRef } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { AnimatePresence, motion } from "framer-motion";
6
+ import { createPortal } from "react-dom";
6
7
  //#region src/components/overlays/dialog/Dialog.tsx
7
8
  var animationVariants = {
8
9
  fade: {
@@ -203,40 +204,38 @@ var animationTransitions = {
203
204
  };
204
205
  var basePanel = `
205
206
  relative w-full max-w-lg rounded-2xl overflow-hidden
206
- border border-white/30 dark:border-white/10
207
+ border border-ds-border-2
207
208
  backdrop-blur-2xl backdrop-saturate-150
208
- bg-gradient-to-br from-white/80 via-white/70 to-white/60
209
- dark:from-neutral-900/90 dark:via-neutral-900/80 dark:to-neutral-800/70
209
+ bg-ds-surface-1/95
210
210
  p-6
211
211
  shadow-[0_8px_32px_rgba(0,0,0,0.12),0_2px_8px_rgba(0,0,0,0.08)]
212
- dark:shadow-[0_8px_32px_rgba(0,0,0,0.5),0_2px_8px_rgba(0,0,0,0.3)]
213
- ring-1 ring-inset ring-white/20 dark:ring-white/5
212
+ ring-1 ring-inset ring-ds-border-3/40
214
213
  `;
215
214
  var variantStyles = {
216
215
  default: {
217
- icon: "bg-accent-subtle",
218
- button: "bg-accent hover:bg-accent-hover text-on-accent",
219
- iconColor: "text-accent"
216
+ icon: "bg-ds-accent-subtle",
217
+ button: "bg-ds-accent hover:bg-ds-accent-hover text-ds-on-accent",
218
+ iconColor: "text-ds-1"
220
219
  },
221
220
  destructive: {
222
- icon: "bg-danger-subtle",
223
- button: "bg-destructive hover:opacity-90 text-white",
224
- iconColor: "text-danger"
221
+ icon: "bg-ds-state-error-surface",
222
+ button: "bg-ds-state-danger hover:opacity-90 text-ds-on-accent",
223
+ iconColor: "text-ds-state-error-text"
225
224
  },
226
225
  success: {
227
- icon: "bg-success-subtle",
228
- button: "bg-success hover:opacity-90 text-white",
229
- iconColor: "text-success"
226
+ icon: "bg-ds-state-success-surface",
227
+ button: "bg-ds-state-success hover:opacity-90 text-ds-on-accent",
228
+ iconColor: "text-ds-state-success-text"
230
229
  },
231
230
  warning: {
232
- icon: "bg-warning-subtle",
233
- button: "bg-warning hover:opacity-90 text-neutral-950",
234
- iconColor: "text-warning"
231
+ icon: "bg-ds-state-warning-surface",
232
+ button: "bg-ds-state-warning hover:opacity-90 text-ds-1",
233
+ iconColor: "text-ds-state-warning-text"
235
234
  },
236
235
  info: {
237
- icon: "bg-info-subtle",
238
- button: "bg-info hover:opacity-90 text-white",
239
- iconColor: "text-info"
236
+ icon: "bg-ds-state-info-surface",
237
+ button: "bg-ds-state-info hover:opacity-90 text-ds-on-accent",
238
+ iconColor: "text-ds-state-info-text"
240
239
  }
241
240
  };
242
241
  var VariantIcon = ({ variant }) => {
@@ -267,6 +266,7 @@ var Spinner = () => /* @__PURE__ */ jsx(LoaderIcon, {
267
266
  className: "animate-spin w-4 h-4",
268
267
  "aria-hidden": "true"
269
268
  });
269
+ var DIALOG_ROOT_Z_INDEX = 2147483e3;
270
270
  var Dialog = ({ open, onOpenChange, title, description, children, footer, closeOnOverlay = true, showClose = true, className = "", widthClassName = "", variant = "default", preset = "custom", confirmLabel = "OK", cancelLabel = "Cancel", onConfirm, onCancel, loading = false, icon, animation = "scale" }) => {
271
271
  const currentAnimation = animationVariants[animation];
272
272
  const currentTransition = animationTransitions[animation];
@@ -303,7 +303,7 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
303
303
  type: "button",
304
304
  onClick: handleCancel,
305
305
  disabled: loading,
306
- className: "inline-flex items-center justify-center gap-2 cursor-pointer\n py-2.5 px-4 text-sm font-semibold leading-none\n rounded-lg transition-all duration-200\n bg-neutral-200 dark:bg-neutral-700\n border border-neutral-300 dark:border-neutral-600\n text-neutral-800 dark:text-white\n shadow-sm hover:bg-neutral-300 dark:hover:bg-neutral-600\n active:scale-95 hover:opacity-90\n disabled:opacity-50 disabled:cursor-not-allowed",
306
+ className: "inline-flex items-center justify-center gap-2 cursor-pointer\n py-2.5 px-4 text-sm font-semibold leading-none\n rounded-lg transition-all duration-200\n bg-ds-surface-2 border border-ds-border-2 text-ds-1\n shadow-sm hover:bg-ds-surface-3\n active:scale-95 hover:opacity-90\n disabled:opacity-50 disabled:cursor-not-allowed",
307
307
  children: cancelLabel
308
308
  }), /* @__PURE__ */ jsxs("button", {
309
309
  type: "button",
@@ -319,8 +319,9 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
319
319
  })]
320
320
  });
321
321
  };
322
- return /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs("div", {
323
- className: "fixed inset-0 z-50 flex items-center justify-center px-4 overlay-backdrop",
322
+ const dialogNode = /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs("div", {
323
+ className: "fixed inset-0 flex items-center justify-center px-4 overlay-backdrop",
324
+ style: { zIndex: DIALOG_ROOT_Z_INDEX },
324
325
  role: "presentation",
325
326
  children: [/* @__PURE__ */ jsx(motion.div, {
326
327
  initial: { opacity: 0 },
@@ -342,10 +343,10 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
342
343
  exit: currentAnimation.exit,
343
344
  transition: currentTransition,
344
345
  children: [
345
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-linear-to-tr from-white/10 via-transparent to-white/5 dark:from-white/5 dark:to-transparent pointer-events-none rounded-2xl" }),
346
+ /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 rounded-2xl bg-linear-to-tr from-ds-accent/8 via-transparent to-ds-accent/4" }),
346
347
  showClose && /* @__PURE__ */ jsx("button", {
347
348
  type: "button",
348
- className: "absolute right-4 top-4 w-8 h-8 flex items-center justify-center\n rounded-full transition-all duration-200\n text-neutral-400 dark:text-neutral-500\n hover:text-neutral-600 dark:hover:text-neutral-300\n hover:bg-neutral-100/50 dark:hover:bg-white/10",
349
+ className: "absolute right-4 top-4 w-8 h-8 flex items-center justify-center\n rounded-full transition-all duration-200\n text-ds-2 hover:text-ds-1 hover:bg-ds-surface-2",
349
350
  "aria-label": "Close dialog",
350
351
  onClick: () => onOpenChange?.(false),
351
352
  children: /* @__PURE__ */ jsx(CloseIcon, {
@@ -364,10 +365,10 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
364
365
  }), /* @__PURE__ */ jsxs("div", {
365
366
  className: "flex-1 min-w-0",
366
367
  children: [title && /* @__PURE__ */ jsx("h2", {
367
- className: "text-lg font-semibold text-neutral-900 dark:text-white pr-8",
368
+ className: "pr-8 text-lg font-semibold text-ds-1",
368
369
  children: title
369
370
  }), description && /* @__PURE__ */ jsx("p", {
370
- className: "mt-1 text-sm text-neutral-600 dark:text-neutral-400 leading-relaxed",
371
+ className: "mt-1 text-sm leading-relaxed text-ds-2",
371
372
  children: description
372
373
  })]
373
374
  })]
@@ -383,8 +384,10 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
383
384
  ]
384
385
  })]
385
386
  }) });
387
+ if (typeof document === "undefined") return dialogNode;
388
+ return createPortal(dialogNode, document.body);
386
389
  };
387
390
  //#endregion
388
391
  export { Dialog as t };
389
392
 
390
- //# sourceMappingURL=dialog-DUWnV9tN.mjs.map
393
+ //# sourceMappingURL=dialog-BibwiFLY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-BibwiFLY.mjs","names":[],"sources":["../../src/components/overlays/dialog/Dialog.tsx"],"sourcesContent":["import { useEffect, useRef, type ReactElement } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport {\n motion,\n AnimatePresence,\n type TargetAndTransition,\n} from \"framer-motion\";\nimport {\n AlertCircleIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoCircleIcon,\n LoaderIcon,\n QuestionCircleIcon,\n} from \"../../icons\";\nimport type {\n DialogProps,\n DialogVariant,\n DialogAnimation,\n DialogPreset,\n} from \"./types\";\nexport type { DialogProps, DialogVariant, DialogAnimation, DialogPreset };\nimport { useOverlayEffects } from \"../../shared/overlay\";\n\n// Animation preset type\ninterface AnimationPreset {\n initial: TargetAndTransition;\n animate: TargetAndTransition;\n exit: TargetAndTransition;\n}\n\n// Animation presets for different entrance/exit effects\nconst animationVariants: Record<DialogAnimation, AnimationPreset> = {\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n },\n scale: {\n initial: { opacity: 0, scale: 0.9, y: 20 },\n animate: { opacity: 1, scale: 1, y: 0 },\n exit: { opacity: 0, scale: 0.95, y: 10 },\n },\n slideUp: {\n initial: { opacity: 0, y: 100 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: 50 },\n },\n slideDown: {\n initial: { opacity: 0, y: -100 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: -50 },\n },\n slideLeft: {\n initial: { opacity: 0, x: 100 },\n animate: { opacity: 1, x: 0 },\n exit: { opacity: 0, x: 50 },\n },\n slideRight: {\n initial: { opacity: 0, x: -100 },\n animate: { opacity: 1, x: 0 },\n exit: { opacity: 0, x: -50 },\n },\n elastic: {\n initial: { opacity: 0, scale: 0.5, y: 50 },\n animate: { opacity: 1, scale: 1, y: 0 },\n exit: { opacity: 0, scale: 0.8, y: 20 },\n },\n bounce: {\n initial: { opacity: 0, scale: 0.3, y: -100 },\n animate: { opacity: 1, scale: 1, y: 0 },\n exit: { opacity: 0, scale: 0.5, y: -50 },\n },\n flip: {\n initial: { opacity: 0, rotateX: -90, scale: 0.9 },\n animate: { opacity: 1, rotateX: 0, scale: 1 },\n exit: { opacity: 0, rotateX: 90, scale: 0.9 },\n },\n zoom: {\n initial: { opacity: 0, scale: 0, rotate: -10 },\n animate: { opacity: 1, scale: 1, rotate: 0 },\n exit: { opacity: 0, scale: 0.5, rotate: 5 },\n },\n};\n\n// Transition configs for each animation type\nconst animationTransitions: Record<DialogAnimation, object> = {\n fade: { duration: 0.2 },\n scale: { type: \"spring\", damping: 25, stiffness: 300 },\n slideUp: { type: \"spring\", damping: 25, stiffness: 300 },\n slideDown: { type: \"spring\", damping: 25, stiffness: 300 },\n slideLeft: { type: \"spring\", damping: 25, stiffness: 300 },\n slideRight: { type: \"spring\", damping: 25, stiffness: 300 },\n elastic: { type: \"spring\", damping: 10, stiffness: 100 },\n bounce: { type: \"spring\", damping: 8, stiffness: 200, bounce: 0.5 },\n flip: { type: \"spring\", damping: 15, stiffness: 150 },\n zoom: { type: \"spring\", damping: 20, stiffness: 200 },\n};\n\n// Crystal glass panel base styling\nconst basePanel = `\n relative w-full max-w-lg rounded-2xl overflow-hidden\n border border-ds-border-2\n backdrop-blur-2xl backdrop-saturate-150\n bg-ds-surface-1/95\n p-6\n shadow-[0_8px_32px_rgba(0,0,0,0.12),0_2px_8px_rgba(0,0,0,0.08)]\n ring-1 ring-inset ring-ds-border-3/40\n`;\n\n// Variant accent colors for icons and confirm buttons\nconst variantStyles: Record<\n DialogVariant,\n { icon: string; button: string; iconColor: string }\n> = {\n default: {\n icon: \"bg-ds-accent-subtle\",\n button: \"bg-ds-accent hover:bg-ds-accent-hover text-ds-on-accent\",\n iconColor: \"text-ds-1\",\n },\n destructive: {\n icon: \"bg-ds-state-error-surface\",\n button: \"bg-ds-state-danger hover:opacity-90 text-ds-on-accent\",\n iconColor: \"text-ds-state-error-text\",\n },\n success: {\n icon: \"bg-ds-state-success-surface\",\n button: \"bg-ds-state-success hover:opacity-90 text-ds-on-accent\",\n iconColor: \"text-ds-state-success-text\",\n },\n warning: {\n icon: \"bg-ds-state-warning-surface\",\n button: \"bg-ds-state-warning hover:opacity-90 text-ds-1\",\n iconColor: \"text-ds-state-warning-text\",\n },\n info: {\n icon: \"bg-ds-state-info-surface\",\n button: \"bg-ds-state-info hover:opacity-90 text-ds-on-accent\",\n iconColor: \"text-ds-state-info-text\",\n },\n};\n\n// Default icons per variant\nconst VariantIcon = ({ variant }: { variant: DialogVariant }): ReactElement => {\n const icons: Record<DialogVariant, ReactElement> = {\n default: <QuestionCircleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n destructive: <AlertTriangleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n success: <CheckCircleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n warning: <AlertCircleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n info: <InfoCircleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n };\n return icons[variant];\n};\n\n// Loading spinner\nconst Spinner = () => (\n <LoaderIcon className=\"animate-spin w-4 h-4\" aria-hidden=\"true\" />\n);\n\nconst DIALOG_ROOT_Z_INDEX = 2147483000;\n\nexport const Dialog = ({\n open,\n onOpenChange,\n title,\n description,\n children,\n footer,\n closeOnOverlay = true,\n showClose = true,\n className = \"\",\n widthClassName = \"\",\n variant = \"default\",\n preset = \"custom\",\n confirmLabel = \"OK\",\n cancelLabel = \"Cancel\",\n onConfirm,\n onCancel,\n loading = false,\n icon,\n animation = \"scale\",\n}: DialogProps) => {\n const currentAnimation = animationVariants[animation];\n const currentTransition = animationTransitions[animation];\n const panelRef = useRef<HTMLDivElement | null>(null);\n useOverlayEffects(panelRef, open);\n\n useEffect(() => {\n if (!open || typeof window === \"undefined\") return;\n const handleKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onOpenChange?.(false);\n }\n };\n window.addEventListener(\"keydown\", handleKey);\n return () => window.removeEventListener(\"keydown\", handleKey);\n }, [open, onOpenChange]);\n\n const handleOverlayClick = () => {\n if (closeOnOverlay) {\n onOpenChange?.(false);\n }\n };\n\n const handleCancel = () => {\n onCancel?.();\n onOpenChange?.(false);\n };\n\n const handleConfirm = () => {\n onConfirm?.();\n if (!loading) {\n onOpenChange?.(false);\n }\n };\n\n const styles = variantStyles[variant];\n const showPresetButtons = preset !== \"custom\" && !footer;\n const showCancelButton = preset === \"confirm\";\n\n // Render preset buttons\n const renderFooter = () => {\n if (footer) return footer;\n if (!showPresetButtons) return null;\n\n return (\n <div className=\"flex gap-3 justify-end w-full\">\n {showCancelButton && (\n <button\n type=\"button\"\n onClick={handleCancel}\n disabled={loading}\n className=\"inline-flex items-center justify-center gap-2 cursor-pointer\n py-2.5 px-4 text-sm font-semibold leading-none\n rounded-lg transition-all duration-200\n bg-ds-surface-2 border border-ds-border-2 text-ds-1\n shadow-sm hover:bg-ds-surface-3\n active:scale-95 hover:opacity-90\n disabled:opacity-50 disabled:cursor-not-allowed\"\n >\n {cancelLabel}\n </button>\n )}\n <button\n type=\"button\"\n onClick={handleConfirm}\n disabled={loading}\n className={`inline-flex items-center justify-center gap-2 cursor-pointer\n py-2.5 px-4 text-sm font-semibold leading-none\n rounded-lg transition-all duration-200\n shadow-md hover:shadow-lg\n active:scale-95 hover:opacity-90\n disabled:opacity-50 disabled:cursor-not-allowed ${styles.button}`}\n >\n {loading && <Spinner />}\n {confirmLabel}\n </button>\n </div>\n );\n };\n\n const dialogNode = (\n <AnimatePresence>\n {open && (\n <div\n className=\"fixed inset-0 flex items-center justify-center px-4 overlay-backdrop\"\n style={{ zIndex: DIALOG_ROOT_Z_INDEX }}\n role=\"presentation\"\n >\n {/* Backdrop with blur */}\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2 }}\n className=\"fixed inset-0 bg-black/30 backdrop-blur-sm\"\n onClick={handleOverlayClick}\n />\n\n {/* Crystal panel */}\n <motion.div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n className={`${basePanel} overlay-panel ${className} ${widthClassName}`.trim()}\n tabIndex={-1}\n ref={panelRef}\n onClick={(event) => event.stopPropagation()}\n initial={currentAnimation.initial}\n animate={currentAnimation.animate}\n exit={currentAnimation.exit}\n transition={currentTransition}\n >\n {/* Subtle gradient overlay for crystal effect */}\n <div className=\"pointer-events-none absolute inset-0 rounded-2xl bg-linear-to-tr from-ds-accent/8 via-transparent to-ds-accent/4\" />\n\n {/* Close button */}\n {showClose && (\n <button\n type=\"button\"\n className=\"absolute right-4 top-4 w-8 h-8 flex items-center justify-center\n rounded-full transition-all duration-200\n text-ds-2 hover:text-ds-1 hover:bg-ds-surface-2\"\n aria-label=\"Close dialog\"\n onClick={() => onOpenChange?.(false)}\n >\n <CloseIcon className=\"w-4 h-4\" aria-hidden=\"true\" />\n </button>\n )}\n\n {/* Content */}\n <div className=\"relative flex gap-4\">\n {/* Icon */}\n {preset !== \"custom\" && (\n <div\n className={`shrink-0 w-10 h-10 rounded-full flex items-center justify-center ${styles.icon}`}\n >\n <span className={styles.iconColor}>\n {icon || <VariantIcon variant={variant} />}\n </span>\n </div>\n )}\n\n {/* Text content */}\n <div className=\"flex-1 min-w-0\">\n {title && (\n <h2 className=\"pr-8 text-lg font-semibold text-ds-1\">\n {title}\n </h2>\n )}\n {description && (\n <p className=\"mt-1 text-sm leading-relaxed text-ds-2\">\n {description}\n </p>\n )}\n </div>\n </div>\n\n {/* Children content */}\n {children && (\n <div className=\"mt-4 space-y-4 relative\">{children}</div>\n )}\n\n {/* Footer */}\n {(footer || showPresetButtons) && (\n <footer className=\"mt-6 flex justify-end gap-3 relative\">\n {renderFooter()}\n </footer>\n )}\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n );\n\n if (typeof document === \"undefined\") {\n return dialogNode;\n }\n\n return createPortal(dialogNode, document.body);\n};\n"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  require("./chunk-B_GkZjkl.cjs");
2
- const require_icons = require("./icons-BxIzP2jd.cjs");
3
- const require_overlay = require("./overlay-DWNTyQzK.cjs");
2
+ const require_icons = require("./icons-CRanVZB1.cjs");
3
+ const require_overlay = require("./overlay-DwJgjJuu.cjs");
4
4
  let react = require("react");
5
5
  let react_jsx_runtime = require("react/jsx-runtime");
6
6
  let framer_motion = require("framer-motion");
7
+ let react_dom = require("react-dom");
7
8
  //#region src/components/overlays/dialog/Dialog.tsx
8
9
  var animationVariants = {
9
10
  fade: {
@@ -204,40 +205,38 @@ var animationTransitions = {
204
205
  };
205
206
  var basePanel = `
206
207
  relative w-full max-w-lg rounded-2xl overflow-hidden
207
- border border-white/30 dark:border-white/10
208
+ border border-ds-border-2
208
209
  backdrop-blur-2xl backdrop-saturate-150
209
- bg-gradient-to-br from-white/80 via-white/70 to-white/60
210
- dark:from-neutral-900/90 dark:via-neutral-900/80 dark:to-neutral-800/70
210
+ bg-ds-surface-1/95
211
211
  p-6
212
212
  shadow-[0_8px_32px_rgba(0,0,0,0.12),0_2px_8px_rgba(0,0,0,0.08)]
213
- dark:shadow-[0_8px_32px_rgba(0,0,0,0.5),0_2px_8px_rgba(0,0,0,0.3)]
214
- ring-1 ring-inset ring-white/20 dark:ring-white/5
213
+ ring-1 ring-inset ring-ds-border-3/40
215
214
  `;
216
215
  var variantStyles = {
217
216
  default: {
218
- icon: "bg-accent-subtle",
219
- button: "bg-accent hover:bg-accent-hover text-on-accent",
220
- iconColor: "text-accent"
217
+ icon: "bg-ds-accent-subtle",
218
+ button: "bg-ds-accent hover:bg-ds-accent-hover text-ds-on-accent",
219
+ iconColor: "text-ds-1"
221
220
  },
222
221
  destructive: {
223
- icon: "bg-danger-subtle",
224
- button: "bg-destructive hover:opacity-90 text-white",
225
- iconColor: "text-danger"
222
+ icon: "bg-ds-state-error-surface",
223
+ button: "bg-ds-state-danger hover:opacity-90 text-ds-on-accent",
224
+ iconColor: "text-ds-state-error-text"
226
225
  },
227
226
  success: {
228
- icon: "bg-success-subtle",
229
- button: "bg-success hover:opacity-90 text-white",
230
- iconColor: "text-success"
227
+ icon: "bg-ds-state-success-surface",
228
+ button: "bg-ds-state-success hover:opacity-90 text-ds-on-accent",
229
+ iconColor: "text-ds-state-success-text"
231
230
  },
232
231
  warning: {
233
- icon: "bg-warning-subtle",
234
- button: "bg-warning hover:opacity-90 text-neutral-950",
235
- iconColor: "text-warning"
232
+ icon: "bg-ds-state-warning-surface",
233
+ button: "bg-ds-state-warning hover:opacity-90 text-ds-1",
234
+ iconColor: "text-ds-state-warning-text"
236
235
  },
237
236
  info: {
238
- icon: "bg-info-subtle",
239
- button: "bg-info hover:opacity-90 text-white",
240
- iconColor: "text-info"
237
+ icon: "bg-ds-state-info-surface",
238
+ button: "bg-ds-state-info hover:opacity-90 text-ds-on-accent",
239
+ iconColor: "text-ds-state-info-text"
241
240
  }
242
241
  };
243
242
  var VariantIcon = ({ variant }) => {
@@ -268,6 +267,7 @@ var Spinner = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.Loa
268
267
  className: "animate-spin w-4 h-4",
269
268
  "aria-hidden": "true"
270
269
  });
270
+ var DIALOG_ROOT_Z_INDEX = 2147483e3;
271
271
  var Dialog = ({ open, onOpenChange, title, description, children, footer, closeOnOverlay = true, showClose = true, className = "", widthClassName = "", variant = "default", preset = "custom", confirmLabel = "OK", cancelLabel = "Cancel", onConfirm, onCancel, loading = false, icon, animation = "scale" }) => {
272
272
  const currentAnimation = animationVariants[animation];
273
273
  const currentTransition = animationTransitions[animation];
@@ -304,7 +304,7 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
304
304
  type: "button",
305
305
  onClick: handleCancel,
306
306
  disabled: loading,
307
- className: "inline-flex items-center justify-center gap-2 cursor-pointer\n py-2.5 px-4 text-sm font-semibold leading-none\n rounded-lg transition-all duration-200\n bg-neutral-200 dark:bg-neutral-700\n border border-neutral-300 dark:border-neutral-600\n text-neutral-800 dark:text-white\n shadow-sm hover:bg-neutral-300 dark:hover:bg-neutral-600\n active:scale-95 hover:opacity-90\n disabled:opacity-50 disabled:cursor-not-allowed",
307
+ className: "inline-flex items-center justify-center gap-2 cursor-pointer\n py-2.5 px-4 text-sm font-semibold leading-none\n rounded-lg transition-all duration-200\n bg-ds-surface-2 border border-ds-border-2 text-ds-1\n shadow-sm hover:bg-ds-surface-3\n active:scale-95 hover:opacity-90\n disabled:opacity-50 disabled:cursor-not-allowed",
308
308
  children: cancelLabel
309
309
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
310
310
  type: "button",
@@ -320,8 +320,9 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
320
320
  })]
321
321
  });
322
322
  };
323
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.AnimatePresence, { children: open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
324
- className: "fixed inset-0 z-50 flex items-center justify-center px-4 overlay-backdrop",
323
+ const dialogNode = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.AnimatePresence, { children: open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
324
+ className: "fixed inset-0 flex items-center justify-center px-4 overlay-backdrop",
325
+ style: { zIndex: DIALOG_ROOT_Z_INDEX },
325
326
  role: "presentation",
326
327
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
327
328
  initial: { opacity: 0 },
@@ -343,10 +344,10 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
343
344
  exit: currentAnimation.exit,
344
345
  transition: currentTransition,
345
346
  children: [
346
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-linear-to-tr from-white/10 via-transparent to-white/5 dark:from-white/5 dark:to-transparent pointer-events-none rounded-2xl" }),
347
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "pointer-events-none absolute inset-0 rounded-2xl bg-linear-to-tr from-ds-accent/8 via-transparent to-ds-accent/4" }),
347
348
  showClose && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
348
349
  type: "button",
349
- className: "absolute right-4 top-4 w-8 h-8 flex items-center justify-center\n rounded-full transition-all duration-200\n text-neutral-400 dark:text-neutral-500\n hover:text-neutral-600 dark:hover:text-neutral-300\n hover:bg-neutral-100/50 dark:hover:bg-white/10",
350
+ className: "absolute right-4 top-4 w-8 h-8 flex items-center justify-center\n rounded-full transition-all duration-200\n text-ds-2 hover:text-ds-1 hover:bg-ds-surface-2",
350
351
  "aria-label": "Close dialog",
351
352
  onClick: () => onOpenChange?.(false),
352
353
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.CloseIcon, {
@@ -365,10 +366,10 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
365
366
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
366
367
  className: "flex-1 min-w-0",
367
368
  children: [title && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
368
- className: "text-lg font-semibold text-neutral-900 dark:text-white pr-8",
369
+ className: "pr-8 text-lg font-semibold text-ds-1",
369
370
  children: title
370
371
  }), description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
371
- className: "mt-1 text-sm text-neutral-600 dark:text-neutral-400 leading-relaxed",
372
+ className: "mt-1 text-sm leading-relaxed text-ds-2",
372
373
  children: description
373
374
  })]
374
375
  })]
@@ -384,6 +385,8 @@ var Dialog = ({ open, onOpenChange, title, description, children, footer, closeO
384
385
  ]
385
386
  })]
386
387
  }) });
388
+ if (typeof document === "undefined") return dialogNode;
389
+ return (0, react_dom.createPortal)(dialogNode, document.body);
387
390
  };
388
391
  //#endregion
389
392
  Object.defineProperty(exports, "Dialog", {
@@ -393,4 +396,4 @@ Object.defineProperty(exports, "Dialog", {
393
396
  }
394
397
  });
395
398
 
396
- //# sourceMappingURL=dialog-CYFiWN8M.cjs.map
399
+ //# sourceMappingURL=dialog-I141I0nc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-I141I0nc.cjs","names":[],"sources":["../../src/components/overlays/dialog/Dialog.tsx"],"sourcesContent":["import { useEffect, useRef, type ReactElement } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport {\n motion,\n AnimatePresence,\n type TargetAndTransition,\n} from \"framer-motion\";\nimport {\n AlertCircleIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoCircleIcon,\n LoaderIcon,\n QuestionCircleIcon,\n} from \"../../icons\";\nimport type {\n DialogProps,\n DialogVariant,\n DialogAnimation,\n DialogPreset,\n} from \"./types\";\nexport type { DialogProps, DialogVariant, DialogAnimation, DialogPreset };\nimport { useOverlayEffects } from \"../../shared/overlay\";\n\n// Animation preset type\ninterface AnimationPreset {\n initial: TargetAndTransition;\n animate: TargetAndTransition;\n exit: TargetAndTransition;\n}\n\n// Animation presets for different entrance/exit effects\nconst animationVariants: Record<DialogAnimation, AnimationPreset> = {\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n },\n scale: {\n initial: { opacity: 0, scale: 0.9, y: 20 },\n animate: { opacity: 1, scale: 1, y: 0 },\n exit: { opacity: 0, scale: 0.95, y: 10 },\n },\n slideUp: {\n initial: { opacity: 0, y: 100 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: 50 },\n },\n slideDown: {\n initial: { opacity: 0, y: -100 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: -50 },\n },\n slideLeft: {\n initial: { opacity: 0, x: 100 },\n animate: { opacity: 1, x: 0 },\n exit: { opacity: 0, x: 50 },\n },\n slideRight: {\n initial: { opacity: 0, x: -100 },\n animate: { opacity: 1, x: 0 },\n exit: { opacity: 0, x: -50 },\n },\n elastic: {\n initial: { opacity: 0, scale: 0.5, y: 50 },\n animate: { opacity: 1, scale: 1, y: 0 },\n exit: { opacity: 0, scale: 0.8, y: 20 },\n },\n bounce: {\n initial: { opacity: 0, scale: 0.3, y: -100 },\n animate: { opacity: 1, scale: 1, y: 0 },\n exit: { opacity: 0, scale: 0.5, y: -50 },\n },\n flip: {\n initial: { opacity: 0, rotateX: -90, scale: 0.9 },\n animate: { opacity: 1, rotateX: 0, scale: 1 },\n exit: { opacity: 0, rotateX: 90, scale: 0.9 },\n },\n zoom: {\n initial: { opacity: 0, scale: 0, rotate: -10 },\n animate: { opacity: 1, scale: 1, rotate: 0 },\n exit: { opacity: 0, scale: 0.5, rotate: 5 },\n },\n};\n\n// Transition configs for each animation type\nconst animationTransitions: Record<DialogAnimation, object> = {\n fade: { duration: 0.2 },\n scale: { type: \"spring\", damping: 25, stiffness: 300 },\n slideUp: { type: \"spring\", damping: 25, stiffness: 300 },\n slideDown: { type: \"spring\", damping: 25, stiffness: 300 },\n slideLeft: { type: \"spring\", damping: 25, stiffness: 300 },\n slideRight: { type: \"spring\", damping: 25, stiffness: 300 },\n elastic: { type: \"spring\", damping: 10, stiffness: 100 },\n bounce: { type: \"spring\", damping: 8, stiffness: 200, bounce: 0.5 },\n flip: { type: \"spring\", damping: 15, stiffness: 150 },\n zoom: { type: \"spring\", damping: 20, stiffness: 200 },\n};\n\n// Crystal glass panel base styling\nconst basePanel = `\n relative w-full max-w-lg rounded-2xl overflow-hidden\n border border-ds-border-2\n backdrop-blur-2xl backdrop-saturate-150\n bg-ds-surface-1/95\n p-6\n shadow-[0_8px_32px_rgba(0,0,0,0.12),0_2px_8px_rgba(0,0,0,0.08)]\n ring-1 ring-inset ring-ds-border-3/40\n`;\n\n// Variant accent colors for icons and confirm buttons\nconst variantStyles: Record<\n DialogVariant,\n { icon: string; button: string; iconColor: string }\n> = {\n default: {\n icon: \"bg-ds-accent-subtle\",\n button: \"bg-ds-accent hover:bg-ds-accent-hover text-ds-on-accent\",\n iconColor: \"text-ds-1\",\n },\n destructive: {\n icon: \"bg-ds-state-error-surface\",\n button: \"bg-ds-state-danger hover:opacity-90 text-ds-on-accent\",\n iconColor: \"text-ds-state-error-text\",\n },\n success: {\n icon: \"bg-ds-state-success-surface\",\n button: \"bg-ds-state-success hover:opacity-90 text-ds-on-accent\",\n iconColor: \"text-ds-state-success-text\",\n },\n warning: {\n icon: \"bg-ds-state-warning-surface\",\n button: \"bg-ds-state-warning hover:opacity-90 text-ds-1\",\n iconColor: \"text-ds-state-warning-text\",\n },\n info: {\n icon: \"bg-ds-state-info-surface\",\n button: \"bg-ds-state-info hover:opacity-90 text-ds-on-accent\",\n iconColor: \"text-ds-state-info-text\",\n },\n};\n\n// Default icons per variant\nconst VariantIcon = ({ variant }: { variant: DialogVariant }): ReactElement => {\n const icons: Record<DialogVariant, ReactElement> = {\n default: <QuestionCircleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n destructive: <AlertTriangleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n success: <CheckCircleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n warning: <AlertCircleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n info: <InfoCircleIcon className=\"w-6 h-6\" aria-hidden=\"true\" />,\n };\n return icons[variant];\n};\n\n// Loading spinner\nconst Spinner = () => (\n <LoaderIcon className=\"animate-spin w-4 h-4\" aria-hidden=\"true\" />\n);\n\nconst DIALOG_ROOT_Z_INDEX = 2147483000;\n\nexport const Dialog = ({\n open,\n onOpenChange,\n title,\n description,\n children,\n footer,\n closeOnOverlay = true,\n showClose = true,\n className = \"\",\n widthClassName = \"\",\n variant = \"default\",\n preset = \"custom\",\n confirmLabel = \"OK\",\n cancelLabel = \"Cancel\",\n onConfirm,\n onCancel,\n loading = false,\n icon,\n animation = \"scale\",\n}: DialogProps) => {\n const currentAnimation = animationVariants[animation];\n const currentTransition = animationTransitions[animation];\n const panelRef = useRef<HTMLDivElement | null>(null);\n useOverlayEffects(panelRef, open);\n\n useEffect(() => {\n if (!open || typeof window === \"undefined\") return;\n const handleKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onOpenChange?.(false);\n }\n };\n window.addEventListener(\"keydown\", handleKey);\n return () => window.removeEventListener(\"keydown\", handleKey);\n }, [open, onOpenChange]);\n\n const handleOverlayClick = () => {\n if (closeOnOverlay) {\n onOpenChange?.(false);\n }\n };\n\n const handleCancel = () => {\n onCancel?.();\n onOpenChange?.(false);\n };\n\n const handleConfirm = () => {\n onConfirm?.();\n if (!loading) {\n onOpenChange?.(false);\n }\n };\n\n const styles = variantStyles[variant];\n const showPresetButtons = preset !== \"custom\" && !footer;\n const showCancelButton = preset === \"confirm\";\n\n // Render preset buttons\n const renderFooter = () => {\n if (footer) return footer;\n if (!showPresetButtons) return null;\n\n return (\n <div className=\"flex gap-3 justify-end w-full\">\n {showCancelButton && (\n <button\n type=\"button\"\n onClick={handleCancel}\n disabled={loading}\n className=\"inline-flex items-center justify-center gap-2 cursor-pointer\n py-2.5 px-4 text-sm font-semibold leading-none\n rounded-lg transition-all duration-200\n bg-ds-surface-2 border border-ds-border-2 text-ds-1\n shadow-sm hover:bg-ds-surface-3\n active:scale-95 hover:opacity-90\n disabled:opacity-50 disabled:cursor-not-allowed\"\n >\n {cancelLabel}\n </button>\n )}\n <button\n type=\"button\"\n onClick={handleConfirm}\n disabled={loading}\n className={`inline-flex items-center justify-center gap-2 cursor-pointer\n py-2.5 px-4 text-sm font-semibold leading-none\n rounded-lg transition-all duration-200\n shadow-md hover:shadow-lg\n active:scale-95 hover:opacity-90\n disabled:opacity-50 disabled:cursor-not-allowed ${styles.button}`}\n >\n {loading && <Spinner />}\n {confirmLabel}\n </button>\n </div>\n );\n };\n\n const dialogNode = (\n <AnimatePresence>\n {open && (\n <div\n className=\"fixed inset-0 flex items-center justify-center px-4 overlay-backdrop\"\n style={{ zIndex: DIALOG_ROOT_Z_INDEX }}\n role=\"presentation\"\n >\n {/* Backdrop with blur */}\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2 }}\n className=\"fixed inset-0 bg-black/30 backdrop-blur-sm\"\n onClick={handleOverlayClick}\n />\n\n {/* Crystal panel */}\n <motion.div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n className={`${basePanel} overlay-panel ${className} ${widthClassName}`.trim()}\n tabIndex={-1}\n ref={panelRef}\n onClick={(event) => event.stopPropagation()}\n initial={currentAnimation.initial}\n animate={currentAnimation.animate}\n exit={currentAnimation.exit}\n transition={currentTransition}\n >\n {/* Subtle gradient overlay for crystal effect */}\n <div className=\"pointer-events-none absolute inset-0 rounded-2xl bg-linear-to-tr from-ds-accent/8 via-transparent to-ds-accent/4\" />\n\n {/* Close button */}\n {showClose && (\n <button\n type=\"button\"\n className=\"absolute right-4 top-4 w-8 h-8 flex items-center justify-center\n rounded-full transition-all duration-200\n text-ds-2 hover:text-ds-1 hover:bg-ds-surface-2\"\n aria-label=\"Close dialog\"\n onClick={() => onOpenChange?.(false)}\n >\n <CloseIcon className=\"w-4 h-4\" aria-hidden=\"true\" />\n </button>\n )}\n\n {/* Content */}\n <div className=\"relative flex gap-4\">\n {/* Icon */}\n {preset !== \"custom\" && (\n <div\n className={`shrink-0 w-10 h-10 rounded-full flex items-center justify-center ${styles.icon}`}\n >\n <span className={styles.iconColor}>\n {icon || <VariantIcon variant={variant} />}\n </span>\n </div>\n )}\n\n {/* Text content */}\n <div className=\"flex-1 min-w-0\">\n {title && (\n <h2 className=\"pr-8 text-lg font-semibold text-ds-1\">\n {title}\n </h2>\n )}\n {description && (\n <p className=\"mt-1 text-sm leading-relaxed text-ds-2\">\n {description}\n </p>\n )}\n </div>\n </div>\n\n {/* Children content */}\n {children && (\n <div className=\"mt-4 space-y-4 relative\">{children}</div>\n )}\n\n {/* Footer */}\n {(footer || showPresetButtons) && (\n <footer className=\"mt-6 flex justify-end gap-3 relative\">\n {renderFooter()}\n </footer>\n )}\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n );\n\n if (typeof document === \"undefined\") {\n return dialogNode;\n }\n\n return createPortal(dialogNode, document.body);\n};\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { t as useOverlayEffects } from "./overlay-TycCIFOu.mjs";
1
+ import { t as useOverlayEffects } from "./overlay-C58wXorc.mjs";
2
2
  import { useEffect, useRef } from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { AnimatePresence, motion } from "framer-motion";
5
5
  //#region src/components/overlays/drawer/Drawer.tsx
6
- var basePanel = "relative flex flex-col overflow-hidden rounded-2xl border border-white/30 bg-gradient-to-br from-white/80 via-white/68 to-white/52 p-6 shadow-[0_24px_80px_rgba(15,23,42,0.22),0_8px_28px_rgba(15,23,42,0.14)] ring-1 ring-inset ring-white/25 backdrop-blur-2xl backdrop-saturate-150 dark:border-white/10 dark:from-neutral-950/84 dark:via-neutral-950/72 dark:to-neutral-900/58 dark:shadow-[0_28px_90px_rgba(0,0,0,0.52),0_10px_30px_rgba(0,0,0,0.3)] dark:ring-white/10";
6
+ var basePanel = "relative flex flex-col overflow-hidden rounded-2xl border border-ds-border-2 bg-ds-surface-1/95 p-6 shadow-[0_24px_80px_rgba(15,23,42,0.22),0_8px_28px_rgba(15,23,42,0.14)] ring-1 ring-inset ring-ds-border-3/35 backdrop-blur-2xl backdrop-saturate-150";
7
7
  var positionClasses = {
8
8
  right: "h-[calc(100%-8px)] my-1 mr-1 w-full max-w-md ml-auto border",
9
9
  left: "h-[calc(100%-8px)] my-1 ml-1 w-full max-w-md mr-auto border",
@@ -50,7 +50,7 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
50
50
  animate: { opacity: 1 },
51
51
  exit: { opacity: 0 },
52
52
  transition: { duration: .3 },
53
- className: "fixed inset-0 bg-slate-950/24 backdrop-blur-[3px] dark:bg-black/44",
53
+ className: "fixed inset-0 bg-ds-canvas/55 backdrop-blur-[3px]",
54
54
  onClick: () => onOpenChange?.(false)
55
55
  }), /* @__PURE__ */ jsxs(motion.div, {
56
56
  role: "dialog",
@@ -72,19 +72,19 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
72
72
  children: [
73
73
  /* @__PURE__ */ jsx("div", {
74
74
  "aria-hidden": "true",
75
- className: "pointer-events-none absolute inset-0 bg-linear-to-b from-white/30 via-white/10 to-transparent dark:from-white/10 dark:via-white/[0.03] dark:to-transparent"
75
+ className: "pointer-events-none absolute inset-0 bg-linear-to-b from-ds-accent/10 via-transparent to-transparent"
76
76
  }),
77
77
  /* @__PURE__ */ jsx("div", {
78
78
  "aria-hidden": "true",
79
- className: "pointer-events-none absolute inset-x-0 top-0 h-24 bg-linear-to-b from-white/40 to-transparent dark:from-white/12"
79
+ className: "pointer-events-none absolute inset-x-0 top-0 h-24 bg-linear-to-b from-ds-accent/16 to-transparent"
80
80
  }),
81
81
  /* @__PURE__ */ jsx("div", {
82
82
  "aria-hidden": "true",
83
- className: "pointer-events-none absolute -right-10 top-[-72px] h-40 w-40 rounded-full bg-white/35 blur-3xl dark:bg-sky-200/10"
83
+ className: "pointer-events-none absolute -right-10 top-[-72px] h-40 w-40 rounded-full bg-ds-accent/18 blur-3xl"
84
84
  }),
85
85
  /* @__PURE__ */ jsx("button", {
86
86
  type: "button",
87
- className: "absolute right-4 top-4 z-20 inline-flex h-9 w-9 items-center justify-center rounded-full border border-white/35 bg-white/45 text-lg font-light text-foreground shadow-sm backdrop-blur-md transition-all duration-200 hover:bg-white/72 dark:border-white/10 dark:bg-white/5 dark:hover:bg-white/10",
87
+ className: "absolute right-4 top-4 z-20 inline-flex h-9 w-9 items-center justify-center rounded-full border border-ds-border-2 bg-ds-surface-2 text-lg font-light text-ds-1 shadow-sm backdrop-blur-md transition-all duration-200 hover:bg-ds-surface-3",
88
88
  "aria-label": "Close drawer",
89
89
  onClick: () => onOpenChange?.(false),
90
90
  children: "×"
@@ -95,10 +95,10 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
95
95
  (title || description) && /* @__PURE__ */ jsxs("header", {
96
96
  className: "space-y-1 pr-10",
97
97
  children: [title && /* @__PURE__ */ jsx("h2", {
98
- className: "text-lg font-semibold tracking-tight text-foreground",
98
+ className: "text-lg font-semibold tracking-tight text-ds-1",
99
99
  children: title
100
100
  }), description && /* @__PURE__ */ jsx("p", {
101
- className: "text-sm text-muted-foreground",
101
+ className: "text-sm text-ds-2",
102
102
  children: description
103
103
  })]
104
104
  }),
@@ -107,7 +107,7 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
107
107
  children
108
108
  }),
109
109
  footer && /* @__PURE__ */ jsx("footer", {
110
- className: "mt-6 border-t border-white/20 pt-4 dark:border-white/10",
110
+ className: "mt-6 border-t border-ds-border-2 pt-4",
111
111
  children: footer
112
112
  })
113
113
  ]
@@ -119,4 +119,4 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
119
119
  //#endregion
120
120
  export { Drawer as t };
121
121
 
122
- //# sourceMappingURL=drawer-D82Jz6KO.mjs.map
122
+ //# sourceMappingURL=drawer-DsE8Pb8e.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer-DsE8Pb8e.mjs","names":[],"sources":["../../src/components/overlays/drawer/Drawer.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport type { DrawerProps, DrawerPosition } from \"./types\";\nimport { useOverlayEffects } from \"../../shared/overlay\";\n\nconst basePanel =\n \"relative flex flex-col overflow-hidden rounded-2xl border border-ds-border-2 bg-ds-surface-1/95 p-6 shadow-[0_24px_80px_rgba(15,23,42,0.22),0_8px_28px_rgba(15,23,42,0.14)] ring-1 ring-inset ring-ds-border-3/35 backdrop-blur-2xl backdrop-saturate-150\";\n\nconst positionClasses: Record<DrawerPosition, string> = {\n right: \"h-[calc(100%-8px)] my-1 mr-1 w-full max-w-md ml-auto border\",\n left: \"h-[calc(100%-8px)] my-1 ml-1 w-full max-w-md mr-auto border\",\n top: \"w-[calc(100%-8px)] mx-1 mt-1 max-h-[80vh] border\",\n bottom: \"w-[calc(100%-8px)] mx-1 mb-1 max-h-[80vh] mt-auto border\",\n};\n\nconst getVariants = (position: DrawerPosition) => {\n switch (position) {\n case \"left\":\n return { hidden: { x: \"-100%\" }, visible: { x: 0 } };\n case \"right\":\n return { hidden: { x: \"100%\" }, visible: { x: 0 } };\n case \"top\":\n return { hidden: { y: \"-100%\" }, visible: { y: 0 } };\n case \"bottom\":\n return { hidden: { y: \"100%\" }, visible: { y: 0 } };\n }\n};\n\nexport const Drawer = ({\n open,\n onOpenChange,\n title,\n description,\n position = \"right\",\n children,\n footer,\n}: DrawerProps) => {\n const panelRef = useRef<HTMLDivElement | null>(null);\n useOverlayEffects(panelRef, open);\n\n useEffect(() => {\n if (!open || typeof window === \"undefined\") return;\n const handleKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onOpenChange?.(false);\n }\n };\n window.addEventListener(\"keydown\", handleKey);\n return () => window.removeEventListener(\"keydown\", handleKey);\n }, [open, onOpenChange]);\n\n const variants = getVariants(position);\n\n return (\n <AnimatePresence>\n {open && (\n <div\n className=\"fixed inset-0 z-40 flex overlay-backdrop\"\n role=\"presentation\"\n >\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.3 }}\n className=\"fixed inset-0 bg-ds-canvas/55 backdrop-blur-[3px]\"\n onClick={() => onOpenChange?.(false)}\n />\n <motion.div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n className={`${basePanel} ${positionClasses[position]}`}\n tabIndex={-1}\n ref={panelRef}\n onClick={(event) => event.stopPropagation()}\n initial=\"hidden\"\n animate=\"visible\"\n exit=\"hidden\"\n variants={variants}\n transition={{ type: \"spring\", damping: 25, stiffness: 200 }}\n >\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 bg-linear-to-b from-ds-accent/10 via-transparent to-transparent\"\n />\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-x-0 top-0 h-24 bg-linear-to-b from-ds-accent/16 to-transparent\"\n />\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute -right-10 top-[-72px] h-40 w-40 rounded-full bg-ds-accent/18 blur-3xl\"\n />\n <button\n type=\"button\"\n className=\"absolute right-4 top-4 z-20 inline-flex h-9 w-9 items-center justify-center rounded-full border border-ds-border-2 bg-ds-surface-2 text-lg font-light text-ds-1 shadow-sm backdrop-blur-md transition-all duration-200 hover:bg-ds-surface-3\"\n aria-label=\"Close drawer\"\n onClick={() => onOpenChange?.(false)}\n >\n ×\n </button>\n <div className=\"relative z-10 flex h-full flex-col\">\n {(title || description) && (\n <header className=\"space-y-1 pr-10\">\n {title && (\n <h2 className=\"text-lg font-semibold tracking-tight text-ds-1\">\n {title}\n </h2>\n )}\n {description && (\n <p className=\"text-sm text-ds-2\">{description}</p>\n )}\n </header>\n )}\n {children && (\n <div className=\"mt-4 flex-1 overflow-auto space-y-4 pr-1\">\n {children}\n </div>\n )}\n {footer && (\n <footer className=\"mt-6 border-t border-ds-border-2 pt-4\">\n {footer}\n </footer>\n )}\n </div>\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n );\n};\n"],"mappings":";;;;;AAKA,IAAM,YACJ;AAEF,IAAM,kBAAkD;CACtD,OAAO;CACP,MAAM;CACN,KAAK;CACL,QAAQ;CACT;AAED,IAAM,eAAe,aAA6B;AAChD,SAAQ,UAAR;EACE,KAAK,OACH,QAAO;GAAE,QAAQ,EAAE,GAAG,SAAS;GAAE,SAAS,EAAE,GAAG,GAAG;GAAE;EACtD,KAAK,QACH,QAAO;GAAE,QAAQ,EAAE,GAAG,QAAQ;GAAE,SAAS,EAAE,GAAG,GAAG;GAAE;EACrD,KAAK,MACH,QAAO;GAAE,QAAQ,EAAE,GAAG,SAAS;GAAE,SAAS,EAAE,GAAG,GAAG;GAAE;EACtD,KAAK,SACH,QAAO;GAAE,QAAQ,EAAE,GAAG,QAAQ;GAAE,SAAS,EAAE,GAAG,GAAG;GAAE;;;AAIzD,IAAa,UAAU,EACrB,MACA,cACA,OACA,aACA,WAAW,SACX,UACA,aACiB;CACjB,MAAM,WAAW,OAA8B,KAAK;AACpD,mBAAkB,UAAU,KAAK;AAEjC,iBAAgB;AACd,MAAI,CAAC,QAAQ,OAAO,WAAW,YAAa;EAC5C,MAAM,aAAa,UAAyB;AAC1C,OAAI,MAAM,QAAQ,SAChB,gBAAe,MAAM;;AAGzB,SAAO,iBAAiB,WAAW,UAAU;AAC7C,eAAa,OAAO,oBAAoB,WAAW,UAAU;IAC5D,CAAC,MAAM,aAAa,CAAC;CAExB,MAAM,WAAW,YAAY,SAAS;AAEtC,QACE,oBAAC,iBAAD,EAAA,UACG,QACC,qBAAC,OAAD;EACE,WAAU;EACV,MAAK;YAFP,CAIE,oBAAC,OAAO,KAAR;GACE,SAAS,EAAE,SAAS,GAAG;GACvB,SAAS,EAAE,SAAS,GAAG;GACvB,MAAM,EAAE,SAAS,GAAG;GACpB,YAAY,EAAE,UAAU,IAAK;GAC7B,WAAU;GACV,eAAe,eAAe,MAAM;GACpC,CAAA,EACF,qBAAC,OAAO,KAAR;GACE,MAAK;GACL,cAAW;GACX,cAAY;GACZ,WAAW,GAAG,UAAU,GAAG,gBAAgB;GAC3C,UAAU;GACV,KAAK;GACL,UAAU,UAAU,MAAM,iBAAiB;GAC3C,SAAQ;GACR,SAAQ;GACR,MAAK;GACK;GACV,YAAY;IAAE,MAAM;IAAU,SAAS;IAAI,WAAW;IAAK;aAZ7D;IAcE,oBAAC,OAAD;KACE,eAAY;KACZ,WAAU;KACV,CAAA;IACF,oBAAC,OAAD;KACE,eAAY;KACZ,WAAU;KACV,CAAA;IACF,oBAAC,OAAD;KACE,eAAY;KACZ,WAAU;KACV,CAAA;IACF,oBAAC,UAAD;KACE,MAAK;KACL,WAAU;KACV,cAAW;KACX,eAAe,eAAe,MAAM;eACrC;KAEQ,CAAA;IACT,qBAAC,OAAD;KAAK,WAAU;eAAf;OACI,SAAS,gBACT,qBAAC,UAAD;OAAQ,WAAU;iBAAlB,CACG,SACC,oBAAC,MAAD;QAAI,WAAU;kBACX;QACE,CAAA,EAEN,eACC,oBAAC,KAAD;QAAG,WAAU;kBAAqB;QAAgB,CAAA,CAE7C;;MAEV,YACC,oBAAC,OAAD;OAAK,WAAU;OACZ;OACG,CAAA;MAEP,UACC,oBAAC,UAAD;OAAQ,WAAU;iBACf;OACM,CAAA;MAEP;;IACK;KACT;KAEQ,CAAA"}
@@ -1,10 +1,10 @@
1
1
  require("./chunk-B_GkZjkl.cjs");
2
- const require_overlay = require("./overlay-DWNTyQzK.cjs");
2
+ const require_overlay = require("./overlay-DwJgjJuu.cjs");
3
3
  let react = require("react");
4
4
  let react_jsx_runtime = require("react/jsx-runtime");
5
5
  let framer_motion = require("framer-motion");
6
6
  //#region src/components/overlays/drawer/Drawer.tsx
7
- var basePanel = "relative flex flex-col overflow-hidden rounded-2xl border border-white/30 bg-gradient-to-br from-white/80 via-white/68 to-white/52 p-6 shadow-[0_24px_80px_rgba(15,23,42,0.22),0_8px_28px_rgba(15,23,42,0.14)] ring-1 ring-inset ring-white/25 backdrop-blur-2xl backdrop-saturate-150 dark:border-white/10 dark:from-neutral-950/84 dark:via-neutral-950/72 dark:to-neutral-900/58 dark:shadow-[0_28px_90px_rgba(0,0,0,0.52),0_10px_30px_rgba(0,0,0,0.3)] dark:ring-white/10";
7
+ var basePanel = "relative flex flex-col overflow-hidden rounded-2xl border border-ds-border-2 bg-ds-surface-1/95 p-6 shadow-[0_24px_80px_rgba(15,23,42,0.22),0_8px_28px_rgba(15,23,42,0.14)] ring-1 ring-inset ring-ds-border-3/35 backdrop-blur-2xl backdrop-saturate-150";
8
8
  var positionClasses = {
9
9
  right: "h-[calc(100%-8px)] my-1 mr-1 w-full max-w-md ml-auto border",
10
10
  left: "h-[calc(100%-8px)] my-1 ml-1 w-full max-w-md mr-auto border",
@@ -51,7 +51,7 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
51
51
  animate: { opacity: 1 },
52
52
  exit: { opacity: 0 },
53
53
  transition: { duration: .3 },
54
- className: "fixed inset-0 bg-slate-950/24 backdrop-blur-[3px] dark:bg-black/44",
54
+ className: "fixed inset-0 bg-ds-canvas/55 backdrop-blur-[3px]",
55
55
  onClick: () => onOpenChange?.(false)
56
56
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(framer_motion.motion.div, {
57
57
  role: "dialog",
@@ -73,19 +73,19 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
73
73
  children: [
74
74
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
75
75
  "aria-hidden": "true",
76
- className: "pointer-events-none absolute inset-0 bg-linear-to-b from-white/30 via-white/10 to-transparent dark:from-white/10 dark:via-white/[0.03] dark:to-transparent"
76
+ className: "pointer-events-none absolute inset-0 bg-linear-to-b from-ds-accent/10 via-transparent to-transparent"
77
77
  }),
78
78
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
79
79
  "aria-hidden": "true",
80
- className: "pointer-events-none absolute inset-x-0 top-0 h-24 bg-linear-to-b from-white/40 to-transparent dark:from-white/12"
80
+ className: "pointer-events-none absolute inset-x-0 top-0 h-24 bg-linear-to-b from-ds-accent/16 to-transparent"
81
81
  }),
82
82
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
83
83
  "aria-hidden": "true",
84
- className: "pointer-events-none absolute -right-10 top-[-72px] h-40 w-40 rounded-full bg-white/35 blur-3xl dark:bg-sky-200/10"
84
+ className: "pointer-events-none absolute -right-10 top-[-72px] h-40 w-40 rounded-full bg-ds-accent/18 blur-3xl"
85
85
  }),
86
86
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
87
87
  type: "button",
88
- className: "absolute right-4 top-4 z-20 inline-flex h-9 w-9 items-center justify-center rounded-full border border-white/35 bg-white/45 text-lg font-light text-foreground shadow-sm backdrop-blur-md transition-all duration-200 hover:bg-white/72 dark:border-white/10 dark:bg-white/5 dark:hover:bg-white/10",
88
+ className: "absolute right-4 top-4 z-20 inline-flex h-9 w-9 items-center justify-center rounded-full border border-ds-border-2 bg-ds-surface-2 text-lg font-light text-ds-1 shadow-sm backdrop-blur-md transition-all duration-200 hover:bg-ds-surface-3",
89
89
  "aria-label": "Close drawer",
90
90
  onClick: () => onOpenChange?.(false),
91
91
  children: "×"
@@ -96,10 +96,10 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
96
96
  (title || description) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
97
97
  className: "space-y-1 pr-10",
98
98
  children: [title && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
99
- className: "text-lg font-semibold tracking-tight text-foreground",
99
+ className: "text-lg font-semibold tracking-tight text-ds-1",
100
100
  children: title
101
101
  }), description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
102
- className: "text-sm text-muted-foreground",
102
+ className: "text-sm text-ds-2",
103
103
  children: description
104
104
  })]
105
105
  }),
@@ -108,7 +108,7 @@ var Drawer = ({ open, onOpenChange, title, description, position = "right", chil
108
108
  children
109
109
  }),
110
110
  footer && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("footer", {
111
- className: "mt-6 border-t border-white/20 pt-4 dark:border-white/10",
111
+ className: "mt-6 border-t border-ds-border-2 pt-4",
112
112
  children: footer
113
113
  })
114
114
  ]
@@ -125,4 +125,4 @@ Object.defineProperty(exports, "Drawer", {
125
125
  }
126
126
  });
127
127
 
128
- //# sourceMappingURL=drawer-CLjsYdxN.cjs.map
128
+ //# sourceMappingURL=drawer-EC9eopGX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer-EC9eopGX.cjs","names":[],"sources":["../../src/components/overlays/drawer/Drawer.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport type { DrawerProps, DrawerPosition } from \"./types\";\nimport { useOverlayEffects } from \"../../shared/overlay\";\n\nconst basePanel =\n \"relative flex flex-col overflow-hidden rounded-2xl border border-ds-border-2 bg-ds-surface-1/95 p-6 shadow-[0_24px_80px_rgba(15,23,42,0.22),0_8px_28px_rgba(15,23,42,0.14)] ring-1 ring-inset ring-ds-border-3/35 backdrop-blur-2xl backdrop-saturate-150\";\n\nconst positionClasses: Record<DrawerPosition, string> = {\n right: \"h-[calc(100%-8px)] my-1 mr-1 w-full max-w-md ml-auto border\",\n left: \"h-[calc(100%-8px)] my-1 ml-1 w-full max-w-md mr-auto border\",\n top: \"w-[calc(100%-8px)] mx-1 mt-1 max-h-[80vh] border\",\n bottom: \"w-[calc(100%-8px)] mx-1 mb-1 max-h-[80vh] mt-auto border\",\n};\n\nconst getVariants = (position: DrawerPosition) => {\n switch (position) {\n case \"left\":\n return { hidden: { x: \"-100%\" }, visible: { x: 0 } };\n case \"right\":\n return { hidden: { x: \"100%\" }, visible: { x: 0 } };\n case \"top\":\n return { hidden: { y: \"-100%\" }, visible: { y: 0 } };\n case \"bottom\":\n return { hidden: { y: \"100%\" }, visible: { y: 0 } };\n }\n};\n\nexport const Drawer = ({\n open,\n onOpenChange,\n title,\n description,\n position = \"right\",\n children,\n footer,\n}: DrawerProps) => {\n const panelRef = useRef<HTMLDivElement | null>(null);\n useOverlayEffects(panelRef, open);\n\n useEffect(() => {\n if (!open || typeof window === \"undefined\") return;\n const handleKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onOpenChange?.(false);\n }\n };\n window.addEventListener(\"keydown\", handleKey);\n return () => window.removeEventListener(\"keydown\", handleKey);\n }, [open, onOpenChange]);\n\n const variants = getVariants(position);\n\n return (\n <AnimatePresence>\n {open && (\n <div\n className=\"fixed inset-0 z-40 flex overlay-backdrop\"\n role=\"presentation\"\n >\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.3 }}\n className=\"fixed inset-0 bg-ds-canvas/55 backdrop-blur-[3px]\"\n onClick={() => onOpenChange?.(false)}\n />\n <motion.div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={title}\n className={`${basePanel} ${positionClasses[position]}`}\n tabIndex={-1}\n ref={panelRef}\n onClick={(event) => event.stopPropagation()}\n initial=\"hidden\"\n animate=\"visible\"\n exit=\"hidden\"\n variants={variants}\n transition={{ type: \"spring\", damping: 25, stiffness: 200 }}\n >\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 bg-linear-to-b from-ds-accent/10 via-transparent to-transparent\"\n />\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-x-0 top-0 h-24 bg-linear-to-b from-ds-accent/16 to-transparent\"\n />\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute -right-10 top-[-72px] h-40 w-40 rounded-full bg-ds-accent/18 blur-3xl\"\n />\n <button\n type=\"button\"\n className=\"absolute right-4 top-4 z-20 inline-flex h-9 w-9 items-center justify-center rounded-full border border-ds-border-2 bg-ds-surface-2 text-lg font-light text-ds-1 shadow-sm backdrop-blur-md transition-all duration-200 hover:bg-ds-surface-3\"\n aria-label=\"Close drawer\"\n onClick={() => onOpenChange?.(false)}\n >\n ×\n </button>\n <div className=\"relative z-10 flex h-full flex-col\">\n {(title || description) && (\n <header className=\"space-y-1 pr-10\">\n {title && (\n <h2 className=\"text-lg font-semibold tracking-tight text-ds-1\">\n {title}\n </h2>\n )}\n {description && (\n <p className=\"text-sm text-ds-2\">{description}</p>\n )}\n </header>\n )}\n {children && (\n <div className=\"mt-4 flex-1 overflow-auto space-y-4 pr-1\">\n {children}\n </div>\n )}\n {footer && (\n <footer className=\"mt-6 border-t border-ds-border-2 pt-4\">\n {footer}\n </footer>\n )}\n </div>\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n );\n};\n"],"mappings":"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"}