@globalpayments/vega 2.34.1 → 2.36.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-48582633.js → app-globals-13d4a0be.js} +21 -21
- package/dist/cjs/{change-manager-bda1d107.js → change-manager-a297e4d2.js} +1 -1
- package/dist/cjs/{child-nodes-event-prevent-slimmer-e1a6e5ad.js → child-nodes-event-prevent-slimmer-96c3c4ae.js} +3 -3
- package/dist/cjs/{child-nodes-notify-observer-slimmer-03a3f79e.js → child-nodes-notify-observer-slimmer-be92f366.js} +5 -5
- package/dist/cjs/{component-63af66ea.js → component-73a88c4e.js} +1 -1
- package/dist/cjs/{component-global-style-slimmer-6b64a26c.js → component-global-style-slimmer-6749808c.js} +1 -1
- package/dist/cjs/{component-usage-runtime-metrics-019d3c00.js → component-usage-runtime-metrics-dcb32c24.js} +1 -1
- package/dist/cjs/{content-state-6a5b9736.js → content-state-2336e368.js} +1379 -309
- package/dist/cjs/{create-public-api-runtime-metrics-slimmer-8c6a8fb7.js → create-public-api-runtime-metrics-slimmer-54c3f73b.js} +2 -2
- package/dist/cjs/{date-ffe382a4.js → date-0a6bb035.js} +1 -1
- package/dist/cjs/{deprecated-property-slimmer-f36e3779.js → deprecated-property-slimmer-fc729fd9.js} +2 -2
- package/dist/cjs/{design-token-908e3f69.js → design-token-30c069c1.js} +3 -3
- package/dist/cjs/{dom-node-subject-observer-factory-093462f1.js → dom-node-subject-factory-3ec114b8.js} +1 -41
- package/dist/cjs/dom-node-subject-observer-factory-5f0eae19.js +44 -0
- package/dist/cjs/{dynamic-slimmer-dc30600a.js → dynamic-slimmer-f31fdfd7.js} +1 -1
- package/dist/cjs/{element-appender-slimmer-0dd70e61.js → element-appender-slimmer-77f9c4a0.js} +17 -9
- package/dist/cjs/{event-emit-slimmer-a46bb411.js → event-emit-slimmer-9c223f73.js} +7 -6
- package/dist/cjs/{feature-flag-controller-e97b5f29.js → feature-flag-controller-7b22e598.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-9aeabcdc.js → form-field-controller-slimmer-8d4d2723.js} +72 -40
- package/dist/cjs/global-slimmer-registry-b3bce7e0.js +297 -0
- package/dist/cjs/{icon-manager-36dcfb65.js → icon-manager-edc2400b.js} +2 -2
- package/dist/cjs/{text-color-toolbar-button-slimmer-21a166e4.js → image-annotation-action-4135ca69.js} +78 -27
- package/dist/cjs/{global-slimmer-registry-dd2691b8.js → index-09acd3c9.js} +282 -296
- package/dist/cjs/index.cjs.js +28 -30
- package/dist/cjs/{inject-keyboard-manager-af37c861.js → inject-keyboard-manager-4a5c27a2.js} +1 -1
- package/dist/cjs/{internal-icon-manager-2282a62f.js → internal-icon-manager-5ccb9443.js} +1 -1
- package/dist/cjs/{internal-vega-event-manager-d7643ec6.js → internal-vega-event-manager-e5e4bcf4.js} +72 -72
- package/dist/cjs/{internal-vega-z-index-manager-e24e4309.js → internal-vega-z-index-manager-f03ddb37.js} +1 -1
- package/dist/cjs/{keyboard-manager-5afbc8f1.js → keyboard-manager-2df53b2f.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-9be2a880.js → keyboard-manager-slimmer-feba3a83.js} +2 -2
- package/dist/cjs/loader.cjs.js +21 -22
- package/dist/cjs/{mutation-observer-slimmer-98bbbdf0.js → mutation-observer-slimmer-895b3d3e.js} +1 -1
- package/dist/cjs/{node.abstract-f8075f84.js → node-annotation.abstract-c3c07af5.js} +38 -49
- package/dist/cjs/{page-resize-observer-slimmer-e54fa9d4.js → page-resize-observer-slimmer-bb1eaebe.js} +1 -1
- package/dist/cjs/{remote-invocation-registry-71a45468.js → remote-invocation-registry-ff9af278.js} +3 -3
- package/dist/cjs/{responsive-format-facade-74079f1b.js → responsive-format-facade-4363a00d.js} +1 -1
- package/dist/cjs/{state-background-color-formatter-d32a1098.js → state-background-color-formatter-e585a027.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-297765c0.js → string-input-formatter-slimmer-6155c9f5.js} +1 -1
- package/dist/cjs/{style-formatter-5deb065f.js → style-formatter-63218b76.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-73201c53.js → sub-state-notify-slimmer-994eb848.js} +9 -9
- package/dist/cjs/{sub-state-observer-slimmer-10c0d402.js → sub-state-observer-slimmer-080a4bea.js} +9 -9
- package/dist/cjs/{translation-f6b7ee84.js → translation-b9be41e0.js} +3 -3
- package/dist/cjs/{translation-slimmer-90f9f71f.js → translation-slimmer-ec76c5a2.js} +2 -2
- package/dist/cjs/{ui-b5906704.js → ui-5fd9b267.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +41 -39
- package/dist/cjs/vega-app-footer.cjs.entry.js +13 -12
- package/dist/cjs/vega-app-header-button.cjs.entry.js +42 -40
- package/dist/cjs/vega-backdrop.cjs.entry.js +9 -8
- package/dist/cjs/vega-banner.cjs.entry.js +36 -34
- package/dist/cjs/vega-bar-chart.cjs.entry.js +6 -5
- package/dist/cjs/vega-box.cjs.entry.js +13 -12
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +34 -32
- package/dist/cjs/vega-button-circle.cjs.entry.js +25 -23
- package/dist/cjs/vega-button-group_2.cjs.entry.js +33 -31
- package/dist/cjs/vega-button-link.cjs.entry.js +26 -24
- package/dist/cjs/vega-button.cjs.entry.js +26 -24
- package/dist/cjs/vega-calendar_3.cjs.entry.js +136 -134
- package/dist/cjs/vega-card.cjs.entry.js +11 -10
- package/dist/cjs/vega-carousel.cjs.entry.js +25 -23
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +47 -45
- package/dist/cjs/vega-chip.cjs.entry.js +36 -34
- package/dist/cjs/vega-color-picker.cjs.entry.js +27 -25
- package/dist/cjs/vega-combo-box.cjs.entry.js +47 -45
- package/dist/cjs/vega-counter-badge.cjs.entry.js +10 -9
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +584 -165
- package/dist/cjs/{vega-dialog-controller-aaf1f43e.js → vega-dialog-controller-fe610705.js} +2 -2
- package/dist/cjs/vega-dialog_2.cjs.entry.js +47 -45
- package/dist/cjs/vega-divider.cjs.entry.js +11 -10
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +196 -145
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-error.cjs.entry.js +8 -7
- package/dist/cjs/vega-field-label.cjs.entry.js +22 -20
- package/dist/cjs/vega-file-uploader.cjs.entry.js +184 -102
- package/dist/cjs/vega-flex.cjs.entry.js +14 -13
- package/dist/cjs/vega-font.cjs.entry.js +21 -13
- package/dist/cjs/vega-form.cjs.entry.js +48 -41
- package/dist/cjs/vega-grid.cjs.entry.js +11 -10
- package/dist/cjs/vega-hint.cjs.entry.js +7 -6
- package/dist/cjs/vega-icon.cjs.entry.js +16 -15
- package/dist/cjs/vega-image-uploader.cjs.entry.js +52 -50
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +38 -36
- package/dist/cjs/vega-input-numeric.cjs.entry.js +31 -29
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +99 -51
- package/dist/cjs/vega-input-range.cjs.entry.js +41 -39
- package/dist/cjs/vega-input-select.cjs.entry.js +63 -61
- package/dist/cjs/vega-input.cjs.entry.js +47 -45
- package/dist/cjs/{vega-internal-event-id-85b68849.js → vega-internal-event-id-b12071ea.js} +2 -0
- package/dist/cjs/vega-item-toggle.cjs.entry.js +21 -19
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +103 -101
- package/dist/cjs/vega-line-chart.cjs.entry.js +7 -6
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +16 -15
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +20 -18
- package/dist/cjs/vega-pagination.cjs.entry.js +54 -52
- package/dist/cjs/vega-pie-chart.cjs.entry.js +7 -6
- package/dist/cjs/vega-popover_2.cjs.entry.js +35 -33
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +29 -27
- package/dist/cjs/vega-radio_2.cjs.entry.js +51 -49
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +346 -24
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +348 -282
- package/dist/cjs/vega-section-title.cjs.entry.js +15 -14
- package/dist/cjs/vega-segment-control.cjs.entry.js +24 -22
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +50 -48
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +62 -60
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +47 -45
- package/dist/cjs/vega-signature-capture.cjs.entry.js +41 -39
- package/dist/cjs/{block-annotation.abstract-4d88b939.js → vega-skeleton-loader-controller-7dac484f.js} +7 -21
- package/dist/cjs/vega-skeleton.cjs.entry.js +26 -25
- package/dist/cjs/vega-slot-container.cjs.entry.js +6 -5
- package/dist/cjs/vega-stepper.cjs.entry.js +35 -33
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +88 -75
- package/dist/cjs/vega-table_8.cjs.entry.js +185 -183
- package/dist/cjs/vega-text.cjs.entry.js +9 -8
- package/dist/cjs/vega-textarea.cjs.entry.js +35 -33
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +84 -82
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +24 -22
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +20 -19
- package/dist/cjs/vega.cjs.js +21 -22
- package/dist/collection/components/vega-date-picker/assets/icons.js +3 -0
- package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.js +23 -1
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.js +316 -0
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +60 -2
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.js +16 -4
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +24 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +59 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +56 -14
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +37 -0
- package/dist/collection/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-file-limit-controller.js +35 -0
- package/dist/collection/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.js +36 -7
- package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +41 -0
- package/dist/collection/components/vega-font/slimmers/renderers/vega-font-renderer.js +8 -1
- package/dist/collection/components/vega-form/vega-form.js +13 -4
- package/dist/collection/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.js +38 -3
- package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +35 -0
- package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
- package/dist/collection/components/vega-pagination/internal/vega-pagination-page-size-selector.js +2 -2
- package/dist/collection/components/vega-pagination/vega-pagination.js +24 -1
- package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +37 -2
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +11 -4
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +0 -90
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +0 -24
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +67 -13
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +45 -12
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +68 -8
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +111 -36
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +23 -50
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +0 -25
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +95 -19
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +35 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +104 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +28 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +49 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +35 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +24 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.js +49 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +15 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/image-block.test.js +0 -10
- package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/list-block.test.js +0 -48
- package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/list-item.test.js +0 -40
- package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/text-block.test.js +0 -39
- package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +0 -14
- package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +0 -34
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +4 -2
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.js +22 -22
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.js +9 -1
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-direction-button-renderer.js +4 -1
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
- package/dist/collection/helpers/slimmers/field-error-controller-silmmer.js +8 -2
- package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +10 -16
- package/dist/collection/helpers/slimmers/form-field-message-translator.js +17 -0
- package/dist/collection/helpers/slimmers/form-field-valid-invoke-slimmer.js +6 -3
- package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +1 -1
- package/dist/collection/helpers/ui/element-appender.js +10 -2
- package/dist/collection/helpers/validator/form-field-controller.js +11 -3
- package/dist/collection/helpers/validator/rules/rich-text-editor-required-rule.js +4 -3
- package/dist/collection/helpers/validator/test/rules/rich-text-editor-required-rule.test.js +43 -0
- package/dist/collection/helpers/validator/validation-rule-handler/form-field-validation-rule-handler-chain.js +7 -2
- package/dist/esm/{app-globals-48531a04.js → app-globals-9ded4406.js} +12 -12
- package/dist/esm/{change-manager-8f5b72c2.js → change-manager-6a7eb88c.js} +1 -1
- package/dist/esm/{child-nodes-event-prevent-slimmer-8ceabe63.js → child-nodes-event-prevent-slimmer-97aae8a8.js} +3 -3
- package/dist/esm/{child-nodes-notify-observer-slimmer-afc15e00.js → child-nodes-notify-observer-slimmer-289caacc.js} +4 -4
- package/dist/esm/{component-051a594c.js → component-cae24190.js} +1 -1
- package/dist/esm/{component-global-style-slimmer-631f956f.js → component-global-style-slimmer-000e0c11.js} +1 -1
- package/dist/esm/{component-usage-runtime-metrics-21813c36.js → component-usage-runtime-metrics-385c7124.js} +1 -1
- package/dist/esm/{content-state-4b036bf1.js → content-state-42a06d75.js} +1255 -202
- package/dist/esm/{create-public-api-runtime-metrics-slimmer-14cb4599.js → create-public-api-runtime-metrics-slimmer-9ab05523.js} +2 -2
- package/dist/esm/{date-655c0af8.js → date-732bc749.js} +1 -1
- package/dist/esm/{deprecated-property-slimmer-9ea5019c.js → deprecated-property-slimmer-43d184b3.js} +2 -2
- package/dist/esm/{design-token-20fdba82.js → design-token-d06bc718.js} +3 -3
- package/dist/esm/{dom-node-subject-observer-factory-80358591.js → dom-node-subject-factory-5831cdd4.js} +2 -41
- package/dist/esm/dom-node-subject-observer-factory-dc486a8b.js +42 -0
- package/dist/esm/{dynamic-slimmer-85746483.js → dynamic-slimmer-90b8af32.js} +1 -1
- package/dist/esm/{element-appender-slimmer-4dfa326d.js → element-appender-slimmer-f3eceb79.js} +17 -9
- package/dist/esm/{event-emit-slimmer-c03cf145.js → event-emit-slimmer-f285e3ac.js} +6 -5
- package/dist/esm/{feature-flag-controller-dfde0cfa.js → feature-flag-controller-4b3fe6f8.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-de5fe574.js → form-field-controller-slimmer-6ef5641b.js} +66 -34
- package/dist/esm/global-slimmer-registry-17c4efd4.js +283 -0
- package/dist/esm/{icon-manager-3cef32e7.js → icon-manager-b889176b.js} +2 -2
- package/dist/esm/{text-color-toolbar-button-slimmer-b2270b64.js → image-annotation-action-8a12e0bd.js} +55 -6
- package/dist/esm/{global-slimmer-registry-6887a59f.js → index-187f71d1.js} +283 -284
- package/dist/esm/index.js +20 -22
- package/dist/esm/{inject-keyboard-manager-45309420.js → inject-keyboard-manager-b0135018.js} +1 -1
- package/dist/esm/{internal-icon-manager-7fc7535a.js → internal-icon-manager-900a5bb4.js} +1 -1
- package/dist/esm/{internal-vega-event-manager-3a3815d3.js → internal-vega-event-manager-07e1b3d9.js} +2 -2
- package/dist/esm/{internal-vega-z-index-manager-89e8b6f5.js → internal-vega-z-index-manager-7d2b54c3.js} +1 -1
- package/dist/esm/{keyboard-manager-2c06eafe.js → keyboard-manager-4c898a0d.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-fd177285.js → keyboard-manager-slimmer-f80d6835.js} +2 -2
- package/dist/esm/loader.js +20 -21
- package/dist/esm/{mutation-observer-slimmer-ca2cb2e8.js → mutation-observer-slimmer-6cef9549.js} +1 -1
- package/dist/esm/{node.abstract-93746055.js → node-annotation.abstract-af11b11b.js} +36 -48
- package/dist/esm/{page-resize-observer-slimmer-8589ebc8.js → page-resize-observer-slimmer-beb7b0bd.js} +1 -1
- package/dist/esm/{remote-invocation-registry-2ec6936d.js → remote-invocation-registry-d97fa3bc.js} +2 -2
- package/dist/esm/{responsive-format-facade-559ec469.js → responsive-format-facade-c2ab9c87.js} +1 -1
- package/dist/esm/{state-background-color-formatter-16031a43.js → state-background-color-formatter-121ae7d3.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-c9fb1fa1.js → string-input-formatter-slimmer-73fa06e6.js} +1 -1
- package/dist/esm/{style-formatter-51845b6d.js → style-formatter-f91471e8.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-6e97a58a.js → sub-state-notify-slimmer-7d5a295a.js} +5 -5
- package/dist/esm/{sub-state-observer-slimmer-0968ce04.js → sub-state-observer-slimmer-901c7953.js} +5 -5
- package/dist/esm/{translation-b3fe8e74.js → translation-a98970d8.js} +3 -3
- package/dist/esm/{translation-slimmer-860cd766.js → translation-slimmer-5ee9912b.js} +2 -2
- package/dist/esm/{ui-5600b48f.js → ui-62e4be97.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +17 -15
- package/dist/esm/vega-app-footer.entry.js +4 -3
- package/dist/esm/vega-app-header-button.entry.js +20 -18
- package/dist/esm/vega-backdrop.entry.js +5 -4
- package/dist/esm/vega-banner.entry.js +15 -13
- package/dist/esm/vega-bar-chart.entry.js +3 -2
- package/dist/esm/vega-box.entry.js +10 -9
- package/dist/esm/vega-breadcrumb.entry.js +13 -11
- package/dist/esm/vega-button-circle.entry.js +16 -14
- package/dist/esm/vega-button-group_2.entry.js +16 -14
- package/dist/esm/vega-button-link.entry.js +13 -11
- package/dist/esm/vega-button.entry.js +15 -13
- package/dist/esm/vega-calendar_3.entry.js +24 -22
- package/dist/esm/vega-card.entry.js +8 -7
- package/dist/esm/vega-carousel.entry.js +14 -12
- package/dist/esm/vega-checkbox_2.entry.js +20 -18
- package/dist/esm/vega-chip.entry.js +17 -15
- package/dist/esm/vega-color-picker.entry.js +17 -15
- package/dist/esm/vega-combo-box.entry.js +21 -19
- package/dist/esm/vega-counter-badge.entry.js +4 -3
- package/dist/esm/vega-date-picker_2.entry.js +560 -141
- package/dist/esm/{vega-dialog-controller-5b23f68c.js → vega-dialog-controller-34eb8967.js} +2 -2
- package/dist/esm/vega-dialog_2.entry.js +20 -18
- package/dist/esm/vega-divider.entry.js +8 -7
- package/dist/esm/vega-dropdown_5.entry.js +91 -40
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-error.entry.js +5 -4
- package/dist/esm/vega-field-label.entry.js +11 -9
- package/dist/esm/vega-file-uploader.entry.js +138 -56
- package/dist/esm/vega-flex.entry.js +11 -10
- package/dist/esm/vega-font.entry.js +17 -9
- package/dist/esm/vega-form.entry.js +29 -22
- package/dist/esm/vega-grid.entry.js +8 -7
- package/dist/esm/vega-hint.entry.js +4 -3
- package/dist/esm/vega-icon.entry.js +11 -10
- package/dist/esm/vega-image-uploader.entry.js +22 -20
- package/dist/esm/vega-input-credit-card.entry.js +21 -19
- package/dist/esm/vega-input-numeric.entry.js +22 -20
- package/dist/esm/vega-input-phone-number.entry.js +71 -23
- package/dist/esm/vega-input-range.entry.js +20 -18
- package/dist/esm/vega-input-select.entry.js +23 -21
- package/dist/esm/vega-input.entry.js +19 -17
- package/dist/esm/{vega-internal-event-id-4af5c6e9.js → vega-internal-event-id-458939b6.js} +2 -1
- package/dist/esm/vega-item-toggle.entry.js +12 -10
- package/dist/esm/vega-left-nav_5.entry.js +25 -23
- package/dist/esm/vega-line-chart.entry.js +4 -3
- package/dist/esm/vega-loader-wrapper_2.entry.js +7 -6
- package/dist/esm/vega-page-notification_2.entry.js +8 -6
- package/dist/esm/vega-pagination.entry.js +19 -17
- package/dist/esm/vega-pie-chart.entry.js +4 -3
- package/dist/esm/vega-popover_2.entry.js +19 -17
- package/dist/esm/vega-progress-tracker.entry.js +12 -10
- package/dist/esm/vega-radio_2.entry.js +22 -20
- package/dist/esm/vega-rich-text-content.entry.js +340 -18
- package/dist/esm/vega-rich-text-editor_4.entry.js +101 -35
- package/dist/esm/vega-section-title.entry.js +4 -3
- package/dist/esm/vega-segment-control.entry.js +12 -10
- package/dist/esm/vega-selection-chip_2.entry.js +22 -20
- package/dist/esm/vega-selection-tile_2.entry.js +22 -20
- package/dist/esm/vega-sidenav_3.entry.js +20 -18
- package/dist/esm/vega-signature-capture.entry.js +23 -21
- package/dist/esm/{block-annotation.abstract-b0554e2b.js → vega-skeleton-loader-controller-0aaaf1fa.js} +8 -21
- package/dist/esm/vega-skeleton.entry.js +4 -3
- package/dist/esm/vega-slot-container.entry.js +3 -2
- package/dist/esm/vega-stepper.entry.js +19 -17
- package/dist/esm/vega-tab-group_2.entry.js +49 -36
- package/dist/esm/vega-table_8.entry.js +26 -24
- package/dist/esm/vega-text.entry.js +5 -4
- package/dist/esm/vega-textarea.entry.js +19 -17
- package/dist/esm/vega-time-picker_2.entry.js +26 -24
- package/dist/esm/vega-toggle-switch.entry.js +17 -15
- package/dist/esm/vega-tooltip_2.entry.js +13 -12
- package/dist/esm/vega.js +20 -21
- package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
- package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.d.ts +4 -18
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.d.ts +85 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +9 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.d.ts +2 -0
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +21 -2
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +20 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +10 -0
- package/dist/types/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-file-limit-controller.d.ts +18 -0
- package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.d.ts +15 -0
- package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +12 -0
- package/dist/types/components/vega-form/types.d.ts +1 -0
- package/dist/types/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.d.ts +19 -0
- package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +9 -0
- package/dist/types/components/vega-input-select/types.d.ts +1 -0
- package/dist/types/components/vega-pagination/internal/vega-pagination-page-size-selector.d.ts +2 -0
- package/dist/types/components/vega-pagination/types.d.ts +6 -0
- package/dist/types/components/vega-pagination/vega-pagination.d.ts +9 -1
- package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +5 -0
- package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +4 -1
- package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +0 -6
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +2 -15
- package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +68 -4
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +45 -3
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +68 -3
- package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +110 -5
- package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +21 -5
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +1 -14
- package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +86 -2
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +28 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +9 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +9 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.d.ts +31 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +3 -1
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.d.ts +6 -6
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.d.ts +1 -0
- package/dist/types/components.d.ts +70 -5
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
- package/dist/types/helpers/slimmers/field-error-controller-silmmer.d.ts +7 -2
- package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +2 -7
- package/dist/types/helpers/slimmers/form-field-message-translator.d.ts +12 -0
- package/dist/types/helpers/ui/element-appender.d.ts +4 -0
- package/dist/types/helpers/validator/form-field-controller.d.ts +5 -2
- package/dist/types/helpers/validator/rules/rich-text-editor-required-rule.d.ts +1 -1
- package/dist/types/helpers/validator/validation-rule-handler/form-field-validation-rule-handler-chain.d.ts +2 -2
- package/dist/types/helpers/validator/validator.d.ts +1 -1
- package/dist/types/types/components.type.d.ts +2 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-000b3ab0.js +1 -0
- package/dist/vega/p-00738ae9.entry.js +1 -0
- package/dist/vega/p-01d0dbe6.entry.js +1 -0
- package/dist/vega/p-032df16f.js +1 -0
- package/dist/vega/p-032ed643.entry.js +13 -0
- package/dist/vega/p-05f5e22b.entry.js +1 -0
- package/dist/vega/p-0945a58d.entry.js +1 -0
- package/dist/vega/p-09c5de7f.entry.js +1 -0
- package/dist/vega/p-0a8b91f5.entry.js +1 -0
- package/dist/vega/{p-f763e2eb.js → p-0af4bda9.js} +1 -1
- package/dist/vega/p-0c2eb135.entry.js +1 -0
- package/dist/vega/p-12ad8ada.entry.js +1 -0
- package/dist/vega/p-13ce8d87.entry.js +1 -0
- package/dist/vega/p-14514252.entry.js +1 -0
- package/dist/vega/{p-11a19ca0.js → p-149d2801.js} +1 -1
- package/dist/vega/p-14f85e30.entry.js +1 -0
- package/dist/vega/p-1c298d5a.js +2 -0
- package/dist/vega/p-1d805cc0.entry.js +1 -0
- package/dist/vega/p-211df22a.entry.js +1 -0
- package/dist/vega/p-2205ee4c.js +1 -0
- package/dist/vega/p-26af2a8b.js +1 -0
- package/dist/vega/p-29b09aad.js +1 -0
- package/dist/vega/{p-443ad3b3.js → p-2d0d575f.js} +1 -1
- package/dist/vega/{p-368d0060.js → p-2fbda931.js} +1 -1
- package/dist/vega/p-2ff936da.entry.js +1 -0
- package/dist/vega/p-3126edd6.entry.js +1 -0
- package/dist/vega/p-317c72e4.entry.js +1 -0
- package/dist/vega/p-33b62194.js +1 -0
- package/dist/vega/{p-e0b25eaf.js → p-349dd552.js} +1 -1
- package/dist/vega/p-36ad5ee1.entry.js +1 -0
- package/dist/vega/p-42465abc.entry.js +1 -0
- package/dist/vega/{p-8f93242a.js → p-4387d550.js} +1 -1
- package/dist/vega/p-43b6aced.entry.js +1 -0
- package/dist/vega/p-441c9c90.entry.js +1 -0
- package/dist/vega/{p-8c26227e.js → p-446c691b.js} +1 -1
- package/dist/vega/p-45dd4698.entry.js +1 -0
- package/dist/vega/{p-3b4bde3e.js → p-4b500240.js} +1 -1
- package/dist/vega/p-4d307520.entry.js +1 -0
- package/dist/vega/p-524ff1a3.entry.js +1 -0
- package/dist/vega/p-5298fd92.entry.js +1 -0
- package/dist/vega/p-558450ba.entry.js +1 -0
- package/dist/vega/p-589530e4.entry.js +1 -0
- package/dist/vega/p-5915634b.js +1 -0
- package/dist/vega/p-5ae1a322.entry.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-70151c27.js → p-5f589974.js} +1 -1
- package/dist/vega/p-61116634.entry.js +1 -0
- package/dist/vega/p-618b35e4.entry.js +1 -0
- package/dist/vega/p-61cffe6a.entry.js +1 -0
- package/dist/vega/{p-62774231.js → p-6705c68a.js} +1 -1
- package/dist/vega/p-68f0aa72.entry.js +1 -0
- package/dist/vega/{p-59bdf9b8.js → p-6a334573.js} +1 -1
- package/dist/vega/p-6a3989dd.js +1 -0
- package/dist/vega/{p-0e0c47ad.js → p-6a5a5c7b.js} +1 -1
- package/dist/vega/p-6bf28253.entry.js +1 -0
- package/dist/vega/p-6c09b79a.entry.js +1 -0
- package/dist/vega/p-6df81ec2.entry.js +1 -0
- package/dist/vega/p-6e1ab235.js +1 -0
- package/dist/vega/p-72eee5e2.js +1 -0
- package/dist/vega/p-75bca1c6.js +1 -0
- package/dist/vega/{p-eac38d87.js → p-781fd6e0.js} +1 -1
- package/dist/vega/{p-1995e98e.js → p-79ec5d69.js} +1 -1
- package/dist/vega/p-7b72dc7a.entry.js +1 -0
- package/dist/vega/{p-3f1b542a.js → p-81dbada7.js} +1 -1
- package/dist/vega/{p-a6a7d0c9.js → p-8284a445.js} +1 -1
- package/dist/vega/p-83d87df5.js +1 -0
- package/dist/vega/p-84f2f342.js +1 -0
- package/dist/vega/p-8a77ff64.entry.js +1 -0
- package/dist/vega/p-8ab356e8.entry.js +1 -0
- package/dist/vega/p-8ba43640.entry.js +1 -0
- package/dist/vega/p-8d69f9ef.entry.js +1 -0
- package/dist/vega/p-906991ec.entry.js +1 -0
- package/dist/vega/p-92707b74.entry.js +1 -0
- package/dist/vega/p-96389073.entry.js +1 -0
- package/dist/vega/p-97453cd8.entry.js +1 -0
- package/dist/vega/{p-81ead59a.js → p-983c7d9b.js} +1 -1
- package/dist/vega/{p-843a0c1c.js → p-987fbbd0.js} +1 -1
- package/dist/vega/{p-296cc56b.js → p-9b797118.js} +1 -1
- package/dist/vega/p-9ec7d6c4.entry.js +1 -0
- package/dist/vega/p-a01f149d.entry.js +1 -0
- package/dist/vega/p-a213b305.entry.js +1 -0
- package/dist/vega/p-a956561e.entry.js +1 -0
- package/dist/vega/{p-3953c705.js → p-af7a3154.js} +1 -1
- package/dist/vega/p-b0c6cc78.entry.js +1 -0
- package/dist/vega/p-b1524c6c.js +1 -0
- package/dist/vega/p-b2bca332.entry.js +1 -0
- package/dist/vega/p-b5990090.js +1 -0
- package/dist/vega/p-b6815874.js +1 -0
- package/dist/vega/p-b688a71b.js +1 -0
- package/dist/vega/p-bcb10ae3.entry.js +1 -0
- package/dist/vega/p-bd2cdf10.entry.js +1 -0
- package/dist/vega/{p-39836361.js → p-be12fa36.js} +1 -1
- package/dist/vega/{p-a6104aa7.js → p-c06e55d6.js} +1 -1
- package/dist/vega/p-c2b276f7.entry.js +1 -0
- package/dist/vega/p-c51a3e3c.entry.js +1 -0
- package/dist/vega/p-cb8f8458.entry.js +1 -0
- package/dist/vega/p-cda26bdf.entry.js +1 -0
- package/dist/vega/p-cea7506a.entry.js +1 -0
- package/dist/vega/p-cff45d92.entry.js +1 -0
- package/dist/vega/p-d09d153f.entry.js +1 -0
- package/dist/vega/p-d3d4bf51.entry.js +1 -0
- package/dist/vega/p-d994874a.entry.js +1 -0
- package/dist/vega/p-de25326f.js +1 -0
- package/dist/vega/{p-e1e1fcf0.js → p-de664bdd.js} +1 -1
- package/dist/vega/p-df4142dd.entry.js +1 -0
- package/dist/vega/p-df9dbe2d.entry.js +1 -0
- package/dist/vega/p-e8f540d8.js +1 -0
- package/dist/vega/p-ebb30774.entry.js +1 -0
- package/dist/vega/p-eed64b78.entry.js +1 -0
- package/dist/vega/p-efbea85a.entry.js +1 -0
- package/dist/vega/p-f690539e.entry.js +1 -0
- package/dist/vega/p-f7fdf737.entry.js +1 -0
- package/dist/vega/p-fe9644a0.js +1 -0
- package/dist/vega/{p-acf7f903.js → p-ff4bafa3.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -2
- package/dist/cjs/text-node-494856f3.js +0 -955
- package/dist/esm/text-node-a652ca87.js +0 -933
- package/dist/vega/p-0190095c.entry.js +0 -1
- package/dist/vega/p-034e6348.entry.js +0 -1
- package/dist/vega/p-0cd2b50f.entry.js +0 -1
- package/dist/vega/p-10393104.js +0 -1
- package/dist/vega/p-109a00cf.entry.js +0 -1
- package/dist/vega/p-11cb477b.js +0 -1
- package/dist/vega/p-1564cc4d.entry.js +0 -1
- package/dist/vega/p-18886765.entry.js +0 -1
- package/dist/vega/p-19b26168.entry.js +0 -1
- package/dist/vega/p-21992602.entry.js +0 -1
- package/dist/vega/p-22563151.entry.js +0 -1
- package/dist/vega/p-23795da1.entry.js +0 -1
- package/dist/vega/p-29277e41.entry.js +0 -1
- package/dist/vega/p-2a7e9422.entry.js +0 -1
- package/dist/vega/p-2ca6d977.entry.js +0 -1
- package/dist/vega/p-2e419309.entry.js +0 -1
- package/dist/vega/p-3039bef8.js +0 -1
- package/dist/vega/p-34939c97.entry.js +0 -1
- package/dist/vega/p-3897bb2d.entry.js +0 -1
- package/dist/vega/p-390c5236.entry.js +0 -1
- package/dist/vega/p-3ce31dc3.js +0 -1
- package/dist/vega/p-452e284a.js +0 -1
- package/dist/vega/p-4c41dd64.js +0 -1
- package/dist/vega/p-55beac7f.entry.js +0 -1
- package/dist/vega/p-57405834.entry.js +0 -1
- package/dist/vega/p-584dcd9b.js +0 -1
- package/dist/vega/p-589e6041.entry.js +0 -1
- package/dist/vega/p-5e95402a.entry.js +0 -1
- package/dist/vega/p-5eee21b4.entry.js +0 -1
- package/dist/vega/p-62cea2e7.entry.js +0 -1
- package/dist/vega/p-65b79fd7.js +0 -1
- package/dist/vega/p-6741e2b9.entry.js +0 -1
- package/dist/vega/p-6a084fe1.entry.js +0 -1
- package/dist/vega/p-6b286226.entry.js +0 -1
- package/dist/vega/p-6b722905.entry.js +0 -1
- package/dist/vega/p-6e4b2752.entry.js +0 -1
- package/dist/vega/p-7209d03b.js +0 -1
- package/dist/vega/p-734ea281.entry.js +0 -1
- package/dist/vega/p-76fc408e.entry.js +0 -1
- package/dist/vega/p-7a9f453e.entry.js +0 -1
- package/dist/vega/p-80ccd894.entry.js +0 -1
- package/dist/vega/p-84c597c8.entry.js +0 -1
- package/dist/vega/p-8836c1b9.js +0 -1
- package/dist/vega/p-8b78c6a3.entry.js +0 -1
- package/dist/vega/p-8be45a45.entry.js +0 -1
- package/dist/vega/p-8d7b45f7.entry.js +0 -1
- package/dist/vega/p-8e17b9dd.entry.js +0 -1
- package/dist/vega/p-8f004647.entry.js +0 -1
- package/dist/vega/p-925a2137.js +0 -1
- package/dist/vega/p-92f88033.entry.js +0 -1
- package/dist/vega/p-94de7a02.entry.js +0 -1
- package/dist/vega/p-9968e71d.entry.js +0 -1
- package/dist/vega/p-9c1eeff2.js +0 -2
- package/dist/vega/p-9d1b9e70.entry.js +0 -1
- package/dist/vega/p-9e732a26.entry.js +0 -1
- package/dist/vega/p-9f39dd10.js +0 -1
- package/dist/vega/p-a5ffe912.js +0 -1
- package/dist/vega/p-a6169ad6.entry.js +0 -1
- package/dist/vega/p-a8bf559a.js +0 -1
- package/dist/vega/p-afec17ad.entry.js +0 -1
- package/dist/vega/p-b3f9cc3a.entry.js +0 -13
- package/dist/vega/p-b693c1ac.entry.js +0 -1
- package/dist/vega/p-b9e2add4.entry.js +0 -1
- package/dist/vega/p-bd894860.entry.js +0 -1
- package/dist/vega/p-c0d6a587.entry.js +0 -1
- package/dist/vega/p-c26e6820.entry.js +0 -1
- package/dist/vega/p-c34487e1.entry.js +0 -1
- package/dist/vega/p-c532b132.entry.js +0 -1
- package/dist/vega/p-ca2fb711.js +0 -1
- package/dist/vega/p-cebf93f1.entry.js +0 -1
- package/dist/vega/p-cfdc148a.entry.js +0 -1
- package/dist/vega/p-d0351d71.entry.js +0 -1
- package/dist/vega/p-d2ab6096.entry.js +0 -1
- package/dist/vega/p-d35643c5.entry.js +0 -1
- package/dist/vega/p-d400a1d9.entry.js +0 -1
- package/dist/vega/p-d6732a72.entry.js +0 -1
- package/dist/vega/p-d720b06a.entry.js +0 -1
- package/dist/vega/p-d987e404.entry.js +0 -1
- package/dist/vega/p-d9b86108.entry.js +0 -1
- package/dist/vega/p-e27e115d.entry.js +0 -1
- package/dist/vega/p-e65c8ac7.entry.js +0 -1
- package/dist/vega/p-e79057cc.js +0 -1
- package/dist/vega/p-e89e9769.entry.js +0 -1
- package/dist/vega/p-ecd64c7f.entry.js +0 -1
- package/dist/vega/p-f357cf46.js +0 -1
- package/dist/vega/p-f5b2e72a.entry.js +0 -1
- package/dist/vega/p-f6af3749.js +0 -1
- package/dist/vega/p-fc622a75.js +0 -1
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { h } from '@stencil/core';
|
|
2
1
|
import { NodeTypeEnum, RTENode } from './node.abstract';
|
|
3
2
|
import { NodeAnnotation, NodeAnnotationTypeEnum } from '../annotations/node-annotation.abstract';
|
|
4
3
|
import { TextSplittableAction } from '../actions/splittable-action.abstract';
|
|
5
4
|
import { SelectionRangeAnnotation } from '../annotations/selection-range-annotation';
|
|
6
5
|
import stateEntityRenderingRegistry from '../../slimmers/controllers/state-entity-rendering-registry';
|
|
7
|
-
import TextNodeElementRenderingRegistry from '../../slimmers/controllers/text-node-rendering-registry';
|
|
8
6
|
import { generateUUID } from '../../../../utils/misc';
|
|
9
7
|
import { InternalAnnotationTypeEnum } from '../annotations/annotation.abstract';
|
|
10
8
|
import { StrikethroughAnnotation } from '../annotations/strikethrough-annotation';
|
|
@@ -28,6 +26,9 @@ import ChangeManager from '../../../../helpers/change-manager/change-manager';
|
|
|
28
26
|
import { ZERO_WIDTH_SPACE } from '../../constants/constant';
|
|
29
27
|
import { SyncUpSelectionAction } from '../actions/sync-up-selection-action';
|
|
30
28
|
import { DeleteNodeAnnotationAction } from '../actions/delete-node-annotation-action';
|
|
29
|
+
/**
|
|
30
|
+
* Text node
|
|
31
|
+
*/
|
|
31
32
|
export class RTETextNode extends RTENode {
|
|
32
33
|
constructor(id, text, parentBlock, annotationMap) {
|
|
33
34
|
super(id, annotationMap);
|
|
@@ -35,6 +36,13 @@ export class RTETextNode extends RTENode {
|
|
|
35
36
|
this.parentBlock = parentBlock;
|
|
36
37
|
this.text = text;
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Creates an RTETextNode from a VegaRTETextNode with annotations and a parent RTETextBlock.
|
|
41
|
+
*
|
|
42
|
+
* @param {VegaRTETextNode} richText - A rich text node
|
|
43
|
+
* @param {RTETextBlock} parentBlock - Parent block
|
|
44
|
+
* @returns {RTETextNode} an RTETextNode
|
|
45
|
+
*/
|
|
38
46
|
static from(richText, parentBlock) {
|
|
39
47
|
const textNode = new RTETextNode(richText.id, richText.text, parentBlock);
|
|
40
48
|
const { annotations } = richText;
|
|
@@ -50,6 +58,14 @@ export class RTETextNode extends RTENode {
|
|
|
50
58
|
}
|
|
51
59
|
return textNode;
|
|
52
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Creates different types of text annotations based on the provided type and value.
|
|
63
|
+
*
|
|
64
|
+
* @param {keyof VegaRTETextAnnotations} type - The key of the type.
|
|
65
|
+
* @param {unknown} value - The value that will be used to create the specific type of annotation entity based on the `type` provided.
|
|
66
|
+
* @returns {Nullable<[RTENodeAnnotationMapKey, RTENodeAnnotationMapValue]>} Returning a nullable tuple containing a key and a
|
|
67
|
+
* value from the `RTENodeAnnotationMapKey` and `RTENodeAnnotationMapValue` types.
|
|
68
|
+
*/
|
|
53
69
|
static createAnnotationEntity(type, value) {
|
|
54
70
|
switch (type) {
|
|
55
71
|
case 'bold':
|
|
@@ -68,6 +84,9 @@ export class RTETextNode extends RTENode {
|
|
|
68
84
|
return LinkAnnotation.from(value);
|
|
69
85
|
}
|
|
70
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* @inheritDoc
|
|
89
|
+
*/
|
|
71
90
|
toJSON() {
|
|
72
91
|
const annotations = Array.from(this.annotationMap.values())
|
|
73
92
|
.filter((annotation) => annotation instanceof NodeAnnotation)
|
|
@@ -76,19 +95,26 @@ export class RTETextNode extends RTENode {
|
|
|
76
95
|
}, {});
|
|
77
96
|
return Object.assign(Object.assign({ id: this.id }, (Object.keys(annotations).length > 0 ? { annotations } : {})), { type: 'text', text: this.text });
|
|
78
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Creates a new RTETextNode with the specified text and copies the parent block and annotation map from the original node.
|
|
100
|
+
*
|
|
101
|
+
* @param {string} text - The text content of the RTETextNode that will be created.
|
|
102
|
+
* @returns {RTETextNode} An new RTETextNode
|
|
103
|
+
*/
|
|
79
104
|
cloneWithText(text) {
|
|
80
105
|
return new RTETextNode(generateUUID(), text, this.parentBlock, new Map(this.annotationMap));
|
|
81
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Checks if a node is empty
|
|
109
|
+
*
|
|
110
|
+
* @returns {boolean} It returns `true` if the node is empty
|
|
111
|
+
*/
|
|
82
112
|
isEmpty() {
|
|
83
113
|
return !this.text || this.text === ZERO_WIDTH_SPACE || this.text === '\n';
|
|
84
114
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return (h("code", { style: this.getStyles(), class: this.getClasses(), ref: this.registerRef.bind(this) }, this.text || ZERO_WIDTH_SPACE));
|
|
89
|
-
}
|
|
90
|
-
return (h("span", { style: this.getStyles(), class: this.getClasses(), ref: this.registerRef.bind(this) }, this.text || ZERO_WIDTH_SPACE));
|
|
91
|
-
}
|
|
115
|
+
/**
|
|
116
|
+
* @inheritDoc
|
|
117
|
+
*/
|
|
92
118
|
doAnnotationActionApply(action) {
|
|
93
119
|
const selectionRangeAnnotation = this.getAnnotationByType(InternalAnnotationTypeEnum.SELECTION_RANGE);
|
|
94
120
|
if (action instanceof TextSplittableAction && action.doSplit && selectionRangeAnnotation) {
|
|
@@ -115,6 +141,9 @@ export class RTETextNode extends RTENode {
|
|
|
115
141
|
}
|
|
116
142
|
this.parentBlock.mergeNodes(action);
|
|
117
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* @inheritDoc
|
|
146
|
+
*/
|
|
118
147
|
doModifyActionApply(action) {
|
|
119
148
|
switch (action.type) {
|
|
120
149
|
case ModifyContentActionType.UPDATE_TEXT:
|
|
@@ -125,19 +154,25 @@ export class RTETextNode extends RTENode {
|
|
|
125
154
|
break;
|
|
126
155
|
}
|
|
127
156
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
}
|
|
157
|
+
/**
|
|
158
|
+
* Split text node with range
|
|
159
|
+
*
|
|
160
|
+
* @param {TextSplittableAction} action - Annotation action
|
|
161
|
+
* @param {Range} range - Selection range
|
|
162
|
+
* @returns {RTETextNode[] | this} RTETextNode array
|
|
163
|
+
*/
|
|
137
164
|
splitTextNode(action, range) {
|
|
138
165
|
const { startContainer, endContainer, startOffset } = range;
|
|
139
166
|
const startNode = startContainer.parentElement;
|
|
140
167
|
const endNode = endContainer.parentElement;
|
|
168
|
+
/**
|
|
169
|
+
* Split the text from the start offset to the end offset
|
|
170
|
+
*
|
|
171
|
+
* @param {string} text - The text string
|
|
172
|
+
* @param {number} startOffset - The start offset position
|
|
173
|
+
* @param {number} endOffset - The end offset position
|
|
174
|
+
* @returns {RTETextNode[]} - The split text node array
|
|
175
|
+
*/
|
|
141
176
|
const splitText = (text, startOffset, endOffset) => {
|
|
142
177
|
const beforeText = text.substring(0, startOffset);
|
|
143
178
|
const selectedText = text.substring(startOffset, endOffset);
|
|
@@ -166,6 +201,12 @@ export class RTETextNode extends RTENode {
|
|
|
166
201
|
return this;
|
|
167
202
|
}
|
|
168
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Apply action to node
|
|
206
|
+
*
|
|
207
|
+
* @param {RTETextNode} node - Text node
|
|
208
|
+
* @param {AnnotationAction} action - AnnotationAction
|
|
209
|
+
*/
|
|
169
210
|
applyActionToNode(node, action) {
|
|
170
211
|
const annotation = action.toAnnotation();
|
|
171
212
|
if (action instanceof SyncUpSelectionAction) {
|
|
@@ -200,6 +241,12 @@ export class RTETextNode extends RTENode {
|
|
|
200
241
|
return;
|
|
201
242
|
}
|
|
202
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Replaces the selected text within a given range with a new text in a TypeScript class.
|
|
246
|
+
*
|
|
247
|
+
* @param {string} text - The new text that will replace the currently selected text within the specified range.
|
|
248
|
+
* @param {RTERange} currentRange - A range of text within a Rich Text Editor (RTE).
|
|
249
|
+
*/
|
|
203
250
|
replaceSelectedText(text, currentRange) {
|
|
204
251
|
if (currentRange && currentRange.startContainer && currentRange.endContainer) {
|
|
205
252
|
const { startContainer, endContainer, startOffset, endOffset } = currentRange;
|
|
@@ -218,16 +265,33 @@ export class RTETextNode extends RTENode {
|
|
|
218
265
|
this.apply(new UpdateTextAction(this.text.slice(0, startIndex) + text + this.text.slice(endIndex)));
|
|
219
266
|
}
|
|
220
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* Updates the text content of a node and unlink the node if it is a link node and the text is deleted.
|
|
270
|
+
*
|
|
271
|
+
* @param {string} newText - The new text string
|
|
272
|
+
*/
|
|
221
273
|
updateText(newText) {
|
|
222
274
|
this.text = newText;
|
|
223
|
-
// The link node should
|
|
275
|
+
// The link node should unlink when delete all text
|
|
224
276
|
if (!this.text && this.isLinkNode()) {
|
|
225
277
|
this.annotationMap.delete(NodeAnnotationTypeEnum.LINK);
|
|
226
278
|
}
|
|
227
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Checks if a node has an annotation with the key 'LINK'.
|
|
282
|
+
*
|
|
283
|
+
* @returns {boolean} A boolean value indicating whether the `annotationMap` has a key 'LINK'.
|
|
284
|
+
*/
|
|
228
285
|
isLinkNode() {
|
|
229
286
|
return this.annotationMap.has('LINK');
|
|
230
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Whether a given range should be split based on various conditions within the range.
|
|
290
|
+
*
|
|
291
|
+
* @param {Range} range - Selection range
|
|
292
|
+
* @returns {boolean} Returns a boolean value indicating whether the
|
|
293
|
+
* selection range should be split.
|
|
294
|
+
*/
|
|
231
295
|
shouldSplitSelection(range) {
|
|
232
296
|
const { startContainer, endContainer, startOffset, endOffset } = range;
|
|
233
297
|
const isCrossNode = startContainer !== endContainer;
|
|
@@ -236,6 +300,11 @@ export class RTETextNode extends RTENode {
|
|
|
236
300
|
const isPartialSelection = isPartialStart || isPartialEnd;
|
|
237
301
|
return isCrossNode || isPartialSelection;
|
|
238
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Sync up the selected node by change manager
|
|
305
|
+
*
|
|
306
|
+
* @param {RTETextNode} selectedNode - The selected node
|
|
307
|
+
*/
|
|
239
308
|
syncUpSelectedNodes(selectedNode) {
|
|
240
309
|
const currentNodeDom = stateEntityRenderingRegistry.getDOMByEntity(this);
|
|
241
310
|
if (currentNodeDom) {
|
|
@@ -245,6 +314,13 @@ export class RTETextNode extends RTENode {
|
|
|
245
314
|
}
|
|
246
315
|
}
|
|
247
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* Insert the new node at the start offset
|
|
319
|
+
*
|
|
320
|
+
* @param {number} startOffset - The start position offset
|
|
321
|
+
* @param {AnnotationAction} action - AnnotationAction
|
|
322
|
+
* @returns {RTETextNode[]} - RTETextNode array
|
|
323
|
+
*/
|
|
248
324
|
insertNewNode(startOffset, action) {
|
|
249
325
|
if (startOffset === 0) {
|
|
250
326
|
const newNode = this.cloneWithText('');
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
2
|
+
import { BlockAnnotation } from '../../annotations/block-annotation.abstract';
|
|
3
|
+
import { isNonNullable } from '../../../../../types/type-guard';
|
|
4
|
+
export class RTEBlockRenderer {
|
|
5
|
+
registerRef(ref, block) {
|
|
6
|
+
if (ref) {
|
|
7
|
+
stateEntityRenderingRegistry.register(ref, block);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get styles from annotations
|
|
12
|
+
*
|
|
13
|
+
* @param {RTEBlock} block - RTE block entity
|
|
14
|
+
* @returns {AnnotationStyle} - Annotation style
|
|
15
|
+
*/
|
|
16
|
+
getStyles(block) {
|
|
17
|
+
return Array.from(block.annotationMap.values())
|
|
18
|
+
.filter((annotation) => annotation instanceof BlockAnnotation)
|
|
19
|
+
.map((annotation) => annotation.render())
|
|
20
|
+
.filter(isNonNullable)
|
|
21
|
+
.reduce((current, obj) => (Object.assign(Object.assign({}, current), obj)), {});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get classes from annotations
|
|
25
|
+
*
|
|
26
|
+
* @param {RTEBlock} block - RTE block entity
|
|
27
|
+
* @returns {AnnotationStyle} - Annotation style
|
|
28
|
+
*/
|
|
29
|
+
getClasses(block) {
|
|
30
|
+
return Array.from(block.annotationMap.values())
|
|
31
|
+
.map((annotation) => { var _a; return (_a = annotation.renderClass) === null || _a === void 0 ? void 0 : _a.call(annotation); })
|
|
32
|
+
.filter(isNonNullable)
|
|
33
|
+
.reduce((pre, cur) => [pre, cur].join(' '), '');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import { InternalAnnotationTypeEnum } from '../../annotations/annotation.abstract';
|
|
3
|
+
import { RTEBlockRenderer } from './block-renderer.abstract';
|
|
4
|
+
import RTETextNodeRenderer from '../nodes/text-node-renderer';
|
|
5
|
+
import { NodeAnnotationTypeEnum } from '../../annotations/node-annotation.abstract';
|
|
6
|
+
import { isNonNullable } from '../../../../../types/type-guard';
|
|
7
|
+
import { generateUUID } from '../../../../../utils/misc';
|
|
8
|
+
import { LinkAnnotationAction } from '../../actions/link-annotation-action';
|
|
9
|
+
import { createEnterKeyHandlerToTriggerClick } from '../../../../../utils/accessibility';
|
|
10
|
+
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
11
|
+
import { VegaChange } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
12
|
+
/**
|
|
13
|
+
* Abstract class for rendering blocks that contain text nodes with support for rendering text with link styles.
|
|
14
|
+
*/
|
|
15
|
+
export class RTEBlockTextNodesRenderer extends RTEBlockRenderer {
|
|
16
|
+
renderNodes(block, renderContext) {
|
|
17
|
+
const linkGroupAnnotation = block.getAnnotationByType(InternalAnnotationTypeEnum.LINK_GROUP);
|
|
18
|
+
return linkGroupAnnotation
|
|
19
|
+
? this.renderLinkNodes(block.nodes, renderContext)
|
|
20
|
+
: block.nodes.map((node) => RTETextNodeRenderer.render(node));
|
|
21
|
+
}
|
|
22
|
+
renderLinkNodes(nodes, { editable }) {
|
|
23
|
+
const blockNodes = this.groupNodesByLink(nodes);
|
|
24
|
+
return blockNodes.flatMap((item) => {
|
|
25
|
+
if (this.isLinkGroup(item)) {
|
|
26
|
+
const linkAnnotation = item[0].getAnnotationByType(NodeAnnotationTypeEnum.LINK);
|
|
27
|
+
return editable
|
|
28
|
+
? this.renderLinkEditorWrapper(item, linkAnnotation)
|
|
29
|
+
: this.renderLink(item, linkAnnotation);
|
|
30
|
+
}
|
|
31
|
+
return RTETextNodeRenderer.render(item);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
groupNodesByLink(nodes) {
|
|
35
|
+
return nodes.reduce((acc, node) => {
|
|
36
|
+
const nodeLinkAnnotation = node.getAnnotationByType(NodeAnnotationTypeEnum.LINK);
|
|
37
|
+
const lastGroup = acc[acc.length - 1];
|
|
38
|
+
if (isNonNullable(nodeLinkAnnotation)) {
|
|
39
|
+
if (lastGroup &&
|
|
40
|
+
this.isLinkGroup(lastGroup) &&
|
|
41
|
+
lastGroup[0].getAnnotationByType(NodeAnnotationTypeEnum.LINK).toEqual(nodeLinkAnnotation)) {
|
|
42
|
+
lastGroup.push(node);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
acc.push([node]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
acc.push(node);
|
|
50
|
+
}
|
|
51
|
+
return acc;
|
|
52
|
+
}, []);
|
|
53
|
+
}
|
|
54
|
+
isLinkGroup(item) {
|
|
55
|
+
return Array.isArray(item);
|
|
56
|
+
}
|
|
57
|
+
renderLinkEditorWrapper(linkNodes, linkAnnotation) {
|
|
58
|
+
const { href } = linkAnnotation.link;
|
|
59
|
+
const textFromNodes = linkNodes.map((node) => node.text).join('');
|
|
60
|
+
const handleChange = ({ detail, }) => {
|
|
61
|
+
switch (detail.action) {
|
|
62
|
+
case 'link': {
|
|
63
|
+
const { url, text } = detail.payload;
|
|
64
|
+
const textChanged = text !== textFromNodes;
|
|
65
|
+
const groupKey = generateUUID();
|
|
66
|
+
linkNodes.forEach((node) => {
|
|
67
|
+
const linkAnnotationAction = new LinkAnnotationAction({
|
|
68
|
+
link: { href: url, groupKey: groupKey },
|
|
69
|
+
newText: textChanged ? text : undefined,
|
|
70
|
+
needMergeNode: textChanged && linkNodes.length > 1,
|
|
71
|
+
doSplit: false,
|
|
72
|
+
});
|
|
73
|
+
node.apply(linkAnnotationAction);
|
|
74
|
+
});
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
case 'unlink': {
|
|
78
|
+
linkNodes.forEach((node) => node.deleteAnnotationByType(NodeAnnotationTypeEnum.LINK));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
let linkWrapperRef;
|
|
84
|
+
return (h("span", { class: "link-editor-wrapper", role: "link", tabIndex: 0, onKeyDown: createEnterKeyHandlerToTriggerClick(), ref: (ref) => {
|
|
85
|
+
if (ref) {
|
|
86
|
+
linkWrapperRef = ref;
|
|
87
|
+
}
|
|
88
|
+
} },
|
|
89
|
+
this.renderLink(linkNodes, linkAnnotation),
|
|
90
|
+
h("vega-rich-text-link-editor", { record: {
|
|
91
|
+
text: textFromNodes,
|
|
92
|
+
url: href,
|
|
93
|
+
}, ref: (ref) => {
|
|
94
|
+
if (ref) {
|
|
95
|
+
ref.target = linkWrapperRef;
|
|
96
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, handleChange);
|
|
97
|
+
}
|
|
98
|
+
} })));
|
|
99
|
+
}
|
|
100
|
+
renderLink(linkNodes, linkAnnotation) {
|
|
101
|
+
const { href } = linkAnnotation.link;
|
|
102
|
+
return (h("a", { class: "v-rte--link", href: href, target: "_blank" }, linkNodes.map((node) => RTETextNodeRenderer.render(node))));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import { RTEImageBlock } from '../../blocks/image-block';
|
|
3
|
+
import { RTEBlockRenderer } from './block-renderer.abstract';
|
|
4
|
+
import RTEImageNodeRenderer from '../nodes/image-node-renderer';
|
|
5
|
+
class RTEImageBlockRenderer extends RTEBlockRenderer {
|
|
6
|
+
canHandle(block) {
|
|
7
|
+
return block instanceof RTEImageBlock;
|
|
8
|
+
}
|
|
9
|
+
render(block, renderContext) {
|
|
10
|
+
return (h("div", { style: Object.assign({}, super.getStyles(block)), ref: (ref) => super.registerRef(ref, block), class: super.getClasses(block) }, block.nodes.map((node) => {
|
|
11
|
+
return RTEImageNodeRenderer.render(node, renderContext);
|
|
12
|
+
})));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export default new RTEImageBlockRenderer();
|
package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import { RTEBlockRenderer } from './block-renderer.abstract';
|
|
3
|
+
import { RTEListBlock } from '../../blocks/list-block';
|
|
4
|
+
import RTEListItemBlockRenderer from './list-item-block-renderer';
|
|
5
|
+
class RTEListBlockRenderer extends RTEBlockRenderer {
|
|
6
|
+
canHandle(block) {
|
|
7
|
+
return block instanceof RTEListBlock;
|
|
8
|
+
}
|
|
9
|
+
render(block, renderContext) {
|
|
10
|
+
const BlockTag = block.type === 'number-list' ? 'ol' : 'ul';
|
|
11
|
+
return (h(BlockTag, { ref: (ref) => super.registerRef(ref, block) }, block.blocks.map((listItemBlock) => RTEListItemBlockRenderer.render(listItemBlock, renderContext))));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export default new RTEListBlockRenderer();
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import RTEListBlockRenderer from './list-block-renderer';
|
|
3
|
+
import { RTEBlockTextNodesRenderer } from './block-text-nodes-renderer.abstract';
|
|
4
|
+
class RTEListItemBlockRenderer extends RTEBlockTextNodesRenderer {
|
|
5
|
+
render(block, renderContext) {
|
|
6
|
+
return (h("li", { ref: (ref) => super.registerRef(ref, block), style: super.getStyles(block), class: super.getClasses(block) },
|
|
7
|
+
super.renderNodes(block, renderContext),
|
|
8
|
+
this.renderChildren(block.children, renderContext)));
|
|
9
|
+
}
|
|
10
|
+
renderChildren(children, renderContext) {
|
|
11
|
+
return children === null || children === void 0 ? void 0 : children.map((block) => RTEListBlockRenderer.render(block, renderContext));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export default new RTEListItemBlockRenderer();
|
package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import { RTETextBlock } from '../../blocks/text-block';
|
|
3
|
+
import { RTEBlockTextNodesRenderer } from './block-text-nodes-renderer.abstract';
|
|
4
|
+
class RTETextBlockRenderer extends RTEBlockTextNodesRenderer {
|
|
5
|
+
canHandle(block) {
|
|
6
|
+
return block instanceof RTETextBlock;
|
|
7
|
+
}
|
|
8
|
+
render(block, renderContext) {
|
|
9
|
+
const BlockTag = this.getBlockTagByType(block.type);
|
|
10
|
+
return (h(BlockTag, { ref: (ref) => super.registerRef(ref, block), style: super.getStyles(block), class: super.getClasses(block) }, super.renderNodes(block, renderContext)));
|
|
11
|
+
}
|
|
12
|
+
getBlockTagByType(type) {
|
|
13
|
+
switch (type) {
|
|
14
|
+
case 'title':
|
|
15
|
+
case 'subtitle':
|
|
16
|
+
return `div`;
|
|
17
|
+
case 'heading-1':
|
|
18
|
+
return `h1`;
|
|
19
|
+
case 'heading-2':
|
|
20
|
+
return `h2`;
|
|
21
|
+
case 'heading-3':
|
|
22
|
+
return `h3`;
|
|
23
|
+
case 'paragraph':
|
|
24
|
+
return 'p';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export default new RTETextBlockRenderer();
|
package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import { ImageAnnotation } from '../../annotations/image-annotation';
|
|
3
|
+
import { NodeAnnotationTypeEnum } from '../../annotations/node-annotation.abstract';
|
|
4
|
+
import { ImageAnnotationAction } from '../../actions/image-annotation-action';
|
|
5
|
+
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
6
|
+
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
7
|
+
import { VegaChange } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
8
|
+
import { RTENodeRenderer } from './node-renderer.abstract';
|
|
9
|
+
class RTEImageNodeRenderer extends RTENodeRenderer {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.handleChange = ({ detail }, node) => {
|
|
13
|
+
switch (detail.action) {
|
|
14
|
+
case 'edit': {
|
|
15
|
+
const size = detail.payload.size;
|
|
16
|
+
const alt = detail.payload.alt;
|
|
17
|
+
node.apply(new ImageAnnotationAction(size, alt));
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
/*
|
|
21
|
+
* The below method is e2e-test covered in
|
|
22
|
+
* @see{module:vega-rich-text-editor-image-click-delete-button}
|
|
23
|
+
*/
|
|
24
|
+
/* istanbul ignore next */
|
|
25
|
+
case 'delete': {
|
|
26
|
+
const event = new InputEvent('beforeinput', {
|
|
27
|
+
inputType: 'deleteContentBackward',
|
|
28
|
+
bubbles: true,
|
|
29
|
+
});
|
|
30
|
+
setTimeout(() => {
|
|
31
|
+
stateEntityRenderingRegistry.getDOMByEntity(node).dispatchEvent(event);
|
|
32
|
+
}, 50);
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
render(node, renderContext) {
|
|
39
|
+
const imageAnnotation = node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
|
|
40
|
+
const { size, alt } = imageAnnotation || new ImageAnnotation('md', '');
|
|
41
|
+
return renderContext.editable ? (h("vega-rich-text-image-editor", { style: super.getStyles(node), size: size, alt: alt, ref: (ref) => {
|
|
42
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (e) => this.handleChange(e, node));
|
|
43
|
+
} }, this.renderImage(alt, node, renderContext))) : (this.renderImage(alt, node, renderContext));
|
|
44
|
+
}
|
|
45
|
+
renderImage(alt, node, renderContext) {
|
|
46
|
+
return (h("img", { style: renderContext.editable ? { width: '100%' } : super.getStyles(node), alt: alt, src: node.url, ref: (ref) => super.registerRef(ref, node) }));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export default new RTEImageNodeRenderer();
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
2
|
+
import { NodeAnnotation } from '../../annotations/node-annotation.abstract';
|
|
3
|
+
export class RTENodeRenderer {
|
|
4
|
+
registerRef(ref, node) {
|
|
5
|
+
if (ref) {
|
|
6
|
+
stateEntityRenderingRegistry.register(ref, node);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Get styles from annotations
|
|
11
|
+
*
|
|
12
|
+
* @param {RTENode} node - The DTO node
|
|
13
|
+
* @returns {AnnotationStyle} - Annotation style
|
|
14
|
+
*/
|
|
15
|
+
getStyles(node) {
|
|
16
|
+
return Array.from(node.annotationMap.values())
|
|
17
|
+
.filter((annotation) => annotation instanceof NodeAnnotation)
|
|
18
|
+
.map((annotation) => annotation.render())
|
|
19
|
+
.filter(Boolean)
|
|
20
|
+
.reduce((current, obj) => (Object.assign(Object.assign({}, current), obj)), {});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get classes from annotations
|
|
24
|
+
*
|
|
25
|
+
* @param {RTENode} node - The DTO node
|
|
26
|
+
* @returns {AnnotationStyle} - Annotation style
|
|
27
|
+
*/
|
|
28
|
+
getClasses(node) {
|
|
29
|
+
return Array.from(node.annotationMap.values())
|
|
30
|
+
.filter((annotation) => annotation instanceof NodeAnnotation)
|
|
31
|
+
.map((annotation) => { var _a; return (_a = annotation.renderClass) === null || _a === void 0 ? void 0 : _a.call(annotation); })
|
|
32
|
+
.filter(Boolean)
|
|
33
|
+
.reduce((pre, cur) => [pre, cur].join(' '), '');
|
|
34
|
+
}
|
|
35
|
+
}
|
package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import { RTENodeRenderer } from './node-renderer.abstract';
|
|
3
|
+
import { NodeAnnotationTypeEnum } from '../../annotations/node-annotation.abstract';
|
|
4
|
+
import { ZERO_WIDTH_SPACE } from '../../../constants/constant';
|
|
5
|
+
import TextNodeElementRenderingRegistry from '../../../slimmers/controllers/text-node-rendering-registry';
|
|
6
|
+
class RTETextNodeRenderer extends RTENodeRenderer {
|
|
7
|
+
render(node) {
|
|
8
|
+
const codeAnnotation = node.annotationMap.get(NodeAnnotationTypeEnum.CODE);
|
|
9
|
+
if (codeAnnotation === null || codeAnnotation === void 0 ? void 0 : codeAnnotation.code) {
|
|
10
|
+
return (h("code", { style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
|
|
11
|
+
}
|
|
12
|
+
return (h("span", { style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
|
|
13
|
+
}
|
|
14
|
+
registerRef(ref, node) {
|
|
15
|
+
super.registerRef(ref, node);
|
|
16
|
+
if (ref) {
|
|
17
|
+
const textColorAnnotation = node.getAnnotationByType('TEXT_COLOR');
|
|
18
|
+
if (textColorAnnotation) {
|
|
19
|
+
TextNodeElementRenderingRegistry.register(ref, textColorAnnotation);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export default new RTETextNodeRenderer();
|
|
@@ -7,12 +7,14 @@ import { ImgToRTEImageBlockStrategy } from './img-to-rte-image-block-strategy';
|
|
|
7
7
|
import { VegaImageToRTEImageBlockStrategy } from './vega-image-to-rte-image-block-strategy';
|
|
8
8
|
import { OlToRTEListBlockStrategy } from './ol-to-rte-list-block-strategy';
|
|
9
9
|
import { SpanImageToRTEImageBlockStrategy } from './span-img-to-rte-image-block-strategy';
|
|
10
|
+
import { ULNotLiChildToRTEListItemBlockStrategy } from './ul-not-li-child-to-rte-list-item-block';
|
|
10
11
|
/** Element to DTO processor */
|
|
11
12
|
export class ElementToDtoStrategyProcessor {
|
|
12
13
|
constructor() {
|
|
13
14
|
this.elementStrategies = [
|
|
14
15
|
new UlToRTEListBlockStrategy(),
|
|
15
16
|
new OlToRTEListBlockStrategy(),
|
|
17
|
+
new ULNotLiChildToRTEListItemBlockStrategy(),
|
|
16
18
|
new LiToRTEListItemBlockStrategy(),
|
|
17
19
|
new InlineBlockToRTETextBlockStrategy(),
|
|
18
20
|
new ImgToRTEImageBlockStrategy(),
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { generateUUID } from '../../../../../../utils/misc';
|
|
2
|
+
import { RTEListItemBlock } from '../../../../dto/blocks/list-item-block';
|
|
3
|
+
import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
|
|
4
|
+
/** Transform child element of UL element which are not LI element to list item block DTO */
|
|
5
|
+
export class ULNotLiChildToRTEListItemBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
6
|
+
/**
|
|
7
|
+
* Can be handle.
|
|
8
|
+
*
|
|
9
|
+
* @param {HTMLElement[]} elementsArray - Current elements.
|
|
10
|
+
* @param {number} currentIndex - Current element index.
|
|
11
|
+
* @returns {number} - can be handled element count.
|
|
12
|
+
*/
|
|
13
|
+
canHandle(elementsArray, currentIndex) {
|
|
14
|
+
const element = elementsArray[currentIndex];
|
|
15
|
+
const parent = element.parentElement;
|
|
16
|
+
return element.nodeName !== 'LI' && parent && ['UL', 'OL'].includes(parent.nodeName) ? 1 : 0;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Parse to a list item block.
|
|
20
|
+
*
|
|
21
|
+
* @param {HTMLElement[]} elementsArray - Current elements.
|
|
22
|
+
* @returns {Nullable<RTEContentBlock>} - List item block.
|
|
23
|
+
*/
|
|
24
|
+
handle(elementsArray) {
|
|
25
|
+
const nodes = this.generateChildNodes(elementsArray);
|
|
26
|
+
if (nodes.length === 0)
|
|
27
|
+
return null;
|
|
28
|
+
return RTEListItemBlock.from({
|
|
29
|
+
id: generateUUID(),
|
|
30
|
+
type: 'list-item',
|
|
31
|
+
nodes: nodes,
|
|
32
|
+
annotations: {},
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/* istanbul ignore next */
|
|
36
|
+
/**
|
|
37
|
+
* Append child blocks.
|
|
38
|
+
*/
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
40
|
+
appendChildBlocks() { }
|
|
41
|
+
/**
|
|
42
|
+
* Should continue process to child elements.
|
|
43
|
+
*
|
|
44
|
+
* @returns {boolean} - boolean.
|
|
45
|
+
*/
|
|
46
|
+
shouldProceedToElementChildren() {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js
CHANGED
|
@@ -34,11 +34,22 @@ export class ValueController extends VegaSlimmer {
|
|
|
34
34
|
disconnectedCallback() {
|
|
35
35
|
ChangeManager.unregister(domNodeSubjectFactory.getSubject(this.host, VegaInternalRichTextEditorFlushChanges), this.flushChangeObserver);
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Component lifecycle - [componentWillLoad]{@link VegaRichTextEditor.componentWillLoad}
|
|
39
|
+
*/
|
|
40
|
+
componentWillLoad() {
|
|
41
|
+
if (this.value && !(this.value instanceof VegaRTEContent)) {
|
|
42
|
+
this.value = VegaRTEContent.fromJSON(this.value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
37
45
|
/**
|
|
38
46
|
* Watches the value of the editor and updates the internal value.
|
|
39
47
|
*/
|
|
40
48
|
watchValueUpdate() {
|
|
41
|
-
if (
|
|
49
|
+
if (this.value && !(this.value instanceof VegaRTEContent)) {
|
|
50
|
+
this.value = VegaRTEContent.fromJSON(this.value);
|
|
51
|
+
}
|
|
52
|
+
else if (!this.value || this.value.blocks.length === 0) {
|
|
42
53
|
this.value = VegaRTEContent.createEmptyContent();
|
|
43
54
|
}
|
|
44
55
|
else {
|
|
@@ -86,6 +97,9 @@ __decorate([
|
|
|
86
97
|
__decorate([
|
|
87
98
|
MapToComponentMethod('disconnectedCallback')
|
|
88
99
|
], ValueController.prototype, "disconnectedCallback", null);
|
|
100
|
+
__decorate([
|
|
101
|
+
MapToComponentMethod('componentWillLoad')
|
|
102
|
+
], ValueController.prototype, "componentWillLoad", null);
|
|
89
103
|
__decorate([
|
|
90
104
|
MapToComponentMethod('watchValueUpdate')
|
|
91
105
|
], ValueController.prototype, "watchValueUpdate", null);
|