@atlaskit/editor-plugin-table 5.0.0 → 5.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 (271) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/plugins/table/index.js +47 -37
  3. package/dist/cjs/plugins/table/nodeviews/TableCell.js +111 -0
  4. package/dist/cjs/plugins/table/nodeviews/TableNodeViewBase.js +30 -0
  5. package/dist/cjs/plugins/table/{pm-plugins/sticky-headers/nodeviews/tableRow.js → nodeviews/TableRow.js} +313 -307
  6. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/actions.js +12 -0
  7. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/commands.js +27 -0
  8. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/consts.js +11 -0
  9. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/index.js +32 -0
  10. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/plugin-factory.js +13 -0
  11. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/plugin-key.js +8 -0
  12. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/plugin.js +28 -0
  13. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/reducer.js +28 -0
  14. package/dist/cjs/plugins/table/pm-plugins/drag-and-drop/types.js +5 -0
  15. package/dist/cjs/plugins/table/pm-plugins/main.js +16 -13
  16. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/index.js +1 -8
  17. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +1 -9
  18. package/dist/cjs/plugins/table/utils/dom.js +31 -1
  19. package/dist/cjs/plugins/table/utils/index.js +12 -0
  20. package/dist/cjs/plugins/table/utils/nodes.js +31 -7
  21. package/dist/es2019/plugins/table/index.js +12 -3
  22. package/dist/es2019/plugins/table/nodeviews/{tableCell.js → TableCell.js} +28 -24
  23. package/dist/es2019/plugins/table/nodeviews/TableNodeViewBase.js +22 -0
  24. package/dist/es2019/plugins/table/{pm-plugins/sticky-headers/nodeviews/tableRow.js → nodeviews/TableRow.js} +273 -284
  25. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/actions.js +6 -0
  26. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/commands.js +14 -0
  27. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/consts.js +5 -0
  28. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/index.js +3 -0
  29. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/plugin-factory.js +8 -0
  30. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/plugin-key.js +2 -0
  31. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/plugin.js +22 -0
  32. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/reducer.js +20 -0
  33. package/dist/es2019/plugins/table/pm-plugins/drag-and-drop/types.js +1 -0
  34. package/dist/es2019/plugins/table/pm-plugins/main.js +8 -8
  35. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/index.js +1 -2
  36. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +1 -9
  37. package/dist/es2019/plugins/table/utils/dom.js +30 -0
  38. package/dist/es2019/plugins/table/utils/index.js +1 -1
  39. package/dist/es2019/plugins/table/utils/nodes.js +16 -0
  40. package/dist/esm/plugins/table/index.js +47 -37
  41. package/dist/esm/plugins/table/nodeviews/TableCell.js +105 -0
  42. package/dist/esm/plugins/table/nodeviews/TableNodeViewBase.js +24 -0
  43. package/dist/esm/plugins/table/{pm-plugins/sticky-headers/nodeviews/tableRow.js → nodeviews/TableRow.js} +314 -307
  44. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/actions.js +6 -0
  45. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/commands.js +22 -0
  46. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/consts.js +5 -0
  47. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/index.js +3 -0
  48. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/plugin-factory.js +7 -0
  49. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/plugin-key.js +2 -0
  50. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/plugin.js +22 -0
  51. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/reducer.js +21 -0
  52. package/dist/esm/plugins/table/pm-plugins/drag-and-drop/types.js +1 -0
  53. package/dist/esm/plugins/table/pm-plugins/main.js +16 -13
  54. package/dist/esm/plugins/table/pm-plugins/sticky-headers/index.js +1 -2
  55. package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +1 -9
  56. package/dist/esm/plugins/table/utils/dom.js +30 -0
  57. package/dist/esm/plugins/table/utils/index.js +1 -1
  58. package/dist/esm/plugins/table/utils/nodes.js +24 -0
  59. package/dist/types/plugins/table/nodeviews/TableCell.d.ts +13 -0
  60. package/dist/types/plugins/table/nodeviews/TableNodeViewBase.d.ts +18 -0
  61. package/dist/types/plugins/table/nodeviews/TableRow.d.ts +60 -0
  62. package/dist/types/plugins/table/pm-plugins/drag-and-drop/actions.d.ts +15 -0
  63. package/dist/types/plugins/table/pm-plugins/drag-and-drop/commands.d.ts +4 -0
  64. package/dist/types/plugins/table/pm-plugins/drag-and-drop/consts.d.ts +6 -0
  65. package/dist/types/plugins/table/pm-plugins/drag-and-drop/index.d.ts +4 -0
  66. package/dist/types/plugins/table/pm-plugins/drag-and-drop/plugin-factory.d.ts +2 -0
  67. package/dist/types/plugins/table/pm-plugins/drag-and-drop/plugin-key.d.ts +3 -0
  68. package/dist/types/plugins/table/pm-plugins/drag-and-drop/plugin.d.ts +3 -0
  69. package/dist/types/plugins/table/pm-plugins/drag-and-drop/reducer.d.ts +4 -0
  70. package/dist/types/plugins/table/pm-plugins/drag-and-drop/types.d.ts +5 -0
  71. package/dist/types/plugins/table/pm-plugins/main.d.ts +1 -1
  72. package/dist/types/plugins/table/pm-plugins/sticky-headers/index.d.ts +0 -1
  73. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +1 -1
  74. package/dist/types/plugins/table/types.d.ts +1 -0
  75. package/dist/types/plugins/table/utils/dom.d.ts +6 -0
  76. package/dist/types/plugins/table/utils/index.d.ts +1 -1
  77. package/dist/types/plugins/table/utils/nodes.d.ts +12 -2
  78. package/dist/types-ts4.5/i18n/cs.d.ts +37 -0
  79. package/dist/types-ts4.5/i18n/da.d.ts +35 -0
  80. package/dist/types-ts4.5/i18n/de.d.ts +35 -0
  81. package/dist/types-ts4.5/i18n/en.d.ts +37 -0
  82. package/dist/types-ts4.5/i18n/en_GB.d.ts +37 -0
  83. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +37 -0
  84. package/dist/types-ts4.5/i18n/es.d.ts +35 -0
  85. package/dist/types-ts4.5/i18n/fi.d.ts +35 -0
  86. package/dist/types-ts4.5/i18n/fr.d.ts +37 -0
  87. package/dist/types-ts4.5/i18n/hu.d.ts +37 -0
  88. package/dist/types-ts4.5/i18n/it.d.ts +37 -0
  89. package/dist/types-ts4.5/i18n/ja.d.ts +37 -0
  90. package/dist/types-ts4.5/i18n/ko.d.ts +35 -0
  91. package/dist/types-ts4.5/i18n/nb.d.ts +35 -0
  92. package/dist/types-ts4.5/i18n/nl.d.ts +37 -0
  93. package/dist/types-ts4.5/i18n/pl.d.ts +37 -0
  94. package/dist/types-ts4.5/i18n/pt_BR.d.ts +37 -0
  95. package/dist/types-ts4.5/i18n/ru.d.ts +37 -0
  96. package/dist/types-ts4.5/i18n/sv.d.ts +35 -0
  97. package/dist/types-ts4.5/i18n/th.d.ts +35 -0
  98. package/dist/types-ts4.5/i18n/tr.d.ts +37 -0
  99. package/dist/types-ts4.5/i18n/uk.d.ts +37 -0
  100. package/dist/types-ts4.5/i18n/vi.d.ts +35 -0
  101. package/dist/types-ts4.5/i18n/zh.d.ts +37 -0
  102. package/dist/types-ts4.5/i18n/zh_TW.d.ts +37 -0
  103. package/dist/types-ts4.5/index.d.ts +2 -0
  104. package/dist/types-ts4.5/plugins/table/commands/clear.d.ts +3 -0
  105. package/dist/types-ts4.5/plugins/table/commands/collapse.d.ts +2 -0
  106. package/dist/types-ts4.5/plugins/table/commands/delete.d.ts +3 -0
  107. package/dist/types-ts4.5/plugins/table/commands/go-to-next-cell.d.ts +4 -0
  108. package/dist/types-ts4.5/plugins/table/commands/hover.d.ts +8 -0
  109. package/dist/types-ts4.5/plugins/table/commands/index.d.ts +8 -0
  110. package/dist/types-ts4.5/plugins/table/commands/insert.d.ts +9 -0
  111. package/dist/types-ts4.5/plugins/table/commands/misc.d.ts +29 -0
  112. package/dist/types-ts4.5/plugins/table/commands/referentiality.d.ts +2 -0
  113. package/dist/types-ts4.5/plugins/table/commands/selection.d.ts +8 -0
  114. package/dist/types-ts4.5/plugins/table/commands/sort.d.ts +3 -0
  115. package/dist/types-ts4.5/plugins/table/commands/split-cell.d.ts +6 -0
  116. package/dist/types-ts4.5/plugins/table/commands/toggle.d.ts +12 -0
  117. package/dist/types-ts4.5/plugins/table/commands-with-analytics.d.ts +25 -0
  118. package/dist/types-ts4.5/plugins/table/create-plugin-config.d.ts +2 -0
  119. package/dist/types-ts4.5/plugins/table/event-handlers.d.ts +15 -0
  120. package/dist/types-ts4.5/plugins/table/handlers.d.ts +3 -0
  121. package/dist/types-ts4.5/plugins/table/index.d.ts +38 -0
  122. package/dist/types-ts4.5/plugins/table/nodeviews/OverflowShadowsObserver.d.ts +24 -0
  123. package/dist/types-ts4.5/plugins/table/nodeviews/TableCell.d.ts +13 -0
  124. package/dist/types-ts4.5/plugins/table/nodeviews/TableComponent.d.ts +73 -0
  125. package/dist/types-ts4.5/plugins/table/nodeviews/TableContainer.d.ts +44 -0
  126. package/dist/types-ts4.5/plugins/table/nodeviews/TableNodeViewBase.d.ts +18 -0
  127. package/dist/types-ts4.5/plugins/table/nodeviews/TableResizer.d.ts +25 -0
  128. package/dist/types-ts4.5/plugins/table/nodeviews/TableRow.d.ts +60 -0
  129. package/dist/types-ts4.5/plugins/table/nodeviews/TableStickyScrollbar.d.ts +24 -0
  130. package/dist/types-ts4.5/plugins/table/nodeviews/__mocks__/OverflowShadowsObserver.d.ts +9 -0
  131. package/dist/types-ts4.5/plugins/table/nodeviews/__mocks__/OverridableMock.d.ts +9 -0
  132. package/dist/types-ts4.5/plugins/table/nodeviews/table.d.ts +33 -0
  133. package/dist/types-ts4.5/plugins/table/nodeviews/types.d.ts +26 -0
  134. package/dist/types-ts4.5/plugins/table/nodeviews/update-overflow-shadows.d.ts +1 -0
  135. package/dist/types-ts4.5/plugins/table/pm-plugins/decorations/plugin.d.ts +7 -0
  136. package/dist/types-ts4.5/plugins/table/pm-plugins/decorations/utils/column-controls.d.ts +3 -0
  137. package/dist/types-ts4.5/plugins/table/pm-plugins/decorations/utils/column-resizing.d.ts +4 -0
  138. package/dist/types-ts4.5/plugins/table/pm-plugins/decorations/utils/compose-decorations.d.ts +2 -0
  139. package/dist/types-ts4.5/plugins/table/pm-plugins/decorations/utils/index.d.ts +3 -0
  140. package/dist/types-ts4.5/plugins/table/pm-plugins/decorations/utils/types.d.ts +6 -0
  141. package/dist/types-ts4.5/plugins/table/pm-plugins/default-table-selection.d.ts +4 -0
  142. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/actions.d.ts +15 -0
  143. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/commands.d.ts +4 -0
  144. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/consts.d.ts +6 -0
  145. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/index.d.ts +4 -0
  146. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/plugin-factory.d.ts +2 -0
  147. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/plugin-key.d.ts +3 -0
  148. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/plugin.d.ts +3 -0
  149. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/reducer.d.ts +4 -0
  150. package/dist/types-ts4.5/plugins/table/pm-plugins/drag-and-drop/types.d.ts +5 -0
  151. package/dist/types-ts4.5/plugins/table/pm-plugins/keymap.d.ts +5 -0
  152. package/dist/types-ts4.5/plugins/table/pm-plugins/main.d.ts +8 -0
  153. package/dist/types-ts4.5/plugins/table/pm-plugins/plugin-factory.d.ts +1 -0
  154. package/dist/types-ts4.5/plugins/table/pm-plugins/plugin-key.d.ts +3 -0
  155. package/dist/types-ts4.5/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.d.ts +15 -0
  156. package/dist/types-ts4.5/plugins/table/pm-plugins/sticky-headers/commands.d.ts +3 -0
  157. package/dist/types-ts4.5/plugins/table/pm-plugins/sticky-headers/index.d.ts +5 -0
  158. package/dist/types-ts4.5/plugins/table/pm-plugins/sticky-headers/plugin-key.d.ts +3 -0
  159. package/dist/types-ts4.5/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +3 -0
  160. package/dist/types-ts4.5/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +4 -0
  161. package/dist/types-ts4.5/plugins/table/pm-plugins/sticky-headers/types.d.ts +16 -0
  162. package/dist/types-ts4.5/plugins/table/pm-plugins/sticky-headers/util.d.ts +2 -0
  163. package/dist/types-ts4.5/plugins/table/pm-plugins/table-analytics.d.ts +23 -0
  164. package/dist/types-ts4.5/plugins/table/pm-plugins/table-local-id.d.ts +10 -0
  165. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/commands.d.ts +23 -0
  166. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +4 -0
  167. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/index.d.ts +3 -0
  168. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +4 -0
  169. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/plugin-key.d.ts +3 -0
  170. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/plugin.d.ts +6 -0
  171. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/reducer.d.ts +3 -0
  172. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/colgroup.d.ts +23 -0
  173. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/column-state.d.ts +14 -0
  174. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/consts.d.ts +2 -0
  175. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/content-width.d.ts +4 -0
  176. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/dom.d.ts +12 -0
  177. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/index.d.ts +13 -0
  178. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +20 -0
  179. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -0
  180. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/resize-logic.d.ts +4 -0
  181. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +29 -0
  182. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +21 -0
  183. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/types.d.ts +22 -0
  184. package/dist/types-ts4.5/plugins/table/pm-plugins/table-resizing/utils/unit-to-number.d.ts +1 -0
  185. package/dist/types-ts4.5/plugins/table/pm-plugins/table-selection-keymap.d.ts +5 -0
  186. package/dist/types-ts4.5/plugins/table/pm-plugins/table-width.d.ts +17 -0
  187. package/dist/types-ts4.5/plugins/table/reducer.d.ts +3 -0
  188. package/dist/types-ts4.5/plugins/table/toolbar.d.ts +36 -0
  189. package/dist/types-ts4.5/plugins/table/transforms/column-width.d.ts +37 -0
  190. package/dist/types-ts4.5/plugins/table/transforms/delete-columns.d.ts +4 -0
  191. package/dist/types-ts4.5/plugins/table/transforms/delete-rows.d.ts +3 -0
  192. package/dist/types-ts4.5/plugins/table/transforms/fix-tables.d.ts +9 -0
  193. package/dist/types-ts4.5/plugins/table/transforms/index.d.ts +6 -0
  194. package/dist/types-ts4.5/plugins/table/transforms/merge.d.ts +5 -0
  195. package/dist/types-ts4.5/plugins/table/transforms/replace-table.d.ts +5 -0
  196. package/dist/types-ts4.5/plugins/table/transforms/split.d.ts +9 -0
  197. package/dist/types-ts4.5/plugins/table/types.d.ts +343 -0
  198. package/dist/types-ts4.5/plugins/table/ui/ColumnResizeWidget/index.d.ts +9 -0
  199. package/dist/types-ts4.5/plugins/table/ui/FloatingContextualButton/FixedButton.d.ts +23 -0
  200. package/dist/types-ts4.5/plugins/table/ui/FloatingContextualButton/index.d.ts +21 -0
  201. package/dist/types-ts4.5/plugins/table/ui/FloatingContextualButton/styles.d.ts +3 -0
  202. package/dist/types-ts4.5/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +87 -0
  203. package/dist/types-ts4.5/plugins/table/ui/FloatingContextualMenu/index.d.ts +23 -0
  204. package/dist/types-ts4.5/plugins/table/ui/FloatingContextualMenu/styles.d.ts +2 -0
  205. package/dist/types-ts4.5/plugins/table/ui/FloatingDeleteButton/DeleteButton.d.ts +13 -0
  206. package/dist/types-ts4.5/plugins/table/ui/FloatingDeleteButton/getPopUpOptions.d.ts +10 -0
  207. package/dist/types-ts4.5/plugins/table/ui/FloatingDeleteButton/index.d.ts +54 -0
  208. package/dist/types-ts4.5/plugins/table/ui/FloatingDeleteButton/types.d.ts +1 -0
  209. package/dist/types-ts4.5/plugins/table/ui/FloatingInsertButton/InsertButton.d.ts +13 -0
  210. package/dist/types-ts4.5/plugins/table/ui/FloatingInsertButton/getPopupOptions.d.ts +3 -0
  211. package/dist/types-ts4.5/plugins/table/ui/FloatingInsertButton/index.d.ts +35 -0
  212. package/dist/types-ts4.5/plugins/table/ui/LayoutButton/index.d.ts +21 -0
  213. package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/CornerControls/index.d.ts +16 -0
  214. package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/NumberColumn/index.d.ts +21 -0
  215. package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/RowControls/index.d.ts +17 -0
  216. package/dist/types-ts4.5/plugins/table/ui/TableFloatingControls/index.d.ts +39 -0
  217. package/dist/types-ts4.5/plugins/table/ui/common-styles.d.ts +9 -0
  218. package/dist/types-ts4.5/plugins/table/ui/consts.d.ts +50 -0
  219. package/dist/types-ts4.5/plugins/table/ui/messages.d.ts +63 -0
  220. package/dist/types-ts4.5/plugins/table/ui/ui-styles.d.ts +15 -0
  221. package/dist/types-ts4.5/plugins/table/utils/analytics.d.ts +45 -0
  222. package/dist/types-ts4.5/plugins/table/utils/collapse.d.ts +29 -0
  223. package/dist/types-ts4.5/plugins/table/utils/column-controls.d.ts +10 -0
  224. package/dist/types-ts4.5/plugins/table/utils/decoration.d.ts +19 -0
  225. package/dist/types-ts4.5/plugins/table/utils/dom.d.ts +26 -0
  226. package/dist/types-ts4.5/plugins/table/utils/get-allow-add-column-custom-step.d.ts +2 -0
  227. package/dist/types-ts4.5/plugins/table/utils/guidelines.d.ts +2 -0
  228. package/dist/types-ts4.5/plugins/table/utils/index.d.ts +11 -0
  229. package/dist/types-ts4.5/plugins/table/utils/nodes.d.ts +23 -0
  230. package/dist/types-ts4.5/plugins/table/utils/paste.d.ts +14 -0
  231. package/dist/types-ts4.5/plugins/table/utils/row-controls.d.ts +16 -0
  232. package/dist/types-ts4.5/plugins/table/utils/selection.d.ts +6 -0
  233. package/dist/types-ts4.5/plugins/table/utils/snapping.d.ts +10 -0
  234. package/dist/types-ts4.5/plugins/table/utils/table.d.ts +4 -0
  235. package/dist/types-ts4.5/plugins/table/utils/update-plugin-state-decorations.d.ts +4 -0
  236. package/dist/types-ts4.5/plugins/table-plugin.d.ts +2 -0
  237. package/dist/types-ts4.5/types/i18n.d.ts +5 -0
  238. package/package.json +3 -3
  239. package/report.api.md +2 -17
  240. package/src/__tests__/unit/nodeviews/cell.ts +2 -2
  241. package/src/__tests__/unit/pm-plugins/sticky-headers/tableRow.tsx +25 -148
  242. package/src/plugins/table/index.tsx +14 -0
  243. package/src/plugins/table/nodeviews/{tableCell.tsx → TableCell.ts} +41 -46
  244. package/src/plugins/table/nodeviews/TableNodeViewBase.ts +32 -0
  245. package/src/plugins/table/{pm-plugins/sticky-headers/nodeviews/tableRow.ts → nodeviews/TableRow.ts} +193 -246
  246. package/src/plugins/table/pm-plugins/drag-and-drop/actions.ts +29 -0
  247. package/src/plugins/table/pm-plugins/drag-and-drop/commands.ts +32 -0
  248. package/src/plugins/table/pm-plugins/drag-and-drop/consts.ts +8 -0
  249. package/src/plugins/table/pm-plugins/drag-and-drop/index.ts +5 -0
  250. package/src/plugins/table/pm-plugins/drag-and-drop/plugin-factory.ts +8 -0
  251. package/src/plugins/table/pm-plugins/drag-and-drop/plugin-key.ts +7 -0
  252. package/src/plugins/table/pm-plugins/drag-and-drop/plugin.ts +32 -0
  253. package/src/plugins/table/pm-plugins/drag-and-drop/reducer.ts +26 -0
  254. package/src/plugins/table/pm-plugins/drag-and-drop/types.ts +6 -0
  255. package/src/plugins/table/pm-plugins/main.ts +10 -19
  256. package/src/plugins/table/pm-plugins/sticky-headers/index.ts +0 -1
  257. package/src/plugins/table/pm-plugins/sticky-headers/plugin.ts +1 -9
  258. package/src/plugins/table/types.ts +2 -0
  259. package/src/plugins/table/utils/dom.ts +38 -0
  260. package/src/plugins/table/utils/index.ts +2 -0
  261. package/src/plugins/table/utils/nodes.ts +30 -2
  262. package/tmp/api-report-tmp.d.ts +100 -0
  263. package/dist/cjs/plugins/table/nodeviews/tableCell.js +0 -99
  264. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/dom.js +0 -35
  265. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/dom.js +0 -29
  266. package/dist/esm/plugins/table/nodeviews/tableCell.js +0 -93
  267. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/dom.js +0 -29
  268. package/dist/types/plugins/table/nodeviews/tableCell.d.ts +0 -17
  269. package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/dom.d.ts +0 -6
  270. package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +0 -73
  271. package/src/plugins/table/pm-plugins/sticky-headers/nodeviews/dom.ts +0 -37
