@webiny/app-headless-cms 0.0.0-mt-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +18 -0
  3. package/admin/components/ContentEntryForm/ContentEntryForm.d.ts +8 -0
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js +68 -0
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.d.ts +7 -0
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +43 -0
  7. package/admin/components/ContentEntryForm/Fields.d.ts +12 -0
  8. package/admin/components/ContentEntryForm/Fields.js +33 -0
  9. package/admin/components/ContentEntryForm/Label.d.ts +5 -0
  10. package/admin/components/ContentEntryForm/Label.js +20 -0
  11. package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +8 -0
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js +40 -0
  13. package/admin/components/ContentEntryForm/functions/createValidators.d.ts +1 -0
  14. package/admin/components/ContentEntryForm/functions/createValidators.js +58 -0
  15. package/admin/components/ContentEntryForm/functions/getValue.d.ts +5 -0
  16. package/admin/components/ContentEntryForm/functions/getValue.js +20 -0
  17. package/admin/components/ContentEntryForm/functions/setValue.d.ts +6 -0
  18. package/admin/components/ContentEntryForm/functions/setValue.js +20 -0
  19. package/admin/components/ContentEntryForm/useBind.d.ts +10 -0
  20. package/admin/components/ContentEntryForm/useBind.js +76 -0
  21. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +22 -0
  22. package/admin/components/ContentEntryForm/useContentEntryForm.js +338 -0
  23. package/admin/components/ContentEntryForm/useRenderPlugins.d.ts +2 -0
  24. package/admin/components/ContentEntryForm/useRenderPlugins.js +7 -0
  25. package/admin/components/ContentModelEditor/Context.d.ts +23 -0
  26. package/admin/components/ContentModelEditor/Context.js +218 -0
  27. package/admin/components/ContentModelEditor/Editor.d.ts +3 -0
  28. package/admin/components/ContentModelEditor/Editor.js +138 -0
  29. package/admin/components/ContentModelEditor/FieldsSidebar.d.ts +4 -0
  30. package/admin/components/ContentModelEditor/FieldsSidebar.js +91 -0
  31. package/admin/components/ContentModelEditor/Header.d.ts +2 -0
  32. package/admin/components/ContentModelEditor/Header.js +24 -0
  33. package/admin/components/ContentModelEditor/PreviewTab.d.ts +2 -0
  34. package/admin/components/ContentModelEditor/PreviewTab.js +36 -0
  35. package/admin/components/ContentModelEditor/icons/round-assignment-24px.svg +4 -0
  36. package/admin/components/ContentModelEditor/icons/round-drag_indicator-24px.svg +4 -0
  37. package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +1 -0
  38. package/admin/components/ContentModelEditor/useContentModelEditor.js +11 -0
  39. package/admin/components/DragPreview.d.ts +2 -0
  40. package/admin/components/DragPreview.js +98 -0
  41. package/admin/components/Draggable.d.ts +14 -0
  42. package/admin/components/Draggable.js +49 -0
  43. package/admin/components/DropZone/Center.d.ts +12 -0
  44. package/admin/components/DropZone/Center.js +60 -0
  45. package/admin/components/DropZone/Horizontal.d.ts +9 -0
  46. package/admin/components/DropZone/Horizontal.js +83 -0
  47. package/admin/components/DropZone/Vertical.d.ts +10 -0
  48. package/admin/components/DropZone/Vertical.js +79 -0
  49. package/admin/components/DropZone/index.d.ts +4 -0
  50. package/admin/components/DropZone/index.js +4 -0
  51. package/admin/components/Droppable.d.ts +23 -0
  52. package/admin/components/Droppable.js +45 -0
  53. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +3 -0
  54. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +83 -0
  55. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +10 -0
  56. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +120 -0
  57. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +5 -0
  58. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +55 -0
  59. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +10 -0
  60. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +121 -0
  61. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.d.ts +6 -0
  62. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +16 -0
  63. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.d.ts +7 -0
  64. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +21 -0
  65. package/admin/components/FieldEditor/EditFieldDialog.d.ts +9 -0
  66. package/admin/components/FieldEditor/EditFieldDialog.js +231 -0
  67. package/admin/components/FieldEditor/Field.d.ts +3 -0
  68. package/admin/components/FieldEditor/Field.js +179 -0
  69. package/admin/components/FieldEditor/FieldEditor.d.ts +12 -0
  70. package/admin/components/FieldEditor/FieldEditor.js +166 -0
  71. package/admin/components/FieldEditor/FieldEditorContext.d.ts +53 -0
  72. package/admin/components/FieldEditor/FieldEditorContext.js +330 -0
  73. package/admin/components/FieldEditor/Styled.d.ts +6 -0
  74. package/admin/components/FieldEditor/Styled.js +54 -0
  75. package/admin/components/FieldEditor/index.d.ts +2 -0
  76. package/admin/components/FieldEditor/index.js +2 -0
  77. package/admin/components/FieldEditor/useFieldEditor.d.ts +1 -0
  78. package/admin/components/FieldEditor/useFieldEditor.js +5 -0
  79. package/admin/components/FieldEditor/utils/deleteField.d.ts +10 -0
  80. package/admin/components/FieldEditor/utils/deleteField.js +34 -0
  81. package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +6 -0
  82. package/admin/components/FieldEditor/utils/getFieldPosition.js +20 -0
  83. package/admin/components/FieldEditor/utils/index.d.ts +4 -0
  84. package/admin/components/FieldEditor/utils/index.js +4 -0
  85. package/admin/components/FieldEditor/utils/moveField.d.ts +7 -0
  86. package/admin/components/FieldEditor/utils/moveField.js +51 -0
  87. package/admin/components/FieldEditor/utils/moveRow.d.ts +9 -0
  88. package/admin/components/FieldEditor/utils/moveRow.js +10 -0
  89. package/admin/constants/statusLabels.d.ts +8 -0
  90. package/admin/constants/statusLabels.js +13 -0
  91. package/admin/contexts/Cms/NetworkError.d.ts +2 -0
  92. package/admin/contexts/Cms/NetworkError.js +7 -0
  93. package/admin/contexts/Cms/index.d.ts +16 -0
  94. package/admin/contexts/Cms/index.js +43 -0
  95. package/admin/elements/ContentGroupMenuElement.d.ts +3 -0
  96. package/admin/elements/ContentGroupMenuElement.js +17 -0
  97. package/admin/elements/ContentModelMenuElement.d.ts +3 -0
  98. package/admin/elements/ContentModelMenuElement.js +17 -0
  99. package/admin/elements/NothingToShowElement.d.ts +15 -0
  100. package/admin/elements/NothingToShowElement.js +88 -0
  101. package/admin/graphql/contentEntries.d.ts +12 -0
  102. package/admin/graphql/contentEntries.js +68 -0
  103. package/admin/graphql/contentModels.d.ts +4 -0
  104. package/admin/graphql/contentModels.js +9 -0
  105. package/admin/graphql/createFieldsList.d.ts +2 -0
  106. package/admin/graphql/createFieldsList.js +21 -0
  107. package/admin/hooks/index.d.ts +5 -0
  108. package/admin/hooks/index.js +5 -0
  109. package/admin/hooks/useApolloClient.d.ts +2 -0
  110. package/admin/hooks/useApolloClient.js +10 -0
  111. package/admin/hooks/useCms.d.ts +3 -0
  112. package/admin/hooks/useCms.js +14 -0
  113. package/admin/hooks/useLazyQuery.d.ts +2 -0
  114. package/admin/hooks/useLazyQuery.js +16 -0
  115. package/admin/hooks/useMutation.d.ts +2 -0
  116. package/admin/hooks/useMutation.js +16 -0
  117. package/admin/hooks/usePermission.d.ts +27 -0
  118. package/admin/hooks/usePermission.js +218 -0
  119. package/admin/hooks/useQuery.d.ts +2 -0
  120. package/admin/hooks/useQuery.js +17 -0
  121. package/admin/icons/add.svg +5 -0
  122. package/admin/icons/arrow_forward-24px.svg +1 -0
  123. package/admin/icons/baseline-autorenew-24px.svg +4 -0
  124. package/admin/icons/beenhere.svg +1 -0
  125. package/admin/icons/call_split-24px.svg +4 -0
  126. package/admin/icons/close.svg +13 -0
  127. package/admin/icons/delete.svg +12 -0
  128. package/admin/icons/devices_other-black-24px.svg +1 -0
  129. package/admin/icons/done-24px.svg +1 -0
  130. package/admin/icons/edit.svg +17 -0
  131. package/admin/icons/emoji_people-24px.svg +1 -0
  132. package/admin/icons/gesture.svg +1 -0
  133. package/admin/icons/help_outline.svg +1 -0
  134. package/admin/icons/how_to_vote-24px.svg +4 -0
  135. package/admin/icons/info.svg +1 -0
  136. package/admin/icons/lock.svg +1 -0
  137. package/admin/icons/more_vert.svg +12 -0
  138. package/admin/icons/publish.svg +1 -0
  139. package/admin/icons/round-arrow_drop_down-24px.svg +12 -0
  140. package/admin/icons/round-drag_indicator-24px.svg +4 -0
  141. package/admin/icons/round-translate-24px.svg +4 -0
  142. package/admin/icons/rule-24px.svg +1 -0
  143. package/admin/icons/title-24px.svg +1 -0
  144. package/admin/icons/unpublish.svg +4 -0
  145. package/admin/icons/view_list.svg +1 -0
  146. package/admin/icons/visibility.svg +16 -0
  147. package/admin/plugins/apiInformation/index.d.ts +3 -0
  148. package/admin/plugins/apiInformation/index.js +59 -0
  149. package/admin/plugins/apiInformation/placeholder.manage.graphql +18 -0
  150. package/admin/plugins/apiInformation/placeholder.preview.graphql +15 -0
  151. package/admin/plugins/apiInformation/placeholder.read.graphql +16 -0
  152. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.d.ts +21 -0
  153. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +61 -0
  154. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.d.ts +10 -0
  155. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +36 -0
  156. package/admin/plugins/editor/defaultBar/BackButton.d.ts +3 -0
  157. package/admin/plugins/editor/defaultBar/BackButton.js +21 -0
  158. package/admin/plugins/editor/defaultBar/CreateContentButton.d.ts +3 -0
  159. package/admin/plugins/editor/defaultBar/CreateContentButton.js +46 -0
  160. package/admin/plugins/editor/defaultBar/Divider.d.ts +3 -0
  161. package/admin/plugins/editor/defaultBar/Divider.js +11 -0
  162. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.d.ts +6 -0
  163. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +90 -0
  164. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.d.ts +3 -0
  165. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +27 -0
  166. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +6 -0
  167. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +42 -0
  168. package/admin/plugins/editor/defaultBar/FormSettings/index.d.ts +1 -0
  169. package/admin/plugins/editor/defaultBar/FormSettings/index.js +1 -0
  170. package/admin/plugins/editor/defaultBar/Name/Name.d.ts +7 -0
  171. package/admin/plugins/editor/defaultBar/Name/Name.js +80 -0
  172. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +5 -0
  173. package/admin/plugins/editor/defaultBar/Name/NameStyled.js +48 -0
  174. package/admin/plugins/editor/defaultBar/Name/index.d.ts +1 -0
  175. package/admin/plugins/editor/defaultBar/Name/index.js +1 -0
  176. package/admin/plugins/editor/defaultBar/SaveContentModelButton.d.ts +3 -0
  177. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +63 -0
  178. package/admin/plugins/editor/defaultBar/icons/more_vert.svg +12 -0
  179. package/admin/plugins/editor/defaultBar/icons/round-arrow_back-24px.svg +13 -0
  180. package/admin/plugins/editor/defaultBar/icons/round-arrow_drop_down-24px.svg +12 -0
  181. package/admin/plugins/editor/defaultBar/icons/settings.svg +25 -0
  182. package/admin/plugins/editor/defaultBar/index.d.ts +7 -0
  183. package/admin/plugins/editor/defaultBar/index.js +44 -0
  184. package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +7 -0
  185. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +37 -0
  186. package/admin/plugins/editor/formSettings/components/GroupSelect.d.ts +3 -0
  187. package/admin/plugins/editor/formSettings/components/GroupSelect.js +30 -0
  188. package/admin/plugins/editor/formSettings/icons/round-settings-24px.svg +1 -0
  189. package/admin/plugins/editor/formSettings/index.d.ts +3 -0
  190. package/admin/plugins/editor/formSettings/index.js +14 -0
  191. package/admin/plugins/fieldRenderers/Accordion.d.ts +10 -0
  192. package/admin/plugins/fieldRenderers/Accordion.js +125 -0
  193. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +14 -0
  194. package/admin/plugins/fieldRenderers/DynamicSection.js +103 -0
  195. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.d.ts +3 -0
  196. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +34 -0
  197. package/admin/plugins/fieldRenderers/boolean/index.d.ts +2 -0
  198. package/admin/plugins/fieldRenderers/boolean/index.js +2 -0
  199. package/admin/plugins/fieldRenderers/checkboxes.d.ts +3 -0
  200. package/admin/plugins/fieldRenderers/checkboxes.js +45 -0
  201. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +9 -0
  202. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +148 -0
  203. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +8 -0
  204. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +115 -0
  205. package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +16 -0
  206. package/admin/plugins/fieldRenderers/dateTime/Input.js +26 -0
  207. package/admin/plugins/fieldRenderers/dateTime/Select.d.ts +3 -0
  208. package/admin/plugins/fieldRenderers/dateTime/Select.js +13 -0
  209. package/admin/plugins/fieldRenderers/dateTime/Time.d.ts +3 -0
  210. package/admin/plugins/fieldRenderers/dateTime/Time.js +13 -0
  211. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.d.ts +3 -0
  212. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +59 -0
  213. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.d.ts +3 -0
  214. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +84 -0
  215. package/admin/plugins/fieldRenderers/dateTime/index.d.ts +2 -0
  216. package/admin/plugins/fieldRenderers/dateTime/index.js +3 -0
  217. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +15 -0
  218. package/admin/plugins/fieldRenderers/dateTime/utils.js +153 -0
  219. package/admin/plugins/fieldRenderers/file/File.d.ts +15 -0
  220. package/admin/plugins/fieldRenderers/file/File.js +79 -0
  221. package/admin/plugins/fieldRenderers/file/fileField.d.ts +3 -0
  222. package/admin/plugins/fieldRenderers/file/fileField.js +64 -0
  223. package/admin/plugins/fieldRenderers/file/fileFields.d.ts +3 -0
  224. package/admin/plugins/fieldRenderers/file/fileFields.js +125 -0
  225. package/admin/plugins/fieldRenderers/file/index.d.ts +2 -0
  226. package/admin/plugins/fieldRenderers/file/index.js +3 -0
  227. package/admin/plugins/fieldRenderers/file/utils.d.ts +7 -0
  228. package/admin/plugins/fieldRenderers/file/utils.js +51 -0
  229. package/admin/plugins/fieldRenderers/longText/index.d.ts +2 -0
  230. package/admin/plugins/fieldRenderers/longText/index.js +3 -0
  231. package/admin/plugins/fieldRenderers/longText/longText.d.ts +3 -0
  232. package/admin/plugins/fieldRenderers/longText/longText.js +36 -0
  233. package/admin/plugins/fieldRenderers/longText/longTexts.d.ts +3 -0
  234. package/admin/plugins/fieldRenderers/longText/longTexts.js +43 -0
  235. package/admin/plugins/fieldRenderers/number/index.d.ts +2 -0
  236. package/admin/plugins/fieldRenderers/number/index.js +3 -0
  237. package/admin/plugins/fieldRenderers/number/numberInput.d.ts +3 -0
  238. package/admin/plugins/fieldRenderers/number/numberInput.js +39 -0
  239. package/admin/plugins/fieldRenderers/number/numberInputs.d.ts +3 -0
  240. package/admin/plugins/fieldRenderers/number/numberInputs.js +50 -0
  241. package/admin/plugins/fieldRenderers/object/StyledComponents.d.ts +4 -0
  242. package/admin/plugins/fieldRenderers/object/StyledComponents.js +5 -0
  243. package/admin/plugins/fieldRenderers/object/index.d.ts +2 -0
  244. package/admin/plugins/fieldRenderers/object/index.js +3 -0
  245. package/admin/plugins/fieldRenderers/object/multipleObjects.d.ts +3 -0
  246. package/admin/plugins/fieldRenderers/object/multipleObjects.js +72 -0
  247. package/admin/plugins/fieldRenderers/object/singleObject.d.ts +3 -0
  248. package/admin/plugins/fieldRenderers/object/singleObject.js +45 -0
  249. package/admin/plugins/fieldRenderers/radioButtons.d.ts +3 -0
  250. package/admin/plugins/fieldRenderers/radioButtons.js +45 -0
  251. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +6 -0
  252. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +54 -0
  253. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +6 -0
  254. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +65 -0
  255. package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +1 -0
  256. package/admin/plugins/fieldRenderers/ref/components/getOptions.js +21 -0
  257. package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +4 -0
  258. package/admin/plugins/fieldRenderers/ref/components/graphql.js +10 -0
  259. package/admin/plugins/fieldRenderers/ref/components/renderItem.d.ts +2 -0
  260. package/admin/plugins/fieldRenderers/ref/components/renderItem.js +14 -0
  261. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +22 -0
  262. package/admin/plugins/fieldRenderers/ref/components/useReference.js +240 -0
  263. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +19 -0
  264. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +180 -0
  265. package/admin/plugins/fieldRenderers/ref/index.d.ts +2 -0
  266. package/admin/plugins/fieldRenderers/ref/index.js +3 -0
  267. package/admin/plugins/fieldRenderers/ref/refInput.d.ts +3 -0
  268. package/admin/plugins/fieldRenderers/ref/refInput.js +30 -0
  269. package/admin/plugins/fieldRenderers/ref/refInputs.d.ts +3 -0
  270. package/admin/plugins/fieldRenderers/ref/refInputs.js +37 -0
  271. package/admin/plugins/fieldRenderers/richText/index.d.ts +2 -0
  272. package/admin/plugins/fieldRenderers/richText/index.js +3 -0
  273. package/admin/plugins/fieldRenderers/richText/richTextInput.d.ts +3 -0
  274. package/admin/plugins/fieldRenderers/richText/richTextInput.js +50 -0
  275. package/admin/plugins/fieldRenderers/richText/richTextInputs.d.ts +3 -0
  276. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +79 -0
  277. package/admin/plugins/fieldRenderers/select.d.ts +3 -0
  278. package/admin/plugins/fieldRenderers/select.js +34 -0
  279. package/admin/plugins/fieldRenderers/text/index.d.ts +2 -0
  280. package/admin/plugins/fieldRenderers/text/index.js +3 -0
  281. package/admin/plugins/fieldRenderers/text/textInput.d.ts +3 -0
  282. package/admin/plugins/fieldRenderers/text/textInput.js +35 -0
  283. package/admin/plugins/fieldRenderers/text/textInputs.d.ts +3 -0
  284. package/admin/plugins/fieldRenderers/text/textInputs.js +46 -0
  285. package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -0
  286. package/admin/plugins/fieldValidators/date/availableValidators.js +11 -0
  287. package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +3 -0
  288. package/admin/plugins/fieldValidators/date/createDateInputField.js +33 -0
  289. package/admin/plugins/fieldValidators/dateGte.d.ts +3 -0
  290. package/admin/plugins/fieldValidators/dateGte.js +40 -0
  291. package/admin/plugins/fieldValidators/dateLte.d.ts +3 -0
  292. package/admin/plugins/fieldValidators/dateLte.js +40 -0
  293. package/admin/plugins/fieldValidators/gte.d.ts +3 -0
  294. package/admin/plugins/fieldValidators/gte.js +27 -0
  295. package/admin/plugins/fieldValidators/in.d.ts +3 -0
  296. package/admin/plugins/fieldValidators/in.js +26 -0
  297. package/admin/plugins/fieldValidators/lte.d.ts +3 -0
  298. package/admin/plugins/fieldValidators/lte.js +27 -0
  299. package/admin/plugins/fieldValidators/maxLength.d.ts +3 -0
  300. package/admin/plugins/fieldValidators/maxLength.js +27 -0
  301. package/admin/plugins/fieldValidators/minLength.d.ts +3 -0
  302. package/admin/plugins/fieldValidators/minLength.js +27 -0
  303. package/admin/plugins/fieldValidators/pattern.d.ts +3 -0
  304. package/admin/plugins/fieldValidators/pattern.js +74 -0
  305. package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +3 -0
  306. package/admin/plugins/fieldValidators/patternPlugins/email.js +9 -0
  307. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +3 -0
  308. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +9 -0
  309. package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +3 -0
  310. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +9 -0
  311. package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +3 -0
  312. package/admin/plugins/fieldValidators/patternPlugins/url.js +9 -0
  313. package/admin/plugins/fieldValidators/required.d.ts +3 -0
  314. package/admin/plugins/fieldValidators/required.js +10 -0
  315. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +6 -0
  316. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +108 -0
  317. package/admin/plugins/fields/boolean.d.ts +3 -0
  318. package/admin/plugins/fields/boolean.js +31 -0
  319. package/admin/plugins/fields/dateTime.d.ts +3 -0
  320. package/admin/plugins/fields/dateTime.js +77 -0
  321. package/admin/plugins/fields/file.d.ts +3 -0
  322. package/admin/plugins/fields/file.js +46 -0
  323. package/admin/plugins/fields/icons/ballot_black_24dp.svg +1 -0
  324. package/admin/plugins/fields/icons/dropdown-icon.svg +16 -0
  325. package/admin/plugins/fields/icons/notes-black-24px.svg +1 -0
  326. package/admin/plugins/fields/icons/round-check_box-24px.svg +4 -0
  327. package/admin/plugins/fields/icons/round-link-24px.svg +1 -0
  328. package/admin/plugins/fields/icons/round-looks_3-24px.svg +4 -0
  329. package/admin/plugins/fields/icons/round-notes.svg +1 -0
  330. package/admin/plugins/fields/icons/round-radio_button_checked-24px.svg +5 -0
  331. package/admin/plugins/fields/icons/round-short_text.svg +1 -0
  332. package/admin/plugins/fields/icons/round-subject.svg +1 -0
  333. package/admin/plugins/fields/icons/round-text_fields-24px.svg +4 -0
  334. package/admin/plugins/fields/icons/round-visibility_off-24px.svg +4 -0
  335. package/admin/plugins/fields/icons/round_insert_drive_file-24px.svg +1 -0
  336. package/admin/plugins/fields/icons/schedule-black-24px.svg +1 -0
  337. package/admin/plugins/fields/icons/title-black-24px.svg +1 -0
  338. package/admin/plugins/fields/icons/toggle_on-black-24px.svg +1 -0
  339. package/admin/plugins/fields/longText.d.ts +3 -0
  340. package/admin/plugins/fields/longText.js +46 -0
  341. package/admin/plugins/fields/number.d.ts +3 -0
  342. package/admin/plugins/fields/number.js +63 -0
  343. package/admin/plugins/fields/object/ObjectFields.d.ts +4 -0
  344. package/admin/plugins/fields/object/ObjectFields.js +32 -0
  345. package/admin/plugins/fields/object.d.ts +3 -0
  346. package/admin/plugins/fields/object.js +46 -0
  347. package/admin/plugins/fields/ref.d.ts +3 -0
  348. package/admin/plugins/fields/ref.js +144 -0
  349. package/admin/plugins/fields/richText.d.ts +3 -0
  350. package/admin/plugins/fields/richText.js +45 -0
  351. package/admin/plugins/fields/text.d.ts +3 -0
  352. package/admin/plugins/fields/text.js +51 -0
  353. package/admin/plugins/getObjectId.d.ts +3 -0
  354. package/admin/plugins/getObjectId.js +13 -0
  355. package/admin/plugins/icons.d.ts +3 -0
  356. package/admin/plugins/icons.js +40 -0
  357. package/admin/plugins/index.d.ts +13 -0
  358. package/admin/plugins/index.js +14 -0
  359. package/admin/plugins/install.d.ts +3 -0
  360. package/admin/plugins/install.js +127 -0
  361. package/admin/plugins/menus/CmsMenuLoader.d.ts +7 -0
  362. package/admin/plugins/menus/CmsMenuLoader.js +76 -0
  363. package/admin/plugins/menus/ContentGroupsMenuItems.d.ts +6 -0
  364. package/admin/plugins/menus/ContentGroupsMenuItems.js +154 -0
  365. package/admin/plugins/menus/GlobalSearchPlugins.d.ts +8 -0
  366. package/admin/plugins/menus/GlobalSearchPlugins.js +53 -0
  367. package/admin/plugins/menus.d.ts +4 -0
  368. package/admin/plugins/menus.js +19 -0
  369. package/admin/plugins/permissionRenderer/CmsPermissions.d.ts +5 -0
  370. package/admin/plugins/permissionRenderer/CmsPermissions.js +340 -0
  371. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +8 -0
  372. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +117 -0
  373. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +9 -0
  374. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +77 -0
  375. package/admin/plugins/permissionRenderer/components/ContentModelList.d.ts +7 -0
  376. package/admin/plugins/permissionRenderer/components/ContentModelList.js +53 -0
  377. package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +10 -0
  378. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +104 -0
  379. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.d.ts +5 -0
  380. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +28 -0
  381. package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +34 -0
  382. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +66 -0
  383. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +2 -0
  384. package/admin/plugins/permissionRenderer/components/StyledComponents.js +10 -0
  385. package/admin/plugins/permissionRenderer/components/useCmsData.d.ts +1 -0
  386. package/admin/plugins/permissionRenderer/components/useCmsData.js +79 -0
  387. package/admin/plugins/permissionRenderer/index.d.ts +3 -0
  388. package/admin/plugins/permissionRenderer/index.js +16 -0
  389. package/admin/plugins/routes.d.ts +3 -0
  390. package/admin/plugins/routes.js +88 -0
  391. package/admin/plugins/transformers/dateTransformer.d.ts +3 -0
  392. package/admin/plugins/transformers/dateTransformer.js +44 -0
  393. package/admin/plugins/transformers/index.d.ts +3 -0
  394. package/admin/plugins/transformers/index.js +5 -0
  395. package/admin/plugins/transformers/numberTransformer.d.ts +3 -0
  396. package/admin/plugins/transformers/numberTransformer.js +14 -0
  397. package/admin/plugins/upgrades/v5.0.0.d.ts +5 -0
  398. package/admin/plugins/upgrades/v5.0.0.js +85 -0
  399. package/admin/plugins/upgrades/v5.5.0.d.ts +5 -0
  400. package/admin/plugins/upgrades/v5.5.0.js +85 -0
  401. package/admin/plugins/upgrades/v5.8.0.d.ts +5 -0
  402. package/admin/plugins/upgrades/v5.8.0.js +85 -0
  403. package/admin/plugins/validators/dateGte.d.ts +3 -0
  404. package/admin/plugins/validators/dateGte.js +23 -0
  405. package/admin/plugins/validators/dateLte.d.ts +3 -0
  406. package/admin/plugins/validators/dateLte.js +23 -0
  407. package/admin/plugins/validators/gte.d.ts +3 -0
  408. package/admin/plugins/validators/gte.js +15 -0
  409. package/admin/plugins/validators/in.d.ts +3 -0
  410. package/admin/plugins/validators/in.js +15 -0
  411. package/admin/plugins/validators/lte.d.ts +3 -0
  412. package/admin/plugins/validators/lte.js +15 -0
  413. package/admin/plugins/validators/maxLength.d.ts +3 -0
  414. package/admin/plugins/validators/maxLength.js +15 -0
  415. package/admin/plugins/validators/minLength.d.ts +3 -0
  416. package/admin/plugins/validators/minLength.js +15 -0
  417. package/admin/plugins/validators/pattern.d.ts +9 -0
  418. package/admin/plugins/validators/pattern.js +34 -0
  419. package/admin/plugins/validators/patternPlugins/email.d.ts +10 -0
  420. package/admin/plugins/validators/patternPlugins/email.js +9 -0
  421. package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +10 -0
  422. package/admin/plugins/validators/patternPlugins/lowerCase.js +9 -0
  423. package/admin/plugins/validators/patternPlugins/upperCase.d.ts +10 -0
  424. package/admin/plugins/validators/patternPlugins/upperCase.js +9 -0
  425. package/admin/plugins/validators/patternPlugins/url.d.ts +10 -0
  426. package/admin/plugins/validators/patternPlugins/url.js +9 -0
  427. package/admin/plugins/validators/required.d.ts +3 -0
  428. package/admin/plugins/validators/required.js +11 -0
  429. package/admin/plugins/validators/timeGte.d.ts +3 -0
  430. package/admin/plugins/validators/timeGte.js +19 -0
  431. package/admin/plugins/validators/timeLte.d.ts +3 -0
  432. package/admin/plugins/validators/timeLte.js +19 -0
  433. package/admin/plugins/welcomeScreenWidget.d.ts +3 -0
  434. package/admin/plugins/welcomeScreenWidget.js +29 -0
  435. package/admin/views/contentEntries/ContentEntries.d.ts +3 -0
  436. package/admin/views/contentEntries/ContentEntries.js +73 -0
  437. package/admin/views/contentEntries/ContentEntriesContext.d.ts +24 -0
  438. package/admin/views/contentEntries/ContentEntriesContext.js +78 -0
  439. package/admin/views/contentEntries/ContentEntriesList.d.ts +3 -0
  440. package/admin/views/contentEntries/ContentEntriesList.js +180 -0
  441. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +28 -0
  442. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +113 -0
  443. package/admin/views/contentEntries/ContentEntry/RevisionListItem.d.ts +7 -0
  444. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +152 -0
  445. package/admin/views/contentEntries/ContentEntry/RevisionsList.d.ts +3 -0
  446. package/admin/views/contentEntries/ContentEntry/RevisionsList.js +59 -0
  447. package/admin/views/contentEntries/ContentEntry/cache.d.ts +7 -0
  448. package/admin/views/contentEntries/ContentEntry/cache.js +183 -0
  449. package/admin/views/contentEntries/ContentEntry/header/Header.d.ts +3 -0
  450. package/admin/views/contentEntries/ContentEntry/header/Header.js +32 -0
  451. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.d.ts +3 -0
  452. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +141 -0
  453. package/admin/views/contentEntries/ContentEntry/header/index.d.ts +3 -0
  454. package/admin/views/contentEntries/ContentEntry/header/index.js +45 -0
  455. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +3 -0
  456. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +67 -0
  457. package/admin/views/contentEntries/ContentEntry/header/requestChanges/rule-24px.svg +1 -0
  458. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +3 -0
  459. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +69 -0
  460. package/admin/views/contentEntries/ContentEntry/header/requestReview/emoji_people-24px.svg +1 -0
  461. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.d.ts +3 -0
  462. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +75 -0
  463. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.d.ts +3 -0
  464. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +84 -0
  465. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.d.ts +3 -0
  466. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +32 -0
  467. package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -0
  468. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +79 -0
  469. package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +13 -0
  470. package/admin/views/contentEntries/ContentEntry/useRevision.js +335 -0
  471. package/admin/views/contentEntries/ContentEntry.d.ts +12 -0
  472. package/admin/views/contentEntries/ContentEntry.js +99 -0
  473. package/admin/views/contentEntries/hooks/useContentEntries.d.ts +1 -0
  474. package/admin/views/contentEntries/hooks/useContentEntries.js +5 -0
  475. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +21 -0
  476. package/admin/views/contentEntries/hooks/useContentEntriesList.js +152 -0
  477. package/admin/views/contentEntries/hooks/useContentEntry.d.ts +1 -0
  478. package/admin/views/contentEntries/hooks/useContentEntry.js +5 -0
  479. package/admin/views/contentModelGroups/ContentModelGroups.d.ts +3 -0
  480. package/admin/views/contentModelGroups/ContentModelGroups.js +35 -0
  481. package/admin/views/contentModelGroups/ContentModelGroupsDataList.d.ts +6 -0
  482. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +242 -0
  483. package/admin/views/contentModelGroups/ContentModelGroupsForm.d.ts +6 -0
  484. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +231 -0
  485. package/admin/views/contentModelGroups/DelayedOnChange.d.ts +25 -0
  486. package/admin/views/contentModelGroups/DelayedOnChange.js +134 -0
  487. package/admin/views/contentModelGroups/IconPicker.d.ts +7 -0
  488. package/admin/views/contentModelGroups/IconPicker.js +204 -0
  489. package/admin/views/contentModelGroups/graphql.d.ts +5 -0
  490. package/admin/views/contentModelGroups/graphql.js +11 -0
  491. package/admin/views/contentModels/ContentModelEditor.d.ts +2 -0
  492. package/admin/views/contentModels/ContentModelEditor.js +35 -0
  493. package/admin/views/contentModels/ContentModels.d.ts +3 -0
  494. package/admin/views/contentModels/ContentModels.js +82 -0
  495. package/admin/views/contentModels/ContentModelsDataList.d.ts +7 -0
  496. package/admin/views/contentModels/ContentModelsDataList.js +281 -0
  497. package/admin/views/contentModels/NewContentModelDialog.d.ts +8 -0
  498. package/admin/views/contentModels/NewContentModelDialog.js +196 -0
  499. package/admin/views/contentModels/cache.d.ts +5 -0
  500. package/admin/views/contentModels/cache.js +68 -0
  501. package/admin/views/utils.d.ts +2 -0
  502. package/admin/views/utils.js +27 -0
  503. package/admin/viewsGraphql.d.ts +4 -0
  504. package/admin/viewsGraphql.js +12 -0
  505. package/package.json +109 -0
  506. package/types.d.ts +484 -0
  507. package/types.js +1 -0
