@globalpayments/vega 2.58.0 → 2.59.1

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 (946) hide show
  1. package/dist/cjs/{app-globals-26e2fe1e.js → app-globals-64aff1a9.js} +25 -12
  2. package/dist/cjs/{brand-switch-state-controller-slimmer-5efa1b24.js → brand-switch-state-controller-slimmer-b83a4596.js} +1 -1
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-96240a0e.js → child-nodes-event-prevent-slimmer-5df43771.js} +1 -1
  4. package/dist/cjs/{child-nodes-notify-observer-slimmer-30ba81ac.js → child-nodes-notify-observer-slimmer-34ac3bfc.js} +1 -1
  5. package/dist/cjs/{code-block-7650c868.js → code-block-4bfae76d.js} +2128 -990
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-a6e4e5bc.js → component-value-history-controller-slimmer.abstract-34f4577a.js} +112 -54
  7. package/dist/cjs/content-state-b82b74de.js +3692 -0
  8. package/dist/cjs/{dark-mode-state-controller-slimmer-add5d8a8.js → dark-mode-state-controller-slimmer-17022f93.js} +1 -1
  9. package/dist/cjs/{dark-mode-style-controller-f9a32d68.js → dark-mode-style-controller-ab0703e1.js} +1 -1
  10. package/dist/cjs/{deprecated-property-slimmer-4f15005f.js → deprecated-property-slimmer-1eb8f031.js} +1 -1
  11. package/dist/cjs/{design-token-e771bb16.js → design-token-0b1315f2.js} +1 -1
  12. package/dist/cjs/{dom-node-subject-factory-769dd00f.js → dom-node-subject-factory-bad99695.js} +1 -1
  13. package/dist/cjs/{dom-node-subject-observer-factory-5aa4cc83.js → dom-node-subject-observer-factory-df6e6df0.js} +1 -1
  14. package/dist/cjs/{element-appender-slimmer-7f98d16b.js → element-appender-slimmer-f14737af.js} +7 -7
  15. package/dist/cjs/{event-emit-slimmer-6154c759.js → event-emit-slimmer-efc70b94.js} +3 -3
  16. package/dist/cjs/{form-field-controller-slimmer-7bb7df10.js → form-field-controller-slimmer-772d1892.js} +24 -24
  17. package/dist/cjs/{image-annotation-action-6715d6f3.js → image-annotation-action-a3146135.js} +130 -29
  18. package/dist/cjs/{index-7700600c.js → index-00ba6623.js} +23 -4
  19. package/dist/cjs/{index-ee4bc191.js → index-10199ee8.js} +2 -2
  20. package/dist/cjs/index.cjs.js +23 -23
  21. package/dist/cjs/{inject-keyboard-manager-f1f781b7.js → inject-keyboard-manager-70382bae.js} +1 -1
  22. package/dist/cjs/{internal-vega-event-manager-e98944ac.js → internal-vega-event-manager-83065493.js} +1 -1
  23. package/dist/cjs/{keyboard-manager-0be55fb9.js → keyboard-manager-6858915b.js} +1 -1
  24. package/dist/cjs/{keyboard-manager-slimmer-92c7227b.js → keyboard-manager-slimmer-faca2038.js} +1 -1
  25. package/dist/cjs/loader.cjs.js +16 -14
  26. package/dist/cjs/{object-bbd4ed7f.js → object-e2e28e3d.js} +13 -0
  27. package/dist/cjs/{public-rules-036795a4.js → public-rules-26467413.js} +11 -9
  28. package/dist/cjs/{responsive-format-facade-d164ced7.js → responsive-format-facade-d2e03695.js} +4 -4
  29. package/dist/cjs/{rich-text-editor-required-rule-91eb0e22.js → rich-text-editor-required-rule-026c8c3f.js} +1 -1
  30. package/dist/cjs/{static-subject-title-7e7d791a.js → static-subject-title-85732e0f.js} +2 -0
  31. package/dist/cjs/string-39438062.js +24 -0
  32. package/dist/cjs/{string-input-formatter-slimmer-dc1747ad.js → string-input-formatter-slimmer-1b757bad.js} +3 -3
  33. package/dist/cjs/{style-formatter-3e7af35b.js → style-formatter-effb0730.js} +1 -1
  34. package/dist/cjs/{sub-state-notify-slimmer-409bbd1a.js → sub-state-notify-slimmer-943eb7cc.js} +2 -2
  35. package/dist/cjs/{sub-state-observer-slimmer-93d0a609.js → sub-state-observer-slimmer-0788232a.js} +3 -3
  36. package/dist/cjs/{translation-de7e351e.js → translation-cde4dce3.js} +31 -1
  37. package/dist/cjs/{translation-slimmer-83bdb9fe.js → translation-slimmer-af399096.js} +1 -1
  38. package/dist/cjs/{ui-6c069604.js → ui-4ce1fa08.js} +10 -0
  39. package/dist/cjs/vega-accordion.cjs.entry.js +17 -15
  40. package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
  41. package/dist/cjs/vega-app-header-button.cjs.entry.js +18 -16
  42. package/dist/cjs/vega-backdrop.cjs.entry.js +2 -2
  43. package/dist/cjs/vega-banner.cjs.entry.js +6 -6
  44. package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
  45. package/dist/cjs/vega-box.cjs.entry.js +16 -14
  46. package/dist/cjs/vega-brand-logo.cjs.entry.js +4 -4
  47. package/dist/cjs/vega-breadcrumb.cjs.entry.js +7 -7
  48. package/dist/cjs/vega-button-circle.cjs.entry.js +18 -16
  49. package/dist/cjs/vega-button-group_2.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-button-link.cjs.entry.js +7 -7
  51. package/dist/cjs/vega-button.cjs.entry.js +17 -15
  52. package/dist/cjs/{vega-calendar_3.cjs.entry.js → vega-calendar_4.cjs.entry.js} +1615 -1096
  53. package/dist/cjs/vega-card.cjs.entry.js +15 -13
  54. package/dist/cjs/vega-carousel.cjs.entry.js +17 -16
  55. package/dist/cjs/vega-checkbox_2.cjs.entry.js +14 -14
  56. package/dist/cjs/vega-chip.cjs.entry.js +18 -16
  57. package/dist/cjs/vega-code-block.cjs.entry.js +22 -22
  58. package/dist/cjs/vega-color-picker.cjs.entry.js +12 -12
  59. package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
  60. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  61. package/dist/cjs/vega-date-picker_2.cjs.entry.js +25 -24
  62. package/dist/cjs/vega-dialog_2.cjs.entry.js +19 -18
  63. package/dist/cjs/vega-divider.cjs.entry.js +15 -13
  64. package/dist/cjs/vega-dropdown_5.cjs.entry.js +37 -26
  65. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  66. package/dist/cjs/vega-field-error.cjs.entry.js +3 -2
  67. package/dist/cjs/vega-field-label.cjs.entry.js +6 -6
  68. package/dist/cjs/vega-file-uploader.cjs.entry.js +13 -13
  69. package/dist/cjs/vega-flag-icon.cjs.entry.js +15 -13
  70. package/dist/cjs/vega-flex.cjs.entry.js +16 -14
  71. package/dist/cjs/vega-font.cjs.entry.js +15 -13
  72. package/dist/cjs/vega-form.cjs.entry.js +108 -18
  73. package/dist/cjs/vega-grid.cjs.entry.js +15 -13
  74. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  75. package/dist/cjs/vega-icon.cjs.entry.js +15 -13
  76. package/dist/cjs/vega-image-uploader.cjs.entry.js +21 -20
  77. package/dist/cjs/vega-input-credit-card.cjs.entry.js +13 -13
  78. package/dist/cjs/vega-input-numeric.cjs.entry.js +16 -16
  79. package/dist/cjs/vega-input-phone-number.cjs.entry.js +18 -17
  80. package/dist/cjs/vega-input-range.cjs.entry.js +14 -14
  81. package/dist/cjs/vega-input-select.cjs.entry.js +20 -19
  82. package/dist/cjs/vega-input.cjs.entry.js +15 -15
  83. package/dist/cjs/{vega-internal-event-id-bda08efa.js → vega-internal-event-id-ae6e2c13.js} +7 -1
  84. package/dist/cjs/vega-item-toggle.cjs.entry.js +8 -8
  85. package/dist/cjs/vega-left-nav_5.cjs.entry.js +21 -20
  86. package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
  87. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +14 -12
  88. package/dist/cjs/vega-page-notification_2.cjs.entry.js +4 -4
  89. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +7 -7
  90. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +8 -8
  91. package/dist/cjs/vega-pagination.cjs.entry.js +18 -16
  92. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  93. package/dist/cjs/vega-popover_2.cjs.entry.js +43 -20
  94. package/dist/cjs/vega-progress-tracker.cjs.entry.js +8 -8
  95. package/dist/cjs/vega-radio_2.cjs.entry.js +16 -16
  96. package/dist/cjs/vega-rich-text-content.cjs.entry.js +273 -175
  97. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +709 -1496
  98. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  99. package/dist/cjs/vega-segment-control.cjs.entry.js +6 -6
  100. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +20 -19
  101. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +15 -15
  102. package/dist/cjs/vega-sidenav_3.cjs.entry.js +18 -16
  103. package/dist/cjs/vega-signature-capture.cjs.entry.js +20 -20
  104. package/dist/cjs/{vega-skeleton-loader-controller-d534f5a1.js → vega-skeleton-loader-controller-b1971f43.js} +3 -3
  105. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  106. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  107. package/dist/cjs/vega-stepper.cjs.entry.js +13 -13
  108. package/dist/cjs/vega-tab-group_2.cjs.entry.js +8 -8
  109. package/dist/cjs/vega-table_8.cjs.entry.js +20 -19
  110. package/dist/cjs/vega-text.cjs.entry.js +2 -2
  111. package/dist/cjs/vega-textarea.cjs.entry.js +13 -13
  112. package/dist/cjs/vega-time-picker_2.cjs.entry.js +23 -22
  113. package/dist/cjs/vega-toggle-switch.cjs.entry.js +12 -12
  114. package/dist/cjs/vega-tooltip_2.cjs.entry.js +19 -18
  115. package/dist/cjs/vega.cjs.js +16 -14
  116. package/dist/collection/collection-manifest.json +8 -6
  117. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +3 -0
  118. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.js +83 -0
  119. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.js +15 -2
  120. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.js +16 -0
  121. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.js +12 -0
  122. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.js +12 -0
  123. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +14 -0
  124. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.js +13 -0
  125. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +53 -2
  126. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +68 -0
  127. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.js +5 -2
  128. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.js +10 -1
  129. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +3 -4
  130. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.js +3 -3
  131. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.js +5 -2
  132. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.js +1 -1
  133. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +61 -23
  134. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +1 -2
  135. package/dist/collection/components/vega-calendar/utils/index.js +16 -10
  136. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +5 -32
  137. package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.js +0 -5
  138. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/assets/clock.js +3 -0
  139. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/assets/close.js +3 -0
  140. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/controllers/vega-calendar-event-preview-state-controller.js +46 -0
  141. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +81 -0
  142. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.css +86 -0
  143. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.js +56 -0
  144. package/dist/collection/components/vega-calendar/vega-calendar.css +10 -0
  145. package/dist/collection/components/vega-calendar/vega-calendar.js +37 -0
  146. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +12 -3
  147. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +0 -1
  148. package/dist/collection/components/vega-field-error/slimmers/controllers/vega-field-error-message-controller.js +1 -0
  149. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.js +80 -0
  150. package/dist/collection/components/vega-form/vega-form.js +47 -0
  151. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +4 -1
  152. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.css +2521 -1
  153. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.js +42 -1
  154. package/dist/collection/components/vega-popover/vega-popover.js +36 -0
  155. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +3 -15
  156. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +81 -16
  157. package/dist/collection/components/vega-rich-text-editor/assets/display-code.js +3 -0
  158. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +6 -5
  159. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +90 -26
  160. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.js +15 -0
  161. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.js +15 -0
  162. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-link-group-strategy.js +18 -4
  163. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +1 -0
  164. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-split-text-strategy.js +6 -1
  165. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +15 -1
  166. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/{block-append-blocks-strategy.js → append-children-strategy.js} +3 -2
  167. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/{block-delete-text-content-strategy.js → block-delete-text-or-decorator-node-strategy.js} +60 -12
  168. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-image-into-text-strategy.js +7 -7
  169. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-with-blocks-strategy.js +2 -2
  170. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.js +38 -30
  171. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-merge-nodes-strategy.js +4 -4
  172. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-nodes-strategy.js +2 -2
  173. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-image-node-strategy.js +4 -4
  174. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.js +2 -2
  175. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.js +4 -4
  176. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +6 -6
  177. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-unlink-link-group-strategy.js +24 -0
  178. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.js +2 -2
  179. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +4 -4
  180. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-link-group-strategy.js +34 -0
  181. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-block-insert-image-strategy.js +9 -9
  182. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-strategy.js +2 -2
  183. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-with-blocks-strategy.js +6 -6
  184. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-after-strategy.js +15 -0
  185. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-before-strategy.js +38 -0
  186. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-text-to-decorator-node-strategy.js +37 -0
  187. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/link-group-node-split-strategy.js +31 -0
  188. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-insert-image-strategy.js +2 -2
  189. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.js +15 -15
  190. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +5 -5
  191. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +10 -10
  192. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +13 -13
  193. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/node-update-text-strategy.js +2 -2
  194. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/remove-children-strategy.js +26 -0
  195. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.js +2 -2
  196. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.js +23 -0
  197. package/dist/collection/components/vega-rich-text-editor/dto/actions/append-child-nodes-action.js +7 -3
  198. package/dist/collection/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.js +20 -0
  199. package/dist/collection/components/vega-rich-text-editor/dto/actions/delete-link-group-action.js +10 -0
  200. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-children-after-block.js +14 -0
  201. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-children-before-block.js +14 -0
  202. package/dist/collection/components/vega-rich-text-editor/dto/actions/{break-single-block-action.js → insert-new-paragraph-action.js} +3 -3
  203. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-text-to-decorator-node-action.js +17 -0
  204. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-annotation-action.js +2 -1
  205. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-group-annotation-action.js +2 -1
  206. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-group-node-split-action.js +11 -0
  207. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +10 -7
  208. package/dist/collection/components/vega-rich-text-editor/dto/actions/remove-child-action.js +4 -5
  209. package/dist/collection/components/vega-rich-text-editor/dto/actions/unlink-link-group-action.js +11 -0
  210. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +20 -0
  211. package/dist/collection/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.js +2 -0
  212. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +13 -5
  213. package/dist/collection/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.js +2 -0
  214. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +21 -14
  215. package/dist/collection/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.js +12 -0
  216. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.js +80 -0
  217. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.js +54 -0
  218. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +67 -0
  219. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +26 -10
  220. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +17 -8
  221. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +8 -2
  222. package/dist/collection/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.js +68 -0
  223. package/dist/collection/components/vega-rich-text-editor/dto/annotations/internal-wrapper-annotation.js +41 -0
  224. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +13 -5
  225. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +16 -11
  226. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +92 -0
  227. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +41 -0
  228. package/dist/collection/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.js +2 -0
  229. package/dist/collection/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.js +42 -0
  230. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +9 -9
  231. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +3 -7
  232. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +74 -12
  233. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +9 -9
  234. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +116 -4
  235. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +10 -2
  236. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +78 -0
  237. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +17 -21
  238. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +66 -12
  239. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +20 -18
  240. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +116 -37
  241. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +70 -33
  242. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +9 -2
  243. package/dist/collection/components/vega-rich-text-editor/dto/nodes/decorator-node.js +58 -0
  244. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +45 -19
  245. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +145 -0
  246. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +163 -21
  247. package/dist/collection/components/vega-rich-text-editor/dto/range.js +22 -33
  248. package/dist/collection/components/vega-rich-text-editor/dto/renderers/base-renderer.js +5 -0
  249. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +7 -23
  250. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +15 -93
  251. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js +0 -9
  252. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/html-block-renderer.js +12 -0
  253. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -5
  254. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +125 -0
  255. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +2 -6
  256. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  257. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +2 -27
  258. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +70 -7
  259. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +2 -28
  260. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +19 -5
  261. package/dist/collection/components/vega-rich-text-editor/dto/renderers/renderer-factory.js +47 -0
  262. package/dist/collection/components/vega-rich-text-editor/dto/setup.js +69 -0
  263. package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +83 -0
  264. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +5 -0
  265. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +53 -29
  266. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/focus-controller.js +13 -5
  267. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/annotation-generator-strategy.abstract.js +5 -0
  268. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/bold-annotaion-handler.js +33 -0
  269. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/code-annotation-handler.js +33 -0
  270. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/color-annotation-handler.js +49 -0
  271. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-attribute-annotation-handler.js +48 -0
  272. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-class-annotation-handler.js +36 -0
  273. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.js +48 -0
  274. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.js +66 -0
  275. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-alt-annotation-handler.js +19 -0
  276. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-size-annotation-handler.js +32 -0
  277. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/indent-annotation-handler.js +53 -0
  278. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.js +99 -0
  279. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/italic-annotation-handler.js +32 -0
  280. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.js +53 -0
  281. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/strike-through-annotation-handler.js +34 -0
  282. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-align-annotation-handler.js +57 -0
  283. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +120 -0
  284. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/underline-annotation-handler.js +32 -0
  285. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +38 -232
  286. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +34 -19
  287. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +19 -33
  288. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +4 -3
  289. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.js +33 -0
  290. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-text-node-strategy.js +33 -0
  291. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.js +99 -0
  292. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.js +5 -21
  293. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.js +8 -48
  294. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.js +46 -0
  295. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +59 -10
  296. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.js +8 -5
  297. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/plain-text-to-text-node-strategy.js +35 -0
  298. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.js +5 -21
  299. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.js +11 -6
  300. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.js +8 -5
  301. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.js +9 -9
  302. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +2 -2
  303. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.js +8 -22
  304. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +2 -2
  305. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +13 -15
  306. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-text-handler.js +36 -28
  307. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +6 -3
  308. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-image-controller.js +3 -3
  309. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +75 -5
  310. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.js +39 -4
  311. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +11 -0
  312. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +41 -5
  313. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +2 -2
  314. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -2
  315. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +2 -2
  316. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +2 -2
  317. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +2 -2
  318. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +2 -2
  319. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +2 -2
  320. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.js +2 -2
  321. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -2
  322. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.js +2 -2
  323. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.js +2 -2
  324. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.js +2 -2
  325. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -2
  326. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +2 -2
  327. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +2 -2
  328. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +3 -2
  329. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +2 -2
  330. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +64 -0
  331. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +2 -2
  332. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +2 -2
  333. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +5 -4
  334. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +10 -3
  335. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +2 -2
  336. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +37 -0
  337. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +41 -3
  338. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.js +2 -3
  339. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +8 -9
  340. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +15 -13
  341. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.js +8 -8
  342. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-item-strategy-register.test.js +12 -12
  343. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.js +3 -2
  344. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-update-annotation-map-strategy.test.js +2 -2
  345. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +34 -12
  346. package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-actions.test.js +1 -0
  347. package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +258 -28
  348. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +124 -0
  349. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/image-block.test.js +10 -0
  350. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/text-block.test.js +59 -0
  351. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +2613 -0
  352. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +29 -0
  353. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +103 -4
  354. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/custom-attribute-annotation-handler.test.js +49 -0
  355. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/element-to-text-node-strategy.test.js +38 -0
  356. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/html-element-to-annotation-generator.test.js +26 -0
  357. package/dist/collection/components/vega-rich-text-editor/test/spec-utils.js +32 -0
  358. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +6 -2
  359. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.css +3 -0
  360. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +27 -0
  361. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.css +7 -32
  362. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +67 -2
  363. package/dist/collection/constants/ui.js +1 -0
  364. package/dist/collection/helpers/calendar/calendar-date.js +12 -0
  365. package/dist/collection/helpers/calendar/calendar-event.js +24 -0
  366. package/dist/collection/helpers/calendar/test/calendar-date.test.js +4 -0
  367. package/dist/collection/helpers/calendar/test/calendar-event.test.js +57 -0
  368. package/dist/collection/helpers/calendar/utils.js +38 -0
  369. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +1 -0
  370. package/dist/collection/helpers/code-format/code-formatter.js +116 -0
  371. package/dist/collection/helpers/code-format/test/code-formatter.test.js +362 -0
  372. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +4 -1
  373. package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +37 -0
  374. package/dist/collection/helpers/rte-manager/dto-class-manager.js +51 -0
  375. package/dist/collection/helpers/rte-manager/dto-renderer-manager.js +54 -0
  376. package/dist/collection/helpers/rte-manager/element-dto-class-strategy-manager.js +56 -0
  377. package/dist/collection/helpers/rte-manager/rte.manager.test.js +94 -0
  378. package/dist/collection/helpers/slimmers/field-error-controller-silmmer.js +4 -6
  379. package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +12 -10
  380. package/dist/collection/helpers/slimmers/global/vega-translate-observer-slimmer.js +17 -4
  381. package/dist/collection/helpers/slimmers/test/field-error-controller-slimmer.test.js +1 -0
  382. package/dist/collection/helpers/slimmers/test/global/vega-translate-observer-slimmer.test.js +89 -0
  383. package/dist/collection/helpers/translation/locales/en.js +30 -0
  384. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +30 -0
  385. package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +16 -14
  386. package/dist/collection/polyfill/shadow-selection/test/shadow-selection-polyfill.test.js +1 -0
  387. package/dist/collection/polyfill/test-polyfill/unit/methods.js +9 -0
  388. package/dist/collection/utils/object.js +12 -0
  389. package/dist/collection/utils/string.js +10 -0
  390. package/dist/collection/utils/test/object.test.js +27 -1
  391. package/dist/collection/utils/ui.js +9 -0
  392. package/dist/esm/{app-globals-ee6a1250.js → app-globals-05dbca3e.js} +25 -12
  393. package/dist/esm/{brand-switch-state-controller-slimmer-05c85e6d.js → brand-switch-state-controller-slimmer-d6e4d217.js} +1 -1
  394. package/dist/esm/{child-nodes-event-prevent-slimmer-b59a578e.js → child-nodes-event-prevent-slimmer-6b5b31f5.js} +1 -1
  395. package/dist/esm/{child-nodes-notify-observer-slimmer-eeed5986.js → child-nodes-notify-observer-slimmer-78f77c2c.js} +1 -1
  396. package/dist/esm/{code-block-7bd4cb87.js → code-block-3d519665.js} +2107 -970
  397. package/dist/esm/{component-value-history-controller-slimmer.abstract-41c58caf.js → component-value-history-controller-slimmer.abstract-8b5be007.js} +112 -54
  398. package/dist/esm/content-state-73900a67.js +3682 -0
  399. package/dist/esm/{dark-mode-state-controller-slimmer-f1c2c299.js → dark-mode-state-controller-slimmer-0c7d1c77.js} +1 -1
  400. package/dist/esm/{dark-mode-style-controller-ea798fc8.js → dark-mode-style-controller-3bbb32dc.js} +1 -1
  401. package/dist/esm/{deprecated-property-slimmer-32575f02.js → deprecated-property-slimmer-2c14df89.js} +1 -1
  402. package/dist/esm/{design-token-23522f5c.js → design-token-dbc8c235.js} +1 -1
  403. package/dist/esm/{dom-node-subject-factory-6374611f.js → dom-node-subject-factory-202655e7.js} +1 -1
  404. package/dist/esm/{dom-node-subject-observer-factory-c345ca2e.js → dom-node-subject-observer-factory-999e21e3.js} +1 -1
  405. package/dist/esm/{element-appender-slimmer-042df95a.js → element-appender-slimmer-6ad38a9b.js} +7 -7
  406. package/dist/esm/{event-emit-slimmer-b5cb9b81.js → event-emit-slimmer-40973ec2.js} +3 -3
  407. package/dist/esm/{form-field-controller-slimmer-f0982f11.js → form-field-controller-slimmer-47820eaa.js} +24 -24
  408. package/dist/esm/{image-annotation-action-1e88f5a0.js → image-annotation-action-4ebed11f.js} +128 -29
  409. package/dist/esm/{index-d0a47531.js → index-057d0f70.js} +23 -4
  410. package/dist/esm/{index-fb3b74bd.js → index-18a340fb.js} +2 -2
  411. package/dist/esm/index.js +16 -16
  412. package/dist/esm/{inject-keyboard-manager-5141d09a.js → inject-keyboard-manager-a28dfee4.js} +1 -1
  413. package/dist/esm/{internal-vega-event-manager-d80c53c5.js → internal-vega-event-manager-526f8ed1.js} +1 -1
  414. package/dist/esm/{keyboard-manager-3ffe81b0.js → keyboard-manager-fa6355cb.js} +1 -1
  415. package/dist/esm/{keyboard-manager-slimmer-751e98f5.js → keyboard-manager-slimmer-818050ee.js} +1 -1
  416. package/dist/esm/loader.js +16 -14
  417. package/dist/esm/{object-261e7344.js → object-66c37948.js} +13 -1
  418. package/dist/esm/{public-rules-287d4d77.js → public-rules-f28aca10.js} +11 -9
  419. package/dist/esm/{responsive-format-facade-d2632288.js → responsive-format-facade-81b72f39.js} +4 -4
  420. package/dist/esm/{rich-text-editor-required-rule-69d5f035.js → rich-text-editor-required-rule-c4ba68b8.js} +1 -1
  421. package/dist/esm/{static-subject-title-ca83d6b6.js → static-subject-title-633b3474.js} +2 -1
  422. package/dist/esm/string-a953eafc.js +21 -0
  423. package/dist/esm/{string-input-formatter-slimmer-09478e0d.js → string-input-formatter-slimmer-b144e8d7.js} +3 -3
  424. package/dist/esm/{style-formatter-f7951677.js → style-formatter-7d817448.js} +1 -1
  425. package/dist/esm/{sub-state-notify-slimmer-0a6c3cbb.js → sub-state-notify-slimmer-b3524c09.js} +2 -2
  426. package/dist/esm/{sub-state-observer-slimmer-53eec5fb.js → sub-state-observer-slimmer-c823d69c.js} +3 -3
  427. package/dist/esm/{translation-a6eacb5f.js → translation-833d9ef4.js} +31 -1
  428. package/dist/esm/{translation-slimmer-f28e4708.js → translation-slimmer-c83b52c1.js} +1 -1
  429. package/dist/esm/{ui-7d177fb0.js → ui-c20be16d.js} +10 -1
  430. package/dist/esm/vega-accordion.entry.js +17 -15
  431. package/dist/esm/vega-app-footer.entry.js +4 -4
  432. package/dist/esm/vega-app-header-button.entry.js +18 -16
  433. package/dist/esm/vega-backdrop.entry.js +2 -2
  434. package/dist/esm/vega-banner.entry.js +6 -6
  435. package/dist/esm/vega-bar-chart.entry.js +1 -1
  436. package/dist/esm/vega-box.entry.js +16 -14
  437. package/dist/esm/vega-brand-logo.entry.js +4 -4
  438. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  439. package/dist/esm/vega-button-circle.entry.js +18 -16
  440. package/dist/esm/vega-button-group_2.entry.js +10 -10
  441. package/dist/esm/vega-button-link.entry.js +7 -7
  442. package/dist/esm/vega-button.entry.js +17 -15
  443. package/dist/esm/{vega-calendar_3.entry.js → vega-calendar_4.entry.js} +1615 -1097
  444. package/dist/esm/vega-card.entry.js +15 -13
  445. package/dist/esm/vega-carousel.entry.js +17 -16
  446. package/dist/esm/vega-checkbox_2.entry.js +14 -14
  447. package/dist/esm/vega-chip.entry.js +18 -16
  448. package/dist/esm/vega-code-block.entry.js +19 -19
  449. package/dist/esm/vega-color-picker.entry.js +12 -12
  450. package/dist/esm/vega-combo-box.entry.js +15 -15
  451. package/dist/esm/vega-counter-badge.entry.js +1 -1
  452. package/dist/esm/vega-date-picker_2.entry.js +25 -24
  453. package/dist/esm/vega-dialog_2.entry.js +19 -18
  454. package/dist/esm/vega-divider.entry.js +15 -13
  455. package/dist/esm/vega-dropdown_5.entry.js +37 -26
  456. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  457. package/dist/esm/vega-field-error.entry.js +3 -2
  458. package/dist/esm/vega-field-label.entry.js +6 -6
  459. package/dist/esm/vega-file-uploader.entry.js +13 -13
  460. package/dist/esm/vega-flag-icon.entry.js +15 -13
  461. package/dist/esm/vega-flex.entry.js +16 -14
  462. package/dist/esm/vega-font.entry.js +15 -13
  463. package/dist/esm/vega-form.entry.js +109 -19
  464. package/dist/esm/vega-grid.entry.js +15 -13
  465. package/dist/esm/vega-hint.entry.js +1 -1
  466. package/dist/esm/vega-icon.entry.js +15 -13
  467. package/dist/esm/vega-image-uploader.entry.js +21 -20
  468. package/dist/esm/vega-input-credit-card.entry.js +13 -13
  469. package/dist/esm/vega-input-numeric.entry.js +16 -16
  470. package/dist/esm/vega-input-phone-number.entry.js +18 -17
  471. package/dist/esm/vega-input-range.entry.js +14 -14
  472. package/dist/esm/vega-input-select.entry.js +20 -19
  473. package/dist/esm/vega-input.entry.js +15 -15
  474. package/dist/esm/{vega-internal-event-id-4072659b.js → vega-internal-event-id-b7c865de.js} +5 -2
  475. package/dist/esm/vega-item-toggle.entry.js +8 -8
  476. package/dist/esm/vega-left-nav_5.entry.js +21 -20
  477. package/dist/esm/vega-line-chart.entry.js +1 -1
  478. package/dist/esm/vega-loader-wrapper_2.entry.js +14 -12
  479. package/dist/esm/vega-page-notification_2.entry.js +4 -4
  480. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +7 -7
  481. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +8 -8
  482. package/dist/esm/vega-pagination.entry.js +18 -16
  483. package/dist/esm/vega-pie-chart.entry.js +1 -1
  484. package/dist/esm/vega-popover_2.entry.js +43 -20
  485. package/dist/esm/vega-progress-tracker.entry.js +8 -8
  486. package/dist/esm/vega-radio_2.entry.js +16 -16
  487. package/dist/esm/vega-rich-text-content.entry.js +273 -175
  488. package/dist/esm/vega-rich-text-editor_4.entry.js +693 -1480
  489. package/dist/esm/vega-section-title.entry.js +1 -1
  490. package/dist/esm/vega-segment-control.entry.js +6 -6
  491. package/dist/esm/vega-selection-chip_2.entry.js +20 -19
  492. package/dist/esm/vega-selection-tile_2.entry.js +15 -15
  493. package/dist/esm/vega-sidenav_3.entry.js +18 -16
  494. package/dist/esm/vega-signature-capture.entry.js +20 -20
  495. package/dist/esm/{vega-skeleton-loader-controller-3f6faa17.js → vega-skeleton-loader-controller-38864fcd.js} +3 -3
  496. package/dist/esm/vega-skeleton.entry.js +1 -1
  497. package/dist/esm/vega-slot-container.entry.js +1 -1
  498. package/dist/esm/vega-stepper.entry.js +13 -13
  499. package/dist/esm/vega-tab-group_2.entry.js +8 -8
  500. package/dist/esm/vega-table_8.entry.js +20 -19
  501. package/dist/esm/vega-text.entry.js +2 -2
  502. package/dist/esm/vega-textarea.entry.js +13 -13
  503. package/dist/esm/vega-time-picker_2.entry.js +23 -22
  504. package/dist/esm/vega-toggle-switch.entry.js +12 -12
  505. package/dist/esm/vega-tooltip_2.entry.js +19 -18
  506. package/dist/esm/vega.js +16 -14
  507. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +1 -0
  508. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +48 -0
  509. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +10 -0
  510. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.d.ts +8 -0
  511. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.d.ts +6 -0
  512. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.d.ts +6 -0
  513. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.d.ts +6 -0
  514. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.d.ts +6 -0
  515. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +8 -1
  516. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +18 -0
  517. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.d.ts +3 -1
  518. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.d.ts +3 -0
  519. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.d.ts +3 -1
  520. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +6 -1
  521. package/dist/types/components/vega-calendar/utils/index.d.ts +9 -8
  522. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.d.ts +0 -8
  523. package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +0 -2
  524. package/dist/types/components/vega-calendar/vega-calendar-event-preview/assets/clock.d.ts +3 -0
  525. package/dist/types/components/vega-calendar/vega-calendar-event-preview/assets/close.d.ts +3 -0
  526. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/controllers/vega-calendar-event-preview-state-controller.d.ts +16 -0
  527. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +13 -0
  528. package/dist/types/components/vega-calendar/vega-calendar-event-preview/types.d.ts +5 -0
  529. package/dist/types/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.d.ts +22 -0
  530. package/dist/types/components/vega-calendar/vega-calendar.d.ts +10 -0
  531. package/dist/types/components/vega-field-error/types.d.ts +2 -1
  532. package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.d.ts +29 -0
  533. package/dist/types/components/vega-form/types.d.ts +18 -0
  534. package/dist/types/components/vega-form/vega-form.d.ts +11 -1
  535. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +1 -0
  536. package/dist/types/components/vega-popover/vega-popover-content-box/vega-popover-content-box.d.ts +7 -0
  537. package/dist/types/components/vega-popover/vega-popover.d.ts +7 -1
  538. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +0 -2
  539. package/dist/types/components/vega-rich-text-editor/assets/display-code.d.ts +3 -0
  540. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +1 -0
  541. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +4 -4
  542. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +55 -27
  543. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.d.ts +15 -0
  544. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.d.ts +15 -0
  545. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/append-children-strategy.d.ts +13 -0
  546. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +4 -4
  547. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.d.ts +26 -0
  548. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.d.ts +11 -12
  549. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-unlink-link-group-strategy.d.ts +15 -0
  550. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.d.ts +2 -2
  551. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-link-group-strategy.d.ts +15 -0
  552. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-after-strategy.d.ts +13 -0
  553. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-before-strategy.d.ts +23 -0
  554. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-text-to-decorator-node-strategy.d.ts +18 -0
  555. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/link-group-node-split-strategy.d.ts +15 -0
  556. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.d.ts +3 -3
  557. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +5 -5
  558. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/remove-children-strategy.d.ts +17 -0
  559. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.d.ts +12 -0
  560. package/dist/types/components/vega-rich-text-editor/dto/actions/append-child-nodes-action.d.ts +6 -2
  561. package/dist/types/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.d.ts +17 -0
  562. package/dist/types/components/vega-rich-text-editor/dto/actions/delete-link-group-action.d.ts +7 -0
  563. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-children-after-block.d.ts +14 -0
  564. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-children-before-block.d.ts +14 -0
  565. package/dist/types/components/vega-rich-text-editor/dto/actions/{break-single-block-action.d.ts → insert-new-paragraph-action.d.ts} +2 -2
  566. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-text-to-decorator-node-action.d.ts +14 -0
  567. package/dist/types/components/vega-rich-text-editor/dto/actions/link-annotation-action.d.ts +3 -1
  568. package/dist/types/components/vega-rich-text-editor/dto/actions/link-group-annotation-action.d.ts +2 -1
  569. package/dist/types/components/vega-rich-text-editor/dto/actions/link-group-node-split-action.d.ts +10 -0
  570. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +12 -9
  571. package/dist/types/components/vega-rich-text-editor/dto/actions/remove-child-action.d.ts +3 -4
  572. package/dist/types/components/vega-rich-text-editor/dto/actions/unlink-link-group-action.d.ts +9 -0
  573. package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +20 -0
  574. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation.abstract.d.ts +2 -1
  575. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +18 -4
  576. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +7 -5
  577. package/dist/types/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.d.ts +2 -1
  578. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +9 -11
  579. package/dist/types/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.d.ts +20 -0
  580. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +44 -0
  581. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.d.ts +40 -0
  582. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.d.ts +48 -0
  583. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +5 -9
  584. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +10 -8
  585. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +5 -1
  586. package/dist/types/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.d.ts +37 -0
  587. package/dist/types/components/vega-rich-text-editor/dto/annotations/internal-wrapper-annotation.d.ts +31 -0
  588. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +7 -5
  589. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +10 -6
  590. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +49 -0
  591. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +25 -0
  592. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +18 -4
  593. package/dist/types/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.d.ts +31 -0
  594. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +5 -9
  595. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +3 -7
  596. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +9 -7
  597. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +5 -9
  598. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +70 -9
  599. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +7 -2
  600. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +42 -0
  601. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +10 -4
  602. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +33 -6
  603. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +9 -5
  604. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +29 -14
  605. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +20 -3
  606. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +7 -2
  607. package/dist/types/components/vega-rich-text-editor/dto/nodes/decorator-node.d.ts +41 -0
  608. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +10 -4
  609. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +116 -5
  610. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +59 -4
  611. package/dist/types/components/vega-rich-text-editor/dto/range.d.ts +0 -7
  612. package/dist/types/components/vega-rich-text-editor/dto/renderers/base-renderer.d.ts +9 -0
  613. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +7 -20
  614. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +9 -6
  615. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.d.ts +0 -8
  616. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/html-block-renderer.d.ts +8 -0
  617. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.d.ts +0 -2
  618. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +24 -0
  619. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +0 -2
  620. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +0 -3
  621. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +37 -0
  622. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +3 -16
  623. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +2 -0
  624. package/dist/types/components/vega-rich-text-editor/dto/renderers/renderer-factory.d.ts +24 -0
  625. package/dist/types/components/vega-rich-text-editor/dto/setup.d.ts +1 -0
  626. package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +61 -0
  627. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +13 -0
  628. package/dist/types/components/vega-rich-text-editor/interface.d.ts +172 -42
  629. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.d.ts +19 -0
  630. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/focus-controller.d.ts +1 -0
  631. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/annotation-generator-strategy.abstract.d.ts +16 -0
  632. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/bold-annotaion-handler.d.ts +25 -0
  633. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/code-annotation-handler.d.ts +25 -0
  634. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/color-annotation-handler.d.ts +25 -0
  635. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-attribute-annotation-handler.d.ts +35 -0
  636. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-class-annotation-handler.d.ts +28 -0
  637. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.d.ts +28 -0
  638. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.d.ts +26 -0
  639. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-alt-annotation-handler.d.ts +17 -0
  640. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-size-annotation-handler.d.ts +24 -0
  641. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/indent-annotation-handler.d.ts +24 -0
  642. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.d.ts +28 -0
  643. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/italic-annotation-handler.d.ts +25 -0
  644. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.d.ts +29 -0
  645. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/strike-through-annotation-handler.d.ts +25 -0
  646. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-align-annotation-handler.d.ts +27 -0
  647. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.d.ts +57 -0
  648. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/underline-annotation-handler.d.ts +25 -0
  649. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.d.ts +12 -85
  650. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +10 -2
  651. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +12 -3
  652. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +6 -4
  653. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.d.ts +14 -0
  654. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-text-node-strategy.d.ts +23 -0
  655. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.d.ts +34 -0
  656. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.d.ts +5 -4
  657. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.d.ts +3 -9
  658. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.d.ts +17 -0
  659. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.d.ts +20 -3
  660. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.d.ts +5 -5
  661. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/plain-text-to-text-node-strategy.d.ts +16 -0
  662. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.d.ts +5 -4
  663. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.d.ts +3 -2
  664. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.d.ts +5 -5
  665. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.d.ts +5 -4
  666. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.d.ts +0 -7
  667. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +0 -1
  668. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +20 -0
  669. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.d.ts +20 -3
  670. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -0
  671. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +6 -0
  672. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.d.ts +2 -2
  673. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +3 -2
  674. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.d.ts +2 -2
  675. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.d.ts +2 -2
  676. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.d.ts +2 -2
  677. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +2 -2
  678. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.d.ts +2 -2
  679. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.d.ts +2 -2
  680. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +3 -2
  681. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.d.ts +2 -2
  682. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.d.ts +2 -2
  683. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.d.ts +2 -2
  684. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +3 -2
  685. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.d.ts +2 -2
  686. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.d.ts +2 -2
  687. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +3 -2
  688. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.d.ts +2 -2
  689. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +14 -0
  690. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.d.ts +2 -2
  691. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.d.ts +3 -2
  692. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +3 -2
  693. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +7 -2
  694. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.d.ts +2 -2
  695. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +24 -0
  696. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +10 -2
  697. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.d.ts +1 -1
  698. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.d.ts +1 -1
  699. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.d.ts +1 -1
  700. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.d.ts +1 -1
  701. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/html-block.test.d.ts +1 -0
  702. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/text-block.test.d.ts +1 -1
  703. package/dist/types/components/vega-rich-text-editor/test/dto/content-state.test.d.ts +1 -1
  704. package/dist/types/components/vega-rich-text-editor/test/dto/nodes/text-node.test.d.ts +1 -1
  705. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/custom-attribute-annotation-handler.test.d.ts +1 -0
  706. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/element-to-text-node-strategy.test.d.ts +1 -0
  707. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/html-element-to-annotation-generator.test.d.ts +1 -0
  708. package/dist/types/components/vega-rich-text-editor/test/spec-utils.d.ts +15 -0
  709. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.d.ts +1 -0
  710. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +6 -0
  711. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +17 -1
  712. package/dist/types/components.d.ts +81 -2
  713. package/dist/types/constants/ui.d.ts +1 -1
  714. package/dist/types/helpers/calendar/calendar-date.d.ts +7 -0
  715. package/dist/types/helpers/calendar/calendar-event.d.ts +15 -1
  716. package/dist/types/helpers/calendar/utils.d.ts +18 -0
  717. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +2 -1
  718. package/dist/types/helpers/code-format/code-formatter.d.ts +34 -0
  719. package/dist/types/helpers/code-format/test/code-formatter.test.d.ts +1 -0
  720. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  721. package/dist/types/helpers/rte-manager/dto-action-strategy-manager.d.ts +13 -0
  722. package/dist/types/helpers/rte-manager/dto-class-manager.d.ts +38 -0
  723. package/dist/types/helpers/rte-manager/dto-renderer-manager.d.ts +44 -0
  724. package/dist/types/helpers/rte-manager/element-dto-class-strategy-manager.d.ts +42 -0
  725. package/dist/types/helpers/rte-manager/rte.manager.test.d.ts +1 -0
  726. package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +1 -1
  727. package/dist/types/helpers/slimmers/form-field-controller-slimmer.d.ts +1 -1
  728. package/dist/types/helpers/slimmers/global/vega-translate-observer-slimmer.d.ts +6 -0
  729. package/dist/types/helpers/slimmers/test/global/vega-translate-observer-slimmer.test.d.ts +1 -0
  730. package/dist/types/helpers/translation/interface.d.ts +31 -1
  731. package/dist/types/types/class.type.d.ts +3 -0
  732. package/dist/types/types/components.type.d.ts +10 -2
  733. package/dist/types/utils/object.d.ts +8 -0
  734. package/dist/types/utils/string.d.ts +7 -0
  735. package/dist/types/utils/ui.d.ts +7 -0
  736. package/dist/vega/index.esm.js +1 -1
  737. package/dist/vega/p-02841589.js +1 -0
  738. package/dist/vega/{p-81ed90d5.js → p-02b29c18.js} +1 -1
  739. package/dist/vega/{p-4c4ac1a5.entry.js → p-09ddae74.entry.js} +1 -1
  740. package/dist/vega/{p-1db2ba98.entry.js → p-0c247128.entry.js} +1 -1
  741. package/dist/vega/p-0cd89fb6.js +1 -0
  742. package/dist/vega/{p-e940bc37.js → p-0f0baac3.js} +1 -1
  743. package/dist/vega/{p-fcb5b40f.entry.js → p-12ed3141.entry.js} +1 -1
  744. package/dist/vega/p-13eca7f3.entry.js +1 -0
  745. package/dist/vega/p-17d517c8.entry.js +1 -0
  746. package/dist/vega/{p-f25570f5.js → p-1a195e28.js} +1 -1
  747. package/dist/vega/{p-8782abeb.js → p-1bd516c5.js} +1 -1
  748. package/dist/vega/p-1ff1deaf.entry.js +1 -0
  749. package/dist/vega/p-2004317b.entry.js +1 -0
  750. package/dist/vega/{p-7c348ac7.entry.js → p-26ef2066.entry.js} +1 -1
  751. package/dist/vega/{p-c69a6547.entry.js → p-27b5f69c.entry.js} +1 -1
  752. package/dist/vega/p-29e0d4c8.entry.js +1 -0
  753. package/dist/vega/{p-41465ad0.entry.js → p-2a66e2f7.entry.js} +1 -1
  754. package/dist/vega/p-351405f2.entry.js +1 -0
  755. package/dist/vega/p-369f38ed.entry.js +1 -0
  756. package/dist/vega/{p-82b18195.entry.js → p-36ae2dd3.entry.js} +1 -1
  757. package/dist/vega/p-36ed226a.js +1 -0
  758. package/dist/vega/p-42033e59.js +1 -0
  759. package/dist/vega/{p-832b59af.js → p-436f7e27.js} +1 -1
  760. package/dist/vega/{p-5bd3487e.js → p-4452e085.js} +1 -1
  761. package/dist/vega/{p-710da484.entry.js → p-446d0317.entry.js} +1 -1
  762. package/dist/vega/{p-012cbd8f.js → p-4474bc63.js} +1 -1
  763. package/dist/vega/{p-6dad2e5c.entry.js → p-476cc642.entry.js} +1 -1
  764. package/dist/vega/p-48a58baf.js +2 -0
  765. package/dist/vega/p-490f5e3f.entry.js +1 -0
  766. package/dist/vega/p-4996b853.entry.js +1 -0
  767. package/dist/vega/{p-bcdb235d.js → p-4a368e1e.js} +1 -1
  768. package/dist/vega/p-4b7edf72.entry.js +1 -0
  769. package/dist/vega/{p-4674c318.entry.js → p-4fc18f2f.entry.js} +1 -1
  770. package/dist/vega/p-51cce3f9.entry.js +1 -0
  771. package/dist/vega/p-521ace2d.js +1 -0
  772. package/dist/vega/{p-1f9a735a.entry.js → p-53d67971.entry.js} +1 -1
  773. package/dist/vega/p-555804a0.entry.js +1 -0
  774. package/dist/vega/{p-d5776087.js → p-575235c8.js} +1 -1
  775. package/dist/vega/p-59e990c7.entry.js +1 -0
  776. package/dist/vega/p-5f377954.js +1 -1
  777. package/dist/vega/{p-7d5ebd26.entry.js → p-606d1f7c.entry.js} +1 -1
  778. package/dist/vega/{p-4ab67150.entry.js → p-61d1f3cb.entry.js} +1 -1
  779. package/dist/vega/{p-fda6f8bc.js → p-63c9eb58.js} +1 -1
  780. package/dist/vega/p-675b9501.entry.js +1 -0
  781. package/dist/vega/{p-5f6b942c.entry.js → p-6b292628.entry.js} +1 -1
  782. package/dist/vega/p-707bb905.entry.js +1 -0
  783. package/dist/vega/{p-c9740710.entry.js → p-70939752.entry.js} +1 -1
  784. package/dist/vega/p-7183bd72.entry.js +1 -0
  785. package/dist/vega/p-73b487b0.entry.js +1 -0
  786. package/dist/vega/p-76de6b00.entry.js +1 -0
  787. package/dist/vega/p-7a3b142b.js +1 -0
  788. package/dist/vega/{p-9b08ed46.entry.js → p-7b1bb372.entry.js} +1 -1
  789. package/dist/vega/{p-4c871d0f.entry.js → p-7cd2fac8.entry.js} +1 -1
  790. package/dist/vega/{p-0c8bd757.js → p-7e8f055d.js} +1 -1
  791. package/dist/vega/p-7f087c8b.js +1 -0
  792. package/dist/vega/{p-904d1b43.js → p-846ae5fb.js} +1 -1
  793. package/dist/vega/{p-66e9d31a.entry.js → p-847dbae4.entry.js} +1 -1
  794. package/dist/vega/{p-397b5d91.entry.js → p-850a6305.entry.js} +1 -1
  795. package/dist/vega/p-86f17433.js +1 -0
  796. package/dist/vega/{p-acd9bfa4.js → p-8852361b.js} +1 -1
  797. package/dist/vega/{p-fe1512f9.entry.js → p-8a317208.entry.js} +1 -1
  798. package/dist/vega/p-8a877e12.js +1 -0
  799. package/dist/vega/{p-4a237308.js → p-8baacfc5.js} +1 -1
  800. package/dist/vega/p-9479866e.entry.js +1 -0
  801. package/dist/vega/{p-8c4f893b.js → p-9773c913.js} +1 -1
  802. package/dist/vega/{p-bd84b7b9.entry.js → p-9a74eb86.entry.js} +1 -1
  803. package/dist/vega/p-9f453b90.entry.js +1 -0
  804. package/dist/vega/{p-9afdcf65.js → p-a204a2b2.js} +1 -1
  805. package/dist/vega/p-a328d448.entry.js +1 -0
  806. package/dist/vega/{p-59282fc8.entry.js → p-a7baad6d.entry.js} +1 -1
  807. package/dist/vega/p-ad1b22b4.entry.js +1 -0
  808. package/dist/vega/{p-8e581755.entry.js → p-ae21e5f5.entry.js} +1 -1
  809. package/dist/vega/p-ae415e7e.entry.js +1 -0
  810. package/dist/vega/{p-613ee009.js → p-af464251.js} +1 -1
  811. package/dist/vega/p-b40adb9e.js +1 -0
  812. package/dist/vega/p-b4be8573.entry.js +1 -0
  813. package/dist/vega/{p-6e01f0a2.js → p-b5822a21.js} +1 -1
  814. package/dist/vega/p-b5bef48a.js +1 -0
  815. package/dist/vega/{p-f3bd26a1.entry.js → p-b73532c0.entry.js} +1 -1
  816. package/dist/vega/{p-d789b291.js → p-bbb96a13.js} +1 -1
  817. package/dist/vega/p-bca1f8f9.js +1 -0
  818. package/dist/vega/p-bdce4143.js +1 -0
  819. package/dist/vega/p-be8bbaa5.entry.js +1 -0
  820. package/dist/vega/p-bf0ced3c.js +1 -0
  821. package/dist/vega/p-bf19682d.js +1 -0
  822. package/dist/vega/p-bf6187f7.entry.js +1 -0
  823. package/dist/vega/{p-a4a0fcfd.entry.js → p-c5c5509c.entry.js} +2 -2
  824. package/dist/vega/{p-9540e3ed.entry.js → p-c81cb852.entry.js} +1 -1
  825. package/dist/vega/p-c9c2c8c6.entry.js +1 -0
  826. package/dist/vega/p-ca30b996.js +1 -0
  827. package/dist/vega/{p-091ab617.entry.js → p-cc20f01f.entry.js} +1 -1
  828. package/dist/vega/{p-500684e1.entry.js → p-cc5a3a1b.entry.js} +1 -1
  829. package/dist/vega/{p-f940b7f7.entry.js → p-d0fbbb7f.entry.js} +1 -1
  830. package/dist/vega/p-d3bcaa82.entry.js +1 -0
  831. package/dist/vega/{p-864de9a1.js → p-d4564bfd.js} +1 -1
  832. package/dist/vega/{p-c42ec0ac.entry.js → p-d45f79ce.entry.js} +1 -1
  833. package/dist/vega/{p-34dc3f71.entry.js → p-d72abacd.entry.js} +1 -1
  834. package/dist/vega/p-dbb06804.entry.js +1 -0
  835. package/dist/vega/{p-a1e50e6c.entry.js → p-dc5026e7.entry.js} +1 -1
  836. package/dist/vega/p-df647e48.entry.js +1 -0
  837. package/dist/vega/p-e989ce94.entry.js +1 -0
  838. package/dist/vega/{p-311f338d.entry.js → p-e9ad8223.entry.js} +1 -1
  839. package/dist/vega/p-e9d2e0dc.entry.js +1 -0
  840. package/dist/vega/{p-86a300e8.entry.js → p-ebbaa112.entry.js} +1 -1
  841. package/dist/vega/{p-24042f0c.entry.js → p-f47de801.entry.js} +1 -1
  842. package/dist/vega/p-f6b11a21.entry.js +1 -0
  843. package/dist/vega/p-f6d25220.js +1 -0
  844. package/dist/vega/p-f8e62e5e.entry.js +1 -0
  845. package/dist/vega/{p-9ce0bd82.entry.js → p-fc8badd3.entry.js} +2 -2
  846. package/dist/vega/p-fd6f90fd.entry.js +1 -0
  847. package/dist/vega/{p-42ec43ef.entry.js → p-fe6ea6cf.entry.js} +1 -1
  848. package/dist/vega/{p-92355996.entry.js → p-ffaee583.entry.js} +1 -1
  849. package/dist/vega/vega.esm.js +1 -1
  850. package/package.json +5 -3
  851. package/dist/cjs/content-state-fd5ad4a8.js +0 -1152
  852. package/dist/cjs/string-21427167.js +0 -13
  853. package/dist/cjs/types-a4295b11.js +0 -12
  854. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.js +0 -29
  855. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.js +0 -21
  856. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.js +0 -54
  857. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.js +0 -15
  858. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.js +0 -38
  859. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.js +0 -14
  860. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.js +0 -14
  861. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.js +0 -15
  862. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +0 -21
  863. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.js +0 -28
  864. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.js +0 -44
  865. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.js +0 -20
  866. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.js +0 -19
  867. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-blocks-after-block.js +0 -14
  868. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-blocks-before-block.js +0 -14
  869. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-nodes-after-node-action.js +0 -14
  870. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-nodes-before-node-action.js +0 -14
  871. package/dist/esm/content-state-a43e703e.js +0 -1146
  872. package/dist/esm/string-be824360.js +0 -11
  873. package/dist/esm/types-0cadfd73.js +0 -12
  874. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.d.ts +0 -12
  875. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-blocks-strategy.d.ts +0 -13
  876. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.d.ts +0 -16
  877. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.d.ts +0 -19
  878. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.d.ts +0 -19
  879. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.d.ts +0 -13
  880. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.d.ts +0 -23
  881. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.d.ts +0 -13
  882. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.d.ts +0 -13
  883. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.d.ts +0 -13
  884. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +0 -16
  885. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.d.ts +0 -20
  886. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.d.ts +0 -21
  887. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.d.ts +0 -15
  888. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.d.ts +0 -15
  889. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-blocks-after-block.d.ts +0 -13
  890. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-blocks-before-block.d.ts +0 -13
  891. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-nodes-after-node-action.d.ts +0 -13
  892. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-nodes-before-node-action.d.ts +0 -13
  893. package/dist/vega/p-083af15f.entry.js +0 -1
  894. package/dist/vega/p-0b5330e1.entry.js +0 -1
  895. package/dist/vega/p-0bb29d98.js +0 -1
  896. package/dist/vega/p-1792a352.entry.js +0 -1
  897. package/dist/vega/p-1a4f77de.entry.js +0 -1
  898. package/dist/vega/p-1a6dacc7.entry.js +0 -1
  899. package/dist/vega/p-21d26bb4.js +0 -2
  900. package/dist/vega/p-27a9ad35.entry.js +0 -1
  901. package/dist/vega/p-27ec0c07.entry.js +0 -1
  902. package/dist/vega/p-317920e6.entry.js +0 -1
  903. package/dist/vega/p-376b3ec7.entry.js +0 -1
  904. package/dist/vega/p-394594e9.entry.js +0 -1
  905. package/dist/vega/p-43263510.js +0 -1
  906. package/dist/vega/p-435451be.entry.js +0 -1
  907. package/dist/vega/p-472108bd.entry.js +0 -1
  908. package/dist/vega/p-47a4c625.js +0 -1
  909. package/dist/vega/p-48ae6f02.entry.js +0 -1
  910. package/dist/vega/p-48b24fd3.entry.js +0 -1
  911. package/dist/vega/p-5773a9a3.js +0 -1
  912. package/dist/vega/p-5fe47fe8.entry.js +0 -1
  913. package/dist/vega/p-61ea2d75.entry.js +0 -1
  914. package/dist/vega/p-63adca7b.entry.js +0 -1
  915. package/dist/vega/p-699032fc.entry.js +0 -1
  916. package/dist/vega/p-6be16084.js +0 -1
  917. package/dist/vega/p-71c65f7e.js +0 -1
  918. package/dist/vega/p-81279fea.entry.js +0 -1
  919. package/dist/vega/p-88e08a33.js +0 -1
  920. package/dist/vega/p-8e2b1dae.entry.js +0 -1
  921. package/dist/vega/p-8e662f26.js +0 -1
  922. package/dist/vega/p-8f8de5ab.entry.js +0 -1
  923. package/dist/vega/p-997a2064.entry.js +0 -1
  924. package/dist/vega/p-9a956a00.js +0 -1
  925. package/dist/vega/p-9d6003ef.js +0 -1
  926. package/dist/vega/p-a04491cc.entry.js +0 -1
  927. package/dist/vega/p-a1056063.entry.js +0 -1
  928. package/dist/vega/p-a7042a5a.entry.js +0 -1
  929. package/dist/vega/p-acf7667e.entry.js +0 -1
  930. package/dist/vega/p-b21b128c.entry.js +0 -1
  931. package/dist/vega/p-b75a8edb.entry.js +0 -1
  932. package/dist/vega/p-c21295cf.entry.js +0 -1
  933. package/dist/vega/p-ce5a3589.entry.js +0 -1
  934. package/dist/vega/p-d1355307.js +0 -1
  935. package/dist/vega/p-d1cb7f28.js +0 -1
  936. package/dist/vega/p-d661a5aa.entry.js +0 -1
  937. package/dist/vega/p-d7e0c57a.js +0 -1
  938. package/dist/vega/p-e1ed78db.js +0 -1
  939. package/dist/vega/p-e7b00bf0.js +0 -1
  940. package/dist/vega/p-ef84dc90.entry.js +0 -1
  941. package/dist/vega/p-f229d6d1.js +0 -1
  942. package/dist/vega/p-f27fcc7c.entry.js +0 -1
  943. package/dist/vega/p-f543e911.entry.js +0 -1
  944. package/dist/vega/p-f5ac60f5.js +0 -1
  945. package/dist/vega/p-f7b5833d.entry.js +0 -1
  946. package/dist/vega/p-fc02a67a.js +0 -1
