@sme.up/ketchup 10.3.1 → 10.3.2

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 (254) hide show
  1. package/dist/cjs/{component-cb3b32f5.js → component-a6dd6c14.js} +1 -1
  2. package/dist/cjs/{f-cell-be0c55ac.js → f-cell-7a2faf7a.js} +8 -6
  3. package/dist/cjs/{f-chip-dc085b9b.js → f-chip-f2d6124b.js} +1 -1
  4. package/dist/cjs/{f-object-field-96e1c599.js → f-object-field-3810f288.js} +2 -2
  5. package/dist/cjs/{f-paginator-utils-3f233ebe.js → f-paginator-utils-3855e84c.js} +1 -1
  6. package/dist/cjs/{f-text-field-d91ab1e8.js → f-text-field-a34a5979.js} +2 -2
  7. package/dist/cjs/{f-text-field-mdc-2a3c8c01.js → f-text-field-mdc-29aae9c9.js} +1 -1
  8. package/dist/cjs/index.cjs.js +1 -1
  9. package/dist/cjs/ketchup.cjs.js +1 -1
  10. package/dist/cjs/kup-accordion.cjs.entry.js +247 -44
  11. package/dist/cjs/kup-activity-timeline.cjs.entry.js +2 -2
  12. package/dist/cjs/kup-autocomplete_29.cjs.entry.js +927 -894
  13. package/dist/cjs/kup-box.cjs.entry.js +9 -9
  14. package/dist/cjs/kup-calendar.cjs.entry.js +925 -87
  15. package/dist/cjs/kup-card-list.cjs.entry.js +1 -1
  16. package/dist/cjs/kup-cell.cjs.entry.js +5 -5
  17. package/dist/cjs/kup-dashboard.cjs.entry.js +4 -4
  18. package/dist/cjs/{kup-data-table-helper-ff263f4f.js → kup-data-table-helper-f53032e7.js} +1 -1
  19. package/dist/cjs/kup-drawer.cjs.entry.js +1 -1
  20. package/dist/cjs/kup-echart.cjs.entry.js +5 -4
  21. package/dist/cjs/kup-editor.cjs.entry.js +3 -3
  22. package/dist/cjs/kup-family-tree.cjs.entry.js +1 -1
  23. package/dist/cjs/kup-grid.cjs.entry.js +1 -1
  24. package/dist/cjs/kup-htm.cjs.entry.js +1 -1
  25. package/dist/cjs/kup-iframe.cjs.entry.js +1 -1
  26. package/dist/cjs/kup-image-list.cjs.entry.js +6 -6
  27. package/dist/cjs/kup-input-panel.cjs.entry.js +58 -31
  28. package/dist/cjs/kup-lazy.cjs.entry.js +1 -1
  29. package/dist/cjs/kup-magic-box.cjs.entry.js +1 -1
  30. package/dist/cjs/{kup-manager-ecc44384.js → kup-manager-c70d3188.js} +122 -24
  31. package/dist/cjs/kup-nav-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/kup-numeric-picker.cjs.entry.js +4 -4
  33. package/dist/cjs/kup-object-field.cjs.entry.js +3 -3
  34. package/dist/cjs/kup-pdf.cjs.entry.js +1 -1
  35. package/dist/cjs/kup-planner.cjs.entry.js +4 -4
  36. package/dist/cjs/kup-probe.cjs.entry.js +1 -1
  37. package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
  38. package/dist/cjs/kup-snackbar.cjs.entry.js +1 -1
  39. package/dist/cjs/kup-txt.cjs.entry.js +1 -1
  40. package/dist/cjs/kup-typography-list.cjs.entry.js +1 -1
  41. package/dist/cjs/kup-typography.cjs.entry.js +1 -1
  42. package/dist/cjs/loader.cjs.js +1 -1
  43. package/dist/collection/assets/accordion.js +73 -18
  44. package/dist/collection/assets/dashboard.js +3 -9
  45. package/dist/collection/components/kup-accordion/kup-accordion-declarations.js +6 -1
  46. package/dist/collection/components/kup-accordion/kup-accordion.css +10 -2
  47. package/dist/collection/components/kup-accordion/kup-accordion.js +432 -54
  48. package/dist/collection/components/kup-autocomplete/kup-autocomplete-declarations.js +2 -0
  49. package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +44 -28
  50. package/dist/collection/components/kup-calendar/kup-calendar.css +13 -0
  51. package/dist/collection/components/kup-card/built-in/kup-card-column-drop-menu.js +3 -3
  52. package/dist/collection/components/kup-card/kup-card-helper.js +3 -2
  53. package/dist/collection/components/kup-card/kup-card.css +16 -0
  54. package/dist/collection/components/kup-card/standard/kup-card-standard.js +10 -3
  55. package/dist/collection/components/kup-chip/kup-chip.js +5 -5
  56. package/dist/collection/components/kup-combobox/kup-combobox-declarations.js +1 -0
  57. package/dist/collection/components/kup-combobox/kup-combobox.js +37 -2
  58. package/dist/collection/components/kup-data-table/kup-data-table.js +45 -46
  59. package/dist/collection/components/kup-date-picker/kup-date-picker.js +1 -1
  60. package/dist/collection/components/kup-echart/kup-echart.js +4 -3
  61. package/dist/collection/components/kup-input-panel/kup-input-panel-declarations.js +1 -0
  62. package/dist/collection/components/kup-input-panel/kup-input-panel-utils.js +20 -14
  63. package/dist/collection/components/kup-input-panel/kup-input-panel.js +53 -13
  64. package/dist/collection/components/kup-tab-bar/kup-tab-bar-declarations.js +4 -0
  65. package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +26 -43
  66. package/dist/collection/components/kup-toolbar/kup-toolbar.css +17 -6
  67. package/dist/collection/components/kup-tree/kup-tree.js +7 -10
  68. package/dist/collection/f-components/f-cell/f-cell.js +2 -1
  69. package/dist/collection/f-components/f-radio/f-radio.js +1 -1
  70. package/dist/collection/f-components/f-text-field/f-text-field.js +1 -1
  71. package/dist/collection/managers/kup-data/kup-data.js +2 -0
  72. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +45 -1
  73. package/dist/collection/managers/kup-language/kup-language-declarations.js +2 -0
  74. package/dist/collection/managers/kup-manager/kup-manager.js +3 -2
  75. package/dist/collection/managers/kup-perf-tuning/kup-perf-tuning-declarations.js +1 -0
  76. package/dist/collection/managers/kup-perf-tuning/kup-perf-tuning.js +25 -0
  77. package/dist/collection/utils/cell-utils.js +21 -0
  78. package/dist/components/index.js +1 -1
  79. package/dist/components/kup-accordion.js +253 -45
  80. package/dist/components/kup-activity-timeline.js +2 -2
  81. package/dist/components/kup-autocomplete.js +1 -1
  82. package/dist/components/kup-badge.js +1 -1
  83. package/dist/components/kup-box.js +1 -1
  84. package/dist/components/kup-button-list.js +1 -1
  85. package/dist/components/kup-button.js +1 -1
  86. package/dist/components/kup-calendar.js +925 -87
  87. package/dist/components/kup-card-list.js +3 -3
  88. package/dist/components/kup-card.js +1 -1
  89. package/dist/components/kup-cell.js +2 -2
  90. package/dist/components/kup-chart.js +1 -1
  91. package/dist/components/kup-checkbox.js +1 -1
  92. package/dist/components/kup-chip.js +1 -1
  93. package/dist/components/kup-color-picker.js +1 -1
  94. package/dist/components/kup-combobox.js +1 -1
  95. package/dist/components/kup-dashboard.js +2 -2
  96. package/dist/components/kup-data-table.js +1 -1
  97. package/dist/components/kup-date-picker.js +1 -1
  98. package/dist/components/kup-dialog.js +1 -1
  99. package/dist/components/kup-drawer.js +2 -2
  100. package/dist/components/kup-dropdown-button.js +1 -1
  101. package/dist/components/kup-echart.js +1 -1
  102. package/dist/components/kup-editor.js +1 -1
  103. package/dist/components/kup-family-tree.js +3 -3
  104. package/dist/components/kup-file-upload.js +1 -1
  105. package/dist/components/kup-form.js +1 -1
  106. package/dist/components/kup-gauge.js +1 -1
  107. package/dist/components/kup-grid.js +1 -1
  108. package/dist/components/kup-htm.js +2 -2
  109. package/dist/components/kup-iframe.js +2 -2
  110. package/dist/components/kup-image-list.js +2 -2
  111. package/dist/components/kup-image.js +1 -1
  112. package/dist/components/kup-input-panel.js +55 -27
  113. package/dist/components/kup-lazy.js +2 -2
  114. package/dist/components/kup-list.js +1 -1
  115. package/dist/components/kup-magic-box.js +4 -4
  116. package/dist/components/kup-nav-bar.js +2 -2
  117. package/dist/components/kup-numeric-picker.js +2 -2
  118. package/dist/components/kup-object-field.js +2 -2
  119. package/dist/components/kup-pdf.js +2 -2
  120. package/dist/components/kup-planner.js +2 -2
  121. package/dist/components/kup-probe.js +2 -2
  122. package/dist/components/kup-progress-bar.js +1 -1
  123. package/dist/components/kup-qlik.js +2 -2
  124. package/dist/components/kup-radio.js +1 -1
  125. package/dist/components/kup-rating.js +1 -1
  126. package/dist/components/kup-snackbar.js +2 -2
  127. package/dist/components/kup-spinner.js +1 -1
  128. package/dist/components/kup-switch.js +1 -1
  129. package/dist/components/kup-tab-bar.js +1 -1
  130. package/dist/components/kup-text-field.js +1 -1
  131. package/dist/components/kup-time-picker.js +1 -1
  132. package/dist/components/kup-toolbar.js +1 -1
  133. package/dist/components/kup-tree.js +1 -1
  134. package/dist/components/kup-txt.js +2 -2
  135. package/dist/components/kup-typography-list.js +2 -2
  136. package/dist/components/kup-typography.js +2 -2
  137. package/dist/components/{p-680ee680.js → p-286915d4.js} +2 -2
  138. package/dist/components/{p-685106b4.js → p-3ba7c133.js} +2 -2
  139. package/dist/components/{p-e0031e17.js → p-55fda958.js} +2025 -1983
  140. package/dist/components/{p-8037ef07.js → p-7bdb5142.js} +4 -4
  141. package/dist/components/{p-73922583.js → p-9859e801.js} +122 -25
  142. package/dist/components/{p-39e807bc.js → p-a22e5ee4.js} +6 -5
  143. package/dist/esm/{component-879e99bf.js → component-a35bc7f1.js} +1 -1
  144. package/dist/esm/{f-cell-eea4e836.js → f-cell-ae0c965d.js} +8 -6
  145. package/dist/esm/{f-chip-72bcea75.js → f-chip-29242e70.js} +1 -1
  146. package/dist/esm/{f-object-field-1827746c.js → f-object-field-75069ac2.js} +2 -2
  147. package/dist/esm/{f-paginator-utils-e785d34e.js → f-paginator-utils-212f93c3.js} +1 -1
  148. package/dist/esm/{f-text-field-591dc383.js → f-text-field-ebe023fb.js} +2 -2
  149. package/dist/esm/{f-text-field-mdc-9a862967.js → f-text-field-mdc-81ce6c7c.js} +1 -1
  150. package/dist/esm/index.js +1 -1
  151. package/dist/esm/ketchup.js +1 -1
  152. package/dist/esm/kup-accordion.entry.js +247 -44
  153. package/dist/esm/kup-activity-timeline.entry.js +2 -2
  154. package/dist/esm/kup-autocomplete_29.entry.js +164 -131
  155. package/dist/esm/kup-box.entry.js +9 -9
  156. package/dist/esm/kup-calendar.entry.js +925 -87
  157. package/dist/esm/kup-card-list.entry.js +1 -1
  158. package/dist/esm/kup-cell.entry.js +5 -5
  159. package/dist/esm/kup-dashboard.entry.js +4 -4
  160. package/dist/esm/{kup-data-table-helper-0fbe9df1.js → kup-data-table-helper-ca11e6e9.js} +1 -1
  161. package/dist/esm/kup-drawer.entry.js +1 -1
  162. package/dist/esm/kup-echart.entry.js +5 -4
  163. package/dist/esm/kup-editor.entry.js +3 -3
  164. package/dist/esm/kup-family-tree.entry.js +1 -1
  165. package/dist/esm/kup-grid.entry.js +1 -1
  166. package/dist/esm/kup-htm.entry.js +1 -1
  167. package/dist/esm/kup-iframe.entry.js +1 -1
  168. package/dist/esm/kup-image-list.entry.js +6 -6
  169. package/dist/esm/kup-input-panel.entry.js +58 -31
  170. package/dist/esm/kup-lazy.entry.js +1 -1
  171. package/dist/esm/kup-magic-box.entry.js +1 -1
  172. package/dist/esm/{kup-manager-a3f8ee8f.js → kup-manager-63a8048f.js} +122 -25
  173. package/dist/esm/kup-nav-bar.entry.js +1 -1
  174. package/dist/esm/kup-numeric-picker.entry.js +4 -4
  175. package/dist/esm/kup-object-field.entry.js +3 -3
  176. package/dist/esm/kup-pdf.entry.js +1 -1
  177. package/dist/esm/kup-planner.entry.js +4 -4
  178. package/dist/esm/kup-probe.entry.js +1 -1
  179. package/dist/esm/kup-qlik.entry.js +1 -1
  180. package/dist/esm/kup-snackbar.entry.js +1 -1
  181. package/dist/esm/kup-txt.entry.js +1 -1
  182. package/dist/esm/kup-typography-list.entry.js +1 -1
  183. package/dist/esm/kup-typography.entry.js +1 -1
  184. package/dist/esm/loader.js +1 -1
  185. package/dist/ketchup/index.esm.js +1 -1
  186. package/dist/ketchup/ketchup.esm.js +1 -1
  187. package/dist/ketchup/p-102d35b1.js +1 -0
  188. package/dist/ketchup/p-11e54526.entry.js +1 -0
  189. package/dist/ketchup/{p-5e55604b.entry.js → p-260587c5.entry.js} +1 -1
  190. package/dist/ketchup/p-3533879b.entry.js +1 -0
  191. package/dist/ketchup/{p-8cf7b4a6.entry.js → p-434f2c39.entry.js} +1 -1
  192. package/dist/ketchup/{p-cd5db3b1.entry.js → p-4365fbd3.entry.js} +1 -1
  193. package/dist/ketchup/p-43f12940.entry.js +1 -0
  194. package/dist/ketchup/{p-442a16b1.entry.js → p-4a64f9f2.entry.js} +1 -1
  195. package/dist/ketchup/{p-64e064f0.js → p-4cfa35bc.js} +1 -1
  196. package/dist/ketchup/{p-d2e3f987.entry.js → p-5bf3d60d.entry.js} +2 -2
  197. package/dist/ketchup/p-5d28e8e0.entry.js +8 -0
  198. package/dist/ketchup/{p-932940cb.js → p-610faea9.js} +1 -1
  199. package/dist/ketchup/{p-2faa7118.entry.js → p-6c41cd20.entry.js} +1 -1
  200. package/dist/ketchup/{p-dcf2c5c0.entry.js → p-6f1dec16.entry.js} +1 -1
  201. package/dist/ketchup/{p-f1886258.js → p-7375d456.js} +1 -1
  202. package/dist/ketchup/{p-2f0664cb.entry.js → p-7b326bde.entry.js} +1 -1
  203. package/dist/ketchup/{p-c4054aba.js → p-7db300e0.js} +1 -1
  204. package/dist/ketchup/{p-36ec5bc3.entry.js → p-7dfc42f0.entry.js} +1 -1
  205. package/dist/ketchup/p-81743364.entry.js +1 -0
  206. package/dist/ketchup/p-8610d5b5.js +21 -0
  207. package/dist/ketchup/{p-beef4fe9.entry.js → p-8ba1d444.entry.js} +1 -1
  208. package/dist/ketchup/{p-a4168ce9.entry.js → p-93541362.entry.js} +1 -1
  209. package/dist/ketchup/{p-ee0836a4.entry.js → p-9b200a90.entry.js} +1 -1
  210. package/dist/ketchup/{p-43dc9f87.entry.js → p-9baa1d6d.entry.js} +1 -1
  211. package/dist/ketchup/{p-57a93686.entry.js → p-a2d40711.entry.js} +1 -1
  212. package/dist/ketchup/{p-0f9ae966.entry.js → p-b068a383.entry.js} +1 -1
  213. package/dist/ketchup/{p-2c11b778.entry.js → p-b6beace3.entry.js} +1 -1
  214. package/dist/ketchup/{p-5340f777.entry.js → p-b91e3bae.entry.js} +1 -1
  215. package/dist/ketchup/{p-4c5b911e.entry.js → p-bc789017.entry.js} +1 -1
  216. package/dist/ketchup/{p-79e580bc.entry.js → p-c8cd012e.entry.js} +1 -1
  217. package/dist/ketchup/{p-d9ae70bb.entry.js → p-d84e4e90.entry.js} +1 -1
  218. package/dist/ketchup/{p-d1fa33e0.js → p-da694791.js} +1 -1
  219. package/dist/ketchup/{p-8140c1d2.js → p-e705eb4a.js} +1 -1
  220. package/dist/ketchup/{p-21a2d25a.entry.js → p-e7293ae8.entry.js} +1 -1
  221. package/dist/ketchup/{p-283f7bfc.entry.js → p-eb090acd.entry.js} +1 -1
  222. package/dist/ketchup/{p-d03527d8.entry.js → p-fb7c0958.entry.js} +1 -1
  223. package/dist/ketchup/p-fb82cad9.entry.js +1 -0
  224. package/dist/ketchup/{p-6fe57b1a.entry.js → p-fe42ae2d.entry.js} +1 -1
  225. package/dist/types/components/kup-accordion/kup-accordion-declarations.d.ts +14 -7
  226. package/dist/types/components/kup-accordion/kup-accordion.d.ts +62 -6
  227. package/dist/types/components/kup-autocomplete/kup-autocomplete-declarations.d.ts +3 -1
  228. package/dist/types/components/kup-autocomplete/kup-autocomplete.d.ts +7 -2
  229. package/dist/types/components/kup-card/kup-card-declarations.d.ts +1 -1
  230. package/dist/types/components/kup-card/kup-card-helper.d.ts +2 -1
  231. package/dist/types/components/kup-combobox/kup-combobox-declarations.d.ts +2 -1
  232. package/dist/types/components/kup-combobox/kup-combobox.d.ts +5 -0
  233. package/dist/types/components/kup-input-panel/kup-input-panel-declarations.d.ts +2 -1
  234. package/dist/types/components/kup-input-panel/kup-input-panel-utils.d.ts +1 -1
  235. package/dist/types/components/kup-input-panel/kup-input-panel.d.ts +6 -0
  236. package/dist/types/components/kup-tab-bar/kup-tab-bar-declarations.d.ts +6 -1
  237. package/dist/types/components/kup-tab-bar/kup-tab-bar.d.ts +1 -5
  238. package/dist/types/components.d.ts +86 -21
  239. package/dist/types/f-components/f-radio/f-radio-declarations.d.ts +1 -0
  240. package/dist/types/managers/kup-dynamic-position/kup-dynamic-position.d.ts +1 -0
  241. package/dist/types/managers/kup-language/kup-language-declarations.d.ts +3 -1
  242. package/dist/types/managers/kup-perf-tuning/kup-perf-tuning-declarations.d.ts +3 -1
  243. package/dist/types/managers/kup-perf-tuning/kup-perf-tuning.d.ts +1 -0
  244. package/dist/types/utils/cell-utils.d.ts +2 -0
  245. package/package.json +2 -2
  246. package/dist/ketchup/p-0eea54ac.js +0 -1
  247. package/dist/ketchup/p-1a9fb6e7.entry.js +0 -1
  248. package/dist/ketchup/p-32a6feed.entry.js +0 -9
  249. package/dist/ketchup/p-4c16edda.entry.js +0 -1
  250. package/dist/ketchup/p-e1281898.entry.js +0 -1
  251. package/dist/ketchup/p-ec86f88f.entry.js +0 -1
  252. package/dist/ketchup/p-fb4f10d5.js +0 -21
  253. package/dist/ketchup/p-fc750bff.entry.js +0 -1
  254. /package/dist/ketchup/{p-d4a879fc.js → p-c56195a0.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H as H$2, c as createEvent, f as forceUpdate, h as h$1, d as Host } from './p-ef8cbd35.js';
