@globalpayments/vega 2.57.1 → 2.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (965) hide show
  1. package/dist/cjs/{app-globals-26e2fe1e.js → app-globals-a8f5e755.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-0da174e0.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-deb195e9.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-299039f1.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-117fee1f.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-d1f7a352.js} +11 -9
  28. package/dist/cjs/{responsive-format-facade-d164ced7.js → responsive-format-facade-20c63e07.js} +4 -4
  29. package/dist/cjs/{rich-text-editor-required-rule-91eb0e22.js → rich-text-editor-required-rule-fbf8cbab.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-e08163fd.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} +1674 -1072
  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 +61 -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 +19 -18
  80. package/dist/cjs/vega-input-range.cjs.entry.js +14 -14
  81. package/dist/cjs/vega-input-select.cjs.entry.js +26 -22
  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 +41 -17
  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 +61 -0
  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 +11 -6
  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 +79 -1
  146. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +36 -3
  147. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +5 -0
  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-input-phone-number/vega-input-phone-number.css +4 -0
  152. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +5 -2
  153. package/dist/collection/components/vega-input-select/vega-input-select.css +0 -3
  154. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +4 -1
  155. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.css +2521 -1
  156. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.js +42 -1
  157. package/dist/collection/components/vega-popover/vega-popover.js +36 -0
  158. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +3 -15
  159. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +81 -16
  160. package/dist/collection/components/vega-rich-text-editor/assets/display-code.js +3 -0
  161. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +6 -5
  162. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +90 -26
  163. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.js +15 -0
  164. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.js +15 -0
  165. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-link-group-strategy.js +18 -4
  166. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +1 -0
  167. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-split-text-strategy.js +6 -1
  168. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +15 -1
  169. 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
  170. 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
  171. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-image-into-text-strategy.js +7 -7
  172. 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
  173. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.js +38 -30
  174. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-merge-nodes-strategy.js +4 -4
  175. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-nodes-strategy.js +2 -2
  176. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-image-node-strategy.js +4 -4
  177. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.js +2 -2
  178. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.js +4 -4
  179. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +6 -6
  180. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-unlink-link-group-strategy.js +24 -0
  181. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.js +2 -2
  182. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +4 -4
  183. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-link-group-strategy.js +34 -0
  184. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-block-insert-image-strategy.js +9 -9
  185. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-strategy.js +2 -2
  186. 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
  187. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-after-strategy.js +15 -0
  188. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-before-strategy.js +38 -0
  189. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-text-to-decorator-node-strategy.js +37 -0
  190. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/link-group-node-split-strategy.js +31 -0
  191. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-insert-image-strategy.js +2 -2
  192. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.js +15 -15
  193. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +5 -5
  194. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +10 -10
  195. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +13 -13
  196. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/node-update-text-strategy.js +2 -2
  197. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/remove-children-strategy.js +26 -0
  198. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.js +2 -2
  199. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.js +23 -0
  200. package/dist/collection/components/vega-rich-text-editor/dto/actions/append-child-nodes-action.js +7 -3
  201. package/dist/collection/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.js +20 -0
  202. package/dist/collection/components/vega-rich-text-editor/dto/actions/delete-link-group-action.js +10 -0
  203. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-children-after-block.js +14 -0
  204. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-children-before-block.js +14 -0
  205. package/dist/collection/components/vega-rich-text-editor/dto/actions/{break-single-block-action.js → insert-new-paragraph-action.js} +3 -3
  206. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-text-to-decorator-node-action.js +17 -0
  207. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-annotation-action.js +2 -1
  208. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-group-annotation-action.js +2 -1
  209. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-group-node-split-action.js +11 -0
  210. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +10 -7
  211. package/dist/collection/components/vega-rich-text-editor/dto/actions/remove-child-action.js +4 -5
  212. package/dist/collection/components/vega-rich-text-editor/dto/actions/unlink-link-group-action.js +11 -0
  213. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +20 -0
  214. package/dist/collection/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.js +2 -0
  215. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +13 -5
  216. package/dist/collection/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.js +2 -0
  217. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +21 -14
  218. package/dist/collection/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.js +12 -0
  219. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.js +80 -0
  220. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.js +54 -0
  221. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +67 -0
  222. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +26 -10
  223. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +17 -8
  224. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +8 -2
  225. package/dist/collection/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.js +68 -0
  226. package/dist/collection/components/vega-rich-text-editor/dto/annotations/internal-wrapper-annotation.js +41 -0
  227. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +13 -5
  228. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +16 -11
  229. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +92 -0
  230. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +41 -0
  231. package/dist/collection/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.js +2 -0
  232. package/dist/collection/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.js +42 -0
  233. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +9 -9
  234. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +3 -7
  235. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +74 -12
  236. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +9 -9
  237. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +116 -4
  238. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +10 -2
  239. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +78 -0
  240. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +17 -21
  241. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +66 -12
  242. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +20 -18
  243. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +116 -37
  244. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +70 -33
  245. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +9 -2
  246. package/dist/collection/components/vega-rich-text-editor/dto/nodes/decorator-node.js +58 -0
  247. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +45 -19
  248. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +145 -0
  249. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +163 -21
  250. package/dist/collection/components/vega-rich-text-editor/dto/range.js +22 -33
  251. package/dist/collection/components/vega-rich-text-editor/dto/renderers/base-renderer.js +5 -0
  252. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +7 -23
  253. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +15 -93
  254. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js +0 -9
  255. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/html-block-renderer.js +12 -0
  256. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -5
  257. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +125 -0
  258. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +2 -6
  259. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  260. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +2 -27
  261. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +70 -7
  262. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +2 -28
  263. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +19 -5
  264. package/dist/collection/components/vega-rich-text-editor/dto/renderers/renderer-factory.js +47 -0
  265. package/dist/collection/components/vega-rich-text-editor/dto/setup.js +69 -0
  266. package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +83 -0
  267. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +5 -0
  268. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +53 -29
  269. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/focus-controller.js +13 -5
  270. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/annotation-generator-strategy.abstract.js +5 -0
  271. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/bold-annotaion-handler.js +33 -0
  272. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/code-annotation-handler.js +33 -0
  273. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/color-annotation-handler.js +49 -0
  274. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-attribute-annotation-handler.js +48 -0
  275. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-class-annotation-handler.js +36 -0
  276. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.js +48 -0
  277. 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
  278. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-alt-annotation-handler.js +19 -0
  279. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-size-annotation-handler.js +32 -0
  280. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/indent-annotation-handler.js +53 -0
  281. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.js +99 -0
  282. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/italic-annotation-handler.js +32 -0
  283. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.js +53 -0
  284. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/strike-through-annotation-handler.js +34 -0
  285. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-align-annotation-handler.js +57 -0
  286. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +120 -0
  287. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/underline-annotation-handler.js +32 -0
  288. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +38 -232
  289. 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
  290. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +19 -33
  291. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +4 -3
  292. 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
  293. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-text-node-strategy.js +33 -0
  294. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.js +99 -0
  295. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.js +5 -21
  296. 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
  297. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.js +46 -0
  298. 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
  299. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.js +8 -5
  300. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/plain-text-to-text-node-strategy.js +35 -0
  301. 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
  302. 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
  303. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.js +8 -5
  304. 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
  305. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +2 -2
  306. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.js +8 -22
  307. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +2 -2
  308. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +13 -15
  309. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-text-handler.js +36 -28
  310. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +6 -3
  311. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-image-controller.js +3 -3
  312. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +75 -5
  313. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.js +39 -4
  314. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +11 -0
  315. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +41 -5
  316. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +2 -2
  317. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -2
  318. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +2 -2
  319. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +2 -2
  320. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +2 -2
  321. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +2 -2
  322. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +2 -2
  323. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.js +2 -2
  324. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -2
  325. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.js +2 -2
  326. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.js +2 -2
  327. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.js +2 -2
  328. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -2
  329. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +2 -2
  330. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +2 -2
  331. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +3 -2
  332. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +2 -2
  333. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +64 -0
  334. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +2 -2
  335. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +2 -2
  336. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +5 -4
  337. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +10 -3
  338. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +2 -2
  339. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +37 -0
  340. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +41 -3
  341. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.js +2 -3
  342. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +8 -9
  343. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +15 -13
  344. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.js +8 -8
  345. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-item-strategy-register.test.js +12 -12
  346. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.js +3 -2
  347. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-update-annotation-map-strategy.test.js +2 -2
  348. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +34 -12
  349. package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-actions.test.js +1 -0
  350. package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +258 -28
  351. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +124 -0
  352. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/image-block.test.js +10 -0
  353. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/text-block.test.js +59 -0
  354. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +2613 -0
  355. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +29 -0
  356. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +103 -4
  357. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/custom-attribute-annotation-handler.test.js +49 -0
  358. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/element-to-text-node-strategy.test.js +38 -0
  359. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/html-element-to-annotation-generator.test.js +26 -0
  360. package/dist/collection/components/vega-rich-text-editor/test/spec-utils.js +32 -0
  361. 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
  362. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.css +3 -0
  363. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +27 -0
  364. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.css +7 -32
  365. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +67 -2
  366. package/dist/collection/components/vega-selection-tile/slimmers/controllers/vega-selection-tile-state-controller.js +7 -0
  367. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.js +37 -0
  368. package/dist/collection/components/vega-selection-tile/vega-selection-tile.css +12 -0
  369. package/dist/collection/components/vega-selection-tile/vega-selection-tile.js +7 -2
  370. package/dist/collection/constants/ui.js +1 -0
  371. package/dist/collection/helpers/calendar/calendar-date.js +12 -0
  372. package/dist/collection/helpers/calendar/calendar-event.js +24 -0
  373. package/dist/collection/helpers/calendar/calendar-period/month-period.js +15 -1
  374. package/dist/collection/helpers/calendar/calendar-period/week-period.js +6 -7
  375. package/dist/collection/helpers/calendar/test/calendar-date.test.js +4 -0
  376. package/dist/collection/helpers/calendar/test/calendar-event.test.js +57 -0
  377. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +12 -4
  378. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +2 -2
  379. package/dist/collection/helpers/calendar/utils.js +38 -0
  380. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +1 -0
  381. package/dist/collection/helpers/code-format/code-formatter.js +116 -0
  382. package/dist/collection/helpers/code-format/test/code-formatter.test.js +362 -0
  383. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +4 -1
  384. package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +37 -0
  385. package/dist/collection/helpers/rte-manager/dto-class-manager.js +51 -0
  386. package/dist/collection/helpers/rte-manager/dto-renderer-manager.js +54 -0
  387. package/dist/collection/helpers/rte-manager/element-dto-class-strategy-manager.js +56 -0
  388. package/dist/collection/helpers/rte-manager/rte.manager.test.js +94 -0
  389. package/dist/collection/helpers/slimmers/field-error-controller-silmmer.js +4 -6
  390. package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +12 -10
  391. package/dist/collection/helpers/slimmers/global/vega-translate-observer-slimmer.js +17 -4
  392. package/dist/collection/helpers/slimmers/test/field-error-controller-slimmer.test.js +1 -0
  393. package/dist/collection/helpers/slimmers/test/global/vega-translate-observer-slimmer.test.js +89 -0
  394. package/dist/collection/helpers/translation/locales/en.js +30 -0
  395. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +30 -0
  396. package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +16 -14
  397. package/dist/collection/polyfill/shadow-selection/test/shadow-selection-polyfill.test.js +1 -0
  398. package/dist/collection/polyfill/test-polyfill/unit/methods.js +9 -0
  399. package/dist/collection/utils/object.js +12 -0
  400. package/dist/collection/utils/string.js +10 -0
  401. package/dist/collection/utils/test/object.test.js +27 -1
  402. package/dist/collection/utils/ui.js +9 -0
  403. package/dist/esm/{app-globals-ee6a1250.js → app-globals-eec29b87.js} +25 -12
  404. package/dist/esm/{brand-switch-state-controller-slimmer-05c85e6d.js → brand-switch-state-controller-slimmer-d6e4d217.js} +1 -1
  405. package/dist/esm/{child-nodes-event-prevent-slimmer-b59a578e.js → child-nodes-event-prevent-slimmer-6b5b31f5.js} +1 -1
  406. package/dist/esm/{child-nodes-notify-observer-slimmer-eeed5986.js → child-nodes-notify-observer-slimmer-78f77c2c.js} +1 -1
  407. package/dist/esm/{code-block-7bd4cb87.js → code-block-3d519665.js} +2107 -970
  408. package/dist/esm/{component-value-history-controller-slimmer.abstract-41c58caf.js → component-value-history-controller-slimmer.abstract-8b5be007.js} +112 -54
  409. package/dist/esm/content-state-100d1efd.js +3682 -0
  410. package/dist/esm/{dark-mode-state-controller-slimmer-f1c2c299.js → dark-mode-state-controller-slimmer-0c7d1c77.js} +1 -1
  411. package/dist/esm/{dark-mode-style-controller-ea798fc8.js → dark-mode-style-controller-3bbb32dc.js} +1 -1
  412. package/dist/esm/{deprecated-property-slimmer-32575f02.js → deprecated-property-slimmer-2c14df89.js} +1 -1
  413. package/dist/esm/{design-token-23522f5c.js → design-token-80dd7d60.js} +1 -1
  414. package/dist/esm/{dom-node-subject-factory-6374611f.js → dom-node-subject-factory-202655e7.js} +1 -1
  415. package/dist/esm/{dom-node-subject-observer-factory-c345ca2e.js → dom-node-subject-observer-factory-999e21e3.js} +1 -1
  416. package/dist/esm/{element-appender-slimmer-042df95a.js → element-appender-slimmer-e2d3e79a.js} +7 -7
  417. package/dist/esm/{event-emit-slimmer-b5cb9b81.js → event-emit-slimmer-40973ec2.js} +3 -3
  418. package/dist/esm/{form-field-controller-slimmer-f0982f11.js → form-field-controller-slimmer-47820eaa.js} +24 -24
  419. package/dist/esm/{image-annotation-action-1e88f5a0.js → image-annotation-action-215f92d6.js} +128 -29
  420. package/dist/esm/{index-d0a47531.js → index-057d0f70.js} +23 -4
  421. package/dist/esm/{index-fb3b74bd.js → index-18a340fb.js} +2 -2
  422. package/dist/esm/index.js +16 -16
  423. package/dist/esm/{inject-keyboard-manager-5141d09a.js → inject-keyboard-manager-a28dfee4.js} +1 -1
  424. package/dist/esm/{internal-vega-event-manager-d80c53c5.js → internal-vega-event-manager-526f8ed1.js} +1 -1
  425. package/dist/esm/{keyboard-manager-3ffe81b0.js → keyboard-manager-fa6355cb.js} +1 -1
  426. package/dist/esm/{keyboard-manager-slimmer-751e98f5.js → keyboard-manager-slimmer-818050ee.js} +1 -1
  427. package/dist/esm/loader.js +16 -14
  428. package/dist/esm/{object-261e7344.js → object-66c37948.js} +13 -1
  429. package/dist/esm/{public-rules-287d4d77.js → public-rules-1016ce0c.js} +11 -9
  430. package/dist/esm/{responsive-format-facade-d2632288.js → responsive-format-facade-4bf60125.js} +4 -4
  431. package/dist/esm/{rich-text-editor-required-rule-69d5f035.js → rich-text-editor-required-rule-423c3c83.js} +1 -1
  432. package/dist/esm/{static-subject-title-ca83d6b6.js → static-subject-title-633b3474.js} +2 -1
  433. package/dist/esm/string-a953eafc.js +21 -0
  434. package/dist/esm/{string-input-formatter-slimmer-09478e0d.js → string-input-formatter-slimmer-b144e8d7.js} +3 -3
  435. package/dist/esm/{style-formatter-f7951677.js → style-formatter-184752b5.js} +1 -1
  436. package/dist/esm/{sub-state-notify-slimmer-0a6c3cbb.js → sub-state-notify-slimmer-b3524c09.js} +2 -2
  437. package/dist/esm/{sub-state-observer-slimmer-53eec5fb.js → sub-state-observer-slimmer-c823d69c.js} +3 -3
  438. package/dist/esm/{translation-a6eacb5f.js → translation-833d9ef4.js} +31 -1
  439. package/dist/esm/{translation-slimmer-f28e4708.js → translation-slimmer-c83b52c1.js} +1 -1
  440. package/dist/esm/{ui-7d177fb0.js → ui-c20be16d.js} +10 -1
  441. package/dist/esm/vega-accordion.entry.js +17 -15
  442. package/dist/esm/vega-app-footer.entry.js +4 -4
  443. package/dist/esm/vega-app-header-button.entry.js +18 -16
  444. package/dist/esm/vega-backdrop.entry.js +2 -2
  445. package/dist/esm/vega-banner.entry.js +6 -6
  446. package/dist/esm/vega-bar-chart.entry.js +1 -1
  447. package/dist/esm/vega-box.entry.js +16 -14
  448. package/dist/esm/vega-brand-logo.entry.js +4 -4
  449. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  450. package/dist/esm/vega-button-circle.entry.js +18 -16
  451. package/dist/esm/vega-button-group_2.entry.js +10 -10
  452. package/dist/esm/vega-button-link.entry.js +7 -7
  453. package/dist/esm/vega-button.entry.js +17 -15
  454. package/dist/esm/{vega-calendar_3.entry.js → vega-calendar_4.entry.js} +1674 -1073
  455. package/dist/esm/vega-card.entry.js +15 -13
  456. package/dist/esm/vega-carousel.entry.js +17 -16
  457. package/dist/esm/vega-checkbox_2.entry.js +14 -14
  458. package/dist/esm/vega-chip.entry.js +18 -16
  459. package/dist/esm/vega-code-block.entry.js +19 -19
  460. package/dist/esm/vega-color-picker.entry.js +12 -12
  461. package/dist/esm/vega-combo-box.entry.js +15 -15
  462. package/dist/esm/vega-counter-badge.entry.js +1 -1
  463. package/dist/esm/vega-date-picker_2.entry.js +25 -24
  464. package/dist/esm/vega-dialog_2.entry.js +19 -18
  465. package/dist/esm/vega-divider.entry.js +15 -13
  466. package/dist/esm/vega-dropdown_5.entry.js +61 -26
  467. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  468. package/dist/esm/vega-field-error.entry.js +3 -2
  469. package/dist/esm/vega-field-label.entry.js +6 -6
  470. package/dist/esm/vega-file-uploader.entry.js +13 -13
  471. package/dist/esm/vega-flag-icon.entry.js +15 -13
  472. package/dist/esm/vega-flex.entry.js +16 -14
  473. package/dist/esm/vega-font.entry.js +15 -13
  474. package/dist/esm/vega-form.entry.js +109 -19
  475. package/dist/esm/vega-grid.entry.js +15 -13
  476. package/dist/esm/vega-hint.entry.js +1 -1
  477. package/dist/esm/vega-icon.entry.js +15 -13
  478. package/dist/esm/vega-image-uploader.entry.js +21 -20
  479. package/dist/esm/vega-input-credit-card.entry.js +13 -13
  480. package/dist/esm/vega-input-numeric.entry.js +16 -16
  481. package/dist/esm/vega-input-phone-number.entry.js +19 -18
  482. package/dist/esm/vega-input-range.entry.js +14 -14
  483. package/dist/esm/vega-input-select.entry.js +26 -22
  484. package/dist/esm/vega-input.entry.js +15 -15
  485. package/dist/esm/{vega-internal-event-id-4072659b.js → vega-internal-event-id-b7c865de.js} +5 -2
  486. package/dist/esm/vega-item-toggle.entry.js +8 -8
  487. package/dist/esm/vega-left-nav_5.entry.js +21 -20
  488. package/dist/esm/vega-line-chart.entry.js +1 -1
  489. package/dist/esm/vega-loader-wrapper_2.entry.js +14 -12
  490. package/dist/esm/vega-page-notification_2.entry.js +4 -4
  491. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +7 -7
  492. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +8 -8
  493. package/dist/esm/vega-pagination.entry.js +18 -16
  494. package/dist/esm/vega-pie-chart.entry.js +1 -1
  495. package/dist/esm/vega-popover_2.entry.js +43 -20
  496. package/dist/esm/vega-progress-tracker.entry.js +8 -8
  497. package/dist/esm/vega-radio_2.entry.js +16 -16
  498. package/dist/esm/vega-rich-text-content.entry.js +273 -175
  499. package/dist/esm/vega-rich-text-editor_4.entry.js +693 -1480
  500. package/dist/esm/vega-section-title.entry.js +1 -1
  501. package/dist/esm/vega-segment-control.entry.js +6 -6
  502. package/dist/esm/vega-selection-chip_2.entry.js +20 -19
  503. package/dist/esm/vega-selection-tile_2.entry.js +41 -17
  504. package/dist/esm/vega-sidenav_3.entry.js +18 -16
  505. package/dist/esm/vega-signature-capture.entry.js +20 -20
  506. package/dist/esm/{vega-skeleton-loader-controller-3f6faa17.js → vega-skeleton-loader-controller-38864fcd.js} +3 -3
  507. package/dist/esm/vega-skeleton.entry.js +1 -1
  508. package/dist/esm/vega-slot-container.entry.js +1 -1
  509. package/dist/esm/vega-stepper.entry.js +13 -13
  510. package/dist/esm/vega-tab-group_2.entry.js +8 -8
  511. package/dist/esm/vega-table_8.entry.js +20 -19
  512. package/dist/esm/vega-text.entry.js +2 -2
  513. package/dist/esm/vega-textarea.entry.js +13 -13
  514. package/dist/esm/vega-time-picker_2.entry.js +23 -22
  515. package/dist/esm/vega-toggle-switch.entry.js +12 -12
  516. package/dist/esm/vega-tooltip_2.entry.js +19 -18
  517. package/dist/esm/vega.js +16 -14
  518. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +1 -0
  519. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +48 -0
  520. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +33 -0
  521. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.d.ts +8 -0
  522. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.d.ts +6 -0
  523. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.d.ts +6 -0
  524. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.d.ts +6 -0
  525. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.d.ts +6 -0
  526. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +8 -1
  527. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +18 -0
  528. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.d.ts +3 -1
  529. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.d.ts +3 -0
  530. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.d.ts +2 -0
  531. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.d.ts +3 -1
  532. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +6 -1
  533. package/dist/types/components/vega-calendar/utils/index.d.ts +9 -8
  534. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.d.ts +0 -8
  535. package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +0 -2
  536. package/dist/types/components/vega-calendar/vega-calendar-event-preview/assets/clock.d.ts +3 -0
  537. package/dist/types/components/vega-calendar/vega-calendar-event-preview/assets/close.d.ts +3 -0
  538. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/controllers/vega-calendar-event-preview-state-controller.d.ts +16 -0
  539. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +13 -0
  540. package/dist/types/components/vega-calendar/vega-calendar-event-preview/types.d.ts +5 -0
  541. package/dist/types/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.d.ts +22 -0
  542. package/dist/types/components/vega-calendar/vega-calendar.d.ts +25 -1
  543. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +4 -0
  544. package/dist/types/components/vega-field-error/types.d.ts +2 -1
  545. package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.d.ts +29 -0
  546. package/dist/types/components/vega-form/types.d.ts +18 -0
  547. package/dist/types/components/vega-form/vega-form.d.ts +11 -1
  548. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +1 -0
  549. package/dist/types/components/vega-popover/vega-popover-content-box/vega-popover-content-box.d.ts +7 -0
  550. package/dist/types/components/vega-popover/vega-popover.d.ts +7 -1
  551. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +0 -2
  552. package/dist/types/components/vega-rich-text-editor/assets/display-code.d.ts +3 -0
  553. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +1 -0
  554. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +4 -4
  555. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +55 -27
  556. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.d.ts +15 -0
  557. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.d.ts +15 -0
  558. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/append-children-strategy.d.ts +13 -0
  559. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +4 -4
  560. 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
  561. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.d.ts +11 -12
  562. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-unlink-link-group-strategy.d.ts +15 -0
  563. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.d.ts +2 -2
  564. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-link-group-strategy.d.ts +15 -0
  565. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-after-strategy.d.ts +13 -0
  566. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-before-strategy.d.ts +23 -0
  567. 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
  568. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/link-group-node-split-strategy.d.ts +15 -0
  569. 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
  570. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +5 -5
  571. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/remove-children-strategy.d.ts +17 -0
  572. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.d.ts +12 -0
  573. package/dist/types/components/vega-rich-text-editor/dto/actions/append-child-nodes-action.d.ts +6 -2
  574. package/dist/types/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.d.ts +17 -0
  575. package/dist/types/components/vega-rich-text-editor/dto/actions/delete-link-group-action.d.ts +7 -0
  576. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-children-after-block.d.ts +14 -0
  577. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-children-before-block.d.ts +14 -0
  578. package/dist/types/components/vega-rich-text-editor/dto/actions/{break-single-block-action.d.ts → insert-new-paragraph-action.d.ts} +2 -2
  579. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-text-to-decorator-node-action.d.ts +14 -0
  580. package/dist/types/components/vega-rich-text-editor/dto/actions/link-annotation-action.d.ts +3 -1
  581. package/dist/types/components/vega-rich-text-editor/dto/actions/link-group-annotation-action.d.ts +2 -1
  582. package/dist/types/components/vega-rich-text-editor/dto/actions/link-group-node-split-action.d.ts +10 -0
  583. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +12 -9
  584. package/dist/types/components/vega-rich-text-editor/dto/actions/remove-child-action.d.ts +3 -4
  585. package/dist/types/components/vega-rich-text-editor/dto/actions/unlink-link-group-action.d.ts +9 -0
  586. package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +20 -0
  587. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation.abstract.d.ts +2 -1
  588. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +18 -4
  589. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +7 -5
  590. package/dist/types/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.d.ts +2 -1
  591. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +9 -11
  592. package/dist/types/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.d.ts +20 -0
  593. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +44 -0
  594. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.d.ts +40 -0
  595. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.d.ts +48 -0
  596. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +5 -9
  597. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +10 -8
  598. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +5 -1
  599. package/dist/types/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.d.ts +37 -0
  600. package/dist/types/components/vega-rich-text-editor/dto/annotations/internal-wrapper-annotation.d.ts +31 -0
  601. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +7 -5
  602. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +10 -6
  603. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +49 -0
  604. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +25 -0
  605. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +18 -4
  606. package/dist/types/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.d.ts +31 -0
  607. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +5 -9
  608. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +3 -7
  609. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +9 -7
  610. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +5 -9
  611. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +70 -9
  612. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +7 -2
  613. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +42 -0
  614. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +10 -4
  615. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +33 -6
  616. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +9 -5
  617. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +29 -14
  618. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +20 -3
  619. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +7 -2
  620. package/dist/types/components/vega-rich-text-editor/dto/nodes/decorator-node.d.ts +41 -0
  621. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +10 -4
  622. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +116 -5
  623. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +59 -4
  624. package/dist/types/components/vega-rich-text-editor/dto/range.d.ts +0 -7
  625. package/dist/types/components/vega-rich-text-editor/dto/renderers/base-renderer.d.ts +9 -0
  626. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +7 -20
  627. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +9 -6
  628. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.d.ts +0 -8
  629. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/html-block-renderer.d.ts +8 -0
  630. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.d.ts +0 -2
  631. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +24 -0
  632. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +0 -2
  633. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +0 -3
  634. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +37 -0
  635. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +3 -16
  636. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +2 -0
  637. package/dist/types/components/vega-rich-text-editor/dto/renderers/renderer-factory.d.ts +24 -0
  638. package/dist/types/components/vega-rich-text-editor/dto/setup.d.ts +1 -0
  639. package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +61 -0
  640. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +13 -0
  641. package/dist/types/components/vega-rich-text-editor/interface.d.ts +172 -42
  642. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.d.ts +19 -0
  643. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/focus-controller.d.ts +1 -0
  644. 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
  645. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/bold-annotaion-handler.d.ts +25 -0
  646. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/code-annotation-handler.d.ts +25 -0
  647. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/color-annotation-handler.d.ts +25 -0
  648. 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
  649. 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
  650. 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
  651. 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
  652. 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
  653. 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
  654. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/indent-annotation-handler.d.ts +24 -0
  655. 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
  656. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/italic-annotation-handler.d.ts +25 -0
  657. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.d.ts +29 -0
  658. 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
  659. 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
  660. 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
  661. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/underline-annotation-handler.d.ts +25 -0
  662. 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
  663. 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
  664. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +12 -3
  665. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +6 -4
  666. 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
  667. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-text-node-strategy.d.ts +23 -0
  668. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.d.ts +34 -0
  669. 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
  670. 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
  671. 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
  672. 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
  673. 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
  674. 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
  675. 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
  676. 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
  677. 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
  678. 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
  679. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.d.ts +0 -7
  680. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +0 -1
  681. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +20 -0
  682. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.d.ts +20 -3
  683. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -0
  684. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +6 -0
  685. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.d.ts +2 -2
  686. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +3 -2
  687. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.d.ts +2 -2
  688. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.d.ts +2 -2
  689. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.d.ts +2 -2
  690. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +2 -2
  691. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.d.ts +2 -2
  692. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.d.ts +2 -2
  693. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +3 -2
  694. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.d.ts +2 -2
  695. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.d.ts +2 -2
  696. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.d.ts +2 -2
  697. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +3 -2
  698. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.d.ts +2 -2
  699. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.d.ts +2 -2
  700. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +3 -2
  701. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.d.ts +2 -2
  702. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +14 -0
  703. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.d.ts +2 -2
  704. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.d.ts +3 -2
  705. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +3 -2
  706. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +7 -2
  707. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.d.ts +2 -2
  708. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +24 -0
  709. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +10 -2
  710. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.d.ts +1 -1
  711. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.d.ts +1 -1
  712. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.d.ts +1 -1
  713. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.d.ts +1 -1
  714. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/html-block.test.d.ts +1 -0
  715. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/text-block.test.d.ts +1 -1
  716. package/dist/types/components/vega-rich-text-editor/test/dto/content-state.test.d.ts +1 -1
  717. package/dist/types/components/vega-rich-text-editor/test/dto/nodes/text-node.test.d.ts +1 -1
  718. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/custom-attribute-annotation-handler.test.d.ts +1 -0
  719. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/element-to-text-node-strategy.test.d.ts +1 -0
  720. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/html-element-to-annotation-generator.test.d.ts +1 -0
  721. package/dist/types/components/vega-rich-text-editor/test/spec-utils.d.ts +15 -0
  722. 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
  723. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +6 -0
  724. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +17 -1
  725. package/dist/types/components/vega-selection-tile/slimmers/controllers/vega-selection-tile-state-controller.d.ts +1 -0
  726. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.d.ts +8 -0
  727. package/dist/types/components/vega-selection-tile/vega-selection-tile.d.ts +4 -0
  728. package/dist/types/components.d.ts +101 -2
  729. package/dist/types/constants/ui.d.ts +1 -1
  730. package/dist/types/helpers/calendar/calendar-date.d.ts +7 -0
  731. package/dist/types/helpers/calendar/calendar-event.d.ts +15 -1
  732. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +3 -3
  733. package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +7 -1
  734. package/dist/types/helpers/calendar/utils.d.ts +18 -0
  735. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +2 -1
  736. package/dist/types/helpers/code-format/code-formatter.d.ts +34 -0
  737. package/dist/types/helpers/code-format/test/code-formatter.test.d.ts +1 -0
  738. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  739. package/dist/types/helpers/rte-manager/dto-action-strategy-manager.d.ts +13 -0
  740. package/dist/types/helpers/rte-manager/dto-class-manager.d.ts +38 -0
  741. package/dist/types/helpers/rte-manager/dto-renderer-manager.d.ts +44 -0
  742. package/dist/types/helpers/rte-manager/element-dto-class-strategy-manager.d.ts +42 -0
  743. package/dist/types/helpers/rte-manager/rte.manager.test.d.ts +1 -0
  744. package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +1 -1
  745. package/dist/types/helpers/slimmers/form-field-controller-slimmer.d.ts +1 -1
  746. package/dist/types/helpers/slimmers/global/vega-translate-observer-slimmer.d.ts +6 -0
  747. package/dist/types/helpers/slimmers/test/global/vega-translate-observer-slimmer.test.d.ts +1 -0
  748. package/dist/types/helpers/translation/interface.d.ts +31 -1
  749. package/dist/types/types/class.type.d.ts +3 -0
  750. package/dist/types/types/components.type.d.ts +10 -2
  751. package/dist/types/utils/object.d.ts +8 -0
  752. package/dist/types/utils/string.d.ts +7 -0
  753. package/dist/types/utils/ui.d.ts +7 -0
  754. package/dist/vega/index.esm.js +1 -1
  755. package/dist/vega/p-02841589.js +1 -0
  756. package/dist/vega/{p-81ed90d5.js → p-02b29c18.js} +1 -1
  757. package/dist/vega/{p-f25570f5.js → p-09d63c0c.js} +1 -1
  758. package/dist/vega/{p-4c4ac1a5.entry.js → p-09ddae74.entry.js} +1 -1
  759. package/dist/vega/{p-9afdcf65.js → p-0a2ff1e2.js} +1 -1
  760. package/dist/vega/p-0b2fef0d.entry.js +1 -0
  761. package/dist/vega/{p-1db2ba98.entry.js → p-0c247128.entry.js} +1 -1
  762. package/dist/vega/p-0cd89fb6.js +1 -0
  763. package/dist/vega/{p-e940bc37.js → p-0f0baac3.js} +1 -1
  764. package/dist/vega/{p-4a237308.js → p-0fce930c.js} +1 -1
  765. package/dist/vega/p-11663b1c.js +1 -0
  766. package/dist/vega/p-16ec4633.js +1 -0
  767. package/dist/vega/p-17d517c8.entry.js +1 -0
  768. package/dist/vega/p-18711f87.entry.js +1 -0
  769. package/dist/vega/p-19aa2dbe.entry.js +1 -0
  770. package/dist/vega/{p-8782abeb.js → p-1bd516c5.js} +1 -1
  771. package/dist/vega/p-23f0dfeb.entry.js +1 -0
  772. package/dist/vega/{p-7c348ac7.entry.js → p-26ef2066.entry.js} +1 -1
  773. package/dist/vega/{p-c69a6547.entry.js → p-27b5f69c.entry.js} +1 -1
  774. package/dist/vega/{p-41465ad0.entry.js → p-2a66e2f7.entry.js} +1 -1
  775. package/dist/vega/p-2cc8e5f0.entry.js +1 -0
  776. package/dist/vega/p-323d2af0.entry.js +1 -0
  777. package/dist/vega/p-33f45d1b.entry.js +1 -0
  778. package/dist/vega/p-351405f2.entry.js +1 -0
  779. package/dist/vega/p-35a3c0e5.entry.js +1 -0
  780. package/dist/vega/{p-82b18195.entry.js → p-36ae2dd3.entry.js} +1 -1
  781. package/dist/vega/p-3ce966b2.entry.js +1 -0
  782. package/dist/vega/p-42632023.entry.js +1 -0
  783. package/dist/vega/{p-832b59af.js → p-436f7e27.js} +1 -1
  784. package/dist/vega/{p-5bd3487e.js → p-4452e085.js} +1 -1
  785. package/dist/vega/{p-710da484.entry.js → p-446d0317.entry.js} +1 -1
  786. package/dist/vega/{p-012cbd8f.js → p-4474bc63.js} +1 -1
  787. package/dist/vega/{p-6dad2e5c.entry.js → p-476cc642.entry.js} +1 -1
  788. package/dist/vega/p-48a58baf.js +2 -0
  789. package/dist/vega/{p-bcdb235d.js → p-4a368e1e.js} +1 -1
  790. package/dist/vega/p-4b7edf72.entry.js +1 -0
  791. package/dist/vega/{p-a4a0fcfd.entry.js → p-4ca12302.entry.js} +2 -2
  792. package/dist/vega/p-4ee21459.entry.js +1 -0
  793. package/dist/vega/{p-4674c318.entry.js → p-4fc18f2f.entry.js} +1 -1
  794. package/dist/vega/p-521ace2d.js +1 -0
  795. package/dist/vega/{p-1f9a735a.entry.js → p-53d67971.entry.js} +1 -1
  796. package/dist/vega/p-55b4b6ff.entry.js +1 -0
  797. package/dist/vega/p-56290b7e.entry.js +1 -0
  798. package/dist/vega/{p-d5776087.js → p-575235c8.js} +1 -1
  799. package/dist/vega/p-57ea996e.entry.js +1 -0
  800. package/dist/vega/p-59e990c7.entry.js +1 -0
  801. package/dist/vega/p-5b7d347a.js +1 -0
  802. package/dist/vega/p-5f377954.js +1 -1
  803. package/dist/vega/{p-7d5ebd26.entry.js → p-606d1f7c.entry.js} +1 -1
  804. package/dist/vega/{p-4ab67150.entry.js → p-61d1f3cb.entry.js} +1 -1
  805. package/dist/vega/p-6a24c2d9.entry.js +1 -0
  806. package/dist/vega/{p-5f6b942c.entry.js → p-6b292628.entry.js} +1 -1
  807. package/dist/vega/p-6e42d500.entry.js +1 -0
  808. package/dist/vega/{p-c9740710.entry.js → p-70939752.entry.js} +1 -1
  809. package/dist/vega/p-778b1d71.entry.js +1 -0
  810. package/dist/vega/{p-fda6f8bc.js → p-7934c09c.js} +1 -1
  811. package/dist/vega/p-7a3b142b.js +1 -0
  812. package/dist/vega/{p-9b08ed46.entry.js → p-7b1bb372.entry.js} +1 -1
  813. package/dist/vega/p-7b365345.entry.js +1 -0
  814. package/dist/vega/p-7bb74931.js +1 -0
  815. package/dist/vega/{p-4c871d0f.entry.js → p-7cd2fac8.entry.js} +1 -1
  816. package/dist/vega/{p-0c8bd757.js → p-7e8f055d.js} +1 -1
  817. package/dist/vega/p-7f087c8b.js +1 -0
  818. package/dist/vega/{p-fcb5b40f.entry.js → p-801cb489.entry.js} +1 -1
  819. package/dist/vega/p-80aac6eb.entry.js +1 -0
  820. package/dist/vega/{p-904d1b43.js → p-846ae5fb.js} +1 -1
  821. package/dist/vega/{p-66e9d31a.entry.js → p-847dbae4.entry.js} +1 -1
  822. package/dist/vega/{p-397b5d91.entry.js → p-850a6305.entry.js} +1 -1
  823. package/dist/vega/p-86f17433.js +1 -0
  824. package/dist/vega/{p-acd9bfa4.js → p-8852361b.js} +1 -1
  825. package/dist/vega/p-8a877e12.js +1 -0
  826. package/dist/vega/p-966a9940.entry.js +1 -0
  827. package/dist/vega/{p-8c4f893b.js → p-9773c913.js} +1 -1
  828. package/dist/vega/{p-bd84b7b9.entry.js → p-9a74eb86.entry.js} +1 -1
  829. package/dist/vega/p-a0954e7c.entry.js +1 -0
  830. package/dist/vega/p-a6dacccd.js +1 -0
  831. package/dist/vega/{p-59282fc8.entry.js → p-a7baad6d.entry.js} +1 -1
  832. package/dist/vega/{p-8e581755.entry.js → p-ae21e5f5.entry.js} +1 -1
  833. package/dist/vega/p-aeea4154.entry.js +1 -0
  834. package/dist/vega/{p-613ee009.js → p-af464251.js} +1 -1
  835. package/dist/vega/p-b40adb9e.js +1 -0
  836. package/dist/vega/p-b4be8573.entry.js +1 -0
  837. package/dist/vega/{p-6e01f0a2.js → p-b5822a21.js} +1 -1
  838. package/dist/vega/p-b5bef48a.js +1 -0
  839. package/dist/vega/p-b6f78c1e.entry.js +1 -0
  840. package/dist/vega/{p-f3bd26a1.entry.js → p-b73532c0.entry.js} +1 -1
  841. package/dist/vega/{p-d789b291.js → p-bbb96a13.js} +1 -1
  842. package/dist/vega/p-bca1f8f9.js +1 -0
  843. package/dist/vega/p-bf0ced3c.js +1 -0
  844. package/dist/vega/p-bf19682d.js +1 -0
  845. package/dist/vega/p-c131544b.entry.js +1 -0
  846. package/dist/vega/p-c81cb852.entry.js +1 -0
  847. package/dist/vega/{p-091ab617.entry.js → p-cc20f01f.entry.js} +1 -1
  848. package/dist/vega/{p-500684e1.entry.js → p-cc5a3a1b.entry.js} +1 -1
  849. package/dist/vega/{p-f940b7f7.entry.js → p-d0fbbb7f.entry.js} +1 -1
  850. package/dist/vega/{p-864de9a1.js → p-d4564bfd.js} +1 -1
  851. package/dist/vega/{p-c42ec0ac.entry.js → p-d45f79ce.entry.js} +1 -1
  852. package/dist/vega/p-d590402d.entry.js +1 -0
  853. package/dist/vega/{p-34dc3f71.entry.js → p-d72abacd.entry.js} +1 -1
  854. package/dist/vega/{p-fe1512f9.entry.js → p-d7558ed7.entry.js} +1 -1
  855. package/dist/vega/p-d8566958.entry.js +1 -0
  856. package/dist/vega/{p-a1e50e6c.entry.js → p-dc5026e7.entry.js} +1 -1
  857. package/dist/vega/p-e4674c00.entry.js +1 -0
  858. package/dist/vega/{p-311f338d.entry.js → p-e9ad8223.entry.js} +1 -1
  859. package/dist/vega/p-e9d2e0dc.entry.js +1 -0
  860. package/dist/vega/{p-86a300e8.entry.js → p-ebbaa112.entry.js} +1 -1
  861. package/dist/vega/p-ee1e7389.entry.js +1 -0
  862. package/dist/vega/{p-24042f0c.entry.js → p-f47de801.entry.js} +1 -1
  863. package/dist/vega/p-f993bcca.entry.js +1 -0
  864. package/dist/vega/{p-9ce0bd82.entry.js → p-fc8badd3.entry.js} +2 -2
  865. package/dist/vega/{p-42ec43ef.entry.js → p-fe6ea6cf.entry.js} +1 -1
  866. package/dist/vega/{p-92355996.entry.js → p-ffaee583.entry.js} +1 -1
  867. package/dist/vega/vega.esm.js +1 -1
  868. package/package.json +5 -3
  869. package/dist/cjs/content-state-fd5ad4a8.js +0 -1152
  870. package/dist/cjs/string-21427167.js +0 -13
  871. package/dist/cjs/types-a4295b11.js +0 -12
  872. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.js +0 -29
  873. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.js +0 -21
  874. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.js +0 -54
  875. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.js +0 -15
  876. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.js +0 -38
  877. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.js +0 -14
  878. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.js +0 -14
  879. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.js +0 -15
  880. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +0 -21
  881. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.js +0 -28
  882. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.js +0 -44
  883. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.js +0 -20
  884. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.js +0 -19
  885. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-blocks-after-block.js +0 -14
  886. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-blocks-before-block.js +0 -14
  887. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-nodes-after-node-action.js +0 -14
  888. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-nodes-before-node-action.js +0 -14
  889. package/dist/esm/content-state-a43e703e.js +0 -1146
  890. package/dist/esm/string-be824360.js +0 -11
  891. package/dist/esm/types-0cadfd73.js +0 -12
  892. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.d.ts +0 -12
  893. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-blocks-strategy.d.ts +0 -13
  894. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.d.ts +0 -16
  895. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.d.ts +0 -19
  896. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.d.ts +0 -19
  897. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.d.ts +0 -13
  898. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.d.ts +0 -23
  899. 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
  900. 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
  901. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.d.ts +0 -13
  902. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +0 -16
  903. 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
  904. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.d.ts +0 -21
  905. 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
  906. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.d.ts +0 -15
  907. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-blocks-after-block.d.ts +0 -13
  908. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-blocks-before-block.d.ts +0 -13
  909. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-nodes-after-node-action.d.ts +0 -13
  910. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-nodes-before-node-action.d.ts +0 -13
  911. package/dist/vega/p-080db42b.entry.js +0 -1
  912. package/dist/vega/p-083af15f.entry.js +0 -1
  913. package/dist/vega/p-0b5330e1.entry.js +0 -1
  914. package/dist/vega/p-0bb29d98.js +0 -1
  915. package/dist/vega/p-1792a352.entry.js +0 -1
  916. package/dist/vega/p-1a4f77de.entry.js +0 -1
  917. package/dist/vega/p-1a6dacc7.entry.js +0 -1
  918. package/dist/vega/p-21d26bb4.js +0 -2
  919. package/dist/vega/p-27ec0c07.entry.js +0 -1
  920. package/dist/vega/p-317920e6.entry.js +0 -1
  921. package/dist/vega/p-376b3ec7.entry.js +0 -1
  922. package/dist/vega/p-394594e9.entry.js +0 -1
  923. package/dist/vega/p-39906ad2.entry.js +0 -1
  924. package/dist/vega/p-43263510.js +0 -1
  925. package/dist/vega/p-435451be.entry.js +0 -1
  926. package/dist/vega/p-45eb1e01.entry.js +0 -1
  927. package/dist/vega/p-472108bd.entry.js +0 -1
  928. package/dist/vega/p-47a4c625.js +0 -1
  929. package/dist/vega/p-48ae6f02.entry.js +0 -1
  930. package/dist/vega/p-48b24fd3.entry.js +0 -1
  931. package/dist/vega/p-5773a9a3.js +0 -1
  932. package/dist/vega/p-5fe47fe8.entry.js +0 -1
  933. package/dist/vega/p-61ea2d75.entry.js +0 -1
  934. package/dist/vega/p-63adca7b.entry.js +0 -1
  935. package/dist/vega/p-699032fc.entry.js +0 -1
  936. package/dist/vega/p-6be16084.js +0 -1
  937. package/dist/vega/p-71c65f7e.js +0 -1
  938. package/dist/vega/p-81279fea.entry.js +0 -1
  939. package/dist/vega/p-88e08a33.js +0 -1
  940. package/dist/vega/p-8e662f26.js +0 -1
  941. package/dist/vega/p-8f8de5ab.entry.js +0 -1
  942. package/dist/vega/p-9a956a00.js +0 -1
  943. package/dist/vega/p-9ca7467d.entry.js +0 -1
  944. package/dist/vega/p-9d6003ef.js +0 -1
  945. package/dist/vega/p-a04491cc.entry.js +0 -1
  946. package/dist/vega/p-a1056063.entry.js +0 -1
  947. package/dist/vega/p-a7042a5a.entry.js +0 -1
  948. package/dist/vega/p-acf7667e.entry.js +0 -1
  949. package/dist/vega/p-b21b128c.entry.js +0 -1
  950. package/dist/vega/p-b75a8edb.entry.js +0 -1
  951. package/dist/vega/p-c21295cf.entry.js +0 -1
  952. package/dist/vega/p-ce5a3589.entry.js +0 -1
  953. package/dist/vega/p-d1355307.js +0 -1
  954. package/dist/vega/p-d1cb7f28.js +0 -1
  955. package/dist/vega/p-d7e0c57a.js +0 -1
  956. package/dist/vega/p-e1ed78db.js +0 -1
  957. package/dist/vega/p-e7b00bf0.js +0 -1
  958. package/dist/vega/p-ef84dc90.entry.js +0 -1
  959. package/dist/vega/p-f229d6d1.js +0 -1
  960. package/dist/vega/p-f27fcc7c.entry.js +0 -1
  961. package/dist/vega/p-f3ab00ad.entry.js +0 -1
  962. package/dist/vega/p-f543e911.entry.js +0 -1
  963. package/dist/vega/p-f5ac60f5.js +0 -1
  964. package/dist/vega/p-f7b5833d.entry.js +0 -1
  965. package/dist/vega/p-fc02a67a.js +0 -1
