@globalpayments/vega 2.58.0 → 2.59.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (946) hide show
  1. package/dist/cjs/{app-globals-26e2fe1e.js → app-globals-64aff1a9.js} +25 -12
  2. package/dist/cjs/{brand-switch-state-controller-slimmer-5efa1b24.js → brand-switch-state-controller-slimmer-b83a4596.js} +1 -1
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-96240a0e.js → child-nodes-event-prevent-slimmer-5df43771.js} +1 -1
  4. package/dist/cjs/{child-nodes-notify-observer-slimmer-30ba81ac.js → child-nodes-notify-observer-slimmer-34ac3bfc.js} +1 -1
  5. package/dist/cjs/{code-block-7650c868.js → code-block-4bfae76d.js} +2128 -990
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-a6e4e5bc.js → component-value-history-controller-slimmer.abstract-34f4577a.js} +112 -54
  7. package/dist/cjs/content-state-b82b74de.js +3692 -0
  8. package/dist/cjs/{dark-mode-state-controller-slimmer-add5d8a8.js → dark-mode-state-controller-slimmer-17022f93.js} +1 -1
  9. package/dist/cjs/{dark-mode-style-controller-f9a32d68.js → dark-mode-style-controller-ab0703e1.js} +1 -1
  10. package/dist/cjs/{deprecated-property-slimmer-4f15005f.js → deprecated-property-slimmer-1eb8f031.js} +1 -1
  11. package/dist/cjs/{design-token-e771bb16.js → design-token-0b1315f2.js} +1 -1
  12. package/dist/cjs/{dom-node-subject-factory-769dd00f.js → dom-node-subject-factory-bad99695.js} +1 -1
  13. package/dist/cjs/{dom-node-subject-observer-factory-5aa4cc83.js → dom-node-subject-observer-factory-df6e6df0.js} +1 -1
  14. package/dist/cjs/{element-appender-slimmer-7f98d16b.js → element-appender-slimmer-f14737af.js} +7 -7
  15. package/dist/cjs/{event-emit-slimmer-6154c759.js → event-emit-slimmer-efc70b94.js} +3 -3
  16. package/dist/cjs/{form-field-controller-slimmer-7bb7df10.js → form-field-controller-slimmer-772d1892.js} +24 -24
  17. package/dist/cjs/{image-annotation-action-6715d6f3.js → image-annotation-action-a3146135.js} +130 -29
  18. package/dist/cjs/{index-7700600c.js → index-00ba6623.js} +23 -4
  19. package/dist/cjs/{index-ee4bc191.js → index-10199ee8.js} +2 -2
  20. package/dist/cjs/index.cjs.js +23 -23
  21. package/dist/cjs/{inject-keyboard-manager-f1f781b7.js → inject-keyboard-manager-70382bae.js} +1 -1
  22. package/dist/cjs/{internal-vega-event-manager-e98944ac.js → internal-vega-event-manager-83065493.js} +1 -1
  23. package/dist/cjs/{keyboard-manager-0be55fb9.js → keyboard-manager-6858915b.js} +1 -1
  24. package/dist/cjs/{keyboard-manager-slimmer-92c7227b.js → keyboard-manager-slimmer-faca2038.js} +1 -1
  25. package/dist/cjs/loader.cjs.js +16 -14
  26. package/dist/cjs/{object-bbd4ed7f.js → object-e2e28e3d.js} +13 -0
  27. package/dist/cjs/{public-rules-036795a4.js → public-rules-26467413.js} +11 -9
  28. package/dist/cjs/{responsive-format-facade-d164ced7.js → responsive-format-facade-d2e03695.js} +4 -4
  29. package/dist/cjs/{rich-text-editor-required-rule-91eb0e22.js → rich-text-editor-required-rule-026c8c3f.js} +1 -1
  30. package/dist/cjs/{static-subject-title-7e7d791a.js → static-subject-title-85732e0f.js} +2 -0
  31. package/dist/cjs/string-39438062.js +24 -0
  32. package/dist/cjs/{string-input-formatter-slimmer-dc1747ad.js → string-input-formatter-slimmer-1b757bad.js} +3 -3
  33. package/dist/cjs/{style-formatter-3e7af35b.js → style-formatter-effb0730.js} +1 -1
  34. package/dist/cjs/{sub-state-notify-slimmer-409bbd1a.js → sub-state-notify-slimmer-943eb7cc.js} +2 -2
  35. package/dist/cjs/{sub-state-observer-slimmer-93d0a609.js → sub-state-observer-slimmer-0788232a.js} +3 -3
  36. package/dist/cjs/{translation-de7e351e.js → translation-cde4dce3.js} +31 -1
  37. package/dist/cjs/{translation-slimmer-83bdb9fe.js → translation-slimmer-af399096.js} +1 -1
  38. package/dist/cjs/{ui-6c069604.js → ui-4ce1fa08.js} +10 -0
  39. package/dist/cjs/vega-accordion.cjs.entry.js +17 -15
  40. package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
  41. package/dist/cjs/vega-app-header-button.cjs.entry.js +18 -16
  42. package/dist/cjs/vega-backdrop.cjs.entry.js +2 -2
  43. package/dist/cjs/vega-banner.cjs.entry.js +6 -6
  44. package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
  45. package/dist/cjs/vega-box.cjs.entry.js +16 -14
  46. package/dist/cjs/vega-brand-logo.cjs.entry.js +4 -4
  47. package/dist/cjs/vega-breadcrumb.cjs.entry.js +7 -7
  48. package/dist/cjs/vega-button-circle.cjs.entry.js +18 -16
  49. package/dist/cjs/vega-button-group_2.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-button-link.cjs.entry.js +7 -7
  51. package/dist/cjs/vega-button.cjs.entry.js +17 -15
  52. package/dist/cjs/{vega-calendar_3.cjs.entry.js → vega-calendar_4.cjs.entry.js} +1615 -1096
  53. package/dist/cjs/vega-card.cjs.entry.js +15 -13
  54. package/dist/cjs/vega-carousel.cjs.entry.js +17 -16
  55. package/dist/cjs/vega-checkbox_2.cjs.entry.js +14 -14
  56. package/dist/cjs/vega-chip.cjs.entry.js +18 -16
  57. package/dist/cjs/vega-code-block.cjs.entry.js +22 -22
  58. package/dist/cjs/vega-color-picker.cjs.entry.js +12 -12
  59. package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
  60. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  61. package/dist/cjs/vega-date-picker_2.cjs.entry.js +25 -24
  62. package/dist/cjs/vega-dialog_2.cjs.entry.js +19 -18
  63. package/dist/cjs/vega-divider.cjs.entry.js +15 -13
  64. package/dist/cjs/vega-dropdown_5.cjs.entry.js +37 -26
  65. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  66. package/dist/cjs/vega-field-error.cjs.entry.js +3 -2
  67. package/dist/cjs/vega-field-label.cjs.entry.js +6 -6
  68. package/dist/cjs/vega-file-uploader.cjs.entry.js +13 -13
  69. package/dist/cjs/vega-flag-icon.cjs.entry.js +15 -13
  70. package/dist/cjs/vega-flex.cjs.entry.js +16 -14
  71. package/dist/cjs/vega-font.cjs.entry.js +15 -13
  72. package/dist/cjs/vega-form.cjs.entry.js +108 -18
  73. package/dist/cjs/vega-grid.cjs.entry.js +15 -13
  74. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  75. package/dist/cjs/vega-icon.cjs.entry.js +15 -13
  76. package/dist/cjs/vega-image-uploader.cjs.entry.js +21 -20
  77. package/dist/cjs/vega-input-credit-card.cjs.entry.js +13 -13
  78. package/dist/cjs/vega-input-numeric.cjs.entry.js +16 -16
  79. package/dist/cjs/vega-input-phone-number.cjs.entry.js +18 -17
  80. package/dist/cjs/vega-input-range.cjs.entry.js +14 -14
  81. package/dist/cjs/vega-input-select.cjs.entry.js +20 -19
  82. package/dist/cjs/vega-input.cjs.entry.js +15 -15
  83. package/dist/cjs/{vega-internal-event-id-bda08efa.js → vega-internal-event-id-ae6e2c13.js} +7 -1
  84. package/dist/cjs/vega-item-toggle.cjs.entry.js +8 -8
  85. package/dist/cjs/vega-left-nav_5.cjs.entry.js +21 -20
  86. package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
  87. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +14 -12
  88. package/dist/cjs/vega-page-notification_2.cjs.entry.js +4 -4
  89. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +7 -7
  90. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +8 -8
  91. package/dist/cjs/vega-pagination.cjs.entry.js +18 -16
  92. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  93. package/dist/cjs/vega-popover_2.cjs.entry.js +43 -20
  94. package/dist/cjs/vega-progress-tracker.cjs.entry.js +8 -8
  95. package/dist/cjs/vega-radio_2.cjs.entry.js +16 -16
  96. package/dist/cjs/vega-rich-text-content.cjs.entry.js +273 -175
  97. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +709 -1496
  98. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  99. package/dist/cjs/vega-segment-control.cjs.entry.js +6 -6
  100. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +20 -19
  101. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +15 -15
  102. package/dist/cjs/vega-sidenav_3.cjs.entry.js +18 -16
  103. package/dist/cjs/vega-signature-capture.cjs.entry.js +20 -20
  104. package/dist/cjs/{vega-skeleton-loader-controller-d534f5a1.js → vega-skeleton-loader-controller-b1971f43.js} +3 -3
  105. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  106. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  107. package/dist/cjs/vega-stepper.cjs.entry.js +13 -13
  108. package/dist/cjs/vega-tab-group_2.cjs.entry.js +8 -8
  109. package/dist/cjs/vega-table_8.cjs.entry.js +20 -19
  110. package/dist/cjs/vega-text.cjs.entry.js +2 -2
  111. package/dist/cjs/vega-textarea.cjs.entry.js +13 -13
  112. package/dist/cjs/vega-time-picker_2.cjs.entry.js +23 -22
  113. package/dist/cjs/vega-toggle-switch.cjs.entry.js +12 -12
  114. package/dist/cjs/vega-tooltip_2.cjs.entry.js +19 -18
  115. package/dist/cjs/vega.cjs.js +16 -14
  116. package/dist/collection/collection-manifest.json +8 -6
  117. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +3 -0
  118. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.js +83 -0
  119. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.js +15 -2
  120. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.js +16 -0
  121. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.js +12 -0
  122. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.js +12 -0
  123. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +14 -0
  124. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.js +13 -0
  125. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +53 -2
  126. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +68 -0
  127. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.js +5 -2
  128. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.js +10 -1
  129. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +3 -4
  130. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.js +3 -3
  131. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.js +5 -2
  132. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.js +1 -1
  133. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +61 -23
  134. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +1 -2
  135. package/dist/collection/components/vega-calendar/utils/index.js +16 -10
  136. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +5 -32
  137. package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.js +0 -5
  138. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/assets/clock.js +3 -0
  139. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/assets/close.js +3 -0
  140. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/controllers/vega-calendar-event-preview-state-controller.js +46 -0
  141. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +81 -0
  142. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.css +86 -0
  143. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.js +56 -0
  144. package/dist/collection/components/vega-calendar/vega-calendar.css +10 -0
  145. package/dist/collection/components/vega-calendar/vega-calendar.js +37 -0
  146. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +12 -3
  147. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +0 -1
  148. package/dist/collection/components/vega-field-error/slimmers/controllers/vega-field-error-message-controller.js +1 -0
  149. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.js +80 -0
  150. package/dist/collection/components/vega-form/vega-form.js +47 -0
  151. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +4 -1
  152. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.css +2521 -1
  153. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.js +42 -1
  154. package/dist/collection/components/vega-popover/vega-popover.js +36 -0
  155. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +3 -15
  156. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +81 -16
  157. package/dist/collection/components/vega-rich-text-editor/assets/display-code.js +3 -0
  158. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +6 -5
  159. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +90 -26
  160. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.js +15 -0
  161. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.js +15 -0
  162. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-link-group-strategy.js +18 -4
  163. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +1 -0
  164. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-split-text-strategy.js +6 -1
  165. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +15 -1
  166. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/{block-append-blocks-strategy.js → append-children-strategy.js} +3 -2
  167. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/{block-delete-text-content-strategy.js → block-delete-text-or-decorator-node-strategy.js} +60 -12
  168. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-image-into-text-strategy.js +7 -7
  169. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-with-blocks-strategy.js +2 -2
  170. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.js +38 -30
  171. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-merge-nodes-strategy.js +4 -4
  172. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-nodes-strategy.js +2 -2
  173. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-image-node-strategy.js +4 -4
  174. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.js +2 -2
  175. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.js +4 -4
  176. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +6 -6
  177. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-unlink-link-group-strategy.js +24 -0
  178. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.js +2 -2
  179. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +4 -4
  180. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-link-group-strategy.js +34 -0
  181. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-block-insert-image-strategy.js +9 -9
  182. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-strategy.js +2 -2
  183. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-with-blocks-strategy.js +6 -6
  184. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-after-strategy.js +15 -0
  185. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-before-strategy.js +38 -0
  186. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-text-to-decorator-node-strategy.js +37 -0
  187. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/link-group-node-split-strategy.js +31 -0
  188. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-insert-image-strategy.js +2 -2
  189. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.js +15 -15
  190. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +5 -5
  191. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +10 -10
  192. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +13 -13
  193. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/node-update-text-strategy.js +2 -2
  194. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/remove-children-strategy.js +26 -0
  195. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.js +2 -2
  196. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.js +23 -0
  197. package/dist/collection/components/vega-rich-text-editor/dto/actions/append-child-nodes-action.js +7 -3
  198. package/dist/collection/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.js +20 -0
  199. package/dist/collection/components/vega-rich-text-editor/dto/actions/delete-link-group-action.js +10 -0
  200. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-children-after-block.js +14 -0
  201. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-children-before-block.js +14 -0
  202. package/dist/collection/components/vega-rich-text-editor/dto/actions/{break-single-block-action.js → insert-new-paragraph-action.js} +3 -3
  203. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-text-to-decorator-node-action.js +17 -0
  204. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-annotation-action.js +2 -1
  205. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-group-annotation-action.js +2 -1
  206. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-group-node-split-action.js +11 -0
  207. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +10 -7
  208. package/dist/collection/components/vega-rich-text-editor/dto/actions/remove-child-action.js +4 -5
  209. package/dist/collection/components/vega-rich-text-editor/dto/actions/unlink-link-group-action.js +11 -0
  210. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +20 -0
  211. package/dist/collection/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.js +2 -0
  212. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +13 -5
  213. package/dist/collection/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.js +2 -0
  214. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +21 -14
  215. package/dist/collection/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.js +12 -0
  216. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.js +80 -0
  217. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.js +54 -0
  218. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +67 -0
  219. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +26 -10
  220. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +17 -8
  221. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +8 -2
  222. package/dist/collection/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.js +68 -0
  223. package/dist/collection/components/vega-rich-text-editor/dto/annotations/internal-wrapper-annotation.js +41 -0
  224. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +13 -5
  225. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +16 -11
  226. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +92 -0
  227. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +41 -0
  228. package/dist/collection/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.js +2 -0
  229. package/dist/collection/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.js +42 -0
  230. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +9 -9
  231. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +3 -7
  232. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +74 -12
  233. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +9 -9
  234. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +116 -4
  235. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +10 -2
  236. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +78 -0
  237. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +17 -21
  238. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +66 -12
  239. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +20 -18
  240. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +116 -37
  241. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +70 -33
  242. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +9 -2
  243. package/dist/collection/components/vega-rich-text-editor/dto/nodes/decorator-node.js +58 -0
  244. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +45 -19
  245. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +145 -0
  246. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +163 -21
  247. package/dist/collection/components/vega-rich-text-editor/dto/range.js +22 -33
  248. package/dist/collection/components/vega-rich-text-editor/dto/renderers/base-renderer.js +5 -0
  249. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +7 -23
  250. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +15 -93
  251. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js +0 -9
  252. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/html-block-renderer.js +12 -0
  253. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -5
  254. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +125 -0
  255. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +2 -6
  256. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  257. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +2 -27
  258. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +70 -7
  259. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +2 -28
  260. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +19 -5
  261. package/dist/collection/components/vega-rich-text-editor/dto/renderers/renderer-factory.js +47 -0
  262. package/dist/collection/components/vega-rich-text-editor/dto/setup.js +69 -0
  263. package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +83 -0
  264. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +5 -0
  265. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +53 -29
  266. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/focus-controller.js +13 -5
  267. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/annotation-generator-strategy.abstract.js +5 -0
  268. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/bold-annotaion-handler.js +33 -0
  269. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/code-annotation-handler.js +33 -0
  270. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/color-annotation-handler.js +49 -0
  271. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-attribute-annotation-handler.js +48 -0
  272. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-class-annotation-handler.js +36 -0
  273. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.js +48 -0
  274. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.js +66 -0
  275. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-alt-annotation-handler.js +19 -0
  276. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-size-annotation-handler.js +32 -0
  277. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/indent-annotation-handler.js +53 -0
  278. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.js +99 -0
  279. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/italic-annotation-handler.js +32 -0
  280. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.js +53 -0
  281. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/strike-through-annotation-handler.js +34 -0
  282. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-align-annotation-handler.js +57 -0
  283. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +120 -0
  284. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/underline-annotation-handler.js +32 -0
  285. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +38 -232
  286. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +34 -19
  287. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +19 -33
  288. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +4 -3
  289. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.js +33 -0
  290. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-text-node-strategy.js +33 -0
  291. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.js +99 -0
  292. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.js +5 -21
  293. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.js +8 -48
  294. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.js +46 -0
  295. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +59 -10
  296. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.js +8 -5
  297. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/plain-text-to-text-node-strategy.js +35 -0
  298. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.js +5 -21
  299. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.js +11 -6
  300. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.js +8 -5
  301. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.js +9 -9
  302. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +2 -2
  303. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.js +8 -22
  304. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +2 -2
  305. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +13 -15
  306. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-text-handler.js +36 -28
  307. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +6 -3
  308. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-image-controller.js +3 -3
  309. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +75 -5
  310. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.js +39 -4
  311. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +11 -0
  312. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +41 -5
  313. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +2 -2
  314. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -2
  315. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +2 -2
  316. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +2 -2
  317. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +2 -2
  318. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +2 -2
  319. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +2 -2
  320. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.js +2 -2
  321. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -2
  322. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.js +2 -2
  323. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.js +2 -2
  324. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.js +2 -2
  325. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -2
  326. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +2 -2
  327. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +2 -2
  328. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +3 -2
  329. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +2 -2
  330. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +64 -0
  331. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +2 -2
  332. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +2 -2
  333. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +5 -4
  334. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +10 -3
  335. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +2 -2
  336. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +37 -0
  337. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +41 -3
  338. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.js +2 -3
  339. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +8 -9
  340. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +15 -13
  341. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.js +8 -8
  342. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-item-strategy-register.test.js +12 -12
  343. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.js +3 -2
  344. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-update-annotation-map-strategy.test.js +2 -2
  345. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +34 -12
  346. package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-actions.test.js +1 -0
  347. package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +258 -28
  348. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +124 -0
  349. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/image-block.test.js +10 -0
  350. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/text-block.test.js +59 -0
  351. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +2613 -0
  352. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +29 -0
  353. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +103 -4
  354. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/custom-attribute-annotation-handler.test.js +49 -0
  355. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/element-to-text-node-strategy.test.js +38 -0
  356. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/html-element-to-annotation-generator.test.js +26 -0
  357. package/dist/collection/components/vega-rich-text-editor/test/spec-utils.js +32 -0
  358. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +6 -2
  359. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.css +3 -0
  360. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +27 -0
  361. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.css +7 -32
  362. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +67 -2
  363. package/dist/collection/constants/ui.js +1 -0
  364. package/dist/collection/helpers/calendar/calendar-date.js +12 -0
  365. package/dist/collection/helpers/calendar/calendar-event.js +24 -0
  366. package/dist/collection/helpers/calendar/test/calendar-date.test.js +4 -0
  367. package/dist/collection/helpers/calendar/test/calendar-event.test.js +57 -0
  368. package/dist/collection/helpers/calendar/utils.js +38 -0
  369. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +1 -0
  370. package/dist/collection/helpers/code-format/code-formatter.js +116 -0
  371. package/dist/collection/helpers/code-format/test/code-formatter.test.js +362 -0
  372. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +4 -1
  373. package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +37 -0
  374. package/dist/collection/helpers/rte-manager/dto-class-manager.js +51 -0
  375. package/dist/collection/helpers/rte-manager/dto-renderer-manager.js +54 -0
  376. package/dist/collection/helpers/rte-manager/element-dto-class-strategy-manager.js +56 -0
  377. package/dist/collection/helpers/rte-manager/rte.manager.test.js +94 -0
  378. package/dist/collection/helpers/slimmers/field-error-controller-silmmer.js +4 -6
  379. package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +12 -10
  380. package/dist/collection/helpers/slimmers/global/vega-translate-observer-slimmer.js +17 -4
  381. package/dist/collection/helpers/slimmers/test/field-error-controller-slimmer.test.js +1 -0
  382. package/dist/collection/helpers/slimmers/test/global/vega-translate-observer-slimmer.test.js +89 -0
  383. package/dist/collection/helpers/translation/locales/en.js +30 -0
  384. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +30 -0
  385. package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +16 -14
  386. package/dist/collection/polyfill/shadow-selection/test/shadow-selection-polyfill.test.js +1 -0
  387. package/dist/collection/polyfill/test-polyfill/unit/methods.js +9 -0
  388. package/dist/collection/utils/object.js +12 -0
  389. package/dist/collection/utils/string.js +10 -0
  390. package/dist/collection/utils/test/object.test.js +27 -1
  391. package/dist/collection/utils/ui.js +9 -0
  392. package/dist/esm/{app-globals-ee6a1250.js → app-globals-05dbca3e.js} +25 -12
  393. package/dist/esm/{brand-switch-state-controller-slimmer-05c85e6d.js → brand-switch-state-controller-slimmer-d6e4d217.js} +1 -1
  394. package/dist/esm/{child-nodes-event-prevent-slimmer-b59a578e.js → child-nodes-event-prevent-slimmer-6b5b31f5.js} +1 -1
  395. package/dist/esm/{child-nodes-notify-observer-slimmer-eeed5986.js → child-nodes-notify-observer-slimmer-78f77c2c.js} +1 -1
  396. package/dist/esm/{code-block-7bd4cb87.js → code-block-3d519665.js} +2107 -970
  397. package/dist/esm/{component-value-history-controller-slimmer.abstract-41c58caf.js → component-value-history-controller-slimmer.abstract-8b5be007.js} +112 -54
  398. package/dist/esm/content-state-73900a67.js +3682 -0
  399. package/dist/esm/{dark-mode-state-controller-slimmer-f1c2c299.js → dark-mode-state-controller-slimmer-0c7d1c77.js} +1 -1
  400. package/dist/esm/{dark-mode-style-controller-ea798fc8.js → dark-mode-style-controller-3bbb32dc.js} +1 -1
  401. package/dist/esm/{deprecated-property-slimmer-32575f02.js → deprecated-property-slimmer-2c14df89.js} +1 -1
  402. package/dist/esm/{design-token-23522f5c.js → design-token-dbc8c235.js} +1 -1
  403. package/dist/esm/{dom-node-subject-factory-6374611f.js → dom-node-subject-factory-202655e7.js} +1 -1
  404. package/dist/esm/{dom-node-subject-observer-factory-c345ca2e.js → dom-node-subject-observer-factory-999e21e3.js} +1 -1
  405. package/dist/esm/{element-appender-slimmer-042df95a.js → element-appender-slimmer-6ad38a9b.js} +7 -7
  406. package/dist/esm/{event-emit-slimmer-b5cb9b81.js → event-emit-slimmer-40973ec2.js} +3 -3
  407. package/dist/esm/{form-field-controller-slimmer-f0982f11.js → form-field-controller-slimmer-47820eaa.js} +24 -24
  408. package/dist/esm/{image-annotation-action-1e88f5a0.js → image-annotation-action-4ebed11f.js} +128 -29
  409. package/dist/esm/{index-d0a47531.js → index-057d0f70.js} +23 -4
  410. package/dist/esm/{index-fb3b74bd.js → index-18a340fb.js} +2 -2
  411. package/dist/esm/index.js +16 -16
  412. package/dist/esm/{inject-keyboard-manager-5141d09a.js → inject-keyboard-manager-a28dfee4.js} +1 -1
  413. package/dist/esm/{internal-vega-event-manager-d80c53c5.js → internal-vega-event-manager-526f8ed1.js} +1 -1
  414. package/dist/esm/{keyboard-manager-3ffe81b0.js → keyboard-manager-fa6355cb.js} +1 -1
  415. package/dist/esm/{keyboard-manager-slimmer-751e98f5.js → keyboard-manager-slimmer-818050ee.js} +1 -1
  416. package/dist/esm/loader.js +16 -14
  417. package/dist/esm/{object-261e7344.js → object-66c37948.js} +13 -1
  418. package/dist/esm/{public-rules-287d4d77.js → public-rules-f28aca10.js} +11 -9
  419. package/dist/esm/{responsive-format-facade-d2632288.js → responsive-format-facade-81b72f39.js} +4 -4
  420. package/dist/esm/{rich-text-editor-required-rule-69d5f035.js → rich-text-editor-required-rule-c4ba68b8.js} +1 -1
  421. package/dist/esm/{static-subject-title-ca83d6b6.js → static-subject-title-633b3474.js} +2 -1
  422. package/dist/esm/string-a953eafc.js +21 -0
  423. package/dist/esm/{string-input-formatter-slimmer-09478e0d.js → string-input-formatter-slimmer-b144e8d7.js} +3 -3
  424. package/dist/esm/{style-formatter-f7951677.js → style-formatter-7d817448.js} +1 -1
  425. package/dist/esm/{sub-state-notify-slimmer-0a6c3cbb.js → sub-state-notify-slimmer-b3524c09.js} +2 -2
  426. package/dist/esm/{sub-state-observer-slimmer-53eec5fb.js → sub-state-observer-slimmer-c823d69c.js} +3 -3
  427. package/dist/esm/{translation-a6eacb5f.js → translation-833d9ef4.js} +31 -1
  428. package/dist/esm/{translation-slimmer-f28e4708.js → translation-slimmer-c83b52c1.js} +1 -1
  429. package/dist/esm/{ui-7d177fb0.js → ui-c20be16d.js} +10 -1
  430. package/dist/esm/vega-accordion.entry.js +17 -15
  431. package/dist/esm/vega-app-footer.entry.js +4 -4
  432. package/dist/esm/vega-app-header-button.entry.js +18 -16
  433. package/dist/esm/vega-backdrop.entry.js +2 -2
  434. package/dist/esm/vega-banner.entry.js +6 -6
  435. package/dist/esm/vega-bar-chart.entry.js +1 -1
  436. package/dist/esm/vega-box.entry.js +16 -14
  437. package/dist/esm/vega-brand-logo.entry.js +4 -4
  438. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  439. package/dist/esm/vega-button-circle.entry.js +18 -16
  440. package/dist/esm/vega-button-group_2.entry.js +10 -10
  441. package/dist/esm/vega-button-link.entry.js +7 -7
  442. package/dist/esm/vega-button.entry.js +17 -15
  443. package/dist/esm/{vega-calendar_3.entry.js → vega-calendar_4.entry.js} +1615 -1097
  444. package/dist/esm/vega-card.entry.js +15 -13
  445. package/dist/esm/vega-carousel.entry.js +17 -16
  446. package/dist/esm/vega-checkbox_2.entry.js +14 -14
  447. package/dist/esm/vega-chip.entry.js +18 -16
  448. package/dist/esm/vega-code-block.entry.js +19 -19
  449. package/dist/esm/vega-color-picker.entry.js +12 -12
  450. package/dist/esm/vega-combo-box.entry.js +15 -15
  451. package/dist/esm/vega-counter-badge.entry.js +1 -1
  452. package/dist/esm/vega-date-picker_2.entry.js +25 -24
  453. package/dist/esm/vega-dialog_2.entry.js +19 -18
  454. package/dist/esm/vega-divider.entry.js +15 -13
  455. package/dist/esm/vega-dropdown_5.entry.js +37 -26
  456. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  457. package/dist/esm/vega-field-error.entry.js +3 -2
  458. package/dist/esm/vega-field-label.entry.js +6 -6
  459. package/dist/esm/vega-file-uploader.entry.js +13 -13
  460. package/dist/esm/vega-flag-icon.entry.js +15 -13
  461. package/dist/esm/vega-flex.entry.js +16 -14
  462. package/dist/esm/vega-font.entry.js +15 -13
  463. package/dist/esm/vega-form.entry.js +109 -19
  464. package/dist/esm/vega-grid.entry.js +15 -13
  465. package/dist/esm/vega-hint.entry.js +1 -1
  466. package/dist/esm/vega-icon.entry.js +15 -13
  467. package/dist/esm/vega-image-uploader.entry.js +21 -20
  468. package/dist/esm/vega-input-credit-card.entry.js +13 -13
  469. package/dist/esm/vega-input-numeric.entry.js +16 -16
  470. package/dist/esm/vega-input-phone-number.entry.js +18 -17
  471. package/dist/esm/vega-input-range.entry.js +14 -14
  472. package/dist/esm/vega-input-select.entry.js +20 -19
  473. package/dist/esm/vega-input.entry.js +15 -15
  474. package/dist/esm/{vega-internal-event-id-4072659b.js → vega-internal-event-id-b7c865de.js} +5 -2
  475. package/dist/esm/vega-item-toggle.entry.js +8 -8
  476. package/dist/esm/vega-left-nav_5.entry.js +21 -20
  477. package/dist/esm/vega-line-chart.entry.js +1 -1
  478. package/dist/esm/vega-loader-wrapper_2.entry.js +14 -12
  479. package/dist/esm/vega-page-notification_2.entry.js +4 -4
  480. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +7 -7
  481. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +8 -8
  482. package/dist/esm/vega-pagination.entry.js +18 -16
  483. package/dist/esm/vega-pie-chart.entry.js +1 -1
  484. package/dist/esm/vega-popover_2.entry.js +43 -20
  485. package/dist/esm/vega-progress-tracker.entry.js +8 -8
  486. package/dist/esm/vega-radio_2.entry.js +16 -16
  487. package/dist/esm/vega-rich-text-content.entry.js +273 -175
  488. package/dist/esm/vega-rich-text-editor_4.entry.js +693 -1480
  489. package/dist/esm/vega-section-title.entry.js +1 -1
  490. package/dist/esm/vega-segment-control.entry.js +6 -6
  491. package/dist/esm/vega-selection-chip_2.entry.js +20 -19
  492. package/dist/esm/vega-selection-tile_2.entry.js +15 -15
  493. package/dist/esm/vega-sidenav_3.entry.js +18 -16
  494. package/dist/esm/vega-signature-capture.entry.js +20 -20
  495. package/dist/esm/{vega-skeleton-loader-controller-3f6faa17.js → vega-skeleton-loader-controller-38864fcd.js} +3 -3
  496. package/dist/esm/vega-skeleton.entry.js +1 -1
  497. package/dist/esm/vega-slot-container.entry.js +1 -1
  498. package/dist/esm/vega-stepper.entry.js +13 -13
  499. package/dist/esm/vega-tab-group_2.entry.js +8 -8
  500. package/dist/esm/vega-table_8.entry.js +20 -19
  501. package/dist/esm/vega-text.entry.js +2 -2
  502. package/dist/esm/vega-textarea.entry.js +13 -13
  503. package/dist/esm/vega-time-picker_2.entry.js +23 -22
  504. package/dist/esm/vega-toggle-switch.entry.js +12 -12
  505. package/dist/esm/vega-tooltip_2.entry.js +19 -18
  506. package/dist/esm/vega.js +16 -14
  507. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +1 -0
  508. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +48 -0
  509. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +10 -0
  510. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.d.ts +8 -0
  511. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.d.ts +6 -0
  512. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.d.ts +6 -0
  513. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.d.ts +6 -0
  514. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.d.ts +6 -0
  515. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +8 -1
  516. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +18 -0
  517. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.d.ts +3 -1
  518. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.d.ts +3 -0
  519. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.d.ts +3 -1
  520. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +6 -1
  521. package/dist/types/components/vega-calendar/utils/index.d.ts +9 -8
  522. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.d.ts +0 -8
  523. package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +0 -2
  524. package/dist/types/components/vega-calendar/vega-calendar-event-preview/assets/clock.d.ts +3 -0
  525. package/dist/types/components/vega-calendar/vega-calendar-event-preview/assets/close.d.ts +3 -0
  526. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/controllers/vega-calendar-event-preview-state-controller.d.ts +16 -0
  527. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +13 -0
  528. package/dist/types/components/vega-calendar/vega-calendar-event-preview/types.d.ts +5 -0
  529. package/dist/types/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.d.ts +22 -0
  530. package/dist/types/components/vega-calendar/vega-calendar.d.ts +10 -0
  531. package/dist/types/components/vega-field-error/types.d.ts +2 -1
  532. package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.d.ts +29 -0
  533. package/dist/types/components/vega-form/types.d.ts +18 -0
  534. package/dist/types/components/vega-form/vega-form.d.ts +11 -1
  535. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +1 -0
  536. package/dist/types/components/vega-popover/vega-popover-content-box/vega-popover-content-box.d.ts +7 -0
  537. package/dist/types/components/vega-popover/vega-popover.d.ts +7 -1
  538. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +0 -2
  539. package/dist/types/components/vega-rich-text-editor/assets/display-code.d.ts +3 -0
  540. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +1 -0
  541. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +4 -4
  542. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +55 -27
  543. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.d.ts +15 -0
  544. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.d.ts +15 -0
  545. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/append-children-strategy.d.ts +13 -0
  546. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +4 -4
  547. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.d.ts +26 -0
  548. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.d.ts +11 -12
  549. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-unlink-link-group-strategy.d.ts +15 -0
  550. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.d.ts +2 -2
  551. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-link-group-strategy.d.ts +15 -0
  552. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-after-strategy.d.ts +13 -0
  553. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-before-strategy.d.ts +23 -0
  554. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-text-to-decorator-node-strategy.d.ts +18 -0
  555. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/link-group-node-split-strategy.d.ts +15 -0
  556. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.d.ts +3 -3
  557. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +5 -5
  558. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/remove-children-strategy.d.ts +17 -0
  559. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.d.ts +12 -0
  560. package/dist/types/components/vega-rich-text-editor/dto/actions/append-child-nodes-action.d.ts +6 -2
  561. package/dist/types/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.d.ts +17 -0
  562. package/dist/types/components/vega-rich-text-editor/dto/actions/delete-link-group-action.d.ts +7 -0
  563. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-children-after-block.d.ts +14 -0
  564. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-children-before-block.d.ts +14 -0
  565. package/dist/types/components/vega-rich-text-editor/dto/actions/{break-single-block-action.d.ts → insert-new-paragraph-action.d.ts} +2 -2
  566. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-text-to-decorator-node-action.d.ts +14 -0
  567. package/dist/types/components/vega-rich-text-editor/dto/actions/link-annotation-action.d.ts +3 -1
  568. package/dist/types/components/vega-rich-text-editor/dto/actions/link-group-annotation-action.d.ts +2 -1
  569. package/dist/types/components/vega-rich-text-editor/dto/actions/link-group-node-split-action.d.ts +10 -0
  570. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +12 -9
  571. package/dist/types/components/vega-rich-text-editor/dto/actions/remove-child-action.d.ts +3 -4
  572. package/dist/types/components/vega-rich-text-editor/dto/actions/unlink-link-group-action.d.ts +9 -0
  573. package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +20 -0
  574. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation.abstract.d.ts +2 -1
  575. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +18 -4
  576. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +7 -5
  577. package/dist/types/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.d.ts +2 -1
  578. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +9 -11
  579. package/dist/types/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.d.ts +20 -0
  580. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +44 -0
  581. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.d.ts +40 -0
  582. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.d.ts +48 -0
  583. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +5 -9
  584. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +10 -8
  585. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +5 -1
  586. package/dist/types/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.d.ts +37 -0
  587. package/dist/types/components/vega-rich-text-editor/dto/annotations/internal-wrapper-annotation.d.ts +31 -0
  588. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +7 -5
  589. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +10 -6
  590. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +49 -0
  591. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +25 -0
  592. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +18 -4
  593. package/dist/types/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.d.ts +31 -0
  594. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +5 -9
  595. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +3 -7
  596. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +9 -7
  597. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +5 -9
  598. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +70 -9
  599. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +7 -2
  600. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +42 -0
  601. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +10 -4
  602. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +33 -6
  603. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +9 -5
  604. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +29 -14
  605. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +20 -3
  606. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +7 -2
  607. package/dist/types/components/vega-rich-text-editor/dto/nodes/decorator-node.d.ts +41 -0
  608. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +10 -4
  609. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +116 -5
  610. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +59 -4
  611. package/dist/types/components/vega-rich-text-editor/dto/range.d.ts +0 -7
  612. package/dist/types/components/vega-rich-text-editor/dto/renderers/base-renderer.d.ts +9 -0
  613. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +7 -20
  614. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +9 -6
  615. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.d.ts +0 -8
  616. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/html-block-renderer.d.ts +8 -0
  617. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.d.ts +0 -2
  618. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +24 -0
  619. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +0 -2
  620. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +0 -3
  621. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +37 -0
  622. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +3 -16
  623. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +2 -0
  624. package/dist/types/components/vega-rich-text-editor/dto/renderers/renderer-factory.d.ts +24 -0
  625. package/dist/types/components/vega-rich-text-editor/dto/setup.d.ts +1 -0
  626. package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +61 -0
  627. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +13 -0
  628. package/dist/types/components/vega-rich-text-editor/interface.d.ts +172 -42
  629. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.d.ts +19 -0
  630. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/focus-controller.d.ts +1 -0
  631. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/annotation-generator-strategy.abstract.d.ts +16 -0
  632. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/bold-annotaion-handler.d.ts +25 -0
  633. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/code-annotation-handler.d.ts +25 -0
  634. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/color-annotation-handler.d.ts +25 -0
  635. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-attribute-annotation-handler.d.ts +35 -0
  636. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-class-annotation-handler.d.ts +28 -0
  637. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.d.ts +28 -0
  638. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.d.ts +26 -0
  639. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-alt-annotation-handler.d.ts +17 -0
  640. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-size-annotation-handler.d.ts +24 -0
  641. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/indent-annotation-handler.d.ts +24 -0
  642. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.d.ts +28 -0
  643. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/italic-annotation-handler.d.ts +25 -0
  644. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.d.ts +29 -0
  645. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/strike-through-annotation-handler.d.ts +25 -0
  646. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-align-annotation-handler.d.ts +27 -0
  647. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.d.ts +57 -0
  648. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/underline-annotation-handler.d.ts +25 -0
  649. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.d.ts +12 -85
  650. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +10 -2
  651. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +12 -3
  652. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +6 -4
  653. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.d.ts +14 -0
  654. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-text-node-strategy.d.ts +23 -0
  655. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.d.ts +34 -0
  656. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.d.ts +5 -4
  657. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.d.ts +3 -9
  658. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.d.ts +17 -0
  659. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.d.ts +20 -3
  660. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.d.ts +5 -5
  661. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/plain-text-to-text-node-strategy.d.ts +16 -0
  662. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.d.ts +5 -4
  663. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.d.ts +3 -2
  664. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.d.ts +5 -5
  665. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.d.ts +5 -4
  666. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.d.ts +0 -7
  667. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +0 -1
  668. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +20 -0
  669. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.d.ts +20 -3
  670. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -0
  671. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +6 -0
  672. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.d.ts +2 -2
  673. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +3 -2
  674. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.d.ts +2 -2
  675. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.d.ts +2 -2
  676. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.d.ts +2 -2
  677. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +2 -2
  678. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.d.ts +2 -2
  679. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.d.ts +2 -2
  680. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +3 -2
  681. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.d.ts +2 -2
  682. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.d.ts +2 -2
  683. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.d.ts +2 -2
  684. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +3 -2
  685. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.d.ts +2 -2
  686. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.d.ts +2 -2
  687. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +3 -2
  688. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.d.ts +2 -2
  689. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +14 -0
  690. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.d.ts +2 -2
  691. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.d.ts +3 -2
  692. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +3 -2
  693. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +7 -2
  694. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.d.ts +2 -2
  695. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +24 -0
  696. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +10 -2
  697. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.d.ts +1 -1
  698. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.d.ts +1 -1
  699. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.d.ts +1 -1
  700. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.d.ts +1 -1
  701. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/html-block.test.d.ts +1 -0
  702. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/text-block.test.d.ts +1 -1
  703. package/dist/types/components/vega-rich-text-editor/test/dto/content-state.test.d.ts +1 -1
  704. package/dist/types/components/vega-rich-text-editor/test/dto/nodes/text-node.test.d.ts +1 -1
  705. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/custom-attribute-annotation-handler.test.d.ts +1 -0
  706. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/element-to-text-node-strategy.test.d.ts +1 -0
  707. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/html-element-to-annotation-generator.test.d.ts +1 -0
  708. package/dist/types/components/vega-rich-text-editor/test/spec-utils.d.ts +15 -0
  709. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.d.ts +1 -0
  710. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +6 -0
  711. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +17 -1
  712. package/dist/types/components.d.ts +81 -2
  713. package/dist/types/constants/ui.d.ts +1 -1
  714. package/dist/types/helpers/calendar/calendar-date.d.ts +7 -0
  715. package/dist/types/helpers/calendar/calendar-event.d.ts +15 -1
  716. package/dist/types/helpers/calendar/utils.d.ts +18 -0
  717. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +2 -1
  718. package/dist/types/helpers/code-format/code-formatter.d.ts +34 -0
  719. package/dist/types/helpers/code-format/test/code-formatter.test.d.ts +1 -0
  720. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  721. package/dist/types/helpers/rte-manager/dto-action-strategy-manager.d.ts +13 -0
  722. package/dist/types/helpers/rte-manager/dto-class-manager.d.ts +38 -0
  723. package/dist/types/helpers/rte-manager/dto-renderer-manager.d.ts +44 -0
  724. package/dist/types/helpers/rte-manager/element-dto-class-strategy-manager.d.ts +42 -0
  725. package/dist/types/helpers/rte-manager/rte.manager.test.d.ts +1 -0
  726. package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +1 -1
  727. package/dist/types/helpers/slimmers/form-field-controller-slimmer.d.ts +1 -1
  728. package/dist/types/helpers/slimmers/global/vega-translate-observer-slimmer.d.ts +6 -0
  729. package/dist/types/helpers/slimmers/test/global/vega-translate-observer-slimmer.test.d.ts +1 -0
  730. package/dist/types/helpers/translation/interface.d.ts +31 -1
  731. package/dist/types/types/class.type.d.ts +3 -0
  732. package/dist/types/types/components.type.d.ts +10 -2
  733. package/dist/types/utils/object.d.ts +8 -0
  734. package/dist/types/utils/string.d.ts +7 -0
  735. package/dist/types/utils/ui.d.ts +7 -0
  736. package/dist/vega/index.esm.js +1 -1
  737. package/dist/vega/p-02841589.js +1 -0
  738. package/dist/vega/{p-81ed90d5.js → p-02b29c18.js} +1 -1
  739. package/dist/vega/{p-4c4ac1a5.entry.js → p-09ddae74.entry.js} +1 -1
  740. package/dist/vega/{p-1db2ba98.entry.js → p-0c247128.entry.js} +1 -1
  741. package/dist/vega/p-0cd89fb6.js +1 -0
  742. package/dist/vega/{p-e940bc37.js → p-0f0baac3.js} +1 -1
  743. package/dist/vega/{p-fcb5b40f.entry.js → p-12ed3141.entry.js} +1 -1
  744. package/dist/vega/p-13eca7f3.entry.js +1 -0
  745. package/dist/vega/p-17d517c8.entry.js +1 -0
  746. package/dist/vega/{p-f25570f5.js → p-1a195e28.js} +1 -1
  747. package/dist/vega/{p-8782abeb.js → p-1bd516c5.js} +1 -1
  748. package/dist/vega/p-1ff1deaf.entry.js +1 -0
  749. package/dist/vega/p-2004317b.entry.js +1 -0
  750. package/dist/vega/{p-7c348ac7.entry.js → p-26ef2066.entry.js} +1 -1
  751. package/dist/vega/{p-c69a6547.entry.js → p-27b5f69c.entry.js} +1 -1
  752. package/dist/vega/p-29e0d4c8.entry.js +1 -0
  753. package/dist/vega/{p-41465ad0.entry.js → p-2a66e2f7.entry.js} +1 -1
  754. package/dist/vega/p-351405f2.entry.js +1 -0
  755. package/dist/vega/p-369f38ed.entry.js +1 -0
  756. package/dist/vega/{p-82b18195.entry.js → p-36ae2dd3.entry.js} +1 -1
  757. package/dist/vega/p-36ed226a.js +1 -0
  758. package/dist/vega/p-42033e59.js +1 -0
  759. package/dist/vega/{p-832b59af.js → p-436f7e27.js} +1 -1
  760. package/dist/vega/{p-5bd3487e.js → p-4452e085.js} +1 -1
  761. package/dist/vega/{p-710da484.entry.js → p-446d0317.entry.js} +1 -1
  762. package/dist/vega/{p-012cbd8f.js → p-4474bc63.js} +1 -1
  763. package/dist/vega/{p-6dad2e5c.entry.js → p-476cc642.entry.js} +1 -1
  764. package/dist/vega/p-48a58baf.js +2 -0
  765. package/dist/vega/p-490f5e3f.entry.js +1 -0
  766. package/dist/vega/p-4996b853.entry.js +1 -0
  767. package/dist/vega/{p-bcdb235d.js → p-4a368e1e.js} +1 -1
  768. package/dist/vega/p-4b7edf72.entry.js +1 -0
  769. package/dist/vega/{p-4674c318.entry.js → p-4fc18f2f.entry.js} +1 -1
  770. package/dist/vega/p-51cce3f9.entry.js +1 -0
  771. package/dist/vega/p-521ace2d.js +1 -0
  772. package/dist/vega/{p-1f9a735a.entry.js → p-53d67971.entry.js} +1 -1
  773. package/dist/vega/p-555804a0.entry.js +1 -0
  774. package/dist/vega/{p-d5776087.js → p-575235c8.js} +1 -1
  775. package/dist/vega/p-59e990c7.entry.js +1 -0
  776. package/dist/vega/p-5f377954.js +1 -1
  777. package/dist/vega/{p-7d5ebd26.entry.js → p-606d1f7c.entry.js} +1 -1
  778. package/dist/vega/{p-4ab67150.entry.js → p-61d1f3cb.entry.js} +1 -1
  779. package/dist/vega/{p-fda6f8bc.js → p-63c9eb58.js} +1 -1
  780. package/dist/vega/p-675b9501.entry.js +1 -0
  781. package/dist/vega/{p-5f6b942c.entry.js → p-6b292628.entry.js} +1 -1
  782. package/dist/vega/p-707bb905.entry.js +1 -0
  783. package/dist/vega/{p-c9740710.entry.js → p-70939752.entry.js} +1 -1
  784. package/dist/vega/p-7183bd72.entry.js +1 -0
  785. package/dist/vega/p-73b487b0.entry.js +1 -0
  786. package/dist/vega/p-76de6b00.entry.js +1 -0
  787. package/dist/vega/p-7a3b142b.js +1 -0
  788. package/dist/vega/{p-9b08ed46.entry.js → p-7b1bb372.entry.js} +1 -1
  789. package/dist/vega/{p-4c871d0f.entry.js → p-7cd2fac8.entry.js} +1 -1
  790. package/dist/vega/{p-0c8bd757.js → p-7e8f055d.js} +1 -1
  791. package/dist/vega/p-7f087c8b.js +1 -0
  792. package/dist/vega/{p-904d1b43.js → p-846ae5fb.js} +1 -1
  793. package/dist/vega/{p-66e9d31a.entry.js → p-847dbae4.entry.js} +1 -1
  794. package/dist/vega/{p-397b5d91.entry.js → p-850a6305.entry.js} +1 -1
  795. package/dist/vega/p-86f17433.js +1 -0
  796. package/dist/vega/{p-acd9bfa4.js → p-8852361b.js} +1 -1
  797. package/dist/vega/{p-fe1512f9.entry.js → p-8a317208.entry.js} +1 -1
  798. package/dist/vega/p-8a877e12.js +1 -0
  799. package/dist/vega/{p-4a237308.js → p-8baacfc5.js} +1 -1
  800. package/dist/vega/p-9479866e.entry.js +1 -0
  801. package/dist/vega/{p-8c4f893b.js → p-9773c913.js} +1 -1
  802. package/dist/vega/{p-bd84b7b9.entry.js → p-9a74eb86.entry.js} +1 -1
  803. package/dist/vega/p-9f453b90.entry.js +1 -0
  804. package/dist/vega/{p-9afdcf65.js → p-a204a2b2.js} +1 -1
  805. package/dist/vega/p-a328d448.entry.js +1 -0
  806. package/dist/vega/{p-59282fc8.entry.js → p-a7baad6d.entry.js} +1 -1
  807. package/dist/vega/p-ad1b22b4.entry.js +1 -0
  808. package/dist/vega/{p-8e581755.entry.js → p-ae21e5f5.entry.js} +1 -1
  809. package/dist/vega/p-ae415e7e.entry.js +1 -0
  810. package/dist/vega/{p-613ee009.js → p-af464251.js} +1 -1
  811. package/dist/vega/p-b40adb9e.js +1 -0
  812. package/dist/vega/p-b4be8573.entry.js +1 -0
  813. package/dist/vega/{p-6e01f0a2.js → p-b5822a21.js} +1 -1
  814. package/dist/vega/p-b5bef48a.js +1 -0
  815. package/dist/vega/{p-f3bd26a1.entry.js → p-b73532c0.entry.js} +1 -1
  816. package/dist/vega/{p-d789b291.js → p-bbb96a13.js} +1 -1
  817. package/dist/vega/p-bca1f8f9.js +1 -0
  818. package/dist/vega/p-bdce4143.js +1 -0
  819. package/dist/vega/p-be8bbaa5.entry.js +1 -0
  820. package/dist/vega/p-bf0ced3c.js +1 -0
  821. package/dist/vega/p-bf19682d.js +1 -0
  822. package/dist/vega/p-bf6187f7.entry.js +1 -0
  823. package/dist/vega/{p-a4a0fcfd.entry.js → p-c5c5509c.entry.js} +2 -2
  824. package/dist/vega/{p-9540e3ed.entry.js → p-c81cb852.entry.js} +1 -1
  825. package/dist/vega/p-c9c2c8c6.entry.js +1 -0
  826. package/dist/vega/p-ca30b996.js +1 -0
  827. package/dist/vega/{p-091ab617.entry.js → p-cc20f01f.entry.js} +1 -1
  828. package/dist/vega/{p-500684e1.entry.js → p-cc5a3a1b.entry.js} +1 -1
  829. package/dist/vega/{p-f940b7f7.entry.js → p-d0fbbb7f.entry.js} +1 -1
  830. package/dist/vega/p-d3bcaa82.entry.js +1 -0
  831. package/dist/vega/{p-864de9a1.js → p-d4564bfd.js} +1 -1
  832. package/dist/vega/{p-c42ec0ac.entry.js → p-d45f79ce.entry.js} +1 -1
  833. package/dist/vega/{p-34dc3f71.entry.js → p-d72abacd.entry.js} +1 -1
  834. package/dist/vega/p-dbb06804.entry.js +1 -0
  835. package/dist/vega/{p-a1e50e6c.entry.js → p-dc5026e7.entry.js} +1 -1
  836. package/dist/vega/p-df647e48.entry.js +1 -0
  837. package/dist/vega/p-e989ce94.entry.js +1 -0
  838. package/dist/vega/{p-311f338d.entry.js → p-e9ad8223.entry.js} +1 -1
  839. package/dist/vega/p-e9d2e0dc.entry.js +1 -0
  840. package/dist/vega/{p-86a300e8.entry.js → p-ebbaa112.entry.js} +1 -1
  841. package/dist/vega/{p-24042f0c.entry.js → p-f47de801.entry.js} +1 -1
  842. package/dist/vega/p-f6b11a21.entry.js +1 -0
  843. package/dist/vega/p-f6d25220.js +1 -0
  844. package/dist/vega/p-f8e62e5e.entry.js +1 -0
  845. package/dist/vega/{p-9ce0bd82.entry.js → p-fc8badd3.entry.js} +2 -2
  846. package/dist/vega/p-fd6f90fd.entry.js +1 -0
  847. package/dist/vega/{p-42ec43ef.entry.js → p-fe6ea6cf.entry.js} +1 -1
  848. package/dist/vega/{p-92355996.entry.js → p-ffaee583.entry.js} +1 -1
  849. package/dist/vega/vega.esm.js +1 -1
  850. package/package.json +5 -3
  851. package/dist/cjs/content-state-fd5ad4a8.js +0 -1152
  852. package/dist/cjs/string-21427167.js +0 -13
  853. package/dist/cjs/types-a4295b11.js +0 -12
  854. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.js +0 -29
  855. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.js +0 -21
  856. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.js +0 -54
  857. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.js +0 -15
  858. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.js +0 -38
  859. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.js +0 -14
  860. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.js +0 -14
  861. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.js +0 -15
  862. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +0 -21
  863. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.js +0 -28
  864. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.js +0 -44
  865. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.js +0 -20
  866. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.js +0 -19
  867. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-blocks-after-block.js +0 -14
  868. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-blocks-before-block.js +0 -14
  869. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-nodes-after-node-action.js +0 -14
  870. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-nodes-before-node-action.js +0 -14
  871. package/dist/esm/content-state-a43e703e.js +0 -1146
  872. package/dist/esm/string-be824360.js +0 -11
  873. package/dist/esm/types-0cadfd73.js +0 -12
  874. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.d.ts +0 -12
  875. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-blocks-strategy.d.ts +0 -13
  876. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.d.ts +0 -16
  877. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.d.ts +0 -19
  878. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.d.ts +0 -19
  879. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.d.ts +0 -13
  880. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.d.ts +0 -23
  881. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.d.ts +0 -13
  882. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.d.ts +0 -13
  883. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.d.ts +0 -13
  884. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +0 -16
  885. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.d.ts +0 -20
  886. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.d.ts +0 -21
  887. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.d.ts +0 -15
  888. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.d.ts +0 -15
  889. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-blocks-after-block.d.ts +0 -13
  890. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-blocks-before-block.d.ts +0 -13
  891. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-nodes-after-node-action.d.ts +0 -13
  892. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-nodes-before-node-action.d.ts +0 -13
  893. package/dist/vega/p-083af15f.entry.js +0 -1
  894. package/dist/vega/p-0b5330e1.entry.js +0 -1
  895. package/dist/vega/p-0bb29d98.js +0 -1
  896. package/dist/vega/p-1792a352.entry.js +0 -1
  897. package/dist/vega/p-1a4f77de.entry.js +0 -1
  898. package/dist/vega/p-1a6dacc7.entry.js +0 -1
  899. package/dist/vega/p-21d26bb4.js +0 -2
  900. package/dist/vega/p-27a9ad35.entry.js +0 -1
  901. package/dist/vega/p-27ec0c07.entry.js +0 -1
  902. package/dist/vega/p-317920e6.entry.js +0 -1
  903. package/dist/vega/p-376b3ec7.entry.js +0 -1
  904. package/dist/vega/p-394594e9.entry.js +0 -1
  905. package/dist/vega/p-43263510.js +0 -1
  906. package/dist/vega/p-435451be.entry.js +0 -1
  907. package/dist/vega/p-472108bd.entry.js +0 -1
  908. package/dist/vega/p-47a4c625.js +0 -1
  909. package/dist/vega/p-48ae6f02.entry.js +0 -1
  910. package/dist/vega/p-48b24fd3.entry.js +0 -1
  911. package/dist/vega/p-5773a9a3.js +0 -1
  912. package/dist/vega/p-5fe47fe8.entry.js +0 -1
  913. package/dist/vega/p-61ea2d75.entry.js +0 -1
  914. package/dist/vega/p-63adca7b.entry.js +0 -1
  915. package/dist/vega/p-699032fc.entry.js +0 -1
  916. package/dist/vega/p-6be16084.js +0 -1
  917. package/dist/vega/p-71c65f7e.js +0 -1
  918. package/dist/vega/p-81279fea.entry.js +0 -1
  919. package/dist/vega/p-88e08a33.js +0 -1
  920. package/dist/vega/p-8e2b1dae.entry.js +0 -1
  921. package/dist/vega/p-8e662f26.js +0 -1
  922. package/dist/vega/p-8f8de5ab.entry.js +0 -1
  923. package/dist/vega/p-997a2064.entry.js +0 -1
  924. package/dist/vega/p-9a956a00.js +0 -1
  925. package/dist/vega/p-9d6003ef.js +0 -1
  926. package/dist/vega/p-a04491cc.entry.js +0 -1
  927. package/dist/vega/p-a1056063.entry.js +0 -1
  928. package/dist/vega/p-a7042a5a.entry.js +0 -1
  929. package/dist/vega/p-acf7667e.entry.js +0 -1
  930. package/dist/vega/p-b21b128c.entry.js +0 -1
  931. package/dist/vega/p-b75a8edb.entry.js +0 -1
  932. package/dist/vega/p-c21295cf.entry.js +0 -1
  933. package/dist/vega/p-ce5a3589.entry.js +0 -1
  934. package/dist/vega/p-d1355307.js +0 -1
  935. package/dist/vega/p-d1cb7f28.js +0 -1
  936. package/dist/vega/p-d661a5aa.entry.js +0 -1
  937. package/dist/vega/p-d7e0c57a.js +0 -1
  938. package/dist/vega/p-e1ed78db.js +0 -1
  939. package/dist/vega/p-e7b00bf0.js +0 -1
  940. package/dist/vega/p-ef84dc90.entry.js +0 -1
  941. package/dist/vega/p-f229d6d1.js +0 -1
  942. package/dist/vega/p-f27fcc7c.entry.js +0 -1
  943. package/dist/vega/p-f543e911.entry.js +0 -1
  944. package/dist/vega/p-f5ac60f5.js +0 -1
  945. package/dist/vega/p-f7b5833d.entry.js +0 -1
  946. package/dist/vega/p-fc02a67a.js +0 -1
