@webiny/app-headless-cms 5.34.8 → 5.35.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 (693) hide show
  1. package/HeadlessCMS.js +8 -21
  2. package/HeadlessCMS.js.map +1 -1
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +11 -51
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +0 -16
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
  7. package/admin/components/ContentEntryForm/Fields.js +4 -11
  8. package/admin/components/ContentEntryForm/Fields.js.map +1 -1
  9. package/admin/components/ContentEntryForm/Label.js +0 -8
  10. package/admin/components/ContentEntryForm/Label.js.map +1 -1
  11. package/admin/components/ContentEntryForm/RenderFieldElement.js +2 -17
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
  13. package/admin/components/ContentEntryForm/functions/getValue.js +2 -8
  14. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
  15. package/admin/components/ContentEntryForm/functions/setValue.js +3 -9
  16. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
  17. package/admin/components/ContentEntryForm/useBind.js +9 -29
  18. package/admin/components/ContentEntryForm/useBind.js.map +1 -1
  19. package/admin/components/ContentEntryForm/useContentEntryForm.js +209 -330
  20. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
  21. package/admin/components/ContentEntryForm/useRenderPlugins.d.ts +1 -2
  22. package/admin/components/ContentEntryForm/useRenderPlugins.js +0 -3
  23. package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -1
  24. package/admin/components/ContentModelEditor/ContentModelEditorProvider.js +103 -166
  25. package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -1
  26. package/admin/components/ContentModelEditor/Editor.d.ts +4 -1
  27. package/admin/components/ContentModelEditor/Editor.js +7 -40
  28. package/admin/components/ContentModelEditor/Editor.js.map +1 -1
  29. package/admin/components/ContentModelEditor/FieldsSidebar.js +5 -17
  30. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
  31. package/admin/components/ContentModelEditor/Header.js +0 -8
  32. package/admin/components/ContentModelEditor/Header.js.map +1 -1
  33. package/admin/components/ContentModelEditor/PreviewTab.js +1 -16
  34. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
  35. package/admin/components/ContentModelEditor/index.js +0 -4
  36. package/admin/components/ContentModelEditor/index.js.map +1 -1
  37. package/admin/components/ContentModelEditor/useModelEditor.js +0 -6
  38. package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -1
  39. package/admin/components/DelayedOnChange.js +6 -31
  40. package/admin/components/DelayedOnChange.js.map +1 -1
  41. package/admin/components/Dialog.d.ts +5 -1
  42. package/admin/components/Dialog.js +1 -5
  43. package/admin/components/Dialog.js.map +1 -1
  44. package/admin/components/DragPreview.js +21 -39
  45. package/admin/components/DragPreview.js.map +1 -1
  46. package/admin/components/Draggable.js +28 -40
  47. package/admin/components/Draggable.js.map +1 -1
  48. package/admin/components/DropZone/Center.js +6 -19
  49. package/admin/components/DropZone/Center.js.map +1 -1
  50. package/admin/components/DropZone/Horizontal.js +5 -16
  51. package/admin/components/DropZone/Horizontal.js.map +1 -1
  52. package/admin/components/DropZone/Vertical.js +5 -15
  53. package/admin/components/DropZone/Vertical.js.map +1 -1
  54. package/admin/components/DropZone/index.js +0 -4
  55. package/admin/components/DropZone/index.js.map +1 -1
  56. package/admin/components/Droppable.js +27 -40
  57. package/admin/components/Droppable.js.map +1 -1
  58. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +3 -30
  59. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
  60. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +8 -36
  61. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
  62. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +15 -40
  63. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
  64. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +3 -11
  65. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js.map +1 -1
  66. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +10 -48
  67. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -1
  68. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +2 -8
  69. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -1
  70. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +3 -10
  71. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -1
  72. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +4 -28
  73. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -1
  74. package/admin/components/FieldEditor/EditFieldDialog.js +16 -54
  75. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
  76. package/admin/components/FieldEditor/Field.js +251 -105
  77. package/admin/components/FieldEditor/Field.js.map +1 -1
  78. package/admin/components/FieldEditor/FieldEditor.js +15 -53
  79. package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
  80. package/admin/components/FieldEditor/FieldEditorContext.js +42 -102
  81. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
  82. package/admin/components/FieldEditor/Styled.d.ts +9 -3
  83. package/admin/components/FieldEditor/Styled.js +1 -5
  84. package/admin/components/FieldEditor/Styled.js.map +1 -1
  85. package/admin/components/FieldEditor/index.js +0 -2
  86. package/admin/components/FieldEditor/index.js.map +1 -1
  87. package/admin/components/FieldEditor/useModelFieldEditor.js +0 -5
  88. package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -1
  89. package/admin/components/FieldEditor/utils/deleteField.js +4 -13
  90. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
  91. package/admin/components/FieldEditor/utils/getFieldPosition.js +1 -6
  92. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
  93. package/admin/components/FieldEditor/utils/index.js +0 -5
  94. package/admin/components/FieldEditor/utils/index.js.map +1 -1
  95. package/admin/components/FieldEditor/utils/moveField.js +7 -17
  96. package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
  97. package/admin/components/FieldEditor/utils/moveRow.js +2 -7
  98. package/admin/components/FieldEditor/utils/moveRow.js.map +1 -1
  99. package/admin/components/IconPicker.js +18 -43
  100. package/admin/components/IconPicker.js.map +1 -1
  101. package/admin/components/ModelFieldProvider/ModelFieldContext.d.ts +1 -1
  102. package/admin/components/ModelFieldProvider/ModelFieldContext.js +1 -7
  103. package/admin/components/ModelFieldProvider/ModelFieldContext.js.map +1 -1
  104. package/admin/components/ModelFieldProvider/index.js +0 -4
  105. package/admin/components/ModelFieldProvider/index.js.map +1 -1
  106. package/admin/components/ModelFieldProvider/useModelField.d.ts +1 -1
  107. package/admin/components/ModelFieldProvider/useModelField.js +1 -10
  108. package/admin/components/ModelFieldProvider/useModelField.js.map +1 -1
  109. package/admin/components/ModelProvider/ModelContext.js +1 -7
  110. package/admin/components/ModelProvider/ModelContext.js.map +1 -1
  111. package/admin/components/ModelProvider/index.js +0 -4
  112. package/admin/components/ModelProvider/index.js.map +1 -1
  113. package/admin/components/ModelProvider/useModel.js +0 -5
  114. package/admin/components/ModelProvider/useModel.js.map +1 -1
  115. package/admin/constants/statusLabels.js +0 -6
  116. package/admin/constants/statusLabels.js.map +1 -1
  117. package/admin/contexts/Cms/NetworkError.js +0 -5
  118. package/admin/contexts/Cms/NetworkError.js.map +1 -1
  119. package/admin/contexts/Cms/index.js +29 -70
  120. package/admin/contexts/Cms/index.js.map +1 -1
  121. package/admin/elements/ContentGroupMenuElement.js +0 -11
  122. package/admin/elements/ContentGroupMenuElement.js.map +1 -1
  123. package/admin/elements/ContentModelMenuElement.js +0 -11
  124. package/admin/elements/ContentModelMenuElement.js.map +1 -1
  125. package/admin/elements/NothingToShowElement.js +0 -24
  126. package/admin/elements/NothingToShowElement.js.map +1 -1
  127. package/admin/graphql/contentEntries.js +24 -65
  128. package/admin/graphql/contentEntries.js.map +1 -1
  129. package/admin/graphql/contentModels.js +2 -8
  130. package/admin/graphql/contentModels.js.map +1 -1
  131. package/admin/graphql/createFieldsList.js +7 -10
  132. package/admin/graphql/createFieldsList.js.map +1 -1
  133. package/admin/hooks/index.d.ts +2 -0
  134. package/admin/hooks/index.js +25 -14
  135. package/admin/hooks/index.js.map +1 -1
  136. package/admin/hooks/useApolloClient.js +1 -6
  137. package/admin/hooks/useApolloClient.js.map +1 -1
  138. package/admin/hooks/useCms.js +0 -6
  139. package/admin/hooks/useCms.js.map +1 -1
  140. package/admin/hooks/useContentModels.d.ts +14 -0
  141. package/admin/hooks/useContentModels.js +40 -0
  142. package/admin/hooks/useContentModels.js.map +1 -0
  143. package/admin/hooks/useLazyQuery.js +1 -9
  144. package/admin/hooks/useLazyQuery.js.map +1 -1
  145. package/admin/hooks/useMutation.js +1 -9
  146. package/admin/hooks/useMutation.js.map +1 -1
  147. package/admin/hooks/usePermission.d.ts +2 -2
  148. package/admin/hooks/usePermission.js +9 -51
  149. package/admin/hooks/usePermission.js.map +1 -1
  150. package/admin/hooks/useQuery.js +1 -9
  151. package/admin/hooks/useQuery.js.map +1 -1
  152. package/admin/hooks/useQueryLocale.js +1 -9
  153. package/admin/hooks/useQueryLocale.js.map +1 -1
  154. package/admin/menus/CmsMenuLoader.js +5 -19
  155. package/admin/menus/CmsMenuLoader.js.map +1 -1
  156. package/admin/menus/ContentGroupsMenuItems.js +4 -25
  157. package/admin/menus/ContentGroupsMenuItems.js.map +1 -1
  158. package/admin/menus/GlobalSearchPlugins.js +5 -15
  159. package/admin/menus/GlobalSearchPlugins.js.map +1 -1
  160. package/admin/menus/NothingToShowElement.js +1 -8
  161. package/admin/menus/NothingToShowElement.js.map +1 -1
  162. package/admin/plugins/apiInformation/index.js +3 -14
  163. package/admin/plugins/apiInformation/index.js.map +1 -1
  164. package/admin/plugins/arrayUtils.js +2 -10
  165. package/admin/plugins/arrayUtils.js.map +1 -1
  166. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +0 -14
  167. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -1
  168. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +0 -14
  169. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -1
  170. package/admin/plugins/editor/defaultBar/BackButton.js +1 -11
  171. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -1
  172. package/admin/plugins/editor/defaultBar/CreateContentButton.js +2 -19
  173. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
  174. package/admin/plugins/editor/defaultBar/Divider.d.ts +5 -2
  175. package/admin/plugins/editor/defaultBar/Divider.js +0 -3
  176. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -1
  177. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +9 -36
  178. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
  179. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +3 -13
  180. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -1
  181. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +8 -2
  182. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +0 -7
  183. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -1
  184. package/admin/plugins/editor/defaultBar/FormSettings/index.js +0 -2
  185. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -1
  186. package/admin/plugins/editor/defaultBar/Name/Name.js +11 -30
  187. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
  188. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +13 -4
  189. package/admin/plugins/editor/defaultBar/Name/NameStyled.js +0 -4
  190. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -1
  191. package/admin/plugins/editor/defaultBar/Name/index.js +0 -1
  192. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -1
  193. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +24 -50
  194. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
  195. package/admin/plugins/editor/defaultBar/index.js +0 -9
  196. package/admin/plugins/editor/defaultBar/index.js.map +1 -1
  197. package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +2 -2
  198. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +22 -9
  199. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
  200. package/admin/plugins/editor/formSettings/components/GroupSelect.js +3 -14
  201. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -1
  202. package/admin/plugins/editor/formSettings/index.js +0 -6
  203. package/admin/plugins/editor/formSettings/index.js.map +1 -1
  204. package/admin/plugins/entry/DefaultOnEntryDelete.js +93 -140
  205. package/admin/plugins/entry/DefaultOnEntryDelete.js.map +1 -1
  206. package/admin/plugins/entry/DefaultOnEntryPublish.js +70 -112
  207. package/admin/plugins/entry/DefaultOnEntryPublish.js.map +1 -1
  208. package/admin/plugins/fieldRenderers/Accordion.js +8 -21
  209. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
  210. package/admin/plugins/fieldRenderers/DynamicSection.js +11 -28
  211. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
  212. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +1 -10
  213. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
  214. package/admin/plugins/fieldRenderers/boolean/index.d.ts +1 -1
  215. package/admin/plugins/fieldRenderers/boolean/index.js +0 -3
  216. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -1
  217. package/admin/plugins/fieldRenderers/checkboxes.js +6 -17
  218. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
  219. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +20 -41
  220. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
  221. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +51 -97
  222. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
  223. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +46 -85
  224. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
  225. package/admin/plugins/fieldRenderers/dateTime/Input.js +1 -10
  226. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
  227. package/admin/plugins/fieldRenderers/dateTime/Select.js +0 -5
  228. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
  229. package/admin/plugins/fieldRenderers/dateTime/Time.js +19 -39
  230. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -1
  231. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +1 -14
  232. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
  233. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +1 -21
  234. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
  235. package/admin/plugins/fieldRenderers/dateTime/index.d.ts +1 -1
  236. package/admin/plugins/fieldRenderers/dateTime/index.js +0 -4
  237. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -1
  238. package/admin/plugins/fieldRenderers/dateTime/utils.js +2 -31
  239. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
  240. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +3 -3
  241. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +15 -37
  242. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -1
  243. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +4 -4
  244. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +11 -36
  245. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
  246. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +4 -4
  247. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +3 -17
  248. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
  249. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +2 -2
  250. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +1 -10
  251. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -1
  252. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +2 -2
  253. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +2 -15
  254. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -1
  255. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +2 -2
  256. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +0 -5
  257. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -1
  258. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +4 -14
  259. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
  260. package/admin/plugins/fieldRenderers/file/File.js +6 -21
  261. package/admin/plugins/fieldRenderers/file/File.js.map +1 -1
  262. package/admin/plugins/fieldRenderers/file/fileField.js +3 -15
  263. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -1
  264. package/admin/plugins/fieldRenderers/file/fileFields.js +6 -25
  265. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
  266. package/admin/plugins/fieldRenderers/file/index.d.ts +1 -1
  267. package/admin/plugins/fieldRenderers/file/index.js +0 -4
  268. package/admin/plugins/fieldRenderers/file/index.js.map +1 -1
  269. package/admin/plugins/fieldRenderers/file/utils.js +1 -12
  270. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -1
  271. package/admin/plugins/fieldRenderers/longText/index.d.ts +1 -1
  272. package/admin/plugins/fieldRenderers/longText/index.js +0 -4
  273. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -1
  274. package/admin/plugins/fieldRenderers/longText/longText.js +1 -10
  275. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
  276. package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -12
  277. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
  278. package/admin/plugins/fieldRenderers/number/index.d.ts +1 -1
  279. package/admin/plugins/fieldRenderers/number/index.js +0 -4
  280. package/admin/plugins/fieldRenderers/number/index.js.map +1 -1
  281. package/admin/plugins/fieldRenderers/number/numberInput.js +1 -10
  282. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
  283. package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -12
  284. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
  285. package/admin/plugins/fieldRenderers/object/StyledComponents.d.ts +9 -3
  286. package/admin/plugins/fieldRenderers/object/StyledComponents.js +0 -4
  287. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -1
  288. package/admin/plugins/fieldRenderers/object/index.d.ts +1 -1
  289. package/admin/plugins/fieldRenderers/object/index.js +0 -6
  290. package/admin/plugins/fieldRenderers/object/index.js.map +1 -1
  291. package/admin/plugins/fieldRenderers/object/multipleObjects.js +12 -37
  292. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
  293. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js +12 -36
  294. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
  295. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js +2 -11
  296. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -1
  297. package/admin/plugins/fieldRenderers/object/singleObjectInline.js +2 -14
  298. package/admin/plugins/fieldRenderers/object/singleObjectInline.js.map +1 -1
  299. package/admin/plugins/fieldRenderers/radioButtons.js +6 -17
  300. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
  301. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.d.ts +8 -0
  302. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +277 -0
  303. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -0
  304. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.d.ts +8 -0
  305. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +181 -0
  306. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -0
  307. package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.d.ts +9 -0
  308. package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js +62 -0
  309. package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js.map +1 -0
  310. package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.d.ts +27 -0
  311. package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js +153 -0
  312. package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js.map +1 -0
  313. package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.d.ts +3 -0
  314. package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.js +37 -0
  315. package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.js.map +1 -0
  316. package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.d.ts +9 -0
  317. package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js +142 -0
  318. package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js.map +1 -0
  319. package/admin/plugins/fieldRenderers/ref/advanced/components/Options.d.ts +9 -0
  320. package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js +118 -0
  321. package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js.map +1 -0
  322. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.d.ts +11 -0
  323. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js +183 -0
  324. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js.map +1 -0
  325. package/admin/plugins/fieldRenderers/ref/advanced/components/Search.d.ts +7 -0
  326. package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js +60 -0
  327. package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js.map +1 -0
  328. package/admin/plugins/fieldRenderers/ref/advanced/components/assets/add-circle.svg +1 -0
  329. package/admin/plugins/fieldRenderers/ref/advanced/components/assets/down-arrow.svg +1 -0
  330. package/admin/plugins/fieldRenderers/ref/advanced/components/assets/link.svg +1 -0
  331. package/admin/plugins/fieldRenderers/ref/advanced/components/assets/search.svg +1 -0
  332. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.d.ts +19 -0
  333. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.js +35 -0
  334. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.js.map +1 -0
  335. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.d.ts +8 -0
  336. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.js +90 -0
  337. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.js.map +1 -0
  338. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/assets/close.svg +3 -0
  339. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.d.ts +8 -0
  340. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js +64 -0
  341. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js.map +1 -0
  342. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.d.ts +8 -0
  343. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js +26 -0
  344. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js.map +1 -0
  345. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.d.ts +6 -0
  346. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js +31 -0
  347. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js.map +1 -0
  348. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.d.ts +9 -0
  349. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js +65 -0
  350. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js.map +1 -0
  351. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.d.ts +6 -0
  352. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js +25 -0
  353. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js.map +1 -0
  354. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.d.ts +8 -0
  355. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js +30 -0
  356. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js.map +1 -0
  357. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.d.ts +7 -0
  358. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.js +24 -0
  359. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.js.map +1 -0
  360. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.d.ts +7 -0
  361. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.js +24 -0
  362. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.js.map +1 -0
  363. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.d.ts +8 -0
  364. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js +44 -0
  365. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js.map +1 -0
  366. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.d.ts +9 -0
  367. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js +82 -0
  368. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js.map +1 -0
  369. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.d.ts +7 -0
  370. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js +32 -0
  371. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js.map +1 -0
  372. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.d.ts +6 -0
  373. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.js +24 -0
  374. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.js.map +1 -0
  375. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.d.ts +7 -0
  376. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js +22 -0
  377. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js.map +1 -0
  378. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-down.svg +3 -0
  379. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-up.svg +3 -0
  380. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/remove.svg +3 -0
  381. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/selected.svg +3 -0
  382. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-draft.svg +3 -0
  383. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-published.svg +3 -0
  384. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-unpublished.svg +3 -0
  385. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/view.svg +3 -0
  386. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.d.ts +18 -0
  387. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js +84 -0
  388. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js.map +1 -0
  389. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.d.ts +8 -0
  390. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js +55 -0
  391. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js.map +1 -0
  392. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.d.ts +8 -0
  393. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js +98 -0
  394. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js.map +1 -0
  395. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.d.ts +2 -0
  396. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js +46 -0
  397. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js.map +1 -0
  398. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.d.ts +2 -0
  399. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js +45 -0
  400. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js.map +1 -0
  401. package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.d.ts +44 -0
  402. package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js +17 -0
  403. package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js.map +1 -0
  404. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.d.ts +15 -0
  405. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js +187 -0
  406. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js.map +1 -0
  407. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.d.ts +12 -0
  408. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js +214 -0
  409. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js.map +1 -0
  410. package/admin/plugins/fieldRenderers/ref/advanced/index.d.ts +1 -0
  411. package/admin/plugins/fieldRenderers/ref/advanced/index.js +12 -0
  412. package/admin/plugins/fieldRenderers/ref/advanced/index.js.map +1 -0
  413. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +15 -46
  414. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
  415. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +19 -46
  416. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
  417. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js +4 -17
  418. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js.map +1 -1
  419. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js +0 -15
  420. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -1
  421. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.d.ts +2 -2
  422. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +15 -61
  423. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
  424. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +1 -5
  425. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -1
  426. package/admin/plugins/fieldRenderers/ref/components/graphql.js +2 -7
  427. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -1
  428. package/admin/plugins/fieldRenderers/ref/components/helpers.js +0 -12
  429. package/admin/plugins/fieldRenderers/ref/components/helpers.js.map +1 -1
  430. package/admin/plugins/fieldRenderers/ref/components/renderItem.js +0 -14
  431. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -1
  432. package/admin/plugins/fieldRenderers/ref/components/types.d.ts +11 -1
  433. package/admin/plugins/fieldRenderers/ref/components/types.js.map +1 -1
  434. package/admin/plugins/fieldRenderers/ref/components/useReference.js +51 -99
  435. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
  436. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +53 -83
  437. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
  438. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -20
  439. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
  440. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +5 -17
  441. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -1
  442. package/admin/plugins/fieldRenderers/ref/index.d.ts +1 -1
  443. package/admin/plugins/fieldRenderers/ref/index.js +3 -5
  444. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -1
  445. package/admin/plugins/fieldRenderers/ref/refInput.js +0 -9
  446. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
  447. package/admin/plugins/fieldRenderers/ref/refInputs.js +0 -10
  448. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
  449. package/admin/plugins/fieldRenderers/richText/index.d.ts +1 -1
  450. package/admin/plugins/fieldRenderers/richText/index.js +0 -4
  451. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -1
  452. package/admin/plugins/fieldRenderers/richText/richTextInput.js +1 -13
  453. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
  454. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +1 -18
  455. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
  456. package/admin/plugins/fieldRenderers/select.js +2 -15
  457. package/admin/plugins/fieldRenderers/select.js.map +1 -1
  458. package/admin/plugins/fieldRenderers/text/index.d.ts +1 -1
  459. package/admin/plugins/fieldRenderers/text/index.js +0 -4
  460. package/admin/plugins/fieldRenderers/text/index.js.map +1 -1
  461. package/admin/plugins/fieldRenderers/text/textInput.js +1 -10
  462. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
  463. package/admin/plugins/fieldRenderers/text/textInputs.js +1 -12
  464. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
  465. package/admin/plugins/fieldValidators/date/availableValidators.js +0 -4
  466. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -1
  467. package/admin/plugins/fieldValidators/date/createDateInputField.js +0 -10
  468. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
  469. package/admin/plugins/fieldValidators/dateGte.js +21 -48
  470. package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
  471. package/admin/plugins/fieldValidators/dateLte.js +21 -48
  472. package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
  473. package/admin/plugins/fieldValidators/dynamicZone.js +81 -133
  474. package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -1
  475. package/admin/plugins/fieldValidators/gte.js +14 -31
  476. package/admin/plugins/fieldValidators/gte.js.map +1 -1
  477. package/admin/plugins/fieldValidators/in.js +14 -31
  478. package/admin/plugins/fieldValidators/in.js.map +1 -1
  479. package/admin/plugins/fieldValidators/lte.js +14 -31
  480. package/admin/plugins/fieldValidators/lte.js.map +1 -1
  481. package/admin/plugins/fieldValidators/maxLength.js +14 -31
  482. package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
  483. package/admin/plugins/fieldValidators/minLength.js +14 -31
  484. package/admin/plugins/fieldValidators/minLength.js.map +1 -1
  485. package/admin/plugins/fieldValidators/pattern.js +31 -63
  486. package/admin/plugins/fieldValidators/pattern.js.map +1 -1
  487. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
  488. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
  489. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
  490. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
  491. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
  492. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
  493. package/admin/plugins/fieldValidators/required.js +0 -2
  494. package/admin/plugins/fieldValidators/required.js.map +1 -1
  495. package/admin/plugins/fieldValidators/unique.js +6 -16
  496. package/admin/plugins/fieldValidators/unique.js.map +1 -1
  497. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +9 -31
  498. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
  499. package/admin/plugins/fields/boolean.js +0 -11
  500. package/admin/plugins/fields/boolean.js.map +1 -1
  501. package/admin/plugins/fields/dateTime.js +2 -19
  502. package/admin/plugins/fields/dateTime.js.map +1 -1
  503. package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +3 -3
  504. package/admin/plugins/fields/dynamicZone/AddTemplate.js +16 -39
  505. package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -1
  506. package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -2
  507. package/admin/plugins/fields/dynamicZone/DynamicZone.js +2 -22
  508. package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -1
  509. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +2 -2
  510. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +12 -35
  511. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -1
  512. package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +2 -2
  513. package/admin/plugins/fields/dynamicZone/TemplateDialog.js +5 -38
  514. package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -1
  515. package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -1
  516. package/admin/plugins/fields/dynamicZone.d.ts +2 -2
  517. package/admin/plugins/fields/dynamicZone.js +4 -18
  518. package/admin/plugins/fields/dynamicZone.js.map +1 -1
  519. package/admin/plugins/fields/file.js +0 -11
  520. package/admin/plugins/fields/file.js.map +1 -1
  521. package/admin/plugins/fields/longText.js +0 -11
  522. package/admin/plugins/fields/longText.js.map +1 -1
  523. package/admin/plugins/fields/number.js +0 -12
  524. package/admin/plugins/fields/number.js.map +1 -1
  525. package/admin/plugins/fields/object/ObjectFields.js +3 -13
  526. package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
  527. package/admin/plugins/fields/object.js +4 -11
  528. package/admin/plugins/fields/object.js.map +1 -1
  529. package/admin/plugins/fields/ref/graphql.d.ts +8 -0
  530. package/admin/plugins/fields/ref/graphql.js +12 -0
  531. package/admin/plugins/fields/ref/graphql.js.map +1 -0
  532. package/admin/plugins/fields/ref/renderInfo.d.ts +9 -0
  533. package/admin/plugins/fields/ref/renderInfo.js +116 -0
  534. package/admin/plugins/fields/ref/renderInfo.js.map +1 -0
  535. package/admin/plugins/fields/ref.js +27 -59
  536. package/admin/plugins/fields/ref.js.map +1 -1
  537. package/admin/plugins/fields/richText.js +0 -11
  538. package/admin/plugins/fields/richText.js.map +1 -1
  539. package/admin/plugins/fields/text.js +0 -12
  540. package/admin/plugins/fields/text.js.map +1 -1
  541. package/admin/plugins/getObjectId.js +0 -4
  542. package/admin/plugins/getObjectId.js.map +1 -1
  543. package/admin/plugins/icons.js +2 -12
  544. package/admin/plugins/icons.js.map +1 -1
  545. package/admin/plugins/index.d.ts +3 -3
  546. package/admin/plugins/index.js +0 -12
  547. package/admin/plugins/index.js.map +1 -1
  548. package/admin/plugins/install.js +22 -87
  549. package/admin/plugins/install.js.map +1 -1
  550. package/admin/plugins/permissionRenderer/CmsPermissions.js +18 -72
  551. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
  552. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +6 -24
  553. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
  554. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +4 -19
  555. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -1
  556. package/admin/plugins/permissionRenderer/components/ContentModelList.js +5 -18
  557. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -1
  558. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +9 -29
  559. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -1
  560. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +2 -8
  561. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -1
  562. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +11 -27
  563. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -1
  564. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +5 -2
  565. package/admin/plugins/permissionRenderer/components/StyledComponents.js +0 -3
  566. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -1
  567. package/admin/plugins/permissionRenderer/components/useCmsData.d.ts +1 -0
  568. package/admin/plugins/permissionRenderer/components/useCmsData.js +60 -65
  569. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -1
  570. package/admin/plugins/permissionRenderer/index.js +0 -6
  571. package/admin/plugins/permissionRenderer/index.js.map +1 -1
  572. package/admin/plugins/routes.js +3 -20
  573. package/admin/plugins/routes.js.map +1 -1
  574. package/admin/plugins/transformers/dateTransformer.js +5 -36
  575. package/admin/plugins/transformers/dateTransformer.js.map +1 -1
  576. package/admin/plugins/transformers/dynamicZoneTransformer.js +3 -12
  577. package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -1
  578. package/admin/plugins/transformers/index.js +0 -5
  579. package/admin/plugins/transformers/index.js.map +1 -1
  580. package/admin/plugins/transformers/numberTransformer.js +0 -3
  581. package/admin/plugins/transformers/numberTransformer.js.map +1 -1
  582. package/admin/plugins/welcomeScreenWidget.js +0 -6
  583. package/admin/plugins/welcomeScreenWidget.js.map +1 -1
  584. package/admin/views/contentEntries/ContentEntries.js +8 -88
  585. package/admin/views/contentEntries/ContentEntries.js.map +1 -1
  586. package/admin/views/contentEntries/ContentEntriesContainer.d.ts +4 -0
  587. package/admin/views/contentEntries/ContentEntriesContainer.js +65 -0
  588. package/admin/views/contentEntries/ContentEntriesContainer.js.map +1 -0
  589. package/admin/views/contentEntries/ContentEntriesContext.d.ts +1 -1
  590. package/admin/views/contentEntries/ContentEntriesContext.js +14 -39
  591. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
  592. package/admin/views/contentEntries/ContentEntriesList.js +19 -54
  593. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
  594. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +1 -1
  595. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +33 -79
  596. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
  597. package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js +0 -12
  598. package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js.map +1 -1
  599. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +21 -61
  600. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
  601. package/admin/views/contentEntries/ContentEntry/RevisionsList.js +3 -19
  602. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -1
  603. package/admin/views/contentEntries/ContentEntry/cache.js +10 -64
  604. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
  605. package/admin/views/contentEntries/ContentEntry/header/Header.js +0 -9
  606. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -1
  607. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +48 -94
  608. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -1
  609. package/admin/views/contentEntries/ContentEntry/header/index.js +0 -8
  610. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -1
  611. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +5 -22
  612. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -1
  613. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +30 -62
  614. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -1
  615. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +3 -17
  616. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -1
  617. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -35
  618. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
  619. package/admin/views/contentEntries/ContentEntry/useRevision.js +81 -146
  620. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
  621. package/admin/views/contentEntries/ContentEntry.js +9 -32
  622. package/admin/views/contentEntries/ContentEntry.js.map +1 -1
  623. package/admin/views/contentEntries/experiment/ContentEntriesModule.js +1 -13
  624. package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
  625. package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js +0 -8
  626. package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js.map +1 -1
  627. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.d.ts +2 -0
  628. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js +50 -74
  629. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js.map +1 -1
  630. package/admin/views/contentEntries/hooks/index.d.ts +3 -0
  631. package/admin/views/contentEntries/hooks/index.js +38 -0
  632. package/admin/views/contentEntries/hooks/index.js.map +1 -0
  633. package/admin/views/contentEntries/hooks/useContentEntries.js +0 -5
  634. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
  635. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
  636. package/admin/views/contentEntries/hooks/useContentEntriesList.js +31 -54
  637. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
  638. package/admin/views/contentEntries/hooks/useContentEntry.js +0 -5
  639. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -1
  640. package/admin/views/contentModelGroups/ContentModelGroups.js +2 -15
  641. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -1
  642. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +66 -120
  643. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -1
  644. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +72 -129
  645. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
  646. package/admin/views/contentModelGroups/graphql.js +1 -9
  647. package/admin/views/contentModelGroups/graphql.js.map +1 -1
  648. package/admin/views/contentModels/CloneContentModelDialog.d.ts +5 -6
  649. package/admin/views/contentModels/CloneContentModelDialog.js +120 -164
  650. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
  651. package/admin/views/contentModels/ContentModelEditor.js +3 -17
  652. package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
  653. package/admin/views/contentModels/ContentModels.js +10 -30
  654. package/admin/views/contentModels/ContentModels.js.map +1 -1
  655. package/admin/views/contentModels/ContentModelsDataList.js +105 -139
  656. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
  657. package/admin/views/contentModels/NewContentModelDialog.js +118 -221
  658. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
  659. package/admin/views/contentModels/cache.js +5 -28
  660. package/admin/views/contentModels/cache.js.map +1 -1
  661. package/admin/views/contentModels/helpers/apiNameValidator.d.ts +8 -0
  662. package/admin/views/contentModels/helpers/apiNameValidator.js +116 -0
  663. package/admin/views/contentModels/helpers/apiNameValidator.js.map +1 -0
  664. package/admin/views/contentModels/helpers/nameValidator.d.ts +6 -0
  665. package/admin/views/contentModels/helpers/nameValidator.js +63 -0
  666. package/admin/views/contentModels/helpers/nameValidator.js.map +1 -0
  667. package/admin/views/utils.js +3 -9
  668. package/admin/views/utils.js.map +1 -1
  669. package/admin/viewsGraphql.js +7 -11
  670. package/admin/viewsGraphql.js.map +1 -1
  671. package/allPlugins.d.ts +3 -3
  672. package/allPlugins.js +0 -44
  673. package/allPlugins.js.map +1 -1
  674. package/index.js +0 -5
  675. package/index.js.map +1 -1
  676. package/package.json +27 -28
  677. package/types/index.d.ts +40 -18
  678. package/types/index.js +0 -6
  679. package/types/index.js.map +1 -1
  680. package/types/model.d.ts +10 -5
  681. package/types/model.js.map +1 -1
  682. package/types/shared.d.ts +1 -1
  683. package/types/shared.js.map +1 -1
  684. package/utils/CmsModelFieldValidatorConfigAdapter.js +0 -12
  685. package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -1
  686. package/utils/createTypeName.js +0 -5
  687. package/utils/createTypeName.js.map +1 -1
  688. package/utils/createValidators.js +40 -61
  689. package/utils/createValidators.js.map +1 -1
  690. package/utils/getFetchPolicy.js +0 -2
  691. package/utils/getFetchPolicy.js.map +1 -1
  692. package/utils/getModelTitleFieldId.js +0 -3
  693. package/utils/getModelTitleFieldId.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","CMS_PERMISSION","CMS_PERMISSION_FULL_ACCESS","FULL_ACCESS","NO_ACCESS","CUSTOM_ACCESS","ENTITIES","API_ENDPOINTS","id","name","GRAPHQL_API_TYPES_LINK","CMSPermissions","value","onChange","useI18N","getLocales","canRead","useCallback","permissionName","permission","find","item","rwd","includes","getFormLocales","localePermission","startsWith","map","l","code","Array","isArray","locales","onFormChange","data","newValue","filter","accessLevel","push","endpoints","forEach","api","entity","accessScope","own","pw","groups","undefined","models","join","props","reduce","acc","locale","formData","useMemo","hasFullAccess","some","permissions","length","returnData","p","replace","entityPermission","split","Object","assign","getSelectedContentModelGroups","contentModelGroupAccessScope","contentModelGroupProps","Bind","setValue","graphQLEndpointAccess","gridNoPaddingClass","link","getValue"],"sources":["CmsPermissions.tsx"],"sourcesContent":["/**\n * @pavel Please review types for security permissions\n * TODO @ts-refactor\n */\nimport React, { Fragment, useCallback, useMemo } from \"react\";\nimport ContentModelGroupPermission from \"./components/ContentModelGroupPermission\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { PermissionInfo, gridNoPaddingClass } from \"@webiny/app-admin/components/Permissions\";\nimport { Form } from \"@webiny/form\";\nimport { ContentModelPermission } from \"./components/ContentModelPermission\";\nimport { ContentEntryPermission } from \"./components/ContentEntryPermission\";\nimport { Checkbox, CheckboxGroup } from \"@webiny/ui/Checkbox\";\nimport { useI18N } from \"@webiny/app-i18n/hooks/useI18N\";\nimport { Link } from \"@webiny/react-router\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/permissionRenderer\");\n\nconst CMS_PERMISSION = \"cms\";\nconst CMS_PERMISSION_FULL_ACCESS = \"cms.*\";\nconst FULL_ACCESS = \"full\";\nconst NO_ACCESS = \"no\";\nconst CUSTOM_ACCESS = \"custom\";\nconst ENTITIES = [\"contentModel\", \"contentModelGroup\", \"contentEntry\"];\nconst API_ENDPOINTS = [\n { id: \"read\", name: \"Read\" },\n { id: \"manage\", name: \"Manage\" },\n { id: \"preview\", name: \"Preview\" }\n];\n\nconst GRAPHQL_API_TYPES_LINK =\n \"https://www.webiny.com/docs/key-topics/webiny-applications/headless-cms/graphql-api/#graphql-api-types\";\n\nexport interface CMSPermissionsProps {\n value: CmsSecurityPermission[];\n onChange: (value: CmsSecurityPermission[]) => void;\n}\nexport const CMSPermissions: React.FC<CMSPermissionsProps> = ({ value, onChange }) => {\n const { getLocales } = useI18N();\n\n const canRead = useCallback((value: any[], permissionName: string) => {\n const permission = value.find(item => item.name === permissionName);\n\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"r\");\n }, []);\n\n const getFormLocales = () => {\n const localePermission = (value || []).find(item => item.name.startsWith(\"content.i18n\"));\n if (!localePermission) {\n return getLocales().map(l => l.code);\n }\n\n return Array.isArray(localePermission.locales)\n ? localePermission.locales\n : getLocales().map(l => l.code);\n };\n\n const onFormChange = useCallback(\n (data: CmsSecurityPermission) => {\n let newValue: CmsSecurityPermission[] = [];\n if (Array.isArray(value)) {\n // Let's just filter out the `cms*` permission objects.\n // Based on the `data` we rebuild new permission object from scratch.\n newValue = value.filter(item => !item.name.startsWith(CMS_PERMISSION));\n }\n\n if (data.accessLevel === NO_ACCESS) {\n onChange(newValue);\n return;\n }\n\n if (data.accessLevel === FULL_ACCESS) {\n newValue.push({\n name: CMS_PERMISSION_FULL_ACCESS\n });\n onChange(newValue);\n return;\n }\n\n const endpoints = data.endpoints;\n\n // Handling custom access level.\n if (endpoints && Array.isArray(data.endpoints)) {\n API_ENDPOINTS.forEach(api => {\n if (endpoints.includes(api.id)) {\n newValue.push({\n name: `${CMS_PERMISSION}.endpoint.${api.id}`\n });\n }\n });\n }\n\n const locales = getFormLocales();\n\n // Content models, content model groups, content entries\n ENTITIES.forEach(entity => {\n const accessScope = data[`${entity}AccessScope`];\n if (accessScope && accessScope !== NO_ACCESS) {\n const permission: CmsSecurityPermission = {\n name: `${CMS_PERMISSION}.${entity}`,\n own: false,\n rwd: \"r\",\n pw: \"\",\n groups: undefined,\n models: undefined\n };\n\n if (accessScope === \"own\") {\n permission.own = true;\n permission.rwd = \"rwd\";\n } else {\n permission.rwd = data[`${entity}RWD`] || \"r\";\n }\n\n permission.pw = (data[`${entity}PW`] || []).join(\"\");\n\n if (accessScope === \"models\") {\n permission.models = {};\n }\n\n if (accessScope === \"groups\") {\n permission.groups = {};\n }\n\n const props = data[`${entity}Props`];\n if (props) {\n [\"models\", \"groups\"].forEach(entity => {\n if (accessScope === entity && props[entity]) {\n permission[entity] = locales.reduce((acc, locale) => {\n if (props[entity][locale]) {\n acc[locale] = props[entity][locale];\n }\n return acc;\n }, {} as Record<string, string>);\n }\n });\n }\n\n newValue.push(permission);\n }\n });\n // Remove dependent permissions.\n // The \"cms.contentModel\" permission can only be assigned if the user has the \"read\" access for the \"cms.contentModelGroup\".\n if (!canRead(newValue, \"cms.contentModelGroup\")) {\n newValue = newValue.filter(item => item.name !== \"cms.contentModel\");\n }\n // The \"cms.contentEntry\" permission can only be assigned if the user has the \"read\" access for the \"cms.contentModel\".\n if (!canRead(newValue, \"cms.contentModel\")) {\n newValue = newValue.filter(item => item.name !== \"cms.contentEntry\");\n }\n\n onChange(newValue);\n },\n [value]\n );\n\n const formData = useMemo(() => {\n // This function only runs once on Form mount\n if (!Array.isArray(value)) {\n return {\n accessLevel: NO_ACCESS\n };\n }\n\n const hasFullAccess = value.some(\n item => item.name === CMS_PERMISSION_FULL_ACCESS || item.name === \"*\"\n );\n\n if (hasFullAccess) {\n return {\n accessLevel: FULL_ACCESS,\n endpoints: API_ENDPOINTS.map(item => item.id)\n };\n }\n\n const permissions = value.filter(item => item.name.startsWith(CMS_PERMISSION));\n\n if (!permissions.length) {\n return {\n accessLevel: NO_ACCESS\n };\n }\n\n // We're dealing with custom permissions. Let's first prepare data for \"content models\", \"content model groups\", \"content entries\" and \"environments\".\n const returnData = {\n accessLevel: CUSTOM_ACCESS,\n endpoints: permissions\n .filter(p => p.name.startsWith(\"cms.endpoint.\"))\n .map(p => p.name.replace(\"cms.endpoint.\", \"\"))\n };\n\n ENTITIES.forEach(entity => {\n const data: Record<string, any> = {\n [`${entity}AccessScope`]: FULL_ACCESS,\n [`${entity}RWD`]: \"r\",\n [`${entity}Props`]: {}\n };\n\n const entityPermission = permissions.find(\n item => item.name === `${CMS_PERMISSION}.${entity}`\n );\n\n if (entityPermission) {\n data[`${entity}AccessScope`] = entityPermission.own ? \"own\" : FULL_ACCESS;\n if (data[`${entity}AccessScope`] === \"own\") {\n data[`${entity}RWD`] = \"rwd\";\n } else {\n data[`${entity}RWD`] = entityPermission.rwd;\n }\n\n // If there are any non-empty props we'll set \"AccessScope\" to that prop.\n if (entityPermission.models) {\n data[`${entity}AccessScope`] = \"models\";\n data[`${entity}Props`] = { models: entityPermission.models };\n }\n\n if (entityPermission.groups) {\n data[`${entity}AccessScope`] = \"groups\";\n data[`${entity}Props`] = { groups: entityPermission.groups };\n }\n\n if (entity === \"contentEntry\") {\n data[`${entity}PW`] = entityPermission.pw ? entityPermission.pw.split(\"\") : [];\n }\n }\n\n Object.assign(returnData, data);\n });\n\n return returnData;\n }, []) as CmsSecurityPermission;\n\n const locales = getFormLocales();\n\n const getSelectedContentModelGroups = useCallback(data => {\n if (data && data.contentModelGroupAccessScope === \"groups\" && data.contentModelGroupProps) {\n return data.contentModelGroupProps.groups;\n }\n }, []);\n\n return (\n <Form<CmsSecurityPermission> data={formData} onChange={onFormChange}>\n {({ data, Bind, setValue }) => {\n const endpoints = data.endpoints || [];\n const graphQLEndpointAccess =\n endpoints.includes(\"read\") ||\n endpoints.includes(\"manage\") ||\n endpoints.includes(\"preview\");\n\n return (\n <Fragment>\n <Grid className={gridNoPaddingClass}>\n <Cell span={6}>\n <PermissionInfo title={t`Access Level`} />\n </Cell>\n <Cell span={6}>\n <Bind name={\"accessLevel\"}>\n <Select label={t`Access Level`}>\n <option value={NO_ACCESS}>{t`No access`}</option>\n <option value={FULL_ACCESS}>{t`Full access`}</option>\n <option value={CUSTOM_ACCESS}>{t`Custom access`}</option>\n </Select>\n </Bind>\n </Cell>\n </Grid>\n {data.accessLevel === CUSTOM_ACCESS && (\n <>\n <Grid>\n <Cell span={12}>\n <Bind name={\"endpoints\"}>\n <CheckboxGroup\n label={t`GraphQL API types`}\n description={t`Each type has a separate URL and a specific purpose.\n Check out the {link} key topic to learn more.`({\n link: (\n <Link\n to={GRAPHQL_API_TYPES_LINK}\n target={\"_blank\"}\n >\n Headless CMS GraphQL API\n </Link>\n )\n })}\n >\n {({ getValue, onChange }) =>\n API_ENDPOINTS.map(({ id, name }) => (\n <Checkbox\n key={id}\n label={name}\n value={getValue(id)}\n onChange={onChange(id)}\n />\n ))\n }\n </CheckboxGroup>\n </Bind>\n </Cell>\n </Grid>\n {graphQLEndpointAccess && (\n <ContentModelGroupPermission\n data={data}\n Bind={Bind}\n entity={\"contentModelGroup\"}\n title={\"Content Model Groups\"}\n locales={locales}\n />\n )}\n\n {graphQLEndpointAccess &&\n canRead(value, \"cms.contentModelGroup\") && (\n <ContentModelPermission\n locales={locales}\n data={data}\n setValue={setValue}\n Bind={Bind}\n entity={\"contentModel\"}\n title={\"Content Models\"}\n selectedContentModelGroups={getSelectedContentModelGroups(\n data\n )}\n />\n )}\n\n {graphQLEndpointAccess && canRead(value, \"cms.contentModel\") && (\n <ContentEntryPermission\n data={data}\n Bind={Bind}\n setValue={setValue}\n entity={\"contentEntry\"}\n title={\"Content Entries\"}\n />\n )}\n </>\n )}\n </Fragment>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["t","i18n","ns","CMS_PERMISSION","CMS_PERMISSION_FULL_ACCESS","FULL_ACCESS","NO_ACCESS","CUSTOM_ACCESS","ENTITIES","API_ENDPOINTS","id","name","GRAPHQL_API_TYPES_LINK","CMSPermissions","value","onChange","useI18N","getLocales","canRead","useCallback","permissionName","permission","find","item","rwd","includes","getFormLocales","localePermission","startsWith","map","l","code","Array","isArray","locales","onFormChange","data","newValue","filter","accessLevel","push","endpoints","forEach","api","entity","accessScope","own","pw","groups","undefined","models","join","props","reduce","acc","locale","formData","useMemo","hasFullAccess","some","permissions","length","returnData","p","replace","entityPermission","split","Object","assign","getSelectedContentModelGroups","contentModelGroupAccessScope","contentModelGroupProps","Bind","setValue","graphQLEndpointAccess","gridNoPaddingClass","link","getValue"],"sources":["CmsPermissions.tsx"],"sourcesContent":["/**\n * @pavel Please review types for security permissions\n * TODO @ts-refactor\n */\nimport React, { Fragment, useCallback, useMemo } from \"react\";\nimport ContentModelGroupPermission from \"./components/ContentModelGroupPermission\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { PermissionInfo, gridNoPaddingClass } from \"@webiny/app-admin/components/Permissions\";\nimport { Form } from \"@webiny/form\";\nimport { ContentModelPermission } from \"./components/ContentModelPermission\";\nimport { ContentEntryPermission } from \"./components/ContentEntryPermission\";\nimport { Checkbox, CheckboxGroup } from \"@webiny/ui/Checkbox\";\nimport { useI18N } from \"@webiny/app-i18n/hooks/useI18N\";\nimport { Link } from \"@webiny/react-router\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/permissionRenderer\");\n\nconst CMS_PERMISSION = \"cms\";\nconst CMS_PERMISSION_FULL_ACCESS = \"cms.*\";\nconst FULL_ACCESS = \"full\";\nconst NO_ACCESS = \"no\";\nconst CUSTOM_ACCESS = \"custom\";\nconst ENTITIES = [\"contentModel\", \"contentModelGroup\", \"contentEntry\"];\nconst API_ENDPOINTS = [\n { id: \"read\", name: \"Read\" },\n { id: \"manage\", name: \"Manage\" },\n { id: \"preview\", name: \"Preview\" }\n];\n\nconst GRAPHQL_API_TYPES_LINK =\n \"https://www.webiny.com/docs/key-topics/webiny-applications/headless-cms/graphql-api/#graphql-api-types\";\n\nexport interface CMSPermissionsProps {\n value: CmsSecurityPermission[];\n onChange: (value: CmsSecurityPermission[]) => void;\n}\nexport const CMSPermissions: React.FC<CMSPermissionsProps> = ({ value, onChange }) => {\n const { getLocales } = useI18N();\n\n const canRead = useCallback((value: any[], permissionName: string) => {\n const permission = value.find(item => item.name === permissionName);\n\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"r\");\n }, []);\n\n const getFormLocales = () => {\n const localePermission = (value || []).find(item => item.name.startsWith(\"content.i18n\"));\n if (!localePermission) {\n return getLocales().map(l => l.code);\n }\n\n return Array.isArray(localePermission.locales)\n ? localePermission.locales\n : getLocales().map(l => l.code);\n };\n\n const onFormChange = useCallback(\n (data: CmsSecurityPermission) => {\n let newValue: CmsSecurityPermission[] = [];\n if (Array.isArray(value)) {\n // Let's just filter out the `cms*` permission objects.\n // Based on the `data` we rebuild new permission object from scratch.\n newValue = value.filter(item => !item.name.startsWith(CMS_PERMISSION));\n }\n\n if (data.accessLevel === NO_ACCESS) {\n onChange(newValue);\n return;\n }\n\n if (data.accessLevel === FULL_ACCESS) {\n newValue.push({\n name: CMS_PERMISSION_FULL_ACCESS\n });\n onChange(newValue);\n return;\n }\n\n const endpoints = data.endpoints;\n\n // Handling custom access level.\n if (endpoints && Array.isArray(data.endpoints)) {\n API_ENDPOINTS.forEach(api => {\n if (endpoints.includes(api.id)) {\n newValue.push({\n name: `${CMS_PERMISSION}.endpoint.${api.id}`\n });\n }\n });\n }\n\n const locales = getFormLocales();\n\n // Content models, content model groups, content entries\n ENTITIES.forEach(entity => {\n const accessScope = data[`${entity}AccessScope`];\n if (accessScope && accessScope !== NO_ACCESS) {\n const permission: CmsSecurityPermission = {\n name: `${CMS_PERMISSION}.${entity}`,\n own: false,\n rwd: \"r\",\n pw: \"\",\n groups: undefined,\n models: undefined\n };\n\n if (accessScope === \"own\") {\n permission.own = true;\n permission.rwd = \"rwd\";\n } else {\n permission.rwd = data[`${entity}RWD`] || \"r\";\n }\n\n permission.pw = (data[`${entity}PW`] || []).join(\"\");\n\n if (accessScope === \"models\") {\n permission.models = {};\n }\n\n if (accessScope === \"groups\") {\n permission.groups = {};\n }\n\n const props = data[`${entity}Props`];\n if (props) {\n [\"models\", \"groups\"].forEach(entity => {\n if (accessScope === entity && props[entity]) {\n permission[entity] = locales.reduce((acc, locale) => {\n if (props[entity][locale]) {\n acc[locale] = props[entity][locale];\n }\n return acc;\n }, {} as Record<string, string>);\n }\n });\n }\n\n newValue.push(permission);\n }\n });\n // Remove dependent permissions.\n // The \"cms.contentModel\" permission can only be assigned if the user has the \"read\" access for the \"cms.contentModelGroup\".\n if (!canRead(newValue, \"cms.contentModelGroup\")) {\n newValue = newValue.filter(item => item.name !== \"cms.contentModel\");\n }\n // The \"cms.contentEntry\" permission can only be assigned if the user has the \"read\" access for the \"cms.contentModel\".\n if (!canRead(newValue, \"cms.contentModel\")) {\n newValue = newValue.filter(item => item.name !== \"cms.contentEntry\");\n }\n\n onChange(newValue);\n },\n [value]\n );\n\n const formData = useMemo(() => {\n // This function only runs once on Form mount\n if (!Array.isArray(value)) {\n return {\n accessLevel: NO_ACCESS\n };\n }\n\n const hasFullAccess = value.some(\n item => item.name === CMS_PERMISSION_FULL_ACCESS || item.name === \"*\"\n );\n\n if (hasFullAccess) {\n return {\n accessLevel: FULL_ACCESS,\n endpoints: API_ENDPOINTS.map(item => item.id)\n };\n }\n\n const permissions = value.filter(item => item.name.startsWith(CMS_PERMISSION));\n\n if (!permissions.length) {\n return {\n accessLevel: NO_ACCESS\n };\n }\n\n // We're dealing with custom permissions. Let's first prepare data for \"content models\", \"content model groups\", \"content entries\" and \"environments\".\n const returnData = {\n accessLevel: CUSTOM_ACCESS,\n endpoints: permissions\n .filter(p => p.name.startsWith(\"cms.endpoint.\"))\n .map(p => p.name.replace(\"cms.endpoint.\", \"\"))\n };\n\n ENTITIES.forEach(entity => {\n const data: Record<string, any> = {\n [`${entity}AccessScope`]: FULL_ACCESS,\n [`${entity}RWD`]: \"r\",\n [`${entity}Props`]: {}\n };\n\n const entityPermission = permissions.find(\n item => item.name === `${CMS_PERMISSION}.${entity}`\n );\n\n if (entityPermission) {\n data[`${entity}AccessScope`] = entityPermission.own ? \"own\" : FULL_ACCESS;\n if (data[`${entity}AccessScope`] === \"own\") {\n data[`${entity}RWD`] = \"rwd\";\n } else {\n data[`${entity}RWD`] = entityPermission.rwd;\n }\n\n // If there are any non-empty props we'll set \"AccessScope\" to that prop.\n if (entityPermission.models) {\n data[`${entity}AccessScope`] = \"models\";\n data[`${entity}Props`] = { models: entityPermission.models };\n }\n\n if (entityPermission.groups) {\n data[`${entity}AccessScope`] = \"groups\";\n data[`${entity}Props`] = { groups: entityPermission.groups };\n }\n\n if (entity === \"contentEntry\") {\n data[`${entity}PW`] = entityPermission.pw ? entityPermission.pw.split(\"\") : [];\n }\n }\n\n Object.assign(returnData, data);\n });\n\n return returnData;\n }, []) as CmsSecurityPermission;\n\n const locales = getFormLocales();\n\n const getSelectedContentModelGroups = useCallback(data => {\n if (data && data.contentModelGroupAccessScope === \"groups\" && data.contentModelGroupProps) {\n return data.contentModelGroupProps.groups;\n }\n }, []);\n\n return (\n <Form<CmsSecurityPermission> data={formData} onChange={onFormChange}>\n {({ data, Bind, setValue }) => {\n const endpoints = data.endpoints || [];\n const graphQLEndpointAccess =\n endpoints.includes(\"read\") ||\n endpoints.includes(\"manage\") ||\n endpoints.includes(\"preview\");\n\n return (\n <Fragment>\n <Grid className={gridNoPaddingClass}>\n <Cell span={6}>\n <PermissionInfo title={t`Access Level`} />\n </Cell>\n <Cell span={6}>\n <Bind name={\"accessLevel\"}>\n <Select label={t`Access Level`}>\n <option value={NO_ACCESS}>{t`No access`}</option>\n <option value={FULL_ACCESS}>{t`Full access`}</option>\n <option value={CUSTOM_ACCESS}>{t`Custom access`}</option>\n </Select>\n </Bind>\n </Cell>\n </Grid>\n {data.accessLevel === CUSTOM_ACCESS && (\n <>\n <Grid>\n <Cell span={12}>\n <Bind name={\"endpoints\"}>\n <CheckboxGroup\n label={t`GraphQL API types`}\n description={t`Each type has a separate URL and a specific purpose.\n Check out the {link} key topic to learn more.`({\n link: (\n <Link\n to={GRAPHQL_API_TYPES_LINK}\n target={\"_blank\"}\n >\n Headless CMS GraphQL API\n </Link>\n )\n })}\n >\n {({ getValue, onChange }) =>\n API_ENDPOINTS.map(({ id, name }) => (\n <Checkbox\n key={id}\n label={name}\n value={getValue(id)}\n onChange={onChange(id)}\n />\n ))\n }\n </CheckboxGroup>\n </Bind>\n </Cell>\n </Grid>\n {graphQLEndpointAccess && (\n <ContentModelGroupPermission\n data={data}\n Bind={Bind}\n entity={\"contentModelGroup\"}\n title={\"Content Model Groups\"}\n locales={locales}\n />\n )}\n\n {graphQLEndpointAccess &&\n canRead(value, \"cms.contentModelGroup\") && (\n <ContentModelPermission\n locales={locales}\n data={data}\n setValue={setValue}\n Bind={Bind}\n entity={\"contentModel\"}\n title={\"Content Models\"}\n selectedContentModelGroups={getSelectedContentModelGroups(\n data\n )}\n />\n )}\n\n {graphQLEndpointAccess && canRead(value, \"cms.contentModel\") && (\n <ContentEntryPermission\n data={data}\n Bind={Bind}\n setValue={setValue}\n entity={\"contentEntry\"}\n title={\"Content Entries\"}\n />\n )}\n </>\n )}\n </Fragment>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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"}
