@atlaskit/editor-plugin-table 5.3.14 → 5.3.16

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.
Files changed (144) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/plugins/table/event-handlers.js +4 -3
  3. package/dist/cjs/plugins/table/index.js +2 -1
  4. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/plugin.js +1 -0
  5. package/dist/cjs/plugins/table/types.js +5 -3
  6. package/dist/cjs/plugins/table/ui/FloatingDragMenu/DragMenu.js +49 -11
  7. package/dist/cjs/plugins/table/ui/FloatingDragMenu/index.js +5 -2
  8. package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +5 -0
  9. package/dist/cjs/plugins/table/ui/TableFloatingColumnControls/ColumnControls/index.js +3 -11
  10. package/dist/cjs/plugins/table/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +2 -2
  11. package/dist/cjs/plugins/table/ui/TableFloatingColumnControls/index.js +1 -1
  12. package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +114 -0
  13. package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.js +60 -0
  14. package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/index.js +11 -112
  15. package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/types.js +5 -0
  16. package/dist/cjs/plugins/table/ui/TableFloatingControls/RowControls/DragControls.js +1 -7
  17. package/dist/cjs/plugins/table/ui/TableFloatingControls/index.js +7 -2
  18. package/dist/cjs/plugins/table/ui/common-styles.js +1 -1
  19. package/dist/cjs/plugins/table/ui/icons/AddColLeftIcon.js +44 -0
  20. package/dist/cjs/plugins/table/ui/icons/AddColRightIcon.js +44 -0
  21. package/dist/cjs/plugins/table/ui/icons/AddRowAboveIcon.js +45 -0
  22. package/dist/cjs/plugins/table/ui/icons/AddRowBelowIcon.js +40 -0
  23. package/dist/cjs/plugins/table/ui/icons/index.js +29 -1
  24. package/dist/cjs/plugins/table/ui/messages.js +5 -0
  25. package/dist/cjs/plugins/table/ui/ui-styles.js +28 -25
  26. package/dist/cjs/plugins/table/utils/dom.js +16 -7
  27. package/dist/cjs/plugins/table/utils/drag-menu.js +122 -10
  28. package/dist/cjs/plugins/table/utils/index.js +12 -6
  29. package/dist/es2019/plugins/table/event-handlers.js +5 -4
  30. package/dist/es2019/plugins/table/index.js +2 -1
  31. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/plugin.js +2 -1
  32. package/dist/es2019/plugins/table/types.js +5 -3
  33. package/dist/es2019/plugins/table/ui/FloatingDragMenu/DragMenu.js +52 -8
  34. package/dist/es2019/plugins/table/ui/FloatingDragMenu/index.js +5 -2
  35. package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +5 -0
  36. package/dist/es2019/plugins/table/ui/TableFloatingColumnControls/ColumnControls/index.js +3 -11
  37. package/dist/es2019/plugins/table/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +2 -2
  38. package/dist/es2019/plugins/table/ui/TableFloatingColumnControls/index.js +1 -1
  39. package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +93 -0
  40. package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.js +61 -0
  41. package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/index.js +2 -99
  42. package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/types.js +1 -0
  43. package/dist/es2019/plugins/table/ui/TableFloatingControls/RowControls/DragControls.js +1 -7
  44. package/dist/es2019/plugins/table/ui/TableFloatingControls/index.js +8 -3
  45. package/dist/es2019/plugins/table/ui/common-styles.js +8 -6
  46. package/dist/es2019/plugins/table/ui/icons/AddColLeftIcon.js +35 -0
  47. package/dist/es2019/plugins/table/ui/icons/AddColRightIcon.js +35 -0
  48. package/dist/es2019/plugins/table/ui/icons/AddRowAboveIcon.js +36 -0
  49. package/dist/es2019/plugins/table/ui/icons/AddRowBelowIcon.js +31 -0
  50. package/dist/es2019/plugins/table/ui/icons/index.js +5 -1
  51. package/dist/es2019/plugins/table/ui/messages.js +5 -0
  52. package/dist/es2019/plugins/table/ui/ui-styles.js +44 -3
  53. package/dist/es2019/plugins/table/utils/dom.js +13 -6
  54. package/dist/es2019/plugins/table/utils/drag-menu.js +118 -8
  55. package/dist/es2019/plugins/table/utils/index.js +1 -1
  56. package/dist/esm/plugins/table/event-handlers.js +5 -4
  57. package/dist/esm/plugins/table/index.js +2 -1
  58. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/plugin.js +2 -1
  59. package/dist/esm/plugins/table/types.js +5 -3
  60. package/dist/esm/plugins/table/ui/FloatingDragMenu/DragMenu.js +46 -8
  61. package/dist/esm/plugins/table/ui/FloatingDragMenu/index.js +5 -2
  62. package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +5 -0
  63. package/dist/esm/plugins/table/ui/TableFloatingColumnControls/ColumnControls/index.js +3 -11
  64. package/dist/esm/plugins/table/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +2 -2
  65. package/dist/esm/plugins/table/ui/TableFloatingColumnControls/index.js +1 -1
  66. package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +104 -0
  67. package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.js +50 -0
  68. package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/index.js +2 -110
  69. package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/types.js +1 -0
  70. package/dist/esm/plugins/table/ui/TableFloatingControls/RowControls/DragControls.js +1 -7
  71. package/dist/esm/plugins/table/ui/TableFloatingControls/index.js +8 -3
  72. package/dist/esm/plugins/table/ui/common-styles.js +2 -2
  73. package/dist/esm/plugins/table/ui/icons/AddColLeftIcon.js +37 -0
  74. package/dist/esm/plugins/table/ui/icons/AddColRightIcon.js +37 -0
  75. package/dist/esm/plugins/table/ui/icons/AddRowAboveIcon.js +38 -0
  76. package/dist/esm/plugins/table/ui/icons/AddRowBelowIcon.js +33 -0
  77. package/dist/esm/plugins/table/ui/icons/index.js +5 -1
  78. package/dist/esm/plugins/table/ui/messages.js +5 -0
  79. package/dist/esm/plugins/table/ui/ui-styles.js +27 -24
  80. package/dist/esm/plugins/table/utils/dom.js +15 -6
  81. package/dist/esm/plugins/table/utils/drag-menu.js +120 -8
  82. package/dist/esm/plugins/table/utils/index.js +1 -1
  83. package/dist/types/plugins/table/types.d.ts +5 -3
  84. package/dist/types/plugins/table/ui/FloatingDragMenu/DragMenu.d.ts +5 -2
  85. package/dist/types/plugins/table/ui/FloatingDragMenu/index.d.ts +3 -1
  86. package/dist/types/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.d.ts +6 -0
  87. package/dist/types/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +6 -0
  88. package/dist/types/plugins/table/ui/TableFloatingControls/CornerControls/index.d.ts +2 -16
  89. package/dist/types/plugins/table/ui/TableFloatingControls/CornerControls/types.d.ts +11 -0
  90. package/dist/types/plugins/table/ui/icons/AddColLeftIcon.d.ts +2 -0
  91. package/dist/types/plugins/table/ui/icons/AddColRightIcon.d.ts +2 -0
  92. package/dist/types/plugins/table/ui/icons/AddRowAboveIcon.d.ts +2 -0
  93. package/dist/types/plugins/table/ui/icons/AddRowBelowIcon.d.ts +2 -0
  94. package/dist/types/plugins/table/ui/icons/index.d.ts +4 -0
  95. package/dist/types/plugins/table/ui/messages.d.ts +5 -0
  96. package/dist/types/plugins/table/ui/ui-styles.d.ts +1 -0
  97. package/dist/types/plugins/table/utils/dom.d.ts +3 -2
  98. package/dist/types/plugins/table/utils/drag-menu.d.ts +6 -3
  99. package/dist/types/plugins/table/utils/index.d.ts +1 -1
  100. package/dist/types-ts4.5/plugins/table/types.d.ts +5 -3
  101. package/dist/types-ts4.5/plugins/table/ui/FloatingDragMenu/DragMenu.d.ts +5 -2
  102. package/dist/types-ts4.5/plugins/table/ui/FloatingDragMenu/index.d.ts +3 -1
  103. package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.d.ts +6 -0
  104. package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +6 -0
  105. package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/index.d.ts +2 -16
  106. package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/types.d.ts +11 -0
  107. package/dist/types-ts4.5/plugins/table/ui/icons/AddColLeftIcon.d.ts +2 -0
  108. package/dist/types-ts4.5/plugins/table/ui/icons/AddColRightIcon.d.ts +2 -0
  109. package/dist/types-ts4.5/plugins/table/ui/icons/AddRowAboveIcon.d.ts +2 -0
  110. package/dist/types-ts4.5/plugins/table/ui/icons/AddRowBelowIcon.d.ts +2 -0
  111. package/dist/types-ts4.5/plugins/table/ui/icons/index.d.ts +4 -0
  112. package/dist/types-ts4.5/plugins/table/ui/messages.d.ts +5 -0
  113. package/dist/types-ts4.5/plugins/table/ui/ui-styles.d.ts +1 -0
  114. package/dist/types-ts4.5/plugins/table/utils/dom.d.ts +3 -2
  115. package/dist/types-ts4.5/plugins/table/utils/drag-menu.d.ts +6 -3
  116. package/dist/types-ts4.5/plugins/table/utils/index.d.ts +1 -1
  117. package/package.json +2 -2
  118. package/src/plugins/table/event-handlers.ts +7 -2
  119. package/src/plugins/table/index.tsx +1 -0
  120. package/src/plugins/table/pm-plugins/drag-and-drop/plugin.ts +7 -1
  121. package/src/plugins/table/types.ts +7 -4
  122. package/src/plugins/table/ui/FloatingDragMenu/DragMenu.tsx +73 -6
  123. package/src/plugins/table/ui/FloatingDragMenu/index.tsx +5 -0
  124. package/src/plugins/table/ui/FloatingInsertButton/index.tsx +8 -0
  125. package/src/plugins/table/ui/TableFloatingColumnControls/ColumnControls/index.tsx +5 -7
  126. package/src/plugins/table/ui/TableFloatingColumnControls/ColumnDropTargets/index.tsx +2 -2
  127. package/src/plugins/table/ui/TableFloatingColumnControls/index.tsx +1 -1
  128. package/src/plugins/table/ui/TableFloatingControls/CornerControls/ClassicCornerControls.tsx +107 -0
  129. package/src/plugins/table/ui/TableFloatingControls/CornerControls/DragCornerControls.tsx +66 -0
  130. package/src/plugins/table/ui/TableFloatingControls/CornerControls/index.tsx +2 -125
  131. package/src/plugins/table/ui/TableFloatingControls/CornerControls/types.ts +12 -0
  132. package/src/plugins/table/ui/TableFloatingControls/RowControls/DragControls.tsx +3 -3
  133. package/src/plugins/table/ui/TableFloatingControls/index.tsx +22 -14
  134. package/src/plugins/table/ui/common-styles.ts +8 -5
  135. package/src/plugins/table/ui/icons/AddColLeftIcon.tsx +43 -0
  136. package/src/plugins/table/ui/icons/AddColRightIcon.tsx +43 -0
  137. package/src/plugins/table/ui/icons/AddRowAboveIcon.tsx +42 -0
  138. package/src/plugins/table/ui/icons/AddRowBelowIcon.tsx +36 -0
  139. package/src/plugins/table/ui/icons/index.ts +4 -0
  140. package/src/plugins/table/ui/messages.ts +6 -0
  141. package/src/plugins/table/ui/ui-styles.ts +45 -3
  142. package/src/plugins/table/utils/dom.ts +16 -4
  143. package/src/plugins/table/utils/drag-menu.ts +158 -5
  144. package/src/plugins/table/utils/index.ts +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 5.3.16
