@webiny/app-headless-cms 5.24.0 → 5.25.0-beta.2

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 (427) hide show
  1. package/HeadlessCMS.d.ts +4 -3
  2. package/HeadlessCMS.js.map +1 -0
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +27 -6
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -0
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +18 -2
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -0
  7. package/admin/components/ContentEntryForm/Fields.d.ts +1 -2
  8. package/admin/components/ContentEntryForm/Fields.js +1 -1
  9. package/admin/components/ContentEntryForm/Fields.js.map +1 -0
  10. package/admin/components/ContentEntryForm/Label.js.map +1 -0
  11. package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +1 -2
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -0
  13. package/admin/components/ContentEntryForm/functions/createValidators.d.ts +2 -1
  14. package/admin/components/ContentEntryForm/functions/createValidators.js +8 -5
  15. package/admin/components/ContentEntryForm/functions/createValidators.js.map +1 -0
  16. package/admin/components/ContentEntryForm/functions/getValue.d.ts +4 -3
  17. package/admin/components/ContentEntryForm/functions/getValue.js +0 -1
  18. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -0
  19. package/admin/components/ContentEntryForm/functions/setValue.d.ts +4 -3
  20. package/admin/components/ContentEntryForm/functions/setValue.js +0 -1
  21. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -0
  22. package/admin/components/ContentEntryForm/useBind.d.ts +3 -7
  23. package/admin/components/ContentEntryForm/useBind.js +6 -0
  24. package/admin/components/ContentEntryForm/useBind.js.map +1 -0
  25. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +2 -4
  26. package/admin/components/ContentEntryForm/useContentEntryForm.js +75 -26
  27. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -0
  28. package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -0
  29. package/admin/components/ContentModelEditor/Context.d.ts +9 -7
  30. package/admin/components/ContentModelEditor/Context.js +158 -36
  31. package/admin/components/ContentModelEditor/Context.js.map +1 -0
  32. package/admin/components/ContentModelEditor/Editor.d.ts +1 -1
  33. package/admin/components/ContentModelEditor/Editor.js +5 -3
  34. package/admin/components/ContentModelEditor/Editor.js.map +1 -0
  35. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -0
  36. package/admin/components/ContentModelEditor/Header.js.map +1 -0
  37. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -0
  38. package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +1 -1
  39. package/admin/components/ContentModelEditor/useContentModelEditor.js.map +1 -0
  40. package/admin/components/DragPreview.js +6 -1
  41. package/admin/components/DragPreview.js.map +1 -0
  42. package/admin/components/Draggable.js.map +1 -0
  43. package/admin/components/DropZone/Center.js.map +1 -0
  44. package/admin/components/DropZone/Horizontal.js +1 -1
  45. package/admin/components/DropZone/Horizontal.js.map +1 -0
  46. package/admin/components/DropZone/Vertical.js +1 -1
  47. package/admin/components/DropZone/Vertical.js.map +1 -0
  48. package/admin/components/DropZone/index.js.map +1 -0
  49. package/admin/components/Droppable.js.map +1 -0
  50. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -0
  51. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +14 -4
  52. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -0
  53. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +5 -1
  54. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -0
  55. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +9 -4
  56. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +13 -6
  57. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -0
  58. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.d.ts +2 -1
  59. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -0
  60. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.d.ts +2 -1
  61. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +0 -1
  62. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -0
  63. package/admin/components/FieldEditor/EditFieldDialog.d.ts +1 -1
  64. package/admin/components/FieldEditor/EditFieldDialog.js +35 -18
  65. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -0
  66. package/admin/components/FieldEditor/Field.js +2 -2
  67. package/admin/components/FieldEditor/Field.js.map +1 -0
  68. package/admin/components/FieldEditor/FieldEditor.js.map +1 -0
  69. package/admin/components/FieldEditor/FieldEditorContext.d.ts +9 -9
  70. package/admin/components/FieldEditor/FieldEditorContext.js +43 -15
  71. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -0
  72. package/admin/components/FieldEditor/Styled.d.ts +2 -3
  73. package/admin/components/FieldEditor/Styled.js.map +1 -0
  74. package/admin/components/FieldEditor/index.js.map +1 -0
  75. package/admin/components/FieldEditor/useFieldEditor.js.map +1 -0
  76. package/admin/components/FieldEditor/utils/deleteField.d.ts +5 -5
  77. package/admin/components/FieldEditor/utils/deleteField.js +4 -0
  78. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -0
  79. package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
  80. package/admin/components/FieldEditor/utils/getFieldPosition.js +3 -2
  81. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -0
  82. package/admin/components/FieldEditor/utils/index.js.map +1 -0
  83. package/admin/components/FieldEditor/utils/moveField.d.ts +2 -2
  84. package/admin/components/FieldEditor/utils/moveField.js +3 -1
  85. package/admin/components/FieldEditor/utils/moveField.js.map +1 -0
  86. package/admin/components/FieldEditor/utils/moveRow.js.map +1 -0
  87. package/admin/constants/statusLabels.js.map +1 -0
  88. package/admin/contexts/Cms/NetworkError.js.map +1 -0
  89. package/admin/contexts/Cms/index.js +22 -7
  90. package/admin/contexts/Cms/index.js.map +1 -0
  91. package/admin/elements/ContentGroupMenuElement.js.map +1 -0
  92. package/admin/elements/ContentModelMenuElement.js.map +1 -0
  93. package/admin/elements/NothingToShowElement.js.map +1 -0
  94. package/admin/graphql/contentEntries.d.ts +8 -8
  95. package/admin/graphql/contentEntries.js.map +1 -0
  96. package/admin/graphql/contentModels.d.ts +2 -2
  97. package/admin/graphql/contentModels.js.map +1 -0
  98. package/admin/graphql/createFieldsList.js.map +1 -0
  99. package/admin/hooks/index.js.map +1 -0
  100. package/admin/hooks/useApolloClient.js.map +1 -0
  101. package/admin/hooks/useCms.js.map +1 -0
  102. package/admin/hooks/useLazyQuery.d.ts +2 -1
  103. package/admin/hooks/useLazyQuery.js.map +1 -0
  104. package/admin/hooks/useMutation.d.ts +2 -1
  105. package/admin/hooks/useMutation.js.map +1 -0
  106. package/admin/hooks/usePermission.js +20 -19
  107. package/admin/hooks/usePermission.js.map +1 -0
  108. package/admin/hooks/useQuery.d.ts +2 -2
  109. package/admin/hooks/useQuery.js.map +1 -0
  110. package/admin/hooks/useQueryLocale.d.ts +2 -2
  111. package/admin/hooks/useQueryLocale.js.map +1 -0
  112. package/admin/menus/CmsMenuLoader.js.map +1 -0
  113. package/admin/menus/ContentGroupsMenuItems.js +1 -1
  114. package/admin/menus/ContentGroupsMenuItems.js.map +1 -0
  115. package/admin/menus/GlobalSearchPlugins.d.ts +0 -1
  116. package/admin/menus/GlobalSearchPlugins.js +1 -1
  117. package/admin/menus/GlobalSearchPlugins.js.map +1 -0
  118. package/admin/menus/NothingToShowElement.js.map +1 -0
  119. package/admin/plugins/apiInformation/index.js +3 -3
  120. package/admin/plugins/apiInformation/index.js.map +1 -0
  121. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -0
  122. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -0
  123. package/admin/plugins/editor/defaultBar/BackButton.js +4 -2
  124. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -0
  125. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -0
  126. package/admin/plugins/editor/defaultBar/Divider.d.ts +1 -2
  127. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -0
  128. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +11 -1
  129. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -0
  130. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -0
  131. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +2 -2
  132. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -0
  133. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -0
  134. package/admin/plugins/editor/defaultBar/Name/Name.js +1 -1
  135. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -0
  136. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +3 -4
  137. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -0
  138. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -0
  139. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +37 -32
  140. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -0
  141. package/admin/plugins/editor/defaultBar/index.d.ts +0 -1
  142. package/admin/plugins/editor/defaultBar/index.js.map +1 -0
  143. package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +0 -1
  144. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -0
  145. package/admin/plugins/editor/formSettings/components/GroupSelect.d.ts +0 -1
  146. package/admin/plugins/editor/formSettings/components/GroupSelect.js +1 -1
  147. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -0
  148. package/admin/plugins/editor/formSettings/index.js.map +1 -0
  149. package/admin/plugins/fieldRenderers/Accordion.d.ts +1 -1
  150. package/admin/plugins/fieldRenderers/Accordion.js +1 -1
  151. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -0
  152. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +7 -1
  153. package/admin/plugins/fieldRenderers/DynamicSection.js +7 -4
  154. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -0
  155. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +0 -1
  156. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -0
  157. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -0
  158. package/admin/plugins/fieldRenderers/checkboxes.js +11 -6
  159. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -0
  160. package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -1
  161. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +40 -9
  162. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -0
  163. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
  164. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +74 -18
  165. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -0
  166. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
  167. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +72 -16
  168. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -0
  169. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -0
  170. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -0
  171. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -0
  172. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +4 -4
  173. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -0
  174. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +15 -10
  175. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -0
  176. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -0
  177. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +3 -3
  178. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -0
  179. package/admin/plugins/fieldRenderers/file/File.d.ts +4 -4
  180. package/admin/plugins/fieldRenderers/file/File.js +9 -3
  181. package/admin/plugins/fieldRenderers/file/File.js.map +1 -0
  182. package/admin/plugins/fieldRenderers/file/fileField.js +4 -4
  183. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -0
  184. package/admin/plugins/fieldRenderers/file/fileFields.js +10 -5
  185. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -0
  186. package/admin/plugins/fieldRenderers/file/index.js.map +1 -0
  187. package/admin/plugins/fieldRenderers/file/utils.d.ts +0 -1
  188. package/admin/plugins/fieldRenderers/file/utils.js +2 -2
  189. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -0
  190. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -0
  191. package/admin/plugins/fieldRenderers/longText/longText.js +0 -1
  192. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -0
  193. package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -1
  194. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -0
  195. package/admin/plugins/fieldRenderers/number/index.js.map +1 -0
  196. package/admin/plugins/fieldRenderers/number/numberInput.js +0 -1
  197. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -0
  198. package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -1
  199. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -0
  200. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -0
  201. package/admin/plugins/fieldRenderers/object/index.js.map +1 -0
  202. package/admin/plugins/fieldRenderers/object/multipleObjects.js +5 -5
  203. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -0
  204. package/admin/plugins/fieldRenderers/object/singleObject.js +3 -2
  205. package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -0
  206. package/admin/plugins/fieldRenderers/radioButtons.js +11 -5
  207. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -0
  208. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -1
  209. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +2 -4
  210. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -0
  211. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -1
  212. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -0
  213. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.d.ts +3 -2
  214. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -0
  215. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +14 -8
  216. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -0
  217. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -0
  218. package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +4 -3
  219. package/admin/plugins/fieldRenderers/ref/components/getOptions.js +1 -1
  220. package/admin/plugins/fieldRenderers/ref/components/getOptions.js.map +1 -0
  221. package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +4 -14
  222. package/admin/plugins/fieldRenderers/ref/components/graphql.js +1 -1
  223. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -0
  224. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -0
  225. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +6 -11
  226. package/admin/plugins/fieldRenderers/ref/components/useReference.js +4 -3
  227. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -0
  228. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +3 -9
  229. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +1 -2
  230. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -0
  231. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -3
  232. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -0
  233. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +6 -1
  234. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -0
  235. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -0
  236. package/admin/plugins/fieldRenderers/ref/refInput.js +0 -1
  237. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -0
  238. package/admin/plugins/fieldRenderers/ref/refInputs.js +1 -2
  239. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -0
  240. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -0
  241. package/admin/plugins/fieldRenderers/richText/richTextInput.js +5 -1
  242. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -0
  243. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +9 -3
  244. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -0
  245. package/admin/plugins/fieldRenderers/select.js +28 -7
  246. package/admin/plugins/fieldRenderers/select.js.map +1 -0
  247. package/admin/plugins/fieldRenderers/text/index.js.map +1 -0
  248. package/admin/plugins/fieldRenderers/text/textInput.js +0 -1
  249. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -0
  250. package/admin/plugins/fieldRenderers/text/textInputs.js +1 -1
  251. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -0
  252. package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -1
  253. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -0
  254. package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +0 -1
  255. package/admin/plugins/fieldValidators/date/createDateInputField.js +5 -3
  256. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -0
  257. package/admin/plugins/fieldValidators/dateGte.js +1 -1
  258. package/admin/plugins/fieldValidators/dateGte.js.map +1 -0
  259. package/admin/plugins/fieldValidators/dateLte.js +1 -1
  260. package/admin/plugins/fieldValidators/dateLte.js.map +1 -0
  261. package/admin/plugins/fieldValidators/gte.js.map +1 -0
  262. package/admin/plugins/fieldValidators/in.js.map +1 -0
  263. package/admin/plugins/fieldValidators/lte.js.map +1 -0
  264. package/admin/plugins/fieldValidators/maxLength.js.map +1 -0
  265. package/admin/plugins/fieldValidators/minLength.js.map +1 -0
  266. package/admin/plugins/fieldValidators/pattern.js +6 -0
  267. package/admin/plugins/fieldValidators/pattern.js.map +1 -0
  268. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -0
  269. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -0
  270. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -0
  271. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -0
  272. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -0
  273. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -0
  274. package/admin/plugins/fieldValidators/required.js.map +1 -0
  275. package/admin/plugins/fieldValidators/unique.js.map +1 -0
  276. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -0
  277. package/admin/plugins/fields/boolean.js.map +1 -0
  278. package/admin/plugins/fields/dateTime.js.map +1 -0
  279. package/admin/plugins/fields/file.js +2 -2
  280. package/admin/plugins/fields/file.js.map +1 -0
  281. package/admin/plugins/fields/longText.js.map +1 -0
  282. package/admin/plugins/fields/number.js.map +1 -0
  283. package/admin/plugins/fields/object/ObjectFields.js +2 -2
  284. package/admin/plugins/fields/object/ObjectFields.js.map +1 -0
  285. package/admin/plugins/fields/object.js +1 -1
  286. package/admin/plugins/fields/object.js.map +1 -0
  287. package/admin/plugins/fields/ref.js +5 -5
  288. package/admin/plugins/fields/ref.js.map +1 -0
  289. package/admin/plugins/fields/richText.js.map +1 -0
  290. package/admin/plugins/fields/text.js.map +1 -0
  291. package/admin/plugins/getObjectId.js.map +1 -0
  292. package/admin/plugins/icons.js +10 -3
  293. package/admin/plugins/icons.js.map +1 -0
  294. package/admin/plugins/index.d.ts +0 -1
  295. package/admin/plugins/index.js.map +1 -0
  296. package/admin/plugins/install.js +11 -7
  297. package/admin/plugins/install.js.map +1 -0
  298. package/admin/plugins/permissionRenderer/CmsPermissions.js +14 -9
  299. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -0
  300. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +2 -2
  301. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +7 -6
  302. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -0
  303. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +2 -2
  304. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +7 -6
  305. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -0
  306. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -0
  307. package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +2 -2
  308. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +7 -6
  309. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -0
  310. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -0
  311. package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +1 -1
  312. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +13 -1
  313. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -0
  314. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +1 -2
  315. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -0
  316. package/admin/plugins/permissionRenderer/components/types.js.map +1 -0
  317. package/admin/plugins/permissionRenderer/components/useCmsData.js +4 -6
  318. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -0
  319. package/admin/plugins/permissionRenderer/index.js.map +1 -0
  320. package/admin/plugins/routes.js.map +1 -0
  321. package/admin/plugins/transformers/dateTransformer.js +20 -24
  322. package/admin/plugins/transformers/dateTransformer.js.map +1 -0
  323. package/admin/plugins/transformers/index.js.map +1 -0
  324. package/admin/plugins/transformers/numberTransformer.js.map +1 -0
  325. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.d.ts +1 -1
  326. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -0
  327. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.d.ts +2 -2
  328. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -0
  329. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -0
  330. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -0
  331. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -0
  332. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -0
  333. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.d.ts +2 -2
  334. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -0
  335. package/admin/plugins/upgrades/5.19.0/types.js.map +1 -0
  336. package/admin/plugins/upgrades/v5.0.0.d.ts +0 -1
  337. package/admin/plugins/upgrades/v5.0.0.js.map +1 -0
  338. package/admin/plugins/upgrades/v5.19.0.d.ts +0 -1
  339. package/admin/plugins/upgrades/v5.19.0.js.map +1 -0
  340. package/admin/plugins/upgrades/v5.5.0.d.ts +0 -1
  341. package/admin/plugins/upgrades/v5.5.0.js.map +1 -0
  342. package/admin/plugins/upgrades/v5.8.0.d.ts +0 -1
  343. package/admin/plugins/upgrades/v5.8.0.js.map +1 -0
  344. package/admin/plugins/validators/dateGte.js.map +1 -0
  345. package/admin/plugins/validators/dateLte.js.map +1 -0
  346. package/admin/plugins/validators/gte.js.map +1 -0
  347. package/admin/plugins/validators/in.js.map +1 -0
  348. package/admin/plugins/validators/lte.js.map +1 -0
  349. package/admin/plugins/validators/maxLength.js.map +1 -0
  350. package/admin/plugins/validators/minLength.js.map +1 -0
  351. package/admin/plugins/validators/pattern.js.map +1 -0
  352. package/admin/plugins/validators/patternPlugins/email.js.map +1 -0
  353. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
  354. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  355. package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -0
  356. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  357. package/admin/plugins/validators/patternPlugins/url.js.map +1 -0
  358. package/admin/plugins/validators/required.js.map +1 -0
  359. package/admin/plugins/validators/timeGte.js.map +1 -0
  360. package/admin/plugins/validators/timeLte.js.map +1 -0
  361. package/admin/plugins/validators/unique.js.map +1 -0
  362. package/admin/plugins/welcomeScreenWidget.js.map +1 -0
  363. package/admin/views/contentEntries/ContentEntries.js +2 -2
  364. package/admin/views/contentEntries/ContentEntries.js.map +1 -0
  365. package/admin/views/contentEntries/ContentEntriesContext.js +13 -4
  366. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -0
  367. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -0
  368. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +10 -7
  369. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +85 -4
  370. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -0
  371. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +4 -2
  372. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -0
  373. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -0
  374. package/admin/views/contentEntries/ContentEntry/cache.js +19 -23
  375. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -0
  376. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -0
  377. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +15 -8
  378. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -0
  379. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -0
  380. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -2
  381. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -0
  382. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -0
  383. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +8 -7
  384. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -0
  385. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +2 -2
  386. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -0
  387. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +2 -2
  388. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -0
  389. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -1
  390. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -0
  391. package/admin/views/contentEntries/ContentEntry/useRevision.js +105 -47
  392. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -0
  393. package/admin/views/contentEntries/ContentEntry.js.map +1 -0
  394. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -0
  395. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -2
  396. package/admin/views/contentEntries/hooks/useContentEntriesList.js +4 -4
  397. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -0
  398. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -0
  399. package/admin/views/contentModelGroups/ContentModelGroups.js +4 -3
  400. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -0
  401. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +6 -3
  402. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -0
  403. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +23 -8
  404. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -0
  405. package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -0
  406. package/admin/views/contentModelGroups/IconPicker.js +11 -3
  407. package/admin/views/contentModelGroups/IconPicker.js.map +1 -0
  408. package/admin/views/contentModelGroups/graphql.js.map +1 -0
  409. package/admin/views/contentModels/CloneContentModelDialog.js +25 -34
  410. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -0
  411. package/admin/views/contentModels/ContentModelEditor.js +2 -2
  412. package/admin/views/contentModels/ContentModelEditor.js.map +1 -0
  413. package/admin/views/contentModels/ContentModels.js +5 -4
  414. package/admin/views/contentModels/ContentModels.js.map +1 -0
  415. package/admin/views/contentModels/ContentModelsDataList.js +9 -2
  416. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -0
  417. package/admin/views/contentModels/NewContentModelDialog.js +17 -3
  418. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -0
  419. package/admin/views/contentModels/cache.js +38 -12
  420. package/admin/views/contentModels/cache.js.map +1 -0
  421. package/admin/views/contentModels/types.js.map +1 -0
  422. package/admin/views/utils.js.map +1 -0
  423. package/admin/viewsGraphql.js.map +1 -0
  424. package/index.js.map +1 -0
  425. package/package.json +26 -25
  426. package/types.d.ts +41 -7
  427. package/types.js.map +1 -0