@@ -1,38 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.ContentEntryPermission = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _get = _interopRequireDefault(require("lodash/get"));
17
-
18
12
  var _Grid = require("@webiny/ui/Grid");
19
-
20
13
  var _Typography = require("@webiny/ui/Typography");
21
-
22
14
  var _Select = require("@webiny/ui/Select");
23
-
24
15
  var _i18n = require("@webiny/app/i18n");
25
-
26
16
  var _Elevation = require("@webiny/ui/Elevation");
27
-
28
17
  var _Checkbox = require("@webiny/ui/Checkbox");
29
-
30
18
  var _StyledComponents = require("./StyledComponents");
31
-
32
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
33
-
34
20
  var t = _i18n.i18n.ns("app-headless-cms/admin/plugins/permissionRenderer");
35
-
36
21
  var pwOptions = [{
37
22
  id: "p",
38
23
  name: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Publish"])))
@@ -40,13 +25,12 @@ var pwOptions = [{
40
25
  id: "u",
41
26
  name: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Unpublish"])))
42
27
  }];
43
-
44
28
  var ContentEntryPermission = function ContentEntryPermission(_ref) {
45
29
  var Bind = _ref.Bind,
46
- data = _ref.data,
47
- entity = _ref.entity,
48
- setValue = _ref.setValue,
49
- title = _ref.title;
30
+ data = _ref.data,
31
+ entity = _ref.entity,
32
+ setValue = _ref.setValue,
33
+ title = _ref.title;
50
34
  // Set "cms.contentEntry" access scope to "own" if "cms.contentModel" === "own".
51
35
  (0, _react.useEffect)(function () {
52
36
  if ((0, _get.default)(data, "contentModelAccessScope") === "own" && (0, _get.default)(data, "".concat(entity, "AccessScope")) !== "own") {
@@ -80,7 +64,6 @@ var ContentEntryPermission = function ContentEntryPermission(_ref) {
80
64
  if (value === "own") {
81
65
  setValue("".concat(entity, "RWD"), "rwd");
82
66
  }
83
-
84
67
  cb(value);
85
68
  }
86
69
  }, /*#__PURE__*/_react.default.createElement(_Select.Select, {
@@ -118,10 +101,10 @@ var ContentEntryPermission = function ContentEntryPermission(_ref) {
118
101
  description: t(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["Publishing-related actions that can be performed on content entries."])))
119
102
  }, function (_ref2) {
120
103
  var getValue = _ref2.getValue,
121
- onChange = _ref2.onChange;
104
+ onChange = _ref2.onChange;
122
105
  return pwOptions.map(function (_ref3) {
123
106
  var id = _ref3.id,
124
- name = _ref3.name;
107
+ name = _ref3.name;
125
108
  return /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
126
109
  disabled: [undefined, "no"].includes(data["".concat(entity, "AccessScope")]),
127
110
  key: id,
@@ -132,5 +115,4 @@ var ContentEntryPermission = function ContentEntryPermission(_ref) {
132
115
  });
133
116
  }))) : null))));
