@heartlandone/vega 2.80.0 → 2.81.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-7a48292d.js → app-globals-25e1bfac.js} +6 -6
- package/dist/cjs/{aria-dialog-focusable-trap-slimmer-5a0a78fe.js → aria-dialog-focusable-trap-slimmer-ced9566d.js} +14 -69
- package/dist/cjs/{child-nodes-notify-observer-slimmer-a8d13f4c.js → child-nodes-notify-observer-slimmer-2631c381.js} +1 -1
- package/dist/cjs/{code-block-71a330a1.js → code-block-24b3d0e7.js} +802 -61
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-fd077a6c.js → component-value-history-controller-slimmer.abstract-bd662b32.js} +5 -5
- package/dist/cjs/{content-state-afa26456.js → content-state-0f26036c.js} +969 -466
- package/dist/cjs/{date-required-rule-9f0e3e99.js → date-required-rule-4377217a.js} +1 -1
- package/dist/cjs/{design-token-3f9589eb.js → design-token-40276b11.js} +2 -2
- package/dist/cjs/{dom-node-subject-observer-factory-a3a60da4.js → dom-node-subject-observer-factory-9110cb94.js} +1 -1
- package/dist/cjs/{element-appender-slimmer-7a66229b.js → element-appender-slimmer-be1b4d57.js} +4 -4
- package/dist/cjs/{event-emit-slimmer-024e26bb.js → event-emit-slimmer-bee6b676.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-c487cf2b.js → form-field-controller-slimmer-982dbfe4.js} +3 -3
- package/dist/cjs/{image-annotation-action-4e72af4b.js → image-annotation-action-e0df5a20.js} +3 -3
- package/dist/cjs/index.cjs.js +15 -14
- package/dist/cjs/{inject-keyboard-manager-d1a82089.js → inject-keyboard-manager-12b65e98.js} +1 -1
- package/dist/cjs/{keyboard-manager-9dbbb0d4.js → keyboard-manager-c89a66d3.js} +2 -2
- package/dist/cjs/{keyboard-manager-slimmer-68cff676.js → keyboard-manager-slimmer-93fcbf46.js} +1 -1
- package/dist/cjs/loader.cjs.js +10 -10
- package/dist/cjs/{month-view-generator-65a2f883.js → month-view-generator-0d25e950.js} +1 -1
- package/dist/cjs/page-size-option-utils-d038dd3a.js +68 -0
- package/dist/cjs/{public-rules-36f202b3.js → public-rules-652ec269.js} +8 -8
- package/dist/cjs/{range-fa15d524.js → range-cdd61881.js} +2 -2
- package/dist/cjs/{responsive-format-facade-4419b4ae.js → responsive-format-facade-9cae7f27.js} +3 -3
- package/dist/cjs/{rich-text-editor-required-rule-7d4c2973.js → rich-text-editor-required-rule-4b919054.js} +1 -1
- package/dist/cjs/{split-cell-operation-19f98afb.js → split-cell-operation-3596f738.js} +58 -23
- package/dist/cjs/{string-format-strategy.abstract-c65d9861.js → string-format-strategy.abstract-ebdb2573.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-c2e04acc.js → string-input-formatter-slimmer-9b6a8399.js} +3 -3
- package/dist/cjs/{string-mask-strategy-418fc0b8.js → string-mask-strategy-6cc9f391.js} +2 -2
- package/dist/cjs/{style-formatter-3c9ce0e5.js → style-formatter-18289c4d.js} +2 -2
- package/dist/cjs/{sub-state-notify-slimmer-7a4c6061.js → sub-state-notify-slimmer-39bfcfe3.js} +1 -1
- package/dist/cjs/{sub-state-observer-slimmer-f728e068.js → sub-state-observer-slimmer-e5b50cbf.js} +2 -2
- package/dist/cjs/{time-required-rule-ad091302.js → time-required-rule-3517beff.js} +1 -1
- package/dist/cjs/{token-extension-90396de7.js → token-extension-addc97c1.js} +208 -34
- package/dist/cjs/{type-guard-d760850a.js → type-guard-362d7da3.js} +23 -0
- package/dist/cjs/{ui-9e8c9732.js → ui-ae4ee13d.js} +69 -0
- package/dist/cjs/{valid-credit-card-number-rule-5ce8e973.js → valid-credit-card-number-rule-1d8bf49c.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
- package/dist/cjs/vega-app-header-button.cjs.entry.js +6 -6
- package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/vega-banner.cjs.entry.js +5 -4
- package/dist/cjs/vega-box.cjs.entry.js +5 -5
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +27 -10
- package/dist/cjs/vega-button-circle.cjs.entry.js +6 -6
- package/dist/cjs/vega-button-group_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
- package/dist/cjs/vega-button.cjs.entry.js +5 -5
- package/dist/cjs/vega-calendar_4.cjs.entry.js +7 -7
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +5 -5
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-chip.cjs.entry.js +7 -7
- package/dist/cjs/vega-code-block.cjs.entry.js +9 -9
- package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/vega-combo-box.cjs.entry.js +8 -8
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +337 -279
- package/dist/cjs/vega-dialog_2.cjs.entry.js +73 -10
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +51 -13
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
- package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
- package/dist/cjs/vega-flag-icon.cjs.entry.js +3 -3
- package/dist/cjs/vega-flex.cjs.entry.js +6 -6
- package/dist/cjs/vega-font.cjs.entry.js +4 -4
- package/dist/cjs/vega-form.cjs.entry.js +8 -8
- 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 +7 -7
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-numeric.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-passcode.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
- package/dist/cjs/vega-input-select.cjs.entry.js +7 -7
- package/dist/cjs/vega-input.cjs.entry.js +14 -11
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +117 -12
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +23 -7
- package/dist/cjs/vega-pagination.cjs.entry.js +43 -19
- package/dist/cjs/vega-popover_2.cjs.entry.js +10 -10
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +42 -11
- package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +100 -19
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +29 -18
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +8 -8
- package/dist/cjs/vega-section-title.cjs.entry.js +21 -3
- package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +7 -7
- package/dist/cjs/vega-signature-capture.cjs.entry.js +8 -8
- package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-table_11.cjs.entry.js +7 -7
- package/dist/cjs/vega-text.cjs.entry.js +1 -1
- package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
- package/dist/cjs/vega.cjs.js +10 -10
- package/dist/cjs/{wait-for-component-did-render-b6aba2de.js → wait-for-component-did-render-b6d12d51.js} +1 -1
- package/dist/collection/components/vega-banner/slimmers/renderers/vega-banner-renderer.js +1 -0
- package/dist/collection/components/vega-banner/vega-banner.css +36 -0
- package/dist/collection/components/vega-box/vega-box.js +1 -1
- package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.js +9 -6
- package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-renderer.js +4 -0
- package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.css +6 -0
- package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +31 -0
- package/dist/collection/components/vega-card/vega-card.css +157 -0
- package/dist/collection/components/vega-card/vega-card.js +1 -1
- package/dist/collection/components/vega-chip/vega-chip.js +26 -1
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-current-period-controller.js +5 -10
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-is-dual-months-controller.js +64 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.js +3 -6
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.js +3 -11
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.js +2 -2
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +4 -5
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +13 -15
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +41 -2
- package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
- package/dist/collection/components/vega-divider/slimmers/controllers/vega-divider-size-controller.js +1 -1
- package/dist/collection/components/vega-divider/vega-divider.css +157 -0
- package/dist/collection/components/vega-divider/vega-divider.js +1 -1
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +37 -1
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +4 -1
- package/dist/collection/components/vega-flex/vega-flex.css +157 -0
- package/dist/collection/components/vega-flex/vega-flex.js +1 -1
- package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +4 -1
- package/dist/collection/components/vega-input/vega-input.js +25 -0
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.js +37 -1
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +11 -1
- package/dist/collection/components/vega-modal/vega-modal.css +2683 -7
- package/dist/collection/components/vega-modal/vega-modal.js +75 -0
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +85 -2
- package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +23 -0
- package/dist/collection/components/vega-pagination/constants/page-size.js +2 -0
- package/dist/collection/components/vega-pagination/internal/vega-pagination-page-size-selector.js +11 -7
- package/dist/collection/components/vega-pagination/slimmers/controllers/vega-pagination-page-size-observer-controller.js +11 -1
- package/dist/collection/components/vega-pagination/utils/page-size-option-utils.js +57 -0
- package/dist/collection/components/vega-pagination/vega-pagination-page-size-selector-mobile/slimmers/renderers/page-size-selector-mobile-dropdown-renderer.js +15 -5
- package/dist/collection/components/vega-pagination/vega-pagination-page-size-selector-mobile/vega-pagination-page-size-selector-mobile.js +39 -3
- package/dist/collection/components/vega-pagination/vega-pagination.js +32 -11
- package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-direction-controller.js +34 -3
- package/dist/collection/components/vega-progress-tracker/slimmers/renderers/vega-progress-tracker-renderer.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/constants/constant.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +8 -2
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +15 -4
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +6 -2
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +9 -15
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +3 -7
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +50 -9
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +25 -6
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-block-filter-styles-strategy.js +39 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-node-filter-styles-strategy.js +47 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.js +64 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.js +147 -14
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/image-node/image-filter-styles-strategy.js +26 -3
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.js +24 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-heading-item-block-filter-styles-strategy.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-item-block-filter-styles-strategy.js +39 -1
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-title-item-block-filter-styles-strategy.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/predicate.js +94 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/heading-filter-styles-strategy.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/paragraph-filter-styles-strategy.js +48 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/title-filter-styles-strategy.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/code-filter-styles-strategy.js +32 -3
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/link-filter-styles-strategy.js +42 -3
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.js +108 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +7 -2
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +15 -4
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +84 -14
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +61 -6
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +14 -3
- package/dist/collection/components/vega-rich-text-editor/dto/setup.js +36 -6
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +10 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +9 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-annotation.js +17 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-caption-annotation.js +17 -18
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-cell-annotation.js +19 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-body-block.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-caption-block.js +21 -4
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-cell-block.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-head-block.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-head-cell-block.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-row-block.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/element-to-dto-strategies/caption-to-caption-block-strategy.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/element-to-dto-strategies/td-to-table-cell-block-strategy.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-block/table-block-filter-styles-strategy.js +39 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-caption/table-caption-filter-styles-strategy.js +39 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-cell/table-cell-filter-styles-strategy.js +63 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +7 -0
- package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +24 -0
- package/dist/collection/components/vega-rich-text-editor/public-api.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.js +2 -25
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.js +8 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.js +30 -53
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +85 -17
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +12 -5
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.js +95 -43
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.js +1 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/predicate.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/strategy-tags.js +142 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +12 -2
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +1 -1
- package/dist/collection/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.js +8 -2
- package/dist/collection/components/vega-section-title/vega-section-title.css +35 -0
- package/dist/collection/components/vega-section-title/vega-section-title.js +64 -0
- package/dist/collection/components/vega-stepper/vega-stepper.css +3 -0
- package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-margin-formatter.js +3 -3
- package/dist/collection/helpers/slimmers/aria-dialog-focusable-trap-slimmer.js +13 -68
- package/dist/collection/types/type-guard.js +21 -0
- package/dist/collection/utils/ui.js +68 -0
- package/dist/esm/{app-globals-e77015e3.js → app-globals-80a7d395.js} +6 -6
- package/dist/esm/{aria-dialog-focusable-trap-slimmer-5a2f92be.js → aria-dialog-focusable-trap-slimmer-cc6a8c3e.js} +14 -69
- package/dist/esm/{child-nodes-notify-observer-slimmer-b7f0e419.js → child-nodes-notify-observer-slimmer-a8cb19cf.js} +1 -1
- package/dist/esm/{code-block-7d6f231b.js → code-block-cd913077.js} +796 -62
- package/dist/esm/{component-value-history-controller-slimmer.abstract-acf65b17.js → component-value-history-controller-slimmer.abstract-e595761d.js} +5 -5
- package/dist/esm/{content-state-084cd705.js → content-state-89f8eecb.js} +958 -455
- package/dist/esm/{date-required-rule-29608215.js → date-required-rule-2b08f32c.js} +1 -1
- package/dist/esm/{design-token-edcd787b.js → design-token-7566d54c.js} +2 -2
- package/dist/esm/{dom-node-subject-observer-factory-cea9248d.js → dom-node-subject-observer-factory-aca0116e.js} +1 -1
- package/dist/esm/{element-appender-slimmer-08ec429b.js → element-appender-slimmer-df2a2da2.js} +4 -4
- package/dist/esm/{event-emit-slimmer-4fba1b35.js → event-emit-slimmer-9abc9241.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-8dd39707.js → form-field-controller-slimmer-40fcb5c2.js} +3 -3
- package/dist/esm/{image-annotation-action-a6b33a81.js → image-annotation-action-6048d32e.js} +3 -3
- package/dist/esm/index.js +14 -14
- package/dist/esm/{inject-keyboard-manager-7557816f.js → inject-keyboard-manager-c6557f50.js} +1 -1
- package/dist/esm/{keyboard-manager-1846c6a5.js → keyboard-manager-c7b125d7.js} +2 -2
- package/dist/esm/{keyboard-manager-slimmer-1ae0aa4d.js → keyboard-manager-slimmer-6109039b.js} +1 -1
- package/dist/esm/loader.js +10 -10
- package/dist/esm/{month-view-generator-b700ed08.js → month-view-generator-139ace5a.js} +1 -1
- package/dist/esm/page-size-option-utils-50afc81a.js +61 -0
- package/dist/esm/{public-rules-fe2c7934.js → public-rules-e42bce9d.js} +8 -8
- package/dist/esm/{range-00afe462.js → range-b76edec7.js} +2 -2
- package/dist/esm/{responsive-format-facade-37d4d850.js → responsive-format-facade-151dbd10.js} +3 -3
- package/dist/esm/{rich-text-editor-required-rule-6487ec94.js → rich-text-editor-required-rule-1fc7c040.js} +1 -1
- package/dist/esm/{split-cell-operation-9445e642.js → split-cell-operation-548ea374.js} +58 -23
- package/dist/esm/{string-format-strategy.abstract-ec6d627b.js → string-format-strategy.abstract-6488031a.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-959dff7a.js → string-input-formatter-slimmer-625e17a2.js} +3 -3
- package/dist/esm/{string-mask-strategy-49be41f0.js → string-mask-strategy-a165d316.js} +2 -2
- package/dist/esm/{style-formatter-ad0b2bac.js → style-formatter-280757ae.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-ee8c417b.js → sub-state-notify-slimmer-6c972bb4.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-4d30fa5c.js → sub-state-observer-slimmer-53643b5c.js} +2 -2
- package/dist/esm/{time-required-rule-414b1590.js → time-required-rule-3f5a8822.js} +1 -1
- package/dist/esm/{token-extension-600b1c88.js → token-extension-5ee7a3f1.js} +208 -34
- package/dist/esm/{type-guard-23a08026.js → type-guard-f6c9c89d.js} +22 -1
- package/dist/esm/{ui-ba5a4758.js → ui-b7600a48.js} +69 -1
- package/dist/esm/{valid-credit-card-number-rule-60abddac.js → valid-credit-card-number-rule-3bf19ad6.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +6 -6
- package/dist/esm/vega-app-header-button.entry.js +6 -6
- package/dist/esm/vega-backdrop.entry.js +1 -1
- package/dist/esm/vega-banner.entry.js +5 -4
- package/dist/esm/vega-box.entry.js +5 -5
- package/dist/esm/vega-breadcrumb.entry.js +27 -10
- package/dist/esm/vega-button-circle.entry.js +6 -6
- package/dist/esm/vega-button-group_2.entry.js +5 -5
- package/dist/esm/vega-button-link.entry.js +3 -3
- package/dist/esm/vega-button.entry.js +5 -5
- package/dist/esm/vega-calendar_4.entry.js +7 -7
- package/dist/esm/vega-card.entry.js +5 -5
- package/dist/esm/vega-carousel.entry.js +5 -5
- package/dist/esm/vega-checkbox_2.entry.js +6 -6
- package/dist/esm/vega-chip.entry.js +7 -7
- package/dist/esm/vega-code-block.entry.js +9 -9
- package/dist/esm/vega-color-picker.entry.js +5 -5
- package/dist/esm/vega-combo-box.entry.js +8 -8
- package/dist/esm/vega-date-picker_2.entry.js +337 -279
- package/dist/esm/vega-dialog_2.entry.js +73 -10
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +52 -14
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +3 -3
- package/dist/esm/vega-file-uploader.entry.js +5 -5
- package/dist/esm/vega-flag-icon.entry.js +3 -3
- package/dist/esm/vega-flex.entry.js +6 -6
- package/dist/esm/vega-font.entry.js +4 -4
- package/dist/esm/vega-form.entry.js +8 -8
- 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 +7 -7
- package/dist/esm/vega-input-credit-card.entry.js +9 -9
- package/dist/esm/vega-input-numeric.entry.js +9 -9
- package/dist/esm/vega-input-passcode.entry.js +8 -8
- package/dist/esm/vega-input-phone-number.entry.js +7 -7
- package/dist/esm/vega-input-range.entry.js +5 -5
- package/dist/esm/vega-input-select.entry.js +7 -7
- package/dist/esm/vega-input.entry.js +14 -11
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +117 -12
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
- package/dist/esm/vega-page-notification_2.entry.js +2 -2
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +23 -7
- package/dist/esm/vega-pagination.entry.js +43 -19
- package/dist/esm/vega-popover_2.entry.js +10 -10
- package/dist/esm/vega-progress-tracker_2.entry.js +42 -11
- package/dist/esm/vega-radio_2.entry.js +9 -9
- package/dist/esm/vega-rich-text-content.entry.js +100 -19
- package/dist/esm/vega-rich-text-editor_4.entry.js +29 -18
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +8 -8
- package/dist/esm/vega-section-title.entry.js +21 -3
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +8 -8
- package/dist/esm/vega-selection-tile_2.entry.js +7 -7
- package/dist/esm/vega-sidenav_3.entry.js +7 -7
- package/dist/esm/vega-signature-capture.entry.js +8 -8
- package/dist/esm/vega-stepper.entry.js +6 -6
- package/dist/esm/vega-tab-group_2.entry.js +3 -3
- package/dist/esm/vega-table_11.entry.js +7 -7
- package/dist/esm/vega-text.entry.js +1 -1
- package/dist/esm/vega-textarea.entry.js +5 -5
- package/dist/esm/vega-time-picker_2.entry.js +11 -11
- package/dist/esm/vega-toggle-switch.entry.js +5 -5
- package/dist/esm/vega-tooltip_2.entry.js +7 -7
- package/dist/esm/vega.js +10 -10
- package/dist/esm/{wait-for-component-did-render-03e7ccb2.js → wait-for-component-did-render-6980a1a6.js} +1 -1
- package/dist/sri/vega-sri-manifest.json +345 -341
- package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.d.ts +1 -0
- package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-renderer.d.ts +1 -0
- package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +10 -0
- package/dist/types/components/vega-chip/vega-chip.d.ts +9 -0
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-current-period-controller.d.ts +1 -6
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-is-dual-months-controller.d.ts +28 -0
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.d.ts +1 -2
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +1 -2
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.d.ts +1 -1
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +1 -1
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +12 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +12 -0
- package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.d.ts +1 -0
- package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +1 -0
- package/dist/types/components/vega-input/types.d.ts +5 -0
- package/dist/types/components/vega-input/vega-input.d.ts +17 -1
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.d.ts +9 -0
- package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +3 -0
- package/dist/types/components/vega-modal/vega-modal.d.ts +24 -1
- package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.d.ts +17 -0
- package/dist/types/components/vega-pagination/constants/page-size.d.ts +2 -0
- package/dist/types/components/vega-pagination/internal/vega-pagination-page-size-selector.d.ts +3 -2
- package/dist/types/components/vega-pagination/slimmers/controllers/vega-pagination-page-size-observer-controller.d.ts +2 -0
- package/dist/types/components/vega-pagination/types.d.ts +9 -0
- package/dist/types/components/vega-pagination/utils/page-size-option-utils.d.ts +42 -0
- package/dist/types/components/vega-pagination/vega-pagination-page-size-selector-mobile/slimmers/renderers/page-size-selector-mobile-dropdown-renderer.d.ts +2 -0
- package/dist/types/components/vega-pagination/vega-pagination-page-size-selector-mobile/vega-pagination-page-size-selector-mobile.d.ts +9 -2
- package/dist/types/components/vega-pagination/vega-pagination.d.ts +8 -3
- package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-direction-controller.d.ts +14 -2
- package/dist/types/components/vega-progress-tracker/slimmers/renderers/vega-progress-tracker-renderer.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +5 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +8 -2
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +4 -2
- package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +1 -11
- package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +15 -2
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +9 -3
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-block-filter-styles-strategy.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-node-filter-styles-strategy.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.d.ts +27 -1
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.d.ts +92 -8
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/image-node/image-filter-styles-strategy.d.ts +21 -3
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-heading-item-block-filter-styles-strategy.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-item-block-filter-styles-strategy.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-title-item-block-filter-styles-strategy.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/predicate.d.ts +72 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/heading-filter-styles-strategy.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/paragraph-filter-styles-strategy.d.ts +34 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/title-filter-styles-strategy.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/code-filter-styles-strategy.d.ts +25 -2
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/link-filter-styles-strategy.d.ts +24 -4
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.d.ts +62 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +7 -3
- package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +5 -3
- package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +43 -4
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +5 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-annotation.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-caption-annotation.d.ts +7 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-cell-annotation.d.ts +9 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-body-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-caption-block.d.ts +5 -2
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-cell-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-head-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-head-cell-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-row-block.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-block/table-block-filter-styles-strategy.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-caption/table-caption-filter-styles-strategy.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-cell/table-cell-filter-styles-strategy.d.ts +46 -0
- package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +27 -5
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.d.ts +0 -7
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.d.ts +11 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +43 -7
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +8 -3
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.d.ts +34 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/predicate.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/strategy-tags.d.ts +83 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.d.ts +6 -0
- package/dist/types/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.d.ts +2 -0
- package/dist/types/components/vega-section-title/types.d.ts +1 -0
- package/dist/types/components/vega-section-title/vega-section-title.d.ts +14 -0
- package/dist/types/components.d.ts +93 -8
- package/dist/types/helpers/slimmers/aria-dialog-focusable-trap-slimmer.d.ts +4 -12
- package/dist/types/types/components.type.d.ts +3 -0
- package/dist/types/types/type-guard.d.ts +15 -1
- package/dist/types/types/ui.type.d.ts +11 -1
- package/dist/types/utils/ui.d.ts +14 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-1c45565d.js → p-001d36af.js} +1 -1
- package/dist/vega/{p-7c2fecfd.entry.js → p-01541820.entry.js} +1 -1
- package/dist/vega/p-0304c3a7.js +1 -0
- package/dist/vega/{p-2d917e2d.entry.js → p-08f03a52.entry.js} +1 -1
- package/dist/vega/{p-9390a94b.entry.js → p-0a145766.entry.js} +1 -1
- package/dist/vega/p-0d205fbf.js +1 -0
- package/dist/vega/p-0fc2ccc4.entry.js +1 -0
- package/dist/vega/p-118aeed1.entry.js +1 -0
- package/dist/vega/{p-ea21462f.js → p-1a4e8d8a.js} +1 -1
- package/dist/vega/{p-5ae4ea20.entry.js → p-23dc4064.entry.js} +1 -1
- package/dist/vega/{p-2c2df248.js → p-24b45c85.js} +1 -1
- package/dist/vega/{p-010b5e74.js → p-262a27d0.js} +1 -1
- package/dist/vega/{p-9dc23325.entry.js → p-27dc6562.entry.js} +1 -1
- package/dist/vega/p-295326ca.entry.js +1 -0
- package/dist/vega/{p-6af55f1c.entry.js → p-2beace1c.entry.js} +1 -1
- package/dist/vega/p-2ce2972f.js +1 -0
- package/dist/vega/p-2e7d5e28.entry.js +1 -0
- package/dist/vega/{p-7618dde4.js → p-2f99c511.js} +1 -1
- package/dist/vega/p-32592497.entry.js +1 -0
- package/dist/vega/{p-65900dbf.entry.js → p-37a9f4b4.entry.js} +1 -1
- package/dist/vega/{p-a99e75a1.entry.js → p-4013d954.entry.js} +1 -1
- package/dist/vega/{p-19ad4f15.entry.js → p-42da45e3.entry.js} +1 -1
- package/dist/vega/p-42e246e4.entry.js +1 -0
- package/dist/vega/p-479a169c.entry.js +1 -0
- package/dist/vega/{p-35386999.entry.js → p-47a2eec1.entry.js} +1 -1
- package/dist/vega/{p-b696a861.js → p-49ae8c79.js} +1 -1
- package/dist/vega/p-4ed416e7.js +1 -0
- package/dist/vega/{p-dc9b5063.entry.js → p-53ba1adb.entry.js} +1 -1
- package/dist/vega/{p-d1494c7c.entry.js → p-55019e55.entry.js} +1 -1
- package/dist/vega/{p-434fc427.entry.js → p-565aac6e.entry.js} +1 -1
- package/dist/vega/{p-cc055723.entry.js → p-574586c9.entry.js} +1 -1
- package/dist/vega/{p-cca5042b.entry.js → p-5781b9f4.entry.js} +1 -1
- package/dist/vega/{p-1feb4f2a.entry.js → p-57827342.entry.js} +1 -1
- package/dist/vega/p-59c6f795.js +1 -0
- package/dist/vega/{p-f48c43f4.entry.js → p-5a8be21c.entry.js} +1 -1
- package/dist/vega/p-5baff397.js +1 -0
- package/dist/vega/{p-ffa2e3a6.entry.js → p-5e9f6fb6.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-44c5cbb7.js → p-5f95a2fa.js} +1 -1
- package/dist/vega/{p-576fe408.js → p-6216c30e.js} +1 -1
- package/dist/vega/{p-367d44d9.entry.js → p-62e80151.entry.js} +1 -1
- package/dist/vega/{p-ec1d76c6.entry.js → p-63d73fa0.entry.js} +1 -1
- package/dist/vega/{p-612e3ded.js → p-64e22fe5.js} +1 -1
- package/dist/vega/{p-0313393d.entry.js → p-679b1f00.entry.js} +1 -1
- package/dist/vega/p-6e70d3cc.js +1 -0
- package/dist/vega/{p-70f1cf4e.entry.js → p-757bfca2.entry.js} +1 -1
- package/dist/vega/{p-c9201bf4.js → p-76063dcb.js} +1 -1
- package/dist/vega/{p-8adf9732.entry.js → p-76daa632.entry.js} +1 -1
- package/dist/vega/{p-1a2f92a3.entry.js → p-77c6f14a.entry.js} +1 -1
- package/dist/vega/{p-382b71a3.entry.js → p-7ac9e8ff.entry.js} +1 -1
- package/dist/vega/p-83863463.js +1 -0
- package/dist/vega/{p-e84b95d4.js → p-88e6618d.js} +1 -1
- package/dist/vega/p-90a0b9f3.entry.js +1 -0
- package/dist/vega/{p-1557ed92.entry.js → p-9324dd2c.entry.js} +1 -1
- package/dist/vega/{p-cf70c57d.js → p-98c44c03.js} +1 -1
- package/dist/vega/p-9aa1c66a.entry.js +1 -0
- package/dist/vega/p-9b01a28a.entry.js +1 -0
- package/dist/vega/{p-4eb282ef.entry.js → p-9b14ac66.entry.js} +1 -1
- package/dist/vega/p-9dcecdd3.js +1 -0
- package/dist/vega/p-a1d51bc2.js +1 -0
- package/dist/vega/{p-04e56b0c.entry.js → p-ab4b06c9.entry.js} +1 -1
- package/dist/vega/{p-b5c2fff3.entry.js → p-ac43be09.entry.js} +1 -1
- package/dist/vega/{p-7ceab8c7.entry.js → p-add63fe0.entry.js} +1 -1
- package/dist/vega/{p-89e56502.js → p-ae0f03c1.js} +1 -1
- package/dist/vega/{p-21c9e1ca.entry.js → p-b525c800.entry.js} +1 -1
- package/dist/vega/p-be651266.entry.js +1 -0
- package/dist/vega/{p-c045e4c1.entry.js → p-c0d45f77.entry.js} +1 -1
- package/dist/vega/{p-204c7d41.js → p-c2e7992b.js} +1 -1
- package/dist/vega/{p-b5a6bd0f.entry.js → p-c56aa01c.entry.js} +1 -1
- package/dist/vega/{p-2e73582d.entry.js → p-cc3c661c.entry.js} +1 -1
- package/dist/vega/{p-cda45d2a.entry.js → p-cda09e99.entry.js} +1 -1
- package/dist/vega/{p-d1ca70a1.js → p-d0ac7af8.js} +1 -1
- package/dist/vega/p-d289a6af.js +3 -0
- package/dist/vega/p-d29e8972.entry.js +1 -0
- package/dist/vega/{p-76b80a0c.js → p-d47aa28f.js} +1 -1
- package/dist/vega/p-d90eee9a.entry.js +1 -0
- package/dist/vega/{p-be3517be.entry.js → p-da742a7f.entry.js} +1 -1
- package/dist/vega/p-dc6e7a77.js +1 -0
- package/dist/vega/{p-c61279a7.entry.js → p-dcf8f58f.entry.js} +1 -1
- package/dist/vega/{p-ab21fdf6.entry.js → p-dff66a67.entry.js} +1 -1
- package/dist/vega/{p-90137c68.entry.js → p-e1117034.entry.js} +1 -1
- package/dist/vega/p-e223e0dc.entry.js +1 -0
- package/dist/vega/p-e22e5aa1.js +1 -0
- package/dist/vega/{p-df5bfbc4.entry.js → p-e753fac2.entry.js} +1 -1
- package/dist/vega/{p-7912741f.entry.js → p-e7a4b760.entry.js} +1 -1
- package/dist/vega/{p-ba415db6.entry.js → p-e8fc8495.entry.js} +1 -1
- package/dist/vega/{p-18619467.js → p-ea2b5dbb.js} +1 -1
- package/dist/vega/{p-f3456993.entry.js → p-eccabba7.entry.js} +1 -1
- package/dist/vega/{p-517434d4.entry.js → p-f0d605e9.entry.js} +1 -1
- package/dist/vega/{p-878851f6.js → p-f28a6074.js} +1 -1
- package/dist/vega/{p-840ad046.entry.js → p-f2c65579.entry.js} +1 -1
- package/dist/vega/{p-07a2b42a.js → p-f2cef51a.js} +1 -1
- package/dist/vega/{p-47ca1f69.entry.js → p-f40d479d.entry.js} +1 -1
- package/dist/vega/p-f5013494.entry.js +1 -0
- package/dist/vega/{p-60cf2a68.js → p-f509b439.js} +1 -1
- package/dist/vega/p-f5d3ce94.js +1 -0
- package/dist/vega/{p-9551da9c.entry.js → p-f69e2801.entry.js} +1 -1
- package/dist/vega/p-fa654762.entry.js +1 -0
- package/dist/vega/{p-365d21ac.entry.js → p-fbc5a7f6.entry.js} +1 -1
- package/dist/vega/{p-b3e40faf.js → p-fd5ddc55.js} +1 -1
- package/dist/vega/p-ff47aeee.entry.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-01883ffc.entry.js +0 -1
- package/dist/vega/p-02578a59.js +0 -1
- package/dist/vega/p-043e685a.entry.js +0 -1
- package/dist/vega/p-08780df0.entry.js +0 -1
- package/dist/vega/p-10fa4eac.js +0 -1
- package/dist/vega/p-203bc4db.entry.js +0 -1
- package/dist/vega/p-22336063.js +0 -1
- package/dist/vega/p-224b67ff.entry.js +0 -1
- package/dist/vega/p-334e3b02.entry.js +0 -1
- package/dist/vega/p-559197f8.js +0 -1
- package/dist/vega/p-68124bc5.js +0 -1
- package/dist/vega/p-6c5250b3.js +0 -1
- package/dist/vega/p-6f2e5bc6.js +0 -1
- package/dist/vega/p-716c71e6.js +0 -1
- package/dist/vega/p-7362723e.entry.js +0 -1
- package/dist/vega/p-7942c042.entry.js +0 -1
- package/dist/vega/p-8327635d.js +0 -1
- package/dist/vega/p-8b891f36.entry.js +0 -1
- package/dist/vega/p-9341c1a9.js +0 -1
- package/dist/vega/p-9862d1a8.entry.js +0 -1
- package/dist/vega/p-a4dbf2cc.js +0 -1
- package/dist/vega/p-c4e32125.entry.js +0 -1
- package/dist/vega/p-c5b698f6.entry.js +0 -1
- package/dist/vega/p-c6d62f0d.js +0 -1
- package/dist/vega/p-cdf5b2f0.entry.js +0 -1
- package/dist/vega/p-d202e69d.entry.js +0 -1
- package/dist/vega/p-dcd18ab1.js +0 -1
- package/dist/vega/p-e4726dcd.entry.js +0 -1
- package/dist/vega/p-f4190826.entry.js +0 -1
- package/dist/vega/p-fdac91c4.entry.js +0 -1
|
@@ -3,6 +3,8 @@ import { CustomAttributeAnnotationHandler } from './custom-attribute-annotation-
|
|
|
3
3
|
import { CustomStyleAnnotationHandler } from './custom-style-annotation-handler';
|
|
4
4
|
import { CustomClassAnnotationHandler } from './custom-class-annotation-handler';
|
|
5
5
|
import { RTETextNode } from '../../../../../dto/nodes/text-node';
|
|
6
|
+
import { ALWAYS_INLINE_TAGS, DEDICATED_STRATEGY_TAGS } from '../strategy-tags';
|
|
7
|
+
import { generateUUID } from '../../../../../../../utils/misc';
|
|
6
8
|
/**
|
|
7
9
|
* Handle inline html annotation
|
|
8
10
|
*/
|
|
@@ -23,12 +25,14 @@ export class InlineHtmlAnnotationHandler extends AnnotationGeneratorStrategyAbst
|
|
|
23
25
|
* @inheritDoc
|
|
24
26
|
*/
|
|
25
27
|
handle(element, parentAnnotations) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
// Skip block-level dedicated tags (P, H1-H6, LI, UL, OL, IMG).
|
|
29
|
+
// Tags in ALWAYS_INLINE_TAGS (CODE, A) are exempt and still produce inlineHtml annotations.
|
|
30
|
+
if (DEDICATED_STRATEGY_TAGS.has(element.nodeName) && !ALWAYS_INLINE_TAGS.has(element.nodeName)) {
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
33
|
+
const inlineHtml = this.generateInlineHtmlAnnotation(element, Object.assign({}, parentAnnotations));
|
|
34
|
+
if (inlineHtml) {
|
|
35
|
+
return { inlineHtml: inlineHtml };
|
|
32
36
|
}
|
|
33
37
|
return {};
|
|
34
38
|
}
|
|
@@ -41,59 +45,32 @@ export class InlineHtmlAnnotationHandler extends AnnotationGeneratorStrategyAbst
|
|
|
41
45
|
*/
|
|
42
46
|
generateInlineHtmlAnnotation(child, annotations) {
|
|
43
47
|
let { inlineHtml } = annotations;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const childInlineHtmlNode = {
|
|
47
|
-
htmlTag: child.nodeName.toLowerCase(),
|
|
48
|
-
customAttribute: this.customAttributeHandler.handle(child).customAttribute,
|
|
49
|
-
customStyle: this.customStyleAnnotationHandler.handle(child).customStyle,
|
|
50
|
-
customClass: this.customClassAnnotationHandler.handle(child).customClass,
|
|
51
|
-
};
|
|
48
|
+
const hasElementChildren = Array.from(child.childNodes).some((c) => c.nodeType === Node.ELEMENT_NODE);
|
|
49
|
+
if (!RTETextNode.supportsHtmlTag(child.nodeName.toLowerCase()) || hasElementChildren) {
|
|
50
|
+
const childInlineHtmlNode = Object.assign(Object.assign({ htmlTag: child.nodeName.toLowerCase() }, (hasElementChildren ? { groupId: generateUUID() } : {})), { customAttribute: this.customAttributeHandler.handle(child).customAttribute, customStyle: this.customStyleAnnotationHandler.handle(child).customStyle, customClass: this.customClassAnnotationHandler.handle(child).customClass });
|
|
52
51
|
if (!inlineHtml) {
|
|
53
52
|
inlineHtml = childInlineHtmlNode;
|
|
54
53
|
}
|
|
55
54
|
else {
|
|
56
|
-
|
|
57
|
-
while (lastChild.child &&
|
|
58
|
-
child.parentNode &&
|
|
59
|
-
lastChild.child.htmlTag === child.parentNode.nodeName.toLowerCase()) {
|
|
60
|
-
lastChild = lastChild.child;
|
|
61
|
-
}
|
|
62
|
-
lastChild.child = childInlineHtmlNode;
|
|
55
|
+
inlineHtml = this.appendToInlineHtmlChain(inlineHtml, childInlineHtmlNode, child.parentNode);
|
|
63
56
|
}
|
|
64
57
|
}
|
|
65
58
|
return inlineHtml ? Object.assign({}, inlineHtml) : null;
|
|
66
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Immutably appends `toAppend` at the correct position in the chain — the
|
|
62
|
+
* deepest node whose `child.htmlTag` still matches `parentNode.nodeName`.
|
|
63
|
+
* Each level is reconstructed via spread so the original chain is never mutated.
|
|
64
|
+
*
|
|
65
|
+
* @param {VegaInlineHtmlSchema} node - Current chain node.
|
|
66
|
+
* @param {VegaInlineHtmlSchema} toAppend - Node to append at the tail.
|
|
67
|
+
* @param {ParentNode | null} parentNode - DOM parent of the element being processed.
|
|
68
|
+
* @returns {VegaInlineHtmlSchema} A new chain with `toAppend` inserted.
|
|
69
|
+
*/
|
|
70
|
+
appendToInlineHtmlChain(node, toAppend, parentNode) {
|
|
71
|
+
if (node.child && parentNode && node.child.htmlTag === parentNode.nodeName.toLowerCase()) {
|
|
72
|
+
return Object.assign(Object.assign({}, node), { child: this.appendToInlineHtmlChain(node.child, toAppend, parentNode) });
|
|
73
|
+
}
|
|
74
|
+
return Object.assign(Object.assign({}, node), { child: toAppend });
|
|
75
|
+
}
|
|
67
76
|
}
|
|
68
|
-
InlineHtmlAnnotationHandler.canHandleTags = [
|
|
69
|
-
'A',
|
|
70
|
-
'ABBR',
|
|
71
|
-
'AUDIO',
|
|
72
|
-
'B',
|
|
73
|
-
'BDI',
|
|
74
|
-
'BDO',
|
|
75
|
-
'CITE',
|
|
76
|
-
'CODE',
|
|
77
|
-
'DEL',
|
|
78
|
-
'DFN',
|
|
79
|
-
'EMBED',
|
|
80
|
-
'EM',
|
|
81
|
-
'I',
|
|
82
|
-
'INS',
|
|
83
|
-
'KBD',
|
|
84
|
-
'MARK',
|
|
85
|
-
'METER',
|
|
86
|
-
'OUTPUT',
|
|
87
|
-
'PROGRESS',
|
|
88
|
-
'Q',
|
|
89
|
-
'S',
|
|
90
|
-
'SMALL',
|
|
91
|
-
'SPAN',
|
|
92
|
-
'STRONG',
|
|
93
|
-
'SUB',
|
|
94
|
-
'SUP',
|
|
95
|
-
'TIME',
|
|
96
|
-
'U',
|
|
97
|
-
'VAR',
|
|
98
|
-
'VIDEO',
|
|
99
|
-
];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { generateUUID } from '../../../../../../../utils/misc';
|
|
2
|
+
import { Predicate } from '../predicate';
|
|
2
3
|
import { AnnotationGeneratorStrategyAbstract } from './annotation-generator-strategy.abstract';
|
|
3
4
|
import { CustomAttributeAnnotationHandler } from './custom-attribute-annotation-handler';
|
|
4
5
|
import { CustomClassAnnotationHandler } from './custom-class-annotation-handler';
|
|
@@ -32,7 +33,7 @@ export class LinkAnnotationHandler extends AnnotationGeneratorStrategyAbstract {
|
|
|
32
33
|
handle(element, parentAnnotations = {}) {
|
|
33
34
|
if (parentAnnotations.link)
|
|
34
35
|
return { link: parentAnnotations.link };
|
|
35
|
-
return element
|
|
36
|
+
return Predicate.isLinkElement(element) ? { link: this.generateLinkAnnotations(element) } : {};
|
|
36
37
|
}
|
|
37
38
|
/**
|
|
38
39
|
* Generate link annotations.
|
|
@@ -112,7 +112,8 @@ export class TextStyleAnnotationHandler extends AnnotationGeneratorStrategyAbstr
|
|
|
112
112
|
*/
|
|
113
113
|
getElementTypeByClassName(element) {
|
|
114
114
|
if (element.className) {
|
|
115
|
-
|
|
115
|
+
// Match class name with pattern "v-rte--text-style-{textStyle}" or "v-rte-{textStyle}".
|
|
116
|
+
const match = /\bv-rte-(?:-text-style-)?(title|subtitle|heading-1|heading-2|heading-3|heading-4|heading-5|heading-6|paragraph)\b/.exec(element.className);
|
|
116
117
|
if (match) {
|
|
117
118
|
return match[1];
|
|
118
119
|
}
|
|
@@ -3,23 +3,17 @@ import { RTETextBlock } from '../../../../dto/blocks/text-block';
|
|
|
3
3
|
import { RTETextNode } from '../../../../dto/nodes/text-node';
|
|
4
4
|
import htmlElementToAnnotationGenerator from './annotation-handler/html-element-to-annotation-generator';
|
|
5
5
|
import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
|
|
6
|
-
import {
|
|
6
|
+
import { ALWAYS_INLINE_TAGS, DEDICATED_STRATEGY_TAGS, PHRASING_CONTENT_TAGS, isInBlockTextContext, } from './strategy-tags';
|
|
7
7
|
/** Transform continue inline block elements to text block DTO */
|
|
8
8
|
export class ContinueInlineToRTETextBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @param {HTMLElement[]} elementsArray - Current elements.
|
|
13
|
-
* @param {number} currentIndex - Current element index.
|
|
14
|
-
* @returns {number} - can be handled element count.
|
|
10
|
+
* @inheritDoc
|
|
15
11
|
*/
|
|
16
|
-
canHandle(elementsArray, currentIndex) {
|
|
12
|
+
canHandle(elementsArray, currentIndex, options) {
|
|
17
13
|
let count = 0;
|
|
18
14
|
for (let i = currentIndex; i < elementsArray.length; i++) {
|
|
19
15
|
const element = elementsArray[i];
|
|
20
|
-
if (element
|
|
21
|
-
(ContinueInlineToRTETextBlockStrategy.canHandleTags.includes(element.nodeName) &&
|
|
22
|
-
!(element.textContent === '' && element.querySelector('IMG')))) {
|
|
16
|
+
if (this.isInlineCandidate(element, options)) {
|
|
23
17
|
count++;
|
|
24
18
|
}
|
|
25
19
|
else {
|
|
@@ -79,11 +73,85 @@ export class ContinueInlineToRTETextBlockStrategy extends BlockToRTEBlockStrateg
|
|
|
79
73
|
return null;
|
|
80
74
|
}
|
|
81
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if the element is an inline candidate to be included in the text block.
|
|
78
|
+
*
|
|
79
|
+
* @param {HTMLElement} element - The element to check.
|
|
80
|
+
* @param {VegaRTETransformOptions} [options] - Options for transformation.
|
|
81
|
+
* @returns {boolean} - Whether the element is an inline candidate.
|
|
82
|
+
*/
|
|
83
|
+
isInlineCandidate(element, options) {
|
|
84
|
+
if (element.nodeType === Node.TEXT_NODE)
|
|
85
|
+
return true;
|
|
86
|
+
if (ALWAYS_INLINE_TAGS.has(element.nodeName))
|
|
87
|
+
return true;
|
|
88
|
+
if (this.isDedicatedBlockTag(element.nodeName))
|
|
89
|
+
return false;
|
|
90
|
+
if (options.autoMatchFormat === false && isInBlockTextContext(element))
|
|
91
|
+
return true;
|
|
92
|
+
return this.isInlineLeafOrWrapper(element);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Returns true when the tag has a dedicated block strategy (excludes inline annotation tags CODE and A).
|
|
96
|
+
*
|
|
97
|
+
* @param {string} nodeName - The node name to check.
|
|
98
|
+
* @returns {boolean} - Whether the tag is a dedicated block tag.
|
|
99
|
+
*/
|
|
100
|
+
isDedicatedBlockTag(nodeName) {
|
|
101
|
+
return DEDICATED_STRATEGY_TAGS.has(nodeName) && !ALWAYS_INLINE_TAGS.has(nodeName);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Returns true for empty elements, text-only elements, or elements whose entire
|
|
105
|
+
* descendant tree contains no block-level elements (e.g. {@code <u><i><b>text</b></i></u>}).
|
|
106
|
+
*
|
|
107
|
+
* @param {HTMLElement} element - The element to check.
|
|
108
|
+
* @returns {boolean} - Whether the element is an inline leaf or wrapper.
|
|
109
|
+
*/
|
|
110
|
+
isInlineLeafOrWrapper(element) {
|
|
111
|
+
if (element.childNodes.length === 0) {
|
|
112
|
+
// An empty element is inline only if it is a known HTML phrasing-content
|
|
113
|
+
// element (SPAN, EM, STRONG, …). Block containers (DIV, SECTION, …)
|
|
114
|
+
// and unknown/custom elements default to block separators.
|
|
115
|
+
return PHRASING_CONTENT_TAGS.has(element.nodeName);
|
|
116
|
+
}
|
|
117
|
+
if (this.isTextOnlyElement(element)) {
|
|
118
|
+
return PHRASING_CONTENT_TAGS.has(element.nodeName) || ALWAYS_INLINE_TAGS.has(element.nodeName);
|
|
119
|
+
}
|
|
120
|
+
return this.hasOnlyInlineDescendants(element);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Returns true when the element has text-node children but no element children.
|
|
124
|
+
*
|
|
125
|
+
* @param {HTMLElement} element - The element to check.
|
|
126
|
+
* @returns {boolean} - Whether the element contains only text nodes.
|
|
127
|
+
*/
|
|
128
|
+
isTextOnlyElement(element) {
|
|
129
|
+
const childNodes = Array.from(element.childNodes);
|
|
130
|
+
return (!childNodes.some((child) => child.nodeType === Node.ELEMENT_NODE) &&
|
|
131
|
+
childNodes.some((child) => child.nodeType === Node.TEXT_NODE));
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Returns true if the element's subtree contains only inline formatting wrappers.
|
|
135
|
+
* Instead of maintaining a hard coded tag allowlist, the check derives from:
|
|
136
|
+
* 1. {@link DEDICATED_STRATEGY_TAGS} — rejects known block/media tags
|
|
137
|
+
* 2. Void-element check — elements with no child nodes (INPUT, COL, HR, …)
|
|
138
|
+
* are replaced/embedded content, not formatting wrappers
|
|
139
|
+
*
|
|
140
|
+
* @param {HTMLElement} element - Element to inspect.
|
|
141
|
+
* @returns {boolean} True if the element has no block-level descendants.
|
|
142
|
+
*/
|
|
143
|
+
hasOnlyInlineDescendants(element) {
|
|
144
|
+
for (let i = 0; i < element.children.length; i++) {
|
|
145
|
+
const child = element.children[i];
|
|
146
|
+
if (this.isDedicatedBlockTag(child.nodeName))
|
|
147
|
+
return false;
|
|
148
|
+
// An empty element is not a formatting wrapper — it is likely a void/embedded
|
|
149
|
+
// element (INPUT, HR, COL, empty SPAN) that acts as a block separator.
|
|
150
|
+
if (!child.hasChildNodes())
|
|
151
|
+
return false;
|
|
152
|
+
if (!this.hasOnlyInlineDescendants(child))
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
82
157
|
}
|
|
83
|
-
ContinueInlineToRTETextBlockStrategy.canHandleTags = [
|
|
84
|
-
...InlineHtmlAnnotationHandler.canHandleTags,
|
|
85
|
-
'CODE',
|
|
86
|
-
'A',
|
|
87
|
-
'VEGA-RICH-TEXT-LINK-EDITOR',
|
|
88
|
-
'BR',
|
|
89
|
-
];
|
|
@@ -13,7 +13,7 @@ class ElementToDtoStrategyProcessor {
|
|
|
13
13
|
const strategies = this.getElementToBlockStrategies();
|
|
14
14
|
const outputs = [];
|
|
15
15
|
for (let i = 0; i < elements.length; i++) {
|
|
16
|
-
if (this.isInvalidElement(elements[i]))
|
|
16
|
+
if (this.isInvalidElement(elements[i], options))
|
|
17
17
|
continue;
|
|
18
18
|
let canHandledCount = 0;
|
|
19
19
|
for (const strategy of strategies) {
|
|
@@ -40,14 +40,21 @@ class ElementToDtoStrategyProcessor {
|
|
|
40
40
|
return outputs;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Checks if the given element
|
|
43
|
+
* Checks if the given element should be skipped during processing.
|
|
44
44
|
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
45
|
+
* Comment nodes are always skipped. META and STYLE elements are skipped only
|
|
46
|
+
* in auto-match mode; in raw-HTML mode (autoMatchFormat: false) they are passed
|
|
47
|
+
* through so downstream strategies can decide how to handle them.
|
|
48
|
+
*
|
|
49
|
+
* @param {HTMLElement} element - The element to check.
|
|
50
|
+
* @param {VegaRTETransformOptions} options - Transform options.
|
|
51
|
+
* @returns {boolean} True when the element should be skipped.
|
|
47
52
|
*/
|
|
48
|
-
isInvalidElement(element) {
|
|
53
|
+
isInvalidElement(element, options) {
|
|
49
54
|
if (element.nodeType === Node.COMMENT_NODE)
|
|
50
55
|
return true;
|
|
56
|
+
if (options.autoMatchFormat === false)
|
|
57
|
+
return false;
|
|
51
58
|
return ['META', 'STYLE'].includes(element.nodeName);
|
|
52
59
|
}
|
|
53
60
|
/**
|
|
@@ -2,6 +2,8 @@ import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.a
|
|
|
2
2
|
import { RTEHtmlBlock } from '../../../../dto/blocks/html-block';
|
|
3
3
|
import { generateUUID } from '../../../../../../utils/misc';
|
|
4
4
|
import htmlElementToAnnotationGenerator from './annotation-handler/html-element-to-annotation-generator';
|
|
5
|
+
import { Predicate } from './predicate';
|
|
6
|
+
import { ALWAYS_INLINE_TAGS, DEDICATED_STRATEGY_TAGS, PHRASING_CONTENT_TAGS, STRUCTURED_CONTAINER_TAGS, isInBlockTextContext, } from './strategy-tags';
|
|
5
7
|
/**
|
|
6
8
|
* Converting HTML block elements into RTE blocks.
|
|
7
9
|
*/
|
|
@@ -11,13 +13,17 @@ export class HtmlBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
|
11
13
|
*/
|
|
12
14
|
canHandle(elementsArray, currentIndex, options) {
|
|
13
15
|
const element = elementsArray[currentIndex];
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
if (element.nodeType === Node.TEXT_NODE || this.isInlineTagWithoutBlockChildren(element, options)) {
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
// Skip dedicated-strategy tags unless all children are block-level embedded
|
|
20
|
+
// elements (e.g. <p><video></p>), in which case fall back to html-block.
|
|
21
|
+
if (DEDICATED_STRATEGY_TAGS.has(element.nodeName) && !this.shouldFallBackToHtmlBlock(element)) {
|
|
22
|
+
return 0;
|
|
23
|
+
}
|
|
18
24
|
return !options.autoMatchFormat &&
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
this.isCustomHtmlContainer(element) &&
|
|
26
|
+
!Predicate.isTitleOrSubtitle(element)
|
|
21
27
|
? 1
|
|
22
28
|
: 0;
|
|
23
29
|
}
|
|
@@ -43,6 +49,89 @@ export class HtmlBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
|
43
49
|
shouldProceedToElementChildren() {
|
|
44
50
|
return true;
|
|
45
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns true for elements that should be treated as inline content even if they have no element children (e.g. <span>text</span>).
|
|
54
|
+
* This includes any element in a block text context (P, H1-H6, LI) and any element with text-node children but no element-node children.
|
|
55
|
+
*
|
|
56
|
+
* In raw-HTML mode (autoMatchFormat: false), the text-only heuristic only
|
|
57
|
+
* applies to elements whose parent is itself a text-only wrapper (e.g.
|
|
58
|
+
* {@code <div><span>Title</span></div>}). Structural children of non-text
|
|
59
|
+
* containers (TABLE → CAPTION, TR → TH/TD, etc.) skip this heuristic so
|
|
60
|
+
* they reach {@link isCustomHtmlContainer} and become html-blocks.
|
|
61
|
+
*
|
|
62
|
+
* @param {HTMLElement} element - Element to check.
|
|
63
|
+
* @param {VegaRTETransformOptions} options - Transform options.
|
|
64
|
+
* @returns {boolean} True if the element should be treated as inline content.
|
|
65
|
+
*/
|
|
66
|
+
isInlineTagWithoutBlockChildren(element, options) {
|
|
67
|
+
if (isInBlockTextContext(element)) {
|
|
68
|
+
// Empty elements that are not recognized inline elements should not
|
|
69
|
+
// be forced inline — they may represent block-level embedded content
|
|
70
|
+
// (e.g. <video src="...">, <audio>, <iframe src="...">).
|
|
71
|
+
if (element.childNodes.length === 0 &&
|
|
72
|
+
element.textContent === '' &&
|
|
73
|
+
!ALWAYS_INLINE_TAGS.has(element.nodeName) &&
|
|
74
|
+
!PHRASING_CONTENT_TAGS.has(element.nodeName)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
const childNodes = Array.from(element.childNodes);
|
|
80
|
+
const isTextOnly = !childNodes.some((child) => child.nodeType === Node.ELEMENT_NODE) &&
|
|
81
|
+
childNodes.some((child) => child.nodeType === Node.TEXT_NODE);
|
|
82
|
+
if (!isTextOnly) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
// In raw-HTML mode, a text-only element is inline only if:
|
|
86
|
+
// 1. Its parent is not a structured container (TABLE, TR, …)
|
|
87
|
+
// 2. The element itself is phrasing content (SPAN, EM, …)
|
|
88
|
+
// Non-phrasing text-only elements (SUMMARY, FIGCAPTION, OPTION, SVG TEXT,
|
|
89
|
+
// etc.) must fall through to become html-blocks.
|
|
90
|
+
if (options.autoMatchFormat === false) {
|
|
91
|
+
if (STRUCTURED_CONTAINER_TAGS.has(element.parentElement.nodeName))
|
|
92
|
+
return false; // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
93
|
+
return PHRASING_CONTENT_TAGS.has(element.nodeName) || ALWAYS_INLINE_TAGS.has(element.nodeName);
|
|
94
|
+
}
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Returns true when a dedicated-strategy element should fall back to html-block
|
|
99
|
+
* because all its children are non-text, non-inline, non-dedicated elements
|
|
100
|
+
* — indicating purely block-level embedded content that the dedicated text-block
|
|
101
|
+
* strategy cannot represent.
|
|
102
|
+
*
|
|
103
|
+
* @param {HTMLElement} element - The dedicated-strategy element to check.
|
|
104
|
+
* @returns {boolean} True when the element should be treated as html-block.
|
|
105
|
+
*/
|
|
106
|
+
shouldFallBackToHtmlBlock(element) {
|
|
107
|
+
const childNodes = Array.from(element.childNodes);
|
|
108
|
+
if (childNodes.length === 0)
|
|
109
|
+
return false;
|
|
110
|
+
// List items are structural children whose dedicated strategies manage
|
|
111
|
+
// both block and inline children independently — never override them.
|
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
113
|
+
const parentTag = element.parentElement.nodeName;
|
|
114
|
+
if (parentTag === 'UL' || parentTag === 'OL')
|
|
115
|
+
return false;
|
|
116
|
+
return childNodes.every((child) => child.nodeType === Node.ELEMENT_NODE &&
|
|
117
|
+
child.textContent === '' &&
|
|
118
|
+
!ALWAYS_INLINE_TAGS.has(child.nodeName) &&
|
|
119
|
+
!PHRASING_CONTENT_TAGS.has(child.nodeName));
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Returns true for elements that should be treated as html containers.
|
|
123
|
+
* A DIV is only a valid container when its first child is not an IMG
|
|
124
|
+
* (IMG children are handled by the image strategy instead).
|
|
125
|
+
*
|
|
126
|
+
* @param {HTMLElement} element - Element to check.
|
|
127
|
+
* @returns {boolean} True if the element qualifies as a html container.
|
|
128
|
+
*/
|
|
129
|
+
isCustomHtmlContainer(element) {
|
|
130
|
+
if (element.nodeName !== 'DIV') {
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
return element.childNodes.length > 0 && element.childNodes[0].nodeName !== 'IMG';
|
|
134
|
+
}
|
|
46
135
|
/**
|
|
47
136
|
* Generate HTML block DTO from an HTML element.
|
|
48
137
|
*
|
|
@@ -60,40 +149,3 @@ export class HtmlBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
|
60
149
|
};
|
|
61
150
|
}
|
|
62
151
|
}
|
|
63
|
-
HtmlBlockStrategy.canHandleTags = [
|
|
64
|
-
'ADDRESS',
|
|
65
|
-
'ARTICLE',
|
|
66
|
-
'ASIDE',
|
|
67
|
-
'BLOCKQUOTE',
|
|
68
|
-
'BUTTON',
|
|
69
|
-
'CAPTION',
|
|
70
|
-
'COL',
|
|
71
|
-
'COLGROUP',
|
|
72
|
-
'DIV',
|
|
73
|
-
'DD',
|
|
74
|
-
'DETAILS',
|
|
75
|
-
'DL',
|
|
76
|
-
'DT',
|
|
77
|
-
'FIELDSET',
|
|
78
|
-
'FIGCAPTION',
|
|
79
|
-
'FIGURE',
|
|
80
|
-
'FOOTER',
|
|
81
|
-
'FORM',
|
|
82
|
-
'HEADER',
|
|
83
|
-
'HR',
|
|
84
|
-
'HX',
|
|
85
|
-
'INPUT',
|
|
86
|
-
'LEGEND',
|
|
87
|
-
'MAIN',
|
|
88
|
-
'NAV',
|
|
89
|
-
'PRE',
|
|
90
|
-
'SECTION',
|
|
91
|
-
'SUMMARY',
|
|
92
|
-
'TABLE',
|
|
93
|
-
'TBODY',
|
|
94
|
-
'TD',
|
|
95
|
-
'TFOOT',
|
|
96
|
-
'TH',
|
|
97
|
-
'THEAD',
|
|
98
|
-
'TR',
|
|
99
|
-
];
|
|
@@ -2,7 +2,6 @@ import { isHTMLElement } from '../../../../../../utils/ui';
|
|
|
2
2
|
import { ElementToTextNodeStrategy } from './element-to-text-node-strategy';
|
|
3
3
|
import htmlElementToAnnotationGenerator from './annotation-handler/html-element-to-annotation-generator';
|
|
4
4
|
import { RTETextNode } from '../../../../dto/nodes/text-node';
|
|
5
|
-
import { isNonNullable } from '../../../../../../types/type-guard';
|
|
6
5
|
import { cleanObject } from '../../../../../../utils/object';
|
|
7
6
|
/**
|
|
8
7
|
* Class to handle inline html element to text node dto
|
|
@@ -38,7 +37,7 @@ export class InlineElementToTextNodeStrategy extends ElementToTextNodeStrategy {
|
|
|
38
37
|
// For empty dom, there will be no internal iteration, we need to handle it directly here.
|
|
39
38
|
// Example: <span></span>, <video src='...'></video>
|
|
40
39
|
const emptyNodeAnnotations = disableAutoMatchFormat
|
|
41
|
-
? cleanObject(Object.assign(Object.assign({}, (RTETextNode.supportsHtmlTag(child.nodeName.toLowerCase()) ? curAnnotations : {})), { inlineHtml: curAnnotations.inlineHtml
|
|
40
|
+
? cleanObject(Object.assign(Object.assign({}, (RTETextNode.supportsHtmlTag(child.nodeName.toLowerCase()) ? curAnnotations : {})), { inlineHtml: curAnnotations.inlineHtml }))
|
|
42
41
|
: curAnnotations;
|
|
43
42
|
return Object.assign({}, this.generateTextNode('', emptyNodeAnnotations));
|
|
44
43
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TextStyleAnnotationHandler } from './annotation-handler/text-style-annotation-handler';
|
|
2
|
+
/**
|
|
3
|
+
* Predicate class provides static methods to check specific conditions on HTML elements.
|
|
4
|
+
*/
|
|
5
|
+
export class Predicate {
|
|
6
|
+
/**
|
|
7
|
+
* Checks if the given element is a title or subtitle.
|
|
8
|
+
*
|
|
9
|
+
* @param {HTMLElement} element The element to check.
|
|
10
|
+
* @returns {boolean} True if the element is a title or subtitle, false otherwise.
|
|
11
|
+
*/
|
|
12
|
+
static isTitleOrSubtitle(element) {
|
|
13
|
+
if (element.nodeName === 'DIV') {
|
|
14
|
+
const textBlockType = Predicate.textStyleHandler['getTextStyle'](element);
|
|
15
|
+
return textBlockType === 'title' || textBlockType === 'subtitle';
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Check if the given element is a link element (anchor tag).
|
|
21
|
+
*
|
|
22
|
+
* @param {HTMLElement} element The element to check.
|
|
23
|
+
* @returns {boolean} True if the element is a link element, false otherwise.
|
|
24
|
+
*/
|
|
25
|
+
static isLinkElement(element) {
|
|
26
|
+
return element.nodeName === 'A';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
Predicate.textStyleHandler = new TextStyleAnnotationHandler();
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tags whose direct children are always phrasing (inline) content (P, H1-H6, LI).
|
|
3
|
+
*
|
|
4
|
+
* This is spec knowledge from the HTML Living Standard — these grouping-content
|
|
5
|
+
* elements have a phrasing-content content model and cannot contain block-level
|
|
6
|
+
* descendants. It cannot be derived from the strategy registry and must be
|
|
7
|
+
* maintained alongside the HTML spec.
|
|
8
|
+
*
|
|
9
|
+
* @see https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
|
|
10
|
+
*/
|
|
11
|
+
export const BLOCK_TEXT_CONTAINER_TAGS = new Set([
|
|
12
|
+
'P',
|
|
13
|
+
'H1',
|
|
14
|
+
'H2',
|
|
15
|
+
'H3',
|
|
16
|
+
'H4',
|
|
17
|
+
'H5',
|
|
18
|
+
'H6',
|
|
19
|
+
'LI',
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* Tags with dedicated element-to-DTO block strategies
|
|
23
|
+
* (P, H1-H6, LI, UL, OL, IMG, CODE).
|
|
24
|
+
*
|
|
25
|
+
* HtmlBlockStrategy skips these to avoid double-processing or overriding their
|
|
26
|
+
* specialized block semantics.
|
|
27
|
+
*
|
|
28
|
+
* Why hard-coded: strategies use heterogeneous matching (`tagName ===`,
|
|
29
|
+
* `matchTextBlockType` via font-size/class, etc.) so there is no single
|
|
30
|
+
* declarative contract to derive this set from. It must be kept in sync with
|
|
31
|
+
* the strategies registered in `dto/setup.ts`.
|
|
32
|
+
*
|
|
33
|
+
* Intentionally independent of {@link BLOCK_TEXT_CONTAINER_TAGS} — the two
|
|
34
|
+
* sets encode different concepts (app architecture vs. HTML spec) and must
|
|
35
|
+
* be maintained separately.
|
|
36
|
+
*/
|
|
37
|
+
export const DEDICATED_STRATEGY_TAGS = new Set([
|
|
38
|
+
'P',
|
|
39
|
+
'H1',
|
|
40
|
+
'H2',
|
|
41
|
+
'H3',
|
|
42
|
+
'H4',
|
|
43
|
+
'H5',
|
|
44
|
+
'H6',
|
|
45
|
+
'LI',
|
|
46
|
+
'UL',
|
|
47
|
+
'OL',
|
|
48
|
+
'IMG',
|
|
49
|
+
'CODE',
|
|
50
|
+
]);
|
|
51
|
+
/**
|
|
52
|
+
* Tags that are always treated as phrasing (inline) content, even when they
|
|
53
|
+
* also appear in {@link DEDICATED_STRATEGY_TAGS} (CODE).
|
|
54
|
+
* A tag in this set overrides the dedicated-strategy skip in HtmlBlockStrategy.
|
|
55
|
+
*
|
|
56
|
+
* Mix of HTML5 spec phrasing-content elements (BR, CODE, A) and
|
|
57
|
+
* RTE-internal custom elements (VEGA-RICH-TEXT-LINK-EDITOR).
|
|
58
|
+
*/
|
|
59
|
+
export const ALWAYS_INLINE_TAGS = new Set(['BR', 'VEGA-RICH-TEXT-LINK-EDITOR', 'CODE', 'A']);
|
|
60
|
+
/**
|
|
61
|
+
* Tags whose content model requires each child to be a distinct block-level
|
|
62
|
+
* element (table model and definition list).
|
|
63
|
+
*
|
|
64
|
+
* TABLE expects CAPTION/THEAD/TBODY/TFOOT/TR; TR expects TH/TD;
|
|
65
|
+
* THEAD/TBODY/TFOOT expect TR; DL expects DT/DD.
|
|
66
|
+
*
|
|
67
|
+
* Used by HtmlBlockStrategy to prevent text-only children (e.g. CAPTION,
|
|
68
|
+
* TH, TD) from being treated as inline — they must become html-blocks so
|
|
69
|
+
* the table structure round-trips correctly.
|
|
70
|
+
*
|
|
71
|
+
* Note: COLGROUP is intentionally excluded. Its only permitted child is the
|
|
72
|
+
* void element COL, which can never produce text-node children, so the
|
|
73
|
+
* text-only heuristic in HtmlBlockStrategy can never fire for a COLGROUP
|
|
74
|
+
* parent.
|
|
75
|
+
*
|
|
76
|
+
* @see https://html.spec.whatwg.org/multipage/tables.html#the-table-element
|
|
77
|
+
* @see https://html.spec.whatwg.org/multipage/grouping-content.html#the-dl-element
|
|
78
|
+
*/
|
|
79
|
+
export const STRUCTURED_CONTAINER_TAGS = new Set([
|
|
80
|
+
'TABLE',
|
|
81
|
+
'THEAD',
|
|
82
|
+
'TBODY',
|
|
83
|
+
'TFOOT',
|
|
84
|
+
'TR',
|
|
85
|
+
'DL',
|
|
86
|
+
]);
|
|
87
|
+
/**
|
|
88
|
+
* Formatting phrasing-content elements that CAN remain inline even when empty.
|
|
89
|
+
*
|
|
90
|
+
* Any element NOT in this set (DIV, SECTION, ARTICLE, custom elements, etc.)
|
|
91
|
+
* is treated as a block separator. Phrasing content is a closed, finite set
|
|
92
|
+
* per the HTML Living Standard, making an allowlist safer than blocklisting
|
|
93
|
+
* block containers (which is open-ended — custom elements default to block).
|
|
94
|
+
*
|
|
95
|
+
* Intentionally excludes:
|
|
96
|
+
* - BR, CODE, A, VEGA-RICH-TEXT-LINK-EDITOR → handled by {@link ALWAYS_INLINE_TAGS}
|
|
97
|
+
* - P, H1-H6, LI, UL, OL, IMG → handled by {@link DEDICATED_STRATEGY_TAGS}
|
|
98
|
+
* - VIDEO, AUDIO, EMBED → embedded content that carries media even when empty;
|
|
99
|
+
* must be treated as block-level, not as inline formatting artifacts
|
|
100
|
+
*
|
|
101
|
+
* @see https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
|
|
102
|
+
*/
|
|
103
|
+
export const PHRASING_CONTENT_TAGS = new Set([
|
|
104
|
+
'ABBR',
|
|
105
|
+
'B',
|
|
106
|
+
'BDI',
|
|
107
|
+
'BDO',
|
|
108
|
+
'CITE',
|
|
109
|
+
'DEL',
|
|
110
|
+
'DFN',
|
|
111
|
+
'EM',
|
|
112
|
+
'I',
|
|
113
|
+
'INS',
|
|
114
|
+
'KBD',
|
|
115
|
+
'MARK',
|
|
116
|
+
'METER',
|
|
117
|
+
'OUTPUT',
|
|
118
|
+
'PROGRESS',
|
|
119
|
+
'Q',
|
|
120
|
+
'S',
|
|
121
|
+
'SAMP',
|
|
122
|
+
'SMALL',
|
|
123
|
+
'SPAN',
|
|
124
|
+
'STRONG',
|
|
125
|
+
'SUB',
|
|
126
|
+
'SUP',
|
|
127
|
+
'TIME',
|
|
128
|
+
'U',
|
|
129
|
+
'VAR',
|
|
130
|
+
]);
|
|
131
|
+
/**
|
|
132
|
+
* Returns true when the element is a direct child of a block text container
|
|
133
|
+
* (P, H1-H6, LI), meaning it must be treated as phrasing content regardless
|
|
134
|
+
* of its own DOM structure.
|
|
135
|
+
*
|
|
136
|
+
* @param {HTMLElement} element - Element to test.
|
|
137
|
+
* @returns {boolean} True if the element is inside a block text container.
|
|
138
|
+
*/
|
|
139
|
+
export function isInBlockTextContext(element) {
|
|
140
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
141
|
+
return BLOCK_TEXT_CONTAINER_TAGS.has(element.parentElement.nodeName);
|
|
142
|
+
}
|
|
@@ -43,6 +43,7 @@ export class SourceEditToolbarButtonSlimmer extends ToolbarButtonSlimmer {
|
|
|
43
43
|
if (typeof sourceViewValue === 'string') {
|
|
44
44
|
await this.valueController.flushChanges(VegaRTEContent.fromHtml(sourceViewValue, {
|
|
45
45
|
autoMatchFormat: this.sourceEditConfig.autoMatchFormat,
|
|
46
|
+
filterInlineStyles: this.sourceEditConfig.filterInlineStyles,
|
|
46
47
|
}));
|
|
47
48
|
}
|
|
48
49
|
}
|