@@ -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$q = (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$q = (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$q([
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$q([
78
+ __decorate$t([
70
79
  globalSlimmerRegistry.MapToComponentField()
71
80
  ], VegaCalendarRenderer.prototype, "viewRenderer", void 0);
72
81
 
@@ -78,1096 +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
279
- */
280
- equal(calendarDate) {
281
- const { year, month, date } = calendarDate;
282
- return this._year === year && this._month === month && this._date === date;
283
- }
284
- }
285
-
286
- /**
287
- * Calendar week view generator
288
- */
289
- class WeekViewGenerator extends CalendarViewGenerator {
290
- /**
291
- * @inheritDoc
419
+ * @param {HTMLElement} element the target element
420
+ * @returns {boolean} true or false
292
421
  */
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);
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';
303
425
  }
304
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);
305
451
 
306
- /**
307
- * Calendar month view generator
308
- */
309
- class MonthViewGenerator 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 {
310
460
  /**
311
- * @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.
312
466
  */
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);
467
+ render() {
468
+ return (index.h("div", { class: "calendar-view-container" },
469
+ this.renderViewTitle(),
470
+ this.renderViewContent()));
342
471
  }
343
472
  /**
344
- * The current date of the period.
473
+ * The function `renderViewTitle` renders a calendar view title and events based on the provided source data.
345
474
  *
346
- * @type {CalendarDate}
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.
347
476
  */
348
- get current() {
349
- return 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())));
350
489
  }
