@globalpayments/vega 2.67.0 → 2.68.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/dist/cjs/{app-globals-ab28f910.js → app-globals-f7106a22.js} +15 -14
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-eb803b14.js → child-nodes-event-prevent-slimmer-f8840f1b.js} +1 -1
  3. package/dist/cjs/{code-block-ab97a0a0.js → code-block-39074880.js} +514 -319
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-5630341e.js → component-value-history-controller-slimmer.abstract-ddedf543.js} +2 -2
  5. package/dist/cjs/{design-token-847739f1.js → design-token-e14a4e66.js} +1 -1
  6. package/dist/cjs/{dto-renderer-manager-d0f0f2c0.js → dto-renderer-manager-b7969d6c.js} +1587 -1563
  7. package/dist/cjs/{element-appender-slimmer-aead9bbb.js → element-appender-slimmer-7ee27ab3.js} +5 -5
  8. package/dist/cjs/{event-emit-slimmer-d21a0935.js → event-emit-slimmer-7afe8d78.js} +1 -1
  9. package/dist/cjs/{token-extension-aa8d5cce.js → function-extension-f0e845f2.js} +1019 -96
  10. package/dist/cjs/{image-annotation-action-d84de785.js → image-annotation-action-7f0626c8.js} +15 -25
  11. package/dist/cjs/index-58ea899e.js +2 -2
  12. package/dist/cjs/index.cjs.js +36 -24
  13. package/dist/cjs/{internal-vega-event-manager-4d1ce667.js → internal-vega-event-manager-45d451de.js} +5 -2
  14. package/dist/cjs/{language-extension-d257e65d.js → language-extension-d0103d1a.js} +5 -5
  15. package/dist/cjs/loader.cjs.js +8 -8
  16. package/dist/cjs/{public-rules-d2b9b8f0.js → public-rules-8b67eaba.js} +3 -3
  17. package/dist/cjs/{range-d610028e.js → range-002671b6.js} +1 -1
  18. package/dist/cjs/{responsive-format-facade-71e7b74c.js → responsive-format-facade-347db035.js} +3 -3
  19. package/dist/cjs/{rich-text-editor-required-rule-a8fe5f50.js → rich-text-editor-required-rule-5392bd8a.js} +1 -1
  20. package/dist/cjs/{style-formatter-6facb42b.js → style-formatter-0a09f0dd.js} +1 -1
  21. package/dist/cjs/vega-accordion.cjs.entry.js +7 -7
  22. package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -8
  23. package/dist/cjs/vega-banner.cjs.entry.js +2 -2
  24. package/dist/cjs/vega-box.cjs.entry.js +8 -8
  25. package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
  26. package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
  27. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  28. package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
  29. package/dist/cjs/vega-button.cjs.entry.js +8 -8
  30. package/dist/cjs/vega-calendar_4.cjs.entry.js +313 -273
  31. package/dist/cjs/vega-card.cjs.entry.js +7 -7
  32. package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
  33. package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
  34. package/dist/cjs/vega-chip.cjs.entry.js +9 -9
  35. package/dist/cjs/vega-code-block.cjs.entry.js +6 -6
  36. package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
  37. package/dist/cjs/vega-combo-box.cjs.entry.js +3 -3
  38. package/dist/cjs/vega-date-picker_2.cjs.entry.js +12 -12
  39. package/dist/cjs/vega-dialog_2.cjs.entry.js +15 -15
  40. package/dist/cjs/vega-divider.cjs.entry.js +7 -7
  41. package/dist/cjs/vega-dropdown_5.cjs.entry.js +9 -9
  42. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  43. package/dist/cjs/vega-field-label.cjs.entry.js +24 -5
  44. package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
  45. package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
  46. package/dist/cjs/vega-flex.cjs.entry.js +8 -8
  47. package/dist/cjs/vega-font.cjs.entry.js +7 -7
  48. package/dist/cjs/vega-form.cjs.entry.js +3 -3
  49. package/dist/cjs/vega-grid.cjs.entry.js +7 -7
  50. package/dist/cjs/vega-icon.cjs.entry.js +6 -6
  51. package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
  52. package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
  53. package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
  54. package/dist/cjs/vega-input-passcode.cjs.entry.js +3 -3
  55. package/dist/cjs/vega-input-phone-number.cjs.entry.js +6 -6
  56. package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
  57. package/dist/cjs/vega-input-select.cjs.entry.js +38 -14
  58. package/dist/cjs/vega-input.cjs.entry.js +14 -3
  59. package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
  60. package/dist/cjs/vega-left-nav_5.cjs.entry.js +11 -11
  61. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +8 -8
  62. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
  63. package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
  64. package/dist/cjs/vega-popover_2.cjs.entry.js +9 -9
  65. package/dist/cjs/vega-progress-tracker.cjs.entry.js +2 -2
  66. package/dist/cjs/vega-radio_2.cjs.entry.js +3 -3
  67. package/dist/cjs/vega-rich-text-content.cjs.entry.js +93 -16
  68. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +107 -54
  69. package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
  70. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
  71. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
  72. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  73. package/dist/cjs/vega-signature-capture.cjs.entry.js +7 -7
  74. package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
  75. package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
  76. package/dist/cjs/{vega-table_8.cjs.entry.js → vega-table_11.cjs.entry.js} +750 -323
  77. package/dist/cjs/vega-textarea.cjs.entry.js +24 -4
  78. package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -9
  79. package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
  80. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  81. package/dist/cjs/vega.cjs.js +8 -8
  82. package/dist/collection/collection-manifest.json +6 -0
  83. package/dist/collection/components/vega-calendar/slimmers/common/helpers/calendar-event-sorter.js +3 -3
  84. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
  85. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/day-view-timed-event-layout-column.js +3 -1
  86. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.js +4 -4
  87. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +3 -4
  88. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.js +11 -3
  89. package/dist/collection/components/vega-field-label/vega-field-label.js +42 -0
  90. package/dist/collection/components/vega-input/vega-input.js +48 -2
  91. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.js +16 -5
  92. package/dist/collection/components/vega-input-select/vega-input-select.css +2 -44
  93. package/dist/collection/components/vega-input-select/vega-input-select.js +81 -1
  94. package/dist/collection/components/vega-rich-text-content/slimmers/controllers/vega-rich-text-content-extensions-styles-controller.js +60 -0
  95. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +7 -1
  96. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +17 -1
  97. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor-registry.js +61 -0
  98. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor.abstract.js +5 -0
  99. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.js +30 -6
  100. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +10 -3
  101. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +2 -1
  102. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.js +28 -0
  103. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +1 -0
  104. package/dist/collection/components/vega-rich-text-editor/dto/actions/paste-content-action.js +17 -0
  105. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +5 -0
  106. package/dist/collection/components/vega-rich-text-editor/dto/annotations/annotation-style.js +87 -0
  107. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +27 -9
  108. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +1 -12
  109. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +6 -0
  110. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +14 -5
  111. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  112. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +7 -37
  113. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +14 -3
  114. package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +19 -1
  115. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +44 -3
  116. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +51 -1
  117. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-new-paragraph-interceptor.js +30 -0
  118. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-paste-content-interceptor.js +25 -0
  119. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/function-block-insert-paragraph-strategy.js +30 -0
  120. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +99 -0
  121. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/paste-plain-text-strategy.js +68 -0
  122. package/dist/collection/components/vega-rich-text-editor/extensions/functions/actions/insert-function-block-action.js +15 -0
  123. package/dist/collection/components/vega-rich-text-editor/extensions/functions/actions/paste-plain-text-action.js +17 -0
  124. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +97 -0
  125. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +73 -0
  126. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +69 -0
  127. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +49 -0
  128. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +27 -0
  129. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +55 -0
  130. package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +75 -0
  131. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +38 -0
  132. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +71 -0
  133. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +20 -0
  134. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +1 -1
  135. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +3 -1
  136. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.js +5 -6
  137. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -1
  138. package/dist/collection/components/vega-rich-text-editor/public-api.js +8 -1
  139. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +9 -1
  140. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +0 -12
  141. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +3 -1
  142. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +12 -10
  143. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +2 -4
  144. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -5
  145. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +1 -4
  146. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +10 -1
  147. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +2 -4
  148. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  149. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +4 -1
  150. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +2 -4
  151. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +1 -4
  152. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +1 -4
  153. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +1 -4
  154. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +2 -4
  155. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +2 -4
  156. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +2 -5
  157. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +2 -4
  158. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +11 -0
  159. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +4 -1
  160. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/action-handle-strategy-registry.test.js +32 -2
  161. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-delete-node-content-strategy.test.js +69 -0
  162. package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-style.test.js +70 -0
  163. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.css +3 -0
  164. package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
  165. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-children-controller.js +25 -1
  166. package/dist/collection/components/vega-table/vega-table-foot/slimmers/controllers/vega-table-foot-state-controller.js +67 -0
  167. package/dist/collection/components/vega-table/vega-table-foot/vega-table-foot.css +34 -0
  168. package/dist/collection/components/vega-table/vega-table-foot/vega-table-foot.js +65 -0
  169. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/controllers/vega-table-foot-cell-state-controller.js +43 -0
  170. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +32 -0
  171. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +116 -0
  172. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +130 -0
  173. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/controllers/vega-table-foot-row-state-controller.js +77 -0
  174. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +41 -0
  175. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.css +52 -0
  176. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +71 -0
  177. package/dist/collection/components/vega-table/vega-table.css +12 -1
  178. package/dist/collection/components/vega-table/vega-table.js +1 -1
  179. package/dist/collection/components/vega-textarea/vega-textarea.js +88 -2
  180. package/dist/collection/global/scripts/before-vega-load.js +2 -0
  181. package/dist/collection/helpers/calendar/calendar-date-time.js +136 -0
  182. package/dist/collection/helpers/calendar/calendar-date.js +10 -4
  183. package/dist/collection/helpers/calendar/calendar-event.js +38 -193
  184. package/dist/collection/helpers/calendar/calendar-time.js +120 -0
  185. package/dist/collection/helpers/calendar/index.js +2 -0
  186. package/dist/collection/helpers/calendar/test/calendar-date-time.test.js +27 -0
  187. package/dist/collection/helpers/calendar/test/calendar-event.test.js +24 -22
  188. package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +2 -2
  189. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +2 -2
  190. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +6 -6
  191. package/dist/collection/helpers/calendar/test/calendar-time.test.js +45 -0
  192. package/dist/collection/helpers/calendar/test/utils.test.js +1 -29
  193. package/dist/collection/helpers/calendar/utils.js +0 -66
  194. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +5 -2
  195. package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +2 -0
  196. package/dist/esm/{app-globals-37a60cc1.js → app-globals-2f689986.js} +6 -5
  197. package/dist/esm/{child-nodes-event-prevent-slimmer-735cb880.js → child-nodes-event-prevent-slimmer-76331524.js} +1 -1
  198. package/dist/esm/{code-block-11b2bc1c.js → code-block-e8839202.js} +511 -318
  199. package/dist/esm/{component-value-history-controller-slimmer.abstract-16c5cb96.js → component-value-history-controller-slimmer.abstract-c6f94113.js} +2 -2
  200. package/dist/esm/{design-token-297dc528.js → design-token-e9e6b011.js} +1 -1
  201. package/dist/esm/{dto-renderer-manager-a1a3b6d2.js → dto-renderer-manager-7abc53bf.js} +1587 -1565
  202. package/dist/esm/{element-appender-slimmer-f7233708.js → element-appender-slimmer-8dbc8387.js} +2 -2
  203. package/dist/esm/{event-emit-slimmer-28fd360c.js → event-emit-slimmer-4e28e9f8.js} +1 -1
  204. package/dist/esm/{token-extension-b690953f.js → function-extension-eb1d062f.js} +1018 -97
  205. package/dist/esm/{image-annotation-action-fc46c920.js → image-annotation-action-7957653a.js} +14 -24
  206. package/dist/esm/index-090d31ca.js +2 -2
  207. package/dist/esm/index.js +9 -9
  208. package/dist/esm/{internal-vega-event-manager-a5a5938d.js → internal-vega-event-manager-516aa721.js} +5 -2
  209. package/dist/esm/{language-extension-314a2b18.js → language-extension-3331131f.js} +3 -3
  210. package/dist/esm/loader.js +8 -8
  211. package/dist/esm/{public-rules-c6a6946d.js → public-rules-e613dead.js} +3 -3
  212. package/dist/esm/{range-b78254de.js → range-adf206fd.js} +1 -1
  213. package/dist/esm/{responsive-format-facade-a41e1be7.js → responsive-format-facade-b0712993.js} +3 -3
  214. package/dist/esm/{rich-text-editor-required-rule-d50c24da.js → rich-text-editor-required-rule-43857573.js} +1 -1
  215. package/dist/esm/{style-formatter-f7effaac.js → style-formatter-a20a1ef4.js} +1 -1
  216. package/dist/esm/vega-accordion.entry.js +7 -7
  217. package/dist/esm/vega-app-header-button.entry.js +8 -8
  218. package/dist/esm/vega-banner.entry.js +2 -2
  219. package/dist/esm/vega-box.entry.js +8 -8
  220. package/dist/esm/vega-breadcrumb.entry.js +3 -3
  221. package/dist/esm/vega-button-circle.entry.js +9 -9
  222. package/dist/esm/vega-button-group_2.entry.js +3 -3
  223. package/dist/esm/vega-button-link.entry.js +3 -3
  224. package/dist/esm/vega-button.entry.js +8 -8
  225. package/dist/esm/vega-calendar_4.entry.js +313 -273
  226. package/dist/esm/vega-card.entry.js +7 -7
  227. package/dist/esm/vega-carousel.entry.js +7 -7
  228. package/dist/esm/vega-checkbox_2.entry.js +3 -3
  229. package/dist/esm/vega-chip.entry.js +9 -9
  230. package/dist/esm/vega-code-block.entry.js +6 -6
  231. package/dist/esm/vega-color-picker.entry.js +2 -2
  232. package/dist/esm/vega-combo-box.entry.js +3 -3
  233. package/dist/esm/vega-date-picker_2.entry.js +8 -8
  234. package/dist/esm/vega-dialog_2.entry.js +9 -9
  235. package/dist/esm/vega-divider.entry.js +7 -7
  236. package/dist/esm/vega-dropdown_5.entry.js +9 -9
  237. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  238. package/dist/esm/vega-field-label.entry.js +24 -5
  239. package/dist/esm/vega-file-uploader.entry.js +2 -2
  240. package/dist/esm/vega-flag-icon.entry.js +6 -6
  241. package/dist/esm/vega-flex.entry.js +8 -8
  242. package/dist/esm/vega-font.entry.js +7 -7
  243. package/dist/esm/vega-form.entry.js +3 -3
  244. package/dist/esm/vega-grid.entry.js +7 -7
  245. package/dist/esm/vega-icon.entry.js +6 -6
  246. package/dist/esm/vega-image-uploader.entry.js +7 -7
  247. package/dist/esm/vega-input-credit-card.entry.js +3 -3
  248. package/dist/esm/vega-input-numeric.entry.js +3 -3
  249. package/dist/esm/vega-input-passcode.entry.js +3 -3
  250. package/dist/esm/vega-input-phone-number.entry.js +6 -6
  251. package/dist/esm/vega-input-range.entry.js +3 -3
  252. package/dist/esm/vega-input-select.entry.js +38 -14
  253. package/dist/esm/vega-input.entry.js +14 -3
  254. package/dist/esm/vega-item-toggle.entry.js +2 -2
  255. package/dist/esm/vega-left-nav_5.entry.js +7 -7
  256. package/dist/esm/vega-loader-wrapper_2.entry.js +6 -6
  257. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
  258. package/dist/esm/vega-pagination.entry.js +7 -7
  259. package/dist/esm/vega-popover_2.entry.js +9 -9
  260. package/dist/esm/vega-progress-tracker.entry.js +2 -2
  261. package/dist/esm/vega-radio_2.entry.js +3 -3
  262. package/dist/esm/vega-rich-text-content.entry.js +93 -16
  263. package/dist/esm/vega-rich-text-editor_4.entry.js +107 -54
  264. package/dist/esm/vega-segment-control.entry.js +2 -2
  265. package/dist/esm/vega-selection-chip_2.entry.js +8 -8
  266. package/dist/esm/vega-selection-tile_2.entry.js +3 -3
  267. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  268. package/dist/esm/vega-signature-capture.entry.js +7 -7
  269. package/dist/esm/vega-stepper.entry.js +3 -3
  270. package/dist/esm/vega-tab-group_2.entry.js +3 -3
  271. package/dist/esm/{vega-table_8.entry.js → vega-table_11.entry.js} +745 -321
  272. package/dist/esm/vega-textarea.entry.js +25 -5
  273. package/dist/esm/vega-time-picker_2.entry.js +9 -9
  274. package/dist/esm/vega-toggle-switch.entry.js +2 -2
  275. package/dist/esm/vega-tooltip_2.entry.js +7 -7
  276. package/dist/esm/vega.js +8 -8
  277. package/dist/sri/vega-sri-manifest.json +273 -273
  278. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.d.ts +1 -1
  279. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.d.ts +1 -0
  280. package/dist/types/components/vega-field-label/types.d.ts +12 -0
  281. package/dist/types/components/vega-field-label/vega-field-label.d.ts +13 -1
  282. package/dist/types/components/vega-input/vega-input.d.ts +14 -2
  283. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.d.ts +3 -0
  284. package/dist/types/components/vega-input-select/vega-input-select.d.ts +25 -0
  285. package/dist/types/components/vega-rich-text-content/slimmers/controllers/vega-rich-text-content-extensions-styles-controller.d.ts +26 -0
  286. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +1 -0
  287. package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +7 -0
  288. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor-registry.d.ts +42 -0
  289. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor.abstract.d.ts +26 -0
  290. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +9 -2
  291. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +7 -0
  292. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.d.ts +12 -0
  293. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -1
  294. package/dist/types/components/vega-rich-text-editor/dto/actions/paste-content-action.d.ts +20 -0
  295. package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +1 -0
  296. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation-style.d.ts +46 -0
  297. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +10 -1
  298. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +3 -3
  299. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +6 -0
  300. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +0 -11
  301. package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +16 -0
  302. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +19 -3
  303. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +36 -3
  304. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-new-paragraph-interceptor.d.ts +25 -0
  305. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-paste-content-interceptor.d.ts +17 -0
  306. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/function-block-insert-paragraph-strategy.d.ts +18 -0
  307. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.d.ts +27 -0
  308. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/paste-plain-text-strategy.d.ts +26 -0
  309. package/dist/types/components/vega-rich-text-editor/extensions/functions/actions/insert-function-block-action.d.ts +17 -0
  310. package/dist/types/components/vega-rich-text-editor/extensions/functions/actions/paste-plain-text-action.d.ts +17 -0
  311. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +58 -0
  312. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.d.ts +55 -0
  313. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +48 -0
  314. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.d.ts +27 -0
  315. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.d.ts +14 -0
  316. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.d.ts +32 -0
  317. package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +19 -0
  318. package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.d.ts +25 -0
  319. package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.d.ts +33 -0
  320. package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.d.ts +12 -0
  321. package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +2 -2
  322. package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +2 -2
  323. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +2 -2
  324. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts +3 -4
  325. package/dist/types/components/vega-rich-text-editor/interface.d.ts +8 -2
  326. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +8 -1
  327. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +2 -11
  328. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.d.ts +1 -1
  329. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +15 -0
  330. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +1 -0
  331. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +11 -0
  332. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +1 -0
  333. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-delete-node-content-strategy.test.d.ts +1 -0
  334. package/dist/types/components/vega-rich-text-editor/test/dto/annotation-style.test.d.ts +1 -0
  335. package/dist/types/components/vega-table/interface.d.ts +4 -0
  336. package/dist/types/components/vega-table/slimmers/controllers/vega-table-children-controller.d.ts +9 -1
  337. package/dist/types/components/vega-table/vega-table-foot/slimmers/controllers/vega-table-foot-state-controller.d.ts +22 -0
  338. package/dist/types/components/vega-table/vega-table-foot/types.d.ts +4 -0
  339. package/dist/types/components/vega-table/vega-table-foot/vega-table-foot.d.ts +23 -0
  340. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/controllers/vega-table-foot-cell-state-controller.d.ts +10 -0
  341. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +8 -0
  342. package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +45 -0
  343. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/controllers/vega-table-foot-row-state-controller.d.ts +20 -0
  344. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +11 -0
  345. package/dist/types/components/vega-table/vega-table-foot-row/types.d.ts +4 -0
  346. package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +41 -0
  347. package/dist/types/components/vega-textarea/vega-textarea.d.ts +26 -0
  348. package/dist/types/components.d.ts +134 -3
  349. package/dist/types/helpers/calendar/calendar-date-time.d.ts +76 -0
  350. package/dist/types/helpers/calendar/calendar-event.d.ts +18 -57
  351. package/dist/types/helpers/calendar/calendar-time.d.ts +64 -0
  352. package/dist/types/helpers/calendar/index.d.ts +2 -0
  353. package/dist/types/helpers/calendar/test/calendar-date-time.test.d.ts +1 -0
  354. package/dist/types/helpers/calendar/test/calendar-time.test.d.ts +1 -0
  355. package/dist/types/helpers/calendar/utils.d.ts +0 -25
  356. package/dist/types/types/components.type.d.ts +1 -1
  357. package/dist/types/types/public-api.d.ts +2 -0
  358. package/dist/vega/index.esm.js +1 -1
  359. package/dist/vega/{p-6f7d42a0.entry.js → p-00376f71.entry.js} +1 -1
  360. package/dist/vega/p-018d70a5.js +1 -0
  361. package/dist/vega/p-0849f85e.js +1 -0
  362. package/dist/vega/{p-b431f9d5.entry.js → p-0a55f984.entry.js} +1 -1
  363. package/dist/vega/p-0f7dec29.entry.js +1 -0
  364. package/dist/vega/{p-47cae62d.entry.js → p-113d305b.entry.js} +1 -1
  365. package/dist/vega/{p-015cdbe7.entry.js → p-115b42e6.entry.js} +1 -1
  366. package/dist/vega/p-16358fec.entry.js +1 -0
  367. package/dist/vega/{p-af5bfe34.js → p-16d68187.js} +1 -1
  368. package/dist/vega/{p-92a22562.entry.js → p-18e8c54a.entry.js} +1 -1
  369. package/dist/vega/{p-6f6ccf67.entry.js → p-1922303e.entry.js} +1 -1
  370. package/dist/vega/{p-74d61782.entry.js → p-19256107.entry.js} +1 -1
  371. package/dist/vega/{p-59298f5e.entry.js → p-1dcb1fcd.entry.js} +2 -2
  372. package/dist/vega/{p-7f69081b.entry.js → p-1dd7f8b2.entry.js} +1 -1
  373. package/dist/vega/{p-d006e732.entry.js → p-22fe8c61.entry.js} +1 -1
  374. package/dist/vega/{p-524693d8.entry.js → p-238afe1b.entry.js} +1 -1
  375. package/dist/vega/p-240d9d35.entry.js +1 -0
  376. package/dist/vega/{p-b82d3915.entry.js → p-24419ebe.entry.js} +1 -1
  377. package/dist/vega/p-2478f65e.js +1 -0
  378. package/dist/vega/{p-358e9800.entry.js → p-2c945862.entry.js} +1 -1
  379. package/dist/vega/{p-5f58d1da.entry.js → p-2e32fbe6.entry.js} +1 -1
  380. package/dist/vega/p-2f04d2ac.js +1 -0
  381. package/dist/vega/{p-a73dc4b3.entry.js → p-30a8d9d6.entry.js} +1 -1
  382. package/dist/vega/{p-e6cccee4.js → p-369810ae.js} +1 -1
  383. package/dist/vega/p-3ad87199.entry.js +1 -0
  384. package/dist/vega/{p-fe2e859f.entry.js → p-3b800f1b.entry.js} +1 -1
  385. package/dist/vega/p-437f865f.js +1 -0
  386. package/dist/vega/{p-de624f7d.entry.js → p-48bc03fa.entry.js} +1 -1
  387. package/dist/vega/{p-46830028.entry.js → p-54ddd06f.entry.js} +1 -1
  388. package/dist/vega/{p-5a0524ab.entry.js → p-56636a58.entry.js} +1 -1
  389. package/dist/vega/{p-fc8c5869.entry.js → p-56f77466.entry.js} +1 -1
  390. package/dist/vega/p-5a555092.entry.js +1 -0
  391. package/dist/vega/p-5f377954.js +1 -1
  392. package/dist/vega/{p-ab1001f5.entry.js → p-61d9cdf9.entry.js} +1 -1
  393. package/dist/vega/{p-39b9c57b.entry.js → p-626246b4.entry.js} +1 -1
  394. package/dist/vega/p-6609d87e.entry.js +1 -0
  395. package/dist/vega/p-69d27eaf.entry.js +1 -0
  396. package/dist/vega/{p-7efb5ebe.entry.js → p-705dad87.entry.js} +1 -1
  397. package/dist/vega/{p-8d574fbd.entry.js → p-75b5894f.entry.js} +1 -1
  398. package/dist/vega/{p-00071542.entry.js → p-76b1dae4.entry.js} +1 -1
  399. package/dist/vega/{p-54b62ecf.js → p-7747c163.js} +1 -1
  400. package/dist/vega/{p-0ed53cce.entry.js → p-787caad3.entry.js} +1 -1
  401. package/dist/vega/{p-129c0ce1.js → p-79e6e12c.js} +1 -1
  402. package/dist/vega/{p-cc519f53.entry.js → p-7dde3be9.entry.js} +1 -1
  403. package/dist/vega/p-82ef2de0.entry.js +1 -0
  404. package/dist/vega/{p-5e32866d.entry.js → p-83a50ac2.entry.js} +1 -1
  405. package/dist/vega/p-8506e8c3.js +1 -0
  406. package/dist/vega/{p-47fa359b.js → p-85407fb9.js} +1 -1
  407. package/dist/vega/{p-892cbe7c.entry.js → p-880569ec.entry.js} +1 -1
  408. package/dist/vega/{p-0113a83c.entry.js → p-8dba59a6.entry.js} +1 -1
  409. package/dist/vega/p-94e167b8.entry.js +1 -0
  410. package/dist/vega/{p-b2aaab66.entry.js → p-98fb9eaa.entry.js} +1 -1
  411. package/dist/vega/{p-3288a65b.entry.js → p-99bf5993.entry.js} +1 -1
  412. package/dist/vega/p-a211ae63.js +1 -0
  413. package/dist/vega/{p-fef846d5.entry.js → p-a2506cb5.entry.js} +1 -1
  414. package/dist/vega/{p-4e33fff6.entry.js → p-a6fb5a40.entry.js} +1 -1
  415. package/dist/vega/{p-bee1cc34.entry.js → p-b5060e84.entry.js} +1 -1
  416. package/dist/vega/{p-616cd622.entry.js → p-b78670c9.entry.js} +1 -1
  417. package/dist/vega/{p-d5761532.entry.js → p-b8558278.entry.js} +1 -1
  418. package/dist/vega/{p-8d655fd2.entry.js → p-bb0f2b5f.entry.js} +1 -1
  419. package/dist/vega/{p-a7631c6b.js → p-bb37a401.js} +1 -1
  420. package/dist/vega/p-bccee21e.js +1 -0
  421. package/dist/vega/{p-2553031f.entry.js → p-bd0e55a2.entry.js} +1 -1
  422. package/dist/vega/{p-65693321.entry.js → p-c0223a17.entry.js} +1 -1
  423. package/dist/vega/{p-2d430dc4.entry.js → p-c26332ae.entry.js} +1 -1
  424. package/dist/vega/{p-7f9ec104.entry.js → p-c54148fb.entry.js} +1 -1
  425. package/dist/vega/{p-276b1163.entry.js → p-d3905af1.entry.js} +2 -2
  426. package/dist/vega/p-d4893487.js +1 -0
  427. package/dist/vega/{p-d1dacaeb.entry.js → p-d67200e8.entry.js} +1 -1
  428. package/dist/vega/{p-725f0a2c.js → p-db57dddc.js} +1 -1
  429. package/dist/vega/{p-ed8bc4f0.entry.js → p-de02f404.entry.js} +1 -1
  430. package/dist/vega/{p-d4452dbc.entry.js → p-de8c5fae.entry.js} +1 -1
  431. package/dist/vega/{p-7b145620.js → p-de97c6d9.js} +1 -1
  432. package/dist/vega/{p-34800282.entry.js → p-e0979451.entry.js} +1 -1
  433. package/dist/vega/{p-1a3cb65e.entry.js → p-e6351dab.entry.js} +1 -1
  434. package/dist/vega/{p-8d096fea.entry.js → p-f0fb3fdd.entry.js} +1 -1
  435. package/dist/vega/{p-ea05a2fc.entry.js → p-f3399ef1.entry.js} +1 -1
  436. package/dist/vega/vega.esm.js +1 -1
  437. package/package.json +1 -1
  438. package/dist/vega/p-019f7f95.js +0 -1
  439. package/dist/vega/p-03a1e82e.entry.js +0 -1
  440. package/dist/vega/p-0d1eca78.entry.js +0 -1
  441. package/dist/vega/p-16370cfb.js +0 -1
  442. package/dist/vega/p-3a7f177a.entry.js +0 -1
  443. package/dist/vega/p-41c3fcb4.js +0 -1
  444. package/dist/vega/p-81105691.entry.js +0 -1
  445. package/dist/vega/p-822c6092.js +0 -1
  446. package/dist/vega/p-8edf3513.js +0 -1
  447. package/dist/vega/p-a1b7a179.entry.js +0 -1
  448. package/dist/vega/p-ab8f99e9.entry.js +0 -1
  449. package/dist/vega/p-bf7f755b.js +0 -1
  450. package/dist/vega/p-bf9476cd.entry.js +0 -1
  451. package/dist/vega/p-c6ce2869.js +0 -1
  452. package/dist/vega/p-d0e6454e.entry.js +0 -1
  453. package/dist/vega/p-d88e88a7.js +0 -1
  454. package/dist/vega/p-f360c9ba.js +0 -1
  455. package/dist/vega/p-ff3bb4e2.entry.js +0 -1