134
117
  };
135
-
136
118
  exports.ContentEntryPermission = ContentEntryPermission;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","pwOptions","id","name","ContentEntryPermission","Bind","data","entity","setValue","title","useEffect","get","endpoints","disabledPrimaryActions","undefined","includes","marginTop","padding","paddingBottom","value","cb","getValue","onChange","map"],"sources":["ContentEntryPermission.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Checkbox, CheckboxGroup } from \"@webiny/ui/Checkbox\";\nimport { Note } from \"./StyledComponents\";\nimport { BindComponent } from \"@webiny/form/types\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/permissionRenderer\");\n\ninterface PermissionOption {\n id: string;\n name: string;\n}\nconst pwOptions: PermissionOption[] = [\n { id: \"p\", name: t`Publish` },\n { id: \"u\", name: t`Unpublish` }\n];\n\ninterface ContentEntryPermissionProps {\n Bind: BindComponent;\n data: CmsSecurityPermission;\n entity: string;\n setValue: (name: string, value: string) => void;\n title: string;\n}\nexport const ContentEntryPermission: React.FC<ContentEntryPermissionProps> = ({\n Bind,\n data,\n entity,\n setValue,\n title\n}) => {\n // Set \"cms.contentEntry\" access scope to \"own\" if \"cms.contentModel\" === \"own\".\n useEffect(() => {\n if (\n get(data, `contentModelAccessScope`) === \"own\" &&\n get(data, `${entity}AccessScope`) !== \"own\"\n ) {\n setValue(`${entity}AccessScope`, \"own\");\n }\n }, [data]);\n\n const endpoints = data.endpoints || [];\n\n const disabledPrimaryActions =\n [undefined, \"own\", \"no\"].includes(data[`${entity}AccessScope`]) ||\n !endpoints.includes(\"manage\");\n\n return (\n <Elevation z={1} style={{ marginTop: 10 }}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"overline\"}>{title}</Typography>\n </Cell>\n <Cell span={12}>\n <Grid style={{ padding: 0, paddingBottom: 24 }}>\n <Cell span={12}>\n <Bind\n defaultValue={\"full\"}\n name={`${entity}AccessScope`}\n beforeChange={(value, cb) => {\n if (value === \"own\") {\n setValue(`${entity}RWD`, \"rwd\");\n }\n cb(value);\n }}\n >\n <Select\n label={t`Access Scope`}\n disabled={data[`contentModelAccessScope`] === \"own\"}\n >\n <option value={\"full\"}>{t`All entries`}</option>\n {(endpoints.includes(\"manage\") && (\n <option\n value={\"own\"}\n >{t`Only entries created by the user`}</option>\n )) || <></>}\n </Select>\n </Bind>\n {data[`contentModelAccessScope`] === \"own\" && (\n <Note>\n <Typography use={\"caption\"}>\n <span className={\"highlight\"}>Content Entry</span>\n &nbsp;{t`access depends upon`}&nbsp;\n <span className={\"highlight\"}>Content Model</span>\n </Typography>\n </Note>\n )}\n </Cell>\n\n <Cell span={12}>\n <Bind name={`${entity}RWD`}>\n <Select\n label={t`Primary Actions`}\n disabled={disabledPrimaryActions}\n >\n <option value={\"r\"}>{t`Read`}</option>\n {endpoints.includes(\"manage\") ? (\n <option value={\"rw\"}>{t`Read, write`}</option>\n ) : (\n <></>\n )}\n {endpoints.includes(\"manage\") ? (\n <option value={\"rwd\"}>{t`Read, write, delete`}</option>\n ) : (\n <></>\n )}\n </Select>\n </Bind>\n </Cell>\n {endpoints.includes(\"manage\") ? (\n <Cell span={12}>\n <Bind name={`${entity}PW`}>\n <CheckboxGroup\n label={t`Publishing actions`}\n description={t`Publishing-related actions that can be performed on content entries.`}\n >\n {({ getValue, onChange }) =>\n pwOptions.map(({ id, name }) => (\n <Checkbox\n disabled={[undefined, \"no\"].includes(\n data[`${entity}AccessScope`]\n )}\n key={id}\n label={name}\n value={getValue(id)}\n onChange={onChange(id)}\n />\n ))\n }\n </CheckboxGroup>\n </Bind>\n </Cell>\n ) : null}\n </Grid>\n </Cell>\n </Grid>\n </Elevation>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAIA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,mDAAR,CAAV;;AAMA,IAAMC,SAA6B,GAAG,CAClC;EAAEC,EAAE,EAAE,GAAN;EAAWC,IAAI,EAAEL,CAAF;AAAf,CADkC,EAElC;EAAEI,EAAE,EAAE,GAAN;EAAWC,IAAI,EAAEL,CAAF;AAAf,CAFkC,CAAtC;;AAYO,IAAMM,sBAA6D,GAAG,SAAhEA,sBAAgE,OAMvE;EAAA,IALFC,IAKE,QALFA,IAKE;EAAA,IAJFC,IAIE,QAJFA,IAIE;EAAA,IAHFC,MAGE,QAHFA,MAGE;EAAA,IAFFC,QAEE,QAFFA,QAEE;EAAA,IADFC,KACE,QADFA,KACE;EACF;EACA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IACI,IAAAC,YAAA,EAAIL,IAAJ,iCAAyC,KAAzC,IACA,IAAAK,YAAA,EAAIL,IAAJ,YAAaC,MAAb,sBAAsC,KAF1C,EAGE;MACEC,QAAQ,WAAID,MAAJ,kBAAyB,KAAzB,CAAR;IACH;EACJ,CAPD,EAOG,CAACD,IAAD,CAPH;EASA,IAAMM,SAAS,GAAGN,IAAI,CAACM,SAAL,IAAkB,EAApC;EAEA,IAAMC,sBAAsB,GACxB,CAACC,SAAD,EAAY,KAAZ,EAAmB,IAAnB,EAAyBC,QAAzB,CAAkCT,IAAI,WAAIC,MAAJ,iBAAtC,KACA,CAACK,SAAS,CAACG,QAAV,CAAmB,QAAnB,CAFL;EAIA,oBACI,6BAAC,oBAAD;IAAW,CAAC,EAAE,CAAd;IAAiB,KAAK,EAAE;MAAEC,SAAS,EAAE;IAAb;EAAxB,gBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA8BP,KAA9B,CADJ,CADJ,eAII,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,UAAD;IAAM,KAAK,EAAE;MAAEQ,OAAO,EAAE,CAAX;MAAcC,aAAa,EAAE;IAA7B;EAAb,gBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IACI,YAAY,EAAE,MADlB;IAEI,IAAI,YAAKX,MAAL,gBAFR;IAGI,YAAY,EAAE,sBAACY,KAAD,EAAQC,EAAR,EAAe;MACzB,IAAID,KAAK,KAAK,KAAd,EAAqB;QACjBX,QAAQ,WAAID,MAAJ,UAAiB,KAAjB,CAAR;MACH;;MACDa,EAAE,CAACD,KAAD,CAAF;IACH;EARL,gBAUI,6BAAC,cAAD;IACI,KAAK,EAAErB,CAAF,iGADT;IAEI,QAAQ,EAAEQ,IAAI,2BAAJ,KAAoC;EAFlD,gBAII;IAAQ,KAAK,EAAE;EAAf,GAAwBR,CAAxB,iGAJJ,EAKMc,SAAS,CAACG,QAAV,CAAmB,QAAnB,kBACE;IACI,KAAK,EAAE;EADX,GAEEjB,CAFF,sHADH,iBAIK,2DATV,CAVJ,CADJ,EAuBKQ,IAAI,2BAAJ,KAAoC,KAApC,iBACG,6BAAC,sBAAD,qBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,gBACI;IAAM,SAAS,EAAE;EAAjB,GAA8B,eAA9B,CADJ,EACsD,MADtD,EAEWR,CAFX,0GAEkC,MAFlC,eAGI;IAAM,SAAS,EAAE;EAAjB,GAA8B,eAA9B,CAHJ,CADJ,CAxBR,CADJ,eAmCI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,YAAKS,MAAL;EAAV,gBACI,6BAAC,cAAD;IACI,KAAK,EAAET,CAAF,oGADT;IAEI,QAAQ,EAAEe;EAFd,gBAII;IAAQ,KAAK,EAAE;EAAf,GAAqBf,CAArB,0FAJJ,EAKKc,SAAS,CAACG,QAAV,CAAmB,QAAnB,iBACG;IAAQ,KAAK,EAAE;EAAf,GAAsBjB,CAAtB,iGADH,gBAGG,2DARR,EAUKc,SAAS,CAACG,QAAV,CAAmB,QAAnB,iBACG;IAAQ,KAAK,EAAE;EAAf,GAAuBjB,CAAvB,2GADH,gBAGG,2DAbR,CADJ,CADJ,CAnCJ,EAuDKc,SAAS,CAACG,QAAV,CAAmB,QAAnB,iBACG,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,YAAKR,MAAL;EAAV,gBACI,6BAAC,uBAAD;IACI,KAAK,EAAET,CAAF,yGADT;IAEI,WAAW,EAAEA,CAAF;EAFf,GAIK;IAAA,IAAGuB,QAAH,SAAGA,QAAH;IAAA,IAAaC,QAAb,SAAaA,QAAb;IAAA,OACGrB,SAAS,CAACsB,GAAV,CAAc;MAAA,IAAGrB,EAAH,SAAGA,EAAH;MAAA,IAAOC,IAAP,SAAOA,IAAP;MAAA,oBACV,6BAAC,kBAAD;QACI,QAAQ,EAAE,CAACW,SAAD,EAAY,IAAZ,EAAkBC,QAAlB,CACNT,IAAI,WAAIC,MAAJ,iBADE,CADd;QAII,GAAG,EAAEL,EAJT;QAKI,KAAK,EAAEC,IALX;QAMI,KAAK,EAAEkB,QAAQ,CAACnB,EAAD,CANnB;QAOI,QAAQ,EAAEoB,QAAQ,CAACpB,EAAD;MAPtB,EADU;IAAA,CAAd,CADH;EAAA,CAJL,CADJ,CADJ,CADH,GAuBG,IA9ER,CADJ,CAJJ,CADJ,CADJ;AA2FH,CAlHM"}
