@strapi/admin 4.13.5 → 4.13.6

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 (111) hide show
  1. package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +3 -3
  2. package/build/1049.bf5230e6.chunk.js +1 -0
  3. package/build/1227.c72e74e9.chunk.js +1 -0
  4. package/build/{1386.ea73b677.chunk.js → 1386.8c070d59.chunk.js} +1 -1
  5. package/build/2225.73c9a224.chunk.js +79 -0
  6. package/build/2237.a7992513.chunk.js +114 -0
  7. package/build/2379.27c6ab54.chunk.js +1 -0
  8. package/build/{2395.0e5e8ded.chunk.js → 2395.120256d6.chunk.js} +2 -2
  9. package/build/{6691.4985ef22.chunk.js → 2659.cb94f1e7.chunk.js} +28 -28
  10. package/build/{2801.8e1aa82a.chunk.js → 2801.fdd4d8a2.chunk.js} +1 -1
  11. package/build/{1387.a86ac314.chunk.js → 2950.216f2e89.chunk.js} +1 -1
  12. package/build/3021.33ad47fb.chunk.js +103 -0
  13. package/build/3911.488fbde3.chunk.js +95 -0
  14. package/build/4174.6efb0dc6.chunk.js +1 -0
  15. package/build/{4546.6dbd695f.chunk.js → 4546.9710f321.chunk.js} +1 -1
  16. package/build/4724.a0ce68f3.chunk.js +6 -0
  17. package/build/{502.7bba43b1.chunk.js → 502.d26ea06b.chunk.js} +1 -1
  18. package/build/{4628.9cbb6df5.chunk.js → 5158.c85f841a.chunk.js} +1 -1
  19. package/build/{9806.5d5a0e8d.chunk.js → 6272.4017459a.chunk.js} +25 -25
  20. package/build/6715.48e37308.chunk.js +1 -0
  21. package/build/6812.31979984.chunk.js +26 -0
  22. package/build/{7464.eb057bec.chunk.js → 7464.d3d1414f.chunk.js} +1 -1
  23. package/build/{8276.be3ed581.chunk.js → 8276.b55f4600.chunk.js} +2 -2
  24. package/build/{Admin-authenticatedApp.3c6f7f3c.chunk.js → Admin-authenticatedApp.69c7ea72.chunk.js} +7 -7
  25. package/build/Admin_InternalErrorPage.18ba7fd6.chunk.js +1 -0
  26. package/build/{Admin_homePage.6f128523.chunk.js → Admin_homePage.86c8d4c9.chunk.js} +10 -10
  27. package/build/{Admin_marketplace.061a6e5a.chunk.js → Admin_marketplace.e75c9cf4.chunk.js} +9 -9
  28. package/build/Admin_pluginsPage.d1afbf28.chunk.js +6 -0
  29. package/build/{Admin_profilePage.678bce24.chunk.js → Admin_profilePage.079903a3.chunk.js} +2 -2
  30. package/build/Admin_settingsPage.60a3e46e.chunk.js +111 -0
  31. package/build/Upload_ConfigureTheView.949535b8.chunk.js +1 -0
  32. package/build/{admin-app.2a8615ab.chunk.js → admin-app.1fde8f7a.chunk.js} +8 -8
  33. package/build/{admin-edit-roles-page.38a6c863.chunk.js → admin-edit-roles-page.f76cb0aa.chunk.js} +37 -37
  34. package/build/admin-edit-users.186c9d90.chunk.js +10 -0
  35. package/build/admin-roles-list.3a4edfa2.chunk.js +22 -0
  36. package/build/admin-users.e276bd9a.chunk.js +11 -0
  37. package/build/{api-tokens-create-page.e0c15627.chunk.js → api-tokens-create-page.f5a85725.chunk.js} +1 -1
  38. package/build/{api-tokens-edit-page.9f2dce47.chunk.js → api-tokens-edit-page.06a32cef.chunk.js} +1 -1
  39. package/build/api-tokens-list-page.bb27d544.chunk.js +16 -0
  40. package/build/audit-logs-settings-page.0d9bc0f6.chunk.js +1 -0
  41. package/build/{content-manager.f448efdf.chunk.js → content-manager.f9abb63f.chunk.js} +17 -17
  42. package/build/{content-type-builder-list-view.b71cf240.chunk.js → content-type-builder-list-view.b75fb938.chunk.js} +14 -14
  43. package/build/{content-type-builder.e5669749.chunk.js → content-type-builder.5ff93edd.chunk.js} +17 -17
  44. package/build/email-settings-page.07d417d5.chunk.js +11 -0
  45. package/build/i18n-settings-page.7107e28a.chunk.js +9 -0
  46. package/build/i18n-translation-tr-json.3bfc812f.chunk.js +1 -0
  47. package/build/index.html +1 -1
  48. package/build/main.9ed36326.js +2860 -0
  49. package/build/review-workflows-settings-create-view.b96b7be1.chunk.js +1 -0
  50. package/build/review-workflows-settings-edit-view.21a682a0.chunk.js +1 -0
  51. package/build/review-workflows-settings-list-view.14212324.chunk.js +56 -0
  52. package/build/{runtime~main.6304468f.js → runtime~main.562cc892.js} +2 -2
  53. package/build/sso-settings-page.d93bd81f.chunk.js +1 -0
  54. package/build/{transfer-tokens-create-page.ebba16d8.chunk.js → transfer-tokens-create-page.6e7049ff.chunk.js} +1 -1
  55. package/build/{transfer-tokens-edit-page.d7bb2b3e.chunk.js → transfer-tokens-edit-page.449b4502.chunk.js} +1 -1
  56. package/build/transfer-tokens-list-page.34caf827.chunk.js +16 -0
  57. package/build/upload-settings.fede24b9.chunk.js +14 -0
  58. package/build/upload.a96e2452.chunk.js +58 -0
  59. package/build/users-advanced-settings-page.ac7968e7.chunk.js +9 -0
  60. package/build/users-email-settings-page.125a89e2.chunk.js +9 -0
  61. package/build/users-providers-settings-page.ce34951c.chunk.js +14 -0
  62. package/build/{users-roles-settings-page.2b051e6a.chunk.js → users-roles-settings-page.d415835a.chunk.js} +2 -2
  63. package/build/{webhook-edit-page.de45c635.chunk.js → webhook-edit-page.7498417e.chunk.js} +3 -3
  64. package/build/webhook-list-page.1b085c7f.chunk.js +63 -0
  65. package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js +5 -15
  66. package/ee/server/bootstrap.js +2 -2
  67. package/package.json +11 -11
  68. package/scripts/build.js +2 -3
  69. package/scripts/create-dev-plugins-file.js +2 -3
  70. package/server/bootstrap.js +3 -1
  71. package/server/services/metrics.js +17 -0
  72. package/utils/create-cache-dir.js +5 -102
  73. package/utils/plugins.js +217 -0
  74. package/webpack.config.js +2 -2
  75. package/build/1049.ec69f5e0.chunk.js +0 -1
  76. package/build/1227.9f37e1dc.chunk.js +0 -1
  77. package/build/1504.eff012f7.chunk.js +0 -95
  78. package/build/2225.649fb7bc.chunk.js +0 -79
  79. package/build/2237.b832ae6e.chunk.js +0 -114
  80. package/build/2379.1f98a31a.chunk.js +0 -1
  81. package/build/3739.63e352f1.chunk.js +0 -103
  82. package/build/4174.f1f39e40.chunk.js +0 -1
  83. package/build/448.829e1344.chunk.js +0 -1
  84. package/build/4724.aea5c8c1.chunk.js +0 -6
  85. package/build/9944.7af075a5.chunk.js +0 -26
  86. package/build/Admin_InternalErrorPage.38155af3.chunk.js +0 -1
  87. package/build/Admin_pluginsPage.16f837b8.chunk.js +0 -6
  88. package/build/Admin_settingsPage.af7309e4.chunk.js +0 -111
  89. package/build/Upload_ConfigureTheView.3fc1c100.chunk.js +0 -1
  90. package/build/admin-edit-users.545fc882.chunk.js +0 -10
  91. package/build/admin-roles-list.1e2e814d.chunk.js +0 -22
  92. package/build/admin-users.b8ea5677.chunk.js +0 -11
  93. package/build/api-tokens-list-page.d747051c.chunk.js +0 -16
  94. package/build/audit-logs-settings-page.96f9d608.chunk.js +0 -1
  95. package/build/email-settings-page.2809f0bf.chunk.js +0 -11
  96. package/build/i18n-settings-page.5f716172.chunk.js +0 -9
  97. package/build/i18n-translation-tr-json.10f0600d.chunk.js +0 -1
  98. package/build/main.50652367.js +0 -2863
  99. package/build/review-workflows-settings-create-view.4a156a19.chunk.js +0 -1
  100. package/build/review-workflows-settings-edit-view.ce984d1f.chunk.js +0 -1
  101. package/build/review-workflows-settings-list-view.419b8deb.chunk.js +0 -56
  102. package/build/sso-settings-page.45153df5.chunk.js +0 -1
  103. package/build/transfer-tokens-list-page.cfe1736c.chunk.js +0 -16
  104. package/build/upload-settings.5e55266d.chunk.js +0 -14
  105. package/build/upload.0660a088.chunk.js +0 -58
  106. package/build/users-advanced-settings-page.818d84eb.chunk.js +0 -9
  107. package/build/users-email-settings-page.c1967c09.chunk.js +0 -9
  108. package/build/users-providers-settings-page.11893e08.chunk.js +0 -14
  109. package/build/webhook-list-page.ca91df8b.chunk.js +0 -63
  110. package/utils/create-plugins-exclude-path.js +0 -20
  111. package/utils/get-plugins.js +0 -110