@@ -14,10 +14,11 @@ import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-co
14
14
  import { FORM_ELEMENT_VALUE_CHANGE } from '../../helpers/change-manager/subject/static-subject/static-subject-title';
15
15
  import ChangeManager from '../../helpers/change-manager/change-manager';
16
16
  import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
17
- import { VegaBlur, VegaChange } from '../../helpers/event-manager/event-id/vega-event-id';
17
+ import { VegaBlur, VegaChange, VegaLabelButtonClick, } from '../../helpers/event-manager/event-id/vega-event-id';
18
18
  import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
19
19
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
20
20
  import { VegaTextareaRuntimeMetricsPayloadDefinition } from '../../constants/runtime-metrics-payload-definition/vega-textarea/runtime-metrics-payload-definition';
21
+ import { DomNodeSubjectObserverFactory } from '../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
21
22
  /**
22
23
  * @vegaVersion 1.11.0
23
24
  */
@@ -47,6 +48,7 @@ export class VegaTextarea {
47
48
  });
48
49
  this.changeEventEmitter = createEventEmitSlimmer(VegaTextarea, VegaChange);
49
50
  this.blurEventEmitter = createEventEmitSlimmer(VegaTextarea, VegaBlur);
51
+ this.labelButtonClickEventEmitter = createEventEmitSlimmer(VegaTextarea, VegaLabelButtonClick);
50
52
  this.textareaEventPrevent = new ChildNodesEventPreventSlimmer([VegaChange], () => this.inputContainerRef);
