@atlaskit/editor-core 151.3.0 → 151.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/dist/cjs/create-editor/ReactEditorView.js +22 -8
  2. package/dist/cjs/create-editor/create-plugins-list.js +25 -9
  3. package/dist/cjs/labs/next/presets/cxhtml.js +1 -2
  4. package/dist/cjs/nodeviews/ReactNodeView.js +2 -2
  5. package/dist/cjs/nodeviews/SelectionBasedNodeView.js +6 -0
  6. package/dist/cjs/plugins/analytics/types/enums.js +1 -0
  7. package/dist/cjs/plugins/annotation/utils.js +19 -8
  8. package/dist/cjs/plugins/avatar-group/index.js +2 -1
  9. package/dist/cjs/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +5 -2
  10. package/dist/cjs/plugins/before-primaryToolbar/index.js +26 -0
  11. package/dist/cjs/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +28 -0
  12. package/dist/cjs/plugins/extension/extension-api.js +10 -2
  13. package/dist/cjs/plugins/extension/ui/styles.js +1 -1
  14. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +4 -2
  15. package/dist/cjs/plugins/find-replace/FindReplaceToolbarButtonWithState.js +172 -0
  16. package/dist/cjs/plugins/find-replace/index.js +14 -137
  17. package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +10 -4
  18. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +1 -1
  19. package/dist/cjs/plugins/fragment/index.js +34 -0
  20. package/dist/cjs/plugins/fragment/plugin-key.js +11 -0
  21. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  22. package/dist/cjs/plugins/index.js +16 -0
  23. package/dist/cjs/plugins/list/actions/conversions.js +39 -71
  24. package/dist/cjs/plugins/list/transforms.js +7 -1
  25. package/dist/cjs/plugins/media/index.js +2 -3
  26. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +3 -1
  27. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +12 -5
  28. package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
  29. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +6 -4
  30. package/dist/cjs/plugins/media/nodeviews/styles.js +6 -1
  31. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -1
  32. package/dist/cjs/plugins/media/pm-plugins/main.js +49 -15
  33. package/dist/cjs/plugins/media/toolbar/commands.js +59 -0
  34. package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +7 -2
  35. package/dist/cjs/plugins/media/toolbar/index.js +90 -3
  36. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +9 -1
  37. package/dist/cjs/plugins/media/utils/media-common.js +1 -1
  38. package/dist/cjs/plugins/media/utils/media-files.js +5 -1
  39. package/dist/cjs/plugins/panel/actions.js +2 -2
  40. package/dist/cjs/plugins/panel/index.js +3 -3
  41. package/dist/cjs/plugins/panel/nodeviews/panel.js +2 -2
  42. package/dist/cjs/plugins/panel/toolbar.js +10 -5
  43. package/dist/cjs/plugins/panel/utils.js +15 -0
  44. package/dist/cjs/plugins/rank.js +3 -2
  45. package/dist/cjs/plugins/selection/pm-plugins/selection-main.js +49 -1
  46. package/dist/cjs/plugins/status/ui/statusPicker.js +4 -2
  47. package/dist/cjs/plugins/table/commands/insert.js +1 -0
  48. package/dist/cjs/plugins/table/index.js +3 -2
  49. package/dist/cjs/plugins/table/nodeviews/OverflowShadowsObserver.js +1 -3
  50. package/dist/cjs/plugins/table/pm-plugins/main.js +26 -3
  51. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  52. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -0
  53. package/dist/cjs/plugins/table/transforms/column-width.js +14 -5
  54. package/dist/cjs/plugins/table/transforms/fix-tables.js +43 -6
  55. package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +3 -2
  56. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -0
  57. package/dist/cjs/plugins/table/ui/common-styles.css.js +1 -1
  58. package/dist/cjs/plugins/table/ui/consts.js +1 -1
  59. package/dist/cjs/plugins/table/ui/messages.js +1 -1
  60. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/decisionItem.js +1 -1
  61. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/taskItem.js +1 -1
  62. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/main.js +2 -2
  63. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +2 -1
  64. package/dist/cjs/plugins/text-formatting/index.js +2 -1
  65. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +1 -0
  66. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +77 -26
  67. package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +32 -9
  68. package/dist/cjs/ui/ColorPalette/Color/index.js +8 -18
  69. package/dist/cjs/ui/ColorPalette/index.js +7 -4
  70. package/dist/cjs/ui/ColorPickerButton/index.js +1 -1
  71. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +114 -61
  72. package/dist/cjs/ui/ConfigPanel/FormContent.js +39 -26
  73. package/dist/cjs/ui/ConfigPanel/transformers.js +490 -248
  74. package/dist/cjs/ui/ConfigPanel/utils.js +2 -10
  75. package/dist/cjs/ui/DropdownMenu/index.js +3 -1
  76. package/dist/cjs/ui/LinkSearch/LinkSearchListItem.js +1 -1
  77. package/dist/cjs/ui/Resizer/index.js +9 -1
  78. package/dist/cjs/version-wrapper.js +1 -1
  79. package/dist/cjs/version.json +1 -1
  80. package/dist/es2019/create-editor/ReactEditorView.js +19 -8
  81. package/dist/es2019/create-editor/create-plugins-list.js +26 -10
  82. package/dist/es2019/labs/next/presets/cxhtml.js +1 -2
  83. package/dist/es2019/nodeviews/ReactNodeView.js +1 -1
  84. package/dist/es2019/nodeviews/SelectionBasedNodeView.js +11 -0
  85. package/dist/es2019/plugins/analytics/types/enums.js +1 -0
  86. package/dist/es2019/plugins/annotation/utils.js +18 -7
  87. package/dist/es2019/plugins/avatar-group/index.js +2 -1
  88. package/dist/es2019/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +3 -2
  89. package/dist/es2019/plugins/before-primaryToolbar/index.js +15 -0
  90. package/dist/es2019/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +12 -0
  91. package/dist/es2019/plugins/extension/extension-api.js +9 -2
  92. package/dist/es2019/plugins/extension/ui/styles.js +6 -0
  93. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +4 -2
  94. package/dist/es2019/plugins/find-replace/FindReplaceToolbarButtonWithState.js +152 -0
  95. package/dist/es2019/plugins/find-replace/index.js +15 -128
  96. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  97. package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +10 -2
  98. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +1 -1
  99. package/dist/es2019/plugins/fragment/index.js +22 -0
  100. package/dist/es2019/plugins/fragment/plugin-key.js +2 -0
  101. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -2
  102. package/dist/es2019/plugins/index.js +2 -0
  103. package/dist/es2019/plugins/list/actions/conversions.js +38 -69
  104. package/dist/es2019/plugins/list/transforms.js +5 -1
  105. package/dist/es2019/plugins/media/index.js +2 -2
  106. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +2 -1
  107. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +8 -4
  108. package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
  109. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +7 -5
  110. package/dist/es2019/plugins/media/nodeviews/styles.js +2 -0
  111. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -1
  112. package/dist/es2019/plugins/media/pm-plugins/main.js +32 -17
  113. package/dist/es2019/plugins/media/toolbar/commands.js +47 -0
  114. package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +6 -2
  115. package/dist/es2019/plugins/media/toolbar/index.js +90 -3
  116. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/index.js +7 -1
  117. package/dist/es2019/plugins/media/utils/media-common.js +1 -1
  118. package/dist/es2019/plugins/media/utils/media-files.js +6 -1
  119. package/dist/es2019/plugins/panel/actions.js +2 -2
  120. package/dist/es2019/plugins/panel/index.js +5 -5
  121. package/dist/es2019/plugins/panel/nodeviews/panel.js +2 -2
  122. package/dist/es2019/plugins/panel/toolbar.js +10 -5
  123. package/dist/es2019/plugins/panel/utils.js +8 -1
  124. package/dist/es2019/plugins/rank.js +3 -2
  125. package/dist/es2019/plugins/selection/pm-plugins/selection-main.js +48 -1
  126. package/dist/es2019/plugins/status/ui/statusPicker.js +4 -2
  127. package/dist/es2019/plugins/table/commands/insert.js +1 -2
  128. package/dist/es2019/plugins/table/index.js +2 -1
  129. package/dist/es2019/plugins/table/nodeviews/OverflowShadowsObserver.js +1 -2
  130. package/dist/es2019/plugins/table/pm-plugins/main.js +25 -4
  131. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  132. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -0
  133. package/dist/es2019/plugins/table/transforms/column-width.js +13 -3
  134. package/dist/es2019/plugins/table/transforms/fix-tables.js +43 -5
  135. package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +3 -2
  136. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -0
  137. package/dist/es2019/plugins/table/ui/common-styles.css.js +5 -1
  138. package/dist/es2019/plugins/table/ui/consts.js +2 -2
  139. package/dist/es2019/plugins/table/ui/messages.js +1 -1
  140. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/decisionItem.js +1 -1
  141. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/taskItem.js +1 -1
  142. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/main.js +3 -3
  143. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +2 -1
  144. package/dist/es2019/plugins/text-formatting/index.js +3 -2
  145. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +2 -1
  146. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +2 -1
  147. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +60 -27
  148. package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +51 -7
  149. package/dist/es2019/ui/ColorPalette/Color/index.js +9 -18
  150. package/dist/es2019/ui/ColorPalette/index.js +7 -4
  151. package/dist/es2019/ui/ColorPickerButton/index.js +1 -1
  152. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +101 -49
  153. package/dist/es2019/ui/ConfigPanel/FormContent.js +35 -26
  154. package/dist/es2019/ui/ConfigPanel/transformers.js +243 -72
  155. package/dist/es2019/ui/ConfigPanel/utils.js +1 -2
  156. package/dist/es2019/ui/Dropdown/index.js +2 -1
  157. package/dist/es2019/ui/DropdownMenu/index.js +7 -3
  158. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +1 -0
  159. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +1 -0
  160. package/dist/es2019/ui/LinkSearch/LinkSearchListItem.js +2 -2
  161. package/dist/es2019/ui/Resizer/index.js +9 -1
  162. package/dist/es2019/version-wrapper.js +1 -1
  163. package/dist/es2019/version.json +1 -1
  164. package/dist/esm/create-editor/ReactEditorView.js +22 -8
  165. package/dist/esm/create-editor/create-plugins-list.js +26 -10
  166. package/dist/esm/labs/next/presets/cxhtml.js +1 -2
  167. package/dist/esm/nodeviews/ReactNodeView.js +2 -2
  168. package/dist/esm/nodeviews/SelectionBasedNodeView.js +7 -0
  169. package/dist/esm/plugins/analytics/types/enums.js +1 -0
  170. package/dist/esm/plugins/annotation/utils.js +18 -7
  171. package/dist/esm/plugins/avatar-group/index.js +2 -1
  172. package/dist/esm/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +5 -2
  173. package/dist/esm/plugins/before-primaryToolbar/index.js +15 -0
  174. package/dist/esm/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +12 -0
  175. package/dist/esm/plugins/extension/extension-api.js +9 -2
  176. package/dist/esm/plugins/extension/ui/styles.js +1 -1
  177. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +4 -2
  178. package/dist/esm/plugins/find-replace/FindReplaceToolbarButtonWithState.js +155 -0
  179. package/dist/esm/plugins/find-replace/index.js +14 -131
  180. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  181. package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +9 -4
  182. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +1 -1
  183. package/dist/esm/plugins/fragment/index.js +22 -0
  184. package/dist/esm/plugins/fragment/plugin-key.js +2 -0
  185. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -2
  186. package/dist/esm/plugins/index.js +2 -0
  187. package/dist/esm/plugins/list/actions/conversions.js +38 -71
  188. package/dist/esm/plugins/list/transforms.js +7 -1
  189. package/dist/esm/plugins/media/index.js +2 -3
  190. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +2 -1
  191. package/dist/esm/plugins/media/nodeviews/mediaInline.js +11 -6
  192. package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
  193. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +7 -5
  194. package/dist/esm/plugins/media/nodeviews/styles.js +2 -0
  195. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -1
  196. package/dist/esm/plugins/media/pm-plugins/main.js +47 -16
  197. package/dist/esm/plugins/media/toolbar/commands.js +45 -0
  198. package/dist/esm/plugins/media/toolbar/filePreviewItem.js +6 -2
  199. package/dist/esm/plugins/media/toolbar/index.js +88 -3
  200. package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +9 -1
  201. package/dist/esm/plugins/media/utils/media-common.js +1 -1
  202. package/dist/esm/plugins/media/utils/media-files.js +6 -1
  203. package/dist/esm/plugins/panel/actions.js +2 -2
  204. package/dist/esm/plugins/panel/index.js +5 -5
  205. package/dist/esm/plugins/panel/nodeviews/panel.js +2 -2
  206. package/dist/esm/plugins/panel/toolbar.js +9 -4
  207. package/dist/esm/plugins/panel/utils.js +13 -0
  208. package/dist/esm/plugins/rank.js +3 -2
  209. package/dist/esm/plugins/selection/pm-plugins/selection-main.js +50 -1
  210. package/dist/esm/plugins/status/ui/statusPicker.js +4 -2
  211. package/dist/esm/plugins/table/commands/insert.js +1 -2
  212. package/dist/esm/plugins/table/index.js +3 -2
  213. package/dist/esm/plugins/table/nodeviews/OverflowShadowsObserver.js +1 -2
  214. package/dist/esm/plugins/table/pm-plugins/main.js +27 -4
  215. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  216. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -0
  217. package/dist/esm/plugins/table/transforms/column-width.js +13 -3
  218. package/dist/esm/plugins/table/transforms/fix-tables.js +42 -4
  219. package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +3 -2
  220. package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -0
  221. package/dist/esm/plugins/table/ui/common-styles.css.js +1 -1
  222. package/dist/esm/plugins/table/ui/consts.js +2 -2
  223. package/dist/esm/plugins/table/ui/messages.js +1 -1
  224. package/dist/esm/plugins/tasks-and-decisions/nodeviews/decisionItem.js +1 -1
  225. package/dist/esm/plugins/tasks-and-decisions/nodeviews/taskItem.js +1 -1
  226. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/main.js +3 -3
  227. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +2 -1
  228. package/dist/esm/plugins/text-formatting/index.js +3 -2
  229. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +2 -1
  230. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +2 -1
  231. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +67 -27
  232. package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +20 -7
  233. package/dist/esm/ui/ColorPalette/Color/index.js +9 -16
  234. package/dist/esm/ui/ColorPalette/index.js +7 -4
  235. package/dist/esm/ui/ColorPickerButton/index.js +1 -1
  236. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +113 -62
  237. package/dist/esm/ui/ConfigPanel/FormContent.js +39 -26
  238. package/dist/esm/ui/ConfigPanel/transformers.js +488 -248
  239. package/dist/esm/ui/ConfigPanel/utils.js +1 -6
  240. package/dist/esm/ui/Dropdown/index.js +2 -1
  241. package/dist/esm/ui/DropdownMenu/index.js +7 -3
  242. package/dist/esm/ui/ElementBrowser/InsertMenu.js +1 -0
  243. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +1 -0
  244. package/dist/esm/ui/LinkSearch/LinkSearchListItem.js +2 -2
  245. package/dist/esm/ui/Resizer/index.js +9 -1
  246. package/dist/esm/version-wrapper.js +1 -1
  247. package/dist/esm/version.json +1 -1
  248. package/dist/types/labs/next/full-page.d.ts +1 -1
  249. package/dist/types/nodeviews/ReactNodeView.d.ts +1 -1
  250. package/dist/types/nodeviews/SelectionBasedNodeView.d.ts +1 -0
  251. package/dist/types/plugins/analytics/types/enums.d.ts +1 -0
  252. package/dist/types/plugins/analytics/types/events.d.ts +7 -1
  253. package/dist/types/plugins/annotation/utils.d.ts +1 -1
  254. package/dist/types/plugins/avatar-group/index.d.ts +1 -0
  255. package/dist/types/plugins/avatar-group/ui/AvatarGroupPluginWrapper.d.ts +1 -0
  256. package/dist/types/plugins/before-primaryToolbar/index.d.ts +5 -0
  257. package/dist/types/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.d.ts +5 -0
  258. package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
  259. package/dist/types/plugins/find-replace/FindReplaceToolbarButtonWithState.d.ts +15 -0
  260. package/dist/types/plugins/find-replace/index.d.ts +1 -0
  261. package/dist/types/plugins/floating-toolbar/ui/EmojiPickerButton.d.ts +1 -1
  262. package/dist/types/plugins/fragment/index.d.ts +5 -0
  263. package/dist/types/plugins/fragment/plugin-key.d.ts +2 -0
  264. package/dist/types/plugins/index.d.ts +2 -0
  265. package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +3 -2
  266. package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +2 -2
  267. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  268. package/dist/types/plugins/media/nodeviews/styles.d.ts +2 -0
  269. package/dist/types/plugins/media/toolbar/commands.d.ts +3 -0
  270. package/dist/types/plugins/media/toolbar/filePreviewItem.d.ts +2 -0
  271. package/dist/types/plugins/media/types.d.ts +0 -1
  272. package/dist/types/plugins/panel/actions.d.ts +1 -1
  273. package/dist/types/plugins/panel/types.d.ts +8 -2
  274. package/dist/types/plugins/quick-insert/index.d.ts +2 -1
  275. package/dist/types/plugins/table/commands/insert.d.ts +3 -0
  276. package/dist/types/plugins/table/pm-plugins/main.d.ts +2 -1
  277. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/types.d.ts +1 -0
  278. package/dist/types/plugins/table/transforms/column-width.d.ts +4 -1
  279. package/dist/types/plugins/table/transforms/fix-tables.d.ts +3 -2
  280. package/dist/types/plugins/table/types.d.ts +8 -0
  281. package/dist/types/plugins/table/ui/consts.d.ts +1 -1
  282. package/dist/types/types/editor-appearance-component.d.ts +2 -2
  283. package/dist/types/types/editor-props.d.ts +11 -1
  284. package/dist/types/types/feature-flags.d.ts +13 -0
  285. package/dist/types/types/index.d.ts +1 -1
  286. package/dist/types/ui/Appearance/FullPage/FullPageToolbar.d.ts +2 -2
  287. package/dist/types/ui/Appearance/FullPage/MainToolbar.d.ts +10 -1
  288. package/dist/types/ui/ColorPalette/Color/index.d.ts +8 -5
  289. package/dist/types/ui/ColorPalette/index.d.ts +1 -0
  290. package/dist/types/ui/ConfigPanel/transformers.d.ts +7 -1
  291. package/dist/types/ui/ConfigPanel/utils.d.ts +0 -1
  292. package/dist/types/ui/Resizer/index.d.ts +1 -0
  293. package/package.json +10 -7
  294. package/dist/cjs/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.js +0 -38
  295. package/dist/es2019/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.js +0 -28
  296. package/dist/esm/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.js +0 -28
  297. package/dist/types/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.d.ts +0 -1
