@ui5/webcomponents-base 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/UI5Element.js +13 -1
- package/dist/asset-registries/Icons.js +1 -1
- package/dist/asset-registries/LocaleData.js +1 -1
- package/dist/assets/bundle.esm.c6602dfc.js +43 -0
- package/dist/css/FontFace.css +9 -18
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/css/FontFace.css.js +1 -1
- package/dist/i18nBundle.js +1 -1
- package/dist/types/DOMReference.js +24 -0
- package/dist/util/AriaLabelHelper.js +2 -4
- package/dist/util/getEffectiveScrollbarStyle.js +5 -0
- package/lib/generate-styles/index.js +1 -1
- package/package.json +3 -3
- package/src/UI5Element.js +13 -1
- package/src/asset-registries/Icons.js +1 -1
- package/src/asset-registries/LocaleData.js +1 -1
- package/src/css/FontFace.css +9 -18
- package/src/i18nBundle.js +1 -1
- package/src/types/DOMReference.js +24 -0
- package/src/util/AriaLabelHelper.js +2 -4
- package/src/util/getEffectiveScrollbarStyle.js +5 -0
- package/dist/assets/bundle.esm.28d45785.js +0 -43
- package/dist/util/findNodeOwner.js +0 -35
- package/src/util/findNodeOwner.js +0 -35
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.7.0](https://github.com/SAP/ui5-webcomponents/compare/v1.6.0...v1.7.0) (2022-09-02)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* correctly calculate accessibleNameRef ([#5520](https://github.com/SAP/ui5-webcomponents/issues/5520)) ([a872c9b](https://github.com/SAP/ui5-webcomponents/commit/a872c9be58ee38f2d81d65e1a977cf7c80a380fd)), closes [#5452](https://github.com/SAP/ui5-webcomponents/issues/5452)
|
|
12
|
+
* **i18n:** usage of quotes in texts ([#5655](https://github.com/SAP/ui5-webcomponents/issues/5655)) ([3484b74](https://github.com/SAP/ui5-webcomponents/commit/3484b74c8ec940c2d5bd9cef72cc4185a703bcd4))
|
|
13
|
+
* regenarete base styles on change ([#5599](https://github.com/SAP/ui5-webcomponents/issues/5599)) ([8a4ccdb](https://github.com/SAP/ui5-webcomponents/commit/8a4ccdb6d0139b996abcd5fb299232f2370360ee))
|
|
14
|
+
* remove woff files and woff/ttf usage ([#5629](https://github.com/SAP/ui5-webcomponents/issues/5629)) ([e4175cd](https://github.com/SAP/ui5-webcomponents/commit/e4175cdf000ace65758e75fb70545edd872197b8))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **framework:** reset scrollbar styles class ([#5623](https://github.com/SAP/ui5-webcomponents/issues/5623)) ([c3f3063](https://github.com/SAP/ui5-webcomponents/commit/c3f306383f971744886b99cc60911dcba924720b))
|
|
20
|
+
* **ui5-icon:** support SVGs with multiple paths ([#5630](https://github.com/SAP/ui5-webcomponents/issues/5630)) ([ce17ca5](https://github.com/SAP/ui5-webcomponents/commit/ce17ca559ce507b8e10f20d7f80dab48908a8305)), closes [#5347](https://github.com/SAP/ui5-webcomponents/issues/5347) [#5526](https://github.com/SAP/ui5-webcomponents/issues/5526)
|
|
21
|
+
* **ui5-popover:** new type DOMReference for opener ([#5609](https://github.com/SAP/ui5-webcomponents/issues/5609)) ([1a4de12](https://github.com/SAP/ui5-webcomponents/commit/1a4de12b37a2cb82be2af010758f4641acf7385d))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
6
27
|
# [1.6.0](https://github.com/SAP/ui5-webcomponents/compare/v1.5.0...v1.6.0) (2022-07-25)
|
|
7
28
|
|
|
8
29
|
|
package/dist/UI5Element.js
CHANGED
|
@@ -74,6 +74,7 @@ class UI5Element extends HTMLElement {
|
|
|
74
74
|
deferredResolve = resolve;
|
|
75
75
|
});
|
|
76
76
|
this._domRefReadyPromise._deferredResolve = deferredResolve;
|
|
77
|
+
this._doNotSyncAttributes = new Set(); // attributes that are excluded from attributeChangedCallback synchronization
|
|
77
78
|
|
|
78
79
|
this._initializeState();
|
|
79
80
|
this._upgradeAllProperties();
|
|
@@ -376,6 +377,10 @@ class UI5Element extends HTMLElement {
|
|
|
376
377
|
* @private
|
|
377
378
|
*/
|
|
378
379
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
380
|
+
if (this._doNotSyncAttributes.has(name)) { // This attribute is mutated internally, not by the user
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
|
|
379
384
|
const properties = this.constructor.getMetadata().getProperties();
|
|
380
385
|
const realName = name.replace(/^ui5-/, "");
|
|
381
386
|
const nameInCamelCase = kebabToCamelCase(realName);
|
|
@@ -409,7 +414,14 @@ class UI5Element extends HTMLElement {
|
|
|
409
414
|
this.removeAttribute(attrName);
|
|
410
415
|
}
|
|
411
416
|
} else if (isDescendantOf(propertyTypeClass, DataType)) {
|
|
412
|
-
|
|
417
|
+
const newAttrValue = propertyTypeClass.propertyToAttribute(newValue);
|
|
418
|
+
if (newAttrValue === null) { // null means there must be no attribute for the current value of the property
|
|
419
|
+
this._doNotSyncAttributes.add(attrName); // skip the attributeChangedCallback call for this attribute
|
|
420
|
+
this.removeAttribute(attrName); // remove the attribute safely (will not trigger synchronization to the property value due to the above line)
|
|
421
|
+
this._doNotSyncAttributes.delete(attrName); // enable synchronization again for this attribute
|
|
422
|
+
} else {
|
|
423
|
+
this.setAttribute(attrName, newAttrValue);
|
|
424
|
+
}
|
|
413
425
|
} else if (typeof newValue !== "object") {
|
|
414
426
|
if (attrValue !== newValue) {
|
|
415
427
|
this.setAttribute(attrName, newValue);
|
|
@@ -36,7 +36,7 @@ const _fillRegistry = bundleData => {
|
|
|
36
36
|
const iconData = bundleData.data[iconName];
|
|
37
37
|
|
|
38
38
|
registerIcon(iconName, {
|
|
39
|
-
pathData: iconData.path,
|
|
39
|
+
pathData: iconData.path || iconData.paths,
|
|
40
40
|
ltr: iconData.ltr,
|
|
41
41
|
accData: iconData.acc,
|
|
42
42
|
collection: bundleData.collection,
|
|
@@ -147,7 +147,7 @@ const registerLocaleDataLoader = (localeId, loader) => {
|
|
|
147
147
|
|
|
148
148
|
// register default loader for "en" from ui5 CDN (dev workflow without assets)
|
|
149
149
|
registerLocaleDataLoader("en", async runtimeLocaleId => {
|
|
150
|
-
return (await fetch(`https://
|
|
150
|
+
return (await fetch(`https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json`)).json();
|
|
151
151
|
});
|
|
152
152
|
|
|
153
153
|
// When the language changes dynamically (the user calls setLanguage),
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const Cs=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerpolicy&&(i.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?i.credentials="include":r.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}};Cs();const ut={themes:{default:"sap_fiori_3",all:["sap_fiori_3","sap_fiori_3_dark","sap_belize","sap_belize_hcb","sap_belize_hcw","sap_fiori_3_hcb","sap_fiori_3_hcw","sap_horizon","sap_horizon_dark","sap_horizon_hcb","sap_horizon_hcw","sap_horizon_exp"]},languages:{default:"en",all:["ar","bg","ca","cs","cy","da","de","el","en","en_GB","en_US_sappsd","en_US_saprigi","en_US_saptrc","es","es_MX","et","fi","fr","fr_CA","hi","hr","hu","in","it","iw","ja","kk","ko","lt","lv","ms","nl","no","pl","pt_PT","pt","ro","ru","sh","sk","sl","sv","th","tr","uk","vi","zh_CN","zh_TW"]},locales:{default:"en",all:["ar","ar_EG","ar_SA","bg","ca","cs","da","de","de_AT","de_CH","el","el_CY","en","en_AU","en_GB","en_HK","en_IE","en_IN","en_NZ","en_PG","en_SG","en_ZA","es","es_AR","es_BO","es_CL","es_CO","es_MX","es_PE","es_UY","es_VE","et","fa","fi","fr","fr_BE","fr_CA","fr_CH","fr_LU","he","hi","hr","hu","id","it","it_CH","ja","kk","ko","lt","lv","ms","nb","nl","nl_BE","pl","pt","pt_PT","ro","ru","ru_UA","sk","sl","sr","sr_Latn","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]}},xt=ut.themes.default,Nt=ut.languages.default,E=ut.locales.default,ee=ut.locales.all;var ke=()=>{const e=navigator.languages,t=()=>navigator.language;return e&&e[0]||t()||navigator.userLanguage||navigator.browserLanguage||Nt},He={},Be=He.hasOwnProperty,Es=He.toString,Fe=Be.toString,Ts=Fe.call(Object),se=function(e){var t,s;return!e||Es.call(e)!=="[object Object]"?!1:(t=Object.getPrototypeOf(e),t?(s=Be.call(t,"constructor")&&t.constructor,typeof s=="function"&&Fe.call(s)===Ts):!0)},Ms=Object.create(null),je=function(){var e,t,s,n,r,i,o=arguments[2]||{},a=3,c=arguments.length,l=arguments[0]||!1,h=arguments[1]?void 0:Ms;for(typeof o!="object"&&typeof o!="function"&&(o={});a<c;a++)if((r=arguments[a])!=null)for(n in r)e=o[n],s=r[n],!(n==="__proto__"||o===s)&&(l&&s&&(se(s)||(t=Array.isArray(s)))?(t?(t=!1,i=e&&Array.isArray(e)?e:[]):i=e&&se(e)?e:{},o[n]=je(l,arguments[1],i,s)):s!==h&&(o[n]=s));return o},Zt=function(){var e=[!0,!1];return e.push.apply(e,arguments),je.apply(null,e)};const Ve=new Map,Ls=(e,t)=>{Ve.set(e,t)},_=e=>Ve.get(e);let ne=!1,m={animationMode:"full",theme:xt,rtl:null,language:null,calendarType:null,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const Os=()=>(S(),m.animationMode),Ps=()=>(S(),m.theme),Is=()=>(S(),m.rtl),Ds=()=>(S(),m.language),Rs=()=>(S(),m.fetchDefaultLanguage),xs=()=>(S(),m.noConflict),Ns=()=>(S(),m.calendarType),Us=()=>(S(),m.formatSettings),it=new Map;it.set("true",!0);it.set("false",!1);const ks=()=>{const e=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let t;if(e){try{t=JSON.parse(e.innerHTML)}catch{console.warn("Incorrect data-sap-ui-config format. Please use JSON")}t&&(m=Zt(m,t))}},Hs=()=>{const e=new URLSearchParams(window.location.search);e.forEach((t,s)=>{const n=s.split("sap-").length;n===0||n===s.split("sap-ui-").length||re(s,t,"sap")}),e.forEach((t,s)=>{!s.startsWith("sap-ui")||re(s,t,"sap-ui")})},Bs=(e,t)=>e==="theme"&&t.includes("@")?t.split("@")[0]:t,re=(e,t,s)=>{const n=t.toLowerCase(),r=e.split(`${s}-`)[1];it.has(t)&&(t=it.get(n)),t=Bs(r,t),m[r]=t},Fs=()=>{const e=_("OpenUI5Support");if(!e||!e.isLoaded())return;const t=e.getConfigurationSettingsObject();m=Zt(m,t)},S=()=>{ne||(ks(),Hs(),Fs(),ne=!0)};class T{constructor(){this._eventRegistry=new Map}attachEvent(t,s){const n=this._eventRegistry,r=n.get(t);if(!Array.isArray(r)){n.set(t,[s]);return}r.includes(s)||r.push(s)}detachEvent(t,s){const n=this._eventRegistry,r=n.get(t);if(!r)return;const i=r.indexOf(s);i!==-1&&r.splice(i,1),r.length===0&&n.delete(t)}fireEvent(t,s){const r=this._eventRegistry.get(t);return r?r.map(i=>i.call(this,s)):[]}fireEventAsync(t,s){return Promise.all(this.fireEvent(t,s))}isHandlerAttached(t,s){const r=this._eventRegistry.get(t);return r?r.includes(s):!1}hasListeners(t){return!!this._eventRegistry.get(t)}}const js=new T,Vs="languageChange",ze=e=>{js.attachEvent(Vs,e)},ie=10;class zs{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(s=>s!==t),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return this.list.length===0}isAdded(t){return this.lookup.has(t)}process(t){let s;const n=new Map;for(s=this.shift();s;){const r=n.get(s)||0;if(r>ie)throw new Error(`Web component processed too many times this task, max allowed is: ${ie}`);t(s),n.set(s,r+1),s=this.shift()}}}const We=e=>{const t=[];return e.forEach(s=>{t.push(s)}),t},Ze=(e,t=document.body)=>{let s=document.querySelector(e);return s||(s=document.createElement(e),t.insertBefore(s,t.firstChild))},Ws=()=>Ze("ui5-shared-resources",document.head),M=(e,t)=>{const s=e.split(".");let n=Ws();for(let r=0;r<s.length;r++){const i=s[r],o=r===s.length-1;Object.prototype.hasOwnProperty.call(n,i)||(n[i]=o?t:{}),n=n[i]}return n},oe={version:"1.7.0",major:1,minor:7,patch:0,suffix:"",isNext:!1,buildTime:1662122360};let Q,Zs="";const yt=new Map,V=M("Runtimes",[]),qs=()=>{Q===void 0&&(Q=V.length,V.push({...oe,alias:Zs,description:`Runtime ${Q} - ver ${oe.version}`}))},qe=()=>Q,Gs=(e,t)=>{const s=`${e},${t}`;if(yt.has(s))return yt.get(s);const n=V[e],r=V[t];if(!n||!r)throw new Error("Invalid runtime index supplied");if(n.isNext||r.isNext)return n.buildTime-r.buildTime;const i=n.major-r.major;if(i)return i;const o=n.minor-r.minor;if(o)return o;const a=n.patch-r.patch;if(a)return a;const l=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(n.suffix,r.suffix);return yt.set(s,l),l},Ks=()=>V,Ge=M("Tags",new Map),qt=new Set;let C={},_t;const Ke="unknown",ae=e=>{qt.add(e),Ge.set(e,qe())},Js=e=>qt.has(e),Xs=()=>We(qt),Ys=e=>{let t=Ge.get(e);t===void 0&&(t=Ke),C[t]=C[t]||new Set,C[t].add(e),_t||(_t=setTimeout(()=>{Qs(),C={},_t=void 0},1e3))},Qs=()=>{const e=Ks(),t=qe(),s=e[t];let n="Multiple UI5 Web Components instances detected.";e.length>1&&(n=`${n}
|
|
2
|
+
Loading order (versions before 1.1.0 not listed): ${e.map(r=>`
|
|
3
|
+
${r.description}`).join("")}`),Object.keys(C).forEach(r=>{let i,o;r===Ke?(i=1,o={description:"Older unknown runtime"}):(i=Gs(t,r),o=e[r]);let a;i>0?a="an older":i<0?a="a newer":a="the same",n=`${n}
|
|
4
|
+
|
|
5
|
+
"${s.description}" failed to define ${C[r].size} tag(s) as they were defined by a runtime of ${a} version "${o.description}": ${We(C[r]).sort().join(", ")}.`,i>0?n=`${n}
|
|
6
|
+
WARNING! If your code uses features of the above web components, unavailable in ${o.description}, it might not work as expected!`:n=`${n}
|
|
7
|
+
Since the above web components were defined by the same or newer version runtime, they should be compatible with your code.`}),n=`${n}
|
|
8
|
+
|
|
9
|
+
To prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`,console.warn(n)},Je=new Set,tn=e=>{Je.add(e)},en=e=>Je.has(e),Gt=new Set,sn=new T,R=new zs;let O,tt,wt,J;const Xe=async e=>{R.add(e),await rn()},Ye=e=>{sn.fireEvent("beforeComponentRender",e),Gt.add(e),e._render()},nn=e=>{R.remove(e),Gt.delete(e)},rn=async()=>{J||(J=new Promise(e=>{window.requestAnimationFrame(()=>{R.process(Ye),J=null,e(),wt||(wt=setTimeout(()=>{wt=void 0,R.isEmpty()&&cn()},200))})})),await J},on=()=>O||(O=new Promise(e=>{tt=e,window.requestAnimationFrame(()=>{R.isEmpty()&&(O=void 0,e())})}),O),an=()=>{const e=Xs().map(t=>customElements.whenDefined(t));return Promise.all(e)},Kt=async()=>{await an(),await on()},cn=()=>{!R.isEmpty()||tt&&(tt(),tt=void 0,O=void 0)},Jt=async e=>{Gt.forEach(t=>{const s=t.constructor.getMetadata().getTag(),n=en(t.constructor),r=t.constructor.getMetadata().isLanguageAware(),i=t.constructor.getMetadata().isThemeAware();(!e||e.tag===s||e.rtlAware&&n||e.languageAware&&r||e.themeAware&&i)&&Xe(t)}),await Kt()};let vt,Ut;const ot=()=>(vt===void 0&&(vt=Ds()),vt),ln=e=>{Ut=e},un=()=>(Ut===void 0&&ln(Rs()),Ut),dn=/^((?:[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 hn{constructor(t){const s=dn.exec(t.replace(/_/g,"-"));if(s===null)throw new Error(`The given language ${t} does not adhere to BCP-47.`);this.sLocaleId=t,this.sLanguage=s[1]||null,this.sScript=s[2]||null,this.sRegion=s[3]||null,this.sVariant=s[4]&&s[4].slice(1)||null,this.sExtension=s[5]&&s[5].slice(1)||null,this.sPrivateUse=s[6]||null,this.sLanguage&&(this.sLanguage=this.sLanguage.toLowerCase()),this.sScript&&(this.sScript=this.sScript.toLowerCase().replace(/^[a-z]/,n=>n.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 At=new Map,Qe=e=>(At.has(e)||At.set(e,new hn(e)),At.get(e)),ce=e=>{try{if(e&&typeof e=="string")return Qe(e)}catch{}},kt=e=>e?ce(e):ot()?Qe(ot()):ce(ke()),fn=/^((?:[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,le=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,pn={he:"iw",yi:"ji",id:"in",sr:"sh"},gn=e=>{let t;if(!e)return E;if(typeof e=="string"&&(t=fn.exec(e.replace(/_/g,"-")))){let s=t[1].toLowerCase(),n=t[3]?t[3].toUpperCase():void 0;const r=t[2]?t[2].toLowerCase():void 0,i=t[4]?t[4].slice(1):void 0,o=t[6];return s=pn[s]||s,o&&(t=le.exec(o))||i&&(t=le.exec(i))?`en_US_${t[1].toLowerCase()}`:(s==="zh"&&!n&&(r==="hans"?n="CN":r==="hant"&&(n="TW")),s+(n?"_"+n+(i?"_"+i.replace("-","_"):""):""))}},mn=e=>{if(!e)return E;if(e==="zh_HK")return"zh_TW";const t=e.lastIndexOf("_");return t>=0?e.slice(0,t):e!==E?E:""},ue=new Set,de=new Set,Xt=new Map,St=new Map,Yt=new Map,yn=(e,t,s)=>{const n=`${e}/${t}`;Yt.set(n,s)},he=(e,t)=>{Xt.set(e,t)},_n=e=>Xt.get(e),fe=(e,t)=>{const s=`${e}/${t}`;return Yt.has(s)},wn=(e,t)=>{const s=`${e}/${t}`,n=Yt.get(s);return St.get(s)||St.set(s,n(t)),St.get(s)},vn=e=>{ue.has(e)||(console.warn(`[${e}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${e}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`),ue.add(e))},ts=async e=>{const t=kt().getLanguage(),s=kt().getRegion();let n=gn(t+(s?`-${s}`:""));for(;n!==Nt&&!fe(e,n);)n=mn(n);const r=un();if(n===Nt&&!r){he(e,null);return}if(!fe(e,n)){vn(e);return}try{const i=await wn(e,n);he(e,i)}catch(i){de.has(i.message)||(de.add(i.message),console.error(i.message))}};ze(()=>{const e=[...Xt.keys()];return Promise.all(e.map(ts))});const An=new Map,at=new Map,bt=new Map,pe=new Set;let ge=!1;const Sn={iw:"he",ji:"yi",in:"id"},me=e=>{ge||(console.warn(`[LocaleData] Supported locale "${e}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),ge=!0)},bn=(e,t,s)=>{e=e&&Sn[e]||e,e==="no"&&(e="nb"),e==="zh"&&!t&&(s==="Hans"?t="CN":s==="Hant"&&(t="TW")),(e==="sh"||e==="sr"&&s==="Latn")&&(e="sr",t="Latn");let n=`${e}_${t}`;return ee.includes(n)||(n=e,ee.includes(n))?at.has(n)?n:(me(n),E):E},ye=(e,t)=>{An.set(e,t)},$n=e=>{const t=at.get(e);return bt.get(e)||bt.set(e,t(e)),bt.get(e)},Cn=async(e,t,s)=>{const n=bn(e,t,s),r=_("OpenUI5Support");if(r){const i=r.getLocaleDataObject();if(i){ye(n,i);return}}try{const i=await $n(n);ye(n,i)}catch(i){pe.has(i.message)||(pe.add(i.message),console.error(i.message))}},En=(e,t)=>{at.set(e,t)};En("en",async e=>(await fetch("https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json")).json());ze(()=>{const e=kt();return Cn(e.getLanguage(),e.getRegion(),e.getScript())});const es=new Map,ss=new Map,ns=new Set,ct=new Set,b=(e,t,s)=>{ss.set(`${e}/${t}`,s),ns.add(e),ct.add(t)},rs=async(e,t)=>{const s=es.get(`${e}_${t}`);if(s!==void 0)return s;if(!ct.has(t)){const n=[...ct.values()].join(", ");return console.warn(`You have requested a non-registered theme ${t} - falling back to ${xt}. Registered themes are: ${n}`),_e(e,xt)}return _e(e,t)},_e=async(e,t)=>{const s=ss.get(`${e}/${t}`);if(!s){console.error(`Theme [${t}] not registered for package [${e}]`);return}let n;try{n=await s(t)}catch(i){console.error(e,i.message);return}const r=n._||n;return es.set(`${e}_${t}`,r),r},is=()=>ns,Tn=e=>ct.has(e),we={"SAP-icons-TNT":"tnt",BusinessSuiteInAppSymbols:"business-suite",horizon:"SAP-icons-v5"},Mn=(e,t={})=>{const s=document.createElement("style");return s.type="text/css",Object.entries(t).forEach(n=>s.setAttribute(...n)),s.textContent=e,document.head.appendChild(s),s},dt=(e,t)=>t?`${e}|${t}`:e,ht=(e,t,s="")=>{const n=typeof e=="string"?e:e.content;if(document.adoptedStyleSheets){const r=new CSSStyleSheet;r.replaceSync(n),r._ui5StyleId=dt(t,s),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r]}else{const r={};r[t]=s,Mn(n,r)}},Ln=(e,t,s="")=>{const n=typeof e=="string"?e:e.content;document.adoptedStyleSheets?document.adoptedStyleSheets.find(r=>r._ui5StyleId===dt(t,s)).replaceSync(n||""):document.querySelector(`head>style[${t}="${s}"]`).textContent=n||""},ft=(e,t="")=>document.adoptedStyleSheets?!!document.adoptedStyleSheets.find(s=>s._ui5StyleId===dt(e,t)):!!document.querySelector(`head>style[${e}="${t}"]`),On=(e,t="")=>{if(document.adoptedStyleSheets)document.adoptedStyleSheets=document.adoptedStyleSheets.filter(s=>s._ui5StyleId!==dt(e,t));else{const s=document.querySelector(`head > style[${e}="${t}"]`);s&&s.parentElement.removeChild(s)}},os=(e,t,s="")=>{ft(t,s)?Ln(e,t,s):ht(e,t,s)},P=new Set,Pn=()=>{let e=document.querySelector(".sapThemeMetaData-Base-baseLib")||document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");if(e)return getComputedStyle(e).backgroundImage;e=document.createElement("span"),e.style.display="none",e.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(e);let t=getComputedStyle(e).backgroundImage;return t==="none"&&(e.classList.add("sapThemeMetaData-UI5-sap-ui-core"),t=getComputedStyle(e).backgroundImage),document.body.removeChild(e),t},In=e=>{const t=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(e);if(t&&t.length>=2){let s=t[1];if(s=s.replace(/\\"/g,'"'),s.charAt(0)!=="{"&&s.charAt(s.length-1)!=="}")try{s=decodeURIComponent(s)}catch{P.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),P.add("decode"));return}try{return JSON.parse(s)}catch{P.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),P.add("parse"))}}},Dn=e=>{let t,s;try{t=e.Path.match(/\.([^.]+)\.css_variables$/)[1],s=e.Extends[0]}catch{P.has("object")||(console.warn("Malformed theme metadata Object",e),P.add("object"));return}return{themeName:t,baseThemeName:s}},Rn=()=>{const e=Pn();if(!e||e==="none")return;const t=In(e);return Dn(t)},xn=new T,Nn="themeLoaded",Un=e=>xn.fireEvent(Nn,e),z="@ui5/webcomponents-theming",kn=()=>is().has(z),Hn=async e=>{if(!kn())return;const t=await rs(z,e);t&&os(t,"data-ui5-theme-properties",z)},Bn=()=>{On("data-ui5-theme-properties",z)},Fn=async e=>{is().forEach(async s=>{if(s===z)return;const n=await rs(s,e);n&&os(n,"data-ui5-theme-properties",s)})},jn=()=>{const e=Rn();if(e)return e;const t=_("OpenUI5Support");if(t&&t.cssVariablesLoaded())return{themeName:t.getConfigurationSettingsObject().theme}},as=async e=>{const t=jn();!t||e!==t.themeName?await Hn(e):Bn();const s=Tn(e)?e:t&&t.baseThemeName;await Fn(s),Un(e)};let I;const pt=()=>(I===void 0&&(I=Ps()),I),cs=async e=>{I!==e&&(I=e,await as(I),await Jt({themeAware:!0}))},Vn=e=>pt().startsWith(e),zn=new Map,ls=()=>{const e=pt(),t=zn.get(e);return t||(Vn("sap_horizon")?"SAP-icons-v5":"SAP-icons")},ve=new Map,lt=M("SVGIcons.registry",new Map),$t=M("SVGIcons.promises",new Map),Ae="ICON_NOT_FOUND",Wn=async e=>{if(!$t.has(e)){if(!ve.has(e))throw new Error(`No loader registered for the ${e} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const t=ve.get(e);$t.set(e,t(e))}return $t.get(e)},Zn=e=>{Object.keys(e.data).forEach(t=>{const s=e.data[t];qn(t,{pathData:s.path||s.paths,ltr:s.ltr,accData:s.acc,collection:e.collection,packageName:e.packageName})})},qn=(e,{pathData:t,ltr:s,accData:n,collection:r,packageName:i}={})=>{r||(r=ls());const o=`${r}/${e}`;lt.set(o,{pathData:t,ltr:s,accData:n,packageName:i})},Gn=e=>{e.startsWith("sap-icon://")&&(e=e.replace("sap-icon://",""));let t;[e,t]=e.split("/").reverse(),t=t||ls(),t=Jn(t),e=e.replace("icon-","");const s=`${t}/${e}`;return{name:e,collection:t,registryKey:s}},Ct=async e=>{const{collection:t,registryKey:s}=Gn(e);let n=Ae;try{n=await Wn(t)}catch(r){console.error(r.message)}return n===Ae?n:(lt.has(s)||Zn(n),lt.get(s))},Kn=async()=>(await Ct("edit"),await Ct("tnt/arrow"),await Ct("business-suite/3d"),Array.from(lt.keys())),Jn=e=>we[e]?we[e]:e,Ht=M("PopupUtilsData",{});Ht.currentZIndex=Ht.currentZIndex||100;const us=()=>Ht.currentZIndex,w=()=>{const e=window.sap;return e&&e.ui&&typeof e.ui.getCore=="function"&&e.ui.getCore()},Xn=()=>!!w(),Yn=()=>{const e=w();return e?new Promise(t=>{e.attachInit(()=>{window.sap.ui.require(["sap/ui/core/LocaleData","sap/ui/core/Popup"],(s,n)=>{n.setInitialZIndex(us()),t()})})}):Promise.resolve()},Qn=()=>{const e=w();if(!e)return;const t=e.getConfiguration(),s=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:t.getAnimationMode(),language:t.getLanguage(),theme:t.getTheme(),rtl:t.getRTL(),calendarType:t.getCalendarType(),formatSettings:{firstDayOfWeek:s?s.getInstance(t.getLocale()).getFirstDayOfWeek():void 0}}},tr=()=>{const e=w();if(!e)return;const t=e.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(t.getLocale())._get()},er=()=>{const e=w(),t=e.getConfiguration();e.attachThemeChanged(async()=>{await cs(t.getTheme())})},sr=()=>{!w()||er()},nr=()=>{if(!w())return;const t=[...document.head.children].find(s=>s.id==="sap-ui-theme-sap.ui.core");if(!!t)return!!t.href.match(/\/css(-|_)variables\.css/)},rr=()=>w()?window.sap.ui.require("sap/ui/core/Popup").getNextZIndex():void 0,ir=()=>{if(!w())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex(us())},or={isLoaded:Xn,init:Yn,getConfigurationSettingsObject:Qn,getLocaleDataObject:tr,attachListeners:sr,cssVariablesLoaded:nr,getNextZIndex:rr,setInitialZIndex:ir};Ls("OpenUI5Support",or);const ar=()=>new Promise(e=>{document.body?e():document.addEventListener("DOMContentLoaded",()=>{e()})});var cr={packageName:"@ui5/webcomponents-base",fileName:"FontFace.css",content:`@font-face{font-family:"72";font-style:normal;font-weight:400;src:local("72"),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:local('72-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72";font-style:normal;font-weight:700;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:local('72-Bold-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Bold';font-style:normal;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Boldfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Light';font-style:normal;src:local('72-Light'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Lightfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:local('72Black'),url(https://sdk.openui5.org.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2")}`},lr={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 ur=()=>{const e=_("OpenUI5Support");(!e||!e.isLoaded())&&dr(),hr()},dr=()=>{ft("data-ui5-font-face")||ht(cr,"data-ui5-font-face")},hr=()=>{ft("data-ui5-font-face-override")||ht(lr,"data-ui5-font-face-override")};var fr={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}"};const pr=()=>{ft("data-ui5-system-css-vars")||ht(fr,"data-ui5-system-css-vars")};let X;const gr=async()=>X||(X=new Promise(async e=>{qs();const t=_("OpenUI5Support"),s=_("F6Navigation");t?await t.init():s&&s.init(),await ar(),await as(pt()),t&&t.attachListeners(),ur(),pr(),e()}),X);class F{static isValid(t){}static attributeToProperty(t){return t}static propertyToAttribute(t){return`${t}`}static valuesAreEqual(t,s){return t===s}static generateTypeAccessors(t){Object.keys(t).forEach(s=>{Object.defineProperty(this,s,{get(){return t[s]}})})}}const et=(e,t,s=!1)=>{if(typeof e!="function"||typeof t!="function")return!1;if(s&&e===t)return!0;let n=e;do n=Object.getPrototypeOf(n);while(n!==null&&n!==t);return n===t},Et=new Map,Tt=new Map,Se=e=>{if(!Et.has(e)){const t=mr(e.split("-"));Et.set(e,t)}return Et.get(e)},ds=e=>{if(!Tt.has(e)){const t=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();Tt.set(e,t)}return Tt.get(e)},mr=e=>e.map((t,s)=>s===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(""),yr=e=>{if(!(e instanceof HTMLElement))return"default";const t=e.getAttribute("slot");if(t){const s=t.match(/^(.+?)-\d+$/);return s?s[1]:t}return"default"},Bt=e=>e&&e instanceof HTMLElement&&e.localName==="slot",hs=e=>Bt(e)?e.assignedNodes({flatten:!0}).filter(t=>t instanceof HTMLElement):[e],_r=e=>{const t=(s,n)=>s.concat(hs(n));return e.reduce(t,[])};let wr,be={include:[/^ui5-/],exclude:[]};const Mt=new Map,fs=()=>wr,Ft=e=>{if(!Mt.has(e)){const t=be.include.some(s=>e.match(s))&&!be.exclude.some(s=>e.match(s));Mt.set(e,t)}return Mt.get(e)},jt=e=>{if(Ft(e))return fs()};class vr{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},s=this.slotsAreManaged(),n=this.getProperties();for(const r in n){const i=n[r].type,o=n[r].defaultValue;i===Boolean?(t[r]=!1,o!==void 0&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):n[r].multiple?t[r]=[]:i===Object?t[r]="defaultValue"in n[r]?n[r].defaultValue:{}:i===String?t[r]="defaultValue"in n[r]?n[r].defaultValue:"":t[r]=o}if(s){const r=this.getSlots();for(const[i,o]of Object.entries(r)){const a=o.propertyName||i;t[a]=[]}}return this._initialState=t,t}static validatePropertyValue(t,s){return s.multiple?t.map(r=>$e(r,s)):$e(t,s)}static validateSlotValue(t,s){return Ar(t,s)}getPureTag(){return this.metadata.tag}getTag(){const t=this.metadata.tag,s=jt(t);return s?`${t}-${s}`:t}getAltTag(){const t=this.metadata.altTag;if(!t)return;const s=jt(t);return s?`${t}-${s}`:t}hasAttribute(t){const s=this.getProperties()[t];return s.type!==Object&&!s.noAttribute&&!s.multiple}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute,this).map(ds)}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,s])=>s.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,s,n){const r=this.getSlots()[t].invalidateOnChildChange;if(r===void 0)return!1;if(typeof r=="boolean")return r;if(typeof r=="object"){if(s==="property"){if(r.properties===void 0)return!1;if(typeof r.properties=="boolean")return r.properties;if(Array.isArray(r.properties))return r.properties.includes(n);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if(s==="slot"){if(r.slots===void 0)return!1;if(typeof r.slots=="boolean")return r.slots;if(Array.isArray(r.slots))return r.slots.includes(n);throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected")}}throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected")}}const $e=(e,t)=>{const s=t.type;if(s===Boolean)return typeof e=="boolean"?e:!1;if(s===String)return typeof e=="string"||typeof e=="undefined"||e===null?e:e.toString();if(s===Object)return typeof e=="object"?e:t.defaultValue;if(et(s,F))return s.isValid(e)?e:t.defaultValue},Ar=(e,t)=>(e&&hs(e).forEach(s=>{if(!(s instanceof t.type))throw new Error(`${s} is not of type ${t.type}`)}),e);customElements.get("ui5-static-area")||customElements.define("ui5-static-area",class extends HTMLElement{});const Sr=(e,t)=>{const s=br(t),n=fs();return e(t,s,n)},br=e=>{const t=e.constructor.getMetadata().getPureTag(),s=e.constructor.getUniqueDependencies().map(n=>n.getMetadata().getPureTag()).filter(Ft);return Ft(t)&&s.push(t),s},$r=M("CustomStyle.eventProvider",new T),Cr="CustomCSSChange",Qt=e=>{$r.attachEvent(Cr,e)},Ce=M("CustomStyle.customCSSFor",{});Qt(e=>{Jt({tag:e})});const Er=e=>Ce[e]?Ce[e].join(""):"",Lt=e=>Array.isArray(e)?ps(e.filter(t=>!!t)).map(t=>typeof t=="string"?t:t.content).join(" "):typeof e=="string"?e:e.content,ps=e=>e.reduce((t,s)=>t.concat(Array.isArray(s)?ps(s):s),[]),st=new Map;Qt(e=>{st.delete(`${e}_normal`)});const gs=(e,t=!1)=>{const s=e.getMetadata().getTag(),n=`${s}_${t?"static":"normal"}`,r=_("OpenUI5Enablement");if(!st.has(n)){let i,o="";if(r&&(o=Lt(r.getBusyIndicatorStyles())),t)i=Lt(e.staticAreaStyles);else{const a=Er(s)||"";i=`${Lt(e.styles)} ${a}`}i=`${i} ${o}`,st.set(n,i)}return st.get(n)},nt=new Map;Qt(e=>{nt.delete(`${e}_normal`)});const Tr=(e,t=!1)=>{const n=`${e.getMetadata().getTag()}_${t?"static":"normal"}`;if(!nt.has(n)){const r=gs(e,t),i=new CSSStyleSheet;i.replaceSync(r),nt.set(n,[i])}return nt.get(n)},Vt=(e,t=!1)=>{let s;const n=t?"staticAreaTemplate":"template",r=t?e.staticAreaItem.shadowRoot:e.shadowRoot,i=Sr(e.constructor[n],e);document.adoptedStyleSheets?r.adoptedStyleSheets=Tr(e.constructor,t):s=gs(e.constructor,t),e.constructor.render(i,r,s,t,{host:e})},Mr="--_ui5_content_density",Lr=e=>getComputedStyle(e).getPropertyValue(Mr);var Or=e=>{const t=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(e);return t&&t[2]?t[2].split(/,/):null};const Pr={iw:"he",ji:"yi",in:"id",sh:"sr"},Ir=Or("$cldr-rtl-locales:ar,fa,he$")||[],Dr=e=>(e=e&&Pr[e]||e,Ir.indexOf(e)>=0),ms=()=>{const e=Is();return e!==null?!!e:Dr(ot()||ke())},Rr="--_ui5_dir",ys=e=>{const t=window.document,s=["ltr","rtl"],n=getComputedStyle(e).getPropertyValue(Rr);return s.includes(n)?n:s.includes(e.dir)?e.dir:s.includes(t.documentElement.dir)?t.documentElement.dir:s.includes(t.body.dir)?t.body.dir:ms()?"rtl":void 0};class j 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(),Vt(this.ownerElement,!0))}_updateContentDensity(){Lr(this.ownerElement)==="compact"?(this.classList.add("sapUiSizeCompact"),this.classList.add("ui5-content-density-compact")):(this.classList.remove("sapUiSizeCompact"),this.classList.remove("ui5-content-density-compact"))}_updateDirection(){const t=ys(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}async getDomRef(){return this._updateContentDensity(),this._rendered||(this._rendered=!0,Vt(this.ownerElement,!0)),await Kt(),this.shadowRoot}static getTag(){const t="ui5-static-area-item",s=jt(t);return s?`${t}-${s}`:t}static createInstance(){return customElements.get(j.getTag())||customElements.define(j.getTag(),j),document.createElement(this.getTag())}}const zt=new WeakMap;let xr=(e,t,s)=>{const n=new MutationObserver(t);return n.observe(e,s),n},Nr=e=>{e.disconnect()};const Ur=(e,t,s)=>{const n=xr(e,t,s);zt.set(e,n)},kr=e=>{const t=zt.get(e);t&&(Nr(t),zt.delete(e))},Hr=["value-changed"],Br=e=>Hr.includes(e);let rt;const Fr=e=>{const t=te();return!(t.events&&t.events.includes&&t.events.includes(e))},te=()=>(rt===void 0&&(rt=xs()),rt),jr=e=>{const t=te();return Br(e)?!1:t===!0?!0:!Fr(e)},Vr=e=>{rt=e},zr=["disabled","title","hidden","role","draggable"],Ee=e=>zr.includes(e)||e.startsWith("aria")?!0:![HTMLElement,Element,Node].some(s=>s.prototype.hasOwnProperty(e)),Te=(e,t)=>{if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(e[s]!==t[s])return!1;return!0},Wr=(e,t)=>class extends e{constructor(){super(),t&&t()}};let Zr=0;const Me=new Map,Ot=new Map;function H(e){this._suppressInvalidation||(this.onInvalidation(e),this._changedState.push(e),Xe(this),this._eventProvider.fireEvent("invalidate",{...e,target:this}))}let Le={};class L extends HTMLElement{constructor(){super(),this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new T;let t;this._domRefReadyPromise=new Promise(s=>{t=s}),this._domRefReadyPromise._deferredResolve=t,this._doNotSyncAttributes=new Set,this._initializeState(),this._upgradeAllProperties(),this.constructor._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id=`ui5wc_${++Zr}`),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&&(Ye(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,typeof this.onEnterDOM=="function"&&this.onEnterDOM())}disconnectedCallback(){const t=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,t&&this._stopObservingDOMChildren(),this._fullyConnected&&(typeof this.onExitDOM=="function"&&this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),nn(this)}_startObservingDOMChildren(){if(!this.constructor.getMetadata().hasSlots())return;const s=this.constructor.getMetadata().canSlotText(),n={childList:!0,subtree:s,characterData:s};Ur(this,this._processChildren.bind(this),n)}_stopObservingDOMChildren(){kr(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor.getMetadata().getSlots(),s=this.constructor.getMetadata().canSlotText(),n=Array.from(s?this.childNodes:this.children),r=new Map,i=new Map;for(const[h,d]of Object.entries(t)){const u=d.propertyName||h;i.set(u,h),r.set(u,[...this._state[u]]),this._clearSlot(h,d)}const o=new Map,a=new Map,c=n.map(async(h,d)=>{const u=yr(h),p=t[u];if(p===void 0){const g=Object.keys(t).join(", ");console.warn(`Unknown slotName: ${u}, ignoring`,h,`Valid values are: ${g}`);return}if(p.individualSlots){const g=(o.get(u)||0)+1;o.set(u,g),h._individualSlot=`${u}-${g}`}if(h instanceof HTMLElement){const g=h.localName;if(g.includes("-")){if(!window.customElements.get(g)){const bs=window.customElements.whenDefined(g);let K=Me.get(g);K||(K=new Promise($s=>setTimeout($s,1e3)),Me.set(g,K)),await Promise.race([bs,K])}window.customElements.upgrade(h)}}h=this.constructor.getMetadata().constructor.validateSlotValue(h,p),h.isUI5Element&&p.invalidateOnChildChange&&(h.attachInvalidate||h._attachChange).bind(h)(this._getChildChangeListener(u)),Bt(h)&&this._attachSlotChange(h,u);const v=p.propertyName||u;a.has(v)?a.get(v).push({child:h,idx:d}):a.set(v,[{child:h,idx:d}])});await Promise.all(c),a.forEach((h,d)=>{this._state[d]=h.sort((u,p)=>u.idx-p.idx).map(u=>u.child)});let l=!1;for(const[h,d]of Object.entries(t)){const u=d.propertyName||h;Te(r.get(u),this._state[u])||(H.call(this,{type:"slot",name:i.get(u),reason:"children"}),l=!0)}l||H.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,s){const n=s.propertyName||t;this._state[n].forEach(i=>{i&&i.isUI5Element&&(i.detachInvalidate||i._detachChange).bind(i)(this._getChildChangeListener(t)),Bt(i)&&this._detachSlotChange(i,t)}),this._state[n]=[]}attachInvalidate(t){this._eventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._eventProvider.detachEvent("invalidate",t)}_onChildChange(t,s){!this.constructor.getMetadata().shouldInvalidateOnChildChange(t,s.type,s.name)||H.call(this,{type:"slot",name:t,reason:"childchange",child:s.target})}attributeChangedCallback(t,s,n){if(this._doNotSyncAttributes.has(t))return;const r=this.constructor.getMetadata().getProperties(),i=t.replace(/^ui5-/,""),o=Se(i);if(r.hasOwnProperty(o)){const a=r[o].type;a===Boolean?n=n!==null:et(a,F)&&(n=a.attributeToProperty(n)),this[o]=n}}_updateAttribute(t,s){if(!this.constructor.getMetadata().hasAttribute(t))return;const r=this.constructor.getMetadata().getProperties()[t].type,i=ds(t),o=this.getAttribute(i);if(r===Boolean)s===!0&&o===null?this.setAttribute(i,""):s===!1&&o!==null&&this.removeAttribute(i);else if(et(r,F)){const a=r.propertyToAttribute(s);a===null?(this._doNotSyncAttributes.add(i),this.removeAttribute(i),this._doNotSyncAttributes.delete(i)):this.setAttribute(i,a)}else typeof s!="object"&&o!==s&&this.setAttribute(i,s)}_upgradeProperty(t){if(this.hasOwnProperty(t)){const s=this[t];delete this[t],this[t]=s}}_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,s){t.addEventListener("slotchange",this._getSlotChangeListener(s))}_detachSlotChange(t,s){t.removeEventListener("slotchange",this._getSlotChangeListener(s))}_onSlotChange(t){H.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,typeof this.onBeforeRendering=="function"&&this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],this.constructor._needsShadowDOM()&&Vt(this),this.staticAreaItem&&this.staticAreaItem.update(),t&&this._assignIndividualSlotsToChildren(),typeof this.onAfterRendering=="function"&&this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach(s=>{s._individualSlot&&s.setAttribute("slot",s._individualSlot)})}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(typeof this._getRealDomRef=="function")return this._getRealDomRef();if(!this.shadowRoot||this.shadowRoot.children.length===0)return;const t=[...this.shadowRoot.children].filter(s=>!["link","style"].includes(s.localName));return t.length!==1&&console.warn(`The shadow DOM for ${this.constructor.getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`),t[0]}getFocusDomRef(){const t=this.getDomRef();if(t)return t.querySelector("[data-sap-focus-ref]")||t}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(){await this._waitForDomRef();const t=this.getFocusDomRef();t&&typeof t.focus=="function"&&t.focus()}fireEvent(t,s,n=!1,r=!0){const i=this._fireEvent(t,s,n,r),o=Se(t);return o!==t?i&&this._fireEvent(o,s,n):i}_fireEvent(t,s,n=!1,r=!0){const i=new CustomEvent(`ui5-${t}`,{detail:s,composed:!1,bubbles:r,cancelable:n}),o=this.dispatchEvent(i);if(jr(t))return o;const a=new CustomEvent(t,{detail:s,composed:!1,bubbles:r,cancelable:n});return this.dispatchEvent(a)&&o}getSlottedNodes(t){return _r(this[t])}get effectiveDir(){return tn(this.constructor),ys(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=j.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||Ze("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,s=this.getMetadata().slotsAreManaged(),n=this.getMetadata().getProperties();for(const[r,i]of Object.entries(n)){if(Ee(r)||console.warn(`"${r}" is not a valid property name. Use a name that does not collide with DOM APIs`),i.type===Boolean&&i.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All booleans are false by default.`);if(i.type===Array)throw new Error(`Wrong type for property "${r}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(i.type===Object&&i.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All properties of type "Object" are empty objects by default.`);if(i.multiple&&i.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,r,{get(){if(this._state[r]!==void 0)return this._state[r];const o=i.defaultValue;return i.type===Boolean?!1:i.type===String?o:i.multiple?[]:o},set(o){let a;o=this.constructor.getMetadata().constructor.validatePropertyValue(o,i);const c=this._state[r];i.multiple&&i.compareValues?a=!Te(c,o):et(i.type,F)?a=!i.type.valuesAreEqual(c,o):a=c!==o,a&&(this._state[r]=o,H.call(this,{type:"property",name:r,newValue:o,oldValue:c}),this._updateAttribute(r,o))}})}if(s){const r=this.getMetadata().getSlots();for(const[i,o]of Object.entries(r)){Ee(i)||console.warn(`"${i}" is not a valid property name. Use a name that does not collide with DOM APIs`);const a=o.propertyName||i;Object.defineProperty(t,a,{get(){return this._state[a]!==void 0?this._state[a]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get metadata(){return Le}static set metadata(t){Le=t}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!Ot.has(this)){const t=this.dependencies.filter((s,n,r)=>r.indexOf(s)===n);Ot.set(this,t)}return Ot.get(this)}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map(t=>t.define()))}static async onDefine(){return Promise.resolve()}static async define(){await gr(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),s=this.getMetadata().getAltTag(),n=Js(t),r=customElements.get(t);return r&&!n?Ys(t):r||(this._generateAccessors(),ae(t),window.customElements.define(t,this),s&&!customElements.get(s)&&(ae(s),window.customElements.define(s,Wr(this,()=>{console.log(`The ${s} 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 s=this;for(;s!==L;)s=Object.getPrototypeOf(s),t.unshift(s.metadata);const n=Zt({},...t);return this._metadata=new vr(n),this._metadata}}/**
|
|
10
|
+
* @license
|
|
11
|
+
* Copyright 2017 Google LLC
|
|
12
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
13
|
+
*/var Pt;const x=globalThis.trustedTypes,Oe=x?x.createPolicy("lit-html",{createHTML:e=>e}):void 0,A=`lit$${(Math.random()+"").slice(9)}$`,_s="?"+A,qr=`<${_s}>`,N=document,W=(e="")=>N.createComment(e),Z=e=>e===null||typeof e!="object"&&typeof e!="function",ws=Array.isArray,Gr=e=>{var t;return ws(e)||typeof((t=e)===null||t===void 0?void 0:t[Symbol.iterator])=="function"},B=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Pe=/-->/g,Ie=/>/g,$=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,De=/'/g,Re=/"/g,vs=/^(?:script|style|textarea|title)$/i,Kr=e=>(t,...s)=>({_$litType$:e,strings:t,values:s}),Jr=Kr(1),U=Symbol.for("lit-noChange"),f=Symbol.for("lit-nothing"),xe=new WeakMap,Xr=(e,t,s)=>{var n,r;const i=(n=s==null?void 0:s.renderBefore)!==null&&n!==void 0?n:t;let o=i._$litPart$;if(o===void 0){const a=(r=s==null?void 0:s.renderBefore)!==null&&r!==void 0?r:null;i._$litPart$=o=new G(t.insertBefore(W(),a),a,void 0,s!=null?s:{})}return o._$AI(e),o},D=N.createTreeWalker(N,129,null,!1),Yr=(e,t)=>{const s=e.length-1,n=[];let r,i=t===2?"<svg>":"",o=B;for(let c=0;c<s;c++){const l=e[c];let h,d,u=-1,p=0;for(;p<l.length&&(o.lastIndex=p,d=o.exec(l),d!==null);)p=o.lastIndex,o===B?d[1]==="!--"?o=Pe:d[1]!==void 0?o=Ie:d[2]!==void 0?(vs.test(d[2])&&(r=RegExp("</"+d[2],"g")),o=$):d[3]!==void 0&&(o=$):o===$?d[0]===">"?(o=r!=null?r:B,u=-1):d[1]===void 0?u=-2:(u=o.lastIndex-d[2].length,h=d[1],o=d[3]===void 0?$:d[3]==='"'?Re:De):o===Re||o===De?o=$:o===Pe||o===Ie?o=B:(o=$,r=void 0);const v=o===$&&e[c+1].startsWith("/>")?" ":"";i+=o===B?l+qr:u>=0?(n.push(h),l.slice(0,u)+"$lit$"+l.slice(u)+A+v):l+A+(u===-2?(n.push(void 0),c):v)}const a=i+(e[s]||"<?>")+(t===2?"</svg>":"");if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return[Oe!==void 0?Oe.createHTML(a):a,n]};class q{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let i=0,o=0;const a=t.length-1,c=this.parts,[l,h]=Yr(t,s);if(this.el=q.createElement(l,n),D.currentNode=this.el.content,s===2){const d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(r=D.nextNode())!==null&&c.length<a;){if(r.nodeType===1){if(r.hasAttributes()){const d=[];for(const u of r.getAttributeNames())if(u.endsWith("$lit$")||u.startsWith(A)){const p=h[o++];if(d.push(u),p!==void 0){const v=r.getAttribute(p.toLowerCase()+"$lit$").split(A),g=/([.?@])?(.*)/.exec(p);c.push({type:1,index:i,name:g[2],strings:v,ctor:g[1]==="."?ti:g[1]==="?"?si:g[1]==="@"?ni:gt})}else c.push({type:6,index:i})}for(const u of d)r.removeAttribute(u)}if(vs.test(r.tagName)){const d=r.textContent.split(A),u=d.length-1;if(u>0){r.textContent=x?x.emptyScript:"";for(let p=0;p<u;p++)r.append(d[p],W()),D.nextNode(),c.push({type:2,index:++i});r.append(d[u],W())}}}else if(r.nodeType===8)if(r.data===_s)c.push({type:2,index:i});else{let d=-1;for(;(d=r.data.indexOf(A,d+1))!==-1;)c.push({type:7,index:i}),d+=A.length-1}i++}}static createElement(t,s){const n=N.createElement("template");return n.innerHTML=t,n}}function k(e,t,s=e,n){var r,i,o,a;if(t===U)return t;let c=n!==void 0?(r=s._$Cl)===null||r===void 0?void 0:r[n]:s._$Cu;const l=Z(t)?void 0:t._$litDirective$;return(c==null?void 0:c.constructor)!==l&&((i=c==null?void 0:c._$AO)===null||i===void 0||i.call(c,!1),l===void 0?c=void 0:(c=new l(e),c._$AT(e,s,n)),n!==void 0?((o=(a=s)._$Cl)!==null&&o!==void 0?o:a._$Cl=[])[n]=c:s._$Cu=c),c!==void 0&&(t=k(e,c._$AS(e,t.values),c,n)),t}class Qr{constructor(t,s){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var s;const{el:{content:n},parts:r}=this._$AD,i=((s=t==null?void 0:t.creationScope)!==null&&s!==void 0?s:N).importNode(n,!0);D.currentNode=i;let o=D.nextNode(),a=0,c=0,l=r[0];for(;l!==void 0;){if(a===l.index){let h;l.type===2?h=new G(o,o.nextSibling,this,t):l.type===1?h=new l.ctor(o,l.name,l.strings,this,t):l.type===6&&(h=new ri(o,this,t)),this.v.push(h),l=r[++c]}a!==(l==null?void 0:l.index)&&(o=D.nextNode(),a++)}return i}m(t){let s=0;for(const n of this.v)n!==void 0&&(n.strings!==void 0?(n._$AI(t,n,s),s+=n.strings.length-2):n._$AI(t[s])),s++}}class G{constructor(t,s,n,r){var i;this.type=2,this._$AH=f,this._$AN=void 0,this._$AA=t,this._$AB=s,this._$AM=n,this.options=r,this._$Cg=(i=r==null?void 0:r.isConnected)===null||i===void 0||i}get _$AU(){var t,s;return(s=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&s!==void 0?s:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&t.nodeType===11&&(t=s.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,s=this){t=k(this,t,s),Z(t)?t===f||t==null||t===""?(this._$AH!==f&&this._$AR(),this._$AH=f):t!==this._$AH&&t!==U&&this.$(t):t._$litType$!==void 0?this.T(t):t.nodeType!==void 0?this.k(t):Gr(t)?this.S(t):this.$(t)}M(t,s=this._$AB){return this._$AA.parentNode.insertBefore(t,s)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==f&&Z(this._$AH)?this._$AA.nextSibling.data=t:this.k(N.createTextNode(t)),this._$AH=t}T(t){var s;const{values:n,_$litType$:r}=t,i=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=q.createElement(r.h,this.options)),r);if(((s=this._$AH)===null||s===void 0?void 0:s._$AD)===i)this._$AH.m(n);else{const o=new Qr(i,this),a=o.p(this.options);o.m(n),this.k(a),this._$AH=o}}_$AC(t){let s=xe.get(t.strings);return s===void 0&&xe.set(t.strings,s=new q(t)),s}S(t){ws(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let n,r=0;for(const i of t)r===s.length?s.push(n=new G(this.M(W()),this.M(W()),this,this.options)):n=s[r],n._$AI(i),r++;r<s.length&&(this._$AR(n&&n._$AB.nextSibling,r),s.length=r)}_$AR(t=this._$AA.nextSibling,s){var n;for((n=this._$AP)===null||n===void 0||n.call(this,!1,!0,s);t&&t!==this._$AB;){const r=t.nextSibling;t.remove(),t=r}}setConnected(t){var s;this._$AM===void 0&&(this._$Cg=t,(s=this._$AP)===null||s===void 0||s.call(this,t))}}class gt{constructor(t,s,n,r,i){this.type=1,this._$AH=f,this._$AN=void 0,this.element=t,this.name=s,this._$AM=r,this.options=i,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=f}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,s=this,n,r){const i=this.strings;let o=!1;if(i===void 0)t=k(this,t,s,0),o=!Z(t)||t!==this._$AH&&t!==U,o&&(this._$AH=t);else{const a=t;let c,l;for(t=i[0],c=0;c<i.length-1;c++)l=k(this,a[n+c],s,c),l===U&&(l=this._$AH[c]),o||(o=!Z(l)||l!==this._$AH[c]),l===f?t=f:t!==f&&(t+=(l!=null?l:"")+i[c+1]),this._$AH[c]=l}o&&!r&&this.C(t)}C(t){t===f?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!=null?t:"")}}class ti extends gt{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===f?void 0:t}}const ei=x?x.emptyScript:"";class si extends gt{constructor(){super(...arguments),this.type=4}C(t){t&&t!==f?this.element.setAttribute(this.name,ei):this.element.removeAttribute(this.name)}}class ni extends gt{constructor(t,s,n,r,i){super(t,s,n,r,i),this.type=5}_$AI(t,s=this){var n;if((t=(n=k(this,t,s,0))!==null&&n!==void 0?n:f)===U)return;const r=this._$AH,i=t===f&&r!==f||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==f&&(r===f||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var s,n;typeof this._$AH=="function"?this._$AH.call((n=(s=this.options)===null||s===void 0?void 0:s.host)!==null&&n!==void 0?n:this.element,t):this._$AH.handleEvent(t)}}class ri{constructor(t,s,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=s,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){k(this,t)}}const Ne=window.litHtmlPolyfillSupport;Ne==null||Ne(q,G),((Pt=globalThis.litHtmlVersions)!==null&&Pt!==void 0?Pt:globalThis.litHtmlVersions=[]).push("2.2.2");/**
|
|
14
|
+
* @license
|
|
15
|
+
* Copyright 2017 Google LLC
|
|
16
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
17
|
+
*/const ii={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6};class oi{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,s,n){this._$Ct=t,this._$AM=s,this._$Ci=n}_$AS(t,s){return this.update(t,s)}update(t,s){return this.render(...s)}}/**
|
|
18
|
+
* @license
|
|
19
|
+
* Copyright 2017 Google LLC
|
|
20
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
21
|
+
*/class Ue extends oi{constructor(t){if(super(t),this.it=f,t.type!==ii.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===f||t==null)return this.ft=void 0,this.it=t;if(t===U)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.ft;this.it=t;const s=[t];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}Ue.directiveName="unsafeHTML",Ue.resultType=1;const y=(...e)=>{const t=_("LitStatic");return(t?t.html:Jr)(...e)},mt=(e,t,s,n,{host:r}={})=>{const i=_("OpenUI5Enablement");i&&!n&&(e=i.wrapTemplateResultInBusyMarkup(y,r,e)),typeof s=="string"?e=y`<style>${s}</style>${e}`:Array.isArray(s)&&s.length&&(e=y`${s.map(o=>y`<link type="text/css" rel="stylesheet" href="${o}">`)}${e}`),Xr(e,t,{host:r})},ai={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 As extends L{static get metadata(){return ai}static get render(){return mt}static get template(){return t=>y`<div><p>
|
|
22
|
+
<slot></slot>
|
|
23
|
+
<slot name="other"></slot>
|
|
24
|
+
<slot name="individual-1"></slot>
|
|
25
|
+
<slot name="individual-2"></slot>
|
|
26
|
+
</p></div>`}static get styles(){return`:host {
|
|
27
|
+
display: inline-block;
|
|
28
|
+
border: 1px solid black;
|
|
29
|
+
color: var(--var1);
|
|
30
|
+
}`}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}As.define();const ci={tag:"ui5-test-no-shadow"};class li extends L{static get metadata(){return ci}}li.define();const ui={tag:"ui5-test-parent",managedSlots:!0,slots:{default:{type:Node,invalidateOnChildChange:{properties:["prop1"]}},items:{type:HTMLElement,invalidateOnChildChange:{properties:!0}}}};class di extends L{static get metadata(){return ui}static get render(){return mt}static get template(){return t=>y`<div>
|
|
31
|
+
<slot></slot>
|
|
32
|
+
</div>`}}di.define();const hi={tag:"ui5-test-child",properties:{prop1:{type:String},prop2:{type:String},prop3:{type:String}}};class fi extends L{static get metadata(){return hi}static get render(){return mt}static get template(){return t=>y`<div></div>`}}fi.define();const pi={tag:"ui5-with-static-area",properties:{staticContent:{type:Boolean}},slots:{}};class gi extends L{static get metadata(){return pi}static get render(){return mt}static get template(){return t=>y`
|
|
33
|
+
<div dir=${t.effectiveDir}>
|
|
34
|
+
WithStaticArea works!
|
|
35
|
+
</div>`}static get staticAreaTemplate(){return t=>y`
|
|
36
|
+
<div class="ui5-with-static-area-content">
|
|
37
|
+
Static area content.
|
|
38
|
+
</div>`}static get styles(){return`
|
|
39
|
+
:host {
|
|
40
|
+
display: inline-block;
|
|
41
|
+
border: 1px solid black;
|
|
42
|
+
color: red;
|
|
43
|
+
}`}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(){}}gi.define();const mi={tag:"ui5-test-generic-ext",properties:{extProp:{type:String},strProp:{defaultValue:"Ext"}},slots:{extSlot:{type:HTMLElement}}};class yi extends As{static get metadata(){return mi}}yi.define();const _i=":root{ --var1: red; }",wi=":root{ --var1: green; }",vi=":root{ --var1: blue; }",Ai=":root{ --var1: orange; }",Si=":root{ --var1: orange; }",bi=":root{ --var1: yellow; }",$i=":root{ --var1: yellow; }";b("@ui5/webcomponents-base-test","sap_fiori_3",()=>_i);b("@ui5/webcomponents-base-test","sap_fiori_3_dark",()=>wi);b("@ui5/webcomponents-base-test","sap_belize",()=>vi);b("@ui5/webcomponents-base-test","sap_belize_hcb",()=>Ai);b("@ui5/webcomponents-base-test","sap_belize_hcw",()=>Si);b("@ui5/webcomponents-base-test","sap_fiori_3_hcb",()=>bi);b("@ui5/webcomponents-base-test","sap_fiori_3_hcw",()=>$i);const Ci=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,Ei=(e,t)=>(t=t||[],e.replace(Ci,(s,n,r,i,o)=>{if(n)return"'";if(r)return r.replace(/''/g,"'");if(i)return String(t[parseInt(i)]);throw new Error(`[i18n]: pattern syntax error at pos ${o}`)})),It=new Map;class Ti{constructor(t){this.packageName=t}getText(t,...s){if(typeof t=="string"&&(t={key:t,defaultText:t}),!t||!t.key)return"";const n=_n(this.packageName);n&&!n[t.key]&&console.warn(`Key ${t.key} not found in the i18n bundle, the default text will be used`);const r=n&&n[t.key]?n[t.key]:t.defaultText||t.key;return s.length?Ei(r,s):r}}const Mi=e=>{if(It.has(e))return It.get(e);const t=new Ti(e);return It.set(e,t),t},Li=async e=>(await ts(e),Mi(e));let Dt;const Oi=()=>(Dt===void 0&&(Dt=Os()),Dt),Ss={Gregorian:"Gregorian",Islamic:"Islamic",Japanese:"Japanese",Buddhist:"Buddhist",Persian:"Persian"};class Wt extends F{static isValid(t){return!!Ss[t]}}Wt.generateTypeAccessors(Ss);let Y;const Pi=()=>(Y===void 0&&(Y=Ns()),Wt.isValid(Y)?Y:Wt.Gregorian);let Rt;const Ii=()=>(Rt===void 0&&(Rt=Us()),Rt.firstDayOfWeek),Di=new T,Ri="directionChange",xi=()=>Di.fireEvent(Ri),Ni=async()=>{const e=xi();await Promise.all(e),await Jt({rtlAware:!0})};window.registerThemePropertiesLoader=b;window["sap-ui-webcomponents-bundle"]={configuration:{getAnimationMode:Oi,getLanguage:ot,getTheme:pt,setTheme:cs,getNoConflict:te,setNoConflict:Vr,getCalendarType:Pi,getRTL:ms,getFirstDayOfWeek:Ii},getIconNames:Kn,registerI18nLoader:yn,getI18nBundle:Li,renderFinished:Kt,applyDirection:Ni,EventProvider:T};
|
package/dist/css/FontFace.css
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
font-style: normal;
|
|
4
4
|
font-weight: 400;
|
|
5
5
|
src: local("72"),
|
|
6
|
-
url(https://
|
|
7
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents) format("woff");
|
|
6
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2");
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
@font-face {
|
|
@@ -12,8 +11,7 @@
|
|
|
12
11
|
font-style: normal;
|
|
13
12
|
font-weight: 400;
|
|
14
13
|
src: local('72-full'),
|
|
15
|
-
url(https://
|
|
16
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents) format("woff");
|
|
14
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2");
|
|
17
15
|
|
|
18
16
|
}
|
|
19
17
|
|
|
@@ -22,8 +20,7 @@
|
|
|
22
20
|
font-style: normal;
|
|
23
21
|
font-weight: 700;
|
|
24
22
|
src: local('72-Bold'),
|
|
25
|
-
url(https://
|
|
26
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff");
|
|
23
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
|
|
27
24
|
}
|
|
28
25
|
|
|
29
26
|
@font-face {
|
|
@@ -31,38 +28,33 @@
|
|
|
31
28
|
font-style: normal;
|
|
32
29
|
font-weight: 700;
|
|
33
30
|
src: local('72-Bold-full'),
|
|
34
|
-
url(https://
|
|
35
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff");
|
|
31
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
@font-face {
|
|
39
35
|
font-family: '72-Bold';
|
|
40
36
|
font-style: normal;
|
|
41
37
|
src: local('72-Bold'),
|
|
42
|
-
url(https://
|
|
43
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff");
|
|
38
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
|
|
44
39
|
}
|
|
45
40
|
|
|
46
41
|
@font-face {
|
|
47
42
|
font-family: '72-Boldfull';
|
|
48
43
|
font-style: normal;
|
|
49
|
-
src: url(https://
|
|
50
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff");
|
|
44
|
+
src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
@font-face {
|
|
54
48
|
font-family: '72-Light';
|
|
55
49
|
font-style: normal;
|
|
56
50
|
src: local('72-Light'),
|
|
57
|
-
url(https://
|
|
58
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff?ui5-webcomponents) format("woff");
|
|
51
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2");
|
|
59
52
|
}
|
|
60
53
|
|
|
61
54
|
@font-face {
|
|
62
55
|
font-family: '72-Lightfull';
|
|
63
56
|
font-style: normal;
|
|
64
|
-
src: url(https://
|
|
65
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff?ui5-webcomponents) format("woff");
|
|
57
|
+
src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2");
|
|
66
58
|
}
|
|
67
59
|
|
|
68
60
|
@font-face {
|
|
@@ -70,6 +62,5 @@
|
|
|
70
62
|
font-style: bold;
|
|
71
63
|
font-weight: 900;
|
|
72
64
|
src: local('72Black'),
|
|
73
|
-
url(https://
|
|
74
|
-
url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff?ui5-webcomponents) format("woff");
|
|
65
|
+
url(https://sdk.openui5.org.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2");
|
|
75
66
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
packageName: "@ui5/webcomponents-base",
|
|
3
3
|
fileName: "FontFace.css",
|
|
4
|
-
content: `@font-face{font-family:"72";font-style:normal;font-weight:400;src:local("72"),url(https://
|
|
4
|
+
content: `@font-face{font-family:"72";font-style:normal;font-weight:400;src:local("72"),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:local('72-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72";font-style:normal;font-weight:700;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:local('72-Bold-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Bold';font-style:normal;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Boldfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Light';font-style:normal;src:local('72-Light'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Lightfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:local('72Black'),url(https://sdk.openui5.org.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2")}`
|
|
5
5
|
};
|
package/dist/i18nBundle.js
CHANGED
|
@@ -37,7 +37,7 @@ class I18nBundle {
|
|
|
37
37
|
}
|
|
38
38
|
const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
|
|
39
39
|
|
|
40
|
-
return formatMessage(messageText, params);
|
|
40
|
+
return params.length ? formatMessage(messageText, params) : messageText;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import DataType from "./DataType.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @class
|
|
5
|
+
* DOM Element reference or ID.
|
|
6
|
+
* <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
class DOMReference extends DataType {
|
|
11
|
+
static isValid(value) {
|
|
12
|
+
return (typeof value === "string" || value instanceof HTMLElement);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static propertyToAttribute(propertyValue) {
|
|
16
|
+
if (propertyValue instanceof HTMLElement) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return propertyValue;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default DOMReference;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import findNodeOwner from "./findNodeOwner.js";
|
|
2
|
-
|
|
3
1
|
const getEffectiveAriaLabelText = el => {
|
|
4
2
|
if (!el.accessibleNameRef) {
|
|
5
3
|
if (el.accessibleName) {
|
|
@@ -15,12 +13,12 @@ const getEffectiveAriaLabelText = el => {
|
|
|
15
13
|
/**
|
|
16
14
|
*
|
|
17
15
|
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
|
|
18
|
-
* @param {HTMLElement} ownerDocument (Optional) Defines the
|
|
16
|
+
* @param {Document|HTMLElement} ownerDocument (Optional) Defines the document or element where you want to search for the texts
|
|
19
17
|
* @param {String} readyIds (Optional) Defines a string of elements ids. The text of these elements will be returned. If used you should provide either el or ownerDocument
|
|
20
18
|
*/
|
|
21
19
|
const getAriaLabelledByTexts = (el, ownerDocument, readyIds = "") => {
|
|
22
20
|
const ids = (readyIds && readyIds.split(" ")) || el.accessibleNameRef.split(" ");
|
|
23
|
-
const owner = ownerDocument ||
|
|
21
|
+
const owner = ownerDocument || el.getRootNode();
|
|
24
22
|
let result = "";
|
|
25
23
|
|
|
26
24
|
ids.forEach((elementId, index) => {
|
|
@@ -3,7 +3,7 @@ const path = require('path');
|
|
|
3
3
|
const CleanCSS = require('clean-css');
|
|
4
4
|
|
|
5
5
|
const generate = async () => {
|
|
6
|
-
await fs.mkdir("dist/generated/css/");
|
|
6
|
+
await fs.mkdir("dist/generated/css/", {recursive: true});
|
|
7
7
|
|
|
8
8
|
const files = (await fs.readdir("src/css/")).filter(file => file.endsWith(".css"));
|
|
9
9
|
const filesPromises = files.map(async file => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui5/webcomponents-base",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "UI5 Web Components: webcomponents.base",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@buxlabs/amd-to-es6": "0.16.1",
|
|
38
38
|
"@openui5/sap.ui.core": "1.101.0",
|
|
39
|
-
"@ui5/webcomponents-tools": "1.
|
|
40
|
-
"chromedriver": "
|
|
39
|
+
"@ui5/webcomponents-tools": "1.7.0",
|
|
40
|
+
"chromedriver": "104.0.0",
|
|
41
41
|
"clean-css": "^5.2.2",
|
|
42
42
|
"copy-and-watch": "^0.1.5",
|
|
43
43
|
"cross-env": "^7.0.3",
|
package/src/UI5Element.js
CHANGED
|
@@ -74,6 +74,7 @@ class UI5Element extends HTMLElement {
|
|
|
74
74
|
deferredResolve = resolve;
|
|
75
75
|
});
|
|
76
76
|
this._domRefReadyPromise._deferredResolve = deferredResolve;
|
|
77
|
+
this._doNotSyncAttributes = new Set(); // attributes that are excluded from attributeChangedCallback synchronization
|
|
77
78
|
|
|
78
79
|
this._initializeState();
|
|
79
80
|
this._upgradeAllProperties();
|
|
@@ -376,6 +377,10 @@ class UI5Element extends HTMLElement {
|
|
|
376
377
|
* @private
|
|
377
378
|
*/
|
|
378
379
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
380
|
+
if (this._doNotSyncAttributes.has(name)) { // This attribute is mutated internally, not by the user
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
|
|
379
384
|
const properties = this.constructor.getMetadata().getProperties();
|
|
380
385
|
const realName = name.replace(/^ui5-/, "");
|
|
381
386
|
const nameInCamelCase = kebabToCamelCase(realName);
|
|
@@ -409,7 +414,14 @@ class UI5Element extends HTMLElement {
|
|
|
409
414
|
this.removeAttribute(attrName);
|
|
410
415
|
}
|
|
411
416
|
} else if (isDescendantOf(propertyTypeClass, DataType)) {
|
|
412
|
-
|
|
417
|
+
const newAttrValue = propertyTypeClass.propertyToAttribute(newValue);
|
|
418
|
+
if (newAttrValue === null) { // null means there must be no attribute for the current value of the property
|
|
419
|
+
this._doNotSyncAttributes.add(attrName); // skip the attributeChangedCallback call for this attribute
|
|
420
|
+
this.removeAttribute(attrName); // remove the attribute safely (will not trigger synchronization to the property value due to the above line)
|
|
421
|
+
this._doNotSyncAttributes.delete(attrName); // enable synchronization again for this attribute
|
|
422
|
+
} else {
|
|
423
|
+
this.setAttribute(attrName, newAttrValue);
|
|
424
|
+
}
|
|
413
425
|
} else if (typeof newValue !== "object") {
|
|
414
426
|
if (attrValue !== newValue) {
|
|
415
427
|
this.setAttribute(attrName, newValue);
|
|
@@ -36,7 +36,7 @@ const _fillRegistry = bundleData => {
|
|
|
36
36
|
const iconData = bundleData.data[iconName];
|
|
37
37
|
|
|
38
38
|
registerIcon(iconName, {
|
|
39
|
-
pathData: iconData.path,
|
|
39
|
+
pathData: iconData.path || iconData.paths,
|
|
40
40
|
ltr: iconData.ltr,
|
|
41
41
|
accData: iconData.acc,
|
|
42
42
|
collection: bundleData.collection,
|
|
@@ -147,7 +147,7 @@ const registerLocaleDataLoader = (localeId, loader) => {
|
|
|
147
147
|
|
|
148
148
|
// register default loader for "en" from ui5 CDN (dev workflow without assets)
|
|
149
149
|
registerLocaleDataLoader("en", async runtimeLocaleId => {
|
|
150
|
-
return (await fetch(`https://
|
|
150
|
+
return (await fetch(`https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json`)).json();
|
|
151
151
|
});
|
|
152
152
|
|
|
153
153
|
// When the language changes dynamically (the user calls setLanguage),
|
package/src/css/FontFace.css
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
font-style: normal;
|
|
4
4
|
font-weight: 400;
|
|
5
5
|
src: local("72"),
|
|
6
|
-
url(https://
|
|
7
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents) format("woff");
|
|
6
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2");
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
@font-face {
|
|
@@ -12,8 +11,7 @@
|
|
|
12
11
|
font-style: normal;
|
|
13
12
|
font-weight: 400;
|
|
14
13
|
src: local('72-full'),
|
|
15
|
-
url(https://
|
|
16
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents) format("woff");
|
|
14
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2");
|
|
17
15
|
|
|
18
16
|
}
|
|
19
17
|
|
|
@@ -22,8 +20,7 @@
|
|
|
22
20
|
font-style: normal;
|
|
23
21
|
font-weight: 700;
|
|
24
22
|
src: local('72-Bold'),
|
|
25
|
-
url(https://
|
|
26
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff");
|
|
23
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
|
|
27
24
|
}
|
|
28
25
|
|
|
29
26
|
@font-face {
|
|
@@ -31,38 +28,33 @@
|
|
|
31
28
|
font-style: normal;
|
|
32
29
|
font-weight: 700;
|
|
33
30
|
src: local('72-Bold-full'),
|
|
34
|
-
url(https://
|
|
35
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff");
|
|
31
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
@font-face {
|
|
39
35
|
font-family: '72-Bold';
|
|
40
36
|
font-style: normal;
|
|
41
37
|
src: local('72-Bold'),
|
|
42
|
-
url(https://
|
|
43
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff");
|
|
38
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
|
|
44
39
|
}
|
|
45
40
|
|
|
46
41
|
@font-face {
|
|
47
42
|
font-family: '72-Boldfull';
|
|
48
43
|
font-style: normal;
|
|
49
|
-
src: url(https://
|
|
50
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff");
|
|
44
|
+
src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
@font-face {
|
|
54
48
|
font-family: '72-Light';
|
|
55
49
|
font-style: normal;
|
|
56
50
|
src: local('72-Light'),
|
|
57
|
-
url(https://
|
|
58
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff?ui5-webcomponents) format("woff");
|
|
51
|
+
url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2");
|
|
59
52
|
}
|
|
60
53
|
|
|
61
54
|
@font-face {
|
|
62
55
|
font-family: '72-Lightfull';
|
|
63
56
|
font-style: normal;
|
|
64
|
-
src: url(https://
|
|
65
|
-
url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff?ui5-webcomponents) format("woff");
|
|
57
|
+
src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2");
|
|
66
58
|
}
|
|
67
59
|
|
|
68
60
|
@font-face {
|
|
@@ -70,6 +62,5 @@
|
|
|
70
62
|
font-style: bold;
|
|
71
63
|
font-weight: 900;
|
|
72
64
|
src: local('72Black'),
|
|
73
|
-
url(https://
|
|
74
|
-
url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff?ui5-webcomponents) format("woff");
|
|
65
|
+
url(https://sdk.openui5.org.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2");
|
|
75
66
|
}
|
package/src/i18nBundle.js
CHANGED
|
@@ -37,7 +37,7 @@ class I18nBundle {
|
|
|
37
37
|
}
|
|
38
38
|
const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
|
|
39
39
|
|
|
40
|
-
return formatMessage(messageText, params);
|
|
40
|
+
return params.length ? formatMessage(messageText, params) : messageText;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import DataType from "./DataType.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @class
|
|
5
|
+
* DOM Element reference or ID.
|
|
6
|
+
* <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
class DOMReference extends DataType {
|
|
11
|
+
static isValid(value) {
|
|
12
|
+
return (typeof value === "string" || value instanceof HTMLElement);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static propertyToAttribute(propertyValue) {
|
|
16
|
+
if (propertyValue instanceof HTMLElement) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return propertyValue;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default DOMReference;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import findNodeOwner from "./findNodeOwner.js";
|
|
2
|
-
|
|
3
1
|
const getEffectiveAriaLabelText = el => {
|
|
4
2
|
if (!el.accessibleNameRef) {
|
|
5
3
|
if (el.accessibleName) {
|
|
@@ -15,12 +13,12 @@ const getEffectiveAriaLabelText = el => {
|
|
|
15
13
|
/**
|
|
16
14
|
*
|
|
17
15
|
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
|
|
18
|
-
* @param {HTMLElement} ownerDocument (Optional) Defines the
|
|
16
|
+
* @param {Document|HTMLElement} ownerDocument (Optional) Defines the document or element where you want to search for the texts
|
|
19
17
|
* @param {String} readyIds (Optional) Defines a string of elements ids. The text of these elements will be returned. If used you should provide either el or ownerDocument
|
|
20
18
|
*/
|
|
21
19
|
const getAriaLabelledByTexts = (el, ownerDocument, readyIds = "") => {
|
|
22
20
|
const ids = (readyIds && readyIds.split(" ")) || el.accessibleNameRef.split(" ");
|
|
23
|
-
const owner = ownerDocument ||
|
|
21
|
+
const owner = ownerDocument || el.getRootNode();
|
|
24
22
|
let result = "";
|
|
25
23
|
|
|
26
24
|
ids.forEach((elementId, index) => {
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
const Cs=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function s(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerpolicy&&(o.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?o.credentials="include":r.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(r){if(r.ep)return;r.ep=!0;const o=s(r);fetch(r.href,o)}};Cs();const ut={themes:{default:"sap_fiori_3",all:["sap_fiori_3","sap_fiori_3_dark","sap_belize","sap_belize_hcb","sap_belize_hcw","sap_fiori_3_hcb","sap_fiori_3_hcw","sap_horizon","sap_horizon_dark","sap_horizon_hcb","sap_horizon_hcw","sap_horizon_exp"]},languages:{default:"en",all:["ar","bg","ca","cs","cy","da","de","el","en","en_GB","en_US_sappsd","en_US_saprigi","en_US_saptrc","es","es_MX","et","fi","fr","fr_CA","hi","hr","hu","in","it","iw","ja","kk","ko","lt","lv","ms","nl","no","pl","pt_PT","pt","ro","ru","sh","sk","sl","sv","th","tr","uk","vi","zh_CN","zh_TW"]},locales:{default:"en",all:["ar","ar_EG","ar_SA","bg","ca","cs","da","de","de_AT","de_CH","el","el_CY","en","en_AU","en_GB","en_HK","en_IE","en_IN","en_NZ","en_PG","en_SG","en_ZA","es","es_AR","es_BO","es_CL","es_CO","es_MX","es_PE","es_UY","es_VE","et","fa","fi","fr","fr_BE","fr_CA","fr_CH","fr_LU","he","hi","hr","hu","id","it","it_CH","ja","kk","ko","lt","lv","ms","nb","nl","nl_BE","pl","pt","pt_PT","ro","ru","ru_UA","sk","sl","sr","sr_Latn","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]}},xt=ut.themes.default,Nt=ut.languages.default,E=ut.locales.default,ee=ut.locales.all;var ke=()=>{const e=navigator.languages,t=()=>navigator.language;return e&&e[0]||t()||navigator.userLanguage||navigator.browserLanguage||Nt},Be={},He=Be.hasOwnProperty,Es=Be.toString,Fe=He.toString,Ts=Fe.call(Object),se=function(e){var t,s;return!e||Es.call(e)!=="[object Object]"?!1:(t=Object.getPrototypeOf(e),t?(s=He.call(t,"constructor")&&t.constructor,typeof s=="function"&&Fe.call(s)===Ts):!0)},Ms=Object.create(null),je=function(){var e,t,s,n,r,o,i=arguments[2]||{},a=3,c=arguments.length,l=arguments[0]||!1,h=arguments[1]?void 0:Ms;for(typeof i!="object"&&typeof i!="function"&&(i={});a<c;a++)if((r=arguments[a])!=null)for(n in r)e=i[n],s=r[n],!(n==="__proto__"||i===s)&&(l&&s&&(se(s)||(t=Array.isArray(s)))?(t?(t=!1,o=e&&Array.isArray(e)?e:[]):o=e&&se(e)?e:{},i[n]=je(l,arguments[1],o,s)):s!==h&&(i[n]=s));return i},Zt=function(){var e=[!0,!1];return e.push.apply(e,arguments),je.apply(null,e)};const Ve=new Map,Ls=(e,t)=>{Ve.set(e,t)},_=e=>Ve.get(e);let ne=!1,m={animationMode:"full",theme:xt,rtl:null,language:null,calendarType:null,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const Os=()=>(A(),m.animationMode),Ps=()=>(A(),m.theme),Is=()=>(A(),m.rtl),Ds=()=>(A(),m.language),Rs=()=>(A(),m.fetchDefaultLanguage),xs=()=>(A(),m.noConflict),Ns=()=>(A(),m.calendarType),Us=()=>(A(),m.formatSettings),ot=new Map;ot.set("true",!0);ot.set("false",!1);const ks=()=>{const e=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let t;if(e){try{t=JSON.parse(e.innerHTML)}catch{console.warn("Incorrect data-sap-ui-config format. Please use JSON")}t&&(m=Zt(m,t))}},Bs=()=>{const e=new URLSearchParams(window.location.search);e.forEach((t,s)=>{const n=s.split("sap-").length;n===0||n===s.split("sap-ui-").length||re(s,t,"sap")}),e.forEach((t,s)=>{!s.startsWith("sap-ui")||re(s,t,"sap-ui")})},Hs=(e,t)=>e==="theme"&&t.includes("@")?t.split("@")[0]:t,re=(e,t,s)=>{const n=t.toLowerCase(),r=e.split(`${s}-`)[1];ot.has(t)&&(t=ot.get(n)),t=Hs(r,t),m[r]=t},Fs=()=>{const e=_("OpenUI5Support");if(!e||!e.isLoaded())return;const t=e.getConfigurationSettingsObject();m=Zt(m,t)},A=()=>{ne||(ks(),Bs(),Fs(),ne=!0)};class T{constructor(){this._eventRegistry=new Map}attachEvent(t,s){const n=this._eventRegistry,r=n.get(t);if(!Array.isArray(r)){n.set(t,[s]);return}r.includes(s)||r.push(s)}detachEvent(t,s){const n=this._eventRegistry,r=n.get(t);if(!r)return;const o=r.indexOf(s);o!==-1&&r.splice(o,1),r.length===0&&n.delete(t)}fireEvent(t,s){const r=this._eventRegistry.get(t);return r?r.map(o=>o.call(this,s)):[]}fireEventAsync(t,s){return Promise.all(this.fireEvent(t,s))}isHandlerAttached(t,s){const r=this._eventRegistry.get(t);return r?r.includes(s):!1}hasListeners(t){return!!this._eventRegistry.get(t)}}const js=new T,Vs="languageChange",ze=e=>{js.attachEvent(Vs,e)},oe=10;class zs{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(s=>s!==t),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return this.list.length===0}isAdded(t){return this.lookup.has(t)}process(t){let s;const n=new Map;for(s=this.shift();s;){const r=n.get(s)||0;if(r>oe)throw new Error(`Web component processed too many times this task, max allowed is: ${oe}`);t(s),n.set(s,r+1),s=this.shift()}}}const We=e=>{const t=[];return e.forEach(s=>{t.push(s)}),t},Ze=(e,t=document.body)=>{let s=document.querySelector(e);return s||(s=document.createElement(e),t.insertBefore(s,t.firstChild))},Ws=()=>Ze("ui5-shared-resources",document.head),M=(e,t)=>{const s=e.split(".");let n=Ws();for(let r=0;r<s.length;r++){const o=s[r],i=r===s.length-1;Object.prototype.hasOwnProperty.call(n,o)||(n[o]=i?t:{}),n=n[o]}return n},ie={version:"1.6.0",major:1,minor:6,patch:0,suffix:"",isNext:!1,buildTime:1658732752};let Q,Zs="";const yt=new Map,V=M("Runtimes",[]),qs=()=>{Q===void 0&&(Q=V.length,V.push({...ie,alias:Zs,description:`Runtime ${Q} - ver ${ie.version}`}))},qe=()=>Q,Gs=(e,t)=>{const s=`${e},${t}`;if(yt.has(s))return yt.get(s);const n=V[e],r=V[t];if(!n||!r)throw new Error("Invalid runtime index supplied");if(n.isNext||r.isNext)return n.buildTime-r.buildTime;const o=n.major-r.major;if(o)return o;const i=n.minor-r.minor;if(i)return i;const a=n.patch-r.patch;if(a)return a;const l=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(n.suffix,r.suffix);return yt.set(s,l),l},Ks=()=>V,Ge=M("Tags",new Map),qt=new Set;let C={},_t;const Ke="unknown",ae=e=>{qt.add(e),Ge.set(e,qe())},Js=e=>qt.has(e),Xs=()=>We(qt),Ys=e=>{let t=Ge.get(e);t===void 0&&(t=Ke),C[t]=C[t]||new Set,C[t].add(e),_t||(_t=setTimeout(()=>{Qs(),C={},_t=void 0},1e3))},Qs=()=>{const e=Ks(),t=qe(),s=e[t];let n="Multiple UI5 Web Components instances detected.";e.length>1&&(n=`${n}
|
|
2
|
-
Loading order (versions before 1.1.0 not listed): ${e.map(r=>`
|
|
3
|
-
${r.description}`).join("")}`),Object.keys(C).forEach(r=>{let o,i;r===Ke?(o=1,i={description:"Older unknown runtime"}):(o=Gs(t,r),i=e[r]);let a;o>0?a="an older":o<0?a="a newer":a="the same",n=`${n}
|
|
4
|
-
|
|
5
|
-
"${s.description}" failed to define ${C[r].size} tag(s) as they were defined by a runtime of ${a} version "${i.description}": ${We(C[r]).sort().join(", ")}.`,o>0?n=`${n}
|
|
6
|
-
WARNING! If your code uses features of the above web components, unavailable in ${i.description}, it might not work as expected!`:n=`${n}
|
|
7
|
-
Since the above web components were defined by the same or newer version runtime, they should be compatible with your code.`}),n=`${n}
|
|
8
|
-
|
|
9
|
-
To prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`,console.warn(n)},Je=new Set,tn=e=>{Je.add(e)},en=e=>Je.has(e),Gt=new Set,sn=new T,R=new zs;let O,tt,wt,J;const Xe=async e=>{R.add(e),await rn()},Ye=e=>{sn.fireEvent("beforeComponentRender",e),Gt.add(e),e._render()},nn=e=>{R.remove(e),Gt.delete(e)},rn=async()=>{J||(J=new Promise(e=>{window.requestAnimationFrame(()=>{R.process(Ye),J=null,e(),wt||(wt=setTimeout(()=>{wt=void 0,R.isEmpty()&&cn()},200))})})),await J},on=()=>O||(O=new Promise(e=>{tt=e,window.requestAnimationFrame(()=>{R.isEmpty()&&(O=void 0,e())})}),O),an=()=>{const e=Xs().map(t=>customElements.whenDefined(t));return Promise.all(e)},Kt=async()=>{await an(),await on()},cn=()=>{!R.isEmpty()||tt&&(tt(),tt=void 0,O=void 0)},Jt=async e=>{Gt.forEach(t=>{const s=t.constructor.getMetadata().getTag(),n=en(t.constructor),r=t.constructor.getMetadata().isLanguageAware(),o=t.constructor.getMetadata().isThemeAware();(!e||e.tag===s||e.rtlAware&&n||e.languageAware&&r||e.themeAware&&o)&&Xe(t)}),await Kt()};let vt,Ut;const it=()=>(vt===void 0&&(vt=Ds()),vt),ln=e=>{Ut=e},un=()=>(Ut===void 0&&ln(Rs()),Ut),dn=/^((?:[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 hn{constructor(t){const s=dn.exec(t.replace(/_/g,"-"));if(s===null)throw new Error(`The given language ${t} does not adhere to BCP-47.`);this.sLocaleId=t,this.sLanguage=s[1]||null,this.sScript=s[2]||null,this.sRegion=s[3]||null,this.sVariant=s[4]&&s[4].slice(1)||null,this.sExtension=s[5]&&s[5].slice(1)||null,this.sPrivateUse=s[6]||null,this.sLanguage&&(this.sLanguage=this.sLanguage.toLowerCase()),this.sScript&&(this.sScript=this.sScript.toLowerCase().replace(/^[a-z]/,n=>n.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 St=new Map,Qe=e=>(St.has(e)||St.set(e,new hn(e)),St.get(e)),ce=e=>{try{if(e&&typeof e=="string")return Qe(e)}catch{}},kt=e=>e?ce(e):it()?Qe(it()):ce(ke()),fn=/^((?:[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,le=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,pn={he:"iw",yi:"ji",id:"in",sr:"sh"},gn=e=>{let t;if(!e)return E;if(typeof e=="string"&&(t=fn.exec(e.replace(/_/g,"-")))){let s=t[1].toLowerCase(),n=t[3]?t[3].toUpperCase():void 0;const r=t[2]?t[2].toLowerCase():void 0,o=t[4]?t[4].slice(1):void 0,i=t[6];return s=pn[s]||s,i&&(t=le.exec(i))||o&&(t=le.exec(o))?`en_US_${t[1].toLowerCase()}`:(s==="zh"&&!n&&(r==="hans"?n="CN":r==="hant"&&(n="TW")),s+(n?"_"+n+(o?"_"+o.replace("-","_"):""):""))}},mn=e=>{if(!e)return E;if(e==="zh_HK")return"zh_TW";const t=e.lastIndexOf("_");return t>=0?e.slice(0,t):e!==E?E:""},ue=new Set,de=new Set,Xt=new Map,At=new Map,Yt=new Map,yn=(e,t,s)=>{const n=`${e}/${t}`;Yt.set(n,s)},he=(e,t)=>{Xt.set(e,t)},_n=e=>Xt.get(e),fe=(e,t)=>{const s=`${e}/${t}`;return Yt.has(s)},wn=(e,t)=>{const s=`${e}/${t}`,n=Yt.get(s);return At.get(s)||At.set(s,n(t)),At.get(s)},vn=e=>{ue.has(e)||(console.warn(`[${e}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${e}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`),ue.add(e))},ts=async e=>{const t=kt().getLanguage(),s=kt().getRegion();let n=gn(t+(s?`-${s}`:""));for(;n!==Nt&&!fe(e,n);)n=mn(n);const r=un();if(n===Nt&&!r){he(e,null);return}if(!fe(e,n)){vn(e);return}try{const o=await wn(e,n);he(e,o)}catch(o){de.has(o.message)||(de.add(o.message),console.error(o.message))}};ze(()=>{const e=[...Xt.keys()];return Promise.all(e.map(ts))});const Sn=new Map,at=new Map,bt=new Map,pe=new Set;let ge=!1;const An={iw:"he",ji:"yi",in:"id"},me=e=>{ge||(console.warn(`[LocaleData] Supported locale "${e}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),ge=!0)},bn=(e,t,s)=>{e=e&&An[e]||e,e==="no"&&(e="nb"),e==="zh"&&!t&&(s==="Hans"?t="CN":s==="Hant"&&(t="TW")),(e==="sh"||e==="sr"&&s==="Latn")&&(e="sr",t="Latn");let n=`${e}_${t}`;return ee.includes(n)||(n=e,ee.includes(n))?at.has(n)?n:(me(n),E):E},ye=(e,t)=>{Sn.set(e,t)},$n=e=>{const t=at.get(e);return bt.get(e)||bt.set(e,t(e)),bt.get(e)},Cn=async(e,t,s)=>{const n=bn(e,t,s),r=_("OpenUI5Support");if(r){const o=r.getLocaleDataObject();if(o){ye(n,o);return}}try{const o=await $n(n);ye(n,o)}catch(o){pe.has(o.message)||(pe.add(o.message),console.error(o.message))}},En=(e,t)=>{at.set(e,t)};En("en",async e=>(await fetch("https://ui5.sap.com/1.103.0/resources/sap/ui/core/cldr/en.json")).json());ze(()=>{const e=kt();return Cn(e.getLanguage(),e.getRegion(),e.getScript())});const es=new Map,ss=new Map,ns=new Set,ct=new Set,b=(e,t,s)=>{ss.set(`${e}/${t}`,s),ns.add(e),ct.add(t)},rs=async(e,t)=>{const s=es.get(`${e}_${t}`);if(s!==void 0)return s;if(!ct.has(t)){const n=[...ct.values()].join(", ");return console.warn(`You have requested a non-registered theme ${t} - falling back to ${xt}. Registered themes are: ${n}`),_e(e,xt)}return _e(e,t)},_e=async(e,t)=>{const s=ss.get(`${e}/${t}`);if(!s){console.error(`Theme [${t}] not registered for package [${e}]`);return}let n;try{n=await s(t)}catch(o){console.error(e,o.message);return}const r=n._||n;return es.set(`${e}_${t}`,r),r},os=()=>ns,Tn=e=>ct.has(e),we={"SAP-icons-TNT":"tnt",BusinessSuiteInAppSymbols:"business-suite",horizon:"SAP-icons-v5"},Mn=(e,t={})=>{const s=document.createElement("style");return s.type="text/css",Object.entries(t).forEach(n=>s.setAttribute(...n)),s.textContent=e,document.head.appendChild(s),s},dt=(e,t)=>t?`${e}|${t}`:e,ht=(e,t,s="")=>{const n=typeof e=="string"?e:e.content;if(document.adoptedStyleSheets){const r=new CSSStyleSheet;r.replaceSync(n),r._ui5StyleId=dt(t,s),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r]}else{const r={};r[t]=s,Mn(n,r)}},Ln=(e,t,s="")=>{const n=typeof e=="string"?e:e.content;document.adoptedStyleSheets?document.adoptedStyleSheets.find(r=>r._ui5StyleId===dt(t,s)).replaceSync(n||""):document.querySelector(`head>style[${t}="${s}"]`).textContent=n||""},ft=(e,t="")=>document.adoptedStyleSheets?!!document.adoptedStyleSheets.find(s=>s._ui5StyleId===dt(e,t)):!!document.querySelector(`head>style[${e}="${t}"]`),On=(e,t="")=>{if(document.adoptedStyleSheets)document.adoptedStyleSheets=document.adoptedStyleSheets.filter(s=>s._ui5StyleId!==dt(e,t));else{const s=document.querySelector(`head > style[${e}="${t}"]`);s&&s.parentElement.removeChild(s)}},is=(e,t,s="")=>{ft(t,s)?Ln(e,t,s):ht(e,t,s)},P=new Set,Pn=()=>{let e=document.querySelector(".sapThemeMetaData-Base-baseLib")||document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");if(e)return getComputedStyle(e).backgroundImage;e=document.createElement("span"),e.style.display="none",e.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(e);let t=getComputedStyle(e).backgroundImage;return t==="none"&&(e.classList.add("sapThemeMetaData-UI5-sap-ui-core"),t=getComputedStyle(e).backgroundImage),document.body.removeChild(e),t},In=e=>{const t=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(e);if(t&&t.length>=2){let s=t[1];if(s=s.replace(/\\"/g,'"'),s.charAt(0)!=="{"&&s.charAt(s.length-1)!=="}")try{s=decodeURIComponent(s)}catch{P.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),P.add("decode"));return}try{return JSON.parse(s)}catch{P.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),P.add("parse"))}}},Dn=e=>{let t,s;try{t=e.Path.match(/\.([^.]+)\.css_variables$/)[1],s=e.Extends[0]}catch{P.has("object")||(console.warn("Malformed theme metadata Object",e),P.add("object"));return}return{themeName:t,baseThemeName:s}},Rn=()=>{const e=Pn();if(!e||e==="none")return;const t=In(e);return Dn(t)},xn=new T,Nn="themeLoaded",Un=e=>xn.fireEvent(Nn,e),z="@ui5/webcomponents-theming",kn=()=>os().has(z),Bn=async e=>{if(!kn())return;const t=await rs(z,e);t&&is(t,"data-ui5-theme-properties",z)},Hn=()=>{On("data-ui5-theme-properties",z)},Fn=async e=>{os().forEach(async s=>{if(s===z)return;const n=await rs(s,e);n&&is(n,"data-ui5-theme-properties",s)})},jn=()=>{const e=Rn();if(e)return e;const t=_("OpenUI5Support");if(t&&t.cssVariablesLoaded())return{themeName:t.getConfigurationSettingsObject().theme}},as=async e=>{const t=jn();!t||e!==t.themeName?await Bn(e):Hn();const s=Tn(e)?e:t&&t.baseThemeName;await Fn(s),Un(e)};let I;const pt=()=>(I===void 0&&(I=Ps()),I),cs=async e=>{I!==e&&(I=e,await as(I),await Jt({themeAware:!0}))},Vn=e=>pt().startsWith(e),zn=new Map,ls=()=>{const e=pt(),t=zn.get(e);return t||(Vn("sap_horizon")?"SAP-icons-v5":"SAP-icons")},ve=new Map,lt=M("SVGIcons.registry",new Map),$t=M("SVGIcons.promises",new Map),Se="ICON_NOT_FOUND",Wn=async e=>{if(!$t.has(e)){if(!ve.has(e))throw new Error(`No loader registered for the ${e} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const t=ve.get(e);$t.set(e,t(e))}return $t.get(e)},Zn=e=>{Object.keys(e.data).forEach(t=>{const s=e.data[t];qn(t,{pathData:s.path,ltr:s.ltr,accData:s.acc,collection:e.collection,packageName:e.packageName})})},qn=(e,{pathData:t,ltr:s,accData:n,collection:r,packageName:o}={})=>{r||(r=ls());const i=`${r}/${e}`;lt.set(i,{pathData:t,ltr:s,accData:n,packageName:o})},Gn=e=>{e.startsWith("sap-icon://")&&(e=e.replace("sap-icon://",""));let t;[e,t]=e.split("/").reverse(),t=t||ls(),t=Jn(t),e=e.replace("icon-","");const s=`${t}/${e}`;return{name:e,collection:t,registryKey:s}},Ct=async e=>{const{collection:t,registryKey:s}=Gn(e);let n=Se;try{n=await Wn(t)}catch(r){console.error(r.message)}return n===Se?n:(lt.has(s)||Zn(n),lt.get(s))},Kn=async()=>(await Ct("edit"),await Ct("tnt/arrow"),await Ct("business-suite/3d"),Array.from(lt.keys())),Jn=e=>we[e]?we[e]:e,Bt=M("PopupUtilsData",{});Bt.currentZIndex=Bt.currentZIndex||100;const us=()=>Bt.currentZIndex,w=()=>{const e=window.sap;return e&&e.ui&&typeof e.ui.getCore=="function"&&e.ui.getCore()},Xn=()=>!!w(),Yn=()=>{const e=w();return e?new Promise(t=>{e.attachInit(()=>{window.sap.ui.require(["sap/ui/core/LocaleData","sap/ui/core/Popup"],(s,n)=>{n.setInitialZIndex(us()),t()})})}):Promise.resolve()},Qn=()=>{const e=w();if(!e)return;const t=e.getConfiguration(),s=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:t.getAnimationMode(),language:t.getLanguage(),theme:t.getTheme(),rtl:t.getRTL(),calendarType:t.getCalendarType(),formatSettings:{firstDayOfWeek:s?s.getInstance(t.getLocale()).getFirstDayOfWeek():void 0}}},tr=()=>{const e=w();if(!e)return;const t=e.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(t.getLocale())._get()},er=()=>{const e=w(),t=e.getConfiguration();e.attachThemeChanged(async()=>{await cs(t.getTheme())})},sr=()=>{!w()||er()},nr=()=>{if(!w())return;const t=[...document.head.children].find(s=>s.id==="sap-ui-theme-sap.ui.core");if(!!t)return!!t.href.match(/\/css(-|_)variables\.css/)},rr=()=>w()?window.sap.ui.require("sap/ui/core/Popup").getNextZIndex():void 0,or=()=>{if(!w())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex(us())},ir={isLoaded:Xn,init:Yn,getConfigurationSettingsObject:Qn,getLocaleDataObject:tr,attachListeners:sr,cssVariablesLoaded:nr,getNextZIndex:rr,setInitialZIndex:or};Ls("OpenUI5Support",ir);const ar=()=>new Promise(e=>{document.body?e():document.addEventListener("DOMContentLoaded",()=>{e()})});var cr={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")}`},lr={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 ur=()=>{const e=_("OpenUI5Support");(!e||!e.isLoaded())&&dr(),hr()},dr=()=>{ft("data-ui5-font-face")||ht(cr,"data-ui5-font-face")},hr=()=>{ft("data-ui5-font-face-override")||ht(lr,"data-ui5-font-face-override")};var fr={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}"};const pr=()=>{ft("data-ui5-system-css-vars")||ht(fr,"data-ui5-system-css-vars")};let X;const gr=async()=>X||(X=new Promise(async e=>{qs();const t=_("OpenUI5Support"),s=_("F6Navigation");t?await t.init():s&&s.init(),await ar(),await as(pt()),t&&t.attachListeners(),ur(),pr(),e()}),X);class F{static isValid(t){}static attributeToProperty(t){return t}static propertyToAttribute(t){return`${t}`}static valuesAreEqual(t,s){return t===s}static generateTypeAccessors(t){Object.keys(t).forEach(s=>{Object.defineProperty(this,s,{get(){return t[s]}})})}}const et=(e,t,s=!1)=>{if(typeof e!="function"||typeof t!="function")return!1;if(s&&e===t)return!0;let n=e;do n=Object.getPrototypeOf(n);while(n!==null&&n!==t);return n===t},Et=new Map,Tt=new Map,Ae=e=>{if(!Et.has(e)){const t=mr(e.split("-"));Et.set(e,t)}return Et.get(e)},ds=e=>{if(!Tt.has(e)){const t=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();Tt.set(e,t)}return Tt.get(e)},mr=e=>e.map((t,s)=>s===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(""),yr=e=>{if(!(e instanceof HTMLElement))return"default";const t=e.getAttribute("slot");if(t){const s=t.match(/^(.+?)-\d+$/);return s?s[1]:t}return"default"},Ht=e=>e&&e instanceof HTMLElement&&e.localName==="slot",hs=e=>Ht(e)?e.assignedNodes({flatten:!0}).filter(t=>t instanceof HTMLElement):[e],_r=e=>{const t=(s,n)=>s.concat(hs(n));return e.reduce(t,[])};let wr,be={include:[/^ui5-/],exclude:[]};const Mt=new Map,fs=()=>wr,Ft=e=>{if(!Mt.has(e)){const t=be.include.some(s=>e.match(s))&&!be.exclude.some(s=>e.match(s));Mt.set(e,t)}return Mt.get(e)},jt=e=>{if(Ft(e))return fs()};class vr{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},s=this.slotsAreManaged(),n=this.getProperties();for(const r in n){const o=n[r].type,i=n[r].defaultValue;o===Boolean?(t[r]=!1,i!==void 0&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):n[r].multiple?t[r]=[]:o===Object?t[r]="defaultValue"in n[r]?n[r].defaultValue:{}:o===String?t[r]="defaultValue"in n[r]?n[r].defaultValue:"":t[r]=i}if(s){const r=this.getSlots();for(const[o,i]of Object.entries(r)){const a=i.propertyName||o;t[a]=[]}}return this._initialState=t,t}static validatePropertyValue(t,s){return s.multiple?t.map(r=>$e(r,s)):$e(t,s)}static validateSlotValue(t,s){return Sr(t,s)}getPureTag(){return this.metadata.tag}getTag(){const t=this.metadata.tag,s=jt(t);return s?`${t}-${s}`:t}getAltTag(){const t=this.metadata.altTag;if(!t)return;const s=jt(t);return s?`${t}-${s}`:t}hasAttribute(t){const s=this.getProperties()[t];return s.type!==Object&&!s.noAttribute&&!s.multiple}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute,this).map(ds)}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,s])=>s.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,s,n){const r=this.getSlots()[t].invalidateOnChildChange;if(r===void 0)return!1;if(typeof r=="boolean")return r;if(typeof r=="object"){if(s==="property"){if(r.properties===void 0)return!1;if(typeof r.properties=="boolean")return r.properties;if(Array.isArray(r.properties))return r.properties.includes(n);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if(s==="slot"){if(r.slots===void 0)return!1;if(typeof r.slots=="boolean")return r.slots;if(Array.isArray(r.slots))return r.slots.includes(n);throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected")}}throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected")}}const $e=(e,t)=>{const s=t.type;if(s===Boolean)return typeof e=="boolean"?e:!1;if(s===String)return typeof e=="string"||typeof e=="undefined"||e===null?e:e.toString();if(s===Object)return typeof e=="object"?e:t.defaultValue;if(et(s,F))return s.isValid(e)?e:t.defaultValue},Sr=(e,t)=>(e&&hs(e).forEach(s=>{if(!(s instanceof t.type))throw new Error(`${s} is not of type ${t.type}`)}),e);customElements.get("ui5-static-area")||customElements.define("ui5-static-area",class extends HTMLElement{});const Ar=(e,t)=>{const s=br(t),n=fs();return e(t,s,n)},br=e=>{const t=e.constructor.getMetadata().getPureTag(),s=e.constructor.getUniqueDependencies().map(n=>n.getMetadata().getPureTag()).filter(Ft);return Ft(t)&&s.push(t),s},$r=M("CustomStyle.eventProvider",new T),Cr="CustomCSSChange",Qt=e=>{$r.attachEvent(Cr,e)},Ce=M("CustomStyle.customCSSFor",{});Qt(e=>{Jt({tag:e})});const Er=e=>Ce[e]?Ce[e].join(""):"",Lt=e=>Array.isArray(e)?ps(e.filter(t=>!!t)).map(t=>typeof t=="string"?t:t.content).join(" "):typeof e=="string"?e:e.content,ps=e=>e.reduce((t,s)=>t.concat(Array.isArray(s)?ps(s):s),[]),st=new Map;Qt(e=>{st.delete(`${e}_normal`)});const gs=(e,t=!1)=>{const s=e.getMetadata().getTag(),n=`${s}_${t?"static":"normal"}`,r=_("OpenUI5Enablement");if(!st.has(n)){let o,i="";if(r&&(i=Lt(r.getBusyIndicatorStyles())),t)o=Lt(e.staticAreaStyles);else{const a=Er(s)||"";o=`${Lt(e.styles)} ${a}`}o=`${o} ${i}`,st.set(n,o)}return st.get(n)},nt=new Map;Qt(e=>{nt.delete(`${e}_normal`)});const Tr=(e,t=!1)=>{const n=`${e.getMetadata().getTag()}_${t?"static":"normal"}`;if(!nt.has(n)){const r=gs(e,t),o=new CSSStyleSheet;o.replaceSync(r),nt.set(n,[o])}return nt.get(n)},Vt=(e,t=!1)=>{let s;const n=t?"staticAreaTemplate":"template",r=t?e.staticAreaItem.shadowRoot:e.shadowRoot,o=Ar(e.constructor[n],e);document.adoptedStyleSheets?r.adoptedStyleSheets=Tr(e.constructor,t):s=gs(e.constructor,t),e.constructor.render(o,r,s,t,{host:e})},Mr="--_ui5_content_density",Lr=e=>getComputedStyle(e).getPropertyValue(Mr);var Or=e=>{const t=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(e);return t&&t[2]?t[2].split(/,/):null};const Pr={iw:"he",ji:"yi",in:"id",sh:"sr"},Ir=Or("$cldr-rtl-locales:ar,fa,he$")||[],Dr=e=>(e=e&&Pr[e]||e,Ir.indexOf(e)>=0),ms=()=>{const e=Is();return e!==null?!!e:Dr(it()||ke())},Rr="--_ui5_dir",ys=e=>{const t=window.document,s=["ltr","rtl"],n=getComputedStyle(e).getPropertyValue(Rr);return s.includes(n)?n:s.includes(e.dir)?e.dir:s.includes(t.documentElement.dir)?t.documentElement.dir:s.includes(t.body.dir)?t.body.dir:ms()?"rtl":void 0};class j 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(),Vt(this.ownerElement,!0))}_updateContentDensity(){Lr(this.ownerElement)==="compact"?(this.classList.add("sapUiSizeCompact"),this.classList.add("ui5-content-density-compact")):(this.classList.remove("sapUiSizeCompact"),this.classList.remove("ui5-content-density-compact"))}_updateDirection(){const t=ys(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}async getDomRef(){return this._updateContentDensity(),this._rendered||(this._rendered=!0,Vt(this.ownerElement,!0)),await Kt(),this.shadowRoot}static getTag(){const t="ui5-static-area-item",s=jt(t);return s?`${t}-${s}`:t}static createInstance(){return customElements.get(j.getTag())||customElements.define(j.getTag(),j),document.createElement(this.getTag())}}const zt=new WeakMap;let xr=(e,t,s)=>{const n=new MutationObserver(t);return n.observe(e,s),n},Nr=e=>{e.disconnect()};const Ur=(e,t,s)=>{const n=xr(e,t,s);zt.set(e,n)},kr=e=>{const t=zt.get(e);t&&(Nr(t),zt.delete(e))},Br=["value-changed"],Hr=e=>Br.includes(e);let rt;const Fr=e=>{const t=te();return!(t.events&&t.events.includes&&t.events.includes(e))},te=()=>(rt===void 0&&(rt=xs()),rt),jr=e=>{const t=te();return Hr(e)?!1:t===!0?!0:!Fr(e)},Vr=e=>{rt=e},zr=["disabled","title","hidden","role","draggable"],Ee=e=>zr.includes(e)||e.startsWith("aria")?!0:![HTMLElement,Element,Node].some(s=>s.prototype.hasOwnProperty(e)),Te=(e,t)=>{if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(e[s]!==t[s])return!1;return!0},Wr=(e,t)=>class extends e{constructor(){super(),t&&t()}};let Zr=0;const Me=new Map,Ot=new Map;function B(e){this._suppressInvalidation||(this.onInvalidation(e),this._changedState.push(e),Xe(this),this._eventProvider.fireEvent("invalidate",{...e,target:this}))}let Le={};class L extends HTMLElement{constructor(){super(),this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new T;let t;this._domRefReadyPromise=new Promise(s=>{t=s}),this._domRefReadyPromise._deferredResolve=t,this._initializeState(),this._upgradeAllProperties(),this.constructor._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id=`ui5wc_${++Zr}`),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&&(Ye(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,typeof this.onEnterDOM=="function"&&this.onEnterDOM())}disconnectedCallback(){const t=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,t&&this._stopObservingDOMChildren(),this._fullyConnected&&(typeof this.onExitDOM=="function"&&this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),nn(this)}_startObservingDOMChildren(){if(!this.constructor.getMetadata().hasSlots())return;const s=this.constructor.getMetadata().canSlotText(),n={childList:!0,subtree:s,characterData:s};Ur(this,this._processChildren.bind(this),n)}_stopObservingDOMChildren(){kr(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor.getMetadata().getSlots(),s=this.constructor.getMetadata().canSlotText(),n=Array.from(s?this.childNodes:this.children),r=new Map,o=new Map;for(const[h,d]of Object.entries(t)){const u=d.propertyName||h;o.set(u,h),r.set(u,[...this._state[u]]),this._clearSlot(h,d)}const i=new Map,a=new Map,c=n.map(async(h,d)=>{const u=yr(h),p=t[u];if(p===void 0){const g=Object.keys(t).join(", ");console.warn(`Unknown slotName: ${u}, ignoring`,h,`Valid values are: ${g}`);return}if(p.individualSlots){const g=(i.get(u)||0)+1;i.set(u,g),h._individualSlot=`${u}-${g}`}if(h instanceof HTMLElement){const g=h.localName;if(g.includes("-")){if(!window.customElements.get(g)){const bs=window.customElements.whenDefined(g);let K=Me.get(g);K||(K=new Promise($s=>setTimeout($s,1e3)),Me.set(g,K)),await Promise.race([bs,K])}window.customElements.upgrade(h)}}h=this.constructor.getMetadata().constructor.validateSlotValue(h,p),h.isUI5Element&&p.invalidateOnChildChange&&(h.attachInvalidate||h._attachChange).bind(h)(this._getChildChangeListener(u)),Ht(h)&&this._attachSlotChange(h,u);const v=p.propertyName||u;a.has(v)?a.get(v).push({child:h,idx:d}):a.set(v,[{child:h,idx:d}])});await Promise.all(c),a.forEach((h,d)=>{this._state[d]=h.sort((u,p)=>u.idx-p.idx).map(u=>u.child)});let l=!1;for(const[h,d]of Object.entries(t)){const u=d.propertyName||h;Te(r.get(u),this._state[u])||(B.call(this,{type:"slot",name:o.get(u),reason:"children"}),l=!0)}l||B.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,s){const n=s.propertyName||t;this._state[n].forEach(o=>{o&&o.isUI5Element&&(o.detachInvalidate||o._detachChange).bind(o)(this._getChildChangeListener(t)),Ht(o)&&this._detachSlotChange(o,t)}),this._state[n]=[]}attachInvalidate(t){this._eventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._eventProvider.detachEvent("invalidate",t)}_onChildChange(t,s){!this.constructor.getMetadata().shouldInvalidateOnChildChange(t,s.type,s.name)||B.call(this,{type:"slot",name:t,reason:"childchange",child:s.target})}attributeChangedCallback(t,s,n){const r=this.constructor.getMetadata().getProperties(),o=t.replace(/^ui5-/,""),i=Ae(o);if(r.hasOwnProperty(i)){const a=r[i].type;a===Boolean?n=n!==null:et(a,F)&&(n=a.attributeToProperty(n)),this[i]=n}}_updateAttribute(t,s){if(!this.constructor.getMetadata().hasAttribute(t))return;const r=this.constructor.getMetadata().getProperties()[t].type,o=ds(t),i=this.getAttribute(o);r===Boolean?s===!0&&i===null?this.setAttribute(o,""):s===!1&&i!==null&&this.removeAttribute(o):et(r,F)?this.setAttribute(o,r.propertyToAttribute(s)):typeof s!="object"&&i!==s&&this.setAttribute(o,s)}_upgradeProperty(t){if(this.hasOwnProperty(t)){const s=this[t];delete this[t],this[t]=s}}_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,s){t.addEventListener("slotchange",this._getSlotChangeListener(s))}_detachSlotChange(t,s){t.removeEventListener("slotchange",this._getSlotChangeListener(s))}_onSlotChange(t){B.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,typeof this.onBeforeRendering=="function"&&this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],this.constructor._needsShadowDOM()&&Vt(this),this.staticAreaItem&&this.staticAreaItem.update(),t&&this._assignIndividualSlotsToChildren(),typeof this.onAfterRendering=="function"&&this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach(s=>{s._individualSlot&&s.setAttribute("slot",s._individualSlot)})}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(typeof this._getRealDomRef=="function")return this._getRealDomRef();if(!this.shadowRoot||this.shadowRoot.children.length===0)return;const t=[...this.shadowRoot.children].filter(s=>!["link","style"].includes(s.localName));return t.length!==1&&console.warn(`The shadow DOM for ${this.constructor.getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`),t[0]}getFocusDomRef(){const t=this.getDomRef();if(t)return t.querySelector("[data-sap-focus-ref]")||t}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(){await this._waitForDomRef();const t=this.getFocusDomRef();t&&typeof t.focus=="function"&&t.focus()}fireEvent(t,s,n=!1,r=!0){const o=this._fireEvent(t,s,n,r),i=Ae(t);return i!==t?o&&this._fireEvent(i,s,n):o}_fireEvent(t,s,n=!1,r=!0){const o=new CustomEvent(`ui5-${t}`,{detail:s,composed:!1,bubbles:r,cancelable:n}),i=this.dispatchEvent(o);if(jr(t))return i;const a=new CustomEvent(t,{detail:s,composed:!1,bubbles:r,cancelable:n});return this.dispatchEvent(a)&&i}getSlottedNodes(t){return _r(this[t])}get effectiveDir(){return tn(this.constructor),ys(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=j.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||Ze("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,s=this.getMetadata().slotsAreManaged(),n=this.getMetadata().getProperties();for(const[r,o]of Object.entries(n)){if(Ee(r)||console.warn(`"${r}" is not a valid property name. Use a name that does not collide with DOM APIs`),o.type===Boolean&&o.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All booleans are false by default.`);if(o.type===Array)throw new Error(`Wrong type for property "${r}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(o.type===Object&&o.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All properties of type "Object" are empty objects by default.`);if(o.multiple&&o.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,r,{get(){if(this._state[r]!==void 0)return this._state[r];const i=o.defaultValue;return o.type===Boolean?!1:o.type===String?i:o.multiple?[]:i},set(i){let a;i=this.constructor.getMetadata().constructor.validatePropertyValue(i,o);const c=this._state[r];o.multiple&&o.compareValues?a=!Te(c,i):et(o.type,F)?a=!o.type.valuesAreEqual(c,i):a=c!==i,a&&(this._state[r]=i,B.call(this,{type:"property",name:r,newValue:i,oldValue:c}),this._updateAttribute(r,i))}})}if(s){const r=this.getMetadata().getSlots();for(const[o,i]of Object.entries(r)){Ee(o)||console.warn(`"${o}" is not a valid property name. Use a name that does not collide with DOM APIs`);const a=i.propertyName||o;Object.defineProperty(t,a,{get(){return this._state[a]!==void 0?this._state[a]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get metadata(){return Le}static set metadata(t){Le=t}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!Ot.has(this)){const t=this.dependencies.filter((s,n,r)=>r.indexOf(s)===n);Ot.set(this,t)}return Ot.get(this)}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map(t=>t.define()))}static async onDefine(){return Promise.resolve()}static async define(){await gr(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),s=this.getMetadata().getAltTag(),n=Js(t),r=customElements.get(t);return r&&!n?Ys(t):r||(this._generateAccessors(),ae(t),window.customElements.define(t,this),s&&!customElements.get(s)&&(ae(s),window.customElements.define(s,Wr(this,()=>{console.log(`The ${s} 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 s=this;for(;s!==L;)s=Object.getPrototypeOf(s),t.unshift(s.metadata);const n=Zt({},...t);return this._metadata=new vr(n),this._metadata}}/**
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright 2017 Google LLC
|
|
12
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
13
|
-
*/var Pt;const x=globalThis.trustedTypes,Oe=x?x.createPolicy("lit-html",{createHTML:e=>e}):void 0,S=`lit$${(Math.random()+"").slice(9)}$`,_s="?"+S,qr=`<${_s}>`,N=document,W=(e="")=>N.createComment(e),Z=e=>e===null||typeof e!="object"&&typeof e!="function",ws=Array.isArray,Gr=e=>{var t;return ws(e)||typeof((t=e)===null||t===void 0?void 0:t[Symbol.iterator])=="function"},H=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Pe=/-->/g,Ie=/>/g,$=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,De=/'/g,Re=/"/g,vs=/^(?:script|style|textarea|title)$/i,Kr=e=>(t,...s)=>({_$litType$:e,strings:t,values:s}),Jr=Kr(1),U=Symbol.for("lit-noChange"),f=Symbol.for("lit-nothing"),xe=new WeakMap,Xr=(e,t,s)=>{var n,r;const o=(n=s==null?void 0:s.renderBefore)!==null&&n!==void 0?n:t;let i=o._$litPart$;if(i===void 0){const a=(r=s==null?void 0:s.renderBefore)!==null&&r!==void 0?r:null;o._$litPart$=i=new G(t.insertBefore(W(),a),a,void 0,s!=null?s:{})}return i._$AI(e),i},D=N.createTreeWalker(N,129,null,!1),Yr=(e,t)=>{const s=e.length-1,n=[];let r,o=t===2?"<svg>":"",i=H;for(let c=0;c<s;c++){const l=e[c];let h,d,u=-1,p=0;for(;p<l.length&&(i.lastIndex=p,d=i.exec(l),d!==null);)p=i.lastIndex,i===H?d[1]==="!--"?i=Pe:d[1]!==void 0?i=Ie:d[2]!==void 0?(vs.test(d[2])&&(r=RegExp("</"+d[2],"g")),i=$):d[3]!==void 0&&(i=$):i===$?d[0]===">"?(i=r!=null?r:H,u=-1):d[1]===void 0?u=-2:(u=i.lastIndex-d[2].length,h=d[1],i=d[3]===void 0?$:d[3]==='"'?Re:De):i===Re||i===De?i=$:i===Pe||i===Ie?i=H:(i=$,r=void 0);const v=i===$&&e[c+1].startsWith("/>")?" ":"";o+=i===H?l+qr:u>=0?(n.push(h),l.slice(0,u)+"$lit$"+l.slice(u)+S+v):l+S+(u===-2?(n.push(void 0),c):v)}const a=o+(e[s]||"<?>")+(t===2?"</svg>":"");if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return[Oe!==void 0?Oe.createHTML(a):a,n]};class q{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let o=0,i=0;const a=t.length-1,c=this.parts,[l,h]=Yr(t,s);if(this.el=q.createElement(l,n),D.currentNode=this.el.content,s===2){const d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(r=D.nextNode())!==null&&c.length<a;){if(r.nodeType===1){if(r.hasAttributes()){const d=[];for(const u of r.getAttributeNames())if(u.endsWith("$lit$")||u.startsWith(S)){const p=h[i++];if(d.push(u),p!==void 0){const v=r.getAttribute(p.toLowerCase()+"$lit$").split(S),g=/([.?@])?(.*)/.exec(p);c.push({type:1,index:o,name:g[2],strings:v,ctor:g[1]==="."?to:g[1]==="?"?so:g[1]==="@"?no:gt})}else c.push({type:6,index:o})}for(const u of d)r.removeAttribute(u)}if(vs.test(r.tagName)){const d=r.textContent.split(S),u=d.length-1;if(u>0){r.textContent=x?x.emptyScript:"";for(let p=0;p<u;p++)r.append(d[p],W()),D.nextNode(),c.push({type:2,index:++o});r.append(d[u],W())}}}else if(r.nodeType===8)if(r.data===_s)c.push({type:2,index:o});else{let d=-1;for(;(d=r.data.indexOf(S,d+1))!==-1;)c.push({type:7,index:o}),d+=S.length-1}o++}}static createElement(t,s){const n=N.createElement("template");return n.innerHTML=t,n}}function k(e,t,s=e,n){var r,o,i,a;if(t===U)return t;let c=n!==void 0?(r=s._$Cl)===null||r===void 0?void 0:r[n]:s._$Cu;const l=Z(t)?void 0:t._$litDirective$;return(c==null?void 0:c.constructor)!==l&&((o=c==null?void 0:c._$AO)===null||o===void 0||o.call(c,!1),l===void 0?c=void 0:(c=new l(e),c._$AT(e,s,n)),n!==void 0?((i=(a=s)._$Cl)!==null&&i!==void 0?i:a._$Cl=[])[n]=c:s._$Cu=c),c!==void 0&&(t=k(e,c._$AS(e,t.values),c,n)),t}class Qr{constructor(t,s){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var s;const{el:{content:n},parts:r}=this._$AD,o=((s=t==null?void 0:t.creationScope)!==null&&s!==void 0?s:N).importNode(n,!0);D.currentNode=o;let i=D.nextNode(),a=0,c=0,l=r[0];for(;l!==void 0;){if(a===l.index){let h;l.type===2?h=new G(i,i.nextSibling,this,t):l.type===1?h=new l.ctor(i,l.name,l.strings,this,t):l.type===6&&(h=new ro(i,this,t)),this.v.push(h),l=r[++c]}a!==(l==null?void 0:l.index)&&(i=D.nextNode(),a++)}return o}m(t){let s=0;for(const n of this.v)n!==void 0&&(n.strings!==void 0?(n._$AI(t,n,s),s+=n.strings.length-2):n._$AI(t[s])),s++}}class G{constructor(t,s,n,r){var o;this.type=2,this._$AH=f,this._$AN=void 0,this._$AA=t,this._$AB=s,this._$AM=n,this.options=r,this._$Cg=(o=r==null?void 0:r.isConnected)===null||o===void 0||o}get _$AU(){var t,s;return(s=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&s!==void 0?s:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&t.nodeType===11&&(t=s.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,s=this){t=k(this,t,s),Z(t)?t===f||t==null||t===""?(this._$AH!==f&&this._$AR(),this._$AH=f):t!==this._$AH&&t!==U&&this.$(t):t._$litType$!==void 0?this.T(t):t.nodeType!==void 0?this.k(t):Gr(t)?this.S(t):this.$(t)}M(t,s=this._$AB){return this._$AA.parentNode.insertBefore(t,s)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==f&&Z(this._$AH)?this._$AA.nextSibling.data=t:this.k(N.createTextNode(t)),this._$AH=t}T(t){var s;const{values:n,_$litType$:r}=t,o=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=q.createElement(r.h,this.options)),r);if(((s=this._$AH)===null||s===void 0?void 0:s._$AD)===o)this._$AH.m(n);else{const i=new Qr(o,this),a=i.p(this.options);i.m(n),this.k(a),this._$AH=i}}_$AC(t){let s=xe.get(t.strings);return s===void 0&&xe.set(t.strings,s=new q(t)),s}S(t){ws(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let n,r=0;for(const o of t)r===s.length?s.push(n=new G(this.M(W()),this.M(W()),this,this.options)):n=s[r],n._$AI(o),r++;r<s.length&&(this._$AR(n&&n._$AB.nextSibling,r),s.length=r)}_$AR(t=this._$AA.nextSibling,s){var n;for((n=this._$AP)===null||n===void 0||n.call(this,!1,!0,s);t&&t!==this._$AB;){const r=t.nextSibling;t.remove(),t=r}}setConnected(t){var s;this._$AM===void 0&&(this._$Cg=t,(s=this._$AP)===null||s===void 0||s.call(this,t))}}class gt{constructor(t,s,n,r,o){this.type=1,this._$AH=f,this._$AN=void 0,this.element=t,this.name=s,this._$AM=r,this.options=o,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=f}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,s=this,n,r){const o=this.strings;let i=!1;if(o===void 0)t=k(this,t,s,0),i=!Z(t)||t!==this._$AH&&t!==U,i&&(this._$AH=t);else{const a=t;let c,l;for(t=o[0],c=0;c<o.length-1;c++)l=k(this,a[n+c],s,c),l===U&&(l=this._$AH[c]),i||(i=!Z(l)||l!==this._$AH[c]),l===f?t=f:t!==f&&(t+=(l!=null?l:"")+o[c+1]),this._$AH[c]=l}i&&!r&&this.C(t)}C(t){t===f?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!=null?t:"")}}class to extends gt{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===f?void 0:t}}const eo=x?x.emptyScript:"";class so extends gt{constructor(){super(...arguments),this.type=4}C(t){t&&t!==f?this.element.setAttribute(this.name,eo):this.element.removeAttribute(this.name)}}class no extends gt{constructor(t,s,n,r,o){super(t,s,n,r,o),this.type=5}_$AI(t,s=this){var n;if((t=(n=k(this,t,s,0))!==null&&n!==void 0?n:f)===U)return;const r=this._$AH,o=t===f&&r!==f||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,i=t!==f&&(r===f||o);o&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var s,n;typeof this._$AH=="function"?this._$AH.call((n=(s=this.options)===null||s===void 0?void 0:s.host)!==null&&n!==void 0?n:this.element,t):this._$AH.handleEvent(t)}}class ro{constructor(t,s,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=s,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){k(this,t)}}const Ne=window.litHtmlPolyfillSupport;Ne==null||Ne(q,G),((Pt=globalThis.litHtmlVersions)!==null&&Pt!==void 0?Pt:globalThis.litHtmlVersions=[]).push("2.2.2");/**
|
|
14
|
-
* @license
|
|
15
|
-
* Copyright 2017 Google LLC
|
|
16
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
17
|
-
*/const oo={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6};class io{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,s,n){this._$Ct=t,this._$AM=s,this._$Ci=n}_$AS(t,s){return this.update(t,s)}update(t,s){return this.render(...s)}}/**
|
|
18
|
-
* @license
|
|
19
|
-
* Copyright 2017 Google LLC
|
|
20
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
21
|
-
*/class Ue extends io{constructor(t){if(super(t),this.it=f,t.type!==oo.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===f||t==null)return this.ft=void 0,this.it=t;if(t===U)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.ft;this.it=t;const s=[t];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}Ue.directiveName="unsafeHTML",Ue.resultType=1;const y=(...e)=>{const t=_("LitStatic");return(t?t.html:Jr)(...e)},mt=(e,t,s,n,{host:r}={})=>{const o=_("OpenUI5Enablement");o&&!n&&(e=o.wrapTemplateResultInBusyMarkup(y,r,e)),typeof s=="string"?e=y`<style>${s}</style>${e}`:Array.isArray(s)&&s.length&&(e=y`${s.map(i=>y`<link type="text/css" rel="stylesheet" href="${i}">`)}${e}`),Xr(e,t,{host:r})},ao={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 Ss extends L{static get metadata(){return ao}static get render(){return mt}static get template(){return t=>y`<div><p>
|
|
22
|
-
<slot></slot>
|
|
23
|
-
<slot name="other"></slot>
|
|
24
|
-
<slot name="individual-1"></slot>
|
|
25
|
-
<slot name="individual-2"></slot>
|
|
26
|
-
</p></div>`}static get styles(){return`:host {
|
|
27
|
-
display: inline-block;
|
|
28
|
-
border: 1px solid black;
|
|
29
|
-
color: var(--var1);
|
|
30
|
-
}`}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}Ss.define();const co={tag:"ui5-test-no-shadow"};class lo extends L{static get metadata(){return co}}lo.define();const uo={tag:"ui5-test-parent",managedSlots:!0,slots:{default:{type:Node,invalidateOnChildChange:{properties:["prop1"]}},items:{type:HTMLElement,invalidateOnChildChange:{properties:!0}}}};class ho extends L{static get metadata(){return uo}static get render(){return mt}static get template(){return t=>y`<div>
|
|
31
|
-
<slot></slot>
|
|
32
|
-
</div>`}}ho.define();const fo={tag:"ui5-test-child",properties:{prop1:{type:String},prop2:{type:String},prop3:{type:String}}};class po extends L{static get metadata(){return fo}static get render(){return mt}static get template(){return t=>y`<div></div>`}}po.define();const go={tag:"ui5-with-static-area",properties:{staticContent:{type:Boolean}},slots:{}};class mo extends L{static get metadata(){return go}static get render(){return mt}static get template(){return t=>y`
|
|
33
|
-
<div dir=${t.effectiveDir}>
|
|
34
|
-
WithStaticArea works!
|
|
35
|
-
</div>`}static get staticAreaTemplate(){return t=>y`
|
|
36
|
-
<div class="ui5-with-static-area-content">
|
|
37
|
-
Static area content.
|
|
38
|
-
</div>`}static get styles(){return`
|
|
39
|
-
:host {
|
|
40
|
-
display: inline-block;
|
|
41
|
-
border: 1px solid black;
|
|
42
|
-
color: red;
|
|
43
|
-
}`}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(){}}mo.define();const yo={tag:"ui5-test-generic-ext",properties:{extProp:{type:String},strProp:{defaultValue:"Ext"}},slots:{extSlot:{type:HTMLElement}}};class _o extends Ss{static get metadata(){return yo}}_o.define();const wo=":root{ --var1: red; }",vo=":root{ --var1: green; }",So=":root{ --var1: blue; }",Ao=":root{ --var1: orange; }",bo=":root{ --var1: orange; }",$o=":root{ --var1: yellow; }",Co=":root{ --var1: yellow; }";b("@ui5/webcomponents-base-test","sap_fiori_3",()=>wo);b("@ui5/webcomponents-base-test","sap_fiori_3_dark",()=>vo);b("@ui5/webcomponents-base-test","sap_belize",()=>So);b("@ui5/webcomponents-base-test","sap_belize_hcb",()=>Ao);b("@ui5/webcomponents-base-test","sap_belize_hcw",()=>bo);b("@ui5/webcomponents-base-test","sap_fiori_3_hcb",()=>$o);b("@ui5/webcomponents-base-test","sap_fiori_3_hcw",()=>Co);const Eo=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,To=(e,t)=>(t=t||[],e.replace(Eo,(s,n,r,o,i)=>{if(n)return"'";if(r)return r.replace(/''/g,"'");if(o)return String(t[parseInt(o)]);throw new Error(`[i18n]: pattern syntax error at pos ${i}`)})),It=new Map;class Mo{constructor(t){this.packageName=t}getText(t,...s){if(typeof t=="string"&&(t={key:t,defaultText:t}),!t||!t.key)return"";const n=_n(this.packageName);n&&!n[t.key]&&console.warn(`Key ${t.key} not found in the i18n bundle, the default text will be used`);const r=n&&n[t.key]?n[t.key]:t.defaultText||t.key;return To(r,s)}}const Lo=e=>{if(It.has(e))return It.get(e);const t=new Mo(e);return It.set(e,t),t},Oo=async e=>(await ts(e),Lo(e));let Dt;const Po=()=>(Dt===void 0&&(Dt=Os()),Dt),As={Gregorian:"Gregorian",Islamic:"Islamic",Japanese:"Japanese",Buddhist:"Buddhist",Persian:"Persian"};class Wt extends F{static isValid(t){return!!As[t]}}Wt.generateTypeAccessors(As);let Y;const Io=()=>(Y===void 0&&(Y=Ns()),Wt.isValid(Y)?Y:Wt.Gregorian);let Rt;const Do=()=>(Rt===void 0&&(Rt=Us()),Rt.firstDayOfWeek),Ro=new T,xo="directionChange",No=()=>Ro.fireEvent(xo),Uo=async()=>{const e=No();await Promise.all(e),await Jt({rtlAware:!0})};window.registerThemePropertiesLoader=b;window["sap-ui-webcomponents-bundle"]={configuration:{getAnimationMode:Po,getLanguage:it,getTheme:pt,setTheme:cs,getNoConflict:te,setNoConflict:Vr,getCalendarType:Io,getRTL:ms,getFirstDayOfWeek:Do},getIconNames:Kn,registerI18nLoader:yn,getI18nBundle:Oo,renderFinished:Kt,applyDirection:Uo,EventProvider:T};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
const findNodeOwner = node => {
|
|
2
|
-
if (!(node instanceof HTMLElement)) {
|
|
3
|
-
throw new Error("Argument node should be of type HTMLElement");
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
const ownerTypes = [HTMLHtmlElement, HTMLIFrameElement];
|
|
7
|
-
let currentShadowRootFlag = true;
|
|
8
|
-
let currentCustomElementFlag = true;
|
|
9
|
-
|
|
10
|
-
while (node) {
|
|
11
|
-
if (node.toString() === "[object ShadowRoot]") {
|
|
12
|
-
// Web Component
|
|
13
|
-
// or the shadow root of web component with attached shadow root
|
|
14
|
-
if (currentShadowRootFlag) {
|
|
15
|
-
currentShadowRootFlag = false;
|
|
16
|
-
}
|
|
17
|
-
if (!currentCustomElementFlag && !currentShadowRootFlag) {
|
|
18
|
-
return node;
|
|
19
|
-
}
|
|
20
|
-
} else if (node.tagName && node.tagName.indexOf("-") > -1) {
|
|
21
|
-
if (currentCustomElementFlag) {
|
|
22
|
-
currentCustomElementFlag = false;
|
|
23
|
-
} else {
|
|
24
|
-
return node;
|
|
25
|
-
}
|
|
26
|
-
} else if (ownerTypes.indexOf(node.constructor) > -1) {
|
|
27
|
-
// Document or Iframe reached
|
|
28
|
-
return node;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
node = node.parentNode || node.host;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default findNodeOwner;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
const findNodeOwner = node => {
|
|
2
|
-
if (!(node instanceof HTMLElement)) {
|
|
3
|
-
throw new Error("Argument node should be of type HTMLElement");
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
const ownerTypes = [HTMLHtmlElement, HTMLIFrameElement];
|
|
7
|
-
let currentShadowRootFlag = true;
|
|
8
|
-
let currentCustomElementFlag = true;
|
|
9
|
-
|
|
10
|
-
while (node) {
|
|
11
|
-
if (node.toString() === "[object ShadowRoot]") {
|
|
12
|
-
// Web Component
|
|
13
|
-
// or the shadow root of web component with attached shadow root
|
|
14
|
-
if (currentShadowRootFlag) {
|
|
15
|
-
currentShadowRootFlag = false;
|
|
16
|
-
}
|
|
17
|
-
if (!currentCustomElementFlag && !currentShadowRootFlag) {
|
|
18
|
-
return node;
|
|
19
|
-
}
|
|
20
|
-
} else if (node.tagName && node.tagName.indexOf("-") > -1) {
|
|
21
|
-
if (currentCustomElementFlag) {
|
|
22
|
-
currentCustomElementFlag = false;
|
|
23
|
-
} else {
|
|
24
|
-
return node;
|
|
25
|
-
}
|
|
26
|
-
} else if (ownerTypes.indexOf(node.constructor) > -1) {
|
|
27
|
-
// Document or Iframe reached
|
|
28
|
-
return node;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
node = node.parentNode || node.host;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default findNodeOwner;
|