@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":["useReferences","bind","field","isMounted","useRef","allEntries","client","useApolloClient","useState","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntries","setValueEntries","models","settings","modelsHash","join","values","value","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","map","m","modelId","data","collection","convertReferenceEntriesToOptionCollection","content","current","useEffect","limit","fetchPolicy","then","Object","length","GET_CONTENT_ENTRIES","id","res","latest","reduce","item","entryId","published","existingItem","title","convertReferenceEntryToOption","onChange","useCallback","options","useMemo","defaultOptions"],"sources":["useReferences.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport { CmsEditorField, CmsModel } from \"~/types\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRIES,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables,\n CmsEntryGetListResponse,\n CmsEntryGetListVariables,\n CmsEntryGetEntryVariable\n} from \"./graphql\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { CmsReferenceContentEntry, OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"~/admin/plugins/fieldRenderers/ref/components/helpers\";\n\ninterface UseReferencesParams {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\nexport const useReferences = ({ bind, field }: UseReferencesParams) => {\n const isMounted = useRef(true);\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItem[]>([]);\n const [valueEntries, setValueEntries] = useState<OptionItem[]>([]);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\"\n >[];\n const modelsHash = models.join(\",\");\n const values: CmsEntryGetEntryVariable[] = bind.value ? bind.value : [];\n\n const searchEntries = async (): Promise<void> => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n if (!isMounted.current) {\n return;\n }\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n setLatestEntries(Object.values(collection));\n allEntries.current = {\n ...collection\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!values || values.length == 0) {\n return;\n }\n\n setLoading(true);\n\n client\n .query<CmsEntryGetListResponse, CmsEntryGetListVariables>({\n query: GET_CONTENT_ENTRIES,\n variables: {\n /**\n * We need make sure nothing else other than modelId and id is passed to entries variable.\n */\n entries: values.map(value => {\n return {\n modelId: value.modelId,\n id: value.id\n };\n })\n }\n })\n .then(res => {\n if (!isMounted.current) {\n return;\n }\n\n setLoading(false);\n\n const latest = (res.data.latest.data || []).reduce((collection, item) => {\n collection[item.entryId] = item;\n return collection;\n }, {} as Record<string, CmsReferenceContentEntry>);\n\n const entries = (res.data.published.data || []).reduce((collection, item) => {\n const entryId = item.entryId;\n const existingItem = latest[entryId];\n if (existingItem) {\n collection[entryId] = {\n ...existingItem,\n published: {\n id: item.id,\n entryId: item.entryId,\n title: item.title\n }\n };\n return collection;\n }\n collection[entryId] = item;\n return collection;\n }, latest);\n\n // Calculate a couple of props for the Autocomplete component.\n setValueEntries(Object.values(entries).map(convertReferenceEntryToOption));\n });\n }, []);\n\n /**\n * onChange callback will update internal component state using the previously loaded entries by IDs.\n * It will also format the value to store to the DB.\n */\n const onChange = useCallback((values: OptionItem[]): void => {\n setSearch(\"\");\n setValueEntries(values);\n\n // Update parent form\n bind.onChange(\n values.map(item => ({\n modelId: item.modelId,\n id: item.id\n }))\n );\n }, []);\n\n // Format options for the Autocomplete component.\n const options = useMemo(() => Object.values(entries), [entries]);\n\n // Format default options for the Autocomplete component.\n const defaultOptions = useMemo(() => Object.values(latestEntries), [latestEntries]);\n\n return {\n onChange,\n loading,\n setSearch,\n // Selected entries\n entries: valueEntries,\n // Options to show when the autocomplete dropdown is visible\n options: search ? options : defaultOptions || []\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useReferences","bind","field","isMounted","useRef","allEntries","client","useApolloClient","useState","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntries","setValueEntries","models","settings","modelsHash","join","values","value","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","map","m","modelId","data","collection","convertReferenceEntriesToOptionCollection","content","current","useEffect","limit","fetchPolicy","then","Object","length","GET_CONTENT_ENTRIES","id","res","latest","reduce","item","entryId","published","existingItem","title","convertReferenceEntryToOption","onChange","useCallback","options","useMemo","defaultOptions"],"sources":["useReferences.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport { CmsModelField, CmsModel } from \"~/types\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRIES,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables,\n CmsEntryGetListResponse,\n CmsEntryGetListVariables,\n CmsEntryGetEntryVariable\n} from \"./graphql\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { CmsReferenceContentEntry, OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"~/admin/plugins/fieldRenderers/ref/components/helpers\";\n\ninterface UseReferencesParams {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\nexport const useReferences = ({ bind, field }: UseReferencesParams) => {\n const isMounted = useRef(true);\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItem[]>([]);\n const [valueEntries, setValueEntries] = useState<OptionItem[]>([]);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\"\n >[];\n const modelsHash = models.join(\",\");\n const values: CmsEntryGetEntryVariable[] = bind.value ? bind.value : [];\n\n const searchEntries = async (): Promise<void> => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n if (!isMounted.current) {\n return;\n }\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n setLatestEntries(Object.values(collection));\n allEntries.current = {\n ...collection\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!values || values.length == 0) {\n return;\n }\n\n setLoading(true);\n\n client\n .query<CmsEntryGetListResponse, CmsEntryGetListVariables>({\n query: GET_CONTENT_ENTRIES,\n variables: {\n /**\n * We need make sure nothing else other than modelId and id is passed to entries variable.\n */\n entries: values.map(value => {\n return {\n modelId: value.modelId,\n id: value.id\n };\n })\n }\n })\n .then(res => {\n if (!isMounted.current) {\n return;\n }\n\n setLoading(false);\n\n const latest = (res.data.latest.data || []).reduce((collection, item) => {\n collection[item.entryId] = item;\n return collection;\n }, {} as Record<string, CmsReferenceContentEntry>);\n\n const entries = (res.data.published.data || []).reduce((collection, item) => {\n const entryId = item.entryId;\n const existingItem = latest[entryId];\n if (existingItem) {\n collection[entryId] = {\n ...existingItem,\n published: {\n id: item.id,\n entryId: item.entryId,\n title: item.title\n }\n };\n return collection;\n }\n collection[entryId] = item;\n return collection;\n }, latest);\n\n // Calculate a couple of props for the Autocomplete component.\n setValueEntries(Object.values(entries).map(convertReferenceEntryToOption));\n });\n }, []);\n\n /**\n * onChange callback will update internal component state using the previously loaded entries by IDs.\n * It will also format the value to store to the DB.\n */\n const onChange = useCallback((values: OptionItem[]): void => {\n setSearch(\"\");\n setValueEntries(values);\n\n // Update parent form\n bind.onChange(\n values.map(item => ({\n modelId: item.modelId,\n id: item.id\n }))\n );\n }, []);\n\n // Format options for the Autocomplete component.\n const options = useMemo(() => Object.values(entries), [entries]);\n\n // Format default options for the Autocomplete component.\n const defaultOptions = useMemo(() => Object.values(latestEntries), [latestEntries]);\n\n return {\n onChange,\n loading,\n setSearch,\n // Selected entries\n entries: valueEntries,\n // Options to show when the autocomplete dropdown is visible\n options: search ? options : defaultOptions || []\n };\n};\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { CmsEditorField } from "../../../../../types";
2
+ import { CmsModelField } from "../../../../../types";
3
3
  interface UseNewRefEntryParams {
4
- field: CmsEditorField;
4
+ field: CmsModelField;
5
5
  }
6
6
  interface UseNewRefEntry {
7
7
  renderNewEntryModal: boolean;
@@ -11,12 +11,12 @@ exports.useNewRefEntry = void 0;
11
11
 
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
 
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _ContentEntriesContext = require("../../../../views/contentEntries/ContentEntriesContext");
14
+ var _react = _interopRequireDefault(require("react"));
17
15
 
18
16
  var _MissingEntryHelpText = _interopRequireWildcard(require("../components/MissingEntryHelpText"));
19
17
 
18
+ var _useContentEntries = require("../../../../views/contentEntries/hooks/useContentEntries");
19
+
20
20
  var useNewRefEntry = function useNewRefEntry(_ref) {
21
21
  var field = _ref.field;
22
22
  var models = (field.settings && field.settings.models ? field.settings.models : null) || [];
@@ -25,36 +25,37 @@ var useNewRefEntry = function useNewRefEntry(_ref) {
25
25
  refModelId = _models[0].modelId;
26
26
 
27
27
  var referenceMultipleModels = models.length > 1;
28
- var contentEntriesContextValue = (0, _react.useContext)(_ContentEntriesContext.Context);
28
+ var contentEntriesContext = null;
29
+
30
+ try {
31
+ contentEntriesContext = (0, _useContentEntries.useContentEntries)();
32
+ } catch (_unused) {// Means there's no `ContentEntriesContextProvider`, so we must be in model editor "preview".
33
+ }
29
34
  /**
30
35
  * We don't wrap the "ContentEntryForm" with "ContentEntriesContextProvider"
31
36
  * when rendering it inside content model editor's preview tab.
32
37
  *
33
38
  * And we also don't want to have new ref field Dialog in the preview tab.
34
- * Therefore, we check for "contentEntriesContextValue" to know that we're inside preview tab.
39
+ * Therefore, we check for "contentEntriesContext" to know that we're inside preview tab.
35
40
  */
36
41
 
37
- var renderedInPreviewTab = contentEntriesContextValue === null;
38
- /**
39
- * Set "renderNewEntryModal" value.
40
- */
41
42
 
42
- var renderNewEntryModal;
43
+ var renderedInPreviewTab = contentEntriesContext === null;
44
+ var renderNewEntryModal = false;
43
45
 
44
46
  if (renderedInPreviewTab) {
45
47
  renderNewEntryModal = false;
46
48
  } else if (referenceMultipleModels) {
47
49
  renderNewEntryModal = false;
48
- } else {
49
- var insideDialog = contentEntriesContextValue.insideDialog;
50
- renderNewEntryModal = !insideDialog;
50
+ } else if (contentEntriesContext) {
51
+ renderNewEntryModal = !contentEntriesContext.insideDialog;
51
52
  }
52
53
  /**
53
54
  * Set "helpText" value.
54
55
  */
55
56
 
56
57
 
57
- var helpText = null;
58
+ var helpText;
58
59
 
59
60
  if (referenceMultipleModels) {
60
61
  helpText = /*#__PURE__*/_react.default.createElement(_MissingEntryHelpText.ReferenceMultipleModelsHelpText, null);
@@ -1 +1 @@
1
- {"version":3,"names":["useNewRefEntry","field","models","settings","refModelId","modelId","referenceMultipleModels","length","contentEntriesContextValue","useContext","ContentEntriesContext","renderedInPreviewTab","renderNewEntryModal","insideDialog","helpText"],"sources":["useNewRefEntry.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport { Context as ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { CmsEditorField } from \"~/types\";\nimport MissingEntryHelpText, {\n ReferenceMultipleModelsHelpText\n} from \"../components/MissingEntryHelpText\";\n\ninterface UseNewRefEntryParams {\n field: CmsEditorField;\n}\n\ninterface UseNewRefEntry {\n renderNewEntryModal: boolean;\n refModelId: string;\n helpText: React.ReactElement;\n}\n\nexport const useNewRefEntry = ({ field }: UseNewRefEntryParams): UseNewRefEntry => {\n const models = (field.settings && field.settings.models ? field.settings.models : null) || [];\n const [{ modelId: refModelId }] = models;\n const referenceMultipleModels = models.length > 1;\n\n const contentEntriesContextValue = useContext(ContentEntriesContext);\n\n /**\n * We don't wrap the \"ContentEntryForm\" with \"ContentEntriesContextProvider\"\n * when rendering it inside content model editor's preview tab.\n *\n * And we also don't want to have new ref field Dialog in the preview tab.\n * Therefore, we check for \"contentEntriesContextValue\" to know that we're inside preview tab.\n */\n const renderedInPreviewTab = contentEntriesContextValue === null;\n\n /**\n * Set \"renderNewEntryModal\" value.\n */\n let renderNewEntryModal;\n\n if (renderedInPreviewTab) {\n renderNewEntryModal = false;\n } else if (referenceMultipleModels) {\n renderNewEntryModal = false;\n } else {\n const { insideDialog } = contentEntriesContextValue;\n renderNewEntryModal = !insideDialog;\n }\n /**\n * Set \"helpText\" value.\n */\n let helpText = null;\n if (referenceMultipleModels) {\n helpText = <ReferenceMultipleModelsHelpText />;\n } else {\n helpText = <MissingEntryHelpText refModelId={refModelId} />;\n }\n\n return {\n renderNewEntryModal,\n refModelId,\n helpText\n };\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAcO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAqD;EAAA,IAAlDC,KAAkD,QAAlDA,KAAkD;EAC/E,IAAMC,MAAM,GAAG,CAACD,KAAK,CAACE,QAAN,IAAkBF,KAAK,CAACE,QAAN,CAAeD,MAAjC,GAA0CD,KAAK,CAACE,QAAN,CAAeD,MAAzD,GAAkE,IAAnE,KAA4E,EAA3F;;EACA,2CAAkCA,MAAlC;EAAA,IAAkBE,UAAlB,cAASC,OAAT;;EACA,IAAMC,uBAAuB,GAAGJ,MAAM,CAACK,MAAP,GAAgB,CAAhD;EAEA,IAAMC,0BAA0B,GAAG,IAAAC,iBAAA,EAAWC,8BAAX,CAAnC;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;;EACI,IAAMC,oBAAoB,GAAGH,0BAA0B,KAAK,IAA5D;EAEA;AACJ;AACA;;EACI,IAAII,mBAAJ;;EAEA,IAAID,oBAAJ,EAA0B;IACtBC,mBAAmB,GAAG,KAAtB;EACH,CAFD,MAEO,IAAIN,uBAAJ,EAA6B;IAChCM,mBAAmB,GAAG,KAAtB;EACH,CAFM,MAEA;IACH,IAAQC,YAAR,GAAyBL,0BAAzB,CAAQK,YAAR;IACAD,mBAAmB,GAAG,CAACC,YAAvB;EACH;EACD;AACJ;AACA;;;EACI,IAAIC,QAAQ,GAAG,IAAf;;EACA,IAAIR,uBAAJ,EAA6B;IACzBQ,QAAQ,gBAAG,6BAAC,qDAAD,OAAX;EACH,CAFD,MAEO;IACHA,QAAQ,gBAAG,6BAAC,6BAAD;MAAsB,UAAU,EAAEV;IAAlC,EAAX;EACH;;EAED,OAAO;IACHQ,mBAAmB,EAAnBA,mBADG;IAEHR,UAAU,EAAVA,UAFG;IAGHU,QAAQ,EAARA;EAHG,CAAP;AAKH,CA5CM"}
1
+ {"version":3,"names":["useNewRefEntry","field","models","settings","refModelId","modelId","referenceMultipleModels","length","contentEntriesContext","useContentEntries","renderedInPreviewTab","renderNewEntryModal","insideDialog","helpText"],"sources":["useNewRefEntry.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsModelField } from \"~/types\";\nimport MissingEntryHelpText, {\n ReferenceMultipleModelsHelpText\n} from \"../components/MissingEntryHelpText\";\nimport { useContentEntries } from \"~/admin/views/contentEntries/hooks/useContentEntries\";\n\ninterface UseNewRefEntryParams {\n field: CmsModelField;\n}\n\ninterface UseNewRefEntry {\n renderNewEntryModal: boolean;\n refModelId: string;\n helpText: React.ReactElement;\n}\n\nexport const useNewRefEntry = ({ field }: UseNewRefEntryParams): UseNewRefEntry => {\n const models = (field.settings && field.settings.models ? field.settings.models : null) || [];\n const [{ modelId: refModelId }] = models;\n const referenceMultipleModels = models.length > 1;\n\n let contentEntriesContext = null;\n try {\n contentEntriesContext = useContentEntries();\n } catch {\n // Means there's no `ContentEntriesContextProvider`, so we must be in model editor \"preview\".\n }\n\n /**\n * We don't wrap the \"ContentEntryForm\" with \"ContentEntriesContextProvider\"\n * when rendering it inside content model editor's preview tab.\n *\n * And we also don't want to have new ref field Dialog in the preview tab.\n * Therefore, we check for \"contentEntriesContext\" to know that we're inside preview tab.\n */\n const renderedInPreviewTab = contentEntriesContext === null;\n\n let renderNewEntryModal = false;\n\n if (renderedInPreviewTab) {\n renderNewEntryModal = false;\n } else if (referenceMultipleModels) {\n renderNewEntryModal = false;\n } else if (contentEntriesContext) {\n renderNewEntryModal = !contentEntriesContext.insideDialog;\n }\n /**\n * Set \"helpText\" value.\n */\n let helpText;\n if (referenceMultipleModels) {\n helpText = <ReferenceMultipleModelsHelpText />;\n } else {\n helpText = <MissingEntryHelpText refModelId={refModelId} />;\n }\n\n return {\n renderNewEntryModal,\n refModelId,\n helpText\n };\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAGA;;AAYO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAqD;EAAA,IAAlDC,KAAkD,QAAlDA,KAAkD;EAC/E,IAAMC,MAAM,GAAG,CAACD,KAAK,CAACE,QAAN,IAAkBF,KAAK,CAACE,QAAN,CAAeD,MAAjC,GAA0CD,KAAK,CAACE,QAAN,CAAeD,MAAzD,GAAkE,IAAnE,KAA4E,EAA3F;;EACA,2CAAkCA,MAAlC;EAAA,IAAkBE,UAAlB,cAASC,OAAT;;EACA,IAAMC,uBAAuB,GAAGJ,MAAM,CAACK,MAAP,GAAgB,CAAhD;EAEA,IAAIC,qBAAqB,GAAG,IAA5B;;EACA,IAAI;IACAA,qBAAqB,GAAG,IAAAC,oCAAA,GAAxB;EACH,CAFD,CAEE,gBAAM,CACJ;EACH;EAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,IAAMC,oBAAoB,GAAGF,qBAAqB,KAAK,IAAvD;EAEA,IAAIG,mBAAmB,GAAG,KAA1B;;EAEA,IAAID,oBAAJ,EAA0B;IACtBC,mBAAmB,GAAG,KAAtB;EACH,CAFD,MAEO,IAAIL,uBAAJ,EAA6B;IAChCK,mBAAmB,GAAG,KAAtB;EACH,CAFM,MAEA,IAAIH,qBAAJ,EAA2B;IAC9BG,mBAAmB,GAAG,CAACH,qBAAqB,CAACI,YAA7C;EACH;EACD;AACJ;AACA;;;EACI,IAAIC,QAAJ;;EACA,IAAIP,uBAAJ,EAA6B;IACzBO,QAAQ,gBAAG,6BAAC,qDAAD,OAAX;EACH,CAFD,MAEO;IACHA,QAAQ,gBAAG,6BAAC,6BAAD;MAAsB,UAAU,EAAET;IAAlC,EAAX;EACH;;EAED,OAAO;IACHO,mBAAmB,EAAnBA,mBADG;IAEHP,UAAU,EAAVA,UAFG;IAGHS,QAAQ,EAARA;EAHG,CAAP;AAKH,CA7CM"}
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","getKey","field","bind","form","data","id","fieldId","plugin","type","name","renderer","rendererName","description","canUse","multipleValues","render","props","Bind","getBind"],"sources":["refInputs.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsEditorContentEntry, CmsEditorField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport ContentEntriesMultiAutocomplete from \"./components/ContentEntriesMultiAutoComplete\";\nimport { NewRefEntryDialogContextProvider } from \"./hooks/useNewRefEntryDialog\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst getKey = (\n field: CmsEditorField,\n bind: BindComponentRenderProp<string, CmsEditorContentEntry>\n): string => {\n return bind.form.data.id + \".\" + field.fieldId;\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-ref-inputs\",\n renderer: {\n rendererName: \"ref-inputs\",\n name: t`Reference Inputs`,\n description: t`Renders an auto-complete input, allowing selection of multiple values.`,\n canUse({ field }) {\n return field.type === \"ref\" && !!field.multipleValues;\n },\n render(props) {\n const Bind = props.getBind();\n return (\n <Bind>\n {bind => (\n <NewRefEntryDialogContextProvider>\n <ContentEntriesMultiAutocomplete\n key={getKey(props.field, bind as any)}\n {...props}\n bind={bind}\n />\n </NewRefEntryDialogContextProvider>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AAEA;;;;AAGA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,mCAAR,CAAV;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CACXC,KADW,EAEXC,IAFW,EAGF;EACT,OAAOA,IAAI,CAACC,IAAL,CAAUC,IAAV,CAAeC,EAAf,GAAoB,GAApB,GAA0BJ,KAAK,CAACK,OAAvC;AACH,CALD;;AAOA,IAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,2BADmC;EAEzCC,IAAI,EAAE,sCAFmC;EAGzCC,QAAQ,EAAE;IACNC,YAAY,EAAE,YADR;IAENF,IAAI,EAAEZ,CAAF,mGAFE;IAGNe,WAAW,EAAEf,CAAF,2JAHL;IAINgB,MAJM,wBAIY;MAAA,IAATZ,KAAS,QAATA,KAAS;MACd,OAAOA,KAAK,CAACO,IAAN,KAAe,KAAf,IAAwB,CAAC,CAACP,KAAK,CAACa,cAAvC;IACH,CANK;IAONC,MAPM,kBAOCC,KAPD,EAOQ;MACV,IAAMC,IAAI,GAAGD,KAAK,CAACE,OAAN,EAAb;MACA,oBACI,6BAAC,IAAD,QACK,UAAAhB,IAAI;QAAA,oBACD,6BAAC,sDAAD,qBACI,6BAAC,wCAAD;UACI,GAAG,EAAEF,MAAM,CAACgB,KAAK,CAACf,KAAP,EAAcC,IAAd;QADf,GAEQc,KAFR;UAGI,IAAI,EAAEd;QAHV,GADJ,CADC;MAAA,CADT,CADJ;IAaH;EAtBK;AAH+B,CAA7C;eA6BeK,M"}
1
+ {"version":3,"names":["t","i18n","ns","getKey","field","bind","form","data","id","fieldId","plugin","type","name","renderer","rendererName","description","canUse","multipleValues","render","props","Bind","getBind"],"sources":["refInputs.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsEditorContentEntry, CmsModelField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport ContentEntriesMultiAutocomplete from \"./components/ContentEntriesMultiAutoComplete\";\nimport { NewRefEntryDialogContextProvider } from \"./hooks/useNewRefEntryDialog\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst getKey = (\n field: CmsModelField,\n bind: BindComponentRenderProp<string, CmsEditorContentEntry>\n): string => {\n return bind.form.data.id + \".\" + field.fieldId;\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-ref-inputs\",\n renderer: {\n rendererName: \"ref-inputs\",\n name: t`Reference Inputs`,\n description: t`Renders an auto-complete input, allowing selection of multiple values.`,\n canUse({ field }) {\n return field.type === \"ref\" && !!field.multipleValues;\n },\n render(props) {\n const Bind = props.getBind();\n return (\n <Bind>\n {bind => (\n <NewRefEntryDialogContextProvider>\n <ContentEntriesMultiAutocomplete\n key={getKey(props.field, bind as any)}\n {...props}\n bind={bind}\n />\n </NewRefEntryDialogContextProvider>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AAEA;;;;AAGA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,mCAAR,CAAV;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CACXC,KADW,EAEXC,IAFW,EAGF;EACT,OAAOA,IAAI,CAACC,IAAL,CAAUC,IAAV,CAAeC,EAAf,GAAoB,GAApB,GAA0BJ,KAAK,CAACK,OAAvC;AACH,CALD;;AAOA,IAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,2BADmC;EAEzCC,IAAI,EAAE,sCAFmC;EAGzCC,QAAQ,EAAE;IACNC,YAAY,EAAE,YADR;IAENF,IAAI,EAAEZ,CAAF,mGAFE;IAGNe,WAAW,EAAEf,CAAF,2JAHL;IAINgB,MAJM,wBAIY;MAAA,IAATZ,KAAS,QAATA,KAAS;MACd,OAAOA,KAAK,CAACO,IAAN,KAAe,KAAf,IAAwB,CAAC,CAACP,KAAK,CAACa,cAAvC;IACH,CANK;IAONC,MAPM,kBAOCC,KAPD,EAOQ;MACV,IAAMC,IAAI,GAAGD,KAAK,CAACE,OAAN,EAAb;MACA,oBACI,6BAAC,IAAD,QACK,UAAAhB,IAAI;QAAA,oBACD,6BAAC,sDAAD,qBACI,6BAAC,wCAAD;UACI,GAAG,EAAEF,MAAM,CAACgB,KAAK,CAACf,KAAP,EAAcC,IAAd;QADf,GAEQc,KAFR;UAGI,IAAI,EAAEd;QAHV,GADJ,CADC;MAAA,CADT,CADJ;IAaH;EAtBK;AAH+B,CAA7C;eA6BeK,M"}
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","getKey","field","bind","formId","form","data","id","fieldId","plugin","type","name","renderer","rendererName","description","canUse","multipleValues","get","render","getBind","Bind","rteProps","useMemo","createPropsFromConfig","plugins","byType","map","pl","config","onChange","label","placeholderText","helpText"],"sources":["richTextInput.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorContentEntry, CmsEditorField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { createPropsFromConfig, RichTextEditor } from \"@webiny/app-admin/components/RichTextEditor\";\nimport { plugins } from \"@webiny/plugins\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/rich-text\");\n\nconst getKey = (\n field: CmsEditorField,\n bind: BindComponentRenderProp<string, CmsEditorContentEntry>\n): string => {\n const formId = bind.form.data.id || \"new\";\n return `${formId}.${field.fieldId}`;\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-rich-text\",\n renderer: {\n rendererName: \"rich-text-input\",\n name: t`Rich Text Input`,\n description: t`Renders a rich text editor.`,\n canUse({ field }) {\n return (\n field.type === \"rich-text\" &&\n !field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const rteProps = useMemo(() => {\n /**\n * TODO @ts-refactor\n * Missing cms-rte-config plugin type.\n */\n // @ts-ignore\n return createPropsFromConfig(plugins.byType(\"cms-rte-config\").map(pl => pl.config));\n }, []);\n\n return (\n <Bind>\n {bind => {\n return (\n <RichTextEditor\n key={getKey(field, bind as any)}\n {...rteProps}\n {...bind}\n onChange={bind.onChange}\n label={field.label}\n placeholder={field.placeholderText}\n description={field.helpText}\n data-testid={`fr.input.richtext.${field.label}`}\n />\n );\n }}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;AAGA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,yCAAR,CAAV;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CACXC,KADW,EAEXC,IAFW,EAGF;EACT,IAAMC,MAAM,GAAGD,IAAI,CAACE,IAAL,CAAUC,IAAV,CAAeC,EAAf,IAAqB,KAApC;EACA,iBAAUH,MAAV,cAAoBF,KAAK,CAACM,OAA1B;AACH,CAND;;AAQA,IAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,2BADmC;EAEzCC,IAAI,EAAE,qCAFmC;EAGzCC,QAAQ,EAAE;IACNC,YAAY,EAAE,iBADR;IAENF,IAAI,EAAEb,CAAF,kGAFE;IAGNgB,WAAW,EAAEhB,CAAF,gHAHL;IAINiB,MAJM,wBAIY;MAAA,IAATb,KAAS,QAATA,KAAS;MACd,OACIA,KAAK,CAACQ,IAAN,KAAe,WAAf,IACA,CAACR,KAAK,CAACc,cADP,IAEA,CAAC,IAAAC,YAAA,EAAIf,KAAJ,EAAW,0BAAX,CAHL;IAKH,CAVK;IAWNgB,MAXM,yBAWqB;MAAA,IAAlBhB,KAAkB,SAAlBA,KAAkB;MAAA,IAAXiB,OAAW,SAAXA,OAAW;MACvB,IAAMC,IAAI,GAAGD,OAAO,EAApB;MAEA,IAAME,QAAQ,GAAG,IAAAC,cAAA,EAAQ,YAAM;QAC3B;AAChB;AACA;AACA;QACgB;QACA,OAAO,IAAAC,qCAAA,EAAsBC,gBAAA,CAAQC,MAAR,CAAe,gBAAf,EAAiCC,GAAjC,CAAqC,UAAAC,EAAE;UAAA,OAAIA,EAAE,CAACC,MAAP;QAAA,CAAvC,CAAtB,CAAP;MACH,CAPgB,EAOd,EAPc,CAAjB;MASA,oBACI,6BAAC,IAAD,QACK,UAAAzB,IAAI,EAAI;QACL,oBACI,6BAAC,8BAAD;UACI,GAAG,EAAEF,MAAM,CAACC,KAAD,EAAQC,IAAR;QADf,GAEQkB,QAFR,EAGQlB,IAHR;UAII,QAAQ,EAAEA,IAAI,CAAC0B,QAJnB;UAKI,KAAK,EAAE3B,KAAK,CAAC4B,KALjB;UAMI,WAAW,EAAE5B,KAAK,CAAC6B,eANvB;UAOI,WAAW,EAAE7B,KAAK,CAAC8B,QAPvB;UAQI,2CAAkC9B,KAAK,CAAC4B,KAAxC;QARJ,GADJ;MAYH,CAdL,CADJ;IAkBH;EAzCK;AAH+B,CAA7C;eAgDerB,M"}
1
+ {"version":3,"names":["t","i18n","ns","getKey","field","bind","formId","form","data","id","fieldId","plugin","type","name","renderer","rendererName","description","canUse","multipleValues","get","render","getBind","Bind","rteProps","useMemo","createPropsFromConfig","plugins","byType","map","pl","config","onChange","label","placeholderText","helpText"],"sources":["richTextInput.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorContentEntry, CmsModelField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { createPropsFromConfig, RichTextEditor } from \"@webiny/app-admin/components/RichTextEditor\";\nimport { plugins } from \"@webiny/plugins\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/rich-text\");\n\nconst getKey = (\n field: CmsModelField,\n bind: BindComponentRenderProp<string, CmsEditorContentEntry>\n): string => {\n const formId = bind.form.data.id || \"new\";\n return `${formId}.${field.fieldId}`;\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-rich-text\",\n renderer: {\n rendererName: \"rich-text-input\",\n name: t`Rich Text Input`,\n description: t`Renders a rich text editor.`,\n canUse({ field }) {\n return (\n field.type === \"rich-text\" &&\n !field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const rteProps = useMemo(() => {\n /**\n * TODO @ts-refactor\n * Missing cms-rte-config plugin type.\n */\n // @ts-ignore\n return createPropsFromConfig(plugins.byType(\"cms-rte-config\").map(pl => pl.config));\n }, []);\n\n return (\n <Bind>\n {bind => {\n return (\n <RichTextEditor\n key={getKey(field, bind as any)}\n {...rteProps}\n {...bind}\n onChange={bind.onChange}\n label={field.label}\n placeholder={field.placeholderText}\n description={field.helpText}\n data-testid={`fr.input.richtext.${field.label}`}\n />\n );\n }}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;AAGA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,yCAAR,CAAV;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CACXC,KADW,EAEXC,IAFW,EAGF;EACT,IAAMC,MAAM,GAAGD,IAAI,CAACE,IAAL,CAAUC,IAAV,CAAeC,EAAf,IAAqB,KAApC;EACA,iBAAUH,MAAV,cAAoBF,KAAK,CAACM,OAA1B;AACH,CAND;;AAQA,IAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,2BADmC;EAEzCC,IAAI,EAAE,qCAFmC;EAGzCC,QAAQ,EAAE;IACNC,YAAY,EAAE,iBADR;IAENF,IAAI,EAAEb,CAAF,kGAFE;IAGNgB,WAAW,EAAEhB,CAAF,gHAHL;IAINiB,MAJM,wBAIY;MAAA,IAATb,KAAS,QAATA,KAAS;MACd,OACIA,KAAK,CAACQ,IAAN,KAAe,WAAf,IACA,CAACR,KAAK,CAACc,cADP,IAEA,CAAC,IAAAC,YAAA,EAAIf,KAAJ,EAAW,0BAAX,CAHL;IAKH,CAVK;IAWNgB,MAXM,yBAWqB;MAAA,IAAlBhB,KAAkB,SAAlBA,KAAkB;MAAA,IAAXiB,OAAW,SAAXA,OAAW;MACvB,IAAMC,IAAI,GAAGD,OAAO,EAApB;MAEA,IAAME,QAAQ,GAAG,IAAAC,cAAA,EAAQ,YAAM;QAC3B;AAChB;AACA;AACA;QACgB;QACA,OAAO,IAAAC,qCAAA,EAAsBC,gBAAA,CAAQC,MAAR,CAAe,gBAAf,EAAiCC,GAAjC,CAAqC,UAAAC,EAAE;UAAA,OAAIA,EAAE,CAACC,MAAP;QAAA,CAAvC,CAAtB,CAAP;MACH,CAPgB,EAOd,EAPc,CAAjB;MASA,oBACI,6BAAC,IAAD,QACK,UAAAzB,IAAI,EAAI;QACL,oBACI,6BAAC,8BAAD;UACI,GAAG,EAAEF,MAAM,CAACC,KAAD,EAAQC,IAAR;QADf,GAEQkB,QAFR,EAGQlB,IAHR;UAII,QAAQ,EAAEA,IAAI,CAAC0B,QAJnB;UAKI,KAAK,EAAE3B,KAAK,CAAC4B,KALjB;UAMI,WAAW,EAAE5B,KAAK,CAAC6B,eANvB;UAOI,WAAW,EAAE7B,KAAK,CAAC8B,QAPvB;UAQI,2CAAkC9B,KAAK,CAAC4B,KAAxC;QARJ,GADJ;MAYH,CAdL,CADJ;IAkBH;EAzCK;AAH+B,CAA7C;eAgDerB,M"}
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","getKey","field","bind","index","formId","form","data","id","fieldId","emptyValue","type","textAlign","className","text","EditorWrapper","styled","position","top","right","plugin","name","renderer","rendererName","description","canUse","multipleValues","get","render","props","rteProps","useMemo","createPropsFromConfig","plugins","byType","map","pl","config","removeValue","placeholderText","helpText"],"sources":["richTextInputs.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport DynamicSection, { DynamicSectionPropsChildrenParams } from \"../DynamicSection\";\nimport { RichTextEditor, createPropsFromConfig } from \"@webiny/app-admin/components/RichTextEditor\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { plugins } from \"@webiny/plugins\";\nimport styled from \"@emotion/styled\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/rich-text\");\n\nconst getKey = (\n field: CmsEditorField,\n bind: DynamicSectionPropsChildrenParams[\"bind\"],\n index: number\n): string => {\n const formId = bind.index.form?.data?.id || \"new\";\n return `${formId}.${field.fieldId}.${index}`;\n};\n\nconst emptyValue: Record<string, any>[] = [\n {\n type: \"paragraph\",\n data: {\n textAlign: \"left\",\n className: null,\n text: \"\"\n }\n }\n];\n\nconst EditorWrapper = styled(\"div\")({\n position: \"relative\",\n \"> button\": {\n position: \"absolute\",\n top: 5,\n right: 5\n }\n});\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-rich-text-inputs\",\n renderer: {\n rendererName: \"rich-text-inputs\",\n name: t`Rich Text Inputs`,\n description: t`Renders a simple list of rich text editors.`,\n canUse({ field }) {\n return (\n field.type === \"rich-text\" &&\n !!field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render(props) {\n const { field } = props;\n\n const rteProps = useMemo(() => {\n /**\n * TODO @ts-refactor\n * Missing cms-rte-config plugin.\n */\n // @ts-ignore\n return createPropsFromConfig(plugins.byType(\"cms-rte-config\").map(pl => pl.config));\n }, []);\n\n return (\n <DynamicSection {...props} emptyValue={emptyValue}>\n {({ bind, index }) => (\n <EditorWrapper>\n {index > 0 && (\n <IconButton\n icon={<DeleteIcon />}\n onClick={() => bind.field.removeValue(index)}\n />\n )}\n <RichTextEditor\n key={getKey(field, bind, index)}\n {...rteProps}\n {...bind.index}\n label={`Value ${index + 1}`}\n placeholder={field.placeholderText}\n description={field.helpText}\n />\n </EditorWrapper>\n )}\n </DynamicSection>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,yCAAR,CAAV;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CACXC,KADW,EAEXC,IAFW,EAGXC,KAHW,EAIF;EAAA;;EACT,IAAMC,MAAM,GAAG,qBAAAF,IAAI,CAACC,KAAL,CAAWE,IAAX,+FAAiBC,IAAjB,gFAAuBC,EAAvB,KAA6B,KAA5C;EACA,iBAAUH,MAAV,cAAoBH,KAAK,CAACO,OAA1B,cAAqCL,KAArC;AACH,CAPD;;AASA,IAAMM,UAAiC,GAAG,CACtC;EACIC,IAAI,EAAE,WADV;EAEIJ,IAAI,EAAE;IACFK,SAAS,EAAE,MADT;IAEFC,SAAS,EAAE,IAFT;IAGFC,IAAI,EAAE;EAHJ;AAFV,CADsC,CAA1C;AAWA,IAAMC,aAAa,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EAChCC,QAAQ,EAAE,UADsB;EAEhC,YAAY;IACRA,QAAQ,EAAE,UADF;IAERC,GAAG,EAAE,CAFG;IAGRC,KAAK,EAAE;EAHC;AAFoB,CAAjB,CAAnB;AASA,IAAMC,MAAoC,GAAG;EACzCT,IAAI,EAAE,2BADmC;EAEzCU,IAAI,EAAE,4CAFmC;EAGzCC,QAAQ,EAAE;IACNC,YAAY,EAAE,kBADR;IAENF,IAAI,EAAEvB,CAAF,mGAFE;IAGN0B,WAAW,EAAE1B,CAAF,gIAHL;IAIN2B,MAJM,wBAIY;MAAA,IAATvB,KAAS,QAATA,KAAS;MACd,OACIA,KAAK,CAACS,IAAN,KAAe,WAAf,IACA,CAAC,CAACT,KAAK,CAACwB,cADR,IAEA,CAAC,IAAAC,YAAA,EAAIzB,KAAJ,EAAW,0BAAX,CAHL;IAKH,CAVK;IAWN0B,MAXM,kBAWCC,KAXD,EAWQ;MACV,IAAQ3B,KAAR,GAAkB2B,KAAlB,CAAQ3B,KAAR;MAEA,IAAM4B,QAAQ,GAAG,IAAAC,cAAA,EAAQ,YAAM;QAC3B;AAChB;AACA;AACA;QACgB;QACA,OAAO,IAAAC,qCAAA,EAAsBC,gBAAA,CAAQC,MAAR,CAAe,gBAAf,EAAiCC,GAAjC,CAAqC,UAAAC,EAAE;UAAA,OAAIA,EAAE,CAACC,MAAP;QAAA,CAAvC,CAAtB,CAAP;MACH,CAPgB,EAOd,EAPc,CAAjB;MASA,oBACI,6BAAC,uBAAD,oBAAoBR,KAApB;QAA2B,UAAU,EAAEnB;MAAvC,IACK;QAAA,IAAGP,IAAH,SAAGA,IAAH;QAAA,IAASC,KAAT,SAASA,KAAT;QAAA,oBACG,6BAAC,aAAD,QACKA,KAAK,GAAG,CAAR,iBACG,6BAAC,kBAAD;UACI,IAAI,eAAE,6BAAC,qBAAD,OADV;UAEI,OAAO,EAAE;YAAA,OAAMD,IAAI,CAACD,KAAL,CAAWoC,WAAX,CAAuBlC,KAAvB,CAAN;UAAA;QAFb,EAFR,eAOI,6BAAC,8BAAD;UACI,GAAG,EAAEH,MAAM,CAACC,KAAD,EAAQC,IAAR,EAAcC,KAAd;QADf,GAEQ0B,QAFR,EAGQ3B,IAAI,CAACC,KAHb;UAII,KAAK,kBAAWA,KAAK,GAAG,CAAnB,CAJT;UAKI,WAAW,EAAEF,KAAK,CAACqC,eALvB;UAMI,WAAW,EAAErC,KAAK,CAACsC;QANvB,GAPJ,CADH;MAAA,CADL,CADJ;IAsBH;EA7CK;AAH+B,CAA7C;eAoDepB,M"}
1
+ {"version":3,"names":["t","i18n","ns","getKey","field","bind","index","formId","form","data","id","fieldId","emptyValue","type","textAlign","className","text","EditorWrapper","styled","position","top","right","plugin","name","renderer","rendererName","description","canUse","multipleValues","get","render","props","rteProps","useMemo","createPropsFromConfig","plugins","byType","map","pl","config","removeValue","placeholderText","helpText"],"sources":["richTextInputs.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsModelField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport DynamicSection, { DynamicSectionPropsChildrenParams } from \"../DynamicSection\";\nimport { RichTextEditor, createPropsFromConfig } from \"@webiny/app-admin/components/RichTextEditor\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { plugins } from \"@webiny/plugins\";\nimport styled from \"@emotion/styled\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/rich-text\");\n\nconst getKey = (\n field: CmsModelField,\n bind: DynamicSectionPropsChildrenParams[\"bind\"],\n index: number\n): string => {\n const formId = bind.index.form?.data?.id || \"new\";\n return `${formId}.${field.fieldId}.${index}`;\n};\n\nconst emptyValue: Record<string, any>[] = [\n {\n type: \"paragraph\",\n data: {\n textAlign: \"left\",\n className: null,\n text: \"\"\n }\n }\n];\n\nconst EditorWrapper = styled(\"div\")({\n position: \"relative\",\n \"> button\": {\n position: \"absolute\",\n top: 5,\n right: 5\n }\n});\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-rich-text-inputs\",\n renderer: {\n rendererName: \"rich-text-inputs\",\n name: t`Rich Text Inputs`,\n description: t`Renders a simple list of rich text editors.`,\n canUse({ field }) {\n return (\n field.type === \"rich-text\" &&\n !!field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render(props) {\n const { field } = props;\n\n const rteProps = useMemo(() => {\n /**\n * TODO @ts-refactor\n * Missing cms-rte-config plugin.\n */\n // @ts-ignore\n return createPropsFromConfig(plugins.byType(\"cms-rte-config\").map(pl => pl.config));\n }, []);\n\n return (\n <DynamicSection {...props} emptyValue={emptyValue}>\n {({ bind, index }) => (\n <EditorWrapper>\n {index > 0 && (\n <IconButton\n icon={<DeleteIcon />}\n onClick={() => bind.field.removeValue(index)}\n />\n )}\n <RichTextEditor\n key={getKey(field, bind, index)}\n {...rteProps}\n {...bind.index}\n label={`Value ${index + 1}`}\n placeholder={field.placeholderText}\n description={field.helpText}\n />\n </EditorWrapper>\n )}\n </DynamicSection>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,yCAAR,CAAV;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CACXC,KADW,EAEXC,IAFW,EAGXC,KAHW,EAIF;EAAA;;EACT,IAAMC,MAAM,GAAG,qBAAAF,IAAI,CAACC,KAAL,CAAWE,IAAX,+FAAiBC,IAAjB,gFAAuBC,EAAvB,KAA6B,KAA5C;EACA,iBAAUH,MAAV,cAAoBH,KAAK,CAACO,OAA1B,cAAqCL,KAArC;AACH,CAPD;;AASA,IAAMM,UAAiC,GAAG,CACtC;EACIC,IAAI,EAAE,WADV;EAEIJ,IAAI,EAAE;IACFK,SAAS,EAAE,MADT;IAEFC,SAAS,EAAE,IAFT;IAGFC,IAAI,EAAE;EAHJ;AAFV,CADsC,CAA1C;AAWA,IAAMC,aAAa,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EAChCC,QAAQ,EAAE,UADsB;EAEhC,YAAY;IACRA,QAAQ,EAAE,UADF;IAERC,GAAG,EAAE,CAFG;IAGRC,KAAK,EAAE;EAHC;AAFoB,CAAjB,CAAnB;AASA,IAAMC,MAAoC,GAAG;EACzCT,IAAI,EAAE,2BADmC;EAEzCU,IAAI,EAAE,4CAFmC;EAGzCC,QAAQ,EAAE;IACNC,YAAY,EAAE,kBADR;IAENF,IAAI,EAAEvB,CAAF,mGAFE;IAGN0B,WAAW,EAAE1B,CAAF,gIAHL;IAIN2B,MAJM,wBAIY;MAAA,IAATvB,KAAS,QAATA,KAAS;MACd,OACIA,KAAK,CAACS,IAAN,KAAe,WAAf,IACA,CAAC,CAACT,KAAK,CAACwB,cADR,IAEA,CAAC,IAAAC,YAAA,EAAIzB,KAAJ,EAAW,0BAAX,CAHL;IAKH,CAVK;IAWN0B,MAXM,kBAWCC,KAXD,EAWQ;MACV,IAAQ3B,KAAR,GAAkB2B,KAAlB,CAAQ3B,KAAR;MAEA,IAAM4B,QAAQ,GAAG,IAAAC,cAAA,EAAQ,YAAM;QAC3B;AAChB;AACA;AACA;QACgB;QACA,OAAO,IAAAC,qCAAA,EAAsBC,gBAAA,CAAQC,MAAR,CAAe,gBAAf,EAAiCC,GAAjC,CAAqC,UAAAC,EAAE;UAAA,OAAIA,EAAE,CAACC,MAAP;QAAA,CAAvC,CAAtB,CAAP;MACH,CAPgB,EAOd,EAPc,CAAjB;MASA,oBACI,6BAAC,uBAAD,oBAAoBR,KAApB;QAA2B,UAAU,EAAEnB;MAAvC,IACK;QAAA,IAAGP,IAAH,SAAGA,IAAH;QAAA,IAASC,KAAT,SAASA,KAAT;QAAA,oBACG,6BAAC,aAAD,QACKA,KAAK,GAAG,CAAR,iBACG,6BAAC,kBAAD;UACI,IAAI,eAAE,6BAAC,qBAAD,OADV;UAEI,OAAO,EAAE;YAAA,OAAMD,IAAI,CAACD,KAAL,CAAWoC,WAAX,CAAuBlC,KAAvB,CAAN;UAAA;QAFb,EAFR,eAOI,6BAAC,8BAAD;UACI,GAAG,EAAEH,MAAM,CAACC,KAAD,EAAQC,IAAR,EAAcC,KAAd;QADf,GAEQ0B,QAFR,EAGQ3B,IAAI,CAACC,KAHb;UAII,KAAK,kBAAWA,KAAK,GAAG,CAAnB,CAJT;UAKI,WAAW,EAAEF,KAAK,CAACqC,eALvB;UAMI,WAAW,EAAErC,KAAK,CAACsC;QANvB,GAPJ,CADH;MAAA,CADL,CADJ;IAsBH;EA7CK;AAH+B,CAA7C;eAoDepB,M"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { CmsEditorField } from "../../../../types";
2
+ import { CmsModelField } from "../../../../types";
3
3
  import { BindComponentRenderProp } from "@webiny/form";
4
- export declare const createInputField: (field: CmsEditorField, bind: BindComponentRenderProp) => JSX.Element;
4
+ export declare const createInputField: (field: CmsModelField, bind: BindComponentRenderProp) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"names":["createInputField","field","bind","type","settings"],"sources":["createDateInputField.tsx"],"sourcesContent":["import React from \"react\";\nimport { DateTimeWithoutTimezone } from \"../../fieldRenderers/dateTime/DateTimeWithoutTimezone\";\nimport { DateTimeWithTimezone } from \"../../fieldRenderers/dateTime/DateTimeWithTimezone\";\nimport { Time } from \"../../fieldRenderers/dateTime/Time\";\nimport { CmsEditorField } from \"~/types\";\nimport { DateOnly } from \"~/admin/plugins/fieldRenderers/dateTime/DateOnly\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nexport const createInputField = (field: CmsEditorField, bind: BindComponentRenderProp) => {\n const type = field.settings ? field.settings.type : null;\n if (type === \"dateTimeWithoutTimezone\") {\n return <DateTimeWithoutTimezone field={field} bind={bind} />;\n } else if (type === \"dateTimeWithTimezone\") {\n return <DateTimeWithTimezone field={field} bind={bind} />;\n } else if (type === \"time\") {\n return <Time field={field} bind={bind} />;\n }\n return <DateOnly bind={bind} field={field} />;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AAGO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAwBC,IAAxB,EAA0D;EACtF,IAAMC,IAAI,GAAGF,KAAK,CAACG,QAAN,GAAiBH,KAAK,CAACG,QAAN,CAAeD,IAAhC,GAAuC,IAApD;;EACA,IAAIA,IAAI,KAAK,yBAAb,EAAwC;IACpC,oBAAO,6BAAC,gDAAD;MAAyB,KAAK,EAAEF,KAAhC;MAAuC,IAAI,EAAEC;IAA7C,EAAP;EACH,CAFD,MAEO,IAAIC,IAAI,KAAK,sBAAb,EAAqC;IACxC,oBAAO,6BAAC,0CAAD;MAAsB,KAAK,EAAEF,KAA7B;MAAoC,IAAI,EAAEC;IAA1C,EAAP;EACH,CAFM,MAEA,IAAIC,IAAI,KAAK,MAAb,EAAqB;IACxB,oBAAO,6BAAC,UAAD;MAAM,KAAK,EAAEF,KAAb;MAAoB,IAAI,EAAEC;IAA1B,EAAP;EACH;;EACD,oBAAO,6BAAC,kBAAD;IAAU,IAAI,EAAEA,IAAhB;IAAsB,KAAK,EAAED;EAA7B,EAAP;AACH,CAVM"}
1
+ {"version":3,"names":["createInputField","field","bind","type","settings"],"sources":["createDateInputField.tsx"],"sourcesContent":["import React from \"react\";\nimport { DateTimeWithoutTimezone } from \"../../fieldRenderers/dateTime/DateTimeWithoutTimezone\";\nimport { DateTimeWithTimezone } from \"../../fieldRenderers/dateTime/DateTimeWithTimezone\";\nimport { Time } from \"../../fieldRenderers/dateTime/Time\";\nimport { CmsModelField } from \"~/types\";\nimport { DateOnly } from \"~/admin/plugins/fieldRenderers/dateTime/DateOnly\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nexport const createInputField = (field: CmsModelField, bind: BindComponentRenderProp) => {\n const type = field.settings ? field.settings.type : null;\n if (type === \"dateTimeWithoutTimezone\") {\n return <DateTimeWithoutTimezone field={field} bind={bind} />;\n } else if (type === \"dateTimeWithTimezone\") {\n return <DateTimeWithTimezone field={field} bind={bind} />;\n } else if (type === \"time\") {\n return <Time field={field} bind={bind} />;\n }\n return <DateOnly bind={bind} field={field} />;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AAGO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAuBC,IAAvB,EAAyD;EACrF,IAAMC,IAAI,GAAGF,KAAK,CAACG,QAAN,GAAiBH,KAAK,CAACG,QAAN,CAAeD,IAAhC,GAAuC,IAApD;;EACA,IAAIA,IAAI,KAAK,yBAAb,EAAwC;IACpC,oBAAO,6BAAC,gDAAD;MAAyB,KAAK,EAAEF,KAAhC;MAAuC,IAAI,EAAEC;IAA7C,EAAP;EACH,CAFD,MAEO,IAAIC,IAAI,KAAK,sBAAb,EAAqC;IACxC,oBAAO,6BAAC,0CAAD;MAAsB,KAAK,EAAEF,KAA7B;MAAoC,IAAI,EAAEC;IAA1C,EAAP;EACH,CAFM,MAEA,IAAIC,IAAI,KAAK,MAAb,EAAqB;IACxB,oBAAO,6BAAC,UAAD;MAAM,KAAK,EAAEF,KAAb;MAAoB,IAAI,EAAEC;IAA1B,EAAP;EACH;;EACD,oBAAO,6BAAC,kBAAD;IAAU,IAAI,EAAEA,IAAhB;IAAsB,KAAK,EAAED;EAA7B,EAAP;AACH,CAVM"}
@@ -1,3 +1,3 @@
1
- import { CmsEditorFieldValidatorPlugin } from "../../../types";
2
- declare const _default: () => CmsEditorFieldValidatorPlugin;
1
+ import { CmsModelFieldValidatorPlugin } from "../../../types";
2
+ declare const _default: () => CmsModelFieldValidatorPlugin;
3
3
  export default _default;
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _react = _interopRequireDefault(require("react"));
11
15
 
12
16
  var _Grid = require("@webiny/ui/Grid");
@@ -19,37 +23,89 @@ var _availableValidators = require("./date/availableValidators");
19
23
 
20
24
  var _FormElementMessage = require("@webiny/ui/FormElementMessage");
21
25
 
26
+ var _hooks = require("../../hooks");
27
+
28
+ var _form = require("@webiny/form");
29
+
30
+ function DateGteSettings() {
31
+ var _useModelField = (0, _hooks.useModelField)(),
32
+ field = _useModelField.field;
33
+
34
+ var type = field.settings ? field.settings.type : undefined;
35
+ var availableValidators = (0, _availableValidators.getAvailableValidators)(type).join(",");
36
+ return /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
37
+ span: 12
38
+ }, /*#__PURE__*/_react.default.createElement(_form.Bind, {
39
+ name: "settings.type"
40
+ }, function (bind) {
41
+ if (bind.value !== type) {
42
+ bind.onChange(type);
43
+ }
44
+
45
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
46
+ }), /*#__PURE__*/_react.default.createElement(_form.Bind, {
47
+ name: "settings.value",
48
+ validators: _validation.validation.create(availableValidators)
49
+ }, function (bind) {
50
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _createDateInputField.createInputField)(field, bind), /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, null, "This is the earliest date/time that will be allowed."));
51
+ })));
52
+ }
53
+
22
54
  var _default = function _default() {
23
55
  return {
24
- type: "cms-editor-field-validator",
56
+ type: "cms-model-field-validator",
25
57
  name: "cms-editor-field-validator-date-gte",
26
58
  validator: {
27
59
  name: "dateGte",
28
60
  label: "Later or equal",
29
61
  description: "Entered date/time must be equal or later compared to the provided date.",
30
62
  defaultMessage: "Date/time is earlier than the provided one.",
31
- renderSettings: function renderSettings(_ref) {
32
- var Bind = _ref.Bind,
33
- field = _ref.field;
34
- var type = field.settings ? field.settings.type : undefined;
35
- var availableValidators = (0, _availableValidators.getAvailableValidators)(type).join(",");
36
- return /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
37
- span: 12
38
- }, /*#__PURE__*/_react.default.createElement(Bind, {
39
- name: "settings.type"
40
- }, function (bind) {
41
- if (bind.value !== type) {
42
- bind.onChange(type);
43
- }
44
-
45
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
46
- }), /*#__PURE__*/_react.default.createElement(Bind, {
47
- name: "settings.value",
48
- validators: _validation.validation.create(availableValidators)
49
- }, function (bind) {
50
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _createDateInputField.createInputField)(field, bind), /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, null, "This is the earliest date/time that will be allowed."));
51
- })));
52
- }
63
+ renderSettings: function renderSettings() {
64
+ return /*#__PURE__*/_react.default.createElement(DateGteSettings, null);
65
+ },
66
+ validate: function () {
67
+ var _validate = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(value, _ref) {
68
+ var validator, _validator$settings, gteValue, type;
69
+
70
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
71
+ while (1) {
72
+ switch (_context.prev = _context.next) {
73
+ case 0:
74
+ validator = _ref.validator;
75
+ _validator$settings = validator.settings, gteValue = _validator$settings.value, type = _validator$settings.type;
76
+
77
+ if (!(typeof gteValue === "undefined")) {
78
+ _context.next = 6;
79
+ break;
80
+ }
81
+
82
+ return _context.abrupt("return", true);
83
+
84
+ case 6:
85
+ if (!(type === "time")) {
86
+ _context.next = 8;
87
+ break;
88
+ }
89
+
90
+ return _context.abrupt("return", _validation.validation.validate(value, "timeGte:".concat(gteValue)));
91
+
92
+ case 8:
93
+ return _context.abrupt("return", _validation.validation.validate(value, "dateGte:".concat(gteValue)));
94
+
95
+ case 9:
96
+ case "end":
97
+ return _context.stop();
98
+ }
99
+ }
100
+ }, _callee);
101
+ }));
102
+
103
+ function validate(_x, _x2) {
104
+ return _validate.apply(this, arguments);
105
+ }
106
+
107
+ return validate;
108
+ }()
53
109
  }