@@ -2,49 +2,49 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7700600c.js');
5
+ const index = require('./index-00ba6623.js');
6
6
  const component = require('./component-1e352960.js');
7
7
  const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
8
8
  const componentUsageRuntimeMetrics = require('./component-usage-runtime-metrics-d10ace87.js');
9
- const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-5aa4cc83.js');
10
- const domNodeSubjectFactory = require('./dom-node-subject-factory-769dd00f.js');
9
+ const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-df6e6df0.js');
10
+ const domNodeSubjectFactory = require('./dom-node-subject-factory-bad99695.js');
11
11
  const internalIconManager = require('./internal-icon-manager-f8677abb.js');
12
12
  const date = require('./date-0a6bb035.js');
13
- const eventEmitSlimmer = require('./event-emit-slimmer-6154c759.js');
14
- const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-96240a0e.js');
15
- const vegaInternalEventId = require('./vega-internal-event-id-bda08efa.js');
13
+ const eventEmitSlimmer = require('./event-emit-slimmer-efc70b94.js');
14
+ const translation = require('./translation-cde4dce3.js');
15
+ const stateBackgroundColorFormatter = require('./state-background-color-formatter-c57409ea.js');
16
+ const typeGuard = require('./type-guard-aa8fdeaf.js');
17
+ const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-5df43771.js');
18
+ const vegaInternalEventId = require('./vega-internal-event-id-ae6e2c13.js');
16
19
  const accessibility = require('./accessibility-bfa227f6.js');
20
+ const observer = require('./observer-f49483e8.js');
21
+ const changeManager = require('./change-manager-a297e4d2.js');
22
+ const staticSubjectTitle = require('./static-subject-title-85732e0f.js');
17
23
  const array = require('./array-249289f2.js');
18
24
  const createPublicApiRuntimeMetricsSlimmer = require('./create-public-api-runtime-metrics-slimmer-e2e274e1.js');
19
25
  const pageResizeObserverSlimmer = require('./page-resize-observer-slimmer-11937d6f.js');
20
26
  const timer = require('./timer-5f33058b.js');
21
- const changeManager = require('./change-manager-a297e4d2.js');
22
- const subStateNotifySlimmer = require('./sub-state-notify-slimmer-409bbd1a.js');
23
- const translationSlimmer = require('./translation-slimmer-83bdb9fe.js');
27
+ const subStateNotifySlimmer = require('./sub-state-notify-slimmer-943eb7cc.js');
28
+ const translationSlimmer = require('./translation-slimmer-af399096.js');
24
29
  const placeholder = require('./placeholder-cb6d37ad.js');
25
- const typeGuard = require('./type-guard-aa8fdeaf.js');
26
- const stateBackgroundColorFormatter = require('./state-background-color-formatter-c57409ea.js');
27
- const subStateObserverSlimmer = require('./sub-state-observer-slimmer-93d0a609.js');
30
+ const subStateObserverSlimmer = require('./sub-state-observer-slimmer-0788232a.js');
28
31
  const pixel = require('./pixel-98f2a10c.js');
29
- require('./observer-f49483e8.js');
30
- require('./ui-6c069604.js');
32
+ require('./ui-4ce1fa08.js');
31
33
  require('./icon-manager-9072356d.js');
32
34
  require('./dynamic-slimmer-f31fdfd7.js');
33
- require('./internal-vega-event-manager-e98944ac.js');
35
+ require('./internal-vega-event-manager-83065493.js');
34
36
  require('./try-get-document-c0ebd39a.js');
37
+ require('./breakpoints-ebde4837.js');
38
+ require('./ui-32e69595.js');
39
+ require('./regex-c1f70fd4.js');
40
+ require('./typography-4560e7f1.js');
35
41
  require('./vega-env-manager-23b8b23c.js');
36
42
  require('./feature-flag-controller-ce2162c8.js');
37
43
  require('./index-4d7bce1a.js');
38
44
  require('./_commonjsHelpers-537d719a.js');
39
45
  require('./number-4816603d.js');
40
- require('./ui-32e69595.js');
41
- require('./breakpoints-ebde4837.js');
42
- require('./translation-de7e351e.js');
43
- require('./static-subject-title-7e7d791a.js');
44
- require('./regex-c1f70fd4.js');
45
- require('./typography-4560e7f1.js');
46
46
 
47
- var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
47
+ var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
48
48
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
49
49
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
50
50
  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;
@@ -52,6 +52,9 @@ var __decorate$p = (undefined && undefined.__decorate) || function (decorators,
52
52
  };
53
53
  /** The `VegaCalendarRenderer` class in TypeScript React renders switch panel and view components for a calendar using VegaSlimmer. */