@@ -1,5 +1,7 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
2
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
5
  import React, { useEffect } from "react";
4
6
  import { Input } from "./Input";
5
7
  import { Select } from "./Select";
@@ -84,17 +86,44 @@ export var DateTimeWithTimezone = function DateTimeWithTimezone(_ref) {
84
86
  }, /*#__PURE__*/React.createElement(Input, {
85
87
  bind: _objectSpread(_objectSpread({}, bind), {}, {
86
88
  value: date,
87
- onChange: function onChange(value) {
88
- if (!value) {
89
- if (!bind.value) {
90
- return null;
91
- }
92
-
93
- return bind.onChange("");
89
+ onChange: function () {
90
+ var _onChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(value) {
91
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
92
+ while (1) {
93
+ switch (_context.prev = _context.next) {
94
+ case 0:
95
+ if (value) {
96
+ _context.next = 4;
97
+ break;
98
+ }
99
+
100
+ if (bind.value) {
101
+ _context.next = 3;
102
+ break;
103
+ }
104
+
105
+ return _context.abrupt("return");
106
+
107
+ case 3:
108
+ return _context.abrupt("return", bind.onChange(""));
109
+
110
+ case 4:
111
+ return _context.abrupt("return", bind.onChange("".concat(value, "T").concat(time || getCurrentLocalTime()).concat(timezone || defaultTimeZone)));
112
+
113
+ case 5:
114
+ case "end":
115
+ return _context.stop();
116
+ }
117
+ }
118
+ }, _callee);
119
+ }));
120
+
121
+ function onChange(_x) {
122
+ return _onChange.apply(this, arguments);
94
123
  }
95
124
 
96
- return bind.onChange("".concat(value, "T").concat(time || getCurrentLocalTime()).concat(timezone || defaultTimeZone));
97
- }
125
+ return onChange;
126
+ }()
98
127
  }),
