@atlaskit/editor-plugin-table 9.1.3 → 9.2.1

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 (211) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/nodeviews/TableCell.js +0 -2
  3. package/dist/cjs/nodeviews/TableComponent.js +5 -5
  4. package/dist/cjs/nodeviews/TableComponentWithSharedState.js +6 -4
  5. package/dist/cjs/nodeviews/TableContainer.js +13 -2
  6. package/dist/cjs/nodeviews/TableNodeViewBase.js +0 -2
  7. package/dist/cjs/nodeviews/TableResizer.js +5 -10
  8. package/dist/cjs/nodeviews/TableRow.js +0 -2
  9. package/dist/cjs/nodeviews/lazy-node-views.js +4 -16
  10. package/dist/cjs/nodeviews/table.js +3 -10
  11. package/dist/cjs/pm-plugins/commands/column-resize.js +1 -4
  12. package/dist/cjs/pm-plugins/commands/commands-with-analytics.js +4 -16
  13. package/dist/cjs/pm-plugins/commands/insert.js +4 -19
  14. package/dist/cjs/pm-plugins/commands/misc.js +3 -12
  15. package/dist/cjs/pm-plugins/decorations/plugin.js +1 -6
  16. package/dist/cjs/pm-plugins/decorations/utils/column-resizing.js +1 -4
  17. package/dist/cjs/pm-plugins/drag-and-drop/commands-with-analytics.js +3 -12
  18. package/dist/cjs/pm-plugins/drag-and-drop/commands.js +3 -12
  19. package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +1 -4
  20. package/dist/cjs/pm-plugins/keymap.js +0 -2
  21. package/dist/cjs/pm-plugins/main.js +1 -6
  22. package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +1 -4
  23. package/dist/cjs/pm-plugins/table-resizing/plugin.js +0 -2
  24. package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +1 -7
  25. package/dist/cjs/pm-plugins/table-resizing/utils/column-state.js +1 -4
  26. package/dist/cjs/pm-plugins/table-resizing/utils/content-width.js +0 -8
  27. package/dist/cjs/pm-plugins/table-resizing/utils/resize-logic.js +2 -10
  28. package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +1 -4
  29. package/dist/cjs/pm-plugins/table-width.js +1 -6
  30. package/dist/cjs/pm-plugins/transforms/column-width.js +1 -4
  31. package/dist/cjs/pm-plugins/transforms/fix-tables.js +3 -15
  32. package/dist/cjs/pm-plugins/transforms/replace-table.js +1 -4
  33. package/dist/cjs/pm-plugins/transforms/split.js +0 -2
  34. package/dist/cjs/pm-plugins/utils/alignment.js +1 -4
  35. package/dist/cjs/pm-plugins/utils/decoration.js +4 -16
  36. package/dist/cjs/pm-plugins/utils/drag-menu.js +1 -4
  37. package/dist/cjs/pm-plugins/utils/nodes.js +0 -3
  38. package/dist/cjs/pm-plugins/utils/paste.js +4 -0
  39. package/dist/cjs/pm-plugins/utils/row-controls.js +1 -4
  40. package/dist/cjs/tablePlugin.js +1 -0
  41. package/dist/cjs/ui/DragHandle/index.js +55 -6
  42. package/dist/cjs/ui/FloatingInsertButton/getPopupOptions.js +0 -6
  43. package/dist/cjs/ui/TableFloatingColumnControls/ColumnControls/index.js +18 -6
  44. package/dist/cjs/ui/TableFloatingColumnControls/index.js +1 -2
  45. package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +61 -11
  46. package/dist/cjs/ui/TableFloatingControls/index.js +25 -8
  47. package/dist/cjs/ui/toolbar.js +3 -12
  48. package/dist/es2019/nodeviews/TableCell.js +0 -2
  49. package/dist/es2019/nodeviews/TableComponent.js +5 -5
  50. package/dist/es2019/nodeviews/TableComponentWithSharedState.js +6 -4
  51. package/dist/es2019/nodeviews/TableContainer.js +13 -2
  52. package/dist/es2019/nodeviews/TableNodeViewBase.js +0 -2
  53. package/dist/es2019/nodeviews/TableResizer.js +5 -10
  54. package/dist/es2019/nodeviews/TableRow.js +0 -2
  55. package/dist/es2019/nodeviews/lazy-node-views.js +4 -16
  56. package/dist/es2019/nodeviews/table.js +3 -10
  57. package/dist/es2019/pm-plugins/commands/column-resize.js +1 -4
  58. package/dist/es2019/pm-plugins/commands/commands-with-analytics.js +6 -24
  59. package/dist/es2019/pm-plugins/commands/delete.js +1 -4
  60. package/dist/es2019/pm-plugins/commands/insert.js +5 -23
  61. package/dist/es2019/pm-plugins/commands/misc.js +3 -12
  62. package/dist/es2019/pm-plugins/decorations/plugin.js +1 -6
  63. package/dist/es2019/pm-plugins/decorations/utils/column-resizing.js +1 -4
  64. package/dist/es2019/pm-plugins/drag-and-drop/commands-with-analytics.js +3 -12
  65. package/dist/es2019/pm-plugins/drag-and-drop/commands.js +4 -16
  66. package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +2 -8
  67. package/dist/es2019/pm-plugins/keymap.js +0 -3
  68. package/dist/es2019/pm-plugins/main.js +1 -6
  69. package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +1 -4
  70. package/dist/es2019/pm-plugins/table-resizing/plugin.js +0 -3
  71. package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +2 -11
  72. package/dist/es2019/pm-plugins/table-resizing/utils/column-state.js +1 -4
  73. package/dist/es2019/pm-plugins/table-resizing/utils/content-width.js +0 -8
  74. package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +1 -4
  75. package/dist/es2019/pm-plugins/table-resizing/utils/resize-logic.js +2 -10
  76. package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +2 -8
  77. package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +4 -16
  78. package/dist/es2019/pm-plugins/table-width.js +1 -6
  79. package/dist/es2019/pm-plugins/transforms/column-width.js +2 -8
  80. package/dist/es2019/pm-plugins/transforms/delete-columns.js +1 -4
  81. package/dist/es2019/pm-plugins/transforms/fix-tables.js +3 -15
  82. package/dist/es2019/pm-plugins/transforms/replace-table.js +1 -4
  83. package/dist/es2019/pm-plugins/transforms/split.js +0 -2
  84. package/dist/es2019/pm-plugins/utils/alignment.js +1 -4
  85. package/dist/es2019/pm-plugins/utils/decoration.js +4 -16
  86. package/dist/es2019/pm-plugins/utils/drag-menu.js +2 -8
  87. package/dist/es2019/pm-plugins/utils/nodes.js +0 -3
  88. package/dist/es2019/pm-plugins/utils/paste.js +5 -4
  89. package/dist/es2019/pm-plugins/utils/row-controls.js +1 -4
  90. package/dist/es2019/pm-plugins/utils/snapping.js +1 -4
  91. package/dist/es2019/tablePlugin.js +1 -0
  92. package/dist/es2019/ui/DragHandle/index.js +57 -6
  93. package/dist/es2019/ui/FloatingInsertButton/getPopupOptions.js +0 -6
  94. package/dist/es2019/ui/TableFloatingColumnControls/ColumnControls/index.js +19 -7
  95. package/dist/es2019/ui/TableFloatingColumnControls/index.js +1 -2
  96. package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +63 -11
  97. package/dist/es2019/ui/TableFloatingControls/index.js +26 -10
  98. package/dist/es2019/ui/event-handlers.js +1 -4
  99. package/dist/es2019/ui/toolbar.js +9 -36
  100. package/dist/esm/nodeviews/TableCell.js +0 -2
  101. package/dist/esm/nodeviews/TableComponent.js +5 -5
  102. package/dist/esm/nodeviews/TableComponentWithSharedState.js +6 -4
  103. package/dist/esm/nodeviews/TableContainer.js +13 -2
  104. package/dist/esm/nodeviews/TableNodeViewBase.js +0 -2
  105. package/dist/esm/nodeviews/TableResizer.js +5 -10
  106. package/dist/esm/nodeviews/TableRow.js +0 -2
  107. package/dist/esm/nodeviews/lazy-node-views.js +4 -16
  108. package/dist/esm/nodeviews/table.js +3 -10
  109. package/dist/esm/pm-plugins/commands/column-resize.js +1 -4
  110. package/dist/esm/pm-plugins/commands/commands-with-analytics.js +4 -16
  111. package/dist/esm/pm-plugins/commands/insert.js +4 -19
  112. package/dist/esm/pm-plugins/commands/misc.js +3 -12
  113. package/dist/esm/pm-plugins/decorations/plugin.js +1 -6
  114. package/dist/esm/pm-plugins/decorations/utils/column-resizing.js +1 -4
  115. package/dist/esm/pm-plugins/drag-and-drop/commands-with-analytics.js +3 -12
  116. package/dist/esm/pm-plugins/drag-and-drop/commands.js +3 -12
  117. package/dist/esm/pm-plugins/drag-and-drop/plugin.js +1 -4
  118. package/dist/esm/pm-plugins/keymap.js +0 -3
  119. package/dist/esm/pm-plugins/main.js +1 -6
  120. package/dist/esm/pm-plugins/table-resizing/event-handlers.js +1 -4
  121. package/dist/esm/pm-plugins/table-resizing/plugin.js +0 -3
  122. package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +1 -7
  123. package/dist/esm/pm-plugins/table-resizing/utils/column-state.js +1 -4
  124. package/dist/esm/pm-plugins/table-resizing/utils/content-width.js +0 -8
  125. package/dist/esm/pm-plugins/table-resizing/utils/resize-logic.js +2 -10
  126. package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +1 -4
  127. package/dist/esm/pm-plugins/table-width.js +1 -6
  128. package/dist/esm/pm-plugins/transforms/column-width.js +1 -4
  129. package/dist/esm/pm-plugins/transforms/fix-tables.js +3 -15
  130. package/dist/esm/pm-plugins/transforms/replace-table.js +1 -4
  131. package/dist/esm/pm-plugins/transforms/split.js +0 -2
  132. package/dist/esm/pm-plugins/utils/alignment.js +1 -4
  133. package/dist/esm/pm-plugins/utils/decoration.js +4 -16
  134. package/dist/esm/pm-plugins/utils/drag-menu.js +1 -4
  135. package/dist/esm/pm-plugins/utils/nodes.js +0 -3
  136. package/dist/esm/pm-plugins/utils/paste.js +4 -0
  137. package/dist/esm/pm-plugins/utils/row-controls.js +1 -4
  138. package/dist/esm/tablePlugin.js +1 -0
  139. package/dist/esm/ui/DragHandle/index.js +54 -5
  140. package/dist/esm/ui/FloatingInsertButton/getPopupOptions.js +0 -6
  141. package/dist/esm/ui/TableFloatingColumnControls/ColumnControls/index.js +19 -7
  142. package/dist/esm/ui/TableFloatingColumnControls/index.js +1 -2
  143. package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +61 -11
  144. package/dist/esm/ui/TableFloatingControls/index.js +26 -9
  145. package/dist/esm/ui/toolbar.js +3 -12
  146. package/dist/types/nodeviews/TableComponent.d.ts +3 -1
  147. package/dist/types/nodeviews/TableResizer.d.ts +2 -1
  148. package/dist/types/types/index.d.ts +1 -1
  149. package/dist/types/ui/DragHandle/index.d.ts +21 -0
  150. package/dist/types/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +1 -1
  151. package/dist/types/ui/TableFloatingControls/RowControls/DragControls.d.ts +8 -5
  152. package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +3 -1
  153. package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -1
  154. package/dist/types-ts4.5/types/index.d.ts +1 -1
  155. package/dist/types-ts4.5/ui/DragHandle/index.d.ts +21 -0
  156. package/dist/types-ts4.5/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +1 -1
  157. package/dist/types-ts4.5/ui/TableFloatingControls/RowControls/DragControls.d.ts +8 -5
  158. package/package.json +15 -6
  159. package/src/nodeviews/TableCell.ts +0 -2
  160. package/src/nodeviews/TableComponent.tsx +8 -6
  161. package/src/nodeviews/TableComponentWithSharedState.tsx +4 -2
  162. package/src/nodeviews/TableContainer.tsx +12 -1
  163. package/src/nodeviews/TableNodeViewBase.ts +0 -2
  164. package/src/nodeviews/TableResizer.tsx +9 -5
  165. package/src/nodeviews/TableRow.ts +0 -2
  166. package/src/nodeviews/lazy-node-views.ts +0 -8
  167. package/src/nodeviews/table.tsx +1 -6
  168. package/src/pm-plugins/commands/column-resize.ts +0 -2
  169. package/src/pm-plugins/commands/commands-with-analytics.ts +0 -12
  170. package/src/pm-plugins/commands/delete.ts +0 -2
  171. package/src/pm-plugins/commands/insert.ts +0 -12
  172. package/src/pm-plugins/commands/misc.ts +0 -6
  173. package/src/pm-plugins/decorations/plugin.ts +0 -4
  174. package/src/pm-plugins/decorations/utils/column-resizing.ts +0 -2
  175. package/src/pm-plugins/drag-and-drop/commands-with-analytics.ts +0 -6
  176. package/src/pm-plugins/drag-and-drop/commands.ts +0 -8
  177. package/src/pm-plugins/drag-and-drop/plugin.ts +0 -4
  178. package/src/pm-plugins/keymap.ts +0 -2
  179. package/src/pm-plugins/main.ts +0 -4
  180. package/src/pm-plugins/table-resizing/event-handlers.ts +0 -2
  181. package/src/pm-plugins/table-resizing/plugin.ts +0 -2
  182. package/src/pm-plugins/table-resizing/utils/colgroup.ts +0 -6
  183. package/src/pm-plugins/table-resizing/utils/column-state.ts +0 -2
  184. package/src/pm-plugins/table-resizing/utils/content-width.ts +0 -6
  185. package/src/pm-plugins/table-resizing/utils/resize-column.ts +0 -2
  186. package/src/pm-plugins/table-resizing/utils/resize-logic.ts +0 -6
  187. package/src/pm-plugins/table-resizing/utils/resize-state.ts +0 -4
  188. package/src/pm-plugins/table-resizing/utils/scale-table.ts +0 -8
  189. package/src/pm-plugins/table-width.ts +0 -4
  190. package/src/pm-plugins/transforms/column-width.ts +0 -4
  191. package/src/pm-plugins/transforms/delete-columns.ts +0 -2
  192. package/src/pm-plugins/transforms/fix-tables.ts +0 -8
  193. package/src/pm-plugins/transforms/replace-table.ts +0 -2
  194. package/src/pm-plugins/transforms/split.ts +0 -2
  195. package/src/pm-plugins/utils/alignment.ts +0 -2
  196. package/src/pm-plugins/utils/decoration.ts +0 -8
  197. package/src/pm-plugins/utils/drag-menu.ts +0 -4
  198. package/src/pm-plugins/utils/nodes.ts +0 -2
  199. package/src/pm-plugins/utils/paste.ts +4 -2
  200. package/src/pm-plugins/utils/row-controls.ts +0 -2
  201. package/src/pm-plugins/utils/snapping.ts +0 -2
  202. package/src/tablePlugin.tsx +1 -0
  203. package/src/types/index.ts +1 -0
  204. package/src/ui/DragHandle/index.tsx +67 -2
  205. package/src/ui/FloatingInsertButton/getPopupOptions.ts +0 -4
  206. package/src/ui/TableFloatingColumnControls/ColumnControls/index.tsx +37 -20
  207. package/src/ui/TableFloatingColumnControls/index.tsx +1 -4
  208. package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +86 -27
  209. package/src/ui/TableFloatingControls/index.tsx +55 -32
  210. package/src/ui/event-handlers.ts +0 -2
  211. package/src/ui/toolbar.tsx +0 -18