4
+
5
+ ### Patch Changes
6
+
7
+ - [#42211](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42211) [`feef33e6e7e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/feef33e6e7e) - Add new corner button for tables to support drag and drop
8
+ - [#42213](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42213) [`1daf5ff634c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1daf5ff634c) - Fixed and issue where a drag could occur with the menu open. When a drag starts if a menu is open then it wil be closed.
9
+ - Updated dependencies
10
+
11
+ ## 5.3.15
12
+
13
+ ### Patch Changes
14
+
15
+ - [#42203](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42203) [`7eb9439a045`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7eb9439a045) - Implement drag menu options
16
+
3
17
  ## 5.3.14
4
18
 
5
19
  ### Patch Changes
@@ -142,7 +142,7 @@ var handleMouseOver = exports.handleMouseOver = function handleMouseOver(view, m
142
142
  // Ignore any `mousedown` `event` from control and numbered column buttons
143
143
  // PM end up changing selection during shift selection if not prevented
144
144
  var handleMouseDown = exports.handleMouseDown = function handleMouseDown(_, event) {
145
- var isControl = !!(event.target && event.target instanceof HTMLElement && ((0, _utils3.isTableContainerOrWrapper)(event.target) || (0, _utils3.isColumnControlsDecorations)(event.target) || (0, _utils3.isRowControlsButton)(event.target)));
145
+ var isControl = !!(event.target && event.target instanceof HTMLElement && ((0, _utils3.isTableContainerOrWrapper)(event.target) || (0, _utils3.isColumnControlsDecorations)(event.target) || (0, _utils3.isRowControlsButton)(event.target) || (0, _utils3.isDragCornerButton)(event.target)));
146
146
  if (isControl) {
147
147
  event.preventDefault();
148
148
  }
@@ -199,12 +199,13 @@ var handleMouseMove = exports.handleMouseMove = function handleMouseMove(view, e
199
199
  var state = view.state,
200
200
  dispatch = view.dispatch;
201
201
  var _getPluginState3 = (0, _pluginFactory.getPluginState)(state),
202
- insertColumnButtonIndex = _getPluginState3.insertColumnButtonIndex;
202
+ insertColumnButtonIndex = _getPluginState3.insertColumnButtonIndex,
203
+ isDragAndDropEnabled = _getPluginState3.isDragAndDropEnabled;
203
204
  var _getColumnOrRowIndex9 = (0, _utils3.getColumnOrRowIndex)(element),
204
205
  _getColumnOrRowIndex10 = (0, _slicedToArray2.default)(_getColumnOrRowIndex9, 2),
205
206
  startIndex = _getColumnOrRowIndex10[0],
206
207
  endIndex = _getColumnOrRowIndex10[1];
207
- var positionColumn = (0, _utils3.getMousePositionHorizontalRelativeByElement)(event, elementContentRects) === 'right' ? endIndex : startIndex;
208
+ var positionColumn = (0, _utils3.getMousePositionHorizontalRelativeByElement)(event, elementContentRects, undefined, isDragAndDropEnabled) === 'right' ? endIndex : startIndex;
208
209
  if (positionColumn !== insertColumnButtonIndex) {
209
210
  return (0, _commands.showInsertColumnButton)(positionColumn)(state, dispatch);
210
211
  }
@@ -337,7 +337,8 @@ var tablesPlugin = function tablesPlugin(_ref) {
337
337
  targetCellPosition: targetCellPosition,
338
338
  direction: dragAndDropState === null || dragAndDropState === void 0 ? void 0 : dragAndDropState.dragMenuDirection,
339
339
  index: dragAndDropState === null || dragAndDropState === void 0 ? void 0 : dragAndDropState.dragMenuIndex,
340
- isOpen: !!(dragAndDropState !== null && dragAndDropState !== void 0 && dragAndDropState.isDragMenuOpen) && !isResizing
340
+ isOpen: !!(dragAndDropState !== null && dragAndDropState !== void 0 && dragAndDropState.isDragMenuOpen) && !isResizing,
341
+ getEditorContainerWidth: defaultGetEditorContainerWidth
341
342
  }), allowControls && !isDragAndDropEnabled && !isResizing && /*#__PURE__*/_react.default.createElement(_FloatingDeleteButton.default, {
342
343
  editorView: editorView,
343
344
  selection: editorView.state.selection,
@@ -93,6 +93,7 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, eventD
93
93
  _pragmaticDragAndDropReactBeautifulDndAutoscroll.autoScroller.start({
94
94
  input: location.current.input
95
95
  });
96
+ (0, _commands.toggleDragMenu)(false)(editorView.state, editorView.dispatch);
96
97
  },
97
98
  onDrag: function onDrag(event) {
98
99
  _pragmaticDragAndDropReactBeautifulDndAutoscroll.autoScroller.updateInput({
@@ -58,9 +58,6 @@ var TableCssClassName = exports.TableCssClassName = _objectSpread(_objectSpread(
58
58
  COLUMN_CONTROLS: "".concat(_adfSchema.tablePrefixSelector, "-column-controls"),
59
59
  COLUMN_CONTROLS_DECORATIONS: "".concat(_adfSchema.tablePrefixSelector, "-column-controls-decoration"),
60
60
  COLUMN_SELECTED: "".concat(_adfSchema.tablePrefixSelector, "-column__selected"),
61
- COLUMN_CONTROLS_WRAPPER: "".concat(_adfSchema.tablePrefixSelector, "-col-controls-wrapper"),
62
- COLUMN_DROP_TARGET_CONTROLS: "".concat(_adfSchema.tablePrefixSelector, "-col-drop-target-controls"),
63
- COLUMN_CONTROLS_INNER: "".concat(_adfSchema.tablePrefixSelector, "-col-controls__inner"),
64
61
  ROW_CONTROLS_WRAPPER: "".concat(_adfSchema.tablePrefixSelector, "-row-controls-wrapper"),
65
62
  ROW_CONTROLS: "".concat(_adfSchema.tablePrefixSelector, "-row-controls"),
66
63
  ROW_CONTROLS_INNER: "".concat(_adfSchema.tablePrefixSelector, "-row-controls__inner"),
@@ -95,7 +92,12 @@ var TableCssClassName = exports.TableCssClassName = _objectSpread(_objectSpread(
95
92
  DRAG_COLUMN_CONTROLS: "".concat(_adfSchema.tablePrefixSelector, "-drag-column-controls"),
96
93
  DRAG_COLUMN_FLOATING_INSERT_DOT_WRAPPER: "".concat(_adfSchema.tablePrefixSelector, "-drag-columns-floating-insert-dot-wrapper"),
97
94
  DRAG_COLUMN_FLOATING_INSERT_DOT: "".concat(_adfSchema.tablePrefixSelector, "-drag-columns-floating-insert-dot"),
95
+ DRAG_COLUMN_CONTROLS_WRAPPER: "".concat(_adfSchema.tablePrefixSelector, "-col-controls-wrapper"),
96
+ DRAG_COLUMN_DROP_TARGET_CONTROLS: "".concat(_adfSchema.tablePrefixSelector, "-col-drop-target-controls"),
97
+ DRAG_COLUMN_CONTROLS_INNER: "".concat(_adfSchema.tablePrefixSelector, "-col-controls__inner"),
98
98
  DRAG_HANDLE_BUTTON_CONTAINER: "".concat(_adfSchema.tablePrefixSelector, "-drag-handle-button-container"),
99
+ DRAG_CORNER_BUTTON: "".concat(_adfSchema.tablePrefixSelector, "-drag-corner-button"),
100
+ DRAG_CORNER_BUTTON_INNER: "".concat(_adfSchema.tablePrefixSelector, "-drag-corner-button-inner"),
99
101
  /** Other classes */
100
102
  NUMBERED_COLUMN: "".concat(_adfSchema.tablePrefixSelector, "-numbered-column"),
101
103
  NUMBERED_COLUMN_BUTTON: "".concat(_adfSchema.tablePrefixSelector, "-numbered-column__button"),
@@ -1,16 +1,21 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.DragMenu = void 0;
8
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = require("@emotion/react");
9
8
  var _uiMenu = require("@atlaskit/editor-common/ui-menu");
9
+ var _shortcut = require("@atlaskit/editor-shared-styles/shortcut");
10
10
  var _tableMap = require("@atlaskit/editor-tables/table-map");
11
- var _commands = require("../../pm-plugins/drag-and-drop/commands");
11
+ var _utils = require("@atlaskit/editor-tables/utils");
12
+ var _commands = require("../../commands");
13
+ var _commands2 = require("../../pm-plugins/drag-and-drop/commands");
14
+ var _utils2 = require("../../utils");
12
15
  var _dragMenu = require("../../utils/drag-menu");
13
16
  var _consts = require("../consts");
17
+ /** @jsx jsx */
18
+
14
19
  var convertToDropdownItems = function convertToDropdownItems(dragMenuConfig) {
15
20
  var menuItems = [];
16
21
  var menuCallback = {};
@@ -21,7 +26,18 @@ var convertToDropdownItems = function convertToDropdownItems(dragMenuConfig) {
21
26
  value: {
22
27
  name: item.id
23
28
  },
24
- isDisabled: item.disabled
29
+ isDisabled: item.disabled,
30
+ elemBefore: item.icon ? (0, _react.jsx)("div", {
31
+ style: {
32
+ marginRight: "var(--ds-space-negative-075, -6px)",
33
+ display: 'flex'
34
+ }
35
+ }, (0, _react.jsx)(item.icon, {
36
+ label: item.title
37
+ })) : undefined,
38
+ elemAfter: item.keymap ? (0, _react.jsx)("div", {
39
+ css: _shortcut.shortcutStyle
40
+ }, item.keymap) : undefined
25
41
  });
26
42
  item.onClick && (menuCallback[item.id] = item.onClick);
27
43
  });
@@ -39,27 +55,47 @@ var DragMenu = exports.DragMenu = function DragMenu(_ref) {
39
55
  tableNode = _ref.tableNode,
40
56
  mountPoint = _ref.mountPoint,
41
57
  boundariesElement = _ref.boundariesElement,
42
- scrollableElement = _ref.scrollableElement;
58
+ scrollableElement = _ref.scrollableElement,
59
+ targetCellPosition = _ref.targetCellPosition,
60
+ getEditorContainerWidth = _ref.getEditorContainerWidth;
43
61
  var tableMap = tableNode ? _tableMap.TableMap.get(tableNode) : undefined;
44
- var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, tableMap, index);
62
+ var state = editorView.state,
63
+ dispatch = editorView.dispatch;
64
+ var selection = state.selection;
65
+ var selectionRect = (0, _utils.isSelectionType)(selection, 'cell') ? (0, _utils.getSelectionRect)(selection) : (0, _utils.findCellRectClosestToPos)(selection.$from);
66
+ var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, getEditorContainerWidth, tableMap, index, targetCellPosition, selectionRect);
45
67
  var _convertToDropdownIte = convertToDropdownItems(dragMenuConfig),
46
68
  menuItems = _convertToDropdownIte.menuItems,
47
69
  menuCallback = _convertToDropdownIte.menuCallback;
48
70
  var closeMenu = function closeMenu() {
49
71
  var state = editorView.state,
50
72
  dispatch = editorView.dispatch;
51
- (0, _commands.toggleDragMenu)(false)(state, dispatch);
73
+ (0, _commands2.toggleDragMenu)(false)(state, dispatch);
52
74
  };
53
- var onMenuItemActivated = function onMenuItemActivated(_ref2) {
75
+ var handleMenuItemActivated = function handleMenuItemActivated(_ref2) {
54
76
  var _menuCallback$item$va;
55
77
  var item = _ref2.item;
56
- (_menuCallback$item$va = menuCallback[item.value.name]) === null || _menuCallback$item$va === void 0 || _menuCallback$item$va.call(menuCallback, editorView.state, editorView.dispatch);
78
+ (_menuCallback$item$va = menuCallback[item.value.name]) === null || _menuCallback$item$va === void 0 || _menuCallback$item$va.call(menuCallback, state, dispatch);
57
79
  closeMenu();
58
80
  };
81
+ var handleItemMouseEnter = function handleItemMouseEnter(_ref3) {
82
+ var _item$value$name;
83
+ var item = _ref3.item;
84
+ if (!selectionRect || !((_item$value$name = item.value.name) !== null && _item$value$name !== void 0 && _item$value$name.startsWith('delete'))) {
85
+ return;
86
+ }
87
+ (item.value.name === 'delete_column' ? (0, _commands.hoverColumns)((0, _utils2.getSelectedColumnIndexes)(selectionRect), true) : (0, _commands.hoverRows)((0, _utils2.getSelectedRowIndexes)(selectionRect), true))(state, dispatch);
88
+ };
89
+ var handleItemMouseLeave = function handleItemMouseLeave(_ref4) {
90
+ var item = _ref4.item;
91
+ if (['sort_column_asc', 'sort_column_desc', 'delete_column', 'delete_row'].indexOf(item.value.name) > -1) {
92
+ (0, _commands.clearHoverSelection)()(state, dispatch);
93
+ }
94
+ };
59
95
  if (!menuItems) {
60
96
  return null;
61
97
  }
62
- return /*#__PURE__*/_react.default.createElement(_uiMenu.DropdownMenu, {
98
+ return (0, _react.jsx)(_uiMenu.DropdownMenu, {
63
99
  mountTo: mountPoint
64
100
  //This needs be removed when the a11y is completely handled
65
101
  //Disabling key navigation now as it works only partially
@@ -73,7 +109,9 @@ var DragMenu = exports.DragMenu = function DragMenu(_ref) {
73
109
  }],
74
110
  isOpen: isOpen,
75
111
  onOpenChange: closeMenu,
76
- onItemActivated: onMenuItemActivated,
112
+ onItemActivated: handleMenuItemActivated,
113
+ onMouseEnter: handleItemMouseEnter,
114
+ onMouseLeave: handleItemMouseLeave,
77
115
  fitWidth: _consts.dragMenuDropdownWidth,
78
116
  boundariesElement: boundariesElement
79
117
  });
@@ -22,7 +22,8 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
22
22
  tableNode = _ref.tableNode,
23
23
  direction = _ref.direction,
24
24
  index = _ref.index,
25
- targetCellPosition = _ref.targetCellPosition;
25
+ targetCellPosition = _ref.targetCellPosition,
26
+ getEditorContainerWidth = _ref.getEditorContainerWidth;
26
27
  if (!isOpen || !targetCellPosition || editorView.state.doc.nodeSize <= targetCellPosition) {
27
28
  return null;
28
29
  }
@@ -55,7 +56,9 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
55
56
  boundariesElement: boundariesElement,
56
57
  tableNode: tableNode,
57
58
  direction: direction,
58
- index: index
59
+ index: index,
60
+ targetCellPosition: targetCellPosition,
61
+ getEditorContainerWidth: getEditorContainerWidth
59
62
  }));
60
63
  };
61
64
  FloatingDragMenu.displayName = 'FloatingDragMenu';
@@ -59,6 +59,11 @@ var FloatingInsertButton = exports.FloatingInsertButton = /*#__PURE__*/function
59
59
  isHeaderRowEnabled = _this$props.isHeaderRowEnabled,
60
60
  isDragAndDropEnabled = _this$props.isDragAndDropEnabled,
61
61
  dispatchAnalyticsEvent = _this$props.dispatchAnalyticsEvent;
62
+
63
+ // TODO: temporarily disable insert button for first column and row https://atlassian.slack.com/archives/C05U8HRQM50/p1698363744682219?thread_ts=1698209039.104909&cid=C05U8HRQM50
64
+ if (isDragAndDropEnabled && (insertColumnButtonIndex === 0 || insertRowButtonIndex === 0)) {
65
+ return null;
66
+ }
62
67
  var type = typeof insertColumnButtonIndex !== 'undefined' ? 'column' : typeof insertRowButtonIndex !== 'undefined' ? 'row' : null;
63
68
  if (!tableNode || !tableRef || !type) {
64
69
  return null;
@@ -80,7 +80,7 @@ var ColumnControls = exports.ColumnControls = function ColumnControls(_ref) {
80
80
  return /*#__PURE__*/_react.default.createElement("div", {
81
81
  className: _types.TableCssClassName.DRAG_COLUMN_CONTROLS
82
82
  }, /*#__PURE__*/_react.default.createElement("div", {
83
- className: _types.TableCssClassName.COLUMN_CONTROLS_INNER,
83
+ className: _types.TableCssClassName.DRAG_COLUMN_CONTROLS_INNER,
84
84
  "data-testid": "table-floating-column-controls",
85
85
  style: {
86
86
  gridTemplateColumns: widths,
@@ -98,13 +98,7 @@ var ColumnControls = exports.ColumnControls = function ColumnControls(_ref) {
98
98
  className: _types.TableCssClassName.DRAG_COLUMN_FLOATING_INSERT_DOT_WRAPPER,
99
99
  contentEditable: false,
100
100
  key: index
101
- }, !hasHeaderColumn && index === 0 && /*#__PURE__*/_react.default.createElement("div", {
102
- style: {
103
- left: '0px',
104
- right: 'unset'
105
- },
106
- className: _types.TableCssClassName.DRAG_COLUMN_FLOATING_INSERT_DOT
107
- }), /*#__PURE__*/_react.default.createElement("div", {
101
+ }, /*#__PURE__*/_react.default.createElement("div", {
108
102
  className: _types.TableCssClassName.DRAG_COLUMN_FLOATING_INSERT_DOT,
109
103
  style: columnParams.length - 1 === index ? {
110
104
  right: '0'
@@ -113,12 +107,10 @@ var ColumnControls = exports.ColumnControls = function ColumnControls(_ref) {
113
107
  }), tableActive && !isResizing && !!hoveredCell && Number.isFinite(hoveredCell.colIndex) && /*#__PURE__*/_react.default.createElement("div", {
114
108
  style: {
115
109
  gridColumn: gridColumnPosition,
116
- zIndex: 99,
117
110
  display: 'flex',
118
- width: '100%',
119
111
  justifyContent: 'center',
120
112
  alignItems: 'center',
121
- marginTop: "var(--ds-space-negative-025, -2px)"
113
+ zIndex: 99
122
114
  },
123
115
  "data-column-control-index": hoveredCell.colIndex,
124
116
  "data-testid": "table-floating-column-control"
@@ -23,10 +23,10 @@ var ColumnDropTargets = exports.ColumnDropTargets = function ColumnDropTargets(_
23
23
  var hasHeaderRow = firstRow ? firstRow.getAttribute('data-header-row') : false;
24
24
  var marginTop = hasHeaderRow && stickyTop !== undefined ? (_rowHeights$ = rowHeights === null || rowHeights === void 0 ? void 0 : rowHeights[0]) !== null && _rowHeights$ !== void 0 ? _rowHeights$ : 0 : 0;
25
25
  return /*#__PURE__*/_react.default.createElement("div", {
26
- className: _types.TableCssClassName.COLUMN_DROP_TARGET_CONTROLS,
26
+ className: _types.TableCssClassName.DRAG_COLUMN_DROP_TARGET_CONTROLS,
27
27
  contentEditable: false
28
28
  }, /*#__PURE__*/_react.default.createElement("div", {
29
- className: _types.TableCssClassName.COLUMN_CONTROLS_INNER,
29
+ className: _types.TableCssClassName.DRAG_COLUMN_CONTROLS_INNER,
30
30
  "data-testid": "table-floating-column-controls-drop-targets"
31
31
  }, colWidths === null || colWidths === void 0 ? void 0 : colWidths.map(function (width, index) {
32
32
  return /*#__PURE__*/_react.default.createElement(_ColumnDropTarget.ColumnDropTarget, {
@@ -110,7 +110,7 @@ var TableFloatingColumnControls = exports.TableFloatingColumnControls = function
110
110
  return null;
111
111
  }
112
112
  return /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement("div", {
113
- className: _types.TableCssClassName.COLUMN_CONTROLS_WRAPPER,
113
+ className: _types.TableCssClassName.DRAG_COLUMN_CONTROLS_WRAPPER,
114
114
  "data-testid": "table-floating-column-controls-wrapper"
115
115
  }, /*#__PURE__*/_react.default.createElement(_ColumnControls.ColumnControls, {
116
116
  editorView: editorView,
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.CornerControls = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireWildcard(require("react"));
17
+ var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _reactIntlNext = require("react-intl-next");
19
+ var _tableMap = require("@atlaskit/editor-tables/table-map");
20
+ var _utils = require("@atlaskit/editor-tables/utils");
21
+ var _commands = require("../../../commands");
22
+ var _types = require("../../../types");
23
+ var _messages = _interopRequireDefault(require("../../messages"));
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
27
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
28
+ var CornerControlComponent = /*#__PURE__*/function (_Component) {
29
+ (0, _inherits2.default)(CornerControlComponent, _Component);
30
+ var _super = _createSuper(CornerControlComponent);
31
+ function CornerControlComponent() {
32
+ var _this;
33
+ (0, _classCallCheck2.default)(this, CornerControlComponent);
34
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35
+ args[_key] = arguments[_key];
36
+ }
37
+ _this = _super.call.apply(_super, [this].concat(args));
38
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isActive", function () {
39
+ var _this$props = _this.props,
40
+ editorView = _this$props.editorView,
41
+ hoveredRows = _this$props.hoveredRows,
42
+ isResizing = _this$props.isResizing;
43
+ var selection = editorView.state.selection;
44
+ var table = (0, _utils.findTable)(selection);
45
+ if (!table) {
46
+ return false;
47
+ }
48
+ return (0, _utils.isTableSelected)(selection) || hoveredRows && hoveredRows.length === _tableMap.TableMap.get(table.node).height && !isResizing;
49
+ });
50
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clearHoverSelection", function () {
51
+ var _this$props$editorVie = _this.props.editorView,
52
+ state = _this$props$editorVie.state,
53
+ dispatch = _this$props$editorVie.dispatch;
54
+ (0, _commands.clearHoverSelection)()(state, dispatch);
55
+ });
56
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selectTable", function () {
57
+ var _this$props$editorVie2 = _this.props.editorView,
58
+ state = _this$props$editorVie2.state,
59
+ dispatch = _this$props$editorVie2.dispatch;
60
+ dispatch((0, _utils.selectTable)(state.tr).setMeta('addToHistory', false));
61
+ });
62
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hoverTable", function () {
63
+ var _this$props$editorVie3 = _this.props.editorView,
64
+ state = _this$props$editorVie3.state,
65
+ dispatch = _this$props$editorVie3.dispatch;
66
+ (0, _commands.hoverTable)()(state, dispatch);
67
+ });
68
+ return _this;
69
+ }
70
+ (0, _createClass2.default)(CornerControlComponent, [{
71
+ key: "render",
72
+ value: function render() {
73
+ var _this$props2 = this.props,
74
+ isInDanger = _this$props2.isInDanger,
75
+ tableRef = _this$props2.tableRef,
76
+ isHeaderColumnEnabled = _this$props2.isHeaderColumnEnabled,
77
+ isHeaderRowEnabled = _this$props2.isHeaderRowEnabled,
78
+ formatMessage = _this$props2.intl.formatMessage;
79
+ if (!tableRef) {
80
+ return null;
81
+ }
82
+ var isActive = this.isActive();
83
+ return /*#__PURE__*/_react.default.createElement("div", {
84
+ className: (0, _classnames.default)(_types.TableCssClassName.CORNER_CONTROLS, {
85
+ active: isActive,
86
+ sticky: this.props.stickyTop !== undefined
87
+ }),
88
+ style: {
89
+ top: this.props.stickyTop !== undefined ? "".concat(this.props.stickyTop, "px") : undefined
90
+ },
91
+ contentEditable: false
92
+ }, /*#__PURE__*/_react.default.createElement("button", {
93
+ "aria-label": formatMessage(_messages.default.cornerControl),
94
+ type: "button",
95
+ className: (0, _classnames.default)(_types.TableCssClassName.CONTROLS_CORNER_BUTTON, {
96
+ danger: isActive && isInDanger
97
+ }),
98
+ onClick: this.selectTable,
99
+ onMouseOver: this.hoverTable,
100
+ onMouseOut: this.clearHoverSelection
101
+ }), !isHeaderRowEnabled && /*#__PURE__*/_react.default.createElement("div", {
102
+ className: _types.TableCssClassName.CORNER_CONTROLS_INSERT_ROW_MARKER
103
+ }, /*#__PURE__*/_react.default.createElement("div", {
104
+ className: _types.TableCssClassName.CONTROLS_INSERT_MARKER
105
+ })), !isHeaderColumnEnabled && /*#__PURE__*/_react.default.createElement("div", {
106
+ className: _types.TableCssClassName.CORNER_CONTROLS_INSERT_COLUMN_MARKER
107
+ }, /*#__PURE__*/_react.default.createElement("div", {
108
+ className: _types.TableCssClassName.CONTROLS_INSERT_MARKER
109
+ })));
110
+ }
111
+ }]);
112
+ return CornerControlComponent;
113
+ }(_react.Component);
114
+ var CornerControls = exports.CornerControls = (0, _reactIntlNext.injectIntl)(CornerControlComponent);
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.DragCornerControls = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _reactIntlNext = require("react-intl-next");
12
+ var _utils = require("@atlaskit/editor-tables/utils");
13
+ var _commands = require("../../../commands");
14
+ var _types = require("../../../types");
15
+ var _messages = _interopRequireDefault(require("../../messages"));
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ var DragCornerControlsComponent = function DragCornerControlsComponent(_ref) {
19
+ var editorView = _ref.editorView,
20
+ isInDanger = _ref.isInDanger,
21
+ formatMessage = _ref.intl.formatMessage;
22
+ var handleOnClick = function handleOnClick() {
23
+ var state = editorView.state,
24
+ dispatch = editorView.dispatch;
25
+ dispatch((0, _utils.selectTable)(state.tr).setMeta('addToHistory', false));
26
+ };
27
+ var handleMouseOver = function handleMouseOver() {
28
+ var state = editorView.state,
29
+ dispatch = editorView.dispatch;
30
+ (0, _commands.hoverTable)()(state, dispatch);
31
+ };
32
+ var handleMouseOut = function handleMouseOut() {
33
+ var state = editorView.state,
34
+ dispatch = editorView.dispatch;
35
+ (0, _commands.clearHoverSelection)()(state, dispatch);
36
+ };
37
+ var isActive = (0, _react.useMemo)(function () {
38
+ var selection = editorView.state.selection;
39
+ var table = (0, _utils.findTable)(selection);
40
+ if (!table) {
41
+ return false;
42
+ }
43
+ return (0, _utils.isTableSelected)(selection);
44
+ }, [editorView.state]);
45
+ return /*#__PURE__*/_react.default.createElement("button", {
46
+ className: (0, _classnames.default)(_types.TableCssClassName.DRAG_CORNER_BUTTON, {
47
+ active: isActive,
48
+ danger: isActive && isInDanger
49
+ }),
50
+ "aria-label": formatMessage(_messages.default.cornerControl),
51
+ type: "button",
52
+ onClick: handleOnClick,
53
+ onMouseOver: handleMouseOver,
54
+ onMouseOut: handleMouseOut,
55
+ contentEditable: false
56
+ }, /*#__PURE__*/_react.default.createElement("div", {
57
+ className: _types.TableCssClassName.DRAG_CORNER_BUTTON_INNER
58
+ }));
59
+ };
60
+ var DragCornerControls = exports.DragCornerControls = (0, _reactIntlNext.injectIntl)(DragCornerControlsComponent);
@@ -1,120 +1,19 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
- exports.CornerControls = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
- var _react = _interopRequireWildcard(require("react"));
17
- var _classnames = _interopRequireDefault(require("classnames"));
18
- var _reactIntlNext = require("react-intl-next");
19
- var _tableMap = require("@atlaskit/editor-tables/table-map");
20
- var _utils = require("@atlaskit/editor-tables/utils");
21
- var _commands = require("../../../commands");
22
- var _types = require("../../../types");
23
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
26
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
27
- var messages = (0, _reactIntlNext.defineMessages)({
28
- cornerControl: {
29
- id: 'fabric.editor.cornerControl',
30
- defaultMessage: 'Highlight table',
31
- description: 'A button on the upper left corner of the table that shows up when the table is in focus. Clicking on it will select the entire table.'
6
+ Object.defineProperty(exports, "CornerControls", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _ClassicCornerControls.CornerControls;
32
10
  }
33
11
  });
34
- var CornerControlComponent = /*#__PURE__*/function (_Component) {
35
- (0, _inherits2.default)(CornerControlComponent, _Component);
36
- var _super = _createSuper(CornerControlComponent);
37
- function CornerControlComponent() {
38
- var _this;
39
- (0, _classCallCheck2.default)(this, CornerControlComponent);
40
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
41
- args[_key] = arguments[_key];
42
- }
43
- _this = _super.call.apply(_super, [this].concat(args));
44
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isActive", function () {
45
- var _this$props = _this.props,
46
- editorView = _this$props.editorView,
47
- hoveredRows = _this$props.hoveredRows,
48
- isResizing = _this$props.isResizing;
49
- var selection = editorView.state.selection;
50
- var table = (0, _utils.findTable)(selection);
51
- if (!table) {
52
- return false;
53
- }
54
- return (0, _utils.isTableSelected)(selection) || hoveredRows && hoveredRows.length === _tableMap.TableMap.get(table.node).height && !isResizing;
55
- });
56
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clearHoverSelection", function () {
57
- var _this$props$editorVie = _this.props.editorView,
58
- state = _this$props$editorVie.state,
59
- dispatch = _this$props$editorVie.dispatch;
60
- (0, _commands.clearHoverSelection)()(state, dispatch);
61
- });
62
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selectTable", function () {
63
- var _this$props$editorVie2 = _this.props.editorView,
64
- state = _this$props$editorVie2.state,
65
- dispatch = _this$props$editorVie2.dispatch;
66
- dispatch((0, _utils.selectTable)(state.tr).setMeta('addToHistory', false));
67
- });
68
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hoverTable", function () {
69
- var _this$props$editorVie3 = _this.props.editorView,
70
- state = _this$props$editorVie3.state,
71
- dispatch = _this$props$editorVie3.dispatch;
72
- (0, _commands.hoverTable)()(state, dispatch);
73
- });
74
- return _this;
12
+ Object.defineProperty(exports, "DragCornerControls", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _DragCornerControls.DragCornerControls;
75
16
  }
76
- (0, _createClass2.default)(CornerControlComponent, [{
77
- key: "render",
78
- value: function render() {
79
- var _this$props2 = this.props,
80
- isInDanger = _this$props2.isInDanger,
81
- tableRef = _this$props2.tableRef,
82
- isHeaderColumnEnabled = _this$props2.isHeaderColumnEnabled,
83
- isHeaderRowEnabled = _this$props2.isHeaderRowEnabled,
84
- formatMessage = _this$props2.intl.formatMessage;
85
- if (!tableRef) {
86
- return null;
87
- }
88
- var isActive = this.isActive();
89
- return /*#__PURE__*/_react.default.createElement("div", {
90
- className: (0, _classnames.default)(_types.TableCssClassName.CORNER_CONTROLS, {
91
- active: isActive,
92
- sticky: this.props.stickyTop !== undefined
93
- }),
94
- style: {
95
- top: this.props.stickyTop !== undefined ? "".concat(this.props.stickyTop, "px") : undefined
96
- },
97
- contentEditable: false
98
- }, /*#__PURE__*/_react.default.createElement("button", {
99
- "aria-label": formatMessage(messages.cornerControl),
100
- type: "button",
101
- className: (0, _classnames.default)(_types.TableCssClassName.CONTROLS_CORNER_BUTTON, {
102
- danger: isActive && isInDanger
103
- }),
104
- onClick: this.selectTable,
105
- onMouseOver: this.hoverTable,
106
- onMouseOut: this.clearHoverSelection
107
- }), !isHeaderRowEnabled && /*#__PURE__*/_react.default.createElement("div", {
108
- className: _types.TableCssClassName.CORNER_CONTROLS_INSERT_ROW_MARKER
109
- }, /*#__PURE__*/_react.default.createElement("div", {
110
- className: _types.TableCssClassName.CONTROLS_INSERT_MARKER
111
- })), !isHeaderColumnEnabled && /*#__PURE__*/_react.default.createElement("div", {
112
- className: _types.TableCssClassName.CORNER_CONTROLS_INSERT_COLUMN_MARKER
113
- }, /*#__PURE__*/_react.default.createElement("div", {
114
- className: _types.TableCssClassName.CONTROLS_INSERT_MARKER
115
- })));
116
- }
117
- }]);
118
- return CornerControlComponent;
119
- }(_react.Component);
120
- var CornerControls = exports.CornerControls = (0, _reactIntlNext.injectIntl)(CornerControlComponent);
17
+ });
18
+ var _ClassicCornerControls = require("./ClassicCornerControls");
19
+ var _DragCornerControls = require("./DragCornerControls");
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -98,13 +98,7 @@ var DragControlsComponent = function DragControlsComponent(_ref) {
98
98
  className: _types.TableCssClassName.DRAG_ROW_FLOATING_INSERT_DOT_WRAPPER,
99
99
  contentEditable: false,
100
100
  key: index
101
- }, !hasHeaderRow && index === 0 && /*#__PURE__*/_react.default.createElement("div", {
102
- style: {
103
- top: '0px',
104
- left: "var(--ds-space-075, 6px)"
105
- },
106
- className: _types.TableCssClassName.DRAG_ROW_FLOATING_INSERT_DOT
107
- }), /*#__PURE__*/_react.default.createElement("div", {
101
+ }, /*#__PURE__*/_react.default.createElement("div", {
108
102
  className: _types.TableCssClassName.DRAG_ROW_FLOATING_INSERT_DOT
109
103
  }));
110
104
  }), !isResizing && Number.isFinite(rowIndex) && /*#__PURE__*/_react.default.createElement("div", {