@webiny/app-headless-cms 5.24.0 → 5.25.0-beta.2

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 (427) hide show
  1. package/HeadlessCMS.d.ts +4 -3
  2. package/HeadlessCMS.js.map +1 -0
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +27 -6
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -0
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +18 -2
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -0
  7. package/admin/components/ContentEntryForm/Fields.d.ts +1 -2
  8. package/admin/components/ContentEntryForm/Fields.js +1 -1
  9. package/admin/components/ContentEntryForm/Fields.js.map +1 -0
  10. package/admin/components/ContentEntryForm/Label.js.map +1 -0
  11. package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +1 -2
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -0
  13. package/admin/components/ContentEntryForm/functions/createValidators.d.ts +2 -1
  14. package/admin/components/ContentEntryForm/functions/createValidators.js +8 -5
  15. package/admin/components/ContentEntryForm/functions/createValidators.js.map +1 -0
  16. package/admin/components/ContentEntryForm/functions/getValue.d.ts +4 -3
  17. package/admin/components/ContentEntryForm/functions/getValue.js +0 -1
  18. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -0
  19. package/admin/components/ContentEntryForm/functions/setValue.d.ts +4 -3
  20. package/admin/components/ContentEntryForm/functions/setValue.js +0 -1
  21. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -0
  22. package/admin/components/ContentEntryForm/useBind.d.ts +3 -7
  23. package/admin/components/ContentEntryForm/useBind.js +6 -0
  24. package/admin/components/ContentEntryForm/useBind.js.map +1 -0
  25. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +2 -4
  26. package/admin/components/ContentEntryForm/useContentEntryForm.js +75 -26
  27. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -0
  28. package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -0
  29. package/admin/components/ContentModelEditor/Context.d.ts +9 -7
  30. package/admin/components/ContentModelEditor/Context.js +158 -36
  31. package/admin/components/ContentModelEditor/Context.js.map +1 -0
  32. package/admin/components/ContentModelEditor/Editor.d.ts +1 -1
  33. package/admin/components/ContentModelEditor/Editor.js +5 -3
  34. package/admin/components/ContentModelEditor/Editor.js.map +1 -0
  35. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -0
  36. package/admin/components/ContentModelEditor/Header.js.map +1 -0
  37. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -0
  38. package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +1 -1
  39. package/admin/components/ContentModelEditor/useContentModelEditor.js.map +1 -0
  40. package/admin/components/DragPreview.js +6 -1
  41. package/admin/components/DragPreview.js.map +1 -0
  42. package/admin/components/Draggable.js.map +1 -0
  43. package/admin/components/DropZone/Center.js.map +1 -0
  44. package/admin/components/DropZone/Horizontal.js +1 -1
  45. package/admin/components/DropZone/Horizontal.js.map +1 -0
  46. package/admin/components/DropZone/Vertical.js +1 -1
  47. package/admin/components/DropZone/Vertical.js.map +1 -0
  48. package/admin/components/DropZone/index.js.map +1 -0
  49. package/admin/components/Droppable.js.map +1 -0
  50. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -0
  51. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +14 -4
  52. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -0
  53. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +5 -1
  54. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -0
  55. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +9 -4
  56. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +13 -6
  57. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -0
  58. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.d.ts +2 -1
  59. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -0
  60. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.d.ts +2 -1
  61. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +0 -1
  62. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -0
  63. package/admin/components/FieldEditor/EditFieldDialog.d.ts +1 -1
  64. package/admin/components/FieldEditor/EditFieldDialog.js +35 -18
  65. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -0
  66. package/admin/components/FieldEditor/Field.js +2 -2
  67. package/admin/components/FieldEditor/Field.js.map +1 -0
  68. package/admin/components/FieldEditor/FieldEditor.js.map +1 -0
  69. package/admin/components/FieldEditor/FieldEditorContext.d.ts +9 -9
  70. package/admin/components/FieldEditor/FieldEditorContext.js +43 -15
  71. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -0
  72. package/admin/components/FieldEditor/Styled.d.ts +2 -3
  73. package/admin/components/FieldEditor/Styled.js.map +1 -0
  74. package/admin/components/FieldEditor/index.js.map +1 -0
  75. package/admin/components/FieldEditor/useFieldEditor.js.map +1 -0
  76. package/admin/components/FieldEditor/utils/deleteField.d.ts +5 -5
  77. package/admin/components/FieldEditor/utils/deleteField.js +4 -0
  78. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -0
  79. package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
  80. package/admin/components/FieldEditor/utils/getFieldPosition.js +3 -2
  81. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -0
  82. package/admin/components/FieldEditor/utils/index.js.map +1 -0
  83. package/admin/components/FieldEditor/utils/moveField.d.ts +2 -2
  84. package/admin/components/FieldEditor/utils/moveField.js +3 -1
  85. package/admin/components/FieldEditor/utils/moveField.js.map +1 -0
  86. package/admin/components/FieldEditor/utils/moveRow.js.map +1 -0
  87. package/admin/constants/statusLabels.js.map +1 -0
  88. package/admin/contexts/Cms/NetworkError.js.map +1 -0
  89. package/admin/contexts/Cms/index.js +22 -7
  90. package/admin/contexts/Cms/index.js.map +1 -0
  91. package/admin/elements/ContentGroupMenuElement.js.map +1 -0
  92. package/admin/elements/ContentModelMenuElement.js.map +1 -0
  93. package/admin/elements/NothingToShowElement.js.map +1 -0
  94. package/admin/graphql/contentEntries.d.ts +8 -8
  95. package/admin/graphql/contentEntries.js.map +1 -0
  96. package/admin/graphql/contentModels.d.ts +2 -2
  97. package/admin/graphql/contentModels.js.map +1 -0
  98. package/admin/graphql/createFieldsList.js.map +1 -0
  99. package/admin/hooks/index.js.map +1 -0
  100. package/admin/hooks/useApolloClient.js.map +1 -0
  101. package/admin/hooks/useCms.js.map +1 -0
  102. package/admin/hooks/useLazyQuery.d.ts +2 -1
  103. package/admin/hooks/useLazyQuery.js.map +1 -0
  104. package/admin/hooks/useMutation.d.ts +2 -1
  105. package/admin/hooks/useMutation.js.map +1 -0
  106. package/admin/hooks/usePermission.js +20 -19
  107. package/admin/hooks/usePermission.js.map +1 -0
  108. package/admin/hooks/useQuery.d.ts +2 -2
  109. package/admin/hooks/useQuery.js.map +1 -0
  110. package/admin/hooks/useQueryLocale.d.ts +2 -2
  111. package/admin/hooks/useQueryLocale.js.map +1 -0
  112. package/admin/menus/CmsMenuLoader.js.map +1 -0
  113. package/admin/menus/ContentGroupsMenuItems.js +1 -1
  114. package/admin/menus/ContentGroupsMenuItems.js.map +1 -0
  115. package/admin/menus/GlobalSearchPlugins.d.ts +0 -1
  116. package/admin/menus/GlobalSearchPlugins.js +1 -1
  117. package/admin/menus/GlobalSearchPlugins.js.map +1 -0
  118. package/admin/menus/NothingToShowElement.js.map +1 -0
  119. package/admin/plugins/apiInformation/index.js +3 -3
  120. package/admin/plugins/apiInformation/index.js.map +1 -0
  121. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -0
  122. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -0
  123. package/admin/plugins/editor/defaultBar/BackButton.js +4 -2
  124. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -0
  125. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -0
  126. package/admin/plugins/editor/defaultBar/Divider.d.ts +1 -2
  127. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -0
  128. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +11 -1
  129. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -0
  130. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -0
  131. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +2 -2
  132. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -0
  133. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -0
  134. package/admin/plugins/editor/defaultBar/Name/Name.js +1 -1
  135. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -0
  136. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +3 -4
  137. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -0
  138. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -0
  139. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +37 -32
  140. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -0
  141. package/admin/plugins/editor/defaultBar/index.d.ts +0 -1
  142. package/admin/plugins/editor/defaultBar/index.js.map +1 -0
  143. package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +0 -1
  144. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -0
  145. package/admin/plugins/editor/formSettings/components/GroupSelect.d.ts +0 -1
  146. package/admin/plugins/editor/formSettings/components/GroupSelect.js +1 -1
  147. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -0
  148. package/admin/plugins/editor/formSettings/index.js.map +1 -0
  149. package/admin/plugins/fieldRenderers/Accordion.d.ts +1 -1
  150. package/admin/plugins/fieldRenderers/Accordion.js +1 -1
  151. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -0
  152. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +7 -1
  153. package/admin/plugins/fieldRenderers/DynamicSection.js +7 -4
  154. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -0
  155. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +0 -1
  156. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -0
  157. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -0
  158. package/admin/plugins/fieldRenderers/checkboxes.js +11 -6
  159. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -0
  160. package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -1
  161. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +40 -9
  162. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -0
  163. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
  164. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +74 -18
  165. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -0
  166. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
  167. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +72 -16
  168. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -0
  169. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -0
  170. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -0
  171. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -0
  172. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +4 -4
  173. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -0
  174. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +15 -10
  175. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -0
  176. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -0
  177. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +3 -3
  178. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -0
  179. package/admin/plugins/fieldRenderers/file/File.d.ts +4 -4
  180. package/admin/plugins/fieldRenderers/file/File.js +9 -3
  181. package/admin/plugins/fieldRenderers/file/File.js.map +1 -0
  182. package/admin/plugins/fieldRenderers/file/fileField.js +4 -4
  183. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -0
  184. package/admin/plugins/fieldRenderers/file/fileFields.js +10 -5
  185. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -0
  186. package/admin/plugins/fieldRenderers/file/index.js.map +1 -0
  187. package/admin/plugins/fieldRenderers/file/utils.d.ts +0 -1
  188. package/admin/plugins/fieldRenderers/file/utils.js +2 -2
  189. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -0
  190. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -0
  191. package/admin/plugins/fieldRenderers/longText/longText.js +0 -1
  192. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -0
  193. package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -1
  194. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -0
  195. package/admin/plugins/fieldRenderers/number/index.js.map +1 -0
  196. package/admin/plugins/fieldRenderers/number/numberInput.js +0 -1
  197. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -0
  198. package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -1
  199. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -0
  200. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -0
  201. package/admin/plugins/fieldRenderers/object/index.js.map +1 -0
  202. package/admin/plugins/fieldRenderers/object/multipleObjects.js +5 -5
  203. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -0
  204. package/admin/plugins/fieldRenderers/object/singleObject.js +3 -2
  205. package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -0
  206. package/admin/plugins/fieldRenderers/radioButtons.js +11 -5
  207. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -0
  208. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -1
  209. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +2 -4
  210. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -0
  211. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -1
  212. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -0
  213. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.d.ts +3 -2
  214. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -0
  215. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +14 -8
  216. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -0
  217. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -0
  218. package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +4 -3
  219. package/admin/plugins/fieldRenderers/ref/components/getOptions.js +1 -1
  220. package/admin/plugins/fieldRenderers/ref/components/getOptions.js.map +1 -0
  221. package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +4 -14
  222. package/admin/plugins/fieldRenderers/ref/components/graphql.js +1 -1
  223. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -0
  224. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -0
  225. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +6 -11
  226. package/admin/plugins/fieldRenderers/ref/components/useReference.js +4 -3
  227. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -0
  228. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +3 -9
  229. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +1 -2
  230. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -0
  231. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -3
  232. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -0
  233. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +6 -1
  234. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -0
  235. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -0
  236. package/admin/plugins/fieldRenderers/ref/refInput.js +0 -1
  237. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -0
  238. package/admin/plugins/fieldRenderers/ref/refInputs.js +1 -2
  239. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -0
  240. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -0
  241. package/admin/plugins/fieldRenderers/richText/richTextInput.js +5 -1
  242. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -0
  243. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +9 -3
  244. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -0
  245. package/admin/plugins/fieldRenderers/select.js +28 -7
  246. package/admin/plugins/fieldRenderers/select.js.map +1 -0
  247. package/admin/plugins/fieldRenderers/text/index.js.map +1 -0
  248. package/admin/plugins/fieldRenderers/text/textInput.js +0 -1
  249. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -0
  250. package/admin/plugins/fieldRenderers/text/textInputs.js +1 -1
  251. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -0
  252. package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -1
  253. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -0
  254. package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +0 -1
  255. package/admin/plugins/fieldValidators/date/createDateInputField.js +5 -3
  256. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -0
  257. package/admin/plugins/fieldValidators/dateGte.js +1 -1
  258. package/admin/plugins/fieldValidators/dateGte.js.map +1 -0
  259. package/admin/plugins/fieldValidators/dateLte.js +1 -1
  260. package/admin/plugins/fieldValidators/dateLte.js.map +1 -0
  261. package/admin/plugins/fieldValidators/gte.js.map +1 -0
  262. package/admin/plugins/fieldValidators/in.js.map +1 -0
  263. package/admin/plugins/fieldValidators/lte.js.map +1 -0
  264. package/admin/plugins/fieldValidators/maxLength.js.map +1 -0
  265. package/admin/plugins/fieldValidators/minLength.js.map +1 -0
  266. package/admin/plugins/fieldValidators/pattern.js +6 -0
  267. package/admin/plugins/fieldValidators/pattern.js.map +1 -0
  268. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -0
  269. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -0
  270. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -0
  271. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -0
  272. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -0
  273. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -0
  274. package/admin/plugins/fieldValidators/required.js.map +1 -0
  275. package/admin/plugins/fieldValidators/unique.js.map +1 -0
  276. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -0
  277. package/admin/plugins/fields/boolean.js.map +1 -0
  278. package/admin/plugins/fields/dateTime.js.map +1 -0
  279. package/admin/plugins/fields/file.js +2 -2
  280. package/admin/plugins/fields/file.js.map +1 -0
  281. package/admin/plugins/fields/longText.js.map +1 -0
  282. package/admin/plugins/fields/number.js.map +1 -0
  283. package/admin/plugins/fields/object/ObjectFields.js +2 -2
  284. package/admin/plugins/fields/object/ObjectFields.js.map +1 -0
  285. package/admin/plugins/fields/object.js +1 -1
  286. package/admin/plugins/fields/object.js.map +1 -0
  287. package/admin/plugins/fields/ref.js +5 -5
  288. package/admin/plugins/fields/ref.js.map +1 -0
  289. package/admin/plugins/fields/richText.js.map +1 -0
  290. package/admin/plugins/fields/text.js.map +1 -0
  291. package/admin/plugins/getObjectId.js.map +1 -0
  292. package/admin/plugins/icons.js +10 -3
  293. package/admin/plugins/icons.js.map +1 -0
  294. package/admin/plugins/index.d.ts +0 -1
  295. package/admin/plugins/index.js.map +1 -0
  296. package/admin/plugins/install.js +11 -7
  297. package/admin/plugins/install.js.map +1 -0
  298. package/admin/plugins/permissionRenderer/CmsPermissions.js +14 -9
  299. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -0
  300. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +2 -2
  301. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +7 -6
  302. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -0
  303. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +2 -2
  304. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +7 -6
  305. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -0
  306. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -0
  307. package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +2 -2
  308. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +7 -6
  309. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -0
  310. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -0
  311. package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +1 -1
  312. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +13 -1
  313. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -0
  314. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +1 -2
  315. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -0
  316. package/admin/plugins/permissionRenderer/components/types.js.map +1 -0
  317. package/admin/plugins/permissionRenderer/components/useCmsData.js +4 -6
  318. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -0
  319. package/admin/plugins/permissionRenderer/index.js.map +1 -0
  320. package/admin/plugins/routes.js.map +1 -0
  321. package/admin/plugins/transformers/dateTransformer.js +20 -24
  322. package/admin/plugins/transformers/dateTransformer.js.map +1 -0
  323. package/admin/plugins/transformers/index.js.map +1 -0
  324. package/admin/plugins/transformers/numberTransformer.js.map +1 -0
  325. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.d.ts +1 -1
  326. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -0
  327. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.d.ts +2 -2
  328. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -0
  329. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -0
  330. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -0
  331. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -0
  332. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -0
  333. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.d.ts +2 -2
  334. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -0
  335. package/admin/plugins/upgrades/5.19.0/types.js.map +1 -0
  336. package/admin/plugins/upgrades/v5.0.0.d.ts +0 -1
  337. package/admin/plugins/upgrades/v5.0.0.js.map +1 -0
  338. package/admin/plugins/upgrades/v5.19.0.d.ts +0 -1
  339. package/admin/plugins/upgrades/v5.19.0.js.map +1 -0
  340. package/admin/plugins/upgrades/v5.5.0.d.ts +0 -1
  341. package/admin/plugins/upgrades/v5.5.0.js.map +1 -0
  342. package/admin/plugins/upgrades/v5.8.0.d.ts +0 -1
  343. package/admin/plugins/upgrades/v5.8.0.js.map +1 -0
  344. package/admin/plugins/validators/dateGte.js.map +1 -0
  345. package/admin/plugins/validators/dateLte.js.map +1 -0
  346. package/admin/plugins/validators/gte.js.map +1 -0
  347. package/admin/plugins/validators/in.js.map +1 -0
  348. package/admin/plugins/validators/lte.js.map +1 -0
  349. package/admin/plugins/validators/maxLength.js.map +1 -0
  350. package/admin/plugins/validators/minLength.js.map +1 -0
  351. package/admin/plugins/validators/pattern.js.map +1 -0
  352. package/admin/plugins/validators/patternPlugins/email.js.map +1 -0
  353. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
  354. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  355. package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -0
  356. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  357. package/admin/plugins/validators/patternPlugins/url.js.map +1 -0
  358. package/admin/plugins/validators/required.js.map +1 -0
  359. package/admin/plugins/validators/timeGte.js.map +1 -0
  360. package/admin/plugins/validators/timeLte.js.map +1 -0
  361. package/admin/plugins/validators/unique.js.map +1 -0
  362. package/admin/plugins/welcomeScreenWidget.js.map +1 -0
  363. package/admin/views/contentEntries/ContentEntries.js +2 -2
  364. package/admin/views/contentEntries/ContentEntries.js.map +1 -0
  365. package/admin/views/contentEntries/ContentEntriesContext.js +13 -4
  366. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -0
  367. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -0
  368. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +10 -7
  369. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +85 -4
  370. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -0
  371. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +4 -2
  372. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -0
  373. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -0
  374. package/admin/views/contentEntries/ContentEntry/cache.js +19 -23
  375. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -0
  376. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -0
  377. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +15 -8
  378. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -0
  379. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -0
  380. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -2
  381. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -0
  382. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -0
  383. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +8 -7
  384. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -0
  385. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +2 -2
  386. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -0
  387. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +2 -2
  388. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -0
  389. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -1
  390. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -0
  391. package/admin/views/contentEntries/ContentEntry/useRevision.js +105 -47
  392. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -0
  393. package/admin/views/contentEntries/ContentEntry.js.map +1 -0
  394. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -0
  395. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -2
  396. package/admin/views/contentEntries/hooks/useContentEntriesList.js +4 -4
  397. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -0
  398. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -0
  399. package/admin/views/contentModelGroups/ContentModelGroups.js +4 -3
  400. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -0
  401. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +6 -3
  402. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -0
  403. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +23 -8
  404. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -0
  405. package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -0
  406. package/admin/views/contentModelGroups/IconPicker.js +11 -3
  407. package/admin/views/contentModelGroups/IconPicker.js.map +1 -0
  408. package/admin/views/contentModelGroups/graphql.js.map +1 -0
  409. package/admin/views/contentModels/CloneContentModelDialog.js +25 -34
  410. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -0
  411. package/admin/views/contentModels/ContentModelEditor.js +2 -2
  412. package/admin/views/contentModels/ContentModelEditor.js.map +1 -0
  413. package/admin/views/contentModels/ContentModels.js +5 -4
  414. package/admin/views/contentModels/ContentModels.js.map +1 -0
  415. package/admin/views/contentModels/ContentModelsDataList.js +9 -2
  416. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -0
  417. package/admin/views/contentModels/NewContentModelDialog.js +17 -3
  418. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -0
  419. package/admin/views/contentModels/cache.js +38 -12
  420. package/admin/views/contentModels/cache.js.map +1 -0
  421. package/admin/views/contentModels/types.js.map +1 -0
  422. package/admin/views/utils.js.map +1 -0
  423. package/admin/viewsGraphql.js.map +1 -0
  424. package/index.js.map +1 -0
  425. package/package.json +26 -25
  426. package/types.d.ts +41 -7
  427. package/types.js.map +1 -0