351
490
  /**
352
- * The start 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.
353
492
  *
354
- * @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.
355
494
  */
356
- get startDate() {
357
- return this._startDate;
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))));
358
512
  }
359
513
  /**
360
- * The end date of the period
514
+ * The function `renderHourBlock` returns an array of HTML elements representing hour blocks with time information.
361
515
  *
362
- * @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.
363
518
  */
364
- get endDate() {
365
- return this._endDate;
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
+ });
366
537
  }
367
538
  /**
368
- * The count of the period
539
+ * emit vega click event when click the date block
369
540
  *
370
- * @type {number}
541
+ * @param {CalendarDate} calendarDate the calendar date object
371
542
  */
372
- get count() {
373
- return this._count;
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 } });
374
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 {
375
585
  /**
376
- * This function returns the type of the object.
586
+ * rendering the time line component as an HTML element
377
587
  *
378
- * @type {string}
588
+ * @returns {HTMLElement} the html element
379
589
  */
380
- get type() {
381
- return this._type;
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
+ })));
382
598
  }
383
599
  /**
384
- * This function returns the showWeekends 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.
385
601
  *
386
- * @type {boolean}
602
+ * @returns {string[]} returns an array of strings representing the time line
387
603
  */
388
- get showWeekends() {
389
- return this._showWeekends;
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;
622
+ }
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);
457
- }
458
- /**
459
- * Go to now.
460
- *
461
- * @returns {this} - The current period.
462
- */
463
- now() {
464
- let calendarDate = CalendarDate.from(new Date());
465
- if (this._showWeekends === false) {
466
- calendarDate = getClosestWorkday(calendarDate);
467
- }
468
- return this.createBy(calendarDate);
738
+ get dateItems() {
739
+ return this._dateItems;
469
740
  }
741
+ }
742
+
743
+ /**
744
+ * Day view calendar generator
745
+ */
746
+ class DayViewGenerator extends CalendarViewGenerator {
470
747
  /**
471
748
  * @inheritDoc
472
749
  */
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 currentDate = this.current.toDate();
494
- currentDate.setDate(currentDate.getDate() + 7);
495
- return this.createBy(CalendarDate.from(currentDate));
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 currentDate = this.current.toDate();
502
- currentDate.setDate(currentDate.getDate() - 7);
503
- return this.createBy(CalendarDate.from(currentDate));
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, 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
- * Calculate the period start date and end date.
807
+ * Verify whether the calendar date is today
540
808
  *
541
- * @param {CalendarDate} date - The date to calculate the period from.
809
+ * @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
542
810
  */
543
- calculatePeriod(date) {
544
- const firstDay = MonthPeriod.getMonthFirstDay(date);
545
- const cursor = firstDay.toDate();
546
- cursor.setDate(cursor.getDate() - getWeekdays().indexOf(cursor.getDay()));
547
- this._startDate = CalendarDate.from(cursor);
548
- cursor.setDate(cursor.getDate() + this.count - 1);
549
- this._endDate = CalendarDate.from(cursor);
811
+ isToday() {
812
+ const today = new Date();
813
+ return (today.getFullYear() === this.year &&
814
+ today.getMonth() + 1 === this.month &&
815
+ today.getDate() === this.date);
550
816
  }
551
817
  /**
552
- * @inheritDoc
818
+ * Convert the calendar date to a Date object
819
+ *
820
+ * @returns {Date} - Return a Date object
553
821
  */
554
- next() {
555
- const next = this.current.toDate();
556
- next.setMonth(next.getMonth() + 1);
557
- return this.createBy(CalendarDate.from(next));
822
+ toDate() {
823
+ return new Date(this.year, this.month - 1, this.date);
558
824
  }
559
825
  /**
560
- * @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
561
830
  */
562
- previous() {
563
- const previous = this.current.toDate();
564
- previous.setMonth(previous.getMonth() - 1);
565
- return this.createBy(CalendarDate.from(previous));
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;
566
856
  }
567
857
  /**
568
- * @inheritDoc
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
569
863
  */
570
- createBy(current) {
571
- return new MonthPeriod(current, this._showWeekends);
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
+ }));
572
878
  }