@@ -0,0 +1,217 @@
1
+ 'use strict';
2
+
3
+ const path = require('path');
4
+ const fs = require('fs');
5
+ const asyncFs = require('fs/promises');
6
+ const { camelCase } = require('lodash');
7
+ // eslint-disable-next-line import/no-extraneous-dependencies
8
+ const glob = require('glob');
9
+
10
+ /**
11
+ * @typedef {Object} PluginInfo
12
+ * @property {string} packageName
13
+ * @property {string} description
14
+ * @property {boolean=} required
15
+ */
16
+
17
+ /**
18
+ * @typedef {Object} Plugin
19
+ * @property {string} pathToPlugin
20
+ * @property {string} name
21
+ * @property {PluginInfo} info
22
+ * @property {string=} directory
23
+ */
24
+
25
+ /**
26
+ * @param {string[]} pluginsAllowlist
27
+ * @returns {Plugin[]}
28
+ */
29
+ const getPlugins = (pluginsAllowlist) => {
30
+ const rootPath = path.resolve(__dirname, '..', path.join('..', '..', '..', 'packages'));
31
+ /**
32
+ * So `glob` only supports '/' as a path separator, so we need to replace
33
+ * the path separator for the current OS with '/'. e.g. on windows it's `\`.
34
+ *
35
+ * see https://github.com/isaacs/node-glob/#windows for more information
36
+ *
37
+ * and see https://github.com/isaacs/node-glob/issues/467#issuecomment-1114240501 for the recommended fix.
38
+ */
39
+ let corePath = path.join(rootPath, 'core', '*');
40
+ let pluginsPath = path.join(rootPath, 'plugins', '*');
41
+
42
+ if (process.platform === 'win32') {
43
+ corePath = corePath.split(path.sep).join(path.posix.sep);
44
+ pluginsPath = pluginsPath.split(path.sep).join(path.posix.sep);
45
+ }
46
+
47
+ const corePackageDirs = glob.sync(corePath);
48
+ const pluginsPackageDirs = glob.sync(pluginsPath);
49
+
50
+ const plugins = [...corePackageDirs, ...pluginsPackageDirs]
51
+ .map((directory) => {
52
+ const isCoreAdmin = directory.includes('packages/core/admin');
53
+
54
+ if (isCoreAdmin) {
55
+ return null;
56
+ }
57
+
58
+ const { name, strapi } = require(path.join(directory, 'package.json'));
59
+
60
+ /**
61
+ * this will remove any of our packages that are
62
+ * not actually plugins for the application
63
+ */
64
+ if (!strapi || strapi.kind !== 'plugin') {
65
+ return null;
66
+ }
67
+
68
+ /**
69
+ * we want the name of the node_module
70
+ */
71
+ return {
72
+ pathToPlugin: name,
73
+ name: strapi.name,
74
+ info: { ...strapi, packageName: name },
75
+ directory,
76
+ };
77
+ })
78
+ .filter(filterPluginsByAdminEntry);
79
+
80
+ if (Array.isArray(pluginsAllowlist)) {
81
+ return plugins.filter((plugin) => pluginsAllowlist.includes(plugin.pathToPlugin));
82
+ }
83
+
84
+ return plugins;
85
+ };
86
+
87
+ /**
88
+ * @type {(plugin: Plugin) => boolean}
89
+ */
90
+ const filterPluginsByAdminEntry = (plugin) => {
91
+ if (!plugin) {
92
+ return false;
93
+ }
94
+
95
+ /**
96
+ * There are two ways a plugin should be imported, either it's local to the strapi app,
97
+ * or it's an actual npm module that's installed and resolved via node_modules.
98
+ *
99
+ * We first check if the plugin is local to the strapi app, using a regular `resolve` because
100
+ * the pathToPlugin will be relative i.e. `/Users/my-name/strapi-app/src/plugins/my-plugin`.
101
+ *
102
+ * If the file doesn't exist well then it's probably a node_module, so instead we use `require.resolve`
103
+ * which will resolve the path to the module in node_modules. If it fails with the specific code `MODULE_NOT_FOUND`
104
+ * then it doesn't have an admin part to the package.
105
+ *
106
+ * NOTE: we should try to move to `./package.json[exports]` map with bundling of our own plugins,
107
+ * because these entry files are written in commonjs restricting features e.g. tree-shaking.
108
+ */
109
+ try {
110
+ const isLocalPluginWithLegacyAdminFile = fs.existsSync(
111
+ path.resolve(`${plugin.pathToPlugin}/strapi-admin.js`)
112
+ );
113
+
114
+ if (!isLocalPluginWithLegacyAdminFile) {
115
+ const isModuleWithFE = require.resolve(`${plugin.pathToPlugin}/strapi-admin`);
116
+
117
+ return isModuleWithFE;
118
+ }
119
+
120
+ return isLocalPluginWithLegacyAdminFile;
121
+ } catch (err) {
122
+ if (err.code === 'MODULE_NOT_FOUND') {
123
+ /**
124
+ * the plugin does not contain FE code, so we
125
+ * don't want to import it anyway
126
+ */
127
+ return false;
128
+ }
129
+
130
+ throw err;
131
+ }
132
+ };
133
+
134
+ /**
135
+ *
136
+ * @param {Plugin[]} plugins
137
+ * @param {string} dest
138
+ * @returns {void}
139
+ */
140
+ async function createPluginFile(plugins, dest) {
141
+ const pluginsArray = plugins.map(({ pathToPlugin, name, info }) => {
142
+ const shortName = camelCase(name);
143
+
144
+ let realPath = '';
145
+
146
+ /**
147
+ * We're using a module here so we want to keep using the module resolution procedure.
148
+ */
149
+ if (info?.packageName || info?.required) {
150
+ /**
151
+ * path.join, on windows, it uses backslashes to resolve path.
152
+ * The problem is that Webpack does not windows paths
153
+ * With this tool, we need to rely on "/" and not "\".
154
+ * This is the reason why '..\\..\\..\\node_modules\\@strapi\\plugin-content-type-builder/strapi-admin.js' was not working.
155
+ * The regexp at line 105 aims to replace the windows backslashes by standard slash so that webpack can deal with them.
156
+ * Backslash looks to work only for absolute paths with webpack => https://webpack.js.org/concepts/module-resolution/#absolute-paths
157
+ */
158
+ realPath = path.join(pathToPlugin, 'strapi-admin').replace(/\\/g, '/');
159
+ } else {
160
+ realPath = path
161
+ .join(path.relative(path.resolve(dest, 'admin', 'src'), pathToPlugin), 'strapi-admin')
162
+ .replace(/\\/g, '/');
163
+ }
164
+
165
+ return {
166
+ name,
167
+ pathToPlugin: realPath,
168
+ shortName,
169
+ };
170
+ });
171
+
172
+ const content = `
173
+ ${pluginsArray
174
+ .map(({ pathToPlugin, shortName }) => {
175
+ const req = `'${pathToPlugin}'`;
176
+
177
+ return `import ${shortName} from ${req};`;
178
+ })
179
+ .join('\n')}
180
+
181
+
182
+ const plugins = {
183
+ ${[...pluginsArray]
184
+ .map(({ name, shortName }) => {
185
+ return ` '${name}': ${shortName},`;
186
+ })
187
+ .join('\n')}
188
+ };
189
+
190
+ export default plugins;
191
+ `;
192
+
193
+ return asyncFs.writeFile(path.resolve(dest, 'admin', 'src', 'plugins.js'), content);
194
+ }
195
+
196
+ /**
197
+ * @param {string[]} pluginsPath – an array of paths to the plugins from the user's directory
198
+ * @returns {RegExp} a regex that will exclude _all_ node_modules except for the plugins in the pluginsPath array.
199
+ */
200
+ const createPluginsExcludePath = (pluginsPath = []) => {
201
+ /**
202
+ * If there aren't any plugins in the node_modules array, just return the node_modules regex
203
+ * without complicating it.
204
+ */
205
+ if (pluginsPath.length === 0) {
206
+ return /node_modules/;
207
+ }
208
+
209
+ return new RegExp(`node_modules/(?!(${pluginsPath.join('|')}))`);
210
+ };
211
+
212
+ module.exports = {
213
+ getPlugins,
214
+ filterPluginsByAdminEntry,
215
+ createPluginFile,
216
+ createPluginsExcludePath,
217
+ };
package/webpack.config.js CHANGED
@@ -13,7 +13,7 @@ const browserslistToEsbuild = require('browserslist-to-esbuild');
13
13
 
14
14
  const alias = require('./webpack.alias');
15
15
  const getClientEnvironment = require('./env');
16
- const { createPluginsExcludePath } = require('./utils/create-plugins-exclude-path');
16
+ const { createPluginsExcludePath } = require('./utils/plugins');
17
17
 
