@heartlandone/vega 2.75.0 → 2.76.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-bf183914.js → app-globals-12b7d808.js} +28 -32
- package/dist/cjs/breakpoints-751d433a.js +56 -0
- package/dist/cjs/{child-nodes-event-prevent-slimmer-aca87dac.js → child-nodes-event-prevent-slimmer-84435957.js} +2 -2
- package/dist/cjs/{child-nodes-notify-observer-slimmer-257fedb3.js → child-nodes-notify-observer-slimmer-ed39283b.js} +1 -1
- package/dist/cjs/{code-block-c1d2e6a8.js → code-block-f1480ec3.js} +17 -17
- package/dist/cjs/{component-global-style-slimmer-adfa2e59.js → component-global-style-slimmer-93c5fb50.js} +2 -1
- package/dist/cjs/{component-usage-runtime-metrics-d10ace87.js → component-usage-runtime-metrics-4572c5b7.js} +1 -1
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-787c67dc.js → component-value-history-controller-slimmer.abstract-a9264cc8.js} +5 -5
- package/dist/cjs/{create-public-api-runtime-metrics-slimmer-e2e274e1.js → create-public-api-runtime-metrics-slimmer-9cb09fb2.js} +3 -41
- package/dist/cjs/{dark-mode-style-controller-c21172aa.js → dark-mode-style-controller-3a04af3d.js} +292 -1254
- package/dist/cjs/{date-required-rule-30ee62d0.js → date-required-rule-912469e0.js} +1 -1
- package/dist/cjs/{design-token-cbc01283.js → design-token-41baf118.js} +2 -2
- package/dist/cjs/dom-node-subject-observer-factory-c62823de.js +141 -0
- package/dist/cjs/{dto-renderer-manager-2fc24151.js → dto-renderer-manager-809c947b.js} +230 -55
- package/dist/cjs/{element-appender-slimmer-318d29c7.js → element-appender-slimmer-34e4eb56.js} +349 -166
- package/dist/cjs/{event-emit-slimmer-2dacabbd.js → event-emit-slimmer-062cdcb8.js} +2 -2
- package/dist/cjs/{feature-flag-controller-ce2162c8.js → feature-flag-controller-04cb1e69.js} +7 -1
- package/dist/cjs/{form-field-controller-slimmer-aef2fb1e.js → form-field-controller-slimmer-102f37c7.js} +13 -14
- package/dist/cjs/{internal-icon-manager-32f9ed63.js → icon-manager-c12c6ea9.js} +1 -52
- package/dist/cjs/{image-annotation-action-e4a35325.js → image-annotation-action-8d9fa20c.js} +10 -9
- package/dist/cjs/index-592b4052.js +220 -0
- package/dist/cjs/{index-4d7bce1a.js → index-f054eb5d.js} +15 -3
- package/dist/cjs/index.cjs.js +68 -65
- package/dist/cjs/{inject-keyboard-manager-d21b4387.js → inject-keyboard-manager-0f5bd568.js} +1 -1
- package/dist/cjs/internal-icon-manager-c989189a.js +55 -0
- package/dist/cjs/{translation-5f9f9c0c.js → internal-translation-controller-053eb0f1.js} +0 -93
- package/dist/cjs/{internal-vega-event-manager-6befeb34.js → internal-vega-event-manager-f7ecf3d4.js} +81 -81
- package/dist/cjs/internal-vega-z-index-manager-f03ddb37.js +180 -0
- package/dist/cjs/{keyboard-manager-3dea6b28.js → keyboard-manager-055e9f67.js} +2 -2
- package/dist/cjs/{keyboard-manager-slimmer-0d45f944.js → keyboard-manager-slimmer-0cc0c1c7.js} +1 -1
- package/dist/cjs/loader.cjs.js +26 -23
- package/dist/cjs/misc-3d30df91.js +41 -0
- package/dist/cjs/{month-view-generator-49cc5fc2.js → month-view-generator-6a6dd527.js} +1 -1
- package/dist/cjs/{page-resize-observer-slimmer-11937d6f.js → page-resize-observer-slimmer-7f065ee1.js} +2 -54
- package/dist/cjs/{public-rules-661823fa.js → public-rules-922849f3.js} +12 -13
- package/dist/cjs/{range-79b668e7.js → range-8aa49b08.js} +2 -2
- package/dist/cjs/{responsive-format-facade-f71d399c.js → responsive-format-facade-ea59bdcd.js} +13 -22
- package/dist/cjs/{rich-text-editor-required-rule-d5feeffd.js → rich-text-editor-required-rule-22225840.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-63514c60.js → string-format-strategy.abstract-f2575647.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-f3e0bbc7.js → string-input-formatter-slimmer-0a334fc6.js} +5 -5
- package/dist/cjs/{string-mask-strategy-d23ac21a.js → string-mask-strategy-dda58395.js} +2 -2
- package/dist/cjs/{style-formatter-566df206.js → style-formatter-0c3ced39.js} +2 -2
- package/dist/cjs/{sub-state-notify-slimmer-468e19aa.js → sub-state-notify-slimmer-58121111.js} +1 -1
- package/dist/cjs/{sub-state-observer-slimmer-5d0b8ac3.js → sub-state-observer-slimmer-1dfbc4c3.js} +2 -2
- package/dist/cjs/{time-required-rule-c96ecdc9.js → time-required-rule-d6fa7aa8.js} +1 -1
- package/dist/cjs/{function-extension-ca9aa115.js → token-extension-07cac85d.js} +501 -387
- package/dist/cjs/{translation-slimmer-f0ebe710.js → translation-slimmer-4533bd67.js} +4 -4
- package/dist/cjs/{type-guard-a0f026d8.js → type-guard-407ba0b8.js} +3 -3
- package/dist/cjs/{ui-9e181079.js → ui-234ea151.js} +12 -0
- package/dist/cjs/{valid-credit-card-number-rule-c854bed9.js → valid-credit-card-number-rule-41a8b51b.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +21 -30
- package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
- package/dist/cjs/vega-app-header-button.cjs.entry.js +183 -49
- package/dist/cjs/vega-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/vega-banner.cjs.entry.js +15 -13
- package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-box.cjs.entry.js +18 -33
- package/dist/cjs/vega-brand-logo.cjs.entry.js +7 -5
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +14 -13
- package/dist/cjs/vega-button-circle.cjs.entry.js +20 -30
- package/dist/cjs/vega-button-group_2.cjs.entry.js +15 -15
- package/dist/cjs/vega-button-link.cjs.entry.js +15 -14
- package/dist/cjs/vega-button.cjs.entry.js +21 -30
- package/dist/cjs/vega-calendar_4.cjs.entry.js +48 -45
- package/dist/cjs/vega-card.cjs.entry.js +9 -28
- package/dist/cjs/vega-carousel.cjs.entry.js +15 -26
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +22 -20
- package/dist/cjs/vega-chip.cjs.entry.js +22 -33
- package/dist/cjs/vega-code-block.cjs.entry.js +658 -2709
- package/dist/cjs/vega-color-picker.cjs.entry.js +15 -12
- package/dist/cjs/vega-combo-box.cjs.entry.js +29 -28
- package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +53 -56
- package/dist/cjs/vega-dialog-controller-03ef4d9a.js +84 -0
- package/dist/cjs/vega-dialog_2.cjs.entry.js +37 -44
- package/dist/cjs/vega-divider.cjs.entry.js +12 -30
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +49 -55
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/{dom-node-subject-observer-factory-b5e71bf6.js → vega-event-id-ee01d8dd.js} +0 -139
- package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
- package/dist/cjs/vega-field-label.cjs.entry.js +9 -8
- package/dist/cjs/vega-file-uploader.cjs.entry.js +28 -23
- package/dist/cjs/vega-flag-icon.cjs.entry.js +13 -27
- package/dist/cjs/vega-flex.cjs.entry.js +11 -28
- package/dist/cjs/vega-font.cjs.entry.js +12 -29
- package/dist/cjs/vega-form.cjs.entry.js +24 -22
- package/dist/cjs/vega-grid.cjs.entry.js +9 -28
- package/dist/cjs/vega-hint.cjs.entry.js +1 -1
- package/dist/cjs/vega-icon.cjs.entry.js +18 -31
- package/dist/cjs/vega-image-uploader.cjs.entry.js +34 -37
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +31 -27
- package/dist/cjs/vega-input-numeric.cjs.entry.js +24 -22
- package/dist/cjs/vega-input-passcode.cjs.entry.js +26 -24
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +31 -35
- package/dist/cjs/vega-input-range.cjs.entry.js +22 -20
- package/dist/cjs/vega-input-select.cjs.entry.js +41 -46
- package/dist/cjs/vega-input.cjs.entry.js +43 -31
- package/dist/cjs/vega-item-toggle.cjs.entry.js +8 -7
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +38 -40
- package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +16 -32
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +5 -4
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +12 -12
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +9 -10
- package/dist/cjs/vega-pagination.cjs.entry.js +28 -38
- package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-popover_2.cjs.entry.js +21 -31
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +66 -39
- package/dist/cjs/vega-radio_2.cjs.entry.js +25 -23
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +22 -20
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +115 -62
- package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
- package/dist/cjs/vega-segment-control.cjs.entry.js +10 -8
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +25 -32
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +22 -20
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +34 -40
- package/dist/cjs/vega-signature-capture.cjs.entry.js +27 -31
- package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
- package/dist/cjs/vega-stepper.cjs.entry.js +23 -21
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +15 -14
- package/dist/cjs/vega-table_11.cjs.entry.js +67 -68
- package/dist/cjs/vega-text.cjs.entry.js +4 -3
- package/dist/cjs/vega-textarea.cjs.entry.js +22 -20
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +35 -41
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +15 -12
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +17 -28
- package/dist/cjs/vega.cjs.js +26 -23
- package/dist/cjs/{index-95fca64f.js → wait-for-component-did-render-70a01bf9.js} +1 -12
- package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +17 -2
- package/dist/collection/components/vega-box/slimmers/controllers/vega-box-responsive-style-controller.js +2 -1
- package/dist/collection/components/vega-box/slimmers/controllers/vega-box-state-styles-controller.js +2 -1
- package/dist/collection/components/vega-button/vega-button.js +2 -1
- package/dist/collection/components/vega-button-circle/vega-button-circle.js +2 -1
- package/dist/collection/components/vega-button-link/vega-button-link.css +1 -1
- package/dist/collection/components/vega-button-link/vega-button-link.js +2 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.js +1 -1
- package/dist/collection/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.js +5 -14
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +2 -2
- package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.js +1 -1
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +1 -1
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-search-controller.js +2 -2
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +2 -2
- package/dist/collection/components/vega-dropdown/vega-dropdown-group/slimmers/renderers/vega-dropdown-group-renderer.js +3 -3
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +6 -4
- package/dist/collection/components/vega-icon/vega-icon.js +2 -1
- package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-container-renderer.js +10 -2
- package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +1 -1
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +2 -2
- package/dist/collection/components/vega-pagination/vega-pagination.js +1 -1
- package/dist/collection/components/vega-progress-tracker/slimmers/controllers/dto/internal-progress-tracker-step.js +30 -6
- package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.js +1 -1
- package/dist/collection/components/vega-progress-tracker/slimmers/renderers/vega-progress-tracker-renderer.js +8 -1
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker-step/vega-progress-tracker-step.js +27 -0
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.css +12 -0
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +8 -3
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +3 -22
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner.js +59 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/index.js +4 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-after-opening-tag-processor.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-before-closing-tag-processor.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-between-tags-processor.js +77 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +39 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +166 -1
- package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/html-content-cleaner.test.js +186 -0
- package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-after-opening-tag-processor.test.js +22 -0
- package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-before-closing-tag-processor.test.js +22 -0
- package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-between-tags-processor.test.js +26 -0
- package/dist/collection/components/vega-signature-capture/slimmers/written-mode/controllers/written-mode-svg-controller.js +2 -1
- package/dist/collection/components/vega-table/interface.js +3 -0
- package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +1 -1
- package/dist/collection/global/scripts/before-vega-load.js +4 -3
- package/dist/collection/helpers/calendar/calendar-date.js +1 -1
- package/dist/collection/helpers/calendar/calendar-event.js +1 -1
- package/dist/collection/helpers/calendar/calendar-time.js +1 -1
- package/dist/collection/helpers/code-format/code-formatter.js +57 -7
- package/dist/collection/helpers/code-format/test/code-formatter.test.js +49 -1
- package/dist/collection/helpers/common/index.js +2 -37
- package/dist/collection/helpers/common/test/wait-for-vega-handler.test.js +2 -2
- package/dist/collection/helpers/common/wait-for-component-did-render.js +27 -0
- package/dist/collection/helpers/common/wait-for-vega-handler.js +12 -1
- package/dist/collection/helpers/feature-control/feature-flags-map.js +6 -0
- package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-border-radius-style-formatter.js +1 -1
- package/dist/collection/helpers/public-api.js +0 -2
- package/dist/collection/helpers/slimmers/component-global-style-slimmer.js +2 -1
- package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +3 -4
- package/dist/collection/helpers/slimmers/form-field-message-translator.js +1 -1
- package/dist/collection/helpers/slimmers/global/vega-translate-observer-slimmer.js +1 -1
- package/dist/collection/helpers/slimmers/global/vega-watch-method-cancel-slimmer.js +1 -1
- package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +128 -0
- package/dist/collection/helpers/slimmers/mutation-observer/test/aria-attributes-value-mapper.test.js +196 -0
- package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +162 -151
- package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +9 -0
- package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +112 -1
- package/dist/collection/helpers/slimmers/position-calculation/screen-scroll-position-update.js +53 -0
- package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +103 -6
- package/dist/collection/helpers/slimmers/string-input-formatter-slimmer.js +1 -1
- package/dist/collection/helpers/slimmers/translation/translation-slimmer.js +1 -1
- package/dist/collection/helpers/theme/controllers/brand-style-controller.js +3 -1
- package/dist/collection/helpers/theme/controllers/color-schema-overriding-controller.js +8 -6
- package/dist/collection/helpers/theme/controllers/dark-mode-style-controller.js +3 -1
- package/dist/collection/helpers/theme/internal-theme-manager.js +2 -1
- package/dist/collection/helpers/theme/tests/theme-manager-controller.test.js +1 -2
- package/dist/collection/helpers/ui/element-appender.js +4 -5
- package/dist/collection/helpers/ui/test/element-appender.test.js +66 -17
- package/dist/collection/index.js +2 -0
- package/dist/collection/polyfill/prism/index.js +2 -0
- package/dist/collection/polyfill/prism/languages/css.js +86 -0
- package/dist/collection/polyfill/prism/languages/javascript.js +96 -0
- package/dist/collection/polyfill/prism/languages/jsx.js +46 -0
- package/dist/collection/polyfill/prism/languages/language-registry.js +41 -0
- package/dist/collection/polyfill/prism/languages/markup.js +71 -0
- package/dist/collection/polyfill/prism/languages/tsx.js +10 -0
- package/dist/collection/polyfill/prism/languages/typescript.js +64 -0
- package/dist/collection/polyfill/prism/test/css.test.js +61 -0
- package/dist/collection/polyfill/prism/test/javascript.test.js +113 -0
- package/dist/collection/polyfill/prism/test/jsx.test.js +48 -0
- package/dist/collection/polyfill/prism/test/language-registry.test.js +77 -0
- package/dist/collection/polyfill/prism/test/markup.test.js +57 -0
- package/dist/collection/polyfill/prism/test/test-utils.js +22 -0
- package/dist/collection/polyfill/prism/test/tokenizer.test.js +180 -0
- package/dist/collection/polyfill/prism/test/tsx.test.js +87 -0
- package/dist/collection/polyfill/prism/test/typescript.test.js +86 -0
- package/dist/collection/polyfill/prism/tokenizer.js +242 -0
- package/dist/collection/polyfill/prism/types.js +1 -0
- package/dist/collection/polyfill/tinycolor/tinycolor-polyfill.js +320 -0
- package/dist/collection/polyfill/tinycolor/tinycolor-polyfill.test.js +361 -0
- package/dist/collection/types/ui.type.js +12 -0
- package/dist/collection/utils/e2e-utils.js +10 -3
- package/dist/collection/utils/sanitize/constants/tag-sets.js +5 -0
- package/dist/collection/utils/sanitize/core/html-sanitizer.js +39 -0
- package/dist/collection/utils/sanitize/core/sanitize-strategy.js +62 -0
- package/dist/collection/utils/sanitize/core/types.js +4 -0
- package/dist/collection/utils/sanitize/index.js +12 -0
- package/dist/collection/utils/sanitize/strategies/empty-sanitize-strategy.js +17 -0
- package/dist/collection/utils/sanitize/strategies/index.js +3 -0
- package/dist/collection/utils/sanitize/strategies/label-sanitize-strategy.js +13 -0
- package/dist/collection/utils/sanitize/strategies/style-sanitize-strategy.js +50 -0
- package/dist/collection/utils/sanitize/test/empty-strategy.test.js +12 -0
- package/dist/collection/utils/sanitize/test/html-sanitizer.test.js +57 -0
- package/dist/collection/utils/sanitize/test/label-strategy.test.js +56 -0
- package/dist/collection/utils/sanitize/test/sanitize-strategy.test.js +85 -0
- package/dist/collection/utils/sanitize/test/sanitize.test.js +22 -0
- package/dist/collection/utils/sanitize/test/serialize-fragment.test.js +25 -0
- package/dist/collection/utils/sanitize/test/style-strategy.test.js +45 -0
- package/dist/collection/utils/sanitize/utils/serialize-fragment.js +17 -0
- package/dist/esm/{app-globals-f3414aca.js → app-globals-c0676920.js} +12 -16
- package/dist/esm/breakpoints-56e5407b.js +53 -0
- package/dist/esm/{child-nodes-event-prevent-slimmer-e662bee2.js → child-nodes-event-prevent-slimmer-649b9d30.js} +2 -2
- package/dist/esm/{child-nodes-notify-observer-slimmer-b676cd2b.js → child-nodes-notify-observer-slimmer-541dd6a4.js} +1 -1
- package/dist/esm/{code-block-8ee34ab6.js → code-block-b6247a45.js} +7 -7
- package/dist/esm/{component-global-style-slimmer-08046b38.js → component-global-style-slimmer-ac703085.js} +2 -1
- package/dist/esm/{component-usage-runtime-metrics-a84cc93e.js → component-usage-runtime-metrics-46020a03.js} +1 -1
- package/dist/esm/{component-value-history-controller-slimmer.abstract-a61bf821.js → component-value-history-controller-slimmer.abstract-2bb8533d.js} +6 -6
- package/dist/esm/{create-public-api-runtime-metrics-slimmer-bedf3a1e.js → create-public-api-runtime-metrics-slimmer-aaadaa08.js} +3 -38
- package/dist/esm/{dark-mode-style-controller-de88a117.js → dark-mode-style-controller-82e5c1c6.js} +292 -1254
- package/dist/esm/{date-required-rule-47ecc28f.js → date-required-rule-e771e7d9.js} +1 -1
- package/dist/esm/{design-token-9b299589.js → design-token-4aee1c56.js} +2 -2
- package/dist/esm/dom-node-subject-observer-factory-82f346e3.js +138 -0
- package/dist/esm/{dto-renderer-manager-f07cf2d9.js → dto-renderer-manager-6fd22ab7.js} +204 -29
- package/dist/esm/{element-appender-slimmer-7cb08343.js → element-appender-slimmer-e4713a72.js} +348 -165
- package/dist/esm/{event-emit-slimmer-09827cec.js → event-emit-slimmer-ffaecb9a.js} +2 -2
- package/dist/esm/{feature-flag-controller-51659753.js → feature-flag-controller-09ea7e87.js} +7 -1
- package/dist/esm/{form-field-controller-slimmer-5d9dc384.js → form-field-controller-slimmer-5817d14d.js} +10 -11
- package/dist/esm/{internal-icon-manager-f0486245.js → icon-manager-539d7cf7.js} +2 -52
- package/dist/esm/{image-annotation-action-53529cd9.js → image-annotation-action-6701b4c9.js} +6 -5
- package/dist/esm/index-3b327f29.js +215 -0
- package/dist/esm/{index-e9da316f.js → index-bfc6dfa2.js} +13 -1
- package/dist/esm/index.js +32 -29
- package/dist/esm/{inject-keyboard-manager-83d76ff5.js → inject-keyboard-manager-78730062.js} +1 -1
- package/dist/esm/internal-icon-manager-bd80b3bb.js +53 -0
- package/dist/esm/{translation-96e5debd.js → internal-translation-controller-911515f9.js} +1 -93
- package/dist/esm/{internal-vega-event-manager-efb6786e.js → internal-vega-event-manager-32a3d848.js} +1 -1
- package/dist/esm/internal-vega-z-index-manager-7d2b54c3.js +178 -0
- package/dist/esm/{keyboard-manager-c92808d8.js → keyboard-manager-38934f94.js} +2 -2
- package/dist/esm/{keyboard-manager-slimmer-79c78ce8.js → keyboard-manager-slimmer-9984d922.js} +1 -1
- package/dist/esm/loader.js +27 -24
- package/dist/esm/misc-9fdbcfbb.js +37 -0
- package/dist/esm/{month-view-generator-16192182.js → month-view-generator-eaf9029c.js} +1 -1
- package/dist/esm/{page-resize-observer-slimmer-8744cb44.js → page-resize-observer-slimmer-d6af0d86.js} +2 -52
- package/dist/esm/{public-rules-6ebdfcf5.js → public-rules-25cc3a39.js} +13 -14
- package/dist/esm/{range-5257c062.js → range-663f44dc.js} +2 -2
- package/dist/esm/{responsive-format-facade-05e53016.js → responsive-format-facade-7a071174.js} +3 -12
- package/dist/esm/{rich-text-editor-required-rule-f63a37d1.js → rich-text-editor-required-rule-a238b862.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-fc60db79.js → string-format-strategy.abstract-713fba36.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-ee32b1fd.js → string-input-formatter-slimmer-5b413ff9.js} +4 -4
- package/dist/esm/{string-mask-strategy-0b0accaa.js → string-mask-strategy-6beaf664.js} +2 -2
- package/dist/esm/{style-formatter-5f5bd714.js → style-formatter-3d06b72d.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-4453047a.js → sub-state-notify-slimmer-5133f1a8.js} +2 -2
- package/dist/esm/{sub-state-observer-slimmer-202ec7dc.js → sub-state-observer-slimmer-478c9f41.js} +3 -3
- package/dist/esm/{time-required-rule-5fa43804.js → time-required-rule-e4138a76.js} +1 -1
- package/dist/esm/{function-extension-63028f20.js → token-extension-e33fd151.js} +488 -376
- package/dist/esm/{translation-slimmer-c936cb1b.js → translation-slimmer-2394b173.js} +1 -1
- package/dist/esm/{type-guard-c65a227d.js → type-guard-f50e34d6.js} +1 -1
- package/dist/esm/{ui-bb99c0c2.js → ui-ee31416b.js} +12 -0
- package/dist/esm/{valid-credit-card-number-rule-666c415d.js → valid-credit-card-number-rule-22ce81db.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +19 -28
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +174 -40
- package/dist/esm/vega-backdrop.entry.js +2 -2
- package/dist/esm/vega-banner.entry.js +12 -10
- package/dist/esm/vega-bar-chart.entry.js +1 -1
- package/dist/esm/vega-box.entry.js +14 -29
- package/dist/esm/vega-brand-logo.entry.js +7 -5
- package/dist/esm/vega-breadcrumb.entry.js +11 -10
- package/dist/esm/vega-button-circle.entry.js +19 -29
- package/dist/esm/vega-button-group_2.entry.js +12 -12
- package/dist/esm/vega-button-link.entry.js +13 -12
- package/dist/esm/vega-button.entry.js +19 -28
- package/dist/esm/vega-calendar_4.entry.js +23 -20
- package/dist/esm/vega-card.entry.js +9 -28
- package/dist/esm/vega-carousel.entry.js +14 -25
- package/dist/esm/vega-checkbox_2.entry.js +19 -17
- package/dist/esm/vega-chip.entry.js +18 -29
- package/dist/esm/vega-code-block.entry.js +653 -2704
- package/dist/esm/vega-color-picker.entry.js +15 -12
- package/dist/esm/vega-combo-box.entry.js +22 -21
- package/dist/esm/vega-counter-badge.entry.js +1 -1
- package/dist/esm/vega-date-picker_2.entry.js +34 -37
- package/dist/esm/vega-dialog-controller-bbb2fc52.js +82 -0
- package/dist/esm/vega-dialog_2.entry.js +23 -30
- package/dist/esm/vega-divider.entry.js +11 -29
- package/dist/esm/vega-dropdown_5.entry.js +39 -45
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-event-id-38aa77a0.js +113 -0
- package/dist/esm/vega-field-error.entry.js +1 -1
- package/dist/esm/vega-field-label.entry.js +7 -6
- package/dist/esm/vega-file-uploader.entry.js +19 -14
- package/dist/esm/vega-flag-icon.entry.js +12 -26
- package/dist/esm/vega-flex.entry.js +11 -28
- package/dist/esm/vega-font.entry.js +11 -28
- package/dist/esm/vega-form.entry.js +20 -18
- package/dist/esm/vega-grid.entry.js +9 -28
- package/dist/esm/vega-hint.entry.js +1 -1
- package/dist/esm/vega-icon.entry.js +15 -28
- package/dist/esm/vega-image-uploader.entry.js +28 -31
- package/dist/esm/vega-input-credit-card.entry.js +25 -21
- package/dist/esm/vega-input-numeric.entry.js +21 -19
- package/dist/esm/vega-input-passcode.entry.js +20 -18
- package/dist/esm/vega-input-phone-number.entry.js +27 -31
- package/dist/esm/vega-input-range.entry.js +19 -17
- package/dist/esm/vega-input-select.entry.js +27 -32
- package/dist/esm/vega-input.entry.js +33 -21
- package/dist/esm/{vega-internal-event-id-4a06d705.js → vega-internal-event-id-799d012e.js} +1 -1
- package/dist/esm/vega-item-toggle.entry.js +6 -5
- package/dist/esm/vega-left-nav_5.entry.js +29 -31
- package/dist/esm/vega-line-chart.entry.js +1 -1
- package/dist/esm/vega-loader-wrapper_2.entry.js +13 -29
- package/dist/esm/vega-page-notification_2.entry.js +4 -3
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +9 -9
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +7 -8
- package/dist/esm/vega-pagination.entry.js +20 -30
- package/dist/esm/vega-pie-chart.entry.js +1 -1
- package/dist/esm/vega-popover_2.entry.js +20 -30
- package/dist/esm/vega-progress-tracker_2.entry.js +64 -37
- package/dist/esm/vega-radio_2.entry.js +21 -19
- package/dist/esm/vega-rich-text-content.entry.js +18 -16
- package/dist/esm/vega-rich-text-editor_4.entry.js +90 -37
- package/dist/esm/vega-section-title.entry.js +1 -1
- package/dist/esm/vega-segment-control.entry.js +9 -7
- package/dist/esm/vega-selection-chip_2.entry.js +22 -29
- package/dist/esm/vega-selection-tile_2.entry.js +19 -17
- package/dist/esm/vega-sidenav_3.entry.js +24 -30
- package/dist/esm/vega-signature-capture.entry.js +24 -28
- package/dist/esm/vega-skeleton.entry.js +1 -1
- package/dist/esm/vega-slot-container.entry.js +1 -1
- package/dist/esm/vega-stepper.entry.js +18 -16
- package/dist/esm/vega-tab-group_2.entry.js +11 -10
- package/dist/esm/vega-table_11.entry.js +28 -29
- package/dist/esm/vega-text.entry.js +4 -3
- package/dist/esm/vega-textarea.entry.js +18 -16
- package/dist/esm/vega-time-picker_2.entry.js +26 -32
- package/dist/esm/vega-toggle-switch.entry.js +15 -12
- package/dist/esm/vega-tooltip_2.entry.js +18 -29
- package/dist/esm/vega.js +27 -24
- package/dist/esm/{index-51a7da7f.js → wait-for-component-did-render-b08ef07b.js} +3 -13
- package/dist/sri/vega-sri-manifest.json +415 -403
- package/dist/types/components/vega-app-footer/types.d.ts +18 -0
- package/dist/types/components/vega-app-header-button/types.d.ts +31 -0
- package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +2 -0
- package/dist/types/components/vega-banner/types.d.ts +9 -0
- package/dist/types/components/vega-box/interface.d.ts +46 -0
- package/dist/types/components/vega-breadcrumb/types.d.ts +28 -0
- package/dist/types/components/vega-button/types.d.ts +12 -0
- package/dist/types/components/vega-button-circle/types.d.ts +9 -0
- package/dist/types/components/vega-button-group/types.d.ts +48 -0
- package/dist/types/components/vega-button-link/types.d.ts +3 -0
- package/dist/types/components/vega-calendar/types.d.ts +189 -0
- package/dist/types/components/vega-calendar/vega-calendar-event-preview/types.d.ts +6 -0
- package/dist/types/components/vega-chart/vega-bar-chart/types.d.ts +3 -0
- package/dist/types/components/vega-chip/types.d.ts +12 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.d.ts +2 -10
- package/dist/types/components/vega-combo-box/types.d.ts +6 -0
- package/dist/types/components/vega-date-picker/types.d.ts +39 -0
- package/dist/types/components/vega-dialog/types.d.ts +5 -0
- package/dist/types/components/vega-divider/interface.d.ts +18 -0
- package/dist/types/components/vega-dropdown/types.d.ts +30 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/types.d.ts +9 -1
- package/dist/types/components/vega-field-error/types.d.ts +12 -0
- package/dist/types/components/vega-field-label/types.d.ts +16 -0
- package/dist/types/components/vega-file-uploader/types.d.ts +12 -0
- package/dist/types/components/vega-font/types.d.ts +3 -0
- package/dist/types/components/vega-form/types.d.ts +45 -0
- package/dist/types/components/vega-image-uploader/types.d.ts +33 -1
- package/dist/types/components/vega-input/types.d.ts +31 -0
- package/dist/types/components/vega-input-phone-number/types.d.ts +15 -0
- package/dist/types/components/vega-input-range/types.d.ts +9 -0
- package/dist/types/components/vega-input-select/types.d.ts +45 -0
- package/dist/types/components/vega-item-toggle/types.d.ts +21 -0
- package/dist/types/components/vega-loading-indicator/types.d.ts +3 -0
- package/dist/types/components/vega-modal/types.d.ts +9 -0
- package/dist/types/components/vega-nav/interface.d.ts +108 -0
- package/dist/types/components/vega-page-notification/types.d.ts +15 -0
- package/dist/types/components/vega-pagination/types.d.ts +11 -0
- package/dist/types/components/vega-progress-tracker/slimmers/controllers/dto/internal-progress-tracker-step.d.ts +16 -4
- package/dist/types/components/vega-progress-tracker/type.d.ts +8 -0
- package/dist/types/components/vega-progress-tracker/vega-progress-tracker-step/vega-progress-tracker-step.d.ts +6 -0
- package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +473 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner-processor.interface.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner.d.ts +35 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/index.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-after-opening-tag-processor.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-before-closing-tag-processor.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-between-tags-processor.d.ts +59 -0
- package/dist/types/components/vega-rich-text-editor/test/html-cleaner/html-content-cleaner.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-after-opening-tag-processor.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-before-closing-tag-processor.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-between-tags-processor.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-image-editor/types.d.ts +24 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/types.d.ts +24 -0
- package/dist/types/components/vega-segment-control/types.d.ts +18 -0
- package/dist/types/components/vega-selection-chip/interface.d.ts +12 -0
- package/dist/types/components/vega-selection-chip/vega-selection-chip-group/interface.d.ts +4 -0
- package/dist/types/components/vega-selection-tile/interface.d.ts +9 -0
- package/dist/types/components/vega-sidenav/types.d.ts +51 -0
- package/dist/types/components/vega-signature-capture/types.d.ts +29 -2
- package/dist/types/components/vega-skeleton/interface.d.ts +6 -0
- package/dist/types/components/vega-tab-group/types.d.ts +36 -0
- package/dist/types/components/vega-table/interface.d.ts +237 -20
- package/dist/types/components/vega-table/vega-table-expand-row/types.d.ts +6 -0
- package/dist/types/components/vega-table/vega-table-foot/types.d.ts +9 -0
- package/dist/types/components/vega-table/vega-table-foot-row/types.d.ts +9 -0
- package/dist/types/components/vega-table/vega-table-head/types.d.ts +9 -0
- package/dist/types/components/vega-table/vega-table-head-row/types.d.ts +12 -0
- package/dist/types/components/vega-table/vega-table-row/types.d.ts +18 -0
- package/dist/types/components/vega-text/types.d.ts +6 -0
- package/dist/types/components/vega-time-picker/types.d.ts +33 -0
- package/dist/types/components/vega-virtual-scroll/types.d.ts +30 -1
- package/dist/types/components.d.ts +13 -3
- package/dist/types/helpers/code-format/code-formatter.d.ts +14 -0
- package/dist/types/helpers/common/index.d.ts +2 -15
- package/dist/types/helpers/common/wait-for-component-did-render.d.ts +8 -0
- package/dist/types/helpers/common/wait-for-vega-handler.d.ts +6 -15
- package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
- package/dist/types/helpers/public-api.d.ts +0 -2
- package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +44 -0
- package/dist/types/helpers/slimmers/mutation-observer/test/aria-attributes-value-mapper.test.d.ts +1 -0
- package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +57 -48
- package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +5 -0
- package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +41 -1
- package/dist/types/helpers/slimmers/position-calculation/screen-scroll-position-update.d.ts +39 -0
- package/dist/types/helpers/ui/element-appender.d.ts +0 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/polyfill/prism/index.d.ts +3 -0
- package/dist/types/polyfill/prism/languages/css.d.ts +6 -0
- package/dist/types/polyfill/prism/languages/javascript.d.ts +7 -0
- package/dist/types/polyfill/prism/languages/jsx.d.ts +7 -0
- package/dist/types/polyfill/prism/languages/language-registry.d.ts +8 -0
- package/dist/types/polyfill/prism/languages/markup.d.ts +6 -0
- package/dist/types/polyfill/prism/languages/tsx.d.ts +7 -0
- package/dist/types/polyfill/prism/languages/typescript.d.ts +2 -0
- package/dist/types/polyfill/prism/test/css.test.d.ts +1 -0
- package/dist/types/polyfill/prism/test/javascript.test.d.ts +1 -0
- package/dist/types/polyfill/prism/test/jsx.test.d.ts +1 -0
- package/dist/types/polyfill/prism/test/language-registry.test.d.ts +1 -0
- package/dist/types/polyfill/prism/test/markup.test.d.ts +1 -0
- package/dist/types/polyfill/prism/test/test-utils.d.ts +10 -0
- package/dist/types/polyfill/prism/test/tokenizer.test.d.ts +1 -0
- package/dist/types/polyfill/prism/test/tsx.test.d.ts +1 -0
- package/dist/types/polyfill/prism/test/typescript.test.d.ts +1 -0
- package/dist/types/polyfill/prism/tokenizer.d.ts +17 -0
- package/dist/types/polyfill/prism/types.d.ts +25 -0
- package/dist/types/polyfill/tinycolor/tinycolor-polyfill.d.ts +149 -0
- package/dist/types/polyfill/tinycolor/tinycolor-polyfill.test.d.ts +1 -0
- package/dist/types/types/components.type.d.ts +4 -1
- package/dist/types/types/design-token.type.d.ts +36 -0
- package/dist/types/types/flag.type.d.ts +3 -0
- package/dist/types/types/general.d.ts +12 -0
- package/dist/types/types/ui.type.d.ts +372 -0
- package/dist/types/types/vega-chart.d.ts +281 -2
- package/dist/types/utils/e2e-utils.d.ts +2 -0
- package/dist/types/utils/sanitize/constants/tag-sets.d.ts +6 -0
- package/dist/types/utils/sanitize/core/html-sanitizer.d.ts +22 -0
- package/dist/types/utils/sanitize/core/sanitize-strategy.d.ts +27 -0
- package/dist/types/utils/sanitize/core/types.d.ts +13 -0
- package/dist/types/utils/sanitize/index.d.ts +12 -0
- package/dist/types/utils/sanitize/strategies/empty-sanitize-strategy.d.ts +14 -0
- package/dist/types/utils/sanitize/strategies/index.d.ts +3 -0
- package/dist/types/utils/sanitize/strategies/label-sanitize-strategy.d.ts +10 -0
- package/dist/types/utils/sanitize/strategies/style-sanitize-strategy.d.ts +24 -0
- package/dist/types/utils/sanitize/test/empty-strategy.test.d.ts +1 -0
- package/dist/types/utils/sanitize/test/html-sanitizer.test.d.ts +1 -0
- package/dist/types/utils/sanitize/test/label-strategy.test.d.ts +1 -0
- package/dist/types/utils/sanitize/test/sanitize-strategy.test.d.ts +1 -0
- package/dist/types/utils/sanitize/test/sanitize.test.d.ts +1 -0
- package/dist/types/utils/sanitize/test/serialize-fragment.test.d.ts +1 -0
- package/dist/types/utils/sanitize/test/style-strategy.test.d.ts +1 -0
- package/dist/types/utils/sanitize/utils/serialize-fragment.d.ts +12 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-01d58eb8.entry.js +1 -0
- package/dist/vega/p-021d4ae4.js +1 -0
- package/dist/vega/p-02a7d60c.entry.js +1 -0
- package/dist/vega/{p-66fa700b.js → p-02c9796a.js} +1 -1
- package/dist/vega/p-033c31d8.entry.js +1 -0
- package/dist/vega/{p-e77a83e4.js → p-07cb0243.js} +1 -1
- package/dist/vega/p-087ea379.entry.js +1 -0
- package/dist/vega/{p-e5af5a4d.entry.js → p-0b4880bd.entry.js} +1 -1
- package/dist/vega/{p-920719ad.js → p-0e679d8c.js} +1 -1
- package/dist/vega/{p-c9b6b5a9.js → p-10734a00.js} +1 -1
- package/dist/vega/p-154f9cf7.entry.js +1 -0
- package/dist/vega/p-179aad4f.entry.js +1 -0
- package/dist/vega/p-1a3236e7.entry.js +1 -0
- package/dist/vega/p-1f3cd061.entry.js +1 -0
- package/dist/vega/p-1f5e35dc.entry.js +1 -0
- package/dist/vega/p-242fbcad.entry.js +1 -0
- package/dist/vega/p-249df6d2.entry.js +1 -0
- package/dist/vega/p-28ad1864.entry.js +1 -0
- package/dist/vega/p-2a10e2e5.js +1 -0
- package/dist/vega/p-2b49686d.entry.js +1 -0
- package/dist/vega/p-2ba78982.entry.js +1 -0
- package/dist/vega/p-2bb5a232.js +1 -0
- package/dist/vega/{p-e9b86dac.entry.js → p-2c1a85dd.entry.js} +1 -1
- package/dist/vega/p-2cc9d126.entry.js +1 -0
- package/dist/vega/p-2d69632d.js +1 -0
- package/dist/vega/p-2e91295d.entry.js +1 -0
- package/dist/vega/p-31ac7386.js +1 -0
- package/dist/vega/p-32033e7a.js +1 -0
- package/dist/vega/p-32183637.entry.js +1 -0
- package/dist/vega/p-3244c605.entry.js +1 -0
- package/dist/vega/p-32faa460.entry.js +1 -0
- package/dist/vega/p-33f9ad94.entry.js +1 -0
- package/dist/vega/{p-4897bedd.entry.js → p-358b4a06.entry.js} +1 -1
- package/dist/vega/p-3afc025e.entry.js +1 -0
- package/dist/vega/p-3d8122ab.entry.js +1 -0
- package/dist/vega/{p-ea04a387.entry.js → p-3f3c771a.entry.js} +1 -1
- package/dist/vega/{p-1f83cebf.js → p-415ffa35.js} +1 -1
- package/dist/vega/{p-d849e0f5.js → p-4415ad28.js} +1 -1
- package/dist/vega/{p-ce1a2982.js → p-464559e3.js} +1 -1
- package/dist/vega/p-49845a91.js +1 -0
- package/dist/vega/{p-e16b3adf.js → p-4bffdb28.js} +1 -1
- package/dist/vega/p-4e017458.entry.js +1 -0
- package/dist/vega/p-4e4a0228.entry.js +1 -0
- package/dist/vega/{p-a2aeb646.js → p-4ea30592.js} +1 -1
- package/dist/vega/{p-0b38a01f.entry.js → p-51fcb07f.entry.js} +1 -1
- package/dist/vega/p-57927b10.entry.js +1 -0
- package/dist/vega/p-5831d6d3.entry.js +1 -0
- package/dist/vega/p-593e0f80.js +1 -0
- package/dist/vega/p-5a25014f.js +1 -0
- package/dist/vega/p-5eb7f382.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-644f701a.js +1 -0
- package/dist/vega/p-6a62e476.entry.js +1 -0
- package/dist/vega/{p-75f981ce.js → p-6b6f0fb4.js} +1 -1
- package/dist/vega/p-6d219c44.entry.js +1 -0
- package/dist/vega/p-6d60b66a.entry.js +1 -0
- package/dist/vega/{p-ad2055f4.entry.js → p-6dcdb580.entry.js} +1 -1
- package/dist/vega/{p-c8f1b9d5.js → p-7181861a.js} +1 -1
- package/dist/vega/p-76181a70.entry.js +1 -0
- package/dist/vega/p-781fd6e0.js +1 -0
- package/dist/vega/p-7958614a.entry.js +1 -0
- package/dist/vega/{p-5b71c85e.js → p-7c39ce96.js} +1 -1
- package/dist/vega/p-7d7aaff9.entry.js +1 -0
- package/dist/vega/{p-4dd6554e.entry.js → p-7f46cc1e.entry.js} +1 -1
- package/dist/vega/{p-badad9ed.js → p-81b044b9.js} +1 -1
- package/dist/vega/p-8950987b.entry.js +1 -0
- package/dist/vega/p-89f2e16d.entry.js +1 -0
- package/dist/vega/p-8ac2d165.js +1 -0
- package/dist/vega/p-8b153acd.entry.js +1 -0
- package/dist/vega/p-8b5d3a52.js +1 -0
- package/dist/vega/{p-fff13ed1.entry.js → p-8b891f36.entry.js} +1 -1
- package/dist/vega/p-8dbdd609.entry.js +1 -0
- package/dist/vega/{p-dd11f735.js → p-9339c6c4.js} +1 -1
- package/dist/vega/p-94a77fbe.entry.js +1 -0
- package/dist/vega/p-95528b47.js +1 -0
- package/dist/vega/p-9a137bab.entry.js +1 -0
- package/dist/vega/{p-6f8be8ea.js → p-a0b66c25.js} +1 -1
- package/dist/vega/{p-0bb3be0b.entry.js → p-a13a73fa.entry.js} +1 -1
- package/dist/vega/p-a560d8c5.entry.js +1 -0
- package/dist/vega/{p-d0e31633.js → p-a786259a.js} +1 -1
- package/dist/vega/p-a7a8a4eb.entry.js +1 -0
- package/dist/vega/p-a8792e3d.js +1 -0
- package/dist/vega/{p-60851f9d.js → p-aa1174dc.js} +1 -1
- package/dist/vega/p-ab834f06.js +1 -0
- package/dist/vega/p-b136ebba.entry.js +1 -0
- package/dist/vega/p-b201f379.js +1 -0
- package/dist/vega/p-b256b7a4.js +1 -0
- package/dist/vega/p-b366deff.entry.js +1 -0
- package/dist/vega/p-b597393b.entry.js +1 -0
- package/dist/vega/p-b7f3221f.js +1 -0
- package/dist/vega/p-bb5e0192.entry.js +1 -0
- package/dist/vega/p-be1a210b.js +1 -0
- package/dist/vega/p-bebfbe95.entry.js +1 -0
- package/dist/vega/p-bf6fc19f.entry.js +1 -0
- package/dist/vega/p-c1d13eec.entry.js +1 -0
- package/dist/vega/p-c29068fb.entry.js +1 -0
- package/dist/vega/p-c3d2f316.js +1 -0
- package/dist/vega/{p-671afda4.entry.js → p-c72e08c6.entry.js} +1 -1
- package/dist/vega/p-c801c85d.js +1 -0
- package/dist/vega/p-c8feb644.entry.js +1 -0
- package/dist/vega/p-ca5898dc.entry.js +1 -0
- package/dist/vega/p-d555f677.entry.js +1 -0
- package/dist/vega/p-d64fab3d.js +1 -0
- package/dist/vega/p-d6dbbe61.entry.js +1 -0
- package/dist/vega/p-d7a78c5e.entry.js +1 -0
- package/dist/vega/p-d8fadcdc.entry.js +1 -0
- package/dist/vega/p-dad3ba5f.js +1 -0
- package/dist/vega/p-dd3a94f4.entry.js +1 -0
- package/dist/vega/p-e1431c14.entry.js +1 -0
- package/dist/vega/p-e1fbfd20.js +1 -0
- package/dist/vega/p-e2af0e24.entry.js +1 -0
- package/dist/vega/{p-521d1d07.js → p-e52890db.js} +1 -1
- package/dist/vega/{p-1298b126.js → p-e632475e.js} +1 -1
- package/dist/vega/p-e6adf829.js +1 -0
- package/dist/vega/{p-77edf50c.js → p-e827d56d.js} +1 -1
- package/dist/vega/p-e8775a56.entry.js +1 -0
- package/dist/vega/p-e89e3ede.entry.js +1 -0
- package/dist/vega/p-eda988d5.entry.js +1 -0
- package/dist/vega/p-f05b8f76.entry.js +1 -0
- package/dist/vega/p-f0e828d8.js +1 -0
- package/dist/vega/p-f14a5eae.entry.js +1 -0
- package/dist/vega/p-f2b0b58a.js +1 -0
- package/dist/vega/p-f3d0f2dc.js +1 -0
- package/dist/vega/{p-5910be31.entry.js → p-f5bafc45.entry.js} +1 -1
- package/dist/vega/p-fc1fa345.js +1 -0
- package/dist/vega/p-fd7ddd64.entry.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -5
- package/dist/cjs/_commonjsHelpers-537d719a.js +0 -20
- package/dist/cjs/language-extension-38e4905e.js +0 -210
- package/dist/cjs/sanitize-fb222510.js +0 -131
- package/dist/cjs/wait-for-vega-handler-5469ff80.js +0 -63
- package/dist/collection/utils/sanitize.js +0 -126
- package/dist/collection/utils/test/sanitize.test.js +0 -65
- package/dist/esm/_commonjsHelpers-9943807e.js +0 -17
- package/dist/esm/dom-node-subject-observer-factory-064ee2b2.js +0 -250
- package/dist/esm/language-extension-c4ff21dd.js +0 -207
- package/dist/esm/sanitize-fd0cb40d.js +0 -129
- package/dist/esm/wait-for-vega-handler-c2c07ac3.js +0 -61
- package/dist/types/utils/sanitize.d.ts +0 -71
- package/dist/vega/p-011b94b1.entry.js +0 -1
- package/dist/vega/p-06aaced4.js +0 -1
- package/dist/vega/p-07d3df01.entry.js +0 -1
- package/dist/vega/p-08f18b22.entry.js +0 -1
- package/dist/vega/p-10ac8b57.js +0 -1
- package/dist/vega/p-112455b1.js +0 -1
- package/dist/vega/p-17c55205.entry.js +0 -1
- package/dist/vega/p-1e0d8228.entry.js +0 -1
- package/dist/vega/p-20ad42be.js +0 -1
- package/dist/vega/p-22b2841f.entry.js +0 -1
- package/dist/vega/p-22c5d83b.js +0 -1
- package/dist/vega/p-34246870.entry.js +0 -1
- package/dist/vega/p-35bf5789.entry.js +0 -1
- package/dist/vega/p-3bbc0c7d.entry.js +0 -1
- package/dist/vega/p-3bf66be2.js +0 -1
- package/dist/vega/p-3c5a28e4.entry.js +0 -1
- package/dist/vega/p-3cfd8616.entry.js +0 -1
- package/dist/vega/p-3e5f362f.js +0 -1
- package/dist/vega/p-43f585f7.entry.js +0 -1
- package/dist/vega/p-476a173a.js +0 -1
- package/dist/vega/p-4a537391.entry.js +0 -1
- package/dist/vega/p-509eb52e.entry.js +0 -1
- package/dist/vega/p-50ab977c.entry.js +0 -1
- package/dist/vega/p-53a694d1.entry.js +0 -1
- package/dist/vega/p-56e97df8.js +0 -1
- package/dist/vega/p-5a27084e.entry.js +0 -1
- package/dist/vega/p-5d676a94.js +0 -1
- package/dist/vega/p-5df9a856.entry.js +0 -1
- package/dist/vega/p-5ea2e43c.entry.js +0 -1
- package/dist/vega/p-60274fb1.js +0 -1
- package/dist/vega/p-60da99c6.entry.js +0 -1
- package/dist/vega/p-67f18b9e.entry.js +0 -1
- package/dist/vega/p-67fcf6f2.entry.js +0 -9
- package/dist/vega/p-6a2205a1.entry.js +0 -1
- package/dist/vega/p-6a4277df.entry.js +0 -1
- package/dist/vega/p-6e136980.js +0 -1
- package/dist/vega/p-6f239144.entry.js +0 -1
- package/dist/vega/p-7045e84c.entry.js +0 -1
- package/dist/vega/p-7288f8c4.js +0 -1
- package/dist/vega/p-747d6afc.entry.js +0 -1
- package/dist/vega/p-75651f32.entry.js +0 -1
- package/dist/vega/p-7ae55fd5.js +0 -1
- package/dist/vega/p-81134e9e.entry.js +0 -1
- package/dist/vega/p-87238c4c.entry.js +0 -1
- package/dist/vega/p-8a887843.entry.js +0 -1
- package/dist/vega/p-8c0eb12f.entry.js +0 -1
- package/dist/vega/p-8c9ea6f4.js +0 -1
- package/dist/vega/p-8d0ca805.js +0 -1
- package/dist/vega/p-8e42a14c.entry.js +0 -1
- package/dist/vega/p-91ec2e30.js +0 -1
- package/dist/vega/p-94394df7.entry.js +0 -1
- package/dist/vega/p-991008a8.entry.js +0 -1
- package/dist/vega/p-9fd503e9.entry.js +0 -1
- package/dist/vega/p-a20854d6.entry.js +0 -1
- package/dist/vega/p-a4670e23.js +0 -1
- package/dist/vega/p-a530797f.entry.js +0 -1
- package/dist/vega/p-a5bd3c15.entry.js +0 -1
- package/dist/vega/p-a65941d0.entry.js +0 -1
- package/dist/vega/p-a85ad369.entry.js +0 -1
- package/dist/vega/p-a86010f7.entry.js +0 -1
- package/dist/vega/p-aa10eeb3.entry.js +0 -1
- package/dist/vega/p-ab2f35af.entry.js +0 -1
- package/dist/vega/p-ac4563d7.js +0 -1
- package/dist/vega/p-aedf7146.js +0 -1
- package/dist/vega/p-b4ea3fad.js +0 -1
- package/dist/vega/p-bb4a558d.entry.js +0 -1
- package/dist/vega/p-bb8339ed.entry.js +0 -1
- package/dist/vega/p-be930e85.entry.js +0 -1
- package/dist/vega/p-bf2bd6d0.entry.js +0 -1
- package/dist/vega/p-c379a5a5.entry.js +0 -1
- package/dist/vega/p-c616c592.js +0 -1
- package/dist/vega/p-ca3472c1.entry.js +0 -1
- package/dist/vega/p-cc43bffb.js +0 -1
- package/dist/vega/p-d6ed3d76.entry.js +0 -1
- package/dist/vega/p-db8cdba6.js +0 -1
- package/dist/vega/p-e1610196.entry.js +0 -1
- package/dist/vega/p-e87b0b4a.entry.js +0 -1
- package/dist/vega/p-e9c4fd24.entry.js +0 -1
- package/dist/vega/p-eb60cfe1.entry.js +0 -1
- package/dist/vega/p-ef001c70.entry.js +0 -1
- package/dist/vega/p-ef9cbad1.js +0 -1
- package/dist/vega/p-f383c856.js +0 -1
- package/dist/vega/p-f3c3ff26.entry.js +0 -1
- package/dist/vega/p-f52a0155.entry.js +0 -1
- package/dist/vega/p-f69f84a7.js +0 -1
- package/dist/vega/p-f8f7cf48.entry.js +0 -1
- package/dist/vega/p-fba14ad2.entry.js +0 -1
- package/dist/vega/p-fbd64f9c.entry.js +0 -1
- package/dist/vega/p-fdc270b8.entry.js +0 -1
- package/dist/vega/p-fe12eff6.js +0 -1
- package/dist/vega/p-ffbff9b5.entry.js +0 -1
- /package/dist/{types/utils/test/sanitize.test.d.ts → collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner-processor.interface.js} +0 -0
- /package/dist/vega/{p-d9671d27.js → p-6c170474.js} +0 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { HTMLContentCleaner } from '../../slimmers/controllers/html-cleaner';
|
|
2
|
+
describe('HTMLContentCleaner', () => {
|
|
3
|
+
let cleaner;
|
|
4
|
+
beforeEach(() => {
|
|
5
|
+
cleaner = new HTMLContentCleaner();
|
|
6
|
+
});
|
|
7
|
+
it('should handle empty string', () => {
|
|
8
|
+
expect(cleaner.clean('')).toBe('');
|
|
9
|
+
});
|
|
10
|
+
it('should handle whitespace-only string', () => {
|
|
11
|
+
expect(cleaner.clean(' ')).toBe(' ');
|
|
12
|
+
});
|
|
13
|
+
it('should remove \\n\\t after opening tag and before closing tag', () => {
|
|
14
|
+
const input = '<div><p>\n\t <span>test</span>\n\t </p></div>';
|
|
15
|
+
expect(cleaner.clean(input)).toBe('<div><p><span>test</span></p></div>');
|
|
16
|
+
});
|
|
17
|
+
it('should remove all \\n and \\t characters between tags', () => {
|
|
18
|
+
const input = '<div><p>\n\ttest\n</p></div>';
|
|
19
|
+
expect(cleaner.clean(input)).toBe('<div><p>test</p></div>');
|
|
20
|
+
});
|
|
21
|
+
it('should preserve space between matching tags', () => {
|
|
22
|
+
const input = '<div><span> </span></div>';
|
|
23
|
+
expect(cleaner.clean(input)).toBe('<div><span> </span></div>');
|
|
24
|
+
});
|
|
25
|
+
it('should preserve space with text between matching tags', () => {
|
|
26
|
+
const input = '<div><span> test </span></div>';
|
|
27
|
+
expect(cleaner.clean(input)).toBe('<div><span> test </span></div>');
|
|
28
|
+
});
|
|
29
|
+
it('should preserve multiple spaces between matching tags', () => {
|
|
30
|
+
const input = '<div><span> </span></div>';
|
|
31
|
+
expect(cleaner.clean(input)).toBe('<div><span> </span></div>');
|
|
32
|
+
});
|
|
33
|
+
it('should remove whitespace between opening tags', () => {
|
|
34
|
+
const input = '<div>\n\t<p></p></div>';
|
|
35
|
+
expect(cleaner.clean(input)).toBe('<div><p></p></div>');
|
|
36
|
+
});
|
|
37
|
+
it('should remove \\n\\t after opening tag but preserve regular spaces', () => {
|
|
38
|
+
const input = '<p>\n\t Hello</p>';
|
|
39
|
+
expect(cleaner.clean(input)).toBe('<p> Hello</p>');
|
|
40
|
+
});
|
|
41
|
+
it('should remove whitespace between multiple closing tags', () => {
|
|
42
|
+
const input = '<table><tbody><tr></tr> </tbody> </table>';
|
|
43
|
+
expect(cleaner.clean(input)).toBe('<table><tbody><tr></tr></tbody></table>');
|
|
44
|
+
});
|
|
45
|
+
it('should remove whitespace between multiple opening tags', () => {
|
|
46
|
+
const input = '<div> <span></span></div>';
|
|
47
|
+
expect(cleaner.clean(input)).toBe('<div><span></span></div>');
|
|
48
|
+
});
|
|
49
|
+
it('should handle complex nested structure', () => {
|
|
50
|
+
const input = '<div>\n\t<p>\n\t\t<span>Hello</span>\n\t</p>\n</div>';
|
|
51
|
+
expect(cleaner.clean(input)).toBe('<div><p><span>Hello</span></p></div>');
|
|
52
|
+
});
|
|
53
|
+
it('should preserve regular spaces within text content', () => {
|
|
54
|
+
const input = '<div><p>Hello World</p></div>';
|
|
55
|
+
expect(cleaner.clean(input)).toBe('<div><p>Hello World</p></div>');
|
|
56
|
+
});
|
|
57
|
+
it('should preserve multiple spaces in text content', () => {
|
|
58
|
+
const input = '<div><p>Hello World</p></div>';
|
|
59
|
+
expect(cleaner.clean(input)).toBe('<div><p>Hello World</p></div>');
|
|
60
|
+
});
|
|
61
|
+
it('should not remove \\n between words in text content', () => {
|
|
62
|
+
const input = '<div><p>Hello\nWorld</p></div>';
|
|
63
|
+
expect(cleaner.clean(input)).toBe('<div><p>Hello\nWorld</p></div>');
|
|
64
|
+
});
|
|
65
|
+
it('should not remove \\n between words with space in text content', () => {
|
|
66
|
+
const input = '<div><p>Hello\n World</p></div>';
|
|
67
|
+
expect(cleaner.clean(input)).toBe('<div><p>Hello\n World</p></div>');
|
|
68
|
+
});
|
|
69
|
+
it('should remove multiple consecutive \\n characters', () => {
|
|
70
|
+
const input = '<div><p>\n\n\n\nHello</p></div>';
|
|
71
|
+
expect(cleaner.clean(input)).toBe('<div><p>Hello</p></div>');
|
|
72
|
+
});
|
|
73
|
+
it('should remove multiple consecutive \\t characters', () => {
|
|
74
|
+
const input = '<div><p>\t\t\tHello</p></div>';
|
|
75
|
+
expect(cleaner.clean(input)).toBe('<div><p>Hello</p></div>');
|
|
76
|
+
});
|
|
77
|
+
it('should preserve empty matching tags', () => {
|
|
78
|
+
const input = '<div><span></span></div>';
|
|
79
|
+
expect(cleaner.clean(input)).toBe('<div><span></span></div>');
|
|
80
|
+
});
|
|
81
|
+
it('should handle mixed spaces, tabs, and newlines', () => {
|
|
82
|
+
const input = '<div> \n\t <p>Text</p> \n\t </div>';
|
|
83
|
+
expect(cleaner.clean(input)).toBe('<div><p>Text</p></div>');
|
|
84
|
+
});
|
|
85
|
+
it('should remove \\t\\n combination', () => {
|
|
86
|
+
const input = '<div><p>\t\nHello</p></div>';
|
|
87
|
+
expect(cleaner.clean(input)).toBe('<div><p>Hello</p></div>');
|
|
88
|
+
});
|
|
89
|
+
it('should remove complex \\n\\t\\n patterns', () => {
|
|
90
|
+
const input = '<div><p>\n\t\n\t\nHello</p></div>';
|
|
91
|
+
expect(cleaner.clean(input)).toBe('<div><p>Hello</p></div>');
|
|
92
|
+
});
|
|
93
|
+
it('should handle 4-level deep nesting', () => {
|
|
94
|
+
const input = '<div>\n\t<section>\n\t\t<article>\n\t\t\t<p>Text</p>\n\t\t</article>\n\t</section>\n</div>';
|
|
95
|
+
expect(cleaner.clean(input)).toBe('<div><section><article><p>Text</p></article></section></div>');
|
|
96
|
+
});
|
|
97
|
+
it('should handle 5-level deep nesting', () => {
|
|
98
|
+
const input = '<div>\n\t<section>\n\t\t<article>\n\t\t\t<main>\n\t\t\t\t<p>Text</p>\n\t\t\t</main>\n\t\t</article>\n\t</section>\n</div>';
|
|
99
|
+
expect(cleaner.clean(input)).toBe('<div><section><article><main><p>Text</p></main></article></section></div>');
|
|
100
|
+
});
|
|
101
|
+
it('should handle 6-level deep nesting', () => {
|
|
102
|
+
const input = '<div>\n\t<section>\n\t\t<article>\n\t\t\t<main>\n\t\t\t\t<aside>\n\t\t\t\t\t<p>Text</p>\n\t\t\t\t</aside>\n\t\t\t</main>\n\t\t</article>\n\t</section>\n</div>';
|
|
103
|
+
expect(cleaner.clean(input)).toBe('<div><section><article><main><aside><p>Text</p></aside></main></article></section></div>');
|
|
104
|
+
});
|
|
105
|
+
it('should remove whitespace after br and hr tags', () => {
|
|
106
|
+
const input1 = '<div><br>\n</div>';
|
|
107
|
+
expect(cleaner.clean(input1)).toBe('<div><br></div>');
|
|
108
|
+
const input2 = '<div><hr>\n\t</div>';
|
|
109
|
+
expect(cleaner.clean(input2)).toBe('<div><hr></div>');
|
|
110
|
+
const input3 = '<div><input type="text">\n</div>';
|
|
111
|
+
expect(cleaner.clean(input3)).toBe('<div><input type="text"></div>');
|
|
112
|
+
});
|
|
113
|
+
it('should remove newlines after br tags', () => {
|
|
114
|
+
const input = '<p>Line 1<br>\nLine 2</p>';
|
|
115
|
+
expect(cleaner.clean(input)).toBe('<p>Line 1<br>Line 2</p>');
|
|
116
|
+
});
|
|
117
|
+
it('should preserve spaces in code blocks between matching tags', () => {
|
|
118
|
+
const input = '<code> const x = 1; </code>';
|
|
119
|
+
expect(cleaner.clean(input)).toBe('<code> const x = 1; </code>');
|
|
120
|
+
});
|
|
121
|
+
it('should preserve plain text without tags', () => {
|
|
122
|
+
const input = 'Hello World';
|
|
123
|
+
expect(cleaner.clean(input)).toBe('Hello World');
|
|
124
|
+
});
|
|
125
|
+
it('should remove whitespace between different inline elements', () => {
|
|
126
|
+
const input = '<span>text</span>\n\t<strong>bold</strong>';
|
|
127
|
+
expect(cleaner.clean(input)).toBe('<span>text</span><strong>bold</strong>');
|
|
128
|
+
});
|
|
129
|
+
it('should inline a table by removing all whitespace between tags', () => {
|
|
130
|
+
const input = `<table style="width: 400px; border-collapse: collapse;"> <thead> <tr> ` +
|
|
131
|
+
`<th style="padding: 12px; text-align: left; font-weight: bold;">Header 1</th> ` +
|
|
132
|
+
`<th style="padding: 12px; text-align: left; font-weight: bold;">Header 2</th> ` +
|
|
133
|
+
`<th style="padding: 12px; text-align: left; font-weight: bold;">Header 3</th> ` +
|
|
134
|
+
`</tr> </thead> <tbody> <tr> <td style="padding: 12px;">Cell 1-1</td> ` +
|
|
135
|
+
`<td style="padding: 12px;">Cell 1-2</td> <td style="padding: 12px;">Cell 1-3</td> ` +
|
|
136
|
+
`</tr> <tr> <td style="padding: 12px;">Cell 2-1</td> <td style="padding: 12px;">Cell 2-2</td> ` +
|
|
137
|
+
`<td style="padding: 12px;">Cell 2-3</td> </tr> <tr> <td style="padding: 12px;">Cell 3-1</td> ` +
|
|
138
|
+
`<td style="padding: 12px;">Cell 3-2</td> <td style="padding: 12px;">Cell 3-3</td> ` +
|
|
139
|
+
`</tr> </tbody> </table>`;
|
|
140
|
+
const expected = `<table style="width: 400px; border-collapse: collapse;"><thead><tr>` +
|
|
141
|
+
`<th style="padding: 12px; text-align: left; font-weight: bold;">Header 1</th>` +
|
|
142
|
+
`<th style="padding: 12px; text-align: left; font-weight: bold;">Header 2</th>` +
|
|
143
|
+
`<th style="padding: 12px; text-align: left; font-weight: bold;">Header 3</th>` +
|
|
144
|
+
`</tr></thead><tbody><tr>` +
|
|
145
|
+
`<td style="padding: 12px;">Cell 1-1</td>` +
|
|
146
|
+
`<td style="padding: 12px;">Cell 1-2</td>` +
|
|
147
|
+
`<td style="padding: 12px;">Cell 1-3</td>` +
|
|
148
|
+
`</tr><tr>` +
|
|
149
|
+
`<td style="padding: 12px;">Cell 2-1</td>` +
|
|
150
|
+
`<td style="padding: 12px;">Cell 2-2</td>` +
|
|
151
|
+
`<td style="padding: 12px;">Cell 2-3</td>` +
|
|
152
|
+
`</tr><tr>` +
|
|
153
|
+
`<td style="padding: 12px;">Cell 3-1</td>` +
|
|
154
|
+
`<td style="padding: 12px;">Cell 3-2</td>` +
|
|
155
|
+
`<td style="padding: 12px;">Cell 3-3</td>` +
|
|
156
|
+
`</tr></tbody></table>`;
|
|
157
|
+
expect(cleaner.clean(input)).toBe(expected);
|
|
158
|
+
});
|
|
159
|
+
it('should remove newline after img tag', () => {
|
|
160
|
+
const input = '<div><img id="image-id" class="img-class" style="vertical-align: bottom; width: 25%; padding: 20px" alt="test alt" src="data:image/svg+xml;base64,xxx=" data-size="sm">\n</div>';
|
|
161
|
+
const expected = '<div><img id="image-id" class="img-class" style="vertical-align: bottom; width: 25%; padding: 20px" alt="test alt" src="data:image/svg+xml;base64,xxx=" data-size="sm"></div>';
|
|
162
|
+
expect(cleaner.clean(input)).toBe(expected);
|
|
163
|
+
});
|
|
164
|
+
it('should preserve spaces in attribute values', () => {
|
|
165
|
+
const input = '<p class="my custom class">Text</p>';
|
|
166
|
+
expect(cleaner.clean(input)).toBe('<p class="my custom class">Text</p>');
|
|
167
|
+
});
|
|
168
|
+
describe('Edge cases', () => {
|
|
169
|
+
it('should handle self-closing tags', () => {
|
|
170
|
+
expect(cleaner.clean('<br/>\n<hr/>')).toBe('<br/><hr/>');
|
|
171
|
+
expect(cleaner.clean('<img src="test.jpg"/>\n<input/>')).toBe('<img src="test.jpg"/><input/>');
|
|
172
|
+
});
|
|
173
|
+
it('should handle nested matching tags', () => {
|
|
174
|
+
expect(cleaner.clean('<div> <div> </div> </div>')).toBe('<div><div> </div></div>');
|
|
175
|
+
});
|
|
176
|
+
it('should handle tags with special characters in attributes', () => {
|
|
177
|
+
expect(cleaner.clean('<a href="http://example.com?a=1&b=2">\nLink</a>')).toBe('<a href="http://example.com?a=1&b=2">Link</a>');
|
|
178
|
+
});
|
|
179
|
+
it('should handle HTML entities', () => {
|
|
180
|
+
expect(cleaner.clean('<div><p>\n <></p></div>')).toBe('<div><p> <></p></div>');
|
|
181
|
+
});
|
|
182
|
+
it('should handle comments', () => {
|
|
183
|
+
expect(cleaner.clean('<div>\n<!-- comment -->\n<p>Text</p></div>')).toBe('<div><!-- comment --><p>Text</p></div>');
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RemoveWhitespaceAfterOpeningTagProcessor } from '../../slimmers/controllers/html-cleaner';
|
|
2
|
+
describe('RemoveWhitespaceAfterOpeningTagProcessor', () => {
|
|
3
|
+
let processor;
|
|
4
|
+
beforeEach(() => {
|
|
5
|
+
processor = new RemoveWhitespaceAfterOpeningTagProcessor();
|
|
6
|
+
});
|
|
7
|
+
it('should remove \\n and \\t after opening tag', () => {
|
|
8
|
+
expect(processor.process('<div><p>\n\tHello</p></div>')).toBe('<div><p>Hello</p></div>');
|
|
9
|
+
expect(processor.process('<div><div>\n\n\tWorld</div></div>')).toBe('<div><div>World</div></div>');
|
|
10
|
+
expect(processor.process('<div><span>\tTest</span></div>')).toBe('<div><span>Test</span></div>');
|
|
11
|
+
});
|
|
12
|
+
it('should preserve regular spaces', () => {
|
|
13
|
+
expect(processor.process('<div><p> Hello</p></div>')).toBe('<div><p> Hello</p></div>');
|
|
14
|
+
expect(processor.process('<div><p> World</p></div>')).toBe('<div><p> World</p></div>');
|
|
15
|
+
});
|
|
16
|
+
it('should not affect text without opening tags', () => {
|
|
17
|
+
expect(processor.process('<div>Hello World</div>')).toBe('<div>Hello World</div>');
|
|
18
|
+
});
|
|
19
|
+
it('should handle multiple occurrences', () => {
|
|
20
|
+
expect(processor.process('<div><p>\nHello</p><div>\tWorld</div></div>')).toBe('<div><p>Hello</p><div>World</div></div>');
|
|
21
|
+
});
|
|
22
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RemoveWhitespaceBeforeClosingTagProcessor } from '../../slimmers/controllers/html-cleaner';
|
|
2
|
+
describe('RemoveWhitespaceBeforeClosingTagProcessor', () => {
|
|
3
|
+
let processor;
|
|
4
|
+
beforeEach(() => {
|
|
5
|
+
processor = new RemoveWhitespaceBeforeClosingTagProcessor();
|
|
6
|
+
});
|
|
7
|
+
it('should remove \\n and \\t before closing tag', () => {
|
|
8
|
+
expect(processor.process('<div><p>World\n\t</p></div>')).toBe('<div><p>World</p></div>');
|
|
9
|
+
expect(processor.process('<div><div>Hello\n</div></div>')).toBe('<div><div>Hello</div></div>');
|
|
10
|
+
expect(processor.process('<div><span>Test\t</span></div>')).toBe('<div><span>Test</span></div>');
|
|
11
|
+
});
|
|
12
|
+
it('should preserve regular spaces', () => {
|
|
13
|
+
expect(processor.process('<div><p>Hello </p></div>')).toBe('<div><p>Hello </p></div>');
|
|
14
|
+
expect(processor.process('<div><p>World </p></div>')).toBe('<div><p>World </p></div>');
|
|
15
|
+
});
|
|
16
|
+
it('should not affect text without closing tags', () => {
|
|
17
|
+
expect(processor.process('<div>Hello World</div>')).toBe('<div>Hello World</div>');
|
|
18
|
+
});
|
|
19
|
+
it('should handle multiple occurrences', () => {
|
|
20
|
+
expect(processor.process('<div><p>Hello\n</p><div>World\t</div></div>')).toBe('<div><p>Hello</p><div>World</div></div>');
|
|
21
|
+
});
|
|
22
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RemoveWhitespaceBetweenTagsProcessor } from '../../slimmers/controllers/html-cleaner';
|
|
2
|
+
describe('RemoveWhitespaceBetweenTagsProcessor', () => {
|
|
3
|
+
let processor;
|
|
4
|
+
beforeEach(() => {
|
|
5
|
+
processor = new RemoveWhitespaceBetweenTagsProcessor();
|
|
6
|
+
});
|
|
7
|
+
it('should remove whitespace between different tags', () => {
|
|
8
|
+
expect(processor.process('<div><p></p>\n\t<div></div></div>')).toBe('<div><p></p><div></div></div>');
|
|
9
|
+
expect(processor.process('<div><div>\n\t<span></span></div></div>')).toBe('<div><div><span></span></div></div>');
|
|
10
|
+
expect(processor.process('<div><div></div> <p></p></div>')).toBe('<div><div></div><p></p></div>');
|
|
11
|
+
});
|
|
12
|
+
it('should preserve whitespace between matching tags', () => {
|
|
13
|
+
expect(processor.process('<div><span> </span></div>')).toBe('<div><span> </span></div>');
|
|
14
|
+
expect(processor.process('<div><span> </span></div>')).toBe('<div><span> </span></div>');
|
|
15
|
+
expect(processor.process('<div><span>\n\t</span></div>')).toBe('<div><span>\n\t</span></div>');
|
|
16
|
+
expect(processor.process('<div><code> </code></div>')).toBe('<div><code> </code></div>');
|
|
17
|
+
});
|
|
18
|
+
it('should handle custom elements with hyphens', () => {
|
|
19
|
+
expect(processor.process('<div><my-component> </my-component></div>')).toBe('<div><my-component> </my-component></div>');
|
|
20
|
+
expect(processor.process('<div><my-component></my-component>\n<other-component></other-component></div>')).toBe('<div><my-component></my-component><other-component></other-component></div>');
|
|
21
|
+
});
|
|
22
|
+
it('should handle tags with attributes', () => {
|
|
23
|
+
expect(processor.process('<div><div class="test">\n<span></span></div></div>')).toBe('<div><div class="test"><span></span></div></div>');
|
|
24
|
+
expect(processor.process('<div><span id="test"> </span></div>')).toBe('<div><span id="test"> </span></div>');
|
|
25
|
+
});
|
|
26
|
+
});
|
|
@@ -8,6 +8,7 @@ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-sli
|
|
|
8
8
|
import { FORM_ELEMENT_VALUE_CHANGE } from '../../../../../helpers/change-manager/subject/static-subject/static-subject-title';
|
|
9
9
|
import ChangeManager from '../../../../../helpers/change-manager/change-manager';
|
|
10
10
|
import { deepEqual } from '../../../../../utils/object';
|
|
11
|
+
import { emptySanitizeStrategy, htmlSanitizer } from '../../../../../utils/sanitize';
|
|
11
12
|
/**
|
|
12
13
|
* Signature written mode controller
|
|
13
14
|
*/
|
|
@@ -19,7 +20,7 @@ export class WrittenModeSvgController extends VegaSlimmer {
|
|
|
19
20
|
* Clear the signature
|
|
20
21
|
*/
|
|
21
22
|
this.clear = () => {
|
|
22
|
-
this.signatureContainerRef.innerHTML = '';
|
|
23
|
+
this.signatureContainerRef.innerHTML = htmlSanitizer.sanitize('', emptySanitizeStrategy);
|
|
23
24
|
this.value = null;
|
|
24
25
|
};
|
|
25
26
|
/*
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
8
|
import { h } from '@stencil/core';
|
|
9
|
-
import { FeatureFlag } from '../../../../../helpers/
|
|
9
|
+
import { FeatureFlag } from '../../../../../helpers/feature-control/feature-flag-controller';
|
|
10
10
|
import { generateResponsiveClass } from '../../../utils';
|
|
11
11
|
import { arrayToClassString } from '../../../../../utils/ui';
|
|
12
12
|
export class VegaTableFootCellRenderer extends VegaSlimmer {
|
|
@@ -8,13 +8,14 @@ import { GlobalSlimmersRegistry } from 'vega-slimmer/core';
|
|
|
8
8
|
import { VegaWatchMethodCancelSlimmer } from '../../helpers/slimmers/global/vega-watch-method-cancel-slimmer';
|
|
9
9
|
import VegaEventManager from '../../helpers/event-manager/vega-event-manager';
|
|
10
10
|
import { TypographyUrls } from '../../constants/tokens/typography';
|
|
11
|
-
import { VegaIconManager
|
|
11
|
+
import { VegaIconManager } from '../../helpers/icon/icon-manager';
|
|
12
|
+
import { default as VegaTranslationResourceEN } from '../../helpers/translation/locales/en';
|
|
12
13
|
import VegaZIndexManager from '../../helpers/zindex/vega-z-index-manager';
|
|
13
14
|
import { ValidCreditCardNumberRule } from '../../helpers/validator/rules/valid-credit-card-number-rule';
|
|
14
15
|
import vegaEnvManager from '../../helpers/vega-telemetry-helper/vega-env-manager';
|
|
15
|
-
import { waitForVega } from '../../helpers/common';
|
|
16
|
+
import { waitForVega } from '../../helpers/common/wait-for-vega-handler';
|
|
16
17
|
import { VegaSkeletonLoader } from '../../helpers/skeleton-loader/vega-skeleton-loader-controller';
|
|
17
|
-
import { VegaTranslation } from '../../helpers/translation';
|
|
18
|
+
import { VegaTranslation } from '../../helpers/translation/translation';
|
|
18
19
|
import { VegaTranslateObserverSlimmer } from '../../helpers/slimmers/global/vega-translate-observer-slimmer';
|
|
19
20
|
import { VegaRTEContent } from '../../components/vega-rich-text-editor/dto/content-state';
|
|
20
21
|
import { setVegaNonce, vegaNonceManager } from '../../helpers/csp/vega-nonce-manager';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VegaInternalTranslation } from '../translation';
|
|
1
|
+
import { VegaInternalTranslation } from '../translation/internal-translation-controller';
|
|
2
2
|
import { CalendarDateTime } from './calendar-date-time';
|
|
3
3
|
import { getSystemTimezone } from './utils';
|
|
4
4
|
import { DateFormatParserRegex } from '../../constants/regex';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import calendarEventRepeatPatternFactory from '../../components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory';
|
|
2
2
|
import { generateUUID } from '../../utils/misc';
|
|
3
|
-
import { VegaInternalTranslation } from '../translation';
|
|
3
|
+
import { VegaInternalTranslation } from '../translation/internal-translation-controller';
|
|
4
4
|
import { CalendarDate } from './calendar-date';
|
|
5
5
|
import { CalendarTime } from './calendar-time';
|
|
6
6
|
import { CalendarDateTime } from './calendar-date-time';
|
|
@@ -5,6 +5,7 @@ class CodeFormatter {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
/**
|
|
7
7
|
* Formats a given HTML source string by applying indentation and cleaning up styles.
|
|
8
|
+
* Content inside preserve tags (pre) is preserved as-is without formatting.
|
|
8
9
|
*
|
|
9
10
|
* @param {string} source - The HTML source string to format.
|
|
10
11
|
* @param {CodeFormatOptions} options - Formatting options.
|
|
@@ -19,9 +20,25 @@ class CodeFormatter {
|
|
|
19
20
|
const tokens = source.split(tagRegex).filter((t) => t.length > 0);
|
|
20
21
|
let indentLevel = 0;
|
|
21
22
|
let output = '';
|
|
23
|
+
let preserveDepth = 0;
|
|
22
24
|
for (let i = 0; i < tokens.length; i++) {
|
|
23
25
|
let token = tokens[i];
|
|
24
|
-
|
|
26
|
+
const tagName = CodeFormatter.getTagName(token);
|
|
27
|
+
// Track if we're entering or exiting preserve tags
|
|
28
|
+
if (CodeFormatter.PRESERVE_CONTENT_TAGS.has(tagName)) {
|
|
29
|
+
if (token.startsWith('</')) {
|
|
30
|
+
preserveDepth = Math.max(0, preserveDepth - 1);
|
|
31
|
+
}
|
|
32
|
+
else if (token.startsWith('<')) {
|
|
33
|
+
preserveDepth++;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// If inside preserve tag, output as-is without formatting
|
|
37
|
+
if (preserveDepth > 0) {
|
|
38
|
+
output += token;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
// Decrease indentation for closing tags (after exiting preserve tags)
|
|
25
42
|
if (token.startsWith('</')) {
|
|
26
43
|
indentLevel = Math.max(0, indentLevel - 1);
|
|
27
44
|
}
|
|
@@ -31,15 +48,20 @@ class CodeFormatter {
|
|
|
31
48
|
token = token.replace(/style\s*=\s*"([^"]*)"/g, (_, styleContent) => {
|
|
32
49
|
return `style="${this.formatStyle(styleContent)}"`;
|
|
33
50
|
});
|
|
34
|
-
const tagName = CodeFormatter.getTagName(token);
|
|
35
51
|
const isInline = CodeFormatter.INLINE_TAGS.has(tagName);
|
|
36
|
-
// Inline tag grouping: e.g., <strong>Text</strong> stays on one line
|
|
37
|
-
|
|
38
|
-
|
|
52
|
+
// Inline tag grouping: e.g., <strong>Text</strong> or <span></span> stays on one line
|
|
53
|
+
// Check for empty tags: <tag></tag> (closing tag immediately follows opening tag)
|
|
54
|
+
if (isInline && i + 1 < tokens.length && tokens[i + 1] === `</${tagName}>`) {
|
|
55
|
+
// Empty inline tag: <span></span>
|
|
56
|
+
output += `${indent}${token}${tokens[i + 1]}\n`;
|
|
57
|
+
i += 1;
|
|
58
|
+
}
|
|
59
|
+
else if (isInline && i + 2 < tokens.length && tokens[i + 2] === `</${tagName}>`) {
|
|
60
|
+
// Group consecutive inline tags with content
|
|
39
61
|
let inlineGroup = `${token}${tokens[i + 1]}${tokens[i + 2]}`;
|
|
40
62
|
i += 2;
|
|
41
63
|
// Keep merging consecutive inline tag pairs
|
|
42
|
-
while (i +
|
|
64
|
+
while (i + 3 < tokens.length &&
|
|
43
65
|
tokens[i + 1].startsWith('<') &&
|
|
44
66
|
CodeFormatter.INLINE_TAGS.has(CodeFormatter.getTagName(tokens[i + 1])) &&
|
|
45
67
|
tokens[i + 3] === `</${CodeFormatter.getTagName(tokens[i + 1])}>`) {
|
|
@@ -53,7 +75,7 @@ class CodeFormatter {
|
|
|
53
75
|
// Increase indentation for non-void opening tags
|
|
54
76
|
if (!token.startsWith('</') &&
|
|
55
77
|
!token.endsWith('/>') &&
|
|
56
|
-
|
|
78
|
+
!CodeFormatter.VOID_TAGS.has(tagName)) {
|
|
57
79
|
indentLevel++;
|
|
58
80
|
}
|
|
59
81
|
}
|
|
@@ -94,6 +116,10 @@ class CodeFormatter {
|
|
|
94
116
|
.join('; ');
|
|
95
117
|
}
|
|
96
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Inline/phrasing elements that should be kept on a single line with their content.
|
|
121
|
+
* These tags are formatted as: <tag>content</tag> on one line.
|
|
122
|
+
*/
|
|
97
123
|
CodeFormatter.INLINE_TAGS = new Set([
|
|
98
124
|
'span',
|
|
99
125
|
'strong',
|
|
@@ -113,4 +139,28 @@ CodeFormatter.INLINE_TAGS = new Set([
|
|
|
113
139
|
'del',
|
|
114
140
|
'ins',
|
|
115
141
|
]);
|
|
142
|
+
/**
|
|
143
|
+
* Void/self-closing elements that don't have closing tags.
|
|
144
|
+
* Used to avoid increasing indentation for these elements.
|
|
145
|
+
*/
|
|
146
|
+
CodeFormatter.VOID_TAGS = new Set([
|
|
147
|
+
'area',
|
|
148
|
+
'base',
|
|
149
|
+
'br',
|
|
150
|
+
'col',
|
|
151
|
+
'embed',
|
|
152
|
+
'hr',
|
|
153
|
+
'img',
|
|
154
|
+
'input',
|
|
155
|
+
'link',
|
|
156
|
+
'meta',
|
|
157
|
+
'param',
|
|
158
|
+
'source',
|
|
159
|
+
'track',
|
|
160
|
+
'wbr',
|
|
161
|
+
]);
|
|
162
|
+
/**
|
|
163
|
+
* Tags whose content should be preserved as-is without formatting.
|
|
164
|
+
*/
|
|
165
|
+
CodeFormatter.PRESERVE_CONTENT_TAGS = new Set(['pre']);
|
|
116
166
|
export default new CodeFormatter();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import CodeFormatter from '../code-formatter';
|
|
2
|
-
import { VegaRTEContent } from '
|
|
2
|
+
import { VegaRTEContent } from '../../../components/vega-rich-text-editor/dto/content-state';
|
|
3
3
|
describe('Code formatter', () => {
|
|
4
4
|
it('should format simple HTML with option useTabs', () => {
|
|
5
5
|
const input = `<p><span>Text</span></p>`;
|
|
@@ -359,4 +359,52 @@ describe('Code formatter', () => {
|
|
|
359
359
|
]).toHtml();
|
|
360
360
|
expect(CodeFormatter.format(input)).toMatchSnapshot();
|
|
361
361
|
});
|
|
362
|
+
it('should preserve pre content without formatting', () => {
|
|
363
|
+
const input = `<pre>
|
|
364
|
+
S
|
|
365
|
+
A
|
|
366
|
+
LUT
|
|
367
|
+
M
|
|
368
|
+
O N
|
|
369
|
+
D E
|
|
370
|
+
DONT
|
|
371
|
+
JE SUIS
|
|
372
|
+
LA LAN
|
|
373
|
+
G U E É
|
|
374
|
+
L O Q U E N
|
|
375
|
+
TE QUESA
|
|
376
|
+
B O U C H E
|
|
377
|
+
O P A R I S
|
|
378
|
+
T I R E ET TIRERA
|
|
379
|
+
T O U JOURS
|
|
380
|
+
AUX A L
|
|
381
|
+
LEM ANDS - Apollinaire
|
|
382
|
+
</pre>
|
|
383
|
+
`;
|
|
384
|
+
expect(CodeFormatter.format(input)).toMatchSnapshot();
|
|
385
|
+
});
|
|
386
|
+
it('should format empty inline tags on a single line', () => {
|
|
387
|
+
const input = `<p><span></span></p>`;
|
|
388
|
+
const output = CodeFormatter.format(input);
|
|
389
|
+
expect(output).toMatchSnapshot();
|
|
390
|
+
// Verify empty span stays inline
|
|
391
|
+
expect(output).toContain('<span></span>');
|
|
392
|
+
expect(output).not.toContain('<span>\n');
|
|
393
|
+
});
|
|
394
|
+
it('should format multiple empty inline tags', () => {
|
|
395
|
+
const input = `<p><span></span><strong></strong><em></em></p>`;
|
|
396
|
+
const output = CodeFormatter.format(input);
|
|
397
|
+
expect(output).toMatchSnapshot();
|
|
398
|
+
// Verify all empty inline tags stay inline
|
|
399
|
+
expect(output).toContain('<span></span>');
|
|
400
|
+
expect(output).toContain('<strong></strong>');
|
|
401
|
+
expect(output).toContain('<em></em>');
|
|
402
|
+
});
|
|
403
|
+
it('should format mixed empty and non-empty inline tags', () => {
|
|
404
|
+
const input = `<p><span></span><strong>Text</strong><em></em></p>`;
|
|
405
|
+
const output = CodeFormatter.format(input);
|
|
406
|
+
expect(output).toMatchSnapshot();
|
|
407
|
+
expect(output).toContain('<span></span>');
|
|
408
|
+
expect(output).toContain('<em></em>');
|
|
409
|
+
});
|
|
362
410
|
});
|
|
@@ -1,37 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import ChangeManager from '../change-manager/change-manager';
|
|
4
|
-
import domNodeSubjectFactory from '../change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
5
|
-
import { VegaInternalComponentDidRender } from '../event-manager/event-id/vega-internal-event-id';
|
|
6
|
-
/* istanbul ignore next */
|
|
7
|
-
/**
|
|
8
|
-
* Wait for all vega elements to be ready.
|
|
9
|
-
*
|
|
10
|
-
* The below method is e2e-test covered in @see{module:wait-for-vega-should-work-as-expected}
|
|
11
|
-
*/
|
|
12
|
-
export const waitForVega = async () => {
|
|
13
|
-
return WaitForVega.handle();
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Wait for the component has been rendered.
|
|
17
|
-
*
|
|
18
|
-
* @param {HTMLStencilElement} componentRef - The reference to the component that needs to be rendered.
|
|
19
|
-
* @returns {Promise<unknown>} A promise that resolves when the component has been rendered.
|
|
20
|
-
*/
|
|
21
|
-
export const waitForComponentDidRender = async (componentRef) => {
|
|
22
|
-
return new Promise((resolve) => {
|
|
23
|
-
const observer = new Observer(isAcceptableComponentDidRender.bind(null), () => {
|
|
24
|
-
ChangeManager.unregister(domNodeSubjectFactory.getSubject(componentRef, VegaInternalComponentDidRender), observer);
|
|
25
|
-
resolve(null);
|
|
26
|
-
});
|
|
27
|
-
ChangeManager.register(domNodeSubjectFactory.getSubject(componentRef, VegaInternalComponentDidRender), observer);
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Determines whether the observer should accept changes.
|
|
32
|
-
*
|
|
33
|
-
* @returns {boolean} Always returns true in the current implementation.
|
|
34
|
-
*/
|
|
35
|
-
const isAcceptableComponentDidRender = () => {
|
|
36
|
-
return true;
|
|
37
|
-
};
|
|
1
|
+
export { waitForVega } from './wait-for-vega-handler';
|
|
2
|
+
export { waitForComponentDidRender } from './wait-for-component-did-render';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import VegaTelemetryRuntimeMetricsManager from '@heartlandone/vega-telemetry-runtime-metrics/index';
|
|
2
2
|
import { sleep } from '../../../utils/test-utils';
|
|
3
|
-
import {
|
|
3
|
+
import { waitForVega } from '../wait-for-vega-handler';
|
|
4
4
|
describe('WaitForVegaHandler', () => {
|
|
5
5
|
it('should call the emit method of VegaTelemetryRuntimeMetricsManager when call handle', async () => {
|
|
6
6
|
jest.spyOn(VegaTelemetryRuntimeMetricsManager, 'emit');
|
|
7
|
-
await
|
|
7
|
+
await waitForVega();
|
|
8
8
|
void Promise.resolve(sleep(100)).then(async () => {
|
|
9
9
|
expect(VegaTelemetryRuntimeMetricsManager.emit).toHaveBeenCalledWith('publicAPIMetrics', {
|
|
10
10
|
publicAPIName: 'WaitForVegaHandler',
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Observer } from '../change-manager/observer/observer';
|
|
2
|
+
import ChangeManager from '../change-manager/change-manager';
|
|
3
|
+
import domNodeSubjectFactory from '../change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
4
|
+
import { VegaInternalComponentDidRender } from '../event-manager/event-id/vega-internal-event-id';
|
|
5
|
+
/**
|
|
6
|
+
* Wait for the component has been rendered.
|
|
7
|
+
*
|
|
8
|
+
* @param {HTMLStencilElement} componentRef - The reference to the component that needs to be rendered.
|
|
9
|
+
* @returns {Promise<unknown>} A promise that resolves when the component has been rendered.
|
|
10
|
+
*/
|
|
11
|
+
export const waitForComponentDidRender = async (componentRef) => {
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
const observer = new Observer(isAcceptableComponentDidRender.bind(null), () => {
|
|
14
|
+
ChangeManager.unregister(domNodeSubjectFactory.getSubject(componentRef, VegaInternalComponentDidRender), observer);
|
|
15
|
+
resolve(null);
|
|
16
|
+
});
|
|
17
|
+
ChangeManager.register(domNodeSubjectFactory.getSubject(componentRef, VegaInternalComponentDidRender), observer);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Determines whether the observer should accept changes.
|
|
22
|
+
*
|
|
23
|
+
* @returns {boolean} Always returns true in the current implementation.
|
|
24
|
+
*/
|
|
25
|
+
const isAcceptableComponentDidRender = () => {
|
|
26
|
+
return true;
|
|
27
|
+
};
|
|
@@ -33,4 +33,15 @@ class WaitForVegaHandler {
|
|
|
33
33
|
__decorate([
|
|
34
34
|
InjectVegaTelemetrySlimmer()
|
|
35
35
|
], WaitForVegaHandler.prototype, "vegaPublicAPIRuntimeMetricsSlimmer", void 0);
|
|
36
|
-
|
|
36
|
+
const WaitForVega = new WaitForVegaHandler();
|
|
37
|
+
/* istanbul ignore next */
|
|
38
|
+
/**
|
|
39
|
+
* Wait for all vega elements to be ready.
|
|
40
|
+
*
|
|
41
|
+
* The below method is e2e-test covered in @see{module:wait-for-vega-should-work-as-expected}
|
|
42
|
+
*
|
|
43
|
+
* @returns {Promise} A promise that resolves when all vega elements are ready.
|
|
44
|
+
*/
|
|
45
|
+
export const waitForVega = async () => {
|
|
46
|
+
return WaitForVega.handle();
|
|
47
|
+
};
|
|
@@ -209,5 +209,11 @@ const FeatureFlagsMap = {
|
|
|
209
209
|
createdAtVersion: '2.48.1',
|
|
210
210
|
disabledByDefault: true,
|
|
211
211
|
},
|
|
212
|
+
'VEGA_ELEMENT_APPENDER.AUTO_PLACEMENT': {
|
|
213
|
+
description: `A feature flag to automatic placement for appendable pop-ups when isScreenPosition is enabled.`,
|
|
214
|
+
createdTimestamp: 1770940800000,
|
|
215
|
+
createdAtVersion: '2.76.0',
|
|
216
|
+
disabledByDefault: false,
|
|
217
|
+
},
|
|
212
218
|
};
|
|
213
219
|
export default Object.freeze(FeatureFlagsMap);
|
|
@@ -3,7 +3,7 @@ import { LogUtility } from '../../../utils/log';
|
|
|
3
3
|
import { BorderRadius } from '../../../constants/public-api';
|
|
4
4
|
import { ResponsiveCSSTextFormatter } from './responsive-css-text-formatter';
|
|
5
5
|
import { sortAsExistArray } from '../../../utils/array';
|
|
6
|
-
import { FeatureFlag } from '../../
|
|
6
|
+
import { FeatureFlag } from '../../feature-control/feature-flag-controller';
|
|
7
7
|
const BORDER_RADIUS_DIRECTION_STYLE_MAP = {
|
|
8
8
|
'top': ['border-top-left-radius', 'border-top-right-radius'],
|
|
9
9
|
'right': ['border-top-right-radius', 'border-bottom-right-radius'],
|