@heartlandone/vega 2.82.0 → 2.84.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/{accessibility-bfa227f6.js → accessibility-a5ef2038.js} +3 -2
- package/dist/cjs/{app-globals-3350d580.js → app-globals-ea063074.js} +7 -7
- package/dist/cjs/{child-nodes-event-prevent-slimmer-9b7095a4.js → child-nodes-event-prevent-slimmer-58bbc5fc.js} +1 -1
- package/dist/cjs/{code-block-b1f8aded.js → code-block-6da521e6.js} +24 -40
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-99fbd1f2.js → component-value-history-controller-slimmer.abstract-f3f35f94.js} +3 -3
- package/dist/cjs/{content-state-648652b4.js → content-state-89fafb3b.js} +2 -2
- package/dist/cjs/{date-required-rule-6addf5dd.js → date-required-rule-0dd83683.js} +1 -1
- package/dist/cjs/{design-token-93070bb8.js → design-token-4b3509dd.js} +3 -3
- package/dist/cjs/{dto-renderer-manager-ae5fcbba.js → dto-renderer-manager-7eb5c5ce.js} +42 -2
- package/dist/cjs/{element-appender-slimmer-dedd3a34.js → element-appender-slimmer-2b4e0a62.js} +86 -10
- package/dist/cjs/{event-emit-slimmer-bcb458b2.js → event-emit-slimmer-ecca412d.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-0f3a028e.js → form-field-controller-slimmer-a07e3de0.js} +1 -1
- package/dist/cjs/{image-annotation-action-0339e983.js → image-annotation-action-a6e1e9ed.js} +2 -2
- package/dist/cjs/index-58ea899e.js +4 -0
- package/dist/cjs/index.cjs.js +16 -16
- package/dist/cjs/{inject-keyboard-manager-2d9c4f92.js → inject-keyboard-manager-ff8735b8.js} +1 -1
- package/dist/cjs/{internal-translation-controller-fb1532f4.js → internal-translation-controller-8360a89c.js} +2 -0
- package/dist/cjs/{internal-vega-event-manager-fef893bf.js → internal-vega-event-manager-6b74b3af.js} +2 -1
- package/dist/cjs/{keyboard-manager-5ed6c472.js → keyboard-manager-cc446230.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-879ff4f3.js → keyboard-manager-slimmer-a10b7d6f.js} +1 -1
- package/dist/cjs/loader.cjs.js +11 -11
- package/dist/cjs/{month-view-generator-d262e6ce.js → month-view-generator-41b6c6b6.js} +1 -1
- package/dist/cjs/{public-rules-bce88d4e.js → public-rules-fc52d624.js} +7 -7
- package/dist/cjs/{range-5bd6d72b.js → range-93cc8ab1.js} +1 -1
- package/dist/cjs/{responsive-format-facade-2cab7344.js → responsive-format-facade-5f6cd211.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-e8a922be.js → rich-text-editor-required-rule-fd3711fb.js} +1 -1
- package/dist/cjs/{split-cell-operation-bb388de6.js → split-cell-operation-532fb9f0.js} +3 -3
- package/dist/cjs/{state-border-formatter-4e5e4ed0.js → state-border-formatter-d1c80c1d.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-9a35e3b4.js → string-format-strategy.abstract-b39da0dd.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-1018ddec.js → string-input-formatter-slimmer-127cf2b8.js} +1 -1
- package/dist/cjs/{string-mask-strategy-3aa17744.js → string-mask-strategy-524d0f69.js} +2 -2
- package/dist/cjs/{style-formatter-2226c869.js → style-formatter-c201e7d0.js} +2 -2
- package/dist/cjs/{time-required-rule-970dfdca.js → time-required-rule-ecb45905.js} +1 -1
- package/dist/cjs/{token-extension-9b213b6b.js → token-extension-39f2b886.js} +83 -26
- package/dist/cjs/{translation-slimmer-d0c77ad2.js → translation-slimmer-3cd7d3b2.js} +1 -1
- package/dist/cjs/{type-guard-3ec852d7.js → type-guard-2e97fc56.js} +14 -1
- package/dist/cjs/{valid-credit-card-number-rule-99d1bb34.js → valid-credit-card-number-rule-2d7d20ce.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +7 -7
- package/dist/cjs/vega-app-header-button.cjs.entry.js +28 -9
- package/dist/cjs/vega-banner.cjs.entry.js +16 -5
- package/dist/cjs/vega-box.cjs.entry.js +6 -6
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-circle.cjs.entry.js +8 -8
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
- package/dist/cjs/vega-button.cjs.entry.js +6 -6
- package/dist/cjs/vega-calendar_4.cjs.entry.js +8 -8
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +6 -6
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +57 -10
- package/dist/cjs/vega-chip.cjs.entry.js +9 -9
- package/dist/cjs/vega-code-block.cjs.entry.js +11 -11
- package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +627 -0
- package/dist/cjs/vega-color-swatch.cjs.entry.js +7 -7
- package/dist/cjs/vega-combo-box.cjs.entry.js +9 -9
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -17
- package/dist/cjs/vega-dialog_2.cjs.entry.js +217 -90
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +11 -11
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
- package/dist/cjs/vega-file-uploader.cjs.entry.js +6 -6
- package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-flex.cjs.entry.js +6 -6
- package/dist/cjs/vega-font.cjs.entry.js +5 -5
- package/dist/cjs/vega-form.cjs.entry.js +6 -6
- package/dist/cjs/vega-grid.cjs.entry.js +5 -5
- package/dist/cjs/vega-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-image-uploader.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-numeric.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-passcode.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-range.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-select.cjs.entry.js +9 -9
- package/dist/cjs/vega-input.cjs.entry.js +9 -9
- package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +9 -9
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +8 -8
- package/dist/cjs/vega-popover_2.cjs.entry.js +10 -10
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +14 -15
- package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +7 -7
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +85 -25
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +11 -11
- package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +6 -6
- package/dist/cjs/vega-signature-capture.cjs.entry.js +9 -9
- package/dist/cjs/vega-stepper.cjs.entry.js +5 -5
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-table_11.cjs.entry.js +8 -8
- package/dist/cjs/vega-text.cjs.entry.js +46 -1
- package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +50 -19
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega.cjs.js +11 -11
- package/dist/collection/collection-manifest.json +6 -0
- package/dist/collection/components/vega-app-header-button/slimmers/renderers/vega-app-header-button-dropdown-renderer.js +14 -1
- package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +46 -3
- package/dist/collection/components/vega-banner/slimmers/renderers/vega-banner-renderer.js +11 -2
- package/dist/collection/components/vega-banner/vega-banner.js +3 -1
- package/dist/collection/components/vega-checkbox/vega-checkbox.css +19 -14
- package/dist/collection/components/vega-checkbox/vega-checkbox.js +73 -3
- package/dist/collection/components/vega-color-swatch/slimmers/renderers/vega-color-swatch-renderer.js +2 -2
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/assets/hashtag.js +3 -0
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/slimmers/controllers/color-swatch-picker-color-format-controller.js +64 -0
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/slimmers/controllers/color-swatch-picker-value-controller.js +65 -0
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-grid-renderer.js +59 -0
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-input-renderer.js +83 -0
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-picker-renderer.js +115 -0
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.css +67 -0
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.js +585 -0
- package/dist/collection/components/vega-dialog/vega-dialog.css +1 -0
- package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
- package/dist/collection/components/vega-grid/vega-grid.js +2 -2
- package/dist/collection/components/vega-input/vega-input.js +1 -1
- package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js +9 -3
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-padding-state-controller.js +43 -0
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-nested-modal-controller.js +17 -2
- package/dist/collection/components/vega-modal/slimmers/models/vega-modal-section-padding-state.js +56 -0
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +11 -11
- package/dist/collection/components/vega-modal/vega-modal.css +20 -21
- package/dist/collection/components/vega-modal/vega-modal.js +19 -3
- package/dist/collection/components/vega-pagination/internal/vega-pagination-go-to.js +1 -1
- package/dist/collection/components/vega-pagination/vega-pagination-page-selector-mobile/slimmers/renderers/page-selector-mobile-renderer.js +1 -1
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +12 -10
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +4 -39
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +28 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +24 -6
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +23 -8
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +18 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +23 -3
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +47 -0
- package/dist/collection/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.js +46 -1
- package/dist/collection/components/vega-time-picker/slimmers/renderers/vega-time-picker-range-clear-button-renderer.js +13 -5
- package/dist/collection/components/vega-time-picker/slimmers/renderers/vega-time-picker-single-input-renderer.js +4 -1
- package/dist/collection/components/vega-time-picker/vega-time-picker.js +44 -0
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +3 -2
- package/dist/collection/helpers/rte-manager/dto-renderer-manager.js +42 -2
- package/dist/collection/helpers/slimmers/element-appender/body-positioned-wrapper/third-party-dialog-wrapper.js +73 -0
- package/dist/collection/helpers/slimmers/element-appender/element-appender-container-controller.js +6 -0
- package/dist/collection/helpers/translation/locales/en.js +2 -0
- package/dist/collection/types/type-guard.js +12 -0
- package/dist/collection/utils/accessibility.js +3 -2
- package/dist/collection/value-model-adapters/angular-ng-model-accessor-adapter.js +1 -0
- package/dist/collection/value-model-adapters/vue-component-v-model-adaptor.js +1 -0
- package/dist/esm/{accessibility-e5fd0fab.js → accessibility-524cabd2.js} +3 -2
- package/dist/esm/{app-globals-0b7e8b50.js → app-globals-d06de2a5.js} +7 -7
- package/dist/esm/{child-nodes-event-prevent-slimmer-9c24d4fc.js → child-nodes-event-prevent-slimmer-f65e2452.js} +1 -1
- package/dist/esm/{code-block-b8be290a.js → code-block-65c8804b.js} +24 -40
- package/dist/esm/{component-value-history-controller-slimmer.abstract-10ccf8e6.js → component-value-history-controller-slimmer.abstract-26c154f6.js} +3 -3
- package/dist/esm/{content-state-72b513d1.js → content-state-e676bdf0.js} +2 -2
- package/dist/esm/{date-required-rule-891a6a57.js → date-required-rule-a84c21d4.js} +1 -1
- package/dist/esm/{design-token-59d07aa2.js → design-token-57de4f4f.js} +3 -3
- package/dist/esm/{dto-renderer-manager-12bc9121.js → dto-renderer-manager-abc7eb5f.js} +42 -2
- package/dist/esm/{element-appender-slimmer-5aca1bca.js → element-appender-slimmer-d4a82dc3.js} +86 -10
- package/dist/esm/{event-emit-slimmer-32da9d90.js → event-emit-slimmer-18711776.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-899864a8.js → form-field-controller-slimmer-9a0f8c54.js} +1 -1
- package/dist/esm/{image-annotation-action-ebd6c421.js → image-annotation-action-2d87b66a.js} +3 -3
- package/dist/esm/index-090d31ca.js +4 -0
- package/dist/esm/index.js +17 -17
- package/dist/esm/{inject-keyboard-manager-dc1d7135.js → inject-keyboard-manager-1ceb9ee0.js} +1 -1
- package/dist/esm/{internal-translation-controller-4fb104b2.js → internal-translation-controller-d7dee4a0.js} +2 -0
- package/dist/esm/{internal-vega-event-manager-8a657bac.js → internal-vega-event-manager-bed71930.js} +3 -2
- package/dist/esm/{keyboard-manager-6ea9968b.js → keyboard-manager-50a1d90e.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-7eed4734.js → keyboard-manager-slimmer-3891ee20.js} +1 -1
- package/dist/esm/loader.js +12 -12
- package/dist/esm/{month-view-generator-aaa27fce.js → month-view-generator-70c597a6.js} +1 -1
- package/dist/esm/{public-rules-f2005e11.js → public-rules-a61ff09f.js} +7 -7
- package/dist/esm/{range-ed532278.js → range-d9e55d00.js} +1 -1
- package/dist/esm/{responsive-format-facade-e9926018.js → responsive-format-facade-456a9f16.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-b559cf1a.js → rich-text-editor-required-rule-6a4c853a.js} +1 -1
- package/dist/esm/{split-cell-operation-5587f594.js → split-cell-operation-2e700c5c.js} +3 -3
- package/dist/esm/{state-border-formatter-be51463d.js → state-border-formatter-afac8d33.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-0157b3c5.js → string-format-strategy.abstract-f9907969.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-33ed3478.js → string-input-formatter-slimmer-ad234bec.js} +1 -1
- package/dist/esm/{string-mask-strategy-b58891b5.js → string-mask-strategy-5f655300.js} +2 -2
- package/dist/esm/{style-formatter-9662ae88.js → style-formatter-ee52d8d0.js} +2 -2
- package/dist/esm/{time-required-rule-a9dc8473.js → time-required-rule-db873c19.js} +1 -1
- package/dist/esm/{token-extension-9d717a35.js → token-extension-d3a46c04.js} +84 -27
- package/dist/esm/{translation-slimmer-4faae5a3.js → translation-slimmer-5e2bff5f.js} +1 -1
- package/dist/esm/{type-guard-152070e9.js → type-guard-adc244fd.js} +14 -2
- package/dist/esm/{valid-credit-card-number-rule-a7907cb7.js → valid-credit-card-number-rule-a826dd49.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +8 -8
- package/dist/esm/vega-app-header-button.entry.js +29 -10
- package/dist/esm/vega-banner.entry.js +17 -6
- package/dist/esm/vega-box.entry.js +6 -6
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +9 -9
- package/dist/esm/vega-button-group_2.entry.js +4 -4
- package/dist/esm/vega-button-link.entry.js +4 -4
- package/dist/esm/vega-button.entry.js +7 -7
- package/dist/esm/vega-calendar_4.entry.js +9 -9
- package/dist/esm/vega-card.entry.js +5 -5
- package/dist/esm/vega-carousel.entry.js +7 -7
- package/dist/esm/vega-checkbox_2.entry.js +58 -11
- package/dist/esm/vega-chip.entry.js +10 -10
- package/dist/esm/vega-code-block.entry.js +12 -12
- package/dist/esm/vega-color-picker.entry.js +6 -6
- package/dist/esm/vega-color-swatch-picker.entry.js +623 -0
- package/dist/esm/vega-color-swatch.entry.js +8 -8
- package/dist/esm/vega-combo-box.entry.js +10 -10
- package/dist/esm/vega-date-picker_2.entry.js +18 -18
- package/dist/esm/vega-dialog_2.entry.js +218 -91
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +12 -12
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-4ede557a.js → vega-event-id-5841d1d3.js} +1 -1
- package/dist/esm/vega-field-label.entry.js +4 -4
- package/dist/esm/vega-file-uploader.entry.js +7 -7
- package/dist/esm/vega-flag-icon.entry.js +5 -5
- package/dist/esm/vega-flex.entry.js +6 -6
- package/dist/esm/vega-font.entry.js +5 -5
- package/dist/esm/vega-form.entry.js +7 -7
- package/dist/esm/vega-grid.entry.js +5 -5
- package/dist/esm/vega-icon.entry.js +5 -5
- package/dist/esm/vega-image-uploader.entry.js +10 -10
- package/dist/esm/vega-input-credit-card.entry.js +10 -10
- package/dist/esm/vega-input-numeric.entry.js +9 -9
- package/dist/esm/vega-input-passcode.entry.js +9 -9
- package/dist/esm/vega-input-phone-number.entry.js +8 -8
- package/dist/esm/vega-input-range.entry.js +8 -8
- package/dist/esm/vega-input-select.entry.js +10 -10
- package/dist/esm/vega-input.entry.js +10 -10
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +10 -10
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
- package/dist/esm/vega-page-notification_2.entry.js +2 -2
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +4 -4
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +3 -3
- package/dist/esm/vega-pagination.entry.js +9 -9
- package/dist/esm/vega-popover_2.entry.js +11 -11
- package/dist/esm/vega-progress-tracker_2.entry.js +15 -16
- package/dist/esm/vega-radio_2.entry.js +10 -10
- package/dist/esm/vega-rich-text-content.entry.js +8 -8
- package/dist/esm/vega-rich-text-editor_4.entry.js +86 -26
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +12 -12
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +9 -9
- package/dist/esm/vega-selection-tile_2.entry.js +7 -7
- package/dist/esm/vega-sidenav_3.entry.js +7 -7
- package/dist/esm/vega-signature-capture.entry.js +10 -10
- package/dist/esm/vega-stepper.entry.js +6 -6
- package/dist/esm/vega-tab-group_2.entry.js +5 -5
- package/dist/esm/vega-table_11.entry.js +9 -9
- package/dist/esm/vega-text.entry.js +46 -1
- package/dist/esm/vega-textarea.entry.js +6 -6
- package/dist/esm/vega-time-picker_2.entry.js +51 -20
- package/dist/esm/vega-toggle-switch.entry.js +6 -6
- package/dist/esm/vega-tooltip_2.entry.js +6 -6
- package/dist/esm/vega.js +12 -12
- package/dist/sri/vega-sri-manifest.json +350 -346
- package/dist/types/components/vega-app-header-button/slimmers/renderers/vega-app-header-button-dropdown-renderer.d.ts +8 -0
- package/dist/types/components/vega-app-header-button/types.d.ts +2 -0
- package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +16 -0
- package/dist/types/components/vega-banner/slimmers/renderers/vega-banner-renderer.d.ts +6 -0
- package/dist/types/components/vega-banner/vega-banner.d.ts +2 -0
- package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +23 -1
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/assets/hashtag.d.ts +3 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/slimmers/controllers/color-swatch-picker-color-format-controller.d.ts +32 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/slimmers/controllers/color-swatch-picker-value-controller.d.ts +31 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-grid-renderer.d.ts +26 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-input-renderer.d.ts +25 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-picker-renderer.d.ts +43 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/types.d.ts +17 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.d.ts +149 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.d.ts +1 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-padding-state-controller.d.ts +21 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-nested-modal-controller.d.ts +3 -2
- package/dist/types/components/vega-modal/slimmers/models/vega-modal-section-padding-state.d.ts +29 -0
- package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +1 -1
- package/dist/types/components/vega-modal/types.d.ts +11 -0
- package/dist/types/components/vega-modal/vega-modal.d.ts +7 -2
- package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +8 -9
- package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +0 -7
- package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +20 -2
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +13 -2
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +15 -4
- package/dist/types/components/vega-rich-text-editor/extensions/table/table-extension.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/extension-controller.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +4 -3
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +14 -1
- package/dist/types/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.d.ts +1 -0
- package/dist/types/components/vega-time-picker/slimmers/renderers/vega-time-picker-range-clear-button-renderer.d.ts +6 -3
- package/dist/types/components/vega-time-picker/slimmers/renderers/vega-time-picker-single-input-renderer.d.ts +1 -0
- package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +20 -0
- package/dist/types/components.d.ts +224 -8
- package/dist/types/helpers/rte-manager/dto-renderer-manager.d.ts +26 -1
- package/dist/types/helpers/slimmers/element-appender/body-positioned-wrapper/third-party-dialog-wrapper.d.ts +45 -0
- package/dist/types/helpers/slimmers/element-appender/element-appender-container-controller.d.ts +2 -0
- package/dist/types/helpers/translation/interface.d.ts +3 -1
- package/dist/types/types/components.type.d.ts +7 -1
- package/dist/types/types/type-guard.d.ts +8 -0
- package/dist/types/utils/accessibility.d.ts +6 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-fc7ab79d.js → p-031c0cf7.js} +1 -1
- package/dist/vega/{p-e71864ff.js → p-032183c1.js} +1 -1
- package/dist/vega/{p-246eb001.entry.js → p-03cf2df1.entry.js} +1 -1
- package/dist/vega/{p-7d85cc74.entry.js → p-096d186d.entry.js} +1 -1
- package/dist/vega/{p-ebdb489c.entry.js → p-0bb0b521.entry.js} +1 -1
- package/dist/vega/{p-19a30f98.entry.js → p-0e15fa94.entry.js} +1 -1
- package/dist/vega/p-0f31b00b.entry.js +1 -0
- package/dist/vega/{p-42141782.js → p-11a2f834.js} +1 -1
- package/dist/vega/{p-eb0ebf50.entry.js → p-19e10a87.entry.js} +1 -1
- package/dist/vega/{p-2b5cf2b3.js → p-1a869f0e.js} +1 -1
- package/dist/vega/{p-8b217c7e.entry.js → p-1df2c29b.entry.js} +1 -1
- package/dist/vega/{p-9c1a48b9.entry.js → p-20f0060f.entry.js} +1 -1
- package/dist/vega/p-220f8ee7.js +1 -0
- package/dist/vega/{p-c36afa21.entry.js → p-27b1dc0f.entry.js} +1 -1
- package/dist/vega/{p-103d20f5.js → p-34964a53.js} +1 -1
- package/dist/vega/p-39b71df9.entry.js +1 -0
- package/dist/vega/p-3ae5f50e.entry.js +1 -0
- package/dist/vega/{p-d5531d3c.js → p-3b791b5d.js} +1 -1
- package/dist/vega/p-4123559f.entry.js +1 -0
- package/dist/vega/p-43aaeb30.entry.js +1 -0
- package/dist/vega/{p-3fae8d3f.entry.js → p-45aaaef6.entry.js} +1 -1
- package/dist/vega/{p-085de8fc.js → p-4cefd7fe.js} +1 -1
- package/dist/vega/{p-8583dd34.entry.js → p-5215e1d8.entry.js} +1 -1
- package/dist/vega/{p-783531cf.entry.js → p-5409275a.entry.js} +1 -1
- package/dist/vega/{p-d7bd2470.entry.js → p-5490d499.entry.js} +1 -1
- package/dist/vega/{p-d456386a.entry.js → p-549bea2c.entry.js} +1 -1
- package/dist/vega/p-5657f768.js +1 -0
- package/dist/vega/{p-d4f1f007.js → p-56c28943.js} +1 -1
- package/dist/vega/{p-14de7ba0.entry.js → p-571a6d15.entry.js} +1 -1
- package/dist/vega/{p-6572e038.js → p-57f220b5.js} +1 -1
- package/dist/vega/{p-25ab7a33.entry.js → p-5ac4649a.entry.js} +1 -1
- package/dist/vega/{p-988401c3.entry.js → p-5bbb3e68.entry.js} +1 -1
- package/dist/vega/{p-ef59f6f0.js → p-5bf3ab33.js} +1 -1
- package/dist/vega/{p-bb46d8e6.entry.js → p-5f23c52d.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-6236f592.entry.js +1 -0
- package/dist/vega/p-68a96fbb.entry.js +1 -0
- package/dist/vega/p-6ac8e655.js +1 -0
- package/dist/vega/{p-4e95248c.entry.js → p-6ba71ec4.entry.js} +1 -1
- package/dist/vega/{p-02467b61.js → p-6cada843.js} +1 -1
- package/dist/vega/{p-f7a5746b.js → p-6f790577.js} +1 -1
- package/dist/vega/{p-597588d0.entry.js → p-74136508.entry.js} +1 -1
- package/dist/vega/p-748268e6.entry.js +1 -0
- package/dist/vega/{p-ea564928.entry.js → p-753a7832.entry.js} +1 -1
- package/dist/vega/{p-116e3963.js → p-7595ad55.js} +1 -1
- package/dist/vega/{p-475bd8bf.entry.js → p-7702a906.entry.js} +1 -1
- package/dist/vega/{p-cc18970f.entry.js → p-78099a83.entry.js} +1 -1
- package/dist/vega/{p-0915a8d3.entry.js → p-7cf1e1f7.entry.js} +1 -1
- package/dist/vega/p-7dbaed6c.entry.js +1 -0
- package/dist/vega/{p-a6dbc63d.entry.js → p-7dca19d3.entry.js} +1 -1
- package/dist/vega/p-80cb302f.entry.js +1 -0
- package/dist/vega/p-82039afd.entry.js +1 -0
- package/dist/vega/{p-e340d58c.entry.js → p-84030271.entry.js} +1 -1
- package/dist/vega/{p-88b6184c.entry.js → p-865fc90b.entry.js} +1 -1
- package/dist/vega/{p-58b6ac33.entry.js → p-88f57353.entry.js} +1 -1
- package/dist/vega/{p-30445cd9.entry.js → p-8d833b44.entry.js} +1 -1
- package/dist/vega/p-91739ed3.entry.js +1 -0
- package/dist/vega/{p-d320496e.entry.js → p-9297f4a9.entry.js} +1 -1
- package/dist/vega/{p-cab70b95.entry.js → p-9308f874.entry.js} +1 -1
- package/dist/vega/p-9375fbce.js +1 -0
- package/dist/vega/{p-7df43192.entry.js → p-99670c56.entry.js} +1 -1
- package/dist/vega/p-9de25451.js +1 -0
- package/dist/vega/{p-b9a95aca.entry.js → p-9f064488.entry.js} +1 -1
- package/dist/vega/p-9f728e0b.js +1 -0
- package/dist/vega/p-a2d6d695.entry.js +1 -0
- package/dist/vega/{p-c8435185.js → p-a5e6a3be.js} +1 -1
- package/dist/vega/{p-9751c801.js → p-a87cb7ac.js} +1 -1
- package/dist/vega/{p-5ffdea8e.js → p-aa040383.js} +1 -1
- package/dist/vega/{p-ed01657b.entry.js → p-aa4d419c.entry.js} +1 -1
- package/dist/vega/p-b48b3264.js +1 -0
- package/dist/vega/p-b6c3ce6d.js +1 -0
- package/dist/vega/{p-ab829745.js → p-b7721666.js} +1 -1
- package/dist/vega/{p-c5eb0fa6.js → p-b78eaec4.js} +1 -1
- package/dist/vega/{p-c8d41cdc.entry.js → p-b80217fa.entry.js} +1 -1
- package/dist/vega/{p-280f63fa.entry.js → p-b88eab9a.entry.js} +1 -1
- package/dist/vega/{p-8da66d41.entry.js → p-bc2786f9.entry.js} +1 -1
- package/dist/vega/{p-d32e83e7.js → p-bdddddb7.js} +1 -1
- package/dist/vega/{p-da742a7f.entry.js → p-c0323a55.entry.js} +1 -1
- package/dist/vega/{p-edda10f7.js → p-c47c37f2.js} +1 -1
- package/dist/vega/{p-3505f7cc.entry.js → p-c6837173.entry.js} +1 -1
- package/dist/vega/{p-b7624ce4.js → p-c85e743d.js} +1 -1
- package/dist/vega/{p-b9947846.js → p-c95dbf11.js} +1 -1
- package/dist/vega/p-ce975c69.entry.js +1 -0
- package/dist/vega/{p-eda7cd76.entry.js → p-d10ae46a.entry.js} +1 -1
- package/dist/vega/p-d3864b94.entry.js +1 -0
- package/dist/vega/{p-b5497af2.entry.js → p-d3ed7c27.entry.js} +1 -1
- package/dist/vega/{p-29f42c27.entry.js → p-d6c9ef6c.entry.js} +1 -1
- package/dist/vega/{p-23c840dc.entry.js → p-d76e3b3c.entry.js} +1 -1
- package/dist/vega/{p-a07c0f8c.js → p-dba16739.js} +1 -1
- package/dist/vega/{p-a30ae8a1.js → p-dec5b448.js} +1 -1
- package/dist/vega/{p-b08a70e6.entry.js → p-e1b1f5f9.entry.js} +1 -1
- package/dist/vega/{p-956b170c.js → p-e1d2c60d.js} +1 -1
- package/dist/vega/{p-b9386dd0.js → p-e4c4ea35.js} +1 -1
- package/dist/vega/{p-efc8c09e.entry.js → p-e4c5b8d1.entry.js} +1 -1
- package/dist/vega/{p-f020738c.entry.js → p-e5546af5.entry.js} +1 -1
- package/dist/vega/{p-513f51ec.entry.js → p-e5cc839a.entry.js} +1 -1
- package/dist/vega/{p-44044ed7.js → p-effa6495.js} +1 -1
- package/dist/vega/{p-0dbd7723.entry.js → p-f0e855b2.entry.js} +1 -1
- package/dist/vega/{p-f89cf75a.entry.js → p-f6414a24.entry.js} +1 -1
- package/dist/vega/{p-7faaa5e1.entry.js → p-f8c700dd.entry.js} +1 -1
- package/dist/vega/{p-51d2e0ab.entry.js → p-f986f875.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-075bb809.entry.js +0 -1
- package/dist/vega/p-1ca95601.entry.js +0 -1
- package/dist/vega/p-1dd6ba67.js +0 -1
- package/dist/vega/p-1efb47fe.entry.js +0 -1
- package/dist/vega/p-29d31c98.entry.js +0 -1
- package/dist/vega/p-318f0df5.js +0 -1
- package/dist/vega/p-337a5e76.js +0 -1
- package/dist/vega/p-47611a83.entry.js +0 -1
- package/dist/vega/p-4f938ee4.entry.js +0 -1
- package/dist/vega/p-596bc4f6.entry.js +0 -1
- package/dist/vega/p-6d95390b.entry.js +0 -1
- package/dist/vega/p-6e9f832f.js +0 -1
- package/dist/vega/p-85abe824.entry.js +0 -1
- package/dist/vega/p-86194314.js +0 -1
- package/dist/vega/p-97f36f4e.entry.js +0 -1
- package/dist/vega/p-9d854d43.js +0 -1
- package/dist/vega/p-a5bd3ecd.entry.js +0 -1
- package/dist/vega/p-c366e7f7.entry.js +0 -1
- package/dist/vega/p-d872beb1.entry.js +0 -1
- package/dist/vega/p-d9d5c693.entry.js +0 -1
- package/dist/vega/p-dd6211cd.js +0 -1
- package/dist/vega/p-fcabf0dc.js +0 -1
|
@@ -2,30 +2,41 @@ import { methodPlaceholder } from 'vega-slimmer/core';
|
|
|
2
2
|
import { VegaRTEToolbarButtonRenderer } from '../base-toolbar-button-renderer';
|
|
3
3
|
/**
|
|
4
4
|
* Toolbar button renderer for language selection in Vega Rich Text Editor.
|
|
5
|
+
*
|
|
6
|
+
* Each {@link HTMLVegaRichTextEditorElement} that uses a language extension receives its
|
|
7
|
+
* **own** instance of this renderer, registered in the per-host map inside
|
|
8
|
+
* {@link RTEDTORendererManager} via {@link VegaRTEExtension#prepareBeforeLoad}. Because
|
|
9
|
+
* every editor has a dedicated renderer, all state (label DOM ref, selected language, and
|
|
10
|
+
* the language-change callback) is held in plain instance fields — no WeakMaps or shared
|
|
11
|
+
* singletons are required.
|
|
5
12
|
*/
|
|
6
13
|
export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
7
|
-
constructor(languageList, languageChangeCallback, selectedLanguage) {
|
|
14
|
+
constructor(languageList, languageChangeCallback, selectedLanguage = '') {
|
|
8
15
|
super();
|
|
9
16
|
this.languageList = [];
|
|
10
|
-
this.
|
|
17
|
+
this.languageChangeCallback = null;
|
|
18
|
+
this.selectedLanguage = '';
|
|
11
19
|
this.labelRef = null;
|
|
12
20
|
/**
|
|
13
21
|
* Handles the language selection event.
|
|
22
|
+
* Because each editor has its own renderer instance, the language-change callback
|
|
23
|
+
* is stored directly on this instance — no indirect context lookup is needed.
|
|
14
24
|
*
|
|
15
25
|
* @param {string} itemKey - The key of the selected language item.
|
|
16
26
|
*/
|
|
17
27
|
this.handleDropdownClick = (itemKey) => {
|
|
18
28
|
this.setSelectedLanguage(itemKey);
|
|
19
29
|
if (typeof this.languageChangeCallback === 'function') {
|
|
20
|
-
this.languageChangeCallback(
|
|
30
|
+
this.languageChangeCallback(itemKey);
|
|
21
31
|
}
|
|
22
32
|
};
|
|
23
33
|
this.languageList = languageList;
|
|
24
|
-
this.selectedLanguage = selectedLanguage;
|
|
25
34
|
this.languageChangeCallback = languageChangeCallback;
|
|
35
|
+
this.selectedLanguage = selectedLanguage;
|
|
26
36
|
}
|
|
27
37
|
/**
|
|
28
|
-
*
|
|
38
|
+
* Updates the selected language and refreshes the button label text in-place,
|
|
39
|
+
* without requiring a full re-render of the toolbar.
|
|
29
40
|
*
|
|
30
41
|
* @param {string} language The language key to set as selected.
|
|
31
42
|
*/
|
|
@@ -55,7 +66,8 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
|
|
|
55
66
|
]);
|
|
56
67
|
}
|
|
57
68
|
/**
|
|
58
|
-
* Override to
|
|
69
|
+
* Override to capture the rendered label element ref so that
|
|
70
|
+
* {@link setSelectedLanguage} can update the button text without a full re-render.
|
|
59
71
|
*
|
|
60
72
|
* @inheritDoc
|
|
61
73
|
*/
|
|
@@ -65,7 +77,9 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
|
|
|
65
77
|
variant: 'font-field-label-sm',
|
|
66
78
|
color: isDisabled ? 'text-disabled' : 'text-primary',
|
|
67
79
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
68
|
-
ref: (el) =>
|
|
80
|
+
ref: (el) => {
|
|
81
|
+
this.labelRef = el;
|
|
82
|
+
},
|
|
69
83
|
}, label);
|
|
70
84
|
}
|
|
71
85
|
/* istanbul ignore next */
|
|
@@ -84,7 +98,8 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
|
|
|
84
98
|
* @returns {string} The label of the language, or the key if not found.
|
|
85
99
|
*/
|
|
86
100
|
getLanguageLabelByKey(key) {
|
|
101
|
+
var _a;
|
|
87
102
|
const language = this.getListItemByKey(this.languageList, key);
|
|
88
|
-
return language.label;
|
|
103
|
+
return (_a = language === null || language === void 0 ? void 0 : language.label) !== null && _a !== void 0 ? _a : 'Select Language';
|
|
89
104
|
}
|
|
90
105
|
}
|
package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js
CHANGED
|
@@ -129,10 +129,10 @@ export class VegaRTETableExtension extends VegaRTEExtension {
|
|
|
129
129
|
*
|
|
130
130
|
* @param {RTEExtensionContext} context - extension context
|
|
131
131
|
*/
|
|
132
|
-
|
|
132
|
+
initialExtensionAfterLoad(context) {
|
|
133
133
|
this.tableSelection.init(context);
|
|
134
134
|
const tableExtensionContext = Object.assign(Object.assign({}, context), { tableSelection: this.tableSelection });
|
|
135
|
-
super.
|
|
135
|
+
super.initialExtensionAfterLoad(tableExtensionContext);
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
138
|
* @inheritDoc
|
|
@@ -46,6 +46,19 @@ export class RTEExtensionController extends VegaSlimmer {
|
|
|
46
46
|
return this.selectionController.getSelectedNodes();
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Prepares all registered extensions before the first render.
|
|
51
|
+
* This method is called during `componentWillLoad` so that extensions can perform
|
|
52
|
+
* host-specific setup (e.g. registering per-host toolbar button renderers) before
|
|
53
|
+
* Stencil renders the component for the first time.
|
|
54
|
+
*/
|
|
55
|
+
prepareExtensionsBeforeLoad() {
|
|
56
|
+
if (this.extensions && this.host) {
|
|
57
|
+
for (const extension of this.extensions) {
|
|
58
|
+
extension.prepareBeforeLoad(this.host);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
49
62
|
/**
|
|
50
63
|
* Initializes the extension context for all registered extensions.
|
|
51
64
|
* This method is called when the component is connected and whenever the extensions property changes.
|
|
@@ -54,7 +67,7 @@ export class RTEExtensionController extends VegaSlimmer {
|
|
|
54
67
|
if (this.extensions && this.host) {
|
|
55
68
|
const extensionContext = this.generateExtensionContext();
|
|
56
69
|
for (const extension of this.extensions) {
|
|
57
|
-
extension.
|
|
70
|
+
extension.initialExtensionAfterLoad(extensionContext);
|
|
58
71
|
}
|
|
59
72
|
}
|
|
60
73
|
}
|
|
@@ -81,6 +94,7 @@ export class RTEExtensionController extends VegaSlimmer {
|
|
|
81
94
|
}
|
|
82
95
|
}
|
|
83
96
|
if (!isArrayEqual(newValue, oldValue, false, (a, b) => a === b ? 0 : 1)) {
|
|
97
|
+
this.prepareExtensionsBeforeLoad();
|
|
84
98
|
this.initialExtensionContext();
|
|
85
99
|
}
|
|
86
100
|
}
|
|
@@ -115,6 +129,9 @@ __decorate([
|
|
|
115
129
|
__decorate([
|
|
116
130
|
MapToComponentField()
|
|
117
131
|
], RTEExtensionController.prototype, "selectionController", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
MapToComponentMethod('componentWillLoad')
|
|
134
|
+
], RTEExtensionController.prototype, "prepareExtensionsBeforeLoad", null);
|
|
118
135
|
__decorate([
|
|
119
136
|
MapToComponentMethod('componentDidLoad')
|
|
120
137
|
], RTEExtensionController.prototype, "initialExtensionContext", null);
|
package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js
CHANGED
|
@@ -70,7 +70,7 @@ export class ToolbarRenderer extends VegaSlimmer {
|
|
|
70
70
|
const groupElement = group
|
|
71
71
|
.map((item) => {
|
|
72
72
|
const presetRenderer = this.getToolbarBtnRenderer(item);
|
|
73
|
-
const customRenderer = RTEDTORendererManager.getRTEToolbarButtonRenderer(item);
|
|
73
|
+
const customRenderer = RTEDTORendererManager.getRTEToolbarButtonRenderer(item, this.host);
|
|
74
74
|
if (presetRenderer) {
|
|
75
75
|
if (!presetRenderer.isHidden()) {
|
|
76
76
|
totalVisibleCount++;
|
|
@@ -14,7 +14,6 @@ import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-sli
|
|
|
14
14
|
import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
|
|
15
15
|
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
16
16
|
import { VegaClick, VegaDropdownClick } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
17
|
-
import { tryGetDocument } from '../../../../../utils/try-get-document';
|
|
18
17
|
export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
19
18
|
constructor() {
|
|
20
19
|
super({
|
|
@@ -27,7 +26,6 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
27
26
|
await this.insertURLModalRef.modal('hide');
|
|
28
27
|
};
|
|
29
28
|
this.handleDropdownItemClick = async (payload) => {
|
|
30
|
-
const safeDocument = tryGetDocument();
|
|
31
29
|
switch (payload.detail) {
|
|
32
30
|
case 'upload':
|
|
33
31
|
this.uploadInputRef.click();
|
|
@@ -36,7 +34,8 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
36
34
|
this.currentRange = this.selectionController.getCurrentRange();
|
|
37
35
|
this.currentSelectedNodes = this.selectionController.getSelectedNodes();
|
|
38
36
|
this.currentSelectedBlocks = this.selectionController.getSelectedBlocks();
|
|
39
|
-
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
38
|
+
this.host.parentElement.append(this.insertURLModalRef);
|
|
40
39
|
this.insertURLInputRef.value = '';
|
|
41
40
|
await this.insertURLModalRef.modal('show');
|
|
42
41
|
await this.insertURLInputRef.doFocus();
|
|
@@ -167,6 +166,9 @@ ImageToolbarButtonSlimmer.items = [
|
|
|
167
166
|
label: 'Insert via URL',
|
|
168
167
|
},
|
|
169
168
|
];
|
|
169
|
+
__decorate([
|
|
170
|
+
MapToComponentField()
|
|
171
|
+
], ImageToolbarButtonSlimmer.prototype, "host", void 0);
|
|
170
172
|
__decorate([
|
|
171
173
|
MapToComponentField()
|
|
172
174
|
], ImageToolbarButtonSlimmer.prototype, "insertImageController", void 0);
|
|
@@ -23,8 +23,9 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
|
|
|
23
23
|
tooltip: { text: 'Text Styles' },
|
|
24
24
|
});
|
|
25
25
|
this.handleDropdownItemClick = (payload) => {
|
|
26
|
+
var _a, _b;
|
|
26
27
|
const selectedType = payload.detail;
|
|
27
|
-
const boldByDefault = TextStylesToolbarButtonSlimmer.
|
|
28
|
+
const boldByDefault = (_b = (_a = TextStylesToolbarButtonSlimmer.allItems.find((item) => item.key === selectedType)) === null || _a === void 0 ? void 0 : _a.bold) !== null && _b !== void 0 ? _b : false;
|
|
28
29
|
const selectedTextBlocks = this.selectionController
|
|
29
30
|
.getSelectedBlocks()
|
|
30
31
|
.filter((block) => block instanceof RTETextBlock);
|
|
@@ -53,7 +54,8 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
|
|
|
53
54
|
h("div", Object.assign({ slot: "items" }, super.preventLostFocus()), this.renderDropdownContent())));
|
|
54
55
|
}
|
|
55
56
|
renderDropdownContent() {
|
|
56
|
-
|
|
57
|
+
const visibleItems = TextStylesToolbarButtonSlimmer.allItems.filter((item) => this.textStyleItems.some((config) => config.key === item.key));
|
|
58
|
+
return (h(Fragment, null, visibleItems.map((item) => {
|
|
57
59
|
const textStyleAnnotation = new TextStyleAnnotation(item.key);
|
|
58
60
|
const boldAnnotation = new BoldAnnotation(item.bold);
|
|
59
61
|
return (h("vega-dropdown-item", { key: item.key, itemKey: item.key },
|
|
@@ -91,7 +93,7 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
|
|
|
91
93
|
'text-size': textSize,
|
|
92
94
|
});
|
|
93
95
|
})();
|
|
94
|
-
TextStylesToolbarButtonSlimmer.
|
|
96
|
+
TextStylesToolbarButtonSlimmer.allItems = [
|
|
95
97
|
{
|
|
96
98
|
key: 'title',
|
|
97
99
|
label: 'Title',
|
|
@@ -116,6 +118,21 @@ TextStylesToolbarButtonSlimmer.items = [
|
|
|
116
118
|
label: 'Heading 3',
|
|
117
119
|
bold: true,
|
|
118
120
|
},
|
|
121
|
+
{
|
|
122
|
+
key: 'heading-4',
|
|
123
|
+
label: 'Heading 4',
|
|
124
|
+
bold: true,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
key: 'heading-5',
|
|
128
|
+
label: 'Heading 5',
|
|
129
|
+
bold: true,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
key: 'heading-6',
|
|
133
|
+
label: 'Heading 6',
|
|
134
|
+
bold: true,
|
|
135
|
+
},
|
|
119
136
|
{
|
|
120
137
|
key: 'paragraph',
|
|
121
138
|
label: 'Paragraph',
|
|
@@ -127,3 +144,6 @@ __decorate([
|
|
|
127
144
|
__decorate([
|
|
128
145
|
MapToComponentField()
|
|
129
146
|
], TextStylesToolbarButtonSlimmer.prototype, "focusController", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
MapToComponentField()
|
|
149
|
+
], TextStylesToolbarButtonSlimmer.prototype, "textStyleItems", void 0);
|
|
@@ -204,6 +204,26 @@ export class VegaRichTextEditor {
|
|
|
204
204
|
* @vegaVersion 2.34.0
|
|
205
205
|
*/
|
|
206
206
|
this.validationRules = [];
|
|
207
|
+
/**
|
|
208
|
+
* Specifies which text style items appear in the Text Styles toolbar dropdown.
|
|
209
|
+
*
|
|
210
|
+
* Use this to control which heading levels and text styles are available to users.
|
|
211
|
+
* For example, omit `{ key: 'heading-1' }` to prevent users from applying H1
|
|
212
|
+
* (which is typically reserved for the page title).
|
|
213
|
+
*
|
|
214
|
+
* Items are displayed in a fixed internal order regardless of the order in this array.
|
|
215
|
+
*
|
|
216
|
+
* @vegaVersion 2.83.0
|
|
217
|
+
* @defaultValue [{ key: 'title' }, { key: 'subtitle' }, { key: 'heading-1' }, { key: 'heading-2' }, { key: 'heading-3' }, { key: 'paragraph' }]
|
|
218
|
+
*/
|
|
219
|
+
this.textStyleItems = [
|
|
220
|
+
{ key: 'title' },
|
|
221
|
+
{ key: 'subtitle' },
|
|
222
|
+
{ key: 'heading-1' },
|
|
223
|
+
{ key: 'heading-2' },
|
|
224
|
+
{ key: 'heading-3' },
|
|
225
|
+
{ key: 'paragraph' },
|
|
226
|
+
];
|
|
207
227
|
/**
|
|
208
228
|
* Specifies the configuration for the rich text editor extensions.
|
|
209
229
|
*
|
|
@@ -532,6 +552,33 @@ export class VegaRichTextEditor {
|
|
|
532
552
|
},
|
|
533
553
|
"defaultValue": "[]"
|
|
534
554
|
},
|
|
555
|
+
"textStyleItems": {
|
|
556
|
+
"type": "unknown",
|
|
557
|
+
"mutable": false,
|
|
558
|
+
"complexType": {
|
|
559
|
+
"original": "VegaRTETextStyleItem[]",
|
|
560
|
+
"resolved": "VegaRTETextStyleItem[]",
|
|
561
|
+
"references": {
|
|
562
|
+
"VegaRTETextStyleItem": {
|
|
563
|
+
"location": "import",
|
|
564
|
+
"path": "./interface"
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
"required": false,
|
|
569
|
+
"optional": false,
|
|
570
|
+
"docs": {
|
|
571
|
+
"tags": [{
|
|
572
|
+
"name": "vegaVersion",
|
|
573
|
+
"text": "2.83.0"
|
|
574
|
+
}, {
|
|
575
|
+
"name": "defaultValue",
|
|
576
|
+
"text": "[{ key: 'title' }, { key: 'subtitle' }, { key: 'heading-1' }, { key: 'heading-2' }, { key: 'heading-3' }, { key: 'paragraph' }]"
|
|
577
|
+
}],
|
|
578
|
+
"text": "Specifies which text style items appear in the Text Styles toolbar dropdown.\n\nUse this to control which heading levels and text styles are available to users.\nFor example, omit `{ key: 'heading-1' }` to prevent users from applying H1\n(which is typically reserved for the page title).\n\nItems are displayed in a fixed internal order regardless of the order in this array."
|
|
579
|
+
},
|
|
580
|
+
"defaultValue": "[\n\t\t{ key: 'title' },\n\t\t{ key: 'subtitle' },\n\t\t{ key: 'heading-1' },\n\t\t{ key: 'heading-2' },\n\t\t{ key: 'heading-3' },\n\t\t{ key: 'paragraph' },\n\t]"
|
|
581
|
+
},
|
|
535
582
|
"extensions": {
|
|
536
583
|
"type": "unknown",
|
|
537
584
|
"mutable": false,
|
package/dist/collection/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.js
CHANGED
|
@@ -12,10 +12,15 @@ export class VegaTextTooltipRenderer extends PageResizeObserverSlimmer {
|
|
|
12
12
|
/**
|
|
13
13
|
* The below method is e2e-test covered in
|
|
14
14
|
* @see{module:vega-text-with-long-text-change-screen-size}
|
|
15
|
+
* @see{module:vega-text-restore-on-enlarge-screen-size}
|
|
15
16
|
*/
|
|
16
17
|
constructor() {
|
|
17
18
|
/* eslint-disable jsdoc/require-jsdoc*/
|
|
18
19
|
super({
|
|
20
|
+
// Observe both the host (catches show/hide e.g. in vega-tab-group-panel, VD-8769)
|
|
21
|
+
// and document.body (catches viewport resize after truncation collapses host width).
|
|
22
|
+
// eslint-disable-next-line no-restricted-globals
|
|
23
|
+
target: /* istanbul ignore next */ () => [this.host, document.body],
|
|
19
24
|
callback: /* istanbul ignore next */ () => {
|
|
20
25
|
if (this.overflow === 'ellipsis') {
|
|
21
26
|
if (this.tooltipRef) {
|
|
@@ -33,11 +38,52 @@ export class VegaTextTooltipRenderer extends PageResizeObserverSlimmer {
|
|
|
33
38
|
*/
|
|
34
39
|
/* istanbul ignore next */
|
|
35
40
|
this.handleTooltip = async () => {
|
|
41
|
+
// Skip when host has no layout (e.g. hidden inside an inactive vega-tab-group-panel);
|
|
42
|
+
// the observer will re-fire once the host becomes visible.
|
|
43
|
+
if (this.host.clientWidth === 0) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
// VD-8855: Reset the inline `min-width` (previously pinned in px by `insertMinWidthStyle()`
|
|
47
|
+
// to work around the Safari wrap issue) back to `auto` BEFORE re-measuring overflow.
|
|
48
|
+
// Without this, a prior ResizeObserver callback that fired during an async container
|
|
49
|
+
// layout transition (e.g. `vega-calendar` mounting inside a `vega-modal` open animation,
|
|
50
|
+
// or a previously hidden `vega-tab-group-panel` becoming visible) could leave the host
|
|
51
|
+
// pinned to a transient narrow width and lock `vega-text` in a truncated state.
|
|
52
|
+
this.host.style.minWidth = 'auto';
|
|
36
53
|
if (isTextWrapped(this.host)) {
|
|
37
54
|
const tooltip = this.createTooltip();
|
|
38
55
|
void tooltip.componentOnReady().then(() => {
|
|
39
56
|
void this.updateTooltipDisplayText();
|
|
40
57
|
});
|
|
58
|
+
// VD-8855: After truncating during what may have been a transient narrow layout,
|
|
59
|
+
// schedule one delayed re-measure (after layout settles) to verify whether the
|
|
60
|
+
// truncation is still warranted. If the parent has since expanded, the next
|
|
61
|
+
// `handleTooltip()` call will see no wrap and restore the full text.
|
|
62
|
+
// This breaks the self-reinforcing collapse where, once the host is pinned to a
|
|
63
|
+
// 1-character min-width, no further ResizeObserver event ever fires on it.
|
|
64
|
+
// eslint-disable-next-line no-restricted-globals
|
|
65
|
+
requestAnimationFrame(() => {
|
|
66
|
+
// eslint-disable-next-line no-restricted-globals
|
|
67
|
+
requestAnimationFrame(() => {
|
|
68
|
+
if (!this.host || !this.host.isConnected) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this.host.style.minWidth = 'auto';
|
|
72
|
+
if (this.tooltipRef) {
|
|
73
|
+
this.tooltipRef.innerText = this.content;
|
|
74
|
+
}
|
|
75
|
+
if (!isTextWrapped(this.host)) {
|
|
76
|
+
if (this.tooltipRef && this.tooltipRef.classList.contains('hydrated')) {
|
|
77
|
+
this.host.innerText = this.content;
|
|
78
|
+
this.tooltipRef.remove();
|
|
79
|
+
this.tooltipRef = null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (this.tooltipRef) {
|
|
83
|
+
void this.updateTooltipDisplayText();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
41
87
|
}
|
|
42
88
|
else {
|
|
43
89
|
if (this.tooltipRef && this.tooltipRef.classList.contains('hydrated')) {
|
|
@@ -45,7 +91,6 @@ export class VegaTextTooltipRenderer extends PageResizeObserverSlimmer {
|
|
|
45
91
|
this.tooltipRef.remove();
|
|
46
92
|
this.tooltipRef = null;
|
|
47
93
|
}
|
|
48
|
-
this.host.style.minWidth = 'auto';
|
|
49
94
|
}
|
|
50
95
|
};
|
|
51
96
|
/**
|
|
@@ -21,17 +21,22 @@ export class VegaTimePickerRangeClearButtonRenderer extends VegaSlimmer {
|
|
|
21
21
|
render() {
|
|
22
22
|
return (h("div", { class: {
|
|
23
23
|
'vega-time-picker-range-clear-icon': true,
|
|
24
|
-
'invisible': !this.
|
|
24
|
+
'invisible': !this.shouldShowClearButton(),
|
|
25
25
|
}, "aria-label": "clear input", role: "button", tabindex: !this.disabled ? 0 : -1, onClick: this.onClickClearIcon, onKeyDown: createEnterKeyHandlerToTriggerClick() },
|
|
26
26
|
h("vega-icon", { icon: "close", class: "v-min-w-min vega-flex-shrink-0" })));
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Determines whether the range clear button should be visible. The button
|
|
30
|
+
* is shown only when the clear icon feature is enabled, the component is
|
|
31
|
+
* not disabled, and at least one end of the range value is non-empty.
|
|
30
32
|
*
|
|
31
|
-
* @returns {boolean}
|
|
33
|
+
* @returns {boolean} `true` when the clear button should be visible.
|
|
32
34
|
*/
|
|
33
|
-
|
|
34
|
-
return (
|
|
35
|
+
shouldShowClearButton() {
|
|
36
|
+
return (this.showClearIcon &&
|
|
37
|
+
!this.disabled &&
|
|
38
|
+
Array.isArray(this.value) &&
|
|
39
|
+
(Boolean(this.value[0]) || Boolean(this.value[1])));
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
__decorate([
|
|
@@ -40,6 +45,9 @@ __decorate([
|
|
|
40
45
|
__decorate([
|
|
41
46
|
MapToComponentField()
|
|
42
47
|
], VegaTimePickerRangeClearButtonRenderer.prototype, "value", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
MapToComponentField()
|
|
50
|
+
], VegaTimePickerRangeClearButtonRenderer.prototype, "showClearIcon", void 0);
|
|
43
51
|
__decorate([
|
|
44
52
|
MapToComponentField()
|
|
45
53
|
], VegaTimePickerRangeClearButtonRenderer.prototype, "valueController", void 0);
|
|
@@ -41,7 +41,7 @@ export class VegaTimePickerSingleInputRenderer extends VegaSlimmer {
|
|
|
41
41
|
/* istanbul ignore next */
|
|
42
42
|
render() {
|
|
43
43
|
return (h("div", { class: "time-picker-input" },
|
|
44
|
-
h("vega-input", { "prefix-icon": "clock-face", placeholder: this.getPlaceholder(), disabled: this.disabled, readOnly: this.readOnly, size: this.size, value: typeof this.value === 'string' ? this.value : '', ref: (ref) => {
|
|
44
|
+
h("vega-input", { "prefix-icon": "clock-face", placeholder: this.getPlaceholder(), disabled: this.disabled, readOnly: this.readOnly, size: this.size, value: typeof this.value === 'string' ? this.value : '', showClearIcon: this.showClearIcon, ref: (ref) => {
|
|
45
45
|
this.timeInputRef = ref;
|
|
46
46
|
this.handleVegaInputEvent(ref);
|
|
47
47
|
} })));
|
|
@@ -104,3 +104,6 @@ __decorate([
|
|
|
104
104
|
__decorate([
|
|
105
105
|
MapToComponentField()
|
|
106
106
|
], VegaTimePickerSingleInputRenderer.prototype, "readOnly", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
MapToComponentField()
|
|
109
|
+
], VegaTimePickerSingleInputRenderer.prototype, "showClearIcon", void 0);
|
|
@@ -169,6 +169,26 @@ export class VegaTimePicker {
|
|
|
169
169
|
* @vegaVersion 2.79.0
|
|
170
170
|
*/
|
|
171
171
|
this.readOnly = false;
|
|
172
|
+
/**
|
|
173
|
+
* Controls whether a clear (✕) icon button is displayed inside the time
|
|
174
|
+
* picker input when the field has a non-empty value.
|
|
175
|
+
*
|
|
176
|
+
* When `true`, clicking the clear icon resets the time picker value to an
|
|
177
|
+
* empty value (or `['', '']` in `range` mode) and emits a `vegaChange`
|
|
178
|
+
* event. Set to `false` to hide the clear icon (e.g., for time pickers
|
|
179
|
+
* where clearing is not desired).
|
|
180
|
+
*
|
|
181
|
+
* The clear icon is also hidden when the component is `disabled`.
|
|
182
|
+
*
|
|
183
|
+
* When the component is `readOnly`, the clear icon remains visible by
|
|
184
|
+
* design: read-only only suppresses manual keyboard text entry, while
|
|
185
|
+
* users can still update the value via the dropdown UI, so clearing the
|
|
186
|
+
* selected value is still a valid interaction.
|
|
187
|
+
*
|
|
188
|
+
* @default true
|
|
189
|
+
* @vegaVersion 2.84.0
|
|
190
|
+
*/
|
|
191
|
+
this.showClearIcon = true;
|
|
172
192
|
/**
|
|
173
193
|
* Specifies the validation status of the time picker component.
|
|
174
194
|
*
|
|
@@ -491,6 +511,30 @@ export class VegaTimePicker {
|
|
|
491
511
|
"reflect": false,
|
|
492
512
|
"defaultValue": "false"
|
|
493
513
|
},
|
|
514
|
+
"showClearIcon": {
|
|
515
|
+
"type": "boolean",
|
|
516
|
+
"mutable": false,
|
|
517
|
+
"complexType": {
|
|
518
|
+
"original": "boolean",
|
|
519
|
+
"resolved": "boolean",
|
|
520
|
+
"references": {}
|
|
521
|
+
},
|
|
522
|
+
"required": false,
|
|
523
|
+
"optional": false,
|
|
524
|
+
"docs": {
|
|
525
|
+
"tags": [{
|
|
526
|
+
"name": "default",
|
|
527
|
+
"text": "true"
|
|
528
|
+
}, {
|
|
529
|
+
"name": "vegaVersion",
|
|
530
|
+
"text": "2.84.0"
|
|
531
|
+
}],
|
|
532
|
+
"text": "Controls whether a clear (\u2715) icon button is displayed inside the time\npicker input when the field has a non-empty value.\n\nWhen `true`, clicking the clear icon resets the time picker value to an\nempty value (or `['', '']` in `range` mode) and emits a `vegaChange`\nevent. Set to `false` to hide the clear icon (e.g., for time pickers\nwhere clearing is not desired).\n\nThe clear icon is also hidden when the component is `disabled`.\n\nWhen the component is `readOnly`, the clear icon remains visible by\ndesign: read-only only suppresses manual keyboard text entry, while\nusers can still update the value via the dropdown UI, so clearing the\nselected value is still a valid interaction."
|
|
533
|
+
},
|
|
534
|
+
"attribute": "show-clear-icon",
|
|
535
|
+
"reflect": false,
|
|
536
|
+
"defaultValue": "true"
|
|
537
|
+
},
|
|
494
538
|
"isValid": {
|
|
495
539
|
"type": "boolean",
|
|
496
540
|
"mutable": true,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { VegaExpand, VegaClick, VegaDropdownClick, VegaReset, VegaClose, VegaActionButtonClick, VegaChange, VegaEventClick, VegaDateDblClick, VegaMoreActionClick, VegaDateClick, VegaPageUpdate, VegaRemove, VegaCreate, VegaSearch, VegaMonthYearChange, VegaClear, VegaSelectionChange, VegaDropdownShow, VegaDropdownHide,
|
|
1
|
+
import { VegaExpand, VegaClick, VegaDropdownClick, VegaReset, VegaDropdownSearch, VegaClose, VegaActionButtonClick, VegaChange, VegaEventClick, VegaDateDblClick, VegaMoreActionClick, VegaDateClick, VegaPageUpdate, VegaRemove, VegaCreate, VegaSearch, VegaMonthYearChange, VegaClear, VegaSelectionChange, VegaDropdownShow, VegaDropdownHide, VegaSearchTrigger, VegaLabelButtonClick, VegaSelectFileChange, VegaRetry, VegaPreview, VegaFormSubmit, VegaFormReset, VegaValidate, VegaCancel, VegaNativeInputChange, VegaFocus, VegaBlur, VegaSuggestionItemClick, VegaPaste, VegaComplete, VegaCountryChange, VegaShow, VegaHide, VegaToggleStatus, VegaOpen, VegaStateUpdate, VegaGroupClick, VegaMenuClick, VegaActionClick, VegaPageSizeChange, VegaPopoverShow, VegaPopoverHide, VegaCurrentStepUpdate, VegaImageInserted, VegaSourceCodeChange, VegaSelectChange, VegaSelectAllChange, VegaRowClick, VegaRowExpand, VegaRowSelect, VegaRowSelectAll, } from './vega-event-id';
|
|
2
2
|
const entries = [
|
|
3
3
|
['vega-accordion', [VegaExpand]],
|
|
4
|
-
['vega-app-header-button', [VegaClick, VegaDropdownClick, VegaReset]],
|
|
4
|
+
['vega-app-header-button', [VegaClick, VegaDropdownClick, VegaReset, VegaDropdownSearch]],
|
|
5
5
|
['vega-banner', [VegaClose, VegaActionButtonClick]],
|
|
6
6
|
['vega-breadcrumb', [VegaClick]],
|
|
7
7
|
['vega-button', [VegaClick]],
|
|
@@ -16,6 +16,7 @@ const entries = [
|
|
|
16
16
|
['vega-code-block', [VegaChange, VegaRemove]],
|
|
17
17
|
['vega-color-picker', [VegaChange]],
|
|
18
18
|
['vega-color-swatch', [VegaClick]],
|
|
19
|
+
['vega-color-swatch-picker', [VegaChange]],
|
|
19
20
|
['vega-combo-box', [VegaChange, VegaCreate, VegaSearch]],
|
|
20
21
|
['vega-date-picker', [VegaChange, VegaMonthYearChange]],
|
|
21
22
|
['vega-date-picker-calendar', [VegaClear, VegaMonthYearChange, VegaSelectionChange]],
|
|
@@ -7,6 +7,14 @@ class RTEDTORendererManager {
|
|
|
7
7
|
this.RTE_DTO_RENDERER_MAP = new Map();
|
|
8
8
|
// Register RTE Toolbar Button Renderers, mapping type strings to their respective renderer instances.
|
|
9
9
|
this.RTE_TOOLBAR_BUTTON_RENDERER_MAP = new Map();
|
|
10
|
+
/**
|
|
11
|
+
* Per-host toolbar button renderer map.
|
|
12
|
+
* Stores a host-specific renderer map so that extensions that register during
|
|
13
|
+
* {@link VegaRTEExtension#prepareBeforeLoad} can provide isolated renderer instances
|
|
14
|
+
* for each {@link HTMLVegaRichTextEditorElement}. At render time this map is checked
|
|
15
|
+
* first; the global singleton map is used as a fallback.
|
|
16
|
+
*/
|
|
17
|
+
this.hostToolbarButtonRendererMap = new WeakMap();
|
|
10
18
|
}
|
|
11
19
|
/**
|
|
12
20
|
* Registers a new RTE DTO renderer.
|
|
@@ -32,6 +40,24 @@ class RTEDTORendererManager {
|
|
|
32
40
|
registerRTEToolbarButtonRenderer(type, RTEToolbarButtonRenderer) {
|
|
33
41
|
this.RTE_TOOLBAR_BUTTON_RENDERER_MAP.set(type, RTEToolbarButtonRenderer);
|
|
34
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Registers a host-specific toolbar button renderer.
|
|
45
|
+
* The per-host renderer takes precedence over the global singleton when the host
|
|
46
|
+
* element is passed to {@link getRTEToolbarButtonRenderer}.
|
|
47
|
+
*
|
|
48
|
+
* @typedef HTMLVegaRichTextEditorElement - The rich text editor host element type.
|
|
49
|
+
* @param {HTMLVegaRichTextEditorElement} host - The rich text editor host element.
|
|
50
|
+
* @param {string} type - The type identifier for the toolbar button renderer.
|
|
51
|
+
* @param {VegaRTEToolbarButtonRenderer} renderer - The renderer instance to register for this host.
|
|
52
|
+
*/
|
|
53
|
+
registerRTEToolbarButtonRendererForHost(host, type, renderer) {
|
|
54
|
+
let hostMap = this.hostToolbarButtonRendererMap.get(host);
|
|
55
|
+
if (!hostMap) {
|
|
56
|
+
hostMap = new Map();
|
|
57
|
+
this.hostToolbarButtonRendererMap.set(host, hostMap);
|
|
58
|
+
}
|
|
59
|
+
hostMap.set(type, renderer);
|
|
60
|
+
}
|
|
35
61
|
/**
|
|
36
62
|
* Retrieves the RTE renderer for a given type.
|
|
37
63
|
*
|
|
@@ -43,12 +69,26 @@ class RTEDTORendererManager {
|
|
|
43
69
|
}
|
|
44
70
|
/**
|
|
45
71
|
* Retrieves the RTE Toolbar Button Renderer for a given type.
|
|
72
|
+
* When a host element is provided the per-host map registered via
|
|
73
|
+
* {@link registerRTEToolbarButtonRendererForHost} is checked first; the global
|
|
74
|
+
* singleton map is used as a fallback so that extensions that do not override
|
|
75
|
+
* {@link VegaRTEExtension#prepareBeforeLoad} continue to work unchanged.
|
|
46
76
|
*
|
|
77
|
+
* @typedef HTMLVegaRichTextEditorElement - The rich text editor host element type.
|
|
47
78
|
* @param {string} type - The type identifier for the RTE Toolbar Button Renderer.
|
|
79
|
+
* @param {HTMLVegaRichTextEditorElement} [host] - Optional host element for per-host lookup.
|
|
48
80
|
* @returns {Nullable<VegaRTEToolbarButtonRenderer>} - The renderer instance for the RTE Toolbar Button, or null if not found.
|
|
49
81
|
*/
|
|
50
|
-
getRTEToolbarButtonRenderer(type) {
|
|
51
|
-
|
|
82
|
+
getRTEToolbarButtonRenderer(type, host) {
|
|
83
|
+
var _a, _b;
|
|
84
|
+
if (host) {
|
|
85
|
+
const hostRenderer = (_a = this.hostToolbarButtonRendererMap
|
|
86
|
+
.get(host)) === null || _a === void 0 ? void 0 : _a.get(type);
|
|
87
|
+
if (hostRenderer) {
|
|
88
|
+
return hostRenderer;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return (_b = this.RTE_TOOLBAR_BUTTON_RENDERER_MAP.get(type)) !== null && _b !== void 0 ? _b : null;
|
|
52
92
|
}
|
|
53
93
|
}
|
|
54
94
|
export default new RTEDTORendererManager();
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MapToComponentField as MapToSlimmerField } from 'vega-slimmer/core';
|
|
8
|
+
import { findParent } from '../../../../utils/ui';
|
|
9
|
+
import { BodyPositionedWrapper } from './body-positioned-wrapper.abstract';
|
|
10
|
+
/**
|
|
11
|
+
* Appends the popover content box inside the nearest third-party dialog/modal (e.g. Bootstrap,
|
|
12
|
+
* MUI) so that their focus trap does not block focus on vega-popover content.
|
|
13
|
+
*
|
|
14
|
+
* Detection strategy:
|
|
15
|
+
* 1. Walk up from the target to find `dialog` or `[aria-modal="true"]`.
|
|
16
|
+
* 2. Skip Vega-owned elements (tag starts with `VEGA-`).
|
|
17
|
+
* 3. Locate the focus-trap root via `closest('[tabindex="-1"]')`.
|
|
18
|
+
*/
|
|
19
|
+
export class ThirdPartyDialogWrapper extends BodyPositionedWrapper {
|
|
20
|
+
/**
|
|
21
|
+
* Returns true when the target lives inside a third-party dialog.
|
|
22
|
+
*
|
|
23
|
+
* NOTE: Does NOT call super.canRetrieve() — must activate even when isScreenPosition=true
|
|
24
|
+
* (e.g. image editor popover) so the content box stays inside the focus-trap root.
|
|
25
|
+
*
|
|
26
|
+
* @returns {boolean} Whether the target is inside a third-party dialog.
|
|
27
|
+
*/
|
|
28
|
+
canRetrieve() {
|
|
29
|
+
this.focusTrapRoot = this.findFocusTrapRoot(this.showConfig.target);
|
|
30
|
+
return !!this.focusTrapRoot;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Appends the popover content box inside the focus-trap root.
|
|
34
|
+
*
|
|
35
|
+
* @returns {HTMLElement} The focus-trap root element.
|
|
36
|
+
*/
|
|
37
|
+
retrieve() {
|
|
38
|
+
const root = this.focusTrapRoot;
|
|
39
|
+
this.focusTrapRoot = null;
|
|
40
|
+
if (this.showConfig.appendableElement.parentElement !== root) {
|
|
41
|
+
root.append(this.showConfig.appendableElement);
|
|
42
|
+
}
|
|
43
|
+
return root;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Finds the focus-trap root of the nearest third-party dialog ancestor.
|
|
47
|
+
* Returns null if not inside a third-party dialog or if the dialog is Vega-owned.
|
|
48
|
+
*
|
|
49
|
+
* @param {Nullable<HTMLElement>} el - The element to start searching from.
|
|
50
|
+
* @returns {Nullable<HTMLElement>} The focus-trap root, or null.
|
|
51
|
+
*/
|
|
52
|
+
findFocusTrapRoot(el) {
|
|
53
|
+
var _a;
|
|
54
|
+
const dialog = findParent(el, 'dialog, [aria-modal="true"]');
|
|
55
|
+
if (!dialog || this.isVegaOwned(dialog))
|
|
56
|
+
return null;
|
|
57
|
+
// closest() also matches the element itself — needed when [aria-modal] and [tabindex="-1"]
|
|
58
|
+
// are on the same node (e.g. Bootstrap 5 outer .modal div).
|
|
59
|
+
return (_a = dialog.closest('[tabindex="-1"]')) !== null && _a !== void 0 ? _a : dialog;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Returns true when the element is a Vega custom element (tag starts with `VEGA-`).
|
|
63
|
+
*
|
|
64
|
+
* @param {HTMLElement} el - The element to check.
|
|
65
|
+
* @returns {boolean} True if the element is Vega-owned.
|
|
66
|
+
*/
|
|
67
|
+
isVegaOwned(el) {
|
|
68
|
+
return el.tagName.startsWith('VEGA-');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
__decorate([
|
|
72
|
+
MapToSlimmerField()
|
|
73
|
+
], ThirdPartyDialogWrapper.prototype, "showConfig", void 0);
|