@atlaskit/editor-plugin-table 7.1.3 → 7.2.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 (91) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/nodeviews/TableComponent.js +0 -3
  3. package/dist/cjs/nodeviews/table.js +1 -4
  4. package/dist/cjs/plugin.js +0 -1
  5. package/dist/cjs/pm-plugins/drag-and-drop/actions.js +1 -2
  6. package/dist/cjs/pm-plugins/drag-and-drop/consts.js +2 -3
  7. package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +14 -39
  8. package/dist/cjs/pm-plugins/drag-and-drop/reducer.js +0 -2
  9. package/dist/cjs/ui/DragHandle/index.js +3 -5
  10. package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +1 -2
  11. package/dist/cjs/ui/FloatingDragMenu/index.js +0 -2
  12. package/dist/cjs/ui/TableFloatingColumnControls/ColumnControls/index.js +1 -3
  13. package/dist/cjs/ui/TableFloatingColumnControls/index.js +0 -2
  14. package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +1 -3
  15. package/dist/cjs/ui/TableFloatingControls/index.js +4 -7
  16. package/dist/es2019/nodeviews/TableComponent.js +0 -3
  17. package/dist/es2019/nodeviews/table.js +1 -5
  18. package/dist/es2019/plugin.js +0 -1
  19. package/dist/es2019/pm-plugins/drag-and-drop/actions.js +1 -2
  20. package/dist/es2019/pm-plugins/drag-and-drop/consts.js +1 -2
  21. package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +15 -39
  22. package/dist/es2019/pm-plugins/drag-and-drop/reducer.js +0 -5
  23. package/dist/es2019/ui/DragHandle/index.js +3 -4
  24. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +1 -2
  25. package/dist/es2019/ui/FloatingDragMenu/index.js +0 -2
  26. package/dist/es2019/ui/TableFloatingColumnControls/ColumnControls/index.js +1 -3
  27. package/dist/es2019/ui/TableFloatingColumnControls/index.js +0 -2
  28. package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +1 -3
  29. package/dist/es2019/ui/TableFloatingControls/index.js +4 -7
  30. package/dist/esm/nodeviews/TableComponent.js +0 -3
  31. package/dist/esm/nodeviews/table.js +1 -4
  32. package/dist/esm/plugin.js +0 -1
  33. package/dist/esm/pm-plugins/drag-and-drop/actions.js +1 -2
  34. package/dist/esm/pm-plugins/drag-and-drop/consts.js +1 -2
  35. package/dist/esm/pm-plugins/drag-and-drop/plugin.js +15 -39
  36. package/dist/esm/pm-plugins/drag-and-drop/reducer.js +0 -2
  37. package/dist/esm/ui/DragHandle/index.js +3 -5
  38. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +1 -2
  39. package/dist/esm/ui/FloatingDragMenu/index.js +0 -2
  40. package/dist/esm/ui/TableFloatingColumnControls/ColumnControls/index.js +1 -3
  41. package/dist/esm/ui/TableFloatingColumnControls/index.js +0 -2
  42. package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +1 -3
  43. package/dist/esm/ui/TableFloatingControls/index.js +4 -7
  44. package/dist/types/nodeviews/TableComponent.d.ts +0 -1
  45. package/dist/types/pm-plugins/drag-and-drop/actions.d.ts +1 -4
  46. package/dist/types/pm-plugins/drag-and-drop/consts.d.ts +0 -1
  47. package/dist/types/pm-plugins/drag-and-drop/plugin.d.ts +1 -2
  48. package/dist/types/pm-plugins/drag-and-drop/types.d.ts +0 -1
  49. package/dist/types/ui/DragHandle/index.d.ts +0 -1
  50. package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +1 -2
  51. package/dist/types/ui/FloatingDragMenu/index.d.ts +1 -2
  52. package/dist/types/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +1 -2
  53. package/dist/types/ui/TableFloatingColumnControls/index.d.ts +0 -1
  54. package/dist/types/ui/TableFloatingControls/RowControls/DragControls.d.ts +0 -1
  55. package/dist/types/ui/TableFloatingControls/index.d.ts +0 -1
  56. package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +0 -1
  57. package/dist/types-ts4.5/pm-plugins/drag-and-drop/actions.d.ts +1 -4
  58. package/dist/types-ts4.5/pm-plugins/drag-and-drop/consts.d.ts +0 -1
  59. package/dist/types-ts4.5/pm-plugins/drag-and-drop/plugin.d.ts +1 -2
  60. package/dist/types-ts4.5/pm-plugins/drag-and-drop/types.d.ts +0 -1
  61. package/dist/types-ts4.5/ui/DragHandle/index.d.ts +0 -1
  62. package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +1 -2
  63. package/dist/types-ts4.5/ui/FloatingDragMenu/index.d.ts +1 -2
  64. package/dist/types-ts4.5/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +1 -2
  65. package/dist/types-ts4.5/ui/TableFloatingColumnControls/index.d.ts +0 -1
  66. package/dist/types-ts4.5/ui/TableFloatingControls/RowControls/DragControls.d.ts +0 -1
  67. package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +0 -1
  68. package/package.json +5 -5
  69. package/src/__tests__/visual-regression/__image_snapshots__/cell-options-menu-ts-table-cell-options-menu-delete-column-menu-item-should-remove-the-table-column-on-click-1-snap.png +2 -2
  70. package/src/__tests__/visual-regression/__image_snapshots__/cell-options-menu-ts-table-cell-options-menu-delete-column-menu-item-visual-hints-should-be-added-to-the-table-column-on-hover-1-snap.png +2 -2
  71. package/src/__tests__/visual-regression/__image_snapshots__/cell-options-menu-ts-table-cell-options-menu-delete-row-menu-item-should-remove-the-table-row-on-click-1-snap.png +2 -2
  72. package/src/__tests__/visual-regression/__image_snapshots__/cell-options-menu-ts-table-cell-options-menu-delete-row-menu-item-visual-hints-should-be-added-to-the-table-row-on-hover-1-snap.png +2 -2
  73. package/src/__tests__/visual-regression/__image_snapshots__/sticky-header-ts-snapshot-test-table-sticky-header-should-align-with-table-cell-when-active-1-snap.png +2 -2
  74. package/src/__tests__/visual-regression/__image_snapshots__/sticky-header-ts-snapshot-test-table-sticky-header-should-align-with-table-cell-when-active-2-snap.png +2 -2
  75. package/src/nodeviews/TableComponent.tsx +0 -4
  76. package/src/nodeviews/table.tsx +0 -3
  77. package/src/plugin.tsx +0 -1
  78. package/src/pm-plugins/drag-and-drop/actions.ts +1 -9
  79. package/src/pm-plugins/drag-and-drop/consts.ts +0 -2
  80. package/src/pm-plugins/drag-and-drop/plugin.ts +17 -49
  81. package/src/pm-plugins/drag-and-drop/reducer.ts +0 -5
  82. package/src/pm-plugins/drag-and-drop/types.ts +0 -1
  83. package/src/ui/DragHandle/index.tsx +2 -5
  84. package/src/ui/FloatingDragMenu/DragMenu.tsx +1 -3
  85. package/src/ui/FloatingDragMenu/index.tsx +0 -3
  86. package/src/ui/TableFloatingColumnControls/ColumnControls/index.tsx +0 -3
  87. package/src/ui/TableFloatingColumnControls/index.tsx +0 -3
  88. package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +0 -3
  89. package/src/ui/TableFloatingControls/index.tsx +1 -6
  90. package/tsconfig.json +3 -0
  91. package/src/__tests__/unit/pm-plugins/drag-and-drop/plugin.ts +0 -112