@@ -51,10 +51,11 @@ export const TableComponentWithSharedState = ({
51
51
  allowTableAlignment,
52
52
  allowTableResizing,
53
53
  }: TableComponentWithSharedStateProps) => {
54
- const { widthState, tableState, mediaState } = useSharedPluginState(api, [
54
+ const { widthState, tableState, mediaState, selectionState } = useSharedPluginState(api, [
55
55
  'width',
56
56
  'table',
57
57
  'media',
58
+ 'selection',
58
59
  ]);
59
60
 
60
61
  if (!tableState) {
@@ -104,7 +105,7 @@ export const TableComponentWithSharedState = ({
104
105
  getPos={getPos}
105
106
  isMediaFullscreen={mediaState?.isFullscreen}
106
107
  options={options}
107
- allowControls={!!allowControls}
108
+ allowControls={allowControls}
108
109
  isHeaderRowEnabled={isHeaderRowEnabled}
109
110
  isHeaderColumnEnabled={isHeaderColumnEnabled}
110
111
  isDragAndDropEnabled={options?.isDragAndDropEnabled}
@@ -127,6 +128,7 @@ export const TableComponentWithSharedState = ({
127
128
  hoveredCell={hoveredCell}
128
129
  isTableHovered={isTableHovered}
129
130
  isWholeTableInDanger={isWholeTableInDanger}
131
+ selection={selectionState?.selection}
130
132
  />
131
133
  );
132
134
  };
@@ -19,6 +19,7 @@ import {
19
19
  akEditorGutterPaddingDynamic,
20
20
  akEditorMobileBreakoutPoint,
21
21
  } from '@atlaskit/editor-shared-styles';
22
+ import { fg } from '@atlaskit/platform-feature-flags';
22
23
 
23
24
  import { setTableAlignmentWithTableContentWithPosWithAnalytics } from '../pm-plugins/commands/commands-with-analytics';
24
25
  import { getPluginState } from '../pm-plugins/plugin-factory';
@@ -360,7 +361,7 @@ export const ResizableTableContainer = React.memo(
360
361
  className={ClassName.TABLE_RESIZER_CONTAINER}
361
362
  ref={containerRef}
362
363
  >
363
- {isLivePageViewMode ? (
364
+ {fg('platform_editor_live_page_prevent_table_recreation') ? null : isLivePageViewMode ? (
364
365
  <InnerContainer
365
366
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
366
367
  className={className}
@@ -380,6 +381,16 @@ export const ResizableTableContainer = React.memo(
380
381
  </InnerContainer>
381
382
  </TableResizer>
382
383
  )}
384
+ {fg('platform_editor_live_page_prevent_table_recreation') ? (
385
+ // Ignored via go/ees005
386
+ // eslint-disable-next-line react/jsx-props-no-spreading
387
+ <TableResizer {...tableResizerProps} disabled={isLivePageViewMode}>
388
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 */}
389
+ <InnerContainer className={className} node={node}>
390
+ {children}
391
+ </InnerContainer>
392
+ </TableResizer>
393
+ ) : null}
383
394
  </div>
384
395
  </AlignmentTableContainerWrapper>
385
396
  );
@@ -7,8 +7,6 @@ export default abstract class TableNodeView<T extends HTMLElement> implements No
7
7
  /**
8
8
  * @constructor
9
9
  */
10
- // Ignored via go/ees005
11
- // eslint-disable-next-line @typescript-eslint/max-params
12
10
  constructor(
13
11
  protected node: PmNode,
14
12
  protected readonly view: EditorView,
@@ -92,6 +92,7 @@ interface TableResizerProps {
92
92
  isCommentEditor?: boolean;
93
93
  onResizeStop?: () => void;
94
94
  onResizeStart?: () => void;
95
+ disabled?: boolean;
95
96
  }
96
97
 
97
98
  type ResizerNextHandler = React.ElementRef<typeof ResizerNext>;
@@ -152,8 +153,6 @@ const getVisibleGuidelines = (
152
153
  lineLength: number,
153
154
  isTableScalingEnabled: boolean,
154
155
  isFullWidthModeEnabled: boolean,
155
- // Ignored via go/ees005
156
- // eslint-disable-next-line @typescript-eslint/max-params
157
156
  ) => {
158
157
  let guidelineVisibleAdjustment = TABLE_GUIDELINE_VISIBLE_ADJUSTMENT;
159
158
  if (isTableScalingEnabled) {
@@ -205,6 +204,7 @@ export const TableResizer = ({
205
204
  pluginInjectionApi,
206
205
  isFullWidthModeEnabled,
207
206
  isCommentEditor,
207
+ disabled,
208
208
  }: PropsWithChildren<TableResizerProps>) => {
209
209
  const currentGap = useRef(0);
210
210
  // track resizing state - use ref over state to avoid re-render
@@ -325,8 +325,6 @@ export const TableResizer = ({
325
325
  newWidth: any,
326
326
  state: EditorState,
327
327
  dispatch: ((tr: Transaction) => void) | undefined,
328
- // Ignored via go/ees005
329
- // eslint-disable-next-line @typescript-eslint/max-params
330
328
  ) => {
331
329
  if (
332
330
  shouldChangeAlignmentToCenterResized(isTableAlignmentEnabled, node, lineLength, newWidth) &&
@@ -793,7 +791,13 @@ export const TableResizer = ({
793
791
  <>
794
792
  <ResizerNext
795
793
  ref={resizerRef}
796
- enable={handles}
794
+ enable={
795
+ fg('platform_editor_live_page_prevent_table_recreation')
796
+ ? disabled
797
+ ? {}
798
+ : handles
799
+ : handles
800
+ }
797
801
  width={width}
798
802
  handleAlignmentMethod="sticky"
799
803
  handleSize={handleSize}
@@ -42,8 +42,6 @@ const HEADER_ROW_SCROLL_THROTTLE_TIMEOUT = 200;
42
42
  const HEADER_ROW_SCROLL_RESET_DEBOUNCE_TIMEOUT = 400;
43
43
 
44
44
  export default class TableRow extends TableNodeView<HTMLTableRowElement> implements NodeView {
45
- // Ignored via go/ees005
46
- // eslint-disable-next-line @typescript-eslint/max-params
47
45
  constructor(
48
46
  node: PMNode,
49
47
  view: EditorView,
@@ -55,8 +55,6 @@ export const lazyTableView = (options: TableViewOptions) => {
55
55
  getPos: () => number | undefined,
56
56
  decorations: readonly Decoration[],
57
57
  getNodeViewOptions: () => TableViewOptions,
58
- // Ignored via go/ees005
59
- // eslint-disable-next-line @typescript-eslint/max-params
60
58
  ) => {
61
59
  const {
62
60
  portalProviderAPI,
@@ -122,8 +120,6 @@ export const lazyTableCellView = (options: TableCellViewOptions) => {
122
120
  getPos: () => number | undefined,
123
121
  decorations: readonly Decoration[],
124
122
  getNodeViewOptions: () => TableCellViewOptions,
125
- // Ignored via go/ees005
126
- // eslint-disable-next-line @typescript-eslint/max-params
127
123
  ) => {
128
124
  const { eventDispatcher, pluginInjectionApi } = getNodeViewOptions();
129
125
 
@@ -171,8 +167,6 @@ export const lazyTableHeaderView = (options: TableCellViewOptions) => {
171
167
  getPos: () => number | undefined,
172
168
  decorations: readonly Decoration[],
173
169
  getNodeViewOptions: () => TableCellViewOptions,
174
- // Ignored via go/ees005
175
- // eslint-disable-next-line @typescript-eslint/max-params
176
170
  ) => {
177
171
  const { eventDispatcher, pluginInjectionApi } = getNodeViewOptions();
178
172
 
@@ -214,8 +208,6 @@ export const lazyTableRowView = (options: TableCellViewOptions) => {
214
208
  getPos: () => number | undefined,
215
209
  decorations: readonly Decoration[],
216
210
  getNodeViewOptions: () => TableCellViewOptions,
217
- // Ignored via go/ees005
218
- // eslint-disable-next-line @typescript-eslint/max-params
219
211
  ) => {
220
212
  const { eventDispatcher } = getNodeViewOptions();
221
213
 
@@ -20,7 +20,6 @@ import type { EditorView, NodeView } from '@atlaskit/editor-prosemirror/view';
20
20
  import { akEditorTableNumberColumnWidth } from '@atlaskit/editor-shared-styles';
21
21
  import { TableMap } from '@atlaskit/editor-tables/table-map';
22
22
  import { fg } from '@atlaskit/platform-feature-flags';
23
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
24
23
 
25
24
  import { pluginConfig as getPluginConfig } from '../pm-plugins/create-plugin-config';
26
25
  import { pluginKey as tableDragAndDropPluginKey } from '../pm-plugins/drag-and-drop/plugin-key';
@@ -55,8 +54,6 @@ const getInlineWidth = (
55
54
  state: EditorState,
56
55
  pos: number | undefined,
57
56
  allowTableResizing?: boolean,
58
- // Ignored via go/ees005
59
- // eslint-disable-next-line @typescript-eslint/max-params
60
57
  ): number | undefined => {
61
58
  if (!node.attrs.width && options?.isCommentEditor && allowTableResizing) {
62
59
  return;
@@ -190,7 +187,7 @@ export default class TableView extends ReactNodeView<Props> {
190
187
  };
191
188
 
192
189
  render(props: Props, forwardRef: ForwardRef) {
193
- if (editorExperiment('platform_editor_table_use_shared_state_hook', true)) {
190
+ if (fg('platform_editor_table_use_shared_state_hook_fg')) {
194
191
  return (
195
192
  <TableComponentWithSharedState
196
193
  forwardRef={forwardRef}
@@ -399,8 +396,6 @@ export const createTableView = (
399
396
  pluginInjectionApi?: PluginInjectionAPI,
400
397
  isCommentEditor?: boolean,
401
398
  isChromelessEditor?: boolean,
402
- // Ignored via go/ees005
403
- // eslint-disable-next-line @typescript-eslint/max-params
404
399
  ): NodeView => {
405
400
  const {
406
401
  pluginConfig,
@@ -59,8 +59,6 @@ const updateResizeHandleAndStatePosition =
59
59
  columnIndex: number,
60
60
  nextResizeHandlePos: number,
61
61
  nodeViewPortalProviderAPI: PortalProviderAPI,
62
- // Ignored via go/ees005
63
- // eslint-disable-next-line @typescript-eslint/max-params
64
62
  ): Command =>
65
63
  (state, dispatch) => {
66
64
  let customTr = state.tr;
@@ -240,8 +240,6 @@ export const changeColumnWidthByStepWithAnalytics =
240
240
  inputMethod: INPUT_METHOD.SHORTCUT,
241
241
  ariaNotify?: (message: string) => void,
242
242
  getIntl?: () => IntlShape,
243
- // Ignored via go/ees005
244
- // eslint-disable-next-line @typescript-eslint/max-params
245
243
  ) =>
246
244
  withEditorAnalyticsAPI((state) => {
247
245
  const { table, totalRowCount, totalColumnCount } = getSelectedTableInfo(state.selection);
@@ -284,8 +282,6 @@ export const insertColumnWithAnalytics =
284
282
  isTableFixedColumnWidthsOptionEnabled = false,
285
283
  shouldUseIncreasedScalingPercent = false,
286
284
  isCommentEditor = false,
287
- // Ignored via go/ees005
288
- // eslint-disable-next-line @typescript-eslint/max-params
289
285
  ) =>
290
286
  (
291
287
  inputMethod:
@@ -363,8 +359,6 @@ export const deleteColumnsWithAnalytics =
363
359
  isTableFixedColumnWidthsOptionEnabled = false,
364
360
  shouldUseIncreasedScalingPercent = false,
365
361
  isCommentEditor = false,
366
- // Ignored via go/ees005
367
- // eslint-disable-next-line @typescript-eslint/max-params
368
362
  ) =>
369
363
  (
370
364
  inputMethod:
@@ -409,8 +403,6 @@ export const deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut =
409
403
  isTableScalingEnabled?: boolean,
410
404
  isTableFixedColumnWidthsOptionEnabled?: boolean,
411
405
  shouldUseIncreasedScalingPercent?: boolean,
412
- // Ignored via go/ees005
413
- // eslint-disable-next-line @typescript-eslint/max-params
414
406
  ): Command =>
415
407
  (state, dispatch) => {
416
408
  const { selection } = state;
@@ -659,8 +651,6 @@ export const setTableAlignmentWithAnalytics =
659
651
  previousAlignment: TableLayout,
660
652
  inputMethod: INPUT_METHOD.FLOATING_TB,
661
653
  reason: CHANGE_ALIGNMENT_REASON,
662
- // Ignored via go/ees005
663
- // eslint-disable-next-line @typescript-eslint/max-params
664
654
  ) =>
665
655
  withEditorAnalyticsAPI((state) => {
666
656
  const { table, totalRowCount, totalColumnCount } = getSelectedTableInfo(state.selection);
@@ -695,8 +685,6 @@ export const setTableAlignmentWithTableContentWithPosWithAnalytics =
695
685
  tableNodeWithPos: NodeWithPos,
696
686
  inputMethod: INPUT_METHOD.AUTO,
697
687
  reason: CHANGE_ALIGNMENT_REASON,
698
- // Ignored via go/ees005
699
- // eslint-disable-next-line @typescript-eslint/max-params
700
688
  ) =>
701
689
  withEditorAnalyticsAPI(() => {
702
690
  const map = TableMap.get(tableNodeWithPos.node);
@@ -13,8 +13,6 @@ export const deleteColumnsCommand =
13
13
  isTableFixedColumnWidthsOptionEnabled = false,
14
14
  shouldUseIncreasedScalingPercent = false,
15
15
  isCommentEditor = false,
16
- // Ignored via go/ees005
17
- // eslint-disable-next-line @typescript-eslint/max-params
18
16
  ): Command =>
19
17
  (state, dispatch, view) => {
20
18
  const tr = deleteColumns(
@@ -64,8 +64,6 @@ function addColumnAtCustomStep(column: number) {
64
64
  };
65
65
  }
66
66
 
67
- // Ignored via go/ees005
68
- // eslint-disable-next-line @typescript-eslint/max-params
69
67
  export function addColumnAt(
70
68
  api: PluginInjectionAPI | undefined | null,
71
69
  isTableScalingEnabled = false,
@@ -125,8 +123,6 @@ export const addColumnBefore =
125
123
  isTableFixedColumnWidthsOptionEnabled = false,
126
124
  shouldUseIncreasedScalingPercent = false,
127
125
  isCommentEditor = false,
128
- // Ignored via go/ees005
129
- // eslint-disable-next-line @typescript-eslint/max-params
130
126
  ): Command =>
131
127
  (state, dispatch, view) => {
132
128
  const table = findTable(state.selection);
@@ -161,8 +157,6 @@ export const addColumnAfter =
161
157
  isTableFixedColumnWidthsOptionEnabled?: boolean,
162
158
  shouldUseIncreasedScalingPercent?: boolean,
163
159
  isCommentEditor?: boolean,
164
- // Ignored via go/ees005
165
- // eslint-disable-next-line @typescript-eslint/max-params
166
160
  ): Command =>
167
161
  (state, dispatch, view) => {
168
162
  const table = findTable(state.selection);
@@ -196,8 +190,6 @@ export const insertColumn =
196
190
  isTableFixedColumnWidthsOptionEnabled?: boolean,
197
191
  shouldUseIncreasedScalingPercent?: boolean,
198
192
  isCommentEditor?: boolean,
199
- // Ignored via go/ees005
200
- // eslint-disable-next-line @typescript-eslint/max-params
201
193
  ) =>
202
194
  (column: number): Command =>
203
195
  (state, dispatch, view) => {
@@ -282,8 +274,6 @@ export const createTable =
282
274
  isCommentEditor?: boolean,
283
275
  isChromelessEditor?: boolean,
284
276
  isTableResizingEnabled?: boolean,
285
- // Ignored via go/ees005
286
- // eslint-disable-next-line @typescript-eslint/max-params
287
277
  ): Command =>
288
278
  (state, dispatch) => {
289
279
  const table = createTableWithWidth({
@@ -325,8 +315,6 @@ export const insertTableWithSize =
325
315
  editorAnalyticsAPI?: EditorAnalyticsAPI,
326
316
  isCommentEditor?: boolean,
327
317
  isChromelessEditor?: boolean,
328
- // Ignored via go/ees005
329
- // eslint-disable-next-line @typescript-eslint/max-params
330
318
  ) =>
331
319
  (rowsCount: number, colsCount: number, inputMethod?: INPUT_METHOD.PICKER): EditorCommand => {
332
320
  return ({ tr }) => {
@@ -578,8 +578,6 @@ export const addResizeHandleDecorations = (
578
578
  includeTooltip: boolean,
579
579
  nodeViewPortalProviderAPI: PortalProviderAPI,
580
580
  isKeyboardResize?: boolean,
581
- // Ignored via go/ees005
582
- // eslint-disable-next-line @typescript-eslint/max-params
583
581
  ) =>
584
582
  createCommand(
585
583
  (state) => {
@@ -621,8 +619,6 @@ export const updateResizeHandleDecorations = (
621
619
  rowIndex?: number,
622
620
  columnIndex?: number,
623
621
  includeTooltip?: boolean,
624
- // Ignored via go/ees005
625
- // eslint-disable-next-line @typescript-eslint/max-params
626
622
  ) =>
627
623
  createCommand(
628
624
  (state) => {
@@ -693,8 +689,6 @@ export const autoSizeTable = (
693
689
  table: HTMLTableElement,
694
690
  basePos: number | undefined,
695
691
  opts: { containerWidth: number },
696
- // Ignored via go/ees005
697
- // eslint-disable-next-line @typescript-eslint/max-params
698
692
  ) => {
699
693
  if (typeof basePos !== 'number') {
700
694
  return false;
@@ -26,8 +26,6 @@ export const handleDocOrSelectionChanged = (
26
26
  decorationSet: DecorationSet,
27
27
  oldState: EditorState,
28
28
  newState: EditorState,
29
- // Ignored via go/ees005
30
- // eslint-disable-next-line @typescript-eslint/max-params
31
29
  ): DecorationSet => {
32
30
  const isResizing = tableWidthPluginKey.getState(newState)?.resizing;
33
31
  const wasResizing = tableWidthPluginKey.getState(oldState)?.resizing;
@@ -64,8 +62,6 @@ export const createPlugin = () => {
64
62
  state: {
65
63
  init: () => DecorationSet.empty,
66
64
 
67
- // Ignored via go/ees005
68
- // eslint-disable-next-line @typescript-eslint/max-params
69
65
  apply: (tr, decorationSet, oldState, newState) => {
70
66
  let pluginState = decorationSet;
71
67
  // main table plugin --->
@@ -38,8 +38,6 @@ export const buildColumnResizingDecorations =
38
38
  includeTooltip: boolean,
39
39
  getIntl: () => IntlShape,
40
40
  nodeViewPortalProviderAPI: PortalProviderAPI,
41
- // Ignored via go/ees005
42
- // eslint-disable-next-line @typescript-eslint/max-params
43
41
  ): DecorationTransformer =>
44
42
  ({ tr, decorationSet }): DecorationSet => {
45
43
  const [columnResizesDecorations, lastCellElementsDecorations] =
@@ -30,8 +30,6 @@ export const clearDropTargetWithAnalytics =
30
30
  sourceIndexes: number[] | undefined,
31
31
  status: TABLE_STATUS.CANCELLED | TABLE_STATUS.INVALID,
32
32
  tr?: Transaction,
33
- // Ignored via go/ees005
34
- // eslint-disable-next-line @typescript-eslint/max-params
35
33
  ) => {
36
34
  return withEditorAnalyticsAPI(({ selection }: EditorState) => {
37
35
  const { totalRowCount, totalColumnCount } = getSelectedTableInfo(selection);
@@ -72,8 +70,6 @@ export const moveSourceWithAnalytics =
72
70
  sourceIndexes: number[],
73
71
  targetIndex: number,
74
72
  tr?: Transaction,
75
- // Ignored via go/ees005
76
- // eslint-disable-next-line @typescript-eslint/max-params
77
73
  ) => {
78
74
  return withEditorAnalyticsAPI(({ selection }: EditorState) => {
79
75
  const direction = sourceIndexes[0] > targetIndex ? -1 : 1;
@@ -194,8 +190,6 @@ export const cloneSourceWithAnalytics =
194
190
  targetIndex: number,
195
191
  targetDirection: 'start' | 'end',
196
192
  tr?: Transaction,
197
- // Ignored via go/ees005
198
- // eslint-disable-next-line @typescript-eslint/max-params
199
193
  ) => {
200
194
  return withEditorAnalyticsAPI(({ selection }: EditorState) => {
201
195
  const direction = sourceIndexes[0] > targetIndex ? -1 : 1;
@@ -33,8 +33,6 @@ export const setDropTarget = (
33
33
  index: number,
34
34
  hasMergedCells: boolean,
35
35
  tr?: Transaction,
36
- // Ignored via go/ees005
37
- // eslint-disable-next-line @typescript-eslint/max-params
38
36
  ) =>
39
37
  createCommand(
40
38
  (state) => {
@@ -92,8 +90,6 @@ export const moveSource = (
92
90
  sourceIndexes: number[],
93
91
  targetIndex: number,
94
92
  tr?: Transaction,
95
- // Ignored via go/ees005
96
- // eslint-disable-next-line @typescript-eslint/max-params
97
93
  ) =>
98
94
  createCommand(
99
95
  (state) => {
@@ -121,8 +117,6 @@ export const toggleDragMenu = (
121
117
  direction?: TableDirection,
122
118
  index?: number,
123
119
  trigger: TriggerType = 'mouse',
124
- // Ignored via go/ees005
125
- // eslint-disable-next-line @typescript-eslint/max-params
126
120
  ) =>
127
121
  createCommand(
128
122
  (state) => {
@@ -180,8 +174,6 @@ export const cloneSource = (
180
174
  targetIndex: number,
181
175
  targetDirection: 'start' | 'end',
182
176
  tr?: Transaction,
183
- // Ignored via go/ees005
184
- // eslint-disable-next-line @typescript-eslint/max-params
185
177
  ) =>
186
178
  createCommand(
187
179
  (state) => {
@@ -37,8 +37,6 @@ const destroyFn = (
37
37
  isTableScalingEnabled: boolean,
38
38
  isTableFixedColumnWidthsOptionEnabled: boolean,
39
39
  isCommentEditor: boolean,
40
- // Ignored via go/ees005
41
- // eslint-disable-next-line @typescript-eslint/max-params
42
40
  ) => {
43
41
  const editorPageScrollContainer = document.querySelector('.fabric-editor-popup-scroll-parent');
44
42
 
@@ -265,8 +263,6 @@ export const createPlugin = (
265
263
  isTableScalingEnabled = false,
266
264
  isTableFixedColumnWidthsOptionEnabled = false,
267
265
  isCommentEditor = false,
268
- // Ignored via go/ees005
269
- // eslint-disable-next-line @typescript-eslint/max-params
270
266
  ) => {
271
267
  return new SafePlugin({
272
268
  state: createPluginState(dispatch, (state) => ({
@@ -67,8 +67,6 @@ import {
67
67
  insertTableWithNestingSupport,
68
68
  } from './commands/insert';
69
69
 
70
- // Ignored via go/ees005
71
- // eslint-disable-next-line @typescript-eslint/max-params
72
70
  export function keymapPlugin(
73
71
  getEditorContainerWidth: GetEditorContainerWidth,
74
72
  api: PluginInjectionAPI | undefined | null,
@@ -98,8 +98,6 @@ export const createPlugin = (
98
98
  shouldUseIncreasedScalingPercent?: boolean,
99
99
  isCommentEditor?: boolean,
100
100
  isChromelessEditor?: boolean,
101
- // Ignored via go/ees005
102
- // eslint-disable-next-line @typescript-eslint/max-params
103
101
  ) => {
104
102
  const state = createPluginState(dispatch, {
105
103
  pluginConfig,
@@ -355,8 +353,6 @@ export const createPlugin = (
355
353
  const maybeTr = closestElement(domRef as HTMLElement | undefined, 'tr');
356
354
  return maybeTr ? maybeTr.classList.contains('sticky') : false;
357
355
  },
358
- // Ignored via go/ees005
359
- // eslint-disable-next-line @typescript-eslint/max-params
360
356
  handleTextInput: (view, _from, _to, text) => {
361
357
  const { state, dispatch } = view;
362
358
  const { isKeyboardResize } = getPluginState(state);
@@ -47,8 +47,6 @@ export const handleMouseDown = (
47
47
  nodeViewPortalProviderAPI: PortalProviderAPI,
48
48
  editorAnalyticsAPI?: EditorAnalyticsAPI,
49
49
  isCommentEditor?: boolean,
50
- // Ignored via go/ees005
51
- // eslint-disable-next-line @typescript-eslint/max-params
52
50
  ): boolean => {
53
51
  const { state, dispatch } = view;
54
52
  const editorDisabled = !view.editable;
@@ -16,8 +16,6 @@ import { createPluginState, getPluginState } from './plugin-factory';
16
16
  import { pluginKey } from './plugin-key';
17
17
  import { getResizeCellPos } from './utils/dom';
18
18
 
19
- // Ignored via go/ees005
20
- // eslint-disable-next-line @typescript-eslint/max-params
21
19
  export function createPlugin(
22
20
  dispatch: Dispatch<ColumnResizingPluginState>,
23
21
  { lastColumnResizable = true }: ColumnResizingPluginState,
@@ -23,8 +23,6 @@ export const generateColgroup = (
23
23
  tableRef?: HTMLElement,
24
24
  shouldUseIncreasedScalingPercent?: boolean,
25
25
  isCommentEditor?: boolean,
26
- // Ignored via go/ees005
27
- // eslint-disable-next-line @typescript-eslint/max-params
28
26
  ) => {
29
27
  const cols: Col[] = [];
30
28
  const map = TableMap.get(table);
@@ -93,8 +91,6 @@ export const insertColgroupFromNode = (
93
91
  shouldRemove = true,
94
92
  shouldUseIncreasedScalingPercent = false,
95
93
  isCommentEditor = false,
96
- // Ignored via go/ees005
97
- // eslint-disable-next-line @typescript-eslint/max-params
98
94
  ): HTMLCollection => {
99
95
  // Ignored via go/ees005
100
96
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
@@ -146,8 +142,6 @@ export const isMinCellWidthTable = (table: PmNode) => {
146
142
  return isTableMinCellWidth;
147
143
  };
148
144
 
149
- // Ignored via go/ees005
150
- // eslint-disable-next-line @typescript-eslint/max-params
151
145
  function renderColgroupFromNode(
152
146
  table: PmNode,
153
147
  maybeTableRef: HTMLElement | undefined,
@@ -43,8 +43,6 @@ export const getCellsRefsInColumn = (
43
43
  table: PMNode,
44
44
  tableStart: number,
45
45
  domAtPos: (pos: number) => { node: Node; offset: number },
46
- // Ignored via go/ees005
47
- // eslint-disable-next-line @typescript-eslint/max-params
48
46
  ): HTMLElement[] => {
49
47
  const map = TableMap.get(table);
50
48
  const cellsPositions = map.cellsInRect({
@@ -1,8 +1,6 @@
1
1
  import { unitToNumber } from './unit-to-number';
2
2
 
3
3
  // calculates content width of a cell
4
- // Ignored via go/ees005
5
- // eslint-disable-next-line @typescript-eslint/max-params
6
4
  export function contentWidth(
7
5
  elem: HTMLElement,
8
6
  container: HTMLElement,
@@ -12,8 +10,6 @@ export function contentWidth(
12
10
  return calcContentWidth(elem, container || elem, canvas, colWidths);
13
11
  }
14
12
 
15
- // Ignored via go/ees005
16
- // eslint-disable-next-line @typescript-eslint/max-params
17
13
  function calcContentWidth(
18
14
  elem: HTMLElement,
19
15
  container: HTMLElement,
@@ -95,8 +91,6 @@ function measureText(canvas: HTMLCanvasElement, text: string | null, font: strin
95
91
  return Math.round(ctx.measureText(text || '').width);
96
92
  }
97
93
 
98
- // Ignored via go/ees005
99
- // eslint-disable-next-line @typescript-eslint/max-params
100
94
  function handlePreText(
101
95
  canvas: HTMLCanvasElement,
102
96
  node: HTMLElement,
@@ -14,8 +14,6 @@ export const resizeColumn = (
14
14
  selectedColumns?: number[],
15
15
  isTableScalingEnabled = false,
16
16
  scalePercent = 1,
17
- // Ignored via go/ees005
18
- // eslint-disable-next-line @typescript-eslint/max-params
19
17
  ): ResizeState => {
20
18
  let resizeAmount = amount;
21
19
 
@@ -8,8 +8,6 @@ export const growColumn = (
8
8
  colIndex: number,
9
9
  amount: number,
10
10
  selectedColumns?: number[],
11
- // Ignored via go/ees005
12
- // eslint-disable-next-line @typescript-eslint/max-params
13
11
  ): ResizeState => {
14
12
  // can't grow if columns don't exist or it's the last column
15
13
  if (!state.cols[colIndex] || !state.cols[colIndex + 1]) {
@@ -34,8 +32,6 @@ export const shrinkColumn = (
34
32
  colIndex: number,
35
33
  amount: number,
36
34
  selectedColumns?: number[],
37
- // Ignored via go/ees005
38
- // eslint-disable-next-line @typescript-eslint/max-params
39
35
  ): ResizeState => {
40
36
  // can't shrink if columns don't exist
41
37
  if (!state.cols[colIndex]) {
@@ -119,8 +115,6 @@ enum ColType {
119
115
 
120
116
  // TODO: should handle when destIdx:
121
117
  // - is beyond the range, and then not give it back
122
- // Ignored via go/ees005
123
- // eslint-disable-next-line @typescript-eslint/max-params
124
118
  function moveSpaceFrom(
125
119
  state: ResizeState,
126
120
  srcIdx: number,
@@ -117,8 +117,6 @@ export const updateColgroup = (
117
117
  tableNode?: PMNode,
118
118
  isTableScalingEnabled?: boolean,
119
119
  scalePercent?: number,
120
- // Ignored via go/ees005
121
- // eslint-disable-next-line @typescript-eslint/max-params
122
120
  ): void => {
123
121
  const cols = tableRef?.querySelectorAll('col');
124
122
  const columnsCount = cols?.length;
@@ -328,8 +326,6 @@ export const getNewResizeStateFromSelectedColumns = (
328
326
  isTableScalingEnabled = false,
329
327
  isTableFixedColumnWidthsOptionEnabled = false,
330
328
  isCommentEditor = false,
331
- // Ignored via go/ees005
332
- // eslint-disable-next-line @typescript-eslint/max-params
333
329
  ): ResizeStateWithAnalytics | undefined => {
334
330
  // Fail early so that we don't do complex calculations for no reason
335
331
  const numColumnsSelected = rect.right - rect.left;