@atlaskit/editor-plugin-table 7.16.8 → 7.16.10

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 (137) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/nodeviews/ExternalDropTargets.js +4 -0
  3. package/dist/cjs/nodeviews/TableComponent.js +28 -5
  4. package/dist/cjs/nodeviews/TableContainer.js +32 -11
  5. package/dist/cjs/nodeviews/TableResizer.js +15 -9
  6. package/dist/cjs/toolbar.js +17 -7
  7. package/dist/cjs/ui/ColumnResizeWidget/index.js +2 -0
  8. package/dist/cjs/ui/DragHandle/index.js +10 -3
  9. package/dist/cjs/ui/DragPreview/index.js +1 -0
  10. package/dist/cjs/ui/FloatingContextualButton/FixedButton.js +12 -1
  11. package/dist/cjs/ui/FloatingContextualButton/index.js +3 -1
  12. package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +7 -2
  13. package/dist/cjs/ui/FloatingDeleteButton/DeleteButton.js +7 -2
  14. package/dist/cjs/ui/FloatingDeleteButton/index.js +2 -0
  15. package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +7 -2
  16. package/dist/cjs/ui/FloatingDragMenu/DropdownMenu.js +61 -57
  17. package/dist/cjs/ui/FloatingInsertButton/InsertButton.js +36 -14
  18. package/dist/cjs/ui/TableFloatingColumnControls/ColumnControls/index.js +22 -4
  19. package/dist/cjs/ui/TableFloatingColumnControls/ColumnDropTargets/ColumnDropTarget.js +2 -0
  20. package/dist/cjs/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +4 -1
  21. package/dist/cjs/ui/TableFloatingColumnControls/index.js +3 -1
  22. package/dist/cjs/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +12 -3
  23. package/dist/cjs/ui/TableFloatingControls/CornerControls/DragCornerControls.js +2 -0
  24. package/dist/cjs/ui/TableFloatingControls/NumberColumn/index.js +13 -4
  25. package/dist/cjs/ui/TableFloatingControls/RowControls/ClassicControls.js +50 -43
  26. package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +16 -2
  27. package/dist/cjs/ui/TableFloatingControls/RowDropTarget/index.js +3 -1
  28. package/dist/cjs/ui/TableFloatingControls/index.js +80 -76
  29. package/dist/cjs/ui/icons/DragHandleDisabledIcon.js +3 -1
  30. package/dist/cjs/ui/icons/DragInMotionIcon.js +3 -1
  31. package/dist/cjs/ui/icons/MinimisedHandle.js +1 -0
  32. package/dist/cjs/utils/guidelines.js +5 -2
  33. package/dist/cjs/utils/snapping.js +16 -7
  34. package/dist/es2019/nodeviews/ExternalDropTargets.js +4 -0
  35. package/dist/es2019/nodeviews/TableComponent.js +28 -5
  36. package/dist/es2019/nodeviews/TableContainer.js +32 -11
  37. package/dist/es2019/nodeviews/TableResizer.js +13 -9
  38. package/dist/es2019/toolbar.js +13 -3
  39. package/dist/es2019/ui/ColumnResizeWidget/index.js +2 -0
  40. package/dist/es2019/ui/DragHandle/index.js +10 -3
  41. package/dist/es2019/ui/DragPreview/index.js +1 -0
  42. package/dist/es2019/ui/FloatingContextualButton/FixedButton.js +12 -1
  43. package/dist/es2019/ui/FloatingContextualButton/index.js +3 -1
  44. package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +7 -2
  45. package/dist/es2019/ui/FloatingDeleteButton/DeleteButton.js +7 -2
  46. package/dist/es2019/ui/FloatingDeleteButton/index.js +2 -0
  47. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +7 -2
  48. package/dist/es2019/ui/FloatingDragMenu/DropdownMenu.js +56 -52
  49. package/dist/es2019/ui/FloatingInsertButton/InsertButton.js +36 -14
  50. package/dist/es2019/ui/TableFloatingColumnControls/ColumnControls/index.js +22 -4
  51. package/dist/es2019/ui/TableFloatingColumnControls/ColumnDropTargets/ColumnDropTarget.js +2 -0
  52. package/dist/es2019/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +4 -1
  53. package/dist/es2019/ui/TableFloatingColumnControls/index.js +3 -1
  54. package/dist/es2019/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +12 -3
  55. package/dist/es2019/ui/TableFloatingControls/CornerControls/DragCornerControls.js +2 -0
  56. package/dist/es2019/ui/TableFloatingControls/NumberColumn/index.js +13 -4
  57. package/dist/es2019/ui/TableFloatingControls/RowControls/ClassicControls.js +47 -40
  58. package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +16 -2
  59. package/dist/es2019/ui/TableFloatingControls/RowDropTarget/index.js +3 -1
  60. package/dist/es2019/ui/TableFloatingControls/index.js +78 -74
  61. package/dist/es2019/ui/icons/DragHandleDisabledIcon.js +3 -1
  62. package/dist/es2019/ui/icons/DragInMotionIcon.js +3 -1
  63. package/dist/es2019/ui/icons/MinimisedHandle.js +1 -0
  64. package/dist/es2019/utils/guidelines.js +5 -2
  65. package/dist/es2019/utils/snapping.js +16 -7
  66. package/dist/esm/nodeviews/ExternalDropTargets.js +4 -0
  67. package/dist/esm/nodeviews/TableComponent.js +28 -5
  68. package/dist/esm/nodeviews/TableContainer.js +32 -11
  69. package/dist/esm/nodeviews/TableResizer.js +15 -9
  70. package/dist/esm/toolbar.js +16 -4
  71. package/dist/esm/ui/ColumnResizeWidget/index.js +2 -0
  72. package/dist/esm/ui/DragHandle/index.js +10 -3
  73. package/dist/esm/ui/DragPreview/index.js +1 -0
  74. package/dist/esm/ui/FloatingContextualButton/FixedButton.js +12 -1
  75. package/dist/esm/ui/FloatingContextualButton/index.js +3 -1
  76. package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +7 -2
  77. package/dist/esm/ui/FloatingDeleteButton/DeleteButton.js +7 -2
  78. package/dist/esm/ui/FloatingDeleteButton/index.js +2 -0
  79. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +7 -2
  80. package/dist/esm/ui/FloatingDragMenu/DropdownMenu.js +61 -57
  81. package/dist/esm/ui/FloatingInsertButton/InsertButton.js +36 -14
  82. package/dist/esm/ui/TableFloatingColumnControls/ColumnControls/index.js +22 -4
  83. package/dist/esm/ui/TableFloatingColumnControls/ColumnDropTargets/ColumnDropTarget.js +2 -0
  84. package/dist/esm/ui/TableFloatingColumnControls/ColumnDropTargets/index.js +4 -1
  85. package/dist/esm/ui/TableFloatingColumnControls/index.js +3 -1
  86. package/dist/esm/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +12 -3
  87. package/dist/esm/ui/TableFloatingControls/CornerControls/DragCornerControls.js +2 -0
  88. package/dist/esm/ui/TableFloatingControls/NumberColumn/index.js +13 -4
  89. package/dist/esm/ui/TableFloatingControls/RowControls/ClassicControls.js +50 -43
  90. package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +16 -2
  91. package/dist/esm/ui/TableFloatingControls/RowDropTarget/index.js +3 -1
  92. package/dist/esm/ui/TableFloatingControls/index.js +80 -76
  93. package/dist/esm/ui/icons/DragHandleDisabledIcon.js +3 -1
  94. package/dist/esm/ui/icons/DragInMotionIcon.js +3 -1
  95. package/dist/esm/ui/icons/MinimisedHandle.js +1 -0
  96. package/dist/esm/utils/guidelines.js +5 -2
  97. package/dist/esm/utils/snapping.js +16 -7
  98. package/dist/types/toolbar.d.ts +2 -1
  99. package/dist/types/utils/guidelines.d.ts +2 -1
  100. package/dist/types/utils/snapping.d.ts +6 -2
  101. package/dist/types-ts4.5/toolbar.d.ts +2 -1
  102. package/dist/types-ts4.5/utils/guidelines.d.ts +2 -1
  103. package/dist/types-ts4.5/utils/snapping.d.ts +6 -2
  104. package/docs/0-intro.tsx +1 -0
  105. package/package.json +1 -1
  106. package/src/nodeviews/ExternalDropTargets.tsx +4 -0
  107. package/src/nodeviews/TableComponent.tsx +19 -1
  108. package/src/nodeviews/TableContainer.tsx +12 -0
  109. package/src/nodeviews/TableResizer.tsx +20 -10
  110. package/src/toolbar.tsx +20 -1
  111. package/src/ui/ColumnResizeWidget/index.tsx +2 -0
  112. package/src/ui/DragHandle/index.tsx +3 -0
  113. package/src/ui/DragPreview/index.tsx +1 -0
  114. package/src/ui/FloatingContextualButton/FixedButton.tsx +10 -0
  115. package/src/ui/FloatingContextualButton/index.tsx +1 -0
  116. package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +3 -0
  117. package/src/ui/FloatingDeleteButton/DeleteButton.tsx +4 -0
  118. package/src/ui/FloatingDeleteButton/index.tsx +2 -0
  119. package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -0
  120. package/src/ui/FloatingDragMenu/DropdownMenu.tsx +3 -0
  121. package/src/ui/FloatingInsertButton/InsertButton.tsx +14 -0
  122. package/src/ui/TableFloatingColumnControls/ColumnControls/index.tsx +16 -1
  123. package/src/ui/TableFloatingColumnControls/ColumnDropTargets/ColumnDropTarget.tsx +2 -0
  124. package/src/ui/TableFloatingColumnControls/ColumnDropTargets/index.tsx +2 -0
  125. package/src/ui/TableFloatingColumnControls/index.tsx +1 -0
  126. package/src/ui/TableFloatingControls/CornerControls/ClassicCornerControls.tsx +6 -0
  127. package/src/ui/TableFloatingControls/CornerControls/DragCornerControls.tsx +4 -0
  128. package/src/ui/TableFloatingControls/NumberColumn/index.tsx +5 -0
  129. package/src/ui/TableFloatingControls/RowControls/ClassicControls.tsx +5 -0
  130. package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +15 -1
  131. package/src/ui/TableFloatingControls/RowDropTarget/index.tsx +1 -0
  132. package/src/ui/TableFloatingControls/index.tsx +1 -0
  133. package/src/ui/icons/DragHandleDisabledIcon.tsx +1 -0
  134. package/src/ui/icons/DragInMotionIcon.tsx +1 -0
  135. package/src/ui/icons/MinimisedHandle.tsx +1 -0
  136. package/src/utils/guidelines.ts +6 -2
  137. package/src/utils/snapping.ts +32 -19
