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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-calendar-CvficOuV.cjs","names":[],"sources":["../../src/components/data-display/event-calendar/calendarUtils.ts","../../src/components/data-display/event-calendar/MiniCalendarPicker.tsx","../../src/components/data-display/event-calendar/types.ts","../../src/components/data-display/event-calendar/EventFilterList.tsx","../../src/components/data-display/event-calendar/CalendarSidebar.tsx","../../src/components/data-display/event-calendar/CalendarHeader.tsx","../../src/components/data-display/event-calendar/EventPill.tsx","../../src/components/data-display/event-calendar/views/MonthView.tsx","../../src/components/data-display/event-calendar/views/WeekView.tsx","../../src/components/data-display/event-calendar/views/DayView.tsx","../../src/components/data-display/event-calendar/views/ListView.tsx","../../src/components/data-display/event-calendar/AddEventPanel.tsx","../../src/components/data-display/event-calendar/EventDetailDrawer.tsx","../../src/components/data-display/event-calendar/EventCalendar.tsx"],"sourcesContent":["import type { CalendarEvent } from './types';\n\nexport const GRID_START_HOUR = 6;\nexport const GRID_END_HOUR = 22;\nexport const HOUR_HEIGHT_PX = 80;\n\nexport function isSameDay(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n );\n}\n\nexport function isToday(date: Date): boolean {\n return isSameDay(date, new Date());\n}\n\nexport function addDays(date: Date, n: number): Date {\n const d = new Date(date);\n d.setDate(d.getDate() + n);\n return d;\n}\n\nexport function addMonths(date: Date, n: number): Date {\n const d = new Date(date);\n d.setMonth(d.getMonth() + n);\n return d;\n}\n\nexport function addWeeks(date: Date, n: number): Date {\n return addDays(date, n * 7);\n}\n\nexport function startOfWeek(date: Date): Date {\n const d = new Date(date);\n d.setDate(d.getDate() - d.getDay());\n d.setHours(0, 0, 0, 0);\n return d;\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport function endOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0, 23, 59, 59, 999);\n}\n\nexport function getMonthGridDays(date: Date): Date[] {\n const first = startOfMonth(date);\n const gridStart = startOfWeek(first);\n return Array.from({ length: 42 }, (_, i) => addDays(gridStart, i));\n}\n\nexport function getWeekDays(date: Date): Date[] {\n const sunday = startOfWeek(date);\n return Array.from({ length: 7 }, (_, i) => addDays(sunday, i));\n}\n\nexport function getEventsForDay(events: CalendarEvent[], day: Date): CalendarEvent[] {\n const dayStart = new Date(day);\n dayStart.setHours(0, 0, 0, 0);\n const dayEnd = new Date(day);\n dayEnd.setHours(23, 59, 59, 999);\n return events.filter((e) => e.start <= dayEnd && e.end >= dayStart);\n}\n\nexport function formatMonthYear(date: Date): string {\n return date.toLocaleDateString('en-US', { month: 'long', year: 'numeric' });\n}\n\nexport function formatWeekRange(date: Date): string {\n const days = getWeekDays(date);\n const start = days[0]!;\n const end = days[6]!;\n const startStr = start.toLocaleDateString('en-US', { month: 'long', day: 'numeric' });\n const endStr =\n start.getMonth() === end.getMonth()\n ? end.getDate().toString()\n : end.toLocaleDateString('en-US', { month: 'long', day: 'numeric' });\n return `${startStr}–${endStr}, ${end.getFullYear()}`;\n}\n\nexport function formatDayFull(date: Date): string {\n return date.toLocaleDateString('en-US', { month: 'long', day: 'numeric', year: 'numeric' });\n}\n\nexport function formatShortDate(date: Date): string {\n return `${date.getMonth() + 1}/${date.getDate()}`;\n}\n\nexport function formatHour(h: number): string {\n if (h === 0) return '12AM';\n if (h === 12) return '12PM';\n return h < 12 ? `${h}AM` : `${h - 12}PM`;\n}\n\nexport function formatTime(date: Date): string {\n let h = date.getHours();\n const m = date.getMinutes();\n const ampm = h >= 12 ? 'pm' : 'am';\n h = h % 12 || 12;\n const mm = m.toString().padStart(2, '0');\n return `${h}:${mm}${ampm}`;\n}\n\nexport function formatListDate(date: Date): string {\n return date.toLocaleDateString('en-US', { month: 'long', day: 'numeric', year: 'numeric' });\n}\n\nexport function formatListDayName(date: Date): string {\n return date.toLocaleDateString('en-US', { weekday: 'long' });\n}\n\nexport function generateId(): string {\n return Math.random().toString(36).slice(2) + Date.now().toString(36);\n}\n\nexport function getEventTopPx(event: CalendarEvent): number {\n const startH = event.start.getHours() + event.start.getMinutes() / 60;\n return (startH - GRID_START_HOUR) * HOUR_HEIGHT_PX;\n}\n\nexport function getEventHeightPx(event: CalendarEvent): number {\n const startH = event.start.getHours() + event.start.getMinutes() / 60;\n const endH = event.end.getHours() + event.end.getMinutes() / 60;\n const clampedEnd = Math.min(endH, GRID_END_HOUR);\n const clampedStart = Math.max(startH, GRID_START_HOUR);\n return Math.max((clampedEnd - clampedStart) * HOUR_HEIGHT_PX, 20);\n}\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport { Button } from '../../forms/button';\nimport { mergeClassNames } from '../../../utils';\n\nimport { getMonthGridDays, isSameDay, isToday, addMonths } from './calendarUtils';\n\ninterface MiniCalendarPickerProps {\n currentDate: Date;\n onDateChange: (d: Date) => void;\n onMonthChange: (d: Date) => void;\n}\n\nconst DAY_CHARS = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\n\nconst ChevronLeft = () => (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n);\n\nconst ChevronRight = () => (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M9 18l6-6-6-6\" />\n </svg>\n);\n\nexport const MiniCalendarPicker: FC<MiniCalendarPickerProps> = ({\n currentDate,\n onDateChange,\n onMonthChange,\n}) => {\n const days = getMonthGridDays(currentDate);\n const monthLabel = currentDate.toLocaleDateString('en-US', { month: 'long', year: 'numeric' });\n\n return (\n <div className=\"select-none\">\n <div className=\"mb-2 flex items-center justify-between\">\n <span className=\"text-xs font-semibold text-ds-1\">{monthLabel}</span>\n <div className=\"flex gap-0.5\">\n <Button\n variant=\"tertiary\"\n size=\"small\"\n className=\"h-6 w-6 p-0! hover:opacity-100\"\n aria-label=\"Previous month\"\n onClick={() => onMonthChange(addMonths(currentDate, -1))}\n >\n <ChevronLeft />\n </Button>\n <Button\n variant=\"tertiary\"\n size=\"small\"\n className=\"h-6 w-6 p-0! hover:opacity-100\"\n aria-label=\"Next month\"\n onClick={() => onMonthChange(addMonths(currentDate, 1))}\n >\n <ChevronRight />\n </Button>\n </div>\n </div>\n\n <div className=\"mb-1 grid grid-cols-7\">\n {DAY_CHARS.map((c, i) => (\n <div key={i} className=\"py-0.5 text-center text-[10px] font-medium text-ds-3\">\n {c}\n </div>\n ))}\n </div>\n\n <div className=\"grid grid-cols-7 gap-y-0.5\">\n {days.map((day, i) => {\n const isCurrentMonth = day.getMonth() === currentDate.getMonth();\n const today = isToday(day);\n const selected = isSameDay(day, currentDate);\n return (\n <Button\n key={i}\n variant=\"tertiary\"\n aria-label={day.toDateString()}\n onClick={() => onDateChange(day)}\n className={mergeClassNames(\n 'mx-auto h-6 w-6 rounded-full p-0! text-[10px] hover:opacity-100',\n today ? 'bg-ds-accent! text-ds-on-accent! font-bold' : '',\n !today && selected ? 'bg-ds-surface-3! text-ds-1! font-medium' : '',\n !today && !selected && isCurrentMonth ? 'text-ds-2 hover:bg-ds-surface-3' : '',\n !today && !selected && !isCurrentMonth ? 'text-ds-3 opacity-50' : '',\n )}\n >\n {day.getDate()}\n </Button>\n );\n })}\n </div>\n </div>\n );\n};\n","export type CalendarView = 'month' | 'week' | 'day' | 'list';\nexport type EventLabel = 'personal' | 'business' | 'family' | 'holiday' | 'etc';\n\nexport interface CalendarEvent {\n id: string;\n title: string;\n start: Date;\n end: Date;\n allDay: boolean;\n label: EventLabel;\n url?: string;\n guests?: string;\n location?: string;\n description?: string;\n}\n\nexport interface EventCalendarProps {\n initialEvents?: CalendarEvent[];\n initialView?: CalendarView;\n initialDate?: Date;\n onEventAdd?: (event: CalendarEvent) => void;\n onEventUpdate?: (event: CalendarEvent) => void;\n onEventDelete?: (id: string) => void;\n className?: string;\n}\n\nexport const EVENT_LABEL_CONFIG = {\n personal: { display: 'Personal', color: 'var(--ds-color-danger)', bg: 'var(--ds-color-danger-subtle)' },\n business: { display: 'Business', color: 'var(--ds-color-accent)', bg: 'var(--ds-color-accent-subtle)' },\n family: { display: 'Family', color: 'var(--ds-color-warning)', bg: 'var(--ds-color-warning-subtle)' },\n holiday: { display: 'Holiday', color: 'var(--ds-color-success)', bg: 'var(--ds-color-success-subtle)' },\n etc: { display: 'ETC', color: 'var(--ds-color-info)', bg: 'var(--ds-color-info-subtle)' },\n} as const;\n\nexport const ALL_LABELS: EventLabel[] = ['personal', 'business', 'family', 'holiday', 'etc'];\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport { Checkbox } from '../../forms/checkbox';\n\nimport { EVENT_LABEL_CONFIG, ALL_LABELS } from './types';\nimport type { EventLabel } from './types';\n\ninterface EventFilterListProps {\n activeLabels: EventLabel[];\n onChange: (labels: EventLabel[]) => void;\n}\n\nconst LABEL_COLOR: Record<EventLabel, string> = {\n personal: 'red',\n business: 'primary',\n family: 'yellow',\n holiday: 'green',\n etc: 'teal',\n};\n\nexport const EventFilterList: FC<EventFilterListProps> = ({ activeLabels, onChange }) => {\n const allActive = activeLabels.length === ALL_LABELS.length;\n\n const toggleAll = () => {\n onChange(allActive ? [] : [...ALL_LABELS]);\n };\n\n const toggleLabel = (label: EventLabel) => {\n if (activeLabels.includes(label)) {\n onChange(activeLabels.filter((l) => l !== label));\n } else {\n onChange([...activeLabels, label]);\n }\n };\n\n return (\n <div className=\"flex flex-col gap-2.5\">\n <Checkbox\n checked={allActive}\n onChange={toggleAll}\n label=\"View all\"\n color=\"primary\"\n />\n {ALL_LABELS.map((label) => {\n const cfg = EVENT_LABEL_CONFIG[label];\n return (\n <Checkbox\n key={label}\n checked={activeLabels.includes(label)}\n onChange={() => toggleLabel(label)}\n label={cfg.display}\n color={LABEL_COLOR[label]}\n />\n );\n })}\n </div>\n );\n};\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport { Button } from '../../forms/button';\n\nimport { MiniCalendarPicker } from './MiniCalendarPicker';\nimport { EventFilterList } from './EventFilterList';\nimport type { EventLabel } from './types';\n\nexport interface CalendarSidebarProps {\n currentDate: Date;\n onDateChange: (d: Date) => void;\n onMonthChange: (d: Date) => void;\n activeLabels: EventLabel[];\n onFiltersChange: (labels: EventLabel[]) => void;\n onAddEvent: () => void;\n}\n\nexport const CalendarSidebarContent: FC<CalendarSidebarProps> = ({\n currentDate,\n onDateChange,\n onMonthChange,\n activeLabels,\n onFiltersChange,\n onAddEvent,\n}) => (\n <div className=\"flex flex-col gap-5\">\n <Button\n variant=\"primary\"\n className=\"w-full\"\n onClick={onAddEvent}\n aria-label=\"Add new event\"\n >\n + Add Event\n </Button>\n\n <MiniCalendarPicker\n currentDate={currentDate}\n onDateChange={onDateChange}\n onMonthChange={onMonthChange}\n />\n\n <div>\n <h3 className=\"mb-3 text-xs font-semibold uppercase tracking-wider text-ds-3\">\n Event Filters\n </h3>\n <EventFilterList activeLabels={activeLabels} onChange={onFiltersChange} />\n </div>\n </div>\n);\n\nexport const CalendarSidebar: FC<CalendarSidebarProps> = (props) => (\n <aside className=\"hidden w-[280px] shrink-0 flex-col border-e border-ds-border-3 bg-ds-surface-1 p-4 lg:flex\">\n <CalendarSidebarContent {...props} />\n </aside>\n);\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport { Button } from '../../forms/button';\nimport { mergeClassNames } from '../../../utils';\n\nimport {\n formatMonthYear,\n formatWeekRange,\n formatDayFull,\n} from './calendarUtils';\nimport type { CalendarView } from './types';\n\ninterface CalendarHeaderProps {\n view: CalendarView;\n currentDate: Date;\n onPrev: () => void;\n onNext: () => void;\n onViewChange: (v: CalendarView) => void;\n onSidebarToggle?: () => void;\n}\n\nconst VIEWS: { value: CalendarView; label: string }[] = [\n { value: 'month', label: 'Month' },\n { value: 'week', label: 'Week' },\n { value: 'day', label: 'Day' },\n { value: 'list', label: 'List' },\n];\n\nfunction getTitle(view: CalendarView, date: Date): string {\n if (view === 'month' || view === 'list') return formatMonthYear(date);\n if (view === 'week') return formatWeekRange(date);\n return formatDayFull(date);\n}\n\nconst ChevronLeft = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n);\n\nconst ChevronRight = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M9 18l6-6-6-6\" />\n </svg>\n);\n\nconst MenuIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\" />\n <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\" />\n <line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\" />\n </svg>\n);\n\nexport const CalendarHeader: FC<CalendarHeaderProps> = ({\n view,\n currentDate,\n onPrev,\n onNext,\n onViewChange,\n onSidebarToggle,\n}) => (\n <header className=\"flex items-center justify-between border-b border-ds-border-3 bg-ds-surface-1 px-4 py-3\">\n <div className=\"flex items-center gap-2\">\n {onSidebarToggle && (\n <Button\n variant=\"secondary\"\n size=\"small\"\n className=\"h-8 w-8 p-0! hover:opacity-100 lg:hidden\"\n aria-label=\"Toggle calendar sidebar\"\n onClick={onSidebarToggle}\n >\n <MenuIcon />\n </Button>\n )}\n <Button\n variant=\"secondary\"\n size=\"small\"\n className=\"h-8 w-8 p-0! hover:opacity-100\"\n aria-label=\"Previous period\"\n onClick={onPrev}\n >\n <ChevronLeft />\n </Button>\n <Button\n variant=\"secondary\"\n size=\"small\"\n className=\"h-8 w-8 p-0! hover:opacity-100\"\n aria-label=\"Next period\"\n onClick={onNext}\n >\n <ChevronRight />\n </Button>\n <h2 className=\"ms-1 text-base font-semibold text-ds-1\">\n {getTitle(view, currentDate)}\n </h2>\n </div>\n\n <div className=\"flex rounded-lg border border-ds-border-2 bg-ds-surface-2 p-0.5\" role=\"tablist\" aria-label=\"Calendar view\">\n {VIEWS.map(({ value, label }) => (\n <Button\n key={value}\n variant=\"tertiary\"\n size=\"small\"\n role=\"tab\"\n aria-selected={view === value}\n onClick={() => onViewChange(value)}\n className={mergeClassNames(\n 'rounded-md px-3 py-1.5 text-xs font-medium hover:opacity-100',\n view === value\n ? 'bg-ds-surface-1 text-ds-1 shadow-1'\n : 'text-ds-3 hover:text-ds-2',\n )}\n >\n {label}\n </Button>\n ))}\n </div>\n </header>\n);\n","\"use client\";\n\nimport type { FC, KeyboardEvent } from 'react';\n\nimport { Tooltip } from '../../overlays/tooltip/Tooltip';\nimport { TruncatedText } from '../../typography/truncated-text/TruncatedText';\n\nimport { formatDayFull, formatTime } from './calendarUtils';\nimport { EVENT_LABEL_CONFIG } from './types';\nimport type { CalendarEvent } from './types';\n\ninterface EventPillProps {\n event: CalendarEvent;\n compact?: boolean;\n onDoubleClick?: (event: CalendarEvent) => void;\n}\n\nexport const EventPill: FC<EventPillProps> = ({ event, compact = false, onDoubleClick }) => {\n const cfg = EVENT_LABEL_CONFIG[event.label];\n const timeStr = event.allDay\n ? 'All day'\n : `${formatTime(event.start)} – ${formatTime(event.end)}`;\n\n const tooltipContent = (\n <div className=\"flex min-w-0 flex-col gap-1.5\">\n <span className=\"font-semibold leading-snug text-ds-1\">{event.title}</span>\n <div className=\"flex items-center gap-1.5\">\n <span\n className=\"h-2 w-2 shrink-0 rounded-full\"\n style={{ backgroundColor: cfg.color }}\n aria-hidden=\"true\"\n />\n <span className=\"text-xs text-ds-2\">{cfg.display}</span>\n </div>\n <span className=\"text-xs text-ds-3\">{formatDayFull(event.start)}</span>\n <span className=\"text-xs text-ds-3\">{timeStr}</span>\n {event.location && <span className=\"text-xs text-ds-3\">{event.location}</span>}\n </div>\n );\n\n return (\n <Tooltip content={tooltipContent} position=\"top\" delayShow={500} wrapperClassName=\"w-full min-w-0\">\n <div\n className={`w-full min-w-0 cursor-pointer select-none rounded font-medium leading-none ${\n compact ? 'px-1.5 py-1 text-[11px]' : 'px-2 py-1.5 text-xs'\n }`}\n style={{ backgroundColor: cfg.bg, color: cfg.color }}\n role=\"button\"\n tabIndex={0}\n aria-label={`${event.title} – ${cfg.display}`}\n onClick={(e) => e.stopPropagation()}\n onDoubleClick={(e) => {\n e.stopPropagation();\n onDoubleClick?.(event);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Enter') onDoubleClick?.(event);\n }}\n >\n <TruncatedText showTitleOnHover={false}>{event.title}</TruncatedText>\n </div>\n </Tooltip>\n );\n};\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport { Button } from '../../../forms/button';\nimport { mergeClassNames } from '../../../../utils';\n\nimport { getMonthGridDays, getEventsForDay, isToday } from '../calendarUtils';\nimport { EventPill } from '../EventPill';\nimport type { CalendarEvent } from '../types';\n\ninterface MonthViewProps {\n currentDate: Date;\n events: CalendarEvent[];\n onDayClick: (d: Date) => void;\n onEventDoubleClick?: (event: CalendarEvent) => void;\n}\n\nconst DAY_NAMES = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\nexport const MonthView: FC<MonthViewProps> = ({ currentDate, events, onDayClick, onEventDoubleClick }) => {\n const days = getMonthGridDays(currentDate);\n const currentMonth = currentDate.getMonth();\n\n return (\n <div className=\"flex flex-1 flex-col overflow-auto\">\n <div className=\"grid grid-cols-7 border-b border-ds-border-3\">\n {DAY_NAMES.map((name) => (\n <div\n key={name}\n className=\"py-2 text-center text-xs font-medium uppercase tracking-wide text-ds-3\"\n >\n {name}\n </div>\n ))}\n </div>\n\n <div className=\"grid flex-1 grid-cols-7 grid-rows-6\">\n {days.map((day, i) => {\n const inMonth = day.getMonth() === currentMonth;\n const today = isToday(day);\n const dayEvents = getEventsForDay(events, day);\n const visible = dayEvents.slice(0, 2);\n const overflow = dayEvents.length - visible.length;\n\n return (\n <Button\n key={i}\n variant=\"tertiary\"\n aria-label={day.toDateString()}\n onClick={() => onDayClick(day)}\n className={mergeClassNames(\n 'flex flex-col items-start gap-1 rounded-none border-b border-e border-ds-border-3 p-1.5 text-start hover:bg-ds-surface-2 hover:opacity-100',\n today ? 'bg-ds-surface-2' : '',\n )}\n >\n <span\n className={mergeClassNames(\n 'self-end flex h-6 w-6 items-center justify-center rounded-full text-xs font-medium leading-none',\n today\n ? 'bg-ds-accent text-ds-on-accent font-bold'\n : inMonth\n ? 'text-ds-2'\n : 'text-ds-3 opacity-50',\n )}\n >\n {day.getDate()}\n </span>\n\n <div className=\"flex w-full min-h-0 flex-col gap-0.5\">\n {visible.map((event) => (\n <EventPill key={event.id} event={event} compact onDoubleClick={onEventDoubleClick} />\n ))}\n {overflow > 0 && (\n <span className=\"px-1 text-[10px] text-ds-3\">+{overflow} more</span>\n )}\n </div>\n </Button>\n );\n })}\n </div>\n </div>\n );\n};\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport { mergeClassNames } from '../../../../utils';\n\nimport {\n getWeekDays,\n getEventsForDay,\n isSameDay,\n isToday,\n formatShortDate,\n formatHour,\n getEventTopPx,\n getEventHeightPx,\n GRID_START_HOUR,\n GRID_END_HOUR,\n HOUR_HEIGHT_PX,\n} from '../calendarUtils';\nimport { EventPill } from '../EventPill';\nimport { EVENT_LABEL_CONFIG } from '../types';\nimport type { CalendarEvent } from '../types';\n\ninterface WeekViewProps {\n currentDate: Date;\n events: CalendarEvent[];\n onEventDoubleClick?: (event: CalendarEvent) => void;\n}\n\nconst HOURS = Array.from({ length: GRID_END_HOUR - GRID_START_HOUR }, (_, i) => GRID_START_HOUR + i);\nconst DAY_ABBR = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\nexport const WeekView: FC<WeekViewProps> = ({ currentDate, events, onEventDoubleClick }) => {\n const weekDays = getWeekDays(currentDate);\n\n return (\n <div className=\"flex flex-col flex-1 overflow-hidden\">\n {/* Column headers */}\n <div className=\"grid border-b border-ds-border-3\" style={{ gridTemplateColumns: '56px repeat(7, 1fr)' }}>\n <div className=\"border-e border-ds-border-3\" />\n {weekDays.map((day) => {\n const today = isToday(day);\n return (\n <div\n key={day.toISOString()}\n className={mergeClassNames(\n 'flex flex-col items-center py-2 text-xs font-medium border-e border-ds-border-3 last:border-e-0',\n today ? 'bg-ds-accent-subtle/30 text-ds-accent' : 'text-ds-3',\n )}\n >\n <span>{DAY_ABBR[day.getDay()]}</span>\n <span className={mergeClassNames(\n 'mt-0.5 flex h-6 w-6 items-center justify-center rounded-full font-semibold',\n today ? 'bg-ds-accent text-ds-on-accent' : 'text-ds-2',\n )}>\n {formatShortDate(day).split('/')[1]}\n </span>\n </div>\n );\n })}\n </div>\n\n {/* All-Day row */}\n <div className=\"grid border-b border-ds-border-3\" style={{ gridTemplateColumns: '56px repeat(7, 1fr)', minHeight: 40 }}>\n <div className=\"flex items-center justify-end pe-2 text-[10px] text-ds-3 border-e border-ds-border-3\">All-day</div>\n {weekDays.map((day) => {\n const allDayEvents = getEventsForDay(events, day).filter((e) => e.allDay);\n return (\n <div key={day.toISOString()} className=\"flex flex-col gap-0.5 p-0.5 border-e border-ds-border-3 last:border-e-0\">\n {allDayEvents.map((e) => <EventPill key={e.id} event={e} compact onDoubleClick={onEventDoubleClick} />)}\n </div>\n );\n })}\n </div>\n\n {/* Time grid */}\n <div className=\"flex-1 overflow-y-auto\">\n <div className=\"grid relative\" style={{ gridTemplateColumns: '56px repeat(7, 1fr)', height: HOURS.length * HOUR_HEIGHT_PX }}>\n {/* Hour labels */}\n <div className=\"relative border-e border-ds-border-3\">\n {HOURS.map((h) => (\n <div key={h} className=\"absolute w-full flex justify-end pe-2\" style={{ top: (h - GRID_START_HOUR) * HOUR_HEIGHT_PX - 8 }}>\n <span className=\"text-[10px] text-ds-3\">{formatHour(h)}</span>\n </div>\n ))}\n </div>\n\n {/* Day columns */}\n {weekDays.map((day) => {\n const today = isToday(day);\n const timedEvents = getEventsForDay(events, day).filter((e) => !e.allDay);\n return (\n <div\n key={day.toISOString()}\n className={mergeClassNames(\n 'relative border-e border-ds-border-3 last:border-e-0',\n today ? 'bg-ds-accent-subtle/20' : '',\n )}\n >\n {HOURS.map((h) => (\n <div\n key={h}\n className=\"border-t border-ds-border-3/50\"\n style={{ height: HOUR_HEIGHT_PX }}\n />\n ))}\n {timedEvents.map((event) => {\n const cfg = EVENT_LABEL_CONFIG[event.label];\n return (\n <div\n key={event.id}\n className=\"absolute inset-x-0.5 cursor-pointer overflow-hidden rounded px-1.5 py-1 text-xs font-medium leading-tight select-none\"\n style={{\n top: getEventTopPx(event),\n height: getEventHeightPx(event),\n backgroundColor: cfg.bg,\n color: cfg.color,\n }}\n title={event.title}\n onDoubleClick={() => onEventDoubleClick?.(event)}\n >\n {event.title}\n </div>\n );\n })}\n </div>\n );\n })}\n </div>\n </div>\n </div>\n );\n};\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport { getEventsForDay, formatHour, getEventTopPx, getEventHeightPx, GRID_START_HOUR, GRID_END_HOUR, HOUR_HEIGHT_PX } from '../calendarUtils';\nimport { EVENT_LABEL_CONFIG } from '../types';\nimport type { CalendarEvent } from '../types';\n\ninterface DayViewProps {\n currentDate: Date;\n events: CalendarEvent[];\n onEventDoubleClick?: (event: CalendarEvent) => void;\n}\n\nconst HOURS = Array.from({ length: GRID_END_HOUR - GRID_START_HOUR }, (_, i) => GRID_START_HOUR + i);\n\nexport const DayView: FC<DayViewProps> = ({ currentDate, events, onEventDoubleClick }) => {\n const dayName = currentDate.toLocaleDateString('en-US', { weekday: 'long' });\n const allDayEvents = getEventsForDay(events, currentDate).filter((e) => e.allDay);\n const timedEvents = getEventsForDay(events, currentDate).filter((e) => !e.allDay);\n\n return (\n <div className=\"flex flex-col flex-1 overflow-hidden\">\n {/* Column header */}\n <div className=\"grid border-b border-ds-border-3\" style={{ gridTemplateColumns: '56px 1fr' }}>\n <div className=\"border-e border-ds-border-3\" />\n <div className=\"flex flex-col items-center py-2 text-xs font-medium text-ds-accent bg-ds-accent-subtle/30\">\n <span>{dayName}</span>\n <span className=\"mt-0.5 flex h-6 w-6 items-center justify-center rounded-full bg-ds-accent text-ds-on-accent font-semibold\">\n {currentDate.getDate()}\n </span>\n </div>\n </div>\n\n {/* All-Day row */}\n <div className=\"grid border-b border-ds-border-3\" style={{ gridTemplateColumns: '56px 1fr', minHeight: 40 }}>\n <div className=\"flex items-center justify-end pe-2 text-[10px] text-ds-3 border-e border-ds-border-3\">\n All-day\n </div>\n <div className=\"flex flex-col gap-0.5 p-1\">\n {allDayEvents.map((e) => (\n <div\n key={e.id}\n className=\"cursor-pointer truncate rounded px-2 py-1 text-xs font-medium select-none\"\n style={{ backgroundColor: EVENT_LABEL_CONFIG[e.label].bg, color: EVENT_LABEL_CONFIG[e.label].color }}\n title={e.title}\n onDoubleClick={() => onEventDoubleClick?.(e)}\n >\n {e.title}\n </div>\n ))}\n </div>\n </div>\n\n {/* Time grid */}\n <div className=\"flex-1 overflow-y-auto\">\n <div className=\"grid relative\" style={{ gridTemplateColumns: '56px 1fr', height: HOURS.length * HOUR_HEIGHT_PX }}>\n {/* Hour labels */}\n <div className=\"relative border-e border-ds-border-3\">\n {HOURS.map((h) => (\n <div key={h} className=\"absolute w-full flex justify-end pe-2\" style={{ top: (h - GRID_START_HOUR) * HOUR_HEIGHT_PX - 8 }}>\n <span className=\"text-[10px] text-ds-3\">{formatHour(h)}</span>\n </div>\n ))}\n </div>\n\n {/* Day column */}\n <div className=\"relative bg-ds-accent-subtle/20\">\n {HOURS.map((h) => (\n <div key={h} className=\"border-t border-ds-border-3/50\" style={{ height: HOUR_HEIGHT_PX }} />\n ))}\n {timedEvents.map((event) => {\n const cfg = EVENT_LABEL_CONFIG[event.label];\n return (\n <div\n key={event.id}\n className=\"absolute inset-x-1 cursor-pointer overflow-hidden rounded px-2 py-1 text-xs font-medium leading-tight select-none\"\n style={{\n top: getEventTopPx(event),\n height: getEventHeightPx(event),\n backgroundColor: cfg.bg,\n color: cfg.color,\n }}\n title={event.title}\n onDoubleClick={() => onEventDoubleClick?.(event)}\n >\n {event.title}\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n );\n};\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport {\n startOfMonth,\n endOfMonth,\n isSameDay,\n formatListDate,\n formatListDayName,\n formatTime,\n} from '../calendarUtils';\nimport { EVENT_LABEL_CONFIG } from '../types';\nimport type { CalendarEvent } from '../types';\n\ninterface ListViewProps {\n currentDate: Date;\n events: CalendarEvent[];\n onEventDoubleClick?: (event: CalendarEvent) => void;\n}\n\nexport const ListView: FC<ListViewProps> = ({ currentDate, events, onEventDoubleClick }) => {\n const monthStart = startOfMonth(currentDate);\n const monthEnd = endOfMonth(currentDate);\n\n const monthEvents = events\n .filter((e) => e.start <= monthEnd && e.end >= monthStart)\n .sort((a, b) => a.start.getTime() - b.start.getTime());\n\n // Group by day\n const groups: { day: Date; events: CalendarEvent[] }[] = [];\n for (const event of monthEvents) {\n const existing = groups.find((g) => isSameDay(g.day, event.start));\n if (existing) {\n existing.events.push(event);\n } else {\n groups.push({ day: event.start, events: [event] });\n }\n }\n\n if (groups.length === 0) {\n return (\n <div className=\"flex flex-1 items-center justify-center text-sm text-ds-3\">\n No events this month\n </div>\n );\n }\n\n return (\n <div className=\"flex-1 overflow-y-auto\">\n {groups.map(({ day, events: dayEvents }) => (\n <div key={day.toISOString()}>\n {/* Date header */}\n <div className=\"flex items-center justify-between bg-ds-surface-2 px-4 py-2 border-b border-ds-border-3\">\n <span className=\"text-sm font-semibold text-ds-1\">{formatListDate(day)}</span>\n <span className=\"text-xs font-medium text-ds-3\">{formatListDayName(day)}</span>\n </div>\n\n {/* Events */}\n {dayEvents.map((event) => {\n const cfg = EVENT_LABEL_CONFIG[event.label];\n const timeLabel = event.allDay\n ? 'all-day'\n : `${formatTime(event.start)}–${formatTime(event.end)}`;\n return (\n <div\n key={event.id}\n className=\"flex cursor-pointer select-none items-center gap-3 border-b border-ds-border-3 px-4 py-3 transition-colors hover:bg-ds-surface-2\"\n onDoubleClick={() => onEventDoubleClick?.(event)}\n title=\"Double-click to view details\"\n >\n <span className=\"w-28 shrink-0 text-xs text-ds-3\">{timeLabel}</span>\n <span\n className=\"h-2 w-2 shrink-0 rounded-full\"\n style={{ backgroundColor: cfg.color }}\n aria-hidden=\"true\"\n />\n <span className=\"truncate text-sm text-ds-1\">{event.title}</span>\n </div>\n );\n })}\n </div>\n ))}\n </div>\n );\n};\n","\"use client\";\n\nimport { type FC, useEffect, useState } from 'react';\n\nimport { Button } from '../../forms/button';\nimport { Input } from '../../forms/input';\nimport { Select } from '../../forms/select';\nimport { Switch } from '../../forms/switch';\nimport { Textarea } from '../../forms/textarea';\nimport { Drawer } from '../../overlays/drawer/Drawer';\n\nimport { generateId } from './calendarUtils';\nimport { EVENT_LABEL_CONFIG, ALL_LABELS } from './types';\nimport type { CalendarEvent, EventLabel } from './types';\n\ninterface AddEventPanelProps {\n isOpen: boolean;\n onClose: () => void;\n onSubmit: (event: CalendarEvent) => void;\n initialDate?: Date;\n}\n\nfunction toDateInput(d: Date): string {\n return d.toISOString().split('T')[0] ?? '';\n}\n\nconst labelOptions = ALL_LABELS.map((l) => ({\n value: l,\n label: EVENT_LABEL_CONFIG[l].display,\n}));\n\nexport const AddEventPanel: FC<AddEventPanelProps> = ({ isOpen, onClose, onSubmit, initialDate }) => {\n const [title, setTitle] = useState('');\n const [label, setLabel] = useState<EventLabel>('personal');\n const [startDate, setStartDate] = useState('');\n const [endDate, setEndDate] = useState('');\n const [allDay, setAllDay] = useState(true);\n const [url, setUrl] = useState('');\n const [guests, setGuests] = useState('');\n const [location, setLocation] = useState('');\n const [description, setDescription] = useState('');\n\n useEffect(() => {\n if (isOpen) {\n const today = initialDate ?? new Date();\n setTitle('');\n setLabel('personal');\n setStartDate(toDateInput(today));\n setEndDate(toDateInput(today));\n setAllDay(true);\n setUrl('');\n setGuests('');\n setLocation('');\n setDescription('');\n }\n }, [isOpen, initialDate]);\n\n const handleSubmit = () => {\n if (!title.trim()) return;\n const start = new Date(startDate);\n const end = new Date(endDate);\n end.setHours(23, 59, 59, 999);\n const event: CalendarEvent = {\n id: generateId(),\n title: title.trim(),\n start,\n end,\n allDay,\n label,\n url: url.trim() || undefined,\n guests: guests.trim() || undefined,\n location: location.trim() || undefined,\n description: description.trim() || undefined,\n };\n onSubmit(event);\n };\n\n return (\n <Drawer\n open={isOpen}\n onOpenChange={(o) => { if (!o) onClose(); }}\n title=\"Add Event\"\n position=\"right\"\n footer={\n <div className=\"flex gap-2\">\n <Button variant=\"primary\" className=\"flex-1\" onClick={handleSubmit} disabled={!title.trim()}>\n Submit\n </Button>\n <Button variant=\"secondary\" onClick={onClose}>\n Cancel\n </Button>\n </div>\n }\n >\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-ds-2\">Title</label>\n <Input placeholder=\"Meeting with Jane\" value={title} onChange={(e) => setTitle(e.target.value)} />\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-ds-2\">Label</label>\n <Select\n options={labelOptions}\n value={label}\n onChange={(e) => setLabel(e.target.value as EventLabel)}\n placeholder=\"Select Event Label\"\n />\n </div>\n\n <div className=\"grid grid-cols-2 gap-3\">\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-ds-2\">Start date</label>\n <Input type=\"date\" value={startDate} onChange={(e) => setStartDate(e.target.value)} />\n </div>\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-ds-2\">End date</label>\n <Input type=\"date\" value={endDate} onChange={(e) => setEndDate(e.target.value)} />\n </div>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <span className=\"text-xs font-medium text-ds-2\">All day</span>\n <Switch checked={allDay} onChange={(e) => setAllDay(e.target.checked)} aria-label=\"All day event\" />\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-ds-2\">Event URL</label>\n <Input placeholder=\"https://event.com/meeting\" value={url} onChange={(e) => setUrl(e.target.value)} />\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-ds-2\">Guests</label>\n <Input placeholder=\"Select guests\" value={guests} onChange={(e) => setGuests(e.target.value)} />\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-ds-2\">Location</label>\n <Input placeholder=\"Meeting room\" value={location} onChange={(e) => setLocation(e.target.value)} />\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-ds-2\">Description</label>\n <Textarea\n placeholder=\"Add description\"\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n className=\"h-24 resize-none\"\n />\n </div>\n </div>\n </Drawer>\n );\n};\n","\"use client\";\n\nimport type { FC } from 'react';\n\nimport { Drawer } from '../../overlays/drawer/Drawer';\n\nimport { formatDayFull, formatTime } from './calendarUtils';\nimport { EVENT_LABEL_CONFIG } from './types';\nimport type { CalendarEvent } from './types';\n\ninterface EventDetailDrawerProps {\n event: CalendarEvent | null;\n open: boolean;\n onClose: () => void;\n}\n\nexport const EventDetailDrawer: FC<EventDetailDrawerProps> = ({ event, open, onClose }) => {\n if (!event) return null;\n const cfg = EVENT_LABEL_CONFIG[event.label];\n const timeStr = event.allDay\n ? 'All day'\n : `${formatTime(event.start)} – ${formatTime(event.end)}`;\n\n return (\n <Drawer\n open={open}\n onOpenChange={(o) => { if (!o) onClose(); }}\n title={event.title}\n position=\"right\"\n >\n <div className=\"flex flex-col gap-5\">\n <span\n className=\"inline-flex w-fit items-center gap-1.5 rounded-full px-3 py-1 text-xs font-semibold\"\n style={{ backgroundColor: cfg.bg, color: cfg.color }}\n >\n <span className=\"h-1.5 w-1.5 rounded-full\" style={{ backgroundColor: cfg.color }} aria-hidden=\"true\" />\n {cfg.display}\n </span>\n\n <div className=\"flex flex-col gap-1\">\n <p className=\"text-xs font-semibold uppercase tracking-wider text-ds-3\">Date</p>\n <p className=\"text-sm text-ds-1\">{formatDayFull(event.start)}</p>\n </div>\n\n <div className=\"flex flex-col gap-1\">\n <p className=\"text-xs font-semibold uppercase tracking-wider text-ds-3\">Time</p>\n <p className=\"text-sm text-ds-1\">{timeStr}</p>\n </div>\n\n {event.location && (\n <div className=\"flex flex-col gap-1\">\n <p className=\"text-xs font-semibold uppercase tracking-wider text-ds-3\">Location</p>\n <p className=\"text-sm text-ds-1\">{event.location}</p>\n </div>\n )}\n\n {event.guests && (\n <div className=\"flex flex-col gap-1\">\n <p className=\"text-xs font-semibold uppercase tracking-wider text-ds-3\">Guests</p>\n <p className=\"text-sm text-ds-1\">{event.guests}</p>\n </div>\n )}\n\n {event.url && (\n <div className=\"flex flex-col gap-1\">\n <p className=\"text-xs font-semibold uppercase tracking-wider text-ds-3\">Event URL</p>\n <p className=\"break-all text-sm text-ds-accent\">{event.url}</p>\n </div>\n )}\n\n {event.description && (\n <div className=\"flex flex-col gap-1\">\n <p className=\"text-xs font-semibold uppercase tracking-wider text-ds-3\">Description</p>\n <p className=\"text-sm leading-relaxed text-ds-2\">{event.description}</p>\n </div>\n )}\n </div>\n </Drawer>\n );\n};\n","\"use client\";\n\nimport { useState } from 'react';\n\nimport { Drawer } from '../../overlays/drawer/Drawer';\nimport { mergeClassNames } from '../../../utils';\n\nimport { addDays, addMonths, addWeeks } from './calendarUtils';\nimport { CalendarSidebar, CalendarSidebarContent } from './CalendarSidebar';\nimport { CalendarHeader } from './CalendarHeader';\nimport { MonthView } from './views/MonthView';\nimport { WeekView } from './views/WeekView';\nimport { DayView } from './views/DayView';\nimport { ListView } from './views/ListView';\nimport { AddEventPanel } from './AddEventPanel';\nimport { EventDetailDrawer } from './EventDetailDrawer';\nimport { ALL_LABELS } from './types';\nimport type { CalendarEvent, CalendarView, EventLabel, EventCalendarProps } from './types';\n\nexport const EventCalendar = ({\n initialEvents = [],\n initialView = 'month',\n initialDate,\n onEventAdd,\n className,\n}: EventCalendarProps) => {\n const [view, setView] = useState<CalendarView>(initialView);\n const [currentDate, setCurrentDate] = useState<Date>(initialDate ?? new Date());\n const [events, setEvents] = useState<CalendarEvent[]>(initialEvents);\n const [activeLabels, setActiveLabels] = useState<EventLabel[]>([...ALL_LABELS]);\n const [isAddPanelOpen, setIsAddPanelOpen] = useState(false);\n const [isSidebarDrawerOpen, setIsSidebarDrawerOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState<CalendarEvent | null>(null);\n const [isEventDrawerOpen, setIsEventDrawerOpen] = useState(false);\n\n const handlePrev = () => {\n if (view === 'month' || view === 'list') setCurrentDate((d) => addMonths(d, -1));\n else if (view === 'week') setCurrentDate((d) => addWeeks(d, -1));\n else setCurrentDate((d) => addDays(d, -1));\n };\n\n const handleNext = () => {\n if (view === 'month' || view === 'list') setCurrentDate((d) => addMonths(d, 1));\n else if (view === 'week') setCurrentDate((d) => addWeeks(d, 1));\n else setCurrentDate((d) => addDays(d, 1));\n };\n\n const handleEventSubmit = (event: CalendarEvent) => {\n setEvents((prev) => [...prev, event]);\n onEventAdd?.(event);\n setIsAddPanelOpen(false);\n };\n\n const handleEventDoubleClick = (event: CalendarEvent) => {\n setSelectedEvent(event);\n setIsEventDrawerOpen(true);\n };\n\n const filteredEvents = events.filter((e) => activeLabels.includes(e.label));\n\n const handleDayClick = (day: Date) => {\n setCurrentDate(day);\n setView('day');\n };\n\n const sidebarProps = {\n currentDate,\n onDateChange: (d: Date) => setCurrentDate(d),\n onMonthChange: (d: Date) => setCurrentDate(d),\n activeLabels,\n onFiltersChange: setActiveLabels,\n onAddEvent: () => {\n setIsSidebarDrawerOpen(false);\n setIsAddPanelOpen(true);\n },\n };\n\n return (\n <div className={mergeClassNames('flex h-full overflow-hidden rounded-xl border border-ds-border-3 bg-ds-surface-1', className)}>\n {/* Inline sidebar — hidden on mobile, visible on lg+ */}\n <CalendarSidebar {...sidebarProps} />\n\n {/* Sidebar Drawer — mobile only */}\n <Drawer\n open={isSidebarDrawerOpen}\n onOpenChange={setIsSidebarDrawerOpen}\n title=\"Calendar\"\n position=\"left\"\n >\n <CalendarSidebarContent {...sidebarProps} />\n </Drawer>\n\n <main className=\"flex flex-1 flex-col overflow-hidden\">\n <CalendarHeader\n view={view}\n currentDate={currentDate}\n onPrev={handlePrev}\n onNext={handleNext}\n onViewChange={setView}\n onSidebarToggle={() => setIsSidebarDrawerOpen(true)}\n />\n\n {view === 'month' && (\n <MonthView\n currentDate={currentDate}\n events={filteredEvents}\n onDayClick={handleDayClick}\n onEventDoubleClick={handleEventDoubleClick}\n />\n )}\n {view === 'week' && (\n <WeekView\n currentDate={currentDate}\n events={filteredEvents}\n onEventDoubleClick={handleEventDoubleClick}\n />\n )}\n {view === 'day' && (\n <DayView\n currentDate={currentDate}\n events={filteredEvents}\n onEventDoubleClick={handleEventDoubleClick}\n />\n )}\n {view === 'list' && (\n <ListView\n currentDate={currentDate}\n events={filteredEvents}\n onEventDoubleClick={handleEventDoubleClick}\n />\n )}\n </main>\n\n <AddEventPanel\n isOpen={isAddPanelOpen}\n onClose={() => setIsAddPanelOpen(false)}\n onSubmit={handleEventSubmit}\n initialDate={currentDate}\n />\n\n <EventDetailDrawer\n event={selectedEvent}\n open={isEventDrawerOpen}\n onClose={() => setIsEventDrawerOpen(false)}\n />\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- require("./chunk-B_GkZjkl.cjs");
2
1
  let react = require("react");
3
2
  let react_jsx_runtime = require("react/jsx-runtime");
4
3
  //#region src/components/forms/form/Form.tsx
@@ -200,4 +199,4 @@ Object.defineProperty(exports, "InputGroup", {
200
199
  }
201
200
  });
