@strapi/plugin-documentation 5.0.0-alpha.2 → 5.0.0-alpha.4

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 (53) hide show
  1. package/admin/src/hooks/useDocumentation.js +3 -1
  2. package/admin/src/pages/PluginPage/index.jsx +1 -3
  3. package/admin/src/pages/PluginPage/tests/index.test.jsx +13 -58
  4. package/admin/src/pages/SettingsPage/index.jsx +1 -2
  5. package/admin/src/pages/SettingsPage/tests/index.test.jsx +5 -50
  6. package/dist/_chunks/index-8uT14PpA.mjs +161 -0
  7. package/dist/_chunks/index-8uT14PpA.mjs.map +1 -0
  8. package/dist/_chunks/{index-vkMtbOUa.mjs → index-BBeMFgXr.mjs} +7 -8
  9. package/dist/_chunks/{index-vkMtbOUa.mjs.map → index-BBeMFgXr.mjs.map} +1 -1
  10. package/dist/_chunks/{index-Qe1yXTJr.mjs → index-JNCjUbFJ.mjs} +4 -5
  11. package/dist/_chunks/index-JNCjUbFJ.mjs.map +1 -0
  12. package/dist/_chunks/index-K7c1R5xR.js +163 -0
  13. package/dist/_chunks/index-K7c1R5xR.js.map +1 -0
  14. package/dist/_chunks/{index-fMs5UEhq.js → index-cbKJtSsb.js} +9 -10
  15. package/dist/_chunks/{index-fMs5UEhq.js.map → index-cbKJtSsb.js.map} +1 -1
  16. package/dist/_chunks/{index-t0HziKWe.js → index-x6T2TAff.js} +9 -10
  17. package/dist/_chunks/index-x6T2TAff.js.map +1 -0
  18. package/dist/_chunks/{useDocumentation-xDcgWV5k.js → useDocumentation-0uMqNczK.js} +5 -5
  19. package/dist/_chunks/useDocumentation-0uMqNczK.js.map +1 -0
  20. package/dist/_chunks/{useDocumentation-6NfW7vH_.mjs → useDocumentation-PhZRkSFj.mjs} +3 -3
  21. package/dist/_chunks/useDocumentation-PhZRkSFj.mjs.map +1 -0
  22. package/dist/admin/index.js +1 -1
  23. package/dist/admin/index.mjs +1 -1
  24. package/package.json +5 -6
  25. package/dist/_chunks/EditViewPage-JFzIJClS-IWpUoy9m.js +0 -84410
  26. package/dist/_chunks/EditViewPage-JFzIJClS-IWpUoy9m.js.map +0 -1
  27. package/dist/_chunks/EditViewPage-JFzIJClS-wgqliPP3.mjs +0 -84382
  28. package/dist/_chunks/EditViewPage-JFzIJClS-wgqliPP3.mjs.map +0 -1
  29. package/dist/_chunks/ListViewPage-1VNVP9Rw-NpsAq5kD.js +0 -1617
  30. package/dist/_chunks/ListViewPage-1VNVP9Rw-NpsAq5kD.js.map +0 -1
  31. package/dist/_chunks/ListViewPage-1VNVP9Rw-pe2DvVcA.mjs +0 -1594
  32. package/dist/_chunks/ListViewPage-1VNVP9Rw-pe2DvVcA.mjs.map +0 -1
  33. package/dist/_chunks/ReviewWorkflowsColumn-sPZxvFUd-Tnpp_Ad0.mjs +0 -33
  34. package/dist/_chunks/ReviewWorkflowsColumn-sPZxvFUd-Tnpp_Ad0.mjs.map +0 -1
  35. package/dist/_chunks/ReviewWorkflowsColumn-sPZxvFUd-YJhb1Nw6.js +0 -33
  36. package/dist/_chunks/ReviewWorkflowsColumn-sPZxvFUd-YJhb1Nw6.js.map +0 -1
  37. package/dist/_chunks/constants-0OGkpIzK-bvNr9cfm.js +0 -209
  38. package/dist/_chunks/constants-0OGkpIzK-bvNr9cfm.js.map +0 -1
  39. package/dist/_chunks/constants-0OGkpIzK-fURlr3te.mjs +0 -190
  40. package/dist/_chunks/constants-0OGkpIzK-fURlr3te.mjs.map +0 -1
  41. package/dist/_chunks/index--h5HRJXN.mjs +0 -17909
  42. package/dist/_chunks/index--h5HRJXN.mjs.map +0 -1
  43. package/dist/_chunks/index-Qe1yXTJr.mjs.map +0 -1
  44. package/dist/_chunks/index-XxWFAaxW.js +0 -17934
  45. package/dist/_chunks/index-XxWFAaxW.js.map +0 -1
  46. package/dist/_chunks/index-t0HziKWe.js.map +0 -1
  47. package/dist/_chunks/useDocumentation-6NfW7vH_.mjs.map +0 -1
  48. package/dist/_chunks/useDocumentation-xDcgWV5k.js.map +0 -1
  49. package/dist/_chunks/useSyncRbac-JNQibLFa-qTsqKP_7.mjs +0 -39
  50. package/dist/_chunks/useSyncRbac-JNQibLFa-qTsqKP_7.mjs.map +0 -1
  51. package/dist/_chunks/useSyncRbac-JNQibLFa-xqTnRORv.js +0 -57
  52. package/dist/_chunks/useSyncRbac-JNQibLFa-xqTnRORv.js.map +0 -1
  53. package/dist/style.css +0 -84
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-t0HziKWe.js","sources":["../../admin/src/pages/SettingsPage/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n TextInput,\n ToggleInput,\n Typography,\n FieldAction,\n} from '@strapi/design-system';\nimport { useRBAC } from '@strapi/helper-plugin';\nimport { Check, Eye as Show, EyeStriked as Hide } from '@strapi/icons';\nimport { translatedErrors, Page } from '@strapi/strapi/admin';\nimport { Form, Formik } from 'formik';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { PERMISSIONS } from '../../constants';\nimport { useDocumentation } from '../../hooks/useDocumentation';\nimport { getTrad } from '../../utils';\n\nconst schema = yup.object().shape({\n restrictedAccess: yup.boolean(),\n password: yup.string().when('restrictedAccess', (value, initSchema) => {\n return value ? initSchema.required(translatedErrors.required.id) : initSchema;\n }),\n});\n\nconst SettingsPage = () => {\n const { formatMessage } = useIntl();\n const { submit, data, isLoading } = useDocumentation();\n const [passwordShown, setPasswordShown] = useState(false);\n const { allowedActions } = useRBAC(PERMISSIONS);\n\n const handleUpdateSettingsSubmit = (body) => {\n submit.mutate({\n prefix: data?.prefix,\n body,\n });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Formik\n initialValues={{\n restrictedAccess: data?.documentationAccess.restrictedAccess || false,\n password: '',\n }}\n onSubmit={handleUpdateSettingsSubmit}\n validationSchema={schema}\n >\n {({\n handleSubmit,\n values,\n handleChange,\n errors,\n setFieldTouched,\n setFieldValue,\n dirty,\n }) => {\n return (\n <Form noValidate onSubmit={handleSubmit}>\n <HeaderLayout\n title={formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: getTrad('pages.SettingsPage.header.description'),\n defaultMessage: 'Configure the documentation plugin',\n })}\n primaryAction={\n <Button\n type=\"submit\"\n startIcon={<Check />}\n disabled={!dirty && allowedActions.canUpdate}\n >\n {formatMessage({\n id: getTrad('pages.SettingsPage.Button.save'),\n defaultMessage: 'Save',\n })}\n </Button>\n }\n />\n <ContentLayout>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid gap={4}>\n <GridItem col={6} s={12}>\n <ToggleInput\n name=\"restrictedAccess\"\n label={formatMessage({\n id: getTrad('pages.SettingsPage.toggle.label'),\n defaultMessage: 'Restricted Access',\n })}\n hint={formatMessage({\n id: getTrad('pages.SettingsPage.toggle.hint'),\n defaultMessage: 'Make the documentation endpoint private',\n })}\n checked={values.restrictedAccess}\n onChange={() => {\n if (values.restrictedAccess === true) {\n setFieldValue('password', '', false);\n setFieldTouched('password', false, false);\n }\n\n setFieldValue('restrictedAccess', !values.restrictedAccess, false);\n }}\n onLabel=\"On\"\n offLabel=\"Off\"\n />\n </GridItem>\n {values.restrictedAccess && (\n <GridItem col={6} s={12}>\n <TextInput\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n placeholder=\"**********\"\n type={passwordShown ? 'text' : 'password'}\n value={values.password}\n onChange={handleChange}\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: 'Invalid value',\n })\n : null\n }\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Show /> : <Hide />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n )}\n </Grid>\n </Flex>\n </Box>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: 1rem;\n width: 1rem;\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\nexport default SettingsPage;\n"],"names":["yup","translatedErrors","useIntl","useDocumentation","useState","useRBAC","PERMISSIONS","jsx","Page","Formik","jsxs","Form","HeaderLayout","getTrad","Button","Check","ContentLayout","Box","Flex","Typography","Grid","GridItem","ToggleInput","TextInput","Show","Hide","styled","FieldAction"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDocumentation-6NfW7vH_.mjs","sources":["../../admin/src/utils/getTrad.js","../../admin/src/hooks/useDocumentation.js"],"sourcesContent":["import pluginId from '../pluginId';\n\nconst getTrad = (id) => `${pluginId}.${id}`;\n\nexport default getTrad;\n","import { useEffect } from 'react';\n\nimport { useAPIErrorHandler, useNotification, useFetchClient } from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\n\nimport pluginId from '../pluginId';\nimport getTrad from '../utils/getTrad';\n\nexport const useDocumentation = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { del, post, put, get } = useFetchClient();\n\n const { formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, isError, data, refetch, error } = useQuery(\n ['get-documentation', pluginId],\n async () => {\n const { data } = await get(`/${pluginId}/getInfos`);\n\n return data;\n }\n );\n\n useEffect(() => {\n if (isError && error) {\n toggleNotification({\n type: 'danger',\n message: error ? formatAPIError(error) : formatMessage({ id: 'notification.error' }),\n });\n }\n }, [isError, error, toggleNotification, formatAPIError, formatMessage]);\n\n const handleError = (err) => {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(err),\n });\n };\n\n const handleSuccess = (type, tradId, defaultMessage) => {\n refetch();\n toggleNotification({\n type,\n message: formatMessage({ id: getTrad(tradId), defaultMessage }),\n });\n };\n\n const deleteMutation = useMutation(\n ({ prefix, version }) => del(`${prefix}/deleteDoc/${version}`),\n {\n onSuccess: () =>\n handleSuccess('info', 'notification.delete.success', 'Successfully deleted documentation'),\n onError: handleError,\n }\n );\n\n const submit = useMutation(({ prefix, body }) => put(`${prefix}/updateSettings`, body), {\n onSuccess: () =>\n handleSuccess('success', 'notification.update.success', 'Successfully updated settings'),\n onError: handleError,\n });\n\n const regenerate = useMutation(\n ({ prefix, version }) => post(`${prefix}/regenerateDoc`, { version }),\n {\n onSuccess: () =>\n handleSuccess(\n 'info',\n 'notification.generate.success',\n 'Successfully generated documentation'\n ),\n onError: handleError,\n }\n );\n\n return { data, isLoading, isError, remove: deleteMutation, submit, regenerate };\n};\n"],"names":["data"],"mappings":";;;;;AAEK,MAAC,UAAU,CAAC,OAAO,GAAG,QAAQ,IAAI,EAAE;ACO7B,MAAC,mBAAmB,MAAM;AACpC,QAAM,EAAE,uBAAuB;AAC/B,QAAM,EAAE,kBAAkB;AAC1B,QAAM,EAAE,KAAK,MAAM,KAAK,IAAG,IAAK;AAEhC,QAAM,EAAE,mBAAmB;AAE3B,QAAM,EAAE,WAAW,SAAS,MAAM,SAAS,MAAK,IAAK;AAAA,IACnD,CAAC,qBAAqB,QAAQ;AAAA,IAC9B,YAAY;AACV,YAAM,EAAE,MAAAA,MAAM,IAAG,MAAM,IAAI,IAAI,QAAQ,WAAW;AAElD,aAAOA;AAAA,IACR;AAAA,EACL;AAEE,YAAU,MAAM;AACd,QAAI,WAAW,OAAO;AACpB,yBAAmB;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,QAAQ,eAAe,KAAK,IAAI,cAAc,EAAE,IAAI,sBAAsB;AAAA,MAC3F,CAAO;AAAA,IACF;AAAA,EACL,GAAK,CAAC,SAAS,OAAO,oBAAoB,gBAAgB,aAAa,CAAC;AAEtE,QAAM,cAAc,CAAC,QAAQ;AAC3B,uBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,eAAe,GAAG;AAAA,IACjC,CAAK;AAAA,EACL;AAEE,QAAM,gBAAgB,CAAC,MAAM,QAAQ,mBAAmB;AACtD;AACA,uBAAmB;AAAA,MACjB;AAAA,MACA,SAAS,cAAc,EAAE,IAAI,QAAQ,MAAM,GAAG,gBAAgB;AAAA,IACpE,CAAK;AAAA,EACL;AAEE,QAAM,iBAAiB;AAAA,IACrB,CAAC,EAAE,QAAQ,QAAO,MAAO,IAAI,GAAG,MAAM,cAAc,OAAO,EAAE;AAAA,IAC7D;AAAA,MACE,WAAW,MACT,cAAc,QAAQ,+BAA+B,oCAAoC;AAAA,MAC3F,SAAS;AAAA,IACV;AAAA,EACL;AAEE,QAAM,SAAS,YAAY,CAAC,EAAE,QAAQ,KAAI,MAAO,IAAI,GAAG,MAAM,mBAAmB,IAAI,GAAG;AAAA,IACtF,WAAW,MACT,cAAc,WAAW,+BAA+B,+BAA+B;AAAA,IACzF,SAAS;AAAA,EACb,CAAG;AAED,QAAM,aAAa;AAAA,IACjB,CAAC,EAAE,QAAQ,QAAO,MAAO,KAAK,GAAG,MAAM,kBAAkB,EAAE,SAAS;AAAA,IACpE;AAAA,MACE,WAAW,MACT;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MACH,SAAS;AAAA,IACV;AAAA,EACL;AAEE,SAAO,EAAE,MAAM,WAAW,SAAS,QAAQ,gBAAgB,QAAQ;AACrE;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDocumentation-xDcgWV5k.js","sources":["../../admin/src/utils/getTrad.js","../../admin/src/hooks/useDocumentation.js"],"sourcesContent":["import pluginId from '../pluginId';\n\nconst getTrad = (id) => `${pluginId}.${id}`;\n\nexport default getTrad;\n","import { useEffect } from 'react';\n\nimport { useAPIErrorHandler, useNotification, useFetchClient } from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\n\nimport pluginId from '../pluginId';\nimport getTrad from '../utils/getTrad';\n\nexport const useDocumentation = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { del, post, put, get } = useFetchClient();\n\n const { formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, isError, data, refetch, error } = useQuery(\n ['get-documentation', pluginId],\n async () => {\n const { data } = await get(`/${pluginId}/getInfos`);\n\n return data;\n }\n );\n\n useEffect(() => {\n if (isError && error) {\n toggleNotification({\n type: 'danger',\n message: error ? formatAPIError(error) : formatMessage({ id: 'notification.error' }),\n });\n }\n }, [isError, error, toggleNotification, formatAPIError, formatMessage]);\n\n const handleError = (err) => {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(err),\n });\n };\n\n const handleSuccess = (type, tradId, defaultMessage) => {\n refetch();\n toggleNotification({\n type,\n message: formatMessage({ id: getTrad(tradId), defaultMessage }),\n });\n };\n\n const deleteMutation = useMutation(\n ({ prefix, version }) => del(`${prefix}/deleteDoc/${version}`),\n {\n onSuccess: () =>\n handleSuccess('info', 'notification.delete.success', 'Successfully deleted documentation'),\n onError: handleError,\n }\n );\n\n const submit = useMutation(({ prefix, body }) => put(`${prefix}/updateSettings`, body), {\n onSuccess: () =>\n handleSuccess('success', 'notification.update.success', 'Successfully updated settings'),\n onError: handleError,\n });\n\n const regenerate = useMutation(\n ({ prefix, version }) => post(`${prefix}/regenerateDoc`, { version }),\n {\n onSuccess: () =>\n handleSuccess(\n 'info',\n 'notification.generate.success',\n 'Successfully generated documentation'\n ),\n onError: handleError,\n }\n );\n\n return { data, isLoading, isError, remove: deleteMutation, submit, regenerate };\n};\n"],"names":["pluginId","useNotification","useIntl","useFetchClient","useAPIErrorHandler","useQuery","data","useEffect","useMutation"],"mappings":";;;;;;AAEK,MAAC,UAAU,CAAC,OAAO,GAAGA,MAAAA,QAAQ,IAAI,EAAE;ACO7B,MAAC,mBAAmB,MAAM;AACpC,QAAM,EAAE,uBAAuBC,MAAAA;AAC/B,QAAM,EAAE,kBAAkBC,UAAAA;AAC1B,QAAM,EAAE,KAAK,MAAM,KAAK,IAAG,IAAKC,MAAAA;AAEhC,QAAM,EAAE,mBAAmBC,MAAAA;AAE3B,QAAM,EAAE,WAAW,SAAS,MAAM,SAAS,MAAK,IAAKC,WAAQ;AAAA,IAC3D,CAAC,qBAAqBL,MAAAA,QAAQ;AAAA,IAC9B,YAAY;AACV,YAAM,EAAE,MAAAM,MAAM,IAAG,MAAM,IAAI,IAAIN,MAAQ,QAAA,WAAW;AAElD,aAAOM;AAAA,IACR;AAAA,EACL;AAEEC,QAAAA,UAAU,MAAM;AACd,QAAI,WAAW,OAAO;AACpB,yBAAmB;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,QAAQ,eAAe,KAAK,IAAI,cAAc,EAAE,IAAI,sBAAsB;AAAA,MAC3F,CAAO;AAAA,IACF;AAAA,EACL,GAAK,CAAC,SAAS,OAAO,oBAAoB,gBAAgB,aAAa,CAAC;AAEtE,QAAM,cAAc,CAAC,QAAQ;AAC3B,uBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,eAAe,GAAG;AAAA,IACjC,CAAK;AAAA,EACL;AAEE,QAAM,gBAAgB,CAAC,MAAM,QAAQ,mBAAmB;AACtD;AACA,uBAAmB;AAAA,MACjB;AAAA,MACA,SAAS,cAAc,EAAE,IAAI,QAAQ,MAAM,GAAG,gBAAgB;AAAA,IACpE,CAAK;AAAA,EACL;AAEE,QAAM,iBAAiBC,WAAW;AAAA,IAChC,CAAC,EAAE,QAAQ,QAAO,MAAO,IAAI,GAAG,MAAM,cAAc,OAAO,EAAE;AAAA,IAC7D;AAAA,MACE,WAAW,MACT,cAAc,QAAQ,+BAA+B,oCAAoC;AAAA,MAC3F,SAAS;AAAA,IACV;AAAA,EACL;AAEE,QAAM,SAASA,WAAAA,YAAY,CAAC,EAAE,QAAQ,KAAI,MAAO,IAAI,GAAG,MAAM,mBAAmB,IAAI,GAAG;AAAA,IACtF,WAAW,MACT,cAAc,WAAW,+BAA+B,+BAA+B;AAAA,IACzF,SAAS;AAAA,EACb,CAAG;AAED,QAAM,aAAaA,WAAW;AAAA,IAC5B,CAAC,EAAE,QAAQ,QAAO,MAAO,KAAK,GAAG,MAAM,kBAAkB,EAAE,SAAS;AAAA,IACpE;AAAA,MACE,WAAW,MACT;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MACH,SAAS;AAAA,IACV;AAAA,EACL;AAEE,SAAO,EAAE,MAAM,WAAW,SAAS,QAAQ,gBAAgB,QAAQ;AACrE;;;"}
@@ -1,39 +0,0 @@
1
- import * as React from "react";
2
- import { af as useTypedDispatch, a9 as useTypedSelector, ag as setPermissions, ah as resetPermissions } from "./index--h5HRJXN.mjs";
3
- const useSyncRbac = (collectionTypeUID, query, containerName = "listView") => {
4
- const [isLoading, setIsLoading] = React.useState(true);
5
- const dispatch = useTypedDispatch();
6
- const collectionTypesRelatedPermissions = useTypedSelector(
7
- (state) => state.rbacProvider.collectionTypesRelatedPermissions
8
- );
9
- const relatedPermissions = collectionTypesRelatedPermissions[collectionTypeUID];
10
- React.useEffect(() => {
11
- setIsLoading(true);
12
- if (relatedPermissions) {
13
- dispatch(
14
- setPermissions({
15
- permissions: relatedPermissions,
16
- __meta__: {
17
- plugins: query ? query.plugins : void 0,
18
- containerName
19
- }
20
- })
21
- );
22
- }
23
- setIsLoading(false);
24
- return () => {
25
- dispatch(resetPermissions());
26
- };
27
- }, [relatedPermissions, dispatch, query, containerName]);
28
- const permissions = useTypedSelector((state) => state["content-manager"].rbac.permissions);
29
- const isPermissionMismatch = permissions && permissions.some((permission) => permission.subject !== collectionTypeUID) ? true : false;
30
- return {
31
- isLoading,
32
- isError: !isLoading && isPermissionMismatch,
33
- permissions
34
- };
35
- };
36
- export {
37
- useSyncRbac as u
38
- };
39
- //# sourceMappingURL=useSyncRbac-JNQibLFa-qTsqKP_7.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSyncRbac-JNQibLFa-qTsqKP_7.mjs","sources":["../../../../core/admin/dist/_chunks/useSyncRbac-JNQibLFa.mjs"],"sourcesContent":["import * as React from \"react\";\nimport { r as useTypedDispatch, q as useTypedSelector, aJ as setPermissions, aK as resetPermissions } from \"./index-GIVuHJgC.mjs\";\nconst useSyncRbac = (collectionTypeUID, query, containerName = \"listView\") => {\n const [isLoading, setIsLoading] = React.useState(true);\n const dispatch = useTypedDispatch();\n const collectionTypesRelatedPermissions = useTypedSelector(\n (state) => state.rbacProvider.collectionTypesRelatedPermissions\n );\n const relatedPermissions = collectionTypesRelatedPermissions[collectionTypeUID];\n React.useEffect(() => {\n setIsLoading(true);\n if (relatedPermissions) {\n dispatch(\n setPermissions({\n permissions: relatedPermissions,\n __meta__: {\n plugins: query ? query.plugins : void 0,\n containerName\n }\n })\n );\n }\n setIsLoading(false);\n return () => {\n dispatch(resetPermissions());\n };\n }, [relatedPermissions, dispatch, query, containerName]);\n const permissions = useTypedSelector((state) => state[\"content-manager\"].rbac.permissions);\n const isPermissionMismatch = permissions && permissions.some((permission) => permission.subject !== collectionTypeUID) ? true : false;\n return {\n isLoading,\n isError: !isLoading && isPermissionMismatch,\n permissions\n };\n};\nexport {\n useSyncRbac as u\n};\n//# sourceMappingURL=useSyncRbac-JNQibLFa.mjs.map\n"],"names":[],"mappings":";;AAEK,MAAC,cAAc,CAAC,mBAAmB,OAAO,gBAAgB,eAAe;AAC5E,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,IAAI;AACrD,QAAM,WAAW;AACjB,QAAM,oCAAoC;AAAA,IACxC,CAAC,UAAU,MAAM,aAAa;AAAA,EAClC;AACE,QAAM,qBAAqB,kCAAkC,iBAAiB;AAC9E,QAAM,UAAU,MAAM;AACpB,iBAAa,IAAI;AACjB,QAAI,oBAAoB;AACtB;AAAA,QACE,eAAe;AAAA,UACb,aAAa;AAAA,UACb,UAAU;AAAA,YACR,SAAS,QAAQ,MAAM,UAAU;AAAA,YACjC;AAAA,UACD;AAAA,QACX,CAAS;AAAA,MACT;AAAA,IACK;AACD,iBAAa,KAAK;AAClB,WAAO,MAAM;AACX,eAAS,iBAAgB,CAAE;AAAA,IACjC;AAAA,EACG,GAAE,CAAC,oBAAoB,UAAU,OAAO,aAAa,CAAC;AACvD,QAAM,cAAc,iBAAiB,CAAC,UAAU,MAAM,iBAAiB,EAAE,KAAK,WAAW;AACzF,QAAM,uBAAuB,eAAe,YAAY,KAAK,CAAC,eAAe,WAAW,YAAY,iBAAiB,IAAI,OAAO;AAChI,SAAO;AAAA,IACL;AAAA,IACA,SAAS,CAAC,aAAa;AAAA,IACvB;AAAA,EACJ;AACA;"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- const React = require("react");
3
- const index = require("./index-XxWFAaxW.js");
4
- function _interopNamespace(e) {
5
- if (e && e.__esModule)
6
- return e;
7
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
- if (e) {
9
- for (const k in e) {
10
- if (k !== "default") {
11
- const d = Object.getOwnPropertyDescriptor(e, k);
12
- Object.defineProperty(n, k, d.get ? d : {
13
- enumerable: true,
14
- get: () => e[k]
15
- });
16
- }
17
- }
18
- }
19
- n.default = e;
20
- return Object.freeze(n);
21
- }
22
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
23
- const useSyncRbac = (collectionTypeUID, query, containerName = "listView") => {
24
- const [isLoading, setIsLoading] = React__namespace.useState(true);
25
- const dispatch = index.useTypedDispatch();
26
- const collectionTypesRelatedPermissions = index.useTypedSelector(
27
- (state) => state.rbacProvider.collectionTypesRelatedPermissions
28
- );
29
- const relatedPermissions = collectionTypesRelatedPermissions[collectionTypeUID];
30
- React__namespace.useEffect(() => {
31
- setIsLoading(true);
32
- if (relatedPermissions) {
33
- dispatch(
34
- index.setPermissions({
35
- permissions: relatedPermissions,
36
- __meta__: {
37
- plugins: query ? query.plugins : void 0,
38
- containerName
39
- }
40
- })
41
- );
42
- }
43
- setIsLoading(false);
44
- return () => {
45
- dispatch(index.resetPermissions());
46
- };
47
- }, [relatedPermissions, dispatch, query, containerName]);
48
- const permissions = index.useTypedSelector((state) => state["content-manager"].rbac.permissions);
49
- const isPermissionMismatch = permissions && permissions.some((permission) => permission.subject !== collectionTypeUID) ? true : false;
50
- return {
51
- isLoading,
52
- isError: !isLoading && isPermissionMismatch,
53
- permissions
54
- };
55
- };
56
- exports.useSyncRbac = useSyncRbac;
57
- //# sourceMappingURL=useSyncRbac-JNQibLFa-xqTnRORv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSyncRbac-JNQibLFa-xqTnRORv.js","sources":["../../../../core/admin/dist/_chunks/useSyncRbac-JNQibLFa.mjs"],"sourcesContent":["import * as React from \"react\";\nimport { r as useTypedDispatch, q as useTypedSelector, aJ as setPermissions, aK as resetPermissions } from \"./index-GIVuHJgC.mjs\";\nconst useSyncRbac = (collectionTypeUID, query, containerName = \"listView\") => {\n const [isLoading, setIsLoading] = React.useState(true);\n const dispatch = useTypedDispatch();\n const collectionTypesRelatedPermissions = useTypedSelector(\n (state) => state.rbacProvider.collectionTypesRelatedPermissions\n );\n const relatedPermissions = collectionTypesRelatedPermissions[collectionTypeUID];\n React.useEffect(() => {\n setIsLoading(true);\n if (relatedPermissions) {\n dispatch(\n setPermissions({\n permissions: relatedPermissions,\n __meta__: {\n plugins: query ? query.plugins : void 0,\n containerName\n }\n })\n );\n }\n setIsLoading(false);\n return () => {\n dispatch(resetPermissions());\n };\n }, [relatedPermissions, dispatch, query, containerName]);\n const permissions = useTypedSelector((state) => state[\"content-manager\"].rbac.permissions);\n const isPermissionMismatch = permissions && permissions.some((permission) => permission.subject !== collectionTypeUID) ? true : false;\n return {\n isLoading,\n isError: !isLoading && isPermissionMismatch,\n permissions\n };\n};\nexport {\n useSyncRbac as u\n};\n//# sourceMappingURL=useSyncRbac-JNQibLFa.mjs.map\n"],"names":["React","useTypedDispatch","useTypedSelector","setPermissions","resetPermissions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEK,MAAC,cAAc,CAAC,mBAAmB,OAAO,gBAAgB,eAAe;AAC5E,QAAM,CAAC,WAAW,YAAY,IAAIA,iBAAM,SAAS,IAAI;AACrD,QAAM,WAAWC,MAAAA;AACjB,QAAM,oCAAoCC,MAAgB;AAAA,IACxD,CAAC,UAAU,MAAM,aAAa;AAAA,EAClC;AACE,QAAM,qBAAqB,kCAAkC,iBAAiB;AAC9EF,mBAAM,UAAU,MAAM;AACpB,iBAAa,IAAI;AACjB,QAAI,oBAAoB;AACtB;AAAA,QACEG,qBAAe;AAAA,UACb,aAAa;AAAA,UACb,UAAU;AAAA,YACR,SAAS,QAAQ,MAAM,UAAU;AAAA,YACjC;AAAA,UACD;AAAA,QACX,CAAS;AAAA,MACT;AAAA,IACK;AACD,iBAAa,KAAK;AAClB,WAAO,MAAM;AACX,eAASC,MAAgB,iBAAA,CAAE;AAAA,IACjC;AAAA,EACG,GAAE,CAAC,oBAAoB,UAAU,OAAO,aAAa,CAAC;AACvD,QAAM,cAAcF,MAAgB,iBAAC,CAAC,UAAU,MAAM,iBAAiB,EAAE,KAAK,WAAW;AACzF,QAAM,uBAAuB,eAAe,YAAY,KAAK,CAAC,eAAe,WAAW,YAAY,iBAAiB,IAAI,OAAO;AAChI,SAAO;AAAA,IACL;AAAA,IACA,SAAS,CAAC,aAAa;AAAA,IACvB;AAAA,EACJ;AACA;;"}
package/dist/style.css DELETED
@@ -1,84 +0,0 @@
1
- /*
2
-
3
- Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>
4
-
5
- */
6
-
7
- .hljs {
8
- display: block;
9
- overflow-x: auto;
10
- padding: 0.5em;
11
- background: #002b36;
12
- color: #839496;
13
- }
14
-
15
- .hljs-comment,
16
- .hljs-quote {
17
- color: #586e75;
18
- }
19
-
20
- /* Solarized Green */
21
- .hljs-keyword,
22
- .hljs-selector-tag,
23
- .hljs-addition {
24
- color: #859900;
25
- }
26
-
27
- /* Solarized Cyan */
28
- .hljs-number,
29
- .hljs-string,
30
- .hljs-meta .hljs-meta-string,
31
- .hljs-literal,
32
- .hljs-doctag,
33
- .hljs-regexp {
34
- color: #2aa198;
35
- }
36
-
37
- /* Solarized Blue */
38
- .hljs-title,
39
- .hljs-section,
40
- .hljs-name,
41
- .hljs-selector-id,
42
- .hljs-selector-class {
43
- color: #268bd2;
44
- }
45
-
46
- /* Solarized Yellow */
47
- .hljs-attribute,
48
- .hljs-attr,
49
- .hljs-variable,
50
- .hljs-template-variable,
51
- .hljs-class .hljs-title,
52
- .hljs-type {
53
- color: #b58900;
54
- }
55
-
56
- /* Solarized Orange */
57
- .hljs-symbol,
58
- .hljs-bullet,
59
- .hljs-subst,
60
- .hljs-meta,
61
- .hljs-meta .hljs-keyword,
62
- .hljs-selector-attr,
63
- .hljs-selector-pseudo,
64
- .hljs-link {
65
- color: #cb4b16;
66
- }
67
-
68
- /* Solarized Red */
69
- .hljs-built_in,
70
- .hljs-deletion {
71
- color: #dc322f;
72
- }
73
-
74
- .hljs-formula {
75
- background: #073642;
76
- }
77
-
78
- .hljs-emphasis {
79
- font-style: italic;
80
- }
81
-
82
- .hljs-strong {
83
- font-weight: bold;
84
- }