@@ -1,112 +0,0 @@
1
- import type { DocBuilder } from '@atlaskit/editor-common/types';
2
- // eslint-disable-next-line import/no-extraneous-dependencies -- Removed import for fixing circular dependencies
3
- import { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
4
- import { contentInsertionPlugin } from '@atlaskit/editor-plugin-content-insertion';
5
- import { featureFlagsPlugin } from '@atlaskit/editor-plugin-feature-flags';
6
- import { guidelinePlugin } from '@atlaskit/editor-plugin-guideline';
7
- import { selectionPlugin } from '@atlaskit/editor-plugin-selection';
8
- import { widthPlugin } from '@atlaskit/editor-plugin-width';
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
- import type { LightEditorPlugin } from '@atlaskit/editor-test-helpers/create-prosemirror-editor';
11
- // eslint-disable-next-line import/no-extraneous-dependencies -- Removed import for fixing circular dependencies
12
- import {
13
- createProsemirrorEditorFactory,
14
- Preset,
15
- } from '@atlaskit/editor-test-helpers/create-prosemirror-editor';
16
- // eslint-disable-next-line import/no-extraneous-dependencies -- Removed import for fixing circular dependencies
17
- import {
18
- doc,
19
- p,
20
- table,
21
- td,
22
- tdCursor,
23
- tdEmpty,
24
- tr,
25
- } from '@atlaskit/editor-test-helpers/doc-builder';
26
-
27
- import tablePlugin from '../../../../plugin';
28
- import { DRAGGABLE_TABLE_NODE_SIZE_LIMIT } from '../../../../pm-plugins/drag-and-drop/consts';
29
- import { getPluginState } from '../../../../pm-plugins/drag-and-drop/plugin-factory';
30
- import { pluginKey } from '../../../../pm-plugins/plugin-key';
31
- import type { PluginConfig } from '../../../../types';
32
-
33
- const tableOptions = {
34
- allowNumberColumn: true,
35
- allowHeaderRow: true,
36
- allowHeaderColumn: true,
37
- permittedLayouts: 'all',
38
- allowColumnResizing: true,
39
- stickyHeaders: true,
40
- } as PluginConfig;
41
-
42
- describe('drag and drop plugin', () => {
43
- const createEditor = createProsemirrorEditorFactory();
44
- const editor = (doc: DocBuilder) =>
45
- createEditor({
46
- doc,
47
- attachTo: document.body,
48
- preset: new Preset<LightEditorPlugin>()
49
- .add([featureFlagsPlugin, {}])
50
- .add([analyticsPlugin, {}])
51
- .add(contentInsertionPlugin)
52
- .add(widthPlugin)
53
- .add(guidelinePlugin)
54
- .add(selectionPlugin)
55
- .add([
56
- tablePlugin,
57
- {
58
- tableOptions,
59
- dragAndDropEnabled: true,
60
- },
61
- ]),
62
- pluginKey,
63
- });
64
-
65
- describe('when table is not selected', () => {
66
- it('should reset table canDrag so by default tables are draggable', () => {
67
- const { editorView } = editor(
68
- doc(
69
- p('{<>}Hello World'),
70
- table()(tr(tdEmpty, tdEmpty), tr(tdEmpty, tdEmpty)),
71
- ),
72
- );
73
-
74
- const { canDrag } = getPluginState(editorView.state);
75
- expect(canDrag).toBe(true);
76
- });
77
- });
78
-
79
- describe('when table is selected', () => {
80
- it('should allow items to be draggable if table is within nodeSize limit', () => {
81
- const { editorView } = editor(
82
- // The nodeSize of an empty 2x2 is 22 so if i adjust the limit to be 1 under the max (ie. 23), then canDrag should be enabled.
83
- doc(
84
- table()(
85
- tr(tdCursor, tdEmpty),
86
- tr(
87
- tdEmpty,
88
- td()(p('-'.repeat(DRAGGABLE_TABLE_NODE_SIZE_LIMIT - 23))),
89
- ),
90
- ),
91
- ),
92
- );
93
-
94
- const { canDrag } = getPluginState(editorView.state);
95
- expect(canDrag).toBe(true);
96
- });
97
-
98
- it('should not allow items to be draggable if table is above nodeSize limit', () => {
99
- const { editorView } = editor(
100
- doc(
101
- table()(
102
- tr(tdCursor, tdEmpty),
103
- tr(tdEmpty, td()(p('-'.repeat(DRAGGABLE_TABLE_NODE_SIZE_LIMIT)))),
104
- ),
105
- ),
106
- );
107
-
108
- const { canDrag } = getPluginState(editorView.state);
109
- expect(canDrag).toBe(false);
110
- });
111
- });
112
- });