@alfadocs/ui-kit-debug 1.128.0 → 1.129.0

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 (281) hide show
  1. package/dist/_chunks/{appointment-card-0PebvrOS.js → appointment-card-vbUsDh70.js} +49 -72
  2. package/dist/_chunks/appointment-card-vbUsDh70.js.map +1 -0
  3. package/dist/_chunks/{appointment-timeline-Czd4PBkF.js → appointment-timeline-B5pfBl-b.js} +2 -2
  4. package/dist/_chunks/{appointment-timeline-Czd4PBkF.js.map → appointment-timeline-B5pfBl-b.js.map} +1 -1
  5. package/dist/_chunks/{appointment-tray-B04zKY7g.js → appointment-tray-BhiXetjs.js} +2 -2
  6. package/dist/_chunks/{appointment-tray-B04zKY7g.js.map → appointment-tray-BhiXetjs.js.map} +1 -1
  7. package/dist/_chunks/{calendar-_sgjuH3L.js → calendar-DzR-vdJ5.js} +614 -563
  8. package/dist/_chunks/calendar-DzR-vdJ5.js.map +1 -0
  9. package/dist/_chunks/calendar-appointment-editor-dialog-DnPADcj9.js +13438 -0
  10. package/dist/_chunks/calendar-appointment-editor-dialog-DnPADcj9.js.map +1 -0
  11. package/dist/_chunks/{calendar-event-card-DXAYWH6k.js → calendar-event-card-BNEzkjm-.js} +142 -132
  12. package/dist/_chunks/calendar-event-card-BNEzkjm-.js.map +1 -0
  13. package/dist/_chunks/{care-plan-card-bGTIliXc.js → care-plan-card-CwgkImOD.js} +2 -2
  14. package/dist/_chunks/{care-plan-card-bGTIliXc.js.map → care-plan-card-CwgkImOD.js.map} +1 -1
  15. package/dist/_chunks/{care-plan-header-k8FslxsU.js → care-plan-header-Dx5OMkc9.js} +2 -2
  16. package/dist/_chunks/{care-plan-header-k8FslxsU.js.map → care-plan-header-Dx5OMkc9.js.map} +1 -1
  17. package/dist/_chunks/{clinical-note-card-DHn5W_bv.js → clinical-note-card-pPaeWWnu.js} +2 -2
  18. package/dist/_chunks/{clinical-note-card-DHn5W_bv.js.map → clinical-note-card-pPaeWWnu.js.map} +1 -1
  19. package/dist/_chunks/{contact-card-CGpbYuxl.js → contact-card-BSY2YpLZ.js} +2 -2
  20. package/dist/_chunks/{contact-card-CGpbYuxl.js.map → contact-card-BSY2YpLZ.js.map} +1 -1
  21. package/dist/_chunks/{contact-profile-card-CCgf0Ntt.js → contact-profile-card-CsZNMlws.js} +2 -2
  22. package/dist/_chunks/{contact-profile-card-CCgf0Ntt.js.map → contact-profile-card-CsZNMlws.js.map} +1 -1
  23. package/dist/_chunks/{default-tabs-DOuHEKI5.js → default-tabs-BnB6FUEW.js} +2 -2
  24. package/dist/_chunks/{default-tabs-DOuHEKI5.js.map → default-tabs-BnB6FUEW.js.map} +1 -1
  25. package/dist/_chunks/{entity-summary-BanguTa6.js → entity-summary-Dzk54yom.js} +2 -2
  26. package/dist/_chunks/{entity-summary-BanguTa6.js.map → entity-summary-Dzk54yom.js.map} +1 -1
  27. package/dist/_chunks/file-pen-line-k4uMBM3h.js +29 -0
  28. package/dist/_chunks/file-pen-line-k4uMBM3h.js.map +1 -0
  29. package/dist/_chunks/{info-tip-C-MPkShR.js → info-tip-B3cn3fY2.js} +2 -2
  30. package/dist/_chunks/{info-tip-C-MPkShR.js.map → info-tip-B3cn3fY2.js.map} +1 -1
  31. package/dist/_chunks/{link-DtCfnLnF.js → link-CeV7FoI6.js} +2 -2
  32. package/dist/_chunks/{link-DtCfnLnF.js.map → link-CeV7FoI6.js.map} +1 -1
  33. package/dist/_chunks/{nav-grid-D2xVcHTO.js → nav-grid-dEgDAri3.js} +2 -2
  34. package/dist/_chunks/{nav-grid-D2xVcHTO.js.map → nav-grid-dEgDAri3.js.map} +1 -1
  35. package/dist/_chunks/{note-attachment-cnj2JRrg.js → note-attachment-MNTIqdSz.js} +2 -2
  36. package/dist/_chunks/{note-attachment-cnj2JRrg.js.map → note-attachment-MNTIqdSz.js.map} +1 -1
  37. package/dist/_chunks/{note-timeline-BrjHBQfx.js → note-timeline-BQeW0VZY.js} +2 -2
  38. package/dist/_chunks/{note-timeline-BrjHBQfx.js.map → note-timeline-BQeW0VZY.js.map} +1 -1
  39. package/dist/_chunks/{notes-panel-n1JFNQ5u.js → notes-panel-DIY7eNsq.js} +2 -2
  40. package/dist/_chunks/{notes-panel-n1JFNQ5u.js.map → notes-panel-DIY7eNsq.js.map} +1 -1
  41. package/dist/_chunks/{patient-details-Cba9HQj_.js → patient-details-DBtEITfE.js} +2 -2
  42. package/dist/_chunks/{patient-details-Cba9HQj_.js.map → patient-details-DBtEITfE.js.map} +1 -1
  43. package/dist/_chunks/{patient-field-row-CtDihADs.js → patient-field-row-a5d4QijH.js} +2 -2
  44. package/dist/_chunks/{patient-field-row-CtDihADs.js.map → patient-field-row-a5d4QijH.js.map} +1 -1
  45. package/dist/_chunks/{patient-summary-card-DnLdbtsw.js → patient-summary-card-BUcZ-gaL.js} +3 -3
  46. package/dist/_chunks/{patient-summary-card-DnLdbtsw.js.map → patient-summary-card-BUcZ-gaL.js.map} +1 -1
  47. package/dist/_chunks/{payment-request-card-CEIalOtr.js → payment-request-card-Dv4WbRBe.js} +2 -2
  48. package/dist/_chunks/{payment-request-card-CEIalOtr.js.map → payment-request-card-Dv4WbRBe.js.map} +1 -1
  49. package/dist/_chunks/{product-hub-panel-CqRJlmb7.js → product-hub-panel-a8wdVOUt.js} +2 -2
  50. package/dist/_chunks/{product-hub-panel-CqRJlmb7.js.map → product-hub-panel-a8wdVOUt.js.map} +1 -1
  51. package/dist/_chunks/{public-footer-C8UIzqLJ.js → public-footer-D0cqScpz.js} +2 -2
  52. package/dist/_chunks/{public-footer-C8UIzqLJ.js.map → public-footer-D0cqScpz.js.map} +1 -1
  53. package/dist/_chunks/{signature-request-Dzs0jZsd.js → signature-request-DW2PSp66.js} +3 -3
  54. package/dist/_chunks/{signature-request-Dzs0jZsd.js.map → signature-request-DW2PSp66.js.map} +1 -1
  55. package/dist/_chunks/{signed-out-frame-fUf7tqs3.js → signed-out-frame-Oa2e1yps.js} +2 -2
  56. package/dist/_chunks/{signed-out-frame-fUf7tqs3.js.map → signed-out-frame-Oa2e1yps.js.map} +1 -1
  57. package/dist/_chunks/task-editor-CVRrDqpe.js +1256 -0
  58. package/dist/_chunks/task-editor-CVRrDqpe.js.map +1 -0
  59. package/dist/_chunks/{treatment-receipt-1VnuinhY.js → treatment-receipt-BZzwvsnY.js} +73 -56
  60. package/dist/_chunks/treatment-receipt-BZzwvsnY.js.map +1 -0
  61. package/dist/_chunks/use-appointment-details-read-n7kycxrm.js +2439 -0
  62. package/dist/_chunks/use-appointment-details-read-n7kycxrm.js.map +1 -0
  63. package/dist/_chunks/{whatsapp-button-DV9JFmtq.js → whatsapp-button-XbozeDl_.js} +32 -25
  64. package/dist/_chunks/whatsapp-button-XbozeDl_.js.map +1 -0
  65. package/dist/agent-catalog.json +49 -16
  66. package/dist/agent-i18n/en.json +5 -5
  67. package/dist/browser-support.js +1 -1
  68. package/dist/components/_shared/patient-picker.d.ts +10 -0
  69. package/dist/components/_shared/patient-picker.d.ts.map +1 -1
  70. package/dist/components/appointment-card/index.js +2 -2
  71. package/dist/components/appointment-details-panel/appointment-details-panel.d.ts +23 -1
  72. package/dist/components/appointment-details-panel/appointment-details-panel.d.ts.map +1 -1
  73. package/dist/components/appointment-details-panel/appointment-details-panel.links.d.ts +13 -0
  74. package/dist/components/appointment-details-panel/appointment-details-panel.links.d.ts.map +1 -0
  75. package/dist/components/appointment-details-panel/appointment-details-panel.recurrence.d.ts +9 -0
  76. package/dist/components/appointment-details-panel/appointment-details-panel.recurrence.d.ts.map +1 -0
  77. package/dist/components/appointment-details-panel/appointment-details-panel.sections.d.ts +8 -3
  78. package/dist/components/appointment-details-panel/appointment-details-panel.sections.d.ts.map +1 -1
  79. package/dist/components/appointment-details-panel/appointment-details-panel.types.d.ts +63 -1
  80. package/dist/components/appointment-details-panel/appointment-details-panel.types.d.ts.map +1 -1
  81. package/dist/components/appointment-details-panel/index.d.ts +2 -1
  82. package/dist/components/appointment-details-panel/index.d.ts.map +1 -1
  83. package/dist/components/appointment-details-panel/index.js +5 -4
  84. package/dist/components/appointment-timeline/index.js +1 -1
  85. package/dist/components/bill-table/index.js +1 -1
  86. package/dist/components/calendar/calendar.d.ts +22 -0
  87. package/dist/components/calendar/calendar.d.ts.map +1 -1
  88. package/dist/components/calendar/index.js +1 -1
  89. package/dist/components/calendar-event-card/calendar-event-card.d.ts +8 -0
  90. package/dist/components/calendar-event-card/calendar-event-card.d.ts.map +1 -1
  91. package/dist/components/calendar-event-card/index.js +1 -1
  92. package/dist/components/care-plan-card/index.js +1 -1
  93. package/dist/components/care-plan-header/index.js +1 -1
  94. package/dist/components/clinical-note-card/index.js +1 -1
  95. package/dist/components/contact-card/index.js +1 -1
  96. package/dist/components/contact-profile-card/index.js +1 -1
  97. package/dist/components/entity-summary/index.js +1 -1
  98. package/dist/components/info-tip/index.js +1 -1
  99. package/dist/components/link/index.js +1 -1
  100. package/dist/components/nav-grid/index.js +1 -1
  101. package/dist/components/note-timeline/index.js +1 -1
  102. package/dist/components/notes-panel/index.js +1 -1
  103. package/dist/components/patient-details/index.js +1 -1
  104. package/dist/components/patient-summary-card/index.js +1 -1
  105. package/dist/components/payment-card/index.js +1 -1
  106. package/dist/components/product-hub-tray/index.js +1 -1
  107. package/dist/components/public-footer/index.js +1 -1
  108. package/dist/components/task-editor/index.js +1 -1
  109. package/dist/components/treatment-receipt/index.d.ts +2 -2
  110. package/dist/components/treatment-receipt/index.d.ts.map +1 -1
  111. package/dist/components/treatment-receipt/index.js +2 -1
  112. package/dist/components/treatment-receipt/treatment-receipt.d.ts +11 -1
  113. package/dist/components/treatment-receipt/treatment-receipt.d.ts.map +1 -1
  114. package/dist/components/whatsapp-button/index.js +1 -1
  115. package/dist/components/whatsapp-button/whatsapp-button.d.ts.map +1 -1
  116. package/dist/core.css +1 -1
  117. package/dist/fullcalendar.css +5 -1
  118. package/dist/host-compat.css +4 -1
  119. package/dist/i18n/locales/ar.d.ts +111 -4
  120. package/dist/i18n/locales/ar.d.ts.map +1 -1
  121. package/dist/i18n/locales/ar.js +122 -15
  122. package/dist/i18n/locales/ar.js.map +1 -1
  123. package/dist/i18n/locales/de.d.ts +111 -4
  124. package/dist/i18n/locales/de.d.ts.map +1 -1
  125. package/dist/i18n/locales/de.js +122 -15
  126. package/dist/i18n/locales/de.js.map +1 -1
  127. package/dist/i18n/locales/el.d.ts +111 -4
  128. package/dist/i18n/locales/el.d.ts.map +1 -1
  129. package/dist/i18n/locales/el.js +122 -15
  130. package/dist/i18n/locales/el.js.map +1 -1
  131. package/dist/i18n/locales/en.d.ts +111 -4
  132. package/dist/i18n/locales/en.d.ts.map +1 -1
  133. package/dist/i18n/locales/en.js +114 -10
  134. package/dist/i18n/locales/en.js.map +1 -1
  135. package/dist/i18n/locales/es.d.ts +111 -4
  136. package/dist/i18n/locales/es.d.ts.map +1 -1
  137. package/dist/i18n/locales/es.js +122 -15
  138. package/dist/i18n/locales/es.js.map +1 -1
  139. package/dist/i18n/locales/fr.d.ts +111 -4
  140. package/dist/i18n/locales/fr.d.ts.map +1 -1
  141. package/dist/i18n/locales/fr.js +122 -15
  142. package/dist/i18n/locales/fr.js.map +1 -1
  143. package/dist/i18n/locales/hi.d.ts +111 -4
  144. package/dist/i18n/locales/hi.d.ts.map +1 -1
  145. package/dist/i18n/locales/hi.js +122 -15
  146. package/dist/i18n/locales/hi.js.map +1 -1
  147. package/dist/i18n/locales/it.d.ts +111 -4
  148. package/dist/i18n/locales/it.d.ts.map +1 -1
  149. package/dist/i18n/locales/it.js +122 -15
  150. package/dist/i18n/locales/it.js.map +1 -1
  151. package/dist/i18n/locales/ja.d.ts +111 -4
  152. package/dist/i18n/locales/ja.d.ts.map +1 -1
  153. package/dist/i18n/locales/ja.js +122 -15
  154. package/dist/i18n/locales/ja.js.map +1 -1
  155. package/dist/i18n/locales/nl.d.ts +111 -4
  156. package/dist/i18n/locales/nl.d.ts.map +1 -1
  157. package/dist/i18n/locales/nl.js +122 -15
  158. package/dist/i18n/locales/nl.js.map +1 -1
  159. package/dist/i18n/locales/pl.d.ts +111 -4
  160. package/dist/i18n/locales/pl.d.ts.map +1 -1
  161. package/dist/i18n/locales/pl.js +122 -15
  162. package/dist/i18n/locales/pl.js.map +1 -1
  163. package/dist/i18n/locales/pt.d.ts +111 -4
  164. package/dist/i18n/locales/pt.d.ts.map +1 -1
  165. package/dist/i18n/locales/pt.js +122 -15
  166. package/dist/i18n/locales/pt.js.map +1 -1
  167. package/dist/i18n/locales/ro.d.ts +111 -4
  168. package/dist/i18n/locales/ro.d.ts.map +1 -1
  169. package/dist/i18n/locales/ro.js +122 -15
  170. package/dist/i18n/locales/ro.js.map +1 -1
  171. package/dist/i18n/locales/ru.d.ts +111 -4
  172. package/dist/i18n/locales/ru.d.ts.map +1 -1
  173. package/dist/i18n/locales/ru.js +122 -15
  174. package/dist/i18n/locales/ru.js.map +1 -1
  175. package/dist/i18n/locales/sq.d.ts +111 -4
  176. package/dist/i18n/locales/sq.d.ts.map +1 -1
  177. package/dist/i18n/locales/sq.js +122 -15
  178. package/dist/i18n/locales/sq.js.map +1 -1
  179. package/dist/i18n/locales/sv.d.ts +111 -4
  180. package/dist/i18n/locales/sv.d.ts.map +1 -1
  181. package/dist/i18n/locales/sv.js +122 -15
  182. package/dist/i18n/locales/sv.js.map +1 -1
  183. package/dist/i18n/locales/tr.d.ts +111 -4
  184. package/dist/i18n/locales/tr.d.ts.map +1 -1
  185. package/dist/i18n/locales/tr.js +122 -15
  186. package/dist/i18n/locales/tr.js.map +1 -1
  187. package/dist/i18n/locales/zh.d.ts +111 -4
  188. package/dist/i18n/locales/zh.d.ts.map +1 -1
  189. package/dist/i18n/locales/zh.js +122 -15
  190. package/dist/i18n/locales/zh.js.map +1 -1
  191. package/dist/index.js +1112 -1107
  192. package/dist/locales/ar.json +122 -15
  193. package/dist/locales/de.json +122 -15
  194. package/dist/locales/el.json +122 -15
  195. package/dist/locales/en.json +114 -7
  196. package/dist/locales/es.json +122 -15
  197. package/dist/locales/fr.json +122 -15
  198. package/dist/locales/hi.json +122 -15
  199. package/dist/locales/it.json +122 -15
  200. package/dist/locales/ja.json +122 -15
  201. package/dist/locales/nl.json +122 -15
  202. package/dist/locales/pl.json +122 -15
  203. package/dist/locales/pt.json +122 -15
  204. package/dist/locales/ro.json +122 -15
  205. package/dist/locales/ru.json +122 -15
  206. package/dist/locales/sq.json +122 -15
  207. package/dist/locales/sv.json +122 -15
  208. package/dist/locales/tr.json +122 -15
  209. package/dist/locales/zh.json +122 -15
  210. package/dist/patterns/calendar/calendar-appointment-details.d.ts +74 -2
  211. package/dist/patterns/calendar/calendar-appointment-details.d.ts.map +1 -1
  212. package/dist/patterns/calendar/calendar-archive.d.ts +12 -0
  213. package/dist/patterns/calendar/calendar-archive.d.ts.map +1 -0
  214. package/dist/patterns/calendar/calendar-bookings-panel.d.ts.map +1 -1
  215. package/dist/patterns/calendar/calendar-care-rules.d.ts +19 -23
  216. package/dist/patterns/calendar/calendar-care-rules.d.ts.map +1 -1
  217. package/dist/patterns/calendar/calendar-delete-confirm.d.ts +18 -0
  218. package/dist/patterns/calendar/calendar-delete-confirm.d.ts.map +1 -0
  219. package/dist/patterns/calendar/calendar-document-scope-confirm.d.ts +12 -0
  220. package/dist/patterns/calendar/calendar-document-scope-confirm.d.ts.map +1 -0
  221. package/dist/patterns/calendar/calendar-editor-guard.d.ts +12 -0
  222. package/dist/patterns/calendar/calendar-editor-guard.d.ts.map +1 -0
  223. package/dist/patterns/calendar/calendar-editor-hydration.d.ts +13 -2
  224. package/dist/patterns/calendar/calendar-editor-hydration.d.ts.map +1 -1
  225. package/dist/patterns/calendar/calendar-load-error.d.ts +11 -0
  226. package/dist/patterns/calendar/calendar-load-error.d.ts.map +1 -0
  227. package/dist/patterns/calendar/calendar-patient-locked.d.ts +13 -0
  228. package/dist/patterns/calendar/calendar-patient-locked.d.ts.map +1 -0
  229. package/dist/patterns/calendar/calendar-patient-picker.d.ts +6 -1
  230. package/dist/patterns/calendar/calendar-patient-picker.d.ts.map +1 -1
  231. package/dist/patterns/calendar/calendar-prompts.d.ts +11 -0
  232. package/dist/patterns/calendar/calendar-prompts.d.ts.map +1 -0
  233. package/dist/patterns/calendar/calendar-settings-ical.d.ts +11 -0
  234. package/dist/patterns/calendar/calendar-settings-ical.d.ts.map +1 -0
  235. package/dist/patterns/calendar/calendar-settings-overlay.d.ts +73 -0
  236. package/dist/patterns/calendar/calendar-settings-overlay.d.ts.map +1 -0
  237. package/dist/patterns/calendar/calendar-settings-panel.d.ts +62 -0
  238. package/dist/patterns/calendar/calendar-settings-panel.d.ts.map +1 -0
  239. package/dist/patterns/calendar/calendar-settings-practice.d.ts +20 -0
  240. package/dist/patterns/calendar/calendar-settings-practice.d.ts.map +1 -0
  241. package/dist/patterns/calendar/calendar-status-colours.d.ts +18 -0
  242. package/dist/patterns/calendar/calendar-status-colours.d.ts.map +1 -0
  243. package/dist/patterns/calendar/calendar-upcoming-panel.d.ts.map +1 -1
  244. package/dist/patterns/calendar/calendar-waiting-list-panel.d.ts +17 -2
  245. package/dist/patterns/calendar/calendar-waiting-list-panel.d.ts.map +1 -1
  246. package/dist/patterns/calendar/calendar-workspace.d.ts +258 -6
  247. package/dist/patterns/calendar/calendar-workspace.d.ts.map +1 -1
  248. package/dist/patterns/calendar/calendar-workspace.model.d.ts +98 -11
  249. package/dist/patterns/calendar/calendar-workspace.model.d.ts.map +1 -1
  250. package/dist/patterns/calendar/calendar.data.d.ts +9 -3
  251. package/dist/patterns/calendar/calendar.data.d.ts.map +1 -1
  252. package/dist/patterns/calendar/calendar.journey.d.ts +69 -5
  253. package/dist/patterns/calendar/calendar.journey.d.ts.map +1 -1
  254. package/dist/patterns/calendar/calendar.model.d.ts +72 -14
  255. package/dist/patterns/calendar/calendar.model.d.ts.map +1 -1
  256. package/dist/patterns/calendar/calendar.preferences.d.ts +4 -0
  257. package/dist/patterns/calendar/calendar.preferences.d.ts.map +1 -1
  258. package/dist/patterns/calendar/calendar.sheets.d.ts +85 -17
  259. package/dist/patterns/calendar/calendar.sheets.d.ts.map +1 -1
  260. package/dist/patterns/calendar/calendar.surface.d.ts +64 -6
  261. package/dist/patterns/calendar/calendar.surface.d.ts.map +1 -1
  262. package/dist/patterns/calendar/calendar.types.d.ts +223 -6
  263. package/dist/patterns/calendar/calendar.types.d.ts.map +1 -1
  264. package/dist/patterns/calendar/index.d.ts +9 -6
  265. package/dist/patterns/calendar/index.d.ts.map +1 -1
  266. package/dist/patterns/calendar/index.js +18 -15
  267. package/dist/patterns/signature-request/index.js +1 -1
  268. package/dist/patterns/signed-out-frame/index.js +1 -1
  269. package/dist/tokens.css +5 -1
  270. package/package.json +1 -1
  271. package/dist/_chunks/appointment-card-0PebvrOS.js.map +0 -1
  272. package/dist/_chunks/calendar-_sgjuH3L.js.map +0 -1
  273. package/dist/_chunks/calendar-appointment-editor-dialog-CGDDGMdo.js +0 -10974
  274. package/dist/_chunks/calendar-appointment-editor-dialog-CGDDGMdo.js.map +0 -1
  275. package/dist/_chunks/calendar-event-card-DXAYWH6k.js.map +0 -1
  276. package/dist/_chunks/task-editor-C05yx7JJ.js +0 -1218
  277. package/dist/_chunks/task-editor-C05yx7JJ.js.map +0 -1
  278. package/dist/_chunks/treatment-receipt-1VnuinhY.js.map +0 -1
  279. package/dist/_chunks/use-appointment-details-read-Bm408XzX.js +0 -2198
  280. package/dist/_chunks/use-appointment-details-read-Bm408XzX.js.map +0 -1
  281. package/dist/_chunks/whatsapp-button-DV9JFmtq.js.map +0 -1