@@ -0,0 +1,37 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.editor.canNotSortTable': string;
9
+ 'fabric.editor.cellBackground': string;
10
+ 'fabric.editor.cellOptions': string;
11
+ 'fabric.editor.clearCells': string;
12
+ 'fabric.editor.collapseTable': string;
13
+ 'fabric.editor.cornerControl': string;
14
+ 'fabric.editor.distributeColumns': string;
15
+ 'fabric.editor.extension.confirmDeleteLinkedModalMessagePrefix': string;
16
+ 'fabric.editor.extension.deleteElementTitle': string;
17
+ 'fabric.editor.extension.sourceNoTitledName': string;
18
+ 'fabric.editor.floatingToolbar.confirmModalCheckboxLabel': string;
19
+ 'fabric.editor.headerColumn': string;
20
+ 'fabric.editor.headerRow': string;
21
+ 'fabric.editor.insertColumn': string;
22
+ 'fabric.editor.insertRow': string;
23
+ 'fabric.editor.mergeCells': string;
24
+ 'fabric.editor.numberedColumn': string;
25
+ 'fabric.editor.removeColumns': string;
26
+ 'fabric.editor.removeRows': string;
27
+ 'fabric.editor.rowControl': string;
28
+ 'fabric.editor.sortColumnASC': string;
29
+ 'fabric.editor.sortColumnDESC': string;
30
+ 'fabric.editor.splitCell': string;
31
+ 'fabric.editor.tableOptions': string;
32
+ 'fabric.editor.tables.adjustColumn': string;
33
+ 'fabric.editor.tables.confirmDeleteLinkedModalMessage': string;
34
+ 'fabric.editor.tables.confirmDeleteLinkedModalOKButton': string;
35
+ 'fabric.editor.tables.resizeTable': string;
36
+ };
37
+ export default _default;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.editor.canNotSortTable': string;
9
+ 'fabric.editor.cellBackground': string;
10
+ 'fabric.editor.cellOptions': string;
11
+ 'fabric.editor.clearCells': string;
12
+ 'fabric.editor.collapseTable': string;
13
+ 'fabric.editor.cornerControl': string;
14
+ 'fabric.editor.distributeColumns': string;
15
+ 'fabric.editor.extension.confirmDeleteLinkedModalMessagePrefix': string;
16
+ 'fabric.editor.extension.deleteElementTitle': string;
17
+ 'fabric.editor.extension.sourceNoTitledName': string;
18
+ 'fabric.editor.floatingToolbar.confirmModalCheckboxLabel': string;
19
+ 'fabric.editor.headerColumn': string;
20
+ 'fabric.editor.headerRow': string;
21
+ 'fabric.editor.insertColumn': string;
22
+ 'fabric.editor.insertRow': string;
23
+ 'fabric.editor.mergeCells': string;
24
+ 'fabric.editor.numberedColumn': string;
25
+ 'fabric.editor.removeColumns': string;
26
+ 'fabric.editor.removeRows': string;
27
+ 'fabric.editor.rowControl': string;
28
+ 'fabric.editor.sortColumnASC': string;
29
+ 'fabric.editor.sortColumnDESC': string;
30
+ 'fabric.editor.splitCell': string;
31
+ 'fabric.editor.tableOptions': string;
32
+ 'fabric.editor.tables.adjustColumn': string;
33
+ 'fabric.editor.tables.confirmDeleteLinkedModalMessage': string;
34
+ 'fabric.editor.tables.confirmDeleteLinkedModalOKButton': string;
35
+ 'fabric.editor.tables.resizeTable': string;
36
+ };
37
+ export default _default;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.editor.canNotSortTable': string;
9
+ 'fabric.editor.cellBackground': string;
10
+ 'fabric.editor.cellOptions': string;
11
+ 'fabric.editor.clearCells': string;
12
+ 'fabric.editor.collapseTable': string;
13
+ 'fabric.editor.cornerControl': string;
14
+ 'fabric.editor.distributeColumns': string;
15
+ 'fabric.editor.extension.deleteElementTitle': string;
16
+ 'fabric.editor.floatingToolbar.confirmModalCheckboxLabel': string;
17
+ 'fabric.editor.headerColumn': string;
18
+ 'fabric.editor.headerRow': string;
19
+ 'fabric.editor.insertColumn': string;
20
+ 'fabric.editor.insertRow': string;
21
+ 'fabric.editor.mergeCells': string;
22
+ 'fabric.editor.numberedColumn': string;
23
+ 'fabric.editor.removeColumns': string;
24
+ 'fabric.editor.removeRows': string;
25
+ 'fabric.editor.rowControl': string;
26
+ 'fabric.editor.sortColumnASC': string;
27
+ 'fabric.editor.sortColumnDESC': string;
28
+ 'fabric.editor.splitCell': string;
29
+ 'fabric.editor.tableOptions': string;
30
+ 'fabric.editor.tables.adjustColumn': string;
31
+ 'fabric.editor.tables.confirmDeleteLinkedModalMessage': string;
32
+ 'fabric.editor.tables.confirmDeleteLinkedModalOKButton': string;
33
+ 'fabric.editor.tables.resizeTable': string;
34
+ };
35
+ export default _default;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.editor.canNotSortTable': string;
9
+ 'fabric.editor.cellBackground': string;
10
+ 'fabric.editor.cellOptions': string;
11
+ 'fabric.editor.clearCells': string;
12
+ 'fabric.editor.collapseTable': string;
13
+ 'fabric.editor.cornerControl': string;
14
+ 'fabric.editor.distributeColumns': string;
15
+ 'fabric.editor.extension.confirmDeleteLinkedModalMessagePrefix': string;
16
+ 'fabric.editor.extension.deleteElementTitle': string;
17
+ 'fabric.editor.extension.sourceNoTitledName': string;
18
+ 'fabric.editor.floatingToolbar.confirmModalCheckboxLabel': string;
19
+ 'fabric.editor.headerColumn': string;
20
+ 'fabric.editor.headerRow': string;
21
+ 'fabric.editor.insertColumn': string;
22
+ 'fabric.editor.insertRow': string;
23
+ 'fabric.editor.mergeCells': string;
24
+ 'fabric.editor.numberedColumn': string;
25
+ 'fabric.editor.removeColumns': string;
26
+ 'fabric.editor.removeRows': string;
27
+ 'fabric.editor.rowControl': string;
28
+ 'fabric.editor.sortColumnASC': string;
29
+ 'fabric.editor.sortColumnDESC': string;
30
+ 'fabric.editor.splitCell': string;
31
+ 'fabric.editor.tableOptions': string;
32
+ 'fabric.editor.tables.adjustColumn': string;
33
+ 'fabric.editor.tables.confirmDeleteLinkedModalMessage': string;
34
+ 'fabric.editor.tables.confirmDeleteLinkedModalOKButton': string;
35
+ 'fabric.editor.tables.resizeTable': string;
36
+ };
37
+ export default _default;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * NOTE:
3
+ *
4
+ * This file is automatically generated by Traduki 2.0.
5
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
6
+ */
7
+ declare const _default: {
8
+ 'fabric.editor.canNotSortTable': string;
9
+ 'fabric.editor.cellBackground': string;
10
+ 'fabric.editor.cellOptions': string;
11
+ 'fabric.editor.clearCells': string;
12
+ 'fabric.editor.collapseTable': string;
13
+ 'fabric.editor.cornerControl': string;
14
+ 'fabric.editor.distributeColumns': string;
15
+ 'fabric.editor.extension.confirmDeleteLinkedModalMessagePrefix': string;
16
+ 'fabric.editor.extension.deleteElementTitle': string;
17
+ 'fabric.editor.extension.sourceNoTitledName': string;
18
+ 'fabric.editor.floatingToolbar.confirmModalCheckboxLabel': string;
19
+ 'fabric.editor.headerColumn': string;
20
+ 'fabric.editor.headerRow': string;
21
+ 'fabric.editor.insertColumn': string;
22
+ 'fabric.editor.insertRow': string;
23
+ 'fabric.editor.mergeCells': string;
24
+ 'fabric.editor.numberedColumn': string;
25
+ 'fabric.editor.removeColumns': string;
26
+ 'fabric.editor.removeRows': string;
27
+ 'fabric.editor.rowControl': string;
28
+ 'fabric.editor.sortColumnASC': string;
29
+ 'fabric.editor.sortColumnDESC': string;
30
+ 'fabric.editor.splitCell': string;
31
+ 'fabric.editor.tableOptions': string;
32
+ 'fabric.editor.tables.adjustColumn': string;
33
+ 'fabric.editor.tables.confirmDeleteLinkedModalMessage': string;
34
+ 'fabric.editor.tables.confirmDeleteLinkedModalOKButton': string;
35
+ 'fabric.editor.tables.resizeTable': string;
36
+ };
37
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as tablesPlugin } from './plugins/table-plugin';
2
+ export type { TablePlugin } from './plugins/table';
@@ -0,0 +1,3 @@
1
+ import { Command } from '@atlaskit/editor-common/types';
2
+ export declare const clearMultipleCells: (targetCellPosition?: number) => Command;
3
+ export declare const clearSelection: Command;
@@ -0,0 +1,2 @@
1
+ import { Command } from '@atlaskit/editor-common/types';
2
+ export declare const wrapTableInExpand: Command;
@@ -0,0 +1,3 @@
1
+ import type { Command } from '@atlaskit/editor-common/types';
2
+ import type { Rect } from '@atlaskit/editor-tables/table-map';
3
+ export declare const deleteColumnsCommand: (rect: Rect) => Command;
@@ -0,0 +1,4 @@
1
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
2
+ import { Command } from '@atlaskit/editor-common/types';
3
+ import { Direction } from '@atlaskit/editor-tables/types';
4
+ export declare const goToNextCell: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (direction: Direction) => Command;
@@ -0,0 +1,8 @@
1
+ import { CellColumnPositioning } from '../types';
2
+ export declare const hoverMergedCells: () => import("@atlaskit/editor-common/types").Command;
3
+ export declare const hoverColumns: (hoveredColumns: number[], isInDanger?: boolean) => import("@atlaskit/editor-common/types").Command;
4
+ export declare const hoverRows: (hoveredRows: number[], isInDanger?: boolean) => import("@atlaskit/editor-common/types").Command;
5
+ export declare const hoverTable: (isInDanger?: boolean, isSelected?: boolean) => import("@atlaskit/editor-common/types").Command;
6
+ export declare const clearHoverSelection: () => import("@atlaskit/editor-common/types").Command;
7
+ export declare const showResizeHandleLine: (cellColumnPositioning: CellColumnPositioning) => import("@atlaskit/editor-common/types").Command;
8
+ export declare const hideResizeHandleLine: () => import("@atlaskit/editor-common/types").Command;
@@ -0,0 +1,8 @@
1
+ export { hoverColumns, hoverRows, hoverTable, hoverMergedCells, clearHoverSelection, showResizeHandleLine, hideResizeHandleLine, } from './hover';
2
+ export { insertColumn, insertRow, createTable } from './insert';
3
+ export { getNextLayout, toggleContextualMenu, toggleHeaderColumn, toggleHeaderRow, toggleNumberColumn, toggleTableLayout, } from './toggle';
4
+ export { clearMultipleCells } from './clear';
5
+ export { autoSizeTable, convertFirstRowToHeader, deleteTable, hideInsertColumnOrRowButton, moveCursorBackward, selectColumn, selectRow, setCellAttr, setEditorFocus, setMultipleCellAttrs, setTableRef, showInsertColumnButton, showInsertRowButton, transformSliceToAddTableHeaders, triggerUnlessTableHeader, addBoldInEmptyHeaderCells, addResizeHandleDecorations, } from './misc';
6
+ export { sortByColumn } from './sort';
7
+ export { goToNextCell } from './go-to-next-cell';
8
+ export { removeDescendantNodes } from './referentiality';
@@ -0,0 +1,9 @@
1
+ import type { Command, GetEditorContainerWidth } from '@atlaskit/editor-common/types';
2
+ import type { Transaction } from '@atlaskit/editor-prosemirror/state';
3
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
4
+ export declare function addColumnAt(getEditorContainerWidth: GetEditorContainerWidth): (column: number, allowAddColumnCustomStep: boolean | undefined, view: EditorView | undefined) => (tr: Transaction) => Transaction;
5
+ export declare const addColumnBefore: (getEditorContainerWidth: GetEditorContainerWidth) => Command;
6
+ export declare const addColumnAfter: (getEditorContainerWidth: GetEditorContainerWidth) => Command;
7
+ export declare const insertColumn: (getEditorContainerWidth: GetEditorContainerWidth) => (column: number) => Command;
8
+ export declare const insertRow: (row: number, moveCursorToTheNewRow: boolean) => Command;
9
+ export declare const createTable: () => Command;
@@ -0,0 +1,29 @@
1
+ import type { Command } from '@atlaskit/editor-common/types';
2
+ import type { Node as PMNode, Schema, Slice } from '@atlaskit/editor-prosemirror/model';
3
+ import type { Transaction } from '@atlaskit/editor-prosemirror/state';
4
+ import type { ContentNodeWithPos } from '@atlaskit/editor-prosemirror/utils';
5
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
6
+ export declare const setEditorFocus: (editorHasFocus: boolean) => Command;
7
+ export declare const setTableRef: (ref?: HTMLTableElement) => Command;
8
+ export declare const setCellAttr: (name: string, value: any) => Command;
9
+ export declare const triggerUnlessTableHeader: (command: Command) => Command;
10
+ export declare const transformSliceRemoveCellBackgroundColor: (slice: Slice, schema: Schema) => Slice;
11
+ export declare const transformSliceToAddTableHeaders: (slice: Slice, schema: Schema) => Slice;
12
+ export declare const transformSliceToRemoveColumnsWidths: (slice: Slice, schema: Schema) => Slice;
13
+ export declare const deleteTable: Command;
14
+ export declare const deleteTableIfSelected: Command;
15
+ export declare const convertFirstRowToHeader: (schema: Schema) => (tr: Transaction) => Transaction;
16
+ export declare const moveCursorBackward: Command;
17
+ export declare const setMultipleCellAttrs: (attrs: Object, targetCellPosition?: number) => Command;
18
+ export declare const selectColumn: (column: number, expand?: boolean) => Command;
19
+ export declare const selectRow: (row: number, expand?: boolean) => Command;
20
+ export declare const showInsertColumnButton: (columnIndex: number) => Command;
21
+ export declare const showInsertRowButton: (rowIndex: number) => Command;
22
+ export declare const hideInsertColumnOrRowButton: () => Command;
23
+ export declare const addResizeHandleDecorations: (rowIndex: number, columnIndex: number, includeTooltip: boolean) => Command;
24
+ export declare const updateResizeHandleDecorations: (rowIndex?: number, columnIndex?: number, includeTooltip?: boolean) => Command;
25
+ export declare const removeResizeHandleDecorations: () => Command;
26
+ export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number | undefined, opts: {
27
+ containerWidth: number;
28
+ }) => boolean;
29
+ export declare const addBoldInEmptyHeaderCells: (tableCellHeader: ContentNodeWithPos) => Command;
@@ -0,0 +1,2 @@
1
+ import { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
2
+ export declare const removeDescendantNodes: (sourceNode: PMNode) => import("@atlaskit/editor-common/types").Command;
@@ -0,0 +1,8 @@
1
+ import type { Command, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
+ import type tablePlugin from '../index';
3
+ export declare enum TableSelectionDirection {
4
+ TopToBottom = "TopToBottom",
5
+ BottomToTop = "BottomToTop"
6
+ }
7
+ export declare const arrowLeftFromTable: (editorSelectionAPI: ExtractInjectionAPI<typeof tablePlugin>['selection'] | undefined) => () => Command;
8
+ export declare const arrowRightFromTable: (editorSelectionAPI: ExtractInjectionAPI<typeof tablePlugin>['selection'] | undefined) => () => Command;
@@ -0,0 +1,3 @@
1
+ import { TableSortOrder as SortOrder } from '@atlaskit/custom-steps';
2
+ import type { Command } from '@atlaskit/editor-common/types';
3
+ export declare const sortByColumn: (columnIndex: number, order?: SortOrder) => Command;
@@ -0,0 +1,6 @@
1
+ import { Command } from '@atlaskit/editor-common/types';
2
+ /**
3
+ * We need to split cell keeping the right type of cell given current table configuration.
4
+ * We are using editor-tables splitCellWithType that allows you to choose what cell type should be.
5
+ */
6
+ export declare const splitCell: Command;
@@ -0,0 +1,12 @@
1
+ import type { TableLayout } from '@atlaskit/adf-schema';
2
+ import type { Command } from '@atlaskit/editor-common/types';
3
+ /**
4
+ * Table layout toggle logic
5
+ * default -> wide -> full-width -> default
6
+ */
7
+ export declare const getNextLayout: (currentLayout: TableLayout) => TableLayout;
8
+ export declare const toggleHeaderRow: Command;
9
+ export declare const toggleHeaderColumn: Command;
10
+ export declare const toggleNumberColumn: Command;
11
+ export declare const toggleTableLayout: Command;
12
+ export declare const toggleContextualMenu: () => Command;
@@ -0,0 +1,25 @@
1
+ import type { TableSortOrder as SortOrder } from '@atlaskit/custom-steps';
2
+ import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
3
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
4
+ import type { Command, GetEditorContainerWidth } from '@atlaskit/editor-common/types';
5
+ import type { Rect } from '@atlaskit/editor-tables/table-map';
6
+ import type { ResizeStateWithAnalytics } from './pm-plugins/table-resizing/utils';
7
+ import type { InsertRowMethods, InsertRowOptions, RowInsertPosition } from './types';
8
+ export declare const emptyMultipleCellsWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.KEYBOARD | INPUT_METHOD.FLOATING_TB, targetCellPosition?: number) => Command;
9
+ export declare const mergeCellsWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | null | undefined) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.FLOATING_TB) => Command;
10
+ export declare const splitCellWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.FLOATING_TB) => Command;
11
+ export declare const setColorWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.FLOATING_TB, cellColor: string, targetCellPosition?: number) => Command;
12
+ export declare const addRowAroundSelection: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (side: RowInsertPosition) => Command;
13
+ export declare const insertRowWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: InsertRowMethods, options: InsertRowOptions) => Command;
14
+ export declare const insertColumnWithAnalytics: (getEditorContainerWidth: GetEditorContainerWidth, editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.BUTTON | INPUT_METHOD.SHORTCUT | INPUT_METHOD.FLOATING_TB, position: number) => Command;
15
+ export declare const deleteRowsWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.BUTTON | INPUT_METHOD.FLOATING_TB, rect: Rect, isHeaderRowRequired: boolean) => Command;
16
+ export declare const deleteColumnsWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.BUTTON | INPUT_METHOD.FLOATING_TB, rect: Rect) => Command;
17
+ export declare const deleteTableWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => Command;
18
+ export declare const deleteTableIfSelectedWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.FLOATING_TB | INPUT_METHOD.KEYBOARD) => Command;
19
+ export declare const toggleHeaderRowWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => Command;
20
+ export declare const toggleHeaderColumnWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => Command;
21
+ export declare const toggleNumberColumnWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => Command;
22
+ export declare const toggleTableLayoutWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => Command;
23
+ export declare const sortColumnWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.FLOATING_TB, columnIndex: number, sortOrder: SortOrder) => Command;
24
+ export declare const distributeColumnsWidthsWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => (inputMethod: INPUT_METHOD.CONTEXT_MENU | INPUT_METHOD.FLOATING_TB, { resizeState, table, attributes }: ResizeStateWithAnalytics) => Command;
25
+ export declare const wrapTableInExpandWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined | null) => Command;
@@ -0,0 +1,2 @@
1
+ import { PluginConfig } from './types';
2
+ export declare const pluginConfig: (config?: PluginConfig) => PluginConfig;
@@ -0,0 +1,15 @@
1
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
2
+ import type { EditorState, Transaction } from '@atlaskit/editor-prosemirror/state';
3
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
4
+ import type { ElementContentRects } from './types';
5
+ export declare const handleBlur: (view: EditorView, event: Event) => boolean;
6
+ export declare const handleFocus: (view: EditorView, event: Event) => boolean;
7
+ export declare const handleClick: (view: EditorView, event: Event) => boolean;
8
+ export declare const handleMouseOver: (view: EditorView, mouseEvent: Event) => boolean;
9
+ export declare const handleMouseDown: (_: EditorView, event: Event) => boolean;
10
+ export declare const handleMouseOut: (view: EditorView, mouseEvent: Event) => boolean;
11
+ export declare const handleMouseLeave: (view: EditorView, event: Event) => boolean;
12
+ export declare const handleMouseMove: (view: EditorView, event: Event, elementContentRects?: ElementContentRects) => boolean;
13
+ export declare function handleTripleClick(view: EditorView, pos: number): boolean;
14
+ export declare const handleCut: (oldTr: Transaction, oldState: EditorState, newState: EditorState, editorAnalyticsAPI?: EditorAnalyticsAPI, editorView?: EditorView) => Transaction;
15
+ export declare const whenTableInFocus: (eventHandler: (view: EditorView, mouseEvent: Event, elementContentRects?: ElementContentRects) => boolean, elementContentRects?: ElementContentRects) => (view: EditorView, mouseEvent: Event) => boolean;
@@ -0,0 +1,3 @@
1
+ import type { ReadonlyTransaction, Transaction } from '@atlaskit/editor-prosemirror/state';
2
+ import type { TablePluginState } from './types';
3
+ export declare const handleDocOrSelectionChanged: (tr: Transaction | ReadonlyTransaction, pluginState: TablePluginState) => TablePluginState;
@@ -0,0 +1,38 @@
1
+ import type { AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
2
+ import type { Command, GetEditorFeatureFlags, NextEditorPlugin } from '@atlaskit/editor-common/types';
3
+ import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
4
+ import type { ContentInsertionPlugin } from '@atlaskit/editor-plugin-content-insertion';
5
+ import type { GuidelinePlugin } from '@atlaskit/editor-plugin-guideline';
6
+ import type { SelectionPlugin } from '@atlaskit/editor-plugin-selection';
7
+ import type { WidthPlugin } from '@atlaskit/editor-plugin-width';
8
+ import type { PluginConfig } from './types';
9
+ interface TablePluginOptions {
10
+ tableOptions: PluginConfig;
11
+ tableResizingEnabled?: boolean;
12
+ dragAndDropEnabled?: boolean;
13
+ breakoutEnabled?: boolean;
14
+ allowContextualMenu?: boolean;
15
+ fullWidthEnabled?: boolean;
16
+ wasFullWidthEnabled?: boolean;
17
+ getEditorFeatureFlags?: GetEditorFeatureFlags;
18
+ }
19
+ type InsertTableAction = (analyticsPayload: AnalyticsEventPayload) => Command;
20
+ export type TablePlugin = NextEditorPlugin<'table', {
21
+ pluginConfiguration: TablePluginOptions | undefined;
22
+ actions: {
23
+ insertTable: InsertTableAction;
24
+ };
25
+ dependencies: [
26
+ AnalyticsPlugin,
27
+ ContentInsertionPlugin,
28
+ WidthPlugin,
29
+ GuidelinePlugin,
30
+ SelectionPlugin
31
+ ];
32
+ }>;
33
+ /**
34
+ * Table plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
35
+ * from `@atlaskit/editor-core`.
36
+ */
37
+ declare const tablesPlugin: TablePlugin;
38
+ export default tablesPlugin;
@@ -0,0 +1,24 @@
1
+ import { ShadowEvent } from '../types';
2
+ export declare class OverflowShadowsObserver {
3
+ private tableIntersectionObserver?;
4
+ private updateShadowState;
5
+ private table;
6
+ private wrapper;
7
+ private leftShadowSentinel;
8
+ private rightShadowSentinel;
9
+ private shadowsObserved;
10
+ private isSticky;
11
+ private stickyRowHeight;
12
+ constructor(updateShadowState: (shadowKey: ShadowEvent, value: boolean) => void, table: HTMLElement, wrapper: HTMLDivElement);
13
+ private init;
14
+ private updateStickyShadowsHeightIfChanged;
15
+ private getStickyCell;
16
+ observeShadowSentinels: (isSticky?: boolean) => void;
17
+ /**
18
+ * Takes a heightStyle if it can be computed in a less expensive manner,
19
+ * e.g. bounds on an IntersectionObserverEntry, otherwise proceed with
20
+ * reading it from sticky cell
21
+ */
22
+ updateStickyShadows: (stickyRowHeight?: number) => void;
23
+ dispose(): void;
24
+ }
@@ -0,0 +1,13 @@
1
+ import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
2
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
3
+ import type { EditorView, NodeView } from '@atlaskit/editor-prosemirror/view';
4
+ import TableNodeView from './TableNodeViewBase';
5
+ export default class TableCell extends TableNodeView<HTMLElement> implements NodeView {
6
+ private readonly observer?;
7
+ constructor(node: PMNode, view: EditorView, getPos: () => number | undefined, eventDispatcher: EventDispatcher, observer?: ResizeObserver | undefined);
8
+ private isStickyHeaderEnabled;
9
+ private isDragAndDropEnabled;
10
+ update(node: PMNode): boolean;
11
+ destroy(): void;
12
+ private updateNodeView;
13
+ }
@@ -0,0 +1,73 @@
1
+ import React from 'react';
2
+ import type { TableColumnOrdering } from '@atlaskit/custom-steps';
3
+ import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
4
+ import type { EditorContainerWidth, GetEditorFeatureFlags } from '@atlaskit/editor-common/types';
5
+ import type { Node as PmNode } from '@atlaskit/editor-prosemirror/model';
6
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
7
+ import type { RowStickyState, StickyPluginState } from '../pm-plugins/sticky-headers';
8
+ import type { PluginInjectionAPI } from '../types';
9
+ import { ShadowEvent } from '../types';
10
+ import type { TableOptions } from './types';
11
+ export interface ComponentProps {
12
+ view: EditorView;
13
+ getNode: () => PmNode;
14
+ allowColumnResizing?: boolean;
15
+ eventDispatcher: EventDispatcher;
16
+ getPos: () => number | undefined;
17
+ options?: TableOptions;
18
+ contentDOM: (node: HTMLElement | null) => void;
19
+ containerWidth: EditorContainerWidth;
20
+ allowControls: boolean;
21
+ isHeaderRowEnabled: boolean;
22
+ isHeaderColumnEnabled: boolean;
23
+ isMediaFullscreen?: boolean;
24
+ tableActive: boolean;
25
+ ordering: TableColumnOrdering;
26
+ isResizing?: boolean;
27
+ getEditorFeatureFlags: GetEditorFeatureFlags;
28
+ pluginInjectionApi?: PluginInjectionAPI;
29
+ }
30
+ interface TableState {
31
+ scroll: number;
32
+ parentWidth?: number;
33
+ stickyHeader?: RowStickyState;
34
+ [ShadowEvent.SHOW_BEFORE_SHADOW]: boolean;
35
+ [ShadowEvent.SHOW_AFTER_SHADOW]: boolean;
36
+ }
37
+ declare class TableComponent extends React.Component<ComponentProps, TableState> {
38
+ static displayName: string;
39
+ state: TableState;
40
+ private wrapper?;
41
+ private table?;
42
+ private node;
43
+ private containerWidth?;
44
+ private layoutSize?;
45
+ private overflowShadowsObserver?;
46
+ private stickyScrollbar?;
47
+ private isInitialOverflowSent;
48
+ private initialOverflowCaptureTimerId?;
49
+ constructor(props: ComponentProps);
50
+ componentDidMount(): void;
51
+ componentWillUnmount(): void;
52
+ componentDidUpdate(_: any, prevState: TableState): void;
53
+ private updateShadowState;
54
+ private createShadowSentinels;
55
+ onStickyState: (state: StickyPluginState) => void;
56
+ prevTableState: any;
57
+ render(): JSX.Element;
58
+ private handleScroll;
59
+ private handleTableResizing;
60
+ private scaleTable;
61
+ private setTimerToSendInitialOverflowCaptured;
62
+ private handleAutoSize;
63
+ private handleWindowResize;
64
+ private getParentNodeWidth;
65
+ private updateParentWidth;
66
+ private tableNodeLayoutSize;
67
+ private scaleTableDebounced;
68
+ private handleTableResizingDebounced;
69
+ private handleScrollDebounced;
70
+ private handleAutoSizeDebounced;
71
+ private handleWindowResizeDebounced;
72
+ }
73
+ export default TableComponent;
@@ -0,0 +1,44 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import React from 'react';
3
+ import type { EditorContainerWidth } from '@atlaskit/editor-common/types';
4
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
5
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
6
+ import type { PluginInjectionAPI } from '../types';
7
+ type InnerContainerProps = {
8
+ className: string;
9
+ style?: {
10
+ width: number | 'inherit';
11
+ marginLeft?: number;
12
+ };
13
+ node: PMNode;
14
+ };
15
+ export declare const InnerContainer: React.ForwardRefExoticComponent<InnerContainerProps & {
16
+ children?: React.ReactNode;
17
+ } & React.RefAttributes<HTMLDivElement>>;
18
+ type ResizableTableContainerProps = {
19
+ containerWidth: number;
20
+ lineLength?: number;
21
+ node: PMNode;
22
+ className: string;
23
+ editorView: EditorView;
24
+ getPos: () => number | undefined;
25
+ tableRef: HTMLTableElement;
26
+ isResizing?: boolean;
27
+ pluginInjectionApi?: PluginInjectionAPI;
28
+ };
29
+ export declare const ResizableTableContainer: React.MemoExoticComponent<({ children, className, node, lineLength, containerWidth, editorView, getPos, tableRef, isResizing, pluginInjectionApi, }: PropsWithChildren<ResizableTableContainerProps>) => JSX.Element>;
30
+ type TableContainerProps = {
31
+ node: PMNode;
32
+ className: string;
33
+ containerWidth: EditorContainerWidth;
34
+ isTableResizingEnabled: boolean | undefined;
35
+ isBreakoutEnabled: boolean | undefined;
36
+ editorView: EditorView;
37
+ getPos: () => number | undefined;
38
+ tableRef: HTMLTableElement;
39
+ isNested: boolean;
40
+ isResizing?: boolean;
41
+ pluginInjectionApi?: PluginInjectionAPI;
42
+ };
43
+ export declare const TableContainer: ({ children, node, className, containerWidth: { lineLength, width: editorWidth }, isTableResizingEnabled, isBreakoutEnabled, editorView, getPos, tableRef, isNested, isResizing, pluginInjectionApi, }: PropsWithChildren<TableContainerProps>) => JSX.Element;
44
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
2
+ import type { Node as PmNode } from '@atlaskit/editor-prosemirror/model';
3
+ import type { EditorView, NodeView } from '@atlaskit/editor-prosemirror/view';
4
+ export default abstract class TableNodeView<T extends HTMLElement> implements NodeView {
5
+ protected node: PmNode;
6
+ protected readonly view: EditorView;
7
+ protected readonly getPos: () => number | undefined;
8
+ protected readonly eventDispatcher: EventDispatcher;
9
+ /**
10
+ * @constructor
11
+ */
12
+ constructor(node: PmNode, view: EditorView, getPos: () => number | undefined, eventDispatcher: EventDispatcher);
13
+ /**
14
+ * Variables
15
+ */
16
+ dom: T;
17
+ contentDOM: T;
18
+ }
@@ -0,0 +1,25 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import type { TableEventPayload } from '@atlaskit/editor-common/analytics';
3
+ import type { GuidelineConfig } from '@atlaskit/editor-common/guideline';
4
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
5
+ import type { Transaction } from '@atlaskit/editor-prosemirror/state';
6
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
7
+ interface TableResizerProps {
8
+ width: number;
9
+ maxWidth: number;
10
+ containerWidth: number;
11
+ updateWidth: (width: number) => void;
12
+ editorView: EditorView;
13
+ getPos: () => number | undefined;
14
+ node: PMNode;
15
+ tableRef: HTMLTableElement;
16
+ displayGuideline: (guideline: GuidelineConfig[]) => boolean;
17
+ attachAnalyticsEvent: (payload: TableEventPayload) => ((tr: Transaction) => boolean) | undefined;
18
+ displayGapCursor: (toggle: boolean) => boolean;
19
+ }
20
+ export interface TableResizerImprovementProps extends TableResizerProps {
21
+ onResizeStop?: () => void;
22
+ onResizeStart?: () => void;
23
+ }
24
+ export declare const TableResizer: ({ children, width, maxWidth, containerWidth, updateWidth, onResizeStop, onResizeStart, editorView, getPos, node, tableRef, displayGuideline, attachAnalyticsEvent, displayGapCursor, }: PropsWithChildren<TableResizerImprovementProps>) => JSX.Element;
25
+ export {};