@webiny/app-headless-cms 5.33.5 → 5.34.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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":["usePermission","useSecurity","identity","getPermission","useI18N","getCurrentLocale","currentLocale","hasFullAccess","useMemo","canRead","useCallback","permissionName","permission","rwd","includes","canReadEntries","contentModelGroup","contentModel","contentModelPermission","contentModelGroupPermission","models","get","Array","isArray","modelId","groups","id","canEdit","item","own","createdBy","login","canCreate","canDelete","canPublish","pw","canUnpublish","canRequestReview","canRequestChange","canReadContentModels","canReadContentModelGroups","canCreateContentModels","canCreateContentModelGroups","canAccessManageEndpoint","undefined"],"sources":["usePermission.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport get from \"lodash/get\";\nimport { useI18N } from \"@webiny/app-i18n/hooks/useI18N\";\nimport { CmsCreatedBy, CmsGroup, CmsModel, CmsSecurityPermission } from \"~/types\";\n\ninterface CreatableItem {\n createdBy: Pick<CmsCreatedBy, \"id\">;\n}\n\ninterface CanReadEntriesCallableParams {\n contentModelGroup: CmsGroup;\n contentModel: CmsModel;\n}\n\nexport const usePermission = () => {\n const { identity, getPermission } = useSecurity();\n const { getCurrentLocale } = useI18N();\n\n const currentLocale = getCurrentLocale(\"content\");\n\n const hasFullAccess = useMemo((): CmsSecurityPermission | null => {\n return getPermission(\"cms.*\");\n }, [identity]);\n\n const canRead = useCallback(\n (permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"r\");\n },\n [identity]\n );\n\n const canReadEntries = useCallback(\n ({ contentModelGroup, contentModel }: CanReadEntriesCallableParams): boolean => {\n if (hasFullAccess) {\n return true;\n }\n\n const permission = getPermission<CmsSecurityPermission>(\"cms.contentEntry\");\n const contentModelPermission = getPermission(\"cms.contentModel\");\n const contentModelGroupPermission = getPermission(\"cms.contentModelGroup\");\n\n if (!permission) {\n return false;\n }\n\n // Check \"contentModel\" list.\n const models = get(contentModelPermission, `models.${currentLocale}`);\n if (Array.isArray(models)) {\n return models.includes(contentModel.modelId);\n }\n // Check \"contentModelGroup\" list.\n const groups = get(contentModelGroupPermission, `groups.${currentLocale}`);\n if (Array.isArray(groups)) {\n return groups.includes(contentModelGroup.id);\n }\n\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"r\");\n }\n\n return true;\n },\n [identity, hasFullAccess, currentLocale]\n );\n\n const canEdit = useCallback(\n (item: CreatableItem, permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission || !identity) {\n return false;\n }\n if (permission.own) {\n /**\n * There will be no \"createdBy\" field for a new entry therefore we enable the access.\n */\n if (!item.createdBy) {\n return true;\n }\n return get(item, \"createdBy.id\") === identity.login;\n }\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"w\");\n }\n return true;\n },\n [identity]\n );\n\n /**\n * @description This checks whether the user has the \"write\" access for given permission;\n * without talking the \"own\" property in account.\n * @param {string} permissionName\n * */\n const canCreate = useCallback(\n (permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"w\");\n },\n [identity]\n );\n\n const canDelete = useCallback(\n (item: CreatableItem, permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (permission.own) {\n return get(item, \"createdBy.id\") === (identity ? identity.login : null);\n }\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"d\");\n }\n return true;\n },\n [identity]\n );\n\n const canPublish = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"p\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canUnpublish = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"u\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canRequestReview = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"r\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canRequestChange = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"c\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canReadContentModels = canRead(\"cms.contentModel\");\n const canReadContentModelGroups = canRead(\"cms.contentModelGroup\");\n const canCreateContentModels = canCreate(\"cms.contentModel\");\n const canCreateContentModelGroups = canCreate(\"cms.contentModelGroup\");\n const canAccessManageEndpoint = useMemo(() => {\n return getPermission(\"cms.endpoint.manage\") !== undefined;\n }, [identity]);\n\n return {\n canReadEntries,\n canEdit,\n canCreate,\n canDelete,\n canPublish,\n canUnpublish,\n canRequestReview,\n canRequestChange,\n canReadContentModels,\n canReadContentModelGroups,\n canCreateContentModels,\n canCreateContentModelGroups,\n canAccessManageEndpoint\n };\n};\n/**\n * Default export is deprecated, use the named one.\n * @deprecated\n */\nexport default usePermission;\n"],"mappings":"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"}
1
+ {"version":3,"names":["usePermission","useSecurity","identity","getPermission","useI18N","getCurrentLocale","currentLocale","hasFullAccess","useMemo","canRead","useCallback","permissionName","permission","rwd","includes","canReadEntries","contentModelGroup","contentModel","contentModelPermission","contentModelGroupPermission","models","get","Array","isArray","modelId","groups","id","canEdit","item","own","createdBy","login","canCreate","canDelete","canPublish","pw","canUnpublish","canReadContentModels","canReadContentModelGroups","canCreateContentModels","canCreateContentModelGroups","canAccessManageEndpoint","undefined"],"sources":["usePermission.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport get from \"lodash/get\";\nimport { useI18N } from \"@webiny/app-i18n/hooks/useI18N\";\nimport { CmsCreatedBy, CmsGroup, CmsModel, CmsSecurityPermission } from \"~/types\";\n\ninterface CreatableItem {\n createdBy: Pick<CmsCreatedBy, \"id\">;\n}\n\ninterface CanReadEntriesCallableParams {\n contentModelGroup: CmsGroup;\n contentModel: CmsModel;\n}\n\nexport const usePermission = () => {\n const { identity, getPermission } = useSecurity();\n const { getCurrentLocale } = useI18N();\n\n const currentLocale = getCurrentLocale(\"content\");\n\n const hasFullAccess = useMemo((): CmsSecurityPermission | null => {\n return getPermission(\"cms.*\");\n }, [identity]);\n\n const canRead = useCallback(\n (permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (hasFullAccess) {\n return true;\n }\n\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"r\");\n },\n [identity, hasFullAccess]\n );\n\n const canReadEntries = useCallback(\n ({ contentModelGroup, contentModel }: CanReadEntriesCallableParams): boolean => {\n if (hasFullAccess) {\n return true;\n }\n\n const permission = getPermission<CmsSecurityPermission>(\"cms.contentEntry\");\n const contentModelPermission = getPermission(\"cms.contentModel\");\n const contentModelGroupPermission = getPermission(\"cms.contentModelGroup\");\n\n if (!permission) {\n return false;\n }\n\n // Check \"contentModel\" list.\n const models = get(contentModelPermission, `models.${currentLocale}`);\n if (Array.isArray(models)) {\n return models.includes(contentModel.modelId);\n }\n // Check \"contentModelGroup\" list.\n const groups = get(contentModelGroupPermission, `groups.${currentLocale}`);\n if (Array.isArray(groups)) {\n return groups.includes(contentModelGroup.id);\n }\n\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"r\");\n }\n\n return true;\n },\n [identity, hasFullAccess, currentLocale]\n );\n\n const canEdit = useCallback(\n (item: CreatableItem, permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission || !identity) {\n return false;\n }\n if (permission.own) {\n /**\n * There will be no \"createdBy\" field for a new entry therefore we enable the access.\n */\n if (!item.createdBy) {\n return true;\n }\n return get(item, \"createdBy.id\") === identity.login;\n }\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"w\");\n }\n return true;\n },\n [identity]\n );\n\n /**\n * @description This checks whether the user has the \"write\" access for given permission;\n * without talking the \"own\" property in account.\n * @param {string} permissionName\n * */\n const canCreate = useCallback(\n (permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"w\");\n },\n [identity]\n );\n\n const canDelete = useCallback(\n (item: CreatableItem, permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (permission.own) {\n return get(item, \"createdBy.id\") === (identity ? identity.login : null);\n }\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"d\");\n }\n return true;\n },\n [identity]\n );\n\n const canPublish = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"p\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canUnpublish = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"u\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canReadContentModels = canRead(\"cms.contentModel\");\n const canReadContentModelGroups = canRead(\"cms.contentModelGroup\");\n const canCreateContentModels = canCreate(\"cms.contentModel\");\n const canCreateContentModelGroups = canCreate(\"cms.contentModelGroup\");\n const canAccessManageEndpoint = useMemo(() => {\n return getPermission(\"cms.endpoint.manage\") !== undefined;\n }, [identity]);\n\n return {\n canReadEntries,\n canEdit,\n canCreate,\n canDelete,\n canPublish,\n canUnpublish,\n canReadContentModels,\n canReadContentModelGroups,\n canCreateContentModels,\n canCreateContentModelGroups,\n canAccessManageEndpoint\n };\n};\n/**\n * Default export is deprecated, use the named one.\n * @deprecated\n */\nexport default usePermission;\n"],"mappings":"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"}
@@ -13,6 +13,8 @@ var _emotion = require("emotion");
13
13
 
14
14
  var _List = require("@webiny/ui/List");
15
15
 
16
+ var _Typography = require("@webiny/ui/Typography");
17
+
16
18
  // TODO: implement this without relying on the `ui` package
17
19
  var linkStyle = /*#__PURE__*/(0, _emotion.css)({
18
20
  color: "var(--mdc-theme-text-primary-on-background)",
@@ -49,7 +51,8 @@ var NothingToShow = function NothingToShow() {
49
51
  className: submenuItems,
50
52
  ripple: false,
51
53
  disabled: true
52
- }, /*#__PURE__*/_react.default.createElement("span", {
54
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
55
+ use: "body2",
53
56
  className: linkStyle
54
57
  }, "Nothing to show.")));
55
58
  };
