@globalpayments/vega 2.64.0 → 2.66.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 (490) hide show
  1. package/dist/cjs/{app-globals-a190cd2d.js → app-globals-ab28f910.js} +9 -9
  2. package/dist/cjs/{brand-switch-state-controller-slimmer-5efa1b24.js → brand-switch-state-controller-slimmer-3d41b2a4.js} +1 -1
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-4e96270e.js → child-nodes-event-prevent-slimmer-eb803b14.js} +1 -1
  4. package/dist/cjs/{child-nodes-notify-observer-slimmer-34ac3bfc.js → child-nodes-notify-observer-slimmer-257fedb3.js} +1 -1
  5. package/dist/cjs/{code-block-417a131b.js → code-block-ab97a0a0.js} +15 -18
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-0c4d1453.js → component-value-history-controller-slimmer.abstract-5630341e.js} +6 -6
  7. package/dist/cjs/{dark-mode-state-controller-slimmer-add5d8a8.js → dark-mode-state-controller-slimmer-8a87ec08.js} +1 -1
  8. package/dist/cjs/{dark-mode-style-controller-41c94aac.js → dark-mode-style-controller-27809ff8.js} +1 -1
  9. package/dist/cjs/{design-token-ae0de304.js → design-token-847739f1.js} +1 -1
  10. package/dist/cjs/{dom-node-subject-observer-factory-58e3c010.js → dom-node-subject-observer-factory-f040608b.js} +6 -2
  11. package/dist/cjs/{dto-renderer-manager-6d338e46.js → dto-renderer-manager-d0f0f2c0.js} +20 -35
  12. package/dist/cjs/{element-appender-slimmer-5a23e722.js → element-appender-slimmer-aead9bbb.js} +6 -6
  13. package/dist/cjs/{event-emit-slimmer-428d8802.js → event-emit-slimmer-d21a0935.js} +2 -2
  14. package/dist/cjs/{form-field-controller-slimmer-cceb5c79.js → form-field-controller-slimmer-2a091912.js} +16 -8
  15. package/dist/cjs/{image-annotation-action-9785bc59.js → image-annotation-action-d84de785.js} +4 -4
  16. package/dist/cjs/{index-9a92abce.js → index-4b896e76.js} +2 -2
  17. package/dist/cjs/index-58ea899e.js +4 -0
  18. package/dist/cjs/index.cjs.js +16 -16
  19. package/dist/cjs/{inject-keyboard-manager-ad865c95.js → inject-keyboard-manager-13c66257.js} +1 -1
  20. package/dist/cjs/{internal-vega-event-manager-28b957c8.js → internal-vega-event-manager-4d1ce667.js} +3 -2
  21. package/dist/cjs/{keyboard-manager-7f4e1f43.js → keyboard-manager-af0d08a6.js} +8 -2
  22. package/dist/cjs/{keyboard-manager-slimmer-138a90e5.js → keyboard-manager-slimmer-62f072cd.js} +1 -1
  23. package/dist/cjs/{language-extension-abbc251a.js → language-extension-d257e65d.js} +2 -2
  24. package/dist/cjs/loader.cjs.js +14 -14
  25. package/dist/cjs/{public-rules-ffc5db13.js → public-rules-d2b9b8f0.js} +8 -8
  26. package/dist/cjs/{range-37161c00.js → range-d610028e.js} +2 -2
  27. package/dist/cjs/{responsive-format-facade-b20dad44.js → responsive-format-facade-71e7b74c.js} +5 -5
  28. package/dist/cjs/{rich-text-editor-required-rule-604ea2b9.js → rich-text-editor-required-rule-a8fe5f50.js} +1 -1
  29. package/dist/cjs/{static-subject-title-7e7d791a.js → static-subject-title-5829a298.js} +0 -6
  30. package/dist/cjs/{string-input-formatter-slimmer-8445abc9.js → string-input-formatter-slimmer-8236b5e1.js} +3 -3
  31. package/dist/cjs/{style-formatter-56751462.js → style-formatter-6facb42b.js} +1 -1
  32. package/dist/cjs/{sub-state-notify-slimmer-52fa23af.js → sub-state-notify-slimmer-78682046.js} +2 -2
  33. package/dist/cjs/{sub-state-observer-slimmer-90c26113.js → sub-state-observer-slimmer-73aecfff.js} +3 -3
  34. package/dist/cjs/{token-extension-46821c19.js → token-extension-aa8d5cce.js} +9 -8
  35. package/dist/cjs/{translation-ecfc704a.js → translation-f5adcb9f.js} +1 -1
  36. package/dist/cjs/{translation-slimmer-40a3536d.js → translation-slimmer-4b6239d1.js} +1 -1
  37. package/dist/cjs/{ui-4ce1fa08.js → ui-9e181079.js} +16 -3
  38. package/dist/cjs/vega-accordion.cjs.entry.js +13 -13
  39. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-app-header-button.cjs.entry.js +14 -14
  41. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  42. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  43. package/dist/cjs/vega-box.cjs.entry.js +13 -13
  44. package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -3
  45. package/dist/cjs/vega-breadcrumb.cjs.entry.js +30 -15
  46. package/dist/cjs/vega-button-circle.cjs.entry.js +19 -16
  47. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
  48. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  49. package/dist/cjs/vega-button.cjs.entry.js +19 -14
  50. package/dist/cjs/vega-calendar_4.cjs.entry.js +506 -212
  51. package/dist/cjs/vega-card.cjs.entry.js +12 -12
  52. package/dist/cjs/vega-carousel.cjs.entry.js +12 -12
  53. package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -11
  54. package/dist/cjs/vega-chip.cjs.entry.js +14 -14
  55. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  56. package/dist/cjs/vega-color-picker.cjs.entry.js +9 -9
  57. package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
  58. package/dist/cjs/vega-date-picker_2.cjs.entry.js +62 -25
  59. package/dist/cjs/vega-dialog_2.cjs.entry.js +15 -15
  60. package/dist/cjs/vega-divider.cjs.entry.js +12 -12
  61. package/dist/cjs/vega-dropdown_5.cjs.entry.js +23 -22
  62. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  63. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  64. package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
  65. package/dist/cjs/vega-file-uploader.cjs.entry.js +10 -10
  66. package/dist/cjs/vega-flag-icon.cjs.entry.js +12 -12
  67. package/dist/cjs/vega-flex.cjs.entry.js +13 -13
  68. package/dist/cjs/vega-font.cjs.entry.js +12 -12
  69. package/dist/cjs/vega-form.cjs.entry.js +649 -352
  70. package/dist/cjs/vega-grid.cjs.entry.js +12 -12
  71. package/dist/cjs/vega-icon.cjs.entry.js +12 -12
  72. package/dist/cjs/vega-image-uploader.cjs.entry.js +17 -17
  73. package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
  74. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  75. package/dist/cjs/vega-input-passcode.cjs.entry.js +724 -0
  76. package/dist/cjs/vega-input-phone-number.cjs.entry.js +14 -14
  77. package/dist/cjs/vega-input-range.cjs.entry.js +11 -11
  78. package/dist/cjs/vega-input-select.cjs.entry.js +16 -16
  79. package/dist/cjs/vega-input.cjs.entry.js +27 -12
  80. package/dist/cjs/{vega-internal-event-id-dfd8b802.js → vega-internal-event-id-6d4a2c53.js} +6 -0
  81. package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
  82. package/dist/cjs/vega-left-nav_5.cjs.entry.js +44 -20
  83. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +11 -11
  84. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  85. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  86. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +6 -6
  87. package/dist/cjs/vega-pagination.cjs.entry.js +14 -14
  88. package/dist/cjs/vega-popover_2.cjs.entry.js +16 -16
  89. package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
  90. package/dist/cjs/vega-radio_2.cjs.entry.js +13 -13
  91. package/dist/cjs/vega-rich-text-content.cjs.entry.js +10 -10
  92. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +23 -23
  93. package/dist/cjs/vega-segment-control.cjs.entry.js +4 -4
  94. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +16 -16
  95. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +12 -12
  96. package/dist/cjs/vega-sidenav_3.cjs.entry.js +14 -14
  97. package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -16
  98. package/dist/cjs/vega-stepper.cjs.entry.js +10 -10
  99. package/dist/cjs/vega-tab-group_2.cjs.entry.js +6 -6
  100. package/dist/cjs/vega-table_8.cjs.entry.js +16 -16
  101. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  102. package/dist/cjs/vega-textarea.cjs.entry.js +10 -10
  103. package/dist/cjs/vega-time-picker_2.cjs.entry.js +19 -19
  104. package/dist/cjs/vega-toggle-switch.cjs.entry.js +9 -9
  105. package/dist/cjs/vega-tooltip_2.cjs.entry.js +14 -14
  106. package/dist/cjs/vega.cjs.js +14 -14
  107. package/dist/collection/collection-manifest.json +6 -0
  108. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.js +1 -1
  109. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-renderer.js +12 -8
  110. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.css +6 -6
  111. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +32 -0
  112. package/dist/collection/components/vega-button/vega-button.js +9 -2
  113. package/dist/collection/components/vega-button-circle/vega-button-circle.js +8 -3
  114. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +7 -4
  115. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +21 -1
  116. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.js +18 -1
  117. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.js +14 -1
  118. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.js +8 -9
  119. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +3 -1
  120. package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendar-event-repeat-pattern-factory.test.js +34 -0
  121. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
  122. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.js +31 -5
  123. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +4 -1
  124. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +5 -3
  125. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +4 -1
  126. package/dist/collection/components/vega-calendar/vega-calendar.js +47 -1
  127. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +37 -3
  128. package/dist/collection/components/vega-date-picker/vega-date-picker.js +6 -0
  129. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +1 -1
  130. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +4 -8
  131. package/dist/collection/components/vega-dropdown/vega-dropdown.js +4 -0
  132. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-controller.js +351 -0
  133. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-reset-controller.js +99 -0
  134. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-submit-controller.js +179 -0
  135. package/dist/collection/components/vega-form/vega-form.js +20 -366
  136. package/dist/collection/components/vega-input/vega-input.js +72 -5
  137. package/dist/collection/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-keyboard-controller.js +101 -0
  138. package/dist/collection/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-value-controller.js +115 -0
  139. package/dist/collection/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.js +166 -0
  140. package/dist/collection/components/vega-input-passcode/vega-input-passcode.css +90 -0
  141. package/dist/collection/components/vega-input-passcode/vega-input-passcode.js +513 -0
  142. package/dist/collection/components/vega-modal/vega-modal.css +4 -1
  143. package/dist/collection/components/vega-nav/slimmers/vega-nav-observer-slimmer.js +8 -3
  144. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.js +21 -4
  145. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +1 -1
  146. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +2 -2
  147. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +3 -2
  148. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +3 -7
  149. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +3 -7
  150. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +4 -12
  151. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +3 -7
  152. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +1 -1
  153. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +3 -2
  154. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +2 -2
  155. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +2 -2
  156. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +3 -2
  157. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/code-block.test.js +2 -2
  158. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +4 -0
  159. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +1 -1
  160. package/dist/collection/constants/ui.js +2 -0
  161. package/dist/collection/helpers/calendar/calendar-date.js +10 -8
  162. package/dist/collection/helpers/calendar/calendar-event.js +152 -16
  163. package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +13 -4
  164. package/dist/collection/helpers/calendar/calendar-period/day-period.js +4 -4
  165. package/dist/collection/helpers/calendar/calendar-period/month-period.js +7 -6
  166. package/dist/collection/helpers/calendar/calendar-period/week-period.js +3 -3
  167. package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +1 -1
  168. package/dist/collection/helpers/calendar/test/calendar-date.test.js +24 -0
  169. package/dist/collection/helpers/calendar/test/calendar-event.test.js +71 -0
  170. package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +28 -0
  171. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +35 -0
  172. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +43 -0
  173. package/dist/collection/helpers/calendar/test/utils.test.js +29 -1
  174. package/dist/collection/helpers/calendar/utils.js +46 -0
  175. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +0 -2
  176. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +3 -2
  177. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +3 -1
  178. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -0
  179. package/dist/collection/helpers/event-manager/test/component-event-id-map.test.js +2 -1
  180. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +2 -1
  181. package/dist/collection/helpers/immutable/immutable-array.js +133 -0
  182. package/dist/collection/helpers/immutable/test/immutable-array.test.js +78 -0
  183. package/dist/collection/helpers/keyboard/keyboard-manager.js +7 -1
  184. package/dist/collection/helpers/keyboard/test/keyboard-manager.test.js +4 -0
  185. package/dist/collection/helpers/validator/form-field-controller.js +13 -3
  186. package/dist/collection/utils/test/ui.test.js +55 -0
  187. package/dist/collection/utils/ui.js +16 -3
  188. package/dist/collection/value-model-adapters/angular-ng-model-accessor-adapter.js +1 -0
  189. package/dist/collection/value-model-adapters/vue-component-v-model-adaptor.js +1 -0
  190. package/dist/esm/{app-globals-b074e012.js → app-globals-37a60cc1.js} +9 -9
  191. package/dist/esm/{brand-switch-state-controller-slimmer-05c85e6d.js → brand-switch-state-controller-slimmer-60249013.js} +1 -1
  192. package/dist/esm/{child-nodes-event-prevent-slimmer-7fe3dc57.js → child-nodes-event-prevent-slimmer-735cb880.js} +1 -1
  193. package/dist/esm/{child-nodes-notify-observer-slimmer-78f77c2c.js → child-nodes-notify-observer-slimmer-b676cd2b.js} +1 -1
  194. package/dist/esm/{code-block-a6c78bbb.js → code-block-11b2bc1c.js} +15 -18
  195. package/dist/esm/{component-value-history-controller-slimmer.abstract-d37d2df7.js → component-value-history-controller-slimmer.abstract-16c5cb96.js} +6 -6
  196. package/dist/esm/{dark-mode-state-controller-slimmer-f1c2c299.js → dark-mode-state-controller-slimmer-f2b4f8ed.js} +1 -1
  197. package/dist/esm/{dark-mode-style-controller-5cf1c482.js → dark-mode-style-controller-b7e85b6a.js} +1 -1
  198. package/dist/esm/{design-token-6f9e70c4.js → design-token-297dc528.js} +1 -1
  199. package/dist/esm/{dom-node-subject-observer-factory-c7bc3035.js → dom-node-subject-observer-factory-dca87b70.js} +5 -3
  200. package/dist/esm/{dto-renderer-manager-5b036e47.js → dto-renderer-manager-a1a3b6d2.js} +20 -35
  201. package/dist/esm/{element-appender-slimmer-1d6c2960.js → element-appender-slimmer-f7233708.js} +6 -6
  202. package/dist/esm/{event-emit-slimmer-3922d816.js → event-emit-slimmer-28fd360c.js} +2 -2
  203. package/dist/esm/{form-field-controller-slimmer-c29b345f.js → form-field-controller-slimmer-b23d9ff3.js} +16 -8
  204. package/dist/esm/{image-annotation-action-f6308cf4.js → image-annotation-action-fc46c920.js} +4 -4
  205. package/dist/esm/index-090d31ca.js +4 -0
  206. package/dist/esm/{index-4f26bbd0.js → index-c943d263.js} +2 -2
  207. package/dist/esm/index.js +16 -16
  208. package/dist/esm/{inject-keyboard-manager-109817bf.js → inject-keyboard-manager-ffd351b9.js} +1 -1
  209. package/dist/esm/{internal-vega-event-manager-cb06e987.js → internal-vega-event-manager-a5a5938d.js} +3 -2
  210. package/dist/esm/{keyboard-manager-ab521d22.js → keyboard-manager-5d8f3582.js} +8 -2
  211. package/dist/esm/{keyboard-manager-slimmer-cae3a002.js → keyboard-manager-slimmer-f39214e4.js} +1 -1
  212. package/dist/esm/{language-extension-962c427a.js → language-extension-314a2b18.js} +2 -2
  213. package/dist/esm/loader.js +14 -14
  214. package/dist/esm/{public-rules-6fa7533f.js → public-rules-c6a6946d.js} +8 -8
  215. package/dist/esm/{range-4d7aa0fd.js → range-b78254de.js} +2 -2
  216. package/dist/esm/{responsive-format-facade-b594fc72.js → responsive-format-facade-a41e1be7.js} +5 -5
  217. package/dist/esm/{rich-text-editor-required-rule-a72374cd.js → rich-text-editor-required-rule-d50c24da.js} +1 -1
  218. package/dist/esm/{static-subject-title-ca83d6b6.js → static-subject-title-52f93124.js} +1 -4
  219. package/dist/esm/{string-input-formatter-slimmer-75256a17.js → string-input-formatter-slimmer-3acd240c.js} +3 -3
  220. package/dist/esm/{style-formatter-56074ede.js → style-formatter-f7effaac.js} +1 -1
  221. package/dist/esm/{sub-state-notify-slimmer-85c658b7.js → sub-state-notify-slimmer-56380f02.js} +2 -2
  222. package/dist/esm/{sub-state-observer-slimmer-e58a2485.js → sub-state-observer-slimmer-3504e2f2.js} +3 -3
  223. package/dist/esm/{token-extension-3c198013.js → token-extension-b690953f.js} +9 -8
  224. package/dist/esm/{translation-3d35961b.js → translation-f10b1e19.js} +1 -1
  225. package/dist/esm/{translation-slimmer-d5b0d292.js → translation-slimmer-984c9ce6.js} +1 -1
  226. package/dist/esm/{ui-c20be16d.js → ui-bb99c0c2.js} +16 -3
  227. package/dist/esm/vega-accordion.entry.js +13 -13
  228. package/dist/esm/vega-app-footer.entry.js +3 -3
  229. package/dist/esm/vega-app-header-button.entry.js +14 -14
  230. package/dist/esm/vega-backdrop.entry.js +1 -1
  231. package/dist/esm/vega-banner.entry.js +4 -4
  232. package/dist/esm/vega-box.entry.js +13 -13
  233. package/dist/esm/vega-brand-logo.entry.js +3 -3
  234. package/dist/esm/vega-breadcrumb.entry.js +30 -15
  235. package/dist/esm/vega-button-circle.entry.js +19 -16
  236. package/dist/esm/vega-button-group_2.entry.js +8 -8
  237. package/dist/esm/vega-button-link.entry.js +5 -5
  238. package/dist/esm/vega-button.entry.js +19 -14
  239. package/dist/esm/vega-calendar_4.entry.js +507 -213
  240. package/dist/esm/vega-card.entry.js +12 -12
  241. package/dist/esm/vega-carousel.entry.js +12 -12
  242. package/dist/esm/vega-checkbox_2.entry.js +11 -11
  243. package/dist/esm/vega-chip.entry.js +14 -14
  244. package/dist/esm/vega-code-block.entry.js +15 -15
  245. package/dist/esm/vega-color-picker.entry.js +9 -9
  246. package/dist/esm/vega-combo-box.entry.js +12 -12
  247. package/dist/esm/vega-date-picker_2.entry.js +62 -25
  248. package/dist/esm/vega-dialog_2.entry.js +15 -15
  249. package/dist/esm/vega-divider.entry.js +12 -12
  250. package/dist/esm/vega-dropdown_5.entry.js +23 -22
  251. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  252. package/dist/esm/vega-field-error.entry.js +1 -1
  253. package/dist/esm/vega-field-label.entry.js +4 -4
  254. package/dist/esm/vega-file-uploader.entry.js +10 -10
  255. package/dist/esm/vega-flag-icon.entry.js +12 -12
  256. package/dist/esm/vega-flex.entry.js +13 -13
  257. package/dist/esm/vega-font.entry.js +12 -12
  258. package/dist/esm/vega-form.entry.js +649 -352
  259. package/dist/esm/vega-grid.entry.js +12 -12
  260. package/dist/esm/vega-icon.entry.js +12 -12
  261. package/dist/esm/vega-image-uploader.entry.js +17 -17
  262. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  263. package/dist/esm/vega-input-numeric.entry.js +13 -13
  264. package/dist/esm/vega-input-passcode.entry.js +720 -0
  265. package/dist/esm/vega-input-phone-number.entry.js +14 -14
  266. package/dist/esm/vega-input-range.entry.js +11 -11
  267. package/dist/esm/vega-input-select.entry.js +16 -16
  268. package/dist/esm/vega-input.entry.js +27 -12
  269. package/dist/esm/{vega-internal-event-id-bee7946b.js → vega-internal-event-id-5c3e5f7f.js} +4 -1
  270. package/dist/esm/vega-item-toggle.entry.js +4 -4
  271. package/dist/esm/vega-left-nav_5.entry.js +44 -20
  272. package/dist/esm/vega-loader-wrapper_2.entry.js +11 -11
  273. package/dist/esm/vega-page-notification_2.entry.js +2 -2
  274. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
  275. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  276. package/dist/esm/vega-pagination.entry.js +14 -14
  277. package/dist/esm/vega-popover_2.entry.js +16 -16
  278. package/dist/esm/vega-progress-tracker.entry.js +4 -4
  279. package/dist/esm/vega-radio_2.entry.js +13 -13
  280. package/dist/esm/vega-rich-text-content.entry.js +10 -10
  281. package/dist/esm/vega-rich-text-editor_4.entry.js +23 -23
  282. package/dist/esm/vega-segment-control.entry.js +4 -4
  283. package/dist/esm/vega-selection-chip_2.entry.js +16 -16
  284. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  285. package/dist/esm/vega-sidenav_3.entry.js +14 -14
  286. package/dist/esm/vega-signature-capture.entry.js +16 -16
  287. package/dist/esm/vega-stepper.entry.js +10 -10
  288. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  289. package/dist/esm/vega-table_8.entry.js +16 -16
  290. package/dist/esm/vega-text.entry.js +1 -1
  291. package/dist/esm/vega-textarea.entry.js +10 -10
  292. package/dist/esm/vega-time-picker_2.entry.js +19 -19
  293. package/dist/esm/vega-toggle-switch.entry.js +9 -9
  294. package/dist/esm/vega-tooltip_2.entry.js +14 -14
  295. package/dist/esm/vega.js +14 -14
  296. package/dist/sri/vega-sri-loader.js +147 -0
  297. package/dist/sri/vega-sri-manifest.json +702 -0
  298. package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-renderer.d.ts +2 -1
  299. package/dist/types/components/vega-breadcrumb/types.d.ts +1 -1
  300. package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +11 -0
  301. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +1 -0
  302. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +6 -0
  303. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +5 -0
  304. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +6 -0
  305. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.d.ts +3 -1
  306. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.d.ts +1 -0
  307. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +1 -0
  308. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +1 -0
  309. package/dist/types/components/vega-calendar/types.d.ts +5 -0
  310. package/dist/types/components/vega-calendar/vega-calendar.d.ts +17 -0
  311. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +13 -0
  312. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +1 -0
  313. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -0
  314. package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-controller.d.ts +158 -0
  315. package/dist/types/components/vega-form/slimmers/controllers/vega-form-reset-controller.d.ts +43 -0
  316. package/dist/types/components/vega-form/slimmers/controllers/vega-form-submit-controller.d.ts +72 -0
  317. package/dist/types/components/vega-form/types.d.ts +13 -0
  318. package/dist/types/components/vega-form/vega-form.d.ts +6 -110
  319. package/dist/types/components/vega-input/types.d.ts +65 -0
  320. package/dist/types/components/vega-input/vega-input.d.ts +17 -2
  321. package/dist/types/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-keyboard-controller.d.ts +25 -0
  322. package/dist/types/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-value-controller.d.ts +47 -0
  323. package/dist/types/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.d.ts +29 -0
  324. package/dist/types/components/vega-input-passcode/vega-input-passcode.d.ts +135 -0
  325. package/dist/types/components/vega-nav/slimmers/vega-nav-observer-slimmer.d.ts +3 -0
  326. package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.d.ts +8 -0
  327. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +2 -1
  328. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +1 -1
  329. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +1 -1
  330. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +1 -1
  331. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +1 -1
  332. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +1 -1
  333. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +1 -1
  334. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +1 -1
  335. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +1 -1
  336. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +2 -1
  337. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +1 -1
  338. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +2 -1
  339. package/dist/types/components.d.ts +185 -4
  340. package/dist/types/constants/ui.d.ts +1 -1
  341. package/dist/types/helpers/calendar/calendar-date.d.ts +5 -3
  342. package/dist/types/helpers/calendar/calendar-event.d.ts +50 -1
  343. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +8 -1
  344. package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +1 -1
  345. package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +4 -3
  346. package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +1 -1
  347. package/dist/types/helpers/calendar/utils.d.ts +22 -0
  348. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +0 -2
  349. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +2 -0
  350. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  351. package/dist/types/helpers/immutable/immutable-array.d.ts +86 -0
  352. package/dist/types/helpers/immutable/immutable-map.d.ts +1 -1
  353. package/dist/types/helpers/immutable/immutable.d.ts +1 -0
  354. package/dist/types/helpers/immutable/test/immutable-array.test.d.ts +1 -0
  355. package/dist/types/types/components.type.d.ts +7 -2
  356. package/dist/types/utils/ui.d.ts +5 -1
  357. package/dist/vega/index.esm.js +1 -1
  358. package/dist/vega/{p-1d3a7be6.entry.js → p-00071542.entry.js} +1 -1
  359. package/dist/vega/p-0113a83c.entry.js +1 -0
  360. package/dist/vega/{p-61966868.entry.js → p-015cdbe7.entry.js} +1 -1
  361. package/dist/vega/{p-f37558c1.js → p-019f7f95.js} +1 -1
  362. package/dist/vega/{p-3a455ac3.entry.js → p-03a1e82e.entry.js} +1 -1
  363. package/dist/vega/p-0d1eca78.entry.js +1 -0
  364. package/dist/vega/{p-e41931d4.entry.js → p-0ed53cce.entry.js} +1 -1
  365. package/dist/vega/p-129c0ce1.js +1 -0
  366. package/dist/vega/p-16370cfb.js +1 -0
  367. package/dist/vega/p-19522949.js +1 -0
  368. package/dist/vega/{p-21a480b0.entry.js → p-1a3cb65e.entry.js} +1 -1
  369. package/dist/vega/{p-fd2d02ea.entry.js → p-2553031f.entry.js} +1 -1
  370. package/dist/vega/{p-179693f1.entry.js → p-276b1163.entry.js} +2 -2
  371. package/dist/vega/p-2d430dc4.entry.js +1 -0
  372. package/dist/vega/p-308aa2e3.js +1 -0
  373. package/dist/vega/{p-55c26035.entry.js → p-3288a65b.entry.js} +1 -1
  374. package/dist/vega/p-34800282.entry.js +1 -0
  375. package/dist/vega/p-358e9800.entry.js +1 -0
  376. package/dist/vega/{p-743c5baf.js → p-3925c16b.js} +1 -1
  377. package/dist/vega/{p-d3bf55e9.js → p-39482a1a.js} +1 -1
  378. package/dist/vega/{p-7aae9252.entry.js → p-39b9c57b.entry.js} +1 -1
  379. package/dist/vega/p-3a7f177a.entry.js +1 -0
  380. package/dist/vega/p-41c3fcb4.js +1 -0
  381. package/dist/vega/p-447c7590.js +1 -0
  382. package/dist/vega/p-46830028.entry.js +1 -0
  383. package/dist/vega/{p-c8789df1.entry.js → p-47cae62d.entry.js} +1 -1
  384. package/dist/vega/{p-37fd7a80.js → p-47fa359b.js} +1 -1
  385. package/dist/vega/{p-bb58a7cf.entry.js → p-4897bedd.entry.js} +1 -1
  386. package/dist/vega/{p-8938b5c4.js → p-4c192985.js} +1 -1
  387. package/dist/vega/{p-0f2c83a1.entry.js → p-4e33fff6.entry.js} +1 -1
  388. package/dist/vega/{p-d4564bfd.js → p-521d1d07.js} +1 -1
  389. package/dist/vega/{p-b3cd1992.entry.js → p-524693d8.entry.js} +1 -1
  390. package/dist/vega/{p-06b624e6.js → p-54b62ecf.js} +1 -1
  391. package/dist/vega/{p-92ec4fac.entry.js → p-59298f5e.entry.js} +1 -1
  392. package/dist/vega/{p-9819dda9.entry.js → p-5a0524ab.entry.js} +1 -1
  393. package/dist/vega/{p-6c85c1f3.entry.js → p-5e32866d.entry.js} +1 -1
  394. package/dist/vega/p-5f377954.js +1 -1
  395. package/dist/vega/{p-ae963cb3.entry.js → p-5f58d1da.entry.js} +1 -1
  396. package/dist/vega/{p-956a5899.entry.js → p-616cd622.entry.js} +1 -1
  397. package/dist/vega/{p-4669ce11.entry.js → p-65693321.entry.js} +1 -1
  398. package/dist/vega/{p-db29b9f9.entry.js → p-671afda4.entry.js} +1 -1
  399. package/dist/vega/p-67f159c3.js +1 -0
  400. package/dist/vega/{p-3176804b.entry.js → p-6ce1e9d4.entry.js} +1 -1
  401. package/dist/vega/{p-ffc2ef90.entry.js → p-6f6ccf67.entry.js} +1 -1
  402. package/dist/vega/{p-3a0b9e66.entry.js → p-6f7d42a0.entry.js} +1 -1
  403. package/dist/vega/{p-684391a4.entry.js → p-719354e7.entry.js} +1 -1
  404. package/dist/vega/{p-1da54ff3.js → p-725f0a2c.js} +1 -1
  405. package/dist/vega/{p-4b57bb12.entry.js → p-74d61782.entry.js} +1 -1
  406. package/dist/vega/{p-3cdbee7e.js → p-7b145620.js} +1 -1
  407. package/dist/vega/{p-bf8d2978.entry.js → p-7c1d08db.entry.js} +1 -1
  408. package/dist/vega/p-7cd2b93b.js +1 -0
  409. package/dist/vega/{p-d20ab09f.entry.js → p-7efb5ebe.entry.js} +1 -1
  410. package/dist/vega/{p-57c42c30.entry.js → p-7f69081b.entry.js} +1 -1
  411. package/dist/vega/{p-df31307b.entry.js → p-7f9ec104.entry.js} +1 -1
  412. package/dist/vega/p-81105691.entry.js +1 -0
  413. package/dist/vega/p-822c6092.js +1 -0
  414. package/dist/vega/{p-3709b0e0.js → p-8350506e.js} +1 -1
  415. package/dist/vega/{p-3354f5a7.js → p-85f9a980.js} +1 -1
  416. package/dist/vega/{p-641fbb48.entry.js → p-892cbe7c.entry.js} +1 -1
  417. package/dist/vega/{p-eb5f99db.entry.js → p-8d096fea.entry.js} +1 -1
  418. package/dist/vega/{p-15766433.entry.js → p-8d574fbd.entry.js} +1 -1
  419. package/dist/vega/p-8d655fd2.entry.js +1 -0
  420. package/dist/vega/p-8edf3513.js +1 -0
  421. package/dist/vega/{p-f4877bee.entry.js → p-92a22562.entry.js} +1 -1
  422. package/dist/vega/p-9fb6fbcc.js +1 -0
  423. package/dist/vega/p-a0467b83.js +1 -0
  424. package/dist/vega/{p-459efe39.entry.js → p-a1b7a179.entry.js} +1 -1
  425. package/dist/vega/p-a528714c.js +1 -0
  426. package/dist/vega/p-a5713178.js +1 -0
  427. package/dist/vega/{p-3a9aa6eb.entry.js → p-a6010b93.entry.js} +1 -1
  428. package/dist/vega/{p-697acd40.js → p-a7631c6b.js} +1 -1
  429. package/dist/vega/{p-56b8ffd5.entry.js → p-ab1001f5.entry.js} +1 -1
  430. package/dist/vega/{p-f81f2071.entry.js → p-ab8f99e9.entry.js} +1 -1
  431. package/dist/vega/{p-4faa7bab.entry.js → p-ad5393f0.entry.js} +1 -1
  432. package/dist/vega/{p-1be68fba.js → p-af5bfe34.js} +1 -1
  433. package/dist/vega/{p-a9e3058e.entry.js → p-b2aaab66.entry.js} +1 -1
  434. package/dist/vega/{p-e4acac0a.entry.js → p-b431f9d5.entry.js} +1 -1
  435. package/dist/vega/{p-32058dbd.entry.js → p-b82d3915.entry.js} +1 -1
  436. package/dist/vega/p-bee1cc34.entry.js +1 -0
  437. package/dist/vega/{p-2044aa2c.js → p-bf7f755b.js} +1 -1
  438. package/dist/vega/p-bf9476cd.entry.js +1 -0
  439. package/dist/vega/{p-32655cfc.entry.js → p-c1da8328.entry.js} +1 -1
  440. package/dist/vega/{p-e27802fb.js → p-c6ce2869.js} +1 -1
  441. package/dist/vega/{p-52b0abb5.entry.js → p-cc519f53.entry.js} +1 -1
  442. package/dist/vega/{p-1655b920.entry.js → p-d006e732.entry.js} +1 -1
  443. package/dist/vega/p-d0e6454e.entry.js +1 -0
  444. package/dist/vega/{p-04158119.entry.js → p-d1dacaeb.entry.js} +1 -1
  445. package/dist/vega/{p-119430db.entry.js → p-d4452dbc.entry.js} +1 -1
  446. package/dist/vega/{p-64e949fa.entry.js → p-d5761532.entry.js} +1 -1
  447. package/dist/vega/p-d5ff8b7f.js +1 -0
  448. package/dist/vega/{p-a1cf29a9.js → p-d88e88a7.js} +1 -1
  449. package/dist/vega/p-d9671d27.js +1 -0
  450. package/dist/vega/{p-7c75ce6c.entry.js → p-de624f7d.entry.js} +1 -1
  451. package/dist/vega/{p-c7f68d74.js → p-e6cccee4.js} +1 -1
  452. package/dist/vega/{p-4082fa22.entry.js → p-ea05a2fc.entry.js} +1 -1
  453. package/dist/vega/p-ed8bc4f0.entry.js +1 -0
  454. package/dist/vega/{p-3af81271.js → p-f360c9ba.js} +1 -1
  455. package/dist/vega/{p-5443d614.entry.js → p-fc8c5869.entry.js} +1 -1
  456. package/dist/vega/{p-a30ebdf5.js → p-fde50319.js} +1 -1
  457. package/dist/vega/{p-159fda34.entry.js → p-fe2e859f.entry.js} +1 -1
  458. package/dist/vega/{p-3eaa6cce.entry.js → p-fef846d5.entry.js} +1 -1
  459. package/dist/vega/p-ff3bb4e2.entry.js +1 -0
  460. package/dist/vega/vega.esm.js +1 -1
  461. package/package.json +3 -2
  462. package/dist/vega/p-06e6be0e.js +0 -1
  463. package/dist/vega/p-0b92b15b.entry.js +0 -1
  464. package/dist/vega/p-1110b422.entry.js +0 -1
  465. package/dist/vega/p-1aba48bc.js +0 -1
  466. package/dist/vega/p-1cb87bad.entry.js +0 -1
  467. package/dist/vega/p-2608b9fe.js +0 -1
  468. package/dist/vega/p-27dfa896.js +0 -1
  469. package/dist/vega/p-2ee4def0.js +0 -1
  470. package/dist/vega/p-3355ec0f.js +0 -1
  471. package/dist/vega/p-3674db0f.js +0 -1
  472. package/dist/vega/p-36f331bf.entry.js +0 -1
  473. package/dist/vega/p-465a6660.entry.js +0 -1
  474. package/dist/vega/p-4ae3eebf.entry.js +0 -1
  475. package/dist/vega/p-4e503e23.entry.js +0 -1
  476. package/dist/vega/p-575235c8.js +0 -1
  477. package/dist/vega/p-5773a9a3.js +0 -1
  478. package/dist/vega/p-6163818f.js +0 -1
  479. package/dist/vega/p-6be16084.js +0 -1
  480. package/dist/vega/p-6ed663d5.entry.js +0 -1
  481. package/dist/vega/p-84eabbec.entry.js +0 -1
  482. package/dist/vega/p-904d1b43.js +0 -1
  483. package/dist/vega/p-96bda7ca.js +0 -1
  484. package/dist/vega/p-a3d77013.js +0 -1
  485. package/dist/vega/p-b9e8c6bf.entry.js +0 -1
  486. package/dist/vega/p-be539a54.js +0 -1
  487. package/dist/vega/p-e4b0606a.entry.js +0 -1
  488. package/dist/vega/p-e6158a33.entry.js +0 -1
  489. package/dist/vega/p-ed0f000b.entry.js +0 -1
  490. package/dist/vega/p-f1436035.js +0 -1