202
201
 
203
- //# sourceMappingURL=form-X6Vyaavl.cjs.map
202
+ //# sourceMappingURL=form-DARN6jtX.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-X6Vyaavl.cjs","names":[],"sources":["../../src/components/forms/form/Form.tsx"],"sourcesContent":["import { Children, cloneElement, isValidElement, useId } from \"react\";\nimport type { ReactElement } from \"react\";\n\nimport type {\n FormProps,\n FormSectionProps,\n FormFieldProps,\n FormActionsProps,\n InputGroupProps,\n FormDescriptionProps,\n FormMessageProps,\n} from \"./types\";\n\nconst cx = (...classes: Array<string | false | undefined>) =>\n classes.filter(Boolean).join(\" \").replace(/\\s+/g, \" \").trim();\n\nconst gapClassMap: Record<NonNullable<FormProps[\"gap\"]>, string> = {\n sm: \"space-y-4\",\n md: \"space-y-6\",\n lg: \"space-y-8\",\n};\n\nconst sectionColumnsMap: Record<\n NonNullable<FormSectionProps[\"columns\"]>,\n string\n> = {\n 1: \"space-y-4\",\n 2: \"grid grid-cols-2 gap-4\",\n 3: \"grid grid-cols-3 gap-4\",\n};\n\nconst inputGroupMap: Record<NonNullable<InputGroupProps[\"columns\"]>, string> = {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-2\",\n 3: \"grid-cols-3\",\n 4: \"grid-cols-4\",\n};\n\nconst actionsAlignMap: Record<\n NonNullable<FormActionsProps[\"align\"]>,\n string\n> = {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n between: \"justify-between\",\n};\n\nconst messageIntentMap: Record<\n NonNullable<FormMessageProps[\"intent\"]>,\n string\n> = {\n default: \"text-ds-2\",\n error: \"text-destructive\",\n success: \"text-success\",\n};\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nexport const Form = ({\n title,\n description,\n gap = \"lg\",\n children,\n className = \"\",\n ...props\n}: FormProps) => {\n return (\n <form\n className={cx(\n \"w-full space-y-6 rounded-lg border border-ds-border-2 bg-ds-surface-1 p-6\",\n className,\n )}\n {...props}\n >\n {(title || description) && (\n <div className=\"space-y-2\">\n {title && (\n <h2 className=\"text-xl font-semibold text-ds-1\">{title}</h2>\n )}\n {description && <p className=\"text-sm text-ds-2\">{description}</p>}\n </div>\n )}\n <div className={gapClassMap[gap]}>{children}</div>\n </form>\n );\n};\n\nexport const FormSection = ({\n title,\n description,\n columns = 1,\n children,\n className = \"\",\n}: FormSectionProps) => {\n return (\n <section className={cx(\"space-y-4\", className)}>\n {(title || description) && (\n <header className=\"space-y-1\">\n {title && (\n <h3 className=\"text-base font-medium text-ds-1\">{title}</h3>\n )}\n {description && <p className=\"text-sm text-ds-2\">{description}</p>}\n </header>\n )}\n <div className={sectionColumnsMap[columns] || sectionColumnsMap[1]}>\n {children}\n </div>\n </section>\n );\n};\n\nexport const FormDescription = ({\n children,\n className = \"\",\n id,\n}: FormDescriptionProps) => (\n <p id={id} className={cx(\"text-sm text-ds-2\", className)}>\n {children}\n </p>\n);\n\nexport const FormMessage = ({\n children,\n intent = \"default\",\n className = \"\",\n id,\n}: FormMessageProps) => (\n <p\n id={id}\n role={intent === \"error\" ? \"alert\" : \"status\"}\n className={cx(\"text-sm\", messageIntentMap[intent], className)}\n >\n {children}\n </p>\n);\n\nexport const FormField = ({\n label,\n description,\n error,\n required,\n htmlFor,\n helperAction,\n layout = \"stacked\",\n children,\n className = \"\",\n}: FormFieldProps) => {\n const autoId = useId();\n const fieldId = sanitizeId(htmlFor ?? autoId);\n const descriptionId = description ? `${fieldId}-description` : undefined;\n const errorId = error ? `${fieldId}-error` : undefined;\n\n const controls = Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const element = child as ReactElement<Record<string, unknown>>;\n const currentDescribedBy = element.props?.[\"aria-describedby\"] as\n | string\n | undefined;\n const describedBy = [currentDescribedBy, descriptionId, errorId]\n .filter(Boolean)\n .join(\" \")\n .trim();\n\n return cloneElement(element, {\n id: element.props?.id ?? fieldId,\n \"aria-describedby\": describedBy || undefined,\n \"aria-invalid\": element.props?.[\"aria-invalid\"] ?? Boolean(error),\n });\n });\n\n const labelNode = (\n <div className=\"flex items-center justify-between gap-2\">\n <label htmlFor={fieldId} className=\"text-sm font-medium text-ds-1\">\n {label}\n {required && <span className=\"ms-1 text-destructive\">*</span>}\n </label>\n {helperAction && <div className=\"text-xs text-ds-2\">{helperAction}</div>}\n </div>\n );\n\n if (layout === \"inline\") {\n return (\n <div className={cx(\"flex flex-wrap items-start gap-6\", className)}>\n <div className=\"min-w-[200px] space-y-1\">\n {labelNode}\n {description && (\n <FormDescription id={descriptionId}>{description}</FormDescription>\n )}\n </div>\n <div className=\"flex-1 space-y-2\">\n {controls}\n {error && (\n <FormMessage id={errorId} intent=\"error\">\n {error}\n </FormMessage>\n )}\n </div>\n </div>\n );\n }\n\n return (\n <div className={cx(\"space-y-2\", className)}>\n {labelNode}\n {description && (\n <FormDescription id={descriptionId}>{description}</FormDescription>\n )}\n <div className=\"space-y-2\">\n {controls}\n {error && (\n <FormMessage id={errorId} intent=\"error\">\n {error}\n </FormMessage>\n )}\n </div>\n </div>\n );\n};\n\nexport const FormActions = ({\n children,\n align = \"end\",\n className = \"\",\n}: FormActionsProps) => (\n <div\n className={cx(\"flex flex-wrap gap-3\", actionsAlignMap[align], className)}\n >\n {children}\n </div>\n);\n\nexport const InputGroup = ({\n columns = 2,\n children,\n className = \"\",\n}: InputGroupProps) => (\n <div className={cx(\"grid gap-4\", inputGroupMap[columns], className)}>\n {children}\n </div>\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"form-DARN6jtX.cjs","names":[],"sources":["../../src/components/forms/form/Form.tsx"],"sourcesContent":["import { Children, cloneElement, isValidElement, useId } from \"react\";\nimport type { ReactElement } from \"react\";\n\nimport type {\n FormProps,\n FormSectionProps,\n FormFieldProps,\n FormActionsProps,\n InputGroupProps,\n FormDescriptionProps,\n FormMessageProps,\n} from \"./types\";\n\nconst cx = (...classes: Array<string | false | undefined>) =>\n classes.filter(Boolean).join(\" \").replace(/\\s+/g, \" \").trim();\n\nconst gapClassMap: Record<NonNullable<FormProps[\"gap\"]>, string> = {\n sm: \"space-y-4\",\n md: \"space-y-6\",\n lg: \"space-y-8\",\n};\n\nconst sectionColumnsMap: Record<\n NonNullable<FormSectionProps[\"columns\"]>,\n string\n> = {\n 1: \"space-y-4\",\n 2: \"grid grid-cols-2 gap-4\",\n 3: \"grid grid-cols-3 gap-4\",\n};\n\nconst inputGroupMap: Record<NonNullable<InputGroupProps[\"columns\"]>, string> = {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-2\",\n 3: \"grid-cols-3\",\n 4: \"grid-cols-4\",\n};\n\nconst actionsAlignMap: Record<\n NonNullable<FormActionsProps[\"align\"]>,\n string\n> = {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n between: \"justify-between\",\n};\n\nconst messageIntentMap: Record<\n NonNullable<FormMessageProps[\"intent\"]>,\n string\n> = {\n default: \"text-ds-2\",\n error: \"text-destructive\",\n success: \"text-success\",\n};\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nexport const Form = ({\n title,\n description,\n gap = \"lg\",\n children,\n className = \"\",\n ...props\n}: FormProps) => {\n return (\n <form\n className={cx(\n \"w-full space-y-6 rounded-lg border border-ds-border-2 bg-ds-surface-1 p-6\",\n className,\n )}\n {...props}\n >\n {(title || description) && (\n <div className=\"space-y-2\">\n {title && (\n <h2 className=\"text-xl font-semibold text-ds-1\">{title}</h2>\n )}\n {description && <p className=\"text-sm text-ds-2\">{description}</p>}\n </div>\n )}\n <div className={gapClassMap[gap]}>{children}</div>\n </form>\n );\n};\n\nexport const FormSection = ({\n title,\n description,\n columns = 1,\n children,\n className = \"\",\n}: FormSectionProps) => {\n return (\n <section className={cx(\"space-y-4\", className)}>\n {(title || description) && (\n <header className=\"space-y-1\">\n {title && (\n <h3 className=\"text-base font-medium text-ds-1\">{title}</h3>\n )}\n {description && <p className=\"text-sm text-ds-2\">{description}</p>}\n </header>\n )}\n <div className={sectionColumnsMap[columns] || sectionColumnsMap[1]}>\n {children}\n </div>\n </section>\n );\n};\n\nexport const FormDescription = ({\n children,\n className = \"\",\n id,\n}: FormDescriptionProps) => (\n <p id={id} className={cx(\"text-sm text-ds-2\", className)}>\n {children}\n </p>\n);\n\nexport const FormMessage = ({\n children,\n intent = \"default\",\n className = \"\",\n id,\n}: FormMessageProps) => (\n <p\n id={id}\n role={intent === \"error\" ? \"alert\" : \"status\"}\n className={cx(\"text-sm\", messageIntentMap[intent], className)}\n >\n {children}\n </p>\n);\n\nexport const FormField = ({\n label,\n description,\n error,\n required,\n htmlFor,\n helperAction,\n layout = \"stacked\",\n children,\n className = \"\",\n}: FormFieldProps) => {\n const autoId = useId();\n const fieldId = sanitizeId(htmlFor ?? autoId);\n const descriptionId = description ? `${fieldId}-description` : undefined;\n const errorId = error ? `${fieldId}-error` : undefined;\n\n const controls = Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const element = child as ReactElement<Record<string, unknown>>;\n const currentDescribedBy = element.props?.[\"aria-describedby\"] as\n | string\n | undefined;\n const describedBy = [currentDescribedBy, descriptionId, errorId]\n .filter(Boolean)\n .join(\" \")\n .trim();\n\n return cloneElement(element, {\n id: element.props?.id ?? fieldId,\n \"aria-describedby\": describedBy || undefined,\n \"aria-invalid\": element.props?.[\"aria-invalid\"] ?? Boolean(error),\n });\n });\n\n const labelNode = (\n <div className=\"flex items-center justify-between gap-2\">\n <label htmlFor={fieldId} className=\"text-sm font-medium text-ds-1\">\n {label}\n {required && <span className=\"ms-1 text-destructive\">*</span>}\n </label>\n {helperAction && <div className=\"text-xs text-ds-2\">{helperAction}</div>}\n </div>\n );\n\n if (layout === \"inline\") {\n return (\n <div className={cx(\"flex flex-wrap items-start gap-6\", className)}>\n <div className=\"min-w-[200px] space-y-1\">\n {labelNode}\n {description && (\n <FormDescription id={descriptionId}>{description}</FormDescription>\n )}\n </div>\n <div className=\"flex-1 space-y-2\">\n {controls}\n {error && (\n <FormMessage id={errorId} intent=\"error\">\n {error}\n </FormMessage>\n )}\n </div>\n </div>\n );\n }\n\n return (\n <div className={cx(\"space-y-2\", className)}>\n {labelNode}\n {description && (\n <FormDescription id={descriptionId}>{description}</FormDescription>\n )}\n <div className=\"space-y-2\">\n {controls}\n {error && (\n <FormMessage id={errorId} intent=\"error\">\n {error}\n </FormMessage>\n )}\n </div>\n </div>\n );\n};\n\nexport const FormActions = ({\n children,\n align = \"end\",\n className = \"\",\n}: FormActionsProps) => (\n <div\n className={cx(\"flex flex-wrap gap-3\", actionsAlignMap[align], className)}\n >\n {children}\n </div>\n);\n\nexport const InputGroup = ({\n columns = 2,\n children,\n className = \"\",\n}: InputGroupProps) => (\n <div className={cx(\"grid gap-4\", inputGroupMap[columns], className)}>\n {children}\n </div>\n);\n"],"mappings":"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"}
@@ -158,4 +158,4 @@ var InputGroup = ({ columns = 2, children, className = "" }) => /* @__PURE__ */
158
158
  //#endregion