@@ -23,6 +23,7 @@ const ColorPalette = props => {
23
23
  onClick,
24
24
  selectedColor,
25
25
  className,
26
+ isShowingMoreColors,
26
27
  intl: {
27
28
  formatMessage
28
29
  }
@@ -36,22 +37,24 @@ const ColorPalette = props => {
36
37
  return resultArray;
37
38
  }, []);
38
39
  }, [palette, cols]);
39
- return /*#__PURE__*/React.createElement(React.Fragment, null, colorsPerRow.map(row => /*#__PURE__*/React.createElement(ColorPaletteWrapper, {
40
+ return /*#__PURE__*/React.createElement(React.Fragment, null, colorsPerRow.map((row, rowIdx) => /*#__PURE__*/React.createElement(ColorPaletteWrapper, {
40
41
  className: className,
41
- key: `row-first-color-${row[0].value}`
42
+ key: `row-first-color-${row[0].value}`,
43
+ role: "radiogroup"
42
44
  }, row.map(({
43
45
  value,
44
46
  label,
45
47
  border,
46
48
  message
47
- }) => /*#__PURE__*/React.createElement(Color, {
49
+ }, colorIdx) => /*#__PURE__*/React.createElement(Color, {
48
50
  key: value,
49
51
  value: value,
50
52
  borderColor: border,
51
53
  label: message ? formatMessage(message) : label,
52
54
  onClick: onClick,
53
55
  isSelected: value === selectedColor,
54
- checkMarkColor: getContrastColor(value, [N0, N500])
56
+ checkMarkColor: getContrastColor(value, [N0, N500]),
57
+ autoFocus: isShowingMoreColors && rowIdx === 1 && colorIdx === 0
55
58
  })))));
56
59
  };
57
60
 
@@ -19,7 +19,7 @@ const ColorPickerWrapper = styled.div`
19
19
  border-radius: ${borderRadius()}px;
20
20
  background-color: white;
21
21
  box-shadow: 0 4px 8px -2px ${N60A}, 0 0 1px ${N60A};
22
- padding: 4px;
22
+ padding: 8px 0px;
23
23
  `;
24
24
 
25
25
  const ColorPickerButton = props => {
@@ -6,11 +6,12 @@ import { withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-n
6
6
  import Form from '@atlaskit/form';
7
7
  import { isTabGroup } from '@atlaskit/editor-common/extensions';
8
8
  import _isEqual from 'lodash/isEqual';
9
+ import _mergeRecursive from 'lodash/merge';
9
10
  import { fireAnalyticsEvent, EVENT_TYPE, ACTION_SUBJECT, ACTION } from '../../plugins/analytics';
10
11
  import LoadingState from './LoadingState';
11
12
  import Header from './Header';
12
13
  import ErrorMessage from './ErrorMessage';
13
- import { serialize, deserialize } from './transformers';
14
+ import { serialize, deserialize, findDuplicateFields } from './transformers';
14
15
  import { injectIntl } from 'react-intl';
15
16
  import ButtonGroup from '@atlaskit/button/button-group';
16
17
  import Button from '@atlaskit/button/custom-theme-button';
@@ -19,6 +20,7 @@ import { pluginKey as extensionPluginKey } from '../../plugins/extension/plugin-
19
20
  import WithPluginState from '../WithPluginState';
20
21
  import FormContent from './FormContent';
21
22
  import { messages } from './messages';
23
+ import { FormErrorBoundary } from './FormErrorBoundary';
22
24
 
23
25
  function ConfigForm({
24
26
  canSave,
@@ -32,8 +34,19 @@ function ConfigForm({
32
34
  onCancel,
33
35
  onFieldChange,
34
36
  parameters,
35
- submitting
37
+ submitting,
38
+ contextIdentifierProvider
36
39
  }) {
40
+ useEffect(() => {
41
+ if (fields) {
42
+ const firstDuplicateField = findDuplicateFields(fields);
43
+
44
+ if (firstDuplicateField) {
45
+ throw new Error(`Possible duplicate field name: \`${firstDuplicateField.name}\`.`);
46
+ }
47
+ }
48
+ }, [fields]);
49
+
37
50
  if (isLoading || !hasParsedParameters && errorMessage === null) {
38
51
  return /*#__PURE__*/React.createElement(LoadingState, null);
39
52
  }
@@ -44,34 +57,27 @@ function ConfigForm({
44
57
  });
45
58
  }
46
59
 
47
- return /*#__PURE__*/React.createElement(WithPluginState, {
48
- plugins: {
49
- extension: extensionPluginKey
50
- },
51
- render: ({
52
- extension
53
- }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormContent, {
54
- fields: fields,
55
- parameters: parameters,
56
- extensionManifest: extensionManifest,
57
- onFieldChange: onFieldChange,
58
- firstVisibleFieldName: firstVisibleFieldName,
59
- contextIdentifierProvider: extension === null || extension === void 0 ? void 0 : extension.contextIdentifierProvider
60
- }), /*#__PURE__*/React.createElement("div", {
61
- style: canSave ? {} : {
62
- display: 'none'
63
- }
64
- }, /*#__PURE__*/React.createElement(FormFooter, {
65
- align: "start"
66
- }, /*#__PURE__*/React.createElement(ButtonGroup, null, /*#__PURE__*/React.createElement(Button, {
67
- type: "submit",
68
- appearance: "primary"
69
- }, intl.formatMessage(messages.submit)), /*#__PURE__*/React.createElement(Button, {
70
- appearance: "default",
71
- isDisabled: submitting,
72
- onClick: onCancel
73
- }, intl.formatMessage(messages.cancel))))))
74
- });
60
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormContent, {
61
+ fields: fields,
62
+ parameters: parameters,
63
+ extensionManifest: extensionManifest,
64
+ onFieldChange: onFieldChange,
65
+ firstVisibleFieldName: firstVisibleFieldName,
66
+ contextIdentifierProvider: contextIdentifierProvider
67
+ }), /*#__PURE__*/React.createElement("div", {
68
+ style: canSave ? {} : {
69
+ display: 'none'
70
+ }
71
+ }, /*#__PURE__*/React.createElement(FormFooter, {
72
+ align: "start"
73
+ }, /*#__PURE__*/React.createElement(ButtonGroup, null, /*#__PURE__*/React.createElement(Button, {
74
+ type: "submit",
75
+ appearance: "primary"
76
+ }, intl.formatMessage(messages.submit)), /*#__PURE__*/React.createElement(Button, {
77
+ appearance: "default",
78
+ isDisabled: submitting,
79
+ onClick: onCancel
80
+ }, intl.formatMessage(messages.cancel))))));
75
81
  }
76
82
 
77
83
  const ConfigFormIntl = injectIntl(ConfigForm);
@@ -126,14 +132,48 @@ class ConfigPanel extends React.Component {
126
132
  });
127
133
 
128
134
  _defineProperty(this, "backfillTabFormData", (fields, formData, currentParameters) => {
129
- const mergedTabGroups = fields.filter(isTabGroup).reduce((acc, field) => ({ ...acc,
130
- [field.name]: { ...(currentParameters[field.name] || {}),
131
- ...(formData[field.name] || {})
135
+ const getRelevantData = (field, formParams, currentParams, backfill) => {
136
+ if (field.hasGroupedValues && !(field.name in backfill)) {
137
+ backfill[field.name] = {};
132
138
  }
133
- }), {});
134
- return { ...formData,
135
- ...mergedTabGroups
136
- };
139
+
140
+ const actualFormParams = field.hasGroupedValues ? formParams[field.name] || {} : formParams;
141
+ const actualCurrentParams = field.hasGroupedValues ? currentParams[field.name] || {} : currentParams;
142
+ const actualBackfillParams = field.hasGroupedValues ? backfill[field.name] : backfill;
143
+ return {
144
+ formParams: actualFormParams,
145
+ currentParams: actualCurrentParams,
146
+ backfillParams: actualBackfillParams
147
+ };
148
+ }; // Traverse any tab structures and backfill field values on tabs
149
+ // which aren't shown. This filter should be ok because tabs are
150
+ // currently only allowed on top level
151
+
152
+
153
+ const mergedTabGroups = fields.filter(isTabGroup).reduce((missingBackfill, tabGroup) => {
154
+ const {
155
+ formParams: tabGroupFormData,
156
+ currentParams: tabGroupCurrentData,
157
+ backfillParams: tabGroupParams
158
+ } = getRelevantData(tabGroup, formData, currentParameters, missingBackfill); // Loop through tabs and see what fields are missing from current data
159
+
160
+ tabGroup.fields.forEach(tabField => {
161
+ const {
162
+ formParams: tabFormData,
163
+ currentParams: tabCurrentData,
164
+ backfillParams: tabParams
165
+ } = getRelevantData(tabField, tabGroupFormData, tabGroupCurrentData, tabGroupParams);
166
+ tabField.fields.forEach(field => {
167
+ if (field.name in tabFormData || !(field.name in tabCurrentData)) {
168
+ return;
169
+ }
170
+
171
+ tabParams[field.name] = tabCurrentData[field.name];
172
+ });
173
+ });
174
+ return missingBackfill;
175
+ }, {});
176
+ return _mergeRecursive({}, mergedTabGroups, formData);
137
177
  });
138
178
 
139
179
  _defineProperty(this, "handleSubmit", async formData => {
@@ -352,18 +392,30 @@ class ConfigPanel extends React.Component {
352
392
  noValidate: true,
353
393
  onKeyDown: handleKeyDown,
354
394
  "data-testid": "extension-config-panel"
355
- }), this.renderHeader(extensionManifest), /*#__PURE__*/React.createElement(ConfigFormIntl, {
356
- canSave: !autoSave,
357
- errorMessage: errorMessage,
358
- extensionManifest: extensionManifest,
359
- fields: fields,
360
- firstVisibleFieldName: firstVisibleFieldName,
361
- hasParsedParameters: hasParsedParameters,
362
- isLoading: isLoading || false,
363
- onCancel: onCancel,
364
- onFieldChange: onFieldChange,
365
- parameters: currentParameters,
366
- submitting: submitting
395
+ }), this.renderHeader(extensionManifest), /*#__PURE__*/React.createElement(WithPluginState, {
396
+ plugins: {
397
+ extension: extensionPluginKey
398
+ },
399
+ render: ({
400
+ extension
401
+ }) => /*#__PURE__*/React.createElement(FormErrorBoundary, {
402
+ contextIdentifierProvider: extension === null || extension === void 0 ? void 0 : extension.contextIdentifierProvider,
403
+ extensionKey: extensionManifest.key,
404
+ fields: fields || []
405
+ }, /*#__PURE__*/React.createElement(ConfigFormIntl, {
406
+ canSave: !autoSave,
407
+ errorMessage: errorMessage,
408
+ extensionManifest: extensionManifest,
409
+ fields: fields,
410
+ firstVisibleFieldName: firstVisibleFieldName,
411
+ hasParsedParameters: hasParsedParameters,
412
+ isLoading: isLoading || false,
413
+ onCancel: onCancel,
414
+ onFieldChange: onFieldChange,
415
+ parameters: currentParameters,
416
+ submitting: submitting,
417
+ contextIdentifierProvider: extension === null || extension === void 0 ? void 0 : extension.contextIdentifierProvider
418
+ }))
367
419
  }));
368
420
  });
369
421
  });
