@webiny/app-headless-cms 5.23.1 → 5.25.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/HeadlessCMS.d.ts +4 -3
  2. package/HeadlessCMS.js.map +1 -0
  3. package/admin/components/ContentEntryForm/ContentEntryForm.d.ts +2 -2
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js +27 -6
  5. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -0
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.d.ts +2 -2
  7. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +18 -2
  8. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -0
  9. package/admin/components/ContentEntryForm/Fields.d.ts +4 -5
  10. package/admin/components/ContentEntryForm/Fields.js +1 -1
  11. package/admin/components/ContentEntryForm/Fields.js.map +1 -0
  12. package/admin/components/ContentEntryForm/Label.d.ts +2 -4
  13. package/admin/components/ContentEntryForm/Label.js.map +1 -0
  14. package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +5 -4
  15. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -0
  16. package/admin/components/ContentEntryForm/functions/createValidators.d.ts +3 -1
  17. package/admin/components/ContentEntryForm/functions/createValidators.js +8 -5
  18. package/admin/components/ContentEntryForm/functions/createValidators.js.map +1 -0
  19. package/admin/components/ContentEntryForm/functions/getValue.d.ts +9 -5
  20. package/admin/components/ContentEntryForm/functions/getValue.js +4 -4
  21. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -0
  22. package/admin/components/ContentEntryForm/functions/setValue.d.ts +10 -6
  23. package/admin/components/ContentEntryForm/functions/setValue.js +5 -5
  24. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -0
  25. package/admin/components/ContentEntryForm/useBind.d.ts +6 -6
  26. package/admin/components/ContentEntryForm/useBind.js +23 -10
  27. package/admin/components/ContentEntryForm/useBind.js.map +1 -0
  28. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +2 -4
  29. package/admin/components/ContentEntryForm/useContentEntryForm.js +84 -31
  30. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -0
  31. package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -0
  32. package/admin/components/ContentModelEditor/Context.d.ts +24 -13
  33. package/admin/components/ContentModelEditor/Context.js +190 -61
  34. package/admin/components/ContentModelEditor/Context.js.map +1 -0
  35. package/admin/components/ContentModelEditor/Editor.d.ts +2 -2
  36. package/admin/components/ContentModelEditor/Editor.js +5 -3
  37. package/admin/components/ContentModelEditor/Editor.js.map +1 -0
  38. package/admin/components/ContentModelEditor/FieldsSidebar.d.ts +6 -4
  39. package/admin/components/ContentModelEditor/FieldsSidebar.js +11 -11
  40. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -0
  41. package/admin/components/ContentModelEditor/Header.d.ts +3 -2
  42. package/admin/components/ContentModelEditor/Header.js +5 -2
  43. package/admin/components/ContentModelEditor/Header.js.map +1 -0
  44. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -0
  45. package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +1 -1
  46. package/admin/components/ContentModelEditor/useContentModelEditor.js.map +1 -0
  47. package/admin/components/DragPreview.d.ts +3 -2
  48. package/admin/components/DragPreview.js +12 -5
  49. package/admin/components/DragPreview.js.map +1 -0
  50. package/admin/components/Draggable.d.ts +9 -7
  51. package/admin/components/Draggable.js +4 -3
  52. package/admin/components/Draggable.js.map +1 -0
  53. package/admin/components/DropZone/Center.d.ts +6 -6
  54. package/admin/components/DropZone/Center.js +7 -4
  55. package/admin/components/DropZone/Center.js.map +1 -0
  56. package/admin/components/DropZone/Horizontal.d.ts +7 -5
  57. package/admin/components/DropZone/Horizontal.js +2 -2
  58. package/admin/components/DropZone/Horizontal.js.map +1 -0
  59. package/admin/components/DropZone/Vertical.d.ts +4 -4
  60. package/admin/components/DropZone/Vertical.js +2 -2
  61. package/admin/components/DropZone/Vertical.js.map +1 -0
  62. package/admin/components/DropZone/index.js.map +1 -0
  63. package/admin/components/Droppable.d.ts +22 -13
  64. package/admin/components/Droppable.js +3 -3
  65. package/admin/components/Droppable.js.map +1 -0
  66. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +8 -2
  67. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +7 -6
  68. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -0
  69. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +4 -4
  70. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +14 -4
  71. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -0
  72. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +2 -2
  73. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +7 -1
  74. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -0
  75. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +9 -4
  76. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +38 -30
  77. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -0
  78. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.d.ts +7 -5
  79. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +4 -4
  80. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -0
  81. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.d.ts +8 -6
  82. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +5 -5
  83. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -0
  84. package/admin/components/FieldEditor/EditFieldDialog.d.ts +7 -7
  85. package/admin/components/FieldEditor/EditFieldDialog.js +45 -28
  86. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -0
  87. package/admin/components/FieldEditor/Field.d.ts +4 -4
  88. package/admin/components/FieldEditor/Field.js +2 -2
  89. package/admin/components/FieldEditor/Field.js.map +1 -0
  90. package/admin/components/FieldEditor/FieldEditor.d.ts +2 -2
  91. package/admin/components/FieldEditor/FieldEditor.js +9 -6
  92. package/admin/components/FieldEditor/FieldEditor.js.map +1 -0
  93. package/admin/components/FieldEditor/FieldEditorContext.d.ts +70 -25
  94. package/admin/components/FieldEditor/FieldEditorContext.js +63 -35
  95. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -0
  96. package/admin/components/FieldEditor/Styled.d.ts +2 -2
  97. package/admin/components/FieldEditor/Styled.js.map +1 -0
  98. package/admin/components/FieldEditor/index.js.map +1 -0
  99. package/admin/components/FieldEditor/useFieldEditor.js.map +1 -0
  100. package/admin/components/FieldEditor/utils/deleteField.d.ts +6 -8
  101. package/admin/components/FieldEditor/utils/deleteField.js +10 -6
  102. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -0
  103. package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +6 -5
  104. package/admin/components/FieldEditor/utils/getFieldPosition.js +6 -5
  105. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -0
  106. package/admin/components/FieldEditor/utils/index.js.map +1 -0
  107. package/admin/components/FieldEditor/utils/moveField.d.ts +5 -4
  108. package/admin/components/FieldEditor/utils/moveField.js +16 -10
  109. package/admin/components/FieldEditor/utils/moveField.js.map +1 -0
  110. package/admin/components/FieldEditor/utils/moveRow.d.ts +5 -6
  111. package/admin/components/FieldEditor/utils/moveRow.js.map +1 -0
  112. package/admin/constants/statusLabels.d.ts +2 -8
  113. package/admin/constants/statusLabels.js +3 -2
  114. package/admin/constants/statusLabels.js.map +1 -0
  115. package/admin/contexts/Cms/NetworkError.js.map +1 -0
  116. package/admin/contexts/Cms/index.d.ts +3 -3
  117. package/admin/contexts/Cms/index.js +24 -9
  118. package/admin/contexts/Cms/index.js.map +1 -0
  119. package/admin/elements/ContentGroupMenuElement.js +1 -0
  120. package/admin/elements/ContentGroupMenuElement.js.map +1 -0
  121. package/admin/elements/ContentModelMenuElement.js +1 -0
  122. package/admin/elements/ContentModelMenuElement.js.map +1 -0
  123. package/admin/elements/NothingToShowElement.d.ts +1 -1
  124. package/admin/elements/NothingToShowElement.js.map +1 -0
  125. package/admin/graphql/contentEntries.d.ts +172 -11
  126. package/admin/graphql/contentEntries.js +55 -0
  127. package/admin/graphql/contentEntries.js.map +1 -0
  128. package/admin/graphql/contentModels.d.ts +28 -0
  129. package/admin/graphql/contentModels.js +13 -2
  130. package/admin/graphql/contentModels.js.map +1 -0
  131. package/admin/graphql/createFieldsList.js.map +1 -0
  132. package/admin/hooks/index.js.map +1 -0
  133. package/admin/hooks/useApolloClient.d.ts +2 -1
  134. package/admin/hooks/useApolloClient.js.map +1 -0
  135. package/admin/hooks/useCms.js.map +1 -0
  136. package/admin/hooks/useLazyQuery.d.ts +4 -1
  137. package/admin/hooks/useLazyQuery.js.map +1 -0
  138. package/admin/hooks/useMutation.d.ts +4 -1
  139. package/admin/hooks/useMutation.js +1 -1
  140. package/admin/hooks/useMutation.js.map +1 -0
  141. package/admin/hooks/usePermission.d.ts +21 -20
  142. package/admin/hooks/usePermission.js +25 -21
  143. package/admin/hooks/usePermission.js.map +1 -0
  144. package/admin/hooks/useQuery.d.ts +4 -1
  145. package/admin/hooks/useQuery.js.map +1 -0
  146. package/admin/hooks/useQueryLocale.d.ts +3 -1
  147. package/admin/hooks/useQueryLocale.js.map +1 -0
  148. package/admin/menus/CmsMenuLoader.d.ts +1 -1
  149. package/admin/menus/CmsMenuLoader.js +5 -2
  150. package/admin/menus/CmsMenuLoader.js.map +1 -0
  151. package/admin/menus/ContentGroupsMenuItems.d.ts +2 -1
  152. package/admin/menus/ContentGroupsMenuItems.js +5 -7
  153. package/admin/menus/ContentGroupsMenuItems.js.map +1 -0
  154. package/admin/menus/GlobalSearchPlugins.d.ts +2 -1
  155. package/admin/menus/GlobalSearchPlugins.js +2 -2
  156. package/admin/menus/GlobalSearchPlugins.js.map +1 -0
  157. package/admin/menus/NothingToShowElement.d.ts +2 -2
  158. package/admin/menus/NothingToShowElement.js.map +1 -0
  159. package/admin/plugins/apiInformation/index.js +3 -3
  160. package/admin/plugins/apiInformation/index.js.map +1 -0
  161. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -0
  162. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -0
  163. package/admin/plugins/editor/defaultBar/BackButton.d.ts +1 -1
  164. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -0
  165. package/admin/plugins/editor/defaultBar/CreateContentButton.d.ts +2 -2
  166. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -0
  167. package/admin/plugins/editor/defaultBar/Divider.d.ts +1 -1
  168. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -0
  169. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.d.ts +4 -4
  170. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +11 -1
  171. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -0
  172. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.d.ts +2 -2
  173. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -0
  174. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +2 -2
  175. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -0
  176. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -0
  177. package/admin/plugins/editor/defaultBar/Name/Name.d.ts +2 -2
  178. package/admin/plugins/editor/defaultBar/Name/Name.js +10 -5
  179. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -0
  180. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +3 -3
  181. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -0
  182. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -0
  183. package/admin/plugins/editor/defaultBar/SaveContentModelButton.d.ts +2 -2
  184. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +37 -32
  185. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -0
  186. package/admin/plugins/editor/defaultBar/index.js.map +1 -0
  187. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -0
  188. package/admin/plugins/editor/formSettings/components/GroupSelect.js +1 -1
  189. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -0
  190. package/admin/plugins/editor/formSettings/index.js.map +1 -0
  191. package/admin/plugins/fieldRenderers/Accordion.d.ts +5 -6
  192. package/admin/plugins/fieldRenderers/Accordion.js +3 -2
  193. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -0
  194. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +12 -5
  195. package/admin/plugins/fieldRenderers/DynamicSection.js +7 -4
  196. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -0
  197. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -0
  198. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -0
  199. package/admin/plugins/fieldRenderers/checkboxes.js +11 -5
  200. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -0
  201. package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -1
  202. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +40 -9
  203. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -0
  204. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +4 -3
  205. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +75 -19
  206. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -0
  207. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +4 -3
  208. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +72 -16
  209. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -0
  210. package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +2 -2
  211. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -0
  212. package/admin/plugins/fieldRenderers/dateTime/Select.d.ts +3 -3
  213. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -0
  214. package/admin/plugins/fieldRenderers/dateTime/Time.d.ts +2 -2
  215. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -0
  216. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +4 -3
  217. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -0
  218. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +15 -10
  219. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -0
  220. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -0
  221. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +8 -6
  222. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -0
  223. package/admin/plugins/fieldRenderers/file/File.d.ts +5 -5
  224. package/admin/plugins/fieldRenderers/file/File.js +10 -4
  225. package/admin/plugins/fieldRenderers/file/File.js.map +1 -0
  226. package/admin/plugins/fieldRenderers/file/fileField.js +4 -3
  227. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -0
  228. package/admin/plugins/fieldRenderers/file/fileFields.js +17 -6
  229. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -0
  230. package/admin/plugins/fieldRenderers/file/index.js.map +1 -0
  231. package/admin/plugins/fieldRenderers/file/utils.d.ts +8 -3
  232. package/admin/plugins/fieldRenderers/file/utils.js +2 -2
  233. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -0
  234. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -0
  235. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -0
  236. package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -1
  237. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -0
  238. package/admin/plugins/fieldRenderers/number/index.js.map +1 -0
  239. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -0
  240. package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -1
  241. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -0
  242. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -0
  243. package/admin/plugins/fieldRenderers/object/index.js.map +1 -0
  244. package/admin/plugins/fieldRenderers/object/multipleObjects.js +5 -5
  245. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -0
  246. package/admin/plugins/fieldRenderers/object/singleObject.js +3 -2
  247. package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -0
  248. package/admin/plugins/fieldRenderers/radioButtons.js +11 -5
  249. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -0
  250. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +8 -5
  251. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +5 -5
  252. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -0
  253. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +8 -5
  254. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +15 -9
  255. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -0
  256. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.d.ts +3 -2
  257. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -0
  258. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.d.ts +2 -1
  259. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +16 -9
  260. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -0
  261. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.d.ts +2 -2
  262. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -0
  263. package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +16 -1
  264. package/admin/plugins/fieldRenderers/ref/components/getOptions.js +1 -1
  265. package/admin/plugins/fieldRenderers/ref/components/getOptions.js.map +1 -0
  266. package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +50 -0
  267. package/admin/plugins/fieldRenderers/ref/components/graphql.js +16 -1
  268. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -0
  269. package/admin/plugins/fieldRenderers/ref/components/renderItem.d.ts +2 -2
  270. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -0
  271. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +6 -11
  272. package/admin/plugins/fieldRenderers/ref/components/useReference.js +4 -3
  273. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -0
  274. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +12 -9
  275. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +1 -1
  276. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -0
  277. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -3
  278. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -0
  279. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.d.ts +2 -4
  280. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +6 -1
  281. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -0
  282. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -0
  283. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -0
  284. package/admin/plugins/fieldRenderers/ref/refInputs.js +1 -1
  285. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -0
  286. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -0
  287. package/admin/plugins/fieldRenderers/richText/richTextInput.js +5 -0
  288. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -0
  289. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +9 -2
  290. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -0
  291. package/admin/plugins/fieldRenderers/select.js +28 -7
  292. package/admin/plugins/fieldRenderers/select.js.map +1 -0
  293. package/admin/plugins/fieldRenderers/text/index.js.map +1 -0
  294. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -0
  295. package/admin/plugins/fieldRenderers/text/textInputs.js +1 -1
  296. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -0
  297. package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -1
  298. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -0
  299. package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +2 -1
  300. package/admin/plugins/fieldValidators/date/createDateInputField.js +5 -3
  301. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -0
  302. package/admin/plugins/fieldValidators/dateGte.js +1 -1
  303. package/admin/plugins/fieldValidators/dateGte.js.map +1 -0
  304. package/admin/plugins/fieldValidators/dateLte.js +1 -1
  305. package/admin/plugins/fieldValidators/dateLte.js.map +1 -0
  306. package/admin/plugins/fieldValidators/gte.d.ts +2 -2
  307. package/admin/plugins/fieldValidators/gte.js +3 -2
  308. package/admin/plugins/fieldValidators/gte.js.map +1 -0
  309. package/admin/plugins/fieldValidators/in.d.ts +2 -2
  310. package/admin/plugins/fieldValidators/in.js +3 -2
  311. package/admin/plugins/fieldValidators/in.js.map +1 -0
  312. package/admin/plugins/fieldValidators/lte.d.ts +2 -2
  313. package/admin/plugins/fieldValidators/lte.js +3 -2
  314. package/admin/plugins/fieldValidators/lte.js.map +1 -0
  315. package/admin/plugins/fieldValidators/maxLength.d.ts +2 -2
  316. package/admin/plugins/fieldValidators/maxLength.js +3 -2
  317. package/admin/plugins/fieldValidators/maxLength.js.map +1 -0
  318. package/admin/plugins/fieldValidators/minLength.d.ts +2 -2
  319. package/admin/plugins/fieldValidators/minLength.js +3 -2
  320. package/admin/plugins/fieldValidators/minLength.js.map +1 -0
  321. package/admin/plugins/fieldValidators/pattern.d.ts +2 -2
  322. package/admin/plugins/fieldValidators/pattern.js +9 -2
  323. package/admin/plugins/fieldValidators/pattern.js.map +1 -0
  324. package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +2 -2
  325. package/admin/plugins/fieldValidators/patternPlugins/email.js +3 -2
  326. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -0
  327. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +2 -2
  328. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +3 -2
  329. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -0
  330. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.d.ts +2 -2
  331. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +3 -2
  332. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -0
  333. package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +2 -2
  334. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +3 -2
  335. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -0
  336. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.d.ts +2 -2
  337. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +3 -2
  338. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -0
  339. package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +2 -2
  340. package/admin/plugins/fieldValidators/patternPlugins/url.js +3 -2
  341. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -0
  342. package/admin/plugins/fieldValidators/required.d.ts +2 -2
  343. package/admin/plugins/fieldValidators/required.js +3 -2
  344. package/admin/plugins/fieldValidators/required.js.map +1 -0
  345. package/admin/plugins/fieldValidators/unique.js.map +1 -0
  346. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +3 -2
  347. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -0
  348. package/admin/plugins/fields/boolean.js.map +1 -0
  349. package/admin/plugins/fields/dateTime.js.map +1 -0
  350. package/admin/plugins/fields/file.js.map +1 -0
  351. package/admin/plugins/fields/longText.js.map +1 -0
  352. package/admin/plugins/fields/number.js.map +1 -0
  353. package/admin/plugins/fields/object/ObjectFields.d.ts +7 -4
  354. package/admin/plugins/fields/object/ObjectFields.js +2 -2
  355. package/admin/plugins/fields/object/ObjectFields.js.map +1 -0
  356. package/admin/plugins/fields/object.js +1 -1
  357. package/admin/plugins/fields/object.js.map +1 -0
  358. package/admin/plugins/fields/ref.js +7 -6
  359. package/admin/plugins/fields/ref.js.map +1 -0
  360. package/admin/plugins/fields/richText.js.map +1 -0
  361. package/admin/plugins/fields/text.js.map +1 -0
  362. package/admin/plugins/getObjectId.js.map +1 -0
  363. package/admin/plugins/icons.js +10 -4
  364. package/admin/plugins/icons.js.map +1 -0
  365. package/admin/plugins/index.d.ts +1 -1
  366. package/admin/plugins/index.js.map +1 -0
  367. package/admin/plugins/install.d.ts +22 -0
  368. package/admin/plugins/install.js +47 -37
  369. package/admin/plugins/install.js.map +1 -0
  370. package/admin/plugins/permissionRenderer/CmsPermissions.d.ts +11 -5
  371. package/admin/plugins/permissionRenderer/CmsPermissions.js +19 -10
  372. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -0
  373. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +12 -8
  374. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +7 -6
  375. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -0
  376. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +11 -8
  377. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +7 -6
  378. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -0
  379. package/admin/plugins/permissionRenderer/components/ContentModelList.d.ts +8 -6
  380. package/admin/plugins/permissionRenderer/components/ContentModelList.js +3 -3
  381. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -0
  382. package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +14 -10
  383. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +10 -8
  384. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -0
  385. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.d.ts +10 -5
  386. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +4 -0
  387. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -0
  388. package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +12 -27
  389. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +13 -1
  390. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -0
  391. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +1 -1
  392. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -0
  393. package/admin/plugins/permissionRenderer/components/types.d.ts +16 -0
  394. package/admin/plugins/permissionRenderer/components/types.js +1 -0
  395. package/admin/plugins/permissionRenderer/components/types.js.map +1 -0
  396. package/admin/plugins/permissionRenderer/components/useCmsData.d.ts +17 -1
  397. package/admin/plugins/permissionRenderer/components/useCmsData.js +37 -25
  398. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -0
  399. package/admin/plugins/permissionRenderer/index.d.ts +2 -2
  400. package/admin/plugins/permissionRenderer/index.js +3 -2
  401. package/admin/plugins/permissionRenderer/index.js.map +1 -0
  402. package/admin/plugins/routes.js.map +1 -0
  403. package/admin/plugins/transformers/dateTransformer.js +20 -24
  404. package/admin/plugins/transformers/dateTransformer.js.map +1 -0
  405. package/admin/plugins/transformers/index.js.map +1 -0
  406. package/admin/plugins/transformers/numberTransformer.js.map +1 -0
  407. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.d.ts +1 -1
  408. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -0
  409. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.d.ts +2 -2
  410. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -0
  411. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -0
  412. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -0
  413. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.d.ts +2 -1
  414. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -0
  415. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -0
  416. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.d.ts +2 -2
  417. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js +1 -0
  418. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -0
  419. package/admin/plugins/upgrades/5.19.0/types.js.map +1 -0
  420. package/admin/plugins/upgrades/v5.0.0.js +1 -0
  421. package/admin/plugins/upgrades/v5.0.0.js.map +1 -0
  422. package/admin/plugins/upgrades/v5.19.0.js +1 -0
  423. package/admin/plugins/upgrades/v5.19.0.js.map +1 -0
  424. package/admin/plugins/upgrades/v5.5.0.js +1 -0
  425. package/admin/plugins/upgrades/v5.5.0.js.map +1 -0
  426. package/admin/plugins/upgrades/v5.8.0.js +1 -0
  427. package/admin/plugins/upgrades/v5.8.0.js.map +1 -0
  428. package/admin/plugins/validators/dateGte.js.map +1 -0
  429. package/admin/plugins/validators/dateLte.js.map +1 -0
  430. package/admin/plugins/validators/gte.d.ts +2 -2
  431. package/admin/plugins/validators/gte.js +3 -2
  432. package/admin/plugins/validators/gte.js.map +1 -0
  433. package/admin/plugins/validators/in.d.ts +2 -2
  434. package/admin/plugins/validators/in.js +3 -2
  435. package/admin/plugins/validators/in.js.map +1 -0
  436. package/admin/plugins/validators/lte.d.ts +2 -2
  437. package/admin/plugins/validators/lte.js +3 -2
  438. package/admin/plugins/validators/lte.js.map +1 -0
  439. package/admin/plugins/validators/maxLength.d.ts +2 -2
  440. package/admin/plugins/validators/maxLength.js +3 -2
  441. package/admin/plugins/validators/maxLength.js.map +1 -0
  442. package/admin/plugins/validators/minLength.d.ts +2 -2
  443. package/admin/plugins/validators/minLength.js +3 -2
  444. package/admin/plugins/validators/minLength.js.map +1 -0
  445. package/admin/plugins/validators/pattern.d.ts +3 -9
  446. package/admin/plugins/validators/pattern.js +3 -2
  447. package/admin/plugins/validators/pattern.js.map +1 -0
  448. package/admin/plugins/validators/patternPlugins/email.d.ts +3 -10
  449. package/admin/plugins/validators/patternPlugins/email.js +3 -2
  450. package/admin/plugins/validators/patternPlugins/email.js.map +1 -0
  451. package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +3 -10
  452. package/admin/plugins/validators/patternPlugins/lowerCase.js +3 -2
  453. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
  454. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +3 -10
  455. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +3 -2
  456. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  457. package/admin/plugins/validators/patternPlugins/upperCase.d.ts +3 -10
  458. package/admin/plugins/validators/patternPlugins/upperCase.js +3 -2
  459. package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -0
  460. package/admin/plugins/validators/patternPlugins/upperCaseSpace.d.ts +3 -10
  461. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +3 -2
  462. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  463. package/admin/plugins/validators/patternPlugins/url.d.ts +3 -10
  464. package/admin/plugins/validators/patternPlugins/url.js +3 -2
  465. package/admin/plugins/validators/patternPlugins/url.js.map +1 -0
  466. package/admin/plugins/validators/required.d.ts +2 -2
  467. package/admin/plugins/validators/required.js +3 -2
  468. package/admin/plugins/validators/required.js.map +1 -0
  469. package/admin/plugins/validators/timeGte.js.map +1 -0
  470. package/admin/plugins/validators/timeLte.js.map +1 -0
  471. package/admin/plugins/validators/unique.js.map +1 -0
  472. package/admin/plugins/welcomeScreenWidget.js.map +1 -0
  473. package/admin/views/contentEntries/ContentEntries.d.ts +2 -2
  474. package/admin/views/contentEntries/ContentEntries.js +2 -2
  475. package/admin/views/contentEntries/ContentEntries.js.map +1 -0
  476. package/admin/views/contentEntries/ContentEntriesContext.d.ts +9 -5
  477. package/admin/views/contentEntries/ContentEntriesContext.js +14 -5
  478. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -0
  479. package/admin/views/contentEntries/ContentEntriesList.d.ts +2 -2
  480. package/admin/views/contentEntries/ContentEntriesList.js +11 -1
  481. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -0
  482. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +11 -11
  483. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +93 -10
  484. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -0
  485. package/admin/views/contentEntries/ContentEntry/RevisionListItem.d.ts +4 -4
  486. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +15 -4
  487. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -0
  488. package/admin/views/contentEntries/ContentEntry/RevisionsList.d.ts +2 -2
  489. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -0
  490. package/admin/views/contentEntries/ContentEntry/cache.d.ts +9 -7
  491. package/admin/views/contentEntries/ContentEntry/cache.js +39 -37
  492. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -0
  493. package/admin/views/contentEntries/ContentEntry/header/Header.d.ts +2 -2
  494. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -0
  495. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.d.ts +2 -2
  496. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +15 -8
  497. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -0
  498. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -0
  499. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
  500. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -0
  501. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +2 -2
  502. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -0
  503. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.d.ts +2 -2
  504. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +8 -7
  505. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -0
  506. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.d.ts +2 -2
  507. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +2 -2
  508. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -0
  509. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.d.ts +2 -2
  510. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +2 -2
  511. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -0
  512. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -1
  513. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -0
  514. package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +31 -9
  515. package/admin/views/contentEntries/ContentEntry/useRevision.js +212 -132
  516. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -0
  517. package/admin/views/contentEntries/ContentEntry.d.ts +1 -2
  518. package/admin/views/contentEntries/ContentEntry.js +2 -5
  519. package/admin/views/contentEntries/ContentEntry.js.map +1 -0
  520. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -0
  521. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +3 -6
  522. package/admin/views/contentEntries/hooks/useContentEntriesList.js +4 -4
  523. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -0
  524. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -0
  525. package/admin/views/contentModelGroups/ContentModelGroups.d.ts +2 -2
  526. package/admin/views/contentModelGroups/ContentModelGroups.js +6 -5
  527. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -0
  528. package/admin/views/contentModelGroups/ContentModelGroupsDataList.d.ts +4 -4
  529. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +19 -24
  530. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -0
  531. package/admin/views/contentModelGroups/ContentModelGroupsForm.d.ts +4 -4
  532. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +69 -37
  533. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -0
  534. package/admin/views/contentModelGroups/DelayedOnChange.d.ts +29 -12
  535. package/admin/views/contentModelGroups/DelayedOnChange.js +13 -13
  536. package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -0
  537. package/admin/views/contentModelGroups/IconPicker.d.ts +3 -2
  538. package/admin/views/contentModelGroups/IconPicker.js +12 -4
  539. package/admin/views/contentModelGroups/IconPicker.js.map +1 -0
  540. package/admin/views/contentModelGroups/graphql.d.ts +68 -0
  541. package/admin/views/contentModelGroups/graphql.js +26 -5
  542. package/admin/views/contentModelGroups/graphql.js.map +1 -0
  543. package/admin/views/contentModels/CloneContentModelDialog.js +31 -39
  544. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -0
  545. package/admin/views/contentModels/ContentModelEditor.d.ts +3 -2
  546. package/admin/views/contentModels/ContentModelEditor.js +6 -3
  547. package/admin/views/contentModels/ContentModelEditor.js.map +1 -0
  548. package/admin/views/contentModels/ContentModels.d.ts +2 -2
  549. package/admin/views/contentModels/ContentModels.js +10 -9
  550. package/admin/views/contentModels/ContentModels.js.map +1 -0
  551. package/admin/views/contentModels/ContentModelsDataList.d.ts +4 -4
  552. package/admin/views/contentModels/ContentModelsDataList.js +26 -23
  553. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -0
  554. package/admin/views/contentModels/NewContentModelDialog.d.ts +2 -2
  555. package/admin/views/contentModels/NewContentModelDialog.js +166 -77
  556. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -0
  557. package/admin/views/contentModels/cache.d.ts +5 -4
  558. package/admin/views/contentModels/cache.js +47 -21
  559. package/admin/views/contentModels/cache.js.map +1 -0
  560. package/admin/views/contentModels/types.d.ts +4 -0
  561. package/admin/views/contentModels/types.js +1 -0
  562. package/admin/views/contentModels/types.js.map +1 -0
  563. package/admin/views/utils.d.ts +3 -2
  564. package/admin/views/utils.js +5 -18
  565. package/admin/views/utils.js.map +1 -0
  566. package/admin/viewsGraphql.d.ts +62 -0
  567. package/admin/viewsGraphql.js +30 -5
  568. package/admin/viewsGraphql.js.map +1 -0
  569. package/index.js.map +1 -0
  570. package/package.json +27 -23
  571. package/types.d.ts +129 -30
  572. package/types.js.map +1 -0