18
18
  module.exports = ({
19
19
  dest,
@@ -85,7 +85,7 @@ module.exports = ({
85
85
  module: {
86
86
  rules: [
87
87
  {
88
- test: /\.tsx?$/,
88
+ test: /\.(ts|tsx)$/,
89
89
  loader: require.resolve('esbuild-loader'),
90
90
  exclude: excludeRegex,
91
91
  options: {
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[1049],{39404:function(A,T,e){e.d(T,{Z:function(){return M}});var t=e(32735),y=e(82055),c=e(87933),o=e(41415),s=e(45509),a=e(66456),r=e(29439),f=e(60216),n=e.n(f),m=e(67879),u=e(44647),E=e(79652);const d=({onRegenerate:R,idToRegenerate:O,backUrl:L,onError:W})=>{const{formatMessage:i}=(0,m.Z)(),[K,B]=(0,t.useState)(!1),{regenerateData:U,isLoadingConfirmation:x}=(0,E.rW)(L,O,R,W),h=async()=>{U(),B(!1)};return t.createElement(t.Fragment,null,t.createElement(o.z,{startIcon:t.createElement(u.Z,null),type:"button",size:"S",variant:"tertiary",onClick:()=>B(!0),name:"regenerate"},i({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),t.createElement(s.QH,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:t.createElement(u.Z,null),isConfirmButtonLoading:x,isOpen:K,onToggleDialog:()=>B(!1),onConfirm:h,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};d.defaultProps={onRegenerate(){},onError:void 0},d.propTypes={onRegenerate:n().func,idToRegenerate:n().oneOfType([n().number,n().string]).isRequired,backUrl:n().string.isRequired,onError:n().func};var g=d;const l=({title:R,token:O,setToken:L,canEditInputs:W,canRegenerate:i,isSubmitting:K,backUrl:B,regenerateUrl:U,onErrorRegenerate:x})=>{const{formatMessage:h}=(0,m.Z)(),z=j=>{L({...O,accessKey:j})};return t.createElement(y.T,{title:O?.name||h(R),primaryAction:W?t.createElement(c.k,{gap:2},i&&O?.id&&t.createElement(g,{backUrl:U,onRegenerate:z,idToRegenerate:O?.id,onError:x}),t.createElement(o.z,{disabled:K,loading:K,startIcon:t.createElement(a.Z,null),type:"submit",size:"S"},h({id:"global.save",defaultMessage:"Save"}))):i&&O?.id&&t.createElement(g,{onRegenerate:z,idToRegenerate:O?.id,backUrl:U}),navigationAction:t.createElement(s.rU,{startIcon:t.createElement(r.Z,null),to:B},h({id:"global.back",defaultMessage:"Back"})),ellipsis:!0})};l.propTypes={token:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().oneOfType([n().number,n().string]),name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string}),canEditInputs:n().bool.isRequired,canRegenerate:n().bool.isRequired,setToken:n().func.isRequired,isSubmitting:n().bool.isRequired,backUrl:n().string.isRequired,title:n().shape({id:n().string,label:n().string}).isRequired,regenerateUrl:n().string.isRequired,onErrorRegenerate:n().func},l.defaultProps={token:void 0,onErrorRegenerate:void 0};var M=l},82505:function(A,T,e){var t=e(32735),y=e(68465),c=e(84967),o=e(49372),s=e(60216),a=e.n(s),r=e(67879),f=e(25652);const n=({token:m,errors:u,values:E,onChange:d,isCreating:g})=>{const{formatMessage:l}=(0,r.Z)();return t.createElement(t.Fragment,null,t.createElement(y.P,{name:"lifespan",label:l({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:E.lifespan!==null?E.lifespan:"0",error:u.lifespan?l(u.lifespan?.id?u.lifespan:{id:u.lifespan,defaultMessage:u.lifespan}):null,onChange:M=>{d({target:{name:"lifespan",value:M}})},required:!0,disabled:!g,placeholder:"Select"},t.createElement(c.W,{value:"604800000"},l({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),t.createElement(c.W,{value:"2592000000"},l({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),t.createElement(c.W,{value:"7776000000"},l({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),t.createElement(c.W,{value:"0"},l({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),t.createElement(o.Z,{variant:"pi",textColor:"neutral600"},!g&&`${l({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,f.IX)(m?.createdAt,parseInt(E.lifespan,10))}`))};n.propTypes={errors:a().shape({lifespan:a().string}),onChange:a().func.isRequired,values:a().shape({lifespan:a().oneOfType([a().number,a().string])}).isRequired,isCreating:a().bool.isRequired,token:a().shape({id:a().oneOfType([a().number,a().string]),type:a().string,lifespan:a().string,name:a().string,accessKey:a().string,permissions:a().array,description:a().string,createdAt:a().string})},n.defaultProps={errors:{},token:{}},T.Z=n},7210:function(A,T,e){var t=e(32735),y=e(50563),c=e(45509),o=e(47765),s=e(11631),a=e(60216),r=e.n(a),f=e(67879);const n=({token:m,tokenType:u})=>{const{formatMessage:E}=(0,f.Z)(),d=(0,c.lm)(),{trackUsage:g}=(0,c.rS)(),{copy:l}=(0,c.VP)(),M=R=>async()=>{await l(R)&&(g("didCopyTokenKey",{tokenType:u}),d({type:"success",message:{id:"Settings.tokens.notification.copied"}}))};return t.createElement(c.Y_,{endAction:m&&t.createElement("span",{style:{alignSelf:"start"}},t.createElement(y.h,{label:E({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),onClick:M(m),noBorder:!0,icon:t.createElement(o.Z,null),style:{padding:0,height:"1rem"}})),title:m||E({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:E(m?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:t.createElement(s.Z,null),iconBackground:"neutral100"})};n.defaultProps={token:null},n.propTypes={token:r().string,tokenType:r().string.isRequired},T.Z=n},58380:function(A,T,e){var t=e(32735),y=e(33475),c=e(60216),o=e.n(c),s=e(67879);const a=({errors:r,values:f,onChange:n,canEditInputs:m})=>{const{formatMessage:u}=(0,s.Z)();return t.createElement(y.g,{label:u({id:"Settings.tokens.form.description",defaultMessage:"Description"}),id:"description",error:r.description?u(r.description?.id?r.description:{id:r.description,defaultMessage:r.description}):null,onChange:n,disabled:!m},f.description)};a.propTypes={errors:o().shape({description:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({description:o().string}).isRequired},a.defaultProps={errors:{}},T.Z=a},37823:function(A,T,e){var t=e(32735),y=e(10369),c=e(60216),o=e.n(c),s=e(67879);const a=({errors:r,values:f,onChange:n,canEditInputs:m})=>{const{formatMessage:u}=(0,s.Z)();return t.createElement(y.o,{name:"name",error:r.name?u(r.name?.id?r.name:{id:r.name,defaultMessage:r.name}):null,label:u({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:n,value:f.name,disabled:!m,required:!0})};a.propTypes={errors:o().shape({name:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({name:o().string}).isRequired},a.defaultProps={errors:{}},T.Z=a},32655:function(A,T,e){var t=e(32735),y=e(68465),c=e(84967),o=e(60216),s=e.n(o),a=e(67879);const r=({name:f,errors:n,values:m,onChange:u,canEditInputs:E,options:d,label:g})=>{const{formatMessage:l}=(0,a.Z)();return t.createElement(y.P,{name:f,label:l({id:g.id,defaultMessage:g.defaultMessage}),value:m&&m[f],error:n[f]?l(n[f]?.id?n[f]:{id:n[f],defaultMessage:n[f]}):null,onChange:u,placeholder:"Select",required:!0,disabled:!E},d&&d.map(({value:M,label:R})=>t.createElement(c.W,{key:M,value:M},l(R))))};r.propTypes={name:s().string,options:s().arrayOf(s().shape({label:s().shape({id:s().string,defaultMessage:s().string}),value:s().string})),errors:s().shape({type:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({type:s().string}).isRequired,label:s().shape({id:s().string,defaultMessage:s().string}).isRequired},r.defaultProps={name:"type",errors:{},options:[]},T.Z=r},49756:function(A,T,e){e.d(T,{Z:function(){return t},f:function(){return y}});const t="api-token",y="transfer-token"},25652:function(A,T,e){e.d(T,{IX:function(){return s},fK:function(){return n},mk:function(){return u}});var t=e(14723),y=e(85544),c=e(76698),s=(E,d,g="en")=>{if(d&&typeof d=="number"){const l=d/24/60/60/1e3;return(0,t.Z)((0,y.Z)(new Date(E),l),"PPP",{locale:c[g]})}return"Unlimited"},a=e(45509),r=e(24346),n=r.Ry().shape({name:r.Z_(a.I0.string).max(100).required(a.I0.required),type:r.Z_(a.I0.string).oneOf(["read-only","full-access","custom"]).required(a.I0.required),description:r.Z_().nullable(),lifespan:r.Rx().integer().min(0).nullable().defined(a.I0.required)}),u=E=>{const d={allActionsIds:[],permissions:[]};return d.permissions=Object.keys(E).map(g=>({apiId:g,label:g.split("::")[1],controllers:Object.keys(E[g].controllers).map(l=>({controller:l,actions:E[g].controllers[l].map(M=>{const R=`${g}.${l}.${M}`;return g.includes("api::")&&d.allActionsIds.push(R),{action:M,actionId:R}}).flat()})).flat()})),d}},1930:function(A,T,e){e.d(T,{Z:function(){return ne}});var t=e(32735),y=e(27649),c=e(17e3),o=e(87933),s=e(45509),a=e(92802),r=e(67879),f=e(20108),n=e(15062),m=e(53038),u=e(90869),E=e(30305),d=e(49756),g=e(39404),l=e(7210),M=e(72850),R=e(49372),O=e(15335),L=e(5803),W=e(60216),i=e.n(W),K=e(82505),B=e(58380),U=e(37823),x=e(32655);const h=({errors:C,onChange:k,canEditInputs:Z,isCreating:D,values:S,transferToken:v})=>{const{formatMessage:F}=(0,r.Z)(),Q=[{value:"push",label:{id:"Settings.transferTokens.types.push",defaultMessage:"Push"}},{value:"pull",label:{id:"Settings.transferTokens.types.pull",defaultMessage:"Pull"}},{value:"push-pull",label:{id:"Settings.transferTokens.types.push-pull",defaultMessage:"Full Access"}}];return t.createElement(M.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(R.Z,{variant:"delta",as:"h2"},F({id:"global.details",defaultMessage:"Details"})),t.createElement(O.r,{gap:5},t.createElement(L.P,{key:"name",col:6,xs:12},t.createElement(U.Z,{errors:C,values:S,canEditInputs:Z,onChange:k})),t.createElement(L.P,{key:"description",col:6,xs:12},t.createElement(B.Z,{errors:C,values:S,canEditInputs:Z,onChange:k})),t.createElement(L.P,{key:"lifespan",col:6,xs:12},t.createElement(K.Z,{isCreating:D,errors:C,values:S,onChange:k,token:v})),t.createElement(L.P,{key:"permissions",col:6,xs:12},t.createElement(x.Z,{name:"permissions",values:S,errors:C,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:V=>{k({target:{name:"permissions",value:V}})},options:Q,canEditInputs:Z})))))};h.propTypes={errors:i().shape({name:i().string,description:i().string,lifespan:i().string,type:i().string}),onChange:i().func.isRequired,canEditInputs:i().bool.isRequired,values:i().shape({name:i().string,description:i().string,lifespan:i().oneOfType([i().number,i().string]),type:i().string}).isRequired,isCreating:i().bool.isRequired,transferToken:i().shape({id:i().oneOfType([i().number,i().string]),type:i().string,lifespan:i().string,name:i().string,accessKey:i().string,permissions:i().array,description:i().string,createdAt:i().string})},h.defaultProps={errors:{},transferToken:{}};var z=h,j=e(82055),_=e(41415),q=e(66456);const G=({transferTokenName:C})=>{const{formatMessage:k}=(0,r.Z)();return(0,s.go)(),t.createElement(y.o,{"aria-busy":"true"},t.createElement(s.SL,{name:"Transfer Tokens"}),t.createElement(j.T,{primaryAction:t.createElement(_.z,{disabled:!0,startIcon:t.createElement(q.Z,null),type:"button",size:"L"},k({id:"global.save",defaultMessage:"Save"})),title:C||k({id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"})}),t.createElement(c.D,null,t.createElement(s.dO,null)))};G.defaultProps={transferTokenName:null},G.propTypes={transferTokenName:i().string};var w=G,N=e(24346),ee=N.Ry().shape({name:N.Z_(s.I0.string).max(100).required(s.I0.required),description:N.Z_().nullable(),lifespan:N.Rx().integer().min(0).nullable().defined(s.I0.required),permissions:N.Z_(s.I0.string).required(s.I0.required)});const te="Name already taken";var ne=()=>{(0,s.go)();const{formatMessage:C}=(0,r.Z)(),{lockApp:k,unlockApp:Z}=(0,s.o1)(),D=(0,s.lm)(),S=(0,m.k6)(),[v,F]=(0,t.useState)(S.location.state?.transferToken.accessKey?{...S.location.state.transferToken}:null),{trackUsage:Q}=(0,s.rS)(),V=(0,t.useRef)(Q),{setCurrentStep:se}=(0,s.c1)(),ae=(0,n.v9)(E._),{allowedActions:{canCreate:re,canUpdate:ie,canRegenerate:oe}}=(0,s.ss)(ae.settings["transfer-tokens"]),{params:{id:Y}}=(0,m.$B)("/settings/transfer-tokens/:id"),{get:le,post:de,put:ce}=(0,s.kY)(),P=Y==="create",{formatAPIError:J}=(0,s.So)();(0,t.useEffect)(()=>{V.current(P?"didAddTokenFromList":"didEditTokenFromList",{tokenType:d.f})},[P]);const{status:ue}=(0,f.useQuery)(["transfer-token",Y],async()=>{const{data:{data:p}}=await le(`/admin/transfer/tokens/${Y}`);return F({...p}),p},{enabled:!P&&!v,onError(p){p.response.data.error.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:J(p)})}}),ge=async(p,$)=>{V.current(P?"willCreateToken":"willEditToken",{tokenType:d.f}),k();const X=p.lifespan&&parseInt(p.lifespan,10)&&p.lifespan!=="0"?parseInt(p.lifespan,10):null,H=p.permissions.split("-");try{const{data:{data:I}}=P?await de("/admin/transfer/tokens",{...p,lifespan:X,permissions:H}):await ce(`/admin/transfer/tokens/${Y}`,{name:p.name,description:p.description,permissions:H});Z(),P&&(S.replace(`/settings/transfer-tokens/${I.id}`,{transferToken:I}),se("transferTokens.success")),F({...I}),D({type:"success",message:C(P?{id:"notification.success.transfertokencreated",defaultMessage:"Transfer Token successfully created"}:{id:"notification.success.transfertokenedited",defaultMessage:"Transfer Token successfully edited"})}),V.current(P?"didCreateToken":"didEditToken",{type:v?.permissions,tokenType:d.f})}catch(I){const fe=(0,u.Iz)(I.response.data);$.setErrors(fe),I?.response?.data?.error?.message===te?D({type:"warning",message:I.response.data.message||"notification.error.tokennamenotunique"}):I?.response?.data?.error?.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:I?.response?.data?.message||"notification.error"}),Z()}},b=ie&&!P||re&&P;if(!P&&!v&&ue!=="success")return t.createElement(w,{transferTokenName:v?.name});const pe=p=>{p?.response?.data?.error?.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:J(p)})};return t.createElement(y.o,null,t.createElement(s.SL,{name:"Transfer Tokens"}),t.createElement(a.J9,{validationSchema:ee,validateOnChange:!1,initialValues:{name:v?.name||"",description:v?.description||"",lifespan:v?.lifespan?v.lifespan.toString():v?.lifespan,permissions:v?.permissions.join("-")},enableReinitialize:!0,onSubmit:(p,$)=>ge(p,$)},({errors:p,handleChange:$,isSubmitting:X,values:H})=>t.createElement(s.l0,null,t.createElement(g.Z,{backUrl:"/settings/transfer-tokens",title:{id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"},token:v,setToken:F,canEditInputs:b,canRegenerate:oe,isSubmitting:X,regenerateUrl:"/admin/transfer/tokens/",onErrorRegenerate:pe}),t.createElement(c.D,null,t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:6},Boolean(v?.name)&&t.createElement(l.Z,{token:v?.accessKey,tokenType:d.f}),t.createElement(z,{errors:p,onChange:$,canEditInputs:b,isCreating:P,values:H,transferToken:v}))))))}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[1227],{21227:function(g,E,t){t.d(E,{ReviewWorkflowsAssigneeEE:function(){return O},ReviewWorkflowsStageEE:function(){return f}});var e=t(32735),s=t(87933),c=t(72850),i=t(49372),r=t(45509),l=t(60216),n=t.n(l),o=t(2121),u=t(68886);function f({color:a,name:A}){const{themeColorName:R}=(0,u.k)(a);return e.createElement(s.k,{alignItems:"center",gap:2,maxWidth:(0,r.Q1)(300)},e.createElement(c.x,{height:2,background:a,borderColor:R==="neutral0"?"neutral150":"transparent",hasRadius:!0,shrink:0,width:2}),e.createElement(i.Z,{fontWeight:"regular",textColor:"neutral700",ellipsis:!0},A))}f.defaultProps={color:o.FT},f.propTypes={color:n().string,name:n().string.isRequired};var T=t(67879),W=t(69997);function O({user:a}){const{formatMessage:A}=(0,T.Z)();return e.createElement(i.Z,{textColor:"neutral800"},(0,W.Gf)(a,A))}O.propTypes={user:n().shape({firstname:n().string,lastname:n().string,username:n().string}).isRequired}},2121:function(g,E,t){t.d(E,{$k:function(){return o},Ef:function(){return O},FT:function(){return T},Nj:function(){return n},Ot:function(){return l},VS:function(){return u},_X:function(){return a},gu:function(){return c},lv:function(){return f},qZ:function(){return i},sN:function(){return s},uL:function(){return W},x4:function(){return r}});var e=t(12301);const s="settings_review-workflows",c="Settings/Review_Workflows/RESET_WORKFLOW",i="Settings/Review_Workflows/SET_WORKFLOW",r="Settings/Review_Workflows/WORKFLOW_DELETE_STAGE",l="Settings/Review_Workflows/WORKFLOW_ADD_STAGE",n="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE",o="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE_POSITION",u="Settings/Review_Workflows/WORKFLOW_UPDATE",f={primary600:"Blue",primary200:"Lilac",alternative600:"Violet",alternative200:"Lavender",success600:"Green",success200:"Pale Green",danger500:"Cherry",danger200:"Pink",warning600:"Orange",warning200:"Yellow",secondary600:"Teal",secondary200:"Baby Blue",neutral400:"Gray",neutral0:"White"},T=e.W.colors.primary600,W={STAGE:"stage"},O="numberOfWorkflows",a="stagesPerWorkflow"},68886:function(g,E,t){t.d(E,{k:function(){return c},s:function(){return i}});var e=t(12301),s=t(2121);function c(r){if(!r)return null;const n=Object.entries(e.W.colors).filter(([,o])=>o.toUpperCase()===r.toUpperCase()).reduce((o,[u])=>(s.lv?.[u]&&(o=u),o),null);return n?{themeColorName:n,name:s.lv[n]}:null}function i(){return Object.entries(s.lv).map(([r,l])=>({hex:e.W.colors[r].toUpperCase(),name:l}))}}}]);
@@ -1,95 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[1504],{88058:function(c,u,n){var t=n(87650);function r(e,s){var o=e==null?0:e.length;return!!o&&t(e,s,0)>-1}c.exports=r},37431:function(c){function u(n,t,r){for(var e=-1,s=n==null?0:n.length;++e<s;)if(r(t,n[e]))return!0;return!1}c.exports=u},91096:function(c,u,n){var t=n(61124),r=n(88058),e=n(37431),s=n(26460),o=n(76535),l=n(30555),i=200;function h(m,v,E,g){var a=-1,d=r,p=!0,x=m.length,f=[],j=v.length;if(!x)return f;E&&(v=s(v,o(E))),g?(d=e,p=!1):v.length>=i&&(d=l,p=!1,v=new t(v));n:for(;++a<x;){var _=m[a],M=E==null?_:E(_);if(_=g||_!==0?_:0,p&&M===M){for(var O=j;O--;)if(v[O]===M)continue n;f.push(_)}else d(v,M,g)||f.push(_)}return f}c.exports=h},56671:function(c,u,n){var t=n(35897),r=n(74741),e=r(t);c.exports=e},60528:function(c){function u(n,t,r,e){for(var s=n.length,o=r+(e?1:-1);e?o--:++o<s;)if(t(n[o],o,n))return o;return-1}c.exports=u},87650:function(c,u,n){var t=n(60528),r=n(25556),e=n(54256);function s(o,l,i){return l===l?e(o,l,i):t(o,r,i)}c.exports=s},25556:function(c){function u(n){return n!==n}c.exports=u},52920:function(c,u,n){var t=n(56671),r=n(81580);function e(s,o){var l=-1,i=r(s)?Array(s.length):[];return t(s,function(h,m,v){i[++l]=o(h,m,v)}),i}c.exports=e},50690:function(c,u,n){var t=n(26460),r=n(80166),e=n(88904),s=n(52920),o=n(36024),l=n(76535),i=n(1397),h=n(15362),m=n(77236);function v(E,g,a){g.length?g=t(g,function(x){return m(x)?function(f){return r(f,x.length===1?x[0]:x)}:x}):g=[h];var d=-1;g=t(g,l(e));var p=s(E,function(x,f,j){var _=t(g,function(M){return M(x)});return{criteria:_,index:++d,value:x}});return o(p,function(x,f){return i(x,f,a)})}c.exports=v},36024:function(c){function u(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}c.exports=u},40709:function(c,u,n){var t=n(22945);function r(e,s){if(e!==s){var o=e!==void 0,l=e===null,i=e===e,h=t(e),m=s!==void 0,v=s===null,E=s===s,g=t(s);if(!v&&!g&&!h&&e>s||h&&m&&E&&!v&&!g||l&&m&&E||!o&&E||!i)return 1;if(!l&&!h&&!g&&e<s||g&&o&&i&&!l&&!h||v&&o&&i||!m&&i||!E)return-1}return 0}c.exports=r},1397:function(c,u,n){var t=n(40709);function r(e,s,o){for(var l=-1,i=e.criteria,h=s.criteria,m=i.length,v=o.length;++l<m;){var E=t(i[l],h[l]);if(E){if(l>=v)return E;var g=o[l];return E*(g=="desc"?-1:1)}}return e.index-s.index}c.exports=r},74741:function(c,u,n){var t=n(81580);function r(e,s){return function(o,l){if(o==null)return o;if(!t(o))return e(o,l);for(var i=o.length,h=s?i:-1,m=Object(o);(s?h--:++h<i)&&l(m[h],h,m)!==!1;);return o}}c.exports=r},54256:function(c){function u(n,t,r){for(var e=r-1,s=n.length;++e<s;)if(n[e]===t)return e;return-1}c.exports=u},37213:function(c,u,n){var t=n(26460),r=n(88904),e=n(52920),s=n(77236);function o(l,i){var h=s(l)?t:e;return h(l,r(i,3))}c.exports=o},98978:function(c,u,n){var t=n(40314),r=n(50690),e=n(94569),s=n(63108),o=e(function(l,i){if(l==null)return[];var h=i.length;return h>1&&s(l,i[0],i[1])?i=[]:h>2&&s(i[0],i[1],i[2])&&(i=[i[0]]),r(l,t(i,1),[])});c.exports=o},15738:function(c,u,n){var t=n(4293);function r(e){var s=e==null?0:e.length;return s?t(e,1,s):[]}c.exports=r},88708:function(c,u,n){var t=n(4293),r=n(25225);function e(s,o,l){return s&&s.length?(o=l||o===void 0?1:r(o),t(s,0,o<0?0:o)):[]}c.exports=e},86205:function(c,u,n){var t=n(91096),r=n(94569),e=n(99747),s=r(function(o,l){return e(o)?t(o,l):[]});c.exports=s},83828:function(c,u,n){"use strict";n.d(u,{U:function(){return g},y:function(){return v}});var t=n(74512),r=n(32735),e=n(8471),s=n(91045),o=n(74971),l=n(49372),i=n(87933),h=n(72850);const m=({theme:a,expanded:d,variant:p,disabled:x,error:f})=>f?`1px solid ${a.colors.danger600} !important`:x?`1px solid ${a.colors.neutral150}`:d?`1px solid ${a.colors.primary600}`:p==="primary"?`1px solid ${a.colors.neutral0}`:`1px solid ${a.colors.neutral100}`,v=(0,e.ZP)(l.Z)``,E=(0,e.ZP)(h.x)`
2
- border: ${m};
3
-
4
- &:hover:not([aria-disabled='true']) {
5
- border: 1px solid ${({theme:a})=>a.colors.primary600};
6
-
7
- ${v} {
8
- color: ${({theme:a,expanded:d})=>d?void 0:a.colors.primary700};
9
- }
10
-
11
- ${l.Z} {
12
- color: ${({theme:a,expanded:d})=>d?void 0:a.colors.primary600};
13
- }
14
-
15
- & > ${i.k} {
16
- background: ${({theme:a})=>a.colors.primary100};
17
- }
18
-
19
- [data-strapi-dropdown='true'] {
20
- background: ${({theme:a})=>a.colors.primary200};
21
- }
22
- }
23
- `,g=({children:a,disabled:d=!1,error:p,expanded:x=!1,hasErrorMessage:f=!0,id:j,onToggle:_,toggle:M,size:O="M",variant:P="primary",shadow:B})=>{const y=(0,o.M)(j),A=r.useMemo(()=>({expanded:x,onToggle:_,toggle:M,id:y,size:O,variant:P,disabled:d}),[d,x,y,_,O,M,P]);return(0,t.jsxs)(s.S.Provider,{value:A,children:[(0,t.jsx)(E,{"data-strapi-expanded":x,disabled:d,"aria-disabled":d,expanded:x,hasRadius:!0,variant:P,error:p,shadow:B,children:a}),p&&f&&(0,t.jsx)(h.x,{paddingTop:1,children:(0,t.jsx)(l.Z,{variant:"pi",textColor:"danger600",children:p})})]})}},89966:function(c,u,n){"use strict";n.d(u,{v:function(){return s}});var t=n(74512),r=n(91045),e=n(72850);const s=({children:o,...l})=>{const{expanded:i,id:h}=(0,r.A)();if(!i)return null;const m=`accordion-content-${h}`,v=`accordion-label-${h}`,E=`accordion-desc-${h}`;return(0,t.jsx)(e.x,{role:"region",id:m,"aria-labelledby":v,"aria-describedby":E,...l,children:o})}},91045:function(c,u,n){"use strict";n.d(u,{A:function(){return e},S:function(){return r}});var t=n(32735);const r=(0,t.createContext)({disabled:!1,expanded:!1,id:"",size:"M",variant:"primary"}),e=()=>(0,t.useContext)(r)},61762:function(c,u,n){"use strict";n.d(u,{B:function(){return a}});var t=n(74512),r=n(16899),e=n(8471),s=n(83828),o=n(91045);const l=({expanded:d,disabled:p,variant:x})=>{let f="neutral100";return d?f="primary100":p?f="neutral150":x==="primary"&&(f="neutral0"),f};var i=n(7563),h=n(99140),m=n(87933),v=n(49372);const E=(0,e.ZP)(i.A)`
24
- text-align: left;
25
-
26
- // necessary to make the ellipsis prop work on the title
27
- > span {
28
- max-width: 100%;
29
- }
30
-
31
- svg {
32
- width: ${14/16}rem;
33
- height: ${14/16}rem;
34
-
35
- path {
36
- fill: ${({theme:d,expanded:p})=>p?d.colors.primary600:d.colors.neutral500};
37
- }
38
- }
39
- `,g=(0,e.ZP)(m.k)`
40
- min-height: ${({theme:d,size:p})=>d.sizes.accordions[p]};
41
- border-radius: ${({theme:d,expanded:p})=>p?`${d.borderRadius} ${d.borderRadius} 0 0`:d.borderRadius};
42
-
43
- &:hover {
44
- svg {
45
- path {
46
- fill: ${({theme:d})=>d.colors.primary600};
47
- }
48
- }
49
- }
50
- `,a=({title:d,description:p,as:x="span",togglePosition:f="right",action:j,..._})=>{const{onToggle:M,toggle:O,expanded:P,id:B,size:y,variant:A,disabled:D}=(0,o.A)(),W=`accordion-content-${B}`,L=`accordion-label-${B}`,I=`accordion-desc-${B}`,C=y==="M"?6:4,b=y==="M"?C:C-2,U=l({expanded:P,disabled:D,variant:A}),K={as:x,fontWeight:y==="S"?"bold":void 0,id:L,textColor:P?"primary600":"neutral700",ellipsis:!0,variant:y==="M"?"delta":void 0},Z=P?"primary600":"neutral600",w=P?"primary200":"neutral200",T=y==="M"?`${32/16}rem`:`${24/16}rem`,R=()=>{D||(O&&!M?(console.warn('Deprecation warning: Usage of "toggle" prop in Accordion component is deprecated. This is discouraged and will be removed in the next major release. Please use "onToggle" instead'),O()):M&&M())},$=(0,t.jsx)(m.k,{justifyContent:"center",borderRadius:"50%",height:T,width:T,transform:P?"rotate(180deg)":void 0,"data-strapi-dropdown":!0,"aria-hidden":!0,as:"span",background:w,cursor:D?"not-allowed":"pointer",onClick:R,shrink:0,children:(0,t.jsx)(h.J,{as:r.Z,width:y==="M"?`${11/16}rem`:`${8/16}rem`,color:P?"primary600":"neutral600"})});return(0,t.jsx)(g,{paddingBottom:b,paddingLeft:C,paddingRight:C,paddingTop:b,background:U,expanded:P,size:y,justifyContent:"space-between",cursor:D?"not-allowed":"",children:(0,t.jsxs)(m.k,{gap:3,flex:1,maxWidth:"100%",children:[f==="left"&&$,(0,t.jsx)(E,{onClick:R,"aria-disabled":D,"aria-expanded":P,"aria-controls":W,"aria-labelledby":L,"data-strapi-accordion-toggle":!0,expanded:P,type:"button",flex:1,minWidth:0,..._,children:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.y,{...K,children:d}),p&&(0,t.jsx)(v.Z,{as:"p",id:I,textColor:Z,children:p})]})}),f==="right"&&(0,t.jsxs)(m.k,{gap:3,children:[$,j]}),f==="left"&&j]})})}},99223:function(c,u,n){"use strict";n.d(u,{Z:function(){return e}});var t=n(74512),r=n(87933);const e=({startActions:s,endActions:o})=>!s&&!o?null:(0,t.jsxs)(r.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,t.jsx)(r.k,{gap:2,wrap:"wrap",children:s}),(0,t.jsx)(r.k,{gap:2,shrink:0,wrap:"wrap",children:o})]})},17e3:function(c,u,n){"use strict";n.d(u,{D:function(){return e}});var t=n(74512),r=n(72850);const e=({children:s})=>(0,t.jsx)(r.x,{paddingLeft:10,paddingRight:10,children:s})},82055:function(c,u,n){"use strict";n.d(u,{T:function(){return v}});var t=n(74512),r=n(32735),e=n(8471);const s=a=>{const d=(0,r.useRef)(null),[p,x]=(0,r.useState)(!0),f=([j])=>{x(j.isIntersecting)};return(0,r.useEffect)(()=>{const j=d.current,_=new IntersectionObserver(f,a);return j&&_.observe(d.current),()=>{j&&_.disconnect()}},[d,a]),[d,p]};var o=n(81957);const l=(a,d)=>{const p=(0,o.W)(d);(0,r.useLayoutEffect)(()=>{const x=new ResizeObserver(p);return Array.isArray(a)?a.forEach(f=>{f.current&&x.observe(f.current)}):a.current&&x.observe(a.current),()=>{x.disconnect()}},[a,p])};var i=n(72850),h=n(87933),m=n(49372);const v=a=>{const d=(0,r.useRef)(null),[p,x]=(0,r.useState)(null),[f,j]=s({root:null,rootMargin:"0px",threshold:0});return l(f,()=>{f.current&&x(f.current.getBoundingClientRect())}),(0,r.useEffect)(()=>{d.current&&x(d.current.getBoundingClientRect())},[d]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{height:p?.height},ref:f,children:j&&(0,t.jsx)(g,{ref:d,...a})}),!j&&(0,t.jsx)(g,{...a,sticky:!0,width:p?.width})]})};v.displayName="HeaderLayout";const E=(0,e.ZP)(i.x)`
51
- width: ${({width:a})=>a?`${a/16}rem`:void 0};
52
- z-index: ${({theme:a})=>a.zIndices[1]};
53
- `,g=r.forwardRef(({navigationAction:a,primaryAction:d,secondaryAction:p,subtitle:x,title:f,sticky:j,width:_,...M},O)=>{const P=typeof x=="string";return j?(0,t.jsx)(E,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:_,"data-strapi-header-sticky":!0,children:(0,t.jsxs)(h.k,{justifyContent:"space-between",children:[(0,t.jsxs)(h.k,{children:[a&&(0,t.jsx)(i.x,{paddingRight:3,children:a}),(0,t.jsxs)(i.x,{children:[(0,t.jsx)(m.Z,{variant:"beta",as:"h1",...M,children:f}),P?(0,t.jsx)(m.Z,{variant:"pi",textColor:"neutral600",children:x}):x]}),p?(0,t.jsx)(i.x,{paddingLeft:4,children:p}):null]}),(0,t.jsx)(h.k,{children:d?(0,t.jsx)(i.x,{paddingLeft:2,children:d}):void 0})]})}):(0,t.jsxs)(i.x,{ref:O,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:a?6:8,background:"neutral100","data-strapi-header":!0,children:[a?(0,t.jsx)(i.x,{paddingBottom:2,children:a}):null,(0,t.jsxs)(h.k,{justifyContent:"space-between",children:[(0,t.jsxs)(h.k,{minWidth:0,children:[(0,t.jsx)(m.Z,{as:"h1",variant:"alpha",...M,children:f}),p?(0,t.jsx)(i.x,{paddingLeft:4,children:p}):null]}),d]}),P?(0,t.jsx)(m.Z,{variant:"epsilon",textColor:"neutral600",as:"p",children:x}):x]})})},96709:function(c,u,n){"use strict";n.d(u,{A:function(){return l}});var t=n(74512),r=n(8471),e=n(72850);const s=(0,r.ZP)(e.x)`
54
- display: grid;
55
- grid-template-columns: ${({hasSideNav:i})=>i?"auto 1fr":"1fr"};
56
- `,o=(0,r.ZP)(e.x)`
57
- overflow-x: hidden;
58
- `,l=({sideNav:i,children:h})=>(0,t.jsxs)(s,{hasSideNav:!!i,children:[i,(0,t.jsx)(o,{paddingBottom:10,children:h})]})},50428:function(c,u,n){"use strict";n.d(u,{r:function(){return E}});var t=n(74512),r=n(32735),e=n(47361),s=n(14911),o=n(8471),l=n(30350),i=n(49372),h=n(72850);const m=o.ZP.a`
59
- display: inline-flex;
60
- align-items: center;
61
- text-decoration: none;
62
- pointer-events: ${({disabled:g})=>g?"none":void 0};
63
- color: ${({disabled:g,theme:a})=>g?a.colors.neutral600:a.colors.primary600};
64
-
65
- svg path {
66
- transition: fill 150ms ease-out;
67
- fill: currentColor;
68
- }
69
-
70
- svg {
71
- font-size: ${10/16}rem;
72
- }
73
-
74
- ${i.Z} {
75
- transition: color 150ms ease-out;
76
- color: currentColor;
77
- }
78
-
79
- &:hover {
80
- color: ${({theme:g})=>g.colors.primary500};
81
- }
82
-
83
- &:active {
84
- color: ${({theme:g})=>g.colors.primary700};
85
- }
86
-
87
- ${l.BF};
88
- `,v=(0,o.ZP)(h.x)`
89
- display: flex;
90
- `,E=r.forwardRef(({children:g,href:a,to:d,disabled:p=!1,startIcon:x,endIcon:f,...j},_)=>(0,t.jsxs)(m,{as:d&&!p?s.OL:"a",target:a?"_blank":void 0,rel:a?"noreferrer noopener":void 0,to:p?void 0:d,href:p?"#":a,disabled:p,ref:_,...j,children:[x&&(0,t.jsx)(v,{as:"span","aria-hidden":!0,paddingRight:2,children:x}),(0,t.jsx)(i.Z,{children:g}),f&&!a&&(0,t.jsx)(v,{as:"span","aria-hidden":!0,paddingLeft:2,children:f}),a&&(0,t.jsx)(v,{as:"span","aria-hidden":!0,paddingLeft:2,children:(0,t.jsx)(e.Z,{})})]}))},27649:function(c,u,n){"use strict";n.d(u,{o:function(){return o}});var t=n(74512),r=n(8471),e=n(72850);const s=(0,r.ZP)(e.x)`
91
- // To prevent global outline on focus visible to force an outline when Main is focused
92
- &:focus-visible {
93
- outline: none;
94
- }
95
- `,o=({labelledBy:l="main-content-title",...i})=>(0,t.jsx)(s,{"aria-labelledby":l,as:"main",id:"main-content",tabIndex:-1,...i})},29439:function(c,u,n){"use strict";n.d(u,{Z:function(){return e}});var t=n(74512);const r=s=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...s,children:(0,t.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),e=r},45112:function(c,u,n){"use strict";n.d(u,{Z:function(){return e}});var t=n(74512);const r=s=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...s,children:(0,t.jsx)("path",{fill:"#212134",fillRule:"evenodd",d:"M2.68 9.192c-.6.276-2.114 1.18-2.306 1.303a.792.792 0 0 0-.374.68v1.65a.797.797 0 0 0 .384.687c.254.16 1.73 1.042 2.306 1.303l.744 1.8c-.24.634-.67 2.333-.72 2.554a.797.797 0 0 0 .216.744l1.167 1.166a.801.801 0 0 0 .744.216l.03-.008c.36-.092 1.946-.498 2.523-.712l1.8.744c.276.6 1.181 2.115 1.304 2.307a.805.805 0 0 0 .679.374h1.649a.797.797 0 0 0 .686-.384c.16-.254 1.042-1.73 1.303-2.306l1.8-.744c.634.24 2.333.67 2.554.72a.797.797 0 0 0 .744-.216l1.166-1.167a.803.803 0 0 0 .216-.744l-.008-.03c-.092-.36-.498-1.946-.712-2.523l.744-1.8c.6-.276 2.115-1.181 2.307-1.304a.804.804 0 0 0 .374-.679v-1.649a.796.796 0 0 0-.382-.679c-.254-.16-1.73-1.041-2.306-1.303l-.744-1.8c.24-.634.67-2.333.72-2.554a.796.796 0 0 0-.216-.744l-1.166-1.173a.802.802 0 0 0-.744-.216l-.03.008c-.361.092-1.947.498-2.524.712l-1.8-.744c-.276-.6-1.18-2.115-1.303-2.307a.803.803 0 0 0-.68-.374h-1.65a.797.797 0 0 0-.68.382c-.16.254-1.041 1.73-1.303 2.306l-1.8.744c-.634-.24-2.333-.67-2.554-.72a.797.797 0 0 0-.744.216L2.921 4.094a.802.802 0 0 0-.216.744l.008.03c.092.361.498 1.947.712 2.524l-.744 1.8ZM12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z",clipRule:"evenodd"})}),e=r}}]);
@@ -1,79 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2225],{39404:function(T,m,e){"use strict";e.d(m,{Z:function(){return P}});var t=e(32735),p=e(82055),r=e(87933),o=e(41415),a=e(45509),i=e(66456),d=e(29439),y=e(60216),s=e.n(y),h=e(67879),v=e(44647),n=e(79652);const g=({onRegenerate:M,idToRegenerate:I,backUrl:K,onError:N})=>{const{formatMessage:k}=(0,h.Z)(),[A,B]=(0,t.useState)(!1),{regenerateData:R,isLoadingConfirmation:H}=(0,n.rW)(K,I,M,N),Z=async()=>{R(),B(!1)};return t.createElement(t.Fragment,null,t.createElement(o.z,{startIcon:t.createElement(v.Z,null),type:"button",size:"S",variant:"tertiary",onClick:()=>B(!0),name:"regenerate"},k({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),t.createElement(a.QH,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:t.createElement(v.Z,null),isConfirmButtonLoading:H,isOpen:A,onToggleDialog:()=>B(!1),onConfirm:Z,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};g.defaultProps={onRegenerate(){},onError:void 0},g.propTypes={onRegenerate:s().func,idToRegenerate:s().oneOfType([s().number,s().string]).isRequired,backUrl:s().string.isRequired,onError:s().func};var l=g;const c=({title:M,token:I,setToken:K,canEditInputs:N,canRegenerate:k,isSubmitting:A,backUrl:B,regenerateUrl:R,onErrorRegenerate:H})=>{const{formatMessage:Z}=(0,h.Z)(),Y=Q=>{K({...I,accessKey:Q})};return t.createElement(p.T,{title:I?.name||Z(M),primaryAction:N?t.createElement(r.k,{gap:2},k&&I?.id&&t.createElement(l,{backUrl:R,onRegenerate:Y,idToRegenerate:I?.id,onError:H}),t.createElement(o.z,{disabled:A,loading:A,startIcon:t.createElement(i.Z,null),type:"submit",size:"S"},Z({id:"global.save",defaultMessage:"Save"}))):k&&I?.id&&t.createElement(l,{onRegenerate:Y,idToRegenerate:I?.id,backUrl:R}),navigationAction:t.createElement(a.rU,{startIcon:t.createElement(d.Z,null),to:B},Z({id:"global.back",defaultMessage:"Back"})),ellipsis:!0})};c.propTypes={token:s().shape({id:s().oneOfType([s().number,s().string]),type:s().string,lifespan:s().oneOfType([s().number,s().string]),name:s().string,accessKey:s().string,permissions:s().array,description:s().string,createdAt:s().string}),canEditInputs:s().bool.isRequired,canRegenerate:s().bool.isRequired,setToken:s().func.isRequired,isSubmitting:s().bool.isRequired,backUrl:s().string.isRequired,title:s().shape({id:s().string,label:s().string}).isRequired,regenerateUrl:s().string.isRequired,onErrorRegenerate:s().func},c.defaultProps={token:void 0,onErrorRegenerate:void 0};var P=c},82505:function(T,m,e){"use strict";var t=e(32735),p=e(68465),r=e(84967),o=e(49372),a=e(60216),i=e.n(a),d=e(67879),y=e(25652);const s=({token:h,errors:v,values:n,onChange:g,isCreating:l})=>{const{formatMessage:c}=(0,d.Z)();return t.createElement(t.Fragment,null,t.createElement(p.P,{name:"lifespan",label:c({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:n.lifespan!==null?n.lifespan:"0",error:v.lifespan?c(v.lifespan?.id?v.lifespan:{id:v.lifespan,defaultMessage:v.lifespan}):null,onChange:P=>{g({target:{name:"lifespan",value:P}})},required:!0,disabled:!l,placeholder:"Select"},t.createElement(r.W,{value:"604800000"},c({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),t.createElement(r.W,{value:"2592000000"},c({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),t.createElement(r.W,{value:"7776000000"},c({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),t.createElement(r.W,{value:"0"},c({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),t.createElement(o.Z,{variant:"pi",textColor:"neutral600"},!l&&`${c({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,y.IX)(h?.createdAt,parseInt(n.lifespan,10))}`))};s.propTypes={errors:i().shape({lifespan:i().string}),onChange:i().func.isRequired,values:i().shape({lifespan:i().oneOfType([i().number,i().string])}).isRequired,isCreating:i().bool.isRequired,token:i().shape({id:i().oneOfType([i().number,i().string]),type:i().string,lifespan:i().string,name:i().string,accessKey:i().string,permissions:i().array,description:i().string,createdAt:i().string})},s.defaultProps={errors:{},token:{}},m.Z=s},7210:function(T,m,e){"use strict";var t=e(32735),p=e(50563),r=e(45509),o=e(47765),a=e(11631),i=e(60216),d=e.n(i),y=e(67879);const s=({token:h,tokenType:v})=>{const{formatMessage:n}=(0,y.Z)(),g=(0,r.lm)(),{trackUsage:l}=(0,r.rS)(),{copy:c}=(0,r.VP)(),P=M=>async()=>{await c(M)&&(l("didCopyTokenKey",{tokenType:v}),g({type:"success",message:{id:"Settings.tokens.notification.copied"}}))};return t.createElement(r.Y_,{endAction:h&&t.createElement("span",{style:{alignSelf:"start"}},t.createElement(p.h,{label:n({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),onClick:P(h),noBorder:!0,icon:t.createElement(o.Z,null),style:{padding:0,height:"1rem"}})),title:h||n({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:n(h?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:t.createElement(a.Z,null),iconBackground:"neutral100"})};s.defaultProps={token:null},s.propTypes={token:d().string,tokenType:d().string.isRequired},m.Z=s},58380:function(T,m,e){"use strict";var t=e(32735),p=e(33475),r=e(60216),o=e.n(r),a=e(67879);const i=({errors:d,values:y,onChange:s,canEditInputs:h})=>{const{formatMessage:v}=(0,a.Z)();return t.createElement(p.g,{label:v({id:"Settings.tokens.form.description",defaultMessage:"Description"}),id:"description",error:d.description?v(d.description?.id?d.description:{id:d.description,defaultMessage:d.description}):null,onChange:s,disabled:!h},y.description)};i.propTypes={errors:o().shape({description:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({description:o().string}).isRequired},i.defaultProps={errors:{}},m.Z=i},37823:function(T,m,e){"use strict";var t=e(32735),p=e(10369),r=e(60216),o=e.n(r),a=e(67879);const i=({errors:d,values:y,onChange:s,canEditInputs:h})=>{const{formatMessage:v}=(0,a.Z)();return t.createElement(p.o,{name:"name",error:d.name?v(d.name?.id?d.name:{id:d.name,defaultMessage:d.name}):null,label:v({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:s,value:y.name,disabled:!h,required:!0})};i.propTypes={errors:o().shape({name:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({name:o().string}).isRequired},i.defaultProps={errors:{}},m.Z=i},32655:function(T,m,e){"use strict";var t=e(32735),p=e(68465),r=e(84967),o=e(60216),a=e.n(o),i=e(67879);const d=({name:y,errors:s,values:h,onChange:v,canEditInputs:n,options:g,label:l})=>{const{formatMessage:c}=(0,i.Z)();return t.createElement(p.P,{name:y,label:c({id:l.id,defaultMessage:l.defaultMessage}),value:h&&h[y],error:s[y]?c(s[y]?.id?s[y]:{id:s[y],defaultMessage:s[y]}):null,onChange:v,placeholder:"Select",required:!0,disabled:!n},g&&g.map(({value:P,label:M})=>t.createElement(r.W,{key:P,value:P},c(M))))};d.propTypes={name:a().string,options:a().arrayOf(a().shape({label:a().shape({id:a().string,defaultMessage:a().string}),value:a().string})),errors:a().shape({type:a().string}),onChange:a().func.isRequired,canEditInputs:a().bool.isRequired,values:a().shape({type:a().string}).isRequired,label:a().shape({id:a().string,defaultMessage:a().string}).isRequired},d.defaultProps={name:"type",errors:{},options:[]},m.Z=d},49756:function(T,m,e){"use strict";e.d(m,{Z:function(){return t},f:function(){return p}});const t="api-token",p="transfer-token"},72225:function(T,m,e){"use strict";e.d(m,{Z:function(){return Ge}});var t=e(32735),p=e(27649),r=e(17e3),o=e(87933),a=e(45509),i=e(92802),d=e(67879),y=e(20108),s=e(15062),h=e(53038),v=e(60216),n=e.n(v);const g=(0,t.createContext)({}),l=({children:u,...E})=>t.createElement(g.Provider,{value:E},u),c=()=>(0,t.useContext)(g);l.propTypes={children:n().node.isRequired};var P=e(90869),M=e(30305),I=e(49756),K=e(39404),N=e(7210),k=e(72850),A=e(49372),B=e(15335),R=e(5803),H=e(82505),Z=e(58380),Y=e(37823),Q=e(32655);const J=({errors:u,onChange:E,canEditInputs:f,isCreating:D,values:x,apiToken:S,onDispatch:O,setHasChangedPermissions:V})=>{const{formatMessage:j}=(0,d.Z)(),F=({target:{value:z}})=>{V(!1),z==="full-access"&&O({type:"SELECT_ALL_ACTIONS"}),z==="read-only"&&O({type:"ON_CHANGE_READ_ONLY"})},w=[{value:"read-only",label:{id:"Settings.tokens.types.read-only",defaultMessage:"Read-only"}},{value:"full-access",label:{id:"Settings.tokens.types.full-access",defaultMessage:"Full access"}},{value:"custom",label:{id:"Settings.tokens.types.custom",defaultMessage:"Custom"}}];return t.createElement(k.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(A.Z,{variant:"delta",as:"h2"},j({id:"global.details",defaultMessage:"Details"})),t.createElement(B.r,{gap:5},t.createElement(R.P,{key:"name",col:6,xs:12},t.createElement(Y.Z,{errors:u,values:x,canEditInputs:f,onChange:E})),t.createElement(R.P,{key:"description",col:6,xs:12},t.createElement(Z.Z,{errors:u,values:x,canEditInputs:f,onChange:E})),t.createElement(R.P,{key:"lifespan",col:6,xs:12},t.createElement(H.Z,{isCreating:D,errors:u,values:x,onChange:E,token:S})),t.createElement(R.P,{key:"type",col:6,xs:12},t.createElement(Q.Z,{values:x,errors:u,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:z=>{F({target:{value:z}}),E({target:{name:"type",value:z}})},options:w,canEditInputs:f})))))};J.propTypes={errors:n().shape({name:n().string,description:n().string,lifespan:n().string,type:n().string}),onChange:n().func.isRequired,canEditInputs:n().bool.isRequired,values:n().shape({name:n().string,description:n().string,lifespan:n().oneOfType([n().number,n().string]),type:n().string}).isRequired,isCreating:n().bool.isRequired,apiToken:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().string,name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string}),onDispatch:n().func.isRequired,setHasChangedPermissions:n().func.isRequired},J.defaultProps={errors:{},apiToken:{}};var X=J,ne=e(82055),le=e(41415),de=e(66456);const _=({apiTokenName:u})=>{const{formatMessage:E}=(0,d.Z)();return(0,a.go)(),t.createElement(p.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"API Tokens"}),t.createElement(ne.T,{primaryAction:t.createElement(le.z,{disabled:!0,startIcon:t.createElement(de.Z,null),type:"button",size:"L"},E({id:"global.save",defaultMessage:"Save"})),title:u||E({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"})}),t.createElement(r.D,null,t.createElement(a.dO,null)))};_.defaultProps={apiTokenName:null},_.propTypes={apiTokenName:n().string};var ce=_,se=e(37213),ae=e.n(se),oe=e(15738),Pe=e.n(oe),re=e(8471),Ae=u=>{switch(u){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const xe=(0,re.ZP)(k.x)`
2
- margin: -1px;
3
- border-radius: ${({theme:u})=>u.spaces[1]} 0 0 ${({theme:u})=>u.spaces[1]};
4
- `;function pe({route:u}){const{formatMessage:E}=(0,d.Z)(),{method:f,handler:D,path:x}=u,S=x?Pe()(x.split("/")):[],[O="",V=""]=D?D.split("."):[],j=Ae(u.method);return t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},t.createElement(A.Z,{variant:"delta",as:"h3"},E({id:"Settings.apiTokens.createPage.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",t.createElement("span",null,O),t.createElement(A.Z,{variant:"delta",textColor:"primary600"},".",V)),t.createElement(o.k,{hasRadius:!0,background:"neutral0",borderColor:"neutral200",gap:0},t.createElement(xe,{background:j.background,borderColor:j.border,padding:2},t.createElement(A.Z,{fontWeight:"bold",textColor:j.text},f)),t.createElement(k.x,{paddingLeft:2,paddingRight:2},ae()(S,F=>t.createElement(A.Z,{key:F,textColor:F.includes(":")?"neutral600":"neutral900"},"/",F)))))}pe.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},pe.propTypes={route:n().shape({handler:n().string,method:n().string,path:n().string})};var Oe=pe,Re=()=>{const{value:{selectedAction:u,routes:E}}=c(),{formatMessage:f}=(0,d.Z)(),D=u?.split(".")[0];return t.createElement(R.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},u?t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},E[D]?.map(x=>x.config.auth?.scope?.includes(u)||x.handler===u?t.createElement(Oe,{key:x.handler,route:x}):null)):t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},t.createElement(A.Z,{variant:"delta",as:"h3"},f({id:"Settings.apiTokens.createPage.permissions.header.title",defaultMessage:"Advanced settings"})),t.createElement(A.Z,{as:"p",textColor:"neutral600"},f({id:"Settings.apiTokens.createPage.permissions.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))},Ie=e(83828),De=e(61762),ke=e(89966),Te=e(8284),Se=e(45112),Le=e(73400),Be=e.n(Le);const Ce=(0,re.iv)`
5
- background: ${u=>u.theme.colors.primary100};
6
- svg {
7
- opacity: 1;
8
- }
9
- `;var be=(0,re.ZP)(k.x)`
10
- display: flex;
11
- justify-content: space-between;
12
- align-items: center;
13
-
14
- svg {
15
- opacity: 0;
16
- path {
17
- fill: ${u=>u.theme.colors.primary600};
18
- }
19
- }
20
-
21
- /* Show active style both on hover and when the action is selected */
22
- ${u=>u.isActive&&Ce}
23
- &:hover {
24
- ${Ce}
25
- }
26
- `;const Ue=re.ZP.div`
27
- flex: 1;
28
- align-self: center;
29
- border-top: 1px solid ${({theme:u})=>u.colors.neutral150};
30
- `,ue=({controllers:u,label:E,orderNumber:f,disabled:D,onExpanded:x,indexExpandendCollapsedContent:S})=>{const{value:{onChangeSelectAll:O,onChange:V,selectedActions:j,setSelectedAction:F,selectedAction:w}}=c(),[z,ie]=(0,t.useState)(!1),{formatMessage:Ee}=(0,d.Z)(),q=()=>{ie(L=>!L),x(f)};(0,t.useEffect)(()=>{S!==null&&S!==f&&z&&ie(!1)},[S,f,z]);const U=L=>L===w;return t.createElement(Ie.U,{expanded:z,onToggle:q,variant:f%2?"primary":"secondary"},t.createElement(De.B,{title:Be()(E)}),t.createElement(ke.v,null,u?.map(L=>{const ee=L.actions.every(W=>j.includes(W.actionId)),fe=L.actions.some(W=>j.includes(W.actionId));return t.createElement(k.x,{key:`${E}.${L?.controller}`},t.createElement(o.k,{justifyContent:"space-between",alignItems:"center",padding:4},t.createElement(k.x,{paddingRight:4},t.createElement(A.Z,{variant:"sigma",textColor:"neutral600"},L?.controller)),t.createElement(Ue,null),t.createElement(k.x,{paddingLeft:4},t.createElement(Te.X,{value:ee,indeterminate:!ee&&fe,onValueChange:()=>{O({target:{value:[...L.actions]}})},disabled:D},Ee({id:"app.utils.select-all",defaultMessage:"Select all"})))),t.createElement(B.r,{gap:4,padding:4},L?.actions&&L?.actions.map(W=>t.createElement(R.P,{col:6,key:W.actionId},t.createElement(be,{isActive:U(W.actionId),padding:2,hasRadius:!0},t.createElement(Te.X,{value:j.includes(W.actionId),name:W.actionId,onValueChange:()=>{V({target:{value:W.actionId}})},disabled:D},W.action),t.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>F({target:{value:W.actionId}}),style:{display:"inline-flex",alignItems:"center"}},t.createElement(Se.Z,null)))))))})))};ue.defaultProps={controllers:[],orderNumber:0,disabled:!1,onExpanded:()=>null,indexExpandendCollapsedContent:null},ue.propTypes={controllers:n().array,orderNumber:n().number,label:n().string.isRequired,disabled:n().bool,onExpanded:n().func,indexExpandendCollapsedContent:n().number};var Ze=ue;const ge=({section:u,...E})=>{const[f,D]=(0,t.useState)(null),x=S=>D(S);return t.createElement(k.x,{padding:4,background:"neutral0"},u&&u.map((S,O)=>t.createElement(Ze,{key:S.apiId,label:S.label,controllers:S.controllers,orderNumber:O,indexExpandendCollapsedContent:f,onExpanded:x,name:S.apiId,...E})))};ge.defaultProps={section:null},ge.propTypes={section:n().arrayOf(n().object)};var We=ge;const Ke=({...u})=>{const{value:{data:E}}=c(),{formatMessage:f}=(0,d.Z)();return t.createElement(B.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},t.createElement(R.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},t.createElement(A.Z,{variant:"delta",as:"h2"},f({id:"Settings.apiTokens.createPage.permissions.title",defaultMessage:"Permissions"})),t.createElement(A.Z,{as:"p",textColor:"neutral600"},f({id:"Settings.apiTokens.createPage.permissions.description",defaultMessage:"Only actions bound by a route are listed below."}))),E?.permissions&&t.createElement(We,{section:E?.permissions,...u})),t.createElement(Re,null))};var Ne=(0,t.memo)(Ke),me=e(25652),$e=(u,E=[])=>({...u,selectedAction:null,routes:[],selectedActions:[],data:(0,me.mk)(E)}),je=e(97889),Fe=e(82879),Me=e.n(Fe);const ze={data:{},selectedActions:[]};var He=(u,E)=>(0,je.ZP)(u,f=>{switch(E.type){case"ON_CHANGE":{f.selectedActions.includes(E.value)?Me()(f.selectedActions,E.value):f.selectedActions.push(E.value);break}case"SELECT_ALL_IN_PERMISSION":{E.value.every(x=>f.selectedActions.includes(x.actionId))?E.value.forEach(x=>{Me()(f.selectedActions,x.actionId)}):E.value.forEach(x=>{f.selectedActions.push(x.actionId)});break}case"SELECT_ALL_ACTIONS":{f.selectedActions=[...f.data.allActionsIds];break}case"ON_CHANGE_READ_ONLY":{const D=f.data.allActionsIds.filter(x=>x.includes("find")||x.includes("findOne"));f.selectedActions=[...D];break}case"UPDATE_PERMISSIONS_LAYOUT":{f.data=(0,me.mk)(E.value);break}case"UPDATE_ROUTES":{f.routes={...E.value};break}case"UPDATE_PERMISSIONS":{f.selectedActions=[...E.value];break}case"SET_SELECTED_ACTION":{f.selectedAction=E.value;break}default:return f}});const Ve="Name already taken";var Ge=()=>{(0,a.go)();const{formatMessage:u}=(0,d.Z)(),{lockApp:E,unlockApp:f}=(0,a.o1)(),D=(0,a.lm)(),x=(0,h.k6)(),S=(0,s.v9)(M._),[O,V]=(0,t.useState)(x.location.state?.apiToken.accessKey?{...x.location.state.apiToken}:null),{trackUsage:j}=(0,a.rS)(),F=(0,t.useRef)(j),{setCurrentStep:w}=(0,a.c1)(),{allowedActions:{canCreate:z,canUpdate:ie,canRegenerate:Ee}}=(0,a.ss)(S.settings["api-tokens"]),[q,U]=(0,t.useReducer)(He,ze,C=>$e(C,{})),{params:{id:L}}=(0,h.$B)("/settings/api-tokens/:id"),{get:ee,post:fe,put:W}=(0,a.kY)(),$=L==="create";(0,y.useQuery)("content-api-permissions",async()=>{const[C,G]=await Promise.all(["/admin/content-api/permissions","/admin/content-api/routes"].map(async te=>{const{data:b}=await ee(te);return b.data}));U({type:"UPDATE_PERMISSIONS_LAYOUT",value:C}),U({type:"UPDATE_ROUTES",value:G}),O&&(O?.type==="read-only"&&U({type:"ON_CHANGE_READ_ONLY"}),O?.type==="full-access"&&U({type:"SELECT_ALL_ACTIONS"}),O?.type==="custom"&&U({type:"UPDATE_PERMISSIONS",value:O?.permissions}))},{onError(){D({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),(0,t.useEffect)(()=>{F.current($?"didAddTokenFromList":"didEditTokenFromList",{tokenType:I.Z})},[$]);const{status:Ye}=(0,y.useQuery)(["api-token",L],async()=>{const{data:{data:C}}=await ee(`/admin/api-tokens/${L}`);return V({...C}),C?.type==="read-only"&&U({type:"ON_CHANGE_READ_ONLY"}),C?.type==="full-access"&&U({type:"SELECT_ALL_ACTIONS"}),C?.type==="custom"&&U({type:"UPDATE_PERMISSIONS",value:C?.permissions}),C},{enabled:!$&&!O,onError(){D({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Qe=async(C,G)=>{F.current($?"willCreateToken":"willEditToken",{tokenType:I.Z}),E();const te=C.lifespan&&parseInt(C.lifespan,10)&&C.lifespan!=="0"?parseInt(C.lifespan,10):null;try{const{data:{data:b}}=$?await fe("/admin/api-tokens",{...C,lifespan:te,permissions:C.type==="custom"?q.selectedActions:null}):await W(`/admin/api-tokens/${L}`,{name:C.name,description:C.description,type:C.type,permissions:C.type==="custom"?q.selectedActions:null});$&&(x.replace(`/settings/api-tokens/${b.id}`,{apiToken:b}),w("apiTokens.success")),f(),V({...b}),D({type:"success",message:u($?{id:"notification.success.apitokencreated",defaultMessage:"API Token successfully created"}:{id:"notification.success.apitokenedited",defaultMessage:"API Token successfully edited"})}),F.current($?"didCreateToken":"didEditToken",{type:O.type,tokenType:I.Z})}catch(b){const ve=(0,P.Iz)(b.response.data);G.setErrors(ve),b?.response?.data?.error?.message===Ve?D({type:"warning",message:b.response.data.message||"notification.error.tokennamenotunique"}):D({type:"warning",message:b?.response?.data?.message||"notification.error"}),f()}},[Xe,ye]=(0,t.useState)(!1),Je={...q,onChange:({target:{value:C}})=>{ye(!0),U({type:"ON_CHANGE",value:C})},onChangeSelectAll:({target:{value:C}})=>{ye(!0),U({type:"SELECT_ALL_IN_PERMISSION",value:C})},setSelectedAction:({target:{value:C}})=>{U({type:"SET_SELECTED_ACTION",value:C})}},he=ie&&!$||z&&$;return!$&&!O&&Ye!=="success"?t.createElement(ce,{apiTokenName:O?.name}):t.createElement(l,{value:Je},t.createElement(p.o,null,t.createElement(a.SL,{name:"API Tokens"}),t.createElement(i.J9,{validationSchema:me.fK,validateOnChange:!1,initialValues:{name:O?.name||"",description:O?.description||"",type:O?.type,lifespan:O?.lifespan?O.lifespan.toString():O?.lifespan},enableReinitialize:!0,onSubmit:(C,G)=>Qe(C,G)},({errors:C,handleChange:G,isSubmitting:te,values:b,setFieldValue:ve})=>(Xe&&b?.type!=="custom"&&ve("type","custom"),t.createElement(a.l0,null,t.createElement(K.Z,{backUrl:"/settings/api-tokens",title:{id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"},token:O,setToken:V,canEditInputs:he,canRegenerate:Ee,isSubmitting:te,regenerateUrl:"/admin/api-tokens/"}),t.createElement(r.D,null,t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:6},Boolean(O?.name)&&t.createElement(N.Z,{token:O?.accessKey,tokenType:I.Z}),t.createElement(X,{errors:C,onChange:G,canEditInputs:he,isCreating:$,values:b,apiToken:O,onDispatch:U,setHasChangedPermissions:ye}),t.createElement(Ne,{disabled:!he||b?.type==="read-only"||b?.type==="full-access"}))))))))}},25652:function(T,m,e){"use strict";e.d(m,{IX:function(){return a},fK:function(){return s},mk:function(){return v}});var t=e(14723),p=e(85544),r=e(76698),a=(n,g,l="en")=>{if(g&&typeof g=="number"){const c=g/24/60/60/1e3;return(0,t.Z)((0,p.Z)(new Date(n),c),"PPP",{locale:r[l]})}return"Unlimited"},i=e(45509),d=e(24346),s=d.Ry().shape({name:d.Z_(i.I0.string).max(100).required(i.I0.required),type:d.Z_(i.I0.string).oneOf(["read-only","full-access","custom"]).required(i.I0.required),description:d.Z_().nullable(),lifespan:d.Rx().integer().min(0).nullable().defined(i.I0.required)}),v=n=>{const g={allActionsIds:[],permissions:[]};return g.permissions=Object.keys(n).map(l=>({apiId:l,label:l.split("::")[1],controllers:Object.keys(n[l].controllers).map(c=>({controller:c,actions:n[l].controllers[c].map(P=>{const M=`${l}.${c}.${P}`;return l.includes("api::")&&g.allActionsIds.push(M),{action:P,actionId:M}}).flat()})).flat()})),g}},60528:function(T){function m(e,t,p,r){for(var o=e.length,a=p+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}T.exports=m},87650:function(T,m,e){var t=e(60528),p=e(25556),r=e(54256);function o(a,i,d){return i===i?r(a,i,d):t(a,p,d)}T.exports=o},15880:function(T){function m(e,t,p,r){for(var o=p-1,a=e.length;++o<a;)if(r(e[o],t))return o;return-1}T.exports=m},25556:function(T){function m(e){return e!==e}T.exports=m},25026:function(T,m,e){var t=e(26460),p=e(87650),r=e(15880),o=e(76535),a=e(66438),i=Array.prototype,d=i.splice;function y(s,h,v,n){var g=n?r:p,l=-1,c=h.length,P=s;for(s===h&&(h=a(h)),v&&(P=t(s,o(v)));++l<c;)for(var M=0,I=h[l],K=v?v(I):I;(M=g(P,K,M,n))>-1;)P!==s&&d.call(P,M,1),d.call(s,M,1);return s}T.exports=y},54256:function(T){function m(e,t,p){for(var r=p-1,o=e.length;++r<o;)if(e[r]===t)return r;return-1}T.exports=m},37213:function(T,m,e){var t=e(26460),p=e(88904),r=e(52920),o=e(77236);function a(i,d){var y=o(i)?t:r;return y(i,p(d,3))}T.exports=a},82879:function(T,m,e){var t=e(94569),p=e(83147),r=t(p);T.exports=r},83147:function(T,m,e){var t=e(25026);function p(r,o){return r&&r.length&&o&&o.length?t(r,o):r}T.exports=p},15738:function(T,m,e){var t=e(4293);function p(r){var o=r==null?0:r.length;return o?t(r,1,o):[]}T.exports=p},83828:function(T,m,e){"use strict";e.d(m,{U:function(){return n},y:function(){return h}});var t=e(74512),p=e(32735),r=e(8471),o=e(91045),a=e(74971),i=e(49372),d=e(87933),y=e(72850);const s=({theme:g,expanded:l,variant:c,disabled:P,error:M})=>M?`1px solid ${g.colors.danger600} !important`:P?`1px solid ${g.colors.neutral150}`:l?`1px solid ${g.colors.primary600}`:c==="primary"?`1px solid ${g.colors.neutral0}`:`1px solid ${g.colors.neutral100}`,h=(0,r.ZP)(i.Z)``,v=(0,r.ZP)(y.x)`
31
- border: ${s};
32
-
33
- &:hover:not([aria-disabled='true']) {
34
- border: 1px solid ${({theme:g})=>g.colors.primary600};
35
-
36
- ${h} {
37
- color: ${({theme:g,expanded:l})=>l?void 0:g.colors.primary700};
38
- }
39
-
40
- ${i.Z} {
41
- color: ${({theme:g,expanded:l})=>l?void 0:g.colors.primary600};
42
- }
43
-
44
- & > ${d.k} {
45
- background: ${({theme:g})=>g.colors.primary100};
46
- }
47
-
48
- [data-strapi-dropdown='true'] {
49
- background: ${({theme:g})=>g.colors.primary200};
50
- }
51
- }
52
- `,n=({children:g,disabled:l=!1,error:c,expanded:P=!1,hasErrorMessage:M=!0,id:I,onToggle:K,toggle:N,size:k="M",variant:A="primary",shadow:B})=>{const R=(0,a.M)(I),H=p.useMemo(()=>({expanded:P,onToggle:K,toggle:N,id:R,size:k,variant:A,disabled:l}),[l,P,R,K,k,N,A]);return(0,t.jsxs)(o.S.Provider,{value:H,children:[(0,t.jsx)(v,{"data-strapi-expanded":P,disabled:l,"aria-disabled":l,expanded:P,hasRadius:!0,variant:A,error:c,shadow:B,children:g}),c&&M&&(0,t.jsx)(y.x,{paddingTop:1,children:(0,t.jsx)(i.Z,{variant:"pi",textColor:"danger600",children:c})})]})}},89966:function(T,m,e){"use strict";e.d(m,{v:function(){return o}});var t=e(74512),p=e(91045),r=e(72850);const o=({children:a,...i})=>{const{expanded:d,id:y}=(0,p.A)();if(!d)return null;const s=`accordion-content-${y}`,h=`accordion-label-${y}`,v=`accordion-desc-${y}`;return(0,t.jsx)(r.x,{role:"region",id:s,"aria-labelledby":h,"aria-describedby":v,...i,children:a})}},91045:function(T,m,e){"use strict";e.d(m,{A:function(){return r},S:function(){return p}});var t=e(32735);const p=(0,t.createContext)({disabled:!1,expanded:!1,id:"",size:"M",variant:"primary"}),r=()=>(0,t.useContext)(p)},61762:function(T,m,e){"use strict";e.d(m,{B:function(){return g}});var t=e(74512),p=e(16899),r=e(8471),o=e(83828),a=e(91045);const i=({expanded:l,disabled:c,variant:P})=>{let M="neutral100";return l?M="primary100":c?M="neutral150":P==="primary"&&(M="neutral0"),M};var d=e(7563),y=e(99140),s=e(87933),h=e(49372);const v=(0,r.ZP)(d.A)`
53
- text-align: left;
54
-
55
- // necessary to make the ellipsis prop work on the title
56
- > span {
57
- max-width: 100%;
58
- }
59
-
60
- svg {
61
- width: ${14/16}rem;
62
- height: ${14/16}rem;
63
-
64
- path {
65
- fill: ${({theme:l,expanded:c})=>c?l.colors.primary600:l.colors.neutral500};
66
- }
67
- }
68
- `,n=(0,r.ZP)(s.k)`
69
- min-height: ${({theme:l,size:c})=>l.sizes.accordions[c]};
70
- border-radius: ${({theme:l,expanded:c})=>c?`${l.borderRadius} ${l.borderRadius} 0 0`:l.borderRadius};
71
-
72
- &:hover {
73
- svg {
74
- path {
75
- fill: ${({theme:l})=>l.colors.primary600};
76
- }
77
- }
78
- }
79
- `,g=({title:l,description:c,as:P="span",togglePosition:M="right",action:I,...K})=>{const{onToggle:N,toggle:k,expanded:A,id:B,size:R,variant:H,disabled:Z}=(0,a.A)(),Y=`accordion-content-${B}`,Q=`accordion-label-${B}`,J=`accordion-desc-${B}`,X=R==="M"?6:4,ne=R==="M"?X:X-2,le=i({expanded:A,disabled:Z,variant:H}),de={as:P,fontWeight:R==="S"?"bold":void 0,id:Q,textColor:A?"primary600":"neutral700",ellipsis:!0,variant:R==="M"?"delta":void 0},_=A?"primary600":"neutral600",ce=A?"primary200":"neutral200",se=R==="M"?`${32/16}rem`:`${24/16}rem`,ae=()=>{Z||(k&&!N?(console.warn('Deprecation warning: Usage of "toggle" prop in Accordion component is deprecated. This is discouraged and will be removed in the next major release. Please use "onToggle" instead'),k()):N&&N())},oe=(0,t.jsx)(s.k,{justifyContent:"center",borderRadius:"50%",height:se,width:se,transform:A?"rotate(180deg)":void 0,"data-strapi-dropdown":!0,"aria-hidden":!0,as:"span",background:ce,cursor:Z?"not-allowed":"pointer",onClick:ae,shrink:0,children:(0,t.jsx)(y.J,{as:p.Z,width:R==="M"?`${11/16}rem`:`${8/16}rem`,color:A?"primary600":"neutral600"})});return(0,t.jsx)(n,{paddingBottom:ne,paddingLeft:X,paddingRight:X,paddingTop:ne,background:le,expanded:A,size:R,justifyContent:"space-between",cursor:Z?"not-allowed":"",children:(0,t.jsxs)(s.k,{gap:3,flex:1,maxWidth:"100%",children:[M==="left"&&oe,(0,t.jsx)(v,{onClick:ae,"aria-disabled":Z,"aria-expanded":A,"aria-controls":Y,"aria-labelledby":Q,"data-strapi-accordion-toggle":!0,expanded:A,type:"button",flex:1,minWidth:0,...K,children:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.y,{...de,children:l}),c&&(0,t.jsx)(h.Z,{as:"p",id:J,textColor:_,children:c})]})}),M==="right"&&(0,t.jsxs)(s.k,{gap:3,children:[oe,I]}),M==="left"&&I]})})}}}]);