@ui5/webcomponents-base 0.0.0-cb061e041 → 0.0.0-ce98ce2bb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +208 -0
- package/README.md +4 -0
- package/bundle.esm.js +4 -1
- package/dist/Boot.js +1 -1
- package/dist/Boot.js.map +1 -1
- package/dist/CustomElementsScope.d.ts +2 -2
- package/dist/CustomElementsScope.js +2 -2
- package/dist/CustomElementsScope.js.map +1 -1
- package/dist/CustomElementsScopeUtils.d.ts +8 -1
- package/dist/CustomElementsScopeUtils.js +13 -1
- package/dist/CustomElementsScopeUtils.js.map +1 -1
- package/dist/Device.d.ts +2 -1
- package/dist/Device.js +10 -1
- package/dist/Device.js.map +1 -1
- package/dist/EventProvider.js +1 -1
- package/dist/EventProvider.js.map +1 -1
- package/dist/FontFace.js +1 -1
- package/dist/FontFace.js.map +1 -1
- package/dist/IgnoreCustomElements.d.ts +27 -0
- package/dist/IgnoreCustomElements.js +39 -0
- package/dist/IgnoreCustomElements.js.map +1 -0
- package/dist/InitialConfiguration.js +1 -1
- package/dist/InitialConfiguration.js.map +1 -1
- package/dist/Keys.d.ts +5 -1
- package/dist/Keys.js +6 -2
- package/dist/Keys.js.map +1 -1
- package/dist/ManagedStyles.js +5 -4
- package/dist/ManagedStyles.js.map +1 -1
- package/dist/StaticAreaItem.d.ts +1 -0
- package/dist/StaticAreaItem.js +7 -4
- package/dist/StaticAreaItem.js.map +1 -1
- package/dist/UI5Element.js +3 -2
- package/dist/UI5Element.js.map +1 -1
- package/dist/api.json +1 -1
- package/dist/asset-registries/Icons.d.ts +4 -3
- package/dist/asset-registries/Icons.js +28 -17
- package/dist/asset-registries/Icons.js.map +1 -1
- package/dist/asset-registries/Illustrations.d.ts +1 -0
- package/dist/asset-registries/Illustrations.js +58 -19
- package/dist/asset-registries/Illustrations.js.map +1 -1
- package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.d.ts +1 -2
- package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.js +1 -2
- package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
- package/dist/assets/Boot.52ac4401.js +9 -0
- package/dist/assets/bundle.esm.6d93df7e.js +50 -0
- package/dist/config/AnimationMode.d.ts +2 -2
- package/dist/config/AnimationMode.js +1 -1
- package/dist/config/AnimationMode.js.map +1 -1
- package/dist/config/Icons.d.ts +1 -16
- package/dist/config/Icons.js +1 -60
- package/dist/config/Icons.js.map +1 -1
- package/dist/config/ThemeRoot.d.ts +29 -0
- package/dist/config/ThemeRoot.js +59 -0
- package/dist/config/ThemeRoot.js.map +1 -0
- package/dist/connectToComponent.d.ts +9 -0
- package/dist/connectToComponent.js +59 -0
- package/dist/connectToComponent.js.map +1 -0
- package/dist/css/FontFace.css +34 -16
- package/dist/delegate/ItemNavigation.js +2 -2
- package/dist/delegate/ItemNavigation.js.map +1 -1
- package/dist/features/OpenUI5Support.d.ts +13 -3
- package/dist/features/OpenUI5Support.js +88 -33
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/generated/AssetParameters.js +1 -1
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/css/FontFace.css.js +1 -1
- package/dist/generated/css/FontFace.css.js.map +1 -1
- package/dist/getSharedResource.js +7 -1
- package/dist/getSharedResource.js.map +1 -1
- package/dist/i18nBundle.d.ts +1 -1
- package/dist/i18nBundle.js +2 -1
- package/dist/i18nBundle.js.map +1 -1
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +111 -96
- package/dist/theming/applyTheme.js +4 -3
- package/dist/theming/applyTheme.js.map +1 -1
- package/dist/types/CSSSize.d.ts +15 -0
- package/dist/types/CSSSize.js +18 -0
- package/dist/types/CSSSize.js.map +1 -0
- package/dist/updateShadowRoot.js +2 -1
- package/dist/updateShadowRoot.js.map +1 -1
- package/dist/util/InvisibleMessage.d.ts +1 -1
- package/dist/util/InvisibleMessage.js.map +1 -1
- package/dist/util/PopupUtils.js +1 -1
- package/dist/util/PopupUtils.js.map +1 -1
- package/dist/util/getSingletonElementInstance.d.ts +10 -1
- package/dist/util/getSingletonElementInstance.js +11 -2
- package/dist/util/getSingletonElementInstance.js.map +1 -1
- package/index.js +3 -3
- package/package.json +4 -4
- package/src/css/FontFace.css +34 -16
- package/tsconfig.json +1 -2
- package/dist/assets/Boot.cd4c1287.js +0 -9
- package/dist/assets/bundle.esm.50629814.js +0 -50
- package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
- package/dist/config/ThemeRoots.d.ts +0 -4
- package/dist/config/ThemeRoots.js +0 -28
- package/dist/config/ThemeRoots.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/asset-registries/Icons.ts"],"names":[],"mappings":"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","sourcesContent":["import getSharedResource from \"../getSharedResource.js\";\nimport { getIconCollectionByAlias } from \"../assets-meta/IconCollectionsAlias.js\";\nimport { getEffectiveIconCollection } from \"../config/Icons.js\";\nimport { getI18nBundle } from \"../i18nBundle.js\";\nimport type { I18nText } from \"../i18nBundle.js\";\nimport type { TemplateFunction } from \"../renderer/executeTemplate.js\";\n\ntype IconLoader = (collectionName: string) => Promise<CollectionData>;\n\ntype CollectionData = {\n\tcollection: string,\n\tpackageName: string,\n\tversion?: string,\n\tdata: Record<string, {\n\t\tpath?: string,\n\t\tpaths?: Array<string>,\n\t\tltr?: boolean,\n\t\tacc?: I18nText,\n\t}>,\n};\n\ntype IconData = {\n\tcollection: string,\n\tpackageName: string,\n\tpathData: string | Array<string>,\n\tltr?: boolean,\n\taccData?: I18nText,\n\tcustomTemplate?: TemplateFunction,\n\tviewBox?: string,\n};\n\nconst loaders = new Map<string, IconLoader>();\nconst registry = getSharedResource<Map<string, IconData>>(\"SVGIcons.registry\", new Map());\nconst iconCollectionPromises = getSharedResource<Map<string, Promise<CollectionData>>>(\"SVGIcons.promises\", new Map());\n\nconst ICON_NOT_FOUND = \"ICON_NOT_FOUND\";\n\nconst registerIconLoader = (collectionName: string, loader: IconLoader) => {\n\tloaders.set(collectionName, loader);\n};\n\nconst _loadIconCollectionOnce = async (collectionName: string) => {\n\tif (!iconCollectionPromises.has(collectionName)) {\n\t\tif (!loaders.has(collectionName)) {\n\t\t\tthrow new Error(`No loader registered for the ${collectionName} icons collection. Probably you forgot to import the \"AllIcons.js\" module for the respective package.`);\n\t\t}\n\n\t\tconst loadIcons = loaders.get(collectionName)!;\n\t\ticonCollectionPromises.set(collectionName, loadIcons(collectionName));\n\t}\n\n\treturn iconCollectionPromises.get(collectionName);\n};\n\nconst _fillRegistry = (bundleData: CollectionData) => {\n\tObject.keys(bundleData.data).forEach(iconName => {\n\t\tconst iconData = bundleData.data[iconName];\n\n\t\tregisterIcon(iconName, {\n\t\t\tpathData: (iconData.path || iconData.paths)!,\n\t\t\tltr: iconData.ltr,\n\t\t\taccData: iconData.acc,\n\t\t\tcollection: bundleData.collection,\n\t\t\tpackageName: bundleData.packageName,\n\t\t});\n\t});\n};\n\n// set\nconst registerIcon = (name: string, iconData: IconData) => { // eslint-disable-line\n\tconst key = `${iconData.collection}/${name}`;\n\n\tregistry.set(key, {\n\t\tpathData: iconData.pathData,\n\t\tltr: iconData.ltr,\n\t\taccData: iconData.accData,\n\t\tpackageName: iconData.packageName,\n\t\tcustomTemplate: iconData.customTemplate,\n\t\tviewBox: iconData.viewBox,\n\t\tcollection: iconData.collection,\n\t});\n};\n\n/**\n * Processes the full icon name and splits it into - \"name\", \"collection\"\n * to form the proper registry key (\"collection/name\") under which the icon is registered:\n *\n * - removes legacy protocol (\"sap-icon://\")\n * - resolves aliases (f.e \"SAP-icons-TNT/actor\" => \"tnt/actor\")\n * - determines theme dependant icon collection (f.e \"home\" => \"SAP-icons-v4/home\" in Quartz | \"SAP-icons-v5/home\" in Horizon)\n *\n * @param { string } name\n * @return { object }\n */\nconst processName = (name: string) => {\n\t// silently support ui5-compatible URIs\n\tif (name.startsWith(\"sap-icon://\")) {\n\t\tname = name.replace(\"sap-icon://\", \"\");\n\t}\n\n\tlet collection: string;\n\t[name, collection] = name.split(\"/\").reverse();\n\n\tname = name.replace(\"icon-\", \"\");\n\n\tif (collection) {\n\t\tcollection = getIconCollectionByAlias(collection);\n\t}\n\tcollection = getEffectiveIconCollection(collection);\n\n\tconst registryKey = `${collection}/${name}`;\n\treturn { name, collection, registryKey };\n};\n\nconst getIconDataSync = (name: string) => {\n\tconst { registryKey } = processName(name);\n\treturn registry.get(registryKey);\n};\n\nconst getIconData = async (name: string) => {\n\tconst { collection, registryKey } = processName(name);\n\n\tlet iconData: string | CollectionData = ICON_NOT_FOUND;\n\ttry {\n\t\ticonData = (await _loadIconCollectionOnce(collection))!;\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tconsole.error(e.message); /* eslint-disable-line */\n\t}\n\n\tif (iconData === ICON_NOT_FOUND) {\n\t\treturn iconData;\n\t}\n\n\tif (!registry.has(registryKey)) {\n\t\t// not filled by another await. many getters will await on the same loader, but fill only once\n\t\t_fillRegistry(iconData as CollectionData);\n\t}\n\treturn registry.get(registryKey);\n};\n\n/**\n * Returns the accessible name for the given icon,\n * or undefined if accessible name is not present.\n *\n * @param { string } name\n * @return { Promise }\n */\nconst getIconAccessibleName = async (name: string): Promise<string | undefined> => {\n\tif (!name) {\n\t\treturn;\n\t}\n\n\tlet iconData: typeof ICON_NOT_FOUND | IconData | undefined = getIconDataSync(name);\n\n\tif (!iconData) {\n\t\ticonData = await getIconData(name);\n\t}\n\n\tif (iconData && iconData !== ICON_NOT_FOUND && iconData.accData) {\n\t\tconst i18nBundle = await getI18nBundle(iconData.packageName);\n\t\treturn i18nBundle.getText(iconData.accData);\n\t}\n};\n\n// test page usage only\nconst _getRegisteredNames = async () => {\n\t// fetch one icon of each collection to trigger the bundle load\n\tawait getIconData(\"edit\");\n\tawait getIconData(\"tnt/arrow\");\n\tawait getIconData(\"business-suite/3d\");\n\treturn Array.from(registry.keys());\n};\n\nexport {\n\tregisterIconLoader,\n\tgetIconData,\n\tgetIconDataSync,\n\tgetIconAccessibleName,\n\tregisterIcon,\n\t_getRegisteredNames,\n};\n\nexport type {\n\tIconData,\n\tCollectionData,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/asset-registries/Icons.ts"],"names":[],"mappings":"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","sourcesContent":["import getSharedResource from \"../getSharedResource.js\";\nimport { getIconCollectionByAlias } from \"./util/IconCollectionsAlias.js\";\nimport { registerIconCollectionForTheme } from \"./util/IconCollectionsByTheme.js\";\nimport getEffectiveIconCollection from \"./util/getIconCollectionByTheme.js\";\nimport { getI18nBundle } from \"../i18nBundle.js\";\nimport type { I18nText } from \"../i18nBundle.js\";\nimport type { TemplateFunction } from \"../renderer/executeTemplate.js\";\n\nconst DEFAULT_THEME_FAMILY = \"legacy\"; // includes sap_belize_* and sap_fiori_*\n\ntype IconLoader = (collectionName: string) => Promise<CollectionData | Array<CollectionData>>;\n\ntype CollectionData = {\n\tcollection: string,\n\tpackageName: string,\n\tthemeFamily?: \"legacy\" | \"sap_horizon\",\n\tversion?: string,\n\tdata: Record<string, {\n\t\tpath?: string,\n\t\tpaths?: Array<string>,\n\t\tltr?: boolean,\n\t\tacc?: I18nText,\n\t}>,\n};\n\ntype IconData = {\n\tcollection: string,\n\tpackageName: string,\n\tpathData: string | Array<string>,\n\tltr?: boolean,\n\taccData?: I18nText,\n\tcustomTemplate?: TemplateFunction,\n\tviewBox?: string,\n};\n\nconst loaders = new Map<string, IconLoader>();\nconst registry = getSharedResource<Map<string, IconData>>(\"SVGIcons.registry\", new Map());\nconst iconCollectionPromises = getSharedResource<Map<string, Promise<CollectionData| Array<CollectionData>>>>(\"SVGIcons.promises\", new Map());\n\nconst ICON_NOT_FOUND = \"ICON_NOT_FOUND\";\n\nconst registerIconLoader = (collectionName: string, loader: IconLoader) => {\n\tloaders.set(collectionName, loader);\n};\n\nconst _loadIconCollectionOnce = async (collectionName: string) => {\n\tif (!iconCollectionPromises.has(collectionName)) {\n\t\tif (!loaders.has(collectionName)) {\n\t\t\tthrow new Error(`No loader registered for the ${collectionName} icons collection. Probably you forgot to import the \"AllIcons.js\" module for the respective package.`);\n\t\t}\n\n\t\tconst loadIcons = loaders.get(collectionName)!;\n\t\ticonCollectionPromises.set(collectionName, loadIcons(collectionName));\n\t}\n\n\treturn iconCollectionPromises.get(collectionName);\n};\n\nconst _fillRegistry = (bundleData: CollectionData) => {\n\tObject.keys(bundleData.data).forEach(iconName => {\n\t\tconst iconData = bundleData.data[iconName];\n\n\t\tregisterIcon(iconName, {\n\t\t\tpathData: (iconData.path || iconData.paths)!,\n\t\t\tltr: iconData.ltr,\n\t\t\taccData: iconData.acc,\n\t\t\tcollection: bundleData.collection,\n\t\t\tpackageName: bundleData.packageName,\n\t\t});\n\t});\n};\n\n// set\nconst registerIcon = (name: string, iconData: IconData) => { // eslint-disable-line\n\tconst key = `${iconData.collection}/${name}`;\n\n\tregistry.set(key, {\n\t\tpathData: iconData.pathData,\n\t\tltr: iconData.ltr,\n\t\taccData: iconData.accData,\n\t\tpackageName: iconData.packageName,\n\t\tcustomTemplate: iconData.customTemplate,\n\t\tviewBox: iconData.viewBox,\n\t\tcollection: iconData.collection,\n\t});\n};\n\n/**\n * Processes the full icon name and splits it into - \"name\", \"collection\".\n * - removes legacy protocol (\"sap-icon://\")\n * - resolves aliases (f.e \"SAP-icons-TNT/actor\" => \"tnt/actor\")\n *\n * @param { string } name\n * @return { object }\n */\nconst processName = (name: string) => {\n\t// silently support ui5-compatible URIs\n\tif (name.startsWith(\"sap-icon://\")) {\n\t\tname = name.replace(\"sap-icon://\", \"\");\n\t}\n\n\tlet collection: string;\n\t[name, collection] = name.split(\"/\").reverse();\n\n\tname = name.replace(\"icon-\", \"\");\n\tif (collection) {\n\t\tcollection = getIconCollectionByAlias(collection);\n\t}\n\treturn { name, collection };\n};\n\nconst getIconDataSync = (iconName: string) => {\n\tconst { name, collection } = processName(iconName);\n\treturn getRegisteredIconData(collection, name);\n};\n\nconst getIconData = async (iconName: string) => {\n\tconst { name, collection } = processName(iconName);\n\n\tlet iconData: string | CollectionData | Array<CollectionData> = ICON_NOT_FOUND;\n\ttry {\n\t\ticonData = (await _loadIconCollectionOnce(getEffectiveIconCollection(collection)))!;\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tconsole.error(e.message); /* eslint-disable-line */\n\t}\n\n\tif (iconData === ICON_NOT_FOUND) {\n\t\treturn iconData;\n\t}\n\n\tconst registeredIconData = getRegisteredIconData(collection, name);\n\n\tif (registeredIconData) {\n\t\treturn registeredIconData;\n\t}\n\n\t// not filled by another await. many getters will await on the same loader, but fill only once\n\tif (Array.isArray(iconData)) {\n\t\ticonData.forEach(data => {\n\t\t\t_fillRegistry(data);\n\t\t\tregisterIconCollectionForTheme(collection, { [data.themeFamily || DEFAULT_THEME_FAMILY]: data.collection });\n\t\t});\n\t} else {\n\t\t_fillRegistry(iconData as CollectionData);\n\t}\n\n\treturn getRegisteredIconData(collection, name);\n};\n\nconst getRegisteredIconData = (collection: string, name: string) => {\n\tconst registryKey = `${getEffectiveIconCollection(collection)}/${name}`;\n\treturn registry.get(registryKey);\n};\n\n/**\n * Returns the accessible name for the given icon,\n * or undefined if accessible name is not present.\n *\n * @param { string } name\n * @return { Promise }\n */\nconst getIconAccessibleName = async (name: string): Promise<string | undefined> => {\n\tif (!name) {\n\t\treturn;\n\t}\n\n\tlet iconData: typeof ICON_NOT_FOUND | IconData | undefined = getIconDataSync(name);\n\n\tif (!iconData) {\n\t\ticonData = await getIconData(name);\n\t}\n\n\tif (iconData && iconData !== ICON_NOT_FOUND && iconData.accData) {\n\t\tconst i18nBundle = await getI18nBundle(iconData.packageName);\n\t\treturn i18nBundle.getText(iconData.accData);\n\t}\n};\n\n// test page usage only\nconst _getRegisteredNames = async () => {\n\t// fetch one icon of each collection to trigger the bundle load\n\tawait getIconData(\"edit\");\n\tawait getIconData(\"tnt/arrow\");\n\tawait getIconData(\"business-suite/3d\");\n\treturn Array.from(registry.keys());\n};\n\nexport {\n\tregisterIconLoader,\n\tgetIconData,\n\tgetIconDataSync,\n\tgetIconAccessibleName,\n\tregisterIcon,\n\t_getRegisteredNames,\n};\n\nexport type {\n\tIconData,\n\tCollectionData,\n};\n"]}
|
|
@@ -9,6 +9,7 @@ type IllustrationProperties = {
|
|
|
9
9
|
};
|
|
10
10
|
type IllustrationData = IllustrationProperties & {
|
|
11
11
|
set: string;
|
|
12
|
+
collection: string;
|
|
12
13
|
};
|
|
13
14
|
declare const registerIllustration: (name: string, data: IllustrationData) => void;
|
|
14
15
|
declare const registerIllustrationLoader: (illustrationName: string, loader: IllustrationLoader) => void;
|
|
@@ -1,9 +1,55 @@
|
|
|
1
1
|
import getSharedResource from "../getSharedResource.js";
|
|
2
|
+
import { getTheme } from "../config/Theme.js";
|
|
3
|
+
var IllustrationCollections;
|
|
4
|
+
(function (IllustrationCollections) {
|
|
5
|
+
IllustrationCollections["sap_horizon"] = "V5";
|
|
6
|
+
IllustrationCollections["sap_horizon_dark"] = "V5";
|
|
7
|
+
IllustrationCollections["sap_horizon_hcb"] = "V5/HC";
|
|
8
|
+
IllustrationCollections["sap_horizon_hcw"] = "V5/HC";
|
|
9
|
+
})(IllustrationCollections || (IllustrationCollections = {}));
|
|
10
|
+
const FALLBACK_COLLECTION = "V4";
|
|
2
11
|
const loaders = new Map();
|
|
3
12
|
const registry = getSharedResource("SVGIllustration.registry", new Map());
|
|
4
13
|
const illustrationPromises = getSharedResource("SVGIllustration.promises", new Map());
|
|
14
|
+
const getCollection = () => {
|
|
15
|
+
const theme = getTheme();
|
|
16
|
+
if (IllustrationCollections[theme]) {
|
|
17
|
+
return IllustrationCollections[theme];
|
|
18
|
+
}
|
|
19
|
+
return FALLBACK_COLLECTION;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Processes the name of the illustration
|
|
23
|
+
* The name is used to generate the registry key and the loader key
|
|
24
|
+
* The registry key is used to store and get the illustration data from the registry
|
|
25
|
+
* The loader key is used to store and get the illustration loader from the loaders map
|
|
26
|
+
* The function generates the correct registry key and loader key based on whether an loader exists for the illustration
|
|
27
|
+
* If there is no loader registered for the collection, it falls back to the default collection
|
|
28
|
+
*/
|
|
29
|
+
const processName = (name) => {
|
|
30
|
+
let collection = getCollection();
|
|
31
|
+
const isTnt = name.startsWith("Tnt");
|
|
32
|
+
const set = isTnt ? "tnt" : "fiori";
|
|
33
|
+
let registryKey = `${set}/${collection}/${name}`;
|
|
34
|
+
let loaderKey = `${collection}/${name}`;
|
|
35
|
+
if (!loaders.has(loaderKey) && collection !== FALLBACK_COLLECTION) {
|
|
36
|
+
collection = FALLBACK_COLLECTION;
|
|
37
|
+
loaderKey = `${collection}/${name}`;
|
|
38
|
+
registryKey = `${set}/${collection}/${name}`;
|
|
39
|
+
}
|
|
40
|
+
if (isTnt) {
|
|
41
|
+
name = name.replace(/^Tnt/, "");
|
|
42
|
+
registryKey = `${set}/${collection}/${name}`;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
registryKey,
|
|
46
|
+
loaderKey,
|
|
47
|
+
collection,
|
|
48
|
+
};
|
|
49
|
+
};
|
|
5
50
|
const registerIllustration = (name, data) => {
|
|
6
|
-
|
|
51
|
+
const collection = data.collection || FALLBACK_COLLECTION;
|
|
52
|
+
registry.set(`${data.set}/${collection}/${name}`, {
|
|
7
53
|
dialogSvg: data.dialogSvg,
|
|
8
54
|
sceneSvg: data.sceneSvg,
|
|
9
55
|
spotSvg: data.spotSvg,
|
|
@@ -14,33 +60,26 @@ const registerIllustration = (name, data) => {
|
|
|
14
60
|
const registerIllustrationLoader = (illustrationName, loader) => {
|
|
15
61
|
loaders.set(illustrationName, loader);
|
|
16
62
|
};
|
|
17
|
-
const _loadIllustrationOnce =
|
|
18
|
-
|
|
19
|
-
|
|
63
|
+
const _loadIllustrationOnce = (illustrationName) => {
|
|
64
|
+
const { loaderKey } = processName(illustrationName);
|
|
65
|
+
if (!illustrationPromises.has(loaderKey)) {
|
|
66
|
+
if (!loaders.has(loaderKey)) {
|
|
20
67
|
const illustrationPath = illustrationName.startsWith("Tnt") ? `tnt/${illustrationName.replace(/^Tnt/, "")}` : illustrationName;
|
|
21
68
|
throw new Error(`No loader registered for the ${illustrationName} illustration. Probably you forgot to import the "@ui5/webcomponents-fiori/dist/illustrations/${illustrationPath}.js" module. Or you can import the "@ui5/webcomponents-fiori/dist/illustrations/AllIllustrations.js" module that will make all illustrations available, but fetch only the ones used.`);
|
|
22
69
|
}
|
|
23
|
-
const loadIllustrations = loaders.get(
|
|
24
|
-
illustrationPromises.set(
|
|
70
|
+
const loadIllustrations = loaders.get(loaderKey);
|
|
71
|
+
illustrationPromises.set(loaderKey, loadIllustrations(loaderKey));
|
|
25
72
|
}
|
|
26
|
-
return illustrationPromises.get(
|
|
73
|
+
return illustrationPromises.get(loaderKey);
|
|
27
74
|
};
|
|
28
75
|
const getIllustrationDataSync = (illustrationName) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
set = "tnt";
|
|
32
|
-
illustrationName = illustrationName.replace(/^Tnt/, "");
|
|
33
|
-
}
|
|
34
|
-
return registry.get(`${set}/${illustrationName}`);
|
|
76
|
+
const { registryKey } = processName(illustrationName);
|
|
77
|
+
return registry.get(registryKey);
|
|
35
78
|
};
|
|
36
79
|
const getIllustrationData = async (illustrationName) => {
|
|
37
|
-
|
|
80
|
+
const { registryKey } = processName(illustrationName);
|
|
38
81
|
await _loadIllustrationOnce(illustrationName);
|
|
39
|
-
|
|
40
|
-
set = "tnt";
|
|
41
|
-
illustrationName = illustrationName.replace(/^Tnt/, "");
|
|
42
|
-
}
|
|
43
|
-
return registry.get(`${set}/${illustrationName}`);
|
|
82
|
+
return registry.get(registryKey);
|
|
44
83
|
};
|
|
45
84
|
export { getIllustrationDataSync, registerIllustration, registerIllustrationLoader, getIllustrationData, };
|
|
46
85
|
//# sourceMappingURL=Illustrations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Illustrations.js","sourceRoot":"","sources":["../../src/asset-registries/Illustrations.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Illustrations.js","sourceRoot":"","sources":["../../src/asset-registries/Illustrations.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAiB9C,IAAK,uBAKJ;AALD,WAAK,uBAAuB;IAC3B,6CAAoB,CAAA;IACpB,kDAAyB,CAAA;IACzB,oDAA2B,CAAA;IAC3B,oDAA2B,CAAA;AAC5B,CAAC,EALI,uBAAuB,KAAvB,uBAAuB,QAK3B;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;AACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAsC,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAC/G,MAAM,oBAAoB,GAAG,iBAAiB,CAAyC,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAE9H,MAAM,aAAa,GAAG,GAAG,EAAE;IAC1B,MAAM,KAAK,GAAG,QAAQ,EAA0C,CAAC;IAEjE,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE;QACnC,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACtC;IAED,OAAO,mBAAmB,CAAC;AAC5B,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IACpC,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAEpC,IAAI,WAAW,GAAG,GAAG,GAAG,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;IACjD,IAAI,SAAS,GAAG,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC;IAExC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,UAAU,KAAK,mBAAmB,EAAE;QAClE,UAAU,GAAG,mBAAmB,CAAC;QACjC,SAAS,GAAG,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC;QACpC,WAAW,GAAG,GAAG,GAAG,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;KAC7C;IAED,IAAI,KAAK,EAAE;QACV,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChC,WAAW,GAAG,GAAG,GAAG,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;KAC7C;IAED,OAAO;QACN,WAAW;QACX,SAAS;QACT,UAAU;KACV,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,IAAsB,EAAE,EAAE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAC1D,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,UAAU,IAAI,IAAI,EAAE,EAAE;QACjD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,gBAAwB,EAAE,MAA0B,EAAE,EAAE;IAC3F,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,gBAAwB,EAAE,EAAE;IAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAEpD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC5B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC/H,MAAM,IAAI,KAAK,CAAC,gCAAgC,gBAAgB,iGAAiG,gBAAgB,uLAAuL,CAAC,CAAC;SAC1W;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QAClD,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;KAClE;IACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,gBAAwB,EAAE,EAAE;IAC5D,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;IAC9D,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAEtD,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,GACnB,CAAC","sourcesContent":["import getSharedResource from \"../getSharedResource.js\";\nimport type { I18nText } from \"../i18nBundle.js\";\nimport { getTheme } from \"../config/Theme.js\";\n\ntype IllustrationLoader = (illustrationName: string) => Promise<IllustrationData>;\n\ntype IllustrationProperties = {\n\tdialogSvg: string,\n\tsceneSvg: string,\n\tspotSvg: string,\n\ttitle: I18nText,\n\tsubtitle: I18nText,\n};\n\ntype IllustrationData = IllustrationProperties & {\n\tset: string,\n\tcollection: string,\n};\n\nenum IllustrationCollections {\n\t\"sap_horizon\" = \"V5\",\n\t\"sap_horizon_dark\" = \"V5\",\n\t\"sap_horizon_hcb\" = \"V5/HC\",\n\t\"sap_horizon_hcw\" = \"V5/HC\",\n}\n\nconst FALLBACK_COLLECTION = \"V4\";\n\nconst loaders = new Map<string, IllustrationLoader>();\nconst registry = getSharedResource<Map<string, IllustrationProperties>>(\"SVGIllustration.registry\", new Map());\nconst illustrationPromises = getSharedResource<Map<string, Promise<IllustrationData>>>(\"SVGIllustration.promises\", new Map());\n\nconst getCollection = () => {\n\tconst theme = getTheme() as keyof typeof IllustrationCollections;\n\n\tif (IllustrationCollections[theme]) {\n\t\treturn IllustrationCollections[theme];\n\t}\n\n\treturn FALLBACK_COLLECTION;\n};\n\n/**\n * Processes the name of the illustration\n * The name is used to generate the registry key and the loader key\n * The registry key is used to store and get the illustration data from the registry\n * The loader key is used to store and get the illustration loader from the loaders map\n * The function generates the correct registry key and loader key based on whether an loader exists for the illustration\n * If there is no loader registered for the collection, it falls back to the default collection\n */\nconst processName = (name: string) => {\n\tlet collection = getCollection();\n\tconst isTnt = name.startsWith(\"Tnt\");\n\tconst set = isTnt ? \"tnt\" : \"fiori\";\n\n\tlet registryKey = `${set}/${collection}/${name}`;\n\tlet loaderKey = `${collection}/${name}`;\n\n\tif (!loaders.has(loaderKey) && collection !== FALLBACK_COLLECTION) {\n\t\tcollection = FALLBACK_COLLECTION;\n\t\tloaderKey = `${collection}/${name}`;\n\t\tregistryKey = `${set}/${collection}/${name}`;\n\t}\n\n\tif (isTnt) {\n\t\tname = name.replace(/^Tnt/, \"\");\n\t\tregistryKey = `${set}/${collection}/${name}`;\n\t}\n\n\treturn {\n\t\tregistryKey,\n\t\tloaderKey,\n\t\tcollection,\n\t};\n};\n\nconst registerIllustration = (name: string, data: IllustrationData) => {\n\tconst collection = data.collection || FALLBACK_COLLECTION;\n\tregistry.set(`${data.set}/${collection}/${name}`, {\n\t\tdialogSvg: data.dialogSvg,\n\t\tsceneSvg: data.sceneSvg,\n\t\tspotSvg: data.spotSvg,\n\t\ttitle: data.title,\n\t\tsubtitle: data.subtitle,\n\t});\n};\n\nconst registerIllustrationLoader = (illustrationName: string, loader: IllustrationLoader) => {\n\tloaders.set(illustrationName, loader);\n};\n\nconst _loadIllustrationOnce = (illustrationName: string) => {\n\tconst { loaderKey } = processName(illustrationName);\n\n\tif (!illustrationPromises.has(loaderKey)) {\n\t\tif (!loaders.has(loaderKey)) {\n\t\t\tconst illustrationPath = illustrationName.startsWith(\"Tnt\") ? `tnt/${illustrationName.replace(/^Tnt/, \"\")}` : illustrationName;\n\t\t\tthrow new Error(`No loader registered for the ${illustrationName} illustration. Probably you forgot to import the \"@ui5/webcomponents-fiori/dist/illustrations/${illustrationPath}.js\" module. Or you can import the \"@ui5/webcomponents-fiori/dist/illustrations/AllIllustrations.js\" module that will make all illustrations available, but fetch only the ones used.`);\n\t\t}\n\n\t\tconst loadIllustrations = loaders.get(loaderKey)!;\n\t\tillustrationPromises.set(loaderKey, loadIllustrations(loaderKey));\n\t}\n\treturn illustrationPromises.get(loaderKey);\n};\n\nconst getIllustrationDataSync = (illustrationName: string) => {\n\tconst { registryKey } = processName(illustrationName);\n\treturn registry.get(registryKey);\n};\n\nconst getIllustrationData = async (illustrationName: string) => {\n\tconst { registryKey } = processName(illustrationName);\n\n\tawait _loadIllustrationOnce(illustrationName);\n\treturn registry.get(registryKey);\n};\n\nexport {\n\tgetIllustrationDataSync,\n\tregisterIllustration,\n\tregisterIllustrationLoader,\n\tgetIllustrationData,\n};\n"]}
|
|
@@ -16,9 +16,8 @@ declare enum IconCollectionsAlias {
|
|
|
16
16
|
"BusinessSuiteInAppSymbols" = "business-suite"
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Returns the
|
|
19
|
+
* Returns the collection name for a given alias:
|
|
20
20
|
*
|
|
21
|
-
* <b>For example</b>:
|
|
22
21
|
* - "SAP-icons-TNT"resolves to "tnt"
|
|
23
22
|
* - "BusinessSuiteInAppSymbols" resolves to "business-suite"
|
|
24
23
|
* - "horizon" resolves to "SAP-icons-v5"
|
|
@@ -17,9 +17,8 @@ var IconCollectionsAlias;
|
|
|
17
17
|
IconCollectionsAlias["BusinessSuiteInAppSymbols"] = "business-suite";
|
|
18
18
|
})(IconCollectionsAlias || (IconCollectionsAlias = {}));
|
|
19
19
|
/**
|
|
20
|
-
* Returns the
|
|
20
|
+
* Returns the collection name for a given alias:
|
|
21
21
|
*
|
|
22
|
-
* <b>For example</b>:
|
|
23
22
|
* - "SAP-icons-TNT"resolves to "tnt"
|
|
24
23
|
* - "BusinessSuiteInAppSymbols" resolves to "business-suite"
|
|
25
24
|
* - "horizon" resolves to "SAP-icons-v5"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconCollectionsAlias.js","sourceRoot":"","sources":["../../../src/asset-registries/util/IconCollectionsAlias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,IAAK,oBAKJ;AALD,WAAK,oBAAoB;IACxB,kDAA4B,CAAA;IAC5B,gDAA0B,CAAA;IAC1B,6CAAuB,CAAA;IACvB,oEAA8C,CAAA;AAC/C,CAAC,EALI,oBAAoB,KAApB,oBAAoB,QAKxB;AAED;;;;;;;;;GASG;AACH,MAAM,wBAAwB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC3D,IAAI,oBAAoB,CAAC,cAAmD,CAAC,EAAE;QAC9E,OAAO,oBAAoB,CAAC,cAAmD,CAAC,CAAC;KACjF;IAED,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC;AACpC,OAAO,EACN,wBAAwB,GACxB,CAAC","sourcesContent":["/**\n * Supported icon collection aliases.\n *\n * Users might specify a collection, using both the key and the value in the following key-value pairs,\n * e.g the following pairs are completely exchangeable:\n *\n * - \"SAP-icons/accept\" and \"SAP-icons-v4/accept\"\n * - \"horizon/accept\" and \"SAP-icons-v5/accept\"\n * - \"SAP-icons-TNT/actor\" and \"tnt/actor\"\n * - \"BusinessSuiteInAppSymbols/3d\" and \"business-suite/3d\"\n */\nenum IconCollectionsAlias {\n\t\"SAP-icons\" = \"SAP-icons-v4\",\n\t\"horizon\" = \"SAP-icons-v5\",\n\t\"SAP-icons-TNT\" = \"tnt\",\n\t\"BusinessSuiteInAppSymbols\" = \"business-suite\",\n}\n\n/**\n * Returns the collection name for a given alias:\n *\n * - \"SAP-icons-TNT\"resolves to \"tnt\"\n * - \"BusinessSuiteInAppSymbols\" resolves to \"business-suite\"\n * - \"horizon\" resolves to \"SAP-icons-v5\"\n *\n * @param { string } collectionName\n * @return { string } the normalized collection name\n */\nconst getIconCollectionByAlias = (collectionName: string) => {\n\tif (IconCollectionsAlias[collectionName as keyof typeof IconCollectionsAlias]) {\n\t\treturn IconCollectionsAlias[collectionName as keyof typeof IconCollectionsAlias];\n\t}\n\n\treturn collectionName;\n};\n\nexport default IconCollectionsAlias;\nexport {\n\tgetIconCollectionByAlias,\n};\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare enum RegisteredIconCollection {
|
|
2
|
+
SAPIconsV4 = "SAP-icons-v4",
|
|
3
|
+
SAPIconsV5 = "SAP-icons-v5",
|
|
4
|
+
SAPIconsTNTV2 = "tnt-v2",
|
|
5
|
+
SAPIconsTNTV3 = "tnt-v3",
|
|
6
|
+
SAPBSIconsV1 = "business-suite-v1",
|
|
7
|
+
SAPBSIconsV2 = "business-suite-v2"
|
|
8
|
+
}
|
|
9
|
+
type ThemeToCollectionMap = {
|
|
10
|
+
[x: string]: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Registers collection version per theme.
|
|
14
|
+
* </b>For exmaple:</b> registerIconCollectionForTheme("my-custom-icons", {"sap_horizon": "my-custom-icons-v5"})
|
|
15
|
+
* @param { string } collectionName
|
|
16
|
+
* @param { ThemeToCollectionMap } themeCollectionMap
|
|
17
|
+
*/
|
|
18
|
+
declare const registerIconCollectionForTheme: (collectionName: string, themeCollectionMap: ThemeToCollectionMap) => void;
|
|
19
|
+
declare const getIconCollectionForTheme: (collectionName: string) => string;
|
|
20
|
+
export { registerIconCollectionForTheme, getIconCollectionForTheme, RegisteredIconCollection, };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isLegacyThemeFamily } from "../../config/Theme.js";
|
|
2
|
+
var RegisteredIconCollection;
|
|
3
|
+
(function (RegisteredIconCollection) {
|
|
4
|
+
RegisteredIconCollection["SAPIconsV4"] = "SAP-icons-v4";
|
|
5
|
+
RegisteredIconCollection["SAPIconsV5"] = "SAP-icons-v5";
|
|
6
|
+
RegisteredIconCollection["SAPIconsTNTV2"] = "tnt-v2";
|
|
7
|
+
RegisteredIconCollection["SAPIconsTNTV3"] = "tnt-v3";
|
|
8
|
+
RegisteredIconCollection["SAPBSIconsV1"] = "business-suite-v1";
|
|
9
|
+
RegisteredIconCollection["SAPBSIconsV2"] = "business-suite-v2";
|
|
10
|
+
})(RegisteredIconCollection || (RegisteredIconCollection = {}));
|
|
11
|
+
const iconCollections = new Map();
|
|
12
|
+
iconCollections.set("SAP-icons", {
|
|
13
|
+
"legacy": RegisteredIconCollection.SAPIconsV4,
|
|
14
|
+
"sap_horizon": RegisteredIconCollection.SAPIconsV5,
|
|
15
|
+
});
|
|
16
|
+
iconCollections.set("tnt", {
|
|
17
|
+
"legacy": RegisteredIconCollection.SAPIconsTNTV2,
|
|
18
|
+
"sap_horizon": RegisteredIconCollection.SAPIconsTNTV3,
|
|
19
|
+
});
|
|
20
|
+
iconCollections.set("business-suite", {
|
|
21
|
+
"legacy": RegisteredIconCollection.SAPBSIconsV1,
|
|
22
|
+
"sap_horizon": RegisteredIconCollection.SAPBSIconsV2,
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Registers collection version per theme.
|
|
26
|
+
* </b>For exmaple:</b> registerIconCollectionForTheme("my-custom-icons", {"sap_horizon": "my-custom-icons-v5"})
|
|
27
|
+
* @param { string } collectionName
|
|
28
|
+
* @param { ThemeToCollectionMap } themeCollectionMap
|
|
29
|
+
*/
|
|
30
|
+
const registerIconCollectionForTheme = (collectionName, themeCollectionMap) => {
|
|
31
|
+
if (iconCollections.has(collectionName)) {
|
|
32
|
+
iconCollections.set(collectionName, { ...themeCollectionMap, ...iconCollections.get(collectionName) });
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
iconCollections.set(collectionName, themeCollectionMap);
|
|
36
|
+
};
|
|
37
|
+
const getIconCollectionForTheme = (collectionName) => {
|
|
38
|
+
const themeFamily = isLegacyThemeFamily() ? "legacy" : "sap_horizon";
|
|
39
|
+
return iconCollections.has(collectionName) ? iconCollections.get(collectionName)[themeFamily] : collectionName;
|
|
40
|
+
};
|
|
41
|
+
export { registerIconCollectionForTheme, getIconCollectionForTheme, RegisteredIconCollection, };
|
|
42
|
+
//# sourceMappingURL=IconCollectionsByTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconCollectionsByTheme.js","sourceRoot":"","sources":["../../../src/asset-registries/util/IconCollectionsByTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,IAAK,wBAOJ;AAPD,WAAK,wBAAwB;IAC5B,uDAA2B,CAAA;IAC3B,uDAA2B,CAAA;IAC3B,oDAAwB,CAAA;IACxB,oDAAwB,CAAA;IACxB,8DAAkC,CAAA;IAClC,8DAAkC,CAAA;AACnC,CAAC,EAPI,wBAAwB,KAAxB,wBAAwB,QAO5B;AAID,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;AAChE,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE;IAChC,QAAQ,EAAE,wBAAwB,CAAC,UAAU;IAC7C,aAAa,EAAE,wBAAwB,CAAC,UAAU;CAClD,CAAC,CAAC;AACH,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;IAC1B,QAAQ,EAAE,wBAAwB,CAAC,aAAa;IAChD,aAAa,EAAE,wBAAwB,CAAC,aAAa;CACrD,CAAC,CAAC;AACH,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE;IACrC,QAAQ,EAAE,wBAAwB,CAAC,YAAY;IAC/C,aAAa,EAAE,wBAAwB,CAAC,YAAY;CACpD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,8BAA8B,GAAG,CAAC,cAAsB,EAAE,kBAAwC,EAAE,EAAE;IAC3G,IAAI,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;QACxC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACvG,OAAO;KACP;IACD,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC5D,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;IACrE,OAAO,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AACjH,CAAC,CAAC;AAEF,OAAO,EACN,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,GACxB,CAAC","sourcesContent":["import { isLegacyThemeFamily } from \"../../config/Theme.js\";\n\nenum RegisteredIconCollection {\n\tSAPIconsV4 = \"SAP-icons-v4\",\n\tSAPIconsV5 = \"SAP-icons-v5\",\n\tSAPIconsTNTV2 = \"tnt-v2\",\n\tSAPIconsTNTV3 = \"tnt-v3\",\n\tSAPBSIconsV1 = \"business-suite-v1\",\n\tSAPBSIconsV2 = \"business-suite-v2\",\n}\n\ntype ThemeToCollectionMap = {[x: string]: string; };\n\nconst iconCollections = new Map<string, ThemeToCollectionMap>();\niconCollections.set(\"SAP-icons\", {\n\t\"legacy\": RegisteredIconCollection.SAPIconsV4,\n\t\"sap_horizon\": RegisteredIconCollection.SAPIconsV5,\n});\niconCollections.set(\"tnt\", {\n\t\"legacy\": RegisteredIconCollection.SAPIconsTNTV2,\n\t\"sap_horizon\": RegisteredIconCollection.SAPIconsTNTV3,\n});\niconCollections.set(\"business-suite\", {\n\t\"legacy\": RegisteredIconCollection.SAPBSIconsV1,\n\t\"sap_horizon\": RegisteredIconCollection.SAPBSIconsV2,\n});\n\n/**\n * Registers collection version per theme.\n * </b>For exmaple:</b> registerIconCollectionForTheme(\"my-custom-icons\", {\"sap_horizon\": \"my-custom-icons-v5\"})\n * @param { string } collectionName\n * @param { ThemeToCollectionMap } themeCollectionMap\n */\nconst registerIconCollectionForTheme = (collectionName: string, themeCollectionMap: ThemeToCollectionMap) => {\n\tif (iconCollections.has(collectionName)) {\n\t\ticonCollections.set(collectionName, { ...themeCollectionMap, ...iconCollections.get(collectionName) });\n\t\treturn;\n\t}\n\ticonCollections.set(collectionName, themeCollectionMap);\n};\n\nconst getIconCollectionForTheme = (collectionName: string) => {\n\tconst themeFamily = isLegacyThemeFamily() ? \"legacy\" : \"sap_horizon\";\n\treturn iconCollections.has(collectionName) ? iconCollections.get(collectionName)![themeFamily] : collectionName;\n};\n\nexport {\n\tregisterIconCollectionForTheme,\n\tgetIconCollectionForTheme,\n\tRegisteredIconCollection,\n};\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IconCollection } from "../../config/Icons.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the effective theme dependant icon collection:
|
|
4
|
+
*
|
|
5
|
+
* - "no collection" resolves to "SAP-icons-v4" in "Quartz" and "Belize", and to "SAP-icons-v5" in "Horizon"
|
|
6
|
+
* - "tnt" (and its alias "SAP-icons-TNT") resolves to "tnt-v2" in "Quartz", "Belize", and resolves to "tnt-v3" in "Horizon"
|
|
7
|
+
* - "business-suite" (and its alias "BusinessSuiteInAppSymbols") resolves to "business-suite-v1" in "Quartz", "Belize", and resolves to "business-suite-v2" in "Horizon"
|
|
8
|
+
*
|
|
9
|
+
* @param { IconCollection } collectionName
|
|
10
|
+
* @returns { IconCollection } the effective collection name
|
|
11
|
+
*/
|
|
12
|
+
declare const getEffectiveIconCollection: (collectionName?: IconCollection) => IconCollection;
|
|
13
|
+
export default getEffectiveIconCollection;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getTheme } from "../../config/Theme.js";
|
|
2
|
+
import { getDefaultIconCollection } from "../../config/Icons.js";
|
|
3
|
+
import { getIconCollectionByAlias } from "./IconCollectionsAlias.js";
|
|
4
|
+
import { getIconCollectionForTheme } from "./IconCollectionsByTheme.js";
|
|
5
|
+
/**
|
|
6
|
+
* Returns the effective theme dependant icon collection:
|
|
7
|
+
*
|
|
8
|
+
* - "no collection" resolves to "SAP-icons-v4" in "Quartz" and "Belize", and to "SAP-icons-v5" in "Horizon"
|
|
9
|
+
* - "tnt" (and its alias "SAP-icons-TNT") resolves to "tnt-v2" in "Quartz", "Belize", and resolves to "tnt-v3" in "Horizon"
|
|
10
|
+
* - "business-suite" (and its alias "BusinessSuiteInAppSymbols") resolves to "business-suite-v1" in "Quartz", "Belize", and resolves to "business-suite-v2" in "Horizon"
|
|
11
|
+
*
|
|
12
|
+
* @param { IconCollection } collectionName
|
|
13
|
+
* @returns { IconCollection } the effective collection name
|
|
14
|
+
*/
|
|
15
|
+
const getEffectiveIconCollection = (collectionName) => {
|
|
16
|
+
const defaultIconCollection = getDefaultIconCollection(getTheme());
|
|
17
|
+
// no collection + default collection, configured via setDefaultIconCollection - return the configured icon collection.
|
|
18
|
+
if (!collectionName && defaultIconCollection) {
|
|
19
|
+
return getIconCollectionByAlias(defaultIconCollection);
|
|
20
|
+
}
|
|
21
|
+
// no collection - return "SAP-icons-v4" or "SAP-icons-v5".
|
|
22
|
+
if (!collectionName) {
|
|
23
|
+
return getIconCollectionForTheme("SAP-icons");
|
|
24
|
+
}
|
|
25
|
+
// has collection - return "SAP-icons-v4", "SAP-icons-v5", "tnt-v1", "tnt-v2", "business-suite-v1", "business-suite-v2", or custom ones.
|
|
26
|
+
return getIconCollectionForTheme(collectionName);
|
|
27
|
+
};
|
|
28
|
+
export default getEffectiveIconCollection;
|
|
29
|
+
//# sourceMappingURL=getIconCollectionByTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIconCollectionByTheme.js","sourceRoot":"","sources":["../../../src/asset-registries/util/getIconCollectionByTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,0BAA0B,GAAG,CAAC,cAA+B,EAAkB,EAAE;IACtF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnE,uHAAuH;IACvH,IAAI,CAAC,cAAc,IAAI,qBAAqB,EAAE;QAC7C,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;KACvD;IAED,4DAA4D;IAC5D,IAAI,CAAC,cAAc,EAAE;QACpB,OAAO,yBAAyB,CAAC,WAAW,CAAC,CAAC;KAC9C;IAED,wIAAwI;IACxI,OAAO,yBAAyB,CAAC,cAAc,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC","sourcesContent":["import { getTheme } from \"../../config/Theme.js\";\nimport type { IconCollection } from \"../../config/Icons.js\";\nimport { getDefaultIconCollection } from \"../../config/Icons.js\";\nimport { getIconCollectionByAlias } from \"./IconCollectionsAlias.js\";\nimport { getIconCollectionForTheme } from \"./IconCollectionsByTheme.js\";\n\n/**\n * Returns the effective theme dependant icon collection:\n *\n * - \"no collection\" resolves to \"SAP-icons-v4\" in \"Quartz\" and \"Belize\", and to \"SAP-icons-v5\" in \"Horizon\"\n * - \"tnt\" (and its alias \"SAP-icons-TNT\") resolves to \"tnt-v2\" in \"Quartz\", \"Belize\", and resolves to \"tnt-v3\" in \"Horizon\"\n * - \"business-suite\" (and its alias \"BusinessSuiteInAppSymbols\") resolves to \"business-suite-v1\" in \"Quartz\", \"Belize\", and resolves to \"business-suite-v2\" in \"Horizon\"\n *\n * @param { IconCollection } collectionName\n * @returns { IconCollection } the effective collection name\n */\nconst getEffectiveIconCollection = (collectionName?: IconCollection): IconCollection => {\n\tconst defaultIconCollection = getDefaultIconCollection(getTheme());\n\n\t// no collection + default collection, configured via setDefaultIconCollection - return the configured icon collection.\n\tif (!collectionName && defaultIconCollection) {\n\t\treturn getIconCollectionByAlias(defaultIconCollection);\n\t}\n\n\t// no collection - return \"SAP-icons-v4\" or \"SAP-icons-v5\".\n\tif (!collectionName) {\n\t\treturn getIconCollectionForTheme(\"SAP-icons\");\n\t}\n\n\t// has collection - return \"SAP-icons-v4\", \"SAP-icons-v5\", \"tnt-v1\", \"tnt-v2\", \"business-suite-v1\", \"business-suite-v2\", or custom ones.\n\treturn getIconCollectionForTheme(collectionName);\n};\n\nexport default getEffectiveIconCollection;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerpolicy&&(o.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?o.credentials="include":r.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();const P={themes:{default:"sap_fiori_3",all:["sap_fiori_3","sap_fiori_3_dark","sap_belize","sap_belize_hcb","sap_belize_hcw","sap_fiori_3_hcb","sap_fiori_3_hcw","sap_horizon","sap_horizon_dark","sap_horizon_hcb","sap_horizon_hcw","sap_horizon_exp","sap_horizon_dark_exp","sap_horizon_hcb_exp","sap_horizon_hcw_exp"]},languages:{default:"en",all:["ar","bg","ca","cs","cy","da","de","el","en","en_GB","en_US_sappsd","en_US_saprigi","en_US_saptrc","es","es_MX","et","fi","fr","fr_CA","hi","hr","hu","in","it","iw","ja","kk","ko","lt","lv","ms","nl","no","pl","pt_PT","pt","ro","ru","sh","sk","sl","sv","th","tr","uk","vi","zh_CN","zh_TW"]},locales:{default:"en",all:["ar","ar_EG","ar_SA","bg","ca","cs","da","de","de_AT","de_CH","el","el_CY","en","en_AU","en_GB","en_HK","en_IE","en_IN","en_NZ","en_PG","en_SG","en_ZA","es","es_AR","es_BO","es_CL","es_CO","es_MX","es_PE","es_UY","es_VE","et","fa","fi","fr","fr_BE","fr_CA","fr_CH","fr_LU","he","hi","hr","hu","id","it","it_CH","ja","kk","ko","lt","lv","ms","nb","nl","nl_BE","pl","pt","pt_PT","ro","ru","ru_UA","sk","sl","sr","sr_Latn","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]}},k=P.themes.default,ht=P.themes.all,F=P.languages.default,d=P.locales.default,pe=P.locales.all,pt=()=>{const e=navigator.languages,t=()=>navigator.language;return e&&e[0]||t()||F};var ke={},De=ke.hasOwnProperty,gt=ke.toString,xe=De.toString,mt=xe.call(Object),ge=function(e){var t,n;return!e||gt.call(e)!=="[object Object]"?!1:(t=Object.getPrototypeOf(e),t?(n=De.call(t,"constructor")&&t.constructor,typeof n=="function"&&xe.call(n)===mt):!0)},wt=Object.create(null),ze=function(e,t,n,s){var r,o,a,u,R,w,p=arguments[2]||{},H=3,ft=arguments.length,he=arguments[0]||!1,dt=arguments[1]?void 0:wt;for(typeof p!="object"&&typeof p!="function"&&(p={});H<ft;H++)if((R=arguments[H])!=null)for(u in R)r=p[u],a=R[u],!(u==="__proto__"||p===a)&&(he&&a&&(ge(a)||(o=Array.isArray(a)))?(o?(o=!1,w=r&&Array.isArray(r)?r:[]):w=r&&ge(r)?r:{},p[u]=ze(he,arguments[1],w,a)):a!==dt&&(p[u]=a));return p};const Be=function(e,t){return ze(!0,!1,...arguments)},Fe=new Map,Qn=(e,t)=>{Fe.set(e,t)},b=e=>Fe.get(e),yt=e=>{const t=document.querySelector(`META[name="${e}"]`);return t&&t.getAttribute("content")},St=e=>{const t=yt("sap-allowedThemeOrigins");return t&&t.split(",").some(n=>n==="*"||e===n.trim())},_t=(e,t)=>{const n=new URL(e).pathname;return new URL(n,t).toString()},je=e=>{let t;try{if(e.startsWith(".")||e.startsWith("/"))t=new URL(e,window.location.href).toString();else{const n=new URL(e),s=n.origin;s&&St(s)?t=n.toString():t=_t(n.toString(),window.location.href)}return t.endsWith("/")||(t=`${t}/`),`${t}UI5/`}catch{}};var te;(function(e){e.Full="full",e.Basic="basic",e.Minimal="minimal",e.None="none"})(te||(te={}));const bt=te;let me=!1,c={animationMode:bt.Full,theme:k,themeRoot:void 0,rtl:void 0,language:void 0,timezone:void 0,calendarType:void 0,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const es=()=>(h(),c.animationMode),At=()=>(h(),c.theme),Tt=()=>(h(),c.themeRoot),ts=()=>(h(),c.rtl),vt=()=>(h(),c.language),Lt=()=>(h(),c.fetchDefaultLanguage),ns=()=>(h(),c.noConflict),ss=()=>(h(),c.calendarType),rs=()=>(h(),c.formatSettings),D=new Map;D.set("true",!0);D.set("false",!1);const Et=()=>{const e=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let t;if(e){try{t=JSON.parse(e.innerHTML)}catch{console.warn("Incorrect data-sap-ui-config format. Please use JSON")}t&&(c=Be(c,t))}},Pt=()=>{const e=new URLSearchParams(window.location.search);e.forEach((t,n)=>{const s=n.split("sap-").length;s===0||s===n.split("sap-ui-").length||we(n,t,"sap")}),e.forEach((t,n)=>{!n.startsWith("sap-ui")||we(n,t,"sap-ui")})},Ct=e=>{const t=e.split("@")[1];return je(t)},$t=(e,t)=>e==="theme"&&t.includes("@")?t.split("@")[0]:t,we=(e,t,n)=>{const s=t.toLowerCase(),r=e.split(`${n}-`)[1];D.has(t)&&(t=D.get(s)),r==="theme"?(c.theme=$t(r,t),t&&t.includes("@")&&(c.themeRoot=Ct(t))):c[r]=t},Rt=()=>{const e=b("OpenUI5Support");if(!e||!e.isOpenUI5Detected())return;const t=e.getConfigurationSettingsObject();c=Be(c,t)},h=()=>{typeof document>"u"||me||(Et(),Pt(),Rt(),me=!0)};class C{constructor(){this._eventRegistry=new Map}attachEvent(t,n){const s=this._eventRegistry,r=s.get(t);if(!Array.isArray(r)){s.set(t,[n]);return}r.includes(n)||r.push(n)}detachEvent(t,n){const s=this._eventRegistry,r=s.get(t);if(!r)return;const o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&s.delete(t)}fireEvent(t,n){const r=this._eventRegistry.get(t);return r?r.map(o=>o.call(this,n)):[]}fireEventAsync(t,n){return Promise.all(this.fireEvent(t,n))}isHandlerAttached(t,n){const r=this._eventRegistry.get(t);return r?r.includes(n):!1}hasListeners(t){return!!this._eventRegistry.get(t)}}const Ve=new C,We="languageChange",Ne=e=>{Ve.attachEvent(We,e)},Ot=e=>Ve.fireEventAsync(We,e),ye=10;class It{constructor(){this.list=[],this.lookup=new Set}add(t){this.lookup.has(t)||(this.list.push(t),this.lookup.add(t))}remove(t){!this.lookup.has(t)||(this.list=this.list.filter(n=>n!==t),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return this.list.length===0}isAdded(t){return this.lookup.has(t)}process(t){let n;const s=new Map;for(n=this.shift();n;){const r=s.get(n)||0;if(r>ye)throw new Error(`Web component processed too many times this task, max allowed is: ${ye}`);t(n),s.set(n,r+1),n=this.shift()}}}const Mt=(e,t=document.body,n)=>{let s=document.querySelector(e);return s||(s=n?n():document.createElement(e),t.insertBefore(s,t.firstChild))},Ut=()=>{const e=document.createElement("meta");return e.setAttribute("name","ui5-shared-resources"),e.setAttribute("content",""),e},kt=()=>typeof document>"u"?null:Mt('meta[name="ui5-shared-resources"]',document.head,Ut),j=(e,t)=>{const n=e.split(".");let s=kt();if(!s)return t;for(let r=0;r<n.length;r++){const o=n[r],a=r===n.length-1;Object.prototype.hasOwnProperty.call(s,o)||(s[o]=a?t:{}),s=s[o]}return s},Dt={version:"0.0.0-ce98ce2bb",major:0,minor:0,patch:0,suffix:"-ce98ce2bb",isNext:!0,buildTime:1693556014};let M,xt="";const q=new Map,L=j("Runtimes",[]),zt=()=>{if(M===void 0){M=L.length;const e=Dt;L.push({...e,alias:xt,description:`Runtime ${M} - ver ${e.version}`})}},oe=()=>M,Bt=(e,t)=>{const n=`${e},${t}`;if(q.has(n))return q.get(n);const s=L[e],r=L[t];if(!s||!r)throw new Error("Invalid runtime index supplied");if(s.isNext||r.isNext)return s.buildTime-r.buildTime;const o=s.major-r.major;if(o)return o;const a=s.minor-r.minor;if(a)return a;const u=s.patch-r.patch;if(u)return u;const w=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(s.suffix,r.suffix);return q.set(n,w),w},Ft=()=>L,Ze=j("Tags",new Map),ae=new Set;let m=new Map,G;const He=-1,os=e=>{ae.add(e),Ze.set(e,oe())},as=e=>ae.has(e),jt=()=>[...ae.values()],is=e=>{let t=Ze.get(e);t===void 0&&(t=He),m.has(t)||m.set(t,new Set),m.get(t).add(e),G||(G=setTimeout(()=>{Vt(),m=new Map,G=void 0},1e3))},Vt=()=>{const e=Ft(),t=oe(),n=e[t];let s="Multiple UI5 Web Components instances detected.";e.length>1&&(s=`${s}
|
|
2
|
+
Loading order (versions before 1.1.0 not listed): ${e.map(r=>`
|
|
3
|
+
${r.description}`).join("")}`),[...m.keys()].forEach(r=>{let o,a;r===He?(o=1,a={description:"Older unknown runtime"}):(o=Bt(t,r),a=e[r]);let u;o>0?u="an older":o<0?u="a newer":u="the same",s=`${s}
|
|
4
|
+
|
|
5
|
+
"${n.description}" failed to define ${m.get(r).size} tag(s) as they were defined by a runtime of ${u} version "${a.description}": ${[...m.get(r)].sort().join(", ")}.`,o>0?s=`${s}
|
|
6
|
+
WARNING! If your code uses features of the above web components, unavailable in ${a.description}, it might not work as expected!`:s=`${s}
|
|
7
|
+
Since the above web components were defined by the same or newer version runtime, they should be compatible with your code.`}),s=`${s}
|
|
8
|
+
|
|
9
|
+
To prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`,console.warn(s)},qe=new Set,cs=e=>{qe.add(e)},Wt=e=>qe.has(e),ie=new Set,Nt=new C,A=new It;let y,U,K,O;const Zt=async e=>{A.add(e),await qt()},Ht=e=>{Nt.fireEvent("beforeComponentRender",e),ie.add(e),e._render()},us=e=>{A.remove(e),ie.delete(e)},qt=async()=>{O||(O=new Promise(e=>{window.requestAnimationFrame(()=>{A.process(Ht),O=null,e(),K||(K=setTimeout(()=>{K=void 0,A.isEmpty()&&Xt()},200))})})),await O},Gt=()=>y||(y=new Promise(e=>{U=e,window.requestAnimationFrame(()=>{A.isEmpty()&&(y=void 0,e())})}),y),Kt=()=>{const e=jt().map(t=>customElements.whenDefined(t));return Promise.all(e)},Jt=async()=>{await Kt(),await Gt()},Xt=()=>{!A.isEmpty()||U&&(U(),U=void 0,y=void 0)},Ge=async e=>{ie.forEach(t=>{const n=t.constructor,s=n.getMetadata().getTag(),r=Wt(n),o=n.getMetadata().isLanguageAware(),a=n.getMetadata().isThemeAware();(!e||e.tag===s||e.rtlAware&&r||e.languageAware&&o||e.themeAware&&a)&&Zt(t)}),await Jt()};let T,ne;const Yt=()=>(T===void 0&&(T=vt()),T),ls=async e=>{T!==e&&(T=e,await Ot(e),await Ge({languageAware:!0}))},Qt=e=>{ne=e},en=()=>(ne===void 0&&Qt(Lt()),ne),tn=/^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;class Ke{constructor(t){const n=tn.exec(t.replace(/_/g,"-"));if(n===null)throw new Error(`The given language ${t} does not adhere to BCP-47.`);this.sLocaleId=t,this.sLanguage=n[1]||F,this.sScript=n[2]||"",this.sRegion=n[3]||"",this.sVariant=n[4]&&n[4].slice(1)||null,this.sExtension=n[5]&&n[5].slice(1)||null,this.sPrivateUse=n[6]||null,this.sLanguage&&(this.sLanguage=this.sLanguage.toLowerCase()),this.sScript&&(this.sScript=this.sScript.toLowerCase().replace(/^[a-z]/,s=>s.toUpperCase())),this.sRegion&&(this.sRegion=this.sRegion.toUpperCase())}getLanguage(){return this.sLanguage}getScript(){return this.sScript}getRegion(){return this.sRegion}getVariant(){return this.sVariant}getVariantSubtags(){return this.sVariant?this.sVariant.split("-"):[]}getExtension(){return this.sExtension}getExtensionSubtags(){return this.sExtension?this.sExtension.slice(2).split("-"):[]}getPrivateUse(){return this.sPrivateUse}getPrivateUseSubtags(){return this.sPrivateUse?this.sPrivateUse.slice(2).split("-"):[]}hasPrivateUseSubtag(t){return this.getPrivateUseSubtags().indexOf(t)>=0}toString(){const t=[this.sLanguage];return this.sScript&&t.push(this.sScript),this.sRegion&&t.push(this.sRegion),this.sVariant&&t.push(this.sVariant),this.sExtension&&t.push(this.sExtension),this.sPrivateUse&&t.push(this.sPrivateUse),t.join("-")}}const J=new Map,Je=e=>(J.has(e)||J.set(e,new Ke(e)),J.get(e)),Se=e=>{try{if(e&&typeof e=="string")return Je(e)}catch{}return new Ke(d)},se=e=>{if(e)return Se(e);const t=Yt();return t?Je(t):Se(pt())},nn=/^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i,_e=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,sn={he:"iw",yi:"ji",nb:"no",sr:"sh"},rn=e=>{let t;if(!e)return d;if(typeof e=="string"&&(t=nn.exec(e.replace(/_/g,"-")))){let n=t[1].toLowerCase(),s=t[3]?t[3].toUpperCase():void 0;const r=t[2]?t[2].toLowerCase():void 0,o=t[4]?t[4].slice(1):void 0,a=t[6];return n=sn[n]||n,a&&(t=_e.exec(a))||o&&(t=_e.exec(o))?`en_US_${t[1].toLowerCase()}`:(n==="zh"&&!s&&(r==="hans"?s="CN":r==="hant"&&(s="TW")),n+(s?"_"+s+(o?"_"+o.replace("-","_"):""):""))}return d},on=e=>{if(!e)return d;if(e==="zh_HK")return"zh_TW";const t=e.lastIndexOf("_");return t>=0?e.slice(0,t):e!==d?d:""},be=new Set,Ae=new Set,ce=new Map,X=new Map,ue=new Map,fs=(e,t,n)=>{const s=`${e}/${t}`;ue.set(s,n)},Te=(e,t)=>{ce.set(e,t)},ds=e=>ce.get(e),Xe=(e,t)=>{const n=`${e}/${t}`;return ue.has(n)},an=(e,t)=>{const n=`${e}/${t}`,s=ue.get(n);return s&&!X.get(n)&&X.set(n,s(t)),X.get(n)},cn=e=>{be.has(e)||(console.warn(`[${e}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${e}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`),be.add(e))},ve=(e,t)=>t!==F&&!Xe(e,t),un=async e=>{const t=se().getLanguage(),n=se().getRegion();let s=t+(n?`-${n}`:"");if(ve(e,s))for(s=rn(s);ve(e,s);)s=on(s);const r=en();if(s===F&&!r){Te(e,null);return}if(!Xe(e,s)){cn(e);return}try{const o=await an(e,s);Te(e,o)}catch(o){const a=o;Ae.has(a.message)||(Ae.add(a.message),console.error(a.message))}};Ne(e=>{const t=[...ce.keys()];return Promise.all(t.map(un))});const ln=new Map,x=new Map,Y=new Map,Le=new Set;let Ee=!1;const fn={iw:"he",ji:"yi",in:"id"},Pe=e=>{Ee||(console.warn(`[LocaleData] Supported locale "${e}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),Ee=!0)},dn=(e,t,n)=>{e=e&&fn[e]||e,e==="no"&&(e="nb"),e==="zh"&&!t&&(n==="Hans"?t="CN":n==="Hant"&&(t="TW")),(e==="sh"||e==="sr"&&n==="Latn")&&(e="sr",t="Latn");let s=`${e}_${t}`;return pe.includes(s)||(s=e,pe.includes(s))?x.has(s)?s:(Pe(s),d):d},Ce=(e,t)=>{ln.set(e,t)},hn=e=>{if(!Y.get(e)){const t=x.get(e);if(!t)throw new Error(`CLDR data for locale ${e} is not loaded!`);Y.set(e,t(e))}return Y.get(e)},pn=async(e,t,n)=>{const s=dn(e,t,n),r=b("OpenUI5Support");if(r){const o=r.getLocaleDataObject();if(o){Ce(s,o);return}}try{const o=await hn(s);Ce(s,o)}catch(o){const a=o;Le.has(a.message)||(Le.add(a.message),console.error(a.message))}},gn=(e,t)=>{x.set(e,t)};gn("en",async()=>(await fetch("https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json")).json());Ne(()=>{const e=se();return pn(e.getLanguage(),e.getRegion(),e.getScript())});const Ye=new C,Qe="themeRegistered",mn=e=>{Ye.attachEvent(Qe,e)},wn=e=>Ye.fireEvent(Qe,e),et=new Map,tt=new Map,nt=new Set,z=new Set,hs=(e,t,n)=>{tt.set(`${e}/${t}`,n),nt.add(e),z.add(t),wn(t)},st=async(e,t)=>{const n=et.get(`${e}_${t}`);if(n!==void 0)return n;if(!z.has(t)){const s=[...z.values()].join(", ");return console.warn(`You have requested a non-registered theme ${t} - falling back to ${k}. Registered themes are: ${s}`),$e(e,k)}return $e(e,t)},$e=async(e,t)=>{const n=tt.get(`${e}/${t}`);if(!n){console.error(`Theme [${t}] not registered for package [${e}]`);return}let s;try{s=await n(t)}catch(o){console.error(e,o.message);return}const r=s._||s;return et.set(`${e}_${t}`,r),r},rt=()=>nt,yn=e=>z.has(e);var B;(function(e){e["SAP-icons"]="SAP-icons-v4",e.horizon="SAP-icons-v5",e["SAP-icons-TNT"]="tnt",e.BusinessSuiteInAppSymbols="business-suite"})(B||(B={}));const ot=e=>B[e]?B[e]:e,Sn=(e,t)=>{const n=document.createElement("style");return n.type="text/css",t&&Object.entries(t).forEach(s=>n.setAttribute(...s)),n.textContent=e,document.head.appendChild(n),n},_n=(e,t)=>{const n=document.createElement("link");return n.type="text/css",n.rel="stylesheet",t&&Object.entries(t).forEach(s=>n.setAttribute(...s)),n.href=e,document.head.appendChild(n),new Promise(s=>{n.addEventListener("load",s),n.addEventListener("error",s)})},l=typeof document>"u",i={get userAgent(){return l?"":navigator.userAgent},get touch(){return l?!1:"ontouchstart"in window||navigator.maxTouchPoints>0},get ie(){return l?!1:/(msie|trident)/i.test(i.userAgent)},get chrome(){return l?!1:!i.ie&&/(Chrome|CriOS)/.test(i.userAgent)},get firefox(){return l?!1:/Firefox/.test(i.userAgent)},get safari(){return l?!1:!i.ie&&!i.chrome&&/(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(i.userAgent)},get webkit(){return l?!1:!i.ie&&/webkit/.test(i.userAgent)},get windows(){return l?!1:navigator.platform.indexOf("Win")!==-1},get macOS(){return l?!1:!!navigator.userAgent.match(/Macintosh|Mac OS X/i)},get iOS(){return l?!1:!!navigator.platform.match(/iPhone|iPad|iPod/)||!!(i.userAgent.match(/Mac/)&&"ontouchend"in document)},get android(){return l?!1:!i.windows&&/Android/.test(i.userAgent)},get androidPhone(){return l?!1:i.android&&/(?=android)(?=.*mobile)/i.test(i.userAgent)},get ipad(){return l?!1:/ipad/i.test(i.userAgent)||/Macintosh/i.test(i.userAgent)&&"ontouchend"in document}},V=()=>i.safari,W=(e,t)=>t?`${e}|${t}`:e,N=(e,t,n="")=>{const s=typeof e=="string"?e:e.content;if(document.adoptedStyleSheets&&!V()){const r=new CSSStyleSheet;r.replaceSync(s),r._ui5StyleId=W(t,n),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r]}else{const r={};r[t]=n,Sn(s,r)}},bn=(e,t,n="")=>{const s=typeof e=="string"?e:e.content;if(document.adoptedStyleSheets&&!V()){const r=document.adoptedStyleSheets.find(o=>o._ui5StyleId===W(t,n));r&&r.replaceSync(s||"")}else{const r=document.querySelector(`head>style[${t}="${n}"]`);r&&(r.textContent=s||"")}},Z=(e,t="")=>document.adoptedStyleSheets&&!V()?!!document.adoptedStyleSheets.find(n=>n._ui5StyleId===W(e,t)):!!document.querySelector(`head>style[${e}="${t}"]`),An=(e,t="")=>{var n;if(document.adoptedStyleSheets&&!V())document.adoptedStyleSheets=document.adoptedStyleSheets.filter(s=>s._ui5StyleId!==W(e,t));else{const s=document.querySelector(`head > style[${e}="${t}"]`);(n=s==null?void 0:s.parentElement)==null||n.removeChild(s)}},at=(e,t,n="")=>{Z(t,n)?bn(e,t,n):N(e,t,n)},S=new Set,Tn=()=>{let e=document.querySelector(".sapThemeMetaData-Base-baseLib")||document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");if(e)return getComputedStyle(e).backgroundImage;e=document.createElement("span"),e.style.display="none",e.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(e);let t=getComputedStyle(e).backgroundImage;return t==="none"&&(e.classList.add("sapThemeMetaData-UI5-sap-ui-core"),t=getComputedStyle(e).backgroundImage),document.body.removeChild(e),t},vn=e=>{const t=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(e);if(t&&t.length>=2){let n=t[1];if(n=n.replace(/\\"/g,'"'),n.charAt(0)!=="{"&&n.charAt(n.length-1)!=="}")try{n=decodeURIComponent(n)}catch{S.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),S.add("decode"));return}try{return JSON.parse(n)}catch{S.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),S.add("parse"))}}},Ln=e=>{let t,n;try{t=e.Path.match(/\.([^.]+)\.css_variables$/)[1],n=e.Extends[0]}catch{S.has("object")||(console.warn("Malformed theme metadata Object",e),S.add("object"));return}return{themeName:t,baseThemeName:n}},re=()=>{const e=Tn();if(!e||e==="none")return;const t=vn(e);if(t)return Ln(t)},En=new C,Pn="themeLoaded",Cn=e=>En.fireEvent(Pn,e);let v;const it=()=>(v===void 0&&(v=Tt()),v),ps=e=>{if(v!==e){if(v=e,!je(e)){console.warn(`The ${e} is not valid. Check the allowed origins as suggested in the "setThemeRoot" description.`);return}return ct($())}},$n=e=>`${it()}Base/baseLib/${e}/css_variables.css`,ct=async e=>{const t=document.querySelector(`[sap-ui-webcomponents-theme="${e}"]`);t&&document.head.removeChild(t),await _n($n(e),{"sap-ui-webcomponents-theme":e})},E="@ui5/webcomponents-theming",Rn=()=>rt().has(E),On=async e=>{if(!Rn())return;const t=await st(E,e);t&&at(t,"data-ui5-theme-properties",E)},In=()=>{An("data-ui5-theme-properties",E)},Mn=async e=>{const n=[...rt()].map(async s=>{if(s===E)return;const r=await st(s,e);r&&at(r,`data-ui5-component-properties-${oe()}`,s)});return Promise.all(n)},Un=async e=>{var s;const t=re();if(t)return t;const n=b("OpenUI5Support");if(n&&n.isOpenUI5Detected()){if(n.cssVariablesLoaded())return{themeName:(s=n.getConfigurationSettingsObject())==null?void 0:s.theme,baseThemeName:""}}else if(it())return await ct(e),re()},le=async e=>{const t=await Un(e);!t||e!==t.themeName?await On(e):In();const n=yn(e)?e:t&&t.baseThemeName;await Mn(n||k),Cn(e)};let _;const $=()=>(_===void 0&&(_=At()),_),gs=async e=>{_!==e&&(_=e,await le(_),await Ge({themeAware:!0}))},kn=()=>{var t,n;const e=$();return Dn(e)?!e.startsWith("sap_horizon"):!((n=(t=re())==null?void 0:t.baseThemeName)!=null&&n.startsWith("sap_horizon"))},Dn=e=>ht.includes(e);var g;(function(e){e.SAPIconsV4="SAP-icons-v4",e.SAPIconsV5="SAP-icons-v5",e.SAPIconsTNTV2="tnt-v2",e.SAPIconsTNTV3="tnt-v3",e.SAPBSIconsV1="business-suite-v1",e.SAPBSIconsV2="business-suite-v2"})(g||(g={}));const f=new Map;f.set("SAP-icons",{legacy:g.SAPIconsV4,sap_horizon:g.SAPIconsV5});f.set("tnt",{legacy:g.SAPIconsTNTV2,sap_horizon:g.SAPIconsTNTV3});f.set("business-suite",{legacy:g.SAPBSIconsV1,sap_horizon:g.SAPBSIconsV2});const xn=(e,t)=>{if(f.has(e)){f.set(e,{...t,...f.get(e)});return}f.set(e,t)},Re=e=>{const t=kn()?"legacy":"sap_horizon";return f.has(e)?f.get(e)[t]:e},zn=new Map,Bn=e=>zn.get(e),ut=e=>{const t=Bn($());return!e&&t?ot(t):Re(e||"SAP-icons")},Fn="legacy",Oe=new Map,fe=j("SVGIcons.registry",new Map),Q=j("SVGIcons.promises",new Map),Ie="ICON_NOT_FOUND",jn=async e=>{if(!Q.has(e)){if(!Oe.has(e))throw new Error(`No loader registered for the ${e} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const t=Oe.get(e);Q.set(e,t(e))}return Q.get(e)},Me=e=>{Object.keys(e.data).forEach(t=>{const n=e.data[t];Vn(t,{pathData:n.path||n.paths,ltr:n.ltr,accData:n.acc,collection:e.collection,packageName:e.packageName})})},Vn=(e,t)=>{const n=`${t.collection}/${e}`;fe.set(n,{pathData:t.pathData,ltr:t.ltr,accData:t.accData,packageName:t.packageName,customTemplate:t.customTemplate,viewBox:t.viewBox,collection:t.collection})},Wn=e=>{e.startsWith("sap-icon://")&&(e=e.replace("sap-icon://",""));let t;return[e,t]=e.split("/").reverse(),e=e.replace("icon-",""),t&&(t=ot(t)),{name:e,collection:t}},ee=async e=>{const{name:t,collection:n}=Wn(e);let s=Ie;try{s=await jn(ut(n))}catch(o){console.error(o.message)}if(s===Ie)return s;const r=Ue(n,t);return r||(Array.isArray(s)?s.forEach(o=>{Me(o),xn(n,{[o.themeFamily||Fn]:o.collection})}):Me(s),Ue(n,t))},Ue=(e,t)=>{const n=`${ut(e)}/${t}`;return fe.get(n)},ms=async()=>(await ee("edit"),await ee("tnt/arrow"),await ee("business-suite/3d"),Array.from(fe.keys())),Nn=()=>new Promise(e=>{document.body?e():document.addEventListener("DOMContentLoaded",()=>{e()})}),Zn={packageName:"@ui5/webcomponents-base",fileName:"FontFace.css",content:`@font-face{font-family:"72";font-style:normal;font-weight:400;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"),local("72")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"),local('72-full')}@font-face{font-family:"72";font-style:normal;font-weight:700;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),local('72-Bold')}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Bold';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),local('72-Bold')}@font-face{font-family:'72-Boldfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Light';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Light.woff2?ui5-webcomponents) format("woff2"),local('72-Light')}@font-face{font-family:'72-Lightfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72Mono';src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Regular.woff2?ui5-webcomponents) format('woff2'),local('72Mono')}@font-face{font-family:'72Monofull';src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Regular-full.woff2?ui5-webcomponents) format('woff2')}@font-face{font-family:'72Mono-Bold';src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Bold.woff2?ui5-webcomponents) format('woff2'),local('72Mono-Bold')}@font-face{font-family:'72Mono-Boldfull';src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Bold-full.woff2?ui5-webcomponents) format('woff2')}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2"),local('72Black')}@font-face{font-family:"72-SemiboldDuplex";src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-SemiboldDuplex.woff2?ui5-webcomponents) format("woff2"),local('72-SemiboldDuplex')}`},Hn={packageName:"@ui5/webcomponents-base",fileName:"OverrideFontFace.css",content:"@font-face{font-family:'72override';unicode-range:U+0102-0103,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EB7,U+1EB8-1EC7,U+1EC8-1ECB,U+1ECC-1EE3,U+1EE4-1EF1,U+1EF4-1EF7;src:local('Arial'),local('Helvetica'),local('sans-serif')}"},qn=()=>{const e=b("OpenUI5Support");(!e||!e.isOpenUI5Detected())&&Gn(),Kn()},Gn=()=>{Z("data-ui5-font-face")||N(Zn,"data-ui5-font-face")},Kn=()=>{Z("data-ui5-font-face-override")||N(Hn,"data-ui5-font-face-override")},Jn={packageName:"@ui5/webcomponents-base",fileName:"SystemCSSVars.css",content:":root{--_ui5_content_density:cozy}.sapUiSizeCompact,.ui5-content-density-compact,[data-ui5-compact-size]{--_ui5_content_density:compact}[dir=rtl]{--_ui5_dir:rtl}[dir=ltr]{--_ui5_dir:ltr}"},Xn=()=>{Z("data-ui5-system-css-vars")||N(Jn,"data-ui5-system-css-vars")};let de=!1,I;const lt=new C,ws=e=>{if(!de){lt.attachEvent("boot",e);return}e()},ys=async()=>{if(I!==void 0)return I;const e=async t=>{if(typeof document>"u"){t();return}mn(Yn),zt();const n=b("OpenUI5Support"),s=n?n.isOpenUI5Detected():!1,r=b("F6Navigation");n&&await n.init(),r&&!s&&r.init(),await Nn(),await le($()),n&&n.attachListeners(),qn(),Xn(),t(),de=!0,await lt.fireEventAsync("boot")};return I=new Promise(e),I},Yn=e=>{const t=$();de&&e===t&&le(t)};export{rs as A,ls as B,$ as C,it as D,C as E,ps as F,oe as G,fs as H,ws as I,ms as _,j as a,Ge as b,b as c,ts as d,Yt as e,un as f,ds as g,pt as h,V as i,Jt as j,ns as k,Ht as l,us as m,cs as n,Mt as o,ys as p,as as q,Qn as r,gs as s,is as t,os as u,Be as v,Zt as w,hs as x,es as y,ss as z};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import{f as ge,g as me,a as mt,r as Bt,s as ut,b as Ft,E as J,c as X,i as ye,d as _e,e as Ut,h as ve,j as jt,k as Ae,l as $e,m as we,n as Ce,o as be,p as Se,q as Te,t as Ee,u as Me,v as xe,w as De,x as C,y as Le,z as Ie,A as zt,B as Pe,C as Ne,D as Re,F as Oe,G as ke,_ as He,H as Ve}from"./Boot.52ac4401.js";const Be=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,Fe=(s,t)=>(t=t||[],s.replace(Be,(e,n,i,r,o)=>{if(n)return"'";if(i)return i.replace(/''/g,"'");if(r){const l=typeof r=="string"?parseInt(r):r;return String(t[l])}throw new Error(`[i18n]: pattern syntax error at pos ${o}`)})),Q=new Map;class Ue{constructor(t){this.packageName=t}getText(t,...e){if(typeof t=="string"&&(t={key:t,defaultText:t}),!t||!t.key)return"";const n=me(this.packageName);n&&!n[t.key]&&console.warn(`Key ${t.key} not found in the i18n bundle, the default text will be used`);const i=n&&n[t.key]?n[t.key]:t.defaultText||t.key;return Fe(i,e)}}const je=s=>{if(Q.has(s))return Q.get(s);const t=new Ue(s);return Q.set(s,t),t},ze=async s=>(await ge(s),je(s)),We=mt("PopupUtilsData",{currentZIndex:100}),At=()=>We.currentZIndex;class _{static isAtLeastVersion116(){const e=window.sap.ui.version.split(".");return!e||e.length<2?!1:parseInt(e[0])>1||parseInt(e[1])>=116}static isOpenUI5Detected(){var t,e;return typeof((e=(t=window.sap)==null?void 0:t.ui)==null?void 0:e.require)=="function"}static init(){return _.isOpenUI5Detected()?new Promise(t=>{window.sap.ui.require(["sap/ui/core/Core"],async e=>{const n=()=>{let i=["sap/ui/core/Popup","sap/ui/core/LocaleData"];_.isAtLeastVersion116()&&(i=[...i,"sap/base/i18n/Formatting","sap/base/i18n/Localization","sap/ui/core/ControlBehavior","sap/ui/core/Theming","sap/ui/core/date/CalendarUtils"]),window.sap.ui.require(i,r=>{r.setInitialZIndex(At()),t()})};_.isAtLeastVersion116()?(await e.ready(),n()):e.attachInit(n)})}):Promise.resolve()}static getConfigurationSettingsObject(){if(!_.isOpenUI5Detected())return{};if(_.isAtLeastVersion116()){const i=window.sap.ui.require("sap/ui/core/ControlBehavior"),r=window.sap.ui.require("sap/base/i18n/Localization"),o=window.sap.ui.require("sap/ui/core/Theming"),l=window.sap.ui.require("sap/base/i18n/Formatting"),a=window.sap.ui.require("sap/ui/core/date/CalendarUtils");return{animationMode:i.getAnimationMode(),language:r.getLanguage(),theme:o.getTheme(),themeRoot:o.getThemeRoot(),rtl:r.getRTL(),timezone:r.getTimezone(),calendarType:l.getCalendarType(),formatSettings:{firstDayOfWeek:a.getWeekConfigurationValues().firstDayOfWeek,legacyDateCalendarCustomizing:l.getLegacyDateCalendarCustomizing()}}}const e=window.sap.ui.require("sap/ui/core/Core").getConfiguration(),n=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:e.getAnimationMode(),language:e.getLanguage(),theme:e.getTheme(),themeRoot:e.getThemeRoot(),rtl:e.getRTL(),timezone:e.getTimezone(),calendarType:e.getCalendarType(),formatSettings:{firstDayOfWeek:n?n.getInstance(e.getLocale()).getFirstDayOfWeek():void 0,legacyDateCalendarCustomizing:e.getFormatSettings().getLegacyDateCalendarCustomizing()}}}static getLocaleDataObject(){if(!_.isOpenUI5Detected())return;const t=window.sap.ui.require("sap/ui/core/LocaleData");if(_.isAtLeastVersion116()){const i=window.sap.ui.require("sap/base/i18n/Localization");return t.getInstance(i.getLanguageTag())._get()}const n=window.sap.ui.require("sap/ui/core/Core").getConfiguration();return t.getInstance(n.getLocale())._get()}static _listenForThemeChange(){if(_.isAtLeastVersion116()){const t=window.sap.ui.require("sap/ui/core/Theming");t.attachApplied(()=>{ut(t.getTheme())})}else{const t=window.sap.ui.require("sap/ui/core/Core"),e=t.getConfiguration();t.attachThemeChanged(()=>{ut(e.getTheme())})}}static attachListeners(){!_.isOpenUI5Detected()||_._listenForThemeChange()}static cssVariablesLoaded(){if(!_.isOpenUI5Detected())return;const t=[...document.head.children].find(e=>e.id==="sap-ui-theme-sap.ui.core");return t?!!t.href.match(/\/css(-|_)variables\.css/):!1}static getNextZIndex(){if(!_.isOpenUI5Detected())return;const t=window.sap.ui.require("sap/ui/core/Popup");return t||console.warn(`The OpenUI5Support feature hasn't been initialized properly. Make sure you import the "@ui5/webcomponents-base/dist/features/OpenUI5Support.js" module before all components' modules.`),t.getNextZIndex()}static setInitialZIndex(){if(!_.isOpenUI5Detected())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex(At())}}Bt("OpenUI5Support",_);const tt=new Map,et=new Map,$t=s=>{if(!tt.has(s)){const t=qe(s.split("-"));tt.set(s,t)}return tt.get(s)},Wt=s=>{if(!et.has(s)){const t=s.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();et.set(s,t)}return et.get(s)},qe=s=>s.map((t,e)=>e===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(""),Ze=s=>{if(!(s instanceof HTMLElement))return"default";const t=s.getAttribute("slot");if(t){const e=t.match(/^(.+?)-\d+$/);return e?e[1]:t}return"default"},qt=s=>s instanceof HTMLSlotElement?s.assignedNodes({flatten:!0}).filter(t=>t instanceof HTMLElement):[s],Ge=s=>s.reduce((t,e)=>t.concat(qt(e)),[]);let Ke,wt={include:[/^ui5-/],exclude:[]};const st=new Map,Zt=()=>Ke,ht=s=>{if(!st.has(s)){const t=wt.include.some(e=>s.match(e))&&!wt.exclude.some(e=>s.match(e));st.set(s,t)}return st.get(s)},Gt=s=>{if(ht(s))return Zt()};class Je{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},e=this.slotsAreManaged(),n=this.getProperties();for(const i in n){const r=n[i].type,o=n[i].defaultValue;r===Boolean?(t[i]=!1,o!==void 0&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):n[i].multiple?t[i]=[]:r===Object?t[i]="defaultValue"in n[i]?n[i].defaultValue:{}:r===String?t[i]="defaultValue"in n[i]?n[i].defaultValue:"":t[i]=o}if(e){const i=this.getSlots();for(const[r,o]of Object.entries(i)){const l=o.propertyName||r;t[l]=[]}}return this._initialState=t,t}static validatePropertyValue(t,e){return e.multiple&&t?t.map(i=>Ct(i,e)):Ct(t,e)}static validateSlotValue(t,e){return Xe(t,e)}getPureTag(){return this.metadata.tag||""}getTag(){const t=this.metadata.tag;if(!t)return"";const e=Gt(t);return e?`${t}-${e}`:t}hasAttribute(t){const e=this.getProperties()[t];return e.type!==Object&&!e.noAttribute&&!e.multiple}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute.bind(this)).map(Wt)}canSlotText(){const t=this.getSlots().default;return t&&t.type===Node}hasSlots(){return!!Object.entries(this.getSlots()).length}hasIndividualSlots(){return this.slotsAreManaged()&&Object.values(this.getSlots()).some(t=>t.individualSlots)}slotsAreManaged(){return!!this.metadata.managedSlots}supportsF6FastNavigation(){return!!this.metadata.fastNavigation}getProperties(){return this.metadata.properties||(this.metadata.properties={}),this.metadata.properties}getEvents(){return this.metadata.events||(this.metadata.events={}),this.metadata.events}getSlots(){return this.metadata.slots||(this.metadata.slots={}),this.metadata.slots}isLanguageAware(){return!!this.metadata.languageAware}isThemeAware(){return!!this.metadata.themeAware}shouldInvalidateOnChildChange(t,e,n){const i=this.getSlots()[t].invalidateOnChildChange;if(i===void 0)return!1;if(typeof i=="boolean")return i;if(typeof i=="object"){if(e==="property"){if(i.properties===void 0)return!1;if(typeof i.properties=="boolean")return i.properties;if(Array.isArray(i.properties))return i.properties.includes(n);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if(e==="slot"){if(i.slots===void 0)return!1;if(typeof i.slots=="boolean")return i.slots;if(Array.isArray(i.slots))return i.slots.includes(n);throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected")}}throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected")}}const Ct=(s,t)=>{const e=t.type;let n=t.validator;return e&&e.isDataTypeClass&&(n=e),n?n.isValid(s)?s:t.defaultValue:!e||e===String?typeof s=="string"||typeof s>"u"||s===null?s:s.toString():e===Boolean?typeof s=="boolean"?s:!1:e===Object?typeof s=="object"?s:t.defaultValue:s in e?s:t.defaultValue},Xe=(s,t)=>(s&&qt(s).forEach(e=>{if(!(e instanceof t.type))throw new Error(`The element is not of type ${t.type.toString()}`)}),s);class Ye extends HTMLElement{}customElements.get("ui5-static-area")||customElements.define("ui5-static-area",Ye);const Qe=()=>mt("CustomStyle.eventProvider",new J),ts="CustomCSSChange",yt=s=>{Qe().attachEvent(ts,s)},es=()=>mt("CustomStyle.customCSSFor",{});yt(s=>{Ft({tag:s})});const ss=s=>{const t=es();return t[s]?t[s].join(""):""},ns=10,nt=s=>Array.isArray(s)?s.filter(t=>!!t).flat(ns).map(t=>typeof t=="string"?t:t.content).join(" "):typeof s=="string"?s:s.content,W=new Map;yt(s=>{W.delete(`${s}_normal`)});const Kt=(s,t=!1)=>{const e=s.getMetadata().getTag(),n=`${e}_${t?"static":"normal"}`,i=X("OpenUI5Enablement");if(!W.has(n)){let r,o="";if(i&&(o=nt(i.getBusyIndicatorStyles())),t)r=nt(s.staticAreaStyles);else{const l=ss(e)||"";r=`${nt(s.styles)} ${l}`}r=`${r} ${o}`,W.set(n,r)}return W.get(n)},q=new Map;yt(s=>{q.delete(`${s}_normal`)});const is=(s,t=!1)=>{const n=`${s.getMetadata().getTag()}_${t?"static":"normal"}`;if(!q.has(n)){const i=Kt(s,t),r=new CSSStyleSheet;r.replaceSync(i),q.set(n,[r])}return q.get(n)},pt=(s,t=!1)=>{let e;const n=s.constructor,i=t?s.staticAreaItem.shadowRoot:s.shadowRoot;let r;if(t?r=s.renderStatic():r=s.render(),!i){console.warn("There is no shadow root to update");return}if(document.adoptedStyleSheets&&!ye()?i.adoptedStyleSheets=is(n,t):e=Kt(n,t),n.renderer){n.renderer(r,i,e,t,{host:s});return}n.render(r,i,e,t,{host:s})},rs="--_ui5_content_density",os=s=>getComputedStyle(s).getPropertyValue(rs),as=s=>{const t=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(s);return t&&t[2]?t[2].split(/,/):null},ls={iw:"he",ji:"yi",in:"id",sh:"sr"},cs=as("$cldr-rtl-locales:ar,fa,he$")||[],ds=s=>(s=s&&ls[s]||s,cs.indexOf(s)>=0),Jt=()=>{if(typeof document>"u")return!1;const s=_e();return s!==void 0?!!s:ds(Ut()||ve())},us="--_ui5_dir",Xt=s=>{const t=window.document,e=["ltr","rtl"],n=getComputedStyle(s).getPropertyValue(us);return e.includes(n)?n:e.includes(s.dir)?s.dir:e.includes(t.documentElement.dir)?t.documentElement.dir:e.includes(t.body.dir)?t.body.dir:Jt()?"rtl":void 0},z="ui5-static-area-item",hs="data-sap-ui-integration-popup-content";class O extends HTMLElement{constructor(){super(),this._rendered=!1,this.attachShadow({mode:"open"})}setOwnerElement(t){this.ownerElement=t,this.classList.add(this.ownerElement._id),this.ownerElement.hasAttribute("data-ui5-static-stable")&&this.setAttribute("data-ui5-stable",this.ownerElement.getAttribute("data-ui5-static-stable"))}update(){this._rendered&&(this.updateAdditionalProperties(),pt(this.ownerElement,!0))}updateAdditionalProperties(){this._updateAdditionalAttrs(),this._updateContentDensity(),this._updateDirection()}_updateContentDensity(){os(this.ownerElement)==="compact"?(this.classList.add("sapUiSizeCompact"),this.classList.add("ui5-content-density-compact")):(this.classList.remove("sapUiSizeCompact"),this.classList.remove("ui5-content-density-compact"))}_updateDirection(){if(this.ownerElement){const t=Xt(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}}_updateAdditionalAttrs(){this.setAttribute(z,""),this.setAttribute(hs,"")}async getDomRef(){return this.updateAdditionalProperties(),this._rendered||(this._rendered=!0,pt(this.ownerElement,!0)),await jt(),this.shadowRoot}static getTag(){const t=Gt(z);return t?`${z}-${t}`:z}static createInstance(){return customElements.get(O.getTag())||customElements.define(O.getTag(),O),document.createElement(this.getTag())}}const ps=[],fs=s=>ps.some(t=>s.startsWith(t)),ft=new WeakMap,gs=(s,t,e)=>{const n=new MutationObserver(t);ft.set(s,n),n.observe(s,e)},ms=s=>{const t=ft.get(s);t&&(t.disconnect(),ft.delete(s))},ys=["value-changed","click"];let Z;const _s=s=>ys.includes(s),vs=s=>{const t=_t();return!(typeof t!="boolean"&&t.events&&t.events.includes&&t.events.includes(s))},_t=()=>(Z===void 0&&(Z=Ae()),Z),As=s=>{Z=s},$s=s=>{const t=_t();return _s(s)?!1:t===!0?!0:!vs(s)},ws=["disabled","title","hidden","role","draggable"],bt=s=>ws.includes(s)||s.startsWith("aria")?!0:![HTMLElement,Element,Node].some(e=>e.prototype.hasOwnProperty(s)),St=(s,t)=>{if(s.length!==t.length)return!1;for(let e=0;e<s.length;e++)if(s[e]!==t[e])return!1;return!0},Tt=(s,t)=>{const e=Cs(t),n=Zt();return s.call(t,t,e,n)},Cs=s=>{const t=s.constructor,e=t.getMetadata().getPureTag(),n=t.getUniqueDependencies().map(i=>i.getMetadata().getPureTag()).filter(ht);return ht(e)&&n.push(e),n};let bs=0;const Et=new Map,it=new Map;function I(s){this._suppressInvalidation||(this.onInvalidation(s),this._changedState.push(s),De(this),this._eventProvider.fireEvent("invalidate",{...s,target:this}))}class w extends HTMLElement{constructor(){super();const t=this.constructor;this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new J;let e;this._domRefReadyPromise=new Promise(n=>{e=n}),this._domRefReadyPromise._deferredResolve=e,this._doNotSyncAttributes=new Set,this._state={...t.getMetadata().getInitialState()},this._upgradeAllProperties(),t._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id=`ui5wc_${++bs}`),this.__id}render(){const t=this.constructor.template;return Tt(t,this)}renderStatic(){const t=this.constructor.staticAreaTemplate;return Tt(t,this)}async connectedCallback(){const t=this.constructor;this.setAttribute(t.getMetadata().getPureTag(),""),t.getMetadata().supportsF6FastNavigation()&&this.setAttribute("data-sap-ui-fastnavgroup","true");const e=t.getMetadata().slotsAreManaged();this._inDOM=!0,e&&(this._startObservingDOMChildren(),await this._processChildren()),this._inDOM&&($e(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,this.onEnterDOM())}disconnectedCallback(){const e=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,e&&this._stopObservingDOMChildren(),this._fullyConnected&&(this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),we(this)}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}_startObservingDOMChildren(){const t=this.constructor;if(!t.getMetadata().hasSlots())return;const n=t.getMetadata().canSlotText(),i={childList:!0,subtree:n,characterData:n};gs(this,this._processChildren.bind(this),i)}_stopObservingDOMChildren(){ms(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor,e=t.getMetadata().getSlots(),n=t.getMetadata().canSlotText(),i=Array.from(n?this.childNodes:this.children),r=new Map,o=new Map;for(const[d,u]of Object.entries(e)){const h=u.propertyName||d;o.set(h,d),r.set(h,[...this._state[h]]),this._clearSlot(d,u)}const l=new Map,a=new Map,c=i.map(async(d,u)=>{const h=Ze(d),f=e[h];if(f===void 0){if(h!=="default"){const g=Object.keys(e).join(", ");console.warn(`Unknown slotName: ${h}, ignoring`,d,`Valid values are: ${g}`)}return}if(f.individualSlots){const g=(l.get(h)||0)+1;l.set(h,g),d._individualSlot=`${h}-${g}`}if(d instanceof HTMLElement){const g=d.localName;if(g.includes("-")&&!fs(g)){if(!window.customElements.get(g)){const pe=window.customElements.whenDefined(g);let j=Et.get(g);j||(j=new Promise(fe=>setTimeout(fe,1e3)),Et.set(g,j)),await Promise.race([pe,j])}window.customElements.upgrade(d)}}if(d=t.getMetadata().constructor.validateSlotValue(d,f),Mt(d)&&f.invalidateOnChildChange){const g=this._getChildChangeListener(h);g&&d.attachInvalidate.call(d,g)}d instanceof HTMLSlotElement&&this._attachSlotChange(d,h);const m=f.propertyName||h;a.has(m)?a.get(m).push({child:d,idx:u}):a.set(m,[{child:d,idx:u}])});await Promise.all(c),a.forEach((d,u)=>{this._state[u]=d.sort((h,f)=>h.idx-f.idx).map(h=>h.child)});let p=!1;for(const[d,u]of Object.entries(e)){const h=u.propertyName||d;St(r.get(h),this._state[h])||(I.call(this,{type:"slot",name:o.get(h),reason:"children"}),p=!0)}p||I.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const n=e.propertyName||t;this._state[n].forEach(r=>{if(Mt(r)){const o=this._getChildChangeListener(t);o&&r.detachInvalidate.call(r,o)}r instanceof HTMLSlotElement&&this._detachSlotChange(r,t)}),this._state[n]=[]}attachInvalidate(t){this._eventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._eventProvider.detachEvent("invalidate",t)}_onChildChange(t,e){!this.constructor.getMetadata().shouldInvalidateOnChildChange(t,e.type,e.name)||I.call(this,{type:"slot",name:t,reason:"childchange",child:e.target})}attributeChangedCallback(t,e,n){let i;if(this._doNotSyncAttributes.has(t))return;const r=this.constructor.getMetadata().getProperties(),o=t.replace(/^ui5-/,""),l=$t(o);if(r.hasOwnProperty(l)){const a=r[l],c=a.type;let p=a.validator;c&&c.isDataTypeClass&&(p=c),p?i=p.attributeToProperty(n):c===Boolean?i=n!==null:i=n,this[l]=i}}_updateAttribute(t,e){const n=this.constructor;if(!n.getMetadata().hasAttribute(t))return;const r=n.getMetadata().getProperties()[t],o=r.type;let l=r.validator;const a=Wt(t),c=this.getAttribute(a);if(o&&o.isDataTypeClass&&(l=o),l){const p=l.propertyToAttribute(e);p===null?(this._doNotSyncAttributes.add(a),this.removeAttribute(a),this._doNotSyncAttributes.delete(a)):this.setAttribute(a,p)}else o===Boolean?e===!0&&c===null?this.setAttribute(a,""):e===!1&&c!==null&&this.removeAttribute(a):typeof e!="object"&&c!==e&&this.setAttribute(a,e)}_upgradeProperty(t){if(this.hasOwnProperty(t)){const e=this[t];delete this[t],this[t]=e}}_upgradeAllProperties(){this.constructor.getMetadata().getPropertiesList().forEach(this._upgradeProperty.bind(this))}_getChildChangeListener(t){return this._childChangeListeners.has(t)||this._childChangeListeners.set(t,this._onChildChange.bind(this,t)),this._childChangeListeners.get(t)}_getSlotChangeListener(t){return this._slotChangeListeners.has(t)||this._slotChangeListeners.set(t,this._onSlotChange.bind(this,t)),this._slotChangeListeners.get(t)}_attachSlotChange(t,e){const n=this._getSlotChangeListener(e);n&&t.addEventListener("slotchange",n)}_detachSlotChange(t,e){t.removeEventListener("slotchange",this._getSlotChangeListener(e))}_onSlotChange(t){I.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor,e=t.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],t._needsShadowDOM()&&pt(this),this.staticAreaItem&&this.staticAreaItem.update(),e&&this._assignIndividualSlotsToChildren(),this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach(e=>{e._individualSlot&&e.setAttribute("slot",e._individualSlot)})}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(typeof this._getRealDomRef=="function")return this._getRealDomRef();if(!this.shadowRoot||this.shadowRoot.children.length===0)return;const t=[...this.shadowRoot.children].filter(e=>!["link","style"].includes(e.localName));return t.length!==1&&console.warn(`The shadow DOM for ${this.constructor.getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`),t[0]}getFocusDomRef(){const t=this.getDomRef();if(t)return t.querySelector("[data-sap-focus-ref]")||t}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(t){await this._waitForDomRef();const e=this.getFocusDomRef();e&&typeof e.focus=="function"&&e.focus(t)}fireEvent(t,e,n=!1,i=!0){const r=this._fireEvent(t,e,n,i),o=$t(t);return o!==t?r&&this._fireEvent(o,e,n):r}_fireEvent(t,e,n=!1,i=!0){const r=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:i,cancelable:n}),o=this.dispatchEvent(r);if($s(t))return o;const l=new CustomEvent(t,{detail:e,composed:!1,bubbles:i,cancelable:n});return this.dispatchEvent(l)&&o}getSlottedNodes(t){return Ge(this[t])}get effectiveDir(){return Ce(this.constructor),Xt(this)}get isUI5Element(){return!0}get classes(){return{}}static get observedAttributes(){return this.getMetadata().getAttributesList()}static _needsShadowDOM(){return!!this.template||Object.prototype.hasOwnProperty.call(this.prototype,"render")}static _needsStaticArea(){return!!this.staticAreaTemplate||Object.prototype.hasOwnProperty.call(this.prototype,"renderStatic")}getStaticAreaItemDomRef(){if(!this.constructor._needsStaticArea())throw new Error("This component does not use the static area");return this.staticAreaItem||(this.staticAreaItem=O.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||be("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,e=this.getMetadata().slotsAreManaged(),n=this.getMetadata().getProperties();for(const[i,r]of Object.entries(n)){if(bt(i)||console.warn(`"${i}" is not a valid property name. Use a name that does not collide with DOM APIs`),r.type===Boolean&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All booleans are false by default.`);if(r.type===Array)throw new Error(`Wrong type for property "${i}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(r.type===Object&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All properties of type "Object" are empty objects by default.`);if(r.multiple&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,i,{get(){if(this._state[i]!==void 0)return this._state[i];const o=r.defaultValue;return r.type===Boolean?!1:r.type===String?o:r.multiple?[]:o},set(o){let l;o=this.constructor.getMetadata().constructor.validatePropertyValue(o,r);const p=r.type;let d=r.validator;const u=this._state[i];p&&p.isDataTypeClass&&(d=p),d?l=!d.valuesAreEqual(u,o):Array.isArray(u)&&Array.isArray(o)&&r.multiple&&r.compareValues?l=!St(u,o):l=u!==o,l&&(this._state[i]=o,I.call(this,{type:"property",name:i,newValue:o,oldValue:u}),this._updateAttribute(i,o))}})}if(e){const i=this.getMetadata().getSlots();for(const[r,o]of Object.entries(i)){bt(r)||console.warn(`"${r}" is not a valid property name. Use a name that does not collide with DOM APIs`);const l=o.propertyName||r;Object.defineProperty(t,l,{get(){return this._state[l]!==void 0?this._state[l]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!it.has(this)){const t=this.dependencies.filter((e,n,i)=>i.indexOf(e)===n);it.set(this,t)}return it.get(this)||[]}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map(t=>t.define()))}static async onDefine(){return Promise.resolve()}static async define(){await Se(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),e=Te(t),n=customElements.get(t);return n&&!e?Ee(t):n||(this._generateAccessors(),Me(t),window.customElements.define(t,this)),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const t=[this.metadata];let e=this;for(;e!==w;)e=Object.getPrototypeOf(e),t.unshift(e.metadata);const n=xe({},...t);return this._metadata=new Je(n),this._metadata}}w.metadata={};const Mt=s=>"isUI5Element"in s;/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/var rt;const G=window,D=G.trustedTypes,xt=D?D.createPolicy("lit-html",{createHTML:s=>s}):void 0,K="$lit$",$=`lit$${(Math.random()+"").slice(9)}$`,vt="?"+$,Ss=`<${vt}>`,E=document,k=()=>E.createComment(""),H=s=>s===null||typeof s!="object"&&typeof s!="function",Yt=Array.isArray,Qt=s=>Yt(s)||typeof(s==null?void 0:s[Symbol.iterator])=="function",ot=`[
|
|
6
|
+
\f\r]`,P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Dt=/-->/g,Lt=/>/g,b=RegExp(`>|${ot}(?:([^\\s"'>=/]+)(${ot}*=${ot}*(?:[^
|
|
7
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),It=/'/g,Pt=/"/g,te=/^(?:script|style|textarea|title)$/i,Ts=s=>(t,...e)=>({_$litType$:s,strings:t,values:e}),Es=Ts(1),M=Symbol.for("lit-noChange"),y=Symbol.for("lit-nothing"),Nt=new WeakMap,T=E.createTreeWalker(E,129,null,!1);function ee(s,t){if(!Array.isArray(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return xt!==void 0?xt.createHTML(t):t}const se=(s,t)=>{const e=s.length-1,n=[];let i,r=t===2?"<svg>":"",o=P;for(let l=0;l<e;l++){const a=s[l];let c,p,d=-1,u=0;for(;u<a.length&&(o.lastIndex=u,p=o.exec(a),p!==null);)u=o.lastIndex,o===P?p[1]==="!--"?o=Dt:p[1]!==void 0?o=Lt:p[2]!==void 0?(te.test(p[2])&&(i=RegExp("</"+p[2],"g")),o=b):p[3]!==void 0&&(o=b):o===b?p[0]===">"?(o=i!=null?i:P,d=-1):p[1]===void 0?d=-2:(d=o.lastIndex-p[2].length,c=p[1],o=p[3]===void 0?b:p[3]==='"'?Pt:It):o===Pt||o===It?o=b:o===Dt||o===Lt?o=P:(o=b,i=void 0);const h=o===b&&s[l+1].startsWith("/>")?" ":"";r+=o===P?a+Ss:d>=0?(n.push(c),a.slice(0,d)+K+a.slice(d)+$+h):a+$+(d===-2?(n.push(void 0),l):h)}return[ee(s,r+(s[e]||"<?>")+(t===2?"</svg>":"")),n]};class V{constructor({strings:t,_$litType$:e},n){let i;this.parts=[];let r=0,o=0;const l=t.length-1,a=this.parts,[c,p]=se(t,e);if(this.el=V.createElement(c,n),T.currentNode=this.el.content,e===2){const d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(i=T.nextNode())!==null&&a.length<l;){if(i.nodeType===1){if(i.hasAttributes()){const d=[];for(const u of i.getAttributeNames())if(u.endsWith(K)||u.startsWith($)){const h=p[o++];if(d.push(u),h!==void 0){const f=i.getAttribute(h.toLowerCase()+K).split($),m=/([.?@])?(.*)/.exec(h);a.push({type:1,index:r,name:m[2],strings:f,ctor:m[1]==="."?ie:m[1]==="?"?re:m[1]==="@"?oe:B})}else a.push({type:6,index:r})}for(const u of d)i.removeAttribute(u)}if(te.test(i.tagName)){const d=i.textContent.split($),u=d.length-1;if(u>0){i.textContent=D?D.emptyScript:"";for(let h=0;h<u;h++)i.append(d[h],k()),T.nextNode(),a.push({type:2,index:++r});i.append(d[u],k())}}}else if(i.nodeType===8)if(i.data===vt)a.push({type:2,index:r});else{let d=-1;for(;(d=i.data.indexOf($,d+1))!==-1;)a.push({type:7,index:r}),d+=$.length-1}r++}}static createElement(t,e){const n=E.createElement("template");return n.innerHTML=t,n}}function x(s,t,e=s,n){var i,r,o,l;if(t===M)return t;let a=n!==void 0?(i=e._$Co)===null||i===void 0?void 0:i[n]:e._$Cl;const c=H(t)?void 0:t._$litDirective$;return(a==null?void 0:a.constructor)!==c&&((r=a==null?void 0:a._$AO)===null||r===void 0||r.call(a,!1),c===void 0?a=void 0:(a=new c(s),a._$AT(s,e,n)),n!==void 0?((o=(l=e)._$Co)!==null&&o!==void 0?o:l._$Co=[])[n]=a:e._$Cl=a),a!==void 0&&(t=x(s,a._$AS(s,t.values),a,n)),t}class ne{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:n},parts:i}=this._$AD,r=((e=t==null?void 0:t.creationScope)!==null&&e!==void 0?e:E).importNode(n,!0);T.currentNode=r;let o=T.nextNode(),l=0,a=0,c=i[0];for(;c!==void 0;){if(l===c.index){let p;c.type===2?p=new L(o,o.nextSibling,this,t):c.type===1?p=new c.ctor(o,c.name,c.strings,this,t):c.type===6&&(p=new ae(o,this,t)),this._$AV.push(p),c=i[++a]}l!==(c==null?void 0:c.index)&&(o=T.nextNode(),l++)}return T.currentNode=E,r}v(t){let e=0;for(const n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(t,n,e),e+=n.strings.length-2):n._$AI(t[e])),e++}}class L{constructor(t,e,n,i){var r;this.type=2,this._$AH=y,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=n,this.options=i,this._$Cp=(r=i==null?void 0:i.isConnected)===null||r===void 0||r}get _$AU(){var t,e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=x(this,t,e),H(t)?t===y||t==null||t===""?(this._$AH!==y&&this._$AR(),this._$AH=y):t!==this._$AH&&t!==M&&this._(t):t._$litType$!==void 0?this.g(t):t.nodeType!==void 0?this.$(t):Qt(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==y&&H(this._$AH)?this._$AA.nextSibling.data=t:this.$(E.createTextNode(t)),this._$AH=t}g(t){var e;const{values:n,_$litType$:i}=t,r=typeof i=="number"?this._$AC(t):(i.el===void 0&&(i.el=V.createElement(ee(i.h,i.h[0]),this.options)),i);if(((e=this._$AH)===null||e===void 0?void 0:e._$AD)===r)this._$AH.v(n);else{const o=new ne(r,this),l=o.u(this.options);o.v(n),this.$(l),this._$AH=o}}_$AC(t){let e=Nt.get(t.strings);return e===void 0&&Nt.set(t.strings,e=new V(t)),e}T(t){Yt(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let n,i=0;for(const r of t)i===e.length?e.push(n=new L(this.k(k()),this.k(k()),this,this.options)):n=e[i],n._$AI(r),i++;i<e.length&&(this._$AR(n&&n._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){var n;for((n=this._$AP)===null||n===void 0||n.call(this,!1,!0,e);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var e;this._$AM===void 0&&(this._$Cp=t,(e=this._$AP)===null||e===void 0||e.call(this,t))}}class B{constructor(t,e,n,i,r){this.type=1,this._$AH=y,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=r,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=y}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,n,i){const r=this.strings;let o=!1;if(r===void 0)t=x(this,t,e,0),o=!H(t)||t!==this._$AH&&t!==M,o&&(this._$AH=t);else{const l=t;let a,c;for(t=r[0],a=0;a<r.length-1;a++)c=x(this,l[n+a],e,a),c===M&&(c=this._$AH[a]),o||(o=!H(c)||c!==this._$AH[a]),c===y?t=y:t!==y&&(t+=(c!=null?c:"")+r[a+1]),this._$AH[a]=c}o&&!i&&this.j(t)}j(t){t===y?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!=null?t:"")}}class ie extends B{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===y?void 0:t}}const Ms=D?D.emptyScript:"";class re extends B{constructor(){super(...arguments),this.type=4}j(t){t&&t!==y?this.element.setAttribute(this.name,Ms):this.element.removeAttribute(this.name)}}class oe extends B{constructor(t,e,n,i,r){super(t,e,n,i,r),this.type=5}_$AI(t,e=this){var n;if((t=(n=x(this,t,e,0))!==null&&n!==void 0?n:y)===M)return;const i=this._$AH,r=t===y&&i!==y||t.capture!==i.capture||t.once!==i.once||t.passive!==i.passive,o=t!==y&&(i===y||r);r&&this.element.removeEventListener(this.name,this,i),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,n;typeof this._$AH=="function"?this._$AH.call((n=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&n!==void 0?n:this.element,t):this._$AH.handleEvent(t)}}class ae{constructor(t,e,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){x(this,t)}}const xs={O:K,P:$,A:vt,C:1,M:se,L:ne,D:Qt,R:x,I:L,V:B,H:re,N:oe,U:ie,F:ae},Rt=G.litHtmlPolyfillSupport;Rt==null||Rt(V,L),((rt=G.litHtmlVersions)!==null&&rt!==void 0?rt:G.litHtmlVersions=[]).push("2.7.5");const Ds=(s,t,e)=>{var n,i;const r=(n=e==null?void 0:e.renderBefore)!==null&&n!==void 0?n:t;let o=r._$litPart$;if(o===void 0){const l=(i=e==null?void 0:e.renderBefore)!==null&&i!==void 0?i:null;r._$litPart$=o=new L(t.insertBefore(k(),l),l,void 0,e!=null?e:{})}return o._$AI(s),o};/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2017 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
+
*/const le={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Ls=s=>(...t)=>({_$litDirective$:s,values:t});class ce{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}/**
|
|
12
|
+
* @license
|
|
13
|
+
* Copyright 2020 Google LLC
|
|
14
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
15
|
+
*/const{I:Is}=xs,Ot=()=>document.createComment(""),N=(s,t,e)=>{var n;const i=s._$AA.parentNode,r=t===void 0?s._$AB:t._$AA;if(e===void 0){const o=i.insertBefore(Ot(),r),l=i.insertBefore(Ot(),r);e=new Is(o,l,s,s.options)}else{const o=e._$AB.nextSibling,l=e._$AM,a=l!==s;if(a){let c;(n=e._$AQ)===null||n===void 0||n.call(e,s),e._$AM=s,e._$AP!==void 0&&(c=s._$AU)!==l._$AU&&e._$AP(c)}if(o!==r||a){let c=e._$AA;for(;c!==o;){const p=c.nextSibling;i.insertBefore(c,r),c=p}}}return e},S=(s,t,e=s)=>(s._$AI(t,e),s),Ps={},Ns=(s,t=Ps)=>s._$AH=t,Rs=s=>s._$AH,at=s=>{var t;(t=s._$AP)===null||t===void 0||t.call(s,!1,!0);let e=s._$AA;const n=s._$AB.nextSibling;for(;e!==n;){const i=e.nextSibling;e.remove(),e=i}};/**
|
|
16
|
+
* @license
|
|
17
|
+
* Copyright 2017 Google LLC
|
|
18
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
19
|
+
*/const kt=(s,t,e)=>{const n=new Map;for(let i=t;i<=e;i++)n.set(s[i],i);return n},de=Ls(class extends ce{constructor(s){if(super(s),s.type!==le.CHILD)throw Error("repeat() can only be used in text expressions")}dt(s,t,e){let n;e===void 0?e=t:t!==void 0&&(n=t);const i=[],r=[];let o=0;for(const l of s)i[o]=n?n(l,o):o,r[o]=e(l,o),o++;return{values:r,keys:i}}render(s,t,e){return this.dt(s,t,e).values}update(s,[t,e,n]){var i;const r=Rs(s),{values:o,keys:l}=this.dt(t,e,n);if(!Array.isArray(r))return this.ht=l,o;const a=(i=this.ht)!==null&&i!==void 0?i:this.ht=[],c=[];let p,d,u=0,h=r.length-1,f=0,m=o.length-1;for(;u<=h&&f<=m;)if(r[u]===null)u++;else if(r[h]===null)h--;else if(a[u]===l[f])c[f]=S(r[u],o[f]),u++,f++;else if(a[h]===l[m])c[m]=S(r[h],o[m]),h--,m--;else if(a[u]===l[m])c[m]=S(r[u],o[m]),N(s,c[m+1],r[u]),u++,m--;else if(a[h]===l[f])c[f]=S(r[h],o[f]),N(s,r[u],r[h]),h--,f++;else if(p===void 0&&(p=kt(l,f,m),d=kt(a,u,h)),p.has(a[u]))if(p.has(a[h])){const g=d.get(l[f]),U=g!==void 0?r[g]:null;if(U===null){const Y=N(s,r[u]);S(Y,o[f]),c[f]=Y}else c[f]=S(U,o[f]),N(s,r[u],U),r[g]=null;f++}else at(r[h]),h--;else at(r[u]),u++;for(;f<=m;){const g=N(s,c[m+1]);S(g,o[f]),c[f++]=g}for(;u<=h;){const g=r[u++];g!==null&&at(g)}return this.ht=l,Ns(s,c),M}});/**
|
|
20
|
+
* @license
|
|
21
|
+
* Copyright 2018 Google LLC
|
|
22
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
23
|
+
*/const A=s=>s!=null?s:y;/**
|
|
24
|
+
* @license
|
|
25
|
+
* Copyright 2017 Google LLC
|
|
26
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
27
|
+
*/class Ht extends ce{constructor(t){if(super(t),this.et=y,t.type!==le.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===y||t==null)return this.ft=void 0,this.et=t;if(t===M)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.ft;this.et=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}Ht.directiveName="unsafeHTML",Ht.resultType=1;const v=(s,...t)=>{const e=X("LitStatic");return(e?e.html:Es)(s,...t)},F=(s,t,e,n,i)=>{const r=X("OpenUI5Enablement");r&&!n&&(s=r.wrapTemplateResultInBusyMarkup(v,i.host,s)),typeof e=="string"?s=v`<style>${e}</style>${s}`:Array.isArray(e)&&e.length&&(s=v`${e.map(o=>v`<link type="text/css" rel="stylesheet" href="${o}">`)}${s}`),Ds(s,t,i)},Os={tag:"ui5-test-generic",properties:{strProp:{type:String},boolProp:{type:Boolean},objectProp:{type:Object},noAttributeProp:{type:String,noAttribute:!0},multiProp:{type:String,multiple:!0},defaultValueProp:{type:String,defaultValue:"Hello"}},managedSlots:!0,slots:{default:{type:Node},other:{type:HTMLElement},individual:{type:HTMLElement,individualSlots:!0},named:{type:HTMLElement,propertyName:"items"}}};class ue extends w{static get metadata(){return Os}static get render(){return F}static get template(){return t=>v`<div><p>
|
|
28
|
+
<slot></slot>
|
|
29
|
+
<slot name="other"></slot>
|
|
30
|
+
<slot name="individual-1"></slot>
|
|
31
|
+
<slot name="individual-2"></slot>
|
|
32
|
+
</p></div>`}static get styles(){return`:host {
|
|
33
|
+
display: inline-block;
|
|
34
|
+
border: 1px solid black;
|
|
35
|
+
color: var(--var1);
|
|
36
|
+
}`}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}ue.define();const ks={tag:"ui5-test-no-shadow"};class Hs extends w{static get metadata(){return ks}}Hs.define();const Vs={tag:"ui5-test-parent",managedSlots:!0,slots:{default:{type:Node,invalidateOnChildChange:{properties:["prop1"]}},items:{type:HTMLElement,invalidateOnChildChange:{properties:!0}}}};class Bs extends w{static get metadata(){return Vs}static get render(){return F}static get template(){return t=>v`<div>
|
|
37
|
+
<slot></slot>
|
|
38
|
+
</div>`}}Bs.define();const Fs={tag:"ui5-test-child",properties:{prop1:{type:String},prop2:{type:String},prop3:{type:String}}};class Us extends w{static get metadata(){return Fs}static get render(){return F}static get template(){return t=>v`<div></div>`}}Us.define();const js={tag:"ui5-with-static-area",properties:{staticContent:{type:Boolean}},slots:{}};class zs extends w{static get metadata(){return js}static get render(){return F}static get template(){return t=>v`
|
|
39
|
+
<div dir=${t.effectiveDir}>
|
|
40
|
+
WithStaticArea works!
|
|
41
|
+
</div>`}static get staticAreaTemplate(){return t=>v`
|
|
42
|
+
<div class="ui5-with-static-area-content">
|
|
43
|
+
Static area content.
|
|
44
|
+
</div>`}static get styles(){return`
|
|
45
|
+
:host {
|
|
46
|
+
display: inline-block;
|
|
47
|
+
border: 1px solid black;
|
|
48
|
+
color: red;
|
|
49
|
+
}`}async addStaticArea(){if(!this.staticContent)return;const t=await this.getStaticAreaItemDomRef();return this.responsivePopover=t.querySelector(".ui5-with-static-area-content"),this.responsivePopover}onBeforeRendering(){this.addStaticArea()}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}zs.define();function Ws(s,t,e){return v`<div>Root text: ${A(this.text)}${de(this.items,(n,i)=>n._id||i,(n,i)=>qs.call(this,s,t,e,n,i))} Root text: ${A(this.text)}</div>`}function qs(s,t,e,n,i){return v`<h3>Item-${i}</h3>${n.text?Zs.call(this,s,t,e,n,i):void 0}<ul>${de(n.words,(r,o)=>r._id||o,(r,o)=>Gs.call(this,s,t,e,r,o))}</ul>${n.text?Ks.call(this,s,t,e,n,i):void 0}`}function Zs(s,t,e,n,i){return v`<div class="before-each-content--start--${i}">Root text: ${A(this.text)}, Item text: ${A(n.text)}</div>`}function Gs(s,t,e,n,i){return v`<li><h3>Word-${i}</h3><div class="nested-each-content--${i}--0">Root Text: ${A(this.text)}, Word text: ${A(n.text)}</div><div class="nested-each-content--${i}--1">Root Text: ${A(this.text)}, Word text: ${A(n.text)}</div></li>`}function Ks(s,t,e,n,i){return v`<div class="after-each-content--end--${i}">Root text: ${A(this.text)}, Item text: ${A(n.text)}</div>`}class Js extends w{static get metadata(){return{tag:"ui5-test-complex-template"}}static get render(){return F}static get template(){return Ws}get text(){return"root"}get items(){return[{text:"positives",words:[{text:"word1_good"},{text:"word2_nice"},{text:"word3_kind"}]},{text:"negatives",words:[{text:"word4_bad"},{text:"word5_rude"},{text:"word6_unpolite"}]}]}}Js.define();const Xs={tag:"ui5-test-generic-ext",properties:{extProp:{type:String},strProp:{defaultValue:"Ext"}},slots:{extSlot:{type:HTMLElement}}};class Ys extends ue{static get metadata(){return Xs}}Ys.define();const Qs={content:":root{ --var1: red; }",packageName:"",fileName:""},tn={content:":root{ --var1: green; }",packageName:"",fileName:""},en={content:":root{ --var1: blue; }",packageName:"",fileName:""},sn={content:":root{ --var1: orange; }",packageName:"",fileName:""},nn={content:":root{ --var1: orange; }",packageName:"",fileName:""},rn={content:":root{ --var1: yellow; }",packageName:"",fileName:""},on={content:":root{ --var1: yellow; }",packageName:"",fileName:""};C("@ui5/webcomponents-base-test","sap_fiori_3",()=>Qs);C("@ui5/webcomponents-base-test","sap_fiori_3_dark",()=>tn);C("@ui5/webcomponents-base-test","sap_belize",()=>en);C("@ui5/webcomponents-base-test","sap_belize_hcb",()=>sn);C("@ui5/webcomponents-base-test","sap_belize_hcw",()=>nn);C("@ui5/webcomponents-base-test","sap_fiori_3_hcb",()=>rn);C("@ui5/webcomponents-base-test","sap_fiori_3_hcw",()=>on);const an=typeof window.chrome=="object"||typeof window.v8=="object"?(s,t)=>(t>2&&40*t>s.length,s):s=>s,ln=/(?:\r\n|\r|\n|^)[ \t\f]*/,cn=/(\\u[0-9a-fA-F]{0,4})|(\\.)|(\\$)|([ \t\f]*[ \t\f:=][ \t\f]*)/g,dn=/(\\u[0-9a-fA-F]{0,4})|(\\.)|(\\$)/g,un={"\\f":"\f","\\n":`
|
|
50
|
+
`,"\\r":"\r","\\t":" "},hn=s=>{const t={},e=s.split(ln);let n,i,r,o,l,a,c,p;const d=u=>{o?(o=`${o}${u}`,p++):(o=u,p=0)};for(l=0;l<e.length;l++)if(n=e[l],!(n===""||n.charAt(0)==="#"||n.charAt(0)==="!")){for(i=cn,c=0,i.lastIndex=c,r=null,o="",a=i.exec(n);a!==null;){if(c<a.index&&d(n.slice(c,a.index)),c=i.lastIndex,a[1]){if(a[1].length!==6)throw new Error(`Incomplete Unicode Escape '${a[1]}'`);d(String.fromCharCode(parseInt(a[1].slice(2),16)))}else a[2]?d(un[a[2]]||a[2].slice(1)):a[3]?(n=e[++l],c=0,i.lastIndex=c):a[4]&&(r=o,o="",i=dn,i.lastIndex=c);a=i.exec(n)}c<n.length&&d(n.slice(c)),r==null&&(r=o,o=""),t[r]=an(o,o?p:0)}return t};let lt;const pn=()=>(lt===void 0&&(lt=Le()),lt);var gt;(function(s){s.Gregorian="Gregorian",s.Islamic="Islamic",s.Japanese="Japanese",s.Buddhist="Buddhist",s.Persian="Persian"})(gt||(gt={}));const Vt=gt;let R;const fn=()=>(R===void 0&&(R=Ie()),R&&R in Vt?R:Vt.Gregorian);let ct;class he{static getLegacyDateCalendarCustomizing(){return ct===void 0&&(ct=zt()),ct.legacyDateCalendarCustomizing||[]}}Bt("LegacyDateFormats",he);let dt;const gn=()=>(dt===void 0&&(dt=zt()),dt.firstDayOfWeek),mn=X("LegacyDateFormats"),yn=mn?he.getLegacyDateCalendarCustomizing:()=>[],_n=new J,vn="directionChange",An=()=>_n.fireEvent(vn,void 0),$n=async()=>{const s=An();await Promise.all(s),await Ft({rtlAware:!0})};window.registerThemePropertiesLoader=C;window["sap-ui-webcomponents-bundle"]={configuration:{getAnimationMode:pn,getLanguage:Ut,setLanguage:Pe,getTheme:Ne,getThemeRoot:Re,setThemeRoot:Oe,setTheme:ut,getNoConflict:_t,setNoConflict:As,getCalendarType:fn,getRTL:Jt,getFirstDayOfWeek:gn,getLegacyDateCalendarCustomizing:yn},getCurrentRuntimeIndex:ke,getIconNames:He,parseProperties:hn,registerI18nLoader:Ve,getI18nBundle:ze,renderFinished:jt,applyDirection:$n,EventProvider:J};
|