@@ -1,46 +1,46 @@
1
- import { h, F as Fragment, f as forceUpdate, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-d0a47531.js';
1
+ import { h, F as Fragment, f as forceUpdate, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-057d0f70.js';
2
2
  import { s as sanitizeVegaComponent } from './component-7d906393.js';
3
3
  import { c as MapToComponentField, V as VegaSlimmer, M as MapToComponentMethod, L as LogUtility, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
4
4
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-a84cc93e.js';
5
- import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-c345ca2e.js';
6
- import { a as VegaClick, f as VegaChange, b as VegaDropdownClick, d as domNodeSubjectFactory, g as VegaEventClick, h as VegaDateDblClick, i as VegaMoreActionClick } from './dom-node-subject-factory-6374611f.js';
5
+ import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-999e21e3.js';
6
+ import { a as VegaClick, f as VegaChange, b as VegaDropdownClick, N as VegaPopoverHide, d as domNodeSubjectFactory, g as VegaEventClick, h as VegaDateDblClick, i as VegaMoreActionClick } from './dom-node-subject-factory-202655e7.js';
7
7
  import { V as VegaInternalIconManager } from './internal-icon-manager-7eac52c8.js';
8
8
  import { p as pad } from './date-c55b97f0.js';
9
- import { c as createEventEmitSlimmer } from './event-emit-slimmer-b5cb9b81.js';
10
- import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-b59a578e.js';
11
- import { t as VegaInternalCalendarMonthEventsChange } from './vega-internal-event-id-4072659b.js';
9
+ import { c as createEventEmitSlimmer } from './event-emit-slimmer-40973ec2.js';
10
+ import { V as VegaInternalTranslation } from './translation-833d9ef4.js';
11
+ import { s as stateBackgroundColorFormatter } from './state-background-color-formatter-da5e76e8.js';
12
+ import { q as isBackgroundColorTokenType } from './type-guard-84b1f192.js';
13
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-6b5b31f5.js';
14
+ import { v as VegaInternalCalendarMonthEventsChange, w as VegaInternalCalendarEventPreviewClear, x as VegaInternalCalendarEventPreviewUpdate } from './vega-internal-event-id-b7c865de.js';
12
15
  import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
16
+ import { O as Observer } from './observer-3959f9dd.js';
17
+ import { C as ChangeManager } from './change-manager-6a7eb88c.js';
18
+ import { m as CALENDAR_EVENT_PREVIEW_POPOVER_HIDE } from './static-subject-title-633b3474.js';
13
19
  import { f as flatNestedArray } from './array-7888f339.js';
14
20
  import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-bedf3a1e.js';
15
21
  import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-0bf7fbf3.js';
16
22
  import { d as debounce } from './timer-9321173b.js';
17
- import { C as ChangeManager } from './change-manager-6a7eb88c.js';
18
- import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-0a6c3cbb.js';
19
- import { T as TranslationSlimmer } from './translation-slimmer-f28e4708.js';
23
+ import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-b3524c09.js';
24
+ import { T as TranslationSlimmer } from './translation-slimmer-c83b52c1.js';
20
25
  import { s as slotPlaceholder } from './placeholder-bf562081.js';
21
- import { q as isBackgroundColorTokenType } from './type-guard-84b1f192.js';
22
- import { s as stateBackgroundColorFormatter } from './state-background-color-formatter-da5e76e8.js';
23
- import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-53eec5fb.js';
26
+ import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-c823d69c.js';
24
27
  import { b as parsePixelStringToNumber } from './pixel-f32c07ce.js';
25
- import './observer-3959f9dd.js';
26
- import './ui-7d177fb0.js';
28
+ import './ui-c20be16d.js';
27
29
  import './icon-manager-2ee1c619.js';
28
30
  import './dynamic-slimmer-90b8af32.js';
29
- import './internal-vega-event-manager-d80c53c5.js';
31
+ import './internal-vega-event-manager-526f8ed1.js';
30
32
  import './try-get-document-bef0f526.js';
33
+ import './breakpoints-d9faf11c.js';
34
+ import './ui-8424715a.js';
35
+ import './regex-dfe11abf.js';
36
+ import './typography-396de03f.js';
31
37
  import './vega-env-manager-8f8dc473.js';
32
38
  import './feature-flag-controller-51659753.js';
33
39
  import './index-e9da316f.js';
34
40
  import './_commonjsHelpers-9943807e.js';
35
41
  import './number-4398f2e1.js';
36
- import './ui-8424715a.js';
37
- import './breakpoints-d9faf11c.js';
38
- import './translation-a6eacb5f.js';
39
- import './static-subject-title-ca83d6b6.js';
40
- import './regex-dfe11abf.js';
41
- import './typography-396de03f.js';
42
42
 
43
- var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
43
+ var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
44
44
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
45
45
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
46
46
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -48,6 +48,9 @@ var __decorate$q = (undefined && undefined.__decorate) || function (decorators,
48
48
  };
49
49
  /** The `VegaCalendarRenderer` class in TypeScript React renders switch panel and view components for a calendar using VegaSlimmer. */
50
50
  class VegaCalendarRenderer extends VegaSlimmer {
51
+ getEventPreviewRef() {
52
+ return this.eventPreviewRef;
53
+ }
51
54
  /**
52
55
  * The render function returns a Fragment containing the rendered output of switchPanelRenderer and viewRenderer components.
53
56
  *
@@ -56,13 +59,19 @@ class VegaCalendarRenderer extends VegaSlimmer {
56
59
  render() {
57
60
  return (h(Fragment, null,
58
61
  this.switchPanelRenderer.render(),
59
- this.viewRenderer.render()));
62
+ this.viewRenderer.render(),
63
+ h("vega-calendar-event-preview", { ref: (el) => {
64
+ this.eventPreviewRef = el;
65
+ } })));
60
66
  }
61
67
  }
62
- __decorate$q([
68
+ __decorate$t([
69
+ MapToComponentField()
70
+ ], VegaCalendarRenderer.prototype, "host", void 0);
71
+ __decorate$t([
63
72
  MapToComponentField()
64
73
  ], VegaCalendarRenderer.prototype, "switchPanelRenderer", void 0);
65
- __decorate$q([
74
+ __decorate$t([
66
75
  MapToComponentField()
67
76
  ], VegaCalendarRenderer.prototype, "viewRenderer", void 0);
68
77
 
@@ -74,1096 +83,1148 @@ const chevronLeft = {
74
83
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>`,
75
84
  };
76
85
 
77
- /**
78
- * Get a week days array
79
- *
80
- * @param {number} firstWeekDay - The first week day (0: Sunday, 1: Monday, ...)
81
- * @returns {number[]} - The week days array
82
- */
83
- const getWeekdays = (firstWeekDay = 0) => {
84
- const weekdays = [0, 1, 2, 3, 4, 5, 6];
85
- return weekdays.concat(weekdays).slice(firstWeekDay, firstWeekDay + 7);
86
+ const ellipsisVertical = {
87
+ icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M48 464a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-160a48 48 0 1 1 0-96 48 48 0 1 1 0 96zM0 96a48 48 0 1 1 96 0A48 48 0 1 1 0 96z"/></svg>`,
86
88
  };
87
89
 
88
- /**
89
- * Calendar view generator abstract class.
90
- */
91
- class CalendarViewGenerator {
90
+ var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
91
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
92
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
93
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
94
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
95
+ };
96
+ /** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
97
+ class VegaCalendarSwitchPanelRenderer extends VegaSlimmer {
92
98
  constructor() {
93
- this.WEEKDAYS_SHORT = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
94
- this.weekdays = getWeekdays();
99
+ super(...arguments);
100
+ /**
101
+ * This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
102
+ *
103
+ * @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
104
+ */
105
+ this.handleViewChange = (input) => {
106
+ this.currentPeriodController.updateCalendarPeriod(input.detail, this.postOperationDate);
107
+ };
108
+ /**
109
+ * reset view content to today
110
+ */
111
+ this.todayButtonClick = () => {
112
+ this.currentPeriodController.setCurrentPeriod(this.currentPeriod.now());
113
+ };
114
+ /**
115
+ * update view content after click next button
116
+ */
117
+ this.nextButtonClick = () => {
118
+ this.currentPeriodController.setCurrentPeriod(this.currentPeriod.next());
119
+ };
120
+ /**
121
+ * update view content after click previous button
122
+ */
123
+ this.prevButtonClick = () => {
124
+ this.currentPeriodController.setCurrentPeriod(this.currentPeriod.previous());
125
+ };
126
+ /**
127
+ * The more action menu item click
128
+ *
129
+ * @param {NotifyObserverPayload<string>} payload The object contains the menu item key
130
+ */
131
+ this.moreActionMenuClick = (payload) => {
132
+ this.moreActionClickEmitter.emit(payload.detail);
133
+ };
95
134
  }
96
135
  /**
97
- * Get weekday names.
136
+ * get the switch panel container element
98
137
  *
99
- * @returns {string[]} - The weekday strings
138
+ * @returns {HTMLVegaFlexElement} container element
100
139
  */
101
- getWeekdayNames() {
102
- return this.WEEKDAYS_SHORT;
140
+ getSwitchPanelRef() {
141
+ return this.switchPanelRef;
103
142
  }
104
143
  /**
105
- * Generate calendar dates
144
+ * calendar switch panel with date switch, view switch, add new button, and more action components.
106
145
  *
107
- * @param {CalendarPeriod} period - The calendar period
108
- * @returns {Date[]} - The date result
146
+ * @returns {HTMLElement} html element
109
147
  */
110
- generateDates(period) {
111
- const cursor = period.startDate.toDate();
112
- const dates = [];
113
- for (let i = 0; i < period.count; i++) {
114
- dates.push(new Date(cursor));
115
- cursor.setDate(cursor.getDate() + 1);
116
- }
117
- return dates;
148
+ render() {
149
+ return (h("vega-flex", { direction: "row", gap: "size-16", justifyContent: "space-between", alignItems: "center", class: "calendar-switch-panel", ref: (node) => (this.switchPanelRef = node) },
150
+ this.renderDateSwitch(),
151
+ h("div", { class: "calendar-view-switch-container" },
152
+ this.showSwitchView ? this.renderViewSwitch() : null,
153
+ this.renderMoreActionMenu())));
118
154
  }
119
155
  /**
120
- * Generate calendar head
156
+ * The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
121
157
  *
122
- * @returns {string[]} - The data of week head
158
+ * @returns {HTMLDivElement} action button elements container.
123
159
  */
124
- generateWeekHead() {
125
- return this.weekdays.map((day) => this.getWeekdayNames()[day]);
160
+ renderDateSwitch() {
161
+ return (h("div", { class: "calendar-date-switch-container" },
162
+ h("vega-button", { variant: "secondary", size: "small", ref: (button) => {
163
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.todayButtonClick);
164
+ }, label: this.translationSlimmer.t('Today') }),
165
+ h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-left'), label: "previous", showTooltip: false, ref: (button) => {
166
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.prevButtonClick);
167
+ } }),
168
+ h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-right'), label: "next", showTooltip: false, ref: (button) => {
169
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.nextButtonClick);
170
+ } }),
171
+ this.renderCurrentPeriod()));
126
172
  }