159
159
  export { FormMessage as a, FormField as i, FormActions as n, FormSection as o, FormDescription as r, InputGroup as s, Form as t };
160
160
 
161
- //# sourceMappingURL=form-CtZ6U-_B.mjs.map
161
+ //# sourceMappingURL=form-DNuFklNR.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-CtZ6U-_B.mjs","names":[],"sources":["../../src/components/forms/form/Form.tsx"],"sourcesContent":["import { Children, cloneElement, isValidElement, useId } from \"react\";\nimport type { ReactElement } from \"react\";\n\nimport type {\n FormProps,\n FormSectionProps,\n FormFieldProps,\n FormActionsProps,\n InputGroupProps,\n FormDescriptionProps,\n FormMessageProps,\n} from \"./types\";\n\nconst cx = (...classes: Array<string | false | undefined>) =>\n classes.filter(Boolean).join(\" \").replace(/\\s+/g, \" \").trim();\n\nconst gapClassMap: Record<NonNullable<FormProps[\"gap\"]>, string> = {\n sm: \"space-y-4\",\n md: \"space-y-6\",\n lg: \"space-y-8\",\n};\n\nconst sectionColumnsMap: Record<\n NonNullable<FormSectionProps[\"columns\"]>,\n string\n> = {\n 1: \"space-y-4\",\n 2: \"grid grid-cols-2 gap-4\",\n 3: \"grid grid-cols-3 gap-4\",\n};\n\nconst inputGroupMap: Record<NonNullable<InputGroupProps[\"columns\"]>, string> = {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-2\",\n 3: \"grid-cols-3\",\n 4: \"grid-cols-4\",\n};\n\nconst actionsAlignMap: Record<\n NonNullable<FormActionsProps[\"align\"]>,\n string\n> = {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n between: \"justify-between\",\n};\n\nconst messageIntentMap: Record<\n NonNullable<FormMessageProps[\"intent\"]>,\n string\n> = {\n default: \"text-ds-2\",\n error: \"text-destructive\",\n success: \"text-success\",\n};\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nexport const Form = ({\n title,\n description,\n gap = \"lg\",\n children,\n className = \"\",\n ...props\n}: FormProps) => {\n return (\n <form\n className={cx(\n \"w-full space-y-6 rounded-lg border border-ds-border-2 bg-ds-surface-1 p-6\",\n className,\n )}\n {...props}\n >\n {(title || description) && (\n <div className=\"space-y-2\">\n {title && (\n <h2 className=\"text-xl font-semibold text-ds-1\">{title}</h2>\n )}\n {description && <p className=\"text-sm text-ds-2\">{description}</p>}\n </div>\n )}\n <div className={gapClassMap[gap]}>{children}</div>\n </form>\n );\n};\n\nexport const FormSection = ({\n title,\n description,\n columns = 1,\n children,\n className = \"\",\n}: FormSectionProps) => {\n return (\n <section className={cx(\"space-y-4\", className)}>\n {(title || description) && (\n <header className=\"space-y-1\">\n {title && (\n <h3 className=\"text-base font-medium text-ds-1\">{title}</h3>\n )}\n {description && <p className=\"text-sm text-ds-2\">{description}</p>}\n </header>\n )}\n <div className={sectionColumnsMap[columns] || sectionColumnsMap[1]}>\n {children}\n </div>\n </section>\n );\n};\n\nexport const FormDescription = ({\n children,\n className = \"\",\n id,\n}: FormDescriptionProps) => (\n <p id={id} className={cx(\"text-sm text-ds-2\", className)}>\n {children}\n </p>\n);\n\nexport const FormMessage = ({\n children,\n intent = \"default\",\n className = \"\",\n id,\n}: FormMessageProps) => (\n <p\n id={id}\n role={intent === \"error\" ? \"alert\" : \"status\"}\n className={cx(\"text-sm\", messageIntentMap[intent], className)}\n >\n {children}\n </p>\n);\n\nexport const FormField = ({\n label,\n description,\n error,\n required,\n htmlFor,\n helperAction,\n layout = \"stacked\",\n children,\n className = \"\",\n}: FormFieldProps) => {\n const autoId = useId();\n const fieldId = sanitizeId(htmlFor ?? autoId);\n const descriptionId = description ? `${fieldId}-description` : undefined;\n const errorId = error ? `${fieldId}-error` : undefined;\n\n const controls = Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const element = child as ReactElement<Record<string, unknown>>;\n const currentDescribedBy = element.props?.[\"aria-describedby\"] as\n | string\n | undefined;\n const describedBy = [currentDescribedBy, descriptionId, errorId]\n .filter(Boolean)\n .join(\" \")\n .trim();\n\n return cloneElement(element, {\n id: element.props?.id ?? fieldId,\n \"aria-describedby\": describedBy || undefined,\n \"aria-invalid\": element.props?.[\"aria-invalid\"] ?? Boolean(error),\n });\n });\n\n const labelNode = (\n <div className=\"flex items-center justify-between gap-2\">\n <label htmlFor={fieldId} className=\"text-sm font-medium text-ds-1\">\n {label}\n {required && <span className=\"ms-1 text-destructive\">*</span>}\n </label>\n {helperAction && <div className=\"text-xs text-ds-2\">{helperAction}</div>}\n </div>\n );\n\n if (layout === \"inline\") {\n return (\n <div className={cx(\"flex flex-wrap items-start gap-6\", className)}>\n <div className=\"min-w-[200px] space-y-1\">\n {labelNode}\n {description && (\n <FormDescription id={descriptionId}>{description}</FormDescription>\n )}\n </div>\n <div className=\"flex-1 space-y-2\">\n {controls}\n {error && (\n <FormMessage id={errorId} intent=\"error\">\n {error}\n </FormMessage>\n )}\n </div>\n </div>\n );\n }\n\n return (\n <div className={cx(\"space-y-2\", className)}>\n {labelNode}\n {description && (\n <FormDescription id={descriptionId}>{description}</FormDescription>\n )}\n <div className=\"space-y-2\">\n {controls}\n {error && (\n <FormMessage id={errorId} intent=\"error\">\n {error}\n </FormMessage>\n )}\n </div>\n </div>\n );\n};\n\nexport const FormActions = ({\n children,\n align = \"end\",\n className = \"\",\n}: FormActionsProps) => (\n <div\n className={cx(\"flex flex-wrap gap-3\", actionsAlignMap[align], className)}\n >\n {children}\n </div>\n);\n\nexport const InputGroup = ({\n columns = 2,\n children,\n className = \"\",\n}: InputGroupProps) => (\n <div className={cx(\"grid gap-4\", inputGroupMap[columns], className)}>\n {children}\n </div>\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"form-DNuFklNR.mjs","names":[],"sources":["../../src/components/forms/form/Form.tsx"],"sourcesContent":["import { Children, cloneElement, isValidElement, useId } from \"react\";\nimport type { ReactElement } from \"react\";\n\nimport type {\n FormProps,\n FormSectionProps,\n FormFieldProps,\n FormActionsProps,\n InputGroupProps,\n FormDescriptionProps,\n FormMessageProps,\n} from \"./types\";\n\nconst cx = (...classes: Array<string | false | undefined>) =>\n classes.filter(Boolean).join(\" \").replace(/\\s+/g, \" \").trim();\n\nconst gapClassMap: Record<NonNullable<FormProps[\"gap\"]>, string> = {\n sm: \"space-y-4\",\n md: \"space-y-6\",\n lg: \"space-y-8\",\n};\n\nconst sectionColumnsMap: Record<\n NonNullable<FormSectionProps[\"columns\"]>,\n string\n> = {\n 1: \"space-y-4\",\n 2: \"grid grid-cols-2 gap-4\",\n 3: \"grid grid-cols-3 gap-4\",\n};\n\nconst inputGroupMap: Record<NonNullable<InputGroupProps[\"columns\"]>, string> = {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-2\",\n 3: \"grid-cols-3\",\n 4: \"grid-cols-4\",\n};\n\nconst actionsAlignMap: Record<\n NonNullable<FormActionsProps[\"align\"]>,\n string\n> = {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n between: \"justify-between\",\n};\n\nconst messageIntentMap: Record<\n NonNullable<FormMessageProps[\"intent\"]>,\n string\n> = {\n default: \"text-ds-2\",\n error: \"text-destructive\",\n success: \"text-success\",\n};\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nexport const Form = ({\n title,\n description,\n gap = \"lg\",\n children,\n className = \"\",\n ...props\n}: FormProps) => {\n return (\n <form\n className={cx(\n \"w-full space-y-6 rounded-lg border border-ds-border-2 bg-ds-surface-1 p-6\",\n className,\n )}\n {...props}\n >\n {(title || description) && (\n <div className=\"space-y-2\">\n {title && (\n <h2 className=\"text-xl font-semibold text-ds-1\">{title}</h2>\n )}\n {description && <p className=\"text-sm text-ds-2\">{description}</p>}\n </div>\n )}\n <div className={gapClassMap[gap]}>{children}</div>\n </form>\n );\n};\n\nexport const FormSection = ({\n title,\n description,\n columns = 1,\n children,\n className = \"\",\n}: FormSectionProps) => {\n return (\n <section className={cx(\"space-y-4\", className)}>\n {(title || description) && (\n <header className=\"space-y-1\">\n {title && (\n <h3 className=\"text-base font-medium text-ds-1\">{title}</h3>\n )}\n {description && <p className=\"text-sm text-ds-2\">{description}</p>}\n </header>\n )}\n <div className={sectionColumnsMap[columns] || sectionColumnsMap[1]}>\n {children}\n </div>\n </section>\n );\n};\n\nexport const FormDescription = ({\n children,\n className = \"\",\n id,\n}: FormDescriptionProps) => (\n <p id={id} className={cx(\"text-sm text-ds-2\", className)}>\n {children}\n </p>\n);\n\nexport const FormMessage = ({\n children,\n intent = \"default\",\n className = \"\",\n id,\n}: FormMessageProps) => (\n <p\n id={id}\n role={intent === \"error\" ? \"alert\" : \"status\"}\n className={cx(\"text-sm\", messageIntentMap[intent], className)}\n >\n {children}\n </p>\n);\n\nexport const FormField = ({\n label,\n description,\n error,\n required,\n htmlFor,\n helperAction,\n layout = \"stacked\",\n children,\n className = \"\",\n}: FormFieldProps) => {\n const autoId = useId();\n const fieldId = sanitizeId(htmlFor ?? autoId);\n const descriptionId = description ? `${fieldId}-description` : undefined;\n const errorId = error ? `${fieldId}-error` : undefined;\n\n const controls = Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const element = child as ReactElement<Record<string, unknown>>;\n const currentDescribedBy = element.props?.[\"aria-describedby\"] as\n | string\n | undefined;\n const describedBy = [currentDescribedBy, descriptionId, errorId]\n .filter(Boolean)\n .join(\" \")\n .trim();\n\n return cloneElement(element, {\n id: element.props?.id ?? fieldId,\n \"aria-describedby\": describedBy || undefined,\n \"aria-invalid\": element.props?.[\"aria-invalid\"] ?? Boolean(error),\n });\n });\n\n const labelNode = (\n <div className=\"flex items-center justify-between gap-2\">\n <label htmlFor={fieldId} className=\"text-sm font-medium text-ds-1\">\n {label}\n {required && <span className=\"ms-1 text-destructive\">*</span>}\n </label>\n {helperAction && <div className=\"text-xs text-ds-2\">{helperAction}</div>}\n </div>\n );\n\n if (layout === \"inline\") {\n return (\n <div className={cx(\"flex flex-wrap items-start gap-6\", className)}>\n <div className=\"min-w-[200px] space-y-1\">\n {labelNode}\n {description && (\n <FormDescription id={descriptionId}>{description}</FormDescription>\n )}\n </div>\n <div className=\"flex-1 space-y-2\">\n {controls}\n {error && (\n <FormMessage id={errorId} intent=\"error\">\n {error}\n </FormMessage>\n )}\n </div>\n </div>\n );\n }\n\n return (\n <div className={cx(\"space-y-2\", className)}>\n {labelNode}\n {description && (\n <FormDescription id={descriptionId}>{description}</FormDescription>\n )}\n <div className=\"space-y-2\">\n {controls}\n {error && (\n <FormMessage id={errorId} intent=\"error\">\n {error}\n </FormMessage>\n )}\n </div>\n </div>\n );\n};\n\nexport const FormActions = ({\n children,\n align = \"end\",\n className = \"\",\n}: FormActionsProps) => (\n <div\n className={cx(\"flex flex-wrap gap-3\", actionsAlignMap[align], className)}\n >\n {children}\n </div>\n);\n\nexport const InputGroup = ({\n columns = 2,\n children,\n className = \"\",\n}: InputGroupProps) => (\n <div className={cx(\"grid gap-4\", inputGroupMap[columns], className)}>\n {children}\n </div>\n);\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- require("./chunk-B_GkZjkl.cjs");
2
- const require_utils = require("./utils-LRbEQHYs.cjs");
1
+ const require_utils = require("./utils-CoA0q63n.cjs");
3
2
  let react = require("react");
