@ui5/webcomponents-base 0.0.0-6ef02a35f → 0.0.0-701b14e36
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/.eslintignore +3 -2
- package/CHANGELOG.md +199 -0
- package/README.md +26 -2
- package/bundle.esm.js +6 -2
- package/dist/Boot.js +34 -18
- package/dist/CSP.js +59 -0
- package/dist/CustomElementsRegistry.js +60 -4
- package/dist/CustomElementsScope.js +20 -98
- package/dist/CustomElementsScopeUtils.js +108 -0
- package/dist/Device.js +20 -1
- package/dist/EventProvider.js +19 -25
- package/dist/FeaturesRegistry.js +4 -1
- package/dist/FontFace.js +7 -95
- package/dist/InitialConfiguration.js +11 -7
- package/dist/Keys.js +56 -0
- package/dist/ManagedStyles.js +83 -0
- package/dist/Render.js +3 -1
- package/dist/Runtimes.js +107 -0
- package/dist/StaticAreaItem.js +15 -10
- package/dist/SystemCSSVars.js +4 -25
- package/dist/UI5Element.js +59 -60
- package/dist/UI5ElementMetadata.js +18 -2
- package/dist/asset-registries/Icons.js +22 -8
- package/dist/asset-registries/Illustrations.js +10 -3
- package/dist/asset-registries/LocaleData.js +17 -3
- package/dist/asset-registries/Themes.js +6 -2
- package/dist/assets-meta/IconCollectionsAlias.js +18 -0
- package/dist/config/Icons.js +52 -0
- package/dist/config/Theme.js +25 -0
- package/dist/css/BusyIndicator.css +76 -0
- package/dist/css/FontFace.css +75 -0
- package/dist/css/OverrideFontFace.css +32 -0
- package/dist/css/SystemCSSVars.css +17 -0
- package/dist/delegate/ItemNavigation.js +66 -0
- package/dist/features/F6Navigation.js +106 -0
- package/dist/features/OpenUI5Enablement.js +119 -0
- package/dist/generated/AssetParameters.js +1 -1
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.js +5 -0
- package/dist/generated/css/FontFace.css.js +5 -0
- package/dist/generated/css/OverrideFontFace.css.js +5 -0
- package/dist/generated/css/SystemCSSVars.css.js +5 -0
- package/dist/i18nBundle.js +33 -2
- package/dist/renderer/LitRenderer.js +33 -12
- package/dist/renderer/directives/style-map.js +72 -0
- package/dist/renderer/executeTemplate.js +19 -2
- package/dist/resources/bundle.esm.js +15 -9
- package/dist/resources/bundle.esm.js.map +1 -1
- package/dist/sap/base/Log.js +2 -10
- package/dist/sap/base/assert.js +1 -5
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/dist/test-resources/elements/WithStaticArea.js +2 -1
- package/dist/test-resources/pages/AllTestElements.html +3 -0
- package/dist/test-resources/pages/i18n.html +1 -3
- package/dist/test-resources/specs/ConfigurationChange.spec.js +9 -9
- package/dist/test-resources/specs/ConfigurationScript.spec.js +24 -24
- package/dist/test-resources/specs/ConfigurationURL.spec.js +33 -33
- package/dist/test-resources/specs/CustomTheme.spec.js +7 -7
- package/dist/test-resources/specs/EventProvider.spec.js +63 -0
- package/dist/test-resources/specs/StaticArea.spec.js +55 -13
- package/dist/test-resources/specs/Theming.spec.js +22 -11
- package/dist/test-resources/specs/UI5ElementInvalidation.js +29 -29
- package/dist/test-resources/specs/UI5ElementLifecycle.js +11 -11
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +11 -11
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +8 -8
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +6 -6
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +36 -36
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +9 -9
- package/dist/test-resources/specs/UI5ElementSlots.js +9 -9
- package/dist/theming/CustomStyle.js +23 -3
- package/dist/theming/applyTheme.js +11 -10
- package/dist/theming/getEffectiveLinksHrefs.js +27 -0
- package/dist/theming/getEffectiveStyle.js +9 -0
- package/dist/theming/getStylesString.js +4 -2
- package/dist/theming/getThemeDesignerTheme.js +25 -5
- package/dist/theming/preloadLinks.js +23 -0
- package/dist/types/DataType.js +12 -0
- package/dist/types/Float.js +4 -0
- package/dist/types/Integer.js +4 -0
- package/dist/updateShadowRoot.js +8 -4
- package/dist/util/FocusableElements.js +8 -6
- package/dist/util/InvisibleMessage.js +11 -9
- package/dist/util/TabbableElements.js +4 -0
- package/dist/util/createLinkInHead.js +19 -0
- package/dist/util/escapeRegex.js +10 -0
- package/dist/util/generateHighlightedMarkup.js +42 -0
- package/dist/util/getNormalizedTarget.js +16 -0
- package/dist/util/isNodeHidden.js +1 -1
- package/lib/generate-asset-parameters/index.js +8 -5
- package/lib/generate-styles/index.js +26 -0
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.js +12 -16
- package/package.json +10 -12
- package/src/Boot.js +34 -18
- package/src/CSP.js +59 -0
- package/src/CustomElementsRegistry.js +60 -4
- package/src/CustomElementsScope.js +20 -98
- package/src/CustomElementsScopeUtils.js +108 -0
- package/src/Device.js +20 -1
- package/src/EventProvider.js +19 -25
- package/src/FeaturesRegistry.js +4 -1
- package/src/FontFace.js +7 -95
- package/src/InitialConfiguration.js +11 -7
- package/src/Keys.js +56 -0
- package/src/ManagedStyles.js +83 -0
- package/src/Render.js +3 -1
- package/src/Runtimes.js +107 -0
- package/src/StaticAreaItem.js +15 -10
- package/src/SystemCSSVars.js +4 -25
- package/src/UI5Element.js +59 -60
- package/src/UI5ElementMetadata.js +18 -2
- package/src/asset-registries/Icons.js +22 -8
- package/src/asset-registries/Illustrations.js +10 -3
- package/src/asset-registries/LocaleData.js +17 -3
- package/src/asset-registries/Themes.js +6 -2
- package/src/assets-meta/IconCollectionsAlias.js +18 -0
- package/src/config/Icons.js +52 -0
- package/src/config/Theme.js +25 -0
- package/src/css/BusyIndicator.css +76 -0
- package/src/css/FontFace.css +75 -0
- package/src/css/OverrideFontFace.css +32 -0
- package/src/css/SystemCSSVars.css +17 -0
- package/src/delegate/ItemNavigation.js +66 -0
- package/src/features/F6Navigation.js +106 -0
- package/src/features/OpenUI5Enablement.js +119 -0
- package/src/i18nBundle.js +33 -2
- package/src/renderer/LitRenderer.js +33 -12
- package/src/renderer/directives/style-map.js +72 -0
- package/src/renderer/executeTemplate.js +19 -2
- package/src/theming/CustomStyle.js +23 -3
- package/src/theming/applyTheme.js +11 -10
- package/src/theming/getEffectiveLinksHrefs.js +27 -0
- package/src/theming/getEffectiveStyle.js +9 -0
- package/src/theming/getStylesString.js +4 -2
- package/src/theming/getThemeDesignerTheme.js +25 -5
- package/src/theming/preloadLinks.js +23 -0
- package/src/types/DataType.js +12 -0
- package/src/types/Float.js +4 -0
- package/src/types/Integer.js +4 -0
- package/src/updateShadowRoot.js +8 -4
- package/src/util/FocusableElements.js +8 -6
- package/src/util/InvisibleMessage.js +11 -9
- package/src/util/TabbableElements.js +4 -0
- package/src/util/createLinkInHead.js +19 -0
- package/src/util/escapeRegex.js +10 -0
- package/src/util/generateHighlightedMarkup.js +42 -0
- package/src/util/getNormalizedTarget.js +16 -0
- package/src/util/isNodeHidden.js +1 -1
- package/used-modules.txt +4 -1
- package/dist/config/AssetsPath.js +0 -17
- package/dist/theming/createThemePropertiesStyleTag.js +0 -20
- package/dist/util/encodeCSS.js +0 -24
- package/hash.txt +0 -1
- package/src/config/AssetsPath.js +0 -17
- package/src/theming/createThemePropertiesStyleTag.js +0 -20
- package/src/util/encodeCSS.js +0 -24
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
packageName: "@ui5/webcomponents-base",
|
|
3
|
+
fileName: "SystemCSSVars.css",
|
|
4
|
+
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}`
|
|
5
|
+
};
|
package/dist/i18nBundle.js
CHANGED
|
@@ -3,6 +3,8 @@ import formatMessage from "./util/formatMessage.js";
|
|
|
3
3
|
|
|
4
4
|
const I18nBundleInstances = new Map();
|
|
5
5
|
|
|
6
|
+
let customGetI18nBundle;
|
|
7
|
+
|
|
6
8
|
/**
|
|
7
9
|
* @class
|
|
8
10
|
* @public
|
|
@@ -15,6 +17,7 @@ class I18nBundle {
|
|
|
15
17
|
/**
|
|
16
18
|
* Returns a text in the currently loaded language
|
|
17
19
|
*
|
|
20
|
+
* @public
|
|
18
21
|
* @param {Object|String} textObj key/defaultText pair or just the key
|
|
19
22
|
* @param params Values for the placeholders
|
|
20
23
|
* @returns {*}
|
|
@@ -38,7 +41,7 @@ class I18nBundle {
|
|
|
38
41
|
}
|
|
39
42
|
}
|
|
40
43
|
|
|
41
|
-
const
|
|
44
|
+
const getI18nBundleSync = packageName => {
|
|
42
45
|
if (I18nBundleInstances.has(packageName)) {
|
|
43
46
|
return I18nBundleInstances.get(packageName);
|
|
44
47
|
}
|
|
@@ -48,8 +51,36 @@ const getI18nBundle = packageName => {
|
|
|
48
51
|
return i18nBundle;
|
|
49
52
|
};
|
|
50
53
|
|
|
54
|
+
/**
|
|
55
|
+
* Allows developers to provide a custom getI18nBundle implementation
|
|
56
|
+
* If this function is called, the custom implementation will be used for all components and will completely
|
|
57
|
+
* replace the default implementation.
|
|
58
|
+
*
|
|
59
|
+
* @public
|
|
60
|
+
* @param customGet the function to use instead of the standard getI18nBundle implementation
|
|
61
|
+
*/
|
|
62
|
+
const registerCustomI18nBundleGetter = customGet => {
|
|
63
|
+
customGetI18nBundle = customGet;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Fetches and returns the I18nBundle instance for the given package
|
|
68
|
+
*
|
|
69
|
+
* @public
|
|
70
|
+
* @param packageName
|
|
71
|
+
* @returns {Promise<I18nBundle>}
|
|
72
|
+
*/
|
|
73
|
+
const getI18nBundle = async packageName => {
|
|
74
|
+
if (customGetI18nBundle) {
|
|
75
|
+
return customGetI18nBundle(packageName);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
await fetchI18nBundle(packageName);
|
|
79
|
+
return getI18nBundleSync(packageName);
|
|
80
|
+
};
|
|
81
|
+
|
|
51
82
|
export {
|
|
52
83
|
registerI18nLoader,
|
|
53
|
-
fetchI18nBundle,
|
|
54
84
|
getI18nBundle,
|
|
85
|
+
registerCustomI18nBundleGetter,
|
|
55
86
|
};
|
|
@@ -1,31 +1,52 @@
|
|
|
1
|
-
import { render } from "lit-html";
|
|
2
1
|
import {
|
|
2
|
+
render,
|
|
3
3
|
html,
|
|
4
4
|
svg,
|
|
5
|
-
|
|
6
|
-
} from "
|
|
5
|
+
} from "lit-html";
|
|
6
|
+
import { getFeature } from "../FeaturesRegistry.js";
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const effectiveHtml = (...args) => {
|
|
9
|
+
const LitStatic = getFeature("LitStatic");
|
|
10
|
+
const fn = LitStatic ? LitStatic.html : html;
|
|
11
|
+
return fn(...args);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const effectiveSvg = (...args) => {
|
|
15
|
+
const LitStatic = getFeature("LitStatic");
|
|
16
|
+
const fn = LitStatic ? LitStatic.svg : svg;
|
|
17
|
+
return fn(...args);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const litRender = (templateResult, domNode, styleStrOrHrefsArr, forStaticArea, { host } = {}) => {
|
|
21
|
+
const OpenUI5Enablement = getFeature("OpenUI5Enablement");
|
|
22
|
+
if (OpenUI5Enablement && !forStaticArea) {
|
|
23
|
+
templateResult = OpenUI5Enablement.wrapTemplateResultInBusyMarkup(effectiveHtml, host, templateResult);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (typeof styleStrOrHrefsArr === "string") {
|
|
27
|
+
templateResult = effectiveHtml`<style>${styleStrOrHrefsArr}</style>${templateResult}`;
|
|
28
|
+
} else if (Array.isArray(styleStrOrHrefsArr) && styleStrOrHrefsArr.length) {
|
|
29
|
+
templateResult = effectiveHtml`${styleStrOrHrefsArr.map(href => effectiveHtml`<link type="text/css" rel="stylesheet" href="${href}">`)}${templateResult}`;
|
|
11
30
|
}
|
|
12
31
|
render(templateResult, domNode, { host });
|
|
13
32
|
};
|
|
14
33
|
|
|
15
34
|
const scopeTag = (tag, tags, suffix) => {
|
|
16
|
-
const
|
|
17
|
-
|
|
35
|
+
const LitStatic = getFeature("LitStatic");
|
|
36
|
+
if (LitStatic) {
|
|
37
|
+
return LitStatic.unsafeStatic((tags || []).includes(tag) ? `${tag}-${suffix}` : tag);
|
|
38
|
+
}
|
|
18
39
|
};
|
|
19
40
|
|
|
20
41
|
export {
|
|
21
|
-
html,
|
|
22
|
-
svg,
|
|
23
|
-
unsafeStatic,
|
|
42
|
+
effectiveHtml as html,
|
|
43
|
+
effectiveSvg as svg,
|
|
24
44
|
};
|
|
25
45
|
export { scopeTag };
|
|
26
46
|
export { repeat } from "lit-html/directives/repeat.js";
|
|
27
47
|
export { classMap } from "lit-html/directives/class-map.js";
|
|
28
|
-
export { styleMap } from "
|
|
48
|
+
export { styleMap } from "./directives/style-map.js";
|
|
49
|
+
export { ifDefined } from "lit-html/directives/if-defined.js";
|
|
29
50
|
export { unsafeHTML } from "lit-html/directives/unsafe-html.js";
|
|
30
51
|
|
|
31
52
|
export default litRender;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* This is the original style-map.js directive from lit-html 2 with the only difference that "render" is not called even for the first rendering (update is used instead)
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { noChange } from 'lit-html';
|
|
12
|
+
import { directive, Directive, PartType, } from 'lit-html/directive.js';
|
|
13
|
+
class StyleMapDirective extends Directive {
|
|
14
|
+
constructor(partInfo) {
|
|
15
|
+
var _a;
|
|
16
|
+
super(partInfo);
|
|
17
|
+
if (partInfo.type !== PartType.ATTRIBUTE ||
|
|
18
|
+
partInfo.name !== 'style' ||
|
|
19
|
+
((_a = partInfo.strings) === null || _a === void 0 ? void 0 : _a.length) > 2) {
|
|
20
|
+
throw new Error('The `styleMap` directive must be used in the `style` attribute ' +
|
|
21
|
+
'and must be the only part in the attribute.');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
render(styleInfo) {
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
27
|
+
update(part, [styleInfo]) {
|
|
28
|
+
const { style } = part.element;
|
|
29
|
+
if (this._previousStyleProperties === undefined) {
|
|
30
|
+
this._previousStyleProperties = new Set();
|
|
31
|
+
for (const name in styleInfo) {
|
|
32
|
+
this._previousStyleProperties.add(name);
|
|
33
|
+
}
|
|
34
|
+
// return this.render(styleInfo);
|
|
35
|
+
}
|
|
36
|
+
// Remove old properties that no longer exist in styleInfo
|
|
37
|
+
// We use forEach() instead of for-of so that re don't require down-level
|
|
38
|
+
// iteration.
|
|
39
|
+
this._previousStyleProperties.forEach((name) => {
|
|
40
|
+
// If the name isn't in styleInfo or it's null/undefined
|
|
41
|
+
if (styleInfo[name] == null) {
|
|
42
|
+
this._previousStyleProperties.delete(name);
|
|
43
|
+
if (name.includes('-')) {
|
|
44
|
+
style.removeProperty(name);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Note reset using empty string (vs null) as IE11 does not always
|
|
48
|
+
// reset via null (https://developer.mozilla.org/en-US/docs/Web/API/ElementCSSInlineStyle/style#setting_styles)
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
+
style[name] = '';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
// Add or update properties
|
|
55
|
+
for (const name in styleInfo) {
|
|
56
|
+
const value = styleInfo[name];
|
|
57
|
+
if (value != null) {
|
|
58
|
+
this._previousStyleProperties.add(name);
|
|
59
|
+
if (name.includes('-')) {
|
|
60
|
+
style.setProperty(name, value);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
|
+
style[name] = value;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return noChange;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export const styleMap = directive(StyleMapDirective);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../
|
|
1
|
+
import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../CustomElementsScopeUtils.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Runs a component's template with the component's current state, while also scoping HTML
|
|
@@ -9,9 +9,26 @@ import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../Cus
|
|
|
9
9
|
* @returns {*}
|
|
10
10
|
*/
|
|
11
11
|
const executeTemplate = (template, component) => {
|
|
12
|
-
const tagsToScope = component
|
|
12
|
+
const tagsToScope = getTagsToScope(component);
|
|
13
13
|
const scope = getCustomElementsScopingSuffix();
|
|
14
14
|
return template(component, tagsToScope, scope);
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Returns all tags, used inside component's template subject to scoping.
|
|
19
|
+
* @param component - the component
|
|
20
|
+
* @returns {Array[]}
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
const getTagsToScope = component => {
|
|
24
|
+
const componentTag = component.constructor.getMetadata().getPureTag();
|
|
25
|
+
const tagsToScope = component.constructor.getUniqueDependencies().map(dep => dep.getMetadata().getPureTag()).filter(shouldScopeCustomElement);
|
|
26
|
+
|
|
27
|
+
if (shouldScopeCustomElement(componentTag)) {
|
|
28
|
+
tagsToScope.push(componentTag);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return tagsToScope;
|
|
32
|
+
};
|
|
33
|
+
|
|
17
34
|
export default executeTemplate;
|
|
@@ -1,26 +1,32 @@
|
|
|
1
|
-
const t={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","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]},e={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"]}.default,s={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"]}.default,n=t.default,i=t.all;var a=()=>{const t=navigator.languages;return t&&t[0]||navigator.language||navigator.userLanguage||navigator.browserLanguage||s},r={},o=r.hasOwnProperty,l=r.toString,c=o.toString,h=c.call(Object),d=function(t){var e,s;return!(!t||"[object Object]"!==l.call(t))&&(!(e=Object.getPrototypeOf(t))||"function"==typeof(s=o.call(e,"constructor")&&e.constructor)&&c.call(s)===h)},u=Object.create(null),p=function(){var t,e,s,n,i,a,r=arguments[2]||{},o=3,l=arguments.length,c=arguments[0]||!1,h=arguments[1]?void 0:u;for("object"!=typeof r&&"function"!=typeof r&&(r={});o<l;o++)if(null!=(i=arguments[o]))for(n in i)t=r[n],s=i[n],"__proto__"!==n&&r!==s&&(c&&s&&(d(s)||(e=Array.isArray(s)))?(e?(e=!1,a=t&&Array.isArray(t)?t:[]):a=t&&d(t)?t:{},r[n]=p(c,arguments[1],a,s)):s!==h&&(r[n]=s));return r},g=function(){var t=[!0,!1];return t.push.apply(t,arguments),p.apply(null,t)};const f=new Map,m=t=>f.get(t);let y=!1,v={animationMode:"full",theme:e,rtl:null,language:null,calendarType:null,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1,assetsPath:""};const w=new Map;w.set("true",!0),w.set("false",!1);const _=(t,e,s)=>{const n=e.toLowerCase(),i=t.split(`${s}-`)[1];w.has(e)&&(e=w.get(n)),v[i]=e},b=()=>{y||((()=>{const t=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let e;if(t){try{e=JSON.parse(t.innerHTML)}catch(t){console.warn("Incorrect data-sap-ui-config format. Please use JSON")}e&&(v=g(v,e))}})(),(()=>{const t=new URLSearchParams(window.location.search);t.forEach(((t,e)=>{const s=e.split("sap-").length;0!==s&&s!==e.split("sap-ui-").length&&_(e,t,"sap")})),t.forEach(((t,e)=>{e.startsWith("sap-ui")&&_(e,t,"sap-ui")}))})(),(()=>{const t=m("OpenUI5Support");if(!t||!t.isLoaded())return;const e=t.getConfigurationSettingsObject();v=g(v,e)})(),y=!0)};class S{constructor(){this._eventRegistry={}}attachEvent(t,e){const s=this._eventRegistry;let n=s[t];Array.isArray(n)||(s[t]=[],n=s[t]),n.push({function:e})}detachEvent(t,e){const s=this._eventRegistry;let n=s[t];n&&(n=n.filter((t=>t.function!==e)),0===n.length&&delete s[t])}fireEvent(t,e){const s=this._eventRegistry[t];return s?s.map((t=>t.function.call(this,e))):[]}fireEventAsync(t,e){return Promise.all(this.fireEvent(t,e))}isHandlerAttached(t,e){const s=this._eventRegistry[t];if(!s)return!1;for(let t=0;t<s.length;t++){if(s[t].function===e)return!0}return!1}hasListeners(t){return!!this._eventRegistry[t]}}const A=new S,C=t=>{A.attachEvent("languageChange",t)};const E=t=>{const e=[];return t.forEach((t=>{e.push(t)})),e},M=new Set,$=new Set;let O;const x=t=>{M.add(t)},P=()=>{console.warn(`The following tags have already been defined by a different UI5 Web Components version: ${E($).join(", ")}`),$.clear()},L=new Set,T=new Set,I=new S,D=new class{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((e=>e!==t)),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return 0===this.list.length}isAdded(t){return this.lookup.has(t)}process(t){let e;const s=new Map;for(e=this.shift();e;){const n=s.get(e)||0;if(n>10)throw new Error("Web component processed too many times this task, max allowed is: 10");t(e),s.set(e,n+1),e=this.shift()}}};let R,k,N,j;const H=t=>{I.fireEvent("beforeComponentRender",t),T.add(t),t._render()},U=async()=>{j||(j=new Promise((t=>{window.requestAnimationFrame((()=>{D.process(H),j=null,t(),N||(N=setTimeout((()=>{N=void 0,D.isEmpty()&&Z()}),200))}))}))),await j},V=()=>{const t=E(M).map((t=>customElements.whenDefined(t)));return Promise.all(t)},B=async()=>{await V(),await(R||(R=new Promise((t=>{k=t,window.requestAnimationFrame((()=>{D.isEmpty()&&(R=void 0,t())}))})),R))},Z=()=>{D.isEmpty()&&k&&(k(),k=void 0,R=void 0)};let W,z;const q=()=>(void 0===W&&(b(),W=v.language),W),F=()=>{var t;return void 0===z&&(b(),t=v.fetchDefaultLanguage,z=t),z},G=/^((?:[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 J{constructor(t){const e=G.exec(t.replace(/_/g,"-"));if(null===e)throw new Error(`The given language ${t} does not adhere to BCP-47.`);this.sLocaleId=t,this.sLanguage=e[1]||null,this.sScript=e[2]||null,this.sRegion=e[3]||null,this.sVariant=e[4]&&e[4].slice(1)||null,this.sExtension=e[5]&&e[5].slice(1)||null,this.sPrivateUse=e[6]||null,this.sLanguage&&(this.sLanguage=this.sLanguage.toLowerCase()),this.sScript&&(this.sScript=this.sScript.toLowerCase().replace(/^[a-z]/,(t=>t.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 K=new Map,Y=t=>(K.has(t)||K.set(t,new J(t)),K.get(t)),X=t=>{try{if(t&&"string"==typeof t)return Y(t)}catch(t){}},Q=t=>t?X(t):q()?Y(q()):X(a()),tt=/^((?:[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,et=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,st={he:"iw",yi:"ji",id:"in",sr:"sh"},nt=t=>{if(!t)return n;if("zh_HK"===t)return"zh_TW";const e=t.lastIndexOf("_");return e>=0?t.slice(0,e):t!==n?n:""},it=new Set,at=new Set,rt=new Map,ot=new Map,lt=new Map,ct=(t,e)=>{rt.set(t,e)},ht=(t,e)=>{const s=`${t}/${e}`;return lt.has(s)},dt=async t=>{const e=Q().getLanguage(),i=Q().getRegion();let a=(t=>{let e;if(!t)return n;if("string"==typeof t&&(e=tt.exec(t.replace(/_/g,"-")))){let t=e[1].toLowerCase(),s=e[3]?e[3].toUpperCase():void 0;const n=e[2]?e[2].toLowerCase():void 0,i=e[4]?e[4].slice(1):void 0,a=e[6];return t=st[t]||t,a&&(e=et.exec(a))||i&&(e=et.exec(i))?`en_US_${e[1].toLowerCase()}`:("zh"!==t||s||("hans"===n?s="CN":"hant"===n&&(s="TW")),t+(s?"_"+s+(i?"_"+i.replace("-","_"):""):""))}})(e+(i?`-${i}`:""));for(;a!==s&&!ht(t,a);)a=nt(a);const r=F();if(a!==s||r)if(ht(t,a))try{const e=await((t,e)=>{const s=`${t}/${e}`,n=lt.get(s);return ot.get(s)||ot.set(s,n(e)),ot.get(s)})(t,a);ct(t,e)}catch(t){at.has(t.message)||(at.add(t.message),console.error(t.message))}else(t=>{it.has(t)||(console.warn(`[${t}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${t}/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.`),it.add(t))})(t);else ct(t,null)};C((()=>{const t=[...rt.keys()];return Promise.all(t.map(dt))}));const ut=new Map,pt=new Map,gt=new Map,ft=new Set;let mt=!1;const yt={iw:"he",ji:"yi",in:"id",sh:"sr"},vt=t=>{mt||(console.warn(`[LocaleData] Supported locale "${t}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),mt=!0)},wt=(t,e)=>{ut.set(t,e)},_t=async(t,e,s)=>{const a=((t,e,s)=>{"no"===(t=t&&yt[t]||t)&&(t="nb"),"zh"!==t||e||("Hans"===s?e="CN":"Hant"===s&&(e="TW"));let a=`${t}_${e}`;return i.includes(a)?pt.has(a)?a:(vt(a),n):(a=t,i.includes(a)?pt.has(a)?a:(vt(a),n):n)})(t,e,s),r=m("OpenUI5Support");if(r){const t=r.getLocaleDataObject();if(t)return void wt(a,t)}try{const t=await(t=>{const e=pt.get(t);return gt.get(t)||gt.set(t,e(t)),gt.get(t)})(a);wt(a,t)}catch(t){ft.has(t.message)||(ft.add(t.message),console.error(t.message))}};var bt,St;bt="en",St=async t=>(await fetch("https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/en.json")).json(),pt.set(bt,St),C((()=>{const t=Q();return _t(t.getLanguage(),t.getRegion(),t.getScript())}));const At=new Map,Ct=new Map,Et=new Set,Mt=new Set,$t=(t,e,s)=>{Ct.set(`${t}/${e}`,s),Et.add(t),Mt.add(e)},Ot=async(t,s)=>{const n=At.get(`${t}_${s}`);if(void 0!==n)return n;if(!Mt.has(s)){const s=[...Mt.values()].join(", ");return console.warn(`You have requested a non-registered theme - falling back to ${e}. Registered themes are: ${s}`),At.get(`${t}_${e}`)}const i=Ct.get(`${t}/${s}`);if(!i)return void console.error(`Theme [${s}] not registered for package [${t}]`);let a;try{a=await i(s)}catch(e){return void console.error(t,e.message)}const r=a._||a;return At.set(`${t}_${s}`,r),r},xt=()=>Et,Pt=(t,e=document.body)=>{let s=document.querySelector(t);return s||(s=document.createElement(t),e.insertBefore(s,e.firstChild))},Lt=(t,e)=>{const s=t.split(".");let n=Pt("ui5-shared-resources",document.head);for(let t=0;t<s.length;t++){const i=s[t],a=t===s.length-1;Object.prototype.hasOwnProperty.call(n,i)||(n[i]=a?e:{}),n=n[i]}return n},Tt=new Map,It=Lt("SVGIcons.registry",new Map),Dt=Lt("SVGIcons.promises",new Map),Rt=(t,{pathData:e,ltr:s,accData:n,collection:i,packageName:a}={})=>{i||(i="SAP-icons");const r=`${i}/${t}`;It.set(r,{pathData:e,ltr:s,accData:n,packageName:a})},kt=async t=>{const{collection:e,registryKey:s}=(t=>{let e;return t.startsWith("sap-icon://")&&(t=t.replace("sap-icon://","")),[t,e]=t.split("/").reverse(),e=e||"SAP-icons","SAP-icons-TNT"===e&&(e="tnt"),{name:t,collection:e,registryKey:`${e}/${t}`}})(t);let n="ICON_NOT_FOUND";try{n=await(async t=>{if(!Dt.has(t)){if(!Tt.has(t))throw new Error(`No loader registered for the ${t} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const e=Tt.get(t);Dt.set(t,e(t))}return Dt.get(t)})(e)}catch(t){console.error(t.message)}return"ICON_NOT_FOUND"===n?n:(It.has(s)||(t=>{Object.keys(t.data).forEach((e=>{const s=t.data[e];Rt(e,{pathData:s.path,ltr:s.ltr,accData:s.acc,collection:t.collection,packageName:t.packageName})}))})(n),It.get(s))},Nt=(t,e={})=>{const s=document.createElement("style");return s.type="text/css",Object.entries(e).forEach((t=>s.setAttribute(...t))),s.textContent=t,document.head.appendChild(s),s},jt=(t,e)=>{const s=document.head.querySelector(`style[data-ui5-theme-properties="${e}"]`);if(s)s.textContent=t||"";else{Nt(t,{"data-ui5-theme-properties":e})}},Ht=()=>{const t=(()=>{let t=document.querySelector(".sapThemeMetaData-Base-baseLib");if(t)return getComputedStyle(t).backgroundImage;t=document.createElement("span"),t.style.display="none",t.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(t);const e=getComputedStyle(t).backgroundImage;return document.body.removeChild(t),e})();if(!t||"none"===t)return;return(t=>{let e,s;try{e=t.Path.match(/\.([^.]+)\.css_variables$/)[1],s=t.Extends[0]}catch(e){return void console.warn("Malformed theme metadata Object",t)}return{themeName:e,baseThemeName:s}})((t=>{const e=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(t);if(e&&e.length>=2){let t=e[1];if(t=t.replace(/\\"/g,'"'),"{"!==t.charAt(0)&&"}"!==t.charAt(t.length-1))try{t=decodeURIComponent(t)}catch(t){return void console.warn("Malformed theme metadata string, unable to decodeURIComponent")}try{return JSON.parse(t)}catch(t){console.warn("Malformed theme metadata string, unable to parse JSON")}}})(t))},Ut=new S,Vt="@ui5/webcomponents-theme-base",Bt=async t=>{if(!xt().has(Vt))return;const e=await Ot(Vt,t);jt(e,Vt)},Zt=async t=>{const e=(()=>{const t=Ht();if(t)return t;const e=m("OpenUI5Support");if(e&&e.cssVariablesLoaded())return{themeName:e.getConfigurationSettingsObject().theme}})();e&&t===e.themeName?(()=>{const t=document.head.querySelector(`style[data-ui5-theme-properties="${Vt}"]`);t&&t.parentElement.removeChild(t)})():await Bt(t);const s=(t=>Mt.has(t))(t)?t:e&&e.baseThemeName;await(async t=>{xt().forEach((async e=>{if(e===Vt)return;const s=await Ot(e,t);jt(s,e)}))})(s),(t=>{Ut.fireEvent("themeLoaded",t)})(t)};let Wt;const zt=()=>(void 0===Wt&&(b(),Wt=v.theme),Wt),qt=async t=>{Wt!==t&&(Wt=t,await Zt(Wt))},Ft=Lt("PopupUtilsData",{});Ft.currentZIndex=Ft.currentZIndex||100;const Gt=()=>Ft.currentZIndex,Jt=()=>{const t=window.sap;return t&&t.ui&&"function"==typeof t.ui.getCore&&t.ui.getCore()};var Kt,Yt;Kt="OpenUI5Support",Yt={isLoaded:()=>!!Jt(),init:()=>{const t=Jt();return t?new Promise((e=>{t.attachInit((()=>{window.sap.ui.require(["sap/ui/core/LocaleData","sap/ui/core/Popup"],((t,s)=>{s.setInitialZIndex(Gt()),e()}))}))})):Promise.resolve()},getConfigurationSettingsObject:()=>{const t=Jt();if(!t)return;const e=t.getConfiguration(),s=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:e.getAnimationMode(),language:e.getLanguage(),theme:e.getTheme(),rtl:e.getRTL(),calendarType:e.getCalendarType(),formatSettings:{firstDayOfWeek:s?s.getInstance(e.getLocale()).getFirstDayOfWeek():void 0}}},getLocaleDataObject:()=>{const t=Jt();if(!t)return;const e=t.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(e.getLocale())._get()},attachListeners:()=>{Jt()&&(()=>{const t=Jt(),e=t.getConfiguration();t.attachThemeChanged((async()=>{await qt(e.getTheme())}))})()},cssVariablesLoaded:()=>{if(!Jt())return;const t=[...document.head.children].find((t=>"sap-ui-theme-sap.ui.core"===t.id));return t?!!t.href.match(/\/css(-|_)variables\.css/):void 0},getNextZIndex:()=>{if(!Jt())return;return window.sap.ui.require("sap/ui/core/Popup").getNextZIndex()},setInitialZIndex:()=>{if(!Jt())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex(Gt())}},f.set(Kt,Yt);const Xt=()=>{document.querySelector("head>style[data-ui5-font-face]")||Nt('\n\t@font-face {\n\t\tfont-family: "72";\n\t\tfont-style: normal;\n\t\tfont-weight: 400;\n\t\tsrc: local("72"),\n\t\t\turl(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"),\n\t\t\turl(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents) format("woff");\n\t}\n\t\n\t@font-face {\n\t\tfont-family: "72full";\n\t\tfont-style: normal;\n\t\tfont-weight: 400;\n\t\tsrc: local(\'72-full\'),\n\t\t\turl(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"),\n\t\t\turl(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents) format("woff");\n\t\t\n\t}\n\t\n\t@font-face {\n\t\tfont-family: "72";\n\t\tfont-style: normal;\n\t\tfont-weight: 700;\n\t\tsrc: local(\'72-Bold\'),\n\t\t\turl(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),\n\t\t\turl(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff");\n\t}\n\t\n\t@font-face {\n\t\tfont-family: "72full";\n\t\tfont-style: normal;\n\t\tfont-weight: 700;\n\t\tsrc: local(\'72-Bold-full\'),\n\t\t\turl(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2"),\n\t\t\turl(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff");\n\t}\n',{"data-ui5-font-face":""})},Qt=()=>{document.querySelector("head>style[data-ui5-font-face-override]")||Nt("\n\t@font-face {\n\t\tfont-family: '72override';\n\t\tunicode-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;\n\t\tsrc: local('Arial'), local('Helvetica'), local('sans-serif');\n\t}\n",{"data-ui5-font-face-override":""})};let te=!1;const ee=new S,se=async()=>{if(te)return;const t=m("OpenUI5Support");t&&await t.init(),await new Promise((t=>{document.body?t():document.addEventListener("DOMContentLoaded",(()=>{t()}))})),await Zt(zt()),t&&t.attachListeners(),(()=>{const t=m("OpenUI5Support");t&&t.isLoaded()||Xt(),Qt()})(),document.querySelector("head>style[data-ui5-system-css-vars]")||Nt('\n\t:root {\n\t\t--_ui5_content_density:cozy;\n\t}\n\t\n\t[data-ui5-compact-size],\n\t.ui5-content-density-compact,\n\t.sapUiSizeCompact {\n\t\t--_ui5_content_density:compact;\n\t}\n\t\n\t[dir="rtl"] {\n\t\t--_ui5_dir:rtl;\n\t}\n\t\n\t[dir="ltr"] {\n\t\t--_ui5_dir:ltr;\n\t}\n',{"data-ui5-system-css-vars":""}),await ee.fireEventAsync("boot"),te=!0};class ne{static isValid(t){}static generateTypeAccessors(t){Object.keys(t).forEach((e=>{Object.defineProperty(this,e,{get:()=>t[e]})}))}}const ie=new Map,ae=new Map,re=t=>{if(!ie.has(t)){const e=le(t.split("-"));ie.set(t,e)}return ie.get(t)},oe=t=>{if(!ae.has(t)){const e=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();ae.set(t,e)}return ae.get(t)},le=t=>t.map(((t,e)=>0===e?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())).join(""),ce=t=>t&&t instanceof HTMLElement&&"slot"===t.localName,he=t=>ce(t)?t.assignedNodes({flatten:!0}).filter((t=>t instanceof HTMLElement)):[t];let de={include:[/^ui5-/],exclude:[]};const ue=new Map,pe=t=>{if(!ue.has(t)){const e=de.include.some((e=>t.match(e)))&&!de.exclude.some((e=>t.match(e)));ue.set(t,e)}return ue.get(t)},ge=t=>{pe(t)};class fe{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},e=this.slotsAreManaged(),s=this.getProperties();for(const e in s){const n=s[e].type,i=s[e].defaultValue;n===Boolean?(t[e]=!1,void 0!==i&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):s[e].multiple?t[e]=[]:t[e]=n===Object?"defaultValue"in s[e]?s[e].defaultValue:{}:n===String?"defaultValue"in s[e]?s[e].defaultValue:"":i}if(e){const e=this.getSlots();for(const[s,n]of Object.entries(e)){t[n.propertyName||s]=[]}}return this._initialState=t,t}static validatePropertyValue(t,e){return e.multiple?t.map((t=>me(t,e))):me(t,e)}static validateSlotValue(t,e){return ye(t,e)}getPureTag(){return this.metadata.tag}getTag(){const t=this.metadata.tag,e=ge(t);return e?`${t}-${e}`:t}getAltTag(){const t=this.metadata.altTag;if(!t)return;const e=ge(t);return e?`${t}-${e}`:t}hasAttribute(t){const e=this.getProperties()[t];return e.type!==Object&&!e.noAttribute}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute,this).map(oe)}getSlots(){return this.metadata.slots||{}}canSlotText(){const t=this.getSlots().default;return t&&t.type===Node}hasSlots(){return!!Object.entries(this.getSlots()).length}hasIndividualSlots(){return this.slotsAreManaged()&&Object.entries(this.getSlots()).some((([t,e])=>e.individualSlots))}slotsAreManaged(){return!!this.metadata.managedSlots}getProperties(){return this.metadata.properties||{}}getEvents(){return this.metadata.events||{}}isLanguageAware(){return!!this.metadata.languageAware}shouldInvalidateOnChildChange(t,e,s){const n=this.getSlots()[t].invalidateOnChildChange;if(void 0===n)return!1;if("boolean"==typeof n)return n;if("object"==typeof n){if("property"===e){if(void 0===n.properties)return!1;if("boolean"==typeof n.properties)return n.properties;if(Array.isArray(n.properties))return n.properties.includes(s);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if("slot"===e){if(void 0===n.slots)return!1;if("boolean"==typeof n.slots)return n.slots;if(Array.isArray(n.slots))return n.slots.includes(s);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 me=(t,e)=>{const s=e.type;return s===Boolean?"boolean"==typeof t&&t:s===String?"string"==typeof t||null==t?t:t.toString():s===Object?"object"==typeof t?t:e.defaultValue:((t,e,s=!1)=>{if("function"!=typeof t||"function"!=typeof e)return!1;if(s&&t===e)return!0;let n=t;do{n=Object.getPrototypeOf(n)}while(null!==n&&n!==e);return n===e})(s,ne)?s.isValid(t)?t:e.defaultValue:void 0},ye=(t,e)=>(t&&he(t).forEach((t=>{if(!(t instanceof e.type))throw new Error(`${t} is not of type ${e.type}`)})),t);customElements.get("ui5-static-area")||customElements.define("ui5-static-area",class extends HTMLElement{});const ve=new S,we=t=>{ve.attachEvent("CustomCSSChange",t)},_e={},be=t=>Array.isArray(t)?Se(t.filter((t=>!!t))).join(" "):t,Se=t=>t.reduce(((t,e)=>t.concat(Array.isArray(e)?Se(e):e)),[]),Ae=new Map;we((t=>{Ae.delete(`${t}_normal`)}));const Ce=(t,e=!1)=>{const s=t.getMetadata().getTag(),n=`${s}_${e?"static":"normal"}`;if(!Ae.has(n)){let i;if(e)i=be(t.staticAreaStyles);else{const e=(t=>_e[t]?_e[t].join(""):"")(s)||"";i=`${be(t.styles)} ${e}`}Ae.set(n,i)}return Ae.get(n)},Ee=new Map;we((t=>{Ee.delete(`${t}_normal`)}));const Me=()=>!!window.ShadyDOM,$e=(t,e=!1)=>{let s;const n=e?"staticAreaTemplate":"template",i=e?t.staticAreaItem.shadowRoot:t.shadowRoot,a=((t,e)=>{const s=e.constructor.getUniqueDependencies().map((t=>t.getMetadata().getPureTag())).filter(pe);return t(e,s,void 0)})(t.constructor[n],t);document.adoptedStyleSheets?i.adoptedStyleSheets=((t,e=!1)=>{const s=`${t.getMetadata().getTag()}_${e?"static":"normal"}`;if(!Ee.has(s)){const n=Ce(t,e),i=new CSSStyleSheet;i.replaceSync(n),Ee.set(s,[i])}return Ee.get(s)})(t.constructor,e):Me()||(s=Ce(t.constructor,e)),t.constructor.render(a,i,s,{host:t})};class Oe extends HTMLElement{constructor(){super(),this._rendered=!1,this.attachShadow({mode:"open"})}setOwnerElement(t){this.ownerElement=t,this.classList.add(this.ownerElement._id)}update(){this._rendered&&(this._updateContentDensity(),$e(this.ownerElement,!0))}_updateContentDensity(){var t;"compact"===(t=this.ownerElement,getComputedStyle(t).getPropertyValue("--_ui5_content_density"))?(this.classList.add("sapUiSizeCompact"),this.classList.add("ui5-content-density-compact")):(this.classList.remove("sapUiSizeCompact"),this.classList.remove("ui5-content-density-compact"))}async getDomRef(){return this._updateContentDensity(),this._rendered||(this._rendered=!0,$e(this.ownerElement,!0)),await B(),this.shadowRoot}getStableDomRef(t){return this.shadowRoot.querySelector(`[data-ui5-stable=${t}]`)}static getTag(){const t="ui5-static-area-item",e=ge(t);return e?`${t}-${e}`:t}static createInstance(){return customElements.get(Oe.getTag())||customElements.define(Oe.getTag(),Oe),document.createElement(this.getTag())}}const xe=new WeakMap;const Pe=(t,e,s)=>{const n=((t,e,s)=>{const n=new MutationObserver(e);return n.observe(t,s),n})(t,e,s);xe.set(t,n)},Le=["value-changed"];let Te;const Ie=()=>(void 0===Te&&(b(),Te=v.noConflict),Te),De=t=>{const e=Ie();return!(t=>Le.includes(t))(t)&&(!0===e||!(t=>{const e=Ie();return!(e.events&&e.events.includes&&e.events.includes(t))})(t))};const Re={iw:"he",ji:"yi",in:"id",sh:"sr"},ke=(t=>{const e=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(t);return e&&e[2]?e[2].split(/,/):null})("$cldr-rtl-locales:ar,fa,he$")||[],Ne=()=>{const t=(b(),v.rtl);return null!==t?!!t:(t=>(t=t&&Re[t]||t,ke.indexOf(t)>=0))(q()||a())};class je extends ne{static isValid(t){return Number.isInteger(t)}}class He extends ne{static isValid(t){return Number(t)===t}}const Ue=["disabled","title","hidden","role","draggable"],Ve=t=>{if(Ue.includes(t)||t.startsWith("aria"))return!0;return![HTMLElement,Element,Node].some((e=>e.prototype.hasOwnProperty(t)))},Be=(t,e)=>{if(t.length!==e.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0},Ze=(t,e)=>class extends t{constructor(){super(),e&&e()}};let We=0;const ze=new Map,qe=new Map;function Fe(t){this._suppressInvalidation||(this.onInvalidation(t),this._changedState.push(t),(async t=>{D.add(t),await U()})(this),this._eventProvider.fireEvent("change",{...t,target:this}))}class Ge extends HTMLElement{constructor(){let t;super(),this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new S,this._domRefReadyPromise=new Promise((e=>{t=e})),this._domRefReadyPromise._deferredResolve=t,this._initializeState(),this._upgradeAllProperties(),this.constructor._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id="ui5wc_"+ ++We),this.__id}async connectedCallback(){this.setAttribute(this.constructor.getMetadata().getPureTag(),"");const t=this.constructor._needsShadowDOM(),e=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!0,e&&(this._startObservingDOMChildren(),await this._processChildren()),t&&!this.shadowRoot&&await Promise.resolve(),this._inDOM&&(H(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,"function"==typeof this.onEnterDOM&&this.onEnterDOM())}disconnectedCallback(){const t=this.constructor._needsShadowDOM(),e=this.constructor.getMetadata().slotsAreManaged();var s;this._inDOM=!1,e&&this._stopObservingDOMChildren(),t&&this._fullyConnected&&("function"==typeof this.onExitDOM&&this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),s=this,D.remove(s),T.delete(s)}_startObservingDOMChildren(){if(!this.constructor.getMetadata().hasSlots())return;const t=this.constructor.getMetadata().canSlotText(),e={childList:!0,subtree:t,characterData:t};Pe(this,this._processChildren.bind(this),e)}_stopObservingDOMChildren(){(t=>{const e=xe.get(t);e&&((t=>{t.disconnect()})(e),xe.delete(t))})(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor.getMetadata().getSlots(),e=this.constructor.getMetadata().canSlotText(),s=Array.from(e?this.childNodes:this.children),n=new Map,i=new Map;for(const[e,s]of Object.entries(t)){const t=s.propertyName||e;i.set(t,e),n.set(t,[...this._state[t]]),this._clearSlot(e,s)}const a=new Map,r=new Map,o=s.map((async(e,s)=>{const n=(t=>{if(!(t instanceof HTMLElement))return"default";const e=t.getAttribute("slot");if(e){const t=e.match(/^(.+?)-\d+$/);return t?t[1]:e}return"default"})(e),i=t[n];if(void 0===i){const s=Object.keys(t).join(", ");return void console.warn(`Unknown slotName: ${n}, ignoring`,e,`Valid values are: ${s}`)}if(i.individualSlots){const t=(a.get(n)||0)+1;a.set(n,t),e._individualSlot=`${n}-${t}`}if(e instanceof HTMLElement){const t=e.localName;if(t.includes("-")){if(!window.customElements.get(t)){const e=window.customElements.whenDefined(t);let s=ze.get(t);s||(s=new Promise((t=>setTimeout(t,1e3))),ze.set(t,s)),await Promise.race([e,s])}window.customElements.upgrade(e)}}(e=this.constructor.getMetadata().constructor.validateSlotValue(e,i)).isUI5Element&&i.invalidateOnChildChange&&e._attachChange(this._getChildChangeListener(n)),ce(e)&&this._attachSlotChange(e,n);const o=i.propertyName||n;r.has(o)?r.get(o).push({child:e,idx:s}):r.set(o,[{child:e,idx:s}])}));await Promise.all(o),r.forEach(((t,e)=>{this._state[e]=t.sort(((t,e)=>t.idx-e.idx)).map((t=>t.child))}));let l=!1;for(const[e,s]of Object.entries(t)){const t=s.propertyName||e;Be(n.get(t),this._state[t])||(Fe.call(this,{type:"slot",name:i.get(t),reason:"children"}),l=!0)}l||Fe.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const s=e.propertyName||t;this._state[s].forEach((e=>{e&&e.isUI5Element&&e._detachChange(this._getChildChangeListener(t)),ce(e)&&this._detachSlotChange(e,t)})),this._state[s]=[]}_attachChange(t){this._eventProvider.attachEvent("change",t)}_detachChange(t){this._eventProvider.detachEvent("change",t)}_onChildChange(t,e){this.constructor.getMetadata().shouldInvalidateOnChildChange(t,e.type,e.name)&&Fe.call(this,{type:"slot",name:t,reason:"childchange",child:e.target})}attributeChangedCallback(t,e,s){const n=this.constructor.getMetadata().getProperties(),i=t.replace(/^ui5-/,""),a=re(i);if(n.hasOwnProperty(a)){const t=n[a].type;t===Boolean&&(s=null!==s),t===je&&(s=parseInt(s)),t===He&&(s=parseFloat(s)),this[a]=s}}_updateAttribute(t,e){if(!this.constructor.getMetadata().hasAttribute(t))return;if("object"==typeof e)return;const s=oe(t),n=this.getAttribute(s);"boolean"==typeof e?!0===e&&null===n?this.setAttribute(s,""):!1===e&&null!==n&&this.removeAttribute(s):n!==e&&this.setAttribute(s,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,this)}_initializeState(){this._state={...this.constructor.getMetadata().getInitialState()}}_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){t.addEventListener("slotchange",this._getSlotChangeListener(e))}_detachSlotChange(t,e){t.removeEventListener("slotchange",this._getSlotChangeListener(e))}_onSlotChange(t){Fe.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,"function"==typeof this.onBeforeRendering&&this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],this.constructor._needsShadowDOM()&&$e(this),this.staticAreaItem&&this.staticAreaItem.update(),t&&this._assignIndividualSlotsToChildren(),"function"==typeof this.onAfterRendering&&this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach((t=>{t._individualSlot&&t.setAttribute("slot",t._individualSlot)}))}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(this.shadowRoot&&0!==this.shadowRoot.children.length)return this._assertShadowRootStructure(),1===this.shadowRoot.children.length?this.shadowRoot.children[0]:this.shadowRoot.children[1]}_assertShadowRootStructure(){const t=document.adoptedStyleSheets||Me()?1:2;this.shadowRoot.children.length!==t&&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`)}getFocusDomRef(){const t=this.getDomRef();if(t){return t.querySelector("[data-sap-focus-ref]")||t}}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}getStableDomRef(t){return this.staticAreaItem&&this.staticAreaItem.getStableDomRef(t)||this.getDomRef().querySelector(`[data-ui5-stable=${t}]`)}async focus(){await this._waitForDomRef();const t=this.getFocusDomRef();t&&"function"==typeof t.focus&&t.focus()}fireEvent(t,e,s=!1,n=!0){const i=this._fireEvent(t,e,s,n),a=re(t);return a!==t?i&&this._fireEvent(a,e,s):i}_fireEvent(t,e,s=!1,n=!0){const i=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:n,cancelable:s}),a=this.dispatchEvent(i);if(De(t))return a;const r=new CustomEvent(t,{detail:e,composed:!1,bubbles:n,cancelable:s});return this.dispatchEvent(r)&&a}getSlottedNodes(t){return this[t].reduce(((t,e)=>t.concat(he(e))),[])}get effectiveDir(){var t;return t=this.constructor,L.add(t),(t=>{const e=window.document,s=["ltr","rtl"],n=getComputedStyle(t).getPropertyValue("--_ui5_dir");return s.includes(n)?n:s.includes(t.dir)?t.dir:s.includes(e.documentElement.dir)?e.documentElement.dir:s.includes(e.body.dir)?e.body.dir:Ne()?"rtl":void 0})(this)}get isUI5Element(){return!0}static get observedAttributes(){return this.getMetadata().getAttributesList()}static _needsShadowDOM(){return!!this.template}static _needsStaticArea(){return!!this.staticAreaTemplate}getStaticAreaItemDomRef(){if(!this.constructor._needsStaticArea())throw new Error("This component does not use the static area");return this.staticAreaItem||(this.staticAreaItem=Oe.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||Pt("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,e=this.getMetadata().slotsAreManaged(),s=this.getMetadata().getProperties();for(const[e,n]of Object.entries(s)){if(Ve(e)||console.warn(`"${e}" is not a valid property name. Use a name that does not collide with DOM APIs`),n.type===Boolean&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All booleans are false by default.`);if(n.type===Array)throw new Error(`Wrong type for property "${e}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(n.type===Object&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All properties of type "Object" are empty objects by default.`);if(n.multiple&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,e,{get(){if(void 0!==this._state[e])return this._state[e];const t=n.defaultValue;return n.type!==Boolean&&(n.type===String?t:n.multiple?[]:t)},set(t){let s;t=this.constructor.getMetadata().constructor.validatePropertyValue(t,n);const i=this._state[e];s=n.multiple&&n.compareValues?!Be(i,t):i!==t,s&&(this._state[e]=t,Fe.call(this,{type:"property",name:e,newValue:t,oldValue:i}),this._updateAttribute(e,t))}})}if(e){const e=this.getMetadata().getSlots();for(const[s,n]of Object.entries(e)){Ve(s)||console.warn(`"${s}" is not a valid property name. Use a name that does not collide with DOM APIs`);const e=n.propertyName||s;Object.defineProperty(t,e,{get(){return void 0!==this._state[e]?this._state[e]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get metadata(){return{}}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!qe.has(this)){const t=this.dependencies.filter(((t,e,s)=>s.indexOf(t)===e));qe.set(this,t)}return qe.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=this.getMetadata().getAltTag(),s=(t=>M.has(t))(t),n=customElements.get(t);return n&&!s?(t=>{$.add(t),O||(O=setTimeout((()=>{P(),O=void 0}),1e3))})(t):n||(this._generateAccessors(),x(t),window.customElements.define(t,this),e&&!customElements.get(e)&&(x(e),window.customElements.define(e,Ze(this,(()=>{console.log(`The ${e} tag is deprecated and will be removed in the next release, please use ${t} instead.`)}))))),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const t=[this.metadata];let e=this;for(;e!==Ge;)e=Object.getPrototypeOf(e),t.unshift(e.metadata);const s=g({},...t);return this._metadata=new fe(s),this._metadata}}
|
|
1
|
+
const t={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"]},e={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"]}.default,s={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"]}.default,n=t.default,i=t.all;var a=()=>{const t=navigator.languages;return t&&t[0]||navigator.language||navigator.userLanguage||navigator.browserLanguage||s},o={},r=o.hasOwnProperty,l=o.toString,c=r.toString,u=c.call(Object),h=function(t){var e,s;return!(!t||"[object Object]"!==l.call(t))&&(!(e=Object.getPrototypeOf(t))||"function"==typeof(s=r.call(e,"constructor")&&e.constructor)&&c.call(s)===u)},d=Object.create(null),p=function(){var t,e,s,n,i,a,o=arguments[2]||{},r=3,l=arguments.length,c=arguments[0]||!1,u=arguments[1]?void 0:d;for("object"!=typeof o&&"function"!=typeof o&&(o={});r<l;r++)if(null!=(i=arguments[r]))for(n in i)t=o[n],s=i[n],"__proto__"!==n&&o!==s&&(c&&s&&(h(s)||(e=Array.isArray(s)))?(e?(e=!1,a=t&&Array.isArray(t)?t:[]):a=t&&h(t)?t:{},o[n]=p(c,arguments[1],a,s)):s!==u&&(o[n]=s));return o},f=function(){var t=[!0,!1];return t.push.apply(t,arguments),p.apply(null,t)};const g=new Map,m=t=>g.get(t);let y=!1,_={animationMode:"full",theme:e,rtl:null,language:null,calendarType:null,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const w=new Map;w.set("true",!0),w.set("false",!1);const v=(t,e,s)=>{const n=e.toLowerCase(),i=t.split(`${s}-`)[1];w.has(e)&&(e=w.get(n)),e=((t,e)=>"theme"===t&&e.includes("@")?e.split("@")[0]:e)(i,e),_[i]=e},A=()=>{y||((()=>{const t=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let e;if(t){try{e=JSON.parse(t.innerHTML)}catch(t){console.warn("Incorrect data-sap-ui-config format. Please use JSON")}e&&(_=f(_,e))}})(),(()=>{const t=new URLSearchParams(window.location.search);t.forEach(((t,e)=>{const s=e.split("sap-").length;0!==s&&s!==e.split("sap-ui-").length&&v(e,t,"sap")})),t.forEach(((t,e)=>{e.startsWith("sap-ui")&&v(e,t,"sap-ui")}))})(),(()=>{const t=m("OpenUI5Support");if(!t||!t.isLoaded())return;const e=t.getConfigurationSettingsObject();_=f(_,e)})(),y=!0)};class b{constructor(){this._eventRegistry=new Map}attachEvent(t,e){const s=this._eventRegistry,n=s.get(t);Array.isArray(n)?n.includes(e)||n.push(e):s.set(t,[e])}detachEvent(t,e){const s=this._eventRegistry,n=s.get(t);if(!n)return;const i=n.indexOf(e);-1!==i&&n.splice(i,1),0===n.length&&s.delete(t)}fireEvent(t,e){const s=this._eventRegistry.get(t);return s?s.map((t=>t.call(this,e))):[]}fireEventAsync(t,e){return Promise.all(this.fireEvent(t,e))}isHandlerAttached(t,e){const s=this._eventRegistry.get(t);return!!s&&s.includes(e)}hasListeners(t){return!!this._eventRegistry.get(t)}}const $=new b,S=t=>{$.attachEvent("languageChange",t)};const C=t=>{const e=[];return t.forEach((t=>{e.push(t)})),e},E=(t,e=document.body)=>{let s=document.querySelector(t);return s||(s=document.createElement(t),e.insertBefore(s,e.firstChild))},M=(t,e)=>{const s=t.split(".");let n=E("ui5-shared-resources",document.head);for(let t=0;t<s.length;t++){const i=s[t],a=t===s.length-1;Object.prototype.hasOwnProperty.call(n,i)||(n[i]=a?e:{}),n=n[i]}return n},O={version:"0.0.0-701b14e36",major:0,minor:0,patch:0,suffix:"-701b14e36",isNext:!0,buildTime:1652361014};let T;const P=new Map,x=M("Runtimes",[]),L=()=>T,I=M("Tags",new Map),N=new Set;let D,k={};const R=t=>{N.add(t),I.set(t,L())},U=()=>{const t=x,e=L(),s=t[e];let n="Multiple UI5 Web Components instances detected.";t.length>1&&(n=`${n}\nLoading order (versions before 1.1.0 not listed): ${t.map((t=>`\n${t.description}`)).join("")}`),Object.keys(k).forEach((i=>{let a,o,r;"unknown"===i?(a=1,o={description:"Older unknown runtime"}):(a=((t,e)=>{const s=`${t},${e}`;if(P.has(s))return P.get(s);const n=x[t],i=x[e];if(!n||!i)throw new Error("Invalid runtime index supplied");if(n.isNext||i.isNext)return n.buildTime-i.buildTime;const a=n.major-i.major;if(a)return a;const o=n.minor-i.minor;if(o)return o;const r=n.patch-i.patch;if(r)return r;const l=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(n.suffix,i.suffix);return P.set(s,l),l})(e,i),o=t[i]),r=a>0?"an older":a<0?"a newer":"the same",n=`${n}\n\n"${s.description}" failed to define ${k[i].size} tag(s) as they were defined by a runtime of ${r} version "${o.description}": ${C(k[i]).sort().join(", ")}.`,n=a>0?`${n}\nWARNING! If your code uses features of the above web components, unavailable in ${o.description}, it might not work as expected!`:`${n}\nSince the above web components were defined by the same or newer version runtime, they should be compatible with your code.`})),n=`${n}\n\nTo 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/master/docs/2-advanced/03-scoping.md.`,console.warn(n)},j=new Set,H=new Set,B=new b,V=new class{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((e=>e!==t)),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return 0===this.list.length}isAdded(t){return this.lookup.has(t)}process(t){let e;const s=new Map;for(e=this.shift();e;){const n=s.get(e)||0;if(n>10)throw new Error("Web component processed too many times this task, max allowed is: 10");t(e),s.set(e,n+1),e=this.shift()}}};let z,Z,F,W;const q=async t=>{V.add(t),await J()},G=t=>{B.fireEvent("beforeComponentRender",t),H.add(t),t._render()},J=async()=>{W||(W=new Promise((t=>{window.requestAnimationFrame((()=>{V.process(G),W=null,t(),F||(F=setTimeout((()=>{F=void 0,V.isEmpty()&&X()}),200))}))}))),await W},K=()=>{const t=C(N).map((t=>customElements.whenDefined(t)));return Promise.all(t)},Y=async()=>{await K(),await(z||(z=new Promise((t=>{Z=t,window.requestAnimationFrame((()=>{V.isEmpty()&&(z=void 0,t())}))})),z))},X=()=>{V.isEmpty()&&Z&&(Z(),Z=void 0,z=void 0)},Q=async t=>{H.forEach((e=>{const s=e.constructor.getMetadata().getTag(),n=(i=e.constructor,j.has(i));var i;const a=e.constructor.getMetadata().isLanguageAware(),o=e.constructor.getMetadata().isThemeAware();(!t||t.tag===s||t.rtlAware&&n||t.languageAware&&a||t.themeAware&&o)&&q(e)})),await Y()};let tt,et;const st=()=>(void 0===tt&&(A(),tt=_.language),tt),nt=()=>{var t;return void 0===et&&(A(),t=_.fetchDefaultLanguage,et=t),et},it=/^((?:[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 at{constructor(t){const e=it.exec(t.replace(/_/g,"-"));if(null===e)throw new Error(`The given language ${t} does not adhere to BCP-47.`);this.sLocaleId=t,this.sLanguage=e[1]||null,this.sScript=e[2]||null,this.sRegion=e[3]||null,this.sVariant=e[4]&&e[4].slice(1)||null,this.sExtension=e[5]&&e[5].slice(1)||null,this.sPrivateUse=e[6]||null,this.sLanguage&&(this.sLanguage=this.sLanguage.toLowerCase()),this.sScript&&(this.sScript=this.sScript.toLowerCase().replace(/^[a-z]/,(t=>t.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 ot=new Map,rt=t=>(ot.has(t)||ot.set(t,new at(t)),ot.get(t)),lt=t=>{try{if(t&&"string"==typeof t)return rt(t)}catch(t){}},ct=t=>t?lt(t):st()?rt(st()):lt(a()),ut=/^((?:[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,ht=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,dt={he:"iw",yi:"ji",id:"in",sr:"sh"},pt=t=>{if(!t)return n;if("zh_HK"===t)return"zh_TW";const e=t.lastIndexOf("_");return e>=0?t.slice(0,e):t!==n?n:""},ft=new Set,gt=new Set,mt=new Map,yt=new Map,_t=new Map,wt=(t,e)=>{mt.set(t,e)},vt=(t,e)=>{const s=`${t}/${e}`;return _t.has(s)},At=async t=>{const e=ct().getLanguage(),i=ct().getRegion();let a=(t=>{let e;if(!t)return n;if("string"==typeof t&&(e=ut.exec(t.replace(/_/g,"-")))){let t=e[1].toLowerCase(),s=e[3]?e[3].toUpperCase():void 0;const n=e[2]?e[2].toLowerCase():void 0,i=e[4]?e[4].slice(1):void 0,a=e[6];return t=dt[t]||t,a&&(e=ht.exec(a))||i&&(e=ht.exec(i))?`en_US_${e[1].toLowerCase()}`:("zh"!==t||s||("hans"===n?s="CN":"hant"===n&&(s="TW")),t+(s?"_"+s+(i?"_"+i.replace("-","_"):""):""))}})(e+(i?`-${i}`:""));for(;a!==s&&!vt(t,a);)a=pt(a);const o=nt();if(a!==s||o)if(vt(t,a))try{const e=await((t,e)=>{const s=`${t}/${e}`,n=_t.get(s);return yt.get(s)||yt.set(s,n(e)),yt.get(s)})(t,a);wt(t,e)}catch(t){gt.has(t.message)||(gt.add(t.message),console.error(t.message))}else(t=>{ft.has(t)||(console.warn(`[${t}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${t}/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.`),ft.add(t))})(t);else wt(t,null)};S((()=>{const t=[...mt.keys()];return Promise.all(t.map(At))}));const bt=new Map,$t=new Map,St=new Map,Ct=new Set;let Et=!1;const Mt={iw:"he",ji:"yi",in:"id"},Ot=t=>{Et||(console.warn(`[LocaleData] Supported locale "${t}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),Et=!0)},Tt=(t,e)=>{bt.set(t,e)},Pt=async(t,e,s)=>{const a=((t,e,s)=>{"no"===(t=t&&Mt[t]||t)&&(t="nb"),"zh"!==t||e||("Hans"===s?e="CN":"Hant"===s&&(e="TW")),("sh"===t||"sr"===t&&"Latn"===s)&&(t="sr",e="Latn");let a=`${t}_${e}`;return i.includes(a)?$t.has(a)?a:(Ot(a),n):(a=t,i.includes(a)?$t.has(a)?a:(Ot(a),n):n)})(t,e,s),o=m("OpenUI5Support");if(o){const t=o.getLocaleDataObject();if(t)return void Tt(a,t)}try{const t=await(t=>{const e=$t.get(t);return St.get(t)||St.set(t,e(t)),St.get(t)})(a);Tt(a,t)}catch(t){Ct.has(t.message)||(Ct.add(t.message),console.error(t.message))}};var xt,Lt;xt="en",Lt=async t=>(await fetch("https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/en.json")).json(),$t.set(xt,Lt),S((()=>{const t=ct();return Pt(t.getLanguage(),t.getRegion(),t.getScript())}));const It=new Map,Nt=new Map,Dt=new Set,kt=new Set,Rt=(t,e,s)=>{Nt.set(`${t}/${e}`,s),Dt.add(t),kt.add(e)},Ut=async(t,s)=>{const n=It.get(`${t}_${s}`);if(void 0!==n)return n;if(!kt.has(s)){const n=[...kt.values()].join(", ");return console.warn(`You have requested a non-registered theme ${s} - falling back to ${e}. Registered themes are: ${n}`),jt(t,e)}return jt(t,s)},jt=async(t,e)=>{const s=Nt.get(`${t}/${e}`);if(!s)return void console.error(`Theme [${e}] not registered for package [${t}]`);let n;try{n=await s(e)}catch(e){return void console.error(t,e.message)}const i=n._||n;return It.set(`${t}_${e}`,i),i},Ht=()=>Dt,Bt={"SAP-icons-TNT":"tnt",BusinessSuiteInAppSymbols:"business-suite",horizon:"SAP-icons-v5"},Vt=(t,e)=>e?`${t}|${e}`:t,zt=(t,e,s="")=>{const n="string"==typeof t?t:t.content;if(document.adoptedStyleSheets){const t=new CSSStyleSheet;t.replaceSync(n),t._ui5StyleId=Vt(e,s),document.adoptedStyleSheets=[...document.adoptedStyleSheets,t]}else{const t={};t[e]=s,((t,e={})=>{const s=document.createElement("style");s.type="text/css",Object.entries(e).forEach((t=>s.setAttribute(...t))),s.textContent=t,document.head.appendChild(s)})(n,t)}},Zt=(t,e="")=>document.adoptedStyleSheets?!!document.adoptedStyleSheets.find((s=>s._ui5StyleId===Vt(t,e))):!!document.querySelector(`head>style[${t}="${e}"]`),Ft=(t,e,s="")=>{Zt(e,s)?((t,e,s="")=>{const n="string"==typeof t?t:t.content;document.adoptedStyleSheets?document.adoptedStyleSheets.find((t=>t._ui5StyleId===Vt(e,s))).replaceSync(n||""):document.querySelector(`head>style[${e}="${s}"]`).textContent=n||""})(t,e,s):zt(t,e,s)},Wt=new Set,qt=()=>{const t=(()=>{let t=document.querySelector(".sapThemeMetaData-Base-baseLib")||document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");if(t)return getComputedStyle(t).backgroundImage;t=document.createElement("span"),t.style.display="none",t.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(t);let e=getComputedStyle(t).backgroundImage;return"none"===e&&(t.classList.add("sapThemeMetaData-UI5-sap-ui-core"),e=getComputedStyle(t).backgroundImage),document.body.removeChild(t),e})();if(!t||"none"===t)return;const e=(t=>{const e=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(t);if(e&&e.length>=2){let t=e[1];if(t=t.replace(/\\"/g,'"'),"{"!==t.charAt(0)&&"}"!==t.charAt(t.length-1))try{t=decodeURIComponent(t)}catch(t){return void(Wt.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),Wt.add("decode")))}try{return JSON.parse(t)}catch(t){Wt.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),Wt.add("parse"))}}})(t);return(t=>{let e,s;try{e=t.Path.match(/\.([^.]+)\.css_variables$/)[1],s=t.Extends[0]}catch(e){return void(Wt.has("object")||(console.warn("Malformed theme metadata Object",t),Wt.add("object")))}return{themeName:e,baseThemeName:s}})(e)},Gt=new b,Jt="@ui5/webcomponents-theming",Kt=async t=>{if(!Ht().has(Jt))return;const e=await Ut(Jt,t);e&&Ft(e,"data-ui5-theme-properties",Jt)},Yt=()=>{((t,e="")=>{if(document.adoptedStyleSheets)document.adoptedStyleSheets=document.adoptedStyleSheets.filter((s=>s._ui5StyleId!==Vt(t,e)));else{const s=document.querySelector(`head > style[${t}="${e}"]`);s&&s.parentElement.removeChild(s)}})("data-ui5-theme-properties",Jt)},Xt=async t=>{const e=(()=>{const t=qt();if(t)return t;const e=m("OpenUI5Support");if(e&&e.cssVariablesLoaded())return{themeName:e.getConfigurationSettingsObject().theme}})();e&&t===e.themeName?Yt():await Kt(t);const s=(t=>kt.has(t))(t)?t:e&&e.baseThemeName;await(async t=>{Ht().forEach((async e=>{if(e===Jt)return;const s=await Ut(e,t);s&&Ft(s,"data-ui5-theme-properties",e)}))})(s),(t=>{Gt.fireEvent("themeLoaded",t)})(t)};let Qt;const te=()=>(void 0===Qt&&(A(),Qt=_.theme),Qt),ee=async t=>{Qt!==t&&(Qt=t,await Xt(Qt),await Q({themeAware:!0}))},se=new Map,ne=()=>{const t=te(),e=se.get(t);return e||(s="sap_horizon",te().startsWith(s)?"SAP-icons-v5":"SAP-icons");var s},ie=new Map,ae=M("SVGIcons.registry",new Map),oe=M("SVGIcons.promises",new Map),re=(t,{pathData:e,ltr:s,accData:n,collection:i,packageName:a}={})=>{i||(i=ne());const o=`${i}/${t}`;ae.set(o,{pathData:e,ltr:s,accData:n,packageName:a})},le=async t=>{const{collection:e,registryKey:s}=(t=>{let e;return t.startsWith("sap-icon://")&&(t=t.replace("sap-icon://","")),[t,e]=t.split("/").reverse(),e=e||ne(),e=ce(e),{name:t=t.replace("icon-",""),collection:e,registryKey:`${e}/${t}`}})(t);let n="ICON_NOT_FOUND";try{n=await(async t=>{if(!oe.has(t)){if(!ie.has(t))throw new Error(`No loader registered for the ${t} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const e=ie.get(t);oe.set(t,e(t))}return oe.get(t)})(e)}catch(t){console.error(t.message)}return"ICON_NOT_FOUND"===n?n:(ae.has(s)||(t=>{Object.keys(t.data).forEach((e=>{const s=t.data[e];re(e,{pathData:s.path,ltr:s.ltr,accData:s.acc,collection:t.collection,packageName:t.packageName})}))})(n),ae.get(s))},ce=t=>Bt[t]?Bt[t]:t,ue=M("PopupUtilsData",{});ue.currentZIndex=ue.currentZIndex||100;const he=()=>ue.currentZIndex,de=()=>{const t=window.sap;return t&&t.ui&&"function"==typeof t.ui.getCore&&t.ui.getCore()};var pe,fe;pe="OpenUI5Support",fe={isLoaded:()=>!!de(),init:()=>{const t=de();return t?new Promise((e=>{t.attachInit((()=>{window.sap.ui.require(["sap/ui/core/LocaleData","sap/ui/core/Popup"],((t,s)=>{s.setInitialZIndex(he()),e()}))}))})):Promise.resolve()},getConfigurationSettingsObject:()=>{const t=de();if(!t)return;const e=t.getConfiguration(),s=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:e.getAnimationMode(),language:e.getLanguage(),theme:e.getTheme(),rtl:e.getRTL(),calendarType:e.getCalendarType(),formatSettings:{firstDayOfWeek:s?s.getInstance(e.getLocale()).getFirstDayOfWeek():void 0}}},getLocaleDataObject:()=>{const t=de();if(!t)return;const e=t.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(e.getLocale())._get()},attachListeners:()=>{de()&&(()=>{const t=de(),e=t.getConfiguration();t.attachThemeChanged((async()=>{await ee(e.getTheme())}))})()},cssVariablesLoaded:()=>{if(!de())return;const t=[...document.head.children].find((t=>"sap-ui-theme-sap.ui.core"===t.id));return t?!!t.href.match(/\/css(-|_)variables\.css/):void 0},getNextZIndex:()=>{if(!de())return;return window.sap.ui.require("sap/ui/core/Popup").getNextZIndex()},setInitialZIndex:()=>{if(!de())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex(he())}},g.set(pe,fe);var ge={packageName:"@ui5/webcomponents-base",fileName:"FontFace.css",content:'@font-face{font-family:"72";font-style:normal;font-weight:400;src:local("72"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents) format("woff")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:local(\'72-full\'),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents) format("woff")}@font-face{font-family:"72";font-style:normal;font-weight:700;src:local(\'72-Bold\'),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff")}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:local(\'72-Bold-full\'),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff")}@font-face{font-family:\'72-Bold\';font-style:normal;src:local(\'72-Bold\'),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff")}@font-face{font-family:\'72-Boldfull\';font-style:normal;src:url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff")}@font-face{font-family:\'72-Light\';font-style:normal;src:local(\'72-Light\'),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff?ui5-webcomponents) format("woff")}@font-face{font-family:\'72-Lightfull\';font-style:normal;src:url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff?ui5-webcomponents) format("woff")}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:local(\'72Black\'),url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2"),url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff?ui5-webcomponents) format("woff")}'},me={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')}"};const ye=()=>{Zt("data-ui5-font-face")||zt(ge,"data-ui5-font-face")},_e=()=>{Zt("data-ui5-font-face-override")||zt(me,"data-ui5-font-face-override")};var we={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}"};let ve;const Ae=async()=>ve||(ve=new Promise((async t=>{void 0===T&&(T=x.length,x.push({...O,alias:"",description:`Runtime ${T} - ver ${O.version}`}));const e=m("OpenUI5Support"),s=m("F6Navigation");e?await e.init():s&&s.init(),await new Promise((t=>{document.body?t():document.addEventListener("DOMContentLoaded",(()=>{t()}))})),await Xt(te()),e&&e.attachListeners(),(()=>{const t=m("OpenUI5Support");t&&t.isLoaded()||ye(),_e()})(),Zt("data-ui5-system-css-vars")||zt(we,"data-ui5-system-css-vars"),t()})),ve);class be{static isValid(t){}static attributeToProperty(t){return t}static propertyToAttribute(t){return`${t}`}static valuesAreEqual(t,e){return t===e}static generateTypeAccessors(t){Object.keys(t).forEach((e=>{Object.defineProperty(this,e,{get:()=>t[e]})}))}}const $e=(t,e,s=!1)=>{if("function"!=typeof t||"function"!=typeof e)return!1;if(s&&t===e)return!0;let n=t;do{n=Object.getPrototypeOf(n)}while(null!==n&&n!==e);return n===e},Se=new Map,Ce=new Map,Ee=t=>{if(!Se.has(t)){const e=Oe(t.split("-"));Se.set(t,e)}return Se.get(t)},Me=t=>{if(!Ce.has(t)){const e=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();Ce.set(t,e)}return Ce.get(t)},Oe=t=>t.map(((t,e)=>0===e?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())).join(""),Te=t=>t&&t instanceof HTMLElement&&"slot"===t.localName,Pe=t=>Te(t)?t.assignedNodes({flatten:!0}).filter((t=>t instanceof HTMLElement)):[t];let xe={include:[/^ui5-/],exclude:[]};const Le=new Map,Ie=t=>{if(!Le.has(t)){const e=xe.include.some((e=>t.match(e)))&&!xe.exclude.some((e=>t.match(e)));Le.set(t,e)}return Le.get(t)},Ne=t=>{Ie(t)};class De{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},e=this.slotsAreManaged(),s=this.getProperties();for(const e in s){const n=s[e].type,i=s[e].defaultValue;n===Boolean?(t[e]=!1,void 0!==i&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):s[e].multiple?t[e]=[]:t[e]=n===Object?"defaultValue"in s[e]?s[e].defaultValue:{}:n===String?"defaultValue"in s[e]?s[e].defaultValue:"":i}if(e){const e=this.getSlots();for(const[s,n]of Object.entries(e)){t[n.propertyName||s]=[]}}return this._initialState=t,t}static validatePropertyValue(t,e){return e.multiple?t.map((t=>ke(t,e))):ke(t,e)}static validateSlotValue(t,e){return Re(t,e)}getPureTag(){return this.metadata.tag}getTag(){const t=this.metadata.tag,e=Ne(t);return e?`${t}-${e}`:t}getAltTag(){const t=this.metadata.altTag;if(!t)return;const e=Ne(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,this).map(Me)}getSlots(){return this.metadata.slots||{}}canSlotText(){const t=this.getSlots().default;return t&&t.type===Node}hasSlots(){return!!Object.entries(this.getSlots()).length}hasIndividualSlots(){return this.slotsAreManaged()&&Object.entries(this.getSlots()).some((([t,e])=>e.individualSlots))}slotsAreManaged(){return!!this.metadata.managedSlots}supportsF6FastNavigation(){return!!this.metadata.fastNavigation}getProperties(){return this.metadata.properties||{}}getEvents(){return this.metadata.events||{}}isLanguageAware(){return!!this.metadata.languageAware}isThemeAware(){return!!this.metadata.themeAware}shouldInvalidateOnChildChange(t,e,s){const n=this.getSlots()[t].invalidateOnChildChange;if(void 0===n)return!1;if("boolean"==typeof n)return n;if("object"==typeof n){if("property"===e){if(void 0===n.properties)return!1;if("boolean"==typeof n.properties)return n.properties;if(Array.isArray(n.properties))return n.properties.includes(s);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if("slot"===e){if(void 0===n.slots)return!1;if("boolean"==typeof n.slots)return n.slots;if(Array.isArray(n.slots))return n.slots.includes(s);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 ke=(t,e)=>{const s=e.type;return s===Boolean?"boolean"==typeof t&&t:s===String?"string"==typeof t||null==t?t:t.toString():s===Object?"object"==typeof t?t:e.defaultValue:$e(s,be)?s.isValid(t)?t:e.defaultValue:void 0},Re=(t,e)=>(t&&Pe(t).forEach((t=>{if(!(t instanceof e.type))throw new Error(`${t} is not of type ${e.type}`)})),t);customElements.get("ui5-static-area")||customElements.define("ui5-static-area",class extends HTMLElement{});const Ue=t=>{const e=t.constructor.getMetadata().getPureTag(),s=t.constructor.getUniqueDependencies().map((t=>t.getMetadata().getPureTag())).filter(Ie);return Ie(e)&&s.push(e),s},je=M("CustomStyle.eventProvider",new b),He=t=>{je.attachEvent("CustomCSSChange",t)},Be=M("CustomStyle.customCSSFor",{});He((t=>{Q({tag:t})}));const Ve=t=>Array.isArray(t)?ze(t.filter((t=>!!t))).map((t=>"string"==typeof t?t:t.content)).join(" "):"string"==typeof t?t:t.content,ze=t=>t.reduce(((t,e)=>t.concat(Array.isArray(e)?ze(e):e)),[]),Ze=new Map;He((t=>{Ze.delete(`${t}_normal`)}));const Fe=(t,e=!1)=>{const s=t.getMetadata().getTag(),n=`${s}_${e?"static":"normal"}`,i=m("OpenUI5Enablement");if(!Ze.has(n)){let a,o="";if(i&&(o=Ve(i.getBusyIndicatorStyles())),e)a=Ve(t.staticAreaStyles);else{const e=(t=>Be[t]?Be[t].join(""):"")(s)||"";a=`${Ve(t.styles)} ${e}`}a=`${a} ${o}`,Ze.set(n,a)}return Ze.get(n)},We=new Map;He((t=>{We.delete(`${t}_normal`)}));const qe=(t,e=!1)=>{let s;const n=e?"staticAreaTemplate":"template",i=e?t.staticAreaItem.shadowRoot:t.shadowRoot,a=((t,e)=>t(e,Ue(e),void 0))(t.constructor[n],t);document.adoptedStyleSheets?i.adoptedStyleSheets=((t,e=!1)=>{const s=`${t.getMetadata().getTag()}_${e?"static":"normal"}`;if(!We.has(s)){const n=Fe(t,e),i=new CSSStyleSheet;i.replaceSync(n),We.set(s,[i])}return We.get(s)})(t.constructor,e):window.ShadyDOM||(s=Fe(t.constructor,e)),t.constructor.render(a,i,s,e,{host:t})};const Ge={iw:"he",ji:"yi",in:"id",sh:"sr"},Je=(t=>{const e=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(t);return e&&e[2]?e[2].split(/,/):null})("$cldr-rtl-locales:ar,fa,he$")||[],Ke=()=>{const t=(A(),_.rtl);return null!==t?!!t:(t=>(t=t&&Ge[t]||t,Je.indexOf(t)>=0))(st()||a())},Ye=t=>{const e=window.document,s=["ltr","rtl"],n=getComputedStyle(t).getPropertyValue("--_ui5_dir");return s.includes(n)?n:s.includes(t.dir)?t.dir:s.includes(e.documentElement.dir)?e.documentElement.dir:s.includes(e.body.dir)?e.body.dir:Ke()?"rtl":void 0};class Xe 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._updateContentDensity(),this._updateDirection(),qe(this.ownerElement,!0))}_updateContentDensity(){var t;"compact"===(t=this.ownerElement,getComputedStyle(t).getPropertyValue("--_ui5_content_density"))?(this.classList.add("sapUiSizeCompact"),this.classList.add("ui5-content-density-compact")):(this.classList.remove("sapUiSizeCompact"),this.classList.remove("ui5-content-density-compact"))}_updateDirection(){const t=Ye(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}async getDomRef(){return this._updateContentDensity(),this._rendered||(this._rendered=!0,qe(this.ownerElement,!0)),await Y(),this.shadowRoot}static getTag(){const t="ui5-static-area-item",e=Ne(t);return e?`${t}-${e}`:t}static createInstance(){return customElements.get(Xe.getTag())||customElements.define(Xe.getTag(),Xe),document.createElement(this.getTag())}}const Qe=new WeakMap;const ts=(t,e,s)=>{const n=((t,e,s)=>{const n=new MutationObserver(e);return n.observe(t,s),n})(t,e,s);Qe.set(t,n)},es=["value-changed"];let ss;const ns=()=>(void 0===ss&&(A(),ss=_.noConflict),ss),is=t=>{const e=ns();return!(t=>es.includes(t))(t)&&(!0===e||!(t=>{const e=ns();return!(e.events&&e.events.includes&&e.events.includes(t))})(t))},as=["disabled","title","hidden","role","draggable"],os=t=>{if(as.includes(t)||t.startsWith("aria"))return!0;return![HTMLElement,Element,Node].some((e=>e.prototype.hasOwnProperty(t)))},rs=(t,e)=>{if(t.length!==e.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0},ls=(t,e)=>class extends t{constructor(){super(),e&&e()}};let cs=0;const us=new Map,hs=new Map;function ds(t){this._suppressInvalidation||(this.onInvalidation(t),this._changedState.push(t),q(this),this._eventProvider.fireEvent("invalidate",{...t,target:this}))}let ps={};class fs extends HTMLElement{constructor(){let t;super(),this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new b,this._domRefReadyPromise=new Promise((e=>{t=e})),this._domRefReadyPromise._deferredResolve=t,this._initializeState(),this._upgradeAllProperties(),this.constructor._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id="ui5wc_"+ ++cs),this.__id}async connectedCallback(){this.setAttribute(this.constructor.getMetadata().getPureTag(),""),this.constructor.getMetadata().supportsF6FastNavigation()&&this.setAttribute("data-sap-ui-fastnavgroup","true");const t=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!0,t&&(this._startObservingDOMChildren(),await this._processChildren()),this._inDOM&&(G(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,"function"==typeof this.onEnterDOM&&this.onEnterDOM())}disconnectedCallback(){const t=this.constructor.getMetadata().slotsAreManaged();var e;this._inDOM=!1,t&&this._stopObservingDOMChildren(),this._fullyConnected&&("function"==typeof this.onExitDOM&&this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),e=this,V.remove(e),H.delete(e)}_startObservingDOMChildren(){if(!this.constructor.getMetadata().hasSlots())return;const t=this.constructor.getMetadata().canSlotText(),e={childList:!0,subtree:t,characterData:t};ts(this,this._processChildren.bind(this),e)}_stopObservingDOMChildren(){(t=>{const e=Qe.get(t);e&&((t=>{t.disconnect()})(e),Qe.delete(t))})(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor.getMetadata().getSlots(),e=this.constructor.getMetadata().canSlotText(),s=Array.from(e?this.childNodes:this.children),n=new Map,i=new Map;for(const[e,s]of Object.entries(t)){const t=s.propertyName||e;i.set(t,e),n.set(t,[...this._state[t]]),this._clearSlot(e,s)}const a=new Map,o=new Map,r=s.map((async(e,s)=>{const n=(t=>{if(!(t instanceof HTMLElement))return"default";const e=t.getAttribute("slot");if(e){const t=e.match(/^(.+?)-\d+$/);return t?t[1]:e}return"default"})(e),i=t[n];if(void 0===i){const s=Object.keys(t).join(", ");return void console.warn(`Unknown slotName: ${n}, ignoring`,e,`Valid values are: ${s}`)}if(i.individualSlots){const t=(a.get(n)||0)+1;a.set(n,t),e._individualSlot=`${n}-${t}`}if(e instanceof HTMLElement){const t=e.localName;if(t.includes("-")){if(!window.customElements.get(t)){const e=window.customElements.whenDefined(t);let s=us.get(t);s||(s=new Promise((t=>setTimeout(t,1e3))),us.set(t,s)),await Promise.race([e,s])}window.customElements.upgrade(e)}}if((e=this.constructor.getMetadata().constructor.validateSlotValue(e,i)).isUI5Element&&i.invalidateOnChildChange){(e.attachInvalidate||e._attachChange).bind(e)(this._getChildChangeListener(n))}Te(e)&&this._attachSlotChange(e,n);const r=i.propertyName||n;o.has(r)?o.get(r).push({child:e,idx:s}):o.set(r,[{child:e,idx:s}])}));await Promise.all(r),o.forEach(((t,e)=>{this._state[e]=t.sort(((t,e)=>t.idx-e.idx)).map((t=>t.child))}));let l=!1;for(const[e,s]of Object.entries(t)){const t=s.propertyName||e;rs(n.get(t),this._state[t])||(ds.call(this,{type:"slot",name:i.get(t),reason:"children"}),l=!0)}l||ds.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const s=e.propertyName||t;this._state[s].forEach((e=>{if(e&&e.isUI5Element){(e.detachInvalidate||e._detachChange).bind(e)(this._getChildChangeListener(t))}Te(e)&&this._detachSlotChange(e,t)})),this._state[s]=[]}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)&&ds.call(this,{type:"slot",name:t,reason:"childchange",child:e.target})}attributeChangedCallback(t,e,s){const n=this.constructor.getMetadata().getProperties(),i=t.replace(/^ui5-/,""),a=Ee(i);if(n.hasOwnProperty(a)){const t=n[a].type;t===Boolean?s=null!==s:$e(t,be)&&(s=t.attributeToProperty(s)),this[a]=s}}_updateAttribute(t,e){if(!this.constructor.getMetadata().hasAttribute(t))return;const s=this.constructor.getMetadata().getProperties()[t].type,n=Me(t),i=this.getAttribute(n);s===Boolean?!0===e&&null===i?this.setAttribute(n,""):!1===e&&null!==i&&this.removeAttribute(n):$e(s,be)?this.setAttribute(n,s.propertyToAttribute(e)):"object"!=typeof e&&i!==e&&this.setAttribute(n,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,this)}_initializeState(){this._state={...this.constructor.getMetadata().getInitialState()}}_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){t.addEventListener("slotchange",this._getSlotChangeListener(e))}_detachSlotChange(t,e){t.removeEventListener("slotchange",this._getSlotChangeListener(e))}_onSlotChange(t){ds.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,"function"==typeof this.onBeforeRendering&&this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],this.constructor._needsShadowDOM()&&qe(this),this.staticAreaItem&&this.staticAreaItem.update(),t&&this._assignIndividualSlotsToChildren(),"function"==typeof this.onAfterRendering&&this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach((t=>{t._individualSlot&&t.setAttribute("slot",t._individualSlot)}))}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if("function"==typeof this._getRealDomRef)return this._getRealDomRef();if(!this.shadowRoot||0===this.shadowRoot.children.length)return;const t=[...this.shadowRoot.children].filter((t=>!["link","style"].includes(t.localName)));return 1!==t.length&&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(){await this._waitForDomRef();const t=this.getFocusDomRef();t&&"function"==typeof t.focus&&t.focus()}fireEvent(t,e,s=!1,n=!0){const i=this._fireEvent(t,e,s,n),a=Ee(t);return a!==t?i&&this._fireEvent(a,e,s):i}_fireEvent(t,e,s=!1,n=!0){const i=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:n,cancelable:s}),a=this.dispatchEvent(i);if(is(t))return a;const o=new CustomEvent(t,{detail:e,composed:!1,bubbles:n,cancelable:s});return this.dispatchEvent(o)&&a}getSlottedNodes(t){return this[t].reduce(((t,e)=>t.concat(Pe(e))),[])}get effectiveDir(){var t;return t=this.constructor,j.add(t),Ye(this)}get isUI5Element(){return!0}static get observedAttributes(){return this.getMetadata().getAttributesList()}static _needsShadowDOM(){return!!this.template}static _needsStaticArea(){return!!this.staticAreaTemplate}getStaticAreaItemDomRef(){if(!this.constructor._needsStaticArea())throw new Error("This component does not use the static area");return this.staticAreaItem||(this.staticAreaItem=Xe.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||E("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,e=this.getMetadata().slotsAreManaged(),s=this.getMetadata().getProperties();for(const[e,n]of Object.entries(s)){if(os(e)||console.warn(`"${e}" is not a valid property name. Use a name that does not collide with DOM APIs`),n.type===Boolean&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All booleans are false by default.`);if(n.type===Array)throw new Error(`Wrong type for property "${e}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(n.type===Object&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All properties of type "Object" are empty objects by default.`);if(n.multiple&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,e,{get(){if(void 0!==this._state[e])return this._state[e];const t=n.defaultValue;return n.type!==Boolean&&(n.type===String?t:n.multiple?[]:t)},set(t){let s;t=this.constructor.getMetadata().constructor.validatePropertyValue(t,n);const i=this._state[e];s=n.multiple&&n.compareValues?!rs(i,t):$e(n.type,be)?!n.type.valuesAreEqual(i,t):i!==t,s&&(this._state[e]=t,ds.call(this,{type:"property",name:e,newValue:t,oldValue:i}),this._updateAttribute(e,t))}})}if(e){const e=this.getMetadata().getSlots();for(const[s,n]of Object.entries(e)){os(s)||console.warn(`"${s}" is not a valid property name. Use a name that does not collide with DOM APIs`);const e=n.propertyName||s;Object.defineProperty(t,e,{get(){return void 0!==this._state[e]?this._state[e]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get metadata(){return ps}static set metadata(t){ps=t}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!hs.has(this)){const t=this.dependencies.filter(((t,e,s)=>s.indexOf(t)===e));hs.set(this,t)}return hs.get(this)}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map((t=>t.define())))}static async onDefine(){return Promise.resolve()}static async define(){await Ae(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),e=this.getMetadata().getAltTag(),s=(t=>N.has(t))(t),n=customElements.get(t);return n&&!s?(t=>{let e=I.get(t);void 0===e&&(e="unknown"),k[e]=k[e]||new Set,k[e].add(t),D||(D=setTimeout((()=>{U(),k={},D=void 0}),1e3))})(t):n||(this._generateAccessors(),R(t),window.customElements.define(t,this),e&&!customElements.get(e)&&(R(e),window.customElements.define(e,ls(this,(()=>{console.log(`The ${e} tag is deprecated and will be removed in the next release, please use ${t} instead.`)}))))),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const t=[this.metadata];let e=this;for(;e!==fs;)e=Object.getPrototypeOf(e),t.unshift(e.metadata);const s=f({},...t);return this._metadata=new De(s),this._metadata}}
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2017 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
-
*/var
|
|
6
|
+
*/var gs;const ms=globalThis.trustedTypes,ys=ms?ms.createPolicy("lit-html",{createHTML:t=>t}):void 0,_s=`lit$${(Math.random()+"").slice(9)}$`,ws="?"+_s,vs=`<${ws}>`,As=document,bs=(t="")=>As.createComment(t),$s=t=>null===t||"object"!=typeof t&&"function"!=typeof t,Ss=Array.isArray,Cs=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Es=/-->/g,Ms=/>/g,Os=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,Ts=/'/g,Ps=/"/g,xs=/^(?:script|style|textarea|title)$/i,Ls=(t=>(e,...s)=>({_$litType$:t,strings:e,values:s}))(1),Is=Symbol.for("lit-noChange"),Ns=Symbol.for("lit-nothing"),Ds=new WeakMap,ks=As.createTreeWalker(As,129,null,!1),Rs=(t,e)=>{const s=t.length-1,n=[];let i,a=2===e?"<svg>":"",o=Cs;for(let e=0;e<s;e++){const s=t[e];let r,l,c=-1,u=0;for(;u<s.length&&(o.lastIndex=u,l=o.exec(s),null!==l);)u=o.lastIndex,o===Cs?"!--"===l[1]?o=Es:void 0!==l[1]?o=Ms:void 0!==l[2]?(xs.test(l[2])&&(i=RegExp("</"+l[2],"g")),o=Os):void 0!==l[3]&&(o=Os):o===Os?">"===l[0]?(o=null!=i?i:Cs,c=-1):void 0===l[1]?c=-2:(c=o.lastIndex-l[2].length,r=l[1],o=void 0===l[3]?Os:'"'===l[3]?Ps:Ts):o===Ps||o===Ts?o=Os:o===Es||o===Ms?o=Cs:(o=Os,i=void 0);const h=o===Os&&t[e+1].startsWith("/>")?" ":"";a+=o===Cs?s+vs:c>=0?(n.push(r),s.slice(0,c)+"$lit$"+s.slice(c)+_s+h):s+_s+(-2===c?(n.push(void 0),e):h)}const r=a+(t[s]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==ys?ys.createHTML(r):r,n]};class Us{constructor({strings:t,_$litType$:e},s){let n;this.parts=[];let i=0,a=0;const o=t.length-1,r=this.parts,[l,c]=Rs(t,e);if(this.el=Us.createElement(l,s),ks.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=ks.nextNode())&&r.length<o;){if(1===n.nodeType){if(n.hasAttributes()){const t=[];for(const e of n.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(_s)){const s=c[a++];if(t.push(e),void 0!==s){const t=n.getAttribute(s.toLowerCase()+"$lit$").split(_s),e=/([.?@])?(.*)/.exec(s);r.push({type:1,index:i,name:e[2],strings:t,ctor:"."===e[1]?zs:"?"===e[1]?Fs:"@"===e[1]?Ws:Vs})}else r.push({type:6,index:i})}for(const e of t)n.removeAttribute(e)}if(xs.test(n.tagName)){const t=n.textContent.split(_s),e=t.length-1;if(e>0){n.textContent=ms?ms.emptyScript:"";for(let s=0;s<e;s++)n.append(t[s],bs()),ks.nextNode(),r.push({type:2,index:++i});n.append(t[e],bs())}}}else if(8===n.nodeType)if(n.data===ws)r.push({type:2,index:i});else{let t=-1;for(;-1!==(t=n.data.indexOf(_s,t+1));)r.push({type:7,index:i}),t+=_s.length-1}i++}}static createElement(t,e){const s=As.createElement("template");return s.innerHTML=t,s}}function js(t,e,s=t,n){var i,a,o,r;if(e===Is)return e;let l=void 0!==n?null===(i=s._$Cl)||void 0===i?void 0:i[n]:s._$Cu;const c=$s(e)?void 0:e._$litDirective$;return(null==l?void 0:l.constructor)!==c&&(null===(a=null==l?void 0:l._$AO)||void 0===a||a.call(l,!1),void 0===c?l=void 0:(l=new c(t),l._$AT(t,s,n)),void 0!==n?(null!==(o=(r=s)._$Cl)&&void 0!==o?o:r._$Cl=[])[n]=l:s._$Cu=l),void 0!==l&&(e=js(t,l._$AS(t,e.values),l,n)),e}class Hs{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:s},parts:n}=this._$AD,i=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:As).importNode(s,!0);ks.currentNode=i;let a=ks.nextNode(),o=0,r=0,l=n[0];for(;void 0!==l;){if(o===l.index){let e;2===l.type?e=new Bs(a,a.nextSibling,this,t):1===l.type?e=new l.ctor(a,l.name,l.strings,this,t):6===l.type&&(e=new qs(a,this,t)),this.v.push(e),l=n[++r]}o!==(null==l?void 0:l.index)&&(a=ks.nextNode(),o++)}return i}m(t){let e=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class Bs{constructor(t,e,s,n){var i;this.type=2,this._$AH=Ns,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=n,this._$Cg=null===(i=null==n?void 0:n.isConnected)||void 0===i||i}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=js(this,t,e),$s(t)?t===Ns||null==t||""===t?(this._$AH!==Ns&&this._$AR(),this._$AH=Ns):t!==this._$AH&&t!==Is&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):(t=>{var e;return Ss(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(t)?this.S(t):this.$(t)}M(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==Ns&&$s(this._$AH)?this._$AA.nextSibling.data=t:this.k(As.createTextNode(t)),this._$AH=t}T(t){var e;const{values:s,_$litType$:n}=t,i="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=Us.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===i)this._$AH.m(s);else{const t=new Hs(i,this),e=t.p(this.options);t.m(s),this.k(e),this._$AH=t}}_$AC(t){let e=Ds.get(t.strings);return void 0===e&&Ds.set(t.strings,e=new Us(t)),e}S(t){Ss(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,n=0;for(const i of t)n===e.length?e.push(s=new Bs(this.M(bs()),this.M(bs()),this,this.options)):s=e[n],s._$AI(i),n++;n<e.length&&(this._$AR(s&&s._$AB.nextSibling,n),e.length=n)}_$AR(t=this._$AA.nextSibling,e){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class Vs{constructor(t,e,s,n,i){this.type=1,this._$AH=Ns,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=i,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=Ns}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,s,n){const i=this.strings;let a=!1;if(void 0===i)t=js(this,t,e,0),a=!$s(t)||t!==this._$AH&&t!==Is,a&&(this._$AH=t);else{const n=t;let o,r;for(t=i[0],o=0;o<i.length-1;o++)r=js(this,n[s+o],e,o),r===Is&&(r=this._$AH[o]),a||(a=!$s(r)||r!==this._$AH[o]),r===Ns?t=Ns:t!==Ns&&(t+=(null!=r?r:"")+i[o+1]),this._$AH[o]=r}a&&!n&&this.C(t)}C(t){t===Ns?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class zs extends Vs{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===Ns?void 0:t}}const Zs=ms?ms.emptyScript:"";class Fs extends Vs{constructor(){super(...arguments),this.type=4}C(t){t&&t!==Ns?this.element.setAttribute(this.name,Zs):this.element.removeAttribute(this.name)}}class Ws extends Vs{constructor(t,e,s,n,i){super(t,e,s,n,i),this.type=5}_$AI(t,e=this){var s;if((t=null!==(s=js(this,t,e,0))&&void 0!==s?s:Ns)===Is)return;const n=this._$AH,i=t===Ns&&n!==Ns||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,a=t!==Ns&&(n===Ns||i);i&&this.element.removeEventListener(this.name,this,n),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class qs{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){js(this,t)}}const Gs=window.litHtmlPolyfillSupport;null==Gs||Gs(Us,Bs),(null!==(gs=globalThis.litHtmlVersions)&&void 0!==gs?gs:globalThis.litHtmlVersions=[]).push("2.2.2");
|
|
7
7
|
/**
|
|
8
8
|
* @license
|
|
9
|
-
* Copyright
|
|
9
|
+
* Copyright 2017 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
+
*/
|
|
12
|
+
const Js=2;
|
|
13
|
+
/**
|
|
14
|
+
* @license
|
|
15
|
+
* Copyright 2017 Google LLC
|
|
10
16
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
17
|
*/
|
|
12
|
-
|
|
18
|
+
class Ks extends class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}{constructor(t){if(super(t),this.it=Ns,t.type!==Js)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===Ns||null==t)return this.ft=void 0,this.it=t;if(t===Is)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.ft;this.it=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}Ks.directiveName="unsafeHTML",Ks.resultType=1;const Ys=(...t)=>{const e=m("LitStatic");return(e?e.html:Ls)(...t)},Xs=(t,e,s,n,{host:i}={})=>{const a=m("OpenUI5Enablement");a&&!n&&(t=a.wrapTemplateResultInBusyMarkup(Ys,i,t)),"string"==typeof s?t=Ys`<style>${s}</style>${t}`:Array.isArray(s)&&s.length&&(t=Ys`${s.map((t=>Ys`<link type="text/css" rel="stylesheet" href="${t}">`))}${t}`),((t,e,s)=>{var n,i;const a=null!==(n=null==s?void 0:s.renderBefore)&&void 0!==n?n:e;let o=a._$litPart$;if(void 0===o){const t=null!==(i=null==s?void 0:s.renderBefore)&&void 0!==i?i:null;a._$litPart$=o=new Bs(e.insertBefore(bs(),t),t,void 0,null!=s?s:{})}o._$AI(t)})(t,e,{host:i})},Qs={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 tn extends fs{static get metadata(){return Qs}static get render(){return Xs}static get template(){return t=>Ys`<div><p>
|
|
13
19
|
<slot></slot>
|
|
14
20
|
<slot name="other"></slot>
|
|
15
21
|
<slot name="individual-1"></slot>
|
|
16
22
|
<slot name="individual-2"></slot>
|
|
17
|
-
</p></div>`}static get styles(){return":host {\n display: inline-block;\n border: 1px solid black;\n color: var(--var1);\n }"}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}
|
|
23
|
+
</p></div>`}static get styles(){return":host {\n display: inline-block;\n border: 1px solid black;\n color: var(--var1);\n }"}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}tn.define();const en={tag:"ui5-test-no-shadow"};(class extends fs{static get metadata(){return en}}).define();const sn={tag:"ui5-test-parent",managedSlots:!0,slots:{default:{type:Node,invalidateOnChildChange:{properties:["prop1"]}},items:{type:HTMLElement,invalidateOnChildChange:{properties:!0}}}};(class extends fs{static get metadata(){return sn}static get render(){return Xs}static get template(){return t=>Ys`<div>
|
|
18
24
|
<slot></slot>
|
|
19
|
-
</div>`}}).define();const
|
|
20
|
-
<div>
|
|
25
|
+
</div>`}}).define();const nn={tag:"ui5-test-child",properties:{prop1:{type:String},prop2:{type:String},prop3:{type:String}}};(class extends fs{static get metadata(){return nn}static get render(){return Xs}static get template(){return t=>Ys`<div></div>`}}).define();const an={tag:"ui5-with-static-area",properties:{staticContent:{type:Boolean}},slots:{}};(class extends fs{static get metadata(){return an}static get render(){return Xs}static get template(){return t=>Ys`
|
|
26
|
+
<div dir=${t.effectiveDir}>
|
|
21
27
|
WithStaticArea works!
|
|
22
|
-
</div>`}static get staticAreaTemplate(){return t=>
|
|
28
|
+
</div>`}static get staticAreaTemplate(){return t=>Ys`
|
|
23
29
|
<div class="ui5-with-static-area-content">
|
|
24
30
|
Static area content.
|
|
25
|
-
</div>`}static get styles(){return"\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tborder: 1px solid black;\n\t\t\t\tcolor: red;\n\t\t\t}"}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(){}}).define();const
|
|
31
|
+
</div>`}static get styles(){return"\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tborder: 1px solid black;\n\t\t\t\tcolor: red;\n\t\t\t}"}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(){}}).define();const on={tag:"ui5-test-generic-ext",properties:{extProp:{type:String},strProp:{defaultValue:"Ext"}},slots:{extSlot:{type:HTMLElement}}};(class extends tn{static get metadata(){return on}}).define();Rt("@ui5/webcomponents-base-test","sap_fiori_3",(()=>":root{ --var1: red; }")),Rt("@ui5/webcomponents-base-test","sap_fiori_3_dark",(()=>":root{ --var1: green; }")),Rt("@ui5/webcomponents-base-test","sap_belize",(()=>":root{ --var1: blue; }")),Rt("@ui5/webcomponents-base-test","sap_belize_hcb",(()=>":root{ --var1: orange; }")),Rt("@ui5/webcomponents-base-test","sap_belize_hcw",(()=>":root{ --var1: orange; }")),Rt("@ui5/webcomponents-base-test","sap_fiori_3_hcb",(()=>":root{ --var1: yellow; }")),Rt("@ui5/webcomponents-base-test","sap_fiori_3_hcw",(()=>":root{ --var1: yellow; }"));const rn=navigator.userAgent,ln=/(msie|trident)/i.test(rn),cn=!ln&&/(Chrome|CriOS)/.test(rn);!ln&&!cn&&/(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(rn),!ln&&/webkit/.test(rn);const un=-1!==navigator.platform.indexOf("Win");navigator.platform.match(/iPhone|iPad|iPod/)||navigator.userAgent.match(/Mac/)&&document;!un&&/Android/.test(rn)&&/(?=android)(?=.*mobile)/i.test(rn),/ipad/i.test(rn)||/Macintosh/i.test(rn)&&document;const hn=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,dn=new Map;class pn{constructor(t){this.packageName=t}getText(t,...e){if("string"==typeof t&&(t={key:t,defaultText:t}),!t||!t.key)return"";const s=(n=this.packageName,mt.get(n));var n;s&&!s[t.key]&&console.warn(`Key ${t.key} not found in the i18n bundle, the default text will be used`);const i=s&&s[t.key]?s[t.key]:t.defaultText||t.key;return a=(a=e)||[],i.replace(hn,((t,e,s,n,i)=>{if(e)return"'";if(s)return s.replace(/''/g,"'");if(n)return String(a[parseInt(n)]);throw new Error(`[i18n]: pattern syntax error at pos ${i}`)}));var a}}let fn;const gn={Gregorian:"Gregorian",Islamic:"Islamic",Japanese:"Japanese",Buddhist:"Buddhist",Persian:"Persian"};class mn extends be{static isValid(t){return!!gn[t]}}let yn;mn.generateTypeAccessors(gn);let _n;const wn=new b;window.isIE=()=>ln,window.registerThemePropertiesLoader=Rt,window["sap-ui-webcomponents-bundle"]={configuration:{getAnimationMode:()=>(void 0===fn&&(A(),fn=_.animationMode),fn),getLanguage:st,getTheme:te,setTheme:ee,getNoConflict:ns,setNoConflict:t=>{ss=t},getCalendarType:()=>(void 0===yn&&(A(),yn=_.calendarType),mn.isValid(yn)?yn:mn.Gregorian),getRTL:Ke,getFirstDayOfWeek:()=>(void 0===_n&&(A(),_n=_.formatSettings),_n.firstDayOfWeek)},getIconNames:async()=>(await le("edit"),await le("tnt/arrow"),await le("business-suite/3d"),Array.from(ae.keys())),registerI18nLoader:(t,e,s)=>{const n=`${t}/${e}`;_t.set(n,s)},getI18nBundle:async t=>(await At(t),(t=>{if(dn.has(t))return dn.get(t);const e=new pn(t);return dn.set(t,e),e})(t)),renderFinished:Y,applyDirection:async()=>{const t=wn.fireEvent("directionChange");await Promise.all(t),await Q({rtlAware:!0})},EventProvider:b};
|
|
26
32
|
//# sourceMappingURL=bundle.esm.js.map
|