@@ -134,35 +134,44 @@ export function FieldComponent({
134
134
  });
135
135
 
136
136
  case 'expand':
137
- // if expand is under a tab.
138
- const resolvedParentName = parentName ? `${parentName}.${field.name}` : field.name;
139
- return /*#__PURE__*/React.createElement(Expand, {
140
- field: field,
141
- isExpanded: field.isExpanded
142
- }, /*#__PURE__*/React.createElement(FormContent, {
143
- parentName: resolvedParentName,
144
- fields: field.fields,
145
- parameters: parameters[field.name] || {},
146
- onFieldChange: onFieldChange,
147
- extensionManifest: extensionManifest
148
- }));
149
-
150
- case 'tab-group':
151
- const renderPanel = tabField => {
152
- const tabParameters = parameters[field.name] || {};
153
- return /*#__PURE__*/React.createElement(FormContent, {
154
- parentName: `${field.name}.${tabField.name}`,
155
- fields: tabField.fields,
156
- parameters: tabParameters[tabField.name] || {},
137
+ {
138
+ // if expand is under a tab with hasGroupedValues=true
139
+ const resolvedParentName = [parentName, field.hasGroupedValues ? field.name : undefined].filter(val => !!val).join('.') || undefined;
140
+ const resolvedParameters = !field.hasGroupedValues ? parameters : parameters[field.name] || {};
141
+ return /*#__PURE__*/React.createElement(Expand, {
142
+ field: field,
143
+ isExpanded: field.isExpanded
144
+ }, /*#__PURE__*/React.createElement(FormContent, {
145
+ parentName: resolvedParentName,
146
+ fields: field.fields,
147
+ parameters: resolvedParameters,
157
148
  onFieldChange: onFieldChange,
158
149
  extensionManifest: extensionManifest
159
- });
160
- };
150
+ }));
151
+ }
161
152
 