package/HeadlessCMS.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
2
  import { ApolloClient } from "apollo-client";
3
+ interface CreateApolloClientParams {
4
+ uri: string;
5
+ }
3
6
  interface CreateApolloClient {
4
- (params: {
5
- uri: string;
6
- }): ApolloClient<any>;
7
+ (params: CreateApolloClientParams): ApolloClient<any>;
7
8
  }
8
9
  export interface HeadlessCMSProps {
9
10
  createApolloClient: CreateApolloClient;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["HeadlessCMS.tsx"],"names":["React","Fragment","memo","plugins","Plugins","Provider","CmsProvider","CmsMenuLoader","apiInformation","createHeadlessCMSProvider","createApolloClient","Component","HeadlessCMSProvider","children","HeadlessCMSExtension","register","HeadlessCMS"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,IAA1B,QAAsC,OAAtC;AACA,SAASC,OAAT,QAAwB,iBAAxB;AACA,SAASC,OAAT,EAAkBC,QAAlB,QAAkC,mBAAlC;AAEA,SAASC,WAAT;AACA,SAASC,aAAT;AACA,OAAOC,cAAP;;AAEA,IAAMC,yBAAyB,GAC3B,SADEA,yBACF,CAACC,kBAAD;AAAA,SACA,UAACC,SAAD,EAAmC;AAC/B,WAAO,SAASC,mBAAT,OAA2C;AAAA,UAAZC,QAAY,QAAZA,QAAY;AAC9C,0BACI,oBAAC,WAAD;AAAa,QAAA,kBAAkB,EAAEH;AAAjC,sBACI,oBAAC,SAAD,QAAYG,QAAZ,CADJ,CADJ;AAKH,KAND;AAOH,GATD;AAAA,CADJ;;AAuBA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,QAA8C;AAAA,MAA3CJ,kBAA2C,SAA3CA,kBAA2C;AACvEP,EAAAA,OAAO,CAACY,QAAR,CAAiBP,cAAjB;AAEA,sBACI,oBAAC,QAAD,qBACI,oBAAC,QAAD;AAAU,IAAA,GAAG,EAAEC,yBAAyB,CAACC,kBAAD;AAAxC,IADJ,eAEI,oBAAC,OAAD,qBACI,oBAAC,aAAD,OADJ,CAFJ,CADJ;AAQH,CAXD;;AAaA,OAAO,IAAMM,WAAW,gBAAGd,IAAI,CAACY,oBAAD,CAAxB","sourcesContent":["import React, { Fragment, memo } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Plugins, Provider } from \"@webiny/app-admin\";\nimport { ApolloClient } from \"apollo-client\";\nimport { CmsProvider } from \"./admin/contexts/Cms\";\nimport { CmsMenuLoader } from \"~/admin/menus/CmsMenuLoader\";\nimport apiInformation from \"./admin/plugins/apiInformation\";\n\nconst createHeadlessCMSProvider =\n (createApolloClient: CreateApolloClient) =>\n (Component: React.FC): React.FC => {\n return function HeadlessCMSProvider({ children }) {\n return (\n <CmsProvider createApolloClient={createApolloClient}>\n <Component>{children}</Component>\n </CmsProvider>\n );\n };\n };\n\ninterface CreateApolloClientParams {\n uri: string;\n}\ninterface CreateApolloClient {\n (params: CreateApolloClientParams): ApolloClient<any>;\n}\n\nexport interface HeadlessCMSProps {\n createApolloClient: CreateApolloClient;\n}\n\nconst HeadlessCMSExtension = ({ createApolloClient }: HeadlessCMSProps) => {\n plugins.register(apiInformation);\n\n return (\n <Fragment>\n <Provider hoc={createHeadlessCMSProvider(createApolloClient)} />\n <Plugins>\n <CmsMenuLoader />\n </Plugins>\n </Fragment>\n );\n};\n\nexport const HeadlessCMS = memo(HeadlessCMSExtension);\n"]}
