@atlaskit/editor-plugin-extension 0.4.2 → 0.5.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 (307) hide show
  1. package/.eslintrc.js +26 -0
  2. package/CHANGELOG.md +16 -0
  3. package/dist/cjs/actions.js +236 -0
  4. package/dist/cjs/commands.js +122 -0
  5. package/dist/cjs/context-panel.js +269 -0
  6. package/dist/cjs/extension-api.js +266 -0
  7. package/dist/cjs/index.js +8 -1
  8. package/dist/cjs/plugin-factory.js +32 -0
  9. package/dist/cjs/plugin-key.js +8 -0
  10. package/dist/cjs/plugin.js +147 -0
  11. package/dist/cjs/pm-plugins/keymap.js +21 -0
  12. package/dist/cjs/pm-plugins/macro/actions.js +186 -0
  13. package/dist/cjs/pm-plugins/macro/index.js +72 -0
  14. package/dist/cjs/pm-plugins/macro/plugin-key.js +8 -0
  15. package/dist/cjs/pm-plugins/macro/types.js +5 -0
  16. package/dist/cjs/pm-plugins/main.js +323 -0
  17. package/dist/cjs/pm-plugins/unique-id.js +80 -0
  18. package/dist/cjs/pm-plugins/utils.js +75 -0
  19. package/dist/cjs/reducer.js +18 -0
  20. package/dist/cjs/toolbar.js +242 -0
  21. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +475 -0
  22. package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +122 -0
  23. package/dist/cjs/ui/ConfigPanel/ConfigPanelLoader.js +23 -0
  24. package/dist/cjs/ui/ConfigPanel/ErrorMessage/ErrorImage.js +76 -0
  25. package/dist/cjs/ui/ConfigPanel/ErrorMessage/index.js +33 -0
  26. package/dist/cjs/ui/ConfigPanel/FieldMessages.js +105 -0
  27. package/dist/cjs/ui/ConfigPanel/Fields/Boolean.js +150 -0
  28. package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +101 -0
  29. package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +420 -0
  30. package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +192 -0
  31. package/dist/cjs/ui/ConfigPanel/Fields/Date.js +55 -0
  32. package/dist/cjs/ui/ConfigPanel/Fields/DateRange.js +160 -0
  33. package/dist/cjs/ui/ConfigPanel/Fields/Enum.js +41 -0
  34. package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +88 -0
  35. package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +270 -0
  36. package/dist/cjs/ui/ConfigPanel/Fields/Number.js +64 -0
  37. package/dist/cjs/ui/ConfigPanel/Fields/RadioGroup.js +56 -0
  38. package/dist/cjs/ui/ConfigPanel/Fields/Select.js +60 -0
  39. package/dist/cjs/ui/ConfigPanel/Fields/SelectItem.js +53 -0
  40. package/dist/cjs/ui/ConfigPanel/Fields/String.js +75 -0
  41. package/dist/cjs/ui/ConfigPanel/Fields/TabGroup.js +73 -0
  42. package/dist/cjs/ui/ConfigPanel/Fields/UnhandledType.js +19 -0
  43. package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +268 -0
  44. package/dist/cjs/ui/ConfigPanel/Fields/common/RequiredIndicator.js +12 -0
  45. package/dist/cjs/ui/ConfigPanel/FormContent.js +231 -0
  46. package/dist/cjs/ui/ConfigPanel/FormErrorBoundary.js +140 -0
  47. package/dist/cjs/ui/ConfigPanel/Header.js +148 -0
  48. package/dist/cjs/ui/ConfigPanel/LoadingState.js +25 -0
  49. package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +61 -0
  50. package/dist/cjs/ui/ConfigPanel/constants.js +13 -0
  51. package/dist/cjs/ui/ConfigPanel/index.js +9 -0
  52. package/dist/cjs/ui/ConfigPanel/messages.js +99 -0
  53. package/dist/cjs/ui/ConfigPanel/transformers.js +631 -0
  54. package/dist/cjs/ui/ConfigPanel/types.js +15 -0
  55. package/dist/cjs/ui/ConfigPanel/use-abortable-effect/index.js +56 -0
  56. package/dist/cjs/ui/ConfigPanel/use-state-from-promise/index.js +41 -0
  57. package/dist/cjs/ui/ConfigPanel/utils.js +116 -0
  58. package/dist/cjs/ui/SaveIndicator/SaveIndicator.js +79 -0
  59. package/dist/cjs/ui/SaveIndicator/messages.js +14 -0
  60. package/dist/cjs/ui/SaveIndicator/types.js +5 -0
  61. package/dist/cjs/utils.js +73 -0
  62. package/dist/es2019/actions.js +203 -0
  63. package/dist/es2019/commands.js +99 -0
  64. package/dist/es2019/context-panel.js +181 -0
  65. package/dist/es2019/extension-api.js +284 -0
  66. package/dist/es2019/index.js +1 -1
  67. package/dist/es2019/plugin-factory.js +26 -0
  68. package/dist/es2019/plugin-key.js +2 -0
  69. package/dist/es2019/plugin.js +138 -0
  70. package/dist/es2019/pm-plugins/keymap.js +15 -0
  71. package/dist/es2019/pm-plugins/macro/actions.js +152 -0
  72. package/dist/es2019/pm-plugins/macro/index.js +36 -0
  73. package/dist/es2019/pm-plugins/macro/plugin-key.js +2 -0
  74. package/dist/es2019/pm-plugins/macro/types.js +1 -0
  75. package/dist/es2019/pm-plugins/main.js +230 -0
  76. package/dist/es2019/pm-plugins/unique-id.js +69 -0
  77. package/dist/es2019/pm-plugins/utils.js +30 -0
  78. package/dist/es2019/reducer.js +11 -0
  79. package/dist/es2019/toolbar.js +236 -0
  80. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +415 -0
  81. package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +100 -0
  82. package/dist/es2019/ui/ConfigPanel/ConfigPanelLoader.js +7 -0
  83. package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +66 -0
  84. package/dist/es2019/ui/ConfigPanel/ErrorMessage/index.js +25 -0
  85. package/dist/es2019/ui/ConfigPanel/FieldMessages.js +101 -0
  86. package/dist/es2019/ui/ConfigPanel/Fields/Boolean.js +138 -0
  87. package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +96 -0
  88. package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +411 -0
  89. package/dist/es2019/ui/ConfigPanel/Fields/CustomSelect.js +132 -0
  90. package/dist/es2019/ui/ConfigPanel/Fields/Date.js +50 -0
  91. package/dist/es2019/ui/ConfigPanel/Fields/DateRange.js +139 -0
  92. package/dist/es2019/ui/ConfigPanel/Fields/Enum.js +35 -0
  93. package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +73 -0
  94. package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +227 -0
  95. package/dist/es2019/ui/ConfigPanel/Fields/Number.js +61 -0
  96. package/dist/es2019/ui/ConfigPanel/Fields/RadioGroup.js +40 -0
  97. package/dist/es2019/ui/ConfigPanel/Fields/Select.js +50 -0
  98. package/dist/es2019/ui/ConfigPanel/Fields/SelectItem.js +47 -0
  99. package/dist/es2019/ui/ConfigPanel/Fields/String.js +67 -0
  100. package/dist/es2019/ui/ConfigPanel/Fields/TabGroup.js +57 -0
  101. package/dist/es2019/ui/ConfigPanel/Fields/UnhandledType.js +11 -0
  102. package/dist/es2019/ui/ConfigPanel/Fields/UserSelect.js +194 -0
  103. package/dist/es2019/ui/ConfigPanel/Fields/common/RequiredIndicator.js +5 -0
  104. package/dist/es2019/ui/ConfigPanel/FormContent.js +225 -0
  105. package/dist/es2019/ui/ConfigPanel/FormErrorBoundary.js +100 -0
  106. package/dist/es2019/ui/ConfigPanel/Header.js +140 -0
  107. package/dist/es2019/ui/ConfigPanel/LoadingState.js +15 -0
  108. package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +52 -0
  109. package/dist/es2019/ui/ConfigPanel/constants.js +7 -0
  110. package/dist/es2019/ui/ConfigPanel/index.js +2 -0
  111. package/dist/es2019/ui/ConfigPanel/messages.js +93 -0
  112. package/dist/es2019/ui/ConfigPanel/transformers.js +367 -0
  113. package/dist/es2019/ui/ConfigPanel/types.js +9 -0
  114. package/dist/es2019/ui/ConfigPanel/use-abortable-effect/index.js +46 -0
  115. package/dist/es2019/ui/ConfigPanel/use-state-from-promise/index.js +30 -0
  116. package/dist/es2019/ui/ConfigPanel/utils.js +86 -0
  117. package/dist/es2019/ui/SaveIndicator/SaveIndicator.js +66 -0
  118. package/dist/es2019/ui/SaveIndicator/messages.js +8 -0
  119. package/dist/es2019/ui/SaveIndicator/types.js +1 -0
  120. package/dist/es2019/utils.js +65 -0
  121. package/dist/esm/actions.js +223 -0
  122. package/dist/esm/commands.js +113 -0
  123. package/dist/esm/context-panel.js +261 -0
  124. package/dist/esm/extension-api.js +259 -0
  125. package/dist/esm/index.js +1 -1
  126. package/dist/esm/plugin-factory.js +25 -0
  127. package/dist/esm/plugin-key.js +2 -0
  128. package/dist/esm/plugin.js +140 -0
  129. package/dist/esm/pm-plugins/keymap.js +15 -0
  130. package/dist/esm/pm-plugins/macro/actions.js +179 -0
  131. package/dist/esm/pm-plugins/macro/index.js +42 -0
  132. package/dist/esm/pm-plugins/macro/plugin-key.js +2 -0
  133. package/dist/esm/pm-plugins/macro/types.js +1 -0
  134. package/dist/esm/pm-plugins/main.js +298 -0
  135. package/dist/esm/pm-plugins/unique-id.js +74 -0
  136. package/dist/esm/pm-plugins/utils.js +68 -0
  137. package/dist/esm/reducer.js +11 -0
  138. package/dist/esm/toolbar.js +235 -0
  139. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +465 -0
  140. package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +112 -0
  141. package/dist/esm/ui/ConfigPanel/ConfigPanelLoader.js +11 -0
  142. package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +68 -0
  143. package/dist/esm/ui/ConfigPanel/ErrorMessage/index.js +26 -0
  144. package/dist/esm/ui/ConfigPanel/FieldMessages.js +97 -0
  145. package/dist/esm/ui/ConfigPanel/Fields/Boolean.js +140 -0
  146. package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +95 -0
  147. package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +414 -0
  148. package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +182 -0
  149. package/dist/esm/ui/ConfigPanel/Fields/Date.js +48 -0
  150. package/dist/esm/ui/ConfigPanel/Fields/DateRange.js +154 -0
  151. package/dist/esm/ui/ConfigPanel/Fields/Enum.js +34 -0
  152. package/dist/esm/ui/ConfigPanel/Fields/Expand.js +77 -0
  153. package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +261 -0
  154. package/dist/esm/ui/ConfigPanel/Fields/Number.js +57 -0
  155. package/dist/esm/ui/ConfigPanel/Fields/RadioGroup.js +46 -0
  156. package/dist/esm/ui/ConfigPanel/Fields/Select.js +50 -0
  157. package/dist/esm/ui/ConfigPanel/Fields/SelectItem.js +45 -0
  158. package/dist/esm/ui/ConfigPanel/Fields/String.js +65 -0
  159. package/dist/esm/ui/ConfigPanel/Fields/TabGroup.js +62 -0
  160. package/dist/esm/ui/ConfigPanel/Fields/UnhandledType.js +10 -0
  161. package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +258 -0
  162. package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +5 -0
  163. package/dist/esm/ui/ConfigPanel/FormContent.js +223 -0
  164. package/dist/esm/ui/ConfigPanel/FormErrorBoundary.js +133 -0
  165. package/dist/esm/ui/ConfigPanel/Header.js +140 -0
  166. package/dist/esm/ui/ConfigPanel/LoadingState.js +17 -0
  167. package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +53 -0
  168. package/dist/esm/ui/ConfigPanel/constants.js +7 -0
  169. package/dist/esm/ui/ConfigPanel/index.js +2 -0
  170. package/dist/esm/ui/ConfigPanel/messages.js +93 -0
  171. package/dist/esm/ui/ConfigPanel/transformers.js +624 -0
  172. package/dist/esm/ui/ConfigPanel/types.js +9 -0
  173. package/dist/esm/ui/ConfigPanel/use-abortable-effect/index.js +49 -0
  174. package/dist/esm/ui/ConfigPanel/use-state-from-promise/index.js +34 -0
  175. package/dist/esm/ui/ConfigPanel/utils.js +109 -0
  176. package/dist/esm/ui/SaveIndicator/SaveIndicator.js +72 -0
  177. package/dist/esm/ui/SaveIndicator/messages.js +8 -0
  178. package/dist/esm/ui/SaveIndicator/types.js +1 -0
  179. package/dist/esm/utils.js +67 -0
  180. package/dist/types/actions.d.ts +20 -0
  181. package/dist/types/commands.d.ts +15 -0
  182. package/dist/types/context-panel.d.ts +10 -0
  183. package/dist/types/extension-api.d.ts +12 -0
  184. package/dist/types/index.d.ts +2 -1
  185. package/dist/types/plugin-factory.d.ts +4 -0
  186. package/dist/types/plugin-key.d.ts +3 -0
  187. package/dist/types/plugin.d.ts +2 -0
  188. package/dist/types/pm-plugins/keymap.d.ts +3 -0
  189. package/dist/types/pm-plugins/macro/actions.d.ts +9 -0
  190. package/dist/types/pm-plugins/macro/index.d.ts +8 -0
  191. package/dist/types/pm-plugins/macro/plugin-key.d.ts +3 -0
  192. package/dist/types/pm-plugins/macro/types.d.ts +4 -0
  193. package/dist/types/pm-plugins/main.d.ts +25 -0
  194. package/dist/types/pm-plugins/unique-id.d.ts +3 -0
  195. package/dist/types/pm-plugins/utils.d.ts +3 -0
  196. package/dist/types/reducer.d.ts +2 -0
  197. package/dist/types/toolbar.d.ts +44 -0
  198. package/dist/types/types.d.ts +27 -2
  199. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +22 -0
  200. package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +21 -0
  201. package/dist/types/ui/ConfigPanel/ConfigPanelLoader.d.ts +5 -0
  202. package/dist/types/ui/ConfigPanel/ErrorMessage/ErrorImage.d.ts +4 -0
  203. package/dist/types/ui/ConfigPanel/ErrorMessage/index.d.ts +10 -0
  204. package/dist/types/ui/ConfigPanel/FieldMessages.d.ts +12 -0
  205. package/dist/types/ui/ConfigPanel/Fields/Boolean.d.ts +8 -0
  206. package/dist/types/ui/ConfigPanel/Fields/CheckboxGroup.d.ts +8 -0
  207. package/dist/types/ui/ConfigPanel/Fields/ColorPicker.d.ts +20 -0
  208. package/dist/types/ui/ConfigPanel/Fields/CustomSelect.d.ts +24 -0
  209. package/dist/types/ui/ConfigPanel/Fields/Date.d.ts +20 -0
  210. package/dist/types/ui/ConfigPanel/Fields/DateRange.d.ts +20 -0
  211. package/dist/types/ui/ConfigPanel/Fields/Enum.d.ts +10 -0
  212. package/dist/types/ui/ConfigPanel/Fields/Expand.d.ts +16 -0
  213. package/dist/types/ui/ConfigPanel/Fields/Fieldset.d.ts +19 -0
  214. package/dist/types/ui/ConfigPanel/Fields/Number.d.ts +10 -0
  215. package/dist/types/ui/ConfigPanel/Fields/RadioGroup.d.ts +8 -0
  216. package/dist/types/ui/ConfigPanel/Fields/Select.d.ts +11 -0
  217. package/dist/types/ui/ConfigPanel/Fields/SelectItem.d.ts +5 -0
  218. package/dist/types/ui/ConfigPanel/Fields/String.d.ts +10 -0
  219. package/dist/types/ui/ConfigPanel/Fields/TabGroup.d.ts +14 -0
  220. package/dist/types/ui/ConfigPanel/Fields/UnhandledType.d.ts +6 -0
  221. package/dist/types/ui/ConfigPanel/Fields/UserSelect.d.ts +10 -0
  222. package/dist/types/ui/ConfigPanel/Fields/common/RequiredIndicator.d.ts +1 -0
  223. package/dist/types/ui/ConfigPanel/FormContent.d.ts +4 -0
  224. package/dist/types/ui/ConfigPanel/FormErrorBoundary.d.ts +16 -0
  225. package/dist/types/ui/ConfigPanel/Header.d.ts +23 -0
  226. package/dist/types/ui/ConfigPanel/LoadingState.d.ts +4 -0
  227. package/dist/types/ui/ConfigPanel/NestedForms/RemovableField.d.ts +19 -0
  228. package/dist/types/ui/ConfigPanel/constants.d.ts +2 -0
  229. package/dist/types/ui/ConfigPanel/index.d.ts +2 -0
  230. package/dist/types/ui/ConfigPanel/messages.d.ts +92 -0
  231. package/dist/types/ui/ConfigPanel/transformers.d.ts +9 -0
  232. package/dist/types/ui/ConfigPanel/types.d.ts +36 -0
  233. package/dist/types/ui/ConfigPanel/use-abortable-effect/index.d.ts +16 -0
  234. package/dist/types/ui/ConfigPanel/use-state-from-promise/index.d.ts +15 -0
  235. package/dist/types/ui/ConfigPanel/utils.d.ts +16 -0
  236. package/dist/types/ui/SaveIndicator/SaveIndicator.d.ts +4 -0
  237. package/dist/types/ui/SaveIndicator/messages.d.ts +7 -0
  238. package/dist/types/ui/SaveIndicator/types.d.ts +11 -0
  239. package/dist/types/utils.d.ts +15 -0
  240. package/dist/types-ts4.5/actions.d.ts +20 -0
  241. package/dist/types-ts4.5/commands.d.ts +15 -0
  242. package/dist/types-ts4.5/context-panel.d.ts +10 -0
  243. package/dist/types-ts4.5/extension-api.d.ts +12 -0
  244. package/dist/types-ts4.5/index.d.ts +2 -1
  245. package/dist/types-ts4.5/plugin-factory.d.ts +4 -0
  246. package/dist/types-ts4.5/plugin-key.d.ts +3 -0
  247. package/dist/types-ts4.5/plugin.d.ts +2 -0
  248. package/dist/types-ts4.5/pm-plugins/keymap.d.ts +3 -0
  249. package/dist/types-ts4.5/pm-plugins/macro/actions.d.ts +9 -0
  250. package/dist/types-ts4.5/pm-plugins/macro/index.d.ts +8 -0
  251. package/dist/types-ts4.5/pm-plugins/macro/plugin-key.d.ts +3 -0
  252. package/dist/types-ts4.5/pm-plugins/macro/types.d.ts +4 -0
  253. package/dist/types-ts4.5/pm-plugins/main.d.ts +25 -0
  254. package/dist/types-ts4.5/pm-plugins/unique-id.d.ts +3 -0
  255. package/dist/types-ts4.5/pm-plugins/utils.d.ts +3 -0
  256. package/dist/types-ts4.5/reducer.d.ts +2 -0
  257. package/dist/types-ts4.5/toolbar.d.ts +44 -0
  258. package/dist/types-ts4.5/types.d.ts +27 -2
  259. package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanel.d.ts +22 -0
  260. package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +21 -0
  261. package/dist/types-ts4.5/ui/ConfigPanel/ConfigPanelLoader.d.ts +5 -0
  262. package/dist/types-ts4.5/ui/ConfigPanel/ErrorMessage/ErrorImage.d.ts +4 -0
  263. package/dist/types-ts4.5/ui/ConfigPanel/ErrorMessage/index.d.ts +10 -0
  264. package/dist/types-ts4.5/ui/ConfigPanel/FieldMessages.d.ts +12 -0
  265. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Boolean.d.ts +8 -0
  266. package/dist/types-ts4.5/ui/ConfigPanel/Fields/CheckboxGroup.d.ts +8 -0
  267. package/dist/types-ts4.5/ui/ConfigPanel/Fields/ColorPicker.d.ts +20 -0
  268. package/dist/types-ts4.5/ui/ConfigPanel/Fields/CustomSelect.d.ts +24 -0
  269. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Date.d.ts +20 -0
  270. package/dist/types-ts4.5/ui/ConfigPanel/Fields/DateRange.d.ts +20 -0
  271. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Enum.d.ts +10 -0
  272. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Expand.d.ts +16 -0
  273. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Fieldset.d.ts +19 -0
  274. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Number.d.ts +10 -0
  275. package/dist/types-ts4.5/ui/ConfigPanel/Fields/RadioGroup.d.ts +8 -0
  276. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Select.d.ts +11 -0
  277. package/dist/types-ts4.5/ui/ConfigPanel/Fields/SelectItem.d.ts +5 -0
  278. package/dist/types-ts4.5/ui/ConfigPanel/Fields/String.d.ts +10 -0
  279. package/dist/types-ts4.5/ui/ConfigPanel/Fields/TabGroup.d.ts +14 -0
  280. package/dist/types-ts4.5/ui/ConfigPanel/Fields/UnhandledType.d.ts +6 -0
  281. package/dist/types-ts4.5/ui/ConfigPanel/Fields/UserSelect.d.ts +10 -0
  282. package/dist/types-ts4.5/ui/ConfigPanel/Fields/common/RequiredIndicator.d.ts +1 -0
  283. package/dist/types-ts4.5/ui/ConfigPanel/FormContent.d.ts +4 -0
  284. package/dist/types-ts4.5/ui/ConfigPanel/FormErrorBoundary.d.ts +16 -0
  285. package/dist/types-ts4.5/ui/ConfigPanel/Header.d.ts +23 -0
  286. package/dist/types-ts4.5/ui/ConfigPanel/LoadingState.d.ts +4 -0
  287. package/dist/types-ts4.5/ui/ConfigPanel/NestedForms/RemovableField.d.ts +19 -0
  288. package/dist/types-ts4.5/ui/ConfigPanel/constants.d.ts +2 -0
  289. package/dist/types-ts4.5/ui/ConfigPanel/index.d.ts +2 -0
  290. package/dist/types-ts4.5/ui/ConfigPanel/messages.d.ts +92 -0
  291. package/dist/types-ts4.5/ui/ConfigPanel/transformers.d.ts +9 -0
  292. package/dist/types-ts4.5/ui/ConfigPanel/types.d.ts +39 -0
  293. package/dist/types-ts4.5/ui/ConfigPanel/use-abortable-effect/index.d.ts +16 -0
  294. package/dist/types-ts4.5/ui/ConfigPanel/use-state-from-promise/index.d.ts +18 -0
  295. package/dist/types-ts4.5/ui/ConfigPanel/utils.d.ts +16 -0
  296. package/dist/types-ts4.5/ui/SaveIndicator/SaveIndicator.d.ts +4 -0
  297. package/dist/types-ts4.5/ui/SaveIndicator/messages.d.ts +7 -0
  298. package/dist/types-ts4.5/ui/SaveIndicator/types.d.ts +11 -0
  299. package/dist/types-ts4.5/utils.d.ts +15 -0
  300. package/example-utils/config-panel/ConfigPanelWithExtensionPicker.tsx +217 -0
  301. package/example-utils/config-panel/ConfigPanelWithProviders.tsx +51 -0
  302. package/example-utils/config-panel/ExtensionNodePicker.tsx +141 -0
  303. package/example-utils/config-panel/FieldTypePicker.tsx +63 -0
  304. package/example-utils/config-panel/example-manifest-all-fields.ts +86 -0
  305. package/example-utils/config-panel/example-manifest-individual-fields.ts +85 -0
  306. package/example-utils/config-panel/fields.ts +611 -0
  307. package/package.json +49 -7
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createPlugin = void 0;
8
+ Object.defineProperty(exports, "insertMacroFromMacroBrowser", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _actions.insertMacroFromMacroBrowser;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "resolveMacro", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _actions.resolveMacro;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "runMacroAutoConvert", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _actions.runMacroAutoConvert;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "setMacroProvider", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _actions.setMacroProvider;
30
+ }
31
+ });
32
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
33
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
34
+ var _actions = require("./actions");
35
+ var _pluginKey = require("./plugin-key");
36
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
37
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
38
+ var createPlugin = exports.createPlugin = function createPlugin(dispatch, providerFactory) {
39
+ return new _safePlugin.SafePlugin({
40
+ state: {
41
+ init: function init() {
42
+ return {
43
+ macroProvider: null
44
+ };
45
+ },
46
+ apply: function apply(tr, state) {
47
+ var meta = tr.getMeta(_pluginKey.pluginKey);
48
+ if (meta) {
49
+ var newState = _objectSpread(_objectSpread({}, state), meta);
50
+ dispatch(_pluginKey.pluginKey, newState);
51
+ return newState;
52
+ }
53
+ return state;
54
+ }
55
+ },
56
+ key: _pluginKey.pluginKey,
57
+ view: function view(_view) {
58
+ var handleProvider = function handleProvider(_name, provider) {
59
+ return provider && (0, _actions.setMacroProvider)(provider)(_view);
60
+ };
61
+ // make sure editable DOM node is mounted
62
+ if (_view.dom.parentNode) {
63
+ providerFactory.subscribe('macroProvider', handleProvider);
64
+ }
65
+ return {
66
+ destroy: function destroy() {
67
+ providerFactory.unsubscribe('macroProvider', handleProvider);
68
+ }
69
+ };
70
+ }
71
+ });
72
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.pluginKey = void 0;
7
+ var _state = require("@atlaskit/editor-prosemirror/state");
8
+ var pluginKey = exports.pluginKey = new _state.PluginKey('macroPlugin');
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "createCommand", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _pluginFactory.createCommand;
11
+ }
12
+ });
13
+ exports.createPlugin = exports.createExtensionProviderHandler = exports.createContextIdentifierProviderHandler = void 0;
14
+ Object.defineProperty(exports, "getPluginState", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _pluginFactory.getPluginState;
18
+ }
19
+ });
20
+ exports.handleUpdate = void 0;
21
+ Object.defineProperty(exports, "pluginKey", {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _pluginKey.pluginKey;
25
+ }
26
+ });
27
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
28
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
29
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
30
+ var _extensibility = require("@atlaskit/editor-common/extensibility");
31
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
32
+ var _selection = require("@atlaskit/editor-common/selection");
33
+ var _state = require("@atlaskit/editor-prosemirror/state");
34
+ var _utils = require("@atlaskit/editor-prosemirror/utils");
35
+ var _commands = require("../commands");
36
+ var _pluginFactory = require("../plugin-factory");
37
+ var _pluginKey = require("../plugin-key");
38
+ var _utils2 = require("../utils");
39
+ var _utils3 = require("./utils");
40
+ var shouldShowEditButton = function shouldShowEditButton(extensionHandler, extensionProvider) {
41
+ var usesLegacyMacroBrowser = !extensionHandler && !extensionProvider || typeof extensionHandler === 'function';
42
+ var usesModernUpdateMethod = (0, _typeof2.default)(extensionHandler) === 'object' && typeof extensionHandler.update === 'function';
43
+ if (usesLegacyMacroBrowser || usesModernUpdateMethod) {
44
+ return true;
45
+ }
46
+ return false;
47
+ };
48
+ var getUpdateExtensionPromise = /*#__PURE__*/function () {
49
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(view, extensionHandler, extensionProvider) {
50
+ var updateMethod;
51
+ return _regenerator.default.wrap(function _callee$(_context) {
52
+ while (1) switch (_context.prev = _context.next) {
53
+ case 0:
54
+ if (!(extensionHandler && (0, _typeof2.default)(extensionHandler) === 'object')) {
55
+ _context.next = 4;
56
+ break;
57
+ }
58
+ return _context.abrupt("return", extensionHandler.update);
59
+ case 4:
60
+ if (!extensionProvider) {
61
+ _context.next = 10;
62
+ break;
63
+ }
64
+ _context.next = 7;
65
+ return (0, _utils3.updateEditButton)(view, extensionProvider);
66
+ case 7:
67
+ updateMethod = _context.sent;
68
+ if (!updateMethod) {
69
+ _context.next = 10;
70
+ break;
71
+ }
72
+ return _context.abrupt("return", updateMethod);
73
+ case 10:
74
+ throw new Error('No update method available');
75
+ case 11:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }, _callee);
80
+ }));
81
+ return function getUpdateExtensionPromise(_x, _x2, _x3) {
82
+ return _ref.apply(this, arguments);
83
+ };
84
+ }();
85
+ var createExtensionProviderHandler = exports.createExtensionProviderHandler = function createExtensionProviderHandler(view) {
86
+ return /*#__PURE__*/function () {
87
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(name, provider) {
88
+ var extensionProvider;
89
+ return _regenerator.default.wrap(function _callee2$(_context2) {
90
+ while (1) switch (_context2.prev = _context2.next) {
91
+ case 0:
92
+ if (!(name === 'extensionProvider' && provider)) {
93
+ _context2.next = 13;
94
+ break;
95
+ }
96
+ _context2.prev = 1;
97
+ _context2.next = 4;
98
+ return provider;
99
+ case 4:
100
+ extensionProvider = _context2.sent;
101
+ (0, _commands.updateState)({
102
+ extensionProvider: extensionProvider
103
+ })(view.state, view.dispatch);
104
+ _context2.next = 8;
105
+ return (0, _utils3.updateEditButton)(view, extensionProvider);
106
+ case 8:
107
+ _context2.next = 13;
108
+ break;
109
+ case 10:
110
+ _context2.prev = 10;
111
+ _context2.t0 = _context2["catch"](1);
112
+ (0, _commands.updateState)({
113
+ extensionProvider: undefined
114
+ })(view.state, view.dispatch);
115
+ case 13:
116
+ case "end":
117
+ return _context2.stop();
118
+ }
119
+ }, _callee2, null, [[1, 10]]);
120
+ }));
121
+ return function (_x4, _x5) {
122
+ return _ref2.apply(this, arguments);
123
+ };
124
+ }();
125
+ };
126
+ var createContextIdentifierProviderHandler = exports.createContextIdentifierProviderHandler = function createContextIdentifierProviderHandler(view) {
127
+ return /*#__PURE__*/function () {
128
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(name, provider) {
129
+ var contextIdentifierProvider;
130
+ return _regenerator.default.wrap(function _callee3$(_context3) {
131
+ while (1) switch (_context3.prev = _context3.next) {
132
+ case 0:
133
+ if (!(name === 'contextIdentifierProvider' && provider)) {
134
+ _context3.next = 11;
135
+ break;
136
+ }
137
+ _context3.prev = 1;
138
+ _context3.next = 4;
139
+ return provider;
140
+ case 4:
141
+ contextIdentifierProvider = _context3.sent;
142
+ (0, _commands.updateState)({
143
+ contextIdentifierProvider: contextIdentifierProvider
144
+ })(view.state, view.dispatch);
145
+ _context3.next = 11;
146
+ break;
147
+ case 8:
148
+ _context3.prev = 8;
149
+ _context3.t0 = _context3["catch"](1);
150
+ (0, _commands.updateState)({
151
+ contextIdentifierProvider: undefined
152
+ })(view.state, view.dispatch);
153
+ case 11:
154
+ case "end":
155
+ return _context3.stop();
156
+ }
157
+ }, _callee3, null, [[1, 8]]);
158
+ }));
159
+ return function (_x6, _x7) {
160
+ return _ref3.apply(this, arguments);
161
+ };
162
+ }();
163
+ };
164
+ var handleUpdate = exports.handleUpdate = function handleUpdate(_ref4) {
165
+ var view = _ref4.view,
166
+ prevState = _ref4.prevState,
167
+ domAtPos = _ref4.domAtPos,
168
+ extensionHandlers = _ref4.extensionHandlers,
169
+ applyChange = _ref4.applyChange;
170
+ var state = view.state,
171
+ dispatch = view.dispatch;
172
+ var _getPluginState = (0, _pluginFactory.getPluginState)(state),
173
+ element = _getPluginState.element,
174
+ localId = _getPluginState.localId,
175
+ extensionProvider = _getPluginState.extensionProvider,
176
+ showContextPanel = _getPluginState.showContextPanel,
177
+ showEditButton = _getPluginState.showEditButton;
178
+
179
+ // This fetches the selected extension node, either by keyboard selection or click for all types of extensions
180
+ var selectedExtension = (0, _utils2.getSelectedExtension)(state, true);
181
+ if (!selectedExtension) {
182
+ if (showContextPanel) {
183
+ (0, _commands.clearEditingContext)(applyChange)(state, dispatch);
184
+ }
185
+ return;
186
+ }
187
+ var node = selectedExtension.node;
188
+ var newElement = (0, _utils2.getSelectedDomElement)(state.schema, domAtPos, selectedExtension);
189
+
190
+ // In some cases, showEditButton can be stale and the edit button doesn't show - @see ED-15285
191
+ // To be safe, we update the showEditButton state here
192
+ var shouldUpdateEditButton = !showEditButton && extensionProvider && element === newElement && !(0, _utils2.getSelectedExtension)(prevState, true);
193
+ var isNewNodeSelected = node.attrs.localId ? localId !== node.attrs.localId :
194
+ // This is the current assumption and it's wrong but we are keeping it
195
+ // as fallback in case we need to turn off `allowLocalIdGeneration`
196
+ element !== newElement;
197
+ if (isNewNodeSelected || shouldUpdateEditButton) {
198
+ if (showContextPanel) {
199
+ (0, _commands.clearEditingContext)(applyChange)(state, dispatch);
200
+ return;
201
+ }
202
+ var extensionType = node.attrs.extensionType;
203
+ var extensionHandler = extensionHandlers[extensionType];
204
+
205
+ // showEditButton might change async based on results from extension providers
206
+ var _showEditButton = shouldShowEditButton(extensionHandler, extensionProvider);
207
+ var updateExtension = getUpdateExtensionPromise(view, extensionHandler, extensionProvider).catch(function () {
208
+ // do nothing;
209
+ });
210
+ (0, _commands.updateState)({
211
+ localId: node.attrs.localId,
212
+ showContextPanel: false,
213
+ element: newElement,
214
+ showEditButton: _showEditButton,
215
+ updateExtension: updateExtension
216
+ })(state, dispatch);
217
+ }
218
+ // New DOM element doesn't necessarily mean it's a new Node
219
+ else if (element !== newElement) {
220
+ (0, _commands.updateState)({
221
+ element: newElement
222
+ })(state, dispatch);
223
+ }
224
+ return true;
225
+ };
226
+ var createPlugin = exports.createPlugin = function createPlugin(dispatch, providerFactory, extensionHandlers, portalProviderAPI, eventDispatcher, pluginInjectionApi) {
227
+ var _pluginInjectionApi$c;
228
+ var useLongPressSelection = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
229
+ var options = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : {};
230
+ var state = (0, _pluginFactory.createPluginState)(dispatch, {
231
+ showEditButton: false,
232
+ showContextPanel: false,
233
+ applyChangeToContextPanel: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c = pluginInjectionApi.contextPanel) === null || _pluginInjectionApi$c === void 0 || (_pluginInjectionApi$c = _pluginInjectionApi$c.actions) === null || _pluginInjectionApi$c === void 0 ? void 0 : _pluginInjectionApi$c.applyChange
234
+ });
235
+ var extensionNodeViewOptions = {
236
+ appearance: options.appearance
237
+ };
238
+ return new _safePlugin.SafePlugin({
239
+ state: state,
240
+ view: function view(editorView) {
241
+ var domAtPos = editorView.domAtPos.bind(editorView);
242
+ var extensionProviderHandler = createExtensionProviderHandler(editorView);
243
+ var contextIdentificationProviderHandler = createContextIdentifierProviderHandler(editorView);
244
+ providerFactory.subscribe('extensionProvider', extensionProviderHandler);
245
+ providerFactory.subscribe('contextIdentificationProvider', contextIdentificationProviderHandler);
246
+ return {
247
+ update: function update(view, prevState) {
248
+ var _pluginInjectionApi$c2;
249
+ handleUpdate({
250
+ view: view,
251
+ prevState: prevState,
252
+ domAtPos: domAtPos,
253
+ extensionHandlers: extensionHandlers,
254
+ applyChange: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c2 = pluginInjectionApi.contextPanel) === null || _pluginInjectionApi$c2 === void 0 ? void 0 : _pluginInjectionApi$c2.actions.applyChange
255
+ });
256
+ },
257
+ destroy: function destroy() {
258
+ providerFactory.unsubscribe('extensionProvider', extensionProviderHandler);
259
+ providerFactory.unsubscribe('contextIdentificationProvider', contextIdentificationProviderHandler);
260
+ }
261
+ };
262
+ },
263
+ key: _pluginKey.pluginKey,
264
+ props: {
265
+ handleDOMEvents: {
266
+ /**
267
+ * ED-18072 - Cannot shift + arrow past bodied extension if it is not empty.
268
+ * This code is to handle the case where the selection starts inside or on the node and the user is trying to shift + arrow.
269
+ * For other part of the solution see code in: packages/editor/editor-core/src/plugins/selection/pm-plugins/events/keydown.ts
270
+ */
271
+ keydown: function keydown(view, event) {
272
+ if (event instanceof KeyboardEvent && event.shiftKey && ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {
273
+ var _view$state = view.state,
274
+ schema = _view$state.schema,
275
+ selection = _view$state.selection,
276
+ $head = _view$state.selection.$head,
277
+ doc = _view$state.doc,
278
+ tr = _view$state.tr;
279
+ var bodiedExtension = schema.nodes.bodiedExtension;
280
+ if (selection instanceof _state.TextSelection || selection instanceof _state.NodeSelection) {
281
+ var maybeBodiedExtension = selection instanceof _state.TextSelection ? (0, _utils.findParentNodeOfTypeClosestToPos)($head, bodiedExtension) : (0, _utils.findSelectedNodeOfType)(bodiedExtension)(selection);
282
+ if (maybeBodiedExtension) {
283
+ var end = maybeBodiedExtension.pos + maybeBodiedExtension.node.nodeSize;
284
+ if (event.key === 'ArrowUp' || event.key === 'ArrowLeft' && (0, _selection.isSelectionAtStartOfNode)($head, maybeBodiedExtension)) {
285
+ var anchor = end + 1;
286
+
287
+ // an offset is used here so that left arrow selects the first character before the node (consistent with arrow right)
288
+ var headOffset = event.key === 'ArrowLeft' ? -1 : 0;
289
+ var head = maybeBodiedExtension.pos + headOffset;
290
+ var newSelection = _state.TextSelection.create(doc, Math.max(anchor, selection.anchor), head);
291
+ view.dispatch(tr.setSelection(newSelection));
292
+ return true;
293
+ }
294
+ if (event.key === 'ArrowDown' || event.key === 'ArrowRight' && (0, _selection.isSelectionAtEndOfNode)($head, maybeBodiedExtension)) {
295
+ var _anchor = maybeBodiedExtension.pos - 1;
296
+ var _head = end + 1;
297
+ var _newSelection = _state.TextSelection.create(doc, Math.min(_anchor, selection.anchor), _head);
298
+ view.dispatch(tr.setSelection(_newSelection));
299
+ return true;
300
+ }
301
+ }
302
+ }
303
+ }
304
+ return false;
305
+ }
306
+ },
307
+ nodeViews: {
308
+ // WARNING: referentiality-plugin also creates these nodeviews
309
+ extension: (0, _extensibility.ExtensionNodeView)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
310
+ // WARNING: referentiality-plugin also creates these nodeviews
311
+ bodiedExtension: (0, _extensibility.ExtensionNodeView)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
312
+ // WARNING: referentiality-plugin also creates these nodeviews
313
+ inlineExtension: (0, _extensibility.ExtensionNodeView)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
314
+ multiBodiedExtension: (0, _extensibility.ExtensionNodeView)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi)
315
+ },
316
+ handleClickOn: (0, _selection.createSelectionClickHandler)(['extension', 'bodiedExtension'], function (target) {
317
+ return !target.closest('.extension-content');
318
+ }, {
319
+ useLongPressSelection: useLongPressSelection
320
+ })
321
+ }
322
+ });
323
+ };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createPlugin = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _adfSchema = require("@atlaskit/adf-schema");
10
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
11
+ var _utils = require("@atlaskit/editor-common/utils");
12
+ var _state = require("@atlaskit/editor-prosemirror/state");
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ var pluginKey = new _state.PluginKey('extensionUniqueIdPlugin');
16
+ var createPlugin = exports.createPlugin = function createPlugin() {
17
+ return new _safePlugin.SafePlugin({
18
+ // TODO: @see ED-8839
19
+ appendTransaction: function appendTransaction(transactions, _oldState, newState) {
20
+ var tr = newState.tr;
21
+ var selectionBookmark = tr.selection.getBookmark();
22
+ var modified = false;
23
+ var _newState$schema$node = newState.schema.nodes,
24
+ extension = _newState$schema$node.extension,
25
+ bodiedExtension = _newState$schema$node.bodiedExtension,
26
+ inlineExtension = _newState$schema$node.inlineExtension,
27
+ multiBodiedExtension = _newState$schema$node.multiBodiedExtension;
28
+ var extensionTypes = new Set([extension, bodiedExtension, inlineExtension, multiBodiedExtension]);
29
+ var idsObserved = new Set();
30
+ transactions.forEach(function (transaction) {
31
+ if (!transaction.docChanged) {
32
+ return;
33
+ }
34
+ var isAddingExtension = transaction.steps.some(function (step) {
35
+ return (0, _utils.stepAddsOneOf)(step, extensionTypes);
36
+ });
37
+ if (isAddingExtension) {
38
+ // Can't simply look at changed nodes, as we could be adding an extension
39
+ newState.doc.descendants(function (node, pos) {
40
+ var localId = node.attrs.localId;
41
+
42
+ // Dealing with an extension - make sure it's a unique ID
43
+ if (!!node.type && extensionTypes.has(node.type)) {
44
+ if (localId && !idsObserved.has(localId)) {
45
+ idsObserved.add(localId);
46
+ // Also add a localId if it happens to not have one,
47
+ } else if (!localId || idsObserved.has(localId)) {
48
+ modified = true;
49
+ tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), {}, {
50
+ localId: _adfSchema.uuid.generate()
51
+ }));
52
+ }
53
+ /**
54
+ * If it's a multiBodiedExtension or bodiedExtension, we'll need to keep digging;
55
+ * since we can have more extension nodes within the contents of that
56
+ */
57
+ if ([multiBodiedExtension, bodiedExtension].includes(node.type)) {
58
+ return true;
59
+ }
60
+ return false;
61
+ }
62
+
63
+ /**
64
+ * Otherwise continue traversing, we can encounter extensions nested in
65
+ * expands/bodiedExtensions
66
+ */
67
+ return true;
68
+ });
69
+ }
70
+ });
71
+ if (modified) {
72
+ // We want to restore to the original selection but w/o applying the mapping
73
+ // @see https://github.com/ProseMirror/prosemirror/issues/645
74
+ return tr.setSelection(selectionBookmark.resolve(tr.doc));
75
+ }
76
+ return;
77
+ },
78
+ key: pluginKey
79
+ });
80
+ };
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.updateEditButton = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _extensions = require("@atlaskit/editor-common/extensions");
11
+ var _commands = require("../commands");
12
+ var _utils = require("../utils");
13
+ var maybeGetUpdateMethodFromExtensionProvider = /*#__PURE__*/function () {
14
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(view, extensionProvider) {
15
+ var nodeWithPos, _nodeWithPos$node$att, extensionType, extensionKey, extensionModuleNode, newNodeWithPos;
16
+ return _regenerator.default.wrap(function _callee$(_context) {
17
+ while (1) switch (_context.prev = _context.next) {
18
+ case 0:
19
+ nodeWithPos = (0, _utils.getSelectedExtension)(view.state, true);
20
+ if (nodeWithPos) {
21
+ _context.next = 3;
22
+ break;
23
+ }
24
+ throw new Error('There is no selection');
25
+ case 3:
26
+ _nodeWithPos$node$att = nodeWithPos.node.attrs, extensionType = _nodeWithPos$node$att.extensionType, extensionKey = _nodeWithPos$node$att.extensionKey;
27
+ _context.next = 6;
28
+ return (0, _extensions.getExtensionModuleNode)(extensionProvider, extensionType, extensionKey);
29
+ case 6:
30
+ extensionModuleNode = _context.sent;
31
+ newNodeWithPos = (0, _utils.getSelectedExtension)(view.state, true);
32
+ if (!(newNodeWithPos && newNodeWithPos.node.attrs.extensionType === extensionType && newNodeWithPos.node.attrs.extensionKey === extensionKey && newNodeWithPos.pos === nodeWithPos.pos && extensionModuleNode)) {
33
+ _context.next = 10;
34
+ break;
35
+ }
36
+ return _context.abrupt("return", extensionModuleNode.update);
37
+ case 10:
38
+ case "end":
39
+ return _context.stop();
40
+ }
41
+ }, _callee);
42
+ }));
43
+ return function maybeGetUpdateMethodFromExtensionProvider(_x, _x2) {
44
+ return _ref.apply(this, arguments);
45
+ };
46
+ }();
47
+ var updateEditButton = exports.updateEditButton = /*#__PURE__*/function () {
48
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(view, extensionProvider) {
49
+ var updateMethod;
50
+ return _regenerator.default.wrap(function _callee2$(_context2) {
51
+ while (1) switch (_context2.prev = _context2.next) {
52
+ case 0:
53
+ _context2.prev = 0;
54
+ _context2.next = 3;
55
+ return maybeGetUpdateMethodFromExtensionProvider(view, extensionProvider);
56
+ case 3:
57
+ updateMethod = _context2.sent;
58
+ (0, _commands.updateState)({
59
+ showEditButton: !!updateMethod,
60
+ updateExtension: updateMethod && Promise.resolve(updateMethod) || undefined
61
+ })(view.state, view.dispatch);
62
+ return _context2.abrupt("return", updateMethod);
63
+ case 8:
64
+ _context2.prev = 8;
65
+ _context2.t0 = _context2["catch"](0);
66
+ case 10:
67
+ case "end":
68
+ return _context2.stop();
69
+ }
70
+ }, _callee2, null, [[0, 8]]);
71
+ }));
72
+ return function updateEditButton(_x3, _x4) {
73
+ return _ref2.apply(this, arguments);
74
+ };
75
+ }();
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = _default;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _default(pluginState, action) {
12
+ switch (action.type) {
13
+ case 'UPDATE_STATE':
14
+ return _objectSpread(_objectSpread({}, pluginState), action.data);
15
+ default:
16
+ return pluginState;
17
+ }
18
+ }