@globalpayments/vega 2.95.0 → 2.97.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-76815382.js → app-globals-3f57f7b9.js} +10 -10
- package/dist/cjs/{code-block-493c7ce7.js → code-block-28a7732e.js} +1508 -56
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-ab21fcbf.js → component-value-history-controller-slimmer.abstract-50cdba6e.js} +3 -3
- package/dist/cjs/{content-state-fc34a814.js → content-state-e2ab0f06.js} +143 -581
- package/dist/cjs/{date-required-rule-4ab06a82.js → date-required-rule-5250f26d.js} +1 -1
- package/dist/cjs/{design-token-d3d12fa0.js → design-token-74674ee7.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-1d6323c2.js → element-appender-slimmer-ccb2e3c2.js} +117 -2
- package/dist/cjs/{form-field-controller-slimmer-d638ba12.js → form-field-controller-slimmer-58621b5e.js} +5 -14
- package/dist/cjs/form-field-key-8d5edf75.js +25 -0
- package/dist/cjs/{image-annotation-action-7c4cd316.js → image-annotation-action-b54dc669.js} +2 -2
- package/dist/cjs/{image-extension-30a7c10f.js → image-extension-1e3eeaa3.js} +2 -2
- package/dist/cjs/index.cjs.js +19 -19
- package/dist/cjs/{inject-keyboard-manager-5a105612.js → inject-keyboard-manager-6a6f5c9f.js} +1 -1
- package/dist/cjs/{internal-calendar-period-factory-b76006f7.js → internal-calendar-period-factory-dfcdd3f6.js} +1 -1
- package/dist/cjs/{internal-translation-controller-eb02c3b1.js → internal-translation-controller-1dac2df8.js} +7 -0
- package/dist/cjs/{keyboard-manager-ca76d4dc.js → keyboard-manager-c56033b1.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-a1223714.js → keyboard-manager-slimmer-7043a106.js} +1 -1
- package/dist/cjs/{link-extension-92a63cb7.js → link-extension-71c27ff3.js} +3 -3
- package/dist/cjs/loader.cjs.js +12 -12
- package/dist/cjs/{month-view-generator-876c50d4.js → month-view-generator-7b704a80.js} +1 -1
- package/dist/cjs/{public-rules-9e1ea1d9.js → public-rules-55e34d2e.js} +7 -7
- package/dist/cjs/{range-30219330.js → range-eebe0e3c.js} +1 -1
- package/dist/cjs/{responsive-format-facade-25e9f30d.js → responsive-format-facade-493d1763.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-23bf7485.js → rich-text-editor-required-rule-4fdee376.js} +1 -1
- package/dist/cjs/{split-cell-operation-43752212.js → split-cell-operation-51097409.js} +3 -3
- package/dist/cjs/{state-border-formatter-f1ce0f3b.js → state-border-formatter-711c7aaa.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-b22f7754.js → string-format-strategy.abstract-b61bdcbd.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-d2c248f7.js → string-input-formatter-slimmer-18d45942.js} +1 -1
- package/dist/cjs/{string-mask-strategy-fc01a500.js → string-mask-strategy-ad3fa0ac.js} +2 -2
- package/dist/cjs/{style-formatter-73205450.js → style-formatter-8f711cb0.js} +2 -2
- package/dist/cjs/{time-required-rule-12d2f394.js → time-required-rule-87417359.js} +1 -1
- package/dist/cjs/{token-extension-d123d9d0.js → token-extension-608bbf7b.js} +38 -14
- package/dist/cjs/{translation-slimmer-9099f56c.js → translation-slimmer-77c7f37d.js} +1 -1
- package/dist/cjs/{type-guard-f354af8b.js → type-guard-a57ef3ac.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-8d370163.js → valid-credit-card-number-rule-4c0a3040.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-backdrop.cjs.entry.js +63 -8
- 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_5.cjs.entry.js +7 -7
- 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 +20 -3
- 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 +11 -2
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +12 -3
- package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +17 -8
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +22 -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 +33 -10
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +2 -2
- package/dist/cjs/vega-file-uploader.cjs.entry.js +12 -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 +28 -25
- 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 +14 -5
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +16 -7
- package/dist/cjs/vega-input-numeric.cjs.entry.js +14 -5
- package/dist/cjs/vega-input-passcode.cjs.entry.js +14 -5
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +13 -4
- package/dist/cjs/vega-input-range.cjs.entry.js +12 -3
- package/dist/cjs/vega-input-select.cjs.entry.js +14 -5
- package/dist/cjs/vega-input.cjs.entry.js +9 -7
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +71 -11
- 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 -5
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +86 -14
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +2122 -451
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +1 -1
- 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-section-title.cjs.entry.js +896 -14
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +13 -4
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +11 -2
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
- package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -7
- package/dist/cjs/vega-stepper.cjs.entry.js +12 -3
- package/dist/cjs/vega-table_11.cjs.entry.js +4 -4
- package/dist/cjs/vega-textarea.cjs.entry.js +12 -3
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +18 -9
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +12 -3
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega.cjs.js +12 -12
- package/dist/collection/components/vega-backdrop/slimmers/controller/vega-backdrop-visible-controller.js +63 -8
- package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +33 -1
- package/dist/collection/components/vega-checkbox/vega-checkbox.js +34 -2
- package/dist/collection/components/vega-color-picker/vega-color-picker.js +33 -1
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.js +33 -1
- package/dist/collection/components/vega-combo-box/vega-combo-box.js +35 -3
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +33 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +30 -7
- package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +33 -1
- package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-controller.js +9 -9
- package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.js +5 -5
- package/dist/collection/components/vega-form/slimmers/renderers/native-form-renderer.js +4 -1
- package/dist/collection/components/vega-form/vega-form.js +32 -0
- package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +33 -1
- package/dist/collection/components/vega-input/vega-input.js +5 -4
- package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +34 -2
- package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +33 -1
- package/dist/collection/components/vega-input-passcode/vega-input-passcode.js +33 -1
- package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +33 -1
- package/dist/collection/components/vega-input-range/vega-input-range.js +33 -1
- package/dist/collection/components/vega-input-select/vega-input-select.js +35 -3
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.js +17 -1
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +48 -5
- package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.js +18 -3
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +4 -0
- package/dist/collection/components/vega-rich-text-editor/constants/constant.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +10 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +8 -3
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.js +60 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.js +36 -4
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.js +27 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.js +74 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +81 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +160 -9
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +376 -10
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.js +104 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/nest-list-items-action.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +10 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -3
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +7 -1
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.js +8 -4
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +26 -3
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +34 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +20 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.js +25 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/keyboard-link-handler.js +297 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.js +204 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.js +42 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.js +34 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.js +180 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +8 -2
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +33 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +398 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-state-manager.js +111 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-type-config-controller.js +173 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/link-type-handler.js +49 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +114 -106
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/utils/link-url-normalizer.js +80 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.js +44 -1
- package/dist/collection/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.js +54 -0
- package/dist/collection/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.js +4 -4
- package/dist/collection/components/vega-section-title/vega-section-title.js +18 -2
- package/dist/collection/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.js +33 -1
- package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.js +33 -1
- package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +33 -1
- package/dist/collection/components/vega-stepper/vega-stepper.js +34 -2
- package/dist/collection/components/vega-textarea/vega-textarea.js +34 -2
- package/dist/collection/components/vega-time-picker/vega-time-picker.js +33 -1
- package/dist/collection/components/vega-toggle-switch/vega-toggle-switch.js +34 -2
- package/dist/collection/helpers/a11y-tree/a11y-node-dto.js +210 -0
- package/dist/collection/helpers/a11y-tree/a11y-tree-applier.js +189 -0
- package/dist/collection/helpers/a11y-tree/a11y-tree.types.js +48 -0
- package/dist/collection/helpers/a11y-tree/strategies/baseline-strategy.js +78 -0
- package/dist/collection/helpers/a11y-tree/strategies/firefox-nvda-strategy.js +56 -0
- package/dist/collection/helpers/a11y-tree/strategies/webkit-voiceover-strategy.js +140 -0
- package/dist/collection/helpers/a11y-tree/strategy-resolver.js +172 -0
- package/dist/collection/helpers/slimmers/a11y-tree-slimmer.js +54 -0
- package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +29 -0
- package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.js +70 -0
- package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.js +1 -0
- package/dist/collection/helpers/slimmers/{field-error-controller-silmmer.js → form/field-error-controller-silmmer.js} +3 -3
- package/dist/collection/helpers/slimmers/{field-error-ui-controller-slimmer.js → form/field-error-ui-controller-slimmer.js} +9 -9
- package/dist/collection/helpers/slimmers/{form-field-controller-slimmer.js → form/form-field-controller-slimmer.js} +9 -18
- package/dist/collection/helpers/slimmers/{form-field-message-translator.js → form/form-field-message-translator.js} +1 -1
- package/dist/collection/helpers/slimmers/{form-field-state-controller-slimmer.js → form/form-field-state-controller-slimmer.js} +1 -1
- package/dist/collection/helpers/slimmers/{form-field-valid-invoke-slimmer.js → form/form-field-valid-invoke-slimmer.js} +2 -2
- package/dist/collection/helpers/slimmers/form/utils/form-field-key.js +20 -0
- package/dist/collection/helpers/translation/locales/en.js +7 -0
- package/dist/collection/helpers/ui/element-appender.js +16 -0
- package/dist/collection/helpers/validator/form-field-controller.js +5 -4
- package/dist/esm/{app-globals-eafcc7a1.js → app-globals-d3991e53.js} +10 -10
- package/dist/esm/{code-block-e12588fe.js → code-block-8df86434.js} +1499 -52
- package/dist/esm/{component-value-history-controller-slimmer.abstract-4e8eb313.js → component-value-history-controller-slimmer.abstract-e4b95997.js} +3 -3
- package/dist/esm/{content-state-8032467a.js → content-state-c63fbeda.js} +106 -542
- package/dist/esm/{date-required-rule-b88e1650.js → date-required-rule-85334d0c.js} +1 -1
- package/dist/esm/{design-token-76bd217c.js → design-token-10ff79b5.js} +3 -3
- package/dist/esm/{element-appender-slimmer-7fcb944b.js → element-appender-slimmer-24be8e94.js} +117 -2
- package/dist/esm/{form-field-controller-slimmer-395c23e3.js → form-field-controller-slimmer-d8628837.js} +5 -14
- package/dist/esm/form-field-key-44ab39d0.js +22 -0
- package/dist/esm/{image-annotation-action-08a20d5e.js → image-annotation-action-fcceff95.js} +2 -2
- package/dist/esm/{image-extension-b6c7e4a7.js → image-extension-3280bdb0.js} +2 -2
- package/dist/esm/index.js +17 -17
- package/dist/esm/{inject-keyboard-manager-86126b5b.js → inject-keyboard-manager-ea1aad5b.js} +1 -1
- package/dist/esm/{internal-calendar-period-factory-3a07dba0.js → internal-calendar-period-factory-7b294fb6.js} +1 -1
- package/dist/esm/{internal-translation-controller-16709132.js → internal-translation-controller-fac22598.js} +7 -0
- package/dist/esm/{keyboard-manager-a0c3e1cf.js → keyboard-manager-50da85d7.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-f3f66c15.js → keyboard-manager-slimmer-1f7c8bfb.js} +1 -1
- package/dist/esm/{link-extension-97fcb8fb.js → link-extension-f92c06ef.js} +3 -3
- package/dist/esm/loader.js +12 -12
- package/dist/esm/{month-view-generator-fd0e1856.js → month-view-generator-a1a9a4ec.js} +1 -1
- package/dist/esm/{public-rules-c06f0d2a.js → public-rules-3695aaf7.js} +7 -7
- package/dist/esm/{range-e999837f.js → range-717d552d.js} +1 -1
- package/dist/esm/{responsive-format-facade-ced96b0b.js → responsive-format-facade-f19b601c.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-71f8ee98.js → rich-text-editor-required-rule-2e39264a.js} +1 -1
- package/dist/esm/{split-cell-operation-359f8082.js → split-cell-operation-6c26af91.js} +3 -3
- package/dist/esm/{state-border-formatter-b680e922.js → state-border-formatter-bfda33aa.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-23faab71.js → string-format-strategy.abstract-1f4ff1b3.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-4b4866a6.js → string-input-formatter-slimmer-68b2af39.js} +1 -1
- package/dist/esm/{string-mask-strategy-66586cd8.js → string-mask-strategy-bbbcdbef.js} +2 -2
- package/dist/esm/{style-formatter-f4e16af5.js → style-formatter-e9adc8f4.js} +2 -2
- package/dist/esm/{time-required-rule-6e80a9ab.js → time-required-rule-1ce2d0a0.js} +1 -1
- package/dist/esm/{token-extension-f5bf9c21.js → token-extension-5082a4d2.js} +33 -9
- package/dist/esm/{translation-slimmer-21748a0e.js → translation-slimmer-ee0f0e76.js} +1 -1
- package/dist/esm/{type-guard-ec5e8628.js → type-guard-f2624334.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-ca5a47d6.js → valid-credit-card-number-rule-60212b1d.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-backdrop.entry.js +63 -8
- 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_5.entry.js +7 -7
- 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 +20 -3
- 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 +11 -2
- package/dist/esm/vega-color-swatch-picker.entry.js +12 -3
- package/dist/esm/vega-color-swatch.entry.js +2 -2
- package/dist/esm/vega-combo-box.entry.js +17 -8
- package/dist/esm/vega-date-picker_2.entry.js +22 -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 +33 -10
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +2 -2
- package/dist/esm/vega-file-uploader.entry.js +12 -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 +28 -25
- 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 +14 -5
- package/dist/esm/vega-input-credit-card.entry.js +16 -7
- package/dist/esm/vega-input-numeric.entry.js +14 -5
- package/dist/esm/vega-input-passcode.entry.js +14 -5
- package/dist/esm/vega-input-phone-number.entry.js +13 -4
- package/dist/esm/vega-input-range.entry.js +12 -3
- package/dist/esm/vega-input-select.entry.js +14 -5
- package/dist/esm/vega-input.entry.js +9 -7
- package/dist/esm/vega-left-nav_5.entry.js +71 -11
- 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 -5
- package/dist/esm/vega-rich-text-content.entry.js +86 -14
- package/dist/esm/vega-rich-text-editor_4.entry.js +2118 -447
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +1 -1
- 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-section-title.entry.js +897 -15
- package/dist/esm/vega-selection-chip_2.entry.js +13 -4
- package/dist/esm/vega-selection-tile_2.entry.js +11 -2
- package/dist/esm/vega-sidenav_3.entry.js +3 -3
- package/dist/esm/vega-signature-capture.entry.js +16 -7
- package/dist/esm/vega-stepper.entry.js +12 -3
- package/dist/esm/vega-table_11.entry.js +4 -4
- package/dist/esm/vega-textarea.entry.js +12 -3
- package/dist/esm/vega-time-picker_2.entry.js +18 -9
- package/dist/esm/vega-toggle-switch.entry.js +12 -3
- package/dist/esm/vega-tooltip_2.entry.js +6 -6
- package/dist/esm/vega.js +12 -12
- package/dist/sri/vega-sri-manifest.json +319 -315
- package/dist/types/components/vega-backdrop/slimmers/controller/vega-backdrop-visible-controller.d.ts +21 -0
- package/dist/types/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.d.ts +9 -1
- package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +9 -1
- package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +9 -1
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.d.ts +9 -1
- package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +15 -7
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +9 -1
- package/dist/types/components/vega-dropdown/types.d.ts +2 -2
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +32 -9
- package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +9 -1
- package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-controller.d.ts +3 -2
- package/dist/types/components/vega-form/slimmers/renderers/native-form-renderer.d.ts +1 -0
- package/dist/types/components/vega-form/vega-form.d.ts +8 -0
- package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +9 -1
- package/dist/types/components/vega-input/vega-input.d.ts +3 -2
- package/dist/types/components/vega-input-credit-card/vega-input-credit-card.d.ts +9 -1
- package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +9 -1
- package/dist/types/components/vega-input-passcode/vega-input-passcode.d.ts +9 -1
- package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +9 -1
- package/dist/types/components/vega-input-range/vega-input-range.d.ts +9 -1
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +15 -7
- package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.d.ts +7 -0
- package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.d.ts +17 -0
- package/dist/types/components/vega-radio/vega-radio-group/vega-radio-group.d.ts +5 -1
- package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.d.ts +36 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.d.ts +14 -2
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.d.ts +30 -3
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.d.ts +99 -3
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/nest-list-items-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +6 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +5 -1
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/link/type.d.ts +34 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.d.ts +4 -4
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/keyboard-link-handler.d.ts +111 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.d.ts +99 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.d.ts +73 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +9 -1
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +149 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-state-manager.d.ts +84 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-type-config-controller.d.ts +82 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/link-type-handler.d.ts +33 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +24 -17
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/utils/link-url-normalizer.d.ts +37 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/types.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.d.ts +12 -0
- package/dist/types/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.d.ts +41 -0
- package/dist/types/components/vega-section-title/vega-section-title.d.ts +9 -0
- package/dist/types/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.d.ts +9 -1
- package/dist/types/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.d.ts +9 -1
- package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +9 -1
- package/dist/types/components/vega-stepper/vega-stepper.d.ts +9 -1
- package/dist/types/components/vega-textarea/vega-textarea.d.ts +9 -1
- package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +9 -1
- package/dist/types/components/vega-toggle-switch/vega-toggle-switch.d.ts +9 -1
- package/dist/types/components.d.ts +297 -14
- package/dist/types/helpers/a11y-tree/a11y-node-dto.d.ts +173 -0
- package/dist/types/helpers/a11y-tree/a11y-tree-applier.d.ts +28 -0
- package/dist/types/helpers/a11y-tree/a11y-tree.types.d.ts +137 -0
- package/dist/types/helpers/a11y-tree/strategies/baseline-strategy.d.ts +18 -0
- package/dist/types/helpers/a11y-tree/strategies/firefox-nvda-strategy.d.ts +16 -0
- package/dist/types/helpers/a11y-tree/strategies/webkit-voiceover-strategy.d.ts +23 -0
- package/dist/types/helpers/a11y-tree/strategy-resolver.d.ts +59 -0
- package/dist/types/helpers/slimmers/a11y-tree-slimmer.d.ts +49 -0
- package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +9 -0
- package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.d.ts +37 -0
- package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.d.ts +56 -0
- package/dist/types/helpers/slimmers/{field-error-controller-silmmer.d.ts → form/field-error-controller-silmmer.d.ts} +1 -1
- package/dist/types/helpers/slimmers/{field-error-ui-controller-slimmer.d.ts → form/field-error-ui-controller-slimmer.d.ts} +2 -2
- package/dist/types/helpers/slimmers/{form-field-controller-slimmer.d.ts → form/form-field-controller-slimmer.d.ts} +6 -14
- package/dist/types/helpers/slimmers/{form-field-message-translator.d.ts → form/form-field-message-translator.d.ts} +2 -2
- package/dist/types/helpers/slimmers/{form-field-state-controller-slimmer.d.ts → form/form-field-state-controller-slimmer.d.ts} +2 -2
- package/dist/types/helpers/slimmers/{form-field-valid-invoke-slimmer.d.ts → form/form-field-valid-invoke-slimmer.d.ts} +3 -3
- package/dist/types/helpers/slimmers/form/utils/form-field-key.d.ts +17 -0
- package/dist/types/helpers/translation/interface.d.ts +7 -0
- package/dist/types/helpers/ui/element-appender.d.ts +7 -0
- package/dist/types/helpers/validator/form-field-controller.d.ts +3 -3
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-040ea356.entry.js +1 -0
- package/dist/vega/p-046203cb.entry.js +1 -0
- package/dist/vega/p-0499e65a.entry.js +1 -0
- package/dist/vega/{p-0be4df0a.js → p-0809c651.js} +1 -1
- package/dist/vega/{p-02355de8.js → p-09524fec.js} +1 -1
- package/dist/vega/{p-74f86ff9.entry.js → p-0cf3b5c1.entry.js} +1 -1
- package/dist/vega/p-10d43a80.entry.js +1 -0
- package/dist/vega/{p-3d6f761a.entry.js → p-1132a74e.entry.js} +1 -1
- package/dist/vega/{p-ba662fe5.js → p-12e8a1b2.js} +1 -1
- package/dist/vega/p-1d5e05d9.js +3 -0
- package/dist/vega/{p-3dee1e55.js → p-1e0a8fd3.js} +1 -1
- package/dist/vega/{p-919cddc3.js → p-1ea9ad9a.js} +1 -1
- package/dist/vega/p-21626b93.entry.js +1 -0
- package/dist/vega/p-21f608e8.entry.js +1 -0
- package/dist/vega/p-2540fd1c.entry.js +1 -0
- package/dist/vega/{p-9f201152.entry.js → p-26760c66.entry.js} +1 -1
- package/dist/vega/{p-892edf88.entry.js → p-2acf9b42.entry.js} +1 -1
- package/dist/vega/p-2bb60f89.js +1 -0
- package/dist/vega/{p-b1eb9ff0.js → p-2c2e8615.js} +1 -1
- package/dist/vega/p-2d158cbd.js +1 -0
- package/dist/vega/p-2d7388c9.entry.js +1 -0
- package/dist/vega/{p-b3a2ce06.entry.js → p-2eb8e167.entry.js} +1 -1
- package/dist/vega/p-2ff4ae1c.js +1 -0
- package/dist/vega/p-3488a3f1.entry.js +1 -0
- package/dist/vega/p-363ee8a5.entry.js +1 -0
- package/dist/vega/p-36c89520.entry.js +1 -0
- package/dist/vega/{p-e1737c8e.entry.js → p-3980dfa8.entry.js} +1 -1
- package/dist/vega/{p-14baa886.js → p-39c5054b.js} +1 -1
- package/dist/vega/p-3af5e87b.entry.js +1 -0
- package/dist/vega/{p-8db904dc.js → p-456f678b.js} +1 -1
- package/dist/vega/{p-6c9c2f8c.entry.js → p-461100b8.entry.js} +1 -1
- package/dist/vega/p-4c3a08be.entry.js +1 -0
- package/dist/vega/p-53fd3c41.entry.js +1 -0
- package/dist/vega/{p-6fcec7c7.entry.js → p-56417ec5.entry.js} +1 -1
- package/dist/vega/{p-8a001caa.js → p-5e37b041.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-a0a58295.entry.js → p-5f96e741.entry.js} +1 -1
- package/dist/vega/p-65fee02f.entry.js +1 -0
- package/dist/vega/p-6b76b572.entry.js +1 -0
- package/dist/vega/{p-75e33859.js → p-6c95a6a3.js} +1 -1
- package/dist/vega/p-703ac992.entry.js +1 -0
- package/dist/vega/p-71909102.js +1 -0
- package/dist/vega/{p-e1b57e8f.entry.js → p-72ab5cd5.entry.js} +1 -1
- package/dist/vega/{p-8720816e.js → p-781b7a54.js} +1 -1
- package/dist/vega/{p-7950f3e2.entry.js → p-81d4dfcb.entry.js} +1 -1
- package/dist/vega/p-8611465f.entry.js +1 -0
- package/dist/vega/{p-0d18368b.js → p-874e5624.js} +1 -1
- package/dist/vega/{p-4fe40b76.js → p-8e7932bc.js} +1 -1
- package/dist/vega/p-8ed3b2b6.entry.js +1 -0
- package/dist/vega/{p-9c39f90b.entry.js → p-8ff92914.entry.js} +1 -1
- package/dist/vega/{p-9bdc6e11.entry.js → p-92528dc9.entry.js} +1 -1
- package/dist/vega/p-9664e914.entry.js +1 -0
- package/dist/vega/p-98fc5821.entry.js +1 -0
- package/dist/vega/{p-fe24b459.js → p-9be02fa5.js} +1 -1
- package/dist/vega/p-9c4c474e.entry.js +1 -0
- package/dist/vega/{p-8354cff0.entry.js → p-a034dfc0.entry.js} +1 -1
- package/dist/vega/{p-e48a870f.entry.js → p-a484e32d.entry.js} +1 -1
- package/dist/vega/{p-b9e72de2.entry.js → p-a8174ad8.entry.js} +1 -1
- package/dist/vega/{p-49e1cf4d.entry.js → p-a91927eb.entry.js} +1 -1
- package/dist/vega/{p-b187b82d.entry.js → p-abbceebf.entry.js} +1 -1
- package/dist/vega/{p-e4266b45.entry.js → p-ac94ba1b.entry.js} +1 -1
- package/dist/vega/{p-b775e51f.js → p-ae2abdfa.js} +1 -1
- package/dist/vega/{p-bb60e381.entry.js → p-aeb50cad.entry.js} +1 -1
- package/dist/vega/{p-a890d60b.entry.js → p-b00ec194.entry.js} +1 -1
- package/dist/vega/{p-f78944d7.entry.js → p-b3733762.entry.js} +1 -1
- package/dist/vega/p-b594a11c.entry.js +1 -0
- package/dist/vega/{p-b4e7c967.js → p-b622c455.js} +1 -1
- package/dist/vega/{p-1232b553.entry.js → p-b98ead05.entry.js} +1 -1
- package/dist/vega/{p-e5ff77f7.entry.js → p-c2277448.entry.js} +1 -1
- package/dist/vega/{p-9f7154d2.js → p-c29934ef.js} +1 -1
- package/dist/vega/p-c3646101.entry.js +1 -0
- package/dist/vega/p-ca270da3.entry.js +1 -0
- package/dist/vega/{p-b4c26035.entry.js → p-ccbe3f1b.entry.js} +1 -1
- package/dist/vega/{p-6cde45fc.js → p-cd69aeae.js} +1 -1
- package/dist/vega/{p-579cdeae.js → p-d25c1a48.js} +1 -1
- package/dist/vega/{p-5924adae.entry.js → p-d2cbcf5e.entry.js} +1 -1
- package/dist/vega/{p-df828d90.entry.js → p-d3413a78.entry.js} +1 -1
- package/dist/vega/{p-f1974321.js → p-d609c3fd.js} +1 -1
- package/dist/vega/{p-a7209700.js → p-dad7d2ac.js} +1 -1
- package/dist/vega/{p-61ce8029.js → p-dbb4b1d1.js} +1 -1
- package/dist/vega/p-dcd3e3a7.js +1 -0
- package/dist/vega/p-de8f0d98.js +1 -0
- package/dist/vega/{p-e235020b.entry.js → p-deaf037a.entry.js} +1 -1
- package/dist/vega/p-e1029acc.js +1 -0
- package/dist/vega/p-e18c0656.entry.js +1 -0
- package/dist/vega/p-e3fdb65c.entry.js +1 -0
- package/dist/vega/p-e7e963ba.entry.js +1 -0
- package/dist/vega/{p-f7e459cd.js → p-e9b005df.js} +1 -1
- package/dist/vega/{p-88be9ec5.js → p-e9d09211.js} +1 -1
- package/dist/vega/{p-3c309a38.js → p-f1078e63.js} +1 -1
- package/dist/vega/{p-595998d9.entry.js → p-f29ea345.entry.js} +1 -1
- package/dist/vega/p-f5095035.entry.js +1 -0
- package/dist/vega/{p-05d04c07.entry.js → p-f95d8d10.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -2
- package/dist/vega/p-0512308f.entry.js +0 -1
- package/dist/vega/p-1d8312d3.entry.js +0 -1
- package/dist/vega/p-2d77ae73.entry.js +0 -1
- package/dist/vega/p-2d8d4d5b.entry.js +0 -1
- package/dist/vega/p-320091b7.js +0 -1
- package/dist/vega/p-36949349.js +0 -1
- package/dist/vega/p-38c9d782.js +0 -1
- package/dist/vega/p-4151f53a.entry.js +0 -1
- package/dist/vega/p-4ff48b84.js +0 -1
- package/dist/vega/p-513bc0d9.js +0 -1
- package/dist/vega/p-5e4517eb.entry.js +0 -1
- package/dist/vega/p-6680ba17.entry.js +0 -1
- package/dist/vega/p-80b7945a.entry.js +0 -1
- package/dist/vega/p-841b3281.entry.js +0 -1
- package/dist/vega/p-87e5cb56.entry.js +0 -1
- package/dist/vega/p-8d4b85e7.entry.js +0 -1
- package/dist/vega/p-91303402.entry.js +0 -1
- package/dist/vega/p-97215133.js +0 -1
- package/dist/vega/p-9d96d83f.entry.js +0 -1
- package/dist/vega/p-a05a2f1e.entry.js +0 -1
- package/dist/vega/p-a775825e.entry.js +0 -1
- package/dist/vega/p-ae146458.entry.js +0 -1
- package/dist/vega/p-b8c13ac9.entry.js +0 -1
- package/dist/vega/p-ba2b9663.entry.js +0 -1
- package/dist/vega/p-bbad318e.entry.js +0 -1
- package/dist/vega/p-c079c935.entry.js +0 -1
- package/dist/vega/p-c0e42c03.entry.js +0 -1
- package/dist/vega/p-c41f5684.entry.js +0 -1
- package/dist/vega/p-c54b5a8f.entry.js +0 -1
- package/dist/vega/p-c5d3b008.entry.js +0 -1
- package/dist/vega/p-cd1e976c.entry.js +0 -1
- package/dist/vega/p-d25ca0c3.entry.js +0 -1
- package/dist/vega/p-ebe32b25.entry.js +0 -1
- package/dist/vega/p-ec162599.entry.js +0 -1
- package/dist/vega/p-f4da615a.js +0 -3
- package/dist/vega/p-fc7e4c8a.entry.js +0 -1
|
@@ -11,41 +11,41 @@ const changeManager = require('./change-manager-a297e4d2.js');
|
|
|
11
11
|
const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-c82df135.js');
|
|
12
12
|
const vegaInternalEventId = require('./vega-internal-event-id-ecc5b87a.js');
|
|
13
13
|
const staticSubjectTitle = require('./static-subject-title-70c73b16.js');
|
|
14
|
-
const codeBlock = require('./code-block-
|
|
15
|
-
const linkExtension = require('./link-extension-
|
|
16
|
-
const typeGuard = require('./type-guard-
|
|
14
|
+
const codeBlock = require('./code-block-28a7732e.js');
|
|
15
|
+
const linkExtension = require('./link-extension-71c27ff3.js');
|
|
16
|
+
const typeGuard = require('./type-guard-a57ef3ac.js');
|
|
17
17
|
const internalIconManager = require('./internal-icon-manager-40bcac72.js');
|
|
18
|
-
const imageAnnotationAction = require('./image-annotation-action-
|
|
18
|
+
const imageAnnotationAction = require('./image-annotation-action-b54dc669.js');
|
|
19
19
|
const vegaEventId = require('./vega-event-id-58afed7a.js');
|
|
20
20
|
const misc = require('./misc-3d30df91.js');
|
|
21
21
|
const waitForComponentDidRender = require('./wait-for-component-did-render-02ca4bee.js');
|
|
22
|
-
const imageExtension = require('./image-extension-
|
|
23
|
-
const formFieldControllerSlimmer = require('./form-field-controller-slimmer-
|
|
22
|
+
const imageExtension = require('./image-extension-1e3eeaa3.js');
|
|
23
|
+
const formFieldControllerSlimmer = require('./form-field-controller-slimmer-58621b5e.js');
|
|
24
24
|
const eventEmitSlimmer = require('./event-emit-slimmer-34aa195e.js');
|
|
25
25
|
const subStateNotifySlimmer = require('./sub-state-notify-slimmer-18891389.js');
|
|
26
|
-
const contentState = require('./content-state-
|
|
26
|
+
const contentState = require('./content-state-e2ab0f06.js');
|
|
27
27
|
const alignLeft = require('./align-left-4a76df69.js');
|
|
28
|
-
const componentValueHistoryControllerSlimmer_abstract = require('./component-value-history-controller-slimmer.abstract-
|
|
28
|
+
const componentValueHistoryControllerSlimmer_abstract = require('./component-value-history-controller-slimmer.abstract-50cdba6e.js');
|
|
29
29
|
const observer = require('./observer-f49483e8.js');
|
|
30
30
|
const timer = require('./timer-5f33058b.js');
|
|
31
31
|
const darkModeStateControllerSlimmer = require('./dark-mode-state-controller-slimmer-b454645a.js');
|
|
32
|
-
const
|
|
32
|
+
const ui = require('./ui-c91c37a7.js');
|
|
33
|
+
const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-4fdee376.js');
|
|
33
34
|
const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-e0ac8467.js');
|
|
34
|
-
const translationSlimmer = require('./translation-slimmer-
|
|
35
|
+
const translationSlimmer = require('./translation-slimmer-77c7f37d.js');
|
|
35
36
|
const darkModeStyleController = require('./dark-mode-style-controller-32d4054a.js');
|
|
36
37
|
const autoRunWhenReRenderTaskQueueSlimmer_abstract = require('./auto-run-when-re-render-task-queue-slimmer.abstract-5734634d.js');
|
|
37
38
|
const array = require('./array-249289f2.js');
|
|
38
39
|
const chevronDown = require('./chevron-down-9847bf78.js');
|
|
39
40
|
const chevronUp = require('./chevron-up-21465cf7.js');
|
|
40
41
|
const trashCan = require('./trash-can-46a5e19a.js');
|
|
41
|
-
const ui = require('./ui-c91c37a7.js');
|
|
42
42
|
const remoteInvocationRegistry = require('./remote-invocation-registry-fc22fdd0.js');
|
|
43
43
|
require('./string-39438062.js');
|
|
44
44
|
require('./typography-3ea4fe41.js');
|
|
45
45
|
require('./object-b53e9416.js');
|
|
46
46
|
require('./breakpoints-ebde4837.js');
|
|
47
47
|
require('./ui-32120990.js');
|
|
48
|
-
require('./internal-translation-controller-
|
|
48
|
+
require('./internal-translation-controller-1dac2df8.js');
|
|
49
49
|
require('./icon-manager-be358b32.js');
|
|
50
50
|
require('./create-public-api-runtime-metrics-slimmer-91b0cbfb.js');
|
|
51
51
|
require('./dynamic-slimmer-f31fdfd7.js');
|
|
@@ -54,13 +54,14 @@ require('./try-get-document-c0ebd39a.js');
|
|
|
54
54
|
require('./page-resize-observer-slimmer-273d62ef.js');
|
|
55
55
|
require('./breakpoints-1cc2c4c6.js');
|
|
56
56
|
require('./internal-form-field-validation-rule.abstract-07cdff46.js');
|
|
57
|
+
require('./form-field-key-8d5edf75.js');
|
|
57
58
|
require('./mutation-observer-slimmer-749d5020.js');
|
|
58
59
|
require('./mutation-observer-filters-38cebc6d.js');
|
|
59
60
|
require('./sub-state-observer-slimmer-eee2f0ae.js');
|
|
60
61
|
require('./internal-vega-event-manager-7003c84a.js');
|
|
61
|
-
require('./range-
|
|
62
|
-
require('./keyboard-manager-slimmer-
|
|
63
|
-
require('./keyboard-manager-
|
|
62
|
+
require('./range-eebe0e3c.js');
|
|
63
|
+
require('./keyboard-manager-slimmer-7043a106.js');
|
|
64
|
+
require('./keyboard-manager-c56033b1.js');
|
|
64
65
|
require('./vega-env-manager-23b8b23c.js');
|
|
65
66
|
require('./feature-flag-controller-c19d0b58.js');
|
|
66
67
|
require('./index-3ca118c4.js');
|
|
@@ -69,7 +70,7 @@ require('./vega-nonce-manager-df69d3ed.js');
|
|
|
69
70
|
require('./synchronize-task-queue-1ee80e94.js');
|
|
70
71
|
require('./number-4816603d.js');
|
|
71
72
|
|
|
72
|
-
var __decorate$
|
|
73
|
+
var __decorate$H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
73
74
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
74
75
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
75
76
|
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;
|
|
@@ -182,59 +183,59 @@ class VegaRichTextEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
182
183
|
this.richTextEditorSourceViewRenderer.render()));
|
|
183
184
|
}
|
|
184
185
|
}
|
|
185
|
-
__decorate$
|
|
186
|
+
__decorate$H([
|
|
186
187
|
globalSlimmerRegistry.MapToComponentField()
|
|
187
188
|
], VegaRichTextEditorRenderer.prototype, "host", void 0);
|
|
188
|
-
__decorate$
|
|
189
|
+
__decorate$H([
|
|
189
190
|
globalSlimmerRegistry.MapToComponentField()
|
|
190
191
|
], VegaRichTextEditorRenderer.prototype, "toolbarRenderer", void 0);
|
|
191
|
-
__decorate$
|
|
192
|
+
__decorate$H([
|
|
192
193
|
globalSlimmerRegistry.MapToComponentField()
|
|
193
194
|
], VegaRichTextEditorRenderer.prototype, "label", void 0);
|
|
194
|
-
__decorate$
|
|
195
|
+
__decorate$H([
|
|
195
196
|
globalSlimmerRegistry.MapToComponentField()
|
|
196
197
|
], VegaRichTextEditorRenderer.prototype, "required", void 0);
|
|
197
|
-
__decorate$
|
|
198
|
+
__decorate$H([
|
|
198
199
|
globalSlimmerRegistry.MapToComponentField()
|
|
199
200
|
], VegaRichTextEditorRenderer.prototype, "optional", void 0);
|
|
200
|
-
__decorate$
|
|
201
|
+
__decorate$H([
|
|
201
202
|
globalSlimmerRegistry.MapToComponentField()
|
|
202
203
|
], VegaRichTextEditorRenderer.prototype, "hint", void 0);
|
|
203
|
-
__decorate$
|
|
204
|
+
__decorate$H([
|
|
204
205
|
globalSlimmerRegistry.MapToComponentField()
|
|
205
206
|
], VegaRichTextEditorRenderer.prototype, "disabled", void 0);
|
|
206
|
-
__decorate$
|
|
207
|
+
__decorate$H([
|
|
207
208
|
globalSlimmerRegistry.MapToComponentField()
|
|
208
209
|
], VegaRichTextEditorRenderer.prototype, "rows", void 0);
|
|
209
|
-
__decorate$
|
|
210
|
+
__decorate$H([
|
|
210
211
|
globalSlimmerRegistry.MapToComponentField()
|
|
211
212
|
], VegaRichTextEditorRenderer.prototype, "placeholder", void 0);
|
|
212
|
-
__decorate$
|
|
213
|
+
__decorate$H([
|
|
213
214
|
globalSlimmerRegistry.MapToComponentField()
|
|
214
215
|
], VegaRichTextEditorRenderer.prototype, "value", void 0);
|
|
215
|
-
__decorate$
|
|
216
|
+
__decorate$H([
|
|
216
217
|
globalSlimmerRegistry.MapToComponentField()
|
|
217
218
|
], VegaRichTextEditorRenderer.prototype, "sourceView", void 0);
|
|
218
|
-
__decorate$
|
|
219
|
+
__decorate$H([
|
|
219
220
|
globalSlimmerRegistry.MapToComponentField()
|
|
220
221
|
], VegaRichTextEditorRenderer.prototype, "toolbarItems", void 0);
|
|
221
|
-
__decorate$
|
|
222
|
+
__decorate$H([
|
|
222
223
|
globalSlimmerRegistry.MapToComponentField()
|
|
223
224
|
], VegaRichTextEditorRenderer.prototype, "sourceEditConfig", void 0);
|
|
224
|
-
__decorate$
|
|
225
|
+
__decorate$H([
|
|
225
226
|
globalSlimmerRegistry.MapToComponentField()
|
|
226
227
|
], VegaRichTextEditorRenderer.prototype, "allowSourceEdit", void 0);
|
|
227
|
-
__decorate$
|
|
228
|
+
__decorate$H([
|
|
228
229
|
globalSlimmerRegistry.MapToComponentField()
|
|
229
230
|
], VegaRichTextEditorRenderer.prototype, "extensions", void 0);
|
|
230
|
-
__decorate$
|
|
231
|
+
__decorate$H([
|
|
231
232
|
globalSlimmerRegistry.MapToComponentField()
|
|
232
233
|
], VegaRichTextEditorRenderer.prototype, "richTextEditorSourceViewRenderer", void 0);
|
|
233
|
-
__decorate$
|
|
234
|
+
__decorate$H([
|
|
234
235
|
globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
|
|
235
236
|
], VegaRichTextEditorRenderer.prototype, "componentDidRender", null);
|
|
236
237
|
|
|
237
|
-
var __decorate$
|
|
238
|
+
var __decorate$G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
238
239
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
239
240
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
240
241
|
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;
|
|
@@ -337,76 +338,76 @@ class ToolbarRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
337
338
|
return [renderedItems, totalVisibleCount];
|
|
338
339
|
}
|
|
339
340
|
}
|
|
340
|
-
__decorate$
|
|
341
|
+
__decorate$G([
|
|
341
342
|
globalSlimmerRegistry.MapToComponentField()
|
|
342
343
|
], ToolbarRenderer.prototype, "uniqueToolbarItems", void 0);
|
|
343
|
-
__decorate$
|
|
344
|
+
__decorate$G([
|
|
344
345
|
globalSlimmerRegistry.MapToComponentField()
|
|
345
346
|
], ToolbarRenderer.prototype, "allowSourceEdit", void 0);
|
|
346
|
-
__decorate$
|
|
347
|
+
__decorate$G([
|
|
347
348
|
globalSlimmerRegistry.MapToComponentField()
|
|
348
349
|
], ToolbarRenderer.prototype, "host", void 0);
|
|
349
|
-
__decorate$
|
|
350
|
+
__decorate$G([
|
|
350
351
|
globalSlimmerRegistry.MapToComponentField()
|
|
351
352
|
], ToolbarRenderer.prototype, "clearStyleToolbarButtonSlimmer", void 0);
|
|
352
|
-
__decorate$
|
|
353
|
+
__decorate$G([
|
|
353
354
|
globalSlimmerRegistry.MapToComponentField()
|
|
354
355
|
], ToolbarRenderer.prototype, "boldToolbarButtonSlimmer", void 0);
|
|
355
|
-
__decorate$
|
|
356
|
+
__decorate$G([
|
|
356
357
|
globalSlimmerRegistry.MapToComponentField()
|
|
357
358
|
], ToolbarRenderer.prototype, "textStylesToolbarButtonSlimmer", void 0);
|
|
358
|
-
__decorate$
|
|
359
|
+
__decorate$G([
|
|
359
360
|
globalSlimmerRegistry.MapToComponentField()
|
|
360
361
|
], ToolbarRenderer.prototype, "italicToolbarButtonSlimmer", void 0);
|
|
361
|
-
__decorate$
|
|
362
|
+
__decorate$G([
|
|
362
363
|
globalSlimmerRegistry.MapToComponentField()
|
|
363
364
|
], ToolbarRenderer.prototype, "underlineToolbarButtonSlimmer", void 0);
|
|
364
|
-
__decorate$
|
|
365
|
+
__decorate$G([
|
|
365
366
|
globalSlimmerRegistry.MapToComponentField()
|
|
366
367
|
], ToolbarRenderer.prototype, "textColorToolbarButtonSlimmer", void 0);
|
|
367
|
-
__decorate$
|
|
368
|
+
__decorate$G([
|
|
368
369
|
globalSlimmerRegistry.MapToComponentField()
|
|
369
370
|
], ToolbarRenderer.prototype, "bulletsNumbersToolbarButtonSlimmer", void 0);
|
|
370
|
-
__decorate$
|
|
371
|
+
__decorate$G([
|
|
371
372
|
globalSlimmerRegistry.MapToComponentField()
|
|
372
373
|
], ToolbarRenderer.prototype, "horizontalAlignmentToolbarButtonSlimmer", void 0);
|
|
373
|
-
__decorate$
|
|
374
|
+
__decorate$G([
|
|
374
375
|
globalSlimmerRegistry.MapToComponentField()
|
|
375
376
|
], ToolbarRenderer.prototype, "strikethroughToolbarButtonSlimmer", void 0);
|
|
376
|
-
__decorate$
|
|
377
|
+
__decorate$G([
|
|
377
378
|
globalSlimmerRegistry.MapToComponentField()
|
|
378
379
|
], ToolbarRenderer.prototype, "imageToolbarButtonSlimmer", void 0);
|
|
379
|
-
__decorate$
|
|
380
|
+
__decorate$G([
|
|
380
381
|
globalSlimmerRegistry.MapToComponentField()
|
|
381
382
|
], ToolbarRenderer.prototype, "moreIndentToolbarButtonSlimmer", void 0);
|
|
382
|
-
__decorate$
|
|
383
|
+
__decorate$G([
|
|
383
384
|
globalSlimmerRegistry.MapToComponentField()
|
|
384
385
|
], ToolbarRenderer.prototype, "lessIndentToolbarButtonSlimmer", void 0);
|
|
385
|
-
__decorate$
|
|
386
|
+
__decorate$G([
|
|
386
387
|
globalSlimmerRegistry.MapToComponentField()
|
|
387
388
|
], ToolbarRenderer.prototype, "codeToolbarButtonSlimmer", void 0);
|
|
388
|
-
__decorate$
|
|
389
|
+
__decorate$G([
|
|
389
390
|
globalSlimmerRegistry.MapToComponentField()
|
|
390
391
|
], ToolbarRenderer.prototype, "linkToolbarButtonSlimmer", void 0);
|
|
391
|
-
__decorate$
|
|
392
|
+
__decorate$G([
|
|
392
393
|
globalSlimmerRegistry.MapToComponentField()
|
|
393
394
|
], ToolbarRenderer.prototype, "codeBlockToolbarButtonSlimmer", void 0);
|
|
394
|
-
__decorate$
|
|
395
|
+
__decorate$G([
|
|
395
396
|
globalSlimmerRegistry.MapToComponentField()
|
|
396
397
|
], ToolbarRenderer.prototype, "undoToolbarButtonSlimmer", void 0);
|
|
397
|
-
__decorate$
|
|
398
|
+
__decorate$G([
|
|
398
399
|
globalSlimmerRegistry.MapToComponentField()
|
|
399
400
|
], ToolbarRenderer.prototype, "redoToolbarButtonSlimmer", void 0);
|
|
400
|
-
__decorate$
|
|
401
|
+
__decorate$G([
|
|
401
402
|
globalSlimmerRegistry.MapToComponentField()
|
|
402
403
|
], ToolbarRenderer.prototype, "sourceEditToolbarButtonSlimmer", void 0);
|
|
403
|
-
__decorate$
|
|
404
|
+
__decorate$G([
|
|
404
405
|
globalSlimmerRegistry.MapToComponentField()
|
|
405
406
|
], ToolbarRenderer.prototype, "selectionController", void 0);
|
|
406
|
-
__decorate$
|
|
407
|
+
__decorate$G([
|
|
407
408
|
globalSlimmerRegistry.MapToComponentField()
|
|
408
409
|
], ToolbarRenderer.prototype, "translationSlimmer", void 0);
|
|
409
|
-
__decorate$
|
|
410
|
+
__decorate$G([
|
|
410
411
|
globalSlimmerRegistry.MapToComponentField()
|
|
411
412
|
], ToolbarRenderer.prototype, "sourceView", void 0);
|
|
412
413
|
|
|
@@ -414,7 +415,7 @@ const bold = {
|
|
|
414
415
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z"/></svg>`,
|
|
415
416
|
};
|
|
416
417
|
|
|
417
|
-
var __decorate$
|
|
418
|
+
var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
418
419
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
419
420
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
420
421
|
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;
|
|
@@ -456,7 +457,7 @@ class BoldToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
456
457
|
(() => {
|
|
457
458
|
internalIconManager.VegaInternalIconManager.register({ bold });
|
|
458
459
|
})();
|
|
459
|
-
__decorate$
|
|
460
|
+
__decorate$F([
|
|
460
461
|
globalSlimmerRegistry.MapToComponentField()
|
|
461
462
|
], BoldToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
462
463
|
|
|
@@ -464,7 +465,7 @@ const italic = {
|
|
|
464
465
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z"/></svg>`,
|
|
465
466
|
};
|
|
466
467
|
|
|
467
|
-
var __decorate$
|
|
468
|
+
var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
468
469
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
469
470
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
470
471
|
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;
|
|
@@ -504,7 +505,7 @@ class ItalicToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbar
|
|
|
504
505
|
(() => {
|
|
505
506
|
internalIconManager.VegaInternalIconManager.register({ italic });
|
|
506
507
|
})();
|
|
507
|
-
__decorate$
|
|
508
|
+
__decorate$E([
|
|
508
509
|
globalSlimmerRegistry.MapToComponentField()
|
|
509
510
|
], ItalicToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
510
511
|
|
|
@@ -512,7 +513,7 @@ const underline = {
|
|
|
512
513
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V224c0 53 43 96 96 96s96-43 96-96V96H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V96H48C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z"/></svg>`,
|
|
513
514
|
};
|
|
514
515
|
|
|
515
|
-
var __decorate$
|
|
516
|
+
var __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
516
517
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
517
518
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
518
519
|
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;
|
|
@@ -555,7 +556,7 @@ class UnderlineToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
|
|
|
555
556
|
(() => {
|
|
556
557
|
internalIconManager.VegaInternalIconManager.register({ underline });
|
|
557
558
|
})();
|
|
558
|
-
__decorate$
|
|
559
|
+
__decorate$D([
|
|
559
560
|
globalSlimmerRegistry.MapToComponentField()
|
|
560
561
|
], UnderlineToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
561
562
|
|
|
@@ -563,7 +564,7 @@ const textSize = {
|
|
|
563
564
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M64 128V96h96l0 320H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H224l0-320h96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H192 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM384 304V288h64l0 128H432c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H512l0-128h64v16c0 17.7 14.3 32 32 32s32-14.3 32-32V272c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v32c0 17.7 14.3 32 32 32s32-14.3 32-32z"/></svg>`,
|
|
564
565
|
};
|
|
565
566
|
|
|
566
|
-
var __decorate$
|
|
567
|
+
var __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
567
568
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
568
569
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
569
570
|
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;
|
|
@@ -691,13 +692,13 @@ TextStylesToolbarButtonSlimmer.allItems = [
|
|
|
691
692
|
label: 'Paragraph',
|
|
692
693
|
},
|
|
693
694
|
];
|
|
694
|
-
__decorate$
|
|
695
|
+
__decorate$C([
|
|
695
696
|
globalSlimmerRegistry.MapToComponentField()
|
|
696
697
|
], TextStylesToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
697
|
-
__decorate$
|
|
698
|
+
__decorate$C([
|
|
698
699
|
globalSlimmerRegistry.MapToComponentField()
|
|
699
700
|
], TextStylesToolbarButtonSlimmer.prototype, "focusController", void 0);
|
|
700
|
-
__decorate$
|
|
701
|
+
__decorate$C([
|
|
701
702
|
globalSlimmerRegistry.MapToComponentField()
|
|
702
703
|
], TextStylesToolbarButtonSlimmer.prototype, "textStyleItems", void 0);
|
|
703
704
|
|
|
@@ -705,7 +706,7 @@ const TextSlash = {
|
|
|
705
706
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32H376.1h-.3H204.5c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l-94.5-74.1zM243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1L272.9 311 243.3 416z"/></svg>`,
|
|
706
707
|
};
|
|
707
708
|
|
|
708
|
-
var __decorate$
|
|
709
|
+
var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
709
710
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
710
711
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
711
712
|
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;
|
|
@@ -742,7 +743,7 @@ class ClearStyleToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
742
743
|
'text-slash': TextSlash,
|
|
743
744
|
});
|
|
744
745
|
})();
|
|
745
|
-
__decorate$
|
|
746
|
+
__decorate$B([
|
|
746
747
|
globalSlimmerRegistry.MapToComponentField()
|
|
747
748
|
], ClearStyleToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
748
749
|
|
|
@@ -750,7 +751,7 @@ const codeSimple = {
|
|
|
750
751
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 214.6 118.6zm146.7 0L498.7 256 361.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3z"/></svg>`,
|
|
751
752
|
};
|
|
752
753
|
|
|
753
|
-
var __decorate$
|
|
754
|
+
var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
754
755
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
755
756
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
756
757
|
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;
|
|
@@ -788,7 +789,7 @@ class CodeToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
788
789
|
(() => {
|
|
789
790
|
internalIconManager.VegaInternalIconManager.register({ 'code-simple': codeSimple });
|
|
790
791
|
})();
|
|
791
|
-
__decorate$
|
|
792
|
+
__decorate$A([
|
|
792
793
|
globalSlimmerRegistry.MapToComponentField()
|
|
793
794
|
], CodeToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
794
795
|
|
|
@@ -796,7 +797,7 @@ const strikethrough = {
|
|
|
796
797
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path fill="currentColor" d="M332.2 319.9c17.22 12.17 22.33 26.51 18.61 48.21c-3.031 17.59-10.88 29.34-24.72 36.99c-35.44 19.75-108.5 11.96-186-19.68c-16.34-6.686-35.03 1.156-41.72 17.53s1.188 35.05 17.53 41.71c31.75 12.93 95.69 35.37 157.6 35.37c29.62 0 58.81-5.156 83.72-18.96c30.81-17.09 50.44-45.46 56.72-82.11c3.998-23.27 2.168-42.58-3.488-59.05H332.2zM488 239.9l-176.5-.0309c-15.85-5.613-31.83-10.34-46.7-14.62c-85.47-24.62-110.9-39.05-103.7-81.33c2.5-14.53 10.16-25.96 22.72-34.03c20.47-13.15 64.06-23.84 155.4 .3438c17.09 4.531 34.59-5.654 39.13-22.74c4.531-17.09-5.656-34.59-22.75-39.12c-91.31-24.18-160.7-21.62-206.3 7.654C121.8 73.72 103.6 101.1 98.09 133.1C89.26 184.5 107.9 217.3 137.2 239.9L24 239.9c-13.25 0-24 10.75-24 23.1c0 13.25 10.75 23.1 24 23.1h464c13.25 0 24-10.75 24-23.1C512 250.7 501.3 239.9 488 239.9z"/></svg>`,
|
|
797
798
|
};
|
|
798
799
|
|
|
799
|
-
var __decorate$
|
|
800
|
+
var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
800
801
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
801
802
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
802
803
|
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;
|
|
@@ -839,7 +840,7 @@ class StrikethroughToolbarButtonSlimmer extends imageAnnotationAction.VisualMode
|
|
|
839
840
|
(() => {
|
|
840
841
|
internalIconManager.VegaInternalIconManager.register({ strikethrough });
|
|
841
842
|
})();
|
|
842
|
-
__decorate$
|
|
843
|
+
__decorate$z([
|
|
843
844
|
globalSlimmerRegistry.MapToComponentField()
|
|
844
845
|
], StrikethroughToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
845
846
|
|
|
@@ -847,7 +848,7 @@ const link = {
|
|
|
847
848
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M562.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L405.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C189.5 251.2 196 330 246 380c56.5 56.5 148 56.5 204.5 0L562.8 267.7zM43.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C57 372 57 321 88.5 289.5L200.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C416.5 260.8 410 182 360 132c-56.5-56.5-148-56.5-204.5 0L43.2 244.3z"/></svg>`,
|
|
848
849
|
};
|
|
849
850
|
|
|
850
|
-
var __decorate$
|
|
851
|
+
var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
851
852
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
852
853
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
853
854
|
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;
|
|
@@ -864,12 +865,18 @@ class LinkToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
864
865
|
this.handleLinkEditorChange = ({ detail, }) => {
|
|
865
866
|
switch (detail.action) {
|
|
866
867
|
case 'link': {
|
|
867
|
-
const { url, text } = detail.payload;
|
|
868
|
+
const { url, text, linkType } = detail.payload;
|
|
868
869
|
const textChanged = text !== this.currentSelectedText;
|
|
869
870
|
const groupKey = misc.generateUUID();
|
|
870
871
|
this.currentSelectedNodes.forEach((node) => {
|
|
871
872
|
node.apply(new codeBlock.SelectionChangeAction(this.currentRange)).apply(new codeBlock.LinkAnnotationAction({
|
|
872
|
-
link: { href: url, groupKey: groupKey },
|
|
873
|
+
link: Object.assign({ href: url, groupKey: groupKey }, (linkType
|
|
874
|
+
? {
|
|
875
|
+
customAttribute: {
|
|
876
|
+
'data-link-type': linkType,
|
|
877
|
+
},
|
|
878
|
+
}
|
|
879
|
+
: {})),
|
|
873
880
|
newText: textChanged ? text : undefined,
|
|
874
881
|
needMergeNode: textChanged && this.currentSelectedNodes.length > 1,
|
|
875
882
|
type: 'link',
|
|
@@ -930,7 +937,7 @@ class LinkToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
930
937
|
(() => {
|
|
931
938
|
internalIconManager.VegaInternalIconManager.register({ link: link });
|
|
932
939
|
})();
|
|
933
|
-
__decorate$
|
|
940
|
+
__decorate$y([
|
|
934
941
|
globalSlimmerRegistry.MapToComponentField()
|
|
935
942
|
], LinkToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
936
943
|
|
|
@@ -938,7 +945,7 @@ const indent = {
|
|
|
938
945
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/></svg>`,
|
|
939
946
|
};
|
|
940
947
|
|
|
941
|
-
var __decorate$
|
|
948
|
+
var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
942
949
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
943
950
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
944
951
|
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;
|
|
@@ -972,7 +979,7 @@ class MoreIndentToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
972
979
|
(() => {
|
|
973
980
|
internalIconManager.VegaInternalIconManager.register({ indent: indent });
|
|
974
981
|
})();
|
|
975
|
-
__decorate$
|
|
982
|
+
__decorate$x([
|
|
976
983
|
globalSlimmerRegistry.MapToComponentField()
|
|
977
984
|
], MoreIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
978
985
|
|
|
@@ -980,7 +987,7 @@ const outdent = {
|
|
|
980
987
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M6 64C6 46.3 20.3 32 38 32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H38C20.3 96 6 81.7 6 64zM198 192c0-17.7 14.3-32 32-32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H230c-17.7 0-32-14.3-32-32zm32 96H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H230c-17.7 0-32-14.3-32-32s14.3-32 32-32zM6 448c0-17.7 14.3-32 32-32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H38c-17.7 0-32-14.3-32-32zm.2-179.4c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6V335.3c0 13.3-15.3 20.8-25.8 12.6L6.2 268.6z"/></svg>`,
|
|
981
988
|
};
|
|
982
989
|
|
|
983
|
-
var __decorate$
|
|
990
|
+
var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
984
991
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
985
992
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
986
993
|
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;
|
|
@@ -1015,7 +1022,7 @@ class LessIndentToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
1015
1022
|
(() => {
|
|
1016
1023
|
internalIconManager.VegaInternalIconManager.register({ outdent: outdent });
|
|
1017
1024
|
})();
|
|
1018
|
-
__decorate$
|
|
1025
|
+
__decorate$w([
|
|
1019
1026
|
globalSlimmerRegistry.MapToComponentField()
|
|
1020
1027
|
], LessIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1021
1028
|
|
|
@@ -1036,7 +1043,7 @@ class ImageUpdateUrlAction extends codeBlock.ModifyContentAction {
|
|
|
1036
1043
|
}
|
|
1037
1044
|
}
|
|
1038
1045
|
|
|
1039
|
-
var __decorate$
|
|
1046
|
+
var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1040
1047
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1041
1048
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1042
1049
|
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;
|
|
@@ -1235,16 +1242,16 @@ ImageToolbarButtonSlimmer.allItems = [
|
|
|
1235
1242
|
label: 'Insert via URL',
|
|
1236
1243
|
},
|
|
1237
1244
|
];
|
|
1238
|
-
__decorate$
|
|
1245
|
+
__decorate$v([
|
|
1239
1246
|
globalSlimmerRegistry.MapToComponentField()
|
|
1240
1247
|
], ImageToolbarButtonSlimmer.prototype, "host", void 0);
|
|
1241
|
-
__decorate$
|
|
1248
|
+
__decorate$v([
|
|
1242
1249
|
globalSlimmerRegistry.MapToComponentField()
|
|
1243
1250
|
], ImageToolbarButtonSlimmer.prototype, "insertImageController", void 0);
|
|
1244
|
-
__decorate$
|
|
1251
|
+
__decorate$v([
|
|
1245
1252
|
globalSlimmerRegistry.MapToComponentField()
|
|
1246
1253
|
], ImageToolbarButtonSlimmer.prototype, "imageInsertedEventEmitter", void 0);
|
|
1247
|
-
__decorate$
|
|
1254
|
+
__decorate$v([
|
|
1248
1255
|
globalSlimmerRegistry.MapToComponentField()
|
|
1249
1256
|
], ImageToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1250
1257
|
|
|
@@ -1257,111 +1264,574 @@ const ListOL = {
|
|
|
1257
1264
|
};
|
|
1258
1265
|
|
|
1259
1266
|
/**
|
|
1260
|
-
* Action to
|
|
1267
|
+
* Action to nest the selected list items under the previous sibling.
|
|
1261
1268
|
*/
|
|
1262
|
-
class
|
|
1263
|
-
constructor(
|
|
1269
|
+
class NestListItemsAction extends codeBlock.ModifyContentAction {
|
|
1270
|
+
constructor(selectedBlocks) {
|
|
1264
1271
|
super();
|
|
1265
|
-
this.type = codeBlock.ModifyContentActionType.
|
|
1272
|
+
this.type = codeBlock.ModifyContentActionType.NEST_LIST_ITEMS;
|
|
1266
1273
|
this.isFlushable = true;
|
|
1267
|
-
this.listType = listType;
|
|
1268
1274
|
this.selectedBlocks = selectedBlocks;
|
|
1269
1275
|
}
|
|
1270
1276
|
}
|
|
1271
1277
|
|
|
1272
1278
|
/**
|
|
1273
|
-
*
|
|
1279
|
+
* Abstract base for list keyboard (Tab / Shift+Tab) handlers.
|
|
1280
|
+
* Provides shared selection-normalization utilities used by both the indent
|
|
1281
|
+
* and outdent concrete handlers.
|
|
1274
1282
|
*/
|
|
1275
|
-
class
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1283
|
+
class AbstractListKeyboardHandler {
|
|
1284
|
+
/**
|
|
1285
|
+
* Filter the ordered selection down to only the "root" items —
|
|
1286
|
+
* items whose ancestor is not also present in the selection.
|
|
1287
|
+
*
|
|
1288
|
+
* @param {RTEListItemBlock[]} selection - Ordered selected list items.
|
|
1289
|
+
* @returns {RTEListItemBlock[]} Root items that do not have selected ancestors.
|
|
1290
|
+
*/
|
|
1291
|
+
getOutdentRoots(selection) {
|
|
1292
|
+
const selectedItems = new Set(selection);
|
|
1293
|
+
return selection.filter((item) => !this.hasSelectedAncestor(item, selectedItems));
|
|
1281
1294
|
}
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1295
|
+
/**
|
|
1296
|
+
* Check whether a list item has an ancestor that is also selected.
|
|
1297
|
+
*
|
|
1298
|
+
* @param {RTEListItemBlock} item - Item to inspect.
|
|
1299
|
+
* @param {Set<RTEListItemBlock>} selectedItems - Selected items lookup set.
|
|
1300
|
+
* @returns {boolean} True when an ancestor item is selected.
|
|
1301
|
+
*/
|
|
1302
|
+
hasSelectedAncestor(item, selectedItems) {
|
|
1303
|
+
var _a, _b;
|
|
1304
|
+
let currentParent = (_a = item.parent) === null || _a === void 0 ? void 0 : _a.parent;
|
|
1305
|
+
while (currentParent instanceof codeBlock.RTEListItemBlock) {
|
|
1306
|
+
if (selectedItems.has(currentParent)) {
|
|
1307
|
+
return true;
|
|
1308
|
+
}
|
|
1309
|
+
currentParent = (_b = currentParent.parent) === null || _b === void 0 ? void 0 : _b.parent;
|
|
1310
|
+
}
|
|
1311
|
+
return false;
|
|
1312
|
+
}
|
|
1313
|
+
/**
|
|
1314
|
+
* Split an ordered flat list of items into groups that share the same
|
|
1315
|
+
* parent list and are contiguous siblings.
|
|
1316
|
+
*
|
|
1317
|
+
* @param {RTEListItemBlock[]} selection - Ordered list-item selection.
|
|
1318
|
+
* @returns {RTEListItemBlock[][]} Contiguous parent-based segments.
|
|
1319
|
+
*/
|
|
1320
|
+
splitSelectionIntoParentSegments(selection) {
|
|
1321
|
+
const segments = [];
|
|
1322
|
+
let currentSegment = [];
|
|
1323
|
+
selection.forEach((item) => {
|
|
1324
|
+
if (currentSegment.length === 0) {
|
|
1325
|
+
currentSegment.push(item);
|
|
1326
|
+
return;
|
|
1327
|
+
}
|
|
1328
|
+
const previousItem = currentSegment[currentSegment.length - 1];
|
|
1329
|
+
const isSameParent = previousItem.parent === item.parent;
|
|
1330
|
+
const isContiguousSibling = isSameParent &&
|
|
1331
|
+
item.parent.children.indexOf(item) - item.parent.children.indexOf(previousItem) === 1;
|
|
1332
|
+
if (isContiguousSibling) {
|
|
1333
|
+
currentSegment.push(item);
|
|
1334
|
+
return;
|
|
1335
|
+
}
|
|
1336
|
+
segments.push(currentSegment);
|
|
1337
|
+
currentSegment = [item];
|
|
1297
1338
|
});
|
|
1339
|
+
if (currentSegment.length > 0) {
|
|
1340
|
+
segments.push(currentSegment);
|
|
1341
|
+
}
|
|
1342
|
+
return segments;
|
|
1298
1343
|
}
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1344
|
+
/**
|
|
1345
|
+
* Normalize the selection and split into parent-based contiguous segments.
|
|
1346
|
+
* Returns null when the result is empty.
|
|
1347
|
+
*
|
|
1348
|
+
* @param {RTEBlock[]} selectedBlocks - Raw selected blocks.
|
|
1349
|
+
* @returns {RTEListItemBlock[][] | null} Contiguous segments or null when invalid.
|
|
1350
|
+
*/
|
|
1351
|
+
normalizeToSegments(selectedBlocks) {
|
|
1352
|
+
const normalizedSelection = this.getOrderedListItems(selectedBlocks);
|
|
1353
|
+
if (!normalizedSelection) {
|
|
1354
|
+
return null;
|
|
1355
|
+
}
|
|
1356
|
+
const roots = this.getOutdentRoots(normalizedSelection);
|
|
1357
|
+
const segments = this.splitSelectionIntoParentSegments(roots);
|
|
1358
|
+
return segments.length ? segments : null;
|
|
1302
1359
|
}
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1360
|
+
/**
|
|
1361
|
+
* Return the first and last RTETextNode spanning the provided blocks,
|
|
1362
|
+
* or null when either boundary cannot be resolved.
|
|
1363
|
+
*
|
|
1364
|
+
* @param {RTEBlock[]} blocks - Blocks defining the range boundary.
|
|
1365
|
+
* @returns {Nullable<[RTETextNode, RTETextNode]>} First and last boundary nodes.
|
|
1366
|
+
*/
|
|
1367
|
+
getSelectionBoundary(blocks) {
|
|
1368
|
+
var _a, _b, _c, _d;
|
|
1369
|
+
const firstNode = (_b = (_a = blocks[0]) === null || _a === void 0 ? void 0 : _a.getFirstNode()) !== null && _b !== void 0 ? _b : null;
|
|
1370
|
+
const lastNode = (_d = (_c = blocks[blocks.length - 1]) === null || _c === void 0 ? void 0 : _c.getLastNode()) !== null && _d !== void 0 ? _d : null;
|
|
1371
|
+
if (!firstNode || !lastNode) {
|
|
1372
|
+
return null;
|
|
1306
1373
|
}
|
|
1307
|
-
|
|
1308
|
-
|
|
1374
|
+
return [firstNode, lastNode];
|
|
1375
|
+
}
|
|
1376
|
+
/**
|
|
1377
|
+
* Normalize the raw selectedBlocks into an ordered list of RTEListItemBlocks,
|
|
1378
|
+
* truncating at the first non-list block. Returns null when no list items
|
|
1379
|
+
* are present.
|
|
1380
|
+
*
|
|
1381
|
+
* @param {RTEBlock[]} selectedBlocks - Raw selected blocks.
|
|
1382
|
+
* @returns {RTEListItemBlock[] | null} Ordered list items or null.
|
|
1383
|
+
*/
|
|
1384
|
+
getOrderedListItems(selectedBlocks) {
|
|
1385
|
+
const selectedListItems = this.getSelectedListItemsUntilFirstNonList(selectedBlocks);
|
|
1386
|
+
if (!selectedListItems.length) {
|
|
1387
|
+
return null;
|
|
1309
1388
|
}
|
|
1310
|
-
|
|
1389
|
+
return [...selectedListItems].sort((a, b) => this.compareTreePath(this.getTreePath(a), this.getTreePath(b)));
|
|
1311
1390
|
}
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1391
|
+
/**
|
|
1392
|
+
* Collect contiguous selected list items until a non-list block is found.
|
|
1393
|
+
*
|
|
1394
|
+
* @param {RTEBlock[]} selectedBlocks - Raw selected blocks.
|
|
1395
|
+
* @returns {RTEListItemBlock[]} Selected list items up to first non-list block.
|
|
1396
|
+
*/
|
|
1397
|
+
getSelectedListItemsUntilFirstNonList(selectedBlocks) {
|
|
1398
|
+
const selectedListItems = [];
|
|
1399
|
+
for (const block of selectedBlocks) {
|
|
1400
|
+
if (!(block instanceof codeBlock.RTEListItemBlock)) {
|
|
1401
|
+
if (selectedListItems.length > 0) {
|
|
1402
|
+
break;
|
|
1403
|
+
}
|
|
1404
|
+
return [];
|
|
1405
|
+
}
|
|
1406
|
+
selectedListItems.push(block);
|
|
1407
|
+
}
|
|
1408
|
+
return selectedListItems;
|
|
1316
1409
|
}
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1410
|
+
/**
|
|
1411
|
+
* Build a hierarchical index path for a list item in the list tree.
|
|
1412
|
+
*
|
|
1413
|
+
* @param {RTEListItemBlock} item - Item whose tree path is being resolved.
|
|
1414
|
+
* @returns {number[]} Tree index path from root to the item.
|
|
1415
|
+
*/
|
|
1416
|
+
getTreePath(item) {
|
|
1417
|
+
var _a;
|
|
1418
|
+
const path = [];
|
|
1419
|
+
const visitedLists = new Set();
|
|
1420
|
+
let currentItem = item;
|
|
1421
|
+
let currentList = item.parent;
|
|
1422
|
+
while (currentList && this.hasChildren(currentList) && !visitedLists.has(currentList)) {
|
|
1423
|
+
visitedLists.add(currentList);
|
|
1424
|
+
const itemIndex = currentList.children.indexOf(currentItem);
|
|
1425
|
+
if (itemIndex < 0) {
|
|
1426
|
+
break;
|
|
1427
|
+
}
|
|
1428
|
+
path.unshift(itemIndex);
|
|
1429
|
+
const listParent = currentList.parent;
|
|
1430
|
+
if (listParent instanceof codeBlock.RTEListItemBlock) {
|
|
1431
|
+
const nestListIndex = ((_a = listParent.nestList) !== null && _a !== void 0 ? _a : []).indexOf(currentList);
|
|
1432
|
+
if (nestListIndex < 0) {
|
|
1433
|
+
break;
|
|
1434
|
+
}
|
|
1435
|
+
path.unshift(nestListIndex);
|
|
1436
|
+
currentItem = listParent;
|
|
1437
|
+
currentList = listParent.parent;
|
|
1438
|
+
continue;
|
|
1439
|
+
}
|
|
1440
|
+
let child = currentList;
|
|
1441
|
+
let container = listParent;
|
|
1442
|
+
while (container && this.hasChildren(container)) {
|
|
1443
|
+
const childIndex = container.children.indexOf(child);
|
|
1444
|
+
if (childIndex < 0) {
|
|
1445
|
+
return path;
|
|
1446
|
+
}
|
|
1447
|
+
path.unshift(childIndex);
|
|
1448
|
+
child = container;
|
|
1449
|
+
container = container.parent;
|
|
1450
|
+
}
|
|
1451
|
+
break;
|
|
1452
|
+
}
|
|
1453
|
+
return path;
|
|
1320
1454
|
}
|
|
1321
1455
|
/**
|
|
1322
|
-
*
|
|
1456
|
+
* Compare two list-item tree paths.
|
|
1457
|
+
*
|
|
1458
|
+
* @param {number[]} a - First tree path.
|
|
1459
|
+
* @param {number[]} b - Second tree path.
|
|
1460
|
+
* @returns {number} Negative when a < b, positive when a > b, otherwise 0.
|
|
1461
|
+
*/
|
|
1462
|
+
compareTreePath(a, b) {
|
|
1463
|
+
const length = Math.min(a.length, b.length);
|
|
1464
|
+
for (let i = 0; i < length; i++) {
|
|
1465
|
+
if (a[i] !== b[i]) {
|
|
1466
|
+
return a[i] - b[i];
|
|
1467
|
+
}
|
|
1468
|
+
}
|
|
1469
|
+
return a.length - b.length;
|
|
1470
|
+
}
|
|
1471
|
+
/**
|
|
1472
|
+
* Check whether a value exposes a children array.
|
|
1473
|
+
*
|
|
1474
|
+
* @param {unknown} entity - Candidate value.
|
|
1475
|
+
* @returns {boolean} True when entity has children array.
|
|
1323
1476
|
*/
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1477
|
+
hasChildren(entity) {
|
|
1478
|
+
return !!entity && Array.isArray(entity.children);
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
/**
|
|
1483
|
+
* Handles Tab key list indentation.
|
|
1484
|
+
* Normalizes the selection, applies a command-style gate on the first
|
|
1485
|
+
* eligible segment, then nests each qualifying segment.
|
|
1486
|
+
*/
|
|
1487
|
+
class ListTabIndentHandler extends AbstractListKeyboardHandler {
|
|
1488
|
+
/**
|
|
1489
|
+
* @inheritDoc
|
|
1490
|
+
*/
|
|
1491
|
+
execute(selectedBlocks) {
|
|
1492
|
+
const segments = this.normalizeToSegments(selectedBlocks);
|
|
1493
|
+
if (!segments) {
|
|
1494
|
+
return null;
|
|
1495
|
+
}
|
|
1496
|
+
const firstSegment = segments[0];
|
|
1497
|
+
const firstParentList = firstSegment[0].parent;
|
|
1498
|
+
if (firstParentList.children.indexOf(firstSegment[0]) <= 0) {
|
|
1499
|
+
return null;
|
|
1500
|
+
}
|
|
1501
|
+
const segmentSelectionBoundaries = new Array(segments.length).fill(null);
|
|
1502
|
+
for (let i = segments.length - 1; i >= 0; i--) {
|
|
1503
|
+
const segment = segments[i];
|
|
1504
|
+
const parentList = segment[0].parent;
|
|
1505
|
+
if (parentList.children.indexOf(segment[0]) <= 0) {
|
|
1506
|
+
continue;
|
|
1507
|
+
}
|
|
1508
|
+
parentList.apply(new NestListItemsAction(segment));
|
|
1509
|
+
segmentSelectionBoundaries[i] = this.getSelectionBoundary(segment);
|
|
1328
1510
|
}
|
|
1511
|
+
return segmentSelectionBoundaries.some(Boolean) ? segmentSelectionBoundaries : null;
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
/**
|
|
1516
|
+
* Action to promote the selected nested list items one level up.
|
|
1517
|
+
*/
|
|
1518
|
+
class UnnestListItemsAction extends codeBlock.ModifyContentAction {
|
|
1519
|
+
constructor(selectedBlocks) {
|
|
1520
|
+
super();
|
|
1521
|
+
this.type = codeBlock.ModifyContentActionType.UNNEST_LIST_ITEMS;
|
|
1522
|
+
this.isFlushable = true;
|
|
1523
|
+
this.selectedBlocks = selectedBlocks;
|
|
1329
1524
|
}
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
/**
|
|
1528
|
+
* Handles Shift+Tab key list outdent.
|
|
1529
|
+
* Normalizes the selection, then promotes each segment, either moving nested
|
|
1530
|
+
* items or promoting top-level items to paragraphs.
|
|
1531
|
+
*/
|
|
1532
|
+
class ListShiftTabOutdentHandler extends AbstractListKeyboardHandler {
|
|
1330
1533
|
/**
|
|
1331
|
-
*
|
|
1534
|
+
* @inheritDoc
|
|
1332
1535
|
*/
|
|
1333
|
-
|
|
1334
|
-
const
|
|
1335
|
-
if (
|
|
1336
|
-
|
|
1337
|
-
? selectedBlocks[0].parent
|
|
1338
|
-
: selectedBlocks[0];
|
|
1339
|
-
selectedFirstBlock.apply(new TransformListAction('bullet-list', selectedBlocks));
|
|
1536
|
+
execute(selectedBlocks) {
|
|
1537
|
+
const segments = this.normalizeToSegments(selectedBlocks);
|
|
1538
|
+
if (!segments) {
|
|
1539
|
+
return null;
|
|
1340
1540
|
}
|
|
1541
|
+
const segmentSelectionBoundaries = new Array(segments.length).fill(null);
|
|
1542
|
+
for (let i = segments.length - 1; i >= 0; i--) {
|
|
1543
|
+
const segment = segments[i];
|
|
1544
|
+
const parentList = segment[0].parent;
|
|
1545
|
+
if (parentList.parent instanceof contentState.VegaRTEContent || parentList.parent instanceof codeBlock.RTEHtmlBlock) {
|
|
1546
|
+
// Capture boundary before action moves text nodes into new paragraphs
|
|
1547
|
+
const boundary = this.getSelectionBoundary(segment);
|
|
1548
|
+
parentList.apply(new codeBlock.TransformParagraphAction(segment));
|
|
1549
|
+
segmentSelectionBoundaries[i] = boundary;
|
|
1550
|
+
continue;
|
|
1551
|
+
}
|
|
1552
|
+
if (parentList.parent instanceof codeBlock.RTEListItemBlock) {
|
|
1553
|
+
parentList.apply(new UnnestListItemsAction(segment));
|
|
1554
|
+
segmentSelectionBoundaries[i] = this.getSelectionBoundary(segment);
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
if (segmentSelectionBoundaries.some(Boolean)) {
|
|
1558
|
+
return segmentSelectionBoundaries;
|
|
1559
|
+
}
|
|
1560
|
+
return null;
|
|
1341
1561
|
}
|
|
1342
1562
|
}
|
|
1343
|
-
__decorate$r([
|
|
1344
|
-
globalSlimmerRegistry.MapToComponentField()
|
|
1345
|
-
], BulletsToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1346
|
-
__decorate$r([
|
|
1347
|
-
globalSlimmerRegistry.MapToComponentField()
|
|
1348
|
-
], BulletsToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1349
1563
|
|
|
1350
|
-
var __decorate$
|
|
1564
|
+
var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1351
1565
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1352
1566
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1353
1567
|
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;
|
|
1354
1568
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1355
1569
|
};
|
|
1356
|
-
|
|
1570
|
+
const LIST_TOOLBAR_ITEMS = ['bullets', 'numbers', 'bulletsNumbers'];
|
|
1571
|
+
/**
|
|
1572
|
+
* Handles list keyboard shortcuts (Tab/Shift+Tab) for list tooling.
|
|
1573
|
+
*/
|
|
1574
|
+
class ListKeyboardSlimmer extends globalSlimmerRegistry.VegaSlimmer {
|
|
1357
1575
|
constructor() {
|
|
1358
|
-
super(
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1576
|
+
super(...arguments);
|
|
1577
|
+
this.isKeyboardListenerBound = false;
|
|
1578
|
+
this.listTabIndentHandler = new ListTabIndentHandler();
|
|
1579
|
+
this.listShiftTabOutdentHandler = new ListShiftTabOutdentHandler();
|
|
1580
|
+
// Keyboard action execution
|
|
1581
|
+
/**
|
|
1582
|
+
* Handle Tab and Shift+Tab list keyboard interactions.
|
|
1583
|
+
*
|
|
1584
|
+
* @param {KeyboardEvent} e - Keyboard event to process.
|
|
1585
|
+
* @returns {void}
|
|
1586
|
+
*/
|
|
1587
|
+
this.handleListKeyboardAction = (e) => {
|
|
1588
|
+
if (e.key !== 'Tab') {
|
|
1589
|
+
return;
|
|
1590
|
+
}
|
|
1591
|
+
if (this.hasNonShiftModifierForTab(e)) {
|
|
1592
|
+
return;
|
|
1593
|
+
}
|
|
1594
|
+
const selectedBlocks = this.selectionController.getSelectedBlocks();
|
|
1595
|
+
const currentRange = this.selectionController.getCurrentRange().clone();
|
|
1596
|
+
if (e.shiftKey) {
|
|
1597
|
+
const selectionBoundaries = this.listShiftTabOutdentHandler.execute(selectedBlocks);
|
|
1598
|
+
if (selectionBoundaries) {
|
|
1599
|
+
e.preventDefault();
|
|
1600
|
+
void this.valueController.flushChanges(this.value).then(() => {
|
|
1601
|
+
this.restoreListSelection(selectionBoundaries, currentRange.startNode instanceof codeBlock.RTETextNode ? currentRange.startNode : null, currentRange.endNode instanceof codeBlock.RTETextNode ? currentRange.endNode : null, currentRange.startOffset, currentRange.endOffset);
|
|
1602
|
+
});
|
|
1603
|
+
}
|
|
1604
|
+
return;
|
|
1605
|
+
}
|
|
1606
|
+
const selectionBoundaries = this.listTabIndentHandler.execute(selectedBlocks);
|
|
1607
|
+
if (!selectionBoundaries) {
|
|
1608
|
+
return;
|
|
1609
|
+
}
|
|
1610
|
+
e.preventDefault();
|
|
1611
|
+
void this.valueController.flushChanges(this.value).then(() => {
|
|
1612
|
+
this.restoreListSelection(selectionBoundaries, currentRange.startNode instanceof codeBlock.RTETextNode ? currentRange.startNode : null, currentRange.endNode instanceof codeBlock.RTETextNode ? currentRange.endNode : null, currentRange.startOffset, currentRange.endOffset);
|
|
1613
|
+
});
|
|
1614
|
+
};
|
|
1615
|
+
}
|
|
1616
|
+
// Listener lifecycle and gating
|
|
1617
|
+
/**
|
|
1618
|
+
* @inheritDoc
|
|
1619
|
+
*/
|
|
1620
|
+
disconnectedCallback() {
|
|
1621
|
+
this.removeListKeyboardListener();
|
|
1622
|
+
}
|
|
1623
|
+
/**
|
|
1624
|
+
* @inheritDoc
|
|
1625
|
+
*/
|
|
1626
|
+
componentDidLoad() {
|
|
1627
|
+
this.syncListKeyboardListener();
|
|
1628
|
+
}
|
|
1629
|
+
/**
|
|
1630
|
+
* Re-sync keyboard listener when toolbarItems prop changes at runtime,
|
|
1631
|
+
* ensuring list shortcuts are bound/unbound as tools are added/removed.
|
|
1632
|
+
*/
|
|
1633
|
+
watchToolbarItems() {
|
|
1634
|
+
this.syncListKeyboardListener();
|
|
1635
|
+
}
|
|
1636
|
+
/**
|
|
1637
|
+
* Synchronize the DOM keydown listener with the configured toolbar items.
|
|
1638
|
+
*/
|
|
1639
|
+
syncListKeyboardListener() {
|
|
1640
|
+
if (this.hasListToolbarConfigured()) {
|
|
1641
|
+
this.addListKeyboardListener();
|
|
1642
|
+
return;
|
|
1643
|
+
}
|
|
1644
|
+
this.removeListKeyboardListener();
|
|
1645
|
+
}
|
|
1646
|
+
/**
|
|
1647
|
+
* Determine whether any list keyboard controls are enabled in the toolbar.
|
|
1648
|
+
*
|
|
1649
|
+
* @returns {boolean} True when any list toolbar item is configured.
|
|
1650
|
+
*/
|
|
1651
|
+
hasListToolbarConfigured() {
|
|
1652
|
+
const flatToolbarItems = this.toolbarItems.flat();
|
|
1653
|
+
return flatToolbarItems.some((item) => LIST_TOOLBAR_ITEMS.includes(item));
|
|
1654
|
+
}
|
|
1655
|
+
/**
|
|
1656
|
+
* Attach the keydown listener to the current editable element when available.
|
|
1657
|
+
* Handles element ref changes by rebinding when the target element differs.
|
|
1658
|
+
*/
|
|
1659
|
+
addListKeyboardListener() {
|
|
1660
|
+
const editableElement = this.vegaRichTextEditorRenderer.getRTEEditableElementRef();
|
|
1661
|
+
if (this.isKeyboardListenerBound && this.boundEditableElement === editableElement) {
|
|
1662
|
+
return;
|
|
1663
|
+
}
|
|
1664
|
+
if (this.isKeyboardListenerBound) {
|
|
1665
|
+
this.removeListKeyboardListener();
|
|
1666
|
+
}
|
|
1667
|
+
if (!editableElement) {
|
|
1668
|
+
return;
|
|
1669
|
+
}
|
|
1670
|
+
editableElement.addEventListener('keydown', this.handleListKeyboardAction);
|
|
1671
|
+
this.boundEditableElement = editableElement;
|
|
1672
|
+
this.isKeyboardListenerBound = true;
|
|
1673
|
+
}
|
|
1674
|
+
/**
|
|
1675
|
+
* Detach the keydown listener from the previously bound editable element.
|
|
1676
|
+
*/
|
|
1677
|
+
removeListKeyboardListener() {
|
|
1678
|
+
if (!this.isKeyboardListenerBound || !this.boundEditableElement) {
|
|
1679
|
+
return;
|
|
1680
|
+
}
|
|
1681
|
+
this.boundEditableElement.removeEventListener('keydown', this.handleListKeyboardAction);
|
|
1682
|
+
this.boundEditableElement = null;
|
|
1683
|
+
this.isKeyboardListenerBound = false;
|
|
1684
|
+
}
|
|
1685
|
+
/**
|
|
1686
|
+
* Check whether the Tab event includes modifiers other than Shift.
|
|
1687
|
+
*
|
|
1688
|
+
* @param {KeyboardEvent} e - Keyboard event to inspect.
|
|
1689
|
+
* @returns {boolean} True when non-shift modifier keys are pressed.
|
|
1690
|
+
*/
|
|
1691
|
+
hasNonShiftModifierForTab(e) {
|
|
1692
|
+
return e.altKey || e.ctrlKey || e.metaKey || e.getModifierState('AltGraph');
|
|
1693
|
+
}
|
|
1694
|
+
/**
|
|
1695
|
+
* Restore the logical selection after a list keyboard action completes.
|
|
1696
|
+
*
|
|
1697
|
+
* @param {Array<Nullable<[RTETextNode, RTETextNode]>>} selectionBoundaries - Boundaries produced by the handler.
|
|
1698
|
+
* @param {Nullable<RTETextNode>} preferredStartNode - Preferred start node from prior selection.
|
|
1699
|
+
* @param {Nullable<RTETextNode>} preferredEndNode - Preferred end node from prior selection.
|
|
1700
|
+
* @param {number} startOffset - Preferred start offset.
|
|
1701
|
+
* @param {number} endOffset - Preferred end offset.
|
|
1702
|
+
* @returns {void}
|
|
1703
|
+
*/
|
|
1704
|
+
restoreListSelection(selectionBoundaries, preferredStartNode, preferredEndNode, startOffset, endOffset) {
|
|
1705
|
+
var _a, _b, _c, _d;
|
|
1706
|
+
const firstBoundary = (_a = selectionBoundaries.find(Boolean)) !== null && _a !== void 0 ? _a : null;
|
|
1707
|
+
const lastBoundary = (_b = [...selectionBoundaries].reverse().find(Boolean)) !== null && _b !== void 0 ? _b : null;
|
|
1708
|
+
const firstNode = (_c = preferredStartNode !== null && preferredStartNode !== void 0 ? preferredStartNode : firstBoundary === null || firstBoundary === void 0 ? void 0 : firstBoundary[0]) !== null && _c !== void 0 ? _c : null;
|
|
1709
|
+
const lastNode = (_d = preferredEndNode !== null && preferredEndNode !== void 0 ? preferredEndNode : lastBoundary === null || lastBoundary === void 0 ? void 0 : lastBoundary[1]) !== null && _d !== void 0 ? _d : null;
|
|
1710
|
+
if (!firstNode || !lastNode) {
|
|
1711
|
+
return;
|
|
1712
|
+
}
|
|
1713
|
+
this.selectionController.enqueueSelectionRangeFutureState(firstNode, Math.min(startOffset, firstNode.getRangeEndOffset()), lastNode, Math.min(endOffset, lastNode.getRangeEndOffset()), true);
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
__decorate$u([
|
|
1717
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1718
|
+
], ListKeyboardSlimmer.prototype, "selectionController", void 0);
|
|
1719
|
+
__decorate$u([
|
|
1720
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1721
|
+
], ListKeyboardSlimmer.prototype, "valueController", void 0);
|
|
1722
|
+
__decorate$u([
|
|
1723
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1724
|
+
], ListKeyboardSlimmer.prototype, "value", void 0);
|
|
1725
|
+
__decorate$u([
|
|
1726
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1727
|
+
], ListKeyboardSlimmer.prototype, "toolbarItems", void 0);
|
|
1728
|
+
__decorate$u([
|
|
1729
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1730
|
+
], ListKeyboardSlimmer.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
1731
|
+
__decorate$u([
|
|
1732
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
1733
|
+
], ListKeyboardSlimmer.prototype, "disconnectedCallback", null);
|
|
1734
|
+
__decorate$u([
|
|
1735
|
+
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
1736
|
+
], ListKeyboardSlimmer.prototype, "componentDidLoad", null);
|
|
1737
|
+
__decorate$u([
|
|
1738
|
+
globalSlimmerRegistry.MapToComponentMethod('watchToolbarItems')
|
|
1739
|
+
], ListKeyboardSlimmer.prototype, "watchToolbarItems", null);
|
|
1740
|
+
|
|
1741
|
+
/**
|
|
1742
|
+
* Action to toggle bullet annotation
|
|
1743
|
+
*/
|
|
1744
|
+
class TransformListAction extends codeBlock.ModifyContentAction {
|
|
1745
|
+
constructor(listType, selectedBlocks) {
|
|
1746
|
+
super();
|
|
1747
|
+
this.type = codeBlock.ModifyContentActionType.TRANSFORM_LIST_BLOCK;
|
|
1748
|
+
this.isFlushable = true;
|
|
1749
|
+
this.listType = listType;
|
|
1750
|
+
this.selectedBlocks = selectedBlocks;
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1754
|
+
var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1755
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1756
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1757
|
+
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;
|
|
1758
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1759
|
+
};
|
|
1760
|
+
class BulletsToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarButtonSlimmer {
|
|
1761
|
+
constructor() {
|
|
1762
|
+
super({
|
|
1763
|
+
icon: 'list-ul',
|
|
1764
|
+
tooltip: {
|
|
1765
|
+
text: 'Bullets',
|
|
1766
|
+
},
|
|
1767
|
+
});
|
|
1768
|
+
}
|
|
1769
|
+
isSelected() {
|
|
1770
|
+
const selectedBlocks = this.selectionController.getSelectedBlocks();
|
|
1771
|
+
return this.isListType(selectedBlocks);
|
|
1772
|
+
}
|
|
1773
|
+
onClick() {
|
|
1774
|
+
if (this.isSelected()) {
|
|
1775
|
+
this.deselectBulletList();
|
|
1776
|
+
}
|
|
1777
|
+
else {
|
|
1778
|
+
this.selectBulletList();
|
|
1779
|
+
}
|
|
1780
|
+
void this.popoverRef.hide();
|
|
1781
|
+
}
|
|
1782
|
+
isDisabled() {
|
|
1783
|
+
const selectedNodes = this.selectionController.getSelectedNodes();
|
|
1784
|
+
return (super.isDisabled() ||
|
|
1785
|
+
selectedNodes.some((node) => node instanceof contentState.RTEImageNode || node instanceof codeBlock.RTECodeBlockNode));
|
|
1786
|
+
}
|
|
1787
|
+
isListType(selectedBlocks, type = 'bullet-list') {
|
|
1788
|
+
return (selectedBlocks.length > 0 &&
|
|
1789
|
+
selectedBlocks.every((block) => block instanceof codeBlock.RTEListItemBlock && block.parent.type === type));
|
|
1790
|
+
}
|
|
1791
|
+
/**
|
|
1792
|
+
* Deselect bullet list item to convert it to default paragraph
|
|
1793
|
+
*/
|
|
1794
|
+
deselectBulletList() {
|
|
1795
|
+
const selectedBlocks = this.selectionController.getSelectedBlocks();
|
|
1796
|
+
if (selectedBlocks[0]) {
|
|
1797
|
+
selectedBlocks[0].parent.apply(new codeBlock.TransformParagraphAction(selectedBlocks));
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
/**
|
|
1801
|
+
* Select texts or list items or texts and list items to convert it to bullet list
|
|
1802
|
+
*/
|
|
1803
|
+
selectBulletList() {
|
|
1804
|
+
const selectedBlocks = this.selectionController.getSelectedBlocks();
|
|
1805
|
+
if (selectedBlocks[0]) {
|
|
1806
|
+
const selectedFirstBlock = selectedBlocks[0].type === 'list-item'
|
|
1807
|
+
? selectedBlocks[0].parent
|
|
1808
|
+
: selectedBlocks[0];
|
|
1809
|
+
selectedFirstBlock.apply(new TransformListAction('bullet-list', selectedBlocks));
|
|
1810
|
+
}
|
|
1811
|
+
}
|
|
1812
|
+
}
|
|
1813
|
+
__decorate$t([
|
|
1814
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1815
|
+
], BulletsToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1816
|
+
__decorate$t([
|
|
1817
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1818
|
+
], BulletsToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1819
|
+
|
|
1820
|
+
var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1821
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1822
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1823
|
+
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;
|
|
1824
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1825
|
+
};
|
|
1826
|
+
class NumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarButtonSlimmer {
|
|
1827
|
+
constructor() {
|
|
1828
|
+
super({
|
|
1829
|
+
icon: 'list-ol',
|
|
1830
|
+
tooltip: { text: 'Numbers' },
|
|
1831
|
+
});
|
|
1832
|
+
}
|
|
1833
|
+
isSelected() {
|
|
1834
|
+
const selectedBlocks = this.selectionController.getSelectedBlocks();
|
|
1365
1835
|
return this.isListType(selectedBlocks);
|
|
1366
1836
|
}
|
|
1367
1837
|
onClick() {
|
|
@@ -1380,7 +1850,7 @@ class NumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolba
|
|
|
1380
1850
|
}
|
|
1381
1851
|
isListType(selectedBlocks, type = 'number-list') {
|
|
1382
1852
|
return (selectedBlocks.length > 0 &&
|
|
1383
|
-
selectedBlocks.every((block) => block instanceof
|
|
1853
|
+
selectedBlocks.every((block) => block instanceof codeBlock.RTEListItemBlock && block.parent.type === type));
|
|
1384
1854
|
}
|
|
1385
1855
|
/**
|
|
1386
1856
|
* Deselect bullet list item to convert it to default paragraph
|
|
@@ -1388,7 +1858,7 @@ class NumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolba
|
|
|
1388
1858
|
deselectNumberList() {
|
|
1389
1859
|
const selectedBlocks = this.selectionController.getSelectedBlocks();
|
|
1390
1860
|
if (selectedBlocks[0]) {
|
|
1391
|
-
selectedBlocks[0].parent.apply(new TransformParagraphAction(selectedBlocks));
|
|
1861
|
+
selectedBlocks[0].parent.apply(new codeBlock.TransformParagraphAction(selectedBlocks));
|
|
1392
1862
|
}
|
|
1393
1863
|
}
|
|
1394
1864
|
/**
|
|
@@ -1404,14 +1874,14 @@ class NumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolba
|
|
|
1404
1874
|
}
|
|
1405
1875
|
}
|
|
1406
1876
|
}
|
|
1407
|
-
__decorate$
|
|
1877
|
+
__decorate$s([
|
|
1408
1878
|
globalSlimmerRegistry.MapToComponentField()
|
|
1409
1879
|
], NumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1410
|
-
__decorate$
|
|
1880
|
+
__decorate$s([
|
|
1411
1881
|
globalSlimmerRegistry.MapToComponentField()
|
|
1412
1882
|
], NumbersToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1413
1883
|
|
|
1414
|
-
var __decorate$
|
|
1884
|
+
var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1415
1885
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1416
1886
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1417
1887
|
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;
|
|
@@ -1427,6 +1897,11 @@ class BulletsNumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualMod
|
|
|
1427
1897
|
});
|
|
1428
1898
|
this.bulletsToolbarButtonSlimmer = new BulletsToolbarButtonSlimmer();
|
|
1429
1899
|
this.numbersToolbarButtonSlimmer = new NumbersToolbarButtonSlimmer();
|
|
1900
|
+
this.listKeyboardSlimmer = new ListKeyboardSlimmer();
|
|
1901
|
+
}
|
|
1902
|
+
disconnectedCallback() {
|
|
1903
|
+
}
|
|
1904
|
+
componentDidLoad() {
|
|
1430
1905
|
}
|
|
1431
1906
|
componentWillRender() {
|
|
1432
1907
|
if (this.numbersToolbarButtonSlimmer.isSelected()) {
|
|
@@ -1486,20 +1961,41 @@ class BulletsNumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualMod
|
|
|
1486
1961
|
'list-ol': ListOL,
|
|
1487
1962
|
});
|
|
1488
1963
|
})();
|
|
1489
|
-
__decorate$
|
|
1964
|
+
__decorate$r([
|
|
1490
1965
|
globalSlimmerRegistry.MapToComponentField()
|
|
1491
1966
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1492
|
-
__decorate$
|
|
1967
|
+
__decorate$r([
|
|
1968
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1969
|
+
], BulletsNumbersToolbarButtonSlimmer.prototype, "valueController", void 0);
|
|
1970
|
+
__decorate$r([
|
|
1971
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1972
|
+
], BulletsNumbersToolbarButtonSlimmer.prototype, "value", void 0);
|
|
1973
|
+
__decorate$r([
|
|
1974
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1975
|
+
], BulletsNumbersToolbarButtonSlimmer.prototype, "toolbarItems", void 0);
|
|
1976
|
+
__decorate$r([
|
|
1977
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
1978
|
+
], BulletsNumbersToolbarButtonSlimmer.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
1979
|
+
__decorate$r([
|
|
1493
1980
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1494
1981
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "bulletsToolbarButtonSlimmer", void 0);
|
|
1495
|
-
__decorate$
|
|
1982
|
+
__decorate$r([
|
|
1496
1983
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1497
1984
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "numbersToolbarButtonSlimmer", void 0);
|
|
1498
|
-
__decorate$
|
|
1985
|
+
__decorate$r([
|
|
1986
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1987
|
+
], BulletsNumbersToolbarButtonSlimmer.prototype, "listKeyboardSlimmer", void 0);
|
|
1988
|
+
__decorate$r([
|
|
1989
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
1990
|
+
], BulletsNumbersToolbarButtonSlimmer.prototype, "disconnectedCallback", null);
|
|
1991
|
+
__decorate$r([
|
|
1992
|
+
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
1993
|
+
], BulletsNumbersToolbarButtonSlimmer.prototype, "componentDidLoad", null);
|
|
1994
|
+
__decorate$r([
|
|
1499
1995
|
globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
|
|
1500
1996
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "componentWillRender", null);
|
|
1501
1997
|
|
|
1502
|
-
var __decorate$
|
|
1998
|
+
var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1503
1999
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1504
2000
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1505
2001
|
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;
|
|
@@ -1534,14 +2030,14 @@ class LeftAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
|
|
|
1534
2030
|
'align-left': alignLeft.AlignLeft,
|
|
1535
2031
|
});
|
|
1536
2032
|
})();
|
|
1537
|
-
__decorate$
|
|
2033
|
+
__decorate$q([
|
|
1538
2034
|
globalSlimmerRegistry.MapToComponentField()
|
|
1539
2035
|
], LeftAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1540
|
-
__decorate$
|
|
2036
|
+
__decorate$q([
|
|
1541
2037
|
globalSlimmerRegistry.MapToComponentField()
|
|
1542
2038
|
], LeftAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1543
2039
|
|
|
1544
|
-
var __decorate$
|
|
2040
|
+
var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1545
2041
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1546
2042
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1547
2043
|
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;
|
|
@@ -1576,14 +2072,14 @@ class CenterAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTo
|
|
|
1576
2072
|
'align-center': alignLeft.AlignCenter,
|
|
1577
2073
|
});
|
|
1578
2074
|
})();
|
|
1579
|
-
__decorate$
|
|
2075
|
+
__decorate$p([
|
|
1580
2076
|
globalSlimmerRegistry.MapToComponentField()
|
|
1581
2077
|
], CenterAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1582
|
-
__decorate$
|
|
2078
|
+
__decorate$p([
|
|
1583
2079
|
globalSlimmerRegistry.MapToComponentField()
|
|
1584
2080
|
], CenterAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1585
2081
|
|
|
1586
|
-
var __decorate$
|
|
2082
|
+
var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1587
2083
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1588
2084
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1589
2085
|
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;
|
|
@@ -1618,14 +2114,14 @@ class RightAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
1618
2114
|
'align-right': alignLeft.AlignRight,
|
|
1619
2115
|
});
|
|
1620
2116
|
})();
|
|
1621
|
-
__decorate$
|
|
2117
|
+
__decorate$o([
|
|
1622
2118
|
globalSlimmerRegistry.MapToComponentField()
|
|
1623
2119
|
], RightAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1624
|
-
__decorate$
|
|
2120
|
+
__decorate$o([
|
|
1625
2121
|
globalSlimmerRegistry.MapToComponentField()
|
|
1626
2122
|
], RightAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1627
2123
|
|
|
1628
|
-
var __decorate$
|
|
2124
|
+
var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1629
2125
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1630
2126
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1631
2127
|
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;
|
|
@@ -1660,14 +2156,14 @@ class JustifyAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeT
|
|
|
1660
2156
|
'align-justify': alignLeft.AlignJustify,
|
|
1661
2157
|
});
|
|
1662
2158
|
})();
|
|
1663
|
-
__decorate$
|
|
2159
|
+
__decorate$n([
|
|
1664
2160
|
globalSlimmerRegistry.MapToComponentField()
|
|
1665
2161
|
], JustifyAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1666
|
-
__decorate$
|
|
2162
|
+
__decorate$n([
|
|
1667
2163
|
globalSlimmerRegistry.MapToComponentField()
|
|
1668
2164
|
], JustifyAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1669
2165
|
|
|
1670
|
-
var __decorate$
|
|
2166
|
+
var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1671
2167
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1672
2168
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1673
2169
|
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;
|
|
@@ -1725,22 +2221,22 @@ class HorizontalAlignmentToolbarButtonSlimmer extends imageAnnotationAction.Visu
|
|
|
1725
2221
|
.some((block) => this.shouldDisabledToolbar(block, codeBlock.HorizontalAlignmentAnnotationAction.name)));
|
|
1726
2222
|
}
|
|
1727
2223
|
}
|
|
1728
|
-
__decorate$
|
|
2224
|
+
__decorate$m([
|
|
1729
2225
|
globalSlimmerRegistry.MapToComponentField()
|
|
1730
2226
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1731
|
-
__decorate$
|
|
2227
|
+
__decorate$m([
|
|
1732
2228
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1733
2229
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "leftAlignToolbarButtonSlimmer", void 0);
|
|
1734
|
-
__decorate$
|
|
2230
|
+
__decorate$m([
|
|
1735
2231
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1736
2232
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "centerAlignToolbarButtonSlimmer", void 0);
|
|
1737
|
-
__decorate$
|
|
2233
|
+
__decorate$m([
|
|
1738
2234
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1739
2235
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "rightAlignToolbarButtonSlimmer", void 0);
|
|
1740
|
-
__decorate$
|
|
2236
|
+
__decorate$m([
|
|
1741
2237
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1742
2238
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "justifiedToolbarButtonSlimmer", void 0);
|
|
1743
|
-
__decorate$
|
|
2239
|
+
__decorate$m([
|
|
1744
2240
|
globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
|
|
1745
2241
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "componentWillRender", null);
|
|
1746
2242
|
|
|
@@ -1781,7 +2277,7 @@ class RTEEditorState {
|
|
|
1781
2277
|
}
|
|
1782
2278
|
}
|
|
1783
2279
|
|
|
1784
|
-
var __decorate$
|
|
2280
|
+
var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1785
2281
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1786
2282
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1787
2283
|
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;
|
|
@@ -1867,37 +2363,37 @@ class ValueController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
1867
2363
|
}
|
|
1868
2364
|
}
|
|
1869
2365
|
ValueController.VALUE_CHANGE_DEBOUNCE_TIME = 50;
|
|
1870
|
-
__decorate$
|
|
2366
|
+
__decorate$l([
|
|
1871
2367
|
globalSlimmerRegistry.MapToComponentField()
|
|
1872
2368
|
], ValueController.prototype, "host", void 0);
|
|
1873
|
-
__decorate$
|
|
2369
|
+
__decorate$l([
|
|
1874
2370
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
1875
2371
|
], ValueController.prototype, "value", void 0);
|
|
1876
|
-
__decorate$
|
|
2372
|
+
__decorate$l([
|
|
1877
2373
|
globalSlimmerRegistry.MapToComponentField()
|
|
1878
2374
|
], ValueController.prototype, "changeEventEmitter", void 0);
|
|
1879
|
-
__decorate$
|
|
2375
|
+
__decorate$l([
|
|
1880
2376
|
globalSlimmerRegistry.MapToComponentField()
|
|
1881
2377
|
], ValueController.prototype, "valueController", void 0);
|
|
1882
|
-
__decorate$
|
|
2378
|
+
__decorate$l([
|
|
1883
2379
|
globalSlimmerRegistry.MapToComponentField()
|
|
1884
2380
|
], ValueController.prototype, "historyController", void 0);
|
|
1885
|
-
__decorate$
|
|
2381
|
+
__decorate$l([
|
|
1886
2382
|
globalSlimmerRegistry.MapToComponentField()
|
|
1887
2383
|
], ValueController.prototype, "selectionController", void 0);
|
|
1888
|
-
__decorate$
|
|
2384
|
+
__decorate$l([
|
|
1889
2385
|
globalSlimmerRegistry.MapToComponentField()
|
|
1890
2386
|
], ValueController.prototype, "sourceEditConfig", void 0);
|
|
1891
|
-
__decorate$
|
|
2387
|
+
__decorate$l([
|
|
1892
2388
|
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
1893
2389
|
], ValueController.prototype, "connectedCallback", null);
|
|
1894
|
-
__decorate$
|
|
2390
|
+
__decorate$l([
|
|
1895
2391
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
1896
2392
|
], ValueController.prototype, "disconnectedCallback", null);
|
|
1897
|
-
__decorate$
|
|
2393
|
+
__decorate$l([
|
|
1898
2394
|
globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
|
|
1899
2395
|
], ValueController.prototype, "componentWillLoad", null);
|
|
1900
|
-
__decorate$
|
|
2396
|
+
__decorate$l([
|
|
1901
2397
|
globalSlimmerRegistry.MapToComponentMethod('watchValueUpdate')
|
|
1902
2398
|
], ValueController.prototype, "watchValueUpdate", null);
|
|
1903
2399
|
|
|
@@ -1926,7 +2422,7 @@ class BaseHandler {
|
|
|
1926
2422
|
* @param {VegaRTEContent} currentState - The current state of the VegaRTE content.
|
|
1927
2423
|
* @param {SelectionController} selectionController - Manages the selection of items in the user interface.
|
|
1928
2424
|
* @param {HTMLElement} richTextEditor - The current rich text editor component
|
|
1929
|
-
* @param {
|
|
2425
|
+
* @param {Event} [event] - It is used to pass an input event to the method for handling.
|
|
1930
2426
|
*/
|
|
1931
2427
|
execute(currentState, selectionController, richTextEditor, event) {
|
|
1932
2428
|
this.initCurrentStateAndSelection(currentState, selectionController);
|
|
@@ -2385,11 +2881,25 @@ class AbstractDeleteContentHandler extends BaseHandler {
|
|
|
2385
2881
|
* @returns {Nullable<RTENode>} The next node, or null when the given node is the last node of the content.
|
|
2386
2882
|
*/
|
|
2387
2883
|
getNextNode(node) {
|
|
2884
|
+
var _a;
|
|
2388
2885
|
const block = node.parent;
|
|
2389
2886
|
const nodeIndex = block.children.indexOf(node);
|
|
2390
2887
|
if (nodeIndex >= 0 && nodeIndex < block.children.length - 1) {
|
|
2391
2888
|
return block.children[nodeIndex + 1];
|
|
2392
2889
|
}
|
|
2890
|
+
// When the caret is at the end of a list item that owns nested lists, the next
|
|
2891
|
+
// caret position is the first node of the first non-empty nested list, not the following sibling
|
|
2892
|
+
// block. Descend into the item's own nestList before ascending to siblings so that
|
|
2893
|
+
// a forward delete merges the first nested item up instead of skipping the whole
|
|
2894
|
+
// nested list and merging the following sibling into the deepest nested item.
|
|
2895
|
+
if (block.isListItemBlock() && ((_a = block.nestList) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
2896
|
+
for (const nestedList of block.nestList) {
|
|
2897
|
+
const firstNestedNode = nestedList.getFirstNode();
|
|
2898
|
+
if (firstNestedNode) {
|
|
2899
|
+
return firstNestedNode;
|
|
2900
|
+
}
|
|
2901
|
+
}
|
|
2902
|
+
}
|
|
2393
2903
|
const nextBlock = this.getNextBlock(block);
|
|
2394
2904
|
return nextBlock ? nextBlock.getFirstNode() : null;
|
|
2395
2905
|
}
|
|
@@ -2400,10 +2910,25 @@ class AbstractDeleteContentHandler extends BaseHandler {
|
|
|
2400
2910
|
* @returns {Nullable<RTEBlock>} The next block, or null when the given block is the last block of the content.
|
|
2401
2911
|
*/
|
|
2402
2912
|
getNextBlock(block) {
|
|
2913
|
+
var _a, _b;
|
|
2403
2914
|
const parent = block.parent;
|
|
2404
2915
|
if (!parent || !parent.children) {
|
|
2405
2916
|
return null;
|
|
2406
2917
|
}
|
|
2918
|
+
// Nested lists are owned through a list item's nestList collection rather than
|
|
2919
|
+
// its children collection. Traverse the remaining nested-list branches before
|
|
2920
|
+
// ascending to the owning item and its following siblings.
|
|
2921
|
+
if (parent instanceof codeBlock.RTEBlock && parent.isListItemBlock()) {
|
|
2922
|
+
const nestedListIndex = ((_a = parent.nestList) !== null && _a !== void 0 ? _a : []).indexOf(block);
|
|
2923
|
+
if (nestedListIndex >= 0) {
|
|
2924
|
+
for (const nestedList of ((_b = parent.nestList) !== null && _b !== void 0 ? _b : []).slice(nestedListIndex + 1)) {
|
|
2925
|
+
if (nestedList.getFirstNode()) {
|
|
2926
|
+
return nestedList;
|
|
2927
|
+
}
|
|
2928
|
+
}
|
|
2929
|
+
return this.getNextBlock(parent);
|
|
2930
|
+
}
|
|
2931
|
+
}
|
|
2407
2932
|
const siblings = parent.children;
|
|
2408
2933
|
const blockIndex = siblings.indexOf(block);
|
|
2409
2934
|
if (blockIndex >= 0 && siblings[blockIndex + 1]) {
|
|
@@ -3069,7 +3594,300 @@ class InsertPasteHandler extends BaseHandler {
|
|
|
3069
3594
|
}
|
|
3070
3595
|
}
|
|
3071
3596
|
|
|
3072
|
-
|
|
3597
|
+
/**
|
|
3598
|
+
* Handles keyboard-based rich text link interactions (Escape close, Tab into the link popover, and
|
|
3599
|
+
* the Command/Control+K open shortcut). Follows the input-event handler workflow so the keyboard
|
|
3600
|
+
* link logic stays consistent with the other RTE handlers.
|
|
3601
|
+
*/
|
|
3602
|
+
class KeyboardLinkHandler extends BaseHandler {
|
|
3603
|
+
constructor() {
|
|
3604
|
+
super(...arguments);
|
|
3605
|
+
this.activeLinkEditor = null;
|
|
3606
|
+
this.activeLinkWrapper = null;
|
|
3607
|
+
this.linkPopoverHideHandler = null;
|
|
3608
|
+
this.linkPopoverHideOwner = null;
|
|
3609
|
+
}
|
|
3610
|
+
/**
|
|
3611
|
+
* Handles keyboard shortcuts for link popover open, close, and focus behavior.
|
|
3612
|
+
*
|
|
3613
|
+
* @param {KeyboardEvent} [event] - The keydown event fired from the editor.
|
|
3614
|
+
*/
|
|
3615
|
+
handleEvent(event) {
|
|
3616
|
+
if (!event) {
|
|
3617
|
+
return;
|
|
3618
|
+
}
|
|
3619
|
+
if (event.key === 'Escape') {
|
|
3620
|
+
if (this.activeLinkEditor) {
|
|
3621
|
+
event.preventDefault();
|
|
3622
|
+
event.stopPropagation();
|
|
3623
|
+
void this.activeLinkEditor.hide();
|
|
3624
|
+
return;
|
|
3625
|
+
}
|
|
3626
|
+
const linkWrapper = this.getFocusedLinkWrapper(event.target);
|
|
3627
|
+
const linkEditor = this.getLinkEditorFromWrapper(linkWrapper);
|
|
3628
|
+
if (linkEditor) {
|
|
3629
|
+
event.preventDefault();
|
|
3630
|
+
event.stopPropagation();
|
|
3631
|
+
void linkEditor.hide();
|
|
3632
|
+
return;
|
|
3633
|
+
}
|
|
3634
|
+
}
|
|
3635
|
+
const linkWrapper = this.getFocusedLinkWrapper(event.target);
|
|
3636
|
+
if (event.key === 'Tab' && !event.shiftKey && this.focusVisibleLinkPopoverAction(linkWrapper)) {
|
|
3637
|
+
event.preventDefault();
|
|
3638
|
+
event.stopPropagation();
|
|
3639
|
+
const linkEditor = this.getLinkEditorFromWrapper(linkWrapper) || this.activeLinkEditor;
|
|
3640
|
+
if (linkWrapper && linkEditor) {
|
|
3641
|
+
this.registerLinkPopoverHideHandler(linkEditor, () => {
|
|
3642
|
+
this.handleLinkPopoverHide(linkEditor, linkWrapper);
|
|
3643
|
+
});
|
|
3644
|
+
}
|
|
3645
|
+
return;
|
|
3646
|
+
}
|
|
3647
|
+
const isOpenLinkShortcut = (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'k';
|
|
3648
|
+
if (!isOpenLinkShortcut || !linkWrapper) {
|
|
3649
|
+
return;
|
|
3650
|
+
}
|
|
3651
|
+
event.preventDefault();
|
|
3652
|
+
event.stopPropagation();
|
|
3653
|
+
const linkEditor = linkWrapper.querySelector('vega-rich-text-link-editor');
|
|
3654
|
+
if (!linkEditor) {
|
|
3655
|
+
return;
|
|
3656
|
+
}
|
|
3657
|
+
this.activeLinkEditor = linkEditor;
|
|
3658
|
+
this.activeLinkWrapper = linkWrapper;
|
|
3659
|
+
this.registerLinkPopoverHideHandler(linkEditor, () => {
|
|
3660
|
+
this.handleLinkPopoverHide(linkEditor, linkWrapper);
|
|
3661
|
+
});
|
|
3662
|
+
void linkEditor.show();
|
|
3663
|
+
}
|
|
3664
|
+
/**
|
|
3665
|
+
* Releases any registered popover-hide listener when the owning controller is torn down.
|
|
3666
|
+
*/
|
|
3667
|
+
dispose() {
|
|
3668
|
+
this.unregisterLinkPopoverHideHandler();
|
|
3669
|
+
}
|
|
3670
|
+
/**
|
|
3671
|
+
* Registers a one-time hide listener on the currently open link editor popover.
|
|
3672
|
+
*
|
|
3673
|
+
* @param {Nullable<HTMLElement>} linkEditor - Link editor that owns the popover.
|
|
3674
|
+
* @param {EventListener} handler - Callback invoked when the popover hides.
|
|
3675
|
+
*/
|
|
3676
|
+
registerLinkPopoverHideHandler(linkEditor, handler) {
|
|
3677
|
+
const linkPopoverHideOwner = this.getLinkEditorPopover(linkEditor);
|
|
3678
|
+
if (!linkPopoverHideOwner) {
|
|
3679
|
+
return;
|
|
3680
|
+
}
|
|
3681
|
+
this.unregisterLinkPopoverHideHandler();
|
|
3682
|
+
this.linkPopoverHideHandler = this.onLinkPopoverHide.bind(this, handler);
|
|
3683
|
+
this.linkPopoverHideOwner = linkPopoverHideOwner;
|
|
3684
|
+
linkPopoverHideOwner.addEventListener('vegaPopoverHide', this.linkPopoverHideHandler, {
|
|
3685
|
+
once: true,
|
|
3686
|
+
});
|
|
3687
|
+
}
|
|
3688
|
+
/**
|
|
3689
|
+
* Executes the registered popover-hide callback and clears hide-listener state.
|
|
3690
|
+
*
|
|
3691
|
+
* @param {EventListener} handler - Registered callback for popover hide.
|
|
3692
|
+
* @param {Event} event - Hide event payload.
|
|
3693
|
+
*/
|
|
3694
|
+
onLinkPopoverHide(handler, event) {
|
|
3695
|
+
handler(event);
|
|
3696
|
+
this.linkPopoverHideHandler = null;
|
|
3697
|
+
this.linkPopoverHideOwner = null;
|
|
3698
|
+
}
|
|
3699
|
+
/**
|
|
3700
|
+
* Removes the currently registered popover hide listener if present.
|
|
3701
|
+
*/
|
|
3702
|
+
unregisterLinkPopoverHideHandler() {
|
|
3703
|
+
if (this.linkPopoverHideOwner && this.linkPopoverHideHandler) {
|
|
3704
|
+
this.linkPopoverHideOwner.removeEventListener('vegaPopoverHide', this.linkPopoverHideHandler);
|
|
3705
|
+
}
|
|
3706
|
+
this.linkPopoverHideHandler = null;
|
|
3707
|
+
this.linkPopoverHideOwner = null;
|
|
3708
|
+
}
|
|
3709
|
+
/**
|
|
3710
|
+
* Resolves the closest focused link wrapper from event target or current selection.
|
|
3711
|
+
*
|
|
3712
|
+
* @param {EventTarget | null} target - Event target from the keydown event.
|
|
3713
|
+
* @returns {Nullable<HTMLElement>} Link wrapper element if found.
|
|
3714
|
+
*/
|
|
3715
|
+
getFocusedLinkWrapper(target) {
|
|
3716
|
+
var _a;
|
|
3717
|
+
const targetElement = target && target.nodeType === Node.ELEMENT_NODE ? target : null;
|
|
3718
|
+
if (targetElement) {
|
|
3719
|
+
const directWrapper = targetElement.classList.contains('link-editor-wrapper')
|
|
3720
|
+
? targetElement
|
|
3721
|
+
: ui.findParent(targetElement, '.link-editor-wrapper');
|
|
3722
|
+
if (directWrapper) {
|
|
3723
|
+
return directWrapper;
|
|
3724
|
+
}
|
|
3725
|
+
}
|
|
3726
|
+
const anchorNode = ((_a = this.selectionController.getSelection()) === null || _a === void 0 ? void 0 : _a.anchorNode) || null;
|
|
3727
|
+
const anchorElement = (anchorNode === null || anchorNode === void 0 ? void 0 : anchorNode.nodeType) === Node.ELEMENT_NODE
|
|
3728
|
+
? anchorNode
|
|
3729
|
+
: (anchorNode === null || anchorNode === void 0 ? void 0 : anchorNode.parentElement) || null;
|
|
3730
|
+
if (!anchorElement) {
|
|
3731
|
+
return null;
|
|
3732
|
+
}
|
|
3733
|
+
return anchorElement.classList.contains('link-editor-wrapper')
|
|
3734
|
+
? anchorElement
|
|
3735
|
+
: ui.findParent(anchorElement, '.link-editor-wrapper');
|
|
3736
|
+
}
|
|
3737
|
+
/**
|
|
3738
|
+
* Finds the link editor element inside a link wrapper.
|
|
3739
|
+
*
|
|
3740
|
+
* @typedef HTMLVegaRichTextLinkEditorElement - The type of the link editor element.
|
|
3741
|
+
* @param {Nullable<HTMLElement>} linkWrapper - Wrapper that may contain the link editor component.
|
|
3742
|
+
* @returns {Nullable<HTMLVegaRichTextLinkEditorElement>} Link editor if present.
|
|
3743
|
+
*/
|
|
3744
|
+
getLinkEditorFromWrapper(linkWrapper) {
|
|
3745
|
+
return ((linkWrapper === null || linkWrapper === void 0 ? void 0 : linkWrapper.querySelector('vega-rich-text-link-editor')) ||
|
|
3746
|
+
null);
|
|
3747
|
+
}
|
|
3748
|
+
/**
|
|
3749
|
+
* Gets the popover element rendered by a link editor.
|
|
3750
|
+
*
|
|
3751
|
+
* @param {Nullable<HTMLElement>} linkEditor - Link editor owning the popover.
|
|
3752
|
+
* @returns {Nullable<LinkEditorPopoverElement>} Popover element when available.
|
|
3753
|
+
*/
|
|
3754
|
+
getLinkEditorPopover(linkEditor) {
|
|
3755
|
+
var _a;
|
|
3756
|
+
return ((_a = linkEditor === null || linkEditor === void 0 ? void 0 : linkEditor.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('vega-popover')) || null;
|
|
3757
|
+
}
|
|
3758
|
+
/**
|
|
3759
|
+
* Returns the popover content box associated with a link editor.
|
|
3760
|
+
*
|
|
3761
|
+
* @param {Nullable<HTMLElement>} linkEditor - Link editor owning the popover.
|
|
3762
|
+
* @returns {Nullable<HTMLElement>} Popover content box element.
|
|
3763
|
+
*/
|
|
3764
|
+
getLinkEditorPopoverContentBox(linkEditor) {
|
|
3765
|
+
var _a, _b;
|
|
3766
|
+
const popover = this.getLinkEditorPopover(linkEditor);
|
|
3767
|
+
return ((_b = (_a = popover === null || popover === void 0 ? void 0 : popover.appenderRenderer) === null || _a === void 0 ? void 0 : _a.getPopoverContentBox) === null || _b === void 0 ? void 0 : _b.call(_a)) || null;
|
|
3768
|
+
}
|
|
3769
|
+
/**
|
|
3770
|
+
* Clears active link editor state and restores focus to the provided wrapper.
|
|
3771
|
+
*
|
|
3772
|
+
* @param {Nullable<HTMLElement>} linkEditor - Link editor that has just hidden.
|
|
3773
|
+
* @param {Nullable<HTMLElement>} [focusTarget] - Optional element to receive focus.
|
|
3774
|
+
*/
|
|
3775
|
+
handleLinkPopoverHide(linkEditor, focusTarget) {
|
|
3776
|
+
const resolvedFocusTarget = focusTarget || this.activeLinkWrapper;
|
|
3777
|
+
if (!linkEditor || this.activeLinkEditor === linkEditor) {
|
|
3778
|
+
this.activeLinkEditor = null;
|
|
3779
|
+
this.activeLinkWrapper = null;
|
|
3780
|
+
}
|
|
3781
|
+
if (resolvedFocusTarget) {
|
|
3782
|
+
this.placeLinkCaretAtEnd(resolvedFocusTarget);
|
|
3783
|
+
}
|
|
3784
|
+
}
|
|
3785
|
+
/**
|
|
3786
|
+
* Focuses the first visible link action in the current link popover.
|
|
3787
|
+
*
|
|
3788
|
+
* @param {Nullable<HTMLElement>} [linkWrapper] - Optional focused link wrapper context.
|
|
3789
|
+
* @returns {boolean} True when focus moved to an action button.
|
|
3790
|
+
*/
|
|
3791
|
+
focusVisibleLinkPopoverAction(linkWrapper) {
|
|
3792
|
+
var _a;
|
|
3793
|
+
const ownerDocument = ((_a = this.richTextEditorRef) === null || _a === void 0 ? void 0 : _a.ownerDocument) || null;
|
|
3794
|
+
if (!ownerDocument) {
|
|
3795
|
+
return false;
|
|
3796
|
+
}
|
|
3797
|
+
const linkEditor = this.getLinkEditorFromWrapper(linkWrapper || null) || this.activeLinkEditor;
|
|
3798
|
+
const popoverContentBox = this.getPreferredLinkActionPopover(ownerDocument, linkEditor);
|
|
3799
|
+
if (!popoverContentBox) {
|
|
3800
|
+
return false;
|
|
3801
|
+
}
|
|
3802
|
+
const focusableActionButton = this.getFirstFocusableLinkActionButton(popoverContentBox);
|
|
3803
|
+
if (!focusableActionButton) {
|
|
3804
|
+
return false;
|
|
3805
|
+
}
|
|
3806
|
+
focusableActionButton.focus();
|
|
3807
|
+
return true;
|
|
3808
|
+
}
|
|
3809
|
+
/**
|
|
3810
|
+
* Prefers a scoped link-action popover and falls back to globally visible ones.
|
|
3811
|
+
*
|
|
3812
|
+
* @param {Document} ownerDocument - Document owning editor popovers.
|
|
3813
|
+
* @param {Nullable<HTMLElement>} [linkEditor] - Optional scoped link editor.
|
|
3814
|
+
* @returns {Nullable<HTMLElement>} Best popover content box to target.
|
|
3815
|
+
*/
|
|
3816
|
+
getPreferredLinkActionPopover(ownerDocument, linkEditor) {
|
|
3817
|
+
const scopedPopoverContentBox = this.getLinkEditorPopoverContentBox(linkEditor || null);
|
|
3818
|
+
if (scopedPopoverContentBox &&
|
|
3819
|
+
!scopedPopoverContentBox.classList.contains('vega-force-hidden') &&
|
|
3820
|
+
this.isLinkActionPopover(scopedPopoverContentBox)) {
|
|
3821
|
+
return scopedPopoverContentBox;
|
|
3822
|
+
}
|
|
3823
|
+
const popoverContentBoxes = Array.from(ownerDocument.querySelectorAll('vega-popover-content-box'));
|
|
3824
|
+
const linkActionPopovers = popoverContentBoxes.filter((box) => this.isLinkActionPopover(box));
|
|
3825
|
+
const visibleLinkActionPopovers = linkActionPopovers.filter((box) => !box.classList.contains('vega-force-hidden'));
|
|
3826
|
+
return visibleLinkActionPopovers[visibleLinkActionPopovers.length - 1] || null;
|
|
3827
|
+
}
|
|
3828
|
+
/**
|
|
3829
|
+
* Checks whether a popover represents the link action menu.
|
|
3830
|
+
*
|
|
3831
|
+
* @param {HTMLElement} popoverContentBox - Popover content box to inspect.
|
|
3832
|
+
* @returns {boolean} True when both edit and unlink actions exist.
|
|
3833
|
+
*/
|
|
3834
|
+
isLinkActionPopover(popoverContentBox) {
|
|
3835
|
+
const items = Array.from(popoverContentBox.querySelectorAll('vega-button-group-item'));
|
|
3836
|
+
const hasEditAction = items.some((item) => item.itemKey === 'edit');
|
|
3837
|
+
const hasUnlinkAction = items.some((item) => item.itemKey === 'unlink');
|
|
3838
|
+
return hasEditAction && hasUnlinkAction;
|
|
3839
|
+
}
|
|
3840
|
+
/**
|
|
3841
|
+
* Gets the preferred focusable element from the first link action item.
|
|
3842
|
+
*
|
|
3843
|
+
* @param {HTMLElement} popoverContentBox - Link action popover content box.
|
|
3844
|
+
* @returns {Nullable<HTMLElement>} Focusable anchor or button element.
|
|
3845
|
+
*/
|
|
3846
|
+
getFirstFocusableLinkActionButton(popoverContentBox) {
|
|
3847
|
+
var _a, _b, _c, _d;
|
|
3848
|
+
const allItems = Array.from(popoverContentBox.querySelectorAll('vega-button-group-item'));
|
|
3849
|
+
const firstActionItem = allItems.find((item) => item.itemKey === 'edit') ||
|
|
3850
|
+
allItems[0] ||
|
|
3851
|
+
null;
|
|
3852
|
+
if (!firstActionItem) {
|
|
3853
|
+
return null;
|
|
3854
|
+
}
|
|
3855
|
+
const firstActionLinkWrapper = ((_a = firstActionItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('vega-button-link')) || null;
|
|
3856
|
+
const firstActionButtonWrapper = ((_b = firstActionItem.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('vega-button')) || null;
|
|
3857
|
+
return (((_c = firstActionLinkWrapper === null || firstActionLinkWrapper === void 0 ? void 0 : firstActionLinkWrapper.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('a')) ||
|
|
3858
|
+
((_d = firstActionButtonWrapper === null || firstActionButtonWrapper === void 0 ? void 0 : firstActionButtonWrapper.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('button')) ||
|
|
3859
|
+
null);
|
|
3860
|
+
}
|
|
3861
|
+
/**
|
|
3862
|
+
* Places the editor caret at the end of the link when the popover closes.
|
|
3863
|
+
*
|
|
3864
|
+
* @param {Nullable<HTMLElement>} linkWrapper - The link wrapper element containing link text nodes.
|
|
3865
|
+
*/
|
|
3866
|
+
placeLinkCaretAtEnd(linkWrapper) {
|
|
3867
|
+
var _a;
|
|
3868
|
+
if (!linkWrapper) {
|
|
3869
|
+
return;
|
|
3870
|
+
}
|
|
3871
|
+
const allTextSpans = Array.from(linkWrapper.querySelectorAll('span'));
|
|
3872
|
+
if (allTextSpans.length === 0) {
|
|
3873
|
+
return;
|
|
3874
|
+
}
|
|
3875
|
+
const lastTextSpan = allTextSpans[allTextSpans.length - 1];
|
|
3876
|
+
const lastNodeEntity = codeBlock.stateEntityRenderingRegistry.getEntityByDOM(lastTextSpan);
|
|
3877
|
+
if (!lastNodeEntity || lastNodeEntity instanceof codeBlock.RTEBlock) {
|
|
3878
|
+
return;
|
|
3879
|
+
}
|
|
3880
|
+
if (!(lastNodeEntity instanceof codeBlock.RTETextNode)) {
|
|
3881
|
+
return;
|
|
3882
|
+
}
|
|
3883
|
+
const lastNode = lastNodeEntity;
|
|
3884
|
+
const endOffset = ((_a = lastNode.text) === null || _a === void 0 ? void 0 : _a.length) || 0;
|
|
3885
|
+
// Place caret at the end of the link when popover closes
|
|
3886
|
+
this.selectionController.enqueueSelectionRangeFutureState(lastNode, endOffset, lastNode, endOffset, true);
|
|
3887
|
+
}
|
|
3888
|
+
}
|
|
3889
|
+
|
|
3890
|
+
var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3073
3891
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3074
3892
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3075
3893
|
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;
|
|
@@ -3085,6 +3903,15 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3085
3903
|
this.forwardDeleteContentHandler = new ForwardDeleteContentHandler();
|
|
3086
3904
|
this.backwardDeleteContentHandler = new BackwardDeleteContentHandler();
|
|
3087
3905
|
this.insertPasteHandler = new InsertPasteHandler();
|
|
3906
|
+
this.keyboardLinkHandler = new KeyboardLinkHandler();
|
|
3907
|
+
/**
|
|
3908
|
+
* Dispatches editor keydown events to the keyboard link handler using the shared handler workflow.
|
|
3909
|
+
*
|
|
3910
|
+
* @param {KeyboardEvent} event - The keydown event fired from the editor.
|
|
3911
|
+
*/
|
|
3912
|
+
this.handleKeyboardAction = (event) => {
|
|
3913
|
+
this.keyboardLinkHandler.execute(this.value, this.selectionController, this.host, event);
|
|
3914
|
+
};
|
|
3088
3915
|
/**
|
|
3089
3916
|
* When a user performs an input action within the editable element, this function is triggered.
|
|
3090
3917
|
*
|
|
@@ -3139,6 +3966,7 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3139
3966
|
const editableElement = this.getEditableElementRef();
|
|
3140
3967
|
if (editableElement) {
|
|
3141
3968
|
editableElement.addEventListener('beforeinput', this.handleUserInputAction);
|
|
3969
|
+
editableElement.addEventListener('keydown', this.handleKeyboardAction);
|
|
3142
3970
|
editableElement.addEventListener('drop', this.preventDropEvent);
|
|
3143
3971
|
}
|
|
3144
3972
|
}
|
|
@@ -3149,8 +3977,10 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3149
3977
|
const editableElement = this.getEditableElementRef();
|
|
3150
3978
|
if (editableElement) {
|
|
3151
3979
|
editableElement.removeEventListener('beforeinput', this.handleUserInputAction);
|
|
3980
|
+
editableElement.removeEventListener('keydown', this.handleKeyboardAction);
|
|
3152
3981
|
editableElement.removeEventListener('drop', this.preventDropEvent);
|
|
3153
3982
|
}
|
|
3983
|
+
this.keyboardLinkHandler.dispose();
|
|
3154
3984
|
}
|
|
3155
3985
|
/**
|
|
3156
3986
|
* The function `getEditableElementRef` returns a reference to the editable HTMLDivElement within a rich text editor.
|
|
@@ -3201,28 +4031,28 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3201
4031
|
return false;
|
|
3202
4032
|
}
|
|
3203
4033
|
}
|
|
3204
|
-
__decorate$
|
|
4034
|
+
__decorate$k([
|
|
3205
4035
|
globalSlimmerRegistry.MapToComponentField()
|
|
3206
4036
|
], UserInputController.prototype, "host", void 0);
|
|
3207
|
-
__decorate$
|
|
4037
|
+
__decorate$k([
|
|
3208
4038
|
globalSlimmerRegistry.MapToComponentField()
|
|
3209
4039
|
], UserInputController.prototype, "value", void 0);
|
|
3210
|
-
__decorate$
|
|
4040
|
+
__decorate$k([
|
|
3211
4041
|
globalSlimmerRegistry.MapToComponentField()
|
|
3212
4042
|
], UserInputController.prototype, "valueController", void 0);
|
|
3213
|
-
__decorate$
|
|
4043
|
+
__decorate$k([
|
|
3214
4044
|
globalSlimmerRegistry.MapToComponentField()
|
|
3215
4045
|
], UserInputController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
3216
|
-
__decorate$
|
|
4046
|
+
__decorate$k([
|
|
3217
4047
|
globalSlimmerRegistry.MapToComponentField()
|
|
3218
4048
|
], UserInputController.prototype, "selectionController", void 0);
|
|
3219
|
-
__decorate$
|
|
4049
|
+
__decorate$k([
|
|
3220
4050
|
globalSlimmerRegistry.MapToComponentField()
|
|
3221
4051
|
], UserInputController.prototype, "insertCompositionTextController", void 0);
|
|
3222
|
-
__decorate$
|
|
4052
|
+
__decorate$k([
|
|
3223
4053
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
3224
4054
|
], UserInputController.prototype, "addActionListener", null);
|
|
3225
|
-
__decorate$
|
|
4055
|
+
__decorate$k([
|
|
3226
4056
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
3227
4057
|
], UserInputController.prototype, "removeActionListener", null);
|
|
3228
4058
|
|
|
@@ -3242,7 +4072,7 @@ class InsertImageToBlockAction extends codeBlock.ModifyContentAction {
|
|
|
3242
4072
|
}
|
|
3243
4073
|
}
|
|
3244
4074
|
|
|
3245
|
-
var __decorate$
|
|
4075
|
+
var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3246
4076
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3247
4077
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3248
4078
|
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;
|
|
@@ -3334,26 +4164,26 @@ class InsertImageController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3334
4164
|
}
|
|
3335
4165
|
}
|
|
3336
4166
|
}
|
|
3337
|
-
__decorate$
|
|
4167
|
+
__decorate$j([
|
|
3338
4168
|
globalSlimmerRegistry.MapToComponentField()
|
|
3339
4169
|
], InsertImageController.prototype, "selectionController", void 0);
|
|
3340
|
-
__decorate$
|
|
4170
|
+
__decorate$j([
|
|
3341
4171
|
globalSlimmerRegistry.MapToComponentField()
|
|
3342
4172
|
], InsertImageController.prototype, "value", void 0);
|
|
3343
|
-
__decorate$
|
|
4173
|
+
__decorate$j([
|
|
3344
4174
|
globalSlimmerRegistry.MapToComponentField()
|
|
3345
4175
|
], InsertImageController.prototype, "valueController", void 0);
|
|
3346
|
-
__decorate$
|
|
4176
|
+
__decorate$j([
|
|
3347
4177
|
globalSlimmerRegistry.MapToComponentField()
|
|
3348
4178
|
], InsertImageController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
3349
|
-
__decorate$
|
|
4179
|
+
__decorate$j([
|
|
3350
4180
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
3351
4181
|
], InsertImageController.prototype, "registerObserver", null);
|
|
3352
|
-
__decorate$
|
|
4182
|
+
__decorate$j([
|
|
3353
4183
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
3354
4184
|
], InsertImageController.prototype, "unRegisterObserver", null);
|
|
3355
4185
|
|
|
3356
|
-
var __decorate$
|
|
4186
|
+
var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3357
4187
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3358
4188
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3359
4189
|
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;
|
|
@@ -3419,20 +4249,20 @@ class FocusController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3419
4249
|
this.selectionController.setSelectionRange(range);
|
|
3420
4250
|
}
|
|
3421
4251
|
}
|
|
3422
|
-
__decorate$
|
|
4252
|
+
__decorate$i([
|
|
3423
4253
|
globalSlimmerRegistry.MapToComponentField()
|
|
3424
4254
|
], FocusController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
3425
|
-
__decorate$
|
|
4255
|
+
__decorate$i([
|
|
3426
4256
|
globalSlimmerRegistry.MapToComponentField()
|
|
3427
4257
|
], FocusController.prototype, "selectionController", void 0);
|
|
3428
|
-
__decorate$
|
|
4258
|
+
__decorate$i([
|
|
3429
4259
|
globalSlimmerRegistry.MapToComponentField()
|
|
3430
4260
|
], FocusController.prototype, "valueController", void 0);
|
|
3431
|
-
__decorate$
|
|
4261
|
+
__decorate$i([
|
|
3432
4262
|
globalSlimmerRegistry.MapToComponentField()
|
|
3433
4263
|
], FocusController.prototype, "value", void 0);
|
|
3434
4264
|
|
|
3435
|
-
var __decorate$
|
|
4265
|
+
var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3436
4266
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3437
4267
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3438
4268
|
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;
|
|
@@ -3642,35 +4472,35 @@ class InsertCompositionTextController extends globalSlimmerRegistry.VegaSlimmer
|
|
|
3642
4472
|
this.editableElementRef.dispatchEvent(inputEvent);
|
|
3643
4473
|
}
|
|
3644
4474
|
}
|
|
3645
|
-
__decorate$
|
|
4475
|
+
__decorate$h([
|
|
3646
4476
|
globalSlimmerRegistry.MapToComponentField()
|
|
3647
4477
|
], InsertCompositionTextController.prototype, "selectionController", void 0);
|
|
3648
|
-
__decorate$
|
|
4478
|
+
__decorate$h([
|
|
3649
4479
|
globalSlimmerRegistry.MapToComponentField()
|
|
3650
4480
|
], InsertCompositionTextController.prototype, "host", void 0);
|
|
3651
|
-
__decorate$
|
|
4481
|
+
__decorate$h([
|
|
3652
4482
|
globalSlimmerRegistry.MapToComponentField()
|
|
3653
4483
|
], InsertCompositionTextController.prototype, "value", void 0);
|
|
3654
|
-
__decorate$
|
|
4484
|
+
__decorate$h([
|
|
3655
4485
|
globalSlimmerRegistry.MapToComponentField()
|
|
3656
4486
|
], InsertCompositionTextController.prototype, "valueController", void 0);
|
|
3657
|
-
__decorate$
|
|
4487
|
+
__decorate$h([
|
|
3658
4488
|
globalSlimmerRegistry.MapToComponentField()
|
|
3659
4489
|
], InsertCompositionTextController.prototype, "userInputController", void 0);
|
|
3660
|
-
__decorate$
|
|
4490
|
+
__decorate$h([
|
|
3661
4491
|
globalSlimmerRegistry.MapToComponentField()
|
|
3662
4492
|
], InsertCompositionTextController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
3663
|
-
__decorate$
|
|
4493
|
+
__decorate$h([
|
|
3664
4494
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
3665
4495
|
], InsertCompositionTextController.prototype, "addCompositionTextEventListener", null);
|
|
3666
|
-
__decorate$
|
|
4496
|
+
__decorate$h([
|
|
3667
4497
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
3668
4498
|
], InsertCompositionTextController.prototype, "removeCompositionTextEventListener", null);
|
|
3669
|
-
__decorate$
|
|
4499
|
+
__decorate$h([
|
|
3670
4500
|
globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
|
|
3671
4501
|
], InsertCompositionTextController.prototype, "reConnectObserver", null);
|
|
3672
4502
|
|
|
3673
|
-
var __decorate$
|
|
4503
|
+
var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3674
4504
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3675
4505
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3676
4506
|
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;
|
|
@@ -3879,23 +4709,23 @@ class DeleteSelectedNodesController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3879
4709
|
}
|
|
3880
4710
|
}
|
|
3881
4711
|
}
|
|
3882
|
-
__decorate$
|
|
4712
|
+
__decorate$g([
|
|
3883
4713
|
globalSlimmerRegistry.MapToComponentField()
|
|
3884
4714
|
], DeleteSelectedNodesController.prototype, "host", void 0);
|
|
3885
|
-
__decorate$
|
|
4715
|
+
__decorate$g([
|
|
3886
4716
|
globalSlimmerRegistry.MapToComponentField()
|
|
3887
4717
|
], DeleteSelectedNodesController.prototype, "selectionController", void 0);
|
|
3888
|
-
__decorate$
|
|
4718
|
+
__decorate$g([
|
|
3889
4719
|
globalSlimmerRegistry.MapToComponentField()
|
|
3890
4720
|
], DeleteSelectedNodesController.prototype, "value", void 0);
|
|
3891
|
-
__decorate$
|
|
4721
|
+
__decorate$g([
|
|
3892
4722
|
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
3893
4723
|
], DeleteSelectedNodesController.prototype, "addDeleteObserver", null);
|
|
3894
|
-
__decorate$
|
|
4724
|
+
__decorate$g([
|
|
3895
4725
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
3896
4726
|
], DeleteSelectedNodesController.prototype, "removeDeleteObserver", null);
|
|
3897
4727
|
|
|
3898
|
-
var __decorate$
|
|
4728
|
+
var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3899
4729
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3900
4730
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3901
4731
|
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;
|
|
@@ -3972,22 +4802,22 @@ class HistoryController extends componentValueHistoryControllerSlimmer_abstract.
|
|
|
3972
4802
|
await this.valueController.flushChanges(content, false);
|
|
3973
4803
|
}
|
|
3974
4804
|
}
|
|
3975
|
-
__decorate$
|
|
4805
|
+
__decorate$f([
|
|
3976
4806
|
globalSlimmerRegistry.MapToComponentField()
|
|
3977
4807
|
], HistoryController.prototype, "host", void 0);
|
|
3978
|
-
__decorate$
|
|
4808
|
+
__decorate$f([
|
|
3979
4809
|
globalSlimmerRegistry.MapToComponentField()
|
|
3980
4810
|
], HistoryController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
3981
|
-
__decorate$
|
|
4811
|
+
__decorate$f([
|
|
3982
4812
|
globalSlimmerRegistry.MapToComponentField()
|
|
3983
4813
|
], HistoryController.prototype, "valueController", void 0);
|
|
3984
|
-
__decorate$
|
|
4814
|
+
__decorate$f([
|
|
3985
4815
|
globalSlimmerRegistry.MapToComponentField()
|
|
3986
4816
|
], HistoryController.prototype, "value", void 0);
|
|
3987
|
-
__decorate$
|
|
4817
|
+
__decorate$f([
|
|
3988
4818
|
globalSlimmerRegistry.MapToComponentField()
|
|
3989
4819
|
], HistoryController.prototype, "selectionController", void 0);
|
|
3990
|
-
__decorate$
|
|
4820
|
+
__decorate$f([
|
|
3991
4821
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
3992
4822
|
], HistoryController.prototype, "registerInitState", null);
|
|
3993
4823
|
|
|
@@ -4008,7 +4838,7 @@ class TransformToCodeBlockAction extends codeBlock.ModifyContentAction {
|
|
|
4008
4838
|
}
|
|
4009
4839
|
}
|
|
4010
4840
|
|
|
4011
|
-
var __decorate$
|
|
4841
|
+
var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4012
4842
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4013
4843
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4014
4844
|
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;
|
|
@@ -4064,13 +4894,13 @@ class CodeBlockToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
|
|
|
4064
4894
|
(() => {
|
|
4065
4895
|
internalIconManager.VegaInternalIconManager.register({ 'rectangle-code': rectangleCode });
|
|
4066
4896
|
})();
|
|
4067
|
-
__decorate$
|
|
4897
|
+
__decorate$e([
|
|
4068
4898
|
globalSlimmerRegistry.MapToComponentField()
|
|
4069
4899
|
], CodeBlockToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
4070
|
-
__decorate$
|
|
4900
|
+
__decorate$e([
|
|
4071
4901
|
globalSlimmerRegistry.MapToComponentField()
|
|
4072
4902
|
], CodeBlockToolbarButtonSlimmer.prototype, "valueController", void 0);
|
|
4073
|
-
__decorate$
|
|
4903
|
+
__decorate$e([
|
|
4074
4904
|
globalSlimmerRegistry.MapToComponentField()
|
|
4075
4905
|
], CodeBlockToolbarButtonSlimmer.prototype, "value", void 0);
|
|
4076
4906
|
|
|
@@ -4078,7 +4908,7 @@ const undoIcon = {
|
|
|
4078
4908
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --><path fill="currentColor" d="M464 424c0 13.3 10.7 24 24 24s24-10.7 24-24l0-96c0-53-43-96-96-96l-334.1 0 95-95c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17L143 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-95-95 334.1 0c26.5 0 48 21.5 48 48l0 96z"/></svg>`,
|
|
4079
4909
|
};
|
|
4080
4910
|
|
|
4081
|
-
var __decorate$
|
|
4911
|
+
var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4082
4912
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4083
4913
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4084
4914
|
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;
|
|
@@ -4107,7 +4937,7 @@ class UndoToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
4107
4937
|
(() => {
|
|
4108
4938
|
internalIconManager.VegaInternalIconManager.register({ 'arrow-turn-left': undoIcon });
|
|
4109
4939
|
})();
|
|
4110
|
-
__decorate$
|
|
4940
|
+
__decorate$d([
|
|
4111
4941
|
globalSlimmerRegistry.MapToComponentField()
|
|
4112
4942
|
], UndoToolbarButtonSlimmer.prototype, "historyController", void 0);
|
|
4113
4943
|
|
|
@@ -4115,7 +4945,7 @@ const redoIcon = {
|
|
|
4115
4945
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --><path fill="currentColor" d="M48 424c0 13.3-10.7 24-24 24S0 437.3 0 424l0-96c0-53 43-96 96-96l334.1 0-95-95c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L505 239c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17L369 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l95-95-334.1 0c-26.5 0-48 21.5-48 48l0 96z"/></svg>`,
|
|
4116
4946
|
};
|
|
4117
4947
|
|
|
4118
|
-
var __decorate$
|
|
4948
|
+
var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4119
4949
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4120
4950
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4121
4951
|
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;
|
|
@@ -4144,7 +4974,7 @@ class RedoToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
4144
4974
|
(() => {
|
|
4145
4975
|
internalIconManager.VegaInternalIconManager.register({ 'arrow-turn-right': redoIcon });
|
|
4146
4976
|
})();
|
|
4147
|
-
__decorate$
|
|
4977
|
+
__decorate$c([
|
|
4148
4978
|
globalSlimmerRegistry.MapToComponentField()
|
|
4149
4979
|
], RedoToolbarButtonSlimmer.prototype, "historyController", void 0);
|
|
4150
4980
|
|
|
@@ -4215,7 +5045,7 @@ const displayCode = {
|
|
|
4215
5045
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM249 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM361 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z"/></svg>`,
|
|
4216
5046
|
};
|
|
4217
5047
|
|
|
4218
|
-
var __decorate$
|
|
5048
|
+
var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4219
5049
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4220
5050
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4221
5051
|
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;
|
|
@@ -4263,26 +5093,26 @@ class SourceEditToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
|
|
|
4263
5093
|
(() => {
|
|
4264
5094
|
internalIconManager.VegaInternalIconManager.register({ 'display-code': displayCode });
|
|
4265
5095
|
})();
|
|
4266
|
-
__decorate$
|
|
5096
|
+
__decorate$b([
|
|
4267
5097
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
4268
5098
|
], SourceEditToolbarButtonSlimmer.prototype, "sourceView", void 0);
|
|
4269
|
-
__decorate$
|
|
5099
|
+
__decorate$b([
|
|
4270
5100
|
globalSlimmerRegistry.MapToComponentField()
|
|
4271
5101
|
], SourceEditToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
4272
|
-
__decorate$
|
|
5102
|
+
__decorate$b([
|
|
4273
5103
|
globalSlimmerRegistry.MapToComponentField()
|
|
4274
5104
|
], SourceEditToolbarButtonSlimmer.prototype, "valueController", void 0);
|
|
4275
|
-
__decorate$
|
|
5105
|
+
__decorate$b([
|
|
4276
5106
|
globalSlimmerRegistry.MapToComponentField()
|
|
4277
5107
|
], SourceEditToolbarButtonSlimmer.prototype, "richTextEditorSourceViewRenderer", void 0);
|
|
4278
|
-
__decorate$
|
|
5108
|
+
__decorate$b([
|
|
4279
5109
|
globalSlimmerRegistry.MapToComponentField()
|
|
4280
5110
|
], SourceEditToolbarButtonSlimmer.prototype, "sourceEditConfig", void 0);
|
|
4281
|
-
__decorate$
|
|
5111
|
+
__decorate$b([
|
|
4282
5112
|
globalSlimmerRegistry.MapToComponentField()
|
|
4283
5113
|
], SourceEditToolbarButtonSlimmer.prototype, "value", void 0);
|
|
4284
5114
|
|
|
4285
|
-
var __decorate$
|
|
5115
|
+
var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4286
5116
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4287
5117
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4288
5118
|
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;
|
|
@@ -4397,31 +5227,31 @@ class RTEExtensionController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
4397
5227
|
};
|
|
4398
5228
|
}
|
|
4399
5229
|
}
|
|
4400
|
-
__decorate$
|
|
5230
|
+
__decorate$a([
|
|
4401
5231
|
globalSlimmerRegistry.MapToComponentField()
|
|
4402
5232
|
], RTEExtensionController.prototype, "extensions", void 0);
|
|
4403
|
-
__decorate$
|
|
5233
|
+
__decorate$a([
|
|
4404
5234
|
globalSlimmerRegistry.MapToComponentField()
|
|
4405
5235
|
], RTEExtensionController.prototype, "host", void 0);
|
|
4406
|
-
__decorate$
|
|
5236
|
+
__decorate$a([
|
|
4407
5237
|
globalSlimmerRegistry.MapToComponentField()
|
|
4408
5238
|
], RTEExtensionController.prototype, "sourceView", void 0);
|
|
4409
|
-
__decorate$
|
|
5239
|
+
__decorate$a([
|
|
4410
5240
|
globalSlimmerRegistry.MapToComponentField()
|
|
4411
5241
|
], RTEExtensionController.prototype, "valueController", void 0);
|
|
4412
|
-
__decorate$
|
|
5242
|
+
__decorate$a([
|
|
4413
5243
|
globalSlimmerRegistry.MapToComponentField()
|
|
4414
5244
|
], RTEExtensionController.prototype, "selectionController", void 0);
|
|
4415
|
-
__decorate$
|
|
5245
|
+
__decorate$a([
|
|
4416
5246
|
globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
|
|
4417
5247
|
], RTEExtensionController.prototype, "prepareExtensionsBeforeLoad", null);
|
|
4418
|
-
__decorate$
|
|
5248
|
+
__decorate$a([
|
|
4419
5249
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
4420
5250
|
], RTEExtensionController.prototype, "initialExtensionContext", null);
|
|
4421
|
-
__decorate$
|
|
5251
|
+
__decorate$a([
|
|
4422
5252
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
4423
5253
|
], RTEExtensionController.prototype, "destroyExtension", null);
|
|
4424
|
-
__decorate$
|
|
5254
|
+
__decorate$a([
|
|
4425
5255
|
globalSlimmerRegistry.MapToComponentMethod('watchExtensions')
|
|
4426
5256
|
], RTEExtensionController.prototype, "handleExtensionsChange", null);
|
|
4427
5257
|
|
|
@@ -4592,7 +5422,7 @@ CodeFormatter.VOID_TAGS = new Set([
|
|
|
4592
5422
|
CodeFormatter.PRESERVE_CONTENT_TAGS = new Set(['pre']);
|
|
4593
5423
|
const CodeFormatter$1 = new CodeFormatter();
|
|
4594
5424
|
|
|
4595
|
-
var __decorate$
|
|
5425
|
+
var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4596
5426
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4597
5427
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4598
5428
|
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;
|
|
@@ -4692,34 +5522,34 @@ class VegaRichTextEditorSourceViewRenderer extends globalSlimmerRegistry.VegaSli
|
|
|
4692
5522
|
});
|
|
4693
5523
|
}
|
|
4694
5524
|
}
|
|
4695
|
-
__decorate$
|
|
5525
|
+
__decorate$9([
|
|
4696
5526
|
globalSlimmerRegistry.MapToComponentField()
|
|
4697
5527
|
], VegaRichTextEditorSourceViewRenderer.prototype, "host", void 0);
|
|
4698
|
-
__decorate$
|
|
5528
|
+
__decorate$9([
|
|
4699
5529
|
globalSlimmerRegistry.MapToComponentField()
|
|
4700
5530
|
], VegaRichTextEditorSourceViewRenderer.prototype, "allowSourceEdit", void 0);
|
|
4701
|
-
__decorate$
|
|
5531
|
+
__decorate$9([
|
|
4702
5532
|
globalSlimmerRegistry.MapToComponentField()
|
|
4703
5533
|
], VegaRichTextEditorSourceViewRenderer.prototype, "sourceView", void 0);
|
|
4704
|
-
__decorate$
|
|
5534
|
+
__decorate$9([
|
|
4705
5535
|
globalSlimmerRegistry.MapToComponentField()
|
|
4706
5536
|
], VegaRichTextEditorSourceViewRenderer.prototype, "value", void 0);
|
|
4707
|
-
__decorate$
|
|
5537
|
+
__decorate$9([
|
|
4708
5538
|
globalSlimmerRegistry.MapToComponentField()
|
|
4709
5539
|
], VegaRichTextEditorSourceViewRenderer.prototype, "disabled", void 0);
|
|
4710
|
-
__decorate$
|
|
5540
|
+
__decorate$9([
|
|
4711
5541
|
globalSlimmerRegistry.MapToComponentField()
|
|
4712
5542
|
], VegaRichTextEditorSourceViewRenderer.prototype, "sourceEditConfig", void 0);
|
|
4713
|
-
__decorate$
|
|
5543
|
+
__decorate$9([
|
|
4714
5544
|
globalSlimmerRegistry.MapToComponentField()
|
|
4715
5545
|
], VegaRichTextEditorSourceViewRenderer.prototype, "sourceCodeChangeEventEmitter", void 0);
|
|
4716
|
-
__decorate$
|
|
5546
|
+
__decorate$9([
|
|
4717
5547
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
4718
5548
|
], VegaRichTextEditorSourceViewRenderer.prototype, "clearCodeBlockBlurObserver", null);
|
|
4719
5549
|
|
|
4720
5550
|
const vegaRichTextEditorCss = ":host{display:block}:host vega-field-label{margin-bottom:8px}:host vega-text{margin-bottom:16px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container{display:flex;box-sizing:content-box;position:relative;box-sizing:content-box;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));border-radius:8px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));margin-top:12px;overflow:hidden;resize:vertical;padding-top:12px;padding-right:16px;padding-bottom:12px;padding-left:16px}:host .rich-text-editor-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}:host .rich-text-editor-container:focus-within{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1))}:host .rich-text-editor-container.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host .rich-text-editor-container.disabled:hover,:host .rich-text-editor-container.disabled:focus-within{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host .rich-text-editor-container.disabled:focus-within{outline:none}:host .rich-text-editor-container.disabled vega-rich-text-content{pointer-events:none;opacity:0.35}:host .rich-text-editor-container.error{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}:host .rich-text-editor-container.error:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}:host .rich-text-editor-container.error:focus-within{outline:2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1))}:host .rich-text-editor-container .text-editor-counter{position:absolute;bottom:8px;right:8px;display:flex;padding-left:4px;padding-right:4px;padding-top:2px;padding-bottom:2px;border-radius:4px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));background-color:rgba(var(--v-bg-textarea-count, 4, 4, 28, 0.6))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container .text-editor-counter.counter-exceed-max-length{background-color:rgba(var(--v-bg-textarea-counter-exceed-max-length, 214, 46, 81))}.toolbar-btn-group{display:flex;justify-content:center;align-items:center}.toolbar-btn-group>*:not(:first-child):not(:last-child) ::part(rich-text-editor-toolbar-button){border-radius:0px}.toolbar-btn-group>*:first-child:not(:last-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0px;border-bottom-right-radius:0px}.toolbar-btn-group>*:last-child:not(:first-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:4px;border-bottom-right-radius:4px}.toolbar-btn-group>*:not(:first-child) ::part(rich-text-editor-toolbar-button){margin-left:-1px}.toolbar-btn-group .toolbar-btn-color-preview-box{display:flex;border:1px solid rgba(var(--v-border-chip, 205, 209, 211, 1));box-sizing:border-box;border-radius:4px;width:16px;height:16px;justify-content:center;align-items:center;margin-left:6px}.toolbar-btn-group .toolbar-btn-color-preview-box.disabled{opacity:0.35}.toolbar-btn-group .toolbar-btn-link-wrapper{position:relative}.toolbar-btn-group .toolbar-btn-link-wrapper vega-rich-text-link-editor{position:absolute;bottom:0;left:0;right:0}.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1));display:block;margin-top:12px}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-hidden{display:none !important}.source-view-container{margin-top:12px}.source-view-container vega-code-block::part(editor-toolbar){display:none}";
|
|
4721
5551
|
|
|
4722
|
-
var __decorate$
|
|
5552
|
+
var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4723
5553
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4724
5554
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
4725
5555
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -4835,6 +5665,14 @@ const VegaRichTextEditor = class {
|
|
|
4835
5665
|
* @vegaVersion 2.88.0
|
|
4836
5666
|
*/
|
|
4837
5667
|
this.optional = false;
|
|
5668
|
+
/**
|
|
5669
|
+
* Specifies the name attribute used to identify the form field during data submission.
|
|
5670
|
+
* It functions identically to the `data-vega-form` attribute but operates at a lower priority.
|
|
5671
|
+
*
|
|
5672
|
+
* @default ''
|
|
5673
|
+
* @vegaVersion 2.97.0
|
|
5674
|
+
*/
|
|
5675
|
+
this.name = '';
|
|
4838
5676
|
/**
|
|
4839
5677
|
* Specifies a placeholder string that displays as a
|
|
4840
5678
|
* temporary hint or example within the rich text editor.
|
|
@@ -4978,138 +5816,138 @@ const VegaRichTextEditor = class {
|
|
|
4978
5816
|
"extensions": ["watchExtensions"]
|
|
4979
5817
|
}; }
|
|
4980
5818
|
};
|
|
4981
|
-
__decorate$
|
|
5819
|
+
__decorate$8([
|
|
4982
5820
|
componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
|
|
4983
5821
|
], VegaRichTextEditor.prototype, "globalSlimmers", void 0);
|
|
4984
|
-
__decorate$
|
|
5822
|
+
__decorate$8([
|
|
4985
5823
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
4986
5824
|
], VegaRichTextEditor.prototype, "translationSlimmer", void 0);
|
|
4987
|
-
__decorate$
|
|
5825
|
+
__decorate$8([
|
|
4988
5826
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
4989
5827
|
], VegaRichTextEditor.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
4990
|
-
__decorate$
|
|
5828
|
+
__decorate$8([
|
|
4991
5829
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
4992
5830
|
], VegaRichTextEditor.prototype, "formFieldController", void 0);
|
|
4993
|
-
__decorate$
|
|
5831
|
+
__decorate$8([
|
|
4994
5832
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
4995
5833
|
], VegaRichTextEditor.prototype, "changeEventEmitter", void 0);
|
|
4996
|
-
__decorate$
|
|
5834
|
+
__decorate$8([
|
|
4997
5835
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
4998
5836
|
], VegaRichTextEditor.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
4999
|
-
__decorate$
|
|
5837
|
+
__decorate$8([
|
|
5000
5838
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5001
5839
|
], VegaRichTextEditor.prototype, "valueController", void 0);
|
|
5002
|
-
__decorate$
|
|
5840
|
+
__decorate$8([
|
|
5003
5841
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5004
5842
|
], VegaRichTextEditor.prototype, "selectionController", void 0);
|
|
5005
|
-
__decorate$
|
|
5843
|
+
__decorate$8([
|
|
5006
5844
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5007
5845
|
], VegaRichTextEditor.prototype, "focusController", void 0);
|
|
5008
|
-
__decorate$
|
|
5846
|
+
__decorate$8([
|
|
5009
5847
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5010
5848
|
], VegaRichTextEditor.prototype, "darkModeStateControllerSlimmer", void 0);
|
|
5011
|
-
__decorate$
|
|
5849
|
+
__decorate$8([
|
|
5012
5850
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5013
5851
|
], VegaRichTextEditor.prototype, "toolbarRenderer", void 0);
|
|
5014
|
-
__decorate$
|
|
5852
|
+
__decorate$8([
|
|
5015
5853
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5016
5854
|
], VegaRichTextEditor.prototype, "clearStyleToolbarButtonSlimmer", void 0);
|
|
5017
|
-
__decorate$
|
|
5855
|
+
__decorate$8([
|
|
5018
5856
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5019
5857
|
], VegaRichTextEditor.prototype, "boldToolbarButtonSlimmer", void 0);
|
|
5020
|
-
__decorate$
|
|
5858
|
+
__decorate$8([
|
|
5021
5859
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5022
5860
|
], VegaRichTextEditor.prototype, "italicToolbarButtonSlimmer", void 0);
|
|
5023
|
-
__decorate$
|
|
5861
|
+
__decorate$8([
|
|
5024
5862
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5025
5863
|
], VegaRichTextEditor.prototype, "underlineToolbarButtonSlimmer", void 0);
|
|
5026
|
-
__decorate$
|
|
5864
|
+
__decorate$8([
|
|
5027
5865
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5028
5866
|
], VegaRichTextEditor.prototype, "textColorToolbarButtonSlimmer", void 0);
|
|
5029
|
-
__decorate$
|
|
5867
|
+
__decorate$8([
|
|
5030
5868
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5031
5869
|
], VegaRichTextEditor.prototype, "textStylesToolbarButtonSlimmer", void 0);
|
|
5032
|
-
__decorate$
|
|
5870
|
+
__decorate$8([
|
|
5033
5871
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5034
5872
|
], VegaRichTextEditor.prototype, "codeToolbarButtonSlimmer", void 0);
|
|
5035
|
-
__decorate$
|
|
5873
|
+
__decorate$8([
|
|
5036
5874
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5037
5875
|
], VegaRichTextEditor.prototype, "strikethroughToolbarButtonSlimmer", void 0);
|
|
5038
|
-
__decorate$
|
|
5876
|
+
__decorate$8([
|
|
5039
5877
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5040
5878
|
], VegaRichTextEditor.prototype, "imageToolbarButtonSlimmer", void 0);
|
|
5041
|
-
__decorate$
|
|
5879
|
+
__decorate$8([
|
|
5042
5880
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5043
5881
|
], VegaRichTextEditor.prototype, "linkToolbarButtonSlimmer", void 0);
|
|
5044
|
-
__decorate$
|
|
5882
|
+
__decorate$8([
|
|
5045
5883
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5046
5884
|
], VegaRichTextEditor.prototype, "moreIndentToolbarButtonSlimmer", void 0);
|
|
5047
|
-
__decorate$
|
|
5885
|
+
__decorate$8([
|
|
5048
5886
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5049
5887
|
], VegaRichTextEditor.prototype, "lessIndentToolbarButtonSlimmer", void 0);
|
|
5050
|
-
__decorate$
|
|
5888
|
+
__decorate$8([
|
|
5051
5889
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5052
5890
|
], VegaRichTextEditor.prototype, "bulletsNumbersToolbarButtonSlimmer", void 0);
|
|
5053
|
-
__decorate$
|
|
5891
|
+
__decorate$8([
|
|
5054
5892
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5055
5893
|
], VegaRichTextEditor.prototype, "horizontalAlignmentToolbarButtonSlimmer", void 0);
|
|
5056
|
-
__decorate$
|
|
5894
|
+
__decorate$8([
|
|
5057
5895
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5058
5896
|
], VegaRichTextEditor.prototype, "codeBlockToolbarButtonSlimmer", void 0);
|
|
5059
|
-
__decorate$
|
|
5897
|
+
__decorate$8([
|
|
5060
5898
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5061
5899
|
], VegaRichTextEditor.prototype, "undoToolbarButtonSlimmer", void 0);
|
|
5062
|
-
__decorate$
|
|
5900
|
+
__decorate$8([
|
|
5063
5901
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5064
5902
|
], VegaRichTextEditor.prototype, "redoToolbarButtonSlimmer", void 0);
|
|
5065
|
-
__decorate$
|
|
5903
|
+
__decorate$8([
|
|
5066
5904
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5067
5905
|
], VegaRichTextEditor.prototype, "sourceEditToolbarButtonSlimmer", void 0);
|
|
5068
|
-
__decorate$
|
|
5906
|
+
__decorate$8([
|
|
5069
5907
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5070
5908
|
], VegaRichTextEditor.prototype, "placeholderNotifySlimmer", void 0);
|
|
5071
|
-
__decorate$
|
|
5909
|
+
__decorate$8([
|
|
5072
5910
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5073
5911
|
], VegaRichTextEditor.prototype, "disabledNotifySlimmer", void 0);
|
|
5074
|
-
__decorate$
|
|
5912
|
+
__decorate$8([
|
|
5075
5913
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5076
5914
|
], VegaRichTextEditor.prototype, "richTextContentController", void 0);
|
|
5077
|
-
__decorate$
|
|
5915
|
+
__decorate$8([
|
|
5078
5916
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5079
5917
|
], VegaRichTextEditor.prototype, "userInputController", void 0);
|
|
5080
|
-
__decorate$
|
|
5918
|
+
__decorate$8([
|
|
5081
5919
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5082
5920
|
], VegaRichTextEditor.prototype, "insertImageController", void 0);
|
|
5083
|
-
__decorate$
|
|
5921
|
+
__decorate$8([
|
|
5084
5922
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5085
5923
|
], VegaRichTextEditor.prototype, "insertCompositionTextController", void 0);
|
|
5086
|
-
__decorate$
|
|
5924
|
+
__decorate$8([
|
|
5087
5925
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5088
5926
|
], VegaRichTextEditor.prototype, "imageInsertedEventEmitter", void 0);
|
|
5089
|
-
__decorate$
|
|
5927
|
+
__decorate$8([
|
|
5090
5928
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5091
5929
|
], VegaRichTextEditor.prototype, "changeEventPreventSlimmer", void 0);
|
|
5092
|
-
__decorate$
|
|
5930
|
+
__decorate$8([
|
|
5093
5931
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5094
5932
|
], VegaRichTextEditor.prototype, "deleteSelectedNodesController", void 0);
|
|
5095
|
-
__decorate$
|
|
5933
|
+
__decorate$8([
|
|
5096
5934
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5097
5935
|
], VegaRichTextEditor.prototype, "historyController", void 0);
|
|
5098
|
-
__decorate$
|
|
5936
|
+
__decorate$8([
|
|
5099
5937
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5100
5938
|
], VegaRichTextEditor.prototype, "internalCodeBlockSelectionController", void 0);
|
|
5101
|
-
__decorate$
|
|
5939
|
+
__decorate$8([
|
|
5102
5940
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5103
5941
|
], VegaRichTextEditor.prototype, "rteExtensionController", void 0);
|
|
5104
|
-
__decorate$
|
|
5942
|
+
__decorate$8([
|
|
5105
5943
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5106
5944
|
], VegaRichTextEditor.prototype, "sourceCodeChangeEventEmitter", void 0);
|
|
5107
|
-
__decorate$
|
|
5945
|
+
__decorate$8([
|
|
5108
5946
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5109
5947
|
], VegaRichTextEditor.prototype, "richTextEditorSourceViewRenderer", void 0);
|
|
5110
5948
|
VegaRichTextEditor.style = vegaRichTextEditorCss;
|
|
5111
5949
|
|
|
5112
|
-
var __decorate$
|
|
5950
|
+
var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
5113
5951
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5114
5952
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5115
5953
|
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;
|
|
@@ -5146,34 +5984,34 @@ class VegaRichTextEditorToolbarButtonRenderer extends globalSlimmerRegistry.Vega
|
|
|
5146
5984
|
'chevron-up': chevronUp.chevronUp,
|
|
5147
5985
|
});
|
|
5148
5986
|
})();
|
|
5149
|
-
__decorate$
|
|
5987
|
+
__decorate$7([
|
|
5150
5988
|
globalSlimmerRegistry.MapToComponentField()
|
|
5151
5989
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "disabled", void 0);
|
|
5152
|
-
__decorate$
|
|
5990
|
+
__decorate$7([
|
|
5153
5991
|
globalSlimmerRegistry.MapToComponentField()
|
|
5154
5992
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "hidden", void 0);
|
|
5155
|
-
__decorate$
|
|
5993
|
+
__decorate$7([
|
|
5156
5994
|
globalSlimmerRegistry.MapToComponentField()
|
|
5157
5995
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "selected", void 0);
|
|
5158
|
-
__decorate$
|
|
5996
|
+
__decorate$7([
|
|
5159
5997
|
globalSlimmerRegistry.MapToComponentField()
|
|
5160
5998
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "showArrowIcon", void 0);
|
|
5161
|
-
__decorate$
|
|
5999
|
+
__decorate$7([
|
|
5162
6000
|
globalSlimmerRegistry.MapToComponentField()
|
|
5163
6001
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "arrowIcon", void 0);
|
|
5164
|
-
__decorate$
|
|
6002
|
+
__decorate$7([
|
|
5165
6003
|
globalSlimmerRegistry.MapToComponentField()
|
|
5166
6004
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "icon", void 0);
|
|
5167
|
-
__decorate$
|
|
6005
|
+
__decorate$7([
|
|
5168
6006
|
globalSlimmerRegistry.MapToComponentField()
|
|
5169
6007
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "iconColor", void 0);
|
|
5170
|
-
__decorate$
|
|
6008
|
+
__decorate$7([
|
|
5171
6009
|
globalSlimmerRegistry.MapToComponentField()
|
|
5172
6010
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "clickEventEmitter", void 0);
|
|
5173
6011
|
|
|
5174
6012
|
const vegaRichTextEditorToolbarButtonCss = ":host{display:inline-block}:host ::slotted(vega-font.v-font-field-label-sm){line-height:16px}.rich-text-editor-toolbar-btn{display:flex;justify-content:center;align-items:center;border-radius:4px;border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));padding-top:8px;padding-bottom:8px;padding-left:12px;padding-right:12px;cursor:pointer;position:relative;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1))}.rich-text-editor-toolbar-btn:hover{background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));z-index:1}.rich-text-editor-toolbar-btn:active{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));z-index:1}.rich-text-editor-toolbar-btn:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:-1px;z-index:2}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-selected{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));z-index:1}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));cursor:not-allowed}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-disabled vega-icon{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-hidden{display:none}";
|
|
5175
6013
|
|
|
5176
|
-
var __decorate$
|
|
6014
|
+
var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
5177
6015
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5178
6016
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
5179
6017
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -5248,24 +6086,24 @@ const VegaRichTextEditorToolbarButton = class {
|
|
|
5248
6086
|
}
|
|
5249
6087
|
get host() { return index.getElement(this); }
|
|
5250
6088
|
};
|
|
5251
|
-
__decorate$
|
|
6089
|
+
__decorate$6([
|
|
5252
6090
|
componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
|
|
5253
6091
|
], VegaRichTextEditorToolbarButton.prototype, "globalSlimmers", void 0);
|
|
5254
|
-
__decorate$
|
|
6092
|
+
__decorate$6([
|
|
5255
6093
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5256
6094
|
], VegaRichTextEditorToolbarButton.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
5257
|
-
__decorate$
|
|
6095
|
+
__decorate$6([
|
|
5258
6096
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5259
6097
|
], VegaRichTextEditorToolbarButton.prototype, "clickEventEmitter", void 0);
|
|
5260
|
-
__decorate$
|
|
6098
|
+
__decorate$6([
|
|
5261
6099
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5262
6100
|
], VegaRichTextEditorToolbarButton.prototype, "eventPrevent", void 0);
|
|
5263
|
-
__decorate$
|
|
6101
|
+
__decorate$6([
|
|
5264
6102
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5265
6103
|
], VegaRichTextEditorToolbarButton.prototype, "renderer", void 0);
|
|
5266
6104
|
VegaRichTextEditorToolbarButton.style = vegaRichTextEditorToolbarButtonCss;
|
|
5267
6105
|
|
|
5268
|
-
var __decorate$
|
|
6106
|
+
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
5269
6107
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5270
6108
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5271
6109
|
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;
|
|
@@ -5373,34 +6211,34 @@ class VegaRichTextImageEditorRenderer extends globalSlimmerRegistry.VegaSlimmer
|
|
|
5373
6211
|
(() => {
|
|
5374
6212
|
internalIconManager.VegaInternalIconManager.register({ 'trash-can': trashCan.trashCan });
|
|
5375
6213
|
})();
|
|
5376
|
-
__decorate$
|
|
6214
|
+
__decorate$5([
|
|
5377
6215
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
5378
6216
|
], VegaRichTextImageEditorRenderer.prototype, "currentPage", void 0);
|
|
5379
|
-
__decorate$
|
|
6217
|
+
__decorate$5([
|
|
5380
6218
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
5381
6219
|
], VegaRichTextImageEditorRenderer.prototype, "selected", void 0);
|
|
5382
|
-
__decorate$
|
|
6220
|
+
__decorate$5([
|
|
5383
6221
|
globalSlimmerRegistry.MapToComponentField()
|
|
5384
6222
|
], VegaRichTextImageEditorRenderer.prototype, "host", void 0);
|
|
5385
|
-
__decorate$
|
|
6223
|
+
__decorate$5([
|
|
5386
6224
|
globalSlimmerRegistry.MapToComponentField()
|
|
5387
6225
|
], VegaRichTextImageEditorRenderer.prototype, "alt", void 0);
|
|
5388
|
-
__decorate$
|
|
6226
|
+
__decorate$5([
|
|
5389
6227
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
5390
6228
|
], VegaRichTextImageEditorRenderer.prototype, "size", void 0);
|
|
5391
|
-
__decorate$
|
|
6229
|
+
__decorate$5([
|
|
5392
6230
|
globalSlimmerRegistry.MapToComponentField()
|
|
5393
6231
|
], VegaRichTextImageEditorRenderer.prototype, "changeEventEmitter", void 0);
|
|
5394
|
-
__decorate$
|
|
6232
|
+
__decorate$5([
|
|
5395
6233
|
globalSlimmerRegistry.MapToComponentField()
|
|
5396
6234
|
], VegaRichTextImageEditorRenderer.prototype, "translationSlimmer", void 0);
|
|
5397
|
-
__decorate$
|
|
6235
|
+
__decorate$5([
|
|
5398
6236
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
5399
6237
|
], VegaRichTextImageEditorRenderer.prototype, "findParentContainerRef", null);
|
|
5400
6238
|
|
|
5401
6239
|
const vegaRichTextImageEditorCss = ":host{display:inline-block}:host(.rte-image-selected){outline:2px solid rgba(var(--v-border-color-tile-selected, 19, 98, 226, 1));outline-offset:-2px}";
|
|
5402
6240
|
|
|
5403
|
-
var __decorate$
|
|
6241
|
+
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
5404
6242
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5405
6243
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
5406
6244
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -5441,24 +6279,24 @@ const VegaRichTextImageEditor = class {
|
|
|
5441
6279
|
}
|
|
5442
6280
|
get host() { return index.getElement(this); }
|
|
5443
6281
|
};
|
|
5444
|
-
__decorate$
|
|
6282
|
+
__decorate$4([
|
|
5445
6283
|
componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
|
|
5446
6284
|
], VegaRichTextImageEditor.prototype, "globalSlimmers", void 0);
|
|
5447
|
-
__decorate$
|
|
6285
|
+
__decorate$4([
|
|
5448
6286
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5449
6287
|
], VegaRichTextImageEditor.prototype, "translationSlimmer", void 0);
|
|
5450
|
-
__decorate$
|
|
6288
|
+
__decorate$4([
|
|
5451
6289
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5452
6290
|
], VegaRichTextImageEditor.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
5453
|
-
__decorate$
|
|
6291
|
+
__decorate$4([
|
|
5454
6292
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5455
6293
|
], VegaRichTextImageEditor.prototype, "renderer", void 0);
|
|
5456
|
-
__decorate$
|
|
6294
|
+
__decorate$4([
|
|
5457
6295
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5458
6296
|
], VegaRichTextImageEditor.prototype, "changeEventEmitter", void 0);
|
|
5459
6297
|
VegaRichTextImageEditor.style = vegaRichTextImageEditorCss;
|
|
5460
6298
|
|
|
5461
|
-
var __decorate$
|
|
6299
|
+
var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
5462
6300
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5463
6301
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5464
6302
|
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;
|
|
@@ -5467,66 +6305,73 @@ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators,
|
|
|
5467
6305
|
class VegaRichTextLinkEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
5468
6306
|
constructor() {
|
|
5469
6307
|
super(...arguments);
|
|
5470
|
-
this.
|
|
5471
|
-
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
|
|
5479
|
-
|
|
6308
|
+
this.handlePopoverRef = (ref) => {
|
|
6309
|
+
this.popoverRef = ref;
|
|
6310
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaPopoverShow, () => this.linkEditorController.handlePopoverShow());
|
|
6311
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaPopoverHide, () => {
|
|
6312
|
+
this.linkEditorController.handlePopoverHide();
|
|
6313
|
+
});
|
|
6314
|
+
};
|
|
6315
|
+
this.handleButtonGroupRef = (node) => {
|
|
6316
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, vegaEventId.VegaClick, ({ detail }) => {
|
|
6317
|
+
switch (detail) {
|
|
6318
|
+
case 'edit': {
|
|
6319
|
+
this.linkEditorController.handleEditAction();
|
|
6320
|
+
return;
|
|
5480
6321
|
}
|
|
5481
|
-
|
|
6322
|
+
case 'unlink': {
|
|
6323
|
+
void this.linkEditorController.handleUnlinkAction();
|
|
6324
|
+
}
|
|
6325
|
+
}
|
|
6326
|
+
});
|
|
6327
|
+
};
|
|
6328
|
+
this.handleFormRef = (ref) => {
|
|
6329
|
+
this.formRef = ref;
|
|
6330
|
+
};
|
|
6331
|
+
this.handleUrlInputRef = (ref) => {
|
|
6332
|
+
if (ref) {
|
|
6333
|
+
this.urlInputRef = ref;
|
|
5482
6334
|
}
|
|
5483
6335
|
};
|
|
5484
|
-
|
|
5485
|
-
|
|
5486
|
-
|
|
5487
|
-
|
|
5488
|
-
|
|
5489
|
-
|
|
5490
|
-
|
|
5491
|
-
|
|
5492
|
-
|
|
5493
|
-
|
|
5494
|
-
|
|
5495
|
-
|
|
5496
|
-
}
|
|
5497
|
-
watchStatusChange() {
|
|
5498
|
-
if (this.status === 'linkEdit') {
|
|
5499
|
-
setTimeout(() => {
|
|
5500
|
-
void this.urlInputRef.doFocus();
|
|
6336
|
+
this.handleTextInputRef = (ref) => {
|
|
6337
|
+
this.textInputRef = ref;
|
|
6338
|
+
};
|
|
6339
|
+
this.handleLinkFieldKeyDown = (e) => {
|
|
6340
|
+
this.linkEditorController.handleKeyDown(e);
|
|
6341
|
+
};
|
|
6342
|
+
this.handleUrlVegaChange = (e) => {
|
|
6343
|
+
this.linkEditorController.handleUrlVegaChange(e);
|
|
6344
|
+
};
|
|
6345
|
+
this.handleLinkTypeSelectRef = (ref) => {
|
|
6346
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaChange, (payload) => {
|
|
6347
|
+
void this.linkEditorController.handleLinkTypeChange(payload);
|
|
5501
6348
|
});
|
|
5502
|
-
}
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
|
|
6349
|
+
};
|
|
6350
|
+
this.handleCancelButtonRef = (ref) => {
|
|
6351
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaClick, () => {
|
|
6352
|
+
void this.getPopoverRef().hide();
|
|
6353
|
+
});
|
|
6354
|
+
};
|
|
6355
|
+
this.handleSubmitButtonRef = (ref) => {
|
|
6356
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaClick, () => {
|
|
6357
|
+
void this.linkEditorController.submitLink();
|
|
6358
|
+
});
|
|
6359
|
+
};
|
|
5506
6360
|
}
|
|
5507
6361
|
getPopoverRef() {
|
|
5508
6362
|
return this.popoverRef;
|
|
5509
6363
|
}
|
|
6364
|
+
getFormRef() {
|
|
6365
|
+
return this.formRef;
|
|
6366
|
+
}
|
|
6367
|
+
getUrlInputRef() {
|
|
6368
|
+
return this.urlInputRef;
|
|
6369
|
+
}
|
|
6370
|
+
getTextInputRef() {
|
|
6371
|
+
return this.textInputRef;
|
|
6372
|
+
}
|
|
5510
6373
|
render() {
|
|
5511
|
-
return (index.h("vega-popover", { trigger: "click", alignment: "start", placement: "bottom", showArrow: false, isScreenPosition: true, ref:
|
|
5512
|
-
this.popoverRef = ref;
|
|
5513
|
-
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaPopoverShow, () => {
|
|
5514
|
-
var _a, _b, _c;
|
|
5515
|
-
if (this.status === 'linkEdit') {
|
|
5516
|
-
void this.urlInputRef.doFocus();
|
|
5517
|
-
}
|
|
5518
|
-
void this.formRef.setValue({
|
|
5519
|
-
text: (_a = this.record) === null || _a === void 0 ? void 0 : _a.text,
|
|
5520
|
-
url: this.normalizeUrlByDefaultProtocol((_c = (_b = this.record) === null || _b === void 0 ? void 0 : _b.url) !== null && _c !== void 0 ? _c : ''),
|
|
5521
|
-
});
|
|
5522
|
-
});
|
|
5523
|
-
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaPopoverHide, () => {
|
|
5524
|
-
void this.formRef.reset();
|
|
5525
|
-
if (this.resetStatusAfterHide) {
|
|
5526
|
-
this.status = 'editOrUnlinkSelection';
|
|
5527
|
-
}
|
|
5528
|
-
});
|
|
5529
|
-
} },
|
|
6374
|
+
return (index.h("vega-popover", { trigger: "click", alignment: "start", placement: "bottom", showArrow: false, isScreenPosition: true, ref: this.handlePopoverRef },
|
|
5530
6375
|
index.h("span", { slot: "popover-content" },
|
|
5531
6376
|
index.h("slot", null)),
|
|
5532
6377
|
index.h("div", { slot: "popover" },
|
|
@@ -5535,74 +6380,879 @@ class VegaRichTextLinkEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
5535
6380
|
}
|
|
5536
6381
|
renderLinkUnlinkContent() {
|
|
5537
6382
|
return (index.h("vega-box", { display: this.status === 'editOrUnlinkSelection' ? 'block' : 'none' },
|
|
5538
|
-
index.h("vega-button-group", { size: "small", variant: "tertiary", ref:
|
|
5539
|
-
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, vegaEventId.VegaClick, ({ detail }) => {
|
|
5540
|
-
switch (detail) {
|
|
5541
|
-
case 'edit': {
|
|
5542
|
-
this.status = 'linkEdit';
|
|
5543
|
-
return;
|
|
5544
|
-
}
|
|
5545
|
-
case 'unlink': {
|
|
5546
|
-
this.changeEventEmitter.emit({ action: 'unlink' });
|
|
5547
|
-
void this.popoverRef.hide();
|
|
5548
|
-
}
|
|
5549
|
-
}
|
|
5550
|
-
});
|
|
5551
|
-
} },
|
|
6383
|
+
index.h("vega-button-group", { size: "small", variant: "tertiary", ref: this.handleButtonGroupRef, onKeyDown: this.handleLinkFieldKeyDown },
|
|
5552
6384
|
index.h("vega-button-group-item", { label: this.translationSlimmer.t('Edit'), itemKey: "edit" }),
|
|
5553
6385
|
index.h("vega-button-group-item", { label: this.translationSlimmer.t('Unlink'), itemKey: "unlink" }))));
|
|
5554
6386
|
}
|
|
5555
6387
|
renderLinkEditContent() {
|
|
5556
6388
|
return (index.h("vega-box", { display: this.status === 'linkEdit' ? 'block' : 'none' },
|
|
5557
|
-
index.h("vega-
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5561
|
-
|
|
5562
|
-
|
|
6389
|
+
index.h("vega-flex", { style: { width: '419px' }, direction: "col", gap: "size-16" },
|
|
6390
|
+
this.renderLinkTypeSelector(),
|
|
6391
|
+
index.h("vega-form", { ref: this.handleFormRef },
|
|
6392
|
+
index.h("vega-flex", { direction: "col", gap: "size-16" },
|
|
6393
|
+
this.renderTextInput(),
|
|
6394
|
+
this.renderCurrentLinkTypeEditFields())),
|
|
6395
|
+
this.renderActionButtons())));
|
|
6396
|
+
}
|
|
6397
|
+
renderCurrentLinkTypeEditFields() {
|
|
6398
|
+
switch (this.linkEditorStateManager.getSelectedLinkTypeKey()) {
|
|
6399
|
+
case codeBlock.RTE_EMAIL_LINK_TYPE_KEY:
|
|
6400
|
+
return this.renderEmailLinkEditFields();
|
|
6401
|
+
default:
|
|
6402
|
+
return this.renderUrlLinkEditFields();
|
|
6403
|
+
}
|
|
6404
|
+
}
|
|
6405
|
+
renderTextInput() {
|
|
6406
|
+
return (index.h("vega-input", { size: "small", label: this.translationSlimmer.t('Text'), "data-vega-form": "text", ref: this.handleTextInputRef, onKeyDown: this.handleLinkFieldKeyDown }));
|
|
6407
|
+
}
|
|
6408
|
+
renderEmailLinkEditFields() {
|
|
6409
|
+
return [
|
|
6410
|
+
index.h("vega-input", { key: "emailAddress", "data-vega-form": "emailAddress", required: true, ref: this.handleUrlInputRef, size: "small", label: this.translationSlimmer.t('E-Mail Address'), onVegaChange: this.handleUrlVegaChange, onKeyDown: this.handleLinkFieldKeyDown }),
|
|
6411
|
+
index.h("vega-input", { key: "messageSubject", size: "small", label: this.translationSlimmer.t('Message Subject'), "data-vega-form": "messageSubject", onKeyDown: this.handleLinkFieldKeyDown }),
|
|
6412
|
+
index.h("vega-textarea", { key: "messageBody", label: this.translationSlimmer.t('Message Body'), "data-vega-form": "messageBody", rows: 4, resizable: false }),
|
|
6413
|
+
];
|
|
5563
6414
|
}
|
|
5564
|
-
|
|
5565
|
-
|
|
6415
|
+
renderUrlLinkEditFields() {
|
|
6416
|
+
return [
|
|
6417
|
+
index.h("vega-input", { key: "url", "data-vega-form": "url", ref: this.handleUrlInputRef, size: "small", label: this.translationSlimmer.t('URL'), required: this.linkTypeConfigController.hasConfiguredLinkTypes(), onVegaChange: this.handleUrlVegaChange, onKeyDown: this.handleLinkFieldKeyDown }),
|
|
6418
|
+
];
|
|
5566
6419
|
}
|
|
5567
|
-
|
|
5568
|
-
|
|
5569
|
-
|
|
5570
|
-
|
|
6420
|
+
renderLinkTypeSelector() {
|
|
6421
|
+
if (!this.linkTypeConfigController.hasConfiguredLinkTypes()) {
|
|
6422
|
+
return null;
|
|
6423
|
+
}
|
|
6424
|
+
return (index.h("vega-input-select", { label: this.translationSlimmer.t('Link Type'), size: "small", source: this.linkTypeConfigController
|
|
6425
|
+
.getConfiguredLinkTypes()
|
|
6426
|
+
.map((item) => ({
|
|
6427
|
+
id: item.key,
|
|
6428
|
+
displayName: this.translationSlimmer.t(item.label),
|
|
6429
|
+
})), vegaDropdownProps: { searchable: false }, value: this.linkEditorStateManager.getSelectedLinkTypeKey(), ref: this.handleLinkTypeSelectRef }));
|
|
5571
6430
|
}
|
|
5572
|
-
|
|
5573
|
-
|
|
6431
|
+
renderActionButtons() {
|
|
6432
|
+
if (!this.linkTypeConfigController.hasConfiguredLinkTypes()) {
|
|
6433
|
+
return null;
|
|
6434
|
+
}
|
|
6435
|
+
return (index.h("vega-flex", { style: { width: '100%' }, gap: "size-8", alignItems: "center", justifyContent: "end" },
|
|
6436
|
+
index.h("vega-button", { variant: "secondary", label: this.translationSlimmer.t('Cancel'), ref: this.handleCancelButtonRef }),
|
|
6437
|
+
index.h("vega-button", { label: this.translationSlimmer.t('Submit'), disabled: this.linkEditorStateManager.getIsSubmitDisabled(), ref: this.handleSubmitButtonRef })));
|
|
6438
|
+
}
|
|
6439
|
+
}
|
|
6440
|
+
__decorate$3([
|
|
5574
6441
|
globalSlimmerRegistry.MapToComponentField()
|
|
5575
6442
|
], VegaRichTextLinkEditorRenderer.prototype, "host", void 0);
|
|
5576
|
-
__decorate$
|
|
5577
|
-
globalSlimmerRegistry.MapToComponentField(
|
|
6443
|
+
__decorate$3([
|
|
6444
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
5578
6445
|
], VegaRichTextLinkEditorRenderer.prototype, "status", void 0);
|
|
5579
|
-
__decorate$
|
|
6446
|
+
__decorate$3([
|
|
6447
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
6448
|
+
], VegaRichTextLinkEditorRenderer.prototype, "translationSlimmer", void 0);
|
|
6449
|
+
__decorate$3([
|
|
6450
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
6451
|
+
], VegaRichTextLinkEditorRenderer.prototype, "linkEditorController", void 0);
|
|
6452
|
+
__decorate$3([
|
|
6453
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
6454
|
+
], VegaRichTextLinkEditorRenderer.prototype, "linkTypeConfigController", void 0);
|
|
6455
|
+
__decorate$3([
|
|
6456
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
6457
|
+
], VegaRichTextLinkEditorRenderer.prototype, "linkEditorStateManager", void 0);
|
|
6458
|
+
|
|
6459
|
+
const urlLinkTypeHandler = {
|
|
6460
|
+
key: 'url',
|
|
6461
|
+
defaultFallbackProtocol: undefined,
|
|
6462
|
+
/** @inheritDoc */
|
|
6463
|
+
getRequiredValue: (record) => { var _a; return (_a = record === null || record === void 0 ? void 0 : record.url) !== null && _a !== void 0 ? _a : ''; },
|
|
6464
|
+
/** @inheritDoc */
|
|
6465
|
+
getTextValue: (formValues) => formValues.text || '',
|
|
6466
|
+
/** @inheritDoc */
|
|
6467
|
+
getFallbackText: () => '',
|
|
6468
|
+
/** @inheritDoc */
|
|
6469
|
+
buildFinalUrl: (formValues, { normalizeUrl }) => normalizeUrl(formValues.url || ''),
|
|
6470
|
+
/** @inheritDoc */
|
|
6471
|
+
getInitialFormValues: (record, { normalizeUrl }) => {
|
|
6472
|
+
var _a, _b;
|
|
6473
|
+
return ({
|
|
6474
|
+
text: (_a = record === null || record === void 0 ? void 0 : record.text) !== null && _a !== void 0 ? _a : '',
|
|
6475
|
+
url: normalizeUrl((_b = record === null || record === void 0 ? void 0 : record.url) !== null && _b !== void 0 ? _b : ''),
|
|
6476
|
+
});
|
|
6477
|
+
},
|
|
6478
|
+
};
|
|
6479
|
+
const emailLinkTypeHandler = {
|
|
6480
|
+
key: 'email',
|
|
6481
|
+
defaultFallbackProtocol: 'mailto:',
|
|
6482
|
+
/** @inheritDoc */
|
|
6483
|
+
getRequiredValue: (record, { parseMailtoUrl }) => {
|
|
6484
|
+
var _a;
|
|
6485
|
+
const { emailAddress } = parseMailtoUrl((_a = record === null || record === void 0 ? void 0 : record.url) !== null && _a !== void 0 ? _a : '');
|
|
6486
|
+
return emailAddress;
|
|
6487
|
+
},
|
|
6488
|
+
/** @inheritDoc */
|
|
6489
|
+
getTextValue: (formValues) => formValues.text || '',
|
|
6490
|
+
/** @inheritDoc */
|
|
6491
|
+
getFallbackText: (formValues) => formValues.emailAddress || '',
|
|
6492
|
+
/** @inheritDoc */
|
|
6493
|
+
buildFinalUrl: (formValues, { buildEmailUrl }) => buildEmailUrl(formValues.emailAddress || '', formValues.messageSubject || '', formValues.messageBody || ''),
|
|
6494
|
+
/** @inheritDoc */
|
|
6495
|
+
getInitialFormValues: (record, { parseMailtoUrl }) => {
|
|
6496
|
+
var _a, _b;
|
|
6497
|
+
const { emailAddress, subject, body } = parseMailtoUrl((_a = record === null || record === void 0 ? void 0 : record.url) !== null && _a !== void 0 ? _a : '');
|
|
6498
|
+
return {
|
|
6499
|
+
text: (_b = record === null || record === void 0 ? void 0 : record.text) !== null && _b !== void 0 ? _b : '',
|
|
6500
|
+
emailAddress,
|
|
6501
|
+
messageSubject: subject,
|
|
6502
|
+
messageBody: body,
|
|
6503
|
+
};
|
|
6504
|
+
},
|
|
6505
|
+
};
|
|
6506
|
+
const LINK_TYPE_HANDLERS = [urlLinkTypeHandler, emailLinkTypeHandler];
|
|
6507
|
+
const LINK_TYPE_HANDLER_MAP = new Map(LINK_TYPE_HANDLERS.map((handler) => [handler.key, handler]));
|
|
6508
|
+
|
|
6509
|
+
/**
|
|
6510
|
+
* Normalizes link URLs and mailto values for the link editor.
|
|
6511
|
+
*/
|
|
6512
|
+
class LinkUrlNormalizer {
|
|
6513
|
+
/**
|
|
6514
|
+
* Normalizes a URL with the provided default protocol.
|
|
6515
|
+
*
|
|
6516
|
+
* @param {string} url - URL to normalize.
|
|
6517
|
+
* @param {string} defaultProtocol - Default protocol to apply.
|
|
6518
|
+
* @returns {string} The normalized URL.
|
|
6519
|
+
*/
|
|
6520
|
+
normalizeUrlByDefaultProtocol(url, defaultProtocol) {
|
|
6521
|
+
return imageAnnotationAction.normalizeUrlByDefaultProtocol(url, defaultProtocol);
|
|
6522
|
+
}
|
|
6523
|
+
/**
|
|
6524
|
+
* Parses a mailto URL into its structured parts.
|
|
6525
|
+
*
|
|
6526
|
+
* @param {string} url - Mailto URL to parse.
|
|
6527
|
+
* @returns {MailtoUrlParts} The parsed mailto parts.
|
|
6528
|
+
*/
|
|
6529
|
+
parseMailtoUrl(url) {
|
|
6530
|
+
var _a, _b;
|
|
6531
|
+
if (!url) {
|
|
6532
|
+
return { emailAddress: '', subject: '', body: '' };
|
|
6533
|
+
}
|
|
6534
|
+
const withoutProtocol = url.startsWith('mailto:') ? url.slice('mailto:'.length) : url;
|
|
6535
|
+
const questionIndex = withoutProtocol.indexOf('?');
|
|
6536
|
+
if (questionIndex === -1) {
|
|
6537
|
+
return {
|
|
6538
|
+
emailAddress: this.decodeURIComponentSafely(withoutProtocol),
|
|
6539
|
+
subject: '',
|
|
6540
|
+
body: '',
|
|
6541
|
+
};
|
|
6542
|
+
}
|
|
6543
|
+
const emailAddress = this.decodeURIComponentSafely(withoutProtocol.slice(0, questionIndex));
|
|
6544
|
+
const params = new URLSearchParams(withoutProtocol.slice(questionIndex + 1));
|
|
6545
|
+
return {
|
|
6546
|
+
emailAddress,
|
|
6547
|
+
subject: (_a = params.get('subject')) !== null && _a !== void 0 ? _a : '',
|
|
6548
|
+
body: (_b = params.get('body')) !== null && _b !== void 0 ? _b : '',
|
|
6549
|
+
};
|
|
6550
|
+
}
|
|
6551
|
+
/**
|
|
6552
|
+
* Builds a mailto URL from the provided fields.
|
|
6553
|
+
*
|
|
6554
|
+
* @param {string} emailAddress - Email address value.
|
|
6555
|
+
* @param {string} subject - Subject value.
|
|
6556
|
+
* @param {string} body - Body value.
|
|
6557
|
+
* @returns {string} The generated mailto URL.
|
|
6558
|
+
*/
|
|
6559
|
+
buildEmailLinkUrl(emailAddress, subject, body) {
|
|
6560
|
+
const normalizedEmailAddress = (emailAddress || '').trim().replace(/^(mailto:)+/i, '');
|
|
6561
|
+
if (normalizedEmailAddress.length === 0) {
|
|
6562
|
+
return '';
|
|
6563
|
+
}
|
|
6564
|
+
const queryParams = [];
|
|
6565
|
+
if ((subject || '').trim().length > 0) {
|
|
6566
|
+
queryParams.push(`subject=${encodeURIComponent(subject.trim())}`);
|
|
6567
|
+
}
|
|
6568
|
+
if ((body || '').trim().length > 0) {
|
|
6569
|
+
queryParams.push(`body=${encodeURIComponent(body.trim())}`);
|
|
6570
|
+
}
|
|
6571
|
+
return `mailto:${normalizedEmailAddress}${queryParams.length > 0 ? `?${queryParams.join('&')}` : ''}`;
|
|
6572
|
+
}
|
|
6573
|
+
/**
|
|
6574
|
+
* Decodes a URI component without throwing on malformed input.
|
|
6575
|
+
*
|
|
6576
|
+
* @param {string} value - Encoded value.
|
|
6577
|
+
* @returns {string} The decoded value.
|
|
6578
|
+
*/
|
|
6579
|
+
decodeURIComponentSafely(value) {
|
|
6580
|
+
try {
|
|
6581
|
+
return decodeURIComponent(value);
|
|
6582
|
+
}
|
|
6583
|
+
catch (_a) {
|
|
6584
|
+
return value;
|
|
6585
|
+
}
|
|
6586
|
+
}
|
|
6587
|
+
}
|
|
6588
|
+
|
|
6589
|
+
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
6590
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6591
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6592
|
+
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;
|
|
6593
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6594
|
+
};
|
|
6595
|
+
/**
|
|
6596
|
+
* Coordinates link editor state, popover behavior, and submit actions.
|
|
6597
|
+
*/
|
|
6598
|
+
class LinkEditorController extends globalSlimmerRegistry.VegaSlimmer {
|
|
6599
|
+
constructor() {
|
|
6600
|
+
super(...arguments);
|
|
6601
|
+
this.linkUrlNormalizer = new LinkUrlNormalizer();
|
|
6602
|
+
this.linkTypeHandlers = LINK_TYPE_HANDLER_MAP;
|
|
6603
|
+
}
|
|
6604
|
+
/** Initializes the popover target after the component loads. */
|
|
6605
|
+
componentDidLoad() {
|
|
6606
|
+
this.updatePopoverTarget();
|
|
6607
|
+
}
|
|
6608
|
+
/** Notifies observers after each render cycle. */
|
|
6609
|
+
componentDidRender() {
|
|
6610
|
+
changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalComponentDidRender), {});
|
|
6611
|
+
}
|
|
6612
|
+
/** Focuses the URL input when the status changes to linkEdit. */
|
|
6613
|
+
watchStatusChange() {
|
|
6614
|
+
if (this.status === 'linkEdit') {
|
|
6615
|
+
setTimeout(() => {
|
|
6616
|
+
var _a;
|
|
6617
|
+
void ((_a = this.renderer.getUrlInputRef()) === null || _a === void 0 ? void 0 : _a.doFocus());
|
|
6618
|
+
});
|
|
6619
|
+
}
|
|
6620
|
+
}
|
|
6621
|
+
/** Invalidates link type cache and updates the popover target when the target changes. */
|
|
6622
|
+
watchTargetChange() {
|
|
6623
|
+
this.linkTypeConfigController.invalidateConfiguredLinkTypesCache();
|
|
6624
|
+
this.updatePopoverTarget();
|
|
6625
|
+
}
|
|
6626
|
+
/**
|
|
6627
|
+
* Prepares the editor state before the popover is shown.
|
|
6628
|
+
*
|
|
6629
|
+
* @returns {Promise<void>} Resolves when the popover show work completes.
|
|
6630
|
+
* Resolves when the popover show work completes.
|
|
6631
|
+
*/
|
|
6632
|
+
async handlePopoverShow() {
|
|
6633
|
+
var _a, _b, _c, _d;
|
|
6634
|
+
this.linkTypeConfigController.invalidateConfiguredLinkTypesCache();
|
|
6635
|
+
this.linkEditorStateManager.clearFormValues();
|
|
6636
|
+
if (this.linkEditorStateManager.getShouldResetStatusOnNextShow()) {
|
|
6637
|
+
this.linkEditorStateManager.setShouldResetStatusOnNextShow(false);
|
|
6638
|
+
if (this.status !== 'editOrUnlinkSelection') {
|
|
6639
|
+
this.status = 'editOrUnlinkSelection';
|
|
6640
|
+
index.forceUpdate(this.host);
|
|
6641
|
+
await this.waitForRender();
|
|
6642
|
+
}
|
|
6643
|
+
}
|
|
6644
|
+
if (this.status === 'linkEdit') {
|
|
6645
|
+
const resolvedKey = this.linkTypeConfigController.resolveInitialLinkTypeKey((_a = this.record) === null || _a === void 0 ? void 0 : _a.linkType, (_b = this.record) === null || _b === void 0 ? void 0 : _b.url);
|
|
6646
|
+
if (resolvedKey !== this.linkEditorStateManager.getSelectedLinkTypeKey()) {
|
|
6647
|
+
this.linkEditorStateManager.setSelectedLinkTypeKey(resolvedKey);
|
|
6648
|
+
this.linkEditorStateManager.setSubmitDisabled(true);
|
|
6649
|
+
await ((_d = (_c = this.renderer.getFormRef()) === null || _c === void 0 ? void 0 : _c.reset) === null || _d === void 0 ? void 0 : _d.call(_c));
|
|
6650
|
+
index.forceUpdate(this.host);
|
|
6651
|
+
await this.waitForRender();
|
|
6652
|
+
}
|
|
6653
|
+
await this.populateEditForm();
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
/**
|
|
6657
|
+
* Clears form state after the popover hides.
|
|
6658
|
+
*
|
|
6659
|
+
* @returns {void} No return value.
|
|
6660
|
+
*/
|
|
6661
|
+
handlePopoverHide() {
|
|
6662
|
+
var _a, _b;
|
|
6663
|
+
void ((_b = (_a = this.renderer.getFormRef()) === null || _a === void 0 ? void 0 : _a.reset) === null || _b === void 0 ? void 0 : _b.call(_a));
|
|
6664
|
+
this.linkEditorStateManager.clearFormValues();
|
|
6665
|
+
if (this.linkTypeConfigController.hasConfiguredLinkTypes()) {
|
|
6666
|
+
this.updateSubmitDisabledState('');
|
|
6667
|
+
}
|
|
6668
|
+
if (this.resetStatusAfterHide) {
|
|
6669
|
+
this.linkEditorStateManager.setShouldResetStatusOnNextShow(true);
|
|
6670
|
+
}
|
|
6671
|
+
}
|
|
6672
|
+
/**
|
|
6673
|
+
* Switches the editor into link edit mode.
|
|
6674
|
+
*
|
|
6675
|
+
* @returns {void} No return value.
|
|
6676
|
+
*/
|
|
6677
|
+
handleEditAction() {
|
|
6678
|
+
var _a, _b;
|
|
6679
|
+
this.linkEditorStateManager.setSelectedLinkTypeKey(this.linkTypeConfigController.resolveInitialLinkTypeKey((_a = this.record) === null || _a === void 0 ? void 0 : _a.linkType, (_b = this.record) === null || _b === void 0 ? void 0 : _b.url));
|
|
6680
|
+
this.status = 'linkEdit';
|
|
6681
|
+
index.forceUpdate(this.host);
|
|
6682
|
+
void this.waitForRender().then(() => this.populateEditForm());
|
|
6683
|
+
}
|
|
6684
|
+
/**
|
|
6685
|
+
* Removes the current selection link and closes the popover.
|
|
6686
|
+
*
|
|
6687
|
+
* @returns {Promise<void>} Resolves when unlinking finishes.
|
|
6688
|
+
*/
|
|
6689
|
+
async handleUnlinkAction() {
|
|
6690
|
+
this.changeEventEmitter.emit({ action: 'unlink' });
|
|
6691
|
+
await this.renderer.getPopoverRef().hide();
|
|
6692
|
+
}
|
|
6693
|
+
/**
|
|
6694
|
+
* Updates submit state from URL input changes.
|
|
6695
|
+
*
|
|
6696
|
+
* @param {CustomEvent<string>} e - URL input change event.
|
|
6697
|
+
* @returns {void} No return value.
|
|
6698
|
+
*/
|
|
6699
|
+
handleUrlVegaChange(e) {
|
|
6700
|
+
if (this.linkTypeConfigController.hasConfiguredLinkTypes()) {
|
|
6701
|
+
this.updateSubmitDisabledState(e.detail);
|
|
6702
|
+
}
|
|
6703
|
+
}
|
|
6704
|
+
/**
|
|
6705
|
+
* Submits the current link when Enter is pressed or hides the popover when Escape is pressed.
|
|
6706
|
+
*
|
|
6707
|
+
* @param {KeyboardEvent} e - Key down event.
|
|
6708
|
+
* @returns {void} No return value.
|
|
6709
|
+
*/
|
|
6710
|
+
handleKeyDown(e) {
|
|
6711
|
+
if (e.key === 'Escape') {
|
|
6712
|
+
void this.renderer.getPopoverRef().hide();
|
|
6713
|
+
return;
|
|
6714
|
+
}
|
|
6715
|
+
if (e.key === 'Enter') {
|
|
6716
|
+
if (this.linkTypeConfigController.hasConfiguredLinkTypes() &&
|
|
6717
|
+
this.linkEditorStateManager.getIsSubmitDisabled()) {
|
|
6718
|
+
return;
|
|
6719
|
+
}
|
|
6720
|
+
void this.submitLink();
|
|
6721
|
+
}
|
|
6722
|
+
}
|
|
6723
|
+
/**
|
|
6724
|
+
* Switches the active form when the link type changes.
|
|
6725
|
+
*
|
|
6726
|
+
* @param {NotifyObserverPayload<string>} payload - Selected link type change payload.
|
|
6727
|
+
* @returns {Promise<void>} Resolves when the link type switch completes.
|
|
6728
|
+
*/
|
|
6729
|
+
async handleLinkTypeChange(payload) {
|
|
6730
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
6731
|
+
const previousLinkTypeKey = this.linkEditorStateManager.getSelectedLinkTypeKey();
|
|
6732
|
+
const nextLinkTypeKey = payload.detail ||
|
|
6733
|
+
((_a = this.linkTypeConfigController.getConfiguredLinkTypes()[0]) === null || _a === void 0 ? void 0 : _a.key) ||
|
|
6734
|
+
codeBlock.RTE_DEFAULT_LINK_TYPE_KEY;
|
|
6735
|
+
if (previousLinkTypeKey === nextLinkTypeKey) {
|
|
6736
|
+
return;
|
|
6737
|
+
}
|
|
6738
|
+
const currentFormValues = (_d = (await ((_c = (_b = this.renderer.getFormRef()) === null || _b === void 0 ? void 0 : _b.getValue) === null || _c === void 0 ? void 0 : _c.call(_b)))) !== null && _d !== void 0 ? _d : {};
|
|
6739
|
+
const currentSharedTextValue = (_e = currentFormValues.text) !== null && _e !== void 0 ? _e : this.linkEditorStateManager.getSharedTextValue();
|
|
6740
|
+
this.linkEditorStateManager.setSharedTextValue(currentSharedTextValue);
|
|
6741
|
+
const currentTypeValues = Object.assign({}, currentFormValues);
|
|
6742
|
+
delete currentTypeValues.text;
|
|
6743
|
+
const hasAnyValue = Object.values(currentTypeValues).some((value) => value);
|
|
6744
|
+
if (hasAnyValue) {
|
|
6745
|
+
this.linkEditorStateManager.cacheFormValues(previousLinkTypeKey, currentTypeValues);
|
|
6746
|
+
}
|
|
6747
|
+
const savedValues = this.linkEditorStateManager.getCachedFormValues(nextLinkTypeKey);
|
|
6748
|
+
this.linkEditorStateManager.setSelectedLinkTypeKey(nextLinkTypeKey);
|
|
6749
|
+
this.linkEditorStateManager.setSubmitDisabled(true);
|
|
6750
|
+
index.forceUpdate(this.host);
|
|
6751
|
+
if (savedValues && ((_f = this.renderer.getFormRef()) === null || _f === void 0 ? void 0 : _f.setValue)) {
|
|
6752
|
+
void this.waitForRender().then(() => this.performFormRestore(Object.assign(Object.assign({}, savedValues), { text: this.linkEditorStateManager.getSharedTextValue() })));
|
|
6753
|
+
return;
|
|
6754
|
+
}
|
|
6755
|
+
await ((_h = (_g = this.renderer.getFormRef()) === null || _g === void 0 ? void 0 : _g.reset) === null || _h === void 0 ? void 0 : _h.call(_g));
|
|
6756
|
+
void this.waitForRender().then(() => { var _a; return (_a = this.renderer.getUrlInputRef()) === null || _a === void 0 ? void 0 : _a.doFocus(); });
|
|
6757
|
+
const sharedTextValue = this.linkEditorStateManager.getSharedTextValue();
|
|
6758
|
+
await ((_k = (_j = this.renderer.getFormRef()) === null || _j === void 0 ? void 0 : _j.setValue) === null || _k === void 0 ? void 0 : _k.call(_j, { text: sharedTextValue }));
|
|
6759
|
+
this.syncTextInputValue(sharedTextValue);
|
|
6760
|
+
}
|
|
6761
|
+
/**
|
|
6762
|
+
* Builds and emits the final link payload.
|
|
6763
|
+
*
|
|
6764
|
+
* @returns {Promise<void>} Resolves when the link submit flow completes.
|
|
6765
|
+
*/
|
|
6766
|
+
async submitLink() {
|
|
6767
|
+
var _a, _b, _c, _d;
|
|
6768
|
+
const formValues = (_c = (await ((_b = (_a = this.renderer.getFormRef()) === null || _a === void 0 ? void 0 : _a.getValue) === null || _b === void 0 ? void 0 : _b.call(_a)))) !== null && _c !== void 0 ? _c : {};
|
|
6769
|
+
const selectedLinkTypeKey = this.linkEditorStateManager.getSelectedLinkTypeKey();
|
|
6770
|
+
const handler = this.linkTypeHandlers.get(selectedLinkTypeKey);
|
|
6771
|
+
if (!handler) {
|
|
6772
|
+
return;
|
|
6773
|
+
}
|
|
6774
|
+
const deps = {
|
|
6775
|
+
normalizeUrl: this.normalizeUrlByDefaultProtocol.bind(this),
|
|
6776
|
+
buildEmailUrl: this.buildEmailLinkUrl.bind(this),
|
|
6777
|
+
};
|
|
6778
|
+
const text = handler.getTextValue(formValues);
|
|
6779
|
+
let normalizedUrl = handler.buildFinalUrl(formValues, deps);
|
|
6780
|
+
normalizedUrl = this.preserveExistingMailtoUrlIfUnchanged(formValues, normalizedUrl);
|
|
6781
|
+
if (normalizedUrl.length === 0) {
|
|
6782
|
+
if ((_d = this.record) === null || _d === void 0 ? void 0 : _d.url) {
|
|
6783
|
+
this.changeEventEmitter.emit({ action: 'unlink' });
|
|
6784
|
+
await this.renderer.getPopoverRef().hide();
|
|
6785
|
+
}
|
|
6786
|
+
return;
|
|
6787
|
+
}
|
|
6788
|
+
if (normalizedUrl.length > 0) {
|
|
6789
|
+
this.changeEventEmitter.emit({
|
|
6790
|
+
action: 'link',
|
|
6791
|
+
payload: Object.assign({ text: text || handler.getFallbackText(formValues) || normalizedUrl, url: normalizedUrl }, (this.linkTypeConfigController.hasConfiguredLinkTypes()
|
|
6792
|
+
? { linkType: selectedLinkTypeKey }
|
|
6793
|
+
: {})),
|
|
6794
|
+
});
|
|
6795
|
+
await this.renderer.getPopoverRef().hide();
|
|
6796
|
+
}
|
|
6797
|
+
}
|
|
6798
|
+
/**
|
|
6799
|
+
* Populates the edit form from the active record.
|
|
6800
|
+
*
|
|
6801
|
+
* @returns {Promise<void>} Resolves when the edit form is populated.
|
|
6802
|
+
*/
|
|
6803
|
+
async populateEditForm() {
|
|
6804
|
+
var _a, _b, _c, _d, _e;
|
|
6805
|
+
const handler = this.linkTypeHandlers.get(this.linkEditorStateManager.getSelectedLinkTypeKey());
|
|
6806
|
+
if (!handler) {
|
|
6807
|
+
return;
|
|
6808
|
+
}
|
|
6809
|
+
const deps = {
|
|
6810
|
+
parseMailtoUrl: this.parseMailtoUrl.bind(this),
|
|
6811
|
+
normalizeUrl: this.normalizeUrlByDefaultProtocol.bind(this),
|
|
6812
|
+
};
|
|
6813
|
+
const requiredValue = this.linkTypeConfigController.hasConfiguredLinkTypes()
|
|
6814
|
+
? handler.getRequiredValue(this.record, deps)
|
|
6815
|
+
: '';
|
|
6816
|
+
const initialFormValues = handler.getInitialFormValues(this.record, deps);
|
|
6817
|
+
this.linkEditorStateManager.setSharedTextValue(initialFormValues.text || '');
|
|
6818
|
+
await ((_b = (_a = this.renderer.getFormRef()) === null || _a === void 0 ? void 0 : _a.setValue) === null || _b === void 0 ? void 0 : _b.call(_a, initialFormValues));
|
|
6819
|
+
this.syncTextInputValue(initialFormValues.text || '');
|
|
6820
|
+
this.updateSubmitDisabledState(requiredValue);
|
|
6821
|
+
await ((_d = (_c = this.renderer.getFormRef()) === null || _c === void 0 ? void 0 : _c.setValue) === null || _d === void 0 ? void 0 : _d.call(_c, handler.getInitialFormValues(this.record, deps)));
|
|
6822
|
+
await ((_e = this.renderer.getUrlInputRef()) === null || _e === void 0 ? void 0 : _e.doFocus());
|
|
6823
|
+
}
|
|
6824
|
+
/**
|
|
6825
|
+
* Updates the popover target via the remote invocation registry.
|
|
6826
|
+
*
|
|
6827
|
+
* @returns {void} No return value.
|
|
6828
|
+
*/
|
|
6829
|
+
updatePopoverTarget() {
|
|
6830
|
+
remoteInvocationRegistry.remoteInvocationRegistry.call(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.renderer.getPopoverRef(), vegaInternalEventId.VegaInternalPopoverUpdateTarget), this.target);
|
|
6831
|
+
}
|
|
6832
|
+
/**
|
|
6833
|
+
* Preserves an unchanged mailto URL when the form edits are equivalent.
|
|
6834
|
+
*
|
|
6835
|
+
* @param {Record<string, string>} formValues - Current form values.
|
|
6836
|
+
* @param {string} normalizedUrl - Normalized URL candidate.
|
|
6837
|
+
* @returns {string} The preserved or normalized URL.
|
|
6838
|
+
*/
|
|
6839
|
+
preserveExistingMailtoUrlIfUnchanged(formValues, normalizedUrl) {
|
|
6840
|
+
var _a;
|
|
6841
|
+
if (this.linkEditorStateManager.getSelectedLinkTypeKey() !== codeBlock.RTE_EMAIL_LINK_TYPE_KEY ||
|
|
6842
|
+
!((_a = this.record) === null || _a === void 0 ? void 0 : _a.url)) {
|
|
6843
|
+
return normalizedUrl;
|
|
6844
|
+
}
|
|
6845
|
+
const existingUrl = this.record.url;
|
|
6846
|
+
if (!existingUrl.startsWith('mailto:')) {
|
|
6847
|
+
return normalizedUrl;
|
|
6848
|
+
}
|
|
6849
|
+
const existingMailto = this.parseMailtoUrl(existingUrl);
|
|
6850
|
+
const nextEmailAddress = (formValues.emailAddress || '').trim();
|
|
6851
|
+
const nextSubject = (formValues.messageSubject || '').trim();
|
|
6852
|
+
const nextBody = (formValues.messageBody || '').trim();
|
|
6853
|
+
if (nextEmailAddress === existingMailto.emailAddress &&
|
|
6854
|
+
nextSubject === existingMailto.subject &&
|
|
6855
|
+
nextBody === existingMailto.body) {
|
|
6856
|
+
return existingUrl;
|
|
6857
|
+
}
|
|
6858
|
+
return normalizedUrl;
|
|
6859
|
+
}
|
|
6860
|
+
/**
|
|
6861
|
+
* Normalizes a URL using the currently selected link type protocol.
|
|
6862
|
+
*
|
|
6863
|
+
* @param {string} url - URL to normalize.
|
|
6864
|
+
* @returns {string} The normalized URL.
|
|
6865
|
+
*/
|
|
6866
|
+
normalizeUrlByDefaultProtocol(url) {
|
|
6867
|
+
return this.linkUrlNormalizer.normalizeUrlByDefaultProtocol(url, this.linkTypeConfigController.getDefaultProtocolForLinkType(this.linkEditorStateManager.getSelectedLinkTypeKey()));
|
|
6868
|
+
}
|
|
6869
|
+
/**
|
|
6870
|
+
* Parses a mailto URL into structured parts.
|
|
6871
|
+
*
|
|
6872
|
+
* @param {string} url - Mailto URL to parse.
|
|
6873
|
+
* @returns {MailtoUrlParts} The parsed mailto parts.
|
|
6874
|
+
*/
|
|
6875
|
+
parseMailtoUrl(url) {
|
|
6876
|
+
return this.linkUrlNormalizer.parseMailtoUrl(url);
|
|
6877
|
+
}
|
|
6878
|
+
/**
|
|
6879
|
+
* Builds a mailto URL from the email form fields.
|
|
6880
|
+
*
|
|
6881
|
+
* @param {string} emailAddress - Email address value.
|
|
6882
|
+
* @param {string} subject - Subject value.
|
|
6883
|
+
* @param {string} body - Body value.
|
|
6884
|
+
* @returns {string} The generated mailto URL.
|
|
6885
|
+
*/
|
|
6886
|
+
buildEmailLinkUrl(emailAddress, subject, body) {
|
|
6887
|
+
return this.linkUrlNormalizer.buildEmailLinkUrl(emailAddress, subject, body);
|
|
6888
|
+
}
|
|
6889
|
+
/**
|
|
6890
|
+
* Enables or disables submit based on the normalized URL value.
|
|
6891
|
+
*
|
|
6892
|
+
* @param {string} url - URL value to evaluate.
|
|
6893
|
+
* @returns {void} No return value.
|
|
6894
|
+
*/
|
|
6895
|
+
updateSubmitDisabledState(url) {
|
|
6896
|
+
const nextDisabled = this.normalizeUrlByDefaultProtocol(url).length === 0;
|
|
6897
|
+
if (this.linkEditorStateManager.getIsSubmitDisabled() !== nextDisabled) {
|
|
6898
|
+
this.linkEditorStateManager.setSubmitDisabled(nextDisabled);
|
|
6899
|
+
index.forceUpdate(this.host);
|
|
6900
|
+
}
|
|
6901
|
+
}
|
|
6902
|
+
/**
|
|
6903
|
+
* Restores cached form values after the next render.
|
|
6904
|
+
*
|
|
6905
|
+
* @param {Record<string, string>} savedValues - Link type-specific values to restore.
|
|
6906
|
+
* @returns {Promise<void>} Resolves after restoring cached values.
|
|
6907
|
+
*/
|
|
6908
|
+
async performFormRestore(savedValues) {
|
|
6909
|
+
var _a, _b, _c, _d, _e;
|
|
6910
|
+
await ((_b = (_a = this.renderer.getFormRef()) === null || _a === void 0 ? void 0 : _a.reset) === null || _b === void 0 ? void 0 : _b.call(_a));
|
|
6911
|
+
await ((_d = (_c = this.renderer.getFormRef()) === null || _c === void 0 ? void 0 : _c.setValue) === null || _d === void 0 ? void 0 : _d.call(_c, savedValues));
|
|
6912
|
+
this.syncTextInputValue(savedValues.text || '');
|
|
6913
|
+
const restoredRequiredValue = savedValues.url || savedValues.emailAddress || '';
|
|
6914
|
+
this.updateSubmitDisabledState(restoredRequiredValue);
|
|
6915
|
+
await ((_e = this.renderer.getUrlInputRef()) === null || _e === void 0 ? void 0 : _e.doFocus());
|
|
6916
|
+
}
|
|
6917
|
+
/**
|
|
6918
|
+
* Keeps text input UI in sync as a fallback when form setValue timing misses visual update.
|
|
6919
|
+
*
|
|
6920
|
+
* @param {string} textValue - Text value to display.
|
|
6921
|
+
* @returns {void} No return value.
|
|
6922
|
+
*/
|
|
6923
|
+
syncTextInputValue(textValue) {
|
|
6924
|
+
const textInput = this.renderer.getTextInputRef();
|
|
6925
|
+
if (textInput) {
|
|
6926
|
+
textInput.value = textValue;
|
|
6927
|
+
}
|
|
6928
|
+
}
|
|
6929
|
+
/**
|
|
6930
|
+
* Waits for the host to finish rendering.
|
|
6931
|
+
*
|
|
6932
|
+
* @returns {Promise<unknown>} A promise that resolves after the host renders.
|
|
6933
|
+
*/
|
|
6934
|
+
waitForRender() {
|
|
6935
|
+
return waitForComponentDidRender.waitForComponentDidRender(this.host);
|
|
6936
|
+
}
|
|
6937
|
+
}
|
|
6938
|
+
__decorate$2([
|
|
6939
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
6940
|
+
], LinkEditorController.prototype, "host", void 0);
|
|
6941
|
+
__decorate$2([
|
|
5580
6942
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
5581
|
-
],
|
|
5582
|
-
__decorate$
|
|
6943
|
+
], LinkEditorController.prototype, "status", void 0);
|
|
6944
|
+
__decorate$2([
|
|
5583
6945
|
globalSlimmerRegistry.MapToComponentField()
|
|
5584
|
-
],
|
|
5585
|
-
__decorate$
|
|
6946
|
+
], LinkEditorController.prototype, "record", void 0);
|
|
6947
|
+
__decorate$2([
|
|
5586
6948
|
globalSlimmerRegistry.MapToComponentField()
|
|
5587
|
-
],
|
|
5588
|
-
__decorate$
|
|
6949
|
+
], LinkEditorController.prototype, "changeEventEmitter", void 0);
|
|
6950
|
+
__decorate$2([
|
|
5589
6951
|
globalSlimmerRegistry.MapToComponentField()
|
|
5590
|
-
],
|
|
5591
|
-
__decorate$
|
|
6952
|
+
], LinkEditorController.prototype, "resetStatusAfterHide", void 0);
|
|
6953
|
+
__decorate$2([
|
|
5592
6954
|
globalSlimmerRegistry.MapToComponentField()
|
|
5593
|
-
],
|
|
5594
|
-
__decorate$
|
|
6955
|
+
], LinkEditorController.prototype, "target", void 0);
|
|
6956
|
+
__decorate$2([
|
|
6957
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
6958
|
+
], LinkEditorController.prototype, "renderer", void 0);
|
|
6959
|
+
__decorate$2([
|
|
6960
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
6961
|
+
], LinkEditorController.prototype, "linkTypeConfigController", void 0);
|
|
6962
|
+
__decorate$2([
|
|
6963
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
6964
|
+
], LinkEditorController.prototype, "linkEditorStateManager", void 0);
|
|
6965
|
+
__decorate$2([
|
|
5595
6966
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
5596
|
-
],
|
|
5597
|
-
__decorate$
|
|
6967
|
+
], LinkEditorController.prototype, "componentDidLoad", null);
|
|
6968
|
+
__decorate$2([
|
|
5598
6969
|
globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
|
|
5599
|
-
],
|
|
5600
|
-
__decorate$
|
|
6970
|
+
], LinkEditorController.prototype, "componentDidRender", null);
|
|
6971
|
+
__decorate$2([
|
|
5601
6972
|
globalSlimmerRegistry.MapToComponentMethod('watchStatusChange')
|
|
5602
|
-
],
|
|
5603
|
-
__decorate$
|
|
6973
|
+
], LinkEditorController.prototype, "watchStatusChange", null);
|
|
6974
|
+
__decorate$2([
|
|
5604
6975
|
globalSlimmerRegistry.MapToComponentMethod('watchTargetChange')
|
|
5605
|
-
],
|
|
6976
|
+
], LinkEditorController.prototype, "watchTargetChange", null);
|
|
6977
|
+
|
|
6978
|
+
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
6979
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6980
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6981
|
+
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;
|
|
6982
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6983
|
+
};
|
|
6984
|
+
/**
|
|
6985
|
+
* Resolves configured link types and their defaults.
|
|
6986
|
+
*/
|
|
6987
|
+
class LinkTypeConfigController extends globalSlimmerRegistry.VegaSlimmer {
|
|
6988
|
+
constructor() {
|
|
6989
|
+
super(...arguments);
|
|
6990
|
+
this.configuredLinkTypesCache = null;
|
|
6991
|
+
this.linkTypeHandlers = LINK_TYPE_HANDLER_MAP;
|
|
6992
|
+
}
|
|
6993
|
+
/**
|
|
6994
|
+
* Returns the configured link types, using a cache when available.
|
|
6995
|
+
*
|
|
6996
|
+
* @returns {VegaRTELinkType[]} The configured link types.
|
|
6997
|
+
*/
|
|
6998
|
+
getConfiguredLinkTypes() {
|
|
6999
|
+
if (this.configuredLinkTypesCache) {
|
|
7000
|
+
return this.configuredLinkTypesCache;
|
|
7001
|
+
}
|
|
7002
|
+
const configuredLinkTypes = this.resolveConfiguredLinkTypes();
|
|
7003
|
+
this.configuredLinkTypesCache = configuredLinkTypes;
|
|
7004
|
+
return configuredLinkTypes;
|
|
7005
|
+
}
|
|
7006
|
+
/**
|
|
7007
|
+
* Clears the cached configured link types.
|
|
7008
|
+
*
|
|
7009
|
+
* @returns {void} No return value.
|
|
7010
|
+
*/
|
|
7011
|
+
invalidateConfiguredLinkTypesCache() {
|
|
7012
|
+
this.configuredLinkTypesCache = null;
|
|
7013
|
+
}
|
|
7014
|
+
/**
|
|
7015
|
+
* Resolves the initial link type key for the current record.
|
|
7016
|
+
*
|
|
7017
|
+
* @param {string} recordLinkType - Link type from the active record.
|
|
7018
|
+
* @param {string} recordUrl - URL from the active record.
|
|
7019
|
+
* @returns {string} The resolved initial link type key.
|
|
7020
|
+
*/
|
|
7021
|
+
resolveInitialLinkTypeKey(recordLinkType, recordUrl) {
|
|
7022
|
+
var _a;
|
|
7023
|
+
const configuredLinkTypes = this.getConfiguredLinkTypes();
|
|
7024
|
+
if (recordLinkType &&
|
|
7025
|
+
configuredLinkTypes.some((item) => item.key === recordLinkType)) {
|
|
7026
|
+
return recordLinkType;
|
|
7027
|
+
}
|
|
7028
|
+
const normalizedRecordUrl = (recordUrl || '').trim().toLowerCase();
|
|
7029
|
+
if (normalizedRecordUrl.startsWith('mailto:') &&
|
|
7030
|
+
configuredLinkTypes.some((item) => item.key === codeBlock.RTE_EMAIL_LINK_TYPE_KEY)) {
|
|
7031
|
+
return codeBlock.RTE_EMAIL_LINK_TYPE_KEY;
|
|
7032
|
+
}
|
|
7033
|
+
return ((_a = configuredLinkTypes[0]) === null || _a === void 0 ? void 0 : _a.key) || codeBlock.RTE_DEFAULT_LINK_TYPE_KEY;
|
|
7034
|
+
}
|
|
7035
|
+
/**
|
|
7036
|
+
* Returns whether any configured link types are available.
|
|
7037
|
+
*
|
|
7038
|
+
* @returns {boolean} True when configured link types exist.
|
|
7039
|
+
*/
|
|
7040
|
+
hasConfiguredLinkTypes() {
|
|
7041
|
+
return this.getConfiguredLinkTypes().length > 0;
|
|
7042
|
+
}
|
|
7043
|
+
/**
|
|
7044
|
+
* Returns the default protocol for a given link type key.
|
|
7045
|
+
*
|
|
7046
|
+
* @param {string} selectedLinkTypeKey - Selected link type key.
|
|
7047
|
+
* @returns {string | undefined} The default protocol, if configured.
|
|
7048
|
+
*/
|
|
7049
|
+
getDefaultProtocolForLinkType(selectedLinkTypeKey) {
|
|
7050
|
+
var _a;
|
|
7051
|
+
const linkConfig = this.getLinkConfig();
|
|
7052
|
+
const selectedLinkType = this.getConfiguredLinkTypes().find((item) => item.key === selectedLinkTypeKey);
|
|
7053
|
+
return (_a = selectedLinkType === null || selectedLinkType === void 0 ? void 0 : selectedLinkType.defaultProtocol) !== null && _a !== void 0 ? _a : linkConfig.defaultProtocol;
|
|
7054
|
+
}
|
|
7055
|
+
/**
|
|
7056
|
+
* Returns the active link configuration for the current editor host.
|
|
7057
|
+
*
|
|
7058
|
+
* @returns {VegaRTELinkExtensionConfig} The active link configuration.
|
|
7059
|
+
*/
|
|
7060
|
+
getLinkConfig() {
|
|
7061
|
+
const rteHost = ui.findParent(this.host, 'vega-rich-text-editor');
|
|
7062
|
+
return linkExtension.VegaRTELinkExtension.configStore.get(rteHost) || {};
|
|
7063
|
+
}
|
|
7064
|
+
/**
|
|
7065
|
+
* Normalizes configured link types and filters unsupported entries.
|
|
7066
|
+
*
|
|
7067
|
+
* @returns {VegaRTELinkType[]} The normalized configured link types.
|
|
7068
|
+
*/
|
|
7069
|
+
resolveConfiguredLinkTypes() {
|
|
7070
|
+
const linkConfig = this.getLinkConfig();
|
|
7071
|
+
const configLinkTypes = linkConfig.linkTypes || [];
|
|
7072
|
+
const normalizedByKey = new Map();
|
|
7073
|
+
configLinkTypes.forEach((item) => {
|
|
7074
|
+
const key = item.key.trim();
|
|
7075
|
+
if (!key || !LinkTypeConfigController.SUPPORTED_LINK_TYPE_KEYS.has(key)) {
|
|
7076
|
+
return;
|
|
7077
|
+
}
|
|
7078
|
+
if (!normalizedByKey.has(key)) {
|
|
7079
|
+
normalizedByKey.set(key, this.normalizeSupportedLinkType(item, key, linkConfig.defaultProtocol));
|
|
7080
|
+
}
|
|
7081
|
+
});
|
|
7082
|
+
if (normalizedByKey.size === 0) {
|
|
7083
|
+
return [];
|
|
7084
|
+
}
|
|
7085
|
+
if (normalizedByKey.has(codeBlock.RTE_EMAIL_LINK_TYPE_KEY)) {
|
|
7086
|
+
return [
|
|
7087
|
+
normalizedByKey.get(codeBlock.RTE_DEFAULT_LINK_TYPE_KEY) ||
|
|
7088
|
+
this.createDefaultUrlLinkType(linkConfig.defaultProtocol),
|
|
7089
|
+
normalizedByKey.get(codeBlock.RTE_EMAIL_LINK_TYPE_KEY),
|
|
7090
|
+
];
|
|
7091
|
+
}
|
|
7092
|
+
return [
|
|
7093
|
+
normalizedByKey.get(codeBlock.RTE_DEFAULT_LINK_TYPE_KEY) ||
|
|
7094
|
+
this.createDefaultUrlLinkType(linkConfig.defaultProtocol),
|
|
7095
|
+
];
|
|
7096
|
+
}
|
|
7097
|
+
/**
|
|
7098
|
+
* Creates the default URL link type descriptor.
|
|
7099
|
+
*
|
|
7100
|
+
* @param {string} configDefaultProtocol - Default protocol from config.
|
|
7101
|
+
* @returns {VegaRTELinkType} The default URL link type descriptor.
|
|
7102
|
+
*/
|
|
7103
|
+
createDefaultUrlLinkType(configDefaultProtocol) {
|
|
7104
|
+
const normalizedConfigDefaultProtocol = (configDefaultProtocol || '').trim();
|
|
7105
|
+
return {
|
|
7106
|
+
key: codeBlock.RTE_DEFAULT_LINK_TYPE_KEY,
|
|
7107
|
+
label: this.translationSlimmer.t('URL'),
|
|
7108
|
+
defaultProtocol: normalizedConfigDefaultProtocol || undefined,
|
|
7109
|
+
};
|
|
7110
|
+
}
|
|
7111
|
+
/**
|
|
7112
|
+
* Normalizes a supported link type while preserving its key.
|
|
7113
|
+
*
|
|
7114
|
+
* @param {VegaRTELinkType} item - Raw configured link type.
|
|
7115
|
+
* @param {string} key - Normalized link type key.
|
|
7116
|
+
* @param {string} configDefaultProtocol - Default protocol from config.
|
|
7117
|
+
* @returns {VegaRTELinkType} The normalized link type descriptor.
|
|
7118
|
+
*/
|
|
7119
|
+
normalizeSupportedLinkType(item, key, configDefaultProtocol) {
|
|
7120
|
+
var _a, _b;
|
|
7121
|
+
const normalizedItemDefaultProtocol = (item.defaultProtocol || '').trim();
|
|
7122
|
+
const normalizedConfigDefaultProtocol = (configDefaultProtocol || '').trim();
|
|
7123
|
+
const handler = this.linkTypeHandlers.get(key);
|
|
7124
|
+
const fallbackDefaultProtocol = (_a = handler === null || handler === void 0 ? void 0 : handler.defaultFallbackProtocol) !== null && _a !== void 0 ? _a : (normalizedConfigDefaultProtocol || undefined);
|
|
7125
|
+
return Object.assign(Object.assign({}, item), { key, label: ((_b = item.label) === null || _b === void 0 ? void 0 : _b.trim()) || this.getDefaultLinkTypeLabel(key), defaultProtocol: normalizedItemDefaultProtocol || fallbackDefaultProtocol });
|
|
7126
|
+
}
|
|
7127
|
+
/**
|
|
7128
|
+
* Returns the translated default label for a link type key.
|
|
7129
|
+
*
|
|
7130
|
+
* @param {string} key - Link type key.
|
|
7131
|
+
* @returns {string} The translated label for the link type.
|
|
7132
|
+
*/
|
|
7133
|
+
getDefaultLinkTypeLabel(key) {
|
|
7134
|
+
return key === codeBlock.RTE_EMAIL_LINK_TYPE_KEY
|
|
7135
|
+
? this.translationSlimmer.t('Email')
|
|
7136
|
+
: this.translationSlimmer.t('URL');
|
|
7137
|
+
}
|
|
7138
|
+
}
|
|
7139
|
+
LinkTypeConfigController.SUPPORTED_LINK_TYPE_KEYS = new Set(codeBlock.RTE_SUPPORTED_LINK_TYPE_KEYS);
|
|
7140
|
+
__decorate$1([
|
|
7141
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
7142
|
+
], LinkTypeConfigController.prototype, "host", void 0);
|
|
7143
|
+
__decorate$1([
|
|
7144
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
7145
|
+
], LinkTypeConfigController.prototype, "translationSlimmer", void 0);
|
|
7146
|
+
|
|
7147
|
+
/**
|
|
7148
|
+
* Stores link editor state across popover interactions.
|
|
7149
|
+
*/
|
|
7150
|
+
class LinkEditorStateManager extends globalSlimmerRegistry.VegaSlimmer {
|
|
7151
|
+
constructor() {
|
|
7152
|
+
super(...arguments);
|
|
7153
|
+
this.isSubmitDisabled = true;
|
|
7154
|
+
this.selectedLinkTypeKey = codeBlock.RTE_DEFAULT_LINK_TYPE_KEY;
|
|
7155
|
+
this.shouldResetStatusOnNextShow = false;
|
|
7156
|
+
this.formValuesByType = new Map();
|
|
7157
|
+
this.sharedTextValue = '';
|
|
7158
|
+
}
|
|
7159
|
+
/**
|
|
7160
|
+
* Returns whether submit is currently disabled.
|
|
7161
|
+
*
|
|
7162
|
+
* @returns {boolean} True when submit is disabled.
|
|
7163
|
+
*/
|
|
7164
|
+
getIsSubmitDisabled() {
|
|
7165
|
+
return this.isSubmitDisabled;
|
|
7166
|
+
}
|
|
7167
|
+
/**
|
|
7168
|
+
* Updates the submit disabled state.
|
|
7169
|
+
*
|
|
7170
|
+
* @param {boolean} isSubmitDisabled - Next disabled state.
|
|
7171
|
+
* @returns {void} No return value.
|
|
7172
|
+
*/
|
|
7173
|
+
setSubmitDisabled(isSubmitDisabled) {
|
|
7174
|
+
this.isSubmitDisabled = isSubmitDisabled;
|
|
7175
|
+
}
|
|
7176
|
+
/**
|
|
7177
|
+
* Returns the selected link type key.
|
|
7178
|
+
*
|
|
7179
|
+
* @returns {string} The selected link type key.
|
|
7180
|
+
*/
|
|
7181
|
+
getSelectedLinkTypeKey() {
|
|
7182
|
+
return this.selectedLinkTypeKey;
|
|
7183
|
+
}
|
|
7184
|
+
/**
|
|
7185
|
+
* Updates the selected link type key.
|
|
7186
|
+
*
|
|
7187
|
+
* @param {string} selectedLinkTypeKey - Next link type key.
|
|
7188
|
+
* @returns {void} No return value.
|
|
7189
|
+
*/
|
|
7190
|
+
setSelectedLinkTypeKey(selectedLinkTypeKey) {
|
|
7191
|
+
this.selectedLinkTypeKey = selectedLinkTypeKey;
|
|
7192
|
+
}
|
|
7193
|
+
/**
|
|
7194
|
+
* Returns whether the status should reset on the next show.
|
|
7195
|
+
*
|
|
7196
|
+
* @returns {boolean} True when the next show should reset the status.
|
|
7197
|
+
*/
|
|
7198
|
+
getShouldResetStatusOnNextShow() {
|
|
7199
|
+
return this.shouldResetStatusOnNextShow;
|
|
7200
|
+
}
|
|
7201
|
+
/**
|
|
7202
|
+
* Updates whether the status should reset on the next show.
|
|
7203
|
+
*
|
|
7204
|
+
* @param {boolean} shouldResetStatusOnNextShow - Next reset flag.
|
|
7205
|
+
* @returns {void} No return value.
|
|
7206
|
+
*/
|
|
7207
|
+
setShouldResetStatusOnNextShow(shouldResetStatusOnNextShow) {
|
|
7208
|
+
this.shouldResetStatusOnNextShow = shouldResetStatusOnNextShow;
|
|
7209
|
+
}
|
|
7210
|
+
/**
|
|
7211
|
+
* Clears all cached form values.
|
|
7212
|
+
*
|
|
7213
|
+
* @returns {void} No return value.
|
|
7214
|
+
*/
|
|
7215
|
+
clearFormValues() {
|
|
7216
|
+
this.formValuesByType.clear();
|
|
7217
|
+
this.sharedTextValue = '';
|
|
7218
|
+
}
|
|
7219
|
+
/**
|
|
7220
|
+
* Returns the text value shared across link types.
|
|
7221
|
+
*
|
|
7222
|
+
* @returns {string} Shared text value.
|
|
7223
|
+
*/
|
|
7224
|
+
getSharedTextValue() {
|
|
7225
|
+
return this.sharedTextValue;
|
|
7226
|
+
}
|
|
7227
|
+
/**
|
|
7228
|
+
* Updates the text value shared across link types.
|
|
7229
|
+
*
|
|
7230
|
+
* @param {string} textValue - Next shared text value.
|
|
7231
|
+
* @returns {void} No return value.
|
|
7232
|
+
*/
|
|
7233
|
+
setSharedTextValue(textValue) {
|
|
7234
|
+
this.sharedTextValue = textValue;
|
|
7235
|
+
}
|
|
7236
|
+
/**
|
|
7237
|
+
* Stores form values for a given link type key.
|
|
7238
|
+
*
|
|
7239
|
+
* @param {string} linkTypeKey - Link type cache key.
|
|
7240
|
+
* @param {Record<string, string>} formValues - Form values to cache.
|
|
7241
|
+
* @returns {void} No return value.
|
|
7242
|
+
*/
|
|
7243
|
+
cacheFormValues(linkTypeKey, formValues) {
|
|
7244
|
+
this.formValuesByType.set(linkTypeKey, formValues);
|
|
7245
|
+
}
|
|
7246
|
+
/**
|
|
7247
|
+
* Returns cached form values for a given link type key.
|
|
7248
|
+
*
|
|
7249
|
+
* @param {string} linkTypeKey - Link type cache key.
|
|
7250
|
+
* @returns {Record<string, string> | undefined} The cached form values, if any.
|
|
7251
|
+
*/
|
|
7252
|
+
getCachedFormValues(linkTypeKey) {
|
|
7253
|
+
return this.formValuesByType.get(linkTypeKey);
|
|
7254
|
+
}
|
|
7255
|
+
}
|
|
5606
7256
|
|
|
5607
7257
|
const vegaRichTextLinkEditorCss = ":host{display:contents}:host vega-popover{display:inline}";
|
|
5608
7258
|
|
|
@@ -5625,6 +7275,9 @@ const VegaRichTextLinkEditor = class {
|
|
|
5625
7275
|
this.translationSlimmer = new translationSlimmer.TranslationSlimmer();
|
|
5626
7276
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
|
|
5627
7277
|
this.renderer = new VegaRichTextLinkEditorRenderer();
|
|
7278
|
+
this.linkEditorController = new LinkEditorController();
|
|
7279
|
+
this.linkTypeConfigController = new LinkTypeConfigController();
|
|
7280
|
+
this.linkEditorStateManager = new LinkEditorStateManager();
|
|
5628
7281
|
this.changeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaRichTextLinkEditor, vegaEventId.VegaChange);
|
|
5629
7282
|
/**
|
|
5630
7283
|
* Specifies the status of the link editor
|
|
@@ -5652,6 +7305,15 @@ const VegaRichTextLinkEditor = class {
|
|
|
5652
7305
|
async show() {
|
|
5653
7306
|
await this.renderer.getPopoverRef().show();
|
|
5654
7307
|
}
|
|
7308
|
+
/**
|
|
7309
|
+
* Provide a method to hide the link editor popover
|
|
7310
|
+
*
|
|
7311
|
+
* @vegaVersion 2.97.0
|
|
7312
|
+
*/
|
|
7313
|
+
async hide() {
|
|
7314
|
+
var _a;
|
|
7315
|
+
await ((_a = this.renderer.getPopoverRef()) === null || _a === void 0 ? void 0 : _a.hide());
|
|
7316
|
+
}
|
|
5655
7317
|
render() {
|
|
5656
7318
|
return component.sanitizeVegaComponent(index.h(index.Host, null, this.renderer.render()), this.host);
|
|
5657
7319
|
}
|
|
@@ -5673,6 +7335,15 @@ __decorate([
|
|
|
5673
7335
|
__decorate([
|
|
5674
7336
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5675
7337
|
], VegaRichTextLinkEditor.prototype, "renderer", void 0);
|
|
7338
|
+
__decorate([
|
|
7339
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
7340
|
+
], VegaRichTextLinkEditor.prototype, "linkEditorController", void 0);
|
|
7341
|
+
__decorate([
|
|
7342
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
7343
|
+
], VegaRichTextLinkEditor.prototype, "linkTypeConfigController", void 0);
|
|
7344
|
+
__decorate([
|
|
7345
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
7346
|
+
], VegaRichTextLinkEditor.prototype, "linkEditorStateManager", void 0);
|
|
5676
7347
|
__decorate([
|
|
5677
7348
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5678
7349
|
], VegaRichTextLinkEditor.prototype, "changeEventEmitter", void 0);
|