@heartlandone/vega 2.75.1 → 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-35614ce8.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-bb39e07e.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-03e1a038.js → dto-renderer-manager-809c947b.js} +33 -33
- package/dist/cjs/{element-appender-slimmer-daa8b9f5.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-3fa501b7.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-dc2a8d62.js → public-rules-922849f3.js} +12 -13
- package/dist/cjs/{range-79b668e7.js → range-8aa49b08.js} +2 -2
- package/dist/cjs/{responsive-format-facade-d5dba942.js → responsive-format-facade-ea59bdcd.js} +13 -22
- package/dist/cjs/{rich-text-editor-required-rule-ba312af9.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-49693da7.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-cfbbc57e.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 +58 -55
- 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/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-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/test/code-formatter.test.js +1 -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/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-2ac60ff5.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-007efbaa.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-ee1a5864.js → dto-renderer-manager-6fd22ab7.js} +7 -7
- package/dist/esm/{element-appender-slimmer-35e26b5a.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-285d432e.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-724873f5.js → public-rules-25cc3a39.js} +13 -14
- package/dist/esm/{range-5257c062.js → range-663f44dc.js} +2 -2
- package/dist/esm/{responsive-format-facade-28ee2dbd.js → responsive-format-facade-7a071174.js} +3 -12
- package/dist/esm/{rich-text-editor-required-rule-873e2e67.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-314b37f3.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-e8c0e43e.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 +33 -30
- 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 +418 -406
- 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/interface.d.ts +473 -2
- 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/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-0575d22e.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-691ba1ae.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-8c4a56ff.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-29bf8acd.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-012753b5.entry.js +0 -1
- package/dist/vega/p-024331ce.entry.js +0 -1
- package/dist/vega/p-08a90cc6.entry.js +0 -1
- package/dist/vega/p-0ede1fea.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-3353b3d7.js +0 -1
- package/dist/vega/p-365b1b35.entry.js +0 -1
- package/dist/vega/p-3ae9ee3d.entry.js +0 -1
- package/dist/vega/p-3af92370.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-3e5f362f.js +0 -1
- package/dist/vega/p-430be941.js +0 -1
- package/dist/vega/p-43f585f7.entry.js +0 -1
- package/dist/vega/p-45296fd4.entry.js +0 -1
- package/dist/vega/p-476a173a.js +0 -1
- package/dist/vega/p-491618a6.entry.js +0 -1
- package/dist/vega/p-4a537391.entry.js +0 -1
- package/dist/vega/p-4aa893ef.entry.js +0 -1
- package/dist/vega/p-4c47e8bb.entry.js +0 -1
- package/dist/vega/p-4da75f2b.js +0 -1
- package/dist/vega/p-509eb52e.entry.js +0 -1
- package/dist/vega/p-5110ba73.entry.js +0 -1
- package/dist/vega/p-556f9a21.entry.js +0 -1
- package/dist/vega/p-55b54ba0.entry.js +0 -1
- package/dist/vega/p-5d676a94.js +0 -1
- package/dist/vega/p-5ea2e43c.entry.js +0 -1
- package/dist/vega/p-5efc6fe1.entry.js +0 -1
- package/dist/vega/p-64cd1931.entry.js +0 -1
- package/dist/vega/p-67fcf6f2.entry.js +0 -9
- package/dist/vega/p-68df4288.js +0 -1
- 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-6fa8e231.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-749f96a4.js +0 -1
- package/dist/vega/p-7aaece55.entry.js +0 -1
- package/dist/vega/p-7ec6a104.entry.js +0 -1
- package/dist/vega/p-81134e9e.entry.js +0 -1
- package/dist/vega/p-89d685a8.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-8d701832.entry.js +0 -1
- package/dist/vega/p-8e42a14c.entry.js +0 -1
- package/dist/vega/p-8ed0faa2.entry.js +0 -1
- package/dist/vega/p-94394df7.entry.js +0 -1
- package/dist/vega/p-99aa554b.entry.js +0 -1
- package/dist/vega/p-9a2446f1.entry.js +0 -1
- package/dist/vega/p-9fd503e9.entry.js +0 -1
- package/dist/vega/p-a4670e23.js +0 -1
- package/dist/vega/p-a475d525.entry.js +0 -1
- package/dist/vega/p-a530797f.entry.js +0 -1
- package/dist/vega/p-a85ad369.entry.js +0 -1
- package/dist/vega/p-ac5e9955.entry.js +0 -1
- package/dist/vega/p-aedf7146.js +0 -1
- package/dist/vega/p-b1f869fb.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-c2488ed6.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-cf5b80f9.entry.js +0 -1
- package/dist/vega/p-db60a38e.entry.js +0 -1
- package/dist/vega/p-db8cdba6.js +0 -1
- package/dist/vega/p-e93545fd.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-ec192283.entry.js +0 -1
- package/dist/vega/p-ef9cbad1.js +0 -1
- package/dist/vega/p-f2a3a1ec.entry.js +0 -1
- package/dist/vega/p-f2cdd212.entry.js +0 -1
- package/dist/vega/p-f3c3ff26.entry.js +0 -1
- package/dist/vega/p-f4c05b4a.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-f8641214.entry.js +0 -1
- package/dist/vega/p-f89443aa.entry.js +0 -1
- package/dist/vega/p-f8f7cf48.entry.js +0 -1
- package/dist/vega/p-fe12eff6.js +0 -1
- /package/dist/{types/utils/test/sanitize.test.d.ts → collection/polyfill/prism/types.js} +0 -0
- /package/dist/vega/{p-d9671d27.js → p-6c170474.js} +0 -0
package/dist/collection/helpers/slimmers/mutation-observer/test/aria-attributes-value-mapper.test.js
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MockHTMLElement } from '@stencil/core/mock-doc';
|
|
8
|
+
import { InjectVegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { AriaAttributesValueMapper } from '../aria-attributes-value-mapper';
|
|
10
|
+
import { MockedMutationObserver } from '../../../../utils/spec-utils';
|
|
11
|
+
import { LogUtility } from '../../../../utils/log';
|
|
12
|
+
describe('AriaAttributesValueMapper', () => {
|
|
13
|
+
const mockedConnectedCallback = jest.fn();
|
|
14
|
+
const mockedDisconnectedCallback = jest.fn();
|
|
15
|
+
const mockedComponentDidLoad = jest.fn();
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
// ensure MutationObserver is mocked
|
|
18
|
+
global.MutationObserver = MockedMutationObserver;
|
|
19
|
+
MockedMutationObserver.mockClear();
|
|
20
|
+
});
|
|
21
|
+
class MockedComponent {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.host = new MockHTMLElement('body', 'mocked-component');
|
|
24
|
+
}
|
|
25
|
+
connectedCallback() {
|
|
26
|
+
mockedConnectedCallback();
|
|
27
|
+
}
|
|
28
|
+
disconnectedCallback() {
|
|
29
|
+
mockedDisconnectedCallback();
|
|
30
|
+
}
|
|
31
|
+
componentDidLoad() {
|
|
32
|
+
mockedComponentDidLoad();
|
|
33
|
+
}
|
|
34
|
+
setMapper(mapper) {
|
|
35
|
+
this.ariaAttributesValueMapper = mapper;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
__decorate([
|
|
39
|
+
InjectVegaSlimmer()
|
|
40
|
+
], MockedComponent.prototype, "ariaAttributesValueMapper", void 0);
|
|
41
|
+
it('should map initial attribute value to target aria attribute', () => {
|
|
42
|
+
const comp = new MockedComponent();
|
|
43
|
+
const button = document.createElement('button');
|
|
44
|
+
comp.host.setAttribute('data-aria-label', 'test');
|
|
45
|
+
comp.setMapper(new AriaAttributesValueMapper(() => button, {
|
|
46
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
47
|
+
}));
|
|
48
|
+
// simulate lifecycle
|
|
49
|
+
comp.connectedCallback();
|
|
50
|
+
comp.componentDidLoad();
|
|
51
|
+
expect(button.getAttribute('aria-label')).toBe('test');
|
|
52
|
+
});
|
|
53
|
+
it('should update aria attribute when observed attribute changes', () => {
|
|
54
|
+
const comp = new MockedComponent();
|
|
55
|
+
const button = document.createElement('button');
|
|
56
|
+
comp.host.setAttribute('data-aria-label', 'apple');
|
|
57
|
+
comp.setMapper(new AriaAttributesValueMapper(() => button, {
|
|
58
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
59
|
+
}));
|
|
60
|
+
comp.connectedCallback();
|
|
61
|
+
comp.componentDidLoad();
|
|
62
|
+
// change attribute and trigger mutation
|
|
63
|
+
comp.host.setAttribute('data-aria-label', 'banana');
|
|
64
|
+
MockedMutationObserver.mock.instances[0].trigger([
|
|
65
|
+
{ attributeName: 'data-aria-label', oldValue: 'apple' },
|
|
66
|
+
]);
|
|
67
|
+
expect(button.getAttribute('aria-label')).toBe('banana');
|
|
68
|
+
});
|
|
69
|
+
it('should respect dependency priority and not overwrite when higher-priority exists', () => {
|
|
70
|
+
const comp = new MockedComponent();
|
|
71
|
+
const button = document.createElement('button');
|
|
72
|
+
// higher priority present
|
|
73
|
+
comp.host.setAttribute('data-aria-label', 'test');
|
|
74
|
+
comp.host.setAttribute('label', 'initial');
|
|
75
|
+
comp.setMapper(new AriaAttributesValueMapper(() => button, {
|
|
76
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
77
|
+
}));
|
|
78
|
+
comp.connectedCallback();
|
|
79
|
+
comp.componentDidLoad();
|
|
80
|
+
expect(button.getAttribute('aria-label')).toBe('test');
|
|
81
|
+
// lower-priority 'label' changes
|
|
82
|
+
comp.host.setAttribute('label', 'apple');
|
|
83
|
+
MockedMutationObserver.mock.instances[0].trigger([{ attributeName: 'label', oldValue: 'initial' }]);
|
|
84
|
+
// should remain the higher-priority value
|
|
85
|
+
expect(button.getAttribute('aria-label')).toBe('test');
|
|
86
|
+
});
|
|
87
|
+
it('should read camelCase host property when dashed attribute not present', () => {
|
|
88
|
+
const comp = new MockedComponent();
|
|
89
|
+
const button = document.createElement('button');
|
|
90
|
+
// set property instead of attribute
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
92
|
+
comp.host.dataAriaLabel = 'propVal';
|
|
93
|
+
comp.setMapper(new AriaAttributesValueMapper(() => button, {
|
|
94
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
95
|
+
}));
|
|
96
|
+
comp.connectedCallback();
|
|
97
|
+
comp.componentDidLoad();
|
|
98
|
+
expect(button.getAttribute('aria-label')).toBe('propVal');
|
|
99
|
+
});
|
|
100
|
+
it('should use default value when dependencies are empty', () => {
|
|
101
|
+
const comp = new MockedComponent();
|
|
102
|
+
const button = document.createElement('button');
|
|
103
|
+
comp.setMapper(new AriaAttributesValueMapper(() => button, {
|
|
104
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
105
|
+
}));
|
|
106
|
+
comp.connectedCallback();
|
|
107
|
+
comp.componentDidLoad();
|
|
108
|
+
expect(button.getAttribute('aria-label')).toBe('No label');
|
|
109
|
+
});
|
|
110
|
+
it('should ignore unrelated attribute mutations', () => {
|
|
111
|
+
const comp = new MockedComponent();
|
|
112
|
+
const button = document.createElement('button');
|
|
113
|
+
comp.host.setAttribute('data-aria-label', 'test');
|
|
114
|
+
comp.setMapper(new AriaAttributesValueMapper(() => button, {
|
|
115
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
116
|
+
}));
|
|
117
|
+
comp.connectedCallback();
|
|
118
|
+
comp.componentDidLoad();
|
|
119
|
+
// unrelated attribute changes should not affect mapping
|
|
120
|
+
comp.host.setAttribute('some-other-attr', 'val');
|
|
121
|
+
MockedMutationObserver.mock.instances[0].trigger([
|
|
122
|
+
{ attributeName: 'some-other-attr', oldValue: null },
|
|
123
|
+
]);
|
|
124
|
+
expect(button.getAttribute('aria-label')).toBe('test');
|
|
125
|
+
});
|
|
126
|
+
it('should warn when setting aria attribute throws', () => {
|
|
127
|
+
const comp = new MockedComponent();
|
|
128
|
+
// create a target that throws when setAttribute is called
|
|
129
|
+
const target = {
|
|
130
|
+
getAttribute: () => null,
|
|
131
|
+
setAttribute: () => {
|
|
132
|
+
throw new Error('boom');
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
const warnSpy = jest.spyOn(LogUtility, 'warn').mockImplementation(() => {
|
|
136
|
+
return 'warn mock';
|
|
137
|
+
});
|
|
138
|
+
comp.host.setAttribute('data-aria-label', 'test');
|
|
139
|
+
comp.setMapper(new AriaAttributesValueMapper(() => target, {
|
|
140
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
141
|
+
}));
|
|
142
|
+
comp.connectedCallback();
|
|
143
|
+
comp.componentDidLoad();
|
|
144
|
+
expect(warnSpy).toBeCalled();
|
|
145
|
+
warnSpy.mockRestore();
|
|
146
|
+
});
|
|
147
|
+
it('should be no-op when targetGetter returns null or targetGetter is null', () => {
|
|
148
|
+
const comp = new MockedComponent();
|
|
149
|
+
// Case 1: constructor targetGetter returns null
|
|
150
|
+
comp.setMapper(new AriaAttributesValueMapper(() => null, {
|
|
151
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
152
|
+
}));
|
|
153
|
+
expect(() => {
|
|
154
|
+
comp.connectedCallback();
|
|
155
|
+
comp.componentDidLoad();
|
|
156
|
+
}).not.toThrow();
|
|
157
|
+
// Case 2: targetGetter property explicitly set to null after construction
|
|
158
|
+
const button = document.createElement('button');
|
|
159
|
+
const mapper = new AriaAttributesValueMapper(() => button, {
|
|
160
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
161
|
+
});
|
|
162
|
+
// force targetGetter to null
|
|
163
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
164
|
+
mapper.targetGetter = null;
|
|
165
|
+
comp.setMapper(mapper);
|
|
166
|
+
expect(() => {
|
|
167
|
+
comp.connectedCallback();
|
|
168
|
+
comp.componentDidLoad();
|
|
169
|
+
}).not.toThrow();
|
|
170
|
+
});
|
|
171
|
+
it('should set empty string when no defaultValue provided', () => {
|
|
172
|
+
const comp = new MockedComponent();
|
|
173
|
+
const button = document.createElement('button');
|
|
174
|
+
// no dependencies present on host and no defaultValue in map
|
|
175
|
+
comp.setMapper(new AriaAttributesValueMapper(() => button, {
|
|
176
|
+
'aria-label': { dependency: ['data-aria-label', 'label'] },
|
|
177
|
+
}));
|
|
178
|
+
comp.connectedCallback();
|
|
179
|
+
comp.componentDidLoad();
|
|
180
|
+
// should set attribute to empty string when no defaultValue provided
|
|
181
|
+
expect(button.getAttribute('aria-label')).toBe('');
|
|
182
|
+
});
|
|
183
|
+
it('should handle empty mutations array (pass undefined to performMapping)', () => {
|
|
184
|
+
const comp = new MockedComponent();
|
|
185
|
+
const button = document.createElement('button');
|
|
186
|
+
comp.host.setAttribute('data-aria-label', 'test');
|
|
187
|
+
comp.setMapper(new AriaAttributesValueMapper(() => button, {
|
|
188
|
+
'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
|
|
189
|
+
}));
|
|
190
|
+
comp.connectedCallback();
|
|
191
|
+
comp.componentDidLoad();
|
|
192
|
+
// trigger with empty mutations array -> changedAttrs.size === 0 -> undefined passed
|
|
193
|
+
MockedMutationObserver.mock.instances[0].trigger([]);
|
|
194
|
+
expect(button.getAttribute('aria-label')).toBe('test');
|
|
195
|
+
});
|
|
196
|
+
});
|
package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js
CHANGED
|
@@ -7,6 +7,17 @@ import ResponsiveFormatFacade from '../../formatter/responsive-map-formatter/res
|
|
|
7
7
|
* calculate position
|
|
8
8
|
*/
|
|
9
9
|
export class BasePositionCalculationStrategy extends VegaSlimmer {
|
|
10
|
+
/**
|
|
11
|
+
* Whether the controller should adjust/recompute position at this time.
|
|
12
|
+
*
|
|
13
|
+
* This hook allows strategies to avoid unnecessary work (for example, on scroll) by deciding
|
|
14
|
+
* whether a re-position is required.
|
|
15
|
+
*
|
|
16
|
+
* @returns {boolean} True when the controller should proceed with width/height/position adjustments.
|
|
17
|
+
*/
|
|
18
|
+
shouldAdjustPosition() {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
10
21
|
/**
|
|
11
22
|
* Get the position box.
|
|
12
23
|
*
|
|
@@ -32,121 +43,46 @@ export class BasePositionCalculationStrategy extends VegaSlimmer {
|
|
|
32
43
|
return positionBox;
|
|
33
44
|
}
|
|
34
45
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* The function takes an element as an argument and returns an object with three properties: width,
|
|
38
|
-
* height, and top.
|
|
39
|
-
*
|
|
40
|
-
* Note: If element is hide, we should temporary change it to `block` to get the bounding client rect of element,
|
|
41
|
-
* After do that, this element will change to origin `hide`, if not, it will be contained in the calculate of `document.documentElement.scrollHeight`
|
|
42
|
-
*
|
|
43
|
-
* @returns {ElementBoundBox} An object with the width, height, and top properties of the element.
|
|
44
|
-
*/
|
|
45
|
-
getElementBoundBox() {
|
|
46
|
-
const element = this.showConfig.appendableElement;
|
|
47
|
-
const isElementHide = element.classList.contains('vega-force-hidden');
|
|
48
|
-
if (isElementHide)
|
|
49
|
-
element.classList.remove('vega-force-hidden');
|
|
50
|
-
const elementRect = element.getBoundingClientRect();
|
|
51
|
-
if (isElementHide)
|
|
52
|
-
element.classList.add('vega-force-hidden');
|
|
53
|
-
return {
|
|
54
|
-
width: elementRect.width,
|
|
55
|
-
height: elementRect.height,
|
|
56
|
-
left: elementRect.left,
|
|
57
|
-
top: elementRect.top,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* It takes a placement string or array of placements and returns an array of placements
|
|
62
|
-
* if given placement is single, we should completion the placements with the default {@link Placements}
|
|
63
|
-
* and make given placement as default.
|
|
64
|
-
* if given placement is array, we should use it directly, even it partial of {@link Placements}.
|
|
65
|
-
* if not placement give. we should use {@link Placements}.
|
|
66
|
-
*
|
|
67
|
-
* @returns {PlacementType[]} ordered placements.
|
|
68
|
-
*/
|
|
69
|
-
getPlacements() {
|
|
70
|
-
const placement = this.showConfig.placement;
|
|
71
|
-
if (typeof placement === 'string') {
|
|
72
|
-
const partial = Placements.filter((direction) => direction !== placement);
|
|
73
|
-
return [placement, ...partial];
|
|
74
|
-
}
|
|
75
|
-
else if (Array.isArray(placement)) {
|
|
76
|
-
return placement;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
return [...Placements];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* It returns acceptable alignments.
|
|
84
|
-
*
|
|
85
|
-
* @returns {PositionAlignmentType[]} acceptable alignments
|
|
86
|
-
*/
|
|
87
|
-
getAlignments() {
|
|
88
|
-
const alignment = this.showConfig.alignment;
|
|
89
|
-
if (typeof alignment === 'string') {
|
|
90
|
-
const partial = Alignments.filter((item) => item !== alignment);
|
|
91
|
-
return [alignment, ...partial];
|
|
92
|
-
}
|
|
93
|
-
else if (Array.isArray(alignment)) {
|
|
94
|
-
return alignment;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
return [...Alignments];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* It takes a placement, a target box, and a element box, and returns an element box
|
|
46
|
+
* Whether the alignment space is enough
|
|
102
47
|
*
|
|
103
|
-
* @param {
|
|
48
|
+
* @param {ElementScrollDimension} containerBox - The bounding box of the container element.
|
|
104
49
|
* @param {ElementBoundBox} targetBox - The position of the target element.
|
|
105
|
-
* @param {
|
|
106
|
-
* @param {
|
|
107
|
-
* @
|
|
108
|
-
|
|
109
|
-
calculatePosition(elementBox, targetBox, placement, alignment) {
|
|
110
|
-
return {
|
|
111
|
-
top: this.calculateTop(elementBox, targetBox, placement, alignment),
|
|
112
|
-
left: this.calculateLeft(elementBox, targetBox, placement, alignment),
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* It returns the translocation of the element relative to the target element
|
|
117
|
-
*
|
|
118
|
-
* @param {PlacementType} placement - The suitable placement of the element.
|
|
119
|
-
* @returns {TranslocationType} A translocation object with X and Y properties.
|
|
50
|
+
* @param {ElementBoundBox} elementBox - The box of the element that we're trying to position.
|
|
51
|
+
* @param {PlacementType} placement - The placement of the element relative to the target.
|
|
52
|
+
* @param {PlacementType} alignment - The alignment of the element relative to the target.
|
|
53
|
+
* @returns {boolean} return true if it has enough space, otherwise false
|
|
120
54
|
*/
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
(originPlacement &&
|
|
135
|
-
['top', 'bottom'].includes(originPlacement) &&
|
|
136
|
-
['left', 'right'].includes(placement))) {
|
|
137
|
-
xValue = translocation.Y;
|
|
138
|
-
yValue = translocation.X;
|
|
139
|
-
}
|
|
140
|
-
if (['bottom', 'top'].includes(placement)) {
|
|
141
|
-
result.Y = placement === 'top' ? -yValue : yValue;
|
|
142
|
-
result.X = xValue;
|
|
55
|
+
hasEnoughAlignmentSpace(containerBox, targetBox, elementBox, placement, alignment) {
|
|
56
|
+
if (['top', 'bottom'].includes(placement)) {
|
|
57
|
+
switch (alignment) {
|
|
58
|
+
case 'start': {
|
|
59
|
+
return targetBox.left + elementBox.width <= containerBox.width;
|
|
60
|
+
}
|
|
61
|
+
case 'center': {
|
|
62
|
+
return (targetBox.left >= (elementBox.width - targetBox.width) / 2 &&
|
|
63
|
+
targetBox.left + targetBox.width / 2 + elementBox.width / 2 <= containerBox.width);
|
|
64
|
+
}
|
|
65
|
+
case 'end': {
|
|
66
|
+
return targetBox.left + targetBox.width >= elementBox.width;
|
|
67
|
+
}
|
|
143
68
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
69
|
+
}
|
|
70
|
+
if (['right', 'left'].includes(placement)) {
|
|
71
|
+
switch (alignment) {
|
|
72
|
+
case 'start': {
|
|
73
|
+
return targetBox.top + elementBox.height <= containerBox.height;
|
|
74
|
+
}
|
|
75
|
+
case 'center': {
|
|
76
|
+
return (targetBox.top >= (elementBox.height - targetBox.height) / 2 &&
|
|
77
|
+
targetBox.top + targetBox.height / 2 + elementBox.height / 2 <= containerBox.height);
|
|
78
|
+
}
|
|
79
|
+
case 'end': {
|
|
80
|
+
return targetBox.top + targetBox.height >= elementBox.height;
|
|
81
|
+
}
|
|
147
82
|
}
|
|
148
83
|
}
|
|
149
|
-
|
|
84
|
+
/* istanbul ignore next */
|
|
85
|
+
return false;
|
|
150
86
|
}
|
|
151
87
|
/**
|
|
152
88
|
* Calculate the left position of the element
|
|
@@ -216,6 +152,24 @@ export class BasePositionCalculationStrategy extends VegaSlimmer {
|
|
|
216
152
|
throw new Error(`Unexpected placement: ${placement}. Expected values are top, bottom, left, or right.`);
|
|
217
153
|
}
|
|
218
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* It returns acceptable alignments.
|
|
157
|
+
*
|
|
158
|
+
* @returns {PositionAlignmentType[]} acceptable alignments
|
|
159
|
+
*/
|
|
160
|
+
getAlignments() {
|
|
161
|
+
const alignment = this.showConfig.alignment;
|
|
162
|
+
if (typeof alignment === 'string') {
|
|
163
|
+
const partial = Alignments.filter((item) => item !== alignment);
|
|
164
|
+
return [alignment, ...partial];
|
|
165
|
+
}
|
|
166
|
+
else if (Array.isArray(alignment)) {
|
|
167
|
+
return alignment;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
return [...Alignments];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
219
173
|
/**
|
|
220
174
|
* It takes a list of placements and returns the first placement that has enough space to place the
|
|
221
175
|
* element
|
|
@@ -240,6 +194,105 @@ export class BasePositionCalculationStrategy extends VegaSlimmer {
|
|
|
240
194
|
return defaultPlacement;
|
|
241
195
|
}
|
|
242
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* "Get the width, height, and top position of an element."
|
|
199
|
+
*
|
|
200
|
+
* The function takes an element as an argument and returns an object with three properties: width,
|
|
201
|
+
* height, and top.
|
|
202
|
+
*
|
|
203
|
+
* Note: If element is hide, we should temporary change it to `block` to get the bounding client rect of element,
|
|
204
|
+
* After do that, this element will change to origin `hide`, if not, it will be contained in the calculate of `document.documentElement.scrollHeight`
|
|
205
|
+
*
|
|
206
|
+
* @returns {ElementBoundBox} An object with the width, height, and top properties of the element.
|
|
207
|
+
*/
|
|
208
|
+
getElementBoundBox() {
|
|
209
|
+
const element = this.showConfig.appendableElement;
|
|
210
|
+
const isElementHide = element.classList.contains('vega-force-hidden');
|
|
211
|
+
if (isElementHide)
|
|
212
|
+
element.classList.remove('vega-force-hidden');
|
|
213
|
+
const elementRect = element.getBoundingClientRect();
|
|
214
|
+
if (isElementHide)
|
|
215
|
+
element.classList.add('vega-force-hidden');
|
|
216
|
+
return {
|
|
217
|
+
width: elementRect.width,
|
|
218
|
+
height: elementRect.height,
|
|
219
|
+
left: elementRect.left,
|
|
220
|
+
top: elementRect.top,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* It takes a placement string or array of placements and returns an array of placements
|
|
225
|
+
* if given placement is single, we should completion the placements with the default {@link Placements}
|
|
226
|
+
* and make given placement as default.
|
|
227
|
+
* if given placement is array, we should use it directly, even it partial of {@link Placements}.
|
|
228
|
+
* if not placement give. we should use {@link Placements}.
|
|
229
|
+
*
|
|
230
|
+
* @returns {PlacementType[]} ordered placements.
|
|
231
|
+
*/
|
|
232
|
+
getPlacements() {
|
|
233
|
+
const placement = this.showConfig.placement;
|
|
234
|
+
if (typeof placement === 'string') {
|
|
235
|
+
const partial = Placements.filter((direction) => direction !== placement);
|
|
236
|
+
return [placement, ...partial];
|
|
237
|
+
}
|
|
238
|
+
else if (Array.isArray(placement)) {
|
|
239
|
+
return placement;
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
return [...Placements];
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* It takes a placement, a target box, and a element box, and returns an element box
|
|
247
|
+
*
|
|
248
|
+
* @param {ElementBoundBox} elementBox - The position of the element element.
|
|
249
|
+
* @param {ElementBoundBox} targetBox - The position of the target element.
|
|
250
|
+
* @param {PlacementType} placement - The placement of the element.
|
|
251
|
+
* @param {PositionAlignmentType} alignment - The alignment of the element
|
|
252
|
+
* @returns {ElementPositionBox} An object with top and left properties.
|
|
253
|
+
*/
|
|
254
|
+
calculatePosition(elementBox, targetBox, placement, alignment) {
|
|
255
|
+
return {
|
|
256
|
+
top: this.calculateTop(elementBox, targetBox, placement, alignment),
|
|
257
|
+
left: this.calculateLeft(elementBox, targetBox, placement, alignment),
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* It returns the translocation of the element relative to the target element
|
|
262
|
+
*
|
|
263
|
+
* @param {PlacementType} placement - The suitable placement of the element.
|
|
264
|
+
* @returns {TranslocationType} A translocation object with X and Y properties.
|
|
265
|
+
*/
|
|
266
|
+
getTranslocationBox(placement) {
|
|
267
|
+
const originPlacement = Array.isArray(this.showConfig.placement)
|
|
268
|
+
? this.showConfig.placement[0]
|
|
269
|
+
: this.showConfig.placement;
|
|
270
|
+
const translocation = this.getTranslocation();
|
|
271
|
+
const result = { X: 0, Y: 0 };
|
|
272
|
+
if (isTranslocationType(translocation)) {
|
|
273
|
+
let xValue = translocation.X;
|
|
274
|
+
let yValue = translocation.Y;
|
|
275
|
+
// If originPlacement and placement is not in same axis, it should reverse axis.
|
|
276
|
+
if ((originPlacement &&
|
|
277
|
+
['left', 'right'].includes(originPlacement) &&
|
|
278
|
+
['top', 'bottom'].includes(placement)) ||
|
|
279
|
+
(originPlacement &&
|
|
280
|
+
['top', 'bottom'].includes(originPlacement) &&
|
|
281
|
+
['left', 'right'].includes(placement))) {
|
|
282
|
+
xValue = translocation.Y;
|
|
283
|
+
yValue = translocation.X;
|
|
284
|
+
}
|
|
285
|
+
if (['bottom', 'top'].includes(placement)) {
|
|
286
|
+
result.Y = placement === 'top' ? -yValue : yValue;
|
|
287
|
+
result.X = xValue;
|
|
288
|
+
}
|
|
289
|
+
if (['left', 'right'].includes(placement)) {
|
|
290
|
+
result.X = placement === 'left' ? -xValue : xValue;
|
|
291
|
+
result.Y = yValue;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return result;
|
|
295
|
+
}
|
|
243
296
|
/**
|
|
244
297
|
* It takes a list of alignments and returns the suitable one that has enough space to fit the element
|
|
245
298
|
*
|
|
@@ -264,48 +317,6 @@ export class BasePositionCalculationStrategy extends VegaSlimmer {
|
|
|
264
317
|
return defaultAlignment;
|
|
265
318
|
}
|
|
266
319
|
}
|
|
267
|
-
/**
|
|
268
|
-
* Whether the alignment space is enough
|
|
269
|
-
*
|
|
270
|
-
* @param {ElementScrollDimension} containerBox - The bounding box of the container element.
|
|
271
|
-
* @param {ElementBoundBox} targetBox - The position of the target element.
|
|
272
|
-
* @param {ElementBoundBox} elementBox - The box of the element that we're trying to position.
|
|
273
|
-
* @param {PlacementType} placement - The placement of the element relative to the target.
|
|
274
|
-
* @param {PlacementType} alignment - The alignment of the element relative to the target.
|
|
275
|
-
* @returns {boolean} return true if it has enough space, otherwise false
|
|
276
|
-
*/
|
|
277
|
-
hasEnoughAlignmentSpace(containerBox, targetBox, elementBox, placement, alignment) {
|
|
278
|
-
if (['top', 'bottom'].includes(placement)) {
|
|
279
|
-
switch (alignment) {
|
|
280
|
-
case 'start': {
|
|
281
|
-
return targetBox.left + elementBox.width <= containerBox.width;
|
|
282
|
-
}
|
|
283
|
-
case 'center': {
|
|
284
|
-
return (targetBox.left >= (elementBox.width - targetBox.width) / 2 &&
|
|
285
|
-
targetBox.left + targetBox.width / 2 + elementBox.width / 2 <= containerBox.width);
|
|
286
|
-
}
|
|
287
|
-
case 'end': {
|
|
288
|
-
return targetBox.left + targetBox.width >= elementBox.width;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
if (['right', 'left'].includes(placement)) {
|
|
293
|
-
switch (alignment) {
|
|
294
|
-
case 'start': {
|
|
295
|
-
return targetBox.top + elementBox.height <= containerBox.height;
|
|
296
|
-
}
|
|
297
|
-
case 'center': {
|
|
298
|
-
return (targetBox.top >= (elementBox.height - targetBox.height) / 2 &&
|
|
299
|
-
targetBox.top + targetBox.height / 2 + elementBox.height / 2 <= containerBox.height);
|
|
300
|
-
}
|
|
301
|
-
case 'end': {
|
|
302
|
-
return targetBox.top + targetBox.height >= elementBox.height;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
/* istanbul ignore next */
|
|
307
|
-
return false;
|
|
308
|
-
}
|
|
309
320
|
/**
|
|
310
321
|
* If the placement is top or left, then the target's top or left position must be greater than or
|
|
311
322
|
* equal to the element's height or width. If the placement is bottom or right, then the container's
|
package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js
CHANGED
|
@@ -17,6 +17,13 @@ export class PositionCalculationController extends VegaSlimmer {
|
|
|
17
17
|
this.bodyPositionStrategy = new BodyPositionCalculationStrategy();
|
|
18
18
|
this.screenPositionStrategy = new ScreenPositionCalculationStrategy();
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Clears any pending screen-position scroll animation frame callback.
|
|
22
|
+
* Call this when the appendable is hidden/destroyed.
|
|
23
|
+
*/
|
|
24
|
+
clearScreenPositionScrollFrame() {
|
|
25
|
+
this.screenPositionStrategy.clearScrollFrame();
|
|
26
|
+
}
|
|
20
27
|
/**
|
|
21
28
|
* Sets the calculate postion strategy.
|
|
22
29
|
*/
|
|
@@ -31,6 +38,8 @@ export class PositionCalculationController extends VegaSlimmer {
|
|
|
31
38
|
* @param {boolean} [usePreviousPlacement] - Should keep use previous placement and alignment.
|
|
32
39
|
*/
|
|
33
40
|
adjustPosition(usePreviousPlacement) {
|
|
41
|
+
if (!this.positionStrategy.shouldAdjustPosition())
|
|
42
|
+
return;
|
|
34
43
|
this.adjustWidth();
|
|
35
44
|
this.adjustHeight();
|
|
36
45
|
this.applyPosition(this.positionStrategy.getPosition(usePreviousPlacement));
|