erp-pro-ui 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) 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 +14 -0
  22. package/dist/catalog.cjs.map +1 -1
  23. package/dist/catalog.d.ts +25 -1
  24. package/dist/catalog.d.ts.map +1 -1
  25. package/dist/catalog.mjs +14 -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-D07dGN6R.cjs → Drawer-D72Xi2Gq.cjs} +2 -2
  36. package/dist/chunks/{drawer-D07dGN6R.cjs.map → Drawer-D72Xi2Gq.cjs.map} +1 -1
  37. package/dist/chunks/{drawer-DaoAXL-w.mjs → Drawer-Y0_sJni5.mjs} +2 -2
  38. package/dist/chunks/{drawer-DaoAXL-w.mjs.map → Drawer-Y0_sJni5.mjs.map} +1 -1
  39. package/dist/chunks/{DropdownMenu-BtTOri-A.mjs → DropdownMenu-BQ4WlaGp.mjs} +1 -1
  40. package/dist/chunks/{DropdownMenu-BtTOri-A.mjs.map → DropdownMenu-BQ4WlaGp.mjs.map} +1 -1
  41. package/dist/chunks/{DropdownMenu-BDrNYO-D.cjs → DropdownMenu-yh04burS.cjs} +1 -1
  42. package/dist/chunks/{DropdownMenu-BDrNYO-D.cjs.map → DropdownMenu-yh04burS.cjs.map} +1 -1
  43. package/dist/chunks/EllipsisVerticalIcon-BJw3MNkg.cjs +51 -0
  44. package/dist/chunks/EllipsisVerticalIcon-BJw3MNkg.cjs.map +1 -0
  45. package/dist/chunks/EllipsisVerticalIcon-C2b2KMfE.mjs +45 -0
  46. package/dist/chunks/EllipsisVerticalIcon-C2b2KMfE.mjs.map +1 -0
  47. package/dist/chunks/{HoverBorderGradient-NbdXeLgC.mjs → HoverBorderGradient-DEtm3owk.mjs} +1 -1
  48. package/dist/chunks/{HoverBorderGradient-NbdXeLgC.mjs.map → HoverBorderGradient-DEtm3owk.mjs.map} +1 -1
  49. package/dist/chunks/{HoverBorderGradient-9pfvBoHR.cjs → HoverBorderGradient-DMMyr2L3.cjs} +1 -1
  50. package/dist/chunks/{HoverBorderGradient-9pfvBoHR.cjs.map → HoverBorderGradient-DMMyr2L3.cjs.map} +1 -1
  51. package/dist/chunks/{SunToMoonButton-BkEfkElJ.mjs → SunToMoonButton-BOKHzC1H.mjs} +1 -1
  52. package/dist/chunks/{SunToMoonButton-BkEfkElJ.mjs.map → SunToMoonButton-BOKHzC1H.mjs.map} +1 -1
  53. package/dist/chunks/{SunToMoonButton-jS4BJD9q.cjs → SunToMoonButton-gX4Kk_5B.cjs} +1 -1
  54. package/dist/chunks/{SunToMoonButton-jS4BJD9q.cjs.map → SunToMoonButton-gX4Kk_5B.cjs.map} +1 -1
  55. package/dist/chunks/{Tooltip-DK3B879v.mjs → Tooltip-LbOKP__2.mjs} +10 -7
  56. package/dist/chunks/Tooltip-LbOKP__2.mjs.map +1 -0
  57. package/dist/chunks/{Tooltip-DD30yj3A.cjs → Tooltip-nnaiqJTT.cjs} +10 -7
  58. package/dist/chunks/Tooltip-nnaiqJTT.cjs.map +1 -0
  59. package/dist/chunks/{accordion-CmB6EidC.cjs → accordion-Bj3Sj0mC.cjs} +2 -2
  60. package/dist/chunks/{accordion-CmB6EidC.cjs.map → accordion-Bj3Sj0mC.cjs.map} +1 -1
  61. package/dist/chunks/{accordion-6zxJUYXr.mjs → accordion-CLcjNX_X.mjs} +2 -2
  62. package/dist/chunks/{accordion-6zxJUYXr.mjs.map → accordion-CLcjNX_X.mjs.map} +1 -1
  63. package/dist/chunks/{alert-C5KEeQqh.cjs → alert-BBA4Sh4e.cjs} +2 -2
  64. package/dist/chunks/{alert-C5KEeQqh.cjs.map → alert-BBA4Sh4e.cjs.map} +1 -1
  65. package/dist/chunks/{alert-XVmYJgds.mjs → alert-oUz79MGc.mjs} +2 -2
  66. package/dist/chunks/{alert-XVmYJgds.mjs.map → alert-oUz79MGc.mjs.map} +1 -1
  67. package/dist/chunks/{animated-content-CLsFnjgr.cjs → animated-content-B3wbiWQI.cjs} +1 -1
  68. package/dist/chunks/{animated-content-CLsFnjgr.cjs.map → animated-content-B3wbiWQI.cjs.map} +1 -1
  69. package/dist/chunks/{animated-content-bK6xp-vc.mjs → animated-content-CiNJLgbq.mjs} +1 -1
  70. package/dist/chunks/{animated-content-bK6xp-vc.mjs.map → animated-content-CiNJLgbq.mjs.map} +1 -1
  71. package/dist/chunks/{ascii-text-Bdy4C5rU.mjs → ascii-text-C6JegLhP.mjs} +1 -1
  72. package/dist/chunks/{ascii-text-Bdy4C5rU.mjs.map → ascii-text-C6JegLhP.mjs.map} +1 -1
  73. package/dist/chunks/{ascii-text-BFnpVur6.cjs → ascii-text-KwVE41Hw.cjs} +1 -1
  74. package/dist/chunks/{ascii-text-BFnpVur6.cjs.map → ascii-text-KwVE41Hw.cjs.map} +1 -1
  75. package/dist/chunks/{background-gradient-animation-CiNdmA61.cjs → background-gradient-animation-1LZY3DYT.cjs} +1 -1
  76. package/dist/chunks/{background-gradient-animation-CiNdmA61.cjs.map → background-gradient-animation-1LZY3DYT.cjs.map} +1 -1
  77. package/dist/chunks/{background-gradient-animation-BR9wx6Z8.mjs → background-gradient-animation-CTc2ZR74.mjs} +1 -1
  78. package/dist/chunks/{background-gradient-animation-BR9wx6Z8.mjs.map → background-gradient-animation-CTc2ZR74.mjs.map} +1 -1
  79. package/dist/chunks/{button-A6UTvrOu.mjs → button-IDShmQqA.mjs} +3 -2
  80. package/dist/chunks/button-IDShmQqA.mjs.map +1 -0
  81. package/dist/chunks/{button-hover-border-gradient-DnFvjNNw.mjs → button-hover-border-gradient-B2ebbDek.mjs} +2 -2
  82. package/dist/chunks/{button-hover-border-gradient-DnFvjNNw.mjs.map → button-hover-border-gradient-B2ebbDek.mjs.map} +1 -1
  83. package/dist/chunks/{button-hover-border-gradient-ssmwU5-U.cjs → button-hover-border-gradient-DGZqd8je.cjs} +2 -2
  84. package/dist/chunks/{button-hover-border-gradient-ssmwU5-U.cjs.map → button-hover-border-gradient-DGZqd8je.cjs.map} +1 -1
  85. package/dist/chunks/{button-C4MXPxsC.cjs → button-uD87K76W.cjs} +3 -2
  86. package/dist/chunks/button-uD87K76W.cjs.map +1 -0
  87. package/dist/chunks/{calendar-CQJgQ5H_.cjs → calendar-DCkikZYb.cjs} +2 -2
  88. package/dist/chunks/{calendar-CQJgQ5H_.cjs.map → calendar-DCkikZYb.cjs.map} +1 -1
  89. package/dist/chunks/{calendar-5XzPqKbE.mjs → calendar-FxAmm_ao.mjs} +2 -2
  90. package/dist/chunks/{calendar-5XzPqKbE.mjs.map → calendar-FxAmm_ao.mjs.map} +1 -1
  91. package/dist/chunks/{card-RrT68nvu.cjs → card-Cuud0jIt.cjs} +1 -1
  92. package/dist/chunks/{card-RrT68nvu.cjs.map → card-Cuud0jIt.cjs.map} +1 -1
  93. package/dist/chunks/{card-BId1_zHw.mjs → card-DNeC6jqk.mjs} +1 -1
  94. package/dist/chunks/{card-BId1_zHw.mjs.map → card-DNeC6jqk.mjs.map} +1 -1
  95. package/dist/chunks/{carousel-Dd4rp-jr.mjs → carousel-Dpe5QLJK.mjs} +2 -2
  96. package/dist/chunks/{carousel-Dd4rp-jr.mjs.map → carousel-Dpe5QLJK.mjs.map} +1 -1
  97. package/dist/chunks/{carousel-Cv0m1Pp5.cjs → carousel-xHkrV_pt.cjs} +2 -2
  98. package/dist/chunks/{carousel-Cv0m1Pp5.cjs.map → carousel-xHkrV_pt.cjs.map} +1 -1
  99. package/dist/chunks/chartStyles-BADmRKZo.cjs +108 -0
  100. package/dist/chunks/chartStyles-BADmRKZo.cjs.map +1 -0
  101. package/dist/chunks/chartStyles-DPXgYmGn.mjs +55 -0
  102. package/dist/chunks/chartStyles-DPXgYmGn.mjs.map +1 -0
  103. package/dist/chunks/{charts-DkVu0rFc.mjs → charts-C-KQ3Nk5.mjs} +3 -54
  104. package/dist/chunks/charts-C-KQ3Nk5.mjs.map +1 -0
  105. package/dist/chunks/{charts-BmIV-mJy.cjs → charts-COx3IbI2.cjs} +42 -93
  106. package/dist/chunks/charts-COx3IbI2.cjs.map +1 -0
  107. package/dist/chunks/{checkbox-D8ivRZ1x.cjs → checkbox-CDknzh89.cjs} +1 -1
  108. package/dist/chunks/{checkbox-D8ivRZ1x.cjs.map → checkbox-CDknzh89.cjs.map} +1 -1
  109. package/dist/chunks/{checkbox-3aB7XC9_.mjs → checkbox-Y04NlzB8.mjs} +1 -1
  110. package/dist/chunks/{checkbox-3aB7XC9_.mjs.map → checkbox-Y04NlzB8.mjs.map} +1 -1
  111. package/dist/chunks/{chip-CqcdcSs2.mjs → chip-B3j6R6sO.mjs} +3 -3
  112. package/dist/chunks/{chip-CqcdcSs2.mjs.map → chip-B3j6R6sO.mjs.map} +1 -1
  113. package/dist/chunks/{chip-B0YzBwkz.cjs → chip-sfQlzrbo.cjs} +3 -3
  114. package/dist/chunks/{chip-B0YzBwkz.cjs.map → chip-sfQlzrbo.cjs.map} +1 -1
  115. package/dist/chunks/{chroma-grid-opB2DBtS.mjs → chroma-grid-BHS9qAn_.mjs} +1 -1
  116. package/dist/chunks/{chroma-grid-opB2DBtS.mjs.map → chroma-grid-BHS9qAn_.mjs.map} +1 -1
  117. package/dist/chunks/{chroma-grid-DcZ9f4Ui.cjs → chroma-grid-Bp55pKEm.cjs} +1 -1
  118. package/dist/chunks/{chroma-grid-DcZ9f4Ui.cjs.map → chroma-grid-Bp55pKEm.cjs.map} +1 -1
  119. package/dist/chunks/{color-palette-C3lesasJ.mjs → color-palette-D9Qlw2Cx.mjs} +1 -1
  120. package/dist/chunks/{color-palette-C3lesasJ.mjs.map → color-palette-D9Qlw2Cx.mjs.map} +1 -1
  121. package/dist/chunks/{color-palette-pLh6En3n.cjs → color-palette-Duud5Iqq.cjs} +1 -1
  122. package/dist/chunks/{color-palette-pLh6En3n.cjs.map → color-palette-Duud5Iqq.cjs.map} +1 -1
  123. package/dist/chunks/{combobox-CtNrGmuR.cjs → combobox-C3a2iogC.cjs} +4 -4
  124. package/dist/chunks/{combobox-CtNrGmuR.cjs.map → combobox-C3a2iogC.cjs.map} +1 -1
  125. package/dist/chunks/{combobox-B6yk5U82.mjs → combobox-neBItbtz.mjs} +4 -4
  126. package/dist/chunks/{combobox-B6yk5U82.mjs.map → combobox-neBItbtz.mjs.map} +1 -1
  127. package/dist/chunks/dashboard-cards-BnPt0gDW.mjs +2428 -0
  128. package/dist/chunks/dashboard-cards-BnPt0gDW.mjs.map +1 -0
  129. package/dist/chunks/dashboard-cards-DNWJPKRu.cjs +2524 -0
  130. package/dist/chunks/dashboard-cards-DNWJPKRu.cjs.map +1 -0
  131. package/dist/chunks/{data-table-fAEuevPn.cjs → data-table-BZEiSZI2.cjs} +48 -36
  132. package/dist/chunks/data-table-BZEiSZI2.cjs.map +1 -0
  133. package/dist/chunks/{data-table-Dtf6lKpp.mjs → data-table-EfGKkerd.mjs} +47 -35
  134. package/dist/chunks/data-table-EfGKkerd.mjs.map +1 -0
  135. package/dist/chunks/{date-picker-BmQ0rgwH.mjs → date-picker-3IDSmb9Z.mjs} +3 -3
  136. package/dist/chunks/{date-picker-BmQ0rgwH.mjs.map → date-picker-3IDSmb9Z.mjs.map} +1 -1
  137. package/dist/chunks/{date-picker-qpUZMtZC.cjs → date-picker-_EVYpGga.cjs} +3 -3
  138. package/dist/chunks/{date-picker-qpUZMtZC.cjs.map → date-picker-_EVYpGga.cjs.map} +1 -1
  139. package/dist/chunks/{dialog-DSyq6MS3.mjs → dialog-B60BjJz0.mjs} +3 -3
  140. package/dist/chunks/{dialog-DSyq6MS3.mjs.map → dialog-B60BjJz0.mjs.map} +1 -1
  141. package/dist/chunks/{dialog-J2ZTSTpL.cjs → dialog-i9LdkXmF.cjs} +3 -3
  142. package/dist/chunks/{dialog-J2ZTSTpL.cjs.map → dialog-i9LdkXmF.cjs.map} +1 -1
  143. package/dist/chunks/event-calendar-BbFOUDov.mjs +1191 -0
  144. package/dist/chunks/event-calendar-BbFOUDov.mjs.map +1 -0
  145. package/dist/chunks/event-calendar-Bljd_7PI.cjs +1209 -0
  146. package/dist/chunks/event-calendar-Bljd_7PI.cjs.map +1 -0
  147. package/dist/chunks/{form-CtZ6U-_B.mjs → form-CDc9UM3r.mjs} +1 -1
  148. package/dist/chunks/{form-CtZ6U-_B.mjs.map → form-CDc9UM3r.mjs.map} +1 -1
  149. package/dist/chunks/{form-X6Vyaavl.cjs → form-DGwdlSW2.cjs} +1 -1
  150. package/dist/chunks/{form-X6Vyaavl.cjs.map → form-DGwdlSW2.cjs.map} +1 -1
  151. package/dist/chunks/{gradual-blur-C6NOnjTw.cjs → gradual-blur-BNYVlqb1.cjs} +1 -1
  152. package/dist/chunks/{gradual-blur-C6NOnjTw.cjs.map → gradual-blur-BNYVlqb1.cjs.map} +1 -1
  153. package/dist/chunks/{gradual-blur-DXfxpCdB.mjs → gradual-blur-Bw2KNmXb.mjs} +1 -1
  154. package/dist/chunks/{gradual-blur-DXfxpCdB.mjs.map → gradual-blur-Bw2KNmXb.mjs.map} +1 -1
  155. package/dist/chunks/{hover-card--rplmsA_.cjs → hover-card-Dp6Y2h2J.cjs} +1 -1
  156. package/dist/chunks/{hover-card--rplmsA_.cjs.map → hover-card-Dp6Y2h2J.cjs.map} +1 -1
  157. package/dist/chunks/{hover-card-C88rU-nW.mjs → hover-card-G66SUyjq.mjs} +1 -1
  158. package/dist/chunks/{hover-card-C88rU-nW.mjs.map → hover-card-G66SUyjq.mjs.map} +1 -1
  159. package/dist/chunks/{icons-bx3nrxNv.mjs → icons-JzMKLygv.mjs} +2 -43
  160. package/dist/chunks/icons-JzMKLygv.mjs.map +1 -0
  161. package/dist/chunks/{icons-CRanVZB1.cjs → icons-ub9iu-JG.cjs} +1 -48
  162. package/dist/chunks/icons-ub9iu-JG.cjs.map +1 -0
  163. package/dist/chunks/{input-Bqo9Q5zF.mjs → input-CRc3MKb_.mjs} +3 -3
  164. package/dist/chunks/{input-Bqo9Q5zF.mjs.map → input-CRc3MKb_.mjs.map} +1 -1
  165. package/dist/chunks/{input-DkCPyWXi.cjs → input-DMTwz27q.cjs} +3 -3
  166. package/dist/chunks/{input-DkCPyWXi.cjs.map → input-DMTwz27q.cjs.map} +1 -1
  167. package/dist/chunks/{label-BKzqfAAq.cjs → label-B5Ugq0Nk.cjs} +1 -1
  168. package/dist/chunks/{label-BKzqfAAq.cjs.map → label-B5Ugq0Nk.cjs.map} +1 -1
  169. package/dist/chunks/{label-Drxg0cG2.mjs → label-Bc_r54NU.mjs} +1 -1
  170. package/dist/chunks/{label-Drxg0cG2.mjs.map → label-Bc_r54NU.mjs.map} +1 -1
  171. package/dist/chunks/{loading-BiM4mKh6.cjs → loading-DZKJc3e7.cjs} +2 -2
  172. package/dist/chunks/{loading-BiM4mKh6.cjs.map → loading-DZKJc3e7.cjs.map} +1 -1
  173. package/dist/chunks/{loading-Dtosnb4A.mjs → loading-ll2L6lc7.mjs} +2 -2
  174. package/dist/chunks/{loading-Dtosnb4A.mjs.map → loading-ll2L6lc7.mjs.map} +1 -1
  175. package/dist/chunks/{multi-select-combobox-C0DoDzxQ.cjs → multi-select-combobox-CFJGq1hn.cjs} +3 -3
  176. package/dist/chunks/{multi-select-combobox-C0DoDzxQ.cjs.map → multi-select-combobox-CFJGq1hn.cjs.map} +1 -1
  177. package/dist/chunks/{multi-select-combobox-Do23ZfOQ.mjs → multi-select-combobox-C_8sxaiL.mjs} +3 -3
  178. package/dist/chunks/{multi-select-combobox-Do23ZfOQ.mjs.map → multi-select-combobox-C_8sxaiL.mjs.map} +1 -1
  179. package/dist/chunks/{otp-input-CkhV-sGl.cjs → otp-input-B5-tuc0q.cjs} +1 -1
  180. package/dist/chunks/{otp-input-CkhV-sGl.cjs.map → otp-input-B5-tuc0q.cjs.map} +1 -1
  181. package/dist/chunks/{otp-input-JOysxKfD.mjs → otp-input-BpcTJOmU.mjs} +1 -1
  182. package/dist/chunks/{otp-input-JOysxKfD.mjs.map → otp-input-BpcTJOmU.mjs.map} +1 -1
  183. package/dist/chunks/{overlay-BzkUmjQ-.mjs → overlay-CG1dMYtO.mjs} +1 -1
  184. package/dist/chunks/{overlay-BzkUmjQ-.mjs.map → overlay-CG1dMYtO.mjs.map} +1 -1
  185. package/dist/chunks/{overlay-DNnZywyR.cjs → overlay-DzE_GyYf.cjs} +1 -1
  186. package/dist/chunks/{overlay-DNnZywyR.cjs.map → overlay-DzE_GyYf.cjs.map} +1 -1
  187. package/dist/chunks/{password-strength-meter-BsvqQBAg.mjs → password-strength-meter-CH6uQAuK.mjs} +2 -2
  188. package/dist/chunks/{password-strength-meter-BsvqQBAg.mjs.map → password-strength-meter-CH6uQAuK.mjs.map} +1 -1
  189. package/dist/chunks/{password-strength-meter-DCi_BP7e.cjs → password-strength-meter-_o1T1HLO.cjs} +2 -2
  190. package/dist/chunks/{password-strength-meter-DCi_BP7e.cjs.map → password-strength-meter-_o1T1HLO.cjs.map} +1 -1
  191. package/dist/chunks/{progress-bar-DQ5ZKk2Y.mjs → progress-bar-BAvRSW1b.mjs} +1 -1
  192. package/dist/chunks/{progress-bar-DQ5ZKk2Y.mjs.map → progress-bar-BAvRSW1b.mjs.map} +1 -1
  193. package/dist/chunks/{progress-bar-CYaBO_lS.cjs → progress-bar-FfdFVvTT.cjs} +1 -1
  194. package/dist/chunks/{progress-bar-CYaBO_lS.cjs.map → progress-bar-FfdFVvTT.cjs.map} +1 -1
  195. package/dist/chunks/{radio-CuiM_gDv.mjs → radio-BMOnxnUS.mjs} +1 -1
  196. package/dist/chunks/{radio-CuiM_gDv.mjs.map → radio-BMOnxnUS.mjs.map} +1 -1
  197. package/dist/chunks/{radio-zx9xEW_C.cjs → radio-wagafWwx.cjs} +1 -1
  198. package/dist/chunks/{radio-zx9xEW_C.cjs.map → radio-wagafWwx.cjs.map} +1 -1
  199. package/dist/chunks/{select-CUaSNR09.mjs → select--DeSgPdn.mjs} +4 -4
  200. package/dist/chunks/{select-CUaSNR09.mjs.map → select--DeSgPdn.mjs.map} +1 -1
  201. package/dist/chunks/{select-bZ9WqLOc.cjs → select-zFFyNmlY.cjs} +4 -4
  202. package/dist/chunks/{select-bZ9WqLOc.cjs.map → select-zFFyNmlY.cjs.map} +1 -1
  203. package/dist/chunks/{sidebar-3i4mGE6T.cjs → sidebar-Cq7UbKJT.cjs} +6 -6
  204. package/dist/chunks/{sidebar-3i4mGE6T.cjs.map → sidebar-Cq7UbKJT.cjs.map} +1 -1
  205. package/dist/chunks/{sidebar-Dhf_Arae.mjs → sidebar-oemmRzCL.mjs} +6 -6
  206. package/dist/chunks/{sidebar-Dhf_Arae.mjs.map → sidebar-oemmRzCL.mjs.map} +1 -1
  207. package/dist/chunks/{skeleton-nH1eAN96.mjs → skeleton-BsDMlWZG.mjs} +1 -1
  208. package/dist/chunks/{skeleton-nH1eAN96.mjs.map → skeleton-BsDMlWZG.mjs.map} +1 -1
  209. package/dist/chunks/{skeleton-DCBGLNAZ.cjs → skeleton-DWvVc17T.cjs} +1 -1
  210. package/dist/chunks/{skeleton-DCBGLNAZ.cjs.map → skeleton-DWvVc17T.cjs.map} +1 -1
  211. package/dist/chunks/{spinners-C9acUulz.cjs → spinners-DBAJliAj.cjs} +2 -2
  212. package/dist/chunks/{spinners-C9acUulz.cjs.map → spinners-DBAJliAj.cjs.map} +1 -1
  213. package/dist/chunks/{spinners-g6_Up5Rb.mjs → spinners-DlMcokJa.mjs} +2 -2
  214. package/dist/chunks/{spinners-g6_Up5Rb.mjs.map → spinners-DlMcokJa.mjs.map} +1 -1
  215. package/dist/chunks/{splash-cursor-N4FdnkOa.mjs → splash-cursor-Bb7LSzaO.mjs} +1 -1
  216. package/dist/chunks/{splash-cursor-N4FdnkOa.mjs.map → splash-cursor-Bb7LSzaO.mjs.map} +1 -1
  217. package/dist/chunks/{splash-cursor-BqG7ClsJ.cjs → splash-cursor-CQ6_HwHV.cjs} +1 -1
  218. package/dist/chunks/{splash-cursor-BqG7ClsJ.cjs.map → splash-cursor-CQ6_HwHV.cjs.map} +1 -1
  219. package/dist/chunks/{spotlight-card-D9Z3nTmb.mjs → spotlight-card-Bs0iiSLc.mjs} +1 -1
  220. package/dist/chunks/{spotlight-card-D9Z3nTmb.mjs.map → spotlight-card-Bs0iiSLc.mjs.map} +1 -1
  221. package/dist/chunks/{spotlight-card-BmsqC7wm.cjs → spotlight-card-COfSD7ns.cjs} +1 -1
  222. package/dist/chunks/{spotlight-card-BmsqC7wm.cjs.map → spotlight-card-COfSD7ns.cjs.map} +1 -1
  223. package/dist/chunks/{stepper-Jv5OS1nY.mjs → stepper-B9NdZ6ZV.mjs} +4 -4
  224. package/dist/chunks/{stepper-Jv5OS1nY.mjs.map → stepper-B9NdZ6ZV.mjs.map} +1 -1
  225. package/dist/chunks/{stepper-DepvEGfr.cjs → stepper-CTteR-Kj.cjs} +4 -4
  226. package/dist/chunks/{stepper-DepvEGfr.cjs.map → stepper-CTteR-Kj.cjs.map} +1 -1
  227. package/dist/chunks/{sun-to-moon-button-BJtBEaa3.mjs → sun-to-moon-button-DWHDpP5B.mjs} +2 -2
  228. package/dist/chunks/{sun-to-moon-button-BJtBEaa3.mjs.map → sun-to-moon-button-DWHDpP5B.mjs.map} +1 -1
  229. package/dist/chunks/{sun-to-moon-button-PwgTPsTW.cjs → sun-to-moon-button-lt-1vmWm.cjs} +2 -2
  230. package/dist/chunks/{sun-to-moon-button-PwgTPsTW.cjs.map → sun-to-moon-button-lt-1vmWm.cjs.map} +1 -1
  231. package/dist/chunks/{switch-iPsN1NS2.mjs → switch--68scepb.mjs} +1 -1
  232. package/dist/chunks/{switch-iPsN1NS2.mjs.map → switch--68scepb.mjs.map} +1 -1
  233. package/dist/chunks/{switch-X3l8xnle.cjs → switch-BbFl5b4t.cjs} +1 -1
  234. package/dist/chunks/{switch-X3l8xnle.cjs.map → switch-BbFl5b4t.cjs.map} +1 -1
  235. package/dist/chunks/{textarea-Bdo-Trvi.mjs → textarea-CEj9voUJ.mjs} +1 -1
  236. package/dist/chunks/{textarea-Bdo-Trvi.mjs.map → textarea-CEj9voUJ.mjs.map} +1 -1
  237. package/dist/chunks/{textarea-CGRl2hrM.cjs → textarea-U_JeSWI3.cjs} +1 -1
  238. package/dist/chunks/{textarea-CGRl2hrM.cjs.map → textarea-U_JeSWI3.cjs.map} +1 -1
  239. package/dist/chunks/{toast-DiFgv3IL.cjs → toast-2yq4Q7-q.cjs} +2 -2
  240. package/dist/chunks/{toast-DiFgv3IL.cjs.map → toast-2yq4Q7-q.cjs.map} +1 -1
  241. package/dist/chunks/{toast-BcBidy5n.mjs → toast-CyY8VZN7.mjs} +2 -2
  242. package/dist/chunks/{toast-BcBidy5n.mjs.map → toast-CyY8VZN7.mjs.map} +1 -1
  243. package/dist/chunks/{truncated-text-BIXqNfOL.cjs → truncated-text-CswjmrHZ.cjs} +1 -1
  244. package/dist/chunks/{truncated-text-BIXqNfOL.cjs.map → truncated-text-CswjmrHZ.cjs.map} +1 -1
  245. package/dist/chunks/{truncated-text-C9t9o9IA.mjs → truncated-text-DUYTW1KP.mjs} +1 -1
  246. package/dist/chunks/{truncated-text-C9t9o9IA.mjs.map → truncated-text-DUYTW1KP.mjs.map} +1 -1
  247. package/dist/chunks/{typography-LwwY_MOy.cjs → typography-CFIiYk1d.cjs} +1 -1
  248. package/dist/chunks/{typography-LwwY_MOy.cjs.map → typography-CFIiYk1d.cjs.map} +1 -1
  249. package/dist/chunks/{typography-Ct-jDJP3.mjs → typography-DHE9sUZ8.mjs} +1 -1
  250. package/dist/chunks/{typography-Ct-jDJP3.mjs.map → typography-DHE9sUZ8.mjs.map} +1 -1
  251. package/dist/color-palette.cjs +1 -1
  252. package/dist/color-palette.mjs +1 -1
  253. package/dist/combobox.cjs +1 -1
  254. package/dist/combobox.mjs +1 -1
  255. package/dist/components/data-display/charts/chartPalette.d.ts +1 -1
  256. package/dist/components/data-display/dashboard-cards/DeviceSalesCard.d.ts +25 -0
  257. package/dist/components/data-display/dashboard-cards/DeviceSalesCard.d.ts.map +1 -0
  258. package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts +34 -0
  259. package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts.map +1 -0
  260. package/dist/components/data-display/dashboard-cards/EarningsCard.d.ts +43 -0
  261. package/dist/components/data-display/dashboard-cards/EarningsCard.d.ts.map +1 -0
  262. package/dist/components/data-display/dashboard-cards/ExpensesCard.d.ts +26 -0
  263. package/dist/components/data-display/dashboard-cards/ExpensesCard.d.ts.map +1 -0
  264. package/dist/components/data-display/dashboard-cards/IncomeExpenseCard.d.ts +30 -0
  265. package/dist/components/data-display/dashboard-cards/IncomeExpenseCard.d.ts.map +1 -0
  266. package/dist/components/data-display/dashboard-cards/RevenueGrowthCard.d.ts +26 -0
  267. package/dist/components/data-display/dashboard-cards/RevenueGrowthCard.d.ts.map +1 -0
  268. package/dist/components/data-display/dashboard-cards/SalesOverviewCard.d.ts +33 -0
  269. package/dist/components/data-display/dashboard-cards/SalesOverviewCard.d.ts.map +1 -0
  270. package/dist/components/data-display/dashboard-cards/ShipmentStatisticsCard.d.ts +33 -0
  271. package/dist/components/data-display/dashboard-cards/ShipmentStatisticsCard.d.ts.map +1 -0
  272. package/dist/components/data-display/dashboard-cards/StockAvailabilityCard.d.ts +24 -0
  273. package/dist/components/data-display/dashboard-cards/StockAvailabilityCard.d.ts.map +1 -0
  274. package/dist/components/data-display/dashboard-cards/SupportTrackerCard.d.ts +25 -0
  275. package/dist/components/data-display/dashboard-cards/SupportTrackerCard.d.ts.map +1 -0
  276. package/dist/components/data-display/dashboard-cards/TopicsCard.d.ts +18 -0
  277. package/dist/components/data-display/dashboard-cards/TopicsCard.d.ts.map +1 -0
  278. package/dist/components/data-display/dashboard-cards/VehicleConditionCard.d.ts +20 -0
  279. package/dist/components/data-display/dashboard-cards/VehicleConditionCard.d.ts.map +1 -0
  280. package/dist/components/data-display/dashboard-cards/VehiclesOverviewCard.d.ts +21 -0
  281. package/dist/components/data-display/dashboard-cards/VehiclesOverviewCard.d.ts.map +1 -0
  282. package/dist/components/data-display/dashboard-cards/index.d.ts +26 -0
  283. package/dist/components/data-display/dashboard-cards/index.d.ts.map +1 -1
  284. package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
  285. package/dist/components/data-display/data-table/DataTableControls.d.ts.map +1 -1
  286. package/dist/components/data-display/event-calendar/AddEventPanel.d.ts +11 -0
  287. package/dist/components/data-display/event-calendar/AddEventPanel.d.ts.map +1 -0
  288. package/dist/components/data-display/event-calendar/CalendarHeader.d.ts +13 -0
  289. package/dist/components/data-display/event-calendar/CalendarHeader.d.ts.map +1 -0
  290. package/dist/components/data-display/event-calendar/CalendarSidebar.d.ts +13 -0
  291. package/dist/components/data-display/event-calendar/CalendarSidebar.d.ts.map +1 -0
  292. package/dist/components/data-display/event-calendar/EventCalendar.d.ts +3 -0
  293. package/dist/components/data-display/event-calendar/EventCalendar.d.ts.map +1 -0
  294. package/dist/components/data-display/event-calendar/EventDetailDrawer.d.ts +10 -0
  295. package/dist/components/data-display/event-calendar/EventDetailDrawer.d.ts.map +1 -0
  296. package/dist/components/data-display/event-calendar/EventFilterList.d.ts +9 -0
  297. package/dist/components/data-display/event-calendar/EventFilterList.d.ts.map +1 -0
  298. package/dist/components/data-display/event-calendar/EventPill.d.ts +10 -0
  299. package/dist/components/data-display/event-calendar/EventPill.d.ts.map +1 -0
  300. package/dist/components/data-display/event-calendar/MiniCalendarPicker.d.ts +9 -0
  301. package/dist/components/data-display/event-calendar/MiniCalendarPicker.d.ts.map +1 -0
  302. package/dist/components/data-display/event-calendar/calendarUtils.d.ts +27 -0
  303. package/dist/components/data-display/event-calendar/calendarUtils.d.ts.map +1 -0
  304. package/dist/components/data-display/event-calendar/index.d.ts +4 -0
  305. package/dist/components/data-display/event-calendar/index.d.ts.map +1 -0
  306. package/dist/components/data-display/event-calendar/types.d.ts +52 -0
  307. package/dist/components/data-display/event-calendar/types.d.ts.map +1 -0
  308. package/dist/components/data-display/event-calendar/views/DayView.d.ts +10 -0
  309. package/dist/components/data-display/event-calendar/views/DayView.d.ts.map +1 -0
  310. package/dist/components/data-display/event-calendar/views/ListView.d.ts +10 -0
  311. package/dist/components/data-display/event-calendar/views/ListView.d.ts.map +1 -0
  312. package/dist/components/data-display/event-calendar/views/MonthView.d.ts +11 -0
  313. package/dist/components/data-display/event-calendar/views/MonthView.d.ts.map +1 -0
  314. package/dist/components/data-display/event-calendar/views/WeekView.d.ts +10 -0
  315. package/dist/components/data-display/event-calendar/views/WeekView.d.ts.map +1 -0
  316. package/dist/components/forms/button/Button.d.ts.map +1 -1
  317. package/dist/components/overlays/tooltip/Tooltip.d.ts +3 -1
  318. package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -1
  319. package/dist/dashboard-cards.cjs +18 -0
  320. package/dist/dashboard-cards.d.ts +2 -0
  321. package/dist/dashboard-cards.mjs +2 -0
  322. package/dist/data-table.cjs +1 -1
  323. package/dist/data-table.mjs +1 -1
  324. package/dist/date-picker.cjs +1 -1
  325. package/dist/date-picker.mjs +1 -1
  326. package/dist/dialog.cjs +1 -1
  327. package/dist/dialog.mjs +1 -1
  328. package/dist/docs.cjs +31 -0
  329. package/dist/docs.cjs.map +1 -1
  330. package/dist/docs.d.ts.map +1 -1
  331. package/dist/docs.mjs +31 -0
  332. package/dist/docs.mjs.map +1 -1
  333. package/dist/drawer.cjs +2 -2
  334. package/dist/drawer.mjs +1 -1
  335. package/dist/event-calendar.cjs +5 -0
  336. package/dist/event-calendar.d.ts +2 -0
  337. package/dist/event-calendar.mjs +2 -0
  338. package/dist/form.cjs +1 -1
  339. package/dist/form.mjs +1 -1
  340. package/dist/gradual-blur.cjs +1 -1
  341. package/dist/gradual-blur.mjs +1 -1
  342. package/dist/hover-border-gradient.cjs +1 -1
  343. package/dist/hover-border-gradient.mjs +1 -1
  344. package/dist/hover-card.cjs +1 -1
  345. package/dist/hover-card.mjs +1 -1
  346. package/dist/icons.cjs +3 -2
  347. package/dist/icons.mjs +2 -1
  348. package/dist/index.cjs +74 -330
  349. package/dist/index.cjs.map +1 -1
  350. package/dist/index.d.ts +5 -2
  351. package/dist/index.d.ts.map +1 -1
  352. package/dist/index.mjs +55 -327
  353. package/dist/index.mjs.map +1 -1
  354. package/dist/input.cjs +1 -1
  355. package/dist/input.mjs +1 -1
  356. package/dist/label.cjs +1 -1
  357. package/dist/label.mjs +1 -1
  358. package/dist/loading.cjs +1 -1
  359. package/dist/loading.mjs +1 -1
  360. package/dist/multi-select-combobox.cjs +1 -1
  361. package/dist/multi-select-combobox.mjs +1 -1
  362. package/dist/otp-input.cjs +1 -1
  363. package/dist/otp-input.mjs +1 -1
  364. package/dist/password-strength-meter.cjs +1 -1
  365. package/dist/password-strength-meter.mjs +1 -1
  366. package/dist/progress-bar.cjs +1 -1
  367. package/dist/progress-bar.mjs +1 -1
  368. package/dist/radio.cjs +1 -1
  369. package/dist/radio.mjs +1 -1
  370. package/dist/select.cjs +1 -1
  371. package/dist/select.mjs +1 -1
  372. package/dist/sidebar.cjs +1 -1
  373. package/dist/sidebar.mjs +1 -1
  374. package/dist/skeleton.cjs +1 -1
  375. package/dist/skeleton.mjs +1 -1
  376. package/dist/spinners.cjs +1 -1
  377. package/dist/spinners.mjs +1 -1
  378. package/dist/splash-cursor.cjs +1 -1
  379. package/dist/splash-cursor.mjs +1 -1
  380. package/dist/spotlight-card.cjs +1 -1
  381. package/dist/spotlight-card.mjs +1 -1
  382. package/dist/stepper.cjs +1 -1
  383. package/dist/stepper.mjs +1 -1
  384. package/dist/sun-to-moon-button.cjs +2 -2
  385. package/dist/sun-to-moon-button.mjs +2 -2
  386. package/dist/switch.cjs +1 -1
  387. package/dist/switch.mjs +1 -1
  388. package/dist/textarea.cjs +1 -1
  389. package/dist/textarea.mjs +1 -1
  390. package/dist/toast.cjs +1 -1
  391. package/dist/toast.mjs +1 -1
  392. package/dist/tooltip.cjs +1 -1
  393. package/dist/tooltip.mjs +1 -1
  394. package/dist/truncated-text.cjs +1 -1
  395. package/dist/truncated-text.mjs +1 -1
  396. package/dist/typography.cjs +1 -1
  397. package/dist/typography.mjs +1 -1
  398. package/package.json +17 -5
  399. package/dist/chunks/Tooltip-DD30yj3A.cjs.map +0 -1
  400. package/dist/chunks/Tooltip-DK3B879v.mjs.map +0 -1
  401. package/dist/chunks/button-A6UTvrOu.mjs.map +0 -1
  402. package/dist/chunks/button-C4MXPxsC.cjs.map +0 -1
  403. package/dist/chunks/charts-BmIV-mJy.cjs.map +0 -1
  404. package/dist/chunks/charts-DkVu0rFc.mjs.map +0 -1
  405. package/dist/chunks/data-table-Dtf6lKpp.mjs.map +0 -1
  406. package/dist/chunks/data-table-fAEuevPn.cjs.map +0 -1
  407. package/dist/chunks/icons-CRanVZB1.cjs.map +0 -1
  408. package/dist/chunks/icons-bx3nrxNv.mjs.map +0 -1
