@globalpayments/vega 2.34.1 → 2.35.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-fb3693cc.js} +22 -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-3e4467a3.js +134 -0
- 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-700b7004.js} +6 -6
- 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-dbb321ad.js} +61 -37
- 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-d3e1699c.js} +78 -27
- package/dist/cjs/{global-slimmer-registry-dd2691b8.js → index-09acd3c9.js} +282 -296
- package/dist/cjs/index.cjs.js +27 -28
- 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/{content-state-6a5b9736.js → list-block-91116257.js} +1346 -402
- package/dist/cjs/loader.cjs.js +21 -21
- 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-e5d3a859.js} +37 -48
- 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-c2e08e06.js} +8 -8
- package/dist/cjs/{sub-state-observer-slimmer-10c0d402.js → sub-state-observer-slimmer-b97e46b5.js} +8 -8
- 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 +32 -30
- 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 +135 -133
- 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 +46 -44
- package/dist/cjs/vega-chip.cjs.entry.js +36 -34
- package/dist/cjs/vega-color-picker.cjs.entry.js +26 -24
- package/dist/cjs/vega-combo-box.cjs.entry.js +46 -44
- package/dist/cjs/vega-counter-badge.cjs.entry.js +10 -9
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +92 -54
- 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 +132 -130
- 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 +67 -65
- package/dist/cjs/vega-flex.cjs.entry.js +14 -13
- package/dist/cjs/vega-font.cjs.entry.js +14 -13
- package/dist/cjs/vega-form.cjs.entry.js +47 -40
- 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 +51 -49
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +37 -35
- package/dist/cjs/vega-input-numeric.cjs.entry.js +30 -28
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +98 -50
- package/dist/cjs/vega-input-range.cjs.entry.js +40 -38
- package/dist/cjs/vega-input-select.cjs.entry.js +62 -60
- package/dist/cjs/vega-input.cjs.entry.js +46 -44
- package/dist/cjs/vega-item-toggle.cjs.entry.js +21 -19
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +102 -100
- 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 +52 -50
- package/dist/cjs/vega-pie-chart.cjs.entry.js +7 -6
- package/dist/cjs/vega-popover_2.cjs.entry.js +34 -32
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +29 -27
- package/dist/cjs/vega-radio_2.cjs.entry.js +50 -48
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +323 -23
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +384 -334
- 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 +49 -47
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +61 -59
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +46 -44
- package/dist/cjs/vega-signature-capture.cjs.entry.js +40 -38
- 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 +34 -32
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +88 -75
- package/dist/cjs/vega-table_8.cjs.entry.js +184 -182
- package/dist/cjs/vega-text.cjs.entry.js +9 -8
- package/dist/cjs/vega-textarea.cjs.entry.js +34 -32
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +83 -81
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +23 -21
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +20 -19
- package/dist/cjs/vega.cjs.js +21 -21
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +37 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +20 -0
- 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-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +18 -1
- 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/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-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/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/validator/form-field-controller.js +9 -3
- 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-5b154b6d.js} +13 -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-f39c4bbf.js +132 -0
- 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-d71e3109.js} +6 -6
- 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-add614f1.js} +55 -31
- 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-a8e00f28.js} +55 -6
- package/dist/esm/{global-slimmer-registry-6887a59f.js → index-187f71d1.js} +283 -284
- package/dist/esm/index.js +20 -21
- 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/{content-state-4b036bf1.js → list-block-ba82c846.js} +1225 -299
- package/dist/esm/loader.js +20 -20
- 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-d7d52bce.js} +35 -47
- 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-48bad548.js} +4 -4
- package/dist/esm/{sub-state-observer-slimmer-0968ce04.js → sub-state-observer-slimmer-403cc4e7.js} +4 -4
- 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 +15 -13
- 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 +23 -21
- 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 +19 -17
- package/dist/esm/vega-chip.entry.js +17 -15
- package/dist/esm/vega-color-picker.entry.js +16 -14
- package/dist/esm/vega-combo-box.entry.js +20 -18
- package/dist/esm/vega-counter-badge.entry.js +4 -3
- package/dist/esm/vega-date-picker_2.entry.js +67 -29
- 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 +27 -25
- 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 +19 -17
- package/dist/esm/vega-flex.entry.js +11 -10
- package/dist/esm/vega-font.entry.js +9 -8
- package/dist/esm/vega-form.entry.js +28 -21
- 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 +21 -19
- package/dist/esm/vega-input-credit-card.entry.js +20 -18
- package/dist/esm/vega-input-numeric.entry.js +21 -19
- package/dist/esm/vega-input-phone-number.entry.js +70 -22
- package/dist/esm/vega-input-range.entry.js +19 -17
- package/dist/esm/vega-input-select.entry.js +22 -20
- package/dist/esm/vega-input.entry.js +18 -16
- package/dist/esm/vega-item-toggle.entry.js +12 -10
- package/dist/esm/vega-left-nav_5.entry.js +24 -22
- 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 +16 -14
- package/dist/esm/vega-pie-chart.entry.js +4 -3
- package/dist/esm/vega-popover_2.entry.js +18 -16
- package/dist/esm/vega-progress-tracker.entry.js +12 -10
- package/dist/esm/vega-radio_2.entry.js +21 -19
- package/dist/esm/vega-rich-text-content.entry.js +317 -17
- package/dist/esm/vega-rich-text-editor_4.entry.js +79 -29
- 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 +21 -19
- package/dist/esm/vega-selection-tile_2.entry.js +21 -19
- package/dist/esm/vega-sidenav_3.entry.js +19 -17
- package/dist/esm/vega-signature-capture.entry.js +22 -20
- 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 +18 -16
- package/dist/esm/vega-tab-group_2.entry.js +49 -36
- package/dist/esm/vega-table_8.entry.js +25 -23
- package/dist/esm/vega-text.entry.js +5 -4
- package/dist/esm/vega-textarea.entry.js +18 -16
- package/dist/esm/vega-time-picker_2.entry.js +25 -23
- package/dist/esm/vega-toggle-switch.entry.js +16 -14
- package/dist/esm/vega-tooltip_2.entry.js +13 -12
- package/dist/esm/vega.js +20 -20
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +3 -0
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +9 -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-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +2 -0
- 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-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 +21 -0
- 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/validator/form-field-controller.d.ts +5 -2
- 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 +1 -0
- 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-05f5e22b.entry.js +1 -0
- package/dist/vega/p-0634f06b.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-0be711b6.entry.js +1 -0
- package/dist/vega/p-0c2eb135.entry.js +1 -0
- package/dist/vega/p-0ee10fd7.js +1 -0
- package/dist/vega/p-12ad8ada.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-193d2c51.entry.js +1 -0
- package/dist/vega/p-1a64716b.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-21d59593.entry.js +1 -0
- package/dist/vega/p-2205ee4c.js +1 -0
- package/dist/vega/p-29b09aad.js +1 -0
- package/dist/vega/p-2bbcb1ca.entry.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-3126edd6.entry.js +1 -0
- package/dist/vega/p-33b62194.js +1 -0
- package/dist/vega/p-42df8a42.js +1 -0
- package/dist/vega/{p-8f93242a.js → p-4387d550.js} +1 -1
- package/dist/vega/p-45dd4698.entry.js +1 -0
- package/dist/vega/p-4873be94.entry.js +1 -0
- package/dist/vega/{p-3b4bde3e.js → p-4b500240.js} +1 -1
- package/dist/vega/{p-e0b25eaf.js → p-4f0b56fc.js} +1 -1
- package/dist/vega/p-5298fd92.entry.js +1 -0
- package/dist/vega/p-5760619c.entry.js +1 -0
- package/dist/vega/p-5915634b.js +1 -0
- package/dist/vega/p-5dd923e0.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-625771d7.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-6c09b79a.entry.js +1 -0
- package/dist/vega/p-6d23c08b.entry.js +1 -0
- package/dist/vega/p-6e1ab235.js +1 -0
- package/dist/vega/p-71eeb279.entry.js +1 -0
- package/dist/vega/p-7258cb9c.entry.js +1 -0
- package/dist/vega/p-72eee5e2.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-7ecbf764.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-84f2f342.js +1 -0
- package/dist/vega/p-85365f8b.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-8fc170d9.entry.js +1 -0
- package/dist/vega/p-91aa058f.entry.js +1 -0
- package/dist/vega/{p-8c26227e.js → p-926596cc.js} +1 -1
- package/dist/vega/p-92707b74.entry.js +1 -0
- package/dist/vega/p-97453cd8.entry.js +1 -0
- 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-a01f149d.entry.js +1 -0
- package/dist/vega/{p-3953c705.js → p-af7a3154.js} +1 -1
- package/dist/vega/p-b0e824df.entry.js +13 -0
- package/dist/vega/p-b2bca332.entry.js +1 -0
- package/dist/vega/p-b57792b7.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-b6f09c98.entry.js +1 -0
- package/dist/vega/p-b9a09a76.js +1 -0
- package/dist/vega/p-bcb10ae3.entry.js +1 -0
- package/dist/vega/{p-39836361.js → p-be12fa36.js} +1 -1
- package/dist/vega/p-c016c3b2.entry.js +1 -0
- package/dist/vega/p-c02f650e.entry.js +1 -0
- package/dist/vega/p-c2b276f7.entry.js +1 -0
- package/dist/vega/p-c51a3e3c.entry.js +1 -0
- package/dist/vega/p-c56965fc.entry.js +1 -0
- package/dist/vega/p-c6f544fe.entry.js +1 -0
- package/dist/vega/p-c88acd87.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-d09d153f.entry.js +1 -0
- package/dist/vega/p-d994874a.entry.js +1 -0
- package/dist/vega/p-dcdac4d0.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-e04d4ba3.entry.js +1 -0
- package/dist/vega/p-e093b2c5.entry.js +1 -0
- package/dist/vega/p-e480babd.entry.js +1 -0
- package/dist/vega/p-e8f540d8.js +1 -0
- package/dist/vega/p-eaf6c3d8.entry.js +1 -0
- package/dist/vega/p-efbea85a.entry.js +1 -0
- package/dist/vega/p-f2cc36ae.entry.js +1 -0
- package/dist/vega/{p-81ead59a.js → p-f31bb1fd.js} +1 -1
- package/dist/vega/p-f48711fa.entry.js +1 -0
- package/dist/vega/p-f690539e.entry.js +1 -0
- package/dist/vega/p-f6b89936.entry.js +1 -0
- package/dist/vega/p-f84fd31c.js +1 -0
- package/dist/vega/p-fc6ea557.entry.js +1 -0
- package/dist/vega/{p-acf7f903.js → p-ff4bafa3.js} +1 -1
- package/dist/vega/p-ff50c204.entry.js +1 -0
- 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-a6104aa7.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-f5b2e72a.entry.js +0 -1
- package/dist/vega/p-f6af3749.js +0 -1
- package/dist/vega/p-fc622a75.js +0 -1
|
@@ -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/test/dto/blocks/image-block.test.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { BoldAnnotationAction } from '../../../dto/actions/bold-annotation-action';
|
|
2
|
-
import { HorizontalAlignmentAnnotationAction } from '../../../dto/actions/horizontal-alignment-annotation-action';
|
|
3
1
|
import { RTEImageBlock } from '../../../dto/blocks/image-block';
|
|
4
2
|
import { RTEImageNode } from '../../../dto/nodes/image-node';
|
|
5
3
|
describe('image block', () => {
|
|
@@ -64,14 +62,6 @@ describe('image block', () => {
|
|
|
64
62
|
annotations: { indent: 2 },
|
|
65
63
|
});
|
|
66
64
|
});
|
|
67
|
-
it('render method should work as expect', () => {
|
|
68
|
-
const imageBlock = new RTEImageBlock('block-1');
|
|
69
|
-
const imageNode = new RTEImageNode('1', 'mock-url', imageBlock);
|
|
70
|
-
imageBlock.nodes = [imageNode];
|
|
71
|
-
imageNode.apply(new BoldAnnotationAction(true));
|
|
72
|
-
imageBlock.apply(new HorizontalAlignmentAnnotationAction('right'));
|
|
73
|
-
expect(imageBlock.render()).toBeDefined();
|
|
74
|
-
});
|
|
75
65
|
it('isNotEmpty should work as expect', () => {
|
|
76
66
|
const imageBlock = new RTEImageBlock('block-1');
|
|
77
67
|
const imageNode = new RTEImageNode('1', 'mock-url', imageBlock);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { RTEListBlock } from '../../../dto/blocks/list-block';
|
|
2
|
-
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
3
2
|
describe('bullet list', () => {
|
|
4
3
|
it('new RTEBulletListBlock should work as expect', () => {
|
|
5
4
|
expect(new RTEListBlock('1', 'bullet-list')).toBeDefined();
|
|
@@ -61,33 +60,6 @@ describe('bullet list', () => {
|
|
|
61
60
|
],
|
|
62
61
|
});
|
|
63
62
|
});
|
|
64
|
-
it('registerRef method should work as expect', () => {
|
|
65
|
-
const bulletListBlock = new RTEListBlock('1', 'bullet-list');
|
|
66
|
-
const mockDiv = document.createElement('div');
|
|
67
|
-
bulletListBlock['registerRef'](mockDiv);
|
|
68
|
-
expect(stateEntityRenderingRegistry.getDOMByEntity(bulletListBlock)).toEqual(mockDiv);
|
|
69
|
-
expect(stateEntityRenderingRegistry.getEntityByDOM(mockDiv)).toEqual(bulletListBlock);
|
|
70
|
-
});
|
|
71
|
-
it('render method should work as expect', () => {
|
|
72
|
-
expect(new RTEListBlock('1', 'bullet-list').render()).toBeDefined();
|
|
73
|
-
expect(RTEListBlock.from({
|
|
74
|
-
id: '1-1-1',
|
|
75
|
-
type: 'bullet-list',
|
|
76
|
-
blocks: [
|
|
77
|
-
{
|
|
78
|
-
id: '1-1-1-1',
|
|
79
|
-
type: 'list-item',
|
|
80
|
-
nodes: [
|
|
81
|
-
{
|
|
82
|
-
id: '1-1-1-1-1',
|
|
83
|
-
type: 'text',
|
|
84
|
-
text: 'This is a bullet-list 3-1.',
|
|
85
|
-
},
|
|
86
|
-
],
|
|
87
|
-
},
|
|
88
|
-
],
|
|
89
|
-
}).render()).toBeDefined();
|
|
90
|
-
});
|
|
91
63
|
it('isNotEmpty should work as expect', () => {
|
|
92
64
|
const bulletListBlock = RTEListBlock.from({
|
|
93
65
|
id: '1',
|
|
@@ -133,26 +105,6 @@ describe('bullet list', () => {
|
|
|
133
105
|
});
|
|
134
106
|
});
|
|
135
107
|
describe('number list', () => {
|
|
136
|
-
it('render method should work as expect', () => {
|
|
137
|
-
expect(new RTEListBlock('1', 'bullet-list').render()).toBeDefined();
|
|
138
|
-
expect(RTEListBlock.from({
|
|
139
|
-
id: '1-1-1',
|
|
140
|
-
type: 'number-list',
|
|
141
|
-
blocks: [
|
|
142
|
-
{
|
|
143
|
-
id: '1-1-1-1',
|
|
144
|
-
type: 'list-item',
|
|
145
|
-
nodes: [
|
|
146
|
-
{
|
|
147
|
-
id: '1-1-1-1-1',
|
|
148
|
-
type: 'text',
|
|
149
|
-
text: 'This is a bullet-list 3-1.',
|
|
150
|
-
},
|
|
151
|
-
],
|
|
152
|
-
},
|
|
153
|
-
],
|
|
154
|
-
}).render()).toBeDefined();
|
|
155
|
-
});
|
|
156
108
|
it('isNotEmpty should work as expect', () => {
|
|
157
109
|
const listBlock = RTEListBlock.from({
|
|
158
110
|
id: '1',
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { RTEListItemBlock } from '../../../dto/blocks/list-item-block';
|
|
2
2
|
import { RTETextNode } from '../../../dto/nodes/text-node';
|
|
3
|
-
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
4
3
|
describe('bullet list item', () => {
|
|
5
4
|
it('new RTEBulletListItemBlock should work as expect', () => {
|
|
6
5
|
const bulletListItemBlock = new RTEListItemBlock('1');
|
|
@@ -129,45 +128,6 @@ describe('bullet list item', () => {
|
|
|
129
128
|
],
|
|
130
129
|
});
|
|
131
130
|
});
|
|
132
|
-
it('render method should work as expect', () => {
|
|
133
|
-
expect(RTEListItemBlock.from({
|
|
134
|
-
id: '1',
|
|
135
|
-
type: 'list-item',
|
|
136
|
-
nodes: [
|
|
137
|
-
{
|
|
138
|
-
id: '1-1',
|
|
139
|
-
type: 'text',
|
|
140
|
-
text: 'This is a bullet-list 1.',
|
|
141
|
-
},
|
|
142
|
-
],
|
|
143
|
-
children: [
|
|
144
|
-
{
|
|
145
|
-
id: '1-1-1',
|
|
146
|
-
type: 'bullet-list',
|
|
147
|
-
blocks: [
|
|
148
|
-
{
|
|
149
|
-
id: '1-1-1-1',
|
|
150
|
-
type: 'list-item',
|
|
151
|
-
nodes: [
|
|
152
|
-
{
|
|
153
|
-
id: '1-1-1-1-1',
|
|
154
|
-
type: 'text',
|
|
155
|
-
text: 'This is a bullet-list 3-1.',
|
|
156
|
-
},
|
|
157
|
-
],
|
|
158
|
-
},
|
|
159
|
-
],
|
|
160
|
-
},
|
|
161
|
-
],
|
|
162
|
-
}).render()).toBeDefined();
|
|
163
|
-
});
|
|
164
|
-
it('registerRef method should work as expect', () => {
|
|
165
|
-
const bulletListItemBlock = new RTEListItemBlock('1');
|
|
166
|
-
const mockDiv = document.createElement('div');
|
|
167
|
-
bulletListItemBlock['registerRef'](mockDiv);
|
|
168
|
-
expect(stateEntityRenderingRegistry.getDOMByEntity(bulletListItemBlock)).toEqual(mockDiv);
|
|
169
|
-
expect(stateEntityRenderingRegistry.getEntityByDOM(mockDiv)).toEqual(bulletListItemBlock);
|
|
170
|
-
});
|
|
171
131
|
it('getLastNode should work as expect', () => {
|
|
172
132
|
const listItemBlock = RTEListItemBlock.from({
|
|
173
133
|
id: '1',
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { RTETextBlock } from '../../../dto/blocks/text-block';
|
|
2
2
|
import { RTETextNode } from '../../../dto/nodes/text-node';
|
|
3
|
-
import { BoldAnnotationAction } from '../../../dto/actions/bold-annotation-action';
|
|
4
|
-
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
5
3
|
import { TextStyleAnnotationAction } from '../../../dto/actions/text-style-annotation-action';
|
|
6
|
-
import domNodesSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
7
|
-
import { VegaInternalRichTextEditorFlushChanges } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
8
|
-
import { HorizontalAlignmentAnnotationAction } from '../../../dto/actions/horizontal-alignment-annotation-action';
|
|
9
4
|
import { SelectionChangeAction } from '../../../dto/actions/selection-change-action';
|
|
10
5
|
describe('text block', () => {
|
|
11
6
|
it('new RTETextBlock should work as expect', () => {
|
|
@@ -84,35 +79,6 @@ describe('text block', () => {
|
|
|
84
79
|
},
|
|
85
80
|
});
|
|
86
81
|
});
|
|
87
|
-
it('render method should work as expect', () => {
|
|
88
|
-
const textBlock = new RTETextBlock('block-1', 'paragraph');
|
|
89
|
-
const textNode = new RTETextNode('1', 'This is a text.', textBlock);
|
|
90
|
-
textBlock.nodes = [textNode];
|
|
91
|
-
textNode.apply(new BoldAnnotationAction(true));
|
|
92
|
-
textBlock.apply(new HorizontalAlignmentAnnotationAction('right'));
|
|
93
|
-
expect(textBlock.render()).toBeDefined();
|
|
94
|
-
});
|
|
95
|
-
it('getBlockTagByType should work as expect', () => {
|
|
96
|
-
const titleBlock = new RTETextBlock('block-1', 'title');
|
|
97
|
-
expect(titleBlock['getBlockTagByType'](titleBlock.type)).toEqual('div');
|
|
98
|
-
const subtitleBlock = new RTETextBlock('block-1', 'subtitle');
|
|
99
|
-
expect(subtitleBlock['getBlockTagByType'](subtitleBlock.type)).toEqual('div');
|
|
100
|
-
const heading1Block = new RTETextBlock('block-1', 'heading-1');
|
|
101
|
-
expect(heading1Block['getBlockTagByType'](heading1Block.type)).toEqual('h1');
|
|
102
|
-
const heading2Block = new RTETextBlock('block-1', 'heading-2');
|
|
103
|
-
expect(heading2Block['getBlockTagByType'](heading2Block.type)).toEqual('h2');
|
|
104
|
-
const heading3Block = new RTETextBlock('block-1', 'heading-3');
|
|
105
|
-
expect(heading3Block['getBlockTagByType'](heading3Block.type)).toEqual('h3');
|
|
106
|
-
const paragraphBlock = new RTETextBlock('block-1', 'paragraph');
|
|
107
|
-
expect(paragraphBlock['getBlockTagByType'](paragraphBlock.type)).toEqual('p');
|
|
108
|
-
});
|
|
109
|
-
it('registerRef method should work as expect', () => {
|
|
110
|
-
const titleBlock = new RTETextBlock('block-1', 'title');
|
|
111
|
-
const mockDiv = document.createElement('div');
|
|
112
|
-
titleBlock['registerRef'](mockDiv);
|
|
113
|
-
expect(stateEntityRenderingRegistry.getDOMByEntity(titleBlock)).toEqual(mockDiv);
|
|
114
|
-
expect(stateEntityRenderingRegistry.getEntityByDOM(mockDiv)).toEqual(titleBlock);
|
|
115
|
-
});
|
|
116
82
|
it('apply method should work as expect', () => {
|
|
117
83
|
const titleBlock = new RTETextBlock('block-1', 'title');
|
|
118
84
|
const textNode = new RTETextNode('1', 'This is a text.', titleBlock);
|
|
@@ -135,11 +101,6 @@ describe('text block', () => {
|
|
|
135
101
|
};
|
|
136
102
|
mockDiv.append(mockSpan);
|
|
137
103
|
mockHost.append(mockDiv);
|
|
138
|
-
titleBlock['registerRef'](mockDiv);
|
|
139
|
-
textNode['registerRef'](mockSpan);
|
|
140
|
-
const parentSubject = domNodesSubjectFactory.getSubject(mockHost, VegaInternalRichTextEditorFlushChanges);
|
|
141
|
-
expect(domNodesSubjectFactory.getSubjectFromParentNodeByEventId(mockDiv, VegaInternalRichTextEditorFlushChanges)).toEqual(parentSubject);
|
|
142
|
-
expect(stateEntityRenderingRegistry.getDOMByEntity(titleBlock)).toEqual(mockDiv);
|
|
143
104
|
expect(titleBlock.type).toEqual('title');
|
|
144
105
|
textNode.apply(new SelectionChangeAction(range));
|
|
145
106
|
titleBlock.apply(new TextStyleAnnotationAction('heading-1', true));
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { RTEImageNode } from '../../../dto/nodes/image-node';
|
|
2
2
|
import { RTEImageBlock } from '../../../dto/blocks/image-block';
|
|
3
|
-
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
4
3
|
import { ImageAnnotationAction } from '../../../dto/actions/image-annotation-action';
|
|
5
4
|
describe('image node', () => {
|
|
6
5
|
it('new RTEImageNode should work as expect', () => {
|
|
@@ -8,19 +7,6 @@ describe('image node', () => {
|
|
|
8
7
|
const imageNode = new RTEImageNode('1', 'mock-url', imageBlock);
|
|
9
8
|
expect(imageNode.toJSON()).toEqual({ id: '1', type: 'image', url: 'mock-url' });
|
|
10
9
|
});
|
|
11
|
-
it('render method should work as expect', () => {
|
|
12
|
-
const imageBlock = new RTEImageBlock('block-id');
|
|
13
|
-
const imageNode = new RTEImageNode('1', 'mock-url', imageBlock);
|
|
14
|
-
expect(imageNode.render()).toBeDefined();
|
|
15
|
-
});
|
|
16
|
-
it('registerRef method should work as expect', () => {
|
|
17
|
-
const imageBlock = new RTEImageBlock('block-id');
|
|
18
|
-
const imageNode = new RTEImageNode('1', 'mock-url', imageBlock);
|
|
19
|
-
const mockImg = document.createElement('img');
|
|
20
|
-
imageNode['registerRef'](mockImg);
|
|
21
|
-
expect(stateEntityRenderingRegistry.getDOMByEntity(imageNode)).toEqual(mockImg);
|
|
22
|
-
expect(stateEntityRenderingRegistry.getEntityByDOM(mockImg)).toEqual(imageNode);
|
|
23
|
-
});
|
|
24
10
|
it('apply method should work as expect', () => {
|
|
25
11
|
const imageBlock = new RTEImageBlock('1');
|
|
26
12
|
const imageNode = new RTEImageNode('1', 'mock-url', imageBlock);
|
|
@@ -15,10 +15,6 @@ import { BoldAnnotationAction } from '../../../dto/actions/bold-annotation-actio
|
|
|
15
15
|
import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
|
|
16
16
|
import stateEntityRenderingRegistry from '../../../slimmers/controllers/state-entity-rendering-registry';
|
|
17
17
|
import { SelectionChangeAction } from '../../../dto/actions/selection-change-action';
|
|
18
|
-
import domNodesSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
19
|
-
import { VegaInternalRichTextEditorFlushChanges } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
20
|
-
import { UnderlineAnnotationAction } from '../../../dto/actions/underline-annotation-action';
|
|
21
|
-
import { TextColorAnnotationAction } from '../../../dto/actions/text-color-annotation-action';
|
|
22
18
|
import { DeleteNodeAnnotationAction } from '../../../dto/actions/delete-node-annotation-action';
|
|
23
19
|
describe('text node', () => {
|
|
24
20
|
it('new RTETextNode should work as expect', () => {
|
|
@@ -91,24 +87,6 @@ describe('text node', () => {
|
|
|
91
87
|
expect(id).not.toEqual('1');
|
|
92
88
|
expect(rest).toEqual({ text: 'This is a new text.', type: 'text' });
|
|
93
89
|
});
|
|
94
|
-
it('render method should work as expect with inline style', () => {
|
|
95
|
-
const textBlock = new RTETextBlock('block-1', 'paragraph');
|
|
96
|
-
const textNode = new RTETextNode('1', 'This is a text.', textBlock);
|
|
97
|
-
textNode.apply(new BoldAnnotationAction(true));
|
|
98
|
-
expect(textNode.render()).toBeDefined();
|
|
99
|
-
});
|
|
100
|
-
it('render method should work as expect with class style', () => {
|
|
101
|
-
const textBlock = new RTETextBlock('block-1', 'paragraph');
|
|
102
|
-
const textNode = new RTETextNode('1', 'This is a text.', textBlock);
|
|
103
|
-
textNode.apply(new UnderlineAnnotationAction(true));
|
|
104
|
-
expect(textNode.render()).toBeDefined();
|
|
105
|
-
});
|
|
106
|
-
it('render method should work as expect with text color class style', () => {
|
|
107
|
-
const textBlock = new RTETextBlock('block-1', 'paragraph');
|
|
108
|
-
const textNode = new RTETextNode('1', 'This is a text.', textBlock);
|
|
109
|
-
textNode.apply(new TextColorAnnotationAction('black'));
|
|
110
|
-
expect(textNode.render()).toBeDefined();
|
|
111
|
-
});
|
|
112
90
|
it('getAnnotationByType should work as expect', () => {
|
|
113
91
|
const textBlock = new RTETextBlock('block-1', 'paragraph');
|
|
114
92
|
const textNode = new RTETextNode('1', 'This is a text.', textBlock);
|
|
@@ -118,24 +96,12 @@ describe('text node', () => {
|
|
|
118
96
|
type: 'BOLD',
|
|
119
97
|
});
|
|
120
98
|
});
|
|
121
|
-
it('registerRef method should work as expect', () => {
|
|
122
|
-
const textBlock = new RTETextBlock('block-1', 'paragraph');
|
|
123
|
-
const textNode = new RTETextNode('1', 'This is a text.', textBlock);
|
|
124
|
-
const mockDiv = document.createElement('div');
|
|
125
|
-
textNode['registerRef'](mockDiv);
|
|
126
|
-
expect(stateEntityRenderingRegistry.getDOMByEntity(textNode)).toEqual(mockDiv);
|
|
127
|
-
expect(stateEntityRenderingRegistry.getEntityByDOM(mockDiv)).toEqual(textNode);
|
|
128
|
-
});
|
|
129
99
|
it('apply method should work as expect', () => {
|
|
130
100
|
const textBlock = new RTETextBlock('block-1', 'paragraph');
|
|
131
101
|
const textNode = new RTETextNode('1', 'This is a text.', textBlock);
|
|
132
102
|
const mockSpan = document.createElement('span');
|
|
133
103
|
const mockHost = document.createElement('div');
|
|
134
104
|
mockHost.append(mockSpan);
|
|
135
|
-
textNode['registerRef'](mockSpan);
|
|
136
|
-
const parentSubject = domNodesSubjectFactory.getSubject(mockHost, VegaInternalRichTextEditorFlushChanges);
|
|
137
|
-
expect(domNodesSubjectFactory.getSubjectFromParentNodeByEventId(mockSpan, VegaInternalRichTextEditorFlushChanges)).toEqual(parentSubject);
|
|
138
|
-
expect(stateEntityRenderingRegistry.getDOMByEntity(textNode)).toEqual(mockSpan);
|
|
139
105
|
textNode.apply(new BoldAnnotationAction(true));
|
|
140
106
|
expect(textNode.toJSON()).toEqual({
|
|
141
107
|
id: '1',
|