54
110
  };
55
111
  };
@@ -1 +1 @@
1
- {"version":3,"names":["type","name","validator","label","description","defaultMessage","renderSettings","Bind","field","settings","undefined","availableValidators","getAvailableValidators","join","bind","value","onChange","validation","create","createInputField"],"sources":["dateGte.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorFieldValidatorPlugin } from \"~/types\";\nimport { createInputField } from \"./date/createDateInputField\";\nimport { getAvailableValidators } from \"./date/availableValidators\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\n\nexport default (): CmsEditorFieldValidatorPlugin => ({\n type: \"cms-editor-field-validator\",\n name: \"cms-editor-field-validator-date-gte\",\n validator: {\n name: \"dateGte\",\n label: \"Later or equal\",\n description: \"Entered date/time must be equal or later compared to the provided date.\",\n defaultMessage: `Date/time is earlier than the provided one.`,\n renderSettings({ Bind, field }) {\n const type = field.settings ? field.settings.type : undefined;\n const availableValidators = getAvailableValidators(type).join(\",\");\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"settings.type\"}>\n {bind => {\n if (bind.value !== type) {\n bind.onChange(type);\n }\n return <></>;\n }}\n </Bind>\n <Bind\n name={\"settings.value\"}\n validators={validation.create(availableValidators)}\n >\n {bind => {\n return (\n <>\n {createInputField(field, bind)}\n <FormElementMessage>\n This is the earliest date/time that will be allowed.\n </FormElementMessage>\n </>\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n );\n }\n }\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;eAEe;EAAA,OAAsC;IACjDA,IAAI,EAAE,4BAD2C;IAEjDC,IAAI,EAAE,qCAF2C;IAGjDC,SAAS,EAAE;MACPD,IAAI,EAAE,SADC;MAEPE,KAAK,EAAE,gBAFA;MAGPC,WAAW,EAAE,yEAHN;MAIPC,cAAc,+CAJP;MAKPC,cALO,gCAKyB;QAAA,IAAfC,IAAe,QAAfA,IAAe;QAAA,IAATC,KAAS,QAATA,KAAS;QAC5B,IAAMR,IAAI,GAAGQ,KAAK,CAACC,QAAN,GAAiBD,KAAK,CAACC,QAAN,CAAeT,IAAhC,GAAuCU,SAApD;QACA,IAAMC,mBAAmB,GAAG,IAAAC,2CAAA,EAAuBZ,IAAvB,EAA6Ba,IAA7B,CAAkC,GAAlC,CAA5B;QACA,oBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;UAAM,IAAI,EAAE;QAAZ,gBACI,6BAAC,IAAD;UAAM,IAAI,EAAE;QAAZ,GACK,UAAAC,IAAI,EAAI;UACL,IAAIA,IAAI,CAACC,KAAL,KAAef,IAAnB,EAAyB;YACrBc,IAAI,CAACE,QAAL,CAAchB,IAAd;UACH;;UACD,oBAAO,2DAAP;QACH,CANL,CADJ,eASI,6BAAC,IAAD;UACI,IAAI,EAAE,gBADV;UAEI,UAAU,EAAEiB,sBAAA,CAAWC,MAAX,CAAkBP,mBAAlB;QAFhB,GAIK,UAAAG,IAAI,EAAI;UACL,oBACI,4DACK,IAAAK,sCAAA,EAAiBX,KAAjB,EAAwBM,IAAxB,CADL,eAEI,6BAAC,sCAAD,+DAFJ,CADJ;QAQH,CAbL,CATJ,CADJ,CADJ;MA6BH;IArCM;EAHsC,CAAtC;AAAA,C"}
1
+ {"version":3,"names":["DateGteSettings","useModelField","field","type","settings","undefined","availableValidators","getAvailableValidators","join","bind","value","onChange","validation","create","createInputField","name","validator","label","description","defaultMessage","renderSettings","validate","gteValue"],"sources":["dateGte.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { createInputField } from \"./date/createDateInputField\";\nimport { getAvailableValidators } from \"./date/availableValidators\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { useModelField } from \"~/admin/hooks\";\nimport { Bind } from \"@webiny/form\";\n\nfunction DateGteSettings() {\n const { field } = useModelField();\n const type = field.settings ? field.settings.type : undefined;\n const availableValidators = getAvailableValidators(type).join(\",\");\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"settings.type\"}>\n {bind => {\n if (bind.value !== type) {\n bind.onChange(type);\n }\n return <></>;\n }}\n </Bind>\n <Bind name={\"settings.value\"} validators={validation.create(availableValidators)}>\n {bind => {\n return (\n <>\n {createInputField(field, bind)}\n <FormElementMessage>\n This is the earliest date/time that will be allowed.\n </FormElementMessage>\n </>\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n );\n}\n\nexport default (): CmsModelFieldValidatorPlugin => ({\n type: \"cms-model-field-validator\",\n name: \"cms-editor-field-validator-date-gte\",\n validator: {\n name: \"dateGte\",\n label: \"Later or equal\",\n description: \"Entered date/time must be equal or later compared to the provided date.\",\n defaultMessage: `Date/time is earlier than the provided one.`,\n renderSettings() {\n return <DateGteSettings />;\n },\n validate: async (value, { validator }) => {\n const { value: gteValue, type } = validator.settings;\n if (typeof gteValue === \"undefined\") {\n return true;\n } else if (type === \"time\") {\n return validation.validate(value, `timeGte:${gteValue}`);\n }\n return validation.validate(value, `dateGte:${gteValue}`);\n }\n }\n});\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA,SAASA,eAAT,GAA2B;EACvB,qBAAkB,IAAAC,oBAAA,GAAlB;EAAA,IAAQC,KAAR,kBAAQA,KAAR;;EACA,IAAMC,IAAI,GAAGD,KAAK,CAACE,QAAN,GAAiBF,KAAK,CAACE,QAAN,CAAeD,IAAhC,GAAuCE,SAApD;EACA,IAAMC,mBAAmB,GAAG,IAAAC,2CAAA,EAAuBJ,IAAvB,EAA6BK,IAA7B,CAAkC,GAAlC,CAA5B;EACA,oBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,GACK,UAAAC,IAAI,EAAI;IACL,IAAIA,IAAI,CAACC,KAAL,KAAeP,IAAnB,EAAyB;MACrBM,IAAI,CAACE,QAAL,CAAcR,IAAd;IACH;;IACD,oBAAO,2DAAP;EACH,CANL,CADJ,eASI,6BAAC,UAAD;IAAM,IAAI,EAAE,gBAAZ;IAA8B,UAAU,EAAES,sBAAA,CAAWC,MAAX,CAAkBP,mBAAlB;EAA1C,GACK,UAAAG,IAAI,EAAI;IACL,oBACI,4DACK,IAAAK,sCAAA,EAAiBZ,KAAjB,EAAwBO,IAAxB,CADL,eAEI,6BAAC,sCAAD,+DAFJ,CADJ;EAQH,CAVL,CATJ,CADJ,CADJ;AA0BH;;eAEc;EAAA,OAAqC;IAChDN,IAAI,EAAE,2BAD0C;IAEhDY,IAAI,EAAE,qCAF0C;IAGhDC,SAAS,EAAE;MACPD,IAAI,EAAE,SADC;MAEPE,KAAK,EAAE,gBAFA;MAGPC,WAAW,EAAE,yEAHN;MAIPC,cAAc,+CAJP;MAKPC,cALO,4BAKU;QACb,oBAAO,6BAAC,eAAD,OAAP;MACH,CAPM;MAQPC,QAAQ;QAAA,uGAAE,iBAAOX,KAAP;UAAA;;UAAA;YAAA;cAAA;gBAAA;kBAAgBM,SAAhB,QAAgBA,SAAhB;kBAAA,sBAC4BA,SAAS,CAACZ,QADtC,EACSkB,QADT,uBACEZ,KADF,EACmBP,IADnB,uBACmBA,IADnB;;kBAAA,MAEF,OAAOmB,QAAP,KAAoB,WAFlB;oBAAA;oBAAA;kBAAA;;kBAAA,iCAGK,IAHL;;gBAAA;kBAAA,MAIKnB,IAAI,KAAK,MAJd;oBAAA;oBAAA;kBAAA;;kBAAA,iCAKKS,sBAAA,CAAWS,QAAX,CAAoBX,KAApB,oBAAsCY,QAAtC,EALL;;gBAAA;kBAAA,iCAOCV,sBAAA,CAAWS,QAAX,CAAoBX,KAApB,oBAAsCY,QAAtC,EAPD;;gBAAA;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAF;;QAAA;UAAA;QAAA;;QAAA;MAAA;IARD;EAHqC,CAArC;AAAA,C"}
@@ -1,3 +1,3 @@
1
- import { CmsEditorFieldValidatorPlugin } from "../../../types";
2
- declare const _default: () => CmsEditorFieldValidatorPlugin;
1
+ import { CmsModelFieldValidatorPlugin } from "../../../types";
2
+ declare const _default: () => CmsModelFieldValidatorPlugin;
3
3
  export default _default;
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _react = _interopRequireDefault(require("react"));
11
15
 
12
16
  var _Grid = require("@webiny/ui/Grid");
@@ -19,37 +23,89 @@ var _FormElementMessage = require("@webiny/ui/FormElementMessage");
19
23
 
20
24
  var _availableValidators = require("./date/availableValidators");
21
25
 
26
+ var _hooks = require("../../hooks");
27
+
28
+ var _form = require("@webiny/form");
29
+
30
+ function DateLteSettings() {
31
+ var _useModelField = (0, _hooks.useModelField)(),
32
+ field = _useModelField.field;
33
+
34
+ var type = field.settings ? field.settings.type : undefined;
35
+ var availableValidators = (0, _availableValidators.getAvailableValidators)(type).join(",");
36
+ return /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
37
+ span: 12
38
+ }, /*#__PURE__*/_react.default.createElement(_form.Bind, {
39
+ name: "settings.type"
40
+ }, function (bind) {
41
+ if (bind.value !== type) {
42
+ bind.onChange(type);
43
+ }
44
+
45
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
46
+ }), /*#__PURE__*/_react.default.createElement(_form.Bind, {
47
+ name: "settings.value",
48
+ validators: _validation.validation.create(availableValidators)
49
+ }, function (bind) {
50
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _createDateInputField.createInputField)(field, bind), /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, null, "This is the latest date/time that will be allowed."));
51
+ })));
52
+ }
53
+
22
54
  var _default = function _default() {
23
55
  return {
24
- type: "cms-editor-field-validator",
56
+ type: "cms-model-field-validator",
25
57
  name: "cms-editor-field-validator-date-lte",
26
58
  validator: {
27
59
  name: "dateLte",
28
60
  label: "Earlier or equal",
29
61
  description: "Entered date/time must be equal or earlier compared to the provided date.",
30
62
  defaultMessage: "Date/time is later than the provided one.",
31
- renderSettings: function renderSettings(_ref) {
32
- var Bind = _ref.Bind,
33
- field = _ref.field;
34
- var type = field.settings ? field.settings.type : undefined;
35
- var availableValidators = (0, _availableValidators.getAvailableValidators)(type).join(",");
36
- return /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
37
- span: 12
38
- }, /*#__PURE__*/_react.default.createElement(Bind, {
39
- name: "settings.type"
40
- }, function (bind) {
41
- if (bind.value !== type) {
42
- bind.onChange(type);
43
- }
44
-
45
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
46
- }), /*#__PURE__*/_react.default.createElement(Bind, {
47
- name: "settings.value",
48
- validators: _validation.validation.create(availableValidators)
49
- }, function (bind) {
50
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _createDateInputField.createInputField)(field, bind), /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, null, "This is the latest date/time that will be allowed."));
51
- })));
52
- }
63
+ renderSettings: function renderSettings() {
64
+ return /*#__PURE__*/_react.default.createElement(DateLteSettings, null);
65
+ },
66
+ validate: function () {
67
+ var _validate = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(value, _ref) {
68
+ var validator, _validator$settings, lteValue, type;
69
+
70
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
71
+ while (1) {
72
+ switch (_context.prev = _context.next) {
73
+ case 0:
74
+ validator = _ref.validator;
75
+ _validator$settings = validator.settings, lteValue = _validator$settings.value, type = _validator$settings.type;
76
+
77
+ if (!(typeof lteValue === "undefined")) {
78
+ _context.next = 6;
79
+ break;
80
+ }
81
+
82
+ return _context.abrupt("return", true);
83
+
84
+ case 6:
85
+ if (!(type === "time")) {
86
+ _context.next = 8;
87
+ break;
88
+ }
89
+
90
+ return _context.abrupt("return", _validation.validation.validate(value, "timeLte:".concat(lteValue)));
91
+
92
+ case 8:
93
+ return _context.abrupt("return", _validation.validation.validate(value, "dateLte:".concat(lteValue)));
94
+
95
+ case 9:
96
+ case "end":
97
+ return _context.stop();
98
+ }
99
+ }
100
+ }, _callee);
101
+ }));
102
+
103
+ function validate(_x, _x2) {
104
+ return _validate.apply(this, arguments);
105
+ }
106
+
107
+ return validate;
108
+ }()
53
109
  }