@@ -0,0 +1,1209 @@
1
+ require("./chunk-B_GkZjkl.cjs");
2
+ const require_utils = require("./utils-LRbEQHYs.cjs");
3
+ const require_truncated_text = require("./truncated-text-CswjmrHZ.cjs");
4
+ const require_button = require("./button-uD87K76W.cjs");
5
+ const require_select = require("./select-zFFyNmlY.cjs");
6
+ const require_Tooltip = require("./Tooltip-nnaiqJTT.cjs");
7
+ const require_Drawer = require("./Drawer-D72Xi2Gq.cjs");
8
+ const require_checkbox = require("./checkbox-CDknzh89.cjs");
9
+ const require_input = require("./input-DMTwz27q.cjs");
10
+ const require_switch = require("./switch-BbFl5b4t.cjs");
11
+ const require_textarea = require("./textarea-U_JeSWI3.cjs");
12
+ let react = require("react");
13
+ let react_jsx_runtime = require("react/jsx-runtime");
14
+ function isSameDay(a, b) {
15
+ return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
16
+ }
17
+ function isToday(date) {
18
+ return isSameDay(date, /* @__PURE__ */ new Date());
19
+ }
20
+ function addDays(date, n) {
21
+ const d = new Date(date);
22
+ d.setDate(d.getDate() + n);
23
+ return d;
24
+ }
25
+ function addMonths(date, n) {
26
+ const d = new Date(date);
27
+ d.setMonth(d.getMonth() + n);
28
+ return d;
29
+ }
30
+ function addWeeks(date, n) {
31
+ return addDays(date, n * 7);
32
+ }
33
+ function startOfWeek(date) {
34
+ const d = new Date(date);
35
+ d.setDate(d.getDate() - d.getDay());
36
+ d.setHours(0, 0, 0, 0);
37
+ return d;
38
+ }
39
+ function startOfMonth(date) {
40
+ return new Date(date.getFullYear(), date.getMonth(), 1);
41
+ }
42
+ function endOfMonth(date) {
43
+ return new Date(date.getFullYear(), date.getMonth() + 1, 0, 23, 59, 59, 999);
44
+ }
45
+ function getMonthGridDays(date) {
46
+ const gridStart = startOfWeek(startOfMonth(date));
47
+ return Array.from({ length: 42 }, (_, i) => addDays(gridStart, i));
48
+ }
49
+ function getWeekDays(date) {
50
+ const sunday = startOfWeek(date);
51
+ return Array.from({ length: 7 }, (_, i) => addDays(sunday, i));
52
+ }
53
+ function getEventsForDay(events, day) {
54
+ const dayStart = new Date(day);
55
+ dayStart.setHours(0, 0, 0, 0);
56
+ const dayEnd = new Date(day);
57
+ dayEnd.setHours(23, 59, 59, 999);
58
+ return events.filter((e) => e.start <= dayEnd && e.end >= dayStart);
59
+ }
60
+ function formatMonthYear(date) {
61
+ return date.toLocaleDateString("en-US", {
62
+ month: "long",
63
+ year: "numeric"
64
+ });
65
+ }
66
+ function formatWeekRange(date) {
67
+ const days = getWeekDays(date);
68
+ const start = days[0];
69
+ const end = days[6];
70
+ return `${start.toLocaleDateString("en-US", {
71
+ month: "long",
72
+ day: "numeric"
73
+ })}–${start.getMonth() === end.getMonth() ? end.getDate().toString() : end.toLocaleDateString("en-US", {
74
+ month: "long",
75
+ day: "numeric"
76
+ })}, ${end.getFullYear()}`;
77
+ }
78
+ function formatDayFull(date) {
79
+ return date.toLocaleDateString("en-US", {
80
+ month: "long",
81
+ day: "numeric",
82
+ year: "numeric"
83
+ });
84
+ }
85
+ function formatShortDate(date) {
86
+ return `${date.getMonth() + 1}/${date.getDate()}`;
87
+ }
88
+ function formatHour(h) {
89
+ if (h === 0) return "12AM";
90
+ if (h === 12) return "12PM";
91
+ return h < 12 ? `${h}AM` : `${h - 12}PM`;
92
+ }
93
+ function formatTime(date) {
94
+ let h = date.getHours();
95
+ const m = date.getMinutes();
96
+ const ampm = h >= 12 ? "pm" : "am";
97
+ h = h % 12 || 12;
98
+ const mm = m.toString().padStart(2, "0");
99
+ return `${h}:${mm}${ampm}`;
100
+ }
101
+ function formatListDate(date) {
102
+ return date.toLocaleDateString("en-US", {
103
+ month: "long",
104
+ day: "numeric",
105
+ year: "numeric"
106
+ });
107
+ }
108
+ function formatListDayName(date) {
109
+ return date.toLocaleDateString("en-US", { weekday: "long" });
110
+ }
111
+ function generateId() {
112
+ return Math.random().toString(36).slice(2) + Date.now().toString(36);
113
+ }
114
+ function getEventTopPx(event) {
115
+ return (event.start.getHours() + event.start.getMinutes() / 60 - 6) * 80;
116
+ }
117
+ function getEventHeightPx(event) {
118
+ const startH = event.start.getHours() + event.start.getMinutes() / 60;
119
+ const endH = event.end.getHours() + event.end.getMinutes() / 60;
120
+ return Math.max((Math.min(endH, 22) - Math.max(startH, 6)) * 80, 20);
121
+ }
122
+ //#endregion
123
+ //#region src/components/data-display/event-calendar/MiniCalendarPicker.tsx
124
+ var DAY_CHARS = [
125
+ "S",
126
+ "M",
127
+ "T",
128
+ "W",
129
+ "T",
130
+ "F",
131
+ "S"
132
+ ];
133
+ var ChevronLeft$1 = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
134
+ width: "12",
135
+ height: "12",
136
+ viewBox: "0 0 24 24",
137
+ fill: "none",
138
+ stroke: "currentColor",
139
+ strokeWidth: "2.5",
140
+ strokeLinecap: "round",
141
+ strokeLinejoin: "round",
142
+ "aria-hidden": "true",
143
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M15 18l-6-6 6-6" })
144
+ });
145
+ var ChevronRight$1 = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
146
+ width: "12",
147
+ height: "12",
148
+ viewBox: "0 0 24 24",
149
+ fill: "none",
150
+ stroke: "currentColor",
151
+ strokeWidth: "2.5",
152
+ strokeLinecap: "round",
153
+ strokeLinejoin: "round",
154
+ "aria-hidden": "true",
155
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M9 18l6-6-6-6" })
156
+ });
157
+ var MiniCalendarPicker = ({ currentDate, onDateChange, onMonthChange }) => {
158
+ const days = getMonthGridDays(currentDate);
159
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
160
+ className: "select-none",
161
+ children: [
162
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
163
+ className: "mb-2 flex items-center justify-between",
164
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
165
+ className: "text-xs font-semibold text-ds-1",
166
+ children: currentDate.toLocaleDateString("en-US", {
167
+ month: "long",
168
+ year: "numeric"
169
+ })
170
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
171
+ className: "flex gap-0.5",
172
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
173
+ variant: "tertiary",
174
+ size: "small",
175
+ className: "h-6 w-6 p-0! hover:opacity-100",
176
+ "aria-label": "Previous month",
177
+ onClick: () => onMonthChange(addMonths(currentDate, -1)),
178
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChevronLeft$1, {})
179
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
180
+ variant: "tertiary",
181
+ size: "small",
182
+ className: "h-6 w-6 p-0! hover:opacity-100",
183
+ "aria-label": "Next month",
184
+ onClick: () => onMonthChange(addMonths(currentDate, 1)),
185
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChevronRight$1, {})
186
+ })]
187
+ })]
188
+ }),
189
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
190
+ className: "mb-1 grid grid-cols-7",
191
+ children: DAY_CHARS.map((c, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
192
+ className: "py-0.5 text-center text-[10px] font-medium text-ds-3",
193
+ children: c
194
+ }, i))
195
+ }),
196
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
197
+ className: "grid grid-cols-7 gap-y-0.5",
198
+ children: days.map((day, i) => {
199
+ const isCurrentMonth = day.getMonth() === currentDate.getMonth();
200
+ const today = isToday(day);
201
+ const selected = isSameDay(day, currentDate);
202
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
203
+ variant: "tertiary",
204
+ "aria-label": day.toDateString(),
205
+ onClick: () => onDateChange(day),
206
+ className: require_utils.mergeClassNames("mx-auto h-6 w-6 rounded-full p-0! text-[10px] hover:opacity-100", today ? "bg-ds-accent! text-ds-on-accent! font-bold" : "", !today && selected ? "bg-ds-surface-3! text-ds-1! font-medium" : "", !today && !selected && isCurrentMonth ? "text-ds-2 hover:bg-ds-surface-3" : "", !today && !selected && !isCurrentMonth ? "text-ds-3 opacity-50" : ""),
207
+ children: day.getDate()
208
+ }, i);
209
+ })
210
+ })
211
+ ]
212
+ });
213
+ };
214
+ //#endregion
215
+ //#region src/components/data-display/event-calendar/types.ts
216
+ var EVENT_LABEL_CONFIG = {
217
+ personal: {
218
+ display: "Personal",
219
+ color: "var(--ds-color-danger)",
220
+ bg: "var(--ds-color-danger-subtle)"
221
+ },
222
+ business: {
223
+ display: "Business",
224
+ color: "var(--ds-color-accent)",
225
+ bg: "var(--ds-color-accent-subtle)"
226
+ },
227
+ family: {
228
+ display: "Family",
229
+ color: "var(--ds-color-warning)",
230
+ bg: "var(--ds-color-warning-subtle)"
231
+ },
232
+ holiday: {
233
+ display: "Holiday",
234
+ color: "var(--ds-color-success)",
235
+ bg: "var(--ds-color-success-subtle)"
236
+ },
237
+ etc: {
238
+ display: "ETC",
239
+ color: "var(--ds-color-info)",
240
+ bg: "var(--ds-color-info-subtle)"
241
+ }
242
+ };
243
+ var ALL_LABELS = [
244
+ "personal",
245
+ "business",
246
+ "family",
247
+ "holiday",
248
+ "etc"
249
+ ];
250
+ //#endregion
251
+ //#region src/components/data-display/event-calendar/EventFilterList.tsx
252
+ var LABEL_COLOR = {
253
+ personal: "red",
254
+ business: "primary",
255
+ family: "yellow",
256
+ holiday: "green",
257
+ etc: "teal"
258
+ };
259
+ var EventFilterList = ({ activeLabels, onChange }) => {
260
+ const allActive = activeLabels.length === ALL_LABELS.length;
261
+ const toggleAll = () => {
262
+ onChange(allActive ? [] : [...ALL_LABELS]);
263
+ };
264
+ const toggleLabel = (label) => {
265
+ if (activeLabels.includes(label)) onChange(activeLabels.filter((l) => l !== label));
266
+ else onChange([...activeLabels, label]);
267
+ };
268
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
269
+ className: "flex flex-col gap-2.5",
270
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
271
+ checked: allActive,
272
+ onChange: toggleAll,
273
+ label: "View all",
274
+ color: "primary"
275
+ }), ALL_LABELS.map((label) => {
276
+ const cfg = EVENT_LABEL_CONFIG[label];
277
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
278
+ checked: activeLabels.includes(label),
279
+ onChange: () => toggleLabel(label),
280
+ label: cfg.display,
281
+ color: LABEL_COLOR[label]
282
+ }, label);
283
+ })]
284
+ });
285
+ };
286
+ //#endregion
287
+ //#region src/components/data-display/event-calendar/CalendarSidebar.tsx
288
+ var CalendarSidebarContent = ({ currentDate, onDateChange, onMonthChange, activeLabels, onFiltersChange, onAddEvent }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
289
+ className: "flex flex-col gap-5",
290
+ children: [
291
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
292
+ variant: "primary",
293
+ className: "w-full",
294
+ onClick: onAddEvent,
295
+ "aria-label": "Add new event",
296
+ children: "+ Add Event"
297
+ }),
298
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MiniCalendarPicker, {
299
+ currentDate,
300
+ onDateChange,
301
+ onMonthChange
302
+ }),
303
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
304
+ className: "mb-3 text-xs font-semibold uppercase tracking-wider text-ds-3",
305
+ children: "Event Filters"
306
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EventFilterList, {
307
+ activeLabels,
308
+ onChange: onFiltersChange
309
+ })] })
310
+ ]
311
+ });
312
+ var CalendarSidebar = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("aside", {
313
+ className: "hidden w-[280px] shrink-0 flex-col border-e border-ds-border-3 bg-ds-surface-1 p-4 lg:flex",
314
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CalendarSidebarContent, { ...props })
315
+ });
316
+ //#endregion
317
+ //#region src/components/data-display/event-calendar/CalendarHeader.tsx
318
+ var VIEWS = [
319
+ {
320
+ value: "month",
321
+ label: "Month"
322
+ },
323
+ {
324
+ value: "week",
325
+ label: "Week"
326
+ },
327
+ {
328
+ value: "day",
329
+ label: "Day"
330
+ },
331
+ {
332
+ value: "list",
333
+ label: "List"
334
+ }
335
+ ];
336
+ function getTitle(view, date) {
337
+ if (view === "month" || view === "list") return formatMonthYear(date);
338
+ if (view === "week") return formatWeekRange(date);
339
+ return formatDayFull(date);
340
+ }
341
+ var ChevronLeft = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
342
+ width: "16",
343
+ height: "16",
344
+ viewBox: "0 0 24 24",
345
+ fill: "none",
346
+ stroke: "currentColor",
347
+ strokeWidth: "2.5",
348
+ strokeLinecap: "round",
349
+ strokeLinejoin: "round",
350
+ "aria-hidden": "true",
351
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M15 18l-6-6 6-6" })
352
+ });
353
+ var ChevronRight = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
354
+ width: "16",
355
+ height: "16",
356
+ viewBox: "0 0 24 24",
357
+ fill: "none",
358
+ stroke: "currentColor",
359
+ strokeWidth: "2.5",
360
+ strokeLinecap: "round",
361
+ strokeLinejoin: "round",
362
+ "aria-hidden": "true",
363
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M9 18l6-6-6-6" })
364
+ });
365
+ var MenuIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
366
+ width: "16",
367
+ height: "16",
368
+ viewBox: "0 0 24 24",
369
+ fill: "none",
370
+ stroke: "currentColor",
371
+ strokeWidth: "2",
372
+ strokeLinecap: "round",
373
+ strokeLinejoin: "round",
374
+ "aria-hidden": "true",
375
+ children: [
376
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
377
+ x1: "3",
378
+ y1: "6",
379
+ x2: "21",
380
+ y2: "6"
381
+ }),
382
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
383
+ x1: "3",
384
+ y1: "12",
385
+ x2: "21",
386
+ y2: "12"
387
+ }),
388
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
389
+ x1: "3",
390
+ y1: "18",
391
+ x2: "21",
392
+ y2: "18"
393
+ })
394
+ ]
395
+ });
396
+ var CalendarHeader = ({ view, currentDate, onPrev, onNext, onViewChange, onSidebarToggle }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
397
+ className: "flex items-center justify-between border-b border-ds-border-3 bg-ds-surface-1 px-4 py-3",
398
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
399
+ className: "flex items-center gap-2",
400
+ children: [
401
+ onSidebarToggle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
402
+ variant: "secondary",
403
+ size: "small",
404
+ className: "h-8 w-8 p-0! hover:opacity-100 lg:hidden",
405
+ "aria-label": "Toggle calendar sidebar",
406
+ onClick: onSidebarToggle,
407
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuIcon, {})
408
+ }),
409
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
410
+ variant: "secondary",
411
+ size: "small",
412
+ className: "h-8 w-8 p-0! hover:opacity-100",
413
+ "aria-label": "Previous period",
414
+ onClick: onPrev,
415
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChevronLeft, {})
416
+ }),
417
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
418
+ variant: "secondary",
419
+ size: "small",
420
+ className: "h-8 w-8 p-0! hover:opacity-100",
421
+ "aria-label": "Next period",
422
+ onClick: onNext,
423
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChevronRight, {})
424
+ }),
425
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
426
+ className: "ms-1 text-base font-semibold text-ds-1",
427
+ children: getTitle(view, currentDate)
428
+ })
429
+ ]
430
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
431
+ className: "flex rounded-lg border border-ds-border-2 bg-ds-surface-2 p-0.5",
432
+ role: "tablist",
433
+ "aria-label": "Calendar view",
434
+ children: VIEWS.map(({ value, label }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
435
+ variant: "tertiary",
436
+ size: "small",
437
+ role: "tab",
438
+ "aria-selected": view === value,
439
+ onClick: () => onViewChange(value),
440
+ className: require_utils.mergeClassNames("rounded-md px-3 py-1.5 text-xs font-medium hover:opacity-100", view === value ? "bg-ds-surface-1 text-ds-1 shadow-1" : "text-ds-3 hover:text-ds-2"),
441
+ children: label
442
+ }, value))
443
+ })]
444
+ });
445
+ //#endregion
446
+ //#region src/components/data-display/event-calendar/EventPill.tsx
447
+ var EventPill = ({ event, compact = false, onDoubleClick }) => {
448
+ const cfg = EVENT_LABEL_CONFIG[event.label];
449
+ const timeStr = event.allDay ? "All day" : `${formatTime(event.start)} – ${formatTime(event.end)}`;
450
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Tooltip.Tooltip, {
451
+ content: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
452
+ className: "flex min-w-0 flex-col gap-1.5",
453
+ children: [
454
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
455
+ className: "font-semibold leading-snug text-ds-1",
456
+ children: event.title
457
+ }),
458
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
459
+ className: "flex items-center gap-1.5",
460
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
461
+ className: "h-2 w-2 shrink-0 rounded-full",
462
+ style: { backgroundColor: cfg.color },
463
+ "aria-hidden": "true"
464
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
465
+ className: "text-xs text-ds-2",
466
+ children: cfg.display
467
+ })]
468
+ }),
469
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
470
+ className: "text-xs text-ds-3",
471
+ children: formatDayFull(event.start)
472
+ }),
473
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
474
+ className: "text-xs text-ds-3",
475
+ children: timeStr
476
+ }),
477
+ event.location && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
478
+ className: "text-xs text-ds-3",
479
+ children: event.location
480
+ })
481
+ ]
482
+ }),
483
+ position: "top",
484
+ delayShow: 500,
485
+ wrapperClassName: "w-full min-w-0",
486
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
487
+ className: `w-full min-w-0 cursor-pointer select-none rounded font-medium leading-none ${compact ? "px-1.5 py-1 text-[11px]" : "px-2 py-1.5 text-xs"}`,
488
+ style: {
489
+ backgroundColor: cfg.bg,
490
+ color: cfg.color
491
+ },
492
+ role: "button",
493
+ tabIndex: 0,
494
+ "aria-label": `${event.title} – ${cfg.display}`,
495
+ onClick: (e) => e.stopPropagation(),
496
+ onDoubleClick: (e) => {
497
+ e.stopPropagation();
498
+ onDoubleClick?.(event);
499
+ },
500
+ onKeyDown: (e) => {
501
+ if (e.key === "Enter") onDoubleClick?.(event);
502
+ },
503
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_truncated_text.TruncatedText, {
504
+ showTitleOnHover: false,
505
+ children: event.title
506
+ })
507
+ })
508
+ });
509
+ };
510
+ //#endregion
511
+ //#region src/components/data-display/event-calendar/views/MonthView.tsx
512
+ var DAY_NAMES = [
513
+ "Sun",
514
+ "Mon",
515
+ "Tue",
516
+ "Wed",
517
+ "Thu",
518
+ "Fri",
519
+ "Sat"
520
+ ];
521
+ var MonthView = ({ currentDate, events, onDayClick, onEventDoubleClick }) => {
522
+ const days = getMonthGridDays(currentDate);
523
+ const currentMonth = currentDate.getMonth();
524
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
525
+ className: "flex flex-1 flex-col overflow-auto",
526
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
527
+ className: "grid grid-cols-7 border-b border-ds-border-3",
528
+ children: DAY_NAMES.map((name) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
529
+ className: "py-2 text-center text-xs font-medium uppercase tracking-wide text-ds-3",
530
+ children: name
531
+ }, name))
532
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
533
+ className: "grid flex-1 grid-cols-7 grid-rows-6",
534
+ children: days.map((day, i) => {
535
+ const inMonth = day.getMonth() === currentMonth;
536
+ const today = isToday(day);
537
+ const dayEvents = getEventsForDay(events, day);
538
+ const visible = dayEvents.slice(0, 2);
539
+ const overflow = dayEvents.length - visible.length;
540
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_button.Button, {
541
+ variant: "tertiary",
542
+ "aria-label": day.toDateString(),
543
+ onClick: () => onDayClick(day),
544
+ className: require_utils.mergeClassNames("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", today ? "bg-ds-surface-2" : ""),
545
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
546
+ className: require_utils.mergeClassNames("self-end flex h-6 w-6 items-center justify-center rounded-full text-xs font-medium leading-none", today ? "bg-ds-accent text-ds-on-accent font-bold" : inMonth ? "text-ds-2" : "text-ds-3 opacity-50"),
547
+ children: day.getDate()
548
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
549
+ className: "flex w-full min-h-0 flex-col gap-0.5",
550
+ children: [visible.map((event) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EventPill, {
551
+ event,
552
+ compact: true,
553
+ onDoubleClick: onEventDoubleClick
554
+ }, event.id)), overflow > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
555
+ className: "px-1 text-[10px] text-ds-3",
556
+ children: [
557
+ "+",
558
+ overflow,
559
+ " more"
560
+ ]
561
+ })]
562
+ })]
563
+ }, i);
564
+ })
565
+ })]
566
+ });
567
+ };
568
+ //#endregion
569
+ //#region src/components/data-display/event-calendar/views/WeekView.tsx
570
+ var HOURS$1 = Array.from({ length: 16 }, (_, i) => 6 + i);
571
+ var DAY_ABBR = [
572
+ "Sun",
573
+ "Mon",
574
+ "Tue",
575
+ "Wed",
576
+ "Thu",
577
+ "Fri",
578
+ "Sat"
579
+ ];
580
+ var WeekView = ({ currentDate, events, onEventDoubleClick }) => {
581
+ const weekDays = getWeekDays(currentDate);
582
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
583
+ className: "flex flex-col flex-1 overflow-hidden",
584
+ children: [
585
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
586
+ className: "grid border-b border-ds-border-3",
587
+ style: { gridTemplateColumns: "56px repeat(7, 1fr)" },
588
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-e border-ds-border-3" }), weekDays.map((day) => {
589
+ const today = isToday(day);
590
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
591
+ className: require_utils.mergeClassNames("flex flex-col items-center py-2 text-xs font-medium border-e border-ds-border-3 last:border-e-0", today ? "bg-ds-accent-subtle/30 text-ds-accent" : "text-ds-3"),
592
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: DAY_ABBR[day.getDay()] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
593
+ className: require_utils.mergeClassNames("mt-0.5 flex h-6 w-6 items-center justify-center rounded-full font-semibold", today ? "bg-ds-accent text-ds-on-accent" : "text-ds-2"),
594
+ children: formatShortDate(day).split("/")[1]
595
+ })]
596
+ }, day.toISOString());
597
+ })]
598
+ }),
599
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
600
+ className: "grid border-b border-ds-border-3",
601
+ style: {
602
+ gridTemplateColumns: "56px repeat(7, 1fr)",
603
+ minHeight: 40
604
+ },
605
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
606
+ className: "flex items-center justify-end pe-2 text-[10px] text-ds-3 border-e border-ds-border-3",
607
+ children: "All-day"
608
+ }), weekDays.map((day) => {
609
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
610
+ className: "flex flex-col gap-0.5 p-0.5 border-e border-ds-border-3 last:border-e-0",
611
+ children: getEventsForDay(events, day).filter((e) => e.allDay).map((e) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EventPill, {
612
+ event: e,
613
+ compact: true,
614
+ onDoubleClick: onEventDoubleClick
615
+ }, e.id))
616
+ }, day.toISOString());
617
+ })]
618
+ }),
619
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
620
+ className: "flex-1 overflow-y-auto",
621
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
622
+ className: "grid relative",
623
+ style: {
624
+ gridTemplateColumns: "56px repeat(7, 1fr)",
625
+ height: HOURS$1.length * 80
626
+ },
627
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
628
+ className: "relative border-e border-ds-border-3",
629
+ children: HOURS$1.map((h) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
630
+ className: "absolute w-full flex justify-end pe-2",
631
+ style: { top: (h - 6) * 80 - 8 },
632
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
633
+ className: "text-[10px] text-ds-3",
634
+ children: formatHour(h)
635
+ })
636
+ }, h))
637
+ }), weekDays.map((day) => {
638
+ const today = isToday(day);
639
+ const timedEvents = getEventsForDay(events, day).filter((e) => !e.allDay);
640
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
641
+ className: require_utils.mergeClassNames("relative border-e border-ds-border-3 last:border-e-0", today ? "bg-ds-accent-subtle/20" : ""),
642
+ children: [HOURS$1.map((h) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
643
+ className: "border-t border-ds-border-3/50",
644
+ style: { height: 80 }
645
+ }, h)), timedEvents.map((event) => {
646
+ const cfg = EVENT_LABEL_CONFIG[event.label];
647
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
648
+ className: "absolute inset-x-0.5 cursor-pointer overflow-hidden rounded px-1.5 py-1 text-xs font-medium leading-tight select-none",
649
+ style: {
650
+ top: getEventTopPx(event),
651
+ height: getEventHeightPx(event),
652
+ backgroundColor: cfg.bg,
653
+ color: cfg.color
654
+ },
655
+ title: event.title,
656
+ onDoubleClick: () => onEventDoubleClick?.(event),
657
+ children: event.title
658
+ }, event.id);
659
+ })]
660
+ }, day.toISOString());
661
+ })]
662
+ })
663
+ })
664
+ ]
665
+ });
666
+ };
667
+ //#endregion
668
+ //#region src/components/data-display/event-calendar/views/DayView.tsx
669
+ var HOURS = Array.from({ length: 16 }, (_, i) => 6 + i);
670
+ var DayView = ({ currentDate, events, onEventDoubleClick }) => {
671
+ const dayName = currentDate.toLocaleDateString("en-US", { weekday: "long" });
672
+ const allDayEvents = getEventsForDay(events, currentDate).filter((e) => e.allDay);
673
+ const timedEvents = getEventsForDay(events, currentDate).filter((e) => !e.allDay);
674
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
675
+ className: "flex flex-col flex-1 overflow-hidden",
676
+ children: [
677
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
678
+ className: "grid border-b border-ds-border-3",
679
+ style: { gridTemplateColumns: "56px 1fr" },
680
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-e border-ds-border-3" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
681
+ className: "flex flex-col items-center py-2 text-xs font-medium text-ds-accent bg-ds-accent-subtle/30",
682
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: dayName }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
683
+ className: "mt-0.5 flex h-6 w-6 items-center justify-center rounded-full bg-ds-accent text-ds-on-accent font-semibold",
684
+ children: currentDate.getDate()
685
+ })]
686
+ })]
687
+ }),
688
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
689
+ className: "grid border-b border-ds-border-3",
690
+ style: {
691
+ gridTemplateColumns: "56px 1fr",
692
+ minHeight: 40
693
+ },
694
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
695
+ className: "flex items-center justify-end pe-2 text-[10px] text-ds-3 border-e border-ds-border-3",
696
+ children: "All-day"
697
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
698
+ className: "flex flex-col gap-0.5 p-1",
699
+ children: allDayEvents.map((e) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
700
+ className: "cursor-pointer truncate rounded px-2 py-1 text-xs font-medium select-none",
701
+ style: {
702
+ backgroundColor: EVENT_LABEL_CONFIG[e.label].bg,
703
+ color: EVENT_LABEL_CONFIG[e.label].color
704
+ },
705
+ title: e.title,
706
+ onDoubleClick: () => onEventDoubleClick?.(e),
707
+ children: e.title
708
+ }, e.id))
709
+ })]
710
+ }),
711
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
712
+ className: "flex-1 overflow-y-auto",
713
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
714
+ className: "grid relative",
715
+ style: {
716
+ gridTemplateColumns: "56px 1fr",
717
+ height: HOURS.length * 80
718
+ },
719
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
720
+ className: "relative border-e border-ds-border-3",
721
+ children: HOURS.map((h) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
722
+ className: "absolute w-full flex justify-end pe-2",
723
+ style: { top: (h - 6) * 80 - 8 },
724
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
725
+ className: "text-[10px] text-ds-3",
726
+ children: formatHour(h)
727
+ })
728
+ }, h))
729
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
730
+ className: "relative bg-ds-accent-subtle/20",
731
+ children: [HOURS.map((h) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
732
+ className: "border-t border-ds-border-3/50",
733
+ style: { height: 80 }
734
+ }, h)), timedEvents.map((event) => {
735
+ const cfg = EVENT_LABEL_CONFIG[event.label];
736
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
737
+ className: "absolute inset-x-1 cursor-pointer overflow-hidden rounded px-2 py-1 text-xs font-medium leading-tight select-none",
738
+ style: {
739
+ top: getEventTopPx(event),
740
+ height: getEventHeightPx(event),
741
+ backgroundColor: cfg.bg,
742
+ color: cfg.color
743
+ },
744
+ title: event.title,
745
+ onDoubleClick: () => onEventDoubleClick?.(event),
746
+ children: event.title
747
+ }, event.id);
748
+ })]
749
+ })]
750
+ })
751
+ })
752
+ ]
753
+ });
754
+ };
755
+ //#endregion
756
+ //#region src/components/data-display/event-calendar/views/ListView.tsx
757
+ var ListView = ({ currentDate, events, onEventDoubleClick }) => {
758
+ const monthStart = startOfMonth(currentDate);
759
+ const monthEnd = endOfMonth(currentDate);
760
+ const monthEvents = events.filter((e) => e.start <= monthEnd && e.end >= monthStart).sort((a, b) => a.start.getTime() - b.start.getTime());
761
+ const groups = [];
762
+ for (const event of monthEvents) {
763
+ const existing = groups.find((g) => isSameDay(g.day, event.start));
764
+ if (existing) existing.events.push(event);
765
+ else groups.push({
766
+ day: event.start,
767
+ events: [event]
768
+ });
769
+ }
770
+ if (groups.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
771
+ className: "flex flex-1 items-center justify-center text-sm text-ds-3",
772
+ children: "No events this month"
773
+ });
774
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
775
+ className: "flex-1 overflow-y-auto",
776
+ children: groups.map(({ day, events: dayEvents }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
777
+ className: "flex items-center justify-between bg-ds-surface-2 px-4 py-2 border-b border-ds-border-3",
778
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
779
+ className: "text-sm font-semibold text-ds-1",
780
+ children: formatListDate(day)
781
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
782
+ className: "text-xs font-medium text-ds-3",
783
+ children: formatListDayName(day)
784
+ })]
785
+ }), dayEvents.map((event) => {
786
+ const cfg = EVENT_LABEL_CONFIG[event.label];
787
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
788
+ 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",
789
+ onDoubleClick: () => onEventDoubleClick?.(event),
790
+ title: "Double-click to view details",
791
+ children: [
792
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
793
+ className: "w-28 shrink-0 text-xs text-ds-3",
794
+ children: event.allDay ? "all-day" : `${formatTime(event.start)}–${formatTime(event.end)}`
795
+ }),
796
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
797
+ className: "h-2 w-2 shrink-0 rounded-full",
798
+ style: { backgroundColor: cfg.color },
799
+ "aria-hidden": "true"
800
+ }),
801
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
802
+ className: "truncate text-sm text-ds-1",
803
+ children: event.title
804
+ })
805
+ ]
806
+ }, event.id);
807
+ })] }, day.toISOString()))
808
+ });
809
+ };
810
+ //#endregion
811
+ //#region src/components/data-display/event-calendar/AddEventPanel.tsx
812
+ function toDateInput(d) {
813
+ return d.toISOString().split("T")[0] ?? "";
814
+ }
815
+ var labelOptions = ALL_LABELS.map((l) => ({
816
+ value: l,
817
+ label: EVENT_LABEL_CONFIG[l].display
818
+ }));
819
+ var AddEventPanel = ({ isOpen, onClose, onSubmit, initialDate }) => {
820
+ const [title, setTitle] = (0, react.useState)("");
821
+ const [label, setLabel] = (0, react.useState)("personal");
822
+ const [startDate, setStartDate] = (0, react.useState)("");
823
+ const [endDate, setEndDate] = (0, react.useState)("");
824
+ const [allDay, setAllDay] = (0, react.useState)(true);
825
+ const [url, setUrl] = (0, react.useState)("");
826
+ const [guests, setGuests] = (0, react.useState)("");
827
+ const [location, setLocation] = (0, react.useState)("");
828
+ const [description, setDescription] = (0, react.useState)("");
829
+ (0, react.useEffect)(() => {
830
+ if (isOpen) {
831
+ const today = initialDate ?? /* @__PURE__ */ new Date();
832
+ setTitle("");
833
+ setLabel("personal");
834
+ setStartDate(toDateInput(today));
835
+ setEndDate(toDateInput(today));
836
+ setAllDay(true);
837
+ setUrl("");
838
+ setGuests("");
839
+ setLocation("");
840
+ setDescription("");
841
+ }
842
+ }, [isOpen, initialDate]);
843
+ const handleSubmit = () => {
844
+ if (!title.trim()) return;
845
+ const start = new Date(startDate);
846
+ const end = new Date(endDate);
847
+ end.setHours(23, 59, 59, 999);
848
+ onSubmit({
849
+ id: generateId(),
850
+ title: title.trim(),
851
+ start,
852
+ end,
853
+ allDay,
854
+ label,
855
+ url: url.trim() || void 0,
856
+ guests: guests.trim() || void 0,
857
+ location: location.trim() || void 0,
858
+ description: description.trim() || void 0
859
+ });
860
+ };
861
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Drawer.Drawer, {
862
+ open: isOpen,
863
+ onOpenChange: (o) => {
864
+ if (!o) onClose();
865
+ },
866
+ title: "Add Event",
867
+ position: "right",
868
+ footer: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
869
+ className: "flex gap-2",
870
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
871
+ variant: "primary",
872
+ className: "flex-1",
873
+ onClick: handleSubmit,
874
+ disabled: !title.trim(),
875
+ children: "Submit"
876
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
877
+ variant: "secondary",
878
+ onClick: onClose,
879
+ children: "Cancel"
880
+ })]
881
+ }),
882
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
883
+ className: "flex flex-col gap-4",
884
+ children: [
885
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
886
+ className: "flex flex-col gap-1.5",
887
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
888
+ className: "text-xs font-medium text-ds-2",
889
+ children: "Title"
890
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
891
+ placeholder: "Meeting with Jane",
892
+ value: title,
893
+ onChange: (e) => setTitle(e.target.value)
894
+ })]
895
+ }),
896
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
897
+ className: "flex flex-col gap-1.5",
898
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
899
+ className: "text-xs font-medium text-ds-2",
900
+ children: "Label"
901
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_select.Select, {
902
+ options: labelOptions,
903
+ value: label,
904
+ onChange: (e) => setLabel(e.target.value),
905
+ placeholder: "Select Event Label"
906
+ })]
907
+ }),
908
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
909
+ className: "grid grid-cols-2 gap-3",
910
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
911
+ className: "flex flex-col gap-1.5",
912
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
913
+ className: "text-xs font-medium text-ds-2",
914
+ children: "Start date"
915
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
916
+ type: "date",
917
+ value: startDate,
918
+ onChange: (e) => setStartDate(e.target.value)
919
+ })]
920
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
921
+ className: "flex flex-col gap-1.5",
922
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
923
+ className: "text-xs font-medium text-ds-2",
924
+ children: "End date"
925
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
926
+ type: "date",
927
+ value: endDate,
928
+ onChange: (e) => setEndDate(e.target.value)
929
+ })]
930
+ })]
931
+ }),
932
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
933
+ className: "flex items-center justify-between",
934
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
935
+ className: "text-xs font-medium text-ds-2",
936
+ children: "All day"
937
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_switch.Switch, {
938
+ checked: allDay,
939
+ onChange: (e) => setAllDay(e.target.checked),
940
+ "aria-label": "All day event"
941
+ })]
942
+ }),
943
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
944
+ className: "flex flex-col gap-1.5",
945
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
946
+ className: "text-xs font-medium text-ds-2",
947
+ children: "Event URL"
948
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
949
+ placeholder: "https://event.com/meeting",
950
+ value: url,
951
+ onChange: (e) => setUrl(e.target.value)
952
+ })]
953
+ }),
954
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
955
+ className: "flex flex-col gap-1.5",
956
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
957
+ className: "text-xs font-medium text-ds-2",
958
+ children: "Guests"
959
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
960
+ placeholder: "Select guests",
961
+ value: guests,
962
+ onChange: (e) => setGuests(e.target.value)
963
+ })]
964
+ }),
965
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
966
+ className: "flex flex-col gap-1.5",
967
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
968
+ className: "text-xs font-medium text-ds-2",
969
+ children: "Location"
970
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
971
+ placeholder: "Meeting room",
972
+ value: location,
973
+ onChange: (e) => setLocation(e.target.value)
974
+ })]
975
+ }),
976
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
977
+ className: "flex flex-col gap-1.5",
978
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
979
+ className: "text-xs font-medium text-ds-2",
980
+ children: "Description"
981
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_textarea.Textarea, {
982
+ placeholder: "Add description",
983
+ value: description,
984
+ onChange: (e) => setDescription(e.target.value),
985
+ className: "h-24 resize-none"
986
+ })]
987
+ })
988
+ ]
989
+ })
990
+ });
991
+ };
992
+ //#endregion
993
+ //#region src/components/data-display/event-calendar/EventDetailDrawer.tsx
994
+ var EventDetailDrawer = ({ event, open, onClose }) => {
995
+ if (!event) return null;
996
+ const cfg = EVENT_LABEL_CONFIG[event.label];
997
+ const timeStr = event.allDay ? "All day" : `${formatTime(event.start)} – ${formatTime(event.end)}`;
998
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Drawer.Drawer, {
999
+ open,
1000
+ onOpenChange: (o) => {
1001
+ if (!o) onClose();
1002
+ },
1003
+ title: event.title,
1004
+ position: "right",
1005
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1006
+ className: "flex flex-col gap-5",
1007
+ children: [
1008
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
1009
+ className: "inline-flex w-fit items-center gap-1.5 rounded-full px-3 py-1 text-xs font-semibold",
1010
+ style: {
1011
+ backgroundColor: cfg.bg,
1012
+ color: cfg.color
1013
+ },
1014
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1015
+ className: "h-1.5 w-1.5 rounded-full",
1016
+ style: { backgroundColor: cfg.color },
1017
+ "aria-hidden": "true"
1018
+ }), cfg.display]
1019
+ }),
1020
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1021
+ className: "flex flex-col gap-1",
1022
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1023
+ className: "text-xs font-semibold uppercase tracking-wider text-ds-3",
1024
+ children: "Date"
1025
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1026
+ className: "text-sm text-ds-1",
1027
+ children: formatDayFull(event.start)
1028
+ })]
1029
+ }),
1030
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1031
+ className: "flex flex-col gap-1",
1032
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1033
+ className: "text-xs font-semibold uppercase tracking-wider text-ds-3",
1034
+ children: "Time"
1035
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1036
+ className: "text-sm text-ds-1",
1037
+ children: timeStr
1038
+ })]
1039
+ }),
1040
+ event.location && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1041
+ className: "flex flex-col gap-1",
1042
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1043
+ className: "text-xs font-semibold uppercase tracking-wider text-ds-3",
1044
+ children: "Location"
1045
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1046
+ className: "text-sm text-ds-1",
1047
+ children: event.location
1048
+ })]
1049
+ }),
1050
+ event.guests && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1051
+ className: "flex flex-col gap-1",
1052
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1053
+ className: "text-xs font-semibold uppercase tracking-wider text-ds-3",
1054
+ children: "Guests"
1055
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1056
+ className: "text-sm text-ds-1",
1057
+ children: event.guests
1058
+ })]
1059
+ }),
1060
+ event.url && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1061
+ className: "flex flex-col gap-1",
1062
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1063
+ className: "text-xs font-semibold uppercase tracking-wider text-ds-3",
1064
+ children: "Event URL"
1065
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1066
+ className: "break-all text-sm text-ds-accent",
1067
+ children: event.url
1068
+ })]
1069
+ }),
1070
+ event.description && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1071
+ className: "flex flex-col gap-1",
1072
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1073
+ className: "text-xs font-semibold uppercase tracking-wider text-ds-3",
1074
+ children: "Description"
1075
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1076
+ className: "text-sm leading-relaxed text-ds-2",
1077
+ children: event.description
1078
+ })]
1079
+ })
1080
+ ]
1081
+ })
1082
+ });
1083
+ };
1084
+ //#endregion
1085
+ //#region src/components/data-display/event-calendar/EventCalendar.tsx
1086
+ var EventCalendar = ({ initialEvents = [], initialView = "month", initialDate, onEventAdd, className }) => {
1087
+ const [view, setView] = (0, react.useState)(initialView);
1088
+ const [currentDate, setCurrentDate] = (0, react.useState)(initialDate ?? /* @__PURE__ */ new Date());
1089
+ const [events, setEvents] = (0, react.useState)(initialEvents);
1090
+ const [activeLabels, setActiveLabels] = (0, react.useState)([...ALL_LABELS]);
1091
+ const [isAddPanelOpen, setIsAddPanelOpen] = (0, react.useState)(false);
1092
+ const [isSidebarDrawerOpen, setIsSidebarDrawerOpen] = (0, react.useState)(false);
1093
+ const [selectedEvent, setSelectedEvent] = (0, react.useState)(null);
1094
+ const [isEventDrawerOpen, setIsEventDrawerOpen] = (0, react.useState)(false);
1095
+ const handlePrev = () => {
1096
+ if (view === "month" || view === "list") setCurrentDate((d) => addMonths(d, -1));
1097
+ else if (view === "week") setCurrentDate((d) => addWeeks(d, -1));
1098
+ else setCurrentDate((d) => addDays(d, -1));
1099
+ };
1100
+ const handleNext = () => {
1101
+ if (view === "month" || view === "list") setCurrentDate((d) => addMonths(d, 1));
1102
+ else if (view === "week") setCurrentDate((d) => addWeeks(d, 1));
1103
+ else setCurrentDate((d) => addDays(d, 1));
1104
+ };
1105
+ const handleEventSubmit = (event) => {
1106
+ setEvents((prev) => [...prev, event]);
1107
+ onEventAdd?.(event);
1108
+ setIsAddPanelOpen(false);
1109
+ };
1110
+ const handleEventDoubleClick = (event) => {
1111
+ setSelectedEvent(event);
1112
+ setIsEventDrawerOpen(true);
1113
+ };
1114
+ const filteredEvents = events.filter((e) => activeLabels.includes(e.label));
1115
+ const handleDayClick = (day) => {
1116
+ setCurrentDate(day);
1117
+ setView("day");
1118
+ };
1119
+ const sidebarProps = {
1120
+ currentDate,
1121
+ onDateChange: (d) => setCurrentDate(d),
1122
+ onMonthChange: (d) => setCurrentDate(d),
1123
+ activeLabels,
1124
+ onFiltersChange: setActiveLabels,
1125
+ onAddEvent: () => {
1126
+ setIsSidebarDrawerOpen(false);
1127
+ setIsAddPanelOpen(true);
1128
+ }
1129
+ };
1130
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1131
+ className: require_utils.mergeClassNames("flex h-full overflow-hidden rounded-xl border border-ds-border-3 bg-ds-surface-1", className),
1132
+ children: [
1133
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CalendarSidebar, { ...sidebarProps }),
1134
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Drawer.Drawer, {
1135
+ open: isSidebarDrawerOpen,
1136
+ onOpenChange: setIsSidebarDrawerOpen,
1137
+ title: "Calendar",
1138
+ position: "left",
1139
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CalendarSidebarContent, { ...sidebarProps })
1140
+ }),
1141
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("main", {
1142
+ className: "flex flex-1 flex-col overflow-hidden",
1143
+ children: [
1144
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CalendarHeader, {
1145
+ view,
1146
+ currentDate,
1147
+ onPrev: handlePrev,
1148
+ onNext: handleNext,
1149
+ onViewChange: setView,
1150
+ onSidebarToggle: () => setIsSidebarDrawerOpen(true)
1151
+ }),
1152
+ view === "month" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MonthView, {
1153
+ currentDate,
1154
+ events: filteredEvents,
1155
+ onDayClick: handleDayClick,
1156
+ onEventDoubleClick: handleEventDoubleClick
1157
+ }),
1158
+ view === "week" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(WeekView, {
1159
+ currentDate,
1160
+ events: filteredEvents,
1161
+ onEventDoubleClick: handleEventDoubleClick
1162
+ }),
1163
+ view === "day" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DayView, {
1164
+ currentDate,
1165
+ events: filteredEvents,
1166
+ onEventDoubleClick: handleEventDoubleClick
1167
+ }),
1168
+ view === "list" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListView, {
1169
+ currentDate,
1170
+ events: filteredEvents,
1171
+ onEventDoubleClick: handleEventDoubleClick
1172
+ })
1173
+ ]
1174
+ }),
1175
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AddEventPanel, {
1176
+ isOpen: isAddPanelOpen,
1177
+ onClose: () => setIsAddPanelOpen(false),
1178
+ onSubmit: handleEventSubmit,
1179
+ initialDate: currentDate
1180
+ }),
1181
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EventDetailDrawer, {
1182
+ event: selectedEvent,
1183
+ open: isEventDrawerOpen,
1184
+ onClose: () => setIsEventDrawerOpen(false)
1185
+ })
1186
+ ]
1187
+ });
1188
+ };
1189
+ //#endregion
1190
+ Object.defineProperty(exports, "ALL_LABELS", {
1191
+ enumerable: true,
1192
+ get: function() {
1193
+ return ALL_LABELS;
1194
+ }
1195
+ });
1196
+ Object.defineProperty(exports, "EVENT_LABEL_CONFIG", {
1197
+ enumerable: true,
1198
+ get: function() {
1199
+ return EVENT_LABEL_CONFIG;
1200
+ }
1201
+ });
1202
+ Object.defineProperty(exports, "EventCalendar", {
1203
+ enumerable: true,
1204
+ get: function() {
1205
+ return EventCalendar;
1206
+ }
1207
+ });
1208
+
1209
+ //# sourceMappingURL=event-calendar-Bljd_7PI.cjs.map