99
128
  field: _objectSpread(_objectSpread({}, field), {}, {
100
129
  label: "".concat(field.label, " date")
@@ -105,17 +134,44 @@ export var DateTimeWithTimezone = function DateTimeWithTimezone(_ref) {
105
134
  }, /*#__PURE__*/React.createElement(Input, {
106
135
  bind: _objectSpread(_objectSpread({}, bind), {}, {
107
136
  value: time,
108
- onChange: function onChange(value) {
109
- if (!value) {
110
- if (!bind.value) {
111
- return null;
112
- }
113
-
114
- return bind.onChange("");
137
+ onChange: function () {
138
+ var _onChange2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(value) {
139
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
140
+ while (1) {
141
+ switch (_context2.prev = _context2.next) {
142
+ case 0:
143
+ if (value) {
144
+ _context2.next = 4;
145
+ break;
146
+ }
147
+
148
+ if (bind.value) {
149
+ _context2.next = 3;
150
+ break;
151
+ }
152
+
153
+ return _context2.abrupt("return");
154
+
155
+ case 3:
156
+ return _context2.abrupt("return", bind.onChange(""));
157
+
158
+ case 4:
159
+ return _context2.abrupt("return", bind.onChange("".concat(date || getCurrentDate(), "T").concat(value).concat(timezone || defaultTimeZone)));
160
+
161
+ case 5:
162
+ case "end":
163
+ return _context2.stop();
164
+ }
165
+ }
166
+ }, _callee2);
167
+ }));
168
+
169
+ function onChange(_x2) {
170
+ return _onChange2.apply(this, arguments);
115
171
  }
116
172
 
117
- return bind.onChange("".concat(date || getCurrentDate(), "T").concat(value).concat(timezone || defaultTimeZone));
118
- }
173
+ return onChange;
174
+ }()
119
175
  }),
120
176
  field: _objectSpread(_objectSpread({}, field), {}, {
121
177
  label: "".concat(field.label, " time")
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["DateTimeWithTimezone.tsx"],"names":["React","useEffect","Input","Select","Grid","Cell","UTC_TIMEZONES","RemoveFieldButton","getDefaultFieldValue","DEFAULT_TIMEZONE","getCurrentDate","getCurrentLocalTime","getCurrentTimeZone","parseDateTime","value","date","rest","split","formattedDate","Error","parseTime","time","timezone","sign","includes","fullTime","zone","DateTimeWithTimezone","bind","trailingIcon","field","defaultTimeZone","initialValue","Date","bindValue","onChange","cellSize","label","map","t"],"mappings":"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","sourcesContent":["import React, { useEffect } from \"react\";\nimport { Input } from \"./Input\";\nimport { Select } from \"./Select\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n UTC_TIMEZONES,\n RemoveFieldButton,\n getDefaultFieldValue,\n DEFAULT_TIMEZONE,\n getCurrentDate,\n getCurrentLocalTime,\n getCurrentTimeZone\n} from \"./utils\";\nimport { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n timezone: string;\n}\n\nconst parseDateTime = (value?: string): Pick<State, \"date\"> & { rest: string } => {\n if (!value || typeof value !== \"string\") {\n return {\n date: \"\",\n rest: \"\"\n };\n }\n const [formattedDate, rest] = value.split(\"T\");\n if (!formattedDate || !rest) {\n throw new Error(`Could not extract date and time from \"${value}\".`);\n }\n return {\n date: formattedDate,\n rest\n };\n};\n\nconst parseTime = (value?: string): Pick<State, \"time\" | \"timezone\"> => {\n if (!value) {\n return {\n time: \"\",\n timezone: \"\"\n };\n }\n const sign = value.includes(\"+\") ? \"+\" : \"-\";\n const [fullTime, zone] = value.split(sign);\n\n return {\n time: fullTime,\n timezone: sign + zone\n };\n};\n\nexport interface DateTimeWithTimezoneProps {\n bind: BindComponentRenderProp;\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon?: any;\n field: CmsEditorField;\n}\nexport const DateTimeWithTimezone: React.FC<DateTimeWithTimezoneProps> = ({\n bind,\n trailingIcon,\n field\n}) => {\n const defaultTimeZone = getCurrentTimeZone() || DEFAULT_TIMEZONE;\n\n // \"2020-05-18T09:00+10:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)}T${getCurrentLocalTime(date)}${defaultTimeZone}`;\n });\n const { date, rest } = parseDateTime(initialValue);\n const { time, timezone = defaultTimeZone } = parseTime(rest);\n\n const bindValue = bind.value || \"\";\n useEffect(() => {\n if (!date || !time || !timezone || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 3 : 4;\n\n return (\n <Grid>\n <Cell span={4}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async (value: string) => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${value}T${time || getCurrentLocalTime()}${\n timezone || defaultTimeZone\n }`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={4}>\n <Input\n bind={{\n ...bind,\n value: time,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${date || getCurrentDate()}T${value}${timezone || defaultTimeZone}`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={5}\n />\n </Cell>\n <Cell span={cellSize}>\n <Select\n label=\"Timezone\"\n value={timezone || defaultTimeZone}\n onChange={value => {\n if (!value) {\n if (!bind.value) {\n return null;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${date || getCurrentDate()}T${time || getCurrentLocalTime()}${value}`\n );\n }}\n options={UTC_TIMEZONES.map(t => ({ value: t.value, label: t.label }))}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"]}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import { CmsEditorField } from "../../../../types";
3
3
  import { BindComponentRenderProp } from "@webiny/form";
4
- export interface Props {
4
+ export interface DateTimeWithoutTimezoneProps {
5
5
  bind: BindComponentRenderProp;
6
6
  trailingIcon?: any;
7
7
  field: CmsEditorField;
8
8
  }
9
- export declare const DateTimeWithoutTimezone: React.FunctionComponent<Props>;
9
+ export declare const DateTimeWithoutTimezone: React.FC<DateTimeWithoutTimezoneProps>;
@@ -1,5 +1,7 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
2
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
5
  import React, { useEffect } from "react";
4
6
  import { Grid, Cell } from "@webiny/ui/Grid";
5
7
  import { getCurrentDate, getCurrentLocalTime, getDefaultFieldValue, RemoveFieldButton } from "./utils";
@@ -72,17 +74,44 @@ export var DateTimeWithoutTimezone = function DateTimeWithoutTimezone(_ref) {
72
74
  }, /*#__PURE__*/React.createElement(Input, {
73
75
  bind: _objectSpread(_objectSpread({}, bind), {}, {
74
76
  value: date,
75
- onChange: function onChange(value) {
76
- if (!value) {
77
- if (!bind.value) {
78
- return null;
79
- }
77
+ onChange: function () {
78
+ var _onChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(value) {
79
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
80
+ while (1) {
81
+ switch (_context.prev = _context.next) {
82
+ case 0:
83
+ if (value) {
84
+ _context.next = 4;
85
+ break;
86
+ }
80
87
 
81
- return bind.onChange("");
88
+ if (bind.value) {
89
+ _context.next = 3;
90
+ break;
91
+ }
92
+
93
+ return _context.abrupt("return");
94
+
95
+ case 3:
96
+ return _context.abrupt("return", bind.onChange(""));
97
+
98
+ case 4:
99
+ return _context.abrupt("return", bind.onChange("".concat(value, " ").concat(time || getCurrentLocalTime())));
100
+
101
+ case 5:
102
+ case "end":
103
+ return _context.stop();
104
+ }
105
+ }
106
+ }, _callee);
107
+ }));
108
+
109
+ function onChange(_x) {
110
+ return _onChange.apply(this, arguments);
82
111
  }
83
112
 
84
- return bind.onChange("".concat(value, " ").concat(time || getCurrentLocalTime()));
85
- }
113
+ return onChange;
114
+ }()
86
115
  }),
87
116
  field: _objectSpread(_objectSpread({}, field), {}, {
88
117
  label: "".concat(field.label, " date")
@@ -93,17 +122,44 @@ export var DateTimeWithoutTimezone = function DateTimeWithoutTimezone(_ref) {
93
122
  }, /*#__PURE__*/React.createElement(Input, {
94
123
  bind: _objectSpread(_objectSpread({}, bind), {}, {
95
124
  value: time,
96
- onChange: function onChange(value) {
97
- if (!value) {
98
- if (!bind.value) {
99
- return null;
100
- }
125
+ onChange: function () {
126
+ var _onChange2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(value) {
127
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
128
+ while (1) {
129
+ switch (_context2.prev = _context2.next) {
130
+ case 0:
131
+ if (value) {
132
+ _context2.next = 4;
133
+ break;
134
+ }
135
+
136
+ if (bind.value) {
137
+ _context2.next = 3;
138
+ break;
139
+ }
140
+
141
+ return _context2.abrupt("return");
142
+
143
+ case 3:
144
+ return _context2.abrupt("return", bind.onChange(""));
145
+
146
+ case 4:
147
+ return _context2.abrupt("return", bind.onChange("".concat(date || getCurrentDate(), " ").concat(value)));
148
+
149
+ case 5:
150
+ case "end":
151
+ return _context2.stop();
152
+ }
153
+ }
154
+ }, _callee2);
155
+ }));
101
156
 
102
- return bind.onChange("");
157
+ function onChange(_x2) {
158
+ return _onChange2.apply(this, arguments);
103
159
  }
104
160
 
105
- return bind.onChange("".concat(date || getCurrentDate(), " ").concat(value));
106
- }
161
+ return onChange;
162
+ }()
107
163
  }),
108
164
  field: _objectSpread(_objectSpread({}, field), {}, {
109
165
  label: "".concat(field.label, " time")
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["DateTimeWithoutTimezone.tsx"],"names":["React","useEffect","Grid","Cell","getCurrentDate","getCurrentLocalTime","getDefaultFieldValue","RemoveFieldButton","Input","parseDateTime","value","date","time","includes","split","console","error","DateTimeWithoutTimezone","field","bind","trailingIcon","initialValue","Date","bindValue","onChange","cellSize","label"],"mappings":"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","sourcesContent":["import React, { useEffect } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n getCurrentDate,\n getCurrentLocalTime,\n getDefaultFieldValue,\n RemoveFieldButton\n} from \"./utils\";\nimport { Input } from \"./Input\";\nimport { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n}\n\nconst parseDateTime = (value?: string): State => {\n if (!value) {\n return {\n date: \"\",\n time: \"\"\n };\n }\n if (value.includes(\"T\")) {\n const [date, time] = value.split(\".\")[0].split(\"T\");\n return {\n date,\n time\n };\n }\n const [date, time] = value.split(\" \");\n if (!date || !time) {\n console.error(`Could not extract date and time from \"${value}\".`);\n\n return {\n date: \"\",\n time: \"\"\n };\n }\n return {\n date,\n time\n };\n};\n\nexport interface DateTimeWithoutTimezoneProps {\n bind: BindComponentRenderProp;\n trailingIcon?: any;\n field: CmsEditorField;\n}\nexport const DateTimeWithoutTimezone: React.FC<DateTimeWithoutTimezoneProps> = ({\n field,\n bind,\n trailingIcon\n}) => {\n // \"2020-05-18 09:00:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)} ${getCurrentLocalTime(date)}`;\n });\n\n const { date, time } = parseDateTime(initialValue);\n\n const bindValue = bind.value || \"\";\n\n useEffect(() => {\n if (!date || !time || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 5 : 6;\n\n return (\n <Grid>\n <Cell span={6}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${value} ${time || getCurrentLocalTime()}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={cellSize}>\n <Input\n bind={{\n ...bind,\n value: time,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${date || getCurrentDate()} ${value}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={5}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Input.tsx"],"names":["React","Input","UiInput","bind","props","value","type","parseFloat","onChange","field","label","placeholderText","helpText","trailingIcon"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAGA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,kBAAjC;AAeA,OAAO,IAAMD,KAA2B,GAAG,SAA9BA,KAA8B,OAAwB;AAAA,MAArBE,IAAqB,QAArBA,IAAqB;AAAA,MAAZC,KAAY;;AAC/D,sBACI,oBAAC,OAAD,oBACQA,KADR,EAEQD,IAFR;AAGI,IAAA,QAAQ,EAAE,kBAAAE,KAAK,EAAI;AACf,UAAID,KAAK,CAACE,IAAN,KAAe,QAAnB,EAA6B;AACzBD,QAAAA,KAAK,GAAGE,UAAU,CAACF,KAAD,CAAlB;AACH;;AACD,aAAOF,IAAI,CAACK,QAAL,CAAcH,KAAd,CAAP;AACH,KARL;AASI,IAAA,KAAK,EAAED,KAAK,CAACK,KAAN,CAAYC,KATvB;AAUI,IAAA,WAAW,EAAEN,KAAK,CAACK,KAAN,CAAYE,eAV7B;AAWI,IAAA,WAAW,EAAEP,KAAK,CAACK,KAAN,CAAYG,QAX7B;AAYI,IAAA,IAAI,EAAER,KAAK,CAACE,IAZhB;AAaI,IAAA,YAAY,EAAEF,KAAK,CAACS;AAbxB,KADJ;AAiBH,CAlBM","sourcesContent":["import * as React from \"react\";\nimport { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { Input as UiInput } from \"@webiny/ui/Input\";\n\nexport interface TrailingIcon {\n icon: React.ReactNode;\n onClick: any;\n}\n\nexport interface InputProps {\n step?: number;\n type?: string;\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n trailingIcon?: TrailingIcon;\n}\n\nexport const Input: React.FC<InputProps> = ({ bind, ...props }) => {\n return (\n <UiInput\n {...props}\n {...bind}\n onChange={value => {\n if (props.type === \"number\") {\n value = parseFloat(value);\n }\n return bind.onChange(value);\n }}\n label={props.field.label}\n placeholder={props.field.placeholderText}\n description={props.field.helpText}\n type={props.type}\n trailingIcon={props.trailingIcon}\n />\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Select.tsx"],"names":["React","Select","UiSelect","props","options","map","t","value","label"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,MAAM,IAAIC,QAAnB,QAAmE,mBAAnE;AAUA,OAAO,IAAMD,MAA6B,GAAG,SAAhCA,MAAgC,CAAAE,KAAK,EAAI;AAClD,sBACI,oBAAC,QAAD,EAAcA,KAAd,EACKA,KAAK,CAACC,OAAN,CAAcC,GAAd,CAAkB,UAAAC,CAAC,EAAI;AACpB,wBACI;AAAQ,MAAA,GAAG,EAAEA,CAAC,CAACC,KAAf;AAAsB,MAAA,KAAK,EAAED,CAAC,CAACC;AAA/B,OACKD,CAAC,CAACE,KADP,CADJ;AAKH,GANA,CADL,CADJ;AAWH,CAZM","sourcesContent":["import * as React from \"react\";\nimport { Select as UiSelect, SelectProps as BaseSelectProps } from \"@webiny/ui/Select\";\n\nexport interface Option {\n value: string;\n label: string;\n}\n\nexport interface SelectProps extends BaseSelectProps {\n options: Option[];\n}\nexport const Select: React.FC<SelectProps> = props => {\n return (\n <UiSelect {...props}>\n {props.options.map(t => {\n return (\n <option key={t.value} value={t.value}>\n {t.label}\n </option>\n );\n })}\n </UiSelect>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Time.tsx"],"names":["React","useEffect","Input","getCurrentLocalTime","getDefaultFieldValue","Time","props","field","bind","time","Date","bindValue","value","onChange"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,SAASC,KAAT;AACA,SACIC,mBADJ,EAEIC,oBAFJ;AAKA,OAAO,IAAMC,IAA0B,GAAG,SAA7BA,IAA6B,CAAAC,KAAK,EAAI;AAC/C,MAAQC,KAAR,GAAwBD,KAAxB,CAAQC,KAAR;AAAA,MAAeC,IAAf,GAAwBF,KAAxB,CAAeE,IAAf;AACA,MAAMC,IAAI,GAAGL,oBAAoB,CAACG,KAAD,EAAQC,IAAR,EAAc,YAAM;AACjD,WAAOL,mBAAmB,CAAC,IAAIO,IAAJ,EAAD,CAA1B;AACH,GAFgC,CAAjC;AAIA,MAAMC,SAAS,GAAGH,IAAI,CAACI,KAAL,IAAc,EAAhC;AAEAX,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAI,CAACQ,IAAD,IAASE,SAAS,KAAKF,IAA3B,EAAiC;AAC7B;AACH;;AACDD,IAAAA,IAAI,CAACK,QAAL,CAAcJ,IAAd;AACH,GALQ,EAKN,CAACE,SAAD,CALM,CAAT;AAOA,sBACI,oBAAC,KAAD,oBACQL,KADR;AAEI,IAAA,IAAI,kCACGE,IADH;AAEAI,MAAAA,KAAK,EAAEH,IAFP;AAGAI,MAAAA,QAAQ;AAAA,iFAAE,iBAAOD,KAAP;AAAA;AAAA;AAAA;AAAA;AAAA,sBACDA,KADC;AAAA;AAAA;AAAA;;AAAA,uBAEEJ,IAAI,CAACI,KAFP;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,mDAKKJ,IAAI,CAACK,QAAL,CAAc,EAAd,CALL;;AAAA;AAAA,mDAOCL,IAAI,CAACK,QAAL,CAAcD,KAAd,CAPD;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAHR,MAFR;AAeI,IAAA,IAAI,EAAE,MAfV;AAgBI,IAAA,IAAI,EAAE;AAhBV,KADJ;AAoBH,CAnCM","sourcesContent":["import React, { useEffect } from \"react\";\nimport { Input, InputProps } from \"./Input\";\nimport {\n getCurrentLocalTime,\n getDefaultFieldValue\n} from \"~/admin/plugins/fieldRenderers/dateTime/utils\";\n\nexport const Time: React.FC<InputProps> = props => {\n const { field, bind } = props;\n const time = getDefaultFieldValue(field, bind, () => {\n return getCurrentLocalTime(new Date());\n });\n\n const bindValue = bind.value || \"\";\n\n useEffect(() => {\n if (!time || bindValue === time) {\n return;\n }\n bind.onChange(time);\n }, [bindValue]);\n\n return (\n <Input\n {...props}\n bind={{\n ...bind,\n value: time,\n onChange: async (value: string): Promise<void> => {\n if (!value) {\n if (bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(value);\n }\n }}\n type={\"time\"}\n step={5}\n />\n );\n};\n"]}
@@ -2,7 +2,6 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject, _templateObject2;
4
4
 
5
- // TODO @ts-refactor figure out correct bind types and remove any
6
5
  import React from "react";
7
6
  import get from "lodash/get";
8
7
  import { i18n } from "@webiny/app/i18n";
@@ -26,18 +25,19 @@ var plugin = {
26
25
  var field = _ref2.field,
27
26
  getBind = _ref2.getBind;
28
27
  var Bind = getBind();
28
+ var fieldSettingsType = field.settings ? field.settings.type : null;
29
29
  return /*#__PURE__*/React.createElement(Bind, null, function (bind) {
30
- if (field.settings.type === "dateTimeWithoutTimezone") {
30
+ if (fieldSettingsType === "dateTimeWithoutTimezone") {
31
31
  return /*#__PURE__*/React.createElement(DateTimeWithoutTimezone, {
32
32
  field: field,
33
33
  bind: bind
34
34
  });
35
- } else if (field.settings.type === "dateTimeWithTimezone") {
35
+ } else if (fieldSettingsType === "dateTimeWithTimezone") {
36
36
  return /*#__PURE__*/React.createElement(DateTimeWithTimezone, {
37
37
  field: field,
38
38
  bind: bind
39
39
  });
40
- } else if (field.settings.type === "time") {
40
+ } else if (fieldSettingsType === "time") {
41
41
  return /*#__PURE__*/React.createElement(Time, {
42
42
  field: field,
43
43
  bind: bind
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dateTimeField.tsx"],"names":["React","get","i18n","DateOnly","DateTimeWithoutTimezone","DateTimeWithTimezone","Time","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","getBind","Bind","fieldSettingsType","settings","bind"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,GAAP,MAAgB,YAAhB;AAEA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,QAAT;AACA,SAASC,uBAAT;AACA,SAASC,oBAAT;AACA,SAASC,IAAT;AAEA,IAAMC,CAAC,GAAGL,IAAI,CAACM,EAAL,CAAQ,yCAAR,CAAV;AAEA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,qCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,iBADR;AAENF,IAAAA,IAAI,EAAEJ,CAAF,oFAFE;AAGNO,IAAAA,WAAW,EAAEP,CAAF,0HAHL;AAINQ,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aACIA,KAAK,CAACN,IAAN,KAAe,UAAf,IACA,CAACM,KAAK,CAACC,cADP,IAEA,CAAChB,GAAG,CAACe,KAAD,EAAQ,0BAAR,CAHR;AAKH,KAVK;AAWNE,IAAAA,MAXM,yBAWqB;AAAA,UAAlBF,KAAkB,SAAlBA,KAAkB;AAAA,UAAXG,OAAW,SAAXA,OAAW;AACvB,UAAMC,IAAI,GAAGD,OAAO,EAApB;AAEA,UAAME,iBAAiB,GAAGL,KAAK,CAACM,QAAN,GAAiBN,KAAK,CAACM,QAAN,CAAeZ,IAAhC,GAAuC,IAAjE;AAEA,0BACI,oBAAC,IAAD,QACK,UAAAa,IAAI,EAAI;AACL,YAAIF,iBAAiB,KAAK,yBAA1B,EAAqD;AACjD,8BAAO,oBAAC,uBAAD;AAAyB,YAAA,KAAK,EAAEL,KAAhC;AAAuC,YAAA,IAAI,EAAEO;AAA7C,YAAP;AACH,SAFD,MAEO,IAAIF,iBAAiB,KAAK,sBAA1B,EAAkD;AACrD,8BAAO,oBAAC,oBAAD;AAAsB,YAAA,KAAK,EAAEL,KAA7B;AAAoC,YAAA,IAAI,EAAEO;AAA1C,YAAP;AACH,SAFM,MAEA,IAAIF,iBAAiB,KAAK,MAA1B,EAAkC;AACrC,8BAAO,oBAAC,IAAD;AAAM,YAAA,KAAK,EAAEL,KAAb;AAAoB,YAAA,IAAI,EAAEO;AAA1B,YAAP;AACH;;AACD,4BAAO,oBAAC,QAAD;AAAU,UAAA,IAAI,EAAEA,IAAhB;AAAsB,UAAA,KAAK,EAAEP;AAA7B,UAAP;AACH,OAVL,CADJ;AAcH;AA9BK;AAH+B,CAA7C;AAqCA,eAAeP,MAAf","sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { DateOnly } from \"./DateOnly\";\nimport { DateTimeWithoutTimezone } from \"./DateTimeWithoutTimezone\";\nimport { DateTimeWithTimezone } from \"./DateTimeWithTimezone\";\nimport { Time } from \"./Time\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/date-time\");\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-date-time\",\n renderer: {\n rendererName: \"date-time-input\",\n name: t`Date/Time Input`,\n description: t`Renders input for various formats of date and time.`,\n canUse({ field }) {\n return (\n field.type === \"datetime\" &&\n !field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const fieldSettingsType = field.settings ? field.settings.type : null;\n\n return (\n <Bind>\n {bind => {\n if (fieldSettingsType === \"dateTimeWithoutTimezone\") {\n return <DateTimeWithoutTimezone field={field} bind={bind} />;\n } else if (fieldSettingsType === \"dateTimeWithTimezone\") {\n return <DateTimeWithTimezone field={field} bind={bind} />;\n } else if (fieldSettingsType === \"time\") {\n return <Time field={field} bind={bind} />;\n }\n return <DateOnly bind={bind} field={field} />;\n }}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -22,21 +22,26 @@ var plugin = {
22
22
  description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Renders inputs for various formats of dates and times."]))),
23
23
  canUse: function canUse(_ref) {
24
24
  var field = _ref.field;
25
- return field.type === "datetime" && field.multipleValues && !get(field, "predefinedValues.enabled");
25
+ return !!(field.type === "datetime" && field.multipleValues && !get(field, "predefinedValues.enabled"));
26
26
  },
27
27
  render: function render(props) {
28
28
  var field = props.field;
29
+ var fieldSettingsType = field.settings ? field.settings.type : null;
29
30
  return /*#__PURE__*/React.createElement(DynamicSection, props, function (_ref2) {
30
31
  var bind = _ref2.bind,
31
32
  index = _ref2.index;
32
- var trailingIcon = index > 0 && {
33
- icon: /*#__PURE__*/React.createElement(DeleteIcon, null),
34
- onClick: function onClick() {
35
- return bind.field.removeValue(index);
36
- }
37
- };
33
+ var trailingIcon = undefined;
38
34
 
39
- if (field.settings.type === "dateTimeWithoutTimezone") {
35
+ if (index > 0) {
36
+ trailingIcon = {
37
+ icon: /*#__PURE__*/React.createElement(DeleteIcon, null),
38
+ onClick: function onClick() {
39
+ return bind.field.removeValue(index);
40
+ }
41
+ };
42
+ }
43
+
44
+ if (fieldSettingsType === "dateTimeWithoutTimezone") {
40
45
  return /*#__PURE__*/React.createElement(DateTimeWithoutTimezone, {
41
46
  field: field,
42
47
  bind: bind.index,
@@ -44,7 +49,7 @@ var plugin = {
44
49
  });
45
50
  }
46
51
 
47
- if (field.settings.type === "dateTimeWithTimezone") {
52
+ if (fieldSettingsType === "dateTimeWithTimezone") {
48
53
  return /*#__PURE__*/React.createElement(DateTimeWithTimezone, {
49
54
  field: field,
50
55
  bind: bind.index,
@@ -52,7 +57,7 @@ var plugin = {
52
57
  });
53
58
  }
54
59
 
55
- if (field.settings.type === "time") {
60
+ if (fieldSettingsType === "time") {
56
61
  return /*#__PURE__*/React.createElement(Time, {
57
62
  field: _objectSpread(_objectSpread({}, props.field), {}, {
58
63
  label: props.field.label + t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([" Value {number}"])))({
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dateTimeFields.tsx"],"names":["React","get","DynamicSection","i18n","ReactComponent","DeleteIcon","DateTimeWithoutTimezone","DateTimeWithTimezone","DateOnly","Time","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","props","fieldSettingsType","settings","bind","index","trailingIcon","undefined","icon","onClick","removeValue","label","number"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport DynamicSection from \"../DynamicSection\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport { DateTimeWithoutTimezone } from \"./DateTimeWithoutTimezone\";\nimport { DateTimeWithTimezone } from \"./DateTimeWithTimezone\";\nimport { DateOnly } from \"./DateOnly\";\nimport { Time } from \"./Time\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/date-time\");\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-date-times\",\n renderer: {\n rendererName: \"date-time-inputs\",\n name: t`Date/Time Inputs`,\n description: t`Renders inputs for various formats of dates and times.`,\n canUse({ field }) {\n return !!(\n field.type === \"datetime\" &&\n field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render(props) {\n const { field } = props;\n\n const fieldSettingsType = field.settings ? field.settings.type : null;\n\n return (\n <DynamicSection {...props}>\n {({ bind, index }) => {\n let trailingIcon = undefined;\n if (index > 0) {\n trailingIcon = {\n icon: <DeleteIcon />,\n onClick: () => bind.field.removeValue(index)\n };\n }\n\n if (fieldSettingsType === \"dateTimeWithoutTimezone\") {\n return (\n <DateTimeWithoutTimezone\n field={field}\n bind={bind.index}\n trailingIcon={trailingIcon}\n />\n );\n }\n if (fieldSettingsType === \"dateTimeWithTimezone\") {\n return (\n <DateTimeWithTimezone\n field={field}\n bind={bind.index}\n trailingIcon={trailingIcon}\n />\n );\n }\n if (fieldSettingsType === \"time\") {\n return (\n <Time\n field={{\n ...props.field,\n label:\n props.field.label +\n t` Value {number}`({ number: index + 1 })\n }}\n bind={bind.index}\n trailingIcon={trailingIcon}\n />\n );\n }\n\n return (\n <DateOnly\n bind={bind.index}\n field={{\n ...props.field,\n label:\n props.field.label +\n t` Value {number}`({ number: index + 1 })\n }}\n trailingIcon={trailingIcon}\n />\n );\n }}\n </DynamicSection>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["dateTimeField","dateTimeFields"],"mappings":"AAAA,OAAOA,aAAP;AACA,OAAOC,cAAP;AAEA,eAAe,CAACD,aAAD,EAAgBC,cAAhB,CAAf","sourcesContent":["import dateTimeField from \"./dateTimeField\";\nimport dateTimeFields from \"./dateTimeFields\";\n\nexport default [dateTimeField, dateTimeFields];\n"]}
@@ -8,9 +8,9 @@ export declare const DEFAULT_TIMEZONE = "+01:00";
8
8
  export declare const getDefaultFieldValue: (field: CmsEditorField, bind: {
9
9
  value: string | null | undefined;
10
10
  }, getCurrent: () => string) => string;
11
- export declare const getCurrentTimeZone: (date?: Date) => string;
12
- export declare const getCurrentLocalTime: (date?: Date) => string;
13
- export declare const getCurrentDate: (date?: Date) => string;
11
+ export declare const getCurrentTimeZone: (date?: Date | undefined) => string | null;
12
+ export declare const getCurrentLocalTime: (date?: Date | undefined) => string;
13
+ export declare const getCurrentDate: (date?: Date | undefined) => string;
14
14
  interface RemoveFieldButtonProps {
15
15
  trailingIcon: any;
16
16
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["utils.tsx"],"names":["React","css","Cell","IconButton","UTC_TIMEZONES","value","label","DEFAULT_TIMEZONE","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","substr","getCurrentLocalTime","split","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","deleteIconStyles","width","height","color","RemoveFieldButton","trailingIcon","onClick","icon"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsEditorField } from \"~/types\";\n\nexport const UTC_TIMEZONES = [\n {\n value: \"-12:00\",\n label: \"UTC-12:00\"\n },\n {\n value: \"-11:00\",\n label: \"UTC-11:00\"\n },\n {\n value: \"-10:00\",\n label: \"UTC-10:00\"\n },\n {\n value: \"-09:30\",\n label: \"UTC-09:30\"\n },\n {\n value: \"-09:00\",\n label: \"UTC-09:00\"\n },\n {\n value: \"-08:00\",\n label: \"UTC-08:00\"\n },\n {\n value: \"-07:00\",\n label: \"UTC-07:00\"\n },\n {\n value: \"-06:00\",\n label: \"UTC-06:00\"\n },\n {\n value: \"-05:00\",\n label: \"UTC-05:00\"\n },\n {\n value: \"-04:30\",\n label: \"UTC-04:30\"\n },\n {\n value: \"-04:00\",\n label: \"UTC-04:00\"\n },\n {\n value: \"-03:30\",\n label: \"UTC-03:30\"\n },\n {\n value: \"-03:00\",\n label: \"UTC-03:00\"\n },\n {\n value: \"-02:00\",\n label: \"UTC-02:00\"\n },\n {\n value: \"-01:00\",\n label: \"UTC-01:00\"\n },\n {\n value: \"+00:00\",\n label: \"UTC+00:00\"\n },\n {\n value: \"+01:00\",\n label: \"UTC+01:00\"\n },\n {\n value: \"+02:00\",\n label: \"UTC+02:00\"\n },\n {\n value: \"+03:00\",\n label: \"UTC+03:00\"\n },\n {\n value: \"+03:30\",\n label: \"UTC+03:30\"\n },\n {\n value: \"+04:00\",\n label: \"UTC+04:00\"\n },\n {\n value: \"+04:30\",\n label: \"UTC+04:30\"\n },\n {\n value: \"+05:30\",\n label: \"UTC+05:30\"\n },\n {\n value: \"+05:45\",\n label: \"UTC+05:45\"\n },\n {\n value: \"+06:00\",\n label: \"UTC+06:00\"\n },\n {\n value: \"+06:30\",\n label: \"UTC+06:30\"\n },\n {\n value: \"+07:00\",\n label: \"UTC+07:00\"\n },\n {\n value: \"+08:00\",\n label: \"UTC+08:00\"\n },\n {\n value: \"+08:45\",\n label: \"UTC+08:45\"\n },\n {\n value: \"+09:00\",\n label: \"UTC+09:00\"\n },\n {\n value: \"+09:30\",\n label: \"UTC+09:30\"\n },\n {\n value: \"+10:00\",\n label: \"UTC+10:00\"\n },\n {\n value: \"+10:30\",\n label: \"UTC+10:30\"\n },\n {\n value: \"+11:00\",\n label: \"UTC+11:00\"\n },\n {\n value: \"+11:30\",\n label: \"UTC+11:30\"\n },\n {\n value: \"+12:00\",\n label: \"UTC+12:00\"\n },\n {\n value: \"+12:45\",\n label: \"UTC+12:45\"\n },\n {\n value: \"+13:00\",\n label: \"UTC+13:00\"\n },\n {\n value: \"+14:00\",\n label: \"UTC+14:00\"\n }\n];\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsEditorField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.substr(0, 3)}:${timezone.substr(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon: any;\n}\nexport const RemoveFieldButton: React.FC<RemoveFieldButtonProps> = ({ trailingIcon }) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"]}
@@ -1,15 +1,15 @@
1
1
  import React from "react";
2
2
  export interface FileProps {
3
3
  url: string;
4
- onRemove: Function;
5
- placeholder: string;
4
+ onRemove: () => void;
5
+ placeholder?: string;
6
6
  styles?: Record<string, any>;
7
- showFileManager?: Function;
7
+ showFileManager?: () => void;
8
8
  validation?: {
9
9
  isValid?: boolean;
10
10
  message?: string;
11
11
  };
12
12
  description?: string;
13
13
  }
14
- declare const File: React.FunctionComponent<FileProps>;
14
+ declare const File: React.FC<FileProps>;
15
15
  export default File;
@@ -19,8 +19,8 @@ var defaultStyles = {
19
19
  height: "auto"
20
20
  };
21
21
  var defaultValidation = {
22
- isValid: null,
23
- message: null
22
+ isValid: undefined,
23
+ message: undefined
24
24
  };
25
25
 
26
26
  var File = function File(props) {
@@ -65,7 +65,13 @@ var File = function File(props) {
65
65
  value: url ? {
66
66
  src: getImageSrc(url)
67
67
  } : null,
68
- uploadImage: showFileManager,
68
+ uploadImage: function uploadImage() {
69
+ if (!showFileManager) {
70
+ return;
71
+ }
72
+
73
+ showFileManager();
74
+ },
69
75
  removeImage: onRemove,
70
76
  placeholder: placeholder,
71
77
  containerStyle: {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["File.tsx"],"names":["React","useCallback","Image","Ui","createRenderImagePreview","imagePlugins","fileIcon","FormElementMessage","imagePreviewProps","transform","width","style","height","objectFit","defaultStyles","defaultValidation","isValid","undefined","message","File","props","url","onRemove","placeholder","showFileManager","description","styles","validation","isImage","some","extension","includes","getImageSrc","defaultRenderImagePreview","renderImageProps","renderImagePreview","value","src"],"mappings":"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","sourcesContent":["import React, { useCallback } from \"react\";\nimport { Image } from \"@webiny/app/components\";\nimport * as Ui from \"@webiny/ui/ImageUpload\";\nimport { createRenderImagePreview, imagePlugins } from \"./utils\";\nimport fileIcon from \"../../fields/icons/round_insert_drive_file-24px.svg\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\n\nconst imagePreviewProps = {\n transform: { width: 300 },\n style: { width: \"100%\", height: 232, objectFit: \"cover\" }\n};\n\nconst defaultStyles = {\n width: \"100%\",\n height: \"auto\"\n};\n\ninterface ValidationStatus {\n isValid?: boolean;\n message?: string;\n}\nconst defaultValidation: ValidationStatus = {\n isValid: undefined,\n message: undefined\n};\n\nexport interface FileProps {\n url: string;\n onRemove: () => void;\n placeholder?: string;\n styles?: Record<string, any>;\n showFileManager?: () => void;\n validation?: {\n isValid?: boolean;\n message?: string;\n };\n description?: string;\n}\nconst File: React.FC<FileProps> = props => {\n const { url, onRemove, placeholder, showFileManager, description } = props;\n\n const styles = props.styles || defaultStyles;\n const validation = props.validation || defaultValidation;\n\n const isImage = useCallback(url => {\n return imagePlugins.some(extension => url.includes(extension));\n }, []);\n\n const getImageSrc = useCallback(url => {\n if (url && isImage(url)) {\n return url;\n }\n return fileIcon;\n }, []);\n\n // TODO @ts-refactor figure out correct type\n const defaultRenderImagePreview = (renderImageProps: any) => (\n <Image {...renderImageProps} {...imagePreviewProps} />\n );\n\n const renderImagePreview = (url: string) => {\n if (url && !isImage(url)) {\n return createRenderImagePreview({ value: url, imagePreviewProps });\n }\n\n return defaultRenderImagePreview;\n };\n\n return (\n <>\n <Ui.Image\n renderImagePreview={renderImagePreview(url)}\n style={styles}\n value={url ? { src: getImageSrc(url) } : null}\n uploadImage={() => {\n if (!showFileManager) {\n return;\n }\n showFileManager();\n }}\n removeImage={onRemove}\n placeholder={placeholder}\n containerStyle={{ height: \"auto\" }}\n />\n {validation.isValid === false && (\n <FormElementMessage error>\n {validation.message || \"Invalid value.\"}\n </FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </>\n );\n};\n\nexport default File;\n"]}
@@ -2,7 +2,6 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject, _templateObject2;
4
4
 
5
- // TODO @ts-refactor figure out correct bind types and remove any
6
5
  import React from "react";
7
6
  import { i18n } from "@webiny/app/i18n";
8
7
  import { Cell, Grid } from "@webiny/ui/Grid";
@@ -38,12 +37,13 @@ var plugin = {
38
37
  var showFileManager = _ref3.showFileManager;
39
38
 
40
39
  var selectFile = function selectFile() {
41
- showFileManager(function (newFile) {
42
- if (newFile === null) {
40
+ showFileManager(function (initialFile) {
41
+ if (!initialFile || Array.isArray(initialFile) === true && initialFile.length === 0) {
43
42
  return;
44
43
  }
45
44
 
46
- onChange(newFile.src);
45
+ var file = Array.isArray(initialFile) ? initialFile[0] : initialFile;
46
+ onChange(file.src);
47
47
  });
48
48
  };
49
49
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["fileField.tsx"],"names":["React","i18n","Cell","Grid","FileManager","File","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","getBind","Label","Bind","imagesOnly","settings","label","bind","value","onChange","showFileManager","selectFile","initialFile","Array","isArray","length","file","src","placeholderText","helpText"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,OAAOC,IAAP;AAEA,IAAMC,CAAC,GAAGL,IAAI,CAACM,EAAL,CAAQ,oCAAR,CAAV;AAEA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,gCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,YADR;AAENF,IAAAA,IAAI,EAAEJ,CAAF,+EAFE;AAGNO,IAAAA,WAAW,EAAEP,CAAF,wHAHL;AAINQ,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aAAOA,KAAK,CAACN,IAAN,KAAe,MAAf,IAAyB,CAACM,KAAK,CAACC,cAAvC;AACH,KANK;AAONC,IAAAA,MAPM,yBAO4B;AAAA,UAAzBF,KAAyB,SAAzBA,KAAyB;AAAA,UAAlBG,OAAkB,SAAlBA,OAAkB;AAAA,UAATC,KAAS,SAATA,KAAS;AAC9B,UAAMC,IAAI,GAAGF,OAAO,EAApB;AAEA,UAAMG,UAAU,GAAGN,KAAK,CAACO,QAAN,IAAkBP,KAAK,CAACO,QAAN,CAAeD,UAApD;AACA,0BACI,oBAAC,IAAD,qBACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE;AAAZ,sBACI,oBAAC,KAAD,QAAQN,KAAK,CAACQ,KAAd,CADJ,eAEI,oBAAC,IAAD,QACK,UAAAC,IAAI,EAAI;AACL,YAAQC,KAAR,GAA4BD,IAA5B,CAAQC,KAAR;AAAA,YAAeC,QAAf,GAA4BF,IAA5B,CAAeE,QAAf;AAEA,4BACI,oBAAC,WAAD;AAAa,UAAA,QAAQ,EAAE,KAAvB;AAA8B,UAAA,MAAM,EAAEL;AAAtC,WACK,iBAAyB;AAAA,cAAtBM,eAAsB,SAAtBA,eAAsB;;AACtB,cAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACrBD,YAAAA,eAAe,CAAC,UAAAE,WAAW,EAAI;AAC3B,kBACI,CAACA,WAAD,IACCC,KAAK,CAACC,OAAN,CAAcF,WAAd,MAA+B,IAA/B,IACGA,WAAW,CAACG,MAAZ,KAAuB,CAH/B,EAIE;AACE;AACH;;AACD,kBAAMC,IAAI,GAAGH,KAAK,CAACC,OAAN,CAAcF,WAAd,IACPA,WAAW,CAAC,CAAD,CADJ,GAEPA,WAFN;AAGAH,cAAAA,QAAQ,CAACO,IAAI,CAACC,GAAN,CAAR;AACH,aAZc,CAAf;AAaH,WAdD;;AAeA,8BACI,oBAAC,IAAD,oBACQV,IADR;AAEI,YAAA,GAAG,EAAEC,KAFT;AAGI,YAAA,QAAQ,EAAE;AAAA,qBAAMC,QAAQ,CAAC,IAAD,CAAd;AAAA,aAHd;AAII,YAAA,eAAe,EAAEE,UAJrB;AAKI,YAAA,WAAW,EAAEb,KAAK,CAACoB,eALvB;AAMI,YAAA,WAAW,EAAEpB,KAAK,CAACqB;AANvB,aADJ;AAUH,SA3BL,CADJ;AA+BH,OAnCL,CAFJ,CADJ,CADJ;AA4CH;AAvDK;AAH+B,CAA7C;AA8DA,eAAe5B,MAAf","sourcesContent":["import React from \"react\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { FileManager } from \"@webiny/app-admin/components\";\nimport File from \"./File\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/file\");\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-file\",\n renderer: {\n rendererName: \"file-input\",\n name: t`File Input`,\n description: t`Enables selecting a single file via File Manager.`,\n canUse({ field }) {\n return field.type === \"file\" && !field.multipleValues;\n },\n render({ field, getBind, Label }) {\n const Bind = getBind();\n\n const imagesOnly = field.settings && field.settings.imagesOnly;\n return (\n <Grid>\n <Cell span={12}>\n <Label>{field.label}</Label>\n <Bind>\n {bind => {\n const { value, onChange } = bind;\n\n return (\n <FileManager multiple={false} images={imagesOnly}>\n {({ showFileManager }) => {\n const selectFile = () => {\n showFileManager(initialFile => {\n if (\n !initialFile ||\n (Array.isArray(initialFile) === true &&\n initialFile.length === 0)\n ) {\n return;\n }\n const file = Array.isArray(initialFile)\n ? initialFile[0]\n : initialFile;\n onChange(file.src);\n });\n };\n return (\n <File\n {...bind}\n url={value}\n onRemove={() => onChange(null)}\n showFileManager={selectFile}\n placeholder={field.placeholderText}\n description={field.helpText}\n />\n );\n }}\n </FileManager>\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -3,7 +3,6 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
 
4
4
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
5
 
6
- // TODO @ts-refactor figure out correct bind types and remove any
7
6
  import React from "react";
8
7
  import dotProp from "dot-prop-immutable";
9
8
  import { i18n } from "@webiny/app/i18n";
@@ -46,11 +45,12 @@ var FieldRenderer = function FieldRenderer(_ref) {
46
45
 
47
46
  var selectFiles = function selectFiles() {
48
47
  var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
49
- showFileManager(function (files) {
50
- if (!files) {
48
+ showFileManager(function (initialFiles) {
49
+ if (!initialFiles || initialFiles.length === 0) {
51
50
  return;
52
51
  }
53
52
 
53
+ var files = Array.isArray(initialFiles) ? initialFiles : [initialFiles];
54
54
  var urls = files.map(function (f) {
55
55
  return f.src;
56
56
  });
@@ -81,7 +81,12 @@ var FieldRenderer = function FieldRenderer(_ref) {
81
81
  }));
82
82
  }), /*#__PURE__*/React.createElement(Cell, {
83
83
  span: 3
84
- }, /*#__PURE__*/React.createElement(File, Object.assign({}, bind, {
84
+ }, /*#__PURE__*/React.createElement(File, Object.assign({
85
+ url: "",
86
+ onRemove: function onRemove() {
87
+ return void 0;
88
+ }
89
+ }, bind, {
85
90
  showFileManager: function showFileManager() {
86
91
  return selectFiles();
87
92
  },
@@ -114,7 +119,7 @@ var plugin = {
114
119
  description: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Enables selecting multiple files via File Manager."]))),
115
120
  canUse: function canUse(_ref3) {
116
121
  var field = _ref3.field;
117
- return field.type === "file" && field.multipleValues;
122
+ return field.type === "file" && !!field.multipleValues;
118
123
  },
119
124
  render: function render(_ref4) {
120
125
  var field = _ref4.field,