1
+ {"version":3,"names":["t","i18n","ns","pwOptions","id","name","ContentEntryPermission","Bind","data","entity","setValue","title","useEffect","get","endpoints","disabledPrimaryActions","undefined","includes","marginTop","padding","paddingBottom","value","cb","getValue","onChange","map"],"sources":["ContentEntryPermission.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Checkbox, CheckboxGroup } from \"@webiny/ui/Checkbox\";\nimport { Note } from \"./StyledComponents\";\nimport { BindComponent } from \"@webiny/form/types\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/permissionRenderer\");\n\ninterface PermissionOption {\n id: string;\n name: string;\n}\nconst pwOptions: PermissionOption[] = [\n { id: \"p\", name: t`Publish` },\n { id: \"u\", name: t`Unpublish` }\n];\n\ninterface ContentEntryPermissionProps {\n Bind: BindComponent;\n data: CmsSecurityPermission;\n entity: string;\n setValue: (name: string, value: string) => void;\n title: string;\n}\nexport const ContentEntryPermission: React.FC<ContentEntryPermissionProps> = ({\n Bind,\n data,\n entity,\n setValue,\n title\n}) => {\n // Set \"cms.contentEntry\" access scope to \"own\" if \"cms.contentModel\" === \"own\".\n useEffect(() => {\n if (\n get(data, `contentModelAccessScope`) === \"own\" &&\n get(data, `${entity}AccessScope`) !== \"own\"\n ) {\n setValue(`${entity}AccessScope`, \"own\");\n }\n }, [data]);\n\n const endpoints = data.endpoints || [];\n\n const disabledPrimaryActions =\n [undefined, \"own\", \"no\"].includes(data[`${entity}AccessScope`]) ||\n !endpoints.includes(\"manage\");\n\n return (\n <Elevation z={1} style={{ marginTop: 10 }}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"overline\"}>{title}</Typography>\n </Cell>\n <Cell span={12}>\n <Grid style={{ padding: 0, paddingBottom: 24 }}>\n <Cell span={12}>\n <Bind\n defaultValue={\"full\"}\n name={`${entity}AccessScope`}\n beforeChange={(value, cb) => {\n if (value === \"own\") {\n setValue(`${entity}RWD`, \"rwd\");\n }\n cb(value);\n }}\n >\n <Select\n label={t`Access Scope`}\n disabled={data[`contentModelAccessScope`] === \"own\"}\n >\n <option value={\"full\"}>{t`All entries`}</option>\n {(endpoints.includes(\"manage\") && (\n <option\n value={\"own\"}\n >{t`Only entries created by the user`}</option>\n )) || <></>}\n </Select>\n </Bind>\n {data[`contentModelAccessScope`] === \"own\" && (\n <Note>\n <Typography use={\"caption\"}>\n <span className={\"highlight\"}>Content Entry</span>\n &nbsp;{t`access depends upon`}&nbsp;\n <span className={\"highlight\"}>Content Model</span>\n </Typography>\n </Note>\n )}\n </Cell>\n\n <Cell span={12}>\n <Bind name={`${entity}RWD`}>\n <Select\n label={t`Primary Actions`}\n disabled={disabledPrimaryActions}\n >\n <option value={\"r\"}>{t`Read`}</option>\n {endpoints.includes(\"manage\") ? (\n <option value={\"rw\"}>{t`Read, write`}</option>\n ) : (\n <></>\n )}\n {endpoints.includes(\"manage\") ? (\n <option value={\"rwd\"}>{t`Read, write, delete`}</option>\n ) : (\n <></>\n )}\n </Select>\n </Bind>\n </Cell>\n {endpoints.includes(\"manage\") ? (\n <Cell span={12}>\n <Bind name={`${entity}PW`}>\n <CheckboxGroup\n label={t`Publishing actions`}\n description={t`Publishing-related actions that can be performed on content entries.`}\n >\n {({ getValue, onChange }) =>\n pwOptions.map(({ id, name }) => (\n <Checkbox\n disabled={[undefined, \"no\"].includes(\n data[`${entity}AccessScope`]\n )}\n key={id}\n label={name}\n value={getValue(id)}\n onChange={onChange(id)}\n />\n ))\n }\n </CheckboxGroup>\n </Bind>\n </Cell>\n ) : null}\n </Grid>\n </Cell>\n </Grid>\n </Elevation>\n );\n};\n"],"mappings":"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"}
@@ -1,42 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _Grid = require("@webiny/ui/Grid");
17
-
18
12
  var _Select = require("@webiny/ui/Select");
