@strapi/upload 5.0.0-beta.9 → 5.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{graphql-Bj6oo87a.js → graphql-DnH9sdRy.js} +2 -2
  3. package/dist/_chunks/{graphql-Bj6oo87a.js.map → graphql-DnH9sdRy.js.map} +1 -1
  4. package/dist/_chunks/{graphql-edcz_5zt.mjs → graphql-_gnSn8ak.mjs} +2 -2
  5. package/dist/_chunks/{graphql-edcz_5zt.mjs.map → graphql-_gnSn8ak.mjs.map} +1 -1
  6. package/dist/_chunks/{index-4iUTOybK.mjs → index-B2H0mT-4.mjs} +7 -7
  7. package/dist/_chunks/index-B2H0mT-4.mjs.map +1 -0
  8. package/dist/_chunks/{index-XL3Mrkqq.js → index-B31omlmq.js} +10 -19
  9. package/dist/_chunks/index-B31omlmq.js.map +1 -0
  10. package/dist/_chunks/{index-BRMOG3M5.mjs → index-BCY68yPX.mjs} +11 -20
  11. package/dist/_chunks/index-BCY68yPX.mjs.map +1 -0
  12. package/dist/_chunks/{index-DLpj5yNr.js → index-By7J3KhK.js} +414 -359
  13. package/dist/_chunks/index-By7J3KhK.js.map +1 -0
  14. package/dist/_chunks/{index-GkNHbl9s.js → index-CMAvhamB.js} +6 -6
  15. package/dist/_chunks/index-CMAvhamB.js.map +1 -0
  16. package/dist/_chunks/{index-DmPsR26u.mjs → index-DF-F15Un.mjs} +415 -360
  17. package/dist/_chunks/index-DF-F15Un.mjs.map +1 -0
  18. package/dist/_chunks/{index-_XL6OkHu.js → index-DNIvA1Nj.js} +11 -5
  19. package/dist/_chunks/index-DNIvA1Nj.js.map +1 -0
  20. package/dist/_chunks/{index-C6Zy6JkX.js → index-Dfhzzni3.js} +73 -85
  21. package/dist/_chunks/index-Dfhzzni3.js.map +1 -0
  22. package/dist/_chunks/{index-Dhpsbqb0.mjs → index-REz0rm2a.mjs} +57 -87
  23. package/dist/_chunks/index-REz0rm2a.mjs.map +1 -0
  24. package/dist/_chunks/{index-BTrpl94p.mjs → index-aW1eiyyQ.mjs} +11 -5
  25. package/dist/_chunks/index-aW1eiyyQ.mjs.map +1 -0
  26. package/dist/admin/index.js +1 -1
  27. package/dist/admin/index.mjs +1 -1
  28. package/dist/server/index.js +1 -1
  29. package/dist/server/index.mjs +1 -1
  30. package/dist/server/src/controllers/admin-file.d.ts.map +1 -1
  31. package/package.json +8 -8
  32. package/dist/_chunks/index-4iUTOybK.mjs.map +0 -1
  33. package/dist/_chunks/index-BRMOG3M5.mjs.map +0 -1
  34. package/dist/_chunks/index-BTrpl94p.mjs.map +0 -1
  35. package/dist/_chunks/index-C6Zy6JkX.js.map +0 -1
  36. package/dist/_chunks/index-DLpj5yNr.js.map +0 -1
  37. package/dist/_chunks/index-Dhpsbqb0.mjs.map +0 -1
  38. package/dist/_chunks/index-DmPsR26u.mjs.map +0 -1
  39. package/dist/_chunks/index-GkNHbl9s.js.map +0 -1
  40. package/dist/_chunks/index-XL3Mrkqq.js.map +0 -1
  41. package/dist/_chunks/index-_XL6OkHu.js.map +0 -1
package/LICENSE CHANGED
@@ -2,7 +2,21 @@ Copyright (c) 2015-present Strapi Solutions SAS
2
2
 
3
3
  Portions of the Strapi software are licensed as follows:
4
4
 
5
- * All software that resides under an "ee/" directory (the “EE Software”), if that directory exists, is licensed under the license defined in "ee/LICENSE".
5
+ * All software that resides under an "ee/" directory (the “EE Software”), if that directory exists, is licensed under the license defined below.
6
+
7
+ Enterprise License
8
+
9
+ If you or the company you represent has entered into a written agreement referencing the Enterprise Edition of the Strapi source code available at
10
+ https://github.com/strapi/strapi, then such agreement applies to your use of the Enterprise Edition of the Strapi Software. If you or the company you
11
+ represent is using the Enterprise Edition of the Strapi Software in connection with a subscription to our cloud offering, then the agreement you have
12
+ agreed to with respect to our cloud offering and the licenses included in such agreement apply to your use of the Enterprise Edition of the Strapi Software.
13
+ Otherwise, the Strapi Enterprise Software License Agreement (found here https://strapi.io/enterprise-terms) applies to your use of the Enterprise Edition of the Strapi Software.
14
+
15
+ BY ACCESSING OR USING THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE RELEVANT REFERENCED AGREEMENT.
16
+ IF YOU ARE NOT AUTHORIZED TO ACCEPT THESE TERMS ON BEHALF OF THE COMPANY YOU REPRESENT OR IF YOU DO NOT AGREE TO ALL OF THE RELEVANT TERMS AND CONDITIONS REFERENCED AND YOU
17
+ HAVE NOT OTHERWISE EXECUTED A WRITTEN AGREEMENT WITH STRAPI, YOU ARE NOT AUTHORIZED TO ACCESS OR USE OR ALLOW ANY USER TO ACCESS OR USE ANY PART OF
18
+ THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE. YOUR ACCESS RIGHTS ARE CONDITIONAL ON YOUR CONSENT TO THE RELEVANT REFERENCED TERMS TO THE EXCLUSION OF ALL OTHER TERMS;
19
+ IF THE RELEVANT REFERENCED TERMS ARE CONSIDERED AN OFFER BY YOU, ACCEPTANCE IS EXPRESSLY LIMITED TO THE RELEVANT REFERENCED TERMS.
6
20
 
7
21
  * All software outside of the above-mentioned directories or restrictions above is available under the "MIT Expat" license as set forth below.
8
22
 
@@ -18,5 +32,6 @@ furnished to do so, subject to the following conditions:
18
32
  The above copyright notice and this permission notice shall be included in all
19
33
  copies or substantial portions of the Software.
20
34
 
21
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
35
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-_XL6OkHu.js");
3
+ const index = require("./index-DNIvA1Nj.js");
4
4
  const FILE_INFO_INPUT_TYPE_NAME = "FileInfoInput";
5
5
  const installGraphqlExtension = ({ strapi }) => {
6
6
  const { service: getGraphQLService, config: graphQLConfig } = strapi.plugin("graphql");
@@ -68,4 +68,4 @@ const installGraphqlExtension = ({ strapi }) => {
68
68
  });
69
69
  };
70
70
  exports.installGraphqlExtension = installGraphqlExtension;