@@ -1 +1 @@
1
- {"version":3,"names":["linkStyle","css","color","textDecoration","display","alignItems","width","height","outline","paddingLeft","submenuItems","margin","submenuList","padding","NothingToShow","opacity"],"sources":["NothingToShowElement.tsx"],"sourcesContent":["// TODO: implement this without relying on the `ui` package\nimport React from \"react\";\nimport { css } from \"emotion\";\nimport { List, ListItem } from \"@webiny/ui/List\";\n\nconst linkStyle = css({\n color: \"var(--mdc-theme-text-primary-on-background)\",\n textDecoration: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n outline: \"none\",\n paddingLeft: 72,\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst submenuItems = css({\n \".mdc-drawer &.mdc-list-item\": {\n margin: 0,\n paddingLeft: 0\n }\n});\n\nconst submenuList = css({\n \"&.mdc-list\": {\n padding: 0\n }\n});\n\nexport const NothingToShow: React.FC = () => {\n return (\n <List className={submenuList} style={{ opacity: 0.4 }}>\n <ListItem className={submenuItems} ripple={false} disabled>\n <span className={linkStyle}>Nothing to show.</span>\n </ListItem>\n </List>\n );\n};\n"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AAHA;AAKA,IAAMA,SAAS,gBAAG,IAAAC,YAAA,EAAI;EAClBC,KAAK,EAAE,6CADW;EAElBC,cAAc,EAAE,MAFE;EAGlBC,OAAO,EAAE,MAHS;EAIlBC,UAAU,EAAE,QAJM;EAKlBC,KAAK,EAAE,MALW;EAMlBC,MAAM,EAAE,MANU;EAOlBC,OAAO,EAAE,MAPS;EAQlBC,WAAW,EAAE,EARK;EASlB,WAAW;IACPN,cAAc,EAAE;EADT;AATO,CAAJ,qBAAlB;AAcA,IAAMO,YAAY,gBAAG,IAAAT,YAAA,EAAI;EACrB,+BAA+B;IAC3BU,MAAM,EAAE,CADmB;IAE3BF,WAAW,EAAE;EAFc;AADV,CAAJ,wBAArB;AAOA,IAAMG,WAAW,gBAAG,IAAAX,YAAA,EAAI;EACpB,cAAc;IACVY,OAAO,EAAE;EADC;AADM,CAAJ,uBAApB;;AAMO,IAAMC,aAAuB,GAAG,SAA1BA,aAA0B,GAAM;EACzC,oBACI,6BAAC,UAAD;IAAM,SAAS,EAAEF,WAAjB;IAA8B,KAAK,EAAE;MAAEG,OAAO,EAAE;IAAX;EAArC,gBACI,6BAAC,cAAD;IAAU,SAAS,EAAEL,YAArB;IAAmC,MAAM,EAAE,KAA3C;IAAkD,QAAQ;EAA1D,gBACI;IAAM,SAAS,EAAEV;EAAjB,sBADJ,CADJ,CADJ;AAOH,CARM"}
1
+ {"version":3,"names":["linkStyle","css","color","textDecoration","display","alignItems","width","height","outline","paddingLeft","submenuItems","margin","submenuList","padding","NothingToShow","opacity"],"sources":["NothingToShowElement.tsx"],"sourcesContent":["// TODO: implement this without relying on the `ui` package\nimport React from \"react\";\nimport { css } from \"emotion\";\nimport { List, ListItem } from \"@webiny/ui/List\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst linkStyle = css({\n color: \"var(--mdc-theme-text-primary-on-background)\",\n textDecoration: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n outline: \"none\",\n paddingLeft: 72,\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst submenuItems = css({\n \".mdc-drawer &.mdc-list-item\": {\n margin: 0,\n paddingLeft: 0\n }\n});\n\nconst submenuList = css({\n \"&.mdc-list\": {\n padding: 0\n }\n});\n\nexport const NothingToShow: React.FC = () => {\n return (\n <List className={submenuList} style={{ opacity: 0.4 }}>\n <ListItem className={submenuItems} ripple={false} disabled>\n <Typography use={\"body2\"} className={linkStyle}>\n Nothing to show.\n </Typography>\n </ListItem>\n </List>\n );\n};\n"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AACA;;AAJA;AAMA,IAAMA,SAAS,gBAAG,IAAAC,YAAA,EAAI;EAClBC,KAAK,EAAE,6CADW;EAElBC,cAAc,EAAE,MAFE;EAGlBC,OAAO,EAAE,MAHS;EAIlBC,UAAU,EAAE,QAJM;EAKlBC,KAAK,EAAE,MALW;EAMlBC,MAAM,EAAE,MANU;EAOlBC,OAAO,EAAE,MAPS;EAQlBC,WAAW,EAAE,EARK;EASlB,WAAW;IACPN,cAAc,EAAE;EADT;AATO,CAAJ,qBAAlB;AAcA,IAAMO,YAAY,gBAAG,IAAAT,YAAA,EAAI;EACrB,+BAA+B;IAC3BU,MAAM,EAAE,CADmB;IAE3BF,WAAW,EAAE;EAFc;AADV,CAAJ,wBAArB;AAOA,IAAMG,WAAW,gBAAG,IAAAX,YAAA,EAAI;EACpB,cAAc;IACVY,OAAO,EAAE;EADC;AADM,CAAJ,uBAApB;;AAMO,IAAMC,aAAuB,GAAG,SAA1BA,aAA0B,GAAM;EACzC,oBACI,6BAAC,UAAD;IAAM,SAAS,EAAEF,WAAjB;IAA8B,KAAK,EAAE;MAAEG,OAAO,EAAE;IAAX;EAArC,gBACI,6BAAC,cAAD;IAAU,SAAS,EAAEL,YAArB;IAAmC,MAAM,EAAE,KAA3C;IAAkD,QAAQ;EAA1D,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE,OAAjB;IAA0B,SAAS,EAAEV;EAArC,sBADJ,CADJ,CADJ;AASH,CAVM"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Remove array value at given index.
3
+ */
4
+ export declare function removeValueAtIndex(value: any[], index: number): any[] | undefined;
5
+ /**
6
+ * Move array value at given index to the left.
7
+ */
8
+ export declare function pullValueAtIndex(value: any[], index: number): any[];
9
+ /**
10
+ * Move array value at given index to the right.
11
+ */
12
+ export declare function pushValueAtIndex(value: any[], index: number): any[];
@@ -0,0 +1,53 @@
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.pullValueAtIndex = pullValueAtIndex;
9
+ exports.pushValueAtIndex = pushValueAtIndex;
10
+ exports.removeValueAtIndex = removeValueAtIndex;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ /**
15
+ * Remove array value at given index.
16
+ */
17
+ function removeValueAtIndex(value, index) {
18
+ if (index < 0) {
19
+ return;
20
+ }
21
+
22
+ return [].concat((0, _toConsumableArray2.default)(value.slice(0, index)), (0, _toConsumableArray2.default)(value.slice(index + 1)));
23
+ }
24
+ /**
25
+ * Move array value at given index to the left.
26
+ */
27
+
28
+
29
+ function pullValueAtIndex(value, index) {
30
+ if (index <= 0) {
31
+ return value;
32
+ }
33
+
34
+ var newValue = (0, _toConsumableArray2.default)(value);
35
+ newValue.splice(index, 1);
36
+ newValue.splice(index - 1, 0, value[index]);
37
+ return newValue;
38
+ }
39
+ /**
40
+ * Move array value at given index to the right.
41
+ */
42
+
43
+
44
+ function pushValueAtIndex(value, index) {
45
+ if (index >= value.length) {
46
+ return value;
47
+ }
48
+
49
+ var newValue = (0, _toConsumableArray2.default)(value);
50
+ newValue.splice(index, 1);
51
+ newValue.splice(index + 1, 0, value[index]);
52
+ return newValue;
53
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"names":["removeValueAtIndex","value","index","slice","pullValueAtIndex","newValue","splice","pushValueAtIndex","length"],"sources":["arrayUtils.ts"],"sourcesContent":["/**\n * Remove array value at given index.\n */\nexport function removeValueAtIndex(value: any[], index: number) {\n if (index < 0) {\n return;\n }\n\n return [...value.slice(0, index), ...value.slice(index + 1)];\n}\n\n/**\n * Move array value at given index to the left.\n */\nexport function pullValueAtIndex(value: any[], index: number) {\n if (index <= 0) {\n return value;\n }\n\n const newValue = [...value];\n newValue.splice(index, 1);\n newValue.splice(index - 1, 0, value[index]);\n return newValue;\n}\n\n/**\n * Move array value at given index to the right.\n */\nexport function pushValueAtIndex(value: any[], index: number) {\n if (index >= value.length) {\n return value;\n }\n\n const newValue = [...value];\n newValue.splice(index, 1);\n newValue.splice(index + 1, 0, value[index]);\n return newValue;\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACO,SAASA,kBAAT,CAA4BC,KAA5B,EAA0CC,KAA1C,EAAyD;EAC5D,IAAIA,KAAK,GAAG,CAAZ,EAAe;IACX;EACH;;EAED,kDAAWD,KAAK,CAACE,KAAN,CAAY,CAAZ,EAAeD,KAAf,CAAX,oCAAqCD,KAAK,CAACE,KAAN,CAAYD,KAAK,GAAG,CAApB,CAArC;AACH;AAED;AACA;AACA;;;AACO,SAASE,gBAAT,CAA0BH,KAA1B,EAAwCC,KAAxC,EAAuD;EAC1D,IAAIA,KAAK,IAAI,CAAb,EAAgB;IACZ,OAAOD,KAAP;EACH;;EAED,IAAMI,QAAQ,oCAAOJ,KAAP,CAAd;EACAI,QAAQ,CAACC,MAAT,CAAgBJ,KAAhB,EAAuB,CAAvB;EACAG,QAAQ,CAACC,MAAT,CAAgBJ,KAAK,GAAG,CAAxB,EAA2B,CAA3B,EAA8BD,KAAK,CAACC,KAAD,CAAnC;EACA,OAAOG,QAAP;AACH;AAED;AACA;AACA;;;AACO,SAASE,gBAAT,CAA0BN,KAA1B,EAAwCC,KAAxC,EAAuD;EAC1D,IAAIA,KAAK,IAAID,KAAK,CAACO,MAAnB,EAA2B;IACvB,OAAOP,KAAP;EACH;;EAED,IAAMI,QAAQ,oCAAOJ,KAAP,CAAd;EACAI,QAAQ,CAACC,MAAT,CAAgBJ,KAAhB,EAAuB,CAAvB;EACAG,QAAQ,CAACC,MAAT,CAAgBJ,KAAK,GAAG,CAAxB,EAA2B,CAA3B,EAA8BD,KAAK,CAACC,KAAD,CAAnC;EACA,OAAOG,QAAP;AACH"}
@@ -25,7 +25,7 @@ var _view_list = require("../../../icons/view_list.svg");
25
25
 
26
26
  var _contentModels = require("../../../graphql/contentModels");
27
27
 
28
- var _useContentModelEditor = require("../../../components/ContentModelEditor/useContentModelEditor");
28
+ var _hooks = require("../../../hooks");
29
29
 
30
30
  var _templateObject;
31
31
 
@@ -34,9 +34,9 @@ var t = _i18n.i18n.namespace("app-headless-cms/admin/editor/top-bar/save-button"
34
34
  var CreateContentButton = function CreateContentButton() {
35
35
  var router = (0, _reactRouter.useRouter)();
36
36
 
37
- var _useContentModelEdito = (0, _useContentModelEditor.useContentModelEditor)(),
38
- data = _useContentModelEdito.data,
39
- apolloClient = _useContentModelEdito.apolloClient;
37
+ var _useModelEditor = (0, _hooks.useModelEditor)(),
38
+ data = _useModelEditor.data,
39
+ apolloClient = _useModelEditor.apolloClient;
40
40
 
41
41
  var getQuery = apolloClient.readQuery({
42
42
  query: _contentModels.GET_CONTENT_MODEL,
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","namespace","CreateContentButton","router","useRouter","useContentModelEditor","data","apolloClient","getQuery","readQuery","query","GET_CONTENT_MODEL","variables","modelId","fields","get","disableViewContent","length","message","history","push"],"sources":["CreateContentButton.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as ViewListIcon } from \"~/admin/icons/view_list.svg\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n} from \"~/admin/graphql/contentModels\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/editor/top-bar/save-button\");\n\nconst CreateContentButton: React.FC = () => {\n const router = useRouter();\n const { data, apolloClient } = useContentModelEditor();\n\n const getQuery = apolloClient.readQuery<GetCmsModelQueryResponse, GetCmsModelQueryVariables>({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId: data.modelId\n }\n });\n const fields = get(getQuery, \"getContentModel.data.fields\", []);\n const disableViewContent = fields.length === 0;\n const message = disableViewContent\n ? \"To view the content, you first need to add a field and save the form\"\n : \"View content\";\n\n return (\n <Tooltip content={t`{message}`({ message })} placement={\"bottom\"}>\n <IconButton\n icon={<ViewListIcon />}\n onClick={() => router.history.push(`/cms/content-entries/${data.modelId}`)}\n disabled={disableViewContent}\n />\n </Tooltip>\n );\n};\n\nexport default CreateContentButton;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,SAAL,CAAe,mDAAf,CAAV;;AAEA,IAAMC,mBAA6B,GAAG,SAAhCA,mBAAgC,GAAM;EACxC,IAAMC,MAAM,GAAG,IAAAC,sBAAA,GAAf;;EACA,4BAA+B,IAAAC,4CAAA,GAA/B;EAAA,IAAQC,IAAR,yBAAQA,IAAR;EAAA,IAAcC,YAAd,yBAAcA,YAAd;;EAEA,IAAMC,QAAQ,GAAGD,YAAY,CAACE,SAAb,CAA4E;IACzFC,KAAK,EAAEC,gCADkF;IAEzFC,SAAS,EAAE;MACPC,OAAO,EAAEP,IAAI,CAACO;IADP;EAF8E,CAA5E,CAAjB;EAMA,IAAMC,MAAM,GAAG,IAAAC,YAAA,EAAIP,QAAJ,EAAc,6BAAd,EAA6C,EAA7C,CAAf;EACA,IAAMQ,kBAAkB,GAAGF,MAAM,CAACG,MAAP,KAAkB,CAA7C;EACA,IAAMC,OAAO,GAAGF,kBAAkB,GAC5B,sEAD4B,GAE5B,cAFN;EAIA,oBACI,6BAAC,gBAAD;IAAS,OAAO,EAAEjB,CAAC,4FAAD,CAAa;MAAEmB,OAAO,EAAPA;IAAF,CAAb,CAAlB;IAA6C,SAAS,EAAE;EAAxD,gBACI,6BAAC,kBAAD;IACI,IAAI,eAAE,6BAAC,yBAAD,OADV;IAEI,OAAO,EAAE;MAAA,OAAMf,MAAM,CAACgB,OAAP,CAAeC,IAAf,gCAA4Cd,IAAI,CAACO,OAAjD,EAAN;IAAA,CAFb;IAGI,QAAQ,EAAEG;EAHd,EADJ,CADJ;AASH,CAzBD;;eA2Bed,mB"}
1
+ {"version":3,"names":["t","i18n","namespace","CreateContentButton","router","useRouter","useModelEditor","data","apolloClient","getQuery","readQuery","query","GET_CONTENT_MODEL","variables","modelId","fields","get","disableViewContent","length","message","history","push"],"sources":["CreateContentButton.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as ViewListIcon } from \"~/admin/icons/view_list.svg\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n} from \"~/admin/graphql/contentModels\";\nimport { useModelEditor } from \"~/admin/hooks\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/editor/top-bar/save-button\");\n\nconst CreateContentButton: React.FC = () => {\n const router = useRouter();\n const { data, apolloClient } = useModelEditor();\n\n const getQuery = apolloClient.readQuery<GetCmsModelQueryResponse, GetCmsModelQueryVariables>({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId: data.modelId\n }\n });\n const fields = get(getQuery, \"getContentModel.data.fields\", []);\n const disableViewContent = fields.length === 0;\n const message = disableViewContent\n ? \"To view the content, you first need to add a field and save the form\"\n : \"View content\";\n\n return (\n <Tooltip content={t`{message}`({ message })} placement={\"bottom\"}>\n <IconButton\n icon={<ViewListIcon />}\n onClick={() => router.history.push(`/cms/content-entries/${data.modelId}`)}\n disabled={disableViewContent}\n />\n </Tooltip>\n );\n};\n\nexport default CreateContentButton;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,SAAL,CAAe,mDAAf,CAAV;;AAEA,IAAMC,mBAA6B,GAAG,SAAhCA,mBAAgC,GAAM;EACxC,IAAMC,MAAM,GAAG,IAAAC,sBAAA,GAAf;;EACA,sBAA+B,IAAAC,qBAAA,GAA/B;EAAA,IAAQC,IAAR,mBAAQA,IAAR;EAAA,IAAcC,YAAd,mBAAcA,YAAd;;EAEA,IAAMC,QAAQ,GAAGD,YAAY,CAACE,SAAb,CAA4E;IACzFC,KAAK,EAAEC,gCADkF;IAEzFC,SAAS,EAAE;MACPC,OAAO,EAAEP,IAAI,CAACO;IADP;EAF8E,CAA5E,CAAjB;EAMA,IAAMC,MAAM,GAAG,IAAAC,YAAA,EAAIP,QAAJ,EAAc,6BAAd,EAA6C,EAA7C,CAAf;EACA,IAAMQ,kBAAkB,GAAGF,MAAM,CAACG,MAAP,KAAkB,CAA7C;EACA,IAAMC,OAAO,GAAGF,kBAAkB,GAC5B,sEAD4B,GAE5B,cAFN;EAIA,oBACI,6BAAC,gBAAD;IAAS,OAAO,EAAEjB,CAAC,4FAAD,CAAa;MAAEmB,OAAO,EAAPA;IAAF,CAAb,CAAlB;IAA6C,SAAS,EAAE;EAAxD,gBACI,6BAAC,kBAAD;IACI,IAAI,eAAE,6BAAC,yBAAD,OADV;IAEI,OAAO,EAAE;MAAA,OAAMf,MAAM,CAACgB,OAAP,CAAeC,IAAf,gCAA4Cd,IAAI,CAACO,OAAjD,EAAN;IAAA,CAFb;IAGI,QAAQ,EAAEG;EAHd,EADJ,CADJ;AASH,CAzBD;;eA2Bed,mB"}
@@ -39,7 +39,7 @@ var SF = _interopRequireWildcard(require("@webiny/app-admin/components/SimpleFor
39
39
 
40
40
  var _FormSettingsStyled = require("./FormSettingsStyled");
41
41
 
42
- var _useContentModelEditor = require("../../../../components/ContentModelEditor/useContentModelEditor");
42
+ var _hooks = require("../../../../hooks");
43
43
 
44
44
  var _templateObject, _templateObject2;
45
45
 
@@ -50,9 +50,9 @@ var FormSettings = function FormSettings(_ref) {
50
50
 
51
51
  var cmsEditorFormSettingsPlugins = _plugins.plugins.byType("cms-editor-form-settings");
52
52
 
53
- var _useContentModelEdito = (0, _useContentModelEditor.useContentModelEditor)(),
54
- data = _useContentModelEdito.data,
55
- setData = _useContentModelEdito.setData;
53
+ var _useModelEditor = (0, _hooks.useModelEditor)(),
54
+ data = _useModelEditor.data,
55
+ setData = _useModelEditor.setData;
56
56
 
57
57
  var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
58
58
  showSnackbar = _useSnackbar.showSnackbar;
@@ -80,7 +80,7 @@ var FormSettings = function FormSettings(_ref) {
80
80
  }, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
81
81
  icon: pl.icon
82
82
  })), /*#__PURE__*/_react.default.createElement(_FormSettingsStyled.TitleContent, null, /*#__PURE__*/_react.default.createElement(_FormSettingsStyled.ListItemTitle, null, pl.title), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
83
- use: "subtitle2"
83
+ use: "body2"
84
84
  }, pl.description)));
85
85
  }))), /*#__PURE__*/_react.default.createElement(_SplitView.RightPanel, {
86
86
  span: 7
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","namespace","FormSettings","onExited","cmsEditorFormSettingsPlugins","plugins","byType","useContentModelEditor","data","setData","useSnackbar","showSnackbar","useState","activePlugin","setActivePlugin","Title","listStyle","map","pl","name","listItem","icon","title","description","Bind","submit","form","formData","renderHeaderActions","render","ev"],"sources":["FormSettings.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { OverlayLayout } from \"@webiny/app-admin/components/OverlayLayout\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Form } from \"@webiny/form\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { List, ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport * as SF from \"@webiny/app-admin/components/SimpleForm\";\nimport { CmsEditorFormSettingsPlugin } from \"~/types\";\nimport { Title, listItem, ListItemTitle, listStyle, TitleContent } from \"./FormSettingsStyled\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\nconst t = i18n.namespace(\"FormsApp.Editor.FormSettings\");\n\ninterface FormSettingsProps {\n onExited: () => void;\n}\n\nconst FormSettings: React.FC<FormSettingsProps> = ({ onExited }) => {\n const cmsEditorFormSettingsPlugins = plugins.byType<CmsEditorFormSettingsPlugin>(\n \"cms-editor-form-settings\"\n );\n const { data, setData } = useContentModelEditor();\n const { showSnackbar } = useSnackbar();\n\n const [activePlugin, setActivePlugin] = useState(cmsEditorFormSettingsPlugins[0]);\n\n return (\n <OverlayLayout barMiddle={Title} onExited={onExited}>\n <SplitView>\n <LeftPanel span={5}>\n <List twoLine className={listStyle}>\n {cmsEditorFormSettingsPlugins.map(pl => (\n <ListItem\n key={pl.name}\n className={listItem}\n onClick={() => setActivePlugin(pl)}\n >\n <ListItemGraphic>\n <Icon icon={pl.icon} />\n </ListItemGraphic>\n <TitleContent>\n <ListItemTitle>{pl.title}</ListItemTitle>\n <Typography use={\"subtitle2\"}>{pl.description}</Typography>\n </TitleContent>\n </ListItem>\n ))}\n </List>\n </LeftPanel>\n <RightPanel span={7}>\n <Form\n data={data}\n onSubmit={data => {\n setData(() => data);\n onExited();\n showSnackbar(t`Content model settings updated successfully.`);\n }}\n >\n {({ Bind, submit, form, data: formData }) => (\n <SF.SimpleForm>\n <SF.SimpleFormHeader title={activePlugin.title}>\n {typeof activePlugin.renderHeaderActions === \"function\" &&\n activePlugin.renderHeaderActions({\n /**\n * TODO @ts-refactor\n * Figure out type for Bind\n */\n Bind: Bind as any,\n form,\n formData\n })}\n </SF.SimpleFormHeader>\n <SF.SimpleFormContent>\n {activePlugin\n ? activePlugin.render({\n /**\n * TODO @ts-refactor\n * Figure out type for Bind\n */\n Bind: Bind as any,\n form,\n formData\n })\n : null}\n </SF.SimpleFormContent>\n <SF.SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n submit(ev);\n }}\n >{t`Save settings`}</ButtonPrimary>\n </SF.SimpleFormFooter>\n </SF.SimpleForm>\n )}\n </Form>\n </RightPanel>\n </SplitView>\n </OverlayLayout>\n );\n};\n\nexport default FormSettings;\n"],"mappings":"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"}
1
+ {"version":3,"names":["t","i18n","namespace","FormSettings","onExited","cmsEditorFormSettingsPlugins","plugins","byType","useModelEditor","data","setData","useSnackbar","showSnackbar","useState","activePlugin","setActivePlugin","Title","listStyle","map","pl","name","listItem","icon","title","description","Bind","submit","form","formData","renderHeaderActions","render","ev"],"sources":["FormSettings.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { OverlayLayout } from \"@webiny/app-admin/components/OverlayLayout\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Form } from \"@webiny/form\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { List, ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport * as SF from \"@webiny/app-admin/components/SimpleForm\";\nimport { CmsEditorFormSettingsPlugin } from \"~/types\";\nimport { Title, listItem, ListItemTitle, listStyle, TitleContent } from \"./FormSettingsStyled\";\nimport { useModelEditor } from \"~/admin/hooks\";\n\nconst t = i18n.namespace(\"FormsApp.Editor.FormSettings\");\n\ninterface FormSettingsProps {\n onExited: () => void;\n}\n\nconst FormSettings: React.FC<FormSettingsProps> = ({ onExited }) => {\n const cmsEditorFormSettingsPlugins = plugins.byType<CmsEditorFormSettingsPlugin>(\n \"cms-editor-form-settings\"\n );\n const { data, setData } = useModelEditor();\n const { showSnackbar } = useSnackbar();\n\n const [activePlugin, setActivePlugin] = useState(cmsEditorFormSettingsPlugins[0]);\n\n return (\n <OverlayLayout barMiddle={Title} onExited={onExited}>\n <SplitView>\n <LeftPanel span={5}>\n <List twoLine className={listStyle}>\n {cmsEditorFormSettingsPlugins.map(pl => (\n <ListItem\n key={pl.name}\n className={listItem}\n onClick={() => setActivePlugin(pl)}\n >\n <ListItemGraphic>\n <Icon icon={pl.icon} />\n </ListItemGraphic>\n <TitleContent>\n <ListItemTitle>{pl.title}</ListItemTitle>\n <Typography use={\"body2\"}>{pl.description}</Typography>\n </TitleContent>\n </ListItem>\n ))}\n </List>\n </LeftPanel>\n <RightPanel span={7}>\n <Form\n data={data}\n onSubmit={data => {\n setData(() => data);\n onExited();\n showSnackbar(t`Content model settings updated successfully.`);\n }}\n >\n {({ Bind, submit, form, data: formData }) => (\n <SF.SimpleForm>\n <SF.SimpleFormHeader title={activePlugin.title}>\n {typeof activePlugin.renderHeaderActions === \"function\" &&\n activePlugin.renderHeaderActions({\n /**\n * TODO @ts-refactor\n * Figure out type for Bind\n */\n Bind: Bind as any,\n form,\n formData\n })}\n </SF.SimpleFormHeader>\n <SF.SimpleFormContent>\n {activePlugin\n ? activePlugin.render({\n /**\n * TODO @ts-refactor\n * Figure out type for Bind\n */\n Bind: Bind as any,\n form,\n formData\n })\n : null}\n </SF.SimpleFormContent>\n <SF.SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n submit(ev);\n }}\n >{t`Save settings`}</ButtonPrimary>\n </SF.SimpleFormFooter>\n </SF.SimpleForm>\n )}\n </Form>\n </RightPanel>\n </SplitView>\n </OverlayLayout>\n );\n};\n\nexport default FormSettings;\n"],"mappings":"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"}
@@ -25,16 +25,16 @@ var _NameStyled = require("./NameStyled");
25
25
 
26
26
  var _i18n = require("@webiny/app/i18n");
27
27
 
28
- var _useContentModelEditor = require("../../../../components/ContentModelEditor/useContentModelEditor");
28
+ var _hooks = require("../../../../hooks");
29
29
 
30
30
  var _templateObject;
31
31
 
32
32
  var t = _i18n.i18n.namespace("ContentModelEditor.Name");
33
33
 
34
34
  var Name = function Name() {
35
- var _useContentModelEdito = (0, _useContentModelEditor.useContentModelEditor)(),
36
- data = _useContentModelEdito.data,
37
- setData = _useContentModelEdito.setData;
35
+ var _useModelEditor = (0, _hooks.useModelEditor)(),
36
+ data = _useModelEditor.data,
37
+ setData = _useModelEditor.setData;
38
38
 
39
39
  var _useState = (0, _react.useState)(""),
40
40
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","namespace","Name","useContentModelEditor","data","setData","useState","localName","setLocalName","editingEnabled","setEditing","cancelChanges","startEditing","name","saveName","useCallback","event","preventDefault","useHotkeys","zIndex","keys","disabled","esc","enter","autoFocus","window","Cypress","formNameWrapper"],"sources":["Name.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n/**\n * Package react-hotkeyz does not have types.\n */\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { FormName, formNameWrapper, NameInputWrapper, NameWrapper } from \"./NameStyled\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\nconst t = i18n.namespace(\"ContentModelEditor.Name\");\n\ndeclare global {\n interface Window {\n Cypress: any;\n }\n}\n\nexport const Name: React.FC = () => {\n const { data, setData } = useContentModelEditor();\n const [localName, setLocalName] = useState<string>(\"\");\n const [editingEnabled, setEditing] = useState<boolean>(false);\n\n const cancelChanges = () => {\n setEditing(false);\n };\n\n const startEditing = (): void => {\n setLocalName(data.name);\n setEditing(true);\n };\n\n const saveName = useCallback(\n (event: React.SyntheticEvent) => {\n event.preventDefault();\n setData(data => {\n data.name = localName;\n return data;\n });\n setEditing(false);\n },\n [localName]\n );\n\n useHotkeys({\n zIndex: 100,\n keys: {\n \"alt+cmd+enter\": startEditing\n }\n });\n\n useHotkeys({\n zIndex: 101,\n disabled: !editingEnabled,\n keys: {\n esc: (event: React.SyntheticEvent) => {\n event.preventDefault();\n cancelChanges();\n },\n enter: saveName\n }\n });\n\n // Disable autoFocus because for some reason, blur event would automatically be triggered when clicking\n // on the page title when doing Cypress testing. Not sure if this is RMWC or Cypress related issue.\n const autoFocus = !window.Cypress;\n\n return editingEnabled ? (\n <NameInputWrapper>\n <Input\n autoFocus={autoFocus}\n fullwidth\n value={localName}\n onChange={setLocalName}\n onBlur={saveName}\n />\n </NameInputWrapper>\n ) : (\n <NameWrapper>\n <Tooltip\n className={formNameWrapper}\n placement={\"bottom\"}\n content={<span>{t`rename`}</span>}\n >\n <FormName data-testid=\"cms-editor-model-title\" onClick={startEditing}>\n {data.name}\n </FormName>\n </Tooltip>\n </NameWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,SAAL,CAAe,yBAAf,CAAV;;AAQO,IAAMC,IAAc,GAAG,SAAjBA,IAAiB,GAAM;EAChC,4BAA0B,IAAAC,4CAAA,GAA1B;EAAA,IAAQC,IAAR,yBAAQA,IAAR;EAAA,IAAcC,OAAd,yBAAcA,OAAd;;EACA,gBAAkC,IAAAC,eAAA,EAAiB,EAAjB,CAAlC;EAAA;EAAA,IAAOC,SAAP;EAAA,IAAkBC,YAAlB;;EACA,iBAAqC,IAAAF,eAAA,EAAkB,KAAlB,CAArC;EAAA;EAAA,IAAOG,cAAP;EAAA,IAAuBC,UAAvB;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;IACxBD,UAAU,CAAC,KAAD,CAAV;EACH,CAFD;;EAIA,IAAME,YAAY,GAAG,SAAfA,YAAe,GAAY;IAC7BJ,YAAY,CAACJ,IAAI,CAACS,IAAN,CAAZ;IACAH,UAAU,CAAC,IAAD,CAAV;EACH,CAHD;;EAKA,IAAMI,QAAQ,GAAG,IAAAC,kBAAA,EACb,UAACC,KAAD,EAAiC;IAC7BA,KAAK,CAACC,cAAN;IACAZ,OAAO,CAAC,UAAAD,IAAI,EAAI;MACZA,IAAI,CAACS,IAAL,GAAYN,SAAZ;MACA,OAAOH,IAAP;IACH,CAHM,CAAP;IAIAM,UAAU,CAAC,KAAD,CAAV;EACH,CARY,EASb,CAACH,SAAD,CATa,CAAjB;EAYA,IAAAW,wBAAA,EAAW;IACPC,MAAM,EAAE,GADD;IAEPC,IAAI,EAAE;MACF,iBAAiBR;IADf;EAFC,CAAX;EAOA,IAAAM,wBAAA,EAAW;IACPC,MAAM,EAAE,GADD;IAEPE,QAAQ,EAAE,CAACZ,cAFJ;IAGPW,IAAI,EAAE;MACFE,GAAG,EAAE,aAACN,KAAD,EAAiC;QAClCA,KAAK,CAACC,cAAN;QACAN,aAAa;MAChB,CAJC;MAKFY,KAAK,EAAET;IALL;EAHC,CAAX,EAjCgC,CA6ChC;EACA;;EACA,IAAMU,SAAS,GAAG,CAACC,MAAM,CAACC,OAA1B;EAEA,OAAOjB,cAAc,gBACjB,6BAAC,4BAAD,qBACI,6BAAC,YAAD;IACI,SAAS,EAAEe,SADf;IAEI,SAAS,MAFb;IAGI,KAAK,EAAEjB,SAHX;IAII,QAAQ,EAAEC,YAJd;IAKI,MAAM,EAAEM;EALZ,EADJ,CADiB,gBAWjB,6BAAC,uBAAD,qBACI,6BAAC,gBAAD;IACI,SAAS,EAAEa,2BADf;IAEI,SAAS,EAAE,QAFf;IAGI,OAAO,eAAE,2CAAO5B,CAAP;EAHb,gBAKI,6BAAC,oBAAD;IAAU,eAAY,wBAAtB;IAA+C,OAAO,EAAEa;EAAxD,GACKR,IAAI,CAACS,IADV,CALJ,CADJ,CAXJ;AAuBH,CAxEM"}
1
+ {"version":3,"names":["t","i18n","namespace","Name","useModelEditor","data","setData","useState","localName","setLocalName","editingEnabled","setEditing","cancelChanges","startEditing","name","saveName","useCallback","event","preventDefault","useHotkeys","zIndex","keys","disabled","esc","enter","autoFocus","window","Cypress","formNameWrapper"],"sources":["Name.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n/**\n * Package react-hotkeyz does not have types.\n */\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { FormName, formNameWrapper, NameInputWrapper, NameWrapper } from \"./NameStyled\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useModelEditor } from \"~/admin/hooks\";\n\nconst t = i18n.namespace(\"ContentModelEditor.Name\");\n\ndeclare global {\n interface Window {\n Cypress: any;\n }\n}\n\nexport const Name: React.FC = () => {\n const { data, setData } = useModelEditor();\n const [localName, setLocalName] = useState<string>(\"\");\n const [editingEnabled, setEditing] = useState<boolean>(false);\n\n const cancelChanges = () => {\n setEditing(false);\n };\n\n const startEditing = (): void => {\n setLocalName(data.name);\n setEditing(true);\n };\n\n const saveName = useCallback(\n (event: React.SyntheticEvent) => {\n event.preventDefault();\n setData(data => {\n data.name = localName;\n return data;\n });\n setEditing(false);\n },\n [localName]\n );\n\n useHotkeys({\n zIndex: 100,\n keys: {\n \"alt+cmd+enter\": startEditing\n }\n });\n\n useHotkeys({\n zIndex: 101,\n disabled: !editingEnabled,\n keys: {\n esc: (event: React.SyntheticEvent) => {\n event.preventDefault();\n cancelChanges();\n },\n enter: saveName\n }\n });\n\n // Disable autoFocus because for some reason, blur event would automatically be triggered when clicking\n // on the page title when doing Cypress testing. Not sure if this is RMWC or Cypress related issue.\n const autoFocus = !window.Cypress;\n\n return editingEnabled ? (\n <NameInputWrapper>\n <Input\n autoFocus={autoFocus}\n fullwidth\n value={localName}\n onChange={setLocalName}\n onBlur={saveName}\n />\n </NameInputWrapper>\n ) : (\n <NameWrapper>\n <Tooltip\n className={formNameWrapper}\n placement={\"bottom\"}\n content={<span>{t`rename`}</span>}\n >\n <FormName data-testid=\"cms-editor-model-title\" onClick={startEditing}>\n {data.name}\n </FormName>\n </Tooltip>\n </NameWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,SAAL,CAAe,yBAAf,CAAV;;AAQO,IAAMC,IAAc,GAAG,SAAjBA,IAAiB,GAAM;EAChC,sBAA0B,IAAAC,qBAAA,GAA1B;EAAA,IAAQC,IAAR,mBAAQA,IAAR;EAAA,IAAcC,OAAd,mBAAcA,OAAd;;EACA,gBAAkC,IAAAC,eAAA,EAAiB,EAAjB,CAAlC;EAAA;EAAA,IAAOC,SAAP;EAAA,IAAkBC,YAAlB;;EACA,iBAAqC,IAAAF,eAAA,EAAkB,KAAlB,CAArC;EAAA;EAAA,IAAOG,cAAP;EAAA,IAAuBC,UAAvB;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;IACxBD,UAAU,CAAC,KAAD,CAAV;EACH,CAFD;;EAIA,IAAME,YAAY,GAAG,SAAfA,YAAe,GAAY;IAC7BJ,YAAY,CAACJ,IAAI,CAACS,IAAN,CAAZ;IACAH,UAAU,CAAC,IAAD,CAAV;EACH,CAHD;;EAKA,IAAMI,QAAQ,GAAG,IAAAC,kBAAA,EACb,UAACC,KAAD,EAAiC;IAC7BA,KAAK,CAACC,cAAN;IACAZ,OAAO,CAAC,UAAAD,IAAI,EAAI;MACZA,IAAI,CAACS,IAAL,GAAYN,SAAZ;MACA,OAAOH,IAAP;IACH,CAHM,CAAP;IAIAM,UAAU,CAAC,KAAD,CAAV;EACH,CARY,EASb,CAACH,SAAD,CATa,CAAjB;EAYA,IAAAW,wBAAA,EAAW;IACPC,MAAM,EAAE,GADD;IAEPC,IAAI,EAAE;MACF,iBAAiBR;IADf;EAFC,CAAX;EAOA,IAAAM,wBAAA,EAAW;IACPC,MAAM,EAAE,GADD;IAEPE,QAAQ,EAAE,CAACZ,cAFJ;IAGPW,IAAI,EAAE;MACFE,GAAG,EAAE,aAACN,KAAD,EAAiC;QAClCA,KAAK,CAACC,cAAN;QACAN,aAAa;MAChB,CAJC;MAKFY,KAAK,EAAET;IALL;EAHC,CAAX,EAjCgC,CA6ChC;EACA;;EACA,IAAMU,SAAS,GAAG,CAACC,MAAM,CAACC,OAA1B;EAEA,OAAOjB,cAAc,gBACjB,6BAAC,4BAAD,qBACI,6BAAC,YAAD;IACI,SAAS,EAAEe,SADf;IAEI,SAAS,MAFb;IAGI,KAAK,EAAEjB,SAHX;IAII,QAAQ,EAAEC,YAJd;IAKI,MAAM,EAAEM;EALZ,EADJ,CADiB,gBAWjB,6BAAC,uBAAD,qBACI,6BAAC,gBAAD;IACI,SAAS,EAAEa,2BADf;IAEI,SAAS,EAAE,QAFf;IAGI,OAAO,eAAE,2CAAO5B,CAAP;EAHb,gBAKI,6BAAC,oBAAD;IAAU,eAAY,wBAAtB;IAA+C,OAAO,EAAEa;EAAxD,GACKR,IAAI,CAACS,IADV,CALJ,CADJ,CAXJ;AAuBH,CAxEM"}
@@ -25,15 +25,15 @@ var _useSnackbar2 = require("@webiny/app-admin/hooks/useSnackbar");
25
25
 
26
26
  var _i18n = require("@webiny/app/i18n");
27
27
 
28
- var _useContentModelEditor = require("../../../components/ContentModelEditor/useContentModelEditor");
28
+ var _hooks = require("../../../hooks");
29
29
 
30
30
  var _templateObject, _templateObject2;
31
31
 
32
32
  var t = _i18n.i18n.namespace("app-headless-cms/admin/editor/top-bar/save-button");
33
33
 
34
34
  var SaveContentModelButton = function SaveContentModelButton() {
35
- var _useContentModelEdito = (0, _useContentModelEditor.useContentModelEditor)(),
36
- saveContentModel = _useContentModelEdito.saveContentModel;
35
+ var _useModelEditor = (0, _hooks.useModelEditor)(),
36
+ saveContentModel = _useModelEditor.saveContentModel;
37
37
 
38
38
  var _useState = (0, _react.useState)(false),
39
39
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","namespace","SaveContentModelButton","useContentModelEditor","saveContentModel","useState","loading","setLoading","useSnackbar","showSnackbar","onClick","useCallback","response","error","message"],"sources":["SaveContentModelButton.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/editor/top-bar/save-button\");\n\nconst SaveContentModelButton: React.FC = () => {\n const { saveContentModel } = useContentModelEditor();\n const [loading, setLoading] = useState<boolean>(false);\n const { showSnackbar } = useSnackbar();\n\n const onClick = useCallback(async () => {\n setLoading(true);\n const response = await saveContentModel();\n setLoading(false);\n\n if (response.error) {\n showSnackbar(response.error.message);\n return;\n }\n\n showSnackbar(t`Your content model was saved successfully!`);\n }, [saveContentModel]);\n\n return (\n <ButtonPrimary\n data-testid=\"cms.editor.defaultbar.save\"\n disabled={loading}\n onClick={() => {\n onClick();\n }}\n >\n {t`Save`}\n </ButtonPrimary>\n );\n};\n\nexport default SaveContentModelButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,SAAL,CAAe,mDAAf,CAAV;;AAEA,IAAMC,sBAAgC,GAAG,SAAnCA,sBAAmC,GAAM;EAC3C,4BAA6B,IAAAC,4CAAA,GAA7B;EAAA,IAAQC,gBAAR,yBAAQA,gBAAR;;EACA,gBAA8B,IAAAC,eAAA,EAAkB,KAAlB,CAA9B;EAAA;EAAA,IAAOC,OAAP;EAAA,IAAgBC,UAAhB;;EACA,mBAAyB,IAAAC,yBAAA,GAAzB;EAAA,IAAQC,YAAR,gBAAQA,YAAR;;EAEA,IAAMC,QAAO,GAAG,IAAAC,kBAAA,uGAAY;IAAA;IAAA;MAAA;QAAA;UAAA;YACxBJ,UAAU,CAAC,IAAD,CAAV;YADwB;YAAA,OAEDH,gBAAgB,EAFf;;UAAA;YAElBQ,QAFkB;YAGxBL,UAAU,CAAC,KAAD,CAAV;;YAHwB,KAKpBK,QAAQ,CAACC,KALW;cAAA;cAAA;YAAA;;YAMpBJ,YAAY,CAACG,QAAQ,CAACC,KAAT,CAAeC,OAAhB,CAAZ;YANoB;;UAAA;YAUxBL,YAAY,CAACV,CAAD,8HAAZ;;UAVwB;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAAZ,IAWb,CAACK,gBAAD,CAXa,CAAhB;;EAaA,oBACI,6BAAC,qBAAD;IACI,eAAY,4BADhB;IAEI,QAAQ,EAAEE,OAFd;IAGI,OAAO,EAAE,mBAAM;MACXI,QAAO;IACV;EALL,GAOKX,CAPL,0FADJ;AAWH,CA7BD;;eA+BeG,sB"}
1
+ {"version":3,"names":["t","i18n","namespace","SaveContentModelButton","useModelEditor","saveContentModel","useState","loading","setLoading","useSnackbar","showSnackbar","onClick","useCallback","response","error","message"],"sources":["SaveContentModelButton.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useModelEditor } from \"~/admin/hooks\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/editor/top-bar/save-button\");\n\nconst SaveContentModelButton: React.FC = () => {\n const { saveContentModel } = useModelEditor();\n const [loading, setLoading] = useState<boolean>(false);\n const { showSnackbar } = useSnackbar();\n\n const onClick = useCallback(async () => {\n setLoading(true);\n const response = await saveContentModel();\n setLoading(false);\n\n if (response.error) {\n showSnackbar(response.error.message);\n return;\n }\n\n showSnackbar(t`Your content model was saved successfully!`);\n }, [saveContentModel]);\n\n return (\n <ButtonPrimary\n data-testid=\"cms.editor.defaultbar.save\"\n disabled={loading}\n onClick={() => {\n onClick();\n }}\n >\n {t`Save`}\n </ButtonPrimary>\n );\n};\n\nexport default SaveContentModelButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,SAAL,CAAe,mDAAf,CAAV;;AAEA,IAAMC,sBAAgC,GAAG,SAAnCA,sBAAmC,GAAM;EAC3C,sBAA6B,IAAAC,qBAAA,GAA7B;EAAA,IAAQC,gBAAR,mBAAQA,gBAAR;;EACA,gBAA8B,IAAAC,eAAA,EAAkB,KAAlB,CAA9B;EAAA;EAAA,IAAOC,OAAP;EAAA,IAAgBC,UAAhB;;EACA,mBAAyB,IAAAC,yBAAA,GAAzB;EAAA,IAAQC,YAAR,gBAAQA,YAAR;;EAEA,IAAMC,QAAO,GAAG,IAAAC,kBAAA,uGAAY;IAAA;IAAA;MAAA;QAAA;UAAA;YACxBJ,UAAU,CAAC,IAAD,CAAV;YADwB;YAAA,OAEDH,gBAAgB,EAFf;;UAAA;YAElBQ,QAFkB;YAGxBL,UAAU,CAAC,KAAD,CAAV;;YAHwB,KAKpBK,QAAQ,CAACC,KALW;cAAA;cAAA;YAAA;;YAMpBJ,YAAY,CAACG,QAAQ,CAACC,KAAT,CAAeC,OAAhB,CAAZ;YANoB;;UAAA;YAUxBL,YAAY,CAACV,CAAD,8HAAZ;;UAVwB;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAAZ,IAWb,CAACK,gBAAD,CAXa,CAAhB;;EAaA,oBACI,6BAAC,qBAAD;IACI,eAAY,4BADhB;IAEI,QAAQ,EAAEE,OAFd;IAGI,OAAO,EAAE,mBAAM;MACXI,QAAO;IACV;EALL,GAOKX,CAPL,0FADJ;AAWH,CA7BD;;eA+BeG,sB"}
@@ -13,6 +13,8 @@ var _Grid = require("@webiny/ui/Grid");
13
13
 
14
14
  var _Input = require("@webiny/ui/Input");
15
15
 
16
+ var _Tags = require("@webiny/ui/Tags");
17
+
16
18
  var _validation = require("@webiny/validation");
17
19
 
18
20
  var _GroupSelect = _interopRequireDefault(require("./GroupSelect"));
@@ -44,7 +46,13 @@ var GeneralSettings = function GeneralSettings(_ref) {
44
46
  }, /*#__PURE__*/_react.default.createElement(Bind, {
45
47
  name: "group",
46
48
  validators: _validation.validation.create("required")
47
- }, /*#__PURE__*/_react.default.createElement(_GroupSelect.default, null)))));
49
+ }, /*#__PURE__*/_react.default.createElement(_GroupSelect.default, null))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
50
+ span: 12
51
+ }, /*#__PURE__*/_react.default.createElement(Bind, {
52
+ name: "tags"
53
+ }, /*#__PURE__*/_react.default.createElement(_Tags.Tags, {
54
+ label: "Tags"
55
+ })))));
48
56
  };