19
-
20
13
  var _i18n = require("@webiny/app/i18n");
21
-
22
14
  var _Elevation = require("@webiny/ui/Elevation");
23
-
24
15
  var _Typography = require("@webiny/ui/Typography");
25
-
26
16
  var _PermissionSelector = require("./PermissionSelector");
27
-
28
17
  var _useCmsData = require("./useCmsData");
29
-
30
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
31
-
32
19
  var t = _i18n.i18n.ns("app-headless-cms/admin/plugins/permissionRenderer");
33
-
34
20
  var ContentModelGroupPermission = function ContentModelGroupPermission(_ref) {
35
21
  var Bind = _ref.Bind,
36
- data = _ref.data,
37
- entity = _ref.entity,
38
- title = _ref.title,
39
- locales = _ref.locales;
22
+ data = _ref.data,
23
+ entity = _ref.entity,
24
+ title = _ref.title,
25
+ locales = _ref.locales;
40
26
  var modelsGroups = (0, _useCmsData.useCmsData)(locales);
41
27
  var getItems = (0, _react.useCallback)(function (code) {
42
28
  return modelsGroups[code]["groups"];
@@ -93,6 +79,5 @@ var ContentModelGroupPermission = function ContentModelGroupPermission(_ref) {
93
79
  value: "rwd"
94
80
  }, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["Read, write, delete"])))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null))))))));