@@ -2,11 +2,11 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["onForm"];
4
4
  import React, { useCallback, useEffect, useRef } from "react";
5
+ import RenderFieldElement from "./RenderFieldElement";
5
6
  import styled from "@emotion/styled";
6
7
  import { Form } from "@webiny/form";
7
8
  import { plugins } from "@webiny/plugins";
8
9
  import { CircularProgress } from "@webiny/ui/Progress";
9
- import RenderFieldElement from "./RenderFieldElement";
10
10
  import { useContentEntryForm } from "./useContentEntryForm";
11
11
  import { Fields } from "./Fields";
12
12
  var FormWrapper = /*#__PURE__*/styled("div", {
@@ -31,13 +31,21 @@ export var ContentEntryForm = function ContentEntryForm(_ref) {
31
31
 
32
32
  var ref = useRef(null);
33
33
  useEffect(function () {
34
- typeof onForm === "function" && onForm(ref.current);
34
+ if (typeof onForm !== "function" || !ref.current) {
35
+ return;
36
+ }
37
+
38
+ onForm(ref.current);
35
39
  }, []);
36
40
  var formRenderer = plugins.byType("cms-content-form-renderer").find(function (pl) {
37
41
  return pl.modelId === contentModel.modelId;
38
42
  });
39
43
  var renderCustomLayout = useCallback(function (formRenderProps) {
40
44
  var fields = contentModel.fields.reduce(function (acc, field) {
45
+ /**
46
+ * TODO @ts-refactor
47
+ * Figure out type for Bind.
48
+ */
41
49
  acc[field.fieldId] = /*#__PURE__*/React.createElement(RenderFieldElement, {
42
50
  field: field,
43
51
  Bind: formRenderProps.Bind,
@@ -45,9 +53,20 @@ export var ContentEntryForm = function ContentEntryForm(_ref) {
45
53
  });
46
54
  return acc;
47
55
  }, {});
56
+
57
+ if (!formRenderer) {
58
+ return /*#__PURE__*/React.createElement(React.Fragment, null, "Missing form renderer for modelId \"".concat(contentModel.modelId, "\"."));
59
+ }
60
+
48
61
  return formRenderer.render(_objectSpread(_objectSpread({}, formRenderProps), {}, {
49
62
  contentModel: contentModel,
50
- fields: fields
63
+ fields: fields,
64
+
65
+ /**
66
+ * TODO @ts-refactor
67
+ * Figure out type for Bind.
68
+ */
69
+ Bind: formRenderProps.Bind
51
70
  }));
52
71
  }, [formRenderer]);
53
72
  return /*#__PURE__*/React.createElement(Form, {
@@ -61,8 +80,10 @@ export var ContentEntryForm = function ContentEntryForm(_ref) {
61
80
  "data-testid": "cms-content-form"
62
81
  }, loading && /*#__PURE__*/React.createElement(CircularProgress, null), formRenderer ? renderCustomLayout(formProps) : /*#__PURE__*/React.createElement(Fields, Object.assign({
63
82
  contentModel: contentModel,
64
- fields: contentModel.fields,
65
- layout: contentModel.layout
66
- }, formProps)));
83
+ fields: contentModel.fields || [],
84
+ layout: contentModel.layout || []
85
+ }, formProps, {
86
+ Bind: formProps.Bind
87
+ })));
67
88
  });