54
54
  class VegaCalendarRenderer extends globalSlimmerRegistry.VegaSlimmer {
55
+ getEventPreviewRef() {
56
+ return this.eventPreviewRef;
57
+ }
55
58
  /**
56
59
  * The render function returns a Fragment containing the rendered output of switchPanelRenderer and viewRenderer components.
57
60
  *
@@ -60,13 +63,19 @@ class VegaCalendarRenderer extends globalSlimmerRegistry.VegaSlimmer {
60
63
  render() {
61
64
  return (index.h(index.Fragment, null,
62
65
  this.switchPanelRenderer.render(),
63
- this.viewRenderer.render()));
66
+ this.viewRenderer.render(),
67
+ index.h("vega-calendar-event-preview", { ref: (el) => {
68
+ this.eventPreviewRef = el;
69
+ } })));
64
70
  }
65
71
  }
66
- __decorate$p([
72
+ __decorate$t([
73
+ globalSlimmerRegistry.MapToComponentField()
74
+ ], VegaCalendarRenderer.prototype, "host", void 0);
75
+ __decorate$t([
67
76
  globalSlimmerRegistry.MapToComponentField()
68
77
  ], VegaCalendarRenderer.prototype, "switchPanelRenderer", void 0);
69
- __decorate$p([
78
+ __decorate$t([
70
79
  globalSlimmerRegistry.MapToComponentField()
71
80
  ], VegaCalendarRenderer.prototype, "viewRenderer", void 0);
72
81
 
@@ -78,1077 +87,1148 @@ const chevronLeft = {
78
87
  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>`,
79
88
  };
80
89
 
81
- /**
82
- * Get a week days array
83
- *
84
- * @param {number} firstWeekDay - The first week day (0: Sunday, 1: Monday, ...)
85
- * @returns {number[]} - The week days array
86
- */
87
- const getWeekdays = (firstWeekDay = 0) => {
88
- const weekdays = [0, 1, 2, 3, 4, 5, 6];
89
- return weekdays.concat(weekdays).slice(firstWeekDay, firstWeekDay + 7);
90
+ const ellipsisVertical = {
91
+ 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>`,
90
92
  };
91
93
 
92
- /**
93
- * Calendar view generator abstract class.
94
- */
95
- class CalendarViewGenerator {
94
+ var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
95
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
96
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
97
+ 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;
98
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
99
+ };
100
+ /** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
101
+ class VegaCalendarSwitchPanelRenderer extends globalSlimmerRegistry.VegaSlimmer {
96
102
  constructor() {
97
- this.WEEKDAYS_SHORT = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
98
- this.weekdays = getWeekdays();
103
+ super(...arguments);
104
+ /**
105
+ * This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
106
+ *
107
+ * @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
108
+ */
109
+ this.handleViewChange = (input) => {
110
+ this.currentPeriodController.updateCalendarPeriod(input.detail, this.postOperationDate);
111
+ };
112
+ /**
113
+ * reset view content to today
114
+ */
115
+ this.todayButtonClick = () => {
116
+ this.currentPeriodController.setCurrentPeriod(this.currentPeriod.now());
117
+ };
118
+ /**
119
+ * update view content after click next button
120
+ */
121
+ this.nextButtonClick = () => {
122
+ this.currentPeriodController.setCurrentPeriod(this.currentPeriod.next());
123
+ };
124
+ /**
125
+ * update view content after click previous button
126
+ */
127
+ this.prevButtonClick = () => {
128
+ this.currentPeriodController.setCurrentPeriod(this.currentPeriod.previous());
129
+ };
130
+ /**
131
+ * The more action menu item click
132
+ *
133
+ * @param {NotifyObserverPayload<string>} payload The object contains the menu item key
134
+ */
135
+ this.moreActionMenuClick = (payload) => {
136
+ this.moreActionClickEmitter.emit(payload.detail);
137
+ };
99
138
  }
100
139
  /**
101
- * Get weekday names.
140
+ * get the switch panel container element
102
141
  *
103
- * @returns {string[]} - The weekday strings
142
+ * @returns {HTMLVegaFlexElement} container element
104
143
  */
105
- getWeekdayNames() {
106
- return this.WEEKDAYS_SHORT;
144
+ getSwitchPanelRef() {
145
+ return this.switchPanelRef;
107
146
  }
108
147
  /**
109
- * Generate calendar dates
148
+ * calendar switch panel with date switch, view switch, add new button, and more action components.
110
149
  *
111
- * @param {CalendarPeriod} period - The calendar period
112
- * @returns {Date[]} - The date result
150
+ * @returns {HTMLElement} html element
113
151
  */
114
- generateDates(period) {
115
- const cursor = period.startDate.toDate();
116
- const dates = [];
117
- for (let i = 0; i < period.count; i++) {
118
- dates.push(new Date(cursor));
119
- cursor.setDate(cursor.getDate() + 1);
120
- }
121
- return dates;
152
+ render() {
153
+ return (index.h("vega-flex", { direction: "row", gap: "size-16", justifyContent: "space-between", alignItems: "center", class: "calendar-switch-panel", ref: (node) => (this.switchPanelRef = node) },
154
+ this.renderDateSwitch(),
155
+ index.h("div", { class: "calendar-view-switch-container" },
156
+ this.showSwitchView ? this.renderViewSwitch() : null,
157
+ this.renderMoreActionMenu())));
122
158
  }
123
159
  /**
124
- * Generate calendar head
160
+ * The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
125
161
  *
126
- * @returns {string[]} - The data of week head
162
+ * @returns {HTMLDivElement} action button elements container.
127
163
  */
128
- generateWeekHead() {
129
- return this.weekdays.map((day) => this.getWeekdayNames()[day]);
164
+ renderDateSwitch() {
165
+ return (index.h("div", { class: "calendar-date-switch-container" },
166
+ index.h("vega-button", { variant: "secondary", size: "small", ref: (button) => {
167
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.todayButtonClick);
168
+ }, label: this.translationSlimmer.t('Today') }),
169
+ index.h("vega-button-circle", { variant: "secondary", size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-left'), label: "previous", showTooltip: false, ref: (button) => {
170
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.prevButtonClick);
171
+ } }),
172
+ index.h("vega-button-circle", { variant: "secondary", size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-right'), label: "next", showTooltip: false, ref: (button) => {
173
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.nextButtonClick);
174
+ } }),
175
+ this.renderCurrentPeriod()));
130
176
  }
131
- }
132
-
133
- /**
134
- * Calendar view
135
- */
136
- class CalendarView {
137
- constructor(weekdays, dateItems) {
138
- this._weekdays = weekdays;
139
- this._dateItems = dateItems;
177
+ /**
178
+ * The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
179
+ *
180
+ * @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
181
+ */
182
+ renderCurrentPeriod() {
183
+ return (index.h("vega-font", { class: "calendar-current-date", variant: "font-field-label", color: "text-primary" }, this.getViewDateSummary()));
140
184
  }
141
185
  /**
142
- * The week head of the calendar view
186
+ * The function `renderViewSwitch` returns a JSX element for rendering a segment control component in a TypeScript React application.
143
187
  *
144
- * @type {string[]}
188
+ * @returns {HTMLElement} An HTMLElement containing a vega-segment-control element with specific attributes and event handling.
145
189
  */
146
- get weekdays() {
147
- return this._weekdays;
190
+ renderViewSwitch() {
191
+ return (index.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) => {
192
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectFactory.VegaChange, this.handleViewChange);
193
+ } }));
148
194
  }
149
195
  /**
150
- * The date items of the calendar view
196
+ * Render an more action button if dropdown source is not empty
151
197
  *
152
- * @type {CalendarDate[][]}
198
+ * @returns {Nullable<HTMLElement>} the additional element
153
199
  */
154
- get dateItems() {
155
- return this._dateItems;
200
+ renderMoreActionMenu() {
201
+ var _a, _b;
202
+ if ((_b = (_a = this.moreActionDropdownProps) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.length) {
203
+ return (index.h("vega-dropdown", Object.assign({ alignment: "end", trigger: "click" }, this.moreActionDropdownProps, { ref: (node) => {
204
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectFactory.VegaDropdownClick, this.moreActionMenuClick);
205
+ } }),
206
+ index.h("vega-button-circle", { size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('ellipsis-vertical'), variant: "icon-only" })));
207
+ }
156
208
  }
157
- }
158
-
159
- /**
160
- * Day view calendar generator
161
- */
162
- class DayViewGenerator extends CalendarViewGenerator {
163
209
  /**
164
- * @inheritDoc
210
+ * Get the view content date summary info, such as `January, 2024` or `10 January, 2024` or `28 December, 2023 - 3 January, 2024`
211
+ *
212
+ * @returns {string} string
165
213
  */
166
- generate(period) {
167
- return new CalendarView([this.generateWeekHead()[period.current.toDate().getDay()]], [[period.current]]);
214
+ getViewDateSummary() {
215
+ const currentDate = this.currentPeriod.current;
216
+ let result = '';
217
+ switch (this.viewMode) {
218
+ case 'day': {
219
+ const monthName = this.translationSlimmer.t(currentDate.getMonthName());
220
+ result = `${currentDate.date} ${monthName}, ${currentDate.year}`;
221
+ break;
222
+ }
223
+ case 'week': {
224
+ const weekItems = this.calendarView.dateItems[0];
225
+ const start = weekItems[0];
226
+ const end = weekItems[weekItems.length - 1];
227
+ const [startMonthName, endMonthName] = [start, end].map((item) => this.translationSlimmer.t(item.getMonthName()));
228
+ result = `${start.date} ${startMonthName}${start.year === end.year ? '' : ', ' + start.year} - ${end.date} ${endMonthName}, ${end.year}`;
229
+ break;
230
+ }
231
+ case 'month': {
232
+ const monthName = this.translationSlimmer.t(currentDate.getMonthName());
233
+ result = `${monthName}, ${currentDate.year}`;
234
+ break;
235
+ }
236
+ }
237
+ return result;
168
238
  }
169
239
  }
240
+ (() => {
241
+ internalIconManager.VegaInternalIconManager.register({
242
+ 'chevron-right': chevronRight,
243
+ 'chevron-left': chevronLeft,
244
+ 'ellipsis-vertical': ellipsisVertical,
245
+ });
246
+ })();
247
+ VegaCalendarSwitchPanelRenderer.views = [
248
+ { text: 'Day', key: 'day' },
249
+ { text: 'Week', key: 'week' },
250
+ { text: 'Month', key: 'month' },
251
+ ];
252
+ __decorate$s([
253
+ globalSlimmerRegistry.MapToComponentField()
254
+ ], VegaCalendarSwitchPanelRenderer.prototype, "viewMode", void 0);
255
+ __decorate$s([
256
+ globalSlimmerRegistry.MapToComponentField()
257
+ ], VegaCalendarSwitchPanelRenderer.prototype, "calendarView", void 0);
258
+ __decorate$s([
259
+ globalSlimmerRegistry.MapToComponentField()
260
+ ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriod", void 0);
261
+ __decorate$s([
262
+ globalSlimmerRegistry.MapToComponentField()
263
+ ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionDropdownProps", void 0);
264
+ __decorate$s([
265
+ globalSlimmerRegistry.MapToComponentField()
266
+ ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionClickEmitter", void 0);
267
+ __decorate$s([
268
+ globalSlimmerRegistry.MapToComponentField()
269
+ ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriodController", void 0);
270
+ __decorate$s([
271
+ globalSlimmerRegistry.MapToComponentField()
272
+ ], VegaCalendarSwitchPanelRenderer.prototype, "calendarViewController", void 0);
273
+ __decorate$s([
274
+ globalSlimmerRegistry.MapToComponentField()
275
+ ], VegaCalendarSwitchPanelRenderer.prototype, "translationSlimmer", void 0);
276
+ __decorate$s([
277
+ globalSlimmerRegistry.MapToComponentField()
278
+ ], VegaCalendarSwitchPanelRenderer.prototype, "postOperationDate", void 0);
279
+ __decorate$s([
280
+ globalSlimmerRegistry.MapToComponentField()
281
+ ], VegaCalendarSwitchPanelRenderer.prototype, "showSwitchView", void 0);
170
282
 
171
- /**
172
- * Calendar date class
173
- */
174
- class CalendarDate {
175
- constructor(year, month, date) {
176
- this._date = date;
177
- this._month = month;
178
- this._year = year;
179
- }
283
+ var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
284
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
285
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
286
+ 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;
287
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
288
+ };
289
+ /** renders different views based on the specified view mode using month, week, and day view render. */
290
+ class VegaCalendarViewRenderer extends globalSlimmerRegistry.VegaSlimmer {
180
291
  /**
181
- * Create a calendar date from a Date object
292
+ * Get the calendar view content element ref
182
293
  *
183
- * @param {Date} date - The Date object
184
- * @returns {CalendarDate} - Return a CalendarDate object
294
+ * @returns {Nullable<HTMLElement>} The div element.
185
295
  */
186
- static from(date) {
187
- return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
296
+ getCalendarViewElementRef() {
297
+ return this.calendarViewElementRef;
188
298
  }
189
299
  /**
190
- * The year of the calendar date
300
+ * render the calendar month/week/day view
191
301
  *
192
- * @type {number}
302
+ * @returns {HTMLElement} html element
193
303
  */
194
- get year() {
195
- return this._year;
196
- }
197
- set year(value) {
198
- this._year = value;
304
+ render() {
305
+ return (index.h("div", { class: `calendar-view calendar-view-${this.viewMode} ${this.showWeekends === false ? 'calendar-hide-weekends' : ''}`, ref: (node) => (this.calendarViewElementRef = node) }, this.viewMode === 'month'
306
+ ? this.monthViewRenderer.render()
307
+ : this.viewWithTimeRenderer.render()));
199
308
  }
309
+ }
310
+ __decorate$r([
311
+ globalSlimmerRegistry.MapToComponentField()
312
+ ], VegaCalendarViewRenderer.prototype, "viewMode", void 0);
313
+ __decorate$r([
314
+ globalSlimmerRegistry.MapToComponentField()
315
+ ], VegaCalendarViewRenderer.prototype, "showWeekends", void 0);
316
+ __decorate$r([
317
+ globalSlimmerRegistry.MapToComponentField()
318
+ ], VegaCalendarViewRenderer.prototype, "monthViewRenderer", void 0);
319
+ __decorate$r([
320
+ globalSlimmerRegistry.MapToComponentField()
321
+ ], VegaCalendarViewRenderer.prototype, "viewWithTimeRenderer", void 0);
322
+
323
+ var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
324
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
325
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
326
+ 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;
327
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
328
+ };
329
+ /** 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. */
330
+ class VegaCalendarMonthViewRenderer extends globalSlimmerRegistry.VegaSlimmer {
200
331
  /**
201
- * The month of the calendar date
332
+ * the HTML elements that represent the month view of a calendar component.
202
333
  *
203
- * @type {number}
334
+ * @returns {HTMLElement} the month view calendar content
204
335
  */
205
- get month() {
206
- return this._month;
207
- }
208
- set month(value) {
209
- this._month = value;
336
+ render() {
337
+ const weekHead = this.calendarView.weekdays;
338
+ return (index.h("div", { class: "calendar-view-month-container" },
339
+ index.h("div", { class: "calendar-view-row calendar-view-title border-divider-bottom" }, weekHead.map((title) => (index.h("div", { key: title }, this.translationSlimmer.t(title))))),
340
+ this.renderMonthViewContent()));
210
341
  }
211
342
  /**
212
- * The date of the calendar date
343
+ * generating the HTML elements that represent the content of the month view in a calendar component
213
344
  *
214
- * @type {number}
345
+ * @returns {HTMLElement[]} month view content and event content
215
346
  */
216
- get date() {
217
- return this._date;
218
- }
219
- set date(value) {
220
- this._date = value;
347
+ renderMonthViewContent() {
348
+ const monthSource = this.calendarView.dateItems;
349
+ const currentDate = this.currentPeriod.current;
350
+ return monthSource.map((dateArray, index$1) => {
351
+ const eventsArray = this.monthEventRenderer.getCurrentRowEvents(dateArray);
352
+ const displayEventsArray = this.monthEventRenderer.filterRowDisplayEvents(eventsArray);
353
+ return (index.h("div", { key: index$1, class: "calendar-view-row border-divider-bottom" }, dateArray.map((item, itemIndex) => {
354
+ var _a;
355
+ const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
356
+ return (index.h("div", { class: {
357
+ 'row-cell border-divider-right': true,
358
+ 'current-month-day': item.compare(currentDate).inMonth,
359
+ 'active': item.isToday(),
360
+ 'disabled': isDisabled,
361
+ }, key: `${item.month}-${item.date}`,
362
+ // eslint-disable-next-line react/jsx-no-bind
363
+ onDblClick: isDisabled
364
+ ? undefined
365
+ : (e) => {
366
+ this.handleDateBlockClick(e, item);
367
+ } },
368
+ this.renderDateBlock(item),
369
+ this.monthEventRenderer.render(item, eventsArray[itemIndex], displayEventsArray[itemIndex], itemIndex)));
370
+ })));
371
+ });
221
372
  }
222
373
  /**
223
- * Verify whether the calendar date is today
374
+ * It takes a `CalendarDate` object as a parameter and returns an HTML element representing a date block in the calendar view.
224
375
  *
225
- * @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
376
+ * @param {CalendarDate} item the day object
377
+ * @returns {HTMLElement} the date block element
226
378
  */
227
- isToday() {
228
- const today = new Date();
229
- return (today.getFullYear() === this.year &&
230
- today.getMonth() + 1 === this.month &&
231
- today.getDate() === this.date);
379
+ renderDateBlock(item) {
380
+ const isMonthFirstDay = item.date === 1;
381
+ return (index.h("div", { class: "date" },
382
+ isMonthFirstDay && index.h("div", { class: "month-block" }, item.getMonthName(true)),
383
+ index.h("div", { role: "button", tabIndex: 0, class: "grid-col",
384
+ // eslint-disable-next-line react/jsx-no-bind
385
+ onDblClick: (e) => this.goToCurrentDayView(e, item) }, item.date)));
232
386
  }
233
387
  /**
234
- * Convert the calendar date to a Date object
388
+ * switch to current date day view
235
389
  *
236
- * @returns {Date} - Return a Date object
390
+ * @param {MouseEvent} e the double click event object
391
+ * @param {CalendarDate} calendarDate the calendar date object
237
392
  */
238
- toDate() {
239
- return new Date(this.year, this.month - 1, this.date);
393
+ goToCurrentDayView(e, calendarDate) {
394
+ e.stopPropagation();
395
+ this.currentPeriodController.updateCalendarPeriod('day', calendarDate);
240
396
  }
241
397
  /**
242
- * Compare with another calendar date
398
+ * emit vega click event when click the date block
243
399
  *
244
- * @param {CalendarDate} date - The calendar date to compare with
245
- * @returns {DateCompareResult} - Return a DateCompareResult object
400
+ * @param {MouseEvent} e the mouse event object
401
+ * @param {CalendarDate} calendarDate the calendar date object
246
402
  */
247
- compare(date) {
248
- const { year, month } = date;
249
- const result = {
250
- isPreviousMonth: false,
251
- inMonth: false,
252
- isNextMonth: false,
253
- };
254
- if (this.year === year) {
255
- if (this.month < month) {
256
- result.isPreviousMonth = true;
257
- }
258
- else if (this.month > month) {
259
- result.isNextMonth = true;
260
- }
261
- else {
262
- result.inMonth = true;
263
- }
264
- }
265
- else if (this.year > year) {
266
- result.isNextMonth = true;
267
- }
268
- else {
269
- result.isPreviousMonth = true;
403
+ handleDateBlockClick(e, calendarDate) {
404
+ const { target, clientX, clientY } = e;
405
+ if (this.isMonthBlockBlankArea(target)) {
406
+ const { year, month, date } = calendarDate;
407
+ this.dateDblClickEmitter.emit({
408
+ year,
409
+ month,
410
+ date,
411
+ hour: 0,
412
+ mouseEventInfo: { clientX, clientY },
413
+ });
270
414
  }
271
- return result;
272
415
  }
273
416
  /**
274
- * The function "equal" compares the year, month, and date of two CalendarDate objects and returns true if they are equal.
417
+ * determine if the clicked element is blank area
275
418
  *
276
- * @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
277
- * `CalendarDate` object passed as a parameter. The method returns `true` if all three values (year, month, date) are equal
278
- * @returns {boolean} The date is same day with current
419
+ * @param {HTMLElement} element the target element
420
+ * @returns {boolean} true or false
279
421
  */
280
- equal(calendarDate) {
281
- const { year, month, date } = calendarDate;
282
- return this._year === year && this._month === month && this._date === date;
422
+ isMonthBlockBlankArea(element) {
423
+ // the more button and the calendar event component should not trigger dateDblClick event
424
+ return !element.classList.contains('more-button') && element.tagName !== 'VEGA-CALENDAR-EVENT';
283
425
  }
284
426
  }
427
+ __decorate$q([
428
+ globalSlimmerRegistry.MapToComponentField()
429
+ ], VegaCalendarMonthViewRenderer.prototype, "viewMode", void 0);
430
+ __decorate$q([
431
+ globalSlimmerRegistry.MapToComponentField()
432
+ ], VegaCalendarMonthViewRenderer.prototype, "calendarView", void 0);
433
+ __decorate$q([
434
+ globalSlimmerRegistry.MapToComponentField()
435
+ ], VegaCalendarMonthViewRenderer.prototype, "currentPeriod", void 0);
436
+ __decorate$q([
437
+ globalSlimmerRegistry.MapToComponentField()
438
+ ], VegaCalendarMonthViewRenderer.prototype, "currentPeriodController", void 0);
439
+ __decorate$q([
440
+ globalSlimmerRegistry.MapToComponentField()
441
+ ], VegaCalendarMonthViewRenderer.prototype, "monthEventRenderer", void 0);
442
+ __decorate$q([
443
+ globalSlimmerRegistry.MapToComponentField()
444
+ ], VegaCalendarMonthViewRenderer.prototype, "dateDblClickEmitter", void 0);
445
+ __decorate$q([
446
+ globalSlimmerRegistry.MapToComponentField()
447
+ ], VegaCalendarMonthViewRenderer.prototype, "translationSlimmer", void 0);
448
+ __decorate$q([
449
+ globalSlimmerRegistry.MapToComponentField()
450
+ ], VegaCalendarMonthViewRenderer.prototype, "isDateDisabled", void 0);
285
451
 
286
- /**
287
- * Calendar week view generator
288
- */
289
- class WeekViewGenerator extends CalendarViewGenerator {
452
+ var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
453
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
454
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
455
+ 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;
456
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
457
+ };
458
+ /** The `VegaCalendarViewWithTimeRenderer` class in TypeScript React renders a day view for a calendar component with title, content, and hour blocks. */
459
+ class VegaCalendarViewWithTimeRenderer extends globalSlimmerRegistry.VegaSlimmer {
290
460
  /**
291
- * @inheritDoc
461
+ * The render function in TypeScript React returns an array of HTMLElements containing the week calendar view for a specific day.
462
+ *
463
+ * @returns {HTMLElement} An array of HTMLElement elements containing the rendered content of a calendar view for a
464
+ * specific day in the week. The content includes the title and the main content of the calendar view
465
+ * for that day.
292
466
  */
293
- generate(period) {
294
- const dates = this.generateDates(period);
295
- const showWeekends = period.showWeekends;
296
- let weekDays = this.generateWeekHead();
297
- let dateItems = [dates.map(CalendarDate.from)];
298
- if (showWeekends === false) {
299
- weekDays = weekDays.slice(1, 6);
300
- dateItems = dateItems.map((items) => items.slice(1, 6));
301
- }
302
- return new CalendarView(weekDays, dateItems);
467
+ render() {
468
+ return (index.h("div", { class: "calendar-view-container" },
469
+ this.renderViewTitle(),
470
+ this.renderViewContent()));
303
471
  }
304
- }
305
-
306
- /**
307
- * Calendar month view generator
308
- */
309
- class MonthViewGenerator extends CalendarViewGenerator {
310
472
  /**
311
- * @inheritDoc
473
+ * The function `renderViewTitle` renders a calendar view title and events based on the provided source data.
474
+ *
475
+ * @returns {HTMLElement} The `renderViewTitle` function returns an HTML element (HTMLElement) that contains a calendar view title container with rows for each day's information.
312
476
  */
313
- generate(period) {
314
- const showWeekends = period.showWeekends;
315
- let calendarDates = [];
316
- let week = [];
317
- const dates = this.generateDates(period);
318
- dates.forEach((date, i) => {
319
- if (!(i % 7)) {
320
- calendarDates[i / 7] = week = [];
321
- }
322
- const item = CalendarDate.from(date);
323
- week.push(item);
324
- });
325
- let weekDays = this.generateWeekHead();
326
- if (showWeekends === false) {
327
- weekDays = weekDays.slice(1, 6);
328
- calendarDates = calendarDates.map((items) => items.slice(1, 6));
329
- }
330
- return new CalendarView(weekDays, calendarDates);
331
- }
332
- }
333
-
334
- /**
335
- * CalendarPeriod is an abstract class that represents a period of date for calendar.
336
- */
337
- class CalendarPeriod {
338
- constructor(count, current) {
339
- this._count = count;
340
- this._current = current ? current : CalendarDate.from(new Date());
341
- this.calculatePeriod(this._current);
477
+ renderViewTitle() {
478
+ const source = this.calendarView.dateItems[0];
479
+ const weekHead = this.calendarView.weekdays;
480
+ return (index.h("div", { class: "calendar-view-title-container" },
481
+ index.h("div", { class: "calendar-view-row" },
482
+ index.h("div", { class: "time-line-empty" }),
483
+ index.h("div", { class: "calendar-view-title" }, source.map((item, index$1) => (index.h("div", { key: item.date, class: { active: item.isToday() } },
484
+ index.h("div", null, this.translationSlimmer.t(weekHead[index$1])),
485
+ index.h("div", { class: "week-day" }, item.date)))))),
486
+ index.h("div", { class: "calendar-view-row calendar-view-event-all-container border-divider-bottom" },
487
+ index.h("div", { class: "time-line-all" }, this.translationSlimmer.t('All Day')),
488
+ this.dayViewFullDayEventRenderer.render())));
342
489
  }
343
490
  /**
344
- * The current date of the period.
491
+ * The `renderViewContent` function in TypeScript React renders a calendar view with day blocks and time markers based on the provided data.
345
492
  *
346
- * @type {CalendarDate}
493
+ * @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.
347
494
  */
348
- get current() {
349
- return this._current;
495
+ renderViewContent() {
496
+ const source = this.calendarView.dateItems[0];
497
+ return (index.h("div", { class: "calendar-view-row calendar-view-day-container" },
498
+ this.timeLineRenderer.render(),
499
+ index.h("div", { class: "calendar-view-content-container" },
500
+ index.h("div", { class: "calendar-view-content" }, source.map((item) => {
501
+ var _a;
502
+ const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
503
+ return (index.h("div", { class: {
504
+ 'grid-col border-divider-left': true,
505
+ 'disabled': isDisabled,
506
+ }, key: item.date },
507
+ index.h("div", { class: "hour-empty border-divider-top" }),
508
+ this.renderHourBlock(item, isDisabled)));
509
+ })),
510
+ this.dayViewTimedEventRenderer.render(),
511
+ this.timeMarkerRenderer.render(source))));
350
512
  }
351
513
  /**
352
- * The start date of the period
514
+ * The function `renderHourBlock` returns an array of HTML elements representing hour blocks with time information.
353
515
  *
354
- * @type {CalendarDate}
516
+ * @param {CalendarDate} calendarDate then current calendar date object
517
+ * @returns {HTMLElement[]} An array of HTMLElements is being returned. Each HTMLElement represents an hour block with a time value inside a div element.
355
518
  */
356
- get startDate() {
357
- return this._startDate;
519
+ renderHourBlock(calendarDate, isDisabled) {
520
+ const timeLineSource = Array(24).fill('');
521
+ return timeLineSource.map((_item, index$1) => {
522
+ var _a;
523
+ let isHourDisabled = false;
524
+ if (!isDisabled) {
525
+ const dateWithHour = new Date(calendarDate.toDate().setHours(index$1));
526
+ isHourDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, dateWithHour);
527
+ }
528
+ return (index.h("div", { class: {
529
+ 'grid-cell border-divider-top': true,
530
+ 'disabled': isDisabled || isHourDisabled,
531
+ },
532
+ // eslint-disable-next-line react/jsx-no-bind
533
+ onDblClick: isDisabled || isHourDisabled
534
+ ? undefined
535
+ : (e) => this.handleDateBlockClick(calendarDate, index$1, e) }));
536
+ });
358
537
  }
359
538
  /**
360
- * The end date of the period
539
+ * emit vega click event when click the date block
361
540
  *
362
- * @type {CalendarDate}
541
+ * @param {CalendarDate} calendarDate the calendar date object
363
542
  */
364
- get endDate() {
365
- return this._endDate;
543
+ handleDateBlockClick(calendarDate, hour, e) {
544
+ const { year, month, date } = calendarDate;
545
+ const { clientX, clientY } = e;
546
+ this.dateDblClickEmitter.emit({ year, month, date, hour, mouseEventInfo: { clientX, clientY } });
366
547
  }
548
+ }
549
+ __decorate$p([
550
+ globalSlimmerRegistry.MapToComponentField()
551
+ ], VegaCalendarViewWithTimeRenderer.prototype, "viewMode", void 0);
552
+ __decorate$p([
553
+ globalSlimmerRegistry.MapToComponentField()
554
+ ], VegaCalendarViewWithTimeRenderer.prototype, "timeLineRenderer", void 0);
555
+ __decorate$p([
556
+ globalSlimmerRegistry.MapToComponentField()
557
+ ], VegaCalendarViewWithTimeRenderer.prototype, "timeMarkerRenderer", void 0);
558
+ __decorate$p([
559
+ globalSlimmerRegistry.MapToComponentField()
560
+ ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewTimedEventRenderer", void 0);
561
+ __decorate$p([
562
+ globalSlimmerRegistry.MapToComponentField()
563
+ ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewFullDayEventRenderer", void 0);
564
+ __decorate$p([
565
+ globalSlimmerRegistry.MapToComponentField()
566
+ ], VegaCalendarViewWithTimeRenderer.prototype, "calendarView", void 0);
567
+ __decorate$p([
568
+ globalSlimmerRegistry.MapToComponentField()
569
+ ], VegaCalendarViewWithTimeRenderer.prototype, "dateDblClickEmitter", void 0);
570
+ __decorate$p([
571
+ globalSlimmerRegistry.MapToComponentField()
572
+ ], VegaCalendarViewWithTimeRenderer.prototype, "translationSlimmer", void 0);
573
+ __decorate$p([
574
+ globalSlimmerRegistry.MapToComponentField()
575
+ ], VegaCalendarViewWithTimeRenderer.prototype, "isDateDisabled", void 0);
576
+
577
+ var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
578
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
579
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
580
+ 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;
581
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
582
+ };
583
+ /** 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. */
584
+ class VegaCalendarTimeLineRenderer extends globalSlimmerRegistry.VegaSlimmer {
367
585
  /**
368
- * The count of the period
586
+ * rendering the time line component as an HTML element
369
587
  *
370
- * @type {number}
588
+ * @returns {HTMLElement} the html element
371
589
  */
372
- get count() {
373
- return this._count;
590
+ render() {
591
+ const timeLineSource = this.getTimeLineTitles();
592
+ return (index.h("div", { class: "time-line" },
593
+ index.h("div", { class: "hour-empty" }),
594
+ timeLineSource.map((time, index$1) => {
595
+ return (index.h("div", { key: time },
596
+ index.h("div", { class: "time-text", "data-time": index$1 === 0 ? 24 : index$1 }, time)));
597
+ })));
374
598
  }
375
599
  /**
376
- * This function returns the type of the object.
600
+ * The function `getTimeLineTitles` generates a time line array based on the specified time format (24-hour) and stores it in the `timeLineSource` property.
377
601
  *
378
- * @type {string}
602
+ * @returns {string[]} returns an array of strings representing the time line
379
603
  */
380
- get type() {
381
- return this._type;
604
+ getTimeLineTitles() {
605
+ const timeLine = [];
606
+ if (this.timeFormat === '12-hour') {
607
+ timeLine.push('12 AM');
608
+ for (let i = 1; i < 12; i++) {
609
+ timeLine.push(`${i} AM`);
610
+ }
611
+ timeLine.push('12 PM');
612
+ for (let i = 1; i < 12; i++) {
613
+ timeLine.push(`${i} PM`);
614
+ }
615
+ }
616
+ else {
617
+ for (let i = 0; i < 24; i++) {
618
+ timeLine.push(`${date.pad(i)}`);
619
+ }
620
+ }
621
+ return timeLine;
382
622
  }
383
- /**
384
- * This function returns the showWeekends of the object.
385
- *
386
- * @type {boolean}
387
- */
388
- get showWeekends() {
389
- return this._showWeekends;
623
+ }
624
+ __decorate$o([
625
+ globalSlimmerRegistry.MapToComponentField()
626
+ ], VegaCalendarTimeLineRenderer.prototype, "timeFormat", void 0);
627
+
628
+ /**
629
+ * Get a week days array
630
+ *
631
+ * @param {number} firstWeekDay - The first week day (0: Sunday, 1: Monday, ...)
632
+ * @returns {number[]} - The week days array
633
+ */
634
+ const getWeekdays = (firstWeekDay = 0) => {
635
+ const weekdays = [0, 1, 2, 3, 4, 5, 6];
636
+ return weekdays.concat(weekdays).slice(firstWeekDay, firstWeekDay + 7);
637
+ };
638
+ var WeekdayLongNames;
639
+ (function (WeekdayLongNames) {
640
+ WeekdayLongNames["sun"] = "Sunday";
641
+ WeekdayLongNames["mon"] = "Monday";
642
+ WeekdayLongNames["tue"] = "Tuesday";
643
+ WeekdayLongNames["wed"] = "Wednesday";
644
+ WeekdayLongNames["thu"] = "Thursday";
645
+ WeekdayLongNames["fri"] = "Friday";
646
+ WeekdayLongNames["sat"] = "Saturday";
647
+ })(WeekdayLongNames || (WeekdayLongNames = {}));
648
+ /**
649
+ * Format display time
650
+ *
651
+ * @param {TimeFormat} timeFormat - The time format (24-hour or 12-hour)
652
+ * @param {string} timeString - The time string to format
653
+ * @returns {string} - The formatted time string
654
+ */
655
+ const formatDisplayTime = (timeFormat, timeString) => {
656
+ const [hour, minutes] = timeString.split(':');
657
+ if (timeFormat === '24-hour') {
658
+ return `${hour.padStart(2, '0')}:${minutes.padStart(2, '0')}`;
659
+ }
660
+ else {
661
+ const hourNum = Number(hour);
662
+ const amPm = hourNum >= 12 ? 'pm' : 'am';
663
+ const minutesResult = minutes.padStart(2, '0');
664
+ if (hourNum > 12) {
665
+ return `${hourNum - 12}:${minutesResult} ${translation.VegaInternalTranslation.t('pm')}`;
666
+ }
667
+ else if (hourNum === 0) {
668
+ return `12:${minutesResult} ${translation.VegaInternalTranslation.t('am')}`;
669
+ }
670
+ else {
671
+ return `${hourNum}:${minutesResult} ${translation.VegaInternalTranslation.t(amPm)}`;
672
+ }
673
+ }
674
+ };
675
+
676
+ /**
677
+ * Calendar view generator abstract class.
678
+ */
679
+ class CalendarViewGenerator {
680
+ constructor() {
681
+ this.WEEKDAYS_SHORT = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
682
+ this.weekdays = getWeekdays();
390
683
  }
391
684
  /**
392
- * Go to a specific date.
685
+ * Get weekday names.
393
686
  *
394
- * @param {CalendarDate} date - The date to go to.
395
- * @returns {this} - The current period.
687
+ * @returns {string[]} - The weekday strings
396
688
  */
397
- goTo(date) {
398
- return this.createBy(date);
689
+ getWeekdayNames() {
690
+ return this.WEEKDAYS_SHORT;
399
691
  }
400
692
  /**
401
- * Go to now.
693
+ * Generate calendar dates
402
694
  *
403
- * @returns {this} - The current period.
695
+ * @param {CalendarPeriod} period - The calendar period
696
+ * @returns {Date[]} - The date result
404
697
  */
405
- now() {
406
- return this.createBy(CalendarDate.from(new Date()));
698
+ generateDates(period) {
699
+ const cursor = period.startDate.toDate();
700
+ const dates = [];
701
+ for (let i = 0; i < period.count; i++) {
702
+ dates.push(new Date(cursor));
703
+ cursor.setDate(cursor.getDate() + 1);
704
+ }
705
+ return dates;
407
706
  }
408
707
  /**
409
- * Calculate the period start date and end date.
708
+ * Generate calendar head
410
709
  *
411
- * @param {CalendarDate} date - The date to calculate the period from.
710
+ * @returns {string[]} - The data of week head
412
711
  */
413
- calculatePeriod(date) {
414
- const cursor = date.toDate();
415
- if (this.count > 1) {
416
- cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
417
- }
418
- this._startDate = CalendarDate.from(cursor);
419
- cursor.setDate(cursor.getDate() + this.count - 1);
420
- this._endDate = CalendarDate.from(cursor);
712
+ generateWeekHead() {
713
+ return this.weekdays.map((day) => this.getWeekdayNames()[day]);
421
714
  }
422
715
  }
423
716
 
424
717
  /**
425
- * Period of day.
718
+ * Calendar view
426
719
  */
427
- class DayPeriod extends CalendarPeriod {
428
- constructor(current, showWeekends) {
429
- super(DayPeriod.DISPLAY_DATE_COUNT, current);
430
- this._type = 'day';
431
- this._showWeekends = true;
432
- this._showWeekends = showWeekends === false ? false : true;
720
+ class CalendarView {
721
+ constructor(weekdays, dateItems) {
722
+ this._weekdays = weekdays;
723
+ this._dateItems = dateItems;
433
724
  }
434
725
  /**
435
- * @inheritDoc
726
+ * The week head of the calendar view
727
+ *
728
+ * @type {string[]}
436
729
  */
437
- next() {
438
- const nextDate = this.current.toDate();
439
- nextDate.setDate(nextDate.getDate() + 1);
440
- let calendarDate = CalendarDate.from(nextDate);
441
- if (this._showWeekends === false) {
442
- calendarDate = getClosestWorkday(calendarDate);
443
- }
444
- return this.createBy(calendarDate);
730
+ get weekdays() {
731
+ return this._weekdays;
445
732
  }
446
733
  /**
447
- * @inheritDoc
734
+ * The date items of the calendar view
735
+ *
736
+ * @type {CalendarDate[][]}
448
737
  */
449
- previous() {
450
- const previousDate = this.current.toDate();
451
- previousDate.setDate(previousDate.getDate() - 1);
452
- let calendarDate = CalendarDate.from(previousDate);
453
- if (this._showWeekends === false) {
454
- calendarDate = getClosestWorkday(calendarDate, DateDirection.PREVIOUS);
455
- }
456
- return this.createBy(calendarDate);
738
+ get dateItems() {
739
+ return this._dateItems;
457
740
  }
741
+ }
742
+
743
+ /**
744
+ * Day view calendar generator
745
+ */
746
+ class DayViewGenerator extends CalendarViewGenerator {
458
747
  /**
459
- * Go to now.
460
- *
461
- * @returns {this} - The current period.
748
+ * @inheritDoc
462
749
  */
463
- now() {
464
- let calendarDate = CalendarDate.from(new Date());
465
- if (this._showWeekends === false) {
466
- calendarDate = getClosestWorkday(calendarDate);
467
- }
468
- return this.createBy(calendarDate);
469
- }
470
- /**
471
- * @inheritDoc
472
- */
473
- createBy(current) {
474
- return new DayPeriod(current, this._showWeekends);
750
+ generate(period) {
751
+ return new CalendarView([this.generateWeekHead()[period.current.toDate().getDay()]], [[period.current]]);
475
752
  }
476
753
  }
477
- DayPeriod.DISPLAY_DATE_COUNT = 1;
478
754
 
479
755
  /**
480
- * Period of the week
756
+ * Calendar date class
481
757
  */
482
- class WeekPeriod extends CalendarPeriod {
483
- constructor(current, showWeekends) {
484
- super(WeekPeriod.DISPLAY_DATE_COUNT, current);
485
- this._type = 'week';
486
- this._showWeekends = true;
487
- this._showWeekends = showWeekends === false ? false : true;
758
+ class CalendarDate {
759
+ constructor(year, month, date) {
760
+ this._date = date;
761
+ this._month = month;
762
+ this._year = year;
488
763
  }
489
764
  /**
490
- * @inheritDoc
765
+ * Create a calendar date from a Date object
766
+ *
767
+ * @param {Date} date - The Date object
768
+ * @returns {CalendarDate} - Return a CalendarDate object
491
769
  */
492
- next() {
493
- const nextWeekStartDate = this.current.toDate();
494
- nextWeekStartDate.setDate(nextWeekStartDate.getDate() - getWeekdays().indexOf(nextWeekStartDate.getDay()) + 7);
495
- return this.createBy(CalendarDate.from(nextWeekStartDate));
770
+ static from(date) {
771
+ return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
496
772
  }
497
773
  /**
498
- * @inheritDoc
774
+ * The year of the calendar date
775
+ *
776
+ * @type {number}
499
777
  */
500
- previous() {
501
- const previousWeekStartDate = this.current.toDate();
502
- previousWeekStartDate.setDate(previousWeekStartDate.getDate() - getWeekdays().indexOf(previousWeekStartDate.getDay()) - 7);
503
- return this.createBy(CalendarDate.from(previousWeekStartDate));
778
+ get year() {
779
+ return this._year;
780
+ }
781
+ set year(value) {
782
+ this._year = value;
504
783
  }
505
784
  /**
506
- * @inheritDoc
785
+ * The month of the calendar date
786
+ *
787
+ * @type {number}
507
788
  */
508
- createBy(current) {
509
- return new WeekPeriod(current, this._showWeekends);
789
+ get month() {
790
+ return this._month;
510
791
  }
511
- }
512
- WeekPeriod.DISPLAY_DATE_COUNT = 7;
513
-
514
- /**
515
- * Period of month
516
- */
517
- class MonthPeriod extends CalendarPeriod {
518
- constructor(current, showWeekends) {
519
- super(MonthPeriod.DISPLAY_DATE_COUNT, MonthPeriod.getMonthFirstDay(current));
520
- this._type = 'month';
521
- this._showWeekends = true;
522
- this._showWeekends = showWeekends === false ? false : true;
792
+ set month(value) {
793
+ this._month = value;
523
794
  }
524
795
  /**
525
- * The function `getMonthFirstDay` returns the first day of a given month in a calendar.
796
+ * The date of the calendar date
526
797
  *
527
- * @param {CalendarDate} [calendarDate] - The `calendarDate` parameter is an optional parameter of
528
- * type `CalendarDate`. It represents a specific date in the calendar. If a `calendarDate` is
529
- * provided, the function will use that date to determine the first day of the month. If no
530
- * `calendarDate` is provided, the function
531
- * @returns {CalendarDate} A new `CalendarDate` object representing the first day of the month from the provided
532
- * `calendarDate` parameter or the current date if no parameter is provided.
798
+ * @type {number}
533
799
  */
534
- static getMonthFirstDay(calendarDate) {
535
- const date = calendarDate || CalendarDate.from(new Date());
536
- return new CalendarDate(date.year, date.month, 1);
800
+ get date() {
801
+ return this._date;
802
+ }
803
+ set date(value) {
804
+ this._date = value;
537
805
  }
538
806
  /**
539
- * @inheritDoc
807
+ * Verify whether the calendar date is today
808
+ *
809
+ * @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
540
810
  */
541
- next() {
542
- const next = this.current.toDate();
543
- next.setMonth(next.getMonth() + 1);
544
- return this.createBy(CalendarDate.from(next));
811
+ isToday() {
812
+ const today = new Date();
813
+ return (today.getFullYear() === this.year &&
814
+ today.getMonth() + 1 === this.month &&
815
+ today.getDate() === this.date);
545
816
  }
546
817
  /**
547
- * @inheritDoc
818
+ * Convert the calendar date to a Date object
819
+ *
820
+ * @returns {Date} - Return a Date object
548
821
  */
549
- previous() {
550
- const previous = this.current.toDate();
551
- previous.setMonth(previous.getMonth() - 1);
552
- return this.createBy(CalendarDate.from(previous));
822
+ toDate() {
823
+ return new Date(this.year, this.month - 1, this.date);
553
824
  }
554
825
  /**
555
- * @inheritDoc
826
+ * Compare with another calendar date
827
+ *
828
+ * @param {CalendarDate} date - The calendar date to compare with
829
+ * @returns {DateCompareResult} - Return a DateCompareResult object
556
830
  */
557
- createBy(current) {
558
- return new MonthPeriod(current, this._showWeekends);
831
+ compare(date) {
832
+ const { year, month } = date;
833
+ const result = {
834
+ isPreviousMonth: false,
835
+ inMonth: false,
836
+ isNextMonth: false,
837
+ };
838
+ if (this.year === year) {
839
+ if (this.month < month) {
840
+ result.isPreviousMonth = true;
841
+ }
842
+ else if (this.month > month) {
843
+ result.isNextMonth = true;
844
+ }
845
+ else {
846
+ result.inMonth = true;
847
+ }
848
+ }
849
+ else if (this.year > year) {
850
+ result.isNextMonth = true;
851
+ }
852
+ else {
853
+ result.isPreviousMonth = true;
854
+ }
855
+ return result;
856
+ }
857
+ /**
858
+ * The function "equal" compares the year, month, and date of two CalendarDate objects and returns true if they are equal.
859
+ *
860
+ * @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
861
+ * `CalendarDate` object passed as a parameter. The method returns `true` if all three values (year, month, date) are equal
862
+ * @returns {boolean} The date is same day with current
863
+ */
864
+ equal(calendarDate) {
865
+ const { year, month, date } = calendarDate;
866
+ return this._year === year && this._month === month && this._date === date;
867
+ }
868
+ /**
869
+ * Get month name.
870
+ *
871
+ * @param {boolean} isShortName - Whether to get the short name or long name of the month
872
+ * @returns {string} The name of the month
873
+ */
874
+ getMonthName(isShortName = false) {
875
+ return translation.VegaInternalTranslation.t(this.toDate().toLocaleDateString('en-US', {
876
+ month: isShortName ? 'short' : 'long',
877
+ }));
559
878
  }
560
879
  }
561
- MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
562
880
 
563
- var DateDirection;
564
- (function (DateDirection) {
565
- DateDirection["PREVIOUS"] = "-1";
566
- DateDirection["NEXT"] = "1";
567
- })(DateDirection || (DateDirection = {}));
568
- /**
569
- * get month name from the month number
570
- *
571
- * @param {Date} date the date object
572
- * @param {boolean} isShortName short or long name
573
- * @returns {string} the month English name
574
- */
575
- function getMonthName(date, isShortName = false) {
576
- return date.toLocaleDateString('en-US', { month: isShortName ? 'short' : 'long' });
577
- }
578
- /**
579
- * The function `getTimeIndex` calculates the index of a given time string based on a specified time unit.
580
- *
581
- * @param {string} timeString - A string representing a time in the format "HH:MM", where HH is the hour and MM is the minutes.
582
- * @param {number} [unit=15] - The `unit` parameter in the `getTimeIndex` function is used to specify
583
- * the interval in minutes for dividing the day. By default, it is set to 15 minutes, meaning that the
584
- * day will be divided into 15-minute intervals.
585
- * @returns {number} the index of the given time string based on the specified time unit.
586
- */
587
- function getTimeIndex(timeString, unit = 15) {
588
- const [hour, minutes] = timeString.split(':');
589
- return Math.round((Number(hour) * 60 + Number(minutes)) / unit);
590
- }
591
881
  /**
592
- * Returns a string that includes the event key for a calendar event slot.
593
- *
594
- * @param {string} eventKey - represents the key or identifier of a calendar event.
595
- * @returns {string} a string that is a concatenation of 'vega-calendar-event-slot-' and the eventKey parameter.
882
+ * Calendar week view generator
596
883
  */
597
- function getCalendarEventSlotName(eventKey) {
598
- return 'vega-calendar-event-slot-' + eventKey;
884
+ class WeekViewGenerator extends CalendarViewGenerator {
885
+ /**
886
+ * @inheritDoc
887
+ */
888
+ generate(period) {
889
+ const dates = this.generateDates(period);
890
+ const showWeekends = period.showWeekends;
891
+ let weekDays = this.generateWeekHead();
892
+ let dateItems = [dates.map(CalendarDate.from)];
893
+ if (showWeekends === false) {
894
+ weekDays = weekDays.slice(1, 6);
895
+ dateItems = dateItems.map((items) => items.slice(1, 6));
896
+ }
897
+ return new CalendarView(weekDays, dateItems);
898
+ }
599
899
  }
900
+
600
901
  /**
601
- * Returns the closest workday to a given calendar date based on a specified direction.
602
- *
603
- * @param {Date} date - The starting date from which you want to find the closest workday.
604
- * @param {'-1' | '1'} [direction=1] - Determines whether to find the closest workday in the past or future. It can have two possible values:
605
- * @returns {CalendarDate} The closest workday to the input date
902
+ * Calendar month view generator
606
903
  */
607
- function getClosestWorkday(date, direction = DateDirection.NEXT) {
608
- const day = date.toDate().getDay();
609
- if (day === 0 || day === 6) {
610
- let nextWorkdayGap = day === 0 ? 1 : 2;
611
- if (direction === DateDirection.PREVIOUS) {
612
- nextWorkdayGap = day === 0 ? -2 : -1;
904
+ class MonthViewGenerator extends CalendarViewGenerator {
905
+ /**
906
+ * @inheritDoc
907
+ */
908
+ generate(period) {
909
+ const showWeekends = period.showWeekends;
910
+ let calendarDates = [];
911
+ let week = [];
912
+ const dates = this.generateDates(period);
913
+ dates.forEach((date, i) => {
914
+ if (!(i % 7)) {
915
+ calendarDates[i / 7] = week = [];
916
+ }
917
+ const item = CalendarDate.from(date);
918
+ week.push(item);
919
+ });
920
+ let weekDays = this.generateWeekHead();
921
+ if (showWeekends === false) {
922
+ weekDays = weekDays.slice(1, 6);
923
+ calendarDates = calendarDates.map((items) => items.slice(1, 6));
613
924
  }
614
- return CalendarDate.from(new Date(date.year, date.month - 1, date.date + nextWorkdayGap));
925
+ return new CalendarView(weekDays, calendarDates);
615
926
  }
616
- return date;
617
927
  }
618
928
 
619
- const ellipsisVertical = {
620
- 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>`,
621
- };
622
-
623
- var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
624
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
625
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
626
- 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;
627
- return c > 3 && r && Object.defineProperty(target, key, r), r;
628
- };
629
- /** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
630
- class VegaCalendarSwitchPanelRenderer extends globalSlimmerRegistry.VegaSlimmer {
631
- constructor() {
632
- super(...arguments);
633
- /**
634
- * This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
635
- *
636
- * @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
637
- */
638
- this.handleViewChange = (input) => {
639
- this.currentPeriodController.updateCalendarPeriod(input.detail, this.currentPeriod.current);
640
- };
641
- /**
642
- * reset view content to today
643
- */
644
- this.todayButtonClick = () => {
645
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.now());
646
- };
647
- /**
648
- * update view content after click next button
649
- */
650
- this.nextButtonClick = () => {
651
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.next());
652
- };
653
- /**
654
- * update view content after click previous button
655
- */
656
- this.prevButtonClick = () => {
657
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.previous());
658
- };
659
- /**
660
- * The more action menu item click
661
- *
662
- * @param {NotifyObserverPayload<string>} payload The object contains the menu item key
663
- */
664
- this.moreActionMenuClick = (payload) => {
665
- this.moreActionClickEmitter.emit(payload.detail);
666
- };
929
+ /**
930
+ * CalendarPeriod is an abstract class that represents a period of date for calendar.
931
+ */
932
+ class CalendarPeriod {
933
+ constructor(count, current) {
934
+ this._count = count;
935
+ this._current = current ? current : CalendarDate.from(new Date());
936
+ this.calculatePeriod(this._current);
667
937
  }
668
938
  /**
669
- * get the switch panel container element
939
+ * The current date of the period.
670
940
  *
671
- * @returns {HTMLVegaFlexElement} container element
941
+ * @type {CalendarDate}
672
942
  */
673
- getSwitchPanelRef() {
674
- return this.switchPanelRef;
943
+ get current() {
944
+ return this._current;
675
945
  }
676
946
  /**
677
- * calendar switch panel with date switch, view switch, add new button, and more action components.
947
+ * The start date of the period
678
948
  *
679
- * @returns {HTMLElement} html element
949
+ * @type {CalendarDate}
680
950
  */
681
- render() {
682
- return (index.h("vega-flex", { direction: "row", gap: "size-16", justifyContent: "space-between", alignItems: "center", class: "calendar-switch-panel", ref: (node) => (this.switchPanelRef = node) },
683
- this.renderDateSwitch(),
684
- index.h("div", { class: "calendar-view-switch-container" },
685
- this.renderViewSwitch(),
686
- this.renderMoreActionMenu())));
951
+ get startDate() {
952
+ return this._startDate;
687
953
  }
688
954
  /**
689
- * The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
955
+ * The end date of the period
690
956
  *
691
- * @returns {HTMLDivElement} action button elements container.
957
+ * @type {CalendarDate}
692
958
  */
693
- renderDateSwitch() {
694
- return (index.h("div", { class: "calendar-date-switch-container" },
695
- index.h("vega-button", { variant: "secondary", size: "small", ref: (button) => {
696
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.todayButtonClick);
697
- }, label: this.translationSlimmer.t('Today') }),
698
- index.h("vega-button-circle", { variant: "secondary", size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-left'), label: "previous", showTooltip: false, ref: (button) => {
699
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.prevButtonClick);
700
- } }),
701
- index.h("vega-button-circle", { variant: "secondary", size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-right'), label: "next", showTooltip: false, ref: (button) => {
702
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.nextButtonClick);
703
- } }),
704
- this.renderCurrentPeriod()));
959
+ get endDate() {
960
+ return this._endDate;
705
961
  }