573
879
  }
574
- MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
575
880
 
576
- var DateDirection;
577
- (function (DateDirection) {
578
- DateDirection["PREVIOUS"] = "-1";
579
- DateDirection["NEXT"] = "1";
580
- })(DateDirection || (DateDirection = {}));
581
- /**
582
- * get month name from the month number
583
- *
584
- * @param {Date} date the date object
585
- * @param {boolean} isShortName short or long name
586
- * @returns {string} the month English name
587
- */
588
- function getMonthName(date, isShortName = false) {
589
- return date.toLocaleDateString('en-US', { month: isShortName ? 'short' : 'long' });
590
- }
591
881
  /**
592
- * The function `getTimeIndex` calculates the index of a given time string based on a specified time unit.
593
- *
594
- * @param {string} timeString - A string representing a time in the format "HH:MM", where HH is the hour and MM is the minutes.
595
- * @param {number} [unit=15] - The `unit` parameter in the `getTimeIndex` function is used to specify
596
- * the interval in minutes for dividing the day. By default, it is set to 15 minutes, meaning that the
597
- * day will be divided into 15-minute intervals.
598
- * @returns {number} the index of the given time string based on the specified time unit.
882
+ * Calendar week view generator
599
883
  */
600
- function getTimeIndex(timeString, unit = 15) {
601
- const [hour, minutes] = timeString.split(':');
602
- return Math.round((Number(hour) * 60 + Number(minutes)) / unit);
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
+ }
603
899
  }
900
+
604
901
  /**
605
- * Returns a string that includes the event key for a calendar event slot.
606
- *
607
- * @param {string} eventKey - represents the key or identifier of a calendar event.
608
- * @returns {string} a string that is a concatenation of 'vega-calendar-event-slot-' and the eventKey parameter.
902
+ * Calendar month view generator
609
903
  */
610
- function getCalendarEventSlotName(eventKey) {
611
- return 'vega-calendar-event-slot-' + eventKey;
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));
924
+ }
925
+ return new CalendarView(weekDays, calendarDates);
926
+ }
612
927
  }
928
+
613
929
  /**
614
- * Returns the closest workday to a given calendar date based on a specified direction.
615
- *
616
- * @param {Date} date - The starting date from which you want to find the closest workday.
617
- * @param {'-1' | '1'} [direction=1] - Determines whether to find the closest workday in the past or future. It can have two possible values:
618
- * @returns {CalendarDate} The closest workday to the input date
930
+ * CalendarPeriod is an abstract class that represents a period of date for calendar.
619
931
  */
