@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
|
@@ -19,8 +19,11 @@ var _commands = require("../pm-plugins/commands");
|
|
|
19
19
|
var _pluginFactory = require("../pm-plugins/drag-and-drop/plugin-factory");
|
|
20
20
|
var _pluginFactory2 = require("../pm-plugins/plugin-factory");
|
|
21
21
|
var _pluginFactory3 = require("../pm-plugins/table-resizing/plugin-factory");
|
|
22
|
-
var
|
|
23
|
-
var
|
|
22
|
+
var _deleteColumns = require("../pm-plugins/transforms/delete-columns");
|
|
23
|
+
var _deleteRows = require("../pm-plugins/transforms/delete-rows");
|
|
24
|
+
var _analytics2 = require("../pm-plugins/utils/analytics");
|
|
25
|
+
var _columnControls = require("../pm-plugins/utils/column-controls");
|
|
26
|
+
var _dom = require("../pm-plugins/utils/dom");
|
|
24
27
|
var _getAllowAddColumnCustomStep = require("../pm-plugins/utils/get-allow-add-column-custom-step");
|
|
25
28
|
var _types = require("../types");
|
|
26
29
|
var isFocusingCalendar = function isFocusingCalendar(event) {
|
|
@@ -61,9 +64,16 @@ var handleClick = exports.handleClick = function handleClick(view, event) {
|
|
|
61
64
|
return false;
|
|
62
65
|
}
|
|
63
66
|
var element = event.target;
|
|
67
|
+
// Ignored via go/ees005
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
64
69
|
var table = (0, _utils2.findTable)(view.state.selection);
|
|
65
|
-
|
|
66
|
-
|
|
70
|
+
|
|
71
|
+
// Ignored via go/ees005
|
|
72
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
73
|
+
if (event instanceof MouseEvent && (0, _dom.isColumnControlsDecorations)(element)) {
|
|
74
|
+
// Ignored via go/ees005
|
|
75
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
76
|
+
var _getColumnOrRowIndex = (0, _dom.getColumnOrRowIndex)(element),
|
|
67
77
|
_getColumnOrRowIndex2 = (0, _slicedToArray2.default)(_getColumnOrRowIndex, 1),
|
|
68
78
|
startIndex = _getColumnOrRowIndex2[0];
|
|
69
79
|
var state = view.state,
|
|
@@ -73,14 +83,24 @@ var handleClick = exports.handleClick = function handleClick(view, event) {
|
|
|
73
83
|
var matchfn = element.matches ? element.matches : element.msMatchesSelector;
|
|
74
84
|
|
|
75
85
|
// check if the table cell with an image is clicked and its not the image itself
|
|
76
|
-
if (!table ||
|
|
86
|
+
if (!table ||
|
|
87
|
+
// Ignored via go/ees005
|
|
88
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
89
|
+
!(0, _utils.isElementInTableCell)(element) || !matchfn || matchfn.call(element, 'table .image, table p, table .image div')) {
|
|
77
90
|
return false;
|
|
78
91
|
}
|
|
79
92
|
var map = _tableMap.TableMap.get(table.node);
|
|
80
93
|
|
|
81
94
|
/** Getting the offset of current item clicked */
|
|
82
|
-
|
|
95
|
+
// Ignored via go/ees005
|
|
96
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
97
|
+
var colElement = (0, _utils.closestElement)(element, 'td') ||
|
|
98
|
+
// Ignored via go/ees005
|
|
99
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
100
|
+
(0, _utils.closestElement)(element, 'th');
|
|
83
101
|
var colIndex = colElement && colElement.cellIndex;
|
|
102
|
+
// Ignored via go/ees005
|
|
103
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
84
104
|
var rowElement = (0, _utils.closestElement)(element, 'tr');
|
|
85
105
|
var rowIndex = rowElement && rowElement.rowIndex;
|
|
86
106
|
var cellIndex = map.width * rowIndex + colIndex;
|
|
@@ -113,27 +133,27 @@ var handleMouseOver = exports.handleMouseOver = function handleMouseOver(view, m
|
|
|
113
133
|
insertColumnButtonIndex = _getPluginState.insertColumnButtonIndex,
|
|
114
134
|
insertRowButtonIndex = _getPluginState.insertRowButtonIndex,
|
|
115
135
|
isTableHovered = _getPluginState.isTableHovered;
|
|
116
|
-
if ((0,
|
|
117
|
-
var _getColumnOrRowIndex3 = (0,
|
|
136
|
+
if ((0, _dom.isInsertRowButton)(target)) {
|
|
137
|
+
var _getColumnOrRowIndex3 = (0, _dom.getColumnOrRowIndex)(target),
|
|
118
138
|
_getColumnOrRowIndex4 = (0, _slicedToArray2.default)(_getColumnOrRowIndex3, 2),
|
|
119
139
|
startIndex = _getColumnOrRowIndex4[0],
|
|
120
140
|
endIndex = _getColumnOrRowIndex4[1];
|
|
121
|
-
var positionRow = (0,
|
|
141
|
+
var positionRow = (0, _dom.getMousePositionVerticalRelativeByElement)(mouseEvent) === 'bottom' ? endIndex : startIndex;
|
|
122
142
|
return (0, _commands.showInsertRowButton)(positionRow)(state, dispatch);
|
|
123
143
|
}
|
|
124
|
-
if ((0,
|
|
125
|
-
var _getColumnOrRowIndex5 = (0,
|
|
144
|
+
if ((0, _dom.isColumnControlsDecorations)(target)) {
|
|
145
|
+
var _getColumnOrRowIndex5 = (0, _dom.getColumnOrRowIndex)(target),
|
|
126
146
|
_getColumnOrRowIndex6 = (0, _slicedToArray2.default)(_getColumnOrRowIndex5, 1),
|
|
127
147
|
_startIndex = _getColumnOrRowIndex6[0];
|
|
128
148
|
var _state = view.state,
|
|
129
149
|
_dispatch2 = view.dispatch;
|
|
130
150
|
return (0, _commands.hoverColumns)([_startIndex], false)(_state, _dispatch2);
|
|
131
151
|
}
|
|
132
|
-
if (((0,
|
|
152
|
+
if (((0, _dom.isCell)(target) || (0, _dom.isCornerButton)(target)) && (typeof insertColumnButtonIndex === 'number' || typeof insertRowButtonIndex === 'number')) {
|
|
133
153
|
return (0, _commands.hideInsertColumnOrRowButton)()(state, dispatch);
|
|
134
154
|
}
|
|
135
|
-
if ((0,
|
|
136
|
-
var _getColumnOrRowIndex7 = (0,
|
|
155
|
+
if ((0, _dom.isResizeHandleDecoration)(target)) {
|
|
156
|
+
var _getColumnOrRowIndex7 = (0, _dom.getColumnOrRowIndex)(target),
|
|
137
157
|
_getColumnOrRowIndex8 = (0, _slicedToArray2.default)(_getColumnOrRowIndex7, 2),
|
|
138
158
|
_startIndex2 = _getColumnOrRowIndex8[0],
|
|
139
159
|
_endIndex = _getColumnOrRowIndex8[1];
|
|
@@ -173,7 +193,7 @@ var handleMouseUp = exports.handleMouseUp = function handleMouseUp(view, mouseEv
|
|
|
173
193
|
// Ignore any `mousedown` `event` from control and numbered column buttons
|
|
174
194
|
// PM end up changing selection during shift selection if not prevented
|
|
175
195
|
var handleMouseDown = exports.handleMouseDown = function handleMouseDown(_, event) {
|
|
176
|
-
var isControl = !!(event.target && event.target instanceof HTMLElement && ((0,
|
|
196
|
+
var isControl = !!(event.target && event.target instanceof HTMLElement && ((0, _dom.isTableContainerOrWrapper)(event.target) || (0, _dom.isColumnControlsDecorations)(event.target) || (0, _dom.isRowControlsButton)(event.target) || (0, _dom.isDragCornerButton)(event.target)));
|
|
177
197
|
if (isControl) {
|
|
178
198
|
event.preventDefault();
|
|
179
199
|
}
|
|
@@ -184,7 +204,7 @@ var handleMouseOut = exports.handleMouseOut = function handleMouseOut(view, mous
|
|
|
184
204
|
return false;
|
|
185
205
|
}
|
|
186
206
|
var target = mouseEvent.target;
|
|
187
|
-
if ((0,
|
|
207
|
+
if ((0, _dom.isColumnControlsDecorations)(target)) {
|
|
188
208
|
var state = view.state,
|
|
189
209
|
dispatch = view.dispatch;
|
|
190
210
|
return (0, _commands.clearHoverSelection)()(state, dispatch);
|
|
@@ -192,7 +212,7 @@ var handleMouseOut = exports.handleMouseOut = function handleMouseOut(view, mous
|
|
|
192
212
|
var relatedTarget = mouseEvent.relatedTarget;
|
|
193
213
|
// In case the user is moving between cell at the same column
|
|
194
214
|
// we don't need to hide the resize handle decoration
|
|
195
|
-
if ((0,
|
|
215
|
+
if ((0, _dom.isResizeHandleDecoration)(target) && !(0, _dom.isResizeHandleDecoration)(relatedTarget)) {
|
|
196
216
|
var _state2 = view.state,
|
|
197
217
|
_dispatch3 = view.dispatch;
|
|
198
218
|
var _getPluginState3 = (0, _pluginFactory2.getPluginState)(_state2),
|
|
@@ -243,7 +263,7 @@ var handleMouseLeave = exports.handleMouseLeave = function handleMouseLeave(view
|
|
|
243
263
|
return false;
|
|
244
264
|
}
|
|
245
265
|
var target = event.target;
|
|
246
|
-
if ((0,
|
|
266
|
+
if ((0, _dom.isTableControlsButton)(target)) {
|
|
247
267
|
return true;
|
|
248
268
|
}
|
|
249
269
|
if ((typeof insertColumnButtonIndex !== 'undefined' || typeof insertRowButtonIndex !== 'undefined') && (0, _commands.hideInsertColumnOrRowButton)()(state, dispatch)) {
|
|
@@ -260,36 +280,36 @@ var handleMouseMoveDebounce = function handleMouseMoveDebounce(nodeViewPortalPro
|
|
|
260
280
|
return false;
|
|
261
281
|
}
|
|
262
282
|
var element = event.target;
|
|
263
|
-
if ((0,
|
|
283
|
+
if ((0, _dom.isColumnControlsDecorations)(element) || (0, _dom.isDragColumnFloatingInsertDot)(element)) {
|
|
264
284
|
var state = view.state,
|
|
265
285
|
dispatch = view.dispatch;
|
|
266
286
|
var _getPluginState6 = (0, _pluginFactory2.getPluginState)(state),
|
|
267
287
|
insertColumnButtonIndex = _getPluginState6.insertColumnButtonIndex;
|
|
268
|
-
var _getColumnOrRowIndex9 = (0,
|
|
288
|
+
var _getColumnOrRowIndex9 = (0, _dom.getColumnOrRowIndex)(element),
|
|
269
289
|
_getColumnOrRowIndex10 = (0, _slicedToArray2.default)(_getColumnOrRowIndex9, 2),
|
|
270
290
|
startIndex = _getColumnOrRowIndex10[0],
|
|
271
291
|
endIndex = _getColumnOrRowIndex10[1];
|
|
272
|
-
var positionColumn = (0,
|
|
292
|
+
var positionColumn = (0, _dom.getMousePositionHorizontalRelativeByElement)(event, offsetX, undefined) === 'right' ? endIndex : startIndex;
|
|
273
293
|
if (positionColumn !== insertColumnButtonIndex) {
|
|
274
294
|
return (0, _commands.showInsertColumnButton)(positionColumn)(state, dispatch);
|
|
275
295
|
}
|
|
276
296
|
}
|
|
277
|
-
if ((0,
|
|
297
|
+
if ((0, _dom.isRowControlsButton)(element) || (0, _dom.isDragRowFloatingInsertDot)(element)) {
|
|
278
298
|
var _state3 = view.state,
|
|
279
299
|
_dispatch4 = view.dispatch;
|
|
280
300
|
var _getPluginState7 = (0, _pluginFactory2.getPluginState)(_state3),
|
|
281
301
|
insertRowButtonIndex = _getPluginState7.insertRowButtonIndex;
|
|
282
|
-
var _getColumnOrRowIndex11 = (0,
|
|
302
|
+
var _getColumnOrRowIndex11 = (0, _dom.getColumnOrRowIndex)(element),
|
|
283
303
|
_getColumnOrRowIndex12 = (0, _slicedToArray2.default)(_getColumnOrRowIndex11, 2),
|
|
284
304
|
_startIndex3 = _getColumnOrRowIndex12[0],
|
|
285
305
|
_endIndex2 = _getColumnOrRowIndex12[1];
|
|
286
|
-
var positionRow = (0,
|
|
306
|
+
var positionRow = (0, _dom.getMousePositionVerticalRelativeByElement)(event) === 'bottom' ? _endIndex2 : _startIndex3;
|
|
287
307
|
if (positionRow !== insertRowButtonIndex) {
|
|
288
308
|
return (0, _commands.showInsertRowButton)(positionRow)(_state3, _dispatch4);
|
|
289
309
|
}
|
|
290
310
|
}
|
|
291
|
-
if (!(0,
|
|
292
|
-
var _positionColumn = (0,
|
|
311
|
+
if (!(0, _dom.isResizeHandleDecoration)(element) && (0, _dom.isCell)(element)) {
|
|
312
|
+
var _positionColumn = (0, _dom.getMousePositionHorizontalRelativeByElement)(event, offsetX, _types.RESIZE_HANDLE_AREA_DECORATION_GAP);
|
|
293
313
|
if (_positionColumn !== null) {
|
|
294
314
|
var _state4 = view.state,
|
|
295
315
|
_dispatch5 = view.dispatch;
|
|
@@ -303,7 +323,7 @@ var handleMouseMoveDebounce = function handleMouseMoveDebounce(nodeViewPortalPro
|
|
|
303
323
|
if (rect) {
|
|
304
324
|
var columnEndIndexTarget = _positionColumn === 'left' ? rect.left : rect.right;
|
|
305
325
|
var rowIndexTarget = rect.top;
|
|
306
|
-
if ((columnEndIndexTarget !== resizeHandleColumnIndex || rowIndexTarget !== resizeHandleRowIndex || !(0,
|
|
326
|
+
if ((columnEndIndexTarget !== resizeHandleColumnIndex || rowIndexTarget !== resizeHandleRowIndex || !(0, _dom.hasResizeHandler)({
|
|
307
327
|
target: element,
|
|
308
328
|
columnEndIndexTarget: columnEndIndexTarget
|
|
309
329
|
})) && !isKeyboardResize // if initiated by keyboard don't need to react on hover for other resize sliders
|
|
@@ -363,7 +383,7 @@ var handleCut = exports.handleCut = function handleCut(oldTr, oldState, newState
|
|
|
363
383
|
if (tr.selection instanceof _cellSelection.CellSelection) {
|
|
364
384
|
var rect = (0, _utils2.getSelectionRect)(cellSelection);
|
|
365
385
|
if (rect) {
|
|
366
|
-
var _getSelectedCellInfo = (0,
|
|
386
|
+
var _getSelectedCellInfo = (0, _analytics2.getSelectedCellInfo)(tr.selection),
|
|
367
387
|
verticalCells = _getSelectedCellInfo.verticalCells,
|
|
368
388
|
horizontalCells = _getSelectedCellInfo.horizontalCells,
|
|
369
389
|
totalCells = _getSelectedCellInfo.totalCells,
|
|
@@ -393,9 +413,9 @@ var handleCut = exports.handleCut = function handleCut(oldTr, oldState, newState
|
|
|
393
413
|
} else if (tr.selection.isRowSelection()) {
|
|
394
414
|
var _getPluginState9 = (0, _pluginFactory2.getPluginState)(newState),
|
|
395
415
|
isHeaderRowRequired = _getPluginState9.pluginConfig.isHeaderRowRequired;
|
|
396
|
-
tr = (0,
|
|
416
|
+
tr = (0, _deleteRows.deleteRows)(rect, isHeaderRowRequired)(tr);
|
|
397
417
|
} else if (tr.selection.isColSelection()) {
|
|
398
|
-
tr = (0,
|
|
418
|
+
tr = (0, _deleteColumns.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(oldState), api, editorView, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(tr);
|
|
399
419
|
}
|
|
400
420
|
}
|
|
401
421
|
}
|
|
@@ -429,10 +449,15 @@ var whenTableInFocus = exports.whenTableInFocus = function whenTableInFocus(even
|
|
|
429
449
|
var trackCellLocation = function trackCellLocation(view, mouseEvent) {
|
|
430
450
|
var _tableElement$dataset;
|
|
431
451
|
var target = mouseEvent.target;
|
|
452
|
+
// Ignored via go/ees005
|
|
453
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
432
454
|
var maybeTableCell = (0, _utils.isElementInTableCell)(target);
|
|
433
455
|
var _getPluginState11 = (0, _pluginFactory2.getPluginState)(view.state),
|
|
434
456
|
tableNode = _getPluginState11.tableNode,
|
|
435
457
|
tableRef = _getPluginState11.tableRef;
|
|
458
|
+
|
|
459
|
+
// Ignored via go/ees005
|
|
460
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
436
461
|
var tableElement = (0, _utils.closestElement)(target, 'table');
|
|
437
462
|
|
|
438
463
|
// hover will only trigger if target localId is the same with selected localId
|
|
@@ -443,13 +468,15 @@ var trackCellLocation = function trackCellLocation(view, mouseEvent) {
|
|
|
443
468
|
return;
|
|
444
469
|
}
|
|
445
470
|
var htmlColIndex = maybeTableCell.cellIndex;
|
|
471
|
+
// Ignored via go/ees005
|
|
472
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
446
473
|
var rowElement = (0, _utils.closestElement)(target, 'tr');
|
|
447
474
|
var htmlRowIndex = rowElement && rowElement.rowIndex;
|
|
448
475
|
var tableMap = tableNode && _tableMap.TableMap.get(tableNode);
|
|
449
476
|
var colIndex = htmlColIndex;
|
|
450
477
|
if (tableMap) {
|
|
451
|
-
var convertedColIndex = (0,
|
|
452
|
-
colIndex = (0,
|
|
478
|
+
var convertedColIndex = (0, _columnControls.convertHTMLCellIndexToColumnIndex)(htmlColIndex, htmlRowIndex, tableMap);
|
|
479
|
+
colIndex = (0, _columnControls.getColumnIndexMappedToColumnIndexInFirstRow)(convertedColIndex, htmlRowIndex, tableMap);
|
|
453
480
|
}
|
|
454
481
|
(0, _commands.hoverCell)(htmlRowIndex, colIndex)(view.state, view.dispatch);
|
|
455
482
|
};
|
|
@@ -14,5 +14,7 @@ var SortingIconWrapper = exports.SortingIconWrapper = function SortingIconWrappe
|
|
|
14
14
|
if ((editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode) === 'edit') {
|
|
15
15
|
return null;
|
|
16
16
|
}
|
|
17
|
+
// Ignored via go/ees005
|
|
18
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
17
19
|
return /*#__PURE__*/_react.default.createElement(_table.SortingIcon, props);
|
|
18
20
|
};
|
package/dist/cjs/ui/toolbar.js
CHANGED
|
@@ -36,13 +36,15 @@ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
|
36
36
|
var _commands = require("../pm-plugins/commands");
|
|
37
37
|
var _commandsWithAnalytics = require("../pm-plugins/commands/commands-with-analytics");
|
|
38
38
|
var _pluginFactory = require("../pm-plugins/plugin-factory");
|
|
39
|
-
var
|
|
39
|
+
var _pluginKey = require("../pm-plugins/table-resizing/plugin-key");
|
|
40
40
|
var _misc = require("../pm-plugins/table-resizing/utils/misc");
|
|
41
41
|
var _resizeState = require("../pm-plugins/table-resizing/utils/resize-state");
|
|
42
42
|
var _tableWidth = require("../pm-plugins/table-width");
|
|
43
|
-
var
|
|
44
|
-
var _utils4 = require("../pm-plugins/utils");
|
|
43
|
+
var _merge = require("../pm-plugins/transforms/merge");
|
|
45
44
|
var _alignment = require("../pm-plugins/utils/alignment");
|
|
45
|
+
var _nodes = require("../pm-plugins/utils/nodes");
|
|
46
|
+
var _selection = require("../pm-plugins/utils/selection");
|
|
47
|
+
var _table = require("../pm-plugins/utils/table");
|
|
46
48
|
var _types = require("../types");
|
|
47
49
|
var _FloatingAlignmentButtons = require("./FloatingAlignmentButtons/FloatingAlignmentButtons");
|
|
48
50
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -233,7 +235,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
|
|
|
233
235
|
title: formatMessage(_messages.tableMessages.mergeCells),
|
|
234
236
|
onClick: (0, _commandsWithAnalytics.mergeCellsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.FLOATING_TB),
|
|
235
237
|
selected: false,
|
|
236
|
-
disabled: !(0,
|
|
238
|
+
disabled: !(0, _merge.canMergeCells)(editorState.tr)
|
|
237
239
|
}, {
|
|
238
240
|
id: 'editor.table.splitCell',
|
|
239
241
|
title: formatMessage(_messages.tableMessages.splitCell),
|
|
@@ -262,13 +264,13 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
|
|
|
262
264
|
});
|
|
263
265
|
}
|
|
264
266
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo2 = pluginState.pluginConfig) !== null && _pluginState$pluginCo2 !== void 0 && _pluginState$pluginCo2.allowColumnSorting) {
|
|
265
|
-
var hasMergedCellsInTable = (0,
|
|
267
|
+
var hasMergedCellsInTable = (0, _table.getMergedCellsPositions)(editorState.tr).length > 0;
|
|
266
268
|
var warning = hasMergedCellsInTable ? formatMessage(_messages.tableMessages.canNotSortTable) : undefined;
|
|
267
269
|
options.push({
|
|
268
270
|
id: 'editor.table.sortColumnAsc',
|
|
269
271
|
title: formatMessage(_messages.tableMessages.sortColumnASC),
|
|
270
272
|
onMouseOver: function onMouseOver(state, dispatch) {
|
|
271
|
-
if ((0,
|
|
273
|
+
if ((0, _table.getMergedCellsPositions)(state.tr).length !== 0) {
|
|
272
274
|
(0, _commands.hoverMergedCells)()(state, dispatch);
|
|
273
275
|
return true;
|
|
274
276
|
}
|
|
@@ -290,7 +292,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
|
|
|
290
292
|
id: 'editor.table.sortColumnDesc',
|
|
291
293
|
title: formatMessage(_messages.tableMessages.sortColumnDESC),
|
|
292
294
|
onMouseOver: function onMouseOver(state, dispatch) {
|
|
293
|
-
if ((0,
|
|
295
|
+
if ((0, _table.getMergedCellsPositions)(state.tr).length !== 0) {
|
|
294
296
|
(0, _commands.hoverMergedCells)()(state, dispatch);
|
|
295
297
|
return true;
|
|
296
298
|
}
|
|
@@ -340,7 +342,10 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
|
|
|
340
342
|
};
|
|
341
343
|
var getClosestSelectionRect = exports.getClosestSelectionRect = function getClosestSelectionRect(state) {
|
|
342
344
|
var selection = state.selection;
|
|
343
|
-
return (0, _utils3.isSelectionType)(selection, 'cell') ?
|
|
345
|
+
return (0, _utils3.isSelectionType)(selection, 'cell') ?
|
|
346
|
+
// Ignored via go/ees005
|
|
347
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
348
|
+
(0, _utils3.getSelectionRect)(selection) : (0, _utils3.findCellRectClosestToPos)(selection.$from);
|
|
344
349
|
};
|
|
345
350
|
var getClosestSelectionOrTableRect = function getClosestSelectionOrTableRect(state) {
|
|
346
351
|
var selection = state.selection;
|
|
@@ -350,6 +355,9 @@ var getClosestSelectionOrTableRect = function getClosestSelectionOrTableRect(sta
|
|
|
350
355
|
}
|
|
351
356
|
var map = _tableMap.TableMap.get(tableObject.node);
|
|
352
357
|
var tableRect = new _tableMap.Rect(0, 0, map.width, map.height);
|
|
358
|
+
|
|
359
|
+
// Ignored via go/ees005
|
|
360
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
353
361
|
return (0, _utils3.isSelectionType)(selection, 'cell') ? (0, _utils3.getSelectionRect)(selection) : tableRect;
|
|
354
362
|
};
|
|
355
363
|
var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getEditorContainerWidth, api, editorAnalyticsAPI, getEditorFeatureFlags, getEditorView, options) {
|
|
@@ -359,7 +367,7 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
359
367
|
return function (state, intl) {
|
|
360
368
|
var tableObject = (0, _utils3.findTable)(state.selection);
|
|
361
369
|
var pluginState = (0, _pluginFactory.getPluginState)(state);
|
|
362
|
-
var resizeState =
|
|
370
|
+
var resizeState = _pluginKey.pluginKey.getState(state);
|
|
363
371
|
var tableWidthState = _tableWidth.pluginKey.getState(state);
|
|
364
372
|
var isTableScalingEnabled = (options === null || options === void 0 ? void 0 : options.isTableScalingEnabled) || false;
|
|
365
373
|
|
|
@@ -370,7 +378,7 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
370
378
|
var shouldHideToolbarForInternalColumnWidth = Boolean((options === null || options === void 0 ? void 0 : options.isNewColumnResizingEnabled) && resizeState && resizeState.dragging);
|
|
371
379
|
if (tableObject && pluginState.editorHasFocus && !isWidthResizing && !shouldHideToolbarForInternalColumnWidth) {
|
|
372
380
|
var nodeType = state.schema.nodes.table;
|
|
373
|
-
var isNested = pluginState.tablePos && (0,
|
|
381
|
+
var isNested = pluginState.tablePos && (0, _nodes.isTableNested)(state, pluginState.tablePos);
|
|
374
382
|
var isTableScalingWithFixedColumnWidthsOptionShown = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled && !isNested;
|
|
375
383
|
var areTableColumWidthsFixed = tableObject.node.attrs.displayMode === 'fixed';
|
|
376
384
|
var editorView = getEditorView();
|
|
@@ -379,7 +387,10 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
379
387
|
var domAtPos = editorView.domAtPos.bind(editorView);
|
|
380
388
|
var parent = (0, _utils2.findParentDomRefOfType)(nodeType, domAtPos)(state.selection);
|
|
381
389
|
if (parent) {
|
|
382
|
-
var tableRef =
|
|
390
|
+
var tableRef =
|
|
391
|
+
// Ignored via go/ees005
|
|
392
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
393
|
+
parent.querySelector('table') || undefined;
|
|
383
394
|
if (tableRef) {
|
|
384
395
|
element = (0, _utils.closestElement)(tableRef, ".".concat(_types.TableCssClassName.TABLE_NODE_WRAPPER)) || undefined;
|
|
385
396
|
}
|
|
@@ -483,6 +494,8 @@ var getCellItems = function getCellItems(state, view, _ref3, getEditorContainerW
|
|
|
483
494
|
var cellOptions = getToolbarCellOptionsConfig(state, view, initialSelectionRect, {
|
|
484
495
|
formatMessage: formatMessage
|
|
485
496
|
}, getEditorContainerWidth, api, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor);
|
|
497
|
+
// Ignored via go/ees005
|
|
498
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
486
499
|
return [cellOptions, separator(cellOptions.hidden)];
|
|
487
500
|
}
|
|
488
501
|
return [];
|
|
@@ -541,7 +554,10 @@ var getColumnSettingItems = function getColumnSettingItems(editorState, editorVi
|
|
|
541
554
|
}
|
|
542
555
|
return items;
|
|
543
556
|
};
|
|
544
|
-
var getColorPicker = function getColorPicker(state, menu, _ref5, editorAnalyticsAPI, getEditorView
|
|
557
|
+
var getColorPicker = function getColorPicker(state, menu, _ref5, editorAnalyticsAPI, getEditorView
|
|
558
|
+
// Ignored via go/ees005
|
|
559
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
560
|
+
) {
|
|
545
561
|
var _node$attrs;
|
|
546
562
|
var formatMessage = _ref5.formatMessage;
|
|
547
563
|
var _getPluginState2 = (0, _pluginFactory.getPluginState)(state),
|
|
@@ -568,6 +584,8 @@ var getColorPicker = function getColorPicker(state, menu, _ref5, editorAnalytics
|
|
|
568
584
|
defaultValue: defaultPalette,
|
|
569
585
|
options: _uiColor.cellBackgroundColorPalette,
|
|
570
586
|
returnEscToButton: true,
|
|
587
|
+
// Ignored via go/ees005
|
|
588
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
571
589
|
onChange: function onChange(option) {
|
|
572
590
|
return (0, _commandsWithAnalytics.setColorWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.FLOATING_TB, option.value, getEditorView());
|
|
573
591
|
}
|
|
@@ -589,7 +607,7 @@ var clickWithCheckboxHandler = function clickWithCheckboxHandler(isChecked, node
|
|
|
589
607
|
var highlightRowsHandler = function highlightRowsHandler(state, dispatch) {
|
|
590
608
|
var selectionRect = getClosestSelectionRect(state);
|
|
591
609
|
if (selectionRect) {
|
|
592
|
-
(0, _commands.hoverRows)((0,
|
|
610
|
+
(0, _commands.hoverRows)((0, _selection.getSelectedRowIndexes)(selectionRect), true)(state, dispatch);
|
|
593
611
|
return true;
|
|
594
612
|
}
|
|
595
613
|
return false;
|
|
@@ -597,12 +615,15 @@ var highlightRowsHandler = function highlightRowsHandler(state, dispatch) {
|
|
|
597
615
|
var highlightColumnsHandler = function highlightColumnsHandler(state, dispatch) {
|
|
598
616
|
var selectionRect = getClosestSelectionRect(state);
|
|
599
617
|
if (selectionRect) {
|
|
600
|
-
(0, _commands.hoverColumns)((0,
|
|
618
|
+
(0, _commands.hoverColumns)((0, _selection.getSelectedColumnIndexes)(selectionRect), true)(state, dispatch);
|
|
601
619
|
return true;
|
|
602
620
|
}
|
|
603
621
|
return false;
|
|
604
622
|
};
|
|
605
|
-
var getAlignmentOptionsConfig = function getAlignmentOptionsConfig(editorState, _ref6, editorAnalyticsAPI, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent, isFullWidthEditor, isCommentEditor
|
|
623
|
+
var getAlignmentOptionsConfig = function getAlignmentOptionsConfig(editorState, _ref6, editorAnalyticsAPI, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent, isFullWidthEditor, isCommentEditor
|
|
624
|
+
// Ignored via go/ees005
|
|
625
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
626
|
+
) {
|
|
606
627
|
var formatMessage = _ref6.formatMessage;
|
|
607
628
|
var tableObject = (0, _utils3.findTable)(editorState.selection);
|
|
608
629
|
if (!tableObject) {
|
|
@@ -657,6 +678,8 @@ var getAlignmentOptionsConfig = function getAlignmentOptionsConfig(editorState,
|
|
|
657
678
|
render: function render(props) {
|
|
658
679
|
return (0, _react.jsx)(_FloatingAlignmentButtons.FloatingAlignmentButtons, (0, _extends2.default)({
|
|
659
680
|
alignmentButtons: alignmentButtons
|
|
681
|
+
// Ignored via go/ees005
|
|
682
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
660
683
|
}, props));
|
|
661
684
|
},
|
|
662
685
|
width: 60,
|
|
@@ -679,7 +702,10 @@ var getSelectedAlignmentIcon = function getSelectedAlignmentIcon(alignmentIcons,
|
|
|
679
702
|
return icon.value === (0, _alignment.normaliseAlignment)(selectedAlignment);
|
|
680
703
|
});
|
|
681
704
|
};
|
|
682
|
-
var isLayoutOptionDisabled = function isLayoutOptionDisabled(selectedNode, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent, isFullWidthEditor
|
|
705
|
+
var isLayoutOptionDisabled = function isLayoutOptionDisabled(selectedNode, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent, isFullWidthEditor
|
|
706
|
+
// Ignored via go/ees005
|
|
707
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
708
|
+
) {
|
|
683
709
|
var _getEditorContainerWi = getEditorContainerWidth(),
|
|
684
710
|
lineLength = _getEditorContainerWi.lineLength;
|
|
685
711
|
var tableContainerWidth = (0, _nodeWidth.getTableContainerWidth)(selectedNode);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { tableMarginTop } from '@atlaskit/editor-common/styles';
|
|
3
3
|
import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
4
|
-
import { getColumnsWidths } from '../pm-plugins/utils';
|
|
4
|
+
import { getColumnsWidths } from '../pm-plugins/utils/column-controls';
|
|
5
5
|
import { dropTargetExtendedWidth, dropTargetsZIndex } from '../ui/consts';
|
|
6
6
|
import { ColumnDropTarget } from '../ui/TableFloatingColumnControls/ColumnDropTargets/ColumnDropTarget';
|
|
7
7
|
export const ExternalDropTargets = ({
|
|
@@ -60,7 +60,10 @@ export const ExternalDropTargets = ({
|
|
|
60
60
|
marginLeft: `-${getScrollOffset()}px`
|
|
61
61
|
}
|
|
62
62
|
}, colWidths === null || colWidths === void 0 ? void 0 : colWidths.map((width, index) => {
|
|
63
|
-
return /*#__PURE__*/React.createElement(ColumnDropTarget
|
|
63
|
+
return /*#__PURE__*/React.createElement(ColumnDropTarget
|
|
64
|
+
// Ignored via go/ees005
|
|
65
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
66
|
+
, {
|
|
64
67
|
key: index,
|
|
65
68
|
index: index,
|
|
66
69
|
localId: currentNodeLocalId,
|
|
@@ -21,8 +21,13 @@ function delayUntilIdle(cb) {
|
|
|
21
21
|
}
|
|
22
22
|
return window.requestAnimationFrame(() => cb());
|
|
23
23
|
}
|
|
24
|
+
|
|
25
|
+
// Ignored via go/ees005
|
|
26
|
+
// eslint-disable-next-line require-unicode-regexp
|
|
24
27
|
const cssVariablePattern = /^VAR\(--.*\)$/;
|
|
25
28
|
export default class TableCell extends TableNodeView {
|
|
29
|
+
// Ignored via go/ees005
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/max-params
|
|
26
31
|
constructor(node, view, getPos, eventDispatcher, editorAnalyticsAPI) {
|
|
27
32
|
super(node, view, getPos, eventDispatcher);
|
|
28
33
|
|