@strapi/plugin-documentation 5.0.0-alpha.0 → 5.0.0-alpha.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 (56) hide show
  1. package/admin/src/hooks/useDocumentation.js +1 -2
  2. package/admin/src/index.js +1 -1
  3. package/admin/src/pages/PluginPage/index.jsx +3 -5
  4. package/admin/src/pages/SettingsPage/index.jsx +4 -8
  5. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  6. package/dist/_chunks/{EditViewPage-xYzUSAwS-OCSjk-Vt.mjs → EditViewPage-kgrZ8rEg-N3ylaYYT.mjs} +21 -7
  7. package/dist/_chunks/{EditViewPage-xYzUSAwS-OCSjk-Vt.mjs.map → EditViewPage-kgrZ8rEg-N3ylaYYT.mjs.map} +1 -1
  8. package/dist/_chunks/{EditViewPage-xYzUSAwS-NigDiZi1.js → EditViewPage-kgrZ8rEg-QXBi74pP.js} +26 -12
  9. package/dist/_chunks/{EditViewPage-xYzUSAwS-NigDiZi1.js.map → EditViewPage-kgrZ8rEg-QXBi74pP.js.map} +1 -1
  10. package/dist/_chunks/{ListViewPage-xOVa04T_-JQSQJ0aH.js → ListViewPage-BNB0ptO7-Y0blKENS.js} +16 -17
  11. package/dist/_chunks/ListViewPage-BNB0ptO7-Y0blKENS.js.map +1 -0
  12. package/dist/_chunks/{ListViewPage-xOVa04T_-MAsyJIvQ.mjs → ListViewPage-BNB0ptO7-qPG-Y69A.mjs} +9 -10
  13. package/dist/_chunks/ListViewPage-BNB0ptO7-qPG-Y69A.mjs.map +1 -0
  14. package/dist/_chunks/{ReviewWorkflowsColumn-FDxVKdto-9EdyIGCi.js → ReviewWorkflowsColumn-56Z6l-FH-j4yjCkjD.js} +2 -2
  15. package/dist/_chunks/{ReviewWorkflowsColumn-FDxVKdto-9EdyIGCi.js.map → ReviewWorkflowsColumn-56Z6l-FH-j4yjCkjD.js.map} +1 -1
  16. package/dist/_chunks/{ReviewWorkflowsColumn-FDxVKdto-E7QaAVIp.mjs → ReviewWorkflowsColumn-56Z6l-FH-jOwjGO3o.mjs} +2 -2
  17. package/dist/_chunks/{ReviewWorkflowsColumn-FDxVKdto-E7QaAVIp.mjs.map → ReviewWorkflowsColumn-56Z6l-FH-jOwjGO3o.mjs.map} +1 -1
  18. package/dist/_chunks/{constants-WjN6I3sL-1yTyGpl5.mjs → constants-evLWZCaJ-Oxpg3z7Q.mjs} +2 -2
  19. package/dist/_chunks/{constants-WjN6I3sL-1yTyGpl5.mjs.map → constants-evLWZCaJ-Oxpg3z7Q.mjs.map} +1 -1
  20. package/dist/_chunks/{constants-WjN6I3sL-5vTd1Y1g.js → constants-evLWZCaJ-ZpfIp8P_.js} +2 -2
  21. package/dist/_chunks/{constants-WjN6I3sL-5vTd1Y1g.js.map → constants-evLWZCaJ-ZpfIp8P_.js.map} +1 -1
  22. package/dist/_chunks/{index-m8HLcGmV.js → index-7OS1Qe_4.js} +4 -5
  23. package/dist/_chunks/index-7OS1Qe_4.js.map +1 -0
  24. package/dist/_chunks/{index-h-OcS50W.mjs → index-JM6LA3Oe.mjs} +17 -9
  25. package/dist/_chunks/index-JM6LA3Oe.mjs.map +1 -0
  26. package/dist/_chunks/{index-FiShd2zI.js → index-R7UT09YY.js} +2794 -2683
  27. package/dist/_chunks/index-R7UT09YY.js.map +1 -0
  28. package/dist/_chunks/{index--rtz8bZh.mjs → index-lggLaJiY.mjs} +2827 -2716
  29. package/dist/_chunks/index-lggLaJiY.mjs.map +1 -0
  30. package/dist/_chunks/{index-vWzO1snG.js → index-ri1exVbc.js} +18 -10
  31. package/dist/_chunks/index-ri1exVbc.js.map +1 -0
  32. package/dist/_chunks/{index-Qt8XLNQZ.mjs → index-ynnbYrP0.mjs} +6 -7
  33. package/dist/_chunks/index-ynnbYrP0.mjs.map +1 -0
  34. package/dist/_chunks/{useDocumentation-hOQyphRS.js → useDocumentation-GsX6iQVe.js} +3 -4
  35. package/dist/_chunks/useDocumentation-GsX6iQVe.js.map +1 -0
  36. package/dist/_chunks/{useDocumentation-EsufCjtn.mjs → useDocumentation-jTKQvwxD.mjs} +3 -4
  37. package/dist/_chunks/useDocumentation-jTKQvwxD.mjs.map +1 -0
  38. package/dist/_chunks/{useSyncRbac-Kt8Li0Yf-f6LRUqJf.js → useSyncRbac-83vFRiaG-5ec8lrUQ.js} +2 -2
  39. package/dist/_chunks/{useSyncRbac-Kt8Li0Yf-f6LRUqJf.js.map → useSyncRbac-83vFRiaG-5ec8lrUQ.js.map} +1 -1
  40. package/dist/_chunks/{useSyncRbac-Kt8Li0Yf-mDaHJCOQ.mjs → useSyncRbac-83vFRiaG-oJpvBKQE.mjs} +2 -2
  41. package/dist/_chunks/{useSyncRbac-Kt8Li0Yf-mDaHJCOQ.mjs.map → useSyncRbac-83vFRiaG-oJpvBKQE.mjs.map} +1 -1
  42. package/dist/admin/index.js +1 -2
  43. package/dist/admin/index.js.map +1 -1
  44. package/dist/admin/index.mjs +1 -2
  45. package/dist/admin/index.mjs.map +1 -1
  46. package/package.json +6 -6
  47. package/dist/_chunks/ListViewPage-xOVa04T_-JQSQJ0aH.js.map +0 -1
  48. package/dist/_chunks/ListViewPage-xOVa04T_-MAsyJIvQ.mjs.map +0 -1
  49. package/dist/_chunks/index--rtz8bZh.mjs.map +0 -1
  50. package/dist/_chunks/index-FiShd2zI.js.map +0 -1
  51. package/dist/_chunks/index-Qt8XLNQZ.mjs.map +0 -1
  52. package/dist/_chunks/index-h-OcS50W.mjs.map +0 -1
  53. package/dist/_chunks/index-m8HLcGmV.js.map +0 -1
  54. package/dist/_chunks/index-vWzO1snG.js.map +0 -1
  55. package/dist/_chunks/useDocumentation-EsufCjtn.mjs.map +0 -1
  56. package/dist/_chunks/useDocumentation-hOQyphRS.js.map +0 -1
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- const helperPlugin = require("@strapi/helper-plugin");
3
2
  const Icons = require("@strapi/icons");
