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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/HeadlessCMS.js +4 -0
  2. package/HeadlessCMS.js.map +1 -1
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +35 -32
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
  5. package/admin/components/ContentEntryForm/Fields.d.ts +2 -2
  6. package/admin/components/ContentEntryForm/Fields.js.map +1 -1
  7. package/admin/components/ContentEntryForm/Label.js +1 -1
  8. package/admin/components/ContentEntryForm/Label.js.map +1 -1
  9. package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +2 -2
  10. package/admin/components/ContentEntryForm/RenderFieldElement.js +6 -2
  11. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
  12. package/admin/components/ContentEntryForm/functions/getValue.d.ts +2 -2
  13. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
  14. package/admin/components/ContentEntryForm/functions/setValue.d.ts +2 -2
  15. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
  16. package/admin/components/ContentEntryForm/useBind.d.ts +2 -2
  17. package/admin/components/ContentEntryForm/useBind.js +11 -8
  18. package/admin/components/ContentEntryForm/useBind.js.map +1 -1
  19. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +1 -2
  20. package/admin/components/ContentEntryForm/useContentEntryForm.js +187 -147
  21. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
  22. package/admin/components/ContentModelEditor/{Context.d.ts → ContentModelEditorProvider.d.ts} +10 -4
  23. package/admin/components/ContentModelEditor/{Context.js → ContentModelEditorProvider.js} +60 -116
  24. package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -0
  25. package/admin/components/ContentModelEditor/Editor.js +5 -5
  26. package/admin/components/ContentModelEditor/Editor.js.map +1 -1
  27. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
  28. package/admin/components/ContentModelEditor/PreviewTab.js +3 -3
  29. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
  30. package/admin/components/ContentModelEditor/index.d.ts +2 -0
  31. package/admin/components/ContentModelEditor/index.js +31 -0
  32. package/admin/components/ContentModelEditor/index.js.map +1 -0
  33. package/admin/components/ContentModelEditor/useModelEditor.d.ts +1 -0
  34. package/admin/components/ContentModelEditor/{useContentModelEditor.js → useModelEditor.js} +4 -4
  35. package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -0
  36. package/admin/{views/contentModelGroups → components}/DelayedOnChange.d.ts +0 -0
  37. package/admin/{views/contentModelGroups → components}/DelayedOnChange.js +0 -0
  38. package/admin/{views/contentModelGroups → components}/DelayedOnChange.js.map +0 -0
  39. package/admin/components/Dialog.d.ts +4 -0
  40. package/admin/components/Dialog.js +32 -0
  41. package/admin/components/Dialog.js.map +1 -0
  42. package/admin/components/DropZone/Center.d.ts +2 -1
  43. package/admin/components/DropZone/Center.js +38 -44
  44. package/admin/components/DropZone/Center.js.map +1 -1
  45. package/admin/components/Droppable.d.ts +1 -0
  46. package/admin/components/Droppable.js +12 -1
  47. package/admin/components/Droppable.js.map +1 -1
  48. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +2 -8
  49. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +20 -9
  50. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
  51. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +2 -9
  52. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +35 -21
  53. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
  54. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +2 -9
  55. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +14 -12
  56. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
  57. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.d.ts +10 -0
  58. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +42 -0
  59. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js.map +1 -0
  60. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.d.ts +8 -0
  61. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +227 -0
  62. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -0
  63. package/admin/components/FieldEditor/EditFieldDialog/getValidators.d.ts +13 -0
  64. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +115 -0
  65. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -0
  66. package/admin/components/FieldEditor/EditFieldDialog.d.ts +3 -3
  67. package/admin/components/FieldEditor/EditFieldDialog.js +117 -260
  68. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
  69. package/admin/components/FieldEditor/Field.d.ts +5 -5
  70. package/admin/components/FieldEditor/Field.js +17 -14
  71. package/admin/components/FieldEditor/Field.js.map +1 -1
  72. package/admin/components/FieldEditor/FieldEditor.d.ts +4 -4
  73. package/admin/components/FieldEditor/FieldEditor.js +85 -31
  74. package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
  75. package/admin/components/FieldEditor/FieldEditorContext.d.ts +16 -16
  76. package/admin/components/FieldEditor/FieldEditorContext.js +18 -18
  77. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
  78. package/admin/components/FieldEditor/Styled.js +4 -13
  79. package/admin/components/FieldEditor/Styled.js.map +1 -1
  80. package/admin/components/FieldEditor/index.d.ts +1 -1
  81. package/admin/components/FieldEditor/index.js +3 -3
  82. package/admin/components/FieldEditor/index.js.map +1 -1
  83. package/admin/components/FieldEditor/useModelFieldEditor.d.ts +2 -0
  84. package/admin/components/FieldEditor/useModelFieldEditor.js +20 -0
  85. package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -0
  86. package/admin/components/FieldEditor/utils/deleteField.d.ts +2 -2
  87. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
  88. package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
  89. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
  90. package/admin/components/FieldEditor/utils/moveField.d.ts +3 -3
  91. package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
  92. package/admin/components/IconPicker.d.ts +7 -0
  93. package/admin/{views/contentModelGroups → components}/IconPicker.js +34 -31
  94. package/admin/components/IconPicker.js.map +1 -0
  95. package/admin/components/ModelFieldProvider/ModelFieldContext.d.ts +36 -0
  96. package/admin/components/ModelFieldProvider/ModelFieldContext.js +24 -0
  97. package/admin/components/ModelFieldProvider/ModelFieldContext.js.map +1 -0
  98. package/admin/components/ModelFieldProvider/index.d.ts +2 -0
  99. package/admin/components/ModelFieldProvider/index.js +31 -0
  100. package/admin/components/ModelFieldProvider/index.js.map +1 -0
  101. package/admin/components/ModelFieldProvider/useModelField.d.ts +35 -0
  102. package/admin/components/ModelFieldProvider/useModelField.js +42 -0
  103. package/admin/components/ModelFieldProvider/useModelField.js.map +1 -0
  104. package/admin/components/ModelProvider/ModelContext.d.ts +9 -0
  105. package/admin/components/ModelProvider/ModelContext.js +24 -0
  106. package/admin/components/ModelProvider/ModelContext.js.map +1 -0
  107. package/admin/components/ModelProvider/index.d.ts +2 -0
  108. package/admin/components/ModelProvider/index.js +31 -0
  109. package/admin/components/ModelProvider/index.js.map +1 -0
  110. package/admin/components/ModelProvider/useModel.d.ts +9 -0
  111. package/admin/components/ModelProvider/useModel.js +25 -0
  112. package/admin/components/ModelProvider/useModel.js.map +1 -0
  113. package/admin/constants/statusLabels.js +2 -4
  114. package/admin/constants/statusLabels.js.map +1 -1
  115. package/admin/graphql/contentEntries.d.ts +2 -29
  116. package/admin/graphql/contentEntries.js +28 -42
  117. package/admin/graphql/contentEntries.js.map +1 -1
  118. package/admin/graphql/contentModels.d.ts +1 -1
  119. package/admin/graphql/contentModels.js +2 -2
  120. package/admin/graphql/contentModels.js.map +1 -1
  121. package/admin/graphql/createFieldsList.d.ts +7 -2
  122. package/admin/graphql/createFieldsList.js +5 -1
  123. package/admin/graphql/createFieldsList.js.map +1 -1
  124. package/admin/hooks/index.d.ts +5 -0
  125. package/admin/hooks/index.js +47 -2
  126. package/admin/hooks/index.js.map +1 -1
  127. package/admin/hooks/usePermission.d.ts +0 -2
  128. package/admin/hooks/usePermission.js +5 -37
  129. package/admin/hooks/usePermission.js.map +1 -1
  130. package/admin/menus/NothingToShowElement.js +4 -1
  131. package/admin/menus/NothingToShowElement.js.map +1 -1
  132. package/admin/plugins/arrayUtils.d.ts +12 -0
  133. package/admin/plugins/arrayUtils.js +53 -0
  134. package/admin/plugins/arrayUtils.js.map +1 -0
  135. package/admin/plugins/editor/defaultBar/CreateContentButton.js +4 -4
  136. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
  137. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +5 -5
  138. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
  139. package/admin/plugins/editor/defaultBar/Name/Name.js +4 -4
  140. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
  141. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +3 -3
  142. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
  143. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +9 -1
  144. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
  145. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +3 -3
  146. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
  147. package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -2
  148. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
  149. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
  150. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
  151. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
  152. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
  153. package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +2 -2
  154. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
  155. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +2 -2
  156. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
  157. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +12 -0
  158. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +107 -0
  159. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -0
  160. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +11 -0
  161. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +139 -0
  162. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -0
  163. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +11 -0
  164. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +68 -0
  165. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -0
  166. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +8 -0
  167. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +63 -0
  168. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -0
  169. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +8 -0
  170. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +53 -0
  171. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -0
  172. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +6 -0
  173. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +22 -0
  174. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -0
  175. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.d.ts +2 -0
  176. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +66 -0
  177. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -0
  178. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
  179. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -2
  180. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
  181. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -2
  182. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
  183. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +10 -9
  184. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
  185. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +2 -2
  186. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
  187. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +2 -2
  188. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
  189. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.d.ts +2 -2
  190. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +15 -14
  191. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
  192. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
  193. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
  194. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
  195. package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +2 -2
  196. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
  197. package/admin/plugins/fieldValidators/dateGte.d.ts +2 -2
  198. package/admin/plugins/fieldValidators/dateGte.js +79 -23
  199. package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
  200. package/admin/plugins/fieldValidators/dateLte.d.ts +2 -2
  201. package/admin/plugins/fieldValidators/dateLte.js +79 -23
  202. package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
  203. package/admin/plugins/fieldValidators/dynamicZone.d.ts +2 -0
  204. package/admin/plugins/fieldValidators/dynamicZone.js +215 -0
  205. package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -0
  206. package/admin/plugins/fieldValidators/gte.d.ts +2 -2
  207. package/admin/plugins/fieldValidators/gte.js +44 -5
  208. package/admin/plugins/fieldValidators/gte.js.map +1 -1
  209. package/admin/plugins/fieldValidators/in.d.ts +2 -2
  210. package/admin/plugins/fieldValidators/in.js +44 -5
  211. package/admin/plugins/fieldValidators/in.js.map +1 -1
  212. package/admin/plugins/fieldValidators/lte.d.ts +2 -2
  213. package/admin/plugins/fieldValidators/lte.js +44 -5
  214. package/admin/plugins/fieldValidators/lte.js.map +1 -1
  215. package/admin/plugins/fieldValidators/maxLength.d.ts +2 -2
  216. package/admin/plugins/fieldValidators/maxLength.js +55 -6
  217. package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
  218. package/admin/plugins/fieldValidators/minLength.d.ts +2 -2
  219. package/admin/plugins/fieldValidators/minLength.js +55 -6
  220. package/admin/plugins/fieldValidators/minLength.js.map +1 -1
  221. package/admin/plugins/fieldValidators/pattern.d.ts +2 -2
  222. package/admin/plugins/fieldValidators/pattern.js +129 -60
  223. package/admin/plugins/fieldValidators/pattern.js.map +1 -1
  224. package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +2 -2
  225. package/admin/plugins/fieldValidators/patternPlugins/email.js +6 -4
  226. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
  227. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +2 -2
  228. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +5 -3
  229. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
  230. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.d.ts +2 -2
  231. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +5 -3
  232. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
  233. package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +2 -2
  234. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +5 -3
  235. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
  236. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.d.ts +2 -2
  237. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +5 -3
  238. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
  239. package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +2 -2
  240. package/admin/plugins/fieldValidators/patternPlugins/url.js +5 -3
  241. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
  242. package/admin/plugins/fieldValidators/required.d.ts +2 -2
  243. package/admin/plugins/fieldValidators/required.js +8 -2
  244. package/admin/plugins/fieldValidators/required.js.map +1 -1
  245. package/admin/plugins/fieldValidators/unique.d.ts +2 -2
  246. package/admin/plugins/fieldValidators/unique.js +30 -2
  247. package/admin/plugins/fieldValidators/unique.js.map +1 -1
  248. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +1 -2
  249. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +25 -26
  250. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
  251. package/admin/plugins/fields/boolean.d.ts +2 -2
  252. package/admin/plugins/fields/boolean.js +6 -5
  253. package/admin/plugins/fields/boolean.js.map +1 -1
  254. package/admin/plugins/fields/dateTime.d.ts +2 -2
  255. package/admin/plugins/fields/dateTime.js +58 -48
  256. package/admin/plugins/fields/dateTime.js.map +1 -1
  257. package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +11 -0
  258. package/admin/plugins/fields/dynamicZone/AddTemplate.js +114 -0
  259. package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -0
  260. package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -0
  261. package/admin/plugins/fields/dynamicZone/DynamicZone.js +82 -0
  262. package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -0
  263. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +11 -0
  264. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +127 -0
  265. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -0
  266. package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +9 -0
  267. package/admin/plugins/fields/dynamicZone/TemplateDialog.js +174 -0
  268. package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -0
  269. package/admin/plugins/fields/dynamicZone/commonValidators.d.ts +2 -0
  270. package/admin/plugins/fields/dynamicZone/commonValidators.js +26 -0
  271. package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -0
  272. package/admin/plugins/fields/dynamicZone.d.ts +2 -0
  273. package/admin/plugins/fields/dynamicZone.js +97 -0
  274. package/admin/plugins/fields/dynamicZone.js.map +1 -0
  275. package/admin/plugins/fields/file.d.ts +2 -2
  276. package/admin/plugins/fields/file.js +6 -5
  277. package/admin/plugins/fields/file.js.map +1 -1
  278. package/admin/plugins/fields/longText.d.ts +2 -2
  279. package/admin/plugins/fields/longText.js +4 -3
  280. package/admin/plugins/fields/longText.js.map +1 -1
  281. package/admin/plugins/fields/number.d.ts +2 -2
  282. package/admin/plugins/fields/number.js +6 -5
  283. package/admin/plugins/fields/number.js.map +1 -1
  284. package/admin/plugins/fields/object/ObjectFields.d.ts +2 -2
  285. package/admin/plugins/fields/object/ObjectFields.js +3 -3
  286. package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
  287. package/admin/plugins/fields/object.d.ts +2 -2
  288. package/admin/plugins/fields/object.js +9 -4
  289. package/admin/plugins/fields/object.js.map +1 -1
  290. package/admin/plugins/fields/ref.d.ts +2 -2
  291. package/admin/plugins/fields/ref.js +108 -100
  292. package/admin/plugins/fields/ref.js.map +1 -1
  293. package/admin/plugins/fields/richText.d.ts +2 -2
  294. package/admin/plugins/fields/richText.js +6 -5
  295. package/admin/plugins/fields/richText.js.map +1 -1
  296. package/admin/plugins/fields/text.d.ts +2 -2
  297. package/admin/plugins/fields/text.js +4 -3
  298. package/admin/plugins/fields/text.js.map +1 -1
  299. package/admin/plugins/index.d.ts +28 -1
  300. package/admin/plugins/permissionRenderer/CmsPermissions.js +2 -7
  301. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
  302. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +11 -17
  303. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
  304. package/admin/plugins/transformers/dateTransformer.d.ts +1 -2
  305. package/admin/plugins/transformers/dateTransformer.js +3 -3
  306. package/admin/plugins/transformers/dateTransformer.js.map +1 -1
  307. package/admin/plugins/transformers/dynamicZoneTransformer.d.ts +2 -0
  308. package/admin/plugins/transformers/dynamicZoneTransformer.js +45 -0
  309. package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -0
  310. package/admin/plugins/transformers/index.js +5 -5
  311. package/admin/plugins/transformers/index.js.map +1 -1
  312. package/admin/plugins/transformers/numberTransformer.d.ts +1 -2
  313. package/admin/plugins/transformers/numberTransformer.js +3 -3
  314. package/admin/plugins/transformers/numberTransformer.js.map +1 -1
  315. package/admin/views/contentEntries/ContentEntries.js +6 -2
  316. package/admin/views/contentEntries/ContentEntries.js.map +1 -1
  317. package/admin/views/contentEntries/ContentEntriesContext.d.ts +4 -4
  318. package/admin/views/contentEntries/ContentEntriesContext.js +1 -9
  319. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
  320. package/admin/views/contentEntries/ContentEntriesList.js +23 -8
  321. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
  322. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +19 -4
  323. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
  324. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +60 -60
  325. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
  326. package/admin/views/contentEntries/ContentEntry/cache.js +5 -1
  327. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
  328. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
  329. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +3 -80
  330. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
  331. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -1
  332. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +3 -84
  333. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
  334. package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -2
  335. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
  336. package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +0 -8
  337. package/admin/views/contentEntries/ContentEntry/useRevision.js +10 -122
  338. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
  339. package/admin/views/contentEntries/ContentEntry.js +0 -2
  340. package/admin/views/contentEntries/ContentEntry.js.map +1 -1
  341. package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +2 -2
  342. package/admin/views/contentEntries/experiment/ContentEntriesModule.js +27 -14
  343. package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
  344. package/admin/views/contentEntries/hooks/useContentEntries.js +7 -1
  345. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
  346. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
  347. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
  348. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +2 -2
  349. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
  350. package/admin/views/contentModels/CloneContentModelDialog.js +4 -17
  351. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
  352. package/admin/views/contentModels/ContentModelEditor.js +2 -2
  353. package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
  354. package/admin/views/contentModels/NewContentModelDialog.js +5 -17
  355. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
  356. package/admin/viewsGraphql.js +1 -1
  357. package/admin/viewsGraphql.js.map +1 -1
  358. package/allPlugins.d.ts +34 -0
  359. package/allPlugins.js +95 -0
  360. package/allPlugins.js.map +1 -0
  361. package/index.d.ts +1 -0
  362. package/index.js +15 -1
  363. package/index.js.map +1 -1
  364. package/package.json +29 -29
  365. package/{types.d.ts → types/index.d.ts} +59 -176
  366. package/types/index.js +44 -0
  367. package/types/index.js.map +1 -0
  368. package/types/model.d.ts +83 -0
  369. package/{types.js → types/model.js} +0 -0
  370. package/types/model.js.map +1 -0
  371. package/types/shared.d.ts +5 -0
  372. package/types/shared.js +5 -0
  373. package/types/shared.js.map +1 -0
  374. package/types/validation.d.ts +70 -0
  375. package/types/validation.js +5 -0
  376. package/types/validation.js.map +1 -0
  377. package/utils/CmsModelFieldValidatorConfigAdapter.d.ts +15 -0
  378. package/utils/CmsModelFieldValidatorConfigAdapter.js +91 -0
  379. package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -0
  380. package/utils/createTypeName.d.ts +1 -0
  381. package/utils/createTypeName.js +18 -0
  382. package/utils/createTypeName.js.map +1 -0
  383. package/utils/createValidators.d.ts +3 -0
  384. package/{admin/components/ContentEntryForm/functions → utils}/createValidators.js +37 -16
  385. package/utils/createValidators.js.map +1 -0
  386. package/utils/getFetchPolicy.d.ts +6 -0
  387. package/utils/getFetchPolicy.js +19 -0
  388. package/utils/getFetchPolicy.js.map +1 -0
  389. package/utils/getModelTitleFieldId.d.ts +2 -0
  390. package/utils/getModelTitleFieldId.js +16 -0
  391. package/utils/getModelTitleFieldId.js.map +1 -0
  392. package/admin/components/ContentEntryForm/functions/createValidators.d.ts +0 -3
  393. package/admin/components/ContentEntryForm/functions/createValidators.js.map +0 -1
  394. package/admin/components/ContentModelEditor/Context.js.map +0 -1
  395. package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +0 -1
  396. package/admin/components/ContentModelEditor/useContentModelEditor.js.map +0 -1
  397. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +0 -15
  398. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +0 -148
  399. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +0 -1
  400. package/admin/components/FieldEditor/useFieldEditor.d.ts +0 -1
  401. package/admin/components/FieldEditor/useFieldEditor.js +0 -14
  402. package/admin/components/FieldEditor/useFieldEditor.js.map +0 -1
  403. package/admin/plugins/validators/dateGte.d.ts +0 -3
  404. package/admin/plugins/validators/dateGte.js +0 -68
  405. package/admin/plugins/validators/dateGte.js.map +0 -1
  406. package/admin/plugins/validators/dateLte.d.ts +0 -3
  407. package/admin/plugins/validators/dateLte.js +0 -68
  408. package/admin/plugins/validators/dateLte.js.map +0 -1
  409. package/admin/plugins/validators/gte.d.ts +0 -3
  410. package/admin/plugins/validators/gte.js +0 -57
  411. package/admin/plugins/validators/gte.js.map +0 -1
  412. package/admin/plugins/validators/in.d.ts +0 -3
  413. package/admin/plugins/validators/in.js +0 -57
  414. package/admin/plugins/validators/in.js.map +0 -1
  415. package/admin/plugins/validators/lte.d.ts +0 -3
  416. package/admin/plugins/validators/lte.js +0 -57
  417. package/admin/plugins/validators/lte.js.map +0 -1
  418. package/admin/plugins/validators/maxLength.d.ts +0 -3
  419. package/admin/plugins/validators/maxLength.js +0 -57
  420. package/admin/plugins/validators/maxLength.js.map +0 -1
  421. package/admin/plugins/validators/minLength.d.ts +0 -3
  422. package/admin/plugins/validators/minLength.js +0 -57
  423. package/admin/plugins/validators/minLength.js.map +0 -1
  424. package/admin/plugins/validators/pattern.d.ts +0 -3
  425. package/admin/plugins/validators/pattern.js +0 -77
  426. package/admin/plugins/validators/pattern.js.map +0 -1
  427. package/admin/plugins/validators/patternPlugins/email.d.ts +0 -3
  428. package/admin/plugins/validators/patternPlugins/email.js +0 -17
  429. package/admin/plugins/validators/patternPlugins/email.js.map +0 -1
  430. package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  431. package/admin/plugins/validators/patternPlugins/lowerCase.js +0 -17
  432. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +0 -1
  433. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +0 -3
  434. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +0 -17
  435. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  436. package/admin/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  437. package/admin/plugins/validators/patternPlugins/upperCase.js +0 -17
  438. package/admin/plugins/validators/patternPlugins/upperCase.js.map +0 -1
  439. package/admin/plugins/validators/patternPlugins/upperCaseSpace.d.ts +0 -3
  440. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +0 -17
  441. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  442. package/admin/plugins/validators/patternPlugins/url.d.ts +0 -3
  443. package/admin/plugins/validators/patternPlugins/url.js +0 -17
  444. package/admin/plugins/validators/patternPlugins/url.js.map +0 -1
  445. package/admin/plugins/validators/required.d.ts +0 -3
  446. package/admin/plugins/validators/required.js +0 -21
  447. package/admin/plugins/validators/required.js.map +0 -1
  448. package/admin/plugins/validators/timeGte.d.ts +0 -3
  449. package/admin/plugins/validators/timeGte.js +0 -59
  450. package/admin/plugins/validators/timeGte.js.map +0 -1
  451. package/admin/plugins/validators/timeLte.d.ts +0 -3
  452. package/admin/plugins/validators/timeLte.js +0 -59
  453. package/admin/plugins/validators/timeLte.js.map +0 -1
  454. package/admin/plugins/validators/unique.d.ts +0 -7
  455. package/admin/plugins/validators/unique.js +0 -50
  456. package/admin/plugins/validators/unique.js.map +0 -1
  457. package/admin/views/contentEntries/ContentEntry/header/requestChanges/rule-24px.svg +0 -1
  458. package/admin/views/contentEntries/ContentEntry/header/requestReview/emoji_people-24px.svg +0 -1
  459. package/admin/views/contentModelGroups/IconPicker.d.ts +0 -8
  460. package/admin/views/contentModelGroups/IconPicker.js.map +0 -1
  461. package/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["GeneralTab","field","form","fieldPlugin","Bind","setValue","inputRef","useRef","useContentModelEditor","contentModel","data","useFieldEditor","getField","useEffect","setTimeout","current","focus","afterChangeLabel","useCallback","value","beforeChangeFieldId","baseOnChange","newValue","trim","fieldIdValidator","fieldId","toLowerCase","Error","uniqueFieldIdValidator","existingField","id","additionalSettings","renderSettings","predefinedValuesEnabled","useMemo","allowPredefinedValues","renderPredefinedValues","validation","create","multipleValuesLabel","allowMultipleValues"],"sources":["GeneralTab.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef, useMemo } from \"react\";\nimport { camelCase } from \"lodash\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Switch } from \"@webiny/ui/Switch\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorField, CmsEditorFieldTypePlugin } from \"~/types\";\nimport { FormRenderPropParams } from \"@webiny/form/types\";\n\nimport { useFieldEditor } from \"~/admin/components/FieldEditor\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\ninterface GeneralTabProps {\n field: CmsEditorField;\n form: FormRenderPropParams;\n fieldPlugin: CmsEditorFieldTypePlugin;\n}\n\nconst GeneralTab: React.FC<GeneralTabProps> = ({ field, form, fieldPlugin }) => {\n const { Bind, setValue } = form;\n const inputRef = useRef<HTMLInputElement | null>(null);\n const { data: contentModel } = useContentModelEditor();\n const { getField } = useFieldEditor();\n\n // Had problems with auto-focusing the \"label\" field. A couple of comments on this.\n // 1. It's probably caused by the Tabs component which wraps this component.\n // 2. It seems that the \"autoFocus\" prop on the Input doesn't work. I can't see it attached in the actual DOM.\n // 3. This works, but it's not 100%. Visually, the cursor is frozen, and that's probably caused by a bug / design\n // in the RMWC / Material library. If you were to click somewhere on screen, and then apply focus, then\n // it seems it's behaving correctly. ¯\\_(ツ)_/¯\n useEffect(() => {\n setTimeout(() => {\n if (!inputRef.current) {\n return;\n }\n inputRef.current.focus();\n }, 200);\n }, []);\n\n const afterChangeLabel = useCallback((value: string) => {\n setValue(\"fieldId\", camelCase(value));\n }, []);\n\n const beforeChangeFieldId = useCallback(\n (value: string, baseOnChange: (value: string) => void) => {\n const newValue = value.trim();\n\n baseOnChange(newValue);\n },\n []\n );\n\n const fieldIdValidator = useCallback(fieldId => {\n if (fieldId.trim().toLowerCase() !== \"id\") {\n return true;\n }\n\n throw new Error(`Cannot use \"id\" as Field ID.`);\n }, []);\n\n const uniqueFieldIdValidator = useCallback((fieldId: string) => {\n const existingField = getField({ fieldId });\n if (!existingField) {\n return false;\n }\n\n if (existingField.id === field.id) {\n return true;\n }\n throw new Error(\"Please enter a unique Field ID.\");\n }, []);\n\n let additionalSettings: React.ReactNode | null = null;\n if (typeof fieldPlugin.field.renderSettings === \"function\") {\n additionalSettings = fieldPlugin.field.renderSettings({\n form,\n afterChangeLabel,\n uniqueFieldIdValidator,\n contentModel\n });\n }\n\n const predefinedValuesEnabled = useMemo(\n (): boolean =>\n fieldPlugin.field.allowPredefinedValues &&\n typeof fieldPlugin.field.renderPredefinedValues === \"function\",\n [field.fieldId]\n );\n\n return (\n <>\n <Grid>\n <Cell span={6}>\n <Bind\n name={\"label\"}\n validators={validation.create(\"required\")}\n afterChange={(value: string) => {\n if (field.id) {\n return;\n }\n afterChangeLabel(value);\n }}\n >\n <Input\n label={\"Label\"}\n inputRef={inputRef}\n data-testid=\"cms.editor.field.settings.general.label\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name={\"fieldId\"}\n validators={[\n validation.create(\"required\"),\n uniqueFieldIdValidator,\n fieldIdValidator\n ]}\n beforeChange={beforeChangeFieldId}\n >\n <Input\n label={\"Field ID\"}\n data-testid={`cms.editor.field.settings.general.label-${field.id}`}\n />\n </Bind>\n </Cell>\n\n <Cell span={6}>\n <Bind name={\"multipleValues\"}>\n <Switch\n label={fieldPlugin.field.multipleValuesLabel}\n disabled={!fieldPlugin.field.allowMultipleValues}\n data-testid={`cms.editor.field.settings.general.switch-multiplevalues`}\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind name={\"predefinedValues.enabled\"}>\n <Switch\n label={\"Use predefined values\"}\n disabled={!predefinedValuesEnabled}\n data-testid={`cms.editor.field.settings.general.switch-predefinedvalues`}\n />\n </Bind>\n </Cell>\n\n <Cell span={12}>\n <Bind name={\"helpText\"}>\n <Input\n label={\"Help text\"}\n description={\"Help text (optional)\"}\n data-testid={`cms.editor.field.settings.general.helptext`}\n />\n </Bind>\n </Cell>\n </Grid>\n {additionalSettings}\n </>\n );\n};\n\nexport default GeneralTab;\n"],"mappings":"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"}