2
- import { k as kupManagerInstance, g as getProps, s as setProps, d as KupLanguageGeneric, L as getColumnByName, u as KupDebugCategory } from './p-73922583.js';
3
- import { c as componentWrapperId, T as FButton, O as FChip, d as defineCustomElement$2, a as defineCustomElement$3, b as defineCustomElement$4, e as defineCustomElement$5, f as defineCustomElement$6, g as defineCustomElement$7, h as defineCustomElement$8, i as defineCustomElement$9, j as defineCustomElement$a, k as defineCustomElement$b, l as defineCustomElement$c, m as defineCustomElement$d, n as defineCustomElement$e, o as defineCustomElement$f, p as defineCustomElement$g, q as defineCustomElement$h, r as defineCustomElement$i, s as defineCustomElement$j, t as defineCustomElement$k, u as defineCustomElement$l, v as defineCustomElement$m, w as defineCustomElement$n, x as defineCustomElement$o, y as defineCustomElement$p, z as defineCustomElement$q, A as defineCustomElement$r, B as defineCustomElement$s, C as defineCustomElement$t, D as defineCustomElement$u, U as FChipType } from './p-e0031e17.js';
2
+ import { k as kupManagerInstance, g as getProps, s as setProps, e as KupLanguageGeneric, L as getColumnByName, u as KupDebugCategory } from './p-9859e801.js';
3
+ import { c as componentWrapperId, T as FButton, O as FChip, d as defineCustomElement$2, a as defineCustomElement$3, b as defineCustomElement$4, e as defineCustomElement$5, f as defineCustomElement$6, g as defineCustomElement$7, h as defineCustomElement$8, i as defineCustomElement$9, j as defineCustomElement$a, k as defineCustomElement$b, l as defineCustomElement$c, m as defineCustomElement$d, n as defineCustomElement$e, o as defineCustomElement$f, p as defineCustomElement$g, q as defineCustomElement$h, r as defineCustomElement$i, s as defineCustomElement$j, t as defineCustomElement$k, u as defineCustomElement$l, v as defineCustomElement$m, w as defineCustomElement$n, x as defineCustomElement$o, y as defineCustomElement$p, z as defineCustomElement$q, A as defineCustomElement$r, B as defineCustomElement$s, C as defineCustomElement$t, D as defineCustomElement$u, U as FChipType } from './p-55fda958.js';
4
4
  import { b as KupDatesLocales, K as KupDatesFormats } from './p-1581348d.js';
5
5
 
6
6
  var n,l$1,u$1,i$1,t,r$1,o,f$1,e$1,c$1={},s=[],a$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(n,l){for(var u in l)n[u]=l[u];return n}function v$1(n){var l=n.parentNode;l&&l.removeChild(n);}function y(l,u,i){var t,r,o,f={};for(o in u)"key"==o?t=u[o]:"ref"==o?r=u[o]:f[o]=u[o];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===f[o]&&(f[o]=l.defaultProps[o]);return p(l,f,t,r,null)}function p(n,i,t,r,o){var f={type:n,props:i,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++u$1:o};return null==o&&null!=l$1.vnode&&l$1.vnode(f),f}function d(){return {current:null}}function _(n){return n.children}function k$1(n,l,u,i,t){var r;for(r in u)"children"===r||"key"===r||r in l||g$2(n,r,null,u[r],i);for(r in l)t&&"function"!=typeof l[r]||"children"===r||"key"===r||"value"===r||"checked"===r||u[r]===l[r]||g$2(n,r,l[r],u[r],i);}function b$1(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||a$1.test(l)?u:u+"px";}function g$2(n,l,u,i,t){var r;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof i&&(n.style.cssText=i=""),i)for(l in i)u&&l in u||b$1(n.style,l,"");if(u)for(l in u)i&&u[l]===i[l]||b$1(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])r=l!==(l=l.replace(/Capture$/,"")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?i||n.addEventListener(l,r?w$2:m$1,r):n.removeEventListener(l,r?w$2:m$1,r);else if("dangerouslySetInnerHTML"!==l){if(t)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==l&&"height"!==l&&"href"!==l&&"list"!==l&&"form"!==l&&"tabIndex"!==l&&"download"!==l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&-1==l.indexOf("-")?n.removeAttribute(l):n.setAttribute(l,u));}}function m$1(n){t=!0;try{return this.l[n.type+!1](l$1.event?l$1.event(n):n)}finally{t=!1;}}function w$2(n){t=!0;try{return this.l[n.type+!0](l$1.event?l$1.event(n):n)}finally{t=!1;}}function x$1(n,l){this.props=n,this.context=l;}function A(n,l){if(null==l)return n.__?A(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?A(n):null}function P$1(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return P$1(n)}}function C$1(n){t?setTimeout(n):f$1(n);}function T$1(n){(!n.__d&&(n.__d=!0)&&r$1.push(n)&&!$$1.__r++||o!==l$1.debounceRendering)&&((o=l$1.debounceRendering)||C$1)($$1);}function $$1(){var n,l,u,i,t,o,f,e;for(r$1.sort(function(n,l){return n.__v.__b-l.__v.__b});n=r$1.shift();)n.__d&&(l=r$1.length,i=void 0,t=void 0,f=(o=(u=n).__v).__e,(e=u.__P)&&(i=[],(t=h({},o)).__v=o.__v+1,M(e,o,t,u.__n,void 0!==e.ownerSVGElement,null!=o.__h?[f]:null,i,null==f?A(o):f,o.__h),N(i,o),o.__e!=f&&P$1(o)),r$1.length>l&&r$1.sort(function(n,l){return n.__v.__b-l.__v.__b}));$$1.__r=0;}function H$1(n,l,u,i,t,r,o,f,e,a){var h,v,y,d,k,b,g,m=i&&i.__k||s,w=m.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(d=u.__k[h]=null==(d=l[h])||"boolean"==typeof d?null:"string"==typeof d||"number"==typeof d||"bigint"==typeof d?p(null,d,null,null,d):Array.isArray(d)?p(_,{children:d},null,null,null):d.__b>0?p(d.type,d.props,d.key,d.ref?d.ref:null,d.__v):d)){if(d.__=u,d.__b=u.__b+1,null===(y=m[h])||y&&d.key==y.key&&d.type===y.type)m[h]=void 0;else for(v=0;v<w;v++){if((y=m[v])&&d.key==y.key&&d.type===y.type){m[v]=void 0;break}y=null;}M(n,d,y=y||c$1,t,r,o,f,e,a),k=d.__e,(v=d.ref)&&y.ref!=v&&(g||(g=[]),y.ref&&g.push(y.ref,null,d),g.push(v,d.__c||k,d)),null!=k?(null==b&&(b=k),"function"==typeof d.type&&d.__k===y.__k?d.__d=e=I$1(d,e,n):e=z$1(n,d,y,m,k,e),"function"==typeof u.type&&(u.__d=e)):e&&y.__e==e&&e.parentNode!=n&&(e=A(y));}for(u.__e=b,h=w;h--;)null!=m[h]&&("function"==typeof u.type&&null!=m[h].__e&&m[h].__e==u.__d&&(u.__d=L$1(i).nextSibling),q(m[h],m[h]));if(g)for(h=0;h<g.length;h++)S(g[h],g[++h],g[++h]);}function I$1(n,l,u){for(var i,t=n.__k,r=0;t&&r<t.length;r++)(i=t[r])&&(i.__=n,l="function"==typeof i.type?I$1(i,l,u):z$1(u,i,i,t,i.__e,l));return l}function j$2(n,l){return l=l||[],null==n||"boolean"==typeof n||(Array.isArray(n)?n.some(function(n){j$2(n,l);}):l.push(n)),l}function z$1(n,l,u,i,t,r){var o,f,e;if(void 0!==l.__d)o=l.__d,l.__d=void 0;else if(null==u||t!=r||null==t.parentNode)n:if(null==r||r.parentNode!==n)n.appendChild(t),o=null;else {for(f=r,e=0;(f=f.nextSibling)&&e<i.length;e+=1)if(f==t)break n;n.insertBefore(t,r),o=r;}return void 0!==o?o:t.nextSibling}function L$1(n){var l,u,i;if(null==n.type||"string"==typeof n.type)return n.__e;if(n.__k)for(l=n.__k.length-1;l>=0;l--)if((u=n.__k[l])&&(i=L$1(u)))return i;return null}function M(n,u,i,t,r,o,f,e,c){var s,a,v,y,p,d,k,b,g,m,w,A,P,C,T,$=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,o=[e]),(s=l$1.__b)&&s(u);try{n:if("function"==typeof $){if(b=u.props,g=(s=$.contextType)&&t[s.__c],m=s?g?g.props.value:s.__:t,i.__c?k=(a=u.__c=i.__c).__=a.__E:("prototype"in $&&$.prototype.render?u.__c=a=new $(b,m):(u.__c=a=new x$1(b,m),a.constructor=$,a.render=B$1),g&&g.sub(a),a.props=b,a.state||(a.state={}),a.context=m,a.__n=t,v=a.__d=!0,a.__h=[],a._sb=[]),null==a.__s&&(a.__s=a.state),null!=$.getDerivedStateFromProps&&(a.__s==a.state&&(a.__s=h({},a.__s)),h(a.__s,$.getDerivedStateFromProps(b,a.__s))),y=a.props,p=a.state,a.__v=u,v)null==$.getDerivedStateFromProps&&null!=a.componentWillMount&&a.componentWillMount(),null!=a.componentDidMount&&a.__h.push(a.componentDidMount);else {if(null==$.getDerivedStateFromProps&&b!==y&&null!=a.componentWillReceiveProps&&a.componentWillReceiveProps(b,m),!a.__e&&null!=a.shouldComponentUpdate&&!1===a.shouldComponentUpdate(b,a.__s,m)||u.__v===i.__v){for(u.__v!==i.__v&&(a.props=b,a.state=a.__s,a.__d=!1),u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u);}),w=0;w<a._sb.length;w++)a.__h.push(a._sb[w]);a._sb=[],a.__h.length&&f.push(a);break n}null!=a.componentWillUpdate&&a.componentWillUpdate(b,a.__s,m),null!=a.componentDidUpdate&&a.__h.push(function(){a.componentDidUpdate(y,p,d);});}if(a.context=m,a.props=b,a.__P=n,A=l$1.__r,P=0,"prototype"in $&&$.prototype.render){for(a.state=a.__s,a.__d=!1,A&&A(u),s=a.render(a.props,a.state,a.context),C=0;C<a._sb.length;C++)a.__h.push(a._sb[C]);a._sb=[];}else do{a.__d=!1,A&&A(u),s=a.render(a.props,a.state,a.context),a.state=a.__s;}while(a.__d&&++P<25);a.state=a.__s,null!=a.getChildContext&&(t=h(h({},t),a.getChildContext())),v||null==a.getSnapshotBeforeUpdate||(d=a.getSnapshotBeforeUpdate(y,p)),T=null!=s&&s.type===_&&null==s.key?s.props.children:s,H$1(n,Array.isArray(T)?T:[T],u,i,t,r,o,f,e,c),a.base=u.__e,u.__h=null,a.__h.length&&f.push(a),k&&(a.__E=a.__=null),a.__e=!1;}else null==o&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=O(i.__e,u,i,t,r,o,f,c);(s=l$1.diffed)&&s(u);}catch(n){u.__v=null,(c||null!=o)&&(u.__e=e,u.__h=!!c,o[o.indexOf(e)]=null),l$1.__e(n,u,i);}}function N(n,u){l$1.__c&&l$1.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$1.__e(n,u.__v);}});}function O(l,u,i,t,r,o,f,e){var s,a,h,y=i.props,p=u.props,d=u.type,_=0;if("svg"===d&&(r=!0),null!=o)for(;_<o.length;_++)if((s=o[_])&&"setAttribute"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,o[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=r?document.createElementNS("http://www.w3.org/2000/svg",d):document.createElement(d,p.is&&p),o=null,e=!1;}if(null===d)y===p||e&&l.data===p||(l.data=p);else {if(o=o&&n.call(l.childNodes),a=(y=i.props||c$1).dangerouslySetInnerHTML,h=p.dangerouslySetInnerHTML,!e){if(null!=o)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(h||a)&&(h&&(a&&h.__html==a.__html||h.__html===l.innerHTML)||(l.innerHTML=h&&h.__html||""));}if(k$1(l,p,y,r,e),h)u.__k=[];else if(_=u.props.children,H$1(l,Array.isArray(_)?_:[_],u,i,t,r&&"foreignObject"!==d,o,f,o?o[0]:i.__k&&A(i,0),e),null!=o)for(_=o.length;_--;)null!=o[_]&&v$1(o[_]);e||("value"in p&&void 0!==(_=p.value)&&(_!==l.value||"progress"===d&&!_||"option"===d&&_!==y.value)&&g$2(l,"value",_,y.value,!1),"checked"in p&&void 0!==(_=p.checked)&&_!==l.checked&&g$2(l,"checked",_,y.checked,!1));}return l}function S(n,u,i){try{"function"==typeof n?n(u):n.current=u;}catch(n){l$1.__e(n,i);}}function q(n,u,i){var t,r;if(l$1.unmount&&l$1.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||S(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount();}catch(n){l$1.__e(n,u);}t.base=t.__P=null,n.__c=void 0;}if(t=n.__k)for(r=0;r<t.length;r++)t[r]&&q(t[r],u,i||"function"!=typeof n.type);i||null==n.__e||v$1(n.__e),n.__=n.__e=n.__d=void 0;}function B$1(n,l,u){return this.constructor(n,u)}function D$1(u,i,t){var r,o,f;l$1.__&&l$1.__(u,i),o=(r="function"==typeof t)?null:t&&t.__k||i.__k,f=[],M(i,u=(!r&&t||i).__k=y(_,null,[u]),o||c$1,c$1,void 0!==i.ownerSVGElement,!r&&t?[t]:o?null:i.firstChild?n.call(i.childNodes):null,f,!r&&t?t:o?o.__e:i.firstChild,r),N(f,u);}function G$1(n,l){var u={__c:l="__cC"+e$1++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,T$1(n);});},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n);};}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l$1={__e:function(n,l,u,i){for(var t,r,o;l=l.__;)if((t=l.__c)&&!t.__)try{if((r=t.constructor)&&null!=r.getDerivedStateFromError&&(t.setState(r.getDerivedStateFromError(n)),o=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),o=t.__d),o)return t.__E=t}catch(l){n=l;}throw n}},u$1=0,i$1=function(n){return null!=n&&void 0===n.constructor},t=!1,x$1.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),"function"==typeof n&&(n=n(h({},u),this.props)),n&&h(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),T$1(this));},x$1.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),T$1(this));},x$1.prototype.render=_,r$1=[],f$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,$$1.__r=0,e$1=0;