@@ -105,15 +105,11 @@ export class RTEListBlock extends RTEBlock {
105
105
  /**
106
106
  * @inheritDoc
107
107
  */
108
- clone() {
108
+ clone(parent) {
109
109
  const clonedListBlock = new RTEListBlock(this.id, this.type);
110
- clonedListBlock.children = this.children.map((item) => {
111
- const clonedListItemBlock = item.clone();
112
- clonedListItemBlock.parent = clonedListBlock;
113
- return clonedListItemBlock;
114
- });
110
+ clonedListBlock.children = this.children.map((item) => item.clone(clonedListBlock));
115
111
  clonedListBlock.annotationMap = super.cloneAnnotations();
116
- clonedListBlock.parent = this.parent;
112
+ clonedListBlock.parent = parent;
117
113
  return clonedListBlock;
118
114
  }
119
115
  /**
@@ -105,21 +105,13 @@ export class RTEListItemBlock extends RTETextBlock {
105
105
  /**
106
106
  * @inheritDoc
107
107
  */
108
- clone() {
108
+ clone(parent) {
109
109
  var _a;
110
110
  const block = new RTEListItemBlock(this.id);
111
- block.children = this.children.map((node) => {
112
- const clonedNode = node.clone();
113
- clonedNode.parent = block;
114
- return clonedNode;
115
- });
111
+ block.children = this.children.map((node) => node.clone(block));
116
112
  block.annotationMap = super.cloneAnnotations();
117
- block.nestList = (_a = this.nestList) === null || _a === void 0 ? void 0 : _a.map((child) => {
118
- const clonedChild = child.clone();
119
- clonedChild.parent = block;
120
- return clonedChild;
121
- });
122
- block.parent = this.parent;
113
+ block.nestList = (_a = this.nestList) === null || _a === void 0 ? void 0 : _a.map((child) => child.clone(block));
114
+ block.parent = parent;
123
115
  return block;
124
116
  }
125
117
  }
@@ -164,15 +164,11 @@ export class RTETextBlock extends RTEBlock {
164
164
  /**
165
165
  * @inheritDoc
166
166
  */
167
- clone() {
167
+ clone(parent) {
168
168
  const clonedBlock = new RTETextBlock(this.id, this.type);
169
- clonedBlock.children = this.children.map((node) => {
170
- const clonedNode = node.clone();
171
- clonedNode.parent = clonedBlock;
172
- return clonedNode;
173
- });
169
+ clonedBlock.children = this.children.map((node) => node.clone(clonedBlock));
174
170
  clonedBlock.annotationMap = super.cloneAnnotations();
175
- clonedBlock.parent = this.parent;
171
+ clonedBlock.parent = parent;
176
172
  return clonedBlock;
177
173
  }
178
174
  /**
@@ -115,7 +115,7 @@ export class VegaRTEContent {
115
115
  */
116
116
  clone(deep = false) {
117
117
  return deep
118
- ? new VegaRTEContent(this.children.map((block) => block.clone()))
118
+ ? new VegaRTEContent(this.children.map((block) => block.clone(this)))
119
119
  : new VegaRTEContent([...this.children]);
120
120
  }
121
121
  /**
@@ -35,8 +35,9 @@ export class RTECodeBlockNode extends RTEDecoratorNode {
35
35
  /**
36
36
  * @inheritDoc
37
37
  */
38
- clone() {
39
- return new RTECodeBlockNode(this.id, this.text, this.language, this.parent);
38
+ clone(parent) {
39
+ const cloned = new RTECodeBlockNode(this.id, this.text, this.language, parent);
40
+ return cloned;
40
41
  }
41
42
  /**
42
43
  * @inheritDoc
@@ -69,8 +69,8 @@ export class RTEImageNode extends RTEDecoratorNode {
69
69
  /**
70
70
  * @inheritDoc
71
71
  */
72
- clone() {
73
- return new RTEImageNode(this.id, this.url, this.parent, super.cloneAnnotations());
72
+ clone(parent) {
73
+ return new RTEImageNode(this.id, this.url, parent, super.cloneAnnotations());
74
74
  }
75
75
  /**
76
76
  * @inheritDoc
@@ -154,8 +154,8 @@ export class RTETextNode extends RTENode {
154
154
  /**
155
155
  * @inheritDoc
156
156
  */
157
- clone() {
158
- const cloned = new RTETextNode(this.id, this.text, this.parent, super.cloneAnnotations());
157
+ clone(parent) {
158
+ const cloned = new RTETextNode(this.id, this.text, parent, super.cloneAnnotations());
159
159
  return cloned;
160
160
  }
161
161
  /**
@@ -39,10 +39,11 @@ export class RTETokenNode extends RTETextNode {
39
39
  /**
40
40
  * Clones the token node.
41
41
  *
42
+ * @param {RTETextBlock} parent - The parent block for the cloned node.
42
43
  * @returns {RTETokenNode} - The cloned token node.
43
44
  */
44
- clone() {
45
- return new RTETokenNode(this.id, this.token, this.text, this.parent, this.annotationMap);
45
+ clone(parent) {
46
+ return new RTETokenNode(this.id, this.token, this.text, parent, this.annotationMap);
46
47
  }
47
48
  /**
48
49
  * Converts the token node to an HTML representation.
@@ -43,8 +43,8 @@ describe('RTECodeBlock', () => {
43
43
  language: 'js',
44
44
  content: 'const',
45
45
  });
46
- const cloneBlock = codeBlock.clone();
47
- const cloneNode = codeBlock.children[0].clone();
46
+ const cloneBlock = codeBlock.clone(codeBlock.parent);
47
+ const cloneNode = codeBlock.children[0].clone(cloneBlock);
48
48
  expect(cloneBlock.id).toEqual(codeBlock.id);
49
49
  expect(cloneBlock.type).toEqual(codeBlock.type);
50
50
  expect(cloneNode.type).toEqual(codeBlock.children[0].type);
@@ -120,5 +120,9 @@ describe('HTMLBlock', () => {
120
120
  ],
121
121
  });
122
122
  });
123
+ it('clone', () => {
124
+ const clonedBlock = htmlBlock.clone(htmlBlock.parent);
125
+ expect(clonedBlock.children[0].parent).toEqual(clonedBlock);
126
+ });
123
127
  });
124
128
  });
@@ -404,7 +404,7 @@ describe('text node', () => {
404
404
  const textBlock = new RTETextBlock('block-1', 'paragraph');
405
405
  const textNode = new RTETextNode('1', 'This is a text.', textBlock);
406
406
  textNode.apply(new BoldAnnotationAction(true));
407
- const clonedNode = textNode.clone();
407
+ const clonedNode = textNode.clone(textBlock);
408
408
  expect(textNode).toEqual(clonedNode);
409
409
  expect(textNode).not.toBe(clonedNode);
410
410
  expect(textNode.annotationMap).toEqual(clonedNode.annotationMap);
@@ -86,6 +86,8 @@ export const VegaNativeEventName = [
86
86
  'reset',
87
87
  'eventPreviewShow',
88
88
  'monthYearChange',
89
+ 'complete',
90
+ 'paste',
89
91
  ];
90
92
  // eslint-disable-next-line @typescript-eslint/typedef
91
93
  export const CssStates = ['default', 'hover', 'active', 'focus-visible'];
@@ -1,4 +1,5 @@
1
1
  import { VegaInternalTranslation } from '../translation';
2
+ import { getCurrentDatePartsInTimezone, getSystemTimezone } from './utils';
2
3
  /**
3
4
  * Calendar date class
4
5
  */
@@ -11,11 +12,13 @@ export class CalendarDate {
11
12
  /**
12
13
  * Create a calendar date from a Date object
13
14
  *
14
- * @param {Date} date - The Date object
15
+ * @param {Date} currentDate - The Date object to create CalendarDate from
16
+ * @param {string} timezone - Timezone identifier for timezone-aware date creation. If not provided, uses system timezone.
15
17
  * @returns {CalendarDate} - Return a CalendarDate object
16
18
  */
17
- static from(date) {
18
- return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
19
+ static from(currentDate, timezone = getSystemTimezone()) {
20
+ const { year, month, date } = getCurrentDatePartsInTimezone(timezone, currentDate);
21
+ return new CalendarDate(year, month, date);
19
22
  }
20
23
  /**
21
24
  * The year of the calendar date
@@ -53,13 +56,12 @@ export class CalendarDate {
53
56
  /**
54
57
  * Verify whether the calendar date is today
55
58
  *
59
+ * @param {string} timezone - Timezone to consider when checking today's date. If not provided, uses system timezone.
56
60
  * @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
57
61
  */
58
- isToday() {
59
- const today = new Date();
60
- return (today.getFullYear() === this.year &&
61
- today.getMonth() + 1 === this.month &&
62
- today.getDate() === this.date);
62
+ isToday(timezone = getSystemTimezone()) {
63
+ const { year, month, date } = getCurrentDatePartsInTimezone(timezone, new Date());
64
+ return year === this.year && month === this.month && date === this.date;
63
65
  }
64
66
  /**
65
67
  * Convert the calendar date to a Date object
@@ -2,7 +2,8 @@ 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, WeekdayLongNames } from './utils';
5
+ import { formatDisplayTime, getSystemTimezone, WeekdayLongNames } from './utils';
6
+ import { LogUtility } from '../../utils/log';
6
7
  const CalendarDateFormatReg = /^\d{1,2}\/\d{1,2}\/\d{4}/;
7
8
  const CalendarTimeFormatReg = /^\d{1,2}:\d{1,2}/;
8
9
  /** 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. */
@@ -16,13 +17,15 @@ export class CalendarEvent {
16
17
  * @param {string} eventKey If a value is not provided for `eventKey`, a UUID (Universally
17
18
  * Unique Identifier) will be generated as a default value. This identifier is used to distinguish
18
19
  * different events and can be helpful for tracking
20
+ * @param {string} timezone - Optional timezone identifier for timezone-aware date calculations
19
21
  */
20
- constructor(eventOptions, eventKey) {
22
+ constructor(eventOptions, eventKey, timezone) {
21
23
  // the default value is 1 when the event end date is same as start date
22
24
  this._eventSpansDays = 1;
23
25
  this.repeatPattern = null;
24
26
  this._event = eventOptions;
25
27
  this._eventKey = eventKey || generateUUID();
28
+ this._timezone = timezone || getSystemTimezone();
26
29
  this.checkEventRequireField(eventOptions);
27
30
  this.initDate(eventOptions);
28
31
  this.initEventSpansDays();
@@ -202,7 +205,7 @@ export class CalendarEvent {
202
205
  getEventDuration() {
203
206
  const [startHour, startMinutes] = this.startTime.split(':');
204
207
  const [endHour, endMinutes] = this.endTime.split(':');
205
- const now = CalendarDate.from(new Date());
208
+ const now = CalendarDate.from(new Date(), this._timezone);
206
209
  const startDate = new Date(now.year, now.month, now.date, Number(startHour), Number(startMinutes));
207
210
  const endDate = new Date(now.year, now.month, now.date, Number(endHour) === 0 && Number(startHour) !== 0 ? 24 : Number(endHour), Number(endMinutes));
208
211
  return (endDate.valueOf() - startDate.valueOf()) / (60 * 1000);
@@ -222,6 +225,17 @@ export class CalendarEvent {
222
225
  }
223
226
  return [];
224
227
  }
228
+ /**
229
+ * Refresh event dates and related properties when timezone changes
230
+ *
231
+ * @param {string} timezone - The new timezone to apply to the event
232
+ */
233
+ updateTimezone(timezone) {
234
+ this._timezone = timezone;
235
+ this.initDate(this._event);
236
+ this.initEventSpansDays();
237
+ this.initRepeatPattern();
238
+ }
225
239
  /**
226
240
  * The function `convertTimeTo24Hour` converts a time string from 12-hour format to 24-hour format in TypeScript.
227
241
  *
@@ -279,42 +293,164 @@ export class CalendarEvent {
279
293
  */
280
294
  initDate(eventOptions) {
281
295
  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 || '');
300
+ }
301
+ /**
302
+ * Process start date
303
+ *
304
+ * @param {string | Date} startDate - Start date (string or Date object)
305
+ * @param {string} startTime - Start time string
306
+ * @returns {DateParts | undefined} originalDateParts information
307
+ */
308
+ processStartDate(startDate, startTime) {
309
+ let originalDateParts;
310
+ let tempDate;
282
311
  if (startDate && typeof startDate === 'object') {
283
- this._startDate = startDate;
312
+ originalDateParts = {
313
+ year: startDate.getFullYear(),
314
+ month: startDate.getMonth(),
315
+ date: startDate.getDate(),
316
+ };
317
+ tempDate = startDate;
284
318
  }
285
319
  else if (startDate && typeof startDate === 'string') {
286
320
  const [month, day, year] = startDate.split('/');
287
- this._startDate = new Date(Number(year), Number(month) - 1, Number(day));
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);
288
327
  }
289
- if (!startTime) {
290
- this._startTime = `${this._startDate.getHours()}:${this._startDate.getMinutes()}`;
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);
291
331
  }
292
- else {
293
- this._startTime = this.convertTimeTo24Hour(startTime);
332
+ if (tempDate) {
333
+ this._startDate = this.convertDateToTimezone(tempDate);
294
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;
295
346
  if (endDate && typeof endDate === 'object') {
296
- this._endDate = endDate;
347
+ tempDate = endDate;
297
348
  }
298
349
  else if (endDate && typeof endDate === 'string') {
299
350
  const [month, day, year] = endDate.split('/');
300
- this._endDate = new Date(Number(year), Number(month) - 1, Number(day), 23, 59, 59);
351
+ tempDate = new Date(Number(year), Number(month) - 1, Number(day), 23, 59, 59);
301
352
  }
302
353
  else {
303
- this._endDate = new Date(this._startDate.getFullYear(), this._startDate.getMonth(), this._startDate.getDate(), 23, 59, 59);
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);
304
361
  }
305
- if (!endTime) {
306
- this._endTime = `${this._endDate.getHours()}:${this._endDate.getMinutes()}`;
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')}`;
307
382
  }
308
383
  else {
309
- this._endTime = this.convertTimeTo24Hour(endTime);
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 };
405
+ }
406
+ /**
407
+ * Converts a Date object to the target timezone
408
+ *
409
+ * @param {Date} date - The Date object to convert
410
+ * @returns {Date} A Date object representing the date/time in the target timezone
411
+ */
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
+ }
310
445
  }
446
+ return date;
311
447
  }
312
448
  /**
313
449
  * The function initializes a repeat pattern controller for a calendar event with specified start and end dates and repeat options.
314
450
  */
315
451
  initRepeatPattern() {
316
452
  if (this._event.repeatOptions && this._event.repeatOptions.frequency) {
317
- this.repeatPattern = calendarEventRepeatPatternFactory.getPattern(this._startDate, this._event.repeatOptions);
453
+ this.repeatPattern = calendarEventRepeatPatternFactory.getPattern(this._startDate, this._event.repeatOptions, this._timezone);
318
454
  }
319
455
  }
320
456
  /**
@@ -1,12 +1,13 @@
1
1
  import { CalendarDate } from '../calendar-date';
2
- import { getWeekdays } from '../utils';
2
+ import { getSystemTimezone, getWeekdays } from '../utils';
3
3
  /**
4
4
  * CalendarPeriod is an abstract class that represents a period of date for calendar.
5
5
  */
6
6
  export class CalendarPeriod {
7
- constructor(count, current) {
7
+ constructor(count, current, timezone) {
8
8
  this._count = count;
9
- this._current = current ? current : CalendarDate.from(new Date());
9
+ this._timezone = timezone || getSystemTimezone();
10
+ this._current = current ? current : CalendarDate.from(new Date(), this._timezone);
10
11
  this.calculatePeriod(this._current);
11
12
  }
12
13
  /**
@@ -57,6 +58,14 @@ export class CalendarPeriod {
57
58
  get showWeekends() {
58
59
  return this._showWeekends;
59
60
  }
61
+ /**
62
+ * The timezone of the period.
63
+ *
64
+ * @type {string | undefined}
65
+ */
66
+ get timezone() {
67
+ return this._timezone;
68
+ }
60
69
  /**
61
70
  * Go to a specific date.
62
71
  *
@@ -72,7 +81,7 @@ export class CalendarPeriod {
72
81
  * @returns {this} - The current period.
73
82
  */
74
83
  now() {
75
- return this.createBy(CalendarDate.from(new Date()));
84
+ return this.createBy(CalendarDate.from(new Date(), this._timezone));
76
85
  }
77
86
  /**
78
87
  * Calculate the period start date and end date.
@@ -5,8 +5,8 @@ import { DateDirection, getClosestWorkday } from '../../../components/vega-calen
5
5
  * Period of day.
6
6
  */
7
7
  export class DayPeriod extends CalendarPeriod {
8
- constructor(current, showWeekends) {
9
- super(DayPeriod.DISPLAY_DATE_COUNT, current);
8
+ constructor(current, showWeekends, timezone) {
9
+ super(DayPeriod.DISPLAY_DATE_COUNT, current, timezone);
10
10
  this._type = 'day';
11
11
  this._showWeekends = true;
12
12
  this._showWeekends = showWeekends === false ? false : true;
@@ -41,7 +41,7 @@ export class DayPeriod extends CalendarPeriod {
41
41
  * @returns {this} - The current period.
42
42
  */
43
43
  now() {
44
- let calendarDate = CalendarDate.from(new Date());
44
+ let calendarDate = CalendarDate.from(new Date(), this.timezone);
45
45
  if (this._showWeekends === false) {
46
46
  calendarDate = getClosestWorkday(calendarDate);
47
47
  }
@@ -51,7 +51,7 @@ export class DayPeriod extends CalendarPeriod {
51
51
  * @inheritDoc
52
52
  */
53
53
  createBy(current) {
54
- return new DayPeriod(current, this._showWeekends);
54
+ return new DayPeriod(current, this._showWeekends, this.timezone);
55
55
  }
56
56
  }
57
57
  DayPeriod.DISPLAY_DATE_COUNT = 1;
@@ -5,8 +5,8 @@ import { getWeekdays } from '../utils';
5
5
  * Period of month
6
6
  */
7
7
  export class MonthPeriod extends CalendarPeriod {
8
- constructor(current, showWeekends) {
9
- super(MonthPeriod.DISPLAY_DATE_COUNT, current);
8
+ constructor(current, showWeekends, timezone) {
9
+ super(MonthPeriod.DISPLAY_DATE_COUNT, current, timezone);
10
10
  this._type = 'month';
11
11
  this._showWeekends = true;
12
12
  this._showWeekends = showWeekends === false ? false : true;
@@ -17,12 +17,13 @@ export class MonthPeriod extends CalendarPeriod {
17
17
  * @param {CalendarDate} [calendarDate] - The `calendarDate` parameter is an optional parameter of
18
18
  * type `CalendarDate`. It represents a specific date in the calendar. If a `calendarDate` is
19
19
  * provided, the function will use that date to determine the first day of the month. If no
20
- * `calendarDate` is provided, the function
20
+ * `calendarDate` is provided, the function will use the current date considering timezone.
21
+ * @param {string} [timezone] - The timezone to use when no calendarDate is provided
21
22
  * @returns {CalendarDate} A new `CalendarDate` object representing the first day of the month from the provided
22
23
  * `calendarDate` parameter or the current date if no parameter is provided.
23
24
  */
24
- static getMonthFirstDay(calendarDate) {
25
- const date = calendarDate || CalendarDate.from(new Date());
25
+ static getMonthFirstDay(calendarDate, timezone) {
26
+ const date = calendarDate || CalendarDate.from(new Date(), timezone);
26
27
  return new CalendarDate(date.year, date.month, 1);
27
28
  }
28
29
  /**
@@ -58,7 +59,7 @@ export class MonthPeriod extends CalendarPeriod {
58
59
  * @inheritDoc
59
60
  */
60
61
  createBy(current) {
61
- return new MonthPeriod(current, this._showWeekends);
62
+ return new MonthPeriod(current, this._showWeekends, this.timezone);
62
63
  }
63
64
  }
64
65
  MonthPeriod.DISPLAY_DATE_COUNT = 6 * 7;
@@ -4,8 +4,8 @@ import { CalendarDate } from '../calendar-date';
4
4
  * Period of the week
5
5
  */
6
6
  export class WeekPeriod extends CalendarPeriod {
7
- constructor(current, showWeekends) {
8
- super(WeekPeriod.DISPLAY_DATE_COUNT, current);
7
+ constructor(current, showWeekends, timezone) {
8
+ super(WeekPeriod.DISPLAY_DATE_COUNT, current, timezone);
9
9
  this._type = 'week';
10
10
  this._showWeekends = true;
11
11
  this._showWeekends = showWeekends === false ? false : true;
@@ -30,7 +30,7 @@ export class WeekPeriod extends CalendarPeriod {
30
30
  * @inheritDoc
31
31
  */
32
32
  createBy(current) {
33
- return new WeekPeriod(current, this._showWeekends);
33
+ return new WeekPeriod(current, this._showWeekends, this.timezone);
34
34
  }
35
35
  }
36
36
  WeekPeriod.DISPLAY_DATE_COUNT = 7;
@@ -12,7 +12,7 @@ export class WeekViewGenerator extends CalendarViewGenerator {
12
12
  const dates = this.generateDates(period);
13
13
  const showWeekends = period.showWeekends;
14
14
  let weekDays = this.generateWeekHead();
15
- let dateItems = [dates.map(CalendarDate.from)];
15
+ let dateItems = [dates.map((date) => CalendarDate.from(date))];
16
16
  if (showWeekends === false) {
17
17
  weekDays = weekDays.slice(1, 6);
18
18
  dateItems = dateItems.map((items) => items.slice(1, 6));
@@ -73,3 +73,27 @@ describe('calendar-date', () => {
73
73
  expect(new CalendarDate(2024, 2, 10).getMonthName(true)).toBe('Feb');
74
74
  });
75
75
  });
76
+ describe('CalendarDate Timezone', () => {
77
+ it('should create calendar date', () => {
78
+ const calendarDate = new CalendarDate(2025, 10, 29);
79
+ expect(calendarDate.year).toBe(2025);
80
+ expect(calendarDate.month).toBe(10);
81
+ expect(calendarDate.date).toBe(29);
82
+ });
83
+ it('should check isToday with timezone', () => {
84
+ jest.useFakeTimers('modern');
85
+ jest.setSystemTime(new Date('2025-10-29T03:00:00Z'));
86
+ const calendarDate = new CalendarDate(2025, 10, 29);
87
+ expect(calendarDate.isToday('UTC')).toBe(true);
88
+ expect(calendarDate.isToday('Asia/Shanghai')).toBe(true);
89
+ expect(calendarDate.isToday('America/New_York')).toBe(false);
90
+ jest.useRealTimers();
91
+ });
92
+ it('should convert to Date object', () => {
93
+ const calendarDate = new CalendarDate(2025, 10, 29);
94
+ const dateObj = calendarDate.toDate();
95
+ expect(dateObj.getFullYear()).toBe(2025);
96
+ expect(dateObj.getMonth() + 1).toBe(10);
97
+ expect(dateObj.getDate()).toBe(29);
98
+ });
99
+ });