127
- }
128
-
129
- /**
130
- * Calendar view
131
- */
132
- class CalendarView {
133
- constructor(weekdays, dateItems) {
134
- this._weekdays = weekdays;
135
- this._dateItems = dateItems;
173
+ /**
174
+ * The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
175
+ *
176
+ * @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
177
+ */
178
+ renderCurrentPeriod() {
179
+ return (h("vega-font", { class: "calendar-current-date", variant: "font-field-label", color: "text-primary" }, this.getViewDateSummary()));
136
180
  }
137
181
  /**
138
- * The week head of the calendar view
182
+ * The function `renderViewSwitch` returns a JSX element for rendering a segment control component in a TypeScript React application.
139
183
  *
140
- * @type {string[]}
184
+ * @returns {HTMLElement} An HTMLElement containing a vega-segment-control element with specific attributes and event handling.
141
185
  */
142
- get weekdays() {
143
- return this._weekdays;
186
+ renderViewSwitch() {
187
+ return (h("vega-segment-control", { segments: VegaCalendarSwitchPanelRenderer.views.map((item) => (Object.assign(Object.assign({}, item), { text: this.translationSlimmer.t(item.text) }))), size: "small", variant: "text-only", selected: this.viewMode, ref: (node) => {
188
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaChange, this.handleViewChange);
189
+ } }));
144
190
  }
145
191
  /**
146
- * The date items of the calendar view
192
+ * Render an more action button if dropdown source is not empty
147
193
  *
148
- * @type {CalendarDate[][]}
194
+ * @returns {Nullable<HTMLElement>} the additional element
149
195
  */
150
- get dateItems() {
151
- return this._dateItems;
196
+ renderMoreActionMenu() {
197
+ var _a, _b;
198
+ if ((_b = (_a = this.moreActionDropdownProps) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.length) {
199
+ return (h("vega-dropdown", Object.assign({ alignment: "end", trigger: "click" }, this.moreActionDropdownProps, { ref: (node) => {
200
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaDropdownClick, this.moreActionMenuClick);
201
+ } }),
202
+ h("vega-button-circle", { size: "small", icon: VegaInternalIconManager.getIconKey('ellipsis-vertical'), variant: "icon-only" })));
203
+ }
152
204
  }
153
- }
154
-
155
- /**
156
- * Day view calendar generator
157
- */
158
- class DayViewGenerator extends CalendarViewGenerator {
159
205
  /**
160
- * @inheritDoc
206
+ * Get the view content date summary info, such as `January, 2024` or `10 January, 2024` or `28 December, 2023 - 3 January, 2024`
207
+ *
208
+ * @returns {string} string
161
209
  */
162
- generate(period) {
163
- return new CalendarView([this.generateWeekHead()[period.current.toDate().getDay()]], [[period.current]]);
210
+ getViewDateSummary() {
211
+ const currentDate = this.currentPeriod.current;
212
+ let result = '';
213
+ switch (this.viewMode) {
214
+ case 'day': {
215
+ const monthName = this.translationSlimmer.t(currentDate.getMonthName());
216
+ result = `${currentDate.date} ${monthName}, ${currentDate.year}`;
217
+ break;
218
+ }
219
+ case 'week': {
220
+ const weekItems = this.calendarView.dateItems[0];
221
+ const start = weekItems[0];
222
+ const end = weekItems[weekItems.length - 1];
223
+ const [startMonthName, endMonthName] = [start, end].map((item) => this.translationSlimmer.t(item.getMonthName()));
224
+ result = `${start.date} ${startMonthName}${start.year === end.year ? '' : ', ' + start.year} - ${end.date} ${endMonthName}, ${end.year}`;
225
+ break;
226
+ }
227
+ case 'month': {
228
+ const monthName = this.translationSlimmer.t(currentDate.getMonthName());
229
+ result = `${monthName}, ${currentDate.year}`;
230
+ break;
231
+ }
232
+ }
233
+ return result;
164
234
  }
165
235
  }
236
+ (() => {
237
+ VegaInternalIconManager.register({
238
+ 'chevron-right': chevronRight,
239
+ 'chevron-left': chevronLeft,
240
+ 'ellipsis-vertical': ellipsisVertical,
241
+ });
242
+ })();
243
+ VegaCalendarSwitchPanelRenderer.views = [
244
+ { text: 'Day', key: 'day' },
245
+ { text: 'Week', key: 'week' },
246
+ { text: 'Month', key: 'month' },
247
+ ];
248
+ __decorate$s([
249
+ MapToComponentField()
250
+ ], VegaCalendarSwitchPanelRenderer.prototype, "viewMode", void 0);
251
+ __decorate$s([
252
+ MapToComponentField()
253
+ ], VegaCalendarSwitchPanelRenderer.prototype, "calendarView", void 0);
254
+ __decorate$s([
255
+ MapToComponentField()
256
+ ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriod", void 0);
257
+ __decorate$s([
258
+ MapToComponentField()
259
+ ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionDropdownProps", void 0);
260
+ __decorate$s([
261
+ MapToComponentField()
262
+ ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionClickEmitter", void 0);
263
+ __decorate$s([
264
+ MapToComponentField()
265
+ ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriodController", void 0);
266
+ __decorate$s([
267
+ MapToComponentField()
268
+ ], VegaCalendarSwitchPanelRenderer.prototype, "calendarViewController", void 0);
269
+ __decorate$s([
270
+ MapToComponentField()
271
+ ], VegaCalendarSwitchPanelRenderer.prototype, "translationSlimmer", void 0);
272
+ __decorate$s([
273
+ MapToComponentField()
274
+ ], VegaCalendarSwitchPanelRenderer.prototype, "postOperationDate", void 0);
275
+ __decorate$s([
276
+ MapToComponentField()
277
+ ], VegaCalendarSwitchPanelRenderer.prototype, "showSwitchView", void 0);
166
278
 
167
- /**
168
- * Calendar date class
169
- */
170
- class CalendarDate {
171
- constructor(year, month, date) {
172
- this._date = date;
173
- this._month = month;
174
- this._year = year;
175
- }
279
+ var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
280
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
281
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
282
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
283
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
284
+ };
285
+ /** renders different views based on the specified view mode using month, week, and day view render. */
286
+ class VegaCalendarViewRenderer extends VegaSlimmer {
176
287
  /**
177
- * Create a calendar date from a Date object
288
+ * Get the calendar view content element ref
178
289
  *
179
- * @param {Date} date - The Date object
180
- * @returns {CalendarDate} - Return a CalendarDate object
290
+ * @returns {Nullable<HTMLElement>} The div element.
181
291
  */
182
- static from(date) {
183
- return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
292
+ getCalendarViewElementRef() {
293
+ return this.calendarViewElementRef;
184
294
  }
185
295
  /**
186
- * The year of the calendar date
296
+ * render the calendar month/week/day view
187
297
  *
188
- * @type {number}
298
+ * @returns {HTMLElement} html element
189
299
  */
190
- get year() {
191
- return this._year;
192
- }
193
- set year(value) {
194
- this._year = value;
300
+ render() {
301
+ return (h("div", { class: `calendar-view calendar-view-${this.viewMode} ${this.showWeekends === false ? 'calendar-hide-weekends' : ''}`, ref: (node) => (this.calendarViewElementRef = node) }, this.viewMode === 'month'
302
+ ? this.monthViewRenderer.render()
303
+ : this.viewWithTimeRenderer.render()));
195
304
  }
305
+ }
306
+ __decorate$r([
307
+ MapToComponentField()
308
+ ], VegaCalendarViewRenderer.prototype, "viewMode", void 0);
309
+ __decorate$r([
310
+ MapToComponentField()
311
+ ], VegaCalendarViewRenderer.prototype, "showWeekends", void 0);
312
+ __decorate$r([
313
+ MapToComponentField()
314
+ ], VegaCalendarViewRenderer.prototype, "monthViewRenderer", void 0);
315
+ __decorate$r([
316
+ MapToComponentField()
317
+ ], VegaCalendarViewRenderer.prototype, "viewWithTimeRenderer", void 0);
318
+
319
+ var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
320
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
321
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
322
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
323
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
324
+ };
325
+ /** The code provided is defining a TypeScript class called `VegaCalendarMonthViewRenderer` that extends `VegaSlimmer`. This class is responsible for rendering a month view of a calendar component. */
326
+ class VegaCalendarMonthViewRenderer extends VegaSlimmer {
196
327
  /**
197
- * The month of the calendar date
328
+ * the HTML elements that represent the month view of a calendar component.
198
329
  *
199
- * @type {number}
330
+ * @returns {HTMLElement} the month view calendar content
200
331
  */
201
- get month() {
202
- return this._month;
203
- }
204
- set month(value) {
205
- this._month = value;
332
+ render() {
333
+ const weekHead = this.calendarView.weekdays;
334
+ return (h("div", { class: "calendar-view-month-container" },
335
+ h("div", { class: "calendar-view-row calendar-view-title border-divider-bottom" }, weekHead.map((title) => (h("div", { key: title }, this.translationSlimmer.t(title))))),
336
+ this.renderMonthViewContent()));
206
337
  }
207
338
  /**
208
- * The date of the calendar date
339
+ * generating the HTML elements that represent the content of the month view in a calendar component
209
340
  *
210
- * @type {number}
341
+ * @returns {HTMLElement[]} month view content and event content
211
342
  */
212
- get date() {
213
- return this._date;
214
- }
215
- set date(value) {
216
- this._date = value;
343
+ renderMonthViewContent() {
344
+ const monthSource = this.calendarView.dateItems;
345
+ const currentDate = this.currentPeriod.current;
346
+ return monthSource.map((dateArray, index) => {
347
+ const eventsArray = this.monthEventRenderer.getCurrentRowEvents(dateArray);
348
+ const displayEventsArray = this.monthEventRenderer.filterRowDisplayEvents(eventsArray);
349
+ return (h("div", { key: index, class: "calendar-view-row border-divider-bottom" }, dateArray.map((item, itemIndex) => {
350
+ var _a;
351
+ const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
352
+ return (h("div", { class: {
353
+ 'row-cell border-divider-right': true,
354
+ 'current-month-day': item.compare(currentDate).inMonth,
355
+ 'active': item.isToday(),
356
+ 'disabled': isDisabled,
357
+ }, key: `${item.month}-${item.date}`,
358
+ // eslint-disable-next-line react/jsx-no-bind
359
+ onDblClick: isDisabled
360
+ ? undefined
361
+ : (e) => {
362
+ this.handleDateBlockClick(e, item);
363
+ } },
364
+ this.renderDateBlock(item),
365
+ this.monthEventRenderer.render(item, eventsArray[itemIndex], displayEventsArray[itemIndex], itemIndex)));
366
+ })));
367
+ });
217
368
  }
218
369
  /**
219
- * Verify whether the calendar date is today
370
+ * It takes a `CalendarDate` object as a parameter and returns an HTML element representing a date block in the calendar view.
220
371
  *
221
- * @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
372
+ * @param {CalendarDate} item the day object
373
+ * @returns {HTMLElement} the date block element
222
374
  */
223
- isToday() {
224
- const today = new Date();
225
- return (today.getFullYear() === this.year &&
226
- today.getMonth() + 1 === this.month &&
227
- today.getDate() === this.date);
375
+ renderDateBlock(item) {
376
+ const isMonthFirstDay = item.date === 1;
377
+ return (h("div", { class: "date" },
378
+ isMonthFirstDay && h("div", { class: "month-block" }, item.getMonthName(true)),
379
+ h("div", { role: "button", tabIndex: 0, class: "grid-col",
380
+ // eslint-disable-next-line react/jsx-no-bind
381
+ onDblClick: (e) => this.goToCurrentDayView(e, item) }, item.date)));
228
382
  }
229
383
  /**
230
- * Convert the calendar date to a Date object
384
+ * switch to current date day view
231
385
  *
232
- * @returns {Date} - Return a Date object
386
+ * @param {MouseEvent} e the double click event object
387
+ * @param {CalendarDate} calendarDate the calendar date object
233
388
  */
234
- toDate() {
235
- return new Date(this.year, this.month - 1, this.date);
389
+ goToCurrentDayView(e, calendarDate) {
390
+ e.stopPropagation();
391
+ this.currentPeriodController.updateCalendarPeriod('day', calendarDate);
236
392
  }
237
393
  /**
238
- * Compare with another calendar date
394
+ * emit vega click event when click the date block
239
395
  *
240
- * @param {CalendarDate} date - The calendar date to compare with
241
- * @returns {DateCompareResult} - Return a DateCompareResult object
396
+ * @param {MouseEvent} e the mouse event object
397
+ * @param {CalendarDate} calendarDate the calendar date object
242
398
  */
243
- compare(date) {
244
- const { year, month } = date;
245
- const result = {
246
- isPreviousMonth: false,
247
- inMonth: false,
248
- isNextMonth: false,
249
- };
250
- if (this.year === year) {
251
- if (this.month < month) {
252
- result.isPreviousMonth = true;
253
- }
254
- else if (this.month > month) {
255
- result.isNextMonth = true;
256
- }
257
- else {
258
- result.inMonth = true;
259
- }
260
- }
261
- else if (this.year > year) {
262
- result.isNextMonth = true;
263
- }
264
- else {
265
- result.isPreviousMonth = true;
399
+ handleDateBlockClick(e, calendarDate) {
400
+ const { target, clientX, clientY } = e;
401
+ if (this.isMonthBlockBlankArea(target)) {
402
+ const { year, month, date } = calendarDate;
403
+ this.dateDblClickEmitter.emit({
404
+ year,
405
+ month,
406
+ date,
407
+ hour: 0,
408
+ mouseEventInfo: { clientX, clientY },
409
+ });
266
410
  }
267
- return result;
268
411
  }
269
412
  /**
270
- * The function "equal" compares the year, month, and date of two CalendarDate objects and returns true if they are equal.
413
+ * determine if the clicked element is blank area
271
414
  *
272
- * @param {CalendarDate} calendarDate - The `equal` method in the code snippet is a function that compares the year, month, and date of the current `CalendarDate` object with another
273
- * `CalendarDate` object passed as a parameter. The method returns `true` if all three values (year, month, date) are equal
274
- * @returns {boolean} The date is same day with current
275
- */
276
- equal(calendarDate) {
277
- const { year, month, date } = calendarDate;
278
- return this._year === year && this._month === month && this._date === date;
279
- }
280
- }
281
-
282
- /**
283
- * Calendar week view generator
284
- */
285
- class WeekViewGenerator extends CalendarViewGenerator {
286
- /**
287
- * @inheritDoc
415
+ * @param {HTMLElement} element the target element
416
+ * @returns {boolean} true or false
288
417
  */
289
- generate(period) {
290
- const dates = this.generateDates(period);
291
- const showWeekends = period.showWeekends;
292
- let weekDays = this.generateWeekHead();
293
- let dateItems = [dates.map(CalendarDate.from)];
294
- if (showWeekends === false) {
295
- weekDays = weekDays.slice(1, 6);
296
- dateItems = dateItems.map((items) => items.slice(1, 6));
297
- }
298
- return new CalendarView(weekDays, dateItems);
418
+ isMonthBlockBlankArea(element) {
419
+ // the more button and the calendar event component should not trigger dateDblClick event
420
+ return !element.classList.contains('more-button') && element.tagName !== 'VEGA-CALENDAR-EVENT';
299
421
  }
300
422
  }
423
+ __decorate$q([
424
+ MapToComponentField()
425
+ ], VegaCalendarMonthViewRenderer.prototype, "viewMode", void 0);
426
+ __decorate$q([
427
+ MapToComponentField()
428
+ ], VegaCalendarMonthViewRenderer.prototype, "calendarView", void 0);
429
+ __decorate$q([
430
+ MapToComponentField()
431
+ ], VegaCalendarMonthViewRenderer.prototype, "currentPeriod", void 0);
432
+ __decorate$q([
433
+ MapToComponentField()
434
+ ], VegaCalendarMonthViewRenderer.prototype, "currentPeriodController", void 0);
435
+ __decorate$q([
436
+ MapToComponentField()
437
+ ], VegaCalendarMonthViewRenderer.prototype, "monthEventRenderer", void 0);
438
+ __decorate$q([
439
+ MapToComponentField()
440
+ ], VegaCalendarMonthViewRenderer.prototype, "dateDblClickEmitter", void 0);
441
+ __decorate$q([
442
+ MapToComponentField()
443
+ ], VegaCalendarMonthViewRenderer.prototype, "translationSlimmer", void 0);
444
+ __decorate$q([
445
+ MapToComponentField()
446
+ ], VegaCalendarMonthViewRenderer.prototype, "isDateDisabled", void 0);
301
447
 
302
- /**
303
- * Calendar month view generator
304
- */
305
- class MonthViewGenerator extends CalendarViewGenerator {
448
+ var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
449
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
450
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
451
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
452
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
453
+ };
454
+ /** The `VegaCalendarViewWithTimeRenderer` class in TypeScript React renders a day view for a calendar component with title, content, and hour blocks. */
455
+ class VegaCalendarViewWithTimeRenderer extends VegaSlimmer {
306
456
  /**
307
- * @inheritDoc
457
+ * The render function in TypeScript React returns an array of HTMLElements containing the week calendar view for a specific day.
458
+ *
459
+ * @returns {HTMLElement} An array of HTMLElement elements containing the rendered content of a calendar view for a
460
+ * specific day in the week. The content includes the title and the main content of the calendar view
461
+ * for that day.
308
462
  */
309
- generate(period) {
310
- const showWeekends = period.showWeekends;
311
- let calendarDates = [];
312
- let week = [];
313
- const dates = this.generateDates(period);
314
- dates.forEach((date, i) => {
315
- if (!(i % 7)) {
316
- calendarDates[i / 7] = week = [];
317
- }
318
- const item = CalendarDate.from(date);
319
- week.push(item);
320
- });
321
- let weekDays = this.generateWeekHead();
322
- if (showWeekends === false) {
323
- weekDays = weekDays.slice(1, 6);
324
- calendarDates = calendarDates.map((items) => items.slice(1, 6));
325
- }
326
- return new CalendarView(weekDays, calendarDates);
327
- }
328
- }
329
-
330
- /**
331
- * CalendarPeriod is an abstract class that represents a period of date for calendar.
332
- */
333
- class CalendarPeriod {
334
- constructor(count, current) {
335
- this._count = count;
336
- this._current = current ? current : CalendarDate.from(new Date());
337
- this.calculatePeriod(this._current);
463
+ render() {
464
+ return (h("div", { class: "calendar-view-container" },
465
+ this.renderViewTitle(),
466
+ this.renderViewContent()));
338
467
  }
339
468
  /**
340
- * The current date of the period.
469
+ * The function `renderViewTitle` renders a calendar view title and events based on the provided source data.
341
470
  *
342
- * @type {CalendarDate}
471
+ * @returns {HTMLElement} The `renderViewTitle` function returns an HTML element (HTMLElement) that contains a calendar view title container with rows for each day's information.
343
472
  */
344
- get current() {
345
- return this._current;
473
+ renderViewTitle() {
474
+ const source = this.calendarView.dateItems[0];
475
+ const weekHead = this.calendarView.weekdays;
476
+ return (h("div", { class: "calendar-view-title-container" },
477
+ h("div", { class: "calendar-view-row" },
478
+ h("div", { class: "time-line-empty" }),
479
+ h("div", { class: "calendar-view-title" }, source.map((item, index) => (h("div", { key: item.date, class: { active: item.isToday() } },
480
+ h("div", null, this.translationSlimmer.t(weekHead[index])),
481
+ h("div", { class: "week-day" }, item.date)))))),
482
+ h("div", { class: "calendar-view-row calendar-view-event-all-container border-divider-bottom" },
483
+ h("div", { class: "time-line-all" }, this.translationSlimmer.t('All Day')),
484
+ this.dayViewFullDayEventRenderer.render())));
346
485
  }
347
486
  /**
348
- * The start date of the period
487
+ * The `renderViewContent` function in TypeScript React renders a calendar view with day blocks and time markers based on the provided data.
349
488
  *
350
- * @type {CalendarDate}
489
+ * @returns {HTMLElement} An HTMLElement containing a calendar view row with day containers, a timeline renderer, a content container, a day list, and hour blocks for each item in the source array.
351
490
  */
352
- get startDate() {
353
- return this._startDate;
491
+ renderViewContent() {
492
+ const source = this.calendarView.dateItems[0];
493
+ return (h("div", { class: "calendar-view-row calendar-view-day-container" },
494
+ this.timeLineRenderer.render(),
495
+ h("div", { class: "calendar-view-content-container" },
496
+ h("div", { class: "calendar-view-content" }, source.map((item) => {
497
+ var _a;
498
+ const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
499
+ return (h("div", { class: {
500
+ 'grid-col border-divider-left': true,
501
+ 'disabled': isDisabled,
502
+ }, key: item.date },
503
+ h("div", { class: "hour-empty border-divider-top" }),
504
+ this.renderHourBlock(item, isDisabled)));
505
+ })),
506
+ this.dayViewTimedEventRenderer.render(),
507
+ this.timeMarkerRenderer.render(source))));
354
508
  }
355
509
  /**
356
- * The end date of the period
510
+ * The function `renderHourBlock` returns an array of HTML elements representing hour blocks with time information.
357
511
  *
358
- * @type {CalendarDate}
512
+ * @param {CalendarDate} calendarDate then current calendar date object
513
+ * @returns {HTMLElement[]} An array of HTMLElements is being returned. Each HTMLElement represents an hour block with a time value inside a div element.
359
514
  */
360
- get endDate() {
361
- return this._endDate;
515
+ renderHourBlock(calendarDate, isDisabled) {
516
+ const timeLineSource = Array(24).fill('');
517
+ return timeLineSource.map((_item, index) => {
518
+ var _a;
519
+ let isHourDisabled = false;
520
+ if (!isDisabled) {
521
+ const dateWithHour = new Date(calendarDate.toDate().setHours(index));
522
+ isHourDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, dateWithHour);
523
+ }
524
+ return (h("div", { class: {
525
+ 'grid-cell border-divider-top': true,
526
+ 'disabled': isDisabled || isHourDisabled,
527
+ },
528
+ // eslint-disable-next-line react/jsx-no-bind
529
+ onDblClick: isDisabled || isHourDisabled
530
+ ? undefined
531
+ : (e) => this.handleDateBlockClick(calendarDate, index, e) }));
532
+ });
362
533
  }
363
534
  /**
364
- * The count of the period
535
+ * emit vega click event when click the date block
365
536
  *
366
- * @type {number}
537
+ * @param {CalendarDate} calendarDate the calendar date object
367
538
  */
368
- get count() {
369
- return this._count;
539
+ handleDateBlockClick(calendarDate, hour, e) {
540
+ const { year, month, date } = calendarDate;
541
+ const { clientX, clientY } = e;
542
+ this.dateDblClickEmitter.emit({ year, month, date, hour, mouseEventInfo: { clientX, clientY } });
370
543
  }
544
+ }
545
+ __decorate$p([
546
+ MapToComponentField()
547
+ ], VegaCalendarViewWithTimeRenderer.prototype, "viewMode", void 0);
548
+ __decorate$p([
549
+ MapToComponentField()
550
+ ], VegaCalendarViewWithTimeRenderer.prototype, "timeLineRenderer", void 0);
551
+ __decorate$p([
552
+ MapToComponentField()
553
+ ], VegaCalendarViewWithTimeRenderer.prototype, "timeMarkerRenderer", void 0);
554
+ __decorate$p([
555
+ MapToComponentField()
556
+ ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewTimedEventRenderer", void 0);
557
+ __decorate$p([
558
+ MapToComponentField()
559
+ ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewFullDayEventRenderer", void 0);
560
+ __decorate$p([
561
+ MapToComponentField()
562
+ ], VegaCalendarViewWithTimeRenderer.prototype, "calendarView", void 0);
563
+ __decorate$p([
564
+ MapToComponentField()
565
+ ], VegaCalendarViewWithTimeRenderer.prototype, "dateDblClickEmitter", void 0);
566
+ __decorate$p([
567
+ MapToComponentField()
568
+ ], VegaCalendarViewWithTimeRenderer.prototype, "translationSlimmer", void 0);
569
+ __decorate$p([
570
+ MapToComponentField()
571
+ ], VegaCalendarViewWithTimeRenderer.prototype, "isDateDisabled", void 0);
572
+
573
+ var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
574
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
575
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
576
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
577
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
578
+ };
579
+ /** The `VegaCalendarTimeLineRenderer` class in TypeScript React renders a time line with custom time format options and includes methods for rendering time markers and the time line itself. */
580
+ class VegaCalendarTimeLineRenderer extends VegaSlimmer {
371
581
  /**
372
- * This function returns the type of the object.
582
+ * rendering the time line component as an HTML element
373
583
  *
374
- * @type {string}
584
+ * @returns {HTMLElement} the html element
375
585
  */
376
- get type() {
377
- return this._type;
586
+ render() {
587
+ const timeLineSource = this.getTimeLineTitles();
588
+ return (h("div", { class: "time-line" },
589
+ h("div", { class: "hour-empty" }),
590
+ timeLineSource.map((time, index) => {
591
+ return (h("div", { key: time },
592
+ h("div", { class: "time-text", "data-time": index === 0 ? 24 : index }, time)));
593
+ })));
378
594
  }
379
595
  /**
380
- * This function returns the showWeekends of the object.
596
+ * The function `getTimeLineTitles` generates a time line array based on the specified time format (24-hour) and stores it in the `timeLineSource` property.
381
597
  *
382
- * @type {boolean}
598
+ * @returns {string[]} returns an array of strings representing the time line
383
599
  */
384
- get showWeekends() {
385
- return this._showWeekends;
600
+ getTimeLineTitles() {
601
+ const timeLine = [];
602
+ if (this.timeFormat === '12-hour') {
603
+ timeLine.push('12 AM');
604
+ for (let i = 1; i < 12; i++) {
605
+ timeLine.push(`${i} AM`);
606
+ }
607
+ timeLine.push('12 PM');
608
+ for (let i = 1; i < 12; i++) {
609
+ timeLine.push(`${i} PM`);
610
+ }
611
+ }
612
+ else {
613
+ for (let i = 0; i < 24; i++) {
614
+ timeLine.push(`${pad(i)}`);
615
+ }
616
+ }
617
+ return timeLine;
618
+ }
619
+ }
620
+ __decorate$o([
621
+ MapToComponentField()
622
+ ], VegaCalendarTimeLineRenderer.prototype, "timeFormat", void 0);
623
+
624
+ /**
625
+ * Get a week days array
626
+ *
627
+ * @param {number} firstWeekDay - The first week day (0: Sunday, 1: Monday, ...)
628
+ * @returns {number[]} - The week days array
629
+ */
630
+ const getWeekdays = (firstWeekDay = 0) => {
631
+ const weekdays = [0, 1, 2, 3, 4, 5, 6];
632
+ return weekdays.concat(weekdays).slice(firstWeekDay, firstWeekDay + 7);
633
+ };
634
+ var WeekdayLongNames;
635
+ (function (WeekdayLongNames) {
636
+ WeekdayLongNames["sun"] = "Sunday";
637
+ WeekdayLongNames["mon"] = "Monday";
638
+ WeekdayLongNames["tue"] = "Tuesday";
639
+ WeekdayLongNames["wed"] = "Wednesday";
640
+ WeekdayLongNames["thu"] = "Thursday";
641
+ WeekdayLongNames["fri"] = "Friday";
642
+ WeekdayLongNames["sat"] = "Saturday";
643
+ })(WeekdayLongNames || (WeekdayLongNames = {}));
644
+ /**
645
+ * Format display time
646
+ *
647
+ * @param {TimeFormat} timeFormat - The time format (24-hour or 12-hour)
648
+ * @param {string} timeString - The time string to format
649
+ * @returns {string} - The formatted time string
650
+ */
651
+ const formatDisplayTime = (timeFormat, timeString) => {
652
+ const [hour, minutes] = timeString.split(':');
653
+ if (timeFormat === '24-hour') {
654
+ return `${hour.padStart(2, '0')}:${minutes.padStart(2, '0')}`;
655
+ }
656
+ else {
657
+ const hourNum = Number(hour);
658
+ const amPm = hourNum >= 12 ? 'pm' : 'am';
659
+ const minutesResult = minutes.padStart(2, '0');
660
+ if (hourNum > 12) {
661
+ return `${hourNum - 12}:${minutesResult} ${VegaInternalTranslation.t('pm')}`;
662
+ }
663
+ else if (hourNum === 0) {
664
+ return `12:${minutesResult} ${VegaInternalTranslation.t('am')}`;
665
+ }
666
+ else {
667
+ return `${hourNum}:${minutesResult} ${VegaInternalTranslation.t(amPm)}`;
668
+ }
669
+ }
670
+ };
671
+
672
+ /**
673
+ * Calendar view generator abstract class.
674
+ */
675
+ class CalendarViewGenerator {
676
+ constructor() {
677
+ this.WEEKDAYS_SHORT = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
678
+ this.weekdays = getWeekdays();
386
679
  }
387
680
  /**
388
- * Go to a specific date.
681
+ * Get weekday names.
389
682
  *
390
- * @param {CalendarDate} date - The date to go to.
391
- * @returns {this} - The current period.
683
+ * @returns {string[]} - The weekday strings
392
684
  */
393
- goTo(date) {
394
- return this.createBy(date);
685
+ getWeekdayNames() {
686
+ return this.WEEKDAYS_SHORT;
395
687
  }
396
688
  /**
397
- * Go to now.
689
+ * Generate calendar dates
398
690
  *
399
- * @returns {this} - The current period.
691
+ * @param {CalendarPeriod} period - The calendar period
692
+ * @returns {Date[]} - The date result
400
693
  */
401
- now() {
402
- return this.createBy(CalendarDate.from(new Date()));
694
+ generateDates(period) {
695
+ const cursor = period.startDate.toDate();
696
+ const dates = [];
697
+ for (let i = 0; i < period.count; i++) {
698
+ dates.push(new Date(cursor));
699
+ cursor.setDate(cursor.getDate() + 1);
700
+ }
701
+ return dates;
403
702
  }
404
703
  /**
405
- * Calculate the period start date and end date.
704
+ * Generate calendar head
406
705
  *
407
- * @param {CalendarDate} date - The date to calculate the period from.
706
+ * @returns {string[]} - The data of week head
408
707
  */
409
- calculatePeriod(date) {
410
- const cursor = date.toDate();
411
- if (this.count > 1) {
412
- cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
413
- }
414
- this._startDate = CalendarDate.from(cursor);
415
- cursor.setDate(cursor.getDate() + this.count - 1);
416
- this._endDate = CalendarDate.from(cursor);
708
+ generateWeekHead() {
709
+ return this.weekdays.map((day) => this.getWeekdayNames()[day]);
417
710
  }
418
711
  }
419
712
 
420
713
  /**
421
- * Period of day.
714
+ * Calendar view
422
715
  */
423
- class DayPeriod extends CalendarPeriod {
424
- constructor(current, showWeekends) {
425
- super(DayPeriod.DISPLAY_DATE_COUNT, current);
426
- this._type = 'day';
427
- this._showWeekends = true;
428
- this._showWeekends = showWeekends === false ? false : true;
716
+ class CalendarView {
717
+ constructor(weekdays, dateItems) {
718
+ this._weekdays = weekdays;
719
+ this._dateItems = dateItems;
429
720
  }
430
721
  /**
431
- * @inheritDoc
722
+ * The week head of the calendar view
723
+ *
724
+ * @type {string[]}
432
725
  */
433
- next() {
434
- const nextDate = this.current.toDate();
435
- nextDate.setDate(nextDate.getDate() + 1);
436
- let calendarDate = CalendarDate.from(nextDate);
437
- if (this._showWeekends === false) {
438
- calendarDate = getClosestWorkday(calendarDate);
439
- }
440
- return this.createBy(calendarDate);
726
+ get weekdays() {
727
+ return this._weekdays;
441
728
  }
442
729
  /**
443
- * @inheritDoc
730
+ * The date items of the calendar view
731
+ *
732
+ * @type {CalendarDate[][]}
444
733
  */
445
- previous() {
446
- const previousDate = this.current.toDate();
447
- previousDate.setDate(previousDate.getDate() - 1);
448
- let calendarDate = CalendarDate.from(previousDate);
449
- if (this._showWeekends === false) {
450
- calendarDate = getClosestWorkday(calendarDate, DateDirection.PREVIOUS);
451
- }
452
- return this.createBy(calendarDate);
453
- }
454
- /**
455
- * Go to now.
456
- *
457
- * @returns {this} - The current period.
458
- */
459
- now() {
460
- let calendarDate = CalendarDate.from(new Date());
461
- if (this._showWeekends === false) {
462
- calendarDate = getClosestWorkday(calendarDate);
463
- }
464
- return this.createBy(calendarDate);
734
+ get dateItems() {
735
+ return this._dateItems;
465
736
  }
737
+ }
738
+
739
+ /**
740
+ * Day view calendar generator
741
+ */
742
+ class DayViewGenerator extends CalendarViewGenerator {
466
743
  /**
467
744
  * @inheritDoc
468
745
  */
469
- createBy(current) {
470
- return new DayPeriod(current, this._showWeekends);
746
+ generate(period) {
747
+ return new CalendarView([this.generateWeekHead()[period.current.toDate().getDay()]], [[period.current]]);
471
748
  }
472
749
  }
473
- DayPeriod.DISPLAY_DATE_COUNT = 1;
474
750
 
475
751
  /**
476
- * Period of the week
752
+ * Calendar date class
477
753
  */
478
- class WeekPeriod extends CalendarPeriod {
479
- constructor(current, showWeekends) {
480
- super(WeekPeriod.DISPLAY_DATE_COUNT, current);
481
- this._type = 'week';
482
- this._showWeekends = true;
483
- this._showWeekends = showWeekends === false ? false : true;
754
+ class CalendarDate {
755
+ constructor(year, month, date) {
756
+ this._date = date;
757
+ this._month = month;
758
+ this._year = year;
484
759
  }
485
760
  /**
486
- * @inheritDoc
761
+ * Create a calendar date from a Date object
762
+ *
763
+ * @param {Date} date - The Date object
764
+ * @returns {CalendarDate} - Return a CalendarDate object
487
765
  */
488
- next() {
489
- const currentDate = this.current.toDate();
490
- currentDate.setDate(currentDate.getDate() + 7);
491
- return this.createBy(CalendarDate.from(currentDate));
766
+ static from(date) {
767
+ return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
492
768
  }
493
769
  /**
494
- * @inheritDoc
770
+ * The year of the calendar date
771
+ *
772
+ * @type {number}
495
773
  */
496
- previous() {
497
- const currentDate = this.current.toDate();
498
- currentDate.setDate(currentDate.getDate() - 7);
499
- return this.createBy(CalendarDate.from(currentDate));
774
+ get year() {
775
+ return this._year;
776
+ }
777
+ set year(value) {
778
+ this._year = value;
500
779
  }
501
780
  /**
502
- * @inheritDoc
781
+ * The month of the calendar date
782
+ *
783
+ * @type {number}
503
784
  */
504
- createBy(current) {
505
- return new WeekPeriod(current, this._showWeekends);
785
+ get month() {
786
+ return this._month;
506
787
  }
507
- }
508
- WeekPeriod.DISPLAY_DATE_COUNT = 7;
509
-
510
- /**
511
- * Period of month
512
- */
513
- class MonthPeriod extends CalendarPeriod {
514
- constructor(current, showWeekends) {
515
- super(MonthPeriod.DISPLAY_DATE_COUNT, current);
516
- this._type = 'month';
517
- this._showWeekends = true;
518
- this._showWeekends = showWeekends === false ? false : true;
788
+ set month(value) {
789
+ this._month = value;
519
790
  }
520
791
  /**
521
- * The function `getMonthFirstDay` returns the first day of a given month in a calendar.
792
+ * The date of the calendar date
522
793
  *
523
- * @param {CalendarDate} [calendarDate] - The `calendarDate` parameter is an optional parameter of
524
- * type `CalendarDate`. It represents a specific date in the calendar. If a `calendarDate` is
525
- * provided, the function will use that date to determine the first day of the month. If no
526
- * `calendarDate` is provided, the function
527
- * @returns {CalendarDate} A new `CalendarDate` object representing the first day of the month from the provided
528
- * `calendarDate` parameter or the current date if no parameter is provided.
794
+ * @type {number}
529
795
  */
530
- static getMonthFirstDay(calendarDate) {
531
- const date = calendarDate || CalendarDate.from(new Date());
532
- return new CalendarDate(date.year, date.month, 1);
796
+ get date() {
797
+ return this._date;
798
+ }
799
+ set date(value) {
800
+ this._date = value;
533
801
  }
534
802
  /**
535
- * Calculate the period start date and end date.
803
+ * Verify whether the calendar date is today
536
804
  *
537
- * @param {CalendarDate} date - The date to calculate the period from.
805
+ * @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
538
806
  */
539
- calculatePeriod(date) {
540
- const firstDay = MonthPeriod.getMonthFirstDay(date);
541
- const cursor = firstDay.toDate();
542
- cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
543
- this._startDate = CalendarDate.from(cursor);
544
- cursor.setDate(cursor.getDate() + this.count - 1);
545
- this._endDate = CalendarDate.from(cursor);
807
+ isToday() {
808
+ const today = new Date();
809
+ return (today.getFullYear() === this.year &&
810
+ today.getMonth() + 1 === this.month &&
811
+ today.getDate() === this.date);
546
812
  }
547
813
  /**
548
- * @inheritDoc
814
+ * Convert the calendar date to a Date object
815
+ *
816
+ * @returns {Date} - Return a Date object
549
817
  */
550
- next() {
551
- const next = this.current.toDate();
552
- next.setMonth(next.getMonth() + 1);
553
- return this.createBy(CalendarDate.from(next));
818
+ toDate() {
819
+ return new Date(this.year, this.month - 1, this.date);
554
820
  }
555
821
  /**
556
- * @inheritDoc
822
+ * Compare with another calendar date
823
+ *
824
+ * @param {CalendarDate} date - The calendar date to compare with
825
+ * @returns {DateCompareResult} - Return a DateCompareResult object
557
826
  */
558
- previous() {
559
- const previous = this.current.toDate();
560
- previous.setMonth(previous.getMonth() - 1);
561
- return this.createBy(CalendarDate.from(previous));
827
+ compare(date) {
828
+ const { year, month } = date;
829
+ const result = {
830
+ isPreviousMonth: false,
831
+ inMonth: false,
832
+ isNextMonth: false,
833
+ };
834
+ if (this.year === year) {
835
+ if (this.month < month) {
836
+ result.isPreviousMonth = true;
837
+ }
838
+ else if (this.month > month) {
839
+ result.isNextMonth = true;
840
+ }
841
+ else {
842
+ result.inMonth = true;
843
+ }
844
+ }
845
+ else if (this.year > year) {
846
+ result.isNextMonth = true;
847
+ }
848
+ else {
849
+ result.isPreviousMonth = true;
850
+ }
851
+ return result;
562
852
  }
563
853
  /**
564
- * @inheritDoc
854
+ * The function "equal" compares the year, month, and date of two CalendarDate objects and returns true if they are equal.
855
+ *
856
+ * @param {CalendarDate} calendarDate - The `equal` method in the code snippet is a function that compares the year, month, and date of the current `CalendarDate` object with another
857
+ * `CalendarDate` object passed as a parameter. The method returns `true` if all three values (year, month, date) are equal
858
+ * @returns {boolean} The date is same day with current
565
859
  */
566
- createBy(current) {
567
- return new MonthPeriod(current, this._showWeekends);
860
+ equal(calendarDate) {
861
+ const { year, month, date } = calendarDate;
862
+ return this._year === year && this._month === month && this._date === date;
863
+ }
864
+ /**
865
+ * Get month name.
866
+ *
867
+ * @param {boolean} isShortName - Whether to get the short name or long name of the month
868
+ * @returns {string} The name of the month
869
+ */
870
+ getMonthName(isShortName = false) {
871
+ return VegaInternalTranslation.t(this.toDate().toLocaleDateString('en-US', {
872
+ month: isShortName ? 'short' : 'long',
873
+ }));
568
874
  }
569
875
  }
570
- MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
571
876
 
572
- var DateDirection;
573
- (function (DateDirection) {
574
- DateDirection["PREVIOUS"] = "-1";
575
- DateDirection["NEXT"] = "1";
576
- })(DateDirection || (DateDirection = {}));
577
- /**
578
- * get month name from the month number
579
- *
580
- * @param {Date} date the date object
581
- * @param {boolean} isShortName short or long name
582
- * @returns {string} the month English name
583
- */
584
- function getMonthName(date, isShortName = false) {
585
- return date.toLocaleDateString('en-US', { month: isShortName ? 'short' : 'long' });
586
- }
587
877
  /**
588
- * The function `getTimeIndex` calculates the index of a given time string based on a specified time unit.
589
- *
590
- * @param {string} timeString - A string representing a time in the format "HH:MM", where HH is the hour and MM is the minutes.
591
- * @param {number} [unit=15] - The `unit` parameter in the `getTimeIndex` function is used to specify
592
- * the interval in minutes for dividing the day. By default, it is set to 15 minutes, meaning that the
593
- * day will be divided into 15-minute intervals.
594
- * @returns {number} the index of the given time string based on the specified time unit.
878
+ * Calendar week view generator
595
879
  */
596
- function getTimeIndex(timeString, unit = 15) {
597
- const [hour, minutes] = timeString.split(':');
598
- return Math.round((Number(hour) * 60 + Number(minutes)) / unit);
880
+ class WeekViewGenerator extends CalendarViewGenerator {
881
+ /**
882
+ * @inheritDoc
883
+ */
884
+ generate(period) {
885
+ const dates = this.generateDates(period);
886
+ const showWeekends = period.showWeekends;
887
+ let weekDays = this.generateWeekHead();
888
+ let dateItems = [dates.map(CalendarDate.from)];
889
+ if (showWeekends === false) {
890
+ weekDays = weekDays.slice(1, 6);
891
+ dateItems = dateItems.map((items) => items.slice(1, 6));
892
+ }
893
+ return new CalendarView(weekDays, dateItems);
894
+ }
599
895
  }
896
+
600
897
  /**
601
- * Returns a string that includes the event key for a calendar event slot.
602
- *
603
- * @param {string} eventKey - represents the key or identifier of a calendar event.
604
- * @returns {string} a string that is a concatenation of 'vega-calendar-event-slot-' and the eventKey parameter.
898
+ * Calendar month view generator
605
899
  */
606
- function getCalendarEventSlotName(eventKey) {
607
- return 'vega-calendar-event-slot-' + eventKey;
900
+ class MonthViewGenerator extends CalendarViewGenerator {
901
+ /**
902
+ * @inheritDoc
903
+ */
904
+ generate(period) {
905
+ const showWeekends = period.showWeekends;
906
+ let calendarDates = [];
907
+ let week = [];
908
+ const dates = this.generateDates(period);
909
+ dates.forEach((date, i) => {
910
+ if (!(i % 7)) {
911
+ calendarDates[i / 7] = week = [];
912
+ }
913
+ const item = CalendarDate.from(date);
914
+ week.push(item);
915
+ });
916
+ let weekDays = this.generateWeekHead();
917
+ if (showWeekends === false) {
918
+ weekDays = weekDays.slice(1, 6);
919
+ calendarDates = calendarDates.map((items) => items.slice(1, 6));
920
+ }
921
+ return new CalendarView(weekDays, calendarDates);
922
+ }
608
923
  }
924
+
609
925
  /**
610
- * Returns the closest workday to a given calendar date based on a specified direction.
611
- *
612
- * @param {Date} date - The starting date from which you want to find the closest workday.
613
- * @param {'-1' | '1'} [direction=1] - Determines whether to find the closest workday in the past or future. It can have two possible values:
614
- * @returns {CalendarDate} The closest workday to the input date
926
+ * CalendarPeriod is an abstract class that represents a period of date for calendar.
615
927
  */
616
- function getClosestWorkday(date, direction = DateDirection.NEXT) {
617
- const day = date.toDate().getDay();
618
- if (day === 0 || day === 6) {
619
- let nextWorkdayGap = day === 0 ? 1 : 2;
620
- if (direction === DateDirection.PREVIOUS) {
621
- nextWorkdayGap = day === 0 ? -2 : -1;
622
- }
623
- return CalendarDate.from(new Date(date.year, date.month - 1, date.date + nextWorkdayGap));
624
- }
625
- return date;
626
- }
627
-
628
- const ellipsisVertical = {
629
- icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M48 464a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-160a48 48 0 1 1 0-96 48 48 0 1 1 0 96zM0 96a48 48 0 1 1 96 0A48 48 0 1 1 0 96z"/></svg>`,
630
- };
631
-
632
- var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
633
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
634
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
635
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
636
- return c > 3 && r && Object.defineProperty(target, key, r), r;
637
- };
638
- /** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
639
- class VegaCalendarSwitchPanelRenderer extends VegaSlimmer {
640
- constructor() {
641
- super(...arguments);
642
- /**
643
- * This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
644
- *
645
- * @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
646
- */
647
- this.handleViewChange = (input) => {
648
- this.currentPeriodController.updateCalendarPeriod(input.detail, this.postOperationDate);
649
- };
650
- /**
651
- * reset view content to today
652
- */
653
- this.todayButtonClick = () => {
654
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.now());
655
- };
656
- /**
657
- * update view content after click next button
658
- */
659
- this.nextButtonClick = () => {
660
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.next());
661
- };
662
- /**
663
- * update view content after click previous button
664
- */
665
- this.prevButtonClick = () => {
666
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.previous());
667
- };
668
- /**
669
- * The more action menu item click
670
- *
671
- * @param {NotifyObserverPayload<string>} payload The object contains the menu item key
672
- */
673
- this.moreActionMenuClick = (payload) => {
674
- this.moreActionClickEmitter.emit(payload.detail);
675
- };
928
+ class CalendarPeriod {
929
+ constructor(count, current) {
930
+ this._count = count;
931
+ this._current = current ? current : CalendarDate.from(new Date());
932
+ this.calculatePeriod(this._current);
676
933
  }
677
934
  /**
678
- * get the switch panel container element
935
+ * The current date of the period.
679
936
  *
680
- * @returns {HTMLVegaFlexElement} container element
937
+ * @type {CalendarDate}
681
938
  */
682
- getSwitchPanelRef() {
683
- return this.switchPanelRef;
939
+ get current() {
940
+ return this._current;
684
941
  }
685
942
  /**
686
- * calendar switch panel with date switch, view switch, add new button, and more action components.
943
+ * The start date of the period
687
944
  *
688
- * @returns {HTMLElement} html element
945
+ * @type {CalendarDate}
689
946
  */
690
- render() {
691
- return (h("vega-flex", { direction: "row", gap: "size-16", justifyContent: "space-between", alignItems: "center", class: "calendar-switch-panel", ref: (node) => (this.switchPanelRef = node) },
692
- this.renderDateSwitch(),
693
- h("div", { class: "calendar-view-switch-container" },
694
- this.showSwitchView ? this.renderViewSwitch() : null,
695
- this.renderMoreActionMenu())));
947
+ get startDate() {
948
+ return this._startDate;
696
949
  }
697
950
  /**
698
- * The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
951
+ * The end date of the period
699
952
  *
700
- * @returns {HTMLDivElement} action button elements container.
953
+ * @type {CalendarDate}
701
954
  */
702
- renderDateSwitch() {
703
- return (h("div", { class: "calendar-date-switch-container" },
704
- h("vega-button", { variant: "secondary", size: "small", ref: (button) => {
705
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.todayButtonClick);
706
- }, label: this.translationSlimmer.t('Today') }),
707
- h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-left'), label: "previous", showTooltip: false, ref: (button) => {
708
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.prevButtonClick);
709
- } }),
710
- h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-right'), label: "next", showTooltip: false, ref: (button) => {
711
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.nextButtonClick);
712
- } }),
713
- this.renderCurrentPeriod()));
955
+ get endDate() {
956
+ return this._endDate;
714
957
  }
715
958
  /**
716
- * The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
959
+ * The count of the period
717
960
  *
718
- * @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
961
+ * @type {number}
719
962
  */
720
- renderCurrentPeriod() {
721
- return (h("vega-font", { class: "calendar-current-date", variant: "font-field-label", color: "text-primary" }, this.getViewDateSummary()));
963
+ get count() {
964
+ return this._count;
722
965
  }
723
966
  /**
724
- * The function `renderViewSwitch` returns a JSX element for rendering a segment control component in a TypeScript React application.
967
+ * This function returns the type of the object.
725
968
  *
726
- * @returns {HTMLElement} An HTMLElement containing a vega-segment-control element with specific attributes and event handling.
969
+ * @type {string}
727
970
  */
728
- renderViewSwitch() {
729
- return (h("vega-segment-control", { segments: VegaCalendarSwitchPanelRenderer.views.map((item) => (Object.assign(Object.assign({}, item), { text: this.translationSlimmer.t(item.text) }))), size: "small", variant: "text-only", selected: this.viewMode, ref: (node) => {
730
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaChange, this.handleViewChange);
731
- } }));
971
+ get type() {
972
+ return this._type;
732
973
  }
733
974
  /**
734
- * Render an more action button if dropdown source is not empty
975
+ * This function returns the showWeekends of the object.
735
976
  *
736
- * @returns {Nullable<HTMLElement>} the additional element
977
+ * @type {boolean}
737
978
  */
738
- renderMoreActionMenu() {
739
- var _a, _b;
740
- if ((_b = (_a = this.moreActionDropdownProps) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.length) {
741
- return (h("vega-dropdown", Object.assign({ alignment: "end", trigger: "click" }, this.moreActionDropdownProps, { ref: (node) => {
742
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaDropdownClick, this.moreActionMenuClick);
743
- } }),
744
- h("vega-button-circle", { size: "small", icon: VegaInternalIconManager.getIconKey('ellipsis-vertical'), variant: "icon-only" })));
745
- }
979
+ get showWeekends() {
980
+ return this._showWeekends;
746
981
  }
747
982
  /**
748
- * Get the view content date summary info, such as `January, 2024` or `10 January, 2024` or `28 December, 2023 - 3 January, 2024`
983
+ * Go to a specific date.
749
984
  *
750
- * @returns {string} string
985
+ * @param {CalendarDate} date - The date to go to.
986
+ * @returns {this} - The current period.
751
987
  */
752
- getViewDateSummary() {
753
- const currentDate = this.currentPeriod.current;
754
- let result = '';
755
- switch (this.viewMode) {
756
- case 'day': {
757
- const monthName = this.translationSlimmer.t(getMonthName(currentDate.toDate()));
758
- result = `${currentDate.date} ${monthName}, ${currentDate.year}`;
759
- break;
760
- }
761
- case 'week': {
762
- const weekItems = this.calendarView.dateItems[0];
763
- const start = weekItems[0];
764
- const end = weekItems[weekItems.length - 1];
765
- const [startMonthName, endMonthName] = [start, end].map((item) => this.translationSlimmer.t(getMonthName(item.toDate())));
766
- result = `${start.date} ${startMonthName}${start.year === end.year ? '' : ', ' + start.year} - ${end.date} ${endMonthName}, ${end.year}`;
767
- break;
768
- }
769
- case 'month': {
770
- const monthName = this.translationSlimmer.t(getMonthName(currentDate.toDate()));
771
- result = `${monthName}, ${currentDate.year}`;
772
- break;
773
- }
774
- }
775
- return result;
988
+ goTo(date) {
989
+ return this.createBy(date);
776
990
  }
777
- }
778
- (() => {
779
- VegaInternalIconManager.register({
780
- 'chevron-right': chevronRight,
781
- 'chevron-left': chevronLeft,
782
- 'ellipsis-vertical': ellipsisVertical,
783
- });
784
- })();
785
- VegaCalendarSwitchPanelRenderer.views = [
786
- { text: 'Day', key: 'day' },
787
- { text: 'Week', key: 'week' },
788
- { text: 'Month', key: 'month' },
789
- ];
790
- __decorate$p([
791
- MapToComponentField()
792
- ], VegaCalendarSwitchPanelRenderer.prototype, "viewMode", void 0);
793
- __decorate$p([
794
- MapToComponentField()
795
- ], VegaCalendarSwitchPanelRenderer.prototype, "calendarView", void 0);
796
- __decorate$p([
797
- MapToComponentField()
798
- ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriod", void 0);
799
- __decorate$p([
800
- MapToComponentField()
801
- ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionDropdownProps", void 0);
802
- __decorate$p([
803
- MapToComponentField()
804
- ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionClickEmitter", void 0);
805
- __decorate$p([
806
- MapToComponentField()
807
- ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriodController", void 0);
808
- __decorate$p([
809
- MapToComponentField()
810
- ], VegaCalendarSwitchPanelRenderer.prototype, "calendarViewController", void 0);
811
- __decorate$p([
812
- MapToComponentField()
813
- ], VegaCalendarSwitchPanelRenderer.prototype, "translationSlimmer", void 0);
814
- __decorate$p([
815
- MapToComponentField()
816
- ], VegaCalendarSwitchPanelRenderer.prototype, "postOperationDate", void 0);
817
- __decorate$p([
818
- MapToComponentField()
819
- ], VegaCalendarSwitchPanelRenderer.prototype, "showSwitchView", void 0);
820
-
821
- var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
822
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
823
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
824
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
825
- return c > 3 && r && Object.defineProperty(target, key, r), r;
826
- };
827
- /** renders different views based on the specified view mode using month, week, and day view render. */
828
- class VegaCalendarViewRenderer extends VegaSlimmer {
829
991
  /**
830
- * Get the calendar view content element ref
992
+ * Go to now.
831
993
  *
832
- * @returns {Nullable<HTMLElement>} The div element.
994
+ * @returns {this} - The current period.
833
995
  */
834
- getCalendarViewElementRef() {
835
- return this.calendarViewElementRef;
996
+ now() {
997
+ return this.createBy(CalendarDate.from(new Date()));
836
998
  }
837
999
  /**
838
- * render the calendar month/week/day view
1000
+ * Calculate the period start date and end date.
839
1001
  *
840
- * @returns {HTMLElement} html element
1002
+ * @param {CalendarDate} date - The date to calculate the period from.
841
1003
  */
842
- render() {
843
- return (h("div", { class: `calendar-view calendar-view-${this.viewMode} ${this.showWeekends === false ? 'calendar-hide-weekends' : ''}`, ref: (node) => (this.calendarViewElementRef = node) }, this.viewMode === 'month'
844
- ? this.monthViewRenderer.render()
845
- : this.viewWithTimeRenderer.render()));
1004
+ calculatePeriod(date) {
1005
+ const cursor = date.toDate();
1006
+ if (this.count > 1) {
1007
+ cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
1008
+ }
1009
+ this._startDate = CalendarDate.from(cursor);
1010
+ cursor.setDate(cursor.getDate() + this.count - 1);
1011
+ this._endDate = CalendarDate.from(cursor);
846
1012
  }
847
1013
  }
848
- __decorate$o([
849
- MapToComponentField()
850
- ], VegaCalendarViewRenderer.prototype, "viewMode", void 0);
851
- __decorate$o([
852
- MapToComponentField()
853
- ], VegaCalendarViewRenderer.prototype, "showWeekends", void 0);
854
- __decorate$o([
855
- MapToComponentField()
856
- ], VegaCalendarViewRenderer.prototype, "monthViewRenderer", void 0);
857
- __decorate$o([
858
- MapToComponentField()
859
- ], VegaCalendarViewRenderer.prototype, "viewWithTimeRenderer", void 0);
860
1014
 
861
- var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
862
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
863
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
864
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
865
- return c > 3 && r && Object.defineProperty(target, key, r), r;
866
- };
867
- /** The code provided is defining a TypeScript class called `VegaCalendarMonthViewRenderer` that extends `VegaSlimmer`. This class is responsible for rendering a month view of a calendar component. */
868
- class VegaCalendarMonthViewRenderer extends VegaSlimmer {
869
- /**
870
- * the HTML elements that represent the month view of a calendar component.
871
- *
872
- * @returns {HTMLElement} the month view calendar content
873
- */
874
- render() {
875
- const weekHead = this.calendarView.weekdays;
876
- return (h("div", { class: "calendar-view-month-container" },
877
- h("div", { class: "calendar-view-row calendar-view-title border-divider-bottom" }, weekHead.map((title) => (h("div", { key: title }, this.translationSlimmer.t(title))))),
878
- this.renderMonthViewContent()));
1015
+ var DateDirection;
1016
+ (function (DateDirection) {
1017
+ DateDirection["PREVIOUS"] = "-1";
1018
+ DateDirection["NEXT"] = "1";
1019
+ })(DateDirection || (DateDirection = {}));
1020
+ /**
1021
+ * The function `getTimeIndex` calculates the index of a given time string based on a specified time unit.
1022
+ *
1023
+ * @param {string} timeString - A string representing a time in the format "HH:MM", where HH is the hour and MM is the minutes.
1024
+ * @param {number} [unit=15] - The `unit` parameter in the `getTimeIndex` function is used to specify
1025
+ * the interval in minutes for dividing the day. By default, it is set to 15 minutes, meaning that the
1026
+ * day will be divided into 15-minute intervals.
1027
+ * @returns {number} the index of the given time string based on the specified time unit.
1028
+ */
1029
+ function getTimeIndex(timeString, unit = 15) {
1030
+ const [hour, minutes] = timeString.split(':');
1031
+ return Math.round((Number(hour) * 60 + Number(minutes)) / unit);
1032
+ }
1033
+ /**
1034
+ * Returns a string that includes the event key for a calendar event slot.
1035
+ *
1036
+ * @param {string} eventKey - represents the key or identifier of a calendar event.
1037
+ * @returns {string} a string that is a concatenation of 'vega-calendar-event-slot-' and the eventKey parameter.
1038
+ */
1039
+ function getCalendarEventSlotName(eventKey) {
1040
+ return 'vega-calendar-event-slot-' + eventKey;
1041
+ }
1042
+ /**
1043
+ * Returns the closest workday to a given calendar date based on a specified direction.
1044
+ *
1045
+ * @param {Date} date - The starting date from which you want to find the closest workday.
1046
+ * @param {'-1' | '1'} [direction=1] - Determines whether to find the closest workday in the past or future. It can have two possible values:
1047
+ * @returns {CalendarDate} The closest workday to the input date
1048
+ */
1049
+ function getClosestWorkday(date, direction = DateDirection.NEXT) {
1050
+ const day = date.toDate().getDay();
1051
+ if (day === 0 || day === 6) {
1052
+ let nextWorkdayGap = day === 0 ? 1 : 2;
1053
+ if (direction === DateDirection.PREVIOUS) {
1054
+ nextWorkdayGap = day === 0 ? -2 : -1;
1055
+ }
1056
+ return CalendarDate.from(new Date(date.year, date.month - 1, date.date + nextWorkdayGap));
879
1057
  }
880
- /**
881
- * generating the HTML elements that represent the content of the month view in a calendar component
882
- *
883
- * @returns {HTMLElement[]} month view content and event content
884
- */
885
- renderMonthViewContent() {
886
- const monthSource = this.calendarView.dateItems;
887
- const currentDate = this.currentPeriod.current;
888
- return monthSource.map((dateArray, index) => {
889
- const eventsArray = this.monthEventRenderer.getCurrentRowEvents(dateArray);
890
- const displayEventsArray = this.monthEventRenderer.filterRowDisplayEvents(eventsArray);
891
- return (h("div", { key: index, class: "calendar-view-row border-divider-bottom" }, dateArray.map((item, itemIndex) => {
892
- var _a;
893
- const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
894
- return (h("div", { class: {
895
- 'row-cell border-divider-right': true,
896
- 'current-month-day': item.compare(currentDate).inMonth,
897
- 'active': item.isToday(),
898
- 'disabled': isDisabled,
899
- }, key: `${item.month}-${item.date}`,
900
- // eslint-disable-next-line react/jsx-no-bind
901
- onDblClick: isDisabled
902
- ? undefined
903
- : (e) => {
904
- this.handleDateBlockClick(e, item);
905
- } },
906
- this.renderDateBlock(item),
907
- this.monthEventRenderer.render(item, eventsArray[itemIndex], displayEventsArray[itemIndex], itemIndex)));
908
- })));
909
- });
1058
+ return date;
1059
+ }
1060
+ /**
1061
+ * Get event status background color.
1062
+ *
1063
+ * @param {Nullable<string | BackgroundColorsTokenType>} color the background color
1064
+ * @returns {string} background color style string
1065
+ */
1066
+ function getEventStatusBgColorStyle(color = 'bg-accent6-primary') {
1067
+ if (isBackgroundColorTokenType(color)) {
1068
+ return `.event-bg-color{${stateBackgroundColorFormatter.formatToken(color)}}`;
1069
+ }
1070
+ else {
1071
+ return `.event-bg-color{background-color:${color}}`;
1072
+ }
1073
+ }
1074
+
1075
+ /**
1076
+ * Period of day.
1077
+ */
1078
+ class DayPeriod extends CalendarPeriod {
1079
+ constructor(current, showWeekends) {
1080
+ super(DayPeriod.DISPLAY_DATE_COUNT, current);
1081
+ this._type = 'day';
1082
+ this._showWeekends = true;
1083
+ this._showWeekends = showWeekends === false ? false : true;
910
1084
  }
911
1085
  /**
912
- * It takes a `CalendarDate` object as a parameter and returns an HTML element representing a date block in the calendar view.
913
- *
914
- * @param {CalendarDate} item the day object
915
- * @returns {HTMLElement} the date block element
1086
+ * @inheritDoc
916
1087
  */
917
- renderDateBlock(item) {
918
- const isMonthFirstDay = item.date === 1;
919
- return (h("div", { class: "date" },
920
- isMonthFirstDay && h("div", { class: "month-block" }, getMonthName(item.toDate(), true)),
921
- h("div", { role: "button", tabIndex: 0, class: "grid-col",
922
- // eslint-disable-next-line react/jsx-no-bind
923
- onDblClick: (e) => this.goToCurrentDayView(e, item) }, item.date)));
1088
+ next() {
1089
+ const nextDate = this.current.toDate();
1090
+ nextDate.setDate(nextDate.getDate() + 1);
1091
+ let calendarDate = CalendarDate.from(nextDate);
1092
+ if (this._showWeekends === false) {
1093
+ calendarDate = getClosestWorkday(calendarDate);
1094
+ }
1095
+ return this.createBy(calendarDate);
924
1096
  }
925
1097
  /**
926
- * switch to current date day view
927
- *
928
- * @param {MouseEvent} e the double click event object
929
- * @param {CalendarDate} calendarDate the calendar date object
1098
+ * @inheritDoc
930
1099
  */
931
- goToCurrentDayView(e, calendarDate) {
932
- e.stopPropagation();
933
- this.currentPeriodController.updateCalendarPeriod('day', calendarDate);
1100
+ previous() {
1101
+ const previousDate = this.current.toDate();
1102
+ previousDate.setDate(previousDate.getDate() - 1);
1103
+ let calendarDate = CalendarDate.from(previousDate);
1104
+ if (this._showWeekends === false) {
1105
+ calendarDate = getClosestWorkday(calendarDate, DateDirection.PREVIOUS);
1106
+ }
1107
+ return this.createBy(calendarDate);
934
1108
  }
935
1109
  /**
936
- * emit vega click event when click the date block
1110
+ * Go to now.
937
1111
  *
938
- * @param {MouseEvent} e the mouse event object
939
- * @param {CalendarDate} calendarDate the calendar date object
1112
+ * @returns {this} - The current period.
940
1113
  */
941
- handleDateBlockClick(e, calendarDate) {
942
- const { target, clientX, clientY } = e;
943
- if (this.isMonthBlockBlankArea(target)) {
944
- const { year, month, date } = calendarDate;
945
- this.dateDblClickEmitter.emit({
946
- year,
947
- month,
948
- date,
949
- hour: 0,
950
- mouseEventInfo: { clientX, clientY },
951
- });
1114
+ now() {
1115
+ let calendarDate = CalendarDate.from(new Date());
1116
+ if (this._showWeekends === false) {
1117
+ calendarDate = getClosestWorkday(calendarDate);
952
1118
  }
1119
+ return this.createBy(calendarDate);
953
1120
  }
954
1121
  /**
955
- * determine if the clicked element is blank area
956
- *
957
- * @param {HTMLElement} element the target element
958
- * @returns {boolean} true or false
1122
+ * @inheritDoc
959
1123
  */
960
- isMonthBlockBlankArea(element) {
961
- // the more button and the calendar event component should not trigger dateDblClick event
962
- return !element.classList.contains('more-button') && element.tagName !== 'VEGA-CALENDAR-EVENT';
1124
+ createBy(current) {
1125
+ return new DayPeriod(current, this._showWeekends);
963
1126
  }
964
1127
  }
965
- __decorate$n([
966
- MapToComponentField()
967
- ], VegaCalendarMonthViewRenderer.prototype, "viewMode", void 0);
968
- __decorate$n([
969
- MapToComponentField()
970
- ], VegaCalendarMonthViewRenderer.prototype, "calendarView", void 0);
971
- __decorate$n([
972
- MapToComponentField()
973
- ], VegaCalendarMonthViewRenderer.prototype, "currentPeriod", void 0);
974
- __decorate$n([
975
- MapToComponentField()
976
- ], VegaCalendarMonthViewRenderer.prototype, "currentPeriodController", void 0);
977
- __decorate$n([
978
- MapToComponentField()
979
- ], VegaCalendarMonthViewRenderer.prototype, "monthEventRenderer", void 0);
980
- __decorate$n([
981
- MapToComponentField()
982
- ], VegaCalendarMonthViewRenderer.prototype, "dateDblClickEmitter", void 0);
983
- __decorate$n([
984
- MapToComponentField()
985
- ], VegaCalendarMonthViewRenderer.prototype, "translationSlimmer", void 0);
986
- __decorate$n([
987
- MapToComponentField()
988
- ], VegaCalendarMonthViewRenderer.prototype, "isDateDisabled", void 0);
1128
+ DayPeriod.DISPLAY_DATE_COUNT = 1;
989
1129
 
990
- var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
991
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
992
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
993
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
994
- return c > 3 && r && Object.defineProperty(target, key, r), r;
995
- };
996
- /** The `VegaCalendarViewWithTimeRenderer` class in TypeScript React renders a day view for a calendar component with title, content, and hour blocks. */
997
- class VegaCalendarViewWithTimeRenderer extends VegaSlimmer {
1130
+ /**
1131
+ * Period of the week
1132
+ */
1133
+ class WeekPeriod extends CalendarPeriod {
1134
+ constructor(current, showWeekends) {
1135
+ super(WeekPeriod.DISPLAY_DATE_COUNT, current);
1136
+ this._type = 'week';
1137
+ this._showWeekends = true;
1138
+ this._showWeekends = showWeekends === false ? false : true;
1139
+ }
998
1140
  /**
999
- * The render function in TypeScript React returns an array of HTMLElements containing the week calendar view for a specific day.
1000
- *
1001
- * @returns {HTMLElement} An array of HTMLElement elements containing the rendered content of a calendar view for a
1002
- * specific day in the week. The content includes the title and the main content of the calendar view
1003
- * for that day.
1141
+ * @inheritDoc
1004
1142
  */
1005
- render() {
1006
- return (h("div", { class: "calendar-view-container" },
1007
- this.renderViewTitle(),
1008
- this.renderViewContent()));
1143
+ next() {
1144
+ const currentDate = this.current.toDate();
1145
+ currentDate.setDate(currentDate.getDate() + 7);
1146
+ return this.createBy(CalendarDate.from(currentDate));
1009
1147
  }
1010
1148
  /**
1011
- * The function `renderViewTitle` renders a calendar view title and events based on the provided source data.
1012
- *
1013
- * @returns {HTMLElement} The `renderViewTitle` function returns an HTML element (HTMLElement) that contains a calendar view title container with rows for each day's information.
1149
+ * @inheritDoc
1014
1150
  */
1015
- renderViewTitle() {
1016
- const source = this.calendarView.dateItems[0];
1017
- const weekHead = this.calendarView.weekdays;
1018
- return (h("div", { class: "calendar-view-title-container" },
1019
- h("div", { class: "calendar-view-row" },
1020
- h("div", { class: "time-line-empty" }),
1021
- h("div", { class: "calendar-view-title" }, source.map((item, index) => (h("div", { key: item.date, class: { active: item.isToday() } },
1022
- h("div", null, this.translationSlimmer.t(weekHead[index])),
1023
- h("div", { class: "week-day" }, item.date)))))),
1024
- h("div", { class: "calendar-view-row calendar-view-event-all-container border-divider-bottom" },
1025
- h("div", { class: "time-line-all" }, this.translationSlimmer.t('All Day')),
1026
- this.dayViewFullDayEventRenderer.render())));
1151
+ previous() {
1152
+ const currentDate = this.current.toDate();
1153
+ currentDate.setDate(currentDate.getDate() - 7);
1154
+ return this.createBy(CalendarDate.from(currentDate));
1027
1155
  }
1028
1156
  /**
1029
- * The `renderViewContent` function in TypeScript React renders a calendar view with day blocks and time markers based on the provided data.
1030
- *
1031
- * @returns {HTMLElement} An HTMLElement containing a calendar view row with day containers, a timeline renderer, a content container, a day list, and hour blocks for each item in the source array.
1157
+ * @inheritDoc
1032
1158
  */
1033
- renderViewContent() {
1034
- const source = this.calendarView.dateItems[0];
1035
- return (h("div", { class: "calendar-view-row calendar-view-day-container" },
1036
- this.timeLineRenderer.render(),
1037
- h("div", { class: "calendar-view-content-container" },
1038
- h("div", { class: "calendar-view-content" }, source.map((item) => {
1039
- var _a;
1040
- const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
1041
- return (h("div", { class: {
1042
- 'grid-col border-divider-left': true,
1043
- 'disabled': isDisabled,
1044
- }, key: item.date },
1045
- h("div", { class: "hour-empty border-divider-top" }),
1046
- this.renderHourBlock(item, isDisabled)));
1047
- })),
1048
- this.dayViewTimedEventRenderer.render(),
1049
- this.timeMarkerRenderer.render(source))));
1159
+ createBy(current) {
1160
+ return new WeekPeriod(current, this._showWeekends);
1161
+ }
1162
+ }
1163
+ WeekPeriod.DISPLAY_DATE_COUNT = 7;
1164
+
1165
+ /**
1166
+ * Period of month
1167
+ */
1168
+ class MonthPeriod extends CalendarPeriod {
1169
+ constructor(current, showWeekends) {
1170
+ super(MonthPeriod.DISPLAY_DATE_COUNT, current);
1171
+ this._type = 'month';
1172
+ this._showWeekends = true;
1173
+ this._showWeekends = showWeekends === false ? false : true;
1050
1174
  }
1051
1175
  /**
1052
- * The function `renderHourBlock` returns an array of HTML elements representing hour blocks with time information.
1176
+ * The function `getMonthFirstDay` returns the first day of a given month in a calendar.
1053
1177
  *
1054
- * @param {CalendarDate} calendarDate then current calendar date object
1055
- * @returns {HTMLElement[]} An array of HTMLElements is being returned. Each HTMLElement represents an hour block with a time value inside a div element.
1178
+ * @param {CalendarDate} [calendarDate] - The `calendarDate` parameter is an optional parameter of
1179
+ * type `CalendarDate`. It represents a specific date in the calendar. If a `calendarDate` is
1180
+ * provided, the function will use that date to determine the first day of the month. If no
1181
+ * `calendarDate` is provided, the function
1182
+ * @returns {CalendarDate} A new `CalendarDate` object representing the first day of the month from the provided
1183
+ * `calendarDate` parameter or the current date if no parameter is provided.
1056
1184
  */
1057
- renderHourBlock(calendarDate, isDisabled) {
1058
- const timeLineSource = Array(24).fill('');
1059
- return timeLineSource.map((_item, index) => {
1060
- var _a;
1061
- let isHourDisabled = false;
1062
- if (!isDisabled) {
1063
- const dateWithHour = new Date(calendarDate.toDate().setHours(index));
1064
- isHourDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, dateWithHour);
1065
- }
1066
- return (h("div", { class: {
1067
- 'grid-cell border-divider-top': true,
1068
- 'disabled': isDisabled || isHourDisabled,
1069
- },
1070
- // eslint-disable-next-line react/jsx-no-bind
1071
- onDblClick: isDisabled || isHourDisabled
1072
- ? undefined
1073
- : (e) => this.handleDateBlockClick(calendarDate, index, e) }));
1074
- });
1185
+ static getMonthFirstDay(calendarDate) {
1186
+ const date = calendarDate || CalendarDate.from(new Date());
1187
+ return new CalendarDate(date.year, date.month, 1);
1075
1188
  }
1076
1189
  /**
1077
- * emit vega click event when click the date block
1190
+ * Calculate the period start date and end date.
1078
1191
  *
1079
- * @param {CalendarDate} calendarDate the calendar date object
1192
+ * @param {CalendarDate} date - The date to calculate the period from.
1080
1193
  */
1081
- handleDateBlockClick(calendarDate, hour, e) {
1082
- const { year, month, date } = calendarDate;
1083
- const { clientX, clientY } = e;
1084
- this.dateDblClickEmitter.emit({ year, month, date, hour, mouseEventInfo: { clientX, clientY } });
1194
+ calculatePeriod(date) {
1195
+ const firstDay = MonthPeriod.getMonthFirstDay(date);
1196
+ const cursor = firstDay.toDate();
1197
+ cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
1198
+ this._startDate = CalendarDate.from(cursor);
1199
+ cursor.setDate(cursor.getDate() + this.count - 1);
1200
+ this._endDate = CalendarDate.from(cursor);
1085
1201
  }
1086
- }
1087
- __decorate$m([
1088
- MapToComponentField()
1089
- ], VegaCalendarViewWithTimeRenderer.prototype, "viewMode", void 0);
1090
- __decorate$m([
1091
- MapToComponentField()
1092
- ], VegaCalendarViewWithTimeRenderer.prototype, "timeLineRenderer", void 0);
1093
- __decorate$m([
1094
- MapToComponentField()
1095
- ], VegaCalendarViewWithTimeRenderer.prototype, "timeMarkerRenderer", void 0);
1096
- __decorate$m([
1097
- MapToComponentField()
1098
- ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewTimedEventRenderer", void 0);
1099
- __decorate$m([
1100
- MapToComponentField()
1101
- ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewFullDayEventRenderer", void 0);
1102
- __decorate$m([
1103
- MapToComponentField()
1104
- ], VegaCalendarViewWithTimeRenderer.prototype, "calendarView", void 0);
1105
- __decorate$m([
1106
- MapToComponentField()
1107
- ], VegaCalendarViewWithTimeRenderer.prototype, "dateDblClickEmitter", void 0);
1108
- __decorate$m([
1109
- MapToComponentField()
1110
- ], VegaCalendarViewWithTimeRenderer.prototype, "translationSlimmer", void 0);
1111
- __decorate$m([
1112
- MapToComponentField()
1113
- ], VegaCalendarViewWithTimeRenderer.prototype, "isDateDisabled", void 0);
1114
-
1115
- var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1116
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1117
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1118
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1119
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1120
- };
1121
- /** The `VegaCalendarTimeLineRenderer` class in TypeScript React renders a time line with custom time format options and includes methods for rendering time markers and the time line itself. */
1122
- class VegaCalendarTimeLineRenderer extends VegaSlimmer {
1123
1202
  /**
1124
- * rendering the time line component as an HTML element
1125
- *
1126
- * @returns {HTMLElement} the html element
1203
+ * @inheritDoc
1127
1204
  */
1128
- render() {
1129
- const timeLineSource = this.getTimeLineTitles();
1130
- return (h("div", { class: "time-line" },
1131
- h("div", { class: "hour-empty" }),
1132
- timeLineSource.map((time, index) => {
1133
- return (h("div", { key: time },
1134
- h("div", { class: "time-text", "data-time": index === 0 ? 24 : index }, time)));
1135
- })));
1205
+ next() {
1206
+ const next = this.current.toDate();
1207
+ next.setMonth(next.getMonth() + 1);
1208
+ return this.createBy(CalendarDate.from(next));
1136
1209
  }
1137
1210
  /**
1138
- * The function `getTimeLineTitles` generates a time line array based on the specified time format (24-hour) and stores it in the `timeLineSource` property.
1139
- *
1140
- * @returns {string[]} returns an array of strings representing the time line
1211
+ * @inheritDoc
1141
1212
  */
1142
- getTimeLineTitles() {
1143
- const timeLine = [];
1144
- if (this.timeFormat === '12-hour') {
1145
- timeLine.push('12 AM');
1146
- for (let i = 1; i < 12; i++) {
1147
- timeLine.push(`${i} AM`);
1148
- }
1149
- timeLine.push('12 PM');
1150
- for (let i = 1; i < 12; i++) {
1151
- timeLine.push(`${i} PM`);
1152
- }
1153
- }
1154
- else {
1155
- for (let i = 0; i < 24; i++) {
1156
- timeLine.push(`${pad(i)}`);
1157
- }
1158
- }
1159
- return timeLine;
1213
+ previous() {
1214
+ const previous = this.current.toDate();
1215
+ previous.setMonth(previous.getMonth() - 1);
1216
+ return this.createBy(CalendarDate.from(previous));
1217
+ }
1218
+ /**
1219
+ * @inheritDoc
1220
+ */
1221
+ createBy(current) {
1222
+ return new MonthPeriod(current, this._showWeekends);
1160
1223
  }
1161
1224
  }
1162
- __decorate$l([
1163
- MapToComponentField()
1164
- ], VegaCalendarTimeLineRenderer.prototype, "timeFormat", void 0);
1225
+ MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
1165
1226
 
1166
- var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1227
+ var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1167
1228
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1168
1229
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1169
1230
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1216,26 +1277,26 @@ class VegaCalendarViewController extends VegaSlimmer {
1216
1277
  this.calendarView = newView;
1217
1278
  }
1218
1279
  }
1219
- __decorate$k([
1280
+ __decorate$n([
1220
1281
  MapToComponentField({ writable: true })
1221
1282
  ], VegaCalendarViewController.prototype, "calendarView", void 0);
1222
- __decorate$k([
1283
+ __decorate$n([
1223
1284
  MapToComponentField()
1224
1285
  ], VegaCalendarViewController.prototype, "currentPeriod", void 0);
1225
- __decorate$k([
1286
+ __decorate$n([
1226
1287
  MapToComponentField()
1227
1288
  ], VegaCalendarViewController.prototype, "showWeekends", void 0);
1228
- __decorate$k([
1289
+ __decorate$n([
1229
1290
  MapToComponentField()
1230
1291
  ], VegaCalendarViewController.prototype, "currentPeriodController", void 0);
1231
- __decorate$k([
1292
+ __decorate$n([
1232
1293
  MapToComponentMethod('componentWillLoad')
1233
1294
  ], VegaCalendarViewController.prototype, "initialCalendarView", null);
1234
- __decorate$k([
1295
+ __decorate$n([
1235
1296
  MapToComponentMethod('watchCurrentPeriodChange')
1236
1297
  ], VegaCalendarViewController.prototype, "generateCalendarView", null);
1237
1298
 
1238
- var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1299
+ var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1239
1300
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1240
1301
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1241
1302
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1339,32 +1400,32 @@ class VegaCalendarCurrentPeriodController extends VegaSlimmer {
1339
1400
  };
1340
1401
  }
1341
1402
  }
1342
- __decorate$j([
1403
+ __decorate$m([
1343
1404
  MapToComponentField({ writable: true })
1344
1405
  ], VegaCalendarCurrentPeriodController.prototype, "currentPeriod", void 0);
1345
- __decorate$j([
1406
+ __decorate$m([
1346
1407
  MapToComponentField()
1347
1408
  ], VegaCalendarCurrentPeriodController.prototype, "changeEventEmitter", void 0);
1348
- __decorate$j([
1409
+ __decorate$m([
1349
1410
  MapToComponentField({ writable: true })
1350
1411
  ], VegaCalendarCurrentPeriodController.prototype, "viewMode", void 0);
1351
- __decorate$j([
1412
+ __decorate$m([
1352
1413
  MapToComponentField()
1353
1414
  ], VegaCalendarCurrentPeriodController.prototype, "showWeekends", void 0);
1354
- __decorate$j([
1415
+ __decorate$m([
1355
1416
  MapToComponentMethod('componentWillLoad')
1356
1417
  ], VegaCalendarCurrentPeriodController.prototype, "initialCurrentPeriod", null);
1357
- __decorate$j([
1418
+ __decorate$m([
1358
1419
  MapToComponentMethod('watchCurrentPeriodChange')
1359
1420
  ], VegaCalendarCurrentPeriodController.prototype, "emitChangeEvent", null);
1360
- __decorate$j([
1421
+ __decorate$m([
1361
1422
  MapToComponentMethod('watchViewModeChange')
1362
1423
  ], VegaCalendarCurrentPeriodController.prototype, "updateCurrentPeriodByViewMode", null);
1363
- __decorate$j([
1424
+ __decorate$m([
1364
1425
  MapToComponentMethod('watchShowWeekendsChange')
1365
1426
  ], VegaCalendarCurrentPeriodController.prototype, "updateCurrentPeriodAfterHideWeekEndsChange", null);
1366
1427
 
1367
- var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1428
+ var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1368
1429
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1369
1430
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1370
1431
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1375,6 +1436,7 @@ class VegaCalendarMonthEventRenderer extends VegaSlimmer {
1375
1436
  constructor() {
1376
1437
  super(...arguments);
1377
1438
  this.maxMonthDisplayEventsCount = 2;
1439
+ this.popoverHideObserver = null;
1378
1440
  }
1379
1441
  /**
1380
1442
  * current row dates all events.
@@ -1428,8 +1490,8 @@ class VegaCalendarMonthEventRenderer extends VegaSlimmer {
1428
1490
  .slice(displayEvents.length)
1429
1491
  .filter((item) => item).length;
1430
1492
  return (h("div", { class: "events-container", ref: (node) => (this.eventContainerRef = node) },
1431
- h("div", { class: "event-list" }, this.fullDayEventLayoutRenderer.render(displayEvents, currentViewIndex)),
1432
- this.renderMoreButton(allEvents, hiddenEventsLength, `${calendarDate.date} ${getMonthName(calendarDate.toDate())} ${calendarDate.year}`)));
1493
+ h("div", { class: "event-list" }, this.fullDayEventLayoutRenderer.render(displayEvents, currentViewIndex, calendarDate)),
1494
+ this.renderMoreButton(allEvents, hiddenEventsLength, calendarDate)));
1433
1495
  }
1434
1496
  /**
1435
1497
  * Add a month event display count change observer, than update the component
@@ -1447,10 +1509,10 @@ class VegaCalendarMonthEventRenderer extends VegaSlimmer {
1447
1509
  *
1448
1510
  * @param {Nullable<CalendarEvent>[]} events all event list array
1449
1511
  * @param {number} moreItemsLength popover events length
1450
- * @param {string} title the popover title
1512
+ * @param {CalendarDate} calendarDate current date
1451
1513
  * @returns {Nullable<HTMLDivElement>} the more button or null
1452
1514
  */
1453
- renderMoreButton(events, moreItemsLength, title) {
1515
+ renderMoreButton(events, moreItemsLength, calendarDate) {
1454
1516
  if (moreItemsLength) {
1455
1517
  const backgroundColorEvents = events.filter((eventItem) => {
1456
1518
  return eventItem && (eventItem.isAllDayEvent || eventItem.isGroupEvent());
@@ -1459,24 +1521,34 @@ class VegaCalendarMonthEventRenderer extends VegaSlimmer {
1459
1521
  return eventItem && !eventItem.isAllDayEvent && !eventItem.isGroupEvent();
1460
1522
  });
1461
1523
  return (h("div", { class: "month-event-more" },
1462
- h("vega-popover", { trigger: "click", placement: "right" },
1524
+ h("vega-popover", { trigger: "click", placement: "right", padding: '0', ref: (el) => {
1525
+ this.setPopoverHideObserver(el, events);
1526
+ }, isScreenPosition: true },
1463
1527
  h("div", { tabIndex: 0, slot: "popover-content", role: "button", class: "more-button", onKeyDown: createEnterKeyHandlerToTriggerClick() }, `${moreItemsLength} More`),
1464
- h("vega-flex", { slot: "popover", direction: "col", gap: "0" },
1465
- h("vega-font", { textAlign: "center", variant: "font-field-label", color: "text-primary", style: { padding: '4px 0', marginBottom: '8px' } }, title),
1466
- h("vega-flex", { direction: "col", gap: "size-4", style: { paddingBottom: otherEvents.length ? '4px' : '0px' } }, backgroundColorEvents.map((item) => {
1467
- return this.eventItemRenderer.render(item, {
1468
- 'month-event': true,
1469
- 'calendar-event-large-size': true,
1470
- 'calendar-event-in-popover': true,
1471
- });
1472
- })),
1473
- otherEvents.map((item) => {
1474
- return this.eventItemRenderer.render(item, {
1475
- 'month-event': true,
1476
- 'calendar-event-large-size': true,
1477
- 'calendar-event-in-popover': true,
1478
- });
1479
- })))));
1528
+ h("vega-flex", { slot: "popover" },
1529
+ h("vega-box", { padding: 'size-12', width: 256 },
1530
+ h("vega-flex", { direction: "col", gap: "0", class: "group-events" },
1531
+ h("vega-font", { textAlign: "center", variant: "font-field-label", color: "text-primary", style: { padding: '4px 0', marginBottom: '8px' } }, `${calendarDate.date} ${calendarDate.getMonthName()} ${calendarDate.year}`),
1532
+ h("vega-box", { maxHeight: 'calc(60vh - 6px)', style: { overflowY: 'auto' }, padding: 'size-4' },
1533
+ h("vega-flex", { direction: "col", gap: "size-4", style: { paddingBottom: otherEvents.length ? '4px' : '0px' } }, backgroundColorEvents.map((item) => {
1534
+ return this.eventItemRenderer.render(item, {
1535
+ 'month-event': true,
1536
+ 'calendar-event-large-size': true,
1537
+ 'calendar-event-in-popover': true,
1538
+ }, calendarDate, true);
1539
+ })),
1540
+ otherEvents.map((item) => {
1541
+ return this.eventItemRenderer.render(item, {
1542
+ 'month-event': true,
1543
+ 'calendar-event-large-size': true,
1544
+ 'calendar-event-in-popover': true,
1545
+ }, calendarDate, true);
1546
+ })))),
1547
+ h("div", { class: "preview-container", ref: (el) => {
1548
+ el
1549
+ ? this.eventPreviewPopoverController.setEventPreviewContainerMap(events, calendarDate, el)
1550
+ : this.eventPreviewPopoverController.deleteEventPreviewContainer(events, calendarDate);
1551
+ } })))));
1480
1552
  }
1481
1553
  }
1482
1554
  /*
@@ -1520,23 +1592,46 @@ class VegaCalendarMonthEventRenderer extends VegaSlimmer {
1520
1592
  }
1521
1593
  return rowEvents;
1522
1594
  }
1595
+ setPopoverHideObserver(popover, events) {
1596
+ if (popover) {
1597
+ this.popoverHideObserver = new Observer((payload) => events.includes(payload), async () => await popover.hide());
1598
+ ChangeManager.register(CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.popoverHideObserver);
1599
+ }
1600
+ else if (this.popoverHideObserver) {
1601
+ ChangeManager.unregister(CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.popoverHideObserver);
1602
+ }
1603
+ // we should clear current event in vega-calendar-event-preview when popover hide
1604
+ popover &&
1605
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverHide, () => {
1606
+ ChangeManager.notify(domNodeSubjectFactory.getSubject(this.renderer.getEventPreviewRef(), VegaInternalCalendarEventPreviewClear), {});
1607
+ });
1608
+ }
1523
1609
  }
1524
- __decorate$i([
1610
+ __decorate$l([
1525
1611
  MapToComponentField()
1526
1612
  ], VegaCalendarMonthEventRenderer.prototype, "viewMode", void 0);
1527
- __decorate$i([
1613
+ __decorate$l([
1528
1614
  MapToComponentField()
1529
1615
  ], VegaCalendarMonthEventRenderer.prototype, "host", void 0);
1530
- __decorate$i([
1616
+ __decorate$l([
1531
1617
  MapToComponentField()
1532
1618
  ], VegaCalendarMonthEventRenderer.prototype, "calendarEventController", void 0);
1533
- __decorate$i([
1619
+ __decorate$l([
1534
1620
  MapToComponentField()
1535
1621
  ], VegaCalendarMonthEventRenderer.prototype, "eventItemRenderer", void 0);
1536
- __decorate$i([
1622
+ __decorate$l([
1537
1623
  MapToComponentField()
1538
1624
  ], VegaCalendarMonthEventRenderer.prototype, "fullDayEventLayoutRenderer", void 0);
1539
- __decorate$i([
1625
+ __decorate$l([
1626
+ MapToComponentField()
1627
+ ], VegaCalendarMonthEventRenderer.prototype, "eventPreviewPopoverRenderer", void 0);
1628
+ __decorate$l([
1629
+ MapToComponentField()
1630
+ ], VegaCalendarMonthEventRenderer.prototype, "renderer", void 0);
1631
+ __decorate$l([
1632
+ MapToComponentField()
1633
+ ], VegaCalendarMonthEventRenderer.prototype, "eventPreviewPopoverController", void 0);
1634
+ __decorate$l([
1540
1635
  MapToComponentMethod('componentWillLoad')
1541
1636
  ], VegaCalendarMonthEventRenderer.prototype, "addMaxDisplayCountChange", null);
1542
1637
 
@@ -1599,6 +1694,21 @@ class CalendarEventBaseRepeatPattern {
1599
1694
  (seriesEnd >= rangeStart && seriesEnd <= rangeEnd) ||
1600
1695
  (seriesStart <= rangeStart && seriesEnd >= rangeEnd));
1601
1696
  }
1697
+ /**
1698
+ * The function generates a string representation of the end condition for a repeating event,
1699
+ * either by a specific date or after a certain number of occurrences.
1700
+ *
1701
+ * @returns {string} a string representing the end condition of a repeating event.
1702
+ */
1703
+ generateRepeatEndsString() {
1704
+ if (this.until) {
1705
+ return ` ${VegaInternalTranslation.t('until {0}', `${this.until.getMonthName()} ${this.until.date}, ${this.until.year}`)}`;
1706
+ }
1707
+ else if (this.count) {
1708
+ return ` ${VegaInternalTranslation.t('after {0} occurrences', this.count)}`;
1709
+ }
1710
+ return '';
1711
+ }
1602
1712
  }
1603
1713
  CalendarEventBaseRepeatPattern.daySeconds = 24 * 60 * 60 * 1000;
1604
1714
 
@@ -1622,6 +1732,17 @@ class CalendarEventDailyRepeatPattern extends CalendarEventBaseRepeatPattern {
1622
1732
  super(startDate, interval, count, until);
1623
1733
  this.initCache();
1624
1734
  }
1735
+ /**
1736
+ * Generate repeat display string.
1737
+ *
1738
+ * @returns {string} repeat display string
1739
+ */
1740
+ generateRepeatString() {
1741
+ const repeatString = this.interval > 1
1742
+ ? VegaInternalTranslation.t('Repeat every {0} days', this.interval)
1743
+ : VegaInternalTranslation.t('Repeat daily');
1744
+ return repeatString + this.generateRepeatEndsString();
1745
+ }
1625
1746
  /**
1626
1747
  * The function generates and caches repeated dates before a specified end date.
1627
1748
  *
@@ -1700,6 +1821,17 @@ class CalendarEventMonthlyRepeatPattern extends CalendarEventBaseRepeatPattern {
1700
1821
  this.byMonthDay = this.repeatStartDate.date;
1701
1822
  this.initCache();
1702
1823
  }
1824
+ /**
1825
+ * Generate repeat display string.
1826
+ *
1827
+ * @returns {string} repeat display string
1828
+ */
1829
+ generateRepeatString() {
1830
+ const repeatString = this.interval > 1
1831
+ ? VegaInternalTranslation.t('Repeat every {0} months on day {1}', this.interval, this.byMonthDay)
1832
+ : VegaInternalTranslation.t('Repeat monthly on day {0}', this.byMonthDay);
1833
+ return repeatString + this.generateRepeatEndsString();
1834
+ }
1703
1835
  /**
1704
1836
  * This function generates and caches repeated dates before a specified end date.
1705
1837
  *
@@ -1811,6 +1943,18 @@ class CalendarEventWeeklyRepeatPattern extends CalendarEventBaseRepeatPattern {
1811
1943
  return this.isSeriesInPeriod(item, eventSpansDays, period);
1812
1944
  });
1813
1945
  }
1946
+ /**
1947
+ * Generate repeat display string.
1948
+ *
1949
+ * @returns {string} repeat display string
1950
+ */
1951
+ generateRepeatString() {
1952
+ const weekDays = this.byWeekDay.map((weekDay) => VegaInternalTranslation.t(WeekdayLongNames[weekDay]));
1953
+ const repeatString = this.interval > 1
1954
+ ? VegaInternalTranslation.t('Repeat every {0} weeks on {1}', this.interval, weekDays.join(', '))
1955
+ : VegaInternalTranslation.t('Repeat weekly on {0}', weekDays.join(', '));
1956
+ return repeatString + this.generateRepeatEndsString();
1957
+ }
1814
1958
  /**
1815
1959
  * This function generates repeated dates and caches them until a specified end date.
1816
1960
  *
@@ -1965,6 +2109,18 @@ class CalendarEventYearlyRepeatPattern extends CalendarEventBaseRepeatPattern {
1965
2109
  this.matchMonth = this.repeatStartDate.month;
1966
2110
  this.initCache();
1967
2111
  }
2112
+ /**
2113
+ * Generate repeat display string.
2114
+ *
2115
+ * @returns {string} repeat display string
2116
+ */
2117
+ generateRepeatString() {
2118
+ const monthName = VegaInternalTranslation.t(this.repeatStartDate.getMonthName());
2119
+ const repeatString = this.interval > 1
2120
+ ? VegaInternalTranslation.t('Repeat every {0} years on {1} {2}', this.interval, monthName, this.matchDay)
2121
+ : VegaInternalTranslation.t('Repeat yearly on {0} {1}', monthName, this.matchDay);
2122
+ return repeatString + this.generateRepeatEndsString();
2123
+ }
1968
2124
  /**
1969
2125
  * The function generates repeat dates and caches them until reaching the specified end date.
1970
2126
  *
@@ -2263,6 +2419,28 @@ class CalendarEvent {
2263
2419
  const currentDate = date.toDate();
2264
2420
  return startCalendarDate.toDate() <= currentDate && endCalendarDate.toDate() > currentDate;
2265
2421
  }
2422
+ /**
2423
+ * Generate repeat display string.
2424
+ *
2425
+ * @returns {string} repeat display string
2426
+ */
2427
+ generateRepeatString() {
2428
+ var _a;
2429
+ return ((_a = this.repeatPattern) === null || _a === void 0 ? void 0 : _a.generateRepeatString()) || '';
2430
+ }
2431
+ /**
2432
+ * Generate date display string.
2433
+ *
2434
+ * @param {CalendarDate} viewDate - The `date` to display
2435
+ * @param {TimeFormat} timeFormat - The `timeFormat` to use
2436
+ * @returns {string} repeat display string
2437
+ */
2438
+ generateDateTimeString(viewDate, timeFormat) {
2439
+ const weekDay = VegaInternalTranslation.t(Object.values(WeekdayLongNames)[viewDate.toDate().getDay()]);
2440
+ const startTime = formatDisplayTime(timeFormat, this.startTime);
2441
+ const endTime = formatDisplayTime(timeFormat, this.endTime);
2442
+ return `${weekDay}, ${viewDate.date} ${viewDate.getMonthName(true)} ${viewDate.year} ${startTime} - ${endTime}`;
2443
+ }
2266
2444
  /**
2267
2445
  * Get the number of minutes the event lasted
2268
2446
  *
@@ -2397,7 +2575,7 @@ class CalendarEvent {
2397
2575
  }
2398
2576
  }
2399
2577
 
2400
- var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2578
+ var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2401
2579
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2402
2580
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2403
2581
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2503,23 +2681,26 @@ class VegaCalendarEventController extends VegaSlimmer {
2503
2681
  }
2504
2682
  }
2505
2683
  }
2506
- __decorate$h([
2684
+ __decorate$k([
2685
+ MapToComponentField()
2686
+ ], VegaCalendarEventController.prototype, "host", void 0);
2687
+ __decorate$k([
2507
2688
  MapToComponentField({ writable: true })
2508
2689
  ], VegaCalendarEventController.prototype, "calendarEvents", void 0);
2509
- __decorate$h([
2690
+ __decorate$k([
2510
2691
  MapToComponentField()
2511
2692
  ], VegaCalendarEventController.prototype, "currentPeriod", void 0);
2512
- __decorate$h([
2693
+ __decorate$k([
2513
2694
  MapToComponentField()
2514
2695
  ], VegaCalendarEventController.prototype, "events", void 0);
2515
- __decorate$h([
2696
+ __decorate$k([
2516
2697
  MapToComponentMethod('watchEventsChange')
2517
2698
  ], VegaCalendarEventController.prototype, "updateAfterEventChange", null);
2518
- __decorate$h([
2699
+ __decorate$k([
2519
2700
  MapToComponentMethod('componentWillLoad')
2520
2701
  ], VegaCalendarEventController.prototype, "updateWhenComponentWillLoad", null);
2521
2702
 
2522
- var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2703
+ var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2523
2704
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2524
2705
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2525
2706
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2532,12 +2713,17 @@ class VegaCalendarEventItemRenderer extends VegaSlimmer {
2532
2713
  *
2533
2714
  * @param {CalendarEvent} item the calendar event object
2534
2715
  * @param {Record<string,boolean>} classMap the class name map
2716
+ * @param {CalendarDate} targetCalendarViewDate the target calendar view date
2535
2717
  * @returns {HTMLVegaCalendarEventElement} calendar event element
2536
2718
  */
2537
- render(item, classMap) {
2719
+ render(item, classMap, targetCalendarViewDate, isGroupEvent = false) {
2538
2720
  return (h("vega-calendar-event", { "data-calendar-ref": this.host, key: item.eventKey, calendarEvent: item, class: classMap, onKeyDown: createEnterKeyHandlerToTriggerClick(),
2539
2721
  // eslint-disable-next-line react/jsx-no-bind
2540
- onClick: () => this.handleEventClick(item) }, !item.isRepeatEvent && h("slot", { name: getCalendarEventSlotName(item.event.key) })));
2722
+ onClick: () => {
2723
+ this.handleEventClick(item);
2724
+ this.enabledEventPreview &&
2725
+ this.setupPreviewContainer(item, targetCalendarViewDate, isGroupEvent);
2726
+ } }, !item.isRepeatEvent && h("slot", { name: getCalendarEventSlotName(item.event.key) })));
2541
2727
  }
2542
2728
  /**
2543
2729
  * emit vega click event
@@ -2547,19 +2733,62 @@ class VegaCalendarEventItemRenderer extends VegaSlimmer {
2547
2733
  handleEventClick(eventItem) {
2548
2734
  this.eventClickEmitter.emit({ rawEvent: eventItem.event });
2549
2735
  }
2736
+ setupPreviewContainer(event, targetCalendarViewDate, isGroupEvent) {
2737
+ const previewContainer = this.eventPreviewPopoverController.getEventPreviewContainer(event, targetCalendarViewDate, isGroupEvent);
2738
+ if (previewContainer) {
2739
+ const preview = this.renderer.getEventPreviewRef();
2740
+ if (isGroupEvent) {
2741
+ preview.classList.remove('single-event-preview');
2742
+ preview.classList.add('group-event-preview');
2743
+ }
2744
+ else {
2745
+ preview.classList.remove('group-event-preview');
2746
+ preview.classList.add('single-event-preview');
2747
+ }
2748
+ // Step 1: notify preview component to update data
2749
+ ChangeManager.notify(domNodeSubjectFactory.getSubject(preview, VegaInternalCalendarEventPreviewUpdate), {
2750
+ event,
2751
+ targetCalendarViewDate,
2752
+ timeFormat: this.timeFormat,
2753
+ });
2754
+ // Step 2: append preview additional fields slot to preview component.
2755
+ const additionalFieldsSlot = this.host.querySelector('[slot=event-preview-additional-fields]');
2756
+ additionalFieldsSlot && preview.append(additionalFieldsSlot);
2757
+ // Step 3: append event slot to preview component.
2758
+ const eventSlotName = getCalendarEventSlotName(event.event.key);
2759
+ const eventSlot = this.host.querySelector(`[slot=${eventSlotName}]`);
2760
+ const previewEventSlot = preview.querySelector(`[slot=${eventSlotName}]`);
2761
+ // Since event slot is used by vega-calendar-event, we should clone it to avoid remove from original position.
2762
+ eventSlot && !previewEventSlot && preview.append(eventSlot.cloneNode(true));
2763
+ // Step 4: append preview component to popover container to display.
2764
+ previewContainer.append(preview);
2765
+ }
2766
+ }
2550
2767
  }
2551
2768
  VegaCalendarEventItemRenderer.backgroundColorModeEventHeight = 18;
2552
- __decorate$g([
2769
+ __decorate$j([
2553
2770
  MapToComponentField()
2554
2771
  ], VegaCalendarEventItemRenderer.prototype, "host", void 0);
2555
- __decorate$g([
2772
+ __decorate$j([
2556
2773
  MapToComponentField()
2557
2774
  ], VegaCalendarEventItemRenderer.prototype, "calendarView", void 0);
2558
- __decorate$g([
2775
+ __decorate$j([
2559
2776
  MapToComponentField()
2560
2777
  ], VegaCalendarEventItemRenderer.prototype, "eventClickEmitter", void 0);
2778
+ __decorate$j([
2779
+ MapToComponentField()
2780
+ ], VegaCalendarEventItemRenderer.prototype, "timeFormat", void 0);
2781
+ __decorate$j([
2782
+ MapToComponentField()
2783
+ ], VegaCalendarEventItemRenderer.prototype, "enabledEventPreview", void 0);
2784
+ __decorate$j([
2785
+ MapToComponentField()
2786
+ ], VegaCalendarEventItemRenderer.prototype, "renderer", void 0);
2787
+ __decorate$j([
2788
+ MapToComponentField()
2789
+ ], VegaCalendarEventItemRenderer.prototype, "eventPreviewPopoverController", void 0);
2561
2790
 
2562
- var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2791
+ var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2563
2792
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2564
2793
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2565
2794
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2611,23 +2840,23 @@ class VegaCalendarEventResponsiveController extends PageResizeObserverSlimmer {
2611
2840
  }
2612
2841
  }
2613
2842
  VegaCalendarEventResponsiveController.monthDateTitleHeight = 26;
2614
- __decorate$f([
2843
+ __decorate$i([
2615
2844
  MapToComponentField()
2616
2845
  ], VegaCalendarEventResponsiveController.prototype, "host", void 0);
2617
- __decorate$f([
2846
+ __decorate$i([
2618
2847
  MapToComponentField()
2619
2848
  ], VegaCalendarEventResponsiveController.prototype, "monthEventRenderer", void 0);
2620
- __decorate$f([
2849
+ __decorate$i([
2621
2850
  MapToComponentField()
2622
2851
  ], VegaCalendarEventResponsiveController.prototype, "viewMode", void 0);
2623
- __decorate$f([
2852
+ __decorate$i([
2624
2853
  MapToComponentMethod('componentDidLoad')
2625
2854
  ], VegaCalendarEventResponsiveController.prototype, "updateMaxDisplayCount", null);
2626
- __decorate$f([
2855
+ __decorate$i([
2627
2856
  MapToComponentMethod('watchViewModeChange')
2628
2857
  ], VegaCalendarEventResponsiveController.prototype, "updateMaxDisplayCountAfterSwitchToMonthView", null);
2629
2858
 
2630
- var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2859
+ var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2631
2860
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2632
2861
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2633
2862
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2649,7 +2878,7 @@ class VegaCalendarFullDayEventRenderer extends VegaSlimmer {
2649
2878
  });
2650
2879
  const orderEvents = this.fullDayEventLayoutRenderer.sortLongEvents(events);
2651
2880
  const displayEvents = this.filterDisplayEvents(orderEvents);
2652
- return (h("div", { class: "calendar-view-event-all" }, viewSource.map((item, index) => (h("div", { class: "event-all-col border-divider-left", key: item.date }, this.renderCurrentFullDayEvents(displayEvents[index], index, orderEvents[index]))))));
2881
+ return (h("div", { class: "calendar-view-event-all" }, viewSource.map((item, index) => (h("div", { class: "event-all-col border-divider-left", key: item.date }, this.renderCurrentFullDayEvents(displayEvents[index], index, orderEvents[index], item))))));
2653
2882
  }
2654
2883
  /**
2655
2884
  * render current date all day events
@@ -2659,7 +2888,7 @@ class VegaCalendarFullDayEventRenderer extends VegaSlimmer {
2659
2888
  * @param {Nullable<CalendarEvent>[]} allEvents all calendar events
2660
2889
  * @returns {HTMLVegaCalendarEventElement[]} event component array
2661
2890
  */
2662
- renderCurrentFullDayEvents(events, currentViewIndex, allEvents) {
2891
+ renderCurrentFullDayEvents(events, currentViewIndex, allEvents, targetCalendarViewDate) {
2663
2892
  const height = events.length * VegaCalendarEventItemRenderer.backgroundColorModeEventHeight - 2;
2664
2893
  const hideEventsLength = allEvents.slice(events.length).filter(Boolean).length;
2665
2894
  return (h(Fragment, null,
@@ -2667,7 +2896,7 @@ class VegaCalendarFullDayEventRenderer extends VegaSlimmer {
2667
2896
  h("span", null,
2668
2897
  events.length,
2669
2898
  " events")),
2670
- this.fullDayEventLayoutRenderer.render(events, currentViewIndex),
2899
+ this.fullDayEventLayoutRenderer.render(events, currentViewIndex, targetCalendarViewDate),
2671
2900
  hideEventsLength > 0 && this.dayViewFullDayEventMoreButtonRenderer.render(hideEventsLength)));
2672
2901
  }
2673
2902
  /**
@@ -2692,26 +2921,26 @@ class VegaCalendarFullDayEventRenderer extends VegaSlimmer {
2692
2921
  }
2693
2922
  }
2694
2923
  VegaCalendarFullDayEventRenderer.maxDisplayEventLength = 2;
2695
- __decorate$e([
2924
+ __decorate$h([
2696
2925
  MapToComponentField()
2697
2926
  ], VegaCalendarFullDayEventRenderer.prototype, "calendarView", void 0);
2698
- __decorate$e([
2927
+ __decorate$h([
2699
2928
  MapToComponentField()
2700
2929
  ], VegaCalendarFullDayEventRenderer.prototype, "calendarEventController", void 0);
2701
- __decorate$e([
2930
+ __decorate$h([
2702
2931
  MapToComponentField()
2703
2932
  ], VegaCalendarFullDayEventRenderer.prototype, "eventItemRenderer", void 0);
2704
- __decorate$e([
2933
+ __decorate$h([
2705
2934
  MapToComponentField()
2706
2935
  ], VegaCalendarFullDayEventRenderer.prototype, "fullDayEventLayoutRenderer", void 0);
2707
- __decorate$e([
2936
+ __decorate$h([
2708
2937
  MapToComponentField()
2709
2938
  ], VegaCalendarFullDayEventRenderer.prototype, "showAllEventsInDayOrWeekView", void 0);
2710
- __decorate$e([
2939
+ __decorate$h([
2711
2940
  MapToComponentField()
2712
2941
  ], VegaCalendarFullDayEventRenderer.prototype, "dayViewFullDayEventMoreButtonRenderer", void 0);
2713
2942
 
2714
- var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2943
+ var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2715
2944
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2716
2945
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2717
2946
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2727,7 +2956,7 @@ class VegaCalendarDayViewEventLayoutRenderer extends VegaSlimmer {
2727
2956
  * a day view in a calendar. It has properties like `eventLayoutColumns`, which is an array of `VegaCalendarDayViewEvent
2728
2957
  * @returns {HTMLElement[]} An array of HTMLElements representing the rendered event nodes based on the provided layout and event data.
2729
2958
  */
2730
- render(layout) {
2959
+ render(layout, targetCalendarViewDate) {
2731
2960
  const layoutColumns = layout.eventLayoutCells;
2732
2961
  const eventNodes = [];
2733
2962
  layoutColumns.forEach((columns, index) => {
@@ -2737,7 +2966,7 @@ class VegaCalendarDayViewEventLayoutRenderer extends VegaSlimmer {
2737
2966
  const currentEvent = columns.getEventBySlotIndex(i);
2738
2967
  if (currentEvent !== renderEvent) {
2739
2968
  if (renderEvent) {
2740
- eventNodes.push(h("div", { key: index, class: "time-event-block", style: this.getTimeEventStyle(start, i, index, layout.getEventColumnsSpannedCount(renderEvent)) }, this.eventItemRenderer.render(renderEvent, {
2969
+ eventNodes.push(h("div", { key: index, class: "time-event-block", style: this.getTimeEventStyle(start, i, index, layout.getEventColumnsSpannedCount(renderEvent)) }, this.eventPreviewPopoverRenderer.render(renderEvent, targetCalendarViewDate, {
2741
2970
  'day-event': true,
2742
2971
  'bg-shadow': index > 0,
2743
2972
  })));
@@ -2776,9 +3005,12 @@ class VegaCalendarDayViewEventLayoutRenderer extends VegaSlimmer {
2776
3005
  }
2777
3006
  }
2778
3007
  VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells = 24 * 4;
2779
- __decorate$d([
3008
+ __decorate$g([
2780
3009
  MapToComponentField()
2781
3010
  ], VegaCalendarDayViewEventLayoutRenderer.prototype, "eventItemRenderer", void 0);
3011
+ __decorate$g([
3012
+ MapToComponentField()
3013
+ ], VegaCalendarDayViewEventLayoutRenderer.prototype, "eventPreviewPopoverRenderer", void 0);
2782
3014
 
2783
3015
  /** This code snippet is defining an abstract class named `VegaCalendarBaseEventLayoutGenerator` in TypeScript. The class contains an abstract method `generate` that must be implemented by any class that extends `VegaCalendarBaseEventLayoutGenerator`. */
2784
3016
  class VegaCalendarBaseEventLayoutGenerator {
@@ -3062,7 +3294,7 @@ class VegaCalendarEventSorter {
3062
3294
  }
3063
3295
  }
3064
3296
 
3065
- var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3297
+ var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3066
3298
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3067
3299
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3068
3300
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3098,16 +3330,16 @@ class VegaCalendarTimedEventRenderer extends VegaSlimmer {
3098
3330
  .filter((eventItem) => !eventItem.isAllDayEvent && !eventItem.isGroupEvent());
3099
3331
  const sortEvents = this.calendarEventSorter.sortCalendarEventByTime(events);
3100
3332
  const layout = this.dayViewTimedEventLayoutGenerator.generate(sortEvents);
3101
- return this.dayViewEventLayoutRenderer.render(layout);
3333
+ return this.dayViewEventLayoutRenderer.render(layout, date);
3102
3334
  }
3103
3335
  }
3104
- __decorate$c([
3336
+ __decorate$f([
3105
3337
  MapToComponentField()
3106
3338
  ], VegaCalendarTimedEventRenderer.prototype, "calendarView", void 0);
3107
- __decorate$c([
3339
+ __decorate$f([
3108
3340
  MapToComponentField()
3109
3341
  ], VegaCalendarTimedEventRenderer.prototype, "calendarEventController", void 0);
3110
- __decorate$c([
3342
+ __decorate$f([
3111
3343
  MapToComponentField()
3112
3344
  ], VegaCalendarTimedEventRenderer.prototype, "dayViewEventLayoutRenderer", void 0);
3113
3345
 
@@ -3276,7 +3508,7 @@ class VegaCalendarFullDayEventLayoutGenerator extends VegaCalendarBaseEventLayou
3276
3508
  }
3277
3509
  }
3278
3510
 
3279
- var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3511
+ var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3280
3512
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3281
3513
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3282
3514
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3308,12 +3540,12 @@ class VegaCalendarFullDayEventLayoutRenderer extends VegaSlimmer {
3308
3540
  * @param {currentViewIndex} currentViewIndex the current index of the row
3309
3541
  * @returns {HTMLElement[]} event elements
3310
3542
  */
3311
- render(calendarEvents, currentViewIndex) {
3543
+ render(calendarEvents, currentViewIndex, targetCalendarViewDate) {
3312
3544
  return calendarEvents.map((item, index) => {
3313
3545
  if (item) {
3314
3546
  return (h("div", { key: item.eventKey, class: this.viewMode === 'month' ? 'month-event-block' : 'day-event-block', style: this.getEventStyle(item, currentViewIndex, index, this.viewMode === 'month'
3315
3547
  ? VegaCalendarFullDayEventLayoutRenderer.monthViewEventOffsetTop
3316
- : 0) }, this.eventItemRenderer.render(item, {
3548
+ : 0) }, this.eventPreviewPopoverRenderer.render(item, targetCalendarViewDate, {
3317
3549
  'month-event': this.viewMode === 'month',
3318
3550
  'day-event': this.viewMode !== 'month',
3319
3551
  })));
@@ -3361,17 +3593,20 @@ class VegaCalendarFullDayEventLayoutRenderer extends VegaSlimmer {
3361
3593
  }
3362
3594
  }
3363
3595
  VegaCalendarFullDayEventLayoutRenderer.monthViewEventOffsetTop = 26;
3364
- __decorate$b([
3596
+ __decorate$e([
3365
3597
  MapToComponentField()
3366
3598
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "eventItemRenderer", void 0);
3367
- __decorate$b([
3599
+ __decorate$e([
3368
3600
  MapToComponentField()
3369
3601
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "viewMode", void 0);
3370
- __decorate$b([
3602
+ __decorate$e([
3371
3603
  MapToComponentField()
3372
3604
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "calendarView", void 0);
3605
+ __decorate$e([
3606
+ MapToComponentField()
3607
+ ], VegaCalendarFullDayEventLayoutRenderer.prototype, "eventPreviewPopoverRenderer", void 0);
3373
3608
 
3374
- var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3609
+ var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3375
3610
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3376
3611
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3377
3612
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3408,14 +3643,14 @@ class VegaCalendarFullDayEventMoreButtonRenderer extends VegaSlimmer {
3408
3643
  this.showAllEventsInDayOrWeekView = false;
3409
3644
  }
3410
3645
  }
3411
- __decorate$a([
3646
+ __decorate$d([
3412
3647
  MapToComponentField({ writable: true })
3413
3648
  ], VegaCalendarFullDayEventMoreButtonRenderer.prototype, "showAllEventsInDayOrWeekView", void 0);
3414
- __decorate$a([
3649
+ __decorate$d([
3415
3650
  MapToComponentMethod('watchViewModeChange')
3416
3651
  ], VegaCalendarFullDayEventMoreButtonRenderer.prototype, "resetShowAllFlag", null);
3417
3652
 
3418
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3653
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3419
3654
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3420
3655
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3421
3656
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3559,26 +3794,26 @@ class VegaCalendarTimeMarkerRenderer extends VegaSlimmer {
3559
3794
  return 0;
3560
3795
  }
3561
3796
  }
3562
- __decorate$9([
3797
+ __decorate$c([
3563
3798
  MapToComponentField()
3564
3799
  ], VegaCalendarTimeMarkerRenderer.prototype, "viewMode", void 0);
3565
- __decorate$9([
3800
+ __decorate$c([
3566
3801
  MapToComponentField()
3567
3802
  ], VegaCalendarTimeMarkerRenderer.prototype, "viewRenderer", void 0);
3568
- __decorate$9([
3803
+ __decorate$c([
3569
3804
  MapToComponentMethod('watchViewModeChange')
3570
3805
  ], VegaCalendarTimeMarkerRenderer.prototype, "updateTimeLine", null);
3571
- __decorate$9([
3806
+ __decorate$c([
3572
3807
  MapToComponentMethod('disconnectedCallback')
3573
3808
  ], VegaCalendarTimeMarkerRenderer.prototype, "clearTimer", null);
3574
- __decorate$9([
3809
+ __decorate$c([
3575
3810
  MapToComponentMethod('connectedCallback')
3576
3811
  ], VegaCalendarTimeMarkerRenderer.prototype, "updateTimeLineIfComponentAddBack", null);
3577
- __decorate$9([
3812
+ __decorate$c([
3578
3813
  MapToComponentMethod('componentDidLoad')
3579
3814
  ], VegaCalendarTimeMarkerRenderer.prototype, "displayCurrentTimeBlockByDefault", null);
3580
3815
 
3581
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3816
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3582
3817
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3583
3818
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3584
3819
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3604,8 +3839,7 @@ class VegaCalendarPostOperationDateController extends VegaSlimmer {
3604
3839
  */
3605
3840
  setDate(newValue, oldValue) {
3606
3841
  if (newValue.current !== this.postOperationDate) {
3607
- // If the interval is changed from month to month, the time after the operation should be changed to the 1st of each month
3608
- if (newValue.type === 'month' && (oldValue === null || oldValue === void 0 ? void 0 : oldValue.type) === 'month') {
3842
+ if (this.shouldSetCurrentDateToFirstDayOfMonth(newValue, oldValue)) {
3609
3843
  const currentDate = newValue.current.toDate();
3610
3844
  if (currentDate) {
3611
3845
  currentDate.setDate(1);
@@ -3617,17 +3851,178 @@ class VegaCalendarPostOperationDateController extends VegaSlimmer {
3617
3851
  }
3618
3852
  }
3619
3853
  }
3854
+ /**
3855
+ * Check if the first date should be set
3856
+ * Both the new and old values are of the month type.
3857
+ * The new date is not equal to the current date.
3858
+ *
3859
+ * @param {CalendarPeriod} newValue The new calendar period
3860
+ * @param {CalendarPeriod} oldValue The old calendar period
3861
+ * @returns {boolean} True if the first date should be set, false otherwise
3862
+ */
3863
+ shouldSetCurrentDateToFirstDayOfMonth(newValue, oldValue) {
3864
+ return (newValue.type === 'month' &&
3865
+ (oldValue === null || oldValue === void 0 ? void 0 : oldValue.type) === 'month' &&
3866
+ !newValue.current.equal(CalendarDate.from(new Date())));
3867
+ }
3868
+ }
3869
+ __decorate$b([
3870
+ MapToComponentField({ writable: true })
3871
+ ], VegaCalendarPostOperationDateController.prototype, "postOperationDate", void 0);
3872
+ __decorate$b([
3873
+ MapToComponentMethod('watchCurrentPeriodChange')
3874
+ ], VegaCalendarPostOperationDateController.prototype, "setDate", null);
3875
+
3876
+ var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3877
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3878
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3879
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3880
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3881
+ };
3882
+ class VegaCalendarEventPreviewPopoverRenderer extends VegaSlimmer {
3883
+ constructor() {
3884
+ super(...arguments);
3885
+ this.popoverHideObserver = null;
3886
+ }
3887
+ render(event, targetCalendarViewDate, classMap) {
3888
+ return this.enabledEventPreview
3889
+ ? this.renderPreviewPopover(event, classMap, targetCalendarViewDate)
3890
+ : this.eventItemRenderer.render(event, classMap, targetCalendarViewDate);
3891
+ }
3892
+ renderPreviewPopover(event, classMap, targetCalendarViewDate) {
3893
+ return (h("vega-popover", { placement: this.viewMode === 'day' ? 'top' : 'right', alignment: "center", class: {
3894
+ 'event-preview-popover': true,
3895
+ 'block': true,
3896
+ }, padding: "0", size: VegaCalendarEventPreviewPopoverRenderer.SINGLE_EVENT_PREVIEW_WIDTH, ref: (el) => {
3897
+ this.setPopoverHideObserver(el, event);
3898
+ } },
3899
+ h("div", { slot: "popover-content", class: "event-preview-popover-content" }, this.eventItemRenderer.render(event, classMap, targetCalendarViewDate)),
3900
+ h("div", { slot: "popover" },
3901
+ h("div", { class: "preview-container", ref: (el) => {
3902
+ el
3903
+ ? this.eventPreviewPopoverController.setEventPreviewContainerMap(event, targetCalendarViewDate, el)
3904
+ : this.eventPreviewPopoverController.deleteEventPreviewContainer(event, targetCalendarViewDate);
3905
+ } }))));
3906
+ }
3907
+ setPopoverHideObserver(popover, event) {
3908
+ if (popover) {
3909
+ this.popoverHideObserver = new Observer((payload) => event === payload, async () => await popover.hide());
3910
+ ChangeManager.register(CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.popoverHideObserver);
3911
+ }
3912
+ else if (this.popoverHideObserver) {
3913
+ ChangeManager.unregister(CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.popoverHideObserver);
3914
+ }
3915
+ }
3916
+ }
3917
+ VegaCalendarEventPreviewPopoverRenderer.SINGLE_EVENT_PREVIEW_WIDTH = 400;
3918
+ __decorate$a([
3919
+ MapToComponentField()
3920
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "host", void 0);
3921
+ __decorate$a([
3922
+ MapToComponentField()
3923
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "renderer", void 0);
3924
+ __decorate$a([
3925
+ MapToComponentField()
3926
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "viewMode", void 0);
3927
+ __decorate$a([
3928
+ MapToComponentField()
3929
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "timeFormat", void 0);
3930
+ __decorate$a([
3931
+ MapToComponentField()
3932
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "eventItemRenderer", void 0);
3933
+ __decorate$a([
3934
+ MapToComponentField()
3935
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "enabledEventPreview", void 0);
3936
+ __decorate$a([
3937
+ MapToComponentField()
3938
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "eventPreviewPopoverController", void 0);
3939
+
3940
+ /** Event preview popover controller */
3941
+ class VegaCalendarEventPreviewPopoverController extends VegaSlimmer {
3942
+ constructor() {
3943
+ super(...arguments);
3944
+ this.singleEventPreviewContainerMap = new Map();
3945
+ this.groupEventsPreviewContainerMap = new Map();
3946
+ }
3947
+ /**
3948
+ * Set the event preview container for the given events
3949
+ *
3950
+ * @param {Nullable<CalendarEvent>[] | CalendarEvent} events - The calendar event(s)
3951
+ * @param {CalendarDate} viewDate - The current date
3952
+ * @param {HTMLElement} container - The HTML element to be used as the preview container
3953
+ */
3954
+ setEventPreviewContainerMap(events, viewDate, container) {
3955
+ const map = Array.isArray(events)
3956
+ ? this.groupEventsPreviewContainerMap
3957
+ : this.singleEventPreviewContainerMap;
3958
+ map.set(this.generateMapKey(events, viewDate), container);
3959
+ }
3960
+ /**
3961
+ * Delete the event preview container for the given events
3962
+ *
3963
+ * @param {Nullable<CalendarEvent>[] | CalendarEvent} events - The calendar event(s)
3964
+ * @param {CalendarDate} viewDate - The current date
3965
+ */
3966
+ deleteEventPreviewContainer(events, viewDate) {
3967
+ const map = Array.isArray(events)
3968
+ ? this.groupEventsPreviewContainerMap
3969
+ : this.singleEventPreviewContainerMap;
3970
+ map.delete(this.generateMapKey(events, viewDate));
3971
+ }
3972
+ /**
3973
+ * Get the event preview container for the given event
3974
+ *
3975
+ * @param {CalendarEvent} event - The calendar event
3976
+ * @param {CalendarDate} viewDate - The current date
3977
+ * @param {boolean} isGroup - Whether the event is part of a group
3978
+ * @returns {Nullable<HTMLElement>} - The HTML element used as the preview container, or null if not found
3979
+ */
3980
+ getEventPreviewContainer(event, viewDate, isGroup) {
3981
+ const map = isGroup
3982
+ ? this.groupEventsPreviewContainerMap
3983
+ : this.singleEventPreviewContainerMap;
3984
+ const singleKey = this.generateMapKey(event, viewDate);
3985
+ if (map.has(singleKey)) {
3986
+ return map.get(singleKey);
3987
+ }
3988
+ else {
3989
+ const dateString = this.getDateString(viewDate);
3990
+ const groupKey = Array.from(map.keys()).find((key) => key.includes(event.eventKey) && key.endsWith(dateString));
3991
+ if (groupKey) {
3992
+ return map.get(groupKey);
3993
+ }
3994
+ }
3995
+ }
3996
+ /**
3997
+ * Generate a unique key for the given events
3998
+ *
3999
+ * @param {Nullable<CalendarEvent>[] | CalendarEvent} events - The calendar event(s)
4000
+ * @param {CalendarDate} viewDate - The current date
4001
+ * @returns {string} - A unique string key representing the event(s)
4002
+ */
4003
+ generateMapKey(events, viewDate) {
4004
+ const dateString = this.getDateString(viewDate);
4005
+ return Array.isArray(events)
4006
+ ? events
4007
+ .filter((event) => event)
4008
+ .map((event) => event.eventKey)
4009
+ .join('-') + dateString
4010
+ : events.eventKey + dateString;
4011
+ }
4012
+ /**
4013
+ * Get a date string in the format "-YYYY-M-D" for the given date
4014
+ *
4015
+ * @param {CalendarDate} viewDate - The date object
4016
+ * @returns {string} - The formatted date string, or an empty string if the date is null
4017
+ */
4018
+ getDateString(viewDate) {
4019
+ return `-${viewDate.year}-${viewDate.month}-${viewDate.date}`;
4020
+ }
3620
4021
  }
3621
- __decorate$8([
3622
- MapToComponentField({ writable: true })
3623
- ], VegaCalendarPostOperationDateController.prototype, "postOperationDate", void 0);
3624
- __decorate$8([
3625
- MapToComponentMethod('watchCurrentPeriodChange')
3626
- ], VegaCalendarPostOperationDateController.prototype, "setDate", null);
3627
4022
 
3628
- const vegaCalendarCss = ".border-divider-top{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-left-width:0px;border-right-width:0px;border-bottom-width:0px}.border-divider-top.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.border-divider-left{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-right-width:0px;border-bottom-width:0px}.border-divider-left.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.border-divider-right{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-left-width:0px;border-bottom-width:0px}.border-divider-bottom{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-left-width:0px;border-right-width:0px}:host{display:flex;flex-direction:column;border-radius:12px;border:1px solid rgba(var(--v-border-divider, 171, 198, 216, 1));background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));overflow:hidden;width:100%;height:100%;box-sizing:border-box;max-height:1966px}.calendar-switch-panel{padding:24px;border-bottom-width:1px;border-top-width:0px;border-left-width:0px;border-right-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));flex-shrink:0;width:100%;box-sizing:border-box}.calendar-switch-panel .calendar-date-switch-container{display:flex;gap:8px;align-items:center;flex-direction:row}.calendar-switch-panel .calendar-view-switch-container{display:flex;gap:16px;align-items:center;flex-direction:row}.calendar-switch-panel .calendar-current-date{padding-left:8px}.calendar-view{width:100%;position:relative;flex-grow:1;overflow-y:auto;overflow-x:hidden;--calendar-weekday-columns:7}.calendar-view.calendar-hide-weekends{--calendar-weekday-columns:5}.calendar-view-month .calendar-view-month-container{width:100%;display:grid;min-height:100%;grid-template-rows:43px repeat(6, minmax(64px, 1fr))}.calendar-view-month .calendar-view-title{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));top:0;left:0;z-index:62}.calendar-view-month .calendar-view-title div{padding-top:12px;padding-bottom:12px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;text-align:center}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar-view-month .calendar-view-row{position:relative;display:grid;grid-template-rows:1fr;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-month .calendar-view-row.calendar-view-title{position:sticky}.calendar-view-month .calendar-view-row:last-child{border-bottom-width:0px}.calendar-view-month .calendar-view-row .row-cell{overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.calendar-view-month .calendar-view-row .row-cell:last-child{border-right-width:0px}.calendar-view-month .calendar-view-row .row-cell .date{padding-top:4px;padding-bottom:4px;padding-right:12px;padding-left:8px}.calendar-view-month .calendar-view-row .row-cell .date>div{display:inline-block;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.calendar-view-month .calendar-view-row .row-cell .date .month-block{margin-right:2px}.calendar-view-month .calendar-view-row .row-cell .date .grid-col{text-align:center;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;cursor:pointer;width:18px;height:18px;line-height:18px}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:hover{background-color:rgba(var(--v-bg-action-secondary-hover, 4, 112, 236, 0.1))}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:active{background-color:rgba(var(--v-bg-action-secondary-active, 29, 65, 195, 0.1))}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px}.calendar-view-month .calendar-view-row .row-cell.current-month-day .date>div{color:rgba(var(--v-text-primary, 32, 54, 69, 1))}.calendar-view-month .calendar-view-row .row-cell.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.calendar-view-month .calendar-view-row .row-cell.disabled .date>div{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));border-top-left-radius:9999px;border-bottom-left-radius:9999px;color:rgba(var(--v-text-on-action, 252, 252, 252, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:hover{background-color:rgba(var(--v-bg-action-hover, 4, 112, 236, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:active{background-color:rgba(var(--v-bg-action-active, 29, 65, 195, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px}.calendar-view-container{width:100%}.calendar-view-container .calendar-view-title-container{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));position:sticky;top:0;left:0;z-index:62}.calendar-view-container .calendar-view-row{box-sizing:border-box;width:100%;display:flex;flex-direction:row}.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{width:72px;text-align:right;padding-right:8px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));flex-shrink:0}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.calendar-view-container .calendar-view-title{width:100%}.calendar-view-container .calendar-view-title>div{padding:12px;padding-bottom:8px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;text-align:center;display:flex;flex-direction:column;gap:8px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar-view-container .calendar-view-title .week-day{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}.calendar-view-container .calendar-view-title .active div{color:rgba(var(--v-text-link, 19, 98, 226, 1))}.calendar-view-container .calendar-view-event-all-container{align-items:center}.calendar-view-container .calendar-view-event-all{display:grid;grid-template-rows:1fr;flex-grow:1;min-height:18px}.calendar-view-container .calendar-view-day-container .time-line{display:grid;grid-template-rows:16px repeat(24, minmax(74px, 1fr))}.calendar-view-container .calendar-view-day-container .time-line .time-text{margin-top:-9px}.calendar-view-container .calendar-view-day-container .calendar-view-content{width:100%}.calendar-view-container .calendar-view-day-container .calendar-view-content .grid-col{display:grid;grid-template-rows:16px repeat(24, minmax(74px, 1fr));grid-template-columns:minmax(64px, 1fr)}.calendar-view-container .calendar-view-day-container .calendar-view-content .grid-col>.border-divider-top:first-child{border-top-width:0px}.calendar-view-container .calendar-view-content-container{width:100%;position:relative}.calendar-view-week .calendar-view-container{min-height:100%}.calendar-view-week .calendar-view-container .calendar-view-title{display:grid;grid-template-rows:1fr;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .calendar-view-container .calendar-view-event-all{grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .calendar-view-container .calendar-view-day-container .calendar-view-content{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .time-marker-container .time-marker{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .day-event-container{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-day .calendar-view-container{min-height:100%}.time-marker-container{position:absolute;min-width:100%;left:0;top:16px;height:calc(100% - 16px);pointer-events:none}.time-marker-container.hidden{display:none}.time-marker-container .time-marker{position:absolute;height:2px;display:grid;min-width:100%;left:0;top:0;z-index:61}.time-marker-container .time-marker div{width:100%;height:2px;background-color:rgba(var(--v-bg-status-error, 255, 110, 139, 1));opacity:0.3}.time-marker-container .time-marker div.active{opacity:1;position:relative}.time-marker-container .time-marker div.active::before{content:\"\";display:block;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;position:absolute;width:8px;height:8px;background-color:rgba(var(--v-bg-status-error, 255, 110, 139, 1));top:-3px;left:-4px}.day-event-container{position:absolute;min-width:100%;left:0;top:16px;height:calc(100% - 16px);pointer-events:none}.day-event-container .day-event-col{height:100%;overflow:hidden}.day-event-container vega-calendar-event{pointer-events:auto;height:100%}.calendar-view-month .month-event-row{position:absolute;width:100%;overflow:hidden;height:calc(100% - 26px);left:0;bottom:0}.calendar-view-month .events-container{width:100%;box-sizing:border-box;overflow:hidden;padding:2px;display:flex;flex-direction:column;gap:2px;justify-content:space-between;flex-grow:1}.calendar-view-month .events-container .event-list{display:flex;flex-direction:column;gap:2px;flex-grow:1}.calendar-view-month .events-container .event-list .month-event-block{box-sizing:border-box;padding-left:2px;padding-right:3px}.calendar-view-month .events-container .month-event-more .more-button{display:inline-block;height:16px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1));cursor:pointer;border-radius:2px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}.calendar-view-month .events-container .month-event-more .more-button:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}.calendar-view-container .calendar-view-event-all{position:relative}.calendar-view-container .calendar-view-event-all .placeholder-block{padding-top:2px;padding-bottom:2px;box-sizing:content-box}.calendar-view-container .calendar-view-event-all .placeholder-block span{display:none}.calendar-view-container .calendar-view-event-all .day-event-block{padding-top:2px;padding-right:2px;box-sizing:border-box;padding-left:3px}.calendar-view-container .calendar-view-event-all .more-button{display:inline-block;height:16px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1));cursor:pointer;border-radius:2px;margin-left:2px;padding:2px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}.calendar-view-container .calendar-view-event-all .more-button:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}.calendar-view-container .calendar-view-event-all .event-all-col{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.calendar-view-container .day-event-col{position:relative}.calendar-view-container .day-event-col .time-event-block{box-sizing:border-box;padding-right:8px;padding-bottom:2px;padding-top:3px}.calendar-view-container .day-event-col .time-event-block vega-calendar-event.bg-shadow::part(event-container):not(:focus){outline:2px solid rgba(var(--v-bg-primary, 252, 252, 252, 1))}.calendar-view-container .day-event-col .time-event-block:focus-within{z-index:60 !important}.calendar-event-slot-container{display:none}";
4023
+ const vegaCalendarCss = ".border-divider-top{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-left-width:0px;border-right-width:0px;border-bottom-width:0px}.border-divider-top.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.border-divider-left{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-right-width:0px;border-bottom-width:0px}.border-divider-left.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.border-divider-right{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-left-width:0px;border-bottom-width:0px}.border-divider-bottom{border:1px solid rgba(var(--v-border-divider-secondary, 199, 217, 229, 1));border-top-width:0px;border-left-width:0px;border-right-width:0px}:host{display:flex;flex-direction:column;border-radius:12px;border:1px solid rgba(var(--v-border-divider, 171, 198, 216, 1));background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));overflow:hidden;width:100%;height:100%;box-sizing:border-box;max-height:1966px}.calendar-switch-panel{padding:24px;border-bottom-width:1px;border-top-width:0px;border-left-width:0px;border-right-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));flex-shrink:0;width:100%;box-sizing:border-box}.calendar-switch-panel .calendar-date-switch-container{display:flex;gap:8px;align-items:center;flex-direction:row}.calendar-switch-panel .calendar-view-switch-container{display:flex;gap:16px;align-items:center;flex-direction:row}.calendar-switch-panel .calendar-current-date{padding-left:8px}.calendar-view{width:100%;position:relative;flex-grow:1;overflow-y:auto;overflow-x:hidden;--calendar-weekday-columns:7}.calendar-view.calendar-hide-weekends{--calendar-weekday-columns:5}.calendar-view-month .calendar-view-month-container{width:100%;display:grid;min-height:100%;grid-template-rows:43px repeat(6, minmax(64px, 1fr))}.calendar-view-month .calendar-view-title{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));top:0;left:0;z-index:62}.calendar-view-month .calendar-view-title div{padding-top:12px;padding-bottom:12px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;text-align:center}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .calendar-view-title div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar-view-month .calendar-view-row{position:relative;display:grid;grid-template-rows:1fr;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-month .calendar-view-row.calendar-view-title{position:sticky}.calendar-view-month .calendar-view-row:last-child{border-bottom-width:0px}.calendar-view-month .calendar-view-row .row-cell{overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.calendar-view-month .calendar-view-row .row-cell:last-child{border-right-width:0px}.calendar-view-month .calendar-view-row .row-cell .date{padding-top:4px;padding-bottom:4px;padding-right:12px;padding-left:8px}.calendar-view-month .calendar-view-row .row-cell .date>div{display:inline-block;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .calendar-view-row .row-cell .date>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.calendar-view-month .calendar-view-row .row-cell .date .month-block{margin-right:2px}.calendar-view-month .calendar-view-row .row-cell .date .grid-col{text-align:center;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;cursor:pointer;width:18px;height:18px;line-height:18px}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:hover{background-color:rgba(var(--v-bg-action-secondary-hover, 4, 112, 236, 0.1))}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:active{background-color:rgba(var(--v-bg-action-secondary-active, 29, 65, 195, 0.1))}.calendar-view-month .calendar-view-row .row-cell .date .grid-col:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px}.calendar-view-month .calendar-view-row .row-cell.current-month-day .date>div{color:rgba(var(--v-text-primary, 32, 54, 69, 1))}.calendar-view-month .calendar-view-row .row-cell.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.calendar-view-month .calendar-view-row .row-cell.disabled .date>div{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));border-top-left-radius:9999px;border-bottom-left-radius:9999px;color:rgba(var(--v-text-on-action, 252, 252, 252, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:hover{background-color:rgba(var(--v-bg-action-hover, 4, 112, 236, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:active{background-color:rgba(var(--v-bg-action-active, 29, 65, 195, 1))}.calendar-view-month .calendar-view-row .row-cell.active .date .grid-col:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px}.calendar-view-container{width:100%}.calendar-view-container .calendar-view-title-container{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));position:sticky;top:0;left:0;z-index:62}.calendar-view-container .calendar-view-row{box-sizing:border-box;width:100%;display:flex;flex-direction:row}.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{width:72px;text-align:right;padding-right:8px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));flex-shrink:0}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-row .time-line,.calendar-view-container .calendar-view-row .time-line-empty,.calendar-view-container .calendar-view-row .time-line-all{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.calendar-view-container .calendar-view-title{width:100%}.calendar-view-container .calendar-view-title>div{padding:12px;padding-bottom:8px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;text-align:center;display:flex;flex-direction:column;gap:8px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-title>div{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}.calendar-view-container .calendar-view-title .week-day{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-title .week-day{font-family:\"Inter\", sans-serif;font-size:20px;font-weight:500;line-height:24px;letter-spacing:0px}}.calendar-view-container .calendar-view-title .active div{color:rgba(var(--v-text-link, 19, 98, 226, 1))}.calendar-view-container .calendar-view-event-all-container{align-items:center}.calendar-view-container .calendar-view-event-all{display:grid;grid-template-rows:1fr;flex-grow:1;min-height:18px}.calendar-view-container .calendar-view-day-container .time-line{display:grid;grid-template-rows:16px repeat(24, minmax(74px, 1fr))}.calendar-view-container .calendar-view-day-container .time-line .time-text{margin-top:-9px}.calendar-view-container .calendar-view-day-container .calendar-view-content{width:100%}.calendar-view-container .calendar-view-day-container .calendar-view-content .grid-col{display:grid;grid-template-rows:16px repeat(24, minmax(74px, 1fr));grid-template-columns:minmax(64px, 1fr)}.calendar-view-container .calendar-view-day-container .calendar-view-content .grid-col>.border-divider-top:first-child{border-top-width:0px}.calendar-view-container .calendar-view-content-container{width:100%;position:relative}.calendar-view-week .calendar-view-container{min-height:100%}.calendar-view-week .calendar-view-container .calendar-view-title{display:grid;grid-template-rows:1fr;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .calendar-view-container .calendar-view-event-all{grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .calendar-view-container .calendar-view-day-container .calendar-view-content{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .time-marker-container .time-marker{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-week .day-event-container{display:grid;grid-template-columns:repeat(var(--calendar-weekday-columns), minmax(64px, 1fr))}.calendar-view-day .calendar-view-container{min-height:100%}.time-marker-container{position:absolute;min-width:100%;left:0;top:16px;height:calc(100% - 16px);pointer-events:none}.time-marker-container.hidden{display:none}.time-marker-container .time-marker{position:absolute;height:2px;display:grid;min-width:100%;left:0;top:0;z-index:61}.time-marker-container .time-marker div{width:100%;height:2px;background-color:rgba(var(--v-bg-status-error, 255, 110, 139, 1));opacity:0.3}.time-marker-container .time-marker div.active{opacity:1;position:relative}.time-marker-container .time-marker div.active::before{content:\"\";display:block;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;position:absolute;width:8px;height:8px;background-color:rgba(var(--v-bg-status-error, 255, 110, 139, 1));top:-3px;left:-4px}.day-event-container{position:absolute;min-width:100%;left:0;top:16px;height:calc(100% - 16px);pointer-events:none}.day-event-container .day-event-col{height:100%;overflow:hidden}.day-event-container vega-calendar-event{pointer-events:auto;height:100%}.calendar-view-month .month-event-row{position:absolute;width:100%;overflow:hidden;height:calc(100% - 26px);left:0;bottom:0}.calendar-view-month .events-container{width:100%;box-sizing:border-box;overflow:hidden;padding:2px;display:flex;flex-direction:column;gap:2px;justify-content:space-between;flex-grow:1}.calendar-view-month .events-container .event-list{display:flex;flex-direction:column;gap:2px;flex-grow:1}.calendar-view-month .events-container .event-list .month-event-block{box-sizing:border-box;padding-left:2px;padding-right:3px}.calendar-view-month .events-container .month-event-more .more-button{display:inline-block;height:16px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1));cursor:pointer;border-radius:2px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-month .events-container .month-event-more .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}.calendar-view-month .events-container .month-event-more .more-button:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}.calendar-view-container .calendar-view-event-all{position:relative}.calendar-view-container .calendar-view-event-all .placeholder-block{padding-top:2px;padding-bottom:2px;box-sizing:content-box}.calendar-view-container .calendar-view-event-all .placeholder-block span{display:none}.calendar-view-container .calendar-view-event-all .day-event-block{padding-top:2px;padding-right:2px;box-sizing:border-box;padding-left:3px}.calendar-view-container .calendar-view-event-all .more-button{display:inline-block;height:16px;font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;color:rgba(var(--v-text-link, 19, 98, 226, 1));cursor:pointer;border-radius:2px;margin-left:2px;padding:2px}@media screen and (min-width: 768px) and (max-width: 1023px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.calendar-view-container .calendar-view-event-all .more-button{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}.calendar-view-container .calendar-view-event-all .more-button:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}.calendar-view-container .calendar-view-event-all .event-all-col{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.calendar-view-container .day-event-col{position:relative}.calendar-view-container .day-event-col .time-event-block{box-sizing:border-box;padding-right:8px;padding-bottom:2px;padding-top:3px}.calendar-view-container .day-event-col .time-event-block vega-calendar-event.bg-shadow::part(event-container):not(:focus){outline:2px solid rgba(var(--v-bg-primary, 252, 252, 252, 1))}.calendar-view-container .day-event-col .time-event-block:focus-within{z-index:60 !important}.calendar-event-slot-container{display:none}.event-preview-popover{height:100%}.event-preview-popover.block{display:block}.event-preview-popover .event-preview-popover-content{height:100%}";
3629
4024
 
3630
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4025
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3631
4026
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3632
4027
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3633
4028
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3665,11 +4060,13 @@ const VegaCalendar = class {
3665
4060
  // Date after recording the operation
3666
4061
  this.postOperationDateController = new VegaCalendarPostOperationDateController();
3667
4062
  this.dayViewFullDayEventRenderer = new VegaCalendarFullDayEventRenderer();
4063
+ this.eventPreviewPopoverController = new VegaCalendarEventPreviewPopoverController();
3668
4064
  this.dayViewFullDayEventMoreButtonRenderer = new VegaCalendarFullDayEventMoreButtonRenderer();
3669
4065
  this.dayViewTimedEventRenderer = new VegaCalendarTimedEventRenderer();
3670
4066
  this.eventItemRenderer = new VegaCalendarEventItemRenderer();
3671
4067
  this.dayViewEventLayoutRenderer = new VegaCalendarDayViewEventLayoutRenderer();
3672
4068
  this.fullDayEventLayoutRenderer = new VegaCalendarFullDayEventLayoutRenderer();
4069
+ this.eventPreviewPopoverRenderer = new VegaCalendarEventPreviewPopoverRenderer();
3673
4070
  this.calendarEventController = new VegaCalendarEventController();
3674
4071
  this.eventResponsiveController = new VegaCalendarEventResponsiveController();
3675
4072
  this.changeEventEmitter = createEventEmitSlimmer(VegaCalendar, VegaChange);
@@ -3731,6 +4128,12 @@ const VegaCalendar = class {
3731
4128
  * @vegaVersion 2.28.0
3732
4129
  */
3733
4130
  this.showWeekends = true;
4131
+ /**
4132
+ * Controls the visibility of the event preview popover while click event.
4133
+ *
4134
+ * @vegaVersion 2.59.0
4135
+ */
4136
+ this.enabledEventPreview = true;
3734
4137
  }
3735
4138
  /**
3736
4139
  * Tracks changes to the current period state.
@@ -3786,91 +4189,97 @@ const VegaCalendar = class {
3786
4189
  "showWeekends": ["watchShowWeekendsChange"]
3787
4190
  }; }
3788
4191
  };
3789
- __decorate$7([
4192
+ __decorate$9([
3790
4193
  InjectVegaGlobalSlimmer()
3791
4194
  ], VegaCalendar.prototype, "globalSlimmer", void 0);
3792
- __decorate$7([
4195
+ __decorate$9([
3793
4196
  InjectVegaSlimmer()
3794
4197
  ], VegaCalendar.prototype, "translationSlimmer", void 0);
3795
- __decorate$7([
4198
+ __decorate$9([
3796
4199
  InjectVegaSlimmer()
3797
4200
  ], VegaCalendar.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
3798
- __decorate$7([
4201
+ __decorate$9([
3799
4202
  InjectVegaSlimmer()
3800
4203
  ], VegaCalendar.prototype, "renderer", void 0);
3801
- __decorate$7([
4204
+ __decorate$9([
3802
4205
  InjectVegaSlimmer()
3803
4206
  ], VegaCalendar.prototype, "switchPanelRenderer", void 0);
3804
- __decorate$7([
4207
+ __decorate$9([
3805
4208
  InjectVegaSlimmer()
3806
4209
  ], VegaCalendar.prototype, "viewRenderer", void 0);
3807
- __decorate$7([
4210
+ __decorate$9([
3808
4211
  InjectVegaSlimmer()
3809
4212
  ], VegaCalendar.prototype, "monthViewRenderer", void 0);
3810
- __decorate$7([
4213
+ __decorate$9([
3811
4214
  InjectVegaSlimmer()
3812
4215
  ], VegaCalendar.prototype, "viewWithTimeRenderer", void 0);
3813
- __decorate$7([
4216
+ __decorate$9([
3814
4217
  InjectVegaSlimmer()
3815
4218
  ], VegaCalendar.prototype, "timeLineRenderer", void 0);
3816
- __decorate$7([
4219
+ __decorate$9([
3817
4220
  InjectVegaSlimmer()
3818
4221
  ], VegaCalendar.prototype, "timeMarkerRenderer", void 0);
3819
- __decorate$7([
4222
+ __decorate$9([
3820
4223
  InjectVegaSlimmer()
3821
4224
  ], VegaCalendar.prototype, "monthEventRenderer", void 0);
3822
- __decorate$7([
4225
+ __decorate$9([
3823
4226
  InjectVegaSlimmer()
3824
4227
  ], VegaCalendar.prototype, "currentPeriodController", void 0);
3825
- __decorate$7([
4228
+ __decorate$9([
3826
4229
  InjectVegaSlimmer()
3827
4230
  ], VegaCalendar.prototype, "calendarViewController", void 0);
3828
- __decorate$7([
4231
+ __decorate$9([
3829
4232
  InjectVegaSlimmer()
3830
4233
  ], VegaCalendar.prototype, "postOperationDateController", void 0);
3831
- __decorate$7([
4234
+ __decorate$9([
3832
4235
  InjectVegaSlimmer()
3833
4236
  ], VegaCalendar.prototype, "dayViewFullDayEventRenderer", void 0);
3834
- __decorate$7([
4237
+ __decorate$9([
4238
+ InjectVegaSlimmer()
4239
+ ], VegaCalendar.prototype, "eventPreviewPopoverController", void 0);
4240
+ __decorate$9([
3835
4241
  InjectVegaSlimmer()
3836
4242
  ], VegaCalendar.prototype, "dayViewFullDayEventMoreButtonRenderer", void 0);
3837
- __decorate$7([
4243
+ __decorate$9([
3838
4244
  InjectVegaSlimmer()
3839
4245
  ], VegaCalendar.prototype, "dayViewTimedEventRenderer", void 0);
3840
- __decorate$7([
4246
+ __decorate$9([
3841
4247
  InjectVegaSlimmer()
3842
4248
  ], VegaCalendar.prototype, "eventItemRenderer", void 0);
3843
- __decorate$7([
4249
+ __decorate$9([
3844
4250
  InjectVegaSlimmer()
3845
4251
  ], VegaCalendar.prototype, "dayViewEventLayoutRenderer", void 0);
3846
- __decorate$7([
4252
+ __decorate$9([
3847
4253
  InjectVegaSlimmer()
3848
4254
  ], VegaCalendar.prototype, "fullDayEventLayoutRenderer", void 0);
3849
- __decorate$7([
4255
+ __decorate$9([
4256
+ InjectVegaSlimmer()
4257
+ ], VegaCalendar.prototype, "eventPreviewPopoverRenderer", void 0);
4258
+ __decorate$9([
3850
4259
  InjectVegaSlimmer()
3851
4260
  ], VegaCalendar.prototype, "calendarEventController", void 0);
3852
- __decorate$7([
4261
+ __decorate$9([
3853
4262
  InjectVegaSlimmer()
3854
4263
  ], VegaCalendar.prototype, "eventResponsiveController", void 0);
3855
- __decorate$7([
4264
+ __decorate$9([
3856
4265
  InjectVegaSlimmer()
3857
4266
  ], VegaCalendar.prototype, "changeEventEmitter", void 0);
3858
- __decorate$7([
4267
+ __decorate$9([
3859
4268
  InjectVegaSlimmer()
3860
4269
  ], VegaCalendar.prototype, "eventClickEmitter", void 0);
3861
- __decorate$7([
4270
+ __decorate$9([
3862
4271
  InjectVegaSlimmer()
3863
4272
  ], VegaCalendar.prototype, "dateDblClickEmitter", void 0);
3864
- __decorate$7([
4273
+ __decorate$9([
3865
4274
  InjectVegaSlimmer()
3866
4275
  ], VegaCalendar.prototype, "moreActionClickEmitter", void 0);
3867
- __decorate$7([
4276
+ __decorate$9([
3868
4277
  InjectVegaSlimmer()
3869
4278
  ], VegaCalendar.prototype, "changeEventPrevent", void 0);
3870
- __decorate$7([
4279
+ __decorate$9([
3871
4280
  InjectVegaSlimmer()
3872
4281
  ], VegaCalendar.prototype, "timeFormatNotifySlimmer", void 0);
3873
- __decorate$7([
4282
+ __decorate$9([
3874
4283
  InjectVegaSlimmer()
3875
4284
  ], VegaCalendar.prototype, "showEventColorBarNotifySlimmer", void 0);
3876
4285
  VegaCalendar.style = vegaCalendarCss;
@@ -3879,7 +4288,7 @@ const clockThree = {
3879
4288
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/></svg>`,
3880
4289
  };
3881
4290
 
3882
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4291
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3883
4292
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3884
4293
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3885
4294
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3997,7 +4406,7 @@ class VegaCalendarEventRenderer extends VegaSlimmer {
3997
4406
  */
3998
4407
  defaultNormalMonthEventContentRender() {
3999
4408
  const { startTime, title } = this.calendarEvent;
4000
- return h("div", { class: "event-title" }, `${this.formatDisplayTime(startTime)} ${title}`);
4409
+ return h("div", { class: "event-title" }, `${formatDisplayTime(this.timeFormat, startTime)} ${title}`);
4001
4410
  }
4002
4411
  /**
4003
4412
  * Render the day view timed event.
@@ -4014,7 +4423,7 @@ class VegaCalendarEventRenderer extends VegaSlimmer {
4014
4423
  }, ref: (node) => (this.eventTitleContainerRef = node) }, title),
4015
4424
  h("div", { class: "event-time" },
4016
4425
  h("vega-icon", { size: "size-12", icon: VegaInternalIconManager.getIconKey('clock-three') }),
4017
- h("span", null, `${this.formatDisplayTime(startTime)} - ${this.formatDisplayTime(endTime)}`))));
4426
+ h("span", null, `${formatDisplayTime(this.timeFormat, startTime)} - ${formatDisplayTime(this.timeFormat, endTime)}`))));
4018
4427
  }
4019
4428
  /**
4020
4429
  * Return a slot element if the calendar is not a repeat event
@@ -4032,33 +4441,7 @@ class VegaCalendarEventRenderer extends VegaSlimmer {
4032
4441
  * @returns {HTMLStyleElement} style element
4033
4442
  */
4034
4443
  injectBackgroundColorStyle() {
4035
- return h("style", null, this.colorController.getBackgroundColorStyle());
4036
- }
4037
- /**
4038
- * Takes a time string as input and formats it to ensure it always has two digits for hours and minutes.
4039
- *
4040
- * @param {string} timeString the event time string
4041
- * @returns {string} time string after format
4042
- */
4043
- formatDisplayTime(timeString) {
4044
- const [hour, minutes] = timeString.split(':');
4045
- if (this.timeFormat === '24-hour') {
4046
- return `${hour.padStart(2, '0')}:${minutes.padStart(2, '0')}`;
4047
- }
4048
- else {
4049
- const hourNum = Number(hour);
4050
- const amPm = hourNum >= 12 ? 'pm' : 'am';
4051
- const minutesResult = minutes.padStart(2, '0');
4052
- if (hourNum > 12) {
4053
- return `${hourNum - 12}:${minutesResult} pm`;
4054
- }
4055
- else if (hourNum === 0) {
4056
- return `12:${minutesResult} am`;
4057
- }
4058
- else {
4059
- return `${hourNum}:${minutesResult} ${amPm}`;
4060
- }
4061
- }
4444
+ return h("style", null, getEventStatusBgColorStyle(this.calendarEvent.color));
4062
4445
  }
4063
4446
  }
4064
4447
  (() => {
@@ -4066,53 +4449,23 @@ class VegaCalendarEventRenderer extends VegaSlimmer {
4066
4449
  'clock-three': clockThree,
4067
4450
  });
4068
4451
  })();
4069
- __decorate$6([
4452
+ __decorate$8([
4070
4453
  MapToComponentField()
4071
4454
  ], VegaCalendarEventRenderer.prototype, "host", void 0);
4072
- __decorate$6([
4455
+ __decorate$8([
4073
4456
  MapToComponentField()
4074
4457
  ], VegaCalendarEventRenderer.prototype, "timeFormat", void 0);
4075
- __decorate$6([
4458
+ __decorate$8([
4076
4459
  MapToComponentField()
4077
4460
  ], VegaCalendarEventRenderer.prototype, "calendarEvent", void 0);
4078
- __decorate$6([
4461
+ __decorate$8([
4079
4462
  MapToComponentField()
4080
4463
  ], VegaCalendarEventRenderer.prototype, "slotMode", void 0);
4081
- __decorate$6([
4464
+ __decorate$8([
4082
4465
  MapToComponentField()
4083
4466
  ], VegaCalendarEventRenderer.prototype, "showColorBar", void 0);
4084
- __decorate$6([
4085
- MapToComponentField()
4086
- ], VegaCalendarEventRenderer.prototype, "colorController", void 0);
4087
-
4088
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4089
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4090
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4091
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4092
- return c > 3 && r && Object.defineProperty(target, key, r), r;
4093
- };
4094
- /** The `VegaCalendarEventBgColorController` class in TypeScript provides methods to handle background color for calendar events based on a color map and custom color variables. */
4095
- class VegaCalendarEventBgColorController extends VegaSlimmer {
4096
- /**
4097
- * Get the background color css string from the background token or background color string
4098
- *
4099
- * @returns {string} css string
4100
- */
4101
- getBackgroundColorStyle() {
4102
- const color = this.calendarEvent.color || 'bg-accent6-primary';
4103
- if (isBackgroundColorTokenType(color)) {
4104
- return `.event-bg-color{${stateBackgroundColorFormatter.formatToken(color)}}`;
4105
- }
4106
- else {
4107
- return `.event-bg-color{background-color:${color}}`;
4108
- }
4109
- }
4110
- }
4111
- __decorate$5([
4112
- MapToComponentField()
4113
- ], VegaCalendarEventBgColorController.prototype, "calendarEvent", void 0);
4114
4467
 
4115
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4468
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4116
4469
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4117
4470
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4118
4471
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4146,14 +4499,14 @@ class VegaCalendarEventSubStateController extends SubStateObserverSlimmer {
4146
4499
  });
4147
4500
  }
4148
4501
  }
4149
- __decorate$4([
4502
+ __decorate$7([
4150
4503
  MapToComponentField({ writable: true })
4151
4504
  ], VegaCalendarEventSubStateController.prototype, "timeFormat", void 0);
4152
- __decorate$4([
4505
+ __decorate$7([
4153
4506
  MapToComponentField({ writable: true })
4154
4507
  ], VegaCalendarEventSubStateController.prototype, "showColorBar", void 0);
4155
4508
 
4156
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4509
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4157
4510
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4158
4511
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4159
4512
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4185,11 +4538,11 @@ class VegaCalendarTitleMaxHeightController extends VegaSlimmer {
4185
4538
  }
4186
4539
  }
4187
4540
  }
4188
- __decorate$3([
4541
+ __decorate$6([
4189
4542
  MapToComponentField()
4190
4543
  ], VegaCalendarTitleMaxHeightController.prototype, "renderer", void 0);
4191
4544
 
4192
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4545
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4193
4546
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4194
4547
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4195
4548
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4246,28 +4599,28 @@ class VegaCalendarEventSlotController extends VegaSlimmer {
4246
4599
  return this.host.classList.contains('calendar-event-in-popover');
4247
4600
  }
4248
4601
  }
4249
- __decorate$2([
4602
+ __decorate$5([
4250
4603
  MapToComponentField()
4251
4604
  ], VegaCalendarEventSlotController.prototype, "host", void 0);
4252
- __decorate$2([
4605
+ __decorate$5([
4253
4606
  MapToComponentField()
4254
4607
  ], VegaCalendarEventSlotController.prototype, "calendarEvent", void 0);
4255
- __decorate$2([
4608
+ __decorate$5([
4256
4609
  MapToComponentField({ writable: true })
4257
4610
  ], VegaCalendarEventSlotController.prototype, "slotMode", void 0);
4258
- __decorate$2([
4611
+ __decorate$5([
4259
4612
  MapToComponentField()
4260
4613
  ], VegaCalendarEventSlotController.prototype, "renderer", void 0);
4261
- __decorate$2([
4614
+ __decorate$5([
4262
4615
  MapToComponentMethod('componentWillLoad')
4263
4616
  ], VegaCalendarEventSlotController.prototype, "findTheCalendarEventSlot", null);
4264
- __decorate$2([
4617
+ __decorate$5([
4265
4618
  MapToComponentMethod('componentDidLoad')
4266
4619
  ], VegaCalendarEventSlotController.prototype, "appendTheRepeatEventSlotToContainer", null);
4267
4620
 
4268
4621
  const vegaCalendarEventCss = ".bg-disabled{background-color:rgba(var(--v-bg-disabled, 176, 180, 181, 1))}:host{display:block;box-sizing:border-box;width:100%}:host .background-color-mode{border-radius:2px;color:rgba(var(--v-text-black, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px;cursor:pointer;overflow:hidden;white-space:nowrap}@media screen and (min-width: 768px) and (max-width: 1023px){:host .background-color-mode{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .background-color-mode{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .background-color-mode{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}:host .background-color-mode:not(.slot-container){padding-left:8px;padding-right:8px}:host .background-color-mode:focus{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}:host .event-container{display:block;width:100%;border-radius:4px;cursor:pointer;box-sizing:border-box;overflow:hidden}:host .background-color-mode.slot-container{height:16px;line-height:16px}:host ::slotted(vega-calendar-event-slot){position:relative;pointer-events:none}:host(.month-event) .event-container{display:flex;flex-direction:row;gap:4px;align-items:center;min-height:16px}:host(.month-event) .event-container:not(.slot-container){padding-left:2px;padding-right:2px}:host(.month-event) .event-container .event-status{width:8px;height:8px;box-sizing:border-box;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;margin-left:2px;flex-shrink:0}:host(.month-event) .event-container .event-status span{display:none;width:100%;height:100%;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px}:host(.month-event) .event-container .event-title{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.month-event) .event-container .event-title{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.month-event) .event-container .event-title{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.month-event) .event-container .event-title{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}:host(.month-event) .event-container.secondary .event-status span{display:block;background-size:4px 4px;opacity:0.8}:host(.month-event) .event-container.tertiary .event-status{padding:1px}:host(.month-event) .event-container.tertiary .event-status span{display:block;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1))}:host(.month-event) .event-container.disabled .event-status{background-color:rgba(var(--v-bg-disabled, 176, 180, 181, 1))}:host(.month-event) .event-container:hover{background-color:rgba(var(--v-bg-action-secondary-hover, 4, 112, 236, 0.1))}:host(.month-event) .event-container:active{background-color:rgba(var(--v-bg-action-secondary-active, 29, 65, 195, 0.1))}:host(.month-event) .event-container:focus{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}:host(.day-event) .event-container{position:relative}:host(.day-event) .event-container:not(.slot-container){padding-left:8px;padding-right:8px}:host(.day-event) .event-container .event-status{position:absolute;width:4px;height:100%;left:0;top:0;z-index:1}:host(.day-event) .event-container .event-status span{display:none}:host(.day-event) .event-container .cover-block{position:absolute;height:100%;width:100%;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border-radius:4px;left:0;top:0;opacity:0.7}:host(.day-event) .event-container .event-content,:host(.day-event) .event-container .event-time{display:flex;flex-direction:row;align-items:center}:host(.day-event) .event-container .event-content{gap:8px;position:relative;height:100%;box-sizing:border-box}:host(.day-event) .event-container .event-time{gap:4px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.day-event) .event-container .event-time{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.day-event) .event-container .event-time{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.day-event) .event-container .event-time{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:400;line-height:16px}}:host(.day-event) .event-container .event-time vega-icon{flex-shrink:0}:host(.day-event) .event-container .event-time span{white-space:nowrap}:host(.day-event) .event-container .event-title{color:rgba(var(--v-text-primary, 32, 54, 69, 1));font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}@media screen and (min-width: 768px) and (max-width: 1023px){:host(.day-event) .event-container .event-title{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host(.day-event) .event-container .event-title{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host(.day-event) .event-container .event-title{font-family:\"Inter\", sans-serif;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0px}}:host(.day-event) .event-container .event-title.title-word-wrap{overflow:hidden}:host(.day-event) .event-container .event-title:not(.title-word-wrap){white-space:nowrap}:host(.day-event) .event-container.duration-half-an-hour{padding-top:8px;padding-bottom:8px}:host(.day-event) .event-container.vertical{height:100%}:host(.day-event) .event-container.vertical .event-content{flex-direction:column;align-items:flex-start;gap:4px;padding-top:8px;padding-bottom:8px}:host(.day-event) .event-container.secondary .event-status span,:host(.day-event) .event-container.tertiary .event-status span{display:block;position:absolute;border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.day-event) .event-container.secondary .cover-block,:host(.day-event) .event-container.tertiary .cover-block{width:calc(100% - 2px);height:calc(100% - 2px);top:1px;left:1px}:host(.day-event) .event-container.secondary .event-status span{width:100%;height:100%;top:0px;left:0px;background-size:4px 4px;opacity:0.8}:host(.day-event) .event-container.secondary .cover-block{opacity:0.9}:host(.day-event) .event-container.tertiary .event-status span{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));width:2px;height:calc(100% - 2px);top:1px;left:1px}:host(.day-event) .event-container.tertiary .cover-block{opacity:1}:host(.day-event) .event-container.disabled{background-color:rgba(var(--v-bg-disabled, 176, 180, 181, 1))}:host(.day-event) .event-container.disabled .event-status{background-color:rgba(var(--v-bg-disabled, 176, 180, 181, 1))}:host(.day-event) .event-container:focus{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:0px}:host(.day-event) .slot-container{min-height:16px}:host(.month-event.calendar-event-large-size) .background-color-mode{border-radius:4px}:host(.month-event.calendar-event-large-size) .background-color-mode:not(.slot-container){padding-top:4px;padding-bottom:4px}:host(.month-event.calendar-event-large-size) .event-container:not(.slot-container){padding-top:4px;padding-bottom:4px}:host(.month-event.calendar-event-large-size) .slot-container{height:24px;display:flex;align-items:center;line-height:24px}.stripe{background-image:linear-gradient(-45deg, transparent 25%, rgba(var(--v-bg-primary, 252, 252, 252, 1)) 25% 50%, transparent 50% 75%, rgba(var(--v-bg-primary, 252, 252, 252, 1)) 75% 100%)}";
4269
4622
 
4270
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4623
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4271
4624
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4272
4625
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4273
4626
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4293,7 +4646,6 @@ const VegaCalendarEvent = class {
4293
4646
  });
4294
4647
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
4295
4648
  this.renderer = new VegaCalendarEventRenderer();
4296
- this.colorController = new VegaCalendarEventBgColorController();
4297
4649
  this.slotController = new VegaCalendarEventSlotController();
4298
4650
  this.subStateController = new VegaCalendarEventSubStateController();
4299
4651
  this.titleMaxHeightController = new VegaCalendarTitleMaxHeightController();
@@ -4307,31 +4659,197 @@ const VegaCalendarEvent = class {
4307
4659
  }
4308
4660
  get host() { return getElement(this); }
4309
4661
  };
4310
- __decorate$1([
4662
+ __decorate$4([
4311
4663
  InjectVegaGlobalSlimmer()
4312
4664
  ], VegaCalendarEvent.prototype, "globalSlimmer", void 0);
4313
- __decorate$1([
4665
+ __decorate$4([
4314
4666
  InjectVegaSlimmer()
4315
4667
  ], VegaCalendarEvent.prototype, "pageResizeObserverSlimmer", void 0);
4316
- __decorate$1([
4668
+ __decorate$4([
4317
4669
  InjectVegaSlimmer()
4318
4670
  ], VegaCalendarEvent.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
4319
- __decorate$1([
4671
+ __decorate$4([
4320
4672
  InjectVegaSlimmer()
4321
4673
  ], VegaCalendarEvent.prototype, "renderer", void 0);
4674
+ __decorate$4([
4675
+ InjectVegaSlimmer()
4676
+ ], VegaCalendarEvent.prototype, "slotController", void 0);
4677
+ __decorate$4([
4678
+ InjectVegaSlimmer()
4679
+ ], VegaCalendarEvent.prototype, "subStateController", void 0);
4680
+ __decorate$4([
4681
+ InjectVegaSlimmer()
4682
+ ], VegaCalendarEvent.prototype, "titleMaxHeightController", void 0);
4683
+ VegaCalendarEvent.style = vegaCalendarEventCss;
4684
+
4685
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4686
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4687
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4688
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4689
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4690
+ };
4691
+ /** Control the states of preview event */
4692
+ class VegaCalendarEventPreviewStateController extends VegaSlimmer {
4693
+ /**
4694
+ * connectedCallback
4695
+ */
4696
+ registerEventPreviewUpdateObserver() {
4697
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, VegaInternalCalendarEventPreviewUpdate, (payload) => {
4698
+ this.previewPayload = payload;
4699
+ this.currentEvent = payload.event;
4700
+ });
4701
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, VegaInternalCalendarEventPreviewClear, () => {
4702
+ this.currentEvent = null;
4703
+ });
4704
+ }
4705
+ /**
4706
+ * disconnectedCallback
4707
+ */
4708
+ unregisterEventPreviewUpdateObserver() {
4709
+ DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.host, VegaInternalCalendarEventPreviewUpdate);
4710
+ DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.host, VegaInternalCalendarEventPreviewClear);
4711
+ }
4712
+ }
4713
+ __decorate$3([
4714
+ MapToComponentField()
4715
+ ], VegaCalendarEventPreviewStateController.prototype, "host", void 0);
4716
+ __decorate$3([
4717
+ MapToComponentField({ writable: true })
4718
+ ], VegaCalendarEventPreviewStateController.prototype, "currentEvent", void 0);
4719
+ __decorate$3([
4720
+ MapToComponentField({ writable: true })
4721
+ ], VegaCalendarEventPreviewStateController.prototype, "previewPayload", void 0);
4722
+ __decorate$3([
4723
+ MapToComponentMethod('connectedCallback')
4724
+ ], VegaCalendarEventPreviewStateController.prototype, "registerEventPreviewUpdateObserver", null);
4725
+ __decorate$3([
4726
+ MapToComponentMethod('disconnectedCallback')
4727
+ ], VegaCalendarEventPreviewStateController.prototype, "unregisterEventPreviewUpdateObserver", null);
4728
+
4729
+ const closeIcon = {
4730
+ icon: `<svg width="17" height="16" viewBox="0 0 17 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_80261_51160)"><path d="M13.9604 1.29376C14.3511 0.903137 14.9854 0.903137 15.3761 1.29376C15.7667 1.68439 15.7667 2.31876 15.3761 2.70939L10.0823 8.00001L15.3729 13.2938C15.7636 13.6844 15.7636 14.3188 15.3729 14.7094C14.9823 15.1 14.3479 15.1 13.9573 14.7094L8.66668 9.41564L3.37293 14.7063C2.98231 15.0969 2.34793 15.0969 1.95731 14.7063C1.56668 14.3156 1.56668 13.6813 1.95731 13.2906L7.25106 8.00001L1.96043 2.70626C1.56981 2.31564 1.56981 1.68439 1.96043 1.29376C2.35106 0.903137 2.98543 0.903137 3.37606 1.29376L8.66668 6.58439L13.9604 1.29376Z" fill="currentColor" fill-opacity="0.95"/></g><defs><clipPath id="clip0_80261_51160"><rect width="14" height="16" fill="currentColor" transform="translate(1.66669)"/></clipPath></defs></svg>`,
4731
+ };
4732
+
4733
+ const clockIcon = {
4734
+ icon: `<svg width="17" height="16" viewBox="0 0 17 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_80261_52574)"><path d="M7.91669 3.75C7.91669 3.33437 8.25106 3 8.66669 3C9.08231 3 9.41669 3.33437 9.41669 3.75V7.6L12.0823 9.375C12.4261 9.60625 12.5198 10.0719 12.2636 10.4156C12.0604 10.7594 11.5948 10.8531 11.2511 10.5969L8.25106 8.59688C8.04169 8.48438 7.91669 8.25 7.91669 7.97188V3.75ZM8.66669 0C13.0854 0 16.6667 3.58125 16.6667 8C16.6667 12.4187 13.0854 16 8.66669 16C4.24794 16 0.666687 12.4187 0.666687 8C0.666687 3.58125 4.24794 0 8.66669 0ZM2.16669 8C2.16669 11.5906 5.07606 14.5 8.66669 14.5C12.2573 14.5 15.1667 11.5906 15.1667 8C15.1667 4.40938 12.2573 1.5 8.66669 1.5C5.07606 1.5 2.16669 4.40938 2.16669 8Z" fill="currentColor" fill-opacity="0.64"/></g><defs><clipPath id="clip0_80261_52574"><rect width="16" height="16" fill="currentColor" transform="translate(0.666687)"/></defs></svg>`,
4735
+ };
4736
+
4737
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4738
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4739
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4740
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4741
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4742
+ };
4743
+ class VegaCalendarEventPreviewDetailRenderer extends VegaSlimmer {
4744
+ render() {
4745
+ return (this.currentEvent && (h("vega-box", { class: "event-preview" },
4746
+ this.injectBackgroundColorStyle(),
4747
+ this.renderActions(),
4748
+ h("vega-box", { class: "preview-content" },
4749
+ h("vega-flex", { gap: "size-16", direction: "col" },
4750
+ this.renderBasicFields(),
4751
+ this.renderDivider(),
4752
+ h("slot", { name: "event-preview-additional-fields" }))))));
4753
+ }
4754
+ renderActions() {
4755
+ return (h("vega-flex", { justifyContent: "end", class: "preview-actions" },
4756
+ h("vega-button-circle", { icon: VegaInternalIconManager.getIconKey('close'), color: "text-primary", variant: "icon-only",
4757
+ /* eslint-disable-next-line react/jsx-no-bind */
4758
+ onVegaClick: () => {
4759
+ ChangeManager.notify(CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.currentEvent);
4760
+ } })));
4761
+ }
4762
+ renderBasicFields() {
4763
+ const currentEvent = this.currentEvent;
4764
+ return (h(Fragment, null,
4765
+ h("vega-flex", { alignItems: "start", gap: "size-16" }, this.renderEventTitle()),
4766
+ h("vega-flex", { alignItems: "start", gap: "size-12" },
4767
+ h("vega-icon", { icon: VegaInternalIconManager.getIconKey('clock'), color: "text-secondary" }),
4768
+ h("vega-flex", { direction: "col", gap: "size-4" },
4769
+ h("vega-font", { variant: "font-footnote1-long", color: "text-primary" }, currentEvent.generateDateTimeString(this.previewPayload.targetCalendarViewDate, this.previewPayload.timeFormat)),
4770
+ currentEvent.isRepeatEvent && (h("vega-font", { variant: "font-footnote1-long", color: "text-primary" }, currentEvent.generateRepeatString()))))));
4771
+ }
4772
+ renderEventTitle() {
4773
+ const currentEvent = this.currentEvent;
4774
+ const eventSlotName = getCalendarEventSlotName(currentEvent.event.key);
4775
+ const eventSlot = this.host.querySelector(`[slot=${eventSlotName}]`);
4776
+ return eventSlot ? (h("slot", { name: eventSlotName })) : (h(Fragment, null,
4777
+ h("vega-box", { corners: "rounded-full", class: {
4778
+ 'event-bg-color': true,
4779
+ 'event-bg-disabled': currentEvent.disabled,
4780
+ }, flexShrink: 0 },
4781
+ h("span", { class: {
4782
+ [`event-color-dot-${currentEvent.variant}`]: true,
4783
+ } })),
4784
+ h("vega-font", { variant: "font-h5", color: "text-primary" }, currentEvent.title)));
4785
+ }
4786
+ renderDivider() {
4787
+ const previewSlot = this.host.querySelector('[slot=event-preview-additional-fields]');
4788
+ return (previewSlot && (h("vega-box", null,
4789
+ h("vega-divider", null))));
4790
+ }
4791
+ injectBackgroundColorStyle() {
4792
+ return h("style", null, getEventStatusBgColorStyle(this.currentEvent.color));
4793
+ }
4794
+ }
4795
+ (() => {
4796
+ VegaInternalIconManager.register({
4797
+ close: closeIcon,
4798
+ clock: clockIcon,
4799
+ });
4800
+ })();
4801
+ __decorate$2([
4802
+ MapToComponentField()
4803
+ ], VegaCalendarEventPreviewDetailRenderer.prototype, "host", void 0);
4804
+ __decorate$2([
4805
+ MapToComponentField()
4806
+ ], VegaCalendarEventPreviewDetailRenderer.prototype, "previewPayload", void 0);
4807
+ __decorate$2([
4808
+ MapToComponentField()
4809
+ ], VegaCalendarEventPreviewDetailRenderer.prototype, "currentEvent", void 0);
4810
+
4811
+ const vegaCalendarEventPreviewCss = ":host(.single-event-preview) .event-preview{width:398px;box-sizing:border-box}:host(.single-event-preview) .preview-actions{padding-top:4px;padding-left:4px;padding-right:4px}:host(.single-event-preview) .preview-content{margin-bottom:24px;margin-left:12px;margin-right:12px;padding-left:12px;padding-right:12px}:host(.group-event-preview) .event-preview{width:320px;box-sizing:border-box;height:100%}:host(.group-event-preview) .event-preview{border:1px solid rgba(var(--v-border-divider, 171, 198, 216, 1));border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:1px;border-left-style:solid}:host(.group-event-preview) .preview-actions{padding-top:4px;padding-left:4px;padding-right:4px}:host(.group-event-preview) .preview-content{margin-bottom:16px;margin-left:12px;margin-right:12px;padding-left:4px;padding-right:4px}:host .preview-content{max-height:60vh;overflow-y:auto}:host .event-bg-color{width:12px;height:12px;margin-top:8px;position:relative}:host .event-bg-color.event-bg-disabled{background-color:rgba(var(--v-bg-disabled, 176, 180, 181, 1))}:host .event-bg-color span{display:block;position:absolute;top:0px;left:0px;opacity:0.8}:host .event-bg-color span.event-color-dot-secondary{width:100%;height:100%;background-size:4px 4px;background-image:linear-gradient(-45deg, transparent 25%, rgba(var(--v-bg-primary, 252, 252, 252, 1)) 25% 50%, transparent 50% 75%, rgba(var(--v-bg-primary, 252, 252, 252, 1)) 75% 100%)}:host .event-bg-color span.event-color-dot-tertiary{width:calc(100% - 2px);height:calc(100% - 2px);top:1px;left:1px;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:9999px;border-bottom-right-radius:9999px;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));opacity:1}";
4812
+
4813
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4814
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4815
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4816
+ r = Reflect.decorate(decorators, target, key, desc);
4817
+ else
4818
+ for (var i = decorators.length - 1; i >= 0; i--)
4819
+ if (d = decorators[i])
4820
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4821
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4822
+ };
4823
+ const VegaCalendarEventPreview = class {
4824
+ constructor(hostRef) {
4825
+ registerInstance(this, hostRef);
4826
+ this.detailRenderer = new VegaCalendarEventPreviewDetailRenderer();
4827
+ this.stateController = new VegaCalendarEventPreviewStateController();
4828
+ this.translationSlimmer = new TranslationSlimmer();
4829
+ this.globalSlimmer = {};
4830
+ this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
4831
+ }
4832
+ render() {
4833
+ return sanitizeVegaComponent(h(Host, null, this.previewPayload && this.detailRenderer.render()), this.host);
4834
+ }
4835
+ get host() { return getElement(this); }
4836
+ };
4322
4837
  __decorate$1([
4323
4838
  InjectVegaSlimmer()
4324
- ], VegaCalendarEvent.prototype, "colorController", void 0);
4839
+ ], VegaCalendarEventPreview.prototype, "detailRenderer", void 0);
4325
4840
  __decorate$1([
4326
4841
  InjectVegaSlimmer()
4327
- ], VegaCalendarEvent.prototype, "slotController", void 0);
4842
+ ], VegaCalendarEventPreview.prototype, "stateController", void 0);
4328
4843
  __decorate$1([
4329
4844
  InjectVegaSlimmer()
4330
- ], VegaCalendarEvent.prototype, "subStateController", void 0);
4845
+ ], VegaCalendarEventPreview.prototype, "translationSlimmer", void 0);
4846
+ __decorate$1([
4847
+ InjectVegaGlobalSlimmer()
4848
+ ], VegaCalendarEventPreview.prototype, "globalSlimmer", void 0);
4331
4849
  __decorate$1([
4332
4850
  InjectVegaSlimmer()
4333
- ], VegaCalendarEvent.prototype, "titleMaxHeightController", void 0);
4334
- VegaCalendarEvent.style = vegaCalendarEventCss;
4851
+ ], VegaCalendarEventPreview.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
4852
+ VegaCalendarEventPreview.style = vegaCalendarEventPreviewCss;
4335
4853
 
4336
4854
  const vegaCalendarEventSlotCss = ":host{width:100%;height:100%;position:relative}";
4337
4855
 
@@ -4364,4 +4882,4 @@ __decorate([
4364
4882
  ], VegaCalendarEventSlot.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
4365
4883
  VegaCalendarEventSlot.style = vegaCalendarEventSlotCss;
4366
4884
 
4367
- export { VegaCalendar as vega_calendar, VegaCalendarEvent as vega_calendar_event, VegaCalendarEventSlot as vega_calendar_event_slot };
4885
+ export { VegaCalendar as vega_calendar, VegaCalendarEvent as vega_calendar_event, VegaCalendarEventPreview as vega_calendar_event_preview, VegaCalendarEventSlot as vega_calendar_event_slot };