From 3bf4981fe7ef0d0d8276a2ea5fe76c68d43953e3 Mon Sep 17 00:00:00 2001 From: Marvin Bertram Date: Wed, 8 Jul 2026 06:23:05 +0000 Subject: [PATCH 1/5] Add Custom Theme example plugin Registers CustomThemePlugin demonstrating a custom theme (ocean) via a dynamic-type definition and a theme extension module. Co-Authored-By: Claude Opus 4.8 --- .../dynamic-type-theme-example-ocean.ts | 185 ++++++++++++++++++ assets/js/src/examples/custom-theme/index.ts | 15 ++ .../modules/custom-theme-extension.ts | 11 ++ assets/js/src/plugins.ts | 4 +- 4 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 assets/js/src/examples/custom-theme/dynamic-types/definitions/dynamic-type-theme-example-ocean.ts create mode 100644 assets/js/src/examples/custom-theme/index.ts create mode 100644 assets/js/src/examples/custom-theme/modules/custom-theme-extension.ts diff --git a/assets/js/src/examples/custom-theme/dynamic-types/definitions/dynamic-type-theme-example-ocean.ts b/assets/js/src/examples/custom-theme/dynamic-types/definitions/dynamic-type-theme-example-ocean.ts new file mode 100644 index 0000000..f4935b4 --- /dev/null +++ b/assets/js/src/examples/custom-theme/dynamic-types/definitions/dynamic-type-theme-example-ocean.ts @@ -0,0 +1,185 @@ +import { injectable } from '@pimcore/studio-ui-bundle/app' +import { + DynamicTypeThemeAbstract, + type PimcoreThemeConfig, + studioThemeIds +} from '@pimcore/studio-ui-bundle/modules/app' + +export const exampleOceanThemeId = 'studio-example-ocean' + +/** + * Example "Ocean" token set: a light theme that inherits the studio light base + * (studio-default-light) and only overrides the brand/interactive colours with + * a deep-teal ramp chosen to meet WCAG 2.x AAA (7:1 for normal text). + * + * All ratios below are measured against #ffffff (the inherited light surface). + * Note the AAA-specific choice: in a light theme the brand must DARKEN on hover + * / active, otherwise a lighter hover drops the white button label below 7:1. + * + * colorPrimary #00595E 8.11:1 (link text on white AND white label on button) + * colorPrimaryHover #004E52 9.50:1 + * colorPrimaryActive #003C40 12.21:1 + * colorAccent #087881 5.23:1 (>=3:1 UI floor; the base #13a8a8 accent is 2.92:1 and fails) + * + * Colours only for now (typography/spacing are inherited from the base). Interaction and + * region colours are retinted from the base's purple washes to teal; the selected tree row is a + * light teal band kept a step above the hover (kept light on purpose — the shared label token + * colorTextTreeElement must stay legible, and a solid dark bar would need a component change, + * which a token set must never require). + */ +@injectable() +export class DynamicTypeThemeExampleOcean extends DynamicTypeThemeAbstract { + id: string = exampleOceanThemeId + extends: string[] = [studioThemeIds.light] + + getThemeConfig (): PimcoreThemeConfig { + return { + token: { + // Brand ramp — darkens on hover/active to keep white-on-brand >= 7:1 (AAA) + colorPrimary: '#00595E', + colorPrimaryHover: '#004E52', + colorPrimaryActive: '#003C40', + colorPrimaryText: '#00595E', + colorPrimaryTextHover: '#004E52', + colorPrimaryTextActive: '#003C40', + + // Links — teal text on the light surface, all AAA + colorLink: '#00595E', + colorLinkHover: '#004E52', + colorLinkActive: '#003C40', + + // Accents / active borders — UI elements (>= 3:1), not text. + // The base's #00bab3 accent is only 2.42:1 on white (fails even the UI floor); replaced. + colorAccent: '#087881', + colorAccentSecondary: '#0B6B73', + colorBorderActive: '#087881', // 5.23:1 + colorBorderActiveTab: '#00595E', // 8.11:1 — bold brand underline on the active tab + colorLogo: '#00595E', + + // --- Interaction pass (retint the base's pale-purple washes to teal) --- + // Tree/menu rows: hover subtle + AAA, selected a bolder teal band. The tree label is + // colorTextTreeElement (#404655) in BOTH states, so the selected bg is the token-only + // ceiling that keeps that label legible — a solid dark bar would need a component change, + // which a token set must never require. Measured against #404655: + controlItemBgActiveHover: '#DEF1F1', // hover — 8.07:1 (AAA); light + controlItemBgActive: '#A7D8D8', // selected — 6.05:1 (AA); a step above hover, not a heavy band + controlOutline: 'rgba(0, 89, 94, 0.12)', // focus ring — teal, was purple + + // Fills (chips, alternating rows, hover fills) — teal tints, were purple + colorFill: 'rgba(127, 199, 199, 0.35)', + colorFillQuaternary: 'rgba(127, 199, 199, 0.22)', + colorFillActive: '#A7D8D8', + colorFillAlter: 'rgba(127, 199, 199, 0.22)', + colorFillNav: 'rgba(0, 89, 94, 0.08)', + + // Tabs: selected text on brand, hover/unselected fills retinted to teal + itemActiveColor: '#00595E', // 8.11:1 + itemSelectedColor: '#00595E', // 8.11:1 + itemHoverColor: 'rgba(127, 199, 199, 0.45)', + colorBgUnselectedTab: 'rgba(127, 199, 199, 0.22)', + colorBgHoverUnselectedTab: 'rgba(127, 199, 199, 0.40)', + + // --- Brave region backgrounds (the color reaches the chrome, not just states) --- + colorBgToolbar: '#EAF6F6', + colorBgSidebarOptions: '#EAF6F6', + colorBgMainNavColumn: 'rgba(0, 89, 94, 0.05)', + colorBgFieldset: '#F2FBFB', + colorBorderFieldset: '#CFE6E6', + + // --- Remaining purple accents retinted (icons, borders, sidebar, info) --- + colorIconSecondary: '#3E5C5C', // 7.27:1 (was #4d4169 purple-slate) + colorIconSidebar: '#06363A', // 13.15:1 (was #22075e deep purple) + itemUnselectedIconColor: '#3E5C5C', // 7.27:1 (was #4d4169) + colorTextSidebarTitle: '#00595E', // 8.11:1 (was #531dab) + colorBorderTertiary: '#E1EAEA', // teal-grey (was #eae8ed purple-grey) + colorBorderContainer: '#E1EAEA', + colorBorderPanelTitle: '#A7D8D8', // panel-title separator (was #d3adf7) + colorInfoBorderHover: '#4FB3BA', // info hover border (was #b37feb) + colorFillAdditional: '#EAF6F6', // (was #f5f3fa purple-grey) + + // Boot palette — seeds the loading screen via resolveTokenDefaults + // (colorPrimary + colorBgCanvas + colorBgLogoOrbit; colorBgContainer inherited) + colorBgCanvas: '#F4FAF9', + colorBgLogoOrbit: 'rgba(0, 89, 94, 0.12)' + }, + + // The base sets purple PER COMPONENT, and component tokens beat the global `token` map. + // The chain deep-merges (lodash mergeWith), so overriding just these keys retints the + // remaining purple hovers/active states while keeping every untouched base setting. + components: { + // Grid/table selected + active row — was #f8eeff (purple) + Table: { + controlItemBgActive: '#A7D8D8' + }, + // Tabs — hover fills to teal, active text + ink bar to brand (were purple #531dab / purple washes) + Tabs: { + itemActiveColor: '#00595E', + itemSelectedColor: '#00595E', + inkBarColor: '#00595E', + colorBorderActiveTab: '#00595E', + itemHoverColor: 'rgba(127, 199, 199, 0.45)', + colorBgUnselectedTab: 'rgba(127, 199, 199, 0.22)', + colorBgHoverUnselectedTab: 'rgba(127, 199, 199, 0.40)', + itemUnselectedIconColor: '#3E5C5C', + colorBorderContainer: '#E1EAEA' + }, + // Tags — interactive purples + info tint + Tag: { + colorPrimary: '#087881', + colorPrimaryHover: '#004E52', + colorPrimaryActive: '#003C40', + colorFillQuaternary: 'rgba(127, 199, 199, 0.22)', + colorInfoBg: '#E6F4F4', + colorInfoBorder: '#A7D8D8' + }, + // Pagination active page — was #531dab + Pagination: { + colorPrimary: '#00595E' + }, + // Tree heading + border — were #531dab / #eae8ed (colorTextTree label stays) + Tree: { + colorBorderTree: '#E1EAEA', + colorPrimaryHeading: '#00595E' + }, + // Divider split — was #d3adf7 + Divider: { + colorSplit: '#CFE6E6' + }, + // Default / ghost buttons — border + text were purple + Button: { + defaultBorderColor: '#A7D8D8', + defaultColor: '#00595E', + defaultGhostColor: '#00595E' + }, + // Breadcrumb current item — was #531dab + Breadcrumb: { + lastItemColor: '#00595E' + }, + // Avatar user indicator — was #722ed1 + Avatar: { + colorUserIndicator: '#00595E' + }, + // Alert info variant — brand is teal now, not purple + Alert: { + colorInfo: '#087881', + colorInfoBg: '#E6F4F4', + colorInfoBorder: '#A7D8D8' + }, + Colors: { + // Generic neutral hover fill used across components — was purple + Neutral: { + Fill: { + colorFill: 'rgba(127, 199, 199, 0.35)' + } + }, + // Brand primary text token — was deep purple #22075e + Brand: { + Primary: { + colorPrimaryText: '#003C40' + } + } + } + } + } + } +} diff --git a/assets/js/src/examples/custom-theme/index.ts b/assets/js/src/examples/custom-theme/index.ts new file mode 100644 index 0000000..ccb08a5 --- /dev/null +++ b/assets/js/src/examples/custom-theme/index.ts @@ -0,0 +1,15 @@ +import { type IAbstractPlugin } from '@pimcore/studio-ui-bundle' +import { CustomThemeExtension } from './modules/custom-theme-extension' +import { DynamicTypeThemeExampleOcean } from './dynamic-types/definitions/dynamic-type-theme-example-ocean' + +export const CustomThemePlugin: IAbstractPlugin = { + name: 'CustomThemePlugin', + + onInit ({ container }) { + container.bind('DynamicTypes/Theme/ExampleOcean').to(DynamicTypeThemeExampleOcean) + }, + + onStartup ({ moduleSystem }) { + moduleSystem.registerModule(CustomThemeExtension) + } +} diff --git a/assets/js/src/examples/custom-theme/modules/custom-theme-extension.ts b/assets/js/src/examples/custom-theme/modules/custom-theme-extension.ts new file mode 100644 index 0000000..a6c157e --- /dev/null +++ b/assets/js/src/examples/custom-theme/modules/custom-theme-extension.ts @@ -0,0 +1,11 @@ +import { type AbstractModule, container } from '@pimcore/studio-ui-bundle' +import { serviceIds } from '@pimcore/studio-ui-bundle/app' +import { type DynamicTypeThemeRegistry } from '@pimcore/studio-ui-bundle/modules/app' + +export const CustomThemeExtension: AbstractModule = { + onInit: (): void => { + const themeRegistry = container.get(serviceIds['DynamicTypes/ThemeRegistry']) + + themeRegistry.registerDynamicType(container.get('DynamicTypes/Theme/ExampleOcean')) + } +} diff --git a/assets/js/src/plugins.ts b/assets/js/src/plugins.ts index 9bb664e..d5e814a 100644 --- a/assets/js/src/plugins.ts +++ b/assets/js/src/plugins.ts @@ -16,6 +16,7 @@ import { CustomObjectDatatypePlugin } from './examples/custom-object-datatype' import { CustomObjectLayoutTypePlugin } from './examples/custom-object-layout-type' import { CustomGridColumnPlugin } from './examples/custom-grid-column' import { WorkflowModalExtensionPlugin } from './examples/workflow-modal-extension' +import { CustomThemePlugin } from './examples/custom-theme' // Examples are splitted into separate plugins to create a clear separation for better understanding. // You can also combine them into one plugin if you want to. @@ -37,5 +38,6 @@ export { CustomObjectDatatypePlugin, CustomObjectLayoutTypePlugin, CustomGridColumnPlugin, - WorkflowModalExtensionPlugin + WorkflowModalExtensionPlugin, + CustomThemePlugin } From d9766b81cc7f84eab71c05f38090de70db12c04a Mon Sep 17 00:00:00 2001 From: vin0401 <26813978+vin0401@users.noreply.github.com> Date: Wed, 8 Jul 2026 06:25:43 +0000 Subject: [PATCH 2/5] Apply eslint-fixer changes --- .../dynamic-type-theme-example-ocean.ts | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/assets/js/src/examples/custom-theme/dynamic-types/definitions/dynamic-type-theme-example-ocean.ts b/assets/js/src/examples/custom-theme/dynamic-types/definitions/dynamic-type-theme-example-ocean.ts index f4935b4..beb2bd6 100644 --- a/assets/js/src/examples/custom-theme/dynamic-types/definitions/dynamic-type-theme-example-ocean.ts +++ b/assets/js/src/examples/custom-theme/dynamic-types/definitions/dynamic-type-theme-example-ocean.ts @@ -52,8 +52,8 @@ export class DynamicTypeThemeExampleOcean extends DynamicTypeThemeAbstract { // The base's #00bab3 accent is only 2.42:1 on white (fails even the UI floor); replaced. colorAccent: '#087881', colorAccentSecondary: '#0B6B73', - colorBorderActive: '#087881', // 5.23:1 - colorBorderActiveTab: '#00595E', // 8.11:1 — bold brand underline on the active tab + colorBorderActive: '#087881', // 5.23:1 + colorBorderActiveTab: '#00595E', // 8.11:1 — bold brand underline on the active tab colorLogo: '#00595E', // --- Interaction pass (retint the base's pale-purple washes to teal) --- @@ -62,7 +62,7 @@ export class DynamicTypeThemeExampleOcean extends DynamicTypeThemeAbstract { // ceiling that keeps that label legible — a solid dark bar would need a component change, // which a token set must never require. Measured against #404655: controlItemBgActiveHover: '#DEF1F1', // hover — 8.07:1 (AAA); light - controlItemBgActive: '#A7D8D8', // selected — 6.05:1 (AA); a step above hover, not a heavy band + controlItemBgActive: '#A7D8D8', // selected — 6.05:1 (AA); a step above hover, not a heavy band controlOutline: 'rgba(0, 89, 94, 0.12)', // focus ring — teal, was purple // Fills (chips, alternating rows, hover fills) — teal tints, were purple @@ -73,8 +73,8 @@ export class DynamicTypeThemeExampleOcean extends DynamicTypeThemeAbstract { colorFillNav: 'rgba(0, 89, 94, 0.08)', // Tabs: selected text on brand, hover/unselected fills retinted to teal - itemActiveColor: '#00595E', // 8.11:1 - itemSelectedColor: '#00595E', // 8.11:1 + itemActiveColor: '#00595E', // 8.11:1 + itemSelectedColor: '#00595E', // 8.11:1 itemHoverColor: 'rgba(127, 199, 199, 0.45)', colorBgUnselectedTab: 'rgba(127, 199, 199, 0.22)', colorBgHoverUnselectedTab: 'rgba(127, 199, 199, 0.40)', @@ -87,15 +87,15 @@ export class DynamicTypeThemeExampleOcean extends DynamicTypeThemeAbstract { colorBorderFieldset: '#CFE6E6', // --- Remaining purple accents retinted (icons, borders, sidebar, info) --- - colorIconSecondary: '#3E5C5C', // 7.27:1 (was #4d4169 purple-slate) - colorIconSidebar: '#06363A', // 13.15:1 (was #22075e deep purple) - itemUnselectedIconColor: '#3E5C5C', // 7.27:1 (was #4d4169) - colorTextSidebarTitle: '#00595E', // 8.11:1 (was #531dab) - colorBorderTertiary: '#E1EAEA', // teal-grey (was #eae8ed purple-grey) + colorIconSecondary: '#3E5C5C', // 7.27:1 (was #4d4169 purple-slate) + colorIconSidebar: '#06363A', // 13.15:1 (was #22075e deep purple) + itemUnselectedIconColor: '#3E5C5C', // 7.27:1 (was #4d4169) + colorTextSidebarTitle: '#00595E', // 8.11:1 (was #531dab) + colorBorderTertiary: '#E1EAEA', // teal-grey (was #eae8ed purple-grey) colorBorderContainer: '#E1EAEA', - colorBorderPanelTitle: '#A7D8D8', // panel-title separator (was #d3adf7) - colorInfoBorderHover: '#4FB3BA', // info hover border (was #b37feb) - colorFillAdditional: '#EAF6F6', // (was #f5f3fa purple-grey) + colorBorderPanelTitle: '#A7D8D8', // panel-title separator (was #d3adf7) + colorInfoBorderHover: '#4FB3BA', // info hover border (was #b37feb) + colorFillAdditional: '#EAF6F6', // (was #f5f3fa purple-grey) // Boot palette — seeds the loading screen via resolveTokenDefaults // (colorPrimary + colorBgCanvas + colorBgLogoOrbit; colorBgContainer inherited) From c9e7a132fc40bf15cdfbc702caeb653c06b75b22 Mon Sep 17 00:00:00 2001 From: Marvin Bertram Date: Wed, 8 Jul 2026 06:43:10 +0000 Subject: [PATCH 3/5] Bump @pimcore/studio-ui-bundle to canary 20260707-113006-95e2480 Co-Authored-By: Claude Opus 4.8 --- assets/package-lock.json | 68 +++++++++++++++++++++++----------------- assets/package.json | 2 +- 2 files changed, 40 insertions(+), 30 deletions(-) diff --git a/assets/package-lock.json b/assets/package-lock.json index a47520a..4d20d83 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "PEL", "dependencies": { - "@pimcore/studio-ui-bundle": "1.0.0-canary.20260601-121358-42aa95d", + "@pimcore/studio-ui-bundle": "1.0.0-canary.20260707-113006-95e2480", "nodemon": "^3.1.10", "react": "18.3.x", "react-dom": "18.3.x", @@ -4085,9 +4085,9 @@ } }, "node_modules/@pimcore/studio-ui-bundle": { - "version": "1.0.0-canary.20260601-121358-42aa95d", - "resolved": "https://registry.npmjs.org/@pimcore/studio-ui-bundle/-/studio-ui-bundle-1.0.0-canary.20260601-121358-42aa95d.tgz", - "integrity": "sha512-nwyb0WFd/pJoEJvlubX1+nqo0x8n6pDBZhYc3y3f231G1yy8MT/7J7B3zxf8F+pT1SpxnXczPwTQWBGekRn5fg==", + "version": "1.0.0-canary.20260707-113006-95e2480", + "resolved": "https://registry.npmjs.org/@pimcore/studio-ui-bundle/-/studio-ui-bundle-1.0.0-canary.20260707-113006-95e2480.tgz", + "integrity": "sha512-yEVLlwdw5/kpuACHJTBbyaNVvd/nVVwiqr3OUcP7fiiataqUd6hDxAQdCe1PgIiNyQ9UBZunJBbabKGF0TCk+A==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@ant-design/charts": "^2.4.0", @@ -4118,16 +4118,16 @@ "antd": "5.22.x", "antd-style": "3.7.x", "classnames": "^2.5.1", - "dompurify": "^3.2.1", + "dompurify": "^3.4.8", "flexlayout-react": "^0.7.15", "framer-motion": "^11.11.17", "i18next": "^23.16.8", "immer": "^10.1.1", "inversify": "6.1.x", - "js-yaml": "^4.1.1", + "js-yaml": "^4.2.0", "leaflet": "^1.9.4", "leaflet-draw": "^1.0.4", - "lodash": "^4.17.21", + "lodash": "^4.18.0", "react": "18.3.x", "react-compiler-runtime": "^19.1.0-rc.2", "react-dom": "18.3.x", @@ -4135,7 +4135,7 @@ "react-i18next": "^14.1.3", "react-redux": "^9.1.2", "react-refresh": "^0.18.0", - "react-router-dom": "^6.28.0", + "react-router-dom": "^6.30.4", "reflect-metadata": "0.2.x", "ts-patch": "^3.3.0", "uuid": "^10.0.0" @@ -4631,9 +4631,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", - "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.3.tgz", + "integrity": "sha512-4An71tdz9X8+3sI4Qqqd2LWd9vS39J7sqd9EU4Scw7TJE/qB10Flv/UuqbPVgfQV9XoK8Np6jNquZitnZq5i+Q==", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -9612,9 +9612,9 @@ } }, "node_modules/dompurify": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.5.tgz", - "integrity": "sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==", + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.11.tgz", + "integrity": "sha512-zhlUV12GsaRzMsf9q5M254YhA4+VuF0fG+QFqu6aYpoGlKtz+w8//jBcGVYBgQkR5GHjUomejY84AV+/uPbWdw==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -14250,9 +14250,19 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -14652,9 +14662,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash.clonedeepwith": { @@ -17051,12 +17061,12 @@ } }, "node_modules/react-router": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", - "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", + "version": "6.30.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.4.tgz", + "integrity": "sha512-SVUsDe+DybHM/WmYKIVYhZh1o5Dcuf16yM6WjG02Q9XVFMZIJyHYhwrr6bFBXZkVP6z69kNkMyBCujt8FaFLJA==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.23.0" + "@remix-run/router": "1.23.3" }, "engines": { "node": ">=14.0.0" @@ -17066,13 +17076,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.0.tgz", - "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==", + "version": "6.30.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.4.tgz", + "integrity": "sha512-q4HvNl+mmDdkS0g+MqiBZNteQJCuimWoOyHMy4T/RQLAn9Z29+E91QXRaxOujeMl2HTzRSS0KFPd7lxX3PjV0Q==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.23.0", - "react-router": "6.30.0" + "@remix-run/router": "1.23.3", + "react-router": "6.30.4" }, "engines": { "node": ">=14.0.0" diff --git a/assets/package.json b/assets/package.json index 91bf95b..29996dc 100644 --- a/assets/package.json +++ b/assets/package.json @@ -56,7 +56,7 @@ "whatwg-fetch": "^3.6.20" }, "dependencies": { - "@pimcore/studio-ui-bundle": "1.0.0-canary.20260601-121358-42aa95d", + "@pimcore/studio-ui-bundle": "1.0.0-canary.20260707-113006-95e2480", "nodemon": "^3.1.10", "react": "18.3.x", "react-dom": "18.3.x", From 938154b6ecba7f546e0ad0194c954d42d868ea59 Mon Sep 17 00:00:00 2001 From: Marvin Bertram Date: Wed, 8 Jul 2026 06:59:18 +0000 Subject: [PATCH 4/5] Pin @pimcore/studio-ui-bundle to 2026.2.0 The custom-theme example imports theme dynamic-type APIs (DynamicTypeThemeAbstract, DynamicTypeThemeRegistry, studioThemeIds, PimcoreThemeConfig) that were added after the latest canary was cut. Stable 2026.2.0 is the first published version exporting them, so this fixes the failing CI type check. Co-Authored-By: Claude Opus 4.8 --- assets/package-lock.json | 8 ++++---- assets/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/package-lock.json b/assets/package-lock.json index 4d20d83..d318cba 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "PEL", "dependencies": { - "@pimcore/studio-ui-bundle": "1.0.0-canary.20260707-113006-95e2480", + "@pimcore/studio-ui-bundle": "2026.2.0", "nodemon": "^3.1.10", "react": "18.3.x", "react-dom": "18.3.x", @@ -4085,9 +4085,9 @@ } }, "node_modules/@pimcore/studio-ui-bundle": { - "version": "1.0.0-canary.20260707-113006-95e2480", - "resolved": "https://registry.npmjs.org/@pimcore/studio-ui-bundle/-/studio-ui-bundle-1.0.0-canary.20260707-113006-95e2480.tgz", - "integrity": "sha512-yEVLlwdw5/kpuACHJTBbyaNVvd/nVVwiqr3OUcP7fiiataqUd6hDxAQdCe1PgIiNyQ9UBZunJBbabKGF0TCk+A==", + "version": "2026.2.0", + "resolved": "https://registry.npmjs.org/@pimcore/studio-ui-bundle/-/studio-ui-bundle-2026.2.0.tgz", + "integrity": "sha512-OKqX981ugRZNTTV4LcU+o8i2KyOzUy/x7yVxz0tr+GB7VSnuG0nDWGuZOwFROttYnICUwO3STxjOdUzzH06LwA==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@ant-design/charts": "^2.4.0", diff --git a/assets/package.json b/assets/package.json index 29996dc..120e6ee 100644 --- a/assets/package.json +++ b/assets/package.json @@ -56,7 +56,7 @@ "whatwg-fetch": "^3.6.20" }, "dependencies": { - "@pimcore/studio-ui-bundle": "1.0.0-canary.20260707-113006-95e2480", + "@pimcore/studio-ui-bundle": "2026.2.0", "nodemon": "^3.1.10", "react": "18.3.x", "react-dom": "18.3.x", From f65abbc54cd69c4167cd0c09cf7cd44bd29a2832 Mon Sep 17 00:00:00 2001 From: vin0401 <26813978+vin0401@users.noreply.github.com> Date: Wed, 8 Jul 2026 07:02:26 +0000 Subject: [PATCH 5/5] Automatic frontend build --- .../entrypoints.json | 25 ------------ .../manifest.json | 38 ------------------- ...deration_expose_default_export.cb2e3981.js | 1 - .../build/entrypoints.json | 0 .../build/manifest.json | 0 .../entrypoints.json | 25 ++++++++++++ .../exposeRemote.js | 2 +- .../main.html | 2 +- .../manifest.json | 38 +++++++++++++++++++ .../mf-manifest.json | 4 +- .../mf-stats.json | 34 ++++++++--------- .../static/js/779.5e0d9af7.js | 0 .../static/js/779.5e0d9af7.js.LICENSE.txt | 0 .../static/js/async/798.5da9846f.js | 0 .../js/async/798.5da9846f.js.LICENSE.txt | 0 ...deration_expose_default_export.a9c4b35a.js | 1 + .../static/js/main.06485e1c.js | 0 .../static/js/remoteEntry.js | 2 +- .../static/js/remoteEntry.js.LICENSE.txt | 0 19 files changed, 86 insertions(+), 86 deletions(-) delete mode 100644 public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/entrypoints.json delete mode 100644 public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/manifest.json delete mode 100644 public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/__federation_expose_default_export.cb2e3981.js rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/build/entrypoints.json (100%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/build/manifest.json (100%) create mode 100644 public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/entrypoints.json rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/exposeRemote.js (75%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/main.html (71%) create mode 100644 public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/manifest.json rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/mf-manifest.json (99%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/mf-stats.json (97%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/static/js/779.5e0d9af7.js (100%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/static/js/779.5e0d9af7.js.LICENSE.txt (100%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/static/js/async/798.5da9846f.js (100%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/static/js/async/798.5da9846f.js.LICENSE.txt (100%) create mode 100644 public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/__federation_expose_default_export.a9c4b35a.js rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/static/js/main.06485e1c.js (100%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/static/js/remoteEntry.js (99%) rename public/build/{eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b => ecc17d80-0d1f-475f-b619-36d923c7844b}/static/js/remoteEntry.js.LICENSE.txt (100%) diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/entrypoints.json b/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/entrypoints.json deleted file mode 100644 index f958fb3..0000000 --- a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/entrypoints.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "entrypoints": { - "pimcore_studio_example_bundle": { - "js": [ - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/798.5da9846f.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/__federation_expose_default_export.cb2e3981.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js" - ], - "css": [] - }, - "main": { - "js": [ - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/779.5e0d9af7.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/main.06485e1c.js" - ], - "css": [] - }, - "exposeRemote": { - "js": [ - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/exposeRemote.js" - ], - "css": [] - } - } -} \ No newline at end of file diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/manifest.json b/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/manifest.json deleted file mode 100644 index ff96ea2..0000000 --- a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/manifest.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "allFiles": [ - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/__federation_expose_default_export.cb2e3981.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/main.06485e1c.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/798.5da9846f.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/779.5e0d9af7.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/mf-stats.json", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/mf-manifest.json", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/main.html" - ], - "entries": { - "pimcore_studio_example_bundle": { - "initial": { - "js": [ - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js" - ] - }, - "async": { - "js": [ - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/798.5da9846f.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/__federation_expose_default_export.cb2e3981.js" - ] - } - }, - "main": { - "html": [ - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/main.html" - ], - "initial": { - "js": [ - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/779.5e0d9af7.js", - "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/main.06485e1c.js" - ] - } - } - } -} \ No newline at end of file diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/__federation_expose_default_export.cb2e3981.js b/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/__federation_expose_default_export.cb2e3981.js deleted file mode 100644 index 416154a..0000000 --- a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/__federation_expose_default_export.cb2e3981.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkpimcore_studio_example_bundle=self.webpackChunkpimcore_studio_example_bundle||[]).push([["249"],{7967:function(e,t,n){n.r(t),n.d(t,{CustomObjectDatatypePlugin:()=>eU,CustomIconPlugin:()=>j,GdprDataExtractorPlugin:()=>ev,TabManagerPlugin:()=>C,CustomAssetTypePlugin:()=>eL,ListingPlugin:()=>ep,CustomGridColumnPlugin:()=>e0,CustomWidgetsPlugin:()=>N,MainNavEntryPlugin:()=>m,DataObjectContextMenuPlugin:()=>Y,CustomDocumentTypePlugin:()=>ew,AssetEditorToolbarButtonPlugin:()=>x,CustomDocumentEditablePlugin:()=>eW,WorkflowModalExtensionPlugin:()=>e4,ApiDataPlugin:()=>$,CustomObjectLayoutTypePlugin:()=>eY,DynamicTypePlugin:()=>z});var i=n(4723),r=n(6236),o=n(5893),a=n(5136),l=n.n(a),s=n(5907);let c=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Example Tool"}),(0,o.jsx)(s.Alert,{message:"Just a quick demo how to open main widgets from the main navigation menu."})]}),d={onInit:()=>{let e=i.container.get(r.serviceIds.mainNavRegistry);e.registerMainNavItem({path:"Example Plugin",icon:"pimcore"}),e.registerMainNavItem({path:"Example Plugin/Example Tool",widgetConfig:{name:"Example Tool",id:"example-tool",component:"example-tool",config:{icon:{type:"name",value:"pimcore"}}}}),i.container.get(r.serviceIds.widgetManager).registerWidget({name:"example-tool",component:c})}},m={name:"MainNavEntryPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(d)}};var g=n(6122),p=n(9190);let u=()=>{let e=(0,s.useAlertModal)(),{id:t}=(0,a.useContext)(p.AssetContext),{asset:n}=(0,p.useAssetDraft)(t);return(0,o.jsx)(o.Fragment,{children:(null==n?void 0:n.type)==="image"&&(0,o.jsx)(s.Button,{onClick:()=>{e.info({title:"Hello!",content:"Hello from the custom toolbar button! The button will only be shown for image assets. Have a nice day!"})},children:"Custom Image Button"})})},y={onInit:()=>{i.container.get(r.serviceIds["App/ComponentRegistry/ComponentRegistry"]).registerToSlot(g.componentConfig.asset.editor.toolbar.slots.left.name,{name:"customToolbarButton",component:u,priority:500})}},x={name:"AssetEditorToolbarButtonPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(y)}},b=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Example Tab"}),"This is an example tab."]}),h={onInit(){i.container.get(r.serviceIds["Asset/Editor/FolderTabManager"]).register({key:"example-folder-tab",label:"Example Folder Tab",icon:(0,o.jsx)(s.Icon,{value:"pimcore"}),children:(0,o.jsx)(b,{})})}},v=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"New preview tab"}),(0,o.jsx)(s.Alert,{message:(0,o.jsxs)("div",{children:["This is a new preview tab.",(0,o.jsx)("br",{}),"It replaces the default preview tab."]}),type:"info"})]}),T={onInit(){let e=i.container.get(r.serviceIds["DataObject/Editor/ObjectTabManager"]),t=e.getTab("preview");if(void 0===t)throw Error("Preview tab not found");e.register({...t,children:(0,o.jsx)(v,{})})}},C={name:"TabManagerPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(h),t.registerModule(T)}},D=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Custom Icons"}),(0,o.jsx)(s.Card,{children:(0,o.jsxs)(s.Flex,{align:"center",gap:"small",children:[(0,o.jsx)("h1",{children:"Icon Example"}),(0,o.jsx)(s.Icon,{options:{height:35,width:35,style:{rotate:"90deg"}},value:"rocket-example"})]})}),(0,o.jsxs)(s.Space,{direction:"vertical",size:"small",children:[(0,o.jsx)(s.IconButton,{icon:{value:"rocket-example"},size:"large",type:"default"}),(0,o.jsx)(s.IconTextButton,{icon:{value:"rocket-example"},children:"Rocket"}),(0,o.jsx)(s.IconTextButton,{icon:{value:"rocket-example"},type:"primary",children:"Rocket"})]})]}),f=e=>(0,o.jsx)("svg",{viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,o.jsx)("path",{d:"M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2l0 82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9l0-107.2c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z",fill:"currentColor"})}),I={onInit(){i.container.get(r.serviceIds.iconLibrary).register({name:"rocket-example",component:f}),i.container.get(r.serviceIds.mainNavRegistry).registerMainNavItem({path:"Example Plugin/Custom Icons",widgetConfig:{name:"Custom Icons",id:"custom-icon",component:"custom-icons",config:{icon:{type:"name",value:"rocket-example"}}}}),i.container.get(r.serviceIds.widgetManager).registerWidget({name:"custom-icons",component:D})}},j={name:"CustomIconPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(I)}};var E=n(8292);let S=()=>{let e=(0,E.useWidgetManager)(),[t,n]=l().useState(void 0),[i,r]=l().useState(void 0),a=void 0===i,c=[{name:"Example widget",component:"example-widget",config:{icon:{type:"name",value:"pimcore"}}},{name:"Example widget with fixed id",id:"example-widget-fixed-id",component:"example-widget",config:{icon:{type:"name",value:"pimcore"}}},{name:"Another example widget",component:"another-example-widget",config:{icon:{type:"name",value:"pimcore"}}}],d=c.map(e=>({label:e.name,value:e.name}));return(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Example widget"}),(0,o.jsx)("div",{children:"Select a widget:"}),(0,o.jsx)(s.Select,{minWidth:"normal",onChange:e=>{n(e),r(c.find(t=>t.name===e))},options:d,value:t}),void 0!==i&&(0,o.jsxs)(s.Space,{direction:"vertical",size:"small",children:[(0,o.jsx)(s.Button,{disabled:a,onClick:()=>{e.openMainWidget(i)},children:"Open main widget"}),(0,o.jsx)(s.Button,{disabled:a,onClick:()=>{e.openLeftWidget(i)},children:"Open left widget"}),(0,o.jsx)(s.Button,{disabled:a,onClick:()=>{e.openRightWidget(i)},children:"Open right widget"}),(0,o.jsx)(s.Button,{disabled:a,onClick:()=>{e.openBottomWidget(i)},children:"Open bottom widget"})]})]})},w=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Another example widget"}),(0,o.jsx)("div",{children:"This is another example widget."})]}),M=e=>{let{url:t="",height:n=600}=e;return""===t?(0,o.jsx)(s.Content,{padded:!0,children:(0,o.jsx)("div",{children:"No URL configured for this iframe widget."})}):(0,o.jsx)("iframe",{height:n,src:t,style:{border:"none",width:"100%",height:"100%"},title:"Iframe Widget"})},P={onInit:()=>{i.container.get(r.serviceIds.mainNavRegistry).registerMainNavItem({path:"Example Plugin/Custom Widgets",widgetConfig:{name:"Custom Widgets",id:"custom-widgets",component:"example-widget",config:{icon:{type:"name",value:"pimcore"}}}});let e=i.container.get(r.serviceIds.widgetManager);e.registerWidget({name:"example-widget",component:S}),e.registerWidget({name:"another-example-widget",component:w}),e.registerWidget({name:"example_iframe",component:M}),i.container.get(r.serviceIds["DynamicTypes/WidgetEditor/WidgetTypeRegistry"]).registerDynamicType(i.container.get("DynamicTypes/WidgetEditor/WidgetType/ExampleIframe"))}};var A=n(8395),B=n(2699);let R=()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.Form.Item,{label:"URL",name:"url",rules:[{required:!0,message:"Please enter a URL"}],children:(0,o.jsx)(s.Input,{placeholder:"https://example.com"})}),(0,o.jsx)(s.Form.Item,{label:"Height (px)",name:"height",children:(0,o.jsx)(s.InputNumber,{min:100,placeholder:"600"})})]});class L extends B.DynamicTypeWidgetTypeAbstract{form(){return(0,o.jsx)(R,{})}constructor(...e){super(...e),this.id="example_iframe",this.name="Iframe Widget",this.group="example-widgets",this.icon="mainDocument"}}L=(0,A.gn)([(0,r.injectable)()],L);let N={name:"CustomWidgetsPlugin",onInit(e){let{container:t}=e;t.bind("DynamicTypes/WidgetEditor/WidgetType/ExampleIframe").to(L)},onStartup(e){let{moduleSystem:t}=e;t.registerModule(P)}},k=[{id:"number-cell",accessorFn:e=>e["number-cell"],accessorKey:"number-cell",header:"Number",meta:{type:"number"}},{id:"text-cell",accessorFn:e=>e["text-cell"],accessorKey:"text-cell",header:"Text",meta:{type:"text"}},{id:"boolean-cell",accessorFn:e=>e["boolean-cell"],accessorKey:"boolean-cell",header:"Boolean",meta:{type:"boolean",editable:!1}},{id:"live-updating",accessorFn:e=>e["live-updating"],accessorKey:"live-updating",header:"Live Updating",meta:{type:"live-updating"}}],O=[{"number-cell":1,"text-cell":"Hello","live-updating":"2234","boolean-cell":!0},{"number-cell":2,"text-cell":"World","live-updating":"543","boolean-cell":!1},{"number-cell":3,"text-cell":"!","live-updating":"234","boolean-cell":!0}],F=()=>(0,o.jsx)(s.Grid,{columns:k,data:O}),_=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Dynamic types"}),(0,o.jsx)(F,{})]}),W={onInit:()=>{i.container.get(r.serviceIds.mainNavRegistry).registerMainNavItem({path:"Example Plugin/Dynamic Types",widgetConfig:{name:"Dynamic Types",id:"dynamic-types",component:"dynamic-types",config:{icon:{type:"name",value:"pimcore"}}}}),i.container.get(r.serviceIds.widgetManager).registerWidget({name:"dynamic-types",component:_}),i.container.get(r.serviceIds["DynamicTypes/GridCellRegistry"]).registerDynamicType(i.container.get("DynamicTypes/GridCell/LiveUpdatingCell"))}};var G=n(3096);let H=e=>{let{getValue:t}=e,[n,i]=(0,a.useState)(0);return(0,a.useEffect)(()=>{let e=setInterval(()=>{i(Math.floor(1e3*Math.random()))},2e3);return()=>{clearInterval(e)}},[]),(0,o.jsx)("div",{className:"default-cell__content",children:n})};class q extends G.DynamicTypeGridCellAbstract{getGridCellComponent(e){return(0,o.jsx)(H,{...e})}constructor(...e){super(...e),this.id="live-updating"}}q=(0,A.gn)([(0,r.injectable)()],q);let z={name:"DynamicTypePlugin",onInit(e){let{container:t}=e;t.bind("DynamicTypes/GridCell/LiveUpdatingCell").to(q)},onStartup(e){let{moduleSystem:t}=e;t.registerModule(W)}};var K=n(5047);let U=()=>{let{isLoading:e,data:t,isError:n,error:i}=(0,K.useAssetGetTreeQuery)({page:1,pageSize:10});return(0,a.useEffect)(()=>{n&&(0,g.trackError)(new g.ApiError(i))},[n]),(0,o.jsxs)(s.Content,{loading:e,padded:!0,children:[(0,o.jsx)(s.Header,{title:"API data"}),null==t?void 0:t.items.map(e=>(0,o.jsx)("div",{children:e.filename},e.id))]})},V={onInit(){i.container.get(r.serviceIds.mainNavRegistry).registerMainNavItem({path:"Example Plugin/Api Data",widgetConfig:{name:"Api Data",id:"api-data",component:"api-data-widget",config:{icon:{type:"name",value:"pimcore"}}}}),i.container.get(r.serviceIds.widgetManager).registerWidget({name:"api-data-widget",component:U})}},$={name:"ApiDataPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(V)}},Q={onInit(){let e=i.container.get(r.serviceIds["App/ContextMenuRegistry/ContextMenuRegistry"]),t=g.contextMenuConfig.dataObjectTree;e.registerToSlot(t.name,{name:"custom-item",priority:t.priority.rename-1,useMenuItem:e=>{let t=(0,s.useAlertModal)();return{key:"custom-item",label:"Custom Item",icon:(0,o.jsx)(s.Icon,{value:"pimcore"}),onClick:()=>{t.info({title:`Custom item clicked for data object with id: ${e.target.id}`,content:"This is a custom context menu item for the data object."})}}}}),e.updateSlotProvider(t.name,"delete",e=>({...e,useMenuItem:t=>{let n=e.useMenuItem(t);return null===n||"folder"!==t.target.type?null:{...n,label:"Customized Delete (visible only for folders)",icon:(0,o.jsx)(s.Icon,{subIconName:"pimcore",value:"trash"})}}}))}},Y={name:"DataObjectContextMenuPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(Q)}};var J=n(395);let X=()=>{let e=i.container.get("Cars/Listing/Builder");return(0,o.jsx)(J.DataObjectProvider,{id:1,children:(0,o.jsx)(J.BaseListing,{...e.build({props:{...J.listingDefaultProps,toolbarSlotName:"carsListing.toolbar"},config:{tagFilter:{enabled:!1}}})})})},Z=()=>(0,o.jsx)(X,{}),ee=(0,a.createContext)(void 0),et=e=>{let{children:t}=e,[n,i]=(0,a.useState)(null);return(0,a.useMemo)(()=>(0,o.jsx)(ee.Provider,{value:{pqlFilter:n,setPqlFilter:i},children:t}),[n,t])},en=()=>{let e=(0,a.useContext)(ee);if(void 0===e)throw Error("usePqlFilterContext must be used within a PqlFilterProvider");return e},ei=e=>()=>(0,o.jsx)(et,{children:(0,o.jsx)(e,{})}),er=()=>{let{pqlFilter:e,setPqlFilter:t}=en(),n=[{label:"All E-Type models which are green or produced before 1965.",pql:'series = "E-Type" AND (color = "green" OR productionYear < 1965)'},{label:"All Alfa cars produced after 1965",pql:'manufacturer:Manufacturer.name = "Alfa" AND productionYear > 1965'},{label:"All red or blue cars using standard PQL syntax.",pql:'color = "red" OR color = "blue"'}].map(e=>({label:e.label,value:e.pql}));return(0,o.jsx)(s.ContentLayout,{children:(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Predefined PQL Filter"}),(0,o.jsx)(s.Select,{allowClear:!0,className:"w-full",onChange:t,options:n,value:e})]})})},eo=e=>()=>{let{getProps:t}=e();return{getProps:()=>{let e=t();return e.entries.unshift({key:"pql-filter",component:(0,o.jsx)(er,{}),icon:(0,o.jsx)(s.Icon,{value:"pimcore"})}),e}}},ea=e=>()=>{let{getArgs:t,...n}=e(),{pqlFilter:i}=en();return{...n,getArgs:()=>{var e,n,r;let o=t();return{...o,body:{...o.body,filters:{...null==(e=o.body)?void 0:e.filters,columnFilters:[...(null==(r=o.body)||null==(n=r.filters)?void 0:n.columnFilters)??[],...null!==i?[{type:"system.pql",locale:null,filterValue:i}]:[]]}}}}}},el=e=>{let{useSidebarOptions:t,ContextComponent:n,useDataQueryHelper:i}=e;return{...e,ContextComponent:ei(n),useSidebarOptions:eo(t),useDataQueryHelper:ea(i)}},es=e=>t=>(0,o.jsx)(s.ContentLayout,{renderTopBar:(0,o.jsx)(s.Toolbar,{position:"top",theme:"secondary",children:(0,o.jsx)(s.Header,{title:"Cars"})}),children:(0,o.jsx)(e,{})}),ec=e=>{let{ViewComponent:t}=e;return{...e,ViewComponent:es(t)}},ed=()=>(0,o.jsxs)(s.Toolbar,{theme:"secondary",children:[(0,o.jsx)(s.Flex,{gap:"small",children:(0,o.jsx)(g.SlotRenderer,{slot:"carsListing.toolbar.left"})}),(0,o.jsx)(s.Flex,{gap:"small",children:(0,o.jsx)(g.SlotRenderer,{slot:"carsListing.toolbar.right"})})]}),em=()=>(0,o.jsx)(s.Button,{children:"Injected Plugin Button"}),eg={onInit:()=>{let e=i.container.get(r.serviceIds.mainNavRegistry);e.registerMainNavItem({path:"Example Plugin",icon:"pimcore"}),e.registerMainNavItem({path:"Example Plugin/Listing Examples/Cars Listing",widgetConfig:{name:"Cars",id:"cars-listing",component:"cars-listing",config:{icon:{type:"name",value:"car"}}}}),i.container.get(r.serviceIds.widgetManager).registerWidget({name:"cars-listing",component:Z}),i.container.bind("Cars/Listing/Builder").toConstantValue(i.container.get("DataObject/Listing/Builder").copy());let t=i.container.get("Cars/Listing/Builder");t.addDecorator({name:"pql-filter",decorator:el}),t.addDecorator({name:"header",decorator:ec}),t.removeDecorator("generalFilters");let n=t.getDecorator("classDefinitionSelection");if(void 0!==n){let e={...n.config,classRestriction:[{classes:"Car"}]};t.overrideDecorator({name:"classDefinitionSelection",config:e})}let o=i.container.get(r.serviceIds["App/ComponentRegistry/ComponentRegistry"]);o.registerConfig({carsListing:{toolbar:{component:{name:"carsListing.toolbar",type:g.ComponentType.SINGLE},left:{type:g.ComponentType.SLOT,name:"carsListing.toolbar.left"},right:{type:g.ComponentType.SLOT,name:"carsListing.toolbar.right"}}}}),o.register({name:"carsListing.toolbar",component:ed});let a=o.getSlotComponents(g.componentConfig.dataObject.listing.toolbar.left.name),l=o.getSlotComponents(g.componentConfig.dataObject.listing.toolbar.right.name);for(let e of a)o.registerToSlot("carsListing.toolbar.left",e);for(let e of(o.registerToSlot("carsListing.toolbar.right",{name:"extraButton",component:em}),l))o.registerToSlot("carsListing.toolbar.right",e);o.getSlotComponents("carsListing.toolbar.left")}},ep={name:"ListingPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(eg)}};var eu=n(9277),ey=n(8388);let ex=e=>{let{data:t,providerKey:n,refresh:i,onSortingChange:r,...a}=e,l=(0,ey.Cl)(),c=[l.accessor("id",{header:"ID",size:80}),l.accessor("name",{header:"Name"}),l.accessor("lastname",{header:"LastName"}),l.accessor("actions",{header:"Actions",size:80,enableSorting:!1,cell:e=>{let{row:t}=e,r=t.original;return(0,o.jsxs)(s.Flex,{children:[(0,o.jsx)(eu.ExportButton,{id:r.id,providerKey:n,tooltip:{title:"Export"}}),r.__gdprIsDeletable&&(0,o.jsx)(s.IconButton,{icon:{value:"trash"},onClick:()=>{null==i||i()},tooltip:{title:"Delete"}})]})}})];return(0,o.jsx)(s.Grid,{autoWidth:!0,columns:c,data:t.map(e=>e.data),enableSorting:!0,...a})};class eb extends eu.DynamicTypeAbstractGDPRProvider{getTabContent(e){return(0,o.jsx)(ex,{...e})}constructor(...e){super(...e),this.id="my_data_provider"}}eb=(0,A.gn)([(0,r.injectable)()],eb);let eh={onInit:()=>{i.container.get(r.serviceIds["DynamicTypes/GDPRProviderRegistry"]).registerDynamicType(i.container.get("ExampleBundle/DynamicTypes/GDPRProvider/MyProvider"))}},ev={name:"GdprDataExtractorPlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/GDPRProvider/MyProvider").to(eb).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eh)}};var eT=n(3172);class eC extends G.TabManager{constructor(){super(),this.type="book"}}eC=(0,A.gn)([(0,r.injectable)(),(0,A.w6)("design:type",Function),(0,A.w6)("design:paramtypes",[])],eC);let eD="ExampleBundle/Document/Editor/BookTabManager",ef=()=>{i.container.get(r.serviceIds["Document/Editor/TypeRegistry"]).register({name:"book",tabManagerServiceId:eD})},eI=()=>{let e=i.container.get(eD);e.register(eT.TAB_EDIT),e.register(eT.TAB_PREVIEW),e.register(G.TAB_PROPERTIES),e.register(eT.TAB_VERSIONS),e.register(G.TAB_DEPENDENCIES),e.register(G.TAB_NOTES_AND_EVENTS),e.register(G.TAB_TAGS),e.register(G.TAB_WORKFLOW)},ej=()=>{let e=i.container.get("Document/Editor/Sidebar/BookSidebarManager");e.registerEntry(eT.SIDEBAR_AREABLOCK_TYPES),e.registerEntry(eT.SIDEBAR_CONTENT_SETTINGS),e.registerEntry(eT.SIDEBAR_DOCUMENT_CONFIGURATION)},eE=()=>{let e=i.container.get(r.serviceIds["App/ContextMenuRegistry/ContextMenuRegistry"]),t=g.contextMenuConfig.documentTree;e.registerToSlot(t.name,{name:"addBook",priority:t.priority.addHardlink+2,useMenuItem:e=>{let{t}=(0,r.useTranslation)(),{addDocumentTreeContextMenuItem:n}=(0,eT.useAddDocument)({type:"book",iconValue:"book",contextMenuKey:"addBook",formType:eT.AddDocumentFormType.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-book","Add Book")});return n(e.target)}})},eS={onInit:()=>{ef(),eI(),ej(),eE()}},ew={name:"CustomDocumentTypePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/Document/Editor/BookTabManager").to(eC).inSingletonScope(),t.bind("Document/Editor/Sidebar/BookSidebarManager").to(eT.DocumentSidebarManager).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eS)}};class eM extends G.TabManager{constructor(){super(),this.type="indesign"}}eM=(0,A.gn)([(0,r.injectable)(),(0,A.w6)("design:type",Function),(0,A.w6)("design:paramtypes",[])],eM);let eP="ExampleBundle/Asset/Editor/InDesignTabManager",eA=()=>{i.container.get(r.serviceIds["Asset/Editor/TypeRegistry"]).register({name:"indesign",tabManagerServiceId:eP})},eB=()=>{let e=i.container.get(eP);e.register(p.TAB_CUSTOM_METADATA),e.register(G.TAB_PROPERTIES),e.register(p.TAB_VERSIONS),e.register(G.TAB_DEPENDENCIES),e.register(G.TAB_NOTES_AND_EVENTS),e.register(G.TAB_TAGS),e.register(G.TAB_WORKFLOW)},eR={onInit:()=>{eA(),eB()}},eL={name:"CustomAssetTypePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/Asset/Editor/InDesignTabManager").to(eM).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eR)}};var eN=n(2036);let ek=(0,n(7468).kc)(e=>{let{token:t}=e;return{markdownTextarea:{fontFamily:"monospace",padding:"8px",border:`1px solid ${t.colorBorder}`,borderRadius:`${t.borderRadius}px`,resize:"both",outline:"none","&:hover":{borderColor:t.colorPrimaryHover},"&:focus":{borderColor:t.colorPrimary,boxShadow:`0 0 0 2px ${t.colorPrimaryBg}`}}}}),eO=e=>{let{value:t,onChange:n,config:i,inherited:r=!1}=e,{styles:a}=ek();return(0,o.jsx)(eT.InheritanceOverlay,{isInherited:r,onOverwrite:()=>{null==n||n(t??"")},children:(0,o.jsx)("textarea",{className:`${a.markdownTextarea} ${(null==i?void 0:i.class)??""}`.trim(),onChange:e=>{null==n||n(e.target.value)},placeholder:null==i?void 0:i.placeholder,style:{width:(null==i?void 0:i.width)??600,height:(null==i?void 0:i.height)??300},value:t??""})})};class eF extends G.DynamicTypeDocumentEditableAbstract{getEditableDataComponent(e){return(0,o.jsx)(eO,{config:e.config,inherited:e.inherited})}isEmpty(e,t){return!(0,eN.isNonEmptyString)(e)}constructor(...e){super(...e),this.id="markdown"}}eF=(0,A.gn)([(0,r.injectable)()],eF);let e_={onInit:()=>{i.container.get(r.serviceIds["DynamicTypes/DocumentEditableRegistry"]).registerDynamicType(i.container.get("ExampleBundle/DynamicTypes/DocumentEditable/Markdown"))}},eW={name:"CustomDocumentEditablePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/DocumentEditable/Markdown").to(eF).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(e_)}};var eG=n(4345);class eH extends G.DynamicTypeObjectDataAbstractInput{getObjectDataComponent(e){return super.getObjectDataComponent(e)}getDefaultGridColumnWidth(){return 350}constructor(...e){super(...e),this.id="simpleText",this.dynamicTypeFieldFilterType=i.container.get(r.serviceIds["DynamicTypes/FieldFilter/String"])}}eH=(0,A.gn)([(0,eG.b2)()],eH);var eq=n(8407);class ez extends eq.DynamicTypeFieldDefinitionDataAbstract{getIcon(){return{type:"name",value:"text-input"}}getGroup(){return[...super.getGroup(),"text"]}getSpecificFormFields(){return(0,o.jsx)(o.Fragment,{})}constructor(...e){super(...e),this.id="simpleText"}}ez=(0,A.gn)([(0,eG.b2)()],ez);let eK={onInit:()=>{i.container.get(r.serviceIds["DynamicTypes/ObjectDataRegistry"]).registerDynamicType(i.container.get("ExampleBundle/DynamicTypes/ObjectData/SimpleText")),i.container.get(r.serviceIds["DynamicTypes/FieldDefinitionRegistry"]).registerDynamicType(i.container.get("ExampleBundle/DynamicTypes/FieldDefinition/SimpleText"))}},eU={name:"CustomObjectDatatypePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/ObjectData/SimpleText").to(eH).inSingletonScope(),t.bind("ExampleBundle/DynamicTypes/FieldDefinition/SimpleText").to(ez).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eK)}};class eV extends G.DynamicTypeObjectLayoutAbstract{getObjectLayoutComponent(e){return(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:e.html??""}})}constructor(...e){super(...e),this.id="simpleTextLayout"}}eV=(0,A.gn)([(0,eG.b2)()],eV);class e$ extends eq.DynamicTypeFieldDefinitionLayoutAbstract{getIcon(){return{type:"name",value:"text-field"}}getGroup(){return[...super.getGroup(),"text"]}getDefaultData(){return{...super.getDefaultData(),html:""}}getSpecificFormFields(){return(0,o.jsx)(s.Form.Item,{label:"HTML Content",name:"html",children:(0,o.jsx)(s.TextArea,{rows:6})})}constructor(...e){super(...e),this.id="simpleTextLayout"}}e$=(0,A.gn)([(0,eG.b2)()],e$);let eQ={onInit:()=>{i.container.get(r.serviceIds["DynamicTypes/ObjectLayoutRegistry"]).registerDynamicType(i.container.get("ExampleBundle/DynamicTypes/ObjectLayout/SimpleTextLayout")),i.container.get(r.serviceIds["DynamicTypes/FieldDefinitionRegistry"]).registerDynamicType(i.container.get("ExampleBundle/DynamicTypes/FieldDefinition/SimpleTextLayout"))}},eY={name:"CustomObjectLayoutTypePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/ObjectLayout/SimpleTextLayout").to(eV).inSingletonScope(),t.bind("ExampleBundle/DynamicTypes/FieldDefinition/SimpleTextLayout").to(e$).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eQ)}},eJ=e=>{let t=Number(e.getValue()),n=Math.min(100,Math.max(0,isNaN(t)?0:t)),i={width:`${n}%`,height:"100%",backgroundColor:n<30?"#f5222d":n<=70?"#faad14":"#52c41a",borderRadius:4,transition:"width 0.3s ease"};return(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"0 8px"},children:[(0,o.jsx)("div",{style:{flex:1,height:16,backgroundColor:"#f0f0f0",borderRadius:4,overflow:"hidden"},children:(0,o.jsx)("div",{style:i})}),(0,o.jsxs)("span",{style:{fontSize:12,whiteSpace:"nowrap",minWidth:36,textAlign:"right"},children:[n,"%"]})]})};class eX extends G.DynamicTypeGridCellAbstract{getGridCellComponent(e){return(0,o.jsx)(eJ,{...e})}getDefaultGridColumnWidth(){return 180}constructor(...e){super(...e),this.id="progressBar"}}eX=(0,A.gn)([(0,eG.b2)()],eX);let eZ={onInit:()=>{i.container.get(r.serviceIds["DynamicTypes/GridCellRegistry"]).registerDynamicType(i.container.get("ExampleBundle/DynamicTypes/GridCell/ProgressBar"))}},e0={name:"CustomGridColumnPlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/GridCell/ProgressBar").to(eX).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eZ)}};var e1=n(4654);let e2=()=>{let{triggeredWorkflowAction:e}=(0,G.useWorkflow)(),t=(null==e?void 0:e.workflowId)==="simple_approval"&&(null==e?void 0:e.transitionId)==="request_review",{data:n,isLoading:i}=(0,e1.useUserGetCollectionQuery)(void 0,{skip:!t});if(!t)return null;let r=((null==n?void 0:n.items)??[]).map(e=>({label:e.username,value:e.id}));return(0,o.jsx)(s.Form.Item,{label:"Reviewers",name:"reviewers",rules:[{required:!0,message:"Please select at least one reviewer."}],children:(0,o.jsx)(s.Select,{loading:i,mode:"multiple",options:r,placeholder:"Select reviewers"})})},e3={onInit(){i.container.get(r.serviceIds["App/ComponentRegistry/ComponentRegistry"]).registerToSlot(g.componentConfig.element.editor.workflow.modal.slots.center.name,{name:"reviewers",priority:100,component:e2})}},e4={name:"WorkflowModalExtensionPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(e3)}}}}]); \ No newline at end of file diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/build/entrypoints.json b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/build/entrypoints.json similarity index 100% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/build/entrypoints.json rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/build/entrypoints.json diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/build/manifest.json b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/build/manifest.json similarity index 100% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/build/manifest.json rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/build/manifest.json diff --git a/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/entrypoints.json b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/entrypoints.json new file mode 100644 index 0000000..fd43986 --- /dev/null +++ b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/entrypoints.json @@ -0,0 +1,25 @@ +{ + "entrypoints": { + "pimcore_studio_example_bundle": { + "js": [ + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/798.5da9846f.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/__federation_expose_default_export.a9c4b35a.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js" + ], + "css": [] + }, + "main": { + "js": [ + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/779.5e0d9af7.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/main.06485e1c.js" + ], + "css": [] + }, + "exposeRemote": { + "js": [ + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/exposeRemote.js" + ], + "css": [] + } + } +} \ No newline at end of file diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/exposeRemote.js b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/exposeRemote.js similarity index 75% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/exposeRemote.js rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/exposeRemote.js index 3cd56b8..b5191c8 100644 --- a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/exposeRemote.js +++ b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/exposeRemote.js @@ -7,7 +7,7 @@ window.alternativePluginExportPaths = {} } - window.pluginRemotes.pimcore_studio_example_bundle = "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js" + window.pluginRemotes.pimcore_studio_example_bundle = "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js" \ No newline at end of file diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/main.html b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/main.html similarity index 71% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/main.html rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/main.html index bc78e35..4ee3ca0 100644 --- a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/main.html +++ b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/main.html @@ -1 +1 @@ -Rsbuild App
\ No newline at end of file +Rsbuild App
\ No newline at end of file diff --git a/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/manifest.json b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/manifest.json new file mode 100644 index 0000000..29c52ea --- /dev/null +++ b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/manifest.json @@ -0,0 +1,38 @@ +{ + "allFiles": [ + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/__federation_expose_default_export.a9c4b35a.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/main.06485e1c.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/798.5da9846f.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/779.5e0d9af7.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/mf-stats.json", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/mf-manifest.json", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/main.html" + ], + "entries": { + "pimcore_studio_example_bundle": { + "initial": { + "js": [ + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js" + ] + }, + "async": { + "js": [ + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/798.5da9846f.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/__federation_expose_default_export.a9c4b35a.js" + ] + } + }, + "main": { + "html": [ + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/main.html" + ], + "initial": { + "js": [ + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/779.5e0d9af7.js", + "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/main.06485e1c.js" + ] + } + } + } +} \ No newline at end of file diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/mf-manifest.json b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/mf-manifest.json similarity index 99% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/mf-manifest.json rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/mf-manifest.json index 6cbb584..43ce884 100644 --- a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/mf-manifest.json +++ b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/mf-manifest.json @@ -22,7 +22,7 @@ "globalName": "pimcore_studio_example_bundle", "pluginVersion": "0.13.1", "prefetchInterface": false, - "publicPath": "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/" + "publicPath": "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/" }, "shared": [ { @@ -166,7 +166,7 @@ "js": { "sync": [ "static/js/async/798.5da9846f.js", - "static/js/async/__federation_expose_default_export.cb2e3981.js" + "static/js/async/__federation_expose_default_export.a9c4b35a.js" ], "async": [] }, diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/mf-stats.json b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/mf-stats.json similarity index 97% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/mf-stats.json rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/mf-stats.json index 26777d3..6fa6392 100644 --- a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/mf-stats.json +++ b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/mf-stats.json @@ -22,7 +22,7 @@ "globalName": "pimcore_studio_example_bundle", "pluginVersion": "0.13.1", "prefetchInterface": false, - "publicPath": "/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/" + "publicPath": "/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/" }, "shared": [ { @@ -81,7 +81,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/document", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -91,7 +91,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": ".", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -101,7 +101,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "app", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -111,7 +111,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "components", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -121,7 +121,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/app", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -131,7 +131,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/asset", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -141,7 +141,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/widget-editor", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -151,7 +151,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/element", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -161,7 +161,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/gdpr-data-extractor", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -171,7 +171,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "utils", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -181,7 +181,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/field-definitions", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -191,7 +191,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/widget-manager", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -201,7 +201,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "api/asset", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -211,7 +211,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "api/user", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" }, @@ -221,7 +221,7 @@ "federationContainerName": "promise new Promise((resolve) => {\n const emptyContainer = {\n get: () => Promise.resolve(() => ({})),\n init: () => {}\n }\n\n const remoteUrl = window.StudioUIBundleRemoteUrl\n\n if (!remoteUrl) {\n throw new Error('Required remote \"pimcore_studio_ui_bundle\" is not available');\n return\n }\n\n // Check if the container is already available\n if (window['pimcore_studio_ui_bundle']) {\n resolve({\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n })\n return\n }\n\n const script = document.createElement('script')\n script.src = remoteUrl\n script.onload = () => {\n const proxy = {\n get: (request) => window['pimcore_studio_ui_bundle'].get(request),\n init: (...arg) => {\n try {\n return window['pimcore_studio_ui_bundle'].init(...arg)\n } catch(e) {\n console.log('remote container already initialized')\n }\n }\n }\n resolve(proxy)\n }\n script.onerror = () => {\n throw new Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from ' + remoteUrl);\n }\n document.head.appendChild(script);\n })\n ", "moduleName": "modules/data-object", "usedIn": [ - "js/src/plugins.ts + 76 modules" + "js/src/plugins.ts + 79 modules" ], "version": "*" } @@ -239,7 +239,7 @@ "js": { "sync": [ "static/js/async/798.5da9846f.js", - "static/js/async/__federation_expose_default_export.cb2e3981.js" + "static/js/async/__federation_expose_default_export.a9c4b35a.js" ], "async": [] }, diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/779.5e0d9af7.js b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/779.5e0d9af7.js similarity index 100% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/779.5e0d9af7.js rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/779.5e0d9af7.js diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/779.5e0d9af7.js.LICENSE.txt b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/779.5e0d9af7.js.LICENSE.txt similarity index 100% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/779.5e0d9af7.js.LICENSE.txt rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/779.5e0d9af7.js.LICENSE.txt diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/798.5da9846f.js b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/798.5da9846f.js similarity index 100% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/798.5da9846f.js rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/798.5da9846f.js diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/798.5da9846f.js.LICENSE.txt b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/798.5da9846f.js.LICENSE.txt similarity index 100% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/async/798.5da9846f.js.LICENSE.txt rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/798.5da9846f.js.LICENSE.txt diff --git a/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/__federation_expose_default_export.a9c4b35a.js b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/__federation_expose_default_export.a9c4b35a.js new file mode 100644 index 0000000..165524c --- /dev/null +++ b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/async/__federation_expose_default_export.a9c4b35a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkpimcore_studio_example_bundle=self.webpackChunkpimcore_studio_example_bundle||[]).push([["249"],{2450:function(e,t,n){n.r(t),n.d(t,{CustomObjectDatatypePlugin:()=>eK,CustomIconPlugin:()=>f,GdprDataExtractorPlugin:()=>eT,TabManagerPlugin:()=>C,CustomAssetTypePlugin:()=>eL,ListingPlugin:()=>eu,CustomGridColumnPlugin:()=>e0,CustomWidgetsPlugin:()=>R,CustomThemePlugin:()=>e3,DataObjectContextMenuPlugin:()=>Y,CustomDocumentTypePlugin:()=>eA,AssetEditorToolbarButtonPlugin:()=>x,CustomDocumentEditablePlugin:()=>eW,MainNavEntryPlugin:()=>m,WorkflowModalExtensionPlugin:()=>e5,ApiDataPlugin:()=>Q,CustomObjectLayoutTypePlugin:()=>eY,DynamicTypePlugin:()=>q});var r=n(4723),i=n(6236),o=n(5893),a=n(5136),l=n.n(a),s=n(5907);let c=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Example Tool"}),(0,o.jsx)(s.Alert,{message:"Just a quick demo how to open main widgets from the main navigation menu."})]}),d={onInit:()=>{let e=r.container.get(i.serviceIds.mainNavRegistry);e.registerMainNavItem({path:"Example Plugin",icon:"pimcore"}),e.registerMainNavItem({path:"Example Plugin/Example Tool",widgetConfig:{name:"Example Tool",id:"example-tool",component:"example-tool",config:{icon:{type:"name",value:"pimcore"}}}}),r.container.get(i.serviceIds.widgetManager).registerWidget({name:"example-tool",component:c})}},m={name:"MainNavEntryPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(d)}};var g=n(6122),u=n(9190);let p=()=>{let e=(0,s.useAlertModal)(),{id:t}=(0,a.useContext)(u.AssetContext),{asset:n}=(0,u.useAssetDraft)(t);return(0,o.jsx)(o.Fragment,{children:(null==n?void 0:n.type)==="image"&&(0,o.jsx)(s.Button,{onClick:()=>{e.info({title:"Hello!",content:"Hello from the custom toolbar button! The button will only be shown for image assets. Have a nice day!"})},children:"Custom Image Button"})})},y={onInit:()=>{r.container.get(i.serviceIds["App/ComponentRegistry/ComponentRegistry"]).registerToSlot(g.componentConfig.asset.editor.toolbar.slots.left.name,{name:"customToolbarButton",component:p,priority:500})}},x={name:"AssetEditorToolbarButtonPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(y)}},b=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Example Tab"}),"This is an example tab."]}),v={onInit(){r.container.get(i.serviceIds["Asset/Editor/FolderTabManager"]).register({key:"example-folder-tab",label:"Example Folder Tab",icon:(0,o.jsx)(s.Icon,{value:"pimcore"}),children:(0,o.jsx)(b,{})})}},T=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"New preview tab"}),(0,o.jsx)(s.Alert,{message:(0,o.jsxs)("div",{children:["This is a new preview tab.",(0,o.jsx)("br",{}),"It replaces the default preview tab."]}),type:"info"})]}),h={onInit(){let e=r.container.get(i.serviceIds["DataObject/Editor/ObjectTabManager"]),t=e.getTab("preview");if(void 0===t)throw Error("Preview tab not found");e.register({...t,children:(0,o.jsx)(T,{})})}},C={name:"TabManagerPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(v),t.registerModule(h)}},E=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Custom Icons"}),(0,o.jsx)(s.Card,{children:(0,o.jsxs)(s.Flex,{align:"center",gap:"small",children:[(0,o.jsx)("h1",{children:"Icon Example"}),(0,o.jsx)(s.Icon,{options:{height:35,width:35,style:{rotate:"90deg"}},value:"rocket-example"})]})}),(0,o.jsxs)(s.Space,{direction:"vertical",size:"small",children:[(0,o.jsx)(s.IconButton,{icon:{value:"rocket-example"},size:"large",type:"default"}),(0,o.jsx)(s.IconTextButton,{icon:{value:"rocket-example"},children:"Rocket"}),(0,o.jsx)(s.IconTextButton,{icon:{value:"rocket-example"},type:"primary",children:"Rocket"})]})]}),D=e=>(0,o.jsx)("svg",{viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,o.jsx)("path",{d:"M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2l0 82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9l0-107.2c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z",fill:"currentColor"})}),I={onInit(){r.container.get(i.serviceIds.iconLibrary).register({name:"rocket-example",component:D}),r.container.get(i.serviceIds.mainNavRegistry).registerMainNavItem({path:"Example Plugin/Custom Icons",widgetConfig:{name:"Custom Icons",id:"custom-icon",component:"custom-icons",config:{icon:{type:"name",value:"rocket-example"}}}}),r.container.get(i.serviceIds.widgetManager).registerWidget({name:"custom-icons",component:E})}},f={name:"CustomIconPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(I)}};var j=n(8292);let S=()=>{let e=(0,j.useWidgetManager)(),[t,n]=l().useState(void 0),[r,i]=l().useState(void 0),a=void 0===r,c=[{name:"Example widget",component:"example-widget",config:{icon:{type:"name",value:"pimcore"}}},{name:"Example widget with fixed id",id:"example-widget-fixed-id",component:"example-widget",config:{icon:{type:"name",value:"pimcore"}}},{name:"Another example widget",component:"another-example-widget",config:{icon:{type:"name",value:"pimcore"}}}],d=c.map(e=>({label:e.name,value:e.name}));return(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Example widget"}),(0,o.jsx)("div",{children:"Select a widget:"}),(0,o.jsx)(s.Select,{minWidth:"normal",onChange:e=>{n(e),i(c.find(t=>t.name===e))},options:d,value:t}),void 0!==r&&(0,o.jsxs)(s.Space,{direction:"vertical",size:"small",children:[(0,o.jsx)(s.Button,{disabled:a,onClick:()=>{e.openMainWidget(r)},children:"Open main widget"}),(0,o.jsx)(s.Button,{disabled:a,onClick:()=>{e.openLeftWidget(r)},children:"Open left widget"}),(0,o.jsx)(s.Button,{disabled:a,onClick:()=>{e.openRightWidget(r)},children:"Open right widget"}),(0,o.jsx)(s.Button,{disabled:a,onClick:()=>{e.openBottomWidget(r)},children:"Open bottom widget"})]})]})},A=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Another example widget"}),(0,o.jsx)("div",{children:"This is another example widget."})]}),B=e=>{let{url:t="",height:n=600}=e;return""===t?(0,o.jsx)(s.Content,{padded:!0,children:(0,o.jsx)("div",{children:"No URL configured for this iframe widget."})}):(0,o.jsx)("iframe",{height:n,src:t,style:{border:"none",width:"100%",height:"100%"},title:"Iframe Widget"})},P={onInit:()=>{r.container.get(i.serviceIds.mainNavRegistry).registerMainNavItem({path:"Example Plugin/Custom Widgets",widgetConfig:{name:"Custom Widgets",id:"custom-widgets",component:"example-widget",config:{icon:{type:"name",value:"pimcore"}}}});let e=r.container.get(i.serviceIds.widgetManager);e.registerWidget({name:"example-widget",component:S}),e.registerWidget({name:"another-example-widget",component:A}),e.registerWidget({name:"example_iframe",component:B}),r.container.get(i.serviceIds["DynamicTypes/WidgetEditor/WidgetTypeRegistry"]).registerDynamicType(r.container.get("DynamicTypes/WidgetEditor/WidgetType/ExampleIframe"))}};var w=n(8395),M=n(2699);let F=()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.Form.Item,{label:"URL",name:"url",rules:[{required:!0,message:"Please enter a URL"}],children:(0,o.jsx)(s.Input,{placeholder:"https://example.com"})}),(0,o.jsx)(s.Form.Item,{label:"Height (px)",name:"height",children:(0,o.jsx)(s.InputNumber,{min:100,placeholder:"600"})})]});class L extends M.DynamicTypeWidgetTypeAbstract{form(){return(0,o.jsx)(F,{})}constructor(...e){super(...e),this.id="example_iframe",this.name="Iframe Widget",this.group="example-widgets",this.icon="mainDocument"}}L=(0,w.gn)([(0,i.injectable)()],L);let R={name:"CustomWidgetsPlugin",onInit(e){let{container:t}=e;t.bind("DynamicTypes/WidgetEditor/WidgetType/ExampleIframe").to(L)},onStartup(e){let{moduleSystem:t}=e;t.registerModule(P)}},k=[{id:"number-cell",accessorFn:e=>e["number-cell"],accessorKey:"number-cell",header:"Number",meta:{type:"number"}},{id:"text-cell",accessorFn:e=>e["text-cell"],accessorKey:"text-cell",header:"Text",meta:{type:"text"}},{id:"boolean-cell",accessorFn:e=>e["boolean-cell"],accessorKey:"boolean-cell",header:"Boolean",meta:{type:"boolean",editable:!1}},{id:"live-updating",accessorFn:e=>e["live-updating"],accessorKey:"live-updating",header:"Live Updating",meta:{type:"live-updating"}}],O=[{"number-cell":1,"text-cell":"Hello","live-updating":"2234","boolean-cell":!0},{"number-cell":2,"text-cell":"World","live-updating":"543","boolean-cell":!1},{"number-cell":3,"text-cell":"!","live-updating":"234","boolean-cell":!0}],N=()=>(0,o.jsx)(s.Grid,{columns:k,data:O}),_=()=>(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Dynamic types"}),(0,o.jsx)(N,{})]}),W={onInit:()=>{r.container.get(i.serviceIds.mainNavRegistry).registerMainNavItem({path:"Example Plugin/Dynamic Types",widgetConfig:{name:"Dynamic Types",id:"dynamic-types",component:"dynamic-types",config:{icon:{type:"name",value:"pimcore"}}}}),r.container.get(i.serviceIds.widgetManager).registerWidget({name:"dynamic-types",component:_}),r.container.get(i.serviceIds["DynamicTypes/GridCellRegistry"]).registerDynamicType(r.container.get("DynamicTypes/GridCell/LiveUpdatingCell"))}};var G=n(3096);let H=e=>{let{getValue:t}=e,[n,r]=(0,a.useState)(0);return(0,a.useEffect)(()=>{let e=setInterval(()=>{r(Math.floor(1e3*Math.random()))},2e3);return()=>{clearInterval(e)}},[]),(0,o.jsx)("div",{className:"default-cell__content",children:n})};class U extends G.DynamicTypeGridCellAbstract{getGridCellComponent(e){return(0,o.jsx)(H,{...e})}constructor(...e){super(...e),this.id="live-updating"}}U=(0,w.gn)([(0,i.injectable)()],U);let q={name:"DynamicTypePlugin",onInit(e){let{container:t}=e;t.bind("DynamicTypes/GridCell/LiveUpdatingCell").to(U)},onStartup(e){let{moduleSystem:t}=e;t.registerModule(W)}};var z=n(5047);let K=()=>{let{isLoading:e,data:t,isError:n,error:r}=(0,z.useAssetGetTreeQuery)({page:1,pageSize:10});return(0,a.useEffect)(()=>{n&&(0,g.trackError)(new g.ApiError(r))},[n]),(0,o.jsxs)(s.Content,{loading:e,padded:!0,children:[(0,o.jsx)(s.Header,{title:"API data"}),null==t?void 0:t.items.map(e=>(0,o.jsx)("div",{children:e.filename},e.id))]})},V={onInit(){r.container.get(i.serviceIds.mainNavRegistry).registerMainNavItem({path:"Example Plugin/Api Data",widgetConfig:{name:"Api Data",id:"api-data",component:"api-data-widget",config:{icon:{type:"name",value:"pimcore"}}}}),r.container.get(i.serviceIds.widgetManager).registerWidget({name:"api-data-widget",component:K})}},Q={name:"ApiDataPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(V)}},$={onInit(){let e=r.container.get(i.serviceIds["App/ContextMenuRegistry/ContextMenuRegistry"]),t=g.contextMenuConfig.dataObjectTree;e.registerToSlot(t.name,{name:"custom-item",priority:t.priority.rename-1,useMenuItem:e=>{let t=(0,s.useAlertModal)();return{key:"custom-item",label:"Custom Item",icon:(0,o.jsx)(s.Icon,{value:"pimcore"}),onClick:()=>{t.info({title:`Custom item clicked for data object with id: ${e.target.id}`,content:"This is a custom context menu item for the data object."})}}}}),e.updateSlotProvider(t.name,"delete",e=>({...e,useMenuItem:t=>{let n=e.useMenuItem(t);return null===n||"folder"!==t.target.type?null:{...n,label:"Customized Delete (visible only for folders)",icon:(0,o.jsx)(s.Icon,{subIconName:"pimcore",value:"trash"})}}}))}},Y={name:"DataObjectContextMenuPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule($)}};var J=n(395);let X=()=>{let e=r.container.get("Cars/Listing/Builder");return(0,o.jsx)(J.DataObjectProvider,{id:1,children:(0,o.jsx)(J.BaseListing,{...e.build({props:{...J.listingDefaultProps,toolbarSlotName:"carsListing.toolbar"},config:{tagFilter:{enabled:!1}}})})})},Z=()=>(0,o.jsx)(X,{}),ee=(0,a.createContext)(void 0),et=e=>{let{children:t}=e,[n,r]=(0,a.useState)(null);return(0,a.useMemo)(()=>(0,o.jsx)(ee.Provider,{value:{pqlFilter:n,setPqlFilter:r},children:t}),[n,t])},en=()=>{let e=(0,a.useContext)(ee);if(void 0===e)throw Error("usePqlFilterContext must be used within a PqlFilterProvider");return e},er=e=>()=>(0,o.jsx)(et,{children:(0,o.jsx)(e,{})}),ei=()=>{let{pqlFilter:e,setPqlFilter:t}=en(),n=[{label:"All E-Type models which are green or produced before 1965.",pql:'series = "E-Type" AND (color = "green" OR productionYear < 1965)'},{label:"All Alfa cars produced after 1965",pql:'manufacturer:Manufacturer.name = "Alfa" AND productionYear > 1965'},{label:"All red or blue cars using standard PQL syntax.",pql:'color = "red" OR color = "blue"'}].map(e=>({label:e.label,value:e.pql}));return(0,o.jsx)(s.ContentLayout,{children:(0,o.jsxs)(s.Content,{padded:!0,children:[(0,o.jsx)(s.Header,{title:"Predefined PQL Filter"}),(0,o.jsx)(s.Select,{allowClear:!0,className:"w-full",onChange:t,options:n,value:e})]})})},eo=e=>()=>{let{getProps:t}=e();return{getProps:()=>{let e=t();return e.entries.unshift({key:"pql-filter",component:(0,o.jsx)(ei,{}),icon:(0,o.jsx)(s.Icon,{value:"pimcore"})}),e}}},ea=e=>()=>{let{getArgs:t,...n}=e(),{pqlFilter:r}=en();return{...n,getArgs:()=>{var e,n,i;let o=t();return{...o,body:{...o.body,filters:{...null==(e=o.body)?void 0:e.filters,columnFilters:[...(null==(i=o.body)||null==(n=i.filters)?void 0:n.columnFilters)??[],...null!==r?[{type:"system.pql",locale:null,filterValue:r}]:[]]}}}}}},el=e=>{let{useSidebarOptions:t,ContextComponent:n,useDataQueryHelper:r}=e;return{...e,ContextComponent:er(n),useSidebarOptions:eo(t),useDataQueryHelper:ea(r)}},es=e=>t=>(0,o.jsx)(s.ContentLayout,{renderTopBar:(0,o.jsx)(s.Toolbar,{position:"top",theme:"secondary",children:(0,o.jsx)(s.Header,{title:"Cars"})}),children:(0,o.jsx)(e,{})}),ec=e=>{let{ViewComponent:t}=e;return{...e,ViewComponent:es(t)}},ed=()=>(0,o.jsxs)(s.Toolbar,{theme:"secondary",children:[(0,o.jsx)(s.Flex,{gap:"small",children:(0,o.jsx)(g.SlotRenderer,{slot:"carsListing.toolbar.left"})}),(0,o.jsx)(s.Flex,{gap:"small",children:(0,o.jsx)(g.SlotRenderer,{slot:"carsListing.toolbar.right"})})]}),em=()=>(0,o.jsx)(s.Button,{children:"Injected Plugin Button"}),eg={onInit:()=>{let e=r.container.get(i.serviceIds.mainNavRegistry);e.registerMainNavItem({path:"Example Plugin",icon:"pimcore"}),e.registerMainNavItem({path:"Example Plugin/Listing Examples/Cars Listing",widgetConfig:{name:"Cars",id:"cars-listing",component:"cars-listing",config:{icon:{type:"name",value:"car"}}}}),r.container.get(i.serviceIds.widgetManager).registerWidget({name:"cars-listing",component:Z}),r.container.bind("Cars/Listing/Builder").toConstantValue(r.container.get("DataObject/Listing/Builder").copy());let t=r.container.get("Cars/Listing/Builder");t.addDecorator({name:"pql-filter",decorator:el}),t.addDecorator({name:"header",decorator:ec}),t.removeDecorator("generalFilters");let n=t.getDecorator("classDefinitionSelection");if(void 0!==n){let e={...n.config,classRestriction:[{classes:"Car"}]};t.overrideDecorator({name:"classDefinitionSelection",config:e})}let o=r.container.get(i.serviceIds["App/ComponentRegistry/ComponentRegistry"]);o.registerConfig({carsListing:{toolbar:{component:{name:"carsListing.toolbar",type:g.ComponentType.SINGLE},left:{type:g.ComponentType.SLOT,name:"carsListing.toolbar.left"},right:{type:g.ComponentType.SLOT,name:"carsListing.toolbar.right"}}}}),o.register({name:"carsListing.toolbar",component:ed});let a=o.getSlotComponents(g.componentConfig.dataObject.listing.toolbar.left.name),l=o.getSlotComponents(g.componentConfig.dataObject.listing.toolbar.right.name);for(let e of a)o.registerToSlot("carsListing.toolbar.left",e);for(let e of(o.registerToSlot("carsListing.toolbar.right",{name:"extraButton",component:em}),l))o.registerToSlot("carsListing.toolbar.right",e);o.getSlotComponents("carsListing.toolbar.left")}},eu={name:"ListingPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(eg)}};var ep=n(9277),ey=n(8388);let ex=e=>{let{data:t,providerKey:n,refresh:r,onSortingChange:i,...a}=e,l=(0,ey.Cl)(),c=[l.accessor("id",{header:"ID",size:80}),l.accessor("name",{header:"Name"}),l.accessor("lastname",{header:"LastName"}),l.accessor("actions",{header:"Actions",size:80,enableSorting:!1,cell:e=>{let{row:t}=e,i=t.original;return(0,o.jsxs)(s.Flex,{children:[(0,o.jsx)(ep.ExportButton,{id:i.id,providerKey:n,tooltip:{title:"Export"}}),i.__gdprIsDeletable&&(0,o.jsx)(s.IconButton,{icon:{value:"trash"},onClick:()=>{null==r||r()},tooltip:{title:"Delete"}})]})}})];return(0,o.jsx)(s.Grid,{autoWidth:!0,columns:c,data:t.map(e=>e.data),enableSorting:!0,...a})};class eb extends ep.DynamicTypeAbstractGDPRProvider{getTabContent(e){return(0,o.jsx)(ex,{...e})}constructor(...e){super(...e),this.id="my_data_provider"}}eb=(0,w.gn)([(0,i.injectable)()],eb);let ev={onInit:()=>{r.container.get(i.serviceIds["DynamicTypes/GDPRProviderRegistry"]).registerDynamicType(r.container.get("ExampleBundle/DynamicTypes/GDPRProvider/MyProvider"))}},eT={name:"GdprDataExtractorPlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/GDPRProvider/MyProvider").to(eb).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(ev)}};var eh=n(3172);class eC extends G.TabManager{constructor(){super(),this.type="book"}}eC=(0,w.gn)([(0,i.injectable)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[])],eC);let eE="ExampleBundle/Document/Editor/BookTabManager",eD=()=>{r.container.get(i.serviceIds["Document/Editor/TypeRegistry"]).register({name:"book",tabManagerServiceId:eE})},eI=()=>{let e=r.container.get(eE);e.register(eh.TAB_EDIT),e.register(eh.TAB_PREVIEW),e.register(G.TAB_PROPERTIES),e.register(eh.TAB_VERSIONS),e.register(G.TAB_DEPENDENCIES),e.register(G.TAB_NOTES_AND_EVENTS),e.register(G.TAB_TAGS),e.register(G.TAB_WORKFLOW)},ef=()=>{let e=r.container.get("Document/Editor/Sidebar/BookSidebarManager");e.registerEntry(eh.SIDEBAR_AREABLOCK_TYPES),e.registerEntry(eh.SIDEBAR_CONTENT_SETTINGS),e.registerEntry(eh.SIDEBAR_DOCUMENT_CONFIGURATION)},ej=()=>{let e=r.container.get(i.serviceIds["App/ContextMenuRegistry/ContextMenuRegistry"]),t=g.contextMenuConfig.documentTree;e.registerToSlot(t.name,{name:"addBook",priority:t.priority.addHardlink+2,useMenuItem:e=>{let{t}=(0,i.useTranslation)(),{addDocumentTreeContextMenuItem:n}=(0,eh.useAddDocument)({type:"book",iconValue:"book",contextMenuKey:"addBook",formType:eh.AddDocumentFormType.KEY_ONLY,modalTitle:t("document.tree.context-menu.add-book","Add Book")});return n(e.target)}})},eS={onInit:()=>{eD(),eI(),ef(),ej()}},eA={name:"CustomDocumentTypePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/Document/Editor/BookTabManager").to(eC).inSingletonScope(),t.bind("Document/Editor/Sidebar/BookSidebarManager").to(eh.DocumentSidebarManager).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eS)}};class eB extends G.TabManager{constructor(){super(),this.type="indesign"}}eB=(0,w.gn)([(0,i.injectable)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[])],eB);let eP="ExampleBundle/Asset/Editor/InDesignTabManager",ew=()=>{r.container.get(i.serviceIds["Asset/Editor/TypeRegistry"]).register({name:"indesign",tabManagerServiceId:eP})},eM=()=>{let e=r.container.get(eP);e.register(u.TAB_CUSTOM_METADATA),e.register(G.TAB_PROPERTIES),e.register(u.TAB_VERSIONS),e.register(G.TAB_DEPENDENCIES),e.register(G.TAB_NOTES_AND_EVENTS),e.register(G.TAB_TAGS),e.register(G.TAB_WORKFLOW)},eF={onInit:()=>{ew(),eM()}},eL={name:"CustomAssetTypePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/Asset/Editor/InDesignTabManager").to(eB).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eF)}};var eR=n(2036);let ek=(0,n(7468).kc)(e=>{let{token:t}=e;return{markdownTextarea:{fontFamily:"monospace",padding:"8px",border:`1px solid ${t.colorBorder}`,borderRadius:`${t.borderRadius}px`,resize:"both",outline:"none","&:hover":{borderColor:t.colorPrimaryHover},"&:focus":{borderColor:t.colorPrimary,boxShadow:`0 0 0 2px ${t.colorPrimaryBg}`}}}}),eO=e=>{let{value:t,onChange:n,config:r,inherited:i=!1}=e,{styles:a}=ek();return(0,o.jsx)(eh.InheritanceOverlay,{isInherited:i,onOverwrite:()=>{null==n||n(t??"")},children:(0,o.jsx)("textarea",{className:`${a.markdownTextarea} ${(null==r?void 0:r.class)??""}`.trim(),onChange:e=>{null==n||n(e.target.value)},placeholder:null==r?void 0:r.placeholder,style:{width:(null==r?void 0:r.width)??600,height:(null==r?void 0:r.height)??300},value:t??""})})};class eN extends G.DynamicTypeDocumentEditableAbstract{getEditableDataComponent(e){return(0,o.jsx)(eO,{config:e.config,inherited:e.inherited})}isEmpty(e,t){return!(0,eR.isNonEmptyString)(e)}constructor(...e){super(...e),this.id="markdown"}}eN=(0,w.gn)([(0,i.injectable)()],eN);let e_={onInit:()=>{r.container.get(i.serviceIds["DynamicTypes/DocumentEditableRegistry"]).registerDynamicType(r.container.get("ExampleBundle/DynamicTypes/DocumentEditable/Markdown"))}},eW={name:"CustomDocumentEditablePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/DocumentEditable/Markdown").to(eN).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(e_)}};var eG=n(4345);class eH extends G.DynamicTypeObjectDataAbstractInput{getObjectDataComponent(e){return super.getObjectDataComponent(e)}getDefaultGridColumnWidth(){return 350}constructor(...e){super(...e),this.id="simpleText",this.dynamicTypeFieldFilterType=r.container.get(i.serviceIds["DynamicTypes/FieldFilter/String"])}}eH=(0,w.gn)([(0,eG.b2)()],eH);var eU=n(8407);class eq extends eU.DynamicTypeFieldDefinitionDataAbstract{getIcon(){return{type:"name",value:"text-input"}}getGroup(){return[...super.getGroup(),"text"]}getSpecificFormFields(){return(0,o.jsx)(o.Fragment,{})}constructor(...e){super(...e),this.id="simpleText"}}eq=(0,w.gn)([(0,eG.b2)()],eq);let ez={onInit:()=>{r.container.get(i.serviceIds["DynamicTypes/ObjectDataRegistry"]).registerDynamicType(r.container.get("ExampleBundle/DynamicTypes/ObjectData/SimpleText")),r.container.get(i.serviceIds["DynamicTypes/FieldDefinitionRegistry"]).registerDynamicType(r.container.get("ExampleBundle/DynamicTypes/FieldDefinition/SimpleText"))}},eK={name:"CustomObjectDatatypePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/ObjectData/SimpleText").to(eH).inSingletonScope(),t.bind("ExampleBundle/DynamicTypes/FieldDefinition/SimpleText").to(eq).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(ez)}};class eV extends G.DynamicTypeObjectLayoutAbstract{getObjectLayoutComponent(e){return(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:e.html??""}})}constructor(...e){super(...e),this.id="simpleTextLayout"}}eV=(0,w.gn)([(0,eG.b2)()],eV);class eQ extends eU.DynamicTypeFieldDefinitionLayoutAbstract{getIcon(){return{type:"name",value:"text-field"}}getGroup(){return[...super.getGroup(),"text"]}getDefaultData(){return{...super.getDefaultData(),html:""}}getSpecificFormFields(){return(0,o.jsx)(s.Form.Item,{label:"HTML Content",name:"html",children:(0,o.jsx)(s.TextArea,{rows:6})})}constructor(...e){super(...e),this.id="simpleTextLayout"}}eQ=(0,w.gn)([(0,eG.b2)()],eQ);let e$={onInit:()=>{r.container.get(i.serviceIds["DynamicTypes/ObjectLayoutRegistry"]).registerDynamicType(r.container.get("ExampleBundle/DynamicTypes/ObjectLayout/SimpleTextLayout")),r.container.get(i.serviceIds["DynamicTypes/FieldDefinitionRegistry"]).registerDynamicType(r.container.get("ExampleBundle/DynamicTypes/FieldDefinition/SimpleTextLayout"))}},eY={name:"CustomObjectLayoutTypePlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/ObjectLayout/SimpleTextLayout").to(eV).inSingletonScope(),t.bind("ExampleBundle/DynamicTypes/FieldDefinition/SimpleTextLayout").to(eQ).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(e$)}},eJ=e=>{let t=Number(e.getValue()),n=Math.min(100,Math.max(0,isNaN(t)?0:t)),r={width:`${n}%`,height:"100%",backgroundColor:n<30?"#f5222d":n<=70?"#faad14":"#52c41a",borderRadius:4,transition:"width 0.3s ease"};return(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"0 8px"},children:[(0,o.jsx)("div",{style:{flex:1,height:16,backgroundColor:"#f0f0f0",borderRadius:4,overflow:"hidden"},children:(0,o.jsx)("div",{style:r})}),(0,o.jsxs)("span",{style:{fontSize:12,whiteSpace:"nowrap",minWidth:36,textAlign:"right"},children:[n,"%"]})]})};class eX extends G.DynamicTypeGridCellAbstract{getGridCellComponent(e){return(0,o.jsx)(eJ,{...e})}getDefaultGridColumnWidth(){return 180}constructor(...e){super(...e),this.id="progressBar"}}eX=(0,w.gn)([(0,eG.b2)()],eX);let eZ={onInit:()=>{r.container.get(i.serviceIds["DynamicTypes/GridCellRegistry"]).registerDynamicType(r.container.get("ExampleBundle/DynamicTypes/GridCell/ProgressBar"))}},e0={name:"CustomGridColumnPlugin",onInit:e=>{let{container:t}=e;t.bind("ExampleBundle/DynamicTypes/GridCell/ProgressBar").to(eX).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(eZ)}};var e1=n(4654);let e9=()=>{let{triggeredWorkflowAction:e}=(0,G.useWorkflow)(),t=(null==e?void 0:e.workflowId)==="simple_approval"&&(null==e?void 0:e.transitionId)==="request_review",{data:n,isLoading:r}=(0,e1.useUserGetCollectionQuery)(void 0,{skip:!t});if(!t)return null;let i=((null==n?void 0:n.items)??[]).map(e=>({label:e.username,value:e.id}));return(0,o.jsx)(s.Form.Item,{label:"Reviewers",name:"reviewers",rules:[{required:!0,message:"Please select at least one reviewer."}],children:(0,o.jsx)(s.Select,{loading:r,mode:"multiple",options:i,placeholder:"Select reviewers"})})},e2={onInit(){r.container.get(i.serviceIds["App/ComponentRegistry/ComponentRegistry"]).registerToSlot(g.componentConfig.element.editor.workflow.modal.slots.center.name,{name:"reviewers",priority:100,component:e9})}},e5={name:"WorkflowModalExtensionPlugin",onStartup(e){let{moduleSystem:t}=e;t.registerModule(e2)}},e8={onInit:()=>{r.container.get(i.serviceIds["DynamicTypes/ThemeRegistry"]).registerDynamicType(r.container.get("DynamicTypes/Theme/ExampleOcean"))}};class e4 extends g.DynamicTypeThemeAbstract{getThemeConfig(){return{token:{colorPrimary:"#00595E",colorPrimaryHover:"#004E52",colorPrimaryActive:"#003C40",colorPrimaryText:"#00595E",colorPrimaryTextHover:"#004E52",colorPrimaryTextActive:"#003C40",colorLink:"#00595E",colorLinkHover:"#004E52",colorLinkActive:"#003C40",colorAccent:"#087881",colorAccentSecondary:"#0B6B73",colorBorderActive:"#087881",colorBorderActiveTab:"#00595E",colorLogo:"#00595E",controlItemBgActiveHover:"#DEF1F1",controlItemBgActive:"#A7D8D8",controlOutline:"rgba(0, 89, 94, 0.12)",colorFill:"rgba(127, 199, 199, 0.35)",colorFillQuaternary:"rgba(127, 199, 199, 0.22)",colorFillActive:"#A7D8D8",colorFillAlter:"rgba(127, 199, 199, 0.22)",colorFillNav:"rgba(0, 89, 94, 0.08)",itemActiveColor:"#00595E",itemSelectedColor:"#00595E",itemHoverColor:"rgba(127, 199, 199, 0.45)",colorBgUnselectedTab:"rgba(127, 199, 199, 0.22)",colorBgHoverUnselectedTab:"rgba(127, 199, 199, 0.40)",colorBgToolbar:"#EAF6F6",colorBgSidebarOptions:"#EAF6F6",colorBgMainNavColumn:"rgba(0, 89, 94, 0.05)",colorBgFieldset:"#F2FBFB",colorBorderFieldset:"#CFE6E6",colorIconSecondary:"#3E5C5C",colorIconSidebar:"#06363A",itemUnselectedIconColor:"#3E5C5C",colorTextSidebarTitle:"#00595E",colorBorderTertiary:"#E1EAEA",colorBorderContainer:"#E1EAEA",colorBorderPanelTitle:"#A7D8D8",colorInfoBorderHover:"#4FB3BA",colorFillAdditional:"#EAF6F6",colorBgCanvas:"#F4FAF9",colorBgLogoOrbit:"rgba(0, 89, 94, 0.12)"},components:{Table:{controlItemBgActive:"#A7D8D8"},Tabs:{itemActiveColor:"#00595E",itemSelectedColor:"#00595E",inkBarColor:"#00595E",colorBorderActiveTab:"#00595E",itemHoverColor:"rgba(127, 199, 199, 0.45)",colorBgUnselectedTab:"rgba(127, 199, 199, 0.22)",colorBgHoverUnselectedTab:"rgba(127, 199, 199, 0.40)",itemUnselectedIconColor:"#3E5C5C",colorBorderContainer:"#E1EAEA"},Tag:{colorPrimary:"#087881",colorPrimaryHover:"#004E52",colorPrimaryActive:"#003C40",colorFillQuaternary:"rgba(127, 199, 199, 0.22)",colorInfoBg:"#E6F4F4",colorInfoBorder:"#A7D8D8"},Pagination:{colorPrimary:"#00595E"},Tree:{colorBorderTree:"#E1EAEA",colorPrimaryHeading:"#00595E"},Divider:{colorSplit:"#CFE6E6"},Button:{defaultBorderColor:"#A7D8D8",defaultColor:"#00595E",defaultGhostColor:"#00595E"},Breadcrumb:{lastItemColor:"#00595E"},Avatar:{colorUserIndicator:"#00595E"},Alert:{colorInfo:"#087881",colorInfoBg:"#E6F4F4",colorInfoBorder:"#A7D8D8"},Colors:{Neutral:{Fill:{colorFill:"rgba(127, 199, 199, 0.35)"}},Brand:{Primary:{colorPrimaryText:"#003C40"}}}}}}constructor(...e){super(...e),this.id="studio-example-ocean",this.extends=[g.studioThemeIds.light]}}e4=(0,w.gn)([(0,i.injectable)()],e4);let e3={name:"CustomThemePlugin",onInit(e){let{container:t}=e;t.bind("DynamicTypes/Theme/ExampleOcean").to(e4)},onStartup(e){let{moduleSystem:t}=e;t.registerModule(e8)}}}}]); \ No newline at end of file diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/main.06485e1c.js b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/main.06485e1c.js similarity index 100% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/main.06485e1c.js rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/main.06485e1c.js diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js similarity index 99% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js index 55537c6..4c74e75 100644 --- a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js +++ b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js @@ -3,4 +3,4 @@ var pimcore_studio_example_bundle;(()=>{"use strict";var __webpack_modules__={44 ${r}`),a.join("\n")};function h(){return(h=Object.assign||function(e){for(var t=1;te===t)&&e.push(t),e}function d(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function p(e){return void 0!==e.entry}function h(e){return!e.entry.includes(".json")&&e.entry.includes(".js")}async function m(e,t){try{return await e()}catch(e){t||c(e);return}}function g(e){return e&&"object"==typeof e}let y=Object.prototype.toString;function v(e){return"[object Object]"===y.call(e)}function b(e,t){let n=/^(https?:)?\/\//i;return e.replace(n,"").replace(/\/$/,"")===t.replace(n,"").replace(/\/$/,"")}function _(e){return Array.isArray(e)?e:[e]}function S(e){let t={url:"",type:"global",globalName:""};return a.isBrowserEnv()||a.isReactNativeEnv()?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let w=(e,t)=>{let n;return n=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),n+=t},E="object"==typeof globalThis?globalThis:window,k=(()=>{try{return document.defaultView}catch(e){return E}})(),x=k;function N(e,t,n){Object.defineProperty(e,t,{value:n,configurable:!1,writable:!0})}function R(e,t){return Object.hasOwnProperty.call(e,t)}R(E,"__GLOBAL_LOADING_REMOTE_ENTRY__")||N(E,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});let I=E.__GLOBAL_LOADING_REMOTE_ENTRY__;function T(e){var t,n,r,a,o,l,i,u,s,c,f,d;R(e,"__VMOK__")&&!R(e,"__FEDERATION__")&&N(e,"__FEDERATION__",e.__VMOK__),R(e,"__FEDERATION__")||(N(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),N(e,"__VMOK__",e.__FEDERATION__)),null!=(i=(t=e.__FEDERATION__).__GLOBAL_PLUGIN__)||(t.__GLOBAL_PLUGIN__=[]),null!=(u=(n=e.__FEDERATION__).__INSTANCES__)||(n.__INSTANCES__=[]),null!=(s=(r=e.__FEDERATION__).moduleInfo)||(r.moduleInfo={}),null!=(c=(a=e.__FEDERATION__).__SHARE__)||(a.__SHARE__={}),null!=(f=(o=e.__FEDERATION__).__MANIFEST_LOADING__)||(o.__MANIFEST_LOADING__={}),null!=(d=(l=e.__FEDERATION__).__PRELOADED_MAP__)||(l.__PRELOADED_MAP__=new Map)}function C(){E.__FEDERATION__.__GLOBAL_PLUGIN__=[],E.__FEDERATION__.__INSTANCES__=[],E.__FEDERATION__.moduleInfo={},E.__FEDERATION__.__SHARE__={},E.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(I).forEach(e=>{delete I[e]})}function P(e){E.__FEDERATION__.__INSTANCES__.push(e)}function M(){return E.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function O(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.isDebugMode();t&&(E.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,E.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="0.13.1")}function $(e,t){if("string"==typeof t){if(e[t])return{value:e[t],key:t};for(let n of Object.keys(e)){let[r,a]=n.split(":"),o=`${r}:${t}`,l=e[o];if(l)return{value:l,key:o}}return{value:void 0,key:t}}throw Error("key must be string")}T(E),T(k);let L=()=>k.__FEDERATION__.moduleInfo,A=(e,t)=>{let n=$(t,d(e)).value;if(n&&!n.version&&"version"in e&&e.version&&(n.version=e.version),n)return n;if("version"in e&&e.version){let{version:t}=e,n=d(r._object_without_properties_loose(e,["version"])),a=$(k.__FEDERATION__.moduleInfo,n).value;if((null==a?void 0:a.version)===t)return a}},D=e=>A(e,k.__FEDERATION__.moduleInfo),F=(e,t)=>{let n=d(e);return k.__FEDERATION__.moduleInfo[n]=t,k.__FEDERATION__.moduleInfo},z=e=>(k.__FEDERATION__.moduleInfo=r._extends({},k.__FEDERATION__.moduleInfo,e),()=>{for(let t of Object.keys(e))delete k.__FEDERATION__.moduleInfo[t]}),j=(e,t)=>{let n=t||`__FEDERATION_${e}:custom__`,r=E[n];return{remoteEntryKey:n,entryExports:r}},H=e=>{let{__GLOBAL_PLUGIN__:t}=k.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):c(`The plugin ${e.name} has been registered.`)})},U=()=>k.__FEDERATION__.__GLOBAL_PLUGIN__,V=e=>E.__FEDERATION__.__PRELOADED_MAP__.get(e),B=e=>E.__FEDERATION__.__PRELOADED_MAP__.set(e,!0),W="default",G="global",q="[0-9A-Za-z-]+",Q=`(?:\\+(${q}(?:\\.${q})*))`,K="0|[1-9]\\d*",Y="[0-9]+",X="\\d*[a-zA-Z-][a-zA-Z0-9-]*",J=`(?:${Y}|${X})`,Z=`(?:-?(${J}(?:\\.${J})*))`,ee=`(?:${K}|${X})`,et=`(?:-(${ee}(?:\\.${ee})*))`,en=`${K}|x|X|\\*`,er=`[v=\\s]*(${en})(?:\\.(${en})(?:\\.(${en})(?:${et})?${Q}?)?)?`,ea=`^\\s*(${er})\\s+-\\s+(${er})\\s*$`,eo=`(${Y})\\.(${Y})\\.(${Y})`,el=`[v=\\s]*${eo}${Z}?${Q}?`,ei="((?:<|>)?=?)",eu=`(\\s*)${ei}\\s*(${el}|${er})`,es="(?:~>?)",ec=`(\\s*)${es}\\s+`,ef="(?:\\^)",ed=`(\\s*)${ef}\\s+`,ep="(<|>)?=?\\s*\\*",eh=`^${ef}${er}$`,em=`(${K})\\.(${K})\\.(${K})`,eg=`v?${em}${et}?${Q}?`,ey=`^${es}${er}$`,ev=`^${ei}\\s*${er}$`,eb=`^${ei}\\s*(${eg})$|^$`,e_="^\\s*>=\\s*0.0.0\\s*$";function eS(e){return new RegExp(e)}function ew(e){return!e||"x"===e.toLowerCase()||"*"===e}function eE(){for(var e=arguments.length,t=Array(e),n=0;nt.reduce((e,t)=>t(e),e)}function ek(e){return e.match(eS(eb))}function ex(e,t,n,r){let a=`${e}.${t}.${n}`;return r?`${a}-${r}`:a}function eN(e){return e.replace(eS(ea),(e,t,n,r,a,o,l,i,u,s,c,f)=>(t=ew(n)?"":ew(r)?`>=${n}.0.0`:ew(a)?`>=${n}.${r}.0`:`>=${t}`,i=ew(u)?"":ew(s)?`<${Number(u)+1}.0.0-0`:ew(c)?`<${u}.${Number(s)+1}.0-0`:f?`<=${u}.${s}.${c}-${f}`:`<=${i}`,`${t} ${i}`.trim()))}function eR(e){return e.replace(eS(eu),"$1$2$3")}function eI(e){return e.replace(eS(ec),"$1~")}function eT(e){return e.replace(eS(ed),"$1^")}function eC(e){return e.trim().split(/\s+/).map(e=>e.replace(eS(eh),(e,t,n,r,a)=>{if(ew(t))return"";if(ew(n))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(ew(r))if("0"===t)return`>=${t}.${n}.0 <${t}.${Number(n)+1}.0-0`;else return`>=${t}.${n}.0 <${Number(t)+1}.0.0-0`;if(a)if("0"!==t)return`>=${t}.${n}.${r}-${a} <${Number(t)+1}.0.0-0`;else if("0"===n)return`>=${t}.${n}.${r}-${a} <${t}.${n}.${Number(r)+1}-0`;else return`>=${t}.${n}.${r}-${a} <${t}.${Number(n)+1}.0-0`;if("0"===t)if("0"===n)return`>=${t}.${n}.${r} <${t}.${n}.${Number(r)+1}-0`;else return`>=${t}.${n}.${r} <${t}.${Number(n)+1}.0-0`;return`>=${t}.${n}.${r} <${Number(t)+1}.0.0-0`})).join(" ")}function eP(e){return e.trim().split(/\s+/).map(e=>e.replace(eS(ey),(e,t,n,r,a)=>ew(t)?"":ew(n)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:ew(r)?`>=${t}.${n}.0 <${t}.${Number(n)+1}.0-0`:a?`>=${t}.${n}.${r}-${a} <${t}.${Number(n)+1}.0-0`:`>=${t}.${n}.${r} <${t}.${Number(n)+1}.0-0`)).join(" ")}function eM(e){return e.split(/\s+/).map(e=>e.trim().replace(eS(ev),(e,t,n,r,a,o)=>{let l=ew(n),i=l||ew(r),u=i||ew(a);if("="===t&&u&&(t=""),o="",l)if(">"===t||"<"===t)return"<0.0.0-0";else return"*";return t&&u?(i&&(r=0),a=0,">"===t?(t=">=",i?(n=Number(n)+1,r=0):r=Number(r)+1,a=0):"<="===t&&(t="<",i?n=Number(n)+1:r=Number(r)+1),"<"===t&&(o="-0"),`${t+n}.${r}.${a}${o}`):i?`>=${n}.0.0${o} <${Number(n)+1}.0.0-0`:u?`>=${n}.${r}.0${o} <${n}.${Number(r)+1}.0-0`:e})).join(" ")}function eO(e){return e.trim().replace(eS(ep),"")}function e$(e){return e.trim().replace(eS(e_),"")}function eL(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function eA(e,t){let{preRelease:n}=e,{preRelease:r}=t;if(void 0===n&&r)return 1;if(n&&void 0===r)return -1;if(void 0===n&&void 0===r)return 0;for(let e=0,t=n.length;e<=t;e++){let t=n[e],a=r[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return eL(t,a)}}return 0}function eD(e,t){return eL(e.major,t.major)||eL(e.minor,t.minor)||eL(e.patch,t.patch)||eA(e,t)}function eF(e,t){return e.version===t.version}function ez(e,t){switch(e.operator){case"":case"=":return eF(e,t);case">":return 0>eD(e,t);case">=":return eF(e,t)||0>eD(e,t);case"<":return eD(e,t)>0;case"<=":return eF(e,t)||eD(e,t)>0;case void 0:return!0;default:return!1}}function ej(e){return eE(eC,eP,eM,eO)(e)}function eH(e){return eE(eN,eR,eI,eT)(e.trim()).split(/\s+/).join(" ")}function eU(e,t){if(!e)return!1;let n=eH(t).split(" ").map(e=>ej(e)).join(" ").split(/\s+/).map(e=>e$(e)),r=ek(e);if(!r)return!1;let[,a,,o,l,i,u]=r,s={operator:a,version:ex(o,l,i,u),major:o,minor:l,patch:i,preRelease:null==u?void 0:u.split(".")};for(let e of n){let t=ek(e);if(!t)return!1;let[,n,,r,a,o,l]=t;if(!ez({operator:n,version:ex(r,a,o,l),major:r,minor:a,patch:o,preRelease:null==l?void 0:l.split(".")},s))return!1}return!0}function eV(e,t,n,a){var o,l,i;let u;return u="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{throw Error(`Can not get shared '${n}'!`)}),r._extends({deps:[],useIn:[],from:t,loading:null},e,{shareConfig:r._extends({requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1},e.shareConfig),get:u,loaded:null!=e&&!!e.loaded||"lib"in e||void 0,version:null!=(o=e.version)?o:"0",scope:Array.isArray(e.scope)?e.scope:[null!=(l=e.scope)?l:"default"],strategy:(null!=(i=e.strategy)?i:a)||"version-first"})}function eB(e,t){let n=t.shared||{},a=t.name,o=Object.keys(n).reduce((e,r)=>{let o=_(n[r]);return e[r]=e[r]||[],o.forEach(n=>{e[r].push(eV(n,a,r,t.shareStrategy))}),e},{}),l=r._extends({},e.shared);return Object.keys(o).forEach(e=>{l[e]?o[e].forEach(t=>{l[e].find(e=>e.version===t.version)||l[e].push(t)}):l[e]=o[e]}),{shared:l,shareInfos:o}}function eW(e,t){let n=e=>{if(!Number.isNaN(Number(e))){let t=e.split("."),n=e;for(let e=0;e<3-t.length;e++)n+=".0";return n}return e};return!!eU(n(e),`<=${n(t)}`)}let eG=(e,t)=>{let n=t||function(e,t){return eW(e,t)};return Object.keys(e).reduce((e,t)=>!e||n(e,t)||"0"===e?t:e,0)},eq=e=>!!e.loaded||"function"==typeof e.lib,eQ=e=>!!e.loading;function eK(e,t,n){let r=e[t][n],a=function(e,t){return!eq(r[e])&&eW(e,t)};return eG(e[t][n],a)}function eY(e,t,n){let r=e[t][n],a=function(e,t){let n=e=>eq(e)||eQ(e);if(n(r[t]))if(n(r[e]))return!!eW(e,t);else return!0;return!n(r[e])&&eW(e,t)};return eG(e[t][n],a)}function eX(e){return"loaded-first"===e?eY:eK}function eJ(e,t,n,r){if(!e)return;let{shareConfig:a,scope:o=W,strategy:l}=n;for(let i of Array.isArray(o)?o:[o])if(a&&e[i]&&e[i][t]){let{requiredVersion:o}=a,u=eX(l)(e,i,t),f=()=>{if(a.singleton){if("string"==typeof o&&!eU(u,o)){let r=`Version ${u} from ${u&&e[i][t][u].from} of shared singleton module ${t} does not satisfy the requirement of ${n.from} which needs ${o})`;a.strictVersion?s(r):c(r)}return e[i][t][u]}if(!1===o||"*"===o||eU(u,o))return e[i][t][u];for(let[n,r]of Object.entries(e[i][t]))if(eU(n,o))return r},d={shareScopeMap:e,scope:i,pkgName:t,version:u,GlobalFederation:x.__FEDERATION__,resolver:f};return(r.emit(d)||d).resolver()}}function eZ(){return x.__FEDERATION__.__SHARE__}function e0(e){var t;let{pkgName:n,extraOptions:r,shareInfos:a}=e,o=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let n=function(e,n){return!eq(t[e])&&eW(e,n)},r=eG(t,n);return t[r]};return Object.assign({},(null!=(t=null==r?void 0:r.resolver)?t:o)(a[n]),null==r?void 0:r.customShareInfo)}var e1={global:{Global:x,nativeGlobal:k,resetFederationGlobalInfo:C,setGlobalFederationInstance:P,getGlobalFederationConstructor:M,setGlobalFederationConstructor:O,getInfoWithoutType:$,getGlobalSnapshot:L,getTargetSnapshotInfoByModuleInfo:A,getGlobalSnapshotInfoByModuleInfo:D,setGlobalSnapshotInfoByModuleInfo:F,addGlobalSnapshot:z,getRemoteEntryExports:j,registerGlobalPlugins:H,getGlobalHostPlugins:U,getPreloaded:V,setPreloaded:B},share:{getRegisteredShare:eJ,getGlobalShareScope:eZ}};function e2(){return"pimcore_studio_example_bundle:0.0.1"}function e3(e,t){for(let n of e){let e=t.startsWith(n.name),r=t.replace(n.name,"");if(e){if(r.startsWith("/"))return{pkgNameOrAlias:n.name,expose:r=`.${r}`,remote:n};else if(""===r)return{pkgNameOrAlias:n.name,expose:".",remote:n}}let a=n.alias&&t.startsWith(n.alias),o=n.alias&&t.replace(n.alias,"");if(n.alias&&a){if(o&&o.startsWith("/"))return{pkgNameOrAlias:n.alias,expose:o=`.${o}`,remote:n};else if(""===o)return{pkgNameOrAlias:n.alias,expose:".",remote:n}}}}function e4(e,t){for(let n of e)if(t===n.name||n.alias&&t===n.alias)return n}function e5(e,t){let n=U();return n.length>0&&n.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{t.forEach(t=>{t.applyPlugin(e)})}),e}async function e6(e){let{entry:t,remoteEntryExports:n}=e;return new Promise((e,r)=>{try{n?e(n):"undefined"!=typeof FEDERATION_ALLOW_NEW_FUNCTION?Function("callbacks",`import("${t}").then(callbacks[0]).catch(callbacks[1])`)([e,r]):import(t).then(e).catch(r)}catch(e){r(e)}})}async function e8(e){let{entry:t,remoteEntryExports:n}=e;return new Promise((e,r)=>{try{n?e(n):Function("callbacks",`System.import("${t}").then(callbacks[0]).catch(callbacks[1])`)([e,r])}catch(e){r(e)}})}async function e9(e){let{name:t,globalName:n,entry:r,loaderHook:l}=e,{entryExports:i}=j(t,n);return i||a.loadScript(r,{attrs:{},createScriptHook:(e,t)=>{let n=l.lifecycle.createScript.emit({url:e,attrs:t});if(n&&(n instanceof HTMLScriptElement||"script"in n||"timeout"in n))return n}}).then(()=>{let{remoteEntryKey:e,entryExports:a}=j(t,n);return u(a,o.getShortErrorMsg(o.RUNTIME_001,o.runtimeDescMap,{remoteName:t,remoteEntryUrl:r,remoteEntryKey:e})),a}).catch(e=>{throw u(void 0,o.getShortErrorMsg(o.RUNTIME_008,o.runtimeDescMap,{remoteName:t,resourceUrl:r})),e})}async function e7(e){let{remoteInfo:t,remoteEntryExports:n,loaderHook:r}=e,{entry:a,entryGlobalName:o,name:l,type:i}=t;switch(i){case"esm":case"module":return e6({entry:a,remoteEntryExports:n});case"system":return e8({entry:a,remoteEntryExports:n});default:return e9({entry:a,globalName:o,name:l,loaderHook:r})}}async function te(e){let{remoteInfo:t,loaderHook:n}=e,{entry:r,entryGlobalName:l,name:i,type:s}=t,{entryExports:c}=j(i,l);return c||a.loadScriptNode(r,{attrs:{name:i,globalName:l,type:s},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.lifecycle.createScript.emit({url:e,attrs:t});if(r&&"url"in r)return r}}}).then(()=>{let{remoteEntryKey:e,entryExports:t}=j(i,l);return u(t,o.getShortErrorMsg(o.RUNTIME_001,o.runtimeDescMap,{remoteName:i,remoteEntryUrl:r,remoteEntryKey:e})),t}).catch(e=>{throw e})}function tt(e){let{entry:t,name:n}=e;return a.composeKeyWithSeparator(n,t)}async function tn(e){let{origin:t,remoteEntryExports:n,remoteInfo:r}=e,o=tt(r);if(n)return n;if(!I[o]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,l=t.loaderHook;I[o]=e.emit({loaderHook:l,remoteInfo:r,remoteEntryExports:n}).then(e=>e||(a.isBrowserEnv()?e7({remoteInfo:r,remoteEntryExports:n,loaderHook:l}):te({remoteInfo:r,loaderHook:l})))}return I[o]}function tr(e){return r._extends({},e,{entry:"entry"in e?e.entry:"",type:e.type||G,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||W})}let ta=class{async getEntry(){let e;if(this.remoteEntryExports)return this.remoteEntryExports;try{e=await tn({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports})}catch(n){let t=tt(this.remoteInfo);e=await this.host.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:tn,origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports,globalLoading:I,uniqueKey:t})}return u(e,`remoteEntryExports is undefined ${a.safeToString(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async get(e,t,n,a){let l,{loadFactory:i=!0}=n||{loadFactory:!0},c=await this.getEntry();if(!this.inited){let t=this.host.shareScopeMap,n=Array.isArray(this.remoteInfo.shareScope)?this.remoteInfo.shareScope:[this.remoteInfo.shareScope];n.length||n.push("default"),n.forEach(e=>{t[e]||(t[e]={})});let l=t[n[0]],i=[],u={version:this.remoteInfo.version||"",shareScopeKeys:Array.isArray(this.remoteInfo.shareScope)?n:this.remoteInfo.shareScope||"default"};Object.defineProperty(u,"shareScopeMap",{value:t,enumerable:!1});let f=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:l,remoteEntryInitOptions:u,initScope:i,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==c?void 0:c.init)&&s(o.getShortErrorMsg(o.RUNTIME_002,o.runtimeDescMap,{remoteName:name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName})),await c.init(f.shareScope,f.initScope,f.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit(r._extends({},f,{id:e,remoteSnapshot:a,remoteEntryExports:c}))}this.lib=c,this.inited=!0,(l=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:c,expose:t,moduleInfo:this.remoteInfo}))||(l=await c.get(t)),u(l,`${d(this.remoteInfo)} remote don't export ${t}.`);let f=w(this.remoteInfo.name,t),p=this.wraperFactory(l,f);return i?await p():p}wraperFactory(e,t){function n(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let r=await e();return n(r,t),r}:()=>{let r=e();return n(r,t),r}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}};class to{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function n(){for(var r=arguments.length,a=Array(r),o=0;o0&&this.listeners.forEach(t=>{e=t(...n)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}class tl extends to{emit(){let e;for(var t=arguments.length,n=Array(t),r=0;r0){let t=0,r=e=>!1!==e&&(t0){let n=0,r=t=>(c(t),this.onerror(t),e),a=o=>{if(ti(e,o)){if(e=o,n{let n=e[t];n&&this.lifecycle[t].on(n)}))}removePlugin(e){u(e,"A name is required.");let t=this.registerPlugins[e];u(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}inherit(e){let{lifecycle:t,registerPlugins:n}=e;Object.keys(t).forEach(e=>{u(!this.lifecycle[e],`The hook "${e}" has a conflict and cannot be inherited.`),this.lifecycle[e]=t[e]}),Object.keys(n).forEach(e=>{u(!this.registerPlugins[e],`The plugin "${e}" has a conflict and cannot be inherited.`),this.applyPlugin(n[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}function tf(e){return r._extends({resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1},e)}function td(e,t){return t.map(t=>{let n=e4(e,t.nameOrAlias);return u(n,`Unable to preload ${t.nameOrAlias} as it is not included in ${!n&&a.safeToString({remoteInfo:n,remotes:e})}`),{remote:n,preloadConfig:tf(t)}})}function tp(e){return e?e.map(e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e):[]}function th(e,t,n){let r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:o,jsAssetsWithoutEntry:l,entryAssets:i}=n;if(t.options.inBrowser){if(i.forEach(n=>{let{moduleInfo:r}=n,a=t.moduleCache.get(e.name);a?tn({origin:t,remoteInfo:r,remoteEntryExports:a.remoteEntryExports}):tn({origin:t,remoteInfo:r,remoteEntryExports:void 0})}),r){let e={rel:"preload",as:"style"};o.forEach(n=>{let{link:r,needAttach:o}=a.createLink({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r}});o&&document.head.appendChild(r)})}else{let e={rel:"stylesheet",type:"text/css"};o.forEach(n=>{let{link:r,needAttach:o}=a.createLink({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r},needDeleteLink:!1});o&&document.head.appendChild(r)})}if(r){let e={rel:"preload",as:"script"};l.forEach(n=>{let{link:r,needAttach:o}=a.createLink({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r}});o&&document.head.appendChild(r)})}else{let n={fetchpriority:"high",type:(null==e?void 0:e.type)==="module"?"module":"text/javascript"};l.forEach(e=>{let{script:r,needAttach:o}=a.createScript({url:e,cb:()=>{},attrs:n,createScriptHook:(e,n)=>{let r=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:n});if(r instanceof HTMLScriptElement)return r},needDeleteScript:!0});o&&document.head.appendChild(r)})}}}function tm(e,t){let n=S(t);n.url||s(`The attribute remoteEntry of ${e.name} must not be undefined.`);let r=a.getResourceUrl(t,n.url);a.isBrowserEnv()||r.startsWith("http")||(r=`https:${r}`),e.type=n.type,e.entryGlobalName=n.globalName,e.entry=r,e.version=t.version,e.buildVersion=t.buildVersion}function tg(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:n,expose:a,origin:o,remoteInfo:l}=e;if(!p(t)||!h(t)){let{remoteSnapshot:i,globalSnapshot:u}=await o.snapshotHandler.loadRemoteSnapshotInfo(t);tm(l,i);let s={remote:t,preloadConfig:{nameOrAlias:n,exposes:[a],resourceCategory:"sync",share:!1,depsRemote:!1}},c=await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:s,remoteInfo:l,remote:t,remoteSnapshot:i,globalSnapshot:u});return c&&th(l,o,c,!1),r._extends({},e,{remoteSnapshot:i})}return e}}}function ty(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function tv(e,t,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},l=arguments.length>5?arguments[5]:void 0,{value:i}=$(e,d(t)),u=l||i;if(u&&!a.isManifestProvider(u)&&(n(u,t,r),u.remotesInfo))for(let t of Object.keys(u.remotesInfo)){if(o[t])continue;o[t]=!0;let r=ty(t),a=u.remotesInfo[t];tv(e,{name:r.name,version:a.matchedVersion},n,!1,o,void 0)}}let tb=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function t_(e,t,n,r,o){let l=[],i=[],u=[],s=new Set,c=new Set,{options:f}=e,{preloadConfig:d}=t,{depsRemote:p}=d;if(tv(r,n,(t,n,r)=>{let o;if(r)o=d;else if(Array.isArray(p)){let e=p.find(e=>e.nameOrAlias===n.name||e.nameOrAlias===n.alias);if(!e)return;o=tf(e)}else{if(!0!==p)return;o=d}let s=a.getResourceUrl(t,S(t).url);s&&u.push({name:n.name,moduleInfo:{name:n.name,entry:s,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:n.name,shareScope:"",version:"version"in t?t.version:void 0},url:s});let c="modules"in t?t.modules:[],f=tp(o.exposes);if(f.length&&"modules"in t){var h;c=null==t||null==(h=t.modules)?void 0:h.reduce((e,t)=>((null==f?void 0:f.indexOf(t.moduleName))!==-1&&e.push(t),e),[])}function m(e){let n=e.map(e=>a.getResourceUrl(t,e));return o.filter?n.filter(o.filter):n}if(c){let r=c.length;for(let a=0;a{let r=eJ(e.shareScopeMap,n.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare);r&&"function"==typeof r.lib&&(n.assets.js.sync.forEach(e=>{s.add(e)}),n.assets.css.sync.forEach(e=>{c.add(e)}))};o.shared.forEach(e=>{var n;let r=null==(n=f.shared)?void 0:n[e.sharedName];if(!r)return;let a=e.version?r.find(t=>t.version===e.version):r;a&&_(a).forEach(n=>{t(n,e)})})}let h=i.filter(e=>!s.has(e)&&!tb("script",e));return{cssAssets:l.filter(e=>!c.has(e)&&!tb("link",e)),jsAssetsWithoutEntry:h,entryAssets:u.filter(e=>!tb("script",e.url))}}let tS=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:n,remoteInfo:r,remote:o,globalSnapshot:l,remoteSnapshot:i}=e;return a.isBrowserEnv()?p(o)&&h(o)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:o.name,url:o.entry,moduleInfo:{name:r.name,entry:o.entry,type:r.type||"global",entryGlobalName:"",shareScope:""}}]}:(tm(r,i),t_(t,n,r,l,i)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}};function tw(e,t){let n=D({name:t.options.name,version:t.options.version}),r=n&&"remotesInfo"in n&&n.remotesInfo&&$(n.remotesInfo,e.name).value;return r&&r.matchedVersion?{hostGlobalSnapshot:n,globalSnapshot:L(),remoteSnapshot:D({name:e.name,version:r.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:L(),remoteSnapshot:D({name:e.name,version:"version"in e?e.version:void 0})}}class tE{async loadSnapshot(e){let{options:t}=this.HostInstance,{hostGlobalSnapshot:n,remoteSnapshot:r,globalSnapshot:a}=this.getGlobalRemoteInfo(e),{remoteSnapshot:o,globalSnapshot:l}=await this.hooks.lifecycle.loadSnapshot.emit({options:t,moduleInfo:e,hostGlobalSnapshot:n,remoteSnapshot:r,globalSnapshot:a});return{remoteSnapshot:o,globalSnapshot:l}}async loadRemoteSnapshotInfo(e){let t,n,{options:l}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:l,moduleInfo:e});let i=D({name:this.HostInstance.options.name,version:this.HostInstance.options.version});i||(i={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},z({[this.HostInstance.options.name]:i})),i&&"remotesInfo"in i&&!$(i.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(i.remotesInfo=r._extends({},null==i?void 0:i.remotesInfo,{[e.name]:{matchedVersion:"version"in e?e.version:e.entry}}));let{hostGlobalSnapshot:u,remoteSnapshot:c,globalSnapshot:f}=this.getGlobalRemoteInfo(e),{remoteSnapshot:d,globalSnapshot:h}=await this.hooks.lifecycle.loadSnapshot.emit({options:l,moduleInfo:e,hostGlobalSnapshot:u,remoteSnapshot:c,globalSnapshot:f});if(d)if(a.isManifestProvider(d)){let o=a.isBrowserEnv()?d.remoteEntry:d.ssrRemoteEntry||d.remoteEntry||"",l=await this.getManifestJson(o,e,{}),i=F(r._extends({},e,{entry:o}),l);t=l,n=i}else{let{remoteSnapshot:r}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:d,from:"global"});t=r,n=h}else if(p(e)){let r=await this.getManifestJson(e.entry,e,{}),a=F(e,r),{remoteSnapshot:o}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:r,from:"global"});t=o,n=a}else s(o.getShortErrorMsg(o.RUNTIME_007,o.runtimeDescMap,{hostName:e.name,hostVersion:e.version,globalSnapshot:JSON.stringify(h)}));return await this.hooks.lifecycle.afterLoadSnapshot.emit({options:l,moduleInfo:e,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:n}}getGlobalRemoteInfo(e){return tw(e,this.HostInstance)}async getManifestJson(e,t,n){let r=async()=>{let n=this.manifestCache.get(e);if(n)return n;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),n=await t.json()}catch(r){(n=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:r,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],s(o.getShortErrorMsg(o.RUNTIME_003,o.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${r}`)))}return u(n.metaData&&n.exposes&&n.shared,`${e} is not a federation manifest`),this.manifestCache.set(e,n),n},l=async()=>{let n=await r(),o=a.generateSnapshotFromManifest(n,{version:e}),{remoteSnapshot:l}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:n,remoteSnapshot:o,manifestUrl:e,from:"manifest"});return l};return this.manifestLoading[e]||(this.manifestLoading[e]=l().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new tc({beforeLoadRemoteSnapshot:new tl("beforeLoadRemoteSnapshot"),loadSnapshot:new ts("loadGlobalSnapshot"),loadRemoteSnapshot:new ts("loadRemoteSnapshot"),afterLoadSnapshot:new ts("afterLoadSnapshot")}),this.manifestLoading=x.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}}class tk{registerShared(e,t){let{shareInfos:n,shared:r}=eB(e,t);return Object.keys(n).forEach(e=>{n[e].forEach(n=>{!eJ(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)&&n&&n.lib&&this.setShared({pkgName:e,lib:n.lib,get:n.get,loaded:!0,shared:n,from:t.name})})}),{shareInfos:n,shared:r}}async loadShare(e,t){let{host:n}=this,r=e0({pkgName:e,extraOptions:t,shareInfos:n.options.shared});(null==r?void 0:r.scope)&&await Promise.all(r.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:r.strategy}))}));let{shareInfo:a}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:r,shared:n.options.shared,origin:n});u(a,`Cannot find ${e} Share in the ${n.options.name}. Please ensure that the ${e} Share parameters have been injected`);let o=eJ(this.shareScopeMap,e,a,this.hooks.lifecycle.resolveShare),l=e=>{e.useIn||(e.useIn=[]),f(e.useIn,n.options.name)};if(o&&o.lib)return l(o),o.lib;if(o&&o.loading&&!o.loaded){let e=await o.loading;return o.loaded=!0,o.lib||(o.lib=e),l(o),e}if(o){let t=(async()=>{let t=await o.get();a.lib=t,a.loaded=!0,l(a);let n=eJ(this.shareScopeMap,e,a,this.hooks.lifecycle.resolveShare);return n&&(n.lib=t,n.loaded=!0),t})();return this.setShared({pkgName:e,loaded:!1,shared:o,from:n.options.name,lib:null,loading:t}),t}{if(null==t?void 0:t.customShareInfo)return!1;let r=(async()=>{let t=await a.get();a.lib=t,a.loaded=!0,l(a);let n=eJ(this.shareScopeMap,e,a,this.hooks.lifecycle.resolveShare);return n&&(n.lib=t,n.loaded=!0),t})();return this.setShared({pkgName:e,loaded:!1,shared:a,from:n.options.name,lib:null,loading:r}),r}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:W,t=arguments.length>1?arguments[1]:void 0,{host:n}=this,r=null==t?void 0:t.from,a=null==t?void 0:t.strategy,o=null==t?void 0:t.initScope,l=[];if("build"!==r){let{initTokens:t}=this;o||(o=[]);let n=t[e];if(n||(n=t[e]={from:this.host.name}),o.indexOf(n)>=0)return l;o.push(n)}let i=this.shareScopeMap,u=n.options.name;i[e]||(i[e]={});let s=i[e],c=(e,t)=>{var n;let{version:r,eager:a}=t;s[e]=s[e]||{};let o=s[e],l=o[r],i=!!(l&&(l.eager||(null==(n=l.shareConfig)?void 0:n.eager)));(!l||"loaded-first"!==l.strategy&&!l.loaded&&(!a!=!i?a:u>l.from))&&(o[r]=t)},f=t=>t&&t.init&&t.init(i[e],o),d=async e=>{let{module:t}=await n.remoteHandler.getRemoteModuleAndOptions({id:e});if(t.getEntry){let r;try{r=await t.getEntry()}catch(t){r=await n.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:t,from:"runtime",lifecycle:"beforeLoadShare",origin:n})}t.inited||(await f(r),t.inited=!0)}};return Object.keys(n.options.shared).forEach(t=>{n.options.shared[t].forEach(n=>{n.scope.includes(e)&&c(t,n)})}),("version-first"===n.options.shareStrategy||"version-first"===a)&&n.options.remotes.forEach(t=>{t.shareScope===e&&l.push(d(t.name))}),l}loadShareSync(e,t){let{host:n}=this,r=e0({pkgName:e,extraOptions:t,shareInfos:n.options.shared});(null==r?void 0:r.scope)&&r.scope.forEach(e=>{this.initializeSharing(e,{strategy:r.strategy})});let a=eJ(this.shareScopeMap,e,r,this.hooks.lifecycle.resolveShare),l=e=>{e.useIn||(e.useIn=[]),f(e.useIn,n.options.name)};if(a){if("function"==typeof a.lib)return l(a),a.loaded||(a.loaded=!0,a.from===n.options.name&&(r.loaded=!0)),a.lib;if("function"==typeof a.get){let t=a.get();if(!(t instanceof Promise))return l(a),this.setShared({pkgName:e,loaded:!0,from:n.options.name,lib:t,shared:a}),t}}if(r.lib)return r.loaded||(r.loaded=!0),r.lib;if(r.get){let a=r.get();if(a instanceof Promise){let r=(null==t?void 0:t.from)==="build"?o.RUNTIME_005:o.RUNTIME_006;throw Error(o.getShortErrorMsg(r,o.runtimeDescMap,{hostName:n.options.name,sharedPkgName:e}))}return r.lib=a,this.setShared({pkgName:e,loaded:!0,from:n.options.name,lib:r.lib,shared:r}),r.lib}throw Error(o.getShortErrorMsg(o.RUNTIME_006,o.runtimeDescMap,{hostName:n.options.name,sharedPkgName:e}))}initShareScopeMap(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:r}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:r.options,origin:r,scopeName:e,hostShareScopeMap:n.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:n,from:a,lib:o,loading:l,loaded:i,get:u}=e,{version:s,scope:c="default"}=n,f=r._object_without_properties_loose(n,["version","scope"]);(Array.isArray(c)?c:[c]).forEach(e=>{if(this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),!this.shareScopeMap[e][t][s]){this.shareScopeMap[e][t][s]=r._extends({version:s,scope:["default"]},f,{lib:o,loaded:i,loading:l}),u&&(this.shareScopeMap[e][t][s].get=u);return}let n=this.shareScopeMap[e][t][s];l&&!n.loading&&(n.loading=l)})}_setGlobalShareScopeMap(e){let t=eZ(),n=e.id||e.name;n&&!t[n]&&(t[n]=this.shareScopeMap)}constructor(e){this.hooks=new tc({afterResolve:new ts("afterResolve"),beforeLoadShare:new ts("beforeLoadShare"),loadShare:new tl,resolveShare:new tu("resolveShare"),initContainerShareScopeMap:new tu("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}class tx{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:n,expose:r}=t,{name:a,alias:o}=n;if(this.idToRemoteMap[e]={name:n.name,expose:r},o&&e.startsWith(a)){let t=e.replace(a,o);this.idToRemoteMap[t]={name:n.name,expose:r};return}if(o&&e.startsWith(o)){let t=e.replace(o,a);this.idToRemoteMap[t]={name:n.name,expose:r}}}async loadRemote(e,t){let{host:n}=this;try{let{loadFactory:r=!0}=t||{loadFactory:!0},{module:a,moduleOptions:o,remoteMatchInfo:l}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:i,remote:u,expose:s,id:c,remoteSnapshot:f}=l,d=await a.get(c,s,t,f),p=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:i,expose:s,exposeModule:r?d:void 0,exposeModuleFactory:r?void 0:d,remote:u,options:o,moduleInstance:a,origin:n});if(this.setIdToRemoteMap(e,l),"function"==typeof p)return p;return d}catch(o){let{from:r="runtime"}=t||{from:"runtime"},a=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:r,lifecycle:"onLoad",origin:n});if(!a)throw o;return a}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let n=td(t.options.remotes,e);await Promise.all(n.map(async e=>{let{remote:n}=e,r=tr(n),{globalSnapshot:a,remoteSnapshot:o}=await t.snapshotHandler.loadRemoteSnapshotInfo(n),l=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:n,remoteInfo:r,globalSnapshot:a,remoteSnapshot:o});l&&th(r,t,l)}))}registerRemotes(e,t){let{host:n}=this;e.forEach(e=>{this.registerRemote(e,n.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:n}=this,{id:a}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:a,options:n.options,origin:n})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:a,options:n.options,origin:n,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:l}=t,i=e3(n.options.remotes,l);u(i,o.getShortErrorMsg(o.RUNTIME_004,o.runtimeDescMap,{hostName:n.options.name,requestId:l}));let{remote:s}=i,c=tr(s),f=await n.sharedHandler.hooks.lifecycle.afterResolve.emit(r._extends({id:l},i,{options:n.options,origin:n,remoteInfo:c})),{remote:d,expose:p}=f;u(d&&p,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${l}.`);let h=n.moduleCache.get(d.name),m={host:n,remoteInfo:c};return h||(h=new ta(m),n.moduleCache.set(d.name,h)),{module:h,moduleOptions:m,remoteMatchInfo:f}}registerRemote(e,t,n){let{host:r}=this,o=()=>{if(e.alias){let n=t.find(t=>{var n;return e.alias&&(t.name.startsWith(e.alias)||(null==(n=t.alias)?void 0:n.startsWith(e.alias)))});u(!n,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${n&&n.name} name or alias`)}"entry"in e&&a.isBrowserEnv()&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=W),e.type||(e.type=G)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:r});let l=t.find(t=>t.name===e.name);if(l){let i=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==n?void 0:n.force)&&(this.removeRemote(l),o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:r}),a.warn(i.join(" ")))}else o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:r})}removeRemote(e){try{let{host:n}=this,{name:r}=e,o=n.options.remotes.findIndex(e=>e.name===r);-1!==o&&n.options.remotes.splice(o,1);let l=n.moduleCache.get(e.name);if(l){let r=l.remoteInfo,o=r.entryGlobalName;if(E[o]){var t;(null==(t=Object.getOwnPropertyDescriptor(E,o))?void 0:t.configurable)?delete E[o]:E[o]=void 0}let i=tt(l.remoteInfo);I[i]&&delete I[i],n.snapshotHandler.manifestCache.delete(r.entry);let u=r.buildVersion?a.composeKeyWithSeparator(r.name,r.buildVersion):r.name,s=E.__FEDERATION__.__INSTANCES__.findIndex(e=>r.buildVersion?e.options.id===u:e.name===u);if(-1!==s){let e=E.__FEDERATION__.__INSTANCES__[s];u=e.options.id||u;let t=eZ(),n=!0,a=[];Object.keys(t).forEach(e=>{let o=t[e];o&&Object.keys(o).forEach(t=>{let l=o[t];l&&Object.keys(l).forEach(o=>{let i=l[o];i&&Object.keys(i).forEach(l=>{let u=i[l];u&&"object"==typeof u&&u.from===r.name&&(u.loaded||u.loading?(u.useIn=u.useIn.filter(e=>e!==r.name),u.useIn.length?n=!1:a.push([e,t,o,l])):a.push([e,t,o,l]))})})})}),n&&(e.shareScopeMap={},delete t[u]),a.forEach(e=>{var n,r,a;let[o,l,i,u]=e;null==(a=t[o])||null==(r=a[l])||null==(n=r[i])||delete n[u]}),E.__FEDERATION__.__INSTANCES__.splice(s,1)}let{hostGlobalSnapshot:c}=tw(e,n);if(c){let t=c&&"remotesInfo"in c&&c.remotesInfo&&$(c.remotesInfo,e.name).key;t&&(delete c.remotesInfo[t],x.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete x.__FEDERATION__.__MANIFEST_LOADING__[t])}n.moduleCache.delete(e.name)}}catch(e){i.log("removeRemote fail: ",e)}}constructor(e){this.hooks=new tc({beforeRegisterRemote:new tu("beforeRegisterRemote"),registerRemote:new tu("registerRemote"),beforeRequest:new ts("beforeRequest"),onLoad:new tl("onLoad"),handlePreloadModule:new to("handlePreloadModule"),errorLoadRemote:new tl("errorLoadRemote"),beforePreloadRemote:new tl("beforePreloadRemote"),generatePreloadAssets:new tl("generatePreloadAssets"),afterPreloadRemote:new tl,loadEntry:new tl}),this.host=e,this.idToRemoteMap={}}}class tN{initOptions(e){this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:W,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,n){let r=new ta({host:this,remoteInfo:tr({name:e,entry:t})});return r.remoteEntryExports=n,this.moduleCache.set(e,r),r}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,n)}formatOptions(e,t){let{shared:n}=eB(e,t),{userOptions:a,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:n}),l=this.remoteHandler.formatAndRegisterRemote(o,a),{shared:i}=this.sharedHandler.registerShared(o,a),u=[...o.plugins];a.plugins&&a.plugins.forEach(e=>{u.includes(e)||u.push(e)});let s=r._extends({},e,t,{plugins:u,remotes:l,shared:i});return this.hooks.lifecycle.init.emit({origin:this,options:s}),s}registerPlugins(e){let t=e5(e,[this.hooks,this.remoteHandler.hooks,this.sharedHandler.hooks,this.snapshotHandler.hooks,this.loaderHook,this.bridgeHook]);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}constructor(e){this.hooks=new tc({beforeInit:new tu("beforeInit"),init:new to,beforeInitContainer:new ts("beforeInitContainer"),initContainer:new ts("initContainer")}),this.version="0.13.1",this.moduleCache=new Map,this.loaderHook=new tc({getModuleInfo:new to,createScript:new to,createLink:new to,fetch:new tl,loadEntryError:new tl,getModuleFactory:new tl}),this.bridgeHook=new tc({beforeBridgeRender:new to,afterBridgeRender:new to,beforeBridgeDestroy:new to,afterBridgeDestroy:new to});let t={id:e2(),name:e.name,plugins:[tg(),tS()],remotes:[],shared:{},inBrowser:a.isBrowserEnv()};this.name=e.name,this.options=t,this.snapshotHandler=new tE(this),this.sharedHandler=new tk(this),this.remoteHandler=new tx(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...t.plugins,...e.plugins||[]]),this.options=this.formatOptions(t,e)}}var tR=Object.freeze({__proto__:null});t.loadScript=a.loadScript,t.loadScriptNode=a.loadScriptNode,t.CurrentGlobal=E,t.FederationHost=tN,t.Global=x,t.Module=ta,t.addGlobalSnapshot=z,t.assert=u,t.getGlobalFederationConstructor=M,t.getGlobalSnapshot=L,t.getInfoWithoutType=$,t.getRegisteredShare=eJ,t.getRemoteEntry=tn,t.getRemoteInfo=tr,t.helpers=e1,t.isStaticResourcesEqual=b,t.matchRemoteWithNameAndExpose=e3,t.registerGlobalPlugins=H,t.resetFederationGlobalInfo=C,t.safeWrapper=m,t.satisfy=eU,t.setGlobalFederationConstructor=O,t.setGlobalFederationInstance=P,t.types=tR},4538:function(e,t){function n(){return(n=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}t._extends=n,t._object_without_properties_loose=r},3364:function(e,t,n){var r=n(2921),a=n(1858);let o=null;function l(e){let t=a.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),o||(o=t),t):(o=new(r.getGlobalFederationConstructor()||r.FederationHost)(e),r.setGlobalFederationInstance(o),o)}function i(){for(var e=arguments.length,t=Array(e),n=0;n!!n&&r.options.id===a()||r.options.name===e&&!r.options.version&&!t||r.options.name===e&&!!t&&r.options.version===t)}},1322:function(__unused_webpack_module,exports,__webpack_require__){var polyfills=__webpack_require__(5877);let FederationModuleManifest="federation-manifest.json",MANIFEST_EXT=".json",BROWSER_LOG_KEY="FEDERATION_DEBUG",BROWSER_LOG_VALUE="1",NameTransformSymbol={AT:"@",HYPHEN:"-",SLASH:"/"},NameTransformMap={[NameTransformSymbol.AT]:"scope_",[NameTransformSymbol.HYPHEN]:"_",[NameTransformSymbol.SLASH]:"__"},EncodedNameTransformMap={[NameTransformMap[NameTransformSymbol.AT]]:NameTransformSymbol.AT,[NameTransformMap[NameTransformSymbol.HYPHEN]]:NameTransformSymbol.HYPHEN,[NameTransformMap[NameTransformSymbol.SLASH]]:NameTransformSymbol.SLASH},SEPARATOR=":",ManifestFileName="mf-manifest.json",StatsFileName="mf-stats.json",MFModuleType={NPM:"npm",APP:"app"},MODULE_DEVTOOL_IDENTIFIER="__MF_DEVTOOLS_MODULE_INFO__",ENCODE_NAME_PREFIX="ENCODE_NAME_PREFIX",TEMP_DIR=".federation",MFPrefetchCommon={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"};var ContainerPlugin=Object.freeze({__proto__:null}),ContainerReferencePlugin=Object.freeze({__proto__:null}),ModuleFederationPlugin=Object.freeze({__proto__:null}),SharePlugin=Object.freeze({__proto__:null});function isBrowserEnv(){return"undefined"!=typeof window&&void 0!==window.document}function isReactNativeEnv(){var e;return"undefined"!=typeof navigator&&(null==(e=navigator)?void 0:e.product)==="ReactNative"}function isBrowserDebug(){try{if(isBrowserEnv()&&window.localStorage)return localStorage.getItem(BROWSER_LOG_KEY)===BROWSER_LOG_VALUE}catch(e){}return!1}function isDebugMode(){return"undefined"!=typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("undefined"!=typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||isBrowserDebug()}let getProcessEnv=function(){return"undefined"!=typeof process&&process.env?process.env:{}},LOG_CATEGORY="[ Federation Runtime ]",parseEntry=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:SEPARATOR,r=e.split(n),a="development"===getProcessEnv().NODE_ENV&&t,o="*",l=e=>e.startsWith("http")||e.includes(MANIFEST_EXT);if(r.length>=2){let[t,...i]=r;e.startsWith(n)&&(t=r.slice(0,2).join(n),i=[a||r.slice(2).join(n)]);let u=a||i.join(n);return l(u)?{name:t,entry:u}:{name:t,version:u||o}}if(1===r.length){let[e]=r;return a&&l(a)?{name:e,entry:a}:{name:e,version:a||o}}throw`Invalid entry value: ${e}`},composeKeyWithSeparator=function(){for(var e=arguments.length,t=Array(e),n=0;nt?e?`${e}${SEPARATOR}${t}`:t:e,""):""},encodeName=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let r=n?".js":"";return`${t}${e.replace(RegExp(`${NameTransformSymbol.AT}`,"g"),NameTransformMap[NameTransformSymbol.AT]).replace(RegExp(`${NameTransformSymbol.HYPHEN}`,"g"),NameTransformMap[NameTransformSymbol.HYPHEN]).replace(RegExp(`${NameTransformSymbol.SLASH}`,"g"),NameTransformMap[NameTransformSymbol.SLASH])}${r}`}catch(e){throw e}},decodeName=function(e,t,n){try{let r=e;if(t){if(!r.startsWith(t))return r;r=r.replace(RegExp(t,"g"),"")}return r=r.replace(RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]),n&&(r=r.replace(".js","")),r}catch(e){throw e}},generateExposeFilename=(e,t)=>{if(!e)return"";let n=e;return"."===n&&(n="default_export"),n.startsWith("./")&&(n=n.replace("./","")),encodeName(n,"__federation_expose_",t)},generateShareFilename=(e,t)=>e?encodeName(e,"__federation_shared_",t):"",getResourceUrl=(e,t)=>{if("getPublicPath"in e){let n;return n=e.getPublicPath.startsWith("function")?Function("return "+e.getPublicPath)()():Function(e.getPublicPath)(),`${n}${t}`}return"publicPath"in e?!isBrowserEnv()&&!isReactNativeEnv()&&"ssrPublicPath"in e?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},assert=(e,t)=>{e||error(t)},error=e=>{throw Error(`${LOG_CATEGORY}: ${e}`)},warn=e=>{console.warn(`${LOG_CATEGORY}: ${e}`)};function safeToString(e){try{return JSON.stringify(e,null,2)}catch(e){return""}}let VERSION_PATTERN_REGEXP=/^([\d^=v<>~]|[*xX]$)/;function isRequiredVersion(e){return VERSION_PATTERN_REGEXP.test(e)}let simpleJoinRemoteEntry=(e,t)=>{if(!e)return t;let n=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return n?n.endsWith("/")?`${n}${t}`:`${n}/${t}`:t};function inferAutoPublicPath(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function generateSnapshotFromManifest(e){var t,n,r;let a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:l={},overrides:i={},version:u}=o,s=()=>"publicPath"in e.metaData?"auto"===e.metaData.publicPath&&u?inferAutoPublicPath(u):e.metaData.publicPath:e.metaData.getPublicPath,c=Object.keys(i),f={};Object.keys(l).length||(f=(null==(r=e.remotes)?void 0:r.reduce((e,t)=>{let n,r=t.federationContainerName;return n=c.includes(r)?i[r]:"version"in t?t.version:t.entry,e[r]={matchedVersion:n},e},{}))||{}),Object.keys(l).forEach(e=>f[e]={matchedVersion:c.includes(e)?i[e]:l[e]});let{remoteEntry:{path:d,name:p,type:h},types:m,buildInfo:{buildVersion:g},globalName:y,ssrRemoteEntry:v}=e.metaData,{exposes:b}=e,_={version:u||"",buildVersion:g,globalName:y,remoteEntry:simpleJoinRemoteEntry(d,p),remoteEntryType:h,remoteTypes:simpleJoinRemoteEntry(m.path,m.name),remoteTypesZip:m.zip||"",remoteTypesAPI:m.api||"",remotesInfo:f,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version})),modules:null==b?void 0:b.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(t=e.metaData)?void 0:t.prefetchInterface){let t=e.metaData.prefetchInterface;_=polyfills._({},_,{prefetchInterface:t})}if(null==(n=e.metaData)?void 0:n.prefetchEntry){let{path:t,name:n,type:r}=e.metaData.prefetchEntry;_=polyfills._({},_,{prefetchEntry:simpleJoinRemoteEntry(t,n),prefetchEntryType:r})}return a="publicPath"in e.metaData?polyfills._({},_,{publicPath:s(),ssrPublicPath:e.metaData.ssrPublicPath}):polyfills._({},_,{getPublicPath:s()}),v&&(a.ssrRemoteEntry=simpleJoinRemoteEntry(v.path,v.name),a.ssrRemoteEntryType=v.type||"commonjs-module"),a}function isManifestProvider(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(MANIFEST_EXT))}let PREFIX="[ Module Federation ]",Logger=class{setPrefix(e){this.prefix=e}log(){for(var e=arguments.length,t=Array(e),n=0;n{n&&("async"===e||"defer"===e?n[e]=r[e]:n.getAttribute(e)||n.setAttribute(e,r[e]))})}let l=async(r,a)=>{clearTimeout(t);let o=()=>{(null==a?void 0:a.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(a)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(n&&(n.onerror=null,n.onload=null,safeWrapper(()=>{let{needDeleteScript:t=!0}=e;t&&(null==n?void 0:n.parentNode)&&n.parentNode.removeChild(n)}),r&&"function"==typeof r)){let e=r(a);if(e instanceof Promise){let t=await e;return o(),t}return o(),e}o()};return n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),t=setTimeout(()=>{l(null,Error(`Remote script "${e.url}" time-outed.`))},a),{script:n,needAttach:r}}function createLink(e){let t=null,n=!0,r=document.getElementsByTagName("link");for(let a=0;a{t&&!t.getAttribute(e)&&t.setAttribute(e,r[e])})}let a=(n,r)=>{let a=()=>{(null==r?void 0:r.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(r)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,safeWrapper(()=>{let{needDeleteLink:n=!0}=e;n&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),n)){let e=n(r);return a(),e}a()};return t.onerror=a.bind(null,t.onerror),t.onload=a.bind(null,t.onload),{link:t,needAttach:n}}function loadScript(e,t){let{attrs:n={},createScriptHook:r}=t;return new Promise((t,a)=>{let{script:o,needAttach:l}=createScript({url:e,cb:t,onErrorCallback:a,attrs:polyfills._({fetchpriority:"high"},n),createScriptHook:r,needDeleteScript:!0});l&&document.head.appendChild(o)})}function importNodeModule(e){if(!e)throw Error("import specifier is required");return Function("name","return import(name)")(e).then(e=>e).catch(t=>{throw console.error(`Error importing module ${e}:`,t),t})}let loadNodeFetch=async()=>{let e=await importNodeModule("node-fetch");return e.default||e},lazyLoaderHookFetch=async(e,t,n)=>{let r=(e,t)=>n.lifecycle.fetch.emit(e,t),a=await r(e,t||{});return a&&a instanceof Response?a:("undefined"==typeof fetch?await loadNodeFetch():fetch)(e,t||{})};function createScriptNode(url,cb,attrs,loaderHook){let urlObj;if(null==loaderHook?void 0:loaderHook.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&"object"==typeof hookResult&&"url"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error("Error constructing URL:",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):"undefined"==typeof fetch?loadNodeFetch():fetch,handleScriptFetch=async(f,urlObj)=>{try{var _vm_constants,_vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER;let res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data} })`,{filename,importModuleDynamically:null!=(_vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER=null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)?_vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER:importNodeModule});script.runInThisContext()(scriptContext.exports,scriptContext.module,eval("require"),urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName){let container=exportedInterface[attrs.globalName]||exportedInterface;cb(void 0,container);return}cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if((null==attrs?void 0:attrs.type)==="esm"||(null==attrs?void 0:attrs.type)==="module")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule("vm")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}function loadScriptNode(e,t){return new Promise((n,r)=>{createScriptNode(e,(e,a)=>{if(e)r(e);else{var o,l;let e=(null==t||null==(o=t.attrs)?void 0:o.globalName)||`__FEDERATION_${null==t||null==(l=t.attrs)?void 0:l.name}:custom__`;n(globalThis[e]=a)}},t.attrs,t.loaderHook)})}async function loadModule(e,t){let{fetch:n,vm:r}=t,a=await n(e),o=await a.text(),l=new r.SourceTextModule(o,{importModuleDynamically:async(n,r)=>loadModule(new URL(n,e).href,t)});return await l.link(async n=>{let r=new URL(n,e).href;return await loadModule(r,t)}),l}function normalizeOptions(e,t,n){return function(r){if(!1===r)return!1;if(void 0===r)if(e)return t;else return!1;if(!0===r)return t;if(r&&"object"==typeof r)return polyfills._({},t,r);throw Error(`Unexpected type for \`${n}\`, expect boolean/undefined/object, got: ${typeof r}`)}}exports.BROWSER_LOG_KEY=BROWSER_LOG_KEY,exports.BROWSER_LOG_VALUE=BROWSER_LOG_VALUE,exports.ENCODE_NAME_PREFIX=ENCODE_NAME_PREFIX,exports.EncodedNameTransformMap=EncodedNameTransformMap,exports.FederationModuleManifest=FederationModuleManifest,exports.MANIFEST_EXT=MANIFEST_EXT,exports.MFModuleType=MFModuleType,exports.MFPrefetchCommon=MFPrefetchCommon,exports.MODULE_DEVTOOL_IDENTIFIER=MODULE_DEVTOOL_IDENTIFIER,exports.ManifestFileName=ManifestFileName,exports.NameTransformMap=NameTransformMap,exports.NameTransformSymbol=NameTransformSymbol,exports.SEPARATOR=SEPARATOR,exports.StatsFileName=StatsFileName,exports.TEMP_DIR=TEMP_DIR,exports.assert=assert,exports.composeKeyWithSeparator=composeKeyWithSeparator,exports.containerPlugin=ContainerPlugin,exports.containerReferencePlugin=ContainerReferencePlugin,exports.createLink=createLink,exports.createLogger=createLogger,exports.createScript=createScript,exports.createScriptNode=createScriptNode,exports.decodeName=decodeName,exports.encodeName=encodeName,exports.error=error,exports.generateExposeFilename=generateExposeFilename,exports.generateShareFilename=generateShareFilename,exports.generateSnapshotFromManifest=generateSnapshotFromManifest,exports.getProcessEnv=getProcessEnv,exports.getResourceUrl=getResourceUrl,exports.inferAutoPublicPath=inferAutoPublicPath,exports.isBrowserEnv=isBrowserEnv,exports.isDebugMode=isDebugMode,exports.isManifestProvider=isManifestProvider,exports.isReactNativeEnv=isReactNativeEnv,exports.isRequiredVersion=isRequiredVersion,exports.isStaticResourcesEqual=isStaticResourcesEqual,exports.loadScript=loadScript,exports.loadScriptNode=loadScriptNode,exports.logger=logger,exports.moduleFederationPlugin=ModuleFederationPlugin,exports.normalizeOptions=normalizeOptions,exports.parseEntry=parseEntry,exports.safeToString=safeToString,exports.safeWrapper=safeWrapper,exports.sharePlugin=SharePlugin,exports.simpleJoinRemoteEntry=simpleJoinRemoteEntry,exports.warn=warn},5877:function(e,t){function n(){return(n=Object.assign||function(e){for(var t=1;t{let t=u.R;t||(t=[]);let r=i[e],l=s[e];if(t.indexOf(r)>=0)return;if(t.push(r),r.p)return n.push(r.p);let c=t=>{t||(t=Error("Container missing")),"string"==typeof t.message&&(t.message+=` -while loading "${r[1]}" from ${r[2]}`),u.m[e]=()=>{throw t},r.p=0},f=(e,t,a,o,l,i)=>{try{let u=e(t,a);if(!u||!u.then)return l(u,o,i);{let e=u.then(e=>l(e,o),c);if(!i)return e;n.push(r.p=e)}}catch(e){c(e)}},d=(e,t,n)=>e?f(u.I,r[0],0,e,p,n):c();var p=(e,n,a)=>f(n.get,r[1],t,0,h,a),h=t=>{r.p=1,u.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=o.decodeName(l[0].name,o.ENCODE_NAME_PREFIX)+r[1].slice(1),t=u.federation.instance,n=()=>u.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy)return Promise.all(t.sharedHandler.initializeSharing(r[0])).then(()=>n());return n()}catch(e){c(e)}};1===l.length&&a.FEDERATION_SUPPORTED_TYPES.includes(l[0].externalType)&&l[0].name?f(m,r[2],0,0,h,1):f(u,r[2],0,0,d,1)})}function u(e){let{chunkId:t,promises:n,chunkMapping:r,installedModules:a,moduleToHandlerMapping:o,webpackRequire:i}=e;l(i),i.o(r,t)&&r[t].forEach(e=>{if(i.o(a,e))return n.push(a[e]);let t=t=>{a[e]=0,i.m[e]=n=>{delete i.c[e],n.exports=t()}},r=t=>{delete a[e],i.m[e]=n=>{throw delete i.c[e],t}};try{let l=i.federation.instance;if(!l)throw Error("Federation instance not found!");let{shareKey:u,getter:s,shareInfo:c}=o[e],f=l.loadShare(u,{customShareInfo:c}).then(e=>!1===e?s():e);f.then?n.push(a[e]=f.then(t).catch(r)):t(f)}catch(e){r(e)}})}function s(e){let{shareScopeName:t,webpackRequire:n,initPromises:r,initTokens:o,initScope:i}=e,u=Array.isArray(t)?t:[t];var s=[],c=function(e){i||(i=[]);let u=n.federation.instance;var s=o[e];if(s||(s=o[e]={from:u.name}),i.indexOf(s)>=0)return;i.push(s);let c=r[e];if(c)return c;var f=e=>"undefined"!=typeof console&&console.warn&&console.warn(e),d=r=>{var a=e=>f("Initialization of sharing external failed: "+e);try{var o=n(r);if(!o)return;var l=r=>r&&r.init&&r.init(n.S[e],i,{shareScopeMap:n.S||{},shareScopeKeys:t});if(o.then)return p.push(o.then(l,a));var u=l(o);if(u&&"boolean"!=typeof u&&u.then)return p.push(u.catch(a))}catch(e){a(e)}};let p=u.initializeSharing(e,{strategy:u.options.shareStrategy,initScope:i,from:"build"});l(n);let h=n.federation.bundlerRuntimeOptions.remotes;return(h&&Object.keys(h.idToRemoteMap).forEach(e=>{let t=h.idToRemoteMap[e],n=h.idToExternalAndNameMapping[e][2];if(t.length>1)d(n);else if(1===t.length){let e=t[0];a.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||d(n)}}),p.length)?r[e]=Promise.all(p).then(()=>r[e]=!0):r[e]=!0};return u.forEach(e=>{s.push(c(e))}),Promise.all(s).then(()=>!0)}function c(e){let{moduleId:t,moduleToHandlerMapping:n,webpackRequire:r}=e,a=r.federation.instance;if(!a)throw Error("Federation instance not found!");let{shareKey:o,shareInfo:l}=n[t];try{return a.loadShareSync(o,{customShareInfo:l})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}function f(e){let{moduleToHandlerMapping:t,webpackRequire:n,installedModules:r,initialConsumes:a}=e;a.forEach(e=>{n.m[e]=a=>{r[e]=0,delete n.c[e];let o=c({moduleId:e,moduleToHandlerMapping:t,webpackRequire:n});if("function"!=typeof o)throw Error(`Shared module is not available for eager consumption: ${e}`);a.exports=o()}})}function d(){return(d=Object.assign||function(e){for(var t=1;t{if(!i||!u)return void l.initShareScopeMap(e,n,{hostShareScopeMap:(null==o?void 0:o.shareScopeMap)||{}});u[e]||(u[e]={});let t=u[e];l.initShareScopeMap(e,t,{hostShareScopeMap:(null==o?void 0:o.shareScopeMap)||{}})});else{let e=a||"default";Array.isArray(i)?i.forEach(e=>{u[e]||(u[e]={});let t=u[e];l.initShareScopeMap(e,t,{hostShareScopeMap:(null==o?void 0:o.shareScopeMap)||{}})}):l.initShareScopeMap(e,n,{hostShareScopeMap:(null==o?void 0:o.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(a))?t.federation.initOptions.shared?t.I(a,r):Promise.all(a.map(e=>t.I(e,r))).then(()=>!0):t.I(a||"default",r)}e.exports={runtime:function(e){var t=Object.create(null);if(e)for(var n in e)t[n]=e[n];return t.default=e,Object.freeze(t)}(r),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:i,consumes:u,I:s,S:{},installInitialConsumes:f,initContainerEntry:p},attachShareScopeMap:l,bundlerRuntimeOptions:{}}},7266:function(e,t,n){var r,a,o,l,i,u,s,c,f,d,p,h,m=n(950),g=n.n(m);let y=[],v={"@pimcore/studio-ui-bundle":[{alias:"@pimcore/studio-ui-bundle",externalType:"promise",shareScope:"default"}]},b="pimcore_studio_example_bundle",_="version-first";if((n.initializeSharingData||n.initializeExposesData)&&n.federation){let e=(e,t,n)=>{e&&e[t]&&(e[t]=n)},t=(e,t,n)=>{var r,a,o,l,i,u;let s=n();Array.isArray(s)?(null!=(o=(r=e)[a=t])||(r[a]=[]),e[t].push(...s)):"object"==typeof s&&null!==s&&(null!=(u=(l=e)[i=t])||(l[i]={}),Object.assign(e[t],s))},m=(e,t,n)=>{var r,a,o;null!=(o=(r=e)[a=t])||(r[a]=n())},S=null!=(c=null==(r=n.remotesLoadingData)?void 0:r.chunkMapping)?c:{},w=null!=(f=null==(a=n.remotesLoadingData)?void 0:a.moduleIdToRemoteDataMapping)?f:{},E=null!=(d=null==(o=n.initializeSharingData)?void 0:o.scopeToSharingDataMapping)?d:{},k=null!=(p=null==(l=n.consumesLoadingData)?void 0:l.chunkMapping)?p:{},x=null!=(h=null==(i=n.consumesLoadingData)?void 0:i.moduleIdToConsumeDataMapping)?h:{},N={},R=[],I={},T=null==(u=n.initializeExposesData)?void 0:u.shareScope;for(let e in g())n.federation[e]=g()[e];m(n.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,n]of Object.entries(x))e[t]={getter:n.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager},scope:[n.shareScope]},shareKey:n.shareKey};return e}),m(n.federation,"initOptions",()=>({})),m(n.federation.initOptions,"name",()=>b),m(n.federation.initOptions,"shareStrategy",()=>_),m(n.federation.initOptions,"shared",()=>{let e={};for(let[t,n]of Object.entries(E))for(let r of n)if("object"==typeof r&&null!==r){let{name:n,version:a,factory:o,eager:l,singleton:i,requiredVersion:u,strictVersion:s}=r,c={},f=function(e){return void 0!==e};f(i)&&(c.singleton=i),f(u)&&(c.requiredVersion=u),f(l)&&(c.eager=l),f(s)&&(c.strictVersion=s);let d={version:a,scope:[t],shareConfig:c,get:o};e[n]?e[n].push(d):e[n]=[d]}return e}),t(n.federation.initOptions,"remotes",()=>Object.values(v).flat().filter(e=>"script"===e.externalType)),t(n.federation.initOptions,"plugins",()=>y),m(n.federation,"bundlerRuntimeOptions",()=>({})),m(n.federation.bundlerRuntimeOptions,"remotes",()=>({})),m(n.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>S),m(n.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,n]of Object.entries(w))e[t]=[n.shareScope,n.name,n.externalModuleId,n.remoteName];return e}),m(n.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>n),t(n.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,n]of Object.entries(w)){let r=v[n.remoteName];r&&(e[t]=r)}return e}),e(n,"S",n.federation.bundlerRuntime.S),n.federation.attachShareScopeMap&&n.federation.attachShareScopeMap(n),e(n.f,"remotes",(e,t)=>n.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:S,idToExternalAndNameMapping:n.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:n.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:n})),e(n.f,"consumes",(e,t)=>n.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:k,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping,installedModules:N,webpackRequire:n})),e(n,"I",(e,t)=>n.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:R,initTokens:I,webpackRequire:n})),e(n,"initContainer",(e,t,r)=>n.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:r,shareScopeKey:T,webpackRequire:n})),e(n,"getContainer",(e,t)=>{var r=n.initializeExposesData.moduleMap;return n.R=t,t=Object.prototype.hasOwnProperty.call(r,e)?r[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),n.R=void 0,t}),n.federation.instance=n.federation.runtime.init(n.federation.initOptions),(null==(s=n.consumesLoadingData)?void 0:s.initialConsumes)&&n.federation.bundlerRuntime.installInitialConsumes({webpackRequire:n,installedModules:N,initialConsumes:n.consumesLoadingData.initialConsumes,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping})}},6115:function(e,t,n){n.d(t,{get:()=>n.getContainer,init:()=>n.initContainer})},6535:function(e){e.exports=new Promise(e=>{let t=window.StudioUIBundleRemoteUrl;if(!t)throw Error('Required remote "pimcore_studio_ui_bundle" is not available');if(window.pimcore_studio_ui_bundle)return void e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log("remote container already initialized")}}});let n=document.createElement("script");n.src=t,n.onload=()=>{e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log("remote container already initialized")}}})},n.onerror=()=>{throw Error('Failed to load required remote "pimcore_studio_ui_bundle" from '+t)},document.head.appendChild(n)})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!0},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>"static/js/async/"+("249"===e?"__federation_expose_default_export":e)+"."+({249:"cb2e3981",798:"5da9846f"})[e]+".js"})(),(()=>{__webpack_require__.miniCssF=e=>""+e+".css"})(),(()=>{__webpack_require__.h=()=>"81dee6c0b26bf3b5"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_example_bundle:";__webpack_require__.l=function(n,r,a,o){if(e[n])return void e[n].push(r);if(void 0!==a)for(var l,i,u=document.getElementsByTagName("script"),s=0;s{__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.p="/bundles/pimcorestudioexample/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/"})(),(()=>{__webpack_require__.rv=()=>"1.3.9"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"react-dom",version:"18.3.1",factory:()=>()=>__webpack_require__(3935),eager:1,singleton:1,requiredVersion:"*"},{name:"react",version:"18.3.1",factory:()=>()=>__webpack_require__(7294),eager:1,singleton:1,requiredVersion:"*"},6535]},uniqueName:"pimcore_studio_example_bundle"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{981:["5136"],249:["7599"]},moduleIdToConsumeDataMapping:{5136:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(7294)},7599:{shareScope:"default",shareKey:"react-dom",import:"react-dom",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(3935)}},initialConsumes:["5136"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{__webpack_require__.initializeExposesData={moduleMap:{".":()=>Promise.all([__webpack_require__.e("798"),__webpack_require__.e("249")]).then(()=>()=>__webpack_require__(7967))},shareScope:"default"},__webpack_require__.getContainer=__webpack_require__.getContainer||function(){throw Error("should have __webpack_require__.getContainer")},__webpack_require__.initContainer=__webpack_require__.initContainer||function(){throw Error("should have __webpack_require__.initContainer")}})(),(()=>{var e={981:0};__webpack_require__.f.j=function(t,n){var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var a=new Promise((n,a)=>r=e[t]=[n,a]);n.push(r[2]=a);var o=__webpack_require__.p+__webpack_require__.u(t),l=Error(),i=function(n){if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var a=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,r[1](l)}};__webpack_require__.l(o,i,"chunk-"+t,t)}};var t=(t,n)=>{var r,a,[o,l,i]=n,u=0;if(o.some(t=>0!==e[t])){for(r in l)__webpack_require__.o(l,r)&&(__webpack_require__.m[r]=l[r]);i&&i(__webpack_require__)}for(t&&t(n);u{__webpack_require__.remotesLoadingData={chunkMapping:{249:["4723","2036","8407","6122","5907","9277","9190","2699","395","8292","3096","6236","5047","4654","3172"]},moduleIdToRemoteDataMapping:{9277:{shareScope:"default",name:"./modules/gdpr-data-extractor",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},9190:{shareScope:"default",name:"./modules/asset",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},3172:{shareScope:"default",name:"./modules/document",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},2036:{shareScope:"default",name:"./utils",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},2699:{shareScope:"default",name:"./modules/widget-editor",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},4654:{shareScope:"default",name:"./api/user",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},8407:{shareScope:"default",name:"./modules/field-definitions",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},5907:{shareScope:"default",name:"./components",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},8292:{shareScope:"default",name:"./modules/widget-manager",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},5047:{shareScope:"default",name:"./api/asset",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},6122:{shareScope:"default",name:"./modules/app",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},3096:{shareScope:"default",name:"./modules/element",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},395:{shareScope:"default",name:"./modules/data-object",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},6236:{shareScope:"default",name:"./app",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},4723:{shareScope:"default",name:".",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"}}},__webpack_require__.f.remotes=__webpack_require__.f.remotes||function(){throw Error("should have __webpack_require__.f.remotes")}})(),(()=>{__webpack_require__.ruid="bundler=rspack@1.3.9"})(),__webpack_require__(7266);var __webpack_exports__=__webpack_require__(6115);pimcore_studio_example_bundle=__webpack_exports__})(); \ No newline at end of file +while loading "${r[1]}" from ${r[2]}`),u.m[e]=()=>{throw t},r.p=0},f=(e,t,a,o,l,i)=>{try{let u=e(t,a);if(!u||!u.then)return l(u,o,i);{let e=u.then(e=>l(e,o),c);if(!i)return e;n.push(r.p=e)}}catch(e){c(e)}},d=(e,t,n)=>e?f(u.I,r[0],0,e,p,n):c();var p=(e,n,a)=>f(n.get,r[1],t,0,h,a),h=t=>{r.p=1,u.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=o.decodeName(l[0].name,o.ENCODE_NAME_PREFIX)+r[1].slice(1),t=u.federation.instance,n=()=>u.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy)return Promise.all(t.sharedHandler.initializeSharing(r[0])).then(()=>n());return n()}catch(e){c(e)}};1===l.length&&a.FEDERATION_SUPPORTED_TYPES.includes(l[0].externalType)&&l[0].name?f(m,r[2],0,0,h,1):f(u,r[2],0,0,d,1)})}function u(e){let{chunkId:t,promises:n,chunkMapping:r,installedModules:a,moduleToHandlerMapping:o,webpackRequire:i}=e;l(i),i.o(r,t)&&r[t].forEach(e=>{if(i.o(a,e))return n.push(a[e]);let t=t=>{a[e]=0,i.m[e]=n=>{delete i.c[e],n.exports=t()}},r=t=>{delete a[e],i.m[e]=n=>{throw delete i.c[e],t}};try{let l=i.federation.instance;if(!l)throw Error("Federation instance not found!");let{shareKey:u,getter:s,shareInfo:c}=o[e],f=l.loadShare(u,{customShareInfo:c}).then(e=>!1===e?s():e);f.then?n.push(a[e]=f.then(t).catch(r)):t(f)}catch(e){r(e)}})}function s(e){let{shareScopeName:t,webpackRequire:n,initPromises:r,initTokens:o,initScope:i}=e,u=Array.isArray(t)?t:[t];var s=[],c=function(e){i||(i=[]);let u=n.federation.instance;var s=o[e];if(s||(s=o[e]={from:u.name}),i.indexOf(s)>=0)return;i.push(s);let c=r[e];if(c)return c;var f=e=>"undefined"!=typeof console&&console.warn&&console.warn(e),d=r=>{var a=e=>f("Initialization of sharing external failed: "+e);try{var o=n(r);if(!o)return;var l=r=>r&&r.init&&r.init(n.S[e],i,{shareScopeMap:n.S||{},shareScopeKeys:t});if(o.then)return p.push(o.then(l,a));var u=l(o);if(u&&"boolean"!=typeof u&&u.then)return p.push(u.catch(a))}catch(e){a(e)}};let p=u.initializeSharing(e,{strategy:u.options.shareStrategy,initScope:i,from:"build"});l(n);let h=n.federation.bundlerRuntimeOptions.remotes;return(h&&Object.keys(h.idToRemoteMap).forEach(e=>{let t=h.idToRemoteMap[e],n=h.idToExternalAndNameMapping[e][2];if(t.length>1)d(n);else if(1===t.length){let e=t[0];a.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||d(n)}}),p.length)?r[e]=Promise.all(p).then(()=>r[e]=!0):r[e]=!0};return u.forEach(e=>{s.push(c(e))}),Promise.all(s).then(()=>!0)}function c(e){let{moduleId:t,moduleToHandlerMapping:n,webpackRequire:r}=e,a=r.federation.instance;if(!a)throw Error("Federation instance not found!");let{shareKey:o,shareInfo:l}=n[t];try{return a.loadShareSync(o,{customShareInfo:l})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}function f(e){let{moduleToHandlerMapping:t,webpackRequire:n,installedModules:r,initialConsumes:a}=e;a.forEach(e=>{n.m[e]=a=>{r[e]=0,delete n.c[e];let o=c({moduleId:e,moduleToHandlerMapping:t,webpackRequire:n});if("function"!=typeof o)throw Error(`Shared module is not available for eager consumption: ${e}`);a.exports=o()}})}function d(){return(d=Object.assign||function(e){for(var t=1;t{if(!i||!u)return void l.initShareScopeMap(e,n,{hostShareScopeMap:(null==o?void 0:o.shareScopeMap)||{}});u[e]||(u[e]={});let t=u[e];l.initShareScopeMap(e,t,{hostShareScopeMap:(null==o?void 0:o.shareScopeMap)||{}})});else{let e=a||"default";Array.isArray(i)?i.forEach(e=>{u[e]||(u[e]={});let t=u[e];l.initShareScopeMap(e,t,{hostShareScopeMap:(null==o?void 0:o.shareScopeMap)||{}})}):l.initShareScopeMap(e,n,{hostShareScopeMap:(null==o?void 0:o.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(a))?t.federation.initOptions.shared?t.I(a,r):Promise.all(a.map(e=>t.I(e,r))).then(()=>!0):t.I(a||"default",r)}e.exports={runtime:function(e){var t=Object.create(null);if(e)for(var n in e)t[n]=e[n];return t.default=e,Object.freeze(t)}(r),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:i,consumes:u,I:s,S:{},installInitialConsumes:f,initContainerEntry:p},attachShareScopeMap:l,bundlerRuntimeOptions:{}}},7266:function(e,t,n){var r,a,o,l,i,u,s,c,f,d,p,h,m=n(950),g=n.n(m);let y=[],v={"@pimcore/studio-ui-bundle":[{alias:"@pimcore/studio-ui-bundle",externalType:"promise",shareScope:"default"}]},b="pimcore_studio_example_bundle",_="version-first";if((n.initializeSharingData||n.initializeExposesData)&&n.federation){let e=(e,t,n)=>{e&&e[t]&&(e[t]=n)},t=(e,t,n)=>{var r,a,o,l,i,u;let s=n();Array.isArray(s)?(null!=(o=(r=e)[a=t])||(r[a]=[]),e[t].push(...s)):"object"==typeof s&&null!==s&&(null!=(u=(l=e)[i=t])||(l[i]={}),Object.assign(e[t],s))},m=(e,t,n)=>{var r,a,o;null!=(o=(r=e)[a=t])||(r[a]=n())},S=null!=(c=null==(r=n.remotesLoadingData)?void 0:r.chunkMapping)?c:{},w=null!=(f=null==(a=n.remotesLoadingData)?void 0:a.moduleIdToRemoteDataMapping)?f:{},E=null!=(d=null==(o=n.initializeSharingData)?void 0:o.scopeToSharingDataMapping)?d:{},k=null!=(p=null==(l=n.consumesLoadingData)?void 0:l.chunkMapping)?p:{},x=null!=(h=null==(i=n.consumesLoadingData)?void 0:i.moduleIdToConsumeDataMapping)?h:{},N={},R=[],I={},T=null==(u=n.initializeExposesData)?void 0:u.shareScope;for(let e in g())n.federation[e]=g()[e];m(n.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,n]of Object.entries(x))e[t]={getter:n.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager},scope:[n.shareScope]},shareKey:n.shareKey};return e}),m(n.federation,"initOptions",()=>({})),m(n.federation.initOptions,"name",()=>b),m(n.federation.initOptions,"shareStrategy",()=>_),m(n.federation.initOptions,"shared",()=>{let e={};for(let[t,n]of Object.entries(E))for(let r of n)if("object"==typeof r&&null!==r){let{name:n,version:a,factory:o,eager:l,singleton:i,requiredVersion:u,strictVersion:s}=r,c={},f=function(e){return void 0!==e};f(i)&&(c.singleton=i),f(u)&&(c.requiredVersion=u),f(l)&&(c.eager=l),f(s)&&(c.strictVersion=s);let d={version:a,scope:[t],shareConfig:c,get:o};e[n]?e[n].push(d):e[n]=[d]}return e}),t(n.federation.initOptions,"remotes",()=>Object.values(v).flat().filter(e=>"script"===e.externalType)),t(n.federation.initOptions,"plugins",()=>y),m(n.federation,"bundlerRuntimeOptions",()=>({})),m(n.federation.bundlerRuntimeOptions,"remotes",()=>({})),m(n.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>S),m(n.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,n]of Object.entries(w))e[t]=[n.shareScope,n.name,n.externalModuleId,n.remoteName];return e}),m(n.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>n),t(n.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,n]of Object.entries(w)){let r=v[n.remoteName];r&&(e[t]=r)}return e}),e(n,"S",n.federation.bundlerRuntime.S),n.federation.attachShareScopeMap&&n.federation.attachShareScopeMap(n),e(n.f,"remotes",(e,t)=>n.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:S,idToExternalAndNameMapping:n.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:n.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:n})),e(n.f,"consumes",(e,t)=>n.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:k,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping,installedModules:N,webpackRequire:n})),e(n,"I",(e,t)=>n.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:R,initTokens:I,webpackRequire:n})),e(n,"initContainer",(e,t,r)=>n.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:r,shareScopeKey:T,webpackRequire:n})),e(n,"getContainer",(e,t)=>{var r=n.initializeExposesData.moduleMap;return n.R=t,t=Object.prototype.hasOwnProperty.call(r,e)?r[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),n.R=void 0,t}),n.federation.instance=n.federation.runtime.init(n.federation.initOptions),(null==(s=n.consumesLoadingData)?void 0:s.initialConsumes)&&n.federation.bundlerRuntime.installInitialConsumes({webpackRequire:n,installedModules:N,initialConsumes:n.consumesLoadingData.initialConsumes,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping})}},6115:function(e,t,n){n.d(t,{get:()=>n.getContainer,init:()=>n.initContainer})},6535:function(e){e.exports=new Promise(e=>{let t=window.StudioUIBundleRemoteUrl;if(!t)throw Error('Required remote "pimcore_studio_ui_bundle" is not available');if(window.pimcore_studio_ui_bundle)return void e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log("remote container already initialized")}}});let n=document.createElement("script");n.src=t,n.onload=()=>{e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log("remote container already initialized")}}})},n.onerror=()=>{throw Error('Failed to load required remote "pimcore_studio_ui_bundle" from '+t)},document.head.appendChild(n)})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!0},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>"static/js/async/"+("249"===e?"__federation_expose_default_export":e)+"."+({249:"a9c4b35a",798:"5da9846f"})[e]+".js"})(),(()=>{__webpack_require__.miniCssF=e=>""+e+".css"})(),(()=>{__webpack_require__.h=()=>"17136330da0ce755"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="pimcore_studio_example_bundle:";__webpack_require__.l=function(n,r,a,o){if(e[n])return void e[n].push(r);if(void 0!==a)for(var l,i,u=document.getElementsByTagName("script"),s=0;s{__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.p="/bundles/pimcorestudioexample/build/ecc17d80-0d1f-475f-b619-36d923c7844b/"})(),(()=>{__webpack_require__.rv=()=>"1.3.9"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"react-dom",version:"18.3.1",factory:()=>()=>__webpack_require__(3935),eager:1,singleton:1,requiredVersion:"*"},{name:"react",version:"18.3.1",factory:()=>()=>__webpack_require__(7294),eager:1,singleton:1,requiredVersion:"*"},6535]},uniqueName:"pimcore_studio_example_bundle"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{981:["5136"],249:["7599"]},moduleIdToConsumeDataMapping:{5136:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(7294)},7599:{shareScope:"default",shareKey:"react-dom",import:"react-dom",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(3935)}},initialConsumes:["5136"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{__webpack_require__.initializeExposesData={moduleMap:{".":()=>Promise.all([__webpack_require__.e("798"),__webpack_require__.e("249")]).then(()=>()=>__webpack_require__(2450))},shareScope:"default"},__webpack_require__.getContainer=__webpack_require__.getContainer||function(){throw Error("should have __webpack_require__.getContainer")},__webpack_require__.initContainer=__webpack_require__.initContainer||function(){throw Error("should have __webpack_require__.initContainer")}})(),(()=>{var e={981:0};__webpack_require__.f.j=function(t,n){var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var a=new Promise((n,a)=>r=e[t]=[n,a]);n.push(r[2]=a);var o=__webpack_require__.p+__webpack_require__.u(t),l=Error(),i=function(n){if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var a=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,r[1](l)}};__webpack_require__.l(o,i,"chunk-"+t,t)}};var t=(t,n)=>{var r,a,[o,l,i]=n,u=0;if(o.some(t=>0!==e[t])){for(r in l)__webpack_require__.o(l,r)&&(__webpack_require__.m[r]=l[r]);i&&i(__webpack_require__)}for(t&&t(n);u{__webpack_require__.remotesLoadingData={chunkMapping:{249:["4723","2036","8407","6122","5907","9277","9190","2699","395","8292","3096","6236","5047","4654","3172"]},moduleIdToRemoteDataMapping:{9277:{shareScope:"default",name:"./modules/gdpr-data-extractor",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},9190:{shareScope:"default",name:"./modules/asset",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},3172:{shareScope:"default",name:"./modules/document",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},2036:{shareScope:"default",name:"./utils",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},2699:{shareScope:"default",name:"./modules/widget-editor",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},4654:{shareScope:"default",name:"./api/user",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},8407:{shareScope:"default",name:"./modules/field-definitions",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},5907:{shareScope:"default",name:"./components",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},8292:{shareScope:"default",name:"./modules/widget-manager",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},5047:{shareScope:"default",name:"./api/asset",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},6122:{shareScope:"default",name:"./modules/app",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},3096:{shareScope:"default",name:"./modules/element",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},395:{shareScope:"default",name:"./modules/data-object",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},6236:{shareScope:"default",name:"./app",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"},4723:{shareScope:"default",name:".",externalModuleId:6535,remoteName:"@pimcore/studio-ui-bundle"}}},__webpack_require__.f.remotes=__webpack_require__.f.remotes||function(){throw Error("should have __webpack_require__.f.remotes")}})(),(()=>{__webpack_require__.ruid="bundler=rspack@1.3.9"})(),__webpack_require__(7266);var __webpack_exports__=__webpack_require__(6115);pimcore_studio_example_bundle=__webpack_exports__})(); \ No newline at end of file diff --git a/public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js.LICENSE.txt b/public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js.LICENSE.txt similarity index 100% rename from public/build/eb0367fc-9b67-4d99-8d2f-b5a5ea8f304b/static/js/remoteEntry.js.LICENSE.txt rename to public/build/ecc17d80-0d1f-475f-b619-36d923c7844b/static/js/remoteEntry.js.LICENSE.txt