@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
@@ -1 +1 @@
1
- {"version":3,"names":["parseDateTime","value","date","time","includes","split","console","error","DateTimeWithoutTimezone","field","bind","trailingIcon","initialValue","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","bindValue","useEffect","onChange","cellSize","label"],"sources":["DateTimeWithoutTimezone.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n getCurrentDate,\n getCurrentLocalTime,\n getDefaultFieldValue,\n RemoveFieldButton\n} from \"./utils\";\nimport { Input } from \"./Input\";\nimport { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n}\n\nconst parseDateTime = (value?: string): State => {\n if (!value) {\n return {\n date: \"\",\n time: \"\"\n };\n }\n if (value.includes(\"T\")) {\n const [date, time] = value.split(\".\")[0].split(\"T\");\n return {\n date,\n time\n };\n }\n const [date, time] = value.split(\" \");\n if (!date || !time) {\n console.error(`Could not extract date and time from \"${value}\".`);\n\n return {\n date: \"\",\n time: \"\"\n };\n }\n return {\n date,\n time\n };\n};\n\nexport interface DateTimeWithoutTimezoneProps {\n bind: BindComponentRenderProp;\n trailingIcon?: any;\n field: CmsEditorField;\n}\nexport const DateTimeWithoutTimezone: React.FC<DateTimeWithoutTimezoneProps> = ({\n field,\n bind,\n trailingIcon\n}) => {\n // \"2020-05-18 09:00:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)} ${getCurrentLocalTime(date)}`;\n });\n\n const { date, time } = parseDateTime(initialValue);\n\n const bindValue = bind.value || \"\";\n\n useEffect(() => {\n if (!date || !time || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 5 : 6;\n\n return (\n <Grid>\n <Cell span={6}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${value} ${time || getCurrentLocalTime()}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={cellSize}>\n <Input\n bind={{\n ...bind,\n value: time,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${date || getCurrentDate()} ${value}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={5}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["parseDateTime","value","date","time","includes","split","console","error","DateTimeWithoutTimezone","field","bind","trailingIcon","initialValue","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","bindValue","useEffect","onChange","cellSize","label"],"sources":["DateTimeWithoutTimezone.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n getCurrentDate,\n getCurrentLocalTime,\n getDefaultFieldValue,\n RemoveFieldButton\n} from \"./utils\";\nimport { Input } from \"./Input\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n}\n\nconst parseDateTime = (value?: string): State => {\n if (!value) {\n return {\n date: \"\",\n time: \"\"\n };\n }\n if (value.includes(\"T\")) {\n const [date, time] = value.split(\".\")[0].split(\"T\");\n return {\n date,\n time\n };\n }\n const [date, time] = value.split(\" \");\n if (!date || !time) {\n console.error(`Could not extract date and time from \"${value}\".`);\n\n return {\n date: \"\",\n time: \"\"\n };\n }\n return {\n date,\n time\n };\n};\n\nexport interface DateTimeWithoutTimezoneProps {\n bind: BindComponentRenderProp;\n trailingIcon?: any;\n field: CmsModelField;\n}\nexport const DateTimeWithoutTimezone: React.FC<DateTimeWithoutTimezoneProps> = ({\n field,\n bind,\n trailingIcon\n}) => {\n // \"2020-05-18 09:00:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)} ${getCurrentLocalTime(date)}`;\n });\n\n const { date, time } = parseDateTime(initialValue);\n\n const bindValue = bind.value || \"\";\n\n useEffect(() => {\n if (!date || !time || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 5 : 6;\n\n return (\n <Grid>\n <Cell span={6}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${value} ${time || getCurrentLocalTime()}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={cellSize}>\n <Input\n bind={{\n ...bind,\n value: time,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${date || getCurrentDate()} ${value}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={5}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { CmsEditorField } from "../../../../types";
2
+ import { CmsModelField } from "../../../../types";
3
3
  import { BindComponentRenderProp } from "@webiny/form";
4
4
  export interface TrailingIcon {
5
5
  icon: React.ReactNode;
@@ -9,7 +9,7 @@ export interface InputProps {
9
9
  step?: number;
10
10
  type?: string;
11
11
  bind: BindComponentRenderProp;
12
- field: CmsEditorField;
12
+ field: CmsModelField;
13
13
  trailingIcon?: TrailingIcon;
14
14
  }
15
15
  export declare const Input: React.FC<InputProps>;
@@ -1 +1 @@
1
- {"version":3,"names":["Input","bind","props","value","type","parseFloat","onChange","field","label","placeholderText","helpText","trailingIcon"],"sources":["Input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { Input as UiInput } from \"@webiny/ui/Input\";\n\nexport interface TrailingIcon {\n icon: React.ReactNode;\n onClick: any;\n}\n\nexport interface InputProps {\n step?: number;\n type?: string;\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n trailingIcon?: TrailingIcon;\n}\n\nexport const Input: React.FC<InputProps> = ({ bind, ...props }) => {\n return (\n <UiInput\n {...props}\n {...bind}\n onChange={value => {\n if (props.type === \"number\") {\n value = parseFloat(value);\n }\n return bind.onChange(value);\n }}\n label={props.field.label}\n placeholder={props.field.placeholderText}\n description={props.field.helpText}\n type={props.type}\n trailingIcon={props.trailingIcon}\n data-testid={`fr.input.${props.field.label}`}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAGA;;;;AAeO,IAAMA,KAA2B,GAAG,SAA9BA,KAA8B,OAAwB;EAAA,IAArBC,IAAqB,QAArBA,IAAqB;EAAA,IAAZC,KAAY;EAC/D,oBACI,oBAAC,YAAD,oBACQA,KADR,EAEQD,IAFR;IAGI,QAAQ,EAAE,kBAAAE,KAAK,EAAI;MACf,IAAID,KAAK,CAACE,IAAN,KAAe,QAAnB,EAA6B;QACzBD,KAAK,GAAGE,UAAU,CAACF,KAAD,CAAlB;MACH;;MACD,OAAOF,IAAI,CAACK,QAAL,CAAcH,KAAd,CAAP;IACH,CARL;IASI,KAAK,EAAED,KAAK,CAACK,KAAN,CAAYC,KATvB;IAUI,WAAW,EAAEN,KAAK,CAACK,KAAN,CAAYE,eAV7B;IAWI,WAAW,EAAEP,KAAK,CAACK,KAAN,CAAYG,QAX7B;IAYI,IAAI,EAAER,KAAK,CAACE,IAZhB;IAaI,YAAY,EAAEF,KAAK,CAACS,YAbxB;IAcI,kCAAyBT,KAAK,CAACK,KAAN,CAAYC,KAArC;EAdJ,GADJ;AAkBH,CAnBM"}
1
+ {"version":3,"names":["Input","bind","props","value","type","parseFloat","onChange","field","label","placeholderText","helpText","trailingIcon"],"sources":["Input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { Input as UiInput } from \"@webiny/ui/Input\";\n\nexport interface TrailingIcon {\n icon: React.ReactNode;\n onClick: any;\n}\n\nexport interface InputProps {\n step?: number;\n type?: string;\n bind: BindComponentRenderProp;\n field: CmsModelField;\n trailingIcon?: TrailingIcon;\n}\n\nexport const Input: React.FC<InputProps> = ({ bind, ...props }) => {\n return (\n <UiInput\n {...props}\n {...bind}\n onChange={value => {\n if (props.type === \"number\") {\n value = parseFloat(value);\n }\n return bind.onChange(value);\n }}\n label={props.field.label}\n placeholder={props.field.placeholderText}\n description={props.field.helpText}\n type={props.type}\n trailingIcon={props.trailingIcon}\n data-testid={`fr.input.${props.field.label}`}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAGA;;;;AAeO,IAAMA,KAA2B,GAAG,SAA9BA,KAA8B,OAAwB;EAAA,IAArBC,IAAqB,QAArBA,IAAqB;EAAA,IAAZC,KAAY;EAC/D,oBACI,oBAAC,YAAD,oBACQA,KADR,EAEQD,IAFR;IAGI,QAAQ,EAAE,kBAAAE,KAAK,EAAI;MACf,IAAID,KAAK,CAACE,IAAN,KAAe,QAAnB,EAA6B;QACzBD,KAAK,GAAGE,UAAU,CAACF,KAAD,CAAlB;MACH;;MACD,OAAOF,IAAI,CAACK,QAAL,CAAcH,KAAd,CAAP;IACH,CARL;IASI,KAAK,EAAED,KAAK,CAACK,KAAN,CAAYC,KATvB;IAUI,WAAW,EAAEN,KAAK,CAACK,KAAN,CAAYE,eAV7B;IAWI,WAAW,EAAEP,KAAK,CAACK,KAAN,CAAYG,QAX7B;IAYI,IAAI,EAAER,KAAK,CAACE,IAZhB;IAaI,YAAY,EAAEF,KAAK,CAACS,YAbxB;IAcI,kCAAyBT,KAAK,CAACK,KAAN,CAAYC,KAArC;EAdJ,GADJ;AAkBH,CAnBM"}
@@ -1,11 +1,11 @@
1
1
  import React from "react";
2
- import { CmsEditorField } from "../../../../types";
2
+ import { CmsModelField } from "../../../../types";
3
3
  export declare const UTC_TIMEZONES: {
4
4
  value: string;
5
5
  label: string;
6
6
  }[];
7
7
  export declare const DEFAULT_TIMEZONE = "+01:00";
8
- export declare const getDefaultFieldValue: (field: CmsEditorField, bind: {
8
+ export declare const getDefaultFieldValue: (field: CmsModelField, bind: {
9
9
  value: string | null | undefined;
10
10
  }, getCurrent: () => string) => string;
11
11
  export declare const getCurrentTimeZone: (date?: Date) => string | null;
@@ -1 +1 @@
1
- {"version":3,"names":["UTC_TIMEZONES","value","label","DEFAULT_TIMEZONE","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","slice","getCurrentLocalTime","split","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","deleteIconStyles","css","width","height","color","RemoveFieldButton","trailingIcon","onClick","icon"],"sources":["utils.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsEditorField } from \"~/types\";\n\nexport const UTC_TIMEZONES = [\n {\n value: \"-12:00\",\n label: \"UTC-12:00\"\n },\n {\n value: \"-11:00\",\n label: \"UTC-11:00\"\n },\n {\n value: \"-10:00\",\n label: \"UTC-10:00\"\n },\n {\n value: \"-09:30\",\n label: \"UTC-09:30\"\n },\n {\n value: \"-09:00\",\n label: \"UTC-09:00\"\n },\n {\n value: \"-08:00\",\n label: \"UTC-08:00\"\n },\n {\n value: \"-07:00\",\n label: \"UTC-07:00\"\n },\n {\n value: \"-06:00\",\n label: \"UTC-06:00\"\n },\n {\n value: \"-05:00\",\n label: \"UTC-05:00\"\n },\n {\n value: \"-04:30\",\n label: \"UTC-04:30\"\n },\n {\n value: \"-04:00\",\n label: \"UTC-04:00\"\n },\n {\n value: \"-03:30\",\n label: \"UTC-03:30\"\n },\n {\n value: \"-03:00\",\n label: \"UTC-03:00\"\n },\n {\n value: \"-02:00\",\n label: \"UTC-02:00\"\n },\n {\n value: \"-01:00\",\n label: \"UTC-01:00\"\n },\n {\n value: \"+00:00\",\n label: \"UTC+00:00\"\n },\n {\n value: \"+01:00\",\n label: \"UTC+01:00\"\n },\n {\n value: \"+02:00\",\n label: \"UTC+02:00\"\n },\n {\n value: \"+03:00\",\n label: \"UTC+03:00\"\n },\n {\n value: \"+03:30\",\n label: \"UTC+03:30\"\n },\n {\n value: \"+04:00\",\n label: \"UTC+04:00\"\n },\n {\n value: \"+04:30\",\n label: \"UTC+04:30\"\n },\n {\n value: \"+05:30\",\n label: \"UTC+05:30\"\n },\n {\n value: \"+05:45\",\n label: \"UTC+05:45\"\n },\n {\n value: \"+06:00\",\n label: \"UTC+06:00\"\n },\n {\n value: \"+06:30\",\n label: \"UTC+06:30\"\n },\n {\n value: \"+07:00\",\n label: \"UTC+07:00\"\n },\n {\n value: \"+08:00\",\n label: \"UTC+08:00\"\n },\n {\n value: \"+08:45\",\n label: \"UTC+08:45\"\n },\n {\n value: \"+09:00\",\n label: \"UTC+09:00\"\n },\n {\n value: \"+09:30\",\n label: \"UTC+09:30\"\n },\n {\n value: \"+10:00\",\n label: \"UTC+10:00\"\n },\n {\n value: \"+10:30\",\n label: \"UTC+10:30\"\n },\n {\n value: \"+11:00\",\n label: \"UTC+11:00\"\n },\n {\n value: \"+11:30\",\n label: \"UTC+11:30\"\n },\n {\n value: \"+12:00\",\n label: \"UTC+12:00\"\n },\n {\n value: \"+12:45\",\n label: \"UTC+12:45\"\n },\n {\n value: \"+13:00\",\n label: \"UTC+13:00\"\n },\n {\n value: \"+14:00\",\n label: \"UTC+14:00\"\n }\n];\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsEditorField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.slice(0, 3)}:${timezone.slice(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon: any;\n}\nexport const RemoveFieldButton: React.FC<RemoveFieldButtonProps> = ({ trailingIcon }) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["UTC_TIMEZONES","value","label","DEFAULT_TIMEZONE","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","slice","getCurrentLocalTime","split","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","deleteIconStyles","css","width","height","color","RemoveFieldButton","trailingIcon","onClick","icon"],"sources":["utils.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsModelField } from \"~/types\";\n\nexport const UTC_TIMEZONES = [\n {\n value: \"-12:00\",\n label: \"UTC-12:00\"\n },\n {\n value: \"-11:00\",\n label: \"UTC-11:00\"\n },\n {\n value: \"-10:00\",\n label: \"UTC-10:00\"\n },\n {\n value: \"-09:30\",\n label: \"UTC-09:30\"\n },\n {\n value: \"-09:00\",\n label: \"UTC-09:00\"\n },\n {\n value: \"-08:00\",\n label: \"UTC-08:00\"\n },\n {\n value: \"-07:00\",\n label: \"UTC-07:00\"\n },\n {\n value: \"-06:00\",\n label: \"UTC-06:00\"\n },\n {\n value: \"-05:00\",\n label: \"UTC-05:00\"\n },\n {\n value: \"-04:30\",\n label: \"UTC-04:30\"\n },\n {\n value: \"-04:00\",\n label: \"UTC-04:00\"\n },\n {\n value: \"-03:30\",\n label: \"UTC-03:30\"\n },\n {\n value: \"-03:00\",\n label: \"UTC-03:00\"\n },\n {\n value: \"-02:00\",\n label: \"UTC-02:00\"\n },\n {\n value: \"-01:00\",\n label: \"UTC-01:00\"\n },\n {\n value: \"+00:00\",\n label: \"UTC+00:00\"\n },\n {\n value: \"+01:00\",\n label: \"UTC+01:00\"\n },\n {\n value: \"+02:00\",\n label: \"UTC+02:00\"\n },\n {\n value: \"+03:00\",\n label: \"UTC+03:00\"\n },\n {\n value: \"+03:30\",\n label: \"UTC+03:30\"\n },\n {\n value: \"+04:00\",\n label: \"UTC+04:00\"\n },\n {\n value: \"+04:30\",\n label: \"UTC+04:30\"\n },\n {\n value: \"+05:30\",\n label: \"UTC+05:30\"\n },\n {\n value: \"+05:45\",\n label: \"UTC+05:45\"\n },\n {\n value: \"+06:00\",\n label: \"UTC+06:00\"\n },\n {\n value: \"+06:30\",\n label: \"UTC+06:30\"\n },\n {\n value: \"+07:00\",\n label: \"UTC+07:00\"\n },\n {\n value: \"+08:00\",\n label: \"UTC+08:00\"\n },\n {\n value: \"+08:45\",\n label: \"UTC+08:45\"\n },\n {\n value: \"+09:00\",\n label: \"UTC+09:00\"\n },\n {\n value: \"+09:30\",\n label: \"UTC+09:30\"\n },\n {\n value: \"+10:00\",\n label: \"UTC+10:00\"\n },\n {\n value: \"+10:30\",\n label: \"UTC+10:30\"\n },\n {\n value: \"+11:00\",\n label: \"UTC+11:00\"\n },\n {\n value: \"+11:30\",\n label: \"UTC+11:30\"\n },\n {\n value: \"+12:00\",\n label: \"UTC+12:00\"\n },\n {\n value: \"+12:45\",\n label: \"UTC+12:45\"\n },\n {\n value: \"+13:00\",\n label: \"UTC+13:00\"\n },\n {\n value: \"+14:00\",\n label: \"UTC+14:00\"\n }\n];\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsModelField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.slice(0, 3)}:${timezone.slice(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon: any;\n}\nexport const RemoveFieldButton: React.FC<RemoveFieldButtonProps> = ({ trailingIcon }) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { CmsDynamicZoneTemplate } from "../../../../types";
3
+ interface UseAddTemplateParams {
4
+ onTemplate: (template: CmsDynamicZoneTemplate) => void;
5
+ }
6
+ interface AddTemplateProps {
7
+ label?: string;
8
+ onTemplate: UseAddTemplateParams["onTemplate"];
9
+ }
10
+ export declare const AddTemplateButton: (props: AddTemplateProps) => JSX.Element;
11
+ export declare const AddTemplateIcon: (props: AddTemplateProps) => JSX.Element;
12
+ export {};
@@ -0,0 +1,107 @@
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 _info = require("@material-design-icons/svg/outlined/info.svg");
19
+
20
+ var _add_circle_outline = require("@material-design-icons/svg/round/add_circle_outline.svg");
21
+
22
+ var _Typography = require("@webiny/ui/Typography");
23
+
24
+ var _TemplateGallery = require("./TemplateGallery");
25
+
26
+ var _Button = require("@webiny/ui/Button");
27
+
28
+ var AddIconContainer = /*#__PURE__*/(0, _styled.default)("div", {
29
+ label: "AddIconContainer",
30
+ target: "e4w4vi60"
31
+ })("text-align:center;padding-top:3px;");
32
+ var AddButtonContainer = /*#__PURE__*/(0, _styled.default)("div", {
33
+ label: "AddButtonContainer",
34
+ target: "e4w4vi61"
35
+ })("text-align:center;margin-top:20px;:first-of-type{margin-top:0;}");
36
+ var Info = /*#__PURE__*/(0, _styled.default)("div", {
37
+ label: "Info",
38
+ target: "e4w4vi62"
39
+ })("display:flex;justify-content:center;align-items:center;margin-top:5px;> svg{width:20px;margin-right:5px;}");
40
+
41
+ function useAddTemplate(params) {
42
+ var _useState = (0, _react.useState)(false),
43
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
44
+ showGallery = _useState2[0],
45
+ setShowGallery = _useState2[1];
46
+
47
+ var browseTemplates = function browseTemplates() {
48
+ setShowGallery(true);
49
+ };
50
+
51
+ var onTemplate = function onTemplate(template) {
52
+ params.onTemplate(template);
53
+ onGalleryClose();
54
+ };
55
+
56
+ var onGalleryClose = function onGalleryClose() {
57
+ setShowGallery(false);
58
+ };
59
+
60
+ return {
61
+ showGallery: showGallery,
62
+ browseTemplates: browseTemplates,
63
+ onTemplate: onTemplate,
64
+ onGalleryClose: onGalleryClose
65
+ };
66
+ }
67
+
68
+ var AddTemplateButton = function AddTemplateButton(props) {
69
+ var _useAddTemplate = useAddTemplate({
70
+ onTemplate: props.onTemplate
71
+ }),
72
+ showGallery = _useAddTemplate.showGallery,
73
+ onTemplate = _useAddTemplate.onTemplate,
74
+ browseTemplates = _useAddTemplate.browseTemplates,
75
+ onGalleryClose = _useAddTemplate.onGalleryClose;
76
+
77
+ return /*#__PURE__*/_react.default.createElement(AddButtonContainer, null, showGallery ? /*#__PURE__*/_react.default.createElement(_TemplateGallery.TemplateGallery, {
78
+ onTemplate: onTemplate,
79
+ onClose: onGalleryClose
80
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonSecondary, {
81
+ onClick: browseTemplates
82
+ }, "+ Add a template"), /*#__PURE__*/_react.default.createElement(Info, null, /*#__PURE__*/_react.default.createElement(_info.ReactComponent, null), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
83
+ use: "caption"
84
+ }, "Click here to learn how templates and dynamic zones work"))));
85
+ };
86
+
87
+ exports.AddTemplateButton = AddTemplateButton;
88
+
89
+ var AddTemplateIcon = function AddTemplateIcon(props) {
90
+ var _useAddTemplate2 = useAddTemplate({
91
+ onTemplate: props.onTemplate
92
+ }),
93
+ showGallery = _useAddTemplate2.showGallery,
94
+ onTemplate = _useAddTemplate2.onTemplate,
95
+ browseTemplates = _useAddTemplate2.browseTemplates,
96
+ onGalleryClose = _useAddTemplate2.onGalleryClose;
97
+
98
+ return /*#__PURE__*/_react.default.createElement(AddIconContainer, null, showGallery ? /*#__PURE__*/_react.default.createElement(_TemplateGallery.TemplateGallery, {
99
+ onTemplate: onTemplate,
100
+ onClose: onGalleryClose
101
+ }) : /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
102
+ onClick: browseTemplates,
103
+ icon: /*#__PURE__*/_react.default.createElement(_add_circle_outline.ReactComponent, null)
104
+ }));
105
+ };
106
+
107
+ exports.AddTemplateIcon = AddTemplateIcon;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AddIconContainer","styled","AddButtonContainer","Info","useAddTemplate","params","useState","showGallery","setShowGallery","browseTemplates","onTemplate","template","onGalleryClose","AddTemplateButton","props","AddTemplateIcon"],"sources":["AddTemplate.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport styled from \"@emotion/styled\";\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 { Typography } from \"@webiny/ui/Typography\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { TemplateGallery } from \"./TemplateGallery\";\nimport { IconButton, ButtonSecondary } from \"@webiny/ui/Button\";\n\nconst AddIconContainer = styled.div`\n text-align: center;\n padding-top: 3px;\n`;\n\nconst AddButtonContainer = styled.div`\n text-align: center;\n margin-top: 20px;\n :first-of-type {\n margin-top: 0;\n }\n`;\n\nconst Info = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 5px;\n > svg {\n width: 20px;\n margin-right: 5px;\n }\n`;\n\ninterface UseAddTemplateParams {\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n}\n\nfunction useAddTemplate(params: UseAddTemplateParams) {\n const [showGallery, setShowGallery] = useState(false);\n\n const browseTemplates = () => {\n setShowGallery(true);\n };\n\n const onTemplate = (template: CmsDynamicZoneTemplate) => {\n params.onTemplate(template);\n onGalleryClose();\n };\n\n const onGalleryClose = () => {\n setShowGallery(false);\n };\n\n return {\n showGallery,\n browseTemplates,\n onTemplate,\n onGalleryClose\n };\n}\n\ninterface AddTemplateProps {\n label?: string;\n onTemplate: UseAddTemplateParams[\"onTemplate\"];\n}\n\nexport const AddTemplateButton = (props: AddTemplateProps) => {\n const { showGallery, onTemplate, browseTemplates, onGalleryClose } = useAddTemplate({\n onTemplate: props.onTemplate\n });\n\n return (\n <AddButtonContainer>\n {showGallery ? (\n <TemplateGallery onTemplate={onTemplate} onClose={onGalleryClose} />\n ) : (\n <>\n <ButtonSecondary onClick={browseTemplates}>+ 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 </>\n )}\n </AddButtonContainer>\n );\n};\n\nexport const AddTemplateIcon = (props: AddTemplateProps) => {\n const { showGallery, onTemplate, browseTemplates, onGalleryClose } = useAddTemplate({\n onTemplate: props.onTemplate\n });\n\n return (\n <AddIconContainer>\n {showGallery ? (\n <TemplateGallery onTemplate={onTemplate} onClose={onGalleryClose} />\n ) : (\n <IconButton onClick={browseTemplates} icon={<AddIcon />} />\n )}\n </AddIconContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,gBAAgB,oBAAGC,eAAH;EAAA;EAAA;AAAA,wCAAtB;AAKA,IAAMC,kBAAkB,oBAAGD,eAAH;EAAA;EAAA;AAAA,qEAAxB;AAQA,IAAME,IAAI,oBAAGF,eAAH;EAAA;EAAA;AAAA,+GAAV;;AAeA,SAASG,cAAT,CAAwBC,MAAxB,EAAsD;EAClD,gBAAsC,IAAAC,eAAA,EAAS,KAAT,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;IAC1BD,cAAc,CAAC,IAAD,CAAd;EACH,CAFD;;EAIA,IAAME,UAAU,GAAG,SAAbA,UAAa,CAACC,QAAD,EAAsC;IACrDN,MAAM,CAACK,UAAP,CAAkBC,QAAlB;IACAC,cAAc;EACjB,CAHD;;EAKA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,GAAM;IACzBJ,cAAc,CAAC,KAAD,CAAd;EACH,CAFD;;EAIA,OAAO;IACHD,WAAW,EAAXA,WADG;IAEHE,eAAe,EAAfA,eAFG;IAGHC,UAAU,EAAVA,UAHG;IAIHE,cAAc,EAAdA;EAJG,CAAP;AAMH;;AAOM,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAA6B;EAC1D,sBAAqEV,cAAc,CAAC;IAChFM,UAAU,EAAEI,KAAK,CAACJ;EAD8D,CAAD,CAAnF;EAAA,IAAQH,WAAR,mBAAQA,WAAR;EAAA,IAAqBG,UAArB,mBAAqBA,UAArB;EAAA,IAAiCD,eAAjC,mBAAiCA,eAAjC;EAAA,IAAkDG,cAAlD,mBAAkDA,cAAlD;;EAIA,oBACI,6BAAC,kBAAD,QACKL,WAAW,gBACR,6BAAC,gCAAD;IAAiB,UAAU,EAAEG,UAA7B;IAAyC,OAAO,EAAEE;EAAlD,EADQ,gBAGR,yEACI,6BAAC,uBAAD;IAAiB,OAAO,EAAEH;EAA1B,sBADJ,eAEI,6BAAC,IAAD,qBACI,6BAAC,oBAAD,OADJ,eAEI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,8DAFJ,CAFJ,CAJR,CADJ;AAiBH,CAtBM;;;;AAwBA,IAAMM,eAAe,GAAG,SAAlBA,eAAkB,CAACD,KAAD,EAA6B;EACxD,uBAAqEV,cAAc,CAAC;IAChFM,UAAU,EAAEI,KAAK,CAACJ;EAD8D,CAAD,CAAnF;EAAA,IAAQH,WAAR,oBAAQA,WAAR;EAAA,IAAqBG,UAArB,oBAAqBA,UAArB;EAAA,IAAiCD,eAAjC,oBAAiCA,eAAjC;EAAA,IAAkDG,cAAlD,oBAAkDA,cAAlD;;EAIA,oBACI,6BAAC,gBAAD,QACKL,WAAW,gBACR,6BAAC,gCAAD;IAAiB,UAAU,EAAEG,UAA7B;IAAyC,OAAO,EAAEE;EAAlD,EADQ,gBAGR,6BAAC,kBAAD;IAAY,OAAO,EAAEH,eAArB;IAAsC,IAAI,eAAE,6BAAC,kCAAD;EAA5C,EAJR,CADJ;AASH,CAdM"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { BindComponentRenderProp, CmsEditorFieldRendererProps, CmsModel, CmsModelField } from "../../../../types";
3
+ declare type GetBind = CmsEditorFieldRendererProps["getBind"];
4
+ interface MultiValueDynamicZoneProps {
5
+ field: CmsModelField;
6
+ bind: BindComponentRenderProp;
7
+ contentModel: CmsModel;
8
+ getBind: GetBind;
9
+ }
10
+ export declare const MultiValueDynamicZone: ({ bind, getBind, contentModel }: MultiValueDynamicZoneProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.MultiValueDynamicZone = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
13
+
14
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
15
+
16
+ var _Accordion = require("@webiny/ui/Accordion");
17
+
18
+ var _delete_outline = require("@material-design-icons/svg/outlined/delete_outline.svg");
19
+
20
+ var _library_add = require("@material-design-icons/svg/outlined/library_add.svg");
21
+
22
+ var _expand_less = require("@material-design-icons/svg/round/expand_less.svg");
23
+
24
+ var _expand_more = require("@material-design-icons/svg/round/expand_more.svg");
25
+
26
+ var _AddTemplate = require("./AddTemplate");
27
+
28
+ var _TemplateIcon = require("./TemplateIcon");
29
+
30
+ var _hooks = require("../../../hooks");
31
+
32
+ var _Fields = require("../../../components/ContentEntryForm/Fields");
33
+
34
+ var BottomMargin = /*#__PURE__*/(0, _styled.default)("div", {
35
+ label: "BottomMargin",
36
+ target: "e1mhu37c0"
37
+ })("margin-bottom:20px;");
38
+
39
+ var TemplateValueForm = function TemplateValueForm(_ref) {
40
+ var _field$settings;
41
+
42
+ var value = _ref.value,
43
+ contentModel = _ref.contentModel,
44
+ Bind = _ref.Bind,
45
+ isLast = _ref.isLast,
46
+ isFirst = _ref.isFirst,
47
+ onMoveUp = _ref.onMoveUp,
48
+ onMoveDown = _ref.onMoveDown,
49
+ onDelete = _ref.onDelete,
50
+ onClone = _ref.onClone;
51
+
52
+ var _useModelField = (0, _hooks.useModelField)(),
53
+ field = _useModelField.field;
54
+
55
+ var templates = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates) || [];
56
+ var template = templates.find(function (tpl) {
57
+ return tpl.id === value._templateId;
58
+ });
59
+
60
+ if (!template) {
61
+ return null;
62
+ }
63
+
64
+ return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
65
+ title: template.name,
66
+ description: template.description,
67
+ icon: /*#__PURE__*/_react.default.createElement(_TemplateIcon.TemplateIcon, {
68
+ icon: template.icon
69
+ }),
70
+ actions: /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
71
+ icon: /*#__PURE__*/_react.default.createElement(_expand_less.ReactComponent, null),
72
+ onClick: onMoveUp,
73
+ disabled: isFirst
74
+ }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
75
+ icon: /*#__PURE__*/_react.default.createElement(_expand_more.ReactComponent, null),
76
+ onClick: onMoveDown,
77
+ disabled: isLast
78
+ }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Divider, null), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
79
+ icon: /*#__PURE__*/_react.default.createElement(_library_add.ReactComponent, null),
80
+ onClick: onClone
81
+ }), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
82
+ icon: /*#__PURE__*/_react.default.createElement(_delete_outline.ReactComponent, null),
83
+ onClick: onDelete
84
+ }))
85
+ }, /*#__PURE__*/_react.default.createElement(_Fields.Fields, {
86
+ fields: template.fields,
87
+ layout: template.layout || [],
88
+ contentModel: contentModel,
89
+ Bind: Bind
90
+ }));
91
+ };
92
+
93
+ var MultiValueDynamicZone = function MultiValueDynamicZone(_ref2) {
94
+ var bind = _ref2.bind,
95
+ getBind = _ref2.getBind,
96
+ contentModel = _ref2.contentModel;
97
+
98
+ var onTemplate = function onTemplate(template) {
99
+ bind.appendValue({
100
+ _templateId: template.id
101
+ });
102
+ };
103
+
104
+ var cloneValue = function cloneValue(index) {
105
+ var newValue = (0, _cloneDeep.default)(bind.value[index]);
106
+ bind.appendValue(newValue, index + 1);
107
+ };
108
+
109
+ var values = bind.value || [];
110
+ var hasValues = values.length > 0;
111
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, hasValues ? /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, values.map(function (value, index) {
112
+ return /*#__PURE__*/_react.default.createElement(TemplateValueForm, {
113
+ key: index,
114
+ value: value,
115
+ contentModel: contentModel,
116
+ Bind: getBind(index),
117
+ isFirst: index === 0,
118
+ isLast: index === values.length - 1,
119
+ onMoveUp: function onMoveUp() {
120
+ return bind.moveValueUp(index);
121
+ },
122
+ onMoveDown: function onMoveDown() {
123
+ return bind.moveValueDown(index);
124
+ },
125
+ onDelete: function onDelete() {
126
+ return bind.removeValue(index);
127
+ },
128
+ onClone: function onClone() {
129
+ return cloneValue(index);
130
+ }
131
+ });
132
+ })) : null, hasValues ? /*#__PURE__*/_react.default.createElement(_AddTemplate.AddTemplateIcon, {
133
+ onTemplate: onTemplate
134
+ }) : /*#__PURE__*/_react.default.createElement(BottomMargin, null, /*#__PURE__*/_react.default.createElement(_AddTemplate.AddTemplateButton, {
135
+ onTemplate: onTemplate
136
+ })));
137
+ };
138
+
139
+ exports.MultiValueDynamicZone = MultiValueDynamicZone;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BottomMargin","styled","TemplateValueForm","value","contentModel","Bind","isLast","isFirst","onMoveUp","onMoveDown","onDelete","onClone","useModelField","field","templates","settings","template","find","tpl","id","_templateId","name","description","icon","fields","layout","MultiValueDynamicZone","bind","getBind","onTemplate","appendValue","cloneValue","index","newValue","cloneDeep","values","hasValues","length","map","moveValueUp","moveValueDown","removeValue"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@material-design-icons/svg/outlined/library_add.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 { AddTemplateButton, AddTemplateIcon } from \"./AddTemplate\";\nimport { TemplateIcon } from \"./TemplateIcon\";\nimport { useModelField } from \"~/admin/hooks\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport {\n BindComponent,\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsEditorFieldRendererProps,\n CmsModel,\n CmsModelField\n} from \"~/types\";\n\nconst BottomMargin = styled.div`\n margin-bottom: 20px;\n`;\n\ntype GetBind = CmsEditorFieldRendererProps[\"getBind\"];\n\ninterface TemplateValue {\n _templateId: string;\n [key: string]: any;\n}\n\ninterface TemplateValueFormProps {\n value: TemplateValue;\n contentModel: CmsModel;\n Bind: BindComponent;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: () => void;\n}\n\nconst TemplateValueForm = ({\n value,\n contentModel,\n Bind,\n isLast,\n isFirst,\n onMoveUp,\n onMoveDown,\n onDelete,\n onClone\n}: TemplateValueFormProps) => {\n const { field } = useModelField();\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = templates.find(\n tpl => tpl.id === value._templateId\n );\n\n if (!template) {\n return null;\n }\n\n return (\n <AccordionItem\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<ArrowUpIcon />}\n onClick={onMoveUp}\n disabled={isFirst}\n />\n <AccordionItem.Action\n icon={<ArrowDownIcon />}\n onClick={onMoveDown}\n disabled={isLast}\n />\n <AccordionItem.Divider />\n <AccordionItem.Action icon={<CloneIcon />} onClick={onClone} />\n <AccordionItem.Action icon={<DeleteIcon />} onClick={onDelete} />\n </AccordionItem.Actions>\n }\n >\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </AccordionItem>\n );\n};\n\ninterface MultiValueDynamicZoneProps {\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const MultiValueDynamicZone = ({\n bind,\n getBind,\n contentModel\n}: MultiValueDynamicZoneProps) => {\n const onTemplate = (template: CmsDynamicZoneTemplate) => {\n bind.appendValue({ _templateId: template.id });\n };\n\n const cloneValue = (index: number) => {\n const newValue = cloneDeep(bind.value[index]);\n bind.appendValue(newValue, index + 1);\n };\n\n const values: TemplateValue[] = bind.value || [];\n const hasValues = values.length > 0;\n\n return (\n <>\n {hasValues ? (\n <Accordion>\n {values.map((value, index) => (\n <TemplateValueForm\n key={index}\n value={value}\n contentModel={contentModel}\n Bind={getBind(index)}\n isFirst={index === 0}\n isLast={index === values.length - 1}\n onMoveUp={() => bind.moveValueUp(index)}\n onMoveDown={() => bind.moveValueDown(index)}\n onDelete={() => bind.removeValue(index)}\n onClone={() => cloneValue(index)}\n />\n ))}\n </Accordion>\n ) : null}\n {hasValues ? (\n <AddTemplateIcon onTemplate={onTemplate} />\n ) : (\n <BottomMargin>\n <AddTemplateButton onTemplate={onTemplate} />\n </BottomMargin>\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAUA,IAAMA,YAAY,oBAAGC,eAAH;EAAA;EAAA;AAAA,yBAAlB;;AAuBA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,OAUI;EAAA;;EAAA,IAT1BC,KAS0B,QAT1BA,KAS0B;EAAA,IAR1BC,YAQ0B,QAR1BA,YAQ0B;EAAA,IAP1BC,IAO0B,QAP1BA,IAO0B;EAAA,IAN1BC,MAM0B,QAN1BA,MAM0B;EAAA,IAL1BC,OAK0B,QAL1BA,OAK0B;EAAA,IAJ1BC,QAI0B,QAJ1BA,QAI0B;EAAA,IAH1BC,UAG0B,QAH1BA,UAG0B;EAAA,IAF1BC,QAE0B,QAF1BA,QAE0B;EAAA,IAD1BC,OAC0B,QAD1BA,OAC0B;;EAC1B,qBAAkB,IAAAC,oBAAA,GAAlB;EAAA,IAAQC,KAAR,kBAAQA,KAAR;;EACA,IAAMC,SAAS,GAAG,oBAAAD,KAAK,CAACE,QAAN,oEAAgBD,SAAhB,KAA6B,EAA/C;EAEA,IAAME,QAA4C,GAAGF,SAAS,CAACG,IAAV,CACjD,UAAAC,GAAG;IAAA,OAAIA,GAAG,CAACC,EAAJ,KAAWhB,KAAK,CAACiB,WAArB;EAAA,CAD8C,CAArD;;EAIA,IAAI,CAACJ,QAAL,EAAe;IACX,OAAO,IAAP;EACH;;EAED,oBACI,6BAAC,wBAAD;IACI,KAAK,EAAEA,QAAQ,CAACK,IADpB;IAEI,WAAW,EAAEL,QAAQ,CAACM,WAF1B;IAGI,IAAI,eAAE,6BAAC,0BAAD;MAAc,IAAI,EAAEN,QAAQ,CAACO;IAA7B,EAHV;IAII,OAAO,eACH,6BAAC,wBAAD,CAAe,OAAf,qBACI,6BAAC,wBAAD,CAAe,MAAf;MACI,IAAI,eAAE,6BAAC,2BAAD,OADV;MAEI,OAAO,EAAEf,QAFb;MAGI,QAAQ,EAAED;IAHd,EADJ,eAMI,6BAAC,wBAAD,CAAe,MAAf;MACI,IAAI,eAAE,6BAAC,2BAAD,OADV;MAEI,OAAO,EAAEE,UAFb;MAGI,QAAQ,EAAEH;IAHd,EANJ,eAWI,6BAAC,wBAAD,CAAe,OAAf,OAXJ,eAYI,6BAAC,wBAAD,CAAe,MAAf;MAAsB,IAAI,eAAE,6BAAC,2BAAD,OAA5B;MAA2C,OAAO,EAAEK;IAApD,EAZJ,eAaI,6BAAC,wBAAD,CAAe,MAAf;MAAsB,IAAI,eAAE,6BAAC,8BAAD,OAA5B;MAA4C,OAAO,EAAED;IAArD,EAbJ;EALR,gBAsBI,6BAAC,cAAD;IACI,MAAM,EAAEM,QAAQ,CAACQ,MADrB;IAEI,MAAM,EAAER,QAAQ,CAACS,MAAT,IAAmB,EAF/B;IAGI,YAAY,EAAErB,YAHlB;IAII,IAAI,EAAEC;EAJV,EAtBJ,CADJ;AA+BH,CArDD;;AA8DO,IAAMqB,qBAAqB,GAAG,SAAxBA,qBAAwB,QAIH;EAAA,IAH9BC,IAG8B,SAH9BA,IAG8B;EAAA,IAF9BC,OAE8B,SAF9BA,OAE8B;EAAA,IAD9BxB,YAC8B,SAD9BA,YAC8B;;EAC9B,IAAMyB,UAAU,GAAG,SAAbA,UAAa,CAACb,QAAD,EAAsC;IACrDW,IAAI,CAACG,WAAL,CAAiB;MAAEV,WAAW,EAAEJ,QAAQ,CAACG;IAAxB,CAAjB;EACH,CAFD;;EAIA,IAAMY,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAmB;IAClC,IAAMC,QAAQ,GAAG,IAAAC,kBAAA,EAAUP,IAAI,CAACxB,KAAL,CAAW6B,KAAX,CAAV,CAAjB;IACAL,IAAI,CAACG,WAAL,CAAiBG,QAAjB,EAA2BD,KAAK,GAAG,CAAnC;EACH,CAHD;;EAKA,IAAMG,MAAuB,GAAGR,IAAI,CAACxB,KAAL,IAAc,EAA9C;EACA,IAAMiC,SAAS,GAAGD,MAAM,CAACE,MAAP,GAAgB,CAAlC;EAEA,oBACI,4DACKD,SAAS,gBACN,6BAAC,oBAAD,QACKD,MAAM,CAACG,GAAP,CAAW,UAACnC,KAAD,EAAQ6B,KAAR;IAAA,oBACR,6BAAC,iBAAD;MACI,GAAG,EAAEA,KADT;MAEI,KAAK,EAAE7B,KAFX;MAGI,YAAY,EAAEC,YAHlB;MAII,IAAI,EAAEwB,OAAO,CAACI,KAAD,CAJjB;MAKI,OAAO,EAAEA,KAAK,KAAK,CALvB;MAMI,MAAM,EAAEA,KAAK,KAAKG,MAAM,CAACE,MAAP,GAAgB,CANtC;MAOI,QAAQ,EAAE;QAAA,OAAMV,IAAI,CAACY,WAAL,CAAiBP,KAAjB,CAAN;MAAA,CAPd;MAQI,UAAU,EAAE;QAAA,OAAML,IAAI,CAACa,aAAL,CAAmBR,KAAnB,CAAN;MAAA,CARhB;MASI,QAAQ,EAAE;QAAA,OAAML,IAAI,CAACc,WAAL,CAAiBT,KAAjB,CAAN;MAAA,CATd;MAUI,OAAO,EAAE;QAAA,OAAMD,UAAU,CAACC,KAAD,CAAhB;MAAA;IAVb,EADQ;EAAA,CAAX,CADL,CADM,GAiBN,IAlBR,EAmBKI,SAAS,gBACN,6BAAC,4BAAD;IAAiB,UAAU,EAAEP;EAA7B,EADM,gBAGN,6BAAC,YAAD,qBACI,6BAAC,8BAAD;IAAmB,UAAU,EAAEA;EAA/B,EADJ,CAtBR,CADJ;AA6BH,CA9CM"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { BindComponentRenderProp, CmsEditorFieldRendererProps, CmsModel, CmsModelField } from "../../../../types";
3
+ declare type GetBind = CmsEditorFieldRendererProps["getBind"];
4
+ interface SingleValueDynamicZoneProps {
5
+ field: CmsModelField;
6
+ bind: BindComponentRenderProp;
7
+ contentModel: CmsModel;
8
+ getBind: GetBind;
9
+ }
10
+ export declare const SingleValueDynamicZone: ({ field, bind, contentModel, getBind }: SingleValueDynamicZoneProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SingleValueDynamicZone = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _delete_outline = require("@material-design-icons/svg/outlined/delete_outline.svg");
13
+
14
+ var _Accordion = require("@webiny/ui/Accordion");
15
+
16
+ var _Fields = require("../../../components/ContentEntryForm/Fields");
17
+
18
+ var _AddTemplate = require("./AddTemplate");
19
+
20
+ var _TemplateIcon = require("./TemplateIcon");
21
+
22
+ var SingleValueDynamicZone = function SingleValueDynamicZone(_ref) {
23
+ var _field$settings;
24
+
25
+ var field = _ref.field,
26
+ bind = _ref.bind,
27
+ contentModel = _ref.contentModel,
28
+ getBind = _ref.getBind;
29
+
30
+ var onTemplate = function onTemplate(template) {
31
+ bind.onChange({
32
+ _templateId: template.id
33
+ });
34
+ };
35
+
36
+ var templates = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates) || [];
37
+ var template = bind.value ? templates.find(function (tpl) {
38
+ return tpl.id === bind.value._templateId;
39
+ }) : undefined;
40
+ var Bind = getBind();
41
+
42
+ var unsetValue = function unsetValue() {
43
+ bind.onChange(null);
44
+ };
45
+
46
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, template ? /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
47
+ title: template.name,
48
+ description: template.description,
49
+ icon: /*#__PURE__*/_react.default.createElement(_TemplateIcon.TemplateIcon, {
50
+ icon: template.icon
51
+ }),
52
+ open: true,
53
+ interactive: false,
54
+ actions: /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
55
+ icon: /*#__PURE__*/_react.default.createElement(_delete_outline.ReactComponent, null),
56
+ onClick: unsetValue
57
+ }))
58
+ }, /*#__PURE__*/_react.default.createElement(_Fields.Fields, {
59
+ fields: template.fields,
60
+ layout: template.layout || [],
61
+ contentModel: contentModel,
62
+ Bind: Bind
63
+ }))) : null, bind.value ? null : /*#__PURE__*/_react.default.createElement(_AddTemplate.AddTemplateButton, {
64
+ onTemplate: onTemplate
65
+ }));
66
+ };
67
+
68
+ exports.SingleValueDynamicZone = SingleValueDynamicZone;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SingleValueDynamicZone","field","bind","contentModel","getBind","onTemplate","template","onChange","_templateId","id","templates","settings","value","find","tpl","undefined","Bind","unsetValue","name","description","icon","fields","layout"],"sources":["SingleValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport { AddTemplateButton } from \"./AddTemplate\";\nimport { TemplateIcon } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon\";\nimport {\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsEditorFieldRendererProps,\n CmsModel,\n CmsModelField\n} from \"~/types\";\n\ntype GetBind = CmsEditorFieldRendererProps[\"getBind\"];\n\ninterface SingleValueDynamicZoneProps {\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const SingleValueDynamicZone = ({\n field,\n bind,\n contentModel,\n getBind\n}: SingleValueDynamicZoneProps) => {\n const onTemplate = (template: CmsDynamicZoneTemplate) => {\n bind.onChange({ _templateId: template.id });\n };\n\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = bind.value\n ? templates.find(tpl => tpl.id === bind.value._templateId)\n : undefined;\n\n const Bind = getBind();\n\n const unsetValue = () => {\n bind.onChange(null);\n };\n\n return (\n <>\n {template ? (\n <Accordion>\n <AccordionItem\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n open={true}\n interactive={false}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action icon={<DeleteIcon />} onClick={unsetValue} />\n </AccordionItem.Actions>\n }\n >\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </AccordionItem>\n </Accordion>\n ) : null}\n {bind.value ? null : <AddTemplateButton onTemplate={onTemplate} />}\n </>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAkBO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAKH;EAAA;;EAAA,IAJ/BC,KAI+B,QAJ/BA,KAI+B;EAAA,IAH/BC,IAG+B,QAH/BA,IAG+B;EAAA,IAF/BC,YAE+B,QAF/BA,YAE+B;EAAA,IAD/BC,OAC+B,QAD/BA,OAC+B;;EAC/B,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,QAAD,EAAsC;IACrDJ,IAAI,CAACK,QAAL,CAAc;MAAEC,WAAW,EAAEF,QAAQ,CAACG;IAAxB,CAAd;EACH,CAFD;;EAIA,IAAMC,SAAS,GAAG,oBAAAT,KAAK,CAACU,QAAN,oEAAgBD,SAAhB,KAA6B,EAA/C;EAEA,IAAMJ,QAA4C,GAAGJ,IAAI,CAACU,KAAL,GAC/CF,SAAS,CAACG,IAAV,CAAe,UAAAC,GAAG;IAAA,OAAIA,GAAG,CAACL,EAAJ,KAAWP,IAAI,CAACU,KAAL,CAAWJ,WAA1B;EAAA,CAAlB,CAD+C,GAE/CO,SAFN;EAIA,IAAMC,IAAI,GAAGZ,OAAO,EAApB;;EAEA,IAAMa,UAAU,GAAG,SAAbA,UAAa,GAAM;IACrBf,IAAI,CAACK,QAAL,CAAc,IAAd;EACH,CAFD;;EAIA,oBACI,4DACKD,QAAQ,gBACL,6BAAC,oBAAD,qBACI,6BAAC,wBAAD;IACI,KAAK,EAAEA,QAAQ,CAACY,IADpB;IAEI,WAAW,EAAEZ,QAAQ,CAACa,WAF1B;IAGI,IAAI,eAAE,6BAAC,0BAAD;MAAc,IAAI,EAAEb,QAAQ,CAACc;IAA7B,EAHV;IAII,IAAI,EAAE,IAJV;IAKI,WAAW,EAAE,KALjB;IAMI,OAAO,eACH,6BAAC,wBAAD,CAAe,OAAf,qBACI,6BAAC,wBAAD,CAAe,MAAf;MAAsB,IAAI,eAAE,6BAAC,8BAAD,OAA5B;MAA4C,OAAO,EAAEH;IAArD,EADJ;EAPR,gBAYI,6BAAC,cAAD;IACI,MAAM,EAAEX,QAAQ,CAACe,MADrB;IAEI,MAAM,EAAEf,QAAQ,CAACgB,MAAT,IAAmB,EAF/B;IAGI,YAAY,EAAEnB,YAHlB;IAII,IAAI,EAAEa;EAJV,EAZJ,CADJ,CADK,GAsBL,IAvBR,EAwBKd,IAAI,CAACU,KAAL,GAAa,IAAb,gBAAoB,6BAAC,8BAAD;IAAmB,UAAU,EAAEP;EAA/B,EAxBzB,CADJ;AA4BH,CAlDM"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { CmsDynamicZoneTemplate } from "../../../../types";
3
+ interface TemplateCardProps {
4
+ template: CmsDynamicZoneTemplate;
5
+ onTemplate: (template: CmsDynamicZoneTemplate) => void;
6
+ }
7
+ export declare const TemplateCard: ({ template, onTemplate }: TemplateCardProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TemplateCard = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
13
+
14
+ var _Typography = require("@webiny/ui/Typography");
15
+
16
+ var _Button = require("@webiny/ui/Button");
17
+
18
+ var _TemplateIcon = require("./TemplateIcon");
19
+
20
+ var CardContainer = /*#__PURE__*/(0, _styled.default)("div", {
21
+ label: "CardContainer",
22
+ target: "e8hs6u70"
23
+ })("display:flex;flex-direction:column;width:170px;height:200px;margin:5px;border:1px solid var(--mdc-theme-background);");
24
+ var CardIcon = /*#__PURE__*/(0, _styled.default)("div", {
25
+ label: "CardIcon",
26
+ target: "e8hs6u71"
27
+ })("text-align:center;padding:25px;font-size:1.5rem;background-color:var(--mdc-theme-background);");
28
+ var CardBody = /*#__PURE__*/(0, _styled.default)("div", {
29
+ label: "CardBody",
30
+ target: "e8hs6u72"
31
+ })("display:flex;flex-direction:column;flex:1;padding:10px;text-align:left;");
32
+ var CardTitle = /*#__PURE__*/(0, _styled.default)(_Typography.Typography, {
33
+ label: "CardTitle",
34
+ target: "e8hs6u73"
35
+ })("margin-bottom:10px;");
36
+ var CardDescription = /*#__PURE__*/(0, _styled.default)(_Typography.Typography, {
37
+ label: "CardDescription",
38
+ target: "e8hs6u74"
39
+ })("text-overflow:ellipsis;margin-bottom:10px;white-space:nowrap;overflow:hidden;");
40
+ var CardButton = /*#__PURE__*/(0, _styled.default)(_Button.ButtonSecondary, {
41
+ label: "CardButton",
42
+ target: "e8hs6u75"
43
+ })("font-size:0.7rem;line-height:100%;margin-top:auto;");
44
+
45
+ var TemplateCard = function TemplateCard(_ref) {
46
+ var template = _ref.template,
47
+ onTemplate = _ref.onTemplate;
48
+ return /*#__PURE__*/_react.default.createElement(CardContainer, null, /*#__PURE__*/_react.default.createElement(CardIcon, null, /*#__PURE__*/_react.default.createElement(_TemplateIcon.TemplateIcon, {
49
+ icon: template.icon
50
+ })), /*#__PURE__*/_react.default.createElement(CardBody, null, /*#__PURE__*/_react.default.createElement(CardTitle, {
51
+ tag: "p",
52
+ use: "subtitle2"
53
+ }, template.name), /*#__PURE__*/_react.default.createElement(CardDescription, {
54
+ tag: "p",
55
+ use: "body2"
56
+ }, template.description), /*#__PURE__*/_react.default.createElement(CardButton, {
57
+ onClick: function onClick() {
58
+ return onTemplate(template);
59
+ }
60
+ }, "+ Insert Template")));
61
+ };
62
+
63
+ exports.TemplateCard = TemplateCard;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CardContainer","styled","CardIcon","CardBody","CardTitle","Typography","CardDescription","CardButton","ButtonSecondary","TemplateCard","template","onTemplate","icon","name","description"],"sources":["TemplateCard.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { ButtonSecondary } from \"@webiny/ui/Button\";\nimport { TemplateIcon } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon\";\n\nconst CardContainer = styled.div`\n display: flex;\n flex-direction: column;\n width: 170px;\n height: 200px;\n margin: 5px;\n border: 1px solid var(--mdc-theme-background);\n`;\n\nconst CardIcon = styled.div`\n text-align: center;\n padding: 25px;\n font-size: 1.5rem;\n background-color: var(--mdc-theme-background);\n`;\n\nconst CardBody = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 10px;\n text-align: left;\n`;\n\nconst CardTitle = styled(Typography)`\n margin-bottom: 10px;\n`;\n\nconst CardDescription = styled(Typography)`\n text-overflow: ellipsis;\n margin-bottom: 10px;\n white-space: nowrap;\n overflow: hidden;\n`;\n\nconst CardButton = styled(ButtonSecondary)`\n font-size: 0.7rem;\n line-height: 100%;\n margin-top: auto;\n`;\n\ninterface TemplateCardProps {\n template: CmsDynamicZoneTemplate;\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n}\n\nexport const TemplateCard = ({ template, onTemplate }: TemplateCardProps) => {\n return (\n <CardContainer>\n <CardIcon>\n <TemplateIcon icon={template.icon} />\n </CardIcon>\n <CardBody>\n <CardTitle tag={\"p\"} use={\"subtitle2\"}>\n {template.name}\n </CardTitle>\n <CardDescription tag={\"p\"} use={\"body2\"}>\n {template.description}\n </CardDescription>\n <CardButton onClick={() => onTemplate(template)}>+ Insert Template</CardButton>\n </CardBody>\n </CardContainer>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AAEA,IAAMA,aAAa,oBAAGC,eAAH;EAAA;EAAA;AAAA,0HAAnB;AASA,IAAMC,QAAQ,oBAAGD,eAAH;EAAA;EAAA;AAAA,mGAAd;AAOA,IAAME,QAAQ,oBAAGF,eAAH;EAAA;EAAA;AAAA,6EAAd;AAQA,IAAMG,SAAS,oBAAGH,eAAH,EAAUI,sBAAV;EAAA;EAAA;AAAA,yBAAf;AAIA,IAAMC,eAAe,oBAAGL,eAAH,EAAUI,sBAAV;EAAA;EAAA;AAAA,mFAArB;AAOA,IAAME,UAAU,oBAAGN,eAAH,EAAUO,uBAAV;EAAA;EAAA;AAAA,wDAAhB;;AAWO,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAAiD;EAAA,IAA9CC,QAA8C,QAA9CA,QAA8C;EAAA,IAApCC,UAAoC,QAApCA,UAAoC;EACzE,oBACI,6BAAC,aAAD,qBACI,6BAAC,QAAD,qBACI,6BAAC,0BAAD;IAAc,IAAI,EAAED,QAAQ,CAACE;EAA7B,EADJ,CADJ,eAII,6BAAC,QAAD,qBACI,6BAAC,SAAD;IAAW,GAAG,EAAE,GAAhB;IAAqB,GAAG,EAAE;EAA1B,GACKF,QAAQ,CAACG,IADd,CADJ,eAII,6BAAC,eAAD;IAAiB,GAAG,EAAE,GAAtB;IAA2B,GAAG,EAAE;EAAhC,GACKH,QAAQ,CAACI,WADd,CAJJ,eAOI,6BAAC,UAAD;IAAY,OAAO,EAAE;MAAA,OAAMH,UAAU,CAACD,QAAD,CAAhB;IAAA;EAArB,uBAPJ,CAJJ,CADJ;AAgBH,CAjBM"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { CmsDynamicZoneTemplate } from "../../../../types";
3
+ interface TemplateGalleryProps {
4
+ onTemplate: (template: CmsDynamicZoneTemplate) => void;
5
+ onClose: () => void;
6
+ }
7
+ export declare const TemplateGallery: ({ onTemplate, onClose }: TemplateGalleryProps) => JSX.Element;
8
+ export {};