@globalpayments/vega 2.47.1 → 2.48.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-fdf98585.js → app-globals-22798708.js} +3 -3
- package/dist/cjs/{content-state-b1ec39e3.js → content-state-54d94562.js} +220 -4
- package/dist/cjs/{design-token-0c22ffa8.js → design-token-1abb655a.js} +1 -1
- package/dist/cjs/{element-appender-slimmer-b3109dd1.js → element-appender-slimmer-2d4c8c18.js} +2 -2
- package/dist/cjs/{form-field-controller-slimmer-2432e295.js → form-field-controller-slimmer-527c25a0.js} +2 -2
- package/dist/cjs/{image-annotation-action-becd6f24.js → image-annotation-action-b78404b8.js} +1 -1
- package/dist/cjs/{index-ec9a1f36.js → index-c4dec3aa.js} +1 -1
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/{inject-keyboard-manager-d1eac696.js → inject-keyboard-manager-b301e887.js} +1 -1
- package/dist/cjs/{keyboard-manager-97d0ddfa.js → keyboard-manager-2ccf4b16.js} +25 -5
- package/dist/cjs/{keyboard-manager-slimmer-23ce5dcf.js → keyboard-manager-slimmer-900cf2f5.js} +1 -1
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/{min-number-rule-5bcccc8f.js → min-number-rule-965fc43d.js} +2 -2
- package/dist/cjs/{public-rules-3c2a69b4.js → public-rules-c4d2df9d.js} +3 -3
- package/dist/cjs/{responsive-format-facade-e48962dd.js → responsive-format-facade-38f3763e.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-f08f5891.js → rich-text-editor-required-rule-e73f2c4f.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-56a2401f.js → string-input-formatter-slimmer-50322824.js} +2 -2
- package/dist/cjs/{style-formatter-48ef74d4.js → style-formatter-ecb4d49c.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-b16c9094.js → sub-state-notify-slimmer-7f437b19.js} +1 -1
- package/dist/cjs/{sub-state-observer-slimmer-1b6de09f.js → sub-state-observer-slimmer-e90362cd.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +4 -4
- package/dist/cjs/vega-app-header-button.cjs.entry.js +4 -4
- package/dist/cjs/vega-box.cjs.entry.js +5 -5
- package/dist/cjs/vega-button-circle.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-button.cjs.entry.js +3 -3
- package/dist/cjs/vega-calendar_3.cjs.entry.js +3 -3
- package/dist/cjs/vega-card.cjs.entry.js +4 -4
- package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-chip.cjs.entry.js +4 -4
- package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
- package/dist/cjs/vega-combo-box.cjs.entry.js +5 -5
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +10 -10
- package/dist/cjs/vega-dialog_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-divider.cjs.entry.js +4 -4
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +8 -8
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
- package/dist/cjs/vega-flag-icon.cjs.entry.js +4 -4
- package/dist/cjs/vega-flex.cjs.entry.js +5 -5
- package/dist/cjs/vega-font.cjs.entry.js +4 -4
- package/dist/cjs/vega-form.cjs.entry.js +4 -4
- package/dist/cjs/vega-grid.cjs.entry.js +4 -4
- package/dist/cjs/vega-icon.cjs.entry.js +4 -4
- package/dist/cjs/vega-image-uploader.cjs.entry.js +16 -7
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-numeric.cjs.entry.js +11 -8
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-select.cjs.entry.js +5 -5
- package/dist/cjs/vega-input.cjs.entry.js +8 -8
- package/dist/cjs/{vega-internal-event-id-dc866d43.js → vega-internal-event-id-bfea9b93.js} +4 -0
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +447 -194
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
- package/dist/cjs/vega-popover_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-radio_2.cjs.entry.js +8 -5
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +12 -12
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +448 -192
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +5 -5
- package/dist/cjs/vega-signature-capture.cjs.entry.js +6 -6
- package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
- package/dist/cjs/vega-table_8.cjs.entry.js +5 -5
- package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +11 -11
- package/dist/cjs/vega.cjs.js +5 -5
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-actions-renderer.js +4 -1
- package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +11 -1
- package/dist/collection/components/vega-input/vega-input.js +4 -4
- package/dist/collection/components/vega-nav/slimmers/vega-left-nav-group-hierarchy-controller.js +31 -0
- package/dist/collection/components/vega-nav/vega-left-nav/test/vega-left-nav-mock-data.js +147 -0
- package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +42 -8
- package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-initialize-selected-controller.js +56 -0
- package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-link-click-controller.js +70 -0
- package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-open-state-controller.js +47 -0
- package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-other-groups-click-controller.js +60 -0
- package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/renderers/vega-left-nav-group-renderer.js +10 -9
- package/dist/collection/components/vega-nav/vega-left-nav-group/vega-left-nav-group.js +21 -6
- package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.js +21 -0
- package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.js +13 -1
- package/dist/collection/components/vega-nav/vega-left-nav-link/vega-left-nav-link.js +5 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +7 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/selection-range-annotation.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +47 -2
- package/dist/collection/components/vega-rich-text-editor/dto/editor-state.js +36 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +7 -1
- package/dist/collection/components/vega-rich-text-editor/dto/range.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/dto/selection-state.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.js +18 -15
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/history-controller.js +137 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +54 -15
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +13 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +116 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +5 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/slimmers/renderers/vega-rich-text-image-editor-renderer.js +4 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.js +2 -1
- package/dist/collection/components/vega-stepper/vega-stepper.js +2 -2
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +2 -0
- package/dist/collection/helpers/keyboard/keyboard-manager.js +25 -5
- package/dist/collection/helpers/keyboard/test/keyboard-manager.test.js +204 -105
- package/dist/collection/helpers/validator/rules/max-number-rule.js +1 -1
- package/dist/collection/helpers/validator/rules/min-number-rule.js +1 -1
- package/dist/collection/helpers/validator/test/rules/max-number-rule.test.js +2 -2
- package/dist/collection/helpers/validator/test/rules/min-number-rule.test.js +2 -2
- package/dist/esm/{app-globals-53b6125a.js → app-globals-1bb57f5e.js} +3 -3
- package/dist/esm/{content-state-7437e069.js → content-state-6dba6625.js} +220 -4
- package/dist/esm/{design-token-fb43f78a.js → design-token-070b7326.js} +1 -1
- package/dist/esm/{element-appender-slimmer-0a0b20e9.js → element-appender-slimmer-d196dd21.js} +2 -2
- package/dist/esm/{form-field-controller-slimmer-2978abd4.js → form-field-controller-slimmer-e7dc3db1.js} +2 -2
- package/dist/esm/{image-annotation-action-51248df9.js → image-annotation-action-0b661259.js} +1 -1
- package/dist/esm/{index-96374234.js → index-4aa167d6.js} +1 -1
- package/dist/esm/index.js +6 -6
- package/dist/esm/{inject-keyboard-manager-ab0bfb8b.js → inject-keyboard-manager-f513be4a.js} +1 -1
- package/dist/esm/{keyboard-manager-8c4ef91b.js → keyboard-manager-262be5ce.js} +25 -5
- package/dist/esm/{keyboard-manager-slimmer-6f5cb52a.js → keyboard-manager-slimmer-42bf9773.js} +1 -1
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{min-number-rule-a6082418.js → min-number-rule-86421853.js} +2 -2
- package/dist/esm/{public-rules-cfc196c9.js → public-rules-f9aaa527.js} +3 -3
- package/dist/esm/{responsive-format-facade-ae799f25.js → responsive-format-facade-dfed6d94.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-baf61553.js → rich-text-editor-required-rule-42b796eb.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-8c7987ac.js → string-input-formatter-slimmer-c61f82d6.js} +2 -2
- package/dist/esm/{style-formatter-bf71b8e7.js → style-formatter-788dbacf.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-2216c7dc.js → sub-state-notify-slimmer-4e3cf09d.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-da938c88.js → sub-state-observer-slimmer-be7a6ce3.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +4 -4
- package/dist/esm/vega-app-header-button.entry.js +4 -4
- package/dist/esm/vega-box.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +4 -4
- package/dist/esm/vega-button-group_2.entry.js +3 -3
- package/dist/esm/vega-button.entry.js +3 -3
- package/dist/esm/vega-calendar_3.entry.js +3 -3
- package/dist/esm/vega-card.entry.js +4 -4
- package/dist/esm/vega-carousel.entry.js +3 -3
- package/dist/esm/vega-checkbox_2.entry.js +3 -3
- package/dist/esm/vega-chip.entry.js +4 -4
- package/dist/esm/vega-color-picker.entry.js +3 -3
- package/dist/esm/vega-combo-box.entry.js +5 -5
- package/dist/esm/vega-date-picker_2.entry.js +10 -10
- package/dist/esm/vega-dialog_2.entry.js +4 -4
- package/dist/esm/vega-divider.entry.js +4 -4
- package/dist/esm/vega-dropdown_5.entry.js +8 -8
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-file-uploader.entry.js +3 -3
- package/dist/esm/vega-flag-icon.entry.js +4 -4
- package/dist/esm/vega-flex.entry.js +5 -5
- package/dist/esm/vega-font.entry.js +4 -4
- package/dist/esm/vega-form.entry.js +4 -4
- package/dist/esm/vega-grid.entry.js +4 -4
- package/dist/esm/vega-icon.entry.js +4 -4
- package/dist/esm/vega-image-uploader.entry.js +16 -7
- package/dist/esm/vega-input-credit-card.entry.js +3 -3
- package/dist/esm/vega-input-numeric.entry.js +11 -8
- package/dist/esm/vega-input-phone-number.entry.js +3 -3
- package/dist/esm/vega-input-range.entry.js +3 -3
- package/dist/esm/vega-input-select.entry.js +5 -5
- package/dist/esm/vega-input.entry.js +8 -8
- package/dist/esm/{vega-internal-event-id-7d1ff289.js → vega-internal-event-id-85ad403f.js} +3 -1
- package/dist/esm/vega-left-nav_5.entry.js +447 -194
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +1 -1
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -1
- package/dist/esm/vega-pagination.entry.js +3 -3
- package/dist/esm/vega-popover_2.entry.js +11 -11
- package/dist/esm/vega-radio_2.entry.js +8 -5
- package/dist/esm/vega-rich-text-content.entry.js +12 -12
- package/dist/esm/vega-rich-text-editor_4.entry.js +448 -192
- package/dist/esm/vega-selection-chip_2.entry.js +6 -6
- package/dist/esm/vega-selection-tile_2.entry.js +4 -4
- package/dist/esm/vega-sidenav_3.entry.js +5 -5
- package/dist/esm/vega-signature-capture.entry.js +6 -6
- package/dist/esm/vega-stepper.entry.js +6 -6
- package/dist/esm/vega-table_8.entry.js +5 -5
- package/dist/esm/vega-textarea.entry.js +3 -3
- package/dist/esm/vega-time-picker_2.entry.js +8 -8
- package/dist/esm/vega-toggle-switch.entry.js +3 -3
- package/dist/esm/vega-tooltip_2.entry.js +11 -11
- package/dist/esm/vega.js +5 -5
- package/dist/types/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-actions-renderer.d.ts +1 -0
- package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +3 -0
- package/dist/types/components/vega-input/vega-input.d.ts +2 -2
- package/dist/types/components/vega-nav/interface.d.ts +11 -0
- package/dist/types/components/vega-nav/slimmers/vega-left-nav-group-hierarchy-controller.d.ts +15 -0
- package/dist/types/components/vega-nav/vega-left-nav/test/vega-left-nav-mock-data.d.ts +4 -0
- package/dist/types/components/vega-nav/vega-left-nav/vega-left-nav.d.ts +21 -4
- package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-initialize-selected-controller.d.ts +20 -0
- package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-link-click-controller.d.ts +25 -0
- package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-open-state-controller.d.ts +27 -0
- package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-other-groups-click-controller.d.ts +17 -0
- package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/renderers/vega-left-nav-group-renderer.d.ts +2 -1
- package/dist/types/components/vega-nav/vega-left-nav-group/vega-left-nav-group.d.ts +12 -5
- package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.d.ts +5 -0
- package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.d.ts +2 -0
- package/dist/types/components/vega-nav/vega-left-nav-link/vega-left-nav-link.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/selection-range-annotation.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +9 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +19 -1
- package/dist/types/components/vega-rich-text-editor/dto/editor-state.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +9 -1
- package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/range.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/selection-state.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/history-controller.d.ts +54 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +14 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -1
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +2 -0
- package/dist/types/components.d.ts +13 -11
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +2 -0
- package/dist/types/helpers/keyboard/keyboard-manager.d.ts +11 -1
- package/dist/types/types/components.type.d.ts +1 -0
- package/dist/types/types/ui.type.d.ts +1 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-2c1c88c0.entry.js → p-024cccab.entry.js} +1 -1
- package/dist/vega/{p-4b1a7d31.entry.js → p-07d1c3e1.entry.js} +1 -1
- package/dist/vega/{p-96410d71.entry.js → p-09c13382.entry.js} +1 -1
- package/dist/vega/{p-343b4522.entry.js → p-09f7f841.entry.js} +1 -1
- package/dist/vega/{p-50a076d0.entry.js → p-0a18f5f6.entry.js} +1 -1
- package/dist/vega/{p-b9f48611.js → p-0d355793.js} +1 -1
- package/dist/vega/{p-b64d5c3a.entry.js → p-10f1429e.entry.js} +1 -1
- package/dist/vega/p-1b3f492f.entry.js +1 -0
- package/dist/vega/{p-b4dfa967.entry.js → p-1d0cf3ae.entry.js} +1 -1
- package/dist/vega/{p-4b541ce8.entry.js → p-2198de3e.entry.js} +1 -1
- package/dist/vega/{p-b06e5916.entry.js → p-2491d18f.entry.js} +1 -1
- package/dist/vega/{p-0073c3de.entry.js → p-24e0cdcc.entry.js} +1 -1
- package/dist/vega/{p-1c08e94a.entry.js → p-27e3825f.entry.js} +1 -1
- package/dist/vega/{p-b6caa1e2.entry.js → p-292b421a.entry.js} +1 -1
- package/dist/vega/{p-8f80b321.entry.js → p-2ecae9fe.entry.js} +1 -1
- package/dist/vega/{p-410755ca.entry.js → p-2fadef27.entry.js} +1 -1
- package/dist/vega/{p-d6620b42.entry.js → p-31ec679b.entry.js} +1 -1
- package/dist/vega/{p-d6d9c300.entry.js → p-32c68611.entry.js} +1 -1
- package/dist/vega/{p-bab6ca81.js → p-32ca74b1.js} +1 -1
- package/dist/vega/{p-f9b07b5e.entry.js → p-353d32c0.entry.js} +1 -1
- package/dist/vega/{p-aa109e80.entry.js → p-371cc8e8.entry.js} +1 -1
- package/dist/vega/{p-c86a4896.entry.js → p-38fa38dc.entry.js} +1 -1
- package/dist/vega/{p-e1a06741.entry.js → p-472727a4.entry.js} +1 -1
- package/dist/vega/{p-59e9f57a.js → p-48b7f20d.js} +1 -1
- package/dist/vega/p-4e68dfd9.js +1 -0
- package/dist/vega/{p-8c32ff75.entry.js → p-4fa94b35.entry.js} +1 -1
- package/dist/vega/{p-1e2886b5.js → p-50e80afa.js} +1 -1
- package/dist/vega/p-56a0b13d.js +1 -0
- package/dist/vega/{p-a1bdf9a0.entry.js → p-575ca599.entry.js} +1 -1
- package/dist/vega/{p-bcb43c54.entry.js → p-57e813f2.entry.js} +1 -1
- package/dist/vega/{p-324dd09a.entry.js → p-5a8f129f.entry.js} +1 -1
- package/dist/vega/p-5c1eedc5.js +1 -0
- package/dist/vega/{p-b65de502.entry.js → p-5c3da7ed.entry.js} +1 -1
- package/dist/vega/{p-b2643e88.js → p-5e3a15a1.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-611282a7.entry.js → p-65a76f19.entry.js} +1 -1
- package/dist/vega/{p-69cc3fa2.js → p-6cabdb36.js} +1 -1
- package/dist/vega/{p-79cc1f41.entry.js → p-6cc32ffa.entry.js} +1 -1
- package/dist/vega/{p-d7642125.js → p-72ecfd40.js} +1 -1
- package/dist/vega/{p-0b56725e.entry.js → p-7581d242.entry.js} +1 -1
- package/dist/vega/{p-213752bd.js → p-75c68f51.js} +1 -1
- package/dist/vega/p-7db32dc0.entry.js +1 -0
- package/dist/vega/{p-f0bc8f6d.js → p-7f6702f7.js} +1 -1
- package/dist/vega/{p-df44a712.entry.js → p-84298e28.entry.js} +1 -1
- package/dist/vega/p-8bc4c015.entry.js +1 -0
- package/dist/vega/{p-e59ff7d1.entry.js → p-971f7d3c.entry.js} +1 -1
- package/dist/vega/{p-1b731247.entry.js → p-9dba10f7.entry.js} +1 -1
- package/dist/vega/p-b1f9fca8.entry.js +1 -0
- package/dist/vega/{p-7594875a.entry.js → p-b3e1dc86.entry.js} +1 -1
- package/dist/vega/{p-d6c37085.entry.js → p-baca6dfc.entry.js} +1 -1
- package/dist/vega/p-bf1894ec.js +1 -0
- package/dist/vega/p-c5f8b3a3.entry.js +1 -0
- package/dist/vega/p-c6a3fe8a.entry.js +1 -0
- package/dist/vega/p-c754b32c.js +1 -0
- package/dist/vega/p-cc43a4ca.js +1 -0
- package/dist/vega/{p-0523efe8.entry.js → p-ccdd49be.entry.js} +1 -1
- package/dist/vega/p-cd205d96.js +1 -0
- package/dist/vega/{p-d4a61b1d.entry.js → p-d033ed44.entry.js} +1 -1
- package/dist/vega/{p-e5695801.entry.js → p-d6591d70.entry.js} +1 -1
- package/dist/vega/{p-80c86d79.js → p-d7937711.js} +1 -1
- package/dist/vega/{p-7bc3a42b.js → p-db4112af.js} +1 -1
- package/dist/vega/{p-c706de06.entry.js → p-dd33bc71.entry.js} +1 -1
- package/dist/vega/{p-4f7f93ef.entry.js → p-e8f16f1d.entry.js} +1 -1
- package/dist/vega/{p-01b4d6ba.entry.js → p-ed6cc75b.entry.js} +1 -1
- package/dist/vega/p-f4d3387c.entry.js +1 -0
- package/dist/vega/{p-bd5ca7cc.entry.js → p-f5b19d4f.entry.js} +1 -1
- package/dist/vega/{p-4f54ba1f.entry.js → p-f7423232.entry.js} +1 -1
- package/dist/vega/p-fba4bae5.js +1 -0
- package/dist/vega/p-fda0c179.entry.js +1 -0
- package/dist/vega/p-ff41dc6a.entry.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-controller.js +0 -30
- package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-sibling-observer-controller.js +0 -48
- package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-controller.d.ts +0 -11
- package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-sibling-observer-controller.d.ts +0 -18
- package/dist/vega/p-08679cd9.entry.js +0 -1
- package/dist/vega/p-12d60f5f.js +0 -1
- package/dist/vega/p-214aa52e.js +0 -1
- package/dist/vega/p-2863aa51.entry.js +0 -1
- package/dist/vega/p-2e65e175.js +0 -1
- package/dist/vega/p-31de5cb4.entry.js +0 -1
- package/dist/vega/p-3d3cd394.js +0 -1
- package/dist/vega/p-3e285c35.js +0 -1
- package/dist/vega/p-8af3fc79.entry.js +0 -1
- package/dist/vega/p-8ee31f00.entry.js +0 -1
- package/dist/vega/p-952913fc.entry.js +0 -1
- package/dist/vega/p-ab26cad6.js +0 -1
- package/dist/vega/p-b07add9c.entry.js +0 -1
- package/dist/vega/p-b9051ad2.js +0 -1
- package/dist/vega/p-c2321aa8.entry.js +0 -1
- package/dist/vega/p-ceb9f5aa.entry.js +0 -1
- package/dist/vega/p-f2373487.js +0 -1
package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js
CHANGED
|
@@ -38,7 +38,7 @@ class RTEImageNodeRenderer extends RTENodeRenderer {
|
|
|
38
38
|
render(node, renderContext) {
|
|
39
39
|
const imageAnnotation = node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
|
|
40
40
|
const { size, alt } = imageAnnotation || new ImageAnnotation('md', '');
|
|
41
|
-
return renderContext.editable ? (h("vega-rich-text-image-editor", { style: super.getStyles(node), size: size, alt: alt, ref: (ref) => {
|
|
41
|
+
return renderContext.editable ? (h("vega-rich-text-image-editor", { key: node.id, style: super.getStyles(node), size: size, alt: alt, ref: (ref) => {
|
|
42
42
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (e) => this.handleChange(e, node));
|
|
43
43
|
} }, this.renderImage(alt, node, renderContext))) : (this.renderImage(alt, node, renderContext));
|
|
44
44
|
}
|
package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js
CHANGED
|
@@ -7,9 +7,9 @@ class RTETextNodeRenderer extends RTENodeRenderer {
|
|
|
7
7
|
render(node) {
|
|
8
8
|
const codeAnnotation = node.annotationMap.get(NodeAnnotationTypeEnum.CODE);
|
|
9
9
|
if (codeAnnotation === null || codeAnnotation === void 0 ? void 0 : codeAnnotation.code) {
|
|
10
|
-
return (h("code", { style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
|
|
10
|
+
return (h("code", { key: node.id, style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
|
|
11
11
|
}
|
|
12
|
-
return (h("span", { style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
|
|
12
|
+
return (h("span", { key: node.id, style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
|
|
13
13
|
}
|
|
14
14
|
registerRef(ref, node) {
|
|
15
15
|
super.registerRef(ref, node);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents the state of the selection in the RTE.
|
|
3
|
+
*/
|
|
4
|
+
export class RTESelectionState {
|
|
5
|
+
constructor(range) {
|
|
6
|
+
this.range = range;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Clones the selection state, updating the range nodes based on the provided content.
|
|
10
|
+
*
|
|
11
|
+
* @returns {RTESelectionState} A new instance of RTESelectionState with the updated range.
|
|
12
|
+
*/
|
|
13
|
+
clone() {
|
|
14
|
+
const newRange = this.range.clone();
|
|
15
|
+
return new RTESelectionState(newRange);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -34,7 +34,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
34
34
|
childNodes.push({
|
|
35
35
|
id: generateUUID(),
|
|
36
36
|
type: 'text',
|
|
37
|
-
text: child.textContent,
|
|
37
|
+
text: String(child.textContent),
|
|
38
38
|
annotations: annotations,
|
|
39
39
|
});
|
|
40
40
|
}
|
|
@@ -67,7 +67,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
67
67
|
* @returns {boolean} - boolean.
|
|
68
68
|
*/
|
|
69
69
|
isInvalidTextNode(element) {
|
|
70
|
-
if (element.nodeValue.includes('\t')) {
|
|
70
|
+
if (element.nodeValue && element.nodeValue.includes('\t')) {
|
|
71
71
|
const value = element.nodeValue.replace(/\n|\t/gm, '');
|
|
72
72
|
if (value.length === 0)
|
|
73
73
|
return true;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNonNullable } from '../../../../../../types/type-guard';
|
|
1
2
|
/**
|
|
2
3
|
* Abstract class to define strategies for processing HTML elements
|
|
3
4
|
*/
|
|
@@ -23,14 +24,14 @@ export class ElementToDTOStrategyOutput {
|
|
|
23
24
|
/**
|
|
24
25
|
* Transform current output and children output to DTO
|
|
25
26
|
*
|
|
26
|
-
* @returns {RTEContentBlock} - DTO.
|
|
27
|
+
* @returns {Nullable<RTEContentBlock>} - DTO.
|
|
27
28
|
*/
|
|
28
29
|
toDto() {
|
|
29
30
|
const currentBlock = this.currentStrategy.handle(this.currentElements);
|
|
30
31
|
if (this.childrenOutput.length > 0 && currentBlock) {
|
|
31
32
|
this.currentStrategy.appendChildBlocks(currentBlock, this.childrenOutput
|
|
32
33
|
.map((childOutput) => childOutput.toDto())
|
|
33
|
-
.filter(
|
|
34
|
+
.filter(isNonNullable));
|
|
34
35
|
}
|
|
35
36
|
return currentBlock;
|
|
36
37
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { generateUUID } from '../../../../../../utils/misc';
|
|
2
2
|
import { RTEImageBlock } from '../../../../dto/blocks/image-block';
|
|
3
3
|
import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
|
|
4
|
+
import { isNonNullable } from '../../../../../../types/type-guard';
|
|
4
5
|
/** Transform vega-rich-text-image-editor element to image block DTO */
|
|
5
6
|
export class VegaImageToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
6
7
|
/**
|
|
@@ -22,22 +23,24 @@ export class VegaImageToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbs
|
|
|
22
23
|
handle(elementsArray) {
|
|
23
24
|
const element = elementsArray[0];
|
|
24
25
|
const image = element.querySelector('img');
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
if (isNonNullable(image)) {
|
|
27
|
+
return RTEImageBlock.from({
|
|
28
|
+
id: generateUUID(),
|
|
29
|
+
type: 'image',
|
|
30
|
+
nodes: [
|
|
31
|
+
{
|
|
32
|
+
id: generateUUID(),
|
|
33
|
+
type: 'image',
|
|
34
|
+
url: image.src,
|
|
35
|
+
annotations: {
|
|
36
|
+
size: element.size || 'md',
|
|
37
|
+
alt: element.alt,
|
|
38
|
+
},
|
|
36
39
|
},
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
40
|
+
],
|
|
41
|
+
annotations: this.generateBlockAnnotations(element),
|
|
42
|
+
});
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
/* istanbul ignore next */
|
|
43
46
|
/**
|
package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/history-controller.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
|
|
8
|
+
import { RTEEditorState } from '../../dto/editor-state';
|
|
9
|
+
import { debounce } from '../../../../utils/timer';
|
|
10
|
+
import { RTESelectionState } from '../../dto/selection-state';
|
|
11
|
+
import { KeyboardManagerSlimmer } from '../../../../helpers/slimmers/keyboard-manager-slimmer';
|
|
12
|
+
/**
|
|
13
|
+
* History controller for RTE.
|
|
14
|
+
*/
|
|
15
|
+
export class HistoryController extends KeyboardManagerSlimmer {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(() => this.getKeyboardShortcutOptions.call(this));
|
|
18
|
+
this.redoStack = [];
|
|
19
|
+
this.undoStack = [];
|
|
20
|
+
this.registerHistoryDelay = 300;
|
|
21
|
+
this.registerHistoryDebounced = debounce(() => {
|
|
22
|
+
this.internalRegisterHistory(new RTEEditorState(this.value, new RTESelectionState(this.selectionController.getCurrentRange())));
|
|
23
|
+
}, this.registerHistoryDelay, this);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Component lifecycle - [componentDidLoad]
|
|
27
|
+
*/
|
|
28
|
+
registerInitState() {
|
|
29
|
+
if (this.value) {
|
|
30
|
+
this.internalRegisterHistory(new RTEEditorState(this.value, new RTESelectionState(this.selectionController.getCurrentRange())));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Restores the previous state from the undo stack.
|
|
35
|
+
*/
|
|
36
|
+
async undo() {
|
|
37
|
+
if (this.undoStack.length > 0) {
|
|
38
|
+
const clonedState = this.undoStack.pop().clone();
|
|
39
|
+
this.redoStack.push(clonedState);
|
|
40
|
+
const prev = this.undoStack[this.undoStack.length - 1];
|
|
41
|
+
if (prev) {
|
|
42
|
+
await this.restoreState(prev.clone());
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Restores the next state from the redo stack.
|
|
48
|
+
*/
|
|
49
|
+
async redo() {
|
|
50
|
+
if (this.redoStack.length > 0) {
|
|
51
|
+
const clonedState = this.redoStack.pop().clone();
|
|
52
|
+
this.undoStack.push(clonedState);
|
|
53
|
+
await this.restoreState(clonedState);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Registers history based on the editor state.
|
|
58
|
+
*
|
|
59
|
+
* @param {RTEEditorState} editorState - The state to record in history.
|
|
60
|
+
*/
|
|
61
|
+
registerHistory(editorState) {
|
|
62
|
+
// TODO: feat: add a `force` option to register history immediately when needed.
|
|
63
|
+
this.registerHistoryDebounced(editorState);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Internal function to register history immediately.
|
|
67
|
+
*
|
|
68
|
+
* @param {RTEEditorState} state - The state to record in history.
|
|
69
|
+
*/
|
|
70
|
+
internalRegisterHistory(state) {
|
|
71
|
+
this.redoStack = []; // clear redo stack when new action happens.
|
|
72
|
+
this.undoStack.push(state);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Restores the editor state based on the provided history state.
|
|
76
|
+
*
|
|
77
|
+
* @param {RTEEditorState} state - The state to restore to.
|
|
78
|
+
*/
|
|
79
|
+
async restoreState(state) {
|
|
80
|
+
const { content, selection } = state;
|
|
81
|
+
this.selectionController.setSelectionState(selection);
|
|
82
|
+
await this.valueController.flushChanges(content, false);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Returns the keyboard shortcut options for undo/redo functionality.
|
|
86
|
+
*
|
|
87
|
+
* @returns {KeyboardEventListener[]} - An array of keyboard shortcut options.
|
|
88
|
+
*/
|
|
89
|
+
getKeyboardShortcutOptions() {
|
|
90
|
+
const baseOption = {
|
|
91
|
+
keyCode: 'KeyZ',
|
|
92
|
+
activeElementInScope: [this.vegaRichTextEditorRenderer.getRTEEditableElementRef()],
|
|
93
|
+
eventName: 'keydown',
|
|
94
|
+
modifierPressed: true,
|
|
95
|
+
};
|
|
96
|
+
return [
|
|
97
|
+
Object.assign(Object.assign({}, baseOption), { shiftKey: false,
|
|
98
|
+
/**
|
|
99
|
+
* Callback function for the undo action.
|
|
100
|
+
*
|
|
101
|
+
* @param {KeyboardEvent} e - The keyboard event triggered by the user.
|
|
102
|
+
*/
|
|
103
|
+
callback: (e) => {
|
|
104
|
+
e.preventDefault();
|
|
105
|
+
void this.undo();
|
|
106
|
+
} }),
|
|
107
|
+
Object.assign(Object.assign({}, baseOption), { shiftKey: true,
|
|
108
|
+
/**
|
|
109
|
+
* Callback function for the redo action.
|
|
110
|
+
*
|
|
111
|
+
* @param {KeyboardEvent} e - The keyboard event triggered by the user.
|
|
112
|
+
*/
|
|
113
|
+
callback: (e) => {
|
|
114
|
+
e.preventDefault();
|
|
115
|
+
void this.redo();
|
|
116
|
+
} }),
|
|
117
|
+
];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
__decorate([
|
|
121
|
+
MapToComponentField()
|
|
122
|
+
], HistoryController.prototype, "host", void 0);
|
|
123
|
+
__decorate([
|
|
124
|
+
MapToComponentField()
|
|
125
|
+
], HistoryController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
MapToComponentField()
|
|
128
|
+
], HistoryController.prototype, "valueController", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
MapToComponentField()
|
|
131
|
+
], HistoryController.prototype, "value", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
MapToComponentField()
|
|
134
|
+
], HistoryController.prototype, "selectionController", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
MapToComponentMethod('componentDidLoad')
|
|
137
|
+
], HistoryController.prototype, "registerInitState", null);
|
|
@@ -17,8 +17,10 @@ import ChangeManager from '../../../../helpers/change-manager/change-manager';
|
|
|
17
17
|
import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
18
18
|
import { VegaInternalRichTextEditorSelectionRangeChange } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
19
19
|
import { Observer } from '../../../../helpers/change-manager/observer/observer';
|
|
20
|
+
import { RTETextNode } from '../../dto/nodes/text-node';
|
|
20
21
|
import { ZERO_WIDTH_SPACE } from '../../constants/constant';
|
|
21
22
|
import { RTERange } from '../../dto/range';
|
|
23
|
+
import { RTESelectionState } from '../../dto/selection-state';
|
|
22
24
|
/**
|
|
23
25
|
* The text selection controller
|
|
24
26
|
*/
|
|
@@ -28,7 +30,7 @@ export class SelectionController extends VegaSlimmer {
|
|
|
28
30
|
this.currentRange = new RTERange();
|
|
29
31
|
this.updateCaretPositionTaskQueue = new SynchronizeTaskQueue(1);
|
|
30
32
|
this.handleSelectionWithDebounce = debounce(this.handleSelectionChange, SelectionController.SELECTION_CHANGE_DEBOUNCE_TIME, this);
|
|
31
|
-
this.
|
|
33
|
+
this.pendingRestoreSelectionNodes = [];
|
|
32
34
|
/**
|
|
33
35
|
* Sets the next selection state with specified start and end nodes, offsets, and a timestamp.
|
|
34
36
|
*
|
|
@@ -68,6 +70,7 @@ export class SelectionController extends VegaSlimmer {
|
|
|
68
70
|
* Watches the internal value of the editor
|
|
69
71
|
*/
|
|
70
72
|
watchValueUpdate() {
|
|
73
|
+
this.prepareRestoreSelectionState();
|
|
71
74
|
this.restoreSelection();
|
|
72
75
|
}
|
|
73
76
|
/**
|
|
@@ -102,6 +105,14 @@ export class SelectionController extends VegaSlimmer {
|
|
|
102
105
|
getSelectedBlocks() {
|
|
103
106
|
return Array.from(this.selectionMap.keys());
|
|
104
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Set the selection state
|
|
110
|
+
*
|
|
111
|
+
* @param {RTESelectionState} state - The selection state to set
|
|
112
|
+
*/
|
|
113
|
+
setSelectionState(state) {
|
|
114
|
+
this.selectionState = state;
|
|
115
|
+
}
|
|
105
116
|
/**
|
|
106
117
|
* Sets the next selection state with specified start and end nodes, offsets, push the update task to a queue
|
|
107
118
|
*
|
|
@@ -159,23 +170,15 @@ export class SelectionController extends VegaSlimmer {
|
|
|
159
170
|
* Restore the selection to the current selected nodes
|
|
160
171
|
*/
|
|
161
172
|
restoreSelection() {
|
|
162
|
-
if (this.
|
|
163
|
-
const startNode = this.
|
|
164
|
-
|
|
165
|
-
if (startNode === endNode && startNode.text.length === 0) {
|
|
173
|
+
if (this.selectionState) {
|
|
174
|
+
const { startNode, endNode, startOffset, endOffset } = this.selectionState.range;
|
|
175
|
+
if (startNode instanceof RTETextNode && startNode === endNode && startNode.text.length === 0) {
|
|
166
176
|
this.enqueueSelectionRangeFutureState(startNode, ZERO_WIDTH_SPACE.length);
|
|
167
177
|
}
|
|
168
178
|
else {
|
|
169
|
-
|
|
170
|
-
if (stateEntityRenderingRegistry.getDOMByEntity(startNode) === startContainer.parentElement &&
|
|
171
|
-
stateEntityRenderingRegistry.getDOMByEntity(endNode) === endContainer.parentElement) {
|
|
172
|
-
this.enqueueSelectionRangeFutureState(startNode, startOffset, endNode, endOffset);
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
this.enqueueSelectionRangeFutureState(startNode, 0, endNode, endNode.text.length);
|
|
176
|
-
}
|
|
179
|
+
this.enqueueSelectionRangeFutureState(startNode, startOffset, endNode, endOffset);
|
|
177
180
|
}
|
|
178
|
-
this.
|
|
181
|
+
this.selectionState = null;
|
|
179
182
|
}
|
|
180
183
|
}
|
|
181
184
|
/**
|
|
@@ -263,10 +266,43 @@ export class SelectionController extends VegaSlimmer {
|
|
|
263
266
|
*/
|
|
264
267
|
registerSelectionRangeChangeObserver() {
|
|
265
268
|
this.selectionRangeChangeObserver = new Observer(this.isAcceptableSelectionRangeChange.bind(this), (payload) => {
|
|
266
|
-
this.
|
|
269
|
+
this.pendingRestoreSelectionNodes.push(payload.node);
|
|
267
270
|
});
|
|
268
271
|
ChangeManager.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalRichTextEditorSelectionRangeChange), this.selectionRangeChangeObserver);
|
|
269
272
|
}
|
|
273
|
+
/**
|
|
274
|
+
* Prepare the selection state to restore
|
|
275
|
+
*/
|
|
276
|
+
prepareRestoreSelectionState() {
|
|
277
|
+
if (this.pendingRestoreSelectionNodes.length > 0) {
|
|
278
|
+
const startNode = this.pendingRestoreSelectionNodes[0];
|
|
279
|
+
const endNode = this.pendingRestoreSelectionNodes.length > 1
|
|
280
|
+
? this.pendingRestoreSelectionNodes[this.pendingRestoreSelectionNodes.length - 1]
|
|
281
|
+
: startNode;
|
|
282
|
+
const { startOffset, endOffset, endContainer, startContainer } = this.currentRange;
|
|
283
|
+
const nodesInCurrentRange = stateEntityRenderingRegistry.getDOMByEntity(startNode) === startContainer.parentElement &&
|
|
284
|
+
stateEntityRenderingRegistry.getDOMByEntity(endNode) === endContainer.parentElement;
|
|
285
|
+
if (nodesInCurrentRange) {
|
|
286
|
+
this.currentRange = this.currentRange.updateRTERange({
|
|
287
|
+
startNode,
|
|
288
|
+
endNode,
|
|
289
|
+
startOffset,
|
|
290
|
+
endOffset,
|
|
291
|
+
});
|
|
292
|
+
this.selectionState = new RTESelectionState(this.currentRange);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
this.currentRange = this.currentRange.updateRTERange({
|
|
296
|
+
startNode,
|
|
297
|
+
endNode,
|
|
298
|
+
startOffset: 0,
|
|
299
|
+
endOffset: endNode.text.length,
|
|
300
|
+
});
|
|
301
|
+
this.selectionState = new RTESelectionState(this.currentRange);
|
|
302
|
+
}
|
|
303
|
+
this.pendingRestoreSelectionNodes = [];
|
|
304
|
+
}
|
|
305
|
+
}
|
|
270
306
|
}
|
|
271
307
|
SelectionController.SELECTION_CHANGE_DEBOUNCE_TIME = 50;
|
|
272
308
|
__decorate([
|
|
@@ -290,6 +326,9 @@ __decorate([
|
|
|
290
326
|
__decorate([
|
|
291
327
|
MapToComponentField()
|
|
292
328
|
], SelectionController.prototype, "insertCompositionTextController", void 0);
|
|
329
|
+
__decorate([
|
|
330
|
+
MapToComponentField()
|
|
331
|
+
], SelectionController.prototype, "historyController", void 0);
|
|
293
332
|
__decorate([
|
|
294
333
|
MapToComponentMethod('connectedCallback')
|
|
295
334
|
], SelectionController.prototype, "connectedCallback", null);
|
package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js
CHANGED
|
@@ -14,6 +14,8 @@ import { Observer } from '../../../../helpers/change-manager/observer/observer';
|
|
|
14
14
|
import { debounce } from '../../../../utils/timer';
|
|
15
15
|
import { VegaRTEContent } from '../../dto/content-state';
|
|
16
16
|
import { waitForComponentDidRender } from '../../../../helpers/common';
|
|
17
|
+
import { RTEEditorState } from '../../dto/editor-state';
|
|
18
|
+
import { RTESelectionState } from '../../dto/selection-state';
|
|
17
19
|
/**
|
|
18
20
|
* The value controller is responsible for updating the value of the rich text editor.
|
|
19
21
|
*/
|
|
@@ -64,8 +66,12 @@ export class ValueController extends VegaSlimmer {
|
|
|
64
66
|
* Updates the value of the editor and restore the selection.
|
|
65
67
|
*
|
|
66
68
|
* @param {VegaRTEContent} newValue The new value to set.
|
|
69
|
+
* @param {boolean} recordHistory - Whether to record the change in history.
|
|
67
70
|
*/
|
|
68
|
-
async flushChanges(newValue) {
|
|
71
|
+
async flushChanges(newValue, recordHistory = true) {
|
|
72
|
+
if (recordHistory) {
|
|
73
|
+
this.historyController.registerHistory(new RTEEditorState(newValue, new RTESelectionState(this.selectionController.getCurrentRange())));
|
|
74
|
+
}
|
|
69
75
|
this.value = newValue.clone();
|
|
70
76
|
await waitForComponentDidRender(this.host);
|
|
71
77
|
}
|
|
@@ -91,6 +97,12 @@ __decorate([
|
|
|
91
97
|
__decorate([
|
|
92
98
|
MapToComponentField()
|
|
93
99
|
], ValueController.prototype, "valueController", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
MapToComponentField()
|
|
102
|
+
], ValueController.prototype, "historyController", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
MapToComponentField()
|
|
105
|
+
], ValueController.prototype, "selectionController", void 0);
|
|
94
106
|
__decorate([
|
|
95
107
|
MapToComponentMethod('connectedCallback')
|
|
96
108
|
], ValueController.prototype, "connectedCallback", null);
|
|
@@ -2,6 +2,8 @@ import { VegaRTEContent } from '../../dto/content-state';
|
|
|
2
2
|
import { RTETextBlock } from '../../dto/blocks/text-block';
|
|
3
3
|
import { RTEImageBlock } from '../../dto/blocks/image-block';
|
|
4
4
|
import { RTEListBlock } from '../../dto/blocks/list-block';
|
|
5
|
+
import { BlockAnnotationTypeEnum } from '../../dto/annotations/block-annotation.abstract';
|
|
6
|
+
import { NodeAnnotationTypeEnum } from '../../dto/annotations/node-annotation.abstract';
|
|
5
7
|
describe('content state', () => {
|
|
6
8
|
it('fromJSON should work as expect', () => {
|
|
7
9
|
expect(() => VegaRTEContent.fromJSON([
|
|
@@ -125,6 +127,43 @@ describe('content state', () => {
|
|
|
125
127
|
expect(clonedContentState).not.toBe(contentState);
|
|
126
128
|
expect(clonedContentState).toEqual(contentState);
|
|
127
129
|
});
|
|
130
|
+
it('should deep clone content state', () => {
|
|
131
|
+
const contentState = VegaRTEContent.fromJSON([
|
|
132
|
+
{
|
|
133
|
+
id: '1',
|
|
134
|
+
type: 'paragraph',
|
|
135
|
+
annotations: {
|
|
136
|
+
textStyle: 'paragraph',
|
|
137
|
+
},
|
|
138
|
+
nodes: [
|
|
139
|
+
{ id: '1-1', type: 'text', text: 'This is a paragraph', annotations: { bold: true } },
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
]);
|
|
143
|
+
const clonedContentState = contentState.clone(true);
|
|
144
|
+
expect(clonedContentState).not.toBe(contentState);
|
|
145
|
+
expect(clonedContentState).toEqual(contentState);
|
|
146
|
+
const block = contentState.blocks[0];
|
|
147
|
+
const clonedBlock = clonedContentState.blocks[0];
|
|
148
|
+
expect(clonedBlock).toEqual(block);
|
|
149
|
+
expect(clonedBlock).not.toBe(block);
|
|
150
|
+
const node = block.nodes[0];
|
|
151
|
+
const clonedNode = clonedBlock.nodes[0];
|
|
152
|
+
expect(clonedNode).toEqual(node);
|
|
153
|
+
expect(clonedNode).not.toBe(node);
|
|
154
|
+
const blockAnnotations = block.annotationMap;
|
|
155
|
+
const clonedBlockAnnotations = clonedBlock.annotationMap;
|
|
156
|
+
expect(clonedBlockAnnotations).toEqual(blockAnnotations);
|
|
157
|
+
expect(clonedBlockAnnotations).not.toBe(blockAnnotations);
|
|
158
|
+
expect(clonedBlock.getAnnotationByType(BlockAnnotationTypeEnum.TEXT_STYLE)).toEqual(block.getAnnotationByType(BlockAnnotationTypeEnum.TEXT_STYLE));
|
|
159
|
+
expect(clonedBlock.getAnnotationByType(BlockAnnotationTypeEnum.TEXT_STYLE)).not.toBe(block.getAnnotationByType(BlockAnnotationTypeEnum.TEXT_STYLE));
|
|
160
|
+
const nodeAnnotations = node.annotationMap;
|
|
161
|
+
const clonedNodeAnnotations = clonedNode.annotationMap;
|
|
162
|
+
expect(clonedNodeAnnotations).toEqual(nodeAnnotations);
|
|
163
|
+
expect(clonedNodeAnnotations).not.toBe(nodeAnnotations);
|
|
164
|
+
expect(clonedNode.getAnnotationByType(NodeAnnotationTypeEnum.BOLD)).toEqual(node.getAnnotationByType(NodeAnnotationTypeEnum.BOLD));
|
|
165
|
+
expect(clonedNode.getAnnotationByType(NodeAnnotationTypeEnum.BOLD)).not.toBe(node.getAnnotationByType(NodeAnnotationTypeEnum.BOLD));
|
|
166
|
+
});
|
|
128
167
|
it('the parent property should set as properly when create VegaRTEContent', () => {
|
|
129
168
|
const contentState = VegaRTEContent.fromJSON([
|
|
130
169
|
{
|
|
@@ -169,4 +208,81 @@ describe('content state', () => {
|
|
|
169
208
|
expect(nestedListBlock.parent).toEqual(listItemBlock);
|
|
170
209
|
expect(nestedListItemBlock.parent).toEqual(nestedListBlock);
|
|
171
210
|
});
|
|
211
|
+
describe('findNodeById', () => {
|
|
212
|
+
let content;
|
|
213
|
+
beforeAll(() => {
|
|
214
|
+
content = VegaRTEContent.fromJSON([
|
|
215
|
+
{
|
|
216
|
+
id: '1',
|
|
217
|
+
type: 'paragraph',
|
|
218
|
+
nodes: [
|
|
219
|
+
{ id: '1-1', type: 'text', text: 'This ' },
|
|
220
|
+
{ id: '1-2', type: 'text', text: 'is a ' },
|
|
221
|
+
{ id: '1-3', type: 'text', text: 'paragraph.' },
|
|
222
|
+
],
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
id: '2',
|
|
226
|
+
type: 'image',
|
|
227
|
+
nodes: [{ id: '2-1', type: 'image', url: 'img.png' }],
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
id: '3',
|
|
231
|
+
type: 'bullet-list',
|
|
232
|
+
blocks: [
|
|
233
|
+
{
|
|
234
|
+
id: '3-1',
|
|
235
|
+
type: 'list-item',
|
|
236
|
+
nodes: [{ id: '3-1-1', type: 'text', text: 'List item 1' }],
|
|
237
|
+
children: [
|
|
238
|
+
{
|
|
239
|
+
id: '3-2',
|
|
240
|
+
type: 'number-list',
|
|
241
|
+
blocks: [
|
|
242
|
+
{
|
|
243
|
+
id: '3-2-1',
|
|
244
|
+
type: 'list-item',
|
|
245
|
+
nodes: [
|
|
246
|
+
{ id: '3-2-1-1', type: 'text', text: 'Nested list item' },
|
|
247
|
+
],
|
|
248
|
+
},
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
],
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
},
|
|
255
|
+
]);
|
|
256
|
+
});
|
|
257
|
+
it('should find the node in text block', () => {
|
|
258
|
+
expect(content.findNodeById('1-2').toJSON()).toEqual({ id: '1-2', type: 'text', text: 'is a ' });
|
|
259
|
+
});
|
|
260
|
+
it('should find the node in image block', () => {
|
|
261
|
+
expect(content.findNodeById('2-1').toJSON()).toEqual({
|
|
262
|
+
id: '2-1',
|
|
263
|
+
type: 'image',
|
|
264
|
+
url: 'img.png',
|
|
265
|
+
annotations: {
|
|
266
|
+
size: 'md',
|
|
267
|
+
},
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
it('should find the node in list item', () => {
|
|
271
|
+
expect(content.findNodeById('3-1-1').toJSON()).toEqual({
|
|
272
|
+
id: '3-1-1',
|
|
273
|
+
type: 'text',
|
|
274
|
+
text: 'List item 1',
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
it('should find the node in nested list item', () => {
|
|
278
|
+
expect(content.findNodeById('3-2-1-1').toJSON()).toEqual({
|
|
279
|
+
id: '3-2-1-1',
|
|
280
|
+
type: 'text',
|
|
281
|
+
text: 'Nested list item',
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
it('should return null for non-existent node', () => {
|
|
285
|
+
expect(content.findNodeById('not-exist')).toBeNull();
|
|
286
|
+
});
|
|
287
|
+
});
|
|
172
288
|
});
|
|
@@ -396,4 +396,16 @@ describe('text node', () => {
|
|
|
396
396
|
textNode.apply(new DeleteNodeAnnotationAction(NodeAnnotationTypeEnum.BOLD));
|
|
397
397
|
expect(textNode.toJSON()).toEqual({ id: '1', type: 'text', text: 'This is a text.' });
|
|
398
398
|
});
|
|
399
|
+
it('should clone a text node with annotations correctly', () => {
|
|
400
|
+
const textBlock = new RTETextBlock('block-1', 'paragraph');
|
|
401
|
+
const textNode = new RTETextNode('1', 'This is a text.', textBlock);
|
|
402
|
+
textNode.apply(new BoldAnnotationAction(true));
|
|
403
|
+
const clonedNode = textNode.clone();
|
|
404
|
+
expect(textNode).toEqual(clonedNode);
|
|
405
|
+
expect(textNode).not.toBe(clonedNode);
|
|
406
|
+
expect(textNode.annotationMap).toEqual(clonedNode.annotationMap);
|
|
407
|
+
expect(textNode.annotationMap).not.toBe(clonedNode.annotationMap);
|
|
408
|
+
expect(textNode.getAnnotationByType(NodeAnnotationTypeEnum.BOLD)).toEqual(clonedNode.getAnnotationByType(NodeAnnotationTypeEnum.BOLD));
|
|
409
|
+
expect(textNode.getAnnotationByType(NodeAnnotationTypeEnum.BOLD)).not.toBe(clonedNode.getAnnotationByType(NodeAnnotationTypeEnum.BOLD));
|
|
410
|
+
});
|
|
399
411
|
});
|
|
@@ -43,6 +43,7 @@ import { InsertCompositionTextController } from './slimmers/controllers/insert-c
|
|
|
43
43
|
import { DeleteSelectedNodesController } from './slimmers/controllers/delete-selected-nodes-controller';
|
|
44
44
|
import { TranslationSlimmer } from '../../helpers/slimmers/translation';
|
|
45
45
|
import { VegaInternalThemeManager } from '../../helpers/theme/internal-theme-manager';
|
|
46
|
+
import { HistoryController } from './slimmers/controllers/history-controller';
|
|
46
47
|
/**
|
|
47
48
|
* @vegaVersion 2.34.0
|
|
48
49
|
*/
|
|
@@ -95,6 +96,7 @@ export class VegaRichTextEditor {
|
|
|
95
96
|
this.changeEventPreventSlimmer = new ChildNodesEventPreventSlimmer([VegaChange], () => this.vegaRichTextEditorRenderer.getRichTextWrapperRef());
|
|
96
97
|
this.textNodeColorController = new TextNodeColorController();
|
|
97
98
|
this.deleteSelectedNodesController = new DeleteSelectedNodesController();
|
|
99
|
+
this.historyController = new HistoryController();
|
|
98
100
|
this.richTextContentEditable = true;
|
|
99
101
|
this.selectionMap = new Map();
|
|
100
102
|
this.isInDarkMode = VegaInternalThemeManager.isDarkMode();
|
|
@@ -689,3 +691,6 @@ __decorate([
|
|
|
689
691
|
__decorate([
|
|
690
692
|
InjectVegaSlimmer()
|
|
691
693
|
], VegaRichTextEditor.prototype, "deleteSelectedNodesController", void 0);
|
|
694
|
+
__decorate([
|
|
695
|
+
InjectVegaSlimmer()
|
|
696
|
+
], VegaRichTextEditor.prototype, "historyController", void 0);
|
|
@@ -63,6 +63,10 @@ export class VegaRichTextImageEditorRenderer extends VegaSlimmer {
|
|
|
63
63
|
{ key: 'lg', text: this.translationSlimmer.t('Lg') },
|
|
64
64
|
], selected: this.size, ref: (ref) => {
|
|
65
65
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (e) => {
|
|
66
|
+
// The below line is covered in `history.spec#should register history, and undo/redo for image size change`
|
|
67
|
+
// Prevent handling vegaChange triggered by DOM ref reuse (e.g., undo/redo) when the image editor is not visible.
|
|
68
|
+
if (!this.selected)
|
|
69
|
+
return;
|
|
66
70
|
const size = e.detail;
|
|
67
71
|
this.size = size;
|
|
68
72
|
this.changeEventEmitter.emit({
|
|
@@ -38,6 +38,7 @@ export class VegaRichTextImageEditor {
|
|
|
38
38
|
*
|
|
39
39
|
* @vegaVersion 2.34.0
|
|
40
40
|
*/
|
|
41
|
+
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
41
42
|
this.size = 'md';
|
|
42
43
|
}
|
|
43
44
|
render() {
|
|
@@ -75,7 +76,7 @@ export class VegaRichTextImageEditor {
|
|
|
75
76
|
},
|
|
76
77
|
"size": {
|
|
77
78
|
"type": "string",
|
|
78
|
-
"mutable":
|
|
79
|
+
"mutable": true,
|
|
79
80
|
"complexType": {
|
|
80
81
|
"original": "VegaRichTextImageEditorSizeType",
|
|
81
82
|
"resolved": "\"lg\" | \"md\" | \"sm\"",
|
|
@@ -30,11 +30,11 @@ export class VegaStepper {
|
|
|
30
30
|
propertyRules: [
|
|
31
31
|
{
|
|
32
32
|
propertyName: 'min',
|
|
33
|
-
ruleFactory: (min) => new MinNumberRule({ minValue: min }),
|
|
33
|
+
ruleFactory: (min) => typeof min === 'number' ? new MinNumberRule({ minValue: min }) : null,
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
propertyName: 'max',
|
|
37
|
-
ruleFactory: (max) => new MaxNumberRule({ maxValue: max }),
|
|
37
|
+
ruleFactory: (max) => typeof max === 'number' ? new MaxNumberRule({ maxValue: max }) : null,
|
|
38
38
|
},
|
|
39
39
|
],
|
|
40
40
|
defaultValue: 0,
|
|
@@ -34,6 +34,8 @@ export const VegaInputSelectRenderPrefixIconInternalOverridden = new VegaInterna
|
|
|
34
34
|
export const VegaDropdownSearchInternalOverridden = new VegaInternalEventID('VegaDropdownSearchInternalOverridden');
|
|
35
35
|
export const VegaInternalSidenavLinkClick = new VegaInternalEventID('sidenavLinkClick');
|
|
36
36
|
export const VegaInternalLeftNavGroupExpand = new VegaInternalEventID('leftNavGroupExpand');
|
|
37
|
+
export const VegaInternalLeftNavLinkSelected = new VegaInternalEventID('leftNavLinkSelected');
|
|
38
|
+
export const VegaInternalInitializeLeftNavLinkSelected = new VegaInternalEventID('initializeLeftNavLinkSelected');
|
|
37
39
|
export const VegaInternalDropdownUpdateTarget = new VegaInternalEventID('dropdownUpdateTarget');
|
|
38
40
|
export const VegaInternalRichTextEditorFlushChanges = new VegaInternalEventID('richTextEditorFlushChanges');
|
|
39
41
|
export const VegaInternalRichTextEditorSelectionRangeChange = new VegaInternalEventID('richTextEditorSelectionRangeChange');
|