package/docs/0-intro.tsx CHANGED
@@ -13,6 +13,7 @@ ${createEditorUseOnlyNotice('Editor Plugin Table', [
13
13
 
14
14
 
15
15
  ${(
16
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
16
17
  <div style={{ marginTop: token('space.100', '8px') }}>
17
18
  <AtlassianInternalWarning />
18
19
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "7.16.8",
3
+ "version": "7.16.10",
4
4
  "description": "Table plugin for the @atlaskit/editor",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -54,10 +54,13 @@ export const ExternalDropTargets = ({
54
54
  <div
55
55
  style={{
56
56
  width: getTableWrapperWidth(),
57
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
57
58
  overflow: 'hidden',
59
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
58
60
  position: 'absolute',
59
61
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
60
62
  top: `-${dropTargetExtendedWidth - tableMarginTop}px`,
63
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
61
64
  pointerEvents: 'auto',
62
65
  zIndex: `${dropTargetsZIndex}`,
63
66
  }}
@@ -65,6 +68,7 @@ export const ExternalDropTargets = ({
65
68
  >
66
69
  <div
67
70
  style={{
71
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
68
72
  display: 'flex',
69
73
  // move drop targets based on table wrapper scroll
70
74
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
@@ -688,7 +688,7 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
688
688
  isDragAndDropEnabled,
689
689
  getEditorFeatureFlags,
690
690
  isTableScalingEnabled, // here we can use options.isTableScalingEnabled
691
- isTableAlignmentEnabled
691
+ isTableAlignmentEnabled,
692
692
  } = this.props;
693
693
 
694
694
  let {
@@ -804,6 +804,7 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
804
804
 
805
805
  return (
806
806
  <TableContainer
807
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
807
808
  className={classnames(ClassName.TABLE_CONTAINER, {
808
809
  [ClassName.WITH_CONTROLS]: allowControls && tableActive,
809
810
  [ClassName.TABLE_STICKY]: this.state.stickyHeader && hasHeaderRow,
@@ -825,11 +826,13 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
825
826
  isTableAlignmentEnabled={isTableAlignmentEnabled}
826
827
  >
827
828
  <div
829
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
828
830
  className={ClassName.TABLE_STICKY_SENTINEL_TOP}
829
831
  data-testid="sticky-sentinel-top"
830
832
  />
831
833
  {stickyScrollbar && (
832
834
  <div
835
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
833
836
  className={ClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_TOP}
834
837
  data-testid="sticky-scrollbar-sentinel-top"
835
838
  />
@@ -850,11 +853,14 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
850
853
  )}
851
854
  <div
852
855
  contentEditable={false}
856
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
853
857
  style={shadowStyle(showBeforeShadow)}
858
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
854
859
  className={ClassName.TABLE_LEFT_SHADOW}
855
860
  />
856
861
  {this.state.stickyHeader && (
857
862
  <div
863
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
858
864
  className={`${ClassName.TABLE_LEFT_SHADOW} ${ClassName.TABLE_STICKY_SHADOW}`}
859
865
  style={{
860
866
  visibility:
@@ -867,6 +873,7 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
867
873
  />
868
874
  )}
869
875
  <div
876
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
870
877
  className={classnames(ClassName.TABLE_NODE_WRAPPER)}
871
878
  ref={(elem) => {
872
879
  this.wrapper = elem;
@@ -885,9 +892,12 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
885
892
  </div>
886
893
  {stickyScrollbar && (
887
894
  <div
895
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
888
896
  className={ClassName.TABLE_STICKY_SCROLLBAR_CONTAINER}
889
897
  style={{
898
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
890
899
  height: token('space.250', '20px'), // MAX_BROWSER_SCROLLBAR_HEIGHT
900
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
891
901
  display: 'none',
892
902
  // prevent unwanted scroll during table resize without removing scrollbar container from the dom
893
903
  width: isResizing ? token('space.0', '0px') : '100%',
@@ -896,6 +906,7 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
896
906
  <div
897
907
  style={{
898
908
  width: tableRef?.clientWidth,
909
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
899
910
  height: '100%',
900
911
  }}
901
912
  ></div>
@@ -903,17 +914,22 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
903
914
  )}
904
915
  <div
905
916
  contentEditable={false}
917
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
906
918
  style={shadowStyle(showAfterShadow)}
919
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
907
920
  className={ClassName.TABLE_RIGHT_SHADOW}
908
921
  />
909
922
  {this.state.stickyHeader && (
910
923
  <div
911
924
  style={{
925
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
912
926
  position: 'absolute',
927
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
913
928
  right: token('space.400', '32px'), // tableOverflowShadowWidthWide
914
929
  }}
915
930
  >
916
931
  <div
932
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
917
933
  className={`${ClassName.TABLE_RIGHT_SHADOW} ${ClassName.TABLE_STICKY_SHADOW}`}
918
934
  style={{
919
935
  visibility:
@@ -927,11 +943,13 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
927
943
  </div>
928
944
  )}
929
945
  <div
946
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
930
947
  className={ClassName.TABLE_STICKY_SENTINEL_BOTTOM}
931
948
  data-testid="sticky-sentinel-bottom"
932
949
  />
933
950
  {stickyScrollbar && (
934
951
  <div
952
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
935
953
  className={ClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM}
936
954
  data-testid="sticky-scrollbar-sentinel-bottom"
937
955
  />
@@ -45,7 +45,9 @@ export const InnerContainer = forwardRef<
45
45
  return (
46
46
  <div
47
47
  ref={ref}
48
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
48
49
  style={style}
50
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
49
51
  className={className}
50
52
  data-number-column={node.attrs.isNumberColumnEnabled}
51
53
  data-layout={node.attrs.layout}
@@ -75,6 +77,7 @@ const AlignmentTableContainer = ({
75
77
  }, [alignment]);
76
78
 
77
79
  return (
80
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
78
81
  <div data-testid="table-alignment-container" style={style}>
79
82
  {children}
80
83
  </div>
@@ -93,7 +96,9 @@ const AlignmentTableContainerWrapper = ({
93
96
  <div
94
97
  data-testid="table-alignment-container"
95
98
  style={{
99
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
96
100
  display: 'flex',
101
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
97
102
  justifyContent: 'center',
98
103
  }}
99
104
  >
@@ -280,19 +285,23 @@ export const ResizableTableContainer = React.memo(
280
285
  : 'auto',
281
286
  position: isLivePageViewMode ? 'relative' : 'unset',
282
287
  }}
288
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
283
289
  className={ClassName.TABLE_RESIZER_CONTAINER}
284
290
  ref={containerRef}
285
291
  >
286
292
  {isLivePageViewMode ? (
287
293
  <InnerContainer
294
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
288
295
  className={className}
289
296
  node={node}
297
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
290
298
  style={{ width: 'inherit' }}
291
299
  >
292
300
  {children}
293
301
  </InnerContainer>
294
302
  ) : (
295
303
  <TableResizer {...tableResizerProps}>
304
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 */}
296
305
  <InnerContainer className={className} node={node}>
297
306
  {children}
298
307
  </InnerContainer>
@@ -342,6 +351,7 @@ export const TableContainer = ({
342
351
  if (isTableResizingEnabled && !isNested) {
343
352
  return (
344
353
  <ResizableTableContainer
354
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
345
355
  className={className}
346
356
  node={node}
347
357
  containerWidth={editorWidth!}
@@ -364,10 +374,12 @@ export const TableContainer = ({
364
374
  return (
365
375
  <InnerContainer
366
376
  node={node}
377
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
367
378
  className={classNames(className, {
368
379
  'less-padding': editorWidth < akEditorMobileBreakoutPoint && !isNested,
369
380
  })}
370
381
  style={{
382
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
371
383
  width: 'inherit',
372
384
  }}
373
385
  >
@@ -209,6 +209,16 @@ export const TableResizer = ({
209
209
 
210
210
  const { startMeasure, endMeasure, countFrames } = useMeasureFramerate();
211
211
 
212
+ const excludeGuidelineConfig = useMemo(
213
+ () => ({
214
+ innerGuidelines: !!isTableAlignmentEnabled,
215
+ breakoutPoints: !!(
216
+ isTableAlignmentEnabled && tableState?.isFullWidthModeEnabled
217
+ ),
218
+ }),
219
+ [tableState, isTableAlignmentEnabled],
220
+ );
221
+
212
222
  const updateActiveGuidelines = useCallback(
213
223
  ({ gap, keys }: { gap: number; keys: string[] }) => {
214
224
  if (gap !== currentGap.current) {
@@ -217,7 +227,7 @@ export const TableResizer = ({
217
227
  isTableScalingEnabled
218
228
  ? defaultGuidelinesForPreserveTable(
219
229
  containerWidth,
220
- isTableAlignmentEnabled,
230
+ excludeGuidelineConfig,
221
231
  )
222
232
  : defaultGuidelines,
223
233
  containerWidth,
@@ -235,7 +245,7 @@ export const TableResizer = ({
235
245
  },
236
246
  [
237
247
  isTableScalingEnabled,
238
- isTableAlignmentEnabled,
248
+ excludeGuidelineConfig,
239
249
  containerWidth,
240
250
  displayGuideline,
241
251
  ],
@@ -248,7 +258,7 @@ export const TableResizer = ({
248
258
  x: isTableScalingEnabled
249
259
  ? defaultTablePreserveSnappingWidths(
250
260
  containerWidth,
251
- isTableAlignmentEnabled,
261
+ excludeGuidelineConfig,
252
262
  )
253
263
  : defaultSnappingWidths,
254
264
  }
@@ -256,7 +266,7 @@ export const TableResizer = ({
256
266
  [
257
267
  snappingEnabled,
258
268
  isTableScalingEnabled,
259
- isTableAlignmentEnabled,
269
+ excludeGuidelineConfig,
260
270
  containerWidth,
261
271
  ],
262
272
  );
@@ -334,7 +344,7 @@ export const TableResizer = ({
334
344
  isTableScalingEnabled
335
345
  ? defaultGuidelinesForPreserveTable(
336
346
  containerWidth,
337
- isTableAlignmentEnabled,
347
+ excludeGuidelineConfig,
338
348
  )
339
349
  : defaultGuidelines,
340
350
  containerWidth,
@@ -351,7 +361,7 @@ export const TableResizer = ({
351
361
  node.attrs.localId,
352
362
  tableRef,
353
363
  isTableScalingEnabled,
354
- isTableAlignmentEnabled,
364
+ excludeGuidelineConfig,
355
365
  containerWidth,
356
366
  displayGuideline,
357
367
  onResizeStart,
@@ -388,13 +398,13 @@ export const TableResizer = ({
388
398
  isTableScalingEnabled
389
399
  ? defaultTablePreserveSnappingWidths(
390
400
  containerWidth,
391
- isTableAlignmentEnabled,
401
+ excludeGuidelineConfig,
392
402
  )
393
403
  : defaultSnappingWidths,
394
404
  isTableScalingEnabled
395
405
  ? defaultGuidelinesForPreserveTable(
396
406
  containerWidth,
397
- isTableAlignmentEnabled,
407
+ excludeGuidelineConfig,
398
408
  )
399
409
  : defaultGuidelines,
400
410
  TABLE_HIGHLIGHT_GAP,
@@ -409,7 +419,7 @@ export const TableResizer = ({
409
419
 
410
420
  const fullWidthGuideline = defaultGuidelinesForPreserveTable(
411
421
  containerWidth,
412
- isTableAlignmentEnabled,
422
+ excludeGuidelineConfig,
413
423
  ).filter((guideline) => guideline.isFullWidth)[0];
414
424
 
415
425
  const isFullWidthGuidelineActive = closestSnap.keys.includes(
@@ -434,7 +444,7 @@ export const TableResizer = ({
434
444
  [
435
445
  countFrames,
436
446
  isTableScalingEnabled,
437
- isTableAlignmentEnabled,
447
+ excludeGuidelineConfig,
438
448
  tableRef,
439
449
  node,
440
450
  editorView,
package/src/toolbar.tsx CHANGED
@@ -487,7 +487,7 @@ export const getToolbarConfig =
487
487
 
488
488
  alignmentMenu =
489
489
  options?.isTableAlignmentEnabled && !isNested
490
- ? getAlignmentOptionsConfig(state, intl, editorAnalyticsAPI)
490
+ ? getAlignmentOptionsConfig(state, intl, editorAnalyticsAPI, getEditorContainerWidth)
491
491
  : [];
492
492
 
493
493
  let cellItems: Array<FloatingToolbarItem<Command>>;
@@ -900,6 +900,7 @@ export const getAlignmentOptionsConfig = (
900
900
  editorState: EditorState,
901
901
  { formatMessage }: ToolbarMenuContext,
902
902
  editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null,
903
+ getEditorContainerWidth: GetEditorContainerWidth
903
904
  ): Array<FloatingToolbarDropdown<Command>> => {
904
905
  const tableObject = findTable(editorState.selection);
905
906
 
@@ -942,6 +943,7 @@ export const getAlignmentOptionsConfig = (
942
943
  currentLayout,
943
944
  INPUT_METHOD.FLOATING_TB
944
945
  ),
946
+ ...(isLayoutOptionDisabled(tableObject.node, getEditorContainerWidth) && { disabled: value !== 'center' }),
945
947
  };
946
948
  },
947
949
  );
@@ -988,3 +990,20 @@ export const getSelectedAlignmentIcon = (
988
990
  (icon) => icon.value === normaliseAlignment(selectedAlignment),
989
991
  );
990
992
  };
993
+
994
+ export const isLayoutOptionDisabled = (
995
+ selectedNode: PMNode,
996
+ getEditorContainerWidth: GetEditorContainerWidth
997
+ ) => {
998
+ const lineLength = getEditorContainerWidth().lineLength;
999
+
1000
+ if (
1001
+ selectedNode &&
1002
+ lineLength &&
1003
+ selectedNode.attrs.width > lineLength
1004
+ ) {
1005
+ return true;
1006
+ }
1007
+
1008
+ return false;
1009
+ };
@@ -27,6 +27,7 @@ export const ColumnResizeWidget = ({
27
27
  if (!includeTooltip) {
28
28
  return (
29
29
  <div
30
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
30
31
  className={TableCssClassName.RESIZE_HANDLE_DECORATION}
31
32
  data-start-index={startIndex}
32
33
  data-end-index={endIndex}
@@ -49,6 +50,7 @@ export const ColumnResizeWidget = ({
49
50
  >
50
51
  {(tooltipProps) => (
51
52
  <div
53
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
52
54
  className={TableCssClassName.RESIZE_HANDLE_DECORATION}
53
55
  data-start-index={startIndex}
54
56
  data-end-index={endIndex}
@@ -213,6 +213,7 @@ const DragHandleComponent = ({
213
213
  <>
214
214
  <button
215
215
  type="button"
216
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
216
217
  className={ClassName.DRAG_HANDLE_BUTTON_CLICKABLE_ZONE}
217
218
  data-testid="table-drag-handle-clickable-zone-button"
218
219
  style={{
@@ -241,6 +242,7 @@ const DragHandleComponent = ({
241
242
  <button
242
243
  type="button"
243
244
  id={isDragMenuTarget ? showDragMenuAnchorId : undefined}
245
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
244
246
  className={classnames(
245
247
  ClassName.DRAG_HANDLE_BUTTON_CONTAINER,
246
248
  appearance,
@@ -279,6 +281,7 @@ const DragHandleComponent = ({
279
281
  browser.gecko ? (
280
282
  <HandleIconComponent {...handleIconProps} />
281
283
  ) : (
284
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
282
285
  <span style={{ pointerEvents: 'none' }}>
283
286
  <HandleIconComponent {...handleIconProps} />
284
287
  </span>
@@ -35,6 +35,7 @@ export const DragPreview = ({
35
35
  >
36
36
  <DragInMotionIcon
37
37
  style={{
38
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
38
39
  position: 'absolute',
39
40
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
40
41
  marginLeft: `${marginLeft}px`,
@@ -144,19 +144,26 @@ export const FixedButton = ({
144
144
  <div
145
145
  ref={observerTargetRef}
146
146
  style={{
147
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
147
148
  position: 'absolute',
149
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
148
150
  top: token('space.0', '0px'),
151
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
149
152
  left: token('space.0', '0px'),
153
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
150
154
  width: token('space.250', '20px'), // BUTTON_WIDTH
155
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
151
156
  height: token('space.250', '20px'), // BUTTON_WIDTH
152
157
  }}
153
158
  >
154
159
  <div
155
160
  ref={fixedButtonRef}
156
161
  style={{
162
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
157
163
  position: 'fixed',
158
164
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
159
165
  top: stickyHeader.top + stickyHeader.padding + offset * 2,
166
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
160
167
  zIndex: akEditorTableCellOnStickyHeaderZIndex,
161
168
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
162
169
  left: calcLeftPos({
@@ -165,9 +172,12 @@ export const FixedButton = ({
165
172
  cellRefWidth: targetCellRef.clientWidth,
166
173
  offset,
167
174
  }),
175
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
168
176
  width: token('space.250', '20px'), // BUTTON_WIDTH
177
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
169
178
  height: token('space.250', '20px'), // BUTTON_WIDTH
170
179
  }}
180
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
171
181
  className={ClassName.CONTEXTUAL_MENU_BUTTON_FIXED}
172
182
  >
173
183
  {children}
@@ -86,6 +86,7 @@ const FloatingContextualButtonInner = React.memo(
86
86
  ]}
87
87
  >
88
88
  <ToolbarButton
89
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
89
90
  className={ClassName.CONTEXTUAL_MENU_BUTTON}
90
91
  selected={isContextualMenuOpen}
91
92
  title={labelCellOptions}
@@ -212,9 +212,11 @@ export class ContextualMenu extends Component<
212
212
  </span>
213
213
  ) : undefined,
214
214
  elemAfter: (
215
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
215
216
  <div className={DropdownMenuSharedCssClassName.SUBMENU}>
216
217
  <div
217
218
  css={cellColourPreviewStyles(background)}
219
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
218
220
  className={
219
221
  isDragAndDropEnabled
220
222
  ? ClassName.CONTEXTUAL_MENU_ICON_SMALL
@@ -223,6 +225,7 @@ export class ContextualMenu extends Component<
223
225
  />
224
226
  {isSubmenuOpen && (
225
227
  <div
228
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
226
229
  className={ClassName.CONTEXTUAL_SUBMENU}
227
230
  ref={this.handleSubMenuRef}
228
231
  >
@@ -23,7 +23,9 @@ const DeleteButton = ({
23
23
  intl: { formatMessage },
24
24
  }: ButtonProps & WrappedComponentProps) => (
25
25
  <div
26
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
26
27
  className={ClassName.CONTROLS_DELETE_BUTTON_WRAP}
28
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
27
29
  style={style}
28
30
  onMouseEnter={onMouseEnter}
29
31
  onMouseLeave={onMouseLeave}
@@ -31,10 +33,12 @@ const DeleteButton = ({
31
33
  <button
32
34
  type="button"
33
35
  aria-label={formatMessage(removeLabel, { 0: 1 })}
36
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
34
37
  className={ClassName.CONTROLS_DELETE_BUTTON}
35
38
  onMouseDown={onClick}
36
39
  onMouseMove={(e) => e.preventDefault()}
37
40
  >
41
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 */}
38
42
  <svg className={ClassName.CONTROLS_BUTTON_ICON}>
39
43
  <path
40
44
  d="M12.242 10.828L9.414 8l2.828-2.829a.999.999 0 1 0-1.414-1.414L8 6.587l-2.829-2.83a1 1 0 0 0-1.414 1.414l2.83 2.83-2.83 2.827a1 1 0 0 0 1.414 1.414l2.83-2.828 2.827 2.828a.999.999 0 1 0 1.414-1.414"
@@ -346,9 +346,11 @@ class FloatingDeleteButton extends Component<Props, State> {
346
346
  return createPortal(
347
347
  <div
348
348
  style={{
349
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
349
350
  position: 'fixed',
350
351
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
351
352
  top: pos.top,
353
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
352
354
  zIndex: stickyRowZIndex,
353
355
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
354
356
  left:
@@ -392,14 +392,17 @@ export const DragMenu = React.memo(
392
392
  ),
393
393
  elemAfter: (
394
394
  <div
395
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
395
396
  className={DropdownMenuSharedCssClassName.SUBMENU}
396
397
  css={dragMenuBackgroundColorStyles}
397
398
  >
398
399
  <div
399
400
  css={cellColourPreviewStyles(background)}
401
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
400
402
  className={ClassName.DRAG_SUBMENU_ICON}
401
403
  />
402
404
  {isSubmenuOpen && (
405
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
403
406
  <div className={ClassName.DRAG_SUBMENU} ref={handleSubMenuRef}>
404
407
  <ArrowKeyNavigationProvider
405
408
  type={ArrowKeyNavigationType.COLOR}
@@ -90,6 +90,7 @@ export const DropdownMenu = ({
90
90
  }}
91
91
  targetRef={targetRefDiv}
92
92
  >
93
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766 */}
93
94
  <div style={{ height: 0, minWidth: dragMenuDropdownWidth }} />
94
95
  <MenuGroup role="menu">
95
96
  {items.map((group, index) => (
@@ -116,7 +117,9 @@ export const DropdownMenu = ({
116
117
  };
117
118
 
118
119
  return (
120
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
119
121
  <div className="drag-dropdown-menu-wrapper">
122
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 */}
120
123
  <div className="drag-dropdown-menu-popup-ref" ref={handleRef}></div>
121
124
  <Popup
122
125
  target={targetRefDiv as HTMLElement}
@@ -124,6 +124,7 @@ export const InsertButtonForDragAndDrop = ({
124
124
  >
125
125
  <>
126
126
  <div
127
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
127
128
  className={classnames(ClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER, {
128
129
  [ClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER_ROW]: isRow,
129
130
  [ClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER_COLUMN]: !isRow,
@@ -131,10 +132,12 @@ export const InsertButtonForDragAndDrop = ({
131
132
  >
132
133
  <button
133
134
  type="button"
135
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
134
136
  className={ClassName.DRAG_CONTROLS_INSERT_BUTTON}
135
137
  onMouseDown={onMouseDown}
136
138
  >
137
139
  <svg
140
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
138
141
  className={ClassName.CONTROLS_BUTTON_ICON}
139
142
  width="16"
140
143
  height="16"
@@ -150,7 +153,9 @@ export const InsertButtonForDragAndDrop = ({
150
153
  </button>
151
154
  </div>
152
155
  <div
156
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
153
157
  className={ClassName.CONTROLS_INSERT_LINE}
158
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
154
159
  style={
155
160
  type === 'row'
156
161
  ? {
@@ -174,8 +179,10 @@ export const InsertButtonForDragAndDrop = ({
174
179
  : ClassName.CONTROLS_FLOATING_BUTTON_COLUMN;
175
180
 
176
181
  return (
182
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
177
183
  <div className={floatingButtonClassName}>
178
184
  <div
185
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
179
186
  className={`${ClassName.DRAG_CONTROLS_INSERT_BUTTON_WRAP} ${ClassName.CONTROLS_INSERT_ROW}`}
180
187
  >
181
188
  {content}
@@ -204,12 +211,15 @@ const InsertButton = ({
204
211
  position="top"
205
212
  >
206
213
  <>
214
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 */}
207
215
  <div className={ClassName.CONTROLS_INSERT_BUTTON_INNER}>
208
216
  <button
209
217
  type="button"
218
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
210
219
  className={ClassName.CONTROLS_INSERT_BUTTON}
211
220
  onMouseDown={onMouseDown}
212
221
  >
222
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 */}
213
223
  <svg className={ClassName.CONTROLS_BUTTON_ICON}>
214
224
  <path
215
225
  d="M10 4a1 1 0 0 1 1 1v4h4a1 1 0 0 1 0 2h-4v4a1 1 0 0 1-2 0v-4H5a1 1 0 1 1 0-2h4V5a1 1 0 0 1 1-1z"
@@ -220,7 +230,9 @@ const InsertButton = ({
220
230
  </button>
221
231
  </div>
222
232
  <div
233
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
223
234
  className={ClassName.CONTROLS_INSERT_LINE}
235
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
224
236
  style={
225
237
  type === 'row'
226
238
  ? { width: getInsertLineWidth(tableRef) }
@@ -237,8 +249,10 @@ const InsertButton = ({
237
249
  : ClassName.CONTROLS_FLOATING_BUTTON_ROW;
238
250
 
239
251
  return (
252
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
240
253
  <div className={floatingButtonClassName}>
241
254
  <div
255
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
242
256
  className={`${ClassName.CONTROLS_INSERT_BUTTON_WRAP} ${ClassName.CONTROLS_INSERT_ROW}`}
243
257
  >
244
258
  {content}