71
- //# sourceMappingURL=graphql-Bj6oo87a.js.map
71
+ //# sourceMappingURL=graphql-DnH9sdRy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-Bj6oo87a.js","sources":["../../server/src/graphql.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { FILE_MODEL_UID } from './constants';\n\nconst FILE_INFO_INPUT_TYPE_NAME = 'FileInfoInput';\n\nexport const installGraphqlExtension = ({ strapi }: { strapi: Core.Strapi }) => {\n const { service: getGraphQLService, config: graphQLConfig } = strapi.plugin('graphql');\n const { service: getUploadService } = strapi.plugin('upload');\n\n const isShadowCRUDEnabled = graphQLConfig('shadowCRUD', true);\n\n if (!isShadowCRUDEnabled) {\n return;\n }\n\n getGraphQLService('extension').shadowCRUD('plugin::upload.folder').disable();\n getGraphQLService('extension').shadowCRUD('plugin::upload.file').disableMutations();\n\n const { getTypeName } = getGraphQLService('utils').naming;\n\n const fileModel = strapi.getModel(FILE_MODEL_UID);\n const fileTypeName = getTypeName(fileModel);\n /**\n * Register Upload's types, queries & mutations to the content API using the GraphQL extension API\n */\n getGraphQLService('extension').use(({ nexus }: { nexus: any }) => {\n const { inputObjectType, extendType, nonNull } = nexus;\n\n // Represents the input data payload for the file's information\n const fileInfoInputType = inputObjectType({\n name: FILE_INFO_INPUT_TYPE_NAME,\n\n definition(t: any) {\n t.string('name');\n t.string('alternativeText');\n t.string('caption');\n },\n });\n\n const mutations = extendType({\n type: 'Mutation',\n\n definition(t: any) {\n /**\n * Update some information for a given file\n */\n t.field('updateUploadFile', {\n type: nonNull(fileTypeName),\n\n args: {\n id: nonNull('ID'),\n info: FILE_INFO_INPUT_TYPE_NAME,\n },\n\n async resolve(parent: unknown, args: { id: number; info: any }) {\n const { id, info } = args;\n\n return getUploadService('upload').updateFileInfo(id, info);\n },\n });\n\n /**\n * Delete & remove a given file\n */\n t.field('deleteUploadFile', {\n type: fileTypeName,\n\n args: {\n id: nonNull('ID'),\n },\n\n async resolve(parent: unknown, args: { id: number }) {\n const { id } = args;\n\n const file = await getUploadService('upload').findOne(id);\n\n if (!file) {\n return null;\n }\n\n return getUploadService('upload').remove(file);\n },\n });\n },\n });\n\n return {\n types: [fileInfoInputType, mutations],\n resolversConfig: {\n // Use custom scopes for the upload file CRUD operations\n 'Query.uploadFiles': { auth: { scope: 'plugin::upload.content-api.find' } },\n 'Query.uploadFiles_connection': { auth: { scope: 'plugin::upload.content-api.find' } },\n 'Query.uploadFile': { auth: { scope: 'plugin::upload.content-api.findOne' } },\n 'Mutation.updateUploadFile': { auth: { scope: 'plugin::upload.content-api.upload' } },\n 'Mutation.deleteUploadFile': { auth: { scope: 'plugin::upload.content-api.destroy' } },\n },\n };\n });\n};\n"],"names":["FILE_MODEL_UID"],"mappings":";;;AAIA,MAAM,4BAA4B;AAE3B,MAAM,0BAA0B,CAAC,EAAE,aAAsC;AACxE,QAAA,EAAE,SAAS,mBAAmB,QAAQ,kBAAkB,OAAO,OAAO,SAAS;AACrF,QAAM,EAAE,SAAS,iBAAA,IAAqB,OAAO,OAAO,QAAQ;AAEtD,QAAA,sBAAsB,cAAc,cAAc,IAAI;AAE5D,MAAI,CAAC,qBAAqB;AACxB;AAAA,EACF;AAEA,oBAAkB,WAAW,EAAE,WAAW,uBAAuB,EAAE,QAAQ;AAC3E,oBAAkB,WAAW,EAAE,WAAW,qBAAqB,EAAE,iBAAiB;AAElF,QAAM,EAAE,YAAgB,IAAA,kBAAkB,OAAO,EAAE;AAE7C,QAAA,YAAY,OAAO,SAASA,MAAc,cAAA;AAC1C,QAAA,eAAe,YAAY,SAAS;AAI1C,oBAAkB,WAAW,EAAE,IAAI,CAAC,EAAE,YAA4B;AAChE,UAAM,EAAE,iBAAiB,YAAY,QAAA,IAAY;AAGjD,UAAM,oBAAoB,gBAAgB;AAAA,MACxC,MAAM;AAAA,MAEN,WAAW,GAAQ;AACjB,UAAE,OAAO,MAAM;AACf,UAAE,OAAO,iBAAiB;AAC1B,UAAE,OAAO,SAAS;AAAA,MACpB;AAAA,IAAA,CACD;AAED,UAAM,YAAY,WAAW;AAAA,MAC3B,MAAM;AAAA,MAEN,WAAW,GAAQ;AAIjB,UAAE,MAAM,oBAAoB;AAAA,UAC1B,MAAM,QAAQ,YAAY;AAAA,UAE1B,MAAM;AAAA,YACJ,IAAI,QAAQ,IAAI;AAAA,YAChB,MAAM;AAAA,UACR;AAAA,UAEA,MAAM,QAAQ,QAAiB,MAAiC;AACxD,kBAAA,EAAE,IAAI,KAAS,IAAA;AAErB,mBAAO,iBAAiB,QAAQ,EAAE,eAAe,IAAI,IAAI;AAAA,UAC3D;AAAA,QAAA,CACD;AAKD,UAAE,MAAM,oBAAoB;AAAA,UAC1B,MAAM;AAAA,UAEN,MAAM;AAAA,YACJ,IAAI,QAAQ,IAAI;AAAA,UAClB;AAAA,UAEA,MAAM,QAAQ,QAAiB,MAAsB;AAC7C,kBAAA,EAAE,GAAO,IAAA;AAEf,kBAAM,OAAO,MAAM,iBAAiB,QAAQ,EAAE,QAAQ,EAAE;AAExD,gBAAI,CAAC,MAAM;AACF,qBAAA;AAAA,YACT;AAEA,mBAAO,iBAAiB,QAAQ,EAAE,OAAO,IAAI;AAAA,UAC/C;AAAA,QAAA,CACD;AAAA,MACH;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,MACL,OAAO,CAAC,mBAAmB,SAAS;AAAA,MACpC,iBAAiB;AAAA;AAAA,QAEf,qBAAqB,EAAE,MAAM,EAAE,OAAO,oCAAoC;AAAA,QAC1E,gCAAgC,EAAE,MAAM,EAAE,OAAO,oCAAoC;AAAA,QACrF,oBAAoB,EAAE,MAAM,EAAE,OAAO,uCAAuC;AAAA,QAC5E,6BAA6B,EAAE,MAAM,EAAE,OAAO,sCAAsC;AAAA,QACpF,6BAA6B,EAAE,MAAM,EAAE,OAAO,uCAAuC;AAAA,MACvF;AAAA,IAAA;AAAA,EACF,CACD;AACH;;"}
1
+ {"version":3,"file":"graphql-DnH9sdRy.js","sources":["../../server/src/graphql.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { FILE_MODEL_UID } from './constants';\n\nconst FILE_INFO_INPUT_TYPE_NAME = 'FileInfoInput';\n\nexport const installGraphqlExtension = ({ strapi }: { strapi: Core.Strapi }) => {\n const { service: getGraphQLService, config: graphQLConfig } = strapi.plugin('graphql');\n const { service: getUploadService } = strapi.plugin('upload');\n\n const isShadowCRUDEnabled = graphQLConfig('shadowCRUD', true);\n\n if (!isShadowCRUDEnabled) {\n return;\n }\n\n getGraphQLService('extension').shadowCRUD('plugin::upload.folder').disable();\n getGraphQLService('extension').shadowCRUD('plugin::upload.file').disableMutations();\n\n const { getTypeName } = getGraphQLService('utils').naming;\n\n const fileModel = strapi.getModel(FILE_MODEL_UID);\n const fileTypeName = getTypeName(fileModel);\n /**\n * Register Upload's types, queries & mutations to the content API using the GraphQL extension API\n */\n getGraphQLService('extension').use(({ nexus }: { nexus: any }) => {\n const { inputObjectType, extendType, nonNull } = nexus;\n\n // Represents the input data payload for the file's information\n const fileInfoInputType = inputObjectType({\n name: FILE_INFO_INPUT_TYPE_NAME,\n\n definition(t: any) {\n t.string('name');\n t.string('alternativeText');\n t.string('caption');\n },\n });\n\n const mutations = extendType({\n type: 'Mutation',\n\n definition(t: any) {\n /**\n * Update some information for a given file\n */\n t.field('updateUploadFile', {\n type: nonNull(fileTypeName),\n\n args: {\n id: nonNull('ID'),\n info: FILE_INFO_INPUT_TYPE_NAME,\n },\n\n async resolve(parent: unknown, args: { id: number; info: any }) {\n const { id, info } = args;\n\n return getUploadService('upload').updateFileInfo(id, info);\n },\n });\n\n /**\n * Delete & remove a given file\n */\n t.field('deleteUploadFile', {\n type: fileTypeName,\n\n args: {\n id: nonNull('ID'),\n },\n\n async resolve(parent: unknown, args: { id: number }) {\n const { id } = args;\n\n const file = await getUploadService('upload').findOne(id);\n\n if (!file) {\n return null;\n }\n\n return getUploadService('upload').remove(file);\n },\n });\n },\n });\n\n return {\n types: [fileInfoInputType, mutations],\n resolversConfig: {\n // Use custom scopes for the upload file CRUD operations\n 'Query.uploadFiles': { auth: { scope: 'plugin::upload.content-api.find' } },\n 'Query.uploadFiles_connection': { auth: { scope: 'plugin::upload.content-api.find' } },\n 'Query.uploadFile': { auth: { scope: 'plugin::upload.content-api.findOne' } },\n 'Mutation.updateUploadFile': { auth: { scope: 'plugin::upload.content-api.upload' } },\n 'Mutation.deleteUploadFile': { auth: { scope: 'plugin::upload.content-api.destroy' } },\n },\n };\n });\n};\n"],"names":["FILE_MODEL_UID"],"mappings":";;;AAIA,MAAM,4BAA4B;AAE3B,MAAM,0BAA0B,CAAC,EAAE,aAAsC;AACxE,QAAA,EAAE,SAAS,mBAAmB,QAAQ,kBAAkB,OAAO,OAAO,SAAS;AACrF,QAAM,EAAE,SAAS,iBAAA,IAAqB,OAAO,OAAO,QAAQ;AAEtD,QAAA,sBAAsB,cAAc,cAAc,IAAI;AAE5D,MAAI,CAAC,qBAAqB;AACxB;AAAA,EACF;AAEA,oBAAkB,WAAW,EAAE,WAAW,uBAAuB,EAAE,QAAQ;AAC3E,oBAAkB,WAAW,EAAE,WAAW,qBAAqB,EAAE,iBAAiB;AAElF,QAAM,EAAE,YAAgB,IAAA,kBAAkB,OAAO,EAAE;AAE7C,QAAA,YAAY,OAAO,SAASA,MAAc,cAAA;AAC1C,QAAA,eAAe,YAAY,SAAS;AAI1C,oBAAkB,WAAW,EAAE,IAAI,CAAC,EAAE,YAA4B;AAChE,UAAM,EAAE,iBAAiB,YAAY,QAAA,IAAY;AAGjD,UAAM,oBAAoB,gBAAgB;AAAA,MACxC,MAAM;AAAA,MAEN,WAAW,GAAQ;AACjB,UAAE,OAAO,MAAM;AACf,UAAE,OAAO,iBAAiB;AAC1B,UAAE,OAAO,SAAS;AAAA,MACpB;AAAA,IAAA,CACD;AAED,UAAM,YAAY,WAAW;AAAA,MAC3B,MAAM;AAAA,MAEN,WAAW,GAAQ;AAIjB,UAAE,MAAM,oBAAoB;AAAA,UAC1B,MAAM,QAAQ,YAAY;AAAA,UAE1B,MAAM;AAAA,YACJ,IAAI,QAAQ,IAAI;AAAA,YAChB,MAAM;AAAA,UACR;AAAA,UAEA,MAAM,QAAQ,QAAiB,MAAiC;AACxD,kBAAA,EAAE,IAAI,KAAS,IAAA;AAErB,mBAAO,iBAAiB,QAAQ,EAAE,eAAe,IAAI,IAAI;AAAA,UAC3D;AAAA,QAAA,CACD;AAKD,UAAE,MAAM,oBAAoB;AAAA,UAC1B,MAAM;AAAA,UAEN,MAAM;AAAA,YACJ,IAAI,QAAQ,IAAI;AAAA,UAClB;AAAA,UAEA,MAAM,QAAQ,QAAiB,MAAsB;AAC7C,kBAAA,EAAE,GAAO,IAAA;AAEf,kBAAM,OAAO,MAAM,iBAAiB,QAAQ,EAAE,QAAQ,EAAE;AAExD,gBAAI,CAAC,MAAM;AACF,qBAAA;AAAA,YACT;AAEA,mBAAO,iBAAiB,QAAQ,EAAE,OAAO,IAAI;AAAA,UAC/C;AAAA,QAAA,CACD;AAAA,MACH;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,MACL,OAAO,CAAC,mBAAmB,SAAS;AAAA,MACpC,iBAAiB;AAAA;AAAA,QAEf,qBAAqB,EAAE,MAAM,EAAE,OAAO,oCAAoC;AAAA,QAC1E,gCAAgC,EAAE,MAAM,EAAE,OAAO,oCAAoC;AAAA,QACrF,oBAAoB,EAAE,MAAM,EAAE,OAAO,uCAAuC;AAAA,QAC5E,6BAA6B,EAAE,MAAM,EAAE,OAAO,sCAAsC;AAAA,QACpF,6BAA6B,EAAE,MAAM,EAAE,OAAO,uCAAuC;AAAA,MACvF;AAAA,IAAA;AAAA,EACF,CACD;AACH;;"}
@@ -1,4 +1,4 @@
1
- import { F as FILE_MODEL_UID } from "./index-BTrpl94p.mjs";
1
+ import { F as FILE_MODEL_UID } from "./index-aW1eiyyQ.mjs";
2
2
  const FILE_INFO_INPUT_TYPE_NAME = "FileInfoInput";