1
+ {"version":3,"names":["GeneralTab","form","useForm","useModelField","field","fieldPlugin","inputRef","useRef","useModelEditor","contentModel","data","useModelFieldEditor","getField","useEffect","setTimeout","current","focus","afterChangeLabel","useCallback","value","setValue","beforeChangeFieldId","baseOnChange","trim","fieldIdValidator","fieldId","toLowerCase","Error","uniqueFieldIdValidator","existingField","id","additionalSettings","renderSettings","predefinedValuesEnabled","useMemo","allowPredefinedValues","renderPredefinedValues","validation","create","multipleValuesLabel","allowMultipleValues","tags"],"sources":["GeneralTab.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef, useMemo } from \"react\";\nimport { camelCase } from \"lodash\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Switch } from \"@webiny/ui/Switch\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { Tags } from \"@webiny/ui/Tags\";\nimport { useForm, Bind } from \"@webiny/form\";\nimport { useModelFieldEditor } from \"~/admin/components/FieldEditor\";\nimport { useModelEditor } from \"~/admin/hooks\";\nimport { useModelField } from \"~/admin/hooks\";\n\nconst GeneralTab = () => {\n const form = useForm();\n const { field, fieldPlugin } = useModelField();\n const inputRef = useRef<HTMLInputElement | null>(null);\n const { data: contentModel } = useModelEditor();\n const { getField } = useModelFieldEditor();\n\n // Had problems with auto-focusing the \"label\" field. A couple of comments on this.\n // 1. It's probably caused by the Tabs component which wraps this component.\n // 2. It seems that the \"autoFocus\" prop on the Input doesn't work. I can't see it attached in the actual DOM.\n // 3. This works, but it's not 100%. Visually, the cursor is frozen, and that's probably caused by a bug / design\n // in the RMWC / Material library. If you were to click somewhere on screen, and then apply focus, then\n // it seems it's behaving correctly. ¯\\_(ツ)_/¯\n useEffect(() => {\n setTimeout(() => {\n if (!inputRef.current) {\n return;\n }\n inputRef.current.focus();\n }, /* The value of 400 was determined by manual testing. */ 400);\n }, []);\n\n const afterChangeLabel = useCallback((value: string) => {\n form.setValue(\"fieldId\", camelCase(value));\n }, []);\n\n const beforeChangeFieldId = useCallback(\n (value: string, baseOnChange: (value: string) => void) => {\n baseOnChange(value.trim());\n },\n []\n );\n\n const fieldIdValidator = useCallback(fieldId => {\n if (fieldId.trim().toLowerCase() !== \"id\") {\n return true;\n }\n\n throw new Error(`Cannot use \"id\" as Field ID.`);\n }, []);\n\n const uniqueFieldIdValidator = useCallback((fieldId: string) => {\n const existingField = getField({ fieldId });\n if (!existingField) {\n return false;\n }\n\n if (existingField.id === field.id) {\n return true;\n }\n throw new Error(\"Please enter a unique Field ID.\");\n }, []);\n\n let additionalSettings: React.ReactNode | null = null;\n if (typeof fieldPlugin.field.renderSettings === \"function\") {\n additionalSettings = fieldPlugin.field.renderSettings({\n afterChangeLabel,\n uniqueFieldIdValidator,\n contentModel\n });\n }\n\n const predefinedValuesEnabled = useMemo(\n (): boolean =>\n fieldPlugin.field.allowPredefinedValues &&\n typeof fieldPlugin.field.renderPredefinedValues === \"function\",\n [field.fieldId]\n );\n\n return (\n <>\n <Grid>\n <Cell span={6}>\n <Bind\n name={\"label\"}\n validators={validation.create(\"required\")}\n afterChange={(value: string) => {\n if (field.id) {\n return;\n }\n afterChangeLabel(value);\n }}\n >\n <Input\n label={\"Label\"}\n inputRef={inputRef}\n data-testid=\"cms.editor.field.settings.general.label\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name={\"fieldId\"}\n validators={[\n validation.create(\"required\"),\n uniqueFieldIdValidator,\n fieldIdValidator\n ]}\n beforeChange={beforeChangeFieldId}\n >\n <Input\n label={\"Field ID\"}\n data-testid={`cms.editor.field.settings.general.label-${field.id}`}\n />\n </Bind>\n </Cell>\n\n <Cell span={6}>\n <Bind name={\"multipleValues\"}>\n <Switch\n label={fieldPlugin.field.multipleValuesLabel}\n disabled={!fieldPlugin.field.allowMultipleValues}\n data-testid={`cms.editor.field.settings.general.switch-multiplevalues`}\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind name={\"predefinedValues.enabled\"}>\n <Switch\n label={\"Use predefined values\"}\n disabled={!predefinedValuesEnabled}\n data-testid={`cms.editor.field.settings.general.switch-predefinedvalues`}\n />\n </Bind>\n </Cell>\n\n <Cell span={12}>\n <Bind name={\"helpText\"}>\n <Input\n label={\"Help text\"}\n description={\"Help text (optional)\"}\n data-testid={`cms.editor.field.settings.general.helptext`}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"tags\"}>\n <Tags\n label={\"Tags\"}\n protectedTags={fieldPlugin.field.tags}\n description={\"Field tags (optional)\"}\n data-testid={`cms.editor.field.settings.general.tags`}\n />\n </Bind>\n </Cell>\n </Grid>\n {additionalSettings}\n </>\n );\n};\n\nexport default GeneralTab;\n"],"mappings":"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"}
@@ -1,10 +1,3 @@
1
- import React from "react";
2
- import { CmsEditorField, CmsEditorFieldTypePlugin } from "../../../../types";
3
- import { FormRenderPropParams } from "@webiny/form";
4
- export interface PredefinedValuesProps {
5
- field: CmsEditorField;
6
- fieldPlugin: CmsEditorFieldTypePlugin;
7
- form: FormRenderPropParams;
8
- }
9
- declare const PredefinedValues: React.FC<PredefinedValuesProps>;
1
+ /// <reference types="react" />
2
+ declare const PredefinedValues: () => JSX.Element;
10
3
  export default PredefinedValues;