51
53
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaTextareaRuntimeMetricsPayloadDefinition);
52
54
  this.currentCharCount = 0;
@@ -82,6 +84,15 @@ export class VegaTextarea {
82
84
  * @vegaVersion 1.11.0
83
85
  */
84
86
  this.label = '';
87
+ /**
88
+ * Specifies the properties for the suffix button associated with the input.
89
+ *
90
+ * It provides essential information and functionality
91
+ * related to the suffix button's role and behavior.
92
+ *
93
+ * @vegaVersion __VERSION__
94
+ */
95
+ this.labelSuffixButtonConfig = null;
85
96
  /**
86
97
  * Determines whether to display a character counter
87
98
  * for the textarea.
@@ -192,6 +203,9 @@ export class VegaTextarea {
192
203
  this.isExceedMaxLength = (value, maxLength) => {
193
204
  return maxLength != null ? value.length > maxLength : false;
194
205
  };
206
+ this.handleLabelButtonClick = () => {
207
+ this.labelButtonClickEventEmitter.emit();
208
+ };
195
209
  }
196
210
  watchValue(value) {
197
211
  this.changeEventEmitter.emit(value);
@@ -230,7 +244,9 @@ export class VegaTextarea {
230
244
  this.hint && this.renderHintMessage()), this.host);
231
245
  }
232
246
  renderLabelDom() {
233
- return (h("vega-field-label", { onClick: this.inputFocus, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
247
+ return (h("vega-field-label", { onClick: this.inputFocus, "is-field-required": this.required, disabled: this.disabled, label: this.label, suffixButtonConfig: this.labelSuffixButtonConfig, ref: (node) => {
248
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaLabelButtonClick, this.handleLabelButtonClick);
249
+ } }));
234
250
  }
235
251
  static get is() { return "vega-textarea"; }
236
252
  static get encapsulation() { return "shadow"; }
@@ -325,6 +341,34 @@ export class VegaTextarea {
325
341
  "reflect": false,
326
342
  "defaultValue": "''"
327
343
  },
344
+ "labelSuffixButtonConfig": {
345
+ "type": "unknown",
346
+ "mutable": false,
347
+ "complexType": {
348
+ "original": "Nullable<LabelSuffixButtonConfig>",
349
+ "resolved": "{ icon: string; } & Partial<Pick<HTMLVegaTooltipElement, \"size\" | \"trigger\" | \"minWidth\" | \"maxWidth\" | \"text\" | \"placement\" | \"alignment\">>",
350
+ "references": {
351
+ "Nullable": {
352
+ "location": "import",
353
+ "path": "../../types/general"
354
+ },
355
+ "LabelSuffixButtonConfig": {
356
+ "location": "import",
357
+ "path": "../vega-field-label/types"
358
+ }
359
+ }
360
+ },
361
+ "required": false,
362
+ "optional": false,
363
+ "docs": {
364
+ "tags": [{
365
+ "name": "vegaVersion",
366
+ "text": "__VERSION__"
367
+ }],
368
+ "text": "Specifies the properties for the suffix button associated with the input.\n\nIt provides essential information and functionality\n related to the suffix button's role and behavior."
369
+ },
370
+ "defaultValue": "null"
371
+ },
328
372
  "showCounter": {
329
373
  "type": "boolean",
330
374
  "mutable": false,
@@ -620,6 +664,45 @@ export class VegaTextarea {
620
664
  "resolved": "undefined",
621
665
  "references": {}
622
666
  }
667
+ }, {
668
+ "method": "vegaLabelButtonClick",
669
+ "name": "vegaLabelButtonClick",
670
+ "bubbles": true,
671
+ "cancelable": true,
672
+ "composed": true,
673
+ "docs": {
674
+ "tags": [{
675
+ "name": "vegaVersion",
676
+ "text": "2.68.0"
677
+ }],
678
+ "text": "An event emitter notifying that the suffix button associated with the field label has been clicked."
679
+ },
680
+ "complexType": {
681
+ "original": "any",
682
+ "resolved": "any",
683
+ "references": {}
684
+ }
685
+ }, {
686
+ "method": "labelButtonClick",
687
+ "name": "labelButtonClick",
688
+ "bubbles": true,
689
+ "cancelable": true,
690
+ "composed": true,
691
+ "docs": {
692
+ "tags": [{
693
+ "name": "eventSemantics",
694
+ "text": "namespace:native"
695
+ }, {
696
+ "name": "vegaVersion",
697
+ "text": "2.68.0"
698
+ }],
699
+ "text": "An event emitter notifying that the suffix button associated with the field label has been clicked."
700
+ },
701
+ "complexType": {
702
+ "original": "any",
703
+ "resolved": "any",
704
+ "references": {}
705
+ }
623
706
  }]; }
624
707
  static get elementRef() { return "host"; }
625
708
  static get watchers() { return [{
@@ -649,6 +732,9 @@ __decorate([
649
732
  __decorate([
650
733
  InjectVegaSlimmer()
651
734
  ], VegaTextarea.prototype, "blurEventEmitter", void 0);
735
+ __decorate([
736
+ InjectVegaSlimmer()
737
+ ], VegaTextarea.prototype, "labelButtonClickEventEmitter", void 0);
652
738
  __decorate([
653
739
  InjectVegaSlimmer()
654
740
  ], VegaTextarea.prototype, "textareaEventPrevent", void 0);
@@ -22,6 +22,7 @@ import { VegaNonceInjectorSlimmer } from '../../helpers/slimmers/global/vega-non
22
22
  import { VegaRTETokenExtension } from '../../components/vega-rich-text-editor/extensions/tokens/token-extension';
23
23
  import { VegaRTELanguageExtension } from '../../components/vega-rich-text-editor/extensions/languages/language-extension';
24
24
  import { VegaRTEPresetToolbarItems } from '../../components/vega-rich-text-editor/constants/constant';
25
+ import { VegaRTEFunctionExtension } from '../../components/vega-rich-text-editor/extensions/functions/function-extension';
25
26
  /**
26
27
  * Default export function that will be used by stencil global script,
27
28
  * which will be invoked before library loaded.
@@ -193,6 +194,7 @@ function injectVegaRichTextEditorClassIntoGlobal() {
193
194
  globalThis.VegaRTETokenExtension = VegaRTETokenExtension;
194
195
  globalThis.VegaRTELanguageExtension = VegaRTELanguageExtension;
195
196
  globalThis.VegaRTEPresetToolbarItems = VegaRTEPresetToolbarItems;
197
+ globalThis.VegaRTEFunctionExtension = VegaRTEFunctionExtension;
196
198
  }
197
199
  /**
198
200
  * Inject VegaPublicValidationRules to global as a public api
@@ -0,0 +1,136 @@
1
+ import { LogUtility } from '../../utils/log';
2
+ import { CalendarTime } from './calendar-time';
3
+ import { CalendarDate } from './calendar-date';
4
+ import { getSystemTimezone } from './utils';
5
+ /**
6
+ * CalendarDateTime centralizes timezone-aware conversions between native Date instances and calendar helpers.
7
+ */
8
+ export class CalendarDateTime {
9
+ constructor(date, timezone) {
10
+ this.originalDate = date;
11
+ this.timezone = timezone;
12
+ this.syncDateTime();
13
+ }
14
+ /**
15
+ * Build a CalendarDateTime from a native Date while the specific timezone.
16
+ *
17
+ * @param {Date} date - The native Date object to convert.
18
+ * @param {string} timezone - The timezone to apply.
19
+ * @returns {CalendarDateTime} A timezone-aware CalendarDateTime instance.
20
+ */
21
+ static fromDate(date, timezone) {
22
+ return new CalendarDateTime(date, timezone);
23
+ }
24
+ /**
25
+ * Build a CalendarDateTime from a date input (Date or string) and optional time metadata.
26
+ *
27
+ * @param {string | Date} date - The input date value (string or Date).
28
+ * @param {CalendarDateTimeOptions} options - Additional options for time, timezone, seconds, etc.
29
+ * @returns {CalendarDateTime} A timezone-aware CalendarDateTime instance.
30
+ */
31
+ static fromInitDataSource(date, options) {
32
+ const baseDate = new Date(date);
33
+ if (options.time) {
34
+ const calendarTime = CalendarTime.fromString(options.time);
35
+ baseDate.setHours(calendarTime.hours, calendarTime.minutes, 0, 0);
36
+ }
37
+ else if (options.endTimeMissing) {
38
+ baseDate.setHours(23, 59, 59, 0);
39
+ }
40
+ return CalendarDateTime.fromDate(baseDate, options.timezone);
41
+ }
42
+ /**
43
+ * Get the CalendarDate instance representing the date portion.
44
+ *
45
+ * @returns {CalendarDate} The CalendarDate object.
46
+ */
47
+ get calendarDate() {
48
+ return this.date;
49
+ }
50
+ /**
51
+ * Get the CalendarTime instance representing the time portion.
52
+ *
53
+ * @returns {CalendarTime} The CalendarTime object.
54
+ */
55
+ get calendarTime() {
56
+ return this.time;
57
+ }
58
+ /**
59
+ * Get a native Date object representing this CalendarDateTime.
60
+ *
61
+ * @returns {Date} The native Date object.
62
+ */
63
+ toDate() {
64
+ return this.date.toDate();
65
+ }
66
+ /**
67
+ * Set a new timezone and update CalendarDate/CalendarTime accordingly.
68
+ *
69
+ * @param {string} newTimezone - The new timezone to set.
70
+ */
71
+ setTimezone(newTimezone) {
72
+ this.timezone = newTimezone;
73
+ this.syncDateTime();
74
+ }
75
+ /**
76
+ * Sync CalendarDate and CalendarTime with the current originalDate and timezone.
77
+ */
78
+ syncDateTime() {
79
+ const normalized = this.convertDateToTimezone(this.originalDate);
80
+ this.date = new CalendarDate(normalized.getFullYear(), normalized.getMonth() + 1, normalized.getDate());
81
+ this.time = CalendarTime.fromDate(normalized);
82
+ }
83
+ /**
84
+ * Convert a Date to the specific timezone.
85
+ *
86
+ * @param {Date} date - The date to convert.
87
+ * @returns {Date} The date adjusted to the specific timezone.
88
+ */
89
+ convertDateToTimezone(date) {
90
+ if (this.timezone === getSystemTimezone()) {
91
+ return date;
92
+ }
93
+ try {
94
+ const formatter = new Intl.DateTimeFormat([], {
95
+ timeZone: this.timezone,
96
+ year: 'numeric',
97
+ month: '2-digit',
98
+ day: '2-digit',
99
+ hour: '2-digit',
100
+ minute: '2-digit',
101
+ second: '2-digit',
102
+ hour12: false,
103
+ });
104
+ const parts = formatter.formatToParts(date);
105
+ const yearPart = this.findDateTimeFormatPart(parts, 'year');
106
+ const monthPart = this.findDateTimeFormatPart(parts, 'month');
107
+ const dayPart = this.findDateTimeFormatPart(parts, 'day');
108
+ const hourPart = this.findDateTimeFormatPart(parts, 'hour');
109
+ const minutePart = this.findDateTimeFormatPart(parts, 'minute');
110
+ const secondPart = this.findDateTimeFormatPart(parts, 'second');
111
+ if (yearPart && monthPart && dayPart && hourPart && minutePart && secondPart) {
112
+ const year = parseInt(yearPart.value, 10);
113
+ const month = parseInt(monthPart.value, 10);
114
+ const day = parseInt(dayPart.value, 10);
115
+ const hour = parseInt(hourPart.value, 10);
116
+ const minute = parseInt(minutePart.value, 10);
117
+ const second = parseInt(secondPart.value, 10);
118
+ return new Date(year, month - 1, day, hour, minute, second);
119
+ }
120
+ }
121
+ catch (_a) {
122
+ LogUtility.warn('Invalid timezone:', this.timezone);
123
+ }
124
+ return date;
125
+ }
126
+ /**
127
+ * Find a specific part in the Intl.DateTimeFormatPart array.
128
+ *
129
+ * @param {Intl.DateTimeFormatPart[]} parts - The array of date/time format parts.
130
+ * @param {DateTimeFormatPartType} type - The type of part to find (e.g., 'year', 'month').
131
+ * @returns {Intl.DateTimeFormatPart | undefined} The matching part, if found.
132
+ */
133
+ findDateTimeFormatPart(parts, type) {
134
+ return parts.find((part) => part.type === type);
135
+ }
136
+ }
@@ -1,5 +1,6 @@
1
1
  import { VegaInternalTranslation } from '../translation';
2
- import { getCurrentDatePartsInTimezone, getSystemTimezone } from './utils';
2
+ import { CalendarDateTime } from './calendar-date-time';
3
+ import { getSystemTimezone } from './utils';
3
4
  /**
4
5
  * Calendar date class
5
6
  */
@@ -17,8 +18,7 @@ export class CalendarDate {
17
18
  * @returns {CalendarDate} - Return a CalendarDate object
18
19
  */
19
20
  static from(currentDate, timezone = getSystemTimezone()) {
20
- const { year, month, date } = getCurrentDatePartsInTimezone(timezone, currentDate);
21
- return new CalendarDate(year, month, date);
21
+ return CalendarDateTime.fromDate(currentDate, timezone).calendarDate;
22
22
  }
23
23
  /**
24
24
  * The year of the calendar date
@@ -60,7 +60,13 @@ export class CalendarDate {
60
60
  * @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
61
61
  */
62
62
  isToday(timezone = getSystemTimezone()) {
63
- const { year, month, date } = getCurrentDatePartsInTimezone(timezone, new Date());
63
+ if (timezone === getSystemTimezone()) {
64
+ const today = new Date();
65
+ return (today.getFullYear() === this.year &&
66
+ today.getMonth() + 1 === this.month &&
67
+ today.getDate() === this.date);
68
+ }
69
+ const { year, month, date } = CalendarDateTime.fromDate(new Date(), timezone).calendarDate;
64
70
  return year === this.year && month === this.month && date === this.date;
65
71
  }
66
72
  /**
@@ -2,8 +2,9 @@ import calendarEventRepeatPatternFactory from '../../components/vega-calendar/sl
2
2
  import { generateUUID } from '../../utils/misc';
3
3
  import { VegaInternalTranslation } from '../translation';
4
4
  import { CalendarDate } from './calendar-date';
5
- import { formatDisplayTime, getSystemTimezone, WeekdayLongNames } from './utils';
6
- import { LogUtility } from '../../utils/log';
5
+ import { CalendarTime } from './calendar-time';
6
+ import { CalendarDateTime } from './calendar-date-time';
7
+ import { getSystemTimezone, WeekdayLongNames } from './utils';
7
8
  const CalendarDateFormatReg = /^\d{1,2}\/\d{1,2}\/\d{4}/;
8
9
  const CalendarTimeFormatReg = /^\d{1,2}:\d{1,2}/;
9
10
  /** The `CalendarEvent` class in TypeScript represents a calendar event with methods to validate required fields, initialize dates and times, and determine if it is a group event. */
@@ -101,7 +102,7 @@ export class CalendarEvent {
101
102
  * @returns {Date} The `startDate` property of type `Date` is being returned.
102
103
  */
103
104
  get startDate() {
104
- return this._startDate;
105
+ return this._startDateTime.toDate();
105
106
  }
106
107
  /**
107
108
  * The function returns the end date property of an object.
@@ -109,23 +110,23 @@ export class CalendarEvent {
109
110
  * @returns {Date} The `endDate` property of type `Date` is being returned.
110
111
  */
111
112
  get endDate() {
112
- return this._endDate;
113
+ return this._endDateTime.toDate();
113
114
  }
114
115
  /**
115
- * This function returns the start time as a string.
116
+ * This function returns the start time as a CalendarTime.
116
117
  *
117
- * @returns {string} The `_startTime` property, which is a string, is being returned.
118
+ * @returns {CalendarTime} The event start time.
118
119
  */
119
120
  get startTime() {
120
- return this._startTime;
121
+ return this._startDateTime.calendarTime;
121
122
  }
122
123
  /**
123
- * This function returns the end time as a string.
124
+ * This function returns the end time as a CalendarTime.
124
125
  *
125
- * @returns {string} The `_endTime` property, which is a string, is being returned.
126
+ * @returns {CalendarTime} The event end time.
126
127
  */
127
128
  get endTime() {
128
- return this._endTime;
129
+ return this._endDateTime.calendarTime;
129
130
  }
130
131
  /**
131
132
  * This function returns the number of days that an event spans.
@@ -150,7 +151,7 @@ export class CalendarEvent {
150
151
  const endDate = this._eventSpansDays > 1
151
152
  ? new Date(startDate.year, startDate.month - 1, startDate.date + (this._eventSpansDays - 1))
152
153
  : startDate.toDate();
153
- const result = new CalendarEvent(Object.assign(Object.assign({}, this._event), { startDate: startDate.toDate(), endDate: endDate, startTime: this.startTime, endTime: this.endTime }), eventKey);
154
+ const result = new CalendarEvent(Object.assign(Object.assign({}, this._event), { startDate: startDate.toDate(), endDate: endDate, startTime: this.startTime.toString(), endTime: this.endTime.toString() }), eventKey);
154
155
  return result;
155
156
  }
156
157
  /**
@@ -193,8 +194,8 @@ export class CalendarEvent {
193
194
  */
194
195
  generateDateTimeString(viewDate, timeFormat) {
195
196
  const weekDay = VegaInternalTranslation.t(Object.values(WeekdayLongNames)[viewDate.toDate().getDay()]);
196
- const startTime = formatDisplayTime(timeFormat, this.startTime);
197
- const endTime = formatDisplayTime(timeFormat, this.endTime);
197
+ const startTime = this.startTime.toString(timeFormat);
198
+ const endTime = this.endTime.toString(timeFormat);
198
199
  return `${weekDay}, ${viewDate.date} ${viewDate.getMonthName(true)} ${viewDate.year} ${startTime} - ${endTime}`;
199
200
  }
200
201
  /**
@@ -202,13 +203,8 @@ export class CalendarEvent {
202
203
  *
203
204
  * @returns {number} the minutes
204
205
  */
205
- getEventDuration() {
206
- const [startHour, startMinutes] = this.startTime.split(':');
207
- const [endHour, endMinutes] = this.endTime.split(':');
208
- const now = CalendarDate.from(new Date(), this._timezone);
209
- const startDate = new Date(now.year, now.month, now.date, Number(startHour), Number(startMinutes));
210
- const endDate = new Date(now.year, now.month, now.date, Number(endHour) === 0 && Number(startHour) !== 0 ? 24 : Number(endHour), Number(endMinutes));
211
- return (endDate.valueOf() - startDate.valueOf()) / (60 * 1000);
206
+ getEventMinutes() {
207
+ return CalendarTime.calculateDuration(this.startTime, this.endTime, 'minutes');
212
208
  }
213
209
  /**
214
210
  * This function returns an array of repeat series based on a given calendar period.
@@ -232,36 +228,8 @@ export class CalendarEvent {
232
228
  */
233
229
  updateTimezone(timezone) {
234
230
  this._timezone = timezone;
235
- this.initDate(this._event);
236
- this.initEventSpansDays();
237
- this.initRepeatPattern();
238
- }
239
- /**
240
- * The function `convertTimeTo24Hour` converts a time string from 12-hour format to 24-hour format in TypeScript.
241
- *
242
- * @param {string} timeString - The `convertTimeTo24Hour` function you provided is used to convert a
243
- * time string from 12-hour format to 24-hour format. The function checks if the input time string is
244
- * in 12-hour format and contains either 'am' or 'pm'.
245
- * @returns {string} The `convertTimeTo24Hour` function returns a string representing the input time string
246
- * converted to 24-hour format. If the input time string is in 12-hour format and contains 'am' or
247
- * 'pm', it converts it to 24-hour format. If the input time string is not in 12-hour format or does
248
- * not contain 'am' or 'pm', it returns the original input
249
- */
250
- convertTimeTo24Hour(timeString) {
251
- timeString = timeString.toLocaleLowerCase();
252
- if (timeString.indexOf('am') > 0 || timeString.indexOf('pm') > 0) {
253
- if (timeString.indexOf('am') > 0) {
254
- timeString = timeString.replace('am', '').trim();
255
- const [hour, minutes] = timeString.split(':');
256
- return `${hour === '12' ? '00' : hour}:${minutes}`;
257
- }
258
- else {
259
- timeString = timeString.replace('pm', '').trim();
260
- const [hour, minutes] = timeString.split(':');
261
- return `${hour === '12' ? '12' : Number(hour) + 12}:${minutes}`;
262
- }
263
- }
264
- return timeString;
231
+ this._startDateTime.setTimezone(timezone);
232
+ this._endDateTime.setTimezone(timezone);
265
233
  }
266
234
  /**
267
235
  * The function `checkEventRequireField` validates the required fields of a calendar event item in TypeScript.
@@ -293,164 +261,41 @@ export class CalendarEvent {
293
261
  */
294
262
  initDate(eventOptions) {
295
263
  const { startDate, startTime, endDate, endTime } = eventOptions;
296
- const originalDateParts = this.processStartDate(startDate, startTime || '');
297
- this._startTime = this.formatTimeForDisplay(this._startDate, startTime || '');
298
- this.processEndDate(endDate || '', endTime || '', originalDateParts);
299
- this._endTime = this.formatTimeForDisplay(this._endDate, endTime || '');
264
+ this.processStartDate(startDate, startTime);
265
+ this.processEndDate(endDate, endTime, startDate);
300
266
  }
301
267
  /**
302
- * Process start date
268
+ * Parse the supplied start date/time, normalize into calendar wrappers.
303
269
  *
304
- * @param {string | Date} startDate - Start date (string or Date object)
305
- * @param {string} startTime - Start time string
306
- * @returns {DateParts | undefined} originalDateParts information
270
+ * @param {string | Date} startDate - Raw start date value from the event payload.
271
+ * @param {string} startTime - Optional textual time component to parse.
307
272
  */
308
273
  processStartDate(startDate, startTime) {
309
- let originalDateParts;
310
- let tempDate;
311
- if (startDate && typeof startDate === 'object') {
312
- originalDateParts = {
313
- year: startDate.getFullYear(),
314
- month: startDate.getMonth(),
315
- date: startDate.getDate(),
316
- };
317
- tempDate = startDate;
318
- }
319
- else if (startDate && typeof startDate === 'string') {
320
- const [month, day, year] = startDate.split('/');
321
- originalDateParts = {
322
- year: Number(year),
323
- month: Number(month) - 1,
324
- date: Number(day),
325
- };
326
- tempDate = new Date(originalDateParts.year, originalDateParts.month, originalDateParts.date);
327
- }
328
- if (startTime && originalDateParts && tempDate) {
329
- const { timeHours, timeMinutes } = this.getCurrentHourAndMinutes(startTime);
330
- tempDate = new Date(originalDateParts.year, originalDateParts.month, originalDateParts.date, timeHours, timeMinutes, 0);
331
- }
332
- if (tempDate) {
333
- this._startDate = this.convertDateToTimezone(tempDate);
334
- }
335
- return originalDateParts;
336
- }
337
- /**
338
- * Process end date
339
- *
340
- * @param {string | Date} endDate - End date (string or Date object)
341
- * @param {string} endTime - End time string
342
- * @param {DateParts | undefined} fallbackDateParts - Default date parts to use when endDate is empty
343
- */
344
- processEndDate(endDate, endTime, fallbackDateParts) {
345
- let tempDate;
346
- if (endDate && typeof endDate === 'object') {
347
- tempDate = endDate;
348
- }
349
- else if (endDate && typeof endDate === 'string') {
350
- const [month, day, year] = endDate.split('/');
351
- tempDate = new Date(Number(year), Number(month) - 1, Number(day), 23, 59, 59);
352
- }
353
- else {
354
- if (fallbackDateParts) {
355
- tempDate = new Date(fallbackDateParts.year, fallbackDateParts.month, fallbackDateParts.date, 23, 59, 59);
356
- }
357
- }
358
- if (endTime && tempDate) {
359
- const { timeHours, timeMinutes } = this.getCurrentHourAndMinutes(endTime, 23, 59);
360
- tempDate = new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate(), timeHours, timeMinutes, 59);
361
- }
362
- if (tempDate) {
363
- this._endDate = this.convertDateToTimezone(tempDate);
364
- }
365
- }
366
- /**
367
- * Format time for display
368
- *
369
- * @param {Date} date - Date object
370
- * @param {string} originalTime - Original time string
371
- * @returns {string} Formatted time string
372
- */
373
- formatTimeForDisplay(date, originalTime) {
374
- const shouldUseOriginalTime = Boolean(originalTime) && this._timezone === getSystemTimezone();
375
- if (shouldUseOriginalTime) {
376
- const convertedTime = this.convertTimeTo24Hour(originalTime);
377
- const [hour, minutes] = convertedTime.split(':');
378
- return `${date.getHours().toString().padStart(hour.length, '0')}:${date
379
- .getMinutes()
380
- .toString()
381
- .padStart(minutes.length, '0')}`;
382
- }
383
- else {
384
- return `${date.getHours()}:${date.getMinutes()}`;
385
- }
386
- }
387
- /**
388
- * Parses a time string and extracts hour and minute values.
389
- * If the time string is empty or invalid, returns the provided default values.
390
- *
391
- * @param {string} time - The time string to parse (e.g., "14:30", "2:30 PM")
392
- * @param {number} defaultHours - Default hour value to use when time is empty (default: 0)
393
- * @param {number} defaultMinutes - Default minute value to use when time is empty (default: 0)
394
- * @returns {CalendarTimeHourMinutes} An object containing timeHours and timeMinutes as numbers
395
- */
396
- getCurrentHourAndMinutes(time, defaultHours = 0, defaultMinutes = 0) {
397
- let timeHours = defaultHours;
398
- let timeMinutes = defaultMinutes;
399
- if (time) {
400
- const timeString = this.convertTimeTo24Hour(time).split(':');
401
- timeHours = Number(timeString[0]);
402
- timeMinutes = Number(timeString[1]);
403
- }
404
- return { timeHours, timeMinutes };
274
+ this._startDateTime = CalendarDateTime.fromInitDataSource(startDate, {
275
+ timezone: this._timezone,
276
+ time: startTime,
277
+ });
405
278
  }
406
279
  /**
407
- * Converts a Date object to the target timezone
280
+ * Parse the supplied end date/time, normalize into calendar wrappers.
408
281
  *
409
- * @param {Date} date - The Date object to convert
410
- * @returns {Date} A Date object representing the date/time in the target timezone
282
+ * @param {string | Date | undefined} endDate - The raw end date value from the event payload.
283
+ * @param {string | undefined} endTime - The optional textual end time component to parse.
284
+ * @param {string | Date} originStartDate - The start date value to use as fallback if endDate is missing.
411
285
  */
412
- convertDateToTimezone(date) {
413
- if (this._timezone && this._timezone !== getSystemTimezone()) {
414
- try {
415
- const targetFormatter = new Intl.DateTimeFormat([], {
416
- timeZone: this._timezone,
417
- year: 'numeric',
418
- month: '2-digit',
419
- day: '2-digit',
420
- hour: '2-digit',
421
- minute: '2-digit',
422
- second: '2-digit',
423
- hour12: false,
424
- });
425
- const targetParts = targetFormatter.formatToParts(date);
426
- const getYear = targetParts.find((part) => part.type === 'year');
427
- const getMonth = targetParts.find((part) => part.type === 'month');
428
- const getDay = targetParts.find((part) => part.type === 'day');
429
- const getHour = targetParts.find((part) => part.type === 'hour');
430
- const getMinute = targetParts.find((part) => part.type === 'minute');
431
- const getSecond = targetParts.find((part) => part.type === 'second');
432
- if (getYear && getMonth && getDay && getHour && getMinute && getSecond) {
433
- const year = parseInt(getYear.value, 10);
434
- const month = parseInt(getMonth.value, 10);
435
- const day = parseInt(getDay.value, 10);
436
- const hour = parseInt(getHour.value, 10);
437
- const minute = parseInt(getMinute.value, 10);
438
- const second = parseInt(getSecond.value, 10);
439
- return new Date(year, month - 1, day, hour, minute, second);
440
- }
441
- }
442
- catch (error) {
443
- LogUtility.warn('Invalid timezone:', this._timezone);
444
- }
445
- }
446
- return date;
286
+ processEndDate(endDate, endTime, originStartDate) {
287
+ this._endDateTime = CalendarDateTime.fromInitDataSource(endDate || originStartDate, {
288
+ timezone: this._timezone,
289
+ time: endTime,
290
+ endTimeMissing: !endTime && !endDate,
291
+ });
447
292
  }
448
293
  /**
449
294
  * The function initializes a repeat pattern controller for a calendar event with specified start and end dates and repeat options.
450
295
  */
451
296
  initRepeatPattern() {
452
297
  if (this._event.repeatOptions && this._event.repeatOptions.frequency) {
453
- this.repeatPattern = calendarEventRepeatPatternFactory.getPattern(this._startDate, this._event.repeatOptions, this._timezone);
298
+ this.repeatPattern = calendarEventRepeatPatternFactory.getPattern(this.startDate, this._event.repeatOptions, this._timezone);
454
299
  }
455
300
  }
456
301
  /**