68
89
  };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ContentEntryForm.tsx"],"names":["React","useCallback","useEffect","useRef","RenderFieldElement","styled","Form","plugins","CircularProgress","useContentEntryForm","Fields","FormWrapper","height","overflow","ContentEntryForm","onForm","props","contentModel","loading","data","onChange","onSubmit","invalidFields","ref","current","formRenderer","byType","find","pl","modelId","renderCustomLayout","formRenderProps","fields","reduce","acc","field","fieldId","Bind","render","formProps","layout"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useRef } from \"react\";\nimport RenderFieldElement from \"./RenderFieldElement\";\nimport styled from \"@emotion/styled\";\nimport { Form } from \"@webiny/form\";\nimport { FormAPI, FormRenderPropParams } from \"@webiny/form/types\";\nimport { plugins } from \"@webiny/plugins\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { CmsContentFormRendererPlugin } from \"~/types\";\nimport { useContentEntryForm, UseContentEntryFormParams } from \"./useContentEntryForm\";\nimport { Fields } from \"./Fields\";\n\nconst FormWrapper = styled(\"div\")({\n height: \"calc(100vh - 260px)\",\n overflow: \"auto\"\n});\n\ninterface ContentEntryFormProps extends UseContentEntryFormParams {\n onForm?: (form: FormAPI) => void;\n}\n\nexport const ContentEntryForm: React.FC<ContentEntryFormProps> = ({ onForm, ...props }) => {\n const { contentModel } = props;\n const { loading, data, onChange, onSubmit, invalidFields } = useContentEntryForm(props);\n\n const ref = useRef<FormAPI | null>(null);\n\n useEffect(() => {\n if (typeof onForm !== \"function\" || !ref.current) {\n return;\n }\n onForm(ref.current);\n }, []);\n\n const formRenderer = plugins\n .byType<CmsContentFormRendererPlugin>(\"cms-content-form-renderer\")\n .find(pl => pl.modelId === contentModel.modelId);\n\n const renderCustomLayout = useCallback(\n (formRenderProps: FormRenderPropParams) => {\n const fields = contentModel.fields.reduce((acc, field) => {\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n acc[field.fieldId] = (\n <RenderFieldElement\n field={field}\n Bind={formRenderProps.Bind as any}\n contentModel={contentModel}\n />\n );\n\n return acc;\n }, {} as Record<string, React.ReactElement>);\n if (!formRenderer) {\n return <>{`Missing form renderer for modelId \"${contentModel.modelId}\".`}</>;\n }\n return formRenderer.render({\n ...formRenderProps,\n contentModel,\n fields,\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n Bind: formRenderProps.Bind as any\n });\n },\n [formRenderer]\n );\n\n return (\n <Form\n onChange={onChange}\n onSubmit={onSubmit}\n data={data}\n ref={ref}\n invalidFields={invalidFields}\n >\n {formProps => (\n <FormWrapper data-testid={\"cms-content-form\"}>\n {loading && <CircularProgress />}\n {formRenderer ? (\n renderCustomLayout(formProps)\n ) : (\n <Fields\n contentModel={contentModel}\n fields={contentModel.fields || []}\n layout={contentModel.layout || []}\n {...formProps}\n Bind={formProps.Bind as any}\n />\n )}\n </FormWrapper>\n )}\n </Form>\n );\n};\n"]}
@@ -19,6 +19,10 @@ export var ContentEntryFormPreview = function ContentEntryFormPreview(props) {
19
19
  });
20
20
  var renderCustomLayout = useCallback(function (formRenderProps) {
21
21
  var fields = contentModel.fields.reduce(function (acc, field) {
22
+ /**
23
+ * TODO @ts-refactor
24
+ * Figure out type for Bind.
25
+ */
22
26
  acc[field.fieldId] = /*#__PURE__*/React.createElement(RenderFieldElement, {
23
27
  field: field,
24
28
  Bind: formRenderProps.Bind,
@@ -26,7 +30,17 @@ export var ContentEntryFormPreview = function ContentEntryFormPreview(props) {
26
30
  });
27
31
  return acc;
28
32
  }, {});
33
+
34
+ if (!formRenderer) {
35
+ return /*#__PURE__*/React.createElement(React.Fragment, null, "Missing form renderer for modelId \"".concat(contentModel.modelId, "\"."));
36
+ }
37
+
29
38
  return formRenderer.render(_objectSpread(_objectSpread({}, formRenderProps), {}, {
39
+ /**
40
+ * TODO @ts-refactor
41
+ * Figure out type for Bind.
42
+ */
43
+ Bind: formRenderProps.Bind,
30
44
  contentModel: contentModel,
31
45
  fields: fields
32
46
  }));
@@ -37,7 +51,9 @@ export var ContentEntryFormPreview = function ContentEntryFormPreview(props) {
37
51
  }, formRenderer ? renderCustomLayout(formProps) : /*#__PURE__*/React.createElement(Fields, Object.assign({
38
52
  contentModel: contentModel,
39
53
  fields: contentModel.fields,
40
- layout: contentModel.layout
41
- }, formProps)));
54
+ layout: contentModel.layout || []
55
+ }, formProps, {
56
+ Bind: formProps.Bind
57
+ })));
42
58
  });
