@heartlandone/vega 2.89.0 → 2.90.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-4872f4e6.js → app-globals-08924736.js} +9 -7
- package/dist/cjs/{code-block-7c49d175.js → code-block-89850671.js} +1 -1
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-aae22ddf.js → component-value-history-controller-slimmer.abstract-a8da4087.js} +3 -3
- package/dist/cjs/{content-state-76b81780.js → content-state-e1c3efe6.js} +2 -2
- package/dist/cjs/{date-required-rule-71f71b32.js → date-required-rule-3437acbc.js} +1 -1
- package/dist/cjs/{design-token-c80d3f32.js → design-token-939bf72c.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-e95427b5.js → element-appender-slimmer-14e85a91.js} +2 -2
- package/dist/cjs/{form-field-controller-slimmer-430b4f02.js → form-field-controller-slimmer-c4ebee27.js} +1 -1
- package/dist/cjs/{image-annotation-action-7959fd77.js → image-annotation-action-f86690fd.js} +26 -2
- package/dist/cjs/index.cjs.js +19 -19
- package/dist/cjs/{inject-keyboard-manager-3ccf1cb6.js → inject-keyboard-manager-743de047.js} +1 -1
- package/dist/cjs/{internal-translation-controller-5582d789.js → internal-translation-controller-9785d4e8.js} +4 -0
- package/dist/cjs/{keyboard-manager-5babfda8.js → keyboard-manager-5396083a.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-a73354ca.js → keyboard-manager-slimmer-eedcfbc8.js} +1 -1
- package/dist/cjs/link-extension-dafeeed0.js +583 -0
- package/dist/cjs/loader.cjs.js +11 -12
- package/dist/cjs/{month-view-generator-43e75062.js → month-view-generator-c7492e06.js} +1 -1
- package/dist/cjs/{public-rules-b23ab52d.js → public-rules-b032050f.js} +7 -7
- package/dist/cjs/{range-abe1b989.js → range-efdf6f78.js} +1 -1
- package/dist/cjs/{replace-selected-text-action-ef079fed.js → replace-selected-text-action-0f7b7c78.js} +1 -1
- package/dist/cjs/{responsive-format-facade-cc368403.js → responsive-format-facade-d112aa9f.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-bbd727a2.js → rich-text-editor-required-rule-86d9cd4d.js} +1 -1
- package/dist/cjs/{split-cell-operation-b1fe91b5.js → split-cell-operation-b41344bd.js} +3 -3
- package/dist/cjs/{state-border-formatter-398134c1.js → state-border-formatter-c3c9b90d.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-67421e2b.js → string-format-strategy.abstract-d51050cd.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-e84530b9.js → string-input-formatter-slimmer-23fdb50e.js} +1 -1
- package/dist/cjs/{string-mask-strategy-f9806f9b.js → string-mask-strategy-10fe0f6d.js} +2 -2
- package/dist/cjs/{style-formatter-da3a556b.js → style-formatter-11c95331.js} +2 -2
- package/dist/cjs/{time-required-rule-618109fa.js → time-required-rule-2fd7c828.js} +1 -1
- package/dist/cjs/{token-extension-dfee303a.js → token-extension-2e3e1631.js} +125 -498
- package/dist/cjs/{translation-slimmer-1a7a2b6d.js → translation-slimmer-e8549aff.js} +17 -1
- package/dist/cjs/{type-guard-474dec0d.js → type-guard-9917b11f.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-00c18527.js → valid-credit-card-number-rule-8c541bcd.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
- package/dist/cjs/vega-app-header-button.cjs.entry.js +5 -5
- package/dist/cjs/vega-box.cjs.entry.js +6 -6
- package/dist/cjs/vega-button-circle.cjs.entry.js +5 -5
- package/dist/cjs/vega-button.cjs.entry.js +3 -3
- package/dist/cjs/vega-calendar_4.cjs.entry.js +6 -6
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +14 -7
- package/dist/cjs/vega-chip.cjs.entry.js +5 -5
- package/dist/cjs/vega-code-block.cjs.entry.js +8 -8
- package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +3 -3
- package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +8 -8
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +13 -13
- package/dist/cjs/vega-dialog_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +7 -7
- 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 +3 -3
- 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 +3 -3
- 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 +5 -5
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +17 -7
- package/dist/cjs/vega-input-numeric.cjs.entry.js +5 -5
- package/dist/cjs/vega-input-passcode.cjs.entry.js +5 -5
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +4 -4
- package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-select.cjs.entry.js +5 -5
- package/dist/cjs/vega-input.cjs.entry.js +6 -6
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +7 -7
- package/dist/cjs/vega-loader-wrapper_2.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 +4 -4
- package/dist/cjs/vega-popover_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-radio_2.cjs.entry.js +17 -10
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +63 -31
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +65 -22
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +8 -8
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +18 -5
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
- package/dist/cjs/vega-signature-capture.cjs.entry.js +7 -7
- package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +8 -5
- package/dist/cjs/vega-table_11.cjs.entry.js +4 -4
- package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega.cjs.js +11 -12
- package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.css +8 -11
- package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +35 -7
- package/dist/collection/components/vega-field-label/vega-field-label.js +2 -2
- package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +35 -1
- package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.css +8 -11
- package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.js +35 -7
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +36 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +15 -12
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +30 -16
- package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/link/link-extension.js +34 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/link/type.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/link/utils.js +22 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/rte-extension-state-store.js +37 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +39 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +13 -4
- package/dist/collection/components/vega-selection-chip/vega-selection-chip-group/slimmers/renderers/vega-selection-chip-group-renderer.js +4 -1
- package/dist/collection/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.js +34 -0
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-pages-controller.js +4 -2
- package/dist/collection/components/vega-tab-group/vega-tab-group.js +5 -4
- package/dist/collection/global/scripts/before-vega-load.js +2 -0
- package/dist/collection/helpers/slimmers/translation/translation-slimmer.js +16 -0
- package/dist/collection/helpers/translation/locales/en.js +4 -0
- package/dist/esm/{app-globals-081bbfd9.js → app-globals-a4134d21.js} +9 -7
- package/dist/esm/{code-block-17f596fc.js → code-block-9a17d89b.js} +2 -2
- package/dist/esm/{component-value-history-controller-slimmer.abstract-21e9126a.js → component-value-history-controller-slimmer.abstract-a64c3678.js} +3 -3
- package/dist/esm/{content-state-96741bb0.js → content-state-d59b4560.js} +3 -3
- package/dist/esm/{date-required-rule-d6ce832c.js → date-required-rule-cb960229.js} +1 -1
- package/dist/esm/{design-token-0a575bf2.js → design-token-f73ebce9.js} +3 -3
- package/dist/esm/{element-appender-slimmer-44bbb5c6.js → element-appender-slimmer-c62cf540.js} +2 -2
- package/dist/esm/{form-field-controller-slimmer-03894a51.js → form-field-controller-slimmer-514a3195.js} +1 -1
- package/dist/esm/{image-annotation-action-e8ab7b64.js → image-annotation-action-f4ea265c.js} +26 -3
- package/dist/esm/index.js +16 -17
- package/dist/esm/{inject-keyboard-manager-e5874185.js → inject-keyboard-manager-6522df5c.js} +1 -1
- package/dist/esm/{internal-translation-controller-84958bc9.js → internal-translation-controller-653bd7e3.js} +4 -0
- package/dist/esm/{keyboard-manager-404b9c17.js → keyboard-manager-9615fa9b.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-c8fcfe60.js → keyboard-manager-slimmer-21bdc3a4.js} +1 -1
- package/dist/esm/link-extension-be164793.js +576 -0
- package/dist/esm/loader.js +11 -12
- package/dist/esm/{month-view-generator-d341fa5a.js → month-view-generator-1b7c9bb8.js} +1 -1
- package/dist/esm/{public-rules-09387dcf.js → public-rules-58f31834.js} +7 -7
- package/dist/esm/{range-47d9f95e.js → range-1c1c20fa.js} +1 -1
- package/dist/esm/{replace-selected-text-action-a217dc89.js → replace-selected-text-action-1abc5200.js} +1 -1
- package/dist/esm/{responsive-format-facade-51c0c2e1.js → responsive-format-facade-12697af2.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-cca16fd0.js → rich-text-editor-required-rule-050d292b.js} +1 -1
- package/dist/esm/{split-cell-operation-ddde4106.js → split-cell-operation-8251d2a1.js} +3 -3
- package/dist/esm/{state-border-formatter-50394e9c.js → state-border-formatter-55cee24d.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-de17b899.js → string-format-strategy.abstract-14c1e874.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-c3d483ef.js → string-input-formatter-slimmer-ec297247.js} +1 -1
- package/dist/esm/{string-mask-strategy-87efdb9e.js → string-mask-strategy-18760123.js} +2 -2
- package/dist/esm/{style-formatter-c20c1988.js → style-formatter-6073ae27.js} +2 -2
- package/dist/esm/{time-required-rule-026c17a1.js → time-required-rule-9b775d24.js} +1 -1
- package/dist/esm/{token-extension-76323d76.js → token-extension-6cb7dcb2.js} +58 -429
- package/dist/esm/{translation-slimmer-7f195ba8.js → translation-slimmer-d32eb861.js} +17 -1
- package/dist/esm/{type-guard-30eec79c.js → type-guard-fd1f4760.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-1ac471e8.js → valid-credit-card-number-rule-dfd3e0a6.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +6 -6
- package/dist/esm/vega-app-header-button.entry.js +5 -5
- package/dist/esm/vega-box.entry.js +6 -6
- package/dist/esm/vega-button-circle.entry.js +5 -5
- package/dist/esm/vega-button.entry.js +3 -3
- package/dist/esm/vega-calendar_4.entry.js +6 -6
- package/dist/esm/vega-card.entry.js +5 -5
- package/dist/esm/vega-carousel.entry.js +3 -3
- package/dist/esm/vega-checkbox_2.entry.js +14 -7
- package/dist/esm/vega-chip.entry.js +5 -5
- package/dist/esm/vega-code-block.entry.js +8 -8
- package/dist/esm/vega-color-picker.entry.js +2 -2
- package/dist/esm/vega-color-swatch-picker.entry.js +3 -3
- package/dist/esm/vega-color-swatch.entry.js +2 -2
- package/dist/esm/vega-combo-box.entry.js +8 -8
- package/dist/esm/vega-date-picker_2.entry.js +13 -13
- package/dist/esm/vega-dialog_2.entry.js +3 -3
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +7 -7
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +3 -3
- package/dist/esm/vega-file-uploader.entry.js +3 -3
- 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 +3 -3
- 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 +5 -5
- package/dist/esm/vega-input-credit-card.entry.js +17 -7
- package/dist/esm/vega-input-numeric.entry.js +5 -5
- package/dist/esm/vega-input-passcode.entry.js +5 -5
- package/dist/esm/vega-input-phone-number.entry.js +4 -4
- package/dist/esm/vega-input-range.entry.js +3 -3
- package/dist/esm/vega-input-select.entry.js +5 -5
- package/dist/esm/vega-input.entry.js +6 -6
- package/dist/esm/vega-left-nav_5.entry.js +7 -7
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -2
- package/dist/esm/vega-pagination.entry.js +4 -4
- package/dist/esm/vega-popover_2.entry.js +8 -8
- package/dist/esm/vega-progress-tracker_2.entry.js +3 -3
- package/dist/esm/vega-radio_2.entry.js +17 -10
- package/dist/esm/vega-rich-text-content.entry.js +40 -8
- package/dist/esm/vega-rich-text-editor_4.entry.js +64 -21
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +5 -5
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +8 -8
- package/dist/esm/vega-selection-chip_2.entry.js +18 -5
- package/dist/esm/vega-selection-tile_2.entry.js +2 -2
- package/dist/esm/vega-sidenav_3.entry.js +3 -3
- package/dist/esm/vega-signature-capture.entry.js +7 -7
- package/dist/esm/vega-stepper.entry.js +2 -2
- package/dist/esm/vega-tab-group_2.entry.js +8 -5
- package/dist/esm/vega-table_11.entry.js +4 -4
- package/dist/esm/vega-textarea.entry.js +2 -2
- package/dist/esm/vega-time-picker_2.entry.js +9 -9
- package/dist/esm/vega-toggle-switch.entry.js +2 -2
- package/dist/esm/vega-tooltip_2.entry.js +6 -6
- package/dist/esm/vega.js +11 -12
- package/dist/sri/vega-sri-manifest.json +302 -306
- package/dist/types/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.d.ts +10 -1
- package/dist/types/components/vega-input-credit-card/vega-input-credit-card.d.ts +10 -0
- package/dist/types/components/vega-radio/vega-radio-group/vega-radio-group.d.ts +10 -1
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +3 -1
- package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +8 -5
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +9 -0
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +16 -12
- package/dist/types/components/vega-rich-text-editor/extensions/link/link-extension.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/extensions/link/type.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/extensions/link/utils.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/rte-extension-state-store.d.ts +30 -0
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +1 -0
- package/dist/types/components/vega-selection-chip/vega-selection-chip-group/slimmers/renderers/vega-selection-chip-group-renderer.d.ts +1 -0
- package/dist/types/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.d.ts +10 -0
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-pages-controller.d.ts +3 -2
- package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +4 -3
- package/dist/types/components.d.ts +50 -2
- package/dist/types/helpers/slimmers/translation/translation-slimmer.d.ts +11 -0
- package/dist/types/helpers/translation/interface.d.ts +4 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-02492864.entry.js +1 -0
- package/dist/vega/{p-df3a649c.entry.js → p-0278cd2b.entry.js} +1 -1
- package/dist/vega/{p-630cd479.js → p-0542b8ac.js} +1 -1
- package/dist/vega/p-0a1c7f80.js +1 -0
- package/dist/vega/{p-b9bd85d6.entry.js → p-0cc4a052.entry.js} +1 -1
- package/dist/vega/{p-976536c7.entry.js → p-1b4abd76.entry.js} +1 -1
- package/dist/vega/{p-efe6e4e6.entry.js → p-1ee185d9.entry.js} +1 -1
- package/dist/vega/{p-c3be0c29.entry.js → p-203f4ce9.entry.js} +1 -1
- package/dist/vega/p-2620a164.js +1 -0
- package/dist/vega/{p-2abdca42.js → p-277c306b.js} +1 -1
- package/dist/vega/{p-2c5352fe.entry.js → p-285e5e52.entry.js} +1 -1
- package/dist/vega/p-2c7e1bcb.js +1 -0
- package/dist/vega/{p-1ab4c08d.js → p-30487f0e.js} +1 -1
- package/dist/vega/{p-c016b230.entry.js → p-30a6b7aa.entry.js} +1 -1
- package/dist/vega/p-350d1b75.entry.js +1 -0
- package/dist/vega/{p-4c6baf92.entry.js → p-355ea330.entry.js} +1 -1
- package/dist/vega/{p-50e7020c.js → p-35d617d5.js} +1 -1
- package/dist/vega/{p-6c484462.entry.js → p-3755d8d3.entry.js} +1 -1
- package/dist/vega/{p-61536fcf.entry.js → p-3e956269.entry.js} +1 -1
- package/dist/vega/{p-fae4d64e.js → p-3ed6a602.js} +1 -1
- package/dist/vega/{p-a0705cd0.entry.js → p-4386625c.entry.js} +1 -1
- package/dist/vega/{p-b66d46ce.js → p-44f39eee.js} +1 -1
- package/dist/vega/{p-df71c830.entry.js → p-44f81987.entry.js} +1 -1
- package/dist/vega/{p-d93574dd.entry.js → p-456890f5.entry.js} +1 -1
- package/dist/vega/p-465590d1.entry.js +1 -0
- package/dist/vega/{p-f764b62e.entry.js → p-47ffdc0f.entry.js} +1 -1
- package/dist/vega/p-4fdd0a71.js +1 -0
- package/dist/vega/{p-9a562813.entry.js → p-54141828.entry.js} +1 -1
- package/dist/vega/{p-35e800ac.js → p-566ba295.js} +1 -1
- package/dist/vega/{p-baef217a.entry.js → p-581d89bb.entry.js} +1 -1
- package/dist/vega/p-5f048811.entry.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-8ce92f5f.entry.js → p-616d7096.entry.js} +1 -1
- package/dist/vega/{p-dbb02b32.entry.js → p-6528739f.entry.js} +1 -1
- package/dist/vega/{p-b3b22e36.entry.js → p-667c980d.entry.js} +1 -1
- package/dist/vega/{p-f597b65e.entry.js → p-6845ed5c.entry.js} +1 -1
- package/dist/vega/p-6cedb325.js +1 -0
- package/dist/vega/{p-78a6e741.entry.js → p-6d99a0b3.entry.js} +1 -1
- package/dist/vega/{p-43af604c.entry.js → p-6fec4d46.entry.js} +1 -1
- package/dist/vega/{p-337440ce.entry.js → p-716a393e.entry.js} +1 -1
- package/dist/vega/p-73ce8fef.js +1 -0
- package/dist/vega/p-788a7a5a.js +1 -0
- package/dist/vega/{p-ed0cc518.entry.js → p-7fe292af.entry.js} +1 -1
- package/dist/vega/{p-ad89f499.js → p-820ff54c.js} +1 -1
- package/dist/vega/p-82c133aa.js +1 -0
- package/dist/vega/{p-f7e8081e.js → p-844b7826.js} +1 -1
- package/dist/vega/{p-93cbc231.entry.js → p-850ea38b.entry.js} +1 -1
- package/dist/vega/p-85dcd07b.js +3 -0
- package/dist/vega/{p-3a49089e.js → p-881622fd.js} +1 -1
- package/dist/vega/{p-6a3ea3f0.entry.js → p-88c29aae.entry.js} +1 -1
- package/dist/vega/{p-a9b6ce74.js → p-8a054a13.js} +1 -1
- package/dist/vega/{p-bd5566e3.entry.js → p-8d9c4338.entry.js} +1 -1
- package/dist/vega/{p-26a54a73.entry.js → p-939c486f.entry.js} +1 -1
- package/dist/vega/{p-76454c9a.js → p-97e7da55.js} +1 -1
- package/dist/vega/{p-89d55444.entry.js → p-99545fd7.entry.js} +1 -1
- package/dist/vega/{p-157a2459.entry.js → p-99ea0fa0.entry.js} +1 -1
- package/dist/vega/{p-be6c1415.js → p-a809b33a.js} +1 -1
- package/dist/vega/{p-8865613a.entry.js → p-a9a70696.entry.js} +1 -1
- package/dist/vega/{p-9cb92fa3.entry.js → p-aae71499.entry.js} +1 -1
- package/dist/vega/{p-b2488adb.js → p-b0f55f5f.js} +1 -1
- package/dist/vega/{p-09deb867.entry.js → p-b5c08306.entry.js} +1 -1
- package/dist/vega/{p-c91e0a43.js → p-b7c90543.js} +1 -1
- package/dist/vega/{p-fc0ce3b5.entry.js → p-bcd3bd79.entry.js} +1 -1
- package/dist/vega/{p-8457b6b7.entry.js → p-bce9f489.entry.js} +1 -1
- package/dist/vega/{p-57b34bf9.entry.js → p-c0a6ed53.entry.js} +1 -1
- package/dist/vega/{p-48ea74b5.entry.js → p-c1c5bd2c.entry.js} +1 -1
- package/dist/vega/{p-f7cab150.entry.js → p-c5621f60.entry.js} +1 -1
- package/dist/vega/{p-94a064a3.js → p-c596bb49.js} +1 -1
- package/dist/vega/{p-dd529875.js → p-c9c42a07.js} +1 -1
- package/dist/vega/{p-d1cc3544.entry.js → p-d0e7c14b.entry.js} +1 -1
- package/dist/vega/{p-cdde6e64.entry.js → p-d6422004.entry.js} +1 -1
- package/dist/vega/{p-1e68e217.entry.js → p-d76cb9da.entry.js} +1 -1
- package/dist/vega/{p-c4bd6cf8.entry.js → p-d871e8eb.entry.js} +1 -1
- package/dist/vega/p-d905159c.entry.js +1 -0
- package/dist/vega/{p-285b161c.entry.js → p-dfda6e01.entry.js} +1 -1
- package/dist/vega/{p-3390bb20.js → p-e30a4f3e.js} +1 -1
- package/dist/vega/{p-059ba5f5.entry.js → p-e8c5a446.entry.js} +1 -1
- package/dist/vega/{p-091fbc35.js → p-eb927e2b.js} +1 -1
- package/dist/vega/{p-fbde6153.js → p-ecea4d24.js} +1 -1
- package/dist/vega/{p-44d2f9e7.entry.js → p-ed1dbc98.entry.js} +1 -1
- package/dist/vega/p-f0b99c3a.entry.js +1 -0
- package/dist/vega/{p-363e453b.js → p-f0d6e2f2.js} +1 -1
- package/dist/vega/{p-4b34df4c.entry.js → p-f251a907.entry.js} +1 -1
- package/dist/vega/{p-9a35a34f.entry.js → p-f5c8024e.entry.js} +1 -1
- package/dist/vega/{p-fa398acc.entry.js → p-f70cfac5.entry.js} +1 -1
- package/dist/vega/p-f830deb8.js +1 -0
- package/dist/vega/{p-2f2201d6.entry.js → p-f9ae396b.entry.js} +1 -1
- package/dist/vega/{p-e80e7cd9.entry.js → p-fd2a49be.entry.js} +1 -1
- package/dist/vega/{p-3ef9c69d.entry.js → p-fe573f85.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/base-renderer-0a3b62b7.js +0 -9
- package/dist/cjs/dto-renderer-manager-7eb5c5ce.js +0 -98
- package/dist/esm/base-renderer-101f6d04.js +0 -7
- package/dist/esm/dto-renderer-manager-abc7eb5f.js +0 -96
- package/dist/vega/p-2e86aee5.js +0 -1
- package/dist/vega/p-3a5737fa.js +0 -1
- package/dist/vega/p-5f09aba8.js +0 -1
- package/dist/vega/p-5fd29f29.entry.js +0 -1
- package/dist/vega/p-66b2a285.entry.js +0 -1
- package/dist/vega/p-73508c24.js +0 -1
- package/dist/vega/p-7fbd11b0.js +0 -1
- package/dist/vega/p-894fb9c9.entry.js +0 -1
- package/dist/vega/p-89947a43.js +0 -1
- package/dist/vega/p-8a3d12e6.js +0 -1
- package/dist/vega/p-a18d280f.js +0 -3
- package/dist/vega/p-a7b5f497.js +0 -1
- package/dist/vega/p-b6c3ce6d.js +0 -1
- package/dist/vega/p-ca4773c3.entry.js +0 -1
- package/dist/vega/p-efe48ed5.entry.js +0 -1
- package/dist/vega/p-f7c6af07.js +0 -1
- package/dist/vega/p-ff24b342.entry.js +0 -1
|
@@ -0,0 +1,583 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const codeBlock = require('./code-block-89850671.js');
|
|
4
|
+
const contentState = require('./content-state-e1c3efe6.js');
|
|
5
|
+
const typeGuard = require('./type-guard-9917b11f.js');
|
|
6
|
+
require('./global-slimmer-registry-b3bce7e0.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* RTEDTORendererManager is a singleton class that manages the registration and retrieval of RTE DTO renderers.
|
|
10
|
+
*/
|
|
11
|
+
class RTEDTORendererManager {
|
|
12
|
+
constructor() {
|
|
13
|
+
// Register RTE DTO renderers, mapping type strings to their respective renderer instances.
|
|
14
|
+
this.RTE_DTO_RENDERER_MAP = new Map();
|
|
15
|
+
// Register RTE Toolbar Button Renderers, mapping type strings to their respective renderer instances.
|
|
16
|
+
this.RTE_TOOLBAR_BUTTON_RENDERER_MAP = new Map();
|
|
17
|
+
/**
|
|
18
|
+
* Per-host toolbar button renderer map.
|
|
19
|
+
* Stores a host-specific renderer map so that extensions that register during
|
|
20
|
+
* {@link VegaRTEExtension#prepareBeforeLoad} can provide isolated renderer instances
|
|
21
|
+
* for each {@link HTMLVegaRichTextEditorElement}. At render time this map is checked
|
|
22
|
+
* first; the global singleton map is used as a fallback.
|
|
23
|
+
*/
|
|
24
|
+
this.hostToolbarButtonRendererMap = new WeakMap();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Registers a new RTE DTO renderer.
|
|
28
|
+
*
|
|
29
|
+
* @param {string} type - The type identifier for the RTE DTO renderer.
|
|
30
|
+
* @param {VegaRTEBaseRenderer} RTEDTORenderer - The renderer instance for the RTE DTO.
|
|
31
|
+
*/
|
|
32
|
+
registerRTEDTORenderer(type, RTEDTORenderer) {
|
|
33
|
+
const existRenderer = this.RTE_DTO_RENDERER_MAP.get(type);
|
|
34
|
+
if (RTEDTORenderer &&
|
|
35
|
+
existRenderer &&
|
|
36
|
+
existRenderer.constructor.name !== RTEDTORenderer.constructor.name) {
|
|
37
|
+
throw new Error(`Renderer for type ${type} is already registered with a different class(${existRenderer.constructor.name}).`);
|
|
38
|
+
}
|
|
39
|
+
this.RTE_DTO_RENDERER_MAP.set(type, RTEDTORenderer);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Registers a new RTE Toolbar Button Renderer.
|
|
43
|
+
*
|
|
44
|
+
* @param {string} type - The type identifier for the RTE Toolbar Button Renderer.
|
|
45
|
+
* @param {VegaRTEToolbarButtonRenderer} RTEToolbarButtonRenderer - The renderer instance for the RTE Toolbar Button.
|
|
46
|
+
*/
|
|
47
|
+
registerRTEToolbarButtonRenderer(type, RTEToolbarButtonRenderer) {
|
|
48
|
+
this.RTE_TOOLBAR_BUTTON_RENDERER_MAP.set(type, RTEToolbarButtonRenderer);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Registers a host-specific toolbar button renderer.
|
|
52
|
+
* The per-host renderer takes precedence over the global singleton when the host
|
|
53
|
+
* element is passed to {@link getRTEToolbarButtonRenderer}.
|
|
54
|
+
*
|
|
55
|
+
* @typedef HTMLVegaRichTextEditorElement - The rich text editor host element type.
|
|
56
|
+
* @param {HTMLVegaRichTextEditorElement} host - The rich text editor host element.
|
|
57
|
+
* @param {string} type - The type identifier for the toolbar button renderer.
|
|
58
|
+
* @param {VegaRTEToolbarButtonRenderer} renderer - The renderer instance to register for this host.
|
|
59
|
+
*/
|
|
60
|
+
registerRTEToolbarButtonRendererForHost(host, type, renderer) {
|
|
61
|
+
let hostMap = this.hostToolbarButtonRendererMap.get(host);
|
|
62
|
+
if (!hostMap) {
|
|
63
|
+
hostMap = new Map();
|
|
64
|
+
this.hostToolbarButtonRendererMap.set(host, hostMap);
|
|
65
|
+
}
|
|
66
|
+
hostMap.set(type, renderer);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Retrieves the RTE renderer for a given type.
|
|
70
|
+
*
|
|
71
|
+
* @param {string} type - The type identifier for the RTE block.
|
|
72
|
+
* @returns {Nullable<BaseRenderer>} - The renderer instance for the RTE block, or null if not found.
|
|
73
|
+
*/
|
|
74
|
+
getRTERenderer(type) {
|
|
75
|
+
return this.RTE_DTO_RENDERER_MAP.get(type);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Retrieves the RTE Toolbar Button Renderer for a given type.
|
|
79
|
+
* When a host element is provided the per-host map registered via
|
|
80
|
+
* {@link registerRTEToolbarButtonRendererForHost} is checked first; the global
|
|
81
|
+
* singleton map is used as a fallback so that extensions that do not override
|
|
82
|
+
* {@link VegaRTEExtension#prepareBeforeLoad} continue to work unchanged.
|
|
83
|
+
*
|
|
84
|
+
* @typedef HTMLVegaRichTextEditorElement - The rich text editor host element type.
|
|
85
|
+
* @param {string} type - The type identifier for the RTE Toolbar Button Renderer.
|
|
86
|
+
* @param {HTMLVegaRichTextEditorElement} [host] - Optional host element for per-host lookup.
|
|
87
|
+
* @returns {Nullable<VegaRTEToolbarButtonRenderer>} - The renderer instance for the RTE Toolbar Button, or null if not found.
|
|
88
|
+
*/
|
|
89
|
+
getRTEToolbarButtonRenderer(type, host) {
|
|
90
|
+
var _a, _b;
|
|
91
|
+
if (host) {
|
|
92
|
+
const hostRenderer = (_a = this.hostToolbarButtonRendererMap
|
|
93
|
+
.get(host)) === null || _a === void 0 ? void 0 : _a.get(type);
|
|
94
|
+
if (hostRenderer) {
|
|
95
|
+
return hostRenderer;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return (_b = this.RTE_TOOLBAR_BUTTON_RENDERER_MAP.get(type)) !== null && _b !== void 0 ? _b : null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const RTEDTORendererManager$1 = new RTEDTORendererManager();
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Manager for storing and retrieving the extension context associated with each rich text editor host element.
|
|
105
|
+
*
|
|
106
|
+
* @todo Currently, there are three types of contexts in RTE: toolbar render context, extension context, and DTO render context. The second and third types are bound to the extension context via host props. We are considering optimizing these three types of contexts to make the program more flexible and easier to maintain.
|
|
107
|
+
*/
|
|
108
|
+
class RTEExtensionContextManager {
|
|
109
|
+
constructor() {
|
|
110
|
+
this.extensionContextMap = new WeakMap();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Store the extension context for the given rich text editor host element.
|
|
114
|
+
*
|
|
115
|
+
* @param {RTEExtensionContext} context - The extension context to store.
|
|
116
|
+
*/
|
|
117
|
+
updateExtensionContext(context) {
|
|
118
|
+
if (context && context.host) {
|
|
119
|
+
let newContext = context;
|
|
120
|
+
const existingContext = this.extensionContextMap.get(context.host);
|
|
121
|
+
// If there is already an existing context for the host, merge the new context with the existing one to avoid overwriting any properties that are not included in the new context.
|
|
122
|
+
if (existingContext) {
|
|
123
|
+
newContext = Object.assign(Object.assign({}, existingContext), context);
|
|
124
|
+
}
|
|
125
|
+
this.extensionContextMap.set(context.host, newContext);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get the extension context for the given rich text editor host element.
|
|
130
|
+
*
|
|
131
|
+
* @typedef HTMLVegaRichTextEditorElement - The type definition for the rich text editor host element.
|
|
132
|
+
* @param {Nullable<HTMLVegaRichTextEditorElement>} el - The host rich text editor element.
|
|
133
|
+
* @returns {Nullable<RTEExtensionContext>} - The extension context associated with the host.
|
|
134
|
+
*/
|
|
135
|
+
getExtensionContext(el) {
|
|
136
|
+
return el ? this.extensionContextMap.get(el) : null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const RTEExtensionContextManager$1 = new RTEExtensionContextManager();
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Base renderer class for the rich text editor.
|
|
143
|
+
*/
|
|
144
|
+
class VegaRTEBaseRenderer {
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Base renderer for Vega Rich Text Editor.
|
|
149
|
+
*/
|
|
150
|
+
class VegaRTEExtensionRenderer extends VegaRTEBaseRenderer {
|
|
151
|
+
/**
|
|
152
|
+
* Returns the styles to be injected into the RTE scope.
|
|
153
|
+
* Override this method to provide custom styles for the custom blocks or nodes.
|
|
154
|
+
*
|
|
155
|
+
* @returns {string} - The styles as a string.
|
|
156
|
+
*/
|
|
157
|
+
injectRTEScopeStyles() {
|
|
158
|
+
return '';
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Renders the given data as a DOM element.
|
|
162
|
+
*
|
|
163
|
+
* @param {RTEBlock | RTENode} renderData - The data to render, which can be a block or a node.
|
|
164
|
+
* @param {RTERenderContext} rteContext - The rte editor context.
|
|
165
|
+
* @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
|
|
166
|
+
* @returns {VegaRTERenderResult} - The rendered DOM element.
|
|
167
|
+
*/
|
|
168
|
+
render(renderData, rteContext, createElement) {
|
|
169
|
+
var _a;
|
|
170
|
+
const element = this.doRender(createElement, renderData, rteContext);
|
|
171
|
+
this.fallbackRegisterRef(element, renderData);
|
|
172
|
+
this.appendChildren(((_a = element.childrenContainerGetter) === null || _a === void 0 ? void 0 : _a.call(element)) || element, renderData, rteContext, createElement);
|
|
173
|
+
return element;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Register the reference of the element in the rendering registry.
|
|
177
|
+
*
|
|
178
|
+
* @param {RTEBlock | RTENode} renderData - The data to register with the element.
|
|
179
|
+
* @returns {VegaRTEUseRef} - The function to register the element.
|
|
180
|
+
*/
|
|
181
|
+
useRef(renderData) {
|
|
182
|
+
renderData[VegaRTEExtensionRenderer.REGISTER_REF_FLAG] = true;
|
|
183
|
+
return function (element) {
|
|
184
|
+
if (element) {
|
|
185
|
+
codeBlock.stateEntityRenderingRegistry.register(element, renderData);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Get a registered renderer by its key.
|
|
191
|
+
*
|
|
192
|
+
* @param {string} key - The key of the renderer.
|
|
193
|
+
* @returns {Nullable<BaseRenderer>} - The registered renderer or null if not found.
|
|
194
|
+
*/
|
|
195
|
+
getDTORenderer(key) {
|
|
196
|
+
return RTEDTORendererManager$1.getRTERenderer(key);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Get the extension context for the given rich text editor host element.
|
|
200
|
+
*
|
|
201
|
+
* @typedef HTMLVegaRichTextEditorElement - The type definition for the rich text editor host element.
|
|
202
|
+
* @param {HTMLVegaRichTextEditorElement} el - The host rich text editor element.
|
|
203
|
+
* @returns {Nullable<RTEExtensionContext>} - The extension context associated with the host.
|
|
204
|
+
*/
|
|
205
|
+
getExtensionContext(el) {
|
|
206
|
+
return RTEExtensionContextManager$1.getExtensionContext(el);
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Auto render the block children if the block element is not exist
|
|
210
|
+
*
|
|
211
|
+
* @param {VegaRTERenderResult} parentElement - The parent element to append children to.
|
|
212
|
+
* @param {RTEBlock | RTENode} renderData - The data to render children for.
|
|
213
|
+
* @param {RTERenderContext} rteContext - The render context.
|
|
214
|
+
* @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
|
|
215
|
+
*/
|
|
216
|
+
appendChildren(parentElement, renderData, rteContext, createElement) {
|
|
217
|
+
if (Array.isArray(renderData['children']) &&
|
|
218
|
+
renderData['children'].length &&
|
|
219
|
+
!parentElement['$children$']) {
|
|
220
|
+
parentElement['$children$'] = renderData['children']
|
|
221
|
+
.map((child) => {
|
|
222
|
+
return this.renderChildren(child, rteContext, createElement);
|
|
223
|
+
})
|
|
224
|
+
.filter(typeGuard.isNonNullable);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Render the children node.
|
|
229
|
+
*
|
|
230
|
+
* @param {RTENode | RTEBlock} renderData - The node to render children for.
|
|
231
|
+
* @param {RTERenderContext} rteContext - The render context.
|
|
232
|
+
* @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
|
|
233
|
+
* @returns {Nullable<VegaRTERenderResult>} - The rendered DOM element.
|
|
234
|
+
*/
|
|
235
|
+
renderChildren(renderData, rteContext, createElement) {
|
|
236
|
+
const renderer = this.getDTORenderer(renderData.type);
|
|
237
|
+
if (renderer) {
|
|
238
|
+
return renderer.render(renderData, rteContext, createElement);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Fallback register reference for the element.
|
|
243
|
+
*
|
|
244
|
+
* @param {VegaRTERenderResult} element - The rendered DOM element.
|
|
245
|
+
* @param {RTEBlock | RTENode} renderData - The data to register with the element.
|
|
246
|
+
*/
|
|
247
|
+
fallbackRegisterRef(element, renderData) {
|
|
248
|
+
if (!renderData[VegaRTEExtensionRenderer.REGISTER_REF_FLAG] &&
|
|
249
|
+
element['$attrs$'] &&
|
|
250
|
+
!element['$attrs$']['ref']) {
|
|
251
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
252
|
+
element['$attrs$']['ref'] = this.useRef(renderData);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
VegaRTEExtensionRenderer.REGISTER_REF_FLAG = '__registeredRef__';
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Generic per-host state store using WeakMap keyed by HTMLVegaRichTextEditorElement.
|
|
260
|
+
* Create via {@link VegaRTEExtension.createStateStore} and declare as `static readonly` on your extension class.
|
|
261
|
+
*
|
|
262
|
+
* @template T - The type of the state value to store per host.
|
|
263
|
+
*/
|
|
264
|
+
class RTEExtensionStateStore {
|
|
265
|
+
constructor() {
|
|
266
|
+
this.stateMap = new WeakMap();
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Store a value for the given host.
|
|
270
|
+
*
|
|
271
|
+
* @param {HTMLElement} host - The editor host.
|
|
272
|
+
* @param {T} value - The value to store.
|
|
273
|
+
*/
|
|
274
|
+
set(host, value) {
|
|
275
|
+
this.stateMap.set(host, value);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Retrieve the stored value for the given host.
|
|
279
|
+
*
|
|
280
|
+
* @param {Nullable<HTMLElement>} host - The editor host.
|
|
281
|
+
* @returns {Nullable<T>} The stored value, or null if not found.
|
|
282
|
+
*/
|
|
283
|
+
get(host) {
|
|
284
|
+
return host ? this.stateMap.get(host) : null;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Remove the stored value for the given host.
|
|
288
|
+
*
|
|
289
|
+
* @param {HTMLElement} host - The editor host.
|
|
290
|
+
*/
|
|
291
|
+
delete(host) {
|
|
292
|
+
this.stateMap.delete(host);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
const patchedBlockClasses = new WeakSet();
|
|
297
|
+
const annotationHandlersByClass = new WeakMap();
|
|
298
|
+
/**
|
|
299
|
+
* Abstract class for Vega Rich Text Editor extensions.
|
|
300
|
+
*/
|
|
301
|
+
class VegaRTEExtension {
|
|
302
|
+
constructor() {
|
|
303
|
+
/**
|
|
304
|
+
* The context of the RTE extension, which may include references to the host editor and other relevant information.
|
|
305
|
+
*/
|
|
306
|
+
this.extensionContext = null;
|
|
307
|
+
this.hasCustomStylesRenderers = new Set();
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Registers an action handle strategy for a specific node or block class.
|
|
311
|
+
*
|
|
312
|
+
* @param {string} nodeOrBlockClassName - The name of the node or block class.
|
|
313
|
+
* @param {string} actionType - The type of the action.
|
|
314
|
+
* @param {ActionHandleStrategy<ModifyContentAction | AnnotationAction, RTENode | RTEBlock | VegaRTEContent>} strategy - The strategy to register.
|
|
315
|
+
*/
|
|
316
|
+
static registerActionHandleStrategy(nodeOrBlockClassName, actionType, strategy) {
|
|
317
|
+
codeBlock.ActionHandleStrategyRegistry.register(actionType, nodeOrBlockClassName, strategy);
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Registers an action handler interceptor for a specific node or block class.
|
|
321
|
+
*
|
|
322
|
+
* @param {string} nodeOrBlockClassName - The name of the node or block class.
|
|
323
|
+
* @param {string} actionType - The type of the action.
|
|
324
|
+
* @param {ActionHandlerInterceptor<ModifyContentAction, RTENode | RTEBlock | VegaRTEContent>} strategy - The interceptor to register.
|
|
325
|
+
*/
|
|
326
|
+
static registerActionHandlerInterceptor(nodeOrBlockClassName, actionType, strategy) {
|
|
327
|
+
codeBlock.ActionHandlerInterceptorRegistry.register(actionType, nodeOrBlockClassName, strategy);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Registers a filter styles strategy for a specific block or node class.
|
|
331
|
+
*
|
|
332
|
+
* @param {string} blockOrNodeClassName - The name of the block or node class.
|
|
333
|
+
* @param {RTEFilterStylesStrategy} strategy - The filter styles strategy to register.
|
|
334
|
+
*/
|
|
335
|
+
static registerFilterStylesStrategy(blockOrNodeClassName, strategy) {
|
|
336
|
+
codeBlock.RTEFilterStylesStrategyRegistry.register(blockOrNodeClassName, strategy);
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Attach a custom JSON annotation handler to a block DTO class's static `from` flow.
|
|
340
|
+
*
|
|
341
|
+
* This is a reusable extension point: any extension can register a handler for an
|
|
342
|
+
* annotation key and transform the value into block annotations during JSON parsing.
|
|
343
|
+
*
|
|
344
|
+
* Safe to call multiple times per class/key/handler — duplicate registrations are no-ops.
|
|
345
|
+
*
|
|
346
|
+
* @param {BlockClassWithFrom} BlockClass - Block DTO class to patch.
|
|
347
|
+
* @param {string} annotationKey - JSON annotation key to read from `block.annotations`.
|
|
348
|
+
* @param {AnnotationFromJsonHandler} handler - Handler that applies annotation logic to the instance.
|
|
349
|
+
*/
|
|
350
|
+
static attachAnnotationFromJson(BlockClass, annotationKey, handler) {
|
|
351
|
+
var _a, _b;
|
|
352
|
+
const handlerMap = (_a = annotationHandlersByClass.get(BlockClass)) !== null && _a !== void 0 ? _a : new Map();
|
|
353
|
+
const handlers = (_b = handlerMap.get(annotationKey)) !== null && _b !== void 0 ? _b : new Set();
|
|
354
|
+
handlers.add(handler);
|
|
355
|
+
handlerMap.set(annotationKey, handlers);
|
|
356
|
+
annotationHandlersByClass.set(BlockClass, handlerMap);
|
|
357
|
+
if (patchedBlockClasses.has(BlockClass)) {
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
patchedBlockClasses.add(BlockClass);
|
|
361
|
+
const originalFrom = BlockClass.from.bind(BlockClass);
|
|
362
|
+
/**
|
|
363
|
+
* Wrapped static `from` that preserves original behavior and then applies
|
|
364
|
+
* all registered annotation-from-json handlers for this BlockClass.
|
|
365
|
+
*
|
|
366
|
+
* @param {VegaRTEBlockBase} block - Raw JSON block payload.
|
|
367
|
+
* @param {VegaRTETransformOptions} [options] - Optional transform options.
|
|
368
|
+
* @returns {RTEBlock} The transformed block instance.
|
|
369
|
+
*/
|
|
370
|
+
BlockClass.from = function patchedFrom(block, options) {
|
|
371
|
+
const instance = originalFrom(block, options);
|
|
372
|
+
const annotations = block.annotations;
|
|
373
|
+
const currentHandlerMap = annotationHandlersByClass.get(BlockClass);
|
|
374
|
+
if (annotations && currentHandlerMap) {
|
|
375
|
+
currentHandlerMap.forEach((registeredHandlers, key) => {
|
|
376
|
+
const value = annotations[key];
|
|
377
|
+
registeredHandlers.forEach((registeredHandler) => {
|
|
378
|
+
registeredHandler(instance, value, block, options);
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
return instance;
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Create a per-host state store for this extension.
|
|
387
|
+
* Declare as `static readonly` to share store across extension instances while isolating state per RTE host.
|
|
388
|
+
*
|
|
389
|
+
* @template T - The type of the state value to store per host.
|
|
390
|
+
* @returns {RTEExtensionStateStore<T>} A new state store instance.
|
|
391
|
+
*/
|
|
392
|
+
static createStateStore() {
|
|
393
|
+
return new RTEExtensionStateStore();
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Lifecycle hook called by the rich text editor before the first render
|
|
397
|
+
* (during `componentWillLoad`). Override this method to perform per-host
|
|
398
|
+
* pre-render setup — for example, registering a host-specific toolbar button
|
|
399
|
+
* renderer via {@link registerToolbarButtonRenderer} so that each editor on
|
|
400
|
+
* the page gets its own isolated renderer instance.
|
|
401
|
+
*
|
|
402
|
+
* The default implementation is a no-op; subclasses may override selectively.
|
|
403
|
+
*
|
|
404
|
+
* @typedef HTMLVegaRichTextEditorElement - The type of the host rich text editor element.
|
|
405
|
+
* @param {HTMLVegaRichTextEditorElement} host - The host rich text editor element that is about to load.
|
|
406
|
+
*/
|
|
407
|
+
prepareBeforeLoad(host) {
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Initializes the RTE extension with the provided context.
|
|
411
|
+
*
|
|
412
|
+
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
413
|
+
*/
|
|
414
|
+
initialExtensionAfterLoad(context) {
|
|
415
|
+
this.extensionContext = context;
|
|
416
|
+
RTEExtensionContextManager$1.updateExtensionContext(context);
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Callback method invoked when the extension is destroyed.
|
|
420
|
+
* Override this method to perform any necessary cleanup.
|
|
421
|
+
*/
|
|
422
|
+
destroyExtension() {
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Collect custom styles for the extension renderers.
|
|
426
|
+
* If custom nodes have special styles, override this method to provide the styles.
|
|
427
|
+
*
|
|
428
|
+
* @returns {string} - The custom styles as a string.
|
|
429
|
+
*/
|
|
430
|
+
collectExtensionRendererStyles() {
|
|
431
|
+
let styles = '';
|
|
432
|
+
if (this.hasCustomStylesRenderers.size > 0) {
|
|
433
|
+
this.hasCustomStylesRenderers.forEach((renderer) => {
|
|
434
|
+
styles += `${renderer.injectRTEScopeStyles()}\n`;
|
|
435
|
+
});
|
|
436
|
+
}
|
|
437
|
+
return styles;
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Register a node type with the extension.
|
|
441
|
+
*
|
|
442
|
+
* @param {string} type - The type of the node or block. The type should be a string that uniquely identifies the node or block.
|
|
443
|
+
* @param {ClassType<RTEBlock | RTENode>} DTOClass - The DTO class to register.
|
|
444
|
+
*/
|
|
445
|
+
registerNode(type, DTOClass) {
|
|
446
|
+
codeBlock.RTEDTOClassManager.registerRTEDTOClass(type, DTOClass);
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Register a renderer for a node type with the extension.
|
|
450
|
+
*
|
|
451
|
+
* @param {string} type - The type of the node or block. The type should be a string that uniquely identifies the node or block.
|
|
452
|
+
* @param {BaseRenderer} renderer - The renderer to register.
|
|
453
|
+
*/
|
|
454
|
+
registerRenderer(type, renderer) {
|
|
455
|
+
RTEDTORendererManager$1.registerRTEDTORenderer(type, renderer);
|
|
456
|
+
if (renderer instanceof VegaRTEExtensionRenderer && renderer.injectRTEScopeStyles()) {
|
|
457
|
+
this.hasCustomStylesRenderers.add(renderer);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* Register a toolbar button renderer for the extension.
|
|
462
|
+
* When a `host` element is provided the renderer is registered in the per-host map
|
|
463
|
+
* (via {@link RTEDTORendererManager#registerRTEToolbarButtonRendererForHost}), giving
|
|
464
|
+
* that host an isolated renderer instance that takes precedence over the global singleton.
|
|
465
|
+
* Omit `host` to fall back to the global registration (backwards-compatible default).
|
|
466
|
+
*
|
|
467
|
+
* @param {string} type - The type of the toolbar button.
|
|
468
|
+
* @param {VegaRTEToolbarButtonRenderer} renderer - The renderer to register.
|
|
469
|
+
* @param {HTMLVegaRichTextEditorElement} [host] - Optional host element for per-host isolation.
|
|
470
|
+
*/
|
|
471
|
+
registerToolbarButtonRenderer(type, renderer, host) {
|
|
472
|
+
if (host) {
|
|
473
|
+
RTEDTORendererManager$1.registerRTEToolbarButtonRendererForHost(host, type, renderer);
|
|
474
|
+
}
|
|
475
|
+
else {
|
|
476
|
+
RTEDTORendererManager$1.registerRTEToolbarButtonRenderer(type, renderer);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* This is a helper method that utilizes RTEUtils to register common strategies.
|
|
481
|
+
* Call the method with the class name of the block to make it support basic strategies like:
|
|
482
|
+
* - Delete children
|
|
483
|
+
* - Append the children
|
|
484
|
+
* - Delete the block children content
|
|
485
|
+
*
|
|
486
|
+
* @param {string} blockClassName - The class name of the block to register strategies for.
|
|
487
|
+
*/
|
|
488
|
+
registerBlockBasicStrategies(blockClassName) {
|
|
489
|
+
contentState.RTEDTOActionStrategyManager.registerBlockBasicStrategies(blockClassName);
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* Unregister a strategy for a specific action type and block class if not need.
|
|
493
|
+
*
|
|
494
|
+
* @param {string} actionType - The special action type or the action class name.
|
|
495
|
+
* @param {string} blockClassName - The class name of the block to unregister the strategy for.
|
|
496
|
+
*/
|
|
497
|
+
unRegisterStrategy(actionType, blockClassName) {
|
|
498
|
+
codeBlock.ActionHandleStrategyRegistry.unregister(actionType, blockClassName);
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Unregister a strategy for a specific action type and block class if not need.
|
|
502
|
+
*
|
|
503
|
+
* @param {string} actionType - The special action type or the action class name.
|
|
504
|
+
* @param {string} blockClassName - The class name of the block to unregister the strategy for.
|
|
505
|
+
* @param {ActionHandlerInterceptor<ModifyContentAction, RTENode | RTEBlock | VegaRTEContent>} strategy - The interceptor to unregister.
|
|
506
|
+
*/
|
|
507
|
+
unRegisterInterceptor(actionType, blockClassName, strategy) {
|
|
508
|
+
codeBlock.ActionHandlerInterceptorRegistry.unregister(actionType, blockClassName, strategy);
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Register an element to block DTO class strategy.
|
|
512
|
+
*
|
|
513
|
+
* @param {ElementToDTOStrategy} strategy - The strategy to register.
|
|
514
|
+
*/
|
|
515
|
+
registerElementToBlockDTOClassStrategy(strategy) {
|
|
516
|
+
contentState.ElementToDTOClassStrategyManager.registerElementToBlockStrategy(strategy);
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Register an element to node DTO class strategy.
|
|
520
|
+
*
|
|
521
|
+
* @param {ElementToDTOStrategy} strategy - The strategy to register.
|
|
522
|
+
*/
|
|
523
|
+
registerElementToNodeDTOClassStrategy(strategy) {
|
|
524
|
+
contentState.ElementToDTOClassStrategyManager.registerElementToNodeStrategy(strategy);
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* Get the registered element to node DTO class strategies.
|
|
528
|
+
*
|
|
529
|
+
* @returns {ElementToDTOStrategy[]} - The registered element to node DTO class strategies.
|
|
530
|
+
*/
|
|
531
|
+
getElementToNodeDTOClassStrategies() {
|
|
532
|
+
return contentState.ElementToDTOClassStrategyManager.getElementToNodeStrategies();
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Register a custom annotation handler for HTML to DTO conversion.
|
|
536
|
+
*
|
|
537
|
+
* @param {AnnotationGeneratorStrategyAbstract} handler - The annotation handler to register.
|
|
538
|
+
*/
|
|
539
|
+
registerAnnotationHandler(handler) {
|
|
540
|
+
contentState.htmlElementToAnnotationGenerator.registerHandler(handler);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
* Rich Text Editor extension that configures built-in link behavior.
|
|
546
|
+
*/
|
|
547
|
+
class VegaRTELinkExtension extends VegaRTEExtension {
|
|
548
|
+
constructor(config = {}) {
|
|
549
|
+
super();
|
|
550
|
+
this.config = config;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Store config per host so both toolbar-link and inline-link editors
|
|
554
|
+
* can consistently read the extension settings.
|
|
555
|
+
*
|
|
556
|
+
* @param {HTMLElement} host - The host rich text editor element.
|
|
557
|
+
*/
|
|
558
|
+
prepareBeforeLoad(host) {
|
|
559
|
+
VegaRTELinkExtension.configStore.set(host, this.config);
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Remove config for the current host when the extension is destroyed.
|
|
563
|
+
*/
|
|
564
|
+
destroyExtension() {
|
|
565
|
+
var _a;
|
|
566
|
+
if ((_a = this.extensionContext) === null || _a === void 0 ? void 0 : _a.host) {
|
|
567
|
+
VegaRTELinkExtension.configStore.delete(this.extensionContext.host);
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Per-host config store. Declare as static readonly to isolate config per editor host.
|
|
573
|
+
*
|
|
574
|
+
* @type {RTEExtensionStateStore<VegaRTELinkExtensionConfig>}
|
|
575
|
+
*/
|
|
576
|
+
VegaRTELinkExtension.configStore = VegaRTELinkExtension.createStateStore();
|
|
577
|
+
|
|
578
|
+
exports.RTEDTORendererManager = RTEDTORendererManager$1;
|
|
579
|
+
exports.RTEExtensionContextManager = RTEExtensionContextManager$1;
|
|
580
|
+
exports.VegaRTEBaseRenderer = VegaRTEBaseRenderer;
|
|
581
|
+
exports.VegaRTEExtension = VegaRTEExtension;
|
|
582
|
+
exports.VegaRTEExtensionRenderer = VegaRTEExtensionRenderer;
|
|
583
|
+
exports.VegaRTELinkExtension = VegaRTELinkExtension;
|