95
81
  };
96
-
97
82
  var _default = ContentModelGroupPermission;
98
83
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","ContentModelGroupPermission","Bind","data","entity","title","locales","modelsGroups","useCmsData","getItems","useCallback","code","endpoints","disabledPrimaryActions","undefined","includes","marginTop","padding","paddingBottom"],"sources":["ContentModelGroupPermission.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { PermissionSelector, PermissionSelectorWrapper } from \"./PermissionSelector\";\nimport { useCmsData } from \"./useCmsData\";\nimport { BindComponent } from \"@webiny/form/types\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/permissionRenderer\");\n\ninterface ContentModelGroupPermissionProps {\n Bind: BindComponent;\n data: CmsSecurityPermission;\n entity: string;\n title: string;\n locales: string[];\n}\nconst ContentModelGroupPermission: React.FC<ContentModelGroupPermissionProps> = ({\n Bind,\n data,\n entity,\n title,\n locales\n}) => {\n const modelsGroups = useCmsData(locales);\n\n const getItems = useCallback(\n (code: string) => {\n return modelsGroups[code][\"groups\"];\n },\n [modelsGroups]\n );\n\n const endpoints = data.endpoints || [];\n\n const disabledPrimaryActions =\n [undefined, \"own\", \"no\"].includes(data[`${entity}AccessScope`]) ||\n !endpoints.includes(\"manage\");\n\n return (\n <Elevation z={1} style={{ marginTop: 10 }}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"overline\"}>{title}</Typography>\n </Cell>\n <Cell span={12}>\n <Grid style={{ padding: 0, paddingBottom: 24 }}>\n <Cell span={12}>\n <Bind name={`${entity}AccessScope`} defaultValue={\"full\"}>\n <Select label={t`Access Scope`}>\n <option value={\"full\"}>{t`All groups`}</option>\n <option value={\"groups\"}>{t`Only specific groups`}</option>\n {(endpoints.includes(\"manage\") && (\n <option\n value={\"own\"}\n >{t`Only groups created by the user`}</option>\n )) || <></>}\n </Select>\n </Bind>\n </Cell>\n {data[`${entity}AccessScope`] === \"groups\" && (\n <PermissionSelectorWrapper>\n <PermissionSelector\n locales={locales}\n Bind={Bind}\n entity={entity}\n selectorKey={\"groups\"}\n getItems={getItems}\n />\n </PermissionSelectorWrapper>\n )}\n <Cell span={12}>\n <Bind name={`${entity}RWD`}>\n <Select\n label={t`Primary Actions`}\n disabled={disabledPrimaryActions}\n >\n <option value={\"r\"}>{t`Read`}</option>\n {endpoints.includes(\"manage\") ? (\n <option value={\"rw\"}>{t`Read, write`}</option>\n ) : (\n <></>\n )}\n {endpoints.includes(\"manage\") ? (\n <option value={\"rwd\"}>{t`Read, write, delete`}</option>\n ) : (\n <></>\n )}\n </Select>\n </Bind>\n </Cell>\n </Grid>\n </Cell>\n </Grid>\n </Elevation>\n );\n};\n\nexport default ContentModelGroupPermission;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAIA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,mDAAR,CAAV;;AASA,IAAMC,2BAAuE,GAAG,SAA1EA,2BAA0E,OAM1E;EAAA,IALFC,IAKE,QALFA,IAKE;EAAA,IAJFC,IAIE,QAJFA,IAIE;EAAA,IAHFC,MAGE,QAHFA,MAGE;EAAA,IAFFC,KAEE,QAFFA,KAEE;EAAA,IADFC,OACE,QADFA,OACE;EACF,IAAMC,YAAY,GAAG,IAAAC,sBAAA,EAAWF,OAAX,CAArB;EAEA,IAAMG,QAAQ,GAAG,IAAAC,kBAAA,EACb,UAACC,IAAD,EAAkB;IACd,OAAOJ,YAAY,CAACI,IAAD,CAAZ,CAAmB,QAAnB,CAAP;EACH,CAHY,EAIb,CAACJ,YAAD,CAJa,CAAjB;EAOA,IAAMK,SAAS,GAAGT,IAAI,CAACS,SAAL,IAAkB,EAApC;EAEA,IAAMC,sBAAsB,GACxB,CAACC,SAAD,EAAY,KAAZ,EAAmB,IAAnB,EAAyBC,QAAzB,CAAkCZ,IAAI,WAAIC,MAAJ,iBAAtC,KACA,CAACQ,SAAS,CAACG,QAAV,CAAmB,QAAnB,CAFL;EAIA,oBACI,6BAAC,oBAAD;IAAW,CAAC,EAAE,CAAd;IAAiB,KAAK,EAAE;MAAEC,SAAS,EAAE;IAAb;EAAxB,gBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA8BX,KAA9B,CADJ,CADJ,eAII,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,UAAD;IAAM,KAAK,EAAE;MAAEY,OAAO,EAAE,CAAX;MAAcC,aAAa,EAAE;IAA7B;EAAb,gBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,YAAKd,MAAL,gBAAV;IAAoC,YAAY,EAAE;EAAlD,gBACI,6BAAC,cAAD;IAAQ,KAAK,EAAEN,CAAF;EAAb,gBACI;IAAQ,KAAK,EAAE;EAAf,GAAwBA,CAAxB,gGADJ,eAEI;IAAQ,KAAK,EAAE;EAAf,GAA0BA,CAA1B,0GAFJ,EAGMc,SAAS,CAACG,QAAV,CAAmB,QAAnB,kBACE;IACI,KAAK,EAAE;EADX,GAEEjB,CAFF,qHADH,iBAIK,2DAPV,CADJ,CADJ,CADJ,EAcKK,IAAI,WAAIC,MAAJ,iBAAJ,KAAiC,QAAjC,iBACG,6BAAC,6CAAD,qBACI,6BAAC,sCAAD;IACI,OAAO,EAAEE,OADb;IAEI,IAAI,EAAEJ,IAFV;IAGI,MAAM,EAAEE,MAHZ;IAII,WAAW,EAAE,QAJjB;IAKI,QAAQ,EAAEK;EALd,EADJ,CAfR,eAyBI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,YAAKL,MAAL;EAAV,gBACI,6BAAC,cAAD;IACI,KAAK,EAAEN,CAAF,oGADT;IAEI,QAAQ,EAAEe;EAFd,gBAII;IAAQ,KAAK,EAAE;EAAf,GAAqBf,CAArB,0FAJJ,EAKKc,SAAS,CAACG,QAAV,CAAmB,QAAnB,iBACG;IAAQ,KAAK,EAAE;EAAf,GAAsBjB,CAAtB,iGADH,gBAGG,2DARR,EAUKc,SAAS,CAACG,QAAV,CAAmB,QAAnB,iBACG;IAAQ,KAAK,EAAE;EAAf,GAAuBjB,CAAvB,yGADH,gBAGG,2DAbR,CADJ,CADJ,CAzBJ,CADJ,CAJJ,CADJ,CADJ;AAyDH,CA/ED;;eAiFeG,2B"}
1
+ {"version":3,"names":["t","i18n","ns","ContentModelGroupPermission","Bind","data","entity","title","locales","modelsGroups","useCmsData","getItems","useCallback","code","endpoints","disabledPrimaryActions","undefined","includes","marginTop","padding","paddingBottom"],"sources":["ContentModelGroupPermission.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { PermissionSelector, PermissionSelectorWrapper } from \"./PermissionSelector\";\nimport { useCmsData } from \"./useCmsData\";\nimport { BindComponent } from \"@webiny/form/types\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/permissionRenderer\");\n\ninterface ContentModelGroupPermissionProps {\n Bind: BindComponent;\n data: CmsSecurityPermission;\n entity: string;\n title: string;\n locales: string[];\n}\nconst ContentModelGroupPermission: React.FC<ContentModelGroupPermissionProps> = ({\n Bind,\n data,\n entity,\n title,\n locales\n}) => {\n const modelsGroups = useCmsData(locales);\n\n const getItems = useCallback(\n (code: string) => {\n return modelsGroups[code][\"groups\"];\n },\n [modelsGroups]\n );\n\n const endpoints = data.endpoints || [];\n\n const disabledPrimaryActions =\n [undefined, \"own\", \"no\"].includes(data[`${entity}AccessScope`]) ||\n !endpoints.includes(\"manage\");\n\n return (\n <Elevation z={1} style={{ marginTop: 10 }}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"overline\"}>{title}</Typography>\n </Cell>\n <Cell span={12}>\n <Grid style={{ padding: 0, paddingBottom: 24 }}>\n <Cell span={12}>\n <Bind name={`${entity}AccessScope`} defaultValue={\"full\"}>\n <Select label={t`Access Scope`}>\n <option value={\"full\"}>{t`All groups`}</option>\n <option value={\"groups\"}>{t`Only specific groups`}</option>\n {(endpoints.includes(\"manage\") && (\n <option\n value={\"own\"}\n >{t`Only groups created by the user`}</option>\n )) || <></>}\n </Select>\n </Bind>\n </Cell>\n {data[`${entity}AccessScope`] === \"groups\" && (\n <PermissionSelectorWrapper>\n <PermissionSelector\n locales={locales}\n Bind={Bind}\n entity={entity}\n selectorKey={\"groups\"}\n getItems={getItems}\n />\n </PermissionSelectorWrapper>\n )}\n <Cell span={12}>\n <Bind name={`${entity}RWD`}>\n <Select\n label={t`Primary Actions`}\n disabled={disabledPrimaryActions}\n >\n <option value={\"r\"}>{t`Read`}</option>\n {endpoints.includes(\"manage\") ? (\n <option value={\"rw\"}>{t`Read, write`}</option>\n ) : (\n <></>\n )}\n {endpoints.includes(\"manage\") ? (\n <option value={\"rwd\"}>{t`Read, write, delete`}</option>\n ) : (\n <></>\n )}\n </Select>\n </Bind>\n </Cell>\n </Grid>\n </Cell>\n </Grid>\n </Elevation>\n );\n};\n\nexport default ContentModelGroupPermission;\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA0C;AAI1C,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,mDAAmD,CAAC;AAStE,IAAMC,2BAAuE,GAAG,SAA1EA,2BAAuE,OAMvE;EAAA,IALFC,IAAI,QAAJA,IAAI;IACJC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNC,KAAK,QAALA,KAAK;IACLC,OAAO,QAAPA,OAAO;EAEP,IAAMC,YAAY,GAAG,IAAAC,sBAAU,EAACF,OAAO,CAAC;EAExC,IAAMG,QAAQ,GAAG,IAAAC,kBAAW,EACxB,UAACC,IAAY,EAAK;IACd,OAAOJ,YAAY,CAACI,IAAI,CAAC,CAAC,QAAQ,CAAC;EACvC,CAAC,EACD,CAACJ,YAAY,CAAC,CACjB;EAED,IAAMK,SAAS,GAAGT,IAAI,CAACS,SAAS,IAAI,EAAE;EAEtC,IAAMC,sBAAsB,GACxB,CAACC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAACC,QAAQ,CAACZ,IAAI,WAAIC,MAAM,iBAAc,CAAC,IAC/D,CAACQ,SAAS,CAACG,QAAQ,CAAC,QAAQ,CAAC;EAEjC,oBACI,6BAAC,oBAAS;IAAC,CAAC,EAAE,CAAE;IAAC,KAAK,EAAE;MAAEC,SAAS,EAAE;IAAG;EAAE,gBACtC,6BAAC,UAAI,qBACD,6BAAC,UAAI;IAAC,IAAI,EAAE;EAAG,gBACX,6BAAC,sBAAU;IAAC,GAAG,EAAE;EAAW,GAAEX,KAAK,CAAc,CAC9C,eACP,6BAAC,UAAI;IAAC,IAAI,EAAE;EAAG,gBACX,6BAAC,UAAI;IAAC,KAAK,EAAE;MAAEY,OAAO,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAG;EAAE,gBAC3C,6BAAC,UAAI;IAAC,IAAI,EAAE;EAAG,gBACX,6BAAC,IAAI;IAAC,IAAI,YAAKd,MAAM,gBAAc;IAAC,YAAY,EAAE;EAAO,gBACrD,6BAAC,cAAM;IAAC,KAAK,EAAEN,CAAC;EAAe,gBAC3B;IAAQ,KAAK,EAAE;EAAO,GAAEA,CAAC,gGAAsB,eAC/C;IAAQ,KAAK,EAAE;EAAS,GAAEA,CAAC,0GAAgC,EACzDc,SAAS,CAACG,QAAQ,CAAC,QAAQ,CAAC,iBAC1B;IACI,KAAK,EAAE;EAAM,GACfjB,CAAC,qHACN,iBAAK,2DAAK,CACN,CACN,CACJ,EACNK,IAAI,WAAIC,MAAM,iBAAc,KAAK,QAAQ,iBACtC,6BAAC,6CAAyB,qBACtB,6BAAC,sCAAkB;IACf,OAAO,EAAEE,OAAQ;IACjB,IAAI,EAAEJ,IAAK;IACX,MAAM,EAAEE,MAAO;IACf,WAAW,EAAE,QAAS;IACtB,QAAQ,EAAEK;EAAS,EACrB,CAET,eACD,6BAAC,UAAI;IAAC,IAAI,EAAE;EAAG,gBACX,6BAAC,IAAI;IAAC,IAAI,YAAKL,MAAM;EAAM,gBACvB,6BAAC,cAAM;IACH,KAAK,EAAEN,CAAC,oGAAkB;IAC1B,QAAQ,EAAEe;EAAuB,gBAEjC;IAAQ,KAAK,EAAE;EAAI,GAAEf,CAAC,0FAAgB,EACrCc,SAAS,CAACG,QAAQ,CAAC,QAAQ,CAAC,gBACzB;IAAQ,KAAK,EAAE;EAAK,GAAEjB,CAAC,iGAAuB,gBAE9C,2DACH,EACAc,SAAS,CAACG,QAAQ,CAAC,QAAQ,CAAC,gBACzB;IAAQ,KAAK,EAAE;EAAM,GAAEjB,CAAC,yGAA+B,gBAEvD,2DACH,CACI,CACN,CACJ,CACJ,CACJ,CACJ,CACC;AAEpB,CAAC;AAAC,eAEaG,2BAA2B;AAAA"}
@@ -1,28 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
11
  var _emotion = require("emotion");
17
-
18
12
  var _groupBy = _interopRequireDefault(require("lodash/groupBy"));
19
-
20
13
  var _get = _interopRequireDefault(require("lodash/get"));
21
-
22
14
  var _Typography = require("@webiny/ui/Typography");
23
-
24
15
  var _Checkbox = require("@webiny/ui/Checkbox");
25
-
26
16
  var groupStyles = /*#__PURE__*/(0, _emotion.css)({
27
17
  marginLeft: 20
28
18
  }, "label:groupStyles;");
@@ -31,11 +21,10 @@ var labelStyles = /*#__PURE__*/(0, _emotion.css)({
31
21
  color: "var(--mdc-theme-text-secondary-on-light)",
32
22
  fontWeight: "bold"
33
23
  }, "label:labelStyles;");
34
-
35
24
  var ContentModelList = function ContentModelList(_ref) {
36
25
  var items = _ref.items,
37
- onChange = _ref.onChange,
38
- getValue = _ref.getValue;
26
+ onChange = _ref.onChange,
27
+ getValue = _ref.getValue;
39
28
  var list = Object.entries((0, _groupBy.default)(items.map(function (item) {
40
29
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
41
30
  groupName: (0, _get.default)(item, "group.label")
@@ -43,9 +32,8 @@ var ContentModelList = function ContentModelList(_ref) {
43
32
  }), "groupName"));
44
33
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, list.map(function (_ref2) {
45
34
  var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
46
- key = _ref3[0],
47
- value = _ref3[1];
48
-
35
+ key = _ref3[0],
36
+ value = _ref3[1];
49
37
  return /*#__PURE__*/_react.default.createElement("div", {
50
38
  key: key,
51
39
  className: groupStyles
@@ -54,7 +42,7 @@ var ContentModelList = function ContentModelList(_ref) {
54
42
  className: labelStyles
55
43
  }, key), value.map(function (_ref4) {
56
44
  var id = _ref4.id,
57
- label = _ref4.label;
45
+ label = _ref4.label;
58
46
  return /*#__PURE__*/_react.default.createElement("div", {
59
47
  key: id
60
48
  }, /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
@@ -66,6 +54,5 @@ var ContentModelList = function ContentModelList(_ref) {
66
54
  }));
67
55
  }));
68
56
  };
69
-
70
57
  var _default = ContentModelList;
71
58
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["groupStyles","css","marginLeft","labelStyles","display","color","fontWeight","ContentModelList","items","onChange","getValue","list","Object","entries","groupBy","map","item","groupName","get","key","value","id","label"],"sources":["ContentModelList.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport groupBy from \"lodash/groupBy\";\nimport get from \"lodash/get\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Checkbox } from \"@webiny/ui/Checkbox\";\nimport { GetValueCallable, OnChangeCallable, PermissionSelectorCmsGroup } from \"./types\";\n\nconst groupStyles = css({\n marginLeft: 20\n});\n\nconst labelStyles = css({\n display: \"block\",\n color: \"var(--mdc-theme-text-secondary-on-light)\",\n fontWeight: \"bold\"\n});\n\ninterface GroupItem extends PermissionSelectorCmsGroup {\n groupName: string;\n}\n\ninterface ContentModelListProps {\n items: PermissionSelectorCmsGroup[];\n onChange: OnChangeCallable;\n getValue: GetValueCallable;\n}\nconst ContentModelList: React.FC<ContentModelListProps> = ({ items, onChange, getValue }) => {\n const list: [string, GroupItem[]][] = Object.entries(\n groupBy(\n items.map((item): GroupItem => {\n return {\n ...item,\n groupName: get(item, \"group.label\")\n };\n }),\n \"groupName\"\n )\n );\n\n return (\n <React.Fragment>\n {list.map(([key, value]) => {\n return (\n <div key={key} className={groupStyles}>\n <Typography use={\"caption\"} className={labelStyles}>\n {key}\n </Typography>\n {(value as any[]).map(({ id, label }) => (\n <div key={id}>\n <Checkbox\n key={id}\n label={label}\n value={getValue(id)}\n onChange={onChange(id)}\n />\n </div>\n ))}\n </div>\n );\n })}\n </React.Fragment>\n );\n};\n\nexport default ContentModelList;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA,IAAMA,WAAW,gBAAG,IAAAC,YAAA,EAAI;EACpBC,UAAU,EAAE;AADQ,CAAJ,uBAApB;AAIA,IAAMC,WAAW,gBAAG,IAAAF,YAAA,EAAI;EACpBG,OAAO,EAAE,OADW;EAEpBC,KAAK,EAAE,0CAFa;EAGpBC,UAAU,EAAE;AAHQ,CAAJ,uBAApB;;AAeA,IAAMC,gBAAiD,GAAG,SAApDA,gBAAoD,OAAmC;EAAA,IAAhCC,KAAgC,QAAhCA,KAAgC;EAAA,IAAzBC,QAAyB,QAAzBA,QAAyB;EAAA,IAAfC,QAAe,QAAfA,QAAe;EACzF,IAAMC,IAA6B,GAAGC,MAAM,CAACC,OAAP,CAClC,IAAAC,gBAAA,EACIN,KAAK,CAACO,GAAN,CAAU,UAACC,IAAD,EAAqB;IAC3B,mEACOA,IADP;MAEIC,SAAS,EAAE,IAAAC,YAAA,EAAIF,IAAJ,EAAU,aAAV;IAFf;EAIH,CALD,CADJ,EAOI,WAPJ,CADkC,CAAtC;EAYA,oBACI,6BAAC,cAAD,CAAO,QAAP,QACKL,IAAI,CAACI,GAAL,CAAS,iBAAkB;IAAA;IAAA,IAAhBI,GAAgB;IAAA,IAAXC,KAAW;;IACxB,oBACI;MAAK,GAAG,EAAED,GAAV;MAAe,SAAS,EAAEnB;IAA1B,gBACI,6BAAC,sBAAD;MAAY,GAAG,EAAE,SAAjB;MAA4B,SAAS,EAAEG;IAAvC,GACKgB,GADL,CADJ,EAIMC,KAAD,CAAiBL,GAAjB,CAAqB;MAAA,IAAGM,EAAH,SAAGA,EAAH;MAAA,IAAOC,KAAP,SAAOA,KAAP;MAAA,oBAClB;QAAK,GAAG,EAAED;MAAV,gBACI,6BAAC,kBAAD;QACI,GAAG,EAAEA,EADT;QAEI,KAAK,EAAEC,KAFX;QAGI,KAAK,EAAEZ,QAAQ,CAACW,EAAD,CAHnB;QAII,QAAQ,EAAEZ,QAAQ,CAACY,EAAD;MAJtB,EADJ,CADkB;IAAA,CAArB,CAJL,CADJ;EAiBH,CAlBA,CADL,CADJ;AAuBH,CApCD;;eAsCed,gB"}
1
+ {"version":3,"names":["groupStyles","css","marginLeft","labelStyles","display","color","fontWeight","ContentModelList","items","onChange","getValue","list","Object","entries","groupBy","map","item","groupName","get","key","value","id","label"],"sources":["ContentModelList.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport groupBy from \"lodash/groupBy\";\nimport get from \"lodash/get\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Checkbox } from \"@webiny/ui/Checkbox\";\nimport { GetValueCallable, OnChangeCallable, PermissionSelectorCmsGroup } from \"./types\";\n\nconst groupStyles = css({\n marginLeft: 20\n});\n\nconst labelStyles = css({\n display: \"block\",\n color: \"var(--mdc-theme-text-secondary-on-light)\",\n fontWeight: \"bold\"\n});\n\ninterface GroupItem extends PermissionSelectorCmsGroup {\n groupName: string;\n}\n\ninterface ContentModelListProps {\n items: PermissionSelectorCmsGroup[];\n onChange: OnChangeCallable;\n getValue: GetValueCallable;\n}\nconst ContentModelList: React.FC<ContentModelListProps> = ({ items, onChange, getValue }) => {\n const list: [string, GroupItem[]][] = Object.entries(\n groupBy(\n items.map((item): GroupItem => {\n return {\n ...item,\n groupName: get(item, \"group.label\")\n };\n }),\n \"groupName\"\n )\n );\n\n return (\n <React.Fragment>\n {list.map(([key, value]) => {\n return (\n <div key={key} className={groupStyles}>\n <Typography use={\"caption\"} className={labelStyles}>\n {key}\n </Typography>\n {(value as any[]).map(({ id, label }) => (\n <div key={id}>\n <Checkbox\n key={id}\n label={label}\n value={getValue(id)}\n onChange={onChange(id)}\n />\n </div>\n ))}\n </div>\n );\n })}\n </React.Fragment>\n );\n};\n\nexport default ContentModelList;\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA,IAAMA,WAAW,gBAAG,IAAAC,YAAG,EAAC;EACpBC,UAAU,EAAE;AAChB,CAAC,uBAAC;AAEF,IAAMC,WAAW,gBAAG,IAAAF,YAAG,EAAC;EACpBG,OAAO,EAAE,OAAO;EAChBC,KAAK,EAAE,0CAA0C;EACjDC,UAAU,EAAE;AAChB,CAAC,uBAAC;AAWF,IAAMC,gBAAiD,GAAG,SAApDA,gBAAiD,OAAsC;EAAA,IAAhCC,KAAK,QAALA,KAAK;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;EAClF,IAAMC,IAA6B,GAAGC,MAAM,CAACC,OAAO,CAChD,IAAAC,gBAAO,EACHN,KAAK,CAACO,GAAG,CAAC,UAACC,IAAI,EAAgB;IAC3B,mEACOA,IAAI;MACPC,SAAS,EAAE,IAAAC,YAAG,EAACF,IAAI,EAAE,aAAa;IAAC;EAE3C,CAAC,CAAC,EACF,WAAW,CACd,CACJ;EAED,oBACI,6BAAC,cAAK,CAAC,QAAQ,QACVL,IAAI,CAACI,GAAG,CAAC,iBAAkB;IAAA;MAAhBI,GAAG;MAAEC,KAAK;IAClB,oBACI;MAAK,GAAG,EAAED,GAAI;MAAC,SAAS,EAAEnB;IAAY,gBAClC,6BAAC,sBAAU;MAAC,GAAG,EAAE,SAAU;MAAC,SAAS,EAAEG;IAAY,GAC9CgB,GAAG,CACK,EACXC,KAAK,CAAWL,GAAG,CAAC;MAAA,IAAGM,EAAE,SAAFA,EAAE;QAAEC,KAAK,SAALA,KAAK;MAAA,oBAC9B;QAAK,GAAG,EAAED;MAAG,gBACT,6BAAC,kBAAQ;QACL,GAAG,EAAEA,EAAG;QACR,KAAK,EAAEC,KAAM;QACb,KAAK,EAAEZ,QAAQ,CAACW,EAAE,CAAE;QACpB,QAAQ,EAAEZ,QAAQ,CAACY,EAAE;MAAE,EACzB,CACA;IAAA,CACT,CAAC,CACA;EAEd,CAAC,CAAC,CACW;AAEzB,CAAC;AAAC,eAEad,gBAAgB;AAAA"}
@@ -1,53 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.ContentModelPermission = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _get = _interopRequireDefault(require("lodash/get"));
17
-
18
12
  var _Grid = require("@webiny/ui/Grid");
19
-
20
13
  var _Typography = require("@webiny/ui/Typography");
21
-
22
14
  var _Select = require("@webiny/ui/Select");
23
-
24
15
  var _i18n = require("@webiny/app/i18n");
25
-
26
16
  var _Elevation = require("@webiny/ui/Elevation");
27
-
28
17
  var _PermissionSelector = require("./PermissionSelector");
29
-
30
18
  var _useCmsData = require("./useCmsData");
31
-
32
19
  var _StyledComponents = require("./StyledComponents");
33
-
34
20
  var _ContentModelList = _interopRequireDefault(require("./ContentModelList"));
35
-
36
21
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
37
-
38
22
  var t = _i18n.i18n.ns("app-headless-cms/admin/plugins/permissionRenderer");
39
-
40
23
  var ContentModelPermission = function ContentModelPermission(_ref) {
41
24
  var Bind = _ref.Bind,
42
- data = _ref.data,
43
- setValue = _ref.setValue,
44
- entity = _ref.entity,
45
- title = _ref.title,
46
- locales = _ref.locales,
47
- _ref$selectedContentM = _ref.selectedContentModelGroups,
48
- selectedContentModelGroups = _ref$selectedContentM === void 0 ? {} : _ref$selectedContentM;
49
- var modelsGroups = (0, _useCmsData.useCmsData)(locales); // Set "cms.contentModel" access scope to "own" if "cms.contentModelGroup" === "own".
50
-
25
+ data = _ref.data,
26
+ setValue = _ref.setValue,
27
+ entity = _ref.entity,
28
+ title = _ref.title,
29
+ locales = _ref.locales,
30
+ _ref$selectedContentM = _ref.selectedContentModelGroups,
31
+ selectedContentModelGroups = _ref$selectedContentM === void 0 ? {} : _ref$selectedContentM;
32
+ var modelsGroups = (0, _useCmsData.useCmsData)(locales);
33
+ // Set "cms.contentModel" access scope to "own" if "cms.contentModelGroup" === "own".
51
34
  (0, _react.useEffect)(function () {
52
35
  if ((0, _get.default)(data, "contentModelGroupAccessScope") === "own" && (0, _get.default)(data, "".concat(entity, "AccessScope")) !== "own") {
53
36
  setValue("".concat(entity, "AccessScope"), "own");
@@ -56,14 +39,12 @@ var ContentModelPermission = function ContentModelPermission(_ref) {
56
39
  var getItems = (0, _react.useCallback)(function (code) {
57
40
  var list = (0, _get.default)(modelsGroups, "".concat(code, ".models"), []);
58
41
  var groups = selectedContentModelGroups[code] || [];
59
-
60
42
  if (groups.length) {
61
43
  // Filter by groups
62
44
  list = list.filter(function (item) {
63
45
  return groups.includes(item.group.id);
64
46
  });
65
47
  }
66
-
67
48
  return list;
68
49
  }, [modelsGroups]);
69
50
  var endpoints = data.endpoints || [];
@@ -127,5 +108,4 @@ var ContentModelPermission = function ContentModelPermission(_ref) {
127
108
  value: "rwd"
128
109
  }, t(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["Read, write, delete"])))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null))))))));
129
110
  };
130
-
131
111
  exports.ContentModelPermission = ContentModelPermission;