@webiny/app-headless-cms 5.33.5 → 5.34.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 (461) hide show
  1. package/HeadlessCMS.js +4 -0
  2. package/HeadlessCMS.js.map +1 -1
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +35 -32
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
  5. package/admin/components/ContentEntryForm/Fields.d.ts +2 -2
  6. package/admin/components/ContentEntryForm/Fields.js.map +1 -1
  7. package/admin/components/ContentEntryForm/Label.js +1 -1
  8. package/admin/components/ContentEntryForm/Label.js.map +1 -1
  9. package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +2 -2
  10. package/admin/components/ContentEntryForm/RenderFieldElement.js +6 -2
  11. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
  12. package/admin/components/ContentEntryForm/functions/getValue.d.ts +2 -2
  13. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
  14. package/admin/components/ContentEntryForm/functions/setValue.d.ts +2 -2
  15. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
  16. package/admin/components/ContentEntryForm/useBind.d.ts +2 -2
  17. package/admin/components/ContentEntryForm/useBind.js +11 -8
  18. package/admin/components/ContentEntryForm/useBind.js.map +1 -1
  19. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +1 -2
  20. package/admin/components/ContentEntryForm/useContentEntryForm.js +187 -147
  21. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
  22. package/admin/components/ContentModelEditor/{Context.d.ts → ContentModelEditorProvider.d.ts} +10 -4
  23. package/admin/components/ContentModelEditor/{Context.js → ContentModelEditorProvider.js} +60 -116
  24. package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -0
  25. package/admin/components/ContentModelEditor/Editor.js +5 -5
  26. package/admin/components/ContentModelEditor/Editor.js.map +1 -1
  27. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
  28. package/admin/components/ContentModelEditor/PreviewTab.js +3 -3
  29. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
  30. package/admin/components/ContentModelEditor/index.d.ts +2 -0
  31. package/admin/components/ContentModelEditor/index.js +31 -0
  32. package/admin/components/ContentModelEditor/index.js.map +1 -0
  33. package/admin/components/ContentModelEditor/useModelEditor.d.ts +1 -0
  34. package/admin/components/ContentModelEditor/{useContentModelEditor.js → useModelEditor.js} +4 -4
  35. package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -0
  36. package/admin/{views/contentModelGroups → components}/DelayedOnChange.d.ts +0 -0
  37. package/admin/{views/contentModelGroups → components}/DelayedOnChange.js +0 -0
  38. package/admin/{views/contentModelGroups → components}/DelayedOnChange.js.map +0 -0
  39. package/admin/components/Dialog.d.ts +4 -0
  40. package/admin/components/Dialog.js +32 -0
  41. package/admin/components/Dialog.js.map +1 -0
  42. package/admin/components/DropZone/Center.d.ts +2 -1
  43. package/admin/components/DropZone/Center.js +38 -44
  44. package/admin/components/DropZone/Center.js.map +1 -1
  45. package/admin/components/Droppable.d.ts +1 -0
  46. package/admin/components/Droppable.js +12 -1
  47. package/admin/components/Droppable.js.map +1 -1
  48. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +2 -8
  49. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +20 -9
  50. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
  51. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +2 -9
  52. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +35 -21
  53. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
  54. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +2 -9
  55. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +14 -12
  56. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
  57. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.d.ts +10 -0
  58. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +42 -0
  59. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js.map +1 -0
  60. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.d.ts +8 -0
  61. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +227 -0
  62. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -0
  63. package/admin/components/FieldEditor/EditFieldDialog/getValidators.d.ts +13 -0
  64. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +115 -0
  65. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -0
  66. package/admin/components/FieldEditor/EditFieldDialog.d.ts +3 -3
  67. package/admin/components/FieldEditor/EditFieldDialog.js +117 -260
  68. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
  69. package/admin/components/FieldEditor/Field.d.ts +5 -5
  70. package/admin/components/FieldEditor/Field.js +17 -14
  71. package/admin/components/FieldEditor/Field.js.map +1 -1
  72. package/admin/components/FieldEditor/FieldEditor.d.ts +4 -4
  73. package/admin/components/FieldEditor/FieldEditor.js +85 -31
  74. package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
  75. package/admin/components/FieldEditor/FieldEditorContext.d.ts +16 -16
  76. package/admin/components/FieldEditor/FieldEditorContext.js +18 -18
  77. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
  78. package/admin/components/FieldEditor/Styled.js +4 -13
  79. package/admin/components/FieldEditor/Styled.js.map +1 -1
  80. package/admin/components/FieldEditor/index.d.ts +1 -1
  81. package/admin/components/FieldEditor/index.js +3 -3
  82. package/admin/components/FieldEditor/index.js.map +1 -1
  83. package/admin/components/FieldEditor/useModelFieldEditor.d.ts +2 -0
  84. package/admin/components/FieldEditor/useModelFieldEditor.js +20 -0
  85. package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -0
  86. package/admin/components/FieldEditor/utils/deleteField.d.ts +2 -2
  87. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
  88. package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
  89. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
  90. package/admin/components/FieldEditor/utils/moveField.d.ts +3 -3
  91. package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
  92. package/admin/components/IconPicker.d.ts +7 -0
  93. package/admin/{views/contentModelGroups → components}/IconPicker.js +34 -31
  94. package/admin/components/IconPicker.js.map +1 -0
  95. package/admin/components/ModelFieldProvider/ModelFieldContext.d.ts +36 -0
  96. package/admin/components/ModelFieldProvider/ModelFieldContext.js +24 -0
  97. package/admin/components/ModelFieldProvider/ModelFieldContext.js.map +1 -0
  98. package/admin/components/ModelFieldProvider/index.d.ts +2 -0
  99. package/admin/components/ModelFieldProvider/index.js +31 -0
  100. package/admin/components/ModelFieldProvider/index.js.map +1 -0
  101. package/admin/components/ModelFieldProvider/useModelField.d.ts +35 -0
  102. package/admin/components/ModelFieldProvider/useModelField.js +42 -0
  103. package/admin/components/ModelFieldProvider/useModelField.js.map +1 -0
  104. package/admin/components/ModelProvider/ModelContext.d.ts +9 -0
  105. package/admin/components/ModelProvider/ModelContext.js +24 -0
  106. package/admin/components/ModelProvider/ModelContext.js.map +1 -0
  107. package/admin/components/ModelProvider/index.d.ts +2 -0
  108. package/admin/components/ModelProvider/index.js +31 -0
  109. package/admin/components/ModelProvider/index.js.map +1 -0
  110. package/admin/components/ModelProvider/useModel.d.ts +9 -0
  111. package/admin/components/ModelProvider/useModel.js +25 -0
  112. package/admin/components/ModelProvider/useModel.js.map +1 -0
  113. package/admin/constants/statusLabels.js +2 -4
  114. package/admin/constants/statusLabels.js.map +1 -1
  115. package/admin/graphql/contentEntries.d.ts +2 -29
  116. package/admin/graphql/contentEntries.js +28 -42
  117. package/admin/graphql/contentEntries.js.map +1 -1
  118. package/admin/graphql/contentModels.d.ts +1 -1
  119. package/admin/graphql/contentModels.js +2 -2
  120. package/admin/graphql/contentModels.js.map +1 -1
  121. package/admin/graphql/createFieldsList.d.ts +7 -2
  122. package/admin/graphql/createFieldsList.js +5 -1
  123. package/admin/graphql/createFieldsList.js.map +1 -1
  124. package/admin/hooks/index.d.ts +5 -0
  125. package/admin/hooks/index.js +47 -2
  126. package/admin/hooks/index.js.map +1 -1
  127. package/admin/hooks/usePermission.d.ts +0 -2
  128. package/admin/hooks/usePermission.js +5 -37
  129. package/admin/hooks/usePermission.js.map +1 -1
  130. package/admin/menus/NothingToShowElement.js +4 -1
  131. package/admin/menus/NothingToShowElement.js.map +1 -1
  132. package/admin/plugins/arrayUtils.d.ts +12 -0
  133. package/admin/plugins/arrayUtils.js +53 -0
  134. package/admin/plugins/arrayUtils.js.map +1 -0
  135. package/admin/plugins/editor/defaultBar/CreateContentButton.js +4 -4
  136. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
  137. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +5 -5
  138. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
  139. package/admin/plugins/editor/defaultBar/Name/Name.js +4 -4
  140. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
  141. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +3 -3
  142. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
  143. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +9 -1
  144. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
  145. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +3 -3
  146. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
  147. package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -2
  148. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
  149. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
  150. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
  151. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
  152. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
  153. package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +2 -2
  154. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
  155. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +2 -2
  156. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
  157. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +12 -0
  158. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +107 -0
  159. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -0
  160. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +11 -0
  161. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +139 -0
  162. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -0
  163. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +11 -0
  164. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +68 -0
  165. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -0
  166. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +8 -0
  167. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +63 -0
  168. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -0
  169. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +8 -0
  170. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +53 -0
  171. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -0
  172. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +6 -0
  173. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +22 -0
  174. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -0
  175. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.d.ts +2 -0
  176. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +66 -0
  177. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -0
  178. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
  179. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -2
  180. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
  181. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -2
  182. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
  183. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +10 -9
  184. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
  185. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +2 -2
  186. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
  187. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +2 -2
  188. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
  189. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.d.ts +2 -2
  190. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +15 -14
  191. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
  192. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
  193. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
  194. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
  195. package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +2 -2
  196. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
  197. package/admin/plugins/fieldValidators/dateGte.d.ts +2 -2
  198. package/admin/plugins/fieldValidators/dateGte.js +79 -23
  199. package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
  200. package/admin/plugins/fieldValidators/dateLte.d.ts +2 -2
  201. package/admin/plugins/fieldValidators/dateLte.js +79 -23
  202. package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
  203. package/admin/plugins/fieldValidators/dynamicZone.d.ts +2 -0
  204. package/admin/plugins/fieldValidators/dynamicZone.js +215 -0
  205. package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -0
  206. package/admin/plugins/fieldValidators/gte.d.ts +2 -2
  207. package/admin/plugins/fieldValidators/gte.js +44 -5
  208. package/admin/plugins/fieldValidators/gte.js.map +1 -1
  209. package/admin/plugins/fieldValidators/in.d.ts +2 -2
  210. package/admin/plugins/fieldValidators/in.js +44 -5
  211. package/admin/plugins/fieldValidators/in.js.map +1 -1
  212. package/admin/plugins/fieldValidators/lte.d.ts +2 -2
  213. package/admin/plugins/fieldValidators/lte.js +44 -5
  214. package/admin/plugins/fieldValidators/lte.js.map +1 -1
  215. package/admin/plugins/fieldValidators/maxLength.d.ts +2 -2
  216. package/admin/plugins/fieldValidators/maxLength.js +55 -6
  217. package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
  218. package/admin/plugins/fieldValidators/minLength.d.ts +2 -2
  219. package/admin/plugins/fieldValidators/minLength.js +55 -6
  220. package/admin/plugins/fieldValidators/minLength.js.map +1 -1
  221. package/admin/plugins/fieldValidators/pattern.d.ts +2 -2
  222. package/admin/plugins/fieldValidators/pattern.js +129 -60
  223. package/admin/plugins/fieldValidators/pattern.js.map +1 -1
  224. package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +2 -2
  225. package/admin/plugins/fieldValidators/patternPlugins/email.js +6 -4
  226. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
  227. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +2 -2
  228. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +5 -3
  229. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
  230. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.d.ts +2 -2
  231. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +5 -3
  232. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
  233. package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +2 -2
  234. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +5 -3
  235. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
  236. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.d.ts +2 -2
  237. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +5 -3
  238. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
  239. package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +2 -2
  240. package/admin/plugins/fieldValidators/patternPlugins/url.js +5 -3
  241. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
  242. package/admin/plugins/fieldValidators/required.d.ts +2 -2
  243. package/admin/plugins/fieldValidators/required.js +8 -2
  244. package/admin/plugins/fieldValidators/required.js.map +1 -1
  245. package/admin/plugins/fieldValidators/unique.d.ts +2 -2
  246. package/admin/plugins/fieldValidators/unique.js +30 -2
  247. package/admin/plugins/fieldValidators/unique.js.map +1 -1
  248. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +1 -2
  249. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +25 -26
  250. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
  251. package/admin/plugins/fields/boolean.d.ts +2 -2
  252. package/admin/plugins/fields/boolean.js +6 -5
  253. package/admin/plugins/fields/boolean.js.map +1 -1
  254. package/admin/plugins/fields/dateTime.d.ts +2 -2
  255. package/admin/plugins/fields/dateTime.js +58 -48
  256. package/admin/plugins/fields/dateTime.js.map +1 -1
  257. package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +11 -0
  258. package/admin/plugins/fields/dynamicZone/AddTemplate.js +114 -0
  259. package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -0
  260. package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -0
  261. package/admin/plugins/fields/dynamicZone/DynamicZone.js +82 -0
  262. package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -0
  263. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +11 -0
  264. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +127 -0
  265. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -0
  266. package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +9 -0
  267. package/admin/plugins/fields/dynamicZone/TemplateDialog.js +174 -0
  268. package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -0
  269. package/admin/plugins/fields/dynamicZone/commonValidators.d.ts +2 -0
  270. package/admin/plugins/fields/dynamicZone/commonValidators.js +26 -0
  271. package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -0
  272. package/admin/plugins/fields/dynamicZone.d.ts +2 -0
  273. package/admin/plugins/fields/dynamicZone.js +97 -0
  274. package/admin/plugins/fields/dynamicZone.js.map +1 -0
  275. package/admin/plugins/fields/file.d.ts +2 -2
  276. package/admin/plugins/fields/file.js +6 -5
  277. package/admin/plugins/fields/file.js.map +1 -1
  278. package/admin/plugins/fields/longText.d.ts +2 -2
  279. package/admin/plugins/fields/longText.js +4 -3
  280. package/admin/plugins/fields/longText.js.map +1 -1
  281. package/admin/plugins/fields/number.d.ts +2 -2
  282. package/admin/plugins/fields/number.js +6 -5
  283. package/admin/plugins/fields/number.js.map +1 -1
  284. package/admin/plugins/fields/object/ObjectFields.d.ts +2 -2
  285. package/admin/plugins/fields/object/ObjectFields.js +3 -3
  286. package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
  287. package/admin/plugins/fields/object.d.ts +2 -2
  288. package/admin/plugins/fields/object.js +9 -4
  289. package/admin/plugins/fields/object.js.map +1 -1
  290. package/admin/plugins/fields/ref.d.ts +2 -2
  291. package/admin/plugins/fields/ref.js +108 -100
  292. package/admin/plugins/fields/ref.js.map +1 -1
  293. package/admin/plugins/fields/richText.d.ts +2 -2
  294. package/admin/plugins/fields/richText.js +6 -5
  295. package/admin/plugins/fields/richText.js.map +1 -1
  296. package/admin/plugins/fields/text.d.ts +2 -2
  297. package/admin/plugins/fields/text.js +4 -3
  298. package/admin/plugins/fields/text.js.map +1 -1
  299. package/admin/plugins/index.d.ts +28 -1
  300. package/admin/plugins/permissionRenderer/CmsPermissions.js +2 -7
  301. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
  302. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +11 -17
  303. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
  304. package/admin/plugins/transformers/dateTransformer.d.ts +1 -2
  305. package/admin/plugins/transformers/dateTransformer.js +3 -3
  306. package/admin/plugins/transformers/dateTransformer.js.map +1 -1
  307. package/admin/plugins/transformers/dynamicZoneTransformer.d.ts +2 -0
  308. package/admin/plugins/transformers/dynamicZoneTransformer.js +45 -0
  309. package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -0
  310. package/admin/plugins/transformers/index.js +5 -5
  311. package/admin/plugins/transformers/index.js.map +1 -1
  312. package/admin/plugins/transformers/numberTransformer.d.ts +1 -2
  313. package/admin/plugins/transformers/numberTransformer.js +3 -3
  314. package/admin/plugins/transformers/numberTransformer.js.map +1 -1
  315. package/admin/views/contentEntries/ContentEntries.js +6 -2
  316. package/admin/views/contentEntries/ContentEntries.js.map +1 -1
  317. package/admin/views/contentEntries/ContentEntriesContext.d.ts +4 -4
  318. package/admin/views/contentEntries/ContentEntriesContext.js +1 -9
  319. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
  320. package/admin/views/contentEntries/ContentEntriesList.js +23 -8
  321. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
  322. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +19 -4
  323. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
  324. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +60 -60
  325. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
  326. package/admin/views/contentEntries/ContentEntry/cache.js +5 -1
  327. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
  328. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
  329. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +3 -80
  330. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
  331. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -1
  332. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +3 -84
  333. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
  334. package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -2
  335. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
  336. package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +0 -8
  337. package/admin/views/contentEntries/ContentEntry/useRevision.js +10 -122
  338. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
  339. package/admin/views/contentEntries/ContentEntry.js +0 -2
  340. package/admin/views/contentEntries/ContentEntry.js.map +1 -1
  341. package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +2 -2
  342. package/admin/views/contentEntries/experiment/ContentEntriesModule.js +27 -14
  343. package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
  344. package/admin/views/contentEntries/hooks/useContentEntries.js +7 -1
  345. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
  346. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
  347. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
  348. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +2 -2
  349. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
  350. package/admin/views/contentModels/CloneContentModelDialog.js +4 -17
  351. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
  352. package/admin/views/contentModels/ContentModelEditor.js +2 -2
  353. package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
  354. package/admin/views/contentModels/NewContentModelDialog.js +5 -17
  355. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
  356. package/admin/viewsGraphql.js +1 -1
  357. package/admin/viewsGraphql.js.map +1 -1
  358. package/allPlugins.d.ts +34 -0
  359. package/allPlugins.js +95 -0
  360. package/allPlugins.js.map +1 -0
  361. package/index.d.ts +1 -0
  362. package/index.js +15 -1
  363. package/index.js.map +1 -1
  364. package/package.json +29 -29
  365. package/{types.d.ts → types/index.d.ts} +59 -176
  366. package/types/index.js +44 -0
  367. package/types/index.js.map +1 -0
  368. package/types/model.d.ts +83 -0
  369. package/{types.js → types/model.js} +0 -0
  370. package/types/model.js.map +1 -0
  371. package/types/shared.d.ts +5 -0
  372. package/types/shared.js +5 -0
  373. package/types/shared.js.map +1 -0
  374. package/types/validation.d.ts +70 -0
  375. package/types/validation.js +5 -0
  376. package/types/validation.js.map +1 -0
  377. package/utils/CmsModelFieldValidatorConfigAdapter.d.ts +15 -0
  378. package/utils/CmsModelFieldValidatorConfigAdapter.js +91 -0
  379. package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -0
  380. package/utils/createTypeName.d.ts +1 -0
  381. package/utils/createTypeName.js +18 -0
  382. package/utils/createTypeName.js.map +1 -0
  383. package/utils/createValidators.d.ts +3 -0
  384. package/{admin/components/ContentEntryForm/functions → utils}/createValidators.js +37 -16
  385. package/utils/createValidators.js.map +1 -0
  386. package/utils/getFetchPolicy.d.ts +6 -0
  387. package/utils/getFetchPolicy.js +19 -0
  388. package/utils/getFetchPolicy.js.map +1 -0
  389. package/utils/getModelTitleFieldId.d.ts +2 -0
  390. package/utils/getModelTitleFieldId.js +16 -0
  391. package/utils/getModelTitleFieldId.js.map +1 -0
  392. package/admin/components/ContentEntryForm/functions/createValidators.d.ts +0 -3
  393. package/admin/components/ContentEntryForm/functions/createValidators.js.map +0 -1
  394. package/admin/components/ContentModelEditor/Context.js.map +0 -1
  395. package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +0 -1
  396. package/admin/components/ContentModelEditor/useContentModelEditor.js.map +0 -1
  397. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +0 -15
  398. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +0 -148
  399. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +0 -1
  400. package/admin/components/FieldEditor/useFieldEditor.d.ts +0 -1
  401. package/admin/components/FieldEditor/useFieldEditor.js +0 -14
  402. package/admin/components/FieldEditor/useFieldEditor.js.map +0 -1
  403. package/admin/plugins/validators/dateGte.d.ts +0 -3
  404. package/admin/plugins/validators/dateGte.js +0 -68
  405. package/admin/plugins/validators/dateGte.js.map +0 -1
  406. package/admin/plugins/validators/dateLte.d.ts +0 -3
  407. package/admin/plugins/validators/dateLte.js +0 -68
  408. package/admin/plugins/validators/dateLte.js.map +0 -1
  409. package/admin/plugins/validators/gte.d.ts +0 -3
  410. package/admin/plugins/validators/gte.js +0 -57
  411. package/admin/plugins/validators/gte.js.map +0 -1
  412. package/admin/plugins/validators/in.d.ts +0 -3
  413. package/admin/plugins/validators/in.js +0 -57
  414. package/admin/plugins/validators/in.js.map +0 -1
  415. package/admin/plugins/validators/lte.d.ts +0 -3
  416. package/admin/plugins/validators/lte.js +0 -57
  417. package/admin/plugins/validators/lte.js.map +0 -1
  418. package/admin/plugins/validators/maxLength.d.ts +0 -3
  419. package/admin/plugins/validators/maxLength.js +0 -57
  420. package/admin/plugins/validators/maxLength.js.map +0 -1
  421. package/admin/plugins/validators/minLength.d.ts +0 -3
  422. package/admin/plugins/validators/minLength.js +0 -57
  423. package/admin/plugins/validators/minLength.js.map +0 -1
  424. package/admin/plugins/validators/pattern.d.ts +0 -3
  425. package/admin/plugins/validators/pattern.js +0 -77
  426. package/admin/plugins/validators/pattern.js.map +0 -1
  427. package/admin/plugins/validators/patternPlugins/email.d.ts +0 -3
  428. package/admin/plugins/validators/patternPlugins/email.js +0 -17
  429. package/admin/plugins/validators/patternPlugins/email.js.map +0 -1
  430. package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  431. package/admin/plugins/validators/patternPlugins/lowerCase.js +0 -17
  432. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +0 -1
  433. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +0 -3
  434. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +0 -17
  435. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  436. package/admin/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  437. package/admin/plugins/validators/patternPlugins/upperCase.js +0 -17
  438. package/admin/plugins/validators/patternPlugins/upperCase.js.map +0 -1
  439. package/admin/plugins/validators/patternPlugins/upperCaseSpace.d.ts +0 -3
  440. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +0 -17
  441. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  442. package/admin/plugins/validators/patternPlugins/url.d.ts +0 -3
  443. package/admin/plugins/validators/patternPlugins/url.js +0 -17
  444. package/admin/plugins/validators/patternPlugins/url.js.map +0 -1
  445. package/admin/plugins/validators/required.d.ts +0 -3
  446. package/admin/plugins/validators/required.js +0 -21
  447. package/admin/plugins/validators/required.js.map +0 -1
  448. package/admin/plugins/validators/timeGte.d.ts +0 -3
  449. package/admin/plugins/validators/timeGte.js +0 -59
  450. package/admin/plugins/validators/timeGte.js.map +0 -1
  451. package/admin/plugins/validators/timeLte.d.ts +0 -3
  452. package/admin/plugins/validators/timeLte.js +0 -59
  453. package/admin/plugins/validators/timeLte.js.map +0 -1
  454. package/admin/plugins/validators/unique.d.ts +0 -7
  455. package/admin/plugins/validators/unique.js +0 -50
  456. package/admin/plugins/validators/unique.js.map +0 -1
  457. package/admin/views/contentEntries/ContentEntry/header/requestChanges/rule-24px.svg +0 -1
  458. package/admin/views/contentEntries/ContentEntry/header/requestReview/emoji_people-24px.svg +0 -1
  459. package/admin/views/contentModelGroups/IconPicker.d.ts +0 -8
  460. package/admin/views/contentModelGroups/IconPicker.js.map +0 -1
  461. package/types.js.map +0 -1
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.AddTemplateIcon = exports.AddTemplateButton = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
17
+
18
+ var _Button = require("@webiny/ui/Button");
19
+
20
+ var _TemplateDialog = require("./TemplateDialog");
21
+
22
+ var _Typography = require("@webiny/ui/Typography");
23
+
24
+ var _info = require("@material-design-icons/svg/outlined/info.svg");
25
+
26
+ var _add_circle_outline = require("@material-design-icons/svg/round/add_circle_outline.svg");
27
+
28
+ var _Elevation = require("@webiny/ui/Elevation");
29
+
30
+ var AddTemplateButtonContainer = /*#__PURE__*/(0, _styled.default)(_Elevation.Elevation, {
31
+ label: "AddTemplateButtonContainer",
32
+ target: "e34m0te0"
33
+ })("padding:25px 0 20px;text-align:center;");
34
+ /**
35
+ * This hacking is needed to position the button exactly in the middle of available area and not stretch the parent element.
36
+ */
37
+
38
+ var AddTemplateIconContainer = /*#__PURE__*/(0, _styled.default)("div", {
39
+ label: "AddTemplateIconContainer",
40
+ target: "e34m0te1"
41
+ })("text-align:center;height:36px;> button{margin-left:-24px;position:absolute;}");
42
+ var Info = /*#__PURE__*/(0, _styled.default)("div", {
43
+ label: "Info",
44
+ target: "e34m0te2"
45
+ })("margin-top:8px;display:flex;justify-content:center;align-items:center;> svg{width:20px;margin-right:5px;}");
46
+
47
+ function useAddTemplate(params) {
48
+ var _useState = (0, _react.useState)(false),
49
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
50
+ showTemplateDialog = _useState2[0],
51
+ setShowTemplateDialog = _useState2[1];
52
+
53
+ var addTemplate = function addTemplate() {
54
+ setShowTemplateDialog(true);
55
+ };
56
+
57
+ var onTemplate = function onTemplate(template) {
58
+ params.onTemplate(template);
59
+ };
60
+
61
+ var onDialogClose = function onDialogClose() {
62
+ setShowTemplateDialog(false);
63
+ };
64
+
65
+ return {
66
+ addTemplate: addTemplate,
67
+ onTemplate: onTemplate,
68
+ onDialogClose: onDialogClose,
69
+ showTemplateDialog: showTemplateDialog
70
+ };
71
+ }
72
+
73
+ var AddTemplateButton = function AddTemplateButton(props) {
74
+ var _useAddTemplate = useAddTemplate({
75
+ onTemplate: props.onTemplate
76
+ }),
77
+ addTemplate = _useAddTemplate.addTemplate,
78
+ onTemplate = _useAddTemplate.onTemplate,
79
+ showTemplateDialog = _useAddTemplate.showTemplateDialog,
80
+ onDialogClose = _useAddTemplate.onDialogClose;
81
+
82
+ return /*#__PURE__*/_react.default.createElement(AddTemplateButtonContainer, {
83
+ z: 2
84
+ }, showTemplateDialog ? /*#__PURE__*/_react.default.createElement(_TemplateDialog.TemplateDialog, {
85
+ onTemplate: onTemplate,
86
+ onClose: onDialogClose
87
+ }) : null, /*#__PURE__*/_react.default.createElement(_Button.ButtonSecondary, {
88
+ onClick: addTemplate
89
+ }, "+ Add a template"), /*#__PURE__*/_react.default.createElement(Info, null, /*#__PURE__*/_react.default.createElement(_info.ReactComponent, null), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
90
+ use: "caption"
91
+ }, "Click here to learn how templates and dynamic zones work")));
92
+ };
93
+
94
+ exports.AddTemplateButton = AddTemplateButton;
95
+
96
+ var AddTemplateIcon = function AddTemplateIcon(props) {
97
+ var _useAddTemplate2 = useAddTemplate({
98
+ onTemplate: props.onTemplate
99
+ }),
100
+ addTemplate = _useAddTemplate2.addTemplate,
101
+ onTemplate = _useAddTemplate2.onTemplate,
102
+ showTemplateDialog = _useAddTemplate2.showTemplateDialog,
103
+ onDialogClose = _useAddTemplate2.onDialogClose;
104
+
105
+ return /*#__PURE__*/_react.default.createElement(AddTemplateIconContainer, null, showTemplateDialog ? /*#__PURE__*/_react.default.createElement(_TemplateDialog.TemplateDialog, {
106
+ onTemplate: onTemplate,
107
+ onClose: onDialogClose
108
+ }) : null, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
109
+ onClick: addTemplate,
110
+ icon: /*#__PURE__*/_react.default.createElement(_add_circle_outline.ReactComponent, null)
111
+ }));
112
+ };
113
+
114
+ exports.AddTemplateIcon = AddTemplateIcon;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AddTemplateButtonContainer","styled","Elevation","AddTemplateIconContainer","Info","useAddTemplate","params","useState","showTemplateDialog","setShowTemplateDialog","addTemplate","onTemplate","template","onDialogClose","AddTemplateButton","props","AddTemplateIcon"],"sources":["AddTemplate.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { ButtonSecondary, IconButton } from \"@webiny/ui/Button\";\nimport { TemplateDialog } from \"./TemplateDialog\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ReactComponent as InfoIcon } from \"@material-design-icons/svg/outlined/info.svg\";\nimport { ReactComponent as AddIcon } from \"@material-design-icons/svg/round/add_circle_outline.svg\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\n\nconst AddTemplateButtonContainer = styled(Elevation)`\n padding: 25px 0 20px;\n text-align: center;\n`;\n\n/**\n * This hacking is needed to position the button exactly in the middle of available area and not stretch the parent element.\n */\nconst AddTemplateIconContainer = styled.div`\n text-align: center;\n height: 36px;\n > button {\n margin-left: -24px;\n position: absolute;\n }\n`;\n\nconst Info = styled.div`\n margin-top: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n > svg {\n width: 20px;\n margin-right: 5px;\n }\n`;\n\ninterface AddTemplateProps {\n onTemplate: UseAddTemplateParams[\"onTemplate\"];\n}\n\ninterface UseAddTemplateParams {\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n}\n\nfunction useAddTemplate(params: UseAddTemplateParams) {\n const [showTemplateDialog, setShowTemplateDialog] = useState(false);\n\n const addTemplate = () => {\n setShowTemplateDialog(true);\n };\n\n const onTemplate = (template: CmsDynamicZoneTemplate) => {\n params.onTemplate(template);\n };\n\n const onDialogClose = () => {\n setShowTemplateDialog(false);\n };\n\n return {\n addTemplate,\n onTemplate,\n onDialogClose,\n showTemplateDialog\n };\n}\n\nexport const AddTemplateButton = (props: AddTemplateProps) => {\n const { addTemplate, onTemplate, showTemplateDialog, onDialogClose } = useAddTemplate({\n onTemplate: props.onTemplate\n });\n\n return (\n <AddTemplateButtonContainer z={2}>\n {showTemplateDialog ? (\n <TemplateDialog onTemplate={onTemplate} onClose={onDialogClose} />\n ) : null}\n <ButtonSecondary onClick={addTemplate}>+ Add a template</ButtonSecondary>\n <Info>\n <InfoIcon />\n <Typography use={\"caption\"}>\n Click here to learn how templates and dynamic zones work\n </Typography>\n </Info>\n </AddTemplateButtonContainer>\n );\n};\n\nexport const AddTemplateIcon = (props: AddTemplateProps) => {\n const { addTemplate, onTemplate, showTemplateDialog, onDialogClose } = useAddTemplate({\n onTemplate: props.onTemplate\n });\n\n return (\n <AddTemplateIconContainer>\n {showTemplateDialog ? (\n <TemplateDialog onTemplate={onTemplate} onClose={onDialogClose} />\n ) : null}\n <IconButton onClick={addTemplate} icon={<AddIcon />} />\n </AddTemplateIconContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,0BAA0B,oBAAGC,eAAH,EAAUC,oBAAV;EAAA;EAAA;AAAA,4CAAhC;AAKA;AACA;AACA;;AACA,IAAMC,wBAAwB,oBAAGF,eAAH;EAAA;EAAA;AAAA,kFAA9B;AASA,IAAMG,IAAI,oBAAGH,eAAH;EAAA;EAAA;AAAA,+GAAV;;AAmBA,SAASI,cAAT,CAAwBC,MAAxB,EAAsD;EAClD,gBAAoD,IAAAC,eAAA,EAAS,KAAT,CAApD;EAAA;EAAA,IAAOC,kBAAP;EAAA,IAA2BC,qBAA3B;;EAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;IACtBD,qBAAqB,CAAC,IAAD,CAArB;EACH,CAFD;;EAIA,IAAME,UAAU,GAAG,SAAbA,UAAa,CAACC,QAAD,EAAsC;IACrDN,MAAM,CAACK,UAAP,CAAkBC,QAAlB;EACH,CAFD;;EAIA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;IACxBJ,qBAAqB,CAAC,KAAD,CAArB;EACH,CAFD;;EAIA,OAAO;IACHC,WAAW,EAAXA,WADG;IAEHC,UAAU,EAAVA,UAFG;IAGHE,aAAa,EAAbA,aAHG;IAIHL,kBAAkB,EAAlBA;EAJG,CAAP;AAMH;;AAEM,IAAMM,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAA6B;EAC1D,sBAAuEV,cAAc,CAAC;IAClFM,UAAU,EAAEI,KAAK,CAACJ;EADgE,CAAD,CAArF;EAAA,IAAQD,WAAR,mBAAQA,WAAR;EAAA,IAAqBC,UAArB,mBAAqBA,UAArB;EAAA,IAAiCH,kBAAjC,mBAAiCA,kBAAjC;EAAA,IAAqDK,aAArD,mBAAqDA,aAArD;;EAIA,oBACI,6BAAC,0BAAD;IAA4B,CAAC,EAAE;EAA/B,GACKL,kBAAkB,gBACf,6BAAC,8BAAD;IAAgB,UAAU,EAAEG,UAA5B;IAAwC,OAAO,EAAEE;EAAjD,EADe,GAEf,IAHR,eAII,6BAAC,uBAAD;IAAiB,OAAO,EAAEH;EAA1B,sBAJJ,eAKI,6BAAC,IAAD,qBACI,6BAAC,oBAAD,OADJ,eAEI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,8DAFJ,CALJ,CADJ;AAcH,CAnBM;;;;AAqBA,IAAMM,eAAe,GAAG,SAAlBA,eAAkB,CAACD,KAAD,EAA6B;EACxD,uBAAuEV,cAAc,CAAC;IAClFM,UAAU,EAAEI,KAAK,CAACJ;EADgE,CAAD,CAArF;EAAA,IAAQD,WAAR,oBAAQA,WAAR;EAAA,IAAqBC,UAArB,oBAAqBA,UAArB;EAAA,IAAiCH,kBAAjC,oBAAiCA,kBAAjC;EAAA,IAAqDK,aAArD,oBAAqDA,aAArD;;EAIA,oBACI,6BAAC,wBAAD,QACKL,kBAAkB,gBACf,6BAAC,8BAAD;IAAgB,UAAU,EAAEG,UAA5B;IAAwC,OAAO,EAAEE;EAAjD,EADe,GAEf,IAHR,eAII,6BAAC,kBAAD;IAAY,OAAO,EAAEH,WAArB;IAAkC,IAAI,eAAE,6BAAC,kCAAD;EAAxC,EAJJ,CADJ;AAQH,CAbM"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const DynamicZone: () => JSX.Element;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.DynamicZone = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _Accordion = require("@webiny/ui/Accordion");
19
+
20
+ var _AddTemplate = require("./AddTemplate");
21
+
22
+ var _DynamicZoneTemplate = require("./DynamicZoneTemplate");
23
+
24
+ var _hooks = require("../../../hooks");
25
+
26
+ function updateOrCreateTemplate(templates, template) {
27
+ var templateIndex = templates.findIndex(function (tpl) {
28
+ return tpl.id === template.id;
29
+ });
30
+
31
+ if (templateIndex > -1) {
32
+ return [].concat((0, _toConsumableArray2.default)(templates.slice(0, templateIndex)), [template], (0, _toConsumableArray2.default)(templates.slice(templateIndex + 1)));
33
+ }
34
+
35
+ return [].concat((0, _toConsumableArray2.default)(templates), [template]);
36
+ }
37
+
38
+ var DynamicZone = function DynamicZone() {
39
+ var _field$settings;
40
+
41
+ var _useModelField = (0, _hooks.useModelField)(),
42
+ field = _useModelField.field;
43
+
44
+ var _useModelFieldEditor = (0, _hooks.useModelFieldEditor)(),
45
+ updateField = _useModelFieldEditor.updateField;
46
+
47
+ var newTemplateId = (0, _react.useRef)(undefined);
48
+ var templates = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates) || [];
49
+
50
+ var onTemplate = function onTemplate(template) {
51
+ var _field$settings2;
52
+
53
+ var templates = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.templates) || [];
54
+ newTemplateId.current = template.id;
55
+ updateField((0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
56
+ settings: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field.settings || {}), {}, {
57
+ templates: updateOrCreateTemplate(templates, template)
58
+ })
59
+ }));
60
+ };
61
+
62
+ (0, _react.useEffect)(function () {
63
+ // We only want to open the accordion item on first mount of a new template.
64
+ newTemplateId.current = undefined;
65
+ }, []);
66
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, templates.length ? /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, templates.map(function (template, index) {
67
+ return /*#__PURE__*/_react.default.createElement(_DynamicZoneTemplate.DynamicZoneTemplate, {
68
+ key: template.id,
69
+ open: template.id === newTemplateId.current,
70
+ index: index,
71
+ field: field,
72
+ template: template,
73
+ onChange: updateField
74
+ });
75
+ })) : null, templates.length ? /*#__PURE__*/_react.default.createElement(_AddTemplate.AddTemplateIcon, {
76
+ onTemplate: onTemplate
77
+ }) : /*#__PURE__*/_react.default.createElement(_AddTemplate.AddTemplateButton, {
78
+ onTemplate: onTemplate
79
+ }));
80
+ };
81
+
82
+ exports.DynamicZone = DynamicZone;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["updateOrCreateTemplate","templates","template","templateIndex","findIndex","tpl","id","slice","DynamicZone","useModelField","field","useModelFieldEditor","updateField","newTemplateId","useRef","undefined","settings","onTemplate","current","useEffect","length","map","index"],"sources":["DynamicZone.tsx"],"sourcesContent":["import React, { useRef, useEffect } from \"react\";\nimport { Accordion } from \"@webiny/ui/Accordion\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { AddTemplateIcon, AddTemplateButton } from \"./AddTemplate\";\nimport { DynamicZoneTemplate } from \"./DynamicZoneTemplate\";\nimport { useModelField, useModelFieldEditor } from \"~/admin/hooks\";\n\nfunction updateOrCreateTemplate(\n templates: CmsDynamicZoneTemplate[],\n template: CmsDynamicZoneTemplate\n) {\n const templateIndex = templates.findIndex(tpl => tpl.id === template.id);\n\n if (templateIndex > -1) {\n return [\n ...templates.slice(0, templateIndex),\n template,\n ...templates.slice(templateIndex + 1)\n ];\n }\n\n return [...templates, template];\n}\n\nexport const DynamicZone = () => {\n const { field } = useModelField();\n const { updateField } = useModelFieldEditor();\n const newTemplateId = useRef<string | undefined>(undefined);\n\n const templates: CmsDynamicZoneTemplate[] = field.settings?.templates || [];\n\n const onTemplate = (template: CmsDynamicZoneTemplate) => {\n const templates = field.settings?.templates || [];\n\n newTemplateId.current = template.id;\n\n updateField({\n ...field,\n settings: {\n ...(field.settings || {}),\n templates: updateOrCreateTemplate(templates, template)\n }\n });\n };\n\n useEffect(() => {\n // We only want to open the accordion item on first mount of a new template.\n newTemplateId.current = undefined;\n }, []);\n\n return (\n <>\n {templates.length ? (\n <Accordion>\n {templates.map((template, index) => (\n <DynamicZoneTemplate\n key={template.id}\n open={template.id === newTemplateId.current}\n index={index}\n field={field}\n template={template}\n onChange={updateField}\n />\n ))}\n </Accordion>\n ) : null}\n {templates.length ? (\n <AddTemplateIcon onTemplate={onTemplate} />\n ) : (\n <AddTemplateButton onTemplate={onTemplate} />\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AAEA,SAASA,sBAAT,CACIC,SADJ,EAEIC,QAFJ,EAGE;EACE,IAAMC,aAAa,GAAGF,SAAS,CAACG,SAAV,CAAoB,UAAAC,GAAG;IAAA,OAAIA,GAAG,CAACC,EAAJ,KAAWJ,QAAQ,CAACI,EAAxB;EAAA,CAAvB,CAAtB;;EAEA,IAAIH,aAAa,GAAG,CAAC,CAArB,EAAwB;IACpB,kDACOF,SAAS,CAACM,KAAV,CAAgB,CAAhB,EAAmBJ,aAAnB,CADP,IAEID,QAFJ,oCAGOD,SAAS,CAACM,KAAV,CAAgBJ,aAAa,GAAG,CAAhC,CAHP;EAKH;;EAED,kDAAWF,SAAX,IAAsBC,QAAtB;AACH;;AAEM,IAAMM,WAAW,GAAG,SAAdA,WAAc,GAAM;EAAA;;EAC7B,qBAAkB,IAAAC,oBAAA,GAAlB;EAAA,IAAQC,KAAR,kBAAQA,KAAR;;EACA,2BAAwB,IAAAC,0BAAA,GAAxB;EAAA,IAAQC,WAAR,wBAAQA,WAAR;;EACA,IAAMC,aAAa,GAAG,IAAAC,aAAA,EAA2BC,SAA3B,CAAtB;EAEA,IAAMd,SAAmC,GAAG,oBAAAS,KAAK,CAACM,QAAN,oEAAgBf,SAAhB,KAA6B,EAAzE;;EAEA,IAAMgB,UAAU,GAAG,SAAbA,UAAa,CAACf,QAAD,EAAsC;IAAA;;IACrD,IAAMD,SAAS,GAAG,qBAAAS,KAAK,CAACM,QAAN,sEAAgBf,SAAhB,KAA6B,EAA/C;IAEAY,aAAa,CAACK,OAAd,GAAwBhB,QAAQ,CAACI,EAAjC;IAEAM,WAAW,6DACJF,KADI;MAEPM,QAAQ,8DACAN,KAAK,CAACM,QAAN,IAAkB,EADlB;QAEJf,SAAS,EAAED,sBAAsB,CAACC,SAAD,EAAYC,QAAZ;MAF7B;IAFD,GAAX;EAOH,CAZD;;EAcA,IAAAiB,gBAAA,EAAU,YAAM;IACZ;IACAN,aAAa,CAACK,OAAd,GAAwBH,SAAxB;EACH,CAHD,EAGG,EAHH;EAKA,oBACI,4DACKd,SAAS,CAACmB,MAAV,gBACG,6BAAC,oBAAD,QACKnB,SAAS,CAACoB,GAAV,CAAc,UAACnB,QAAD,EAAWoB,KAAX;IAAA,oBACX,6BAAC,wCAAD;MACI,GAAG,EAAEpB,QAAQ,CAACI,EADlB;MAEI,IAAI,EAAEJ,QAAQ,CAACI,EAAT,KAAgBO,aAAa,CAACK,OAFxC;MAGI,KAAK,EAAEI,KAHX;MAII,KAAK,EAAEZ,KAJX;MAKI,QAAQ,EAAER,QALd;MAMI,QAAQ,EAAEU;IANd,EADW;EAAA,CAAd,CADL,CADH,GAaG,IAdR,EAeKX,SAAS,CAACmB,MAAV,gBACG,6BAAC,4BAAD;IAAiB,UAAU,EAAEH;EAA7B,EADH,gBAGG,6BAAC,8BAAD;IAAmB,UAAU,EAAEA;EAA/B,EAlBR,CADJ;AAuBH,CAjDM"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { CmsDynamicZoneTemplate, CmsModelField } from "../../../../types";
3
+ interface DynamicZoneTemplateProps {
4
+ index: number;
5
+ field: CmsModelField;
6
+ template: CmsDynamicZoneTemplate;
7
+ onChange: (field: CmsModelField) => void;
8
+ open: boolean;
9
+ }
10
+ export declare const DynamicZoneTemplate: ({ index, field, template, onChange, open }: DynamicZoneTemplateProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.DynamicZoneTemplate = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _dotPropImmutable = require("dot-prop-immutable");
19
+
20
+ var _reactFontawesome = require("@fortawesome/react-fontawesome");
21
+
22
+ var _edit = require("@material-design-icons/svg/outlined/edit.svg");
23
+
24
+ var _delete_outline = require("@material-design-icons/svg/outlined/delete_outline.svg");
25
+
26
+ var _expand_less = require("@material-design-icons/svg/round/expand_less.svg");
27
+
28
+ var _expand_more = require("@material-design-icons/svg/round/expand_more.svg");
29
+
30
+ var _Accordion = require("@webiny/ui/Accordion");
31
+
32
+ var _appAdmin = require("@webiny/app-admin");
33
+
34
+ var _arrayUtils = require("../../arrayUtils");
35
+
36
+ var _TemplateDialog = require("./TemplateDialog");
37
+
38
+ var _FieldEditor = require("../../../components/FieldEditor");
39
+
40
+ var TEMPLATES_PATH = "settings.templates";
41
+
42
+ var DynamicZoneTemplate = function DynamicZoneTemplate(_ref) {
43
+ var _field$settings;
44
+
45
+ var index = _ref.index,
46
+ field = _ref.field,
47
+ template = _ref.template,
48
+ onChange = _ref.onChange,
49
+ open = _ref.open;
50
+
51
+ var _useConfirmationDialo = (0, _appAdmin.useConfirmationDialog)({
52
+ title: "Delete content template",
53
+ message: "Are you sure you want to delete this content template?",
54
+ acceptLabel: "Yes, I'm sure!"
55
+ }),
56
+ showConfirmation = _useConfirmationDialo.showConfirmation;
57
+
58
+ var _useState = (0, _react.useState)(undefined),
59
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
60
+ templateToEdit = _useState2[0],
61
+ setTemplateToEdit = _useState2[1];
62
+
63
+ var templates = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates) || [];
64
+ var isFirst = index === 0;
65
+ var isLast = index === templates.length - 1;
66
+ var callbackDeps = [onChange, field, index, template.id];
67
+ var onDialogClose = (0, _react.useCallback)(function () {
68
+ setTemplateToEdit(undefined);
69
+ }, []);
70
+ var editTemplate = (0, _react.useCallback)(function () {
71
+ setTemplateToEdit(template);
72
+ }, [template]);
73
+ var updateTemplate = (0, _react.useCallback)(function (params) {
74
+ onChange((0, _dotPropImmutable.set)(field, "".concat(TEMPLATES_PATH, ".").concat(index), function (tpl) {
75
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, tpl), params);
76
+ }));
77
+ }, callbackDeps);
78
+ var updateFieldsAndLayout = (0, _react.useCallback)(function (params) {
79
+ updateTemplate((0, _objectSpread2.default)((0, _objectSpread2.default)({}, template), params));
80
+ }, [updateTemplate]);
81
+ var moveTemplateUp = (0, _react.useCallback)(function () {
82
+ onChange((0, _dotPropImmutable.set)(field, TEMPLATES_PATH, (0, _arrayUtils.pullValueAtIndex)(templates, index)));
83
+ }, callbackDeps);
84
+ var moveTemplateDown = (0, _react.useCallback)(function () {
85
+ onChange((0, _dotPropImmutable.set)(field, TEMPLATES_PATH, (0, _arrayUtils.pushValueAtIndex)(templates, index)));
86
+ }, callbackDeps);
87
+ var deleteTemplate = (0, _react.useCallback)(function () {
88
+ showConfirmation(function () {
89
+ onChange((0, _dotPropImmutable.set)(field, TEMPLATES_PATH, (0, _arrayUtils.removeValueAtIndex)(templates, index)));
90
+ });
91
+ }, callbackDeps);
92
+ var icon = template.icon ? template.icon.split("/") : undefined;
93
+ return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
94
+ title: template.name,
95
+ description: template.description,
96
+ icon: icon ? /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
97
+ icon: icon
98
+ }) : undefined,
99
+ open: open,
100
+ actions: /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
101
+ icon: /*#__PURE__*/_react.default.createElement(_expand_less.ReactComponent, null),
102
+ onClick: moveTemplateUp,
103
+ disabled: isFirst
104
+ }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
105
+ icon: /*#__PURE__*/_react.default.createElement(_expand_more.ReactComponent, null),
106
+ onClick: moveTemplateDown,
107
+ disabled: isLast
108
+ }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Divider, null), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
109
+ icon: /*#__PURE__*/_react.default.createElement(_edit.ReactComponent, null),
110
+ onClick: editTemplate
111
+ }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
112
+ icon: /*#__PURE__*/_react.default.createElement(_delete_outline.ReactComponent, null),
113
+ onClick: deleteTemplate
114
+ }))
115
+ }, templateToEdit ? /*#__PURE__*/_react.default.createElement(_TemplateDialog.TemplateDialog, {
116
+ template: templateToEdit,
117
+ onTemplate: updateTemplate,
118
+ onClose: onDialogClose
119
+ }) : null, /*#__PURE__*/_react.default.createElement(_FieldEditor.FieldEditor, {
120
+ parent: field,
121
+ fields: template.fields,
122
+ layout: template.layout,
123
+ onChange: updateFieldsAndLayout
124
+ }));
125
+ };
126
+
127
+ exports.DynamicZoneTemplate = DynamicZoneTemplate;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TEMPLATES_PATH","DynamicZoneTemplate","index","field","template","onChange","open","useConfirmationDialog","title","message","acceptLabel","showConfirmation","useState","undefined","templateToEdit","setTemplateToEdit","templates","settings","isFirst","isLast","length","callbackDeps","id","onDialogClose","useCallback","editTemplate","updateTemplate","params","set","tpl","updateFieldsAndLayout","moveTemplateUp","pullValueAtIndex","moveTemplateDown","pushValueAtIndex","deleteTemplate","removeValueAtIndex","icon","split","name","description","fields","layout"],"sources":["DynamicZoneTemplate.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { set } from \"dot-prop-immutable\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@material-design-icons/svg/round/expand_less.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@material-design-icons/svg/round/expand_more.svg\";\nimport { AccordionItem } from \"@webiny/ui/Accordion\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\nimport { pullValueAtIndex, pushValueAtIndex, removeValueAtIndex } from \"~/admin/plugins/arrayUtils\";\nimport { CmsDynamicZoneTemplate, CmsEditorFieldsLayout, CmsModelField } from \"~/types\";\nimport { TemplateDialog } from \"./TemplateDialog\";\nimport { FieldEditor } from \"~/admin/components/FieldEditor\";\n\ninterface DynamicZoneTemplateProps {\n index: number;\n field: CmsModelField;\n template: CmsDynamicZoneTemplate;\n onChange: (field: CmsModelField) => void;\n open: boolean;\n}\n\ninterface UpdateTemplate {\n (template: CmsDynamicZoneTemplate): void;\n}\n\ninterface UpdateFieldsAndLayout {\n (params: { fields: CmsModelField[]; layout: CmsEditorFieldsLayout }): void;\n}\n\nconst TEMPLATES_PATH = \"settings.templates\";\n\nexport const DynamicZoneTemplate = ({\n index,\n field,\n template,\n onChange,\n open\n}: DynamicZoneTemplateProps) => {\n const { showConfirmation } = useConfirmationDialog({\n title: \"Delete content template\",\n message: \"Are you sure you want to delete this content template?\",\n acceptLabel: \"Yes, I'm sure!\"\n });\n\n const [templateToEdit, setTemplateToEdit] = useState<CmsDynamicZoneTemplate | undefined>(\n undefined\n );\n\n const templates = field.settings?.templates || [];\n const isFirst = index === 0;\n const isLast = index === templates.length - 1;\n\n const callbackDeps = [onChange, field, index, template.id];\n\n const onDialogClose = useCallback(() => {\n setTemplateToEdit(undefined);\n }, []);\n\n const editTemplate = useCallback(() => {\n setTemplateToEdit(template);\n }, [template]);\n\n const updateTemplate = useCallback<UpdateTemplate>(params => {\n onChange(\n set(field, `${TEMPLATES_PATH}.${index}`, (tpl: CmsDynamicZoneTemplate) => {\n return { ...tpl, ...params };\n })\n );\n }, callbackDeps);\n\n const updateFieldsAndLayout = useCallback<UpdateFieldsAndLayout>(\n params => {\n updateTemplate({ ...template, ...params });\n },\n [updateTemplate]\n );\n\n const moveTemplateUp = useCallback(() => {\n onChange(set(field, TEMPLATES_PATH, pullValueAtIndex(templates, index)));\n }, callbackDeps);\n\n const moveTemplateDown = useCallback(() => {\n onChange(set(field, TEMPLATES_PATH, pushValueAtIndex(templates, index)));\n }, callbackDeps);\n\n const deleteTemplate = useCallback(() => {\n showConfirmation(() => {\n onChange(set(field, TEMPLATES_PATH, removeValueAtIndex(templates, index)));\n });\n }, callbackDeps);\n\n const icon = template.icon ? (template.icon.split(\"/\") as IconProp) : undefined;\n\n return (\n <AccordionItem\n title={template.name}\n description={template.description}\n icon={icon ? <FontAwesomeIcon icon={icon} /> : undefined}\n open={open}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<ArrowUpIcon />}\n onClick={moveTemplateUp}\n disabled={isFirst}\n />\n <AccordionItem.Action\n icon={<ArrowDownIcon />}\n onClick={moveTemplateDown}\n disabled={isLast}\n />\n <AccordionItem.Divider />\n <AccordionItem.Action icon={<EditIcon />} onClick={editTemplate} />\n <AccordionItem.Action icon={<DeleteIcon />} onClick={deleteTemplate} />\n </AccordionItem.Actions>\n }\n >\n {templateToEdit ? (\n <TemplateDialog\n template={templateToEdit}\n onTemplate={updateTemplate}\n onClose={onDialogClose}\n />\n ) : null}\n\n <FieldEditor\n parent={field}\n fields={template.fields}\n layout={template.layout}\n onChange={updateFieldsAndLayout}\n />\n </AccordionItem>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { CmsDynamicZoneTemplate } from "../../../../types";
3
+ interface TemplateDialogProps {
4
+ onClose: () => void;
5
+ template?: CmsDynamicZoneTemplate;
6
+ onTemplate: (template: CmsDynamicZoneTemplate) => void;
7
+ }
8
+ export declare const TemplateDialog: (props: TemplateDialogProps) => JSX.Element;
9
+ export {};
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.TemplateDialog = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _Button = require("@webiny/ui/Button");
19
+
20
+ var _Grid = require("@webiny/ui/Grid");
21
+
22
+ var _Input = require("@webiny/ui/Input");
23
+
24
+ var _form = require("@webiny/form");
25
+
26
+ var _validation = require("@webiny/validation");
27
+
28
+ var _utils = require("@webiny/utils");
29
+
30
+ var _IconPicker = require("../../../components/IconPicker");
31
+
32
+ var _Dialog = require("../../../components/Dialog");
33
+
34
+ var _Alert = require("@webiny/ui/Alert");
35
+
36
+ var typeNameValidator = function typeNameValidator(value) {
37
+ var regex = new RegExp("^[A-Z]+[_0-9A-Za-z]+$");
38
+
39
+ if (regex.test(value)) {
40
+ return true;
41
+ }
42
+
43
+ throw Error("Must start with a capital letter, may contain numbers, and must not contain spaces.");
44
+ };
45
+
46
+ var getGraphQLTypeName = function getGraphQLTypeName(value) {
47
+ var titleCase = value.charAt(0).toUpperCase() + value.slice(1);
48
+ return titleCase.replace(/[^a-zA-Z0-9]/g, "");
49
+ };
50
+
51
+ var TemplateDialog = function TemplateDialog(props) {
52
+ var _useState = (0, _react.useState)(false),
53
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
54
+ showWarning = _useState2[0],
55
+ setWarning = _useState2[1];
56
+
57
+ var newTemplate = !Boolean(props.template);
58
+ var dialogTitle = newTemplate ? "Add Template" : "Edit Template";
59
+ var submitLabel = newTemplate ? "Add Template" : "Update Template";
60
+
61
+ var onSubmit = function onSubmit(template) {
62
+ if (template.id) {
63
+ props.onTemplate(template);
64
+ } else {
65
+ props.onTemplate((0, _objectSpread2.default)((0, _objectSpread2.default)({}, template), {}, {
66
+ id: (0, _utils.generateAlphaNumericLowerCaseId)(),
67
+ fields: [],
68
+ layout: []
69
+ }));
70
+ }
71
+
72
+ props.onClose();
73
+ };
74
+
75
+ var showGqlTypeNameWarning = function showGqlTypeNameWarning() {
76
+ setWarning(true);
77
+ };
78
+
79
+ var hideGqlTypeNameWarning = function hideGqlTypeNameWarning() {
80
+ setWarning(false);
81
+ };
82
+
83
+ var checkGqlType = function checkGqlType(data) {
84
+ var _props$template;
85
+
86
+ if (newTemplate) {
87
+ return;
88
+ }
89
+
90
+ if (data.gqlTypeName !== ((_props$template = props.template) === null || _props$template === void 0 ? void 0 : _props$template.gqlTypeName)) {
91
+ showGqlTypeNameWarning();
92
+ } else {
93
+ hideGqlTypeNameWarning();
94
+ }
95
+ };
96
+
97
+ var nameOnBlur = function nameOnBlur(form) {
98
+ return function () {
99
+ if (!form.data.gqlTypeName) {
100
+ /**
101
+ * There is a possibility that name is undefined, so let's check for it.
102
+ */
103
+ var name = form.data.name;
104
+
105
+ if (!name) {
106
+ return;
107
+ }
108
+
109
+ form.setValue("gqlTypeName", getGraphQLTypeName(name));
110
+ }
111
+ };
112
+ };
113
+
114
+ var onFormChange = function onFormChange(data, form) {
115
+ checkGqlType(data, form);
116
+ };
117
+
118
+ return /*#__PURE__*/_react.default.createElement(_Dialog.Dialog, {
119
+ open: true,
120
+ onClose: props.onClose
121
+ }, /*#__PURE__*/_react.default.createElement(_form.Form, {
122
+ onSubmit: onSubmit,
123
+ data: props.template,
124
+ onChange: onFormChange
125
+ }, function (_ref) {
126
+ var Bind = _ref.Bind,
127
+ submit = _ref.submit,
128
+ form = _ref.form;
129
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, null, dialogTitle), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, showWarning ? /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
130
+ span: 12
131
+ }, /*#__PURE__*/_react.default.createElement(_Alert.Alert, {
132
+ title: "GraphQL Schema Change",
133
+ type: "danger"
134
+ }, "You've changed the GraphQL schema type name! If your API is being queried by a 3rd party application, this will affect the GraphQL queries in those applications. Make sure your consumers are informed about this change!")) : null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
135
+ span: 12
136
+ }, /*#__PURE__*/_react.default.createElement(Bind, {
137
+ name: "name",
138
+ validators: [_validation.validation.create("required")]
139
+ }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
140
+ label: "Name",
141
+ onBlur: nameOnBlur(form)
142
+ }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
143
+ span: 12
144
+ }, /*#__PURE__*/_react.default.createElement(Bind, {
145
+ name: "gqlTypeName",
146
+ validators: [_validation.validation.create("required"), typeNameValidator]
147
+ }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
148
+ autoFocus: false,
149
+ label: "GraphQL Type Name",
150
+ description: "This string will be used to generate the GraphQL schema. "
151
+ }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
152
+ span: 12
153
+ }, /*#__PURE__*/_react.default.createElement(Bind, {
154
+ name: "icon",
155
+ validators: [_validation.validation.create("required")]
156
+ }, /*#__PURE__*/_react.default.createElement(_IconPicker.IconPicker, {
157
+ label: "Icon"
158
+ }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
159
+ span: 12
160
+ }, /*#__PURE__*/_react.default.createElement(Bind, {
161
+ name: "description",
162
+ validators: [_validation.validation.create("required")]
163
+ }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
164
+ rows: 3,
165
+ label: "Description"
166
+ }))))), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
167
+ onClick: props.onClose
168
+ }, "Cancel"), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
169
+ onClick: submit
170
+ }, submitLabel)));
171
+ }));
172
+ };
173
+
174
+ exports.TemplateDialog = TemplateDialog;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["typeNameValidator","value","regex","RegExp","test","Error","getGraphQLTypeName","titleCase","charAt","toUpperCase","slice","replace","TemplateDialog","props","useState","showWarning","setWarning","newTemplate","Boolean","template","dialogTitle","submitLabel","onSubmit","id","onTemplate","generateAlphaNumericLowerCaseId","fields","layout","onClose","showGqlTypeNameWarning","hideGqlTypeNameWarning","checkGqlType","data","gqlTypeName","nameOnBlur","form","name","setValue","onFormChange","Bind","submit","validation","create"],"sources":["TemplateDialog.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { ButtonPrimary, ButtonDefault } from \"@webiny/ui/Button\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Form, FormAPI, FormOnSubmit } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils\";\nimport { IconPicker } from \"~/admin/components/IconPicker\";\nimport { Dialog, DialogTitle, DialogContent, DialogActions } from \"~/admin/components/Dialog\";\nimport { Alert } from \"@webiny/ui/Alert\";\n\nconst typeNameValidator = (value: string) => {\n const regex = new RegExp(\"^[A-Z]+[_0-9A-Za-z]+$\");\n if (regex.test(value)) {\n return true;\n }\n\n throw Error(\n `Must start with a capital letter, may contain numbers, and must not contain spaces.`\n );\n};\n\nconst getGraphQLTypeName = (value: string) => {\n const titleCase = value.charAt(0).toUpperCase() + value.slice(1);\n return titleCase.replace(/[^a-zA-Z0-9]/g, \"\");\n};\n\ninterface TemplateDialogProps {\n onClose: () => void;\n template?: CmsDynamicZoneTemplate;\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n}\n\nexport const TemplateDialog = (props: TemplateDialogProps) => {\n const [showWarning, setWarning] = useState(false);\n const newTemplate = !Boolean(props.template);\n const dialogTitle = newTemplate ? \"Add Template\" : \"Edit Template\";\n const submitLabel = newTemplate ? \"Add Template\" : \"Update Template\";\n\n const onSubmit: FormOnSubmit<CmsDynamicZoneTemplate> = template => {\n if (template.id) {\n props.onTemplate(template);\n } else {\n props.onTemplate({\n ...template,\n id: generateAlphaNumericLowerCaseId(),\n fields: [],\n layout: []\n });\n }\n props.onClose();\n };\n\n const showGqlTypeNameWarning = () => {\n setWarning(true);\n };\n\n const hideGqlTypeNameWarning = () => {\n setWarning(false);\n };\n\n const checkGqlType: FormOnSubmit<CmsDynamicZoneTemplate> = data => {\n if (newTemplate) {\n return;\n }\n\n if (data.gqlTypeName !== props.template?.gqlTypeName) {\n showGqlTypeNameWarning();\n } else {\n hideGqlTypeNameWarning();\n }\n };\n\n const nameOnBlur = (form: FormAPI<CmsDynamicZoneTemplate>) => () => {\n if (!form.data.gqlTypeName) {\n /**\n * There is a possibility that name is undefined, so let's check for it.\n */\n const name = form.data.name;\n if (!name) {\n return;\n }\n form.setValue(\"gqlTypeName\", getGraphQLTypeName(name));\n }\n };\n\n const onFormChange: FormOnSubmit<CmsDynamicZoneTemplate> = (data, form) => {\n checkGqlType(data, form);\n };\n\n return (\n <Dialog open={true} onClose={props.onClose}>\n <Form<CmsDynamicZoneTemplate>\n onSubmit={onSubmit}\n data={props.template}\n onChange={onFormChange}\n >\n {({ Bind, submit, form }) => (\n <>\n <DialogTitle>{dialogTitle}</DialogTitle>\n <DialogContent>\n <Grid>\n {showWarning ? (\n <Cell span={12}>\n <Alert title={\"GraphQL Schema Change\"} type={\"danger\"}>\n You&apos;ve changed the GraphQL schema type name! If\n your API is being queried by a 3rd party application,\n this will affect the GraphQL queries in those\n applications. Make sure your consumers are informed\n about this change!\n </Alert>\n </Cell>\n ) : null}\n <Cell span={12}>\n <Bind\n name={\"name\"}\n validators={[validation.create(\"required\")]}\n >\n <Input label={\"Name\"} onBlur={nameOnBlur(form)} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"gqlTypeName\"}\n validators={[\n validation.create(\"required\"),\n typeNameValidator\n ]}\n >\n <Input\n autoFocus={false}\n label={\"GraphQL Type Name\"}\n description={\n \"This string will be used to generate the GraphQL schema. \"\n }\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"icon\"}\n validators={[validation.create(\"required\")]}\n >\n <IconPicker label={\"Icon\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"description\"}\n validators={[validation.create(\"required\")]}\n >\n <Input rows={3} label={\"Description\"} />\n </Bind>\n </Cell>\n </Grid>\n </DialogContent>\n <DialogActions>\n <ButtonDefault onClick={props.onClose}>Cancel</ButtonDefault>\n <ButtonPrimary onClick={submit}>{submitLabel}</ButtonPrimary>\n </DialogActions>\n </>\n )}\n </Form>\n </Dialog>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldValidatorConfig } from "../../../../types";
2
+ export declare const commonValidators: CmsModelFieldValidatorConfig[];
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.commonValidators = void 0;
7
+ var commonValidators = [{
8
+ name: "minLength",
9
+ label: "Minimum number of entries",
10
+ description: "Define the minimum number of entries a user must create.",
11
+ defaultMessage: "You must create at least {value} entries.",
12
+ variables: [{
13
+ name: "value",
14
+ description: "This defines the minimum number of entries a user must create."
15
+ }]
16
+ }, {
17
+ name: "maxLength",
18
+ label: "Maximum number of entries",
19
+ description: "Define the maximum number of entries a user can create.",
20
+ defaultMessage: "You have too many entries (max: {value}).",
21
+ variables: [{
22
+ name: "value",
23
+ description: "This defines the maximum number of entries a user can create."
24
+ }]
25
+ }];
26
+ exports.commonValidators = commonValidators;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["commonValidators","name","label","description","defaultMessage","variables"],"sources":["commonValidators.ts"],"sourcesContent":["import { CmsModelFieldValidatorConfig } from \"~/types\";\n\nexport const commonValidators: CmsModelFieldValidatorConfig[] = [\n {\n name: \"minLength\",\n label: \"Minimum number of entries\",\n description: \"Define the minimum number of entries a user must create.\",\n defaultMessage: \"You must create at least {value} entries.\",\n variables: [\n {\n name: \"value\",\n description: \"This defines the minimum number of entries a user must create.\"\n }\n ]\n },\n {\n name: \"maxLength\",\n label: \"Maximum number of entries\",\n description: \"Define the maximum number of entries a user can create.\",\n defaultMessage: \"You have too many entries (max: {value}).\",\n variables: [\n {\n name: \"value\",\n description: \"This defines the maximum number of entries a user can create.\"\n }\n ]\n }\n];\n"],"mappings":";;;;;;AAEO,IAAMA,gBAAgD,GAAG,CAC5D;EACIC,IAAI,EAAE,WADV;EAEIC,KAAK,EAAE,2BAFX;EAGIC,WAAW,EAAE,0DAHjB;EAIIC,cAAc,EAAE,2CAJpB;EAKIC,SAAS,EAAE,CACP;IACIJ,IAAI,EAAE,OADV;IAEIE,WAAW,EAAE;EAFjB,CADO;AALf,CAD4D,EAa5D;EACIF,IAAI,EAAE,WADV;EAEIC,KAAK,EAAE,2BAFX;EAGIC,WAAW,EAAE,yDAHjB;EAIIC,cAAc,EAAE,2CAJpB;EAKIC,SAAS,EAAE,CACP;IACIJ,IAAI,EAAE,OADV;IAEIE,WAAW,EAAE;EAFjB,CADO;AALf,CAb4D,CAAzD"}
@@ -0,0 +1,2 @@
1
+ import { CmsEditorFieldTypePlugin } from "../../../types";
2
+ export declare const dynamicZoneField: CmsEditorFieldTypePlugin;