43
59
  };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ContentEntryFormPreview.tsx"],"names":["React","useCallback","styled","Form","plugins","RenderFieldElement","Fields","FormWrapper","height","overflow","ContentEntryFormPreview","props","contentModel","formRenderer","byType","find","pl","modelId","renderCustomLayout","formRenderProps","fields","reduce","acc","field","fieldId","Bind","render","formProps","layout"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,IAAT,QAA2C,cAA3C;AACA,SAASC,OAAT,QAAwB,iBAAxB;AACA,OAAOC,kBAAP;AAEA,SAASC,MAAT;AAEA,IAAMC,WAAW,gBAAGL,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AAC9BM,EAAAA,MAAM,EAAE,qBADsB;AAE9BC,EAAAA,QAAQ,EAAE;AAFoB,CAAjB,CAAjB;AASA,OAAO,IAAMC,uBAAwC,GAAG,SAA3CA,uBAA2C,CAAAC,KAAK,EAAI;AAC7D,MAAQC,YAAR,GAAyBD,KAAzB,CAAQC,YAAR;AAEA,MAAMC,YAAY,GAAGT,OAAO,CACvBU,MADgB,CACqB,2BADrB,EAEhBC,IAFgB,CAEX,UAAAC,EAAE;AAAA,WAAIA,EAAE,CAACC,OAAH,KAAeL,YAAY,CAACK,OAAhC;AAAA,GAFS,CAArB;AAIA,MAAMC,kBAAkB,GAAGjB,WAAW,CAClC,UAACkB,eAAD,EAA2C;AACvC,QAAMC,MAAM,GAAGR,YAAY,CAACQ,MAAb,CAAoBC,MAApB,CAA2B,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtD;AAChB;AACA;AACA;AACgBD,MAAAA,GAAG,CAACC,KAAK,CAACC,OAAP,CAAH,gBACI,oBAAC,kBAAD;AACI,QAAA,KAAK,EAAED,KADX;AAEI,QAAA,IAAI,EAAEJ,eAAe,CAACM,IAF1B;AAGI,QAAA,YAAY,EAAEb;AAHlB,QADJ;AAQA,aAAOU,GAAP;AACH,KAdc,EAcZ,EAdY,CAAf;;AAeA,QAAI,CAACT,YAAL,EAAmB;AACf,0BAAO,wFAAyCD,YAAY,CAACK,OAAtD,SAAP;AACH;;AACD,WAAOJ,YAAY,CAACa,MAAb,iCACAP,eADA;AAEH;AAChB;AACA;AACA;AACgBM,MAAAA,IAAI,EAAEN,eAAe,CAACM,IANnB;AAOHb,MAAAA,YAAY,EAAZA,YAPG;AAQHQ,MAAAA,MAAM,EAANA;AARG,OAAP;AAUH,GA9BiC,EA+BlC,CAACP,YAAD,EAAeD,YAAY,CAACQ,MAA5B,CA/BkC,CAAtC;AAkCA,sBACI,oBAAC,IAAD,QACK,UAAAO,SAAS;AAAA,wBACN,oBAAC,WAAD;AAAa,qBAAa;AAA1B,OACKd,YAAY,GACTK,kBAAkB,CAACS,SAAD,CADT,gBAGT,oBAAC,MAAD;AACI,MAAA,YAAY,EAAEf,YADlB;AAEI,MAAA,MAAM,EAAEA,YAAY,CAACQ,MAFzB;AAGI,MAAA,MAAM,EAAER,YAAY,CAACgB,MAAb,IAAuB;AAHnC,OAIQD,SAJR;AAKI,MAAA,IAAI,EAAEA,SAAS,CAACF;AALpB,OAJR,CADM;AAAA,GADd,CADJ;AAmBH,CA5DM","sourcesContent":["import React, { useCallback } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Form, FormRenderPropParams } from \"@webiny/form\";\nimport { plugins } from \"@webiny/plugins\";\nimport RenderFieldElement from \"./RenderFieldElement\";\nimport { CmsContentFormRendererPlugin, CmsEditorContentModel } from \"~/types\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\n\nconst FormWrapper = styled(\"div\")({\n height: \"calc(100vh - 260px)\",\n overflow: \"auto\"\n});\n\ninterface Props {\n contentModel: CmsEditorContentModel;\n}\n\nexport const ContentEntryFormPreview: React.FC<Props> = props => {\n const { contentModel } = props;\n\n const formRenderer = plugins\n .byType<CmsContentFormRendererPlugin>(\"cms-content-form-renderer\")\n .find(pl => pl.modelId === contentModel.modelId);\n\n const renderCustomLayout = useCallback(\n (formRenderProps: FormRenderPropParams) => {\n const fields = contentModel.fields.reduce((acc, field) => {\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n acc[field.fieldId] = (\n <RenderFieldElement\n field={field}\n Bind={formRenderProps.Bind as any}\n contentModel={contentModel}\n />\n );\n\n return acc;\n }, {} as Record<string, React.ReactElement>);\n if (!formRenderer) {\n return <>{`Missing form renderer for modelId \"${contentModel.modelId}\".`}</>;\n }\n return formRenderer.render({\n ...formRenderProps,\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n Bind: formRenderProps.Bind as any,\n contentModel,\n fields\n });\n },\n [formRenderer, contentModel.fields]\n );\n\n return (\n <Form>\n {formProps => (\n <FormWrapper data-testid={\"cms-content-form\"}>\n {formRenderer ? (\n renderCustomLayout(formProps)\n ) : (\n <Fields\n contentModel={contentModel}\n fields={contentModel.fields}\n layout={contentModel.layout || []}\n {...formProps}\n Bind={formProps.Bind as any}\n />\n )}\n </FormWrapper>\n )}\n </Form>\n );\n};\n"]}
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- import { BindComponent } from "@webiny/form";
3
- import { CmsEditorContentModel, CmsEditorField, CmsEditorFieldsLayout } from "../../../types";
2
+ import { CmsEditorContentModel, CmsEditorField, CmsEditorFieldsLayout, BindComponent } from "../../../types";
4
3
  interface FieldsProps {
5
4
  Bind: BindComponent;
6
5
  contentModel: CmsEditorContentModel;
@@ -5,7 +5,7 @@ import RenderFieldElement from "./RenderFieldElement";
5
5
  var getFieldById = function getFieldById(fields, id) {
6
6
  return fields.find(function (field) {
7
7
  return field.id === id;
8
- });
8
+ }) || null;
9
9
  };
10
10
 