3
3
  const installGraphqlExtension = ({ strapi }) => {
4
4
  const { service: getGraphQLService, config: graphQLConfig } = strapi.plugin("graphql");
@@ -68,4 +68,4 @@ const installGraphqlExtension = ({ strapi }) => {
68
68
  export {
69
69
  installGraphqlExtension
70
70
  };
71
- //# sourceMappingURL=graphql-edcz_5zt.mjs.map
71
+ //# sourceMappingURL=graphql-_gnSn8ak.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-edcz_5zt.mjs","sources":["../../server/src/graphql.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { FILE_MODEL_UID } from './constants';\n\nconst FILE_INFO_INPUT_TYPE_NAME = 'FileInfoInput';\n\nexport const installGraphqlExtension = ({ strapi }: { strapi: Core.Strapi }) => {\n const { service: getGraphQLService, config: graphQLConfig } = strapi.plugin('graphql');\n const { service: getUploadService } = strapi.plugin('upload');\n\n const isShadowCRUDEnabled = graphQLConfig('shadowCRUD', true);\n\n if (!isShadowCRUDEnabled) {\n return;\n }\n\n getGraphQLService('extension').shadowCRUD('plugin::upload.folder').disable();\n getGraphQLService('extension').shadowCRUD('plugin::upload.file').disableMutations();\n\n const { getTypeName } = getGraphQLService('utils').naming;\n\n const fileModel = strapi.getModel(FILE_MODEL_UID);\n const fileTypeName = getTypeName(fileModel);\n /**\n * Register Upload's types, queries & mutations to the content API using the GraphQL extension API\n */\n getGraphQLService('extension').use(({ nexus }: { nexus: any }) => {\n const { inputObjectType, extendType, nonNull } = nexus;\n\n // Represents the input data payload for the file's information\n const fileInfoInputType = inputObjectType({\n name: FILE_INFO_INPUT_TYPE_NAME,\n\n definition(t: any) {\n t.string('name');\n t.string('alternativeText');\n t.string('caption');\n },\n });\n\n const mutations = extendType({\n type: 'Mutation',\n\n definition(t: any) {\n /**\n * Update some information for a given file\n */\n t.field('updateUploadFile', {\n type: nonNull(fileTypeName),\n\n args: {\n id: nonNull('ID'),\n info: FILE_INFO_INPUT_TYPE_NAME,\n },\n\n async resolve(parent: unknown, args: { id: number; info: any }) {\n const { id, info } = args;\n\n return getUploadService('upload').updateFileInfo(id, info);\n },\n });\n\n /**\n * Delete & remove a given file\n */\n t.field('deleteUploadFile', {\n type: fileTypeName,\n\n args: {\n id: nonNull('ID'),\n },\n\n async resolve(parent: unknown, args: { id: number }) {\n const { id } = args;\n\n const file = await getUploadService('upload').findOne(id);\n\n if (!file) {\n return null;\n }\n\n return getUploadService('upload').remove(file);\n },\n });\n },\n });\n\n return {\n types: [fileInfoInputType, mutations],\n resolversConfig: {\n // Use custom scopes for the upload file CRUD operations\n 'Query.uploadFiles': { auth: { scope: 'plugin::upload.content-api.find' } },\n 'Query.uploadFiles_connection': { auth: { scope: 'plugin::upload.content-api.find' } },\n 'Query.uploadFile': { auth: { scope: 'plugin::upload.content-api.findOne' } },\n 'Mutation.updateUploadFile': { auth: { scope: 'plugin::upload.content-api.upload' } },\n 'Mutation.deleteUploadFile': { auth: { scope: 'plugin::upload.content-api.destroy' } },\n },\n };\n });\n};\n"],"names":[],"mappings":";AAIA,MAAM,4BAA4B;AAE3B,MAAM,0BAA0B,CAAC,EAAE,aAAsC;AACxE,QAAA,EAAE,SAAS,mBAAmB,QAAQ,kBAAkB,OAAO,OAAO,SAAS;AACrF,QAAM,EAAE,SAAS,iBAAA,IAAqB,OAAO,OAAO,QAAQ;AAEtD,QAAA,sBAAsB,cAAc,cAAc,IAAI;AAE5D,MAAI,CAAC,qBAAqB;AACxB;AAAA,EACF;AAEA,oBAAkB,WAAW,EAAE,WAAW,uBAAuB,EAAE,QAAQ;AAC3E,oBAAkB,WAAW,EAAE,WAAW,qBAAqB,EAAE,iBAAiB;AAElF,QAAM,EAAE,YAAgB,IAAA,kBAAkB,OAAO,EAAE;AAE7C,QAAA,YAAY,OAAO,SAAS,cAAc;AAC1C,QAAA,eAAe,YAAY,SAAS;AAI1C,oBAAkB,WAAW,EAAE,IAAI,CAAC,EAAE,YAA4B;AAChE,UAAM,EAAE,iBAAiB,YAAY,QAAA,IAAY;AAGjD,UAAM,oBAAoB,gBAAgB;AAAA,MACxC,MAAM;AAAA,MAEN,WAAW,GAAQ;AACjB,UAAE,OAAO,MAAM;AACf,UAAE,OAAO,iBAAiB;AAC1B,UAAE,OAAO,SAAS;AAAA,MACpB;AAAA,IAAA,CACD;AAED,UAAM,YAAY,WAAW;AAAA,MAC3B,MAAM;AAAA,MAEN,WAAW,GAAQ;AAIjB,UAAE,MAAM,oBAAoB;AAAA,UAC1B,MAAM,QAAQ,YAAY;AAAA,UAE1B,MAAM;AAAA,YACJ,IAAI,QAAQ,IAAI;AAAA,YAChB,MAAM;AAAA,UACR;AAAA,UAEA,MAAM,QAAQ,QAAiB,MAAiC;AACxD,kBAAA,EAAE,IAAI,KAAS,IAAA;AAErB,mBAAO,iBAAiB,QAAQ,EAAE,eAAe,IAAI,IAAI;AAAA,UAC3D;AAAA,QAAA,CACD;AAKD,UAAE,MAAM,oBAAoB;AAAA,UAC1B,MAAM;AAAA,UAEN,MAAM;AAAA,YACJ,IAAI,QAAQ,IAAI;AAAA,UAClB;AAAA,UAEA,MAAM,QAAQ,QAAiB,MAAsB;AAC7C,kBAAA,EAAE,GAAO,IAAA;AAEf,kBAAM,OAAO,MAAM,iBAAiB,QAAQ,EAAE,QAAQ,EAAE;AAExD,gBAAI,CAAC,MAAM;AACF,qBAAA;AAAA,YACT;AAEA,mBAAO,iBAAiB,QAAQ,EAAE,OAAO,IAAI;AAAA,UAC/C;AAAA,QAAA,CACD;AAAA,MACH;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,MACL,OAAO,CAAC,mBAAmB,SAAS;AAAA,MACpC,iBAAiB;AAAA;AAAA,QAEf,qBAAqB,EAAE,MAAM,EAAE,OAAO,oCAAoC;AAAA,QAC1E,gCAAgC,EAAE,MAAM,EAAE,OAAO,oCAAoC;AAAA,QACrF,oBAAoB,EAAE,MAAM,EAAE,OAAO,uCAAuC;AAAA,QAC5E,6BAA6B,EAAE,MAAM,EAAE,OAAO,sCAAsC;AAAA,QACpF,6BAA6B,EAAE,MAAM,EAAE,OAAO,uCAAuC;AAAA,MACvF;AAAA,IAAA;AAAA,EACF,CACD;AACH;"}
1
+ {"version":3,"file":"graphql-_gnSn8ak.mjs","sources":["../../server/src/graphql.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { FILE_MODEL_UID } from './constants';\n\nconst FILE_INFO_INPUT_TYPE_NAME = 'FileInfoInput';\n\nexport const installGraphqlExtension = ({ strapi }: { strapi: Core.Strapi }) => {\n const { service: getGraphQLService, config: graphQLConfig } = strapi.plugin('graphql');\n const { service: getUploadService } = strapi.plugin('upload');\n\n const isShadowCRUDEnabled = graphQLConfig('shadowCRUD', true);\n\n if (!isShadowCRUDEnabled) {\n return;\n }\n\n getGraphQLService('extension').shadowCRUD('plugin::upload.folder').disable();\n getGraphQLService('extension').shadowCRUD('plugin::upload.file').disableMutations();\n\n const { getTypeName } = getGraphQLService('utils').naming;\n\n const fileModel = strapi.getModel(FILE_MODEL_UID);\n const fileTypeName = getTypeName(fileModel);\n /**\n * Register Upload's types, queries & mutations to the content API using the GraphQL extension API\n */\n getGraphQLService('extension').use(({ nexus }: { nexus: any }) => {\n const { inputObjectType, extendType, nonNull } = nexus;\n\n // Represents the input data payload for the file's information\n const fileInfoInputType = inputObjectType({\n name: FILE_INFO_INPUT_TYPE_NAME,\n\n definition(t: any) {\n t.string('name');\n t.string('alternativeText');\n t.string('caption');\n },\n });\n\n const mutations = extendType({\n type: 'Mutation',\n\n definition(t: any) {\n /**\n * Update some information for a given file\n */\n t.field('updateUploadFile', {\n type: nonNull(fileTypeName),\n\n args: {\n id: nonNull('ID'),\n info: FILE_INFO_INPUT_TYPE_NAME,\n },\n\n async resolve(parent: unknown, args: { id: number; info: any }) {\n const { id, info } = args;\n\n return getUploadService('upload').updateFileInfo(id, info);\n },\n });\n\n /**\n * Delete & remove a given file\n */\n t.field('deleteUploadFile', {\n type: fileTypeName,\n\n args: {\n id: nonNull('ID'),\n },\n\n async resolve(parent: unknown, args: { id: number }) {\n const { id } = args;\n\n const file = await getUploadService('upload').findOne(id);\n\n if (!file) {\n return null;\n }\n\n return getUploadService('upload').remove(file);\n },\n });\n },\n });\n\n return {\n types: [fileInfoInputType, mutations],\n resolversConfig: {\n // Use custom scopes for the upload file CRUD operations\n 'Query.uploadFiles': { auth: { scope: 'plugin::upload.content-api.find' } },\n 'Query.uploadFiles_connection': { auth: { scope: 'plugin::upload.content-api.find' } },\n 'Query.uploadFile': { auth: { scope: 'plugin::upload.content-api.findOne' } },\n 'Mutation.updateUploadFile': { auth: { scope: 'plugin::upload.content-api.upload' } },\n 'Mutation.deleteUploadFile': { auth: { scope: 'plugin::upload.content-api.destroy' } },\n },\n };\n });\n};\n"],"names":[],"mappings":";AAIA,MAAM,4BAA4B;AAE3B,MAAM,0BAA0B,CAAC,EAAE,aAAsC;AACxE,QAAA,EAAE,SAAS,mBAAmB,QAAQ,kBAAkB,OAAO,OAAO,SAAS;AACrF,QAAM,EAAE,SAAS,iBAAA,IAAqB,OAAO,OAAO,QAAQ;AAEtD,QAAA,sBAAsB,cAAc,cAAc,IAAI;AAE5D,MAAI,CAAC,qBAAqB;AACxB;AAAA,EACF;AAEA,oBAAkB,WAAW,EAAE,WAAW,uBAAuB,EAAE,QAAQ;AAC3E,oBAAkB,WAAW,EAAE,WAAW,qBAAqB,EAAE,iBAAiB;AAElF,QAAM,EAAE,YAAgB,IAAA,kBAAkB,OAAO,EAAE;AAE7C,QAAA,YAAY,OAAO,SAAS,cAAc;AAC1C,QAAA,eAAe,YAAY,SAAS;AAI1C,oBAAkB,WAAW,EAAE,IAAI,CAAC,EAAE,YAA4B;AAChE,UAAM,EAAE,iBAAiB,YAAY,QAAA,IAAY;AAGjD,UAAM,oBAAoB,gBAAgB;AAAA,MACxC,MAAM;AAAA,MAEN,WAAW,GAAQ;AACjB,UAAE,OAAO,MAAM;AACf,UAAE,OAAO,iBAAiB;AAC1B,UAAE,OAAO,SAAS;AAAA,MACpB;AAAA,IAAA,CACD;AAED,UAAM,YAAY,WAAW;AAAA,MAC3B,MAAM;AAAA,MAEN,WAAW,GAAQ;AAIjB,UAAE,MAAM,oBAAoB;AAAA,UAC1B,MAAM,QAAQ,YAAY;AAAA,UAE1B,MAAM;AAAA,YACJ,IAAI,QAAQ,IAAI;AAAA,YAChB,MAAM;AAAA,UACR;AAAA,UAEA,MAAM,QAAQ,QAAiB,MAAiC;AACxD,kBAAA,EAAE,IAAI,KAAS,IAAA;AAErB,mBAAO,iBAAiB,QAAQ,EAAE,eAAe,IAAI,IAAI;AAAA,UAC3D;AAAA,QAAA,CACD;AAKD,UAAE,MAAM,oBAAoB;AAAA,UAC1B,MAAM;AAAA,UAEN,MAAM;AAAA,YACJ,IAAI,QAAQ,IAAI;AAAA,UAClB;AAAA,UAEA,MAAM,QAAQ,QAAiB,MAAsB;AAC7C,kBAAA,EAAE,GAAO,IAAA;AAEf,kBAAM,OAAO,MAAM,iBAAiB,QAAQ,EAAE,QAAQ,EAAE;AAExD,gBAAI,CAAC,MAAM;AACF,qBAAA;AAAA,YACT;AAEA,mBAAO,iBAAiB,QAAQ,EAAE,OAAO,IAAI;AAAA,UAC/C;AAAA,QAAA,CACD;AAAA,MACH;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,MACL,OAAO,CAAC,mBAAmB,SAAS;AAAA,MACpC,iBAAiB;AAAA;AAAA,QAEf,qBAAqB,EAAE,MAAM,EAAE,OAAO,oCAAoC;AAAA,QAC1E,gCAAgC,EAAE,MAAM,EAAE,OAAO,oCAAoC;AAAA,QACrF,oBAAoB,EAAE,MAAM,EAAE,OAAO,uCAAuC;AAAA,QAC5E,6BAA6B,EAAE,MAAM,EAAE,OAAO,sCAAsC;AAAA,QACpF,6BAA6B,EAAE,MAAM,EAAE,OAAO,uCAAuC;AAAA,MACvF;AAAA,IAAA;AAAA,EACF,CACD;AACH;"}
@@ -1,12 +1,12 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import React__default, { useReducer } from "react";
3
3
  import { useNotification, useFetchClient, Page, Layouts } from "@strapi/admin/strapi-admin";
4
- import { Button, Flex, Box, Typography, Grid, GridItem, Field, Toggle } from "@strapi/design-system";
4
+ import { Button, Flex, Box, Typography, Grid, Field, Toggle } from "@strapi/design-system";
5
5
  import { Check } from "@strapi/icons";
6
6
  import isEqual from "lodash/isEqual";
7
7
  import { useIntl } from "react-intl";
8
8
  import { useQuery, useMutation } from "react-query";
9
- import { g as getTrad, P as PERMISSIONS } from "./index-DmPsR26u.mjs";
9
+ import { g as getTrad, P as PERMISSIONS } from "./index-DF-F15Un.mjs";
10
10
  import "byte-size";
11
11
  import "date-fns";
12
12
  import "qs";
@@ -140,8 +140,8 @@ const SettingsPage = () => {
140
140
  id: getTrad("settings.blockTitle"),
141
141
  defaultMessage: "Asset management"
142
142
  }) }) }),