@@ -21,12 +21,16 @@ var _getValue = _interopRequireDefault(require("./functions/getValue"));
21
21
 
22
22
  var _setValue = _interopRequireDefault(require("./functions/setValue"));
23
23
 
24
- var PredefinedValues = function PredefinedValues(_ref) {
25
- var field = _ref.field,
26
- fieldPlugin = _ref.fieldPlugin,
27
- form = _ref.form;
24
+ var _form = require("@webiny/form");
25
+
26
+ var _hooks = require("../../../hooks");
27
+
28
+ var PredefinedValues = function PredefinedValues() {
29
+ var _useModelField = (0, _hooks.useModelField)(),
30
+ field = _useModelField.field,
31
+ fieldPlugin = _useModelField.fieldPlugin;
32
+
28
33
  var memoizedBindComponents = (0, _react.useRef)({});
29
- var BaseFormBind = form.Bind;
30
34
  var getBind = (0, _react.useCallback)(function () {
31
35
  var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
32
36
  var memoKey = index;
@@ -35,10 +39,10 @@ var PredefinedValues = function PredefinedValues(_ref) {
35
39
  return memoizedBindComponents.current[memoKey];
36
40
  }
37
41
 
38
- var Bind = function Bind(_ref2) {
39
- var children = _ref2.children,
40
- name = _ref2.name;
41
- return /*#__PURE__*/_react.default.createElement(BaseFormBind, {
42
+ var Bind = function Bind(_ref) {
43
+ var children = _ref.children,
44
+ name = _ref.name;
45
+ return /*#__PURE__*/_react.default.createElement(_form.Bind, {
42
46
  name: "predefinedValues.values"
43
47
  }, function (bind) {
44
48
  var props = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, bind), {}, {
@@ -94,9 +98,7 @@ var PredefinedValues = function PredefinedValues(_ref) {
94
98
  }
95
99
 
96
100
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, fieldPlugin.field.renderPredefinedValues({
97
- field: field,
98
- getBind: getBind,
99
- form: form
101
+ getBind: getBind
100
102
  }));
101
103
  };
102
104
 
@@ -1 +1 @@
1
- {"version":3,"names":["PredefinedValues","field","fieldPlugin","form","memoizedBindComponents","useRef","BaseFormBind","Bind","getBind","useCallback","index","memoKey","current","children","name","bind","props","value","getValue","onChange","setValue","cloneElement","renderPredefinedValues","type"],"sources":["PredefinedValues.tsx"],"sourcesContent":["import React, { useCallback, useRef, cloneElement } from \"react\";\nimport getValue from \"./functions/getValue\";\nimport setValue from \"./functions/setValue\";\nimport { CmsEditorField, CmsEditorFieldTypePlugin } from \"~/types\";\nimport { BindComponent, FormRenderPropParams } from \"@webiny/form\";\n\nexport interface PredefinedValuesProps {\n field: CmsEditorField;\n fieldPlugin: CmsEditorFieldTypePlugin;\n form: FormRenderPropParams;\n}\ninterface MemoizedBindComponents {\n [key: string]: BindComponent;\n}\n\nconst PredefinedValues: React.FC<PredefinedValuesProps> = ({ field, fieldPlugin, form }) => {\n const memoizedBindComponents = useRef<MemoizedBindComponents>({});\n const { Bind: BaseFormBind } = form;\n\n const getBind = useCallback((index = -1) => {\n const memoKey = index;\n if (memoizedBindComponents.current[memoKey]) {\n return memoizedBindComponents.current[memoKey];\n }\n\n const Bind: BindComponent = ({ children, name }) => {\n return (\n <BaseFormBind name={\"predefinedValues.values\"}>\n {bind => {\n const props = {\n ...bind,\n value: getValue({ bind, index, name }),\n onChange: async (value: string[]) => {\n await setValue({ value, bind, index, name });\n }\n };\n\n if (typeof children === \"function\") {\n return children(props);\n }\n\n return cloneElement(children as unknown as React.ReactElement, props);\n }}\n </BaseFormBind>\n );\n };\n\n memoizedBindComponents.current[memoKey] = Bind;\n\n return memoizedBindComponents.current[memoKey];\n }, []);\n if (!fieldPlugin.field.renderPredefinedValues) {\n return (\n <>{`Missing \"field.renderPredefinedValues\" method in field type plugin: \"${field.type}\".`}</>\n );\n }\n\n return <>{fieldPlugin.field.renderPredefinedValues({ field, getBind, form })}</>;\n};\n\nexport default PredefinedValues;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAaA,IAAMA,gBAAiD,GAAG,SAApDA,gBAAoD,OAAkC;EAAA,IAA/BC,KAA+B,QAA/BA,KAA+B;EAAA,IAAxBC,WAAwB,QAAxBA,WAAwB;EAAA,IAAXC,IAAW,QAAXA,IAAW;EACxF,IAAMC,sBAAsB,GAAG,IAAAC,aAAA,EAA+B,EAA/B,CAA/B;EACA,IAAcC,YAAd,GAA+BH,IAA/B,CAAQI,IAAR;EAEA,IAAMC,OAAO,GAAG,IAAAC,kBAAA,EAAY,YAAgB;IAAA,IAAfC,KAAe,uEAAP,CAAC,CAAM;IACxC,IAAMC,OAAO,GAAGD,KAAhB;;IACA,IAAIN,sBAAsB,CAACQ,OAAvB,CAA+BD,OAA/B,CAAJ,EAA6C;MACzC,OAAOP,sBAAsB,CAACQ,OAAvB,CAA+BD,OAA/B,CAAP;IACH;;IAED,IAAMJ,IAAmB,GAAG,SAAtBA,IAAsB,QAAwB;MAAA,IAArBM,QAAqB,SAArBA,QAAqB;MAAA,IAAXC,IAAW,SAAXA,IAAW;MAChD,oBACI,6BAAC,YAAD;QAAc,IAAI,EAAE;MAApB,GACK,UAAAC,IAAI,EAAI;QACL,IAAMC,KAAK,+DACJD,IADI;UAEPE,KAAK,EAAE,IAAAC,iBAAA,EAAS;YAAEH,IAAI,EAAJA,IAAF;YAAQL,KAAK,EAALA,KAAR;YAAeI,IAAI,EAAJA;UAAf,CAAT,CAFA;UAGPK,QAAQ;YAAA,uGAAE,iBAAOF,KAAP;cAAA;gBAAA;kBAAA;oBAAA;sBAAA;sBAAA,OACA,IAAAG,iBAAA,EAAS;wBAAEH,KAAK,EAALA,KAAF;wBAASF,IAAI,EAAJA,IAAT;wBAAeL,KAAK,EAALA,KAAf;wBAAsBI,IAAI,EAAJA;sBAAtB,CAAT,CADA;;oBAAA;oBAAA;sBAAA;kBAAA;gBAAA;cAAA;YAAA,CAAF;;YAAA;cAAA;YAAA;;YAAA;UAAA;QAHD,EAAX;;QAQA,IAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;UAChC,OAAOA,QAAQ,CAACG,KAAD,CAAf;QACH;;QAED,oBAAO,IAAAK,mBAAA,EAAaR,QAAb,EAAwDG,KAAxD,CAAP;MACH,CAfL,CADJ;IAmBH,CApBD;;IAsBAZ,sBAAsB,CAACQ,OAAvB,CAA+BD,OAA/B,IAA0CJ,IAA1C;IAEA,OAAOH,sBAAsB,CAACQ,OAAvB,CAA+BD,OAA/B,CAAP;EACH,CA/Be,EA+Bb,EA/Ba,CAAhB;;EAgCA,IAAI,CAACT,WAAW,CAACD,KAAZ,CAAkBqB,sBAAvB,EAA+C;IAC3C,oBACI,8IAA2ErB,KAAK,CAACsB,IAAjF,SADJ;EAGH;;EAED,oBAAO,4DAAGrB,WAAW,CAACD,KAAZ,CAAkBqB,sBAAlB,CAAyC;IAAErB,KAAK,EAALA,KAAF;IAASO,OAAO,EAAPA,OAAT;IAAkBL,IAAI,EAAJA;EAAlB,CAAzC,CAAH,CAAP;AACH,CA3CD;;eA6CeH,gB"}
1
+ {"version":3,"names":["PredefinedValues","useModelField","field","fieldPlugin","memoizedBindComponents","useRef","getBind","useCallback","index","memoKey","current","Bind","children","name","bind","props","value","getValue","onChange","setValue","cloneElement","renderPredefinedValues","type"],"sources":["PredefinedValues.tsx"],"sourcesContent":["import React, { useCallback, useRef, cloneElement } from \"react\";\nimport getValue from \"./functions/getValue\";\nimport setValue from \"./functions/setValue\";\nimport { BindComponent, Bind as BaseFormBind } from \"@webiny/form\";\nimport { useModelField } from \"~/admin/hooks\";\n\ninterface MemoizedBindComponents {\n [key: string]: BindComponent;\n}\n\nconst PredefinedValues = () => {\n const { field, fieldPlugin } = useModelField();\n const memoizedBindComponents = useRef<MemoizedBindComponents>({});\n\n const getBind = useCallback((index = -1) => {\n const memoKey = index;\n if (memoizedBindComponents.current[memoKey]) {\n return memoizedBindComponents.current[memoKey];\n }\n\n const Bind: BindComponent = ({ children, name }) => {\n return (\n <BaseFormBind name={\"predefinedValues.values\"}>\n {bind => {\n const props = {\n ...bind,\n value: getValue({ bind, index, name }),\n onChange: async (value: string[]) => {\n await setValue({ value, bind, index, name });\n }\n };\n\n if (typeof children === \"function\") {\n return children(props);\n }\n\n return cloneElement(children as unknown as React.ReactElement, props);\n }}\n </BaseFormBind>\n );\n };\n\n memoizedBindComponents.current[memoKey] = Bind;\n\n return memoizedBindComponents.current[memoKey];\n }, []);\n if (!fieldPlugin.field.renderPredefinedValues) {\n return (\n <>{`Missing \"field.renderPredefinedValues\" method in field type plugin: \"${field.type}\".`}</>\n );\n }\n\n return <>{fieldPlugin.field.renderPredefinedValues({ getBind })}</>;\n};\n\nexport default PredefinedValues;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAMA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;EAC3B,qBAA+B,IAAAC,oBAAA,GAA/B;EAAA,IAAQC,KAAR,kBAAQA,KAAR;EAAA,IAAeC,WAAf,kBAAeA,WAAf;;EACA,IAAMC,sBAAsB,GAAG,IAAAC,aAAA,EAA+B,EAA/B,CAA/B;EAEA,IAAMC,OAAO,GAAG,IAAAC,kBAAA,EAAY,YAAgB;IAAA,IAAfC,KAAe,uEAAP,CAAC,CAAM;IACxC,IAAMC,OAAO,GAAGD,KAAhB;;IACA,IAAIJ,sBAAsB,CAACM,OAAvB,CAA+BD,OAA/B,CAAJ,EAA6C;MACzC,OAAOL,sBAAsB,CAACM,OAAvB,CAA+BD,OAA/B,CAAP;IACH;;IAED,IAAME,IAAmB,GAAG,SAAtBA,IAAsB,OAAwB;MAAA,IAArBC,QAAqB,QAArBA,QAAqB;MAAA,IAAXC,IAAW,QAAXA,IAAW;MAChD,oBACI,6BAAC,UAAD;QAAc,IAAI,EAAE;MAApB,GACK,UAAAC,IAAI,EAAI;QACL,IAAMC,KAAK,+DACJD,IADI;UAEPE,KAAK,EAAE,IAAAC,iBAAA,EAAS;YAAEH,IAAI,EAAJA,IAAF;YAAQN,KAAK,EAALA,KAAR;YAAeK,IAAI,EAAJA;UAAf,CAAT,CAFA;UAGPK,QAAQ;YAAA,uGAAE,iBAAOF,KAAP;cAAA;gBAAA;kBAAA;oBAAA;sBAAA;sBAAA,OACA,IAAAG,iBAAA,EAAS;wBAAEH,KAAK,EAALA,KAAF;wBAASF,IAAI,EAAJA,IAAT;wBAAeN,KAAK,EAALA,KAAf;wBAAsBK,IAAI,EAAJA;sBAAtB,CAAT,CADA;;oBAAA;oBAAA;sBAAA;kBAAA;gBAAA;cAAA;YAAA,CAAF;;YAAA;cAAA;YAAA;;YAAA;UAAA;QAHD,EAAX;;QAQA,IAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;UAChC,OAAOA,QAAQ,CAACG,KAAD,CAAf;QACH;;QAED,oBAAO,IAAAK,mBAAA,EAAaR,QAAb,EAAwDG,KAAxD,CAAP;MACH,CAfL,CADJ;IAmBH,CApBD;;IAsBAX,sBAAsB,CAACM,OAAvB,CAA+BD,OAA/B,IAA0CE,IAA1C;IAEA,OAAOP,sBAAsB,CAACM,OAAvB,CAA+BD,OAA/B,CAAP;EACH,CA/Be,EA+Bb,EA/Ba,CAAhB;;EAgCA,IAAI,CAACN,WAAW,CAACD,KAAZ,CAAkBmB,sBAAvB,EAA+C;IAC3C,oBACI,8IAA2EnB,KAAK,CAACoB,IAAjF,SADJ;EAGH;;EAED,oBAAO,4DAAGnB,WAAW,CAACD,KAAZ,CAAkBmB,sBAAlB,CAAyC;IAAEf,OAAO,EAAPA;EAAF,CAAzC,CAAH,CAAP;AACH,CA3CD;;eA6CeN,gB"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { CmsModelFieldValidatorConfigAdapter } from "../../../../utils/CmsModelFieldValidatorConfigAdapter";
3
+ interface ValidatorsSectionProps {
4
+ title: string;
5
+ fieldKey: "validators" | "listValidators";
6
+ description: string;
7
+ validators: CmsModelFieldValidatorConfigAdapter[];
8
+ }
9
+ export declare const ValidationsSection: ({ title, description, fieldKey, validators }: ValidatorsSectionProps) => JSX.Element;
10
+ export {};
@@ -0,0 +1,42 @@
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.ValidationsSection = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Grid = require("@webiny/ui/Grid");
13
+
14
+ var _Typography = require("@webiny/ui/Typography");
15
+
16
+ var _ValidatorsList = require("./ValidatorsList");
17
+
18
+ var bindTo = {
19
+ validators: "validation",
20
+ listValidators: "listValidation"
21
+ };
22
+
23
+ var ValidationsSection = function ValidationsSection(_ref) {
24
+ var title = _ref.title,
25
+ description = _ref.description,
26
+ fieldKey = _ref.fieldKey,
27
+ validators = _ref.validators;
28
+ return /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
29
+ span: 12
30
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
31
+ use: "headline5"
32
+ }, title), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
33
+ use: "body2"
34
+ }, description)), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
35
+ span: 12
36
+ }, /*#__PURE__*/_react.default.createElement(_ValidatorsList.ValidatorsList, {
37
+ name: bindTo[fieldKey],
38
+ validators: validators
39
+ })));
40
+ };
41
+
42
+ exports.ValidationsSection = ValidationsSection;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["bindTo","validators","listValidators","ValidationsSection","title","description","fieldKey"],"sources":["ValidationsSection.tsx"],"sourcesContent":["import React from \"react\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ValidatorsList } from \"./ValidatorsList\";\nimport { CmsModelFieldValidatorConfigAdapter } from \"~/utils/CmsModelFieldValidatorConfigAdapter\";\n\ninterface ValidatorsSectionProps {\n title: string;\n fieldKey: \"validators\" | \"listValidators\";\n description: string;\n validators: CmsModelFieldValidatorConfigAdapter[];\n}\n\nconst bindTo = {\n validators: \"validation\",\n listValidators: \"listValidation\"\n};\n\nexport const ValidationsSection = ({\n title,\n description,\n fieldKey,\n validators\n}: ValidatorsSectionProps) => {\n return (\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline5\"}>{title}</Typography>\n <br />\n <Typography use={\"body2\"}>{description}</Typography>\n </Cell>\n <Cell span={12}>\n <ValidatorsList name={bindTo[fieldKey]} validators={validators} />\n </Cell>\n </Grid>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAUA,IAAMA,MAAM,GAAG;EACXC,UAAU,EAAE,YADD;EAEXC,cAAc,EAAE;AAFL,CAAf;;AAKO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,OAKJ;EAAA,IAJ1BC,KAI0B,QAJ1BA,KAI0B;EAAA,IAH1BC,WAG0B,QAH1BA,WAG0B;EAAA,IAF1BC,QAE0B,QAF1BA,QAE0B;EAAA,IAD1BL,UAC0B,QAD1BA,UAC0B;EAC1B,oBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA+BG,KAA/B,CADJ,eAEI,wCAFJ,eAGI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA2BC,WAA3B,CAHJ,CADJ,eAMI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,8BAAD;IAAgB,IAAI,EAAEL,MAAM,CAACM,QAAD,CAA5B;IAAwC,UAAU,EAAEL;EAApD,EADJ,CANJ,CADJ;AAYH,CAlBM"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { CmsModelFieldValidatorConfigAdapter } from "../../../../utils/CmsModelFieldValidatorConfigAdapter";
3
+ interface ValidatorsTabProps {
4
+ name: string;
5
+ validators: CmsModelFieldValidatorConfigAdapter[];
6
+ }
7
+ export declare const ValidatorsList: React.FC<ValidatorsTabProps>;
8
+ export {};
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.ValidatorsList = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
17
+
18
+ var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _emotion = require("emotion");
23
+
24
+ var _plugins = require("@webiny/plugins");
25
+
26
+ var _Switch = require("@webiny/ui/Switch");
27
+
28
+ var _form = require("@webiny/form");
29
+
30
+ var _Grid = require("@webiny/ui/Grid");
31
+
32
+ var _validation = require("@webiny/validation");
33
+
34
+ var _Input = require("@webiny/ui/Input");
35
+
36
+ var _Accordion = require("@webiny/ui/Accordion");
37
+
38
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
39
+
40
+ var _Tooltip = require("@webiny/ui/Tooltip");
41
+
42
+ var Variable = /*#__PURE__*/(0, _styled.default)("span", {
43
+ label: "Variable",
44
+ target: "e19f04zm0"
45
+ })("font-weight:bold;cursor:pointer;");
46
+ var Comma = /*#__PURE__*/(0, _styled.default)("span", {
47
+ label: "Comma",
48
+ target: "e19f04zm1"
49
+ })("padding-right:5px;");
50
+ var noPadding = /*#__PURE__*/(0, _emotion.css)(".webiny-ui-accordion-item__content{padding:0 !important;}label:noPadding;");
51
+ var gridBottomPadding = /*#__PURE__*/(0, _emotion.css)(":not(:last-child){padding-bottom:0;}label:gridBottomPadding;");
52
+
53
+ var onEnabledChange = function onEnabledChange(params) {
54
+ var data = params.data,
55
+ validationValue = params.validationValue,
56
+ onChangeValidation = params.onChangeValidation,
57
+ validator = params.validator;
58
+
59
+ if (data) {
60
+ var index = validationValue.findIndex(function (item) {
61
+ return item.name === validator.getName();
62
+ });
63
+ onChangeValidation([].concat((0, _toConsumableArray2.default)(validationValue.slice(0, index)), (0, _toConsumableArray2.default)(validationValue.slice(index + 1))));
64
+ return;
65
+ }
66
+
67
+ onChangeValidation([].concat((0, _toConsumableArray2.default)(validationValue), [{
68
+ name: validator.getName(),
69
+ settings: validator.getDefaultSettings(),
70
+ message: validator.getDefaultMessage()
71
+ }]));
72
+ };
73
+
74
+ var onFormChange = (0, _debounce2.default)(function (_ref) {
75
+ var data = _ref.data,
76
+ validationValue = _ref.validationValue,
77
+ onChangeValidation = _ref.onChangeValidation,
78
+ validatorIndex = _ref.validatorIndex;
79
+ var newValidationValue = (0, _cloneDeep2.default)(validationValue);
80
+ newValidationValue[validatorIndex] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, newValidationValue[validatorIndex]), (0, _cloneDeep2.default)(data));
81
+ onChangeValidation(newValidationValue);
82
+ }, 200);
83
+
84
+ var renderEmpty = function renderEmpty() {
85
+ return null;
86
+ };
87
+
88
+ var getValidatorPlugin = function getValidatorPlugin(name) {
89
+ var plugin = _plugins.plugins.byType("cms-model-field-validator").find(function (plugin) {
90
+ return plugin.validator.name === name;
91
+ });
92
+
93
+ if (!plugin) {
94
+ return null;
95
+ }
96
+
97
+ return plugin.validator;
98
+ };
99
+
100
+ var ValidatorItem = function ValidatorItem(_ref2) {
101
+ var validator = _ref2.validator,
102
+ value = _ref2.value,
103
+ _onChange = _ref2.onChange;
104
+ var validatorName = validator.getName();
105
+ var plugin = getValidatorPlugin(validatorName);
106
+
107
+ if (!plugin) {
108
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
109
+ }
110
+
111
+ var validatorIndex = (value || []).findIndex(function (item) {
112
+ return item.name === validatorName;
113
+ });
114
+ var data = (value || [])[validatorIndex];
115
+
116
+ if (typeof plugin.renderCustomUi === "function") {
117
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
118
+ key: validatorName
119
+ }, plugin.renderCustomUi());
120
+ }
121
+
122
+ var renderSettings = plugin.renderSettings || renderEmpty;
123
+ var actions = !validator.isRequired() ? /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Switch.Switch, {
124
+ label: "Enabled",
125
+ value: validatorIndex >= 0,
126
+ onChange: function onChange() {
127
+ return onEnabledChange({
128
+ data: data,
129
+ validationValue: value,
130
+ onChangeValidation: _onChange,
131
+ validator: validator
132
+ });
133
+ }
134
+ })) : null;
135
+ var description = [/*#__PURE__*/_react.default.createElement("span", {
136
+ key: "msg"
137
+ }, "This message will be displayed to the user.")];
138
+ var variables = validator.getVariables();
139
+
140
+ if (variables.length) {
141
+ description.push( /*#__PURE__*/_react.default.createElement("span", {
142
+ key: "vars"
143
+ }, "\xA0Available variables:\xA0"));
144
+
145
+ for (var i = 0; i < variables.length; i++) {
146
+ var variable = variables[i];
147
+ description.push( /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
148
+ key: variable.name,
149
+ content: variable.description,
150
+ placement: "bottom"
151
+ }, /*#__PURE__*/_react.default.createElement(Variable, {
152
+ dangerouslySetInnerHTML: {
153
+ __html: "{".concat(variable.name, "}")
154
+ }
155
+ })));
156
+
157
+ if (i < variables.length - 1) {
158
+ description.push( /*#__PURE__*/_react.default.createElement(Comma, {
159
+ key: "comma-".concat(i)
160
+ }, ","));
161
+ }
162
+ }
163
+
164
+ description.push( /*#__PURE__*/_react.default.createElement(Comma, {
165
+ key: "dot"
166
+ }, "."));
167
+ }
168
+
169
+ return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
170
+ key: validator.getName(),
171
+ "data-testid": "cms.editor.field-validator.".concat(validator.getName()),
172
+ interactive: false,
173
+ open: !!data,
174
+ title: validator.getLabel(),
175
+ description: validator.getDescription(),
176
+ actions: actions,
177
+ className: noPadding
178
+ }, data && /*#__PURE__*/_react.default.createElement(_form.Form, {
179
+ data: data,
180
+ onChange: function onChange(data) {
181
+ return onFormChange({
182
+ data: data,
183
+ validationValue: value,
184
+ onChangeValidation: _onChange,
185
+ validatorIndex: validatorIndex
186
+ });
187
+ }
188
+ }, function (_ref3) {
189
+ var Bind = _ref3.Bind;
190
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
191
+ className: gridBottomPadding
192
+ }, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
193
+ span: 12
194
+ }, /*#__PURE__*/_react.default.createElement(Bind, {
195
+ name: "message",
196
+ validators: _validation.validation.create("required")
197
+ }, function (bind) {
198
+ return /*#__PURE__*/_react.default.createElement(_Input.Input, Object.assign({}, bind, {
199
+ label: "Message",
200
+ "data-testid": "cms.editfield.validators.required",
201
+ description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, description)
202
+ }));
203
+ }))), renderSettings(validator));
204
+ }));
205
+ };
206
+
207
+ var ValidatorsList = function ValidatorsList(props) {
208
+ var name = props.name,
209
+ validators = props.validators;
210
+ return /*#__PURE__*/_react.default.createElement(_form.Bind, {
211
+ name: name,
212
+ defaultValue: []
213
+ }, function (bind) {
214
+ var value = bind.value,
215
+ onChange = bind.onChange;
216
+ return /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, validators.map(function (validator) {
217
+ return /*#__PURE__*/_react.default.createElement(ValidatorItem, {
218
+ key: validator.getName(),
219
+ value: value,
220
+ onChange: onChange,
221
+ validator: validator
222
+ });
223
+ }));
224
+ });
225
+ };
226
+
227
+ exports.ValidatorsList = ValidatorsList;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Variable","styled","Comma","noPadding","css","gridBottomPadding","onEnabledChange","params","data","validationValue","onChangeValidation","validator","index","findIndex","item","name","getName","slice","settings","getDefaultSettings","message","getDefaultMessage","onFormChange","validatorIndex","newValidationValue","renderEmpty","getValidatorPlugin","plugin","plugins","byType","find","ValidatorItem","value","onChange","validatorName","renderCustomUi","renderSettings","actions","isRequired","description","variables","getVariables","length","push","i","variable","__html","getLabel","getDescription","Bind","validation","create","bind","ValidatorsList","props","validators","map"],"sources":["ValidatorsList.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { css } from \"emotion\";\nimport { cloneDeep, debounce } from \"lodash\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Switch } from \"@webiny/ui/Switch\";\nimport { Form, Bind } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { CmsModelFieldValidator, CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { CmsModelFieldValidatorConfigAdapter } from \"~/utils/CmsModelFieldValidatorConfigAdapter\";\nimport styled from \"@emotion/styled\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nconst Variable = styled.span`\n font-weight: bold;\n cursor: pointer;\n`;\n\nconst Comma = styled.span`\n padding-right: 5px;\n`;\n\nconst noPadding = css`\n .webiny-ui-accordion-item__content {\n padding: 0 !important;\n }\n`;\n\nconst gridBottomPadding = css`\n :not(:last-child) {\n padding-bottom: 0;\n }\n`;\n\ninterface OnChangeValidationCallable {\n (validators: CmsModelFieldValidator[]): void;\n}\n\ninterface OnEnabledChangeParams {\n data: CmsModelFieldValidator;\n validationValue: CmsModelFieldValidator[];\n onChangeValidation: OnChangeValidationCallable;\n validator: CmsModelFieldValidatorConfigAdapter;\n}\n\nconst onEnabledChange = (params: OnEnabledChangeParams): void => {\n const { data, validationValue, onChangeValidation, validator } = params;\n if (data) {\n const index = validationValue.findIndex(item => item.name === validator.getName());\n onChangeValidation([\n ...validationValue.slice(0, index),\n ...validationValue.slice(index + 1)\n ]);\n return;\n }\n onChangeValidation([\n ...validationValue,\n {\n name: validator.getName(),\n settings: validator.getDefaultSettings(),\n message: validator.getDefaultMessage()\n }\n ]);\n};\n\nconst onFormChange = debounce(({ data, validationValue, onChangeValidation, validatorIndex }) => {\n const newValidationValue = cloneDeep(validationValue);\n newValidationValue[validatorIndex] = {\n ...newValidationValue[validatorIndex],\n ...cloneDeep(data)\n };\n onChangeValidation(newValidationValue);\n}, 200);\n\ninterface ValidatorsTabProps {\n name: string;\n validators: CmsModelFieldValidatorConfigAdapter[];\n}\n\nconst renderEmpty = () => null;\n\nconst getValidatorPlugin = (name: string): CmsModelFieldValidatorPlugin[\"validator\"] | null => {\n const plugin = plugins\n .byType<CmsModelFieldValidatorPlugin>(\"cms-model-field-validator\")\n .find(plugin => plugin.validator.name === name);\n\n if (!plugin) {\n return null;\n }\n\n return plugin.validator;\n};\n\ninterface ValidatorItemProps {\n validator: CmsModelFieldValidatorConfigAdapter;\n value: any;\n onChange: OnChangeValidationCallable;\n}\n\nconst ValidatorItem = ({ validator, value, onChange }: ValidatorItemProps) => {\n const validatorName = validator.getName();\n\n const plugin = getValidatorPlugin(validatorName);\n if (!plugin) {\n return <></>;\n }\n\n const validatorIndex = ((value || []) as Validator[]).findIndex(\n item => item.name === validatorName\n );\n\n const data = (value || [])[validatorIndex];\n\n if (typeof plugin.renderCustomUi === \"function\") {\n return <Fragment key={validatorName}>{plugin.renderCustomUi()}</Fragment>;\n }\n\n const renderSettings = plugin.renderSettings || renderEmpty;\n\n const actions = !validator.isRequired() ? (\n <AccordionItem.Actions>\n <Switch\n label=\"Enabled\"\n value={validatorIndex >= 0}\n onChange={() =>\n onEnabledChange({\n data,\n validationValue: value,\n onChangeValidation: onChange,\n validator: validator\n })\n }\n />\n </AccordionItem.Actions>\n ) : null;\n\n const description = [<span key={\"msg\"}>This message will be displayed to the user.</span>];\n const variables = validator.getVariables();\n\n if (variables.length) {\n description.push(<span key={\"vars\"}>&nbsp;Available variables:&nbsp;</span>);\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i];\n\n description.push(\n <Tooltip key={variable.name} content={variable.description} placement={\"bottom\"}>\n <Variable dangerouslySetInnerHTML={{ __html: `{${variable.name}}` }} />\n </Tooltip>\n );\n\n if (i < variables.length - 1) {\n description.push(<Comma key={`comma-${i}`}>,</Comma>);\n }\n }\n description.push(<Comma key={\"dot\"}>.</Comma>);\n }\n\n return (\n <AccordionItem\n key={validator.getName()}\n data-testid={`cms.editor.field-validator.${validator.getName()}`}\n interactive={false}\n open={!!data}\n title={validator.getLabel()}\n description={validator.getDescription()}\n actions={actions}\n className={noPadding}\n >\n {data && (\n <Form\n data={data}\n onChange={data =>\n onFormChange({\n data,\n validationValue: value,\n onChangeValidation: onChange,\n validatorIndex\n })\n }\n >\n {({ Bind }) => (\n <>\n <Grid className={gridBottomPadding}>\n <Cell span={12}>\n <Bind\n name={\"message\"}\n validators={validation.create(\"required\")}\n >\n {bind => {\n return (\n <Input\n {...bind}\n label={\"Message\"}\n data-testid=\"cms.editfield.validators.required\"\n description={<>{description}</>}\n />\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n\n {renderSettings(validator)}\n </>\n )}\n </Form>\n )}\n </AccordionItem>\n );\n};\n\nexport const ValidatorsList: React.FC<ValidatorsTabProps> = props => {\n const { name, validators } = props;\n\n return (\n <Bind name={name} defaultValue={[]}>\n {bind => {\n const { value, onChange } = bind;\n return (\n <Accordion>\n {validators.map(validator => {\n return (\n <ValidatorItem\n key={validator.getName()}\n value={value}\n onChange={onChange}\n validator={validator}\n />\n );\n })}\n </Accordion>\n );\n }}\n </Bind>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { CmsModelField, CmsEditorFieldTypePlugin, CmsModelFieldValidatorPlugin } from "../../../../types";
2
+ import { CmsModelFieldValidatorConfigAdapter } from "../../../../utils/CmsModelFieldValidatorConfigAdapter";
3
+ export interface Validator {
4
+ optional: boolean;
5
+ validator: CmsModelFieldValidatorPlugin["validator"];
6
+ }
7
+ export interface ValidationSection {
8
+ title?: string;
9
+ description?: string;
10
+ validators: CmsModelFieldValidatorConfigAdapter[];
11
+ }
12
+ export declare const getListValidators: (field: CmsModelField, fieldPlugin: CmsEditorFieldTypePlugin) => ValidationSection;
13
+ export declare const getFieldValidators: (field: CmsModelField, fieldPlugin: CmsEditorFieldTypePlugin) => ValidationSection;
@@ -0,0 +1,115 @@
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.getListValidators = exports.getFieldValidators = void 0;
9
+
10
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
11
+
12
+ var _plugins = require("@webiny/plugins");
13
+
14
+ var _CmsModelFieldValidatorConfigAdapter = require("../../../../utils/CmsModelFieldValidatorConfigAdapter");
15
+
16
+ var isValidatorDefinition = function isValidatorDefinition(obj) {
17
+ return obj ? !Array.isArray(obj) : false;
18
+ };
19
+
20
+ var isValidatorDefinitionFactory = function isValidatorDefinitionFactory(obj) {
21
+ return typeof obj === "function";
22
+ };
23
+
24
+ var getValidatorPlugin = function getValidatorPlugin(name) {
25
+ var plugin = _plugins.plugins.byType("cms-model-field-validator").find(function (plugin) {
26
+ return plugin.validator.name === name;
27
+ });
28
+
29
+ if (!plugin) {
30
+ throw new Error("Missing CMS field validator plugin \"".concat(name, "\"!"));
31
+ }
32
+
33
+ return plugin.validator;
34
+ };
35
+
36
+ var getValidatorConfigs = function getValidatorConfigs(field, validators) {
37
+ var configs = [];
38
+
39
+ var _iterator = (0, _createForOfIteratorHelper2.default)(validators),
40
+ _step;
41
+
42
+ try {
43
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
44
+ var validator = _step.value;
45
+ var resolvedValidator = void 0;
46
+
47
+ if (typeof validator === "string") {
48
+ resolvedValidator = getValidatorPlugin(validator);
49
+ } else {
50
+ resolvedValidator = validator;
51
+ }
52
+
53
+ configs.push(new _CmsModelFieldValidatorConfigAdapter.CmsModelFieldValidatorConfigAdapter(field, resolvedValidator));
54
+ }
55
+ } catch (err) {
56
+ _iterator.e(err);
57
+ } finally {
58
+ _iterator.f();
59
+ }
60
+
61
+ return configs;
62
+ };
63
+
64
+ var getValidators = function getValidators(_ref) {
65
+ var field = _ref.field,
66
+ fieldPlugin = _ref.fieldPlugin,
67
+ key = _ref.key,
68
+ defaultValidators = _ref.defaultValidators;
69
+ var title = "";
70
+ var description = "";
71
+ var fieldValidators = fieldPlugin.field[key];
72
+
73
+ if (isValidatorDefinitionFactory(fieldValidators)) {
74
+ fieldValidators = fieldValidators(field);
75
+ }
76
+
77
+ var resolvedValidators;
78
+
79
+ if (isValidatorDefinition(fieldValidators)) {
80
+ title = fieldValidators.title || "";
81
+ description = fieldValidators.description || "";
82
+ resolvedValidators = fieldValidators.validators;
83
+ } else {
84
+ resolvedValidators = fieldValidators;
85
+ }
86
+
87
+ var validators = getValidatorConfigs(field, resolvedValidators || defaultValidators);
88
+ return {
89
+ title: title,
90
+ description: description,
91
+ validators: validators
92
+ };
93
+ };
94
+
95
+ var getListValidators = function getListValidators(field, fieldPlugin) {
96
+ return getValidators({
97
+ field: field,
98
+ fieldPlugin: fieldPlugin,
99
+ key: "listValidators",
100
+ defaultValidators: ["minLength", "maxLength"]
101
+ });
102
+ };
103
+
104
+ exports.getListValidators = getListValidators;
105
+
106
+ var getFieldValidators = function getFieldValidators(field, fieldPlugin) {
107
+ return getValidators({
108
+ field: field,
109
+ fieldPlugin: fieldPlugin,
110
+ key: "validators",
111
+ defaultValidators: []
112
+ });
113
+ };
114
+
115
+ exports.getFieldValidators = getFieldValidators;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isValidatorDefinition","obj","Array","isArray","isValidatorDefinitionFactory","getValidatorPlugin","name","plugin","plugins","byType","find","validator","Error","getValidatorConfigs","field","validators","configs","resolvedValidator","push","CmsModelFieldValidatorConfigAdapter","getValidators","fieldPlugin","key","defaultValidators","title","description","fieldValidators","resolvedValidators","getListValidators","getFieldValidators"],"sources":["getValidators.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport {\n CmsModelField,\n CmsEditorFieldTypePlugin,\n CmsModelFieldValidatorPlugin,\n CmsModelFieldValidatorsGroup,\n CmsModelFieldValidatorConfig,\n CmsModelFieldValidatorsFactory\n} from \"~/types\";\nimport { CmsModelFieldValidatorConfigAdapter } from \"~/utils/CmsModelFieldValidatorConfigAdapter\";\n\nexport interface Validator {\n optional: boolean;\n validator: CmsModelFieldValidatorPlugin[\"validator\"];\n}\n\nconst isValidatorDefinition = (obj: unknown): obj is CmsModelFieldValidatorsGroup => {\n return obj ? !Array.isArray(obj) : false;\n};\n\nconst isValidatorDefinitionFactory = (obj: unknown): obj is CmsModelFieldValidatorsFactory => {\n return typeof obj === \"function\";\n};\n\ninterface GetValidatorsParams {\n field: CmsModelField;\n fieldPlugin: CmsEditorFieldTypePlugin;\n key: \"validators\" | \"listValidators\";\n defaultValidators: string[];\n}\n\nexport interface ValidationSection {\n title?: string;\n description?: string;\n validators: CmsModelFieldValidatorConfigAdapter[];\n}\n\nconst getValidatorPlugin = (name: string) => {\n const plugin = plugins\n .byType<CmsModelFieldValidatorPlugin>(\"cms-model-field-validator\")\n .find(plugin => plugin.validator.name === name);\n\n if (!plugin) {\n throw new Error(`Missing CMS field validator plugin \"${name}\"!`);\n }\n\n return plugin.validator as CmsModelFieldValidatorConfig;\n};\n\nconst getValidatorConfigs = (\n field: CmsModelField,\n validators: Array<CmsModelFieldValidatorConfig | string>\n) => {\n const configs: CmsModelFieldValidatorConfigAdapter[] = [];\n\n for (const validator of validators) {\n let resolvedValidator;\n if (typeof validator === \"string\") {\n resolvedValidator = getValidatorPlugin(validator);\n } else {\n resolvedValidator = validator;\n }\n\n configs.push(new CmsModelFieldValidatorConfigAdapter(field, resolvedValidator));\n }\n\n return configs;\n};\n\nconst getValidators = ({\n field,\n fieldPlugin,\n key,\n defaultValidators\n}: GetValidatorsParams): ValidationSection => {\n let title = \"\";\n let description = \"\";\n let fieldValidators = fieldPlugin.field[key];\n\n if (isValidatorDefinitionFactory(fieldValidators)) {\n fieldValidators = fieldValidators(field);\n }\n\n let resolvedValidators: (string | CmsModelFieldValidatorConfig)[] | undefined;\n if (isValidatorDefinition(fieldValidators)) {\n title = fieldValidators.title || \"\";\n description = fieldValidators.description || \"\";\n resolvedValidators = fieldValidators.validators;\n } else {\n resolvedValidators = fieldValidators;\n }\n\n const validators = getValidatorConfigs(field, resolvedValidators || defaultValidators);\n\n return {\n title,\n description,\n validators\n };\n};\n\nexport const getListValidators = (field: CmsModelField, fieldPlugin: CmsEditorFieldTypePlugin) => {\n return getValidators({\n field,\n fieldPlugin,\n key: \"listValidators\",\n defaultValidators: [\"minLength\", \"maxLength\"]\n });\n};\n\nexport const getFieldValidators = (field: CmsModelField, fieldPlugin: CmsEditorFieldTypePlugin) => {\n return getValidators({\n field,\n fieldPlugin,\n key: \"validators\",\n defaultValidators: []\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 { FormOnSubmit } from "@webiny/form";
3
+ import { CmsModelField } from "../../../types";
3
4
  interface EditFieldDialogProps {
4
- field: CmsEditorField | null;
5
5
  onClose: () => void;
6
- onSubmit: (data: CmsEditorField) => void;
6
+ onSubmit: FormOnSubmit<CmsModelField>;
7
7
  }
8
8
  declare const EditFieldDialog: React.FC<EditFieldDialogProps>;
9
9
  export default EditFieldDialog;