@globalpayments/vega 2.66.0 → 2.68.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.
- package/dist/cjs/{app-globals-ab28f910.js → app-globals-f7106a22.js} +15 -14
- package/dist/cjs/{child-nodes-event-prevent-slimmer-eb803b14.js → child-nodes-event-prevent-slimmer-f8840f1b.js} +1 -1
- package/dist/cjs/{code-block-ab97a0a0.js → code-block-39074880.js} +514 -319
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-5630341e.js → component-value-history-controller-slimmer.abstract-ddedf543.js} +2 -2
- package/dist/cjs/{design-token-847739f1.js → design-token-e14a4e66.js} +1 -1
- package/dist/cjs/{dto-renderer-manager-d0f0f2c0.js → dto-renderer-manager-b7969d6c.js} +1587 -1563
- package/dist/cjs/{element-appender-slimmer-aead9bbb.js → element-appender-slimmer-7ee27ab3.js} +5 -5
- package/dist/cjs/{event-emit-slimmer-d21a0935.js → event-emit-slimmer-7afe8d78.js} +1 -1
- package/dist/cjs/{token-extension-aa8d5cce.js → function-extension-f0e845f2.js} +1019 -96
- package/dist/cjs/{image-annotation-action-d84de785.js → image-annotation-action-7f0626c8.js} +15 -25
- package/dist/cjs/index.cjs.js +36 -24
- package/dist/cjs/{internal-vega-event-manager-4d1ce667.js → internal-vega-event-manager-45d451de.js} +5 -2
- package/dist/cjs/{language-extension-d257e65d.js → language-extension-d0103d1a.js} +5 -5
- package/dist/cjs/loader.cjs.js +8 -8
- package/dist/cjs/{public-rules-d2b9b8f0.js → public-rules-8b67eaba.js} +3 -3
- package/dist/cjs/{range-d610028e.js → range-002671b6.js} +1 -1
- package/dist/cjs/{responsive-format-facade-71e7b74c.js → responsive-format-facade-347db035.js} +3 -3
- package/dist/cjs/{rich-text-editor-required-rule-a8fe5f50.js → rich-text-editor-required-rule-5392bd8a.js} +1 -1
- package/dist/cjs/{style-formatter-6facb42b.js → style-formatter-0a09f0dd.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +7 -7
- package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -8
- package/dist/cjs/vega-banner.cjs.entry.js +2 -2
- package/dist/cjs/vega-box.cjs.entry.js +8 -8
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
- package/dist/cjs/vega-button.cjs.entry.js +8 -8
- package/dist/cjs/vega-calendar_4.cjs.entry.js +307 -269
- package/dist/cjs/vega-card.cjs.entry.js +7 -7
- package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-chip.cjs.entry.js +9 -9
- package/dist/cjs/vega-code-block.cjs.entry.js +6 -6
- package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +3 -3
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-dialog_2.cjs.entry.js +138 -44
- package/dist/cjs/vega-divider.cjs.entry.js +7 -7
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +9 -9
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +24 -5
- package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
- package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
- package/dist/cjs/vega-flex.cjs.entry.js +8 -8
- package/dist/cjs/vega-font.cjs.entry.js +7 -7
- package/dist/cjs/vega-form.cjs.entry.js +3 -3
- package/dist/cjs/vega-grid.cjs.entry.js +7 -7
- package/dist/cjs/vega-icon.cjs.entry.js +6 -6
- package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-passcode.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-select.cjs.entry.js +38 -14
- package/dist/cjs/vega-input.cjs.entry.js +14 -3
- package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +11 -11
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
- package/dist/cjs/vega-popover_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +2 -2
- package/dist/cjs/vega-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +93 -16
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +107 -54
- package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
- package/dist/cjs/vega-signature-capture.cjs.entry.js +7 -7
- package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-table_8.cjs.entry.js +11 -11
- package/dist/cjs/vega-textarea.cjs.entry.js +24 -4
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
- package/dist/cjs/vega.cjs.js +8 -8
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/calendar-event-sorter.js +3 -3
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/day-view-timed-event-layout-column.js +1 -1
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +3 -4
- package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.js +11 -3
- package/dist/collection/components/vega-field-label/vega-field-label.js +42 -0
- package/dist/collection/components/vega-input/vega-input.js +48 -2
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.js +16 -5
- package/dist/collection/components/vega-input-select/vega-input-select.css +2 -44
- package/dist/collection/components/vega-input-select/vega-input-select.js +81 -1
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +95 -16
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.js +4 -1
- package/dist/collection/components/vega-modal/slimmers/models/vega-modal-open-state.js +9 -0
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +4 -1
- package/dist/collection/components/vega-modal/vega-modal.js +19 -16
- package/dist/collection/components/vega-rich-text-content/slimmers/controllers/vega-rich-text-content-extensions-styles-controller.js +60 -0
- package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +7 -1
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +17 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor-registry.js +61 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor.abstract.js +5 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.js +30 -6
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +10 -3
- 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
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.js +28 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/paste-content-action.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +5 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/annotation-style.js +87 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +27 -9
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +1 -12
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +14 -5
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +7 -37
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +14 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +19 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +44 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +51 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-new-paragraph-interceptor.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-paste-content-interceptor.js +25 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/function-block-insert-paragraph-strategy.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +99 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/paste-plain-text-strategy.js +68 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/actions/insert-function-block-action.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/actions/paste-plain-text-action.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +97 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +73 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +69 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +49 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +27 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +55 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +75 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +71 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.js +5 -6
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/public-api.js +8 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +9 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +0 -12
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +12 -10
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -5
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +1 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +10 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +4 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +1 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +1 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +1 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +2 -5
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +4 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/action-handle-strategy-registry.test.js +32 -2
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-delete-node-content-strategy.test.js +69 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-style.test.js +70 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.css +3 -0
- package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
- package/dist/collection/components/vega-table/vega-table.css +2 -1
- package/dist/collection/components/vega-textarea/vega-textarea.js +88 -2
- package/dist/collection/global/scripts/before-vega-load.js +2 -0
- package/dist/collection/helpers/calendar/calendar-date-time.js +136 -0
- package/dist/collection/helpers/calendar/calendar-date.js +10 -4
- package/dist/collection/helpers/calendar/calendar-event.js +38 -193
- package/dist/collection/helpers/calendar/calendar-time.js +120 -0
- package/dist/collection/helpers/calendar/index.js +2 -0
- package/dist/collection/helpers/calendar/test/calendar-date-time.test.js +27 -0
- package/dist/collection/helpers/calendar/test/calendar-event.test.js +24 -22
- package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +2 -2
- package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +2 -2
- package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +6 -6
- package/dist/collection/helpers/calendar/test/calendar-time.test.js +45 -0
- package/dist/collection/helpers/calendar/test/utils.test.js +1 -29
- package/dist/collection/helpers/calendar/utils.js +0 -66
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +5 -2
- package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +2 -0
- package/dist/esm/{app-globals-37a60cc1.js → app-globals-2f689986.js} +6 -5
- package/dist/esm/{child-nodes-event-prevent-slimmer-735cb880.js → child-nodes-event-prevent-slimmer-76331524.js} +1 -1
- package/dist/esm/{code-block-11b2bc1c.js → code-block-e8839202.js} +511 -318
- package/dist/esm/{component-value-history-controller-slimmer.abstract-16c5cb96.js → component-value-history-controller-slimmer.abstract-c6f94113.js} +2 -2
- package/dist/esm/{design-token-297dc528.js → design-token-e9e6b011.js} +1 -1
- package/dist/esm/{dto-renderer-manager-a1a3b6d2.js → dto-renderer-manager-7abc53bf.js} +1587 -1565
- package/dist/esm/{element-appender-slimmer-f7233708.js → element-appender-slimmer-8dbc8387.js} +2 -2
- package/dist/esm/{event-emit-slimmer-28fd360c.js → event-emit-slimmer-4e28e9f8.js} +1 -1
- package/dist/esm/{token-extension-b690953f.js → function-extension-eb1d062f.js} +1018 -97
- package/dist/esm/{image-annotation-action-fc46c920.js → image-annotation-action-7957653a.js} +14 -24
- package/dist/esm/index.js +9 -9
- package/dist/esm/{internal-vega-event-manager-a5a5938d.js → internal-vega-event-manager-516aa721.js} +5 -2
- package/dist/esm/{language-extension-314a2b18.js → language-extension-3331131f.js} +3 -3
- package/dist/esm/loader.js +8 -8
- package/dist/esm/{public-rules-c6a6946d.js → public-rules-e613dead.js} +3 -3
- package/dist/esm/{range-b78254de.js → range-adf206fd.js} +1 -1
- package/dist/esm/{responsive-format-facade-a41e1be7.js → responsive-format-facade-b0712993.js} +3 -3
- package/dist/esm/{rich-text-editor-required-rule-d50c24da.js → rich-text-editor-required-rule-43857573.js} +1 -1
- package/dist/esm/{style-formatter-f7effaac.js → style-formatter-a20a1ef4.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +7 -7
- package/dist/esm/vega-app-header-button.entry.js +8 -8
- package/dist/esm/vega-banner.entry.js +2 -2
- package/dist/esm/vega-box.entry.js +8 -8
- package/dist/esm/vega-breadcrumb.entry.js +3 -3
- package/dist/esm/vega-button-circle.entry.js +9 -9
- package/dist/esm/vega-button-group_2.entry.js +3 -3
- package/dist/esm/vega-button-link.entry.js +3 -3
- package/dist/esm/vega-button.entry.js +8 -8
- package/dist/esm/vega-calendar_4.entry.js +307 -269
- package/dist/esm/vega-card.entry.js +7 -7
- package/dist/esm/vega-carousel.entry.js +7 -7
- package/dist/esm/vega-checkbox_2.entry.js +3 -3
- package/dist/esm/vega-chip.entry.js +9 -9
- package/dist/esm/vega-code-block.entry.js +6 -6
- package/dist/esm/vega-color-picker.entry.js +2 -2
- package/dist/esm/vega-combo-box.entry.js +3 -3
- package/dist/esm/vega-date-picker_2.entry.js +8 -8
- package/dist/esm/vega-dialog_2.entry.js +132 -38
- package/dist/esm/vega-divider.entry.js +7 -7
- package/dist/esm/vega-dropdown_5.entry.js +9 -9
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +24 -5
- package/dist/esm/vega-file-uploader.entry.js +2 -2
- package/dist/esm/vega-flag-icon.entry.js +6 -6
- package/dist/esm/vega-flex.entry.js +8 -8
- package/dist/esm/vega-font.entry.js +7 -7
- package/dist/esm/vega-form.entry.js +3 -3
- package/dist/esm/vega-grid.entry.js +7 -7
- package/dist/esm/vega-icon.entry.js +6 -6
- package/dist/esm/vega-image-uploader.entry.js +7 -7
- package/dist/esm/vega-input-credit-card.entry.js +3 -3
- package/dist/esm/vega-input-numeric.entry.js +3 -3
- package/dist/esm/vega-input-passcode.entry.js +3 -3
- package/dist/esm/vega-input-phone-number.entry.js +6 -6
- package/dist/esm/vega-input-range.entry.js +3 -3
- package/dist/esm/vega-input-select.entry.js +38 -14
- package/dist/esm/vega-input.entry.js +14 -3
- package/dist/esm/vega-item-toggle.entry.js +2 -2
- package/dist/esm/vega-left-nav_5.entry.js +7 -7
- package/dist/esm/vega-loader-wrapper_2.entry.js +6 -6
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
- package/dist/esm/vega-pagination.entry.js +7 -7
- package/dist/esm/vega-popover_2.entry.js +9 -9
- package/dist/esm/vega-progress-tracker.entry.js +2 -2
- package/dist/esm/vega-radio_2.entry.js +3 -3
- package/dist/esm/vega-rich-text-content.entry.js +93 -16
- package/dist/esm/vega-rich-text-editor_4.entry.js +107 -54
- package/dist/esm/vega-segment-control.entry.js +2 -2
- package/dist/esm/vega-selection-chip_2.entry.js +8 -8
- package/dist/esm/vega-selection-tile_2.entry.js +3 -3
- package/dist/esm/vega-sidenav_3.entry.js +6 -6
- package/dist/esm/vega-signature-capture.entry.js +7 -7
- package/dist/esm/vega-stepper.entry.js +3 -3
- package/dist/esm/vega-tab-group_2.entry.js +3 -3
- package/dist/esm/vega-table_8.entry.js +8 -8
- package/dist/esm/vega-textarea.entry.js +25 -5
- package/dist/esm/vega-time-picker_2.entry.js +9 -9
- package/dist/esm/vega-toggle-switch.entry.js +2 -2
- package/dist/esm/vega-tooltip_2.entry.js +7 -7
- package/dist/esm/vega.js +8 -8
- package/dist/sri/vega-sri-manifest.json +273 -273
- package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.d.ts +1 -0
- package/dist/types/components/vega-field-label/types.d.ts +12 -0
- package/dist/types/components/vega-field-label/vega-field-label.d.ts +13 -1
- package/dist/types/components/vega-input/vega-input.d.ts +14 -2
- package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.d.ts +3 -0
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +25 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +31 -2
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.d.ts +1 -0
- package/dist/types/components/vega-modal/slimmers/models/vega-modal-open-state.d.ts +9 -0
- package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +1 -0
- package/dist/types/components/vega-modal/types.d.ts +9 -0
- package/dist/types/components/vega-modal/vega-modal.d.ts +8 -2
- package/dist/types/components/vega-rich-text-content/slimmers/controllers/vega-rich-text-content-extensions-styles-controller.d.ts +26 -0
- package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor-registry.d.ts +42 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor.abstract.d.ts +26 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +9 -2
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/dto/actions/paste-content-action.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation-style.d.ts +46 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +10 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +3 -3
- package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +0 -11
- package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +16 -0
- package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +19 -3
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +36 -3
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-new-paragraph-interceptor.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-paste-content-interceptor.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/function-block-insert-paragraph-strategy.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/paste-plain-text-strategy.d.ts +26 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/actions/insert-function-block-action.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/actions/paste-plain-text-action.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +58 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.d.ts +55 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +48 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.d.ts +32 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.d.ts +33 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts +3 -4
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +8 -2
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +8 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +2 -11
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-delete-node-content-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/annotation-style.test.d.ts +1 -0
- package/dist/types/components/vega-textarea/vega-textarea.d.ts +26 -0
- package/dist/types/components.d.ts +66 -4
- package/dist/types/helpers/calendar/calendar-date-time.d.ts +76 -0
- package/dist/types/helpers/calendar/calendar-event.d.ts +18 -57
- package/dist/types/helpers/calendar/calendar-time.d.ts +64 -0
- package/dist/types/helpers/calendar/index.d.ts +2 -0
- package/dist/types/helpers/calendar/test/calendar-date-time.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-time.test.d.ts +1 -0
- package/dist/types/helpers/calendar/utils.d.ts +0 -25
- package/dist/types/types/components.type.d.ts +1 -1
- package/dist/types/types/public-api.d.ts +2 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-6f7d42a0.entry.js → p-00376f71.entry.js} +1 -1
- package/dist/vega/p-018d70a5.js +1 -0
- package/dist/vega/p-0849f85e.js +1 -0
- package/dist/vega/{p-b431f9d5.entry.js → p-0a55f984.entry.js} +1 -1
- package/dist/vega/p-0f7dec29.entry.js +1 -0
- package/dist/vega/{p-47cae62d.entry.js → p-113d305b.entry.js} +1 -1
- package/dist/vega/{p-015cdbe7.entry.js → p-115b42e6.entry.js} +1 -1
- package/dist/vega/p-16358fec.entry.js +1 -0
- package/dist/vega/{p-af5bfe34.js → p-16d68187.js} +1 -1
- package/dist/vega/{p-92a22562.entry.js → p-18e8c54a.entry.js} +1 -1
- package/dist/vega/{p-6f6ccf67.entry.js → p-1922303e.entry.js} +1 -1
- package/dist/vega/{p-74d61782.entry.js → p-19256107.entry.js} +1 -1
- package/dist/vega/{p-59298f5e.entry.js → p-1dcb1fcd.entry.js} +2 -2
- package/dist/vega/{p-7f69081b.entry.js → p-1dd7f8b2.entry.js} +1 -1
- package/dist/vega/{p-d006e732.entry.js → p-22fe8c61.entry.js} +1 -1
- package/dist/vega/{p-524693d8.entry.js → p-238afe1b.entry.js} +1 -1
- package/dist/vega/p-240d9d35.entry.js +1 -0
- package/dist/vega/{p-b82d3915.entry.js → p-24419ebe.entry.js} +1 -1
- package/dist/vega/p-2478f65e.js +1 -0
- package/dist/vega/{p-358e9800.entry.js → p-2c945862.entry.js} +1 -1
- package/dist/vega/{p-5f58d1da.entry.js → p-2e32fbe6.entry.js} +1 -1
- package/dist/vega/p-2f04d2ac.js +1 -0
- package/dist/vega/p-30a8d9d6.entry.js +1 -0
- package/dist/vega/{p-e6cccee4.js → p-369810ae.js} +1 -1
- package/dist/vega/p-3ad87199.entry.js +1 -0
- package/dist/vega/{p-fe2e859f.entry.js → p-3b800f1b.entry.js} +1 -1
- package/dist/vega/p-437f865f.js +1 -0
- package/dist/vega/{p-de624f7d.entry.js → p-48bc03fa.entry.js} +1 -1
- package/dist/vega/{p-46830028.entry.js → p-54ddd06f.entry.js} +1 -1
- package/dist/vega/{p-5a0524ab.entry.js → p-56636a58.entry.js} +1 -1
- package/dist/vega/{p-fc8c5869.entry.js → p-56f77466.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-ab1001f5.entry.js → p-61d9cdf9.entry.js} +1 -1
- package/dist/vega/{p-39b9c57b.entry.js → p-626246b4.entry.js} +1 -1
- package/dist/vega/{p-ff3bb4e2.entry.js → p-634499cb.entry.js} +1 -1
- package/dist/vega/p-6609d87e.entry.js +1 -0
- package/dist/vega/p-69d27eaf.entry.js +1 -0
- package/dist/vega/{p-7efb5ebe.entry.js → p-705dad87.entry.js} +1 -1
- package/dist/vega/{p-8d574fbd.entry.js → p-75b5894f.entry.js} +1 -1
- package/dist/vega/{p-00071542.entry.js → p-76b1dae4.entry.js} +1 -1
- package/dist/vega/{p-54b62ecf.js → p-7747c163.js} +1 -1
- package/dist/vega/{p-0ed53cce.entry.js → p-787caad3.entry.js} +1 -1
- package/dist/vega/{p-129c0ce1.js → p-79e6e12c.js} +1 -1
- package/dist/vega/{p-cc519f53.entry.js → p-7dde3be9.entry.js} +1 -1
- package/dist/vega/p-8233d814.entry.js +1 -0
- package/dist/vega/{p-5e32866d.entry.js → p-83a50ac2.entry.js} +1 -1
- package/dist/vega/p-8506e8c3.js +1 -0
- package/dist/vega/{p-47fa359b.js → p-85407fb9.js} +1 -1
- package/dist/vega/{p-892cbe7c.entry.js → p-880569ec.entry.js} +1 -1
- package/dist/vega/{p-0113a83c.entry.js → p-8dba59a6.entry.js} +1 -1
- package/dist/vega/p-94e167b8.entry.js +1 -0
- package/dist/vega/{p-b2aaab66.entry.js → p-98fb9eaa.entry.js} +1 -1
- package/dist/vega/{p-3288a65b.entry.js → p-99bf5993.entry.js} +1 -1
- package/dist/vega/p-a211ae63.js +1 -0
- package/dist/vega/{p-fef846d5.entry.js → p-a2506cb5.entry.js} +1 -1
- package/dist/vega/{p-4e33fff6.entry.js → p-a6fb5a40.entry.js} +1 -1
- package/dist/vega/{p-bee1cc34.entry.js → p-b5060e84.entry.js} +1 -1
- package/dist/vega/{p-616cd622.entry.js → p-b78670c9.entry.js} +1 -1
- package/dist/vega/{p-d5761532.entry.js → p-b8558278.entry.js} +1 -1
- package/dist/vega/{p-8d655fd2.entry.js → p-bb0f2b5f.entry.js} +1 -1
- package/dist/vega/{p-a7631c6b.js → p-bb37a401.js} +1 -1
- package/dist/vega/p-bccee21e.js +1 -0
- package/dist/vega/{p-2553031f.entry.js → p-bd0e55a2.entry.js} +1 -1
- package/dist/vega/{p-65693321.entry.js → p-c0223a17.entry.js} +1 -1
- package/dist/vega/{p-2d430dc4.entry.js → p-c26332ae.entry.js} +1 -1
- package/dist/vega/{p-7f9ec104.entry.js → p-c54148fb.entry.js} +1 -1
- package/dist/vega/{p-276b1163.entry.js → p-d3905af1.entry.js} +2 -2
- package/dist/vega/p-d4893487.js +1 -0
- package/dist/vega/{p-d1dacaeb.entry.js → p-d67200e8.entry.js} +1 -1
- package/dist/vega/{p-725f0a2c.js → p-db57dddc.js} +1 -1
- package/dist/vega/{p-ed8bc4f0.entry.js → p-de02f404.entry.js} +1 -1
- package/dist/vega/{p-d4452dbc.entry.js → p-de8c5fae.entry.js} +1 -1
- package/dist/vega/{p-7b145620.js → p-de97c6d9.js} +1 -1
- package/dist/vega/{p-34800282.entry.js → p-e0979451.entry.js} +1 -1
- package/dist/vega/{p-1a3cb65e.entry.js → p-e6351dab.entry.js} +1 -1
- package/dist/vega/{p-8d096fea.entry.js → p-f0fb3fdd.entry.js} +1 -1
- package/dist/vega/{p-ea05a2fc.entry.js → p-f3399ef1.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-019f7f95.js +0 -1
- package/dist/vega/p-03a1e82e.entry.js +0 -1
- package/dist/vega/p-0d1eca78.entry.js +0 -1
- package/dist/vega/p-16370cfb.js +0 -1
- package/dist/vega/p-3a7f177a.entry.js +0 -1
- package/dist/vega/p-41c3fcb4.js +0 -1
- package/dist/vega/p-81105691.entry.js +0 -1
- package/dist/vega/p-822c6092.js +0 -1
- package/dist/vega/p-8edf3513.js +0 -1
- package/dist/vega/p-a1b7a179.entry.js +0 -1
- package/dist/vega/p-ab8f99e9.entry.js +0 -1
- package/dist/vega/p-bf7f755b.js +0 -1
- package/dist/vega/p-bf9476cd.entry.js +0 -1
- package/dist/vega/p-c1da8328.entry.js +0 -1
- package/dist/vega/p-c6ce2869.js +0 -1
- package/dist/vega/p-d0e6454e.entry.js +0 -1
- package/dist/vega/p-d88e88a7.js +0 -1
- package/dist/vega/p-f360c9ba.js +0 -1
|
@@ -23,7 +23,7 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
|
|
|
23
23
|
'disabled': this.disabled,
|
|
24
24
|
'vega-hidden': this.sourceView,
|
|
25
25
|
}, style: { minHeight: `${this.rows * 24}px` }, onClick: this.richTextContentFocus, role: "textbox", tabIndex: !this.disabled ? -1 : 0, onKeyDown: createEnterKeyHandlerToTriggerClick(), ref: (node) => (this.richTextContainerRef = node) },
|
|
26
|
-
h("vega-rich-text-content", { ref: (ref) => (this.richTextContentRef = ref), content: this.value }),
|
|
26
|
+
h("vega-rich-text-content", { ref: (ref) => (this.richTextContentRef = ref), content: this.value, extensions: this.extensions }),
|
|
27
27
|
this.renderCharacterCounter()));
|
|
28
28
|
};
|
|
29
29
|
this.renderCharacterCounter = () => {
|
|
@@ -155,6 +155,9 @@ __decorate([
|
|
|
155
155
|
__decorate([
|
|
156
156
|
MapToComponentField()
|
|
157
157
|
], VegaRichTextEditorRenderer.prototype, "allowSourceEdit", void 0);
|
|
158
|
+
__decorate([
|
|
159
|
+
MapToComponentField()
|
|
160
|
+
], VegaRichTextEditorRenderer.prototype, "extensions", void 0);
|
|
158
161
|
__decorate([
|
|
159
162
|
MapToComponentMethod('componentDidRender')
|
|
160
163
|
], VegaRichTextEditorRenderer.prototype, "componentDidRender", null);
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { LogUtility } from '../../../../../utils/log';
|
|
2
|
+
import { ActionHandlerInterceptorRegistry } from '../../../dto/action-handle-strategies/action-handle-interceptor-registry';
|
|
3
|
+
import { ActionHandlerInterceptor } from '../../../dto/action-handle-strategies/action-handle-interceptor.abstract';
|
|
2
4
|
import { ActionHandleStrategyRegistry } from '../../../dto/action-handle-strategies/action-handle-strategy-registry';
|
|
3
5
|
import { ActionHandleStrategy } from '../../../dto/action-handle-strategies/action-handle-strategy.abstract';
|
|
6
|
+
import { AppendChildrenStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/append-children-strategy';
|
|
4
7
|
import { AnnotationAction } from '../../../dto/actions/annotation-action.abstract';
|
|
8
|
+
import { AppendChildrenAction } from '../../../dto/actions/append-child-nodes-action';
|
|
9
|
+
import { ModifyContentActionType, } from '../../../dto/actions/modify-content-action.abstract';
|
|
10
|
+
import { RTETextBlock } from '../../../dto/blocks/text-block';
|
|
5
11
|
import { RTEImageNode } from '../../../dto/nodes/image-node';
|
|
6
12
|
import { RTETextNode } from '../../../dto/nodes/text-node';
|
|
7
13
|
class MockAnnotationAction extends AnnotationAction {
|
|
@@ -33,9 +39,33 @@ test('ActionHandleStrategyRegistry methods executeTheStrategy should work proper
|
|
|
33
39
|
expect(strategy.handleAction).toBeCalledWith(action, target);
|
|
34
40
|
});
|
|
35
41
|
test('ActionHandleStrategyRegistry methods executeTheStrategy should log error if the strategy is not exist', () => {
|
|
36
|
-
spyOn(LogUtility, '
|
|
42
|
+
spyOn(LogUtility, 'warn');
|
|
37
43
|
const action = new MockAnnotationAction();
|
|
38
44
|
const target = new RTEImageNode('1', 'test url', null);
|
|
39
45
|
ActionHandleStrategyRegistry.executeTheStrategy(action, target);
|
|
40
|
-
expect(LogUtility.
|
|
46
|
+
expect(LogUtility.warn).toBeCalledWith(`Type MockAnnotationAction action handle strategy is not registered in class RTEImageNode`);
|
|
47
|
+
});
|
|
48
|
+
test('ActionHandleStrategyRegistry methods executeTheStrategy should work properly when interceptor is present', () => {
|
|
49
|
+
const customAction = new AppendChildrenAction([new RTETextNode('1', 'child', null)]);
|
|
50
|
+
const block = new RTETextBlock('block1', 'paragraph');
|
|
51
|
+
ActionHandleStrategyRegistry.register(ModifyContentActionType.APPEND_CHILDREN, RTETextBlock.name, new AppendChildrenStrategy());
|
|
52
|
+
class CustomInterceptorStrategy extends ActionHandlerInterceptor {
|
|
53
|
+
canIntercept(_action, target) {
|
|
54
|
+
return !!target;
|
|
55
|
+
}
|
|
56
|
+
intercept() {
|
|
57
|
+
LogUtility.warn('Interceptor executed');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const interceptor = new CustomInterceptorStrategy();
|
|
61
|
+
spyOn(interceptor, 'canIntercept').and.callThrough();
|
|
62
|
+
spyOn(interceptor, 'intercept').and.callThrough();
|
|
63
|
+
ActionHandlerInterceptorRegistry.register(ModifyContentActionType.APPEND_CHILDREN, RTETextBlock.name, interceptor);
|
|
64
|
+
block.apply(customAction);
|
|
65
|
+
expect(interceptor.intercept).toBeCalledTimes(1);
|
|
66
|
+
expect(interceptor.intercept).toBeCalledTimes(1);
|
|
67
|
+
expect(block.children.length).toBe(0);
|
|
68
|
+
ActionHandlerInterceptorRegistry.unregister(ModifyContentActionType.APPEND_CHILDREN, RTETextBlock.name, interceptor);
|
|
69
|
+
block.apply(customAction);
|
|
70
|
+
expect(block.children.length).toBe(1);
|
|
41
71
|
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { BlockDeleteNodeContentStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy';
|
|
2
|
+
import { VegaRTEContent } from '../../../dto/content-state';
|
|
3
|
+
class MockDeleteStrategy extends BlockDeleteNodeContentStrategy {
|
|
4
|
+
getPreviousBlockMethod(currentBlock) {
|
|
5
|
+
return super['getPreviousBlock'](currentBlock);
|
|
6
|
+
}
|
|
7
|
+
handleAction() {
|
|
8
|
+
throw new Error('Method not implemented.');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const strategy = new MockDeleteStrategy();
|
|
12
|
+
test('BlockDeleteNodeContentStrategy#getPreviousBlock should work properly', () => {
|
|
13
|
+
const content = VegaRTEContent.fromJSON([
|
|
14
|
+
{
|
|
15
|
+
id: '1',
|
|
16
|
+
type: 'paragraph',
|
|
17
|
+
nodes: [
|
|
18
|
+
{ id: '1-1', type: 'text', text: 'A' },
|
|
19
|
+
{ id: '1-1', type: 'text', text: 'B' },
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: '2',
|
|
24
|
+
type: 'paragraph',
|
|
25
|
+
nodes: [],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: '2',
|
|
29
|
+
type: 'html-block',
|
|
30
|
+
children: [
|
|
31
|
+
{
|
|
32
|
+
id: '2-1',
|
|
33
|
+
type: 'paragraph',
|
|
34
|
+
nodes: [],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: '2-2',
|
|
38
|
+
type: 'paragraph',
|
|
39
|
+
nodes: [],
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: '3',
|
|
45
|
+
type: 'number-list',
|
|
46
|
+
blocks: [
|
|
47
|
+
{
|
|
48
|
+
id: '3-1',
|
|
49
|
+
type: 'list-item',
|
|
50
|
+
nodes: [],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: '3-2',
|
|
54
|
+
type: 'list-item',
|
|
55
|
+
nodes: [],
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
]);
|
|
60
|
+
const htmlBlock = content.children[2];
|
|
61
|
+
const list = content.children[3];
|
|
62
|
+
expect(strategy.getPreviousBlockMethod(content.children[0])).toBeUndefined();
|
|
63
|
+
expect(strategy.getPreviousBlockMethod(content.children[1])).toEqual(content.children[0]);
|
|
64
|
+
expect(strategy.getPreviousBlockMethod(htmlBlock)).toEqual(content.children[1]);
|
|
65
|
+
expect(strategy.getPreviousBlockMethod(htmlBlock.children[0])).toEqual(content.children[1]);
|
|
66
|
+
expect(strategy.getPreviousBlockMethod(htmlBlock.children[1])).toEqual(htmlBlock.children[0]);
|
|
67
|
+
expect(strategy.getPreviousBlockMethod(list.children[0])).toEqual(htmlBlock);
|
|
68
|
+
expect(strategy.getPreviousBlockMethod(list.children[1])).toEqual(list.children[0]);
|
|
69
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { RTEAnnotationStyle } from '../../dto/annotations/annotation-style';
|
|
2
|
+
import { RTETextBlock } from '../../dto/blocks/text-block';
|
|
3
|
+
import '../../dto/setup';
|
|
4
|
+
describe('annotation-style', () => {
|
|
5
|
+
it('toCssText', () => {
|
|
6
|
+
const textBlock = RTETextBlock.from({
|
|
7
|
+
id: '1',
|
|
8
|
+
type: 'paragraph',
|
|
9
|
+
annotations: {
|
|
10
|
+
textAlign: 'center',
|
|
11
|
+
customStyle: {
|
|
12
|
+
color: 'red',
|
|
13
|
+
fontSize: '16px',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
nodes: [],
|
|
17
|
+
});
|
|
18
|
+
const blockAnnotationStyle = new RTEAnnotationStyle(textBlock);
|
|
19
|
+
expect(blockAnnotationStyle.toCssText()).toEqual('color: red;font-size: 16px;');
|
|
20
|
+
expect(blockAnnotationStyle.toCssText({ standalone: true })).toEqual('font-family: Inter;font-size: 16px;line-height: 22px;font-weight: 500;margin-top: 0px;margin-bottom: 0px;text-align: center;color: red;');
|
|
21
|
+
expect(blockAnnotationStyle.toCssText(null, null, {})).toEqual('');
|
|
22
|
+
expect(blockAnnotationStyle.toCssText(null, null, { color: 'red' })).toEqual('color: red;');
|
|
23
|
+
expect(blockAnnotationStyle.toCssText(null, null, { backgroundColor: 'blue', fontWeight: 'bold' })).toEqual('background-color: blue;font-weight: bold;');
|
|
24
|
+
});
|
|
25
|
+
it('toJSON', () => {
|
|
26
|
+
const textBlock = RTETextBlock.from({
|
|
27
|
+
id: '1',
|
|
28
|
+
type: 'paragraph',
|
|
29
|
+
annotations: {
|
|
30
|
+
textAlign: 'center',
|
|
31
|
+
customStyle: {
|
|
32
|
+
color: 'red',
|
|
33
|
+
fontSize: '16px',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
nodes: [
|
|
37
|
+
{
|
|
38
|
+
id: 'n1',
|
|
39
|
+
type: 'text',
|
|
40
|
+
text: 'Sample text',
|
|
41
|
+
annotations: {
|
|
42
|
+
bold: true,
|
|
43
|
+
italic: false,
|
|
44
|
+
underline: true,
|
|
45
|
+
customStyle: {
|
|
46
|
+
textDecoration: 'line-through',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
});
|
|
52
|
+
const blockAnnotationStyle = new RTEAnnotationStyle(textBlock);
|
|
53
|
+
expect(blockAnnotationStyle.toJSON({ standalone: true })).toEqual({
|
|
54
|
+
color: 'red',
|
|
55
|
+
fontFamily: 'Inter',
|
|
56
|
+
fontSize: '16px',
|
|
57
|
+
fontWeight: '500',
|
|
58
|
+
lineHeight: '22px',
|
|
59
|
+
marginBottom: '0px',
|
|
60
|
+
marginTop: '0px',
|
|
61
|
+
textAlign: 'center',
|
|
62
|
+
});
|
|
63
|
+
const nodeAnnotationStyle = new RTEAnnotationStyle(textBlock.children[0]);
|
|
64
|
+
expect(nodeAnnotationStyle.toJSON()).toEqual({ textDecoration: 'line-through' });
|
|
65
|
+
expect(nodeAnnotationStyle.toJSON({ standalone: true }, ['textDecoration'])).toEqual({
|
|
66
|
+
fontWeight: '700',
|
|
67
|
+
textDecoration: 'underline line-through',
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
});
|
|
@@ -241,7 +241,7 @@ export class VegaSelectionChip {
|
|
|
241
241
|
"mutable": false,
|
|
242
242
|
"complexType": {
|
|
243
243
|
"original": "VegaSelectionChipTooltipProps",
|
|
244
|
-
"resolved": "{ size?: ResponsiveType<SizeType>; trigger?: \"hover\" | \"click\" | \"none\"; positionRelativeTo?: string; minWidth?: ResponsiveType<SizeType>; maxWidth?: ResponsiveType<SizeType>; content?: string; disableInteractive?: boolean; text?: string;
|
|
244
|
+
"resolved": "{ size?: ResponsiveType<SizeType>; trigger?: \"hover\" | \"click\" | \"none\"; positionRelativeTo?: string; minWidth?: ResponsiveType<SizeType>; maxWidth?: ResponsiveType<SizeType>; content?: string; disableInteractive?: boolean; text?: string; placement?: ElementAppenderPlacementType; alignment?: ElementAppenderAlignmentType; }",
|
|
245
245
|
"references": {
|
|
246
246
|
"VegaSelectionChipTooltipProps": {
|
|
247
247
|
"location": "import",
|
|
@@ -59,7 +59,8 @@ table.v-table-fixed {
|
|
|
59
59
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
60
60
|
transition-duration: 150ms;
|
|
61
61
|
}
|
|
62
|
-
.vega-table-scrollable-container.scrolled vega-table-head.fixed-header
|
|
62
|
+
.vega-table-scrollable-container.scrolled vega-table-head.fixed-header,
|
|
63
|
+
.vega-table-scrollable-container.scrolled ::slotted(vega-table-head.fixed-header) {
|
|
63
64
|
box-shadow: 0px 4px 0px rgba(0, 0, 0, 0.1); /* TODO: wait design token upgrade */
|
|
64
65
|
}
|
|
65
66
|
|
|
@@ -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 {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
/**
|