4
3
  let react_jsx_runtime = require("react/jsx-runtime");
5
4
  let framer_motion = require("framer-motion");
@@ -62,4 +61,4 @@ Object.defineProperty(exports, "GradualBlur", {
62
61
  }
63
62
  });
64
63
 
65
- //# sourceMappingURL=gradual-blur-C6NOnjTw.cjs.map
64
+ //# sourceMappingURL=gradual-blur-BBLbpXD4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"gradual-blur-C6NOnjTw.cjs","names":[],"sources":["../../src/components/effects/gradual-blur/GradualBlur.tsx"],"sourcesContent":["import { useRef, type ComponentType } from \"react\";\nimport { motion, type HTMLMotionProps } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { GradualBlurProps } from \"./types\";\n\nexport const GradualBlur = ({\n children,\n duration = 0.5,\n delay = 0,\n blur = 8,\n triggerOnView = true,\n triggerOnce = true,\n threshold = 0.05,\n visible = false,\n direction = \"none\",\n distance = 20,\n className,\n as = \"div\",\n}: GradualBlurProps) => {\n const ref = useRef<HTMLDivElement>(null);\n\n const getInitialPosition = () => {\n switch (direction) {\n case \"top\":\n return { y: -distance };\n case \"bottom\":\n return { y: distance };\n case \"left\":\n return { x: -distance };\n case \"right\":\n return { x: distance };\n default:\n return { x: 0, y: 0 };\n }\n };\n\n const initialPosition = getInitialPosition();\n\n const variants = {\n hidden: {\n opacity: 0,\n filter: `blur(${blur}px)`,\n ...initialPosition,\n },\n visible: {\n opacity: 1,\n filter: \"blur(0px)\",\n x: 0,\n y: 0,\n },\n };\n\n const MotionComponent = motion.create(as as string) as ComponentType<\n HTMLMotionProps<\"div\">\n >;\n\n return (\n <MotionComponent\n ref={ref}\n variants={variants}\n initial=\"hidden\"\n animate={!triggerOnView ? (visible ? \"visible\" : \"hidden\") : undefined}\n whileInView={triggerOnView ? \"visible\" : undefined}\n viewport={{\n once: triggerOnce,\n amount: threshold,\n margin: \"0px 0px -50px 0px\", // Slight bottom margin to trigger earlier\n }}\n transition={{\n duration,\n delay,\n ease: \"easeOut\",\n filter: { duration: duration },\n opacity: { duration: duration },\n }}\n className={mergeClassNames(\"relative\", className)}\n >\n {children}\n </MotionComponent>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAa,eAAe,EAC1B,UACA,WAAW,IACX,QAAQ,GACR,OAAO,GACP,gBAAgB,MAChB,cAAc,MACd,YAAY,KACZ,UAAU,OACV,YAAY,QACZ,WAAW,IACX,WACA,KAAK,YACiB;CACtB,MAAM,OAAA,GAAA,MAAA,QAA6B,KAAK;CAExC,MAAM,2BAA2B;AAC/B,UAAQ,WAAR;GACE,KAAK,MACH,QAAO,EAAE,GAAG,CAAC,UAAU;GACzB,KAAK,SACH,QAAO,EAAE,GAAG,UAAU;GACxB,KAAK,OACH,QAAO,EAAE,GAAG,CAAC,UAAU;GACzB,KAAK,QACH,QAAO,EAAE,GAAG,UAAU;GACxB,QACE,QAAO;IAAE,GAAG;IAAG,GAAG;IAAG;;;CAI3B,MAAM,kBAAkB,oBAAoB;CAE5C,MAAM,WAAW;EACf,QAAQ;GACN,SAAS;GACT,QAAQ,QAAQ,KAAK;GACrB,GAAG;GACJ;EACD,SAAS;GACP,SAAS;GACT,QAAQ;GACR,GAAG;GACH,GAAG;GACJ;EACF;AAMD,QACE,iBAAA,GAAA,kBAAA,KALsB,cAAA,OAAO,OAAO,GAKnC,EAAD;EACO;EACK;EACV,SAAQ;EACR,SAAS,CAAC,gBAAiB,UAAU,YAAY,WAAY,KAAA;EAC7D,aAAa,gBAAgB,YAAY,KAAA;EACzC,UAAU;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,YAAY;GACV;GACA;GACA,MAAM;GACN,QAAQ,EAAY,UAAU;GAC9B,SAAS,EAAY,UAAU;GAChC;EACD,WAAW,cAAA,gBAAgB,YAAY,UAAU;EAEhD;EACe,CAAA"}
1
+ {"version":3,"file":"gradual-blur-BBLbpXD4.cjs","names":[],"sources":["../../src/components/effects/gradual-blur/GradualBlur.tsx"],"sourcesContent":["import { useRef, type ComponentType } from \"react\";\nimport { motion, type HTMLMotionProps } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { GradualBlurProps } from \"./types\";\n\nexport const GradualBlur = ({\n children,\n duration = 0.5,\n delay = 0,\n blur = 8,\n triggerOnView = true,\n triggerOnce = true,\n threshold = 0.05,\n visible = false,\n direction = \"none\",\n distance = 20,\n className,\n as = \"div\",\n}: GradualBlurProps) => {\n const ref = useRef<HTMLDivElement>(null);\n\n const getInitialPosition = () => {\n switch (direction) {\n case \"top\":\n return { y: -distance };\n case \"bottom\":\n return { y: distance };\n case \"left\":\n return { x: -distance };\n case \"right\":\n return { x: distance };\n default:\n return { x: 0, y: 0 };\n }\n };\n\n const initialPosition = getInitialPosition();\n\n const variants = {\n hidden: {\n opacity: 0,\n filter: `blur(${blur}px)`,\n ...initialPosition,\n },\n visible: {\n opacity: 1,\n filter: \"blur(0px)\",\n x: 0,\n y: 0,\n },\n };\n\n const MotionComponent = motion.create(as as string) as ComponentType<\n HTMLMotionProps<\"div\">\n >;\n\n return (\n <MotionComponent\n ref={ref}\n variants={variants}\n initial=\"hidden\"\n animate={!triggerOnView ? (visible ? \"visible\" : \"hidden\") : undefined}\n whileInView={triggerOnView ? \"visible\" : undefined}\n viewport={{\n once: triggerOnce,\n amount: threshold,\n margin: \"0px 0px -50px 0px\", // Slight bottom margin to trigger earlier\n }}\n transition={{\n duration,\n delay,\n ease: \"easeOut\",\n filter: { duration: duration },\n opacity: { duration: duration },\n }}\n className={mergeClassNames(\"relative\", className)}\n >\n {children}\n </MotionComponent>\n );\n};\n"],"mappings":";;;;;AAKA,IAAa,eAAe,EAC1B,UACA,WAAW,IACX,QAAQ,GACR,OAAO,GACP,gBAAgB,MAChB,cAAc,MACd,YAAY,KACZ,UAAU,OACV,YAAY,QACZ,WAAW,IACX,WACA,KAAK,YACiB;CACtB,MAAM,OAAA,GAAA,MAAA,QAA6B,IAAI;CAEvC,MAAM,2BAA2B;EAC/B,QAAQ,WAAR;GACE,KAAK,OACH,OAAO,EAAE,GAAG,CAAC,SAAS;GACxB,KAAK,UACH,OAAO,EAAE,GAAG,SAAS;GACvB,KAAK,QACH,OAAO,EAAE,GAAG,CAAC,SAAS;GACxB,KAAK,SACH,OAAO,EAAE,GAAG,SAAS;GACvB,SACE,OAAO;IAAE,GAAG;IAAG,GAAG;GAAE;EACxB;CACF;CAEA,MAAM,kBAAkB,mBAAmB;CAE3C,MAAM,WAAW;EACf,QAAQ;GACN,SAAS;GACT,QAAQ,QAAQ,KAAK;GACrB,GAAG;EACL;EACA,SAAS;GACP,SAAS;GACT,QAAQ;GACR,GAAG;GACH,GAAG;EACL;CACF;CAMA,OACE,iBAAA,GAAA,kBAAA,KALsB,cAAA,OAAO,OAAO,EAKnC,GAAD;EACO;EACK;EACV,SAAQ;EACR,SAAS,CAAC,gBAAiB,UAAU,YAAY,WAAY,KAAA;EAC7D,aAAa,gBAAgB,YAAY,KAAA;EACzC,UAAU;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,YAAY;GACV;GACA;GACA,MAAM;GACN,QAAQ,EAAY,SAAS;GAC7B,SAAS,EAAY,SAAS;EAChC;EACA,WAAW,cAAA,gBAAgB,YAAY,SAAS;EAE/C;CACc,CAAA;AAErB"}
@@ -1,4 +1,4 @@
1
- import { n as mergeClassNames } from "./utils-7S0u48mU.mjs";
1
+ import { n as mergeClassNames } from "./utils-Dc7j29ec.mjs";
2
2
  import { useRef } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { motion } from "framer-motion";