@@ -11,31 +11,32 @@ import { Grid, Cell } from "@webiny/ui/Grid";
11
11
  import { validation } from "@webiny/validation";
12
12
  import { Input } from "@webiny/ui/Input";
13
13
 
14
- var onEnabledChange = function onEnabledChange(_ref) {
15
- var data = _ref.data,
16
- validationValue = _ref.validationValue,
17
- onChangeValidation = _ref.onChangeValidation,
18
- validator = _ref.validator;
14
+ var onEnabledChange = function onEnabledChange(params) {
15
+ var data = params.data,
16
+ validationValue = params.validationValue,
17
+ onChangeValidation = params.onChangeValidation,
18
+ validator = params.validator;
19
19
 
20
20
  if (data) {
21
21
  var index = validationValue.findIndex(function (item) {
22
22
  return item.name === validator.name;
23
23
  });
24
24
  onChangeValidation([].concat(_toConsumableArray(validationValue.slice(0, index)), _toConsumableArray(validationValue.slice(index + 1))));
25
- } else {
26
- onChangeValidation([].concat(_toConsumableArray(validationValue), [{
27
- name: validator.name,
28
- settings: validator.defaultSettings,
29
- message: validator.defaultMessage
30
- }]));
25
+ return;
31
26
  }
27
+
28
+ onChangeValidation([].concat(_toConsumableArray(validationValue), [{
29
+ name: validator.name,
30
+ settings: validator.defaultSettings,
31
+ message: validator.defaultMessage
32
+ }]));
32
33
  };
33
34
 
34
- var onFormChange = _debounce(function (_ref2) {
35
- var data = _ref2.data,
36
- validationValue = _ref2.validationValue,
37
- onChangeValidation = _ref2.onChangeValidation,
38
- validatorIndex = _ref2.validatorIndex;
35
+ var onFormChange = _debounce(function (_ref) {
36
+ var data = _ref.data,
37
+ validationValue = _ref.validationValue,
38
+ onChangeValidation = _ref.onChangeValidation,
39
+ validatorIndex = _ref.validatorIndex;
39
40
 
40
41
  var newValidationValue = _cloneDeep(validationValue);
41
42
 
@@ -55,12 +56,12 @@ var ValidatorsTab = function ValidatorsTab(props) {
55
56
  return /*#__PURE__*/React.createElement(Bind, {
56
57
  name: name,
57
58
  defaultValue: []
58
- }, function (_ref3) {
59
- var validationValue = _ref3.value,
60
- onChangeValidation = _ref3.onChange;
61
- return validators.map(function (_ref4) {
62
- var optional = _ref4.optional,
63
- validator = _ref4.validator;
59
+ }, function (bind) {
60
+ var validationValue = bind.value,
61
+ onChangeValidation = bind.onChange;
62
+ return /*#__PURE__*/React.createElement(React.Fragment, null, validators.map(function (_ref2) {
63
+ var optional = _ref2.optional,
64
+ validator = _ref2.validator;
64
65
  var validatorIndex = (validationValue || []).findIndex(function (item) {
65
66
  return item.name === validator.name;
66
67
  });
@@ -93,28 +94,35 @@ var ValidatorsTab = function ValidatorsTab(props) {
93
94
  validatorIndex: validatorIndex
94
95
  });
95
96
  }
96
- }, function (_ref5) {
97
- var Bind = _ref5.Bind,
98
- setValue = _ref5.setValue;
97
+ }, function (_ref3) {
98
+ var Bind = _ref3.Bind,
99
+ setValue = _ref3.setValue;
99
100
  return /*#__PURE__*/React.createElement(SimpleFormContent, null, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
100
101
  span: 12
101
102
  }, /*#__PURE__*/React.createElement(Bind, {
102
103
  name: "message",
103
104
  validators: validation.create("required")
104
- }, /*#__PURE__*/React.createElement(Input, {
105
- label: "Message",
106
- description: "This message will be displayed to the user"
107
- })))), typeof validator.renderSettings === "function" && validator.renderSettings({
105
+ }, function (bind) {
106
+ return /*#__PURE__*/React.createElement(Input, Object.assign({}, bind, {
107
+ label: "Message",
108
+ description: "This message will be displayed to the user"
109
+ }));
110
+ }))), typeof validator.renderSettings === "function" && validator.renderSettings({
108
111
  field: field,
109
112
  setValue: setValue,
110
113
  setMessage: function setMessage(message) {
111
114
  setValue("message", message);
112
115
  },
113
116
  data: data,
117
+
118
+ /**
119
+ * TODO @ts-refactor
120
+ * Figure out type for Bind.
121
+ */
114
122
  Bind: Bind
115
123
  }));
116
124
  }));
117
- });
125
+ }));
118
126
  });