@@ -1,33 +1,34 @@
1
- import { jsxs as P, jsx as l } from "react/jsx-runtime";
2
- import { forwardRef as Ye, useRef as g, useMemo as u, useEffect as b, useState as ce, useImperativeHandle as lr, useCallback as T } from "react";
3
- import { useTranslation as we } from "react-i18next";
4
- import { c as cr } from "./index-D2ZczOXr.js";
5
- import ur from "@fullcalendar/react";
6
- import { c as Xe } from "./intl-locale-FWh-Y5_3.js";
7
- import mr from "@fullcalendar/daygrid";
8
- import fr from "@fullcalendar/timegrid";
9
- import vr from "@fullcalendar/list";
10
- import pr from "@fullcalendar/resource";
11
- import hr from "@fullcalendar/resource-timegrid";
12
- import gr from "@fullcalendar/resource-timeline";
13
- import yr from "@fullcalendar/timeline";
14
- import br from "@fullcalendar/interaction";
15
- import { u as Tr } from "./use-prefers-reduced-motion-BMwIQRjB.js";
16
- import { u as xr } from "./registry-DvAUVLHh.js";
17
- import { w as wr, C as Dr } from "./calendar-event-card-DXAYWH6k.js";
18
- import { A as Cr } from "./avatar-Dp5apm1d.js";
19
- import { B as kr } from "./button-DohK_Ak_.js";
20
- import { a as je, R as Ar } from "./resource-chip-DB5jDwUO.js";
21
- import { T as _e } from "./tooltip-uEBdD1-5.js";
22
- import { V as Ir } from "./visually-hidden-BHxEUGyT.js";
23
- import { C as Ve } from "./check-DrFSN__t.js";
24
- import { C as qe } from "./chevron-right-I9AeSxH2.js";
25
- import { C as $e } from "./chevron-left-B8cOyH-V.js";
26
- function Sr(r, o) {
1
+ import { jsxs as k, jsx as l, Fragment as hr } from "react/jsx-runtime";
2
+ import { forwardRef as et, useRef as g, useMemo as u, useEffect as T, useState as ue, useImperativeHandle as gr, useCallback as b } from "react";
3
+ import { useTranslation as Ce } from "react-i18next";
4
+ import { c as yr } from "./index-D2ZczOXr.js";
5
+ import br from "@fullcalendar/react";
6
+ import { c as tt } from "./intl-locale-FWh-Y5_3.js";
7
+ import Tr from "@fullcalendar/daygrid";
8
+ import xr from "@fullcalendar/timegrid";
9
+ import wr from "@fullcalendar/list";
10
+ import Dr from "@fullcalendar/resource";
11
+ import Cr from "@fullcalendar/resource-timegrid";
12
+ import kr from "@fullcalendar/resource-timeline";
13
+ import Ar from "@fullcalendar/timeline";
14
+ import Sr from "@fullcalendar/interaction";
15
+ import { u as Ir } from "./use-prefers-reduced-motion-BMwIQRjB.js";
16
+ import { u as Nr } from "./registry-DvAUVLHh.js";
17
+ import { w as Rr, C as Lr } from "./calendar-event-card-BNEzkjm-.js";
18
+ import { A as Er } from "./avatar-Dp5apm1d.js";
19
+ import { B as Pr } from "./button-DohK_Ak_.js";
20
+ import { a as $e, R as Gr } from "./resource-chip-DB5jDwUO.js";
21
+ import { T as Ke } from "./tooltip-uEBdD1-5.js";
22
+ import { V as rt } from "./visually-hidden-BHxEUGyT.js";
23
+ import { C as Ue } from "./check-DrFSN__t.js";
24
+ import { C as Mr } from "./circle-alert-rGDZ73Wh.js";
25
+ import { C as Ye } from "./chevron-right-I9AeSxH2.js";
26
+ import { C as Xe } from "./chevron-left-B8cOyH-V.js";
27
+ function Br(r, s) {
27
28
  return {
28
29
  // FullCalendar's date arithmetic is Gregorian. Regional locales such as
29
30
  // ar-SA otherwise format the same cells with Hijri month/day numbers.
30
- code: new Intl.Locale(Xe(o), {
31
+ code: new Intl.Locale(tt(s), {
31
32
  calendar: "gregory"
32
33
  }).toString(),
33
34
  buttonText: {
@@ -54,13 +55,13 @@ function Sr(r, o) {
54
55
  eventHint: r("calendar.vendor.event"),
55
56
  allDayText: r("calendar.allDay"),
56
57
  noEventsText: r("calendar.noEvents"),
57
- moreLinkText: (s) => r("calendar.vendor.more", { count: s }),
58
- moreLinkHint: (s) => r("calendar.vendor.moreHint", { count: s }),
59
- navLinkHint: (s) => r("calendar.vendor.goToDate", { date: s }),
60
- viewHint: (s) => r("calendar.vendor.viewHint", { view: s })
58
+ moreLinkText: (d) => r("calendar.vendor.more", { count: d }),
59
+ moreLinkHint: (d) => r("calendar.vendor.moreHint", { count: d }),
60
+ navLinkHint: (d) => r("calendar.vendor.goToDate", { date: d }),
61
+ viewHint: (d) => r("calendar.vendor.viewHint", { view: d })
61
62
  };
62
63
  }
63
- const Er = {
64
+ const Or = {
64
65
  id: "calendar",
65
66
  capabilities: ["view_change", "range_navigate", "pick"],
66
67
  state: {
@@ -75,8 +76,8 @@ const Er = {
75
76
  descriptionKey: "ui.agent.calendar.state.currentDate",
76
77
  description: "ISO date anchor of the visible range.",
77
78
  read: (r) => {
78
- var o;
79
- return ((o = r.getCurrentDate()) == null ? void 0 : o.toISOString()) ?? null;
79
+ var s;
80
+ return ((s = r.getCurrentDate()) == null ? void 0 : s.toISOString()) ?? null;
80
81
  }
81
82
  },
82
83
  currentTitle: {
@@ -134,8 +135,8 @@ const Er = {
134
135
  examples: [
135
136
  { args: { date: "2026-04-15" }, note: "Jump to 15 April 2026." }
136
137
  ],
137
- invoke: (r, o) => {
138
- r.gotoDate(o.date);
138
+ invoke: (r, s) => {
139
+ r.gotoDate(s.date);
139
140
  }
140
141
  },
141
142
  change_view: {
@@ -169,8 +170,8 @@ const Er = {
169
170
  examples: [
170
171
  { args: { view: "timeGridWeek" }, note: "Switch to the week view." }
171
172
  ],
172
- invoke: (r, o) => {
173
- r.changeView(o.view);
173
+ invoke: (r, s) => {
174
+ r.changeView(s.view);
174
175
  }
175
176
  },
176
177
  focus_event: {
@@ -191,8 +192,8 @@ const Er = {
191
192
  descriptionKey: "ui.agent.calendar.actions.focusEvent",
192
193
  description: "Scroll an event into view and briefly highlight it.",
193
194
  errors: ["No DOM node matches the given event id — no-op."],
194
- invoke: (r, o) => {
195
- r.focusEvent(o.eventId);
195
+ invoke: (r, s) => {
196
+ r.focusEvent(s.eventId);
196
197
  }
197
198
  }
198
199
  },
@@ -215,14 +216,21 @@ const Er = {
215
216
  description: 'Emitted on every rendered FullCalendar event by the kit event renderer. Used by focusEvent. Cards also carry data-kind="task"|"draft"|"pending-details"|"appointment" and data-status for classification.'
216
217
  }
217
218
  }
218
- }, Rr = cr("", {
219
+ }, Fr = yr("", {
219
220
  variants: {
220
221
  density: {
221
222
  compact: "calendar-density-compact",
222
223
  comfortable: "calendar-density-comfortable"
223
224
  }
224
225
  }
225
- }), Nr = {
226
+ }), Je = /* @__PURE__ */ new WeakSet();
227
+ function Wr(r) {
228
+ if (!r || Je.has(r)) return;
229
+ Je.add(r);
230
+ const s = (d) => d.stopPropagation();
231
+ r.addEventListener("mousedown", s), r.addEventListener("touchstart", s, { passive: !0 });
232
+ }
233
+ const zr = {
226
234
  vertical: {
227
235
  Day: "resourceTimeGridDay",
228
236
  ThreeDays: "resourceTimeGridThreeDays",
@@ -233,35 +241,35 @@ const Er = {
233
241
  ThreeDays: "resourceTimelineThreeDays",
234
242
  Week: "resourceTimelineWeek"
235
243
  }
236
- }, Lr = /* @__PURE__ */ new Set([
244
+ }, Hr = /* @__PURE__ */ new Set([
237
245
  "dayGridMonth",
238
246
  "timeGridWeek",
239
247
  "timeGridThreeDays",
240
248
  "timeGridDay",
241
249
  "listWeek"
242
- ]), Pr = {
250
+ ]), jr = {
243
251
  timeGridDay: "timelineDay",
244
252
  timeGridThreeDays: "timelineThreeDays",
245
253
  timeGridWeek: "timelineWeek"
246
254
  };
247
- function be(r, o = "vertical") {
248
- if (Lr.has(r))
249
- return o === "horizontal" ? Pr[r] ?? r : r;
255
+ function Te(r, s = "vertical") {
256
+ if (Hr.has(r))
257
+ return s === "horizontal" ? jr[r] ?? r : r;
250
258
  const m = r.replace(/^resourceTimeGrid/, "").replace(
251
259
  /(Chair|Operator)$/,
252
260
  ""
253
261
  );
254
- return Nr[o][m];
262
+ return zr[s][m];
255
263
  }
256
- const le = {
264
+ const ce = {
257
265
  weekday: "long",
258
266
  day: "numeric",
259
267
  month: "long",
260
268
  year: "numeric"
261
- }, Mr = [
269
+ }, _r = [
262
270
  { weekday: "short", day: "numeric", month: "short" },
263
271
  { hour: "numeric", minute: "2-digit" }
264
- ], Gr = {
272
+ ], Vr = {
265
273
  resourceTimeGridThreeDays: {
266
274
  type: "resourceTimeGrid",
267
275
  duration: { days: 3 }
@@ -280,99 +288,99 @@ const le = {
280
288
  type: "timeline",
281
289
  duration: { days: 3 }
282
290
  },
283
- timeline: { slotLabelFormat: Mr },
284
- timeGridDay: { titleFormat: le },
285
- resourceTimeGridDay: { titleFormat: le },
286
- timelineDay: { titleFormat: le },
287
- resourceTimelineDay: { titleFormat: le }
288
- }, Te = 5, Br = {
291
+ timeline: { slotLabelFormat: _r },
292
+ timeGridDay: { titleFormat: ce },
293
+ resourceTimeGridDay: { titleFormat: ce },
294
+ timelineDay: { titleFormat: ce },
295
+ resourceTimelineDay: { titleFormat: ce }
296
+ }, xe = 5, qr = {
289
297
  create: "calendar.modeBanner.create",
290
298
  move: "calendar.modeBanner.move",
291
299
  copy: "calendar.modeBanner.copy"
292
300
  };
293
- function Or(r) {
301
+ function $r(r) {
294
302
  try {
295
- const o = new Intl.Locale(r), s = typeof o.getWeekInfo == "function" ? o.getWeekInfo() : o.weekInfo;
296
- if (s && typeof s.firstDay == "number")
297
- return s.firstDay % 7;
303
+ const s = new Intl.Locale(r), d = typeof s.getWeekInfo == "function" ? s.getWeekInfo() : s.weekInfo;
304
+ if (d && typeof d.firstDay == "number")
305
+ return d.firstDay % 7;
298
306
  } catch {
299
307
  }
300
308
  return r.startsWith("en-US") || r.startsWith("he") || r.startsWith("ar-SA") ? 0 : 1;
301
309
  }
302
- const xe = "calendar-col-hidden", Fr = "calendar-col-loading";
303
- function V(r) {
304
- const o = r.getFullYear(), s = String(r.getMonth() + 1).padStart(2, "0"), m = String(r.getDate()).padStart(2, "0");
305
- return `${o}-${s}-${m}`;
310
+ const we = "calendar-col-hidden", Kr = "calendar-col-loading", Ur = "calendar-col-error";
311
+ function E(r) {
312
+ const s = r.getFullYear(), d = String(r.getMonth() + 1).padStart(2, "0"), m = String(r.getDate()).padStart(2, "0");
313
+ return `${s}-${d}-${m}`;
306
314
  }
307
- function Wr(r, o) {
308
- const s = /* @__PURE__ */ new Set(), m = /* @__PURE__ */ new Map(), p = (r == null ? void 0 : r.length) ?? 0;
309
- if (r && o) {
310
- for (const D of r)
311
- if (D.hiddenDates)
312
- for (const x of D.hiddenDates) {
313
- const R = `${D.id}:${x}`;
314
- s.has(R) || (s.add(R), m.set(x, (m.get(x) ?? 0) + 1));
315
+ function Yr(r, s) {
316
+ const d = /* @__PURE__ */ new Set(), m = /* @__PURE__ */ new Map(), p = (r == null ? void 0 : r.length) ?? 0;
317
+ if (r && s) {
318
+ for (const A of r)
319
+ if (A.hiddenDates)
320
+ for (const w of A.hiddenDates) {
321
+ const P = `${A.id}:${w}`;
322
+ d.has(P) || (d.add(P), m.set(w, (m.get(w) ?? 0) + 1));
315
323
  }
316
324
  }
317
325
  return {
318
- hiddenCells: s,
326
+ hiddenCells: d,
319
327
  hiddenCountByDate: m,
320
328
  resourceCount: p,
321
- active: s.size > 0
329
+ active: d.size > 0
322
330
  };
323
331
  }
324
- function zr() {
325
- const { i18n: r } = we("ui"), [o, s] = ce(() => {
332
+ function Xr() {
333
+ const { i18n: r } = Ce("ui"), [s, d] = ue(() => {
326
334
  if (typeof document > "u") return !1;
327
335
  const m = document.documentElement.getAttribute("dir"), p = typeof r.dir == "function" ? r.dir() : "ltr";
328
336
  return m === "rtl" || p === "rtl";
329
337
  });
330
- return b(() => {
338
+ return T(() => {
331
339
  if (typeof document > "u") return;
332
340
  const m = new MutationObserver(() => {
333
- const p = document.documentElement.getAttribute("dir"), D = typeof r.dir == "function" ? r.dir() : "ltr";
334
- s(p === "rtl" || D === "rtl");
341
+ const p = document.documentElement.getAttribute("dir"), A = typeof r.dir == "function" ? r.dir() : "ltr";
342
+ d(p === "rtl" || A === "rtl");
335
343
  });
336
344
  return m.observe(document.documentElement, {
337
345
  attributes: !0,
338
346
  attributeFilter: ["dir", "lang"]
339
347
  }), () => m.disconnect();
340
- }, [r]), o;
348
+ }, [r]), s;
341
349
  }
342
- const Ke = /* @__PURE__ */ new Map();
343
- function Je(r) {
344
- let o = Ke.get(r);
345
- if (o === void 0) {
350
+ const Ze = /* @__PURE__ */ new Map();
351
+ function nt(r) {
352
+ let s = Ze.get(r);
353
+ if (s === void 0) {
346
354
  try {
347
- o = new Intl.DateTimeFormat(r, {
355
+ s = new Intl.DateTimeFormat(r, {
348
356
  hour: "2-digit",
349
357
  minute: "2-digit",
350
358
  hour12: !1
351
359
  });
352
360
  } catch {
353
- o = null;
361
+ s = null;
354
362
  }
355
- Ke.set(r, o);
363
+ Ze.set(r, s);
356
364
  }
357
- return o;
365
+ return s;
358
366
  }
359
- function Ue(r, o) {
360
- const s = r.event.start, m = r.event.end ?? r.event.start;
361
- if (!s || !m) return;
362
- const p = Je(o);
367
+ function Qe(r, s) {
368
+ const d = r.event.start, m = r.event.end ?? r.event.start;
369
+ if (!d || !m) return;
370
+ const p = nt(s);
363
371
  if (p)
364
372
  try {
365
- return typeof p.formatRange == "function" ? p.formatRange(s, m) : `${p.format(s)} – ${p.format(m)}`;
373
+ return typeof p.formatRange == "function" ? p.formatRange(d, m) : `${p.format(d)} – ${p.format(m)}`;
366
374
  } catch {
367
375
  return;
368
376
  }
369
377
  }
370
- function Hr(r, o) {
371
- var s;
378
+ function Jr(r, s) {
379
+ var d;
372
380
  if (r)
373
- return (s = Je(o)) == null ? void 0 : s.format(r);
381
+ return (d = nt(s)) == null ? void 0 : d.format(r);
374
382
  }
375
- const Ze = [
383
+ const at = [
376
384
  "ds:inline-flex ds:items-center ds:justify-center",
377
385
  "ds:min-h-[var(--min-target-size)]",
378
386
  "ds:bg-[var(--background)] ds:text-[var(--foreground)]",
@@ -385,15 +393,15 @@ const Ze = [
385
393
  "ds:focus-visible:outline-[var(--ring)]",
386
394
  "ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
387
395
  "ds:motion-reduce:transition-none"
388
- ].join(" "), jr = [
389
- Ze,
396
+ ].join(" "), Zr = [
397
+ at,
390
398
  "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]"
391
- ].join(" "), _r = [
392
- Ze,
399
+ ].join(" "), Qr = [
400
+ at,
393
401
  "ds:min-w-[var(--min-target-size)]"
394
- ].join(" "), De = Ye(
395
- ({ title: r, onToday: o, onPrev: s, onNext: m, end: p, className: D, maskClassName: x }, R) => {
396
- const { t: q } = we("ui"), Q = zr(), C = Q ? qe : $e, ee = Q ? $e : qe, $ = [
402
+ ].join(" "), ke = et(
403
+ ({ title: r, onToday: s, onPrev: d, onNext: m, end: p, className: A, maskClassName: w }, P) => {
404
+ const { t: $ } = Ce("ui"), ee = Xr(), D = ee ? Ye : Xe, te = ee ? Xe : Ye, K = [
397
405
  "ds:calendar-toolbar",
398
406
  "ds:sticky ds:top-0 ds:z-20",
399
407
  "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
@@ -401,30 +409,30 @@ const Ze = [
401
409
  "ds:py-[var(--spacing-sm)]",
402
410
  "ds:bg-[var(--background)]",
403
411
  "ds:border-b ds:border-[var(--border)]",
404
- D
405
- ].filter(Boolean).join(" "), K = [jr, x].filter(Boolean).join(" "), O = [_r, x].filter(Boolean).join(" "), F = [
412
+ A
413
+ ].filter(Boolean).join(" "), U = [Zr, w].filter(Boolean).join(" "), z = [Qr, w].filter(Boolean).join(" "), H = [
406
414
  "ds:flex-1 ds:text-center ds:truncate type-title-card",
407
- x
408
- ].filter(Boolean).join(" "), k = ["ds:flex-1 ds:text-center", x].filter(Boolean).join(" ");
409
- return /* @__PURE__ */ P("div", { ref: R, className: $, children: [
410
- /* @__PURE__ */ P("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
415
+ w
416
+ ].filter(Boolean).join(" "), S = ["ds:flex-1 ds:text-center", w].filter(Boolean).join(" ");
417
+ return /* @__PURE__ */ k("div", { ref: P, className: K, children: [
418
+ /* @__PURE__ */ k("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
411
419
  /* @__PURE__ */ l(
412
420
  "button",
413
421
  {
414
422
  type: "button",
415
- onClick: o,
416
- className: K,
417
- children: q("calendar.today")
423
+ onClick: s,
424
+ className: U,
425
+ children: $("calendar.today")
418
426
  }
419
427
  ),
420
428
  /* @__PURE__ */ l(
421
429
  "button",
422
430
  {
423
431
  type: "button",
424
- onClick: s,
425
- "aria-label": q("calendar.previousPeriod"),
426
- className: O,
427
- children: /* @__PURE__ */ l(C, { size: 16, "aria-hidden": "true" })
432
+ onClick: d,
433
+ "aria-label": $("calendar.previousPeriod"),
434
+ className: z,
435
+ children: /* @__PURE__ */ l(D, { size: 16, "aria-hidden": "true" })
428
436
  }
429
437
  ),
430
438
  /* @__PURE__ */ l(
@@ -432,124 +440,137 @@ const Ze = [
432
440
  {
433
441
  type: "button",
434
442
  onClick: m,
435
- "aria-label": q("calendar.nextPeriod"),
436
- className: O,
437
- children: /* @__PURE__ */ l(ee, { size: 16, "aria-hidden": "true" })
443
+ "aria-label": $("calendar.nextPeriod"),
444
+ className: z,
445
+ children: /* @__PURE__ */ l(te, { size: 16, "aria-hidden": "true" })
438
446
  }
439
447
  )
440
448
  ] }),
441
- r ? /* @__PURE__ */ l("h2", { "aria-live": "polite", className: F, children: r }) : (
449
+ r ? /* @__PURE__ */ l("h2", { "aria-live": "polite", className: H, children: r }) : (
442
450
  /* Keep the centering slot stable even before the first
443
451
  `datesSet` populates the title — an empty <h2> would trip
444
452
  axe's `empty-heading` rule, so we substitute a decorative
445
453
  spacer that matches the h2's flex sizing. Once `title` is
446
454
  non-empty the h2 renders in the same slot. */
447
- /* @__PURE__ */ l("div", { "aria-hidden": "true", className: k })
455
+ /* @__PURE__ */ l("div", { "aria-hidden": "true", className: S })
448
456
  ),
449
457
  p ? /* @__PURE__ */ l("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: p }) : null
450
458
  ] });
451
459
  }
452
460
  );
453
- De.displayName = "Calendar.Toolbar";
454
- const Qe = Ye(
461
+ ke.displayName = "Calendar.Toolbar";
462
+ function De({ label: r }) {
463
+ return /* @__PURE__ */ k(hr, { children: [
464
+ /* @__PURE__ */ l(
465
+ Mr,
466
+ {
467
+ "aria-hidden": "true",
468
+ className: "ds:size-4 ds:text-[color:var(--destructive)]"
469
+ }
470
+ ),
471
+ /* @__PURE__ */ l(rt, { children: r })
472
+ ] });
473
+ }
474
+ const it = et(
455
475
  ({
456
476
  id: r,
457
- events: o,
458
- resources: s,
477
+ events: s,
478
+ resources: d,
459
479
  view: m = "dayGridMonth",
460
480
  initialDate: p,
461
- locale: D,
462
- onEventDrop: x,
463
- onEventResize: R,
464
- onEventDragStart: q,
465
- onEventResizeStart: Q,
466
- onEventClick: C,
467
- onBackgroundEventClick: ee,
468
- onEventMouseEnter: $,
469
- onEventMouseLeave: K,
470
- onDateSelect: O,
471
- onDatesSet: F,
472
- onDateClick: k,
473
- onNavLinkDayClick: Ce,
474
- editable: te = !1,
475
- eventDurationEditable: et,
476
- selectable: ke = !1,
477
- selectMirror: tt,
478
- unselectAuto: Ae,
479
- height: rt,
480
- className: nt,
481
- privacyMode: w = !1,
482
- eventColorStyle: at = "solid",
483
- slotDensity: it = "compact",
484
- mode: re = "default",
485
- modeLabel: ot,
486
- modeBannerColor: ne,
487
- modeBannerTextColor: ae,
488
- onModeCancel: Ie,
489
- alertBanner: st,
490
- hiddenDays: Se,
491
- loadingDates: Ee,
492
- slotMinTime: dt,
493
- slotMaxTime: lt,
494
- slotDuration: ct,
495
- snapDuration: Re,
496
- showTime: ut = !0,
497
- datesAboveResources: ue = !0,
498
- slotEventOverlap: mt = !1,
499
- stickyHeaderDates: ft = !0,
500
- nowIndicator: vt = !0,
501
- dayMaxEvents: pt = !0,
502
- schedulerLicenseKey: ht = void 0,
503
- toolbar: gt = !0,
504
- toolbarEnd: yt,
505
- resourceLayout: U = "vertical",
506
- showResourceInitials: me = !1,
507
- resourceLabelVariant: Ne = "text",
508
- verticalResourceLabels: fe = !1,
509
- selectedEventId: Le,
510
- availabilityMode: bt = !1,
511
- resourceAreaWidth: Tt,
512
- resourceAreaHeader: Y,
513
- defaultTimedEventDuration: X,
514
- zebraRows: xt = !1,
515
- maskClassName: W
516
- }, wt) => {
517
- const { t: f, i18n: M } = we("ui"), A = g(null), N = g(null), I = g(null), L = g(null), z = g(null), Pe = g(null), ie = g({
481
+ locale: A,
482
+ onEventDrop: w,
483
+ onEventResize: P,
484
+ onEventDragStart: $,
485
+ onEventResizeStart: ee,
486
+ onEventClick: D,
487
+ onBackgroundEventClick: te,
488
+ onEventMouseEnter: K,
489
+ onEventMouseLeave: U,
490
+ onDateSelect: z,
491
+ onDatesSet: H,
492
+ onDateClick: S,
493
+ onNavLinkDayClick: Ae,
494
+ editable: re = !1,
495
+ eventDurationEditable: ot,
496
+ selectable: Se = !1,
497
+ selectMirror: st,
498
+ unselectAuto: Ie,
499
+ height: dt,
500
+ className: lt,
501
+ privacyMode: C = !1,
502
+ eventColorStyle: ct = "solid",
503
+ slotDensity: ut = "compact",
504
+ mode: ne = "default",
505
+ modeLabel: mt,
506
+ modeBannerColor: ae,
507
+ modeBannerTextColor: ie,
508
+ onModeCancel: Ne,
509
+ alertBanner: ft,
510
+ hiddenDays: Re,
511
+ loadingDates: Le,
512
+ errorDates: Ee,
513
+ slotMinTime: pt,
514
+ slotMaxTime: vt,
515
+ slotDuration: ht,
516
+ snapDuration: Pe,
517
+ showTime: gt = !0,
518
+ datesAboveResources: me = !0,
519
+ slotEventOverlap: yt = !1,
520
+ stickyHeaderDates: bt = !0,
521
+ nowIndicator: Tt = !0,
522
+ dayMaxEvents: xt = !0,
523
+ schedulerLicenseKey: wt = void 0,
524
+ toolbar: Dt = !0,
525
+ toolbarEnd: Ct,
526
+ resourceLayout: Y = "vertical",
527
+ showResourceInitials: fe = !1,
528
+ resourceLabelVariant: Ge = "text",
529
+ verticalResourceLabels: pe = !1,
530
+ selectedEventId: Me,
531
+ availabilityMode: kt = !1,
532
+ resourceAreaWidth: At,
533
+ resourceAreaHeader: X,
534
+ defaultTimedEventDuration: J,
535
+ zebraRows: St = !1,
536
+ maskClassName: j
537
+ }, It) => {
538
+ const { t: c, i18n: O } = Ce("ui"), I = g(null), G = g(null), N = g(null), M = g(null), _ = g(null), Be = g(null), oe = g({
518
539
  id: 0,
519
540
  x: 0,
520
541
  y: 0
521
- }), Me = g(0), Ge = g(0), y = Xe(
522
- D ?? M.language ?? "en",
523
- M.language
524
- ), Dt = u(
525
- () => Sr(f, y),
526
- [f, y]
542
+ }), Oe = g(0), Fe = g(0), y = tt(
543
+ A ?? O.language ?? "en",
544
+ O.language
545
+ ), Nt = u(
546
+ () => Br(c, y),
547
+ [c, y]
527
548
  );
528
- b(() => {
529
- }, [Se]), b(() => {
530
- }, [X]);
531
- const [Ct, kt] = ce(() => {
549
+ T(() => {
550
+ }, [Re]), T(() => {
551
+ }, [J]);
552
+ const [Rt, Lt] = ue(() => {
532
553
  if (typeof document > "u") return "ltr";
533
- const e = document.documentElement.getAttribute("dir"), t = typeof M.dir == "function" ? M.dir() : "ltr";
554
+ const e = document.documentElement.getAttribute("dir"), t = typeof O.dir == "function" ? O.dir() : "ltr";
534
555
  return e === "rtl" || t === "rtl" ? "rtl" : "ltr";
535
556
  });
536
- b(() => {
557
+ T(() => {
537
558
  if (typeof document > "u") return;
538
559
  const e = new MutationObserver(() => {
539
- const t = document.documentElement.getAttribute("dir"), n = typeof M.dir == "function" ? M.dir() : "ltr";
540
- kt(t === "rtl" || n === "rtl" ? "rtl" : "ltr");
560
+ const t = document.documentElement.getAttribute("dir"), n = typeof O.dir == "function" ? O.dir() : "ltr";
561
+ Lt(t === "rtl" || n === "rtl" ? "rtl" : "ltr");
541
562
  });
542
563
  return e.observe(document.documentElement, {
543
564
  attributes: !0,
544
565
  attributeFilter: ["dir", "lang"]
545
566
  }), () => e.disconnect();
546
- }, [M]), b(() => {
567
+ }, [O]), T(() => {
547
568
  if (typeof document > "u") return;
548
569
  let e;
549
570
  const t = new MutationObserver(() => {
550
571
  clearTimeout(e), e = setTimeout(() => {
551
572
  var a;
552
- const n = (a = A.current) == null ? void 0 : a.getApi();
573
+ const n = (a = I.current) == null ? void 0 : a.getApi();
553
574
  n && typeof n.render == "function" && n.render();
554
575
  }, 50);
555
576
  });
@@ -559,24 +580,24 @@ const Qe = Ye(
559
580
  }), () => {
560
581
  clearTimeout(e), t.disconnect();
561
582
  };
562
- }, []), b(() => {
563
- const e = N.current;
583
+ }, []), T(() => {
584
+ const e = G.current;
564
585
  if (!e || typeof ResizeObserver > "u") return;
565
586
  let t = 0, n = e.getBoundingClientRect().width;
566
587
  const a = new ResizeObserver((i) => {
567
- var v, S;
568
- const d = i[0], c = ((S = (v = d == null ? void 0 : d.borderBoxSize) == null ? void 0 : v[0]) == null ? void 0 : S.inlineSize) ?? (d == null ? void 0 : d.contentRect.width) ?? e.getBoundingClientRect().width;
569
- c !== n && (n = c, cancelAnimationFrame(t), t = requestAnimationFrame(() => {
570
- var h, E;
571
- (E = (h = A.current) == null ? void 0 : h.getApi()) == null || E.updateSize();
588
+ var v, x;
589
+ const o = i[0], f = ((x = (v = o == null ? void 0 : o.borderBoxSize) == null ? void 0 : v[0]) == null ? void 0 : x.inlineSize) ?? (o == null ? void 0 : o.contentRect.width) ?? e.getBoundingClientRect().width;
590
+ f !== n && (n = f, cancelAnimationFrame(t), t = requestAnimationFrame(() => {
591
+ var h, L;
592
+ (L = (h = I.current) == null ? void 0 : h.getApi()) == null || L.updateSize();
572
593
  }));
573
594
  });
574
595
  return a.observe(e), () => {
575
596
  cancelAnimationFrame(t), a.disconnect();
576
597
  };
577
- }, []), b(() => {
598
+ }, []), T(() => {
578
599
  if (typeof document > "u") return;
579
- const e = N.current;
600
+ const e = G.current;
580
601
  if (!e) return;
581
602
  const t = () => {
582
603
  e.querySelectorAll(
@@ -599,20 +620,20 @@ const Qe = Ye(
599
620
  attributes: !0,
600
621
  attributeFilter: ["aria-hidden"]
601
622
  }), () => n.disconnect();
602
- }, [f]);
603
- const oe = Tr(), [At, It] = ce(""), [H, St] = ce(
604
- () => be(m, U)
605
- ), Be = g(H);
606
- Be.current = H;
623
+ }, [c]);
624
+ const se = Ir(), [Et, Pt] = ue(""), [F, Gt] = ue(
625
+ () => Te(m, Y)
626
+ ), We = g(F);
627
+ We.current = F;
607
628
  const ve = u(() => {
608
629
  const e = () => {
609
630
  var t;
610
- return (t = A.current) == null ? void 0 : t.getApi();
631
+ return (t = I.current) == null ? void 0 : t.getApi();
611
632
  };
612
633
  return {
613
634
  getApi: () => {
614
635
  var t;
615
- return (t = A.current) == null ? void 0 : t.getApi();
636
+ return (t = I.current) == null ? void 0 : t.getApi();
616
637
  },
617
638
  today: () => {
618
639
  var t;
@@ -633,7 +654,7 @@ const Qe = Ye(
633
654
  changeView: (t) => {
634
655
  var n;
635
656
  (n = e()) == null || n.changeView(
636
- be(t, U)
657
+ Te(t, Y)
637
658
  );
638
659
  },
639
660
  getTitle: () => {
@@ -649,42 +670,42 @@ const Qe = Ye(
649
670
  return (t = e()) == null ? void 0 : t.getDate();
650
671
  },
651
672
  focusEvent: (t) => {
652
- const n = N.current;
673
+ const n = G.current;
653
674
  if (!n) return;
654
675
  const a = `[data-event-id="${CSS.escape(t)}"]`, i = n.querySelector(a);
655
676
  if (i) {
656
- if (L.current && (clearTimeout(L.current), L.current = null), z.current && z.current !== i && z.current.classList.remove("calendar-event-focused"), i.scrollIntoView({
657
- behavior: oe ? "auto" : "smooth",
677
+ if (M.current && (clearTimeout(M.current), M.current = null), _.current && _.current !== i && _.current.classList.remove("calendar-event-focused"), i.scrollIntoView({
678
+ behavior: se ? "auto" : "smooth",
658
679
  block: "center"
659
- }), i.classList.add("calendar-event-focused"), z.current = i, I.current) {
660
- const d = i.getAttribute("aria-label") ?? t, c = w ? "•••" : d;
661
- I.current.textContent = f("calendar.focusedEvent", {
662
- title: c
680
+ }), i.classList.add("calendar-event-focused"), _.current = i, N.current) {
681
+ const o = i.getAttribute("aria-label") ?? t, f = C ? "•••" : o;
682
+ N.current.textContent = c("calendar.focusedEvent", {
683
+ title: f
663
684
  });
664
685
  }
665
- L.current = setTimeout(() => {
666
- i.classList.remove("calendar-event-focused"), z.current === i && (z.current = null), L.current = null;
686
+ M.current = setTimeout(() => {
687
+ i.classList.remove("calendar-event-focused"), _.current === i && (_.current = null), M.current = null;
667
688
  }, 3e3);
668
689
  }
669
690
  }
670
691
  };
671
- }, [oe, w, f, U]);
672
- lr(wt, () => ve, [ve]), xr(Er, ve, r), b(
692
+ }, [se, C, c, Y]);
693
+ gr(It, () => ve, [ve]), Nr(Or, ve, r), T(
673
694
  () => () => {
674
- L.current && (clearTimeout(L.current), L.current = null);
695
+ M.current && (clearTimeout(M.current), M.current = null);
675
696
  },
676
697
  []
677
698
  );
678
- const Oe = g(!0);
679
- b(() => {
680
- if (Oe.current) {
681
- Oe.current = !1;
699
+ const ze = g(!0);
700
+ T(() => {
701
+ if (ze.current) {
702
+ ze.current = !1;
682
703
  return;
683
704
  }
684
- I.current && (I.current.textContent = f(w ? "calendar.privacyModeOn" : "calendar.privacyModeOff"));
685
- }, [w, f]);
686
- const Et = u(
687
- () => o.map((e) => ({
705
+ N.current && (N.current.textContent = c(C ? "calendar.privacyModeOn" : "calendar.privacyModeOff"));
706
+ }, [C, c]);
707
+ const He = /^(resource)?timeGrid/i.test(F), Mt = u(
708
+ () => s.map((e) => ({
688
709
  id: e.id,
689
710
  title: e.title,
690
711
  start: e.start,
@@ -701,7 +722,7 @@ const Qe = Ye(
701
722
  def.resourceIds → getResources() returns [null]. */
702
723
  ...e.allDay !== void 0 ? { allDay: e.allDay } : {},
703
724
  ...e.resourceId !== void 0 ? { resourceId: e.resourceId } : {},
704
- ...e.isInternal ? { display: "background" } : {},
725
+ ...e.isInternal || e.faded && He ? { display: "background" } : {},
705
726
  /* A draft is the user's own composition: dragging or resizing it
706
727
  IS how they pick the slot, so it stays editable even on a
707
728
  read-only calendar. The consumer's own `editable` still wins. */
@@ -740,31 +761,33 @@ const Qe = Ye(
740
761
  isInternal: e.isInternal ?? !1,
741
762
  isTask: e.isTask ?? !1,
742
763
  isDraft: e.isDraft ?? !1,
764
+ faded: e.faded ?? !1,
743
765
  detailsPending: e.detailsPending ?? !1,
744
766
  patientId: e.patientId,
745
767
  operatorId: e.operatorId,
746
- optionCount: e.optionCount
768
+ optionCount: e.optionCount,
769
+ bookable: e.bookable
747
770
  }
748
771
  })),
749
- [o]
750
- ), Rt = u(
772
+ [s, He]
773
+ ), Bt = u(
751
774
  () => ({
752
775
  year: "numeric",
753
776
  month: "long"
754
777
  }),
755
778
  []
756
- ), Nt = u(
779
+ ), Ot = u(
757
780
  () => ({
758
781
  weekday: "short"
759
782
  }),
760
783
  []
761
- ), Lt = u(
784
+ ), Ft = u(
762
785
  () => ({
763
786
  hour: "numeric",
764
787
  minute: "2-digit"
765
788
  }),
766
789
  []
767
- ), Pt = u(
790
+ ), Wt = u(
768
791
  () => ({
769
792
  hour: "2-digit",
770
793
  minute: "2-digit",
@@ -773,23 +796,26 @@ const Qe = Ye(
773
796
  hour12: !1
774
797
  }),
775
798
  []
776
- ), G = u(
777
- () => new Set(Ee ?? []),
778
- [Ee]
779
- ), pe = g(G);
780
- pe.current = G;
781
- const he = g(!1), Mt = T(
799
+ ), R = u(() => new Set(Ee ?? []), [Ee]), W = u(
800
+ () => new Set((Le ?? []).filter((e) => !R.has(e))),
801
+ [Le, R]
802
+ ), he = g(W);
803
+ he.current = W;
804
+ const ge = g(!1), zt = b(
782
805
  (e) => {
783
806
  const t = new Intl.DateTimeFormat(y, {
784
807
  weekday: "short"
785
808
  }).format(e.date);
786
809
  if (e.view.type === "dayGridMonth" || e.view.type.startsWith("list"))
787
- return t;
810
+ return e.view.type.startsWith("list") && R.has(E(e.date)) ? /* @__PURE__ */ k("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
811
+ t,
812
+ /* @__PURE__ */ l(De, { label: c("calendar.loadFailedDay") })
813
+ ] }) : t;
788
814
  const n = new Intl.DateTimeFormat(y, {
789
815
  calendar: "gregory",
790
816
  day: "numeric"
791
817
  }).format(e.date);
792
- return /* @__PURE__ */ P("span", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-2xs)] ds:py-[var(--spacing-2xs)]", children: [
818
+ return /* @__PURE__ */ k("span", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-2xs)] ds:py-[var(--spacing-2xs)]", children: [
793
819
  /* @__PURE__ */ l("span", { className: "type-eyebrow ds:text-[color:var(--muted-foreground)]", children: t }),
794
820
  /* @__PURE__ */ l(
795
821
  "span",
@@ -798,87 +824,93 @@ const Qe = Ye(
798
824
  children: n
799
825
  }
800
826
  ),
801
- G.has(V(e.date)) ? /* @__PURE__ */ l(Ir, { children: f("calendar.loadingDay") }) : null
827
+ W.has(E(e.date)) ? /* @__PURE__ */ l(rt, { children: c("calendar.loadingDay") }) : R.has(E(e.date)) ? /* @__PURE__ */ l(De, { label: c("calendar.loadFailedDay") }) : null
802
828
  ] });
803
829
  },
804
- [y, G, f]
805
- ), Fe = u(
806
- () => typeof X == "number" ? { minutes: X } : X,
807
- [X]
808
- ), ge = u(
809
- () => W ? W.split(/\s+/).filter(Boolean) : void 0,
810
- [W]
811
- ), Gt = u(() => {
812
- if (Y !== void 0)
813
- return Y === "chairs" ? f("calendar.resourceLabel.chairs") : Y === "operators" ? f("calendar.resourceLabel.operators") : Y;
814
- }, [Y, f]), se = u(
815
- () => Wr(s, ue),
816
- [s, ue]
817
- ), j = g(se);
818
- j.current = se;
819
- const ye = g(!1), Bt = T(
830
+ [y, W, R, c]
831
+ ), Ht = b(
832
+ (e) => e.view.type !== "dayGridMonth" || !R.has(E(e.date)) ? e.dayNumberText : /* @__PURE__ */ k("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
833
+ e.dayNumberText,
834
+ /* @__PURE__ */ l(De, { label: c("calendar.loadFailedDay") })
835
+ ] }),
836
+ [R, c]
837
+ ), je = u(
838
+ () => typeof J == "number" ? { minutes: J } : J,
839
+ [J]
840
+ ), ye = u(
841
+ () => j ? j.split(/\s+/).filter(Boolean) : void 0,
842
+ [j]
843
+ ), jt = u(() => {
844
+ if (X !== void 0)
845
+ return X === "chairs" ? c("calendar.resourceLabel.chairs") : X === "operators" ? c("calendar.resourceLabel.operators") : X;
846
+ }, [X, c]), de = u(
847
+ () => Yr(d, me),
848
+ [d, me]
849
+ ), V = g(de);
850
+ V.current = de;
851
+ const be = g(!1), _t = b(
820
852
  (e) => {
821
- const t = G.has(V(e.date)) ? [Fr] : [], n = j.current;
822
- if (!n.active || !e.view.type.startsWith("resourceTimeGrid"))
823
- return t;
824
- const a = e.resource;
825
- return a != null && a.id && n.hiddenCells.has(
826
- `${a.id}:${V(e.date)}`
827
- ) ? [...t, xe] : t;
853
+ const t = E(e.date), n = R.has(t) ? [Ur] : W.has(t) ? [Kr] : [], a = V.current;
854
+ if (!a.active || !e.view.type.startsWith("resourceTimeGrid"))
855
+ return n;
856
+ const i = e.resource;
857
+ return i != null && i.id && a.hiddenCells.has(
858
+ `${i.id}:${E(e.date)}`
859
+ ) ? [...n, we] : n;
828
860
  },
829
- [G]
830
- ), Ot = T(
861
+ [W, R]
862
+ ), Vt = b(
831
863
  (e) => {
832
- const t = j.current;
864
+ const t = V.current;
833
865
  if (!t.active || !e.view.type.startsWith("resourceTimeGrid"))
834
866
  return [];
835
867
  const n = e.date ?? e.view.currentStart;
836
868
  return t.hiddenCells.has(
837
- `${e.resource.id}:${V(n)}`
838
- ) ? [xe] : [];
869
+ `${e.resource.id}:${E(n)}`
870
+ ) ? [we] : [];
839
871
  },
840
872
  []
841
- ), Ft = T(
873
+ ), qt = b(
842
874
  (e) => {
843
- const t = j.current;
844
- return !t.active || !e.view.type.startsWith("resourceTimeGrid") ? [] : (t.hiddenCountByDate.get(V(e.date)) ?? 0) >= t.resourceCount ? [xe] : [];
875
+ const t = V.current;
876
+ return !t.active || !e.view.type.startsWith("resourceTimeGrid") ? [] : (t.hiddenCountByDate.get(E(e.date)) ?? 0) >= t.resourceCount ? [we] : [];
845
877
  },
846
878
  []
847
- ), Wt = T((e) => {
848
- const t = j.current;
879
+ ), $t = b((e) => {
880
+ const t = V.current;
849
881
  if (!t.active || !e.view.type.startsWith("resourceTimeGrid"))
850
882
  return;
851
883
  const n = e.el;
852
884
  if (!(n instanceof HTMLTableCellElement) || !n.classList.contains("fc-day")) return;
853
885
  const a = n.getAttribute("data-date");
854
886
  if (!a) return;
855
- const i = t.hiddenCountByDate.get(a) ?? 0, d = Math.max(1, t.resourceCount - i);
856
- n.colSpan !== d && (n.colSpan = d, ye.current = !0);
857
- }, []), J = T(() => {
858
- const e = N.current;
859
- if (!e || !Be.current.startsWith("resourceTimeGrid")) return;
860
- const t = j.current;
861
- !t.active && !ye.current || (e.querySelectorAll(
887
+ const i = t.hiddenCountByDate.get(a) ?? 0, o = Math.max(1, t.resourceCount - i);
888
+ n.colSpan !== o && (n.colSpan = o, be.current = !0);
889
+ }, []), Z = b(() => {
890
+ const e = G.current;
891
+ if (!e || !We.current.startsWith("resourceTimeGrid")) return;
892
+ const t = V.current;
893
+ !t.active && !be.current || (e.querySelectorAll(
862
894
  "th.fc-col-header-cell.fc-day[data-date]"
863
895
  ).forEach((n) => {
864
896
  const a = n.getAttribute("data-date");
865
897
  if (!a) return;
866
- const i = t.active ? t.hiddenCountByDate.get(a) ?? 0 : 0, d = Math.max(1, t.resourceCount - i);
867
- n.colSpan !== d && (n.colSpan = d);
868
- }), ye.current = t.active);
869
- }, []), Z = T(() => {
870
- const e = N.current;
898
+ const i = t.active ? t.hiddenCountByDate.get(a) ?? 0 : 0, o = Math.max(1, t.resourceCount - i);
899
+ n.colSpan !== o && (n.colSpan = o);
900
+ }), be.current = t.active);
901
+ }, []), Q = b(() => {
902
+ const e = G.current;
871
903
  if (!e) return;
872
- const t = pe.current;
873
- t.size === 0 && !he.current || (e.querySelectorAll("td.fc-day[data-date]").forEach((n) => {
904
+ const t = he.current;
905
+ t.size === 0 && !ge.current || (e.querySelectorAll("td.fc-day[data-date]").forEach((n) => {
874
906
  const a = n.getAttribute("data-date");
875
907
  a && t.has(a) ? n.setAttribute("aria-busy", "true") : n.removeAttribute("aria-busy");
876
- }), he.current = t.size > 0);
877
- }, []), zt = T((e) => {
878
- pe.current.has(V(e.date)) && (e.el.setAttribute("aria-busy", "true"), he.current = !0);
908
+ }), ge.current = t.size > 0);
909
+ }, []), Kt = b((e) => {
910
+ he.current.has(E(e.date)) && (e.el.setAttribute("aria-busy", "true"), ge.current = !0);
879
911
  }, []);
880
- b(() => {
881
- }, [o, se]);
912
+ T(() => {
913
+ }, [s, de]);
882
914
  const B = (e) => {
883
915
  const t = e.extendedProps ?? {};
884
916
  return {
@@ -911,30 +943,31 @@ const Qe = Ye(
911
943
  startEditable: t.startEditable,
912
944
  patientId: t.patientId,
913
945
  operatorId: t.operatorId,
914
- optionCount: t.optionCount
946
+ optionCount: t.optionCount,
947
+ bookable: t.bookable
915
948
  };
916
- }, Ht = u(() => {
917
- if (x)
949
+ }, Ut = u(() => {
950
+ if (w)
918
951
  return (e) => {
919
952
  var n, a, i;
920
953
  if (!e.event.start) return;
921
954
  const t = e.oldEvent.start;
922
- if (t && (x({
955
+ if (t && (w({
923
956
  event: B(e.event),
924
957
  oldStart: t,
925
958
  newStart: e.event.start,
926
959
  oldResourceId: (n = e.oldResource) == null ? void 0 : n.id,
927
960
  newResourceId: (a = e.newResource) == null ? void 0 : a.id,
928
961
  revert: e.revert
929
- }), I.current)) {
930
- const d = e.event.extendedProps ?? {}, c = w ? ((i = d.privacyModeTitle) == null ? void 0 : i.trim()) || "•••" : e.event.title;
931
- I.current.textContent = f("calendar.eventMoved", {
932
- title: c
962
+ }), N.current)) {
963
+ const o = e.event.extendedProps ?? {}, f = C ? ((i = o.privacyModeTitle) == null ? void 0 : i.trim()) || "•••" : e.event.title;
964
+ N.current.textContent = c("calendar.eventMoved", {
965
+ title: f
933
966
  });
934
967
  }
935
968
  };
936
- }, [x, w, f]), jt = u(() => {
937
- if (R)
969
+ }, [w, C, c]), Yt = u(() => {
970
+ if (P)
938
971
  return (e) => {
939
972
  var i;
940
973
  if (!e.event.end) return;
@@ -942,69 +975,69 @@ const Qe = Ye(
942
975
  if (!t)
943
976
  return;
944
977
  const n = e.event.end, a = e.event.start ?? e.oldEvent.start ?? t;
945
- if (R({
978
+ if (P({
946
979
  event: B(e.event),
947
980
  oldEnd: t,
948
981
  newEnd: n,
949
982
  revert: e.revert
950
- }), I.current) {
951
- const d = Math.round(
983
+ }), N.current) {
984
+ const o = Math.round(
952
985
  (n.getTime() - a.getTime()) / 6e4
953
- ), c = e.event.extendedProps ?? {}, v = w ? ((i = c.privacyModeTitle) == null ? void 0 : i.trim()) || "•••" : e.event.title;
954
- I.current.textContent = f("calendar.eventResized", {
986
+ ), f = e.event.extendedProps ?? {}, v = C ? ((i = f.privacyModeTitle) == null ? void 0 : i.trim()) || "•••" : e.event.title;
987
+ N.current.textContent = c("calendar.eventResized", {
955
988
  title: v,
956
- duration: d
989
+ duration: o
957
990
  });
958
991
  }
959
992
  };
960
- }, [R, w, f]), _t = u(() => {
961
- if (C)
993
+ }, [P, C, c]), Xt = u(() => {
994
+ if (D)
962
995
  return (e) => {
963
- e.event.start && (Pe.current = e.jsEvent, C(B(e.event), {
996
+ e.event.start && (Be.current = e.jsEvent, D(B(e.event), {
964
997
  el: e.el,
965
998
  jsEvent: e.jsEvent
966
999
  }));
967
1000
  };
968
- }, [C]), Vt = u(() => {
969
- if ($)
1001
+ }, [D]), Jt = u(() => {
1002
+ if (K)
970
1003
  return (e) => {
971
1004
  if (!e.event.start || e.event.display === "background") return;
972
1005
  const t = e.event.extendedProps ?? {};
973
- t.isDraft || t.detailsPending || $(B(e.event), {
1006
+ t.isDraft || t.detailsPending || K(B(e.event), {
974
1007
  el: e.el,
975
1008
  jsEvent: e.jsEvent
976
1009
  });
977
1010
  };
978
- }, [$]), qt = u(() => {
979
- if (K)
1011
+ }, [K]), Zt = u(() => {
1012
+ if (U)
980
1013
  return (e) => {
981
- e.event.start && e.event.display !== "background" && K(B(e.event));
1014
+ e.event.start && e.event.display !== "background" && U(B(e.event));
982
1015
  };
983
- }, [K]), $t = u(() => {
984
- if (O)
1016
+ }, [U]), Qt = u(() => {
1017
+ if (z)
985
1018
  return (e) => {
986
1019
  var t;
987
- O({
1020
+ z({
988
1021
  start: e.start,
989
1022
  end: e.end,
990
1023
  allDay: e.allDay,
991
1024
  resourceId: (t = e.resource) == null ? void 0 : t.id
992
1025
  });
993
1026
  };
994
- }, [O]), Kt = u(() => {
995
- if (k)
1027
+ }, [z]), er = u(() => {
1028
+ if (S)
996
1029
  return (e) => {
997
1030
  var n;
998
- const t = ie.current.id;
999
- t !== 0 && Ge.current === t || (t !== 0 && (Me.current = t), k({
1031
+ const t = oe.current.id;
1032
+ t !== 0 && Fe.current === t || (t !== 0 && (Oe.current = t), S({
1000
1033
  date: e.date,
1001
1034
  allDay: e.allDay,
1002
1035
  resourceId: (n = e.resource) == null ? void 0 : n.id
1003
1036
  }));
1004
1037
  };
1005
- }, [k]), Ut = T(
1038
+ }, [S]), tr = b(
1006
1039
  (e) => {
1007
- It(e.view.title), St(e.view.type), F == null || F({
1040
+ Pt(e.view.title), Gt(e.view.type), H == null || H({
1008
1041
  view: m,
1009
1042
  internalView: e.view.type,
1010
1043
  start: e.start,
@@ -1013,118 +1046,118 @@ const Qe = Ye(
1013
1046
  tick, which fires before fcRef is guaranteed to be assigned. */
1014
1047
  currentDate: e.view.calendar.getDate(),
1015
1048
  title: e.view.title
1016
- }), J(), Z();
1049
+ }), Z(), Q();
1017
1050
  },
1018
- [F, m, J, Z]
1019
- ), Yt = u(() => Or(y), [y]), Xt = u(
1051
+ [H, m, Z, Q]
1052
+ ), rr = u(() => $r(y), [y]), nr = u(
1020
1053
  () => [
1021
- mr,
1022
- fr,
1023
- vr,
1024
- br,
1025
- pr,
1026
- hr,
1027
- gr,
1028
- yr
1054
+ Tr,
1055
+ xr,
1056
+ wr,
1057
+ Sr,
1058
+ Dr,
1059
+ Cr,
1060
+ kr,
1061
+ Ar
1029
1062
  ],
1030
1063
  []
1031
- ), Jt = u(
1032
- () => be(m, U),
1033
- [m, U]
1064
+ ), ar = u(
1065
+ () => Te(m, Y),
1066
+ [m, Y]
1034
1067
  );
1035
- b(() => {
1036
- const e = N.current;
1068
+ T(() => {
1069
+ const e = G.current;
1037
1070
  if (!e) return;
1038
1071
  const t = (n) => {
1039
- ie.current = {
1040
- id: ie.current.id + 1,
1072
+ oe.current = {
1073
+ id: oe.current.id + 1,
1041
1074
  x: n.clientX,
1042
1075
  y: n.clientY
1043
1076
  };
1044
1077
  };
1045
1078
  return e.addEventListener("pointerdown", t, !0), () => e.removeEventListener("pointerdown", t, !0);
1046
- }, []), b(() => {
1047
- const e = N.current;
1048
- if (!e || !H.startsWith("resourceTimeGrid") || !k && !C) return;
1079
+ }, []), T(() => {
1080
+ const e = G.current;
1081
+ if (!e || !F.startsWith("resourceTimeGrid") || !S && !D) return;
1049
1082
  const t = (n) => {
1050
1083
  var h;
1051
- if (n === Pe.current) return;
1084
+ if (n === Be.current) return;
1052
1085
  const a = n.target;
1053
1086
  if (!(a instanceof Element) || a.closest(
1054
1087
  ".fc-more-link, a[data-navlink], .fc-popover, .fc-event-mirror"
1055
1088
  ))
1056
1089
  return;
1057
- const i = ie.current;
1058
- if (i.id !== 0 && (Math.abs(n.clientX - i.x) > Te || Math.abs(n.clientY - i.y) > Te))
1090
+ const i = oe.current;
1091
+ if (i.id !== 0 && (Math.abs(n.clientX - i.x) > xe || Math.abs(n.clientY - i.y) > xe))
1059
1092
  return;
1060
- const d = a.closest("td.fc-daygrid-day[data-date]");
1061
- if (!d) return;
1062
- const c = a.closest("[data-event-id]");
1063
- if (c) {
1064
- if (!C) return;
1065
- const E = c.getAttribute("data-event-id"), _ = (h = A.current) == null ? void 0 : h.getApi(), de = E ? _ == null ? void 0 : _.getEventById(E) : null;
1066
- if (!de || !de.start) return;
1067
- const He = de.extendedProps ?? {};
1068
- if (He.isInternal || He.isDraft) return;
1069
- const dr = a.closest(".fc-event") ?? c;
1070
- C(B(de), { el: dr, jsEvent: n });
1093
+ const o = a.closest("td.fc-daygrid-day[data-date]");
1094
+ if (!o) return;
1095
+ const f = a.closest("[data-event-id]");
1096
+ if (f) {
1097
+ if (!D) return;
1098
+ const L = f.getAttribute("data-event-id"), q = (h = I.current) == null ? void 0 : h.getApi(), le = L ? q == null ? void 0 : q.getEventById(L) : null;
1099
+ if (!le || !le.start) return;
1100
+ const qe = le.extendedProps ?? {};
1101
+ if (qe.isInternal || qe.isDraft) return;
1102
+ const vr = a.closest(".fc-event") ?? f;
1103
+ D(B(le), { el: vr, jsEvent: n });
1071
1104
  return;
1072
1105
  }
1073
- if (!k || i.id !== 0 && Me.current === i.id)
1106
+ if (!S || i.id !== 0 && Oe.current === i.id)
1074
1107
  return;
1075
- const v = d.getAttribute("data-date");
1108
+ const v = o.getAttribute("data-date");
1076
1109
  if (!v) return;
1077
- const S = /* @__PURE__ */ new Date(`${v}T00:00:00`);
1078
- Number.isNaN(S.getTime()) || (i.id !== 0 && (Ge.current = i.id), k({
1079
- date: S,
1110
+ const x = /* @__PURE__ */ new Date(`${v}T00:00:00`);
1111
+ Number.isNaN(x.getTime()) || (i.id !== 0 && (Fe.current = i.id), S({
1112
+ date: x,
1080
1113
  allDay: !0,
1081
- resourceId: d.getAttribute("data-resource-id") ?? void 0
1114
+ resourceId: o.getAttribute("data-resource-id") ?? void 0
1082
1115
  }));
1083
1116
  };
1084
1117
  return e.addEventListener("click", t), () => e.removeEventListener("click", t);
1085
- }, [H, k, C]);
1086
- const We = u(() => {
1118
+ }, [F, S, D]);
1119
+ const _e = u(() => {
1087
1120
  var i;
1088
- const e = s ?? [], t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
1089
- for (const d of e) {
1090
- const c = (i = d.shortTitle) == null ? void 0 : i.trim();
1091
- c && n.set(c, (n.get(c) ?? 0) + 1);
1121
+ const e = d ?? [], t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
1122
+ for (const o of e) {
1123
+ const f = (i = o.shortTitle) == null ? void 0 : i.trim();
1124
+ f && n.set(f, (n.get(f) ?? 0) + 1);
1092
1125
  }
1093
- let a = e.filter((d) => {
1126
+ let a = e.filter((o) => {
1094
1127
  var v;
1095
- const c = (v = d.shortTitle) == null ? void 0 : v.trim();
1096
- return c && n.get(c) === 1 ? (t.set(d.id, c), !1) : !0;
1128
+ const f = (v = o.shortTitle) == null ? void 0 : v.trim();
1129
+ return f && n.get(f) === 1 ? (t.set(o.id, f), !1) : !0;
1097
1130
  });
1098
- for (let d = 1; a.length > 0; d += 1) {
1099
- const c = new Set(t.values()), v = a.map((h) => ({
1131
+ for (let o = 1; a.length > 0; o += 1) {
1132
+ const f = new Set(t.values()), v = a.map((h) => ({
1100
1133
  resource: h,
1101
- short: je(h.title, { locale: y, letters: d })
1102
- })), S = /* @__PURE__ */ new Map();
1134
+ short: $e(h.title, { locale: y, letters: o })
1135
+ })), x = /* @__PURE__ */ new Map();
1103
1136
  for (const { short: h } of v)
1104
- S.set(h, (S.get(h) ?? 0) + 1);
1105
- a = v.filter(({ resource: h, short: E }) => {
1106
- const _ = S.get(E) === 1 && !c.has(E);
1107
- return (_ || d >= 3) && t.set(h.id, E), !_ && d < 3;
1137
+ x.set(h, (x.get(h) ?? 0) + 1);
1138
+ a = v.filter(({ resource: h, short: L }) => {
1139
+ const q = x.get(L) === 1 && !f.has(L);
1140
+ return (q || o >= 3) && t.set(h.id, L), !q && o < 3;
1108
1141
  }).map(({ resource: h }) => h);
1109
1142
  }
1110
1143
  return t;
1111
- }, [s, y]), Zt = T(
1144
+ }, [d, y]), ir = b(
1112
1145
  (e) => {
1113
- const t = e.resource.extendedProps, n = e.resource.title, a = t.color, i = t.shortTitleTextColor, d = a || i ? {
1146
+ const t = e.resource.extendedProps, n = e.resource.title, a = t.color, i = t.shortTitleTextColor, o = a || i ? {
1114
1147
  ...a ? { "--resource-color": a } : {},
1115
1148
  ...i ? {
1116
1149
  "--resource-initials-text-color": i
1117
1150
  } : {}
1118
1151
  } : void 0;
1119
- return Ne === "chip" && !me ? /* @__PURE__ */ l(
1120
- Ar,
1152
+ return Ge === "chip" && !fe ? /* @__PURE__ */ l(
1153
+ Gr,
1121
1154
  {
1122
1155
  label: n,
1123
- shortLabel: We.get(e.resource.id) ?? je(n, { locale: y }),
1156
+ shortLabel: _e.get(e.resource.id) ?? $e(n, { locale: y }),
1124
1157
  color: a,
1125
- orientation: fe ? "vertical" : "horizontal"
1158
+ orientation: pe ? "vertical" : "horizontal"
1126
1159
  }
1127
- ) : me ? /* @__PURE__ */ l(_e, { label: n, children: /* @__PURE__ */ l(Cr, { size: "sm", name: n, src: t.avatarSrc }) }) : a ? (a && i && wr(a, i, `resource ${e.resource.id}`), /* @__PURE__ */ P(
1160
+ ) : fe ? /* @__PURE__ */ l(Ke, { label: n, children: /* @__PURE__ */ l(Er, { size: "sm", name: n, src: t.avatarSrc }) }) : a ? (a && i && Rr(a, i, `resource ${e.resource.id}`), /* @__PURE__ */ k(
1128
1161
  "span",
1129
1162
  {
1130
1163
  className: "calendar-resource-label ds:flex ds:items-center ds:gap-[var(--spacing-xs)]",
@@ -1134,7 +1167,7 @@ const Qe = Ye(
1134
1167
  "span",
1135
1168
  {
1136
1169
  className: "resource-dot ds:[background-color:var(--resource-color)]",
1137
- style: d,
1170
+ style: o,
1138
1171
  "aria-hidden": "true"
1139
1172
  }
1140
1173
  ),
@@ -1151,14 +1184,14 @@ const Qe = Ye(
1151
1184
  );
1152
1185
  },
1153
1186
  [
1154
- me,
1155
- Ne,
1156
1187
  fe,
1188
+ Ge,
1189
+ pe,
1157
1190
  y,
1158
- We
1191
+ _e
1159
1192
  ]
1160
- ), ze = u(
1161
- () => s == null ? void 0 : s.map((e) => ({
1193
+ ), Ve = u(
1194
+ () => d == null ? void 0 : d.map((e) => ({
1162
1195
  id: e.id,
1163
1196
  title: e.title,
1164
1197
  sequenceNumber: e.sequenceNumber,
@@ -1170,38 +1203,38 @@ const Qe = Ye(
1170
1203
  sequenceNumber: e.sequenceNumber
1171
1204
  }
1172
1205
  })),
1173
- [s]
1206
+ [d]
1174
1207
  );
1175
- b(() => {
1176
- J();
1177
- const e = requestAnimationFrame(J);
1178
- return () => cancelAnimationFrame(e);
1179
- }, [se, ze, H, J]), b(() => {
1208
+ T(() => {
1180
1209
  Z();
1181
1210
  const e = requestAnimationFrame(Z);
1182
1211
  return () => cancelAnimationFrame(e);
1183
- }, [G, H, Z]);
1184
- const Qt = T(() => {
1212
+ }, [de, Ve, F, Z]), T(() => {
1213
+ Q();
1214
+ const e = requestAnimationFrame(Q);
1215
+ return () => cancelAnimationFrame(e);
1216
+ }, [W, F, Q]);
1217
+ const or = b(() => {
1185
1218
  var e, t;
1186
- (t = (e = A.current) == null ? void 0 : e.getApi()) == null || t.today();
1187
- }, []), er = T(() => {
1219
+ (t = (e = I.current) == null ? void 0 : e.getApi()) == null || t.today();
1220
+ }, []), sr = b(() => {
1188
1221
  var e, t;
1189
- (t = (e = A.current) == null ? void 0 : e.getApi()) == null || t.prev();
1190
- }, []), tr = T(() => {
1222
+ (t = (e = I.current) == null ? void 0 : e.getApi()) == null || t.prev();
1223
+ }, []), dr = b(() => {
1191
1224
  var e, t;
1192
- (t = (e = A.current) == null ? void 0 : e.getApi()) == null || t.next();
1193
- }, []), rr = u(
1194
- () => o.some((e) => e.isDraft),
1195
- [o]
1196
- ), nr = [
1225
+ (t = (e = I.current) == null ? void 0 : e.getApi()) == null || t.next();
1226
+ }, []), lr = u(
1227
+ () => s.some((e) => e.isDraft),
1228
+ [s]
1229
+ ), cr = [
1197
1230
  "fc-theme-alfadocs",
1198
- Rr({ density: it }),
1199
- xt ? "calendar-zebra-rows" : null,
1200
- fe ? "calendar-vertical-resource-labels" : null,
1201
- bt ? "calendar-availability-mode" : null,
1231
+ Fr({ density: ut }),
1232
+ St ? "calendar-zebra-rows" : null,
1233
+ pe ? "calendar-vertical-resource-labels" : null,
1234
+ kt ? "calendar-availability-mode" : null,
1202
1235
  /* Composing: derived from the events themselves rather than a prop,
1203
1236
  so the dim can never disagree with what is on the grid. */
1204
- rr ? "calendar-composing-mode" : null,
1237
+ lr ? "calendar-composing-mode" : null,
1205
1238
  "ds:bg-background ds:text-foreground",
1206
1239
  /* The radius clips the table's square corners; the frame is this
1207
1240
  border, not FullCalendar's. `clip`, not `hidden`: a scroll container
@@ -1211,11 +1244,11 @@ const Qe = Ye(
1211
1244
  which scrolls the date header away; FullCalendar's own value is
1212
1245
  visible. Important, as the host rule is unlayered. */
1213
1246
  "ds:[&_.fc-view]:!overflow-visible ds:[&_.fc-view>table]:!overflow-visible",
1214
- nt
1215
- ].filter(Boolean).join(" "), ar = ne || ae ? {
1216
- ...ne ? { "--calendar-mode-bg": ne } : {},
1217
- ...ae ? { "--calendar-mode-fg": ae } : {}
1218
- } : void 0, ir = re !== "default" ? ot ?? f(Br[re]) : "", or = [
1247
+ lt
1248
+ ].filter(Boolean).join(" "), ur = ae || ie ? {
1249
+ ...ae ? { "--calendar-mode-bg": ae } : {},
1250
+ ...ie ? { "--calendar-mode-fg": ie } : {}
1251
+ } : void 0, mr = ne !== "default" ? mt ?? c(qr[ne]) : "", fr = [
1219
1252
  "ds:sticky ds:top-0 ds:z-10",
1220
1253
  "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
1221
1254
  "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
@@ -1223,9 +1256,9 @@ const Qe = Ye(
1223
1256
  /* Caller-supplied colours flow through CSS custom properties set
1224
1257
  in `modeBannerStyle`; fallback tokens apply when the caller
1225
1258
  doesn't supply a hex. */
1226
- ne ? "ds:[background-color:var(--calendar-mode-bg)]" : "ds:bg-[var(--muted)]",
1227
- ae ? "ds:[color:var(--calendar-mode-fg)]" : "ds:text-[var(--muted-foreground)]"
1228
- ].filter(Boolean).join(" "), sr = [
1259
+ ae ? "ds:[background-color:var(--calendar-mode-bg)]" : "ds:bg-[var(--muted)]",
1260
+ ie ? "ds:[color:var(--calendar-mode-fg)]" : "ds:text-[var(--muted-foreground)]"
1261
+ ].filter(Boolean).join(" "), pr = [
1229
1262
  "ds:inline-flex ds:items-center ds:justify-center",
1230
1263
  "ds:min-h-[var(--min-target-size)]",
1231
1264
  "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
@@ -1240,190 +1273,193 @@ const Qe = Ye(
1240
1273
  "ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
1241
1274
  "ds:motion-reduce:transition-none"
1242
1275
  ].join(" ");
1243
- return /* @__PURE__ */ P(
1276
+ return /* @__PURE__ */ k(
1244
1277
  "div",
1245
1278
  {
1246
- ref: N,
1247
- className: nr,
1279
+ ref: G,
1280
+ className: cr,
1248
1281
  role: "region",
1249
- "aria-label": f("calendar.ariaLabel"),
1282
+ "aria-label": c("calendar.ariaLabel"),
1250
1283
  "data-component": "calendar",
1251
1284
  "data-component-id": r,
1252
- "data-mode": re,
1285
+ "data-mode": ne,
1253
1286
  children: [
1254
1287
  /* @__PURE__ */ l(
1255
1288
  "div",
1256
1289
  {
1257
- ref: I,
1290
+ ref: N,
1258
1291
  "aria-live": "polite",
1259
1292
  "aria-atomic": "true",
1260
- className: ["ds:sr-only", W].filter(Boolean).join(" ")
1293
+ className: ["ds:sr-only", j].filter(Boolean).join(" ")
1261
1294
  }
1262
1295
  ),
1263
- st,
1264
- re !== "default" ? /* @__PURE__ */ P(
1296
+ ft,
1297
+ ne !== "default" ? /* @__PURE__ */ k(
1265
1298
  "div",
1266
1299
  {
1267
- className: or,
1268
- style: ar,
1300
+ className: fr,
1301
+ style: ur,
1269
1302
  role: "status",
1270
1303
  "data-calendar-mode-banner": "",
1271
1304
  children: [
1272
1305
  /* @__PURE__ */ l(
1273
1306
  "span",
1274
1307
  {
1275
- className: ["ds:flex-1 ds:text-start", W].filter(Boolean).join(" "),
1276
- children: ir
1308
+ className: ["ds:flex-1 ds:text-start", j].filter(Boolean).join(" "),
1309
+ children: mr
1277
1310
  }
1278
1311
  ),
1279
- Ie ? /* @__PURE__ */ l(
1312
+ Ne ? /* @__PURE__ */ l(
1280
1313
  "button",
1281
1314
  {
1282
1315
  type: "button",
1283
- onClick: Ie,
1284
- className: sr,
1285
- children: f("calendar.modeBanner.cancel")
1316
+ onClick: Ne,
1317
+ className: pr,
1318
+ children: c("calendar.modeBanner.cancel")
1286
1319
  }
1287
1320
  ) : null
1288
1321
  ]
1289
1322
  }
1290
1323
  ) : null,
1291
- gt !== !1 ? /* @__PURE__ */ l(
1292
- De,
1324
+ Dt !== !1 ? /* @__PURE__ */ l(
1325
+ ke,
1293
1326
  {
1294
- title: At,
1295
- onToday: Qt,
1296
- onPrev: er,
1297
- onNext: tr,
1298
- end: yt,
1299
- maskClassName: W
1327
+ title: Et,
1328
+ onToday: or,
1329
+ onPrev: sr,
1330
+ onNext: dr,
1331
+ end: Ct,
1332
+ maskClassName: j
1300
1333
  }
1301
1334
  ) : null,
1302
1335
  /* @__PURE__ */ l(
1303
- ur,
1336
+ br,
1304
1337
  {
1305
- ref: A,
1306
- plugins: Xt,
1307
- schedulerLicenseKey: ht,
1308
- initialView: Jt,
1309
- views: Gr,
1338
+ ref: I,
1339
+ plugins: nr,
1340
+ schedulerLicenseKey: wt,
1341
+ initialView: ar,
1342
+ views: Vr,
1310
1343
  initialDate: p,
1311
- locale: Dt,
1312
- direction: Ct,
1313
- firstDay: Yt,
1314
- editable: te,
1315
- eventDurationEditable: te === !1 ? !1 : et ?? te,
1316
- selectable: ke,
1317
- selectMirror: tt ?? ke,
1318
- ...Ae === void 0 ? {} : { unselectAuto: Ae },
1319
- droppable: te,
1320
- dayMaxEvents: pt,
1321
- height: rt,
1344
+ locale: Nt,
1345
+ direction: Rt,
1346
+ firstDay: rr,
1347
+ editable: re,
1348
+ eventDurationEditable: re === !1 ? !1 : ot ?? re,
1349
+ selectable: Se,
1350
+ selectMirror: st ?? Se,
1351
+ ...Ie === void 0 ? {} : { unselectAuto: Ie },
1352
+ droppable: re,
1353
+ dayMaxEvents: xt,
1354
+ height: dt,
1322
1355
  expandRows: !0,
1323
- events: Et,
1324
- resources: ze,
1356
+ events: Mt,
1357
+ resources: Ve,
1325
1358
  resourceOrder: "sequenceNumber",
1326
- resourceLabelContent: Zt,
1327
- resourceAreaWidth: Tt,
1328
- resourceAreaHeaderContent: Gt,
1329
- dayCellClassNames: Bt,
1330
- dayCellDidMount: zt,
1331
- dayHeaderClassNames: Ft,
1332
- resourceLabelClassNames: Ot,
1333
- dayHeaderDidMount: Wt,
1334
- ...ge ? { slotLaneClassNames: ge } : {},
1359
+ resourceLabelContent: ir,
1360
+ resourceAreaWidth: At,
1361
+ resourceAreaHeaderContent: jt,
1362
+ dayCellClassNames: _t,
1363
+ dayCellContent: Ht,
1364
+ dayCellDidMount: Kt,
1365
+ dayHeaderClassNames: qt,
1366
+ resourceLabelClassNames: Vt,
1367
+ dayHeaderDidMount: $t,
1368
+ ...ye ? { slotLaneClassNames: ye } : {},
1335
1369
  eventClassNames: (e) => {
1336
- var t;
1370
+ var t, n;
1337
1371
  return [
1338
- ...ge ?? [],
1339
- ...Le && e.event.id === Le ? ["calendar-event-selected"] : [],
1340
- ...(t = e.event.extendedProps) != null && t.isDraft ? ["calendar-event-draft"] : []
1372
+ ...ye ?? [],
1373
+ ...Me && e.event.id === Me ? ["calendar-event-selected"] : [],
1374
+ ...(t = e.event.extendedProps) != null && t.isDraft ? ["calendar-event-draft"] : [],
1375
+ ...(n = e.event.extendedProps) != null && n.faded && e.event.display === "background" ? ["calendar-event-faded-bg"] : []
1341
1376
  ];
1342
1377
  },
1343
1378
  headerToolbar: !1,
1344
- allDayText: f("calendar.allDay"),
1345
- noEventsText: f("calendar.noEvents"),
1346
- titleFormat: Rt,
1347
- dayHeaderFormat: Nt,
1348
- dayHeaderContent: Mt,
1349
- eventTimeFormat: Lt,
1350
- slotLabelFormat: Pt,
1351
- slotMinTime: dt ?? "00:00:00",
1352
- slotMaxTime: lt ?? "24:00:00",
1353
- slotDuration: ct ?? "00:30:00",
1354
- ...Re ? { snapDuration: Re } : {},
1379
+ allDayText: c("calendar.allDay"),
1380
+ noEventsText: c("calendar.noEvents"),
1381
+ titleFormat: Bt,
1382
+ dayHeaderFormat: Ot,
1383
+ dayHeaderContent: zt,
1384
+ eventTimeFormat: Ft,
1385
+ slotLabelFormat: Wt,
1386
+ slotMinTime: pt ?? "00:00:00",
1387
+ slotMaxTime: vt ?? "24:00:00",
1388
+ slotDuration: ht ?? "00:30:00",
1389
+ ...Pe ? { snapDuration: Pe } : {},
1355
1390
  slotLabelInterval: "01:00:00",
1356
- ...Fe !== void 0 ? { defaultTimedEventDuration: Fe } : {},
1357
- hiddenDays: Se,
1358
- datesAboveResources: ue,
1359
- slotEventOverlap: mt,
1360
- stickyHeaderDates: ft,
1361
- nowIndicator: vt,
1362
- eventLongPressDelay: oe ? 0 : 1e3,
1363
- eventDragMinDistance: oe ? 0 : Te,
1391
+ ...je !== void 0 ? { defaultTimedEventDuration: je } : {},
1392
+ hiddenDays: Re,
1393
+ datesAboveResources: me,
1394
+ slotEventOverlap: yt,
1395
+ stickyHeaderDates: bt,
1396
+ nowIndicator: Tt,
1397
+ eventLongPressDelay: se ? 0 : 1e3,
1398
+ eventDragMinDistance: se ? 0 : xe,
1364
1399
  eventContent: (e) => {
1365
- var n, a;
1400
+ var a, i;
1366
1401
  const t = e.event.extendedProps ?? {};
1367
1402
  if (t.isInternal) {
1368
- if (e.event.title && ee) {
1369
- const i = typeof t.optionCount == "number" ? f("calendarWorkspace.findSlots.freeOptions", {
1403
+ if (e.event.title && te) {
1404
+ const o = t.bookable ? c("calendarWorkspace.findSlots.book") : typeof t.optionCount == "number" ? c("calendarWorkspace.findSlots.freeOptions", {
1370
1405
  count: t.optionCount
1371
- }) : void 0, d = i ? [
1406
+ }) : void 0, f = o ? [
1372
1407
  e.event.title,
1373
- Ue(e, y),
1374
- i
1375
- ].filter(Boolean).join(", ") : e.event.title, c = /* @__PURE__ */ l(
1376
- kr,
1408
+ Qe(e, y),
1409
+ o
1410
+ ].filter(Boolean).join(", ") : e.event.title, v = /* @__PURE__ */ l(
1411
+ Pr,
1377
1412
  {
1378
1413
  type: "button",
1379
1414
  intent: "ghost",
1380
1415
  size: "sm",
1381
1416
  "data-event-id": e.event.id,
1382
- "aria-label": d,
1417
+ "aria-label": f,
1418
+ ref: Wr,
1383
1419
  className: "ds:pointer-events-auto ds:h-full ds:w-full ds:min-h-0 ds:justify-center ds:before:hidden",
1384
- onClick: (v) => {
1385
- v.stopPropagation(), ee(B(e.event), {
1386
- el: v.currentTarget,
1387
- jsEvent: v.nativeEvent
1420
+ onClick: (x) => {
1421
+ x.stopPropagation(), te(B(e.event), {
1422
+ el: x.currentTarget,
1423
+ jsEvent: x.nativeEvent
1388
1424
  });
1389
1425
  },
1390
- children: /* @__PURE__ */ P(
1426
+ children: /* @__PURE__ */ k(
1391
1427
  "span",
1392
1428
  {
1393
1429
  className: "calendar-bg-event-label",
1394
1430
  "aria-hidden": "true",
1395
1431
  children: [
1396
- /* @__PURE__ */ l(Ve, { size: 12, "aria-hidden": "true" }),
1432
+ /* @__PURE__ */ l(Ue, { size: 12, "aria-hidden": "true" }),
1397
1433
  e.event.title
1398
1434
  ]
1399
1435
  }
1400
1436
  )
1401
1437
  }
1402
1438
  );
1403
- return i ? /* @__PURE__ */ l(_e, { label: i, children: c }) : c;
1439
+ return o ? /* @__PURE__ */ l(Ke, { label: o, children: v }) : v;
1404
1440
  }
1405
- return e.event.title ? /* @__PURE__ */ P("span", { className: "calendar-bg-event-label", children: [
1406
- /* @__PURE__ */ l(Ve, { size: 12, "aria-hidden": "true" }),
1441
+ return e.event.title ? /* @__PURE__ */ k("span", { className: "calendar-bg-event-label", children: [
1442
+ /* @__PURE__ */ l(Ue, { size: 12, "aria-hidden": "true" }),
1407
1443
  e.event.title
1408
1444
  ] }) : !0;
1409
1445
  }
1410
- return /* @__PURE__ */ l(
1411
- Dr,
1446
+ const n = /* @__PURE__ */ l(
1447
+ Lr,
1412
1448
  {
1413
1449
  eventId: e.event.id,
1414
- title: w ? ((n = t.privacyModeTitle) == null ? void 0 : n.trim()) || "•••" : e.event.title,
1415
- shortTitle: w ? void 0 : t.shortTitle,
1450
+ title: C ? ((a = t.privacyModeTitle) == null ? void 0 : a.trim()) || "•••" : e.event.title,
1451
+ shortTitle: C ? void 0 : t.shortTitle,
1416
1452
  contextLabel: t.contextLabel,
1417
1453
  contextName: t.contextName,
1418
- startText: Hr(e.event.start, y),
1454
+ startText: Jr(e.event.start, y),
1419
1455
  layout: e.event.allDay || e.view.type.startsWith("dayGrid") ? "month" : e.view.type.startsWith("list") || e.view.type.toLowerCase().includes("timeline") ? "flow" : "grid",
1420
- privacyMasked: w,
1456
+ privacyMasked: C,
1421
1457
  suffix: t.suffix,
1422
- rangeText: Ue(e, y),
1423
- showTime: ut,
1458
+ rangeText: Qe(e, y),
1459
+ showTime: gt,
1424
1460
  allDay: e.event.allDay,
1425
1461
  status: t.status,
1426
- colorStyle: at,
1462
+ colorStyle: ct,
1427
1463
  backgroundColor: t.backgroundColor,
1428
1464
  textColor: t.textColor,
1429
1465
  borderColor: t.borderColor,
@@ -1435,24 +1471,39 @@ const Qe = Ye(
1435
1471
  isRecurring: t.isRecurring,
1436
1472
  isTask: t.isTask,
1437
1473
  isDraft: t.isDraft,
1474
+ faded: t.faded,
1438
1475
  detailsPending: t.detailsPending,
1439
- resourceLabel: t.resourceId ? (a = (s ?? []).find((i) => i.id === t.resourceId)) == null ? void 0 : a.title : void 0
1476
+ resourceLabel: t.resourceId ? (i = (d ?? []).find((o) => o.id === t.resourceId)) == null ? void 0 : i.title : void 0
1440
1477
  }
1441
1478
  );
1479
+ return t.faded && e.event.display === "background" ? /* @__PURE__ */ l(
1480
+ "button",
1481
+ {
1482
+ type: "button",
1483
+ className: "calendar-faded-hit ds:pointer-events-auto ds:block ds:size-full ds:cursor-pointer ds:text-start",
1484
+ onClick: (o) => {
1485
+ o.stopPropagation(), D == null || D(B(e.event), {
1486
+ el: o.currentTarget,
1487
+ jsEvent: o.nativeEvent
1488
+ });
1489
+ },
1490
+ children: n
1491
+ }
1492
+ ) : n;
1442
1493
  },
1443
- eventClick: _t,
1444
- eventMouseEnter: Vt,
1445
- eventMouseLeave: qt,
1446
- eventDrop: Ht,
1447
- eventResize: jt,
1448
- eventDragStart: q,
1449
- eventResizeStart: Q,
1450
- select: $t,
1451
- dateClick: Kt,
1452
- datesSet: Ut,
1453
- ...Ce ? {
1494
+ eventClick: Xt,
1495
+ eventMouseEnter: Jt,
1496
+ eventMouseLeave: Zt,
1497
+ eventDrop: Ut,
1498
+ eventResize: Yt,
1499
+ eventDragStart: $,
1500
+ eventResizeStart: ee,
1501
+ select: Qt,
1502
+ dateClick: er,
1503
+ datesSet: tr,
1504
+ ...Ae ? {
1454
1505
  navLinks: !0,
1455
- navLinkDayClick: (e, t) => Ce(e, t)
1506
+ navLinkDayClick: (e, t) => Ae(e, t)
1456
1507
  } : {}
1457
1508
  }
1458
1509
  )
@@ -1461,12 +1512,12 @@ const Qe = Ye(
1461
1512
  );
1462
1513
  }
1463
1514
  );
1464
- Qe.displayName = "Calendar";
1465
- const Vr = Qe;
1466
- Vr.Toolbar = De;
1515
+ it.displayName = "Calendar";
1516
+ const en = it;
1517
+ en.Toolbar = ke;
1467
1518
  export {
1468
- Vr as C,
1469
- Er as c,
1470
- be as r
1519
+ en as C,
1520
+ Or as c,
1521
+ Te as r
1471
1522
  };
1472
- //# sourceMappingURL=calendar-_sgjuH3L.js.map
1523
+ //# sourceMappingURL=calendar-DzR-vdJ5.js.map