@atlaskit/editor-plugin-table 2.10.8 → 2.11.0

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 (86) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/plugins/table/commands/misc.js +58 -5
  3. package/dist/cjs/plugins/table/event-handlers.js +3 -6
  4. package/dist/cjs/plugins/table/index.js +3 -2
  5. package/dist/cjs/plugins/table/nodeviews/TableResizer.js +13 -19
  6. package/dist/cjs/plugins/table/pm-plugins/decorations/utils/column-resizing.js +18 -5
  7. package/dist/cjs/plugins/table/pm-plugins/decorations/utils/index.js +6 -0
  8. package/dist/cjs/plugins/table/pm-plugins/main.js +7 -3
  9. package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +5 -0
  10. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +2 -0
  11. package/dist/cjs/plugins/table/reducer.js +26 -2
  12. package/dist/cjs/plugins/table/types.js +1 -0
  13. package/dist/cjs/plugins/table/ui/ColumnResizeWidget/index.js +44 -0
  14. package/dist/cjs/plugins/table/ui/messages.js +5 -0
  15. package/dist/cjs/plugins/table/utils/decoration.js +17 -4
  16. package/dist/es2019/plugins/table/commands/misc.js +49 -5
  17. package/dist/es2019/plugins/table/event-handlers.js +3 -6
  18. package/dist/es2019/plugins/table/index.js +3 -2
  19. package/dist/es2019/plugins/table/nodeviews/TableResizer.js +14 -17
  20. package/dist/es2019/plugins/table/pm-plugins/decorations/utils/column-resizing.js +12 -2
  21. package/dist/es2019/plugins/table/pm-plugins/decorations/utils/index.js +1 -1
  22. package/dist/es2019/plugins/table/pm-plugins/main.js +6 -3
  23. package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +5 -0
  24. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +2 -0
  25. package/dist/es2019/plugins/table/reducer.js +29 -2
  26. package/dist/es2019/plugins/table/types.js +1 -0
  27. package/dist/es2019/plugins/table/ui/ColumnResizeWidget/index.js +35 -0
  28. package/dist/es2019/plugins/table/ui/messages.js +5 -0
  29. package/dist/es2019/plugins/table/utils/decoration.js +16 -5
  30. package/dist/esm/plugins/table/commands/misc.js +56 -5
  31. package/dist/esm/plugins/table/event-handlers.js +3 -6
  32. package/dist/esm/plugins/table/index.js +3 -2
  33. package/dist/esm/plugins/table/nodeviews/TableResizer.js +13 -19
  34. package/dist/esm/plugins/table/pm-plugins/decorations/utils/column-resizing.js +15 -3
  35. package/dist/esm/plugins/table/pm-plugins/decorations/utils/index.js +1 -1
  36. package/dist/esm/plugins/table/pm-plugins/main.js +8 -4
  37. package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +5 -0
  38. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +2 -0
  39. package/dist/esm/plugins/table/reducer.js +26 -2
  40. package/dist/esm/plugins/table/types.js +1 -0
  41. package/dist/esm/plugins/table/ui/ColumnResizeWidget/index.js +35 -0
  42. package/dist/esm/plugins/table/ui/messages.js +5 -0
  43. package/dist/esm/plugins/table/utils/decoration.js +17 -4
  44. package/dist/types/plugins/table/commands/misc.d.ts +8 -6
  45. package/dist/types/plugins/table/event-handlers.d.ts +3 -3
  46. package/dist/types/plugins/table/pm-plugins/decorations/utils/column-resizing.d.ts +4 -2
  47. package/dist/types/plugins/table/pm-plugins/decorations/utils/index.d.ts +1 -1
  48. package/dist/types/plugins/table/pm-plugins/main.d.ts +2 -1
  49. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +2 -2
  50. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +3 -3
  51. package/dist/types/plugins/table/reducer.d.ts +1 -1
  52. package/dist/types/plugins/table/types.d.ts +18 -0
  53. package/dist/types/plugins/table/ui/ColumnResizeWidget/index.d.ts +9 -0
  54. package/dist/types/plugins/table/ui/messages.d.ts +5 -0
  55. package/dist/types/plugins/table/utils/decoration.d.ts +2 -1
  56. package/dist/types-ts4.5/plugins/table/commands/misc.d.ts +8 -6
  57. package/dist/types-ts4.5/plugins/table/event-handlers.d.ts +3 -3
  58. package/dist/types-ts4.5/plugins/table/pm-plugins/decorations/utils/column-resizing.d.ts +4 -2
  59. package/dist/types-ts4.5/plugins/table/pm-plugins/decorations/utils/index.d.ts +1 -1
  60. package/dist/types-ts4.5/plugins/table/pm-plugins/main.d.ts +2 -1
  61. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/plugin.d.ts +2 -2
  62. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +3 -3
  63. package/dist/types-ts4.5/plugins/table/reducer.d.ts +1 -1
  64. package/dist/types-ts4.5/plugins/table/types.d.ts +18 -0
  65. package/dist/types-ts4.5/plugins/table/ui/ColumnResizeWidget/index.d.ts +9 -0
  66. package/dist/types-ts4.5/plugins/table/ui/messages.d.ts +5 -0
  67. package/dist/types-ts4.5/plugins/table/utils/decoration.d.ts +2 -1
  68. package/package.json +2 -2
  69. package/src/__tests__/unit/event-handlers.ts +1 -1
  70. package/src/__tests__/unit/nodeviews/TableContainer.tsx +17 -8
  71. package/src/__tests__/unit/pm-plugins/decorations/column-resizing.ts +2 -0
  72. package/src/plugins/table/commands/misc.ts +84 -7
  73. package/src/plugins/table/event-handlers.ts +11 -16
  74. package/src/plugins/table/index.tsx +2 -0
  75. package/src/plugins/table/nodeviews/TableResizer.tsx +12 -20
  76. package/src/plugins/table/pm-plugins/decorations/utils/column-resizing.ts +34 -7
  77. package/src/plugins/table/pm-plugins/decorations/utils/index.ts +4 -1
  78. package/src/plugins/table/pm-plugins/main.ts +7 -1
  79. package/src/plugins/table/pm-plugins/table-resizing/event-handlers.ts +5 -0
  80. package/src/plugins/table/pm-plugins/table-resizing/plugin.ts +3 -5
  81. package/src/plugins/table/pm-plugins/table-resizing/utils/scale-table.ts +5 -3
  82. package/src/plugins/table/reducer.ts +51 -3
  83. package/src/plugins/table/types.ts +19 -0
  84. package/src/plugins/table/ui/ColumnResizeWidget/index.tsx +53 -0
  85. package/src/plugins/table/ui/messages.ts +5 -0
  86. package/src/plugins/table/utils/decoration.ts +27 -5