49
57
 
50
58
  var _default = GeneralSettings;
@@ -1 +1 @@
1
- {"version":3,"names":["GeneralSettings","Bind","validation","create"],"sources":["GeneralSettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { validation } from \"@webiny/validation\";\nimport { BindComponent } from \"@webiny/form\";\nimport GroupSelect from \"./GroupSelect\";\n\ninterface GeneralSettingsProps {\n Bind: BindComponent;\n}\n\nconst GeneralSettings = ({ Bind }: GeneralSettingsProps) => {\n return (\n <React.Fragment>\n <Grid>\n <Cell span={12}>\n <Bind name={\"name\"}>\n <Input label={\"Content model name\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"modelId\"}>\n <Input disabled={true} label={\"Content model ID\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"description\"}>\n <Input rows={5} label={\"Content model description\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"group\"} validators={validation.create(\"required\")}>\n <GroupSelect />\n </Bind>\n </Cell>\n </Grid>\n </React.Fragment>\n );\n};\n\nexport default GeneralSettings;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AAMA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAAoC;EAAA,IAAjCC,IAAiC,QAAjCA,IAAiC;EACxD,oBACI,6BAAC,cAAD,CAAO,QAAP,qBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,YAAD;IAAO,KAAK,EAAE;EAAd,EADJ,CADJ,CADJ,eAMI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,YAAD;IAAO,QAAQ,EAAE,IAAjB;IAAuB,KAAK,EAAE;EAA9B,EADJ,CADJ,CANJ,eAWI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,YAAD;IAAO,IAAI,EAAE,CAAb;IAAgB,KAAK,EAAE;EAAvB,EADJ,CADJ,CAXJ,eAgBI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE,OAAZ;IAAqB,UAAU,EAAEC,sBAAA,CAAWC,MAAX,CAAkB,UAAlB;EAAjC,gBACI,6BAAC,oBAAD,OADJ,CADJ,CAhBJ,CADJ,CADJ;AA0BH,CA3BD;;eA6BeH,e"}
1
+ {"version":3,"names":["GeneralSettings","Bind","validation","create"],"sources":["GeneralSettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Tags } from \"@webiny/ui/Tags\";\nimport { validation } from \"@webiny/validation\";\nimport { BindComponent } from \"@webiny/form\";\nimport GroupSelect from \"./GroupSelect\";\n\ninterface GeneralSettingsProps {\n Bind: BindComponent;\n}\n\nconst GeneralSettings = ({ Bind }: GeneralSettingsProps) => {\n return (\n <React.Fragment>\n <Grid>\n <Cell span={12}>\n <Bind name={\"name\"}>\n <Input label={\"Content model name\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"modelId\"}>\n <Input disabled={true} label={\"Content model ID\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"description\"}>\n <Input rows={5} label={\"Content model description\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"group\"} validators={validation.create(\"required\")}>\n <GroupSelect />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"tags\"}>\n <Tags label={\"Tags\"} />\n </Bind>\n </Cell>\n </Grid>\n </React.Fragment>\n );\n};\n\nexport default GeneralSettings;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAMA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAAoC;EAAA,IAAjCC,IAAiC,QAAjCA,IAAiC;EACxD,oBACI,6BAAC,cAAD,CAAO,QAAP,qBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,YAAD;IAAO,KAAK,EAAE;EAAd,EADJ,CADJ,CADJ,eAMI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,YAAD;IAAO,QAAQ,EAAE,IAAjB;IAAuB,KAAK,EAAE;EAA9B,EADJ,CADJ,CANJ,eAWI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,YAAD;IAAO,IAAI,EAAE,CAAb;IAAgB,KAAK,EAAE;EAAvB,EADJ,CADJ,CAXJ,eAgBI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE,OAAZ;IAAqB,UAAU,EAAEC,sBAAA,CAAWC,MAAX,CAAkB,UAAlB;EAAjC,gBACI,6BAAC,oBAAD,OADJ,CADJ,CAhBJ,eAqBI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,UAAD;IAAM,KAAK,EAAE;EAAb,EADJ,CADJ,CArBJ,CADJ,CADJ;AA+BH,CAhCD;;eAkCeH,e"}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import { BindComponent, BindComponentRenderProp, CmsEditorField } from "../../../types";
2
+ import { BindComponent, BindComponentRenderProp, CmsModelField } from "../../../types";
3
3
  import { GetBindCallable } from "../../components/ContentEntryForm/useBind";
4
4
  export interface DynamicSectionPropsChildrenParams {
5
5
  Bind: BindComponent;
6
- field: CmsEditorField;
6
+ field: CmsModelField;
7
7
  bind: {
8
8
  index: BindComponentRenderProp;
9
9
  field: BindComponentRenderProp;
@@ -11,7 +11,7 @@ export interface DynamicSectionPropsChildrenParams {
11
11
  index: number;
12
12
  }
13
13
  export interface DynamicSectionProps {
14
- field: CmsEditorField;
14
+ field: CmsModelField;
15
15
  getBind: GetBindCallable;
16
16
  showLabel?: boolean;
17
17
  Label: React.ComponentType<any>;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","style","addButton","css","width","borderTop","paddingTop","DynamicSection","field","getBind","Label","children","showLabel","emptyValue","renderTitle","gridClassName","Bind","FirstFieldBind","bindField","value","appendValue","bindFieldValue","label","bindProps","bind","index","slice","map","_","realIndex","BindField","validation","isValid","message","undefined"],"sources":["DynamicSection.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { ButtonDefault, ButtonIcon } from \"@webiny/ui/Button\";\nimport { BindComponent, BindComponentRenderProp, CmsEditorField } from \"~/types\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { GetBindCallable } from \"~/admin/components/ContentEntryForm/useBind\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst style = {\n addButton: css({\n width: \"100%\",\n borderTop: \"1px solid var(--mdc-theme-background)\",\n paddingTop: 8\n })\n};\n\nexport interface DynamicSectionPropsChildrenParams {\n Bind: BindComponent;\n field: CmsEditorField;\n bind: {\n index: BindComponentRenderProp;\n field: BindComponentRenderProp;\n };\n index: number;\n}\n\nexport interface DynamicSectionProps {\n field: CmsEditorField;\n getBind: GetBindCallable;\n showLabel?: boolean;\n Label: React.ComponentType<any>;\n children: (params: DynamicSectionPropsChildrenParams) => JSX.Element;\n emptyValue?: any;\n renderTitle?: (value: any[]) => React.ReactElement;\n gridClassName?: string;\n}\n\nconst DynamicSection: React.FC<DynamicSectionProps> = ({\n field,\n getBind,\n Label,\n children,\n showLabel = true,\n emptyValue = \"\",\n renderTitle,\n gridClassName\n}) => {\n const Bind = getBind();\n const FirstFieldBind = getBind(0);\n\n return (\n /* First we mount the top level field, for example: \"items\" */\n <Bind>\n {bindField => {\n /**\n * \"value\" -> an array of items\n * \"appendValue\" -> a callback to add a new value to the top level \"items\" array\n */\n const { value, appendValue } = bindField;\n\n const bindFieldValue: string[] = value || [];\n return (\n <Grid className={gridClassName}>\n {typeof renderTitle === \"function\" && renderTitle(bindFieldValue)}\n <Cell span={12}>\n {/* We always render the first item, for better UX */}\n {showLabel && field.label && <Label>{field.label}</Label>}\n <FirstFieldBind>\n {bindProps =>\n /* We bind it to index \"0\", so when you start typing, that index in parent array will be populated */\n children({\n Bind: FirstFieldBind,\n field,\n // \"index\" contains Bind props for this particular item in the array\n // \"field\" contains Bind props for the main (parent) field.\n bind: {\n index: bindProps,\n field: bindField\n },\n index: 0 // Binds to \"items.0\" in the <Form>.\n })\n }\n </FirstFieldBind>\n </Cell>\n\n {/* Now we skip the first item, because we already rendered it above, and proceed with all other items. */}\n {bindFieldValue.slice(1).map((_, index) => {\n /* We simply increase index, and as you type, the appropriate indexes in the parent array will be updated. */\n const realIndex = index + 1;\n const BindField = getBind(realIndex);\n return (\n <Cell span={12} key={realIndex}>\n <BindField>\n {bindProps =>\n children({\n Bind: BindField,\n field,\n bind: {\n index: bindProps,\n field: bindField\n },\n index: realIndex\n })\n }\n </BindField>\n </Cell>\n );\n })}\n\n {bindField.validation.isValid === false && (\n <Cell span={12}>\n <FormElementMessage error>\n {bindField.validation.message}\n </FormElementMessage>\n </Cell>\n )}\n <Cell span={12} className={style.addButton}>\n <ButtonDefault\n disabled={bindFieldValue[0] === undefined}\n onClick={() => appendValue(emptyValue)}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`Add value`}\n </ButtonDefault>\n </Cell>\n </Grid>\n );\n }}\n </Bind>\n );\n};\n\nexport default DynamicSection;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;AAGA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,oCAAR,CAAV;;AAEA,IAAMC,KAAK,GAAG;EACVC,SAAS,eAAE,IAAAC,YAAA,EAAI;IACXC,KAAK,EAAE,MADI;IAEXC,SAAS,EAAE,uCAFA;IAGXC,UAAU,EAAE;EAHD,CAAJ;AADD,CAAd;;AA6BA,IAAMC,cAA6C,GAAG,SAAhDA,cAAgD,OAShD;EAAA,IARFC,KAQE,QARFA,KAQE;EAAA,IAPFC,OAOE,QAPFA,OAOE;EAAA,IANFC,KAME,QANFA,KAME;EAAA,IALFC,QAKE,QALFA,QAKE;EAAA,0BAJFC,SAIE;EAAA,IAJFA,SAIE,+BAJU,IAIV;EAAA,2BAHFC,UAGE;EAAA,IAHFA,UAGE,gCAHW,EAGX;EAAA,IAFFC,WAEE,QAFFA,WAEE;EAAA,IADFC,aACE,QADFA,aACE;EACF,IAAMC,IAAI,GAAGP,OAAO,EAApB;EACA,IAAMQ,cAAc,GAAGR,OAAO,CAAC,CAAD,CAA9B;EAEA;IAAA;;IACI;IACA,6BAAC,IAAD,QACK,UAAAS,SAAS,EAAI;MACV;AAChB;AACA;AACA;MACgB,IAAQC,KAAR,GAA+BD,SAA/B,CAAQC,KAAR;MAAA,IAAeC,WAAf,GAA+BF,SAA/B,CAAeE,WAAf;MAEA,IAAMC,cAAwB,GAAGF,KAAK,IAAI,EAA1C;MACA,oBACI,6BAAC,UAAD;QAAM,SAAS,EAAEJ;MAAjB,GACK,OAAOD,WAAP,KAAuB,UAAvB,IAAqCA,WAAW,CAACO,cAAD,CADrD,eAEI,6BAAC,UAAD;QAAM,IAAI,EAAE;MAAZ,GAEKT,SAAS,IAAIJ,KAAK,CAACc,KAAnB,iBAA4B,6BAAC,KAAD,QAAQd,KAAK,CAACc,KAAd,CAFjC,eAGI,6BAAC,cAAD,QACK,UAAAC,SAAS;QAAA;UACN;UACAZ,QAAQ,CAAC;YACLK,IAAI,EAAEC,cADD;YAELT,KAAK,EAALA,KAFK;YAGL;YACA;YACAgB,IAAI,EAAE;cACFC,KAAK,EAAEF,SADL;cAEFf,KAAK,EAAEU;YAFL,CALD;YASLO,KAAK,EAAE,CATF,CASI;;UATJ,CAAD;QAFF;MAAA,CADd,CAHJ,CAFJ,EAwBKJ,cAAc,CAACK,KAAf,CAAqB,CAArB,EAAwBC,GAAxB,CAA4B,UAACC,CAAD,EAAIH,KAAJ,EAAc;QACvC;QACA,IAAMI,SAAS,GAAGJ,KAAK,GAAG,CAA1B;QACA,IAAMK,SAAS,GAAGrB,OAAO,CAACoB,SAAD,CAAzB;QACA,oBACI,6BAAC,UAAD;UAAM,IAAI,EAAE,EAAZ;UAAgB,GAAG,EAAEA;QAArB,gBACI,6BAAC,SAAD,QACK,UAAAN,SAAS;UAAA,OACNZ,QAAQ,CAAC;YACLK,IAAI,EAAEc,SADD;YAELtB,KAAK,EAALA,KAFK;YAGLgB,IAAI,EAAE;cACFC,KAAK,EAAEF,SADL;cAEFf,KAAK,EAAEU;YAFL,CAHD;YAOLO,KAAK,EAAEI;UAPF,CAAD,CADF;QAAA,CADd,CADJ,CADJ;MAiBH,CArBA,CAxBL,EA+CKX,SAAS,CAACa,UAAV,CAAqBC,OAArB,KAAiC,KAAjC,iBACG,6BAAC,UAAD;QAAM,IAAI,EAAE;MAAZ,gBACI,6BAAC,sCAAD;QAAoB,KAAK;MAAzB,GACKd,SAAS,CAACa,UAAV,CAAqBE,OAD1B,CADJ,CAhDR,eAsDI,6BAAC,UAAD;QAAM,IAAI,EAAE,EAAZ;QAAgB,SAAS,EAAEhC,KAAK,CAACC;MAAjC,gBACI,6BAAC,qBAAD;QACI,QAAQ,EAAEmB,cAAc,CAAC,CAAD,CAAd,KAAsBa,SADpC;QAEI,OAAO,EAAE;UAAA,OAAMd,WAAW,CAACP,UAAD,CAAjB;QAAA;MAFb,gBAII,6BAAC,kBAAD;QAAY,IAAI,eAAE,6BAAC,uBAAD;MAAlB,EAJJ,EAKKf,CALL,6FADJ,CAtDJ,CADJ;IAkEH,CA3EL;EAFJ;AAgFH,CA7FD;;eA+FeS,c"}
1
+ {"version":3,"names":["t","i18n","ns","style","addButton","css","width","borderTop","paddingTop","DynamicSection","field","getBind","Label","children","showLabel","emptyValue","renderTitle","gridClassName","Bind","FirstFieldBind","bindField","value","appendValue","bindFieldValue","label","bindProps","bind","index","slice","map","_","realIndex","BindField","validation","isValid","message","undefined"],"sources":["DynamicSection.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { ButtonDefault, ButtonIcon } from \"@webiny/ui/Button\";\nimport { BindComponent, BindComponentRenderProp, CmsModelField } from \"~/types\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { GetBindCallable } from \"~/admin/components/ContentEntryForm/useBind\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst style = {\n addButton: css({\n width: \"100%\",\n borderTop: \"1px solid var(--mdc-theme-background)\",\n paddingTop: 8\n })\n};\n\nexport interface DynamicSectionPropsChildrenParams {\n Bind: BindComponent;\n field: CmsModelField;\n bind: {\n index: BindComponentRenderProp;\n field: BindComponentRenderProp;\n };\n index: number;\n}\n\nexport interface DynamicSectionProps {\n field: CmsModelField;\n getBind: GetBindCallable;\n showLabel?: boolean;\n Label: React.ComponentType<any>;\n children: (params: DynamicSectionPropsChildrenParams) => JSX.Element;\n emptyValue?: any;\n renderTitle?: (value: any[]) => React.ReactElement;\n gridClassName?: string;\n}\n\nconst DynamicSection: React.FC<DynamicSectionProps> = ({\n field,\n getBind,\n Label,\n children,\n showLabel = true,\n emptyValue = \"\",\n renderTitle,\n gridClassName\n}) => {\n const Bind = getBind();\n const FirstFieldBind = getBind(0);\n\n return (\n /* First we mount the top level field, for example: \"items\" */\n <Bind>\n {bindField => {\n /**\n * \"value\" -> an array of items\n * \"appendValue\" -> a callback to add a new value to the top level \"items\" array\n */\n const { value, appendValue } = bindField;\n\n const bindFieldValue: string[] = value || [];\n return (\n <Grid className={gridClassName}>\n {typeof renderTitle === \"function\" && renderTitle(bindFieldValue)}\n <Cell span={12}>\n {/* We always render the first item, for better UX */}\n {showLabel && field.label && <Label>{field.label}</Label>}\n <FirstFieldBind>\n {bindProps =>\n /* We bind it to index \"0\", so when you start typing, that index in parent array will be populated */\n children({\n Bind: FirstFieldBind,\n field,\n // \"index\" contains Bind props for this particular item in the array\n // \"field\" contains Bind props for the main (parent) field.\n bind: {\n index: bindProps,\n field: bindField\n },\n index: 0 // Binds to \"items.0\" in the <Form>.\n })\n }\n </FirstFieldBind>\n </Cell>\n\n {/* Now we skip the first item, because we already rendered it above, and proceed with all other items. */}\n {bindFieldValue.slice(1).map((_, index) => {\n /* We simply increase index, and as you type, the appropriate indexes in the parent array will be updated. */\n const realIndex = index + 1;\n const BindField = getBind(realIndex);\n return (\n <Cell span={12} key={realIndex}>\n <BindField>\n {bindProps =>\n children({\n Bind: BindField,\n field,\n bind: {\n index: bindProps,\n field: bindField\n },\n index: realIndex\n })\n }\n </BindField>\n </Cell>\n );\n })}\n\n {bindField.validation.isValid === false && (\n <Cell span={12}>\n <FormElementMessage error>\n {bindField.validation.message}\n </FormElementMessage>\n </Cell>\n )}\n <Cell span={12} className={style.addButton}>\n <ButtonDefault\n disabled={bindFieldValue[0] === undefined}\n onClick={() => appendValue(emptyValue)}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`Add value`}\n </ButtonDefault>\n </Cell>\n </Grid>\n );\n }}\n </Bind>\n );\n};\n\nexport default DynamicSection;\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import { TrailingIcon } from "./Input";
3
- import { CmsEditorField } from "../../../../types";
3
+ import { CmsModelField } from "../../../../types";
4
4
  import { BindComponentRenderProp } from "@webiny/form";
5
5
  export interface Props {
6
- field: CmsEditorField;
6
+ field: CmsModelField;
7
7
  bind: BindComponentRenderProp;
8
8
  trailingIcon?: TrailingIcon;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DateOnly","props","field","bind","trailingIcon","date","getDefaultFieldValue","getCurrentDate","Date","bindValue","value","useEffect","onChange","settings","type"],"sources":["DateOnly.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Input, TrailingIcon } from \"./Input\";\nimport { CmsEditorField } from \"~/types\";\nimport {\n getCurrentDate,\n getDefaultFieldValue\n} from \"~/admin/plugins/fieldRenderers/dateTime/utils\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nexport interface Props {\n field: CmsEditorField;\n bind: BindComponentRenderProp;\n trailingIcon?: TrailingIcon;\n}\n\nexport const DateOnly: React.FC<Props> = props => {\n const { field, bind, trailingIcon } = props;\n const date = getDefaultFieldValue(field, bind, () => {\n return getCurrentDate(new Date());\n });\n\n const bindValue = bind.value || \"\";\n\n useEffect(() => {\n if (!date || bindValue === date) {\n return;\n }\n bind.onChange(date);\n }, [bindValue]);\n\n return (\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async (value: string) => {\n if (!value) {\n if (!bindValue) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(value);\n }\n }}\n field={field}\n type={field.settings?.type}\n trailingIcon={trailingIcon}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAYO,IAAMA,QAAyB,GAAG,SAA5BA,QAA4B,CAAAC,KAAK,EAAI;EAAA;;EAC9C,IAAQC,KAAR,GAAsCD,KAAtC,CAAQC,KAAR;EAAA,IAAeC,IAAf,GAAsCF,KAAtC,CAAeE,IAAf;EAAA,IAAqBC,YAArB,GAAsCH,KAAtC,CAAqBG,YAArB;EACA,IAAMC,IAAI,GAAG,IAAAC,2BAAA,EAAqBJ,KAArB,EAA4BC,IAA5B,EAAkC,YAAM;IACjD,OAAO,IAAAI,qBAAA,EAAe,IAAIC,IAAJ,EAAf,CAAP;EACH,CAFY,CAAb;EAIA,IAAMC,SAAS,GAAGN,IAAI,CAACO,KAAL,IAAc,EAAhC;EAEA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IAAI,CAACN,IAAD,IAASI,SAAS,KAAKJ,IAA3B,EAAiC;MAC7B;IACH;;IACDF,IAAI,CAACS,QAAL,CAAcP,IAAd;EACH,CALD,EAKG,CAACI,SAAD,CALH;EAOA,oBACI,6BAAC,YAAD;IACI,IAAI,8DACGN,IADH;MAEAO,KAAK,EAAEL,IAFP;MAGAO,QAAQ;QAAA,uGAAE,iBAAOF,KAAP;UAAA;YAAA;cAAA;gBAAA;kBAAA,IACDA,KADC;oBAAA;oBAAA;kBAAA;;kBAAA,IAEGD,SAFH;oBAAA;oBAAA;kBAAA;;kBAAA;;gBAAA;kBAAA,iCAKKN,IAAI,CAACS,QAAL,CAAc,EAAd,CALL;;gBAAA;kBAAA,iCAOCT,IAAI,CAACS,QAAL,CAAcF,KAAd,CAPD;;gBAAA;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAF;;QAAA;UAAA;QAAA;;QAAA;MAAA;IAHR,EADR;IAcI,KAAK,EAAER,KAdX;IAeI,IAAI,qBAAEA,KAAK,CAACW,QAAR,oDAAE,gBAAgBC,IAf1B;IAgBI,YAAY,EAAEV;EAhBlB,EADJ;AAoBH,CAnCM"}
1
+ {"version":3,"names":["DateOnly","props","field","bind","trailingIcon","date","getDefaultFieldValue","getCurrentDate","Date","bindValue","value","useEffect","onChange","settings","type"],"sources":["DateOnly.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Input, TrailingIcon } from \"./Input\";\nimport { CmsModelField } from \"~/types\";\nimport {\n getCurrentDate,\n getDefaultFieldValue\n} from \"~/admin/plugins/fieldRenderers/dateTime/utils\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nexport interface Props {\n field: CmsModelField;\n bind: BindComponentRenderProp;\n trailingIcon?: TrailingIcon;\n}\n\nexport const DateOnly: React.FC<Props> = props => {\n const { field, bind, trailingIcon } = props;\n const date = getDefaultFieldValue(field, bind, () => {\n return getCurrentDate(new Date());\n });\n\n const bindValue = bind.value || \"\";\n\n useEffect(() => {\n if (!date || bindValue === date) {\n return;\n }\n bind.onChange(date);\n }, [bindValue]);\n\n return (\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async (value: string) => {\n if (!value) {\n if (!bindValue) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(value);\n }\n }}\n field={field}\n type={field.settings?.type}\n trailingIcon={trailingIcon}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAYO,IAAMA,QAAyB,GAAG,SAA5BA,QAA4B,CAAAC,KAAK,EAAI;EAAA;;EAC9C,IAAQC,KAAR,GAAsCD,KAAtC,CAAQC,KAAR;EAAA,IAAeC,IAAf,GAAsCF,KAAtC,CAAeE,IAAf;EAAA,IAAqBC,YAArB,GAAsCH,KAAtC,CAAqBG,YAArB;EACA,IAAMC,IAAI,GAAG,IAAAC,2BAAA,EAAqBJ,KAArB,EAA4BC,IAA5B,EAAkC,YAAM;IACjD,OAAO,IAAAI,qBAAA,EAAe,IAAIC,IAAJ,EAAf,CAAP;EACH,CAFY,CAAb;EAIA,IAAMC,SAAS,GAAGN,IAAI,CAACO,KAAL,IAAc,EAAhC;EAEA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IAAI,CAACN,IAAD,IAASI,SAAS,KAAKJ,IAA3B,EAAiC;MAC7B;IACH;;IACDF,IAAI,CAACS,QAAL,CAAcP,IAAd;EACH,CALD,EAKG,CAACI,SAAD,CALH;EAOA,oBACI,6BAAC,YAAD;IACI,IAAI,8DACGN,IADH;MAEAO,KAAK,EAAEL,IAFP;MAGAO,QAAQ;QAAA,uGAAE,iBAAOF,KAAP;UAAA;YAAA;cAAA;gBAAA;kBAAA,IACDA,KADC;oBAAA;oBAAA;kBAAA;;kBAAA,IAEGD,SAFH;oBAAA;oBAAA;kBAAA;;kBAAA;;gBAAA;kBAAA,iCAKKN,IAAI,CAACS,QAAL,CAAc,EAAd,CALL;;gBAAA;kBAAA,iCAOCT,IAAI,CAACS,QAAL,CAAcF,KAAd,CAPD;;gBAAA;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAF;;QAAA;UAAA;QAAA;;QAAA;MAAA;IAHR,EADR;IAcI,KAAK,EAAER,KAdX;IAeI,IAAI,qBAAEA,KAAK,CAACW,QAAR,oDAAE,gBAAgBC,IAf1B;IAgBI,YAAY,EAAEV;EAhBlB,EADJ;AAoBH,CAnCM"}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import { CmsEditorField } from "../../../../types";
2
+ import { CmsModelField } from "../../../../types";
3
3
  import { BindComponentRenderProp } from "@webiny/form";
4
4
  export interface DateTimeWithTimezoneProps {
5
5
  bind: BindComponentRenderProp;
6
6
  trailingIcon?: any;
7
- field: CmsEditorField;
7
+ field: CmsModelField;
8
8
  }
9
9
  export declare const DateTimeWithTimezone: React.FC<DateTimeWithTimezoneProps>;
@@ -1 +1 @@
1
- {"version":3,"names":["parseDateTime","value","date","rest","split","formattedDate","Error","parseTime","time","timezone","sign","includes","fullTime","zone","DateTimeWithTimezone","bind","trailingIcon","field","defaultTimeZone","getCurrentTimeZone","DEFAULT_TIMEZONE","initialValue","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","bindValue","useEffect","onChange","cellSize","label","UTC_TIMEZONES","map","t"],"sources":["DateTimeWithTimezone.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Input } from \"./Input\";\nimport { Select } from \"./Select\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n UTC_TIMEZONES,\n RemoveFieldButton,\n getDefaultFieldValue,\n DEFAULT_TIMEZONE,\n getCurrentDate,\n getCurrentLocalTime,\n getCurrentTimeZone\n} from \"./utils\";\nimport { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n timezone: string;\n}\n\nconst parseDateTime = (value?: string): Pick<State, \"date\"> & { rest: string } => {\n if (!value || typeof value !== \"string\") {\n return {\n date: \"\",\n rest: \"\"\n };\n }\n const [formattedDate, rest] = value.split(\"T\");\n if (!formattedDate || !rest) {\n throw new Error(`Could not extract date and time from \"${value}\".`);\n }\n return {\n date: formattedDate,\n rest\n };\n};\n\nconst parseTime = (value?: string): Pick<State, \"time\" | \"timezone\"> => {\n if (!value) {\n return {\n time: \"\",\n timezone: \"\"\n };\n }\n const sign = value.includes(\"+\") ? \"+\" : \"-\";\n const [fullTime, zone] = value.split(sign);\n\n return {\n time: fullTime,\n timezone: sign + zone\n };\n};\n\nexport interface DateTimeWithTimezoneProps {\n bind: BindComponentRenderProp;\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon?: any;\n field: CmsEditorField;\n}\nexport const DateTimeWithTimezone: React.FC<DateTimeWithTimezoneProps> = ({\n bind,\n trailingIcon,\n field\n}) => {\n const defaultTimeZone = getCurrentTimeZone() || DEFAULT_TIMEZONE;\n\n // \"2020-05-18T09:00+10:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)}T${getCurrentLocalTime(date)}${defaultTimeZone}`;\n });\n const { date, rest } = parseDateTime(initialValue);\n const { time, timezone = defaultTimeZone } = parseTime(rest);\n\n const bindValue = bind.value || \"\";\n useEffect(() => {\n if (!date || !time || !timezone || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 3 : 4;\n\n return (\n <Grid>\n <Cell span={4}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async (value: string) => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${value}T${time || getCurrentLocalTime()}${\n timezone || defaultTimeZone\n }`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={4}>\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(\n `${date || getCurrentDate()}T${value}${timezone || defaultTimeZone}`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={5}\n />\n </Cell>\n <Cell span={cellSize}>\n <Select\n label=\"Timezone\"\n value={timezone || defaultTimeZone}\n onChange={value => {\n if (!value) {\n if (!bind.value) {\n return null;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${date || getCurrentDate()}T${time || getCurrentLocalTime()}${value}`\n );\n }}\n options={UTC_TIMEZONES.map(t => ({ value: t.value, label: t.label }))}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["parseDateTime","value","date","rest","split","formattedDate","Error","parseTime","time","timezone","sign","includes","fullTime","zone","DateTimeWithTimezone","bind","trailingIcon","field","defaultTimeZone","getCurrentTimeZone","DEFAULT_TIMEZONE","initialValue","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","bindValue","useEffect","onChange","cellSize","label","UTC_TIMEZONES","map","t"],"sources":["DateTimeWithTimezone.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Input } from \"./Input\";\nimport { Select } from \"./Select\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n UTC_TIMEZONES,\n RemoveFieldButton,\n getDefaultFieldValue,\n DEFAULT_TIMEZONE,\n getCurrentDate,\n getCurrentLocalTime,\n getCurrentTimeZone\n} from \"./utils\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n timezone: string;\n}\n\nconst parseDateTime = (value?: string): Pick<State, \"date\"> & { rest: string } => {\n if (!value || typeof value !== \"string\") {\n return {\n date: \"\",\n rest: \"\"\n };\n }\n const [formattedDate, rest] = value.split(\"T\");\n if (!formattedDate || !rest) {\n throw new Error(`Could not extract date and time from \"${value}\".`);\n }\n return {\n date: formattedDate,\n rest\n };\n};\n\nconst parseTime = (value?: string): Pick<State, \"time\" | \"timezone\"> => {\n if (!value) {\n return {\n time: \"\",\n timezone: \"\"\n };\n }\n const sign = value.includes(\"+\") ? \"+\" : \"-\";\n const [fullTime, zone] = value.split(sign);\n\n return {\n time: fullTime,\n timezone: sign + zone\n };\n};\n\nexport interface DateTimeWithTimezoneProps {\n bind: BindComponentRenderProp;\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon?: any;\n field: CmsModelField;\n}\nexport const DateTimeWithTimezone: React.FC<DateTimeWithTimezoneProps> = ({\n bind,\n trailingIcon,\n field\n}) => {\n const defaultTimeZone = getCurrentTimeZone() || DEFAULT_TIMEZONE;\n\n // \"2020-05-18T09:00+10:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)}T${getCurrentLocalTime(date)}${defaultTimeZone}`;\n });\n const { date, rest } = parseDateTime(initialValue);\n const { time, timezone = defaultTimeZone } = parseTime(rest);\n\n const bindValue = bind.value || \"\";\n useEffect(() => {\n if (!date || !time || !timezone || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 3 : 4;\n\n return (\n <Grid>\n <Cell span={4}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async (value: string) => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${value}T${time || getCurrentLocalTime()}${\n timezone || defaultTimeZone\n }`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={4}>\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(\n `${date || getCurrentDate()}T${value}${timezone || defaultTimeZone}`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={5}\n />\n </Cell>\n <Cell span={cellSize}>\n <Select\n label=\"Timezone\"\n value={timezone || defaultTimeZone}\n onChange={value => {\n if (!value) {\n if (!bind.value) {\n return null;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${date || getCurrentDate()}T${time || getCurrentLocalTime()}${value}`\n );\n }}\n options={UTC_TIMEZONES.map(t => ({ value: t.value, label: t.label }))}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import { CmsEditorField } from "../../../../types";
2
+ import { CmsModelField } from "../../../../types";
3
3
  import { BindComponentRenderProp } from "@webiny/form";
4
4
  export interface DateTimeWithoutTimezoneProps {
5
5
  bind: BindComponentRenderProp;
6
6
  trailingIcon?: any;
7
- field: CmsEditorField;
7
+ field: CmsModelField;
8
8
  }
9
9
  export declare const DateTimeWithoutTimezone: React.FC<DateTimeWithoutTimezoneProps>;