143
- /* @__PURE__ */ jsxs(Grid, { gap: 6, children: [
144
- /* @__PURE__ */ jsx(GridItem, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(
143
+ /* @__PURE__ */ jsxs(Grid.Root, { gap: 6, children: [
144
+ /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(
145
145
  Field.Root,
146
146
  {
147
147
  hint: formatMessage({
@@ -177,7 +177,7 @@ const SettingsPage = () => {
177
177
  ]
178
178
  }
179
179
  ) }),
180
- /* @__PURE__ */ jsx(GridItem, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(
180
+ /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(
181
181
  Field.Root,
182
182
  {
183
183
  hint: formatMessage({
@@ -213,7 +213,7 @@ const SettingsPage = () => {
213
213
  ]
214
214
  }
215
215
  ) }),
216
- /* @__PURE__ */ jsx(GridItem, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(
216
+ /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(
217
217
  Field.Root,
218
218
  {
219
219
  hint: formatMessage({
@@ -259,4 +259,4 @@ export {
259
259
  SettingsPage,
260
260
  ProtectedSettingsPage as default
261
261
  };
262
- //# sourceMappingURL=index-4iUTOybK.mjs.map
262
+ //# sourceMappingURL=index-B2H0mT-4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B2H0mT-4.mjs","sources":["../../admin/src/pages/SettingsPage/init.js","../../admin/src/pages/SettingsPage/reducer.js","../../admin/src/pages/SettingsPage/index.jsx"],"sourcesContent":["const init = (initialState) => {\n return initialState;\n};\n\nexport default init;\n","import { produce } from 'immer';\nimport set from 'lodash/set';\n\nconst initialState = {\n initialData: {\n responsiveDimensions: true,\n sizeOptimization: true,\n autoOrientation: false,\n videoPreview: false,\n },\n modifiedData: {\n responsiveDimensions: true,\n sizeOptimization: true,\n autoOrientation: false,\n videoPreview: false,\n },\n};\n\nconst reducer = (state, action) =>\n // eslint-disable-next-line consistent-return\n produce(state, (drafState) => {\n switch (action.type) {\n case 'GET_DATA_SUCCEEDED': {\n drafState.initialData = action.data;\n drafState.modifiedData = action.data;\n break;\n }\n case 'ON_CHANGE': {\n set(drafState, ['modifiedData', ...action.keys.split('.')], action.value);\n break;\n }\n default:\n return state;\n }\n });\n\nexport default reducer;\nexport { initialState };\n","import React, { useReducer } from 'react';\n\nimport { Page, useNotification, useFetchClient, Layouts } from '@strapi/admin/strapi-admin';\nimport { Box, Button, Flex, Grid, Toggle, Typography, Field } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport init from './init';\nimport reducer, { initialState } from './reducer';\n\nexport const SettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { get, put } = useFetchClient();\n\n const [{ initialData, modifiedData }, dispatch] = useReducer(reducer, initialState, init);\n\n const { data, isLoading, refetch } = useQuery({\n queryKey: ['upload', 'settings'],\n async queryFn() {\n const {\n data: { data },\n } = await get('/upload/settings');\n\n return data;\n },\n });\n\n React.useEffect(() => {\n if (data) {\n dispatch({\n type: 'GET_DATA_SUCCEEDED',\n data,\n });\n }\n }, [data]);\n\n const isSaveButtonDisabled = isEqual(initialData, modifiedData);\n\n const { mutateAsync, isLoading: isSubmiting } = useMutation({\n async mutationFn(body) {\n return put('/upload/settings', body);\n },\n onSuccess() {\n refetch();\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.form.success.fields' }),\n });\n },\n onError(err) {\n console.error(err);\n },\n });\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSaveButtonDisabled) {\n return;\n }\n\n await mutateAsync(modifiedData);\n };\n\n const handleChange = ({ target: { name, value } }) => {\n dispatch({\n type: 'ON_CHANGE',\n keys: name,\n value,\n });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main tabIndex={-1}>\n <Page.Title>\n {formatMessage({\n id: getTrad('page.title'),\n defaultMessage: 'Settings - Media Libray',\n })}\n </Page.Title>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('settings.header.label'),\n defaultMessage: 'Media Library',\n })}\n primaryAction={\n <Button\n disabled={isSaveButtonDisabled}\n loading={isSubmiting}\n type=\"submit\"\n startIcon={<Check />}\n size=\"S\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('settings.sub-header.label'),\n defaultMessage: 'Configure the settings for the Media Library',\n })}\n />\n <Layouts.Content>\n <Layouts.Root>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={12}>\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTrad('settings.blockTitle'),\n defaultMessage: 'Asset management',\n })}\n </Typography>\n </Flex>\n <Grid.Root gap={6}>\n <Grid.Item col={6} s={12}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('settings.form.responsiveDimensions.description'),\n defaultMessage:\n 'Enabling this option will generate multiple formats (small, medium and large) of the uploaded asset.',\n })}\n name=\"responsiveDimensions\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('settings.form.responsiveDimensions.label'),\n defaultMessage: 'Responsive friendly upload',\n })}\n </Field.Label>\n <Toggle\n checked={modifiedData.responsiveDimensions}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'Off',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'On',\n })}\n onChange={(e) => {\n handleChange({\n target: { name: 'responsiveDimensions', value: e.target.checked },\n });\n }}\n />\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6} s={12}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('settings.form.sizeOptimization.description'),\n defaultMessage:\n 'Enabling this option will reduce the image size and slightly reduce its quality.',\n })}\n name=\"sizeOptimization\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('settings.form.sizeOptimization.label'),\n defaultMessage: 'Size optimization',\n })}\n </Field.Label>\n <Toggle\n checked={modifiedData.sizeOptimization}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'Off',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'On',\n })}\n onChange={(e) => {\n handleChange({\n target: { name: 'sizeOptimization', value: e.target.checked },\n });\n }}\n />\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6} s={12}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('settings.form.autoOrientation.description'),\n defaultMessage:\n 'Enabling this option will automatically rotate the image according to EXIF orientation tag.',\n })}\n name=\"autoOrientation\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('settings.form.autoOrientation.label'),\n defaultMessage: 'Auto orientation',\n })}\n </Field.Label>\n <Toggle\n checked={modifiedData.autoOrientation}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'Off',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'On',\n })}\n onChange={(e) => {\n handleChange({\n target: { name: 'autoOrientation', value: e.target.checked },\n });\n }}\n />\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n </Flex>\n </Layouts.Root>\n </Layouts.Content>\n </form>\n </Page.Main>\n );\n};\n\nconst ProtectedSettingsPage = () => (\n <Page.Protect permissions={PERMISSIONS.settings}>\n <SettingsPage />\n </Page.Protect>\n);\n\nexport default ProtectedSettingsPage;\n"],"names":["initialState","data","React"],"mappings":"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"}
@@ -9,7 +9,7 @@ const isEqual = require("lodash/isEqual");
9
9
  const PropTypes = require("prop-types");
10
10
  const reactIntl = require("react-intl");
11
11
  const reactRouterDom = require("react-router-dom");
12
- const index = require("./index-DLpj5yNr.js");
12
+ const index = require("./index-By7J3KhK.js");
13
13
  const immer = require("immer");
14
14
  const get = require("lodash/get");
15
15
  const set = require("lodash/set");
@@ -30,8 +30,8 @@ const Settings = ({ sort = "", pageSize = 10, onChange: onChange2 }) => {
30
30
  paddingBottom: 6,
31
31
  paddingLeft: 7,
32
32
  paddingRight: 7,
33
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { gap: 4, children: [
34
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { s: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(
33
+ children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Root, { gap: 4, children: [
34
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { s: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(
35
35
  designSystem.Field.Root,
36
36
  {
37
37
  hint: formatMessage({
@@ -56,7 +56,7 @@ const Settings = ({ sort = "", pageSize = 10, onChange: onChange2 }) => {
56
56
  ]
57
57
  }
58
58
  ) }),
59
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { s: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(
59
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { s: 12, col: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(
60
60
  designSystem.Field.Root,
61
61
  {
62
62
  hint: formatMessage({
@@ -157,7 +157,7 @@ const ConfigureTheView = ({ config }) => {
157
157
  const handleConfirm = async () => {
158
158
  trackUsage("willEditMediaLibraryConfig");
159
159
  await mutateConfig.mutateAsync(modifiedData);
160
- toggleWarningSubmit();
160
+ setWarningSubmit(false);
161
161
  dispatch(setLoaded());
162
162
  toggleNotification({
163
163
  type: "success",
@@ -213,19 +213,10 @@ const ConfigureTheView = ({ config }) => {
213
213
  onChange: handleChange
214
214
  }
215
215
  ) }),
216
- /* @__PURE__ */ jsxRuntime.jsx(
217
- strapiAdmin.ConfirmDialog,
218
- {
219
- isOpen: showWarningSubmit,
220
- onClose: toggleWarningSubmit,
221
- onConfirm: handleConfirm,
222
- variant: "success-light",
223
- children: formatMessage({
224
- id: index.getTrad("config.popUpWarning.warning.updateAllSettings"),
225
- defaultMessage: "This will modify all your settings"
226
- })
227
- }
228
- )
216
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Root, { open: showWarningSubmit, onOpenChange: toggleWarningSubmit, children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleConfirm, variant: "default", children: formatMessage({
217
+ id: index.getTrad("config.popUpWarning.warning.updateAllSettings"),
218
+ defaultMessage: "This will modify all your settings"
219
+ }) }) })
229
220
  ] }) }) });
230
221
  };
231
222
  ConfigureTheView.propTypes = {
@@ -235,4 +226,4 @@ ConfigureTheView.propTypes = {
235
226
  }).isRequired
236
227
  };
237
228
  exports.default = ConfigureTheView;
238
- //# sourceMappingURL=index-XL3Mrkqq.js.map
229
+ //# sourceMappingURL=index-B31omlmq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B31omlmq.js","sources":["../../admin/src/pages/App/ConfigureTheView/components/Settings.jsx","../../admin/src/pages/App/ConfigureTheView/state/actionTypes.js","../../admin/src/pages/App/ConfigureTheView/state/actions.js","../../admin/src/pages/App/ConfigureTheView/state/init.js","../../admin/src/pages/App/ConfigureTheView/state/reducer.js","../../admin/src/pages/App/ConfigureTheView/index.jsx"],"sourcesContent":["import React from 'react';\n\nimport { Box, Grid, SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { pageSizes, sortOptions } from '../../../../constants';\nimport getTrad from '../../../../utils/getTrad';\n\nconst Settings = ({ sort = '', pageSize = 10, onChange }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Grid.Root gap={4}>\n <Grid.Item s={12} col={6}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('config.entries.note'),\n defaultMessage: 'Number of assets displayed by default in the Media Library',\n })}\n name=\"pageSize\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('config.entries.title'),\n defaultMessage: 'Entries per page',\n })}\n </Field.Label>\n <SingleSelect\n onChange={(value) => onChange({ target: { name: 'pageSize', value } })}\n value={pageSize}\n >\n {pageSizes.map((pageSize) => (\n <SingleSelectOption key={pageSize} value={pageSize}>\n {pageSize}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n <Grid.Item s={12} col={6}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('config.note'),\n defaultMessage: 'Note: You can override this value in the media library.',\n })}\n name=\"sort\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('config.sort.title'),\n defaultMessage: 'Default sort order',\n })}\n </Field.Label>\n <SingleSelect\n onChange={(value) => onChange({ target: { name: 'sort', value } })}\n value={sort}\n test-sort={sort}\n data-testid=\"sort-select\"\n >\n {sortOptions.map((filter) => (\n <SingleSelectOption\n data-testid={`sort-option-${filter.value}`}\n key={filter.key}\n value={filter.value}\n >\n {formatMessage({ id: getTrad(filter.key), defaultMessage: `${filter.value}` })}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Box>\n );\n};\n\nSettings.propTypes = {\n sort: PropTypes.string.isRequired,\n pageSize: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport { Settings };\n","import pluginId from '../../../../pluginId';\n\nexport const ON_CHANGE = `${pluginId}/ON_CHANGE`;\nexport const SET_LOADED = `${pluginId}/SET_LOADED`;\n","import { ON_CHANGE, SET_LOADED } from './actionTypes';\n\nexport const onChange = ({ name, value }) => ({\n type: ON_CHANGE,\n keys: name,\n value,\n});\n\nexport const setLoaded = () => ({\n type: SET_LOADED,\n});\n","const initialState = {\n initialData: {},\n modifiedData: {},\n};\n\nconst init = (configData) => {\n return {\n ...initialState,\n initialData: configData,\n modifiedData: configData,\n };\n};\nexport { init, initialState };\n","import { produce } from 'immer'; // current\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\nimport { ON_CHANGE, SET_LOADED } from './actionTypes';\nimport { init, initialState } from './init';\n\nconst reducer = (state = initialState, action) =>\n // eslint-disable-next-line consistent-return\n produce(state, (draftState) => {\n switch (action.type) {\n case ON_CHANGE: {\n set(draftState, ['modifiedData', ...action.keys.split('.')], action.value);\n break;\n }\n case SET_LOADED: {\n // This action re-initialises the state using the current modifiedData.\n const reInitialise = init(get(draftState, ['modifiedData'], {}));\n draftState.initialData = reInitialise.initialData;\n draftState.modifiedData = reInitialise.modifiedData;\n break;\n }\n default:\n return draftState;\n }\n });\n\nexport default reducer;\n","import React, { useReducer, useState } from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useConfig } from '../../../hooks/useConfig';\nimport pluginID from '../../../pluginId';\nimport getTrad from '../../../utils/getTrad';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport reducer from './state/reducer';\n\nconst ConfigureTheView = ({ config }) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { mutateConfig } = useConfig();\n const { isLoading: isSubmittingForm } = mutateConfig;\n\n const [showWarningSubmit, setWarningSubmit] = useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = useReducer(reducer, initialState, () => init(config));\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData);\n setWarningSubmit(false);\n dispatch(setLoaded());\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.form.success.fields',\n defaultMessage: 'Changes saved',\n }),\n });\n };\n\n const handleChange = ({ target: { name, value } }) => {\n dispatch(onChange({ name, value }));\n };\n\n return (\n <Layouts.Root>\n <Page.Main aria-busy={isSubmittingForm}>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n navigationAction={\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`/plugins/${pluginID}`}\n id=\"go-back\"\n >\n {formatMessage({ id: getTrad('config.back'), defaultMessage: 'Back' })}\n </Link>\n }\n primaryAction={\n <Button\n size=\"S\"\n startIcon={<Check />}\n disabled={isEqual(modifiedData, initialData)}\n type=\"submit\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('config.subtitle'),\n defaultMessage: 'Define the view settings of the media library.',\n })}\n title={formatMessage({\n id: getTrad('config.title'),\n defaultMessage: 'Configure the view - Media Library',\n })}\n />\n\n <Layouts.Content>\n <Settings\n data-testid=\"settings\"\n pageSize={modifiedData.pageSize || ''}\n sort={modifiedData.sort || ''}\n onChange={handleChange}\n />\n </Layouts.Content>\n\n <Dialog.Root open={showWarningSubmit} onOpenChange={toggleWarningSubmit}>\n <ConfirmDialog onConfirm={handleConfirm} variant=\"default\">\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nConfigureTheView.propTypes = {\n config: PropTypes.shape({\n pageSize: PropTypes.number,\n sort: PropTypes.string,\n }).isRequired,\n};\n\nexport default ConfigureTheView;\n"],"names":["onChange","useIntl","jsx","Box","jsxs","Grid","Field","getTrad","SingleSelect","pageSizes","pageSize","SingleSelectOption","sortOptions","PropTypes","pluginId","produce","set","get","useTracking","useNotification","useConfig","useState","useReducer","Layouts","Page","Link","NavLink","ArrowLeft","pluginID","Button","Check","isEqual","Dialog","ConfirmDialog"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useState, useReducer } from "react";
3
3
  import { useTracking, useNotification, Layouts, Page, ConfirmDialog } from "@strapi/admin/strapi-admin";
4
- import { Box, Grid, GridItem, Field, SingleSelect, SingleSelectOption, Link, Button } from "@strapi/design-system";
4
+ import { Box, Grid, Field, SingleSelect, SingleSelectOption, Link, Button, Dialog } from "@strapi/design-system";
5
5
  import { ArrowLeft, Check } from "@strapi/icons";
6
6
  import isEqual from "lodash/isEqual";
7
7
  import PropTypes from "prop-types";
8
8
  import { useIntl } from "react-intl";
9
9
  import { NavLink } from "react-router-dom";
10
- import { g as getTrad, H as pageSizes, I as sortOptions, p as pluginId, G as useConfig } from "./index-DmPsR26u.mjs";
10
+ import { g as getTrad, H as pageSizes, I as sortOptions, p as pluginId, G as useConfig } from "./index-DF-F15Un.mjs";
11
11
  import { produce } from "immer";
12
12
  import get from "lodash/get";
13
13
  import set from "lodash/set";
@@ -23,8 +23,8 @@ const Settings = ({ sort = "", pageSize = 10, onChange: onChange2 }) => {
23
23
  paddingBottom: 6,
24
24
  paddingLeft: 7,
25
25
  paddingRight: 7,
26
- children: /* @__PURE__ */ jsxs(Grid, { gap: 4, children: [
27
- /* @__PURE__ */ jsx(GridItem, { s: 12, col: 6, children: /* @__PURE__ */ jsxs(
26
+ children: /* @__PURE__ */ jsxs(Grid.Root, { gap: 4, children: [
27
+ /* @__PURE__ */ jsx(Grid.Item, { s: 12, col: 6, children: /* @__PURE__ */ jsxs(
28
28
  Field.Root,
29
29
  {
30
30
  hint: formatMessage({
@@ -49,7 +49,7 @@ const Settings = ({ sort = "", pageSize = 10, onChange: onChange2 }) => {
49
49
  ]
50
50
  }
51
51
  ) }),
52
- /* @__PURE__ */ jsx(GridItem, { s: 12, col: 6, children: /* @__PURE__ */ jsxs(
52
+ /* @__PURE__ */ jsx(Grid.Item, { s: 12, col: 6, children: /* @__PURE__ */ jsxs(
53
53
  Field.Root,
54
54
  {
55
55
  hint: formatMessage({
@@ -150,7 +150,7 @@ const ConfigureTheView = ({ config }) => {
150
150
  const handleConfirm = async () => {
151
151
  trackUsage("willEditMediaLibraryConfig");
152
152
  await mutateConfig.mutateAsync(modifiedData);
153
- toggleWarningSubmit();
153
+ setWarningSubmit(false);
154
154
  dispatch(setLoaded());
155
155
  toggleNotification({
156
156
  type: "success",
@@ -206,19 +206,10 @@ const ConfigureTheView = ({ config }) => {
206
206
  onChange: handleChange
207
207
  }
208
208
  ) }),
209
- /* @__PURE__ */ jsx(
210
- ConfirmDialog,
211
- {
212
- isOpen: showWarningSubmit,
213
- onClose: toggleWarningSubmit,
214
- onConfirm: handleConfirm,
215
- variant: "success-light",
216
- children: formatMessage({
217
- id: getTrad("config.popUpWarning.warning.updateAllSettings"),
218
- defaultMessage: "This will modify all your settings"
219
- })
220
- }
221
- )
209
+ /* @__PURE__ */ jsx(Dialog.Root, { open: showWarningSubmit, onOpenChange: toggleWarningSubmit, children: /* @__PURE__ */ jsx(ConfirmDialog, { onConfirm: handleConfirm, variant: "default", children: formatMessage({
210
+ id: getTrad("config.popUpWarning.warning.updateAllSettings"),
211
+ defaultMessage: "This will modify all your settings"
212
+ }) }) })
222
213
  ] }) }) });
223
214
  };
224
215
  ConfigureTheView.propTypes = {
@@ -230,4 +221,4 @@ ConfigureTheView.propTypes = {
230
221
  export {
231
222
  ConfigureTheView as default
232
223
  };
233
- //# sourceMappingURL=index-BRMOG3M5.mjs.map
224
+ //# sourceMappingURL=index-BCY68yPX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BCY68yPX.mjs","sources":["../../admin/src/pages/App/ConfigureTheView/components/Settings.jsx","../../admin/src/pages/App/ConfigureTheView/state/actionTypes.js","../../admin/src/pages/App/ConfigureTheView/state/actions.js","../../admin/src/pages/App/ConfigureTheView/state/init.js","../../admin/src/pages/App/ConfigureTheView/state/reducer.js","../../admin/src/pages/App/ConfigureTheView/index.jsx"],"sourcesContent":["import React from 'react';\n\nimport { Box, Grid, SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { pageSizes, sortOptions } from '../../../../constants';\nimport getTrad from '../../../../utils/getTrad';\n\nconst Settings = ({ sort = '', pageSize = 10, onChange }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Grid.Root gap={4}>\n <Grid.Item s={12} col={6}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('config.entries.note'),\n defaultMessage: 'Number of assets displayed by default in the Media Library',\n })}\n name=\"pageSize\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('config.entries.title'),\n defaultMessage: 'Entries per page',\n })}\n </Field.Label>\n <SingleSelect\n onChange={(value) => onChange({ target: { name: 'pageSize', value } })}\n value={pageSize}\n >\n {pageSizes.map((pageSize) => (\n <SingleSelectOption key={pageSize} value={pageSize}>\n {pageSize}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n <Grid.Item s={12} col={6}>\n <Field.Root\n hint={formatMessage({\n id: getTrad('config.note'),\n defaultMessage: 'Note: You can override this value in the media library.',\n })}\n name=\"sort\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('config.sort.title'),\n defaultMessage: 'Default sort order',\n })}\n </Field.Label>\n <SingleSelect\n onChange={(value) => onChange({ target: { name: 'sort', value } })}\n value={sort}\n test-sort={sort}\n data-testid=\"sort-select\"\n >\n {sortOptions.map((filter) => (\n <SingleSelectOption\n data-testid={`sort-option-${filter.value}`}\n key={filter.key}\n value={filter.value}\n >\n {formatMessage({ id: getTrad(filter.key), defaultMessage: `${filter.value}` })}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Box>\n );\n};\n\nSettings.propTypes = {\n sort: PropTypes.string.isRequired,\n pageSize: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport { Settings };\n","import pluginId from '../../../../pluginId';\n\nexport const ON_CHANGE = `${pluginId}/ON_CHANGE`;\nexport const SET_LOADED = `${pluginId}/SET_LOADED`;\n","import { ON_CHANGE, SET_LOADED } from './actionTypes';\n\nexport const onChange = ({ name, value }) => ({\n type: ON_CHANGE,\n keys: name,\n value,\n});\n\nexport const setLoaded = () => ({\n type: SET_LOADED,\n});\n","const initialState = {\n initialData: {},\n modifiedData: {},\n};\n\nconst init = (configData) => {\n return {\n ...initialState,\n initialData: configData,\n modifiedData: configData,\n };\n};\nexport { init, initialState };\n","import { produce } from 'immer'; // current\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\nimport { ON_CHANGE, SET_LOADED } from './actionTypes';\nimport { init, initialState } from './init';\n\nconst reducer = (state = initialState, action) =>\n // eslint-disable-next-line consistent-return\n produce(state, (draftState) => {\n switch (action.type) {\n case ON_CHANGE: {\n set(draftState, ['modifiedData', ...action.keys.split('.')], action.value);\n break;\n }\n case SET_LOADED: {\n // This action re-initialises the state using the current modifiedData.\n const reInitialise = init(get(draftState, ['modifiedData'], {}));\n draftState.initialData = reInitialise.initialData;\n draftState.modifiedData = reInitialise.modifiedData;\n break;\n }\n default:\n return draftState;\n }\n });\n\nexport default reducer;\n","import React, { useReducer, useState } from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useConfig } from '../../../hooks/useConfig';\nimport pluginID from '../../../pluginId';\nimport getTrad from '../../../utils/getTrad';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport reducer from './state/reducer';\n\nconst ConfigureTheView = ({ config }) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { mutateConfig } = useConfig();\n const { isLoading: isSubmittingForm } = mutateConfig;\n\n const [showWarningSubmit, setWarningSubmit] = useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = useReducer(reducer, initialState, () => init(config));\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData);\n setWarningSubmit(false);\n dispatch(setLoaded());\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.form.success.fields',\n defaultMessage: 'Changes saved',\n }),\n });\n };\n\n const handleChange = ({ target: { name, value } }) => {\n dispatch(onChange({ name, value }));\n };\n\n return (\n <Layouts.Root>\n <Page.Main aria-busy={isSubmittingForm}>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n navigationAction={\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`/plugins/${pluginID}`}\n id=\"go-back\"\n >\n {formatMessage({ id: getTrad('config.back'), defaultMessage: 'Back' })}\n </Link>\n }\n primaryAction={\n <Button\n size=\"S\"\n startIcon={<Check />}\n disabled={isEqual(modifiedData, initialData)}\n type=\"submit\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('config.subtitle'),\n defaultMessage: 'Define the view settings of the media library.',\n })}\n title={formatMessage({\n id: getTrad('config.title'),\n defaultMessage: 'Configure the view - Media Library',\n })}\n />\n\n <Layouts.Content>\n <Settings\n data-testid=\"settings\"\n pageSize={modifiedData.pageSize || ''}\n sort={modifiedData.sort || ''}\n onChange={handleChange}\n />\n </Layouts.Content>\n\n <Dialog.Root open={showWarningSubmit} onOpenChange={toggleWarningSubmit}>\n <ConfirmDialog onConfirm={handleConfirm} variant=\"default\">\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nConfigureTheView.propTypes = {\n config: PropTypes.shape({\n pageSize: PropTypes.number,\n sort: PropTypes.string,\n }).isRequired,\n};\n\nexport default ConfigureTheView;\n"],"names":["onChange","pageSize","pluginID"],"mappings":";;;;;;;;;;;;;AASA,MAAM,WAAW,CAAC,EAAE,OAAO,IAAI,WAAW,IAAI,UAAAA,gBAAe;AACrD,QAAA,EAAE,kBAAkB;AAGxB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,WAAS;AAAA,MACT,QAAO;AAAA,MACP,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MAEd,UAAC,qBAAA,KAAK,MAAL,EAAU,KAAK,GACd,UAAA;AAAA,QAAA,oBAAC,KAAK,MAAL,EAAU,GAAG,IAAI,KAAK,GACrB,UAAA;AAAA,UAAC,MAAM;AAAA,UAAN;AAAA,YACC,MAAM,cAAc;AAAA,cAClB,IAAI,QAAQ,qBAAqB;AAAA,cACjC,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,MAAK;AAAA,YAEL,UAAA;AAAA,cAAC,oBAAA,MAAM,OAAN,EACE,UAAc,cAAA;AAAA,gBACb,IAAI,QAAQ,sBAAsB;AAAA,gBAClC,gBAAgB;AAAA,cACjB,CAAA,GACH;AAAA,cACA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,UAAU,CAAC,UAAUA,UAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,MAAM,GAAG;AAAA,kBACrE,OAAO;AAAA,kBAEN,UAAA,UAAU,IAAI,CAACC,cACd,oBAAC,oBAAkC,EAAA,OAAOA,WACvC,UAAAA,UADsBA,GAAAA,SAEzB,CACD;AAAA,gBAAA;AAAA,cACH;AAAA,cACA,oBAAC,MAAM,MAAN,EAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GAEhB;AAAA,4BACC,KAAK,MAAL,EAAU,GAAG,IAAI,KAAK,GACrB,UAAA;AAAA,UAAC,MAAM;AAAA,UAAN;AAAA,YACC,MAAM,cAAc;AAAA,cAClB,IAAI,QAAQ,aAAa;AAAA,cACzB,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,MAAK;AAAA,YAEL,UAAA;AAAA,cAAC,oBAAA,MAAM,OAAN,EACE,UAAc,cAAA;AAAA,gBACb,IAAI,QAAQ,mBAAmB;AAAA,gBAC/B,gBAAgB;AAAA,cACjB,CAAA,GACH;AAAA,cACA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,UAAU,CAAC,UAAUD,UAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,MAAM,GAAG;AAAA,kBACjE,OAAO;AAAA,kBACP,aAAW;AAAA,kBACX,eAAY;AAAA,kBAEX,UAAA,YAAY,IAAI,CAAC,WAChB;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,eAAa,eAAe,OAAO,KAAK;AAAA,sBAExC,OAAO,OAAO;AAAA,sBAEb,UAAc,cAAA,EAAE,IAAI,QAAQ,OAAO,GAAG,GAAG,gBAAgB,GAAG,OAAO,KAAK,GAAA,CAAI;AAAA,oBAAA;AAAA,oBAHxE,OAAO;AAAA,kBAAA,CAKf;AAAA,gBAAA;AAAA,cACH;AAAA,cACA,oBAAC,MAAM,MAAN,EAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GAEhB;AAAA,MAAA,GACF;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,SAAS,YAAY;AAAA,EACnB,MAAM,UAAU,OAAO;AAAA,EACvB,UAAU,UAAU,OAAO;AAAA,EAC3B,UAAU,UAAU,KAAK;AAC3B;AC1FO,MAAM,YAAY,GAAG,QAAQ;AAC7B,MAAM,aAAa,GAAG,QAAQ;ACD9B,MAAM,WAAW,CAAC,EAAE,MAAM,aAAa;AAAA,EAC5C,MAAM;AAAA,EACN,MAAM;AAAA,EACN;AACF;AAEO,MAAM,YAAY,OAAO;AAAA,EAC9B,MAAM;AACR;ACVA,MAAM,eAAe;AAAA,EACnB,aAAa,CAAE;AAAA,EACf,cAAc,CAAE;AAClB;AAEA,MAAM,OAAO,CAAC,eAAe;AAC3B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,aAAa;AAAA,IACb,cAAc;AAAA,EAClB;AACA;ACJA,MAAM,UAAU,CAAC,QAAQ,cAAc;AAAA;AAAA,EAErC,QAAQ,OAAO,CAAC,eAAe;AAC7B,YAAQ,OAAO,MAAI;AAAA,MACjB,KAAK,WAAW;AACd,YAAI,YAAY,CAAC,gBAAgB,GAAG,OAAO,KAAK,MAAM,GAAG,CAAC,GAAG,OAAO,KAAK;AACzE;AAAA,MACD;AAAA,MACD,KAAK,YAAY;AAEf,cAAM,eAAe,KAAK,IAAI,YAAY,CAAC,cAAc,GAAG,CAAE,CAAA,CAAC;AAC/D,mBAAW,cAAc,aAAa;AACtC,mBAAW,eAAe,aAAa;AACvC;AAAA,MACD;AAAA,MACD;AACE,eAAO;AAAA,IACV;AAAA,EACL,CAAG;AAAA;ACAH,MAAM,mBAAmB,CAAC,EAAE,aAAa;AACjC,QAAA,EAAE,eAAe;AACjB,QAAA,EAAE,kBAAkB;AACpB,QAAA,EAAE,uBAAuB;AACzB,QAAA,EAAE,iBAAiB;AACnB,QAAA,EAAE,WAAW,iBAAqB,IAAA;AAExC,QAAM,CAAC,mBAAmB,gBAAgB,IAAI,SAAS,KAAK;AAC5D,QAAM,sBAAsB,MAAM,iBAAiB,CAAC,cAAc,CAAC,SAAS;AAEtE,QAAA,CAAC,cAAc,QAAQ,IAAI,WAAW,SAAS,cAAc,MAAM,KAAK,MAAM,CAAC;AAC/E,QAAA,EAAE,aAAa,aAAiB,IAAA;AAEhC,QAAA,eAAe,CAAC,MAAM;AAC1B,MAAE,eAAe;AACG;EAAA;AAGtB,QAAM,gBAAgB,YAAY;AAChC,eAAW,4BAA4B;AACjC,UAAA,aAAa,YAAY,YAAY;AAC3C,qBAAiB,KAAK;AACtB,aAAS,WAAW;AACD,uBAAA;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,cAAc;AAAA,QACrB,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAAA,CACjB;AAAA,IAAA,CACF;AAAA,EAAA;AAGG,QAAA,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,MAAA,QAAc;AACpD,aAAS,SAAS,EAAE,MAAM,MAAA,CAAO,CAAC;AAAA,EAAA;AAGpC,SACG,oBAAA,QAAQ,MAAR,EACC,UAAC,oBAAA,KAAK,MAAL,EAAU,aAAW,kBACpB,UAAC,qBAAA,QAAA,EAAK,UAAU,cACd,UAAA;AAAA,IAAA;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,kBACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK;AAAA,YACL,+BAAY,WAAU,EAAA;AAAA,YACtB,IAAI,YAAYE,QAAQ;AAAA,YACxB,IAAG;AAAA,YAEF,UAAA,cAAc,EAAE,IAAI,QAAQ,aAAa,GAAG,gBAAgB,QAAQ;AAAA,UAAA;AAAA,QACvE;AAAA,QAEF,eACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,+BAAY,OAAM,EAAA;AAAA,YAClB,UAAU,QAAQ,cAAc,WAAW;AAAA,YAC3C,MAAK;AAAA,YAEJ,wBAAc,EAAE,IAAI,eAAe,gBAAgB,QAAQ;AAAA,UAAA;AAAA,QAC9D;AAAA,QAEF,UAAU,cAAc;AAAA,UACtB,IAAI,QAAQ,iBAAiB;AAAA,UAC7B,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,OAAO,cAAc;AAAA,UACnB,IAAI,QAAQ,cAAc;AAAA,UAC1B,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IAEA,oBAAC,QAAQ,SAAR,EACC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,UAAU,aAAa,YAAY;AAAA,QACnC,MAAM,aAAa,QAAQ;AAAA,QAC3B,UAAU;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,IAEC,oBAAA,OAAO,MAAP,EAAY,MAAM,mBAAmB,cAAc,qBAClD,UAAA,oBAAC,eAAc,EAAA,WAAW,eAAe,SAAQ,WAC9C,UAAc,cAAA;AAAA,MACb,IAAI,QAAQ,+CAA+C;AAAA,MAC3D,gBAAgB;AAAA,IAAA,CACjB,GACH,EACF,CAAA;AAAA,EAAA,GACF,GACF,EACF,CAAA;AAEJ;AAEA,iBAAiB,YAAY;AAAA,EAC3B,QAAQ,UAAU,MAAM;AAAA,IACtB,UAAU,UAAU;AAAA,IACpB,MAAM,UAAU;AAAA,EACjB,CAAA,EAAE;AACL;"}