@@ -1,3 +1,9 @@
1
+ import { createElement } from 'react';
2
+
3
+ import ReactDOM from 'react-dom';
4
+ import { RawIntlProvider } from 'react-intl-next';
5
+ import type { IntlShape } from 'react-intl-next';
6
+
1
7
  import type { CellAttributes } from '@atlaskit/adf-schema';
2
8
  import { nonNullable } from '@atlaskit/editor-common/utils';
3
9
  import type { Node as PmNode } from '@atlaskit/editor-prosemirror/model';
@@ -19,6 +25,7 @@ import {
19
25
 
20
26
  import type { Cell, CellColumnPositioning } from '../types';
21
27
  import { TableCssClassName as ClassName, TableDecorations } from '../types';
28
+ import { ColumnResizeWidget } from '../ui/ColumnResizeWidget';
22
29
 
23
30
  const filterDecorationByKey = (
24
31
  key: TableDecorations,
@@ -238,7 +245,6 @@ export const updateDecorations = (
238
245
  ): DecorationSet => {
239
246
  const filteredDecorations = filterDecorationByKey(key, decorationSet);
240
247
  const decorationSetFiltered = decorationSet.remove(filteredDecorations);
241
-
242
248
  return decorationSetFiltered.add(node, decorations);
243
249
  };
244
250
 
@@ -327,6 +333,8 @@ export const createResizeHandleDecoration = (
327
333
  tr: Transaction | ReadonlyTransaction,
328
334
  rowIndexTarget: number,
329
335
  columnEndIndexTarget: Omit<CellColumnPositioning, 'left'>,
336
+ includeTooltip: boolean = false,
337
+ getIntl: () => IntlShape,
330
338
  ): [Decoration[], Decoration[]] => {
331
339
  const emptyResult: [Decoration[], Decoration[]] = [[], []];
332
340
  const table = findTable(tr.selection);
@@ -351,13 +359,27 @@ export const createResizeHandleDecoration = (
351
359
  position,
352
360
  () => {
353
361
  const element = document.createElement('div');
354
- element.classList.add(ClassName.RESIZE_HANDLE_DECORATION);
355
- element.dataset.startIndex = `${cellColumnPositioning.left}`;
356
- element.dataset.endIndex = `${cellColumnPositioning.right}`;
362
+ ReactDOM.render(
363
+ createElement(
364
+ RawIntlProvider,
365
+ { value: getIntl() },
366
+ createElement(ColumnResizeWidget, {
367
+ startIndex: cellColumnPositioning.left,
368
+ endIndex: cellColumnPositioning.right,
369
+ includeTooltip,
370
+ }),
371
+ ),
372
+ element,
373
+ );
357
374
  return element;
358
375
  },
359
376
  {
360
- key: `${TableDecorations.COLUMN_RESIZING_HANDLE}_${rowIndex}_${columnIndex}`,
377
+ key: `${
378
+ TableDecorations.COLUMN_RESIZING_HANDLE_WIDGET
379
+ }_${rowIndex}_${columnIndex}_${includeTooltip ? 'with' : 'no'}-tooltip`,
380
+ destroy: (node) => {
381
+ ReactDOM.unmountComponentAtNode(node as HTMLDivElement);
382
+ },
361
383
  },
362
384
  );
363
385
  };