54
110
  };
55
111
  };
@@ -1 +1 @@
1
- {"version":3,"names":["type","name","validator","label","description","defaultMessage","renderSettings","Bind","field","settings","undefined","availableValidators","getAvailableValidators","join","bind","value","onChange","validation","create","createInputField"],"sources":["dateLte.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorFieldValidatorPlugin } from \"~/types\";\nimport { createInputField } from \"./date/createDateInputField\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { getAvailableValidators } from \"./date/availableValidators\";\n\nexport default (): CmsEditorFieldValidatorPlugin => ({\n type: \"cms-editor-field-validator\",\n name: \"cms-editor-field-validator-date-lte\",\n validator: {\n name: \"dateLte\",\n label: \"Earlier or equal\",\n description: \"Entered date/time must be equal or earlier compared to the provided date.\",\n defaultMessage: `Date/time is later than the provided one.`,\n renderSettings({ Bind, field }) {\n const type = field.settings ? field.settings.type : undefined;\n const availableValidators = getAvailableValidators(type).join(\",\");\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"settings.type\"}>\n {bind => {\n if (bind.value !== type) {\n bind.onChange(type);\n }\n return <></>;\n }}\n </Bind>\n <Bind\n name={\"settings.value\"}\n validators={validation.create(availableValidators)}\n >\n {bind => {\n return (\n <>\n {createInputField(field, bind)}\n <FormElementMessage>\n This is the latest date/time that will be allowed.\n </FormElementMessage>\n </>\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n );\n }\n }\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;eAEe;EAAA,OAAsC;IACjDA,IAAI,EAAE,4BAD2C;IAEjDC,IAAI,EAAE,qCAF2C;IAGjDC,SAAS,EAAE;MACPD,IAAI,EAAE,SADC;MAEPE,KAAK,EAAE,kBAFA;MAGPC,WAAW,EAAE,2EAHN;MAIPC,cAAc,6CAJP;MAKPC,cALO,gCAKyB;QAAA,IAAfC,IAAe,QAAfA,IAAe;QAAA,IAATC,KAAS,QAATA,KAAS;QAC5B,IAAMR,IAAI,GAAGQ,KAAK,CAACC,QAAN,GAAiBD,KAAK,CAACC,QAAN,CAAeT,IAAhC,GAAuCU,SAApD;QACA,IAAMC,mBAAmB,GAAG,IAAAC,2CAAA,EAAuBZ,IAAvB,EAA6Ba,IAA7B,CAAkC,GAAlC,CAA5B;QACA,oBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;UAAM,IAAI,EAAE;QAAZ,gBACI,6BAAC,IAAD;UAAM,IAAI,EAAE;QAAZ,GACK,UAAAC,IAAI,EAAI;UACL,IAAIA,IAAI,CAACC,KAAL,KAAef,IAAnB,EAAyB;YACrBc,IAAI,CAACE,QAAL,CAAchB,IAAd;UACH;;UACD,oBAAO,2DAAP;QACH,CANL,CADJ,eASI,6BAAC,IAAD;UACI,IAAI,EAAE,gBADV;UAEI,UAAU,EAAEiB,sBAAA,CAAWC,MAAX,CAAkBP,mBAAlB;QAFhB,GAIK,UAAAG,IAAI,EAAI;UACL,oBACI,4DACK,IAAAK,sCAAA,EAAiBX,KAAjB,EAAwBM,IAAxB,CADL,eAEI,6BAAC,sCAAD,6DAFJ,CADJ;QAQH,CAbL,CATJ,CADJ,CADJ;MA6BH;IArCM;EAHsC,CAAtC;AAAA,C"}
1
+ {"version":3,"names":["DateLteSettings","useModelField","field","type","settings","undefined","availableValidators","getAvailableValidators","join","bind","value","onChange","validation","create","createInputField","name","validator","label","description","defaultMessage","renderSettings","validate","lteValue"],"sources":["dateLte.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { createInputField } from \"./date/createDateInputField\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { getAvailableValidators } from \"./date/availableValidators\";\nimport { useModelField } from \"~/admin/hooks\";\nimport { Bind } from \"@webiny/form\";\n\nfunction DateLteSettings() {\n const { field } = useModelField();\n const type = field.settings ? field.settings.type : undefined;\n const availableValidators = getAvailableValidators(type).join(\",\");\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"settings.type\"}>\n {bind => {\n if (bind.value !== type) {\n bind.onChange(type);\n }\n return <></>;\n }}\n </Bind>\n <Bind name={\"settings.value\"} validators={validation.create(availableValidators)}>\n {bind => {\n return (\n <>\n {createInputField(field, bind)}\n <FormElementMessage>\n This is the latest date/time that will be allowed.\n </FormElementMessage>\n </>\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n );\n}\n\nexport default (): CmsModelFieldValidatorPlugin => ({\n type: \"cms-model-field-validator\",\n name: \"cms-editor-field-validator-date-lte\",\n validator: {\n name: \"dateLte\",\n label: \"Earlier or equal\",\n description: \"Entered date/time must be equal or earlier compared to the provided date.\",\n defaultMessage: `Date/time is later than the provided one.`,\n renderSettings() {\n return <DateLteSettings />;\n },\n validate: async (value, { validator }) => {\n const { value: lteValue, type } = validator.settings;\n if (typeof lteValue === \"undefined\") {\n return true;\n } else if (type === \"time\") {\n return validation.validate(value, `timeLte:${lteValue}`);\n }\n return validation.validate(value, `dateLte:${lteValue}`);\n }\n }\n});\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA,SAASA,eAAT,GAA2B;EACvB,qBAAkB,IAAAC,oBAAA,GAAlB;EAAA,IAAQC,KAAR,kBAAQA,KAAR;;EACA,IAAMC,IAAI,GAAGD,KAAK,CAACE,QAAN,GAAiBF,KAAK,CAACE,QAAN,CAAeD,IAAhC,GAAuCE,SAApD;EACA,IAAMC,mBAAmB,GAAG,IAAAC,2CAAA,EAAuBJ,IAAvB,EAA6BK,IAA7B,CAAkC,GAAlC,CAA5B;EACA,oBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,GACK,UAAAC,IAAI,EAAI;IACL,IAAIA,IAAI,CAACC,KAAL,KAAeP,IAAnB,EAAyB;MACrBM,IAAI,CAACE,QAAL,CAAcR,IAAd;IACH;;IACD,oBAAO,2DAAP;EACH,CANL,CADJ,eASI,6BAAC,UAAD;IAAM,IAAI,EAAE,gBAAZ;IAA8B,UAAU,EAAES,sBAAA,CAAWC,MAAX,CAAkBP,mBAAlB;EAA1C,GACK,UAAAG,IAAI,EAAI;IACL,oBACI,4DACK,IAAAK,sCAAA,EAAiBZ,KAAjB,EAAwBO,IAAxB,CADL,eAEI,6BAAC,sCAAD,6DAFJ,CADJ;EAQH,CAVL,CATJ,CADJ,CADJ;AA0BH;;eAEc;EAAA,OAAqC;IAChDN,IAAI,EAAE,2BAD0C;IAEhDY,IAAI,EAAE,qCAF0C;IAGhDC,SAAS,EAAE;MACPD,IAAI,EAAE,SADC;MAEPE,KAAK,EAAE,kBAFA;MAGPC,WAAW,EAAE,2EAHN;MAIPC,cAAc,6CAJP;MAKPC,cALO,4BAKU;QACb,oBAAO,6BAAC,eAAD,OAAP;MACH,CAPM;MAQPC,QAAQ;QAAA,uGAAE,iBAAOX,KAAP;UAAA;;UAAA;YAAA;cAAA;gBAAA;kBAAgBM,SAAhB,QAAgBA,SAAhB;kBAAA,sBAC4BA,SAAS,CAACZ,QADtC,EACSkB,QADT,uBACEZ,KADF,EACmBP,IADnB,uBACmBA,IADnB;;kBAAA,MAEF,OAAOmB,QAAP,KAAoB,WAFlB;oBAAA;oBAAA;kBAAA;;kBAAA,iCAGK,IAHL;;gBAAA;kBAAA,MAIKnB,IAAI,KAAK,MAJd;oBAAA;oBAAA;kBAAA;;kBAAA,iCAKKS,sBAAA,CAAWS,QAAX,CAAoBX,KAApB,oBAAsCY,QAAtC,EALL;;gBAAA;kBAAA,iCAOCV,sBAAA,CAAWS,QAAX,CAAoBX,KAApB,oBAAsCY,QAAtC,EAPD;;gBAAA;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAF;;QAAA;UAAA;QAAA;;QAAA;MAAA;IARD;EAHqC,CAArC;AAAA,C"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldValidatorPlugin } from "../../../types";
2
+ export declare const dynamicZoneFieldValidator: CmsModelFieldValidatorPlugin;