@@ -0,0 +1,340 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+
4
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
5
+
6
+ import React, { Fragment, useCallback, useMemo } from "react";
7
+ import { Grid, Cell } from "@webiny/ui/Grid";
8
+ import { Select } from "@webiny/ui/Select";
9
+ import { i18n } from "@webiny/app/i18n";
10
+ import { PermissionInfo, gridNoPaddingClass } from "@webiny/app-admin/components/Permissions";
11
+ import { Form } from "@webiny/form";
12
+ import ContentModelGroupPermission from "./components/ContentModelGroupPermission";
13
+ import { ContentModelPermission } from "./components/ContentModelPermission";
14
+ import { ContentEntryPermission } from "./components/ContentEntryPermission";
15
+ import { Checkbox, CheckboxGroup } from "@webiny/ui/Checkbox";
16
+ import { useI18N } from "@webiny/app-i18n/hooks/useI18N";
17
+ import { Link } from "@webiny/react-router";
18
+ var t = i18n.ns("app-headless-cms/admin/plugins/permissionRenderer");
19
+ var CMS_PERMISSION = "cms";
20
+ var CMS_PERMISSION_FULL_ACCESS = "cms.*";
21
+ var FULL_ACCESS = "full";
22
+ var NO_ACCESS = "no";
23
+ var CUSTOM_ACCESS = "custom";
24
+ var ENTITIES = ["contentModel", "contentModelGroup", "contentEntry"];
25
+ var API_ENDPOINTS = [{
26
+ id: "read",
27
+ name: "Read"
28
+ }, {
29
+ id: "manage",
30
+ name: "Manage"
31
+ }, {
32
+ id: "preview",
33
+ name: "Preview"
34
+ }];
35
+ var GRAPHQL_API_TYPES_LINK = "https://www.webiny.com/docs/key-topics/webiny-applications/headless-cms/graphql-api/#graphql-api-types";
36
+ export var CMSPermissions = function CMSPermissions(_ref) {
37
+ var value = _ref.value,
38
+ onChange = _ref.onChange;
39
+
40
+ var _useI18N = useI18N(),
41
+ getLocales = _useI18N.getLocales;
42
+
43
+ var canRead = useCallback(function (value, permissionName) {
44
+ var permission = value.find(function (item) {
45
+ return item.name === permissionName;
46
+ });
47
+
48
+ if (!permission) {
49
+ return false;
50
+ }
51
+
52
+ if (typeof permission.rwd !== "string") {
53
+ return true;
54
+ }
55
+
56
+ return permission.rwd.includes("r");
57
+ }, []);
58
+
59
+ var getFormLocales = function getFormLocales() {
60
+ var localePermission = (value || []).find(function (item) {
61
+ return item.name.startsWith("content.i18n");
62
+ });
63
+
64
+ if (!localePermission) {
65
+ return getLocales().map(function (l) {
66
+ return l.code;
67
+ });
68
+ }
69
+
70
+ return Array.isArray(localePermission.locales) ? localePermission.locales : getLocales().map(function (l) {
71
+ return l.code;
72
+ });
73
+ };
74
+
75
+ var onFormChange = useCallback(function (data) {
76
+ var newValue = [];
77
+
78
+ if (Array.isArray(value)) {
79
+ // Let's just filter out the `cms*` permission objects.
80
+ // Based on the `data` we rebuild new permission object from scratch.
81
+ newValue = value.filter(function (item) {
82
+ return !item.name.startsWith(CMS_PERMISSION);
83
+ });
84
+ }
85
+
86
+ if (data.accessLevel === NO_ACCESS) {
87
+ onChange(newValue);
88
+ return;
89
+ }
90
+
91
+ if (data.accessLevel === FULL_ACCESS) {
92
+ newValue.push({
93
+ name: CMS_PERMISSION_FULL_ACCESS
94
+ });
95
+ onChange(newValue);
96
+ return;
97
+ } // Handling custom access level.
98
+
99
+
100
+ if (Array.isArray(data.endpoints)) {
101
+ API_ENDPOINTS.forEach(function (api) {
102
+ if (data.endpoints.includes(api.id)) {
103
+ newValue.push({
104
+ name: "".concat(CMS_PERMISSION, ".endpoint.").concat(api.id)
105
+ });
106
+ }
107
+ });
108
+ }
109
+
110
+ var locales = getFormLocales(); // Content models, content model groups, content entries
111
+
112
+ ENTITIES.forEach(function (entity) {
113
+ var accessScope = data["".concat(entity, "AccessScope")];
114
+
115
+ if (accessScope && accessScope !== NO_ACCESS) {
116
+ var permission = {
117
+ name: "".concat(CMS_PERMISSION, ".").concat(entity),
118
+ own: false,
119
+ rwd: "r",
120
+ pw: "",
121
+ groups: undefined,
122
+ models: undefined
123
+ };
124
+
125
+ if (accessScope === "own") {
126
+ permission.own = true;
127
+ permission.rwd = "rwd";
128
+ } else {
129
+ permission.rwd = data["".concat(entity, "RWD")] || "r";
130
+ }
131
+
132
+ permission.pw = (data["".concat(entity, "PW")] || []).join("");
133
+
134
+ if (accessScope === "models") {
135
+ permission.models = {};
136
+ }
137
+
138
+ if (accessScope === "groups") {
139
+ permission.groups = {};
140
+ }
141
+
142
+ var props = data["".concat(entity, "Props")];
143
+
144
+ if (props) {
145
+ ["models", "groups"].forEach(function (entity) {
146
+ if (accessScope === entity && props[entity]) {
147
+ permission[entity] = locales.reduce(function (acc, locale) {
148
+ if (props[entity][locale]) {
149
+ acc[locale] = props[entity][locale];
150
+ }
151
+
152
+ return acc;
153
+ }, {});
154
+ }
155
+ });
156
+ }
157
+
158
+ newValue.push(permission);
159
+ }
160
+ }); // Remove dependent permissions.
161
+ // The "cms.contentModel" permission can only be assigned if the user has the "read" access for the "cms.contentModelGroup".
162
+
163
+ if (!canRead(newValue, "cms.contentModelGroup")) {
164
+ newValue = newValue.filter(function (item) {
165
+ return item.name !== "cms.contentModel";
166
+ });
167
+ } // The "cms.contentEntry" permission can only be assigned if the user has the "read" access for the "cms.contentModel".
168
+
169
+
170
+ if (!canRead(newValue, "cms.contentModel")) {
171
+ newValue = newValue.filter(function (item) {
172
+ return item.name !== "cms.contentEntry";
173
+ });
174
+ }
175
+
176
+ onChange(newValue);
177
+ }, [value]);
178
+ var formData = useMemo(function () {
179
+ // This function only runs once on Form mount
180
+ if (!Array.isArray(value)) {
181
+ return {
182
+ accessLevel: NO_ACCESS,
183
+ endpoints: []
184
+ };
185
+ }
186
+
187
+ var hasFullAccess = value.find(function (item) {
188
+ return item.name === CMS_PERMISSION_FULL_ACCESS || item.name === "*";
189
+ });
190
+
191
+ if (hasFullAccess) {
192
+ return {
193
+ accessLevel: FULL_ACCESS,
194
+ endpoints: API_ENDPOINTS.map(function (item) {
195
+ return item.id;
196
+ })
197
+ };
198
+ }
199
+
200
+ var permissions = value.filter(function (item) {
201
+ return item.name.startsWith(CMS_PERMISSION);
202
+ });
203
+
204
+ if (!permissions.length) {
205
+ return {
206
+ accessLevel: NO_ACCESS,
207
+ endpoints: []
208
+ };
209
+ } // We're dealing with custom permissions. Let's first prepare data for "content models", "content model groups", "content entries" and "environments".
210
+
211
+
212
+ var returnData = {
213
+ accessLevel: CUSTOM_ACCESS,
214
+ endpoints: permissions.filter(function (p) {
215
+ return p.name.startsWith("cms.endpoint.");
216
+ }).map(function (p) {
217
+ return p.name.replace("cms.endpoint.", "");
218
+ })
219
+ };
220
+ ENTITIES.forEach(function (entity) {
221
+ var _data;
222
+
223
+ var data = (_data = {}, _defineProperty(_data, "".concat(entity, "AccessScope"), FULL_ACCESS), _defineProperty(_data, "".concat(entity, "RWD"), "r"), _defineProperty(_data, "".concat(entity, "Props"), {}), _data);
224
+ var entityPermission = permissions.find(function (item) {
225
+ return item.name === "".concat(CMS_PERMISSION, ".").concat(entity);
226
+ });
227
+
228
+ if (entityPermission) {
229
+ data["".concat(entity, "AccessScope")] = entityPermission.own ? "own" : FULL_ACCESS;
230
+
231
+ if (data["".concat(entity, "AccessScope")] === "own") {
232
+ data["".concat(entity, "RWD")] = "rwd";
233
+ } else {
234
+ data["".concat(entity, "RWD")] = entityPermission.rwd;
235
+ } // If there are any non-empty props we'll set "AccessScope" to that prop.
236
+
237
+
238
+ if (entityPermission.models) {
239
+ data["".concat(entity, "AccessScope")] = "models";
240
+ data["".concat(entity, "Props")] = {
241
+ models: entityPermission.models
242
+ };
243
+ }
244
+
245
+ if (entityPermission.groups) {
246
+ data["".concat(entity, "AccessScope")] = "groups";
247
+ data["".concat(entity, "Props")] = {
248
+ groups: entityPermission.groups
249
+ };
250
+ }
251
+
252
+ if (entity === "contentEntry") {
253
+ data["".concat(entity, "PW")] = entityPermission.pw ? entityPermission.pw.split("") : [];
254
+ }
255
+ }
256
+
257
+ Object.assign(returnData, data);
258
+ });
259
+ return returnData;
260
+ }, []);
261
+ var locales = getFormLocales();
262
+ var getSelectedContentModelGroups = useCallback(function (data) {
263
+ if (data && data.contentModelGroupAccessScope === "groups" && data.contentModelGroupProps) {
264
+ return data.contentModelGroupProps.groups;
265
+ }
266
+ }, []);
267
+ return /*#__PURE__*/React.createElement(Form, {
268
+ data: formData,
269
+ onChange: onFormChange
270
+ }, function (_ref2) {
271
+ var data = _ref2.data,
272
+ Bind = _ref2.Bind,
273
+ setValue = _ref2.setValue;
274
+ var graphQLEndpointAccess = data.endpoints.includes("read") || data.endpoints.includes("manage") || data.endpoints.includes("preview");
275
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Grid, {
276
+ className: gridNoPaddingClass
277
+ }, /*#__PURE__*/React.createElement(Cell, {
278
+ span: 6
279
+ }, /*#__PURE__*/React.createElement(PermissionInfo, {
280
+ title: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Access Level"])))
281
+ })), /*#__PURE__*/React.createElement(Cell, {
282
+ span: 6
283
+ }, /*#__PURE__*/React.createElement(Bind, {
284
+ name: "accessLevel"
285
+ }, /*#__PURE__*/React.createElement(Select, {
286
+ label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Access Level"])))
287
+ }, /*#__PURE__*/React.createElement("option", {
288
+ value: NO_ACCESS
289
+ }, t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["No access"])))), /*#__PURE__*/React.createElement("option", {
290
+ value: FULL_ACCESS
291
+ }, t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Full access"])))), /*#__PURE__*/React.createElement("option", {
292
+ value: CUSTOM_ACCESS
293
+ }, t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Custom access"])))))))), data.accessLevel === CUSTOM_ACCESS && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
294
+ span: 12
295
+ }, /*#__PURE__*/React.createElement(Bind, {
296
+ name: "endpoints"
297
+ }, /*#__PURE__*/React.createElement(CheckboxGroup, {
298
+ label: t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["GraphQL API types"]))),
299
+ description: t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Each type has a separate URL and a specific purpose.\n Check out the {link} key topic to learn more."])))({
300
+ link: /*#__PURE__*/React.createElement(Link, {
301
+ to: GRAPHQL_API_TYPES_LINK,
302
+ target: "_blank"
303
+ }, "Headless CMS GraphQL API")
304
+ })
305
+ }, function (_ref3) {
306
+ var getValue = _ref3.getValue,
307
+ onChange = _ref3.onChange;
308
+ return API_ENDPOINTS.map(function (_ref4) {
309
+ var id = _ref4.id,
310
+ name = _ref4.name;
311
+ return /*#__PURE__*/React.createElement(Checkbox, {
312
+ key: id,
313
+ label: name,
314
+ value: getValue(id),
315
+ onChange: onChange(id)
316
+ });
317
+ });
318
+ })))), graphQLEndpointAccess && /*#__PURE__*/React.createElement(ContentModelGroupPermission, {
319
+ data: data,
320
+ Bind: Bind,
321
+ entity: "contentModelGroup",
322
+ title: "Content Model Groups",
323
+ locales: locales
324
+ }), graphQLEndpointAccess && canRead(value, "cms.contentModelGroup") && /*#__PURE__*/React.createElement(ContentModelPermission, {
325
+ locales: locales,
326
+ data: data,
327
+ setValue: setValue,
328
+ Bind: Bind,
329
+ entity: "contentModel",
330
+ title: "Content Models",
331
+ selectedContentModelGroups: getSelectedContentModelGroups(data)
332
+ }), graphQLEndpointAccess && canRead(value, "cms.contentModel") && /*#__PURE__*/React.createElement(ContentEntryPermission, {
333
+ data: data,
334
+ Bind: Bind,
335
+ setValue: setValue,
336
+ entity: "contentEntry",
337
+ title: "Content Entries"
338
+ })));
339
+ });
340
+ };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export declare const ContentEntryPermission: ({ Bind, data, entity, setValue, title }: {
3
+ Bind: any;
4
+ data: any;
5
+ entity: any;
6
+ setValue: any;
7
+ title: any;
8
+ }) => JSX.Element;
@@ -0,0 +1,117 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
4
+
5
+ import React, { useEffect } from "react";
6
+ import get from "lodash/get";
7
+ import { Grid, Cell } from "@webiny/ui/Grid";
8
+ import { Typography } from "@webiny/ui/Typography";
9
+ import { Select } from "@webiny/ui/Select";
10
+ import { i18n } from "@webiny/app/i18n";
11
+ import { Elevation } from "@webiny/ui/Elevation";
12
+ import { Checkbox, CheckboxGroup } from "@webiny/ui/Checkbox";
13
+ import { Note } from "./StyledComponents";
14
+ var t = i18n.ns("app-headless-cms/admin/plugins/permissionRenderer");
15
+ var pwOptions = [{
16
+ id: "p",
17
+ name: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Publish"])))
18
+ }, {
19
+ id: "u",
20
+ name: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Unpublish"])))
21
+ }, {
22
+ id: "r",
23
+ name: t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["Request review"])))
24
+ }, {
25
+ id: "c",
26
+ name: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Request changes"])))
27
+ }];
28
+ export var ContentEntryPermission = function ContentEntryPermission(_ref) {
29
+ var Bind = _ref.Bind,
30
+ data = _ref.data,
31
+ entity = _ref.entity,
32
+ setValue = _ref.setValue,
33
+ title = _ref.title;
34
+ // Set "cms.contentEntry" access scope to "own" if "cms.contentModel" === "own".
35
+ useEffect(function () {
36
+ if (get(data, "contentModelAccessScope") === "own" && get(data, "".concat(entity, "AccessScope")) !== "own") {
37
+ setValue("".concat(entity, "AccessScope"), "own");
38
+ }
39
+ }, [data]);
40
+ var disabledPrimaryActions = [undefined, "own", "no"].includes(data["".concat(entity, "AccessScope")]) || !data.endpoints.includes("manage");
41
+ return /*#__PURE__*/React.createElement(Elevation, {
42
+ z: 1,
43
+ style: {
44
+ marginTop: 10
45
+ }
46
+ }, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
47
+ span: 12
48
+ }, /*#__PURE__*/React.createElement(Typography, {
49
+ use: "overline"
50
+ }, title)), /*#__PURE__*/React.createElement(Cell, {
51
+ span: 12
52
+ }, /*#__PURE__*/React.createElement(Grid, {
53
+ style: {
54
+ padding: 0,
55
+ paddingBottom: 24
56
+ }
57
+ }, /*#__PURE__*/React.createElement(Cell, {
58
+ span: 12
59
+ }, /*#__PURE__*/React.createElement(Bind, {
60
+ defaultValue: "full",
61
+ name: "".concat(entity, "AccessScope"),
62
+ beforeChange: function beforeChange(value, cb) {
63
+ if (value === "own") {
64
+ setValue("".concat(entity, "RWD"), "rwd");
65
+ }
66
+
67
+ cb(value);
68
+ }
69
+ }, /*#__PURE__*/React.createElement(Select, {
70
+ label: t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Access Scope"]))),
71
+ disabled: data["contentModelAccessScope"] === "own"
72
+ }, /*#__PURE__*/React.createElement("option", {
73
+ value: "full"
74
+ }, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["All entries"])))), data.endpoints.includes("manage") && /*#__PURE__*/React.createElement("option", {
75
+ value: "own"
76
+ }, t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Only entries created by the user"])))))), data["contentModelAccessScope"] === "own" && /*#__PURE__*/React.createElement(Note, null, /*#__PURE__*/React.createElement(Typography, {
77
+ use: "caption"
78
+ }, /*#__PURE__*/React.createElement("span", {
79
+ className: "highlight"
80
+ }, "Content Entry"), "\xA0", t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["access depends upon"]))), "\xA0", /*#__PURE__*/React.createElement("span", {
81
+ className: "highlight"
82
+ }, "Content Model")))), /*#__PURE__*/React.createElement(Cell, {
83
+ span: 12
84
+ }, /*#__PURE__*/React.createElement(Bind, {
85
+ name: "".concat(entity, "RWD")
86
+ }, /*#__PURE__*/React.createElement(Select, {
87
+ label: t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["Primary Actions"]))),
88
+ disabled: disabledPrimaryActions
89
+ }, /*#__PURE__*/React.createElement("option", {
90
+ value: "r"
91
+ }, t(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["Read"])))), data.endpoints.includes("manage") ? /*#__PURE__*/React.createElement("option", {
92
+ value: "rw"
93
+ }, t(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["Read, write"])))) : null, data.endpoints.includes("manage") ? /*#__PURE__*/React.createElement("option", {
94
+ value: "rwd"
95
+ }, t(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["Read, write, delete"])))) : null))), data.endpoints.includes("manage") ? /*#__PURE__*/React.createElement(Cell, {
96
+ span: 12
97
+ }, /*#__PURE__*/React.createElement(Bind, {
98
+ name: "".concat(entity, "PW")
99
+ }, /*#__PURE__*/React.createElement(CheckboxGroup, {
100
+ label: t(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["Publishing actions"]))),
101
+ description: t(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["Publishing-related actions that can be performed on content entries."])))
102
+ }, function (_ref2) {
103
+ var getValue = _ref2.getValue,
104
+ onChange = _ref2.onChange;
105
+ return pwOptions.map(function (_ref3) {
106
+ var id = _ref3.id,
107
+ name = _ref3.name;
108
+ return /*#__PURE__*/React.createElement(Checkbox, {
109
+ disabled: [undefined, "no"].includes(data["".concat(entity, "AccessScope")]),
110
+ key: id,
111
+ label: name,
112
+ value: getValue(id),
113
+ onChange: onChange(id)
114
+ });
115
+ });
116
+ }))) : null))));
117
+ };
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare const ContentModelGroupPermission: ({ Bind, data, entity, title, locales }: {
3
+ Bind: any;
4
+ data: any;
5
+ entity: any;
6
+ title: any;
7
+ locales: any;
8
+ }) => JSX.Element;
9
+ export default ContentModelGroupPermission;
@@ -0,0 +1,77 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
4
+
5
+ import React, { useCallback } from "react";
6
+ import { Grid, Cell } from "@webiny/ui/Grid";
7
+ import { Select } from "@webiny/ui/Select";
8
+ import { i18n } from "@webiny/app/i18n";
9
+ import { Elevation } from "@webiny/ui/Elevation";
10
+ import { Typography } from "@webiny/ui/Typography";
11
+ import { PermissionSelector, PermissionSelectorWrapper } from "./PermissionSelector";
12
+ import { useCmsData } from "./useCmsData";
13
+ var t = i18n.ns("app-headless-cms/admin/plugins/permissionRenderer");
14
+
15
+ var ContentModelGroupPermission = function ContentModelGroupPermission(_ref) {
16
+ var Bind = _ref.Bind,
17
+ data = _ref.data,
18
+ entity = _ref.entity,
19
+ title = _ref.title,
20
+ locales = _ref.locales;
21
+ var modelsGroups = useCmsData(locales);
22
+ var getItems = useCallback(function (code) {
23
+ return modelsGroups[code]["groups"];
24
+ }, [modelsGroups]);
25
+ var disabledPrimaryActions = [undefined, "own", "no"].includes(data["".concat(entity, "AccessScope")]) || !data.endpoints.includes("manage");
26
+ return /*#__PURE__*/React.createElement(Elevation, {
27
+ z: 1,
28
+ style: {
29
+ marginTop: 10
30
+ }
31
+ }, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
32
+ span: 12
33
+ }, /*#__PURE__*/React.createElement(Typography, {
34
+ use: "overline"
35
+ }, title)), /*#__PURE__*/React.createElement(Cell, {
36
+ span: 12
37
+ }, /*#__PURE__*/React.createElement(Grid, {
38
+ style: {
39
+ padding: 0,
40
+ paddingBottom: 24
41
+ }
42
+ }, /*#__PURE__*/React.createElement(Cell, {
43
+ span: 12
44
+ }, /*#__PURE__*/React.createElement(Bind, {
45
+ name: "".concat(entity, "AccessScope"),
46
+ defaultValue: "full"
47
+ }, /*#__PURE__*/React.createElement(Select, {
48
+ label: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Access Scope"])))
49
+ }, /*#__PURE__*/React.createElement("option", {
50
+ value: "full"
51
+ }, t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["All groups"])))), /*#__PURE__*/React.createElement("option", {
52
+ value: "groups"
53
+ }, t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["Only specific groups"])))), data.endpoints.includes("manage") && /*#__PURE__*/React.createElement("option", {
54
+ value: "own"
55
+ }, t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Only groups created by the user"]))))))), data["".concat(entity, "AccessScope")] === "groups" && /*#__PURE__*/React.createElement(PermissionSelectorWrapper, null, /*#__PURE__*/React.createElement(PermissionSelector, {
56
+ locales: locales,
57
+ Bind: Bind,
58
+ entity: entity,
59
+ selectorKey: "groups",
60
+ getItems: getItems
61
+ })), /*#__PURE__*/React.createElement(Cell, {
62
+ span: 12
63
+ }, /*#__PURE__*/React.createElement(Bind, {
64
+ name: "".concat(entity, "RWD")
65
+ }, /*#__PURE__*/React.createElement(Select, {
66
+ label: t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Primary Actions"]))),
67
+ disabled: disabledPrimaryActions
68
+ }, /*#__PURE__*/React.createElement("option", {
69
+ value: "r"
70
+ }, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Read"])))), data.endpoints.includes("manage") ? /*#__PURE__*/React.createElement("option", {
71
+ value: "rw"
72
+ }, t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Read, write"])))) : null, data.endpoints.includes("manage") ? /*#__PURE__*/React.createElement("option", {
73
+ value: "rwd"
74
+ }, t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["Read, write, delete"])))) : null)))))));
75
+ };
76
+
77
+ export default ContentModelGroupPermission;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare const ContentModelList: ({ items, onChange, getValue }: {
3
+ items: any;
4
+ onChange: any;
5
+ getValue: any;
6
+ }) => JSX.Element;
7
+ export default ContentModelList;
@@ -0,0 +1,53 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import React from "react";
4
+ import { css } from "emotion";
5
+ import groupBy from "lodash/groupBy";
6
+ import get from "lodash/get";
7
+ import { Typography } from "@webiny/ui/Typography";
8
+ import { Checkbox } from "@webiny/ui/Checkbox";
9
+ var groupStyles = /*#__PURE__*/css({
10
+ marginLeft: 20
11
+ }, "label:groupStyles;");
12
+ var labelStyles = /*#__PURE__*/css({
13
+ display: "block",
14
+ color: "var(--mdc-theme-text-secondary-on-light)",
15
+ fontWeight: "bold"
16
+ }, "label:labelStyles;");
17
+
18
+ var ContentModelList = function ContentModelList(_ref) {
19
+ var items = _ref.items,
20
+ onChange = _ref.onChange,
21
+ getValue = _ref.getValue;
22
+ var list = Object.entries(groupBy(items.map(function (i) {
23
+ return _objectSpread(_objectSpread({}, i), {}, {
24
+ groupName: get(i, "group.label")
25
+ });
26
+ }), "groupName"));
27
+ return /*#__PURE__*/React.createElement(React.Fragment, null, list.map(function (_ref2) {
28
+ var _ref3 = _slicedToArray(_ref2, 2),
29
+ key = _ref3[0],
30
+ value = _ref3[1];
31
+
32
+ return /*#__PURE__*/React.createElement("div", {
33
+ key: key,
34
+ className: groupStyles
35
+ }, /*#__PURE__*/React.createElement(Typography, {
36
+ use: "caption",
37
+ className: labelStyles
38
+ }, key), value.map(function (_ref4) {
39
+ var id = _ref4.id,
40
+ label = _ref4.label;
41
+ return /*#__PURE__*/React.createElement("div", {
42
+ key: id
43
+ }, /*#__PURE__*/React.createElement(Checkbox, {
44
+ key: id,
45
+ label: label,
46
+ value: getValue(id),
47
+ onChange: onChange(id)
48
+ }));
49
+ }));
50
+ }));
51
+ };
52
+
53
+ export default ContentModelList;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export declare const ContentModelPermission: ({ Bind, data, setValue, entity, title, locales, selectedContentModelGroups }: {
3
+ Bind: any;
4
+ data: any;
5
+ setValue: any;
6
+ entity: any;
7
+ title: any;
8
+ locales: any;
9
+ selectedContentModelGroups: any;
10
+ }) => JSX.Element;