@globalpayments/vega 2.57.1 → 2.59.0

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