11
11
  export var Fields = function Fields(_ref) {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Fields.tsx"],"names":["React","Cell","Grid","RenderFieldElement","getFieldById","fields","id","find","field","Fields","Bind","layout","contentModel","gridClassName","map","row","rowIndex","fieldId","Math","floor","length"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,OAAOC,kBAAP;;AAgBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,MAAD,EAA2BC,EAA3B,EAAiE;AAClF,SAAOD,MAAM,CAACE,IAAP,CAAY,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,EAAN,KAAaA,EAAjB;AAAA,GAAjB,KAAyC,IAAhD;AACH,CAFD;;AAIA,OAAO,IAAMG,MAA6B,GAAG,SAAhCA,MAAgC,OAMvC;AAAA,MALFC,IAKE,QALFA,IAKE;AAAA,MAJFL,MAIE,QAJFA,MAIE;AAAA,MAHFM,MAGE,QAHFA,MAGE;AAAA,MAFFC,YAEE,QAFFA,YAEE;AAAA,MADFC,aACE,QADFA,aACE;AACF,sBACI,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEA;AAAjB,KACKF,MAAM,CAACG,GAAP,CAAW,UAACC,GAAD,EAAMC,QAAN;AAAA,wBACR,oBAAC,KAAD,CAAO,QAAP;AAAgB,MAAA,GAAG,EAAEA;AAArB,OACKD,GAAG,CAACD,GAAJ,CAAQ,UAAAG,OAAO;AAAA,0BACZ,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAEC,IAAI,CAACC,KAAL,CAAW,KAAKJ,GAAG,CAACK,MAApB,CAAZ;AAAyC,QAAA,GAAG,EAAEH;AAA9C,sBACI,oBAAC,kBAAD;AACI,QAAA,KAAK,EAAEb,YAAY,CAACC,MAAD,EAASY,OAAT,CADvB;AAEI,QAAA,IAAI,EAAEP,IAFV;AAGI,QAAA,YAAY,EAAEE;AAHlB,QADJ,CADY;AAAA,KAAf,CADL,CADQ;AAAA,GAAX,CADL,CADJ;AAiBH,CAxBM","sourcesContent":["import React from \"react\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport RenderFieldElement from \"./RenderFieldElement\";\nimport {\n CmsEditorContentModel,\n CmsEditorField,\n CmsEditorFieldsLayout,\n BindComponent\n} from \"~/types\";\n\ninterface FieldsProps {\n Bind: BindComponent;\n contentModel: CmsEditorContentModel;\n fields: CmsEditorField[];\n layout: CmsEditorFieldsLayout;\n gridClassName?: string;\n}\n\nconst getFieldById = (fields: CmsEditorField[], id: string): CmsEditorField | null => {\n return fields.find(field => field.id === id) || null;\n};\n\nexport const Fields: React.FC<FieldsProps> = ({\n Bind,\n fields,\n layout,\n contentModel,\n gridClassName\n}) => {\n return (\n <Grid className={gridClassName}>\n {layout.map((row, rowIndex) => (\n <React.Fragment key={rowIndex}>\n {row.map(fieldId => (\n <Cell span={Math.floor(12 / row.length)} key={fieldId}>\n <RenderFieldElement\n field={getFieldById(fields, fieldId) as CmsEditorField}\n Bind={Bind}\n contentModel={contentModel}\n />\n </Cell>\n ))}\n </React.Fragment>\n ))}\n </Grid>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Label.tsx"],"names":["React","css","classNames","Typography","style","label","marginBottom","Label","children"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,UAAT,QAA2B,uBAA3B;AAEA,IAAMC,KAAK,GAAG;AACVC,EAAAA,KAAK,eAAEJ,GAAG,CAAC;AACPK,IAAAA,YAAY,EAAE;AADP,GAAD;AADA,CAAd;;AAMA,IAAMC,KAAe,GAAG,SAAlBA,KAAkB;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,sBACpB;AACI,IAAA,SAAS,EAAEN,UAAU,CACjB,mEADiB,EAEjBE,KAAK,CAACC,KAFW;AADzB,kBAMI,oBAAC,UAAD;AAAY,IAAA,GAAG,EAAE;AAAjB,KAA+BG,QAA/B,CANJ,CADoB;AAAA,CAAxB;;AAWA,eAAeD,KAAf","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst style = {\n label: css({\n marginBottom: \"5px !important\"\n })\n};\n\nconst Label: React.FC = ({ children }) => (\n <div\n className={classNames(\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\",\n style.label\n )}\n >\n <Typography use={\"subtitle2\"}>{children}</Typography>\n </div>\n);\n\nexport default Label;\n"]}
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- import { CmsEditorField, CmsEditorContentModel } from "../../../types";
3
- import { BindComponent } from "@webiny/form";
2
+ import { CmsEditorField, CmsEditorContentModel, BindComponent } from "../../../types";
4
3
  interface RenderFieldElementProps {
5
4
  field: CmsEditorField;
6
5
  Bind: BindComponent;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["RenderFieldElement.tsx"],"names":["React","get","i18n","Label","useBind","useRenderPlugins","t","ns","RenderFieldElement","props","renderPlugins","field","Bind","contentModel","getBind","renderPlugin","find","plugin","renderer","rendererName","fieldName","fieldId","render"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,GAAP,MAAgB,YAAhB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,OAAOC,KAAP;AACA,SAASC,OAAT;AACA,SAASC,gBAAT;AAEA,IAAMC,CAAC,GAAGJ,IAAI,CAACK,EAAL,CAAQ,gDAAR,CAAV;;AAOA,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,CAAAC,KAAK,EAAI;AACnE,MAAMC,aAAa,GAAGL,gBAAgB,EAAtC;AACA,MAAQM,KAAR,GAAsCF,KAAtC,CAAQE,KAAR;AAAA,MAAeC,IAAf,GAAsCH,KAAtC,CAAeG,IAAf;AAAA,MAAqBC,YAArB,GAAsCJ,KAAtC,CAAqBI,YAArB;AACA,MAAMC,OAAO,GAAGV,OAAO,CAAC;AAAEQ,IAAAA,IAAI,EAAJA,IAAF;AAAQD,IAAAA,KAAK,EAALA;AAAR,GAAD,CAAvB;AAEA,MAAMI,YAAY,GAAGL,aAAa,CAACM,IAAd,CACjB,UAAAC,MAAM;AAAA,WAAIA,MAAM,CAACC,QAAP,CAAgBC,YAAhB,KAAiClB,GAAG,CAACU,KAAD,EAAQ,eAAR,CAAxC;AAAA,GADW,CAArB;;AAIA,MAAI,CAACI,YAAL,EAAmB;AACf,WAAOT,CAAC,kIAAD,CAA+D;AAClEc,MAAAA,SAAS,eAAE,oCAAST,KAAK,CAACU,OAAf;AADuD,KAA/D,CAAP;AAGH;;AAED,SAAON,YAAY,CAACG,QAAb,CAAsBI,MAAtB,CAA6B;AAAEX,IAAAA,KAAK,EAALA,KAAF;AAASG,IAAAA,OAAO,EAAPA,OAAT;AAAkBX,IAAAA,KAAK,EAALA,KAAlB;AAAyBU,IAAAA,YAAY,EAAZA;AAAzB,GAA7B,CAAP;AACH,CAhBD;;AAkBA,eAAeL,kBAAf","sourcesContent":["import React from \"react\";\nimport { CmsEditorField, CmsEditorContentModel, BindComponent } from \"~/types\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport Label from \"./Label\";\nimport { useBind } from \"./useBind\";\nimport { useRenderPlugins } from \"./useRenderPlugins\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/components/content-form\");\n\ninterface RenderFieldElementProps {\n field: CmsEditorField;\n Bind: BindComponent;\n contentModel: CmsEditorContentModel;\n}\nconst RenderFieldElement: React.FC<RenderFieldElementProps> = props => {\n const renderPlugins = useRenderPlugins();\n const { field, Bind, contentModel } = props;\n const getBind = useBind({ Bind, field });\n\n const renderPlugin = renderPlugins.find(\n plugin => plugin.renderer.rendererName === get(field, \"renderer.name\")\n );\n\n if (!renderPlugin) {\n return t`Cannot render \"{fieldName}\" field - field renderer missing.`({\n fieldName: <strong>{field.fieldId}</strong>\n });\n }\n\n return renderPlugin.renderer.render({ field, getBind, Label, contentModel });\n};\n\nexport default RenderFieldElement;\n"]}
@@ -1,2 +1,3 @@
1
1
  import { CmsEditorFieldValidator } from "../../../../types";
2
- export declare const createValidators: (validation: CmsEditorFieldValidator[]) => ((value: string | string[]) => Promise<void>)[];
2
+ import { Validator } from "@webiny/validation/types";
3
+ export declare const createValidators: (validation: CmsEditorFieldValidator[]) => Validator[];
@@ -3,16 +3,16 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
3
  import { plugins } from "@webiny/plugins";
4
4
  export var createValidators = function createValidators(validation) {
5
5
  var validatorPlugins = plugins.byType("cms-model-field-validator");
6
- return validation.map(function (item) {
6
+ return validation.reduce(function (collection, item) {
7
7
  var validatorPlugin = validatorPlugins.find(function (plugin) {
8
8
  return plugin.validator.name === item.name;
9
9
  });
10
10
 
11
11
  if (!validatorPlugin || typeof validatorPlugin.validator.validate !== "function") {
12
- return null;
12
+ return collection;
13
13
  }
14
14
 
15
- return /*#__PURE__*/function () {
15
+ var validator = /*#__PURE__*/function () {
16
16
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(value) {
17
17
  var isInvalid, result;
18
18
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -50,9 +50,12 @@ export var createValidators = function createValidators(validation) {
50
50
  }, _callee, null, [[0, 7]]);
51
51
  }));
52
52
 
53
- return function (_x) {
53
+ return function validator(_x) {
54
54
  return _ref.apply(this, arguments);
55
55
  };
56
56
  }();
57
- }).filter(Boolean);
57
+
58
+ collection.push(validator);
59
+ return collection;
60
+ }, []);
58
61
  };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createValidators.ts"],"names":["plugins","createValidators","validation","validatorPlugins","byType","reduce","collection","item","validatorPlugin","find","plugin","validator","name","validate","value","result","isInvalid","Error","message","push"],"mappings":";;AAAA,SAASA,OAAT,QAAwB,iBAAxB;AAIA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD,EAAwD;AACpF,MAAMC,gBAAgB,GAAGH,OAAO,CAACI,MAAR,CACrB,2BADqB,CAAzB;AAIA,SAAOF,UAAU,CAACG,MAAX,CAAkB,UAACC,UAAD,EAAaC,IAAb,EAAsB;AAC3C,QAAMC,eAAe,GAAGL,gBAAgB,CAACM,IAAjB,CACpB,UAAAC,MAAM;AAAA,aAAIA,MAAM,CAACC,SAAP,CAAiBC,IAAjB,KAA0BL,IAAI,CAACK,IAAnC;AAAA,KADc,CAAxB;;AAIA,QAAI,CAACJ,eAAD,IAAoB,OAAOA,eAAe,CAACG,SAAhB,CAA0BE,QAAjC,KAA8C,UAAtE,EAAkF;AAC9E,aAAOP,UAAP;AACH;;AAED,QAAMK,SAAS;AAAA,0EAAG,iBAAOG,KAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAGWN,eAAe,CAACG,SAAhB,CAA0BE,QAA1B,CAAmCC,KAAnC,EAA0CP,IAA1C,CAHX;;AAAA;AAGJQ,gBAAAA,MAHI;AAIVC,gBAAAA,SAAS,GAAGD,MAAM,KAAK,KAAvB;AAJU;AAAA;;AAAA;AAAA;AAAA;AAMVC,gBAAAA,SAAS,GAAG,IAAZ;;AANU;AAAA,qBASVA,SATU;AAAA;AAAA;AAAA;;AAAA,sBAUJ,IAAIC,KAAJ,CAAUV,IAAI,CAACW,OAAL,IAAgB,gBAA1B,CAVI;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAATP,SAAS;AAAA;AAAA;AAAA,OAAf;;AAaAL,IAAAA,UAAU,CAACa,IAAX,CAAgBR,SAAhB;AACA,WAAOL,UAAP;AACH,GAxBM,EAwBJ,EAxBI,CAAP;AAyBH,CA9BM","sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { CmsEditorFieldValidator, CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\n\nexport const createValidators = (validation: CmsEditorFieldValidator[]): Validator[] => {\n const validatorPlugins = plugins.byType<CmsModelFieldValidatorPlugin>(\n \"cms-model-field-validator\"\n );\n\n return validation.reduce((collection, item) => {\n const validatorPlugin = validatorPlugins.find(\n plugin => plugin.validator.name === item.name\n );\n\n if (!validatorPlugin || typeof validatorPlugin.validator.validate !== \"function\") {\n return collection;\n }\n\n const validator = async (value: string | string[]) => {\n let isInvalid;\n try {\n const result = await validatorPlugin.validator.validate(value, item);\n isInvalid = result === false;\n } catch (e) {\n isInvalid = true;\n }\n\n if (isInvalid) {\n throw new Error(item.message || \"Invalid value.\");\n }\n };\n collection.push(validator);\n return collection;\n }, [] as Validator[]);\n};\n"]}
@@ -1,8 +1,9 @@
1
1
  import { CmsEditorField } from "../../../../types";
2
- interface Params {
3
- bind: any;
2
+ import { BindComponentRenderProp } from "@webiny/form";
3
+ interface GetValueParams {
4
+ bind: BindComponentRenderProp;
4
5
  field: Pick<CmsEditorField, "multipleValues">;
5
6
  index: number;
6
7
  }
7
- export declare const getValue: (params: Params) => string;
8
+ export declare const getValue: (params: GetValueParams) => string;
8
9
  export {};
@@ -1,4 +1,3 @@
1
- // TODO @ts-refactor figure out correct bind types and remove any
2
1
  export var getValue = function getValue(params) {
3
2
  var bind = params.bind,
4
3
  field = params.field,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getValue.ts"],"names":["getValue","params","bind","field","index","value","multipleValues","Array","isArray"],"mappings":"AAQA,OAAO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAAoC;AACxD,MAAQC,IAAR,GAA+BD,MAA/B,CAAQC,IAAR;AAAA,MAAcC,KAAd,GAA+BF,MAA/B,CAAcE,KAAd;AAAA,MAAqBC,KAArB,GAA+BH,MAA/B,CAAqBG,KAArB;AACA,MAAIC,KAAK,GAAGH,IAAI,CAACG,KAAL,IAAc,IAA1B;;AAEA,MAAIF,KAAK,CAACG,cAAV,EAA0B;AACtB,QAAI,CAACC,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAL,EAA2B;AACvBA,MAAAA,KAAK,GAAG,EAAR;AACH;;AAED,QAAID,KAAK,IAAI,CAAb,EAAgB;AACZ,aAAOC,KAAK,CAACD,KAAD,CAAL,IAAgB,IAAvB;AACH;;AAED,WAAOC,KAAP;AACH;;AAED,SAAOA,KAAP;AACH,CAjBM","sourcesContent":["import { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface GetValueParams {\n bind: BindComponentRenderProp;\n field: Pick<CmsEditorField, \"multipleValues\">;\n index: number;\n}\nexport const getValue = (params: GetValueParams): string => {\n const { bind, field, index } = params;\n let value = bind.value || null;\n\n if (field.multipleValues) {\n if (!Array.isArray(value)) {\n value = [];\n }\n\n if (index >= 0) {\n return value[index] || null;\n }\n\n return value;\n }\n\n return value;\n};\n"]}
@@ -1,9 +1,10 @@
1
1
  import { CmsEditorField } from "../../../../types";
2
- interface Params {
2
+ import { BindComponentRenderProp } from "@webiny/form";
3
+ interface setValueParams {
3
4
  value: string[];
4
- bind: any;
5
+ bind: BindComponentRenderProp;
5
6
  field: Pick<CmsEditorField, "multipleValues">;
6
7
  index: number;
7
8
  }
8
- export declare const setValue: (params: Params) => void;
9
+ export declare const setValue: (params: setValueParams) => void;
9
10
  export {};
@@ -1,5 +1,4 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- // TODO @ts-refactor figure out correct bind types and remove any
3
2
  export var setValue = function setValue(params) {
4
3
  var value = params.value,
5
4
  bind = params.bind,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["setValue.ts"],"names":["setValue","params","value","bind","field","index","newValue","multipleValues","onChange"],"mappings":";AASA,OAAO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAAkC;AACtD,MAAQC,KAAR,GAAsCD,MAAtC,CAAQC,KAAR;AAAA,MAAeC,IAAf,GAAsCF,MAAtC,CAAeE,IAAf;AAAA,MAAqBC,KAArB,GAAsCH,MAAtC,CAAqBG,KAArB;AAAA,MAA4BC,KAA5B,GAAsCJ,MAAtC,CAA4BI,KAA5B;AACA,MAAIC,QAAQ,GAAGF,KAAK,CAACG,cAAN,sBAA4BJ,IAAI,CAACD,KAAL,IAAc,EAA1C,IAAiDC,IAAI,CAACD,KAArE;;AAEA,MAAIE,KAAK,CAACG,cAAV,EAA0B;AACtB,QAAIF,KAAK,IAAI,CAAb,EAAgB;AACZC,MAAAA,QAAQ,CAACD,KAAD,CAAR,GAAkBH,KAAlB;AACH,KAFD,MAEO;AACHI,MAAAA,QAAQ,GAAGJ,KAAX;AACH;AACJ,GAND,MAMO;AACHI,IAAAA,QAAQ,GAAGJ,KAAX;AACH;;AAEDC,EAAAA,IAAI,CAACK,QAAL,CAAcF,QAAd;AACH,CAfM","sourcesContent":["import { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface setValueParams {\n value: string[];\n bind: BindComponentRenderProp;\n field: Pick<CmsEditorField, \"multipleValues\">;\n index: number;\n}\nexport const setValue = (params: setValueParams): void => {\n const { value, bind, field, index } = params;\n let newValue = field.multipleValues ? [...(bind.value || [])] : bind.value;\n\n if (field.multipleValues) {\n if (index >= 0) {\n newValue[index] = value;\n } else {\n newValue = value;\n }\n } else {\n newValue = value;\n }\n\n bind.onChange(newValue);\n};\n"]}
@@ -1,14 +1,10 @@
1
- import { BindComponent as BaseBindComponent } from "@webiny/form";
2
- import { CmsEditorField } from "../../../types";
3
- interface BindComponent extends BaseBindComponent {
4
- parentName?: string;
5
- }
1
+ import { BindComponent, CmsEditorField } from "../../../types";
6
2
  interface UseBindProps {
7
3
  field: CmsEditorField;
8
4
  Bind: BindComponent;
9
5
  }
10
6
  export interface GetBindCallable {
11
- (index?: number): any;
7
+ (index?: number): BindComponent;
12
8
  }
13
- export declare function useBind({ Bind: ParentBind, field }: UseBindProps): (index?: any) => any;
9
+ export declare function useBind({ Bind: ParentBind, field }: UseBindProps): (index?: any) => BindComponent;
14
10
  export {};
@@ -29,6 +29,12 @@ export function useBind(_ref) {
29
29
  var defaultValue = field.multipleValues ? [] : undefined;
30
30
  var isMultipleValues = index === -1 && field.multipleValues;
31
31
  var inputValidators = isMultipleValues ? listValidators : validators;
32
+ /**
33
+ * TODO @ts-refactor
34
+ *
35
+ * TS is complaining about validators property because UseBindParams.validators cannot be single validator??????
36
+ */
37
+ // @ts-ignore
32
38
 
33
39
  memoizedBindComponents.current[name] = function UseBind(params) {
34
40
  var childName = params.name,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useBind.tsx"],"names":["React","useRef","useCallback","cloneElement","createValidators","useBind","ParentBind","Bind","field","memoizedBindComponents","index","parentName","name","fieldId","undefined","filter","v","join","current","validators","validation","listValidators","listValidation","defaultValue","multipleValues","isMultipleValues","inputValidators","UseBind","params","childName","childValidators","children","bind","props","appendValue","newValue","onChange","value","prependValue","appendValues","newValues","removeValue","slice","form","validateInput"],"mappings":"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","sourcesContent":["/**\n * Figure out correct types for this and packages/app-headless-cms/src/admin/plugins/fieldRenderers/DynamicSection.tsx files\n * TODO @ts-refactor\n */\nimport React, { useRef, useCallback, cloneElement } from \"react\";\nimport { createValidators } from \"./functions/createValidators\";\nimport { BindComponent, CmsEditorField } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\n\ninterface UseBindProps {\n field: CmsEditorField;\n Bind: BindComponent;\n}\n\ninterface UseBindParams {\n name?: string;\n validators?: Validator[];\n children?: any;\n}\n\nexport interface GetBindCallable {\n (index?: number): BindComponent;\n}\n\nexport function useBind({ Bind: ParentBind, field }: UseBindProps) {\n const memoizedBindComponents = useRef<Record<string, BindComponent>>({});\n\n return useCallback(\n (index = -1) => {\n const { parentName } = ParentBind;\n // If there's a parent name assigned to the given Bind component, we need to include it in the new field \"name\".\n // This allows us to have nested fields (like \"object\" field with nested properties)\n const name = [parentName, field.fieldId, index >= 0 ? index : undefined]\n .filter(v => v !== undefined)\n .join(\".\");\n\n if (memoizedBindComponents.current[name]) {\n return memoizedBindComponents.current[name];\n }\n\n const validators = createValidators(field.validation || []);\n const listValidators = createValidators(field.listValidation || []);\n const defaultValue: string[] | undefined = field.multipleValues ? [] : undefined;\n const isMultipleValues = index === -1 && field.multipleValues;\n const inputValidators = isMultipleValues ? listValidators : validators;\n /**\n * TODO @ts-refactor\n *\n * TS is complaining about validators property because UseBindParams.validators cannot be single validator??????\n */\n // @ts-ignore\n memoizedBindComponents.current[name] = function UseBind(params: UseBindParams) {\n const { name: childName, validators: childValidators, children } = params;\n return (\n <ParentBind\n name={childName || name}\n validators={childValidators || inputValidators}\n defaultValue={index === -1 ? defaultValue : null}\n >\n {bind => {\n // Multiple-values functions below.\n const props = { ...bind };\n if (field.multipleValues && index === -1) {\n props.appendValue = (newValue: string) => {\n bind.onChange([...bind.value, newValue]);\n };\n props.prependValue = (newValue: string) => {\n bind.onChange([newValue, ...bind.value]);\n };\n props.appendValues = (newValues: string[]) => {\n bind.onChange([...bind.value, ...newValues]);\n };\n\n props.removeValue = (index: number) => {\n if (index < 0) {\n return;\n }\n let value = bind.value;\n value = [...value.slice(0, index), ...value.slice(index + 1)];\n\n bind.onChange(value);\n\n // To make sure the field is still valid, we must trigger validation.\n bind.form.validateInput(field.fieldId);\n };\n }\n\n if (typeof children === \"function\") {\n return children(props);\n }\n\n return cloneElement(children, props);\n }}\n </ParentBind>\n );\n };\n\n // We need to keep track of current field name, to support nested fields.\n memoizedBindComponents.current[name].parentName = name;\n\n return memoizedBindComponents.current[name];\n },\n [field.fieldId]\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Dispatch, SetStateAction } from "react";
2
2
  import { FormOnSubmit } from "@webiny/form";
3
- import { CmsEditorContentModel, CmsEditorFieldRendererPlugin } from "../../../types";
3
+ import { CmsEditorContentEntry, CmsEditorContentModel, CmsEditorFieldRendererPlugin } from "../../../types";
4
4
  interface UseContentEntryForm {
5
5
  data: Record<string, any>;
6
6
  loading: boolean;
@@ -12,9 +12,7 @@ interface UseContentEntryForm {
12
12
  }
13
13
  export interface UseContentEntryFormParams {
14
14
  contentModel: CmsEditorContentModel;
15
- entry?: {
16
- [key: string]: any;
17
- };
15
+ entry: Partial<CmsEditorContentEntry>;
18
16
  onChange?: FormOnSubmit;
19
17
  onSubmit?: FormOnSubmit;
20
18
  addEntryToListCache: boolean;
@@ -107,7 +107,9 @@ export function useContentEntryForm(params) {
107
107
 
108
108
  var createContent = useCallback( /*#__PURE__*/function () {
109
109
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(data) {
110
- var response, _response$data$conten, error, entry;
110
+ var _response$data;
111
+
112
+ var response, _ref3, error, entry;
111
113
 
112
114
  return _regeneratorRuntime.wrap(function _callee$(_context) {
113
115
  while (1) {
@@ -119,16 +121,25 @@ export function useContentEntryForm(params) {
119
121
  variables: {
120
122
  data: data
121
123
  },
122
- update: function update(cache, _ref2) {
123
- var data = _ref2.data;
124
- var _data$content = data.content,
125
- entry = _data$content.data,
126
- error = _data$content.error;
124
+ update: function update(cache, response) {
125
+ if (!response.data) {
126
+ showSnackbar("Missing response data in Create Entry.");
127
+ return;
128
+ }
129
+
130
+ var data = response.data;
131
+
132
+ var _ref2 = data.content || {},
133
+ entry = _ref2.data,
134
+ error = _ref2.error;
127
135
 
128
136
  if (error) {
129
137
  showSnackbar(error.message);
130
138
  setInvalidFieldValues(error.data);
131
139
  return;
140
+ } else if (!entry) {
141
+ showSnackbar("Missing entry data in update callback on Create Entry Response.");
142
+ return;
132
143
  }
133
144
 
134
145
  resetInvalidFieldValues();
@@ -142,10 +153,10 @@ export function useContentEntryForm(params) {
142
153
  case 3:
143
154
  response = _context.sent;
144
155
  setLoading(false);
145
- _response$data$conten = response.data.content, error = _response$data$conten.error, entry = _response$data$conten.data;
156
+ _ref3 = ((_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.content) || {}, error = _ref3.error, entry = _ref3.data;
146
157
 
147
158
  if (!error) {
148
- _context.next = 10;
159
+ _context.next = 12;
149
160
  break;
150
161
  }
151
162
 
@@ -153,7 +164,16 @@ export function useContentEntryForm(params) {
153
164
  setInvalidFieldValues(error.data);
154
165
  return _context.abrupt("return", null);
155
166
 
156
- case 10:
167
+ case 12:
168
+ if (entry) {
169
+ _context.next = 15;
170
+ break;
171
+ }
172
+
173
+ showSnackbar("Missing entry data in Create Entry Response.");
174
+ return _context.abrupt("return", null);
175
+
176
+ case 15:
157
177
  resetInvalidFieldValues();
158
178
  showSnackbar("".concat(contentModel.name, " entry created successfully!"));
159
179
 
@@ -165,7 +185,7 @@ export function useContentEntryForm(params) {
165
185
 
166
186
  return _context.abrupt("return", entry);
167
187
 
168
- case 14:
188
+ case 19:
169
189
  case "end":
170
190
  return _context.stop();
171
191
  }
@@ -178,7 +198,7 @@ export function useContentEntryForm(params) {
178
198
  };
179
199
  }(), [contentModel.modelId, listQueryVariables, params.onSubmit, params.addEntryToListCache]);
180
200
  var updateContent = useCallback( /*#__PURE__*/function () {
181
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(revision, data) {
201
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(revision, data) {
182
202
  var response, error, entry;
183
203
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
184
204
  while (1) {
@@ -196,10 +216,20 @@ export function useContentEntryForm(params) {
196
216
  case 3:
197
217
  response = _context2.sent;
198
218
  setLoading(false);
219
+
220
+ if (response.data) {
221
+ _context2.next = 8;
222
+ break;
223
+ }
224
+
225
+ showSnackbar("Missing response data on Update Entry Response.");
226
+ return _context2.abrupt("return");
227
+
228
+ case 8:
199
229
  error = response.data.content.error;
200
230
 
201
231
  if (!error) {
202
- _context2.next = 10;
232
+ _context2.next = 13;
203
233
  break;
204
234
  }
205
235
 
@@ -207,13 +237,13 @@ export function useContentEntryForm(params) {
207
237
  setInvalidFieldValues(error.data);
208
238
  return _context2.abrupt("return", null);
209
239
 
210
- case 10:
240
+ case 13:
211
241
  resetInvalidFieldValues();
212
242
  showSnackbar("Content saved successfully.");
213
243
  entry = response.data.content.data;
214
244
  return _context2.abrupt("return", entry);
215
245
 
216
- case 14:
246
+ case 17:
217
247
  case "end":
218
248
  return _context2.stop();
219
249
  }
@@ -222,11 +252,11 @@ export function useContentEntryForm(params) {
222
252
  }));
223
253
 
224
254
  return function (_x2, _x3) {
225
- return _ref3.apply(this, arguments);
255
+ return _ref4.apply(this, arguments);
226
256
  };
227
257
  }(), [contentModel.modelId]);
228
258
  var createContentFrom = useCallback( /*#__PURE__*/function () {
229
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(revision, formData) {
259
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(revision, formData) {
230
260
  var response, _response$data$conten2, data, error;
231
261
 
232
262
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
@@ -240,16 +270,23 @@ export function useContentEntryForm(params) {
240
270
  revision: revision,
241
271
  data: formData
242
272
  },
243
- update: function update(cache, _ref5) {
244
- var data = _ref5.data;
245
- var _data$content2 = data.content,
246
- newRevision = _data$content2.data,
247
- error = _data$content2.error;
273
+ update: function update(cache, response) {
274
+ if (!response.data) {
275
+ showSnackbar("Missing data in update callback on Create From Entry Response.");
276
+ return;
277
+ }
278
+
279
+ var _response$data$conten = response.data.content,
280
+ newRevision = _response$data$conten.data,
281
+ error = _response$data$conten.error;
248
282
 
249
283
  if (error) {
250
284
  showSnackbar(error.message);
251
285
  setInvalidFieldValues(error.data);
252
286
  return;
287
+ } else if (!newRevision) {
288
+ showSnackbar("Missing entry data in update callback on Create From Entry.");
289
+ return;
253
290
  }
254
291
 
255
292
  resetInvalidFieldValues();
@@ -263,10 +300,20 @@ export function useContentEntryForm(params) {
263
300
  case 3:
264
301
  response = _context3.sent;
265
302
  setLoading(false);
303
+
304
+ if (response.data) {
305
+ _context3.next = 8;
306
+ break;
307
+ }
308
+
309
+ showSnackbar("Missing response data on Create From Entry Mutation.");
310
+ return _context3.abrupt("return");
311
+
312
+ case 8:
266
313
  _response$data$conten2 = response.data.content, data = _response$data$conten2.data, error = _response$data$conten2.error;
267
314
 
268
315
  if (!error) {
269
- _context3.next = 10;
316
+ _context3.next = 13;
270
317
  break;
271
318
  }
272
319
 
@@ -274,11 +321,11 @@ export function useContentEntryForm(params) {
274
321
  setInvalidFieldValues(error.data);
275
322
  return _context3.abrupt("return", null);
276
323
 
277
- case 10:
324
+ case 13:
278
325
  resetInvalidFieldValues();
279
326
  return _context3.abrupt("return", data);
280
327
 
281
- case 12:
328
+ case 15:
282
329
  case "end":
283
330
  return _context3.stop();
284
331
  }
@@ -287,7 +334,7 @@ export function useContentEntryForm(params) {
287
334
  }));
288
335
 
289
336
  return function (_x4, _x5) {
290
- return _ref4.apply(this, arguments);
337
+ return _ref5.apply(this, arguments);
291
338
  };
292
339
  }(), [contentModel.modelId, listQueryVariables]);
293
340
 
@@ -432,7 +479,9 @@ export function useContentEntryForm(params) {
432
479
  data: entry && entry.id ? entry : getDefaultValues(),
433
480
  loading: loading,
434
481
  setLoading: setLoading,
435
- onChange: params.onChange,
482
+ onChange: params.onChange || function () {
483
+ return void 0;
484
+ },
436
485
  onSubmit: onSubmit,
437
486
  invalidFields: invalidFields,
438
487
  renderPlugins: renderPlugins