706
962
  /**
707
- * The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
963
+ * The count of the period
708
964
  *
709
- * @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
965
+ * @type {number}
710
966
  */
711
- renderCurrentPeriod() {
712
- return (index.h("vega-font", { class: "calendar-current-date", variant: "font-field-label", color: "text-primary" }, this.getViewDateSummary()));
967
+ get count() {
968
+ return this._count;
713
969
  }
714
970
  /**
715
- * The function `renderViewSwitch` returns a JSX element for rendering a segment control component in a TypeScript React application.
971
+ * This function returns the type of the object.
716
972
  *
717
- * @returns {HTMLElement} An HTMLElement containing a vega-segment-control element with specific attributes and event handling.
973
+ * @type {string}
718
974
  */
719
- renderViewSwitch() {
720
- return (index.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) => {
721
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectFactory.VegaChange, this.handleViewChange);
722
- } }));
975
+ get type() {
976
+ return this._type;
723
977
  }
724
978
  /**
725
- * Render an more action button if dropdown source is not empty
979
+ * This function returns the showWeekends of the object.
726
980
  *
727
- * @returns {Nullable<HTMLElement>} the additional element
981
+ * @type {boolean}
728
982
  */
729
- renderMoreActionMenu() {
730
- var _a, _b;
731
- if ((_b = (_a = this.moreActionDropdownProps) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.length) {
732
- return (index.h("vega-dropdown", Object.assign({ alignment: "end", trigger: "click" }, this.moreActionDropdownProps, { ref: (node) => {
733
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectFactory.VegaDropdownClick, this.moreActionMenuClick);
734
- } }),
735
- index.h("vega-button-circle", { size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('ellipsis-vertical'), variant: "icon-only" })));
736
- }
983
+ get showWeekends() {
984
+ return this._showWeekends;
737
985
  }
738
986
  /**
739
- * Get the view content date summary info, such as `January, 2024` or `10 January, 2024` or `28 December, 2023 - 3 January, 2024`
987
+ * Go to a specific date.
740
988
  *
741
- * @returns {string} string
989
+ * @param {CalendarDate} date - The date to go to.
990
+ * @returns {this} - The current period.
742
991
  */
743
- getViewDateSummary() {
744
- const currentDate = this.currentPeriod.current;
745
- let result = '';
746
- switch (this.viewMode) {
747
- case 'day': {
748
- const monthName = this.translationSlimmer.t(getMonthName(currentDate.toDate()));
749
- result = `${currentDate.date} ${monthName}, ${currentDate.year}`;
750
- break;
751
- }
752
- case 'week': {
753
- const weekItems = this.calendarView.dateItems[0];
754
- const start = weekItems[0];
755
- const end = weekItems[weekItems.length - 1];
756
- const [startMonthName, endMonthName] = [start, end].map((item) => this.translationSlimmer.t(getMonthName(item.toDate())));
757
- result = `${start.date} ${startMonthName}${start.year === end.year ? '' : ', ' + start.year} - ${end.date} ${endMonthName}, ${end.year}`;
758
- break;
759
- }
760
- case 'month': {
761
- const monthName = this.translationSlimmer.t(getMonthName(currentDate.toDate()));
762
- result = `${monthName}, ${currentDate.year}`;
763
- break;
764
- }
765
- }
766
- return result;
992
+ goTo(date) {
993
+ return this.createBy(date);
767
994
  }
768
- }
769
- (() => {
770
- internalIconManager.VegaInternalIconManager.register({
771
- 'chevron-right': chevronRight,
772
- 'chevron-left': chevronLeft,
773
- 'ellipsis-vertical': ellipsisVertical,
774
- });
775
- })();
776
- VegaCalendarSwitchPanelRenderer.views = [
777
- { text: 'Day', key: 'day' },
778
- { text: 'Week', key: 'week' },
779
- { text: 'Month', key: 'month' },
780
- ];
781
- __decorate$o([
782
- globalSlimmerRegistry.MapToComponentField()
783
- ], VegaCalendarSwitchPanelRenderer.prototype, "viewMode", void 0);
784
- __decorate$o([
785
- globalSlimmerRegistry.MapToComponentField()
786
- ], VegaCalendarSwitchPanelRenderer.prototype, "calendarView", void 0);
787
- __decorate$o([
788
- globalSlimmerRegistry.MapToComponentField()
789
- ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriod", void 0);
790
- __decorate$o([
791
- globalSlimmerRegistry.MapToComponentField()
792
- ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionDropdownProps", void 0);
793
- __decorate$o([
794
- globalSlimmerRegistry.MapToComponentField()
795
- ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionClickEmitter", void 0);
796
- __decorate$o([
797
- globalSlimmerRegistry.MapToComponentField()
798
- ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriodController", void 0);
799
- __decorate$o([
800
- globalSlimmerRegistry.MapToComponentField()
801
- ], VegaCalendarSwitchPanelRenderer.prototype, "calendarViewController", void 0);
802
- __decorate$o([
803
- globalSlimmerRegistry.MapToComponentField()
804
- ], VegaCalendarSwitchPanelRenderer.prototype, "translationSlimmer", void 0);
805
-
806
- var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
807
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
808
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
809
- 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;
810
- return c > 3 && r && Object.defineProperty(target, key, r), r;
811
- };
812
- /** renders different views based on the specified view mode using month, week, and day view render. */
813
- class VegaCalendarViewRenderer extends globalSlimmerRegistry.VegaSlimmer {
814
995
  /**
815
- * Get the calendar view content element ref
996
+ * Go to now.
816
997
  *
817
- * @returns {Nullable<HTMLElement>} The div element.
998
+ * @returns {this} - The current period.
818
999
  */
819
- getCalendarViewElementRef() {
820
- return this.calendarViewElementRef;
1000
+ now() {
1001
+ return this.createBy(CalendarDate.from(new Date()));
821
1002
  }
822
1003
  /**
823
- * render the calendar month/week/day view
1004
+ * Calculate the period start date and end date.
824
1005
  *
825
- * @returns {HTMLElement} html element
1006
+ * @param {CalendarDate} date - The date to calculate the period from.
826
1007
  */
827
- render() {
828
- return (index.h("div", { class: `calendar-view calendar-view-${this.viewMode} ${this.showWeekends === false ? 'calendar-hide-weekends' : ''}`, ref: (node) => (this.calendarViewElementRef = node) }, this.viewMode === 'month'
829
- ? this.monthViewRenderer.render()
830
- : this.viewWithTimeRenderer.render()));
1008
+ calculatePeriod(date) {
1009
+ const cursor = date.toDate();
1010
+ if (this.count > 1) {
1011
+ cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
1012
+ }
1013
+ this._startDate = CalendarDate.from(cursor);
1014
+ cursor.setDate(cursor.getDate() + this.count - 1);
1015
+ this._endDate = CalendarDate.from(cursor);
831
1016
  }
832
1017
  }
833
- __decorate$n([
834
- globalSlimmerRegistry.MapToComponentField()
835
- ], VegaCalendarViewRenderer.prototype, "viewMode", void 0);
836
- __decorate$n([
837
- globalSlimmerRegistry.MapToComponentField()
838
- ], VegaCalendarViewRenderer.prototype, "showWeekends", void 0);
839
- __decorate$n([
840
- globalSlimmerRegistry.MapToComponentField()
841
- ], VegaCalendarViewRenderer.prototype, "monthViewRenderer", void 0);
842
- __decorate$n([
843
- globalSlimmerRegistry.MapToComponentField()
844
- ], VegaCalendarViewRenderer.prototype, "viewWithTimeRenderer", void 0);
845
1018
 
846
- var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
847
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
848
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
849
- 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;
850
- return c > 3 && r && Object.defineProperty(target, key, r), r;
851
- };
852
- /** 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. */
853
- class VegaCalendarMonthViewRenderer extends globalSlimmerRegistry.VegaSlimmer {
854
- /**
855
- * the HTML elements that represent the month view of a calendar component.
856
- *
857
- * @returns {HTMLElement} the month view calendar content
858
- */
859
- render() {
860
- const weekHead = this.calendarView.weekdays;
861
- return (index.h("div", { class: "calendar-view-month-container" },
862
- index.h("div", { class: "calendar-view-row calendar-view-title border-divider-bottom" }, weekHead.map((title) => (index.h("div", { key: title }, this.translationSlimmer.t(title))))),
863
- this.renderMonthViewContent()));
1019
+ var DateDirection;
1020
+ (function (DateDirection) {
1021
+ DateDirection["PREVIOUS"] = "-1";
1022
+ DateDirection["NEXT"] = "1";
1023
+ })(DateDirection || (DateDirection = {}));
1024
+ /**
1025
+ * The function `getTimeIndex` calculates the index of a given time string based on a specified time unit.
1026
+ *
1027
+ * @param {string} timeString - A string representing a time in the format "HH:MM", where HH is the hour and MM is the minutes.
1028
+ * @param {number} [unit=15] - The `unit` parameter in the `getTimeIndex` function is used to specify
1029
+ * the interval in minutes for dividing the day. By default, it is set to 15 minutes, meaning that the
1030
+ * day will be divided into 15-minute intervals.
1031
+ * @returns {number} the index of the given time string based on the specified time unit.
1032
+ */
1033
+ function getTimeIndex(timeString, unit = 15) {
1034
+ const [hour, minutes] = timeString.split(':');
1035
+ return Math.round((Number(hour) * 60 + Number(minutes)) / unit);
1036
+ }
1037
+ /**
1038
+ * Returns a string that includes the event key for a calendar event slot.
1039
+ *
1040
+ * @param {string} eventKey - represents the key or identifier of a calendar event.
1041
+ * @returns {string} a string that is a concatenation of 'vega-calendar-event-slot-' and the eventKey parameter.
1042
+ */
1043
+ function getCalendarEventSlotName(eventKey) {
1044
+ return 'vega-calendar-event-slot-' + eventKey;
1045
+ }
1046
+ /**
1047
+ * Returns the closest workday to a given calendar date based on a specified direction.
1048
+ *
1049
+ * @param {Date} date - The starting date from which you want to find the closest workday.
1050
+ * @param {'-1' | '1'} [direction=1] - Determines whether to find the closest workday in the past or future. It can have two possible values:
1051
+ * @returns {CalendarDate} The closest workday to the input date
1052
+ */
1053
+ function getClosestWorkday(date, direction = DateDirection.NEXT) {
1054
+ const day = date.toDate().getDay();
1055
+ if (day === 0 || day === 6) {
1056
+ let nextWorkdayGap = day === 0 ? 1 : 2;
1057
+ if (direction === DateDirection.PREVIOUS) {
1058
+ nextWorkdayGap = day === 0 ? -2 : -1;
1059
+ }
1060
+ return CalendarDate.from(new Date(date.year, date.month - 1, date.date + nextWorkdayGap));
864
1061
  }
865
- /**
866
- * generating the HTML elements that represent the content of the month view in a calendar component
867
- *
868
- * @returns {HTMLElement[]} month view content and event content
869
- */
870
- renderMonthViewContent() {
871
- const monthSource = this.calendarView.dateItems;
872
- const currentDate = this.currentPeriod.current;
873
- return monthSource.map((dateArray, index$1) => {
874
- const eventsArray = this.monthEventRenderer.getCurrentRowEvents(dateArray);
875
- const displayEventsArray = this.monthEventRenderer.filterRowDisplayEvents(eventsArray);
876
- return (index.h("div", { key: index$1, class: "calendar-view-row border-divider-bottom" }, dateArray.map((item, itemIndex) => {
877
- var _a;
878
- const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
879
- return (index.h("div", { class: {
880
- 'row-cell border-divider-right': true,
881
- 'current-month-day': item.compare(currentDate).inMonth,
882
- 'active': item.isToday(),
883
- 'disabled': isDisabled,
884
- }, key: `${item.month}-${item.date}`,
885
- // eslint-disable-next-line react/jsx-no-bind
886
- onDblClick: isDisabled
887
- ? undefined
888
- : (e) => {
889
- this.handleDateBlockClick(e, item);
890
- } },
891
- this.renderDateBlock(item),
892
- this.monthEventRenderer.render(item, eventsArray[itemIndex], displayEventsArray[itemIndex], itemIndex)));
893
- })));
894
- });
1062
+ return date;
1063
+ }
1064
+ /**
1065
+ * Get event status background color.
1066
+ *
1067
+ * @param {Nullable<string | BackgroundColorsTokenType>} color the background color
1068
+ * @returns {string} background color style string
1069
+ */
1070
+ function getEventStatusBgColorStyle(color = 'bg-accent6-primary') {
1071
+ if (typeGuard.isBackgroundColorTokenType(color)) {
1072
+ return `.event-bg-color{${stateBackgroundColorFormatter.stateBackgroundColorFormatter.formatToken(color)}}`;
1073
+ }
1074
+ else {
1075
+ return `.event-bg-color{background-color:${color}}`;
1076
+ }
1077
+ }
1078
+
1079
+ /**
1080
+ * Period of day.
1081
+ */
1082
+ class DayPeriod extends CalendarPeriod {
1083
+ constructor(current, showWeekends) {
1084
+ super(DayPeriod.DISPLAY_DATE_COUNT, current);
1085
+ this._type = 'day';
1086
+ this._showWeekends = true;
1087
+ this._showWeekends = showWeekends === false ? false : true;
895
1088
  }
896
1089
  /**
897
- * It takes a `CalendarDate` object as a parameter and returns an HTML element representing a date block in the calendar view.
898
- *
899
- * @param {CalendarDate} item the day object
900
- * @returns {HTMLElement} the date block element
1090
+ * @inheritDoc
901
1091
  */
902
- renderDateBlock(item) {
903
- const isMonthFirstDay = item.date === 1;
904
- return (index.h("div", { class: "date" },
905
- isMonthFirstDay && index.h("div", { class: "month-block" }, getMonthName(item.toDate(), true)),
906
- index.h("div", { role: "button", tabIndex: 0, class: "grid-col",
907
- // eslint-disable-next-line react/jsx-no-bind
908
- onDblClick: (e) => this.goToCurrentDayView(e, item) }, item.date)));
1092
+ next() {
1093
+ const nextDate = this.current.toDate();
1094
+ nextDate.setDate(nextDate.getDate() + 1);
1095
+ let calendarDate = CalendarDate.from(nextDate);
1096
+ if (this._showWeekends === false) {
1097
+ calendarDate = getClosestWorkday(calendarDate);
1098
+ }
1099
+ return this.createBy(calendarDate);
909
1100
  }
910
1101
  /**
911
- * switch to current date day view
912
- *
913
- * @param {MouseEvent} e the double click event object
914
- * @param {CalendarDate} calendarDate the calendar date object
1102
+ * @inheritDoc
915
1103
  */
916
- goToCurrentDayView(e, calendarDate) {
917
- e.stopPropagation();
918
- this.currentPeriodController.updateCalendarPeriod('day', calendarDate);
1104
+ previous() {
1105
+ const previousDate = this.current.toDate();
1106
+ previousDate.setDate(previousDate.getDate() - 1);
1107
+ let calendarDate = CalendarDate.from(previousDate);
1108
+ if (this._showWeekends === false) {
1109
+ calendarDate = getClosestWorkday(calendarDate, DateDirection.PREVIOUS);
1110
+ }
1111
+ return this.createBy(calendarDate);
919
1112
  }
920
1113
  /**
921
- * emit vega click event when click the date block
1114
+ * Go to now.
922
1115
  *
923
- * @param {MouseEvent} e the mouse event object
924
- * @param {CalendarDate} calendarDate the calendar date object
1116
+ * @returns {this} - The current period.
925
1117
  */
926
- handleDateBlockClick(e, calendarDate) {
927
- const { target, clientX, clientY } = e;
928
- if (this.isMonthBlockBlankArea(target)) {
929
- const { year, month, date } = calendarDate;
930
- this.dateDblClickEmitter.emit({
931
- year,
932
- month,
933
- date,
934
- hour: 0,
935
- mouseEventInfo: { clientX, clientY },
936
- });
1118
+ now() {
1119
+ let calendarDate = CalendarDate.from(new Date());
1120
+ if (this._showWeekends === false) {
1121
+ calendarDate = getClosestWorkday(calendarDate);
937
1122
  }
1123
+ return this.createBy(calendarDate);
938
1124
  }
939
1125
  /**
940
- * determine if the clicked element is blank area
941
- *
942
- * @param {HTMLElement} element the target element
943
- * @returns {boolean} true or false
1126
+ * @inheritDoc
944
1127
  */
945
- isMonthBlockBlankArea(element) {
946
- // the more button and the calendar event component should not trigger dateDblClick event
947
- return !element.classList.contains('more-button') && element.tagName !== 'VEGA-CALENDAR-EVENT';
1128
+ createBy(current) {
1129
+ return new DayPeriod(current, this._showWeekends);
948
1130
  }
949
1131
  }
950
- __decorate$m([
951
- globalSlimmerRegistry.MapToComponentField()
952
- ], VegaCalendarMonthViewRenderer.prototype, "viewMode", void 0);
953
- __decorate$m([
954
- globalSlimmerRegistry.MapToComponentField()
955
- ], VegaCalendarMonthViewRenderer.prototype, "calendarView", void 0);
956
- __decorate$m([
957
- globalSlimmerRegistry.MapToComponentField()
958
- ], VegaCalendarMonthViewRenderer.prototype, "currentPeriod", void 0);
959
- __decorate$m([
960
- globalSlimmerRegistry.MapToComponentField()
961
- ], VegaCalendarMonthViewRenderer.prototype, "currentPeriodController", void 0);
962
- __decorate$m([
963
- globalSlimmerRegistry.MapToComponentField()
964
- ], VegaCalendarMonthViewRenderer.prototype, "monthEventRenderer", void 0);
965
- __decorate$m([
966
- globalSlimmerRegistry.MapToComponentField()
967
- ], VegaCalendarMonthViewRenderer.prototype, "dateDblClickEmitter", void 0);
968
- __decorate$m([
969
- globalSlimmerRegistry.MapToComponentField()
970
- ], VegaCalendarMonthViewRenderer.prototype, "translationSlimmer", void 0);
971
- __decorate$m([
972
- globalSlimmerRegistry.MapToComponentField()
973
- ], VegaCalendarMonthViewRenderer.prototype, "isDateDisabled", void 0);
1132
+ DayPeriod.DISPLAY_DATE_COUNT = 1;
974
1133
 
975
- var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
976
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
977
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
978
- 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;
979
- return c > 3 && r && Object.defineProperty(target, key, r), r;
980
- };
981
- /** The `VegaCalendarViewWithTimeRenderer` class in TypeScript React renders a day view for a calendar component with title, content, and hour blocks. */
982
- class VegaCalendarViewWithTimeRenderer extends globalSlimmerRegistry.VegaSlimmer {
1134
+ /**
1135
+ * Period of the week
1136
+ */
1137
+ class WeekPeriod extends CalendarPeriod {
1138
+ constructor(current, showWeekends) {
1139
+ super(WeekPeriod.DISPLAY_DATE_COUNT, current);
1140
+ this._type = 'week';
1141
+ this._showWeekends = true;
1142
+ this._showWeekends = showWeekends === false ? false : true;
1143
+ }
983
1144
  /**
984
- * The render function in TypeScript React returns an array of HTMLElements containing the week calendar view for a specific day.
985
- *
986
- * @returns {HTMLElement} An array of HTMLElement elements containing the rendered content of a calendar view for a
987
- * specific day in the week. The content includes the title and the main content of the calendar view
988
- * for that day.
1145
+ * @inheritDoc
989
1146
  */
990
- render() {
991
- return (index.h("div", { class: "calendar-view-container" },
992
- this.renderViewTitle(),
993
- this.renderViewContent()));
1147
+ next() {
1148
+ const currentDate = this.current.toDate();
1149
+ currentDate.setDate(currentDate.getDate() + 7);
1150
+ return this.createBy(CalendarDate.from(currentDate));
994
1151
  }
995
1152
  /**
996
- * The function `renderViewTitle` renders a calendar view title and events based on the provided source data.
997
- *
998
- * @returns {HTMLElement} The `renderViewTitle` function returns an HTML element (HTMLElement) that contains a calendar view title container with rows for each day's information.
1153
+ * @inheritDoc
999
1154
  */
1000
- renderViewTitle() {
1001
- const source = this.calendarView.dateItems[0];
1002
- const weekHead = this.calendarView.weekdays;
1003
- return (index.h("div", { class: "calendar-view-title-container" },
1004
- index.h("div", { class: "calendar-view-row" },
1005
- index.h("div", { class: "time-line-empty" }),
1006
- index.h("div", { class: "calendar-view-title" }, source.map((item, index$1) => (index.h("div", { key: item.date, class: { active: item.isToday() } },
1007
- index.h("div", null, this.translationSlimmer.t(weekHead[index$1])),
1008
- index.h("div", { class: "week-day" }, item.date)))))),
1009
- index.h("div", { class: "calendar-view-row calendar-view-event-all-container border-divider-bottom" },
1010
- index.h("div", { class: "time-line-all" }, this.translationSlimmer.t('All Day')),
1011
- this.dayViewFullDayEventRenderer.render())));
1155
+ previous() {
1156
+ const currentDate = this.current.toDate();
1157
+ currentDate.setDate(currentDate.getDate() - 7);
1158
+ return this.createBy(CalendarDate.from(currentDate));
1012
1159
  }
1013
1160
  /**
1014
- * The `renderViewContent` function in TypeScript React renders a calendar view with day blocks and time markers based on the provided data.
1015
- *
1016
- * @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.
1161
+ * @inheritDoc
1017
1162
  */
1018
- renderViewContent() {
1019
- const source = this.calendarView.dateItems[0];
1020
- return (index.h("div", { class: "calendar-view-row calendar-view-day-container" },
1021
- this.timeLineRenderer.render(),
1022
- index.h("div", { class: "calendar-view-content-container" },
1023
- index.h("div", { class: "calendar-view-content" }, source.map((item) => {
1024
- var _a;
1025
- const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
1026
- return (index.h("div", { class: {
1027
- 'grid-col border-divider-left': true,
1028
- 'disabled': isDisabled,
1029
- }, key: item.date },
1030
- index.h("div", { class: "hour-empty border-divider-top" }),
1031
- this.renderHourBlock(item, isDisabled)));
1032
- })),
1033
- this.dayViewTimedEventRenderer.render(),
1034
- this.timeMarkerRenderer.render(source))));
1163
+ createBy(current) {
1164
+ return new WeekPeriod(current, this._showWeekends);
1165
+ }
1166
+ }
1167
+ WeekPeriod.DISPLAY_DATE_COUNT = 7;
1168
+
1169
+ /**
1170
+ * Period of month
1171
+ */
1172
+ class MonthPeriod extends CalendarPeriod {
1173
+ constructor(current, showWeekends) {
1174
+ super(MonthPeriod.DISPLAY_DATE_COUNT, current);
1175
+ this._type = 'month';
1176
+ this._showWeekends = true;
1177
+ this._showWeekends = showWeekends === false ? false : true;
1035
1178
  }
1036
1179
  /**
1037
- * The function `renderHourBlock` returns an array of HTML elements representing hour blocks with time information.
1180
+ * The function `getMonthFirstDay` returns the first day of a given month in a calendar.
1038
1181
  *
1039
- * @param {CalendarDate} calendarDate then current calendar date object
1040
- * @returns {HTMLElement[]} An array of HTMLElements is being returned. Each HTMLElement represents an hour block with a time value inside a div element.
1182
+ * @param {CalendarDate} [calendarDate] - The `calendarDate` parameter is an optional parameter of
1183
+ * type `CalendarDate`. It represents a specific date in the calendar. If a `calendarDate` is
1184
+ * provided, the function will use that date to determine the first day of the month. If no
1185
+ * `calendarDate` is provided, the function
1186
+ * @returns {CalendarDate} A new `CalendarDate` object representing the first day of the month from the provided
1187
+ * `calendarDate` parameter or the current date if no parameter is provided.
1041
1188
  */
1042
- renderHourBlock(calendarDate, isDisabled) {
1043
- const timeLineSource = Array(24).fill('');
1044
- return timeLineSource.map((_item, index$1) => {
1045
- var _a;
1046
- let isHourDisabled = false;
1047
- if (!isDisabled) {
1048
- const dateWithHour = new Date(calendarDate.toDate().setHours(index$1));
1049
- isHourDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, dateWithHour);
1050
- }
1051
- return (index.h("div", { class: {
1052
- 'grid-cell border-divider-top': true,
1053
- 'disabled': isDisabled || isHourDisabled,
1054
- },
1055
- // eslint-disable-next-line react/jsx-no-bind
1056
- onDblClick: isDisabled || isHourDisabled
1057
- ? undefined
1058
- : (e) => this.handleDateBlockClick(calendarDate, index$1, e) }));
1059
- });
1189
+ static getMonthFirstDay(calendarDate) {
1190
+ const date = calendarDate || CalendarDate.from(new Date());
1191
+ return new CalendarDate(date.year, date.month, 1);
1060
1192
  }
1061
1193
  /**
1062
- * emit vega click event when click the date block
1194
+ * Calculate the period start date and end date.
1063
1195
  *
1064
- * @param {CalendarDate} calendarDate the calendar date object
1196
+ * @param {CalendarDate} date - The date to calculate the period from.
1065
1197
  */
1066
- handleDateBlockClick(calendarDate, hour, e) {
1067
- const { year, month, date } = calendarDate;
1068
- const { clientX, clientY } = e;
1069
- this.dateDblClickEmitter.emit({ year, month, date, hour, mouseEventInfo: { clientX, clientY } });
1198
+ calculatePeriod(date) {
1199
+ const firstDay = MonthPeriod.getMonthFirstDay(date);
1200
+ const cursor = firstDay.toDate();
1201
+ cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
1202
+ this._startDate = CalendarDate.from(cursor);
1203
+ cursor.setDate(cursor.getDate() + this.count - 1);
1204
+ this._endDate = CalendarDate.from(cursor);
1070
1205
  }
1071
- }
1072
- __decorate$l([
1073
- globalSlimmerRegistry.MapToComponentField()
1074
- ], VegaCalendarViewWithTimeRenderer.prototype, "viewMode", void 0);
1075
- __decorate$l([
1076
- globalSlimmerRegistry.MapToComponentField()
1077
- ], VegaCalendarViewWithTimeRenderer.prototype, "timeLineRenderer", void 0);
1078
- __decorate$l([
1079
- globalSlimmerRegistry.MapToComponentField()
1080
- ], VegaCalendarViewWithTimeRenderer.prototype, "timeMarkerRenderer", void 0);
1081
- __decorate$l([
1082
- globalSlimmerRegistry.MapToComponentField()
1083
- ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewTimedEventRenderer", void 0);
1084
- __decorate$l([
1085
- globalSlimmerRegistry.MapToComponentField()
1086
- ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewFullDayEventRenderer", void 0);
1087
- __decorate$l([
1088
- globalSlimmerRegistry.MapToComponentField()
1089
- ], VegaCalendarViewWithTimeRenderer.prototype, "calendarView", void 0);
1090
- __decorate$l([
1091
- globalSlimmerRegistry.MapToComponentField()
1092
- ], VegaCalendarViewWithTimeRenderer.prototype, "dateDblClickEmitter", void 0);
1093
- __decorate$l([
1094
- globalSlimmerRegistry.MapToComponentField()
1095
- ], VegaCalendarViewWithTimeRenderer.prototype, "translationSlimmer", void 0);
1096
- __decorate$l([
1097
- globalSlimmerRegistry.MapToComponentField()
1098
- ], VegaCalendarViewWithTimeRenderer.prototype, "isDateDisabled", void 0);
1099
-
1100
- var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1101
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1102
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1103
- 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;
1104
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1105
- };
1106
- /** 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. */
1107
- class VegaCalendarTimeLineRenderer extends globalSlimmerRegistry.VegaSlimmer {
1108
1206
  /**
1109
- * rendering the time line component as an HTML element
1110
- *
1111
- * @returns {HTMLElement} the html element
1207
+ * @inheritDoc
1112
1208
  */
1113
- render() {
1114
- const timeLineSource = this.getTimeLineTitles();
1115
- return (index.h("div", { class: "time-line" },
1116
- index.h("div", { class: "hour-empty" }),
1117
- timeLineSource.map((time, index$1) => {
1118
- return (index.h("div", { key: time },
1119
- index.h("div", { class: "time-text", "data-time": index$1 === 0 ? 24 : index$1 }, time)));
1120
- })));
1209
+ next() {
1210
+ const next = this.current.toDate();
1211
+ next.setMonth(next.getMonth() + 1);
1212
+ return this.createBy(CalendarDate.from(next));
1121
1213
  }
1122
1214
  /**
1123
- * The function `getTimeLineTitles` generates a time line array based on the specified time format (24-hour) and stores it in the `timeLineSource` property.
1124
- *
1125
- * @returns {string[]} returns an array of strings representing the time line
1215
+ * @inheritDoc
1126
1216
  */
1127
- getTimeLineTitles() {
1128
- const timeLine = [];
1129
- if (this.timeFormat === '12-hour') {
1130
- timeLine.push('12 AM');
1131
- for (let i = 1; i < 12; i++) {
1132
- timeLine.push(`${i} AM`);
1133
- }
1134
- timeLine.push('12 PM');
1135
- for (let i = 1; i < 12; i++) {
1136
- timeLine.push(`${i} PM`);
1137
- }
1138
- }
1139
- else {
1140
- for (let i = 0; i < 24; i++) {
1141
- timeLine.push(`${date.pad(i)}`);
1142
- }
1143
- }
1144
- return timeLine;
1217
+ previous() {
1218
+ const previous = this.current.toDate();
1219
+ previous.setMonth(previous.getMonth() - 1);
1220
+ return this.createBy(CalendarDate.from(previous));
1221
+ }
1222
+ /**
1223
+ * @inheritDoc
1224
+ */
1225
+ createBy(current) {
1226
+ return new MonthPeriod(current, this._showWeekends);
1145
1227
  }
1146
1228
  }
1147
- __decorate$k([
1148
- globalSlimmerRegistry.MapToComponentField()
1149
- ], VegaCalendarTimeLineRenderer.prototype, "timeFormat", void 0);
1229
+ MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
1150
1230
 
1151
- var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1231
+ var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1152
1232
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1153
1233
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1154
1234
  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;
@@ -1201,26 +1281,26 @@ class VegaCalendarViewController extends globalSlimmerRegistry.VegaSlimmer {
1201
1281
  this.calendarView = newView;
1202
1282
  }
1203
1283
  }
1204
- __decorate$j([
1284
+ __decorate$n([
1205
1285
  globalSlimmerRegistry.MapToComponentField({ writable: true })
1206
1286
  ], VegaCalendarViewController.prototype, "calendarView", void 0);
1207
- __decorate$j([
1287
+ __decorate$n([
1208
1288
  globalSlimmerRegistry.MapToComponentField()
1209
1289
  ], VegaCalendarViewController.prototype, "currentPeriod", void 0);
1210
- __decorate$j([
1290
+ __decorate$n([
1211
1291
  globalSlimmerRegistry.MapToComponentField()
1212
1292
  ], VegaCalendarViewController.prototype, "showWeekends", void 0);
1213
- __decorate$j([
1293
+ __decorate$n([
1214
1294
  globalSlimmerRegistry.MapToComponentField()
1215
1295
  ], VegaCalendarViewController.prototype, "currentPeriodController", void 0);
1216
- __decorate$j([
1296
+ __decorate$n([
1217
1297
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
1218
1298
  ], VegaCalendarViewController.prototype, "initialCalendarView", null);
1219
- __decorate$j([
1299
+ __decorate$n([
1220
1300
  globalSlimmerRegistry.MapToComponentMethod('watchCurrentPeriodChange')
1221
1301
  ], VegaCalendarViewController.prototype, "generateCalendarView", null);
1222
1302
 
1223
- var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1303
+ var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1224
1304
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1225
1305
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1226
1306
  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;
@@ -1324,32 +1404,32 @@ class VegaCalendarCurrentPeriodController extends globalSlimmerRegistry.VegaSlim
1324
1404
  };
1325
1405
  }
1326
1406
  }
1327
- __decorate$i([
1407
+ __decorate$m([
1328
1408
  globalSlimmerRegistry.MapToComponentField({ writable: true })
1329
1409
  ], VegaCalendarCurrentPeriodController.prototype, "currentPeriod", void 0);
1330
- __decorate$i([
1410
+ __decorate$m([
1331
1411
  globalSlimmerRegistry.MapToComponentField()
1332
1412
  ], VegaCalendarCurrentPeriodController.prototype, "changeEventEmitter", void 0);
1333
- __decorate$i([
1413
+ __decorate$m([
1334
1414
  globalSlimmerRegistry.MapToComponentField({ writable: true })
1335
1415
  ], VegaCalendarCurrentPeriodController.prototype, "viewMode", void 0);
1336
- __decorate$i([
1416
+ __decorate$m([
1337
1417
  globalSlimmerRegistry.MapToComponentField()
1338
1418
  ], VegaCalendarCurrentPeriodController.prototype, "showWeekends", void 0);
1339
- __decorate$i([
1419
+ __decorate$m([
1340
1420
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
1341
1421
  ], VegaCalendarCurrentPeriodController.prototype, "initialCurrentPeriod", null);
1342
- __decorate$i([
1422
+ __decorate$m([
1343
1423
  globalSlimmerRegistry.MapToComponentMethod('watchCurrentPeriodChange')
1344
1424
  ], VegaCalendarCurrentPeriodController.prototype, "emitChangeEvent", null);
1345
- __decorate$i([
1425
+ __decorate$m([
1346
1426
  globalSlimmerRegistry.MapToComponentMethod('watchViewModeChange')
1347
1427
  ], VegaCalendarCurrentPeriodController.prototype, "updateCurrentPeriodByViewMode", null);
1348
- __decorate$i([
1428
+ __decorate$m([
1349
1429
  globalSlimmerRegistry.MapToComponentMethod('watchShowWeekendsChange')
1350
1430
  ], VegaCalendarCurrentPeriodController.prototype, "updateCurrentPeriodAfterHideWeekEndsChange", null);
1351
1431
 
1352
- var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1432
+ var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1353
1433
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1354
1434
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1355
1435
  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;
@@ -1360,6 +1440,7 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1360
1440
  constructor() {
1361
1441
  super(...arguments);
1362
1442
  this.maxMonthDisplayEventsCount = 2;
1443
+ this.popoverHideObserver = null;
1363
1444
  }
1364
1445
  /**
1365
1446
  * current row dates all events.
@@ -1413,8 +1494,8 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1413
1494
  .slice(displayEvents.length)
1414
1495
  .filter((item) => item).length;
1415
1496
  return (index.h("div", { class: "events-container", ref: (node) => (this.eventContainerRef = node) },
1416
- index.h("div", { class: "event-list" }, this.fullDayEventLayoutRenderer.render(displayEvents, currentViewIndex)),
1417
- this.renderMoreButton(allEvents, hiddenEventsLength, `${calendarDate.date} ${getMonthName(calendarDate.toDate())} ${calendarDate.year}`)));
1497
+ index.h("div", { class: "event-list" }, this.fullDayEventLayoutRenderer.render(displayEvents, currentViewIndex, calendarDate)),
1498
+ this.renderMoreButton(allEvents, hiddenEventsLength, calendarDate)));
1418
1499
  }
1419
1500
  /**
1420
1501
  * Add a month event display count change observer, than update the component
@@ -1432,10 +1513,10 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1432
1513
  *
1433
1514
  * @param {Nullable<CalendarEvent>[]} events all event list array
1434
1515
  * @param {number} moreItemsLength popover events length
1435
- * @param {string} title the popover title
1516
+ * @param {CalendarDate} calendarDate current date
1436
1517
  * @returns {Nullable<HTMLDivElement>} the more button or null
1437
1518
  */
1438
- renderMoreButton(events, moreItemsLength, title) {
1519
+ renderMoreButton(events, moreItemsLength, calendarDate) {
1439
1520
  if (moreItemsLength) {
1440
1521
  const backgroundColorEvents = events.filter((eventItem) => {
1441
1522
  return eventItem && (eventItem.isAllDayEvent || eventItem.isGroupEvent());
@@ -1444,24 +1525,34 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1444
1525
  return eventItem && !eventItem.isAllDayEvent && !eventItem.isGroupEvent();
1445
1526
  });
1446
1527
  return (index.h("div", { class: "month-event-more" },
1447
- index.h("vega-popover", { trigger: "click", placement: "right" },
1528
+ index.h("vega-popover", { trigger: "click", placement: "right", padding: '0', ref: (el) => {
1529
+ this.setPopoverHideObserver(el, events);
1530
+ }, isScreenPosition: true },
1448
1531
  index.h("div", { tabIndex: 0, slot: "popover-content", role: "button", class: "more-button", onKeyDown: accessibility.createEnterKeyHandlerToTriggerClick() }, `${moreItemsLength} More`),
1449
- index.h("vega-flex", { slot: "popover", direction: "col", gap: "0" },
1450
- index.h("vega-font", { textAlign: "center", variant: "font-field-label", color: "text-primary", style: { padding: '4px 0', marginBottom: '8px' } }, title),
1451
- index.h("vega-flex", { direction: "col", gap: "size-4", style: { paddingBottom: otherEvents.length ? '4px' : '0px' } }, backgroundColorEvents.map((item) => {
1452
- return this.eventItemRenderer.render(item, {
1453
- 'month-event': true,
1454
- 'calendar-event-large-size': true,
1455
- 'calendar-event-in-popover': true,
1456
- });
1457
- })),
1458
- otherEvents.map((item) => {
1459
- return this.eventItemRenderer.render(item, {
1460
- 'month-event': true,
1461
- 'calendar-event-large-size': true,
1462
- 'calendar-event-in-popover': true,
1463
- });
1464
- })))));
1532
+ index.h("vega-flex", { slot: "popover" },
1533
+ index.h("vega-box", { padding: 'size-12', width: 256 },
1534
+ index.h("vega-flex", { direction: "col", gap: "0", class: "group-events" },
1535
+ index.h("vega-font", { textAlign: "center", variant: "font-field-label", color: "text-primary", style: { padding: '4px 0', marginBottom: '8px' } }, `${calendarDate.date} ${calendarDate.getMonthName()} ${calendarDate.year}`),
1536
+ index.h("vega-box", { maxHeight: 'calc(60vh - 6px)', style: { overflowY: 'auto' }, padding: 'size-4' },
1537
+ index.h("vega-flex", { direction: "col", gap: "size-4", style: { paddingBottom: otherEvents.length ? '4px' : '0px' } }, backgroundColorEvents.map((item) => {
1538
+ return this.eventItemRenderer.render(item, {
1539
+ 'month-event': true,
1540
+ 'calendar-event-large-size': true,
1541
+ 'calendar-event-in-popover': true,
1542
+ }, calendarDate, true);
1543
+ })),
1544
+ otherEvents.map((item) => {
1545
+ return this.eventItemRenderer.render(item, {
1546
+ 'month-event': true,
1547
+ 'calendar-event-large-size': true,
1548
+ 'calendar-event-in-popover': true,
1549
+ }, calendarDate, true);
1550
+ })))),
1551
+ index.h("div", { class: "preview-container", ref: (el) => {
1552
+ el
1553
+ ? this.eventPreviewPopoverController.setEventPreviewContainerMap(events, calendarDate, el)
1554
+ : this.eventPreviewPopoverController.deleteEventPreviewContainer(events, calendarDate);
1555
+ } })))));
1465
1556
  }
1466
1557
  }
1467
1558
  /*
@@ -1505,23 +1596,46 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1505
1596
  }
1506
1597
  return rowEvents;
1507
1598
  }
1599
+ setPopoverHideObserver(popover, events) {
1600
+ if (popover) {
1601
+ this.popoverHideObserver = new observer.Observer((payload) => events.includes(payload), async () => await popover.hide());
1602
+ changeManager.ChangeManager.register(staticSubjectTitle.CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.popoverHideObserver);
1603
+ }
1604
+ else if (this.popoverHideObserver) {
1605
+ changeManager.ChangeManager.unregister(staticSubjectTitle.CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.popoverHideObserver);
1606
+ }
1607
+ // we should clear current event in vega-calendar-event-preview when popover hide
1608
+ popover &&
1609
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, domNodeSubjectFactory.VegaPopoverHide, () => {
1610
+ changeManager.ChangeManager.notify(domNodeSubjectFactory.domNodeSubjectFactory.getSubject(this.renderer.getEventPreviewRef(), vegaInternalEventId.VegaInternalCalendarEventPreviewClear), {});
1611
+ });
1612
+ }
1508
1613
  }
1509
- __decorate$h([
1614
+ __decorate$l([
1510
1615
  globalSlimmerRegistry.MapToComponentField()
1511
1616
  ], VegaCalendarMonthEventRenderer.prototype, "viewMode", void 0);
1512
- __decorate$h([
1617
+ __decorate$l([
1513
1618
  globalSlimmerRegistry.MapToComponentField()
1514
1619
  ], VegaCalendarMonthEventRenderer.prototype, "host", void 0);
1515
- __decorate$h([
1620
+ __decorate$l([
1516
1621
  globalSlimmerRegistry.MapToComponentField()
1517
1622
  ], VegaCalendarMonthEventRenderer.prototype, "calendarEventController", void 0);
1518
- __decorate$h([
1623
+ __decorate$l([
1519
1624
  globalSlimmerRegistry.MapToComponentField()
1520
1625
  ], VegaCalendarMonthEventRenderer.prototype, "eventItemRenderer", void 0);
1521
- __decorate$h([
1626
+ __decorate$l([
1522
1627
  globalSlimmerRegistry.MapToComponentField()
1523
1628
  ], VegaCalendarMonthEventRenderer.prototype, "fullDayEventLayoutRenderer", void 0);
1524
- __decorate$h([
1629
+ __decorate$l([
1630
+ globalSlimmerRegistry.MapToComponentField()
1631
+ ], VegaCalendarMonthEventRenderer.prototype, "eventPreviewPopoverRenderer", void 0);
1632
+ __decorate$l([
1633
+ globalSlimmerRegistry.MapToComponentField()
1634
+ ], VegaCalendarMonthEventRenderer.prototype, "renderer", void 0);
1635
+ __decorate$l([
1636
+ globalSlimmerRegistry.MapToComponentField()
1637
+ ], VegaCalendarMonthEventRenderer.prototype, "eventPreviewPopoverController", void 0);
1638
+ __decorate$l([
1525
1639
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
1526
1640
  ], VegaCalendarMonthEventRenderer.prototype, "addMaxDisplayCountChange", null);
1527
1641
 
@@ -1584,6 +1698,21 @@ class CalendarEventBaseRepeatPattern {
1584
1698
  (seriesEnd >= rangeStart && seriesEnd <= rangeEnd) ||
1585
1699
  (seriesStart <= rangeStart && seriesEnd >= rangeEnd));
1586
1700
  }
1701
+ /**
1702
+ * The function generates a string representation of the end condition for a repeating event,
1703
+ * either by a specific date or after a certain number of occurrences.
1704
+ *
1705
+ * @returns {string} a string representing the end condition of a repeating event.
1706
+ */
1707
+ generateRepeatEndsString() {
1708
+ if (this.until) {
1709
+ return ` ${translation.VegaInternalTranslation.t('until {0}', `${this.until.getMonthName()} ${this.until.date}, ${this.until.year}`)}`;
1710
+ }
1711
+ else if (this.count) {
1712
+ return ` ${translation.VegaInternalTranslation.t('after {0} occurrences', this.count)}`;
1713
+ }
1714
+ return '';
1715
+ }
1587
1716
  }
1588
1717
  CalendarEventBaseRepeatPattern.daySeconds = 24 * 60 * 60 * 1000;
1589
1718
 
@@ -1607,6 +1736,17 @@ class CalendarEventDailyRepeatPattern extends CalendarEventBaseRepeatPattern {
1607
1736
  super(startDate, interval, count, until);
1608
1737
  this.initCache();
1609
1738
  }
1739
+ /**
1740
+ * Generate repeat display string.
1741
+ *
1742
+ * @returns {string} repeat display string
1743
+ */
1744
+ generateRepeatString() {
1745
+ const repeatString = this.interval > 1
1746
+ ? translation.VegaInternalTranslation.t('Repeat every {0} days', this.interval)
1747
+ : translation.VegaInternalTranslation.t('Repeat daily');
1748
+ return repeatString + this.generateRepeatEndsString();
1749
+ }
1610
1750
  /**
1611
1751
  * The function generates and caches repeated dates before a specified end date.
1612
1752
  *
@@ -1685,6 +1825,17 @@ class CalendarEventMonthlyRepeatPattern extends CalendarEventBaseRepeatPattern {
1685
1825
  this.byMonthDay = this.repeatStartDate.date;
1686
1826
  this.initCache();
1687
1827
  }
1828
+ /**
1829
+ * Generate repeat display string.
1830
+ *
1831
+ * @returns {string} repeat display string
1832
+ */
1833
+ generateRepeatString() {
1834
+ const repeatString = this.interval > 1
1835
+ ? translation.VegaInternalTranslation.t('Repeat every {0} months on day {1}', this.interval, this.byMonthDay)
1836
+ : translation.VegaInternalTranslation.t('Repeat monthly on day {0}', this.byMonthDay);
1837
+ return repeatString + this.generateRepeatEndsString();
1838
+ }
1688
1839
  /**
1689
1840
  * This function generates and caches repeated dates before a specified end date.
1690
1841
  *
@@ -1796,6 +1947,18 @@ class CalendarEventWeeklyRepeatPattern extends CalendarEventBaseRepeatPattern {
1796
1947
  return this.isSeriesInPeriod(item, eventSpansDays, period);
1797
1948
  });
1798
1949
  }
1950
+ /**
1951
+ * Generate repeat display string.
1952
+ *
1953
+ * @returns {string} repeat display string
1954
+ */
1955
+ generateRepeatString() {
1956
+ const weekDays = this.byWeekDay.map((weekDay) => translation.VegaInternalTranslation.t(WeekdayLongNames[weekDay]));
1957
+ const repeatString = this.interval > 1
1958
+ ? translation.VegaInternalTranslation.t('Repeat every {0} weeks on {1}', this.interval, weekDays.join(', '))
1959
+ : translation.VegaInternalTranslation.t('Repeat weekly on {0}', weekDays.join(', '));
1960
+ return repeatString + this.generateRepeatEndsString();
1961
+ }
1799
1962
  /**
1800
1963
  * This function generates repeated dates and caches them until a specified end date.
1801
1964
  *
@@ -1950,6 +2113,18 @@ class CalendarEventYearlyRepeatPattern extends CalendarEventBaseRepeatPattern {
1950
2113
  this.matchMonth = this.repeatStartDate.month;
1951
2114
  this.initCache();
1952
2115
  }
2116
+ /**
2117
+ * Generate repeat display string.
2118
+ *
2119
+ * @returns {string} repeat display string
2120
+ */
2121
+ generateRepeatString() {
2122
+ const monthName = translation.VegaInternalTranslation.t(this.repeatStartDate.getMonthName());
2123
+ const repeatString = this.interval > 1
2124
+ ? translation.VegaInternalTranslation.t('Repeat every {0} years on {1} {2}', this.interval, monthName, this.matchDay)
2125
+ : translation.VegaInternalTranslation.t('Repeat yearly on {0} {1}', monthName, this.matchDay);
2126
+ return repeatString + this.generateRepeatEndsString();
2127
+ }
1953
2128
  /**
1954
2129
  * The function generates repeat dates and caches them until reaching the specified end date.
1955
2130
  *
@@ -2248,6 +2423,28 @@ class CalendarEvent {
2248
2423
  const currentDate = date.toDate();
2249
2424
  return startCalendarDate.toDate() <= currentDate && endCalendarDate.toDate() > currentDate;
2250
2425
  }
2426
+ /**
2427
+ * Generate repeat display string.
2428
+ *
2429
+ * @returns {string} repeat display string
2430
+ */
2431
+ generateRepeatString() {
2432
+ var _a;
2433
+ return ((_a = this.repeatPattern) === null || _a === void 0 ? void 0 : _a.generateRepeatString()) || '';
2434
+ }
2435
+ /**
2436
+ * Generate date display string.
2437
+ *
2438
+ * @param {CalendarDate} viewDate - The `date` to display
2439
+ * @param {TimeFormat} timeFormat - The `timeFormat` to use
2440
+ * @returns {string} repeat display string
2441
+ */
2442
+ generateDateTimeString(viewDate, timeFormat) {
2443
+ const weekDay = translation.VegaInternalTranslation.t(Object.values(WeekdayLongNames)[viewDate.toDate().getDay()]);
2444
+ const startTime = formatDisplayTime(timeFormat, this.startTime);
2445
+ const endTime = formatDisplayTime(timeFormat, this.endTime);
2446
+ return `${weekDay}, ${viewDate.date} ${viewDate.getMonthName(true)} ${viewDate.year} ${startTime} - ${endTime}`;
2447
+ }
2251
2448
  /**
2252
2449
  * Get the number of minutes the event lasted
2253
2450
  *
@@ -2382,7 +2579,7 @@ class CalendarEvent {
2382
2579
  }
2383
2580
  }
2384
2581
 
2385
- var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2582
+ var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2386
2583
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2387
2584
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2388
2585
  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;
@@ -2488,23 +2685,26 @@ class VegaCalendarEventController extends globalSlimmerRegistry.VegaSlimmer {
2488
2685
  }
2489
2686
  }
2490
2687
  }
2491
- __decorate$g([
2688
+ __decorate$k([
2689
+ globalSlimmerRegistry.MapToComponentField()
2690
+ ], VegaCalendarEventController.prototype, "host", void 0);
2691
+ __decorate$k([
2492
2692
  globalSlimmerRegistry.MapToComponentField({ writable: true })
2493
2693
  ], VegaCalendarEventController.prototype, "calendarEvents", void 0);
2494
- __decorate$g([
2694
+ __decorate$k([
2495
2695
  globalSlimmerRegistry.MapToComponentField()
2496
2696
  ], VegaCalendarEventController.prototype, "currentPeriod", void 0);
2497
- __decorate$g([
2697
+ __decorate$k([
2498
2698
  globalSlimmerRegistry.MapToComponentField()
2499
2699
  ], VegaCalendarEventController.prototype, "events", void 0);
2500
- __decorate$g([
2700
+ __decorate$k([
2501
2701
  globalSlimmerRegistry.MapToComponentMethod('watchEventsChange')
2502
2702
  ], VegaCalendarEventController.prototype, "updateAfterEventChange", null);
2503
- __decorate$g([
2703
+ __decorate$k([
2504
2704
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
2505
2705
  ], VegaCalendarEventController.prototype, "updateWhenComponentWillLoad", null);
2506
2706
 
2507
- var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2707
+ var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2508
2708
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2509
2709
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2510
2710
  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;
@@ -2517,12 +2717,17 @@ class VegaCalendarEventItemRenderer extends globalSlimmerRegistry.VegaSlimmer {
2517
2717
  *
2518
2718
  * @param {CalendarEvent} item the calendar event object
2519
2719
  * @param {Record<string,boolean>} classMap the class name map
2720
+ * @param {CalendarDate} targetCalendarViewDate the target calendar view date
2520
2721
  * @returns {HTMLVegaCalendarEventElement} calendar event element
2521
2722
  */
2522
- render(item, classMap) {
2723
+ render(item, classMap, targetCalendarViewDate, isGroupEvent = false) {
2523
2724
  return (index.h("vega-calendar-event", { "data-calendar-ref": this.host, key: item.eventKey, calendarEvent: item, class: classMap, onKeyDown: accessibility.createEnterKeyHandlerToTriggerClick(),
2524
2725
  // eslint-disable-next-line react/jsx-no-bind
2525
- onClick: () => this.handleEventClick(item) }, !item.isRepeatEvent && index.h("slot", { name: getCalendarEventSlotName(item.event.key) })));
2726
+ onClick: () => {
2727
+ this.handleEventClick(item);
2728
+ this.enabledEventPreview &&
2729
+ this.setupPreviewContainer(item, targetCalendarViewDate, isGroupEvent);
2730
+ } }, !item.isRepeatEvent && index.h("slot", { name: getCalendarEventSlotName(item.event.key) })));
2526
2731
  }
2527
2732
  /**
2528
2733
  * emit vega click event
@@ -2532,19 +2737,62 @@ class VegaCalendarEventItemRenderer extends globalSlimmerRegistry.VegaSlimmer {
2532
2737
  handleEventClick(eventItem) {
2533
2738
  this.eventClickEmitter.emit({ rawEvent: eventItem.event });
2534
2739
  }
2740
+ setupPreviewContainer(event, targetCalendarViewDate, isGroupEvent) {
2741
+ const previewContainer = this.eventPreviewPopoverController.getEventPreviewContainer(event, targetCalendarViewDate, isGroupEvent);
2742
+ if (previewContainer) {
2743
+ const preview = this.renderer.getEventPreviewRef();
2744
+ if (isGroupEvent) {
2745
+ preview.classList.remove('single-event-preview');
2746
+ preview.classList.add('group-event-preview');
2747
+ }
2748
+ else {
2749
+ preview.classList.remove('group-event-preview');
2750
+ preview.classList.add('single-event-preview');
2751
+ }
2752
+ // Step 1: notify preview component to update data
2753
+ changeManager.ChangeManager.notify(domNodeSubjectFactory.domNodeSubjectFactory.getSubject(preview, vegaInternalEventId.VegaInternalCalendarEventPreviewUpdate), {
2754
+ event,
2755
+ targetCalendarViewDate,
2756
+ timeFormat: this.timeFormat,
2757
+ });
2758
+ // Step 2: append preview additional fields slot to preview component.
2759
+ const additionalFieldsSlot = this.host.querySelector('[slot=event-preview-additional-fields]');
2760
+ additionalFieldsSlot && preview.append(additionalFieldsSlot);
2761
+ // Step 3: append event slot to preview component.
2762
+ const eventSlotName = getCalendarEventSlotName(event.event.key);
2763
+ const eventSlot = this.host.querySelector(`[slot=${eventSlotName}]`);
2764
+ const previewEventSlot = preview.querySelector(`[slot=${eventSlotName}]`);
2765
+ // Since event slot is used by vega-calendar-event, we should clone it to avoid remove from original position.
2766
+ eventSlot && !previewEventSlot && preview.append(eventSlot.cloneNode(true));
2767
+ // Step 4: append preview component to popover container to display.
2768
+ previewContainer.append(preview);
2769
+ }
2770
+ }
2535
2771
  }
2536
2772
  VegaCalendarEventItemRenderer.backgroundColorModeEventHeight = 18;
2537
- __decorate$f([
2773
+ __decorate$j([
2538
2774
  globalSlimmerRegistry.MapToComponentField()
2539
2775
  ], VegaCalendarEventItemRenderer.prototype, "host", void 0);
2540
- __decorate$f([
2776
+ __decorate$j([
2541
2777
  globalSlimmerRegistry.MapToComponentField()
2542
2778
  ], VegaCalendarEventItemRenderer.prototype, "calendarView", void 0);
2543
- __decorate$f([
2779
+ __decorate$j([
2544
2780
  globalSlimmerRegistry.MapToComponentField()
2545
2781
  ], VegaCalendarEventItemRenderer.prototype, "eventClickEmitter", void 0);
2782
+ __decorate$j([
2783
+ globalSlimmerRegistry.MapToComponentField()
2784
+ ], VegaCalendarEventItemRenderer.prototype, "timeFormat", void 0);
2785
+ __decorate$j([
2786
+ globalSlimmerRegistry.MapToComponentField()
2787
+ ], VegaCalendarEventItemRenderer.prototype, "enabledEventPreview", void 0);
2788
+ __decorate$j([
2789
+ globalSlimmerRegistry.MapToComponentField()
2790
+ ], VegaCalendarEventItemRenderer.prototype, "renderer", void 0);
2791
+ __decorate$j([
2792
+ globalSlimmerRegistry.MapToComponentField()
2793
+ ], VegaCalendarEventItemRenderer.prototype, "eventPreviewPopoverController", void 0);
2546
2794
 
2547
- var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2795
+ var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2548
2796
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2549
2797
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2550
2798
  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;
@@ -2596,23 +2844,23 @@ class VegaCalendarEventResponsiveController extends pageResizeObserverSlimmer.Pa
2596
2844
  }
2597
2845
  }
2598
2846
  VegaCalendarEventResponsiveController.monthDateTitleHeight = 26;
2599
- __decorate$e([
2847
+ __decorate$i([
2600
2848
  globalSlimmerRegistry.MapToComponentField()
2601
2849
  ], VegaCalendarEventResponsiveController.prototype, "host", void 0);
2602
- __decorate$e([
2850
+ __decorate$i([
2603
2851
  globalSlimmerRegistry.MapToComponentField()
2604
2852
  ], VegaCalendarEventResponsiveController.prototype, "monthEventRenderer", void 0);
2605
- __decorate$e([
2853
+ __decorate$i([
2606
2854
  globalSlimmerRegistry.MapToComponentField()
2607
2855
  ], VegaCalendarEventResponsiveController.prototype, "viewMode", void 0);
2608
- __decorate$e([
2856
+ __decorate$i([
2609
2857
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
2610
2858
  ], VegaCalendarEventResponsiveController.prototype, "updateMaxDisplayCount", null);
2611
- __decorate$e([
2859
+ __decorate$i([
2612
2860
  globalSlimmerRegistry.MapToComponentMethod('watchViewModeChange')
2613
2861
  ], VegaCalendarEventResponsiveController.prototype, "updateMaxDisplayCountAfterSwitchToMonthView", null);
2614
2862
 
2615
- var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2863
+ var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2616
2864
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2617
2865
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2618
2866
  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;
@@ -2634,7 +2882,7 @@ class VegaCalendarFullDayEventRenderer extends globalSlimmerRegistry.VegaSlimmer
2634
2882
  });
2635
2883
  const orderEvents = this.fullDayEventLayoutRenderer.sortLongEvents(events);
2636
2884
  const displayEvents = this.filterDisplayEvents(orderEvents);
2637
- return (index.h("div", { class: "calendar-view-event-all" }, viewSource.map((item, index$1) => (index.h("div", { class: "event-all-col border-divider-left", key: item.date }, this.renderCurrentFullDayEvents(displayEvents[index$1], index$1, orderEvents[index$1]))))));
2885
+ return (index.h("div", { class: "calendar-view-event-all" }, viewSource.map((item, index$1) => (index.h("div", { class: "event-all-col border-divider-left", key: item.date }, this.renderCurrentFullDayEvents(displayEvents[index$1], index$1, orderEvents[index$1], item))))));
2638
2886
  }
2639
2887
  /**
2640
2888
  * render current date all day events
@@ -2644,7 +2892,7 @@ class VegaCalendarFullDayEventRenderer extends globalSlimmerRegistry.VegaSlimmer
2644
2892
  * @param {Nullable<CalendarEvent>[]} allEvents all calendar events
2645
2893
  * @returns {HTMLVegaCalendarEventElement[]} event component array
2646
2894
  */
2647
- renderCurrentFullDayEvents(events, currentViewIndex, allEvents) {
2895
+ renderCurrentFullDayEvents(events, currentViewIndex, allEvents, targetCalendarViewDate) {
2648
2896
  const height = events.length * VegaCalendarEventItemRenderer.backgroundColorModeEventHeight - 2;
2649
2897
  const hideEventsLength = allEvents.slice(events.length).filter(Boolean).length;
2650
2898
  return (index.h(index.Fragment, null,
@@ -2652,7 +2900,7 @@ class VegaCalendarFullDayEventRenderer extends globalSlimmerRegistry.VegaSlimmer
2652
2900
  index.h("span", null,
2653
2901
  events.length,
2654
2902
  " events")),
2655
- this.fullDayEventLayoutRenderer.render(events, currentViewIndex),
2903
+ this.fullDayEventLayoutRenderer.render(events, currentViewIndex, targetCalendarViewDate),
2656
2904
  hideEventsLength > 0 && this.dayViewFullDayEventMoreButtonRenderer.render(hideEventsLength)));
2657
2905
  }
2658
2906
  /**
@@ -2677,26 +2925,26 @@ class VegaCalendarFullDayEventRenderer extends globalSlimmerRegistry.VegaSlimmer
2677
2925
  }
2678
2926
  }
2679
2927
  VegaCalendarFullDayEventRenderer.maxDisplayEventLength = 2;
2680
- __decorate$d([
2928
+ __decorate$h([
2681
2929
  globalSlimmerRegistry.MapToComponentField()
2682
2930
  ], VegaCalendarFullDayEventRenderer.prototype, "calendarView", void 0);
2683
- __decorate$d([
2931
+ __decorate$h([
2684
2932
  globalSlimmerRegistry.MapToComponentField()
2685
2933
  ], VegaCalendarFullDayEventRenderer.prototype, "calendarEventController", void 0);
2686
- __decorate$d([
2934
+ __decorate$h([
2687
2935
  globalSlimmerRegistry.MapToComponentField()
2688
2936
  ], VegaCalendarFullDayEventRenderer.prototype, "eventItemRenderer", void 0);
2689
- __decorate$d([
2937
+ __decorate$h([
2690
2938
  globalSlimmerRegistry.MapToComponentField()
2691
2939
  ], VegaCalendarFullDayEventRenderer.prototype, "fullDayEventLayoutRenderer", void 0);
2692
- __decorate$d([
2940
+ __decorate$h([
2693
2941
  globalSlimmerRegistry.MapToComponentField()
2694
2942
  ], VegaCalendarFullDayEventRenderer.prototype, "showAllEventsInDayOrWeekView", void 0);
2695
- __decorate$d([
2943
+ __decorate$h([
2696
2944
  globalSlimmerRegistry.MapToComponentField()
2697
2945
  ], VegaCalendarFullDayEventRenderer.prototype, "dayViewFullDayEventMoreButtonRenderer", void 0);
2698
2946
 
2699
- var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2947
+ var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2700
2948
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2701
2949
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2702
2950
  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;
@@ -2712,7 +2960,7 @@ class VegaCalendarDayViewEventLayoutRenderer extends globalSlimmerRegistry.VegaS
2712
2960
  * a day view in a calendar. It has properties like `eventLayoutColumns`, which is an array of `VegaCalendarDayViewEvent
2713
2961
  * @returns {HTMLElement[]} An array of HTMLElements representing the rendered event nodes based on the provided layout and event data.
2714
2962
  */
2715
- render(layout) {
2963
+ render(layout, targetCalendarViewDate) {
2716
2964
  const layoutColumns = layout.eventLayoutCells;
2717
2965
  const eventNodes = [];
2718
2966
  layoutColumns.forEach((columns, index$1) => {
@@ -2722,7 +2970,7 @@ class VegaCalendarDayViewEventLayoutRenderer extends globalSlimmerRegistry.VegaS
2722
2970
  const currentEvent = columns.getEventBySlotIndex(i);
2723
2971
  if (currentEvent !== renderEvent) {
2724
2972
  if (renderEvent) {
2725
- eventNodes.push(index.h("div", { key: index$1, class: "time-event-block", style: this.getTimeEventStyle(start, i, index$1, layout.getEventColumnsSpannedCount(renderEvent)) }, this.eventItemRenderer.render(renderEvent, {
2973
+ eventNodes.push(index.h("div", { key: index$1, class: "time-event-block", style: this.getTimeEventStyle(start, i, index$1, layout.getEventColumnsSpannedCount(renderEvent)) }, this.eventPreviewPopoverRenderer.render(renderEvent, targetCalendarViewDate, {
2726
2974
  'day-event': true,
2727
2975
  'bg-shadow': index$1 > 0,
2728
2976
  })));
@@ -2761,9 +3009,12 @@ class VegaCalendarDayViewEventLayoutRenderer extends globalSlimmerRegistry.VegaS
2761
3009
  }
2762
3010
  }
2763
3011
  VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells = 24 * 4;
2764
- __decorate$c([
3012
+ __decorate$g([
2765
3013
  globalSlimmerRegistry.MapToComponentField()
2766
3014
  ], VegaCalendarDayViewEventLayoutRenderer.prototype, "eventItemRenderer", void 0);
3015
+ __decorate$g([
3016
+ globalSlimmerRegistry.MapToComponentField()
3017
+ ], VegaCalendarDayViewEventLayoutRenderer.prototype, "eventPreviewPopoverRenderer", void 0);
2767
3018
 
2768
3019
  /** 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`. */
2769
3020
  class VegaCalendarBaseEventLayoutGenerator {
@@ -3047,7 +3298,7 @@ class VegaCalendarEventSorter {
3047
3298
  }
3048
3299
  }
3049
3300
 
3050
- var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3301
+ var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3051
3302
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3052
3303
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3053
3304
  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;
@@ -3083,16 +3334,16 @@ class VegaCalendarTimedEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
3083
3334
  .filter((eventItem) => !eventItem.isAllDayEvent && !eventItem.isGroupEvent());
3084
3335
  const sortEvents = this.calendarEventSorter.sortCalendarEventByTime(events);
3085
3336
  const layout = this.dayViewTimedEventLayoutGenerator.generate(sortEvents);
3086
- return this.dayViewEventLayoutRenderer.render(layout);
3337
+ return this.dayViewEventLayoutRenderer.render(layout, date);
3087
3338
  }
3088
3339
  }
3089
- __decorate$b([
3340
+ __decorate$f([
3090
3341
  globalSlimmerRegistry.MapToComponentField()
3091
3342
  ], VegaCalendarTimedEventRenderer.prototype, "calendarView", void 0);
3092
- __decorate$b([
3343
+ __decorate$f([
3093
3344
  globalSlimmerRegistry.MapToComponentField()
3094
3345
  ], VegaCalendarTimedEventRenderer.prototype, "calendarEventController", void 0);
3095
- __decorate$b([
3346
+ __decorate$f([
3096
3347
  globalSlimmerRegistry.MapToComponentField()
3097
3348
  ], VegaCalendarTimedEventRenderer.prototype, "dayViewEventLayoutRenderer", void 0);
3098
3349
 
@@ -3261,7 +3512,7 @@ class VegaCalendarFullDayEventLayoutGenerator extends VegaCalendarBaseEventLayou
3261
3512
  }
3262
3513
  }
3263
3514
 
3264
- var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3515
+ var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3265
3516
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3266
3517
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3267
3518
  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;
@@ -3293,12 +3544,12 @@ class VegaCalendarFullDayEventLayoutRenderer extends globalSlimmerRegistry.VegaS
3293
3544
  * @param {currentViewIndex} currentViewIndex the current index of the row
3294
3545
  * @returns {HTMLElement[]} event elements
3295
3546
  */
3296
- render(calendarEvents, currentViewIndex) {
3547
+ render(calendarEvents, currentViewIndex, targetCalendarViewDate) {
3297
3548
  return calendarEvents.map((item, index$1) => {
3298
3549
  if (item) {
3299
3550
  return (index.h("div", { key: item.eventKey, class: this.viewMode === 'month' ? 'month-event-block' : 'day-event-block', style: this.getEventStyle(item, currentViewIndex, index$1, this.viewMode === 'month'
3300
3551
  ? VegaCalendarFullDayEventLayoutRenderer.monthViewEventOffsetTop
3301
- : 0) }, this.eventItemRenderer.render(item, {
3552
+ : 0) }, this.eventPreviewPopoverRenderer.render(item, targetCalendarViewDate, {
3302
3553
  'month-event': this.viewMode === 'month',
3303
3554
  'day-event': this.viewMode !== 'month',
3304
3555
  })));
@@ -3346,17 +3597,20 @@ class VegaCalendarFullDayEventLayoutRenderer extends globalSlimmerRegistry.VegaS
3346
3597
  }
3347
3598
  }
3348
3599
  VegaCalendarFullDayEventLayoutRenderer.monthViewEventOffsetTop = 26;
3349
- __decorate$a([
3600
+ __decorate$e([
3350
3601
  globalSlimmerRegistry.MapToComponentField()
3351
3602
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "eventItemRenderer", void 0);
3352
- __decorate$a([
3603
+ __decorate$e([
3353
3604
  globalSlimmerRegistry.MapToComponentField()
3354
3605
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "viewMode", void 0);
3355
- __decorate$a([
3606
+ __decorate$e([
3356
3607
  globalSlimmerRegistry.MapToComponentField()
3357
3608
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "calendarView", void 0);
3609
+ __decorate$e([
3610
+ globalSlimmerRegistry.MapToComponentField()
3611
+ ], VegaCalendarFullDayEventLayoutRenderer.prototype, "eventPreviewPopoverRenderer", void 0);
3358
3612
 
3359
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3613
+ var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3360
3614
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3361
3615
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3362
3616
  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;
@@ -3393,14 +3647,14 @@ class VegaCalendarFullDayEventMoreButtonRenderer extends globalSlimmerRegistry.V
3393
3647
  this.showAllEventsInDayOrWeekView = false;
3394
3648
  }
3395
3649
  }
3396
- __decorate$9([
3650
+ __decorate$d([
3397
3651
  globalSlimmerRegistry.MapToComponentField({ writable: true })
3398
3652
  ], VegaCalendarFullDayEventMoreButtonRenderer.prototype, "showAllEventsInDayOrWeekView", void 0);
3399
- __decorate$9([
3653
+ __decorate$d([
3400
3654
  globalSlimmerRegistry.MapToComponentMethod('watchViewModeChange')
3401
3655
  ], VegaCalendarFullDayEventMoreButtonRenderer.prototype, "resetShowAllFlag", null);
3402
3656
 
3403
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3657
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3404
3658
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3405
3659
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3406
3660
  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;
@@ -3544,28 +3798,235 @@ class VegaCalendarTimeMarkerRenderer extends globalSlimmerRegistry.VegaSlimmer {
3544
3798
  return 0;
3545
3799
  }
3546
3800
  }
3547
- __decorate$8([
3801
+ __decorate$c([
3548
3802
  globalSlimmerRegistry.MapToComponentField()
3549
3803
  ], VegaCalendarTimeMarkerRenderer.prototype, "viewMode", void 0);
3550
- __decorate$8([
3804
+ __decorate$c([
3551
3805
  globalSlimmerRegistry.MapToComponentField()
3552
3806
  ], VegaCalendarTimeMarkerRenderer.prototype, "viewRenderer", void 0);
3553
- __decorate$8([
3807
+ __decorate$c([
3554
3808
  globalSlimmerRegistry.MapToComponentMethod('watchViewModeChange')
3555
3809
  ], VegaCalendarTimeMarkerRenderer.prototype, "updateTimeLine", null);
3556
- __decorate$8([
3810
+ __decorate$c([
3557
3811
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
3558
3812
  ], VegaCalendarTimeMarkerRenderer.prototype, "clearTimer", null);
3559
- __decorate$8([
3813
+ __decorate$c([
3560
3814
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
3561
3815
  ], VegaCalendarTimeMarkerRenderer.prototype, "updateTimeLineIfComponentAddBack", null);
3562
- __decorate$8([
3816
+ __decorate$c([
3563
3817
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
3564
3818
  ], VegaCalendarTimeMarkerRenderer.prototype, "displayCurrentTimeBlockByDefault", null);
3565
3819
 
3566
- 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}";
3820
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3821
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3822
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3823
+ 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;
3824
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3825
+ };
3826
+ /**
3827
+ * Controller for managing the post-operation date in the Vega Calendar.
3828
+ */
3829
+ class VegaCalendarPostOperationDateController extends globalSlimmerRegistry.VegaSlimmer {
3830
+ /**
3831
+ * Set new current date
3832
+ *
3833
+ * @param {CalendarDate} currentDate new value
3834
+ */
3835
+ setPostOperationDate(currentDate) {
3836
+ this.postOperationDate = currentDate;
3837
+ }
3838
+ /**
3839
+ * Set post operation Date when the current period changes
3840
+ *
3841
+ * @param {CalendarPeriod} newValue the new calendar period
3842
+ * @param {CalendarPeriod} oldValue the prev calendar period
3843
+ */
3844
+ setDate(newValue, oldValue) {
3845
+ if (newValue.current !== this.postOperationDate) {
3846
+ if (this.shouldSetCurrentDateToFirstDayOfMonth(newValue, oldValue)) {
3847
+ const currentDate = newValue.current.toDate();
3848
+ if (currentDate) {
3849
+ currentDate.setDate(1);
3850
+ this.setPostOperationDate(CalendarDate.from(currentDate));
3851
+ }
3852
+ }
3853
+ else {
3854
+ this.setPostOperationDate(CalendarDate.from(newValue.current.toDate()));
3855
+ }
3856
+ }
3857
+ }
3858
+ /**
3859
+ * Check if the first date should be set
3860
+ * Both the new and old values are of the month type.
3861
+ * The new date is not equal to the current date.
3862
+ *
3863
+ * @param {CalendarPeriod} newValue The new calendar period
3864
+ * @param {CalendarPeriod} oldValue The old calendar period
3865
+ * @returns {boolean} True if the first date should be set, false otherwise
3866
+ */
3867
+ shouldSetCurrentDateToFirstDayOfMonth(newValue, oldValue) {
3868
+ return (newValue.type === 'month' &&
3869
+ (oldValue === null || oldValue === void 0 ? void 0 : oldValue.type) === 'month' &&
3870
+ !newValue.current.equal(CalendarDate.from(new Date())));
3871
+ }
3872
+ }
3873
+ __decorate$b([
3874
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
3875
+ ], VegaCalendarPostOperationDateController.prototype, "postOperationDate", void 0);
3876
+ __decorate$b([
3877
+ globalSlimmerRegistry.MapToComponentMethod('watchCurrentPeriodChange')
3878
+ ], VegaCalendarPostOperationDateController.prototype, "setDate", null);
3879
+
3880
+ var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3881
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3882
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3883
+ 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;
3884
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3885
+ };
3886
+ class VegaCalendarEventPreviewPopoverRenderer extends globalSlimmerRegistry.VegaSlimmer {
3887
+ constructor() {
3888
+ super(...arguments);
3889
+ this.popoverHideObserver = null;
3890
+ }
3891
+ render(event, targetCalendarViewDate, classMap) {
3892
+ return this.enabledEventPreview
3893
+ ? this.renderPreviewPopover(event, classMap, targetCalendarViewDate)
3894
+ : this.eventItemRenderer.render(event, classMap, targetCalendarViewDate);
3895
+ }
3896
+ renderPreviewPopover(event, classMap, targetCalendarViewDate) {
3897
+ return (index.h("vega-popover", { placement: this.viewMode === 'day' ? 'top' : 'right', alignment: "center", class: {
3898
+ 'event-preview-popover': true,
3899
+ 'block': true,
3900
+ }, padding: "0", size: VegaCalendarEventPreviewPopoverRenderer.SINGLE_EVENT_PREVIEW_WIDTH, ref: (el) => {
3901
+ this.setPopoverHideObserver(el, event);
3902
+ } },
3903
+ index.h("div", { slot: "popover-content", class: "event-preview-popover-content" }, this.eventItemRenderer.render(event, classMap, targetCalendarViewDate)),
3904
+ index.h("div", { slot: "popover" },
3905
+ index.h("div", { class: "preview-container", ref: (el) => {
3906
+ el
3907
+ ? this.eventPreviewPopoverController.setEventPreviewContainerMap(event, targetCalendarViewDate, el)
3908
+ : this.eventPreviewPopoverController.deleteEventPreviewContainer(event, targetCalendarViewDate);
3909
+ } }))));
3910
+ }
3911
+ setPopoverHideObserver(popover, event) {
3912
+ if (popover) {
3913
+ this.popoverHideObserver = new observer.Observer((payload) => event === payload, async () => await popover.hide());
3914
+ changeManager.ChangeManager.register(staticSubjectTitle.CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.popoverHideObserver);
3915
+ }
3916
+ else if (this.popoverHideObserver) {
3917
+ changeManager.ChangeManager.unregister(staticSubjectTitle.CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.popoverHideObserver);
3918
+ }
3919
+ }
3920
+ }
3921
+ VegaCalendarEventPreviewPopoverRenderer.SINGLE_EVENT_PREVIEW_WIDTH = 400;
3922
+ __decorate$a([
3923
+ globalSlimmerRegistry.MapToComponentField()
3924
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "host", void 0);
3925
+ __decorate$a([
3926
+ globalSlimmerRegistry.MapToComponentField()
3927
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "renderer", void 0);
3928
+ __decorate$a([
3929
+ globalSlimmerRegistry.MapToComponentField()
3930
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "viewMode", void 0);
3931
+ __decorate$a([
3932
+ globalSlimmerRegistry.MapToComponentField()
3933
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "timeFormat", void 0);
3934
+ __decorate$a([
3935
+ globalSlimmerRegistry.MapToComponentField()
3936
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "eventItemRenderer", void 0);
3937
+ __decorate$a([
3938
+ globalSlimmerRegistry.MapToComponentField()
3939
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "enabledEventPreview", void 0);
3940
+ __decorate$a([
3941
+ globalSlimmerRegistry.MapToComponentField()
3942
+ ], VegaCalendarEventPreviewPopoverRenderer.prototype, "eventPreviewPopoverController", void 0);
3943
+
3944
+ /** Event preview popover controller */
3945
+ class VegaCalendarEventPreviewPopoverController extends globalSlimmerRegistry.VegaSlimmer {
3946
+ constructor() {
3947
+ super(...arguments);
3948
+ this.singleEventPreviewContainerMap = new Map();
3949
+ this.groupEventsPreviewContainerMap = new Map();
3950
+ }
3951
+ /**
3952
+ * Set the event preview container for the given events
3953
+ *
3954
+ * @param {Nullable<CalendarEvent>[] | CalendarEvent} events - The calendar event(s)
3955
+ * @param {CalendarDate} viewDate - The current date
3956
+ * @param {HTMLElement} container - The HTML element to be used as the preview container
3957
+ */
3958
+ setEventPreviewContainerMap(events, viewDate, container) {
3959
+ const map = Array.isArray(events)
3960
+ ? this.groupEventsPreviewContainerMap
3961
+ : this.singleEventPreviewContainerMap;
3962
+ map.set(this.generateMapKey(events, viewDate), container);
3963
+ }
3964
+ /**
3965
+ * Delete the event preview container for the given events
3966
+ *
3967
+ * @param {Nullable<CalendarEvent>[] | CalendarEvent} events - The calendar event(s)
3968
+ * @param {CalendarDate} viewDate - The current date
3969
+ */
3970
+ deleteEventPreviewContainer(events, viewDate) {
3971
+ const map = Array.isArray(events)
3972
+ ? this.groupEventsPreviewContainerMap
3973
+ : this.singleEventPreviewContainerMap;
3974
+ map.delete(this.generateMapKey(events, viewDate));
3975
+ }
3976
+ /**
3977
+ * Get the event preview container for the given event
3978
+ *
3979
+ * @param {CalendarEvent} event - The calendar event
3980
+ * @param {CalendarDate} viewDate - The current date
3981
+ * @param {boolean} isGroup - Whether the event is part of a group
3982
+ * @returns {Nullable<HTMLElement>} - The HTML element used as the preview container, or null if not found
3983
+ */
3984
+ getEventPreviewContainer(event, viewDate, isGroup) {
3985
+ const map = isGroup
3986
+ ? this.groupEventsPreviewContainerMap
3987
+ : this.singleEventPreviewContainerMap;
3988
+ const singleKey = this.generateMapKey(event, viewDate);
3989
+ if (map.has(singleKey)) {
3990
+ return map.get(singleKey);
3991
+ }
3992
+ else {
3993
+ const dateString = this.getDateString(viewDate);
3994
+ const groupKey = Array.from(map.keys()).find((key) => key.includes(event.eventKey) && key.endsWith(dateString));
3995
+ if (groupKey) {
3996
+ return map.get(groupKey);
3997
+ }
3998
+ }
3999
+ }
4000
+ /**
4001
+ * Generate a unique key for the given events
4002
+ *
4003
+ * @param {Nullable<CalendarEvent>[] | CalendarEvent} events - The calendar event(s)
4004
+ * @param {CalendarDate} viewDate - The current date
4005
+ * @returns {string} - A unique string key representing the event(s)
4006
+ */
4007
+ generateMapKey(events, viewDate) {
4008
+ const dateString = this.getDateString(viewDate);
4009
+ return Array.isArray(events)
4010
+ ? events
4011
+ .filter((event) => event)
4012
+ .map((event) => event.eventKey)
4013
+ .join('-') + dateString
4014
+ : events.eventKey + dateString;
4015
+ }
4016
+ /**
4017
+ * Get a date string in the format "-YYYY-M-D" for the given date
4018
+ *
4019
+ * @param {CalendarDate} viewDate - The date object
4020
+ * @returns {string} - The formatted date string, or an empty string if the date is null
4021
+ */
4022
+ getDateString(viewDate) {
4023
+ return `-${viewDate.year}-${viewDate.month}-${viewDate.date}`;
4024
+ }
4025
+ }
4026
+
4027
+ 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%}";
3567
4028
 
3568
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4029
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3569
4030
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3570
4031
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3571
4032
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3597,15 +4058,19 @@ const VegaCalendar = class {
3597
4058
  this.timeLineRenderer = new VegaCalendarTimeLineRenderer();
3598
4059
  this.timeMarkerRenderer = new VegaCalendarTimeMarkerRenderer();
3599
4060
  this.monthEventRenderer = new VegaCalendarMonthEventRenderer();
3600
- //The current period controller should be before the calendar view controller because the initial current period should be before the initial calendar view
4061
+ // The current period controller should be before the calendar view controller because the initial current period should be before the initial calendar view
3601
4062
  this.currentPeriodController = new VegaCalendarCurrentPeriodController();
3602
4063
  this.calendarViewController = new VegaCalendarViewController();
4064
+ // Date after recording the operation
4065
+ this.postOperationDateController = new VegaCalendarPostOperationDateController();
3603
4066
  this.dayViewFullDayEventRenderer = new VegaCalendarFullDayEventRenderer();
4067
+ this.eventPreviewPopoverController = new VegaCalendarEventPreviewPopoverController();
3604
4068
  this.dayViewFullDayEventMoreButtonRenderer = new VegaCalendarFullDayEventMoreButtonRenderer();
3605
4069
  this.dayViewTimedEventRenderer = new VegaCalendarTimedEventRenderer();
3606
4070
  this.eventItemRenderer = new VegaCalendarEventItemRenderer();
3607
4071
  this.dayViewEventLayoutRenderer = new VegaCalendarDayViewEventLayoutRenderer();
3608
4072
  this.fullDayEventLayoutRenderer = new VegaCalendarFullDayEventLayoutRenderer();
4073
+ this.eventPreviewPopoverRenderer = new VegaCalendarEventPreviewPopoverRenderer();
3609
4074
  this.calendarEventController = new VegaCalendarEventController();
3610
4075
  this.eventResponsiveController = new VegaCalendarEventResponsiveController();
3611
4076
  this.changeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaCalendar, domNodeSubjectFactory.VegaChange);
@@ -3615,6 +4080,12 @@ const VegaCalendar = class {
3615
4080
  this.changeEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([domNodeSubjectFactory.VegaChange], () => this.switchPanelRenderer.getSwitchPanelRef());
3616
4081
  this.timeFormatNotifySlimmer = subStateNotifySlimmer.createSubStateNotifySlimmer(VegaCalendar, 'timeFormat', 'watchTimeFormat');
3617
4082
  this.showEventColorBarNotifySlimmer = subStateNotifySlimmer.createSubStateNotifySlimmer(VegaCalendar, 'showEventColorBar', 'watchShowEventColorBar');
4083
+ /**
4084
+ * This postOperationDate will record the time after the operation, which will affect the calculation of day/week/month, making the generated interval accurate
4085
+ *
4086
+ * @type {CalendarDate}
4087
+ */
4088
+ this.postOperationDate = CalendarDate.from(new Date());
3618
4089
  this.showAllEventsInDayOrWeekView = false;
3619
4090
  this.calendarEvents = [];
3620
4091
  /**
@@ -3649,12 +4120,24 @@ const VegaCalendar = class {
3649
4120
  * @vegaVersion 2.21.0
3650
4121
  */
3651
4122
  this.showEventColorBar = true;
4123
+ /**
4124
+ * Controls whether the switch view is displayed.
4125
+ *
4126
+ * @vegaVersion 2.58.0
4127
+ */
4128
+ this.showSwitchView = true;
3652
4129
  /**
3653
4130
  * Controls the visibility of the weekend columns in the calendar.
3654
4131
  *
3655
4132
  * @vegaVersion 2.28.0
3656
4133
  */
3657
4134
  this.showWeekends = true;
4135
+ /**
4136
+ * Controls the visibility of the event preview popover while click event.
4137
+ *
4138
+ * @vegaVersion 2.59.0
4139
+ */
4140
+ this.enabledEventPreview = true;
3658
4141
  }
3659
4142
  /**
3660
4143
  * Tracks changes to the current period state.
@@ -3710,88 +4193,97 @@ const VegaCalendar = class {
3710
4193
  "showWeekends": ["watchShowWeekendsChange"]
3711
4194
  }; }
3712
4195
  };
3713
- __decorate$7([
4196
+ __decorate$9([
3714
4197
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
3715
4198
  ], VegaCalendar.prototype, "globalSlimmer", void 0);
3716
- __decorate$7([
4199
+ __decorate$9([
3717
4200
  globalSlimmerRegistry.InjectVegaSlimmer()
3718
4201
  ], VegaCalendar.prototype, "translationSlimmer", void 0);
3719
- __decorate$7([
4202
+ __decorate$9([
3720
4203
  globalSlimmerRegistry.InjectVegaSlimmer()
3721
4204
  ], VegaCalendar.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
3722
- __decorate$7([
4205
+ __decorate$9([
3723
4206
  globalSlimmerRegistry.InjectVegaSlimmer()
3724
4207
  ], VegaCalendar.prototype, "renderer", void 0);
3725
- __decorate$7([
4208
+ __decorate$9([
3726
4209
  globalSlimmerRegistry.InjectVegaSlimmer()
3727
4210
  ], VegaCalendar.prototype, "switchPanelRenderer", void 0);
3728
- __decorate$7([
4211
+ __decorate$9([
3729
4212
  globalSlimmerRegistry.InjectVegaSlimmer()
3730
4213
  ], VegaCalendar.prototype, "viewRenderer", void 0);
3731
- __decorate$7([
4214
+ __decorate$9([
3732
4215
  globalSlimmerRegistry.InjectVegaSlimmer()
3733
4216
  ], VegaCalendar.prototype, "monthViewRenderer", void 0);
3734
- __decorate$7([
4217
+ __decorate$9([
3735
4218
  globalSlimmerRegistry.InjectVegaSlimmer()
3736
4219
  ], VegaCalendar.prototype, "viewWithTimeRenderer", void 0);
3737
- __decorate$7([
4220
+ __decorate$9([
3738
4221
  globalSlimmerRegistry.InjectVegaSlimmer()
3739
4222
  ], VegaCalendar.prototype, "timeLineRenderer", void 0);
3740
- __decorate$7([
4223
+ __decorate$9([
3741
4224
  globalSlimmerRegistry.InjectVegaSlimmer()
3742
4225
  ], VegaCalendar.prototype, "timeMarkerRenderer", void 0);
3743
- __decorate$7([
4226
+ __decorate$9([
3744
4227
  globalSlimmerRegistry.InjectVegaSlimmer()
3745
4228
  ], VegaCalendar.prototype, "monthEventRenderer", void 0);
3746
- __decorate$7([
4229
+ __decorate$9([
3747
4230
  globalSlimmerRegistry.InjectVegaSlimmer()
3748
4231
  ], VegaCalendar.prototype, "currentPeriodController", void 0);
3749
- __decorate$7([
4232
+ __decorate$9([
3750
4233
  globalSlimmerRegistry.InjectVegaSlimmer()
3751
4234
  ], VegaCalendar.prototype, "calendarViewController", void 0);
3752
- __decorate$7([
4235
+ __decorate$9([
4236
+ globalSlimmerRegistry.InjectVegaSlimmer()
4237
+ ], VegaCalendar.prototype, "postOperationDateController", void 0);
4238
+ __decorate$9([
3753
4239
  globalSlimmerRegistry.InjectVegaSlimmer()
3754
4240
  ], VegaCalendar.prototype, "dayViewFullDayEventRenderer", void 0);
3755
- __decorate$7([
4241
+ __decorate$9([
4242
+ globalSlimmerRegistry.InjectVegaSlimmer()
4243
+ ], VegaCalendar.prototype, "eventPreviewPopoverController", void 0);
4244
+ __decorate$9([
3756
4245
  globalSlimmerRegistry.InjectVegaSlimmer()
3757
4246
  ], VegaCalendar.prototype, "dayViewFullDayEventMoreButtonRenderer", void 0);
3758
- __decorate$7([
4247
+ __decorate$9([
3759
4248
  globalSlimmerRegistry.InjectVegaSlimmer()
3760
4249
  ], VegaCalendar.prototype, "dayViewTimedEventRenderer", void 0);
3761
- __decorate$7([
4250
+ __decorate$9([
3762
4251
  globalSlimmerRegistry.InjectVegaSlimmer()
3763
4252
  ], VegaCalendar.prototype, "eventItemRenderer", void 0);
3764
- __decorate$7([
4253
+ __decorate$9([
3765
4254
  globalSlimmerRegistry.InjectVegaSlimmer()
3766
4255
  ], VegaCalendar.prototype, "dayViewEventLayoutRenderer", void 0);
3767
- __decorate$7([
4256
+ __decorate$9([
3768
4257
  globalSlimmerRegistry.InjectVegaSlimmer()
3769
4258
  ], VegaCalendar.prototype, "fullDayEventLayoutRenderer", void 0);
3770
- __decorate$7([
4259
+ __decorate$9([
4260
+ globalSlimmerRegistry.InjectVegaSlimmer()
4261
+ ], VegaCalendar.prototype, "eventPreviewPopoverRenderer", void 0);
4262
+ __decorate$9([
3771
4263
  globalSlimmerRegistry.InjectVegaSlimmer()
3772
4264
  ], VegaCalendar.prototype, "calendarEventController", void 0);
3773
- __decorate$7([
4265
+ __decorate$9([
3774
4266
  globalSlimmerRegistry.InjectVegaSlimmer()
3775
4267
  ], VegaCalendar.prototype, "eventResponsiveController", void 0);
3776
- __decorate$7([
4268
+ __decorate$9([
3777
4269
  globalSlimmerRegistry.InjectVegaSlimmer()
3778
4270
  ], VegaCalendar.prototype, "changeEventEmitter", void 0);
3779
- __decorate$7([
4271
+ __decorate$9([
3780
4272
  globalSlimmerRegistry.InjectVegaSlimmer()
3781
4273
  ], VegaCalendar.prototype, "eventClickEmitter", void 0);
3782
- __decorate$7([
4274
+ __decorate$9([
3783
4275
  globalSlimmerRegistry.InjectVegaSlimmer()
3784
4276
  ], VegaCalendar.prototype, "dateDblClickEmitter", void 0);
3785
- __decorate$7([
4277
+ __decorate$9([
3786
4278
  globalSlimmerRegistry.InjectVegaSlimmer()
3787
4279
  ], VegaCalendar.prototype, "moreActionClickEmitter", void 0);
3788
- __decorate$7([
4280
+ __decorate$9([
3789
4281
  globalSlimmerRegistry.InjectVegaSlimmer()
3790
4282
  ], VegaCalendar.prototype, "changeEventPrevent", void 0);
3791
- __decorate$7([
4283
+ __decorate$9([
3792
4284
  globalSlimmerRegistry.InjectVegaSlimmer()
3793
4285
  ], VegaCalendar.prototype, "timeFormatNotifySlimmer", void 0);
3794
- __decorate$7([
4286
+ __decorate$9([
3795
4287
  globalSlimmerRegistry.InjectVegaSlimmer()
3796
4288
  ], VegaCalendar.prototype, "showEventColorBarNotifySlimmer", void 0);
3797
4289
  VegaCalendar.style = vegaCalendarCss;
@@ -3800,7 +4292,7 @@ const clockThree = {
3800
4292
  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>`,
3801
4293
  };
3802
4294
 
3803
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4295
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3804
4296
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3805
4297
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3806
4298
  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;
@@ -3918,7 +4410,7 @@ class VegaCalendarEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
3918
4410
  */
3919
4411
  defaultNormalMonthEventContentRender() {
3920
4412
  const { startTime, title } = this.calendarEvent;
3921
- return index.h("div", { class: "event-title" }, `${this.formatDisplayTime(startTime)} ${title}`);
4413
+ return index.h("div", { class: "event-title" }, `${formatDisplayTime(this.timeFormat, startTime)} ${title}`);
3922
4414
  }
3923
4415
  /**
3924
4416
  * Render the day view timed event.
@@ -3935,7 +4427,7 @@ class VegaCalendarEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
3935
4427
  }, ref: (node) => (this.eventTitleContainerRef = node) }, title),
3936
4428
  index.h("div", { class: "event-time" },
3937
4429
  index.h("vega-icon", { size: "size-12", icon: internalIconManager.VegaInternalIconManager.getIconKey('clock-three') }),
3938
- index.h("span", null, `${this.formatDisplayTime(startTime)} - ${this.formatDisplayTime(endTime)}`))));
4430
+ index.h("span", null, `${formatDisplayTime(this.timeFormat, startTime)} - ${formatDisplayTime(this.timeFormat, endTime)}`))));
3939
4431
  }
3940
4432
  /**
3941
4433
  * Return a slot element if the calendar is not a repeat event
@@ -3953,33 +4445,7 @@ class VegaCalendarEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
3953
4445
  * @returns {HTMLStyleElement} style element
3954
4446
  */
3955
4447
  injectBackgroundColorStyle() {
3956
- return index.h("style", null, this.colorController.getBackgroundColorStyle());
3957
- }
3958
- /**
3959
- * Takes a time string as input and formats it to ensure it always has two digits for hours and minutes.
3960
- *
3961
- * @param {string} timeString the event time string
3962
- * @returns {string} time string after format
3963
- */
3964
- formatDisplayTime(timeString) {
3965
- const [hour, minutes] = timeString.split(':');
3966
- if (this.timeFormat === '24-hour') {
3967
- return `${hour.padStart(2, '0')}:${minutes.padStart(2, '0')}`;
3968
- }
3969
- else {
3970
- const hourNum = Number(hour);
3971
- const amPm = hourNum >= 12 ? 'pm' : 'am';
3972
- const minutesResult = minutes.padStart(2, '0');
3973
- if (hourNum > 12) {
3974
- return `${hourNum - 12}:${minutesResult} pm`;
3975
- }
3976
- else if (hourNum === 0) {
3977
- return `12:${minutesResult} am`;
3978
- }
3979
- else {
3980
- return `${hourNum}:${minutesResult} ${amPm}`;
3981
- }
3982
- }
4448
+ return index.h("style", null, getEventStatusBgColorStyle(this.calendarEvent.color));
3983
4449
  }
3984
4450
  }
3985
4451
  (() => {
@@ -3987,53 +4453,23 @@ class VegaCalendarEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
3987
4453
  'clock-three': clockThree,
3988
4454
  });
3989
4455
  })();
3990
- __decorate$6([
4456
+ __decorate$8([
3991
4457
  globalSlimmerRegistry.MapToComponentField()
3992
4458
  ], VegaCalendarEventRenderer.prototype, "host", void 0);
3993
- __decorate$6([
4459
+ __decorate$8([
3994
4460
  globalSlimmerRegistry.MapToComponentField()
3995
4461
  ], VegaCalendarEventRenderer.prototype, "timeFormat", void 0);
3996
- __decorate$6([
4462
+ __decorate$8([
3997
4463
  globalSlimmerRegistry.MapToComponentField()
3998
4464
  ], VegaCalendarEventRenderer.prototype, "calendarEvent", void 0);
3999
- __decorate$6([
4465
+ __decorate$8([
4000
4466
  globalSlimmerRegistry.MapToComponentField()
4001
4467
  ], VegaCalendarEventRenderer.prototype, "slotMode", void 0);
4002
- __decorate$6([
4468
+ __decorate$8([
4003
4469
  globalSlimmerRegistry.MapToComponentField()
4004
4470
  ], VegaCalendarEventRenderer.prototype, "showColorBar", void 0);
4005
- __decorate$6([
4006
- globalSlimmerRegistry.MapToComponentField()
4007
- ], VegaCalendarEventRenderer.prototype, "colorController", void 0);
4008
-
4009
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4010
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4011
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4012
- 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;
4013
- return c > 3 && r && Object.defineProperty(target, key, r), r;
4014
- };
4015
- /** The `VegaCalendarEventBgColorController` class in TypeScript provides methods to handle background color for calendar events based on a color map and custom color variables. */
4016
- class VegaCalendarEventBgColorController extends globalSlimmerRegistry.VegaSlimmer {
4017
- /**
4018
- * Get the background color css string from the background token or background color string
4019
- *
4020
- * @returns {string} css string
4021
- */
4022
- getBackgroundColorStyle() {
4023
- const color = this.calendarEvent.color || 'bg-accent6-primary';
4024
- if (typeGuard.isBackgroundColorTokenType(color)) {
4025
- return `.event-bg-color{${stateBackgroundColorFormatter.stateBackgroundColorFormatter.formatToken(color)}}`;
4026
- }
4027
- else {
4028
- return `.event-bg-color{background-color:${color}}`;
4029
- }
4030
- }
4031
- }
4032
- __decorate$5([
4033
- globalSlimmerRegistry.MapToComponentField()
4034
- ], VegaCalendarEventBgColorController.prototype, "calendarEvent", void 0);
4035
4471
 
4036
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4472
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4037
4473
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4038
4474
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4039
4475
  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;
@@ -4067,14 +4503,14 @@ class VegaCalendarEventSubStateController extends subStateObserverSlimmer.SubSta
4067
4503
  });
4068
4504
  }
4069
4505
  }
4070
- __decorate$4([
4506
+ __decorate$7([
4071
4507
  globalSlimmerRegistry.MapToComponentField({ writable: true })
4072
4508
  ], VegaCalendarEventSubStateController.prototype, "timeFormat", void 0);
4073
- __decorate$4([
4509
+ __decorate$7([
4074
4510
  globalSlimmerRegistry.MapToComponentField({ writable: true })
4075
4511
  ], VegaCalendarEventSubStateController.prototype, "showColorBar", void 0);
4076
4512
 
4077
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4513
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4078
4514
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4079
4515
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4080
4516
  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;
@@ -4106,11 +4542,11 @@ class VegaCalendarTitleMaxHeightController extends globalSlimmerRegistry.VegaSli
4106
4542
  }
4107
4543
  }
4108
4544
  }
4109
- __decorate$3([
4545
+ __decorate$6([
4110
4546
  globalSlimmerRegistry.MapToComponentField()
4111
4547
  ], VegaCalendarTitleMaxHeightController.prototype, "renderer", void 0);
4112
4548
 
4113
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4549
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4114
4550
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4115
4551
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4116
4552
  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;
@@ -4167,28 +4603,28 @@ class VegaCalendarEventSlotController extends globalSlimmerRegistry.VegaSlimmer
4167
4603
  return this.host.classList.contains('calendar-event-in-popover');
4168
4604
  }
4169
4605
  }
4170
- __decorate$2([
4606
+ __decorate$5([
4171
4607
  globalSlimmerRegistry.MapToComponentField()
4172
4608
  ], VegaCalendarEventSlotController.prototype, "host", void 0);
4173
- __decorate$2([
4609
+ __decorate$5([
4174
4610
  globalSlimmerRegistry.MapToComponentField()
4175
4611
  ], VegaCalendarEventSlotController.prototype, "calendarEvent", void 0);
4176
- __decorate$2([
4612
+ __decorate$5([
4177
4613
  globalSlimmerRegistry.MapToComponentField({ writable: true })
4178
4614
  ], VegaCalendarEventSlotController.prototype, "slotMode", void 0);
4179
- __decorate$2([
4615
+ __decorate$5([
4180
4616
  globalSlimmerRegistry.MapToComponentField()
4181
4617
  ], VegaCalendarEventSlotController.prototype, "renderer", void 0);
4182
- __decorate$2([
4618
+ __decorate$5([
4183
4619
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
4184
4620
  ], VegaCalendarEventSlotController.prototype, "findTheCalendarEventSlot", null);
4185
- __decorate$2([
4621
+ __decorate$5([
4186
4622
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
4187
4623
  ], VegaCalendarEventSlotController.prototype, "appendTheRepeatEventSlotToContainer", null);
4188
4624
 
4189
4625
  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%)}";
4190
4626
 
4191
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4627
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4192
4628
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4193
4629
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4194
4630
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4214,7 +4650,6 @@ const VegaCalendarEvent = class {
4214
4650
  });
4215
4651
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
4216
4652
  this.renderer = new VegaCalendarEventRenderer();
4217
- this.colorController = new VegaCalendarEventBgColorController();
4218
4653
  this.slotController = new VegaCalendarEventSlotController();
4219
4654
  this.subStateController = new VegaCalendarEventSubStateController();
4220
4655
  this.titleMaxHeightController = new VegaCalendarTitleMaxHeightController();
@@ -4228,31 +4663,197 @@ const VegaCalendarEvent = class {
4228
4663
  }
4229
4664
  get host() { return index.getElement(this); }
4230
4665
  };
4231
- __decorate$1([
4666
+ __decorate$4([
4232
4667
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
4233
4668
  ], VegaCalendarEvent.prototype, "globalSlimmer", void 0);
4234
- __decorate$1([
4669
+ __decorate$4([
4235
4670
  globalSlimmerRegistry.InjectVegaSlimmer()
4236
4671
  ], VegaCalendarEvent.prototype, "pageResizeObserverSlimmer", void 0);
4237
- __decorate$1([
4672
+ __decorate$4([
4238
4673
  globalSlimmerRegistry.InjectVegaSlimmer()
4239
4674
  ], VegaCalendarEvent.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
4240
- __decorate$1([
4675
+ __decorate$4([
4241
4676
  globalSlimmerRegistry.InjectVegaSlimmer()
4242
4677
  ], VegaCalendarEvent.prototype, "renderer", void 0);
4678
+ __decorate$4([
4679
+ globalSlimmerRegistry.InjectVegaSlimmer()
4680
+ ], VegaCalendarEvent.prototype, "slotController", void 0);
4681
+ __decorate$4([
4682
+ globalSlimmerRegistry.InjectVegaSlimmer()
4683
+ ], VegaCalendarEvent.prototype, "subStateController", void 0);
4684
+ __decorate$4([
4685
+ globalSlimmerRegistry.InjectVegaSlimmer()
4686
+ ], VegaCalendarEvent.prototype, "titleMaxHeightController", void 0);
4687
+ VegaCalendarEvent.style = vegaCalendarEventCss;
4688
+
4689
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4690
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4691
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4692
+ 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;
4693
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4694
+ };
4695
+ /** Control the states of preview event */
4696
+ class VegaCalendarEventPreviewStateController extends globalSlimmerRegistry.VegaSlimmer {
4697
+ /**
4698
+ * connectedCallback
4699
+ */
4700
+ registerEventPreviewUpdateObserver() {
4701
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, vegaInternalEventId.VegaInternalCalendarEventPreviewUpdate, (payload) => {
4702
+ this.previewPayload = payload;
4703
+ this.currentEvent = payload.event;
4704
+ });
4705
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, vegaInternalEventId.VegaInternalCalendarEventPreviewClear, () => {
4706
+ this.currentEvent = null;
4707
+ });
4708
+ }
4709
+ /**
4710
+ * disconnectedCallback
4711
+ */
4712
+ unregisterEventPreviewUpdateObserver() {
4713
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.host, vegaInternalEventId.VegaInternalCalendarEventPreviewUpdate);
4714
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.host, vegaInternalEventId.VegaInternalCalendarEventPreviewClear);
4715
+ }
4716
+ }
4717
+ __decorate$3([
4718
+ globalSlimmerRegistry.MapToComponentField()
4719
+ ], VegaCalendarEventPreviewStateController.prototype, "host", void 0);
4720
+ __decorate$3([
4721
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
4722
+ ], VegaCalendarEventPreviewStateController.prototype, "currentEvent", void 0);
4723
+ __decorate$3([
4724
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
4725
+ ], VegaCalendarEventPreviewStateController.prototype, "previewPayload", void 0);
4726
+ __decorate$3([
4727
+ globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
4728
+ ], VegaCalendarEventPreviewStateController.prototype, "registerEventPreviewUpdateObserver", null);
4729
+ __decorate$3([
4730
+ globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4731
+ ], VegaCalendarEventPreviewStateController.prototype, "unregisterEventPreviewUpdateObserver", null);
4732
+
4733
+ const closeIcon = {
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_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>`,
4735
+ };
4736
+
4737
+ const clockIcon = {
4738
+ 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>`,
4739
+ };
4740
+
4741
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4742
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4743
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4744
+ 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;
4745
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4746
+ };
4747
+ class VegaCalendarEventPreviewDetailRenderer extends globalSlimmerRegistry.VegaSlimmer {
4748
+ render() {
4749
+ return (this.currentEvent && (index.h("vega-box", { class: "event-preview" },
4750
+ this.injectBackgroundColorStyle(),
4751
+ this.renderActions(),
4752
+ index.h("vega-box", { class: "preview-content" },
4753
+ index.h("vega-flex", { gap: "size-16", direction: "col" },
4754
+ this.renderBasicFields(),
4755
+ this.renderDivider(),
4756
+ index.h("slot", { name: "event-preview-additional-fields" }))))));
4757
+ }
4758
+ renderActions() {
4759
+ return (index.h("vega-flex", { justifyContent: "end", class: "preview-actions" },
4760
+ index.h("vega-button-circle", { icon: internalIconManager.VegaInternalIconManager.getIconKey('close'), color: "text-primary", variant: "icon-only",
4761
+ /* eslint-disable-next-line react/jsx-no-bind */
4762
+ onVegaClick: () => {
4763
+ changeManager.ChangeManager.notify(staticSubjectTitle.CALENDAR_EVENT_PREVIEW_POPOVER_HIDE, this.currentEvent);
4764
+ } })));
4765
+ }
4766
+ renderBasicFields() {
4767
+ const currentEvent = this.currentEvent;
4768
+ return (index.h(index.Fragment, null,
4769
+ index.h("vega-flex", { alignItems: "start", gap: "size-16" }, this.renderEventTitle()),
4770
+ index.h("vega-flex", { alignItems: "start", gap: "size-12" },
4771
+ index.h("vega-icon", { icon: internalIconManager.VegaInternalIconManager.getIconKey('clock'), color: "text-secondary" }),
4772
+ index.h("vega-flex", { direction: "col", gap: "size-4" },
4773
+ index.h("vega-font", { variant: "font-footnote1-long", color: "text-primary" }, currentEvent.generateDateTimeString(this.previewPayload.targetCalendarViewDate, this.previewPayload.timeFormat)),
4774
+ currentEvent.isRepeatEvent && (index.h("vega-font", { variant: "font-footnote1-long", color: "text-primary" }, currentEvent.generateRepeatString()))))));
4775
+ }
4776
+ renderEventTitle() {
4777
+ const currentEvent = this.currentEvent;
4778
+ const eventSlotName = getCalendarEventSlotName(currentEvent.event.key);
4779
+ const eventSlot = this.host.querySelector(`[slot=${eventSlotName}]`);
4780
+ return eventSlot ? (index.h("slot", { name: eventSlotName })) : (index.h(index.Fragment, null,
4781
+ index.h("vega-box", { corners: "rounded-full", class: {
4782
+ 'event-bg-color': true,
4783
+ 'event-bg-disabled': currentEvent.disabled,
4784
+ }, flexShrink: 0 },
4785
+ index.h("span", { class: {
4786
+ [`event-color-dot-${currentEvent.variant}`]: true,
4787
+ } })),
4788
+ index.h("vega-font", { variant: "font-h5", color: "text-primary" }, currentEvent.title)));
4789
+ }
4790
+ renderDivider() {
4791
+ const previewSlot = this.host.querySelector('[slot=event-preview-additional-fields]');
4792
+ return (previewSlot && (index.h("vega-box", null,
4793
+ index.h("vega-divider", null))));
4794
+ }
4795
+ injectBackgroundColorStyle() {
4796
+ return index.h("style", null, getEventStatusBgColorStyle(this.currentEvent.color));
4797
+ }
4798
+ }
4799
+ (() => {
4800
+ internalIconManager.VegaInternalIconManager.register({
4801
+ close: closeIcon,
4802
+ clock: clockIcon,
4803
+ });
4804
+ })();
4805
+ __decorate$2([
4806
+ globalSlimmerRegistry.MapToComponentField()
4807
+ ], VegaCalendarEventPreviewDetailRenderer.prototype, "host", void 0);
4808
+ __decorate$2([
4809
+ globalSlimmerRegistry.MapToComponentField()
4810
+ ], VegaCalendarEventPreviewDetailRenderer.prototype, "previewPayload", void 0);
4811
+ __decorate$2([
4812
+ globalSlimmerRegistry.MapToComponentField()
4813
+ ], VegaCalendarEventPreviewDetailRenderer.prototype, "currentEvent", void 0);
4814
+
4815
+ 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}";
4816
+
4817
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4818
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4819
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4820
+ r = Reflect.decorate(decorators, target, key, desc);
4821
+ else
4822
+ for (var i = decorators.length - 1; i >= 0; i--)
4823
+ if (d = decorators[i])
4824
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4825
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4826
+ };
4827
+ const VegaCalendarEventPreview = class {
4828
+ constructor(hostRef) {
4829
+ index.registerInstance(this, hostRef);
4830
+ this.detailRenderer = new VegaCalendarEventPreviewDetailRenderer();
4831
+ this.stateController = new VegaCalendarEventPreviewStateController();
4832
+ this.translationSlimmer = new translationSlimmer.TranslationSlimmer();
4833
+ this.globalSlimmer = {};
4834
+ this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
4835
+ }
4836
+ render() {
4837
+ return component.sanitizeVegaComponent(index.h(index.Host, null, this.previewPayload && this.detailRenderer.render()), this.host);
4838
+ }
4839
+ get host() { return index.getElement(this); }
4840
+ };
4243
4841
  __decorate$1([
4244
4842
  globalSlimmerRegistry.InjectVegaSlimmer()
4245
- ], VegaCalendarEvent.prototype, "colorController", void 0);
4843
+ ], VegaCalendarEventPreview.prototype, "detailRenderer", void 0);
4246
4844
  __decorate$1([
4247
4845
  globalSlimmerRegistry.InjectVegaSlimmer()
4248
- ], VegaCalendarEvent.prototype, "slotController", void 0);
4846
+ ], VegaCalendarEventPreview.prototype, "stateController", void 0);
4249
4847
  __decorate$1([
4250
4848
  globalSlimmerRegistry.InjectVegaSlimmer()
4251
- ], VegaCalendarEvent.prototype, "subStateController", void 0);
4849
+ ], VegaCalendarEventPreview.prototype, "translationSlimmer", void 0);
4850
+ __decorate$1([
4851
+ componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
4852
+ ], VegaCalendarEventPreview.prototype, "globalSlimmer", void 0);
4252
4853
  __decorate$1([
4253
4854
  globalSlimmerRegistry.InjectVegaSlimmer()
4254
- ], VegaCalendarEvent.prototype, "titleMaxHeightController", void 0);
4255
- VegaCalendarEvent.style = vegaCalendarEventCss;
4855
+ ], VegaCalendarEventPreview.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
4856
+ VegaCalendarEventPreview.style = vegaCalendarEventPreviewCss;
4256
4857
 
4257
4858
  const vegaCalendarEventSlotCss = ":host{width:100%;height:100%;position:relative}";
4258
4859
 
@@ -4287,4 +4888,5 @@ VegaCalendarEventSlot.style = vegaCalendarEventSlotCss;
4287
4888
 
4288
4889
  exports.vega_calendar = VegaCalendar;
4289
4890
  exports.vega_calendar_event = VegaCalendarEvent;
4891
+ exports.vega_calendar_event_preview = VegaCalendarEventPreview;
4290
4892
  exports.vega_calendar_event_slot = VegaCalendarEventSlot;