node_modules ignore

This commit is contained in:
oier committed 2025-05-08 23:43:47 +02:00
1 parent e19d52f172
commit 4574544c9f
65041 files changed
+10593536

No files matched your search

@@ -0,0 +1,100 @@
import {
pluginId
} from "./chunk-RH4C26B2.js";
import {
ForwardRef$4n
} from "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/plugin-cloud/dist/admin/components/Initializer.mjs
var import_react = __toESM(require_react(), 1);
var Initializer = ({ setPlugin }) => {
const ref = (0, import_react.useRef)(setPlugin);
(0, import_react.useEffect)(() => {
ref.current(pluginId);
}, []);
return null;
};
// node_modules/@strapi/plugin-cloud/dist/admin/utils/prefixPluginTranslations.mjs
var prefixPluginTranslations = (trad, pluginId2) => {
return Object.keys(trad).reduce((acc, current) => {
acc[`${pluginId2}.${current}`] = trad[current];
return acc;
}, {});
};
// node_modules/@strapi/plugin-cloud/dist/admin/index.mjs
function __variableDynamicImportRuntime1__(path) {
switch (path) {
case "./translations/en.json":
return import("./en.json-LOEYTETI.js");
case "./translations/fr.json":
return import("./fr.json-FH7EDBW7.js");
case "./translations/ru.json":
return import("./ru.json-IV7JABZF.js");
case "./translations/uk.json":
return import("./uk.json-JEGTVCJW.js");
default:
return new Promise(function(resolve, reject) {
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
reject.bind(null, new Error("Unknown variable dynamic import: " + path))
);
});
}
}
var name = "Deploy";
var index = {
register(app) {
const { backendURL } = window.strapi;
if (backendURL == null ? void 0 : backendURL.includes("localhost")) {
app.addMenuLink({
to: `plugins/${pluginId}`,
icon: ForwardRef$4n,
intlLabel: {
id: `${pluginId}.plugin.name`,
defaultMessage: name
},
Component: async () => {
const { App } = await import("./App-7CUG4FT5.js");
return App;
}
});
const plugin = {
id: pluginId,
initializer: Initializer,
isReady: false,
name
};
app.registerPlugin(plugin);
}
},
async registerTrads(app) {
const { locales } = app;
const importedTrads = await Promise.all(locales.map((locale) => {
return __variableDynamicImportRuntime1__(`./translations/${locale}.json`).then(({ default: data }) => {
return {
data: prefixPluginTranslations(data, pluginId),
locale
};
}).catch(() => {
return {
data: {},
locale
};
});
}));
return Promise.resolve(importedTrads);
}
};
export {
index as default
};
//# sourceMappingURL=@strapi_plugin-cloud_strapi-admin.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/plugin-cloud/admin/src/components/Initializer.tsx", "../../../@strapi/plugin-cloud/admin/src/utils/prefixPluginTranslations.ts", "../../../@strapi/plugin-cloud/admin/src/index.ts"],
"sourcesContent": ["/**\n *\n * Initializer\n *\n */\n\nimport { useEffect, useRef } from 'react';\n\nimport { pluginId } from '../pluginId';\n\ntype InitializerProps = {\n setPlugin: (id: string) => void;\n};\n\nconst Initializer = ({ setPlugin }: InitializerProps) => {\n const ref = useRef(setPlugin);\n\n useEffect(() => {\n ref.current(pluginId);\n }, []);\n\n return null;\n};\n\nexport { Initializer };\n", "type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n", "/* eslint-disable check-file/filename-naming-convention */\n\nimport { Cloud } from '@strapi/icons';\n\nimport { Initializer } from './components/Initializer';\nimport { pluginId } from './pluginId';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nconst name = 'Deploy';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n const { backendURL } = window.strapi;\n\n // Only add the plugin menu link and registering it if the project is on development (localhost).\n if (backendURL?.includes('localhost')) {\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Cloud,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: name,\n },\n Component: async () => {\n const { App } = await import('./pages/App');\n\n return App;\n },\n });\n const plugin = {\n id: pluginId,\n initializer: Initializer,\n isReady: false,\n name,\n };\n\n app.registerPlugin(plugin);\n }\n },\n\n async registerTrads(app: any) {\n const { locales } = app;\n\n const importedTrads = await Promise.all(\n (locales as any[]).map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;AAcA,IAAMA,cAAc,CAAC,EAAEC,UAAS,MAAoB;AAClD,QAAMC,UAAMC,qBAAOF,SAAAA;AAEnBG,8BAAU,MAAA;AACRF,QAAIG,QAAQC,QAAAA;EACd,GAAG,CAAA,CAAE;AAEL,SAAO;AACT;;;ACpBMC,IAAAA,2BAA2B,CAACC,MAAmBC,cAAAA;AAInD,SAAOC,OAAOC,KAAKH,IAAAA,EAAMI,OAAO,CAACC,KAAKC,YAAAA;AACpCD,QAAI,GAAGJ,SAAAA,IAAYK,OAAQ,EAAC,IAAIN,KAAKM,OAAQ;AAC7C,WAAOD;EACT,GAAG,CAAA,CAAC;AACN;;;;;;;;;;;;;;;;;;;;;ACFA,IAAME,OAAO;AAGb,IAAA,QAAe;EACbC,SAASC,KAAQ;AACf,UAAM,EAAEC,WAAU,IAAKC,OAAOC;AAG9B,QAAIF,yCAAYG,SAAS,cAAc;AACrCJ,UAAIK,YAAY;QACdC,IAAI,WAAWC,QAAAA;QACfC,MAAMC;QACNC,WAAW;UACTC,IAAI,GAAGJ,QAAS;UAChBK,gBAAgBd;QAClB;QACAe,WAAW,YAAA;AACT,gBAAM,EAAEC,IAAG,IAAK,MAAM,OAAO,mBAAA;AAE7B,iBAAOA;QACT;MACF,CAAA;AACA,YAAMC,SAAS;QACbJ,IAAIJ;QACJS,aAAaC;QACbC,SAAS;QACTpB;MACF;AAEAE,UAAImB,eAAeJ,MAAAA;IACrB;EACF;EAEA,MAAMK,cAAcpB,KAAQ;AAC1B,UAAM,EAAEqB,QAAO,IAAKrB;AAEpB,UAAMsB,gBAAgB,MAAMC,QAAQC,IAClC,QAAmBC,IAAI,CAACC,WAAAA;AACtB,aAAO,kCAAO,kBAAkBA,MAAO,OAAM,EAC1CC,KAAK,CAAC,EAAEC,SAASC,KAAI,MAAE;AACtB,eAAO;UACLA,MAAMC,yBAAyBD,MAAMtB,QAAAA;UACrCmB;QACF;MACF,CAAA,EACCK,MAAM,MAAA;AACL,eAAO;UACLF,MAAM,CAAA;UACNH;QACF;MACF,CAAA;IACJ,CAAA,CAAA;AAGF,WAAOH,QAAQS,QAAQV,aAAAA;EACzB;AACF;",
"names": ["Initializer", "setPlugin", "ref", "useRef", "useEffect", "current", "pluginId", "prefixPluginTranslations", "trad", "pluginId", "Object", "keys", "reduce", "acc", "current", "name", "register", "app", "backendURL", "window", "strapi", "includes", "addMenuLink", "to", "pluginId", "icon", "Cloud", "intlLabel", "id", "defaultMessage", "Component", "App", "plugin", "initializer", "Initializer", "isReady", "registerPlugin", "registerTrads", "locales", "importedTrads", "Promise", "all", "map", "locale", "then", "default", "data", "prefixPluginTranslations", "catch", "resolve"]
}
@@ -0,0 +1,159 @@
import {
PERMISSIONS,
getTrad,
strapi
} from "./chunk-DJJSG3NG.js";
import "./chunk-PLDDJCW6.js";
// node_modules/@strapi/plugin-users-permissions/dist/admin/utils/prefixPluginTranslations.mjs
var prefixPluginTranslations = (trad, pluginId) => {
return Object.keys(trad).reduce((acc, current) => {
acc[`${pluginId}.${current}`] = trad[current];
return acc;
}, {});
};
// node_modules/@strapi/plugin-users-permissions/dist/admin/index.mjs
function __variableDynamicImportRuntime4__(path) {
switch (path) {
case "./translations/ar.json":
return import("./ar.json-UPUG6CGD.js");
case "./translations/cs.json":
return import("./cs.json-6UZPSKI6.js");
case "./translations/de.json":
return import("./de.json-2J65DPG4.js");
case "./translations/dk.json":
return import("./dk.json-R3KK6HRU.js");
case "./translations/en.json":
return import("./en.json-WJEGISUJ.js");
case "./translations/es.json":
return import("./es.json-HNSRZYML.js");
case "./translations/fr.json":
return import("./fr.json-EAETZVFF.js");
case "./translations/id.json":
return import("./id.json-44M764KQ.js");
case "./translations/it.json":
return import("./it.json-AXAYYBTP.js");
case "./translations/ja.json":
return import("./ja.json-JE5YGLSQ.js");
case "./translations/ko.json":
return import("./ko.json-DQW6EKF7.js");
case "./translations/ms.json":
return import("./ms.json-JFNQVPJW.js");
case "./translations/nl.json":
return import("./nl.json-NC3ALAM6.js");
case "./translations/pl.json":
return import("./pl.json-TR7CEJ7T.js");
case "./translations/pt-BR.json":
return import("./pt-BR.json-SVFSTQD3.js");
case "./translations/pt.json":
return import("./pt.json-G3LQKS26.js");
case "./translations/ru.json":
return import("./ru.json-SUGFRNNG.js");
case "./translations/sk.json":
return import("./sk.json-VLLP2PX6.js");
case "./translations/sv.json":
return import("./sv.json-MUCEN67I.js");
case "./translations/th.json":
return import("./th.json-Z7IVRZDL.js");
case "./translations/tr.json":
return import("./tr.json-MVASP7IY.js");
case "./translations/uk.json":
return import("./uk.json-LKRSQDU7.js");
case "./translations/vi.json":
return import("./vi.json-OW47P7JN.js");
case "./translations/zh-Hans.json":
return import("./zh-Hans.json-2QRDQ6QL.js");
case "./translations/zh.json":
return import("./zh.json-3XQQEU55.js");
default:
return new Promise(function(resolve, reject) {
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
reject.bind(null, new Error("Unknown variable dynamic import: " + path))
);
});
}
}
var name = strapi.name;
var index = {
register(app) {
app.createSettingSection({
id: "users-permissions",
intlLabel: {
id: getTrad("Settings.section-label"),
defaultMessage: "Users & Permissions plugin"
}
}, [
{
intlLabel: {
id: "global.roles",
defaultMessage: "Roles"
},
id: "roles",
to: `users-permissions/roles`,
Component: () => import("./Roles-ALARUVVU.js"),
permissions: PERMISSIONS.accessRoles
},
{
intlLabel: {
id: getTrad("HeaderNav.link.providers"),
defaultMessage: "Providers"
},
id: "providers",
to: `users-permissions/providers`,
Component: () => import("./Providers-6F2OT3KD.js"),
permissions: PERMISSIONS.readProviders
},
{
intlLabel: {
id: getTrad("HeaderNav.link.emailTemplates"),
defaultMessage: "Email templates"
},
id: "email-templates",
to: `users-permissions/email-templates`,
Component: () => import("./EmailTemplates-3V4J4ZNO.js").then((mod) => ({
default: mod.ProtectedEmailTemplatesPage
})),
permissions: PERMISSIONS.readEmailTemplates
},
{
intlLabel: {
id: getTrad("HeaderNav.link.advancedSettings"),
defaultMessage: "Advanced Settings"
},
id: "advanced-settings",
to: `users-permissions/advanced-settings`,
Component: () => import("./AdvancedSettings-XGUBZOWK.js").then((mod) => ({
default: mod.ProtectedAdvancedSettingsPage
})),
permissions: PERMISSIONS.readAdvancedSettings
}
]);
app.registerPlugin({
id: "users-permissions",
name
});
},
bootstrap() {
},
async registerTrads({ locales }) {
const importedTrads = await Promise.all(locales.map((locale) => {
return __variableDynamicImportRuntime4__(`./translations/${locale}.json`).then(({ default: data }) => {
return {
data: prefixPluginTranslations(data, "users-permissions"),
locale
};
}).catch(() => {
return {
data: {},
locale
};
});
}));
return Promise.resolve(importedTrads);
}
};
export {
index as default
};
//# sourceMappingURL=@strapi_plugin-users-permissions_strapi-admin.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/plugin-users-permissions/admin/src/utils/prefixPluginTranslations.js", "../../../@strapi/plugin-users-permissions/admin/src/index.js"],
"sourcesContent": ["const prefixPluginTranslations = (trad, pluginId) => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n\n return acc;\n }, {});\n};\n\nexport { prefixPluginTranslations };\n", "import { strapi as pkgStrapi } from '../../package.json';\n\nimport { PERMISSIONS } from './constants';\nimport getTrad from './utils/getTrad';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nconst name = pkgStrapi.name;\n\nexport default {\n register(app) {\n // Create the plugin's settings section\n app.createSettingSection(\n {\n id: 'users-permissions',\n intlLabel: {\n id: getTrad('Settings.section-label'),\n defaultMessage: 'Users & Permissions plugin',\n },\n },\n [\n {\n intlLabel: {\n id: 'global.roles',\n defaultMessage: 'Roles',\n },\n id: 'roles',\n to: `users-permissions/roles`,\n Component: () => import('./pages/Roles'),\n permissions: PERMISSIONS.accessRoles,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n },\n id: 'providers',\n to: `users-permissions/providers`,\n Component: () => import('./pages/Providers'),\n permissions: PERMISSIONS.readProviders,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n },\n id: 'email-templates',\n to: `users-permissions/email-templates`,\n Component: () =>\n import('./pages/EmailTemplates').then((mod) => ({\n default: mod.ProtectedEmailTemplatesPage,\n })),\n permissions: PERMISSIONS.readEmailTemplates,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n },\n id: 'advanced-settings',\n to: `users-permissions/advanced-settings`,\n Component: () =>\n import('./pages/AdvancedSettings').then((mod) => ({\n default: mod.ProtectedAdvancedSettingsPage,\n })),\n permissions: PERMISSIONS.readAdvancedSettings,\n },\n ]\n );\n\n app.registerPlugin({\n id: 'users-permissions',\n name,\n });\n },\n bootstrap() {},\n async registerTrads({ locales }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'users-permissions'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],
"mappings": ";;;;;;;;AAAMA,IAAAA,2BAA2B,CAACC,MAAMC,aAAAA;AAKtC,SAAOC,OAAOC,KAAKH,IAAAA,EAAMI,OAAO,CAACC,KAAKC,YAAAA;AACpCD,QAAI,GAAGJ,QAAAA,IAAYK,OAAQ,EAAC,IAAIN,KAAKM,OAAQ;AAE7C,WAAOD;EACT,GAAG,CAAA,CAAC;AACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA,IAAME,OAAOC,OAAUD;AAEvB,IAAA,QAAe;EACbE,SAASC,KAAG;AAEVA,QAAIC,qBACF;MACEC,IAAI;MACJC,WAAW;QACTD,IAAIE,QAAQ,wBAAA;QACZC,gBAAgB;MAClB;OAEF;MACE;QACEF,WAAW;UACTD,IAAI;UACJG,gBAAgB;QAClB;QACAH,IAAI;QACJI,IAAI;QACJC,WAAW,MAAM,OAAO,qBAAA;QACxBC,aAAaC,YAAYC;MAC3B;MACA;QACEP,WAAW;UACTD,IAAIE,QAAQ,0BAAA;UACZC,gBAAgB;QAClB;QACAH,IAAI;QACJI,IAAI;QACJC,WAAW,MAAM,OAAO,yBAAA;QACxBC,aAAaC,YAAYE;MAC3B;MACA;QACER,WAAW;UACTD,IAAIE,QAAQ,+BAAA;UACZC,gBAAgB;QAClB;QACAH,IAAI;QACJI,IAAI;QACJC,WAAW,MACT,OAAO,8BAAA,EAA0BK,KAAK,CAACC,SAAS;UAC9CC,SAASD,IAAIE;UACf;QACFP,aAAaC,YAAYO;MAC3B;MACA;QACEb,WAAW;UACTD,IAAIE,QAAQ,iCAAA;UACZC,gBAAgB;QAClB;QACAH,IAAI;QACJI,IAAI;QACJC,WAAW,MACT,OAAO,gCAAA,EAA4BK,KAAK,CAACC,SAAS;UAChDC,SAASD,IAAII;UACf;QACFT,aAAaC,YAAYS;MAC3B;IACD,CAAA;AAGHlB,QAAImB,eAAe;MACjBjB,IAAI;MACJL;IACF,CAAA;EACF;EACAuB,YAAa;EAAA;EACb,MAAMC,cAAc,EAAEC,QAAO,GAAE;AAC7B,UAAMC,gBAAgB,MAAMC,QAAQC,IAClCH,QAAQI,IAAI,CAACC,WAAAA;AACX,aAAO,kCAAO,kBAAkBA,MAAO,OAAM,EAC1Cf,KAAK,CAAC,EAAEE,SAASc,KAAI,MAAE;AACtB,eAAO;UACLA,MAAMC,yBAAyBD,MAAM,mBAAA;UACrCD;QACF;MACF,CAAA,EACCG,MAAM,MAAA;AACL,eAAO;UACLF,MAAM,CAAA;UACND;QACF;MACF,CAAA;IACJ,CAAA,CAAA;AAGF,WAAOH,QAAQO,QAAQR,aAAAA;EACzB;AACF;",
"names": ["prefixPluginTranslations", "trad", "pluginId", "Object", "keys", "reduce", "acc", "current", "name", "pkgStrapi", "register", "app", "createSettingSection", "id", "intlLabel", "getTrad", "defaultMessage", "to", "Component", "permissions", "PERMISSIONS", "accessRoles", "readProviders", "then", "mod", "default", "ProtectedEmailTemplatesPage", "readEmailTemplates", "ProtectedAdvancedSettingsPage", "readAdvancedSettings", "registerPlugin", "bootstrap", "registerTrads", "locales", "importedTrads", "Promise", "all", "map", "locale", "data", "prefixPluginTranslations", "catch", "resolve"]
}
+225
View File
@@ -0,0 +1,225 @@
import {
render
} from "./chunk-AOWI4JYR.js";
import "./chunk-KGPWUC7Q.js";
import "./chunk-FVEHK4NK.js";
import "./chunk-C4NW23D7.js";
import "./chunk-E3IW2VDN.js";
import "./chunk-MN3D3XJI.js";
import "./chunk-C7H2BX76.js";
import "./chunk-U66AL5Y5.js";
import "./chunk-7KYK3FTC.js";
import "./chunk-JF4AI5LV.js";
import "./chunk-ALMC553V.js";
import "./chunk-PDGPTUUZ.js";
import "./chunk-XH2B3RAH.js";
import "./chunk-MLTBQQQV.js";
import {
useDocumentActions,
useDocumentRBAC
} from "./chunk-GXKJFURG.js";
import "./chunk-7FUKGPNR.js";
import "./chunk-NAZM6EA4.js";
import {
useContentManagerContext,
useDocument,
useDocumentLayout
} from "./chunk-UATNJIHQ.js";
import "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import {
AutoReloadOverlayBlockerProvider,
useAutoReloadOverlayBlocker
} from "./chunk-7HX4OIS5.js";
import "./chunk-6LY4MOO2.js";
import "./chunk-SQLDXQZE.js";
import {
DescriptionComponentRenderer,
useInjectReducer
} from "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import {
Widget
} from "./chunk-E4IFZ6ZT.js";
import "./chunk-XNACAI67.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import {
useGuidedTour
} from "./chunk-PFI4R5WA.js";
import "./chunk-G2UWKDMB.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import {
useFetchClient
} from "./chunk-FCIM6RNO.js";
import {
SearchInput
} from "./chunk-J33IXKN4.js";
import {
ConfirmDialog
} from "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-YJEURQPS.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-GGK2TLCV.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import {
BackButton,
useHistory
} from "./chunk-IY256CNP.js";
import {
errorsTrads
} from "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import {
useAppInfo,
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import {
ContentBox,
useClipboard
} from "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import {
Filters
} from "./chunk-C75BZXCZ.js";
import {
Pagination
} from "./chunk-APGTER6B.js";
import {
Table,
useTable
} from "./chunk-ZM6TT53G.js";
import {
MemoizedInputRenderer,
useFocusInputField
} from "./chunk-6AXVGFVQ.js";
import {
Blocker,
Form,
getYupValidationErrors,
useField,
useForm
} from "./chunk-BFLP6DBI.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import {
useAdminUsers
} from "./chunk-IGCTEXRF.js";
import {
Layouts,
useElementOnScreen
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import {
useAuth,
useQueryParams,
useStrapiApp
} from "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import {
FetchError,
adminApi,
fetchBaseQuery,
getFetchClient,
isBaseQueryError,
isFetchError
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import {
createContext
} from "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
NotificationsProvider,
useNotification
} from "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import "./chunk-PLDDJCW6.js";
export {
BackButton,
Blocker,
ConfirmDialog,
ContentBox,
DescriptionComponentRenderer,
FetchError,
Filters,
Form,
MemoizedInputRenderer as InputRenderer,
Layouts,
NotificationsProvider,
Page,
Pagination,
SearchInput,
Table,
Widget,
adminApi,
createContext,
fetchBaseQuery,
getFetchClient,
getYupValidationErrors,
isBaseQueryError,
isFetchError,
AutoReloadOverlayBlockerProvider as private_AutoReloadOverlayBlockerProvider,
useAutoReloadOverlayBlocker as private_useAutoReloadOverlayBlocker,
render as renderAdmin,
errorsTrads as translatedErrors,
useContentManagerContext as unstable_useContentManagerContext,
useDocument as unstable_useDocument,
useDocumentActions as unstable_useDocumentActions,
useDocumentLayout as unstable_useDocumentLayout,
useAPIErrorHandler,
useAdminUsers,
useAppInfo,
useAuth,
useClipboard,
useDocumentRBAC,
useElementOnScreen,
useFetchClient,
useField,
useFocusInputField,
useForm,
useGuidedTour,
useHistory,
useInjectReducer,
useNotification,
useQueryParams,
useRBAC,
useStrapiApp,
useTable,
useTracking
};
//# sourceMappingURL=@strapi_strapi_admin.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
+138
View File
@@ -0,0 +1,138 @@
import {
selectAdminPermissions
} from "./chunk-6HMBNYS4.js";
import {
useLicenseLimits
} from "./chunk-G2UWKDMB.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import {
useSelector
} from "./chunk-WOQNBAGN.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
Flex,
Grid,
Link,
TooltipImpl,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$3,
ForwardRef$3F
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var BILLING_SELF_HOSTED_URL = "https://strapi.io/billing/request-seats";
var MANAGE_SEATS_URL = "https://strapi.io/billing/manage-seats";
var AdminSeatInfoEE = () => {
const { formatMessage } = useIntl();
const { settings } = useSelector(selectAdminPermissions);
const { isLoading: isRBACLoading, allowedActions: { canRead, canCreate, canUpdate, canDelete } } = useRBAC((settings == null ? void 0 : settings.users) ?? {});
const { license, isError, isLoading: isLicenseLoading } = useLicenseLimits({
// TODO: this creates a waterfall which we should avoid to render earlier, but for that
// we will have to move away from data-fetching hooks to query functions.
// Short-term we could at least implement a loader, for the user to have visual feedback
// in case the requests take a while
enabled: !isRBACLoading && canRead && canCreate && canUpdate && canDelete
});
const isLoading = isRBACLoading || isLicenseLoading;
if (isError || isLoading || !license) {
return null;
}
const { licenseLimitStatus, enforcementUserCount, permittedSeats, type } = license;
if (!permittedSeats) {
return null;
}
return (0, import_jsx_runtime.jsxs)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: [
(0, import_jsx_runtime.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "Settings.application.admin-seats",
defaultMessage: "Admin seats"
})
}),
(0, import_jsx_runtime.jsxs)(Flex, {
gap: 2,
children: [
(0, import_jsx_runtime.jsx)(Flex, {
children: (0, import_jsx_runtime.jsx)(Typography, {
tag: "p",
children: formatMessage({
id: "Settings.application.ee.admin-seats.count",
defaultMessage: "<text>{enforcementUserCount}</text>/{permittedSeats}"
}, {
permittedSeats,
enforcementUserCount,
text: (chunks) => (0, import_jsx_runtime.jsx)(Typography, {
fontWeight: "semiBold",
textColor: enforcementUserCount > permittedSeats ? "danger500" : void 0,
children: chunks
})
})
})
}),
licenseLimitStatus === "OVER_LIMIT" && (0, import_jsx_runtime.jsx)(TooltipImpl, {
label: formatMessage({
id: "Settings.application.ee.admin-seats.at-limit-tooltip",
defaultMessage: "At limit: add seats to invite more users"
}),
children: (0, import_jsx_runtime.jsx)(ForwardRef$3, {
width: "1.4rem",
height: "1.4rem",
fill: "danger500"
})
})
]
}),
type === "gold" ? (0, import_jsx_runtime.jsx)(Link, {
href: BILLING_SELF_HOSTED_URL,
endIcon: (0, import_jsx_runtime.jsx)(ForwardRef$3F, {}),
children: formatMessage({
id: "Settings.application.ee.admin-seats.support",
defaultMessage: "Contact sales"
})
}) : (0, import_jsx_runtime.jsx)(Link, {
href: MANAGE_SEATS_URL,
isExternal: true,
endIcon: (0, import_jsx_runtime.jsx)(ForwardRef$3F, {}),
children: formatMessage({
id: "Settings.application.ee.admin-seats.add-seats",
defaultMessage: "Manage seats"
})
})
]
});
};
export {
AdminSeatInfoEE
};
//# sourceMappingURL=AdminSeatInfo-6OY4OYIE.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.tsx"],
"sourcesContent": ["import { Flex, Tooltip, Typography, Link, Grid } from '@strapi/design-system';\nimport { ExternalLink, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { useRBAC } from '../../../../../../../../admin/src/hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nconst BILLING_SELF_HOSTED_URL = 'https://strapi.io/billing/request-seats';\nconst MANAGE_SEATS_URL = 'https://strapi.io/billing/manage-seats';\n\nexport const AdminSeatInfoEE = () => {\n const { formatMessage } = useIntl();\n const { settings } = useSelector(selectAdminPermissions);\n const {\n isLoading: isRBACLoading,\n allowedActions: { canRead, canCreate, canUpdate, canDelete },\n } = useRBAC(settings?.users ?? {});\n const {\n license,\n isError,\n isLoading: isLicenseLoading,\n } = useLicenseLimits({\n // TODO: this creates a waterfall which we should avoid to render earlier, but for that\n // we will have to move away from data-fetching hooks to query functions.\n // Short-term we could at least implement a loader, for the user to have visual feedback\n // in case the requests take a while\n enabled: !isRBACLoading && canRead && canCreate && canUpdate && canDelete,\n });\n\n const isLoading = isRBACLoading || isLicenseLoading;\n\n if (isError || isLoading || !license) {\n return null;\n }\n\n const { licenseLimitStatus, enforcementUserCount, permittedSeats, type } = license;\n\n if (!permittedSeats) {\n return null;\n }\n\n return (\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.application.admin-seats',\n defaultMessage: 'Admin seats',\n })}\n </Typography>\n <Flex gap={2}>\n <Flex>\n <Typography tag=\"p\">\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.count',\n defaultMessage: '<text>{enforcementUserCount}</text>/{permittedSeats}',\n },\n {\n permittedSeats,\n enforcementUserCount,\n text: (chunks) =>\n (\n <Typography\n fontWeight=\"semiBold\"\n textColor={enforcementUserCount > permittedSeats ? 'danger500' : undefined}\n >\n {chunks}\n </Typography>\n ) as any,\n }\n )}\n </Typography>\n </Flex>\n {licenseLimitStatus === 'OVER_LIMIT' && (\n <Tooltip\n label={formatMessage({\n id: 'Settings.application.ee.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n >\n <WarningCircle width=\"1.4rem\" height=\"1.4rem\" fill=\"danger500\" />\n </Tooltip>\n )}\n </Flex>\n {type === 'gold' ? (\n <Link href={BILLING_SELF_HOSTED_URL} endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.ee.admin-seats.support',\n defaultMessage: 'Contact sales',\n })}\n </Link>\n ) : (\n <Link href={MANAGE_SEATS_URL} isExternal endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.ee.admin-seats.add-seats',\n defaultMessage: 'Manage seats',\n })}\n </Link>\n )}\n </Grid.Item>\n );\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,0BAA0B;AAChC,IAAMC,mBAAmB;IAEZC,kBAAkB,MAAA;AAC7B,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAM,EAAEC,SAAQ,IAAKC,YAAYC,sBAAAA;AACjC,QAAM,EACJC,WAAWC,eACXC,gBAAgB,EAAEC,SAASC,WAAWC,WAAWC,UAAS,EAAE,IAC1DC,SAAQV,qCAAUW,UAAS,CAAA,CAAC;AAChC,QAAM,EACJC,SACAC,SACAV,WAAWW,iBAAgB,IACzBC,iBAAiB;;;;;IAKnBC,SAAS,CAACZ,iBAAiBE,WAAWC,aAAaC,aAAaC;EAClE,CAAA;AAEA,QAAMN,YAAYC,iBAAiBU;AAEnC,MAAID,WAAWV,aAAa,CAACS,SAAS;AACpC,WAAO;EACT;AAEA,QAAM,EAAEK,oBAAoBC,sBAAsBC,gBAAgBC,KAAI,IAAKR;AAE3E,MAAI,CAACO,gBAAgB;AACnB,WAAO;EACT;AAEA,aACEE,yBAACC,KAAKC,MAAI;IAACC,KAAK;IAAGC,GAAG;IAAIC,WAAU;IAASC,YAAW;;UACtDC,wBAACC,YAAAA;QAAWC,SAAQ;QAAQC,WAAU;kBACnCjC,cAAc;UACbkC,IAAI;UACJC,gBAAgB;QAClB,CAAA;;UAEFZ,yBAACa,MAAAA;QAAKC,KAAK;;cACTP,wBAACM,MAAAA;YACC,cAAAN,wBAACC,YAAAA;cAAWO,KAAI;wBACbtC,cACC;gBACEkC,IAAI;gBACJC,gBAAgB;iBAElB;gBACEd;gBACAD;gBACAmB,MAAM,CAACC,eAEHV,wBAACC,YAAAA;kBACCU,YAAW;kBACXR,WAAWb,uBAAuBC,iBAAiB,cAAcqB;kBAEhEF,UAAAA;;cAGT,CAAA;;;UAILrB,uBAAuB,oBACtBW,wBAACa,aAAAA;YACCC,OAAO5C,cAAc;cACnBkC,IAAI;cACJC,gBAAgB;YAClB,CAAA;YAEA,cAAAL,wBAACe,cAAAA;cAAcC,OAAM;cAASC,QAAO;cAASC,MAAK;;;;;MAIxD1B,SAAS,aACRQ,wBAACmB,MAAAA;QAAKC,MAAMrD;QAAyBsD,aAASrB,wBAACsB,eAAAA,CAAAA,CAAAA;kBAC5CpD,cAAc;UACbkC,IAAI;UACJC,gBAAgB;QAClB,CAAA;eAGFL,wBAACmB,MAAAA;QAAKC,MAAMpD;QAAkBuD,YAAU;QAACF,aAASrB,wBAACsB,eAAAA,CAAAA,CAAAA;kBAChDpD,cAAc;UACbkC,IAAI;UACJC,gBAAgB;QAClB,CAAA;;;;AAKV;",
"names": ["BILLING_SELF_HOSTED_URL", "MANAGE_SEATS_URL", "AdminSeatInfoEE", "formatMessage", "useIntl", "settings", "useSelector", "selectAdminPermissions", "isLoading", "isRBACLoading", "allowedActions", "canRead", "canCreate", "canUpdate", "canDelete", "useRBAC", "users", "license", "isError", "isLicenseLoading", "useLicenseLimits", "enabled", "licenseLimitStatus", "enforcementUserCount", "permittedSeats", "type", "_jsxs", "Grid", "Item", "col", "s", "direction", "alignItems", "_jsx", "Typography", "variant", "textColor", "id", "defaultMessage", "Flex", "gap", "tag", "text", "chunks", "fontWeight", "undefined", "Tooltip", "label", "WarningCircle", "width", "height", "fill", "Link", "href", "endIcon", "ExternalLink", "isExternal"]
}
+419
View File
@@ -0,0 +1,419 @@
import "./chunk-AOWI4JYR.js";
import "./chunk-KGPWUC7Q.js";
import "./chunk-FVEHK4NK.js";
import "./chunk-C4NW23D7.js";
import "./chunk-E3IW2VDN.js";
import "./chunk-MN3D3XJI.js";
import "./chunk-C7H2BX76.js";
import "./chunk-U66AL5Y5.js";
import "./chunk-7KYK3FTC.js";
import "./chunk-JF4AI5LV.js";
import "./chunk-ALMC553V.js";
import "./chunk-PDGPTUUZ.js";
import "./chunk-XH2B3RAH.js";
import "./chunk-MLTBQQQV.js";
import "./chunk-GXKJFURG.js";
import "./chunk-7FUKGPNR.js";
import "./chunk-NAZM6EA4.js";
import "./chunk-UATNJIHQ.js";
import "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import "./chunk-7HX4OIS5.js";
import "./chunk-6LY4MOO2.js";
import "./chunk-SQLDXQZE.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-XNACAI67.js";
import {
useMutation,
useQuery,
useQueryClient
} from "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-G2UWKDMB.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import {
useFetchClient
} from "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import {
require_isEmpty
} from "./chunk-YJEURQPS.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-GGK2TLCV.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import {
errorsTrads
} from "./chunk-IFOFBKTA.js";
import {
create2 as create,
create4 as create2,
create6 as create3
} from "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import {
MemoizedInputRenderer
} from "./chunk-6AXVGFVQ.js";
import {
Form
} from "./chunk-BFLP6DBI.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Button,
Flex,
Grid,
Typography,
useIntl,
useNotifyAT
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$4F
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
PERMISSIONS,
getTrad
} from "./chunk-DJJSG3NG.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/AdvancedSettings/index.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var import_react = __toESM(require_react(), 1);
var import_isEmpty2 = __toESM(require_isEmpty(), 1);
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/AdvancedSettings/utils/layout.mjs
var import_isEmpty = __toESM(require_isEmpty(), 1);
var layout = [
{
label: {
id: getTrad("EditForm.inputToggle.label.email"),
defaultMessage: "One account per email address"
},
hint: {
id: getTrad("EditForm.inputToggle.description.email"),
defaultMessage: "Disallow the user to create multiple accounts using the same email address with different authentication providers."
},
name: "unique_email",
type: "boolean",
size: 12
},
{
label: {
id: getTrad("EditForm.inputToggle.label.sign-up"),
defaultMessage: "Enable sign-ups"
},
hint: {
id: getTrad("EditForm.inputToggle.description.sign-up"),
defaultMessage: "When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider."
},
name: "allow_register",
type: "boolean",
size: 12
},
{
label: {
id: getTrad("EditForm.inputToggle.label.email-reset-password"),
defaultMessage: "Reset password page"
},
hint: {
id: getTrad("EditForm.inputToggle.description.email-reset-password"),
defaultMessage: "URL of your application's reset password page."
},
placeholder: {
id: getTrad("EditForm.inputToggle.placeholder.email-reset-password"),
defaultMessage: "ex: https://youtfrontend.com/reset-password"
},
name: "email_reset_password",
type: "string",
size: 12
},
{
label: {
id: getTrad("EditForm.inputToggle.label.email-confirmation"),
defaultMessage: "Enable email confirmation"
},
hint: {
id: getTrad("EditForm.inputToggle.description.email-confirmation"),
defaultMessage: "When enabled (ON), new registered users receive a confirmation email."
},
name: "email_confirmation",
type: "boolean",
size: 12
},
{
label: {
id: getTrad("EditForm.inputToggle.label.email-confirmation-redirection"),
defaultMessage: "Redirection url"
},
hint: {
id: getTrad("EditForm.inputToggle.description.email-confirmation-redirection"),
defaultMessage: "After you confirmed your email, choose where you will be redirected."
},
placeholder: {
id: getTrad("EditForm.inputToggle.placeholder.email-confirmation-redirection"),
defaultMessage: "ex: https://youtfrontend.com/email-confirmation"
},
name: "email_confirmation_redirection",
type: "string",
size: 12
}
];
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/AdvancedSettings/utils/schema.mjs
var URL_REGEX = new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))");
var schema = create3().shape({
email_confirmation_redirection: create().when("email_confirmation", {
is: true,
then: create2().matches(URL_REGEX).required(),
otherwise: create2().nullable()
}),
email_reset_password: create2(errorsTrads.string).matches(URL_REGEX, {
id: errorsTrads.regex.id,
defaultMessage: "This is not a valid URL"
}).nullable()
});
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/AdvancedSettings/index.mjs
var ProtectedAdvancedSettingsPage = () => (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions: PERMISSIONS.readAdvancedSettings,
children: (0, import_jsx_runtime.jsx)(AdvancedSettingsPage, {})
});
var AdvancedSettingsPage = () => {
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const { notifyStatus } = useNotifyAT();
const queryClient = useQueryClient();
const { get, put } = useFetchClient();
const { formatAPIError } = useAPIErrorHandler();
const { isLoading: isLoadingForPermissions, allowedActions: { canUpdate } } = useRBAC({
update: PERMISSIONS.updateAdvancedSettings
});
const { isLoading: isLoadingData, data } = useQuery([
"users-permissions",
"advanced"
], async () => {
const { data: data2 } = await get("/users-permissions/advanced");
return data2;
}, {
onSuccess() {
notifyStatus(formatMessage({
id: getTrad("Form.advancedSettings.data.loaded"),
defaultMessage: "Advanced settings data has been loaded"
}));
},
onError() {
toggleNotification({
type: "danger",
message: formatMessage({
id: getTrad("notification.error"),
defaultMessage: "An error occured"
})
});
}
});
const isLoading = isLoadingForPermissions || isLoadingData;
const submitMutation = useMutation((body) => put("/users-permissions/advanced", body), {
async onSuccess() {
await queryClient.invalidateQueries([
"users-permissions",
"advanced"
]);
toggleNotification({
type: "success",
message: formatMessage({
id: getTrad("notification.success.saved"),
defaultMessage: "Saved"
})
});
},
onError(error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
},
refetchActive: true
});
const { isLoading: isSubmittingForm } = submitMutation;
const handleSubmit = async (body) => {
submitMutation.mutate({
...body,
email_confirmation_redirection: body.email_confirmation ? body.email_confirmation_redirection : ""
});
};
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime.jsxs)(Page.Main, {
"aria-busy": isSubmittingForm,
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: formatMessage({
id: getTrad("HeaderNav.link.advancedSettings"),
defaultMessage: "Advanced Settings"
})
})
}),
(0, import_jsx_runtime.jsx)(Form, {
onSubmit: handleSubmit,
initialValues: data.settings,
validationSchema: schema,
children: ({ values, isSubmitting, modified }) => {
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Layouts.Header, {
title: formatMessage({
id: getTrad("HeaderNav.link.advancedSettings"),
defaultMessage: "Advanced Settings"
}),
primaryAction: (0, import_jsx_runtime.jsx)(Button, {
loading: isSubmitting,
type: "submit",
disabled: !modified || !canUpdate,
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$4F, {}),
size: "S",
children: formatMessage({
id: "global.save",
defaultMessage: "Save"
})
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime.jsx)(Box, {
background: "neutral0",
hasRadius: true,
shadow: "filterShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
(0, import_jsx_runtime.jsx)(Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: "global.settings",
defaultMessage: "Settings"
})
}),
(0, import_jsx_runtime.jsx)(Grid.Root, {
gap: 6,
children: [
{
label: {
id: getTrad("EditForm.inputSelect.label.role"),
defaultMessage: "Default role for authenticated users"
},
hint: {
id: getTrad("EditForm.inputSelect.description.role"),
defaultMessage: "It will attach the new authenticated user to the selected role."
},
options: data.roles.map((role) => ({
label: role.name,
value: role.type
})),
name: "default_role",
size: 6,
type: "enumeration"
},
...layout
].map(({ size, ...field }) => (0, import_jsx_runtime.jsx)(Grid.Item, {
col: size,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsx)(MemoizedInputRenderer, {
...field,
disabled: field.name === "email_confirmation_redirection" && values.email_confirmation === false,
label: formatMessage(field.label),
hint: field.hint ? formatMessage(field.hint) : void 0,
placeholder: field.placeholder ? formatMessage(field.placeholder) : void 0
})
}, field.name))
})
]
})
})
})
]
});
}
})
]
});
};
export {
AdvancedSettingsPage,
ProtectedAdvancedSettingsPage
};
//# sourceMappingURL=AdvancedSettings-XGUBZOWK.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/plugin-users-permissions/admin/src/pages/AdvancedSettings/utils/layout.js", "../../../@strapi/plugin-users-permissions/admin/src/pages/AdvancedSettings/utils/schema.js", "../../../@strapi/plugin-users-permissions/admin/src/pages/AdvancedSettings/index.jsx"],
"sourcesContent": ["import { getTrad } from '../../../utils';\n\nconst layout = [\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email'),\n defaultMessage: 'One account per email address',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email'),\n defaultMessage:\n 'Disallow the user to create multiple accounts using the same email address with different authentication providers.',\n },\n name: 'unique_email',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.sign-up'),\n defaultMessage: 'Enable sign-ups',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.sign-up'),\n defaultMessage:\n 'When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider.',\n },\n name: 'allow_register',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-reset-password'),\n defaultMessage: 'Reset password page',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-reset-password'),\n defaultMessage: \"URL of your application's reset password page.\",\n },\n placeholder: {\n id: getTrad('EditForm.inputToggle.placeholder.email-reset-password'),\n defaultMessage: 'ex: https://youtfrontend.com/reset-password',\n },\n name: 'email_reset_password',\n type: 'string',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation'),\n defaultMessage: 'Enable email confirmation',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-confirmation'),\n defaultMessage: 'When enabled (ON), new registered users receive a confirmation email.',\n },\n name: 'email_confirmation',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),\n defaultMessage: 'Redirection url',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-confirmation-redirection'),\n defaultMessage: 'After you confirmed your email, choose where you will be redirected.',\n },\n placeholder: {\n id: getTrad('EditForm.inputToggle.placeholder.email-confirmation-redirection'),\n defaultMessage: 'ex: https://youtfrontend.com/email-confirmation',\n },\n name: 'email_confirmation_redirection',\n type: 'string',\n size: 12,\n },\n];\n\nexport default layout;\n", "import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\n// eslint-disable-next-line prefer-regex-literals\nconst URL_REGEX = new RegExp('(^$)|((.+:\\\\/\\\\/.*)(d*)\\\\/?(.*))');\n\nconst schema = yup.object().shape({\n email_confirmation_redirection: yup.mixed().when('email_confirmation', {\n is: true,\n then: yup.string().matches(URL_REGEX).required(),\n otherwise: yup.string().nullable(),\n }),\n email_reset_password: yup\n .string(translatedErrors.string)\n .matches(URL_REGEX, {\n id: translatedErrors.regex.id,\n defaultMessage: 'This is not a valid URL',\n })\n .nullable(),\n});\n\nexport default schema;\n", "import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography, useNotifyAT } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport {\n useAPIErrorHandler,\n Page,\n Form,\n InputRenderer,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport layout from './utils/layout';\nimport schema from './utils/schema';\n\nconst ProtectedAdvancedSettingsPage = () => (\n <Page.Protect permissions={PERMISSIONS.readAdvancedSettings}>\n <AdvancedSettingsPage />\n </Page.Protect>\n);\n\nconst AdvancedSettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateAdvancedSettings });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'advanced'],\n async () => {\n const { data } = await get('/users-permissions/advanced');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Form.advancedSettings.data.loaded'),\n defaultMessage: 'Advanced settings data has been loaded',\n })\n );\n }Line truncated
"mappings": "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",
"names": ["layout", "label", "id", "getTrad", "defaultMessage", "hint", "name", "type", "size", "placeholder", "URL_REGEX", "RegExp", "schema", "object", "shape", "email_confirmation_redirection", "mixed", "when", "is", "then", "string", "matches", "required", "otherwise", "nullable", "email_reset_password", "translatedErrors", "id", "regex", "defaultMessage", "ProtectedAdvancedSettingsPage", "_jsx", "Page", "Protect", "permissions", "PERMISSIONS", "readAdvancedSettings", "AdvancedSettingsPage", "formatMessage", "useIntl", "toggleNotification", "useNotification", "notifyStatus", "useNotifyAT", "queryClient", "useQueryClient", "get", "put", "useFetchClient", "formatAPIError", "useAPIErrorHandler", "isLoading", "isLoadingForPermissions", "allowedActions", "canUpdate", "useRBAC", "update", "updateAdvancedSettings", "isLoadingData", "data", "useQuery", "onSuccess", "id", "getTrad", "defaultMessage", "onError", "type", "message", "submitMutation", "useMutation", "body", "invalidateQueries", "error", "refetchActive", "isSubmittingForm", "handleSubmit", "mutate", "email_confirmation_redirection", "email_confirmation", "Loading", "_jsxs", "Main", "aria-busy", "Title", "name", "Form", "onSubmit", "initialValues", "settings", "validationSchema", "schema", "values", "isSubmitting", "modified", "_Fragment", "Layouts", "Header", "title", "primaryAction", "Button", "loading", "disabled", "startIcon", "Check", "size", "Content", "Box", "background", "hasRadius", "shadow", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", "Flex", "direction", "alignItems", "gap", "Typography", "variant", "tag", "Grid", "Root", "label", "hint", "options", "roles", "map", "role", "value", "layout", "field", "Item", "col", "InputRenderer", "undefined", "placeholder"]
}
+656
View File
@@ -0,0 +1,656 @@
import "./chunk-AOWI4JYR.js";
import "./chunk-KGPWUC7Q.js";
import "./chunk-FVEHK4NK.js";
import "./chunk-C4NW23D7.js";
import "./chunk-E3IW2VDN.js";
import "./chunk-MN3D3XJI.js";
import "./chunk-C7H2BX76.js";
import "./chunk-U66AL5Y5.js";
import "./chunk-7KYK3FTC.js";
import "./chunk-JF4AI5LV.js";
import "./chunk-ALMC553V.js";
import "./chunk-PDGPTUUZ.js";
import "./chunk-XH2B3RAH.js";
import "./chunk-MLTBQQQV.js";
import "./chunk-GXKJFURG.js";
import "./chunk-7FUKGPNR.js";
import "./chunk-NAZM6EA4.js";
import "./chunk-UATNJIHQ.js";
import "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import "./chunk-7HX4OIS5.js";
import "./chunk-6LY4MOO2.js";
import "./chunk-SQLDXQZE.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-XNACAI67.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-G2UWKDMB.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-YJEURQPS.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-GGK2TLCV.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
ForwardRef$x,
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import {
Box,
Flex,
Link,
LinkButton,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import {
Route,
Routes
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
pluginId
} from "./chunk-RH4C26B2.js";
import {
ForwardRef$3F
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import {
dt
} from "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/plugin-cloud/dist/admin/pages/App.mjs
var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
// node_modules/@strapi/plugin-cloud/dist/admin/pages/HomePage.mjs
var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
// node_modules/@strapi/plugin-cloud/dist/admin/components/Cloud.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
// node_modules/@strapi/plugin-cloud/dist/admin/utils/getTrad.mjs
var getTrad = (id) => `${pluginId}.${id}`;
// node_modules/@strapi/plugin-cloud/dist/admin/components/Icons/UploadIcon.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var UploadIcon = () => (0, import_jsx_runtime.jsx)("svg", {
width: "142",
height: "74",
viewBox: "0 0 142 74",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: (0, import_jsx_runtime.jsxs)("g", {
opacity: "0.88",
children: [
(0, import_jsx_runtime.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M6.50177 8.21597C3.2423 8.21597 0.599976 10.8653 0.599976 14.1334C0.599976 17.4016 3.2423 20.0509 6.50177 20.0509H40.2263C36.9669 20.0509 34.3245 22.7002 34.3245 25.9684C34.3245 29.2365 36.9669 31.8858 40.2263 31.8858H21.6778C18.4183 31.8858 15.776 34.5352 15.776 37.8033C15.776 41.0714 18.4183 43.7207 21.6778 43.7207H30.2556C34.3654 43.7207 37.697 46.3701 37.697 49.6382C37.697 51.3602 36.6436 52.9534 34.5369 54.4177C33.3426 55.2478 31.828 55.4312 30.4754 55.9657C28.2859 56.8308 26.7365 58.9705 26.7365 61.4731C26.7365 64.7413 29.3788 67.3906 32.6383 67.3906H102.617C105.876 67.3906 108.519 64.7413 108.519 61.4731C108.519 58.205 105.876 55.5557 102.617 55.5557H135.498C138.758 55.5557 141.4 52.9063 141.4 49.6382C141.4 46.3701 138.758 43.7207 135.498 43.7207H101.774C98.5142 43.7207 95.8718 41.0714 95.8718 37.8033C95.8718 34.5352 98.5142 31.8858 101.774 31.8858H122.851C126.111 31.8858 128.753 29.2365 128.753 25.9684C128.753 22.7002 126.111 20.0509 122.851 20.0509H89.1269C92.3864 20.0509 95.0287 17.4016 95.0287 14.1334C95.0287 10.8653 92.3864 8.21597 89.1269 8.21597H6.50177ZM6.50177 31.8858C3.2423 31.8858 0.599976 34.5352 0.599976 37.8033C0.599976 41.0714 3.2423 43.7207 6.50177 43.7207C9.76124 43.7207 12.4036 41.0714 12.4036 37.8033C12.4036 34.5352 9.76124 31.8858 6.50177 31.8858Z",
fill: "#DBDBFA"
}),
(0, import_jsx_runtime.jsx)("path", {
d: "M73.6731 73V39.8706",
stroke: "white",
strokeWidth: "2",
strokeLinecap: "round"
}),
(0, import_jsx_runtime.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M50.6061 9.64246C44.2424 9.64246 39.0829 14.802 39.0829 21.1657C39.0829 21.3861 39.103 21.6007 39.116 21.8197C39.1016 22.0818 39.0829 22.3469 39.0829 22.6061C33.3371 25.3602 29 31.9069 29 38.6739C29 48.0582 36.6774 55.7355 46.0616 55.7355H53.487L56.9785 11.5668C55.1535 10.3526 52.9626 9.64246 50.6061 9.64246Z",
fill: "#F1F1FE"
}),
(0, import_jsx_runtime.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M99.4633 24.0465C99.2977 11.5164 89.1025 1 76.5334 1L90.8165 55.7355H96.5364C105.274 55.7355 112.423 48.5868 112.423 39.8507C112.423 32.1143 106.814 25.4308 99.4633 24.0465Z",
fill: "#DEDDFE"
}),
(0, import_jsx_runtime.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M95.2638 24.0465C95.0982 11.5164 84.9029 1 72.3339 1C64.3267 1 63.3991 3.40404 59.2493 9.64245C57.4228 8.42819 57.2845 9.64245 54.928 9.64245C48.5629 9.64245 43.4048 14.802 43.4048 21.1657C43.4048 21.3861 43.4249 21.6007 43.4379 21.8197C43.4235 22.0818 43.4048 22.3469 43.4048 22.6061C37.659 25.3602 33.3219 31.9069 33.3219 38.6739C33.3219 48.0582 40.9993 55.7355 50.3835 55.7355H57.8089H86.617H92.3369C101.074 55.7355 108.223 48.5868 108.223 39.8507C108.223 32.1143 102.614 25.4308 95.2638 24.0465Z",
fill: "white"
}),
(0, import_jsx_runtime.jsx)("path", {
d: "M99.6256 24.0466C99.6256 24.0466 95.9741 23.5064 92.4192 24.0466",
stroke: "#8A88FE",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}),
(0, import_jsx_runtime.jsx)("path", {
d: "M39.1237 21.1657C39.1237 14.802 44.2832 9.64246 50.6469 9.64246C57.0107 9.64246 62.1702 14.802 62.1702 21.1657",
stroke: "#8A88FE",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}),
(0, import_jsx_runtime.jsx)("path", {
d: "M90.9784 55.7355H96.6997C105.436 55.7355 112.584 48.5868 112.584 39.8507C112.584 32.1143 106.976 25.4308 99.6251 24.0465C99.4609 11.5164 89.2657 1 76.6953 1C68.688 1 61.1705 5.32843 57.0193 11.5668C55.1943 10.3526 53.0034 9.64245 50.6469 9.64245C44.2832 9.64245 39.1236 14.802 39.1236 21.1657C39.1236 21.3861 39.1438 21.6007 39.1568 21.8197C39.1424 22.0818 39.1236 22.3469 39.1236 22.6061C33.3778 25.3602 29.0408 31.9069 29.0408 38.6739C29.0408 48.0582 36.7182 55.7355 46.1024 55.7355H53.5277",
stroke: "#8A88FE",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}),
(0, import_jsx_runtime.jsx)("path", {
d: "M72.2531 71.58V38.4506",
stroke: "#8A88FE",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}),
(0, import_jsx_runtime.jsx)("path", {
d: "M72.2531 38.4506L83.7763 49.9739",
stroke: "#8A88FE",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}),
(0, import_jsx_runtime.jsx)("path", {
d: "M60.7297 49.9739L72.253 38.4506",
stroke: "#8A88FE",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
})
]
})
});
// node_modules/@strapi/plugin-cloud/dist/admin/components/Cloud.mjs
var EmptyStateIconWrapper = dt(Box)`
svg {
height: 8.8rem;
}
`;
var CloudBox = () => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime2.jsx)(Box, {
padding: 4,
hasRadius: true,
children: (0, import_jsx_runtime2.jsxs)(Flex, {
alignItems: "center",
direction: "column",
padding: 11,
hasRadius: true,
children: [
(0, import_jsx_runtime2.jsx)(EmptyStateIconWrapper, {
paddingBottom: 6,
"aria-hidden": true,
children: (0, import_jsx_runtime2.jsx)(UploadIcon, {})
}),
(0, import_jsx_runtime2.jsx)(Box, {
paddingBottom: 4,
children: (0, import_jsx_runtime2.jsx)(Typography, {
variant: "beta",
tag: "p",
textAlign: "center",
textColor: "neutral1000",
children: formatMessage({
id: getTrad("Homepage.cloudBox.title"),
defaultMessage: "Deploy to Strapi Cloud"
})
})
}),
(0, import_jsx_runtime2.jsx)(Typography, {
variant: "epsilon",
tag: "p",
textAlign: "center",
textColor: "neutral600",
children: formatMessage({
id: getTrad("Homepage.cloudBox.subTitle"),
defaultMessage: "Enjoy a Strapi-optimized stack including database, email provider, and CDN."
})
}),
(0, import_jsx_runtime2.jsx)(Box, {
marginTop: 4,
children: (0, import_jsx_runtime2.jsx)(LinkButton, {
variant: "default",
endIcon: (0, import_jsx_runtime2.jsx)(ForwardRef$3F, {}),
href: "https://cloud.strapi.io/login?utm_campaign=Strapi%20Cloud%20Plugin&utm_source=In-Product&utm_medium=CTA",
isExternal: true,
target: "_blank",
children: formatMessage({
id: getTrad("Homepage.cloudBox.buttonText"),
defaultMessage: "Deploy to Strapi Cloud"
})
})
})
]
})
});
};
// node_modules/@strapi/plugin-cloud/dist/admin/components/Github.mjs
var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
// node_modules/@strapi/plugin-cloud/dist/admin/components/Icons/LinkIcon.mjs
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
var LinkIcon = () => (0, import_jsx_runtime3.jsxs)("svg", {
width: "160",
height: "88",
viewBox: "0 0 160 88",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: [
(0, import_jsx_runtime3.jsx)("g", {
clipPath: "url(#clip0_7_368)",
children: (0, import_jsx_runtime3.jsxs)("g", {
opacity: "0.84",
children: [
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M139.583 14.4069C142.655 14.4069 145.145 16.8967 145.145 19.968C145.145 23.0394 142.655 25.5292 139.583 25.5292H107.806C110.877 25.5292 113.367 28.019 113.367 31.0903C113.367 34.1616 110.877 36.6514 107.806 36.6514H125.283C128.355 36.6514 130.845 39.1412 130.845 42.2125C130.845 45.2838 128.355 47.7736 125.283 47.7736H117.201C113.328 47.7736 110.189 50.2634 110.189 53.3347C110.189 54.5054 110.708 55.6126 111.747 56.6565C113.567 58.4852 116.602 58.5506 118.564 60.2255C119.759 61.2455 120.517 62.7627 120.517 64.4569C120.517 67.5283 118.027 70.0181 114.956 70.0181H49.0167C45.9454 70.0181 43.4556 67.5283 43.4556 64.4569C43.4556 61.3856 45.9454 58.8958 49.0167 58.8958H18.0334C14.9621 58.8958 12.4723 56.406 12.4723 53.3347C12.4723 50.2634 14.9621 47.7736 18.0334 47.7736H49.8112C52.8825 47.7736 55.3723 45.2838 55.3723 42.2125C55.3723 39.1412 52.8825 36.6514 49.8112 36.6514H29.9501C26.8788 36.6514 24.389 34.1616 24.389 31.0903C24.389 28.019 26.8788 25.5292 29.9501 25.5292H61.7279C58.6565 25.5292 56.1667 23.0394 56.1667 19.968C56.1667 16.8967 58.6565 14.4069 61.7279 14.4069H139.583ZM139.583 36.6514C142.655 36.6514 145.145 39.1412 145.145 42.2125C145.145 45.2838 142.655 47.7736 139.583 47.7736C136.512 47.7736 134.022 45.2838 134.022 42.2125C134.022 39.1412 136.512 36.6514 139.583 36.6514Z",
fill: "#D9D8FF",
fillOpacity: "0.8"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M81.0546 42.3195C75.781 37.0459 75.781 28.4165 81.0546 23.1428L92.2419 11.9555C97.5155 6.68192 106.145 6.68192 111.419 11.9555C116.692 17.2291 116.692 25.8586 111.419 31.1334L100.231 42.3195C94.9576 47.5931 86.3282 47.5931 81.0546 42.3195Z",
fill: "white"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M78.1614 42.3195C72.8878 37.0459 72.8878 28.4165 78.1614 23.1428L89.3487 11.9555C94.6223 6.68192 103.252 6.68192 108.525 11.9555C113.799 17.2291 113.799 25.8586 108.525 31.1334L97.3381 42.3195C92.0644 47.5931 83.435 47.5931 78.1614 42.3195Z",
fill: "#D9D8FF"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M78.2876 42.3195C73.014 37.0459 73.014 28.4165 78.2876 23.1428L89.4749 11.9555C94.7485 6.68192 99.9778 6.68192 105.251 11.9555C110.526 17.2291 110.526 25.8586 105.251 31.1334L94.0653 42.3195C88.7917 47.5931 83.5612 47.5931 78.2876 42.3195Z",
fill: "#F0F0FF"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M108.965 11.9555C111.829 14.8193 113.124 18.6721 112.878 22.4399C112.671 20.0398 111.375 17.6386 108.965 15.2287C103.691 9.95511 95.062 9.95511 89.7884 15.2287L78.601 26.416C76.1912 28.8259 74.895 31.2272 74.6878 33.6272C74.4423 29.8594 75.7373 26.0066 78.601 23.1428L89.7884 11.9555C95.062 6.68192 103.691 6.68192 108.965 11.9555Z",
fill: "white"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M78.1192 45.6809C72.8456 40.4073 64.2162 40.4073 58.9426 45.6809L47.7553 56.8682C42.4816 62.1418 42.4816 70.7713 47.7553 76.0449C53.0289 81.3185 61.6583 81.3185 66.9319 76.0449L78.1192 64.8588C83.3928 59.584 83.3928 50.9545 78.1192 45.6809Z",
fill: "white"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M78.1192 42.7884C72.8456 37.5148 64.2162 37.5148 58.9426 42.7884L56.5685 45.1613C57.0692 45.8384 56.8595 46.9829 55.9518 47.2555C56.0887 47.5823 56.0887 47.9708 55.863 48.3704C54.9923 49.912 53.8108 51.1848 52.4172 52.2639C51.9127 52.6537 51.2763 52.7634 50.7448 52.407C50.5364 52.7264 50.1997 52.9632 49.7002 52.9632C49.4079 52.9632 49.1834 52.867 48.991 52.7388L47.7553 53.9758C42.4816 59.2494 42.4816 67.8788 47.7553 73.1524C53.0289 78.426 61.6583 78.426 66.9319 73.1524L78.1192 61.9663C83.3928 56.6915 83.3928 48.0621 78.1192 42.7884Z",
fill: "#D9D8FF"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M78.1192 42.915C72.8456 37.6414 64.2162 37.6414 58.9426 42.915L56.4106 45.4457C56.8595 46.2326 56.5105 47.4906 55.3278 47.4906C55.2945 47.4906 55.2735 47.4745 55.2427 47.4733C55.4634 48.0752 55.2155 48.7115 54.6901 49.0815C53.6566 49.8067 53.0535 51.0585 52.1853 51.9551C51.7931 52.3609 51.3294 52.4226 50.9224 52.2894C50.7177 52.6298 50.3748 52.8863 49.8543 52.8863C49.5768 52.8863 49.361 52.7999 49.1736 52.6828L47.7553 54.1011C43.398 58.4584 43.398 65.5227 47.7553 69.8788C53.0289 75.1524 61.6583 75.1524 66.9319 69.8788L78.1192 58.6927C82.4765 54.3354 82.4765 47.271 78.1192 42.915Z",
fill: "#F0F0FF"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M47.7553 73.5916C50.619 76.4553 54.4718 77.7503 58.2396 77.5048C55.8396 77.2976 53.4383 76.0014 51.0285 73.5916C45.7548 68.3179 45.7548 59.6885 51.0285 54.4137L62.2158 43.2276C64.6256 40.8177 67.0269 39.5215 69.4269 39.3143C65.6579 39.0689 61.8063 40.3638 58.9426 43.2276L47.7553 54.4137C42.4816 59.6885 42.4816 68.3179 47.7553 73.5916Z",
fill: "white"
}),
(0, import_jsx_runtime3.jsx)("path", {
d: "M103.041 36.617L97.3392 42.3198C92.0656 47.5922 83.4349 47.5922 78.1613 42.3198C72.8877 37.0462 72.8877 28.4155 78.1613 23.1419L89.3486 11.9546C94.6222 6.68223 103.252 6.68223 108.525 11.9546C113.056 16.4858 113.694 23.4934 110.441 28.7226",
stroke: "#7B79FF",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}),
(0, import_jsx_runtime3.jsx)("path", {
d: "M56.3043 45L58.9843 42.32C64.2579 37.0464 72.8874 37.0464 78.161 42.32C83.4346 47.5936 83.4346 56.2243 78.161 61.4979L66.9749 72.684C61.7013 77.9576 53.0706 77.9576 47.797 72.684C42.5234 67.4104 42.5234 58.7809 47.797 53.5061L48.9045 52.3998",
stroke: "#7B79FF",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}),
(0, import_jsx_runtime3.jsx)("path", {
d: "M89.6695 30.8114L66.6536 53.8274",
stroke: "#7B79FF",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M53.7086 48.6992C53.7086 49.3799 53.156 49.9325 52.4752 49.9325C51.7945 49.9325 51.2419 49.3799 51.2419 48.6992C51.2419 48.0184 51.7945 47.4659 52.4752 47.4659C53.156 47.4659 53.7086 48.0184 53.7086 48.6992Z",
fill: "#7B79FF"
}),
(0, import_jsx_runtime3.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M107.974 32.6662C107.974 33.3469 107.421 33.8995 106.741 33.8995C106.06 33.8995 105.507 33.3469 105.507 32.6662C105.507 31.9854 106.06 31.4328 106.741 31.4328C107.421 31.4328 107.974 31.9854 107.974 32.6662Z",
fill: "#7B79FF"
})
]
})
}),
(0, import_jsx_runtime3.jsx)("defs", {
children: (0, import_jsx_runtime3.jsx)("clipPath", {
id: "clip0_7_368",
children: (0, import_jsx_runtime3.jsx)("rect", {
width: "158.4",
height: "88",
fill: "white",
transform: "translate(0.800049)"
})
})
})
]
});
// node_modules/@strapi/plugin-cloud/dist/admin/components/Github.mjs
var EmptyStateIconWrapper2 = dt(Box)`
svg {
height: 8.8rem;
}
`;
var CustomGithubButton = dt(LinkButton)`
background-color: #000000;
color: #ffffff;
border: none;
& svg > path {
fill: ${({ theme }) => theme.colors.neutral0};
}
&:hover {
background-color: #32324d !important;
border: none !important;
}
`;
var GithubBox = () => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime4.jsx)(Box, {
padding: 4,
children: (0, import_jsx_runtime4.jsxs)(Flex, {
alignItems: "center",
direction: "column",
padding: 11,
children: [
(0, import_jsx_runtime4.jsx)(EmptyStateIconWrapper2, {
paddingBottom: 6,
"aria-hidden": true,
children: (0, import_jsx_runtime4.jsx)(LinkIcon, {})
}),
(0, import_jsx_runtime4.jsx)(Box, {
paddingBottom: 4,
children: (0, import_jsx_runtime4.jsx)(Typography, {
variant: "beta",
tag: "p",
textAlign: "center",
textColor: "neutral1000",
children: formatMessage({
id: getTrad("Homepage.githubBox.title.not-versioned"),
defaultMessage: "Push your project on GitHub"
})
})
}),
(0, import_jsx_runtime4.jsx)(Typography, {
variant: "epsilon",
tag: "p",
textAlign: "center",
textColor: "neutral600",
children: formatMessage({
id: getTrad("Homepage.githubBox.subTitle.not-versioned"),
defaultMessage: "Your project has to be versioned on GitHub before deploying on Strapi Cloud."
})
}),
(0, import_jsx_runtime4.jsx)(Box, {
marginTop: 4,
children: (0, import_jsx_runtime4.jsx)(CustomGithubButton, {
isExternal: true,
startIcon: (0, import_jsx_runtime4.jsx)(ForwardRef$x, {}),
href: "https://github.com/new",
target: "_blank",
children: formatMessage({
id: getTrad("Homepage.githubBox.buttonText"),
defaultMessage: "Upload to GitHub"
})
})
})
]
})
});
};
// node_modules/@strapi/plugin-cloud/dist/admin/pages/assets/corner-ornament.svg.mjs
var img = "data:image/svg+xml,%3csvg width='148' height='148' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cg opacity='.8' fill-rule='evenodd' clip-rule='evenodd'%3e %3cpath opacity='.15' d='M110.81 37H73.97V74.1h36.84V37Z' fill='url(%23a)'/%3e %3cpath opacity='.07' d='M36.84 0H0v37.08h36.84V0Z' fill='url(%23b)'/%3e %3cpath opacity='.07' d='M73.92 73.95H37.08v37.08h36.84V73.95Z' fill='url(%23c)'/%3e %3cpath opacity='.07' d='M147.99 110.92h-37.3V148H148v-37.08Z' fill='url(%23d)'/%3e %3cpath opacity='.15' d='M73.83 37H36.84L73.83 0v37Z' fill='url(%23e)'/%3e %3cpath opacity='.15' d='M110.6 111.02v-37h36.98l-36.99 37Z' fill='url(%23f)'/%3e %3cpath opacity='.4' d='M73.83 0v37h36.98v37.01h37V3a3 3 0 0 0-3-3H73.82Z' fill='url(%23g)'/%3e %3c/g%3e %3cdefs%3e %3clinearGradient id='a' x1='91.31' y1='83.31' x2='118.24' y2='56.59' gradientUnits='userSpaceOnUse'%3e %3cstop stop-color='%237A92FF'/%3e %3cstop offset='1' stop-color='%233253EA'/%3e %3c/linearGradient%3e %3clinearGradient id='b' x1='40.99' y1='13.88' x2='.01' y2='11.64' gradientUnits='userSpaceOnUse'%3e %3cstop stop-color='%23A8B8FF'/%3e %3cstop offset='1' stop-color='%233253EA'/%3e %3c/linearGradient%3e %3clinearGradient id='c' x1='54.41' y1='120.25' x2='81.35' y2='93.52' gradientUnits='userSpaceOnUse'%3e %3cstop stop-color='%23A8B8FF'/%3e %3cstop offset='1' stop-color='%233253EA'/%3e %3c/linearGradient%3e %3clinearGradient id='d' x1='128.24' y1='157.22' x2='155.17' y2='130.17' gradientUnits='userSpaceOnUse'%3e %3cstop stop-color='%23A8B8FF'/%3e %3cstop offset='1' stop-color='%233253EA'/%3e %3c/linearGradient%3e %3clinearGradient id='e' x1='54.24' y1='46.21' x2='81.12' y2='19.38' gradientUnits='userSpaceOnUse'%3e %3cstop stop-color='%237A92FF'/%3e %3cstop offset='1' stop-color='%233253EA'/%3e %3c/linearGradient%3e %3clinearGradient id='f' x1='126.28' y1='74.05' x2='124.94' y2='111.07' gradientUnits='userSpaceOnUse'%3e %3cstop stop-color='%237A92FF'/%3e %3cstop offset='1' stop-color='%233253EA'/%3e %3c/linearGradient%3e %3clinearGradient id='g' x1='73.37' y1='36.87' x2='132.87' y2='66.74' gradientUnits='userSpaceOnUse'%3e %3cstop stop-color='%237A92FF'/%3e %3cstop offset='1' stop-color='%233858EA'/%3e %3c/linearGradient%3e %3c/defs%3e%3c/svg%3e";
// node_modules/@strapi/plugin-cloud/dist/admin/pages/assets/left-side-cloud.png.mjs
var img2 = "data:image/png;base64,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 Line truncated
// node_modules/@strapi/plugin-cloud/dist/admin/pages/assets/right-side-cloud.png.mjs
var img3 = "data:image/png;base64,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 truncated
// node_modules/@strapi/plugin-cloud/dist/admin/pages/HomePage.mjs
var LogoContainer = dt(Box)`
position: absolute;
top: 0;
right: 0;
img {
width: 15rem;
}
`;
var RightSideCloudContainer = dt(Box)`
position: absolute;
top: 400px;
right: 0;
img {
width: 15rem;
}
`;
var LeftSideCloudContainer = dt(Box)`
position: absolute;
top: 150px;
left: 56px;
img {
width: 15rem;
}
`;
var HomePage = () => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime5.jsxs)(Box, {
paddingLeft: 10,
paddingRight: 10,
children: [
(0, import_jsx_runtime5.jsx)(RightSideCloudContainer, {
children: (0, import_jsx_runtime5.jsx)("img", {
alt: "right-side-cloud",
"aria-hidden": true,
src: img3
})
}),
(0, import_jsx_runtime5.jsx)(LeftSideCloudContainer, {
children: (0, import_jsx_runtime5.jsx)("img", {
alt: "left-side-cloud",
"aria-hidden": true,
src: img2
})
}),
(0, import_jsx_runtime5.jsx)(LogoContainer, {
children: (0, import_jsx_runtime5.jsx)("img", {
alt: "strapi-corner-ornament",
"aria-hidden": true,
src: img
})
}),
(0, import_jsx_runtime5.jsxs)(Box, {
paddingLeft: 10,
paddingRight: 10,
paddingBottom: 8,
paddingTop: 10,
children: [
(0, import_jsx_runtime5.jsx)(Flex, {
justifyContent: "space-between",
alignItems: "center",
direction: "column",
children: (0, import_jsx_runtime5.jsx)(Flex, {
minWidth: 0,
children: (0, import_jsx_runtime5.jsx)(Typography, {
tag: "h1",
variant: "alpha",
children: formatMessage({
id: getTrad("Homepage.title"),
defaultMessage: "Fully-managed Cloud Hosting for your Strapi Project"
})
})
})
}),
(0, import_jsx_runtime5.jsx)(Flex, {
alignItems: "center",
direction: "column",
children: (0, import_jsx_runtime5.jsx)(Typography, {
variant: "epsilon",
textColor: "neutral600",
tag: "p",
children: formatMessage({
id: getTrad("Homepage.subTitle"),
defaultMessage: "Follow this 2 steps process to get Everything You Need to Run Strapi in Production."
})
})
})
]
}),
(0, import_jsx_runtime5.jsxs)(Box, {
padding: 10,
children: [
(0, import_jsx_runtime5.jsxs)(Layouts.Grid, {
size: "M",
children: [
(0, import_jsx_runtime5.jsx)(GithubBox, {}),
(0, import_jsx_runtime5.jsx)(CloudBox, {})
]
}),
(0, import_jsx_runtime5.jsxs)(Box, {
padding: 6,
borderRadius: 8,
hasRadius: true,
background: "neutral0",
borderColor: "neutral200",
children: [
(0, import_jsx_runtime5.jsx)(Box, {
paddingBottom: 2,
children: (0, import_jsx_runtime5.jsx)(Typography, {
variant: "delta",
fontWeight: "bold",
textColor: "neutral1000",
tag: "p",
children: formatMessage({
id: getTrad("Homepage.textBox.label.versioned"),
defaultMessage: "Try Strapi Cloud for Free!"
})
})
}),
(0, import_jsx_runtime5.jsxs)(Typography, {
variant: "epsilon",
textColor: "neutral1000",
tag: "p",
children: [
formatMessage({
id: getTrad("Homepage.textBox.text.versioned"),
defaultMessage: "Strapi Cloud offers a 14 days free trial for you to experiment with your project on the cloud including all features."
}),
" ",
(0, import_jsx_runtime5.jsx)(Link, {
href: "https://strapi.io/cloud?utm_campaign=Strapi%20Cloud%20Plugin&utm_source=In-Product&utm_medium=CTA",
children: "Learn more"
})
]
})
]
})
]
})
]
});
};
// node_modules/@strapi/plugin-cloud/dist/admin/pages/App.mjs
var App = () => {
return (0, import_jsx_runtime6.jsx)("div", {
children: (0, import_jsx_runtime6.jsxs)(Routes, {
children: [
(0, import_jsx_runtime6.jsx)(Route, {
index: true,
element: (0, import_jsx_runtime6.jsx)(HomePage, {})
}),
(0, import_jsx_runtime6.jsx)(Route, {
path: "*",
element: (0, import_jsx_runtime6.jsx)(Page.Error, {})
})
]
})
});
};
export {
App
};
//# sourceMappingURL=App-7CUG4FT5.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/plugin-cloud/admin/src/utils/getTrad.ts", "../../../@strapi/plugin-cloud/admin/src/components/Icons/UploadIcon.tsx", "../../../@strapi/plugin-cloud/admin/src/components/Cloud.tsx", "../../../@strapi/plugin-cloud/admin/src/components/Icons/LinkIcon.tsx", "../../../@strapi/plugin-cloud/admin/src/components/Github.tsx", "../../../@strapi/plugin-cloud/admin/src/pages/assets/corner-ornament.svg", "../../../@strapi/plugin-cloud/admin/src/pages/assets/left-side-cloud.png", "../../../@strapi/plugin-cloud/admin/src/pages/assets/right-side-cloud.png", "../../../@strapi/plugin-cloud/admin/src/pages/HomePage.tsx", "../../../@strapi/plugin-cloud/admin/src/pages/App.tsx"],
"sourcesContent": ["import { pluginId } from '../pluginId';\n\nconst getTrad = (id: string) => `${pluginId}.${id}`;\n\nexport { getTrad };\n", "export const UploadIcon = () => (\n <svg width=\"142\" height=\"74\" viewBox=\"0 0 142 74\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.88\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.50177 8.21597C3.2423 8.21597 0.599976 10.8653 0.599976 14.1334C0.599976 17.4016 3.2423 20.0509 6.50177 20.0509H40.2263C36.9669 20.0509 34.3245 22.7002 34.3245 25.9684C34.3245 29.2365 36.9669 31.8858 40.2263 31.8858H21.6778C18.4183 31.8858 15.776 34.5352 15.776 37.8033C15.776 41.0714 18.4183 43.7207 21.6778 43.7207H30.2556C34.3654 43.7207 37.697 46.3701 37.697 49.6382C37.697 51.3602 36.6436 52.9534 34.5369 54.4177C33.3426 55.2478 31.828 55.4312 30.4754 55.9657C28.2859 56.8308 26.7365 58.9705 26.7365 61.4731C26.7365 64.7413 29.3788 67.3906 32.6383 67.3906H102.617C105.876 67.3906 108.519 64.7413 108.519 61.4731C108.519 58.205 105.876 55.5557 102.617 55.5557H135.498C138.758 55.5557 141.4 52.9063 141.4 49.6382C141.4 46.3701 138.758 43.7207 135.498 43.7207H101.774C98.5142 43.7207 95.8718 41.0714 95.8718 37.8033C95.8718 34.5352 98.5142 31.8858 101.774 31.8858H122.851C126.111 31.8858 128.753 29.2365 128.753 25.9684C128.753 22.7002 126.111 20.0509 122.851 20.0509H89.1269C92.3864 20.0509 95.0287 17.4016 95.0287 14.1334C95.0287 10.8653 92.3864 8.21597 89.1269 8.21597H6.50177ZM6.50177 31.8858C3.2423 31.8858 0.599976 34.5352 0.599976 37.8033C0.599976 41.0714 3.2423 43.7207 6.50177 43.7207C9.76124 43.7207 12.4036 41.0714 12.4036 37.8033C12.4036 34.5352 9.76124 31.8858 6.50177 31.8858Z\"\n fill=\"#DBDBFA\"\n />\n <path d=\"M73.6731 73V39.8706\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M50.6061 9.64246C44.2424 9.64246 39.0829 14.802 39.0829 21.1657C39.0829 21.3861 39.103 21.6007 39.116 21.8197C39.1016 22.0818 39.0829 22.3469 39.0829 22.6061C33.3371 25.3602 29 31.9069 29 38.6739C29 48.0582 36.6774 55.7355 46.0616 55.7355H53.487L56.9785 11.5668C55.1535 10.3526 52.9626 9.64246 50.6061 9.64246Z\"\n fill=\"#F1F1FE\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M99.4633 24.0465C99.2977 11.5164 89.1025 1 76.5334 1L90.8165 55.7355H96.5364C105.274 55.7355 112.423 48.5868 112.423 39.8507C112.423 32.1143 106.814 25.4308 99.4633 24.0465Z\"\n fill=\"#DEDDFE\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M95.2638 24.0465C95.0982 11.5164 84.9029 1 72.3339 1C64.3267 1 63.3991 3.40404 59.2493 9.64245C57.4228 8.42819 57.2845 9.64245 54.928 9.64245C48.5629 9.64245 43.4048 14.802 43.4048 21.1657C43.4048 21.3861 43.4249 21.6007 43.4379 21.8197C43.4235 22.0818 43.4048 22.3469 43.4048 22.6061C37.659 25.3602 33.3219 31.9069 33.3219 38.6739C33.3219 48.0582 40.9993 55.7355 50.3835 55.7355H57.8089H86.617H92.3369C101.074 55.7355 108.223 48.5868 108.223 39.8507C108.223 32.1143 102.614 25.4308 95.2638 24.0465Z\"\n fill=\"white\"\n />\n <path\n d=\"M99.6256 24.0466C99.6256 24.0466 95.9741 23.5064 92.4192 24.0466\"\n stroke=\"#8A88FE\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M39.1237 21.1657C39.1237 14.802 44.2832 9.64246 50.6469 9.64246C57.0107 9.64246 62.1702 14.802 62.1702 21.1657\"\n stroke=\"#8A88FE\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M90.9784 55.7355H96.6997C105.436 55.7355 112.584 48.5868 112.584 39.8507C112.584 32.1143 106.976 25.4308 99.6251 24.0465C99.4609 11.5164 89.2657 1 76.6953 1C68.688 1 61.1705 5.32843 57.0193 11.5668C55.1943 10.3526 53.0034 9.64245 50.6469 9.64245C44.2832 9.64245 39.1236 14.802 39.1236 21.1657C39.1236 21.3861 39.1438 21.6007 39.1568 21.8197C39.1424 22.0818 39.1236 22.3469 39.1236 22.6061C33.3778 25.3602 29.0408 31.9069 29.0408 38.6739C29.0408 48.0582 36.7182 55.7355 46.1024 55.7355H53.5277\"\n stroke=\"#8A88FE\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M72.2531 71.58V38.4506\"\n stroke=\"#8A88FE\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M72.2531 38.4506L83.7763 49.9739\"\n stroke=\"#8A88FE\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M60.7297 49.9739L72.253 38.4506\"\n stroke=\"#8A88FE\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n </svg>\n);\n", "/*\n *\n * Cloud component\n *\n */\n\nimport { Box, Flex, TyLine truncated
"mappings": "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 truncated
"names": ["getTrad", "id", "pluginId", "UploadIcon", "_jsx", "svg", "width", "height", "viewBox", "fill", "xmlns", "_jsxs", "g", "opacity", "path", "fillRule", "clipRule", "d", "stroke", "strokeWidth", "strokeLinecap", "strokeLinejoin", "EmptyStateIconWrapper", "styled", "Box", "CloudBox", "formatMessage", "useIntl", "_jsx", "padding", "hasRadius", "_jsxs", "Flex", "alignItems", "direction", "paddingBottom", "aria-hidden", "UploadIcon", "Typography", "variant", "tag", "textAlign", "textColor", "id", "getTrad", "defaultMessage", "marginTop", "LinkButton", "endIcon", "ExternalLink", "href", "isExternal", "target", "LinkIcon", "_jsxs", "svg", "width", "height", "viewBox", "fill", "xmlns", "_jsx", "g", "clipPath", "opacity", "path", "fillRule", "clipRule", "d", "fillOpacity", "stroke", "strokeWidth", "strokeLinecap", "strokeLinejoin", "defs", "id", "rect", "transform", "EmptyStateIconWrapper", "styled", "Box", "CustomGithubButton", "LinkButton", "theme", "colors", "neutral0", "GithubBox", "formatMessage", "useIntl", "_jsx", "padding", "_jsxs", "Flex", "alignItems", "direction", "paddingBottom", "aria-hidden", "LinkIcon", "Typography", "variant", "tag", "textAlign", "textColor", "id", "getTrad", "defaultMessage", "marginTop", "isExternal", "startIcon", "GitHub", "href", "target", "img", "img", "img", "LogoContainer", "styled", "Box", "RightSideCloudContainer", "LeftSideCloudContainer", "HomePage", "formatMessage", "useIntl", "_jsxs", "paddingLeft", "paddingRight", "_jsx", "img", "alt", "aria-hidden", "src", "rightSideCloudPath", "leftSideCloudPath", "cornerOrnamentPath", "paddingBottom", "paddingTop", "Flex", "justifyContent", "alignItems", "direction", "minWidth", "Typography", "tag", "variant", "id", "getTrad", "defaultMessage", "textColor", "padding", "Layouts", "Grid", "size", "GithubBox", "CloudBox", "borderRadius", "hasRadius", "background", "borderColor", "fontWeight", "Link", "href", "App", "_jsx", "div", "_jsxs", "Routes", "Route", "index", "element", "HomePage", "path", "Page", "Error"]
}
File diff suppressed because it is too large. Load diff
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../lodash/isString.js", "../../../lodash/_asciiSize.js", "../../../lodash/_unicodeSize.js", "../../../lodash/_stringSize.js", "../../../lodash/size.js", "../../../lodash/toLower.js", "../../../lodash/_baseIsRegExp.js", "../../../lodash/isRegExp.js", "../../../lodash/truncate.js", "../../../lodash/_createSet.js", "../../../lodash/_baseUniq.js", "../../../lodash/uniq.js", "../../../lodash/lodash.min.js", "../../../lodash/fp.js", "../../../@strapi/content-type-builder/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.ts", "../../../@strapi/content-type-builder/admin/src/components/ContentTypeBuilderNav/ContentTypeBuilderNav.tsx", "../../../@strapi/content-type-builder/admin/src/utils/isAllowedContentTypesForRelations.ts", "../../../@strapi/content-type-builder/admin/src/utils/findAttribute.ts", "../../../@strapi/content-type-builder/admin/src/utils/getYupInnerErrors.ts", "../../../@strapi/content-type-builder/admin/src/components/AllowedTypesSelect.tsx", "../../../@strapi/content-type-builder/admin/src/components/AttributeOptions/OptionBoxWrapper.tsx", "../../../@strapi/content-type-builder/admin/src/components/AttributeOptions/AttributeOption.tsx", "../../../@strapi/content-type-builder/admin/src/components/AttributeOptions/AttributeList.tsx", "../../../@strapi/content-type-builder/admin/src/components/AttributeOptions/CustomFieldOption.tsx", "../../../@strapi/content-type-builder/admin/src/components/AttributeOptions/EmptyAttributes.tsx", "../../../@strapi/content-type-builder/admin/src/components/AttributeOptions/CustomFieldsList.tsx", "../../../@strapi/content-type-builder/admin/src/components/AttributeOptions/AttributeOptions.tsx", "../../../@strapi/content-type-builder/admin/src/components/BooleanDefaultValueSelect.tsx", "../../../@strapi/content-type-builder/admin/src/components/CustomRadioGroup/Styles.tsx", "../../../@strapi/content-type-builder/admin/src/components/CustomRadioGroup/CustomRadioGroup.tsx", "../../../@strapi/content-type-builder/admin/src/components/BooleanRadioGroup.tsx", "../../../@strapi/content-type-builder/admin/src/components/CheckboxWithNumberField.tsx", "../../../@strapi/content-type-builder/admin/src/components/ContentTypeRadioGroup.tsx", "../../../@strapi/content-type-builder/admin/src/components/DraftAndPublishToggle.tsx", "../../../@strapi/content-type-builder/admin/src/components/FormModalEndActions.tsx", "../../../@strapi/content-type-builder/admin/src/components/FormModalHeader.tsx", "../../../@strapi/content-type-builder/admin/src/components/FormModalSubHeader.tsx", "../../../@strapi/content-type-builder/admin/src/components/IconPicker/IconPicker.tsx", "../../../@strapi/content-type-builder/admin/src/components/PluralName.tsx", "../../../@strapi/content-type-builder/admin/src/utils/parseDateValue.ts", "../../../@strapi/content-type-builder/admin/src/utils/timeFormat.ts", "../../../@strapi/content-type-builder/admin/src/components/GenericInputs.tsx", "../../../@strapi/content-type-builder/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx", "../../../@strapi/content-type-builder/admin/src/components/Relation/RelationField/RelationField.tsx", "../../../@strapi/content-type-builder/admin/src/components/Relation/RelationNaturePicker/Components.tsx", "../../../@strapi/content-type-builder/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.tsx", "../../../@strapi/content-type-builder/admin/src/components/Relation/Relation.tsx", "../../../@strapi/content-type-builder/admin/src/components/SelectCategory.tsx", "../../../@strapi/content-type-builder/admin/src/utils/getMaxDepth.ts", "../../../@strapi/content-type-builder/admin/src/components/SelectComponent.tsx", "../../../@strapi/content-type-builder/admin/src/components/SelectComponents.tsx", "../../../@strapi/content-type-builder/admin/src/components/SelectDateType.tsx", "../../../@strapi/content-type-builder/admin/src/components/SelectNumber.tsx", "../../../@strapi/content-type-builder/admin/src/components/SingularName.tsx", "../../../@strapi/content-type-builder/admin/src/components/TabForm.tsx", "../../../@strapi/content-type-builder/admin/src/components/TextareaEnum.tsx", "../../../@strapi/content-type-builder/admin/src/components/FormModal/attributes/nameField.ts", "../../../@strapi/content-type-builder/admin/src/components/FormModal/attributes/commonBaseForm.ts", "../../../@strapi/content-type-builder/admin/src/components/FormModal/component/componentForm.ts", "../../../@strapi/content-type-builder/admin/src/components/FormModal/attributes/attributeOptions.ts", "../../../@strapi/content-type-builder/admin/src/components/FormModal/attributes/advancedForm.ts", "../../../@strapi/content-type-builder/admin/src/components/FormModal/component/componentField.ts", "../../../@strapi/content-type-builder/admin/src/components/FormModal/attributes/baseForm.ts", "../../../@strapi/content-type-builder/admin/src/components/FormModal/attribLine truncated
"sourcesContent": ["var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n", "var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = baseProperty('length');\n\nmodule.exports = asciiSize;\n", "/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n}\n\nmodule.exports = unicodeSize;\n", "var asciiSize = require('./_asciiSize'),\n hasUnicode = require('./_hasUnicode'),\n unicodeSize = require('./_unicodeSize');\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n}\n\nmodule.exports = stringSize;\n", "var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArrayLike = require('./isArrayLike'),\n isString = require('./isString'),\n stringSize = require('./_stringSize');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\nfunction size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n}\n\nmodule.exports = size;\n", "var toString = require('./toString');\n\n/**\n * Converts `string`, as a whole, to lower case just like\n * [String#toLowerCase](https://mdn.io/toLowerCase).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.toLower('--Foo-Bar--');\n * // => '--foo-bar--'\n *\n * _.toLower('fooBar');\n * // => 'foobar'\n *\n * _.toLower('__FOO_BAR__');\n * // => '__foo_bar__'\n */\nfunction toLower(value) {\n return toStLine truncated
"mappings": "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 truncated
"names": ["size", "toLower", "truncate", "options", "Set", "set", "uniq", "n", "t", "r", "e", "u", "i", "o", "dt", "p", "x", "Z", "Ct", "Y", "J", "$t", "Yt", "Qt", "f", "c", "a", "l", "s", "h", "_", "v", "g", "y", "d", "b", "w", "Xt", "nr", "tr", "rr", "er", "ur", "ir", "or", "fr", "Wr", "cr", "ar", "lr", "sr", "hr", "pr", "_r", "vr", "gr", "yr", "dr", "br", "wr", "mr", "xr", "jr", "Ar", "kr", "Or", "Ir", "Rr", "Mr", "zr", "Er", "Br", "Sr", "Lr", "Cr", "Ur", "Tr", "Fr", "Nr", "Pr", "Gr", "Hr", "Jr", "Yr", "ne", "te", "ee", "ue", "oe", "fe", "_e", "de", "m", "j", "qs", "useContentTypeBuilderMenu", "components", "componentsGroupedByCategory", "contentTypes", "isInDevelopmentMode", "sortedContentTypesList", "modifiedData", "initialData", "useDataManager", "toggleNotification", "useNotification", "formatMessage", "useIntl", "trackUsage", "useTracking", "searchValue", "setSearchValue", "useState", "onOpenModalCreateSchema", "onOpenModalEditCategory", "useFormModalNavigation", "locale", "startsWith", "useFilter", "sensitivity", "formatter", "useCollator", "canOpenModalCreateCTorComponent", "Object", "keys", "some", "ct", "isTemporary", "component", "isEqual", "handleClickOpenModalCreateCollectionType", "nextState", "modalType", "kind", "actionType", "forTarget", "toggleNotificationCannotCreateSchema", "handleClickOpenModalCreateSingleType", "handleClickOpenModalCreateComponent", "type", "message", "id", "getTrad", "defaultMessage", "componentsData", "entries", "map", "category", "name", "title", "isEditable", "onClickEdit", "e", "data", "stopPropagation", "links", "uid", "to", "pluginId", "schema", "displayName", "sort", "a", "b", "compare", "displayedContentTypes", "filter", "obj", "visible", "customLink", "onClick", "contentType", "singleType", "section", "hasChild", "l", "Array", "isArray", "filteredLinksCount", "link", "filteredLinks", "length", "Boolean", "linksCount", "menu", "search", "value", "onChange", "clear", "SubNavLinkCustom", "styled", "SubNavLink", "ContentTypeBuilderNav", "menu", "search", "useContentTypeBuilderMenu", "formatMessage", "useIntl", "pluginName", "id", "getTrad", "defaultMessage", "_jsxs", "SubNav", "aria-label", "_jsx", "SubNavHeader", "searchable", "value", "onClear", "clear", "onChange", "e", "target", "label", "searchLabel", "SubNavSections", "map", "section", "Fragment", "SubNavSection", "title", "collapsable", "badgeLabel", "linksCount", "toString", "links", "link", "SubNavLinkSection", "upperFirst", "subLink", "tag", "NavLink", "to", "active", "isSubSectionChild", "name", "width", "customLink", "Box", "paddingLeft", "TextButton", "onClick", "startIcon", "Plus", "height", "marginTop", "cursor", "isAllowedContentTypesForRelations", "contentType", "kind", "restrictRelationsTo", "Array", "isArray", "length", "findAttribute", "attributes", "attributeToFind", "find", "name", "extractValuesFromYupError", "errorType", "errorParams", "getYupInnerErrors", "error", "inner", "reduce", "acc", "currentError", "path", "split", "join", "id", "message", "defaultMessage", "values", "type", "params", "options", "label", "children", "value", "AllowedTypesSelect", "intlLabel", "name", "onChange", "formatMessage", "useIntl", "displayedValue", "length", "id", "defaultMessage", "sort", "map", "v", "upperFirst", "join", "_jsxs", "Field", "Root", "_jsx", "Label", "MultiSelectNested", "customizeContent", "values", "target", "type", "OptionBoxWrapper", "styled", "Box", "theme", "colors", "neutral200", "primary100", "primary200", "newAttributes", "NewBadge", "_jsx", "Flex", "grow", "justifyContent", "_jsxs", "gap", "hasRadius", "background", "padding", "Sparkle", "width", "height", "fill", "Typography", "textColor", "variant", "AttributeOption", "type", "formatMessage", "useIntl", "onClickSelectField", "useFormModalNavigation", "handleClick", "step", "attributeType", "OptionBoxWrapper", "tag", "onClick", "AttributeIcon", "Box", "paddingLeft", "fontWeight", "id", "getTrad", "defaultMessage", "includes", "AttributeList", "attributes", "_jsx", "KeyboardNavigable", "tagName", "Flex", "direction", "alignItems", "gap", "map", "attributeRow", "index", "Grid", "Root", "attribute", "Item", "col", "AttributeOption", "type", "CustomFieldOption", "customFieldUid", "customField", "type", "intlLabel", "intlDescription", "formatMessage", "useIntl", "onClickSelectCustomField", "useFormModalNavigation", "handleClick", "attributeType", "_jsx", "OptionBoxWrapper", "padding", "tag", "hasRadius", "onClick", "_jsxs", "Flex", "AttributeIcon", "Box", "paddingLeft", "Typography", "fontWeight", "textColor", "variant", "EmptyCard", "styled", "Box", "theme", "colors", "neutral150", "EmptyCardGrid", "_jsx", "Flex", "wrap", "gap", "Array", "map", "_", "idx", "height", "width", "hasRadius", "EmptyAttributes", "formatMessage", "useIntl", "_jsxs", "position", "top", "alignItems", "justifyContent", "direction", "EmptyDocuments", "paddingTop", "paddingBottom", "textAlign", "Typography", "variant", "tag", "textColor", "id", "getTrad", "dLine truncated
}
File diff suppressed because it is too large. Load diff
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/upload/admin/src/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.tsx", "../../../@strapi/upload/admin/src/utils/getBreadcrumbDataML.ts", "../../../@strapi/upload/admin/src/pages/App/MediaLibrary/components/BulkDeleteButton.tsx", "../../../@strapi/upload/admin/src/hooks/useBulkMove.ts", "../../../@strapi/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.tsx", "../../../@strapi/upload/admin/src/pages/App/MediaLibrary/components/BulkMoveButton.tsx", "../../../@strapi/upload/admin/src/pages/App/MediaLibrary/components/BulkActions.tsx", "../../../@strapi/upload/admin/src/pages/App/MediaLibrary/components/EmptyOrNoPermissions.tsx", "../../../@strapi/upload/admin/src/pages/App/MediaLibrary/components/Filters.tsx", "../../../@strapi/upload/admin/src/pages/App/MediaLibrary/components/Header.tsx", "../../../@strapi/upload/admin/src/pages/App/MediaLibrary/MediaLibrary.tsx", "../../../@strapi/upload/admin/src/pages/App/App.tsx"],
"sourcesContent": ["import { Checkbox, Box, CheckboxProps } from '@strapi/design-system';\n\nimport { useFolderCard } from '../contexts/FolderCard';\n\nexport const FolderCardCheckbox = (props: CheckboxProps) => {\n const { id } = useFolderCard();\n\n return (\n <Box position=\"relative\" zIndex={2}>\n <Checkbox aria-labelledby={`${id}-title`} {...props} />\n </Box>\n );\n};\n", "import { getFolderURL } from './getFolderURL';\nimport { getTrad } from './getTrad';\n\nimport type { Query } from '../../../shared/contracts/files';\nimport type { Folder } from '../../../shared/contracts/folders';\nimport type { MessageDescriptor } from 'react-intl';\n\ninterface GetBreadcrumbDataMLProps {\n folder: Folder;\n options: {\n pathname: string;\n query?: Query;\n };\n}\n\ninterface GetBreadcrumbDataMLReturn {\n id: number | null;\n label: string | MessageDescriptor;\n href?: string;\n}\n\ntype BreadcrumbData = GetBreadcrumbDataMLReturn | [];\n\nexport const getBreadcrumbDataML = (\n folder: GetBreadcrumbDataMLProps['folder'] | null,\n { pathname, query }: GetBreadcrumbDataMLProps['options']\n) => {\n const data: BreadcrumbData[] = [\n {\n id: null,\n label: { id: getTrad('plugin.name'), defaultMessage: 'Media Library' },\n href: folder ? getFolderURL(pathname, query || {}) : undefined,\n },\n ];\n\n if (folder?.parent && typeof folder?.parent !== 'number' && folder?.parent?.parent) {\n data.push([]);\n }\n\n if (folder?.parent && typeof folder.parent !== 'number') {\n data.push({\n id: folder.parent.id,\n label: folder.parent.name,\n href: getFolderURL(pathname, query || {}, {\n folder: folder.parent.id?.toString(),\n folderPath: folder.parent.path,\n }),\n });\n }\n\n if (folder) {\n data.push({\n id: folder.id,\n label: folder.name,\n });\n }\n\n return data;\n};\n", "import { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Button, Dialog } from '@strapi/design-system';\nimport { Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useBulkRemove } from '../../../../hooks/useBulkRemove';\n\nimport type { FolderDefinition } from '../../../../../../shared/contracts/folders';\nimport type { FileWithType } from '../../../../hooks/useBulkRemove';\n\nexport interface BulkDeleteButtonProps {\n selected: Array<FileWithType | FolderDefinition>;\n onSuccess: () => void;\n}\n\nexport const BulkDeleteButton = ({ selected, onSuccess }: BulkDeleteButtonProps) => {\n const { formatMessage } = useIntl();\n const { remove } = useBulkRemove();\n\n const handleConfirmRemove = async () => {\n await remove(selected);\n onSuccess();\n };\n\n return (\n <Dialog.Root>\n <Dialog.Trigger>\n <Button variant=\"danger-light\" size=\"S\" startIcon={<Trash />}>\n {formatMessage({ id: 'global.delete', defaultMessage: 'Delete' })}\n </Button>\n </Dialog.Trigger>\n <ConfirmDialog onConfirm={handleConfirmRemove} />\n </Dialog.Root>\n );\n};\n", "import { useNotification, useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { File, BulkMoveFiles } from '../../../shared/contracts/files';\nimport { Folder, BulkMoveFolders } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nexport interface FolderWithType extends Folder {\n type: string;\n}\n\nexport interface FileWithType extends File {\n type: string;\n}\n\ninterface BulkMoveParams {\n destinationFolderId: number | string;\n filesAndFolders: Array<FolderWithType | FileWithType>;\n}\n\n// Define the shape of the accumulator object\ntype Payload = {\n fileIds?: number[];\n folderIds?: number[];\n};\n\nexport const useBulkMove = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const { post } = useFetchClient();\n\n const bulkMoveQuery = ({ destinationFolderId, filesAndFolders }: BulkMoveParams) => {\n const payload = filesAndFolders.reduce<Payload>((acc, selected) => {\n const { id, type } = selected;\n const key = type === 'asset' ? 'fileIds' : 'folderIds';\n\n if (!acc[key]) {\n acc[key] = [];\n }\n\n acc[key]!.push(id);\n\n return acc;\n }, {});\n\n return post('/upload/actions/bulk-move', { ...payload, destinationFolderId });\n };\n\n const mutation = useMutation<\n BulkMoveFolders.Response | BulkMoveFiles.Response,\n BulkMoveFolders.Response['error'] | BulkMoveFiles.Response['error'],\n BulkMoveParams\n >(bulkMoveQuery, {\n onSuccess(res) {\n const {\n data: { data },\n } = res;\n\n if (data?.files?.length > 0) {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pLine truncated
"mappings": "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 truncated
"names": ["FolderCardCheckbox", "props", "id", "useFolderCard", "_jsx", "Box", "position", "zIndex", "Checkbox", "aria-labelledby", "getBreadcrumbDataML", "folder", "pathname", "query", "data", "id", "label", "getTrad", "defaultMessage", "href", "getFolderURL", "undefined", "parent", "push", "name", "toString", "folderPath", "path", "BulkDeleteButton", "selected", "onSuccess", "formatMessage", "useIntl", "remove", "useBulkRemove", "handleConfirmRemove", "_jsxs", "Dialog", "Root", "_jsx", "Trigger", "Button", "variant", "size", "startIcon", "Trash", "id", "defaultMessage", "ConfirmDialog", "onConfirm", "useBulkMove", "formatMessage", "useIntl", "toggleNotification", "useNotification", "queryClient", "useQueryClient", "post", "useFetchClient", "bulkMoveQuery", "destinationFolderId", "filesAndFolders", "payload", "reduce", "acc", "selected", "id", "type", "key", "push", "mutation", "useMutation", "onSuccess", "res", "data", "files", "length", "refetchQueries", "pluginId", "active", "message", "getTrad", "defaultMessage", "move", "mutateAsync", "BulkMoveDialog", "onClose", "selected", "currentFolder", "formatMessage", "useIntl", "data", "folderStructure", "isLoading", "useFolderStructure", "move", "useBulkMove", "handleSubmit", "values", "setErrors", "destination", "destinationValue", "value", "error", "normalizedError", "normalizeAPIError", "formikErrors", "errors", "reduce", "acc", "path", "length", "defaultMessage", "isEmpty", "_jsx", "Modal", "Content", "Body", "Flex", "justifyContent", "paddingTop", "paddingBottom", "Loader", "id", "getTrad", "initialFormData", "label", "name", "Formik", "validateOnChange", "onSubmit", "initialValues", "setFieldValue", "_jsxs", "Form", "noValidate", "Header", "Title", "Grid", "Root", "gap", "Item", "xs", "col", "direction", "alignItems", "Field", "Label", "SelectTree", "options", "onChange", "defaultValue", "undefined", "menuPortalTarget", "document", "querySelector", "inputId", "ariaErrorMessage", "Typography", "variant", "tag", "textColor", "Footer", "Close", "Button", "type", "loading", "BulkMoveButton", "selected", "onSuccess", "currentFolder", "formatMessage", "useIntl", "showConfirmDialog", "setShowConfirmDialog", "useState", "handleConfirmMove", "_jsxs", "Modal", "Root", "open", "onOpenChange", "_jsx", "Trigger", "Button", "variant", "size", "startIcon", "Folder", "id", "defaultMessage", "BulkMoveDialog", "onClose", "BulkActions", "selected", "onSuccess", "currentFolder", "formatMessage", "useIntl", "numberAssets", "reduce", "_this", "val", "type", "files", "count", "_jsxs", "Flex", "gap", "paddingBottom", "_jsx", "Typography", "variant", "textColor", "id", "getTrad", "defaultMessage", "numberFolders", "filter", "length", "BulkDeleteButton", "BulkMoveButton", "getContentIntlMessage", "isFiltering", "canCreate", "canRead", "id", "defaultMessage", "EmptyOrNoPermissions", "onActionClick", "formatMessage", "useIntl", "content", "_jsx", "EmptyAssets", "icon", "EmptyPermissions", "undefined", "action", "Button", "variant", "startIcon", "Plus", "onClick", "getTrad", "Filters", "open", "setOpen", "useState", "formatMessage", "useIntl", "trackUsage", "useTracking", "query", "setQuery", "useQueryParams", "filters", "$and", "handleRemoveFilter", "nextFilters", "page", "handleSubmit", "location", "filter", "Object", "keys", "length", "_jsxs", "Popover", "Root", "onOpenChange", "_jsx", "Trigger", "Button", "variant", "startIcon", "Filter", "size", "id", "defaultMessage", "FilterPopover", "displayedFilters", "onSubmit", "onToggle", "FilterList", "appliedFilters", "filtersSchema", "onRemoveFilter", "Header", "breadcrumbs", "canCreate", "folder", "onToggleEditFolderDialog", "onToggleUploadAssetDialog", "formatMessage", "useIntl", "pathname", "useLocation", "query", "useQueryParams", "backQuery", "parent", "id", "undefined", "folderPath", "path", "_jsx", "Layouts", "title", "getTrad", "defaultMessage", "subtitle", "Breadcrumbs", "label", "currentFolderId", "navigationAction", "Link", "tag", "NavLink", "startIcon", "ArrowLeft", "to", "stringify", "encode", "primaryAction", "_jsxs", "Flex", "gap", "Button", "Plus", "variant", "onClick", "BoxWithHeight", "styled", "Box", "TypographyMaxWidth", "Typography", "ActionContainer", "theme", "colors", "neutral500", "MediaLibrary", "navigate", "useNavigate", "canRead", "canCreate", "canUpdate", "canCopyLink", "canDownload", "canConfigureView", "isLoading", "permissionsLoading", "useMediaLibraryPermissions", "currentFolderToEditRef", "useRef", "formatMessage", "useIntl", "pathname", "useLocation", "trackUsage", "useTracking", "query", "setQuery", "useQueryParams", "isFiltering", "Boolean", "_q", "filters", "view", "setView", "usePersistentState", "localStorageKeys", "viewOptions", "GRID", "isGridView", "data", "assetsData", "assetsLoading", "error", "assetsError", "useAssets", "skipWhen", "foldersData", "foldersLoading", "foldersError", "useFolders", "enabled", "pagination", "page", "containsAssetFilter", "currentFolder", "isCurrentFolderLoadLine truncated
}
File diff suppressed because it is too large. Load diff
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-releases/admin/src/components/EntryValidationPopover.tsx", "../../../@strapi/content-releases/admin/src/components/RelativeTime.tsx", "../../../@strapi/content-releases/admin/src/components/ReleaseModal.tsx", "../../../@strapi/content-releases/admin/src/store/hooks.ts", "../../../@strapi/content-releases/admin/src/utils/api.ts", "../../../@strapi/content-releases/admin/src/pages/ReleasesPage.tsx", "../../../@strapi/content-releases/admin/src/pages/ReleaseDetailsPage.tsx", "../../../@strapi/content-releases/admin/src/pages/App.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport { FormErrors, FormValues } from '@strapi/admin/strapi-admin';\nimport { unstable_useDocument } from '@strapi/content-manager/strapi-admin';\nimport { Button, LinkButton, Flex, Typography, Popover } from '@strapi/design-system';\nimport { CheckCircle, CrossCircle, ArrowsCounterClockwise, CaretDown } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl, MessageDescriptor } from 'react-intl';\nimport { Link } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport type {\n ReleaseAction,\n ReleaseActionEntry,\n Stage,\n} from '../../../shared/contracts/release-actions';\nimport type { Struct } from '@strapi/types';\n\nconst StyledPopoverFlex = styled(Flex)`\n width: 100%;\n max-width: 256px;\n\n & > * {\n border-bottom: 1px solid ${({ theme }) => theme.colors.neutral150};\n }\n\n & > *:last-child {\n border-bottom: none;\n }\n`;\n\ninterface EntryValidationPopoverProps {\n action: ReleaseAction['type'];\n schema?: Struct.ContentTypeSchema & {\n hasReviewWorkflow: boolean;\n stageRequiredToPublish?: Stage;\n };\n entry: ReleaseActionEntry;\n status: ReleaseAction['status'];\n}\n\ninterface ValidationStatusProps {\n action: ReleaseAction['type'];\n status: ReleaseAction['status'];\n hasErrors: boolean | null;\n requiredStage?: Stage;\n entryStage?: Stage;\n}\n\nconst EntryStatusTrigger = ({\n action,\n status,\n hasErrors,\n requiredStage,\n entryStage,\n}: ValidationStatusProps) => {\n const { formatMessage } = useIntl();\n\n if (action === 'publish') {\n if (hasErrors || (requiredStage && requiredStage.id !== entryStage?.id)) {\n return (\n <Popover.Trigger>\n <Button\n variant=\"ghost\"\n startIcon={<CrossCircle fill=\"danger600\" />}\n endIcon={<CaretDown />}\n >\n <Typography textColor=\"danger600\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: 'content-releases.pages.ReleaseDetails.entry-validation.not-ready',\n defaultMessage: 'Not ready to publish',\n })}\n </Typography>\n </Button>\n </Popover.Trigger>\n );\n }\n\n if (status === 'draft') {\n return (\n <Popover.Trigger>\n <Button\n variant=\"ghost\"\n startIcon={<CheckCircle fill=\"success600\" />}\n endIcon={<CaretDown />}\n >\n <Typography textColor=\"success600\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: 'content-releases.pages.ReleaseDetails.entry-validation.ready-to-publish',\n defaultMessage: 'Ready to publish',\n })}\n </Typography>\n </Button>\n </Popover.Trigger>\n );\n }\n\n if (status === 'modified') {\n return (\n <Popover.Trigger>\n <Button\n variant=\"ghost\"\n startIcon={<ArrowsCounterClockwise fill=\"alternative600\" />}\n endIcon={<CaretDown />}\n >\n <Typography variant=\"omega\" fontWeight=\"bold\" textColor=\"alternative600\">\n {formatMessage({\n id: 'content-releases.pages.ReleaseDetails.entry-validation.modified',\n defaultMessage: 'Ready to publish changes',\n })}\n </Typography>\n </Button>\n </Popover.Trigger>\n );\n }\n\n return (\n <Popover.Trigger>\n <Button\n variant=\"ghost\"\n startIcon={<CheckCircle fill=\"success600\" />}\n endIcon={<CaretDown />}\n >\n <Typography textColor=\"success600\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: 'content-releases.pages.ReleaseDetails.entry-validation.already-published',\n defaultMessage: 'Already published',\n })}\n </Typography>\n </Button>\n </Popover.Trigger>\n );\n }\n\n if (status === 'published') {\n return (\n <Popover.Trigger>\n <Button\n variant=\"ghost\"\n startIcon={<CheckCircle fill=\"success600\" />}\n endIcon={<CaretDown />}\n >\n <Typography textColor=\"success600\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: 'content-releases.pages.ReleaseDetails.entry-validation.ready-to-unpublish',\n defaultMessage: 'Ready to unpublish',\n })}\n </Typography>\n </Button>\n </Popover.Trigger>\n );\n }\n\n return (\n <Popover.Trigger>\n <Button variant=\"ghost\" startIcon={<CheckCircle fill=\"success600\" />} endIcon={<CaretDown />}>\n <Typography textColor=\"success600\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: 'content-releases.pages.ReleaseDetailsLine truncated
"mappings": "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 truncated
"names": ["StyledPopoverFlex", "styled", "Flex", "theme", "colors", "neutral150", "EntryStatusTrigger", "action", "status", "hasErrors", "requiredStage", "entryStage", "formatMessage", "useIntl", "id", "_jsx", "Popover", "Trigger", "Button", "variant", "startIcon", "CrossCircle", "fill", "endIcon", "CaretDown", "Typography", "textColor", "fontWeight", "defaultMessage", "CheckCircle", "ArrowsCounterClockwise", "FieldsValidation", "errors", "kind", "contentTypeUid", "documentId", "locale", "_jsxs", "direction", "gap", "width", "padding", "Object", "keys", "length", "LinkButton", "tag", "Link", "to", "pathname", "search", "stringify", "plugins", "i18n", "fullWidth", "state", "forceValidation", "getReviewStageIcon", "contentTypeHasReviewWorkflow", "getReviewStageMessage", "stageName", "name", "ReviewStageValidation", "Icon", "EntryValidationPopover", "schema", "entry", "validate", "isLoading", "unstable_useDocument", "collectionType", "model", "uid", "skip", "hasReviewWorkflow", "stageRequiredToPublish", "strapi_stage", "Root", "Content", "intervals", "RelativeTime", "forwardRef", "timestamp", "customIntervals", "restProps", "forwardedRef", "formatRelativeTime", "formatDate", "formatTime", "useIntl", "interval", "intervalToDuration", "start", "end", "Date", "now", "unit", "find", "intervalUnit", "Object", "keys", "includes", "relativeTime", "isPast", "customInterval", "custom", "threshold", "displayText", "text", "numeric", "_jsx", "time", "ref", "dateTime", "toISOString", "role", "title", "ReleaseModal", "handleClose", "open", "handleSubmit", "initialValues", "isLoading", "formatMessage", "useIntl", "pathname", "useLocation", "isCreatingRelease", "pluginId", "timezoneList", "systemTimezone", "value", "getTimezones", "scheduledAt", "Date", "getScheduledTimestamp", "values", "date", "time", "timezone", "timezoneWithoutOffset", "split", "zonedTimeToUtc", "getTimezoneWithOffset", "currentTimezone", "find", "_jsx", "Modal", "Root", "onOpenChange", "_jsxs", "Content", "Header", "Title", "id", "defaultMessage", "Formik", "onSubmit", "isScheduled", "validationSchema", "RELEASE_SCHEMA", "validateOnChange", "errors", "handleChange", "setFieldValue", "Form", "Body", "Flex", "direction", "alignItems", "gap", "Field", "name", "error", "required", "Label", "TextInput", "onChange", "Error", "Box", "width", "Checkbox", "checked", "onCheckedChange", "Typography", "textColor", "fontWeight", "_Fragment", "DatePicker", "isoFormatDate", "formatISO", "representation", "clearLabel", "onClear", "minDate", "utcToZonedTime", "TimePicker", "undefined", "TimezoneComponent", "timezoneOptions", "Footer", "Close", "Button", "variant", "loading", "type", "useFormikContext", "setTimezoneList", "useState", "React", "useEffect", "updatedTimezone", "tz", "Combobox", "autocomplete", "filter", "textValue", "replace", "onTextValueChange", "map", "ComboboxOption", "useTypedDispatch", "useDispatch", "isBaseQueryError", "error", "name", "undefined", "LinkCard", "styled", "Link", "RelativeTime", "BaseRelativeTime", "getBadgeProps", "status", "color", "textColor", "backgroundColor", "borderColor", "ReleasesGrid", "sectionTitle", "releases", "isError", "formatMessage", "useIntl", "_jsx", "Page", "Error", "length", "EmptyStateLayout", "content", "id", "defaultMessage", "target", "icon", "EmptyDocuments", "width", "Grid", "Root", "gap", "map", "name", "scheduledAt", "Item", "col", "s", "xs", "direction", "alignItems", "tag", "NavLink", "to", "isExternal", "_jsxs", "Flex", "justifyContent", "padding", "hasRadius", "background", "shadow", "height", "Typography", "variant", "fontWeight", "timestamp", "Date", "Badge", "StyledAlert", "Alert", "INITIAL_FORM_VALUES", "date", "format", "time", "isScheduled", "timezone", "ReleasesPage", "location", "useLocation", "releaseModalShown", "setReleaseModalShown", "useState", "toggleNotification", "useNotification", "navigate", "useNavigate", "formatAPIError", "useAPIErrorHandler", "query", "setQuery", "useQueryParams", "response", "useGetReleasesQuery", "data", "isLoading", "isLoadingSettings", "useGetReleaseSettingsQuery", "createRelease", "isSubmittingForm", "useCreateReleaseMutation", "getFeature", "useLicenseLimits", "maximumReleases", "trackUsage", "useTracking", "allowedActions", "canCreate", "useRBAC", "PERMISSIONS", "isLoadingReleases", "isSuccess", "activeTab", "currentData", "meta", "React", "useEffect", "state", "errors", "type", "title", "message", "replace", "toggleAddReleaseModal", "prev", "Loading", "totalPendingReleases", "pendingReleasesCount", "hasReachedMaximumPendingReleases", "handleTabChange", "tabValue", "page", "pageSize", "pagination", "filters", "releasedAt", "$notNull", "handleAddRelease", "toString", "isFetchError", "error", "Main", "aria-busy", "Layouts", "Header", "subtitle", "primaryAction", "Button", "startIcon", "Plus", "onClick", "disabled", "Content", "_Fragment", "marginBottom", "action", "href", "number", "onClose", "closeLabel", "Tabs", "onValueChange", "value", "Box", "paddingBotLine truncated
}
+982
View File
@@ -0,0 +1,982 @@
import {
selectAdminPermissions
} from "./chunk-6HMBNYS4.js";
import {
useEnterprise
} from "./chunk-W6ICJ5TB.js";
import {
useConfiguration
} from "./chunk-ERK7O2GM.js";
import {
AxiosError,
axios_default,
useAppInfo,
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import {
useSelector
} from "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import {
$c512c27ab02ef895$export$fd42f52fd3ae1109,
Box,
Button,
Card,
CardAsset,
CardBadge,
CardBody,
CardContent,
CardHeader,
CardSubtitle,
CardTitle,
CarouselActions,
CarouselInput,
CarouselSlide,
Field,
Flex,
Grid,
IconButton,
Link,
Modal,
Tabs,
TextInput,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$1f,
ForwardRef$1h,
ForwardRef$3F,
ForwardRef$4F,
ForwardRef$5n
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import {
dt
} from "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
var React2 = __toESM(require_react(), 1);
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.mjs
var DIMENSION = 750;
var SIZE = 100;
var ACCEPTED_FORMAT = [
"image/jpeg",
"image/png",
"image/svg+xml"
];
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.mjs
var FILE_FORMAT_ERROR_MESSAGE = {
id: "Settings.application.customization.modal.upload.error-format",
defaultMessage: "Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."
};
var FILE_SIZING_ERROR_MESSAGE = {
id: "Settings.application.customization.modal.upload.error-size",
defaultMessage: "The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)"
};
var parseFileMetadatas = async (file) => {
const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);
if (!isFormatAuthorized) {
throw new ParsingFileError("File format", FILE_FORMAT_ERROR_MESSAGE);
}
const fileDimensions = await new Promise((resolve) => {
const reader = new FileReader();
reader.onload = () => {
const img = new Image();
img.onload = () => {
resolve({
width: img.width,
height: img.height
});
};
img.src = reader.result;
};
reader.readAsDataURL(file);
});
const areDimensionsAuthorized = fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;
if (!areDimensionsAuthorized) {
throw new ParsingFileError("File sizing", FILE_SIZING_ERROR_MESSAGE);
}
const asset = {
ext: file.name.split(".").pop(),
size: file.size / 1e3,
name: file.name,
url: URL.createObjectURL(file),
rawFile: file,
width: fileDimensions.width,
height: fileDimensions.height
};
const isSizeAuthorized = asset.size <= SIZE;
if (!isSizeAuthorized) {
throw new ParsingFileError("File sizing", FILE_SIZING_ERROR_MESSAGE);
}
return asset;
};
var ParsingFileError = class extends Error {
constructor(message, displayMessage, options) {
super(message, options);
this.displayMessage = displayMessage;
}
};
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs
var [LogoInputContextProvider, useLogoInputContext] = $c512c27ab02ef895$export$fd42f52fd3ae1109("LogoInput");
var LogoInput = ({ canUpdate, customLogo, defaultLogo, hint, label, onChangeLogo }) => {
const [localImage, setLocalImage] = React.useState();
const [currentStep, setCurrentStep] = React.useState();
const { formatMessage } = useIntl();
const handleClose = () => {
setLocalImage(void 0);
setCurrentStep(void 0);
};
return (0, import_jsx_runtime.jsx)(Modal.Root, {
open: !!currentStep,
onOpenChange: (state) => {
if (state === false) {
handleClose();
}
},
children: (0, import_jsx_runtime.jsxs)(LogoInputContextProvider, {
setLocalImage,
localImage,
goToStep: setCurrentStep,
onClose: handleClose,
children: [
(0, import_jsx_runtime.jsx)(CarouselInput, {
label,
selectedSlide: 0,
hint,
// Carousel is used here for a single media,
// we don't need previous and next labels but these props are required
previousLabel: "",
nextLabel: "",
onNext: () => {
},
onPrevious: () => {
},
secondaryLabel: (customLogo == null ? void 0 : customLogo.name) || "logo.png",
actions: (0, import_jsx_runtime.jsxs)(CarouselActions, {
children: [
(0, import_jsx_runtime.jsx)(Modal.Trigger, {
children: (0, import_jsx_runtime.jsx)(IconButton, {
disabled: !canUpdate,
onClick: () => setCurrentStep("upload"),
label: formatMessage({
id: "Settings.application.customization.carousel.change-action",
defaultMessage: "Change logo"
}),
children: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {})
})
}),
(customLogo == null ? void 0 : customLogo.url) && (0, import_jsx_runtime.jsx)(IconButton, {
disabled: !canUpdate,
onClick: () => onChangeLogo(null),
label: formatMessage({
id: "Settings.application.customization.carousel.reset-action",
defaultMessage: "Reset logo"
}),
children: (0, import_jsx_runtime.jsx)(ForwardRef$5n, {})
})
]
}),
children: (0, import_jsx_runtime.jsx)(CarouselSlide, {
label: formatMessage({
id: "Settings.application.customization.carousel-slide.label",
defaultMessage: "Logo slide"
}),
children: (0, import_jsx_runtime.jsx)(Box, {
maxHeight: "40%",
maxWidth: "40%",
tag: "img",
src: (customLogo == null ? void 0 : customLogo.url) || defaultLogo,
alt: formatMessage({
id: "Settings.application.customization.carousel.title",
defaultMessage: "Logo"
})
})
})
}),
(0, import_jsx_runtime.jsxs)(Modal.Content, {
children: [
(0, import_jsx_runtime.jsx)(Modal.Header, {
children: (0, import_jsx_runtime.jsx)(Modal.Title, {
children: formatMessage(currentStep === "upload" ? {
id: "Settings.application.customization.modal.upload",
defaultMessage: "Upload logo"
} : {
id: "Settings.application.customization.modal.pending",
defaultMessage: "Pending logo"
})
})
}),
currentStep === "upload" ? (0, import_jsx_runtime.jsx)(AddLogoDialog, {}) : (0, import_jsx_runtime.jsx)(PendingLogoDialog, {
onChangeLogo
})
]
})
]
})
});
};
var AddLogoDialog = () => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime.jsxs)(Tabs.Root, {
variant: "simple",
defaultValue: "computer",
children: [
(0, import_jsx_runtime.jsx)(Box, {
paddingLeft: 8,
paddingRight: 8,
children: (0, import_jsx_runtime.jsxs)(Tabs.List, {
"aria-label": formatMessage({
id: "Settings.application.customization.modal.tab.label",
defaultMessage: "How do you want to upload your assets?"
}),
children: [
(0, import_jsx_runtime.jsx)(Tabs.Trigger, {
value: "computer",
children: formatMessage({
id: "Settings.application.customization.modal.upload.from-computer",
defaultMessage: "From computer"
})
}),
(0, import_jsx_runtime.jsx)(Tabs.Trigger, {
value: "url",
children: formatMessage({
id: "Settings.application.customization.modal.upload.from-url",
defaultMessage: "From url"
})
})
]
})
}),
(0, import_jsx_runtime.jsx)(Tabs.Content, {
value: "computer",
children: (0, import_jsx_runtime.jsx)(ComputerForm, {})
}),
(0, import_jsx_runtime.jsx)(Tabs.Content, {
value: "url",
children: (0, import_jsx_runtime.jsx)(URLForm, {})
})
]
});
};
var URLForm = () => {
const { formatMessage } = useIntl();
const [logoUrl, setLogoUrl] = React.useState("");
const [error, setError] = React.useState();
const { setLocalImage, goToStep, onClose } = useLogoInputContext("URLForm");
const handleChange = (e) => {
setLogoUrl(e.target.value);
};
const handleSubmit = async (event) => {
event.preventDefault();
const data = new FormData(event.target);
const url = data.get("logo-url");
if (!url) {
return;
}
try {
const res = await axios_default.get(url.toString(), {
responseType: "blob",
timeout: 8e3
});
const file = new File([
res.data
], res.config.url ?? "", {
type: res.headers["content-type"]
});
const asset = await parseFileMetadatas(file);
setLocalImage(asset);
goToStep("pending");
} catch (err) {
if (err instanceof AxiosError) {
setError(formatMessage({
id: "Settings.application.customization.modal.upload.error-network",
defaultMessage: "Network error"
}));
} else if (err instanceof ParsingFileError) {
setError(formatMessage(err.displayMessage, {
size: SIZE,
dimension: DIMENSION
}));
} else {
throw err;
}
}
};
return (0, import_jsx_runtime.jsxs)("form", {
onSubmit: handleSubmit,
children: [
(0, import_jsx_runtime.jsx)(Box, {
paddingLeft: 8,
paddingRight: 8,
paddingTop: 6,
paddingBottom: 6,
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
error,
name: "logo-url",
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: "Settings.application.customization.modal.upload.from-url.input-label",
defaultMessage: "URL"
})
}),
(0, import_jsx_runtime.jsx)(TextInput, {
onChange: handleChange,
value: logoUrl
}),
(0, import_jsx_runtime.jsx)(Field.Error, {})
]
})
}),
(0, import_jsx_runtime.jsxs)(Modal.Footer, {
children: [
(0, import_jsx_runtime.jsx)(Button, {
onClick: onClose,
variant: "tertiary",
children: formatMessage({
id: "app.components.Button.cancel",
defaultMessage: "Cancel"
})
}),
(0, import_jsx_runtime.jsx)(Button, {
type: "submit",
children: formatMessage({
id: "Settings.application.customization.modal.upload.next",
defaultMessage: "Next"
})
})
]
})
]
});
};
var ComputerForm = () => {
const { formatMessage } = useIntl();
const [dragOver, setDragOver] = React.useState(false);
const [fileError, setFileError] = React.useState();
const inputRef = React.useRef(null);
const id = React.useId();
const { setLocalImage, goToStep, onClose } = useLogoInputContext("ComputerForm");
const handleDragEnter = () => {
setDragOver(true);
};
const handleDragLeave = () => {
setDragOver(false);
};
const handleClick = (e) => {
e.preventDefault();
inputRef.current.click();
};
const handleChange = async () => {
handleDragLeave();
if (!inputRef.current.files) {
return;
}
const [file] = inputRef.current.files;
try {
const asset = await parseFileMetadatas(file);
setLocalImage(asset);
goToStep("pending");
} catch (err) {
if (err instanceof ParsingFileError) {
setFileError(formatMessage(err.displayMessage, {
size: SIZE,
dimension: DIMENSION
}));
inputRef.current.focus();
} else {
throw err;
}
}
};
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)("form", {
children: (0, import_jsx_runtime.jsx)(Box, {
paddingLeft: 8,
paddingRight: 8,
paddingTop: 6,
paddingBottom: 6,
children: (0, import_jsx_runtime.jsx)(Field.Root, {
name: id,
error: fileError,
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 2,
children: [
(0, import_jsx_runtime.jsxs)(Flex, {
paddingTop: 9,
paddingBottom: 7,
hasRadius: true,
justifyContent: "center",
direction: "column",
background: dragOver ? "primary100" : "neutral100",
borderColor: dragOver ? "primary500" : fileError ? "danger600" : "neutral300",
borderStyle: "dashed",
borderWidth: "1px",
position: "relative",
onDragEnter: handleDragEnter,
onDragLeave: handleDragLeave,
children: [
(0, import_jsx_runtime.jsx)(ForwardRef$1f, {
fill: "primary600",
width: "6rem",
height: "6rem",
"aria-hidden": true
}),
(0, import_jsx_runtime.jsx)(Box, {
paddingTop: 3,
paddingBottom: 5,
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "delta",
tag: "label",
htmlFor: id,
children: formatMessage({
id: "Settings.application.customization.modal.upload.drag-drop",
defaultMessage: "Drag and Drop here or"
})
})
}),
(0, import_jsx_runtime.jsx)(Box, {
position: "relative",
children: (0, import_jsx_runtime.jsx)(FileInput, {
accept: ACCEPTED_FORMAT.join(", "),
type: "file",
name: "files",
tabIndex: -1,
onChange: handleChange,
ref: inputRef,
id
})
}),
(0, import_jsx_runtime.jsx)(Button, {
type: "button",
onClick: handleClick,
children: formatMessage({
id: "Settings.application.customization.modal.upload.cta.browse",
defaultMessage: "Browse files"
})
}),
(0, import_jsx_runtime.jsx)(Box, {
paddingTop: 6,
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "pi",
textColor: "neutral600",
children: formatMessage({
id: "Settings.application.customization.modal.upload.file-validation",
defaultMessage: "Max dimension: {dimension}x{dimension}, Max size: {size}KB"
}, {
size: SIZE,
dimension: DIMENSION
})
})
})
]
}),
(0, import_jsx_runtime.jsx)(Field.Error, {})
]
})
})
})
}),
(0, import_jsx_runtime.jsx)(Modal.Footer, {
children: (0, import_jsx_runtime.jsx)(Button, {
onClick: onClose,
variant: "tertiary",
children: formatMessage({
id: "app.components.Button.cancel",
defaultMessage: "Cancel"
})
})
})
]
});
};
var FileInput = dt(Field.Input)`
opacity: 0;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 1;
`;
var PendingLogoDialog = ({ onChangeLogo }) => {
const { formatMessage } = useIntl();
const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext("PendingLogoDialog");
const handleGoBack = () => {
setLocalImage(void 0);
goToStep("upload");
};
const handleUpload = () => {
if (localImage) {
onChangeLogo(localImage);
}
onClose();
};
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Modal.Body, {
children: (0, import_jsx_runtime.jsxs)(Box, {
paddingLeft: 8,
paddingRight: 8,
paddingTop: 6,
paddingBottom: 6,
children: [
(0, import_jsx_runtime.jsxs)(Flex, {
justifyContent: "space-between",
paddingBottom: 6,
children: [
(0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "flex-start",
children: [
(0, import_jsx_runtime.jsx)(Typography, {
variant: "pi",
fontWeight: "bold",
children: formatMessage({
id: "Settings.application.customization.modal.pending.title",
defaultMessage: "Logo ready to upload"
})
}),
(0, import_jsx_runtime.jsx)(Typography, {
variant: "pi",
textColor: "neutral500",
children: formatMessage({
id: "Settings.application.customization.modal.pending.subtitle",
defaultMessage: "Manage the chosen logo before uploading it"
})
})
]
}),
(0, import_jsx_runtime.jsx)(Button, {
onClick: handleGoBack,
variant: "secondary",
children: formatMessage({
id: "Settings.application.customization.modal.pending.choose-another",
defaultMessage: "Choose another logo"
})
})
]
}),
(0, import_jsx_runtime.jsx)(Box, {
maxWidth: `18rem`,
children: (localImage == null ? void 0 : localImage.url) ? (0, import_jsx_runtime.jsx)(ImageCardAsset, {
asset: localImage
}) : null
})
]
})
}),
(0, import_jsx_runtime.jsxs)(Modal.Footer, {
children: [
(0, import_jsx_runtime.jsx)(Modal.Close, {
children: (0, import_jsx_runtime.jsx)(Button, {
onClick: onClose,
variant: "tertiary",
children: formatMessage({
id: "Settings.application.customization.modal.cancel",
defaultMessage: "Cancel"
})
})
}),
(0, import_jsx_runtime.jsx)(Button, {
onClick: handleUpload,
children: formatMessage({
id: "Settings.application.customization.modal.pending.upload",
defaultMessage: "Upload logo"
})
})
]
})
]
});
};
var ImageCardAsset = ({ asset }) => {
var _a;
const { formatMessage } = useIntl();
return (0, import_jsx_runtime.jsxs)(Card, {
children: [
(0, import_jsx_runtime.jsx)(CardHeader, {
children: (0, import_jsx_runtime.jsx)(CardAsset, {
size: "S",
src: asset.url
})
}),
(0, import_jsx_runtime.jsxs)(CardBody, {
children: [
(0, import_jsx_runtime.jsxs)(CardContent, {
children: [
(0, import_jsx_runtime.jsx)(CardTitle, {
children: asset.name
}),
(0, import_jsx_runtime.jsx)(CardSubtitle, {
children: `${(_a = asset.ext) == null ? void 0 : _a.toUpperCase()} - ${asset.width}✕${asset.height}`
})
]
}),
(0, import_jsx_runtime.jsx)(CardBadge, {
children: formatMessage({
id: "Settings.application.customization.modal.pending.card-badge",
defaultMessage: "image"
})
})
]
})
]
});
};
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs
var AdminSeatInfoCE = () => null;
var ApplicationInfoPage = () => {
const { trackUsage } = useTracking();
const { formatMessage } = useIntl();
const { logos: serverLogos, updateProjectSettings } = useConfiguration("ApplicationInfoPage");
const [logos, setLogos] = React2.useState({
menu: serverLogos.menu,
auth: serverLogos.auth
});
const { settings } = useSelector(selectAdminPermissions);
const communityEdition = useAppInfo("ApplicationInfoPage", (state) => state.communityEdition);
const latestStrapiReleaseTag = useAppInfo("ApplicationInfoPage", (state) => state.latestStrapiReleaseTag);
const nodeVersion = useAppInfo("ApplicationInfoPage", (state) => state.nodeVersion);
const shouldUpdateStrapi = useAppInfo("ApplicationInfoPage", (state) => state.shouldUpdateStrapi);
const strapiVersion = useAppInfo("ApplicationInfoPage", (state) => state.strapiVersion);
const AdminSeatInfo = useEnterprise(AdminSeatInfoCE, async () => (await import("./AdminSeatInfo-6OY4OYIE.js")).AdminSeatInfoEE);
const { allowedActions: { canRead, canUpdate } } = useRBAC(settings ? settings["project-settings"] : {});
const handleSubmit = (e) => {
e.preventDefault();
updateProjectSettings({
authLogo: logos.auth.custom ?? null,
menuLogo: logos.menu.custom ?? null
});
};
const handleChangeLogo = (logo) => (newLogo) => {
if (newLogo === null) {
trackUsage("didClickResetLogo", {
logo
});
}
setLogos((prev) => ({
...prev,
[logo]: {
...prev[logo],
custom: newLogo
}
}));
};
React2.useEffect(() => {
setLogos({
menu: serverLogos.menu,
auth: serverLogos.auth
});
}, [
serverLogos
]);
if (!AdminSeatInfo) {
return null;
}
const isSaveDisabled = logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;
return (0, import_jsx_runtime2.jsxs)(Layouts.Root, {
children: [
(0, import_jsx_runtime2.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: formatMessage({
id: "Settings.application.header",
defaultMessage: "Application"
})
})
}),
(0, import_jsx_runtime2.jsx)(Page.Main, {
children: (0, import_jsx_runtime2.jsxs)("form", {
onSubmit: handleSubmit,
children: [
(0, import_jsx_runtime2.jsx)(Layouts.Header, {
title: formatMessage({
id: "Settings.application.title",
defaultMessage: "Overview"
}),
subtitle: formatMessage({
id: "Settings.application.description",
defaultMessage: "Administration panel’s global information"
}),
primaryAction: canUpdate && (0, import_jsx_runtime2.jsx)(Button, {
disabled: isSaveDisabled,
type: "submit",
startIcon: (0, import_jsx_runtime2.jsx)(ForwardRef$4F, {}),
children: formatMessage({
id: "global.save",
defaultMessage: "Save"
})
})
}),
(0, import_jsx_runtime2.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime2.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 6,
children: [
(0, import_jsx_runtime2.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
hasRadius: true,
background: "neutral0",
shadow: "tableShadow",
paddingTop: 6,
paddingBottom: 6,
paddingRight: 7,
paddingLeft: 7,
children: [
(0, import_jsx_runtime2.jsx)(Typography, {
variant: "delta",
tag: "h3",
children: formatMessage({
id: "global.details",
defaultMessage: "Details"
})
}),
(0, import_jsx_runtime2.jsxs)(Grid.Root, {
gap: 5,
tag: "dl",
children: [
(0, import_jsx_runtime2.jsxs)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "start",
children: [
(0, import_jsx_runtime2.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
tag: "dt",
children: formatMessage({
id: "Settings.application.strapiVersion",
defaultMessage: "strapi version"
})
}),
(0, import_jsx_runtime2.jsxs)(Flex, {
gap: 3,
direction: "column",
alignItems: "start",
tag: "dd",
children: [
(0, import_jsx_runtime2.jsxs)(Typography, {
children: [
"v",
strapiVersion
]
}),
shouldUpdateStrapi && (0, import_jsx_runtime2.jsx)(Link, {
href: `https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`,
endIcon: (0, import_jsx_runtime2.jsx)(ForwardRef$3F, {}),
children: formatMessage({
id: "Settings.application.link-upgrade",
defaultMessage: "Upgrade your admin panel"
})
})
]
})
]
}),
(0, import_jsx_runtime2.jsxs)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "start",
children: [
(0, import_jsx_runtime2.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
tag: "dt",
children: formatMessage({
id: "Settings.application.edition-title",
defaultMessage: "current edition"
})
}),
(0, import_jsx_runtime2.jsxs)(Flex, {
gap: 3,
direction: "column",
alignItems: "start",
tag: "dd",
children: [
(0, import_jsx_runtime2.jsx)(Typography, {
children: formatMessage({
id: "Settings.application.ee-or-ce",
defaultMessage: "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"
}, {
communityEdition
})
}),
(0, import_jsx_runtime2.jsx)(Link, {
href: "https://strapi.io/pricing-self-hosted",
endIcon: (0, import_jsx_runtime2.jsx)(ForwardRef$3F, {}),
children: formatMessage({
id: "Settings.application.link-pricing",
defaultMessage: "See all pricing plans"
})
})
]
})
]
}),
(0, import_jsx_runtime2.jsxs)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "start",
children: [
(0, import_jsx_runtime2.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
tag: "dt",
children: formatMessage({
id: "Settings.application.node-version",
defaultMessage: "node version"
})
}),
(0, import_jsx_runtime2.jsx)(Typography, {
tag: "dd",
children: nodeVersion
})
]
}),
(0, import_jsx_runtime2.jsx)(AdminSeatInfo, {})
]
})
]
}),
canRead && (0, import_jsx_runtime2.jsxs)(Box, {
hasRadius: true,
background: "neutral0",
shadow: "tableShadow",
paddingTop: 6,
paddingBottom: 6,
paddingRight: 7,
paddingLeft: 7,
children: [
(0, import_jsx_runtime2.jsx)(Typography, {
variant: "delta",
tag: "h3",
children: formatMessage({
id: "Settings.application.customization",
defaultMessage: "Customization"
})
}),
(0, import_jsx_runtime2.jsx)(Typography, {
variant: "pi",
textColor: "neutral600",
children: formatMessage({
id: "Settings.application.customization.size-details",
defaultMessage: "Max dimension: {dimension}×{dimension}, Max file size: {size}KB"
}, {
dimension: DIMENSION,
size: SIZE
})
}),
(0, import_jsx_runtime2.jsxs)(Grid.Root, {
paddingTop: 4,
gap: 4,
children: [
(0, import_jsx_runtime2.jsx)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime2.jsx)(LogoInput, {
canUpdate,
customLogo: logos.menu.custom,
defaultLogo: logos.menu.default,
hint: formatMessage({
id: "Settings.application.customization.menu-logo.carousel-hint",
defaultMessage: "Replace the logo in the main navigation"
}),
label: formatMessage({
id: "Settings.application.customization.carousel.menu-logo.title",
defaultMessage: "Menu logo"
}),
onChangeLogo: handleChangeLogo("menu")
})
}),
(0, import_jsx_runtime2.jsx)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime2.jsx)(LogoInput, {
canUpdate,
customLogo: logos.auth.custom,
defaultLogo: logos.auth.default,
hint: formatMessage({
id: "Settings.application.customization.auth-logo.carousel-hint",
defaultMessage: "Replace the logo in the authentication pages"
}),
label: formatMessage({
id: "Settings.application.customization.carousel.auth-logo.title",
defaultMessage: "Auth logo"
}),
onChangeLogo: handleChangeLogo("auth")
})
})
]
})
]
})
]
})
})
]
})
})
]
});
};
export {
ApplicationInfoPage
};
//# sourceMappingURL=ApplicationInfoPage-WUK3WEUI.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts", "../../../@strapi/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts", "../../../@strapi/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx", "../../../@strapi/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],
"sourcesContent": ["export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n", "import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n", "import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Field,\n Flex,\n IconButton,\n Modal,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { PlusCircle, Plus, ArrowClockwise } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { ConfigurationContextValue } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationContextValue['logos']['auth']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <Modal.Root\n open={!!currentStep}\n Line truncated
"mappings": "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 truncated
"names": ["DIMENSION", "SIZE", "ACCEPTED_FORMAT", "FILE_FORMAT_ERROR_MESSAGE", "id", "defaultMessage", "FILE_SIZING_ERROR_MESSAGE", "parseFileMetadatas", "file", "isFormatAuthorized", "ACCEPTED_FORMAT", "includes", "type", "ParsingFileError", "fileDimensions", "Promise", "resolve", "reader", "FileReader", "onload", "img", "Image", "width", "height", "src", "result", "readAsDataURL", "areDimensionsAuthorized", "DIMENSION", "asset", "ext", "name", "split", "pop", "size", "url", "URL", "createObjectURL", "rawFile", "isSizeAuthorized", "SIZE", "Error", "constructor", "message", "displayMessage", "options", "LogoInputContextProvider", "useLogoInputContext", "createContext", "LogoInput", "canUpdate", "customLogo", "defaultLogo", "hint", "label", "onChangeLogo", "localImage", "setLocalImage", "useState", "currentStep", "setCurrentStep", "formatMessage", "useIntl", "handleClose", "undefined", "_jsx", "Modal", "Root", "open", "onOpenChange", "state", "_jsxs", "goToStep", "onClose", "CarouselInput", "selectedSlide", "previousLabel", "nextLabel", "onNext", "onPrevious", "secondaryLabel", "name", "actions", "CarouselActions", "Trigger", "IconButton", "disabled", "onClick", "id", "defaultMessage", "Plus", "url", "ArrowClockwise", "CarouselSlide", "Box", "maxHeight", "maxWidth", "tag", "src", "alt", "Content", "Header", "Title", "AddLogoDialog", "PendingLogoDialog", "Tabs", "variant", "defaultValue", "paddingLeft", "paddingRight", "List", "aria-label", "value", "ComputerForm", "URLForm", "logoUrl", "setLogoUrl", "error", "setError", "handleChange", "e", "target", "handleSubmit", "event", "preventDefault", "data", "FormData", "get", "res", "axios", "toString", "responseType", "timeout", "file", "File", "config", "type", "headers", "asset", "parseFileMetadatas", "err", "AxiosError", "ParsingFileError", "displayMessage", "size", "SIZE", "dimension", "DIMENSION", "form", "onSubmit", "paddingTop", "paddingBottom", "Field", "Label", "TextInput", "onChange", "Error", "Footer", "Button", "dragOver", "setDragOver", "fileError", "setFileError", "inputRef", "useRef", "useId", "handleDragEnter", "handleDragLeave", "handleClick", "current", "click", "files", "focus", "_Fragment", "Flex", "direction", "alignItems", "gap", "hasRadius", "justifyContent", "background", "borderColor", "borderStyle", "borderWidth", "position", "onDragEnter", "onDragLeave", "PlusCircle", "fill", "width", "height", "aria-hidden", "Typography", "htmlFor", "FileInput", "accept", "ACCEPTED_FORMAT", "join", "tabIndex", "ref", "textColor", "styled", "Input", "handleGoBack", "handleUpload", "Body", "fontWeight", "ImageCardAsset", "Close", "Card", "CardHeader", "CardAsset", "CardBody", "CardContent", "CardTitle", "CardSubtitle", "ext", "toUpperCase", "CardBadge", "AdminSeatInfoCE", "ApplicationInfoPage", "trackUsage", "useTracking", "formatMessage", "useIntl", "logos", "serverLogos", "updateProjectSettings", "useConfiguration", "setLogos", "useState", "menu", "auth", "settings", "useSelector", "selectAdminPermissions", "communityEdition", "useAppInfo", "state", "latestStrapiReleaseTag", "nodeVersion", "shouldUpdateStrapi", "strapiVersion", "AdminSeatInfo", "useEnterprise", "AdminSeatInfoEE", "allowedActions", "canRead", "canUpdate", "useRBAC", "handleSubmit", "e", "preventDefault", "authLogo", "custom", "menuLogo", "handleChangeLogo", "logo", "newLogo", "prev", "React", "useEffect", "isSaveDisabled", "_jsxs", "Layouts", "Root", "_jsx", "Page", "Title", "id", "defaultMessage", "name", "Main", "form", "onSubmit", "Header", "title", "subtitle", "primaryAction", "Button", "disabled", "type", "startIcon", "Check", "Content", "Flex", "direction", "alignItems", "gap", "hasRadius", "background", "shadow", "paddingTop", "paddingBottom", "paddingRight", "paddingLeft", "Typography", "variant", "tag", "Grid", "Item", "col", "s", "textColor", "Link", "href", "endIcon", "ExternalLink", "Box", "dimension", "DIMENSION", "size", "SIZE", "LogoInput", "customLogo", "defaultLogo", "default", "hint", "label", "onChangeLogo"]
}
+85
View File
@@ -0,0 +1,85 @@
import {
Page
} from "./chunk-5CAWUBTQ.js";
import {
login
} from "./chunk-W2TBR6J3.js";
import {
useTypedDispatch
} from "./chunk-QEGMJR7H.js";
import {
getCookieValue
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import {
useIntl
} from "./chunk-7XB6XSWQ.js";
import {
useMatch,
useNavigate
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/AuthResponse.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var AuthResponse = () => {
const match = useMatch("/auth/login/:authResponse");
const { formatMessage } = useIntl();
const navigate = useNavigate();
const dispatch = useTypedDispatch();
const redirectToOops = React.useCallback(() => {
navigate({
pathname: "/auth/oops",
search: `?info=${encodeURIComponent(formatMessage({
id: "Auth.form.button.login.providers.error",
defaultMessage: "We cannot connect you through the selected provider."
}))}`
});
}, [
navigate,
formatMessage
]);
React.useEffect(() => {
if ((match == null ? void 0 : match.params.authResponse) === "error") {
redirectToOops();
}
if ((match == null ? void 0 : match.params.authResponse) === "success") {
const jwtToken = getCookieValue("jwtToken");
if (jwtToken) {
dispatch(login({
token: jwtToken
}));
navigate("/auth/login");
} else {
redirectToOops();
}
}
}, [
dispatch,
match,
redirectToOops,
navigate
]);
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
};
export {
AuthResponse
};
//# sourceMappingURL=AuthResponse-PZJFFLGR.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/AuthResponse.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../../../admin/src/components/PageHelpers';\nimport { useTypedDispatch } from '../../../../admin/src/core/store/hooks';\nimport { login } from '../../../../admin/src/reducer';\nimport { getCookieValue } from '../../../../admin/src/utils/cookies';\n\nconst AuthResponse = () => {\n const match = useMatch('/auth/login/:authResponse');\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const dispatch = useTypedDispatch();\n\n const redirectToOops = React.useCallback(() => {\n navigate({\n pathname: '/auth/oops',\n search: `?info=${encodeURIComponent(\n formatMessage({\n id: 'Auth.form.button.login.providers.error',\n defaultMessage: 'We cannot connect you through the selected provider.',\n })\n )}`,\n });\n }, [navigate, formatMessage]);\n\n React.useEffect(() => {\n if (match?.params.authResponse === 'error') {\n redirectToOops();\n }\n\n if (match?.params.authResponse === 'success') {\n const jwtToken = getCookieValue('jwtToken');\n\n if (jwtToken) {\n dispatch(\n login({\n token: jwtToken,\n })\n );\n\n navigate('/auth/login');\n } else {\n redirectToOops();\n }\n }\n }, [dispatch, match, redirectToOops, navigate]);\n\n return <Page.Loading />;\n};\n\nexport { AuthResponse };\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,eAAe,MAAA;AACnB,QAAMC,QAAQC,SAAS,2BAAA;AACvB,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAMC,WAAWC,YAAAA;AACjB,QAAMC,WAAWC,iBAAAA;AAEjB,QAAMC,iBAAuBC,kBAAY,MAAA;AACvCL,aAAS;MACPM,UAAU;MACVC,QAAQ,SAASC,mBACfV,cAAc;QACZW,IAAI;QACJC,gBAAgB;MAClB,CAAA,CAAA,CAAA;IAEJ,CAAA;KACC;IAACV;IAAUF;EAAc,CAAA;AAE5Ba,EAAMC,gBAAU,MAAA;AACd,SAAIhB,+BAAOiB,OAAOC,kBAAiB,SAAS;AAC1CV,qBAAAA;IACF;AAEA,SAAIR,+BAAOiB,OAAOC,kBAAiB,WAAW;AAC5C,YAAMC,WAAWC,eAAe,UAAA;AAEhC,UAAID,UAAU;AACZb,iBACEe,MAAM;UACJC,OAAOH;QACT,CAAA,CAAA;AAGFf,iBAAS,aAAA;aACJ;AACLI,uBAAAA;MACF;IACF;KACC;IAACF;IAAUN;IAAOQ;IAAgBJ;EAAS,CAAA;AAE9C,aAAOmB,wBAACC,KAAKC,SAAO,CAAA,CAAA;AACtB;",
"names": ["AuthResponse", "match", "useMatch", "formatMessage", "useIntl", "navigate", "useNavigate", "dispatch", "useTypedDispatch", "redirectToOops", "useCallback", "pathname", "search", "encodeURIComponent", "id", "defaultMessage", "React", "useEffect", "params", "authResponse", "jwtToken", "getCookieValue", "login", "token", "_jsx", "Page", "Loading"]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/package.json", "../../../@strapi/admin/admin/src/components/GuidedTour/Modal.tsx", "../../../@strapi/admin/admin/src/components/MainNav/MainNav.tsx", "../../../@strapi/admin/admin/src/components/MainNav/NavBrand.tsx", "../../../@strapi/admin/admin/src/components/MainNav/NavLink.tsx", "../../../@strapi/admin/admin/src/components/MainNav/NavUser.tsx", "../../../@strapi/admin/admin/src/components/LeftMenu.tsx", "../../../@strapi/admin/admin/src/components/PluginsInitializer.tsx", "../../../@strapi/admin/admin/src/hooks/useMenu.ts", "../../../@strapi/admin/admin/src/layouts/AuthenticatedLayout.tsx"],
"sourcesContent": ["{\n \"name\": \"@strapi/admin\",\n \"version\": \"5.13.0\",\n \"description\": \"Strapi Admin\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/strapi/strapi.git\"\n },\n \"license\": \"SEE LICENSE IN LICENSE\",\n \"author\": {\n \"name\": \"Strapi Solutions SAS\",\n \"email\": \"hi@strapi.io\",\n \"url\": \"https://strapi.io\"\n },\n \"maintainers\": [\n {\n \"name\": \"Strapi Solutions SAS\",\n \"email\": \"hi@strapi.io\",\n \"url\": \"https://strapi.io\"\n }\n ],\n \"exports\": {\n \"./strapi-admin\": {\n \"types\": \"./dist/admin/src/index.d.ts\",\n \"source\": \"./admin/src/index.ts\",\n \"import\": \"./dist/admin/index.mjs\",\n \"require\": \"./dist/admin/index.js\",\n \"default\": \"./dist/admin/index.js\"\n },\n \"./strapi-admin/ee\": {\n \"types\": \"./dist/admin/src/ee.d.ts\",\n \"source\": \"./admin/src/ee.ts\",\n \"import\": \"./dist/admin/ee.mjs\",\n \"require\": \"./dist/admin/ee.js\",\n \"default\": \"./dist/admin/ee.js\"\n },\n \"./strapi-admin/test\": {\n \"types\": \"./dist/admin/tests/index.d.ts\",\n \"source\": \"./admin/tests/index.ts\",\n \"import\": \"./dist/admin/test.mjs\",\n \"require\": \"./dist/admin/test.js\",\n \"default\": \"./dist/admin/test.js\"\n },\n \"./_internal\": {\n \"types\": \"./dist/_internal/index.d.ts\",\n \"source\": \"./_internal/index.ts\",\n \"import\": \"./dist/_internal.mjs\",\n \"require\": \"./dist/_internal.js\",\n \"default\": \"./dist/_internal.js\"\n },\n \"./strapi-server\": {\n \"types\": \"./dist/server/src/index.d.ts\",\n \"source\": \"./server/src/index.js\",\n \"import\": \"./dist/server/index.mjs\",\n \"require\": \"./dist/server/index.js\",\n \"default\": \"./dist/server/index.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"dist/\"\n ],\n \"scripts\": {\n \"build\": \"run -T npm-run-all clean --parallel build:code build:types\",\n \"build:code\": \"run -T rollup -c\",\n \"build:types\": \"run -T run-p build:types:server build:types:admin build:types:internals\",\n \"build:types:internals\": \"run -T tsc -p tsconfig.build.json --emitDeclarationOnly\",\n \"build:types:server\": \"run -T tsc -p server/tsconfig.build.json --emitDeclarationOnly\",\n \"build:types:admin\": \"run -T tsc -p admin/tsconfig.build.json --emitDeclarationOnly\",\n \"clean\": \"run -T rimraf ./dist\",\n \"lint\": \"run -T eslint .\",\n \"test:front\": \"run -T cross-env IS_EE=true jest --config ./jest.config.front.js\",\n \"test:front:watch\": \"run -T cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll\",\n \"test:ts\": \"run -T tsc -p tsconfig.json\",\n \"test:ts:back\": \"run -T tsc --noEmit -p server/tsconfig.json\",\n \"test:ts:front\": \"run -T tsc -p admin/tsconfig.json && run -T tsc -p ee/admin/tsconfig.json\",\n \"test:unit\": \"run -T jest\",\n \"test:unit:watch\": \"run -T jest --watch\",\n \"watch\": \"run -T rollup -c -w\"\n },\n \"dependencies\": {\n \"@casl/ability\": \"6.5.0\",\n \"@internationalized/date\": \"3.5.4\",\n \"@radix-ui/react-context\": \"1.0.1\",\n \"@radix-ui/react-toolbar\": \"1.0.4\",\n \"@reduxjs/toolkit\": \"1.9.7\",\n \"@strapi/design-system\": \"2.0.0-rc.23\",\n \"@strapi/icons\": \"2.0.0-rc.23\",\n \"@strapi/permissions\": \"5.13.0\",\n \"@strapi/types\": \"5.13.0\",\n \"@strapi/typescript-utils\": \"5.13.0\",\n \"@strapi/utils\": \"5.13.0\",\n \"@testing-library/dom\": \"10.1.0\",\n \"@testing-library/react\": \"15.0.7\",\n \"@testing-library/user-event\": \"14.5.2\",\n \"axios\": \"1.8.4\",\n \"bcryptjs\": \"2.4.3\",\n \"boxen\": \"5.1.2\",\n \"chalk\": \"^4.1.2\",\n \"codemirror5\": \"npm:codemirror@^5.65.11\",\n \"cross-env\": \"^7.0.3\",\n \"date-fns\": \"2.30.0\",\n \"execa\": \"5.1.1\",\n \"fast-deep-equal\": \"3.1.3\",\n \"formik\": \"2.4.5\",\n \"fractional-indexing\": \"3.2.0\",\n \"fs-extra\": \"11.2.0\",\n \"highlight.js\": \"^10.4.1\",\n \"immer\": \"9.0.21\",\n \"inquirer\": \"8.2.5\",\n \"invariant\": \"^2.2.4\",\n \"is-localhost-ip\": \"2.0.0\",\n \"jsonwebtoken\": \"9.0.0\",\n \"koa\": \"2.15.4\",\n \"koa-compose\": \"4.1.0\",\n \"koa-passport\": \"6.0.0\",\n \"koa-static\": \"5.0.0\",\n \"koa2-ratelimit\": \"^1.1.3\",\n \"lodash\": \"4.17.21\",\n \"node-schedule\": \"2.1.1\",\n \"ora\": \"5.4.1\",\n \"p-map\": \"4.0.0\",\n \"passport-local\": \"1.0.0\",\n \"pluralize\": \"8.0.0\",\n \"punycode\": \"2.3.1\",\n \"qs\": \"6.11.1\",\n \"react-dnd\": \"16.0.1\",\n \"react-dnd-html5-backend\": \"16.0.1\",\n \"react-intl\": \"6.6.2\",\n \"react-is\": \"^18.2.0\",\n \"react-query\": \"3.39.3\",\n \"react-redux\": \"8.1.3\",\n \Line truncated
"mappings": "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 truncated
"names": ["GuidedTourModal", "guidedTour", "useGuidedTour", "state", "currentStep", "guidedTourState", "setCurrentStep", "setStepState", "isGuidedTourVisible", "setSkipped", "formatMessage", "useIntl", "trackUsage", "useTracking", "stepData", "get", "LAYOUT_DATA", "sectionKeys", "Object", "keys", "sectionName", "stepName", "split", "sectionIndex", "indexOf", "stepIndex", "hasSectionAfter", "length", "hasStepAfter", "handleCtaClick", "trackingEvent", "handleSkip", "_jsx", "Portal", "ModalWrapper", "onClick", "padding", "justifyContent", "FocusTrap", "onEscape", "_jsxs", "Flex", "direction", "alignItems", "background", "width", "shadow", "hasRadius", "gap", "role", "aria-modal", "e", "stopPropagation", "IconButton", "withTooltip", "label", "id", "defaultMessage", "Cross", "Box", "paddingLeft", "paddingRight", "paddingBottom", "GuidedTourStepper", "title", "undefined", "cta", "onCtaClick", "GuidedTourContent", "content", "Button", "variant", "styled", "theme", "colors", "neutral800", "children", "hasSectionBefore", "hasStepsBefore", "nextSectionIndex", "_Fragment", "marginRight", "minWidth", "VerticalDivider", "STATES", "IS_DONE", "minHeight", "Typography", "textColor", "Number", "IS_ACTIVE", "paddingTop", "fontWeight", "tag", "target", "LinkButton", "NavLink", "endIcon", "ArrowRight", "to", "documentationLink", "DocumentationLink", "b", "Bold", "p", "Paragraph", "light", "Light", "ul", "List", "li", "ListItem", "rel", "href", "LiStyled", "MainNavWrapper", "styled", "Flex", "theme", "colors", "neutral150", "MainNav", "props", "_jsx", "alignItems", "tag", "background", "direction", "height", "position", "top", "zIndex", "width", "BrandIconWrapper", "styled", "Flex", "theme", "borderRadius", "NavBrand", "formatMessage", "useIntl", "logos", "menu", "useConfiguration", "_jsx", "Box", "padding", "_jsxs", "direction", "justifyContent", "width", "height", "img", "src", "custom", "url", "default", "alt", "id", "defaultMessage", "VisuallyHidden", "span", "MainNavLinkWrapper", "styled", "RouterLink", "theme", "borderRadius", "colors", "neutral0", "neutral500", "neutral600", "neutral100", "primary600", "primary100", "LinkImpl", "children", "props", "_jsx", "TooltipImpl", "label", "position", "Tooltip", "side", "delayDuration", "span", "IconImpl", "AccessibleIcon", "CustomBadge", "Badge", "spaces", "BadgeImpl", "top", "left", "aria-label", "active", "NavLink", "Link", "Icon", "MenuTrigger", "styled", "Menu", "Trigger", "theme", "spaces", "MenuContent", "Content", "UserInfo", "Flex", "BadgeWrapper", "StyledTypography", "Typography", "MenuItem", "Item", "MenuItemDanger", "colors", "danger100", "NavUser", "children", "initials", "props", "formatMessage", "useIntl", "navigate", "useNavigate", "user", "useAuth", "state", "logout", "handleProfile", "handleLogout", "_jsx", "justifyContent", "padding", "borderStyle", "borderWidth", "borderColor", "_jsxs", "Root", "endIcon", "fullWidth", "Avatar", "delayMs", "fallback", "VisuallyHidden", "tag", "popoverPlacement", "zIndex", "direction", "gap", "alignItems", "variant", "fontWeight", "textTransform", "textColor", "email", "roles", "map", "role", "Badge", "name", "id", "Separator", "onSelect", "defaultMessage", "color", "sortLinks", "links", "sort", "a", "b", "positionA", "position", "positionB", "NavLinkBadgeCounter", "styled", "NavLink", "Badge", "theme", "colors", "neutral0", "NavLinkBadgeLock", "NavListWrapper", "Flex", "LeftMenu", "generalSectionLinks", "pluginsSectionLinks", "user", "useAuth", "state", "trackUsage", "useTracking", "pathname", "useLocation", "userDisplayName", "getDisplayName", "formatMessage", "locale", "useIntl", "formatter", "useCollator", "sensitivity", "initials", "split", "map", "name", "substring", "join", "handleClickOnLink", "destination", "from", "to", "listLinksAlphabeticallySorted", "compare", "intlLabel", "listLinks", "_jsxs", "MainNav", "_jsx", "NavBrand", "Divider", "tag", "gap", "direction", "flex", "paddingTop", "paddingBottom", "length", "link", "LinkIcon", "icon", "badgeContentLock", "licenseOnly", "Lightning", "fill", "undefined", "badgeContentNumeric", "notificationsCount", "toString", "labelValue", "Tooltip", "label", "Link", "onClick", "aria-label", "Icon", "width", "height", "textColor", "paddingLeft", "paddingRight", "backgroundColor", "color", "NavUser", "PluginsInitializer", "children", "appPlugins", "useStrapiApp", "state", "plugins", "dispatch", "useReducer", "reducer", "initialState", "init", "setPlugin", "useRef", "pluginId", "type", "hasApluginNotReady", "Object", "keys", "some", "plugin", "isReady", "initializers", "reduce", "acc", "current", "InitializerComponent", "initializer", "key", "push", "_jsx", "_jsxs", "_Fragment", "Page", "Loading", "action", "produce", "draftState", "useMenu", "shouldUpdateStrapi", "checkUserHasPermissions", "useAuth", "state", "menu", "useStrapiApp", "permissions", "useTypedSelector", "admin_app", "menuWithUserPermissions", "setMenuWithUserPermissions", "useState", "generalSectionLinks", "icon", "Line truncated
}
@@ -0,0 +1,339 @@
import {
ConfigurationForm,
TEMP_FIELD_NAME
} from "./chunk-TUQVYWWY.js";
import "./chunk-CD3FLTLL.js";
import {
useTypedSelector
} from "./chunk-VE2D6HMA.js";
import "./chunk-NAZM6EA4.js";
import {
DEFAULT_SETTINGS,
convertEditLayoutToFieldLayouts,
extractContentTypeComponents,
setIn,
useGetInitialDataQuery
} from "./chunk-UATNJIHQ.js";
import {
contentManagerApi
} from "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import {
useParams
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/content-manager/dist/admin/pages/ComponentConfigurationPage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
// node_modules/@strapi/content-manager/dist/admin/services/components.mjs
var componentsApi = contentManagerApi.injectEndpoints({
endpoints: (builder) => ({
getComponentConfiguration: builder.query({
query: (uid) => `/content-manager/components/${uid}/configuration`,
transformResponse: (response) => response.data,
providesTags: (_result, _error, uid) => [
{
type: "ComponentConfiguration",
id: uid
}
]
}),
updateComponentConfiguration: builder.mutation({
query: ({ uid, ...body }) => ({
url: `/content-manager/components/${uid}/configuration`,
method: "PUT",
data: body
}),
transformResponse: (response) => response.data,
invalidatesTags: (_result, _error, { uid }) => [
{
type: "ComponentConfiguration",
id: uid
},
// otherwise layouts already fetched will have stale component configuration data.
{
type: "ContentTypeSettings",
id: "LIST"
}
]
})
})
});
var { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation } = componentsApi;
// node_modules/@strapi/content-manager/dist/admin/pages/ComponentConfigurationPage.mjs
var ComponentConfigurationPage = () => {
const { slug: model } = useParams();
const { toggleNotification } = useNotification();
const { formatMessage } = useIntl();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
const { components, fieldSizes, schema, error: errorSchema, isLoading: isLoadingSchema, isFetching: isFetchingSchema } = useGetInitialDataQuery(void 0, {
selectFromResult: (res) => {
var _a, _b, _c;
const schema2 = (_a = res.data) == null ? void 0 : _a.components.find((ct) => ct.uid === model);
const componentsByKey = (_b = res.data) == null ? void 0 : _b.components.reduce((acc, component) => {
acc[component.uid] = component;
return acc;
}, {});
const components2 = extractContentTypeComponents(schema2 == null ? void 0 : schema2.attributes, componentsByKey);
const fieldSizes2 = Object.entries(((_c = res.data) == null ? void 0 : _c.fieldSizes) ?? {}).reduce((acc, [attributeName, { default: size }]) => {
acc[attributeName] = size;
return acc;
}, {});
return {
isFetching: res.isFetching,
isLoading: res.isLoading,
error: res.error,
components: components2,
schema: schema2,
fieldSizes: fieldSizes2
};
}
});
React.useEffect(() => {
if (errorSchema) {
toggleNotification({
type: "danger",
message: formatAPIError(errorSchema)
});
}
}, [
errorSchema,
formatAPIError,
toggleNotification
]);
const { data, isLoading: isLoadingConfig, isFetching: isFetchingConfig, error } = useGetComponentConfigurationQuery(model ?? "");
React.useEffect(() => {
if (error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
}
}, [
error,
formatAPIError,
toggleNotification
]);
const isLoading = isLoadingConfig || isLoadingSchema || isFetchingConfig || isFetchingSchema;
const editLayout = React.useMemo(() => data && !isLoading ? formatEditLayout(data, {
schema,
components
}) : {
layout: [],
components: {},
metadatas: {},
options: {},
settings: DEFAULT_SETTINGS
}, [
data,
isLoading,
schema,
components
]);
const [updateConfiguration] = useUpdateComponentConfigurationMutation();
const handleSubmit = async (formData) => {
try {
const meta = Object.entries((data == null ? void 0 : data.component.metadatas) ?? {}).reduce((acc, [name, { edit, list }]) => {
const { __temp_key__, size: _size, name: _name, ...editedMetadata } = formData.layout.flatMap((row) => row.children).find((field) => field.name === name) ?? {};
acc[name] = {
edit: {
...edit,
...editedMetadata
},
list
};
return acc;
}, {});
const res = await updateConfiguration({
layouts: {
edit: formData.layout.map((row) => row.children.reduce((acc, { name, size }) => {
if (name !== TEMP_FIELD_NAME) {
return [
...acc,
{
name,
size
}
];
}
return acc;
}, [])),
list: data == null ? void 0 : data.component.layouts.list
},
settings: setIn(formData.settings, "displayName", void 0),
metadatas: meta,
uid: model
});
if ("data" in res) {
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.success.saved",
defaultMessage: "Saved"
})
});
} else {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
}
} catch {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
}
};
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
if (error || errorSchema || !schema) {
return (0, import_jsx_runtime.jsx)(Page.Error, {});
}
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: `Configure ${editLayout.settings.displayName} Edit View`
}),
(0, import_jsx_runtime.jsx)(ConfigurationForm, {
onSubmit: handleSubmit,
attributes: schema.attributes,
fieldSizes,
layout: editLayout
})
]
});
};
var formatEditLayout = (data, { schema, components }) => {
const editAttributes = convertEditLayoutToFieldLayouts(data.component.layouts.edit, schema == null ? void 0 : schema.attributes, data.component.metadatas, {
configurations: data.components,
schemas: components
});
const componentEditAttributes = Object.entries(data.components).reduce((acc, [uid, configuration]) => {
acc[uid] = {
layout: convertEditLayoutToFieldLayouts(configuration.layouts.edit, components[uid].attributes, configuration.metadatas),
settings: {
...configuration.settings,
icon: components[uid].info.icon,
displayName: components[uid].info.displayName
}
};
return acc;
}, {});
const editMetadatas = Object.entries(data.component.metadatas).reduce((acc, [attribute, metadata]) => {
return {
...acc,
[attribute]: metadata.edit
};
}, {});
return {
layout: [
editAttributes
],
components: componentEditAttributes,
metadatas: editMetadatas,
options: {
...schema == null ? void 0 : schema.options,
...schema == null ? void 0 : schema.pluginOptions
},
settings: {
...data.component.settings,
displayName: schema == null ? void 0 : schema.info.displayName
}
};
};
var ProtectedComponentConfigurationPage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.contentManager) == null ? void 0 : _a.componentsConfigurations;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(ComponentConfigurationPage, {})
});
};
export {
ComponentConfigurationPage,
ProtectedComponentConfigurationPage
};
//# sourceMappingURL=ComponentConfigurationPage-2HPC6VSU.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-manager/admin/src/services/components.ts", "../../../@strapi/content-manager/admin/src/pages/ComponentConfigurationPage.tsx"],
"sourcesContent": ["import { contentManagerApi } from './api';\n\nimport type {\n FindComponentConfiguration,\n UpdateComponentConfiguration,\n} from '../../../shared/contracts/components';\n\nconst componentsApi = contentManagerApi.injectEndpoints({\n endpoints: (builder) => ({\n getComponentConfiguration: builder.query<\n FindComponentConfiguration.Response['data'],\n FindComponentConfiguration.Params['uid']\n >({\n query: (uid) => `/content-manager/components/${uid}/configuration`,\n transformResponse: (response: FindComponentConfiguration.Response) => response.data,\n providesTags: (_result, _error, uid) => [{ type: 'ComponentConfiguration', id: uid }],\n }),\n updateComponentConfiguration: builder.mutation({\n query: ({ uid, ...body }) => ({\n url: `/content-manager/components/${uid}/configuration`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: UpdateComponentConfiguration.Response) => response.data,\n invalidatesTags: (_result, _error, { uid }) => [\n { type: 'ComponentConfiguration', id: uid },\n // otherwise layouts already fetched will have stale component configuration data.\n { type: 'ContentTypeSettings', id: 'LIST' },\n ],\n }),\n }),\n});\n\nconst { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation } =\n componentsApi;\n\nexport { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation };\n", "import * as React from 'react';\n\nimport { Page, useNotification, useAPIErrorHandler } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { ComponentsDictionary, extractContentTypeComponents } from '../hooks/useContentTypeSchema';\nimport {\n DEFAULT_SETTINGS,\n EditLayout,\n convertEditLayoutToFieldLayouts,\n} from '../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../modules/hooks';\nimport {\n useGetComponentConfigurationQuery,\n useUpdateComponentConfigurationMutation,\n} from '../services/components';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { setIn } from '../utils/objects';\n\nimport type { Component, FindComponentConfiguration } from '../../../shared/contracts/components';\nimport type { Metadatas } from '../../../shared/contracts/content-types';\n\n/* -------------------------------------------------------------------------------------------------\n * ComponentConfigurationPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComponentConfigurationPage = () => {\n /**\n * useDocumentLayout only works for documents, not components,\n * it feels weird to make that hook work for both when this is SUCH\n * a unique use case and we only do it here, so in short, we essentially\n * just extracted the logic to make an edit view layout and reproduced it here.\n */\n const { slug: model } = useParams<{ slug: string }>();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const {\n components,\n fieldSizes,\n schema,\n error: errorSchema,\n isLoading: isLoadingSchema,\n isFetching: isFetchingSchema,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const schema = res.data?.components.find((ct) => ct.uid === model);\n\n const componentsByKey = res.data?.components.reduce<ComponentsDictionary>(\n (acc, component) => {\n acc[component.uid] = component;\n\n return acc;\n },\n {}\n );\n\n const components = extractContentTypeComponents(schema?.attributes, componentsByKey);\n\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n components,\n schema,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorSchema) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorSchema),\n });\n }\n }, [errorSchema, formatAPIError, toggleNotification]);\n\n const {\n data,\n isLoading: isLoadingConfig,\n isFetching: isFetchingConfig,\n error,\n } = useGetComponentConfigurationQuery(model ?? '');\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\Line truncated
"mappings": "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",
"names": ["componentsApi", "contentManagerApi", "injectEndpoints", "endpoints", "builder", "getComponentConfiguration", "query", "uid", "transformResponse", "response", "data", "providesTags", "_result", "_error", "type", "id", "updateComponentConfiguration", "mutation", "body", "url", "method", "invalidatesTags", "useGetComponentConfigurationQuery", "useUpdateComponentConfigurationMutation", "ComponentConfigurationPage", "slug", "model", "useParams", "toggleNotification", "useNotification", "formatMessage", "useIntl", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "components", "fieldSizes", "schema", "error", "errorSchema", "isLoading", "isLoadingSchema", "isFetching", "isFetchingSchema", "useGetInitialDataQuery", "undefined", "selectFromResult", "res", "data", "find", "ct", "uid", "componentsByKey", "reduce", "acc", "component", "extractContentTypeComponents", "attributes", "Object", "entries", "attributeName", "default", "size", "React", "useEffect", "type", "message", "isLoadingConfig", "isFetchingConfig", "useGetComponentConfigurationQuery", "editLayout", "useMemo", "formatEditLayout", "layout", "metadatas", "options", "settings", "DEFAULT_SETTINGS", "updateConfiguration", "useUpdateComponentConfigurationMutation", "handleSubmit", "formData", "meta", "name", "edit", "list", "__temp_key__", "_size", "_name", "editedMetadata", "flatMap", "row", "children", "field", "layouts", "map", "TEMP_FIELD_NAME", "setIn", "id", "defaultMessage", "_jsx", "Page", "Loading", "Error", "_jsxs", "_Fragment", "Title", "displayName", "ConfigurationForm", "onSubmit", "editAttributes", "convertEditLayoutToFieldLayouts", "configurations", "schemas", "componentEditAttributes", "configuration", "icon", "info", "editMetadatas", "attribute", "metadata", "pluginOptions", "ProtectedComponentConfigurationPage", "permissions", "useTypedSelector", "state", "admin_app", "contentManager", "componentsConfigurations", "Protect"]
}
+377
View File
@@ -0,0 +1,377 @@
import {
useConfig
} from "./chunk-JF4AI5LV.js";
import {
getTrad,
pageSizes,
pluginId,
sortOptions
} from "./chunk-ALMC553V.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import {
ConfirmDialog
} from "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import {
require_set
} from "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import {
require_isEqual
} from "./chunk-VYSYYPOB.js";
import {
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import {
require_get,
require_lib
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import {
fn
} from "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Button,
Dialog,
Field,
Grid,
Link,
SingleSelect,
SingleSelectOption,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import {
NavLink
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$4F,
ForwardRef$5j
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/upload/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var import_isEqual = __toESM(require_isEqual(), 1);
var import_qs2 = __toESM(require_lib(), 1);
// node_modules/@strapi/upload/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var import_qs = __toESM(require_lib(), 1);
var Settings = ({ sort = "", pageSize = 10, onChange: onChange2 }) => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime.jsx)(Box, {
background: "neutral0",
hasRadius: true,
shadow: "tableShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: (0, import_jsx_runtime.jsxs)(Grid.Root, {
gap: 4,
children: [
(0, import_jsx_runtime.jsx)(Grid.Item, {
s: 12,
col: 6,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
hint: formatMessage({
id: getTrad("config.entries.note"),
defaultMessage: "Number of assets displayed by default in the Media Library"
}),
name: "pageSize",
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: getTrad("config.entries.title"),
defaultMessage: "Entries per page"
})
}),
(0, import_jsx_runtime.jsx)(SingleSelect, {
onChange: (value) => onChange2({
target: {
name: "pageSize",
value
}
}),
value: pageSize,
children: pageSizes.map((pageSize2) => (0, import_jsx_runtime.jsx)(SingleSelectOption, {
value: pageSize2,
children: pageSize2
}, pageSize2))
}),
(0, import_jsx_runtime.jsx)(Field.Hint, {})
]
})
}),
(0, import_jsx_runtime.jsx)(Grid.Item, {
s: 12,
col: 6,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
hint: formatMessage({
id: getTrad("config.note"),
defaultMessage: "Note: You can override this value in the media library."
}),
name: "sort",
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: getTrad("config.sort.title"),
defaultMessage: "Default sort order"
})
}),
(0, import_jsx_runtime.jsx)(SingleSelect, {
onChange: (value) => onChange2({
target: {
name: "sort",
value
}
}),
value: sort,
"test-sort": sort,
"data-testid": "sort-select",
children: sortOptions.map((filter) => (0, import_jsx_runtime.jsx)(SingleSelectOption, {
"data-testid": `sort-option-${filter.value}`,
value: filter.value,
children: formatMessage({
id: getTrad(filter.key),
defaultMessage: `${filter.value}`
})
}, filter.key))
}),
(0, import_jsx_runtime.jsx)(Field.Hint, {})
]
})
})
]
})
});
};
// node_modules/@strapi/upload/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs
var ON_CHANGE = `${pluginId}/ON_CHANGE`;
var SET_LOADED = `${pluginId}/SET_LOADED`;
// node_modules/@strapi/upload/dist/admin/pages/App/ConfigureTheView/state/actions.mjs
var onChange = ({ name, value }) => ({
type: ON_CHANGE,
keys: name,
value
});
var setLoaded = () => ({
type: SET_LOADED
});
// node_modules/@strapi/upload/dist/admin/pages/App/ConfigureTheView/state/init.mjs
var initialState = {
initialData: {},
modifiedData: {}
};
var init = (configData) => {
return {
...initialState,
initialData: configData,
modifiedData: configData
};
};
// node_modules/@strapi/upload/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs
var import_get = __toESM(require_get(), 1);
var import_set = __toESM(require_set(), 1);
var reducer = (state = initialState, action = {
type: ""
}) => (
// eslint-disable-next-line consistent-return
fn(state, (draftState) => {
switch (action.type) {
case ON_CHANGE: {
if ("keys" in action && "value" in action && action.keys) {
(0, import_set.default)(draftState, [
"modifiedData",
...action.keys.split(".")
], action.value);
}
break;
}
case SET_LOADED: {
const reInitialise = init((0, import_get.default)(draftState, [
"modifiedData"
], {}));
draftState.initialData = reInitialise.initialData;
draftState.modifiedData = reInitialise.modifiedData;
break;
}
default:
return draftState;
}
})
);
// node_modules/@strapi/upload/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs
var ConfigureTheView = ({ config }) => {
const { trackUsage } = useTracking();
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const { mutateConfig } = useConfig();
const { isLoading: isSubmittingForm } = mutateConfig;
const [showWarningSubmit, setWarningSubmit] = React.useState(false);
const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);
const [reducerState, dispatch] = React.useReducer(reducer, initialState, () => init(config));
const typedDispatch = dispatch;
const { initialData, modifiedData } = reducerState;
const handleSubmit = (e) => {
e.preventDefault();
toggleWarningSubmit();
};
const handleConfirm = async () => {
trackUsage("willEditMediaLibraryConfig");
await mutateConfig.mutateAsync(modifiedData);
setWarningSubmit(false);
typedDispatch(setLoaded());
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.form.success.fields",
defaultMessage: "Changes saved"
})
});
};
const handleChange = ({ target: { name, value } }) => {
typedDispatch(onChange({
name,
value
}));
};
return (0, import_jsx_runtime2.jsx)(Layouts.Root, {
children: (0, import_jsx_runtime2.jsx)(Page.Main, {
"aria-busy": isSubmittingForm,
children: (0, import_jsx_runtime2.jsxs)("form", {
onSubmit: handleSubmit,
children: [
(0, import_jsx_runtime2.jsx)(Layouts.Header, {
navigationAction: (0, import_jsx_runtime2.jsx)(Link, {
tag: NavLink,
startIcon: (0, import_jsx_runtime2.jsx)(ForwardRef$5j, {}),
to: `/plugins/${pluginId}`,
id: "go-back",
children: formatMessage({
id: getTrad("config.back"),
defaultMessage: "Back"
})
}),
primaryAction: (0, import_jsx_runtime2.jsx)(Button, {
size: "S",
startIcon: (0, import_jsx_runtime2.jsx)(ForwardRef$4F, {}),
disabled: (0, import_isEqual.default)(modifiedData, initialData),
type: "submit",
children: formatMessage({
id: "global.save",
defaultMessage: "Save"
})
}),
subtitle: formatMessage({
id: getTrad("config.subtitle"),
defaultMessage: "Define the view settings of the media library."
}),
title: formatMessage({
id: getTrad("config.title"),
defaultMessage: "Configure the view - Media Library"
})
}),
(0, import_jsx_runtime2.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime2.jsx)(Settings, {
"data-testid": "settings",
pageSize: modifiedData.pageSize || "",
sort: modifiedData.sort || "",
onChange: handleChange
})
}),
"x",
(0, import_jsx_runtime2.jsx)(Dialog.Root, {
open: showWarningSubmit,
onOpenChange: toggleWarningSubmit,
children: (0, import_jsx_runtime2.jsx)(ConfirmDialog, {
onConfirm: handleConfirm,
variant: "default",
children: formatMessage({
id: getTrad("config.popUpWarning.warning.updateAllSettings"),
defaultMessage: "This will modify all your settings"
})
})
})
]
})
})
});
};
export {
ConfigureTheView
};
//# sourceMappingURL=ConfigureTheView-OFTYFMGX.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/upload/admin/src/pages/App/ConfigureTheView/components/Settings.tsx", "../../../@strapi/upload/admin/src/pages/App/ConfigureTheView/state/actionTypes.ts", "../../../@strapi/upload/admin/src/pages/App/ConfigureTheView/state/actions.ts", "../../../@strapi/upload/admin/src/pages/App/ConfigureTheView/state/init.ts", "../../../@strapi/upload/admin/src/pages/App/ConfigureTheView/state/reducer.ts", "../../../@strapi/upload/admin/src/pages/App/ConfigureTheView/ConfigureTheView.tsx"],
"sourcesContent": ["import { Box, Grid, SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { pageSizes, sortOptions } from '../../../../constants';\nimport { getTrad } from '../../../../utils';\n\nimport type { Configuration } from '../../../../../../shared/contracts/configuration';\n\ninterface SettingsProps {\n sort: string;\n pageSize: string | number;\n onChange: ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => void;\n}\n\nconst Settings = ({ sort = '', pageSize = 10, onChange }: SettingsProps) => {\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} direction=\"column\" alignItems=\"stretch\">\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} direction=\"column\" alignItems=\"stretch\">\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\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\nimport type { InitialState } from './init';\n\nexport const onChange = ({\n name,\n value,\n}: {\n name: keyof NonNullable<InitialState['initialData']>;\n value: number | string;\n}) => ({\n type: ON_CHANGE,\n keys: name,\n value,\n});\n\nexport const setLoaded = () => ({\n type: SET_LOADED,\n});\n", "import type { Configuration } from '../../../../../../shared/contracts/configuration';\n\nexport type InitialState = {\n initialData: Partial<Configuration>;\n modifiedData: Partial<Configuration>;\n};\n\nconst initialState: InitialState = {\n initialData: {},\n modifiedData: {},\n};\n\nconst init = (configData: InitialState['initialData']): InitialState => {\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\nimport type { InitialState } from './init';\n\nexport interface ActionOnChange {\n type: string;\n keys?: string;\n value: string | number;\n}\n\nexport interface ActionSetLoaded {\n type: string;\n}\n\ninterface ActionInitialValue {\n type: string;\n}\n\nexport type Action = ActionSetLoaded | ActionOnChange | ActionInitialValue;\n\nexport const reducer = (\n state: InitialState = initialState,\n action: Action = {\n type: '',\n }\n) =>\n // esLine truncated
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBMA,IAAAA,WAAW,CAAC,EAAEC,OAAO,IAAIC,WAAW,IAAIC,UAAAA,UAAQ,MAAiB;AACrE,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAE1B,aACEC,wBAACC,KAAAA;IACCC,YAAW;IACXC,WAAS;IACTC,QAAO;IACPC,YAAY;IACZC,eAAe;IACfC,aAAa;IACbC,cAAc;kBAEdC,yBAACC,KAAKC,MAAI;MAACC,KAAK;;YACdZ,wBAACU,KAAKG,MAAI;UAACC,GAAG;UAAIC,KAAK;UAAGC,WAAU;UAASC,YAAW;wBACtDR,yBAACS,MAAMP,MAAI;YACTQ,MAAMrB,cAAc;cAClBsB,IAAIC,QAAQ,qBAAA;cACZC,gBAAgB;YAClB,CAAA;YACAC,MAAK;;kBAELvB,wBAACkB,MAAMM,OAAK;0BACT1B,cAAc;kBACbsB,IAAIC,QAAQ,sBAAA;kBACZC,gBAAgB;gBAClB,CAAA;;kBAEFtB,wBAACyB,cAAAA;gBACC5B,UAAU,CAAC6B,UAAU7B,UAAS;kBAAE8B,QAAQ;oBAAEJ,MAAM;oBAAYG;kBAAM;gBAAE,CAAA;gBACpEA,OAAO9B;gBAENgC,UAAAA,UAAUC,IAAI,CAACjC,kBACdI,wBAAC8B,oBAAAA;kBAAkCJ,OAAO9B;kBACvCA,UAAAA;gBADsBA,GAAAA,SAAAA,CAAAA;;kBAK7BI,wBAACkB,MAAMa,MAAI,CAAA,CAAA;;;;YAGf/B,wBAACU,KAAKG,MAAI;UAACC,GAAG;UAAIC,KAAK;UAAGC,WAAU;UAASC,YAAW;wBACtDR,yBAACS,MAAMP,MAAI;YACTQ,MAAMrB,cAAc;cAClBsB,IAAIC,QAAQ,aAAA;cACZC,gBAAgB;YAClB,CAAA;YACAC,MAAK;;kBAELvB,wBAACkB,MAAMM,OAAK;0BACT1B,cAAc;kBACbsB,IAAIC,QAAQ,mBAAA;kBACZC,gBAAgB;gBAClB,CAAA;;kBAEFtB,wBAACyB,cAAAA;gBACC5B,UAAU,CAAC6B,UAAU7B,UAAS;kBAAE8B,QAAQ;oBAAEJ,MAAM;oBAAQG;kBAAM;gBAAE,CAAA;gBAChEA,OAAO/B;gBACPqC,aAAWrC;gBACXsC,eAAY;gBAEXC,UAAAA,YAAYL,IAAI,CAACM,eAChBnC,wBAAC8B,oBAAAA;kBACCG,eAAa,eAAeE,OAAOT,KAAK;kBAExCA,OAAOS,OAAOT;4BAEb5B,cAAc;oBAAEsB,IAAIC,QAAQc,OAAOC,GAAG;oBAAGd,gBAAgB,GAAGa,OAAOT,KAAK;kBAAG,CAAA;gBAHvES,GAAAA,OAAOC,GAAG,CAAA;;kBAOrBpC,wBAACkB,MAAMa,MAAI,CAAA,CAAA;;;;;;;AAMvB;;;IC7FaM,YAAY,GAAGC,QAAS;IACxBC,aAAa,GAAGD,QAAS;;;ACC/B,IAAME,WAAW,CAAC,EACvBC,MACAC,MAAK,OAIA;EACLC,MAAMC;EACNC,MAAMJ;EACNC;AACF;AAEO,IAAMI,YAAY,OAAO;EAC9BH,MAAMI;AACR;;;ACXA,IAAMC,eAA6B;EACjCC,aAAa,CAAA;EACbC,cAAc,CAAA;AAChB;AAEA,IAAMC,OAAO,CAACC,eAAAA;AACZ,SAAO;IACL,GAAGJ;IACHC,aAAaG;IACbF,cAAcE;EAChB;AACF;;;;;ICOaC,UAAU,CACrBC,QAAsBC,cACtBC,SAAiB;EACfC,MAAM;AACR;;EAGAC,GAAQJ,OAAO,CAACK,eAAAA;AACd,YAAQH,OAAOC,MAAI;MACjB,KAAKG,WAAW;AACd,YAAI,UAAUJ,UAAU,WAAWA,UAAUA,OAAOK,MAAM;AACxDC,yBAAAA,SAAIH,YAAY;YAAC;eAAmBH,OAAOK,KAAKE,MAAM,GAAA;UAAK,GAAEP,OAAOQ,KAAK;QAC3E;AACA;MACF;MACA,KAAKC,YAAY;AAEf,cAAMC,eAAeC,SAAKC,WAAAA,SAAIT,YAAY;UAAC;QAAe,GAAE,CAAA,CAAC,CAAA;AAC7DA,mBAAWU,cAAcH,aAAaG;AACtCV,mBAAWW,eAAeJ,aAAaI;AACvC;MACF;MACA;AACE,eAAOX;IACX;GACC;;;;ACjBQY,IAAAA,mBAAmB,CAAC,EAAEC,OAAM,MAAyB;AAChE,QAAM,EAAEC,WAAU,IAAKC,YAAAA;AACvB,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAM,EAAEC,mBAAkB,IAAKC,gBAAAA;AAC/B,QAAM,EAAEC,aAAY,IAAKC,UAAAA;AACzB,QAAM,EAAEC,WAAWC,iBAAgB,IAAKH;AAExC,QAAM,CAACI,mBAAmBC,gBAAAA,IAA0BC,eAAS,KAAA;AAC7D,QAAMC,sBAAsB,MAAMF,iBAAiB,CAACG,cAAc,CAACA,SAAAA;AAEnE,QAAM,CAACC,cAAcC,QAAAA,IAAkBC,iBACrCC,SACAC,cACA,MAAoBC,KAAKrB,MAAAA,CAAAA;AAE3B,QAAMsB,gBAAwCL;AAC9C,QAAM,EAAEM,aAAaC,aAAY,IAAKR;AAEtC,QAAMS,eAAe,CAACC,MAAAA;AACpBA,MAAEC,eAAc;AAChBb,wBAAAA;EACF;AAEA,QAAMc,gBAAgB,YAAA;AACpB3B,eAAW,4BAAA;AACX,UAAMM,aAAasB,YAAYL,YAAAA;AAC/BZ,qBAAiB,KAAA;AACjBU,kBAAcQ,UAAAA,CAAAA;AACdzB,uBAAmB;MACjB0B,MAAM;MACNC,SAAS7B,cAAc;QACrB8B,IAAI;QACJC,gBAAgB;MAClB,CAAA;IACF,CAAA;EACF;AAEA,QAAMC,eAAe,CAAC,EACpBC,QAAQ,EAAEC,MAAMC,MAAK,EAAE,MAGxB;AACChB,kBAAciB,SAAS;MAAEF;MAAMC;IAAM,CAAA,CAAA;EACvC;AAEA,aACEE,yBAACC,QAAQC,MAAI;kBACXF,yBAACG,KAAKC,MAAI;MAACC,aAAWnC;MACpB,cAAAoC,0BAACC,QAAAA;QAAKC,UAAUvB;;cACde,yBAACC,QAAQQ,QAAM;YACbC,sBACEV,yBAACW,MAAAA;cACCC,KAAKC;cACLC,eAAWd,yBAACe,eAAAA,CAAAA,CAAAA;cACZC,IAAI,YAAYC,QAAAA;cAChBxB,IAAG;wBAEF9B,cAAc;gBAAE8B,IAAIyB,QAAQ,aAAA;gBAAgBxB,gBAAgB;cAAO,CAAA;;YAGxEyB,mBACEnB,yBAACoB,QAAAA;cACCC,MAAK;cACLP,eAAWd,yBAACsB,eAAAA,CAAAA,CAAAA;cACZC,cAAUC,eAAAA,SAAQxC,cAAcD,WAAAA;cAChCQ,MAAK;wBAEJ5B,cAAc;gBAAE8B,IAAI;gBAAeC,gBAAgB;cAAO,CAAA;;YAG/D+B,UAAU9D,cAAc;cACtB8B,IAAIyB,QAAQ,iBAAA;cACZxB,gBAAgB;YAClB,CAAA;YACAgC,OAAO/D,cAAc;cACnB8B,IAAIyB,QAAQ,cAAA;cACZxB,gBAAgB;YAClB,CAAA;;cAEFM,yBAACC,QAAQ0B,SAAO;YACd,cAAA3B,yBAAC4B,UAAAA;cACCC,eAAY;cACZC,UAAU9C,aAAa8C,YAAY;cACnCC,MAAM/C,aAAa+C,QAAQ;cAC3BhC,UAAUJ;;;UAEI;cAElBK,yBAACgC,OAAO9B,MAAI;YAAC+B,MAAM9D;YAAmB+D,cAAc5D;YAClD,cAAA0B,yBAACmC,eAAAA;cAAcC,WAAWhD;cAAeiD,SAAQ;wBAC9C1E,cAAc;gBACb8B,IAAIyB,QAAQ,+CAAA;gBACZxB,gBAAgB;cAClB,CAAA;;;;;;;AAOd;",
"names": ["Settings", "sort", "pageSize", "onChange", "formatMessage", "useIntl", "_jsx", "Box", "background", "hasRadius", "shadow", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", "_jsxs", "Grid", "Root", "gap", "Item", "s", "col", "direction", "alignItems", "Field", "hint", "id", "getTrad", "defaultMessage", "name", "Label", "SingleSelect", "value", "target", "pageSizes", "map", "SingleSelectOption", "Hint", "test-sort", "data-testid", "sortOptions", "filter", "key", "ON_CHANGE", "pluginId", "SET_LOADED", "onChange", "name", "value", "type", "ON_CHANGE", "keys", "setLoaded", "SET_LOADED", "initialState", "initialData", "modifiedData", "init", "configData", "reducer", "state", "initialState", "action", "type", "produce", "draftState", "ON_CHANGE", "keys", "set", "split", "value", "SET_LOADED", "reInitialise", "init", "get", "initialData", "modifiedData", "ConfigureTheView", "config", "trackUsage", "useTracking", "formatMessage", "useIntl", "toggleNotification", "useNotification", "mutateConfig", "useConfig", "isLoading", "isSubmittingForm", "showWarningSubmit", "setWarningSubmit", "useState", "toggleWarningSubmit", "prevState", "reducerState", "dispatch", "useReducer", "reducer", "initialState", "init", "typedDispatch", "initialData", "modifiedData", "handleSubmit", "e", "preventDefault", "handleConfirm", "mutateAsync", "setLoaded", "type", "message", "id", "defaultMessage", "handleChange", "target", "name", "value", "onChange", "_jsx", "Layouts", "Root", "Page", "Main", "aria-busy", "_jsxs", "form", "onSubmit", "Header", "navigationAction", "Link", "tag", "NavLink", "startIcon", "ArrowLeft", "to", "pluginId", "getTrad", "primaryAction", "Button", "size", "Check", "disabled", "isEqual", "subtitle", "title", "Content", "Settings", "data-testid", "pageSize", "sort", "Dialog", "open", "onOpenChange", "ConfirmDialog", "onConfirm", "variant"]
}
+79
View File
@@ -0,0 +1,79 @@
import {
require_isNil
} from "./chunk-AOLNGJZC.js";
import {
useLicenseLimits
} from "./chunk-G2UWKDMB.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
Button,
Flex,
TooltipImpl,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$2d,
ForwardRef$3
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var import_isNil = __toESM(require_isNil(), 1);
var CreateActionEE = React.forwardRef((props, ref) => {
const { formatMessage } = useIntl();
const { license, isError, isLoading } = useLicenseLimits();
const { permittedSeats, shouldStopCreate } = license ?? {};
if (isError || isLoading) {
return null;
}
return (0, import_jsx_runtime.jsxs)(Flex, {
gap: 2,
children: [
!(0, import_isNil.default)(permittedSeats) && shouldStopCreate && (0, import_jsx_runtime.jsx)(TooltipImpl, {
label: formatMessage({
id: "Settings.application.admin-seats.at-limit-tooltip",
defaultMessage: "At limit: add seats to invite more users"
}),
side: "left",
children: (0, import_jsx_runtime.jsx)(ForwardRef$3, {
width: "1.4rem",
height: "1.4rem",
fill: "danger500"
})
}),
(0, import_jsx_runtime.jsx)(Button, {
ref,
"data-testid": "create-user-button",
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$2d, {}),
size: "S",
disabled: shouldStopCreate,
...props,
children: formatMessage({
id: "Settings.permissions.users.create",
defaultMessage: "Invite new user"
})
})
]
});
});
export {
CreateActionEE
};
//# sourceMappingURL=CreateActionEE-W6UH7YA7.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport { Button, Flex, Tooltip } from '@strapi/design-system';\nimport { Mail, WarningCircle } from '@strapi/icons';\nimport isNil from 'lodash/isNil';\nimport { useIntl } from 'react-intl';\n\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nimport type { CreateActionCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/CreateActionCE';\n\nexport const CreateActionEE = React.forwardRef<HTMLButtonElement, CreateActionCEProps>(\n (props, ref) => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const { permittedSeats, shouldStopCreate } = license ?? {};\n\n if (isError || isLoading) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n {!isNil(permittedSeats) && shouldStopCreate && (\n <Tooltip\n label={formatMessage({\n id: 'Settings.application.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n side=\"left\"\n >\n <WarningCircle width=\"1.4rem\" height=\"1.4rem\" fill=\"danger500\" />\n </Tooltip>\n )}\n <Button\n ref={ref}\n data-testid=\"create-user-button\"\n startIcon={<Mail />}\n size=\"S\"\n disabled={shouldStopCreate}\n {...props}\n >\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n </Flex>\n );\n }\n);\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWaA,iBAAuBC,iBAClC,CAACC,OAAOC,QAAAA;AACN,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAM,EAAEC,SAASC,SAASC,UAAS,IAAKC,iBAAAA;AAExC,QAAM,EAAEC,gBAAgBC,iBAAgB,IAAKL,WAAW,CAAA;AAExD,MAAIC,WAAWC,WAAW;AACxB,WAAO;EACT;AAEA,aACEI,yBAACC,MAAAA;IAAKC,KAAK;;MACR,KAACC,aAAAA,SAAML,cAAmBC,KAAAA,wBACzBK,wBAACC,aAAAA;QACCC,OAAOd,cAAc;UACnBe,IAAI;UACJC,gBAAgB;QAClB,CAAA;QACAC,MAAK;QAEL,cAAAL,wBAACM,cAAAA;UAAcC,OAAM;UAASC,QAAO;UAASC,MAAK;;;UAGvDT,wBAACU,QAAAA;QACCvB;QACAwB,eAAY;QACZC,eAAWZ,wBAACa,eAAAA,CAAAA,CAAAA;QACZC,MAAK;QACLC,UAAUpB;QACT,GAAGT;kBAEHE,cAAc;UACbe,IAAI;UACJC,gBAAgB;QAClB,CAAA;;;;AAIR,CACA;",
"names": ["CreateActionEE", "forwardRef", "props", "ref", "formatMessage", "useIntl", "license", "isError", "isLoading", "useLicenseLimits", "permittedSeats", "shouldStopCreate", "_jsxs", "Flex", "gap", "isNil", "_jsx", "Tooltip", "label", "id", "defaultMessage", "side", "WarningCircle", "width", "height", "fill", "Button", "data-testid", "startIcon", "Mail", "size", "disabled"]
}
+58
View File
@@ -0,0 +1,58 @@
import {
EditPage
} from "./chunk-SOIQOVFG.js";
import "./chunk-AD4IF7GD.js";
import "./chunk-CI2U7W4K.js";
import "./chunk-6HMBNYS4.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IY256CNP.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-VYSYYPOB.js";
import {
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Webhooks/CreatePage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var ProtectedCreatePage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a.webhooks.create;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(EditPage, {})
});
};
export {
ProtectedCreatePage
};
//# sourceMappingURL=CreatePage-AWYH3SXH.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/Webhooks/CreatePage.tsx"],
"sourcesContent": ["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditPage } from './EditPage';\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedCreatePage };\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,sBAAsB,MAAA;AAC1B,QAAMC,cAAcC,iBAClB,CAACC,UAAUA;;AAAAA,uBAAMC,UAAUH,YAAYI,aAA5BF,mBAAsCG,SAASC;GAAAA;AAG5D,aACEC,wBAACC,KAAKC,SAAO;IAACT;IACZ,cAAAO,wBAACG,UAAAA,CAAAA,CAAAA;;AAGP;",
"names": ["ProtectedCreatePage", "permissions", "useTypedSelector", "state", "admin_app", "settings", "webhooks", "create", "_jsx", "Page", "Protect", "EditPage"]
}
+408
View File
@@ -0,0 +1,408 @@
import {
Permissions
} from "./chunk-3LBDASKN.js";
import "./chunk-MUOUY6GG.js";
import "./chunk-NE3KAGU6.js";
import {
format
} from "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-YJEURQPS.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-GGK2TLCV.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import {
Form,
Formik
} from "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import {
BackButton
} from "./chunk-IY256CNP.js";
import {
errorsTrads
} from "./chunk-IFOFBKTA.js";
import {
create4 as create,
create6 as create2
} from "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import {
useCreateRoleMutation,
useGetRolePermissionLayoutQuery,
useGetRolePermissionsQuery,
useUpdateRolePermissionsMutation
} from "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import {
isBaseQueryError
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Button,
Field,
Flex,
Grid,
Main,
TextInput,
Textarea,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import {
useNavigate,
useParams
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$4F
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import {
dt
} from "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var CREATE_SCHEMA = create2().shape({
name: create().required(errorsTrads.required.id),
description: create().required(errorsTrads.required.id)
});
var CreatePage = () => {
const { id } = useParams();
const { toggleNotification } = useNotification();
const { formatMessage } = useIntl();
const navigate = useNavigate();
const permissionsRef = React.useRef(null);
const { trackUsage } = useTracking();
const { _unstableFormatAPIError: formatAPIError, _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
const { isLoading: isLoadingPermissionsLayout, currentData: permissionsLayout } = useGetRolePermissionLayoutQuery({
/**
* Role here is a query param so if there's no role we pass an empty string
* which returns us a default layout.
*/
role: id ?? ""
});
const { currentData: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery({
id
}, {
skip: !id,
refetchOnMountOrArgChange: true
});
const [createRole] = useCreateRoleMutation();
const [updateRolePermissions] = useUpdateRolePermissionsMutation();
const handleCreateRoleSubmit = async (data, formik) => {
var _a;
try {
if (id) {
trackUsage("willDuplicateRole");
} else {
trackUsage("willCreateNewRole");
}
const res = await createRole(data);
if ("error" in res) {
if (isBaseQueryError(res.error) && res.error.name === "ValidationError") {
formik.setErrors(formatValidationErrors(res.error));
} else {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
}
return;
}
const { permissionsToSend } = ((_a = permissionsRef.current) == null ? void 0 : _a.getPermissions()) ?? {};
if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {
const updateRes = await updateRolePermissions({
id: res.data.id,
permissions: permissionsToSend
});
if ("error" in updateRes) {
if (isBaseQueryError(updateRes.error) && updateRes.error.name === "ValidationError") {
formik.setErrors(formatValidationErrors(updateRes.error));
} else {
toggleNotification({
type: "danger",
message: formatAPIError(updateRes.error)
});
}
return;
}
}
toggleNotification({
type: "success",
message: formatMessage({
id: "Settings.roles.created",
defaultMessage: "created"
})
});
navigate(`../roles/${res.data.id.toString()}`, {
replace: true
});
} catch (err) {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
}
};
if (isLoadingPermissionsLayout && isLoadingRole || !permissionsLayout) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime.jsxs)(Main, {
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: "Roles"
})
}),
(0, import_jsx_runtime.jsx)(Formik, {
initialValues: {
name: "",
description: `${formatMessage({
id: "Settings.roles.form.created",
defaultMessage: "Created"
})} ${format(/* @__PURE__ */ new Date(), "PPP")}`
},
onSubmit: handleCreateRoleSubmit,
validationSchema: CREATE_SCHEMA,
validateOnChange: false,
children: ({ values, errors, handleReset, handleChange, isSubmitting }) => (0, import_jsx_runtime.jsx)(Form, {
children: (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Layouts.Header, {
primaryAction: (0, import_jsx_runtime.jsxs)(Flex, {
gap: 2,
children: [
(0, import_jsx_runtime.jsx)(Button, {
variant: "secondary",
onClick: () => {
var _a;
handleReset();
(_a = permissionsRef.current) == null ? void 0 : _a.resetForm();
},
children: formatMessage({
id: "app.components.Button.reset",
defaultMessage: "Reset"
})
}),
(0, import_jsx_runtime.jsx)(Button, {
type: "submit",
loading: isSubmitting,
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$4F, {}),
children: formatMessage({
id: "global.save",
defaultMessage: "Save"
})
})
]
}),
title: formatMessage({
id: "Settings.roles.create.title",
defaultMessage: "Create a role"
}),
subtitle: formatMessage({
id: "Settings.roles.create.description",
defaultMessage: "Define the rights given to the role"
}),
navigationAction: (0, import_jsx_runtime.jsx)(BackButton, {
fallback: "../roles"
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 6,
children: [
(0, import_jsx_runtime.jsx)(Box, {
background: "neutral0",
padding: 6,
shadow: "filterShadow",
hasRadius: true,
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
(0, import_jsx_runtime.jsxs)(Flex, {
justifyContent: "space-between",
children: [
(0, import_jsx_runtime.jsxs)(Box, {
children: [
(0, import_jsx_runtime.jsx)(Box, {
children: (0, import_jsx_runtime.jsx)(Typography, {
fontWeight: "bold",
children: formatMessage({
id: "global.details",
defaultMessage: "Details"
})
})
}),
(0, import_jsx_runtime.jsx)(Box, {
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "pi",
textColor: "neutral600",
children: formatMessage({
id: "Settings.roles.form.description",
defaultMessage: "Name and description of the role"
})
})
})
]
}),
(0, import_jsx_runtime.jsx)(UsersRoleNumber, {
children: formatMessage({
id: "Settings.roles.form.button.users-with-role",
defaultMessage: "{number, plural, =0 {# users} one {# user} other {# users}} with this role"
}, {
number: 0
})
})
]
}),
(0, import_jsx_runtime.jsxs)(Grid.Root, {
gap: 4,
children: [
(0, import_jsx_runtime.jsx)(Grid.Item, {
col: 6,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
name: "name",
error: errors.name && formatMessage({
id: errors.name
}),
required: true,
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: "global.name",
defaultMessage: "Name"
})
}),
(0, import_jsx_runtime.jsx)(TextInput, {
onChange: handleChange,
value: values.name
}),
(0, import_jsx_runtime.jsx)(Field.Error, {})
]
})
}),
(0, import_jsx_runtime.jsx)(Grid.Item, {
col: 6,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
name: "description",
error: errors.description && formatMessage({
id: errors.description
}),
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: "global.description",
defaultMessage: "Description"
})
}),
(0, import_jsx_runtime.jsx)(Textarea, {
onChange: handleChange,
value: values.description
})
]
})
})
]
})
]
})
}),
(0, import_jsx_runtime.jsx)(Box, {
shadow: "filterShadow",
hasRadius: true,
children: (0, import_jsx_runtime.jsx)(Permissions, {
isFormDisabled: false,
ref: permissionsRef,
permissions: rolePermissions,
layout: permissionsLayout
})
})
]
})
})
]
})
})
})
]
});
};
var UsersRoleNumber = dt.div`
border: 1px solid ${({ theme }) => theme.colors.primary200};
background: ${({ theme }) => theme.colors.primary100};
padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[4]}`};
color: ${({ theme }) => theme.colors.primary600};
border-radius: ${({ theme }) => theme.borderRadius};
font-size: 1.2rem;
font-weight: bold;
`;
var ProtectedCreatePage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a.roles.create;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(CreatePage, {})
});
};
export {
CreatePage,
ProtectedCreatePage
};
//# sourceMappingURL=CreatePage-CJGYQTTX.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/Roles/CreatePage.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Field,\n Flex,\n Grid,\n Main,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { format } from 'date-fns';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useCreateRoleMutation,\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\n\n/* -------------------------------------------------------------------------------------------------\n * CreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst CREATE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface CreateRoleFormValues {\n name: string;\n description: string;\n}\n\n/**\n * TODO: this whole section of the app needs refactoring. Using a ref to\n * manage the state of the child is nonsensical.\n */\nconst CreatePage = () => {\n const { id } = useParams();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const { isLoading: isLoadingPermissionsLayout, currentData: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n /**\n * We need this so if we're cloning a role, we can fetch\n * the current permissions that role has.\n */\n const { currentData: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [createRole] = useCreateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n const handleCreateRoleSubmit = async (\n data: CreateRoleFormValues,\n formik: FormikHelpers<CreateRoleFormValues>\n ) => {\n try {\n if (id) {\n trackUsage('willDuplicateRole');\n } else {\n trackUsage('willCreateNewRole');\n }\n\n const res = await createRole(data);\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n const { permissionsToSend } = permissionsRef.current?.getPermissions() ?? {};\n\n if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.roles.created', defaultMessage: 'created' }),\n });\n\n navigate(`../roles/${res.data.id.toString()}`, { replace: true });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: fLine truncated
"mappings": "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",
"names": ["CREATE_SCHEMA", "object", "shape", "name", "string", "required", "translatedErrors", "id", "description", "CreatePage", "useParams", "toggleNotification", "useNotification", "formatMessage", "useIntl", "navigate", "useNavigate", "permissionsRef", "useRef", "trackUsage", "useTracking", "_unstableFormatAPIError", "formatAPIError", "_unstableFormatValidationErrors", "formatValidationErrors", "useAPIErrorHandler", "isLoading", "isLoadingPermissionsLayout", "currentData", "permissionsLayout", "useGetRolePermissionLayoutQuery", "role", "rolePermissions", "isLoadingRole", "useGetRolePermissionsQuery", "skip", "refetchOnMountOrArgChange", "createRole", "useCreateRoleMutation", "updateRolePermissions", "useUpdateRolePermissionsMutation", "handleCreateRoleSubmit", "data", "formik", "res", "isBaseQueryError", "error", "setErrors", "type", "message", "permissionsToSend", "current", "getPermissions", "Array", "isArray", "length", "updateRes", "permissions", "defaultMessage", "toString", "replace", "err", "_jsx", "Page", "Loading", "_jsxs", "Main", "Title", "Formik", "initialValues", "format", "Date", "onSubmit", "validationSchema", "validateOnChange", "values", "errors", "handleReset", "handleChange", "isSubmitting", "Form", "_Fragment", "Layouts", "Header", "primaryAction", "Flex", "gap", "Button", "variant", "onClick", "resetForm", "loading", "startIcon", "Check", "title", "subtitle", "navigationAction", "BackButton", "fallback", "Content", "direction", "alignItems", "Box", "background", "padding", "shadow", "hasRadius", "justifyContent", "Typography", "fontWeight", "textColor", "UsersRoleNumber", "number", "Grid", "Root", "Item", "col", "Field", "Label", "TextInput", "onChange", "value", "Error", "Textarea", "Permissions", "isFormDisabled", "ref", "layout", "styled", "div", "theme", "colors", "primary200", "primary100", "spaces", "primary600", "borderRadius", "ProtectedCreatePage", "useTypedSelector", "state", "admin_app", "settings", "roles", "create", "Protect"]
}
+76
View File
@@ -0,0 +1,76 @@
import {
EditView
} from "./chunk-SR6CJ4F4.js";
import "./chunk-4Z32JD6C.js";
import "./chunk-T2YF43GM.js";
import "./chunk-NC2FHXMX.js";
import "./chunk-YYT5ZZ3W.js";
import "./chunk-RXTTORSL.js";
import "./chunk-7GAX2FTH.js";
import "./chunk-NE3KAGU6.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-7PUJSL55.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/ApiTokens/CreateView.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var ProtectedCreateView = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a["api-tokens"].create;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(EditView, {})
});
};
export {
ProtectedCreateView
};
//# sourceMappingURL=CreateView-53MGSA2G.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/ApiTokens/CreateView.tsx"],
"sourcesContent": ["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView/EditViewPage';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKaA,sBAAsB,MAAA;AACjC,QAAMC,cAAcC,iBAClB,CAACC,UAAAA;;AAAUA,uBAAMC,UAAUH,YAAYI,aAA5BF,mBAAuC,cAAcG;GAAAA;AAGlE,aACEC,wBAACC,KAAKC,SAAO;IAACR;IACZ,cAAAM,wBAACG,UAAAA,CAAAA,CAAAA;;AAGP;",
"names": ["ProtectedCreateView", "permissions", "useTypedSelector", "state", "admin_app", "settings", "create", "_jsx", "Page", "Protect", "EditView"]
}
+71
View File
@@ -0,0 +1,71 @@
import {
EditView
} from "./chunk-RQUIEHLA.js";
import "./chunk-YYT5ZZ3W.js";
import "./chunk-RXTTORSL.js";
import "./chunk-7GAX2FTH.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-7PUJSL55.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/TransferTokens/CreateView.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var ProtectedCreateView = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a["transfer-tokens"].create;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(EditView, {})
});
};
export {
ProtectedCreateView
};
//# sourceMappingURL=CreateView-7DDFBOFG.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/TransferTokens/CreateView.tsx"],
"sourcesContent": ["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKaA,sBAAsB,MAAA;AACjC,QAAMC,cAAcC,iBAClB,CAACC,UAAAA;;AAAUA,uBAAMC,UAAUH,YAAYI,aAA5BF,mBAAuC,mBAAmBG;GAAAA;AAGvE,aACEC,wBAACC,KAAKC,SAAO;IAACR;IACZ,cAAAM,wBAACG,UAAAA,CAAAA,CAAAA;;AAGP;",
"names": ["ProtectedCreateView", "permissions", "useTypedSelector", "state", "admin_app", "settings", "create", "_jsx", "Page", "Protect", "EditView"]
}
+230
View File
@@ -0,0 +1,230 @@
import {
ConfigurationForm,
TEMP_FIELD_NAME
} from "./chunk-TUQVYWWY.js";
import "./chunk-CD3FLTLL.js";
import {
useTypedSelector
} from "./chunk-VE2D6HMA.js";
import "./chunk-NAZM6EA4.js";
import {
setIn,
useDoc,
useDocLayout,
useGetInitialDataQuery,
useUpdateContentTypeConfigurationMutation
} from "./chunk-UATNJIHQ.js";
import "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/content-manager/dist/admin/pages/EditConfigurationPage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var EditConfigurationPage = () => {
const { trackUsage } = useTracking();
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
const { isLoading: isLoadingSchema, schema, model } = useDoc();
const { isLoading: isLoadingLayout, error, list, edit } = useDocLayout();
const { fieldSizes, error: errorFieldSizes, isLoading: isLoadingFieldSizes, isFetching: isFetchingFieldSizes } = useGetInitialDataQuery(void 0, {
selectFromResult: (res) => {
var _a;
const fieldSizes2 = Object.entries(((_a = res.data) == null ? void 0 : _a.fieldSizes) ?? {}).reduce((acc, [attributeName, { default: size }]) => {
acc[attributeName] = size;
return acc;
}, {});
return {
isFetching: res.isFetching,
isLoading: res.isLoading,
error: res.error,
fieldSizes: fieldSizes2
};
}
});
React.useEffect(() => {
if (errorFieldSizes) {
toggleNotification({
type: "danger",
message: formatAPIError(errorFieldSizes)
});
}
}, [
errorFieldSizes,
formatAPIError,
toggleNotification
]);
const isLoading = isLoadingSchema || isLoadingLayout || isLoadingFieldSizes || isFetchingFieldSizes;
const [updateConfiguration] = useUpdateContentTypeConfigurationMutation();
const handleSubmit = async (data) => {
try {
trackUsage("willSaveContentTypeLayout");
const meta = Object.entries(list.metadatas).reduce((acc, [name, { mainField: _mainField, ...listMeta }]) => {
const existingEditMeta = edit.metadatas[name];
const { __temp_key__, size: _size, name: _name, ...editedMetadata } = data.layout.flatMap((row) => row.children).find((field) => field.name === name) ?? {};
acc[name] = {
edit: {
...existingEditMeta,
...editedMetadata
},
list: listMeta
};
return acc;
}, {});
const res = await updateConfiguration({
layouts: {
edit: data.layout.map((row) => row.children.reduce((acc, { name, size }) => {
if (name !== TEMP_FIELD_NAME) {
return [
...acc,
{
name,
size
}
];
}
return acc;
}, [])),
list: list.layout.map((field) => field.name)
},
settings: setIn(data.settings, "displayName", void 0),
metadatas: meta,
uid: model
});
if ("data" in res) {
trackUsage("didEditEditSettings");
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.success.saved",
defaultMessage: "Saved"
})
});
} else {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
}
} catch {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
}
};
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
if (errorFieldSizes || error || !schema) {
return (0, import_jsx_runtime.jsx)(Page.Error, {});
}
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: `Configure ${edit.settings.displayName} Edit View`
}),
(0, import_jsx_runtime.jsx)(ConfigurationForm, {
onSubmit: handleSubmit,
attributes: schema.attributes,
fieldSizes,
layout: edit
})
]
});
};
var ProtectedEditConfigurationPage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.contentManager) == null ? void 0 : _a.collectionTypesConfigurations;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(EditConfigurationPage, {})
});
};
export {
EditConfigurationPage,
ProtectedEditConfigurationPage
};
//# sourceMappingURL=EditConfigurationPage-5E6X27JT.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-manager/admin/src/pages/EditConfigurationPage.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport { Page, useNotification, useTracking, useAPIErrorHandler } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { useDoc } from '../hooks/useDocument';\nimport { useDocLayout } from '../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../modules/hooks';\nimport { useUpdateContentTypeConfigurationMutation } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { setIn } from '../utils/objects';\n\nimport type { Metadatas } from '../../../shared/contracts/content-types';\n\nconst EditConfigurationPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { isLoading: isLoadingSchema, schema, model } = useDoc();\n const { isLoading: isLoadingLayout, error, list, edit } = useDocLayout();\n\n const {\n fieldSizes,\n error: errorFieldSizes,\n isLoading: isLoadingFieldSizes,\n isFetching: isFetchingFieldSizes,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorFieldSizes) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorFieldSizes),\n });\n }\n }, [errorFieldSizes, formatAPIError, toggleNotification]);\n\n const isLoading =\n isLoadingSchema || isLoadingLayout || isLoadingFieldSizes || isFetchingFieldSizes;\n\n const [updateConfiguration] = useUpdateContentTypeConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (data) => {\n try {\n trackUsage('willSaveContentTypeLayout');\n\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(list.metadatas).reduce<Metadatas>(\n (acc, [name, { mainField: _mainField, ...listMeta }]) => {\n const existingEditMeta = edit.metadatas[name];\n\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = data.layout.flatMap((row) => row.children).find((field) => field.name === name) ?? {};\n\n acc[name] = {\n edit: {\n ...existingEditMeta,\n ...editedMetadata,\n },\n list: listMeta,\n };\n\n return acc;\n },\n {}\n );\n\n const res = await updateConfiguration({\n layouts: {\n edit: data.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: list.layout.map((field) => field.name),\n },\n settings: setIn(data.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n trackUsage('didEditEditSettings');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (errorFieldSizes || error || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Page.Title>{`Configure ${edit.settings.displayName} Edit View`}</Page.Title>\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={edit}\n />\n </>\n );\n};\n\nconst ProtectedEditConfigurationPage = () => {\n const permissions = useTypedSelector(\n (sLine truncated
"mappings": "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",
"names": ["EditConfigurationPage", "trackUsage", "useTracking", "formatMessage", "useIntl", "toggleNotification", "useNotification", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "isLoading", "isLoadingSchema", "schema", "model", "useDoc", "isLoadingLayout", "error", "list", "edit", "useDocLayout", "fieldSizes", "errorFieldSizes", "isLoadingFieldSizes", "isFetching", "isFetchingFieldSizes", "useGetInitialDataQuery", "undefined", "selectFromResult", "res", "Object", "entries", "data", "reduce", "acc", "attributeName", "default", "size", "React", "useEffect", "type", "message", "updateConfiguration", "useUpdateContentTypeConfigurationMutation", "handleSubmit", "meta", "metadatas", "name", "mainField", "_mainField", "listMeta", "existingEditMeta", "__temp_key__", "_size", "_name", "editedMetadata", "layout", "flatMap", "row", "children", "find", "field", "layouts", "map", "TEMP_FIELD_NAME", "settings", "setIn", "uid", "id", "defaultMessage", "_jsx", "Page", "Loading", "Error", "_jsxs", "_Fragment", "Title", "displayName", "ConfigurationForm", "onSubmit", "attributes", "ProtectedEditConfigurationPage", "permissions", "useTypedSelector", "state", "admin_app", "contentManager", "collectionTypesConfigurations", "Protect"]
}
+410
View File
@@ -0,0 +1,410 @@
import {
useAdminRoles
} from "./chunk-RQXXWIIX.js";
import {
Permissions
} from "./chunk-3LBDASKN.js";
import "./chunk-MUOUY6GG.js";
import "./chunk-NE3KAGU6.js";
import "./chunk-YJEURQPS.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-GGK2TLCV.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import {
Formik
} from "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import {
BackButton
} from "./chunk-IY256CNP.js";
import {
errorsTrads
} from "./chunk-IFOFBKTA.js";
import {
create4 as create,
create6 as create2
} from "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import {
useGetRolePermissionLayoutQuery,
useGetRolePermissionsQuery,
useUpdateRoleMutation,
useUpdateRolePermissionsMutation
} from "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import {
isBaseQueryError
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Button,
Field,
Flex,
Grid,
Main,
TextInput,
Textarea,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import {
Navigate,
useMatch
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$4F
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var RoleForm = ({ disabled, role, values, errors, onChange, onBlur }) => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime.jsx)(Box, {
background: "neutral0",
padding: 6,
shadow: "filterShadow",
hasRadius: true,
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
(0, import_jsx_runtime.jsxs)(Flex, {
justifyContent: "space-between",
children: [
(0, import_jsx_runtime.jsxs)(Box, {
children: [
(0, import_jsx_runtime.jsx)(Box, {
children: (0, import_jsx_runtime.jsx)(Typography, {
fontWeight: "bold",
children: role ? role.name : formatMessage({
id: "global.details",
defaultMessage: "Details"
})
})
}),
(0, import_jsx_runtime.jsx)(Box, {
children: (0, import_jsx_runtime.jsx)(Typography, {
textColor: "neutral500",
variant: "pi",
children: role ? role.description : formatMessage({
id: "Settings.roles.form.description",
defaultMessage: "Name and description of the role"
})
})
})
]
}),
(0, import_jsx_runtime.jsx)(Button, {
disabled: true,
variant: "secondary",
children: formatMessage({
id: "Settings.roles.form.button.users-with-role",
defaultMessage: "{number, plural, =0 {# users} one {# user} other {# users}} with this role"
}, {
number: role.usersCount
})
})
]
}),
(0, import_jsx_runtime.jsxs)(Grid.Root, {
gap: 4,
children: [
(0, import_jsx_runtime.jsx)(Grid.Item, {
col: 6,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
name: "name",
error: errors.name && formatMessage({
id: errors.name
}),
required: true,
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: "global.name",
defaultMessage: "Name"
})
}),
(0, import_jsx_runtime.jsx)(TextInput, {
disabled,
onChange,
onBlur,
value: values.name || ""
}),
(0, import_jsx_runtime.jsx)(Field.Error, {})
]
})
}),
(0, import_jsx_runtime.jsx)(Grid.Item, {
col: 6,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
name: "description",
error: errors.description && formatMessage({
id: errors.description
}),
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: "global.description",
defaultMessage: "Description"
})
}),
(0, import_jsx_runtime.jsx)(Textarea, {
disabled,
onChange,
onBlur,
value: values.description
}),
(0, import_jsx_runtime.jsx)(Field.Error, {})
]
})
})
]
})
]
})
});
};
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs
var EDIT_ROLE_SCHEMA = create2().shape({
name: create().required(errorsTrads.required.id),
description: create().optional()
});
var EditPage = () => {
const { toggleNotification } = useNotification();
const { formatMessage } = useIntl();
const match = useMatch("/settings/roles/:id");
const id = match == null ? void 0 : match.params.id;
const permissionsRef = React.useRef(null);
const { trackUsage } = useTracking();
const { _unstableFormatAPIError: formatAPIError, _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } = useGetRolePermissionLayoutQuery({
/**
* Role here is a query param so if there's no role we pass an empty string
* which returns us a default layout.
*/
role: id ?? ""
});
const { roles, isLoading: isRoleLoading, refetch: refetchRole } = useAdminRoles({
id
}, {
refetchOnMountOrArgChange: true
});
const role = roles[0] ?? {};
const { data: permissions, isLoading: isLoadingPermissions } = useGetRolePermissionsQuery({
id
}, {
skip: !id,
refetchOnMountOrArgChange: true
});
const [updateRole] = useUpdateRoleMutation();
const [updateRolePermissions] = useUpdateRolePermissionsMutation();
if (!id) {
return (0, import_jsx_runtime2.jsx)(Navigate, {
to: "/settings/roles"
});
}
const handleEditRoleSubmit = async (data, formik) => {
var _a, _b;
try {
const { permissionsToSend, didUpdateConditions } = ((_a = permissionsRef.current) == null ? void 0 : _a.getPermissions()) ?? {};
const res = await updateRole({
id,
...data
});
if ("error" in res) {
if (isBaseQueryError(res.error) && res.error.name === "ValidationError") {
formik.setErrors(formatValidationErrors(res.error));
} else {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
}
return;
}
if (role.code !== "strapi-super-admin" && permissionsToSend) {
const updateRes = await updateRolePermissions({
id: res.data.id,
permissions: permissionsToSend
});
if ("error" in updateRes) {
if (isBaseQueryError(updateRes.error) && updateRes.error.name === "ValidationError") {
formik.setErrors(formatValidationErrors(updateRes.error));
} else {
toggleNotification({
type: "danger",
message: formatAPIError(updateRes.error)
});
}
return;
}
if (didUpdateConditions) {
trackUsage("didUpdateConditions");
}
}
(_b = permissionsRef.current) == null ? void 0 : _b.setFormAfterSubmit();
await refetchRole();
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.success.saved"
})
});
} catch (error) {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
}
};
const isFormDisabled = !isRoleLoading && role.code === "strapi-super-admin";
if (isLoadingPermissionsLayout || isRoleLoading || isLoadingPermissions || !permissionsLayout) {
return (0, import_jsx_runtime2.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime2.jsxs)(Main, {
children: [
(0, import_jsx_runtime2.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: "Roles"
})
}),
(0, import_jsx_runtime2.jsx)(Formik, {
enableReinitialize: true,
initialValues: {
name: role.name ?? "",
description: role.description ?? ""
},
onSubmit: handleEditRoleSubmit,
validationSchema: EDIT_ROLE_SCHEMA,
validateOnChange: false,
children: ({ handleSubmit, values, errors, handleChange, handleBlur, isSubmitting }) => (0, import_jsx_runtime2.jsxs)("form", {
onSubmit: handleSubmit,
children: [
(0, import_jsx_runtime2.jsx)(Layouts.Header, {
primaryAction: (0, import_jsx_runtime2.jsx)(Flex, {
gap: 2,
children: (0, import_jsx_runtime2.jsx)(Button, {
type: "submit",
startIcon: (0, import_jsx_runtime2.jsx)(ForwardRef$4F, {}),
disabled: role.code === "strapi-super-admin",
loading: isSubmitting,
children: formatMessage({
id: "global.save",
defaultMessage: "Save"
})
})
}),
title: formatMessage({
id: "Settings.roles.edit.title",
defaultMessage: "Edit a role"
}),
subtitle: formatMessage({
id: "Settings.roles.create.description",
defaultMessage: "Define the rights given to the role"
}),
navigationAction: (0, import_jsx_runtime2.jsx)(BackButton, {
fallback: "../roles"
})
}),
(0, import_jsx_runtime2.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime2.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 6,
children: [
(0, import_jsx_runtime2.jsx)(RoleForm, {
disabled: isFormDisabled,
errors,
values,
onChange: handleChange,
onBlur: handleBlur,
role
}),
(0, import_jsx_runtime2.jsx)(Box, {
shadow: "filterShadow",
hasRadius: true,
children: (0, import_jsx_runtime2.jsx)(Permissions, {
isFormDisabled,
permissions,
ref: permissionsRef,
layout: permissionsLayout
})
})
]
})
})
]
})
})
]
});
};
var ProtectedEditPage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a.roles.update;
});
return (0, import_jsx_runtime2.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime2.jsx)(EditPage, {})
});
};
export {
EditPage,
ProtectedEditPage
};
//# sourceMappingURL=EditPage-3HDQTEWA.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.tsx", "../../../@strapi/admin/admin/src/pages/Settings/pages/Roles/EditPage.tsx"],
"sourcesContent": ["import {\n Box,\n Button,\n Field,\n Flex,\n Grid,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { FormikProps } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\nimport type { EditRoleFormValues } from '../EditPage';\n\ninterface RoleFormProps extends Pick<FormikProps<EditRoleFormValues>, 'values' | 'errors'> {\n onBlur: FormikProps<EditRoleFormValues>['handleBlur'];\n onChange: FormikProps<EditRoleFormValues>['handleChange'];\n disabled?: boolean;\n role: AdminRole;\n}\n\nconst RoleForm = ({ disabled, role, values, errors, onChange, onBlur }: RoleFormProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {role\n ? role.name\n : formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {role\n ? role.description\n : formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <Button disabled variant=\"secondary\">\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: role.usersCount }\n )}\n </Button>\n </Flex>\n <Grid.Root gap={4}>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n value={values.name || ''}\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"description\"\n error={errors.description && formatMessage({ id: errors.description })}\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n value={values.description}\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { RoleForm };\nexport type { RoleFormProps };\n", "import * as React from 'react';\n\nimport { Box, Button, Flex, Main } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAdminRoles } from '../../../../hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRoleMutation,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\nimport { RoleForm } from './components/RoleForLine truncated
"mappings": "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",
"names": ["RoleForm", "disabled", "role", "values", "errors", "onChange", "onBlur", "formatMessage", "useIntl", "_jsx", "Box", "background", "padding", "shadow", "hasRadius", "_jsxs", "Flex", "direction", "alignItems", "gap", "justifyContent", "Typography", "fontWeight", "name", "id", "defaultMessage", "textColor", "variant", "description", "Button", "number", "usersCount", "Grid", "Root", "Item", "col", "Field", "error", "required", "Label", "TextInput", "value", "Error", "Textarea", "EDIT_ROLE_SCHEMA", "object", "shape", "name", "string", "required", "translatedErrors", "id", "description", "optional", "EditPage", "toggleNotification", "useNotification", "formatMessage", "useIntl", "match", "useMatch", "params", "permissionsRef", "useRef", "trackUsage", "useTracking", "_unstableFormatAPIError", "formatAPIError", "_unstableFormatValidationErrors", "formatValidationErrors", "useAPIErrorHandler", "isLoading", "isLoadingPermissionsLayout", "data", "permissionsLayout", "useGetRolePermissionLayoutQuery", "role", "roles", "isRoleLoading", "refetch", "refetchRole", "useAdminRoles", "refetchOnMountOrArgChange", "permissions", "isLoadingPermissions", "useGetRolePermissionsQuery", "skip", "updateRole", "useUpdateRoleMutation", "updateRolePermissions", "useUpdateRolePermissionsMutation", "_jsx", "Navigate", "to", "handleEditRoleSubmit", "formik", "permissionsToSend", "didUpdateConditions", "current", "getPermissions", "res", "isBaseQueryError", "error", "setErrors", "type", "message", "code", "updateRes", "setFormAfterSubmit", "defaultMessage", "isFormDisabled", "Page", "Loading", "_jsxs", "Main", "Title", "Formik", "enableReinitialize", "initialValues", "onSubmit", "validationSchema", "validateOnChange", "handleSubmit", "values", "errors", "handleChange", "handleBlur", "isSubmitting", "form", "Layouts", "Header", "primaryAction", "Flex", "gap", "Button", "startIcon", "Check", "disabled", "loading", "title", "subtitle", "navigationAction", "BackButton", "fallback", "Content", "direction", "alignItems", "RoleForm", "onChange", "onBlur", "Box", "shadow", "hasRadius", "Permissions", "ref", "layout", "ProtectedEditPage", "useTypedSelector", "state", "admin_app", "settings", "update", "Protect"]
}
+39
View File
@@ -0,0 +1,39 @@
import {
EditPage,
ProtectedEditPage
} from "./chunk-SOIQOVFG.js";
import "./chunk-AD4IF7GD.js";
import "./chunk-CI2U7W4K.js";
import "./chunk-6HMBNYS4.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IY256CNP.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import "./chunk-PLDDJCW6.js";
export {
EditPage,
ProtectedEditPage
};
//# sourceMappingURL=EditPage-HCEGH6WF.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
+457
View File
@@ -0,0 +1,457 @@
import {
COMMON_USER_SCHEMA
} from "./chunk-JFWKZ6ZY.js";
import {
MagicLinkCE,
SelectRoles
} from "./chunk-XCWIZEDM.js";
import {
selectAdminPermissions
} from "./chunk-6HMBNYS4.js";
import "./chunk-RQXXWIIX.js";
import "./chunk-FURFN7BE.js";
import {
require_pick
} from "./chunk-B3BGMYGX.js";
import {
useEnterprise
} from "./chunk-W6ICJ5TB.js";
import "./chunk-RI2W2UZ6.js";
import {
BackButton
} from "./chunk-IY256CNP.js";
import {
errorsTrads
} from "./chunk-IFOFBKTA.js";
import {
create3 as create,
create6 as create2,
create7 as create3
} from "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import {
getDisplayName
} from "./chunk-PVNXTKO6.js";
import {
MemoizedInputRenderer
} from "./chunk-6AXVGFVQ.js";
import {
Form
} from "./chunk-BFLP6DBI.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import {
useAdminUsers,
useUpdateUserMutation
} from "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import {
isBaseQueryError
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Button,
Flex,
Grid,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import {
useMatch,
useNavigate
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$4F
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var import_pick = __toESM(require_pick(), 1);
var EDIT_VALIDATION_SCHEMA = create2().shape({
...COMMON_USER_SCHEMA,
isActive: create(),
roles: create3().min(1, {
id: errorsTrads.required.id,
defaultMessage: "This field is required"
}).required({
id: errorsTrads.required.id,
defaultMessage: "This field is required"
})
});
var fieldsToPick = [
"email",
"firstname",
"lastname",
"username",
"isActive",
"roles"
];
var EditPage = () => {
var _a, _b, _c;
const { formatMessage } = useIntl();
const match = useMatch("/settings/users/:id");
const id = ((_a = match == null ? void 0 : match.params) == null ? void 0 : _a.id) ?? "";
const navigate = useNavigate();
const { toggleNotification } = useNotification();
const MagicLink = useEnterprise(MagicLinkCE, async () => (await import("./MagicLinkEE-V6EKW7ZW.js")).MagicLinkEE);
const { _unstableFormatAPIError: formatAPIError, _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
const permissions = useTypedSelector(selectAdminPermissions);
const { isLoading: isLoadingRBAC, allowedActions: { canUpdate } } = useRBAC({
read: ((_b = permissions.settings) == null ? void 0 : _b.users.read) ?? [],
update: ((_c = permissions.settings) == null ? void 0 : _c.users.update) ?? []
});
const [updateUser] = useUpdateUserMutation();
const { data, error, isLoading: isLoadingAdminUsers } = useAdminUsers({
id
}, {
refetchOnMountOrArgChange: true
});
const [user] = (data == null ? void 0 : data.users) ?? [];
React.useEffect(() => {
if (error) {
if (error.name === "UnauthorizedError") {
toggleNotification({
type: "info",
message: formatMessage({
id: "notification.permission.not-allowed-read",
defaultMessage: "You are not allowed to see this document"
})
});
navigate("/");
} else {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
}
}
}, [
error,
formatAPIError,
formatMessage,
navigate,
toggleNotification
]);
const isLoading = isLoadingAdminUsers || !MagicLink || isLoadingRBAC;
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
const initialData = {
...(0, import_pick.default)(user, fieldsToPick),
roles: user.roles.map(({ id: id2 }) => id2),
password: "",
confirmPassword: ""
};
const handleSubmit = async (body, actions) => {
const { confirmPassword: _confirmPassword, ...bodyRest } = body;
const res = await updateUser({
id,
...bodyRest
});
if ("error" in res && isBaseQueryError(res.error)) {
if (res.error.name === "ValidationError") {
actions.setErrors(formatValidationErrors(res.error));
}
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
} else {
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.success.saved",
defaultMessage: "Saved"
})
});
actions.setValues({
...(0, import_pick.default)(body, fieldsToPick),
password: "",
confirmPassword: ""
});
}
};
return (0, import_jsx_runtime.jsxs)(Page.Main, {
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: "Users"
})
}),
(0, import_jsx_runtime.jsx)(Form, {
method: "PUT",
onSubmit: handleSubmit,
initialValues: initialData,
validationSchema: EDIT_VALIDATION_SCHEMA,
children: ({ isSubmitting, modified }) => {
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Layouts.Header, {
primaryAction: (0, import_jsx_runtime.jsx)(Button, {
disabled: isSubmitting || !canUpdate || !modified,
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$4F, {}),
loading: isSubmitting,
type: "submit",
children: formatMessage({
id: "global.save",
defaultMessage: "Save"
})
}),
title: formatMessage({
id: "app.containers.Users.EditPage.header.label",
defaultMessage: "Edit {name}"
}, {
// @ts-expect-error – issues with the Entity ID type, still.
name: getDisplayName(initialData)
}),
navigationAction: (0, import_jsx_runtime.jsx)(BackButton, {
fallback: "../users"
})
}),
(0, import_jsx_runtime.jsxs)(Layouts.Content, {
children: [
(user == null ? void 0 : user.registrationToken) && (0, import_jsx_runtime.jsx)(Box, {
paddingBottom: 6,
children: (0, import_jsx_runtime.jsx)(MagicLink, {
registrationToken: user.registrationToken
})
}),
(0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 7,
children: [
(0, import_jsx_runtime.jsx)(Box, {
background: "neutral0",
hasRadius: true,
shadow: "filterShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
(0, import_jsx_runtime.jsx)(Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: "app.components.Users.ModalCreateBody.block-title.details",
defaultMessage: "Details"
})
}),
(0, import_jsx_runtime.jsx)(Grid.Root, {
gap: 5,
children: LAYOUT.map((row) => row.map(({ size, label, ...field }) => {
return (0, import_jsx_runtime.jsx)(Grid.Item, {
col: size,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsx)(MemoizedInputRenderer, {
...field,
disabled: !canUpdate,
label: formatMessage(label),
placeholder: "placeholder" in field ? formatMessage(field.placeholder) : void 0
})
}, field.name);
}))
})
]
})
}),
(0, import_jsx_runtime.jsx)(Box, {
background: "neutral0",
hasRadius: true,
shadow: "filterShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
(0, import_jsx_runtime.jsx)(Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: "global.roles",
defaultMessage: "User's role"
})
}),
(0, import_jsx_runtime.jsx)(Grid.Root, {
gap: 5,
children: (0, import_jsx_runtime.jsx)(Grid.Item, {
col: 6,
xs: 12,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsx)(SelectRoles, {
disabled: !canUpdate
})
})
})
]
})
})
]
})
]
})
]
});
}
})
]
});
};
var LAYOUT = [
[
{
label: {
id: "Auth.form.firstname.label",
defaultMessage: "First name"
},
name: "firstname",
placeholder: {
id: "Auth.form.firstname.placeholder",
defaultMessage: "e.g. Kai"
},
type: "string",
size: 6,
required: true
},
{
label: {
id: "Auth.form.lastname.label",
defaultMessage: "Last name"
},
name: "lastname",
placeholder: {
id: "Auth.form.lastname.placeholder",
defaultMessage: "e.g. Doe"
},
type: "string",
size: 6
}
],
[
{
label: {
id: "Auth.form.email.label",
defaultMessage: "Email"
},
name: "email",
placeholder: {
id: "Auth.form.email.placeholder",
defaultMessage: "e.g. kai.doe@strapi.io"
},
type: "email",
size: 6,
required: true
},
{
label: {
id: "Auth.form.username.label",
defaultMessage: "Username"
},
name: "username",
placeholder: {
id: "Auth.form.username.placeholder",
defaultMessage: "e.g. Kai_Doe"
},
type: "string",
size: 6
}
],
[
{
autoComplete: "new-password",
label: {
id: "global.password",
defaultMessage: "Password"
},
name: "password",
type: "password",
size: 6
},
{
autoComplete: "new-password",
label: {
id: "Auth.form.confirmPassword.label",
defaultMessage: "Password confirmation"
},
name: "confirmPassword",
type: "password",
size: 6
}
],
[
{
label: {
id: "Auth.form.active.label",
defaultMessage: "Active"
},
name: "isActive",
type: "boolean",
size: 6
}
]
];
var ProtectedEditPage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a.users.read;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(EditPage, {})
});
};
export {
EditPage,
ProtectedEditPage
};
//# sourceMappingURL=EditPage-P6FMECRW.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/Users/EditPage.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport pick from 'lodash/pick';\nimport { useIntl } from 'react-intl';\nimport { useMatch, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Update } from '../../../../../../shared/contracts/user';\nimport { Form, FormHelpers } from '../../../../components/Form';\nimport { InputRenderer } from '../../../../components/FormInputs/Renderer';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { useAdminUsers, useUpdateUserMutation } from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { getDisplayName } from '../../../../utils/users';\n\nimport { MagicLinkCE } from './components/MagicLinkCE';\nimport { SelectRoles } from './components/SelectRoles';\nimport { COMMON_USER_SCHEMA } from './utils/validation';\n\nconst EDIT_VALIDATION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n isActive: yup.bool(),\n roles: yup\n .array()\n .min(1, {\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n});\n\nconst fieldsToPick = ['email', 'firstname', 'lastname', 'username', 'isActive', 'roles'] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * EditPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditPage = () => {\n const { formatMessage } = useIntl();\n const match = useMatch('/settings/users/:id');\n const id = match?.params?.id ?? '';\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\n const MagicLink = useEnterprise(\n MagicLinkCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE'\n )\n ).MagicLinkEE\n );\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const permissions = useTypedSelector(selectAdminPermissions);\n\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate },\n } = useRBAC({\n read: permissions.settings?.users.read ?? [],\n update: permissions.settings?.users.update ?? [],\n });\n\n const [updateUser] = useUpdateUserMutation();\n\n const {\n data,\n error,\n isLoading: isLoadingAdminUsers,\n } = useAdminUsers(\n { id },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [user] = data?.users ?? [];\n\n React.useEffect(() => {\n if (error) {\n // Redirect the user to the homepage if is not allowed to read\n if (error.name === 'UnauthorizedError') {\n toggleNotification({\n type: 'info',\n message: formatMessage({\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n }),\n });\n\n navigate('/');\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }\n }, [error, formatAPIError, formatMessage, navigate, toggleNotification]);\n\n const isLoading = isLoadingAdminUsers || !MagicLink || isLoadingRBAC;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n type InitialData = Pick<Update.Request['body'], (typeof fieldsToPick)[number]> & {\n confirmPassword: string;\n password: string;\n };\n\n const initialData = {\n ...pick(user, fieldsToPick),\n roles: user.roles.map(({ id }) => id),\n password: '',\n confirmPassword: '',\n } satisfies InitialData;\n\n const handleSubmit = async (body: InitialData, actions: FormHelpers<InitialData>) => {\n const { confirmPassword: _confirmPassword, ...bodyRest } = body;\n\n const res = await updateUser({\n id,\n ...bodyRest,\n });\n\n if ('error' in res && isBaseQueryError(res.error)) {\n if (res.error.name === 'ValidationError') {\n actions.setErrors(formatValidationErrors(res.error));\n }\n\n Line truncated
"mappings": "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 truncated
"names": ["EDIT_VALIDATION_SCHEMA", "object", "shape", "COMMON_USER_SCHEMA", "isActive", "bool", "roles", "array", "min", "id", "translatedErrors", "required", "defaultMessage", "fieldsToPick", "EditPage", "formatMessage", "useIntl", "match", "useMatch", "params", "navigate", "useNavigate", "toggleNotification", "useNotification", "MagicLink", "useEnterprise", "MagicLinkCE", "MagicLinkEE", "_unstableFormatAPIError", "formatAPIError", "_unstableFormatValidationErrors", "formatValidationErrors", "useAPIErrorHandler", "permissions", "useTypedSelector", "selectAdminPermissions", "isLoading", "isLoadingRBAC", "allowedActions", "canUpdate", "useRBAC", "read", "settings", "users", "update", "updateUser", "useUpdateUserMutation", "data", "error", "isLoadingAdminUsers", "useAdminUsers", "refetchOnMountOrArgChange", "user", "React", "useEffect", "name", "type", "message", "_jsx", "Page", "Loading", "initialData", "pick", "map", "password", "confirmPassword", "handleSubmit", "body", "actions", "_confirmPassword", "bodyRest", "res", "isBaseQueryError", "setErrors", "setValues", "_jsxs", "Main", "Title", "Form", "method", "onSubmit", "initialValues", "validationSchema", "isSubmitting", "modified", "_Fragment", "Layouts", "Header", "primaryAction", "Button", "disabled", "startIcon", "Check", "loading", "title", "getDisplayName", "navigationAction", "BackButton", "fallback", "Content", "registrationToken", "Box", "paddingBottom", "Flex", "direction", "alignItems", "gap", "background", "hasRadius", "shadow", "paddingTop", "paddingLeft", "paddingRight", "Typography", "variant", "tag", "Grid", "Root", "LAYOUT", "row", "size", "label", "field", "Item", "col", "InputRenderer", "placeholder", "undefined", "xs", "SelectRoles", "autoComplete", "ProtectedEditPage", "state", "admin_app", "Protect"]
}
+52
View File
@@ -0,0 +1,52 @@
import {
EditView,
ProtectedEditView
} from "./chunk-RQUIEHLA.js";
import "./chunk-YYT5ZZ3W.js";
import "./chunk-RXTTORSL.js";
import "./chunk-7GAX2FTH.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-7PUJSL55.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import "./chunk-PLDDJCW6.js";
export {
EditView,
ProtectedEditView
};
//# sourceMappingURL=EditView-6W2DAH4O.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
+57
View File
@@ -0,0 +1,57 @@
import {
EditView,
ProtectedEditView
} from "./chunk-SR6CJ4F4.js";
import "./chunk-4Z32JD6C.js";
import "./chunk-T2YF43GM.js";
import "./chunk-NC2FHXMX.js";
import "./chunk-YYT5ZZ3W.js";
import "./chunk-RXTTORSL.js";
import "./chunk-7GAX2FTH.js";
import "./chunk-NE3KAGU6.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-7PUJSL55.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import "./chunk-PLDDJCW6.js";
export {
EditView,
ProtectedEditView
};
//# sourceMappingURL=EditViewPage-64YFFNNY.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
+83
View File
@@ -0,0 +1,83 @@
import {
EditViewPage,
ProtectedEditViewPage,
getDocumentStatus
} from "./chunk-GXKJFURG.js";
import "./chunk-7FUKGPNR.js";
import "./chunk-NAZM6EA4.js";
import "./chunk-UATNJIHQ.js";
import "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import "./chunk-6LY4MOO2.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-IGCTEXRF.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import "./chunk-PLDDJCW6.js";
export {
EditViewPage,
ProtectedEditViewPage,
getDocumentStatus
};
//# sourceMappingURL=EditViewPage-FY7A7RI4.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
+613
View File
@@ -0,0 +1,613 @@
import {
require_prop_types
} from "./chunk-ZYDILIPQ.js";
import "./chunk-AOWI4JYR.js";
import "./chunk-KGPWUC7Q.js";
import "./chunk-FVEHK4NK.js";
import "./chunk-C4NW23D7.js";
import "./chunk-E3IW2VDN.js";
import "./chunk-MN3D3XJI.js";
import "./chunk-C7H2BX76.js";
import "./chunk-U66AL5Y5.js";
import "./chunk-7KYK3FTC.js";
import "./chunk-JF4AI5LV.js";
import "./chunk-ALMC553V.js";
import "./chunk-PDGPTUUZ.js";
import "./chunk-XH2B3RAH.js";
import "./chunk-MLTBQQQV.js";
import "./chunk-GXKJFURG.js";
import "./chunk-7FUKGPNR.js";
import "./chunk-NAZM6EA4.js";
import "./chunk-UATNJIHQ.js";
import "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import "./chunk-7HX4OIS5.js";
import "./chunk-6LY4MOO2.js";
import "./chunk-SQLDXQZE.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-XNACAI67.js";
import {
useMutation,
useQuery,
useQueryClient
} from "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-G2UWKDMB.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import {
useFetchClient
} from "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import {
require_isEmpty
} from "./chunk-YJEURQPS.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-GGK2TLCV.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import {
errorsTrads
} from "./chunk-IFOFBKTA.js";
import {
create4 as create,
create6 as create2
} from "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import {
MemoizedInputRenderer
} from "./chunk-6AXVGFVQ.js";
import {
Form
} from "./chunk-BFLP6DBI.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Breadcrumbs,
Button,
Crumb,
Grid,
IconButton,
Modal,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
Typography,
VisuallyHidden,
useIntl,
useNotifyAT
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$1v,
ForwardRef$4F,
ForwardRef$5n
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
PERMISSIONS,
getTrad
} from "./chunk-DJJSG3NG.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/EmailTemplates/index.mjs
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var import_isEmpty3 = __toESM(require_isEmpty(), 1);
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/EmailTemplates/components/EmailForm.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var import_react = __toESM(require_react(), 1);
var import_prop_types = __toESM(require_prop_types(), 1);
var import_isEmpty = __toESM(require_isEmpty(), 1);
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/EmailTemplates/utils/schema.mjs
var schema = create2().shape({
options: create2().shape({
from: create2().shape({
name: create().required({
id: errorsTrads.required.id,
defaultMessage: "This field is required"
}),
email: create().email(errorsTrads.email).required({
id: errorsTrads.required.id,
defaultMessage: "This field is required"
})
}).required(),
response_email: create().email(errorsTrads.email),
object: create().required({
id: errorsTrads.required.id,
defaultMessage: "This field is required"
}),
message: create().required({
id: errorsTrads.required.id,
defaultMessage: "This field is required"
})
}).required(errorsTrads.required.id)
});
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/EmailTemplates/components/EmailForm.mjs
var EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime.jsx)(Modal.Root, {
open,
onOpenChange: onToggle,
children: (0, import_jsx_runtime.jsxs)(Modal.Content, {
children: [
(0, import_jsx_runtime.jsxs)(Modal.Header, {
children: [
(0, import_jsx_runtime.jsxs)(Breadcrumbs, {
label: `${formatMessage({
id: getTrad("PopUpForm.header.edit.email-templates"),
defaultMessage: "Edit email template"
})}, ${template.display ? formatMessage({
id: getTrad(template.display),
defaultMessage: template.display
}) : ""}`,
children: [
(0, import_jsx_runtime.jsx)(Crumb, {
children: formatMessage({
id: getTrad("PopUpForm.header.edit.email-templates"),
defaultMessage: "Edit email template"
})
}),
(0, import_jsx_runtime.jsx)(Crumb, {
isCurrent: true,
children: template.display ? formatMessage({
id: getTrad(template.display),
defaultMessage: template.display
}) : ""
})
]
}),
(0, import_jsx_runtime.jsx)(VisuallyHidden, {
children: (0, import_jsx_runtime.jsx)(Modal.Title, {
children: `${formatMessage({
id: getTrad("PopUpForm.header.edit.email-templates"),
defaultMessage: "Edit email template"
})}, ${template.display ? formatMessage({
id: getTrad(template.display),
defaultMessage: template.display
}) : ""}`
})
})
]
}),
(0, import_jsx_runtime.jsx)(Form, {
onSubmit,
initialValues: template,
validationSchema: schema,
children: ({ isSubmitting }) => {
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Modal.Body, {
children: (0, import_jsx_runtime.jsx)(Grid.Root, {
gap: 5,
children: [
{
label: formatMessage({
id: getTrad("PopUpForm.Email.options.from.name.label"),
defaultMessage: "Shipper name"
}),
name: "options.from.name",
size: 6,
type: "string"
},
{
label: formatMessage({
id: getTrad("PopUpForm.Email.options.from.email.label"),
defaultMessage: "Shipper email"
}),
name: "options.from.email",
size: 6,
type: "string"
},
{
label: formatMessage({
id: getTrad("PopUpForm.Email.options.response_email.label"),
defaultMessage: "Response email"
}),
name: "options.response_email",
size: 6,
type: "string"
},
{
label: formatMessage({
id: getTrad("PopUpForm.Email.options.object.label"),
defaultMessage: "Subject"
}),
name: "options.object",
size: 6,
type: "string"
},
{
label: formatMessage({
id: getTrad("PopUpForm.Email.options.message.label"),
defaultMessage: "Message"
}),
name: "options.message",
size: 12,
type: "text"
}
].map(({ size, ...field }) => (0, import_jsx_runtime.jsx)(Grid.Item, {
col: size,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsx)(MemoizedInputRenderer, {
...field
})
}, field.name))
})
}),
(0, import_jsx_runtime.jsxs)(Modal.Footer, {
children: [
(0, import_jsx_runtime.jsx)(Modal.Close, {
children: (0, import_jsx_runtime.jsx)(Button, {
variant: "tertiary",
children: "Cancel"
})
}),
(0, import_jsx_runtime.jsx)(Button, {
loading: isSubmitting,
type: "submit",
children: "Finish"
})
]
})
]
});
}
})
]
})
});
};
EmailForm.defaultProps = {
template: {}
};
EmailForm.propTypes = {
template: import_prop_types.default.shape({
display: import_prop_types.default.string,
icon: import_prop_types.default.string,
options: import_prop_types.default.shape({
from: import_prop_types.default.shape({
name: import_prop_types.default.string,
email: import_prop_types.default.string
}),
message: import_prop_types.default.string,
object: import_prop_types.default.string,
response_email: import_prop_types.default.string
})
}),
open: import_prop_types.default.bool.isRequired,
onSubmit: import_prop_types.default.func.isRequired,
onToggle: import_prop_types.default.func.isRequired
};
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/EmailTemplates/components/EmailTable.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
var import_react2 = __toESM(require_react(), 1);
var import_prop_types2 = __toESM(require_prop_types(), 1);
var import_isEmpty2 = __toESM(require_isEmpty(), 1);
var EmailTable = ({ canUpdate, onEditClick }) => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime2.jsxs)(Table, {
colCount: 3,
rowCount: 3,
children: [
(0, import_jsx_runtime2.jsx)(Thead, {
children: (0, import_jsx_runtime2.jsxs)(Tr, {
children: [
(0, import_jsx_runtime2.jsx)(Th, {
width: "1%",
children: (0, import_jsx_runtime2.jsx)(VisuallyHidden, {
children: formatMessage({
id: getTrad("Email.template.table.icon.label"),
defaultMessage: "icon"
})
})
}),
(0, import_jsx_runtime2.jsx)(Th, {
children: (0, import_jsx_runtime2.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: getTrad("Email.template.table.name.label"),
defaultMessage: "name"
})
})
}),
(0, import_jsx_runtime2.jsx)(Th, {
width: "1%",
children: (0, import_jsx_runtime2.jsx)(VisuallyHidden, {
children: formatMessage({
id: getTrad("Email.template.table.action.label"),
defaultMessage: "action"
})
})
})
]
})
}),
(0, import_jsx_runtime2.jsxs)(Tbody, {
children: [
(0, import_jsx_runtime2.jsxs)(Tr, {
cursor: "pointer",
onClick: () => onEditClick("reset_password"),
children: [
(0, import_jsx_runtime2.jsx)(Td, {
children: (0, import_jsx_runtime2.jsx)(Box, {
width: "3.2rem",
height: "3.2rem",
padding: "0.8rem",
children: (0, import_jsx_runtime2.jsx)(ForwardRef$5n, {
"aria-label": formatMessage({
id: "global.reset-password",
defaultMessage: "Reset password"
})
})
})
}),
(0, import_jsx_runtime2.jsx)(Td, {
children: (0, import_jsx_runtime2.jsx)(Typography, {
children: formatMessage({
id: "global.reset-password",
defaultMessage: "Reset password"
})
})
}),
(0, import_jsx_runtime2.jsx)(Td, {
onClick: (e) => e.stopPropagation(),
children: (0, import_jsx_runtime2.jsx)(IconButton, {
onClick: () => onEditClick("reset_password"),
label: formatMessage({
id: getTrad("Email.template.form.edit.label"),
defaultMessage: "Edit a template"
}),
variant: "ghost",
disabled: !canUpdate,
children: (0, import_jsx_runtime2.jsx)(ForwardRef$1v, {})
})
})
]
}),
(0, import_jsx_runtime2.jsxs)(Tr, {
cursor: "pointer",
onClick: () => onEditClick("email_confirmation"),
children: [
(0, import_jsx_runtime2.jsx)(Td, {
children: (0, import_jsx_runtime2.jsx)(Box, {
width: "3.2rem",
height: "3.2rem",
padding: "0.8rem",
children: (0, import_jsx_runtime2.jsx)(ForwardRef$4F, {
"aria-label": formatMessage({
id: getTrad("Email.template.email_confirmation"),
defaultMessage: "Email address confirmation"
})
})
})
}),
(0, import_jsx_runtime2.jsx)(Td, {
children: (0, import_jsx_runtime2.jsx)(Typography, {
children: formatMessage({
id: getTrad("Email.template.email_confirmation"),
defaultMessage: "Email address confirmation"
})
})
}),
(0, import_jsx_runtime2.jsx)(Td, {
onClick: (e) => e.stopPropagation(),
children: (0, import_jsx_runtime2.jsx)(IconButton, {
onClick: () => onEditClick("email_confirmation"),
label: formatMessage({
id: getTrad("Email.template.form.edit.label"),
defaultMessage: "Edit a template"
}),
variant: "ghost",
disabled: !canUpdate,
children: (0, import_jsx_runtime2.jsx)(ForwardRef$1v, {})
})
})
]
})
]
})
]
});
};
EmailTable.propTypes = {
canUpdate: import_prop_types2.default.bool.isRequired,
onEditClick: import_prop_types2.default.func.isRequired
};
// node_modules/@strapi/plugin-users-permissions/dist/admin/pages/EmailTemplates/index.mjs
var ProtectedEmailTemplatesPage = () => (0, import_jsx_runtime3.jsx)(Page.Protect, {
permissions: PERMISSIONS.readEmailTemplates,
children: (0, import_jsx_runtime3.jsx)(EmailTemplatesPage, {})
});
var EmailTemplatesPage = () => {
const { formatMessage } = useIntl();
const { trackUsage } = useTracking();
const { notifyStatus } = useNotifyAT();
const { toggleNotification } = useNotification();
const queryClient = useQueryClient();
const { get, put } = useFetchClient();
const { formatAPIError } = useAPIErrorHandler();
const [isModalOpen, setIsModalOpen] = React.useState(false);
const [templateToEdit, setTemplateToEdit] = React.useState(null);
const { isLoading: isLoadingForPermissions, allowedActions: { canUpdate } } = useRBAC({
update: PERMISSIONS.updateEmailTemplates
});
const { isLoading: isLoadingData, data } = useQuery([
"users-permissions",
"email-templates"
], async () => {
const { data: data2 } = await get("/users-permissions/email-templates");
return data2;
}, {
onSuccess() {
notifyStatus(formatMessage({
id: getTrad("Email.template.data.loaded"),
defaultMessage: "Email templates has been loaded"
}));
},
onError(error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
}
});
const isLoading = isLoadingForPermissions || isLoadingData;
const handleToggle = () => {
setIsModalOpen((prev) => !prev);
};
const handleEditClick = (template) => {
setTemplateToEdit(template);
handleToggle();
};
const submitMutation = useMutation((body) => put("/users-permissions/email-templates", {
"email-templates": body
}), {
async onSuccess() {
await queryClient.invalidateQueries([
"users-permissions",
"email-templates"
]);
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.success.saved",
defaultMessage: "Saved"
})
});
trackUsage("didEditEmailTemplates");
handleToggle();
},
onError(error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
},
refetchActive: true
});
const handleSubmit = (body) => {
trackUsage("willEditEmailTemplates");
const editedTemplates = {
...data,
[templateToEdit]: body
};
submitMutation.mutate(editedTemplates);
};
if (isLoading) {
return (0, import_jsx_runtime3.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime3.jsxs)(Page.Main, {
"aria-busy": submitMutation.isLoading,
children: [
(0, import_jsx_runtime3.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: formatMessage({
id: getTrad("HeaderNav.link.emailTemplates"),
defaultMessage: "Email templates"
})
})
}),
(0, import_jsx_runtime3.jsx)(Layouts.Header, {
title: formatMessage({
id: getTrad("HeaderNav.link.emailTemplates"),
defaultMessage: "Email templates"
})
}),
(0, import_jsx_runtime3.jsxs)(Layouts.Content, {
children: [
(0, import_jsx_runtime3.jsx)(EmailTable, {
onEditClick: handleEditClick,
canUpdate
}),
(0, import_jsx_runtime3.jsx)(EmailForm, {
template: data[templateToEdit],
onToggle: handleToggle,
open: isModalOpen,
onSubmit: handleSubmit
})
]
})
]
});
};
export {
EmailTemplatesPage,
ProtectedEmailTemplatesPage
};
//# sourceMappingURL=EmailTemplates-3V4J4ZNO.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/plugin-users-permissions/admin/src/pages/EmailTemplates/utils/schema.js", "../../../@strapi/plugin-users-permissions/admin/src/pages/EmailTemplates/components/EmailForm.jsx", "../../../@strapi/plugin-users-permissions/admin/src/pages/EmailTemplates/components/EmailTable.jsx", "../../../@strapi/plugin-users-permissions/admin/src/pages/EmailTemplates/index.jsx"],
"sourcesContent": ["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n options: yup\n .object()\n .shape({\n from: yup\n .object()\n .shape({\n name: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n email: yup.string().email(translatedErrors.email).required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(),\n response_email: yup.string().email(translatedErrors.email),\n object: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n message: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(translatedErrors.required.id),\n});\n\nexport default schema;\n", "import * as React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\Line truncated
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,SAAaC,QAAM,EAAGC,MAAM;EAChCC,SACGF,QAAM,EACNC,MAAM;IACLE,MACGH,QAAM,EACNC,MAAM;MACLG,MAAUC,OAAM,EAAGC,SAAS;QAC1BC,IAAIC,YAAiBF,SAASC;QAC9BE,gBAAgB;MAClB,CAAA;MACAC,OAAWL,OAAM,EAAGK,MAAMF,YAAiBE,KAAK,EAAEJ,SAAS;QACzDC,IAAIC,YAAiBF,SAASC;QAC9BE,gBAAgB;MAClB,CAAA;IACF,CAAA,EACCH,SAAQ;IACXK,gBAAoBN,OAAM,EAAGK,MAAMF,YAAiBE,KAAK;IACzDV,QAAYK,OAAM,EAAGC,SAAS;MAC5BC,IAAIC,YAAiBF,SAASC;MAC9BE,gBAAgB;IAClB,CAAA;IACAG,SAAaP,OAAM,EAAGC,SAAS;MAC7BC,IAAIC,YAAiBF,SAASC;MAC9BE,gBAAgB;IAClB,CAAA;EACF,CAAA,EACCH,SAASE,YAAiBF,SAASC,EAAE;AAC1C,CAAA;;;ACrBA,IAAMM,YAAY,CAAC,EAAEC,WAAW,CAAA,GAAIC,UAAUC,MAAMC,SAAQ,MAAE;AAC5D,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAE1B,aACEC,wBAACC,MAAMC,MAAI;IAACN;IAAYO,cAAcR;kBACpCS,yBAACH,MAAMI,SAAO;;YACZD,yBAACH,MAAMK,QAAM;;gBACXF,yBAACG,aAAAA;cACCC,OAAO,GAAGV,cAAc;gBACtBW,IAAIC,QAAQ,uCAAA;gBACZC,gBAAgB;cAClB,CAAA,CAAA,KACEjB,SAASkB,UACLd,cAAc;gBACZW,IAAIC,QAAQhB,SAASkB,OAAO;gBAC5BD,gBAAgBjB,SAASkB;cAC3B,CAAA,IACA,EAAA;;oBAGNZ,wBAACa,OAAAA;4BACEf,cAAc;oBACbW,IAAIC,QAAQ,uCAAA;oBACZC,gBAAgB;kBAClB,CAAA;;oBAEFX,wBAACa,OAAAA;kBAAMC,WAAS;4BACbpB,SAASkB,UACNd,cAAc;oBAAEW,IAAIC,QAAQhB,SAASkB,OAAO;oBAAGD,gBAAgBjB,SAASkB;mBACxE,IAAA;;;;gBAGRZ,wBAACe,gBAAAA;4BACCf,wBAACC,MAAMe,OAAK;gBACT,UAAA,GAAGlB,cAAc;kBAChBW,IAAIC,QAAQ,uCAAA;kBACZC,gBAAgB;gBAClB,CAAA,CAAA,KAAOjB,SAASkB,UAAUd,cAAc;kBAAEW,IAAIC,QAAQhB,SAASkB,OAAO;kBAAGD,gBAAgBjB,SAASkB;gBAAQ,CAAA,IAAK,EAAA;;;;;YAIrHZ,wBAACiB,MAAAA;UAAKpB;UAAoBqB,eAAexB;UAAUyB,kBAAkBC;oBAClE,CAAC,EAAEC,aAAY,MAAE;AAChB,uBACEjB,yBAAAkB,6BAAA;;oBACEtB,wBAACC,MAAMsB,MAAI;gCACTvB,wBAACwB,KAAKtB,MAAI;oBAACuB,KAAK;oBACb,UAAA;sBACC;wBACEjB,OAAOV,cAAc;0BACnBW,IAAIC,QAAQ,yCAAA;0BACZC,gBAAgB;wBAClB,CAAA;wBACAe,MAAM;wBACNC,MAAM;wBACNC,MAAM;sBACR;sBACA;wBACEpB,OAAOV,cAAc;0BACnBW,IAAIC,QAAQ,0CAAA;0BACZC,gBAAgB;wBAClB,CAAA;wBACAe,MAAM;wBACNC,MAAM;wBACNC,MAAM;sBACR;sBACA;wBACEpB,OAAOV,cAAc;0BACnBW,IAAIC,QAAQ,8CAAA;0BACZC,gBAAgB;wBAClB,CAAA;wBACAe,MAAM;wBACNC,MAAM;wBACNC,MAAM;sBACR;sBACA;wBACEpB,OAAOV,cAAc;0BACnBW,IAAIC,QAAQ,sCAAA;0BACZC,gBAAgB;wBAClB,CAAA;wBACAe,MAAM;wBACNC,MAAM;wBACNC,MAAM;sBACR;sBACA;wBACEpB,OAAOV,cAAc;0BACnBW,IAAIC,QAAQ,uCAAA;0BACZC,gBAAgB;wBAClB,CAAA;wBACAe,MAAM;wBACNC,MAAM;wBACNC,MAAM;sBACR;sBACAC,IAAI,CAAC,EAAEF,MAAM,GAAGG,MAAO,UACvB9B,wBAACwB,KAAKO,MAAI;sBAERC,KAAKL;sBACLM,WAAU;sBACVC,YAAW;sBAEX,cAAAlC,wBAACmC,uBAAAA;wBAAe,GAAGL;;oBALdA,GAAAA,MAAMJ,IAAI,CAAA;;;oBAUvBtB,yBAACH,MAAMmC,QAAM;;wBACXpC,wBAACC,MAAMoC,OAAK;sBACV,cAAArC,wBAACsC,QAAAA;wBAAOC,SAAQ;wBAAW,UAAA;;;wBAE7BvC,wBAACsC,QAAAA;sBAAOE,SAASnB;sBAAcO,MAAK;sBAAS,UAAA;;;;;;UAMrD;;;;;AAKV;AAEAnC,UAAUgD,eAAe;EACvB/C,UAAU,CAAA;AACZ;AAEAD,UAAUiD,YAAY;EACpBhD,UAAUiD,kBAAAA,QAAUC,MAAM;IACxBhC,SAAS+B,kBAAAA,QAAUE;IACnBC,MAAMH,kBAAAA,QAAUE;IAChBE,SAASJ,kBAAAA,QAAUC,MAAM;MACvBI,MAAML,kBAAAA,QAAUC,MAAM;QACpBlB,MAAMiB,kBAAAA,QAAUE;QAChBI,OAAON,kBAAAA,QAAUE;MACnB,CAAA;MACAK,SAASP,kBAAAA,QAAUE;MACnBM,QAAQR,kBAAAA,QAAUE;MAClBO,gBAAgBT,kBAAAA,QAAUE;IAC5B,CAAA;EACF,CAAA;EACAjD,MAAM+C,kBAAAA,QAAUU,KAAKC;EACrBzD,UAAU8C,kBAAAA,QAAUY,KAAKD;EACzB3D,UAAUgD,kBAAAA,QAAUY,KAAKD;AAC3B;;;;;;;ACrIA,IAAME,aAAa,CAAC,EAAEC,WAAWC,YAAW,MAAE;AAC5C,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAE1B,aACEC,0BAACC,OAAAA;IAAMC,UAAU;IAAGC,UAAU;;UAC5BC,yBAACC,OAAAA;QACC,cAAAL,0BAACM,IAAAA;;gBACCF,yBAACG,IAAAA;cAAGC,OAAM;cACR,cAAAJ,yBAACK,gBAAAA;0BACEX,cAAc;kBACbY,IAAIC,QAAQ,iCAAA;kBACZC,gBAAgB;gBAClB,CAAA;;;gBAGJR,yBAACG,IAAAA;cACC,cAAAH,yBAACS,YAAAA;gBAAWC,SAAQ;gBAAQC,WAAU;0BACnCjB,cAAc;kBACbY,IAAIC,QAAQ,iCAAA;kBACZC,gBAAgB;gBAClB,CAAA;;;gBAGJR,yBAACG,IAAAA;cAAGC,OAAM;cACR,cAAAJ,yBAACK,gBAAAA;0BACEX,cAAc;kBACbY,IAAIC,QAAQ,mCAAA;kBACZC,gBAAgB;gBAClB,CAAA;;;;;;UAKRZ,0BAACgB,OAAAA;;cACChB,0BAACM,IAAAA;YAAGW,QAAO;YAAUC,SAAS,MAAMrB,YAAY,gBAAA;;kBAC9CO,yBAACe,IAAAA;gBACC,cAAAf,yBAACgB,KAAAA;kBAAIZ,OAAM;kBAASa,QAAO;kBAASC,SAAQ;kBAC1C,cAAAlB,yBAACmB,eAAAA;oBACCC,cAAY1B,cAAc;sBACxBY,IAAI;sBACJE,gBAAgB;oBAClB,CAAA;;;;kBAINR,yBAACe,IAAAA;gBACC,cAAAf,yBAACS,YAAAA;4BACEf,cAAc;oBACbY,IAAI;oBACJE,gBAAgB;kBAClB,CAAA;;;kBAGJR,yBAACe,IAAAA;gBAAGD,SAAS,CAACO,MAAMA,EAAEC,gBAAe;gBACnC,cAAAtB,yBAACuB,YAAAA;kBACCT,SAAS,MAAMrB,YAAY,gBAAA;kBAC3B+B,OAAO9B,cAAc;oBACnBY,IAAIC,QAAQ,gCAAA;oBACZC,gBAAgB;kBAClB,CAAA;kBACAE,SAAQ;kBACRe,UAAU,CAACjC;kBAEX,cAAAQ,yBAAC0B,eAAAA,CAAAA,CAAAA;;;;;cAIP9B,0BAACM,IAAAA;YAAGW,QAAO;YAAUC,SAAS,MAAMrB,YAAY,oBAAA;;kBAC9CO,yBAACe,IAAAA;gBACC,cAAAf,yBAACgB,KAAAA;kBAAIZ,OAAM;kBAASa,QAAO;kBAASC,SAAQ;kBAC1C,cAAAlB,yBAAC2B,eAAAA;oBACCP,cAAY1B,cAAc;sBACxBY,IAAIC,QAAQ,mCAAA;sBACZC,gBAAgB;oBAClB,CAAA;;;;kBAINR,yBAACe,IAAAA;gBACC,cAAAf,yBAACS,YAAAA;4BACEf,cAAc;oBACbY,IAAIC,QAAQ,mCAAA;oBACZC,gBAAgB;kBAClB,CAAA;;;kBAGJR,yBAACe,IAAAA;gBAAGD,SAAS,CAACO,MAAMA,EAAEC,gBAAe;gBACnC,cAAAtB,yBAACuB,YAAAA;kBACCT,SAAS,MAAMrB,YAAY,oBAAA;kBAC3B+B,OAAO9B,cAAc;oBACnBY,IAAIC,QAAQ,gCAAA;oBACZC,gBAAgB;kBAClB,CAAA;kBACAE,SAAQ;kBACRe,UAAU,CAACjC;kBAEX,cAAAQ,yBAAC0B,eAAAA,CAAAA,CAAAA;;;;;;;;;AAOf;AAEAnC,WAAWqLine truncated
"names": ["schema", "object", "shape", "options", "from", "name", "string", "required", "id", "translatedErrors", "defaultMessage", "email", "response_email", "message", "EmailForm", "template", "onToggle", "open", "onSubmit", "formatMessage", "useIntl", "_jsx", "Modal", "Root", "onOpenChange", "_jsxs", "Content", "Header", "Breadcrumbs", "label", "id", "getTrad", "defaultMessage", "display", "Crumb", "isCurrent", "VisuallyHidden", "Title", "Form", "initialValues", "validationSchema", "schema", "isSubmitting", "_Fragment", "Body", "Grid", "gap", "name", "size", "type", "map", "field", "Item", "col", "direction", "alignItems", "InputRenderer", "Footer", "Close", "Button", "variant", "loading", "defaultProps", "propTypes", "PropTypes", "shape", "string", "icon", "options", "from", "email", "message", "object", "response_email", "bool", "isRequired", "func", "EmailTable", "canUpdate", "onEditClick", "formatMessage", "useIntl", "_jsxs", "Table", "colCount", "rowCount", "_jsx", "Thead", "Tr", "Th", "width", "VisuallyHidden", "id", "getTrad", "defaultMessage", "Typography", "variant", "textColor", "Tbody", "cursor", "onClick", "Td", "Box", "height", "padding", "Refresh", "aria-label", "e", "stopPropagation", "IconButton", "label", "disabled", "Pencil", "Check", "propTypes", "PropTypes", "bool", "isRequired", "func", "ProtectedEmailTemplatesPage", "_jsx", "Page", "Protect", "permissions", "PERMISSIONS", "readEmailTemplates", "EmailTemplatesPage", "formatMessage", "useIntl", "trackUsage", "useTracking", "notifyStatus", "useNotifyAT", "toggleNotification", "useNotification", "queryClient", "useQueryClient", "get", "put", "useFetchClient", "formatAPIError", "useAPIErrorHandler", "isModalOpen", "setIsModalOpen", "useState", "templateToEdit", "setTemplateToEdit", "isLoading", "isLoadingForPermissions", "allowedActions", "canUpdate", "useRBAC", "update", "updateEmailTemplates", "isLoadingData", "data", "useQuery", "onSuccess", "id", "getTrad", "defaultMessage", "onError", "error", "type", "message", "handleToggle", "prev", "handleEditClick", "template", "submitMutation", "useMutation", "body", "invalidateQueries", "refetchActive", "handleSubmit", "editedTemplates", "mutate", "Loading", "_jsxs", "Main", "aria-busy", "Title", "name", "Layouts", "Header", "title", "Content", "EmailTable", "onEditClick", "EmailForm", "onToggle", "open", "onSubmit"]
}
+76
View File
@@ -0,0 +1,76 @@
import {
Events
} from "./chunk-AD4IF7GD.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var eeTables = {
"review-workflows": {
"review-workflows": [
"review-workflows.updateEntryStage"
]
},
releases: {
releases: [
"releases.publish"
]
}
};
var getHeaders = (table) => {
switch (table) {
case "review-workflows":
return () => [
{
id: "review-workflows.updateEntryStage",
defaultMessage: "Stage Change"
}
];
case "releases":
return () => [
{
id: "releases.publish",
defaultMessage: "Publish"
}
];
}
};
var EventsTableEE = () => {
return (0, import_jsx_runtime.jsxs)(Events.Root, {
children: [
(0, import_jsx_runtime.jsx)(Events.Headers, {}),
(0, import_jsx_runtime.jsx)(Events.Body, {}),
Object.keys(eeTables).map((table) => (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Events.Headers, {
getHeaders: getHeaders(table)
}),
(0, import_jsx_runtime.jsx)(Events.Body, {
providedEvents: eeTables[table]
})
]
}))
]
});
};
export {
EventsTableEE
};
//# sourceMappingURL=EventsTable-XJDCSNI6.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable.tsx"],
"sourcesContent": ["import { Events } from '../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/Events';\n\nconst eeTables = {\n 'review-workflows': {\n 'review-workflows': ['review-workflows.updateEntryStage'],\n },\n releases: {\n releases: ['releases.publish'],\n },\n};\n\nconst getHeaders = (table: keyof typeof eeTables) => {\n switch (table) {\n case 'review-workflows':\n return () => [{ id: 'review-workflows.updateEntryStage', defaultMessage: 'Stage Change' }];\n case 'releases':\n return () => [{ id: 'releases.publish', defaultMessage: 'Publish' }];\n }\n};\n\nconst EventsTableEE = () => {\n return (\n <Events.Root>\n <Events.Headers />\n <Events.Body />\n {(Object.keys(eeTables) as Array<keyof typeof eeTables>).map((table) => (\n <>\n <Events.Headers getHeaders={getHeaders(table)} />\n <Events.Body providedEvents={eeTables[table]} />\n </>\n ))}\n </Events.Root>\n );\n};\n\nexport { EventsTableEE };\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,WAAW;EACf,oBAAoB;IAClB,oBAAoB;MAAC;IAAoC;EAC3D;EACAC,UAAU;IACRA,UAAU;MAAC;IAAmB;EAChC;AACF;AAEA,IAAMC,aAAa,CAACC,UAAAA;AAClB,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO,MAAM;QAAC;UAAEC,IAAI;UAAqCC,gBAAgB;QAAe;MAAE;IAC5F,KAAK;AACH,aAAO,MAAM;QAAC;UAAED,IAAI;UAAoBC,gBAAgB;QAAU;MAAE;EACxE;AACF;AAEA,IAAMC,gBAAgB,MAAA;AACpB,aACEC,yBAACC,OAAOC,MAAI;;UACVC,wBAACF,OAAOG,SAAO,CAAA,CAAA;UACfD,wBAACF,OAAOI,MAAI,CAAA,CAAA;MACVC,OAAOC,KAAKd,QAAAA,EAA2Ce,IAAI,CAACZ,cAC5DI,yBAAAS,6BAAA;;cACEN,wBAACF,OAAOG,SAAO;YAACT,YAAYA,WAAWC,KAAAA;;cACvCO,wBAACF,OAAOI,MAAI;YAACK,gBAAgBjB,SAASG,KAAM;;;;;;AAKtD;",
"names": ["eeTables", "releases", "getHeaders", "table", "id", "defaultMessage", "EventsTableEE", "_jsxs", "Events", "Root", "_jsx", "Headers", "Body", "Object", "keys", "map", "_Fragment", "providedEvents"]
}
File diff suppressed because it is too large. Load diff
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-manager/admin/src/history/components/VersionInputRenderer.tsx", "../../../@strapi/content-manager/admin/src/history/components/VersionContent.tsx", "../../../@strapi/content-manager/admin/src/history/services/historyVersion.ts", "../../../@strapi/content-manager/admin/src/history/components/VersionHeader.tsx", "../../../@strapi/content-manager/admin/src/history/components/VersionsList.tsx", "../../../@strapi/content-manager/admin/src/history/pages/History.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport {\n useStrapiApp,\n useForm,\n InputRenderer as FormInputRenderer,\n useField,\n Form,\n} from '@strapi/admin/strapi-admin';\nimport { Alert, Box, Field, Flex, Link, Tooltip, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { HistoryVersionDataResponse } from '../../../../shared/contracts/history-versions';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport { useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { BlocksInput } from '../../pages/EditView/components/FormInputs/BlocksInput/BlocksInput';\nimport { ComponentInput } from '../../pages/EditView/components/FormInputs/Component/Input';\nimport {\n DynamicZone,\n useDynamicZone,\n} from '../../pages/EditView/components/FormInputs/DynamicZone/Field';\nimport { NotAllowedInput } from '../../pages/EditView/components/FormInputs/NotAllowed';\nimport { UIDInput } from '../../pages/EditView/components/FormInputs/UID';\nimport { Wysiwyg } from '../../pages/EditView/components/FormInputs/Wysiwyg/Field';\nimport { useFieldHint } from '../../pages/EditView/components/InputRenderer';\nimport { getRelationLabel } from '../../utils/relations';\nimport { useHistoryContext } from '../pages/History';\n\nimport { getRemaingFieldsLayout } from './VersionContent';\n\nimport type { EditFieldLayout } from '../../hooks/useDocumentLayout';\nimport type { RelationsFieldProps } from '../../pages/EditView/components/FormInputs/Relations/Relations';\nimport type { RelationResult } from '../../services/relations';\nimport type { Schema } from '@strapi/types';\nimport type { DistributiveOmit } from 'react-redux';\n\nconst StyledAlert = styled(Alert).attrs({ closeLabel: 'Close', onClose: () => {}, shadow: 'none' })`\n button {\n display: none;\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * CustomRelationInput\n * -----------------------------------------------------------------------------------------------*/\n\nconst LinkEllipsis = styled(Link)`\n display: block;\n\n & > span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n }\n`;\n\nconst CustomRelationInput = (props: RelationsFieldProps) => {\n const { formatMessage } = useIntl();\n const field = useField<\n { results: RelationResult[]; meta: { missingCount: number } } | RelationResult[]\n >(props.name);\n\n /**\n * Ideally the server would return the correct shape, however, for admin user relations\n * it sanitizes everything out when it finds an object for the relation value.\n */\n let formattedFieldValue;\n if (field) {\n formattedFieldValue = Array.isArray(field.value)\n ? { results: field.value, meta: { missingCount: 0 } }\n : field.value;\n }\n\n if (\n !formattedFieldValue ||\n (formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0)\n ) {\n return (\n <>\n <Field.Label action={props.labelAction}>{props.label}</Field.Label>\n <Box marginTop={1}>\n {/* @ts-expect-error – we dont need closeLabel */}\n <StyledAlert variant=\"default\">\n {formatMessage({\n id: 'content-manager.history.content.no-relations',\n defaultMessage: 'No relations.',\n })}\n </StyledAlert>\n </Box>\n </>\n );\n }\n\n const { results, meta } = formattedFieldValue;\n\n return (\n <Box>\n <Field.Label>{props.label}</Field.Label>\n {results.length > 0 && (\n <Flex direction=\"column\" gap={2} marginTop={1} alignItems=\"stretch\">\n {results.map((relationData) => {\n // @ts-expect-error - targetModel does exist on the attribute. But it's not typed.\n const { targetModel } = props.attribute;\n const href = `../${COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;\n const label = getRelationLabel(relationData, props.mainField);\n const isAdminUserRelation = targetModel === 'admin::user';\n\n return (\n <Flex\n key={relationData.documentId ?? relationData.id}\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={4}\n paddingRight={4}\n hasRadius\n borderColor=\"neutral200\"\n background=\"neutral150\"\n justifyContent=\"space-between\"\n >Line truncated
"mappings": "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 truncated
"names": ["StyledAlert", "styled", "Alert", "attrs", "closeLabel", "onClose", "shadow", "LinkEllipsis", "Link", "CustomRelationInput", "props", "formatMessage", "useIntl", "field", "useField", "name", "formattedFieldValue", "Array", "isArray", "value", "results", "meta", "missingCount", "length", "_jsxs", "_Fragment", "_jsx", "Field", "Label", "action", "labelAction", "label", "Box", "marginTop", "variant", "id", "defaultMessage", "Flex", "direction", "gap", "alignItems", "map", "relationData", "targetModel", "attribute", "href", "COLLECTION_TYPES", "documentId", "getRelationLabel", "mainField", "isAdminUserRelation", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", "hasRadius", "borderColor", "background", "justifyContent", "minWidth", "Tooltip", "Typography", "tag", "NavLink", "to", "DocumentStatus", "status", "title", "number", "createInitialValuesForPath", "keyPath", "keys", "split", "root", "node", "forEach", "key", "index", "CustomMediaInput", "fields", "useStrapiApp", "state", "MediaLibrary", "media", "Form", "method", "disabled", "initialValues", "multiple", "getLabelAction", "isValidElement", "labelActionTitleId", "cloneElement", "VersionInputRenderer", "visible", "hint", "providedHint", "shouldIgnoreRBAC", "customLabelAction", "version", "useHistoryContext", "selectedVersion", "configuration", "fieldSizes", "useTypedSelector", "app", "components", "useDoc", "isFormDisabled", "useForm", "isInDynamicZone", "useDynamicZone", "canCreateFields", "useDocumentRBAC", "rbac", "canReadFields", "canUpdateFields", "canUserAction", "editableFields", "readableFields", "canUserReadField", "type", "canUserEditField", "lazyComponentStore", "useLazyComponents", "attributeHasCustomFieldProperty", "customField", "undefined", "useFieldHint", "edit", "componentsLayout", "useDocLayout", "NotAllowedInput", "fieldIsDisabled", "addedAttributes", "unknownAttributes", "added", "Object", "includes", "width", "CustomInput", "FormInputRenderer", "addedInputTypes", "BlocksInput", "layout", "component", "remainingFieldsLayout", "getRemaingFieldsLayout", "metadatas", "schemaAttributes", "attributes", "ComponentInput", "inputProps", "DynamicZone", "Wysiwyg", "UIDInput", "options", "enum", "unique", "_unique", "_mainField", "restProps", "createLayoutFromFields", "fields", "reduce", "rows", "field", "type", "push", "length", "map", "row", "getRemaingFieldsLayout", "layout", "metadatas", "schemaAttributes", "fieldSizes", "fieldsInLayout", "flatMap", "panel", "name", "remainingFields", "Object", "entries", "currentRemainingFields", "includes", "edit", "visible", "attribute", "disabled", "label", "size", "default", "FormPanel", "some", "_jsx", "Grid", "Root", "gap", "Item", "col", "s", "xs", "direction", "alignItems", "VersionInputRenderer", "Box", "hasRadius", "background", "shadow", "paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "borderColor", "Flex", "gridRowIndex", "VersionContent", "formatMessage", "useIntl", "useTypedSelector", "state", "app", "version", "useHistoryContext", "selectedVersion", "configuration", "schema", "removedAttributes", "meta", "unknownAttributes", "removed", "removedAttributesAsFields", "attributeName", "shouldIgnoreRBAC", "unknownFieldsLayout", "remainingFieldsLayout", "contentType", "attributes", "components", "useDoc", "transformedData", "useMemo", "transform", "document", "transformations", "pipe", "removeFieldsThatDontExistOnSchema", "prepareTempKeys", "data", "_jsxs", "Layouts", "Content", "Form", "method", "initialValues", "position", "index", "_Fragment", "Divider", "Typography", "variant", "id", "defaultMessage", "b", "chunks", "fontWeight", "historyVersionsApi", "contentManagerApi", "injectEndpoints", "endpoints", "builder", "getHistoryVersions", "query", "params", "url", "method", "config", "providesTags", "restoreVersion", "mutation", "body", "versionId", "data", "invalidatesTags", "_res", "_error", "documentId", "collectionType", "type", "id", "COLLECTION_TYPES", "contentType", "useGetHistoryVersionsQuery", "useRestoreVersionMutation", "VersionHeader", "headerId", "isConfirmDialogOpen", "setIsConfirmDialogOpen", "useState", "navigate", "useNavigate", "formatMessage", "formatDate", "useIntl", "trackUsage", "useTracking", "toggleNotification", "useNotification", "query", "useQueryParams", "collectionType", "slug", "useParams", "restoreVersion", "isLoading", "useRestoreVersionMutation", "allowedActions", "useRBAC", "PERMISSIONS", "map", "action", "subject", "version", "useHistoryContext", "state", "selectedVersion", "mainField", "schema", "isCurrentVersion", "page", "versions", "data", "id", "mainFieldValue", "getNextNavigation", "pluginsQueryParams", "stringify", "plugins", "encode", "pathname", "search", "handleRestore", "response", "documentId", "relatedDocumentId", "params", "versionId", "contentType", "body", "relative", "type", "title", "defaultMessage", "message", "error", "_jsxs", "Dialog", "Root", "open", "onOpenChange", "_jsx", "Layouts", "BaseHeader", "Date"Line truncated
}
+39
View File
@@ -0,0 +1,39 @@
import {
HomePage,
HomePageCE,
WidgetRoot
} from "./chunk-7UVG5SMN.js";
import "./chunk-7XW66K7Y.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import "./chunk-PLDDJCW6.js";
export {
HomePage,
HomePageCE,
WidgetRoot
};
//# sourceMappingURL=HomePage-MEN4IXSS.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
+51
View File
@@ -0,0 +1,51 @@
import {
HomePageCE
} from "./chunk-7UVG5SMN.js";
import "./chunk-7XW66K7Y.js";
import {
useLicenseLimitNotification
} from "./chunk-XCWGBHZU.js";
import "./chunk-AOLNGJZC.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-G2UWKDMB.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/HomePage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var HomePageEE = () => {
useLicenseLimitNotification();
return (0, import_jsx_runtime.jsx)(HomePageCE, {});
};
export {
HomePageEE
};
//# sourceMappingURL=HomePage-YIBA6A7C.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/HomePage.tsx"],
"sourcesContent": ["import { HomePageCE } from '../../../../admin/src/pages/Home/HomePage';\nimport { useLicenseLimitNotification } from '../hooks/useLicenseLimitNotification';\n\nexport const HomePageEE = () => {\n useLicenseLimitNotification();\n\n return <HomePageCE />;\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGaA,aAAa,MAAA;AACxBC,8BAAAA;AAEA,aAAOC,wBAACC,YAAAA,CAAAA,CAAAA;AACV;",
"names": ["HomePageEE", "useLicenseLimitNotification", "_jsx", "HomePageCE"]
}
+189
View File
@@ -0,0 +1,189 @@
import {
useGetPluginsQuery
} from "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Table,
Tbody,
Td,
Th,
Thead,
Tr,
Typography,
useIntl,
useNotifyAT
} from "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var InstalledPlugins = () => {
var _a;
const { formatMessage } = useIntl();
const { notifyStatus } = useNotifyAT();
const { toggleNotification } = useNotification();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
const { isLoading, data, error } = useGetPluginsQuery();
React.useEffect(() => {
if (data) {
notifyStatus(formatMessage({
id: "app.utils.notify.data-loaded",
defaultMessage: "The {target} has loaded"
}, {
target: formatMessage({
id: "global.plugins",
defaultMessage: "Plugins"
})
}));
}
if (error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
}
}, [
data,
error,
formatAPIError,
formatMessage,
notifyStatus,
toggleNotification
]);
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime.jsx)(Layouts.Root, {
children: (0, import_jsx_runtime.jsxs)(Page.Main, {
children: [
(0, import_jsx_runtime.jsx)(Layouts.Header, {
title: formatMessage({
id: "global.plugins",
defaultMessage: "Plugins"
}),
subtitle: formatMessage({
id: "app.components.ListPluginsPage.description",
defaultMessage: "List of the installed plugins in the project."
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime.jsxs)(Table, {
colCount: 2,
rowCount: ((_a = data == null ? void 0 : data.plugins) == null ? void 0 : _a.length) ?? 0 + 1,
children: [
(0, import_jsx_runtime.jsx)(Thead, {
children: (0, import_jsx_runtime.jsxs)(Tr, {
children: [
(0, import_jsx_runtime.jsx)(Th, {
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "global.name",
defaultMessage: "Name"
})
})
}),
(0, import_jsx_runtime.jsx)(Th, {
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "global.description",
defaultMessage: "description"
})
})
})
]
})
}),
(0, import_jsx_runtime.jsx)(Tbody, {
children: data == null ? void 0 : data.plugins.map(({ name, displayName, description }) => {
return (0, import_jsx_runtime.jsxs)(Tr, {
children: [
(0, import_jsx_runtime.jsx)(Td, {
children: (0, import_jsx_runtime.jsx)(Typography, {
textColor: "neutral800",
variant: "omega",
fontWeight: "bold",
children: formatMessage({
id: `global.plugins.${name}`,
defaultMessage: displayName
})
})
}),
(0, import_jsx_runtime.jsx)(Td, {
children: (0, import_jsx_runtime.jsx)(Typography, {
textColor: "neutral800",
children: formatMessage({
id: `global.plugins.${name}.description`,
defaultMessage: description
})
})
})
]
}, name);
})
})
]
})
})
]
})
});
};
var ProtectedInstalledPlugins = () => {
var _a;
const { formatMessage } = useIntl();
const permissions = useTypedSelector((state) => state.admin_app.permissions);
return (0, import_jsx_runtime.jsxs)(Page.Protect, {
permissions: (_a = permissions.marketplace) == null ? void 0 : _a.main,
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: formatMessage({
id: "global.plugins",
defaultMessage: "Plugins"
})
}),
(0, import_jsx_runtime.jsx)(InstalledPlugins, {})
]
});
};
export {
InstalledPlugins,
ProtectedInstalledPlugins
};
//# sourceMappingURL=InstalledPlugins-2G2Q3RKT.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/InstalledPlugins.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport { Table, Tbody, Td, Th, Thead, Tr, Typography, useNotifyAT } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Layouts } from '../../../components/Layouts/Layout';\nimport { Page } from '../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { useGetPluginsQuery } from '../../../services/admin';\n\nconst InstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { isLoading, data, error } = useGetPluginsQuery();\n\n React.useEffect(() => {\n if (data) {\n notifyStatus(\n formatMessage(\n {\n id: 'app.utils.notify.data-loaded',\n defaultMessage: 'The {target} has loaded',\n },\n {\n target: formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n }),\n }\n )\n );\n }\n\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [data, error, formatAPIError, formatMessage, notifyStatus, toggleNotification]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n subtitle={formatMessage({\n id: 'app.components.ListPluginsPage.description',\n defaultMessage: 'List of the installed plugins in the project.',\n })}\n />\n <Layouts.Content>\n <Table colCount={2} rowCount={data?.plugins?.length ?? 0 + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'description',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data?.plugins.map(({ name, displayName, description }) => {\n return (\n <Tr key={name}>\n <Td>\n <Typography textColor=\"neutral800\" variant=\"omega\" fontWeight=\"bold\">\n {formatMessage({\n id: `global.plugins.${name}`,\n defaultMessage: displayName,\n })}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: `global.plugins.${name}.description`,\n defaultMessage: description,\n })}\n </Typography>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedInstalledPlugins = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n\n return (\n <Page.Protect permissions={permissions.marketplace?.main}>\n <Page.Title>\n {formatMessage({\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n })}\n </Page.Title>\n <InstalledPlugins />\n </Page.Protect>\n );\n};\n\nexport { ProtectedInstalledPlugins, InstalledPlugins };\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,mBAAmB,MAAA;;AACvB,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAM,EAAEC,aAAY,IAAKC,YAAAA;AACzB,QAAM,EAAEC,mBAAkB,IAAKC,gBAAAA;AAC/B,QAAM,EAAEC,yBAAyBC,eAAc,IAAKC,mBAAAA;AAEpD,QAAM,EAAEC,WAAWC,MAAMC,MAAK,IAAKC,mBAAAA;AAEnCC,EAAMC,gBAAU,MAAA;AACd,QAAIJ,MAAM;AACRR,mBACEF,cACE;QACEe,IAAI;QACJC,gBAAgB;SAElB;QACEC,QAAQjB,cAAc;UACpBe,IAAI;UACJC,gBAAgB;QAClB,CAAA;MACF,CAAA,CAAA;IAGN;AAEA,QAAIL,OAAO;AACTP,yBAAmB;QACjBc,MAAM;QACNC,SAASZ,eAAeI,KAAAA;MAC1B,CAAA;IACF;KACC;IAACD;IAAMC;IAAOJ;IAAgBP;IAAeE;IAAcE;EAAmB,CAAA;AAEjF,MAAIK,WAAW;AACb,eAAOW,wBAACC,KAAKC,SAAO,CAAA,CAAA;EACtB;AAEA,aACEF,wBAACG,QAAQC,MAAI;kBACXC,yBAACJ,KAAKK,MAAI;;YACRN,wBAACG,QAAQI,QAAM;UACbC,OAAO5B,cAAc;YACnBe,IAAI;YACJC,gBAAgB;UAClB,CAAA;UACAa,UAAU7B,cAAc;YACtBe,IAAI;YACJC,gBAAgB;UAClB,CAAA;;YAEFI,wBAACG,QAAQO,SAAO;UACd,cAAAL,yBAACM,OAAAA;YAAMC,UAAU;YAAGC,YAAUvB,kCAAMwB,YAANxB,mBAAeyB,WAAU,IAAI;;kBACzDf,wBAACgB,OAAAA;gBACC,cAAAX,yBAACY,IAAAA;;wBACCjB,wBAACkB,IAAAA;sBACC,cAAAlB,wBAACmB,YAAAA;wBAAWC,SAAQ;wBAAQC,WAAU;kCACnCzC,cAAc;0BACbe,IAAI;0BACJC,gBAAgB;wBAClB,CAAA;;;wBAGJI,wBAACkB,IAAAA;sBACC,cAAAlB,wBAACmB,YAAAA;wBAAWC,SAAQ;wBAAQC,WAAU;kCACnCzC,cAAc;0BACbe,IAAI;0BACJC,gBAAgB;wBAClB,CAAA;;;;;;kBAKRI,wBAACsB,OAAAA;0BACEhC,6BAAMwB,QAAQS,IAAI,CAAC,EAAEC,MAAMC,aAAaC,YAAW,MAAE;AACpD,6BACErB,yBAACY,IAAAA;;0BACCjB,wBAAC2B,IAAAA;wBACC,cAAA3B,wBAACmB,YAAAA;0BAAWE,WAAU;0BAAaD,SAAQ;0BAAQQ,YAAW;oCAC3DhD,cAAc;4BACbe,IAAI,kBAAkB6B,IAAAA;4BACtB5B,gBAAgB6B;0BAClB,CAAA;;;0BAGJzB,wBAAC2B,IAAAA;wBACC,cAAA3B,wBAACmB,YAAAA;0BAAWE,WAAU;oCACnBzC,cAAc;4BACbe,IAAI,kBAAkB6B,IAAAA;4BACtB5B,gBAAgB8B;0BAClB,CAAA;;;;kBAdGF,GAAAA,IAAAA;gBAmBb;;;;;;;;AAOd;AAEA,IAAMK,4BAA4B,MAAA;;AAChC,QAAM,EAAEjD,cAAa,IAAKC,QAAAA;AAC1B,QAAMiD,cAAcC,iBAAiB,CAACC,UAAUA,MAAMC,UAAUH,WAAW;AAE3E,aACEzB,yBAACJ,KAAKiC,SAAO;IAACJ,cAAaA,iBAAYK,gBAAZL,mBAAyBM;;UAClDpC,wBAACC,KAAKoC,OAAK;kBACRzD,cAAc;UACbe,IAAI;UACJC,gBAAgB;QAClB,CAAA;;UAEFI,wBAACrB,kBAAAA,CAAAA,CAAAA;;;AAGP;",
"names": ["InstalledPlugins", "formatMessage", "useIntl", "notifyStatus", "useNotifyAT", "toggleNotification", "useNotification", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "isLoading", "data", "error", "useGetPluginsQuery", "React", "useEffect", "id", "defaultMessage", "target", "type", "message", "_jsx", "Page", "Loading", "Layouts", "Root", "_jsxs", "Main", "Header", "title", "subtitle", "Content", "Table", "colCount", "rowCount", "plugins", "length", "Thead", "Tr", "Th", "Typography", "variant", "textColor", "Tbody", "map", "name", "displayName", "description", "Td", "fontWeight", "ProtectedInstalledPlugins", "permissions", "useTypedSelector", "state", "admin_app", "Protect", "marketplace", "main", "Title"]
}
+310
View File
@@ -0,0 +1,310 @@
import {
require_sortBy
} from "./chunk-FSHORG2W.js";
import "./chunk-T2YF43GM.js";
import {
selectAdminPermissions
} from "./chunk-6HMBNYS4.js";
import "./chunk-NE3KAGU6.js";
import {
SETTINGS_LINKS_CE
} from "./chunk-4J3VOWQV.js";
import {
useEnterprise
} from "./chunk-W6ICJ5TB.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-EGNP2T5O.js";
import {
useAppInfo,
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import {
Page
} from "./chunk-5CAWUBTQ.js";
import {
useAuth,
useStrapiApp
} from "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import {
useSelector
} from "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import {
SubNav,
SubNavHeader,
SubNavLink,
SubNavSection,
SubNavSections,
useIntl
} from "./chunk-7XB6XSWQ.js";
import {
NavLink,
Navigate,
Outlet,
useLocation,
useMatch
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$2t
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import {
dt
} from "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/Layout.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
// node_modules/@strapi/admin/dist/admin/admin/src/hooks/useSettingsMenu.mjs
var React = __toESM(require_react(), 1);
var import_sortBy = __toESM(require_sortBy(), 1);
var formatLinks = (menu) => menu.map((menuSection) => {
const formattedLinks = menuSection.links.map((link) => ({
...link,
isDisplayed: false
}));
return {
...menuSection,
links: formattedLinks
};
});
var useSettingsMenu = () => {
const [{ isLoading, menu }, setData] = React.useState({
isLoading: true,
menu: []
});
const checkUserHasPermission = useAuth("useSettingsMenu", (state) => state.checkUserHasPermissions);
const shouldUpdateStrapi = useAppInfo("useSettingsMenu", (state) => state.shouldUpdateStrapi);
const settings = useStrapiApp("useSettingsMenu", (state) => state.settings);
const permissions = useSelector(selectAdminPermissions);
const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);
const { admin: adminLinks, global: globalLinks } = useEnterprise(ceLinks, async () => (await import("./constants-FPWWWQMK.js")).SETTINGS_LINKS_EE(), {
combine(ceLinks2, eeLinks) {
return {
admin: [
...eeLinks.admin,
...ceLinks2.admin
],
global: [
...ceLinks2.global,
...eeLinks.global
]
};
},
defaultValue: {
admin: [],
global: []
}
});
const addPermissions = React.useCallback((link) => {
var _a, _b;
if (!link.id) {
throw new Error("The settings menu item must have an id attribute.");
}
return {
...link,
permissions: ((_b = (_a = permissions.settings) == null ? void 0 : _a[link.id]) == null ? void 0 : _b.main) ?? []
};
}, [
permissions.settings
]);
React.useEffect(() => {
const getData = async () => {
const buildMenuPermissions = (sections2) => Promise.all(sections2.reduce((acc, section, sectionIndex) => {
const linksWithPermissions = section.links.map(async (link, linkIndex) => ({
hasPermission: (await checkUserHasPermission(link.permissions)).length > 0,
sectionIndex,
linkIndex
}));
return [
...acc,
...linksWithPermissions
];
}, []));
const menuPermissions = await buildMenuPermissions(sections);
setData((prev) => {
return {
...prev,
isLoading: false,
menu: sections.map((section, sectionIndex) => ({
...section,
links: section.links.map((link, linkIndex) => {
const permission = menuPermissions.find((permission2) => permission2.sectionIndex === sectionIndex && permission2.linkIndex === linkIndex);
return {
...link,
isDisplayed: Boolean(permission == null ? void 0 : permission.hasPermission)
};
})
}))
};
});
};
const { global, ...otherSections } = settings;
const sections = formatLinks([
{
...global,
links: (0, import_sortBy.default)([
...global.links,
...globalLinks.map(addPermissions)
], (link) => link.id).map((link) => ({
...link,
hasNotification: link.id === "000-application-infos" && shouldUpdateStrapi
}))
},
{
id: "permissions",
intlLabel: {
id: "Settings.permissions",
defaultMessage: "Administration Panel"
},
links: adminLinks.map(addPermissions)
},
...Object.values(otherSections)
]);
getData();
}, [
adminLinks,
globalLinks,
settings,
shouldUpdateStrapi,
addPermissions,
checkUserHasPermission
]);
return {
isLoading,
menu: menu.map((menuItem) => ({
...menuItem,
links: menuItem.links.filter((link) => link.isDisplayed)
}))
};
};
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var CustomIcon = dt(ForwardRef$2t)`
right: 15px;
position: absolute;
bottom: 50%;
transform: translateY(50%);
path {
fill: ${({ theme }) => theme.colors.warning500};
}
`;
var Link = dt(SubNavLink)`
&.active ${CustomIcon} {
right: 13px;
}
`;
var SettingsNav = ({ menu }) => {
const { formatMessage } = useIntl();
const { trackUsage } = useTracking();
const { pathname } = useLocation();
const filteredMenu = menu.filter((section) => !section.links.every((link) => link.isDisplayed === false));
const sections = filteredMenu.map((section) => {
return {
...section,
title: section.intlLabel,
links: section.links.map((link) => {
return {
...link,
title: link.intlLabel,
name: link.id
};
})
};
});
const label = formatMessage({
id: "global.settings",
defaultMessage: "Settings"
});
const handleClickOnLink = (destination) => () => {
trackUsage("willNavigate", {
from: pathname,
to: destination
});
};
return (0, import_jsx_runtime.jsxs)(SubNav, {
"aria-label": label,
children: [
(0, import_jsx_runtime.jsx)(SubNavHeader, {
label
}),
(0, import_jsx_runtime.jsx)(SubNavSections, {
children: sections.map((section) => (0, import_jsx_runtime.jsx)(SubNavSection, {
label: formatMessage(section.intlLabel),
children: section.links.map((link) => {
return (0, import_jsx_runtime.jsxs)(Link, {
tag: NavLink,
withBullet: link.hasNotification,
to: link.to,
onClick: handleClickOnLink(link.to),
position: "relative",
children: [
formatMessage(link.intlLabel),
(link == null ? void 0 : link.licenseOnly) && (0, import_jsx_runtime.jsx)(CustomIcon, {
width: "1.5rem",
height: "1.5rem"
})
]
}, link.id);
})
}, section.id))
})
]
});
};
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/Layout.mjs
var Layout = () => {
const match = useMatch("/settings/:settingId/*");
const { formatMessage } = useIntl();
const { isLoading, menu } = useSettingsMenu();
if (isLoading) {
return (0, import_jsx_runtime2.jsx)(Page.Loading, {});
}
if (!(match == null ? void 0 : match.params.settingId)) {
return (0, import_jsx_runtime2.jsx)(Navigate, {
to: "application-infos"
});
}
return (0, import_jsx_runtime2.jsxs)(Layouts.Root, {
sideNav: (0, import_jsx_runtime2.jsx)(SettingsNav, {
menu
}),
children: [
(0, import_jsx_runtime2.jsx)(Page.Title, {
children: formatMessage({
id: "global.settings",
defaultMessage: "Settings"
})
}),
(0, import_jsx_runtime2.jsx)(Outlet, {})
]
});
};
export {
Layout
};
//# sourceMappingURL=Layout-YJQED5MA.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/hooks/useSettingsMenu.ts", "../../../@strapi/admin/admin/src/pages/Settings/components/SettingsNav.tsx", "../../../@strapi/admin/admin/src/pages/Settings/Layout.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type {\n StrapiAppSetting,\n StrapiAppSettingLink as IStrapiAppSettingLink,\n} from '../core/apis/router';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n licenseOnly?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: (await checkUserHasPermission(link.permissions)).length > 0,\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n Line truncated
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAMA,cAAc,CAACC,SACnBA,KAAKC,IAAI,CAACC,gBAAAA;AACR,QAAMC,iBAAiBD,YAAYE,MAAMH,IAAI,CAACI,UAAU;IACtD,GAAGA;IACHC,aAAa;IACf;AAEA,SAAO;IAAE,GAAGJ;IAAaE,OAAOD;EAAe;AACjD,CAAA;AA8BF,IAAMI,kBAAkB,MAAA;AAItB,QAAM,CAAC,EAAEC,WAAWR,KAAI,GAAIS,OAAQ,IAASC,eAG1C;IACDF,WAAW;IACXR,MAAM,CAAA;EACR,CAAA;AACA,QAAMW,yBAAyBC,QAC7B,mBACA,CAACC,UAAUA,MAAMC,uBAAuB;AAE1C,QAAMC,qBAAqBC,WAAW,mBAAmB,CAACH,UAAUA,MAAME,kBAAkB;AAC5F,QAAME,WAAWC,aAAa,mBAAmB,CAACL,UAAUA,MAAMI,QAAQ;AAC1E,QAAME,cAAcC,YAAYC,sBAAAA;AAMhC,QAAMC,UAAgBC,cAAQ,MAAMC,kBAAAA,GAAqB,CAAA,CAAE;AAE3D,QAAM,EAAEC,OAAOC,YAAYC,QAAQC,YAAW,IAAKC,cACjDP,SACA,aAAa,MAAM,OAAO,yBAAiC,GAAGQ,kBAAiB,GAC/E;IACEC,QAAQT,UAASU,SAAO;AACtB,aAAO;QACLP,OAAO;UAAIO,GAAAA,QAAQP;UAAUH,GAAAA,SAAQG;QAAM;QAC3CE,QAAQ;UAAIL,GAAAA,SAAQK;UAAWK,GAAAA,QAAQL;QAAO;MAChD;IACF;IACAM,cAAc;MACZR,OAAO,CAAA;MACPE,QAAQ,CAAA;IACV;EACF,CAAA;AAGF,QAAMO,iBAAuBC,kBAC3B,CAAC9B,SAAAA;;AACC,QAAI,CAACA,KAAK+B,IAAI;AACZ,YAAM,IAAIC,MAAM,mDAAA;IAClB;AAEA,WAAO;MACL,GAAGhC;MACHc,eAAaA,uBAAYF,aAAZE,mBAAuBd,KAAK+B,QAA5BjB,mBAAoEmB,SAAQ,CAAA;IAC3F;KAEF;IAACnB,YAAYF;EAAS,CAAA;AAGxBsB,EAAMC,gBAAU,MAAA;AACd,UAAMC,UAAU,YAAA;AAOd,YAAMC,uBAAuB,CAACC,cAC5BC,QAAQC,IACNF,UAASG,OAAsC,CAACC,KAAKC,SAASC,iBAAAA;AAC5D,cAAMC,uBAAuBF,QAAQ5C,MAAMH,IAAI,OAAOI,MAAM8C,eAAe;UACzEC,gBAAgB,MAAMzC,uBAAuBN,KAAKc,WAAW,GAAGkC,SAAS;UACzEJ;UACAE;UACF;AAEA,eAAO;UAAIJ,GAAAA;UAAQG,GAAAA;QAAqB;MAC1C,GAAG,CAAA,CAAE,CAAA;AAGT,YAAMI,kBAAkB,MAAMZ,qBAAqBC,QAAAA;AAEnDlC,cAAQ,CAAC8C,SAAAA;AACP,eAAO;UACL,GAAGA;UACH/C,WAAW;UACXR,MAAM2C,SAAS1C,IAAI,CAAC+C,SAASC,kBAAkB;YAC7C,GAAGD;YACH5C,OAAO4C,QAAQ5C,MAAMH,IAAI,CAACI,MAAM8C,cAAAA;AAC9B,oBAAMK,aAAaF,gBAAgBG,KACjC,CAACD,gBACCA,YAAWP,iBAAiBA,gBAAgBO,YAAWL,cAAcA,SAAAA;AAGzE,qBAAO;gBACL,GAAG9C;gBACHC,aAAaoD,QAAQF,yCAAYJ,aAAAA;cACnC;YACF,CAAA;YACF;QACF;MACF,CAAA;IACF;AAEA,UAAM,EAAEzB,QAAQ,GAAGgC,cAAAA,IAAkB1C;AACrC,UAAM0B,WAAW5C,YAAY;MAC3B;QACE,GAAG4B;QACHvB,WAAOwD,cAAAA,SAAO;UAAIjC,GAAAA,OAAOvB;UAAUwB,GAAAA,YAAY3B,IAAIiC,cAAAA;WAAkB,CAAC7B,SAASA,KAAK+B,EAAE,EAAEnC,IACtF,CAACI,UAAU;UACT,GAAGA;UACHwD,iBAAiBxD,KAAK+B,OAAO,2BAA2BrB;UAC1D;MAEJ;MACA;QACEqB,IAAI;QACJ0B,WAAW;UAAE1B,IAAI;UAAwB2B,gBAAgB;QAAuB;QAChF3D,OAAOsB,WAAWzB,IAAIiC,cAAAA;MACxB;MACG8B,GAAAA,OAAOC,OAAON,aAAAA;IAClB,CAAA;AAEDlB,YAAAA;KACC;IACDf;IACAE;IACAX;IACAF;IACAmB;IACAvB;EACD,CAAA;AAED,SAAO;IACLH;IACAR,MAAMA,KAAKC,IAAI,CAACiE,cAAc;MAC5B,GAAGA;MACH9D,OAAO8D,SAAS9D,MAAM+D,OAAO,CAAC9D,SAASA,KAAKC,WAAW;MACzD;EACF;AACF;;;;ACnLA,IAAM8D,aAAaC,GAAOC,aAAAA;;;;;;;YAOd,CAAC,EAAEC,MAAK,MAAOA,MAAMC,OAAOC,UAAU;;;AAIlD,IAAMC,OAAOL,GAAOM,UAAAA;aACPP,UAAW;;;;AASxB,IAAMQ,cAAc,CAAC,EAAEC,KAAI,MAAoB;AAC7C,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAM,EAAEC,WAAU,IAAKC,YAAAA;AACvB,QAAM,EAAEC,SAAQ,IAAKC,YAAAA;AAErB,QAAMC,eAAeP,KAAKQ,OACxB,CAACC,YAAY,CAACA,QAAQC,MAAMC,MAAM,CAACC,SAASA,KAAKC,gBAAgB,KAAA,CAAA;AAGnE,QAAMC,WAAWP,aAAaQ,IAAI,CAACN,YAAAA;AACjC,WAAO;MACL,GAAGA;MACHO,OAAOP,QAAQQ;MACfP,OAAOD,QAAQC,MAAMK,IAAI,CAACH,SAAAA;AACxB,eAAO;UACL,GAAGA;UACHI,OAAOJ,KAAKK;UACZC,MAAMN,KAAKO;QACb;MACF,CAAA;IACF;EACF,CAAA;AAEA,QAAMC,QAAQnB,cAAc;IAC1BkB,IAAI;IACJE,gBAAgB;EAClB,CAAA;AAEA,QAAMC,oBAAoB,CAACC,gBAAwB,MAAA;AACjDpB,eAAW,gBAAgB;MAAEqB,MAAMnB;MAAUoB,IAAIF;IAAY,CAAA;EAC/D;AAEA,aACEG,yBAACC,QAAAA;IAAOC,cAAYR;;UAClBS,wBAACC,cAAAA;QAAaV;;UACdS,wBAACE,gBAAAA;QACEjB,UAAAA,SAASC,IAAI,CAACN,gBACboB,wBAACG,eAAAA;UAA+BZ,OAAOnB,cAAcQ,QAAQQ,SAAS;UACnER,UAAAA,QAAQC,MAAMK,IAAI,CAACH,SAAAA;AAClB,uBACEc,yBAAC7B,MAAAA;cACCoC,KAAKC;cACLC,YAAYvB,KAAKwB;cACjBX,IAAIb,KAAKa;cACTY,SAASf,kBAAkBV,KAAKa,EAAE;cAElCa,UAAS;;gBAERrC,cAAcW,KAAKK,SAAS;iBAC5BL,6BAAM2B,oBAAeV,wBAACtC,YAAAA;kBAAWiD,OAAM;kBAASC,QAAO;;;YAJnD7B,GAAAA,KAAKO,EAAE;UAOlB,CAAA;QAfkBV,GAAAA,QAAQU,EAAE,CAAA;;;;AAqBxC;;;ACrFA,IAAMuB,SAAS,MAAA;AAKb,QAAMC,QAAQC,SAAS,wBAAA;AACvB,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAM,EAAEC,WAAWC,KAAI,IAAKC,gBAAAA;AAI5B,MAAIF,WAAW;AACb,eAAOG,yBAACC,KAAKC,SAAO,CAAA,CAAA;EACtB;AAEA,MAAI,EAACT,+BAAOU,OAAOC,YAAW;AAC5B,eAAOJ,yBAACK,UAAAA;MAASC,IAAG;;EACtB;AAEA,aACEC,0BAACC,QAAQC,MAAI;IAACC,aAASV,yBAACW,aAAAA;MAAYb;;;UAClCE,yBAACC,KAAKW,OAAK;kBACRjB,cAAc;UACbkB,IAAI;UACJC,gBAAgB;QAClB,CAAA;;UAEFd,yBAACe,QAAAA,CAAAA,CAAAA;;;AAGP;",
"names": ["formatLinks", "menu", "map", "menuSection", "formattedLinks", "links", "link", "isDisplayed", "useSettingsMenu", "isLoading", "setData", "useState", "checkUserHasPermission", "useAuth", "state", "checkUserHasPermissions", "shouldUpdateStrapi", "useAppInfo", "settings", "useStrapiApp", "permissions", "useSelector", "selectAdminPermissions", "ceLinks", "useMemo", "SETTINGS_LINKS_CE", "admin", "adminLinks", "global", "globalLinks", "useEnterprise", "SETTINGS_LINKS_EE", "combine", "eeLinks", "defaultValue", "addPermissions", "useCallback", "id", "Error", "main", "React", "useEffect", "getData", "buildMenuPermissions", "sections", "Promise", "all", "reduce", "acc", "section", "sectionIndex", "linksWithPermissions", "linkIndex", "hasPermission", "length", "menuPermissions", "prev", "permission", "find", "Boolean", "otherSections", "sortBy", "hasNotification", "intlLabel", "defaultMessage", "Object", "values", "menuItem", "filter", "CustomIcon", "styled", "Lightning", "theme", "colors", "warning500", "Link", "SubNavLink", "SettingsNav", "menu", "formatMessage", "useIntl", "trackUsage", "useTracking", "pathname", "useLocation", "filteredMenu", "filter", "section", "links", "every", "link", "isDisplayed", "sections", "map", "title", "intlLabel", "name", "id", "label", "defaultMessage", "handleClickOnLink", "destination", "from", "to", "_jsxs", "SubNav", "aria-label", "_jsx", "SubNavHeader", "SubNavSections", "SubNavSection", "tag", "NavLink", "withBullet", "hasNotification", "onClick", "position", "licenseOnly", "width", "height", "Layout", "match", "useMatch", "formatMessage", "useIntl", "isLoading", "menu", "useSettingsMenu", "_jsx", "Page", "Loading", "params", "settingId", "Navigate", "to", "_jsxs", "Layouts", "Root", "sideNav", "SettingsNav", "Title", "id", "defaultMessage", "Outlet"]
}
+927
View File
@@ -0,0 +1,927 @@
import {
CardDragPreview
} from "./chunk-D6ZHL7AV.js";
import {
FieldTypeIcon
} from "./chunk-CD3FLTLL.js";
import {
useTypedSelector
} from "./chunk-VE2D6HMA.js";
import {
COLLECTION_TYPES,
ItemTypes,
SINGLE_TYPES,
checkIfAttributeIsDisplayable,
setIn,
useDoc,
useDocLayout,
useDragAndDrop,
useGetContentTypeConfigurationQuery,
useUpdateContentTypeConfigurationMutation
} from "./chunk-UATNJIHQ.js";
import {
capitalise
} from "./chunk-P4VL3IHZ.js";
import {
getTranslation
} from "./chunk-HIZVCZYI.js";
import "./chunk-QF6GPHA4.js";
import {
getEmptyImage
} from "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import {
BackButton
} from "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import {
create3 as create,
create4 as create2,
create6 as create3
} from "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import {
MemoizedInputRenderer
} from "./chunk-6AXVGFVQ.js";
import {
Form,
useField,
useForm
} from "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Button,
Divider,
Flex,
Grid,
Main,
Menu,
Modal,
Typography,
VisuallyHidden,
useCollator,
useComposedRefs,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import {
Navigate,
useParams
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$1h,
ForwardRef$1v,
ForwardRef$3T,
ForwardRef$45
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import {
dt
} from "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs
var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
var React4 = __toESM(require_react(), 1);
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/components/Header.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var Header = ({ name }) => {
const { formatMessage } = useIntl();
const params = useParams();
const modified = useForm("Header", (state) => state.modified);
const isSubmitting = useForm("Header", (state) => state.isSubmitting);
return (0, import_jsx_runtime.jsx)(Layouts.Header, {
navigationAction: (0, import_jsx_runtime.jsx)(BackButton, {
fallback: `../${COLLECTION_TYPES}/${params.slug}`
}),
primaryAction: (0, import_jsx_runtime.jsx)(Button, {
size: "S",
disabled: !modified,
type: "submit",
loading: isSubmitting,
children: formatMessage({
id: "global.save",
defaultMessage: "Save"
})
}),
subtitle: formatMessage({
id: getTranslation("components.SettingsViewWrapper.pluginHeader.description.list-settings"),
defaultMessage: "Define the settings of the list view."
}),
title: formatMessage({
id: getTranslation("components.SettingsViewWrapper.pluginHeader.title"),
defaultMessage: "Configure the view - {name}"
}, {
name: capitalise(name)
})
});
};
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/components/Settings.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var EXCLUDED_SORT_ATTRIBUTE_TYPES = [
"media",
"richtext",
"dynamiczone",
"relation",
"component",
"json",
"blocks"
];
var Settings = () => {
const { formatMessage, locale } = useIntl();
const formatter = useCollator(locale, {
sensitivity: "base"
});
const { schema } = useDoc();
const layout = useForm("Settings", (state) => state.values.layout ?? []);
const currentSortBy = useForm("Settings", (state) => state.values.settings.defaultSortBy);
const onChange = useForm("Settings", (state) => state.onChange);
const sortOptions = React.useMemo(() => Object.values(layout).reduce((acc, field) => {
if (schema && !EXCLUDED_SORT_ATTRIBUTE_TYPES.includes(schema.attributes[field.name].type)) {
acc.push({
value: field.name,
label: typeof field.label !== "string" ? formatMessage(field.label) : field.label
});
}
return acc;
}, []), [
formatMessage,
layout,
schema
]);
const sortOptionsSorted = sortOptions.sort((a, b) => formatter.compare(a.label, b.label));
React.useEffect(() => {
var _a;
if (sortOptionsSorted.findIndex((opt) => opt.value === currentSortBy) === -1) {
onChange("settings.defaultSortBy", (_a = sortOptionsSorted[0]) == null ? void 0 : _a.value);
}
}, [
currentSortBy,
onChange,
sortOptionsSorted
]);
const formLayout = React.useMemo(() => SETTINGS_FORM_LAYOUT.map((row) => row.map((field) => {
if (field.type === "enumeration") {
return {
...field,
hint: field.hint ? formatMessage(field.hint) : void 0,
label: formatMessage(field.label),
options: field.name === "settings.defaultSortBy" ? sortOptionsSorted : field.options
};
} else {
return {
...field,
hint: field.hint ? formatMessage(field.hint) : void 0,
label: formatMessage(field.label)
};
}
})), [
formatMessage,
sortOptionsSorted
]);
return (0, import_jsx_runtime2.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
(0, import_jsx_runtime2.jsx)(Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: getTranslation("containers.SettingPage.settings"),
defaultMessage: "Settings"
})
}),
(0, import_jsx_runtime2.jsx)(Grid.Root, {
gap: 4,
children: formLayout.map((row) => row.map(({ size, ...field }) => (0, import_jsx_runtime2.jsx)(Grid.Item, {
s: 12,
col: size,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime2.jsx)(MemoizedInputRenderer, {
...field
})
}, field.name)))
}, "bottom")
]
});
};
var SETTINGS_FORM_LAYOUT = [
[
{
label: {
id: getTranslation("form.Input.search"),
defaultMessage: "Enable search"
},
name: "settings.searchable",
size: 4,
type: "boolean"
},
{
label: {
id: getTranslation("form.Input.filters"),
defaultMessage: "Enable filters"
},
name: "settings.filterable",
size: 4,
type: "boolean"
},
{
label: {
id: getTranslation("form.Input.bulkActions"),
defaultMessage: "Enable bulk actions"
},
name: "settings.bulkable",
size: 4,
type: "boolean"
}
],
[
{
hint: {
id: getTranslation("form.Input.pageEntries.inputDescription"),
defaultMessage: "Note: You can override this value in the Collection Type settings page."
},
label: {
id: getTranslation("form.Input.pageEntries"),
defaultMessage: "Entries per page"
},
name: "settings.pageSize",
options: [
"10",
"20",
"50",
"100"
].map((value) => ({
value,
label: value
})),
size: 6,
type: "enumeration"
},
{
label: {
id: getTranslation("form.Input.defaultSort"),
defaultMessage: "Default sort attribute"
},
name: "settings.defaultSortBy",
options: [],
size: 3,
type: "enumeration"
},
{
label: {
id: getTranslation("form.Input.sort.order"),
defaultMessage: "Default sort order"
},
name: "settings.defaultSortOrder",
options: [
"ASC",
"DESC"
].map((value) => ({
value,
label: value
})),
size: 3,
type: "enumeration"
}
]
];
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs
var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
var React3 = __toESM(require_react(), 1);
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs
var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
var React2 = __toESM(require_react(), 1);
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
var FIELD_SCHEMA = create3().shape({
label: create2().required(),
sortable: create()
});
var EditFieldForm = ({ attribute, name, onClose }) => {
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const { value, onChange } = useField(name);
if (!value) {
console.error("You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.");
toggleNotification({
message: formatMessage({
id: "content-manager.containers.list-settings.modal-form.error",
defaultMessage: "An error occurred while trying to open the form."
}),
type: "danger"
});
return null;
}
let shouldDisplaySortToggle = ![
"media",
"relation"
].includes(attribute.type);
if ("relation" in attribute && [
"oneWay",
"oneToOne",
"manyToOne"
].includes(attribute.relation)) {
shouldDisplaySortToggle = true;
}
return (0, import_jsx_runtime3.jsx)(Modal.Content, {
children: (0, import_jsx_runtime3.jsxs)(Form, {
method: "PUT",
initialValues: value,
validationSchema: FIELD_SCHEMA,
onSubmit: (data) => {
onChange(name, data);
onClose();
},
children: [
(0, import_jsx_runtime3.jsx)(Modal.Header, {
children: (0, import_jsx_runtime3.jsxs)(HeaderContainer, {
children: [
(0, import_jsx_runtime3.jsx)(FieldTypeIcon, {
type: attribute.type
}),
(0, import_jsx_runtime3.jsx)(Modal.Title, {
children: formatMessage({
id: getTranslation("containers.list-settings.modal-form.label"),
defaultMessage: "Edit {fieldName}"
}, {
fieldName: capitalise(value.label)
})
})
]
})
}),
(0, import_jsx_runtime3.jsx)(Modal.Body, {
children: (0, import_jsx_runtime3.jsx)(Grid.Root, {
gap: 4,
children: [
{
name: "label",
label: formatMessage({
id: getTranslation("form.Input.label"),
defaultMessage: "Label"
}),
hint: formatMessage({
id: getTranslation("form.Input.label.inputDescription"),
defaultMessage: "This value overrides the label displayed in the table's head"
}),
size: 6,
type: "string"
},
{
label: formatMessage({
id: getTranslation("form.Input.sort.field"),
defaultMessage: "Enable sort on this field"
}),
name: "sortable",
size: 6,
type: "boolean"
}
].filter((field) => field.name !== "sortable" || field.name === "sortable" && shouldDisplaySortToggle).map(({ size, ...field }) => (0, import_jsx_runtime3.jsx)(Grid.Item, {
s: 12,
col: size,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime3.jsx)(MemoizedInputRenderer, {
...field
})
}, field.name))
})
}),
(0, import_jsx_runtime3.jsxs)(Modal.Footer, {
children: [
(0, import_jsx_runtime3.jsx)(Button, {
onClick: onClose,
variant: "tertiary",
children: formatMessage({
id: "app.components.Button.cancel",
defaultMessage: "Cancel"
})
}),
(0, import_jsx_runtime3.jsx)(Button, {
type: "submit",
children: formatMessage({
id: "global.finish",
defaultMessage: "Finish"
})
})
]
})
]
})
});
};
var HeaderContainer = dt(Flex)`
svg {
width: 3.2rem;
margin-right: ${({ theme }) => theme.spaces[3]};
}
`;
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs
var DraggableCard = ({ attribute, index, isDraggingSibling, label, name, onMoveField, onRemoveField, setIsDraggingSibling }) => {
const [isModalOpen, setIsModalOpen] = React2.useState(false);
const { formatMessage } = useIntl();
const [, forceRerenderAfterDnd] = React2.useState(false);
const [{ isDragging }, objectRef, dropRef, dragRef, dragPreviewRef] = useDragAndDrop(true, {
type: ItemTypes.FIELD,
item: {
index,
label,
name
},
index,
onMoveItem: onMoveField,
onEnd: () => setIsDraggingSibling(false)
});
React2.useEffect(() => {
dragPreviewRef(getEmptyImage(), {
captureDraggingState: false
});
}, [
dragPreviewRef
]);
React2.useEffect(() => {
if (isDragging) {
setIsDraggingSibling(true);
}
}, [
isDragging,
setIsDraggingSibling
]);
React2.useEffect(() => {
if (!isDraggingSibling) {
forceRerenderAfterDnd((prev) => !prev);
}
}, [
isDraggingSibling
]);
const composedRefs = useComposedRefs(dropRef, objectRef);
return (0, import_jsx_runtime4.jsxs)(FieldWrapper, {
ref: composedRefs,
children: [
isDragging && (0, import_jsx_runtime4.jsx)(CardDragPreview, {
label
}),
!isDragging && isDraggingSibling && (0, import_jsx_runtime4.jsx)(CardDragPreview, {
isSibling: true,
label
}),
!isDragging && !isDraggingSibling && (0, import_jsx_runtime4.jsxs)(FieldContainer, {
borderColor: "neutral150",
background: "neutral100",
hasRadius: true,
justifyContent: "space-between",
onClick: () => setIsModalOpen(true),
children: [
(0, import_jsx_runtime4.jsxs)(Flex, {
gap: 3,
children: [
(0, import_jsx_runtime4.jsx)(DragButton, {
ref: dragRef,
"aria-label": formatMessage({
id: getTranslation("components.DraggableCard.move.field"),
defaultMessage: "Move {item}"
}, {
item: label
}),
onClick: (e) => e.stopPropagation(),
children: (0, import_jsx_runtime4.jsx)(ForwardRef$3T, {})
}),
(0, import_jsx_runtime4.jsx)(Typography, {
fontWeight: "bold",
children: label
})
]
}),
(0, import_jsx_runtime4.jsxs)(Flex, {
paddingLeft: 3,
onClick: (e) => e.stopPropagation(),
children: [
(0, import_jsx_runtime4.jsxs)(Modal.Root, {
open: isModalOpen,
onOpenChange: setIsModalOpen,
children: [
(0, import_jsx_runtime4.jsx)(Modal.Trigger, {
children: (0, import_jsx_runtime4.jsx)(ActionButton, {
onClick: (e) => {
e.stopPropagation();
},
"aria-label": formatMessage({
id: getTranslation("components.DraggableCard.edit.field"),
defaultMessage: "Edit {item}"
}, {
item: label
}),
type: "button",
children: (0, import_jsx_runtime4.jsx)(ForwardRef$1v, {
width: "1.2rem",
height: "1.2rem"
})
})
}),
(0, import_jsx_runtime4.jsx)(EditFieldForm, {
attribute,
name: `layout.${index}`,
onClose: () => {
setIsModalOpen(false);
}
})
]
}),
(0, import_jsx_runtime4.jsx)(ActionButton, {
onClick: onRemoveField,
"data-testid": `delete-${name}`,
"aria-label": formatMessage({
id: getTranslation("components.DraggableCard.delete.field"),
defaultMessage: "Delete {item}"
}, {
item: label
}),
type: "button",
children: (0, import_jsx_runtime4.jsx)(ForwardRef$45, {
width: "1.2rem",
height: "1.2rem"
})
})
]
})
]
})
]
});
};
var ActionButton = dt.button`
display: flex;
align-items: center;
height: ${({ theme }) => theme.spaces[7]};
color: ${({ theme }) => theme.colors.neutral600};
&:hover {
color: ${({ theme }) => theme.colors.neutral700};
}
&:last-child {
padding: 0 ${({ theme }) => theme.spaces[3]};
}
`;
var DragButton = dt(ActionButton)`
padding: 0 ${({ theme }) => theme.spaces[3]};
border-right: 1px solid ${({ theme }) => theme.colors.neutral150};
cursor: all-scroll;
`;
var FieldContainer = dt(Flex)`
max-height: 3.2rem;
cursor: pointer;
`;
var FieldWrapper = dt(Box)`
&:last-child {
padding-right: ${({ theme }) => theme.spaces[3]};
}
`;
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs
var SortDisplayedFields = () => {
const { formatMessage } = useIntl();
const { model, schema } = useDoc();
const [isDraggingSibling, setIsDraggingSibling] = React3.useState(false);
const [lastAction, setLastAction] = React3.useState(null);
const scrollableContainerRef = React3.useRef(null);
const values = useForm("SortDisplayedFields", (state) => state.values.layout ?? []);
const addFieldRow = useForm("SortDisplayedFields", (state) => state.addFieldRow);
const removeFieldRow = useForm("SortDisplayedFields", (state) => state.removeFieldRow);
const moveFieldRow = useForm("SortDisplayedFields", (state) => state.moveFieldRow);
const { metadata: allMetadata } = useGetContentTypeConfigurationQuery(model, {
selectFromResult: ({ data }) => ({
metadata: (data == null ? void 0 : data.contentType.metadatas) ?? {}
})
});
const nonDisplayedFields = React3.useMemo(() => {
if (!schema) {
return [];
}
const displayedFieldNames = values.map((field) => field.name);
return Object.entries(schema.attributes).reduce((acc, [name, attribute]) => {
if (!displayedFieldNames.includes(name) && checkIfAttributeIsDisplayable(attribute)) {
const { list: metadata } = allMetadata[name];
acc.push({
name,
label: metadata.label || name,
sortable: metadata.sortable
});
}
return acc;
}, []);
}, [
allMetadata,
values,
schema
]);
const handleAddField = (field) => {
setLastAction("add");
addFieldRow("layout", field);
};
const handleRemoveField = (index) => {
setLastAction("remove");
removeFieldRow("layout", index);
};
const handleMoveField = (dragIndex, hoverIndex) => {
moveFieldRow("layout", dragIndex, hoverIndex);
};
React3.useEffect(() => {
if (lastAction === "add" && (scrollableContainerRef == null ? void 0 : scrollableContainerRef.current)) {
scrollableContainerRef.current.scrollLeft = scrollableContainerRef.current.scrollWidth;
}
}, [
lastAction
]);
return (0, import_jsx_runtime5.jsxs)(Flex, {
alignItems: "stretch",
direction: "column",
gap: 4,
children: [
(0, import_jsx_runtime5.jsx)(Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: getTranslation("containers.SettingPage.view"),
defaultMessage: "View"
})
}),
(0, import_jsx_runtime5.jsxs)(Flex, {
padding: 4,
borderColor: "neutral300",
borderStyle: "dashed",
borderWidth: "1px",
hasRadius: true,
children: [
(0, import_jsx_runtime5.jsx)(Box, {
flex: "1",
overflow: "auto hidden",
ref: scrollableContainerRef,
children: (0, import_jsx_runtime5.jsx)(Flex, {
gap: 3,
children: values.map((field, index) => (0, import_jsx_runtime5.jsx)(DraggableCard, {
index,
isDraggingSibling,
onMoveField: handleMoveField,
onRemoveField: () => handleRemoveField(index),
setIsDraggingSibling,
...field,
attribute: schema.attributes[field.name],
label: typeof field.label === "object" ? formatMessage(field.label) : field.label
}, field.name))
})
}),
(0, import_jsx_runtime5.jsxs)(Menu.Root, {
children: [
(0, import_jsx_runtime5.jsxs)(Menu.Trigger, {
paddingLeft: 2,
paddingRight: 2,
justifyContent: "center",
endIcon: null,
disabled: nonDisplayedFields.length === 0,
variant: "tertiary",
children: [
(0, import_jsx_runtime5.jsx)(VisuallyHidden, {
tag: "span",
children: formatMessage({
id: getTranslation("components.FieldSelect.label"),
defaultMessage: "Add a field"
})
}),
(0, import_jsx_runtime5.jsx)(ForwardRef$1h, {
"aria-hidden": true,
focusable: false,
style: {
position: "relative",
top: 2
}
})
]
}),
(0, import_jsx_runtime5.jsx)(Menu.Content, {
children: nonDisplayedFields.map((field) => (0, import_jsx_runtime5.jsx)(Menu.Item, {
onSelect: () => handleAddField(field),
children: typeof field.label === "object" ? formatMessage(field.label) : field.label
}, field.name))
})
]
})
]
})
]
});
};
// node_modules/@strapi/content-manager/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs
var ListConfiguration = () => {
const { formatMessage } = useIntl();
const { trackUsage } = useTracking();
const { toggleNotification } = useNotification();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
const { model, collectionType } = useDoc();
const { isLoading: isLoadingLayout, list, edit } = useDocLayout();
const [updateContentTypeConfiguration] = useUpdateContentTypeConfigurationMutation();
const handleSubmit = async (data) => {
try {
trackUsage("willSaveContentTypeLayout");
const layoutData = data.layout ?? [];
const meta = Object.entries(edit.metadatas).reduce((acc, [name, editMeta]) => {
const { mainField: _mainField, ...listMeta } = list.metadatas[name];
const { label, sortable } = layoutData.find((field) => field.name === name) ?? {};
acc[name] = {
edit: editMeta,
list: {
...listMeta,
label: label || listMeta.label,
sortable: sortable || listMeta.sortable
}
};
return acc;
}, {});
const res = await updateContentTypeConfiguration({
layouts: {
edit: edit.layout.flatMap((panel) => panel.map((row) => row.map(({ name, size }) => ({
name,
size
})))),
list: layoutData.map((field) => field.name)
},
settings: setIn(data.settings, "displayName", void 0),
metadatas: meta,
uid: model
});
if ("data" in res) {
trackUsage("didEditListSettings");
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.success.saved",
defaultMessage: "Saved"
})
});
} else {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
}
} catch (err) {
console.error(err);
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
}
};
const initialValues = React4.useMemo(() => {
return {
layout: list.layout.map(({ label, sortable, name }) => ({
label: typeof label === "string" ? label : formatMessage(label),
sortable,
name
})),
settings: list.settings
};
}, [
formatMessage,
list.layout,
list.settings
]);
if (collectionType === SINGLE_TYPES) {
return (0, import_jsx_runtime6.jsx)(Navigate, {
to: `/single-types/${model}`
});
}
if (isLoadingLayout) {
return (0, import_jsx_runtime6.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime6.jsxs)(Layouts.Root, {
children: [
(0, import_jsx_runtime6.jsx)(Page.Title, {
children: `Configure ${list.settings.displayName} List View`
}),
(0, import_jsx_runtime6.jsx)(Main, {
children: (0, import_jsx_runtime6.jsxs)(Form, {
initialValues,
onSubmit: handleSubmit,
method: "PUT",
children: [
(0, import_jsx_runtime6.jsx)(Header, {
collectionType,
model,
name: list.settings.displayName ?? ""
}),
(0, import_jsx_runtime6.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime6.jsxs)(Flex, {
alignItems: "stretch",
background: "neutral0",
direction: "column",
gap: 6,
hasRadius: true,
shadow: "tableShadow",
paddingTop: 6,
paddingBottom: 6,
paddingLeft: 7,
paddingRight: 7,
children: [
(0, import_jsx_runtime6.jsx)(Settings, {}),
(0, import_jsx_runtime6.jsx)(Divider, {}),
(0, import_jsx_runtime6.jsx)(SortDisplayedFields, {})
]
})
})
]
})
})
]
});
};
var ProtectedListConfiguration = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.contentManager) == null ? void 0 : _a.collectionTypesConfigurations;
});
return (0, import_jsx_runtime6.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime6.jsx)(ListConfiguration, {})
});
};
export {
ListConfiguration,
ProtectedListConfiguration
};
//# sourceMappingURL=ListConfigurationPage-ZKNKECIW.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-manager/admin/src/pages/ListConfiguration/components/Header.tsx", "../../../@strapi/content-manager/admin/src/pages/ListConfiguration/components/Settings.tsx", "../../../@strapi/content-manager/admin/src/pages/ListConfiguration/components/EditFieldForm.tsx", "../../../@strapi/content-manager/admin/src/pages/ListConfiguration/components/DraggableCard.tsx", "../../../@strapi/content-manager/admin/src/pages/ListConfiguration/components/SortDisplayedFields.tsx", "../../../@strapi/content-manager/admin/src/pages/ListConfiguration/ListConfigurationPage.tsx"],
"sourcesContent": ["import { useForm, BackButton, Layouts } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { COLLECTION_TYPES } from '../../../constants/collections';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\ninterface HeaderProps {\n collectionType: string;\n name: string;\n model: string;\n}\n\nconst Header = ({ name }: HeaderProps) => {\n const { formatMessage } = useIntl();\n const params = useParams<{ slug: string }>();\n\n const modified = useForm('Header', (state) => state.modified);\n const isSubmitting = useForm('Header', (state) => state.isSubmitting);\n\n return (\n <Layouts.Header\n navigationAction={<BackButton fallback={`../${COLLECTION_TYPES}/${params.slug}`} />}\n primaryAction={\n <Button size=\"S\" disabled={!modified} type=\"submit\" loading={isSubmitting}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.description.list-settings'),\n defaultMessage: 'Define the settings of the list view.',\n })}\n title={formatMessage(\n {\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.title'),\n defaultMessage: 'Configure the view - {name}',\n },\n { name: capitalise(name) }\n )}\n />\n );\n};\n\nexport { Header };\nexport type { HeaderProps };\n", "import * as React from 'react';\n\nimport { useForm, InputRenderer, type InputProps } from '@strapi/admin/strapi-admin';\nimport { Flex, Grid, Typography, useCollator } from '@strapi/design-system';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { type EditFieldLayout } from '../../../hooks/useDocumentLayout';\nimport { getTranslation } from '../../../utils/translations';\nimport { type FormData } from '../ListConfigurationPage';\n\nimport type { DistributiveOmit } from 'react-redux';\n\nexport type InputPropsWithMessageDescriptors = DistributiveOmit<\n InputProps,\n 'hint' | 'label' | 'placeholder'\n> & {\n hint?: MessageDescriptor;\n label: MessageDescriptor;\n placeholder?: MessageDescriptor;\n};\n\n/**\n * @internal\n * @description Form inputs are always displayed in a grid, so we need\n * to use the size property to determine how many columns the input should\n * take up.\n */\nexport type FormLayoutInputProps = InputPropsWithMessageDescriptors & { size: number };\n\nconst EXCLUDED_SORT_ATTRIBUTE_TYPES = [\n 'media',\n 'richtext',\n 'dynamiczone',\n 'relation',\n 'component',\n 'json',\n 'blocks',\n];\n\ninterface SortOption {\n value: string;\n label: string;\n}\n\nconst Settings = () => {\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n const { schema } = useDoc();\n\n const layout = useForm<FormData['layout']>('Settings', (state) => state.values.layout ?? []);\n const currentSortBy = useForm<FormData['settings']['defaultSortBy']>(\n 'Settings',\n (state) => state.values.settings.defaultSortBy\n );\n const onChange = useForm('Settings', (state) => state.onChange);\n\n const sortOptions = React.useMemo(\n () =>\n Object.values(layout).reduce<SortOption[]>((acc, field) => {\n if (schema && !EXCLUDED_SORT_ATTRIBUTE_TYPES.includes(schema.attributes[field.name].type)) {\n acc.push({\n value: field.name,\n label: typeof field.label !== 'string' ? formatMessage(field.label) : field.label,\n });\n }\n\n return acc;\n }, []),\n [formatMessage, layout, schema]\n );\n\n const sortOptionsSorted = sortOptions.sort((a, b) => formatter.compare(a.label, b.label));\n\n React.useEffect(() => {\n if (sortOptionsSorted.findIndex((opt) => opt.value === currentSortBy) === -1) {\n onChange('settings.defaultSortBy', sortOptionsSorted[0]?.value);\n }\n }, [currentSortBy, onChange, sortOptionsSorted]);\n\n const formLayout = React.useMemo(\n () =>\n SETTINGS_FORM_LAYOUT.map((row) =>\n row.map((field) => {\n if (field.type === 'enumeration') {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n options: field.name === 'settings.defaultSortBy' ? sortOptionsSorted : field.options,\n };\n } else {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n };\n }\n })\n ) as [top: EditFieldLayout[], bottom: EditFieldLLine truncated
"mappings": "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 truncated
"names": ["Header", "name", "formatMessage", "useIntl", "params", "useParams", "modified", "useForm", "state", "isSubmitting", "_jsx", "Layouts", "navigationAction", "BackButton", "fallback", "COLLECTION_TYPES", "slug", "primaryAction", "Button", "size", "disabled", "type", "loading", "id", "defaultMessage", "subtitle", "getTranslation", "title", "capitalise", "EXCLUDED_SORT_ATTRIBUTE_TYPES", "Settings", "formatMessage", "locale", "useIntl", "formatter", "useCollator", "sensitivity", "schema", "useDoc", "layout", "useForm", "state", "values", "currentSortBy", "settings", "defaultSortBy", "onChange", "sortOptions", "useMemo", "Object", "reduce", "acc", "field", "includes", "attributes", "name", "type", "push", "value", "label", "sortOptionsSorted", "sort", "a", "b", "compare", "React", "useEffect", "findIndex", "opt", "formLayout", "SETTINGS_FORM_LAYOUT", "map", "row", "hint", "undefined", "options", "_jsxs", "Flex", "direction", "alignItems", "gap", "_jsx", "Typography", "variant", "tag", "id", "getTranslation", "defaultMessage", "Grid", "Root", "size", "Item", "s", "col", "InputRenderer", "FIELD_SCHEMA", "object", "shape", "label", "string", "required", "sortable", "boolean", "EditFieldForm", "attribute", "name", "onClose", "formatMessage", "useIntl", "toggleNotification", "useNotification", "value", "onChange", "useField", "console", "error", "message", "id", "defaultMessage", "type", "shouldDisplaySortToggle", "includes", "relation", "_jsx", "Modal", "Content", "_jsxs", "Form", "method", "initialValues", "validationSchema", "onSubmit", "data", "Header", "HeaderContainer", "FieldTypeIcon", "Title", "getTranslation", "fieldName", "capitalise", "Body", "Grid", "Root", "gap", "hint", "size", "filter", "field", "map", "Item", "s", "col", "direction", "alignItems", "InputRenderer", "Footer", "Button", "onClick", "variant", "styled", "Flex", "theme", "spaces", "DraggableCard", "attribute", "index", "isDraggingSibling", "label", "name", "onMoveField", "onRemoveField", "setIsDraggingSibling", "isModalOpen", "setIsModalOpen", "useState", "formatMessage", "useIntl", "forceRerenderAfterDnd", "isDragging", "objectRef", "dropRef", "dragRef", "dragPreviewRef", "useDragAndDrop", "type", "ItemTypes", "FIELD", "item", "onMoveItem", "onEnd", "React", "useEffect", "getEmptyImage", "captureDraggingState", "prev", "composedRefs", "useComposedRefs", "_jsxs", "FieldWrapper", "ref", "_jsx", "CardDragPreview", "isSibling", "FieldContainer", "borderColor", "background", "hasRadius", "justifyContent", "onClick", "Flex", "gap", "DragButton", "aria-label", "id", "getTranslation", "defaultMessage", "e", "stopPropagation", "Drag", "Typography", "fontWeight", "paddingLeft", "Modal", "Root", "open", "onOpenChange", "Trigger", "ActionButton", "Pencil", "width", "height", "EditFieldForm", "onClose", "data-testid", "Cross", "styled", "button", "theme", "spaces", "colors", "neutral600", "neutral700", "neutral150", "Box", "SortDisplayedFields", "formatMessage", "useIntl", "model", "schema", "useDoc", "isDraggingSibling", "setIsDraggingSibling", "useState", "lastAction", "setLastAction", "scrollableContainerRef", "useRef", "values", "useForm", "state", "layout", "addFieldRow", "removeFieldRow", "moveFieldRow", "metadata", "allMetadata", "useGetContentTypeConfigurationQuery", "selectFromResult", "data", "contentType", "metadatas", "nonDisplayedFields", "useMemo", "displayedFieldNames", "map", "field", "name", "Object", "entries", "attributes", "reduce", "acc", "attribute", "includes", "checkIfAttributeIsDisplayable", "list", "push", "label", "sortable", "handleAddField", "handleRemoveField", "index", "handleMoveField", "dragIndex", "hoverIndex", "React", "useEffect", "current", "scrollLeft", "scrollWidth", "_jsxs", "Flex", "alignItems", "direction", "gap", "_jsx", "Typography", "variant", "tag", "id", "getTranslation", "defaultMessage", "padding", "borderColor", "borderStyle", "borderWidth", "hasRadius", "Box", "flex", "overflow", "ref", "DraggableCard", "onMoveField", "onRemoveField", "Menu", "Root", "Trigger", "paddingLeft", "paddingRight", "justifyContent", "endIcon", "disabled", "length", "VisuallyHidden", "Plus", "aria-hidden", "focusable", "style", "position", "top", "Content", "Item", "onSelect", "ListConfiguration", "formatMessage", "useIntl", "trackUsage", "useTracking", "toggleNotification", "useNotification", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "model", "collectionType", "useDoc", "isLoading", "isLoadingLayout", "list", "edit", "useDocLayout", "updateContentTypeConfiguration", "useUpdateContentTypeConfigurationMutation", "handleSubmit", "data", "layoutData", "layout", "meta", "Object", "entries", "metadatas", "reduce", "acc", "name", "editMeta", "mainField", "_mainField", "listMeta", "label", "sortable", "find", "field", "res", "layouts", "flatMap", "panel", "map", "row", "size", "settings", "setIn", "undefined", "uid", "type", "message", "id", "defaultMessage", "error", "err", "console", "initialValLine truncated
}
+54
View File
@@ -0,0 +1,54 @@
import {
ListPage,
ListPageCE,
ProtectedListPage
} from "./chunk-PZDMARGJ.js";
import "./chunk-XCWIZEDM.js";
import "./chunk-RQXXWIIX.js";
import "./chunk-FURFN7BE.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-PVNXTKO6.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import "./chunk-PLDDJCW6.js";
export {
ListPage,
ListPageCE,
ProtectedListPage
};
//# sourceMappingURL=ListPage-2YHQLOA5.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
+425
View File
@@ -0,0 +1,425 @@
import {
selectAdminPermissions
} from "./chunk-6HMBNYS4.js";
import {
useAdminRoles
} from "./chunk-RQXXWIIX.js";
import {
useFetchClient
} from "./chunk-FCIM6RNO.js";
import {
SearchInput
} from "./chunk-J33IXKN4.js";
import {
ConfirmDialog
} from "./chunk-NP53ZCXD.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import {
useQueryParams
} from "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import {
isFetchError
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import {
fn
} from "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Button,
Dialog,
Flex,
IconButton,
TFooter,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
Typography,
VisuallyHidden,
useIntl
} from "./chunk-7XB6XSWQ.js";
import {
useNavigate
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$1h,
ForwardRef$1v,
ForwardRef$3R,
ForwardRef$j
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleRow.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var RoleRow = ({ id, name, description, usersCount, icons, rowIndex, canUpdate, cursor }) => {
const { formatMessage } = useIntl();
const [, editObject] = icons;
const usersCountText = formatMessage({
id: `Roles.RoleRow.user-count`,
defaultMessage: "{number, plural, =0 {# user} one {# user} other {# users}}"
}, {
number: usersCount
});
return (0, import_jsx_runtime.jsxs)(Tr, {
cursor,
"aria-rowindex": rowIndex,
// @ts-expect-error – the prop uses `HTMLButtonElement` but we just specify `HTMLElement`
onClick: canUpdate ? editObject.onClick : void 0,
children: [
(0, import_jsx_runtime.jsx)(Td, {
maxWidth: `13rem`,
children: (0, import_jsx_runtime.jsx)(Typography, {
ellipsis: true,
textColor: "neutral800",
children: name
})
}),
(0, import_jsx_runtime.jsx)(Td, {
maxWidth: `25rem`,
children: (0, import_jsx_runtime.jsx)(Typography, {
ellipsis: true,
textColor: "neutral800",
children: description
})
}),
(0, import_jsx_runtime.jsx)(Td, {
children: (0, import_jsx_runtime.jsx)(Typography, {
textColor: "neutral800",
children: usersCountText
})
}),
(0, import_jsx_runtime.jsx)(Td, {
children: (0, import_jsx_runtime.jsx)(Flex, {
justifyContent: "flex-end",
onClick: (e) => e.stopPropagation(),
children: icons.map((icon, i) => {
if (icon) {
return (0, import_jsx_runtime.jsx)(Box, {
paddingLeft: i === 0 ? 0 : 1,
children: (0, import_jsx_runtime.jsx)(IconButton, {
...icon,
variant: "ghost"
})
}, icon.label);
}
return null;
})
})
})
]
}, id);
};
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs
var ListPage = () => {
var _a;
const { formatMessage } = useIntl();
const permissions = useTypedSelector(selectAdminPermissions);
const { formatAPIError } = useAPIErrorHandler();
const { toggleNotification } = useNotification();
const [isWarningDeleteAllOpened, setIsWarningDeleteAllOpenend] = React.useState(false);
const [{ query }] = useQueryParams();
const { isLoading: isLoadingForPermissions, allowedActions: { canCreate, canDelete, canRead, canUpdate } } = useRBAC((_a = permissions.settings) == null ? void 0 : _a.roles);
const { roles, refetch: refetchRoles } = useAdminRoles({
filters: (query == null ? void 0 : query._q) ? {
name: {
$containsi: query._q
}
} : void 0
}, {
refetchOnMountOrArgChange: true,
skip: isLoadingForPermissions || !canRead
});
const navigate = useNavigate();
const [{ roleToDelete }, dispatch] = React.useReducer(reducer, initialState);
const { post } = useFetchClient();
const handleDeleteData = async () => {
try {
dispatch({
type: "ON_REMOVE_ROLES"
});
await post("/admin/roles/batch-delete", {
ids: [
roleToDelete
]
});
await refetchRoles();
dispatch({
type: "RESET_DATA_TO_DELETE"
});
} catch (error) {
if (isFetchError(error)) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
}
}
};
const handleNewRoleClick = () => navigate("new");
const handleToggleModal = () => setIsWarningDeleteAllOpenend((prev) => !prev);
const handleClickDelete = (role) => (e) => {
e.preventDefault();
e.stopPropagation();
if (role.usersCount) {
toggleNotification({
type: "info",
message: formatMessage({
id: "Roles.ListPage.notification.delete-not-allowed"
})
});
} else {
dispatch({
type: "SET_ROLE_TO_DELETE",
id: role.id
});
handleToggleModal();
}
};
const handleClickDuplicate = (role) => (e) => {
e.preventDefault();
e.stopPropagation();
navigate(`duplicate/${role.id}`);
};
const rowCount = roles.length + 1;
const colCount = 6;
if (isLoadingForPermissions) {
return (0, import_jsx_runtime2.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime2.jsxs)(Page.Main, {
children: [
(0, import_jsx_runtime2.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: "Roles"
})
}),
(0, import_jsx_runtime2.jsx)(Layouts.Header, {
primaryAction: canCreate ? (0, import_jsx_runtime2.jsx)(Button, {
onClick: handleNewRoleClick,
startIcon: (0, import_jsx_runtime2.jsx)(ForwardRef$1h, {}),
size: "S",
children: formatMessage({
id: "Settings.roles.list.button.add",
defaultMessage: "Add new role"
})
}) : null,
title: formatMessage({
id: "global.roles",
defaultMessage: "roles"
}),
subtitle: formatMessage({
id: "Settings.roles.list.description",
defaultMessage: "List of roles"
})
}),
canRead && (0, import_jsx_runtime2.jsx)(Layouts.Action, {
startActions: (0, import_jsx_runtime2.jsx)(SearchInput, {
label: formatMessage({
id: "app.component.search.label",
defaultMessage: "Search for {target}"
}, {
target: formatMessage({
id: "global.roles",
defaultMessage: "roles"
})
})
})
}),
canRead && (0, import_jsx_runtime2.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime2.jsxs)(Table, {
colCount,
rowCount,
footer: canCreate ? (0, import_jsx_runtime2.jsx)(TFooter, {
cursor: "pointer",
onClick: handleNewRoleClick,
icon: (0, import_jsx_runtime2.jsx)(ForwardRef$1h, {}),
children: formatMessage({
id: "Settings.roles.list.button.add",
defaultMessage: "Add new role"
})
}) : null,
children: [
(0, import_jsx_runtime2.jsx)(Thead, {
children: (0, import_jsx_runtime2.jsxs)(Tr, {
"aria-rowindex": 1,
children: [
(0, import_jsx_runtime2.jsx)(Th, {
children: (0, import_jsx_runtime2.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "global.name",
defaultMessage: "Name"
})
})
}),
(0, import_jsx_runtime2.jsx)(Th, {
children: (0, import_jsx_runtime2.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "global.description",
defaultMessage: "Description"
})
})
}),
(0, import_jsx_runtime2.jsx)(Th, {
children: (0, import_jsx_runtime2.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "global.users",
defaultMessage: "Users"
})
})
}),
(0, import_jsx_runtime2.jsx)(Th, {
children: (0, import_jsx_runtime2.jsx)(VisuallyHidden, {
children: formatMessage({
id: "global.actions",
defaultMessage: "Actions"
})
})
})
]
})
}),
(0, import_jsx_runtime2.jsx)(Tbody, {
children: roles == null ? void 0 : roles.map((role, index) => (0, import_jsx_runtime2.jsx)(RoleRow, {
cursor: "pointer",
id: role.id,
name: role.name,
description: role.description,
usersCount: role.usersCount,
icons: [
canCreate && {
onClick: handleClickDuplicate(role),
label: formatMessage({
id: "app.utils.duplicate",
defaultMessage: "Duplicate"
}),
children: (0, import_jsx_runtime2.jsx)(ForwardRef$3R, {})
},
canUpdate && {
onClick: () => navigate(role.id.toString()),
label: formatMessage({
id: "app.utils.edit",
defaultMessage: "Edit"
}),
children: (0, import_jsx_runtime2.jsx)(ForwardRef$1v, {})
},
canDelete && {
onClick: handleClickDelete(role),
label: formatMessage({
id: "global.delete",
defaultMessage: "Delete"
}),
children: (0, import_jsx_runtime2.jsx)(ForwardRef$j, {})
}
].filter(Boolean),
rowIndex: index + 2,
canUpdate
}, role.id))
})
]
})
}),
(0, import_jsx_runtime2.jsx)(Dialog.Root, {
open: isWarningDeleteAllOpened,
onOpenChange: handleToggleModal,
children: (0, import_jsx_runtime2.jsx)(ConfirmDialog, {
onConfirm: handleDeleteData
})
})
]
});
};
var initialState = {
roleToDelete: null,
showModalConfirmButtonLoading: false,
shouldRefetchData: false
};
var reducer = (state, action) => fn(state, (draftState) => {
switch (action.type) {
case "ON_REMOVE_ROLES": {
draftState.showModalConfirmButtonLoading = true;
break;
}
case "ON_REMOVE_ROLES_SUCCEEDED": {
draftState.shouldRefetchData = true;
draftState.roleToDelete = null;
break;
}
case "RESET_DATA_TO_DELETE": {
draftState.shouldRefetchData = false;
draftState.roleToDelete = null;
draftState.showModalConfirmButtonLoading = false;
break;
}
case "SET_ROLE_TO_DELETE": {
draftState.roleToDelete = action.id;
break;
}
default:
return draftState;
}
});
var ProtectedListPage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a.roles.read;
});
return (0, import_jsx_runtime2.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime2.jsx)(ListPage, {})
});
};
export {
ListPage,
ProtectedListPage
};
//# sourceMappingURL=ListPage-2ZENPU4F.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/Roles/components/RoleRow.tsx", "../../../@strapi/admin/admin/src/pages/Settings/pages/Roles/ListPage.tsx"],
"sourcesContent": ["import { Box, Flex, IconButton, IconButtonProps, Td, Tr, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\n\ninterface RoleRowProps extends Pick<AdminRole, 'id' | 'name' | 'description' | 'usersCount'> {\n icons: Array<Required<Pick<IconButtonProps, 'children' | 'label' | 'onClick'>>>;\n rowIndex: number;\n canUpdate?: boolean;\n cursor?: string;\n}\n\nconst RoleRow = ({\n id,\n name,\n description,\n usersCount,\n icons,\n rowIndex,\n canUpdate,\n cursor,\n}: RoleRowProps) => {\n const { formatMessage } = useIntl();\n const [, editObject] = icons;\n\n const usersCountText = formatMessage(\n {\n id: `Roles.RoleRow.user-count`,\n defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}',\n },\n { number: usersCount }\n );\n\n return (\n <Tr\n cursor={cursor}\n aria-rowindex={rowIndex}\n key={id}\n // @ts-expect-error – the prop uses `HTMLButtonElement` but we just specify `HTMLElement`\n onClick={canUpdate ? editObject.onClick : undefined}\n >\n <Td maxWidth={`13rem`}>\n <Typography ellipsis textColor=\"neutral800\">\n {name}\n </Typography>\n </Td>\n <Td maxWidth={`25rem`}>\n <Typography ellipsis textColor=\"neutral800\">\n {description}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{usersCountText}</Typography>\n </Td>\n <Td>\n <Flex justifyContent=\"flex-end\" onClick={(e) => e.stopPropagation()}>\n {icons.map((icon, i) => {\n if (icon) {\n return (\n <Box key={icon.label} paddingLeft={i === 0 ? 0 : 1}>\n <IconButton {...icon} variant=\"ghost\" />\n </Box>\n );\n }\n\n return null;\n })}\n </Flex>\n </Td>\n </Tr>\n );\n};\n\nexport { RoleRow };\nexport type { RoleRowProps };\n", "import * as React from 'react';\n\nimport {\n Button,\n Dialog,\n Table,\n Tbody,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Duplicate, Pencil, Plus, Trash } from '@strapi/icons';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { SearchInput } from '../../../../components/SearchInput';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAdminRoles, AdminRole } from '../../../../hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useFetchClient } from '../../../../hooks/useFetchClient';\nimport { useQueryParams } from '../../../../hooks/useQueryParams';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { isFetchError } from '../../../../utils/getFetchClient';\n\nimport { RoleRow, RoleRowProps } from './components/RoleRow';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector(selectAdminPermissions);\n const { formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const [isWarningDeleteAllOpened, setIsWarningDeleteAllOpenend] = React.useState(false);\n const [{ query }] = useQueryParams<{ _q?: string }>();\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canCreate, canDelete, canRead, canUpdate },\n } = useRBAC(permissions.settings?.roles);\n\n const { roles, refetch: refetchRoles } = useAdminRoles(\n { filters: query?._q ? { name: { $containsi: query._q } } : undefined },\n {\n refetchOnMountOrArgChange: true,\n skip: isLoadingForPermissions || !canRead,\n }\n );\n\n const navigate = useNavigate();\n const [{ roleToDelete }, dispatch] = React.useReducer(reducer, initialState);\n const { post } = useFetchClient();\n\n const handleDeleteData = async () => {\n try {\n dispatch({\n type: 'ON_REMOVE_ROLES',\n });\n\n await post('/admin/roles/batch-delete', {\n ids: [roleToDelete],\n });\n\n await refetchRoles();\n\n dispatch({\n type: 'RESET_DATA_TO_DELETE',\n });\n } catch (error) {\n if (isFetchError(error)) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }\n };\n\n const handleNewRoleClick = () => navigate('new');\n\n const handleToggleModal = () => setIsWarningDeleteAllOpenend((prev) => !prev)Line truncated
"mappings": "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 truncated
"names": ["RoleRow", "id", "name", "description", "usersCount", "icons", "rowIndex", "canUpdate", "cursor", "formatMessage", "useIntl", "editObject", "usersCountText", "defaultMessage", "number", "_jsxs", "Tr", "aria-rowindex", "onClick", "undefined", "_jsx", "Td", "maxWidth", "Typography", "ellipsis", "textColor", "Flex", "justifyContent", "e", "stopPropagation", "map", "icon", "i", "Box", "paddingLeft", "IconButton", "variant", "label", "ListPage", "formatMessage", "useIntl", "permissions", "useTypedSelector", "selectAdminPermissions", "formatAPIError", "useAPIErrorHandler", "toggleNotification", "useNotification", "isWarningDeleteAllOpened", "setIsWarningDeleteAllOpenend", "useState", "query", "useQueryParams", "isLoading", "isLoadingForPermissions", "allowedActions", "canCreate", "canDelete", "canRead", "canUpdate", "useRBAC", "settings", "roles", "refetch", "refetchRoles", "useAdminRoles", "filters", "_q", "name", "$containsi", "undefined", "refetchOnMountOrArgChange", "skip", "navigate", "useNavigate", "roleToDelete", "dispatch", "useReducer", "reducer", "initialState", "post", "useFetchClient", "handleDeleteData", "type", "ids", "error", "isFetchError", "message", "handleNewRoleClick", "handleToggleModal", "prev", "handleClickDelete", "role", "e", "preventDefault", "stopPropagation", "usersCount", "id", "handleClickDuplicate", "rowCount", "length", "colCount", "_jsx", "Page", "Loading", "_jsxs", "Main", "Title", "defaultMessage", "Layouts", "Header", "primaryAction", "Button", "onClick", "startIcon", "Plus", "size", "title", "subtitle", "Action", "startActions", "SearchInput", "label", "target", "Content", "Table", "footer", "TFooter", "cursor", "icon", "Thead", "Tr", "aria-rowindex", "Th", "Typography", "variant", "textColor", "VisuallyHidden", "Tbody", "map", "index", "RoleRow", "description", "icons", "children", "Duplicate", "toString", "Pencil", "Trash", "filter", "Boolean", "rowIndex", "Dialog", "Root", "open", "onOpenChange", "ConfirmDialog", "onConfirm", "showModalConfirmButtonLoading", "shouldRefetchData", "state", "action", "produce", "draftState", "ProtectedListPage", "admin_app", "read", "Protect"]
}
+680
View File
@@ -0,0 +1,680 @@
import {
getDisplayName
} from "./chunk-PVNXTKO6.js";
import {
Filters
} from "./chunk-C75BZXCZ.js";
import {
Pagination
} from "./chunk-APGTER6B.js";
import {
Table
} from "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import {
useField
} from "./chunk-BFLP6DBI.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import {
parseISO
} from "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import {
useAdminUsers
} from "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import {
useQueryParams
} from "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import {
adminApi
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Breadcrumbs,
Combobox,
Crumb,
Field,
Flex,
Grid,
IconButton,
JSONInput,
Loader,
Modal,
Option,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$3D
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import {
dt
} from "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
// node_modules/@strapi/admin/dist/admin/ee/admin/src/services/auditLogs.mjs
var auditLogsService = adminApi.injectEndpoints({
endpoints: (builder) => ({
getAuditLogs: builder.query({
query: (params) => ({
url: `/admin/audit-logs`,
config: {
params
}
})
}),
getAuditLog: builder.query({
query: (id) => `/admin/audit-logs/${id}`
})
}),
overrideExisting: false
});
var { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.mjs
var useFormatTimeStamp = () => {
const { formatDate } = useIntl();
const formatTimeStamp = (value) => {
const date = parseISO(value);
const formattedDate = formatDate(date, {
dateStyle: "long"
});
const formattedTime = formatDate(date, {
timeStyle: "medium",
hourCycle: "h24"
});
return `${formattedDate}, ${formattedTime}`;
};
return formatTimeStamp;
};
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs
var actionTypes = {
"entry.create": "Create entry{model, select, undefined {} other { ({model})}}",
"entry.update": "Update entry{model, select, undefined {} other { ({model})}}",
"entry.delete": "Delete entry{model, select, undefined {} other { ({model})}}",
"entry.publish": "Publish entry{model, select, undefined {} other { ({model})}}",
"entry.unpublish": "Unpublish entry{model, select, undefined {} other { ({model})}}",
"media.create": "Create media",
"media.update": "Update media",
"media.delete": "Delete media",
"media-folder.create": "Create media folder",
"media-folder.update": "Update media folder",
"media-folder.delete": "Delete media folder",
"user.create": "Create user",
"user.update": "Update user",
"user.delete": "Delete user",
"admin.auth.success": "Admin login",
"admin.logout": "Admin logout",
"content-type.create": "Create content type",
"content-type.update": "Update content type",
"content-type.delete": "Delete content type",
"component.create": "Create component",
"component.update": "Update component",
"component.delete": "Delete component",
"role.create": "Create role",
"role.update": "Update role",
"role.delete": "Delete role",
"permission.create": "Create permission",
"permission.update": "Update permission",
"permission.delete": "Delete permission"
};
var getDefaultMessage = (value) => {
return actionTypes[value] || value;
};
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.mjs
var Modal2 = ({ handleClose, logId }) => {
const { toggleNotification } = useNotification();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
const { data, error, isLoading } = useGetAuditLogQuery(logId);
React.useEffect(() => {
if (error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
handleClose();
}
}, [
error,
formatAPIError,
handleClose,
toggleNotification
]);
const formatTimeStamp = useFormatTimeStamp();
const formattedDate = data && "date" in data ? formatTimeStamp(data.date) : "";
return (0, import_jsx_runtime.jsx)(Modal.Root, {
defaultOpen: true,
onOpenChange: handleClose,
children: (0, import_jsx_runtime.jsxs)(Modal.Content, {
children: [
(0, import_jsx_runtime.jsx)(Modal.Header, {
children: (0, import_jsx_runtime.jsx)(Breadcrumbs, {
label: formattedDate,
id: "title",
children: (0, import_jsx_runtime.jsx)(Crumb, {
isCurrent: true,
children: formattedDate
})
})
}),
(0, import_jsx_runtime.jsx)(Modal.Body, {
children: (0, import_jsx_runtime.jsx)(ActionBody, {
isLoading,
data,
formattedDate
})
})
]
})
});
};
var ActionBody = ({ isLoading, data, formattedDate }) => {
const { formatMessage } = useIntl();
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Flex, {
padding: 7,
justifyContent: "center",
alignItems: "center",
children: (0, import_jsx_runtime.jsx)(Loader, {
children: "Loading content..."
})
});
}
const { action, user, payload } = data;
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Box, {
marginBottom: 3,
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "delta",
id: "title",
children: formatMessage({
id: "Settings.permissions.auditLogs.details",
defaultMessage: "Log Details"
})
})
}),
(0, import_jsx_runtime.jsxs)(Grid.Root, {
gap: 4,
gridCols: 2,
paddingTop: 4,
paddingBottom: 4,
paddingLeft: 6,
paddingRight: 6,
marginBottom: 4,
background: "neutral100",
hasRadius: true,
children: [
(0, import_jsx_runtime.jsx)(ActionItem, {
actionLabel: formatMessage({
id: "Settings.permissions.auditLogs.action",
defaultMessage: "Action"
}),
actionName: formatMessage(
{
id: `Settings.permissions.auditLogs.${action}`,
defaultMessage: getDefaultMessage(action)
},
// @ts-expect-error - any
{
model: payload == null ? void 0 : payload.model
}
)
}),
(0, import_jsx_runtime.jsx)(ActionItem, {
actionLabel: formatMessage({
id: "Settings.permissions.auditLogs.date",
defaultMessage: "Date"
}),
actionName: formattedDate
}),
(0, import_jsx_runtime.jsx)(ActionItem, {
actionLabel: formatMessage({
id: "Settings.permissions.auditLogs.user",
defaultMessage: "User"
}),
actionName: (user == null ? void 0 : user.displayName) || "-"
}),
(0, import_jsx_runtime.jsx)(ActionItem, {
actionLabel: formatMessage({
id: "Settings.permissions.auditLogs.userId",
defaultMessage: "User ID"
}),
actionName: (user == null ? void 0 : user.id.toString()) || "-"
})
]
}),
(0, import_jsx_runtime.jsxs)(Field.Root, {
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: "Settings.permissions.auditLogs.payload",
defaultMessage: "Payload"
})
}),
(0, import_jsx_runtime.jsx)(Payload, {
value: JSON.stringify(payload, null, 2),
disabled: true
})
]
})
]
});
};
var Payload = dt(JSONInput)`
max-width: 100%;
overflow: scroll;
`;
var ActionItem = ({ actionLabel, actionName }) => {
return (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "baseline",
gap: 1,
children: [
(0, import_jsx_runtime.jsx)(Typography, {
textColor: "neutral600",
variant: "sigma",
children: actionLabel
}),
(0, import_jsx_runtime.jsx)(Typography, {
textColor: "neutral600",
children: actionName
})
]
});
};
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.mjs
var React2 = __toESM(require_react(), 1);
var useAuditLogsData = ({ canReadAuditLogs, canReadUsers }) => {
const { toggleNotification } = useNotification();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
const [{ query }] = useQueryParams();
const { data, error, isError: isUsersError, isLoading: isLoadingUsers } = useAdminUsers({}, {
skip: !canReadUsers,
refetchOnMountOrArgChange: true
});
React2.useEffect(() => {
if (error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
}
}, [
error,
toggleNotification,
formatAPIError
]);
const { data: auditLogs, isLoading: isLoadingAuditLogs, isError: isAuditLogsError, error: auditLogsError } = useGetAuditLogsQuery(query, {
refetchOnMountOrArgChange: true,
skip: !canReadAuditLogs
});
React2.useEffect(() => {
if (auditLogsError) {
toggleNotification({
type: "danger",
message: formatAPIError(auditLogsError)
});
}
}, [
auditLogsError,
toggleNotification,
formatAPIError
]);
return {
auditLogs,
users: (data == null ? void 0 : data.users) ?? [],
isLoading: isLoadingUsers || isLoadingAuditLogs,
hasError: isAuditLogsError || isUsersError
};
};
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
var ComboboxFilter = (props) => {
var _a;
const { formatMessage } = useIntl();
const field = useField(props.name);
const ariaLabel = formatMessage({
id: "Settings.permissions.auditLogs.filter.aria-label",
defaultMessage: "Search and select an option to filter"
});
const handleChange = (value) => {
field.onChange(props.name, value);
};
return (0, import_jsx_runtime2.jsx)(Combobox, {
"aria-label": ariaLabel,
value: field.value,
onChange: handleChange,
children: (_a = props.options) == null ? void 0 : _a.map((opt) => {
const value = typeof opt === "string" ? opt : opt.value;
const label = typeof opt === "string" ? opt : opt.label;
return (0, import_jsx_runtime2.jsx)(Option, {
value,
children: label
}, value);
})
});
};
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs
var getDisplayedFilters = ({ formatMessage, users, canReadUsers }) => {
const operators = [
{
label: formatMessage({
id: "components.FilterOptions.FILTER_TYPES.$eq",
defaultMessage: "is"
}),
value: "$eq"
},
{
label: formatMessage({
id: "components.FilterOptions.FILTER_TYPES.$ne",
defaultMessage: "is not"
}),
value: "$ne"
}
];
const filters = [
{
input: ComboboxFilter,
label: formatMessage({
id: "Settings.permissions.auditLogs.action",
defaultMessage: "Action"
}),
name: "action",
operators,
options: Object.keys(actionTypes).map((action) => ({
label: formatMessage({
id: `Settings.permissions.auditLogs.${action}`,
defaultMessage: getDefaultMessage(action)
}, {
model: void 0
}),
value: action
})),
type: "enumeration"
},
{
label: formatMessage({
id: "Settings.permissions.auditLogs.date",
defaultMessage: "Date"
}),
name: "date",
type: "datetime"
}
];
if (canReadUsers && users) {
return [
...filters,
{
input: ComboboxFilter,
label: formatMessage({
id: "Settings.permissions.auditLogs.user",
defaultMessage: "User"
}),
mainField: {
name: "id",
type: "integer"
},
name: "user",
operators,
options: users.map((user) => ({
label: getDisplayName(user),
value: user.id.toString()
})),
type: "relation"
}
];
}
return filters;
};
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs
var ListPage = () => {
const { formatMessage } = useIntl();
const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);
const { allowedActions: { canRead: canReadAuditLogs, canReadUsers }, isLoading: isLoadingRBAC } = useRBAC({
...permissions == null ? void 0 : permissions.auditLogs,
readUsers: (permissions == null ? void 0 : permissions.users.read) || []
});
const [{ query }, setQuery] = useQueryParams();
const { auditLogs, users, isLoading: isLoadingData, hasError } = useAuditLogsData({
canReadAuditLogs,
canReadUsers
});
const formatTimeStamp = useFormatTimeStamp();
const displayedFilters = getDisplayedFilters({
formatMessage,
users,
canReadUsers
});
const headers = [
{
name: "action",
label: formatMessage({
id: "Settings.permissions.auditLogs.action",
defaultMessage: "Action"
}),
sortable: true
},
{
name: "date",
label: formatMessage({
id: "Settings.permissions.auditLogs.date",
defaultMessage: "Date"
}),
sortable: true
},
{
name: "user",
label: formatMessage({
id: "Settings.permissions.auditLogs.user",
defaultMessage: "User"
}),
sortable: false,
// In this case, the passed parameter cannot and shouldn't be something else than User
cellFormatter: ({ user }) => user ? user.displayName : ""
}
];
if (hasError) {
return (0, import_jsx_runtime3.jsx)(Page.Error, {});
}
const isLoading = isLoadingData || isLoadingRBAC;
const { results = [] } = auditLogs ?? {};
return (0, import_jsx_runtime3.jsxs)(Page.Main, {
"aria-busy": isLoading,
children: [
(0, import_jsx_runtime3.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: formatMessage({
id: "global.auditLogs",
defaultMessage: "Audit Logs"
})
})
}),
(0, import_jsx_runtime3.jsx)(Layouts.Header, {
title: formatMessage({
id: "global.auditLogs",
defaultMessage: "Audit Logs"
}),
subtitle: formatMessage({
id: "Settings.permissions.auditLogs.listview.header.subtitle",
defaultMessage: "Logs of all the activities that happened in your environment"
})
}),
(0, import_jsx_runtime3.jsx)(Layouts.Action, {
startActions: (0, import_jsx_runtime3.jsxs)(Filters.Root, {
options: displayedFilters,
children: [
(0, import_jsx_runtime3.jsx)(Filters.Trigger, {}),
(0, import_jsx_runtime3.jsx)(Filters.Popover, {}),
(0, import_jsx_runtime3.jsx)(Filters.List, {})
]
})
}),
(0, import_jsx_runtime3.jsxs)(Layouts.Content, {
children: [
(0, import_jsx_runtime3.jsx)(Table.Root, {
rows: results,
headers,
isLoading,
children: (0, import_jsx_runtime3.jsxs)(Table.Content, {
children: [
(0, import_jsx_runtime3.jsx)(Table.Head, {
children: headers.map((header) => (0, import_jsx_runtime3.jsx)(Table.HeaderCell, {
...header
}, header.name))
}),
(0, import_jsx_runtime3.jsx)(Table.Empty, {}),
(0, import_jsx_runtime3.jsx)(Table.Loading, {}),
(0, import_jsx_runtime3.jsx)(Table.Body, {
children: results.map((log) => (0, import_jsx_runtime3.jsxs)(Table.Row, {
onClick: () => setQuery({
id: log.id
}),
children: [
headers.map((header) => {
var _a;
const { name, cellFormatter } = header;
switch (name) {
case "action":
return (0, import_jsx_runtime3.jsx)(Table.Cell, {
children: (0, import_jsx_runtime3.jsx)(Typography, {
textColor: "neutral800",
children: formatMessage({
id: `Settings.permissions.auditLogs.${log.action}`,
// @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.
defaultMessage: getDefaultMessage(log.action)
}, {
model: ((_a = log.payload) == null ? void 0 : _a.model) ?? ""
})
})
}, name);
case "date":
return (0, import_jsx_runtime3.jsx)(Table.Cell, {
children: (0, import_jsx_runtime3.jsx)(Typography, {
textColor: "neutral800",
children: formatTimeStamp(log.date)
})
}, name);
case "user":
return (0, import_jsx_runtime3.jsx)(Table.Cell, {
children: (0, import_jsx_runtime3.jsx)(Typography, {
textColor: "neutral800",
children: cellFormatter ? cellFormatter(log, header) : "-"
})
}, name);
default:
return (0, import_jsx_runtime3.jsx)(Table.Cell, {
children: (0, import_jsx_runtime3.jsx)(Typography, {
textColor: "neutral800",
children: log[name] || "-"
})
}, name);
}
}),
(0, import_jsx_runtime3.jsx)(Table.Cell, {
onClick: (e) => e.stopPropagation(),
children: (0, import_jsx_runtime3.jsx)(Flex, {
justifyContent: "end",
children: (0, import_jsx_runtime3.jsx)(IconButton, {
onClick: () => setQuery({
id: log.id
}),
withTooltip: false,
label: formatMessage({
id: "app.component.table.view",
defaultMessage: "{target} details"
}, {
target: `${log.action} action`
}),
variant: "ghost",
children: (0, import_jsx_runtime3.jsx)(ForwardRef$3D, {})
})
})
})
]
}, log.id))
})
]
})
}),
(0, import_jsx_runtime3.jsxs)(Pagination.Root, {
...auditLogs == null ? void 0 : auditLogs.pagination,
children: [
(0, import_jsx_runtime3.jsx)(Pagination.PageSize, {}),
(0, import_jsx_runtime3.jsx)(Pagination.Links, {})
]
})
]
}),
(query == null ? void 0 : query.id) && (0, import_jsx_runtime3.jsx)(Modal2, {
handleClose: () => setQuery({
id: ""
}, "remove"),
logId: query.id.toString()
})
]
});
};
var ProtectedListPage = () => {
const permissions = useTypedSelector((state) => {
var _a, _b;
return (_b = (_a = state.admin_app.permissions.settings) == null ? void 0 : _a.auditLogs) == null ? void 0 : _b.main;
});
return (0, import_jsx_runtime3.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime3.jsx)(ListPage, {})
});
};
export {
ListPage,
ProtectedListPage
};
//# sourceMappingURL=ListPage-3BTJAZQ6.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/services/auditLogs.ts", "../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.ts", "../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.ts", "../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.tsx", "../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.ts", "../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.tsx", "../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts", "../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],
"sourcesContent": ["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n", "import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nexport const useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value: string) => {\n const date = parseISO(value);\n\n const formattedDate = formatDate(date, {\n dateStyle: 'long',\n });\n const formattedTime = formatDate(date, {\n timeStyle: 'medium',\n hourCycle: 'h24',\n });\n\n return `${formattedDate}, ${formattedTime}`;\n };\n\n return formatTimeStamp;\n};\n", "export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n};\n\nexport const getDefaultMessage = (value: keyof typeof actionTypes) => {\n return actionTypes[value] || value;\n};\n", "import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n JSONInput,\n Loader,\n Modal as DSModal,\n Typography,\n Breadcrumbs,\n Crumb,\n Field,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { AuditLog } from '../../../../../../../../shared/contracts/audit-logs';\nimport { useGetAuditLogQuery } from '../../../../../services/auditLogs';\nimport { useFormatTimeStamp } from '../hooks/useFormatTimeStamp';\nimport { actionTypes, getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\ninterface ModalProps {\n handleClose: () => void;\n logId: string;\n}\n\nexport const Modal = ({ handleClose, logId }: ModalProps) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data, error, isLoading } = useGetAuditLogQuery(logId);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n handleClose();\n }\n }, [error, formatAPIError, handleClose, toggleNotification]);\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data && 'date' in data ? formatTimeStamp(data.date) : '';\n\n return (\n <DSModal.Root defaultOpen onOpenChange={handleClose}>\n <DSModal.Content>\n <DSModal.Header>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={formattedDate} id=\"title\">\n <Crumb isCurrent>{formattedDate}</Crumb>\n </Breadcrumbs>\n </DSModal.Header>\n <DSModal.Body>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </DSModal.Body>\n </DSModal.Content>\n </DSModal.Root>\n );\n};\n\ninterface ActionBodyProps {\n isLoadiLine truncated
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,mBAAmBC,SAASC,gBAAgB;EAChDC,WAAW,CAACC,aAAa;IACvBC,cAAcD,QAAQE,MAAoE;MACxFA,OAAO,CAACC,YAAY;QAClBC,KAAK;QACLC,QAAQ;UACNF;QACF;;IAEJ,CAAA;IACAG,aAAaN,QAAQE,MAA0D;MAC7EA,OAAO,CAACK,OAAO,qBAAqBA,EAAAA;IACtC,CAAA;;EAEFC,kBAAkB;AACpB,CAAA;AAEA,IAAM,EAAEC,sBAAsBC,oBAAmB,IAAKd;;;ICjBzCe,qBAAqB,MAAA;AAChC,QAAM,EAAEC,WAAU,IAAKC,QAAAA;AAEvB,QAAMC,kBAAkB,CAACC,UAAAA;AACvB,UAAMC,OAAOC,SAASF,KAAAA;AAEtB,UAAMG,gBAAgBN,WAAWI,MAAM;MACrCG,WAAW;IACb,CAAA;AACA,UAAMC,gBAAgBR,WAAWI,MAAM;MACrCK,WAAW;MACXC,WAAW;IACb,CAAA;AAEA,WAAO,GAAGJ,aAAAA,KAAkBE,aAAAA;EAC9B;AAEA,SAAON;AACT;;;ICrBaS,cAAc;EACzB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;EACjB,mBAAmB;EACnB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,eAAe;EACf,eAAe;EACf,eAAe;EACf,sBAAsB;EACtB,gBAAgB;EAChB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,eAAe;EACf,eAAe;EACf,eAAe;EACf,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;AACvB;AAEO,IAAMC,oBAAoB,CAACC,UAAAA;AAChC,SAAOF,YAAYE,KAAAA,KAAUA;AAC/B;;;ICJaC,SAAQ,CAAC,EAAEC,aAAaC,MAAK,MAAc;AACtD,QAAM,EAAEC,mBAAkB,IAAKC,gBAAAA;AAC/B,QAAM,EAAEC,yBAAyBC,eAAc,IAAKC,mBAAAA;AAEpD,QAAM,EAAEC,MAAMC,OAAOC,UAAS,IAAKC,oBAAoBT,KAAAA;AAEvDU,EAAMC,gBAAU,MAAA;AACd,QAAIJ,OAAO;AACTN,yBAAmB;QACjBW,MAAM;QACNC,SAAST,eAAeG,KAAAA;MAC1B,CAAA;AACAR,kBAAAA;IACF;KACC;IAACQ;IAAOH;IAAgBL;IAAaE;EAAmB,CAAA;AAE3D,QAAMa,kBAAkBC,mBAAAA;AACxB,QAAMC,gBAAgBV,QAAQ,UAAUA,OAAOQ,gBAAgBR,KAAKW,IAAI,IAAI;AAE5E,aACEC,wBAACC,MAAQC,MAAI;IAACC,aAAW;IAACC,cAAcvB;kBACtCwB,yBAACJ,MAAQK,SAAO;;YACdN,wBAACC,MAAQM,QAAM;UAIb,cAAAP,wBAACQ,aAAAA;YAAYC,OAAOX;YAAeY,IAAG;YACpC,cAAAV,wBAACW,OAAAA;cAAMC,WAAS;cAAEd,UAAAA;;;;YAGtBE,wBAACC,MAAQY,MAAI;UACX,cAAAb,wBAACc,YAAAA;YAAWxB;YAAsBF;YAAwBU;;;;;;AAKpE;AAQA,IAAMgB,aAAa,CAAC,EAAExB,WAAWF,MAAMU,cAAa,MAAmB;AACrE,QAAM,EAAEiB,cAAa,IAAKC,QAAAA;AAE1B,MAAI1B,WAAW;AACb,eACEU,wBAACiB,MAAAA;MAAKC,SAAS;MAAGC,gBAAe;MAASC,YAAW;MAInD,cAAApB,wBAACqB,QAAAA;QAAO,UAAA;;;EAGd;AAEA,QAAM,EAAEC,QAAQC,MAAMC,QAAO,IAAKpC;AAElC,aACEiB,yBAAAoB,6BAAA;;UACEzB,wBAAC0B,KAAAA;QAAIC,cAAc;QACjB,cAAA3B,wBAAC4B,YAAAA;UAAWC,SAAQ;UAAQnB,IAAG;oBAC5BK,cAAc;YACbL,IAAI;YACJoB,gBAAgB;UAClB,CAAA;;;UAGJzB,yBAAC0B,KAAK7B,MAAI;QACR8B,KAAK;QACLC,UAAU;QACVC,YAAY;QACZC,eAAe;QACfC,aAAa;QACbC,cAAc;QACdV,cAAc;QACdW,YAAW;QACXC,WAAS;;cAETvC,wBAACwC,YAAAA;YACCC,aAAa1B,cAAc;cACzBL,IAAI;cACJoB,gBAAgB;YAClB,CAAA;YACAY,YAAY3B;cACV;gBACEL,IAAI,kCAAkCY,MAAAA;gBACtCQ,gBAAgBa,kBAAkBrB,MAAAA;cACpC;;cAEA;gBAAEsB,OAAOpB,mCAASoB;cAAM;YAAA;;cAG5B5C,wBAACwC,YAAAA;YACCC,aAAa1B,cAAc;cACzBL,IAAI;cACJoB,gBAAgB;YAClB,CAAA;YACAY,YAAY5C;;cAEdE,wBAACwC,YAAAA;YACCC,aAAa1B,cAAc;cACzBL,IAAI;cACJoB,gBAAgB;YAClB,CAAA;YACAY,aAAYnB,6BAAMsB,gBAAe;;cAEnC7C,wBAACwC,YAAAA;YACCC,aAAa1B,cAAc;cACzBL,IAAI;cACJoB,gBAAgB;YAClB,CAAA;YACAY,aAAYnB,6BAAMb,GAAGoC,eAAc;;;;UAGvCzC,yBAAC0C,MAAM7C,MAAI;;cACTF,wBAAC+C,MAAMC,OAAK;sBACTjC,cAAc;cACbL,IAAI;cACJoB,gBAAgB;YAClB,CAAA;;cAEF9B,wBAACiD,SAAAA;YAAQC,OAAOC,KAAKC,UAAU5B,SAAS,MAAM,CAAA;YAAI6B,UAAQ;;;;;;AAIlE;AAEA,IAAMJ,UAAUK,GAAOC,SAAAA;;;;AAUvB,IAAMf,aAAa,CAAC,EAAEC,aAAaC,WAAU,MAAmB;AAC9D,aACErC,yBAACY,MAAAA;IAAKuC,WAAU;IAASpC,YAAW;IAAWY,KAAK;;UAClDhC,wBAAC4B,YAAAA;QAAW6B,WAAU;QAAa5B,SAAQ;QACxCY,UAAAA;;UAEHzC,wBAAC4B,YAAAA;QAAW6B,WAAU;QAAcf,UAAAA;;;;AAG1C;;;;IC1KagB,mBAAmB,CAAC,EAC/BC,kBACAC,aAAY,MAIb;AACC,QAAM,EAAEC,mBAAkB,IAAKC,gBAAAA;AAC/B,QAAM,EAAEC,yBAAyBC,eAAc,IAAKC,mBAAAA;AACpD,QAAM,CAAC,EAAEC,MAAK,CAAE,IAAIC,eAAAA;AAEpB,QAAM,EACJC,MACAC,OACAC,SAASC,cACTC,WAAWC,eAAc,IACvBC,cACF,CAAA,GACA;IACEC,MAAM,CAACf;IACPgB,2BAA2B;EAC7B,CAAA;AAGFC,EAAMC,iBAAU,MAAA;AACd,QAAIT,OAAO;AACTR,yBAAmB;QAAEkB,MAAM;QAAUC,SAAShB,eAAeK,KAAAA;MAAO,CAAA;IACtE;KACC;IAACA;IAAOR;IAAoBG;EAAe,CAAA;AAE9C,QAAM,EACJI,MAAMa,WACNT,WAAWU,oBACXZ,SAASa,kBACTd,OAAOe,eAAc,IACnBC,qBAAqBnB,OAAO;IAC9BU,2BAA2B;IAC3BD,MAAM,CAAChB;EACT,CAAA;AAEAkB,EAAMC,iBAAU,MAAA;AACd,QAAIM,gBAAgB;AAClBvB,yBAAmB;QAAEkB,MAAM;QAAUC,SAAShB,eAAeoB,cAAAA;MAAgB,CAAA;IAC/E;KACC;IAACA;IAAgBvB;IAAoBG;EAAe,CAAA;AAEvD,SAAO;IACLiB;IACAK,QAAOlB,6BAAMkB,UAAS,CAAA;IACtBd,WAAWC,kBAAkBS;IAC7BK,UAAUJ,oBAAoBZ;EAChC;AACF;;;;ACtDO,IAAMiB,iBAAiB,CAACC,UAAAA;;AAC7B,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAMC,QAAQC,SAASJ,MAAMK,IAAI;AACjC,QAAMC,YAAYL,cAAc;IAC9BM,IAAI;IACJC,gBAAgB;EAClB,CAAA;AAEA,QAAMC,eAAe,CAACC,UAAAA;AACpBP,UAAMQ,SAASX,MAAMK,MAAMK,KAAAA;EAC7B;AAEA,aACEE,yBAACC,UAAAA;IAASC,cAAYR;IAAWI,OAAOP,MAAMO;IAAOC,UAAUF;eAC5DT,WAAMe,YAANf,mBAAegB,IAAI,CAACC,QAAAA;AACnB,YAAMP,QAAQ,OAAOO,QAAQ,WAAWA,MAAMA,IAAIP;AAClD,YAAMQ,QAAQ,OAAOD,QAAQ,WAAWA,MAAMA,IAAIC;AAClD,iBACEN,yBAACO,QAAAA;QAA2BT;QACzBQ,UAAAA;MADkBR,GAAAA,KAAAA;IAIzB;;AAGN;;;ACtBO,IAAMU,sBAAsB,CAAC,EAClCC,eACAC,OACAC,aAAY,MAKb;AACC,QAAMC,YAAY;IAChB;MACEC,OAAOJ,cAAc;QACnBK,IAAI;QACJC,gBAAgB;MAClB,CAAA;MACAC,OAAO;IACT;IACA;MACEH,OAAOJ,cAAc;QACnBK,IAAI;QACJC,gBAAgB;MAClB,CAAA;MACAC,OAAO;IACT;EACD;AAED,QAAMC,UAAU;IACd;MACEC,OAAOC;MACPN,OAAOJ,cAAc;QACnBK,IAAI;QACJC,gBAAgB;MAClB,CAAA;MACAK,MAAM;MACNR;MACAS,SAAUC,OAAOC,KAAKC,WAAAA,EAA8CC,IAAI,CAACC,YAAYLine truncated
"names": ["auditLogsService", "adminApi", "injectEndpoints", "endpoints", "builder", "getAuditLogs", "query", "params", "url", "config", "getAuditLog", "id", "overrideExisting", "useGetAuditLogsQuery", "useGetAuditLogQuery", "useFormatTimeStamp", "formatDate", "useIntl", "formatTimeStamp", "value", "date", "parseISO", "formattedDate", "dateStyle", "formattedTime", "timeStyle", "hourCycle", "actionTypes", "getDefaultMessage", "value", "Modal", "handleClose", "logId", "toggleNotification", "useNotification", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "data", "error", "isLoading", "useGetAuditLogQuery", "React", "useEffect", "type", "message", "formatTimeStamp", "useFormatTimeStamp", "formattedDate", "date", "_jsx", "DSModal", "Root", "defaultOpen", "onOpenChange", "_jsxs", "Content", "Header", "Breadcrumbs", "label", "id", "Crumb", "isCurrent", "Body", "ActionBody", "formatMessage", "useIntl", "Flex", "padding", "justifyContent", "alignItems", "Loader", "action", "user", "payload", "_Fragment", "Box", "marginBottom", "Typography", "variant", "defaultMessage", "Grid", "gap", "gridCols", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", "background", "hasRadius", "ActionItem", "actionLabel", "actionName", "getDefaultMessage", "model", "displayName", "toString", "Field", "Label", "Payload", "value", "JSON", "stringify", "disabled", "styled", "JSONInput", "direction", "textColor", "useAuditLogsData", "canReadAuditLogs", "canReadUsers", "toggleNotification", "useNotification", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "query", "useQueryParams", "data", "error", "isError", "isUsersError", "isLoading", "isLoadingUsers", "useAdminUsers", "skip", "refetchOnMountOrArgChange", "React", "useEffect", "type", "message", "auditLogs", "isLoadingAuditLogs", "isAuditLogsError", "auditLogsError", "useGetAuditLogsQuery", "users", "hasError", "ComboboxFilter", "props", "formatMessage", "useIntl", "field", "useField", "name", "ariaLabel", "id", "defaultMessage", "handleChange", "value", "onChange", "_jsx", "Combobox", "aria-label", "options", "map", "opt", "label", "ComboboxOption", "getDisplayedFilters", "formatMessage", "users", "canReadUsers", "operators", "label", "id", "defaultMessage", "value", "filters", "input", "ComboboxFilter", "name", "options", "Object", "keys", "actionTypes", "map", "action", "getDefaultMessage", "model", "undefined", "type", "mainField", "user", "getDisplayName", "toString", "ListPage", "formatMessage", "useIntl", "permissions", "useTypedSelector", "state", "admin_app", "settings", "allowedActions", "canRead", "canReadAuditLogs", "canReadUsers", "isLoading", "isLoadingRBAC", "useRBAC", "auditLogs", "readUsers", "users", "read", "query", "setQuery", "useQueryParams", "isLoadingData", "hasError", "useAuditLogsData", "formatTimeStamp", "useFormatTimeStamp", "displayedFilters", "getDisplayedFilters", "headers", "name", "label", "id", "defaultMessage", "sortable", "cellFormatter", "user", "displayName", "_jsx", "Page", "Error", "results", "_jsxs", "Main", "aria-busy", "Title", "Layouts", "Header", "title", "subtitle", "Action", "startActions", "Filters", "Root", "options", "Trigger", "Popover", "List", "Content", "Table", "rows", "Head", "map", "header", "HeaderCell", "Empty", "Loading", "Body", "log", "Row", "onClick", "Cell", "Typography", "textColor", "action", "getDefaultMessage", "model", "payload", "date", "e", "stopPropagation", "Flex", "justifyContent", "IconButton", "withTooltip", "target", "variant", "Eye", "Pagination", "pagination", "PageSize", "Links", "Modal", "handleClose", "logId", "toString", "ProtectedListPage", "main", "Protect"]
}
+66
View File
@@ -0,0 +1,66 @@
import {
useLicenseLimitNotification
} from "./chunk-XCWGBHZU.js";
import "./chunk-AOLNGJZC.js";
import {
ListPageCE
} from "./chunk-PZDMARGJ.js";
import "./chunk-XCWIZEDM.js";
import "./chunk-RQXXWIIX.js";
import "./chunk-FURFN7BE.js";
import "./chunk-G2UWKDMB.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-PVNXTKO6.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/ListPage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var UserListPageEE = () => {
useLicenseLimitNotification();
return (0, import_jsx_runtime.jsx)(ListPageCE, {});
};
export {
UserListPageEE
};
//# sourceMappingURL=ListPage-EZLP6KWA.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/Users/ListPage.tsx"],
"sourcesContent": ["import { ListPageCE } from '../../../../../../../admin/src/pages/Settings/pages/Users/ListPage';\nimport { useLicenseLimitNotification } from '../../../../hooks/useLicenseLimitNotification';\n\nexport const UserListPageEE = () => {\n useLicenseLimitNotification();\n\n return <ListPageCE />;\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGaA,iBAAiB,MAAA;AAC5BC,8BAAAA;AAEA,aAAOC,wBAACC,YAAAA,CAAAA,CAAAA;AACV;",
"names": ["UserListPageEE", "useLicenseLimitNotification", "_jsx", "ListPageCE"]
}
+491
View File
@@ -0,0 +1,491 @@
import {
useWebhooks
} from "./chunk-CI2U7W4K.js";
import {
ConfirmDialog
} from "./chunk-NP53ZCXD.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
ForwardRef$J,
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Button,
CheckboxImpl,
Dialog,
EmptyStateLayout,
Flex,
IconButton,
LinkButton,
SwitchImpl,
TFooter,
Table,
Tbody,
Td,
Th,
Thead,
Tr,
Typography,
VisuallyHidden,
useIntl,
useNotifyAT
} from "./chunk-7XB6XSWQ.js";
import {
NavLink,
useNavigate
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$1h,
ForwardRef$1v,
ForwardRef$j
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var ListPage = () => {
const [showModal, setShowModal] = React.useState(false);
const [webhooksToDelete, setWebhooksToDelete] = React.useState([]);
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a.webhooks;
});
const { formatMessage } = useIntl();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
const { toggleNotification } = useNotification();
const navigate = useNavigate();
const { isLoading: isRBACLoading, allowedActions: { canCreate, canUpdate, canDelete } } = useRBAC(permissions);
const { notifyStatus } = useNotifyAT();
const { isLoading: isWebhooksLoading, webhooks, error: webhooksError, updateWebhook, deleteManyWebhooks } = useWebhooks();
React.useEffect(() => {
if (webhooksError) {
toggleNotification({
type: "danger",
message: formatAPIError(webhooksError)
});
return;
}
if (webhooks) {
notifyStatus(formatMessage({
id: "Settings.webhooks.list.loading.success",
defaultMessage: "Webhooks have been loaded"
}));
}
}, [
webhooks,
webhooksError,
toggleNotification,
formatMessage,
notifyStatus,
formatAPIError
]);
const enableWebhook = async (body) => {
try {
const res = await updateWebhook(body);
if ("error" in res) {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
}
} catch {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
}
};
const deleteWebhook = async (id) => {
try {
const res = await deleteManyWebhooks({
ids: [
id
]
});
if ("error" in res) {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
return;
}
setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));
} catch {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
}
};
const confirmBulkDelete = async () => {
try {
const res = await deleteManyWebhooks({
ids: webhooksToDelete
});
if ("error" in res) {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
return;
}
setWebhooksToDelete([]);
} catch {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
} finally {
setShowModal(false);
}
};
const selectAllCheckbox = (selected) => selected ? setWebhooksToDelete((webhooks == null ? void 0 : webhooks.map((webhook) => webhook.id)) ?? []) : setWebhooksToDelete([]);
const selectOneCheckbox = (selected, id) => selected ? setWebhooksToDelete((prev) => [
...prev,
id
]) : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));
const isLoading = isRBACLoading || isWebhooksLoading;
const numberOfWebhooks = (webhooks == null ? void 0 : webhooks.length) ?? 0;
const webhooksToDeleteLength = webhooksToDelete.length;
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime.jsxs)(Layouts.Root, {
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: "Webhooks"
})
}),
(0, import_jsx_runtime.jsxs)(Page.Main, {
"aria-busy": isLoading,
children: [
(0, import_jsx_runtime.jsx)(Layouts.Header, {
title: formatMessage({
id: "Settings.webhooks.title",
defaultMessage: "Webhooks"
}),
subtitle: formatMessage({
id: "Settings.webhooks.list.description",
defaultMessage: "Get POST changes notifications"
}),
primaryAction: canCreate && !isLoading && (0, import_jsx_runtime.jsx)(LinkButton, {
tag: NavLink,
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {}),
variant: "default",
to: "create",
size: "S",
children: formatMessage({
id: "Settings.webhooks.list.button.add",
defaultMessage: "Create new webhook"
})
})
}),
webhooksToDeleteLength > 0 && canDelete && (0, import_jsx_runtime.jsx)(Layouts.Action, {
startActions: (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Typography, {
variant: "epsilon",
textColor: "neutral600",
children: formatMessage({
id: "Settings.webhooks.to.delete",
defaultMessage: "{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected"
}, {
webhooksToDeleteLength
})
}),
(0, import_jsx_runtime.jsx)(Button, {
onClick: () => setShowModal(true),
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$j, {}),
size: "L",
variant: "danger-light",
children: formatMessage({
id: "global.delete",
defaultMessage: "Delete"
})
})
]
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Content, {
children: numberOfWebhooks > 0 ? (0, import_jsx_runtime.jsxs)(Table, {
colCount: 5,
rowCount: numberOfWebhooks + 1,
footer: (0, import_jsx_runtime.jsx)(TFooter, {
onClick: () => {
if (canCreate) {
navigate("create");
}
},
icon: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {}),
children: formatMessage({
id: "Settings.webhooks.list.button.add",
defaultMessage: "Create new webhook"
})
}),
children: [
(0, import_jsx_runtime.jsx)(Thead, {
children: (0, import_jsx_runtime.jsxs)(Tr, {
children: [
(0, import_jsx_runtime.jsx)(Th, {
children: (0, import_jsx_runtime.jsx)(CheckboxImpl, {
"aria-label": formatMessage({
id: "global.select-all-entries",
defaultMessage: "Select all entries"
}),
checked: webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks ? "indeterminate" : webhooksToDeleteLength === numberOfWebhooks,
onCheckedChange: selectAllCheckbox
})
}),
(0, import_jsx_runtime.jsx)(Th, {
width: "20%",
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "global.name",
defaultMessage: "Name"
})
})
}),
(0, import_jsx_runtime.jsx)(Th, {
width: "60%",
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "Settings.webhooks.form.url",
defaultMessage: "URL"
})
})
}),
(0, import_jsx_runtime.jsx)(Th, {
width: "20%",
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "Settings.webhooks.list.th.status",
defaultMessage: "Status"
})
})
}),
(0, import_jsx_runtime.jsx)(Th, {
children: (0, import_jsx_runtime.jsx)(VisuallyHidden, {
children: formatMessage({
id: "Settings.webhooks.list.th.actions",
defaultMessage: "Actions"
})
})
})
]
})
}),
(0, import_jsx_runtime.jsx)(Tbody, {
children: webhooks == null ? void 0 : webhooks.map((webhook) => (0, import_jsx_runtime.jsxs)(Tr, {
onClick: () => {
if (canUpdate) {
navigate(webhook.id);
}
},
style: {
cursor: canUpdate ? "pointer" : "default"
},
children: [
(0, import_jsx_runtime.jsx)(Td, {
onClick: (e) => e.stopPropagation(),
children: (0, import_jsx_runtime.jsx)(CheckboxImpl, {
"aria-label": `${formatMessage({
id: "global.select",
defaultMessage: "Select"
})} ${webhook.name}`,
checked: webhooksToDelete == null ? void 0 : webhooksToDelete.includes(webhook.id),
onCheckedChange: (selected) => selectOneCheckbox(!!selected, webhook.id),
name: "select"
})
}),
(0, import_jsx_runtime.jsx)(Td, {
children: (0, import_jsx_runtime.jsx)(Typography, {
fontWeight: "semiBold",
textColor: "neutral800",
children: webhook.name
})
}),
(0, import_jsx_runtime.jsx)(Td, {
children: (0, import_jsx_runtime.jsx)(Typography, {
textColor: "neutral800",
children: webhook.url
})
}),
(0, import_jsx_runtime.jsx)(Td, {
onClick: (e) => e.stopPropagation(),
children: (0, import_jsx_runtime.jsx)(Flex, {
children: (0, import_jsx_runtime.jsx)(SwitchImpl, {
onLabel: formatMessage({
id: "global.enabled",
defaultMessage: "Enabled"
}),
offLabel: formatMessage({
id: "global.disabled",
defaultMessage: "Disabled"
}),
"aria-label": `${webhook.name} ${formatMessage({
id: "Settings.webhooks.list.th.status",
defaultMessage: "Status"
})}`,
checked: webhook.isEnabled,
onCheckedChange: (enabled) => {
enableWebhook({
...webhook,
isEnabled: enabled
});
},
visibleLabels: true
})
})
}),
(0, import_jsx_runtime.jsx)(Td, {
children: (0, import_jsx_runtime.jsxs)(Flex, {
gap: 1,
children: [
canUpdate && (0, import_jsx_runtime.jsx)(IconButton, {
label: formatMessage({
id: "Settings.webhooks.events.update",
defaultMessage: "Update"
}),
variant: "ghost",
children: (0, import_jsx_runtime.jsx)(ForwardRef$1v, {})
}),
canDelete && (0, import_jsx_runtime.jsx)(DeleteActionButton, {
onDelete: () => {
deleteWebhook(webhook.id);
}
})
]
})
})
]
}, webhook.id))
})
]
}) : (0, import_jsx_runtime.jsx)(EmptyStateLayout, {
icon: (0, import_jsx_runtime.jsx)(ForwardRef$J, {
width: "160px"
}),
content: formatMessage({
id: "Settings.webhooks.list.empty.description",
defaultMessage: "No webhooks found"
}),
action: canCreate ? (0, import_jsx_runtime.jsx)(LinkButton, {
variant: "secondary",
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {}),
tag: NavLink,
to: "create",
children: formatMessage({
id: "Settings.webhooks.list.button.add",
defaultMessage: "Create new webhook"
})
}) : null
})
})
]
}),
(0, import_jsx_runtime.jsx)(Dialog.Root, {
open: showModal,
onOpenChange: setShowModal,
children: (0, import_jsx_runtime.jsx)(ConfirmDialog, {
onConfirm: confirmBulkDelete
})
})
]
});
};
var DeleteActionButton = ({ onDelete }) => {
const [showModal, setShowModal] = React.useState(false);
const { formatMessage } = useIntl();
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(IconButton, {
onClick: (e) => {
e.stopPropagation();
setShowModal(true);
},
label: formatMessage({
id: "Settings.webhooks.events.delete",
defaultMessage: "Delete webhook"
}),
variant: "ghost",
children: (0, import_jsx_runtime.jsx)(ForwardRef$j, {})
}),
(0, import_jsx_runtime.jsx)(Dialog.Root, {
open: showModal,
onOpenChange: setShowModal,
children: (0, import_jsx_runtime.jsx)(ConfirmDialog, {
onConfirm: (e) => {
e == null ? void 0 : e.stopPropagation();
onDelete();
}
})
})
]
});
};
var ProtectedListPage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a.webhooks.main;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(ListPage, {})
});
};
export {
ListPage,
ProtectedListPage
};
//# sourceMappingURL=ListPage-GAB5NR55.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport {\n useNotifyAT,\n Checkbox,\n Button,\n EmptyStateLayout,\n Flex,\n IconButton,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n LinkButton,\n Dialog,\n} from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport { UpdateWebhook } from '../../../../../../shared/contracts/webhooks';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const deleteWebhook = async (id: string) => {\n try {\n const res = await deleteManyWebhooks({\n ids: [id],\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmBulkDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;Line truncated
"mappings": "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 truncated
"names": ["ListPage", "showModal", "setShowModal", "useState", "webhooksToDelete", "setWebhooksToDelete", "permissions", "useTypedSelector", "state", "admin_app", "settings", "webhooks", "formatMessage", "useIntl", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "toggleNotification", "useNotification", "navigate", "useNavigate", "isLoading", "isRBACLoading", "allowedActions", "canCreate", "canUpdate", "canDelete", "useRBAC", "notifyStatus", "useNotifyAT", "isWebhooksLoading", "error", "webhooksError", "updateWebhook", "deleteManyWebhooks", "useWebhooks", "React", "useEffect", "type", "message", "id", "defaultMessage", "enableWebhook", "body", "res", "deleteWebhook", "ids", "prev", "filter", "webhookId", "confirmBulkDelete", "selectAllCheckbox", "selected", "map", "webhook", "selectOneCheckbox", "numberOfWebhooks", "length", "webhooksToDeleteLength", "_jsx", "Page", "Loading", "_jsxs", "Layouts", "Root", "Title", "name", "Main", "aria-busy", "Header", "title", "subtitle", "primaryAction", "LinkButton", "tag", "NavLink", "startIcon", "Plus", "variant", "to", "size", "Action", "startActions", "_Fragment", "Typography", "textColor", "Button", "onClick", "Trash", "Content", "Table", "colCount", "rowCount", "footer", "TFooter", "icon", "Thead", "Tr", "Th", "Checkbox", "aria-label", "checked", "onCheckedChange", "width", "VisuallyHidden", "Tbody", "style", "cursor", "Td", "e", "stopPropagation", "includes", "fontWeight", "url", "Flex", "Switch", "onLabel", "offLabel", "isEnabled", "enabled", "visibleLabels", "gap", "IconButton", "label", "Pencil", "DeleteActionButton", "onDelete", "EmptyStateLayout", "EmptyDocuments", "content", "action", "Dialog", "open", "onOpenChange", "ConfirmDialog", "onConfirm", "ProtectedListPage", "main", "Protect"]
}
File diff suppressed because it is too large. Load diff
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-type-builder/admin/src/components/BoxWrapper.tsx", "../../../@strapi/content-type-builder/admin/src/components/Tr.tsx", "../../../@strapi/content-type-builder/admin/src/components/ComponentList.tsx", "../../../@strapi/content-type-builder/admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx", "../../../@strapi/content-type-builder/admin/src/components/ComponentCard/ComponentCard.tsx", "../../../@strapi/content-type-builder/admin/src/components/DynamicZoneList.tsx", "../../../@strapi/content-type-builder/admin/src/components/NestedFooter.tsx", "../../../@strapi/content-type-builder/admin/src/components/List.tsx", "../../../@strapi/content-type-builder/admin/src/icons/Curve.tsx", "../../../@strapi/content-type-builder/admin/src/components/DisplayedType.tsx", "../../../@strapi/content-type-builder/admin/src/components/UpperFirst.tsx", "../../../@strapi/content-type-builder/admin/src/components/ListRow.tsx", "../../../@strapi/content-type-builder/admin/src/utils/getAttributeDisplayedType.ts", "../../../@strapi/content-type-builder/admin/src/pages/ListView/LinkToCMSettingsView.tsx", "../../../@strapi/content-type-builder/admin/src/pages/ListView/ListView.tsx"],
"sourcesContent": ["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const BoxWrapper = styled(Box)`\n table {\n width: 100%;\n white-space: nowrap;\n }\n\n thead {\n border-bottom: 1px solid ${({ theme }) => theme.colors.neutral150};\n\n tr {\n border-top: 0;\n }\n }\n\n tr {\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n\n & td,\n & th {\n padding: ${({ theme }) => theme.spaces[4]};\n }\n\n & td:first-of-type,\n & th:first-of-type {\n padding: 0 ${({ theme }) => theme.spaces[1]};\n }\n }\n\n th,\n td {\n vertical-align: middle;\n text-align: left;\n color: ${({ theme }) => theme.colors.neutral600};\n outline-offset: -4px;\n }\n`;\n", "import { styled } from 'styled-components';\n\n// Keep component-row for css specificity\nexport const Tr = styled.tr<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n border-top: none !important;\n\n table tr:first-child {\n border-top: none;\n }\n\n > td:first-of-type {\n padding: 0 0 0 2rem;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: calc(100% - 40px);\n position: absolute;\n top: -7px;\n left: 2.6rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > td:first-of-type {\n padding: 0;\n }\n`;\n", "import get from 'lodash/get';\n\nimport { useDataManager } from '../hooks/useDataManager';\n\nimport { List } from './List';\nimport { Tr } from './Tr';\n\nimport type { Internal } from '@strapi/types';\n\ninterface ComponentListProps {\n component: Internal.UID.Component;\n customRowComponent: any;\n firstLoopComponentUid?: string;\n isFromDynamicZone?: boolean;\n isNestedInDZComponent?: boolean;\n}\n\nexport const ComponentList = ({\n customRowComponent,\n component,\n isFromDynamicZone = false,\n isNestedInDZComponent = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { modifiedData } = useDataManager();\n const {\n schema: { attributes },\n } = get(modifiedData, ['components', component], {\n schema: { attributes: [] },\n });\n\n return (\n <Tr $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <td colSpan={12}>\n <List\n customRowComponent={customRowComponent}\n items={attributes}\n targetUid={component}\n firstLoopComponentUid={firstLoopComponentUid || component}\n editTarget=\"components\"\n isFromDynamicZone={isFromDynamicZone}\n isNestedInDZComponent={isNestedInDZComponent}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </td>\n </Tr>\n );\n};\n", "import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n", "import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../../hooks/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.actiLine truncated
"mappings": "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 truncated
"names": ["BoxWrapper", "styled", "Box", "theme", "colors", "neutral150", "spaces", "neutral600", "Tr", "styled", "tr", "$isFromDynamicZone", "$isChildOfDynamicZone", "theme", "colors", "primary200", "neutral150", "ComponentList", "customRowComponent", "component", "isFromDynamicZone", "isNestedInDZComponent", "firstLoopComponentUid", "modifiedData", "useDataManager", "schema", "attributes", "get", "_jsx", "Tr", "$isChildOfDynamicZone", "className", "td", "colSpan", "List", "items", "targetUid", "editTarget", "isSub", "secondLoopComponentUid", "ComponentIcon", "isActive", "icon", "Icon", "COMPONENT_ICONS", "dashboard", "_jsx", "Flex", "alignItems", "background", "justifyContent", "height", "width", "borderRadius", "CloseButton", "styled", "Box", "theme", "colors", "primary600", "ComponentBox", "Flex", "neutral200", "neutral100", "borderRadius", "primary200", "primary100", "ComponentCard", "component", "dzName", "index", "isActive", "isInDevelopmentMode", "onClick", "modifiedData", "removeComponentFromDynamicZone", "useDataManager", "schema", "icon", "displayName", "get", "onClose", "e", "stopPropagation", "_jsxs", "alignItems", "direction", "className", "justifyContent", "paddingLeft", "paddingRight", "shrink", "role", "tabIndex", "cursor", "aria-selected", "aria-controls", "id", "_jsx", "ComponentIcon", "marginTop", "maxWidth", "Typography", "variant", "fontWeight", "ellipsis", "tag", "Cross", "StyledAddIcon", "styled", "Plus", "theme", "colors", "primary100", "primary600", "FixedBox", "Box", "ScrollableStack", "Flex", "ComponentContentBox", "ComponentStack", "DynamicZoneList", "customRowComponent", "components", "addComponent", "name", "targetUid", "isInDevelopmentMode", "useDataManager", "activeTab", "setActiveTab", "useState", "formatMessage", "useIntl", "toggle", "tab", "handleClickAdd", "_jsx", "Tr", "className", "$isFromDynamicZone", "_jsxs", "td", "colSpan", "paddingLeft", "gap", "button", "type", "onClick", "direction", "alignItems", "Typography", "variant", "fontWeight", "textColor", "id", "getTrad", "defaultMessage", "role", "map", "component", "index", "ComponentCard", "dzName", "isActive", "props", "aria-labelledby", "style", "display", "table", "tbody", "_createElement", "ComponentList", "isFromDynamicZone", "key", "IconBox", "styled", "Box", "theme", "color", "colors", "ButtonBox", "borderRadius", "NestedTFooter", "children", "icon", "props", "_jsx", "paddingBottom", "paddingTop", "tag", "type", "_jsxs", "Flex", "aria-hidden", "background", "paddingLeft", "Typography", "variant", "fontWeight", "textColor", "List", "addComponentToDZ", "customRowComponent", "editTarget", "firstLoopComponentUid", "isFromDynamicZone", "isMain", "isNestedInDZComponent", "isSub", "items", "secondLoopComponentUid", "targetUid", "formatMessage", "useIntl", "trackUsage", "useTracking", "isInDevelopmentMode", "modifiedData", "isInContentTypeView", "useDataManager", "onOpenModalAddField", "useFormModalNavigation", "onClickAddField", "forTarget", "_jsxs", "Table", "colCount", "rowCount", "_jsx", "Thead", "Tr", "Th", "Typography", "variant", "textColor", "id", "defaultMessage", "Tbody", "Td", "colSpan", "EmptyStateLayout", "content", "getTrad", "hasRadius", "icon", "EmptyDocuments", "width", "length", "action", "Button", "onClick", "size", "startIcon", "Plus", "BoxWrapper", "Box", "paddingLeft", "paddingRight", "style", "overflowX", "table", "thead", "tr", "th", "tbody", "map", "item", "type", "CustomRow", "Fragment", "ComponentList", "DynamicZoneList", "addComponent", "name", "TFooter", "cursor", "contentType", "schema", "kind", "NestedTFooter", "color", "StyledBox", "styled", "Box", "theme", "color", "colors", "Svg", "svg", "Curve", "props", "_jsx", "width", "height", "viewBox", "fill", "xmlns", "path", "fillRule", "clipRule", "d", "DisplayedType", "type", "customField", "repeatable", "formatMessage", "useIntl", "readableType", "includes", "_jsx", "Typography", "id", "getTrad", "defaultMessage", "_jsxs", "textColor", "UpperFirst", "content", "_jsx", "_Fragment", "upperFirst", "BoxWrapper", "styled", "Box", "ListRow", "memo", "configurable", "customField", "editTarget", "firstLoopComponentUid", "isFromDynamicZone", "name", "onClick", "relation", "repeatable", "secondLoopComponentUid", "target", "targetUid", "type", "contentTypes", "isInDevelopmentMode", "removeAttribute", "useDataManager", "formatMessage", "useIntl", "isMorph", "includes", "ico", "contentType", "get", "contentTypeFriendlyName", "isPluginContentType", "src", "handleClick", "attrType", "loopNumber", "_jsxs", "tag", "undefined", "td", "style", "position", "_jsx", "Curve", "color", "Flex", "paddingLeft", "gap", "AttributeIcon", "Typography", "textColor", "fontWeight", "id", "getTrad", "defaultMessage", "span", "fontStyle", "UpperFirst", "content", "DisplayedType", "justifyContent", "e", "stopPropagation", "IconButton", "label", "variant", "Pencil", "Trash", "Lock", "height", "getAttributeDisplayedType", "type", "displayedType", "cmPermissions", "collectioLine truncated
}
+293
View File
@@ -0,0 +1,293 @@
import {
Table
} from "./chunk-XUJ2XFL4.js";
import {
useOnce
} from "./chunk-AF2Z2UHO.js";
import {
useDeleteTransferTokenMutation,
useGetTransferTokensQuery
} from "./chunk-RXTTORSL.js";
import {
TRANSFER_TOKEN_TYPE
} from "./chunk-7GAX2FTH.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-ZM6TT53G.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
ForwardRef$J,
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import {
require_lib
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
EmptyStateLayout,
LinkButton,
useIntl
} from "./chunk-7XB6XSWQ.js";
import {
Link,
useNavigate
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$1h
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var qs = __toESM(require_lib(), 1);
var tableHeaders = [
{
name: "name",
label: {
id: "Settings.tokens.ListView.headers.name",
defaultMessage: "Name"
},
sortable: true
},
{
name: "description",
label: {
id: "Settings.tokens.ListView.headers.description",
defaultMessage: "Description"
},
sortable: false
},
{
name: "createdAt",
label: {
id: "Settings.tokens.ListView.headers.createdAt",
defaultMessage: "Created at"
},
sortable: false
},
{
name: "lastUsedAt",
label: {
id: "Settings.tokens.ListView.headers.lastUsedAt",
defaultMessage: "Last used"
},
sortable: false
}
];
var ListView = () => {
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a["transfer-tokens"];
});
const { isLoading: isLoadingRBAC, allowedActions: { canCreate, canDelete, canUpdate, canRead } } = useRBAC(permissions);
const navigate = useNavigate();
const { trackUsage } = useTracking();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
React.useEffect(() => {
navigate({
search: qs.stringify({
sort: "name:ASC"
}, {
encode: false
})
});
}, [
navigate
]);
useOnce(() => {
trackUsage("willAccessTokenList", {
tokenType: TRANSFER_TOKEN_TYPE
});
});
const headers = tableHeaders.map((header) => ({
...header,
label: formatMessage(header.label)
}));
const { data: transferTokens = [], isLoading: isLoadingTokens, error } = useGetTransferTokensQuery(void 0, {
skip: !canRead
});
React.useEffect(() => {
if (transferTokens) {
trackUsage("didAccessTokenList", {
number: transferTokens.length,
tokenType: TRANSFER_TOKEN_TYPE
});
}
}, [
trackUsage,
transferTokens
]);
React.useEffect(() => {
if (error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
}
}, [
error,
formatAPIError,
toggleNotification
]);
const [deleteToken] = useDeleteTransferTokenMutation();
const handleDelete = async (id) => {
try {
const res = await deleteToken(id);
if ("error" in res) {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
}
} catch {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occured"
})
});
}
};
const isLoading = isLoadingTokens || isLoadingRBAC;
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: "Transfer Tokens"
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Header, {
title: formatMessage({
id: "Settings.transferTokens.title",
defaultMessage: "Transfer Tokens"
}),
subtitle: formatMessage({
id: "Settings.transferTokens.description",
defaultMessage: '"List of generated transfer tokens"'
}),
primaryAction: canCreate ? (0, import_jsx_runtime.jsx)(LinkButton, {
role: "button",
tag: Link,
"data-testid": "create-transfer-token-button",
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {}),
size: "S",
onClick: () => trackUsage("willAddTokenFromList", {
tokenType: TRANSFER_TOKEN_TYPE
}),
to: "/settings/transfer-tokens/create",
children: formatMessage({
id: "Settings.transferTokens.create",
defaultMessage: "Create new Transfer Token"
})
}) : void 0
}),
!canRead ? (0, import_jsx_runtime.jsx)(Page.NoPermissions, {}) : (0, import_jsx_runtime.jsx)(Page.Main, {
"aria-busy": isLoading,
children: (0, import_jsx_runtime.jsxs)(Layouts.Content, {
children: [
transferTokens.length > 0 && (0, import_jsx_runtime.jsx)(Table, {
permissions: {
canRead,
canDelete,
canUpdate
},
headers,
isLoading,
onConfirmDelete: handleDelete,
tokens: transferTokens,
tokenType: TRANSFER_TOKEN_TYPE
}),
canCreate && transferTokens.length === 0 ? (0, import_jsx_runtime.jsx)(EmptyStateLayout, {
action: (0, import_jsx_runtime.jsx)(LinkButton, {
tag: Link,
variant: "secondary",
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {}),
to: "/settings/transfer-tokens/create",
children: formatMessage({
id: "Settings.transferTokens.addNewToken",
defaultMessage: "Add new Transfer Token"
})
}),
icon: (0, import_jsx_runtime.jsx)(ForwardRef$J, {
width: "16rem"
}),
content: formatMessage({
id: "Settings.transferTokens.addFirstToken",
defaultMessage: "Add your first Transfer Token"
})
}) : null,
!canCreate && transferTokens.length === 0 ? (0, import_jsx_runtime.jsx)(EmptyStateLayout, {
icon: (0, import_jsx_runtime.jsx)(ForwardRef$J, {
width: "16rem"
}),
content: formatMessage({
id: "Settings.transferTokens.emptyStateLayout",
defaultMessage: "You don’t have any content yet..."
})
}) : null
]
})
})
]
});
};
var ProtectedListView = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a["transfer-tokens"].main;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(ListView, {})
});
};
export {
ListView,
ProtectedListView
};
//# sourceMappingURL=ListView-PXEHKZSD.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport { EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport * as qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useDeleteTransferTokenMutation,\n useGetTransferTokensQuery,\n} from '../../../../services/transferTokens';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nimport type { Data } from '@strapi/types';\n\nconst tableHeaders = [\n {\n name: 'name',\n label: {\n id: 'Settings.tokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n {\n name: 'description',\n label: {\n id: 'Settings.tokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n {\n name: 'createdAt',\n label: {\n id: 'Settings.tokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n {\n name: 'lastUsedAt',\n label: {\n id: 'Settings.tokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * ListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions);\n const navigate = useNavigate();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n navigate({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [navigate]);\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n });\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n label: formatMessage(header.label),\n }));\n\n const {\n data: transferTokens = [],\n isLoading: isLoadingTokens,\n error,\n } = useGetTransferTokensQuery(undefined, {\n skip: !canRead,\n });\n\n React.useEffect(() => {\n if (transferTokens) {\n trackUsage('didAccessTokenList', {\n number: transferTokens.length,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n }, [trackUsage, transferTokens]);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [deleteToken] = useDeleteTransferTokenMutation();\n\n const handleDelete = async (id: Data.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n };\n\n const isLoading = isLoadingTokens || isLoadingRBAC;\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.transferTokens.title',\n defaultMessage: 'Transfer Tokens',\n })}\n subtitle={formatMessage({\n id: 'Settings.transferTokens.description',\n defaultMessage: '\"List of generated transfer tokens\"', // TODO change this message\n })}\n primaryAction={\n canCreate ? (\n <LinkButton\n role=\"button\"\n tag={Link}\n data-testid=\"create-transfer-token-button\"\n startIcon={<Plus />}\Line truncated
"mappings": "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",
"names": ["tableHeaders", "name", "label", "id", "defaultMessage", "sortable", "ListView", "formatMessage", "useIntl", "toggleNotification", "useNotification", "permissions", "useTypedSelector", "state", "admin_app", "settings", "isLoading", "isLoadingRBAC", "allowedActions", "canCreate", "canDelete", "canUpdate", "canRead", "useRBAC", "navigate", "useNavigate", "trackUsage", "useTracking", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "React", "useEffect", "search", "stringify", "sort", "encode", "useOnce", "tokenType", "TRANSFER_TOKEN_TYPE", "headers", "map", "header", "data", "transferTokens", "isLoadingTokens", "error", "useGetTransferTokensQuery", "undefined", "skip", "number", "length", "type", "message", "deleteToken", "useDeleteTransferTokenMutation", "handleDelete", "res", "_jsxs", "_Fragment", "_jsx", "Page", "Title", "Layouts", "Header", "title", "subtitle", "primaryAction", "LinkButton", "role", "tag", "Link", "data-testid", "startIcon", "Plus", "size", "onClick", "to", "NoPermissions", "Main", "aria-busy", "Content", "Table", "onConfirmDelete", "tokens", "EmptyStateLayout", "action", "variant", "icon", "EmptyDocuments", "width", "content", "ProtectedListView", "main", "Protect"]
}
+300
View File
@@ -0,0 +1,300 @@
import {
useDeleteAPITokenMutation,
useGetAPITokensQuery
} from "./chunk-NC2FHXMX.js";
import {
Table
} from "./chunk-XUJ2XFL4.js";
import {
useOnce
} from "./chunk-AF2Z2UHO.js";
import {
API_TOKEN_TYPE
} from "./chunk-7GAX2FTH.js";
import {
useGuidedTour
} from "./chunk-PFI4R5WA.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-ZM6TT53G.js";
import {
useRBAC
} from "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
ForwardRef$J,
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import {
useTypedSelector
} from "./chunk-QEGMJR7H.js";
import {
require_lib
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
EmptyStateLayout,
LinkButton,
useIntl
} from "./chunk-7XB6XSWQ.js";
import {
Link,
useNavigate
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$1h
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var qs = __toESM(require_lib(), 1);
var TABLE_HEADERS = [
{
name: "name",
label: {
id: "Settings.apiTokens.ListView.headers.name",
defaultMessage: "Name"
},
sortable: true
},
{
name: "description",
label: {
id: "Settings.apiTokens.ListView.headers.description",
defaultMessage: "Description"
},
sortable: false
},
{
name: "createdAt",
label: {
id: "Settings.apiTokens.ListView.headers.createdAt",
defaultMessage: "Created at"
},
sortable: false
},
{
name: "lastUsedAt",
label: {
id: "Settings.apiTokens.ListView.headers.lastUsedAt",
defaultMessage: "Last used"
},
sortable: false
}
];
var ListView = () => {
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a["api-tokens"];
});
const { allowedActions: { canRead, canCreate, canDelete, canUpdate } } = useRBAC(permissions);
const navigate = useNavigate();
const { trackUsage } = useTracking();
const startSection = useGuidedTour("ListView", (state) => state.startSection);
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
React.useEffect(() => {
startSection("apiTokens");
}, [
startSection
]);
React.useEffect(() => {
navigate({
search: qs.stringify({
sort: "name:ASC"
}, {
encode: false
})
});
}, [
navigate
]);
const headers = TABLE_HEADERS.map((header) => ({
...header,
label: formatMessage(header.label)
}));
useOnce(() => {
trackUsage("willAccessTokenList", {
tokenType: API_TOKEN_TYPE
});
});
const { data: apiTokens = [], isLoading, error } = useGetAPITokensQuery();
React.useEffect(() => {
if (error) {
toggleNotification({
type: "danger",
message: formatAPIError(error)
});
}
}, [
error,
formatAPIError,
toggleNotification
]);
React.useEffect(() => {
trackUsage("didAccessTokenList", {
number: apiTokens.length,
tokenType: API_TOKEN_TYPE
});
}, [
apiTokens,
trackUsage
]);
const [deleteToken] = useDeleteAPITokenMutation();
const handleDelete = async (id) => {
try {
const res = await deleteToken(id);
if ("error" in res) {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
return;
}
trackUsage("didDeleteToken");
} catch {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "Something went wrong"
})
});
}
};
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: formatMessage({
id: "Settings.PageTitle",
defaultMessage: "Settings - {name}"
}, {
name: "API Tokens"
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Header, {
title: formatMessage({
id: "Settings.apiTokens.title",
defaultMessage: "API Tokens"
}),
subtitle: formatMessage({
id: "Settings.apiTokens.description",
defaultMessage: "List of generated tokens to consume the API"
}),
primaryAction: canCreate && (0, import_jsx_runtime.jsx)(LinkButton, {
tag: Link,
"data-testid": "create-api-token-button",
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {}),
size: "S",
onClick: () => trackUsage("willAddTokenFromList", {
tokenType: API_TOKEN_TYPE
}),
to: "/settings/api-tokens/create",
children: formatMessage({
id: "Settings.apiTokens.create",
defaultMessage: "Create new API Token"
})
})
}),
!canRead ? (0, import_jsx_runtime.jsx)(Page.NoPermissions, {}) : (0, import_jsx_runtime.jsx)(Page.Main, {
"aria-busy": isLoading,
children: (0, import_jsx_runtime.jsxs)(Layouts.Content, {
children: [
apiTokens.length > 0 && (0, import_jsx_runtime.jsx)(Table, {
permissions: {
canRead,
canDelete,
canUpdate
},
headers,
isLoading,
onConfirmDelete: handleDelete,
tokens: apiTokens,
tokenType: API_TOKEN_TYPE
}),
canCreate && apiTokens.length === 0 ? (0, import_jsx_runtime.jsx)(EmptyStateLayout, {
icon: (0, import_jsx_runtime.jsx)(ForwardRef$J, {
width: "16rem"
}),
content: formatMessage({
id: "Settings.apiTokens.addFirstToken",
defaultMessage: "Add your first API Token"
}),
action: (0, import_jsx_runtime.jsx)(LinkButton, {
tag: Link,
variant: "secondary",
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {}),
to: "/settings/api-tokens/create",
children: formatMessage({
id: "Settings.apiTokens.addNewToken",
defaultMessage: "Add new API Token"
})
})
}) : null,
!canCreate && apiTokens.length === 0 ? (0, import_jsx_runtime.jsx)(EmptyStateLayout, {
icon: (0, import_jsx_runtime.jsx)(ForwardRef$J, {
width: "16rem"
}),
content: formatMessage({
id: "Settings.apiTokens.emptyStateLayout",
defaultMessage: "You don’t have any content yet..."
})
}) : null
]
})
})
]
});
};
var ProtectedListView = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.settings) == null ? void 0 : _a["api-tokens"].main;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(ListView, {})
});
};
export {
ListView,
ProtectedListView
};
//# sourceMappingURL=ListView-RTH3ATTT.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport { EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport * as qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useOnce } from '../../../../hooks/useOnce';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { useDeleteAPITokenMutation, useGetAPITokensQuery } from '../../../../services/apiTokens';\nimport { API_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { Table } from '../../components/Tokens/Table';\n\nimport type { Data } from '@strapi/types';\n\nconst TABLE_HEADERS = [\n {\n name: 'name',\n label: {\n id: 'Settings.apiTokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n {\n name: 'description',\n label: {\n id: 'Settings.apiTokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n {\n name: 'createdAt',\n label: {\n id: 'Settings.apiTokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n {\n name: 'lastUsedAt',\n label: {\n id: 'Settings.apiTokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n];\n\nexport const ListView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens']\n );\n const {\n allowedActions: { canRead, canCreate, canDelete, canUpdate },\n } = useRBAC(permissions);\n const navigate = useNavigate();\n const { trackUsage } = useTracking();\n const startSection = useGuidedTour('ListView', (state) => state.startSection);\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n startSection('apiTokens');\n }, [startSection]);\n\n React.useEffect(() => {\n navigate({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [navigate]);\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n label: formatMessage(header.label),\n }));\n\n useOnce(() => {\n trackUsage('willAccessTokenList', {\n tokenType: API_TOKEN_TYPE,\n });\n });\n\n const { data: apiTokens = [], isLoading, error } = useGetAPITokensQuery();\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n trackUsage('didAccessTokenList', { number: apiTokens.length, tokenType: API_TOKEN_TYPE });\n }, [apiTokens, trackUsage]);\n\n const [deleteToken] = useDeleteAPITokenMutation();\n\n const handleDelete = async (id: Data.ID) => {\n try {\n const res = await deleteToken(id);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n trackUsage('didDeleteToken');\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n };\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n { name: 'API Tokens' }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({ id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' })}\n subtitle={formatMessage({\n id: 'Settings.apiTokens.description',\n defaultMessage: 'List of generated tokens to consume the API',\n })}\n primaryAction={\n canCreate && (\n <LinkButton\n tag={Link}\n data-testid=\"create-api-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n })\n }\n to=\"/settings/api-tokens/create\"\n >\n {formatMessage({\n Line truncated
"mappings": "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",
"names": ["TABLE_HEADERS", "name", "label", "id", "defaultMessage", "sortable", "ListView", "formatMessage", "useIntl", "toggleNotification", "useNotification", "permissions", "useTypedSelector", "state", "admin_app", "settings", "allowedActions", "canRead", "canCreate", "canDelete", "canUpdate", "useRBAC", "navigate", "useNavigate", "trackUsage", "useTracking", "startSection", "useGuidedTour", "_unstableFormatAPIError", "formatAPIError", "useAPIErrorHandler", "React", "useEffect", "search", "stringify", "sort", "encode", "headers", "map", "header", "useOnce", "tokenType", "API_TOKEN_TYPE", "data", "apiTokens", "isLoading", "error", "useGetAPITokensQuery", "type", "message", "number", "length", "deleteToken", "useDeleteAPITokenMutation", "handleDelete", "res", "_jsxs", "_Fragment", "_jsx", "Page", "Title", "Layouts", "Header", "title", "subtitle", "primaryAction", "LinkButton", "tag", "Link", "data-testid", "startIcon", "Plus", "size", "onClick", "to", "NoPermissions", "Main", "aria-busy", "Content", "Table", "onConfirmDelete", "tokens", "EmptyStateLayout", "icon", "EmptyDocuments", "width", "content", "action", "variant", "ProtectedListView", "main", "Protect"]
}
File diff suppressed because it is too large. Load diff
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-manager/admin/src/pages/ListView/components/Filters.tsx", "../../../@strapi/content-manager/admin/src/pages/ListView/components/TableCells/CellValue.tsx", "../../../@strapi/content-manager/admin/src/pages/ListView/components/TableCells/Components.tsx", "../../../@strapi/content-manager/admin/src/pages/ListView/components/TableCells/Media.tsx", "../../../@strapi/content-manager/admin/src/pages/ListView/components/TableCells/Relations.tsx", "../../../@strapi/content-manager/admin/src/pages/ListView/components/TableCells/CellContent.tsx", "../../../@strapi/content-manager/admin/src/pages/ListView/components/ViewSettingsMenu.tsx", "../../../@strapi/content-manager/admin/src/pages/ListView/ListViewPage.tsx"],
"sourcesContent": ["import * as React from 'react';\n\nimport {\n Filters,\n useField,\n useAuth,\n useTracking,\n useQueryParams,\n useAdminUsers,\n} from '@strapi/admin/strapi-admin';\nimport { Combobox, ComboboxOption, useCollator } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { CREATOR_FIELDS } from '../../../constants/attributes';\nimport { useContentTypeSchema } from '../../../hooks/useContentTypeSchema';\nimport { useDebounce } from '../../../hooks/useDebounce';\nimport { Schema } from '../../../hooks/useDocument';\nimport { useGetContentTypeConfigurationQuery } from '../../../services/contentTypes';\nimport { getMainField } from '../../../utils/attributes';\nimport { getDisplayName } from '../../../utils/users';\n\n/**\n * If new attributes are added, this list needs to be updated.\n */\nconst NOT_ALLOWED_FILTERS = [\n 'json',\n 'component',\n 'media',\n 'richtext',\n 'dynamiczone',\n 'password',\n 'blocks',\n];\nconst DEFAULT_ALLOWED_FILTERS = ['createdAt', 'updatedAt'];\nconst USER_FILTER_ATTRIBUTES = [...CREATOR_FIELDS, 'strapi_assignee'];\n\n/* -------------------------------------------------------------------------------------------------\n * Filters\n * -----------------------------------------------------------------------------------------------*/\ninterface FiltersProps {\n disabled?: boolean;\n schema: Schema;\n}\n\nconst FiltersImpl = ({ disabled, schema }: FiltersProps) => {\n const { attributes, uid: model, options } = schema;\n const { formatMessage, locale } = useIntl();\n const { trackUsage } = useTracking();\n const allPermissions = useAuth('FiltersImpl', (state) => state.permissions);\n const [{ query }] = useQueryParams<Filters.Query>();\n const { schemas } = useContentTypeSchema();\n\n const canReadAdminUsers = React.useMemo(\n () =>\n allPermissions.filter(\n (permission) => permission.action === 'admin::users.read' && permission.subject === null\n ).length > 0,\n [allPermissions]\n );\n\n const selectedUserIds = (query?.filters?.$and ?? []).reduce<string[]>((acc, filter) => {\n const [key, value] = Object.entries(filter)[0];\n if (typeof value.id !== 'object') {\n return acc;\n }\n\n const id = value.id.$eq || value.id.$ne;\n\n if (id && USER_FILTER_ATTRIBUTES.includes(key) && !acc.includes(id)) {\n acc.push(id);\n }\n\n return acc;\n }, []);\n\n const { data: userData, isLoading: isLoadingAdminUsers } = useAdminUsers(\n { filters: { id: { $in: selectedUserIds } } },\n {\n // fetch the list of admin users only if the filter contains users and the\n // current user has permissions to display users\n skip: selectedUserIds.length === 0 || !canReadAdminUsers,\n }\n );\n\n const { users = [] } = userData ?? {};\n\n const { metadata } = useGetContentTypeConfigurationQuery(model, {\n selectFromResult: ({ data }) => ({ metadata: data?.contentType.metadatas ?? {} }),\n });\n\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const displayedFilters = React.useMemo(() => {\n const [{ properties: { fields = [] } = { fields: [] } }] = allPermissions.filter(\n (permission) =>\n permission.action === 'plugin::content-manager.explorer.read' &&\n permission.subject === model\n );\n\n const allowedFields = fields.filter((field) => {\n const attribute = attributes[field] ?? {};\n\n return attribute.type && !NOT_ALLOWED_FILTERS.includes(attribute.type);\n });\n\n return (\n [\n 'id',\n ...allowedFields,\n ...DEFAULT_ALLOWED_FILTERS,\n ...(canReadAdminUsers ? CREATOR_FIELDS : []),\n ]\n .map((name) => {\n const attribute = attributes[name];\n\n if (NOT_ALLOWED_FILTERS.includes(attribute.type)) {\n return null;\n }\n\n const { mainField: mainFieldName = '', label } = metadata[name].list;\n\n let filter: Filters.Filter = {\n name,\n label: label ?? '',\n mainField: getMainField(attribute, mainFieldName, { schemas, components: {} }),\n // @ts-expect-error – TODO: this is filtered out above in the `allowedFields` call but TS complains, is there a better way to solve this?\n type: attribute.type,\n };\n\n if (\n attribute.type === 'relation' &&\n 'target' in attribute &&\n attribute.target === 'admin::user'\n ) {\n filter = {\n ...filter,\n input: AdminUsersFilter,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n operators: [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n Line truncated
"mappings": "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 truncated
"names": ["NOT_ALLOWED_FILTERS", "DEFAULT_ALLOWED_FILTERS", "USER_FILTER_ATTRIBUTES", "CREATOR_FIELDS", "FiltersImpl", "disabled", "schema", "attributes", "uid", "model", "options", "formatMessage", "locale", "useIntl", "trackUsage", "useTracking", "allPermissions", "useAuth", "state", "permissions", "query", "useQueryParams", "schemas", "useContentTypeSchema", "canReadAdminUsers", "useMemo", "filter", "permission", "action", "subject", "length", "selectedUserIds", "filters", "$and", "reduce", "acc", "key", "value", "Object", "entries", "id", "$eq", "$ne", "includes", "push", "data", "userData", "isLoading", "isLoadingAdminUsers", "useAdminUsers", "$in", "skip", "users", "metadata", "useGetContentTypeConfigurationQuery", "selectFromResult", "contentType", "metadatas", "formatter", "useCollator", "sensitivity", "displayedFilters", "properties", "fields", "allowedFields", "field", "attribute", "type", "map", "name", "mainField", "mainFieldName", "label", "list", "getMainField", "components", "target", "input", "AdminUsersFilter", "user", "getDisplayName", "toString", "operators", "defaultMessage", "enum", "Boolean", "toSorted", "a", "b", "compare", "onOpenChange", "isOpen", "handleFilterChange", "useRelation", "_jsxs", "Filters", "Root", "onChange", "_jsx", "Trigger", "Popover", "List", "pageSize", "setPageSize", "useState", "search", "setSearch", "debouncedSearch", "useDebounce", "_q", "useField", "handleOpenChange", "pagination", "pageCount", "page", "Combobox", "aria-label", "loading", "onLoadMore", "hasMoreItems", "onInputChange", "e", "currentTarget", "ComboboxOption", "CellValue", "type", "value", "formatDate", "formatTime", "formatNumber", "useIntl", "formattedValue", "parseISO", "dateStyle", "timeStyle", "hour", "minute", "second", "split", "date", "Date", "setHours", "setMinutes", "setSeconds", "includes", "maximumFractionDigits", "toString", "SingleComponent", "content", "mainField", "_jsx", "Tooltip", "label", "name", "Typography", "maxWidth", "textColor", "ellipsis", "CellValue", "type", "value", "RepeatableComponent", "formatMessage", "useIntl", "_jsxs", "Menu", "Root", "Trigger", "onClick", "e", "stopPropagation", "Badge", "length", "id", "defaultMessage", "number", "Content", "map", "item", "Item", "disabled", "getFileExtension", "ext", "substring", "MediaSingle", "url", "mime", "alternativeText", "name", "formats", "fileURL", "prefixFileUrlWithBackendUrl", "includes", "thumbnail", "mediaURL", "_jsx", "Avatar", "Item", "src", "alt", "fallback", "preview", "fileExtension", "fileName", "length", "Tooltip", "description", "FileWrapper", "children", "Flex", "tag", "position", "borderRadius", "width", "height", "borderColor", "background", "paddingLeft", "justifyContent", "alignItems", "FileTypography", "variant", "textColor", "styled", "Typography", "MediaMultiple", "content", "Group", "map", "file", "index", "key", "id", "remainingFiles", "RelationSingle", "mainField", "content", "_jsx", "Typography", "maxWidth", "textColor", "ellipsis", "getRelationLabel", "RelationMultiple", "rowId", "name", "model", "useDoc", "formatMessage", "useIntl", "notifyStatus", "useNotifyAT", "isOpen", "setIsOpen", "useState", "targetField", "split", "data", "isLoading", "useGetRelationsQuery", "id", "skip", "refetchOnMountOrArgChange", "contentCount", "Array", "isArray", "length", "count", "React", "useEffect", "getTranslation", "defaultMessage", "_jsxs", "Menu", "Root", "onOpenChange", "Trigger", "onClick", "e", "stopPropagation", "style", "cursor", "fontWeight", "number", "Content", "Item", "disabled", "Loader", "small", "results", "_Fragment", "map", "entry", "documentId", "pagination", "total", "aria-disabled", "aria-label", "CellContent", "content", "mainField", "attribute", "rowId", "name", "hasContent", "_jsx", "Typography", "textColor", "paddingLeft", "type", "paddingRight", "multiple", "MediaSingle", "MediaMultiple", "isSingleRelation", "relation", "RelationSingle", "RelationMultiple", "repeatable", "RepeatableComponent", "SingleComponent", "Tooltip", "description", "maxWidth", "ellipsis", "CellValue", "value", "length", "undefined", "includes", "isEmpty", "Array", "isArray", "count", "ViewSettingsMenu", "props", "permissions", "useTypedSelector", "state", "admin_app", "contentManager", "collectionTypesConfigurations", "query", "useQueryParams", "formatMessage", "useIntl", "allowedActions", "canConfigureView", "useRBAC", "_jsxs", "Popover", "Root", "_jsx", "Trigger", "IconButton", "label", "id", "defaultMessage", "Cog", "Content", "side", "align", "sideOffset", "Flex", "alignItems", "direction", "padding", "gap", "LinkButton", "size", "startIcon", "ListPlus", "variant", "tag", "NavLink", "to", "pathname", "search", "plugins", "stringify", "encode", "FieldPicker", "headers", "resetHeaders", "setHeaders", "trackUsage", "useTracking", "locale", "schema", "model", "useDoc", "list", "useDocumentLayout", "formatter", "useCollator", "sensitivity", "attributes", "columns", "Object", "keys", "filter", "name", "checkLine truncated
}
+106
View File
@@ -0,0 +1,106 @@
import {
SSOProviders
} from "./chunk-3CQ23XBV.js";
import {
Login
} from "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-5CAWUBTQ.js";
import {
useGetProvidersQuery
} from "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import {
Box,
Divider,
Flex,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import {
dt
} from "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/AuthPage/components/Login.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var DividerFull = dt(Divider)`
flex: 1;
`;
var LoginEE = (loginProps) => {
const { formatMessage } = useIntl();
const { isLoading, data: providers = [] } = useGetProvidersQuery(void 0, {
skip: !window.strapi.features.isEnabled(window.strapi.features.SSO)
});
if (!window.strapi.features.isEnabled(window.strapi.features.SSO) || !isLoading && providers.length === 0) {
return (0, import_jsx_runtime.jsx)(Login, {
...loginProps
});
}
return (0, import_jsx_runtime.jsx)(Login, {
...loginProps,
children: (0, import_jsx_runtime.jsx)(Box, {
paddingTop: 7,
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 7,
children: [
(0, import_jsx_runtime.jsxs)(Flex, {
children: [
(0, import_jsx_runtime.jsx)(DividerFull, {}),
(0, import_jsx_runtime.jsx)(Box, {
paddingLeft: 3,
paddingRight: 3,
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "sigma",
textColor: "neutral600",
children: formatMessage({
id: "Auth.login.sso.divider"
})
})
}),
(0, import_jsx_runtime.jsx)(DividerFull, {})
]
}),
(0, import_jsx_runtime.jsx)(SSOProviders, {
providers,
displayAllProviders: false
})
]
})
})
});
};
export {
LoginEE
};
//# sourceMappingURL=Login-AUMPQCHF.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/AuthPage/components/Login.tsx"],
"sourcesContent": ["import { Box, Divider, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { Login, LoginProps } from '../../../../../../admin/src/pages/Auth/components/Login';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nconst LoginEE = (loginProps: LoginProps) => {\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Login {...loginProps} />;\n }\n\n return (\n <Login {...loginProps}>\n <Box paddingTop={7}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.divider' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <SSOProviders providers={providers} displayAllProviders={false} />\n </Flex>\n </Box>\n </Login>\n );\n};\n\nexport { LoginEE };\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,cAAcC,GAAOC,OAAAA;;;AAI3B,IAAMC,UAAU,CAACC,eAAAA;AACf,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAC1B,QAAM,EAAEC,WAAWC,MAAMC,YAAY,CAAA,EAAE,IAAKC,qBAAqBC,QAAW;IAC1EC,MAAM,CAACC,OAAOC,OAAOC,SAASC,UAAUH,OAAOC,OAAOC,SAASE,GAAG;EACpE,CAAA;AAEA,MACE,CAACJ,OAAOC,OAAOC,SAASC,UAAUH,OAAOC,OAAOC,SAASE,GAAG,KAC3D,CAACV,aAAaE,UAAUS,WAAW,GACpC;AACA,eAAOC,wBAACC,OAAAA;MAAO,GAAGhB;;EACpB;AAEA,aACEe,wBAACC,OAAAA;IAAO,GAAGhB;IACT,cAAAe,wBAACE,KAAAA;MAAIC,YAAY;MACf,cAAAC,yBAACC,MAAAA;QAAKC,WAAU;QAASC,YAAW;QAAUC,KAAK;;cACjDJ,yBAACC,MAAAA;;kBACCL,wBAACnB,aAAAA,CAAAA,CAAAA;kBACDmB,wBAACE,KAAAA;gBAAIO,aAAa;gBAAGC,cAAc;gBACjC,cAAAV,wBAACW,YAAAA;kBAAWC,SAAQ;kBAAQC,WAAU;4BACnC3B,cAAc;oBAAE4B,IAAI;kBAAyB,CAAA;;;kBAGlDd,wBAACnB,aAAAA,CAAAA,CAAAA;;;cAEHmB,wBAACe,cAAAA;YAAazB;YAAsB0B,qBAAqB;;;;;;AAKnE;",
"names": ["DividerFull", "styled", "Divider", "LoginEE", "loginProps", "formatMessage", "useIntl", "isLoading", "data", "providers", "useGetProvidersQuery", "undefined", "skip", "window", "strapi", "features", "isEnabled", "SSO", "length", "_jsx", "Login", "Box", "paddingTop", "_jsxs", "Flex", "direction", "alignItems", "gap", "paddingLeft", "paddingRight", "Typography", "variant", "textColor", "id", "SSOProviders", "displayAllProviders"]
}
+47
View File
@@ -0,0 +1,47 @@
import {
MagicLinkWrapper
} from "./chunk-FURFN7BE.js";
import {
getBasename
} from "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-N55RVBRV.js";
import {
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var MagicLinkEE = ({ registrationToken }) => {
const { formatMessage } = useIntl();
if (registrationToken) {
return (0, import_jsx_runtime.jsx)(MagicLinkWrapper, {
target: `${window.location.origin}${getBasename()}/auth/register?registrationToken=${registrationToken}`,
children: formatMessage({
id: "app.components.Users.MagicLink.connect",
defaultMessage: "Copy and share this link to give access to this user"
})
});
}
return (0, import_jsx_runtime.jsx)(MagicLinkWrapper, {
target: `${window.location.origin}${getBasename()}/auth/login`,
children: formatMessage({
id: "app.components.Users.MagicLink.connect.sso",
defaultMessage: "Send this link to the user, the first login can be made via a SSO provider."
})
});
};
export {
MagicLinkEE
};
//# sourceMappingURL=MagicLinkEE-V6EKW7ZW.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],
"sourcesContent": ["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAQaA,IAAAA,cAAc,CAAC,EAAEC,kBAAiB,MAAoB;AACjE,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAE1B,MAAIF,mBAAmB;AACrB,eACEG,wBAACC,kBAAAA;MACCC,QAAQ,GACNC,OAAOC,SAASC,MAAM,GACrBC,YAAc,CAAA,oCAAmCT,iBAAAA;gBAEnDC,cAAc;QACbS,IAAI;QACJC,gBAAgB;MAClB,CAAA;;EAGN;AAEA,aACER,wBAACC,kBAAAA;IAAiBC,QAAQ,GAAGC,OAAOC,SAASC,MAAM,GAAGC,YAAc,CAAA;cACjER,cAAc;MACbS,IAAI;MACJC,gBACE;IACJ,CAAA;;AAGN;",
"names": ["MagicLinkEE", "registrationToken", "formatMessage", "useIntl", "_jsx", "MagicLinkWrapper", "target", "window", "location", "origin", "getBasename", "id", "defaultMessage"]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../semver/functions/clean.js", "../../../semver/functions/inc.js", "../../../semver/functions/diff.js", "../../../semver/functions/major.js", "../../../semver/functions/minor.js", "../../../semver/functions/patch.js", "../../../semver/functions/prerelease.js", "../../../semver/functions/rcompare.js", "../../../semver/functions/compare-loose.js", "../../../semver/functions/compare-build.js", "../../../semver/functions/sort.js", "../../../semver/functions/rsort.js", "../../../semver/functions/gt.js", "../../../semver/functions/eq.js", "../../../semver/functions/neq.js", "../../../semver/functions/gte.js", "../../../semver/functions/lte.js", "../../../semver/functions/cmp.js", "../../../semver/functions/coerce.js", "../../../yallist/iterator.js", "../../../yallist/yallist.js", "../../../lru-cache/index.js", "../../../semver/classes/range.js", "../../../semver/classes/comparator.js", "../../../semver/functions/satisfies.js", "../../../semver/ranges/to-comparators.js", "../../../semver/ranges/max-satisfying.js", "../../../semver/ranges/min-satisfying.js", "../../../semver/ranges/min-version.js", "../../../semver/ranges/valid.js", "../../../semver/ranges/outside.js", "../../../semver/ranges/gtr.js", "../../../semver/ranges/ltr.js", "../../../semver/ranges/intersects.js", "../../../semver/ranges/simplify.js", "../../../semver/ranges/subset.js", "../../../semver/index.js", "../../../@strapi/admin/admin/src/hooks/useDebounce.ts", "../../../@strapi/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.tsx", "../../../@strapi/admin/admin/src/pages/Marketplace/components/NpmPackageCard.tsx", "../../../@strapi/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.tsx", "../../../@strapi/admin/admin/src/pages/Marketplace/components/PageHeader.tsx", "../../../@strapi/admin/admin/src/pages/Marketplace/components/OfflineLayout.tsx", "../../../@strapi/admin/admin/src/pages/Marketplace/components/SortSelect.tsx", "../../../@strapi/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.ts", "../../../@strapi/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.ts", "../../../@strapi/admin/admin/src/pages/Marketplace/MarketplacePage.tsx"],
"sourcesContent": ["const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n", "const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n", "const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // Otherwise it can be determined by checking the high version\n\n if (highVersion.patch) {\n // anything higher than a patch bump would result in the wrong version\n return 'patch'\n }\n\n if (highVersion.minor) {\n // anything higher than a minor bump would result in the wrong version\n return 'minor'\n }\n\n // bumping major/minor/patch all have same result\n return 'major'\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n", "const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n", "const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n", "const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n", "const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n", "const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n", "const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n", "const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n", "const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n", "const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n", "const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n", "const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n", "const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n", "const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n", "const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n", "const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n Line truncated
"mappings": "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 truncated
"names": ["satisfies", "require_valid", "validRange", "satisfies", "satisfies", "satisfies", "require_semver", "satisfies", "validRange", "useDebounce", "value", "delay", "debouncedValue", "setDebouncedValue", "useState", "React", "useEffect", "handler", "setTimeout", "clearTimeout", "NpmPackagesFilters", "handleSelectClear", "handleSelectChange", "npmPackageType", "possibleCategories", "possibleCollections", "query", "formatMessage", "useIntl", "handleTagRemove", "tagToRemove", "filterType", "update", "filter", "previousTag", "_jsxs", "Popover", "Root", "_jsx", "Trigger", "Button", "variant", "startIcon", "Filter", "id", "defaultMessage", "Content", "sideOffset", "Flex", "padding", "direction", "alignItems", "gap", "FilterSelect", "message", "value", "collections", "onChange", "newCollections", "onClear", "possibleFilters", "customizeContent", "values", "count", "length", "categories", "newCategories", "map", "collection", "Box", "Tag", "icon", "Cross", "onClick", "category", "MultiSelect", "data-testid", "aria-label", "placeholder", "Object", "entries", "filterName", "MultiSelectOption", "EllipsisText", "styled", "Typography", "NpmPackageCard", "npmPackage", "isInstalled", "useYarn", "isInDevelopmentMode", "npmPackageType", "strapiAppVersion", "attributes", "formatMessage", "useIntl", "trackUsage", "useTracking", "commandToCopy", "npmPackageName", "madeByStrapiMessage", "id", "defaultMessage", "npmPackageHref", "pluralize", "plural", "slug", "versionRange", "validRange", "strapiVersion", "isCompatible", "satisfies", "_jsxs", "Flex", "direction", "justifyContent", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "hasRadius", "background", "shadow", "height", "alignItems", "data-testid", "Box", "_jsx", "tag", "src", "logo", "url", "alt", "name", "width", "PackageStats", "githubStars", "npmDownloads", "variant", "gap", "validated", "madeByStrapi", "Tooltip", "description", "CheckCircle", "fill", "StrapiLogo", "textColor", "style", "alignSelf", "LinkButton", "size", "href", "isExternal", "endIcon", "ExternalLink", "aria-label", "pluginName", "onClick", "InstallPluginButton", "strapiPeerDepVersion", "toggleNotification", "useNotification", "copy", "useClipboard", "handleCopy", "didCopy", "type", "message", "Check", "color", "fontWeight", "CardButton", "installMessage", "label", "span", "Button", "startIcon", "Duplicate", "disabled", "_Fragment", "GitHub", "aria-hidden", "Star", "p", "starsCount", "package", "VerticalDivider", "Download", "downloadsCount", "Divider", "NpmPackagesGrid", "status", "npmPackages", "installedPackageNames", "useYarn", "isInDevelopmentMode", "npmPackageType", "strapiAppVersion", "debouncedSearch", "formatMessage", "useIntl", "_jsx", "Page", "Error", "Loading", "emptySearchMessage", "id", "defaultMessage", "target", "length", "_jsxs", "Box", "position", "Layouts", "Grid", "size", "Array", "fill", "map", "_", "idx", "EmptyPluginCard", "height", "hasRadius", "top", "width", "Flex", "alignItems", "justifyContent", "direction", "EmptyDocuments", "paddingTop", "Typography", "variant", "tag", "textColor", "Root", "gap", "npmPackage", "Item", "col", "s", "xs", "style", "NpmPackageCard", "isInstalled", "includes", "attributes", "npmPackageName", "styled", "theme", "colors", "neutral150", "PageHeader", "isOnline", "npmPackageType", "formatMessage", "useIntl", "trackUsage", "useTracking", "tracking", "_jsx", "Layouts", "Header", "title", "id", "defaultMessage", "subtitle", "primaryAction", "LinkButton", "startIcon", "Upload", "variant", "href", "onClick", "isExternal", "OfflineLayout", "formatMessage", "useIntl", "_jsx", "Layouts", "Root", "_jsxs", "Main", "PageHeader", "Flex", "width", "direction", "alignItems", "justifyContent", "paddingTop", "Box", "paddingBottom", "Typography", "textColor", "variant", "id", "defaultMessage", "svg", "height", "viewBox", "fill", "xmlns", "rect", "x", "y", "rx", "path", "d", "stroke", "SORT_TYPES", "selected", "id", "defaultMessage", "option", "SortSelect", "sortQuery", "handleSelectChange", "formatMessage", "useIntl", "_jsx", "SelectWrapper", "SingleSelect", "value", "customizeContent", "onChange", "sortName", "sort", "aria-label", "size", "Object", "entries", "map", "messages", "SingleSelectOption", "styled", "Box", "theme", "fontWeights", "semiBold", "fontSizes", "MARKETPLACE_API_URL", "useMarketplaceData", "npmPackageType", "debouncedSearch", "query", "tabQuery", "strapiVersion", "notifyStatus", "useNotifyAT", "formatMessage", "useIntl", "toggleNotification", "useNotification", "marketplaceTitle", "id", "defaultMessage", "notifyMarketplaceLoad", "target", "paginationParams", "page", "pageSize", "pluginParams", "plugin", "pagination", "search", "version", "data", "pluginsResponse", "status", "pluginsStatus", "useQuery", "queryString", "stringify", "res", "fetch", "ok", "Error", "json", "error", "onSuccess", "onError", "type", "message", "providerParams", "provider", "providersResponse", "providersStatus", "npmPackageTypeResponse", "possibleCoLine truncated
}
+28
View File
@@ -0,0 +1,28 @@
import "./chunk-PLDDJCW6.js";
// node_modules/@strapi/admin/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm.mjs
var FORM_INITIAL_VALUES = {
...window.strapi.features.isEnabled(window.strapi.features.SSO) ? {
useSSORegistration: true
} : {}
};
var ROLE_LAYOUT = [
...window.strapi.features.isEnabled(window.strapi.features.SSO) ? [
[
{
label: {
id: "Settings.permissions.users.form.sso",
defaultMessage: "Connect with SSO"
},
name: "useSSORegistration",
type: "boolean",
size: 6
}
]
] : []
];
export {
FORM_INITIAL_VALUES,
ROLE_LAYOUT
};
//# sourceMappingURL=ModalForm-5HYECZO6.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm.tsx"],
"sourcesContent": ["import type { FormLayoutInputProps } from '../../../../../../../../admin/src/types/forms';\n\nexport const FORM_INITIAL_VALUES = {\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? {\n useSSORegistration: true,\n }\n : {}),\n};\n\nexport const ROLE_LAYOUT = [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n [\n {\n label: {\n id: 'Settings.permissions.users.form.sso',\n defaultMessage: 'Connect with SSO',\n },\n name: 'useSSORegistration',\n type: 'boolean' as const,\n size: 6,\n },\n ],\n ]\n : []),\n] satisfies FormLayoutInputProps[][];\n"],
"mappings": ";;;IAEaA,sBAAsB;EACjC,GAAIC,OAAOC,OAAOC,SAASC,UAAUH,OAAOC,OAAOC,SAASE,GAAG,IAC3D;IACEC,oBAAoB;EACtB,IACA,CAAA;AACN;IAEaC,cAAc;EACrBN,GAAAA,OAAOC,OAAOC,SAASC,UAAUH,OAAOC,OAAOC,SAASE,GAAG,IAC3D;IACE;MACE;QACEG,OAAO;UACLC,IAAI;UACJC,gBAAgB;QAClB;QACAC,MAAM;QACNC,MAAM;QACNC,MAAM;MACR;IACD;EACF,IACD,CAAA;;",
"names": ["FORM_INITIAL_VALUES", "window", "strapi", "features", "isEnabled", "SSO", "useSSORegistration", "ROLE_LAYOUT", "label", "id", "defaultMessage", "name", "type", "size"]
}
+123
View File
@@ -0,0 +1,123 @@
import {
getTranslation
} from "./chunk-HIZVCZYI.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
ForwardRef$J,
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import {
EmptyStateLayout,
LinkButton,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import {
NavLink
} from "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$1h
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/content-manager/dist/admin/pages/NoContentTypePage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var NoContentType = () => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime.jsxs)(Page.Main, {
children: [
(0, import_jsx_runtime.jsx)(Layouts.Header, {
title: formatMessage({
id: getTranslation("header.name"),
defaultMessage: "Content"
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime.jsx)(EmptyStateLayout, {
action: (0, import_jsx_runtime.jsx)(LinkButton, {
tag: NavLink,
variant: "secondary",
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$1h, {}),
to: "/plugins/content-type-builder/content-types/create-content-type",
children: formatMessage({
id: "app.components.HomePage.create",
defaultMessage: "Create your first Content-type"
})
}),
content: formatMessage({
id: "content-manager.pages.NoContentType.text",
defaultMessage: "You don't have any content yet, we recommend you to create your first Content-Type."
}),
hasRadius: true,
icon: (0, import_jsx_runtime.jsx)(ForwardRef$J, {
width: "16rem"
}),
shadow: "tableShadow"
})
})
]
});
};
export {
NoContentType
};
//# sourceMappingURL=NoContentTypePage-SRUDORAZ.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-manager/admin/src/pages/NoContentTypePage.tsx"],
"sourcesContent": ["import { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { getTranslation } from '../utils/translations';\n\nconst NoContentType = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: getTranslation('header.name'),\n defaultMessage: 'Content',\n })}\n />\n <Layouts.Content>\n <EmptyStateLayout\n action={\n <LinkButton\n tag={NavLink}\n variant=\"secondary\"\n startIcon={<Plus />}\n to=\"/plugins/content-type-builder/content-types/create-content-type\"\n >\n {formatMessage({\n id: 'app.components.HomePage.create',\n defaultMessage: 'Create your first Content-type',\n })}\n </LinkButton>\n }\n content={formatMessage({\n id: 'content-manager.pages.NoContentType.text',\n defaultMessage:\n \"You don't have any content yet, we recommend you to create your first Content-Type.\",\n })}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n shadow=\"tableShadow\"\n />\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nexport { NoContentType };\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,gBAAgB,MAAA;AACpB,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAE1B,aACEC,yBAACC,KAAKC,MAAI;;UACRC,wBAACC,QAAQC,QAAM;QACbC,OAAOR,cAAc;UACnBS,IAAIC,eAAe,aAAA;UACnBC,gBAAgB;QAClB,CAAA;;UAEFN,wBAACC,QAAQM,SAAO;QACd,cAAAP,wBAACQ,kBAAAA;UACCC,YACET,wBAACU,YAAAA;YACCC,KAAKC;YACLC,SAAQ;YACRC,eAAWd,wBAACe,eAAAA,CAAAA,CAAAA;YACZC,IAAG;sBAEFrB,cAAc;cACbS,IAAI;cACJE,gBAAgB;YAClB,CAAA;;UAGJW,SAAStB,cAAc;YACrBS,IAAI;YACJE,gBACE;UACJ,CAAA;UACAY,WAAS;UACTC,UAAMnB,wBAACoB,cAAAA;YAAeC,OAAM;;UAC5BC,QAAO;;;;;AAKjB;",
"names": ["NoContentType", "formatMessage", "useIntl", "_jsxs", "Page", "Main", "_jsx", "Layouts", "Header", "title", "id", "getTranslation", "defaultMessage", "Content", "EmptyStateLayout", "action", "LinkButton", "tag", "NavLink", "variant", "startIcon", "Plus", "to", "content", "hasRadius", "icon", "EmptyDocuments", "width", "shadow"]
}
+96
View File
@@ -0,0 +1,96 @@
import {
getTranslation
} from "./chunk-HIZVCZYI.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import {
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/content-manager/dist/admin/pages/NoPermissionsPage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var NoPermissions = () => {
const { formatMessage } = useIntl();
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Layouts.Header, {
title: formatMessage({
id: getTranslation("header.name"),
defaultMessage: "Content"
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime.jsx)(Page.NoPermissions, {})
})
]
});
};
export {
NoPermissions
};
//# sourceMappingURL=NoPermissionsPage-U4MEZE4L.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../@strapi/content-manager/admin/src/pages/NoPermissionsPage.tsx"],
"sourcesContent": ["import { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../utils/translations';\n\nconst NoPermissions = () => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Layouts.Header\n title={formatMessage({\n id: getTranslation('header.name'),\n defaultMessage: 'Content',\n })}\n />\n <Layouts.Content>\n <Page.NoPermissions />\n </Layouts.Content>\n </>\n );\n};\n\nexport { NoPermissions };\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,gBAAgB,MAAA;AACpB,QAAM,EAAEC,cAAa,IAAKC,QAAAA;AAE1B,aACEC,yBAAAC,6BAAA;;UACEC,wBAACC,QAAQC,QAAM;QACbC,OAAOP,cAAc;UACnBQ,IAAIC,eAAe,aAAA;UACnBC,gBAAgB;QAClB,CAAA;;UAEFN,wBAACC,QAAQM,SAAO;sBACdP,wBAACQ,KAAKb,eAAa,CAAA,CAAA;;;;AAI3B;",
"names": ["NoPermissions", "formatMessage", "useIntl", "_jsxs", "_Fragment", "_jsx", "Layouts", "Header", "title", "id", "getTranslation", "defaultMessage", "Content", "Page"]
}
+81
View File
@@ -0,0 +1,81 @@
import {
ProtectedPreviewPage,
usePreviewContext
} from "./chunk-GXKJFURG.js";
import "./chunk-7FUKGPNR.js";
import "./chunk-NAZM6EA4.js";
import "./chunk-UATNJIHQ.js";
import "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import "./chunk-6LY4MOO2.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-IGCTEXRF.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import "./chunk-N55RVBRV.js";
import "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import "./chunk-MADUDGYZ.js";
import "./chunk-PLDDJCW6.js";
export {
ProtectedPreviewPage,
usePreviewContext
};
//# sourceMappingURL=Preview-RHOHK67P.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
Loaded 100 of 65041 files, more files were not shown because too many files have changed in this diff. Show more