@globalpayments/vega 2.92.0 → 2.93.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-2f326662.js → app-globals-f7ad9275.js} +13 -9
- package/dist/cjs/{child-nodes-event-prevent-slimmer-b9a5b3e2.js → child-nodes-event-prevent-slimmer-e67ee84c.js} +1 -1
- package/dist/cjs/{code-block-6435d641.js → code-block-2f3d0f38.js} +41 -11
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-e4c9a5ba.js → component-value-history-controller-slimmer.abstract-31d2c7aa.js} +72 -39
- package/dist/cjs/{content-state-96ec9114.js → content-state-13daf87a.js} +61 -7
- package/dist/cjs/{date-required-rule-8c9e312b.js → date-required-rule-e65ddd7d.js} +1 -1
- package/dist/cjs/{design-token-3548af29.js → design-token-47393cbb.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-3bf69990.js → element-appender-slimmer-29c4ac60.js} +17 -8
- package/dist/cjs/{event-emit-slimmer-5bab10c2.js → event-emit-slimmer-d234a619.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-e0efac05.js → form-field-controller-slimmer-3bfcf88c.js} +1 -1
- package/dist/cjs/{image-annotation-action-853f72c8.js → image-annotation-action-c2b163bb.js} +3 -3
- package/dist/cjs/image-extension-4e99b620.js +39 -0
- package/dist/cjs/index.cjs.js +22 -19
- package/dist/cjs/{inject-keyboard-manager-0dccff1a.js → inject-keyboard-manager-4b2ebbe4.js} +1 -1
- package/dist/cjs/{internal-calendar-period-factory-6187ec4c.js → internal-calendar-period-factory-7a0ecdb1.js} +1 -1
- package/dist/cjs/{internal-translation-controller-48ebfd0f.js → internal-translation-controller-31f2b057.js} +4 -0
- package/dist/cjs/{internal-vega-event-manager-7196a847.js → internal-vega-event-manager-13c4012b.js} +2 -1
- package/dist/cjs/{keyboard-manager-dfe8d924.js → keyboard-manager-c78b46bd.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-4a2560a1.js → keyboard-manager-slimmer-d350c931.js} +1 -1
- package/dist/cjs/{link-extension-28d95849.js → link-extension-455c02b3.js} +3 -3
- package/dist/cjs/loader.cjs.js +15 -14
- package/dist/cjs/{month-view-generator-2e59b188.js → month-view-generator-006562dc.js} +1 -1
- package/dist/cjs/{public-rules-8727c42c.js → public-rules-c59eba88.js} +7 -7
- package/dist/cjs/{range-5cb3d1e4.js → range-bf80fa40.js} +1 -1
- package/dist/cjs/{replace-selected-text-action-a31563ed.js → replace-selected-text-action-a80f5a6a.js} +1 -1
- package/dist/cjs/{responsive-format-facade-98b89142.js → responsive-format-facade-1af54330.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-8e4d577d.js → rich-text-editor-required-rule-1085c71a.js} +1 -1
- package/dist/cjs/{split-cell-operation-9e3ab88d.js → split-cell-operation-2fa5c9e4.js} +3 -3
- package/dist/cjs/{state-border-formatter-626b0a14.js → state-border-formatter-501f6645.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-981f43e1.js → string-format-strategy.abstract-a02bf002.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-fc4a0ba5.js → string-input-formatter-slimmer-9cca6151.js} +1 -1
- package/dist/cjs/{string-mask-strategy-b47fa159.js → string-mask-strategy-4c174ebf.js} +2 -2
- package/dist/cjs/{style-formatter-baf18624.js → style-formatter-2c749500.js} +2 -2
- package/dist/cjs/{time-required-rule-e77d174f.js → time-required-rule-04994a5e.js} +1 -1
- package/dist/cjs/{token-extension-3aec039f.js → token-extension-d217914d.js} +1300 -14
- package/dist/cjs/{translation-slimmer-1e05769e.js → translation-slimmer-7fb6e94c.js} +1 -1
- package/dist/cjs/{type-guard-7ab48d6c.js → type-guard-1c3770d4.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-52ba9c67.js → valid-credit-card-number-rule-f719a8c6.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
- package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
- package/dist/cjs/vega-app-header-button.cjs.entry.js +9 -9
- package/dist/cjs/vega-banner.cjs.entry.js +3 -3
- package/dist/cjs/vega-box.cjs.entry.js +6 -6
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
- package/dist/cjs/vega-button-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
- package/dist/cjs/vega-button.cjs.entry.js +7 -7
- package/dist/cjs/vega-calendar_5.cjs.entry.js +11 -11
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +6 -6
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-chip.cjs.entry.js +9 -9
- package/dist/cjs/vega-code-block.cjs.entry.js +12 -12
- package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +7 -7
- package/dist/cjs/vega-color-swatch.cjs.entry.js +5 -5
- package/dist/cjs/vega-combo-box.cjs.entry.js +19 -13
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -17
- package/dist/cjs/vega-dialog_2.cjs.entry.js +20 -9
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +693 -195
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/{vega-event-id-df22d80e.js → vega-event-id-58afed7a.js} +2 -0
- package/dist/cjs/vega-field-label.cjs.entry.js +5 -5
- package/dist/cjs/vega-file-uploader.cjs.entry.js +6 -6
- package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-flex.cjs.entry.js +6 -6
- package/dist/cjs/vega-font.cjs.entry.js +5 -5
- package/dist/cjs/vega-form.cjs.entry.js +7 -7
- package/dist/cjs/vega-grid.cjs.entry.js +5 -5
- package/dist/cjs/vega-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-image-uploader.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
- package/dist/cjs/vega-input-numeric.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-passcode.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-range.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-select.cjs.entry.js +9 -9
- package/dist/cjs/vega-input.cjs.entry.js +9 -9
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +10 -10
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination.cjs.entry.js +8 -8
- package/dist/cjs/vega-popover_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +7 -7
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +472 -62
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +4 -4
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +8 -8
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +11 -11
- package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +6 -6
- package/dist/cjs/vega-signature-capture.cjs.entry.js +10 -10
- package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-table_11.cjs.entry.js +911 -428
- package/dist/cjs/vega-textarea.cjs.entry.js +7 -9
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +34 -14
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega.cjs.js +15 -14
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +4 -1
- package/dist/collection/components/vega-combo-box/vega-combo-box.js +7 -1
- package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
- package/dist/collection/components/vega-dropdown/constants.js +1 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +9 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.js +97 -4
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-select-all-controller.js +219 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-selected-controller.js +78 -13
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.js +13 -1
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +7 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.js +52 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +4 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +5 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +126 -1
- package/dist/collection/components/vega-field-label/vega-field-label.js +1 -1
- package/dist/collection/components/vega-hint/vega-hint.js +1 -1
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +4 -1
- package/dist/collection/components/vega-modal/vega-modal.css +0 -1
- package/dist/collection/components/vega-modal/vega-modal.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/assets/redo.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/assets/undo.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-strategy.js +11 -5
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.js +9 -4
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.js +61 -5
- package/dist/collection/components/vega-rich-text-editor/dto/actions/paste-content-action.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-interceptors/blockquote-exit-on-enter-interceptor.js +61 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/block-transform-to-blockquote-strategy.js +40 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/remove-blockquote-strategy.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/actions/remove-blockquote-action.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/actions/transform-to-blockquote-action.js +19 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/assets/quote-left.js +4 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/blockquote-extension.js +47 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/dto/blockquote-annotation.js +76 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/dto/rte-blockquote-block.js +70 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/element-to-dto-strategies/blockquote-to-blockquote-block-strategy.js +53 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/filter-styles-strategies/blockquote-block/blockquote-filter-styles-strategy.js +41 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-block-renderer.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +260 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/image/image-extension.js +34 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/image/type.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/assets/paste.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +144 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +442 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +4 -3
- package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/public-api.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +385 -25
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +69 -36
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +59 -14
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +6 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +28 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.js +1 -1
- package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +32 -0
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +77 -0
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +121 -0
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-cell-renderer.js +39 -14
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +207 -7
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +16 -3
- package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +24 -4
- package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.js +11 -2
- package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +5 -1
- package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +22 -1
- package/dist/collection/components/vega-table/vega-table.css +5 -0
- package/dist/collection/components/vega-table/vega-table.js +5 -0
- package/dist/collection/components/vega-text/vega-text.js +1 -1
- package/dist/collection/components/vega-textarea/vega-textarea.js +1 -3
- package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.js +4 -0
- package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.js +4 -0
- package/dist/collection/components/vega-time-picker/vega-time-picker.js +39 -0
- package/dist/collection/constants/ui.js +1 -0
- package/dist/collection/global/scripts/before-vega-load.js +6 -0
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -1
- package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
- package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +11 -4
- package/dist/collection/helpers/translation/locales/en.js +4 -0
- package/dist/collection/helpers/ui/element-appender.js +5 -2
- package/dist/esm/{app-globals-5e0d319a.js → app-globals-9950d055.js} +13 -9
- package/dist/esm/{child-nodes-event-prevent-slimmer-f24618c5.js → child-nodes-event-prevent-slimmer-96c14f5a.js} +1 -1
- package/dist/esm/{code-block-b71b2aa4.js → code-block-ae2337c2.js} +41 -12
- package/dist/esm/{component-value-history-controller-slimmer.abstract-282df6e5.js → component-value-history-controller-slimmer.abstract-b1ee1b8e.js} +72 -39
- package/dist/esm/{content-state-909099f8.js → content-state-c3b85ae6.js} +61 -7
- package/dist/esm/{date-required-rule-15edb04a.js → date-required-rule-e06115f8.js} +1 -1
- package/dist/esm/{design-token-cb5ed6b9.js → design-token-4e682056.js} +3 -3
- package/dist/esm/{element-appender-slimmer-e41120ee.js → element-appender-slimmer-a4485ef6.js} +17 -8
- package/dist/esm/{event-emit-slimmer-03deba18.js → event-emit-slimmer-db4a82e0.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-cfe1d8a7.js → form-field-controller-slimmer-a1c7b28c.js} +1 -1
- package/dist/esm/{image-annotation-action-98232dc4.js → image-annotation-action-4c77d314.js} +3 -3
- package/dist/esm/image-extension-7108c27d.js +37 -0
- package/dist/esm/index.js +19 -19
- package/dist/esm/{inject-keyboard-manager-13cc77ab.js → inject-keyboard-manager-e8ddb78d.js} +1 -1
- package/dist/esm/{internal-calendar-period-factory-c3d70f3b.js → internal-calendar-period-factory-6f19d767.js} +1 -1
- package/dist/esm/{internal-translation-controller-8e8a514a.js → internal-translation-controller-09b8bd13.js} +4 -0
- package/dist/esm/{internal-vega-event-manager-75e5e3bb.js → internal-vega-event-manager-48690e5b.js} +2 -1
- package/dist/esm/{keyboard-manager-fe885db1.js → keyboard-manager-ec18721b.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-61d4c79b.js → keyboard-manager-slimmer-531ddb0e.js} +1 -1
- package/dist/esm/{link-extension-f1a3bea7.js → link-extension-74eaa826.js} +3 -3
- package/dist/esm/loader.js +15 -14
- package/dist/esm/{month-view-generator-85eecb95.js → month-view-generator-afd78ff8.js} +1 -1
- package/dist/esm/{public-rules-323bea4b.js → public-rules-5fce32a5.js} +7 -7
- package/dist/esm/{range-e63068d1.js → range-8f877dbf.js} +1 -1
- package/dist/esm/{replace-selected-text-action-c0817b2b.js → replace-selected-text-action-c9278a0f.js} +1 -1
- package/dist/esm/{responsive-format-facade-fb424f5b.js → responsive-format-facade-299e6304.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-0edb8ba7.js → rich-text-editor-required-rule-3047bab0.js} +1 -1
- package/dist/esm/{split-cell-operation-93b4d775.js → split-cell-operation-98d58410.js} +3 -3
- package/dist/esm/{state-border-formatter-1a528ca4.js → state-border-formatter-da52b626.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-72fc98aa.js → string-format-strategy.abstract-a45b5ff7.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-b0c480d8.js → string-input-formatter-slimmer-4a032fed.js} +1 -1
- package/dist/esm/{string-mask-strategy-4e00c173.js → string-mask-strategy-37e53e48.js} +2 -2
- package/dist/esm/{style-formatter-5c1bea8d.js → style-formatter-3d5ddfb1.js} +2 -2
- package/dist/esm/{time-required-rule-df500b14.js → time-required-rule-355b73d2.js} +1 -1
- package/dist/esm/{token-extension-32d1fa56.js → token-extension-ecfafe94.js} +1298 -15
- package/dist/esm/{translation-slimmer-60408f13.js → translation-slimmer-3ea56354.js} +1 -1
- package/dist/esm/{type-guard-91087018.js → type-guard-2bfb2c7b.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-681ecb75.js → valid-credit-card-number-rule-52c6b029.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +9 -9
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +9 -9
- package/dist/esm/vega-banner.entry.js +3 -3
- package/dist/esm/vega-box.entry.js +6 -6
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +9 -9
- package/dist/esm/vega-button-group_2.entry.js +4 -4
- package/dist/esm/vega-button-link.entry.js +4 -4
- package/dist/esm/vega-button.entry.js +7 -7
- package/dist/esm/vega-calendar_5.entry.js +11 -11
- package/dist/esm/vega-card.entry.js +5 -5
- package/dist/esm/vega-carousel.entry.js +6 -6
- package/dist/esm/vega-checkbox_2.entry.js +6 -6
- package/dist/esm/vega-chip.entry.js +9 -9
- package/dist/esm/vega-code-block.entry.js +12 -12
- package/dist/esm/vega-color-picker.entry.js +5 -5
- package/dist/esm/vega-color-swatch-picker.entry.js +7 -7
- package/dist/esm/vega-color-swatch.entry.js +5 -5
- package/dist/esm/vega-combo-box.entry.js +19 -13
- package/dist/esm/vega-date-picker_2.entry.js +17 -17
- package/dist/esm/vega-dialog_2.entry.js +20 -9
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +695 -197
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-d3017041.js → vega-event-id-270fe47e.js} +2 -1
- package/dist/esm/vega-field-label.entry.js +5 -5
- package/dist/esm/vega-file-uploader.entry.js +6 -6
- package/dist/esm/vega-flag-icon.entry.js +5 -5
- package/dist/esm/vega-flex.entry.js +6 -6
- package/dist/esm/vega-font.entry.js +5 -5
- package/dist/esm/vega-form.entry.js +7 -7
- package/dist/esm/vega-grid.entry.js +5 -5
- package/dist/esm/vega-icon.entry.js +5 -5
- package/dist/esm/vega-image-uploader.entry.js +9 -9
- package/dist/esm/vega-input-credit-card.entry.js +10 -10
- package/dist/esm/vega-input-numeric.entry.js +9 -9
- package/dist/esm/vega-input-passcode.entry.js +9 -9
- package/dist/esm/vega-input-phone-number.entry.js +8 -8
- package/dist/esm/vega-input-range.entry.js +7 -7
- package/dist/esm/vega-input-select.entry.js +9 -9
- package/dist/esm/vega-input.entry.js +9 -9
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +10 -10
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
- package/dist/esm/vega-page-notification_2.entry.js +1 -1
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +3 -3
- package/dist/esm/vega-pagination.entry.js +8 -8
- package/dist/esm/vega-popover_2.entry.js +11 -11
- package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
- package/dist/esm/vega-radio_2.entry.js +9 -9
- package/dist/esm/vega-rich-text-content.entry.js +7 -7
- package/dist/esm/vega-rich-text-editor_4.entry.js +472 -62
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +4 -4
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +11 -11
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +8 -8
- package/dist/esm/vega-selection-tile_2.entry.js +6 -6
- package/dist/esm/vega-sidenav_3.entry.js +6 -6
- package/dist/esm/vega-signature-capture.entry.js +10 -10
- package/dist/esm/vega-stepper.entry.js +6 -6
- package/dist/esm/vega-tab-group_2.entry.js +4 -4
- package/dist/esm/vega-table_11.entry.js +911 -428
- package/dist/esm/vega-textarea.entry.js +7 -9
- package/dist/esm/vega-time-picker_2.entry.js +34 -14
- package/dist/esm/vega-toggle-switch.entry.js +5 -5
- package/dist/esm/vega-tooltip_2.entry.js +6 -6
- package/dist/esm/vega.js +15 -14
- package/dist/sri/vega-sri-manifest.json +362 -358
- package/dist/types/components/vega-combo-box/types.d.ts +6 -1
- package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +1 -0
- package/dist/types/components/vega-dropdown/constants.d.ts +1 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +2 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.d.ts +36 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-select-all-controller.d.ts +107 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-selected-controller.d.ts +17 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.d.ts +5 -0
- package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +2 -0
- package/dist/types/components/vega-dropdown/types.d.ts +8 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.d.ts +25 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.d.ts +4 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +48 -0
- package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +2 -1
- package/dist/types/components/vega-modal/vega-modal.d.ts +9 -1
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.d.ts +14 -4
- package/dist/types/components/vega-rich-text-editor/dto/actions/paste-content-action.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-interceptors/blockquote-exit-on-enter-interceptor.d.ts +34 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/block-transform-to-blockquote-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/remove-blockquote-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/actions/remove-blockquote-action.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/actions/transform-to-blockquote-action.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/assets/quote-left.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/blockquote-extension.d.ts +9 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/dto/blockquote-annotation.d.ts +48 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/dto/rte-blockquote-block.d.ts +56 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/element-to-dto-strategies/blockquote-to-blockquote-block-strategy.d.ts +35 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/filter-styles-strategies/blockquote-block/blockquote-filter-styles-strategy.d.ts +31 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-block-renderer.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.d.ts +113 -0
- package/dist/types/components/vega-rich-text-editor/extensions/image/image-extension.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/extensions/image/type.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/assets/paste.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +58 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +150 -0
- package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +114 -3
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +22 -13
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +10 -2
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -4
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.d.ts +1 -1
- package/dist/types/components/vega-table/interface.d.ts +18 -0
- package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +13 -0
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +43 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +38 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-cell-renderer.d.ts +11 -2
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +4 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-row-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-row-state-subscriber.d.ts +1 -1
- package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +9 -0
- package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +9 -0
- package/dist/types/components/vega-table/vega-table.d.ts +2 -0
- package/dist/types/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.d.ts +1 -0
- package/dist/types/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.d.ts +1 -0
- package/dist/types/components/vega-time-picker/types.d.ts +7 -0
- package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +11 -1
- package/dist/types/components.d.ts +80 -3
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
- package/dist/types/helpers/translation/interface.d.ts +5 -0
- package/dist/types/helpers/ui/element-appender.d.ts +4 -1
- package/dist/types/types/components.type.d.ts +5 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-481601c0.entry.js → p-05f937c5.entry.js} +1 -1
- package/dist/vega/{p-970115d6.js → p-07562b9c.js} +1 -1
- package/dist/vega/{p-d0ce752f.entry.js → p-09d50f59.entry.js} +1 -1
- package/dist/vega/{p-22f73e6e.entry.js → p-0cb78838.entry.js} +1 -1
- package/dist/vega/p-0e607b44.js +1 -0
- package/dist/vega/{p-c8eaf91c.entry.js → p-0f1d6ceb.entry.js} +1 -1
- package/dist/vega/{p-70817cf5.js → p-140616fe.js} +1 -1
- package/dist/vega/{p-f70f7ad8.entry.js → p-1818f399.entry.js} +1 -1
- package/dist/vega/{p-802bf369.js → p-18a5e8bc.js} +1 -1
- package/dist/vega/{p-4d9061fb.js → p-19c42e30.js} +1 -1
- package/dist/vega/{p-d7369441.js → p-1efab41b.js} +1 -1
- package/dist/vega/{p-92823583.js → p-21e21f51.js} +1 -1
- package/dist/vega/{p-c0629528.entry.js → p-26c7fe8b.entry.js} +1 -1
- package/dist/vega/p-282b37cb.js +1 -0
- package/dist/vega/{p-c78aeaf3.entry.js → p-2dc5edd0.entry.js} +1 -1
- package/dist/vega/{p-228c5de8.js → p-2de61f1b.js} +1 -1
- package/dist/vega/{p-82279b03.entry.js → p-2de88b4a.entry.js} +1 -1
- package/dist/vega/{p-438b7404.entry.js → p-2fcc604c.entry.js} +1 -1
- package/dist/vega/{p-aa32f2f3.js → p-32a67ba1.js} +1 -1
- package/dist/vega/p-392e049c.entry.js +1 -0
- package/dist/vega/{p-a268a4fb.entry.js → p-3932f964.entry.js} +1 -1
- package/dist/vega/{p-f515d189.entry.js → p-3c9da3cd.entry.js} +1 -1
- package/dist/vega/{p-5829a66d.entry.js → p-3f7b10b9.entry.js} +1 -1
- package/dist/vega/{p-5545a235.entry.js → p-422d88ae.entry.js} +1 -1
- package/dist/vega/p-4256252c.js +3 -0
- package/dist/vega/{p-8f078d0d.entry.js → p-44439ecc.entry.js} +1 -1
- package/dist/vega/{p-68e16c70.entry.js → p-45e8424a.entry.js} +1 -1
- package/dist/vega/p-4c49b2e3.js +1 -0
- package/dist/vega/{p-71e2a3ec.js → p-4d9562bc.js} +1 -1
- package/dist/vega/p-4e1aa86f.js +1 -0
- package/dist/vega/p-4ef5c4a7.entry.js +1 -0
- package/dist/vega/{p-9440a8a5.entry.js → p-4f327808.entry.js} +1 -1
- package/dist/vega/{p-2def8e3e.js → p-5139e516.js} +1 -1
- package/dist/vega/{p-2e58d99e.entry.js → p-56c4e349.entry.js} +1 -1
- package/dist/vega/{p-b730bf6e.js → p-5dbfffcd.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-916dfa7e.entry.js → p-615a2b8c.entry.js} +1 -1
- package/dist/vega/{p-625351a3.entry.js → p-63101cb4.entry.js} +1 -1
- package/dist/vega/{p-7798254d.entry.js → p-653a6dd8.entry.js} +1 -1
- package/dist/vega/{p-d20587b4.entry.js → p-66b7d1c7.entry.js} +1 -1
- package/dist/vega/{p-9219201a.entry.js → p-6712a9c7.entry.js} +1 -1
- package/dist/vega/p-698fbd73.js +1 -0
- package/dist/vega/p-6ad7144a.entry.js +1 -0
- package/dist/vega/{p-9fafc956.entry.js → p-6b1893f6.entry.js} +1 -1
- package/dist/vega/{p-93dfab05.js → p-6d40635e.js} +1 -1
- package/dist/vega/{p-b799fc1f.entry.js → p-73fd18d9.entry.js} +1 -1
- package/dist/vega/p-751a5cd6.entry.js +1 -0
- package/dist/vega/{p-f7739cbb.entry.js → p-7b93a756.entry.js} +1 -1
- package/dist/vega/{p-2314494a.entry.js → p-7c8e579e.entry.js} +1 -1
- package/dist/vega/{p-4953bb1a.js → p-7d54e9c1.js} +1 -1
- package/dist/vega/{p-590c8720.entry.js → p-832d1a72.entry.js} +1 -1
- package/dist/vega/p-846b1ab9.entry.js +1 -0
- package/dist/vega/p-88863658.js +1 -0
- package/dist/vega/{p-c2e0f8b7.entry.js → p-8c1a5fa4.entry.js} +1 -1
- package/dist/vega/{p-f0bc2bbb.js → p-8d27b9cc.js} +1 -1
- package/dist/vega/{p-f365601c.entry.js → p-944b43ce.entry.js} +1 -1
- package/dist/vega/{p-8d69b201.js → p-95d6c85f.js} +1 -1
- package/dist/vega/{p-9b1d718c.entry.js → p-99b699be.entry.js} +1 -1
- package/dist/vega/p-9a01be93.js +1 -0
- package/dist/vega/{p-53c76d9d.entry.js → p-9a472a04.entry.js} +1 -1
- package/dist/vega/{p-18413b62.entry.js → p-9cafbc26.entry.js} +1 -1
- package/dist/vega/p-a359e53c.js +1 -0
- package/dist/vega/p-a9a87b9a.js +1 -0
- package/dist/vega/p-acbba6da.entry.js +1 -0
- package/dist/vega/{p-56cf1a65.entry.js → p-ad35dea4.entry.js} +1 -1
- package/dist/vega/{p-06c2ce2c.entry.js → p-af98539f.entry.js} +1 -1
- package/dist/vega/{p-136226f8.js → p-afb96938.js} +1 -1
- package/dist/vega/{p-e160a727.entry.js → p-b042e3b4.entry.js} +1 -1
- package/dist/vega/{p-5beec481.js → p-b1ff70bf.js} +1 -1
- package/dist/vega/{p-9cdedcfb.entry.js → p-b39d4a88.entry.js} +1 -1
- package/dist/vega/{p-c78e8081.entry.js → p-b5bee669.entry.js} +1 -1
- package/dist/vega/p-b5f308ee.entry.js +1 -0
- package/dist/vega/{p-43c3848f.entry.js → p-bbabb1c8.entry.js} +1 -1
- package/dist/vega/p-bbf1f988.entry.js +1 -0
- package/dist/vega/{p-e9cee498.entry.js → p-c2d28797.entry.js} +1 -1
- package/dist/vega/{p-40501057.entry.js → p-c3c0e415.entry.js} +1 -1
- package/dist/vega/{p-5946fadf.js → p-c553d37e.js} +1 -1
- package/dist/vega/{p-f6bccb06.entry.js → p-c5ecbc53.entry.js} +1 -1
- package/dist/vega/{p-2353b64f.entry.js → p-c9c6daa6.entry.js} +1 -1
- package/dist/vega/p-cb81fc2a.entry.js +1 -0
- package/dist/vega/p-ccb9bf86.js +1 -0
- package/dist/vega/{p-e371738b.js → p-ccf7518b.js} +1 -1
- package/dist/vega/{p-8b9a8603.entry.js → p-cf8d5b3f.entry.js} +1 -1
- package/dist/vega/{p-30561e1d.entry.js → p-d3a36d19.entry.js} +1 -1
- package/dist/vega/{p-cd1844ad.entry.js → p-d44943e2.entry.js} +1 -1
- package/dist/vega/{p-d3c8b871.entry.js → p-d4bb6f93.entry.js} +1 -1
- package/dist/vega/p-d62b85ff.entry.js +1 -0
- package/dist/vega/{p-ce7e9515.entry.js → p-d7f32ccf.entry.js} +1 -1
- package/dist/vega/p-dca3278f.js +1 -0
- package/dist/vega/{p-37dffdf6.entry.js → p-ddd28a8e.entry.js} +1 -1
- package/dist/vega/{p-2da12975.entry.js → p-ddf03de1.entry.js} +1 -1
- package/dist/vega/p-e0ecafca.js +1 -0
- package/dist/vega/p-e33e1e90.js +1 -0
- package/dist/vega/{p-5038b6d7.entry.js → p-e410c4ad.entry.js} +1 -1
- package/dist/vega/{p-a361456d.js → p-e4309574.js} +1 -1
- package/dist/vega/p-e5187a86.entry.js +1 -0
- package/dist/vega/{p-fc5dfb52.entry.js → p-e86c6802.entry.js} +1 -1
- package/dist/vega/{p-e3803943.js → p-ef605271.js} +1 -1
- package/dist/vega/{p-45ab490c.js → p-f0d4c78c.js} +1 -1
- package/dist/vega/{p-e41d9d0e.entry.js → p-f2f22b5d.entry.js} +1 -1
- package/dist/vega/{p-b6ebfd5c.entry.js → p-f8a29127.entry.js} +1 -1
- package/dist/vega/{p-cd9fb2ca.entry.js → p-fbd3be00.entry.js} +1 -1
- package/dist/vega/{p-450bf94d.entry.js → p-fda6e2cc.entry.js} +1 -1
- package/dist/vega/p-ff8dd200.js +1 -0
- package/dist/vega/{p-c67ce78c.entry.js → p-ffdacaf9.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +2 -16
- package/readme.md +0 -5
- package/dist/vega/p-0179f55d.js +0 -1
- package/dist/vega/p-07b56f2b.entry.js +0 -1
- package/dist/vega/p-209e0166.js +0 -1
- package/dist/vega/p-35df0f0a.entry.js +0 -1
- package/dist/vega/p-3cf4339a.entry.js +0 -1
- package/dist/vega/p-4e39adf5.entry.js +0 -1
- package/dist/vega/p-5319da71.entry.js +0 -1
- package/dist/vega/p-5de1acdb.js +0 -1
- package/dist/vega/p-5df9047c.js +0 -1
- package/dist/vega/p-683cfe24.js +0 -1
- package/dist/vega/p-7be548a7.js +0 -1
- package/dist/vega/p-8509c140.entry.js +0 -1
- package/dist/vega/p-8aa07ed0.js +0 -1
- package/dist/vega/p-8da860f6.js +0 -1
- package/dist/vega/p-ca9852bb.js +0 -1
- package/dist/vega/p-de885ef2.js +0 -1
- package/dist/vega/p-dee38163.entry.js +0 -1
- package/dist/vega/p-e5502873.entry.js +0 -1
- package/dist/vega/p-ea22cba0.js +0 -1
- package/dist/vega/p-ea54ce0a.js +0 -3
- package/dist/vega/p-ee3155bd.js +0 -1
- package/dist/vega/p-eee01ba7.entry.js +0 -1
- package/dist/vega/p-ef2b9846.entry.js +0 -1
- package/dist/vega/p-f4a01959.js +0 -1
- package/dist/vega/p-f5aefb2f.entry.js +0 -1
|
@@ -14,11 +14,13 @@ import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-sli
|
|
|
14
14
|
import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
|
|
15
15
|
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
16
16
|
import { VegaClick, VegaDropdownClick } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
17
|
+
import { VegaRTEImageExtension } from '../../../extensions/image/image-extension';
|
|
17
18
|
export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
18
19
|
constructor() {
|
|
19
20
|
super({
|
|
20
21
|
icon: 'image',
|
|
21
22
|
tooltip: { text: 'Image' },
|
|
23
|
+
autoFocusOnClick: false,
|
|
22
24
|
});
|
|
23
25
|
this.insertURLImage = async () => {
|
|
24
26
|
const url = this.normalizeSafeImageUrl(this.insertURLInputRef.value);
|
|
@@ -31,14 +33,7 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
31
33
|
this.uploadInputRef.click();
|
|
32
34
|
break;
|
|
33
35
|
case 'url':
|
|
34
|
-
|
|
35
|
-
this.currentSelectedNodes = this.selectionController.getSelectedNodes();
|
|
36
|
-
this.currentSelectedBlocks = this.selectionController.getSelectedBlocks();
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
38
|
-
this.host.parentElement.append(this.insertURLModalRef);
|
|
39
|
-
this.insertURLInputRef.value = '';
|
|
40
|
-
await this.insertURLModalRef.modal('show');
|
|
41
|
-
await this.insertURLInputRef.doFocus();
|
|
36
|
+
await this.openInsertURLModal();
|
|
42
37
|
break;
|
|
43
38
|
/* istanbul ignore next */
|
|
44
39
|
default:
|
|
@@ -46,6 +41,16 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
46
41
|
}
|
|
47
42
|
await this.dropdownRef.hide();
|
|
48
43
|
};
|
|
44
|
+
this.openInsertURLModal = async () => {
|
|
45
|
+
this.currentRange = this.selectionController.getCurrentRange();
|
|
46
|
+
this.currentSelectedNodes = this.selectionController.getSelectedNodes();
|
|
47
|
+
this.currentSelectedBlocks = this.selectionController.getSelectedBlocks();
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
49
|
+
this.host.parentElement.append(this.insertURLModalRef);
|
|
50
|
+
this.insertURLInputRef.value = '';
|
|
51
|
+
await this.insertURLModalRef.modal('show');
|
|
52
|
+
await this.insertURLInputRef.doFocus();
|
|
53
|
+
};
|
|
49
54
|
/**
|
|
50
55
|
* The below method is e2e-test covered in
|
|
51
56
|
* @see{module:should-update-url-properly-when-upload-images}
|
|
@@ -67,15 +72,33 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
67
72
|
};
|
|
68
73
|
}
|
|
69
74
|
renderBtnWrapper(renderBtn) {
|
|
75
|
+
const shouldRenderDropdown = this.shouldRenderDropdown();
|
|
76
|
+
const shouldRenderUpload = this.isImageUploadEnabled();
|
|
77
|
+
const shouldRenderUrlInsertion = this.isImageURLInsertionEnabled();
|
|
78
|
+
if (!shouldRenderUpload && !shouldRenderUrlInsertion) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
70
81
|
return (h("vega-box", null,
|
|
71
|
-
h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", ref: (ref) => {
|
|
82
|
+
shouldRenderDropdown ? (h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", ref: (ref) => {
|
|
72
83
|
this.dropdownRef = ref;
|
|
73
84
|
this.addDropdownObserver(ref);
|
|
74
85
|
} },
|
|
75
86
|
renderBtn({ showArrowIcon: true }),
|
|
76
|
-
h("div", Object.assign({ slot: "items" }, super.preventLostFocus()), this.renderDropdownContent())),
|
|
77
|
-
this.renderUploadInput(),
|
|
78
|
-
this.renderInsertURLModal()));
|
|
87
|
+
h("div", Object.assign({ slot: "items" }, super.preventLostFocus()), this.renderDropdownContent()))) : (renderBtn({})),
|
|
88
|
+
shouldRenderUpload ? this.renderUploadInput() : null,
|
|
89
|
+
shouldRenderUrlInsertion ? this.renderInsertURLModal() : null));
|
|
90
|
+
}
|
|
91
|
+
onClick() {
|
|
92
|
+
if (this.shouldRenderDropdown()) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (this.isImageURLInsertionEnabled()) {
|
|
96
|
+
void this.openInsertURLModal();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (this.isImageUploadEnabled()) {
|
|
100
|
+
this.uploadInputRef.click();
|
|
101
|
+
}
|
|
79
102
|
}
|
|
80
103
|
isSelected() {
|
|
81
104
|
return false;
|
|
@@ -88,10 +111,20 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
88
111
|
this.shouldDisabledToolbar(selectedBlock, ModifyContentActionType.INSERT_IMAGE_TO_BLOCK));
|
|
89
112
|
}
|
|
90
113
|
renderDropdownContent() {
|
|
91
|
-
return (h(Fragment, null,
|
|
114
|
+
return (h(Fragment, null, this.getItems().map((item) => {
|
|
92
115
|
return (h("vega-dropdown-item", { key: item.key, itemKey: item.key }, this.translationSlimmer.t(item.label)));
|
|
93
116
|
})));
|
|
94
117
|
}
|
|
118
|
+
getItems() {
|
|
119
|
+
return ImageToolbarButtonSlimmer.allItems.filter((item) => {
|
|
120
|
+
if (item.key === 'upload') {
|
|
121
|
+
return this.isImageUploadEnabled();
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return this.isImageURLInsertionEnabled();
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
95
128
|
renderUploadInput() {
|
|
96
129
|
return (h("input", { type: "file", style: { display: 'none' }, ref: (node) => (this.uploadInputRef = node), accept: "image/*", onChange: this.fileInputChange }));
|
|
97
130
|
}
|
|
@@ -124,6 +157,18 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
124
157
|
addModalInsertObserver(buttonRef) {
|
|
125
158
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(buttonRef, VegaClick, this.insertURLImage);
|
|
126
159
|
}
|
|
160
|
+
getImageExtensionConfig() {
|
|
161
|
+
return VegaRTEImageExtension.configStore.get(this.host) || {};
|
|
162
|
+
}
|
|
163
|
+
isImageUploadEnabled() {
|
|
164
|
+
return this.getImageExtensionConfig().enableImageUpload !== false;
|
|
165
|
+
}
|
|
166
|
+
isImageURLInsertionEnabled() {
|
|
167
|
+
return this.getImageExtensionConfig().enableImageURLInsertion !== false;
|
|
168
|
+
}
|
|
169
|
+
shouldRenderDropdown() {
|
|
170
|
+
return this.getItems().length > 1;
|
|
171
|
+
}
|
|
127
172
|
/**
|
|
128
173
|
* The below method is e2e-test covered in
|
|
129
174
|
* @see{module:should-update-url-properly-when-upload-images}
|
|
@@ -156,7 +201,7 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
156
201
|
(() => {
|
|
157
202
|
VegaInternalIconManager.register({ image: image });
|
|
158
203
|
})();
|
|
159
|
-
ImageToolbarButtonSlimmer.
|
|
204
|
+
ImageToolbarButtonSlimmer.allItems = [
|
|
160
205
|
{
|
|
161
206
|
key: 'upload',
|
|
162
207
|
label: 'Upload from computer',
|
|
@@ -8,6 +8,7 @@ import { h } from '@stencil/core';
|
|
|
8
8
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
9
|
import { VegaInternalIconManager } from '../../../../../helpers/icon/internal-icon-manager';
|
|
10
10
|
import chevronDown from '../../../../../global/icons/chevron-down';
|
|
11
|
+
import chevronUp from '../../../../../global/icons/chevron-up';
|
|
11
12
|
export class VegaRichTextEditorToolbarButtonRenderer extends VegaSlimmer {
|
|
12
13
|
constructor() {
|
|
13
14
|
super(...arguments);
|
|
@@ -29,13 +30,14 @@ export class VegaRichTextEditorToolbarButtonRenderer extends VegaSlimmer {
|
|
|
29
30
|
}, onClick: this.handleClick, disabled: this.disabled, hidden: this.hidden },
|
|
30
31
|
h("vega-flex", { gap: "size-8", justifyContent: "center", alignItems: "center" },
|
|
31
32
|
this.icon && (h("vega-icon", { size: "size-16", color: this.iconColor, icon: VegaInternalIconManager.getIconKey(this.icon) })),
|
|
32
|
-
this.showArrowIcon && (h("vega-icon", { size: "size-8", color: "text-secondary", icon: VegaInternalIconManager.getIconKey('chevron-down') }))),
|
|
33
|
+
this.showArrowIcon && (h("vega-icon", { size: "size-8", color: "text-secondary", icon: VegaInternalIconManager.getIconKey(this.arrowIcon || 'chevron-down') }))),
|
|
33
34
|
h("slot", null)));
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
(() => {
|
|
37
38
|
VegaInternalIconManager.register({
|
|
38
39
|
'chevron-down': chevronDown,
|
|
40
|
+
'chevron-up': chevronUp,
|
|
39
41
|
});
|
|
40
42
|
})();
|
|
41
43
|
__decorate([
|
|
@@ -50,6 +52,9 @@ __decorate([
|
|
|
50
52
|
__decorate([
|
|
51
53
|
MapToComponentField()
|
|
52
54
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "showArrowIcon", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
MapToComponentField()
|
|
57
|
+
], VegaRichTextEditorToolbarButtonRenderer.prototype, "arrowIcon", void 0);
|
|
53
58
|
__decorate([
|
|
54
59
|
MapToComponentField()
|
|
55
60
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "icon", void 0);
|
|
@@ -17,7 +17,7 @@ import { ChildNodesEventPreventSlimmer } from '../../../helpers/event-manager/sl
|
|
|
17
17
|
+ */
|
|
18
18
|
/**
|
|
19
19
|
* This is an internal used component and shouldn't be used by clients,
|
|
20
|
-
* it
|
|
20
|
+
* it is not part of the public component surface.
|
|
21
21
|
*/
|
|
22
22
|
export class VegaRichTextEditorToolbarButton {
|
|
23
23
|
constructor() {
|
|
@@ -57,6 +57,12 @@ export class VegaRichTextEditorToolbarButton {
|
|
|
57
57
|
* @vegaVersion 2.34.0
|
|
58
58
|
*/
|
|
59
59
|
this.showArrowIcon = false;
|
|
60
|
+
/**
|
|
61
|
+
* Specifies the arrow icon name when `showArrowIcon` is enabled.
|
|
62
|
+
*
|
|
63
|
+
* @vegaVersion 2.93.0
|
|
64
|
+
*/
|
|
65
|
+
this.arrowIcon = 'chevron-down';
|
|
60
66
|
/**
|
|
61
67
|
* Specifies whether the toolbar button in the rich text editor is represented by an icon.
|
|
62
68
|
*
|
|
@@ -166,6 +172,27 @@ export class VegaRichTextEditorToolbarButton {
|
|
|
166
172
|
"reflect": false,
|
|
167
173
|
"defaultValue": "false"
|
|
168
174
|
},
|
|
175
|
+
"arrowIcon": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"mutable": false,
|
|
178
|
+
"complexType": {
|
|
179
|
+
"original": "string",
|
|
180
|
+
"resolved": "string",
|
|
181
|
+
"references": {}
|
|
182
|
+
},
|
|
183
|
+
"required": false,
|
|
184
|
+
"optional": false,
|
|
185
|
+
"docs": {
|
|
186
|
+
"tags": [{
|
|
187
|
+
"name": "vegaVersion",
|
|
188
|
+
"text": "2.93.0"
|
|
189
|
+
}],
|
|
190
|
+
"text": "Specifies the arrow icon name when `showArrowIcon` is enabled."
|
|
191
|
+
},
|
|
192
|
+
"attribute": "arrow-icon",
|
|
193
|
+
"reflect": false,
|
|
194
|
+
"defaultValue": "'chevron-down'"
|
|
195
|
+
},
|
|
169
196
|
"icon": {
|
|
170
197
|
"type": "string",
|
|
171
198
|
"mutable": false,
|
|
@@ -443,7 +443,7 @@ export class VegaRichTextEditor {
|
|
|
443
443
|
"name": "vegaVersion",
|
|
444
444
|
"text": "2.34.0"
|
|
445
445
|
}],
|
|
446
|
-
"text": "Specifies
|
|
446
|
+
"text": "Specifies the number of visible rows for the rich text editor.\n- If not specified, the editor uses a flexible height with a default of 5 rows.\n- If specified, the editor height becomes fixed, and overflowing content is scrollable.\n- Accepts integer values \u2265 2. For optimal display, values below 2 are automatically normalized to 5 rows."
|
|
447
447
|
},
|
|
448
448
|
"attribute": "rows",
|
|
449
449
|
"reflect": false
|
|
@@ -14,7 +14,7 @@ import { VegaChange } from '../../../helpers/event-manager/event-id/vega-event-i
|
|
|
14
14
|
import { TranslationSlimmer } from '../../../helpers/slimmers/translation';
|
|
15
15
|
/**
|
|
16
16
|
* This is an internal used component and shouldn't be used by clients,
|
|
17
|
-
* it
|
|
17
|
+
* it is not part of the public component surface.
|
|
18
18
|
*
|
|
19
19
|
* @vegaVersion 2.34.0
|
|
20
20
|
*/
|
|
@@ -14,7 +14,7 @@ import { VegaChange } from '../../../helpers/event-manager/event-id/vega-event-i
|
|
|
14
14
|
import { TranslationSlimmer } from '../../../helpers/slimmers/translation';
|
|
15
15
|
/**
|
|
16
16
|
* This is an internal used component and shouldn't be used by clients,
|
|
17
|
-
* it
|
|
17
|
+
* it is not part of the public component surface.
|
|
18
18
|
*
|
|
19
19
|
* @vegaVersion 2.34.0
|
|
20
20
|
*/
|
package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js
CHANGED
|
@@ -85,6 +85,38 @@ export class ColumnRenderInputModel {
|
|
|
85
85
|
});
|
|
86
86
|
return renderInputs;
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Create a new render input that merges pinned-boundary flags from a set of spanned leaves.
|
|
90
|
+
*
|
|
91
|
+
* Used when a body cell with `colSpan > 1` consumes neighboring leaves. The spanning cell
|
|
92
|
+
* must inherit boundary indicators (`isLeftEndPinned`, `isRightStartPinned`, `isNoPinnedEnd`)
|
|
93
|
+
* from any consumed leaf that carries them, so the pinned-boundary visual (divider/shadow)
|
|
94
|
+
* remains visible on the spanning cell.
|
|
95
|
+
*
|
|
96
|
+
* @param {ColumnRenderInputModel} base - The render input of the originating (leftmost) leaf.
|
|
97
|
+
* @param {ColumnRenderInputModel[]} spannedLeaves - All leaves consumed by the span (including base).
|
|
98
|
+
* @returns {ColumnRenderInputModel} A new instance with OR-merged boundary flags.
|
|
99
|
+
*/
|
|
100
|
+
static withMergedBoundaries(base, spannedLeaves) {
|
|
101
|
+
let isLeftEndPinned = base.isLeftEndPinned;
|
|
102
|
+
let isRightStartPinned = base.isRightStartPinned;
|
|
103
|
+
let isNoPinnedEnd = base.isNoPinnedEnd;
|
|
104
|
+
let isViewEnd = base.isViewEnd;
|
|
105
|
+
for (const leaf of spannedLeaves) {
|
|
106
|
+
isLeftEndPinned = isLeftEndPinned || leaf.isLeftEndPinned;
|
|
107
|
+
isRightStartPinned = isRightStartPinned || leaf.isRightStartPinned;
|
|
108
|
+
isNoPinnedEnd = isNoPinnedEnd || leaf.isNoPinnedEnd;
|
|
109
|
+
isViewEnd = isViewEnd || leaf.isViewEnd;
|
|
110
|
+
}
|
|
111
|
+
// Return the base unchanged when no flags were gained (common fast-path).
|
|
112
|
+
if (isLeftEndPinned === base.isLeftEndPinned &&
|
|
113
|
+
isRightStartPinned === base.isRightStartPinned &&
|
|
114
|
+
isNoPinnedEnd === base.isNoPinnedEnd &&
|
|
115
|
+
isViewEnd === base.isViewEnd) {
|
|
116
|
+
return base;
|
|
117
|
+
}
|
|
118
|
+
return new ColumnRenderInputModel(base.key, base.label, base.pinned, base.colSpan, base.rowSpan, base.isViewStart, isViewEnd, isLeftEndPinned, isRightStartPinned, isNoPinnedEnd, base.headHasGroupColumn, base.headHasPinnedColumn, base.headMaxDepth, base.level, base.columnIndex, base.parent, base.children);
|
|
119
|
+
}
|
|
88
120
|
/**
|
|
89
121
|
* True when the provided structure model is the last left-pinned sibling in its parent's children.
|
|
90
122
|
* Used to mark boundary nodes for left-pinned groups.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
import { resolveBodyColSpan } from '../renderers/vega-table-body-col-span-resolver';
|
|
9
|
+
/**
|
|
10
|
+
* Per-row body colspan controller.
|
|
11
|
+
*
|
|
12
|
+
* Centralizes the source-data body colSpan computation that was previously scattered across the
|
|
13
|
+
* cell renderer (cache + per-cell resolve) and the row renderer (imperative `skipCount`). It owns
|
|
14
|
+
* the once-per-key warning cache and exposes {@link resolveRow}, which computes the colspan result
|
|
15
|
+
* for every leaf in a row in a single pass so renderers can consume the result declaratively.
|
|
16
|
+
*
|
|
17
|
+
* The structural shape (a {@link VegaSlimmer} controller reading component fields) mirrors the
|
|
18
|
+
* main-branch `VegaTableExpandRowController` paradigm.
|
|
19
|
+
*/
|
|
20
|
+
export class VegaTableBodyColSpanController extends VegaSlimmer {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.warnedColSpanKeys = new Set();
|
|
24
|
+
this.lastWarnedColumnsRef = null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Resolve the effective colspan for every leaf cell in a single source-data row.
|
|
28
|
+
*
|
|
29
|
+
* Walks the row left-to-right, resolving each non-consumed leaf's span and marking the leaves
|
|
30
|
+
* consumed by a span as `null` so the caller can skip them declaratively (no mutable
|
|
31
|
+
* `skipCount` orchestration). The returned array is index-aligned with `leaves`.
|
|
32
|
+
*
|
|
33
|
+
* @param {VegaTableDataSourceItem} record - The row data record.
|
|
34
|
+
* @param {number} rowIndex - Zero-based index of the row in the current data set.
|
|
35
|
+
* @param {ColumnRenderInputModel[]} leaves - All leaf render inputs for the table (ordered).
|
|
36
|
+
* @returns {Array<Nullable<BodyColSpanResult>>} One entry per leaf: a {@link BodyColSpanResult}
|
|
37
|
+
* for a cell to render, or `null` for a leaf consumed by a preceding spanning cell.
|
|
38
|
+
*/
|
|
39
|
+
resolveRow(record, rowIndex, leaves) {
|
|
40
|
+
// Reset the once-per-key warning cache whenever the column configuration changes,
|
|
41
|
+
// so clamping conditions introduced by a new `columns` value can warn again.
|
|
42
|
+
if (this.columns !== this.lastWarnedColumnsRef) {
|
|
43
|
+
this.warnedColSpanKeys.clear();
|
|
44
|
+
this.lastWarnedColumnsRef = this.columns;
|
|
45
|
+
}
|
|
46
|
+
const results = new Array(leaves.length).fill(null);
|
|
47
|
+
let skipCount = 0;
|
|
48
|
+
leaves.forEach((leaf, leafIndex) => {
|
|
49
|
+
if (skipCount > 0) {
|
|
50
|
+
// This leaf is consumed by a preceding spanning cell — leave it null (skipped).
|
|
51
|
+
skipCount--;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const column = this.findColumn(leaf);
|
|
55
|
+
const result = column
|
|
56
|
+
? resolveBodyColSpan(column, record, rowIndex, leafIndex, leaves, this.warnedColSpanKeys)
|
|
57
|
+
: { htmlColspan: 1, skipCount: 0 };
|
|
58
|
+
results[leafIndex] = result;
|
|
59
|
+
skipCount = result.skipCount;
|
|
60
|
+
});
|
|
61
|
+
return results;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Find the column config that backs a leaf render input.
|
|
65
|
+
*
|
|
66
|
+
* @param {ColumnRenderInputModel} renderInput - The leaf render input.
|
|
67
|
+
* @returns {Nullable<VegaTableColumnConfig>} The matching column config, or `undefined`.
|
|
68
|
+
*/
|
|
69
|
+
findColumn(renderInput) {
|
|
70
|
+
return this.columns.find((column) => column.key === renderInput.key ||
|
|
71
|
+
column.prop === renderInput.key ||
|
|
72
|
+
column.label === renderInput.key);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
__decorate([
|
|
76
|
+
MapToComponentField()
|
|
77
|
+
], VegaTableBodyColSpanController.prototype, "columns", void 0);
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { LogUtility } from '../../../../utils/log';
|
|
2
|
+
import { getValueByPath } from '../../../../utils/object';
|
|
3
|
+
const NO_SPAN = { htmlColspan: 1, skipCount: 0 };
|
|
4
|
+
/**
|
|
5
|
+
* Read the declared span for a column, resolving the function form against the row value.
|
|
6
|
+
* Returns 1 when the column declares no span (REQ-008: span < 2 means no spanning).
|
|
7
|
+
*
|
|
8
|
+
* @param {VegaTableColumnConfig} column - The column configuration to read the span from.
|
|
9
|
+
* @param {VegaTableDataSourceItem} record - The row data record (passed to the function form).
|
|
10
|
+
* @param {number} rowIndex - Zero-based index of the row in the current data set.
|
|
11
|
+
* @returns {number} The declared span (>= 1).
|
|
12
|
+
*/
|
|
13
|
+
function getDeclaredSpan(column, record, rowIndex) {
|
|
14
|
+
const rawSpan = column === null || column === void 0 ? void 0 : column.colSpan;
|
|
15
|
+
if (rawSpan == null)
|
|
16
|
+
return 1;
|
|
17
|
+
if (typeof rawSpan !== 'function')
|
|
18
|
+
return normalizeSpan(rawSpan);
|
|
19
|
+
const value = column.prop ? getValueByPath(record, column.prop) : undefined;
|
|
20
|
+
return normalizeSpan(rawSpan(value, record, rowIndex));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Normalize a raw span value to a positive integer. Non-finite values (NaN/Infinity) and values
|
|
24
|
+
* below 1 collapse to 1 (no spanning); fractional values are floored so the resulting `colspan`
|
|
25
|
+
* attribute is always a valid integer string.
|
|
26
|
+
*
|
|
27
|
+
* @param {number} rawSpan - The raw span value declared by the column (numeric or function result).
|
|
28
|
+
* @returns {number} A positive integer span (>= 1).
|
|
29
|
+
*/
|
|
30
|
+
function normalizeSpan(rawSpan) {
|
|
31
|
+
if (!Number.isFinite(rawSpan))
|
|
32
|
+
return 1;
|
|
33
|
+
const floored = Math.floor(rawSpan);
|
|
34
|
+
return floored >= 1 ? floored : 1;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Walk rightward from the starting leaf to find the widest legal span.
|
|
38
|
+
*
|
|
39
|
+
* Stops (and returns a clamp reason) when the span would either run past the end of the
|
|
40
|
+
* row or cross a pinned ↔ unpinned column boundary (which would break sticky positioning).
|
|
41
|
+
* Breakpoint-hidden columns are intentionally **not** a stop condition — the span mirrors
|
|
42
|
+
* across them (matching header group colSpan).
|
|
43
|
+
*
|
|
44
|
+
* @param {number} declared - The declared span requested by the column.
|
|
45
|
+
* @param {number} leafIndex - Index of the starting leaf in the flattened render-input array.
|
|
46
|
+
* @param {ColumnRenderInputModel[]} allLeaves - All leaf render inputs for the table (ordered).
|
|
47
|
+
* @returns {MaxSpan} The widest legal span plus the clamp reason (null when unconstrained).
|
|
48
|
+
*/
|
|
49
|
+
function computeMaxSpan(declared, leafIndex, allLeaves) {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
const startPinned = (_a = allLeaves[leafIndex]) === null || _a === void 0 ? void 0 : _a.pinned;
|
|
52
|
+
let span = 1;
|
|
53
|
+
for (let offset = 1; offset < declared; offset++) {
|
|
54
|
+
const nextLeaf = allLeaves[leafIndex + offset];
|
|
55
|
+
if (!nextLeaf) {
|
|
56
|
+
return {
|
|
57
|
+
span,
|
|
58
|
+
clampReason: `extends past the end of the row (${allLeaves.length} columns total)`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// Reject if the next column is in a different pinned group.
|
|
62
|
+
if (nextLeaf.pinned !== startPinned) {
|
|
63
|
+
return {
|
|
64
|
+
span,
|
|
65
|
+
clampReason: `crosses a pinned-column boundary (pinned="${startPinned !== null && startPinned !== void 0 ? startPinned : 'none'}" → pinned="${(_b = nextLeaf.pinned) !== null && _b !== void 0 ? _b : 'none'}")`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
span++;
|
|
69
|
+
}
|
|
70
|
+
return { span, clampReason: null };
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Emit a clamp warning at most once per column key (per-instance, tracked via {@link warnedKeys}).
|
|
74
|
+
*
|
|
75
|
+
* @param {string} colKey - The column key used to dedupe warnings.
|
|
76
|
+
* @param {number} declared - The originally declared span.
|
|
77
|
+
* @param {number} effective - The clamped (effective) span actually applied.
|
|
78
|
+
* @param {string} reason - Human-readable reason the span was clamped.
|
|
79
|
+
* @param {Set<string>} warnedKeys - Per-instance set tracking already-warned column keys.
|
|
80
|
+
*/
|
|
81
|
+
function warnClampOnce(colKey, declared, effective, reason, warnedKeys) {
|
|
82
|
+
if (warnedKeys.has(colKey))
|
|
83
|
+
return;
|
|
84
|
+
warnedKeys.add(colKey);
|
|
85
|
+
LogUtility.warn(`[vega-table] colSpan for column "${colKey}" was clamped from ${declared} to ${effective} because it ${reason}.`);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Resolve the effective body-cell colspan for a single source-data row cell.
|
|
89
|
+
*
|
|
90
|
+
* Clamps the declared span so it never runs past the end of the row nor crosses a
|
|
91
|
+
* pinned ↔ unpinned column boundary. Structural clamps (end-of-row / pinned boundary) emit a
|
|
92
|
+
* warning once per column key (tracked via the caller-supplied {@link warnedKeys} set).
|
|
93
|
+
* Breakpoint-hidden columns are **not** clamped — the span mirrors across a `display: none`
|
|
94
|
+
* column (matching header group colSpan) so the body grid stays column-aligned with the header.
|
|
95
|
+
*
|
|
96
|
+
* @param {VegaTableColumnConfig} column - The column configuration for the spanning cell.
|
|
97
|
+
* @param {VegaTableDataSourceItem} record - The row data record.
|
|
98
|
+
* @param {number} rowIndex - Zero-based index of the row in the current data set.
|
|
99
|
+
* @param {number} leafIndex - Index of this column in the flattened leaf render-input array.
|
|
100
|
+
* @param {ColumnRenderInputModel[]} allLeaves - All leaf render inputs for the table (ordered).
|
|
101
|
+
* @param {Set<string>} warnedKeys - Per-instance set tracking column keys that have already received a clamping warning.
|
|
102
|
+
* @returns {BodyColSpanResult} Resolved spanning metadata for the cell.
|
|
103
|
+
*/
|
|
104
|
+
export function resolveBodyColSpan(column, record, rowIndex, leafIndex, allLeaves, warnedKeys) {
|
|
105
|
+
var _a, _b, _c;
|
|
106
|
+
const declared = getDeclaredSpan(column, record, rowIndex);
|
|
107
|
+
if (!declared || declared <= 1)
|
|
108
|
+
return NO_SPAN;
|
|
109
|
+
const { span, clampReason } = computeMaxSpan(declared, leafIndex, allLeaves);
|
|
110
|
+
const effectiveSpan = Math.min(declared, span);
|
|
111
|
+
if (clampReason && effectiveSpan < declared) {
|
|
112
|
+
const colKey = (_c = (_b = (_a = column.key) !== null && _a !== void 0 ? _a : column.prop) !== null && _b !== void 0 ? _b : column.label) !== null && _c !== void 0 ? _c : '';
|
|
113
|
+
warnClampOnce(colKey, declared, effectiveSpan, clampReason, warnedKeys);
|
|
114
|
+
}
|
|
115
|
+
if (effectiveSpan <= 1)
|
|
116
|
+
return NO_SPAN;
|
|
117
|
+
return {
|
|
118
|
+
htmlColspan: effectiveSpan,
|
|
119
|
+
skipCount: effectiveSpan - 1,
|
|
120
|
+
};
|
|
121
|
+
}
|
package/dist/collection/components/vega-table/slimmers/renderers/vega-table-cell-renderer.js
CHANGED
|
@@ -20,10 +20,11 @@ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
|
20
20
|
import { VegaTableEditableFieldTypes, } from '../../interface';
|
|
21
21
|
import { getValueByPath } from '../../../../utils/object';
|
|
22
22
|
import { LogUtility } from '../../../../utils/log';
|
|
23
|
+
import { ColumnRenderInputModel } from '../controllers/dto/column-render-input-model';
|
|
23
24
|
export class VegaTableCellRenderer extends VegaSlimmer {
|
|
24
25
|
constructor() {
|
|
25
26
|
super(...arguments);
|
|
26
|
-
this.renderTableCellContent = (column, record, index) => {
|
|
27
|
+
this.renderTableCellContent = (column, record, index, isSpanning) => {
|
|
27
28
|
var _a, _b;
|
|
28
29
|
const value = getValueByPath(record, column.prop);
|
|
29
30
|
const rowKey = this.vegaTableDataSourceController.getRecordKey(record);
|
|
@@ -32,13 +33,14 @@ export class VegaTableCellRenderer extends VegaSlimmer {
|
|
|
32
33
|
.find((item) => this.vegaTableDataSourceController.getRecordKey(item) === rowKey);
|
|
33
34
|
const editing = this.vegaTableEditableController.isEditing(rowKey);
|
|
34
35
|
const rowForm = this.vegaTableEditableController.getRowFormRefMap().get(rowKey);
|
|
35
|
-
|
|
36
|
+
// REQ-007: spanning cells are forced read-only — never render editable form items.
|
|
37
|
+
if (!isSpanning && editing && rowForm && column.renderFormItem) {
|
|
36
38
|
return column.renderFormItem(h, column.prop ? value : rowKey, record, index, {
|
|
37
39
|
rowForm,
|
|
38
40
|
isNewRow,
|
|
39
41
|
});
|
|
40
42
|
}
|
|
41
|
-
if (editing && rowForm && column.editable) {
|
|
43
|
+
if (!isSpanning && editing && rowForm && column.editable) {
|
|
42
44
|
const formItemProps = (_a = column.formItemProps) === null || _a === void 0 ? void 0 : _a.call(column, rowForm, {
|
|
43
45
|
record,
|
|
44
46
|
index,
|
|
@@ -86,30 +88,50 @@ export class VegaTableCellRenderer extends VegaSlimmer {
|
|
|
86
88
|
new RegExp(VegaTableEditableFieldTypes.join('|'), 'i').test(tagName));
|
|
87
89
|
};
|
|
88
90
|
}
|
|
89
|
-
render(renderInput, record, index) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
render(renderInput, record, index, colSpanResult) {
|
|
92
|
+
var _a;
|
|
93
|
+
const column = this.vegaTableBodyColSpanController.findColumn(renderInput);
|
|
94
|
+
/* istanbul ignore next -- defensive: colSpanResult is always provided by the caller */
|
|
95
|
+
const htmlColspan = (_a = colSpanResult === null || colSpanResult === void 0 ? void 0 : colSpanResult.htmlColspan) !== null && _a !== void 0 ? _a : 1;
|
|
96
|
+
const isSpanning = htmlColspan > 1;
|
|
97
|
+
// When a cell spans, merge pinned-boundary flags from all consumed leaves so the spanning
|
|
98
|
+
// cell inherits boundary indicators (e.g. right-divider for pinned-end).
|
|
99
|
+
const effectiveRenderInput = isSpanning && colSpanResult
|
|
100
|
+
? this.getMergedRenderInputForSpan(renderInput, colSpanResult)
|
|
101
|
+
: renderInput;
|
|
93
102
|
if (column) {
|
|
94
103
|
const rowKey = this.vegaTableDataSourceController.getRecordKey(record);
|
|
95
104
|
const columnKey = `${rowKey}_${column.key || column.prop}`;
|
|
96
|
-
return (h("vega-table-cell", { key: columnKey, textAlign: column.align, breakpoint: column.breakpoint, overflow: column.overflow, ref: (ref) => {
|
|
97
|
-
this.vegaTableRenderInputController.addCellRenderInputMap(ref,
|
|
98
|
-
} }, this.renderTableCellContent(column, record, index)));
|
|
105
|
+
return (h("vega-table-cell", { key: columnKey, textAlign: column.align, breakpoint: column.breakpoint, overflow: column.overflow, colSpan: isSpanning ? htmlColspan : undefined, ref: (ref) => {
|
|
106
|
+
this.vegaTableRenderInputController.addCellRenderInputMap(ref, effectiveRenderInput);
|
|
107
|
+
} }, this.renderTableCellContent(column, record, index, isSpanning)));
|
|
99
108
|
}
|
|
100
109
|
else {
|
|
101
110
|
return (h("vega-table-cell", { key: renderInput.key, ref: (ref) => {
|
|
102
|
-
this.vegaTableRenderInputController.addCellRenderInputMap(ref,
|
|
111
|
+
this.vegaTableRenderInputController.addCellRenderInputMap(ref, effectiveRenderInput);
|
|
103
112
|
} }));
|
|
104
113
|
}
|
|
105
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Build a render input with merged boundary flags from all leaves consumed by a body colSpan.
|
|
117
|
+
*
|
|
118
|
+
* @param {ColumnRenderInputModel} baseInput - The starting leaf's render input.
|
|
119
|
+
* @param {BodyColSpanResult} colSpanResult - The resolved span result (provides skipCount).
|
|
120
|
+
* @returns {ColumnRenderInputModel} A render input with OR-merged boundary flags.
|
|
121
|
+
*/
|
|
122
|
+
getMergedRenderInputForSpan(baseInput, colSpanResult) {
|
|
123
|
+
const allLeaves = this.vegaTableRenderInputController.getLeafRenderInputs();
|
|
124
|
+
const startIndex = allLeaves.indexOf(baseInput);
|
|
125
|
+
/* istanbul ignore next -- defensive: baseInput should always be in the leaves array */
|
|
126
|
+
if (startIndex < 0)
|
|
127
|
+
return baseInput;
|
|
128
|
+
const spannedLeaves = allLeaves.slice(startIndex + 1, startIndex + 1 + colSpanResult.skipCount);
|
|
129
|
+
return ColumnRenderInputModel.withMergedBoundaries(baseInput, spannedLeaves);
|
|
130
|
+
}
|
|
106
131
|
}
|
|
107
132
|
__decorate([
|
|
108
133
|
MapToComponentField()
|
|
109
134
|
], VegaTableCellRenderer.prototype, "rowKey", void 0);
|
|
110
|
-
__decorate([
|
|
111
|
-
MapToComponentField()
|
|
112
|
-
], VegaTableCellRenderer.prototype, "columns", void 0);
|
|
113
135
|
__decorate([
|
|
114
136
|
MapToComponentField()
|
|
115
137
|
], VegaTableCellRenderer.prototype, "vegaTableDataSourceController", void 0);
|
|
@@ -119,3 +141,6 @@ __decorate([
|
|
|
119
141
|
__decorate([
|
|
120
142
|
MapToComponentField()
|
|
121
143
|
], VegaTableCellRenderer.prototype, "vegaTableRenderInputController", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
MapToComponentField()
|
|
146
|
+
], VegaTableCellRenderer.prototype, "vegaTableBodyColSpanController", void 0);
|