119
127
  };
120
128
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ValidatorsTab.tsx"],"names":["React","css","Switch","SimpleForm","SimpleFormContent","SimpleFormHeader","Form","Grid","Cell","validation","Input","onEnabledChange","params","data","validationValue","onChangeValidation","validator","index","findIndex","item","name","slice","settings","defaultSettings","message","defaultMessage","onFormChange","validatorIndex","newValidationValue","noMargin","margin","ValidatorsTab","props","field","validators","Bind","form","bind","value","onChange","map","optional","label","setValue","create","renderSettings","setMessage"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { cloneDeep, debounce } from \"lodash\";\nimport { Switch } from \"@webiny/ui/Switch\";\nimport {\n SimpleForm,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { Form, FormRenderPropParams } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { Input } from \"@webiny/ui/Input\";\nimport {\n CmsEditorField,\n CmsEditorFieldValidator,\n CmsEditorFieldValidatorPlugin,\n CmsEditorFieldValidatorPluginValidator\n} from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\n\ninterface OnChangeValidationCallable {\n (validators: CmsEditorFieldValidator[]): void;\n}\ninterface OnEnabledChangeParams {\n data: CmsEditorFieldValidator;\n validationValue: CmsEditorFieldValidator[];\n onChangeValidation: OnChangeValidationCallable;\n validator: CmsEditorFieldValidatorPluginValidator;\n}\nconst onEnabledChange = (params: OnEnabledChangeParams): void => {\n const { data, validationValue, onChangeValidation, validator } = params;\n if (data) {\n const index = validationValue.findIndex(item => item.name === validator.name);\n onChangeValidation([\n ...validationValue.slice(0, index),\n ...validationValue.slice(index + 1)\n ]);\n return;\n }\n onChangeValidation([\n ...validationValue,\n {\n name: validator.name,\n settings: validator.defaultSettings,\n message: validator.defaultMessage\n }\n ]);\n};\n\nconst onFormChange = debounce(({ data, validationValue, onChangeValidation, validatorIndex }) => {\n const newValidationValue = cloneDeep(validationValue);\n newValidationValue[validatorIndex] = {\n ...newValidationValue[validatorIndex],\n ...cloneDeep(data)\n };\n onChangeValidation(newValidationValue);\n}, 200);\n\nconst noMargin = css({\n margin: \"0 !important\"\n});\n\ninterface ValidatorsTabPropsValidator {\n optional: boolean;\n validator: CmsEditorFieldValidatorPlugin[\"validator\"];\n}\ninterface ValidatorsTabProps {\n name: string;\n validators: ValidatorsTabPropsValidator[];\n form: FormRenderPropParams;\n field: CmsEditorField;\n}\n\nconst ValidatorsTab: React.FC<ValidatorsTabProps> = props => {\n const {\n field,\n name,\n validators,\n form: { Bind }\n } = props;\n\n return (\n <Bind name={name} defaultValue={[]}>\n {bind => {\n const { value: validationValue, onChange: onChangeValidation } = bind;\n return (\n <>\n {validators.map(({ optional, validator }) => {\n const validatorIndex = (\n (validationValue || []) as Validator[]\n ).findIndex(item => item.name === validator.name);\n const data = (validationValue || [])[validatorIndex];\n\n return (\n <SimpleForm\n key={validator.name}\n noElevation\n className={noMargin}\n data-testid={`cms.editor.field-validator.${validator.name}`}\n >\n <SimpleFormHeader title={validator.label}>\n {optional && (\n <Switch\n label=\"Enabled\"\n value={validatorIndex >= 0}\n onChange={() =>\n onEnabledChange({\n data,\n validationValue,\n onChangeValidation,\n validator\n })\n }\n />\n )}\n </SimpleFormHeader>\n {data && (\n <Form\n data={data}\n onChange={data =>\n onFormChange({\n data,\n validationValue,\n onChangeValidation,\n validatorIndex\n })\n }\n >\n {({ Bind, setValue }) => (\n <SimpleFormContent>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"message\"}\n validators={validation.create(\n \"required\"\n )}\n >\n {bind => {\n return (\n <Input\n {...bind}\n label={\"Message\"}\n description={\n \"This message will be displayed to the user\"\n }\n />\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n\n {typeof validator.renderSettings ===\n \"function\" &&\n validator.renderSettings({\n field,\n setValue,\n setMessage: (message: string) => {\n setValue(\"message\", message);\n },\n data,\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n Bind: Bind as any\n })}\n </SimpleFormContent>\n )}\n </Form>\n )}\n </SimpleForm>\n );\n })}\n </>\n );\n }}\n </Bind>\n );\n};\n\nexport default ValidatorsTab;\n"]}
@@ -1,6 +1,8 @@
1
- declare const getValue: ({ bind, index, name }: {
2
- bind: any;
3
- index: any;
4
- name: any;
5
- }) => any;
1
+ import { BindComponentRenderProp } from "@webiny/form";
2
+ interface Params {
3
+ bind: BindComponentRenderProp;
4
+ index: number;
5
+ name: string;
6
+ }
7
+ declare const getValue: (params: Params) => string[] | undefined;
6
8
  export default getValue;