162
- return /*#__PURE__*/React.createElement(TabGroup, {
163
- field: field,
164
- renderPanel: renderPanel
165
- });
153
+ case 'tab-group':
154
+ {
155
+ const tabGroupField = field;
156
+ const tabGroupParams = tabGroupField.hasGroupedValues ? parameters[tabGroupField.name] || {} : parameters;
157
+
158
+ const renderPanel = tabField => {
159
+ const parentName = [tabGroupField.hasGroupedValues ? tabGroupField.name : undefined, tabField.hasGroupedValues ? tabField.name : undefined].filter(val => !!val).join('.') || undefined;
160
+ const tabParameters = tabField.hasGroupedValues ? tabGroupParams[tabField.name] || {} : tabGroupParams;
161
+ return /*#__PURE__*/React.createElement(FormContent, {
162
+ parentName: parentName,
163
+ fields: tabField.fields,
164
+ parameters: tabParameters,
165
+ onFieldChange: onFieldChange,
166
+ extensionManifest: extensionManifest
167
+ });
168
+ };
169
+
170
+ return /*#__PURE__*/React.createElement(TabGroup, {
171
+ field: tabGroupField,
172
+ renderPanel: renderPanel
173
+ });
174
+ }
166
175
 
167
176
  default:
168
177
  return /*#__PURE__*/React.createElement(UnhandledType, {