@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,154 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
+ import _extends from "@babel/runtime/helpers/extends";
5
+ 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; }
6
+ 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) { _defineProperty(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; }
7
+ /** @jsx jsx */
8
+ import { Fragment, useEffect, useMemo, useState } from 'react';
9
+ import { css, jsx } from '@emotion/react';
10
+ import { injectIntl } from 'react-intl-next';
11
+ import { DatePicker } from '@atlaskit/datetime-picker';
12
+ import { Field } from '@atlaskit/form';
13
+ import { RadioGroup } from '@atlaskit/radio';
14
+ import TextField from '@atlaskit/textfield';
15
+ import FieldMessages from '../FieldMessages';
16
+ import { messages } from '../messages';
17
+ import { validate as _validate, validateRequired } from '../utils';
18
+ var horizontalFieldsStyles = css({
19
+ display: 'flex',
20
+ flexDirection: 'row',
21
+ justifyContent: 'space-between'
22
+ });
23
+ var horizontalFieldWrapperStyles = css({
24
+ flexBasis: '47%'
25
+ });
26
+ var hiddenStyles = css({
27
+ display: 'none'
28
+ });
29
+ var getFromDefaultValue = function getFromDefaultValue(field, attribute) {
30
+ if (field.defaultValue) {
31
+ return field.defaultValue[attribute];
32
+ }
33
+ };
34
+ var DateField = function DateField(_ref) {
35
+ var parentField = _ref.parentField,
36
+ scope = _ref.scope,
37
+ fieldName = _ref.fieldName,
38
+ onFieldChange = _ref.onFieldChange,
39
+ intl = _ref.intl,
40
+ isRequired = _ref.isRequired;
41
+ return jsx("div", {
42
+ css: horizontalFieldWrapperStyles,
43
+ key: fieldName
44
+ }, jsx(Field, {
45
+ name: "".concat(scope, ".").concat(fieldName),
46
+ label: intl.formatMessage(messages[fieldName]),
47
+ defaultValue: getFromDefaultValue(parentField, fieldName),
48
+ isRequired: isRequired,
49
+ validate: function validate(value) {
50
+ return validateRequired({
51
+ isRequired: isRequired
52
+ }, value);
53
+ }
54
+ }, function (_ref2) {
55
+ var fieldProps = _ref2.fieldProps,
56
+ error = _ref2.error;
57
+ return jsx(Fragment, null, jsx(DatePicker, _extends({}, fieldProps, {
58
+ onChange: function onChange(date) {
59
+ fieldProps.onChange(date);
60
+ onFieldChange(parentField.name, true);
61
+ },
62
+ locale: intl.locale
63
+ })), jsx(FieldMessages, {
64
+ error: error
65
+ }));
66
+ }));
67
+ };
68
+ var DateRange = function DateRange(_ref3) {
69
+ var name = _ref3.name,
70
+ field = _ref3.field,
71
+ onFieldChange = _ref3.onFieldChange,
72
+ intl = _ref3.intl;
73
+ var items = useMemo(function () {
74
+ return [].concat(_toConsumableArray(field.items || []), [{
75
+ label: intl.formatMessage(messages.custom),
76
+ value: 'custom'
77
+ }]).map(function (option) {
78
+ return _objectSpread(_objectSpread({}, option), {}, {
79
+ name: name
80
+ });
81
+ });
82
+ }, [field.items, name, intl]);
83
+ var _useState = useState(getFromDefaultValue(field, 'value') || items[0].value),
84
+ _useState2 = _slicedToArray(_useState, 2),
85
+ currentValue = _useState2[0],
86
+ setCurrentValue = _useState2[1];
87
+ useEffect(function () {
88
+ // calling onBlur here based on the currentValue changing will ensure that we
89
+ // get the most up to date value after the form has been rendered
90
+ onFieldChange(name, true);
91
+ }, [currentValue, onFieldChange, name]);
92
+ var element = jsx(Fragment, null, jsx("div", {
93
+ css: hiddenStyles
94
+ }, jsx(Field, {
95
+ name: "".concat(name, ".type"),
96
+ defaultValue: 'date-range'
97
+ }, function (_ref4) {
98
+ var fieldProps = _ref4.fieldProps;
99
+ return jsx(TextField, _extends({}, fieldProps, {
100
+ type: "hidden"
101
+ }));
102
+ })), jsx(Field, {
103
+ name: "".concat(name, ".value"),
104
+ label: field.label,
105
+ defaultValue: currentValue,
106
+ isRequired: field.isRequired,
107
+ validate: function validate(value) {
108
+ return _validate(field, value || '');
109
+ },
110
+ testId: "config-panel-date-range-".concat(name)
111
+ }, function (_ref5) {
112
+ var fieldProps = _ref5.fieldProps,
113
+ error = _ref5.error;
114
+ return jsx(Fragment, null, jsx(RadioGroup, _extends({}, fieldProps, {
115
+ options: items,
116
+ onChange: function onChange(event) {
117
+ fieldProps.onChange(event.target.value);
118
+ setCurrentValue(event.target.value);
119
+ }
120
+ })), jsx(FieldMessages, {
121
+ error: error
122
+ }));
123
+ }), currentValue !== 'custom' ? jsx("div", {
124
+ css: hiddenStyles
125
+ }, jsx(Field, {
126
+ name: "".concat(name, ".from"),
127
+ defaultValue: currentValue
128
+ }, function (_ref6) {
129
+ var fieldProps = _ref6.fieldProps;
130
+ return jsx(TextField, _extends({}, fieldProps, {
131
+ type: "hidden"
132
+ }));
133
+ })) : jsx("div", {
134
+ css: horizontalFieldsStyles
135
+ }, jsx(DateField, {
136
+ scope: name,
137
+ parentField: field,
138
+ fieldName: "from",
139
+ onFieldChange: onFieldChange,
140
+ intl: intl,
141
+ isRequired: field.isRequired
142
+ }), jsx(DateField, {
143
+ scope: name,
144
+ parentField: field,
145
+ fieldName: "to",
146
+ onFieldChange: onFieldChange,
147
+ intl: intl,
148
+ isRequired: field.isRequired
149
+ })), jsx(FieldMessages, {
150
+ description: field.description
151
+ }));
152
+ return element;
153
+ };
154
+ export default injectIntl(DateRange);
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import CheckboxGroup from './CheckboxGroup';
3
+ import RadioGroup from './RadioGroup';
4
+ import Select from './Select';
5
+ export default function Enum(_ref) {
6
+ var name = _ref.name,
7
+ field = _ref.field,
8
+ autoFocus = _ref.autoFocus,
9
+ onFieldChange = _ref.onFieldChange,
10
+ fieldDefaultValue = _ref.fieldDefaultValue;
11
+ switch (field.style) {
12
+ case 'checkbox':
13
+ return /*#__PURE__*/React.createElement(CheckboxGroup, {
14
+ name: name,
15
+ field: field,
16
+ onFieldChange: onFieldChange
17
+ });
18
+ case 'radio':
19
+ return /*#__PURE__*/React.createElement(RadioGroup, {
20
+ name: name,
21
+ field: field,
22
+ onFieldChange: onFieldChange
23
+ });
24
+ case 'select':
25
+ return /*#__PURE__*/React.createElement(Select, {
26
+ name: name,
27
+ field: field,
28
+ onFieldChange: onFieldChange,
29
+ placeholder: field.placeholder,
30
+ autoFocus: autoFocus,
31
+ fieldDefaultValue: fieldDefaultValue
32
+ });
33
+ }
34
+ }
@@ -0,0 +1,77 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ /** @jsx jsx */
3
+ import React, { useState } from 'react';
4
+ import { css, jsx } from '@emotion/react';
5
+ import { injectIntl } from 'react-intl-next';
6
+ import Button from '@atlaskit/button';
7
+ import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
8
+ import ChevronRightIcon from '@atlaskit/icon/glyph/chevron-right';
9
+ import { N40 } from '@atlaskit/theme/colors';
10
+ import { messages } from '../messages';
11
+ var expandContainerStyles = css({
12
+ borderBottom: "1px solid ".concat("var(--ds-border, ".concat(N40, ")"))
13
+ });
14
+ var expandControlStyles = css({
15
+ display: 'flex',
16
+ height: "var(--ds-space-600, 48px)",
17
+ justifyContent: 'center',
18
+ paddingRight: "var(--ds-space-100, 8px)"
19
+ });
20
+ var chevronContainerStyles = css({
21
+ display: 'flex',
22
+ alignItems: 'center',
23
+ // eslint-disable-next-line @atlaskit/design-system/no-nested-styles
24
+ '& > button': {
25
+ width: "var(--ds-space-300, 24px)",
26
+ height: "var(--ds-space-300, 24px)"
27
+ }
28
+ });
29
+ var labelContainerStyles = css({
30
+ width: '100%',
31
+ alignItems: 'center',
32
+ display: 'flex',
33
+ fontWeight: 500
34
+ });
35
+ var expandContentContainerHiddenStyles = css({
36
+ display: 'none',
37
+ marginTop: "var(--ds-space-negative-100, -8px)"
38
+ });
39
+ var expandContentContainerVisibleStyles = css({
40
+ display: 'block',
41
+ marginTop: "var(--ds-space-negative-100, -8px)"
42
+ });
43
+ function Expand(_ref) {
44
+ var field = _ref.field,
45
+ children = _ref.children,
46
+ _ref$isExpanded = _ref.isExpanded,
47
+ isExpanded = _ref$isExpanded === void 0 ? false : _ref$isExpanded,
48
+ intl = _ref.intl;
49
+ var _useState = useState(isExpanded),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ expanded = _useState2[0],
52
+ setExpanded = _useState2[1];
53
+ return jsx("div", {
54
+ "data-testid": "expand-config-field",
55
+ css: expandContainerStyles
56
+ }, jsx("div", {
57
+ css: expandControlStyles
58
+ }, jsx("div", {
59
+ css: labelContainerStyles
60
+ }, field.label), jsx("div", {
61
+ css: chevronContainerStyles
62
+ }, jsx(Button, {
63
+ onClick: function onClick() {
64
+ setExpanded(!expanded);
65
+ },
66
+ testId: "form-expand-toggle",
67
+ iconBefore: expanded ? jsx(ChevronDownIcon, {
68
+ label: intl.formatMessage(messages.collapse)
69
+ }) : jsx(ChevronRightIcon, {
70
+ label: intl.formatMessage(messages.expand)
71
+ })
72
+ }))), jsx("div", {
73
+ "data-testid": "expand-content-container",
74
+ css: expanded ? expandContentContainerVisibleStyles : expandContentContainerHiddenStyles
75
+ }, children));
76
+ }
77
+ export default injectIntl(Expand);
@@ -0,0 +1,261 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
10
+ 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; }
11
+ 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) { _defineProperty(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; }
12
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
+ /** @jsx jsx */
15
+ import React, { Fragment } from 'react';
16
+ import { css, jsx } from '@emotion/react';
17
+ import { injectIntl } from 'react-intl-next';
18
+ import Button from '@atlaskit/button/custom-theme-button';
19
+ import AddCircleIcon from '@atlaskit/icon/glyph/add-circle';
20
+ import SectionMessage from '@atlaskit/section-message';
21
+ import Select from '@atlaskit/select';
22
+ import { N40A } from '@atlaskit/theme/colors';
23
+ import { messages } from '../messages';
24
+ import { getNameFromDuplicateField, isDuplicateField } from '../utils';
25
+ var actionsWrapperStyles = css({
26
+ borderTop: "1px solid ".concat("var(--ds-border, ".concat(N40A, ")")),
27
+ marginTop: "var(--ds-space-200, 16px)",
28
+ paddingTop: "var(--ds-space-200, 16px)"
29
+ });
30
+ var populateFromParameters = function populateFromParameters(parameters, fields) {
31
+ if (Object.keys(parameters).length) {
32
+ var keys = Object.keys(parameters);
33
+ var existingFieldKeys = keys.filter(function (key) {
34
+ return fields.find(function (field) {
35
+ return field.name === getNameFromDuplicateField(key);
36
+ });
37
+ });
38
+ if (existingFieldKeys.length > 0) {
39
+ return existingFieldKeys;
40
+ }
41
+ }
42
+ };
43
+ var populateFromRequired = function populateFromRequired(fields) {
44
+ return fields.filter(function (field) {
45
+ return field.isRequired;
46
+ }).map(function (field) {
47
+ return field.name;
48
+ });
49
+ };
50
+ var getInitialFields = function getInitialFields() {
51
+ var parameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
52
+ var fields = arguments.length > 1 ? arguments[1] : undefined;
53
+ var isDynamic = arguments.length > 2 ? arguments[2] : undefined;
54
+ if (!isDynamic) {
55
+ return new Set(fields.map(function (field) {
56
+ return field.name;
57
+ }));
58
+ }
59
+ var dynamicFields = [];
60
+ var fromRequired = populateFromRequired(fields);
61
+ if (fromRequired) {
62
+ dynamicFields.push.apply(dynamicFields, _toConsumableArray(fromRequired));
63
+ }
64
+ var fromParameters = populateFromParameters(parameters, fields);
65
+ if (fromParameters) {
66
+ dynamicFields.push.apply(dynamicFields, _toConsumableArray(fromParameters));
67
+ }
68
+ if (dynamicFields.length === 0 && Array.isArray(fields) && fields.length > 0) {
69
+ dynamicFields.push(fields[0].name);
70
+ }
71
+ return new Set(dynamicFields);
72
+ };
73
+ // eslint-disable-next-line @repo/internal/react/no-class-components
74
+ var FieldsetField = /*#__PURE__*/function (_React$Component) {
75
+ _inherits(FieldsetField, _React$Component);
76
+ var _super = _createSuper(FieldsetField);
77
+ function FieldsetField(props) {
78
+ var _this;
79
+ _classCallCheck(this, FieldsetField);
80
+ _this = _super.call(this, props);
81
+ _defineProperty(_assertThisInitialized(_this), "getSelectedFields", function (visibleFields) {
82
+ var field = _this.props.field;
83
+ return _toConsumableArray(visibleFields).map(function (fieldName) {
84
+ var originalFieldDef = field.fields.find(function (field) {
85
+ return field.name === getNameFromDuplicateField(fieldName);
86
+ });
87
+ var fieldDef = _objectSpread(_objectSpread({}, originalFieldDef), {}, {
88
+ name: fieldName
89
+ });
90
+ // for duplicate fields we only want the first one to actually be required
91
+ if (originalFieldDef.name !== fieldName && fieldDef.isRequired === true) {
92
+ fieldDef.isRequired = false;
93
+ }
94
+ return fieldDef;
95
+ });
96
+ });
97
+ _defineProperty(_assertThisInitialized(_this), "getSelectOptions", function (visibleFields) {
98
+ var field = _this.props.field;
99
+ return field.fields.filter(function (field) {
100
+ return field.allowDuplicates || !visibleFields.has(field.name);
101
+ }).map(function (field) {
102
+ return {
103
+ value: field.name,
104
+ label: field.label
105
+ };
106
+ });
107
+ });
108
+ _defineProperty(_assertThisInitialized(_this), "setIsAdding", function (value) {
109
+ _this.setState(function (state) {
110
+ return _objectSpread(_objectSpread({}, state), {}, {
111
+ isAdding: value
112
+ });
113
+ });
114
+ });
115
+ _defineProperty(_assertThisInitialized(_this), "setCurrentParameters", function (parameters) {
116
+ _this.setState(function (state) {
117
+ return _objectSpread(_objectSpread({}, state), {}, {
118
+ currentParameters: parameters
119
+ });
120
+ },
121
+ // callback required so autosave can be triggered on
122
+ // the right moment if fields are being removed
123
+ function () {
124
+ return _this.props.onFieldChange(_this.props.field.name, true);
125
+ });
126
+ });
127
+ _defineProperty(_assertThisInitialized(_this), "setVisibleFields", function (fields) {
128
+ _this.setState(function (state) {
129
+ return _objectSpread(_objectSpread({}, state), {}, {
130
+ visibleFields: fields,
131
+ selectedFields: _this.getSelectedFields(fields),
132
+ selectOptions: _this.getSelectOptions(fields)
133
+ });
134
+ });
135
+ });
136
+ _defineProperty(_assertThisInitialized(_this), "onSelectItem", function (option) {
137
+ var visibleFields = _this.state.visibleFields;
138
+ var newItem = option.value;
139
+ var duplicates = _toConsumableArray(visibleFields).filter(function (field) {
140
+ return getNameFromDuplicateField(field) === newItem;
141
+ });
142
+ if (duplicates.length > 0) {
143
+ newItem += ":".concat(duplicates.length);
144
+ }
145
+ _this.setVisibleFields(new Set([].concat(_toConsumableArray(visibleFields), [newItem])));
146
+ _this.setIsAdding(false);
147
+ });
148
+ _defineProperty(_assertThisInitialized(_this), "onClickRemove", function (fieldName) {
149
+ var _this$state = _this.state,
150
+ visibleFields = _this$state.visibleFields,
151
+ currentParameters = _this$state.currentParameters;
152
+ visibleFields.delete(fieldName);
153
+ _this.setVisibleFields(new Set(visibleFields));
154
+ var newParameters = _objectSpread({}, currentParameters);
155
+ delete newParameters[fieldName];
156
+ // if any there are duplicate fields that come after the one removed, we want to reduce their
157
+ // duplicate index eg. label:2 -> label:1
158
+ if (isDuplicateField(fieldName)) {
159
+ var _fieldName$split = fieldName.split(':'),
160
+ _fieldName$split2 = _slicedToArray(_fieldName$split, 2),
161
+ key = _fieldName$split2[0],
162
+ idx = _fieldName$split2[1];
163
+ var currentIdx = +idx;
164
+ while (currentParameters["".concat(key, ":").concat(currentIdx + 1)]) {
165
+ newParameters["".concat(key, ":").concat(currentIdx)] = currentParameters["".concat(key, ":").concat(currentIdx + 1)];
166
+ currentIdx++;
167
+ }
168
+ delete newParameters["".concat(key, ":").concat(currentIdx)];
169
+ }
170
+ _this.setCurrentParameters(newParameters);
171
+ });
172
+ _defineProperty(_assertThisInitialized(_this), "renderActions", function () {
173
+ var intl = _this.props.intl;
174
+ var _this$state2 = _this.state,
175
+ selectOptions = _this$state2.selectOptions,
176
+ isAdding = _this$state2.isAdding;
177
+ if (selectOptions.length === 0) {
178
+ return null;
179
+ }
180
+ return jsx(React.Fragment, null, isAdding ? jsx(Select, {
181
+ testId: "field-picker",
182
+ defaultMenuIsOpen: true,
183
+ autoFocus: true,
184
+ placeholder: intl.formatMessage(messages.addField),
185
+ options: selectOptions,
186
+ onChange: function onChange(option) {
187
+ if (option) {
188
+ _this.onSelectItem(option);
189
+ }
190
+ }
191
+ }) : jsx(Button, {
192
+ testId: "add-more",
193
+ appearance: "subtle",
194
+ iconBefore: jsx(AddCircleIcon, {
195
+ size: "small",
196
+ label: intl.formatMessage(messages.addField)
197
+ }),
198
+ onClick: function onClick() {
199
+ return _this.setIsAdding(true);
200
+ }
201
+ }, intl.formatMessage(messages.addField)));
202
+ });
203
+ var initialFields = getInitialFields(props.parameters, props.field.fields, props.field.options.isDynamic);
204
+ _this.state = {
205
+ isAdding: false,
206
+ currentParameters: props.parameters || {},
207
+ visibleFields: initialFields,
208
+ selectedFields: _this.getSelectedFields(initialFields),
209
+ selectOptions: _this.getSelectOptions(initialFields)
210
+ };
211
+ return _this;
212
+ }
213
+ _createClass(FieldsetField, [{
214
+ key: "render",
215
+ value: function render() {
216
+ var _this$props = this.props,
217
+ name = _this$props.name,
218
+ field = _this$props.field,
219
+ extensionManifest = _this$props.extensionManifest,
220
+ onFieldChange = _this$props.onFieldChange,
221
+ firstVisibleFieldName = _this$props.firstVisibleFieldName,
222
+ error = _this$props.error,
223
+ FormComponent = _this$props.formComponent;
224
+ var label = field.label,
225
+ options = field.options;
226
+ var _this$state3 = this.state,
227
+ selectedFields = _this$state3.selectedFields,
228
+ currentParameters = _this$state3.currentParameters,
229
+ visibleFields = _this$state3.visibleFields;
230
+ var children = this.renderActions();
231
+ return jsx(Fragment, null, error && jsx(FieldsetError, {
232
+ message: error
233
+ }), jsx("div", null, options.showTitle && jsx("h5", null, label), jsx(FormComponent, {
234
+ fields: selectedFields,
235
+ parentName: name,
236
+ extensionManifest: extensionManifest,
237
+ parameters: currentParameters,
238
+ canRemoveFields: field.options.isDynamic && visibleFields.size > 1,
239
+ onClickRemove: this.onClickRemove,
240
+ onFieldChange: onFieldChange,
241
+ firstVisibleFieldName: firstVisibleFieldName
242
+ }), children && jsx("div", {
243
+ css: actionsWrapperStyles,
244
+ "data-testId": "fieldset-actions"
245
+ }, children)));
246
+ }
247
+ }]);
248
+ return FieldsetField;
249
+ }(React.Component);
250
+ function FieldsetError(_ref) {
251
+ var message = _ref.message;
252
+ return jsx("div", {
253
+ css: sectionMessageWrapperStyles
254
+ }, jsx(SectionMessage, {
255
+ appearance: "error"
256
+ }, jsx("p", null, message)));
257
+ }
258
+ var sectionMessageWrapperStyles = css({
259
+ marginBottom: "var(--ds-space-300, 24px)"
260
+ });
261
+ export default injectIntl(FieldsetField);
@@ -0,0 +1,57 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import isNumber from 'is-number';
4
+ import { Field } from '@atlaskit/form';
5
+ import TextField from '@atlaskit/textfield';
6
+ import FieldMessages from '../FieldMessages';
7
+ import { ValidationError } from '../types';
8
+ import { validate } from '../utils';
9
+ export default function Number(_ref) {
10
+ var name = _ref.name,
11
+ field = _ref.field,
12
+ autoFocus = _ref.autoFocus,
13
+ onFieldChange = _ref.onFieldChange,
14
+ placeholder = _ref.placeholder;
15
+ var label = field.label,
16
+ description = field.description,
17
+ defaultValue = field.defaultValue,
18
+ isRequired = field.isRequired;
19
+ function validateNumber(value) {
20
+ var error = validate(field, value || '');
21
+ if (error) {
22
+ return error;
23
+ }
24
+ if (value === '') {
25
+ return;
26
+ }
27
+ if (isNumber(value)) {
28
+ return;
29
+ }
30
+ return ValidationError.Invalid;
31
+ }
32
+ return /*#__PURE__*/React.createElement(Field, {
33
+ name: name,
34
+ label: label,
35
+ defaultValue: defaultValue === undefined ? '' : String(defaultValue),
36
+ isRequired: isRequired,
37
+ validate: validateNumber,
38
+ testId: "config-panel-number-".concat(name)
39
+ }, function (_ref2) {
40
+ var fieldProps = _ref2.fieldProps,
41
+ error = _ref2.error,
42
+ meta = _ref2.meta;
43
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextField, _extends({}, fieldProps, {
44
+ autoFocus: autoFocus,
45
+ onBlur: function onBlur() {
46
+ fieldProps.onBlur();
47
+ onFieldChange(name, meta.dirty);
48
+ },
49
+ type: "text" // do not change this to type="number", it will return invalid strings as ''
50
+ ,
51
+ placeholder: placeholder
52
+ })), /*#__PURE__*/React.createElement(FieldMessages, {
53
+ error: error,
54
+ description: description
55
+ }));
56
+ });
57
+ }
@@ -0,0 +1,46 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ 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; }
4
+ 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) { _defineProperty(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; }
5
+ import React, { Fragment } from 'react';
6
+ import { Field } from '@atlaskit/form';
7
+ import { RadioGroup } from '@atlaskit/radio';
8
+ import FieldMessages from '../FieldMessages';
9
+ import { FieldTypeError } from '../types';
10
+ import { validate as _validate } from '../utils';
11
+ export default function RadioField(_ref) {
12
+ var name = _ref.name,
13
+ field = _ref.field,
14
+ onFieldChange = _ref.onFieldChange;
15
+ if (field.isMultiple) {
16
+ return /*#__PURE__*/React.createElement(FieldMessages, {
17
+ error: FieldTypeError.isMultipleAndRadio
18
+ });
19
+ }
20
+ return /*#__PURE__*/React.createElement(Field, {
21
+ name: name,
22
+ label: field.label,
23
+ defaultValue: field.defaultValue,
24
+ isRequired: field.isRequired,
25
+ validate: function validate(value) {
26
+ return _validate(field, value);
27
+ },
28
+ testId: "config-panel-radio-group-".concat(field.name)
29
+ }, function (_ref2) {
30
+ var fieldProps = _ref2.fieldProps,
31
+ error = _ref2.error;
32
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(RadioGroup, _extends({}, fieldProps, {
33
+ options: (field.items || []).map(function (option) {
34
+ return _objectSpread(_objectSpread({}, option), {}, {
35
+ name: field.name
36
+ });
37
+ }),
38
+ onChange: function onChange(value) {
39
+ fieldProps.onChange(value);
40
+ onFieldChange(field.name, true);
41
+ }
42
+ })), /*#__PURE__*/React.createElement(FieldMessages, {
43
+ error: error
44
+ }));
45
+ });
46
+ }
@@ -0,0 +1,50 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React, { Fragment } from 'react';
3
+ import { Field } from '@atlaskit/form';
4
+ import Select from '@atlaskit/select';
5
+ import FieldMessages from '../FieldMessages';
6
+ import { getOptionFromValue, validate as _validate } from '../utils';
7
+ import { formatOptionLabel } from './SelectItem';
8
+ export default function SelectField(_ref) {
9
+ var name = _ref.name,
10
+ field = _ref.field,
11
+ onFieldChange = _ref.onFieldChange,
12
+ autoFocus = _ref.autoFocus,
13
+ placeholder = _ref.placeholder,
14
+ fieldDefaultValue = _ref.fieldDefaultValue;
15
+ //ignore arrays as mutli-value select fields are always clearable
16
+ var hasValidSingleDefaultValue = !Array.isArray(fieldDefaultValue) && fieldDefaultValue !== undefined;
17
+ var isClearable = !hasValidSingleDefaultValue || field.isMultiple;
18
+ return /*#__PURE__*/React.createElement(Field, {
19
+ name: name,
20
+ label: field.label,
21
+ defaultValue: getOptionFromValue(field.items, field.defaultValue),
22
+ testId: "config-panel-select-".concat(name),
23
+ isRequired: field.isRequired,
24
+ validate: function validate(value) {
25
+ return _validate(field, value);
26
+ }
27
+ }, function (_ref2) {
28
+ var fieldProps = _ref2.fieldProps,
29
+ error = _ref2.error;
30
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Select, _extends({}, fieldProps, {
31
+ onChange: function onChange(value) {
32
+ fieldProps.onChange(value);
33
+ onFieldChange(name, true);
34
+ }
35
+ // add type cast to avoid adding a "IsMulti" generic prop (TODO: ED-12072)
36
+ ,
37
+ isMulti: field.isMultiple || false,
38
+ options: field.items || [],
39
+ isClearable: isClearable,
40
+ validationState: error ? 'error' : 'default',
41
+ formatOptionLabel: formatOptionLabel,
42
+ autoFocus: autoFocus,
43
+ menuPlacement: "auto",
44
+ placeholder: placeholder
45
+ })), /*#__PURE__*/React.createElement(FieldMessages, {
46
+ error: error,
47
+ description: field.description
48
+ }));
49
+ });
50
+ }