@openui5/sap.ui.webc.common 1.101.0 → 1.103.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.
Files changed (68) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +2 -2
  3. package/src/sap/ui/webc/common/.library +1 -1
  4. package/src/sap/ui/webc/common/WebComponent.js +34 -2
  5. package/src/sap/ui/webc/common/WebComponentMetadata.js +11 -1
  6. package/src/sap/ui/webc/common/WebComponentRenderer.js +1 -1
  7. package/src/sap/ui/webc/common/library.js +9 -5
  8. package/src/sap/ui/webc/common/thirdparty/base/CustomElementsScope.js +12 -51
  9. package/src/sap/ui/webc/common/thirdparty/base/CustomElementsScopeUtils.js +57 -0
  10. package/src/sap/ui/webc/common/thirdparty/base/Device.js +4 -0
  11. package/src/sap/ui/webc/common/thirdparty/base/StaticAreaItem.js +2 -2
  12. package/src/sap/ui/webc/common/thirdparty/base/UI5Element.js +5 -1
  13. package/src/sap/ui/webc/common/thirdparty/base/UI5ElementMetadata.js +3 -3
  14. package/src/sap/ui/webc/common/thirdparty/base/_chunks/style-map.js +4 -2
  15. package/src/sap/ui/webc/common/thirdparty/base/asset-registries/Icons.js +3 -6
  16. package/src/sap/ui/webc/common/thirdparty/base/config/Icons.js +28 -0
  17. package/src/sap/ui/webc/common/thirdparty/base/css/BusyIndicator.css +76 -0
  18. package/src/sap/ui/webc/common/thirdparty/base/features/OpenUI5Enablement.js +99 -0
  19. package/src/sap/ui/webc/common/thirdparty/base/generated/VersionInfo.js +4 -4
  20. package/src/sap/ui/webc/common/thirdparty/base/generated/css/BusyIndicator.css.js +11 -0
  21. package/src/sap/ui/webc/common/thirdparty/base/renderer/LitRenderer.js +25 -10
  22. package/src/sap/ui/webc/common/thirdparty/base/renderer/executeTemplate.js +4 -4
  23. package/src/sap/ui/webc/common/thirdparty/base/theming/getEffectiveLinksHrefs.js +5 -1
  24. package/src/sap/ui/webc/common/thirdparty/base/theming/getEffectiveStyle.js +7 -1
  25. package/src/sap/ui/webc/common/thirdparty/base/updateShadowRoot.js +1 -1
  26. package/src/sap/ui/webc/common/thirdparty/base/util/getNormalizedTarget.js +13 -0
  27. package/src/sap/ui/webc/common/thirdparty/lit-html/directives/class-map.js +1 -1
  28. package/src/sap/ui/webc/common/thirdparty/lit-html/directives/repeat.js +1 -1
  29. package/src/sap/ui/webc/common/thirdparty/lit-html/directives/unsafe-html.js +1 -1
  30. package/src/sap/ui/webc/common/thirdparty/lit-html/lit-html.js +5 -5
  31. package/src/sap/ui/webc/common/thirdparty/lit-html/static.js +6 -6
  32. package/src/sap/ui/webc/common/thirdparty/localization/dates/CalendarDate.js +7 -1
  33. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css.js +1 -1
  34. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css10.js +1 -1
  35. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css11.js +1 -1
  36. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css12.js +1 -1
  37. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css2.js +1 -1
  38. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css3.js +1 -1
  39. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css4.js +1 -1
  40. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css5.js +1 -1
  41. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css6.js +1 -1
  42. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css7.js +1 -1
  43. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css8.js +1 -1
  44. package/src/sap/ui/webc/common/thirdparty/theming/_chunks/parameters-bundle.css9.js +1 -1
  45. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_belize/parameters-bundle.css +1 -1
  46. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  47. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  48. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  49. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  50. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  51. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  52. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_horizon/parameters-bundle.css +1 -1
  53. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  54. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  55. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  56. package/src/sap/ui/webc/common/thirdparty/theming/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  57. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  58. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  59. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  60. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  61. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  62. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  63. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  64. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  65. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  66. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  67. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  68. package/src/sap/ui/webc/common/thirdparty/theming/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
package/THIRDPARTY.txt CHANGED
@@ -450,7 +450,7 @@ License: Apache-2.0
450
450
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
451
451
  Contained in: lib/jsdoc/ui5/plugin.js
452
452
 