@@ -89,8 +89,8 @@ if (typeof document !== 'undefined') {
89
89
  registerStylesRoot(document);
90
90
  }
91
91
 
92
- var css_248z$3 = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
93
- injectStyles(css_248z$3);
92
+ var css_248z$4 = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
93
+ injectStyles(css_248z$4);
94
94
 
95
95
  class DelayedRunner {
96
96
  constructor(drainedOption) {
@@ -7017,10 +7017,10 @@ class BgEvent extends BaseComponent {
7017
7017
  render() {
7018
7018
  let { props } = this;
7019
7019
  let { seg } = props;
7020
- return (y(EventContainer, { elTag: "div", elClasses: ['fc-bg-event'], elStyle: { backgroundColor: seg.eventRange.ui.backgroundColor }, defaultGenerator: renderInnerContent$3, seg: seg, timeText: "", isDragging: false, isResizing: false, isDateSelecting: false, isSelected: false, isPast: props.isPast, isFuture: props.isFuture, isToday: props.isToday, disableDragging: true, disableResizing: true }));
7020
+ return (y(EventContainer, { elTag: "div", elClasses: ['fc-bg-event'], elStyle: { backgroundColor: seg.eventRange.ui.backgroundColor }, defaultGenerator: renderInnerContent$4, seg: seg, timeText: "", isDragging: false, isResizing: false, isDateSelecting: false, isSelected: false, isPast: props.isPast, isFuture: props.isFuture, isToday: props.isToday, disableDragging: true, disableResizing: true }));
7021
7021
  }
7022
7022
  }
7023
- function renderInnerContent$3(props) {
7023
+ function renderInnerContent$4(props) {
7024
7024
  let { title } = props.event;
7025
7025
  return title && (y("div", { className: "fc-event-title" }, props.event.title));
7026
7026
  }
@@ -9460,7 +9460,7 @@ class TableView extends DateComponent {
9460
9460
  }
9461
9461
  }
9462
9462
 
9463
- function splitSegsByRow(segs, rowCnt) {
9463
+ function splitSegsByRow$1(segs, rowCnt) {
9464
9464
  let byRow = [];
9465
9465
  for (let i = 0; i < rowCnt; i += 1) {
9466
9466
  byRow[i] = [];
@@ -9470,7 +9470,7 @@ function splitSegsByRow(segs, rowCnt) {
9470
9470
  }
9471
9471
  return byRow;
9472
9472
  }
9473
- function splitSegsByFirstCol(segs, colCnt) {
9473
+ function splitSegsByFirstCol$1(segs, colCnt) {
9474
9474
  let byCol = [];
9475
9475
  for (let i = 0; i < colCnt; i += 1) {
9476
9476
  byCol[i] = [];
@@ -9480,7 +9480,7 @@ function splitSegsByFirstCol(segs, colCnt) {
9480
9480
  }
9481
9481
  return byCol;
9482
9482
  }
9483
- function splitInteractionByRow(ui, rowCnt) {
9483
+ function splitInteractionByRow$1(ui, rowCnt) {
9484
9484
  let byRow = [];
9485
9485
  if (!ui) {
9486
9486
  for (let i = 0; i < rowCnt; i += 1) {
@@ -9502,13 +9502,13 @@ function splitInteractionByRow(ui, rowCnt) {
9502
9502
  return byRow;
9503
9503
  }
9504
9504
 
9505
- const DEFAULT_TABLE_EVENT_TIME_FORMAT = createFormatter({
9505
+ const DEFAULT_TABLE_EVENT_TIME_FORMAT$1 = createFormatter({
9506
9506
  hour: 'numeric',
9507
9507
  minute: '2-digit',
9508
9508
  omitZeroMinute: true,
9509
9509
  meridiem: 'narrow',
9510
9510
  });
9511
- function hasListItemDisplay(seg) {
9511
+ function hasListItemDisplay$1(seg) {
9512
9512
  let { display } = seg.eventRange.ui;
9513
9513
  return display === 'list-item' || (display === 'auto' &&
9514
9514
  !seg.eventRange.def.allDay &&
@@ -9518,34 +9518,34 @@ function hasListItemDisplay(seg) {
9518
9518
  );
9519
9519
  }
9520
9520
 
9521
- class TableBlockEvent extends BaseComponent {
9521
+ class TableBlockEvent$1 extends BaseComponent {
9522
9522
  render() {
9523
9523
  let { props } = this;
9524
- return (y(StandardEvent, Object.assign({}, props, { elClasses: ['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: props.defaultDisplayEventEnd, disableResizing: !props.seg.eventRange.def.allDay })));
9524
+ return (y(StandardEvent, Object.assign({}, props, { elClasses: ['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT$1, defaultDisplayEventEnd: props.defaultDisplayEventEnd, disableResizing: !props.seg.eventRange.def.allDay })));
9525
9525
  }
9526
9526
  }
9527
9527
 
9528
- class TableListItemEvent extends BaseComponent {
9528
+ class TableListItemEvent$1 extends BaseComponent {
9529
9529
  render() {
9530
9530
  let { props, context } = this;
9531
9531
  let { options } = context;
9532
9532
  let { seg } = props;
9533
- let timeFormat = options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT;
9533
+ let timeFormat = options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT$1;
9534
9534
  let timeText = buildSegTimeText(seg, timeFormat, context, true, props.defaultDisplayEventEnd);
9535
- return (y(EventContainer, Object.assign({}, props, { elTag: "a", elClasses: ['fc-daygrid-event', 'fc-daygrid-dot-event'], elAttrs: getSegAnchorAttrs(props.seg, context), defaultGenerator: renderInnerContent$2, timeText: timeText, isResizing: false, isDateSelecting: false })));
9535
+ return (y(EventContainer, Object.assign({}, props, { elTag: "a", elClasses: ['fc-daygrid-event', 'fc-daygrid-dot-event'], elAttrs: getSegAnchorAttrs(props.seg, context), defaultGenerator: renderInnerContent$3, timeText: timeText, isResizing: false, isDateSelecting: false })));
9536
9536
  }
9537
9537
  }
9538
- function renderInnerContent$2(renderProps) {
9538
+ function renderInnerContent$3(renderProps) {
9539
9539
  return (y(_, null,
9540
9540
  y("div", { className: "fc-daygrid-event-dot", style: { borderColor: renderProps.borderColor || renderProps.backgroundColor } }),
9541
9541
  renderProps.timeText && (y("div", { className: "fc-event-time" }, renderProps.timeText)),
9542
9542
  y("div", { className: "fc-event-title" }, renderProps.event.title || y(_, null, "\u00A0"))));
9543
9543
  }
9544
9544
 
9545
- class TableCellMoreLink extends BaseComponent {
9545
+ class TableCellMoreLink$1 extends BaseComponent {
9546
9546
  constructor() {
9547
9547
  super(...arguments);
9548
- this.compileSegs = memoize(compileSegs);
9548
+ this.compileSegs = memoize(compileSegs$1);
9549
9549
  }
9550
9550
  render() {
9551
9551
  let { props } = this;
@@ -9558,12 +9558,12 @@ class TableCellMoreLink extends BaseComponent {
9558
9558
  let instanceId = seg.eventRange.instance.instanceId;
9559
9559
  return (y("div", { className: "fc-daygrid-event-harness", key: instanceId, style: {
9560
9560
  visibility: isForcedInvisible[instanceId] ? 'hidden' : '',
9561
- } }, hasListItemDisplay(seg) ? (y(TableListItemEvent, Object.assign({ seg: seg, isDragging: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange)))) : (y(TableBlockEvent, Object.assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange))))));
9561
+ } }, hasListItemDisplay$1(seg) ? (y(TableListItemEvent$1, Object.assign({ seg: seg, isDragging: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange)))) : (y(TableBlockEvent$1, Object.assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange))))));
9562
9562
  })));
9563
9563
  } }));
9564
9564
  }
9565
9565
  }
9566
- function compileSegs(singlePlacements) {
9566
+ function compileSegs$1(singlePlacements) {
9567
9567
  let allSegs = [];
9568
9568
  let invisibleSegs = [];
9569
9569
  for (let placement of singlePlacements) {
@@ -9575,8 +9575,8 @@ function compileSegs(singlePlacements) {
9575
9575
  return { allSegs, invisibleSegs };
9576
9576
  }
9577
9577
 
9578
- const DEFAULT_WEEK_NUM_FORMAT$1 = createFormatter({ week: 'narrow' });
9579
- class TableCell extends DateComponent {
9578
+ const DEFAULT_WEEK_NUM_FORMAT$2 = createFormatter({ week: 'narrow' });
9579
+ class TableCell$1 extends DateComponent {
9580
9580
  constructor() {
9581
9581
  super(...arguments);
9582
9582
  this.rootElRef = d();
@@ -9594,12 +9594,12 @@ class TableCell extends DateComponent {
9594
9594
  let { date, dateProfile } = props;
9595
9595
  // TODO: memoize this?
9596
9596
  const isMonthStart = props.showDayNumber &&
9597
- shouldDisplayMonthStart(date, dateProfile.currentRange, dateEnv);
9597
+ shouldDisplayMonthStart$1(date, dateProfile.currentRange, dateEnv);
9598
9598
  return (y(DayCellContainer, { elTag: "td", elRef: this.handleRootEl, elClasses: [
9599
9599
  'fc-daygrid-day',
9600
9600
  ...(props.extraClassNames || []),
9601
- ], elAttrs: Object.assign(Object.assign(Object.assign({}, props.extraDataAttrs), (props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {})), { role: 'gridcell' }), defaultGenerator: renderTopInner, date: date, dateProfile: dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, isMonthStart: isMonthStart, extraRenderProps: props.extraRenderProps }, (InnerContent, renderProps) => (y("div", { ref: props.innerElRef, className: "fc-daygrid-day-frame fc-scrollgrid-sync-inner", style: { minHeight: props.minHeight } },
9602
- props.showWeekNumber && (y(WeekNumberContainer, { elTag: "a", elClasses: ['fc-daygrid-week-number'], elAttrs: buildNavLinkAttrs(context, date, 'week'), date: date, defaultFormat: DEFAULT_WEEK_NUM_FORMAT$1 })),
9601
+ ], elAttrs: Object.assign(Object.assign(Object.assign({}, props.extraDataAttrs), (props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {})), { role: 'gridcell' }), defaultGenerator: renderTopInner$1, date: date, dateProfile: dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, isMonthStart: isMonthStart, extraRenderProps: props.extraRenderProps }, (InnerContent, renderProps) => (y("div", { ref: props.innerElRef, className: "fc-daygrid-day-frame fc-scrollgrid-sync-inner", style: { minHeight: props.minHeight } },
9602
+ props.showWeekNumber && (y(WeekNumberContainer, { elTag: "a", elClasses: ['fc-daygrid-week-number'], elAttrs: buildNavLinkAttrs(context, date, 'week'), date: date, defaultFormat: DEFAULT_WEEK_NUM_FORMAT$2 })),
9603
9603
  !renderProps.isDisabled &&
9604
9604
  (props.showDayNumber || hasCustomDayCellContent(options) || props.forceDayTop) ? (y("div", { className: "fc-daygrid-day-top" },
9605
9605
  y(InnerContent, { elTag: "a", elClasses: [
@@ -9612,14 +9612,14 @@ class TableCell extends DateComponent {
9612
9612
  y("div", { className: "fc-daygrid-day-events", ref: props.fgContentElRef },
9613
9613
  props.fgContent,
9614
9614
  y("div", { className: "fc-daygrid-day-bottom", style: { marginTop: props.moreMarginTop } },
9615
- y(TableCellMoreLink, { allDayDate: date, singlePlacements: props.singlePlacements, moreCnt: props.moreCnt, alignmentElRef: rootElRef, alignGridTop: !props.showDayNumber, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange }))),
9615
+ y(TableCellMoreLink$1, { allDayDate: date, singlePlacements: props.singlePlacements, moreCnt: props.moreCnt, alignmentElRef: rootElRef, alignGridTop: !props.showDayNumber, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange }))),
9616
9616
  y("div", { className: "fc-daygrid-day-bg" }, props.bgContent)))));
9617
9617
  }
9618
9618
  }
9619
- function renderTopInner(props) {
9619
+ function renderTopInner$1(props) {
9620
9620
  return props.dayNumberText || y(_, null, "\u00A0");
9621
9621
  }
9622
- function shouldDisplayMonthStart(date, currentRange, dateEnv) {
9622
+ function shouldDisplayMonthStart$1(date, currentRange, dateEnv) {
9623
9623
  const { start: currentStart, end: currentEnd } = currentRange;
9624
9624
  const currentEndIncl = addMs(currentEnd, -1);
9625
9625
  const currentFirstYear = dateEnv.getYear(currentStart);
@@ -9635,15 +9635,15 @@ function shouldDisplayMonthStart(date, currentRange, dateEnv) {
9635
9635
  (dateEnv.getDay(date) === 1 && date.valueOf() < currentEnd.valueOf()));
9636
9636
  }
9637
9637
 
9638
- function generateSegKey(seg) {
9638
+ function generateSegKey$1(seg) {
9639
9639
  return seg.eventRange.instance.instanceId + ':' + seg.firstCol;
9640
9640
  }
9641
- function generateSegUid(seg) {
9642
- return generateSegKey(seg) + ':' + seg.lastCol;
9641
+ function generateSegUid$1(seg) {
9642
+ return generateSegKey$1(seg) + ':' + seg.lastCol;
9643
9643
  }
9644
- function computeFgSegPlacement(segs, // assumed already sorted
9644
+ function computeFgSegPlacement$1(segs, // assumed already sorted
9645
9645
  dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells) {
9646
- let hierarchy = new DayGridSegHierarchy((segEntry) => {
9646
+ let hierarchy = new DayGridSegHierarchy$1((segEntry) => {
9647
9647
  // TODO: more DRY with generateSegUid
9648
9648
  let segUid = segs[segEntry.index].eventRange.instance.instanceId +
9649
9649
  ':' + segEntry.span.start +
@@ -9669,7 +9669,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
9669
9669
  let unknownHeightSegs = [];
9670
9670
  for (let i = 0; i < segs.length; i += 1) {
9671
9671
  let seg = segs[i];
9672
- let segUid = generateSegUid(seg);
9672
+ let segUid = generateSegUid$1(seg);
9673
9673
  let eventHeight = segHeights[segUid];
9674
9674
  if (eventHeight != null) {
9675
9675
  segInputs.push({
@@ -9686,7 +9686,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
9686
9686
  }
9687
9687
  let hiddenEntries = hierarchy.addSegs(segInputs);
9688
9688
  let segRects = hierarchy.toRects();
9689
- let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects(segRects, segs, cells);
9689
+ let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects$1(segRects, segs, cells);
9690
9690
  let moreCnts = [];
9691
9691
  let moreMarginTops = [];
9692
9692
  // add segs with unknown heights
@@ -9700,7 +9700,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
9700
9700
  });
9701
9701
  for (let col = seg.firstCol; col <= seg.lastCol; col += 1) {
9702
9702
  singleColPlacements[col].push({
9703
- seg: resliceSeg(seg, col, col + 1, cells),
9703
+ seg: resliceSeg$1(seg, col, col + 1, cells),
9704
9704
  isVisible: false,
9705
9705
  isAbsolute: false,
9706
9706
  absoluteTop: 0,
@@ -9716,7 +9716,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
9716
9716
  let seg = segs[hiddenEntry.index];
9717
9717
  let hiddenSpan = hiddenEntry.span;
9718
9718
  multiColPlacements[hiddenSpan.start].push({
9719
- seg: resliceSeg(seg, hiddenSpan.start, hiddenSpan.end, cells),
9719
+ seg: resliceSeg$1(seg, hiddenSpan.start, hiddenSpan.end, cells),
9720
9720
  isVisible: false,
9721
9721
  isAbsolute: true,
9722
9722
  absoluteTop: 0,
@@ -9725,7 +9725,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
9725
9725
  for (let col = hiddenSpan.start; col < hiddenSpan.end; col += 1) {
9726
9726
  moreCnts[col] += 1;
9727
9727
  singleColPlacements[col].push({
9728
- seg: resliceSeg(seg, col, col + 1, cells),
9728
+ seg: resliceSeg$1(seg, col, col + 1, cells),
9729
9729
  isVisible: false,
9730
9730
  isAbsolute: false,
9731
9731
  absoluteTop: 0,
@@ -9740,8 +9740,8 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
9740
9740
  return { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops };
9741
9741
  }
9742
9742
  // rects ordered by top coord, then left
9743
- function placeRects(allRects, segs, cells) {
9744
- let rectsByEachCol = groupRectsByEachCol(allRects, cells.length);
9743
+ function placeRects$1(allRects, segs, cells) {
9744
+ let rectsByEachCol = groupRectsByEachCol$1(allRects, cells.length);
9745
9745
  let singleColPlacements = [];
9746
9746
  let multiColPlacements = [];
9747
9747
  let leftoverMargins = [];
@@ -9754,7 +9754,7 @@ function placeRects(allRects, segs, cells) {
9754
9754
  for (let rect of rects) {
9755
9755
  let seg = segs[rect.index];
9756
9756
  singlePlacements.push({
9757
- seg: resliceSeg(seg, col, col + 1, cells),
9757
+ seg: resliceSeg$1(seg, col, col + 1, cells),
9758
9758
  isVisible: true,
9759
9759
  isAbsolute: false,
9760
9760
  absoluteTop: rect.levelCoord,
@@ -9776,7 +9776,7 @@ function placeRects(allRects, segs, cells) {
9776
9776
  currentMarginTop += rect.thickness;
9777
9777
  if (isFirstCol) {
9778
9778
  multiPlacements.push({
9779
- seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),
9779
+ seg: resliceSeg$1(seg, rect.span.start, rect.span.end, cells),
9780
9780
  isVisible: true,
9781
9781
  isAbsolute: true,
9782
9782
  absoluteTop: rect.levelCoord,
@@ -9786,7 +9786,7 @@ function placeRects(allRects, segs, cells) {
9786
9786
  }
9787
9787
  else if (isFirstCol) {
9788
9788
  multiPlacements.push({
9789
- seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),
9789
+ seg: resliceSeg$1(seg, rect.span.start, rect.span.end, cells),
9790
9790
  isVisible: true,
9791
9791
  isAbsolute: false,
9792
9792
  absoluteTop: rect.levelCoord,
@@ -9801,7 +9801,7 @@ function placeRects(allRects, segs, cells) {
9801
9801
  }
9802
9802
  return { singleColPlacements, multiColPlacements, leftoverMargins };
9803
9803
  }
9804
- function groupRectsByEachCol(rects, colCnt) {
9804
+ function groupRectsByEachCol$1(rects, colCnt) {
9805
9805
  let rectsByEachCol = [];
9806
9806
  for (let col = 0; col < colCnt; col += 1) {
9807
9807
  rectsByEachCol.push([]);
@@ -9813,7 +9813,7 @@ function groupRectsByEachCol(rects, colCnt) {
9813
9813
  }
9814
9814
  return rectsByEachCol;
9815
9815
  }
9816
- function resliceSeg(seg, spanStart, spanEnd, cells) {
9816
+ function resliceSeg$1(seg, spanStart, spanEnd, cells) {
9817
9817
  if (seg.firstCol === spanStart && seg.lastCol === spanEnd - 1) {
9818
9818
  return seg;
9819
9819
  }
@@ -9830,7 +9830,7 @@ function resliceSeg(seg, spanStart, spanEnd, cells) {
9830
9830
  range: slicedRange,
9831
9831
  }, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() });
9832
9832
  }
9833
- class DayGridSegHierarchy extends SegHierarchy {
9833
+ class DayGridSegHierarchy$1 extends SegHierarchy {
9834
9834
  constructor() {
9835
9835
  super(...arguments);
9836
9836
  // config
@@ -9877,7 +9877,7 @@ class DayGridSegHierarchy extends SegHierarchy {
9877
9877
  }
9878
9878
  }
9879
9879
 
9880
- class TableRow extends DateComponent {
9880
+ class TableRow$1 extends DateComponent {
9881
9881
  constructor() {
9882
9882
  super(...arguments);
9883
9883
  this.cellElRefs = new RefMap(); // the <td>
@@ -9900,11 +9900,11 @@ class TableRow extends DateComponent {
9900
9900
  let { props, state, context } = this;
9901
9901
  let { options } = context;
9902
9902
  let colCnt = props.cells.length;
9903
- let businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt);
9904
- let bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt);
9905
- let highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt);
9906
- let mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt);
9907
- let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.segHeights, state.maxContentHeight, props.cells);
9903
+ let businessHoursByCol = splitSegsByFirstCol$1(props.businessHourSegs, colCnt);
9904
+ let bgEventSegsByCol = splitSegsByFirstCol$1(props.bgEventSegs, colCnt);
9905
+ let highlightSegsByCol = splitSegsByFirstCol$1(this.getHighlightSegs(), colCnt);
9906
+ let mirrorSegsByCol = splitSegsByFirstCol$1(this.getMirrorSegs(), colCnt);
9907
+ let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement$1(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.segHeights, state.maxContentHeight, props.cells);
9908
9908
  let isForcedInvisible = // TODO: messy way to compute this
9909
9909
  (props.eventDrag && props.eventDrag.affectedInstances) ||
9910
9910
  (props.eventResize && props.eventResize.affectedInstances) ||
@@ -9913,8 +9913,8 @@ class TableRow extends DateComponent {
9913
9913
  props.renderIntro && props.renderIntro(),
9914
9914
  props.cells.map((cell, col) => {
9915
9915
  let normalFgNodes = this.renderFgSegs(col, props.forPrint ? singleColPlacements[col] : multiColPlacements[col], props.todayRange, isForcedInvisible);
9916
- let mirrorFgNodes = this.renderFgSegs(col, buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);
9917
- return (y(TableCell, { key: cell.key, elRef: this.cellElRefs.createRef(cell.key), innerElRef: this.frameElRefs.createRef(cell.key) /* FF <td> problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraRenderProps: cell.extraRenderProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys
9916
+ let mirrorFgNodes = this.renderFgSegs(col, buildMirrorPlacements$1(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);
9917
+ return (y(TableCell$1, { key: cell.key, elRef: this.cellElRefs.createRef(cell.key), innerElRef: this.frameElRefs.createRef(cell.key) /* FF <td> problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraRenderProps: cell.extraRenderProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys
9918
9918
  y(_, null,
9919
9919
  y(_, null, normalFgNodes),
9920
9920
  y(_, null, mirrorFgNodes))), bgContent: ( // Fragment scopes the keys
@@ -9981,13 +9981,13 @@ class TableRow extends DateComponent {
9981
9981
  known bug: events that are force to be list-item but span multiple days still take up space in later columns
9982
9982
  todo: in print view, for multi-day events, don't display title within non-start/end segs
9983
9983
  */
9984
- nodes.push(y("div", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: generateSegKey(seg), ref: isMirror ? null : this.segHarnessRefs.createRef(generateSegUid(seg)), style: {
9984
+ nodes.push(y("div", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: generateSegKey$1(seg), ref: isMirror ? null : this.segHarnessRefs.createRef(generateSegUid$1(seg)), style: {
9985
9985
  visibility: isVisible ? '' : 'hidden',
9986
9986
  marginTop: isAbsolute ? '' : placement.marginTop,
9987
9987
  top: isAbsolute ? placement.absoluteTop : '',
9988
9988
  left,
9989
9989
  right,
9990
- } }, hasListItemDisplay(seg) ? (y(TableListItemEvent, Object.assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (y(TableBlockEvent, Object.assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));
9990
+ } }, hasListItemDisplay$1(seg) ? (y(TableListItemEvent$1, Object.assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (y(TableBlockEvent$1, Object.assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));
9991
9991
  }
9992
9992
  }
9993
9993
  return nodes;
@@ -10065,14 +10065,14 @@ class TableRow extends DateComponent {
10065
10065
  return this.props.cells.map((cell) => elMap[cell.key]);
10066
10066
  }
10067
10067
  }
10068
- TableRow.addStateEquality({
10068
+ TableRow$1.addStateEquality({
10069
10069
  segHeights: isPropsEqual,
10070
10070
  });
10071
- function buildMirrorPlacements(mirrorSegs, colPlacements) {
10071
+ function buildMirrorPlacements$1(mirrorSegs, colPlacements) {
10072
10072
  if (!mirrorSegs.length) {
10073
10073
  return [];
10074
10074
  }
10075
- let topsByInstanceId = buildAbsoluteTopHash(colPlacements); // TODO: cache this at first render?
10075
+ let topsByInstanceId = buildAbsoluteTopHash$1(colPlacements); // TODO: cache this at first render?
10076
10076
  return mirrorSegs.map((seg) => ({
10077
10077
  seg,
10078
10078
  isVisible: true,
@@ -10081,7 +10081,7 @@ function buildMirrorPlacements(mirrorSegs, colPlacements) {
10081
10081
  marginTop: 0,
10082
10082
  }));
10083
10083
  }
10084
- function buildAbsoluteTopHash(colPlacements) {
10084
+ function buildAbsoluteTopHash$1(colPlacements) {
10085
10085
  let topsByInstanceId = {};
10086
10086
  for (let placements of colPlacements) {
10087
10087
  for (let placement of placements) {
@@ -10091,15 +10091,15 @@ function buildAbsoluteTopHash(colPlacements) {
10091
10091
  return topsByInstanceId;
10092
10092
  }
10093
10093
 
10094
- class TableRows extends DateComponent {
10094
+ class TableRows$1 extends DateComponent {
10095
10095
  constructor() {
10096
10096
  super(...arguments);
10097
- this.splitBusinessHourSegs = memoize(splitSegsByRow);
10098
- this.splitBgEventSegs = memoize(splitSegsByRow);
10099
- this.splitFgEventSegs = memoize(splitSegsByRow);
10100
- this.splitDateSelectionSegs = memoize(splitSegsByRow);
10101
- this.splitEventDrag = memoize(splitInteractionByRow);
10102
- this.splitEventResize = memoize(splitInteractionByRow);
10097
+ this.splitBusinessHourSegs = memoize(splitSegsByRow$1);
10098
+ this.splitBgEventSegs = memoize(splitSegsByRow$1);
10099
+ this.splitFgEventSegs = memoize(splitSegsByRow$1);
10100
+ this.splitDateSelectionSegs = memoize(splitSegsByRow$1);
10101
+ this.splitEventDrag = memoize(splitInteractionByRow$1);
10102
+ this.splitEventResize = memoize(splitInteractionByRow$1);
10103
10103
  this.rowRefs = new RefMap();
10104
10104
  }
10105
10105
  render() {
@@ -10116,10 +10116,10 @@ class TableRows extends DateComponent {
10116
10116
  let cellMinHeight = (rowCnt >= 7 && props.clientWidth) ?
10117
10117
  props.clientWidth / context.options.aspectRatio / 6 :
10118
10118
  null;
10119
- return (y(NowTimer, { unit: "day" }, (nowDate, todayRange) => (y(_, null, props.cells.map((cells, row) => (y(TableRow, { ref: this.rowRefs.createRef(row), key: cells.length
10119
+ return (y(NowTimer, { unit: "day" }, (nowDate, todayRange) => (y(_, null, props.cells.map((cells, row) => (y(TableRow$1, { ref: this.rowRefs.createRef(row), key: cells.length
10120
10120
  ? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */
10121
10121
  : row // in case there are no cells (like when resource view is loading)
10122
- , showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: props.dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, cellMinHeight: cellMinHeight, forPrint: props.forPrint })))))));
10122
+ , showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: props.dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay$1) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, cellMinHeight: cellMinHeight, forPrint: props.forPrint })))))));
10123
10123
  }
10124
10124
  componentDidMount() {
10125
10125
  this.registerInteractiveComponent();
@@ -10188,11 +10188,11 @@ class TableRows extends DateComponent {
10188
10188
  return { start, end };
10189
10189
  }
10190
10190
  }
10191
- function isSegAllDay(seg) {
10191
+ function isSegAllDay$1(seg) {
10192
10192
  return seg.eventRange.def.allDay;
10193
10193
  }
10194
10194
 
10195
- class Table extends DateComponent {
10195
+ class Table$1 extends DateComponent {
10196
10196
  constructor() {
10197
10197
  super(...arguments);
10198
10198
  this.elRef = d();
@@ -10227,7 +10227,7 @@ class Table extends DateComponent {
10227
10227
  } },
10228
10228
  props.colGroupNode,
10229
10229
  y("tbody", { role: "presentation" },
10230
- y(TableRows, { dateProfile: props.dateProfile, cells: props.cells, renderRowIntro: props.renderRowIntro, showWeekNumbers: props.showWeekNumbers, clientWidth: props.clientWidth, clientHeight: props.clientHeight, businessHourSegs: props.businessHourSegs, bgEventSegs: props.bgEventSegs, fgEventSegs: props.fgEventSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed })))));
10230
+ y(TableRows$1, { dateProfile: props.dateProfile, cells: props.cells, renderRowIntro: props.renderRowIntro, showWeekNumbers: props.showWeekNumbers, clientWidth: props.clientWidth, clientHeight: props.clientHeight, businessHourSegs: props.businessHourSegs, bgEventSegs: props.bgEventSegs, fgEventSegs: props.fgEventSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed })))));
10231
10231
  }
10232
10232
  componentDidMount() {
10233
10233
  this.requestScrollReset();
@@ -10248,7 +10248,7 @@ class Table extends DateComponent {
10248
10248
  if (this.needsScrollReset &&
10249
10249
  this.props.clientWidth // sizes computed?
10250
10250
  ) {
10251
- const subjectEl = getScrollSubjectEl(this.elRef.current, this.props.dateProfile);
10251
+ const subjectEl = getScrollSubjectEl$1(this.elRef.current, this.props.dateProfile);
10252
10252
  if (subjectEl) {
10253
10253
  const originEl = subjectEl.closest('.fc-daygrid-body');
10254
10254
  const scrollEl = originEl.closest('.fc-scroller');
@@ -10260,7 +10260,7 @@ class Table extends DateComponent {
10260
10260
  }
10261
10261
  }
10262
10262
  }
10263
- function getScrollSubjectEl(containerEl, dateProfile) {
10263
+ function getScrollSubjectEl$1(containerEl, dateProfile) {
10264
10264
  let el;
10265
10265
  if (dateProfile.currentRangeUnit.match(/year|month/)) {
10266
10266
  el = containerEl.querySelector(`[data-date="${formatIsoMonthStr(dateProfile.currentDate)}-01"]`);
@@ -10273,7 +10273,7 @@ function getScrollSubjectEl(containerEl, dateProfile) {
10273
10273
  return el;
10274
10274
  }
10275
10275
 
10276
- class DayTableSlicer extends Slicer {
10276
+ class DayTableSlicer$1 extends Slicer {
10277
10277
  constructor() {
10278
10278
  super(...arguments);
10279
10279
  this.forceDayIfListItem = true;
@@ -10283,15 +10283,15 @@ class DayTableSlicer extends Slicer {
10283
10283
  }
10284
10284
  }
10285
10285
 
10286
- class DayTable extends DateComponent {
10286
+ class DayTable$1 extends DateComponent {
10287
10287
  constructor() {
10288
10288
  super(...arguments);
10289
- this.slicer = new DayTableSlicer();
10289
+ this.slicer = new DayTableSlicer$1();
10290
10290
  this.tableRef = d();
10291
10291
  }
10292
10292
  render() {
10293
10293
  let { props, context } = this;
10294
- return (y(Table, Object.assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));
10294
+ return (y(Table$1, Object.assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));
10295
10295
  }
10296
10296
  }
10297
10297
 
@@ -10308,7 +10308,7 @@ class DayTableView extends TableView {
10308
10308
  let { props } = this;
10309
10309
  let dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator);
10310
10310
  let headerContent = options.dayHeaders && (y(DayHeader, { ref: this.headerRef, dateProfile: props.dateProfile, dates: dayTableModel.headerDates, datesRepDistinctDays: dayTableModel.rowCnt === 1 }));
10311
- let bodyContent = (contentArg) => (y(DayTable, { ref: this.tableRef, dateProfile: props.dateProfile, dayTableModel: dayTableModel, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, nextDayThreshold: options.nextDayThreshold, colGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, dayMaxEvents: options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows, showWeekNumbers: options.weekNumbers, expandRows: !props.isHeightAuto, headerAlignElRef: this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint }));
10311
+ let bodyContent = (contentArg) => (y(DayTable$1, { ref: this.tableRef, dateProfile: props.dateProfile, dayTableModel: dayTableModel, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, nextDayThreshold: options.nextDayThreshold, colGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, dayMaxEvents: options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows, showWeekNumbers: options.weekNumbers, expandRows: !props.isHeightAuto, headerAlignElRef: this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint }));
10312
10312
  return options.dayMinWidth
10313
10313
  ? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth)
10314
10314
  : this.renderSimpleLayout(headerContent, bodyContent);
@@ -10357,8 +10357,8 @@ function buildDayTableRenderRange(props) {
10357
10357
  return { start, end };
10358
10358
  }
10359
10359
 
10360
- var css_248z$2 = ":root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}";
10361
- injectStyles(css_248z$2);
10360
+ var css_248z$3 = ":root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}";
10361
+ injectStyles(css_248z$3);
10362
10362
 
10363
10363
  var index$3 = createPlugin({
10364
10364
  name: '@fullcalendar/daygrid',
@@ -12286,7 +12286,7 @@ class ListViewHeaderRow extends BaseComponent {
12286
12286
  ...getDayClassNames(dayMeta, theme),
12287
12287
  ], elAttrs: {
12288
12288
  'data-date': formatDayString(dayDate),
12289
- }, renderProps: renderProps, generatorName: "dayHeaderContent", customGenerator: options.dayHeaderContent, defaultGenerator: renderInnerContent$1, classNameGenerator: options.dayHeaderClassNames, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, (InnerContent) => ( // TODO: force-hide top border based on :first-child
12289
+ }, renderProps: renderProps, generatorName: "dayHeaderContent", customGenerator: options.dayHeaderContent, defaultGenerator: renderInnerContent$2, classNameGenerator: options.dayHeaderClassNames, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, (InnerContent) => ( // TODO: force-hide top border based on :first-child
12290
12290
  y("th", { scope: "colgroup", colSpan: 3, id: cellId, "aria-labelledby": textId },
12291
12291
  y(InnerContent, { elTag: "div", elClasses: [
12292
12292
  'fc-list-day-cushion',
@@ -12294,7 +12294,7 @@ class ListViewHeaderRow extends BaseComponent {
12294
12294
  ] })))));
12295
12295
  }
12296
12296
  }
12297
- function renderInnerContent$1(props) {
12297
+ function renderInnerContent$2(props) {
12298
12298
  return (y(_, null,
12299
12299
  props.text && (y("a", Object.assign({ id: props.textId, className: "fc-list-day-text" }, props.navLinkAttrs), props.text)),
12300
12300
  props.sideText && ( /* not keyboard tabbable */y("a", Object.assign({ "aria-hidden": true, className: "fc-list-day-side-text" }, props.sideNavLinkAttrs), props.sideText))));
@@ -12521,8 +12521,8 @@ function groupSegsByDay(segs) {
12521
12521
  return segsByDay;
12522
12522
  }
12523
12523
 
12524
- var css_248z$1 = ":root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid var(--fc-border-color)}.fc .fc-list-empty{align-items:center;background-color:var(--fc-neutral-bg-color);display:flex;height:100%;justify-content:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{border-style:hidden;width:100%}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{background:var(--fc-page-bg-color);position:sticky;top:0}.fc .fc-list-table thead{left:-10000px;position:absolute}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{clear:both;content:\"\";display:table}.fc-theme-standard .fc-list-day-cushion{background-color:var(--fc-neutral-bg-color)}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:var(--fc-list-event-hover-bg-color)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{border:calc(var(--fc-list-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-list-event-dot-width)/2);box-sizing:content-box;display:inline-block;height:0;width:0}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}";
12525
- injectStyles(css_248z$1);
12524
+ var css_248z$2 = ":root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid var(--fc-border-color)}.fc .fc-list-empty{align-items:center;background-color:var(--fc-neutral-bg-color);display:flex;height:100%;justify-content:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{border-style:hidden;width:100%}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{background:var(--fc-page-bg-color);position:sticky;top:0}.fc .fc-list-table thead{left:-10000px;position:absolute}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{clear:both;content:\"\";display:table}.fc-theme-standard .fc-list-day-cushion{background-color:var(--fc-neutral-bg-color)}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:var(--fc-list-event-hover-bg-color)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{border:calc(var(--fc-list-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-list-event-dot-width)/2);box-sizing:content-box;display:inline-block;height:0;width:0}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}";
12525
+ injectStyles(css_248z$2);
12526
12526
 
12527
12527
  const OPTION_REFINERS$1 = {
12528
12528
  listDayFormat: createFalsableFormatter,
@@ -12570,6 +12570,844 @@ var index$1 = createPlugin({
12570
12570
  },
12571
12571
  });
12572
12572
 
12573
+ function splitSegsByRow(segs, rowCnt) {
12574
+ let byRow = [];
12575
+ for (let i = 0; i < rowCnt; i += 1) {
12576
+ byRow[i] = [];
12577
+ }
12578
+ for (let seg of segs) {
12579
+ byRow[seg.row].push(seg);
12580
+ }
12581
+ return byRow;
12582
+ }
12583
+ function splitSegsByFirstCol(segs, colCnt) {
12584
+ let byCol = [];
12585
+ for (let i = 0; i < colCnt; i += 1) {
12586
+ byCol[i] = [];
12587
+ }
12588
+ for (let seg of segs) {
12589
+ byCol[seg.firstCol].push(seg);
12590
+ }
12591
+ return byCol;
12592
+ }
12593
+ function splitInteractionByRow(ui, rowCnt) {
12594
+ let byRow = [];
12595
+ if (!ui) {
12596
+ for (let i = 0; i < rowCnt; i += 1) {
12597
+ byRow[i] = null;
12598
+ }
12599
+ }
12600
+ else {
12601
+ for (let i = 0; i < rowCnt; i += 1) {
12602
+ byRow[i] = {
12603
+ affectedInstances: ui.affectedInstances,
12604
+ isEvent: ui.isEvent,
12605
+ segs: [],
12606
+ };
12607
+ }
12608
+ for (let seg of ui.segs) {
12609
+ byRow[seg.row].segs.push(seg);
12610
+ }
12611
+ }
12612
+ return byRow;
12613
+ }
12614
+
12615
+ const DEFAULT_TABLE_EVENT_TIME_FORMAT = createFormatter({
12616
+ hour: 'numeric',
12617
+ minute: '2-digit',
12618
+ omitZeroMinute: true,
12619
+ meridiem: 'narrow',
12620
+ });
12621
+ function hasListItemDisplay(seg) {
12622
+ let { display } = seg.eventRange.ui;
12623
+ return display === 'list-item' || (display === 'auto' &&
12624
+ !seg.eventRange.def.allDay &&
12625
+ seg.firstCol === seg.lastCol && // can't be multi-day
12626
+ seg.isStart && // "
12627
+ seg.isEnd // "
12628
+ );
12629
+ }
12630
+
12631
+ class TableBlockEvent extends BaseComponent {
12632
+ render() {
12633
+ let { props } = this;
12634
+ return (y(StandardEvent, Object.assign({}, props, { elClasses: ['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: props.defaultDisplayEventEnd, disableResizing: !props.seg.eventRange.def.allDay })));
12635
+ }
12636
+ }
12637
+
12638
+ class TableListItemEvent extends BaseComponent {
12639
+ render() {
12640
+ let { props, context } = this;
12641
+ let { options } = context;
12642
+ let { seg } = props;
12643
+ let timeFormat = options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT;
12644
+ let timeText = buildSegTimeText(seg, timeFormat, context, true, props.defaultDisplayEventEnd);
12645
+ return (y(EventContainer, Object.assign({}, props, { elTag: "a", elClasses: ['fc-daygrid-event', 'fc-daygrid-dot-event'], elAttrs: getSegAnchorAttrs(props.seg, context), defaultGenerator: renderInnerContent$1, timeText: timeText, isResizing: false, isDateSelecting: false })));
12646
+ }
12647
+ }
12648
+ function renderInnerContent$1(renderProps) {
12649
+ return (y(_, null,
12650
+ y("div", { className: "fc-daygrid-event-dot", style: { borderColor: renderProps.borderColor || renderProps.backgroundColor } }),
12651
+ renderProps.timeText && (y("div", { className: "fc-event-time" }, renderProps.timeText)),
12652
+ y("div", { className: "fc-event-title" }, renderProps.event.title || y(_, null, "\u00A0"))));
12653
+ }
12654
+
12655
+ class TableCellMoreLink extends BaseComponent {
12656
+ constructor() {
12657
+ super(...arguments);
12658
+ this.compileSegs = memoize(compileSegs);
12659
+ }
12660
+ render() {
12661
+ let { props } = this;
12662
+ let { allSegs, invisibleSegs } = this.compileSegs(props.singlePlacements);
12663
+ return (y(MoreLinkContainer, { elClasses: ['fc-daygrid-more-link'], dateProfile: props.dateProfile, todayRange: props.todayRange, allDayDate: props.allDayDate, moreCnt: props.moreCnt, allSegs: allSegs, hiddenSegs: invisibleSegs, alignmentElRef: props.alignmentElRef, alignGridTop: props.alignGridTop, extraDateSpan: props.extraDateSpan, popoverContent: () => {
12664
+ let isForcedInvisible = (props.eventDrag ? props.eventDrag.affectedInstances : null) ||
12665
+ (props.eventResize ? props.eventResize.affectedInstances : null) ||
12666
+ {};
12667
+ return (y(_, null, allSegs.map((seg) => {
12668
+ let instanceId = seg.eventRange.instance.instanceId;
12669
+ return (y("div", { className: "fc-daygrid-event-harness", key: instanceId, style: {
12670
+ visibility: isForcedInvisible[instanceId] ? 'hidden' : '',
12671
+ } }, hasListItemDisplay(seg) ? (y(TableListItemEvent, Object.assign({ seg: seg, isDragging: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange)))) : (y(TableBlockEvent, Object.assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange))))));
12672
+ })));
12673
+ } }));
12674
+ }
12675
+ }
12676
+ function compileSegs(singlePlacements) {
12677
+ let allSegs = [];
12678
+ let invisibleSegs = [];
12679
+ for (let placement of singlePlacements) {
12680
+ allSegs.push(placement.seg);
12681
+ if (!placement.isVisible) {
12682
+ invisibleSegs.push(placement.seg);
12683
+ }
12684
+ }
12685
+ return { allSegs, invisibleSegs };
12686
+ }
12687
+
12688
+ const DEFAULT_WEEK_NUM_FORMAT$1 = createFormatter({ week: 'narrow' });
12689
+ class TableCell extends DateComponent {
12690
+ constructor() {
12691
+ super(...arguments);
12692
+ this.rootElRef = d();
12693
+ this.state = {
12694
+ dayNumberId: getUniqueDomId(),
12695
+ };
12696
+ this.handleRootEl = (el) => {
12697
+ setRef(this.rootElRef, el);
12698
+ setRef(this.props.elRef, el);
12699
+ };
12700
+ }
12701
+ render() {
12702
+ let { context, props, state, rootElRef } = this;
12703
+ let { options, dateEnv } = context;
12704
+ let { date, dateProfile } = props;
12705
+ // TODO: memoize this?
12706
+ const isMonthStart = props.showDayNumber &&
12707
+ shouldDisplayMonthStart(date, dateProfile.currentRange, dateEnv);
12708
+ return (y(DayCellContainer, { elTag: "td", elRef: this.handleRootEl, elClasses: [
12709
+ 'fc-daygrid-day',
12710
+ ...(props.extraClassNames || []),
12711
+ ], elAttrs: Object.assign(Object.assign(Object.assign({}, props.extraDataAttrs), (props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {})), { role: 'gridcell' }), defaultGenerator: renderTopInner, date: date, dateProfile: dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, isMonthStart: isMonthStart, extraRenderProps: props.extraRenderProps }, (InnerContent, renderProps) => (y("div", { ref: props.innerElRef, className: "fc-daygrid-day-frame fc-scrollgrid-sync-inner", style: { minHeight: props.minHeight } },
12712
+ props.showWeekNumber && (y(WeekNumberContainer, { elTag: "a", elClasses: ['fc-daygrid-week-number'], elAttrs: buildNavLinkAttrs(context, date, 'week'), date: date, defaultFormat: DEFAULT_WEEK_NUM_FORMAT$1 })),
12713
+ !renderProps.isDisabled &&
12714
+ (props.showDayNumber || hasCustomDayCellContent(options) || props.forceDayTop) ? (y("div", { className: "fc-daygrid-day-top" },
12715
+ y(InnerContent, { elTag: "a", elClasses: [
12716
+ 'fc-daygrid-day-number',
12717
+ isMonthStart && 'fc-daygrid-month-start',
12718
+ ], elAttrs: Object.assign(Object.assign({}, buildNavLinkAttrs(context, date)), { id: state.dayNumberId }) }))) : props.showDayNumber ? (
12719
+ // for creating correct amount of space (see issue #7162)
12720
+ y("div", { className: "fc-daygrid-day-top", style: { visibility: 'hidden' } },
12721
+ y("a", { className: "fc-daygrid-day-number" }, "\u00A0"))) : undefined,
12722
+ y("div", { className: "fc-daygrid-day-events", ref: props.fgContentElRef },
12723
+ props.fgContent,
12724
+ y("div", { className: "fc-daygrid-day-bottom", style: { marginTop: props.moreMarginTop } },
12725
+ y(TableCellMoreLink, { allDayDate: date, singlePlacements: props.singlePlacements, moreCnt: props.moreCnt, alignmentElRef: rootElRef, alignGridTop: !props.showDayNumber, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange }))),
12726
+ y("div", { className: "fc-daygrid-day-bg" }, props.bgContent)))));
12727
+ }
12728
+ }
12729
+ function renderTopInner(props) {
12730
+ return props.dayNumberText || y(_, null, "\u00A0");
12731
+ }
12732
+ function shouldDisplayMonthStart(date, currentRange, dateEnv) {
12733
+ const { start: currentStart, end: currentEnd } = currentRange;
12734
+ const currentEndIncl = addMs(currentEnd, -1);
12735
+ const currentFirstYear = dateEnv.getYear(currentStart);
12736
+ const currentFirstMonth = dateEnv.getMonth(currentStart);
12737
+ const currentLastYear = dateEnv.getYear(currentEndIncl);
12738
+ const currentLastMonth = dateEnv.getMonth(currentEndIncl);
12739
+ // spans more than one month?
12740
+ return !(currentFirstYear === currentLastYear && currentFirstMonth === currentLastMonth) &&
12741
+ Boolean(
12742
+ // first date in current view?
12743
+ date.valueOf() === currentStart.valueOf() ||
12744
+ // a month-start that's within the current range?
12745
+ (dateEnv.getDay(date) === 1 && date.valueOf() < currentEnd.valueOf()));
12746
+ }
12747
+
12748
+ function generateSegKey(seg) {
12749
+ return seg.eventRange.instance.instanceId + ':' + seg.firstCol;
12750
+ }
12751
+ function generateSegUid(seg) {
12752
+ return generateSegKey(seg) + ':' + seg.lastCol;
12753
+ }
12754
+ function computeFgSegPlacement(segs, // assumed already sorted
12755
+ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells) {
12756
+ let hierarchy = new DayGridSegHierarchy((segEntry) => {
12757
+ // TODO: more DRY with generateSegUid
12758
+ let segUid = segs[segEntry.index].eventRange.instance.instanceId +
12759
+ ':' + segEntry.span.start +
12760
+ ':' + (segEntry.span.end - 1);
12761
+ // if no thickness known, assume 1 (if 0, so small it always fits)
12762
+ return segHeights[segUid] || 1;
12763
+ });
12764
+ hierarchy.allowReslicing = true;
12765
+ hierarchy.strictOrder = strictOrder;
12766
+ if (dayMaxEvents === true || dayMaxEventRows === true) {
12767
+ hierarchy.maxCoord = maxContentHeight;
12768
+ hierarchy.hiddenConsumes = true;
12769
+ }
12770
+ else if (typeof dayMaxEvents === 'number') {
12771
+ hierarchy.maxStackCnt = dayMaxEvents;
12772
+ }
12773
+ else if (typeof dayMaxEventRows === 'number') {
12774
+ hierarchy.maxStackCnt = dayMaxEventRows;
12775
+ hierarchy.hiddenConsumes = true;
12776
+ }
12777
+ // create segInputs only for segs with known heights
12778
+ let segInputs = [];
12779
+ let unknownHeightSegs = [];
12780
+ for (let i = 0; i < segs.length; i += 1) {
12781
+ let seg = segs[i];
12782
+ let segUid = generateSegUid(seg);
12783
+ let eventHeight = segHeights[segUid];
12784
+ if (eventHeight != null) {
12785
+ segInputs.push({
12786
+ index: i,
12787
+ span: {
12788
+ start: seg.firstCol,
12789
+ end: seg.lastCol + 1,
12790
+ },
12791
+ });
12792
+ }
12793
+ else {
12794
+ unknownHeightSegs.push(seg);
12795
+ }
12796
+ }
12797
+ let hiddenEntries = hierarchy.addSegs(segInputs);
12798
+ let segRects = hierarchy.toRects();
12799
+ let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects(segRects, segs, cells);
12800
+ let moreCnts = [];
12801
+ let moreMarginTops = [];
12802
+ // add segs with unknown heights
12803
+ for (let seg of unknownHeightSegs) {
12804
+ multiColPlacements[seg.firstCol].push({
12805
+ seg,
12806
+ isVisible: false,
12807
+ isAbsolute: true,
12808
+ absoluteTop: 0,
12809
+ marginTop: 0,
12810
+ });
12811
+ for (let col = seg.firstCol; col <= seg.lastCol; col += 1) {
12812
+ singleColPlacements[col].push({
12813
+ seg: resliceSeg(seg, col, col + 1, cells),
12814
+ isVisible: false,
12815
+ isAbsolute: false,
12816
+ absoluteTop: 0,
12817
+ marginTop: 0,
12818
+ });
12819
+ }
12820
+ }
12821
+ // add the hidden entries
12822
+ for (let col = 0; col < cells.length; col += 1) {
12823
+ moreCnts.push(0);
12824
+ }
12825
+ for (let hiddenEntry of hiddenEntries) {
12826
+ let seg = segs[hiddenEntry.index];
12827
+ let hiddenSpan = hiddenEntry.span;
12828
+ multiColPlacements[hiddenSpan.start].push({
12829
+ seg: resliceSeg(seg, hiddenSpan.start, hiddenSpan.end, cells),
12830
+ isVisible: false,
12831
+ isAbsolute: true,
12832
+ absoluteTop: 0,
12833
+ marginTop: 0,
12834
+ });
12835
+ for (let col = hiddenSpan.start; col < hiddenSpan.end; col += 1) {
12836
+ moreCnts[col] += 1;
12837
+ singleColPlacements[col].push({
12838
+ seg: resliceSeg(seg, col, col + 1, cells),
12839
+ isVisible: false,
12840
+ isAbsolute: false,
12841
+ absoluteTop: 0,
12842
+ marginTop: 0,
12843
+ });
12844
+ }
12845
+ }
12846
+ // deal with leftover margins
12847
+ for (let col = 0; col < cells.length; col += 1) {
12848
+ moreMarginTops.push(leftoverMargins[col]);
12849
+ }
12850
+ return { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops };
12851
+ }
12852
+ // rects ordered by top coord, then left
12853
+ function placeRects(allRects, segs, cells) {
12854
+ let rectsByEachCol = groupRectsByEachCol(allRects, cells.length);
12855
+ let singleColPlacements = [];
12856
+ let multiColPlacements = [];
12857
+ let leftoverMargins = [];
12858
+ for (let col = 0; col < cells.length; col += 1) {
12859
+ let rects = rectsByEachCol[col];
12860
+ // compute all static segs in singlePlacements
12861
+ let singlePlacements = [];
12862
+ let currentHeight = 0;
12863
+ let currentMarginTop = 0;
12864
+ for (let rect of rects) {
12865
+ let seg = segs[rect.index];
12866
+ singlePlacements.push({
12867
+ seg: resliceSeg(seg, col, col + 1, cells),
12868
+ isVisible: true,
12869
+ isAbsolute: false,
12870
+ absoluteTop: rect.levelCoord,
12871
+ marginTop: rect.levelCoord - currentHeight,
12872
+ });
12873
+ currentHeight = rect.levelCoord + rect.thickness;
12874
+ }
12875
+ // compute mixed static/absolute segs in multiPlacements
12876
+ let multiPlacements = [];
12877
+ currentHeight = 0;
12878
+ currentMarginTop = 0;
12879
+ for (let rect of rects) {
12880
+ let seg = segs[rect.index];
12881
+ let isAbsolute = rect.span.end - rect.span.start > 1; // multi-column?
12882
+ let isFirstCol = rect.span.start === col;
12883
+ currentMarginTop += rect.levelCoord - currentHeight; // amount of space since bottom of previous seg
12884
+ currentHeight = rect.levelCoord + rect.thickness; // height will now be bottom of current seg
12885
+ if (isAbsolute) {
12886
+ currentMarginTop += rect.thickness;
12887
+ if (isFirstCol) {
12888
+ multiPlacements.push({
12889
+ seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),
12890
+ isVisible: true,
12891
+ isAbsolute: true,
12892
+ absoluteTop: rect.levelCoord,
12893
+ marginTop: 0,
12894
+ });
12895
+ }
12896
+ }
12897
+ else if (isFirstCol) {
12898
+ multiPlacements.push({
12899
+ seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),
12900
+ isVisible: true,
12901
+ isAbsolute: false,
12902
+ absoluteTop: rect.levelCoord,
12903
+ marginTop: currentMarginTop, // claim the margin
12904
+ });
12905
+ currentMarginTop = 0;
12906
+ }
12907
+ }
12908
+ singleColPlacements.push(singlePlacements);
12909
+ multiColPlacements.push(multiPlacements);
12910
+ leftoverMargins.push(currentMarginTop);
12911
+ }
12912
+ return { singleColPlacements, multiColPlacements, leftoverMargins };
12913
+ }
12914
+ function groupRectsByEachCol(rects, colCnt) {
12915
+ let rectsByEachCol = [];
12916
+ for (let col = 0; col < colCnt; col += 1) {
12917
+ rectsByEachCol.push([]);
12918
+ }
12919
+ for (let rect of rects) {
12920
+ for (let col = rect.span.start; col < rect.span.end; col += 1) {
12921
+ rectsByEachCol[col].push(rect);
12922
+ }
12923
+ }
12924
+ return rectsByEachCol;
12925
+ }
12926
+ function resliceSeg(seg, spanStart, spanEnd, cells) {
12927
+ if (seg.firstCol === spanStart && seg.lastCol === spanEnd - 1) {
12928
+ return seg;
12929
+ }
12930
+ let eventRange = seg.eventRange;
12931
+ let origRange = eventRange.range;
12932
+ let slicedRange = intersectRanges(origRange, {
12933
+ start: cells[spanStart].date,
12934
+ end: addDays(cells[spanEnd - 1].date, 1),
12935
+ });
12936
+ return Object.assign(Object.assign({}, seg), { firstCol: spanStart, lastCol: spanEnd - 1, eventRange: {
12937
+ def: eventRange.def,
12938
+ ui: Object.assign(Object.assign({}, eventRange.ui), { durationEditable: false }),
12939
+ instance: eventRange.instance,
12940
+ range: slicedRange,
12941
+ }, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() });
12942
+ }
12943
+ class DayGridSegHierarchy extends SegHierarchy {
12944
+ constructor() {
12945
+ super(...arguments);
12946
+ // config
12947
+ this.hiddenConsumes = false;
12948
+ // allows us to keep hidden entries in the hierarchy so they take up space
12949
+ this.forceHidden = {};
12950
+ }
12951
+ addSegs(segInputs) {
12952
+ const hiddenSegs = super.addSegs(segInputs);
12953
+ const { entriesByLevel } = this;
12954
+ const excludeHidden = (entry) => !this.forceHidden[buildEntryKey(entry)];
12955
+ // remove the forced-hidden segs
12956
+ for (let level = 0; level < entriesByLevel.length; level += 1) {
12957
+ entriesByLevel[level] = entriesByLevel[level].filter(excludeHidden);
12958
+ }
12959
+ return hiddenSegs;
12960
+ }
12961
+ handleInvalidInsertion(insertion, entry, hiddenEntries) {
12962
+ const { entriesByLevel, forceHidden } = this;
12963
+ const { touchingEntry, touchingLevel, touchingLateral } = insertion;
12964
+ // the entry that the new insertion is touching must be hidden
12965
+ if (this.hiddenConsumes && touchingEntry) {
12966
+ const touchingEntryId = buildEntryKey(touchingEntry);
12967
+ if (!forceHidden[touchingEntryId]) {
12968
+ if (this.allowReslicing) {
12969
+ // split up the touchingEntry, reinsert it
12970
+ const hiddenEntry = Object.assign(Object.assign({}, touchingEntry), { span: intersectSpans(touchingEntry.span, entry.span) });
12971
+ // reinsert the area that turned into a "more" link (so no other entries try to
12972
+ // occupy the space) but mark it forced-hidden
12973
+ const hiddenEntryId = buildEntryKey(hiddenEntry);
12974
+ forceHidden[hiddenEntryId] = true;
12975
+ entriesByLevel[touchingLevel][touchingLateral] = hiddenEntry;
12976
+ hiddenEntries.push(hiddenEntry);
12977
+ this.splitEntry(touchingEntry, entry, hiddenEntries);
12978
+ }
12979
+ else {
12980
+ forceHidden[touchingEntryId] = true;
12981
+ hiddenEntries.push(touchingEntry);
12982
+ }
12983
+ }
12984
+ }
12985
+ // will try to reslice...
12986
+ super.handleInvalidInsertion(insertion, entry, hiddenEntries);
12987
+ }
12988
+ }
12989
+
12990
+ class TableRow extends DateComponent {
12991
+ constructor() {
12992
+ super(...arguments);
12993
+ this.cellElRefs = new RefMap(); // the <td>
12994
+ this.frameElRefs = new RefMap(); // the fc-daygrid-day-frame
12995
+ this.fgElRefs = new RefMap(); // the fc-daygrid-day-events
12996
+ this.segHarnessRefs = new RefMap(); // indexed by "instanceId:firstCol"
12997
+ this.rootElRef = d();
12998
+ this.state = {
12999
+ framePositions: null,
13000
+ maxContentHeight: null,
13001
+ segHeights: {},
13002
+ };
13003
+ this.handleResize = (isForced) => {
13004
+ if (isForced) {
13005
+ this.updateSizing(true); // isExternal=true
13006
+ }
13007
+ };
13008
+ }
13009
+ render() {
13010
+ let { props, state, context } = this;
13011
+ let { options } = context;
13012
+ let colCnt = props.cells.length;
13013
+ let businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt);
13014
+ let bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt);
13015
+ let highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt);
13016
+ let mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt);
13017
+ let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.segHeights, state.maxContentHeight, props.cells);
13018
+ let isForcedInvisible = // TODO: messy way to compute this
13019
+ (props.eventDrag && props.eventDrag.affectedInstances) ||
13020
+ (props.eventResize && props.eventResize.affectedInstances) ||
13021
+ {};
13022
+ return (y("tr", { ref: this.rootElRef, role: "row" },
13023
+ props.renderIntro && props.renderIntro(),
13024
+ props.cells.map((cell, col) => {
13025
+ let normalFgNodes = this.renderFgSegs(col, props.forPrint ? singleColPlacements[col] : multiColPlacements[col], props.todayRange, isForcedInvisible);
13026
+ let mirrorFgNodes = this.renderFgSegs(col, buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);
13027
+ return (y(TableCell, { key: cell.key, elRef: this.cellElRefs.createRef(cell.key), innerElRef: this.frameElRefs.createRef(cell.key) /* FF <td> problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraRenderProps: cell.extraRenderProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys
13028
+ y(_, null,
13029
+ y(_, null, normalFgNodes),
13030
+ y(_, null, mirrorFgNodes))), bgContent: ( // Fragment scopes the keys
13031
+ y(_, null,
13032
+ this.renderFillSegs(highlightSegsByCol[col], 'highlight'),
13033
+ this.renderFillSegs(businessHoursByCol[col], 'non-business'),
13034
+ this.renderFillSegs(bgEventSegsByCol[col], 'bg-event'))), minHeight: props.cellMinHeight }));
13035
+ })));
13036
+ }
13037
+ componentDidMount() {
13038
+ this.updateSizing(true);
13039
+ this.context.addResizeHandler(this.handleResize);
13040
+ }
13041
+ componentDidUpdate(prevProps, prevState) {
13042
+ let currentProps = this.props;
13043
+ this.updateSizing(!isPropsEqual(prevProps, currentProps));
13044
+ }
13045
+ componentWillUnmount() {
13046
+ this.context.removeResizeHandler(this.handleResize);
13047
+ }
13048
+ getHighlightSegs() {
13049
+ let { props } = this;
13050
+ if (props.eventDrag && props.eventDrag.segs.length) { // messy check
13051
+ return props.eventDrag.segs;
13052
+ }
13053
+ if (props.eventResize && props.eventResize.segs.length) { // messy check
13054
+ return props.eventResize.segs;
13055
+ }
13056
+ return props.dateSelectionSegs;
13057
+ }
13058
+ getMirrorSegs() {
13059
+ let { props } = this;
13060
+ if (props.eventResize && props.eventResize.segs.length) { // messy check
13061
+ return props.eventResize.segs;
13062
+ }
13063
+ return [];
13064
+ }
13065
+ renderFgSegs(col, segPlacements, todayRange, isForcedInvisible, isDragging, isResizing, isDateSelecting) {
13066
+ let { context } = this;
13067
+ let { eventSelection } = this.props;
13068
+ let { framePositions } = this.state;
13069
+ let defaultDisplayEventEnd = this.props.cells.length === 1; // colCnt === 1
13070
+ let isMirror = isDragging || isResizing || isDateSelecting;
13071
+ let nodes = [];
13072
+ if (framePositions) {
13073
+ for (let placement of segPlacements) {
13074
+ let { seg } = placement;
13075
+ let { instanceId } = seg.eventRange.instance;
13076
+ let isVisible = placement.isVisible && !isForcedInvisible[instanceId];
13077
+ let isAbsolute = placement.isAbsolute;
13078
+ let left = '';
13079
+ let right = '';
13080
+ if (isAbsolute) {
13081
+ if (context.isRtl) {
13082
+ right = 0;
13083
+ left = framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol];
13084
+ }
13085
+ else {
13086
+ left = 0;
13087
+ right = framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol];
13088
+ }
13089
+ }
13090
+ /*
13091
+ known bug: events that are force to be list-item but span multiple days still take up space in later columns
13092
+ todo: in print view, for multi-day events, don't display title within non-start/end segs
13093
+ */
13094
+ nodes.push(y("div", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: generateSegKey(seg), ref: isMirror ? null : this.segHarnessRefs.createRef(generateSegUid(seg)), style: {
13095
+ visibility: isVisible ? '' : 'hidden',
13096
+ marginTop: isAbsolute ? '' : placement.marginTop,
13097
+ top: isAbsolute ? placement.absoluteTop : '',
13098
+ left,
13099
+ right,
13100
+ } }, hasListItemDisplay(seg) ? (y(TableListItemEvent, Object.assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (y(TableBlockEvent, Object.assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));
13101
+ }
13102
+ }
13103
+ return nodes;
13104
+ }
13105
+ renderFillSegs(segs, fillType) {
13106
+ let { isRtl } = this.context;
13107
+ let { todayRange } = this.props;
13108
+ let { framePositions } = this.state;
13109
+ let nodes = [];
13110
+ if (framePositions) {
13111
+ for (let seg of segs) {
13112
+ let leftRightCss = isRtl ? {
13113
+ right: 0,
13114
+ left: framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol],
13115
+ } : {
13116
+ left: 0,
13117
+ right: framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol],
13118
+ };
13119
+ nodes.push(y("div", { key: buildEventRangeKey(seg.eventRange), className: "fc-daygrid-bg-harness", style: leftRightCss }, fillType === 'bg-event' ?
13120
+ y(BgEvent, Object.assign({ seg: seg }, getSegMeta(seg, todayRange))) :
13121
+ renderFill(fillType)));
13122
+ }
13123
+ }
13124
+ return y(_, {}, ...nodes);
13125
+ }
13126
+ updateSizing(isExternalSizingChange) {
13127
+ let { props, state, frameElRefs } = this;
13128
+ if (!props.forPrint &&
13129
+ props.clientWidth !== null // positioning ready?
13130
+ ) {
13131
+ if (isExternalSizingChange) {
13132
+ let frameEls = props.cells.map((cell) => frameElRefs.currentMap[cell.key]);
13133
+ if (frameEls.length) {
13134
+ let originEl = this.rootElRef.current;
13135
+ let newPositionCache = new PositionCache(originEl, frameEls, true, // isHorizontal
13136
+ false);
13137
+ if (!state.framePositions || !state.framePositions.similarTo(newPositionCache)) {
13138
+ this.setState({
13139
+ framePositions: new PositionCache(originEl, frameEls, true, // isHorizontal
13140
+ false),
13141
+ });
13142
+ }
13143
+ }
13144
+ }
13145
+ const oldSegHeights = this.state.segHeights;
13146
+ const newSegHeights = this.querySegHeights();
13147
+ const limitByContentHeight = props.dayMaxEvents === true || props.dayMaxEventRows === true;
13148
+ this.safeSetState({
13149
+ // HACK to prevent oscillations of events being shown/hidden from max-event-rows
13150
+ // Essentially, once you compute an element's height, never null-out.
13151
+ // TODO: always display all events, as visibility:hidden?
13152
+ segHeights: Object.assign(Object.assign({}, oldSegHeights), newSegHeights),
13153
+ maxContentHeight: limitByContentHeight ? this.computeMaxContentHeight() : null,
13154
+ });
13155
+ }
13156
+ }
13157
+ querySegHeights() {
13158
+ let segElMap = this.segHarnessRefs.currentMap;
13159
+ let segHeights = {};
13160
+ // get the max height amongst instance segs
13161
+ for (let segUid in segElMap) {
13162
+ let height = Math.round(segElMap[segUid].getBoundingClientRect().height);
13163
+ segHeights[segUid] = Math.max(segHeights[segUid] || 0, height);
13164
+ }
13165
+ return segHeights;
13166
+ }
13167
+ computeMaxContentHeight() {
13168
+ let firstKey = this.props.cells[0].key;
13169
+ let cellEl = this.cellElRefs.currentMap[firstKey];
13170
+ let fcContainerEl = this.fgElRefs.currentMap[firstKey];
13171
+ return cellEl.getBoundingClientRect().bottom - fcContainerEl.getBoundingClientRect().top;
13172
+ }
13173
+ getCellEls() {
13174
+ let elMap = this.cellElRefs.currentMap;
13175
+ return this.props.cells.map((cell) => elMap[cell.key]);
13176
+ }
13177
+ }
13178
+ TableRow.addStateEquality({
13179
+ segHeights: isPropsEqual,
13180
+ });
13181
+ function buildMirrorPlacements(mirrorSegs, colPlacements) {
13182
+ if (!mirrorSegs.length) {
13183
+ return [];
13184
+ }
13185
+ let topsByInstanceId = buildAbsoluteTopHash(colPlacements); // TODO: cache this at first render?
13186
+ return mirrorSegs.map((seg) => ({
13187
+ seg,
13188
+ isVisible: true,
13189
+ isAbsolute: true,
13190
+ absoluteTop: topsByInstanceId[seg.eventRange.instance.instanceId],
13191
+ marginTop: 0,
13192
+ }));
13193
+ }
13194
+ function buildAbsoluteTopHash(colPlacements) {
13195
+ let topsByInstanceId = {};
13196
+ for (let placements of colPlacements) {
13197
+ for (let placement of placements) {
13198
+ topsByInstanceId[placement.seg.eventRange.instance.instanceId] = placement.absoluteTop;
13199
+ }
13200
+ }
13201
+ return topsByInstanceId;
13202
+ }
13203
+
13204
+ class TableRows extends DateComponent {
13205
+ constructor() {
13206
+ super(...arguments);
13207
+ this.splitBusinessHourSegs = memoize(splitSegsByRow);
13208
+ this.splitBgEventSegs = memoize(splitSegsByRow);
13209
+ this.splitFgEventSegs = memoize(splitSegsByRow);
13210
+ this.splitDateSelectionSegs = memoize(splitSegsByRow);
13211
+ this.splitEventDrag = memoize(splitInteractionByRow);
13212
+ this.splitEventResize = memoize(splitInteractionByRow);
13213
+ this.rowRefs = new RefMap();
13214
+ }
13215
+ render() {
13216
+ let { props, context } = this;
13217
+ let rowCnt = props.cells.length;
13218
+ let businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCnt);
13219
+ let bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCnt);
13220
+ let fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCnt);
13221
+ let dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, rowCnt);
13222
+ let eventDragByRow = this.splitEventDrag(props.eventDrag, rowCnt);
13223
+ let eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt);
13224
+ // for DayGrid view with many rows, force a min-height on cells so doesn't appear squished
13225
+ // choose 7 because a month view will have max 6 rows
13226
+ let cellMinHeight = (rowCnt >= 7 && props.clientWidth) ?
13227
+ props.clientWidth / context.options.aspectRatio / 6 :
13228
+ null;
13229
+ return (y(NowTimer, { unit: "day" }, (nowDate, todayRange) => (y(_, null, props.cells.map((cells, row) => (y(TableRow, { ref: this.rowRefs.createRef(row), key: cells.length
13230
+ ? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */
13231
+ : row // in case there are no cells (like when resource view is loading)
13232
+ , showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: props.dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, cellMinHeight: cellMinHeight, forPrint: props.forPrint })))))));
13233
+ }
13234
+ componentDidMount() {
13235
+ this.registerInteractiveComponent();
13236
+ }
13237
+ componentDidUpdate() {
13238
+ // for if started with zero cells
13239
+ this.registerInteractiveComponent();
13240
+ }
13241
+ registerInteractiveComponent() {
13242
+ if (!this.rootEl) {
13243
+ // HACK: need a daygrid wrapper parent to do positioning
13244
+ // NOTE: a daygrid resource view w/o resources can have zero cells
13245
+ const firstCellEl = this.rowRefs.currentMap[0].getCellEls()[0];
13246
+ const rootEl = firstCellEl ? firstCellEl.closest('.fc-daygrid-body') : null;
13247
+ if (rootEl) {
13248
+ this.rootEl = rootEl;
13249
+ this.context.registerInteractiveComponent(this, {
13250
+ el: rootEl,
13251
+ isHitComboAllowed: this.props.isHitComboAllowed,
13252
+ });
13253
+ }
13254
+ }
13255
+ }
13256
+ componentWillUnmount() {
13257
+ if (this.rootEl) {
13258
+ this.context.unregisterInteractiveComponent(this);
13259
+ this.rootEl = null;
13260
+ }
13261
+ }
13262
+ // Hit System
13263
+ // ----------------------------------------------------------------------------------------------------
13264
+ prepareHits() {
13265
+ this.rowPositions = new PositionCache(this.rootEl, this.rowRefs.collect().map((rowObj) => rowObj.getCellEls()[0]), // first cell el in each row. TODO: not optimal
13266
+ false, true);
13267
+ this.colPositions = new PositionCache(this.rootEl, this.rowRefs.currentMap[0].getCellEls(), // cell els in first row
13268
+ true, // horizontal
13269
+ false);
13270
+ }
13271
+ queryHit(positionLeft, positionTop) {
13272
+ let { colPositions, rowPositions } = this;
13273
+ let col = colPositions.leftToIndex(positionLeft);
13274
+ let row = rowPositions.topToIndex(positionTop);
13275
+ if (row != null && col != null) {
13276
+ let cell = this.props.cells[row][col];
13277
+ return {
13278
+ dateProfile: this.props.dateProfile,
13279
+ dateSpan: Object.assign({ range: this.getCellRange(row, col), allDay: true }, cell.extraDateSpan),
13280
+ dayEl: this.getCellEl(row, col),
13281
+ rect: {
13282
+ left: colPositions.lefts[col],
13283
+ right: colPositions.rights[col],
13284
+ top: rowPositions.tops[row],
13285
+ bottom: rowPositions.bottoms[row],
13286
+ },
13287
+ layer: 0,
13288
+ };
13289
+ }
13290
+ return null;
13291
+ }
13292
+ getCellEl(row, col) {
13293
+ return this.rowRefs.currentMap[row].getCellEls()[col]; // TODO: not optimal
13294
+ }
13295
+ getCellRange(row, col) {
13296
+ let start = this.props.cells[row][col].date;
13297
+ let end = addDays(start, 1);
13298
+ return { start, end };
13299
+ }
13300
+ }
13301
+ function isSegAllDay(seg) {
13302
+ return seg.eventRange.def.allDay;
13303
+ }
13304
+
13305
+ class Table extends DateComponent {
13306
+ constructor() {
13307
+ super(...arguments);
13308
+ this.elRef = d();
13309
+ this.needsScrollReset = false;
13310
+ }
13311
+ render() {
13312
+ let { props } = this;
13313
+ let { dayMaxEventRows, dayMaxEvents, expandRows } = props;
13314
+ let limitViaBalanced = dayMaxEvents === true || dayMaxEventRows === true;
13315
+ // if rows can't expand to fill fixed height, can't do balanced-height event limit
13316
+ // TODO: best place to normalize these options?
13317
+ if (limitViaBalanced && !expandRows) {
13318
+ limitViaBalanced = false;
13319
+ dayMaxEventRows = null;
13320
+ dayMaxEvents = null;
13321
+ }
13322
+ let classNames = [
13323
+ 'fc-daygrid-body',
13324
+ limitViaBalanced ? 'fc-daygrid-body-balanced' : 'fc-daygrid-body-unbalanced',
13325
+ expandRows ? '' : 'fc-daygrid-body-natural', // will height of one row depend on the others?
13326
+ ];
13327
+ return (y("div", { ref: this.elRef, className: classNames.join(' '), style: {
13328
+ // these props are important to give this wrapper correct dimensions for interactions
13329
+ // TODO: if we set it here, can we avoid giving to inner tables?
13330
+ width: props.clientWidth,
13331
+ minWidth: props.tableMinWidth,
13332
+ } },
13333
+ y("table", { role: "presentation", className: "fc-scrollgrid-sync-table", style: {
13334
+ width: props.clientWidth,
13335
+ minWidth: props.tableMinWidth,
13336
+ height: expandRows ? props.clientHeight : '',
13337
+ } },
13338
+ props.colGroupNode,
13339
+ y("tbody", { role: "presentation" },
13340
+ y(TableRows, { dateProfile: props.dateProfile, cells: props.cells, renderRowIntro: props.renderRowIntro, showWeekNumbers: props.showWeekNumbers, clientWidth: props.clientWidth, clientHeight: props.clientHeight, businessHourSegs: props.businessHourSegs, bgEventSegs: props.bgEventSegs, fgEventSegs: props.fgEventSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed })))));
13341
+ }
13342
+ componentDidMount() {
13343
+ this.requestScrollReset();
13344
+ }
13345
+ componentDidUpdate(prevProps) {
13346
+ if (prevProps.dateProfile !== this.props.dateProfile) {
13347
+ this.requestScrollReset();
13348
+ }
13349
+ else {
13350
+ this.flushScrollReset();
13351
+ }
13352
+ }
13353
+ requestScrollReset() {
13354
+ this.needsScrollReset = true;
13355
+ this.flushScrollReset();
13356
+ }
13357
+ flushScrollReset() {
13358
+ if (this.needsScrollReset &&
13359
+ this.props.clientWidth // sizes computed?
13360
+ ) {
13361
+ const subjectEl = getScrollSubjectEl(this.elRef.current, this.props.dateProfile);
13362
+ if (subjectEl) {
13363
+ const originEl = subjectEl.closest('.fc-daygrid-body');
13364
+ const scrollEl = originEl.closest('.fc-scroller');
13365
+ const scrollTop = subjectEl.getBoundingClientRect().top -
13366
+ originEl.getBoundingClientRect().top;
13367
+ scrollEl.scrollTop = scrollTop ? (scrollTop + 1) : 0; // overcome border
13368
+ }
13369
+ this.needsScrollReset = false;
13370
+ }
13371
+ }
13372
+ }
13373
+ function getScrollSubjectEl(containerEl, dateProfile) {
13374
+ let el;
13375
+ if (dateProfile.currentRangeUnit.match(/year|month/)) {
13376
+ el = containerEl.querySelector(`[data-date="${formatIsoMonthStr(dateProfile.currentDate)}-01"]`);
13377
+ // even if view is month-based, first-of-month might be hidden...
13378
+ }
13379
+ if (!el) {
13380
+ el = containerEl.querySelector(`[data-date="${formatDayString(dateProfile.currentDate)}"]`);
13381
+ // could still be hidden if an interior-view hidden day
13382
+ }
13383
+ return el;
13384
+ }
13385
+
13386
+ class DayTableSlicer extends Slicer {
13387
+ constructor() {
13388
+ super(...arguments);
13389
+ this.forceDayIfListItem = true;
13390
+ }
13391
+ sliceRange(dateRange, dayTableModel) {
13392
+ return dayTableModel.sliceRange(dateRange);
13393
+ }
13394
+ }
13395
+
13396
+ class DayTable extends DateComponent {
13397
+ constructor() {
13398
+ super(...arguments);
13399
+ this.slicer = new DayTableSlicer();
13400
+ this.tableRef = d();
13401
+ }
13402
+ render() {
13403
+ let { props, context } = this;
13404
+ return (y(Table, Object.assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));
13405
+ }
13406
+ }
13407
+
13408
+ var css_248z$1 = ":root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}";
13409
+ injectStyles(css_248z$1);
13410
+
12573
13411
  class AllDaySplitter extends Splitter {
12574
13412
  getKeyInfo() {
12575
13413
  return {
@@ -13958,7 +14796,7 @@ class KupCalendarState {
13958
14796
  }
13959
14797
  }
13960
14798
 
13961
- const kupCalendarCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:var(--kup-label-01-font-size, 12px);line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-heading-compact-01-font-size, 14px);line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:var(--kup-heading-01-font-size, 14px);line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_calendar_background_color:var(\n --kup-calendar-background-color,\n var(--kup-layer-1)\n );--kup_calendar_border_color:var(\n --kup-calendar-border-color,\n var(--kup-border-subtle)\n );--kup_calendar_event_background_color:var(\n --kup-calendar-event-background-color,\n var(--kup-gray-color-30)\n );--kup_calendar_event_border_radius:var(\n --kup-calendar-event-border-radius,\n 4px\n );--kup_calendar_event_color:var(\n --kup-calendar-event-color,\n var(--kup-text-secondary)\n );--kup_calendar_font_family:var(\n --kup-calendar-font-family,\n var(--kup-font-family)\n );--kup_calendar_font_size:var(--kup-calendar-font-size, var(--kup-font-size));--kup_calendar_header_background_color:var(\n --kup-calendar-header-background-color,\n var(--kup-layer-2)\n );--kup_calendar_header_color:var(\n --kup-calendar-header-color,\n var(--kup-text-secondary)\n );--kup_calendar_navigator_border:var(\n --kup-calendar-navigator-border,\n 1px solid var(--kup-border-subtle)\n );--kup_calendar_no_work_day_background_color:var(\n --kup-calendar-no-work-day-background-color,\n var(--kup-layer-0)\n );--kup_calendar_no_work_day_color:var(\n --kup-calendar-no-work-day-color,\n var(--kup-text-secondary)\n );--kup_calendar_today_background_color:var(\n --kup-calendar-today-background-color,\n var(--kup-layer-2)\n );--kup_calendar_border_top_color:var(\n --kup-calendar-border-top-color,\n var(--kup-border-interactive)\n );--fc-border-color:var(--kup_calendar_border_color);background-color:var(--kup_calendar_background_color);display:block;font-family:var(--kup_calendar_font_family);font-size:var(--kup_calendar_font_size);height:100%;width:100%}.navigation{align-items:center;display:flex;justify-content:space-between;background-color:var(--kup_calendar_background_color)}.navigation__left{--kup-font-size:0.875em;display:flex;margin-left:var(--kup-space-03)}.navigation__right{display:flex;margin-right:var(--kup-space-03)}.navigation__title{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0;margin:0px;padding:0px 0.5em}.navigation__title--centered{padding:0.35em 0;text-align:center;width:100%}.icon-wrapper{display:flex;justify-content:flex-end;flex-wrap:wrap}.image-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap}.image-wrapper img{width:20px;height:20px}.custom-icon{background-color:var(--kup_calendar_event_color);height:1.5em;width:1.5em}#kup-component .fc-toolbar.fc-header-toolbar{margin-top:1.5rem}#kup-component .fc-ltr .fc-dayGrid-view .fc-day-top{text-align:center;padding:0.5rem}#kup-component .fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:none}#kup-component .fc-content{padding:0.25rem}#kup-component .fc-event-title{white-space:normal;word-break:break-word}#kup-component .fc-content,#kup-component .fc-divider,#kup-component .fc-list-heading td,#kup-component .fc-list-view,#kup-component .fc-popover,#kup-component .fc-row,#kup-component .fc-scrollgrid,#kup-component tbody,#kup-component td{border-color:var(--kup_calendar_border_color)}#kup-component .fc-col-header-cell{background:var(--kup_calendar_header_background_color);color:var(--kup_calendar_header_color)}#kup-component .fc-h-event{background:none;border:none}#kup-component .fc-list-event-dot{border-color:var(--kup_calendar_event_background_color)}#kup-component .fc-list-day-cushion{background:var(--kup_calendar_header_background_color);color:var(--kup_calendar_header_color);font-family:var(--kup-font-family);font-size:var(--kup-heading-01-font-size, 14px);line-height:20px;font-weight:600;letter-spacing:0.16px}#kup-component .fc-list-event:hover td{background:var(--kup-hover-background-color);color:var(--kup-hover-color)}#kup-component .fc-daygrid-event,#kup-component .fc-timegrid-event{background:var(--kup_calendar_event_background_color);border:none;border-color:var(--kup_calendar_event_background_color);color:var(--kup_calendar_event_color)}#kup-component .fc-event{padding:0.5rem}#kup-component .fc-event-main{color:inherit;display:flex}#kup-component .fc-event-title .fc-event-time{padding:0.25em}#kup-component .fc-event-time{white-space:pre}#kup-component td.fc-day-today{background-color:var(--kup_calendar_today_background_color);border-top:2px solid var(--kup_calendar_border_top_color)}#kup-component td.fc-day-sun,#kup-component td.fc-day-sat{background-color:var(--kup_calendar_no_work_day_background_color);color:var(--kup_calendar_no_work_day_color);opacity:0.7}@media (max-width: 599px){.navigation{flex-direction:column}.calendar{height:100%}.calendar .fc-view-harness{min-height:450px}.navigation .navigation__left{font-size:20px;gap:8px}.navigation .navigation__right .f-chip .chip-set .chip-set__item{font-size:16px}}@media (min-width: 599px){#kup-component .fc-daygrid-event{align-items:baseline;white-space:pre-line}}";
14799
+ const kupCalendarCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:var(--kup-label-01-font-size, 12px);line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-heading-compact-01-font-size, 14px);line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:var(--kup-heading-01-font-size, 14px);line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_calendar_background_color:var(\n --kup-calendar-background-color,\n var(--kup-layer-1)\n );--kup_calendar_border_color:var(\n --kup-calendar-border-color,\n var(--kup-border-subtle)\n );--kup_calendar_event_background_color:var(\n --kup-calendar-event-background-color,\n var(--kup-gray-color-30)\n );--kup_calendar_event_border_radius:var(\n --kup-calendar-event-border-radius,\n 4px\n );--kup_calendar_event_color:var(\n --kup-calendar-event-color,\n var(--kup-text-secondary)\n );--kup_calendar_font_family:var(\n --kup-calendar-font-family,\n var(--kup-font-family)\n );--kup_calendar_font_size:var(--kup-calendar-font-size, var(--kup-font-size));--kup_calendar_header_background_color:var(\n --kup-calendar-header-background-color,\n var(--kup-layer-2)\n );--kup_calendar_header_color:var(\n --kup-calendar-header-color,\n var(--kup-text-secondary)\n );--kup_calendar_navigator_border:var(\n --kup-calendar-navigator-border,\n 1px solid var(--kup-border-subtle)\n );--kup_calendar_no_work_day_background_color:var(\n --kup-calendar-no-work-day-background-color,\n var(--kup-layer-0)\n );--kup_calendar_no_work_day_color:var(\n --kup-calendar-no-work-day-color,\n var(--kup-text-secondary)\n );--kup_calendar_today_background_color:var(\n --kup-calendar-today-background-color,\n var(--kup-layer-2)\n );--kup_calendar_border_top_color:var(\n --kup-calendar-border-top-color,\n var(--kup-border-interactive)\n );--fc-border-color:var(--kup_calendar_border_color);background-color:var(--kup_calendar_background_color);display:block;font-family:var(--kup_calendar_font_family);font-size:var(--kup_calendar_font_size);height:100%;width:100%}.navigation{align-items:center;display:flex;justify-content:space-between;background-color:var(--kup_calendar_background_color)}.navigation__left{--kup-font-size:0.875em;display:flex;margin-left:var(--kup-space-03)}.navigation__right{display:flex;margin-right:var(--kup-space-03)}.navigation__title{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0;margin:0px;padding:0px 0.5em}.navigation__title--centered{padding:0.35em 0;text-align:center;width:100%}.icon-wrapper{display:flex;justify-content:flex-end;flex-wrap:wrap}.image-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap}.image-wrapper img{width:20px;height:20px}.custom-icon{background-color:var(--kup_calendar_event_color);height:1.5em;width:1.5em}#kup-component .fc-toolbar.fc-header-toolbar{margin-top:1.5rem}#kup-component .fc-ltr .fc-dayGrid-view .fc-day-top{text-align:center;padding:0.5rem}#kup-component .fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:none}#kup-component .fc-content{padding:0.25rem}#kup-component .fc-event-title{white-space:normal;word-break:break-word}#kup-component .fc-content,#kup-component .fc-divider,#kup-component .fc-list-heading td,#kup-component .fc-list-view,#kup-component .fc-popover,#kup-component .fc-row,#kup-component .fc-scrollgrid,#kup-component tbody,#kup-component td{border-color:var(--kup_calendar_border_color)}#kup-component .fc-col-header-cell{background:var(--kup_calendar_header_background_color);color:var(--kup_calendar_header_color)}#kup-component .fc-h-event{background:none;border:none}#kup-component .fc-list-event-dot{border-color:var(--kup_calendar_event_background_color)}#kup-component .fc-list-day-cushion{background:var(--kup_calendar_header_background_color);color:var(--kup_calendar_header_color);font-family:var(--kup-font-family);font-size:var(--kup-heading-01-font-size, 14px);line-height:20px;font-weight:600;letter-spacing:0.16px}#kup-component .fc-list-event:hover td{background:var(--kup-hover-background-color);color:var(--kup-hover-color)}#kup-component .fc-daygrid-event,#kup-component .fc-timegrid-event{background:var(--kup_calendar_event_background_color);border:none;border-color:var(--kup_calendar_event_background_color);color:var(--kup_calendar_event_color)}#kup-component .fc-event{padding:0.5rem}#kup-component .fc-event-main{color:inherit;display:flex}#kup-component .fc-event-title .fc-event-time{padding:0.25em}#kup-component .fc-event-time{white-space:pre}#kup-component td.fc-day-today{background-color:var(--kup_calendar_today_background_color);border-top:2px solid var(--kup_calendar_border_top_color)}#kup-component td.fc-day-sun,#kup-component td.fc-day-sat{background-color:var(--kup_calendar_no_work_day_background_color);color:var(--kup_calendar_no_work_day_color);opacity:0.7}@media (max-width: 599px){.navigation{flex-direction:column}.calendar{height:100%}.calendar .fc-view-harness{min-height:450px}.fc-event{display:flex;flex-direction:column;padding:0.2rem;gap:var(--kup-space-03)}.fc-event .fc-event-main{display:flex;flex-direction:column}.fc-event .fc-daygrid-event-dot{display:none}.navigation .navigation__left{font-size:20px;gap:8px}.navigation .navigation__right .f-chip .chip-set .chip-set__item{font-size:16px}}@media (min-width: 599px){#kup-component .fc-daygrid-event{align-items:baseline;white-space:pre-line}}";
13962
14800
  const KupCalendarStyle0 = kupCalendarCss;
13963
14801
 
13964
14802
  const KupCalendar$1 = /*@__PURE__*/ proxyCustomElement(class KupCalendar extends H$2 {