@@ -56,4 +56,4 @@ var GradualBlur = ({ children, duration = .5, delay = 0, blur = 8, triggerOnView
56
56
  //#endregion
57
57
  export { GradualBlur as t };
58
58
 
59
- //# sourceMappingURL=gradual-blur-DXfxpCdB.mjs.map
59
+ //# sourceMappingURL=gradual-blur-BPx2MSWI.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"gradual-blur-DXfxpCdB.mjs","names":[],"sources":["../../src/components/effects/gradual-blur/GradualBlur.tsx"],"sourcesContent":["import { useRef, type ComponentType } from \"react\";\nimport { motion, type HTMLMotionProps } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { GradualBlurProps } from \"./types\";\n\nexport const GradualBlur = ({\n children,\n duration = 0.5,\n delay = 0,\n blur = 8,\n triggerOnView = true,\n triggerOnce = true,\n threshold = 0.05,\n visible = false,\n direction = \"none\",\n distance = 20,\n className,\n as = \"div\",\n}: GradualBlurProps) => {\n const ref = useRef<HTMLDivElement>(null);\n\n const getInitialPosition = () => {\n switch (direction) {\n case \"top\":\n return { y: -distance };\n case \"bottom\":\n return { y: distance };\n case \"left\":\n return { x: -distance };\n case \"right\":\n return { x: distance };\n default:\n return { x: 0, y: 0 };\n }\n };\n\n const initialPosition = getInitialPosition();\n\n const variants = {\n hidden: {\n opacity: 0,\n filter: `blur(${blur}px)`,\n ...initialPosition,\n },\n visible: {\n opacity: 1,\n filter: \"blur(0px)\",\n x: 0,\n y: 0,\n },\n };\n\n const MotionComponent = motion.create(as as string) as ComponentType<\n HTMLMotionProps<\"div\">\n >;\n\n return (\n <MotionComponent\n ref={ref}\n variants={variants}\n initial=\"hidden\"\n animate={!triggerOnView ? (visible ? \"visible\" : \"hidden\") : undefined}\n whileInView={triggerOnView ? \"visible\" : undefined}\n viewport={{\n once: triggerOnce,\n amount: threshold,\n margin: \"0px 0px -50px 0px\", // Slight bottom margin to trigger earlier\n }}\n transition={{\n duration,\n delay,\n ease: \"easeOut\",\n filter: { duration: duration },\n opacity: { duration: duration },\n }}\n className={mergeClassNames(\"relative\", className)}\n >\n {children}\n </MotionComponent>\n );\n};\n"],"mappings":";;;;;AAKA,IAAa,eAAe,EAC1B,UACA,WAAW,IACX,QAAQ,GACR,OAAO,GACP,gBAAgB,MAChB,cAAc,MACd,YAAY,KACZ,UAAU,OACV,YAAY,QACZ,WAAW,IACX,WACA,KAAK,YACiB;CACtB,MAAM,MAAM,OAAuB,KAAK;CAExC,MAAM,2BAA2B;AAC/B,UAAQ,WAAR;GACE,KAAK,MACH,QAAO,EAAE,GAAG,CAAC,UAAU;GACzB,KAAK,SACH,QAAO,EAAE,GAAG,UAAU;GACxB,KAAK,OACH,QAAO,EAAE,GAAG,CAAC,UAAU;GACzB,KAAK,QACH,QAAO,EAAE,GAAG,UAAU;GACxB,QACE,QAAO;IAAE,GAAG;IAAG,GAAG;IAAG;;;CAI3B,MAAM,kBAAkB,oBAAoB;CAE5C,MAAM,WAAW;EACf,QAAQ;GACN,SAAS;GACT,QAAQ,QAAQ,KAAK;GACrB,GAAG;GACJ;EACD,SAAS;GACP,SAAS;GACT,QAAQ;GACR,GAAG;GACH,GAAG;GACJ;EACF;AAMD,QACE,oBALsB,OAAO,OAAO,GAKnC,EAAD;EACO;EACK;EACV,SAAQ;EACR,SAAS,CAAC,gBAAiB,UAAU,YAAY,WAAY,KAAA;EAC7D,aAAa,gBAAgB,YAAY,KAAA;EACzC,UAAU;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,YAAY;GACV;GACA;GACA,MAAM;GACN,QAAQ,EAAY,UAAU;GAC9B,SAAS,EAAY,UAAU;GAChC;EACD,WAAW,gBAAgB,YAAY,UAAU;EAEhD;EACe,CAAA"}
1
+ {"version":3,"file":"gradual-blur-BPx2MSWI.mjs","names":[],"sources":["../../src/components/effects/gradual-blur/GradualBlur.tsx"],"sourcesContent":["import { useRef, type ComponentType } from \"react\";\nimport { motion, type HTMLMotionProps } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { GradualBlurProps } from \"./types\";\n\nexport const GradualBlur = ({\n children,\n duration = 0.5,\n delay = 0,\n blur = 8,\n triggerOnView = true,\n triggerOnce = true,\n threshold = 0.05,\n visible = false,\n direction = \"none\",\n distance = 20,\n className,\n as = \"div\",\n}: GradualBlurProps) => {\n const ref = useRef<HTMLDivElement>(null);\n\n const getInitialPosition = () => {\n switch (direction) {\n case \"top\":\n return { y: -distance };\n case \"bottom\":\n return { y: distance };\n case \"left\":\n return { x: -distance };\n case \"right\":\n return { x: distance };\n default:\n return { x: 0, y: 0 };\n }\n };\n\n const initialPosition = getInitialPosition();\n\n const variants = {\n hidden: {\n opacity: 0,\n filter: `blur(${blur}px)`,\n ...initialPosition,\n },\n visible: {\n opacity: 1,\n filter: \"blur(0px)\",\n x: 0,\n y: 0,\n },\n };\n\n const MotionComponent = motion.create(as as string) as ComponentType<\n HTMLMotionProps<\"div\">\n >;\n\n return (\n <MotionComponent\n ref={ref}\n variants={variants}\n initial=\"hidden\"\n animate={!triggerOnView ? (visible ? \"visible\" : \"hidden\") : undefined}\n whileInView={triggerOnView ? \"visible\" : undefined}\n viewport={{\n once: triggerOnce,\n amount: threshold,\n margin: \"0px 0px -50px 0px\", // Slight bottom margin to trigger earlier\n }}\n transition={{\n duration,\n delay,\n ease: \"easeOut\",\n filter: { duration: duration },\n opacity: { duration: duration },\n }}\n className={mergeClassNames(\"relative\", className)}\n >\n {children}\n </MotionComponent>\n );\n};\n"],"mappings":";;;;;AAKA,IAAa,eAAe,EAC1B,UACA,WAAW,IACX,QAAQ,GACR,OAAO,GACP,gBAAgB,MAChB,cAAc,MACd,YAAY,KACZ,UAAU,OACV,YAAY,QACZ,WAAW,IACX,WACA,KAAK,YACiB;CACtB,MAAM,MAAM,OAAuB,IAAI;CAEvC,MAAM,2BAA2B;EAC/B,QAAQ,WAAR;GACE,KAAK,OACH,OAAO,EAAE,GAAG,CAAC,SAAS;GACxB,KAAK,UACH,OAAO,EAAE,GAAG,SAAS;GACvB,KAAK,QACH,OAAO,EAAE,GAAG,CAAC,SAAS;GACxB,KAAK,SACH,OAAO,EAAE,GAAG,SAAS;GACvB,SACE,OAAO;IAAE,GAAG;IAAG,GAAG;GAAE;EACxB;CACF;CAEA,MAAM,kBAAkB,mBAAmB;CAE3C,MAAM,WAAW;EACf,QAAQ;GACN,SAAS;GACT,QAAQ,QAAQ,KAAK;GACrB,GAAG;EACL;EACA,SAAS;GACP,SAAS;GACT,QAAQ;GACR,GAAG;GACH,GAAG;EACL;CACF;CAMA,OACE,oBALsB,OAAO,OAAO,EAKnC,GAAD;EACO;EACK;EACV,SAAQ;EACR,SAAS,CAAC,gBAAiB,UAAU,YAAY,WAAY,KAAA;EAC7D,aAAa,gBAAgB,YAAY,KAAA;EACzC,UAAU;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,YAAY;GACV;GACA;GACA,MAAM;GACN,QAAQ,EAAY,SAAS;GAC7B,SAAS,EAAY,SAAS;EAChC;EACA,WAAW,gBAAgB,YAAY,SAAS;EAE/C;CACc,CAAA;AAErB"}
@@ -181,4 +181,4 @@ HoverCard.displayName = "HoverCard";
181
181
  //#endregion
182
182
  export { HoverCard as t };
183
183
 
184
- //# sourceMappingURL=hover-card-C88rU-nW.mjs.map
184
+ //# sourceMappingURL=hover-card-BkVHGXz6.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card-C88rU-nW.mjs","names":[],"sources":["../../src/components/overlays/hover-card/HoverCard.tsx"],"sourcesContent":["import { forwardRef, useState, useCallback, useRef, useEffect } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\n\nexport type HoverCardPosition = \"top\" | \"bottom\" | \"left\" | \"right\";\nexport type HoverCardAlign = \"start\" | \"center\" | \"end\";\n\nexport interface HoverCardProps {\n /** The trigger element */\n children: React.ReactNode;\n /** The content to display in the hover card */\n content: React.ReactNode;\n /** Position of the hover card relative to trigger */\n position?: HoverCardPosition;\n /** Alignment of the hover card */\n align?: HoverCardAlign;\n /** Delay before showing the card (ms) */\n openDelay?: number;\n /** Delay before hiding the card (ms) */\n closeDelay?: number;\n /** Whether the hover card is disabled */\n disabled?: boolean;\n /** Custom className for the card */\n className?: string;\n /** Custom className for the trigger wrapper */\n triggerClassName?: string;\n /** Whether to show an arrow */\n arrow?: boolean;\n /** Custom width for the card */\n width?: number | string;\n /** Max width for the card */\n maxWidth?: number | string;\n}\n\nconst positionStyles: Record<\n HoverCardPosition,\n Record<HoverCardAlign, string>\n> = {\n top: {\n start: \"bottom-full left-0 mb-2\",\n center: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n end: \"bottom-full right-0 mb-2\",\n },\n bottom: {\n start: \"top-full left-0 mt-2\",\n center: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n end: \"top-full right-0 mt-2\",\n },\n left: {\n start: \"right-full top-0 mr-2\",\n center: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n end: \"right-full bottom-0 mr-2\",\n },\n right: {\n start: \"left-full top-0 ml-2\",\n center: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n end: \"left-full bottom-0 ml-2\",\n },\n};\n\nconst arrowStyles: Record<HoverCardPosition, string> = {\n top: \"bottom-[-6px] left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-b-transparent border-t-ds-surface-1\",\n bottom:\n \"top-[-6px] left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-t-transparent border-b-ds-surface-1\",\n left: \"right-[-6px] top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-r-transparent border-l-ds-surface-1\",\n right:\n \"left-[-6px] top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-l-transparent border-r-ds-surface-1\",\n};\n\nconst motionVariants = {\n top: {\n initial: { opacity: 0, y: 5, scale: 0.98 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: 5, scale: 0.98 },\n },\n bottom: {\n initial: { opacity: 0, y: -5, scale: 0.98 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: -5, scale: 0.98 },\n },\n left: {\n initial: { opacity: 0, x: 5, scale: 0.98 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: 5, scale: 0.98 },\n },\n right: {\n initial: { opacity: 0, x: -5, scale: 0.98 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: -5, scale: 0.98 },\n },\n} as const;\n\nconst HoverCard = forwardRef<HTMLDivElement, HoverCardProps>(\n (\n {\n children,\n content,\n position = \"bottom\",\n align = \"center\",\n openDelay = 200,\n closeDelay = 150,\n disabled = false,\n className = \"\",\n triggerClassName = \"\",\n arrow = true,\n width,\n maxWidth = 320,\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const openTimeoutRef = useRef<any>(null);\n const closeTimeoutRef = useRef<any>(null);\n\n const clearTimeouts = useCallback(() => {\n if (openTimeoutRef.current) {\n clearTimeout(openTimeoutRef.current);\n openTimeoutRef.current = null;\n }\n if (closeTimeoutRef.current) {\n clearTimeout(closeTimeoutRef.current);\n closeTimeoutRef.current = null;\n }\n }, []);\n\n const handleMouseEnter = useCallback(() => {\n if (disabled) return;\n clearTimeouts();\n openTimeoutRef.current = setTimeout(() => {\n setIsOpen(true);\n }, openDelay);\n }, [disabled, openDelay, clearTimeouts]);\n\n const handleMouseLeave = useCallback(() => {\n clearTimeouts();\n closeTimeoutRef.current = setTimeout(() => {\n setIsOpen(false);\n }, closeDelay);\n }, [closeDelay, clearTimeouts]);\n\n useEffect(() => {\n return () => clearTimeouts();\n }, [clearTimeouts]);\n\n const resolvedWidth = width\n ? typeof width === \"number\"\n ? `${width}px`\n : width\n : \"max-content\";\n\n const resolvedMaxWidth =\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth;\n\n const cardContainerStyle: React.CSSProperties = {\n width: resolvedWidth,\n maxWidth: resolvedMaxWidth\n ? `min(calc(100vw - 2rem), ${resolvedMaxWidth})`\n : \"calc(100vw - 2rem)\",\n };\n\n const cardStyle: React.CSSProperties = {\n width: width\n ? typeof width === \"number\"\n ? `${width}px`\n : width\n : \"100%\",\n };\n\n return (\n <div\n ref={ref}\n className={`relative inline-block ${triggerClassName}`}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {children}\n <AnimatePresence>\n {isOpen && (\n <motion.div\n className={`\n absolute z-50\n ${positionStyles[position][align]}\n `}\n style={cardContainerStyle}\n initial={motionVariants[position].initial}\n animate={motionVariants[position].animate}\n exit={motionVariants[position].exit}\n transition={{ duration: 0.15, ease: \"easeOut\" }}\n >\n <div\n className={`\n w-full\n bg-ds-surface-1/95\n backdrop-blur-xl\n rounded-xl border border-ds-border-2 shadow-2xl\n p-4\n ${className}\n `}\n style={cardStyle}\n >\n {content}\n </div>\n {arrow && (\n <span\n className={`\n absolute w-0 h-0 border-[6px]\n ${arrowStyles[position]}\n `}\n />\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n },\n);\n\nHoverCard.displayName = \"HoverCard\";\n\nexport default HoverCard;\nexport { HoverCard };\n"],"mappings":"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"}
1
+ {"version":3,"file":"hover-card-BkVHGXz6.mjs","names":[],"sources":["../../src/components/overlays/hover-card/HoverCard.tsx"],"sourcesContent":["import { forwardRef, useState, useCallback, useRef, useEffect } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\n\nexport type HoverCardPosition = \"top\" | \"bottom\" | \"left\" | \"right\";\nexport type HoverCardAlign = \"start\" | \"center\" | \"end\";\n\nexport interface HoverCardProps {\n /** The trigger element */\n children: React.ReactNode;\n /** The content to display in the hover card */\n content: React.ReactNode;\n /** Position of the hover card relative to trigger */\n position?: HoverCardPosition;\n /** Alignment of the hover card */\n align?: HoverCardAlign;\n /** Delay before showing the card (ms) */\n openDelay?: number;\n /** Delay before hiding the card (ms) */\n closeDelay?: number;\n /** Whether the hover card is disabled */\n disabled?: boolean;\n /** Custom className for the card */\n className?: string;\n /** Custom className for the trigger wrapper */\n triggerClassName?: string;\n /** Whether to show an arrow */\n arrow?: boolean;\n /** Custom width for the card */\n width?: number | string;\n /** Max width for the card */\n maxWidth?: number | string;\n}\n\nconst positionStyles: Record<\n HoverCardPosition,\n Record<HoverCardAlign, string>\n> = {\n top: {\n start: \"bottom-full left-0 mb-2\",\n center: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n end: \"bottom-full right-0 mb-2\",\n },\n bottom: {\n start: \"top-full left-0 mt-2\",\n center: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n end: \"top-full right-0 mt-2\",\n },\n left: {\n start: \"right-full top-0 mr-2\",\n center: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n end: \"right-full bottom-0 mr-2\",\n },\n right: {\n start: \"left-full top-0 ml-2\",\n center: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n end: \"left-full bottom-0 ml-2\",\n },\n};\n\nconst arrowStyles: Record<HoverCardPosition, string> = {\n top: \"bottom-[-6px] left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-b-transparent border-t-ds-surface-1\",\n bottom:\n \"top-[-6px] left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-t-transparent border-b-ds-surface-1\",\n left: \"right-[-6px] top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-r-transparent border-l-ds-surface-1\",\n right:\n \"left-[-6px] top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-l-transparent border-r-ds-surface-1\",\n};\n\nconst motionVariants = {\n top: {\n initial: { opacity: 0, y: 5, scale: 0.98 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: 5, scale: 0.98 },\n },\n bottom: {\n initial: { opacity: 0, y: -5, scale: 0.98 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: -5, scale: 0.98 },\n },\n left: {\n initial: { opacity: 0, x: 5, scale: 0.98 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: 5, scale: 0.98 },\n },\n right: {\n initial: { opacity: 0, x: -5, scale: 0.98 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: -5, scale: 0.98 },\n },\n} as const;\n\nconst HoverCard = forwardRef<HTMLDivElement, HoverCardProps>(\n (\n {\n children,\n content,\n position = \"bottom\",\n align = \"center\",\n openDelay = 200,\n closeDelay = 150,\n disabled = false,\n className = \"\",\n triggerClassName = \"\",\n arrow = true,\n width,\n maxWidth = 320,\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const openTimeoutRef = useRef<any>(null);\n const closeTimeoutRef = useRef<any>(null);\n\n const clearTimeouts = useCallback(() => {\n if (openTimeoutRef.current) {\n clearTimeout(openTimeoutRef.current);\n openTimeoutRef.current = null;\n }\n if (closeTimeoutRef.current) {\n clearTimeout(closeTimeoutRef.current);\n closeTimeoutRef.current = null;\n }\n }, []);\n\n const handleMouseEnter = useCallback(() => {\n if (disabled) return;\n clearTimeouts();\n openTimeoutRef.current = setTimeout(() => {\n setIsOpen(true);\n }, openDelay);\n }, [disabled, openDelay, clearTimeouts]);\n\n const handleMouseLeave = useCallback(() => {\n clearTimeouts();\n closeTimeoutRef.current = setTimeout(() => {\n setIsOpen(false);\n }, closeDelay);\n }, [closeDelay, clearTimeouts]);\n\n useEffect(() => {\n return () => clearTimeouts();\n }, [clearTimeouts]);\n\n const resolvedWidth = width\n ? typeof width === \"number\"\n ? `${width}px`\n : width\n : \"max-content\";\n\n const resolvedMaxWidth =\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth;\n\n const cardContainerStyle: React.CSSProperties = {\n width: resolvedWidth,\n maxWidth: resolvedMaxWidth\n ? `min(calc(100vw - 2rem), ${resolvedMaxWidth})`\n : \"calc(100vw - 2rem)\",\n };\n\n const cardStyle: React.CSSProperties = {\n width: width\n ? typeof width === \"number\"\n ? `${width}px`\n : width\n : \"100%\",\n };\n\n return (\n <div\n ref={ref}\n className={`relative inline-block ${triggerClassName}`}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {children}\n <AnimatePresence>\n {isOpen && (\n <motion.div\n className={`\n absolute z-50\n ${positionStyles[position][align]}\n `}\n style={cardContainerStyle}\n initial={motionVariants[position].initial}\n animate={motionVariants[position].animate}\n exit={motionVariants[position].exit}\n transition={{ duration: 0.15, ease: \"easeOut\" }}\n >\n <div\n className={`\n w-full\n bg-ds-surface-1/95\n backdrop-blur-xl\n rounded-xl border border-ds-border-2 shadow-2xl\n p-4\n ${className}\n `}\n style={cardStyle}\n >\n {content}\n </div>\n {arrow && (\n <span\n className={`\n absolute w-0 h-0 border-[6px]\n ${arrowStyles[position]}\n `}\n />\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n },\n);\n\nHoverCard.displayName = \"HoverCard\";\n\nexport default HoverCard;\nexport { HoverCard };\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- require("./chunk-B_GkZjkl.cjs");
2
1
  let react = require("react");
3
2
  let react_jsx_runtime = require("react/jsx-runtime");
4
3
  let framer_motion = require("framer-motion");
@@ -187,4 +186,4 @@ Object.defineProperty(exports, "HoverCard", {
187
186
  }
188
187
  });
189
188
 
190
- //# sourceMappingURL=hover-card--rplmsA_.cjs.map
189
+ //# sourceMappingURL=hover-card-DwZFtu8w.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card--rplmsA_.cjs","names":[],"sources":["../../src/components/overlays/hover-card/HoverCard.tsx"],"sourcesContent":["import { forwardRef, useState, useCallback, useRef, useEffect } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\n\nexport type HoverCardPosition = \"top\" | \"bottom\" | \"left\" | \"right\";\nexport type HoverCardAlign = \"start\" | \"center\" | \"end\";\n\nexport interface HoverCardProps {\n /** The trigger element */\n children: React.ReactNode;\n /** The content to display in the hover card */\n content: React.ReactNode;\n /** Position of the hover card relative to trigger */\n position?: HoverCardPosition;\n /** Alignment of the hover card */\n align?: HoverCardAlign;\n /** Delay before showing the card (ms) */\n openDelay?: number;\n /** Delay before hiding the card (ms) */\n closeDelay?: number;\n /** Whether the hover card is disabled */\n disabled?: boolean;\n /** Custom className for the card */\n className?: string;\n /** Custom className for the trigger wrapper */\n triggerClassName?: string;\n /** Whether to show an arrow */\n arrow?: boolean;\n /** Custom width for the card */\n width?: number | string;\n /** Max width for the card */\n maxWidth?: number | string;\n}\n\nconst positionStyles: Record<\n HoverCardPosition,\n Record<HoverCardAlign, string>\n> = {\n top: {\n start: \"bottom-full left-0 mb-2\",\n center: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n end: \"bottom-full right-0 mb-2\",\n },\n bottom: {\n start: \"top-full left-0 mt-2\",\n center: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n end: \"top-full right-0 mt-2\",\n },\n left: {\n start: \"right-full top-0 mr-2\",\n center: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n end: \"right-full bottom-0 mr-2\",\n },\n right: {\n start: \"left-full top-0 ml-2\",\n center: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n end: \"left-full bottom-0 ml-2\",\n },\n};\n\nconst arrowStyles: Record<HoverCardPosition, string> = {\n top: \"bottom-[-6px] left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-b-transparent border-t-ds-surface-1\",\n bottom:\n \"top-[-6px] left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-t-transparent border-b-ds-surface-1\",\n left: \"right-[-6px] top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-r-transparent border-l-ds-surface-1\",\n right:\n \"left-[-6px] top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-l-transparent border-r-ds-surface-1\",\n};\n\nconst motionVariants = {\n top: {\n initial: { opacity: 0, y: 5, scale: 0.98 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: 5, scale: 0.98 },\n },\n bottom: {\n initial: { opacity: 0, y: -5, scale: 0.98 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: -5, scale: 0.98 },\n },\n left: {\n initial: { opacity: 0, x: 5, scale: 0.98 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: 5, scale: 0.98 },\n },\n right: {\n initial: { opacity: 0, x: -5, scale: 0.98 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: -5, scale: 0.98 },\n },\n} as const;\n\nconst HoverCard = forwardRef<HTMLDivElement, HoverCardProps>(\n (\n {\n children,\n content,\n position = \"bottom\",\n align = \"center\",\n openDelay = 200,\n closeDelay = 150,\n disabled = false,\n className = \"\",\n triggerClassName = \"\",\n arrow = true,\n width,\n maxWidth = 320,\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const openTimeoutRef = useRef<any>(null);\n const closeTimeoutRef = useRef<any>(null);\n\n const clearTimeouts = useCallback(() => {\n if (openTimeoutRef.current) {\n clearTimeout(openTimeoutRef.current);\n openTimeoutRef.current = null;\n }\n if (closeTimeoutRef.current) {\n clearTimeout(closeTimeoutRef.current);\n closeTimeoutRef.current = null;\n }\n }, []);\n\n const handleMouseEnter = useCallback(() => {\n if (disabled) return;\n clearTimeouts();\n openTimeoutRef.current = setTimeout(() => {\n setIsOpen(true);\n }, openDelay);\n }, [disabled, openDelay, clearTimeouts]);\n\n const handleMouseLeave = useCallback(() => {\n clearTimeouts();\n closeTimeoutRef.current = setTimeout(() => {\n setIsOpen(false);\n }, closeDelay);\n }, [closeDelay, clearTimeouts]);\n\n useEffect(() => {\n return () => clearTimeouts();\n }, [clearTimeouts]);\n\n const resolvedWidth = width\n ? typeof width === \"number\"\n ? `${width}px`\n : width\n : \"max-content\";\n\n const resolvedMaxWidth =\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth;\n\n const cardContainerStyle: React.CSSProperties = {\n width: resolvedWidth,\n maxWidth: resolvedMaxWidth\n ? `min(calc(100vw - 2rem), ${resolvedMaxWidth})`\n : \"calc(100vw - 2rem)\",\n };\n\n const cardStyle: React.CSSProperties = {\n width: width\n ? typeof width === \"number\"\n ? `${width}px`\n : width\n : \"100%\",\n };\n\n return (\n <div\n ref={ref}\n className={`relative inline-block ${triggerClassName}`}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {children}\n <AnimatePresence>\n {isOpen && (\n <motion.div\n className={`\n absolute z-50\n ${positionStyles[position][align]}\n `}\n style={cardContainerStyle}\n initial={motionVariants[position].initial}\n animate={motionVariants[position].animate}\n exit={motionVariants[position].exit}\n transition={{ duration: 0.15, ease: \"easeOut\" }}\n >\n <div\n className={`\n w-full\n bg-ds-surface-1/95\n backdrop-blur-xl\n rounded-xl border border-ds-border-2 shadow-2xl\n p-4\n ${className}\n `}\n style={cardStyle}\n >\n {content}\n </div>\n {arrow && (\n <span\n className={`\n absolute w-0 h-0 border-[6px]\n ${arrowStyles[position]}\n `}\n />\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n },\n);\n\nHoverCard.displayName = \"HoverCard\";\n\nexport default HoverCard;\nexport { HoverCard };\n"],"mappings":"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"}
1
+ {"version":3,"file":"hover-card-DwZFtu8w.cjs","names":[],"sources":["../../src/components/overlays/hover-card/HoverCard.tsx"],"sourcesContent":["import { forwardRef, useState, useCallback, useRef, useEffect } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\n\nexport type HoverCardPosition = \"top\" | \"bottom\" | \"left\" | \"right\";\nexport type HoverCardAlign = \"start\" | \"center\" | \"end\";\n\nexport interface HoverCardProps {\n /** The trigger element */\n children: React.ReactNode;\n /** The content to display in the hover card */\n content: React.ReactNode;\n /** Position of the hover card relative to trigger */\n position?: HoverCardPosition;\n /** Alignment of the hover card */\n align?: HoverCardAlign;\n /** Delay before showing the card (ms) */\n openDelay?: number;\n /** Delay before hiding the card (ms) */\n closeDelay?: number;\n /** Whether the hover card is disabled */\n disabled?: boolean;\n /** Custom className for the card */\n className?: string;\n /** Custom className for the trigger wrapper */\n triggerClassName?: string;\n /** Whether to show an arrow */\n arrow?: boolean;\n /** Custom width for the card */\n width?: number | string;\n /** Max width for the card */\n maxWidth?: number | string;\n}\n\nconst positionStyles: Record<\n HoverCardPosition,\n Record<HoverCardAlign, string>\n> = {\n top: {\n start: \"bottom-full left-0 mb-2\",\n center: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n end: \"bottom-full right-0 mb-2\",\n },\n bottom: {\n start: \"top-full left-0 mt-2\",\n center: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n end: \"top-full right-0 mt-2\",\n },\n left: {\n start: \"right-full top-0 mr-2\",\n center: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n end: \"right-full bottom-0 mr-2\",\n },\n right: {\n start: \"left-full top-0 ml-2\",\n center: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n end: \"left-full bottom-0 ml-2\",\n },\n};\n\nconst arrowStyles: Record<HoverCardPosition, string> = {\n top: \"bottom-[-6px] left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-b-transparent border-t-ds-surface-1\",\n bottom:\n \"top-[-6px] left-1/2 -translate-x-1/2 border-l-transparent border-r-transparent border-t-transparent border-b-ds-surface-1\",\n left: \"right-[-6px] top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-r-transparent border-l-ds-surface-1\",\n right:\n \"left-[-6px] top-1/2 -translate-y-1/2 border-t-transparent border-b-transparent border-l-transparent border-r-ds-surface-1\",\n};\n\nconst motionVariants = {\n top: {\n initial: { opacity: 0, y: 5, scale: 0.98 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: 5, scale: 0.98 },\n },\n bottom: {\n initial: { opacity: 0, y: -5, scale: 0.98 },\n animate: { opacity: 1, y: 0, scale: 1 },\n exit: { opacity: 0, y: -5, scale: 0.98 },\n },\n left: {\n initial: { opacity: 0, x: 5, scale: 0.98 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: 5, scale: 0.98 },\n },\n right: {\n initial: { opacity: 0, x: -5, scale: 0.98 },\n animate: { opacity: 1, x: 0, scale: 1 },\n exit: { opacity: 0, x: -5, scale: 0.98 },\n },\n} as const;\n\nconst HoverCard = forwardRef<HTMLDivElement, HoverCardProps>(\n (\n {\n children,\n content,\n position = \"bottom\",\n align = \"center\",\n openDelay = 200,\n closeDelay = 150,\n disabled = false,\n className = \"\",\n triggerClassName = \"\",\n arrow = true,\n width,\n maxWidth = 320,\n },\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const openTimeoutRef = useRef<any>(null);\n const closeTimeoutRef = useRef<any>(null);\n\n const clearTimeouts = useCallback(() => {\n if (openTimeoutRef.current) {\n clearTimeout(openTimeoutRef.current);\n openTimeoutRef.current = null;\n }\n if (closeTimeoutRef.current) {\n clearTimeout(closeTimeoutRef.current);\n closeTimeoutRef.current = null;\n }\n }, []);\n\n const handleMouseEnter = useCallback(() => {\n if (disabled) return;\n clearTimeouts();\n openTimeoutRef.current = setTimeout(() => {\n setIsOpen(true);\n }, openDelay);\n }, [disabled, openDelay, clearTimeouts]);\n\n const handleMouseLeave = useCallback(() => {\n clearTimeouts();\n closeTimeoutRef.current = setTimeout(() => {\n setIsOpen(false);\n }, closeDelay);\n }, [closeDelay, clearTimeouts]);\n\n useEffect(() => {\n return () => clearTimeouts();\n }, [clearTimeouts]);\n\n const resolvedWidth = width\n ? typeof width === \"number\"\n ? `${width}px`\n : width\n : \"max-content\";\n\n const resolvedMaxWidth =\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth;\n\n const cardContainerStyle: React.CSSProperties = {\n width: resolvedWidth,\n maxWidth: resolvedMaxWidth\n ? `min(calc(100vw - 2rem), ${resolvedMaxWidth})`\n : \"calc(100vw - 2rem)\",\n };\n\n const cardStyle: React.CSSProperties = {\n width: width\n ? typeof width === \"number\"\n ? `${width}px`\n : width\n : \"100%\",\n };\n\n return (\n <div\n ref={ref}\n className={`relative inline-block ${triggerClassName}`}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {children}\n <AnimatePresence>\n {isOpen && (\n <motion.div\n className={`\n absolute z-50\n ${positionStyles[position][align]}\n `}\n style={cardContainerStyle}\n initial={motionVariants[position].initial}\n animate={motionVariants[position].animate}\n exit={motionVariants[position].exit}\n transition={{ duration: 0.15, ease: \"easeOut\" }}\n >\n <div\n className={`\n w-full\n bg-ds-surface-1/95\n backdrop-blur-xl\n rounded-xl border border-ds-border-2 shadow-2xl\n p-4\n ${className}\n `}\n style={cardStyle}\n >\n {content}\n </div>\n {arrow && (\n <span\n className={`\n absolute w-0 h-0 border-[6px]\n ${arrowStyles[position]}\n `}\n />\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n },\n);\n\nHoverCard.displayName = \"HoverCard\";\n\nexport default HoverCard;\nexport { HoverCard };\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- require("./chunk-B_GkZjkl.cjs");
2
1
  let react_jsx_runtime = require("react/jsx-runtime");
3
2
  //#region src/components/icons/CheckIcon.tsx
4
3
  var CheckIcon = ({ className, title, titleId, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
@@ -1714,4 +1713,4 @@ Object.defineProperty(exports, "ZapIcon", {
1714
1713
  }
1715
1714
  });
1716
1715
 
1717
- //# sourceMappingURL=icons-CRanVZB1.cjs.map
1716
+ //# sourceMappingURL=icons-Ci8yEvvF.cjs.map