4
3
  const __variableDynamicImportRuntimeHelper = (glob, path) => {
5
4
  const v = glob[path];
@@ -11,7 +10,7 @@ const __variableDynamicImportRuntimeHelper = (glob, path) => {
11
10
  });
12
11
  };
13
12
  const name$1 = "@strapi/plugin-documentation";
14
- const version = "4.20.5";
13
+ const version = "5.0.0-alpha.0";
15
14
  const description = "Create an OpenAPI Document and visualize your API with SWAGGER UI.";
16
15
  const repository = {
17
16
  type: "git",
@@ -57,9 +56,9 @@ const scripts = {
57
56
  };
58
57
  const dependencies = {
59
58
  "@strapi/design-system": "1.16.0",
60
- "@strapi/helper-plugin": "4.20.5",
59
+ "@strapi/helper-plugin": "5.0.0-alpha.0",
61
60
  "@strapi/icons": "1.16.0",
62
- "@strapi/utils": "4.20.5",
61
+ "@strapi/utils": "5.0.0-alpha.0",
63
62
  bcryptjs: "2.4.3",
64
63
  cheerio: "^1.0.0-rc.12",
65
64
  formik: "2.4.5",
@@ -77,8 +76,8 @@ const dependencies = {
77
76
  };
78
77
  const devDependencies = {
79
78
  "@apidevtools/swagger-parser": "^10.1.0",
80
- "@strapi/pack-up": "4.20.5",
81
- "@strapi/strapi": "4.20.5",
79
+ "@strapi/pack-up": "5.0.0-alpha.0",
80
+ "@strapi/strapi": "5.0.0-alpha.0",
82
81
  "@testing-library/react": "14.0.0",
83
82
  "@testing-library/user-event": "14.4.3",
84
83
  msw: "1.3.0",
@@ -138,6 +137,15 @@ const PERMISSIONS = {
138
137
  update: [{ action: "plugin::documentation.settings.update", subject: null }]
139
138
  };
140
139
  const pluginId = pluginPkg.name.replace(/^@strapi\/plugin-/i, "");
140
+ const prefixPluginTranslations = (trad, pluginId2) => {
141
+ if (!pluginId2) {
142
+ throw new TypeError("pluginId can't be empty");
143
+ }
144
+ return Object.keys(trad).reduce((acc, current) => {
145
+ acc[`${pluginId2}.${current}`] = trad[current];
146
+ return acc;
147
+ }, {});
148
+ };
141
149
  const name = pluginPkg.strapi.name;
142
150
  const index = {
143
151
  register(app) {
@@ -149,7 +157,7 @@ const index = {
149
157
  defaultMessage: "Documentation"
150
158
  },
151
159
  permissions: PERMISSIONS.main,
152
- Component: () => Promise.resolve().then(() => require("./index-FiShd2zI.js")).then((n) => n.index)
160
+ Component: () => Promise.resolve().then(() => require("./index-R7UT09YY.js")).then((n) => n.index)
153
161
  });
154
162
  app.registerPlugin({
155
163
  id: pluginId,
@@ -164,7 +172,7 @@ const index = {
164
172
  },
165
173
  id: "documentation",
166
174
  to: pluginId,
167
- Component: () => Promise.resolve().then(() => require("./index-m8HLcGmV.js")),
175
+ Component: () => Promise.resolve().then(() => require("./index-7OS1Qe_4.js")),
168
176
  permissions: PERMISSIONS.main
169
177
  });
170
178
  },
@@ -173,7 +181,7 @@ const index = {
173
181
  locales.map((locale) => {
174
182
  return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-4yWQcJB-.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-knLCHelx.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-D0HJjv1r.js")), "./translations/dk.json": () => Promise.resolve().then(() => require("./dk-OGCIxZ4f.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-YgFnjikD.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-5fRDaTSK.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-qviymkcR.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-caKGgafZ.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-e3T319Va.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-nWCOH-TF.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-CSGAOmvV.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-82NK6g7v.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-UMuW3iDh.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-G0-nWgFV.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-2sEtQifY.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-wJyWus4I.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-mcEz1PMW.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-V86KaP9y.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-pZN4HdUY.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-fCijT6nA.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-TEHpQuls.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-Nxtm0xZz.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-tFSnVett.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-bgauBZz8.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
175
183
  return {
176
- data: helperPlugin.prefixPluginTranslations(data, pluginId),
184
+ data: prefixPluginTranslations(data, pluginId),
177
185
  locale
178
186
  };
179
187
  }).catch(() => {
@@ -190,4 +198,4 @@ const index = {
190
198
  exports.PERMISSIONS = PERMISSIONS;
191
199
  exports.index = index;
192
200
  exports.pluginId = pluginId;
193
- //# sourceMappingURL=index-vWzO1snG.js.map
201
+ //# sourceMappingURL=index-ri1exVbc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ri1exVbc.js","sources":["../../admin/src/constants.js","../../admin/src/pluginId.js","../../admin/src/utils/prefixPluginTranslations.js","../../admin/src/index.js"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [\n { action: 'plugin::documentation.read', subject: null },\n { action: 'plugin::documentation.settings.regenerate', subject: null },\n { action: 'plugin::documentation.settings.update', subject: null },\n ],\n open: [\n { action: 'plugin::documentation.read', subject: null },\n { action: 'plugin::documentation.settings.regenerate', subject: null },\n ],\n regenerate: [{ action: 'plugin::documentation.settings.regenerate', subject: null }],\n update: [{ action: 'plugin::documentation.settings.update', subject: null }],\n};\n","import pluginPkg from '../../package.json';\n\nconst pluginId = pluginPkg.name.replace(/^@strapi\\/plugin-/i, '');\n\nexport default pluginId;\n","const prefixPluginTranslations = (trad, pluginId) => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n\n return acc;\n }, {});\n};\n\nexport { prefixPluginTranslations };\n","import { Information } from '@strapi/icons';\n\nimport pluginPkg from '../../package.json';\n\nimport { PERMISSIONS } from './constants';\nimport pluginId from './pluginId';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nconst name = pluginPkg.strapi.name;\n\nexport default {\n register(app) {\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Information,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Documentation',\n },\n permissions: PERMISSIONS.main,\n Component: () => import('./pages/PluginPage'),\n });\n\n app.registerPlugin({\n id: pluginId,\n name,\n });\n },\n bootstrap(app) {\n app.addSettingsLink('global', {\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Documentation',\n },\n id: 'documentation',\n to: pluginId,\n Component: () => import('./pages/SettingsPage'),\n permissions: PERMISSIONS.main,\n });\n },\n async registerTrads({ locales }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["pluginId","Information"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useState } from "react";
3
- import { Main, HeaderLayout, Button, ContentLayout, Box, Flex, Typography, Grid, GridItem, ToggleInput, TextInput, FieldAction } from "@strapi/design-system";
4
- import { useFocusWhenNavigate, useRBAC } from "@strapi/helper-plugin";
3
+ import { HeaderLayout, Button, ContentLayout, Box, Flex, Typography, Grid, GridItem, ToggleInput, TextInput, FieldAction } from "@strapi/design-system";
4
+ import { useRBAC } from "@strapi/helper-plugin";
5
5
  import { Check, Eye, EyeStriked } from "@strapi/icons";
6
6
  import { translatedErrors, Page } from "@strapi/strapi/admin";
7
7
  import { Formik, Form } from "formik";
8
8
  import { useIntl } from "react-intl";
9
9
  import styled from "styled-components";
10
10
  import * as yup from "yup";
11
- import { P as PERMISSIONS } from "./index-h-OcS50W.mjs";
12
- import { u as useDocumentation, g as getTrad } from "./useDocumentation-EsufCjtn.mjs";
11
+ import { P as PERMISSIONS } from "./index-JM6LA3Oe.mjs";
12
+ import { u as useDocumentation, g as getTrad } from "./useDocumentation-jTKQvwxD.mjs";
13
13
  const schema = yup.object().shape({
14
14
  restrictedAccess: yup.boolean(),
15
15
  password: yup.string().when("restrictedAccess", (value, initSchema) => {
@@ -17,7 +17,6 @@ const schema = yup.object().shape({
17
17
  })
18
18
  });
19
19
  const SettingsPage = () => {
20
- useFocusWhenNavigate();
21
20
  const { formatMessage } = useIntl();
22
21
  const { submit, data, isLoading } = useDocumentation();
23
22
  const [passwordShown, setPasswordShown] = useState(false);
@@ -31,7 +30,7 @@ const SettingsPage = () => {
31
30
  if (isLoading) {
32
31
  return /* @__PURE__ */ jsx(Page.Loading, {});
33
32
  }
34
- return /* @__PURE__ */ jsx(Main, { children: /* @__PURE__ */ jsx(
33
+ return /* @__PURE__ */ jsx(Page.Main, { children: /* @__PURE__ */ jsx(
35
34
  Formik,
36
35
  {
37
36
  initialValues: {
@@ -173,4 +172,4 @@ const FieldActionWrapper = styled(FieldAction)`
173
172
  export {
174
173
  SettingsPage as default
175
174
  };
176
- //# sourceMappingURL=index-Qt8XLNQZ.mjs.map
175
+ //# sourceMappingURL=index-ynnbYrP0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ynnbYrP0.mjs","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":["Show","Hide"],"mappings":"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"}
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  const React = require("react");
3
- const helperPlugin = require("@strapi/helper-plugin");
4
3
  const admin = require("@strapi/strapi/admin");
5
4
  const reactIntl = require("react-intl");
6
5
  const reactQuery = require("react-query");
7
- const index = require("./index-vWzO1snG.js");
6
+ const index = require("./index-ri1exVbc.js");
8
7
  const getTrad = (id) => `${index.pluginId}.${id}`;
9
8
  const useDocumentation = () => {
10
9
  const { toggleNotification } = admin.useNotification();
11
10
  const { formatMessage } = reactIntl.useIntl();
12
- const { del, post, put, get } = helperPlugin.useFetchClient();
11
+ const { del, post, put, get } = admin.useFetchClient();
13
12
  const { formatAPIError } = admin.useAPIErrorHandler();
14
13
  const { isLoading, isError, data, refetch, error } = reactQuery.useQuery(
15
14
  ["get-documentation", index.pluginId],
@@ -65,4 +64,4 @@ const useDocumentation = () => {
65
64
  };
66
65
  exports.getTrad = getTrad;
67
66
  exports.useDocumentation = useDocumentation;
68
- //# sourceMappingURL=useDocumentation-hOQyphRS.js.map
67
+ //# sourceMappingURL=useDocumentation-GsX6iQVe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentation-GsX6iQVe.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,9 +1,8 @@
1
1
  import { useEffect } from "react";
2
- import { useFetchClient } from "@strapi/helper-plugin";
3
- import { useNotification, useAPIErrorHandler } from "@strapi/strapi/admin";
2
+ import { useNotification, useFetchClient, useAPIErrorHandler } from "@strapi/strapi/admin";
4
3
  import { useIntl } from "react-intl";
5
4
  import { useQuery, useMutation } from "react-query";
6
- import { p as pluginId } from "./index-h-OcS50W.mjs";
5
+ import { p as pluginId } from "./index-JM6LA3Oe.mjs";
7
6
  const getTrad = (id) => `${pluginId}.${id}`;
8
7
  const useDocumentation = () => {
9
8
  const { toggleNotification } = useNotification();
@@ -66,4 +65,4 @@ export {
66
65
  getTrad as g,
67
66
  useDocumentation as u
68
67
  };
69
- //# sourceMappingURL=useDocumentation-EsufCjtn.mjs.map
68
+ //# sourceMappingURL=useDocumentation-jTKQvwxD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentation-jTKQvwxD.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,6 +1,6 @@
1
1
  "use strict";
2
2
  const React = require("react");
3
- const index = require("./index-FiShd2zI.js");
3
+ const index = require("./index-R7UT09YY.js");
4
4
  function _interopNamespace(e) {
5
5
  if (e && e.__esModule)
6
6
  return e;
@@ -54,4 +54,4 @@ const useSyncRbac = (collectionTypeUID, query, containerName = "listView") => {
54
54
  };
55
55
  };
56
56
  exports.useSyncRbac = useSyncRbac;
57
- //# sourceMappingURL=useSyncRbac-Kt8Li0Yf-f6LRUqJf.js.map
57
+ //# sourceMappingURL=useSyncRbac-83vFRiaG-5ec8lrUQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncRbac-Kt8Li0Yf-f6LRUqJf.js","sources":["../../../../core/admin/dist/_chunks/useSyncRbac-Kt8Li0Yf.mjs"],"sourcesContent":["import * as React from \"react\";\nimport { r as useTypedDispatch, q as useTypedSelector, aG as setPermissions, aH as resetPermissions } from \"./index-5ZvCaCyY.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-Kt8Li0Yf.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;;"}
1
+ {"version":3,"file":"useSyncRbac-83vFRiaG-5ec8lrUQ.js","sources":["../../../../core/admin/dist/_chunks/useSyncRbac-83vFRiaG.mjs"],"sourcesContent":["import * as React from \"react\";\nimport { r as useTypedDispatch, q as useTypedSelector, aJ as setPermissions, aK as resetPermissions } from \"./index-YFPS5vYF.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-83vFRiaG.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;;"}
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { ad as useTypedDispatch, a7 as useTypedSelector, ae as setPermissions, af as resetPermissions } from "./index--rtz8bZh.mjs";
2
+ import { af as useTypedDispatch, a9 as useTypedSelector, ag as setPermissions, ah as resetPermissions } from "./index-lggLaJiY.mjs";
3
3
  const useSyncRbac = (collectionTypeUID, query, containerName = "listView") => {
4
4
  const [isLoading, setIsLoading] = React.useState(true);
5
5
  const dispatch = useTypedDispatch();
@@ -36,4 +36,4 @@ const useSyncRbac = (collectionTypeUID, query, containerName = "listView") => {
36
36
  export {
37
37
  useSyncRbac as u
38
38
  };
39
- //# sourceMappingURL=useSyncRbac-Kt8Li0Yf-mDaHJCOQ.mjs.map
39
+ //# sourceMappingURL=useSyncRbac-83vFRiaG-oJpvBKQE.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncRbac-Kt8Li0Yf-mDaHJCOQ.mjs","sources":["../../../../core/admin/dist/_chunks/useSyncRbac-Kt8Li0Yf.mjs"],"sourcesContent":["import * as React from \"react\";\nimport { r as useTypedDispatch, q as useTypedSelector, aG as setPermissions, aH as resetPermissions } from \"./index-5ZvCaCyY.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-Kt8Li0Yf.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
+ {"version":3,"file":"useSyncRbac-83vFRiaG-oJpvBKQE.mjs","sources":["../../../../core/admin/dist/_chunks/useSyncRbac-83vFRiaG.mjs"],"sourcesContent":["import * as React from \"react\";\nimport { r as useTypedDispatch, q as useTypedSelector, aJ as setPermissions, aK as resetPermissions } from \"./index-YFPS5vYF.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-83vFRiaG.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,6 +1,5 @@
1
1
  "use strict";
2
- const index = require("../_chunks/index-vWzO1snG.js");
3
- require("@strapi/helper-plugin");
2
+ const index = require("../_chunks/index-ri1exVbc.js");
4
3
  require("@strapi/icons");
5
4
  module.exports = index.index;
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,4 @@
1
- import { i } from "../_chunks/index-h-OcS50W.mjs";
2
- import "@strapi/helper-plugin";
1
+ import { i } from "../_chunks/index-JM6LA3Oe.mjs";
3
2
  import "@strapi/icons";
4
3
  export {
5
4
  i as default
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/plugin-documentation",
3
- "version": "5.0.0-alpha.0",
3
+ "version": "5.0.0-alpha.1",
4
4
  "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,9 +46,9 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@strapi/design-system": "1.16.0",
49
- "@strapi/helper-plugin": "5.0.0-alpha.0",
49
+ "@strapi/helper-plugin": "5.0.0-alpha.1",
50
50
  "@strapi/icons": "1.16.0",
51
- "@strapi/utils": "5.0.0-alpha.0",
51
+ "@strapi/utils": "5.0.0-alpha.1",
52
52
  "bcryptjs": "2.4.3",
53
53
  "cheerio": "^1.0.0-rc.12",
54
54
  "formik": "2.4.5",
@@ -66,8 +66,8 @@
66
66
  },
67
67
  "devDependencies": {
68
68
  "@apidevtools/swagger-parser": "^10.1.0",
69
- "@strapi/pack-up": "5.0.0-alpha.0",
70
- "@strapi/strapi": "5.0.0-alpha.0",
69
+ "@strapi/pack-up": "5.0.0-alpha.1",
70
+ "@strapi/strapi": "5.0.0-alpha.1",
71
71
  "@testing-library/react": "14.0.0",
72
72
  "@testing-library/user-event": "14.4.3",
73
73
  "msw": "1.3.0",
@@ -93,5 +93,5 @@
93
93
  "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
94
94
  "kind": "plugin"
95
95
  },
96
- "gitHead": "ceeb3f383cbaf51eeaa373750a27a2880a10f727"
96
+ "gitHead": "eb70e07ea981311a3ddfbb2fdda0417034b22881"
97
97
  }