620
- function getClosestWorkday(date, direction = DateDirection.NEXT) {
621
- const day = date.toDate().getDay();
622
- if (day === 0 || day === 6) {
623
- let nextWorkdayGap = day === 0 ? 1 : 2;
624
- if (direction === DateDirection.PREVIOUS) {
625
- nextWorkdayGap = day === 0 ? -2 : -1;
626
- }
627
- return CalendarDate.from(new Date(date.year, date.month - 1, date.date + nextWorkdayGap));
628
- }
629
- return date;
630
- }
631
-
632
- const ellipsisVertical = {
633
- 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>`,
634
- };
635
-
636
- var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
637
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
638
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
639
- 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;
640
- return c > 3 && r && Object.defineProperty(target, key, r), r;
641
- };
642
- /** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
643
- class VegaCalendarSwitchPanelRenderer extends globalSlimmerRegistry.VegaSlimmer {
644
- constructor() {
645
- super(...arguments);
646
- /**
647
- * This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
648
- *
649
- * @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
650
- */
651
- this.handleViewChange = (input) => {
652
- this.currentPeriodController.updateCalendarPeriod(input.detail, this.postOperationDate);
653
- };
654
- /**
655
- * reset view content to today
656
- */
657
- this.todayButtonClick = () => {
658
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.now());
659
- };
660
- /**
661
- * update view content after click next button
662
- */
663
- this.nextButtonClick = () => {
664
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.next());
665
- };
666
- /**
667
- * update view content after click previous button
668
- */
669
- this.prevButtonClick = () => {
670
- this.currentPeriodController.setCurrentPeriod(this.currentPeriod.previous());
671
- };
672
- /**
673
- * The more action menu item click
674
- *
675
- * @param {NotifyObserverPayload<string>} payload The object contains the menu item key
676
- */
677
- this.moreActionMenuClick = (payload) => {
678
- this.moreActionClickEmitter.emit(payload.detail);
679
- };
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);
680
937
  }
681
938
  /**
682
- * get the switch panel container element
939
+ * The current date of the period.
683
940
  *
684
- * @returns {HTMLVegaFlexElement} container element
941
+ * @type {CalendarDate}
685
942
  */
686
- getSwitchPanelRef() {
687
- return this.switchPanelRef;
943
+ get current() {
944
+ return this._current;
688
945
  }
689
946
  /**
690
- * calendar switch panel with date switch, view switch, add new button, and more action components.
947
+ * The start date of the period
691
948
  *
692
- * @returns {HTMLElement} html element
949
+ * @type {CalendarDate}
693
950
  */
694
- render() {
695
- return (index.h("vega-flex", { direction: "row", gap: "size-16", justifyContent: "space-between", alignItems: "center", class: "calendar-switch-panel", ref: (node) => (this.switchPanelRef = node) },
696
- this.renderDateSwitch(),
697
- index.h("div", { class: "calendar-view-switch-container" },
698
- this.showSwitchView ? this.renderViewSwitch() : null,
699
- this.renderMoreActionMenu())));
951
+ get startDate() {
952
+ return this._startDate;
700
953
  }
701
954
  /**
702
- * The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
955
+ * The end date of the period
703
956
  *
704
- * @returns {HTMLDivElement} action button elements container.
957
+ * @type {CalendarDate}
705
958
  */
706
- renderDateSwitch() {
707
- return (index.h("div", { class: "calendar-date-switch-container" },
708
- index.h("vega-button", { variant: "secondary", size: "small", ref: (button) => {
709
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.todayButtonClick);
710
- }, label: this.translationSlimmer.t('Today') }),
711
- index.h("vega-button-circle", { variant: "secondary", size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-left'), label: "previous", showTooltip: false, ref: (button) => {
712
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.prevButtonClick);
713
- } }),
714
- index.h("vega-button-circle", { variant: "secondary", size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-right'), label: "next", showTooltip: false, ref: (button) => {
715
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, domNodeSubjectFactory.VegaClick, this.nextButtonClick);
716
- } }),
717
- this.renderCurrentPeriod()));
959
+ get endDate() {
960
+ return this._endDate;
718
961
  }
719
962
  /**
720
- * The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
963
+ * The count of the period
721
964
  *
722
- * @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
965
+ * @type {number}
723
966
  */
724
- renderCurrentPeriod() {
725
- 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;
726
969
  }
727
970
  /**
728
- * 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.
729
972
  *
730
- * @returns {HTMLElement} An HTMLElement containing a vega-segment-control element with specific attributes and event handling.
973
+ * @type {string}
731
974
  */
732
- renderViewSwitch() {
733
- 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) => {
734
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectFactory.VegaChange, this.handleViewChange);
735
- } }));
975
+ get type() {
976
+ return this._type;
736
977
  }
737
978
  /**
738
- * Render an more action button if dropdown source is not empty
979
+ * This function returns the showWeekends of the object.
739
980
  *
740
- * @returns {Nullable<HTMLElement>} the additional element
981
+ * @type {boolean}
741
982
  */
742
- renderMoreActionMenu() {
743
- var _a, _b;
744
- if ((_b = (_a = this.moreActionDropdownProps) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.length) {
745
- return (index.h("vega-dropdown", Object.assign({ alignment: "end", trigger: "click" }, this.moreActionDropdownProps, { ref: (node) => {
746
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, domNodeSubjectFactory.VegaDropdownClick, this.moreActionMenuClick);
747
- } }),
748
- index.h("vega-button-circle", { size: "small", icon: internalIconManager.VegaInternalIconManager.getIconKey('ellipsis-vertical'), variant: "icon-only" })));
749
- }
983
+ get showWeekends() {
984
+ return this._showWeekends;
750
985
  }
751
986
  /**
752
- * 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.
753
988
  *
754
- * @returns {string} string
989
+ * @param {CalendarDate} date - The date to go to.
990
+ * @returns {this} - The current period.
755
991
  */
756
- getViewDateSummary() {
757
- const currentDate = this.currentPeriod.current;
758
- let result = '';
759
- switch (this.viewMode) {
760
- case 'day': {
761
- const monthName = this.translationSlimmer.t(getMonthName(currentDate.toDate()));
762
- result = `${currentDate.date} ${monthName}, ${currentDate.year}`;
763
- break;
764
- }
765
- case 'week': {
766
- const weekItems = this.calendarView.dateItems[0];
767
- const start = weekItems[0];
768
- const end = weekItems[weekItems.length - 1];
769
- const [startMonthName, endMonthName] = [start, end].map((item) => this.translationSlimmer.t(getMonthName(item.toDate())));
770
- result = `${start.date} ${startMonthName}${start.year === end.year ? '' : ', ' + start.year} - ${end.date} ${endMonthName}, ${end.year}`;
771
- break;
772
- }
773
- case 'month': {
774
- const monthName = this.translationSlimmer.t(getMonthName(currentDate.toDate()));
775
- result = `${monthName}, ${currentDate.year}`;
776
- break;
777
- }
778
- }
779
- return result;
992
+ goTo(date) {
993
+ return this.createBy(date);
780
994
  }
781
- }
782
- (() => {
783
- internalIconManager.VegaInternalIconManager.register({
784
- 'chevron-right': chevronRight,
785
- 'chevron-left': chevronLeft,
786
- 'ellipsis-vertical': ellipsisVertical,
787
- });
788
- })();
789
- VegaCalendarSwitchPanelRenderer.views = [
790
- { text: 'Day', key: 'day' },
791
- { text: 'Week', key: 'week' },
792
- { text: 'Month', key: 'month' },
793
- ];
794
- __decorate$p([
795
- globalSlimmerRegistry.MapToComponentField()
796
- ], VegaCalendarSwitchPanelRenderer.prototype, "viewMode", void 0);
797
- __decorate$p([
798
- globalSlimmerRegistry.MapToComponentField()
799
- ], VegaCalendarSwitchPanelRenderer.prototype, "calendarView", void 0);
800
- __decorate$p([
801
- globalSlimmerRegistry.MapToComponentField()
802
- ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriod", void 0);
803
- __decorate$p([
804
- globalSlimmerRegistry.MapToComponentField()
805
- ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionDropdownProps", void 0);
806
- __decorate$p([
807
- globalSlimmerRegistry.MapToComponentField()
808
- ], VegaCalendarSwitchPanelRenderer.prototype, "moreActionClickEmitter", void 0);
809
- __decorate$p([
810
- globalSlimmerRegistry.MapToComponentField()
811
- ], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriodController", void 0);
812
- __decorate$p([
813
- globalSlimmerRegistry.MapToComponentField()
814
- ], VegaCalendarSwitchPanelRenderer.prototype, "calendarViewController", void 0);
815
- __decorate$p([
816
- globalSlimmerRegistry.MapToComponentField()
817
- ], VegaCalendarSwitchPanelRenderer.prototype, "translationSlimmer", void 0);
818
- __decorate$p([
819
- globalSlimmerRegistry.MapToComponentField()
820
- ], VegaCalendarSwitchPanelRenderer.prototype, "postOperationDate", void 0);
821
- __decorate$p([
822
- globalSlimmerRegistry.MapToComponentField()
823
- ], VegaCalendarSwitchPanelRenderer.prototype, "showSwitchView", void 0);
824
-
825
- var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
826
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
827
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
828
- 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;
829
- return c > 3 && r && Object.defineProperty(target, key, r), r;
830
- };
831
- /** renders different views based on the specified view mode using month, week, and day view render. */
832
- class VegaCalendarViewRenderer extends globalSlimmerRegistry.VegaSlimmer {
833
995
  /**
834
- * Get the calendar view content element ref
996
+ * Go to now.
835
997
  *
836
- * @returns {Nullable<HTMLElement>} The div element.
998
+ * @returns {this} - The current period.
837
999
  */
838
- getCalendarViewElementRef() {
839
- return this.calendarViewElementRef;
1000
+ now() {
1001
+ return this.createBy(CalendarDate.from(new Date()));
840
1002
  }
841
1003
  /**
842
- * render the calendar month/week/day view
1004
+ * Calculate the period start date and end date.
843
1005
  *
844
- * @returns {HTMLElement} html element
1006
+ * @param {CalendarDate} date - The date to calculate the period from.
845
1007
  */
846
- render() {
847
- 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'
848
- ? this.monthViewRenderer.render()
849
- : 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);
850
1016
  }
851
1017
  }
852
- __decorate$o([
853
- globalSlimmerRegistry.MapToComponentField()
854
- ], VegaCalendarViewRenderer.prototype, "viewMode", void 0);
855
- __decorate$o([
856
- globalSlimmerRegistry.MapToComponentField()
857
- ], VegaCalendarViewRenderer.prototype, "showWeekends", void 0);
858
- __decorate$o([
859
- globalSlimmerRegistry.MapToComponentField()
860
- ], VegaCalendarViewRenderer.prototype, "monthViewRenderer", void 0);
861
- __decorate$o([
862
- globalSlimmerRegistry.MapToComponentField()
863
- ], VegaCalendarViewRenderer.prototype, "viewWithTimeRenderer", void 0);
864
1018
 
865
- var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
866
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
867
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
868
- 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;
869
- return c > 3 && r && Object.defineProperty(target, key, r), r;
870
- };
871
- /** 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. */
872
- class VegaCalendarMonthViewRenderer extends globalSlimmerRegistry.VegaSlimmer {
873
- /**
874
- * the HTML elements that represent the month view of a calendar component.
875
- *
876
- * @returns {HTMLElement} the month view calendar content
877
- */
878
- render() {
879
- const weekHead = this.calendarView.weekdays;
880
- return (index.h("div", { class: "calendar-view-month-container" },
881
- 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))))),
882
- 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));
883
1061
  }
884
- /**
885
- * generating the HTML elements that represent the content of the month view in a calendar component
886
- *
887
- * @returns {HTMLElement[]} month view content and event content
888
- */
889
- renderMonthViewContent() {
890
- const monthSource = this.calendarView.dateItems;
891
- const currentDate = this.currentPeriod.current;
892
- return monthSource.map((dateArray, index$1) => {
893
- const eventsArray = this.monthEventRenderer.getCurrentRowEvents(dateArray);
894
- const displayEventsArray = this.monthEventRenderer.filterRowDisplayEvents(eventsArray);
895
- return (index.h("div", { key: index$1, class: "calendar-view-row border-divider-bottom" }, dateArray.map((item, itemIndex) => {
896
- var _a;
897
- const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
898
- return (index.h("div", { class: {
899
- 'row-cell border-divider-right': true,
900
- 'current-month-day': item.compare(currentDate).inMonth,
901
- 'active': item.isToday(),
902
- 'disabled': isDisabled,
903
- }, key: `${item.month}-${item.date}`,
904
- // eslint-disable-next-line react/jsx-no-bind
905
- onDblClick: isDisabled
906
- ? undefined
907
- : (e) => {
908
- this.handleDateBlockClick(e, item);
909
- } },
910
- this.renderDateBlock(item),
911
- this.monthEventRenderer.render(item, eventsArray[itemIndex], displayEventsArray[itemIndex], itemIndex)));
912
- })));
913
- });
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;
914
1088
  }
915
1089
  /**
916
- * It takes a `CalendarDate` object as a parameter and returns an HTML element representing a date block in the calendar view.
917
- *
918
- * @param {CalendarDate} item the day object
919
- * @returns {HTMLElement} the date block element
1090
+ * @inheritDoc
920
1091
  */
921
- renderDateBlock(item) {
922
- const isMonthFirstDay = item.date === 1;
923
- return (index.h("div", { class: "date" },
924
- isMonthFirstDay && index.h("div", { class: "month-block" }, getMonthName(item.toDate(), true)),
925
- index.h("div", { role: "button", tabIndex: 0, class: "grid-col",
926
- // eslint-disable-next-line react/jsx-no-bind
927
- 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);
928
1100
  }
929
1101
  /**
930
- * switch to current date day view
931
- *
932
- * @param {MouseEvent} e the double click event object
933
- * @param {CalendarDate} calendarDate the calendar date object
1102
+ * @inheritDoc
934
1103
  */
935
- goToCurrentDayView(e, calendarDate) {
936
- e.stopPropagation();
937
- 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);
938
1112
  }
939
1113
  /**
940
- * emit vega click event when click the date block
1114
+ * Go to now.
941
1115
  *
942
- * @param {MouseEvent} e the mouse event object
943
- * @param {CalendarDate} calendarDate the calendar date object
1116
+ * @returns {this} - The current period.
944
1117
  */
945
- handleDateBlockClick(e, calendarDate) {
946
- const { target, clientX, clientY } = e;
947
- if (this.isMonthBlockBlankArea(target)) {
948
- const { year, month, date } = calendarDate;
949
- this.dateDblClickEmitter.emit({
950
- year,
951
- month,
952
- date,
953
- hour: 0,
954
- mouseEventInfo: { clientX, clientY },
955
- });
1118
+ now() {
1119
+ let calendarDate = CalendarDate.from(new Date());
1120
+ if (this._showWeekends === false) {
1121
+ calendarDate = getClosestWorkday(calendarDate);
956
1122
  }
1123
+ return this.createBy(calendarDate);
957
1124
  }
958
1125
  /**
959
- * determine if the clicked element is blank area
960
- *
961
- * @param {HTMLElement} element the target element
962
- * @returns {boolean} true or false
1126
+ * @inheritDoc
963
1127
  */
964
- isMonthBlockBlankArea(element) {
965
- // the more button and the calendar event component should not trigger dateDblClick event
966
- return !element.classList.contains('more-button') && element.tagName !== 'VEGA-CALENDAR-EVENT';
1128
+ createBy(current) {
1129
+ return new DayPeriod(current, this._showWeekends);
967
1130
  }
968
1131
  }
969
- __decorate$n([
970
- globalSlimmerRegistry.MapToComponentField()
971
- ], VegaCalendarMonthViewRenderer.prototype, "viewMode", void 0);
972
- __decorate$n([
973
- globalSlimmerRegistry.MapToComponentField()
974
- ], VegaCalendarMonthViewRenderer.prototype, "calendarView", void 0);
975
- __decorate$n([
976
- globalSlimmerRegistry.MapToComponentField()
977
- ], VegaCalendarMonthViewRenderer.prototype, "currentPeriod", void 0);
978
- __decorate$n([
979
- globalSlimmerRegistry.MapToComponentField()
980
- ], VegaCalendarMonthViewRenderer.prototype, "currentPeriodController", void 0);
981
- __decorate$n([
982
- globalSlimmerRegistry.MapToComponentField()
983
- ], VegaCalendarMonthViewRenderer.prototype, "monthEventRenderer", void 0);
984
- __decorate$n([
985
- globalSlimmerRegistry.MapToComponentField()
986
- ], VegaCalendarMonthViewRenderer.prototype, "dateDblClickEmitter", void 0);
987
- __decorate$n([
988
- globalSlimmerRegistry.MapToComponentField()
989
- ], VegaCalendarMonthViewRenderer.prototype, "translationSlimmer", void 0);
990
- __decorate$n([
991
- globalSlimmerRegistry.MapToComponentField()
992
- ], VegaCalendarMonthViewRenderer.prototype, "isDateDisabled", void 0);
1132
+ DayPeriod.DISPLAY_DATE_COUNT = 1;
993
1133
 
994
- var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
995
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
996
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
997
- 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;
998
- return c > 3 && r && Object.defineProperty(target, key, r), r;
999
- };
1000
- /** The `VegaCalendarViewWithTimeRenderer` class in TypeScript React renders a day view for a calendar component with title, content, and hour blocks. */
1001
- 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
+ }
1002
1144
  /**
1003
- * The render function in TypeScript React returns an array of HTMLElements containing the week calendar view for a specific day.
1004
- *
1005
- * @returns {HTMLElement} An array of HTMLElement elements containing the rendered content of a calendar view for a
1006
- * specific day in the week. The content includes the title and the main content of the calendar view
1007
- * for that day.
1145
+ * @inheritDoc
1008
1146
  */
1009
- render() {
1010
- return (index.h("div", { class: "calendar-view-container" },
1011
- this.renderViewTitle(),
1012
- this.renderViewContent()));
1147
+ next() {
1148
+ const currentDate = this.current.toDate();
1149
+ currentDate.setDate(currentDate.getDate() + 7);
1150
+ return this.createBy(CalendarDate.from(currentDate));
1013
1151
  }
1014
1152
  /**
1015
- * The function `renderViewTitle` renders a calendar view title and events based on the provided source data.
1016
- *
1017
- * @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
1018
1154
  */
1019
- renderViewTitle() {
1020
- const source = this.calendarView.dateItems[0];
1021
- const weekHead = this.calendarView.weekdays;
1022
- return (index.h("div", { class: "calendar-view-title-container" },
1023
- index.h("div", { class: "calendar-view-row" },
1024
- index.h("div", { class: "time-line-empty" }),
1025
- index.h("div", { class: "calendar-view-title" }, source.map((item, index$1) => (index.h("div", { key: item.date, class: { active: item.isToday() } },
1026
- index.h("div", null, this.translationSlimmer.t(weekHead[index$1])),
1027
- index.h("div", { class: "week-day" }, item.date)))))),
1028
- index.h("div", { class: "calendar-view-row calendar-view-event-all-container border-divider-bottom" },
1029
- index.h("div", { class: "time-line-all" }, this.translationSlimmer.t('All Day')),
1030
- this.dayViewFullDayEventRenderer.render())));
1155
+ previous() {
1156
+ const currentDate = this.current.toDate();
1157
+ currentDate.setDate(currentDate.getDate() - 7);
1158
+ return this.createBy(CalendarDate.from(currentDate));
1031
1159
  }
1032
1160
  /**
1033
- * The `renderViewContent` function in TypeScript React renders a calendar view with day blocks and time markers based on the provided data.
1034
- *
1035
- * @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
1036
1162
  */
1037
- renderViewContent() {
1038
- const source = this.calendarView.dateItems[0];
1039
- return (index.h("div", { class: "calendar-view-row calendar-view-day-container" },
1040
- this.timeLineRenderer.render(),
1041
- index.h("div", { class: "calendar-view-content-container" },
1042
- index.h("div", { class: "calendar-view-content" }, source.map((item) => {
1043
- var _a;
1044
- const isDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, item.toDate());
1045
- return (index.h("div", { class: {
1046
- 'grid-col border-divider-left': true,
1047
- 'disabled': isDisabled,
1048
- }, key: item.date },
1049
- index.h("div", { class: "hour-empty border-divider-top" }),
1050
- this.renderHourBlock(item, isDisabled)));
1051
- })),
1052
- this.dayViewTimedEventRenderer.render(),
1053
- 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;
1054
1178
  }
1055
1179
  /**
1056
- * 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.
1057
1181
  *
1058
- * @param {CalendarDate} calendarDate then current calendar date object
1059
- * @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.
1060
1188
  */
1061
- renderHourBlock(calendarDate, isDisabled) {
1062
- const timeLineSource = Array(24).fill('');
1063
- return timeLineSource.map((_item, index$1) => {
1064
- var _a;
1065
- let isHourDisabled = false;
1066
- if (!isDisabled) {
1067
- const dateWithHour = new Date(calendarDate.toDate().setHours(index$1));
1068
- isHourDisabled = (_a = this.isDateDisabled) === null || _a === void 0 ? void 0 : _a.call(this, dateWithHour);
1069
- }
1070
- return (index.h("div", { class: {
1071
- 'grid-cell border-divider-top': true,
1072
- 'disabled': isDisabled || isHourDisabled,
1073
- },
1074
- // eslint-disable-next-line react/jsx-no-bind
1075
- onDblClick: isDisabled || isHourDisabled
1076
- ? undefined
1077
- : (e) => this.handleDateBlockClick(calendarDate, index$1, e) }));
1078
- });
1189
+ static getMonthFirstDay(calendarDate) {
1190
+ const date = calendarDate || CalendarDate.from(new Date());
1191
+ return new CalendarDate(date.year, date.month, 1);
1079
1192
  }
1080
1193
  /**
1081
- * emit vega click event when click the date block
1194
+ * Calculate the period start date and end date.
1082
1195
  *
1083
- * @param {CalendarDate} calendarDate the calendar date object
1196
+ * @param {CalendarDate} date - The date to calculate the period from.
1084
1197
  */
1085
- handleDateBlockClick(calendarDate, hour, e) {
1086
- const { year, month, date } = calendarDate;
1087
- const { clientX, clientY } = e;
1088
- 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);
1089
1205
  }
1090
- }
1091
- __decorate$m([
1092
- globalSlimmerRegistry.MapToComponentField()
1093
- ], VegaCalendarViewWithTimeRenderer.prototype, "viewMode", void 0);
1094
- __decorate$m([
1095
- globalSlimmerRegistry.MapToComponentField()
1096
- ], VegaCalendarViewWithTimeRenderer.prototype, "timeLineRenderer", void 0);
1097
- __decorate$m([
1098
- globalSlimmerRegistry.MapToComponentField()
1099
- ], VegaCalendarViewWithTimeRenderer.prototype, "timeMarkerRenderer", void 0);
1100
- __decorate$m([
1101
- globalSlimmerRegistry.MapToComponentField()
1102
- ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewTimedEventRenderer", void 0);
1103
- __decorate$m([
1104
- globalSlimmerRegistry.MapToComponentField()
1105
- ], VegaCalendarViewWithTimeRenderer.prototype, "dayViewFullDayEventRenderer", void 0);
1106
- __decorate$m([
1107
- globalSlimmerRegistry.MapToComponentField()
1108
- ], VegaCalendarViewWithTimeRenderer.prototype, "calendarView", void 0);
1109
- __decorate$m([
1110
- globalSlimmerRegistry.MapToComponentField()
1111
- ], VegaCalendarViewWithTimeRenderer.prototype, "dateDblClickEmitter", void 0);
1112
- __decorate$m([
1113
- globalSlimmerRegistry.MapToComponentField()
1114
- ], VegaCalendarViewWithTimeRenderer.prototype, "translationSlimmer", void 0);
1115
- __decorate$m([
1116
- globalSlimmerRegistry.MapToComponentField()
1117
- ], VegaCalendarViewWithTimeRenderer.prototype, "isDateDisabled", void 0);
1118
-
1119
- var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1120
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1121
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1122
- 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;
1123
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1124
- };
1125
- /** 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. */
1126
- class VegaCalendarTimeLineRenderer extends globalSlimmerRegistry.VegaSlimmer {
1127
1206
  /**
1128
- * rendering the time line component as an HTML element
1129
- *
1130
- * @returns {HTMLElement} the html element
1207
+ * @inheritDoc
1131
1208
  */
1132
- render() {
1133
- const timeLineSource = this.getTimeLineTitles();
1134
- return (index.h("div", { class: "time-line" },
1135
- index.h("div", { class: "hour-empty" }),
1136
- timeLineSource.map((time, index$1) => {
1137
- return (index.h("div", { key: time },
1138
- index.h("div", { class: "time-text", "data-time": index$1 === 0 ? 24 : index$1 }, time)));
1139
- })));
1209
+ next() {
1210
+ const next = this.current.toDate();
1211
+ next.setMonth(next.getMonth() + 1);
1212
+ return this.createBy(CalendarDate.from(next));
1140
1213
  }
1141
1214
  /**
1142
- * The function `getTimeLineTitles` generates a time line array based on the specified time format (24-hour) and stores it in the `timeLineSource` property.
1143
- *
1144
- * @returns {string[]} returns an array of strings representing the time line
1215
+ * @inheritDoc
1145
1216
  */
1146
- getTimeLineTitles() {
1147
- const timeLine = [];
1148
- if (this.timeFormat === '12-hour') {
1149
- timeLine.push('12 AM');
1150
- for (let i = 1; i < 12; i++) {
1151
- timeLine.push(`${i} AM`);
1152
- }
1153
- timeLine.push('12 PM');
1154
- for (let i = 1; i < 12; i++) {
1155
- timeLine.push(`${i} PM`);
1156
- }
1157
- }
1158
- else {
1159
- for (let i = 0; i < 24; i++) {
1160
- timeLine.push(`${date.pad(i)}`);
1161
- }
1162
- }
1163
- 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);
1164
1227
  }
1165
1228
  }
1166
- __decorate$l([
1167
- globalSlimmerRegistry.MapToComponentField()
1168
- ], VegaCalendarTimeLineRenderer.prototype, "timeFormat", void 0);
1229
+ MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
1169
1230
 
1170
- var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1231
+ var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1171
1232
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1172
1233
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1173
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;
@@ -1220,26 +1281,26 @@ class VegaCalendarViewController extends globalSlimmerRegistry.VegaSlimmer {
1220
1281
  this.calendarView = newView;
1221
1282
  }
1222
1283
  }
1223
- __decorate$k([
1284
+ __decorate$n([
1224
1285
  globalSlimmerRegistry.MapToComponentField({ writable: true })
1225
1286
  ], VegaCalendarViewController.prototype, "calendarView", void 0);
1226
- __decorate$k([
1287
+ __decorate$n([
1227
1288
  globalSlimmerRegistry.MapToComponentField()
1228
1289
  ], VegaCalendarViewController.prototype, "currentPeriod", void 0);
1229
- __decorate$k([
1290
+ __decorate$n([
1230
1291
  globalSlimmerRegistry.MapToComponentField()
1231
1292
  ], VegaCalendarViewController.prototype, "showWeekends", void 0);
1232
- __decorate$k([
1293
+ __decorate$n([
1233
1294
  globalSlimmerRegistry.MapToComponentField()
1234
1295
  ], VegaCalendarViewController.prototype, "currentPeriodController", void 0);
1235
- __decorate$k([
1296
+ __decorate$n([
1236
1297
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
1237
1298
  ], VegaCalendarViewController.prototype, "initialCalendarView", null);
1238
- __decorate$k([
1299
+ __decorate$n([
1239
1300
  globalSlimmerRegistry.MapToComponentMethod('watchCurrentPeriodChange')
1240
1301
  ], VegaCalendarViewController.prototype, "generateCalendarView", null);
1241
1302
 
1242
- var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1303
+ var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1243
1304
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1244
1305
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1245
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;
@@ -1343,32 +1404,32 @@ class VegaCalendarCurrentPeriodController extends globalSlimmerRegistry.VegaSlim
1343
1404
  };
1344
1405
  }
1345
1406
  }
1346
- __decorate$j([
1407
+ __decorate$m([
1347
1408
  globalSlimmerRegistry.MapToComponentField({ writable: true })
1348
1409
  ], VegaCalendarCurrentPeriodController.prototype, "currentPeriod", void 0);
1349
- __decorate$j([
1410
+ __decorate$m([
1350
1411
  globalSlimmerRegistry.MapToComponentField()
1351
1412
  ], VegaCalendarCurrentPeriodController.prototype, "changeEventEmitter", void 0);
1352
- __decorate$j([
1413
+ __decorate$m([
1353
1414
  globalSlimmerRegistry.MapToComponentField({ writable: true })
1354
1415
  ], VegaCalendarCurrentPeriodController.prototype, "viewMode", void 0);
1355
- __decorate$j([
1416
+ __decorate$m([
1356
1417
  globalSlimmerRegistry.MapToComponentField()
1357
1418
  ], VegaCalendarCurrentPeriodController.prototype, "showWeekends", void 0);
1358
- __decorate$j([
1419
+ __decorate$m([
1359
1420
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
1360
1421
  ], VegaCalendarCurrentPeriodController.prototype, "initialCurrentPeriod", null);
1361
- __decorate$j([
1422
+ __decorate$m([
1362
1423
  globalSlimmerRegistry.MapToComponentMethod('watchCurrentPeriodChange')
1363
1424
  ], VegaCalendarCurrentPeriodController.prototype, "emitChangeEvent", null);
1364
- __decorate$j([
1425
+ __decorate$m([
1365
1426
  globalSlimmerRegistry.MapToComponentMethod('watchViewModeChange')
1366
1427
  ], VegaCalendarCurrentPeriodController.prototype, "updateCurrentPeriodByViewMode", null);
1367
- __decorate$j([
1428
+ __decorate$m([
1368
1429
  globalSlimmerRegistry.MapToComponentMethod('watchShowWeekendsChange')
1369
1430
  ], VegaCalendarCurrentPeriodController.prototype, "updateCurrentPeriodAfterHideWeekEndsChange", null);
1370
1431
 
1371
- var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1432
+ var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1372
1433
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1373
1434
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1374
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;
@@ -1379,6 +1440,7 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1379
1440
  constructor() {
1380
1441
  super(...arguments);
1381
1442
  this.maxMonthDisplayEventsCount = 2;
1443
+ this.popoverHideObserver = null;
1382
1444
  }
1383
1445
  /**
1384
1446
  * current row dates all events.
@@ -1432,8 +1494,8 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1432
1494
  .slice(displayEvents.length)
1433
1495
  .filter((item) => item).length;
1434
1496
  return (index.h("div", { class: "events-container", ref: (node) => (this.eventContainerRef = node) },
1435
- index.h("div", { class: "event-list" }, this.fullDayEventLayoutRenderer.render(displayEvents, currentViewIndex)),
1436
- 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)));
1437
1499
  }
1438
1500
  /**
1439
1501
  * Add a month event display count change observer, than update the component
@@ -1451,10 +1513,10 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1451
1513
  *
1452
1514
  * @param {Nullable<CalendarEvent>[]} events all event list array
1453
1515
  * @param {number} moreItemsLength popover events length
1454
- * @param {string} title the popover title
1516
+ * @param {CalendarDate} calendarDate current date
1455
1517
  * @returns {Nullable<HTMLDivElement>} the more button or null
1456
1518
  */
1457
- renderMoreButton(events, moreItemsLength, title) {
1519
+ renderMoreButton(events, moreItemsLength, calendarDate) {
1458
1520
  if (moreItemsLength) {
1459
1521
  const backgroundColorEvents = events.filter((eventItem) => {
1460
1522
  return eventItem && (eventItem.isAllDayEvent || eventItem.isGroupEvent());
@@ -1463,24 +1525,34 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1463
1525
  return eventItem && !eventItem.isAllDayEvent && !eventItem.isGroupEvent();
1464
1526
  });
1465
1527
  return (index.h("div", { class: "month-event-more" },
1466
- 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 },
1467
1531
  index.h("div", { tabIndex: 0, slot: "popover-content", role: "button", class: "more-button", onKeyDown: accessibility.createEnterKeyHandlerToTriggerClick() }, `${moreItemsLength} More`),
1468
- index.h("vega-flex", { slot: "popover", direction: "col", gap: "0" },
1469
- index.h("vega-font", { textAlign: "center", variant: "font-field-label", color: "text-primary", style: { padding: '4px 0', marginBottom: '8px' } }, title),
1470
- index.h("vega-flex", { direction: "col", gap: "size-4", style: { paddingBottom: otherEvents.length ? '4px' : '0px' } }, backgroundColorEvents.map((item) => {
1471
- return this.eventItemRenderer.render(item, {
1472
- 'month-event': true,
1473
- 'calendar-event-large-size': true,
1474
- 'calendar-event-in-popover': true,
1475
- });
1476
- })),
1477
- otherEvents.map((item) => {
1478
- return this.eventItemRenderer.render(item, {
1479
- 'month-event': true,
1480
- 'calendar-event-large-size': true,
1481
- 'calendar-event-in-popover': true,
1482
- });
1483
- })))));
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
+ } })))));
1484
1556
  }
1485
1557
  }
1486
1558
  /*
@@ -1524,23 +1596,46 @@ class VegaCalendarMonthEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
1524
1596
  }
1525
1597
  return rowEvents;
1526
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
+ }
1527
1613
  }
1528
- __decorate$i([
1614
+ __decorate$l([
1529
1615
  globalSlimmerRegistry.MapToComponentField()
1530
1616
  ], VegaCalendarMonthEventRenderer.prototype, "viewMode", void 0);
1531
- __decorate$i([
1617
+ __decorate$l([
1532
1618
  globalSlimmerRegistry.MapToComponentField()
1533
1619
  ], VegaCalendarMonthEventRenderer.prototype, "host", void 0);
1534
- __decorate$i([
1620
+ __decorate$l([
1535
1621
  globalSlimmerRegistry.MapToComponentField()
1536
1622
  ], VegaCalendarMonthEventRenderer.prototype, "calendarEventController", void 0);
1537
- __decorate$i([
1623
+ __decorate$l([
1538
1624
  globalSlimmerRegistry.MapToComponentField()
1539
1625
  ], VegaCalendarMonthEventRenderer.prototype, "eventItemRenderer", void 0);
1540
- __decorate$i([
1626
+ __decorate$l([
1541
1627
  globalSlimmerRegistry.MapToComponentField()
1542
1628
  ], VegaCalendarMonthEventRenderer.prototype, "fullDayEventLayoutRenderer", void 0);
1543
- __decorate$i([
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([
1544
1639
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
1545
1640
  ], VegaCalendarMonthEventRenderer.prototype, "addMaxDisplayCountChange", null);
1546
1641
 
@@ -1603,6 +1698,21 @@ class CalendarEventBaseRepeatPattern {
1603
1698
  (seriesEnd >= rangeStart && seriesEnd <= rangeEnd) ||
1604
1699
  (seriesStart <= rangeStart && seriesEnd >= rangeEnd));
1605
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
+ }
1606
1716
  }
1607
1717
  CalendarEventBaseRepeatPattern.daySeconds = 24 * 60 * 60 * 1000;
1608
1718
 
@@ -1626,6 +1736,17 @@ class CalendarEventDailyRepeatPattern extends CalendarEventBaseRepeatPattern {
1626
1736
  super(startDate, interval, count, until);
1627
1737
  this.initCache();
1628
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
+ }
1629
1750
  /**
1630
1751
  * The function generates and caches repeated dates before a specified end date.
1631
1752
  *
@@ -1704,6 +1825,17 @@ class CalendarEventMonthlyRepeatPattern extends CalendarEventBaseRepeatPattern {
1704
1825
  this.byMonthDay = this.repeatStartDate.date;
1705
1826
  this.initCache();
1706
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
+ }
1707
1839
  /**
1708
1840
  * This function generates and caches repeated dates before a specified end date.
1709
1841
  *
@@ -1815,6 +1947,18 @@ class CalendarEventWeeklyRepeatPattern extends CalendarEventBaseRepeatPattern {
1815
1947
  return this.isSeriesInPeriod(item, eventSpansDays, period);
1816
1948
  });
1817
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
+ }
1818
1962
  /**
1819
1963
  * This function generates repeated dates and caches them until a specified end date.
1820
1964
  *
@@ -1969,6 +2113,18 @@ class CalendarEventYearlyRepeatPattern extends CalendarEventBaseRepeatPattern {
1969
2113
  this.matchMonth = this.repeatStartDate.month;
1970
2114
  this.initCache();
1971
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
+ }
1972
2128
  /**
1973
2129
  * The function generates repeat dates and caches them until reaching the specified end date.
1974
2130
  *
@@ -2267,6 +2423,28 @@ class CalendarEvent {
2267
2423
  const currentDate = date.toDate();
2268
2424
  return startCalendarDate.toDate() <= currentDate && endCalendarDate.toDate() > currentDate;
2269
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
+ }
2270
2448
  /**
2271
2449
  * Get the number of minutes the event lasted
2272
2450
  *
@@ -2401,7 +2579,7 @@ class CalendarEvent {
2401
2579
  }
2402
2580
  }
2403
2581
 
2404
- var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2582
+ var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2405
2583
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2406
2584
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2407
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;
@@ -2507,23 +2685,26 @@ class VegaCalendarEventController extends globalSlimmerRegistry.VegaSlimmer {
2507
2685
  }
2508
2686
  }
2509
2687
  }
2510
- __decorate$h([
2688
+ __decorate$k([
2689
+ globalSlimmerRegistry.MapToComponentField()
2690
+ ], VegaCalendarEventController.prototype, "host", void 0);
2691
+ __decorate$k([
2511
2692
  globalSlimmerRegistry.MapToComponentField({ writable: true })
2512
2693
  ], VegaCalendarEventController.prototype, "calendarEvents", void 0);
2513
- __decorate$h([
2694
+ __decorate$k([
2514
2695
  globalSlimmerRegistry.MapToComponentField()
2515
2696
  ], VegaCalendarEventController.prototype, "currentPeriod", void 0);
2516
- __decorate$h([
2697
+ __decorate$k([
2517
2698
  globalSlimmerRegistry.MapToComponentField()
2518
2699
  ], VegaCalendarEventController.prototype, "events", void 0);
2519
- __decorate$h([
2700
+ __decorate$k([
2520
2701
  globalSlimmerRegistry.MapToComponentMethod('watchEventsChange')
2521
2702
  ], VegaCalendarEventController.prototype, "updateAfterEventChange", null);
2522
- __decorate$h([
2703
+ __decorate$k([
2523
2704
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
2524
2705
  ], VegaCalendarEventController.prototype, "updateWhenComponentWillLoad", null);
2525
2706
 
2526
- var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2707
+ var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2527
2708
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2528
2709
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2529
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;
@@ -2536,12 +2717,17 @@ class VegaCalendarEventItemRenderer extends globalSlimmerRegistry.VegaSlimmer {
2536
2717
  *
2537
2718
  * @param {CalendarEvent} item the calendar event object
2538
2719
  * @param {Record<string,boolean>} classMap the class name map
2720
+ * @param {CalendarDate} targetCalendarViewDate the target calendar view date
2539
2721
  * @returns {HTMLVegaCalendarEventElement} calendar event element
2540
2722
  */
2541
- render(item, classMap) {
2723
+ render(item, classMap, targetCalendarViewDate, isGroupEvent = false) {
2542
2724
  return (index.h("vega-calendar-event", { "data-calendar-ref": this.host, key: item.eventKey, calendarEvent: item, class: classMap, onKeyDown: accessibility.createEnterKeyHandlerToTriggerClick(),
2543
2725
  // eslint-disable-next-line react/jsx-no-bind
2544
- 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) })));
2545
2731
  }
2546
2732
  /**
2547
2733
  * emit vega click event
@@ -2551,19 +2737,62 @@ class VegaCalendarEventItemRenderer extends globalSlimmerRegistry.VegaSlimmer {
2551
2737
  handleEventClick(eventItem) {
2552
2738
  this.eventClickEmitter.emit({ rawEvent: eventItem.event });
2553
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
+ }
2554
2771
  }
2555
2772
  VegaCalendarEventItemRenderer.backgroundColorModeEventHeight = 18;
2556
- __decorate$g([
2773
+ __decorate$j([
2557
2774
  globalSlimmerRegistry.MapToComponentField()
2558
2775
  ], VegaCalendarEventItemRenderer.prototype, "host", void 0);
2559
- __decorate$g([
2776
+ __decorate$j([
2560
2777
  globalSlimmerRegistry.MapToComponentField()
2561
2778
  ], VegaCalendarEventItemRenderer.prototype, "calendarView", void 0);
2562
- __decorate$g([
2779
+ __decorate$j([
2563
2780
  globalSlimmerRegistry.MapToComponentField()
2564
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);
2565
2794
 
2566
- var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2795
+ var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2567
2796
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2568
2797
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2569
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;
@@ -2615,23 +2844,23 @@ class VegaCalendarEventResponsiveController extends pageResizeObserverSlimmer.Pa
2615
2844
  }
2616
2845
  }
2617
2846
  VegaCalendarEventResponsiveController.monthDateTitleHeight = 26;
2618
- __decorate$f([
2847
+ __decorate$i([
2619
2848
  globalSlimmerRegistry.MapToComponentField()
2620
2849
  ], VegaCalendarEventResponsiveController.prototype, "host", void 0);
2621
- __decorate$f([
2850
+ __decorate$i([
2622
2851
  globalSlimmerRegistry.MapToComponentField()
2623
2852
  ], VegaCalendarEventResponsiveController.prototype, "monthEventRenderer", void 0);
2624
- __decorate$f([
2853
+ __decorate$i([
2625
2854
  globalSlimmerRegistry.MapToComponentField()
2626
2855
  ], VegaCalendarEventResponsiveController.prototype, "viewMode", void 0);
2627
- __decorate$f([
2856
+ __decorate$i([
2628
2857
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
2629
2858
  ], VegaCalendarEventResponsiveController.prototype, "updateMaxDisplayCount", null);
2630
- __decorate$f([
2859
+ __decorate$i([
2631
2860
  globalSlimmerRegistry.MapToComponentMethod('watchViewModeChange')
2632
2861
  ], VegaCalendarEventResponsiveController.prototype, "updateMaxDisplayCountAfterSwitchToMonthView", null);
2633
2862
 
2634
- var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2863
+ var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2635
2864
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2636
2865
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2637
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;
@@ -2653,7 +2882,7 @@ class VegaCalendarFullDayEventRenderer extends globalSlimmerRegistry.VegaSlimmer
2653
2882
  });
2654
2883
  const orderEvents = this.fullDayEventLayoutRenderer.sortLongEvents(events);
2655
2884
  const displayEvents = this.filterDisplayEvents(orderEvents);
2656
- 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))))));
2657
2886
  }
2658
2887
  /**
2659
2888
  * render current date all day events
@@ -2663,7 +2892,7 @@ class VegaCalendarFullDayEventRenderer extends globalSlimmerRegistry.VegaSlimmer
2663
2892
  * @param {Nullable<CalendarEvent>[]} allEvents all calendar events
2664
2893
  * @returns {HTMLVegaCalendarEventElement[]} event component array
2665
2894
  */
2666
- renderCurrentFullDayEvents(events, currentViewIndex, allEvents) {
2895
+ renderCurrentFullDayEvents(events, currentViewIndex, allEvents, targetCalendarViewDate) {
2667
2896
  const height = events.length * VegaCalendarEventItemRenderer.backgroundColorModeEventHeight - 2;
2668
2897
  const hideEventsLength = allEvents.slice(events.length).filter(Boolean).length;
2669
2898
  return (index.h(index.Fragment, null,
@@ -2671,7 +2900,7 @@ class VegaCalendarFullDayEventRenderer extends globalSlimmerRegistry.VegaSlimmer
2671
2900
  index.h("span", null,
2672
2901
  events.length,
2673
2902
  " events")),
2674
- this.fullDayEventLayoutRenderer.render(events, currentViewIndex),
2903
+ this.fullDayEventLayoutRenderer.render(events, currentViewIndex, targetCalendarViewDate),
2675
2904
  hideEventsLength > 0 && this.dayViewFullDayEventMoreButtonRenderer.render(hideEventsLength)));
2676
2905
  }
2677
2906
  /**
@@ -2696,26 +2925,26 @@ class VegaCalendarFullDayEventRenderer extends globalSlimmerRegistry.VegaSlimmer
2696
2925
  }
2697
2926
  }
2698
2927
  VegaCalendarFullDayEventRenderer.maxDisplayEventLength = 2;
2699
- __decorate$e([
2928
+ __decorate$h([
2700
2929
  globalSlimmerRegistry.MapToComponentField()
2701
2930
  ], VegaCalendarFullDayEventRenderer.prototype, "calendarView", void 0);
2702
- __decorate$e([
2931
+ __decorate$h([
2703
2932
  globalSlimmerRegistry.MapToComponentField()
2704
2933
  ], VegaCalendarFullDayEventRenderer.prototype, "calendarEventController", void 0);
2705
- __decorate$e([
2934
+ __decorate$h([
2706
2935
  globalSlimmerRegistry.MapToComponentField()
2707
2936
  ], VegaCalendarFullDayEventRenderer.prototype, "eventItemRenderer", void 0);
2708
- __decorate$e([
2937
+ __decorate$h([
2709
2938
  globalSlimmerRegistry.MapToComponentField()
2710
2939
  ], VegaCalendarFullDayEventRenderer.prototype, "fullDayEventLayoutRenderer", void 0);
2711
- __decorate$e([
2940
+ __decorate$h([
2712
2941
  globalSlimmerRegistry.MapToComponentField()
2713
2942
  ], VegaCalendarFullDayEventRenderer.prototype, "showAllEventsInDayOrWeekView", void 0);
2714
- __decorate$e([
2943
+ __decorate$h([
2715
2944
  globalSlimmerRegistry.MapToComponentField()
2716
2945
  ], VegaCalendarFullDayEventRenderer.prototype, "dayViewFullDayEventMoreButtonRenderer", void 0);
2717
2946
 
2718
- var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2947
+ var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2719
2948
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2720
2949
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2721
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;
@@ -2731,7 +2960,7 @@ class VegaCalendarDayViewEventLayoutRenderer extends globalSlimmerRegistry.VegaS
2731
2960
  * a day view in a calendar. It has properties like `eventLayoutColumns`, which is an array of `VegaCalendarDayViewEvent
2732
2961
  * @returns {HTMLElement[]} An array of HTMLElements representing the rendered event nodes based on the provided layout and event data.
2733
2962
  */
2734
- render(layout) {
2963
+ render(layout, targetCalendarViewDate) {
2735
2964
  const layoutColumns = layout.eventLayoutCells;
2736
2965
  const eventNodes = [];
2737
2966
  layoutColumns.forEach((columns, index$1) => {
@@ -2741,7 +2970,7 @@ class VegaCalendarDayViewEventLayoutRenderer extends globalSlimmerRegistry.VegaS
2741
2970
  const currentEvent = columns.getEventBySlotIndex(i);
2742
2971
  if (currentEvent !== renderEvent) {
2743
2972
  if (renderEvent) {
2744
- 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, {
2745
2974
  'day-event': true,
2746
2975
  'bg-shadow': index$1 > 0,
2747
2976
  })));
@@ -2780,9 +3009,12 @@ class VegaCalendarDayViewEventLayoutRenderer extends globalSlimmerRegistry.VegaS
2780
3009
  }
2781
3010
  }
2782
3011
  VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells = 24 * 4;
2783
- __decorate$d([
3012
+ __decorate$g([
2784
3013
  globalSlimmerRegistry.MapToComponentField()
2785
3014
  ], VegaCalendarDayViewEventLayoutRenderer.prototype, "eventItemRenderer", void 0);
3015
+ __decorate$g([
3016
+ globalSlimmerRegistry.MapToComponentField()
3017
+ ], VegaCalendarDayViewEventLayoutRenderer.prototype, "eventPreviewPopoverRenderer", void 0);
2786
3018
 
2787
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`. */
2788
3020
  class VegaCalendarBaseEventLayoutGenerator {
@@ -3066,7 +3298,7 @@ class VegaCalendarEventSorter {
3066
3298
  }
3067
3299
  }
3068
3300
 
3069
- var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3301
+ var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3070
3302
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3071
3303
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3072
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;
@@ -3102,16 +3334,16 @@ class VegaCalendarTimedEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
3102
3334
  .filter((eventItem) => !eventItem.isAllDayEvent && !eventItem.isGroupEvent());
3103
3335
  const sortEvents = this.calendarEventSorter.sortCalendarEventByTime(events);
3104
3336
  const layout = this.dayViewTimedEventLayoutGenerator.generate(sortEvents);
3105
- return this.dayViewEventLayoutRenderer.render(layout);
3337
+ return this.dayViewEventLayoutRenderer.render(layout, date);
3106
3338
  }
3107
3339
  }
3108
- __decorate$c([
3340
+ __decorate$f([
3109
3341
  globalSlimmerRegistry.MapToComponentField()
3110
3342
  ], VegaCalendarTimedEventRenderer.prototype, "calendarView", void 0);
3111
- __decorate$c([
3343
+ __decorate$f([
3112
3344
  globalSlimmerRegistry.MapToComponentField()
3113
3345
  ], VegaCalendarTimedEventRenderer.prototype, "calendarEventController", void 0);
3114
- __decorate$c([
3346
+ __decorate$f([
3115
3347
  globalSlimmerRegistry.MapToComponentField()
3116
3348
  ], VegaCalendarTimedEventRenderer.prototype, "dayViewEventLayoutRenderer", void 0);
3117
3349
 
@@ -3280,7 +3512,7 @@ class VegaCalendarFullDayEventLayoutGenerator extends VegaCalendarBaseEventLayou
3280
3512
  }
3281
3513
  }
3282
3514
 
3283
- var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3515
+ var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3284
3516
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3285
3517
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3286
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;
@@ -3312,12 +3544,12 @@ class VegaCalendarFullDayEventLayoutRenderer extends globalSlimmerRegistry.VegaS
3312
3544
  * @param {currentViewIndex} currentViewIndex the current index of the row
3313
3545
  * @returns {HTMLElement[]} event elements
3314
3546
  */
3315
- render(calendarEvents, currentViewIndex) {
3547
+ render(calendarEvents, currentViewIndex, targetCalendarViewDate) {
3316
3548
  return calendarEvents.map((item, index$1) => {
3317
3549
  if (item) {
3318
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'
3319
3551
  ? VegaCalendarFullDayEventLayoutRenderer.monthViewEventOffsetTop
3320
- : 0) }, this.eventItemRenderer.render(item, {
3552
+ : 0) }, this.eventPreviewPopoverRenderer.render(item, targetCalendarViewDate, {
3321
3553
  'month-event': this.viewMode === 'month',
3322
3554
  'day-event': this.viewMode !== 'month',
3323
3555
  })));
@@ -3365,17 +3597,20 @@ class VegaCalendarFullDayEventLayoutRenderer extends globalSlimmerRegistry.VegaS
3365
3597
  }
3366
3598
  }
3367
3599
  VegaCalendarFullDayEventLayoutRenderer.monthViewEventOffsetTop = 26;
3368
- __decorate$b([
3600
+ __decorate$e([
3369
3601
  globalSlimmerRegistry.MapToComponentField()
3370
3602
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "eventItemRenderer", void 0);
3371
- __decorate$b([
3603
+ __decorate$e([
3372
3604
  globalSlimmerRegistry.MapToComponentField()
3373
3605
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "viewMode", void 0);
3374
- __decorate$b([
3606
+ __decorate$e([
3375
3607
  globalSlimmerRegistry.MapToComponentField()
3376
3608
  ], VegaCalendarFullDayEventLayoutRenderer.prototype, "calendarView", void 0);
3609
+ __decorate$e([
3610
+ globalSlimmerRegistry.MapToComponentField()
3611
+ ], VegaCalendarFullDayEventLayoutRenderer.prototype, "eventPreviewPopoverRenderer", void 0);
3377
3612
 
3378
- var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3613
+ var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3379
3614
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3380
3615
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3381
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;
@@ -3412,14 +3647,14 @@ class VegaCalendarFullDayEventMoreButtonRenderer extends globalSlimmerRegistry.V
3412
3647
  this.showAllEventsInDayOrWeekView = false;
3413
3648
  }
3414
3649
  }
3415
- __decorate$a([
3650
+ __decorate$d([
3416
3651
  globalSlimmerRegistry.MapToComponentField({ writable: true })
3417
3652
  ], VegaCalendarFullDayEventMoreButtonRenderer.prototype, "showAllEventsInDayOrWeekView", void 0);
3418
- __decorate$a([
3653
+ __decorate$d([
3419
3654
  globalSlimmerRegistry.MapToComponentMethod('watchViewModeChange')
3420
3655
  ], VegaCalendarFullDayEventMoreButtonRenderer.prototype, "resetShowAllFlag", null);
3421
3656
 
3422
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3657
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3423
3658
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3424
3659
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3425
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;
@@ -3563,26 +3798,26 @@ class VegaCalendarTimeMarkerRenderer extends globalSlimmerRegistry.VegaSlimmer {
3563
3798
  return 0;
3564
3799
  }
3565
3800
  }
3566
- __decorate$9([
3801
+ __decorate$c([
3567
3802
  globalSlimmerRegistry.MapToComponentField()
3568
3803
  ], VegaCalendarTimeMarkerRenderer.prototype, "viewMode", void 0);
3569
- __decorate$9([
3804
+ __decorate$c([
3570
3805
  globalSlimmerRegistry.MapToComponentField()
3571
3806
  ], VegaCalendarTimeMarkerRenderer.prototype, "viewRenderer", void 0);
3572
- __decorate$9([
3807
+ __decorate$c([
3573
3808
  globalSlimmerRegistry.MapToComponentMethod('watchViewModeChange')
3574
3809
  ], VegaCalendarTimeMarkerRenderer.prototype, "updateTimeLine", null);
3575
- __decorate$9([
3810
+ __decorate$c([
3576
3811
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
3577
3812
  ], VegaCalendarTimeMarkerRenderer.prototype, "clearTimer", null);
3578
- __decorate$9([
3813
+ __decorate$c([
3579
3814
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
3580
3815
  ], VegaCalendarTimeMarkerRenderer.prototype, "updateTimeLineIfComponentAddBack", null);
3581
- __decorate$9([
3816
+ __decorate$c([
3582
3817
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
3583
3818
  ], VegaCalendarTimeMarkerRenderer.prototype, "displayCurrentTimeBlockByDefault", null);
3584
3819
 
3585
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3820
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3586
3821
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3587
3822
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3588
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;
@@ -3608,8 +3843,7 @@ class VegaCalendarPostOperationDateController extends globalSlimmerRegistry.Vega
3608
3843
  */
3609
3844
  setDate(newValue, oldValue) {
3610
3845
  if (newValue.current !== this.postOperationDate) {
3611
- // If the interval is changed from month to month, the time after the operation should be changed to the 1st of each month
3612
- if (newValue.type === 'month' && (oldValue === null || oldValue === void 0 ? void 0 : oldValue.type) === 'month') {
3846
+ if (this.shouldSetCurrentDateToFirstDayOfMonth(newValue, oldValue)) {
3613
3847
  const currentDate = newValue.current.toDate();
3614
3848
  if (currentDate) {
3615
3849
  currentDate.setDate(1);
@@ -3621,17 +3855,178 @@ class VegaCalendarPostOperationDateController extends globalSlimmerRegistry.Vega
3621
3855
  }
3622
3856
  }
3623
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
+ }
3624
4025
  }
3625
- __decorate$8([
3626
- globalSlimmerRegistry.MapToComponentField({ writable: true })
3627
- ], VegaCalendarPostOperationDateController.prototype, "postOperationDate", void 0);
3628
- __decorate$8([
3629
- globalSlimmerRegistry.MapToComponentMethod('watchCurrentPeriodChange')
3630
- ], VegaCalendarPostOperationDateController.prototype, "setDate", null);
3631
4026
 
3632
- 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}";
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%}";
3633
4028
 
3634
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4029
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3635
4030
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3636
4031
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
3637
4032
  r = Reflect.decorate(decorators, target, key, desc);
@@ -3669,11 +4064,13 @@ const VegaCalendar = class {
3669
4064
  // Date after recording the operation
3670
4065
  this.postOperationDateController = new VegaCalendarPostOperationDateController();
3671
4066
  this.dayViewFullDayEventRenderer = new VegaCalendarFullDayEventRenderer();
4067
+ this.eventPreviewPopoverController = new VegaCalendarEventPreviewPopoverController();
3672
4068
  this.dayViewFullDayEventMoreButtonRenderer = new VegaCalendarFullDayEventMoreButtonRenderer();
3673
4069
  this.dayViewTimedEventRenderer = new VegaCalendarTimedEventRenderer();
3674
4070
  this.eventItemRenderer = new VegaCalendarEventItemRenderer();
3675
4071
  this.dayViewEventLayoutRenderer = new VegaCalendarDayViewEventLayoutRenderer();
3676
4072
  this.fullDayEventLayoutRenderer = new VegaCalendarFullDayEventLayoutRenderer();
4073
+ this.eventPreviewPopoverRenderer = new VegaCalendarEventPreviewPopoverRenderer();
3677
4074
  this.calendarEventController = new VegaCalendarEventController();
3678
4075
  this.eventResponsiveController = new VegaCalendarEventResponsiveController();
3679
4076
  this.changeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaCalendar, domNodeSubjectFactory.VegaChange);
@@ -3735,6 +4132,12 @@ const VegaCalendar = class {
3735
4132
  * @vegaVersion 2.28.0
3736
4133
  */
3737
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;
3738
4141
  }
3739
4142
  /**
3740
4143
  * Tracks changes to the current period state.
@@ -3790,91 +4193,97 @@ const VegaCalendar = class {
3790
4193
  "showWeekends": ["watchShowWeekendsChange"]
3791
4194
  }; }
3792
4195
  };
3793
- __decorate$7([
4196
+ __decorate$9([
3794
4197
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
3795
4198
  ], VegaCalendar.prototype, "globalSlimmer", void 0);
3796
- __decorate$7([
4199
+ __decorate$9([
3797
4200
  globalSlimmerRegistry.InjectVegaSlimmer()
3798
4201
  ], VegaCalendar.prototype, "translationSlimmer", void 0);
3799
- __decorate$7([
4202
+ __decorate$9([
3800
4203
  globalSlimmerRegistry.InjectVegaSlimmer()
3801
4204
  ], VegaCalendar.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
3802
- __decorate$7([
4205
+ __decorate$9([
3803
4206
  globalSlimmerRegistry.InjectVegaSlimmer()
3804
4207
  ], VegaCalendar.prototype, "renderer", void 0);
3805
- __decorate$7([
4208
+ __decorate$9([
3806
4209
  globalSlimmerRegistry.InjectVegaSlimmer()
3807
4210
  ], VegaCalendar.prototype, "switchPanelRenderer", void 0);
3808
- __decorate$7([
4211
+ __decorate$9([
3809
4212
  globalSlimmerRegistry.InjectVegaSlimmer()
3810
4213
  ], VegaCalendar.prototype, "viewRenderer", void 0);
3811
- __decorate$7([
4214
+ __decorate$9([
3812
4215
  globalSlimmerRegistry.InjectVegaSlimmer()
3813
4216
  ], VegaCalendar.prototype, "monthViewRenderer", void 0);
3814
- __decorate$7([
4217
+ __decorate$9([
3815
4218
  globalSlimmerRegistry.InjectVegaSlimmer()
3816
4219
  ], VegaCalendar.prototype, "viewWithTimeRenderer", void 0);
3817
- __decorate$7([
4220
+ __decorate$9([
3818
4221
  globalSlimmerRegistry.InjectVegaSlimmer()
3819
4222
  ], VegaCalendar.prototype, "timeLineRenderer", void 0);
3820
- __decorate$7([
4223
+ __decorate$9([
3821
4224
  globalSlimmerRegistry.InjectVegaSlimmer()
3822
4225
  ], VegaCalendar.prototype, "timeMarkerRenderer", void 0);
3823
- __decorate$7([
4226
+ __decorate$9([
3824
4227
  globalSlimmerRegistry.InjectVegaSlimmer()
3825
4228
  ], VegaCalendar.prototype, "monthEventRenderer", void 0);
3826
- __decorate$7([
4229
+ __decorate$9([
3827
4230
  globalSlimmerRegistry.InjectVegaSlimmer()
3828
4231
  ], VegaCalendar.prototype, "currentPeriodController", void 0);
3829
- __decorate$7([
4232
+ __decorate$9([
3830
4233
  globalSlimmerRegistry.InjectVegaSlimmer()
3831
4234
  ], VegaCalendar.prototype, "calendarViewController", void 0);
3832
- __decorate$7([
4235
+ __decorate$9([
3833
4236
  globalSlimmerRegistry.InjectVegaSlimmer()
3834
4237
  ], VegaCalendar.prototype, "postOperationDateController", void 0);
3835
- __decorate$7([
4238
+ __decorate$9([
3836
4239
  globalSlimmerRegistry.InjectVegaSlimmer()
3837
4240
  ], VegaCalendar.prototype, "dayViewFullDayEventRenderer", void 0);
3838
- __decorate$7([
4241
+ __decorate$9([
4242
+ globalSlimmerRegistry.InjectVegaSlimmer()
4243
+ ], VegaCalendar.prototype, "eventPreviewPopoverController", void 0);
4244
+ __decorate$9([
3839
4245
  globalSlimmerRegistry.InjectVegaSlimmer()
3840
4246
  ], VegaCalendar.prototype, "dayViewFullDayEventMoreButtonRenderer", void 0);
3841
- __decorate$7([
4247
+ __decorate$9([
3842
4248
  globalSlimmerRegistry.InjectVegaSlimmer()
3843
4249
  ], VegaCalendar.prototype, "dayViewTimedEventRenderer", void 0);
3844
- __decorate$7([
4250
+ __decorate$9([
3845
4251
  globalSlimmerRegistry.InjectVegaSlimmer()
3846
4252
  ], VegaCalendar.prototype, "eventItemRenderer", void 0);
3847
- __decorate$7([
4253
+ __decorate$9([
3848
4254
  globalSlimmerRegistry.InjectVegaSlimmer()
3849
4255
  ], VegaCalendar.prototype, "dayViewEventLayoutRenderer", void 0);
3850
- __decorate$7([
4256
+ __decorate$9([
3851
4257
  globalSlimmerRegistry.InjectVegaSlimmer()
3852
4258
  ], VegaCalendar.prototype, "fullDayEventLayoutRenderer", void 0);
3853
- __decorate$7([
4259
+ __decorate$9([
4260
+ globalSlimmerRegistry.InjectVegaSlimmer()
4261
+ ], VegaCalendar.prototype, "eventPreviewPopoverRenderer", void 0);
4262
+ __decorate$9([
3854
4263
  globalSlimmerRegistry.InjectVegaSlimmer()
3855
4264
  ], VegaCalendar.prototype, "calendarEventController", void 0);
3856
- __decorate$7([
4265
+ __decorate$9([
3857
4266
  globalSlimmerRegistry.InjectVegaSlimmer()
3858
4267
  ], VegaCalendar.prototype, "eventResponsiveController", void 0);
3859
- __decorate$7([
4268
+ __decorate$9([
3860
4269
  globalSlimmerRegistry.InjectVegaSlimmer()
3861
4270
  ], VegaCalendar.prototype, "changeEventEmitter", void 0);
3862
- __decorate$7([
4271
+ __decorate$9([
3863
4272
  globalSlimmerRegistry.InjectVegaSlimmer()
3864
4273
  ], VegaCalendar.prototype, "eventClickEmitter", void 0);
3865
- __decorate$7([
4274
+ __decorate$9([
3866
4275
  globalSlimmerRegistry.InjectVegaSlimmer()
3867
4276
  ], VegaCalendar.prototype, "dateDblClickEmitter", void 0);
3868
- __decorate$7([
4277
+ __decorate$9([
3869
4278
  globalSlimmerRegistry.InjectVegaSlimmer()
3870
4279
  ], VegaCalendar.prototype, "moreActionClickEmitter", void 0);
3871
- __decorate$7([
4280
+ __decorate$9([
3872
4281
  globalSlimmerRegistry.InjectVegaSlimmer()
3873
4282
  ], VegaCalendar.prototype, "changeEventPrevent", void 0);
3874
- __decorate$7([
4283
+ __decorate$9([
3875
4284
  globalSlimmerRegistry.InjectVegaSlimmer()
3876
4285
  ], VegaCalendar.prototype, "timeFormatNotifySlimmer", void 0);
3877
- __decorate$7([
4286
+ __decorate$9([
3878
4287
  globalSlimmerRegistry.InjectVegaSlimmer()
3879
4288
  ], VegaCalendar.prototype, "showEventColorBarNotifySlimmer", void 0);
3880
4289
  VegaCalendar.style = vegaCalendarCss;
@@ -3883,7 +4292,7 @@ const clockThree = {
3883
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>`,
3884
4293
  };
3885
4294
 
3886
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4295
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3887
4296
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3888
4297
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3889
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;
@@ -4001,7 +4410,7 @@ class VegaCalendarEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
4001
4410
  */
4002
4411
  defaultNormalMonthEventContentRender() {
4003
4412
  const { startTime, title } = this.calendarEvent;
4004
- return index.h("div", { class: "event-title" }, `${this.formatDisplayTime(startTime)} ${title}`);
4413
+ return index.h("div", { class: "event-title" }, `${formatDisplayTime(this.timeFormat, startTime)} ${title}`);
4005
4414
  }
4006
4415
  /**
4007
4416
  * Render the day view timed event.
@@ -4018,7 +4427,7 @@ class VegaCalendarEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
4018
4427
  }, ref: (node) => (this.eventTitleContainerRef = node) }, title),
4019
4428
  index.h("div", { class: "event-time" },
4020
4429
  index.h("vega-icon", { size: "size-12", icon: internalIconManager.VegaInternalIconManager.getIconKey('clock-three') }),
4021
- index.h("span", null, `${this.formatDisplayTime(startTime)} - ${this.formatDisplayTime(endTime)}`))));
4430
+ index.h("span", null, `${formatDisplayTime(this.timeFormat, startTime)} - ${formatDisplayTime(this.timeFormat, endTime)}`))));
4022
4431
  }
4023
4432
  /**
4024
4433
  * Return a slot element if the calendar is not a repeat event
@@ -4036,33 +4445,7 @@ class VegaCalendarEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
4036
4445
  * @returns {HTMLStyleElement} style element
4037
4446
  */
4038
4447
  injectBackgroundColorStyle() {
4039
- return index.h("style", null, this.colorController.getBackgroundColorStyle());
4040
- }
4041
- /**
4042
- * Takes a time string as input and formats it to ensure it always has two digits for hours and minutes.
4043
- *
4044
- * @param {string} timeString the event time string
4045
- * @returns {string} time string after format
4046
- */
4047
- formatDisplayTime(timeString) {
4048
- const [hour, minutes] = timeString.split(':');
4049
- if (this.timeFormat === '24-hour') {
4050
- return `${hour.padStart(2, '0')}:${minutes.padStart(2, '0')}`;
4051
- }
4052
- else {
4053
- const hourNum = Number(hour);
4054
- const amPm = hourNum >= 12 ? 'pm' : 'am';
4055
- const minutesResult = minutes.padStart(2, '0');
4056
- if (hourNum > 12) {
4057
- return `${hourNum - 12}:${minutesResult} pm`;
4058
- }
4059
- else if (hourNum === 0) {
4060
- return `12:${minutesResult} am`;
4061
- }
4062
- else {
4063
- return `${hourNum}:${minutesResult} ${amPm}`;
4064
- }
4065
- }
4448
+ return index.h("style", null, getEventStatusBgColorStyle(this.calendarEvent.color));
4066
4449
  }
4067
4450
  }
4068
4451
  (() => {
@@ -4070,53 +4453,23 @@ class VegaCalendarEventRenderer extends globalSlimmerRegistry.VegaSlimmer {
4070
4453
  'clock-three': clockThree,
4071
4454
  });
4072
4455
  })();
4073
- __decorate$6([
4456
+ __decorate$8([
4074
4457
  globalSlimmerRegistry.MapToComponentField()
4075
4458
  ], VegaCalendarEventRenderer.prototype, "host", void 0);
4076
- __decorate$6([
4459
+ __decorate$8([
4077
4460
  globalSlimmerRegistry.MapToComponentField()
4078
4461
  ], VegaCalendarEventRenderer.prototype, "timeFormat", void 0);
4079
- __decorate$6([
4462
+ __decorate$8([
4080
4463
  globalSlimmerRegistry.MapToComponentField()
4081
4464
  ], VegaCalendarEventRenderer.prototype, "calendarEvent", void 0);
4082
- __decorate$6([
4465
+ __decorate$8([
4083
4466
  globalSlimmerRegistry.MapToComponentField()
4084
4467
  ], VegaCalendarEventRenderer.prototype, "slotMode", void 0);
4085
- __decorate$6([
4468
+ __decorate$8([
4086
4469
  globalSlimmerRegistry.MapToComponentField()
4087
4470
  ], VegaCalendarEventRenderer.prototype, "showColorBar", void 0);
4088
- __decorate$6([
4089
- globalSlimmerRegistry.MapToComponentField()
4090
- ], VegaCalendarEventRenderer.prototype, "colorController", void 0);
4091
-
4092
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4093
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4094
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4095
- 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;
4096
- return c > 3 && r && Object.defineProperty(target, key, r), r;
4097
- };
4098
- /** The `VegaCalendarEventBgColorController` class in TypeScript provides methods to handle background color for calendar events based on a color map and custom color variables. */
4099
- class VegaCalendarEventBgColorController extends globalSlimmerRegistry.VegaSlimmer {
4100
- /**
4101
- * Get the background color css string from the background token or background color string
4102
- *
4103
- * @returns {string} css string
4104
- */
4105
- getBackgroundColorStyle() {
4106
- const color = this.calendarEvent.color || 'bg-accent6-primary';
4107
- if (typeGuard.isBackgroundColorTokenType(color)) {
4108
- return `.event-bg-color{${stateBackgroundColorFormatter.stateBackgroundColorFormatter.formatToken(color)}}`;
4109
- }
4110
- else {
4111
- return `.event-bg-color{background-color:${color}}`;
4112
- }
4113
- }
4114
- }
4115
- __decorate$5([
4116
- globalSlimmerRegistry.MapToComponentField()
4117
- ], VegaCalendarEventBgColorController.prototype, "calendarEvent", void 0);
4118
4471
 
4119
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4472
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4120
4473
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4121
4474
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4122
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;
@@ -4150,14 +4503,14 @@ class VegaCalendarEventSubStateController extends subStateObserverSlimmer.SubSta
4150
4503
  });
4151
4504
  }
4152
4505
  }
4153
- __decorate$4([
4506
+ __decorate$7([
4154
4507
  globalSlimmerRegistry.MapToComponentField({ writable: true })
4155
4508
  ], VegaCalendarEventSubStateController.prototype, "timeFormat", void 0);
4156
- __decorate$4([
4509
+ __decorate$7([
4157
4510
  globalSlimmerRegistry.MapToComponentField({ writable: true })
4158
4511
  ], VegaCalendarEventSubStateController.prototype, "showColorBar", void 0);
4159
4512
 
4160
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4513
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4161
4514
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4162
4515
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4163
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;
@@ -4189,11 +4542,11 @@ class VegaCalendarTitleMaxHeightController extends globalSlimmerRegistry.VegaSli
4189
4542
  }
4190
4543
  }
4191
4544
  }
4192
- __decorate$3([
4545
+ __decorate$6([
4193
4546
  globalSlimmerRegistry.MapToComponentField()
4194
4547
  ], VegaCalendarTitleMaxHeightController.prototype, "renderer", void 0);
4195
4548
 
4196
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4549
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4197
4550
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4198
4551
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4199
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;
@@ -4250,28 +4603,28 @@ class VegaCalendarEventSlotController extends globalSlimmerRegistry.VegaSlimmer
4250
4603
  return this.host.classList.contains('calendar-event-in-popover');
4251
4604
  }
4252
4605
  }
4253
- __decorate$2([
4606
+ __decorate$5([
4254
4607
  globalSlimmerRegistry.MapToComponentField()
4255
4608
  ], VegaCalendarEventSlotController.prototype, "host", void 0);
4256
- __decorate$2([
4609
+ __decorate$5([
4257
4610
  globalSlimmerRegistry.MapToComponentField()
4258
4611
  ], VegaCalendarEventSlotController.prototype, "calendarEvent", void 0);
4259
- __decorate$2([
4612
+ __decorate$5([
4260
4613
  globalSlimmerRegistry.MapToComponentField({ writable: true })
4261
4614
  ], VegaCalendarEventSlotController.prototype, "slotMode", void 0);
4262
- __decorate$2([
4615
+ __decorate$5([
4263
4616
  globalSlimmerRegistry.MapToComponentField()
4264
4617
  ], VegaCalendarEventSlotController.prototype, "renderer", void 0);
4265
- __decorate$2([
4618
+ __decorate$5([
4266
4619
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
4267
4620
  ], VegaCalendarEventSlotController.prototype, "findTheCalendarEventSlot", null);
4268
- __decorate$2([
4621
+ __decorate$5([
4269
4622
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
4270
4623
  ], VegaCalendarEventSlotController.prototype, "appendTheRepeatEventSlotToContainer", null);
4271
4624
 
4272
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%)}";
4273
4626
 
4274
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4627
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4275
4628
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4276
4629
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4277
4630
  r = Reflect.decorate(decorators, target, key, desc);
@@ -4297,7 +4650,6 @@ const VegaCalendarEvent = class {
4297
4650
  });
4298
4651
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
4299
4652
  this.renderer = new VegaCalendarEventRenderer();
4300
- this.colorController = new VegaCalendarEventBgColorController();
4301
4653
  this.slotController = new VegaCalendarEventSlotController();
4302
4654
  this.subStateController = new VegaCalendarEventSubStateController();
4303
4655
  this.titleMaxHeightController = new VegaCalendarTitleMaxHeightController();
@@ -4311,31 +4663,197 @@ const VegaCalendarEvent = class {
4311
4663
  }
4312
4664
  get host() { return index.getElement(this); }
4313
4665
  };
4314
- __decorate$1([
4666
+ __decorate$4([
4315
4667
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
4316
4668
  ], VegaCalendarEvent.prototype, "globalSlimmer", void 0);
4317
- __decorate$1([
4669
+ __decorate$4([
4318
4670
  globalSlimmerRegistry.InjectVegaSlimmer()
4319
4671
  ], VegaCalendarEvent.prototype, "pageResizeObserverSlimmer", void 0);
4320
- __decorate$1([
4672
+ __decorate$4([
4321
4673
  globalSlimmerRegistry.InjectVegaSlimmer()
4322
4674
  ], VegaCalendarEvent.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
4323
- __decorate$1([
4675
+ __decorate$4([
4324
4676
  globalSlimmerRegistry.InjectVegaSlimmer()
4325
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
+ };
4326
4841
  __decorate$1([
4327
4842
  globalSlimmerRegistry.InjectVegaSlimmer()
4328
- ], VegaCalendarEvent.prototype, "colorController", void 0);
4843
+ ], VegaCalendarEventPreview.prototype, "detailRenderer", void 0);
4329
4844
  __decorate$1([
4330
4845
  globalSlimmerRegistry.InjectVegaSlimmer()
4331
- ], VegaCalendarEvent.prototype, "slotController", void 0);
4846
+ ], VegaCalendarEventPreview.prototype, "stateController", void 0);
4332
4847
  __decorate$1([
4333
4848
  globalSlimmerRegistry.InjectVegaSlimmer()
4334
- ], VegaCalendarEvent.prototype, "subStateController", void 0);
4849
+ ], VegaCalendarEventPreview.prototype, "translationSlimmer", void 0);
4850
+ __decorate$1([
4851
+ componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
4852
+ ], VegaCalendarEventPreview.prototype, "globalSlimmer", void 0);
4335
4853
  __decorate$1([
4336
4854
  globalSlimmerRegistry.InjectVegaSlimmer()
4337
- ], VegaCalendarEvent.prototype, "titleMaxHeightController", void 0);
4338
- VegaCalendarEvent.style = vegaCalendarEventCss;
4855
+ ], VegaCalendarEventPreview.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
4856
+ VegaCalendarEventPreview.style = vegaCalendarEventPreviewCss;
4339
4857
 
4340
4858
  const vegaCalendarEventSlotCss = ":host{width:100%;height:100%;position:relative}";
4341
4859
 
@@ -4370,4 +4888,5 @@ VegaCalendarEventSlot.style = vegaCalendarEventSlotCss;
4370
4888
 
4371
4889
  exports.vega_calendar = VegaCalendar;
4372
4890
  exports.vega_calendar_event = VegaCalendarEvent;
4891
+ exports.vega_calendar_event_preview = VegaCalendarEventPreview;
4373
4892
  exports.vega_calendar_event_slot = VegaCalendarEventSlot;