@@ -1,9 +1,9 @@
1
1
  import get from "lodash/get";
2
2
 
3
- var getValue = function getValue(_ref) {
4
- var bind = _ref.bind,
5
- index = _ref.index,
6
- name = _ref.name;
3
+ var getValue = function getValue(params) {
4
+ var bind = params.bind,
5
+ index = params.index,
6
+ name = params.name;
7
7
  var value = bind.value || [];
8
8
 
9
9
  if (index >= 0) {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getValue.ts"],"names":["get","getValue","params","bind","index","name","value"],"mappings":"AAAA,OAAOA,GAAP,MAAgB,YAAhB;;AAQA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAA0C;AACvD,MAAQC,IAAR,GAA8BD,MAA9B,CAAQC,IAAR;AAAA,MAAcC,KAAd,GAA8BF,MAA9B,CAAcE,KAAd;AAAA,MAAqBC,IAArB,GAA8BH,MAA9B,CAAqBG,IAArB;AACA,MAAMC,KAAK,GAAGH,IAAI,CAACG,KAAL,IAAc,EAA5B;;AAEA,MAAIF,KAAK,IAAI,CAAb,EAAgB;AACZ,WAAOJ,GAAG,CAACM,KAAD,YAAWF,KAAX,cAAoBC,IAApB,EAAV;AACH;;AAED,SAAOC,KAAP;AACH,CATD;;AAWA,eAAeL,QAAf","sourcesContent":["import get from \"lodash/get\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface Params {\n bind: BindComponentRenderProp;\n index: number;\n name: string;\n}\nconst getValue = (params: Params): string[] | undefined => {\n const { bind, index, name } = params;\n const value = bind.value || [];\n\n if (index >= 0) {\n return get(value, `${index}.${name}`);\n }\n\n return value;\n};\n\nexport default getValue;\n"]}
@@ -1,7 +1,9 @@
1
- declare const setValue: ({ value, bind, index, name }: {
2
- value: any;
3
- bind: any;
4
- index: any;
5
- name: any;
6
- }) => void;
1
+ import { BindComponentRenderProp } from "@webiny/form";
2
+ interface Params {
3
+ value: string[];
4
+ bind: BindComponentRenderProp;
5
+ index: number;
6
+ name: string;
7
+ }
8
+ declare const setValue: (params: Params) => void;
7
9
  export default setValue;
@@ -1,11 +1,11 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import set from "lodash/set";
3
3
 
4
- var setValue = function setValue(_ref) {
5
- var value = _ref.value,
6
- bind = _ref.bind,
7
- index = _ref.index,
8
- name = _ref.name;
4
+ var setValue = function setValue(params) {
5
+ var value = params.value,
6
+ bind = params.bind,
7
+ index = params.index,
8
+ name = params.name;
9
9
 
10
10
  var newValue = _toConsumableArray(bind.value || []);
11
11
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["setValue.ts"],"names":["set","setValue","params","value","bind","index","name","newValue","onChange"],"mappings":";AAAA,OAAOA,GAAP,MAAgB,YAAhB;;AASA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAA0B;AACvC,MAAQC,KAAR,GAAqCD,MAArC,CAAQC,KAAR;AAAA,MAAeC,IAAf,GAAqCF,MAArC,CAAeE,IAAf;AAAA,MAAqBC,KAArB,GAAqCH,MAArC,CAAqBG,KAArB;AAAA,MAA4BC,IAA5B,GAAqCJ,MAArC,CAA4BI,IAA5B;;AACA,MAAIC,QAAQ,sBAAQH,IAAI,CAACD,KAAL,IAAc,EAAtB,CAAZ;;AACA,MAAIE,KAAK,IAAI,CAAb,EAAgB;AACZL,IAAAA,GAAG,CAACO,QAAD,YAAcF,KAAd,cAAuBC,IAAvB,GAA+BH,KAA/B,CAAH;AACH,GAFD,MAEO;AACHI,IAAAA,QAAQ,GAAGJ,KAAX;AACH;;AAEDC,EAAAA,IAAI,CAACI,QAAL,CAAcD,QAAd;AACH,CAVD;;AAYA,eAAeN,QAAf","sourcesContent":["import set from \"lodash/set\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface Params {\n value: string[];\n bind: BindComponentRenderProp;\n index: number;\n name: string;\n}\nconst setValue = (params: Params): void => {\n const { value, bind, index, name } = params;\n let newValue = [...(bind.value || [])];\n if (index >= 0) {\n set(newValue, `${index}.${name}`, value);\n } else {\n newValue = value;\n }\n\n bind.onChange(newValue);\n};\n\nexport default setValue;\n"]}
@@ -1,9 +1,9 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import { CmsEditorField } from "../../../types";
3
- declare type EditFieldDialogProps = {
4
- field: CmsEditorField;
5
- onClose: Function;
6
- onSubmit: (data: any) => void;
7
- };
8
- declare const EditFieldDialog: ({ field, onSubmit, ...props }: EditFieldDialogProps) => JSX.Element;
3
+ interface EditFieldDialogProps {
4
+ field: CmsEditorField | null;
5
+ onClose: () => void;
6
+ onSubmit: (data: CmsEditorField) => void;
7
+ }
8
+ declare const EditFieldDialog: React.FC<EditFieldDialogProps>;
9
9
  export default EditFieldDialog;
@@ -8,7 +8,7 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
8
8
  var _excluded = ["field", "onSubmit"];
9
9
  import React, { useState, useEffect, useCallback } from "react";
10
10
  import { css } from "emotion";
11
- import { Dialog, DialogContent, DialogTitle, DialogActions, DialogButton } from "@webiny/ui/Dialog";
11
+ import { Dialog, DialogContent, DialogTitle, DialogActions } from "@webiny/ui/Dialog";
12
12
  import { Form } from "@webiny/form";
13
13
  import { Tabs, Tab } from "@webiny/ui/Tabs";
14
14
  import { i18n } from "@webiny/app/i18n";
@@ -21,6 +21,8 @@ import { Grid, Cell } from "@webiny/ui/Grid";
21
21
  import { Typography } from "@webiny/ui/Typography";
22
22
  import { Elevation } from "@webiny/ui/Elevation";
23
23
  import { useFieldEditor } from "./useFieldEditor";
24
+ import invariant from "invariant";
25
+ import { ButtonDefault, ButtonPrimary } from "@webiny/ui/Button";
24
26
  var t = i18n.namespace("app-headless-cms/admin/components/editor");
25
27
  var dialogBody = /*#__PURE__*/css({
26
28
  "&.webiny-ui-dialog__content": {
@@ -31,9 +33,8 @@ var dialogBody = /*#__PURE__*/css({
31
33
 
32
34
  var getValidators = function getValidators(fieldPlugin, key) {
33
35
  var defaultValidators = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
34
- return plugins.byType("cms-editor-field-validator").map(function (plugin) {
35
- return plugin.validator;
36
- }).map(function (validator) {
36
+ var mappedValidators = plugins.byType("cms-editor-field-validator").map(function (_ref) {
37
+ var validator = _ref.validator;
37
38
  var allowedValidators = fieldPlugin.field[key] || defaultValidators;
38
39
 
39
40
  if (allowedValidators.includes(validator.name)) {
@@ -49,7 +50,13 @@ var getValidators = function getValidators(fieldPlugin, key) {
49
50
  }
50
51
 
51
52
  return null;
52
- }).filter(Boolean).sort(function (a, b) {
53
+ });
54
+ var filteredValidators = mappedValidators.filter(Boolean);
55
+ return filteredValidators
56
+ /**
57
+ * We can safely cast because we are filtering in previous step.
58
+ */
59
+ .sort(function (a, b) {
53
60
  if (!a.optional && b.optional) {
54
61
  return -1;
55
62
  }
@@ -86,10 +93,10 @@ var fieldEditorDialog = /*#__PURE__*/css({
86
93
  }
87
94
  }, "label:fieldEditorDialog;");
88
95
 
89
- var EditFieldDialog = function EditFieldDialog(_ref) {
90
- var field = _ref.field,
91
- onSubmit = _ref.onSubmit,
92
- props = _objectWithoutProperties(_ref, _excluded);
96
+ var EditFieldDialog = function EditFieldDialog(_ref2) {
97
+ var field = _ref2.field,
98
+ _onSubmit = _ref2.onSubmit,
99
+ props = _objectWithoutProperties(_ref2, _excluded);
93
100
 
94
101
  var _useState = useState(null),
95
102
  _useState2 = _slicedToArray(_useState, 2),
@@ -101,7 +108,8 @@ var EditFieldDialog = function EditFieldDialog(_ref) {
101
108
 
102
109
  useEffect(function () {
103
110
  if (!field) {
104
- return setCurrent(field);
111
+ setCurrent(field);
112
+ return;
105
113
  }
106
114
 
107
115
  var clonedField = _cloneDeep(field);
@@ -127,22 +135,31 @@ var EditFieldDialog = function EditFieldDialog(_ref) {
127
135
  var onClose = useCallback(function () {
128
136
  setCurrent(null);
129
137
  props.onClose();
130
- }, undefined);
138
+ }, []);
131
139
  var render = null;
132
140
  var headerTitle = t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Field Settings"])));
133
141
 
134
142
  if (current) {
143
+ /**
144
+ * Something must be very wrong for field plugin to be missing.
145
+ */
135
146
  var fieldPlugin = getFieldPlugin(current.type);
147
+ /**
148
+ * We will throw error because of that.
149
+ */
136
150
 
137
- if (fieldPlugin) {
138
- headerTitle = t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Field Settings - {fieldTypeLabel}"])))({
139
- fieldTypeLabel: fieldPlugin.field.label
140
- });
141
- }
142
-
151
+ invariant(fieldPlugin, "Missing field plugin for type \"".concat(current.type, "\"."));
152
+ headerTitle = t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Field Settings - {fieldTypeLabel}"])))({
153
+ fieldTypeLabel: fieldPlugin.field.label
154
+ });
143
155
  render = /*#__PURE__*/React.createElement(Form, {
144
156
  data: current,
145
- onSubmit: onSubmit
157
+ onSubmit: function onSubmit(data) {
158
+ /**
159
+ * We know that data is CmsEditorField.
160
+ */
161
+ return _onSubmit(data);
162
+ }
146
163
  }, function (form) {
147
164
  var predefinedValuesTabEnabled = fieldPlugin.field.allowPredefinedValues && form.data.predefinedValues && form.data.predefinedValues.enabled;
148
165
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DialogContent, {
@@ -174,7 +191,7 @@ var EditFieldDialog = function EditFieldDialog(_ref) {
174
191
  }, /*#__PURE__*/React.createElement(Elevation, {
175
192
  z: 2
176
193
  }, /*#__PURE__*/React.createElement(ValidatorsTab, {
177
- field: field,
194
+ field: current,
178
195
  name: "listValidation",
179
196
  validators: getListValidators(fieldPlugin),
180
197
  form: form
@@ -205,17 +222,17 @@ var EditFieldDialog = function EditFieldDialog(_ref) {
205
222
  label: t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Appearance"])))
206
223
  }, /*#__PURE__*/React.createElement(AppearanceTab, {
207
224
  form: form,
208
- field: form.data,
225
+ field: form.data // TODO @ts-refactor verify that this actually worked? There was no fieldPlugin in AppearanceTab props
226
+ // @ts-ignore
227
+ ,
209
228
  fieldPlugin: fieldPlugin
210
- })))), /*#__PURE__*/React.createElement(DialogActions, {
211
- style: {
212
- justifyContent: "flex-end"
213
- }
214
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(DialogButton, {
229
+ })))), /*#__PURE__*/React.createElement(DialogActions, null, /*#__PURE__*/React.createElement(ButtonDefault, {
215
230
  onClick: onClose
216
- }, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Cancel"])))), /*#__PURE__*/React.createElement(DialogButton, {
217
- onClick: form.submit
218
- }, t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Save"])))))));
231
+ }, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Cancel"])))), /*#__PURE__*/React.createElement(ButtonPrimary, {
232
+ onClick: function onClick(ev) {
233
+ form.submit(ev);
234
+ }
235
+ }, t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Save Field"]))))));
219
236
  });
220
237
  }
221
238
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["EditFieldDialog.tsx"],"names":["React","useState","useEffect","useCallback","css","Dialog","DialogContent","DialogTitle","DialogActions","Form","Tabs","Tab","i18n","plugins","GeneralTab","AppearanceTab","PredefinedValues","ValidatorsTab","Grid","Cell","Typography","Elevation","useFieldEditor","invariant","ButtonDefault","ButtonPrimary","t","namespace","dialogBody","width","height","getValidators","fieldPlugin","key","defaultValidators","mappedValidators","byType","map","validator","allowedValidators","field","includes","name","optional","filteredValidators","filter","Boolean","sort","a","b","getListValidators","getFieldValidators","fieldEditorDialog","maxWidth","maxHeight","paddingTop","EditFieldDialog","onSubmit","props","current","setCurrent","getFieldPlugin","clonedField","renderer","item","canUse","renderPlugin","rendererName","onClose","render","headerTitle","type","fieldTypeLabel","label","data","form","predefinedValuesTabEnabled","allowPredefinedValues","predefinedValues","enabled","multipleValues","Array","isArray","validators","length","ev","submit"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport { cloneDeep } from \"lodash\";\nimport { css } from \"emotion\";\nimport { Dialog, DialogContent, DialogTitle, DialogActions } from \"@webiny/ui/Dialog\";\nimport { Form } from \"@webiny/form\";\nimport { Tabs, Tab } from \"@webiny/ui/Tabs\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n CmsEditorField,\n CmsEditorFieldRendererPlugin,\n CmsEditorFieldTypePlugin,\n CmsEditorFieldValidatorPlugin\n} from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\nimport GeneralTab from \"./EditFieldDialog/GeneralTab\";\nimport AppearanceTab from \"./EditFieldDialog/AppearanceTab\";\nimport PredefinedValues from \"./EditFieldDialog/PredefinedValues\";\nimport ValidatorsTab from \"./EditFieldDialog/ValidatorsTab\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { useFieldEditor } from \"~/admin/components/FieldEditor/useFieldEditor\";\nimport invariant from \"invariant\";\nimport { ButtonDefault, ButtonPrimary } from \"@webiny/ui/Button\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/components/editor\");\n\nconst dialogBody = css({\n \"&.webiny-ui-dialog__content\": {\n width: 875,\n height: 450\n }\n});\n\ninterface EditFieldDialogProps {\n field: CmsEditorField | null;\n onClose: () => void;\n onSubmit: (data: CmsEditorField) => void;\n}\n\ninterface Validator {\n optional: boolean;\n validator: CmsEditorFieldValidatorPlugin[\"validator\"];\n}\nconst getValidators = (\n fieldPlugin: CmsEditorFieldTypePlugin,\n /**\n * We only have validators and listValidators, thats why the strict string types\n */\n key: \"validators\" | \"listValidators\",\n defaultValidators: string[] = []\n): Validator[] => {\n const mappedValidators = plugins\n .byType<CmsEditorFieldValidatorPlugin>(\"cms-editor-field-validator\")\n .map(({ validator }) => {\n const allowedValidators = fieldPlugin.field[key] || defaultValidators;\n if (allowedValidators.includes(validator.name)) {\n return {\n optional: true,\n validator\n };\n } else if (allowedValidators.includes(`!${validator.name}`)) {\n return {\n optional: false,\n validator\n };\n }\n\n return null;\n });\n\n const filteredValidators = mappedValidators.filter(Boolean) as Validator[];\n\n return (\n filteredValidators\n /**\n * We can safely cast because we are filtering in previous step.\n */\n .sort((a: Validator, b: Validator) => {\n if (!a.optional && b.optional) {\n return -1;\n }\n\n if (a.optional && !b.optional) {\n return 1;\n }\n\n return 0;\n }) as Validator[]\n );\n};\n\nconst getListValidators = (fieldPlugin: CmsEditorFieldTypePlugin) => {\n return getValidators(fieldPlugin, \"listValidators\", [\"minLength\", \"maxLength\"]);\n};\n\nconst getFieldValidators = (fieldPlugin: CmsEditorFieldTypePlugin) => {\n return getValidators(fieldPlugin, \"validators\");\n};\n\nconst fieldEditorDialog = css({\n width: \"100vw\",\n height: \"100vh\",\n \".mdc-dialog__surface\": {\n maxWidth: \"100% !important\",\n maxHeight: \"100% !important\",\n \".webiny-ui-dialog__content\": {\n maxWidth: \"100% !important\",\n maxHeight: \"100% !important\",\n width: \"100vw\",\n height: \"calc(100vh - 155px)\",\n paddingTop: \"0 !important\"\n }\n }\n});\n\nconst EditFieldDialog: React.FC<EditFieldDialogProps> = ({ field, onSubmit, ...props }) => {\n const [current, setCurrent] = useState<CmsEditorField | null>(null);\n\n const { getFieldPlugin } = useFieldEditor();\n\n useEffect((): void => {\n if (!field) {\n setCurrent(field);\n return;\n }\n\n const clonedField = cloneDeep(field);\n\n if (!clonedField.renderer || !clonedField.renderer.name) {\n const [renderPlugin] = plugins\n .byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\")\n .filter(item => item.renderer.canUse({ field }));\n\n if (renderPlugin) {\n clonedField.renderer = { name: renderPlugin.renderer.rendererName };\n }\n }\n\n setCurrent(clonedField);\n }, [field]);\n\n const onClose = useCallback((): void => {\n setCurrent(null);\n props.onClose();\n }, []);\n\n let render = null;\n let headerTitle = t`Field Settings`;\n\n if (current) {\n /**\n * Something must be very wrong for field plugin to be missing.\n */\n const fieldPlugin = getFieldPlugin(current.type) as CmsEditorFieldTypePlugin;\n /**\n * We will throw error because of that.\n */\n invariant(fieldPlugin, `Missing field plugin for type \"${current.type}\".`);\n\n headerTitle = t`Field Settings - {fieldTypeLabel}`({\n fieldTypeLabel: fieldPlugin.field.label\n });\n\n render = (\n <Form\n data={current}\n onSubmit={data => {\n /**\n * We know that data is CmsEditorField.\n */\n return onSubmit(data as unknown as CmsEditorField);\n }}\n >\n {form => {\n const predefinedValuesTabEnabled =\n fieldPlugin.field.allowPredefinedValues &&\n form.data.predefinedValues &&\n form.data.predefinedValues.enabled;\n\n return (\n <>\n <DialogContent className={dialogBody}>\n <Tabs>\n <Tab label={t`General`}>\n <GeneralTab\n form={form}\n field={form.data as CmsEditorField}\n fieldPlugin={fieldPlugin}\n />\n </Tab>\n <Tab\n label={t`Predefined Values`}\n disabled={!predefinedValuesTabEnabled}\n >\n {predefinedValuesTabEnabled && (\n <PredefinedValues\n form={form}\n field={form.data as CmsEditorField}\n fieldPlugin={fieldPlugin}\n />\n )}\n </Tab>\n\n {form.data.multipleValues && (\n <Tab\n label={\"Validators\"}\n data-testid={\"cms.editor.field.tabs.validators\"}\n >\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline5\"}>\n List validators\n </Typography>\n <br />\n <Typography use={\"body2\"}>\n These validators are applied to the entire\n list of values.\n </Typography>\n </Cell>\n <Cell span={12}>\n <Elevation z={2}>\n <ValidatorsTab\n field={current}\n name={\"listValidation\"}\n validators={getListValidators(\n fieldPlugin\n )}\n form={form}\n />\n </Elevation>\n </Cell>\n </Grid>\n\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline5\"}>\n Individual value validators\n </Typography>\n <br />\n <Typography use={\"body2\"}>\n These validators are applied to each value\n in the list.\n </Typography>\n </Cell>\n <Cell span={12}>\n <Elevation z={2}>\n <ValidatorsTab\n field={current}\n form={form}\n name={\"validation\"}\n validators={getFieldValidators(\n fieldPlugin\n )}\n />\n </Elevation>\n </Cell>\n </Grid>\n </Tab>\n )}\n\n {!form.data.multipleValues &&\n Array.isArray(fieldPlugin.field.validators) &&\n fieldPlugin.field.validators.length > 0 && (\n <Tab\n label={\"Validators\"}\n data-testid={\"cms.editor.field.tabs.validators\"}\n >\n <ValidatorsTab\n field={current}\n form={form}\n name={\"validation\"}\n validators={getFieldValidators(fieldPlugin)}\n />\n </Tab>\n )}\n <Tab label={t`Appearance`}>\n <AppearanceTab\n form={form}\n field={form.data as CmsEditorField}\n // TODO @ts-refactor verify that this actually worked? There was no fieldPlugin in AppearanceTab props\n // @ts-ignore\n fieldPlugin={fieldPlugin}\n />\n </Tab>\n </Tabs>\n </DialogContent>\n <DialogActions>\n <ButtonDefault onClick={onClose}>{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n >{t`Save Field`}</ButtonPrimary>\n </DialogActions>\n </>\n );\n }}\n </Form>\n );\n }\n\n return (\n <Dialog\n preventOutsideDismiss\n open={!!current}\n onClose={onClose}\n data-testid={\"cms-editor-edit-fields-dialog\"}\n className={fieldEditorDialog}\n >\n <DialogTitle>{headerTitle}</DialogTitle>\n {render}\n </Dialog>\n );\n};\n\nexport default EditFieldDialog;\n"]}
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
2
  import { CmsEditorField } from "../../../types";
3
- export interface Props {
3
+ export interface FieldProps {
4
4
  field: CmsEditorField;
5
- onDelete: Function;
6
- onEdit: Function;
5
+ onDelete: (field: CmsEditorField) => void;
6
+ onEdit: (field: CmsEditorField) => void;
7
7
  parent?: CmsEditorField;
8
8
  }
9
- declare const _default: React.NamedExoticComponent<Props>;
9
+ declare const _default: React.NamedExoticComponent<FieldProps>;
10
10
  export default _default;
@@ -133,8 +133,8 @@ var Field = function Field(props) {
133
133
  return null;
134
134
  }
135
135
 
136
- var isTitleField = field.fieldId === data.titleFieldId && !parent;
137
- var lockedFields = data.lockedFields || [];
136
+ var isTitleField = data && field.fieldId === data.titleFieldId && !parent;
137
+ var lockedFields = data ? data.lockedFields || [] : [];
138
138
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(FieldContainer, null, /*#__PURE__*/React.createElement(Info, null, /*#__PURE__*/React.createElement(Typography, {
139
139
  use: "subtitle1"
140
140
  }, field.label), /*#__PURE__*/React.createElement(Typography, {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Field.tsx"],"names":["React","Fragment","useCallback","css","styled","IconButton","Typography","ReactComponent","EditIcon","DeleteIcon","TitleIcon","MoreVerticalIcon","Menu","MenuItem","plugins","ListItemGraphic","Icon","i18n","useSnackbar","useContentModelEditor","useFieldEditor","t","ns","FieldContainer","display","flexDirection","justifyContent","alignItems","Info","flex","lineHeight","Actions","menuStyles","width","right","left","opacity","pointerEvents","allowedTitleFieldTypes","isFieldAllowedToBeTitle","field","parent","multipleValues","includes","type","Field","props","onEdit","showSnackbar","setData","data","getFieldPlugin","onDelete","fieldId","setAsTitle","titleFieldId","response","error","message","fieldPlugin","editorFieldOptionPlugins","byType","isTitleField","lockedFields","label","map","pl","cloneElement","render","key","name","some","lockedField","find","memo"],"mappings":"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","sourcesContent":["import React, { Fragment, useCallback } from \"react\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ReactComponent as EditIcon } from \"~/admin/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/delete.svg\";\nimport { ReactComponent as TitleIcon } from \"~/admin/icons/title-24px.svg\";\nimport { ReactComponent as MoreVerticalIcon } from \"~/admin/icons/more_vert.svg\";\nimport { Menu, MenuItem } from \"@webiny/ui/Menu\";\nimport { plugins } from \"@webiny/plugins\";\nimport { CmsEditorField, CmsEditorFieldOptionPlugin } from \"~/types\";\nimport { ListItemGraphic } from \"@webiny/ui/List\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\nimport { useFieldEditor } from \"~/admin/components/FieldEditor/useFieldEditor\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/components/editor/field\");\n\nconst FieldContainer = styled(\"div\")({\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\"\n});\n\nconst Info = styled(\"div\")({\n display: \"flex\",\n flexDirection: \"column\",\n \"> *\": {\n flex: \"1 100%\",\n lineHeight: \"150%\"\n }\n});\n\nconst Actions = styled(\"div\")({\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"right\",\n \"> *\": {\n flex: \"1 100%\"\n }\n});\n\nconst menuStyles = css({\n width: 220,\n right: -105,\n left: \"auto !important\",\n \".disabled\": {\n opacity: 0.5,\n pointerEvents: \"none\"\n }\n});\n\nconst allowedTitleFieldTypes: string[] = [\"text\", \"number\"];\n\nconst isFieldAllowedToBeTitle = (field: CmsEditorField, parent?: CmsEditorField) => {\n if (field.multipleValues || parent) {\n return false;\n } else if (allowedTitleFieldTypes.includes(field.type) === false) {\n return false;\n }\n return true;\n};\n\nexport interface FieldProps {\n field: CmsEditorField;\n onDelete: (field: CmsEditorField) => void;\n onEdit: (field: CmsEditorField) => void;\n parent?: CmsEditorField;\n}\nconst Field: React.FC<FieldProps> = props => {\n const { field, onEdit, parent } = props;\n const { showSnackbar } = useSnackbar();\n const { setData, data } = useContentModelEditor();\n const { getFieldPlugin } = useFieldEditor();\n\n const onDelete = useCallback(() => {\n props.onDelete(field);\n }, [field.fieldId]);\n\n const setAsTitle = useCallback(async (): Promise<void> => {\n const response = await setData(data => {\n return { ...data, titleFieldId: field.fieldId };\n });\n\n if (response.error) {\n return showSnackbar(response.error.message);\n }\n\n showSnackbar(t`Title field set successfully.`);\n }, [field.fieldId]);\n\n const fieldPlugin = getFieldPlugin(field.type);\n const editorFieldOptionPlugins =\n plugins.byType<CmsEditorFieldOptionPlugin>(\"cms-editor-field-option\");\n\n if (!fieldPlugin) {\n return null;\n }\n\n const isTitleField = data && field.fieldId === data.titleFieldId && !parent;\n\n const lockedFields = data ? data.lockedFields || [] : [];\n return (\n <Fragment>\n <FieldContainer>\n <Info>\n <Typography use={\"subtitle1\"}>{field.label}</Typography>\n <Typography use={\"caption\"}>\n {fieldPlugin.field.label}{\" \"}\n {field.multipleValues && <>({t`multiple values`})</>}\n {isTitleField && <>({t`entry title`})</>}\n </Typography>\n </Info>\n <Actions>\n <IconButton\n data-testid={\"cms.editor.edit-field\"}\n icon={<EditIcon />}\n onClick={() => onEdit(field)}\n />\n <Menu\n className={menuStyles}\n handle={<IconButton icon={<MoreVerticalIcon />} />}\n >\n {editorFieldOptionPlugins.map(pl =>\n React.cloneElement(pl.render(), { key: pl.name })\n )}\n {/* We only allow this action for top-level fields. */}\n <MenuItem\n disabled={!isFieldAllowedToBeTitle(field, parent)}\n onClick={setAsTitle}\n >\n <ListItemGraphic>\n <Icon icon={<TitleIcon />} />\n </ListItemGraphic>\n {t`Use as title`}\n </MenuItem>\n <MenuItem\n disabled={lockedFields.some(\n lockedField => lockedField.fieldId === field.fieldId\n )}\n onClick={onDelete}\n >\n <ListItemGraphic>\n <Icon icon={<DeleteIcon />} />\n </ListItemGraphic>\n {lockedFields.find(lockedField => lockedField.fieldId === field.fieldId)\n ? t`Cannot delete`\n : t`Delete`}\n </MenuItem>\n </Menu>\n </Actions>\n </FieldContainer>\n <div className={\"field-extra\"}>\n {fieldPlugin.field.render && fieldPlugin.field.render({ field, data, setData })}\n </div>\n </Fragment>\n );\n};\n\nexport default React.memo(Field);\n"]}
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import { CmsEditorField, CmsEditorFieldsLayout } from "../../../types";
3
3
  export interface FieldEditorProps {
4
4
  parent?: CmsEditorField;
@@ -9,4 +9,4 @@ export interface FieldEditorProps {
9
9
  layout: CmsEditorFieldsLayout;
10
10
  }) => void;
11
11
  }
12
- export declare const FieldEditor: (props: FieldEditorProps) => JSX.Element;
12
+ export declare const FieldEditor: React.FC<FieldEditorProps>;
@@ -145,17 +145,20 @@ var Editor = function Editor() {
145
145
  });
146
146
  }), /*#__PURE__*/React.createElement(EditFieldDialog, {
147
147
  field: field,
148
- onClose: editField,
148
+ onClose: function onClose() {
149
+ return editField(null);
150
+ },
149
151
  onSubmit: function onSubmit(field) {
150
152
  if (field.id) {
151
153
  updateField(field);
152
- } else {
153
- insertField({
154
- field: field,
155
- position: dropTarget
156
- });
154
+ editField(null);
155
+ return;
157
156
  }
158
157
 
158
+ insertField({
159
+ field: field,
160
+ position: dropTarget
161
+ });
159
162
  editField(null);
160
163
  }
161
164
  }));
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FieldEditor.tsx"],"names":["React","Fragment","get","Icon","i18n","ReactComponent","HandleIcon","Center","Vertical","Horizontal","Draggable","EditFieldDialog","Field","rowHandle","fieldHandle","fieldContainer","Row","RowContainer","useFieldEditor","FieldEditorProvider","t","namespace","fieldTypes","Editor","parent","depth","insertField","updateField","deleteField","fields","noConflict","editField","onFieldDrop","onEndDrag","field","dropTarget","length","item","row","index","padding","map","fieldId","type","pos","f","join","drag","isDragging","opacity","fieldIndex","includes","id","position","FieldEditor","props"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,GAAP,MAAgB,YAAhB;AACA,SAASC,IAAT,QAAqB,iBAArB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,cAAc,IAAIC,UAA3B;AACA,SAASC,MAAT,EAAiBC,QAAjB,EAA2BC,UAA3B;AACA,OAAOC,SAAP;AACA,OAAOC,eAAP;AACA,OAAOC,KAAP;AACA,SAASC,SAAT,EAAoBC,WAApB,EAAiCC,cAAjC,EAAiDC,GAAjD,EAAsDC,YAAtD;AACA,SAASC,cAAT;AACA,SAASC,mBAAT;AAGA,IAAMC,CAAC,GAAGhB,IAAI,CAACiB,SAAL,CAAe,0CAAf,CAAV;AAEA,IAAMC,UAAoB,GAAG,CAAC,OAAD,EAAU,UAAV,CAA7B;;AAEA,IAAMC,MAAgB,GAAG,SAAnBA,MAAmB,GAAM;AAC3B,wBAaIL,cAAc,EAblB;AAAA,MACIM,MADJ,mBACIA,MADJ;AAAA,MAEIC,KAFJ,mBAEIA,KAFJ;AAAA,MAGIC,WAHJ,mBAGIA,WAHJ;AAAA,MAIIC,WAJJ,mBAIIA,WAJJ;AAAA,MAKIC,WALJ,mBAKIA,WALJ;AAAA,MAMIC,MANJ,mBAMIA,MANJ;AAAA,MAOIC,UAPJ,mBAOIA,UAPJ;AAAA,MAQIC,SARJ,mBAQIA,SARJ;AAAA,MASIC,WATJ,mBASIA,WATJ;AAAA,MAUIC,SAVJ,mBAUIA,SAVJ;AAAA,MAWIC,KAXJ,mBAWIA,KAXJ;AAAA,MAYIC,UAZJ,mBAYIA,UAZJ;;AAeA,sBACI,oBAAC,QAAD,QACKN,MAAM,CAACO,MAAP,KAAkB,CAAlB,iBACG,oBAAC,MAAD;AACI,IAAA,MAAM,EAAE,gBAAAC,IAAI;AAAA,aACRL,WAAW,CAACK,IAAD,EAAO;AACdC,QAAAA,GAAG,EAAE,CADS;AAEdC,QAAAA,KAAK,EAAE;AAFO,OAAP,CADH;AAAA,KADhB;AAOI,IAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAX;AAPX,KASKpB,CATL,gGAFR,EAeKS,MAAM,CAACY,GAAP,CAAW,UAACH,GAAD,EAAMC,KAAN;AAAA,wBACR,oBAAC,SAAD;AACI,MAAA,SAAS,EAAE;AACPf,QAAAA,MAAM,EAAEA,MAAM,GAAGA,MAAM,CAACkB,OAAV,GAAoB,IAD3B;AAEPC,QAAAA,IAAI,EAAE,KAFC;AAGPd,QAAAA,MAAM,EAAES,GAHD;AAIPM,QAAAA,GAAG,EAAE;AAAEN,UAAAA,GAAG,EAAEC;AAAP;AAJE,OADf;AAOI,MAAA,OAAO,EAAEN,SAPb;AAQI,MAAA,GAAG,EAAEK,GAAG,CAACG,GAAJ,CAAQ,UAAAI,CAAC;AAAA,eAAIA,CAAC,CAACH,OAAN;AAAA,OAAT,EAAwBI,IAAxB,CAA6B,GAA7B;AART,OAUK;AAIK;AAJL;AAAA,UAEOC,IAFP,QAEOA,IAFP;AAAA,UAGOC,UAHP,QAGOA,UAHP;AAAA,0BAMG,oBAAC,YAAD;AAAc,QAAA,KAAK,EAAE;AAAEC,UAAAA,OAAO,EAAED,UAAU,GAAG,GAAH,GAAS;AAA9B;AAArB,sBACI;AAAK,QAAA,SAAS,EAAEnC,SAAhB;AAA2B,QAAA,GAAG,EAAEkC;AAAhC,sBACI,oBAAC,IAAD;AAAM,QAAA,IAAI,eAAE,oBAAC,UAAD;AAAZ,QADJ,CADJ,eAII,oBAAC,UAAD;AACI,8DAA6CR,KAA7C,CADJ;AAEI,QAAA,SAAS,EAAET,UAAU,EAFzB;AAGI,QAAA,MAAM,EAAE,gBAAAO,IAAI;AAAA,iBAAIL,WAAW,CAACK,IAAD,EAAO;AAAEC,YAAAA,GAAG,EAAEC,KAAP;AAAcA,YAAAA,KAAK,EAAE;AAArB,WAAP,CAAf;AAAA;AAHhB,QAJJ,eAUI,oBAAC,GAAD;AAAK,uBAAa;AAAlB,SACKD,GAAG,CAACG,GAAJ,CAAQ,UAACP,KAAD,EAAQgB,UAAR;AAAA,4BACL,oBAAC,SAAD;AACI,UAAA,GAAG,EAAEhB,KAAK,CAACQ,OADf;AAEI,UAAA,SAAS,EAAE;AACPlB,YAAAA,MAAM,EAAEA,MAAM,GAAGA,MAAM,CAACkB,OAAV,GAAoB,IAD3B;AAEPC,YAAAA,IAAI,EAAE,OAFC;AAGPT,YAAAA,KAAK,EAALA,KAHO;AAIPU,YAAAA,GAAG,EAAE;AACDN,cAAAA,GAAG,EAAEC,KADJ;AAEDA,cAAAA,KAAK,EAAEW;AAFN;AAJE,WAFf;AAWI,UAAA,OAAO,EAAEjB;AAXb,WAaK;AAAA,cAAGc,IAAH,SAAGA,IAAH;AAAA,8BACG;AAAK,YAAA,SAAS,EAAEhC,cAAhB;AAAgC,YAAA,GAAG,EAAEgC;AAArC,0BACI,oBAAC,QAAD;AACI,YAAA,KAAK,EAAEtB,KADX;AAEI,YAAA,MAAM,EAAE,gBAAAY,IAAI;AAAA,qBACRL,WAAW,CAACK,IAAD,EAAO;AACdC,gBAAAA,GAAG,EAAEC,KADS;AAEdA,gBAAAA,KAAK,EAAEW;AAFO,eAAP,CADH;AAAA,aAFhB;AAQI,YAAA,SAAS,EAAEpB,UAAU,CACjB,UAAAO,IAAI;AAAA,qBACAf,UAAU,CAAC6B,QAAX,CAAoBd,IAAI,CAACM,IAAzB,MACCL,GAAG,CAACF,MAAJ,GAAa,CAAb,IACGlC,GAAG,CAACmC,IAAD,EAAO,SAAP,CAAH,KAAyBE,KAF7B,CADA;AAAA,aADa;AARzB,YADJ,eAiBI;AAAK,YAAA,SAAS,EAAEzB;AAAhB,0BACI,oBAAC,KAAD;AACI,YAAA,MAAM,EAAEU,MADZ;AAEI,YAAA,KAAK,EAAEU,KAFX;AAGI,YAAA,MAAM,EAAEH,SAHZ;AAII,YAAA,QAAQ,EAAEH;AAJd,YADJ,CAjBJ,EA2BKsB,UAAU,KAAKZ,GAAG,CAACF,MAAJ,GAAa,CAA5B,iBACG,oBAAC,QAAD;AACI,YAAA,IAAI,MADR;AAEI,YAAA,KAAK,EAAEX,KAFX;AAGI,YAAA,SAAS,EAAEK,UAAU,CACjB,UAAAO,IAAI;AAAA,qBACAf,UAAU,CAAC6B,QAAX,CAAoBd,IAAI,CAACM,IAAzB,MACCL,GAAG,CAACF,MAAJ,GAAa,CAAb,IACGlC,GAAG,CAACmC,IAAD,EAAO,SAAP,CAAH,KAAyBE,KAF7B,CADA;AAAA,aADa,CAHzB;AASI,YAAA,MAAM,EAAE,gBAAAF,IAAI;AAAA,qBACRL,WAAW,CAACK,IAAD,EAAO;AACdC,gBAAAA,GAAG,EAAEC,KADS;AAEdA,gBAAAA,KAAK,EAAEW,UAAU,GAAG;AAFN,eAAP,CADH;AAAA;AAThB,YA5BR,CADH;AAAA,SAbL,CADK;AAAA,OAAR,CADL,CAVJ,EA6EKX,KAAK,KAAKV,MAAM,CAACO,MAAP,GAAgB,CAA1B,iBACG,oBAAC,UAAD;AACI,iEAAgDG,KAAhD,CADJ;AAEI,QAAA,IAAI,MAFR;AAGI,QAAA,SAAS,EAAET,UAAU,EAHzB;AAII,QAAA,MAAM,EAAE,gBAAAO,IAAI;AAAA,iBACRL,WAAW,CAACK,IAAD,EAAO;AACdC,YAAAA,GAAG,EAAEC,KAAK,GAAG,CADC;AAEdA,YAAAA,KAAK,EAAE;AAFO,WAAP,CADH;AAAA;AAJhB,QA9ER,CANH;AAAA,KAVL,CADQ;AAAA,GAAX,CAfL,eA+HI,oBAAC,eAAD;AACI,IAAA,KAAK,EAAEL,KADX;AAEI,IAAA,OAAO,EAAE;AAAA,aAAMH,SAAS,CAAC,IAAD,CAAf;AAAA,KAFb;AAGI,IAAA,QAAQ,EAAE,kBAAAG,KAAK,EAAI;AACf,UAAIA,KAAK,CAACkB,EAAV,EAAc;AACVzB,QAAAA,WAAW,CAACO,KAAD,CAAX;AACAH,QAAAA,SAAS,CAAC,IAAD,CAAT;AACA;AACH;;AACDL,MAAAA,WAAW,CAAC;AAAEQ,QAAAA,KAAK,EAALA,KAAF;AAASmB,QAAAA,QAAQ,EAAElB;AAAnB,OAAD,CAAX;AAEAJ,MAAAA,SAAS,CAAC,IAAD,CAAT;AACH;AAZL,IA/HJ,CADJ;AAgJH,CAhKD;;AAyKA,OAAO,IAAMuB,WAAuC,GAAG,SAA1CA,WAA0C,CAAAC,KAAK,EAAI;AAC5D,sBACI,oBAAC,mBAAD,EAAyBA,KAAzB,eACI,oBAAC,MAAD,OADJ,CADJ;AAKH,CANM","sourcesContent":["import React, { Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReactComponent as HandleIcon } from \"~/admin/icons/round-drag_indicator-24px.svg\";\nimport { Center, Vertical, Horizontal } from \"../DropZone\";\nimport Draggable from \"../Draggable\";\nimport EditFieldDialog from \"./EditFieldDialog\";\nimport Field from \"./Field\";\nimport { rowHandle, fieldHandle, fieldContainer, Row, RowContainer } from \"./Styled\";\nimport { useFieldEditor } from \"./useFieldEditor\";\nimport { FieldEditorProvider } from \"./FieldEditorContext\";\nimport { CmsEditorField, CmsEditorFieldsLayout } from \"~/types\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/components/editor\");\n\nconst fieldTypes: string[] = [\"field\", \"newField\"];\n\nconst Editor: React.FC = () => {\n const {\n parent,\n depth,\n insertField,\n updateField,\n deleteField,\n fields,\n noConflict,\n editField,\n onFieldDrop,\n onEndDrag,\n field,\n dropTarget\n } = useFieldEditor();\n\n return (\n <Fragment>\n {fields.length === 0 && (\n <Center\n onDrop={item =>\n onFieldDrop(item, {\n row: 0,\n index: 0\n })\n }\n style={{ padding: \"5px 0 15px 0\" }}\n >\n {t`Drop your first field here`}\n </Center>\n )}\n\n {fields.map((row, index) => (\n <Draggable\n beginDrag={{\n parent: parent ? parent.fieldId : null,\n type: \"row\",\n fields: row,\n pos: { row: index }\n }}\n endDrag={onEndDrag}\n key={row.map(f => f.fieldId).join(\".\")}\n >\n {(\n {\n drag,\n isDragging\n } /* RowContainer start - includes drag handle, drop zones and the Row itself. */\n ) => (\n <RowContainer style={{ opacity: isDragging ? 0.3 : 1 }}>\n <div className={rowHandle} ref={drag}>\n <Icon icon={<HandleIcon />} />\n </div>\n <Horizontal\n data-testid={`cms-editor-row-droppable-top-${index}`}\n isVisible={noConflict()}\n onDrop={item => onFieldDrop(item, { row: index, index: null })}\n />\n {/* Row start - includes field drop zones and fields */}\n <Row data-testid={\"cms.editor.field-row\"}>\n {row.map((field, fieldIndex) => (\n <Draggable\n key={field.fieldId}\n beginDrag={{\n parent: parent ? parent.fieldId : null,\n type: \"field\",\n field,\n pos: {\n row: index,\n index: fieldIndex\n }\n }}\n endDrag={onEndDrag}\n >\n {({ drag }) => (\n <div className={fieldContainer} ref={drag}>\n <Vertical\n depth={depth}\n onDrop={item =>\n onFieldDrop(item, {\n row: index,\n index: fieldIndex\n })\n }\n isVisible={noConflict(\n item =>\n fieldTypes.includes(item.type) &&\n (row.length < 4 ||\n get(item, \"pos.row\") === index)\n )}\n />\n\n <div className={fieldHandle}>\n <Field\n parent={parent}\n field={field}\n onEdit={editField}\n onDelete={deleteField}\n />\n </div>\n\n {/* Field end */}\n {fieldIndex === row.length - 1 && (\n <Vertical\n last\n depth={depth}\n isVisible={noConflict(\n item =>\n fieldTypes.includes(item.type) &&\n (row.length < 4 ||\n get(item, \"pos.row\") === index)\n )}\n onDrop={item =>\n onFieldDrop(item, {\n row: index,\n index: fieldIndex + 1\n })\n }\n />\n )}\n </div>\n )}\n </Draggable>\n ))}\n </Row>\n {/* Row end */}\n {index === fields.length - 1 && (\n <Horizontal\n data-testid={`cms-editor-row-droppable-bottom-${index}`}\n last\n isVisible={noConflict()}\n onDrop={item =>\n onFieldDrop(item, {\n row: index + 1,\n index: null\n })\n }\n />\n )}\n </RowContainer>\n )}\n </Draggable>\n ))}\n\n <EditFieldDialog\n field={field}\n onClose={() => editField(null)}\n onSubmit={field => {\n if (field.id) {\n updateField(field);\n editField(null);\n return;\n }\n insertField({ field, position: dropTarget });\n\n editField(null);\n }}\n />\n </Fragment>\n );\n};\n\nexport interface FieldEditorProps {\n parent?: CmsEditorField;\n layout: CmsEditorFieldsLayout;\n fields: CmsEditorField[];\n onChange: (params: { fields: CmsEditorField[]; layout: CmsEditorFieldsLayout }) => void;\n}\n\nexport const FieldEditor: React.FC<FieldEditorProps> = props => {\n return (\n <FieldEditorProvider {...props}>\n <Editor />\n </FieldEditorProvider>\n );\n};\n"]}