@heartlandone/vega 2.84.0 → 2.86.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-ea063074.js → app-globals-3080f55a.js} +5 -5
- package/dist/cjs/{child-nodes-event-prevent-slimmer-58bbc5fc.js → child-nodes-event-prevent-slimmer-f3979a03.js} +1 -1
- package/dist/cjs/{code-block-6da521e6.js → code-block-c6c70464.js} +6 -0
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-f3f35f94.js → component-value-history-controller-slimmer.abstract-a523b747.js} +2 -2
- package/dist/cjs/{content-state-89fafb3b.js → content-state-efd3b1a7.js} +1 -1
- package/dist/cjs/{event-emit-slimmer-ecca412d.js → event-emit-slimmer-80e1c8ca.js} +1 -1
- package/dist/cjs/{image-annotation-action-a6e1e9ed.js → image-annotation-action-93bace08.js} +3 -3
- package/dist/cjs/{immutable-map-edf24b54.js → immutable-map-d711339d.js} +16 -4
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/{internal-vega-event-manager-6b74b3af.js → internal-vega-event-manager-7e0d966d.js} +2 -1
- package/dist/cjs/loader.cjs.js +8 -8
- package/dist/cjs/{public-rules-fc52d624.js → public-rules-3cd0f182.js} +3 -3
- package/dist/cjs/{range-93cc8ab1.js → range-c9bde0b4.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-fd3711fb.js → rich-text-editor-required-rule-d1f0509c.js} +1 -1
- package/dist/cjs/{split-cell-operation-532fb9f0.js → split-cell-operation-6a59c9b0.js} +2 -2
- package/dist/cjs/{token-extension-39f2b886.js → token-extension-d7d2ead6.js} +282 -224
- package/dist/cjs/vega-accordion.cjs.entry.js +3 -3
- package/dist/cjs/vega-app-header-button.cjs.entry.js +4 -4
- package/dist/cjs/vega-banner.cjs.entry.js +3 -3
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-circle.cjs.entry.js +4 -4
- 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 +4 -4
- package/dist/cjs/vega-calendar_4.cjs.entry.js +8 -7
- package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-chip.cjs.entry.js +4 -4
- package/dist/cjs/vega-code-block.cjs.entry.js +7 -7
- package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +188 -46
- package/dist/cjs/vega-color-swatch.cjs.entry.js +7 -7
- package/dist/cjs/vega-combo-box.cjs.entry.js +4 -4
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -5
- package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +4 -4
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/{vega-event-id-c08ce3d3.js → vega-event-id-d9994eb3.js} +2 -0
- package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
- package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
- package/dist/cjs/vega-form.cjs.entry.js +5 -5
- package/dist/cjs/vega-image-uploader.cjs.entry.js +4 -4
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +4 -4
- package/dist/cjs/vega-input-numeric.cjs.entry.js +4 -4
- package/dist/cjs/vega-input-passcode.cjs.entry.js +4 -4
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +15 -5
- package/dist/cjs/vega-input-range.cjs.entry.js +4 -4
- package/dist/cjs/vega-input-select.cjs.entry.js +4 -4
- package/dist/cjs/vega-input.cjs.entry.js +3 -3
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +15 -13
- 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 +1 -1
- package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
- package/dist/cjs/vega-popover_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +4 -4
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +10 -10
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +6 -6
- package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +161 -28
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
- package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -3
- package/dist/cjs/vega-stepper.cjs.entry.js +4 -4
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-table_11.cjs.entry.js +1172 -282
- package/dist/cjs/vega-textarea.cjs.entry.js +4 -4
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -15
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
- package/dist/cjs/vega.cjs.js +8 -8
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +2 -2
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +2 -1
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-picker-renderer.js +24 -5
- package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.js +15 -0
- package/dist/collection/components/vega-color-swatch/vega-color-swatch.js +6 -6
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +3 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +17 -1
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +31 -1
- package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +10 -0
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +1 -1
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.js +10 -8
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +8 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +53 -51
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +40 -10
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +75 -62
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +5 -1
- package/dist/collection/components/vega-selection-tile/slimmers/renderers/vega-selection-tile-renderer.js +71 -10
- package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.js +39 -11
- package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.css +1 -3
- package/dist/collection/components/vega-selection-tile/vega-selection-tile.css +23 -18
- package/dist/collection/components/vega-selection-tile/vega-selection-tile.js +45 -1
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-expand-row-controller.js +88 -4
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-row-draggable-controller.js +132 -0
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-sort-controller.js +14 -0
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +8 -5
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.js +6 -2
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +8 -2
- package/dist/collection/components/vega-table/utils.js +4 -3
- package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.js +13 -1
- package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-state-controller.js +7 -0
- package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
- package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/controllers/vega-table-foot-row-state-controller.js +10 -3
- package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +9 -2
- package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +4 -3
- package/dist/collection/components/vega-table/vega-table-head/vega-table-head.js +5 -0
- package/dist/collection/components/vega-table/vega-table-head-row/slimmers/controllers/vega-table-head-row-state-controller.js +10 -3
- package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +12 -2
- package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +5 -4
- package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-state-controller.js +22 -1
- package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +19 -4
- package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +6 -0
- package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -1
- package/dist/collection/components/vega-table/vega-table.css +5 -0
- package/dist/collection/components/vega-table/vega-table.js +135 -11
- package/dist/collection/components/vega-time-picker/vega-time-picker.js +6 -12
- package/dist/collection/constants/ui.js +1 -0
- package/dist/collection/global/icons/grip-dots-vertical.js +3 -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/immutable/immutable-map.js +16 -4
- package/dist/collection/helpers/slimmers/draggable-element-slimmer.js +508 -0
- package/dist/collection/helpers/slimmers/popover-nested-slot-projection-slimmer.js +118 -0
- package/dist/esm/{app-globals-d06de2a5.js → app-globals-37536ac9.js} +5 -5
- package/dist/esm/{aria-dialog-focusable-trap-slimmer-853a91de.js → aria-dialog-focusable-trap-slimmer-6eb79723.js} +1 -1
- package/dist/esm/{child-nodes-event-prevent-slimmer-f65e2452.js → child-nodes-event-prevent-slimmer-75f93d85.js} +1 -1
- package/dist/esm/{code-block-65c8804b.js → code-block-10be3916.js} +7 -1
- package/dist/esm/{component-value-history-controller-slimmer.abstract-26c154f6.js → component-value-history-controller-slimmer.abstract-82d51b7a.js} +3 -3
- package/dist/esm/{content-state-e676bdf0.js → content-state-afeb700d.js} +2 -2
- package/dist/esm/{element-appender-slimmer-d4a82dc3.js → element-appender-slimmer-05f487d7.js} +1 -1
- package/dist/esm/{event-emit-slimmer-18711776.js → event-emit-slimmer-1c57093d.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-9a0f8c54.js → form-field-controller-slimmer-ae8478b5.js} +2 -2
- package/dist/esm/{image-annotation-action-2d87b66a.js → image-annotation-action-bad7c565.js} +3 -3
- package/dist/esm/{immutable-map-612922a2.js → immutable-map-4fe22b11.js} +16 -4
- package/dist/esm/index.js +9 -9
- package/dist/esm/{internal-vega-event-manager-bed71930.js → internal-vega-event-manager-7cdf3c28.js} +2 -1
- package/dist/esm/loader.js +9 -9
- package/dist/esm/{public-rules-a61ff09f.js → public-rules-f54e6f39.js} +4 -4
- package/dist/esm/{range-d9e55d00.js → range-f32f9185.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-6a4c853a.js → rich-text-editor-required-rule-627fd7e4.js} +1 -1
- package/dist/esm/{split-cell-operation-2e700c5c.js → split-cell-operation-90c30861.js} +3 -3
- package/dist/esm/{string-input-formatter-slimmer-ad234bec.js → string-input-formatter-slimmer-4059080b.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-1f907173.js → sub-state-notify-slimmer-63ecb465.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-090c500a.js → sub-state-observer-slimmer-2adbbe00.js} +1 -1
- package/dist/esm/{token-extension-d3a46c04.js → token-extension-728c0678.js} +282 -224
- package/dist/esm/vega-accordion.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +4 -4
- package/dist/esm/vega-banner.entry.js +3 -3
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +5 -5
- package/dist/esm/vega-button-group_2.entry.js +7 -7
- package/dist/esm/vega-button-link.entry.js +4 -4
- package/dist/esm/vega-button.entry.js +5 -5
- package/dist/esm/vega-calendar_4.entry.js +11 -10
- package/dist/esm/vega-carousel.entry.js +3 -3
- package/dist/esm/vega-checkbox_2.entry.js +7 -7
- package/dist/esm/vega-chip.entry.js +4 -4
- package/dist/esm/vega-code-block.entry.js +8 -8
- package/dist/esm/vega-color-picker.entry.js +6 -6
- package/dist/esm/vega-color-swatch-picker.entry.js +192 -50
- package/dist/esm/vega-color-swatch.entry.js +7 -7
- package/dist/esm/vega-combo-box.entry.js +7 -7
- package/dist/esm/vega-date-picker_2.entry.js +24 -12
- package/dist/esm/vega-dialog_2.entry.js +7 -7
- package/dist/esm/vega-dropdown_5.entry.js +9 -9
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-5841d1d3.js → vega-event-id-a6ccca66.js} +2 -1
- package/dist/esm/vega-field-label.entry.js +3 -3
- package/dist/esm/vega-file-uploader.entry.js +6 -6
- package/dist/esm/vega-form.entry.js +9 -9
- package/dist/esm/vega-image-uploader.entry.js +7 -7
- package/dist/esm/vega-input-credit-card.entry.js +7 -7
- package/dist/esm/vega-input-numeric.entry.js +8 -8
- package/dist/esm/vega-input-passcode.entry.js +7 -7
- package/dist/esm/vega-input-phone-number.entry.js +18 -8
- package/dist/esm/vega-input-range.entry.js +7 -7
- package/dist/esm/vega-input-select.entry.js +7 -7
- package/dist/esm/vega-input.entry.js +8 -8
- package/dist/esm/{vega-internal-event-id-194bac82.js → vega-internal-event-id-db974a0d.js} +1 -1
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +18 -16
- package/dist/esm/vega-page-notification_2.entry.js +1 -1
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +4 -4
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -2
- package/dist/esm/vega-pagination.entry.js +5 -5
- package/dist/esm/vega-popover_2.entry.js +6 -6
- package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
- package/dist/esm/vega-radio_2.entry.js +7 -7
- package/dist/esm/vega-rich-text-content.entry.js +7 -7
- package/dist/esm/vega-rich-text-editor_4.entry.js +15 -15
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +7 -7
- 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 +165 -32
- package/dist/esm/vega-sidenav_3.entry.js +6 -6
- package/dist/esm/vega-signature-capture.entry.js +6 -6
- package/dist/esm/vega-stepper.entry.js +7 -7
- package/dist/esm/vega-tab-group_2.entry.js +4 -4
- package/dist/esm/vega-table_11.entry.js +1175 -285
- package/dist/esm/vega-textarea.entry.js +7 -7
- package/dist/esm/vega-time-picker_2.entry.js +13 -19
- package/dist/esm/vega-toggle-switch.entry.js +6 -6
- package/dist/esm/vega-tooltip_2.entry.js +2 -2
- package/dist/esm/vega.js +9 -9
- package/dist/esm/{wait-for-component-did-render-30cde59c.js → wait-for-component-did-render-9a83d343.js} +1 -1
- package/dist/sri/vega-sri-manifest.json +276 -276
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-picker-renderer.d.ts +9 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.d.ts +6 -0
- package/dist/types/components/vega-color-swatch/vega-color-swatch.d.ts +4 -4
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +1 -0
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +8 -0
- package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +2 -0
- package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +15 -11
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +25 -22
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +5 -0
- package/dist/types/components/vega-selection-tile/slimmers/renderers/vega-selection-tile-renderer.d.ts +12 -0
- package/dist/types/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.d.ts +0 -1
- package/dist/types/components/vega-selection-tile/vega-selection-tile.d.ts +2 -0
- package/dist/types/components/vega-table/interface.d.ts +2 -0
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-expand-row-controller.d.ts +35 -0
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-row-draggable-controller.d.ts +52 -0
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-sort-controller.d.ts +4 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +3 -1
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.d.ts +2 -1
- package/dist/types/components/vega-table/utils.d.ts +3 -2
- package/dist/types/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.d.ts +5 -0
- package/dist/types/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-state-controller.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +2 -0
- package/dist/types/components/vega-table/vega-table-foot-row/slimmers/controllers/vega-table-foot-row-state-controller.d.ts +2 -1
- package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +3 -1
- package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +6 -2
- package/dist/types/components/vega-table/vega-table-head/vega-table-head.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-head-row/slimmers/controllers/vega-table-head-row-state-controller.d.ts +2 -1
- package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +3 -1
- package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +6 -2
- package/dist/types/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-state-controller.d.ts +3 -0
- package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +3 -0
- package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +8 -0
- package/dist/types/components/vega-table/vega-table.d.ts +40 -5
- package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +5 -11
- package/dist/types/components.d.ts +47 -12
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/global/icons/grip-dots-vertical.d.ts +3 -0
- package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
- package/dist/types/helpers/immutable/immutable-map.d.ts +4 -1
- package/dist/types/helpers/slimmers/draggable-element-slimmer.d.ts +260 -0
- package/dist/types/helpers/slimmers/popover-nested-slot-projection-slimmer.d.ts +65 -0
- package/dist/types/types/components.type.d.ts +2 -0
- package/dist/types/types/public-api.d.ts +2 -0
- package/dist/types/types/ui.type.d.ts +40 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-d3ed7c27.entry.js → p-0b5b0fd2.entry.js} +1 -1
- package/dist/vega/p-13e7f906.entry.js +1 -0
- package/dist/vega/{p-39b71df9.entry.js → p-23b38467.entry.js} +1 -1
- package/dist/vega/{p-8d833b44.entry.js → p-25572ea7.entry.js} +1 -1
- package/dist/vega/{p-03cf2df1.entry.js → p-268e84e0.entry.js} +1 -1
- package/dist/vega/p-2edc066c.entry.js +1 -0
- package/dist/vega/{p-5bbb3e68.entry.js → p-2fb26f4f.entry.js} +1 -1
- package/dist/vega/{p-032183c1.js → p-33234385.js} +1 -1
- package/dist/vega/{p-c0323a55.entry.js → p-35d77c9c.entry.js} +1 -1
- package/dist/vega/{p-5ac4649a.entry.js → p-3c456e91.entry.js} +1 -1
- package/dist/vega/{p-27b1dc0f.entry.js → p-3d0ba2c6.entry.js} +1 -1
- package/dist/vega/{p-20f0060f.entry.js → p-3d92d2af.entry.js} +1 -1
- package/dist/vega/{p-4123559f.entry.js → p-3e64fa38.entry.js} +1 -1
- package/dist/vega/{p-f986f875.entry.js → p-411ea209.entry.js} +1 -1
- package/dist/vega/{p-7cf1e1f7.entry.js → p-423762ae.entry.js} +1 -1
- package/dist/vega/{p-0f31b00b.entry.js → p-4530f0e1.entry.js} +1 -1
- package/dist/vega/{p-b28d4f7d.js → p-48e3be6a.js} +1 -1
- package/dist/vega/{p-753a7832.entry.js → p-4afafeb3.entry.js} +1 -1
- package/dist/vega/{p-c6837173.entry.js → p-4c90d013.entry.js} +1 -1
- package/dist/vega/p-5087fa1e.entry.js +1 -0
- package/dist/vega/{p-7595ad55.js → p-51b2b3de.js} +1 -1
- package/dist/vega/{p-bc2786f9.entry.js → p-59c6dcf7.entry.js} +1 -1
- package/dist/vega/p-5e50dbb9.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-e5546af5.entry.js → p-606d7113.entry.js} +1 -1
- package/dist/vega/{p-6f790577.js → p-6817b9bd.js} +1 -1
- package/dist/vega/{p-84030271.entry.js → p-69c11b7b.entry.js} +1 -1
- package/dist/vega/{p-effa6495.js → p-6b5cb920.js} +1 -1
- package/dist/vega/{p-aa985d73.js → p-6c43d54a.js} +1 -1
- package/dist/vega/{p-0e15fa94.entry.js → p-6fadee27.entry.js} +1 -1
- package/dist/vega/{p-549bea2c.entry.js → p-73c6669e.entry.js} +1 -1
- package/dist/vega/{p-9375fbce.js → p-7730bace.js} +1 -1
- package/dist/vega/{p-88f57353.entry.js → p-79c12a64.entry.js} +1 -1
- package/dist/vega/{p-f8c700dd.entry.js → p-7f74cd41.entry.js} +1 -1
- package/dist/vega/p-818da356.js +1 -0
- package/dist/vega/{p-aa040383.js → p-84eb3b9c.js} +1 -1
- package/dist/vega/{p-b48b3264.js → p-8d48940d.js} +1 -1
- package/dist/vega/{p-a5e6a3be.js → p-93afdfc3.js} +1 -1
- package/dist/vega/{p-865fc90b.entry.js → p-98a6cd8e.entry.js} +1 -1
- package/dist/vega/p-9af0e2e7.js +1 -0
- package/dist/vega/{p-f6414a24.entry.js → p-9e2b7718.entry.js} +1 -1
- package/dist/vega/{p-e1b1f5f9.entry.js → p-9eb00537.entry.js} +1 -1
- package/dist/vega/{p-f0e855b2.entry.js → p-9f36abf9.entry.js} +1 -1
- package/dist/vega/{p-b88eab9a.entry.js → p-9fc8bd1f.entry.js} +1 -1
- package/dist/vega/{p-9308f874.entry.js → p-a050c24d.entry.js} +1 -1
- package/dist/vega/{p-aa4d419c.entry.js → p-a49c25c2.entry.js} +1 -1
- package/dist/vega/{p-1df2c29b.entry.js → p-a9528dbd.entry.js} +1 -1
- package/dist/vega/{p-0caf52e0.js → p-a9e10a64.js} +1 -1
- package/dist/vega/p-a9f34735.entry.js +1 -0
- package/dist/vega/{p-3ae5f50e.entry.js → p-aaf44879.entry.js} +1 -1
- package/dist/vega/{p-6cada843.js → p-ae1aa4df.js} +1 -1
- package/dist/vega/p-af00e6e2.entry.js +1 -0
- package/dist/vega/{p-a0c3968b.js → p-af5cb9bc.js} +1 -1
- package/dist/vega/{p-d6c9ef6c.entry.js → p-afd1b519.entry.js} +1 -1
- package/dist/vega/{p-5490d499.entry.js → p-bc74d7e7.entry.js} +1 -1
- package/dist/vega/{p-6ba71ec4.entry.js → p-c2388937.entry.js} +1 -1
- package/dist/vega/p-c31a32f4.js +1 -0
- package/dist/vega/{p-11a2f834.js → p-c347e08a.js} +1 -1
- package/dist/vega/{p-91739ed3.entry.js → p-c51ebb14.entry.js} +1 -1
- package/dist/vega/{p-b80217fa.entry.js → p-c601b331.entry.js} +1 -1
- package/dist/vega/{p-d3864b94.entry.js → p-c8fe46fd.entry.js} +1 -1
- package/dist/vega/p-ce61d23f.entry.js +1 -0
- package/dist/vega/{p-d76e3b3c.entry.js → p-cf2838c7.entry.js} +1 -1
- package/dist/vega/{p-e4c5b8d1.entry.js → p-d37636a5.entry.js} +1 -1
- package/dist/vega/{p-19e10a87.entry.js → p-d402eb7b.entry.js} +1 -1
- package/dist/vega/{p-dec5b448.js → p-d4e519a0.js} +1 -1
- package/dist/vega/{p-ce975c69.entry.js → p-da8bb883.entry.js} +1 -1
- package/dist/vega/{p-68a96fbb.entry.js → p-dffbbc3d.entry.js} +1 -1
- package/dist/vega/{p-bdddddb7.js → p-e1709e59.js} +1 -1
- package/dist/vega/{p-c47c37f2.js → p-e27626f6.js} +1 -1
- package/dist/vega/{p-6236f592.entry.js → p-e47b2c4c.entry.js} +1 -1
- package/dist/vega/{p-7dca19d3.entry.js → p-e95cb28f.entry.js} +1 -1
- package/dist/vega/{p-74136508.entry.js → p-ecbb63a5.entry.js} +1 -1
- package/dist/vega/p-ed26f4c8.entry.js +1 -0
- package/dist/vega/{p-43aaeb30.entry.js → p-effb285f.entry.js} +1 -1
- package/dist/vega/p-f1c672e4.js +1 -0
- package/dist/vega/{p-56c28943.js → p-f5f5a0d9.js} +1 -1
- package/dist/vega/{p-748268e6.entry.js → p-f604f2c9.entry.js} +1 -1
- package/dist/vega/{p-e5cc839a.entry.js → p-fa91805b.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-220f8ee7.js +0 -1
- package/dist/vega/p-38af89b9.js +0 -1
- package/dist/vega/p-5215e1d8.entry.js +0 -1
- package/dist/vega/p-5409275a.entry.js +0 -1
- package/dist/vega/p-5f23c52d.entry.js +0 -1
- package/dist/vega/p-7dbaed6c.entry.js +0 -1
- package/dist/vega/p-80cb302f.entry.js +0 -1
- package/dist/vega/p-874bf8b2.js +0 -1
- package/dist/vega/p-99670c56.entry.js +0 -1
- package/dist/vega/p-9de25451.js +0 -1
- package/dist/vega/p-a2d6d695.entry.js +0 -1
- package/dist/vega/p-b78eaec4.js +0 -1
|
@@ -5,25 +5,25 @@ import { I as InjectVegaTelemetrySlimmer, c as createPublicAPIRuntimeMetricsSlim
|
|
|
5
5
|
import { I as InternalVegaZIndexManager } from './internal-vega-z-index-manager-7d2b54c3.js';
|
|
6
6
|
import { c as createDynamicSlimmer } from './dynamic-slimmer-90b8af32.js';
|
|
7
7
|
import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-e24d36c5.js';
|
|
8
|
-
import { i as internalVegaEventManager } from './internal-vega-event-manager-
|
|
8
|
+
import { i as internalVegaEventManager } from './internal-vega-event-manager-7cdf3c28.js';
|
|
9
9
|
import { V as VegaInternalTranslation } from './internal-translation-controller-d7dee4a0.js';
|
|
10
|
-
import { R as RTEDTOActionStrategyManager, E as ElementToDTOClassStrategyManager, h as htmlElementToAnnotationGenerator, U as UpdateCursorPositionAction, V as VegaRTEContent, B as BlockToRTEBlockStrategyAbstract, a as ElementToDTOStrategy, I as InsertNewParagraphAction, b as RTEImageBlock, c as InsertChildrenBeforeStrategy, P as PasteContentStrategy, A as AnnotationGeneratorStrategyAbstract, d as RTEListItemBlock } from './content-state-
|
|
11
|
-
import { s as stateEntityRenderingRegistry, A as ActionHandleStrategyRegistry, a as ActionHandlerInterceptorRegistry, R as RTEFilterStylesStrategyRegistry, b as RTEDTOClassManager, M as ModifyContentAction, c as RTETextNode, d as RTEBlock, e as RTETextBlock, f as RTEAnnotationStyle, g as ActionHandleStrategy, I as InsertChildrenAfterAction, h as AppendChildrenAction, i as RTENode, j as InsertChildrenBeforeAction, k as InternalAnnotationTypeEnum, l as ModifyContentActionType, B as BlockAnnotation, m as AnnotationAction, n as RemoveChildrenAction, C as CommonAnnotationTypeEnum, o as CustomAttributeAnnotation, p as RTEFilterStylesStrategy } from './code-block-
|
|
10
|
+
import { R as RTEDTOActionStrategyManager, E as ElementToDTOClassStrategyManager, h as htmlElementToAnnotationGenerator, U as UpdateCursorPositionAction, V as VegaRTEContent, B as BlockToRTEBlockStrategyAbstract, a as ElementToDTOStrategy, I as InsertNewParagraphAction, b as RTEImageBlock, c as InsertChildrenBeforeStrategy, P as PasteContentStrategy, A as AnnotationGeneratorStrategyAbstract, d as RTEListItemBlock } from './content-state-afeb700d.js';
|
|
11
|
+
import { s as stateEntityRenderingRegistry, A as ActionHandleStrategyRegistry, a as ActionHandlerInterceptorRegistry, R as RTEFilterStylesStrategyRegistry, b as RTEDTOClassManager, M as ModifyContentAction, c as RTETextNode, d as RTEBlock, e as RTETextBlock, f as RTEAnnotationStyle, g as ActionHandleStrategy, I as InsertChildrenAfterAction, h as AppendChildrenAction, i as RTENode, j as InsertChildrenBeforeAction, k as InternalAnnotationTypeEnum, l as ModifyContentActionType, B as BlockAnnotation, m as AnnotationAction, n as RemoveChildrenAction, C as CommonAnnotationTypeEnum, o as CustomAttributeAnnotation, p as RTEFilterStylesStrategy } from './code-block-10be3916.js';
|
|
12
12
|
import { i as isNonNullable } from './type-guard-adc244fd.js';
|
|
13
13
|
import { R as RTEDTORendererManager } from './dto-renderer-manager-abc7eb5f.js';
|
|
14
14
|
import { V as VegaRTEBaseRenderer } from './base-renderer-101f6d04.js';
|
|
15
15
|
import { V as VegaInternalIconManager } from './internal-icon-manager-bd80b3bb.js';
|
|
16
16
|
import { v as vegaNonceManager } from './vega-nonce-manager-497e5eb5.js';
|
|
17
17
|
import { D as DomNodeSubjectObserverFactory, d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-aca0116e.js';
|
|
18
|
-
import { V as VegaDropdownClick, a as VegaClick, b as
|
|
19
|
-
import { R as RTETableExtensionAnnotationTypeEnum, a as RTE_TABLE_HEAD_DEFAULT_BACKGROUND_COLOR, S as SettingEventHandler, T as TableSettingType, b as
|
|
18
|
+
import { V as VegaDropdownClick, a as VegaClick, b as VegaPopoverHide, c as VegaPopoverShow } from './vega-event-id-a6ccca66.js';
|
|
19
|
+
import { R as RTETableExtensionAnnotationTypeEnum, a as RTE_TABLE_HEAD_DEFAULT_BACKGROUND_COLOR, S as SettingEventHandler, T as TableSettingType, b as RTETableAnnotation, c as RTETableCellAnnotation, d as RTETableHeadCellBlock, e as RowOperationEventHandler, C as ColumnOperationEventHandler, M as MergeCellsOperationEventHandler, f as SplitCellOperationEventHandler, g as RTETableColorManager, h as RTETableBlock, i as generateTableBody, j as RTETableCellBlock, k as RTETableHeadBlock, l as RTETableBodyBlock, m as getParentBlockByType, n as RTETableHeadCellAnnotation, o as TableColumnStrategy, p as getAllTableRows, q as buildTableGrid, s as setSpanAttributes, r as findCellBlockById, t as getDefaultCellBlockTemplate, I as InsertTableColumnDirection, u as buildCellStartColumnMap, v as getTableColumnCount, w as getFirstNode, x as getCellSpan, y as createNewCell, z as MergeCellsOperationType, A as RTETableRowBlock, B as getActualColumnPosition, D as InsertTableRowDirection, E as RTE_TABLE_DEFAULT_COLORS, F as INSERT_TABLE_ROW_INTO_DIFFERENT_SECTION, G as INSERT_TABLE_ROW_INTO_SAME_SECTION, H as DELETE_TABLE_ROW, J as TOGGLE_HEADER_ROW, K as INSERT_TABLE_COLUMN, L as DELETE_TABLE_COLUMN, N as TOGGLE_HEADER_TABLE_COLUMN, O as ToggleHeaderTableColumnStrategy, P as SPLIT_TABLE_CELL, Q as REPLACE_TABLE_CELL, U as SPLIT_CELL_HORIZONTALLY, W as SPLIT_CELL_VERTICALLY, X as SELECT_TABLE_COLUMN, Y as MERGE_CELLS } from './split-cell-operation-90c30861.js';
|
|
20
|
+
import { C as ChangeManager } from './change-manager-6a7eb88c.js';
|
|
21
|
+
import { V as VegaInternalRTEExtensionTableCellsSelectionAnchor, a as VegaInternalPopoverUpdateTarget, b as VegaInternalRTEExtensionTableCellSelectionChange } from './vega-internal-event-id-db974a0d.js';
|
|
20
22
|
import { r as remoteInvocationRegistry } from './remote-invocation-registry-d69245c2.js';
|
|
21
|
-
import { V as VegaInternalPopoverUpdateTarget, a as VegaInternalRTEExtensionTableCellsSelectionAnchor, b as VegaInternalRTEExtensionTableCellSelectionChange } from './vega-internal-event-id-194bac82.js';
|
|
22
23
|
import { V as VegaInternalThemeManager } from './dark-mode-style-controller-e9a6b097.js';
|
|
23
24
|
import { t as tryGetDocument } from './try-get-document-bef0f526.js';
|
|
24
25
|
import { p as parseToPixelString } from './pixel-f32c07ce.js';
|
|
25
26
|
import { c as cleanObject } from './object-0c277f57.js';
|
|
26
|
-
import { C as ChangeManager } from './change-manager-6a7eb88c.js';
|
|
27
27
|
import { d as debounce } from './timer-9321173b.js';
|
|
28
28
|
|
|
29
29
|
const VegaLoaderRuntimeMetricsPayloadDefinition = [
|
|
@@ -1485,6 +1485,8 @@ class VegaRTEToolbarButtonRenderer {
|
|
|
1485
1485
|
}
|
|
1486
1486
|
/**
|
|
1487
1487
|
* Renders a common toolbar button with optional icon, label, and arrow icon.
|
|
1488
|
+
* When a tooltip is provided via `buttonProps.tooltip`, the button is wrapped
|
|
1489
|
+
* in a `vega-tooltip` element, matching the behavior of default toolbar buttons.
|
|
1488
1490
|
*
|
|
1489
1491
|
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
1490
1492
|
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
@@ -1492,9 +1494,9 @@ class VegaRTEToolbarButtonRenderer {
|
|
|
1492
1494
|
* @returns {VegaRTERenderResult} - The render result for the button.
|
|
1493
1495
|
*/
|
|
1494
1496
|
renderButton(h, editorContext, buttonProps) {
|
|
1495
|
-
const { icon, label, showArrowIcon } = buttonProps;
|
|
1497
|
+
const { icon, label, showArrowIcon, tooltip } = buttonProps;
|
|
1496
1498
|
const isDisabled = this.isDisabled(editorContext);
|
|
1497
|
-
|
|
1499
|
+
const button = h('vega-rich-text-editor-toolbar-button', {
|
|
1498
1500
|
disabled: isDisabled,
|
|
1499
1501
|
icon: icon,
|
|
1500
1502
|
hidden: this.isHidden(editorContext),
|
|
@@ -1515,6 +1517,10 @@ class VegaRTEToolbarButtonRenderer {
|
|
|
1515
1517
|
})
|
|
1516
1518
|
: null,
|
|
1517
1519
|
].filter(isNonNullable));
|
|
1520
|
+
if (tooltip === null || tooltip === void 0 ? void 0 : tooltip.text) {
|
|
1521
|
+
return h('vega-tooltip', { text: tooltip.text, placement: ['bottom', 'top'] }, [button]);
|
|
1522
|
+
}
|
|
1523
|
+
return button;
|
|
1518
1524
|
}
|
|
1519
1525
|
/**
|
|
1520
1526
|
* Renders the button label.
|
|
@@ -1618,7 +1624,11 @@ class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
|
1618
1624
|
*/
|
|
1619
1625
|
render(createElement, editorContext) {
|
|
1620
1626
|
return this.renderDropdown(createElement, editorContext, {}, [
|
|
1621
|
-
this.renderButton(createElement, editorContext, {
|
|
1627
|
+
this.renderButton(createElement, editorContext, {
|
|
1628
|
+
label: 'Tokens',
|
|
1629
|
+
showArrowIcon: true,
|
|
1630
|
+
tooltip: { text: 'Insert token' },
|
|
1631
|
+
}),
|
|
1622
1632
|
this.renderDropdownListTemplate(createElement, this.tokenList),
|
|
1623
1633
|
]);
|
|
1624
1634
|
}
|
|
@@ -1859,6 +1869,7 @@ class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
|
1859
1869
|
this.renderButton(createElement, editorContext, {
|
|
1860
1870
|
label: this.getLanguageLabelByKey(this.selectedLanguage),
|
|
1861
1871
|
showArrowIcon: true,
|
|
1872
|
+
tooltip: { text: 'Select language' },
|
|
1862
1873
|
}),
|
|
1863
1874
|
]);
|
|
1864
1875
|
}
|
|
@@ -2393,6 +2404,7 @@ class FunctionToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
|
2393
2404
|
this.renderButton(h, editorContext, {
|
|
2394
2405
|
label: 'Functions',
|
|
2395
2406
|
showArrowIcon: true,
|
|
2407
|
+
tooltip: { text: 'Insert function' },
|
|
2396
2408
|
}),
|
|
2397
2409
|
this.renderDropdownListTemplate(h, FunctionToolbarButtonRenderer.FUNCTION_LIST),
|
|
2398
2410
|
]);
|
|
@@ -3093,162 +3105,6 @@ class CaptionOperationEventHandler extends SettingEventHandler {
|
|
|
3093
3105
|
}
|
|
3094
3106
|
}
|
|
3095
3107
|
|
|
3096
|
-
/**
|
|
3097
|
-
* Base renderer for table-related popovers, providing common functionalities such as accessing the table extension context.
|
|
3098
|
-
*/
|
|
3099
|
-
class TablePopoverBaseRenderer {
|
|
3100
|
-
constructor(renderContext) {
|
|
3101
|
-
this.renderContext = renderContext;
|
|
3102
|
-
}
|
|
3103
|
-
/**
|
|
3104
|
-
* Retrieves the table extension context associated with the current render context.
|
|
3105
|
-
*
|
|
3106
|
-
* @returns {Nullable<RTETableExtensionContext>} The table extension context if available, otherwise null.
|
|
3107
|
-
*/
|
|
3108
|
-
getTableExtensionContext() {
|
|
3109
|
-
return this.renderContext
|
|
3110
|
-
? RTEExtensionContextManager$1.getExtensionContext(this.renderContext.host)
|
|
3111
|
-
: null;
|
|
3112
|
-
}
|
|
3113
|
-
}
|
|
3114
|
-
|
|
3115
|
-
/**
|
|
3116
|
-
* Centralizes the popover rendering and interaction logic for table settings.
|
|
3117
|
-
*/
|
|
3118
|
-
class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
3119
|
-
constructor() {
|
|
3120
|
-
super(...arguments);
|
|
3121
|
-
this.settingHandlers = [
|
|
3122
|
-
new RowOperationEventHandler(),
|
|
3123
|
-
new CaptionOperationEventHandler(),
|
|
3124
|
-
new ColumnOperationEventHandler(),
|
|
3125
|
-
new MergeCellsOperationEventHandler(),
|
|
3126
|
-
new SplitCellOperationEventHandler(),
|
|
3127
|
-
];
|
|
3128
|
-
/**
|
|
3129
|
-
* Show table setting popover when table is clicked.
|
|
3130
|
-
* Only the popover belonging to the nearest table will be shown,
|
|
3131
|
-
* which avoids outer tables showing their popover when an inner (nested) table is clicked.
|
|
3132
|
-
*
|
|
3133
|
-
* @param {MouseEvent} event - The MouseEvent that triggered the table action
|
|
3134
|
-
* @param {HTMLElement} trigger - The element that can triggered the popover open.
|
|
3135
|
-
*/
|
|
3136
|
-
this.handleTableClick = (event, trigger) => {
|
|
3137
|
-
const target = event.target;
|
|
3138
|
-
const ownTrigger = target.closest('table');
|
|
3139
|
-
if (trigger !== ownTrigger) {
|
|
3140
|
-
void this.popoverRef.hide();
|
|
3141
|
-
void this.tableDynamicPopover.hide();
|
|
3142
|
-
return;
|
|
3143
|
-
}
|
|
3144
|
-
void this.tableDynamicPopover.hide();
|
|
3145
|
-
if (!this.popoverShow) {
|
|
3146
|
-
remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(this.popoverRef, VegaInternalPopoverUpdateTarget), ownTrigger);
|
|
3147
|
-
void this.popoverRef.show();
|
|
3148
|
-
}
|
|
3149
|
-
};
|
|
3150
|
-
/**
|
|
3151
|
-
* Sync the selected cells from the table selection to the table setting component.
|
|
3152
|
-
*/
|
|
3153
|
-
this.syncSelectedCells = () => {
|
|
3154
|
-
if (this.tableSettingRef) {
|
|
3155
|
-
const selectedCells = this.getTableSelectedCells();
|
|
3156
|
-
this.tableSettingRef.selectedCells = selectedCells;
|
|
3157
|
-
}
|
|
3158
|
-
};
|
|
3159
|
-
/**
|
|
3160
|
-
* Receive setting menu click events.
|
|
3161
|
-
*
|
|
3162
|
-
* @param {CustomEvent<Array<string>>} event - The custom event emitted from the setting menu.
|
|
3163
|
-
*/
|
|
3164
|
-
this.handleSettingMenuClick = (event) => {
|
|
3165
|
-
const handler = this.settingHandlers.find((handler) => handler.canHandle(event.detail));
|
|
3166
|
-
if (handler) {
|
|
3167
|
-
const extensionContext = this.getTableExtensionContext();
|
|
3168
|
-
extensionContext && handler.execute(event.detail, extensionContext, this.tableData);
|
|
3169
|
-
if (event.detail[0] === TableSettingType.CAPTION) {
|
|
3170
|
-
this.updateTableSettingCaption();
|
|
3171
|
-
}
|
|
3172
|
-
}
|
|
3173
|
-
if (event.detail[0] === TableSettingType.TABLE || event.detail[0] === TableSettingType.CELL) {
|
|
3174
|
-
void this.popoverRef.hide();
|
|
3175
|
-
void this.tableDynamicPopover.show(event.detail[0]);
|
|
3176
|
-
}
|
|
3177
|
-
};
|
|
3178
|
-
/**
|
|
3179
|
-
* Handles the popover show event to sync the selected table cells to the table setting component.
|
|
3180
|
-
*/
|
|
3181
|
-
this.handleTableSettingPopoverShow = () => {
|
|
3182
|
-
this.syncSelectedCells();
|
|
3183
|
-
this.popoverShow = true;
|
|
3184
|
-
};
|
|
3185
|
-
}
|
|
3186
|
-
/**
|
|
3187
|
-
* Render the popover host and inject the table-setting component with refs wired up.
|
|
3188
|
-
*
|
|
3189
|
-
* @param {VegaRTECreateElementFunction} h - The create element function.
|
|
3190
|
-
* @param {RTETableBlock} renderData - The table block to render.
|
|
3191
|
-
* @param {() => HTMLElement} getTableRef - Current table DOM reference
|
|
3192
|
-
* @param {TableDynamicPopoverRenderer} tableDynamicPopover - Renderer used to show
|
|
3193
|
-
* the secondary table popover (for example, table-properties-specific settings).
|
|
3194
|
-
* @returns {VegaRTERenderResult} The rendered popover structure.
|
|
3195
|
-
*/
|
|
3196
|
-
render(h, renderData, getTableRef, tableDynamicPopover) {
|
|
3197
|
-
this.tableData = renderData;
|
|
3198
|
-
this.tableDynamicPopover = tableDynamicPopover;
|
|
3199
|
-
return h('vega-popover', {
|
|
3200
|
-
trigger: 'click',
|
|
3201
|
-
isScreenPosition: true,
|
|
3202
|
-
class: 'rte-table-setting-popover',
|
|
3203
|
-
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
3204
|
-
ref: (popover) => {
|
|
3205
|
-
this.popoverRef = popover;
|
|
3206
|
-
if (this.popoverRef) {
|
|
3207
|
-
DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverShow, this.handleTableSettingPopoverShow);
|
|
3208
|
-
DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverHide, () => (this.popoverShow = false));
|
|
3209
|
-
}
|
|
3210
|
-
},
|
|
3211
|
-
}, [
|
|
3212
|
-
h('div', { slot: 'popover' }, [
|
|
3213
|
-
h('vega-rich-text-table-setting', {
|
|
3214
|
-
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
3215
|
-
ref: (ref) => {
|
|
3216
|
-
this.tableSettingRef = ref;
|
|
3217
|
-
if (ref) {
|
|
3218
|
-
ref.target = getTableRef();
|
|
3219
|
-
}
|
|
3220
|
-
},
|
|
3221
|
-
selectedCells: this.getTableSelectedCells(),
|
|
3222
|
-
onVegaClick: this.handleSettingMenuClick,
|
|
3223
|
-
}),
|
|
3224
|
-
]),
|
|
3225
|
-
]);
|
|
3226
|
-
}
|
|
3227
|
-
/**
|
|
3228
|
-
* Updates the table setting component caption state to match the given table data.
|
|
3229
|
-
*/
|
|
3230
|
-
updateTableSettingCaption() {
|
|
3231
|
-
const hasCaption = this.tableData.hasCaption();
|
|
3232
|
-
if (this.tableSettingRef && this.tableSettingRef.hasCaption !== hasCaption) {
|
|
3233
|
-
this.tableSettingRef.hasCaption = hasCaption;
|
|
3234
|
-
}
|
|
3235
|
-
}
|
|
3236
|
-
/**
|
|
3237
|
-
* Collects and returns the currently selected table cells.
|
|
3238
|
-
*
|
|
3239
|
-
* @returns {RTETableCellBlock[]} The array of currently selected table cell blocks.
|
|
3240
|
-
*/
|
|
3241
|
-
getTableSelectedCells() {
|
|
3242
|
-
let selectedCells = [];
|
|
3243
|
-
const extensionContext = this.getTableExtensionContext();
|
|
3244
|
-
if (extensionContext && extensionContext.tableSelection) {
|
|
3245
|
-
const { tableSelection } = extensionContext;
|
|
3246
|
-
selectedCells = tableSelection.getSelectedCells();
|
|
3247
|
-
}
|
|
3248
|
-
return selectedCells;
|
|
3249
|
-
}
|
|
3250
|
-
}
|
|
3251
|
-
|
|
3252
3108
|
/**
|
|
3253
3109
|
* Event handler for row operations in a table.
|
|
3254
3110
|
*/
|
|
@@ -3615,6 +3471,25 @@ class CellPropertiesCancelEventHandler extends CellPropertiesEventHandler {
|
|
|
3615
3471
|
}
|
|
3616
3472
|
}
|
|
3617
3473
|
|
|
3474
|
+
/**
|
|
3475
|
+
* Base renderer for table-related popovers, providing common functionalities such as accessing the table extension context.
|
|
3476
|
+
*/
|
|
3477
|
+
class TablePopoverBaseRenderer {
|
|
3478
|
+
constructor(renderContext) {
|
|
3479
|
+
this.renderContext = renderContext;
|
|
3480
|
+
}
|
|
3481
|
+
/**
|
|
3482
|
+
* Retrieves the table extension context associated with the current render context.
|
|
3483
|
+
*
|
|
3484
|
+
* @returns {Nullable<RTETableExtensionContext>} The table extension context if available, otherwise null.
|
|
3485
|
+
*/
|
|
3486
|
+
getTableExtensionContext() {
|
|
3487
|
+
return this.renderContext
|
|
3488
|
+
? RTEExtensionContextManager$1.getExtensionContext(this.renderContext.host)
|
|
3489
|
+
: null;
|
|
3490
|
+
}
|
|
3491
|
+
}
|
|
3492
|
+
|
|
3618
3493
|
/**
|
|
3619
3494
|
* Renderer for a generic, dynamically positioned popover used within table-related extensions.
|
|
3620
3495
|
*
|
|
@@ -3624,7 +3499,6 @@ class CellPropertiesCancelEventHandler extends CellPropertiesEventHandler {
|
|
|
3624
3499
|
class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
|
|
3625
3500
|
constructor(colors, renderContext) {
|
|
3626
3501
|
super(renderContext);
|
|
3627
|
-
this.tableColorSchema = [];
|
|
3628
3502
|
this.popoverCloseType = 'none'; // 'save' | 'cancel' | 'change' | 'none'
|
|
3629
3503
|
this.tablePropertiesHandlerMap = {
|
|
3630
3504
|
save: new TablePropertiesSaveEventHandler(),
|
|
@@ -3652,7 +3526,7 @@ class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
3652
3526
|
this.tablePropertiesHandlerMap[eventKey].handle(extensionContext, this.currentTableBlock, e.detail, this.currentFocusNode);
|
|
3653
3527
|
}
|
|
3654
3528
|
// Update popover position to follow the target after styles change
|
|
3655
|
-
if (eventKey === 'change'
|
|
3529
|
+
if (eventKey === 'change') {
|
|
3656
3530
|
void this.popoverRef.show(true);
|
|
3657
3531
|
}
|
|
3658
3532
|
};
|
|
@@ -3672,7 +3546,7 @@ class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
3672
3546
|
this.cellPropertiesHandlerMap[eventKey].handle(extensionContext, e.detail, this.currentFocusNode);
|
|
3673
3547
|
}
|
|
3674
3548
|
// Update popover position to follow the target after styles change
|
|
3675
|
-
if (eventKey === 'change'
|
|
3549
|
+
if (eventKey === 'change') {
|
|
3676
3550
|
void this.popoverRef.show(true);
|
|
3677
3551
|
}
|
|
3678
3552
|
};
|
|
@@ -3724,55 +3598,58 @@ class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
3724
3598
|
await this.popoverRef.hide();
|
|
3725
3599
|
}
|
|
3726
3600
|
/**
|
|
3727
|
-
*
|
|
3601
|
+
* Re-targets the shared popovers to the given table.
|
|
3728
3602
|
*
|
|
3729
|
-
* @param {
|
|
3730
|
-
* @param {() => HTMLElement} getTableRef -
|
|
3731
|
-
* @param {RTETableBlock} renderData - Current table block being rendered.
|
|
3732
|
-
* @returns {VegaRTERenderResult} The rendered popover host.
|
|
3603
|
+
* @param {RTETableBlock} tableBlock - The clicked table's block data.
|
|
3604
|
+
* @param {() => HTMLElement} getTableRef - Getter for the clicked table's DOM element.
|
|
3733
3605
|
*/
|
|
3734
|
-
|
|
3606
|
+
reTarget(tableBlock, getTableRef) {
|
|
3735
3607
|
this.getTableRef = getTableRef;
|
|
3736
|
-
this.currentTableBlock =
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
}
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3608
|
+
this.currentTableBlock = tableBlock;
|
|
3609
|
+
}
|
|
3610
|
+
/**
|
|
3611
|
+
* Builds the popover DOM and appends it to the given container.
|
|
3612
|
+
*
|
|
3613
|
+
* @returns {Nullable<HTMLElement>} The constructed popover element.
|
|
3614
|
+
*/
|
|
3615
|
+
render() {
|
|
3616
|
+
const safeDocument = tryGetDocument();
|
|
3617
|
+
if (safeDocument) {
|
|
3618
|
+
const popover = safeDocument.createElement('vega-popover');
|
|
3619
|
+
popover.trigger = 'click';
|
|
3620
|
+
popover.isScreenPosition = true;
|
|
3621
|
+
popover.className = 'rte-table-dynamic-popover';
|
|
3622
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverHide, () => {
|
|
3623
|
+
const extensionContext = this.getTableExtensionContext();
|
|
3624
|
+
if (this.popoverCloseType === 'change' && extensionContext) {
|
|
3625
|
+
extensionContext.flushValue(extensionContext.host.value);
|
|
3626
|
+
}
|
|
3627
|
+
});
|
|
3628
|
+
const slotDiv = safeDocument.createElement('div');
|
|
3629
|
+
slotDiv.setAttribute('slot', 'popover');
|
|
3630
|
+
slotDiv.className = 'rte-table-dynamic-popover-content';
|
|
3631
|
+
const tablePropsForm = safeDocument.createElement('vega-rich-text-table-properties');
|
|
3632
|
+
tablePropsForm.colors = this.tableColorSchema;
|
|
3633
|
+
tablePropsForm.type = TableSettingType.TABLE;
|
|
3634
|
+
tablePropsForm.setAttribute('type', TableSettingType.TABLE);
|
|
3635
|
+
tablePropsForm.addEventListener('vegaCancel', this.handleTablePropertiesUpdate);
|
|
3636
|
+
tablePropsForm.addEventListener('vegaChange', this.handleTablePropertiesUpdate);
|
|
3637
|
+
tablePropsForm.addEventListener('vegaSave', this.handleTablePropertiesUpdate);
|
|
3638
|
+
const cellPropsForm = safeDocument.createElement('vega-rich-text-table-properties');
|
|
3639
|
+
cellPropsForm.colors = this.tableColorSchema;
|
|
3640
|
+
cellPropsForm.type = TableSettingType.CELL;
|
|
3641
|
+
cellPropsForm.setAttribute('type', TableSettingType.CELL);
|
|
3642
|
+
cellPropsForm.addEventListener('vegaCancel', this.handleCellPropertiesUpdate);
|
|
3643
|
+
cellPropsForm.addEventListener('vegaChange', this.handleCellPropertiesUpdate);
|
|
3644
|
+
cellPropsForm.addEventListener('vegaSave', this.handleCellPropertiesUpdate);
|
|
3645
|
+
slotDiv.appendChild(tablePropsForm);
|
|
3646
|
+
slotDiv.appendChild(cellPropsForm);
|
|
3647
|
+
popover.appendChild(slotDiv);
|
|
3648
|
+
this.popoverRef = popover;
|
|
3649
|
+
this.tablePropertiesFormRef = tablePropsForm;
|
|
3650
|
+
this.cellPropertiesFormRef = cellPropsForm;
|
|
3651
|
+
return popover;
|
|
3652
|
+
}
|
|
3776
3653
|
}
|
|
3777
3654
|
/**
|
|
3778
3655
|
* Updates the visibility of the pre-rendered content blocks based on type.
|
|
@@ -3782,13 +3659,13 @@ class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
3782
3659
|
updateContent(type) {
|
|
3783
3660
|
this.popoverCloseType = 'none';
|
|
3784
3661
|
const extensionContext = this.getTableExtensionContext();
|
|
3785
|
-
if (
|
|
3662
|
+
if (type === 'TABLE') {
|
|
3786
3663
|
this.tablePropertiesFormRef.classList.remove('vega-hidden');
|
|
3787
3664
|
this.cellPropertiesFormRef.classList.add('vega-hidden');
|
|
3788
3665
|
this.tablePropertiesFormRef.defaultValue =
|
|
3789
3666
|
TablePropertiesEventHandler.generateTablePropertiesForm(this.currentTableBlock);
|
|
3790
3667
|
}
|
|
3791
|
-
else if (
|
|
3668
|
+
else if (type === 'CELL') {
|
|
3792
3669
|
this.cellPropertiesFormRef.classList.remove('vega-hidden');
|
|
3793
3670
|
this.tablePropertiesFormRef.classList.add('vega-hidden');
|
|
3794
3671
|
if (extensionContext) {
|
|
@@ -3861,6 +3738,153 @@ class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
3861
3738
|
}
|
|
3862
3739
|
}
|
|
3863
3740
|
|
|
3741
|
+
/**
|
|
3742
|
+
* Shared popover renderer for table settings.
|
|
3743
|
+
*/
|
|
3744
|
+
class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
3745
|
+
constructor(renderContext) {
|
|
3746
|
+
super(renderContext);
|
|
3747
|
+
this.settingHandlers = [
|
|
3748
|
+
new RowOperationEventHandler(),
|
|
3749
|
+
new CaptionOperationEventHandler(),
|
|
3750
|
+
new ColumnOperationEventHandler(),
|
|
3751
|
+
new MergeCellsOperationEventHandler(),
|
|
3752
|
+
new SplitCellOperationEventHandler(),
|
|
3753
|
+
];
|
|
3754
|
+
/**
|
|
3755
|
+
* Re-targets and shows the table setting popover for the clicked table.
|
|
3756
|
+
*
|
|
3757
|
+
* @param {MouseEvent} event - The MouseEvent that triggered the click.
|
|
3758
|
+
* @param {RTETableBlock} tableBlock - The clicked table's block data.
|
|
3759
|
+
* @param {() => HTMLElement} getTableRef - Getter for the clicked table's DOM element.
|
|
3760
|
+
*/
|
|
3761
|
+
this.handleTableClick = (event, tableBlock, getTableRef) => {
|
|
3762
|
+
const target = event.target;
|
|
3763
|
+
const ownTrigger = target.closest('table');
|
|
3764
|
+
if (ownTrigger !== getTableRef()) {
|
|
3765
|
+
return;
|
|
3766
|
+
}
|
|
3767
|
+
// Prevent the click from bubbling to ancestor tables. When this is a nested
|
|
3768
|
+
// table click, the ancestor table still has the popover's stale click
|
|
3769
|
+
// listener attached (from when it was the popover's target), which would
|
|
3770
|
+
// toggle the popover off immediately after we show it.
|
|
3771
|
+
event.stopPropagation();
|
|
3772
|
+
this.reTarget(tableBlock, getTableRef);
|
|
3773
|
+
void this.tableDynamicPopover.hide();
|
|
3774
|
+
remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(this.popoverRef, VegaInternalPopoverUpdateTarget), ownTrigger);
|
|
3775
|
+
void this.popoverRef.show(true);
|
|
3776
|
+
};
|
|
3777
|
+
/**
|
|
3778
|
+
* Sync the selected cells from the table selection to the table setting component.
|
|
3779
|
+
*/
|
|
3780
|
+
this.syncSelectedCells = () => {
|
|
3781
|
+
if (this.tableSettingRef) {
|
|
3782
|
+
this.tableSettingRef.selectedCells = this.getTableSelectedCells();
|
|
3783
|
+
}
|
|
3784
|
+
};
|
|
3785
|
+
/**
|
|
3786
|
+
* Handles setting menu click events.
|
|
3787
|
+
*
|
|
3788
|
+
* @param {CustomEvent<Array<string>>} event - The custom event emitted from the setting menu.
|
|
3789
|
+
*/
|
|
3790
|
+
this.handleSettingMenuClick = (event) => {
|
|
3791
|
+
const handler = this.settingHandlers.find((handler) => handler.canHandle(event.detail));
|
|
3792
|
+
if (handler) {
|
|
3793
|
+
const extensionContext = this.getTableExtensionContext();
|
|
3794
|
+
extensionContext && handler.execute(event.detail, extensionContext, this.tableBlock);
|
|
3795
|
+
if (event.detail[0] === TableSettingType.CAPTION) {
|
|
3796
|
+
this.updateTableSettingCaption();
|
|
3797
|
+
}
|
|
3798
|
+
}
|
|
3799
|
+
if (event.detail[0] === TableSettingType.TABLE || event.detail[0] === TableSettingType.CELL) {
|
|
3800
|
+
void this.popoverRef.hide();
|
|
3801
|
+
void this.tableDynamicPopover.show(event.detail[0]);
|
|
3802
|
+
}
|
|
3803
|
+
};
|
|
3804
|
+
/**
|
|
3805
|
+
* Handles the popover show event to sync the selected table cells to the table setting component.
|
|
3806
|
+
*/
|
|
3807
|
+
this.handleTableSettingPopoverShow = () => {
|
|
3808
|
+
this.syncSelectedCells();
|
|
3809
|
+
};
|
|
3810
|
+
this.tableDynamicPopover = new TableDynamicPopoverRenderer(RTETableColorManager.getTableColors(), renderContext);
|
|
3811
|
+
}
|
|
3812
|
+
/**
|
|
3813
|
+
* Destroys the dynamic popover renderer and removes the container from the DOM.
|
|
3814
|
+
*/
|
|
3815
|
+
destroy() {
|
|
3816
|
+
this.tableDynamicPopover.destroy();
|
|
3817
|
+
if (this.popoverContainer) {
|
|
3818
|
+
this.popoverContainer.remove();
|
|
3819
|
+
}
|
|
3820
|
+
}
|
|
3821
|
+
/**
|
|
3822
|
+
* Builds the popover DOM and appends it to the RTE host. Idempotent: subsequent calls are no-ops.
|
|
3823
|
+
*/
|
|
3824
|
+
render() {
|
|
3825
|
+
const safeDocument = tryGetDocument();
|
|
3826
|
+
if (safeDocument && this.renderContext) {
|
|
3827
|
+
this.popoverContainer = safeDocument.createElement('div');
|
|
3828
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
3829
|
+
this.renderContext.host.appendChild(this.popoverContainer);
|
|
3830
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
3831
|
+
const tableCellPopover = this.tableDynamicPopover.render();
|
|
3832
|
+
const popover = safeDocument.createElement('vega-popover');
|
|
3833
|
+
popover.trigger = 'click';
|
|
3834
|
+
popover.isScreenPosition = true;
|
|
3835
|
+
popover.className = 'rte-table-setting-popover';
|
|
3836
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverShow, this.handleTableSettingPopoverShow);
|
|
3837
|
+
const slotDiv = safeDocument.createElement('div');
|
|
3838
|
+
slotDiv.setAttribute('slot', 'popover');
|
|
3839
|
+
const tableSetting = safeDocument.createElement('vega-rich-text-table-setting');
|
|
3840
|
+
tableSetting.addEventListener('vegaClick', this.handleSettingMenuClick);
|
|
3841
|
+
slotDiv.appendChild(tableSetting);
|
|
3842
|
+
popover.appendChild(slotDiv);
|
|
3843
|
+
this.popoverContainer.appendChild(popover);
|
|
3844
|
+
this.popoverContainer.appendChild(tableCellPopover);
|
|
3845
|
+
this.popoverRef = popover;
|
|
3846
|
+
this.tableSettingRef = tableSetting;
|
|
3847
|
+
}
|
|
3848
|
+
}
|
|
3849
|
+
/**
|
|
3850
|
+
* Updates the table setting component caption state to match the current table data.
|
|
3851
|
+
*/
|
|
3852
|
+
updateTableSettingCaption() {
|
|
3853
|
+
const hasCaption = this.tableBlock.hasCaption();
|
|
3854
|
+
if (this.tableSettingRef && this.tableSettingRef.hasCaption !== hasCaption) {
|
|
3855
|
+
this.tableSettingRef.hasCaption = hasCaption;
|
|
3856
|
+
}
|
|
3857
|
+
}
|
|
3858
|
+
/**
|
|
3859
|
+
* Re-targets the shared popovers to the given table.
|
|
3860
|
+
*
|
|
3861
|
+
* @param {RTETableBlock} tableBlock - The clicked table's block data.
|
|
3862
|
+
* @param {() => HTMLElement} getTableRef - Getter for the clicked table's DOM element.
|
|
3863
|
+
*/
|
|
3864
|
+
reTarget(tableBlock, getTableRef) {
|
|
3865
|
+
if (this.tableSettingRef) {
|
|
3866
|
+
this.tableBlock = tableBlock;
|
|
3867
|
+
this.tableSettingRef.target = getTableRef();
|
|
3868
|
+
this.tableSettingRef.selectedCells = this.getTableSelectedCells();
|
|
3869
|
+
this.tableDynamicPopover.reTarget(tableBlock, getTableRef);
|
|
3870
|
+
}
|
|
3871
|
+
}
|
|
3872
|
+
/**
|
|
3873
|
+
* Collects and returns the currently selected table cells.
|
|
3874
|
+
*
|
|
3875
|
+
* @returns {RTETableCellBlock[]} The array of currently selected table cell blocks.
|
|
3876
|
+
*/
|
|
3877
|
+
getTableSelectedCells() {
|
|
3878
|
+
let selectedCells = [];
|
|
3879
|
+
const extensionContext = this.getTableExtensionContext();
|
|
3880
|
+
if (extensionContext && extensionContext.tableSelection) {
|
|
3881
|
+
const { tableSelection } = extensionContext;
|
|
3882
|
+
selectedCells = tableSelection.getSelectedCells();
|
|
3883
|
+
}
|
|
3884
|
+
return selectedCells;
|
|
3885
|
+
}
|
|
3886
|
+
}
|
|
3887
|
+
|
|
3864
3888
|
/**
|
|
3865
3889
|
* Renderer for the RTETableBlock.
|
|
3866
3890
|
*/
|
|
@@ -3869,12 +3893,9 @@ class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
|
|
|
3869
3893
|
* @inheritDoc
|
|
3870
3894
|
*/
|
|
3871
3895
|
doRender(h, renderData, rteContext) {
|
|
3872
|
-
const tableSettingPopoverRenderer = new TableSettingPopoverRenderer(rteContext);
|
|
3873
|
-
const tableDynamicPopoverRenderer = new TableDynamicPopoverRenderer(RTETableColorManager.getTableColors(), rteContext);
|
|
3874
3896
|
let tableRef;
|
|
3875
3897
|
const table = this.renderTable(h, renderData, (ref) => (tableRef = ref));
|
|
3876
|
-
|
|
3877
|
-
const tableDynamicPopover = tableDynamicPopoverRenderer.render(h, () => tableRef, renderData);
|
|
3898
|
+
this.renderTableToolbar(rteContext);
|
|
3878
3899
|
const tableAnnotation = renderData.getAnnotationByType(RTETableExtensionAnnotationTypeEnum.TABLE);
|
|
3879
3900
|
const children = rteContext.editable
|
|
3880
3901
|
? [
|
|
@@ -3885,17 +3906,23 @@ class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
|
|
|
3885
3906
|
this.handleTableRemove(renderData, tableRef);
|
|
3886
3907
|
},
|
|
3887
3908
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
3888
|
-
onClick: (event) =>
|
|
3909
|
+
onClick: (event) => {
|
|
3910
|
+
if (this.tableToolbar) {
|
|
3911
|
+
this.tableToolbar.handleTableClick(event, renderData, () => tableRef);
|
|
3912
|
+
}
|
|
3913
|
+
},
|
|
3889
3914
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
3890
3915
|
onMouseLeave: () => {
|
|
3891
|
-
|
|
3916
|
+
if (this.tableToolbar) {
|
|
3917
|
+
this.tableToolbar.syncSelectedCells();
|
|
3918
|
+
}
|
|
3892
3919
|
},
|
|
3893
3920
|
}, [
|
|
3894
3921
|
// Add an extra div as slot container, to make sure the cursor can move to before/end of the table.
|
|
3895
3922
|
h('div', {
|
|
3896
3923
|
contentEditable: true,
|
|
3897
3924
|
ref: this.useRef(renderData),
|
|
3898
|
-
}, [table
|
|
3925
|
+
}, [table]),
|
|
3899
3926
|
]),
|
|
3900
3927
|
]
|
|
3901
3928
|
: [table];
|
|
@@ -3917,6 +3944,12 @@ class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
|
|
|
3917
3944
|
result.childrenContainerGetter = () => table;
|
|
3918
3945
|
return result;
|
|
3919
3946
|
}
|
|
3947
|
+
/**
|
|
3948
|
+
* Destroys the table toolbar popover.
|
|
3949
|
+
*/
|
|
3950
|
+
destroy() {
|
|
3951
|
+
this.destroyTableToolbar();
|
|
3952
|
+
}
|
|
3920
3953
|
/**
|
|
3921
3954
|
* @inheritDoc
|
|
3922
3955
|
*/
|
|
@@ -3966,6 +3999,29 @@ class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
|
|
|
3966
3999
|
}
|
|
3967
4000
|
}
|
|
3968
4001
|
}
|
|
4002
|
+
/**
|
|
4003
|
+
* Renders the table setting popover toolbar if the context is editable.
|
|
4004
|
+
*
|
|
4005
|
+
* @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
|
|
4006
|
+
*/
|
|
4007
|
+
renderTableToolbar(rteContext) {
|
|
4008
|
+
if (!rteContext.editable) {
|
|
4009
|
+
this.destroyTableToolbar();
|
|
4010
|
+
return;
|
|
4011
|
+
}
|
|
4012
|
+
if (!this.tableToolbar) {
|
|
4013
|
+
this.tableToolbar = new TableSettingPopoverRenderer(rteContext);
|
|
4014
|
+
this.tableToolbar.render();
|
|
4015
|
+
}
|
|
4016
|
+
}
|
|
4017
|
+
/**
|
|
4018
|
+
* Destroys the table setting popover toolbar if it exists.
|
|
4019
|
+
*/
|
|
4020
|
+
destroyTableToolbar() {
|
|
4021
|
+
var _a;
|
|
4022
|
+
(_a = this.tableToolbar) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
4023
|
+
this.tableToolbar = null;
|
|
4024
|
+
}
|
|
3969
4025
|
}
|
|
3970
4026
|
|
|
3971
4027
|
/**
|
|
@@ -4299,6 +4355,7 @@ class RTETableToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
|
4299
4355
|
return createTablePopoverRenderer.render(h, super.renderButton(h, editorContext, {
|
|
4300
4356
|
showArrowIcon: true,
|
|
4301
4357
|
icon: 'rte-table',
|
|
4358
|
+
tooltip: { text: 'Insert table' },
|
|
4302
4359
|
}));
|
|
4303
4360
|
}
|
|
4304
4361
|
/**
|
|
@@ -7479,6 +7536,7 @@ class VegaRTETableExtension extends VegaRTEExtension {
|
|
|
7479
7536
|
* @inheritDoc
|
|
7480
7537
|
*/
|
|
7481
7538
|
destroyExtension() {
|
|
7539
|
+
this.tableBlockRenderer.destroy();
|
|
7482
7540
|
this.tableSelection.destroy();
|
|
7483
7541
|
}
|
|
7484
7542
|
}
|