453
- Component: SAP Theming Base Content, version: 11.1.38
453
+ Component: SAP Theming Base Content, version: 11.1.39
454
454
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
455
455
  License: Apache-2.0
456
456
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.webc.common",
3
- "version": "1.101.0",
3
+ "version": "1.103.0",
4
4
  "description": "OpenUI5 UI Library sap.ui.webc.common",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -16,6 +16,6 @@
16
16
  "url": "https://github.com/SAP/openui5.git"
17
17
  },
18
18
  "dependencies": {
19
- "@openui5/sap.ui.core": "1.101.0"
19
+ "@openui5/sap.ui.core": "1.103.0"
20
20
  }
21
21
  }
@@ -3,7 +3,7 @@
3
3
 
4
4
  <name>sap.ui.webc.common</name>
5
5
  <vendor>SAP SE</vendor>
6
- <version>1.101.0</version>
6
+ <version>1.103.0</version>
7
7
  <copyright>OpenUI5
8
8
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
9
9
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
@@ -106,7 +106,7 @@ sap.ui.define([
106
106
  *
107
107
  * @extends sap.ui.core.Control
108
108
  * @author SAP SE
109
- * @version 1.101.0
109
+ * @version 1.103.0
110
110
  * @public
111
111
  * @since 1.92.0
112
112
  * @alias sap.ui.webc.common.WebComponent
@@ -118,12 +118,25 @@ sap.ui.define([
118
118
  metadata : {
119
119
  stereotype : "webcomponent",
120
120
  "abstract" : true,
121
- library : "sap.ui.core"
121
+ library : "sap.ui.webc.common",
122
+ properties: {
123
+ __isBusy: {
124
+ type: "boolean",
125
+ visibility: "hidden",
126
+ defaultValue: false,
127
+ mapping: {
128
+ type: "attribute",
129
+ to: "__is-busy"
130
+ }
131
+ }
132
+ }
122
133
  },
123
134
 
124
135
  constructor : function(sId, mSettings) {
125
136
  Control.apply(this, arguments);
126
137
 
138
+ this.__busyIndicatorTimeout = null;
139
+
127
140
  this.__onInvalidationBound = this.__onInvalidation.bind(this);
128
141
  this.__handleCustomEventBound = this.__handleCustomEvent.bind(this);
129
142
 
@@ -289,6 +302,25 @@ sap.ui.define([
289
302
  }
290
303
  };
291
304
 
305
+ WebComponent.prototype.setBusy = function(bBusy) {
306
+ var bCurrentBusyState = this.getBusy();
307
+
308
+ this.setProperty("busy", bBusy, true);
309
+
310
+ if (bCurrentBusyState !== bBusy) {
311
+ if (bBusy) {
312
+ this.__busyIndicatorTimeout = setTimeout(function() {
313
+ this.setProperty("__isBusy", bBusy);
314
+ }.bind(this), this.getBusyIndicatorDelay());
315
+ } else {
316
+ this.setProperty("__isBusy", bBusy);
317
+ clearTimeout(this.__busyIndicatorTimeout);
318
+ }
319
+ }
320
+
321
+ return this;
322
+ };
323
+
292
324
  /**
293
325
  * Synchronize user-controlled properties (such as checked, value)
294
326
  * @param oChangeInfo
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  *
24
24
  * @class
25
25
  * @author SAP SE
26
- * @version 1.101.0
26
+ * @version 1.103.0
27
27
  * @since 1.92.0
28
28
  * @experimental Since 1.92.0 The API might change. It is not intended for productive usage yet!
29
29
  * @alias sap.ui.webc.common.WebComponentMetadata
@@ -194,6 +194,7 @@ sap.ui.define([
194
194
  WebComponentMetadata.prototype.getPropertiesByMapping = function(sMapping) {
195
195
  var mFiltered = {};
196
196
  var mProperties = this.getAllProperties();
197
+ var mPrivateProperties = this.getAllPrivateProperties();
197
198
  for (var propName in mProperties) {
198
199
  if (mProperties.hasOwnProperty(propName)) {
199
200
  var propData = mProperties[propName];
@@ -203,6 +204,15 @@ sap.ui.define([
203
204
  }
204
205
  }
205
206
 
207
+ for (var propName in mPrivateProperties) {
208
+ if (mPrivateProperties.hasOwnProperty(propName)) {
209
+ var propData = mPrivateProperties[propName];
210
+ if (propData._sMapping === sMapping) {
211
+ mFiltered[propName] = propData;
212
+ }
213
+ }
214
+ }
215
+
206
216
  return mFiltered;
207
217
  };
208
218
 
@@ -114,7 +114,7 @@ sap.ui.define([
114
114
  }
115
115
 
116
116
  var aAttributes = oDomRef.getAttributeNames();
117
- var aSkipList = ["id", "data-sap-ui", "style", "class"];
117
+ var aSkipList = ["id", "data-sap-ui", "style", "class", "__is-busy"];
118
118
  aAttributes.forEach(function(sAttr) {
119
119
  if (aSkipList.indexOf(sAttr) !== -1) {
120
120
  return; // Skip attributes, set by the framework
@@ -12,11 +12,13 @@ sap.ui.define([
12
12
  "sap/ui/base/DataType",
13
13
  "./Icons",
14
14
  "./thirdparty/base/features/OpenUI5Support",
15
+ "./thirdparty/base/features/OpenUI5Enablement",
15
16
  "./thirdparty/base/AssetRegistry",
16
17
  "./thirdparty/base/CustomElementsScope",
17
- "./thirdparty/base/CSP"
18
+ "./thirdparty/base/CSP",
19
+ "./thirdparty/base/UI5Element"
18
20
  ],
19
- function(coreLibrary, DataType, Icons, OpenUI5Support, AssetRegistry, CustomElementsScope, CSP) {
21
+ function(coreLibrary, DataType, Icons, OpenUI5Support, OpenUI5Enablement, AssetRegistry, CustomElementsScope, CSP, UI5Element) {
20
22
 
21
23
  "use strict";
22
24
 
@@ -26,7 +28,7 @@ sap.ui.define([
26
28
  * @namespace
27
29
  * @name sap.ui.webc
28
30
  * @author SAP SE
29
- * @version 1.101.0
31
+ * @version 1.103.0
30
32
  * @public
31
33
  * @since 1.92.0
32
34
  * @experimental Since 1.92.0
@@ -38,14 +40,14 @@ sap.ui.define([
38
40
  * @namespace
39
41
  * @alias sap.ui.webc.common
40
42
  * @author SAP SE
41
- * @version 1.101.0
43
+ * @version 1.103.0
42
44
  * @public
43
45
  * @since 1.92.0
44
46
  * @experimental Since 1.92.0
45
47
  */
46
48
  var thisLib = sap.ui.getCore().initLibrary({
47
49
  name : "sap.ui.webc.common",
48
- version: "1.101.0",
50
+ version: "1.103.0",
49
51
  dependencies : ["sap.ui.core"],
50
52
  noLibraryCSS: true,
51
53
  designtime: "sap/ui/webc/common/designtime/library.designtime",
@@ -69,5 +71,7 @@ sap.ui.define([
69
71
  CSP.setPackageCSSRoot("@ui5/webcomponents-base", sap.ui.require.toUrl("sap/ui/webc/common/thirdparty/base/css/"));
70
72
  CSP.setPackageCSSRoot("@ui5/webcomponents-theming", sap.ui.require.toUrl("sap/ui/webc/common/thirdparty/theming/css/"));
71
73
 
74
+ OpenUI5Enablement.enrichBusyIndicatorSettings(UI5Element);
75
+
72
76
  return thisLib;
73
77
  });
@@ -1,56 +1,17 @@
1
- sap.ui.define(['exports'], function (exports) { 'use strict';
1
+ sap.ui.define(['exports', 'sap/ui/webc/common/thirdparty/lit-html/static', './CustomElementsScopeUtils', './FeaturesRegistry'], function (exports, _static, CustomElementsScopeUtils, FeaturesRegistry) { 'use strict';
2
2
 
3
- let suf;
4
- let rulesObj = {
5
- include: [/^ui5-/],
6
- exclude: [],
7
- };
8
- const tagsCache = new Map();
9
- const setCustomElementsScopingSuffix = suffix => {
10
- if (!suffix.match(/^[a-zA-Z0-9_-]+$/)) {
11
- throw new Error("Only alphanumeric characters and dashes allowed for the scoping suffix");
12
- }
13
- suf = suffix;
14
- };
15
- const getCustomElementsScopingSuffix = () => {
16
- return suf;
17
- };
18
- const setCustomElementsScopingRules = rules => {
19
- if (!rules || !rules.include) {
20
- throw new Error(`"rules" must be an object with at least an "include" property`);
21
- }
22
- if (!Array.isArray(rules.include) || rules.include.some(rule => !(rule instanceof RegExp))) {
23
- throw new Error(`"rules.include" must be an array of regular expressions`);
24
- }
25
- if (rules.exclude && (!Array.isArray(rules.exclude) || rules.exclude.some(rule => !(rule instanceof RegExp)))) {
26
- throw new Error(`"rules.exclude" must be an array of regular expressions`);
27
- }
28
- rules.exclude = rules.exclude || [];
29
- rulesObj = rules;
30
- tagsCache.clear();
31
- };
32
- const getCustomElementsScopingRules = () => {
33
- return rulesObj;
34
- };
35
- const shouldScopeCustomElement = tag => {
36
- if (!tagsCache.has(tag)) {
37
- const result = rulesObj.include.some(rule => tag.match(rule)) && !rulesObj.exclude.some(rule => tag.match(rule));
38
- tagsCache.set(tag, result);
39
- }
40
- return tagsCache.get(tag);
41
- };
42
- const getEffectiveScopingSuffixForTag = tag => {
43
- if (shouldScopeCustomElement(tag)) {
44
- return getCustomElementsScopingSuffix();
45
- }
46
- };
3
+ FeaturesRegistry.registerFeature("LitStatic", {
4
+ html: _static.html,
5
+ svg: _static.svg,
6
+ unsafeStatic: _static.unsafeStatic,
7
+ });
47
8
 
48
- exports.getCustomElementsScopingRules = getCustomElementsScopingRules;
49
- exports.getCustomElementsScopingSuffix = getCustomElementsScopingSuffix;
50
- exports.getEffectiveScopingSuffixForTag = getEffectiveScopingSuffixForTag;
51
- exports.setCustomElementsScopingRules = setCustomElementsScopingRules;
52
- exports.setCustomElementsScopingSuffix = setCustomElementsScopingSuffix;
53
- exports.shouldScopeCustomElement = shouldScopeCustomElement;
9
+ exports.getCustomElementsScopingRules = CustomElementsScopeUtils.getCustomElementsScopingRules;
10
+ exports.getCustomElementsScopingSuffix = CustomElementsScopeUtils.getCustomElementsScopingSuffix;
11
+ exports.getEffectiveScopingSuffixForTag = CustomElementsScopeUtils.getEffectiveScopingSuffixForTag;
12
+ exports.setCustomElementsScopingRules = CustomElementsScopeUtils.setCustomElementsScopingRules;
13
+ exports.setCustomElementsScopingSuffix = CustomElementsScopeUtils.setCustomElementsScopingSuffix;
14
+ exports.shouldScopeCustomElement = CustomElementsScopeUtils.shouldScopeCustomElement;
54
15
 
55
16
  Object.defineProperty(exports, '__esModule', { value: true });
56
17
 
@@ -0,0 +1,57 @@
1
+ sap.ui.define(['exports'], function (exports) { 'use strict';
2
+
3
+ let suf;
4
+ let rulesObj = {
5
+ include: [/^ui5-/],
6
+ exclude: [],
7
+ };
8
+ const tagsCache = new Map();
9
+ const setCustomElementsScopingSuffix = suffix => {
10
+ if (!suffix.match(/^[a-zA-Z0-9_-]+$/)) {
11
+ throw new Error("Only alphanumeric characters and dashes allowed for the scoping suffix");
12
+ }
13
+ suf = suffix;
14
+ };
15
+ const getCustomElementsScopingSuffix = () => {
16
+ return suf;
17
+ };
18
+ const setCustomElementsScopingRules = rules => {
19
+ if (!rules || !rules.include) {
20
+ throw new Error(`"rules" must be an object with at least an "include" property`);
21
+ }
22
+ if (!Array.isArray(rules.include) || rules.include.some(rule => !(rule instanceof RegExp))) {
23
+ throw new Error(`"rules.include" must be an array of regular expressions`);
24
+ }
25
+ if (rules.exclude && (!Array.isArray(rules.exclude) || rules.exclude.some(rule => !(rule instanceof RegExp)))) {
26
+ throw new Error(`"rules.exclude" must be an array of regular expressions`);
27
+ }
28
+ rules.exclude = rules.exclude || [];
29
+ rulesObj = rules;
30
+ tagsCache.clear();
31
+ };
32
+ const getCustomElementsScopingRules = () => {
33
+ return rulesObj;
34
+ };
35
+ const shouldScopeCustomElement = tag => {
36
+ if (!tagsCache.has(tag)) {
37
+ const result = rulesObj.include.some(rule => tag.match(rule)) && !rulesObj.exclude.some(rule => tag.match(rule));
38
+ tagsCache.set(tag, result);
39
+ }
40
+ return tagsCache.get(tag);
41
+ };
42
+ const getEffectiveScopingSuffixForTag = tag => {
43
+ if (shouldScopeCustomElement(tag)) {
44
+ return getCustomElementsScopingSuffix();
45
+ }
46
+ };
47
+
48
+ exports.getCustomElementsScopingRules = getCustomElementsScopingRules;
49
+ exports.getCustomElementsScopingSuffix = getCustomElementsScopingSuffix;
50
+ exports.getEffectiveScopingSuffixForTag = getEffectiveScopingSuffixForTag;
51
+ exports.setCustomElementsScopingRules = setCustomElementsScopingRules;
52
+ exports.setCustomElementsScopingSuffix = setCustomElementsScopingSuffix;
53
+ exports.shouldScopeCustomElement = shouldScopeCustomElement;
54
+
55
+ Object.defineProperty(exports, '__esModule', { value: true });
56
+
57
+ });
@@ -81,7 +81,11 @@ sap.ui.define(['exports'], function (exports) { 'use strict';
81
81
  const isIOS = () => {
82
82
  return iOS;
83
83
  };
84
+ const isAndroid = () => {
85
+ return android || androidPhone;
86
+ };
84
87
 
88
+ exports.isAndroid = isAndroid;
85
89
  exports.isChrome = isChrome;
86
90
  exports.isCombi = isCombi;
87
91
  exports.isDesktop = isDesktop;
@@ -1,4 +1,4 @@
1
- sap.ui.define(['./StaticArea', './updateShadowRoot', './Render', './util/getEffectiveContentDensity', './CustomElementsScope', './locale/getEffectiveDir'], function (StaticArea, updateShadowRoot, Render, getEffectiveContentDensity, CustomElementsScope, getEffectiveDir) { 'use strict';
1
+ sap.ui.define(['./StaticArea', './updateShadowRoot', './Render', './util/getEffectiveContentDensity', './CustomElementsScopeUtils', './locale/getEffectiveDir'], function (StaticArea, updateShadowRoot, Render, getEffectiveContentDensity, CustomElementsScopeUtils, getEffectiveDir) { 'use strict';
2
2
 
3
3
  class StaticAreaItem extends HTMLElement {
4
4
  constructor() {
@@ -48,7 +48,7 @@ sap.ui.define(['./StaticArea', './updateShadowRoot', './Render', './util/getEffe
48
48
  }
49
49
  static getTag() {
50
50
  const pureTag = "ui5-static-area-item";
51
- const suffix = CustomElementsScope.getEffectiveScopingSuffixForTag(pureTag);
51
+ const suffix = CustomElementsScopeUtils.getEffectiveScopingSuffixForTag(pureTag);
52
52
  if (!suffix) {
53
53
  return pureTag;
54
54
  }
@@ -12,6 +12,7 @@ sap.ui.define(['./thirdparty/merge', './Boot', './UI5ElementMetadata', './EventP
12
12
  Render.renderDeferred(this);
13
13
  this._eventProvider.fireEvent("invalidate", { ...changeInfo, target: this });
14
14
  }
15
+ let metadata = {};
15
16
  class UI5Element extends HTMLElement {
16
17
  constructor() {
17
18
  super();
@@ -497,7 +498,10 @@ sap.ui.define(['./thirdparty/merge', './Boot', './UI5ElementMetadata', './EventP
497
498
  }
498
499
  }
499
500
  static get metadata() {
500
- return {};
501
+ return metadata;
502
+ }
503
+ static set metadata(newMetadata) {
504
+ metadata = newMetadata;
501
505
  }
502
506
  static get styles() {
503
507
  return "";
@@ -1,4 +1,4 @@
1
- sap.ui.define(['./types/DataType', './util/isDescendantOf', './util/StringHelper', './util/SlotsHelper', './CustomElementsScope'], function (DataType, isDescendantOf, StringHelper, SlotsHelper, CustomElementsScope) { 'use strict';
1
+ sap.ui.define(['./types/DataType', './util/isDescendantOf', './util/StringHelper', './util/SlotsHelper', './CustomElementsScopeUtils'], function (DataType, isDescendantOf, StringHelper, SlotsHelper, CustomElementsScopeUtils) { 'use strict';
2
2
 
3
3
  class UI5ElementMetadata {
4
4
  constructor(metadata) {
@@ -54,7 +54,7 @@ sap.ui.define(['./types/DataType', './util/isDescendantOf', './util/StringHelper
54
54
  }
55
55
  getTag() {
56
56
  const pureTag = this.metadata.tag;
57
- const suffix = CustomElementsScope.getEffectiveScopingSuffixForTag(pureTag);
57
+ const suffix = CustomElementsScopeUtils.getEffectiveScopingSuffixForTag(pureTag);
58
58
  if (!suffix) {
59
59
  return pureTag;
60
60
  }
@@ -65,7 +65,7 @@ sap.ui.define(['./types/DataType', './util/isDescendantOf', './util/StringHelper
65
65
  if (!pureAltTag) {
66
66
  return;
67
67
  }
68
- const suffix = CustomElementsScope.getEffectiveScopingSuffixForTag(pureAltTag);
68
+ const suffix = CustomElementsScopeUtils.getEffectiveScopingSuffixForTag(pureAltTag);
69
69
  if (!suffix) {
70
70
  return pureAltTag;
71
71
  }
@@ -5,7 +5,7 @@ sap.ui.define(['exports', 'sap/ui/webc/common/thirdparty/lit-html/directive'], f
5
5
  * Copyright 2017 Google LLC
6
6
  * SPDX-License-Identifier: BSD-3-Clause
7
7
  */
8
- var t;const i=globalThis.trustedTypes,s=i?i.createPolicy("lit-html",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+"").slice(9)}$`,o="?"+e,n=`<${o}>`,l=document,h=(t="")=>l.createComment(t),r=t=>null===t||"object"!=typeof t&&"function"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||"function"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,_=/'/g,m=/"/g,g=/^(?:script|style|textarea)$/i,b=Symbol.for("lit-noChange"),T=Symbol.for("lit-nothing"),x=new WeakMap,w=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{});}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?"<svg>":"",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,$=-1,p=0;for(;p<s.length&&(d.lastIndex=p,u=d.exec(s),null!==u);)p=d.lastIndex,d===c?"!--"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp("</"+u[2],"g")),d=f):void 0!==u[3]&&(d=f):d===f?">"===u[0]?(d=null!=h?h:c,$=-1):void 0===u[1]?$=-2:($=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith("/>")?" ":"";r+=d===c?s+n:$>=0?(l.push(o),s.slice(0,$)+"$lit$"+s.slice($)+e+y):s+e+(-2===$?(l.push(void 0),i):y);}const u=r+(t[o]||"<?>")+(2===i?"</svg>":"");return [void 0!==s?s.createHTML(u):u,l]};class P{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=P.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes);}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith("$lit$")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+"$lit$").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:"."===i[1]?M:"?"===i[1]?k:"@"===i[1]?H:S});}else c.push({type:6,index:r});}for(const i of t)l.removeAttribute(i);}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:"";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h());}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else {let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1;}r++;}}static createElement(t,i){const s=l.createElement("template");return s.innerHTML=t,s}}function V(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return (null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=V(t,d._$AS(t,i.values),d,e)),i}class E{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new I(n,this,t)),this.v.push(i),d=e[++r];}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++);}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=T,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o;}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=V(this,t,i),r(t)?t===T||null==t||""===t?(this._$AH!==T&&this._$AR(),this._$AH=T):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):u(t)?this.M(t):this.$(t);}A(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}S(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t));}$(t){this._$AH!==T&&r(this._$AH)?this._$AA.nextSibling.data=t:this.S(l.createTextNode(t)),this._$AH=t;}T(t){var i;const{values:s,_$litType$:e}=t,o="number"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=P.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else {const t=new E(o,this),i=t.p(this.options);t.m(s),this.S(i),this._$AH=t;}}_$AC(t){let i=x.get(t.strings);return void 0===i&&x.set(t.strings,i=new P(t)),i}M(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.A(h()),this.A(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t));}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=T,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T;}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=V(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else {const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=V(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===T?t=T:t!==T&&(t+=(null!=h?h:"")+o[l+1]),this._$AH[l]=h;}n&&!e&&this.k(t);}k(t){t===T?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"");}}class M extends S{constructor(){super(...arguments),this.type=3;}k(t){this.element[this.name]=t===T?void 0:t;}}class k extends S{constructor(){super(...arguments),this.type=4;}k(t){t&&t!==T?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name);}}class H extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5;}_$AI(t,i=this){var s;if((t=null!==(s=V(this,t,i,0))&&void 0!==s?s:T)===b)return;const e=this._$AH,o=t===T&&e!==T||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==T&&(e===T||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){var i,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t);}}class I{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){V(this,t);}}const R=window.litHtmlPolyfillSupport;null==R||R(P,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push("2.0.1");
8
+ var t;const i=globalThis.trustedTypes,s=i?i.createPolicy("lit-html",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+"").slice(9)}$`,o="?"+e,n=`<${o}>`,l=document,h=(t="")=>l.createComment(t),r=t=>null===t||"object"!=typeof t&&"function"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||"function"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,_=/'/g,m=/"/g,g=/^(?:script|style|textarea|title)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for("lit-noChange"),w=Symbol.for("lit-nothing"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{});}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?"<svg>":"",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?"!--"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp("</"+u[2],"g")),d=f):void 0!==u[3]&&(d=f):d===f?">"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith("/>")?" ":"";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+"$lit$"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y);}const u=r+(t[o]||"<?>")+(2===i?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return [void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes);}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith("$lit$")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+"$lit$").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:"."===i[1]?M:"?"===i[1]?H:"@"===i[1]?I:S});}else c.push({type:6,index:r});}for(const i of t)l.removeAttribute(i);}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:"";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h());}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else {let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1;}r++;}}static createElement(t,i){const s=l.createElement("template");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return (null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r];}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++);}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o;}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||""===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):u(t)?this.S(t):this.$(t);}M(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t));}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.k(l.createTextNode(t)),this._$AH=t;}T(t){var i;const{values:s,_$litType$:e}=t,o="number"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else {const t=new V(o,this),i=t.p(this.options);t.m(s),this.k(i),this._$AH=t;}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.M(h()),this.M(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t));}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w;}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else {const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:"")+o[l+1]),this._$AH[l]=h;}n&&!e&&this.C(t);}C(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"");}}class M extends S{constructor(){super(...arguments),this.type=3;}C(t){this.element[this.name]=t===w?void 0:t;}}const k=i?i.emptyScript:"";class H extends S{constructor(){super(...arguments),this.type=4;}C(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name);}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5;}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){var i,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t);}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t);}}const z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push("2.2.2");
9
9
 
10
10
  /**
11
11
  * @license
@@ -62,7 +62,9 @@ sap.ui.define(['exports', 'sap/ui/webc/common/thirdparty/lit-html/directive'], f
62
62
  }
63
63
  const styleMap = directive.directive(StyleMapDirective);
64
64
 
65
+ exports.$ = $;
65
66
  exports.styleMap = styleMap;
66
- exports.w = w;
67
+ exports.x = x;
68
+ exports.y = y;
67
69
 
68
70
  });
@@ -1,4 +1,4 @@
1
- sap.ui.define(['exports', '../getSharedResource', '../assets-meta/IconCollectionsAlias', '../config/Theme'], function (exports, getSharedResource, IconCollectionsAlias, Theme) { 'use strict';
1
+ sap.ui.define(['exports', '../getSharedResource', '../assets-meta/IconCollectionsAlias', '../config/Icons'], function (exports, getSharedResource, IconCollectionsAlias, Icons) { 'use strict';
2
2
 
3
3
  const loaders = new Map();
4
4
  const registry = getSharedResource("SVGIcons.registry", new Map());
@@ -34,7 +34,7 @@ sap.ui.define(['exports', '../getSharedResource', '../assets-meta/IconCollection
34
34
  };
35
35
  const registerIcon = (name, { pathData, ltr, accData, collection, packageName } = {}) => {
36
36
  if (!collection) {
37
- collection = _getDefaultCollection();
37
+ collection = Icons.getEffectiveDefaultIconCollection();
38
38
  }
39
39
  const key = `${collection}/${name}`;
40
40
  registry.set(key, {
@@ -50,7 +50,7 @@ sap.ui.define(['exports', '../getSharedResource', '../assets-meta/IconCollection
50
50
  }
51
51
  let collection;
52
52
  [name, collection] = name.split("/").reverse();
53
- collection = collection || _getDefaultCollection();
53
+ collection = collection || Icons.getEffectiveDefaultIconCollection();
54
54
  collection = _normalizeCollection(collection);
55
55
  name = name.replace("icon-", "");
56
56
  const registryKey = `${collection}/${name}`;
@@ -82,9 +82,6 @@ sap.ui.define(['exports', '../getSharedResource', '../assets-meta/IconCollection
82
82
  await getIconData("business-suite/3d");
83
83
  return Array.from(registry.keys());
84
84
  };
85
- const _getDefaultCollection = () => {
86
- return Theme.isThemeFamily("sap_horizon") ? "SAP-icons-v5" : "SAP-icons";
87
- };
88
85
  const _normalizeCollection = collectionName => {
89
86
  if (IconCollectionsAlias[collectionName]) {
90
87
  return IconCollectionsAlias[collectionName];
@@ -0,0 +1,28 @@
1
+ sap.ui.define(['exports', './Theme'], function (exports, Theme) { 'use strict';
2
+
3
+ const IconCollectionConfiguration = new Map();
4
+ const setDefaultIconCollection = (theme, collectionName) => {
5
+ if (collectionName === "horizon") {
6
+ collectionName = "SAP-icons-v5";
7
+ }
8
+ IconCollectionConfiguration.set(theme, collectionName);
9
+ };
10
+ const getDefaultIconCollection = theme => {
11
+ return IconCollectionConfiguration.get(theme);
12
+ };
13
+ const getEffectiveDefaultIconCollection = () => {
14
+ const currentTheme = Theme.getTheme();
15
+ const currentThemeConfiguration = IconCollectionConfiguration.get(currentTheme);
16
+ if (currentThemeConfiguration) {
17
+ return currentThemeConfiguration;
18
+ }
19
+ return Theme.isThemeFamily("sap_horizon") ? "SAP-icons-v5" : "SAP-icons";
20
+ };
21
+
22
+ exports.getDefaultIconCollection = getDefaultIconCollection;
23
+ exports.getEffectiveDefaultIconCollection = getEffectiveDefaultIconCollection;
24
+ exports.setDefaultIconCollection = setDefaultIconCollection;
25
+
26
+ Object.defineProperty(exports, '__esModule', { value: true });
27
+
28
+ });
@@ -0,0 +1,76 @@
1
+ .busy-indicator-wrapper {
2
+ position: relative;
3
+ height: 100%;
4
+ width: 100%;
5
+ }
6
+
7
+ .busy-indicator-overlay {
8
+ display: var(--ui5_web_components_busy_indicator_display);
9
+ position: absolute;
10
+ inset: 0;
11
+ background: var(--ui5_web_components_busy_indicator_background-color);
12
+ z-index: 99;
13
+ }
14
+
15
+ .busy-indicator-busy-area {
16
+ display: var(--ui5_web_components_busy_indicator_display);
17
+ position: absolute;
18
+ z-index: 99;
19
+ inset: 0;
20
+ justify-content: center;
21
+ align-items: center;
22
+ background-color: inherit;
23
+ flex-direction: column;
24
+ color: var(--_ui5_busy_indicator_color);
25
+ }
26
+
27
+ :host([__is-busy]) .busy-indicator-wrapper > :not(.busy-indicator-busy-area):not(.busy-indicator-overlay):not([busy-indicator-before-span]) {
28
+ --ui5_web_components_busy_indicator_display: none;
29
+ }
30
+
31
+ .busy-indicator-busy-area:focus {
32
+ outline: var(--_ui5_busy_indicator_focus_outline);
33
+ outline-offset: -.125rem;
34
+ }
35
+
36
+ .busy-indicator-circle {
37
+ width: 1rem;
38
+ height: 1rem;
39
+ display: inline-block;
40
+ background-color: currentColor;
41
+ border-radius: 50%;
42
+ }
43
+
44
+ .circle-animation-0 {
45
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
46
+ }
47
+
48
+ .circle-animation-1 {
49
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
50
+ animation-delay: 200ms;
51
+ }
52
+
53
+ .circle-animation-2 {
54
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
55
+ animation-delay: 400ms;
56
+ }
57
+
58
+ .sapUiLocalBusy {
59
+ --ui5_web_components_busy_indicator_display: none;
60
+ }
61
+
62
+ @keyframes grow {
63
+ 0%, 50%, 100% {
64
+ -webkit-transform: scale(0.5);
65
+ -moz-transform: scale(0.5);
66
+ -ms-transform: scale(0.5);
67
+ transform: scale(0.5);
68
+ }
69
+
70
+ 25% {
71
+ -webkit-transform: scale(1);
72
+ -moz-transform: scale(1);
73
+ -ms-transform: scale(1);
74
+ transform: scale(1);
75
+ }
76
+ }