@atlaskit/editor-plugin-table 8.4.12 → 8.4.13
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/CHANGELOG.md +11 -0
- package/dist/cjs/nodeviews/ExternalDropTargets.js +6 -3
- package/dist/cjs/nodeviews/TableCell.js +5 -0
- package/dist/cjs/nodeviews/TableComponent.js +92 -29
- package/dist/cjs/nodeviews/TableComponentWithSharedState.js +7 -1
- package/dist/cjs/nodeviews/TableContainer.js +16 -6
- package/dist/cjs/nodeviews/TableNodeViewBase.js +4 -0
- package/dist/cjs/nodeviews/TableResizer.js +44 -15
- package/dist/cjs/nodeviews/TableRow.js +45 -1
- package/dist/cjs/nodeviews/TableStickyScrollbar.js +21 -2
- package/dist/cjs/nodeviews/lazy-node-views.js +16 -4
- package/dist/cjs/nodeviews/table.js +53 -18
- package/dist/cjs/pm-plugins/commands/clear.js +6 -0
- package/dist/cjs/pm-plugins/commands/column-resize.js +26 -17
- package/dist/cjs/pm-plugins/commands/commands-with-analytics.js +39 -26
- package/dist/cjs/pm-plugins/commands/go-to-next-cell.js +2 -0
- package/dist/cjs/pm-plugins/commands/hover.js +17 -13
- package/dist/cjs/pm-plugins/commands/insert.js +27 -10
- package/dist/cjs/pm-plugins/commands/misc.js +29 -9
- package/dist/cjs/pm-plugins/commands/selection.js +4 -0
- package/dist/cjs/pm-plugins/commands/sort.js +10 -1
- package/dist/cjs/pm-plugins/commands/toggle.js +2 -0
- package/dist/cjs/pm-plugins/decorations/plugin.js +9 -4
- package/dist/cjs/pm-plugins/decorations/utils/column-resizing.js +4 -1
- package/dist/cjs/pm-plugins/drag-and-drop/commands-with-analytics.js +19 -10
- package/dist/cjs/pm-plugins/drag-and-drop/commands.js +16 -7
- package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +21 -8
- package/dist/cjs/pm-plugins/handlers.js +2 -2
- package/dist/cjs/pm-plugins/keymap.js +103 -24
- package/dist/cjs/pm-plugins/main.js +22 -11
- package/dist/cjs/pm-plugins/table-resizing/commands.js +7 -6
- package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +39 -20
- package/dist/cjs/pm-plugins/table-resizing/plugin.js +4 -2
- package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +19 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/column-state.js +6 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/content-width.js +17 -0
- package/dist/cjs/pm-plugins/table-resizing/utils/dom.js +4 -0
- package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +2 -0
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +8 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-logic.js +10 -2
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +6 -3
- package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +4 -4
- package/dist/cjs/pm-plugins/table-selection-keymap.js +12 -0
- package/dist/cjs/pm-plugins/table-width.js +9 -4
- package/dist/cjs/pm-plugins/transforms/column-width.js +8 -5
- package/dist/cjs/pm-plugins/transforms/delete-columns.js +2 -0
- package/dist/cjs/pm-plugins/transforms/fix-tables.js +24 -8
- package/dist/cjs/pm-plugins/transforms/merge.js +7 -0
- package/dist/cjs/pm-plugins/transforms/replace-table.js +6 -3
- package/dist/cjs/pm-plugins/transforms/split.js +6 -1
- package/dist/cjs/pm-plugins/utils/alignment.js +4 -1
- package/dist/cjs/pm-plugins/utils/analytics.js +3 -3
- package/dist/cjs/pm-plugins/utils/column-controls.js +4 -0
- package/dist/cjs/pm-plugins/utils/create.js +2 -2
- package/dist/cjs/pm-plugins/utils/decoration.js +24 -6
- package/dist/cjs/pm-plugins/utils/dom.js +4 -0
- package/dist/cjs/pm-plugins/utils/drag-menu.js +19 -7
- package/dist/cjs/pm-plugins/utils/nodes.js +3 -0
- package/dist/cjs/pm-plugins/utils/paste.js +4 -1
- package/dist/cjs/pm-plugins/utils/row-controls.js +4 -1
- package/dist/cjs/tablePlugin.js +24 -18
- package/dist/cjs/ui/ColumnResizeWidget/index.js +2 -0
- package/dist/cjs/ui/DragHandle/HandleIconComponent.js +5 -3
- package/dist/cjs/ui/DragHandle/index.js +14 -7
- package/dist/cjs/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.js +8 -1
- package/dist/cjs/ui/FloatingContextualButton/FixedButton.js +4 -0
- package/dist/cjs/ui/FloatingContextualButton/index.js +7 -1
- package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +32 -15
- package/dist/cjs/ui/FloatingContextualMenu/index.js +19 -4
- package/dist/cjs/ui/FloatingDeleteButton/index.js +27 -5
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +19 -7
- package/dist/cjs/ui/FloatingDragMenu/DropdownMenu.js +15 -2
- package/dist/cjs/ui/FloatingDragMenu/index.js +4 -1
- package/dist/cjs/ui/FloatingInsertButton/InsertButton.js +4 -0
- package/dist/cjs/ui/FloatingInsertButton/getPopupOptions.js +6 -0
- package/dist/cjs/ui/FloatingInsertButton/index.js +27 -3
- package/dist/cjs/ui/TableFloatingColumnControls/ColumnControls/index.js +30 -8
- package/dist/cjs/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +4 -1
- package/dist/cjs/ui/TableFloatingColumnControls/index.js +9 -5
- package/dist/cjs/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +2 -0
- package/dist/cjs/ui/TableFloatingControls/FloatingControlsWithSelection.js +4 -4
- package/dist/cjs/ui/TableFloatingControls/NumberColumn/index.js +8 -2
- package/dist/cjs/ui/TableFloatingControls/RowControls/ClassicControls.js +9 -5
- package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +68 -41
- package/dist/cjs/ui/TableFloatingControls/index.js +19 -8
- package/dist/cjs/ui/common-styles.js +1 -1
- package/dist/cjs/ui/event-handlers.js +59 -32
- package/dist/cjs/ui/icons/SortingIconWrapper.js +2 -0
- package/dist/cjs/ui/toolbar.js +42 -16
- package/dist/es2019/nodeviews/ExternalDropTargets.js +5 -2
- package/dist/es2019/nodeviews/TableCell.js +5 -0
- package/dist/es2019/nodeviews/TableComponent.js +77 -13
- package/dist/es2019/nodeviews/TableComponentWithSharedState.js +8 -1
- package/dist/es2019/nodeviews/TableContainer.js +14 -4
- package/dist/es2019/nodeviews/TableNodeViewBase.js +4 -0
- package/dist/es2019/nodeviews/TableResizer.js +33 -4
- package/dist/es2019/nodeviews/TableRow.js +45 -1
- package/dist/es2019/nodeviews/TableStickyScrollbar.js +20 -2
- package/dist/es2019/nodeviews/lazy-node-views.js +16 -4
- package/dist/es2019/nodeviews/table.js +47 -12
- package/dist/es2019/pm-plugins/commands/clear.js +6 -0
- package/dist/es2019/pm-plugins/commands/column-resize.js +16 -7
- package/dist/es2019/pm-plugins/commands/commands-with-analytics.js +28 -9
- package/dist/es2019/pm-plugins/commands/delete.js +4 -1
- package/dist/es2019/pm-plugins/commands/go-to-next-cell.js +2 -0
- package/dist/es2019/pm-plugins/commands/hover.js +5 -1
- package/dist/es2019/pm-plugins/commands/insert.js +26 -6
- package/dist/es2019/pm-plugins/commands/misc.js +25 -5
- package/dist/es2019/pm-plugins/commands/selection.js +4 -0
- package/dist/es2019/pm-plugins/commands/sort.js +10 -1
- package/dist/es2019/pm-plugins/commands/toggle.js +2 -0
- package/dist/es2019/pm-plugins/decorations/plugin.js +7 -2
- package/dist/es2019/pm-plugins/decorations/utils/column-resizing.js +4 -1
- package/dist/es2019/pm-plugins/drag-and-drop/commands-with-analytics.js +14 -5
- package/dist/es2019/pm-plugins/drag-and-drop/commands.js +17 -5
- package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +21 -5
- package/dist/es2019/pm-plugins/handlers.js +1 -1
- package/dist/es2019/pm-plugins/keymap.js +104 -24
- package/dist/es2019/pm-plugins/main.js +16 -5
- package/dist/es2019/pm-plugins/table-resizing/commands.js +3 -2
- package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +25 -6
- package/dist/es2019/pm-plugins/table-resizing/plugin.js +4 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +23 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/column-state.js +6 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/content-width.js +17 -0
- package/dist/es2019/pm-plugins/table-resizing/utils/dom.js +4 -0
- package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +2 -0
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +12 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-logic.js +10 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +9 -3
- package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +18 -6
- package/dist/es2019/pm-plugins/table-selection-keymap.js +12 -0
- package/dist/es2019/pm-plugins/table-width.js +7 -2
- package/dist/es2019/pm-plugins/transforms/column-width.js +12 -5
- package/dist/es2019/pm-plugins/transforms/delete-columns.js +6 -1
- package/dist/es2019/pm-plugins/transforms/fix-tables.js +20 -4
- package/dist/es2019/pm-plugins/transforms/merge.js +7 -0
- package/dist/es2019/pm-plugins/transforms/replace-table.js +5 -2
- package/dist/es2019/pm-plugins/transforms/split.js +6 -1
- package/dist/es2019/pm-plugins/utils/alignment.js +4 -1
- package/dist/es2019/pm-plugins/utils/analytics.js +2 -2
- package/dist/es2019/pm-plugins/utils/column-controls.js +4 -0
- package/dist/es2019/pm-plugins/utils/create.js +1 -1
- package/dist/es2019/pm-plugins/utils/decoration.js +24 -6
- package/dist/es2019/pm-plugins/utils/dom.js +4 -0
- package/dist/es2019/pm-plugins/utils/drag-menu.js +19 -4
- package/dist/es2019/pm-plugins/utils/nodes.js +3 -0
- package/dist/es2019/pm-plugins/utils/paste.js +8 -2
- package/dist/es2019/pm-plugins/utils/row-controls.js +4 -1
- package/dist/es2019/pm-plugins/utils/snapping.js +4 -1
- package/dist/es2019/tablePlugin.js +13 -4
- package/dist/es2019/ui/ColumnResizeWidget/index.js +2 -0
- package/dist/es2019/ui/DragHandle/HandleIconComponent.js +3 -1
- package/dist/es2019/ui/DragHandle/index.js +10 -3
- package/dist/es2019/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.js +8 -1
- package/dist/es2019/ui/FloatingContextualButton/FixedButton.js +4 -0
- package/dist/es2019/ui/FloatingContextualButton/index.js +7 -1
- package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +23 -6
- package/dist/es2019/ui/FloatingContextualMenu/index.js +19 -4
- package/dist/es2019/ui/FloatingDeleteButton/index.js +23 -1
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +15 -3
- package/dist/es2019/ui/FloatingDragMenu/DropdownMenu.js +15 -2
- package/dist/es2019/ui/FloatingDragMenu/index.js +4 -1
- package/dist/es2019/ui/FloatingInsertButton/InsertButton.js +4 -0
- package/dist/es2019/ui/FloatingInsertButton/getPopupOptions.js +6 -0
- package/dist/es2019/ui/FloatingInsertButton/index.js +26 -2
- package/dist/es2019/ui/TableFloatingColumnControls/ColumnControls/index.js +28 -6
- package/dist/es2019/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +4 -1
- package/dist/es2019/ui/TableFloatingColumnControls/index.js +7 -2
- package/dist/es2019/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +2 -0
- package/dist/es2019/ui/TableFloatingControls/FloatingControlsWithSelection.js +2 -2
- package/dist/es2019/ui/TableFloatingControls/NumberColumn/index.js +7 -1
- package/dist/es2019/ui/TableFloatingControls/RowControls/ClassicControls.js +7 -2
- package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +32 -6
- package/dist/es2019/ui/TableFloatingControls/index.js +14 -3
- package/dist/es2019/ui/common-styles.js +7 -0
- package/dist/es2019/ui/event-handlers.js +35 -5
- package/dist/es2019/ui/icons/SortingIconWrapper.js +2 -0
- package/dist/es2019/ui/toolbar.js +58 -14
- package/dist/esm/nodeviews/ExternalDropTargets.js +5 -2
- package/dist/esm/nodeviews/TableCell.js +5 -0
- package/dist/esm/nodeviews/TableComponent.js +75 -11
- package/dist/esm/nodeviews/TableComponentWithSharedState.js +8 -1
- package/dist/esm/nodeviews/TableContainer.js +14 -4
- package/dist/esm/nodeviews/TableNodeViewBase.js +4 -0
- package/dist/esm/nodeviews/TableResizer.js +33 -4
- package/dist/esm/nodeviews/TableRow.js +45 -1
- package/dist/esm/nodeviews/TableStickyScrollbar.js +21 -2
- package/dist/esm/nodeviews/lazy-node-views.js +16 -4
- package/dist/esm/nodeviews/table.js +47 -12
- package/dist/esm/pm-plugins/commands/clear.js +6 -0
- package/dist/esm/pm-plugins/commands/column-resize.js +16 -7
- package/dist/esm/pm-plugins/commands/commands-with-analytics.js +20 -7
- package/dist/esm/pm-plugins/commands/go-to-next-cell.js +2 -0
- package/dist/esm/pm-plugins/commands/hover.js +5 -1
- package/dist/esm/pm-plugins/commands/insert.js +22 -5
- package/dist/esm/pm-plugins/commands/misc.js +25 -5
- package/dist/esm/pm-plugins/commands/selection.js +4 -0
- package/dist/esm/pm-plugins/commands/sort.js +10 -1
- package/dist/esm/pm-plugins/commands/toggle.js +2 -0
- package/dist/esm/pm-plugins/decorations/plugin.js +7 -2
- package/dist/esm/pm-plugins/decorations/utils/column-resizing.js +4 -1
- package/dist/esm/pm-plugins/drag-and-drop/commands-with-analytics.js +14 -5
- package/dist/esm/pm-plugins/drag-and-drop/commands.js +13 -4
- package/dist/esm/pm-plugins/drag-and-drop/plugin.js +17 -4
- package/dist/esm/pm-plugins/handlers.js +1 -1
- package/dist/esm/pm-plugins/keymap.js +104 -24
- package/dist/esm/pm-plugins/main.js +16 -5
- package/dist/esm/pm-plugins/table-resizing/commands.js +3 -2
- package/dist/esm/pm-plugins/table-resizing/event-handlers.js +25 -6
- package/dist/esm/pm-plugins/table-resizing/plugin.js +4 -1
- package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +19 -1
- package/dist/esm/pm-plugins/table-resizing/utils/column-state.js +6 -1
- package/dist/esm/pm-plugins/table-resizing/utils/content-width.js +17 -0
- package/dist/esm/pm-plugins/table-resizing/utils/dom.js +4 -0
- package/dist/esm/pm-plugins/table-resizing/utils/misc.js +2 -0
- package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +8 -1
- package/dist/esm/pm-plugins/table-resizing/utils/resize-logic.js +10 -2
- package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +5 -2
- package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +2 -2
- package/dist/esm/pm-plugins/table-selection-keymap.js +12 -0
- package/dist/esm/pm-plugins/table-width.js +7 -2
- package/dist/esm/pm-plugins/transforms/column-width.js +6 -4
- package/dist/esm/pm-plugins/transforms/delete-columns.js +2 -0
- package/dist/esm/pm-plugins/transforms/fix-tables.js +20 -4
- package/dist/esm/pm-plugins/transforms/merge.js +7 -0
- package/dist/esm/pm-plugins/transforms/replace-table.js +5 -2
- package/dist/esm/pm-plugins/transforms/split.js +6 -1
- package/dist/esm/pm-plugins/utils/alignment.js +4 -1
- package/dist/esm/pm-plugins/utils/analytics.js +2 -2
- package/dist/esm/pm-plugins/utils/column-controls.js +4 -0
- package/dist/esm/pm-plugins/utils/create.js +1 -1
- package/dist/esm/pm-plugins/utils/decoration.js +24 -6
- package/dist/esm/pm-plugins/utils/dom.js +4 -0
- package/dist/esm/pm-plugins/utils/drag-menu.js +15 -3
- package/dist/esm/pm-plugins/utils/nodes.js +3 -0
- package/dist/esm/pm-plugins/utils/paste.js +4 -1
- package/dist/esm/pm-plugins/utils/row-controls.js +4 -1
- package/dist/esm/tablePlugin.js +11 -4
- package/dist/esm/ui/ColumnResizeWidget/index.js +2 -0
- package/dist/esm/ui/DragHandle/HandleIconComponent.js +3 -1
- package/dist/esm/ui/DragHandle/index.js +10 -3
- package/dist/esm/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.js +8 -1
- package/dist/esm/ui/FloatingContextualButton/FixedButton.js +4 -0
- package/dist/esm/ui/FloatingContextualButton/index.js +7 -1
- package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +23 -6
- package/dist/esm/ui/FloatingContextualMenu/index.js +19 -4
- package/dist/esm/ui/FloatingDeleteButton/index.js +23 -1
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +15 -3
- package/dist/esm/ui/FloatingDragMenu/DropdownMenu.js +15 -2
- package/dist/esm/ui/FloatingDragMenu/index.js +4 -1
- package/dist/esm/ui/FloatingInsertButton/InsertButton.js +4 -0
- package/dist/esm/ui/FloatingInsertButton/getPopupOptions.js +6 -0
- package/dist/esm/ui/FloatingInsertButton/index.js +26 -2
- package/dist/esm/ui/TableFloatingColumnControls/ColumnControls/index.js +28 -6
- package/dist/esm/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +4 -1
- package/dist/esm/ui/TableFloatingColumnControls/index.js +6 -2
- package/dist/esm/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +2 -0
- package/dist/esm/ui/TableFloatingControls/FloatingControlsWithSelection.js +2 -2
- package/dist/esm/ui/TableFloatingControls/NumberColumn/index.js +7 -1
- package/dist/esm/ui/TableFloatingControls/RowControls/ClassicControls.js +6 -2
- package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +65 -38
- package/dist/esm/ui/TableFloatingControls/index.js +14 -3
- package/dist/esm/ui/common-styles.js +1 -1
- package/dist/esm/ui/event-handlers.js +31 -4
- package/dist/esm/ui/icons/SortingIconWrapper.js +2 -0
- package/dist/esm/ui/toolbar.js +34 -8
- package/dist/types/pm-plugins/commands/commands-with-analytics.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/commands.d.ts +1 -1
- package/dist/types/pm-plugins/transforms/column-width.d.ts +1 -1
- package/dist/types/pm-plugins/utils/collapse.d.ts +2 -1
- package/dist/types/ui/FloatingContextualButton/FixedButton.d.ts +1 -1
- package/dist/types/ui/FloatingContextualButton/index.d.ts +1 -1
- package/dist/types/ui/FloatingDeleteButton/index.d.ts +1 -1
- package/dist/types/ui/FloatingDragMenu/index.d.ts +1 -1
- package/dist/types/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +2 -2
- package/dist/types/ui/TableFloatingColumnControls/index.d.ts +1 -1
- package/dist/types/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +4 -4
- package/dist/types/ui/TableFloatingControls/index.d.ts +3 -3
- package/dist/types-ts4.5/pm-plugins/commands/commands-with-analytics.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/commands.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/transforms/column-width.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/utils/collapse.d.ts +2 -1
- package/dist/types-ts4.5/ui/FloatingContextualButton/FixedButton.d.ts +1 -1
- package/dist/types-ts4.5/ui/FloatingContextualButton/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/FloatingDeleteButton/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +2 -2
- package/dist/types-ts4.5/ui/TableFloatingColumnControls/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +4 -4
- package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +3 -3
- package/package.json +3 -3
- package/src/nodeviews/ExternalDropTargets.tsx +3 -1
- package/src/nodeviews/TableCell.ts +4 -0
- package/src/nodeviews/TableComponent.tsx +63 -18
- package/src/nodeviews/TableComponentWithSharedState.tsx +4 -0
- package/src/nodeviews/TableContainer.tsx +7 -1
- package/src/nodeviews/TableNodeViewBase.ts +4 -0
- package/src/nodeviews/TableResizer.tsx +27 -4
- package/src/nodeviews/TableRow.ts +41 -1
- package/src/nodeviews/TableStickyScrollbar.ts +14 -0
- package/src/nodeviews/__mocks__/OverflowShadowsObserver.ts +2 -0
- package/src/nodeviews/__mocks__/OverridableMock.ts +6 -0
- package/src/nodeviews/lazy-node-views.ts +8 -0
- package/src/nodeviews/table.tsx +30 -4
- package/src/pm-plugins/commands/clear.ts +6 -0
- package/src/pm-plugins/commands/column-resize.ts +12 -9
- package/src/pm-plugins/commands/commands-with-analytics.ts +21 -4
- package/src/pm-plugins/commands/delete.ts +2 -0
- package/src/pm-plugins/commands/go-to-next-cell.ts +2 -0
- package/src/pm-plugins/commands/hover.ts +7 -5
- package/src/pm-plugins/commands/insert.ts +15 -1
- package/src/pm-plugins/commands/misc.ts +24 -3
- package/src/pm-plugins/commands/selection.ts +4 -0
- package/src/pm-plugins/commands/sort.ts +9 -1
- package/src/pm-plugins/commands/toggle.ts +2 -0
- package/src/pm-plugins/decorations/plugin.ts +5 -1
- package/src/pm-plugins/decorations/utils/column-resizing.ts +2 -0
- package/src/pm-plugins/drag-and-drop/commands-with-analytics.ts +8 -2
- package/src/pm-plugins/drag-and-drop/commands.ts +9 -1
- package/src/pm-plugins/drag-and-drop/plugin.ts +17 -2
- package/src/pm-plugins/handlers.ts +1 -1
- package/src/pm-plugins/keymap.ts +54 -0
- package/src/pm-plugins/main.ts +12 -5
- package/src/pm-plugins/table-resizing/commands.ts +4 -3
- package/src/pm-plugins/table-resizing/event-handlers.ts +24 -10
- package/src/pm-plugins/table-resizing/plugin.ts +3 -1
- package/src/pm-plugins/table-resizing/utils/colgroup.ts +17 -1
- package/src/pm-plugins/table-resizing/utils/column-state.ts +4 -0
- package/src/pm-plugins/table-resizing/utils/content-width.ts +14 -0
- package/src/pm-plugins/table-resizing/utils/dom.ts +4 -0
- package/src/pm-plugins/table-resizing/utils/misc.ts +2 -0
- package/src/pm-plugins/table-resizing/utils/resize-column.ts +9 -1
- package/src/pm-plugins/table-resizing/utils/resize-logic.ts +6 -0
- package/src/pm-plugins/table-resizing/utils/resize-state.ts +5 -1
- package/src/pm-plugins/table-resizing/utils/scale-table.ts +10 -2
- package/src/pm-plugins/table-selection-keymap.ts +8 -0
- package/src/pm-plugins/table-width.ts +5 -1
- package/src/pm-plugins/transforms/column-width.ts +9 -7
- package/src/pm-plugins/transforms/delete-columns.ts +4 -0
- package/src/pm-plugins/transforms/fix-tables.ts +13 -6
- package/src/pm-plugins/transforms/merge.ts +6 -0
- package/src/pm-plugins/transforms/replace-table.ts +3 -1
- package/src/pm-plugins/transforms/split.ts +4 -0
- package/src/pm-plugins/utils/alignment.ts +2 -0
- package/src/pm-plugins/utils/analytics.ts +2 -2
- package/src/pm-plugins/utils/collapse.ts +3 -4
- package/src/pm-plugins/utils/column-controls.ts +4 -0
- package/src/pm-plugins/utils/create.ts +1 -1
- package/src/pm-plugins/utils/decoration.ts +12 -0
- package/src/pm-plugins/utils/dom.ts +4 -0
- package/src/pm-plugins/utils/drag-menu.ts +12 -1
- package/src/pm-plugins/utils/nodes.ts +2 -0
- package/src/pm-plugins/utils/paste.ts +4 -0
- package/src/pm-plugins/utils/row-controls.ts +2 -0
- package/src/pm-plugins/utils/snapping.ts +2 -0
- package/src/tablePlugin.tsx +13 -15
- package/src/tablePluginType.ts +10 -0
- package/src/ui/ColumnResizeWidget/index.tsx +2 -0
- package/src/ui/DragHandle/HandleIconComponent.tsx +3 -1
- package/src/ui/DragHandle/index.tsx +11 -2
- package/src/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.tsx +6 -0
- package/src/ui/FloatingContextualButton/FixedButton.tsx +5 -1
- package/src/ui/FloatingContextualButton/index.tsx +8 -2
- package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +17 -7
- package/src/ui/FloatingContextualMenu/index.tsx +11 -1
- package/src/ui/FloatingDeleteButton/index.tsx +23 -4
- package/src/ui/FloatingDragMenu/DragMenu.tsx +13 -6
- package/src/ui/FloatingDragMenu/DropdownMenu.tsx +10 -0
- package/src/ui/FloatingDragMenu/index.tsx +3 -1
- package/src/ui/FloatingInsertButton/InsertButton.tsx +4 -0
- package/src/ui/FloatingInsertButton/getPopupOptions.ts +4 -0
- package/src/ui/FloatingInsertButton/index.tsx +21 -1
- package/src/ui/TableFloatingColumnControls/ColumnControls/index.tsx +19 -2
- package/src/ui/TableFloatingColumnControls/ColumnDropTargets/index.tsx +2 -0
- package/src/ui/TableFloatingColumnControls/index.tsx +8 -4
- package/src/ui/TableFloatingControls/CornerControls/ClassicCornerControls.tsx +2 -0
- package/src/ui/TableFloatingControls/FloatingControlsWithSelection.tsx +2 -2
- package/src/ui/TableFloatingControls/NumberColumn/index.tsx +7 -1
- package/src/ui/TableFloatingControls/RowControls/ClassicControls.tsx +11 -3
- package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +20 -1
- package/src/ui/TableFloatingControls/index.tsx +13 -4
- package/src/ui/common-styles.ts +7 -0
- package/src/ui/event-handlers.ts +28 -3
- package/src/ui/icons/SortingIconWrapper.tsx +2 -0
- package/src/ui/toolbar.tsx +43 -11
- package/tsconfig.json +0 -1
|
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
2
2
|
import React, { useEffect, useState } from 'react';
|
|
3
3
|
import { tableMarginTop } from '@atlaskit/editor-common/styles';
|
|
4
4
|
import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
5
|
-
import { getColumnsWidths } from '../pm-plugins/utils';
|
|
5
|
+
import { getColumnsWidths } from '../pm-plugins/utils/column-controls';
|
|
6
6
|
import { dropTargetExtendedWidth, dropTargetsZIndex } from '../ui/consts';
|
|
7
7
|
import { ColumnDropTarget } from '../ui/TableFloatingColumnControls/ColumnDropTargets/ColumnDropTarget';
|
|
8
8
|
export var ExternalDropTargets = function ExternalDropTargets(_ref) {
|
|
@@ -61,7 +61,10 @@ export var ExternalDropTargets = function ExternalDropTargets(_ref) {
|
|
|
61
61
|
marginLeft: "-".concat(getScrollOffset(), "px")
|
|
62
62
|
}
|
|
63
63
|
}, colWidths === null || colWidths === void 0 ? void 0 : colWidths.map(function (width, index) {
|
|
64
|
-
return /*#__PURE__*/React.createElement(ColumnDropTarget
|
|
64
|
+
return /*#__PURE__*/React.createElement(ColumnDropTarget
|
|
65
|
+
// Ignored via go/ees005
|
|
66
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
67
|
+
, {
|
|
65
68
|
key: index,
|
|
66
69
|
index: index,
|
|
67
70
|
localId: currentNodeLocalId,
|
|
@@ -33,8 +33,13 @@ function delayUntilIdle(cb) {
|
|
|
33
33
|
return cb();
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
+
|
|
37
|
+
// Ignored via go/ees005
|
|
38
|
+
// eslint-disable-next-line require-unicode-regexp
|
|
36
39
|
var cssVariablePattern = /^VAR\(--.*\)$/;
|
|
37
40
|
var TableCell = /*#__PURE__*/function (_TableNodeView) {
|
|
41
|
+
// Ignored via go/ees005
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
38
43
|
function TableCell(node, view, getPos, eventDispatcher, editorAnalyticsAPI) {
|
|
39
44
|
var _this;
|
|
40
45
|
_classCallCheck(this, TableCell);
|
|
@@ -28,19 +28,24 @@ import { fg } from '@atlaskit/platform-feature-flags';
|
|
|
28
28
|
import { combine } from '@atlaskit/pragmatic-drag-and-drop/combine';
|
|
29
29
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
30
30
|
import { autoSizeTable, clearHoverSelection } from '../pm-plugins/commands';
|
|
31
|
-
import { autoScrollerFactory } from '../pm-plugins/drag-and-drop/utils';
|
|
31
|
+
import { autoScrollerFactory } from '../pm-plugins/drag-and-drop/utils/autoscrollers';
|
|
32
32
|
import { getPluginState } from '../pm-plugins/plugin-factory';
|
|
33
|
-
import {
|
|
33
|
+
import { pluginKey as stickyHeadersPluginKey } from '../pm-plugins/sticky-headers/plugin-key';
|
|
34
|
+
import { findStickyHeaderForTable } from '../pm-plugins/sticky-headers/util';
|
|
34
35
|
import { META_KEYS } from '../pm-plugins/table-analytics';
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import { TABLE_EDITOR_MARGIN, TABLE_OFFSET_IN_COMMENT_EDITOR } from '../pm-plugins/table-resizing/utils/consts';
|
|
36
|
+
import { insertColgroupFromNode, hasTableBeenResized } from '../pm-plugins/table-resizing/utils/colgroup';
|
|
37
|
+
import { COLUMN_MIN_WIDTH, TABLE_EDITOR_MARGIN, TABLE_OFFSET_IN_COMMENT_EDITOR } from '../pm-plugins/table-resizing/utils/consts';
|
|
38
38
|
import { updateControls } from '../pm-plugins/table-resizing/utils/dom';
|
|
39
|
-
import { getScalingPercentForTableWithoutWidth, getTableScalingPercent } from '../pm-plugins/table-resizing/utils/misc';
|
|
40
|
-
import {
|
|
39
|
+
import { getLayoutSize, getScalingPercentForTableWithoutWidth, getTableScalingPercent } from '../pm-plugins/table-resizing/utils/misc';
|
|
40
|
+
import { getResizeState, updateColgroup } from '../pm-plugins/table-resizing/utils/resize-state';
|
|
41
|
+
import { scaleTable } from '../pm-plugins/table-resizing/utils/scale-table';
|
|
42
|
+
import { containsHeaderRow, isTableNested, isTableNestedInMoreThanOneNode, tablesHaveDifferentColumnWidths, tablesHaveDifferentNoOfColumns, tablesHaveDifferentNoOfRows } from '../pm-plugins/utils/nodes';
|
|
43
|
+
import { getAssistiveMessage } from '../pm-plugins/utils/table';
|
|
41
44
|
import { TableCssClassName as ClassName, ShadowEvent } from '../types';
|
|
42
45
|
import { handleMouseOut, handleMouseOver, isTableInFocus, withCellTracking } from '../ui/event-handlers';
|
|
43
46
|
import TableFloatingColumnControls from '../ui/TableFloatingColumnControls';
|
|
47
|
+
// Ignored via go/ees005
|
|
48
|
+
// eslint-disable-next-line import/no-named-as-default
|
|
44
49
|
import TableFloatingControls from '../ui/TableFloatingControls';
|
|
45
50
|
import { ExternalDropTargets } from './ExternalDropTargets';
|
|
46
51
|
import { OverflowShadowsObserver } from './OverflowShadowsObserver';
|
|
@@ -61,6 +66,8 @@ var isOverflowAnalyticsEnabled = false;
|
|
|
61
66
|
// Prevent unnecessary parentWidth updates when table is nested inside of a node that is nested itself.
|
|
62
67
|
var NESTED_TABLE_IN_NESTED_PARENT_WIDTH_DIFF_MIN_THRESHOLD = 2;
|
|
63
68
|
var NESTED_TABLE_IN_NESTED_PARENT_WIDTH_DIFF_MAX_THRESHOLD = 20;
|
|
69
|
+
// Ignored via go/ees005
|
|
70
|
+
// eslint-disable-next-line @repo/internal/react/no-class-components
|
|
64
71
|
var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
65
72
|
function TableComponent(props) {
|
|
66
73
|
var _this;
|
|
@@ -121,6 +128,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
121
128
|
}
|
|
122
129
|
}
|
|
123
130
|
});
|
|
131
|
+
// Ignored via go/ees005
|
|
132
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
124
133
|
_defineProperty(_this, "prevTableState", null);
|
|
125
134
|
_defineProperty(_this, "handleScroll", function (event) {
|
|
126
135
|
if (!_this.wrapper || event.target !== _this.wrapper) {
|
|
@@ -133,6 +142,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
133
142
|
// sync sticky header row to table scroll
|
|
134
143
|
var headers = _this.table.querySelectorAll('tr[data-header-row]');
|
|
135
144
|
for (var i = 0; i < headers.length; i++) {
|
|
145
|
+
// Ignored via go/ees005
|
|
146
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
136
147
|
var header = headers[i];
|
|
137
148
|
header.scrollLeft = _this.wrapper.scrollLeft;
|
|
138
149
|
header.style.marginRight = '2px';
|
|
@@ -146,6 +157,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
146
157
|
containerWidth = _this$props.containerWidth,
|
|
147
158
|
options = _this$props.options,
|
|
148
159
|
allowTableResizing = _this$props.allowTableResizing;
|
|
160
|
+
// Ignored via go/ees005
|
|
161
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
149
162
|
var prevNode = _this.node;
|
|
150
163
|
var node = getNode();
|
|
151
164
|
var prevAttrs = prevNode.attrs;
|
|
@@ -226,6 +239,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
226
239
|
prevNode: _this.node || node,
|
|
227
240
|
start: pos + 1,
|
|
228
241
|
containerWidth: width,
|
|
242
|
+
// Ignored via go/ees005
|
|
243
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
229
244
|
previousContainerWidth: _this.containerWidth.width || width
|
|
230
245
|
}, options), domAtPos, _this.props.pluginInjectionApi, false,
|
|
231
246
|
// isTableScalingEnabled doesn't change the behavior of nested tables
|
|
@@ -383,8 +398,17 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
383
398
|
getNode = _this$props7.getNode,
|
|
384
399
|
getEditorFeatureFlags = _this$props7.getEditorFeatureFlags,
|
|
385
400
|
isTableScalingEnabled = _this$props7.isTableScalingEnabled;
|
|
401
|
+
|
|
402
|
+
// Ignored via go/ees005
|
|
403
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
386
404
|
this === null || this === void 0 || (_this$table = this.table) === null || _this$table === void 0 || _this$table.addEventListener('mouseenter', this.handleMouseEnter);
|
|
405
|
+
|
|
406
|
+
// Ignored via go/ees005
|
|
407
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
387
408
|
this === null || this === void 0 || (_this$table2 = this.table) === null || _this$table2 === void 0 || _this$table2.addEventListener('mouseout', this.handleMouseOut);
|
|
409
|
+
|
|
410
|
+
// Ignored via go/ees005
|
|
411
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
388
412
|
this === null || this === void 0 || (_this$table3 = this.table) === null || _this$table3 === void 0 || _this$table3.addEventListener('mouseover', this.handleMouseOver);
|
|
389
413
|
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
390
414
|
_getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
|
|
@@ -413,6 +437,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
413
437
|
this.wrapperReisizeObserver.observe(this.wrapper);
|
|
414
438
|
}
|
|
415
439
|
if (allowColumnResizing && this.wrapper && !isIE11) {
|
|
440
|
+
// Ignored via go/ees005
|
|
441
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
416
442
|
this.wrapper.addEventListener('scroll', this.handleScrollDebounced, {
|
|
417
443
|
passive: true
|
|
418
444
|
});
|
|
@@ -432,6 +458,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
432
458
|
* Instead we use the resize event to only trigger updates when necessary.
|
|
433
459
|
*/
|
|
434
460
|
if (!allowTableResizing) {
|
|
461
|
+
// Ignored via go/ees005
|
|
462
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
435
463
|
window.addEventListener('resize', this.handleWindowResizeDebounced);
|
|
436
464
|
}
|
|
437
465
|
this.handleTableResizingDebounced();
|
|
@@ -440,6 +468,9 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
440
468
|
if (currentStickyState) {
|
|
441
469
|
this.onStickyState(currentStickyState);
|
|
442
470
|
}
|
|
471
|
+
|
|
472
|
+
// Ignored via go/ees005
|
|
473
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
443
474
|
eventDispatcher.on(stickyHeadersPluginKey.key, this.onStickyState);
|
|
444
475
|
if (isOverflowAnalyticsEnabled) {
|
|
445
476
|
var initialIsOveflowing = this.state[ShadowEvent.SHOW_BEFORE_SHADOW] || this.state[ShadowEvent.SHOW_AFTER_SHADOW];
|
|
@@ -456,6 +487,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
456
487
|
eventDispatcher = _this$props8.eventDispatcher,
|
|
457
488
|
isDragAndDropEnabled = _this$props8.isDragAndDropEnabled;
|
|
458
489
|
if (this.wrapper && !isIE11) {
|
|
490
|
+
// Ignored via go/ees005
|
|
491
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
459
492
|
this.wrapper.removeEventListener('scroll', this.handleScrollDebounced);
|
|
460
493
|
}
|
|
461
494
|
if (isDragAndDropEnabled && this.dragAndDropCleanupFn) {
|
|
@@ -474,14 +507,28 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
474
507
|
this.handleWindowResizeDebounced.cancel();
|
|
475
508
|
}
|
|
476
509
|
if (!allowTableResizing && allowColumnResizing) {
|
|
510
|
+
// Ignored via go/ees005
|
|
511
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
477
512
|
window.removeEventListener('resize', this.handleWindowResizeDebounced);
|
|
478
513
|
}
|
|
514
|
+
|
|
515
|
+
// Ignored via go/ees005
|
|
516
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
479
517
|
this === null || this === void 0 || (_this$table4 = this.table) === null || _this$table4 === void 0 || _this$table4.removeEventListener('mouseenter', this.handleMouseEnter);
|
|
518
|
+
|
|
519
|
+
// Ignored via go/ees005
|
|
520
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
480
521
|
this === null || this === void 0 || (_this$table5 = this.table) === null || _this$table5 === void 0 || _this$table5.removeEventListener('mouseout', this.handleMouseOut);
|
|
522
|
+
|
|
523
|
+
// Ignored via go/ees005
|
|
524
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
481
525
|
this === null || this === void 0 || (_this$table6 = this.table) === null || _this$table6 === void 0 || _this$table6.removeEventListener('mouseover', this.handleMouseOver);
|
|
482
526
|
if (this.overflowShadowsObserver) {
|
|
483
527
|
this.overflowShadowsObserver.dispose();
|
|
484
528
|
}
|
|
529
|
+
|
|
530
|
+
// Ignored via go/ees005
|
|
531
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
485
532
|
eventDispatcher.off(stickyHeadersPluginKey.key, this.onStickyState);
|
|
486
533
|
if (this.initialOverflowCaptureTimerId) {
|
|
487
534
|
clearTimeout(this.initialOverflowCaptureTimerId);
|
|
@@ -598,13 +645,21 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
598
645
|
// renderWidth calculated as `tableRef?.parentElement?.clientWidth`
|
|
599
646
|
// inside of getTableScalingPercent returns 0.
|
|
600
647
|
if (!((_this3$props$options = _this3.props.options) !== null && _this3$props$options !== void 0 && _this3$props$options.isCommentEditor) || (_this3$props$options2 = _this3.props.options) !== null && _this3$props$options2 !== void 0 && _this3$props$options2.isCommentEditor && tableNode.attrs.width) {
|
|
601
|
-
scalePercent = getTableScalingPercent(tableNode,
|
|
648
|
+
scalePercent = getTableScalingPercent(tableNode,
|
|
649
|
+
// Ignored via go/ees005
|
|
650
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
651
|
+
_this3.table, shouldUseIncreasedScalingPercent);
|
|
602
652
|
} else {
|
|
653
|
+
// Ignored via go/ees005
|
|
654
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
603
655
|
scalePercent = getScalingPercentForTableWithoutWidth(tableNode, _this3.table);
|
|
604
656
|
}
|
|
605
657
|
|
|
606
658
|
// Request animation frame required for Firefox
|
|
607
|
-
updateColgroup(resizeState,
|
|
659
|
+
updateColgroup(resizeState,
|
|
660
|
+
// Ignored via go/ees005
|
|
661
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
662
|
+
_this3.table, tableNode, shouldScaleOnColgroupUpdate, scalePercent);
|
|
608
663
|
});
|
|
609
664
|
}
|
|
610
665
|
}
|
|
@@ -615,6 +670,9 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
615
670
|
this.wasResizing = isResizing;
|
|
616
671
|
this.containerWidth = containerWidth;
|
|
617
672
|
}
|
|
673
|
+
|
|
674
|
+
// Ignored via go/ees005
|
|
675
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
618
676
|
}, {
|
|
619
677
|
key: "componentDidUpdate",
|
|
620
678
|
value: function componentDidUpdate(_, prevState) {
|
|
@@ -669,7 +727,10 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
669
727
|
// that happens when a table is nested in expand and expand's width is
|
|
670
728
|
// changed via breakout button
|
|
671
729
|
window.requestAnimationFrame(function () {
|
|
672
|
-
_this4.overflowShadowsObserver = new OverflowShadowsObserver(_this4.updateShadowState,
|
|
730
|
+
_this4.overflowShadowsObserver = new OverflowShadowsObserver(_this4.updateShadowState,
|
|
731
|
+
// Ignored via go/ees005
|
|
732
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
733
|
+
_this4.table, _this4.wrapper);
|
|
673
734
|
});
|
|
674
735
|
} else {
|
|
675
736
|
this.overflowShadowsObserver = new OverflowShadowsObserver(this.updateShadowState, this.table, this.wrapper);
|
|
@@ -876,7 +937,10 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
876
937
|
className: classnames(ClassName.TABLE_CONTAINER, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ClassName.WITH_CONTROLS, allowControls && tableActive), ClassName.TABLE_STICKY, this.state.stickyHeader && hasHeaderRow), ClassName.HOVERED_DELETE_BUTTON, isInDanger), ClassName.TABLE_SELECTED, isTableSelected(view.state.selection))),
|
|
877
938
|
editorView: view,
|
|
878
939
|
getPos: getPos,
|
|
879
|
-
node: node
|
|
940
|
+
node: node
|
|
941
|
+
// Ignored via go/ees005
|
|
942
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
943
|
+
,
|
|
880
944
|
tableRef: tableRef,
|
|
881
945
|
containerWidth: containerWidth,
|
|
882
946
|
isNested: isNested,
|
|
@@ -2,6 +2,10 @@ import React from 'react';
|
|
|
2
2
|
import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
|
|
3
3
|
import { findTable } from '@atlaskit/editor-tables';
|
|
4
4
|
import TableComponent from './TableComponent';
|
|
5
|
+
|
|
6
|
+
// Ignored via go/ees005
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
|
|
5
9
|
/**
|
|
6
10
|
* Use useSharedPluginState to control re-renders from plugin dependencies
|
|
7
11
|
*/
|
|
@@ -69,7 +73,10 @@ export var TableComponentWithSharedState = function TableComponentWithSharedStat
|
|
|
69
73
|
tableActive: tableActive,
|
|
70
74
|
ordering: ordering,
|
|
71
75
|
isResizing: isResizing,
|
|
72
|
-
getNode: getNode
|
|
76
|
+
getNode: getNode
|
|
77
|
+
// Ignored via go/ees005
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
79
|
+
,
|
|
73
80
|
containerWidth: widthState,
|
|
74
81
|
contentDOM: forwardRef,
|
|
75
82
|
getEditorFeatureFlags: getEditorFeatureFlags,
|
|
@@ -7,7 +7,7 @@ import { getTableContainerWidth } from '@atlaskit/editor-common/node-width';
|
|
|
7
7
|
import { akEditorDefaultLayoutWidth, akEditorGutterPaddingDynamic, akEditorMobileBreakoutPoint } from '@atlaskit/editor-shared-styles';
|
|
8
8
|
import { setTableAlignmentWithTableContentWithPosWithAnalytics } from '../pm-plugins/commands/commands-with-analytics';
|
|
9
9
|
import { getPluginState } from '../pm-plugins/plugin-factory';
|
|
10
|
-
import { TABLE_MAX_WIDTH, TABLE_OFFSET_IN_COMMENT_EDITOR } from '../pm-plugins/table-resizing/utils';
|
|
10
|
+
import { TABLE_MAX_WIDTH, TABLE_OFFSET_IN_COMMENT_EDITOR } from '../pm-plugins/table-resizing/utils/consts';
|
|
11
11
|
import { ALIGN_CENTER, ALIGN_START } from '../pm-plugins/utils/alignment';
|
|
12
12
|
import { TableCssClassName as ClassName } from '../types';
|
|
13
13
|
import { getAlignmentStyle } from './table-container-styles';
|
|
@@ -256,7 +256,11 @@ export var ResizableTableContainer = /*#__PURE__*/React.memo(function (_ref4) {
|
|
|
256
256
|
style: {
|
|
257
257
|
width: 'inherit'
|
|
258
258
|
}
|
|
259
|
-
}, children) :
|
|
259
|
+
}, children) :
|
|
260
|
+
/*#__PURE__*/
|
|
261
|
+
// Ignored via go/ees005
|
|
262
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
263
|
+
React.createElement(TableResizer, tableResizerProps, /*#__PURE__*/React.createElement(InnerContainer, {
|
|
260
264
|
className: className,
|
|
261
265
|
node: node
|
|
262
266
|
}, children))));
|
|
@@ -288,8 +292,14 @@ export var TableContainer = function TableContainer(_ref6) {
|
|
|
288
292
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
289
293
|
, {
|
|
290
294
|
className: className,
|
|
291
|
-
node: node
|
|
292
|
-
|
|
295
|
+
node: node
|
|
296
|
+
// Ignored via go/ees005
|
|
297
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
298
|
+
,
|
|
299
|
+
containerWidth: editorWidth
|
|
300
|
+
// Ignored via go/ees005
|
|
301
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
302
|
+
,
|
|
293
303
|
lineLength: lineLength,
|
|
294
304
|
editorView: editorView,
|
|
295
305
|
getPos: getPos,
|
|
@@ -5,12 +5,16 @@ var TableNodeView = /*#__PURE__*/_createClass(
|
|
|
5
5
|
/**
|
|
6
6
|
* @constructor
|
|
7
7
|
*/
|
|
8
|
+
// Ignored via go/ees005
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
8
10
|
function TableNodeView(node, view, getPos, eventDispatcher) {
|
|
9
11
|
_classCallCheck(this, TableNodeView);
|
|
10
12
|
this.node = node;
|
|
11
13
|
this.view = view;
|
|
12
14
|
this.getPos = getPos;
|
|
13
15
|
this.eventDispatcher = eventDispatcher;
|
|
16
|
+
// Ignored via go/ees005
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
14
18
|
var _DOMSerializer$render = DOMSerializer.renderSpec(document, node.type.spec.toDOM(node)),
|
|
15
19
|
dom = _DOMSerializer$render.dom,
|
|
16
20
|
contentDOM = _DOMSerializer$render.contentDOM;
|
|
@@ -20,7 +20,9 @@ import { fg } from '@atlaskit/platform-feature-flags';
|
|
|
20
20
|
import { setTableAlignmentWithTableContentWithPosWithAnalytics } from '../pm-plugins/commands/commands-with-analytics';
|
|
21
21
|
import { updateWidthToWidest } from '../pm-plugins/commands/misc';
|
|
22
22
|
import { META_KEYS } from '../pm-plugins/table-analytics';
|
|
23
|
-
import {
|
|
23
|
+
import { getColgroupChildrenLength } from '../pm-plugins/table-resizing/utils/colgroup';
|
|
24
|
+
import { COLUMN_MIN_WIDTH, TABLE_MAX_WIDTH, TABLE_OFFSET_IN_COMMENT_EDITOR } from '../pm-plugins/table-resizing/utils/consts';
|
|
25
|
+
import { previewScaleTable, scaleTable } from '../pm-plugins/table-resizing/utils/scale-table';
|
|
24
26
|
import { pluginKey as tableWidthPluginKey } from '../pm-plugins/table-width';
|
|
25
27
|
import { ALIGN_CENTER, ALIGN_START, normaliseAlignment, shouldChangeAlignmentToCenterResized } from '../pm-plugins/utils/alignment';
|
|
26
28
|
import { generateResizedPayload, generateResizeFrameRatePayloads, useMeasureFramerate } from '../pm-plugins/utils/analytics';
|
|
@@ -74,7 +76,10 @@ var getResizerMinWidth = function getResizerMinWidth(node) {
|
|
|
74
76
|
* @param isTableScalingEnabled
|
|
75
77
|
* @param isFullWidthModeEnabled
|
|
76
78
|
*/
|
|
77
|
-
var getVisibleGuidelines = function getVisibleGuidelines(guidelines, containerWidth, lineLength, isTableScalingEnabled, isFullWidthModeEnabled
|
|
79
|
+
var getVisibleGuidelines = function getVisibleGuidelines(guidelines, containerWidth, lineLength, isTableScalingEnabled, isFullWidthModeEnabled
|
|
80
|
+
// Ignored via go/ees005
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
82
|
+
) {
|
|
78
83
|
var guidelineVisibleAdjustment = TABLE_GUIDELINE_VISIBLE_ADJUSTMENT;
|
|
79
84
|
if (isTableScalingEnabled) {
|
|
80
85
|
// Notes:
|
|
@@ -186,7 +191,10 @@ export var TableResizer = function TableResizer(_ref) {
|
|
|
186
191
|
isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPaddingDynamic() : containerWidth, excludeGuidelineConfig) : defaultSnappingWidths
|
|
187
192
|
} : undefined;
|
|
188
193
|
}, [snappingEnabled, isTableScalingEnabled, excludeGuidelineConfig, containerWidth, lineLength, isFullWidthModeEnabled]);
|
|
189
|
-
var switchToCenterAlignment = useCallback(function (pos, node, newWidth, state, dispatch
|
|
194
|
+
var switchToCenterAlignment = useCallback(function (pos, node, newWidth, state, dispatch
|
|
195
|
+
// Ignored via go/ees005
|
|
196
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
197
|
+
) {
|
|
190
198
|
if (shouldChangeAlignmentToCenterResized(isTableAlignmentEnabled, node, lineLength, newWidth) && isResizing.current) {
|
|
191
199
|
var _pluginInjectionApi$a;
|
|
192
200
|
var tableNodeWithPos = {
|
|
@@ -238,7 +246,10 @@ export var TableResizer = function TableResizer(_ref) {
|
|
|
238
246
|
onResizeStart();
|
|
239
247
|
}
|
|
240
248
|
}, [startMeasure, editorView, displayGapCursor, node.attrs.localId, tableRef, isTableScalingEnabled, excludeGuidelineConfig, containerWidth, lineLength, displayGuideline, onResizeStart, isFullWidthModeEnabled]);
|
|
241
|
-
var handleResize = useCallback(
|
|
249
|
+
var handleResize = useCallback(
|
|
250
|
+
// Ignored via go/ees005
|
|
251
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
252
|
+
function (originalState, delta) {
|
|
242
253
|
var _node$attrs$localId, _node$attrs;
|
|
243
254
|
countFrames();
|
|
244
255
|
var newWidth = originalState.width + delta.width;
|
|
@@ -323,6 +334,9 @@ export var TableResizer = function TableResizer(_ref) {
|
|
|
323
334
|
width: newWidth
|
|
324
335
|
}));
|
|
325
336
|
}
|
|
337
|
+
|
|
338
|
+
// Ignored via go/ees005
|
|
339
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
326
340
|
var newNode = tr.doc.nodeAt(pos);
|
|
327
341
|
tr = scaleTable(tableRef, {
|
|
328
342
|
node: newNode,
|
|
@@ -333,6 +347,9 @@ export var TableResizer = function TableResizer(_ref) {
|
|
|
333
347
|
// scaleTable function needs number value to work correctly.
|
|
334
348
|
parentWidth: isCommentEditor ? originalNewWidth : newWidth
|
|
335
349
|
}, editorView.domAtPos.bind(editorView), pluginInjectionApi, isTableScalingEnabled, shouldUseIncreasedScalingPercent || false, isCommentEditor)(tr);
|
|
350
|
+
|
|
351
|
+
// Ignored via go/ees005
|
|
352
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
336
353
|
var scaledNode = tr.doc.nodeAt(pos);
|
|
337
354
|
(_attachAnalyticsEvent2 = attachAnalyticsEvent(generateResizedPayload({
|
|
338
355
|
originalNode: node,
|
|
@@ -425,12 +442,24 @@ export var TableResizer = function TableResizer(_ref) {
|
|
|
425
442
|
}
|
|
426
443
|
};
|
|
427
444
|
var editorViewDom = editorView === null || editorView === void 0 ? void 0 : editorView.dom;
|
|
445
|
+
// Ignored via go/ees005
|
|
446
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
428
447
|
editorViewDom === null || editorViewDom === void 0 || editorViewDom.addEventListener('keydown', globalKeyDownHandler);
|
|
448
|
+
// Ignored via go/ees005
|
|
449
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
429
450
|
resizeHandleThumbEl === null || resizeHandleThumbEl === void 0 || resizeHandleThumbEl.addEventListener('keydown', handleKeyDown);
|
|
451
|
+
// Ignored via go/ees005
|
|
452
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
430
453
|
resizeHandleThumbEl === null || resizeHandleThumbEl === void 0 || resizeHandleThumbEl.addEventListener('keyup', handleKeyUp);
|
|
431
454
|
return function () {
|
|
455
|
+
// Ignored via go/ees005
|
|
456
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
432
457
|
editorViewDom === null || editorViewDom === void 0 || editorViewDom.removeEventListener('keydown', globalKeyDownHandler);
|
|
458
|
+
// Ignored via go/ees005
|
|
459
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
433
460
|
resizeHandleThumbEl === null || resizeHandleThumbEl === void 0 || resizeHandleThumbEl.removeEventListener('keydown', handleKeyDown);
|
|
461
|
+
// Ignored via go/ees005
|
|
462
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
434
463
|
resizeHandleThumbEl === null || resizeHandleThumbEl === void 0 || resizeHandleThumbEl.removeEventListener('keyup', handleKeyUp);
|
|
435
464
|
};
|
|
436
465
|
}, [resizerRef, editorView, handleResizeStop, isTableSelected, handleKeyDown, handleKeyUp]);
|
|
@@ -26,6 +26,8 @@ var HEADER_ROW_SCROLL_THROTTLE_TIMEOUT = 200;
|
|
|
26
26
|
// if too short it would trigger too many dom updates.
|
|
27
27
|
var HEADER_ROW_SCROLL_RESET_DEBOUNCE_TIMEOUT = 400;
|
|
28
28
|
var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
29
|
+
// Ignored via go/ees005
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
29
31
|
function TableRow(node, view, getPos, eventDispatcher) {
|
|
30
32
|
var _this;
|
|
31
33
|
_classCallCheck(this, TableRow);
|
|
@@ -88,6 +90,8 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
88
90
|
/**
|
|
89
91
|
* Methods: Nodeview Lifecycle
|
|
90
92
|
*/
|
|
93
|
+
// Ignored via go/ees005
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
91
95
|
function update(node) {
|
|
92
96
|
// do nothing if nodes were identical
|
|
93
97
|
if (node === this.node) {
|
|
@@ -157,17 +161,27 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
157
161
|
}, {
|
|
158
162
|
key: "subscribe",
|
|
159
163
|
value: function subscribe() {
|
|
164
|
+
// Ignored via go/ees005
|
|
165
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
160
166
|
this.editorScrollableElement = findOverflowScrollParent(this.view.dom) || window;
|
|
161
167
|
if (this.editorScrollableElement) {
|
|
162
168
|
this.initObservers();
|
|
163
169
|
this.topPosEditorElement = getTop(this.editorScrollableElement);
|
|
164
170
|
}
|
|
165
171
|
this.eventDispatcher.on('widthPlugin', this.updateStickyHeaderWidth.bind(this));
|
|
172
|
+
|
|
173
|
+
// Ignored via go/ees005
|
|
174
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
166
175
|
this.eventDispatcher.on(tablePluginKey.key, this.onTablePluginState.bind(this));
|
|
167
176
|
this.listening = true;
|
|
177
|
+
|
|
178
|
+
// Ignored via go/ees005
|
|
179
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
168
180
|
this.dom.addEventListener('wheel', this.headerRowMouseScroll.bind(this), {
|
|
169
181
|
passive: true
|
|
170
182
|
});
|
|
183
|
+
// Ignored via go/ees005
|
|
184
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
171
185
|
this.dom.addEventListener('touchmove', this.headerRowMouseScroll.bind(this), {
|
|
172
186
|
passive: true
|
|
173
187
|
});
|
|
@@ -192,9 +206,16 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
192
206
|
this.resizeObserver.disconnect();
|
|
193
207
|
}
|
|
194
208
|
this.eventDispatcher.off('widthPlugin', this.updateStickyHeaderWidth);
|
|
209
|
+
// Ignored via go/ees005
|
|
210
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
195
211
|
this.eventDispatcher.off(tablePluginKey.key, this.onTablePluginState);
|
|
196
212
|
this.listening = false;
|
|
213
|
+
|
|
214
|
+
// Ignored via go/ees005
|
|
215
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
197
216
|
this.dom.removeEventListener('wheel', this.headerRowMouseScroll);
|
|
217
|
+
// Ignored via go/ees005
|
|
218
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
198
219
|
this.dom.removeEventListener('touchmove', this.headerRowMouseScroll);
|
|
199
220
|
}
|
|
200
221
|
|
|
@@ -214,6 +235,8 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
214
235
|
}
|
|
215
236
|
this.resizeObserver.observe(this.dom);
|
|
216
237
|
if (this.editorScrollableElement) {
|
|
238
|
+
// Ignored via go/ees005
|
|
239
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
217
240
|
this.resizeObserver.observe(this.editorScrollableElement);
|
|
218
241
|
}
|
|
219
242
|
window.requestAnimationFrame(function () {
|
|
@@ -221,12 +244,18 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
221
244
|
// we expect tree to be defined after animation frame
|
|
222
245
|
var tableContainer = (_getTree = getTree(_this2.dom)) === null || _getTree === void 0 ? void 0 : _getTree.wrapper.closest(".".concat(TableCssClassName.NODEVIEW_WRAPPER));
|
|
223
246
|
if (tableContainer) {
|
|
247
|
+
// Ignored via go/ees005
|
|
248
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
224
249
|
_this2.sentinels.top = tableContainer.getElementsByClassName(ClassName.TABLE_STICKY_SENTINEL_TOP).item(0);
|
|
250
|
+
// Ignored via go/ees005
|
|
251
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
225
252
|
_this2.sentinels.bottom = tableContainer.getElementsByClassName(ClassName.TABLE_STICKY_SENTINEL_BOTTOM).item(0);
|
|
226
253
|
[_this2.sentinels.top, _this2.sentinels.bottom].forEach(function (el) {
|
|
227
254
|
// skip if already observed for another row on this table
|
|
228
255
|
if (el && !el.dataset.isObserved) {
|
|
229
256
|
el.dataset.isObserved = 'true';
|
|
257
|
+
// Ignored via go/ees005
|
|
258
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
230
259
|
_this2.intersectionObserver.observe(el);
|
|
231
260
|
}
|
|
232
261
|
});
|
|
@@ -250,10 +279,15 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
250
279
|
var _this3$editorScrollab;
|
|
251
280
|
// On resize of the parent scroll element we need to adjust the width
|
|
252
281
|
// of the sticky header
|
|
282
|
+
// Ignored via go/ees005
|
|
283
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
253
284
|
if (entry.target.className === ((_this3$editorScrollab = _this3.editorScrollableElement) === null || _this3$editorScrollab === void 0 ? void 0 : _this3$editorScrollab.className)) {
|
|
254
285
|
_this3.updateStickyHeaderWidth();
|
|
255
286
|
} else {
|
|
256
|
-
var newHeight = entry.contentRect ? entry.contentRect.height :
|
|
287
|
+
var newHeight = entry.contentRect ? entry.contentRect.height :
|
|
288
|
+
// Ignored via go/ees005
|
|
289
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
290
|
+
entry.target.offsetHeight;
|
|
257
291
|
if (_this3.sentinels.bottom &&
|
|
258
292
|
// When the table header is sticky, it would be taller by a 1px (border-bottom),
|
|
259
293
|
// So we adding this check to allow a 1px difference.
|
|
@@ -402,11 +436,15 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
402
436
|
if (layoutContainer && layoutContainer.getAttribute('data-layout-content')) {
|
|
403
437
|
// move table a little out of the way
|
|
404
438
|
// to provide spacing for table controls
|
|
439
|
+
// Ignored via go/ees005
|
|
440
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
405
441
|
tableContentWrapper.style.paddingLeft = '11px';
|
|
406
442
|
}
|
|
407
443
|
} else {
|
|
408
444
|
this.colControlsOffset = 0;
|
|
409
445
|
if (layoutContainer && layoutContainer.getAttribute('data-layout-content')) {
|
|
446
|
+
// Ignored via go/ees005
|
|
447
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
410
448
|
tableContentWrapper.style.removeProperty('padding-left');
|
|
411
449
|
}
|
|
412
450
|
}
|
|
@@ -479,6 +517,8 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
479
517
|
* detaches from the table. This typically happens during a fast scroll by the user which causes
|
|
480
518
|
* the intersection observer logic to not fire as expected.
|
|
481
519
|
*/
|
|
520
|
+
// Ignored via go/ees005
|
|
521
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
482
522
|
(_this$editorScrollabl = this.editorScrollableElement) === null || _this$editorScrollabl === void 0 || _this$editorScrollabl.addEventListener('scrollend', this.refireIntersectionObservers, {
|
|
483
523
|
passive: true,
|
|
484
524
|
once: true
|
|
@@ -546,6 +586,8 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
546
586
|
}
|
|
547
587
|
this.top = top;
|
|
548
588
|
this.padding = padding;
|
|
589
|
+
// Ignored via go/ees005
|
|
590
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
549
591
|
var pos = this.getPos();
|
|
550
592
|
if (Number.isFinite(pos)) {
|
|
551
593
|
updateStickyState({
|
|
@@ -564,6 +606,8 @@ var TableRow = /*#__PURE__*/function (_TableNodeView) {
|
|
|
564
606
|
}
|
|
565
607
|
this.top = 0;
|
|
566
608
|
this.padding = 0;
|
|
609
|
+
// Ignored via go/ees005
|
|
610
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
567
611
|
var pos = this.getPos();
|
|
568
612
|
if (!isEditorDestroyed && Number.isFinite(pos)) {
|
|
569
613
|
updateStickyState({
|
|
@@ -29,6 +29,8 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
|
|
|
29
29
|
key: "dispose",
|
|
30
30
|
value: function dispose() {
|
|
31
31
|
if (this.stickyScrollbarContainerElement) {
|
|
32
|
+
// Ignored via go/ees005
|
|
33
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
32
34
|
this.stickyScrollbarContainerElement.removeEventListener('scroll', this.handleScroll);
|
|
33
35
|
}
|
|
34
36
|
this.deleteIntersectionObserver();
|
|
@@ -49,6 +51,8 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
|
|
|
49
51
|
}
|
|
50
52
|
this.stickyScrollbarContainerElement = (_this$wrapper$parentE = this.wrapper.parentElement) === null || _this$wrapper$parentE === void 0 ? void 0 : _this$wrapper$parentE.querySelector(".".concat(ClassName.TABLE_STICKY_SCROLLBAR_CONTAINER));
|
|
51
53
|
if (this.stickyScrollbarContainerElement) {
|
|
54
|
+
// Ignored via go/ees005
|
|
55
|
+
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
52
56
|
this.stickyScrollbarContainerElement.addEventListener('scroll', this.handleScroll, {
|
|
53
57
|
passive: true
|
|
54
58
|
});
|
|
@@ -61,7 +65,10 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
|
|
|
61
65
|
var _this2 = this,
|
|
62
66
|
_this$wrapper,
|
|
63
67
|
_this$wrapper2;
|
|
64
|
-
this.editorScrollableElement =
|
|
68
|
+
this.editorScrollableElement =
|
|
69
|
+
// Ignored via go/ees005
|
|
70
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
71
|
+
findOverflowScrollParent(this.view.dom) || window.document;
|
|
65
72
|
if (!this.editorScrollableElement || !this.wrapper) {
|
|
66
73
|
return;
|
|
67
74
|
}
|
|
@@ -71,6 +78,8 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
|
|
|
71
78
|
}
|
|
72
79
|
entries.forEach(function (entry) {
|
|
73
80
|
var _entry$rootBounds;
|
|
81
|
+
// Ignored via go/ees005
|
|
82
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
74
83
|
var target = entry.target;
|
|
75
84
|
// if the rootBounds has 0 height, e.g. confluence preview mode, we do nothing.
|
|
76
85
|
if (((_entry$rootBounds = entry.rootBounds) === null || _entry$rootBounds === void 0 ? void 0 : _entry$rootBounds.height) === 0) {
|
|
@@ -86,10 +95,20 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
|
|
|
86
95
|
}, {
|
|
87
96
|
root: this.editorScrollableElement
|
|
88
97
|
});
|
|
98
|
+
|
|
99
|
+
// Ignored via go/ees005
|
|
100
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
89
101
|
this.sentinels.bottom = (_this$wrapper = this.wrapper) === null || _this$wrapper === void 0 || (_this$wrapper = _this$wrapper.parentElement) === null || _this$wrapper === void 0 || (_this$wrapper = _this$wrapper.getElementsByClassName(ClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper === void 0 ? void 0 : _this$wrapper.item(0);
|
|
102
|
+
|
|
103
|
+
// Ignored via go/ees005
|
|
104
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
90
105
|
this.sentinels.top = (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.parentElement) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.getElementsByClassName(ClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_TOP)) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.item(0);
|
|
91
106
|
[this.sentinels.bottom, this.sentinels.top].forEach(function (el) {
|
|
92
|
-
return
|
|
107
|
+
return (
|
|
108
|
+
// Ignored via go/ees005
|
|
109
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
110
|
+
_this2.intersectionObserver.observe(el)
|
|
111
|
+
);
|
|
93
112
|
});
|
|
94
113
|
}
|
|
95
114
|
}, {
|