@atlaskit/editor-plugin-table 5.3.15 → 5.3.17
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 +14 -0
- package/dist/cjs/plugins/table/event-handlers.js +4 -3
- package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/plugin.js +1 -0
- package/dist/cjs/plugins/table/types.js +5 -3
- package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +5 -0
- package/dist/cjs/plugins/table/ui/TableFloatingColumnControls/ColumnControls/index.js +3 -11
- package/dist/cjs/plugins/table/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +2 -2
- package/dist/cjs/plugins/table/ui/TableFloatingColumnControls/index.js +1 -1
- package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +114 -0
- package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.js +60 -0
- package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/index.js +11 -112
- package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/types.js +5 -0
- package/dist/cjs/plugins/table/ui/TableFloatingControls/RowControls/DragControls.js +1 -7
- package/dist/cjs/plugins/table/ui/TableFloatingControls/index.js +7 -2
- package/dist/cjs/plugins/table/ui/common-styles.js +1 -1
- package/dist/cjs/plugins/table/ui/messages.js +5 -0
- package/dist/cjs/plugins/table/ui/ui-styles.js +28 -25
- package/dist/cjs/plugins/table/utils/dom.js +16 -7
- package/dist/cjs/plugins/table/utils/index.js +12 -6
- package/dist/es2019/plugins/table/event-handlers.js +5 -4
- package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/plugin.js +2 -1
- package/dist/es2019/plugins/table/types.js +5 -3
- package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +5 -0
- package/dist/es2019/plugins/table/ui/TableFloatingColumnControls/ColumnControls/index.js +3 -11
- package/dist/es2019/plugins/table/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +2 -2
- package/dist/es2019/plugins/table/ui/TableFloatingColumnControls/index.js +1 -1
- package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +93 -0
- package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.js +61 -0
- package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/index.js +2 -99
- package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/types.js +1 -0
- package/dist/es2019/plugins/table/ui/TableFloatingControls/RowControls/DragControls.js +1 -7
- package/dist/es2019/plugins/table/ui/TableFloatingControls/index.js +8 -3
- package/dist/es2019/plugins/table/ui/common-styles.js +8 -6
- package/dist/es2019/plugins/table/ui/messages.js +5 -0
- package/dist/es2019/plugins/table/ui/ui-styles.js +44 -3
- package/dist/es2019/plugins/table/utils/dom.js +13 -6
- package/dist/es2019/plugins/table/utils/index.js +1 -1
- package/dist/esm/plugins/table/event-handlers.js +5 -4
- package/dist/esm/plugins/table/pm-plugins/drag-and-drop/plugin.js +2 -1
- package/dist/esm/plugins/table/types.js +5 -3
- package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +5 -0
- package/dist/esm/plugins/table/ui/TableFloatingColumnControls/ColumnControls/index.js +3 -11
- package/dist/esm/plugins/table/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +2 -2
- package/dist/esm/plugins/table/ui/TableFloatingColumnControls/index.js +1 -1
- package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +104 -0
- package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.js +50 -0
- package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/index.js +2 -110
- package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/types.js +1 -0
- package/dist/esm/plugins/table/ui/TableFloatingControls/RowControls/DragControls.js +1 -7
- package/dist/esm/plugins/table/ui/TableFloatingControls/index.js +8 -3
- package/dist/esm/plugins/table/ui/common-styles.js +2 -2
- package/dist/esm/plugins/table/ui/messages.js +5 -0
- package/dist/esm/plugins/table/ui/ui-styles.js +27 -24
- package/dist/esm/plugins/table/utils/dom.js +15 -6
- package/dist/esm/plugins/table/utils/index.js +1 -1
- package/dist/types/plugins/table/types.d.ts +5 -3
- package/dist/types/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.d.ts +6 -0
- package/dist/types/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +6 -0
- package/dist/types/plugins/table/ui/TableFloatingControls/CornerControls/index.d.ts +2 -16
- package/dist/types/plugins/table/ui/TableFloatingControls/CornerControls/types.d.ts +11 -0
- package/dist/types/plugins/table/ui/messages.d.ts +5 -0
- package/dist/types/plugins/table/ui/ui-styles.d.ts +1 -0
- package/dist/types/plugins/table/utils/dom.d.ts +3 -2
- package/dist/types/plugins/table/utils/index.d.ts +1 -1
- package/dist/types-ts4.5/plugins/table/types.d.ts +5 -3
- package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.d.ts +6 -0
- package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +6 -0
- package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/index.d.ts +2 -16
- package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/types.d.ts +11 -0
- package/dist/types-ts4.5/plugins/table/ui/messages.d.ts +5 -0
- package/dist/types-ts4.5/plugins/table/ui/ui-styles.d.ts +1 -0
- package/dist/types-ts4.5/plugins/table/utils/dom.d.ts +3 -2
- package/dist/types-ts4.5/plugins/table/utils/index.d.ts +1 -1
- package/package.json +4 -4
- package/src/plugins/table/event-handlers.ts +7 -2
- package/src/plugins/table/pm-plugins/drag-and-drop/plugin.ts +7 -1
- package/src/plugins/table/types.ts +7 -4
- package/src/plugins/table/ui/FloatingInsertButton/index.tsx +8 -0
- package/src/plugins/table/ui/TableFloatingColumnControls/ColumnControls/index.tsx +5 -7
- package/src/plugins/table/ui/TableFloatingColumnControls/ColumnDropTargets/index.tsx +2 -2
- package/src/plugins/table/ui/TableFloatingColumnControls/index.tsx +1 -1
- package/src/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.tsx +107 -0
- package/src/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.tsx +66 -0
- package/src/plugins/table/ui/TableFloatingControls/CornerControls/index.tsx +2 -125
- package/src/plugins/table/ui/TableFloatingControls/CornerControls/types.ts +12 -0
- package/src/plugins/table/ui/TableFloatingControls/RowControls/DragControls.tsx +3 -3
- package/src/plugins/table/ui/TableFloatingControls/index.tsx +22 -14
- package/src/plugins/table/ui/common-styles.ts +8 -5
- package/src/plugins/table/ui/messages.ts +6 -0
- package/src/plugins/table/ui/ui-styles.ts +45 -3
- package/src/plugins/table/utils/dom.ts +16 -4
- package/src/plugins/table/utils/index.ts +2 -1
|
@@ -52,7 +52,7 @@ export const isTableContainerOrWrapper = (node: HTMLElement | null): boolean =>
|
|
|
52
52
|
containsClassName(node, ClassName.TABLE_NODE_WRAPPER);
|
|
53
53
|
|
|
54
54
|
/** drag-and-drop classes */
|
|
55
|
-
export const
|
|
55
|
+
export const isDragRowControlsButton = (node: HTMLElement | null) =>
|
|
56
56
|
containsClassName(node, ClassName.DRAG_ROW_CONTROLS) ||
|
|
57
57
|
closestElement(node, `.${ClassName.DRAG_ROW_CONTROLS}`);
|
|
58
58
|
|
|
@@ -62,6 +62,10 @@ export const isDragRowFloatingInsertDot = (node: HTMLElement | null) =>
|
|
|
62
62
|
export const isDragColumnFloatingInsertDot = (node: HTMLElement | null) =>
|
|
63
63
|
containsClassName(node, ClassName.DRAG_COLUMN_FLOATING_INSERT_DOT_WRAPPER);
|
|
64
64
|
|
|
65
|
+
export const isDragCornerButton = (node: HTMLElement | null) =>
|
|
66
|
+
containsClassName(node, ClassName.DRAG_CORNER_BUTTON) ||
|
|
67
|
+
containsClassName(node, ClassName.DRAG_CORNER_BUTTON_INNER);
|
|
68
|
+
|
|
65
69
|
/*
|
|
66
70
|
* This function returns which side of a given element the mouse cursor is,
|
|
67
71
|
* using as a base the half of the width by default, for example:
|
|
@@ -120,15 +124,23 @@ export const getMousePositionHorizontalRelativeByElement = (
|
|
|
120
124
|
mouseEvent: MouseEvent,
|
|
121
125
|
elementContentRects?: ElementContentRects,
|
|
122
126
|
gapInPixels?: number,
|
|
127
|
+
isDragAndDropEnabled?: boolean,
|
|
123
128
|
): 'left' | 'right' | null => {
|
|
124
129
|
const element = mouseEvent.target;
|
|
125
130
|
|
|
126
131
|
if (element instanceof HTMLElement) {
|
|
127
132
|
let width, x;
|
|
128
|
-
const closestCell = element.closest(SELECTOR_TABLE_LEAFS);
|
|
129
133
|
|
|
130
|
-
|
|
131
|
-
|
|
134
|
+
if (isDragAndDropEnabled) {
|
|
135
|
+
// mouse event fires for new overlapping column controls, so the cell can not get detected. Get width
|
|
136
|
+
// directly from element that will be .pm-table-drag-columns-floating-insert-dot-wrapper
|
|
137
|
+
width = element.clientWidth;
|
|
138
|
+
} else {
|
|
139
|
+
const closestCell = element.closest(SELECTOR_TABLE_LEAFS);
|
|
140
|
+
|
|
141
|
+
const id = closestCell?.id ?? '';
|
|
142
|
+
width = elementContentRects?.[id]?.width ?? 0;
|
|
143
|
+
}
|
|
132
144
|
x = mouseEvent.offsetX;
|
|
133
145
|
|
|
134
146
|
if (width <= 0) {
|
|
@@ -46,10 +46,11 @@ export {
|
|
|
46
46
|
isColumnControlsDecorations,
|
|
47
47
|
isTableControlsButton,
|
|
48
48
|
isTableContainerOrWrapper,
|
|
49
|
-
isRowDragControlsButton,
|
|
50
49
|
isRowControlsButton,
|
|
50
|
+
isDragRowControlsButton,
|
|
51
51
|
isDragColumnFloatingInsertDot,
|
|
52
52
|
isDragRowFloatingInsertDot,
|
|
53
|
+
isDragCornerButton,
|
|
53
54
|
getColumnOrRowIndex,
|
|
54
55
|
getMousePositionHorizontalRelativeByElement,
|
|
55
56
|
getMousePositionVerticalRelativeByElement,
|