@ui5/webcomponents-base 1.24.0 → 2.0.0-rc.1

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 (62) hide show
  1. package/.eslintignore +0 -1
  2. package/CHANGELOG.md +279 -0
  3. package/README.md +0 -8
  4. package/bundle.esm.js +0 -1
  5. package/config/wdio.conf.cjs +0 -8
  6. package/dist/.tsbuildinfo +1 -1
  7. package/dist/Device.d.ts +1 -2
  8. package/dist/Device.js +5 -12
  9. package/dist/Device.js.map +1 -1
  10. package/dist/ManagedStyles.js +21 -99
  11. package/dist/ManagedStyles.js.map +1 -1
  12. package/dist/UI5Element.d.ts +5 -26
  13. package/dist/UI5Element.js +24 -54
  14. package/dist/UI5Element.js.map +1 -1
  15. package/dist/UI5ElementMetadata.d.ts +2 -0
  16. package/dist/UI5ElementMetadata.js +3 -0
  17. package/dist/UI5ElementMetadata.js.map +1 -1
  18. package/dist/custom-elements-internal.json +0 -76
  19. package/dist/custom-elements.json +0 -76
  20. package/dist/decorators/customElement.d.ts +1 -2
  21. package/dist/decorators/customElement.js +6 -4
  22. package/dist/decorators/customElement.js.map +1 -1
  23. package/dist/features/OpenUI5Support.d.ts +0 -2
  24. package/dist/features/OpenUI5Support.js +2 -23
  25. package/dist/features/OpenUI5Support.js.map +1 -1
  26. package/dist/generated/VersionInfo.js +5 -5
  27. package/dist/generated/VersionInfo.js.map +1 -1
  28. package/dist/renderer/LitRenderer.js +2 -8
  29. package/dist/renderer/LitRenderer.js.map +1 -1
  30. package/dist/theming/getConstructableStyle.d.ts +1 -1
  31. package/dist/theming/getConstructableStyle.js +3 -3
  32. package/dist/theming/getConstructableStyle.js.map +1 -1
  33. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  34. package/dist/theming/getEffectiveStyle.js +5 -12
  35. package/dist/theming/getEffectiveStyle.js.map +1 -1
  36. package/dist/updateShadowRoot.d.ts +1 -2
  37. package/dist/updateShadowRoot.js +5 -29
  38. package/dist/updateShadowRoot.js.map +1 -1
  39. package/dist/util/PopupUtils.d.ts +1 -3
  40. package/dist/util/PopupUtils.js +1 -15
  41. package/dist/util/PopupUtils.js.map +1 -1
  42. package/dist/util/dragAndDrop/DragRegistry.d.ts +1 -1
  43. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -1
  44. package/dist/util/getClassCopy.d.ts +1 -8
  45. package/index.js +0 -14
  46. package/package-scripts.cjs +1 -1
  47. package/package.json +3 -3
  48. package/dist/CSP.d.ts +0 -33
  49. package/dist/CSP.js +0 -54
  50. package/dist/CSP.js.map +0 -1
  51. package/dist/StaticAreaItem.d.ts +0 -35
  52. package/dist/StaticAreaItem.js +0 -100
  53. package/dist/StaticAreaItem.js.map +0 -1
  54. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  55. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  56. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  57. package/dist/theming/preloadLinks.d.ts +0 -3
  58. package/dist/theming/preloadLinks.js +0 -19
  59. package/dist/theming/preloadLinks.js.map +0 -1
  60. package/dist/util/createStyleInHead.d.ts +0 -8
  61. package/dist/util/createStyleInHead.js +0 -18
  62. package/dist/util/createStyleInHead.js.map +0 -1
package/dist/Device.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  declare const supportsTouch: () => boolean;
2
- declare const isIE: () => boolean;
3
2
  declare const isSafari: () => boolean;
4
3
  declare const isChrome: () => boolean;
5
4
  declare const isFirefox: () => boolean;
@@ -10,4 +9,4 @@ declare const isCombi: () => boolean;
10
9
  declare const isIOS: () => boolean;
11
10
  declare const isMac: () => boolean;
12
11
  declare const isAndroid: () => boolean;
13
- export { supportsTouch, isIE, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid, isMac, };
12
+ export { supportsTouch, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid, isMac, };
package/dist/Device.js CHANGED
@@ -12,17 +12,11 @@ const internals = {
12
12
  }
13
13
  return "ontouchstart" in window || navigator.maxTouchPoints > 0;
14
14
  },
15
- get ie() {
16
- if (isSSR) {
17
- return false;
18
- }
19
- return /(msie|trident)/i.test(internals.userAgent);
20
- },
21
15
  get chrome() {
22
16
  if (isSSR) {
23
17
  return false;
24
18
  }
25
- return !internals.ie && /(Chrome|CriOS)/.test(internals.userAgent);
19
+ return /(Chrome|CriOS)/.test(internals.userAgent);
26
20
  },
27
21
  get firefox() {
28
22
  if (isSSR) {
@@ -34,13 +28,13 @@ const internals = {
34
28
  if (isSSR) {
35
29
  return false;
36
30
  }
37
- return !internals.ie && !internals.chrome && /(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(internals.userAgent);
31
+ return !internals.chrome && /(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(internals.userAgent);
38
32
  },
39
33
  get webkit() {
40
34
  if (isSSR) {
41
35
  return false;
42
36
  }
43
- return !internals.ie && /webkit/.test(internals.userAgent);
37
+ return /webkit/.test(internals.userAgent);
44
38
  },
45
39
  get windows() {
46
40
  if (isSSR) {
@@ -138,10 +132,9 @@ const detectTablet = () => {
138
132
  tablet = (Math.min(window.screen.width / densityFactor, window.screen.height / densityFactor) >= 600);
139
133
  return;
140
134
  }
141
- tablet = (internals.ie && internals.userAgent.indexOf("Touch") !== -1) || (internals.android && !internals.androidPhone);
135
+ tablet = internals.userAgent.indexOf("Touch") !== -1 || (internals.android && !internals.androidPhone);
142
136
  };
143
137
  const supportsTouch = () => internals.touch;
144
- const isIE = () => internals.ie;
145
138
  const isSafari = () => internals.safari;
146
139
  const isChrome = () => internals.chrome;
147
140
  const isFirefox = () => internals.firefox;
@@ -171,5 +164,5 @@ const isMac = () => {
171
164
  const isAndroid = () => {
172
165
  return internals.android || internals.androidPhone;
173
166
  };
174
- export { supportsTouch, isIE, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid, isMac, };
167
+ export { supportsTouch, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid, isMac, };
175
168
  //# sourceMappingURL=Device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Device.js","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"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","sourcesContent":["const isSSR = typeof document === \"undefined\";\n\nconst internals = {\n\tget userAgent() {\n\t\tif (isSSR) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn navigator.userAgent;\n\t},\n\tget touch() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n\t},\n\tget ie() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn /(msie|trident)/i.test(internals.userAgent);\n\t},\n\tget chrome() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !internals.ie && /(Chrome|CriOS)/.test(internals.userAgent);\n\t},\n\tget firefox() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn /Firefox/.test(internals.userAgent);\n\t},\n\tget safari() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !internals.ie && !internals.chrome && /(Version|PhantomJS)\\/(\\d+\\.\\d+).*Safari/.test(internals.userAgent);\n\t},\n\tget webkit() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !internals.ie && /webkit/.test(internals.userAgent);\n\t},\n\tget windows() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn navigator.platform.indexOf(\"Win\") !== -1;\n\t},\n\tget macOS() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !!navigator.userAgent.match(/Macintosh|Mac OS X/i);\n\t},\n\tget iOS() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !!(navigator.platform.match(/iPhone|iPad|iPod/)) || !!(internals.userAgent.match(/Mac/) && \"ontouchend\" in document);\n\t},\n\tget android() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !internals.windows && /Android/.test(internals.userAgent);\n\t},\n\tget androidPhone() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn internals.android && /(?=android)(?=.*mobile)/i.test(internals.userAgent);\n\t},\n\tget ipad() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\t// With iOS 13 the string 'iPad' was removed from the user agent string through a browser setting, which is applied on all sites by default:\n\t\t// \"Request Desktop Website -> All websites\" (for more infos see: https://forums.developer.apple.com/thread/119186).\n\t\t// Therefore the OS is detected as MACINTOSH instead of iOS and the device is a tablet if the Device.support.touch is true.\n\t\treturn /ipad/i.test(internals.userAgent) || (/Macintosh/i.test(internals.userAgent) && \"ontouchend\" in document);\n\t},\n};\n\nlet windowsVersion: number;\nlet webkitVersion: number;\nlet tablet: boolean;\n\nconst isWindows8OrAbove = () => {\n\tif (isSSR) {\n\t\treturn false;\n\t}\n\n\tif (!internals.windows) {\n\t\treturn false;\n\t}\n\n\tif (windowsVersion === undefined) {\n\t\tconst matches = internals.userAgent.match(/Windows NT (\\d+).(\\d)/);\n\t\twindowsVersion = matches ? parseFloat(matches[1]) : 0;\n\t}\n\n\treturn windowsVersion >= 8;\n};\n\nconst isWebkit537OrAbove = () => {\n\tif (isSSR) {\n\t\treturn false;\n\t}\n\n\tif (!internals.webkit) {\n\t\treturn false;\n\t}\n\n\tif (webkitVersion === undefined) {\n\t\tconst matches = internals.userAgent.match(/(webkit)[ /]([\\w.]+)/);\n\t\twebkitVersion = matches ? parseFloat(matches[1]) : 0;\n\t}\n\n\treturn webkitVersion >= 537.10;\n};\n\nconst detectTablet = () => {\n\tif (isSSR) {\n\t\treturn false;\n\t}\n\n\tif (tablet !== undefined) {\n\t\treturn;\n\t}\n\n\tif (internals.ipad) {\n\t\ttablet = true;\n\t\treturn;\n\t}\n\n\tif (internals.touch) {\n\t\tif (isWindows8OrAbove()) {\n\t\t\ttablet = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (internals.chrome && internals.android) {\n\t\t\ttablet = !/Mobile Safari\\/[.0-9]+/.test(internals.userAgent);\n\t\t\treturn;\n\t\t}\n\n\t\tlet densityFactor = window.devicePixelRatio ? window.devicePixelRatio : 1; // may be undefined in Windows Phone devices\n\t\tif (internals.android && isWebkit537OrAbove()) {\n\t\t\tdensityFactor = 1;\n\t\t}\n\n\t\ttablet = (Math.min(window.screen.width / densityFactor, window.screen.height / densityFactor) >= 600);\n\t\treturn;\n\t}\n\n\ttablet = (internals.ie && internals.userAgent.indexOf(\"Touch\") !== -1) || (internals.android && !internals.androidPhone);\n};\n\nconst supportsTouch = (): boolean => internals.touch;\nconst isIE = (): boolean => internals.ie;\nconst isSafari = (): boolean => internals.safari;\nconst isChrome = (): boolean => internals.chrome;\nconst isFirefox = (): boolean => internals.firefox;\n\nconst isTablet = (): boolean => {\n\tdetectTablet();\n\treturn (internals.touch || isWindows8OrAbove()) && tablet;\n};\n\nconst isPhone = (): boolean => {\n\tdetectTablet();\n\treturn internals.touch && !tablet;\n};\n\nconst isDesktop = (): boolean => {\n\tif (isSSR) {\n\t\treturn false;\n\t}\n\treturn (!isTablet() && !isPhone()) || isWindows8OrAbove();\n};\n\nconst isCombi = (): boolean => {\n\treturn isTablet() && isDesktop();\n};\n\nconst isIOS = (): boolean => {\n\treturn internals.iOS;\n};\n\nconst isMac = (): boolean => {\n\treturn internals.macOS;\n};\n\nconst isAndroid = (): boolean => {\n\treturn internals.android || internals.androidPhone;\n};\n\nexport {\n\tsupportsTouch,\n\tisIE,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n\tisMac,\n};\n"]}
1
+ {"version":3,"file":"Device.js","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"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","sourcesContent":["const isSSR = typeof document === \"undefined\";\n\nconst internals = {\n\tget userAgent() {\n\t\tif (isSSR) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn navigator.userAgent;\n\t},\n\tget touch() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n\t},\n\n\tget chrome() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn /(Chrome|CriOS)/.test(internals.userAgent);\n\t},\n\tget firefox() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn /Firefox/.test(internals.userAgent);\n\t},\n\tget safari() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !internals.chrome && /(Version|PhantomJS)\\/(\\d+\\.\\d+).*Safari/.test(internals.userAgent);\n\t},\n\tget webkit() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn /webkit/.test(internals.userAgent);\n\t},\n\tget windows() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn navigator.platform.indexOf(\"Win\") !== -1;\n\t},\n\tget macOS() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !!navigator.userAgent.match(/Macintosh|Mac OS X/i);\n\t},\n\tget iOS() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !!(navigator.platform.match(/iPhone|iPad|iPod/)) || !!(internals.userAgent.match(/Mac/) && \"ontouchend\" in document);\n\t},\n\tget android() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !internals.windows && /Android/.test(internals.userAgent);\n\t},\n\tget androidPhone() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\treturn internals.android && /(?=android)(?=.*mobile)/i.test(internals.userAgent);\n\t},\n\tget ipad() {\n\t\tif (isSSR) {\n\t\t\treturn false;\n\t\t}\n\t\t// With iOS 13 the string 'iPad' was removed from the user agent string through a browser setting, which is applied on all sites by default:\n\t\t// \"Request Desktop Website -> All websites\" (for more infos see: https://forums.developer.apple.com/thread/119186).\n\t\t// Therefore the OS is detected as MACINTOSH instead of iOS and the device is a tablet if the Device.support.touch is true.\n\t\treturn /ipad/i.test(internals.userAgent) || (/Macintosh/i.test(internals.userAgent) && \"ontouchend\" in document);\n\t},\n};\n\nlet windowsVersion: number;\nlet webkitVersion: number;\nlet tablet: boolean;\n\nconst isWindows8OrAbove = () => {\n\tif (isSSR) {\n\t\treturn false;\n\t}\n\n\tif (!internals.windows) {\n\t\treturn false;\n\t}\n\n\tif (windowsVersion === undefined) {\n\t\tconst matches = internals.userAgent.match(/Windows NT (\\d+).(\\d)/);\n\t\twindowsVersion = matches ? parseFloat(matches[1]) : 0;\n\t}\n\n\treturn windowsVersion >= 8;\n};\n\nconst isWebkit537OrAbove = () => {\n\tif (isSSR) {\n\t\treturn false;\n\t}\n\n\tif (!internals.webkit) {\n\t\treturn false;\n\t}\n\n\tif (webkitVersion === undefined) {\n\t\tconst matches = internals.userAgent.match(/(webkit)[ /]([\\w.]+)/);\n\t\twebkitVersion = matches ? parseFloat(matches[1]) : 0;\n\t}\n\n\treturn webkitVersion >= 537.10;\n};\n\nconst detectTablet = () => {\n\tif (isSSR) {\n\t\treturn false;\n\t}\n\n\tif (tablet !== undefined) {\n\t\treturn;\n\t}\n\n\tif (internals.ipad) {\n\t\ttablet = true;\n\t\treturn;\n\t}\n\n\tif (internals.touch) {\n\t\tif (isWindows8OrAbove()) {\n\t\t\ttablet = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (internals.chrome && internals.android) {\n\t\t\ttablet = !/Mobile Safari\\/[.0-9]+/.test(internals.userAgent);\n\t\t\treturn;\n\t\t}\n\n\t\tlet densityFactor = window.devicePixelRatio ? window.devicePixelRatio : 1; // may be undefined in Windows Phone devices\n\t\tif (internals.android && isWebkit537OrAbove()) {\n\t\t\tdensityFactor = 1;\n\t\t}\n\n\t\ttablet = (Math.min(window.screen.width / densityFactor, window.screen.height / densityFactor) >= 600);\n\t\treturn;\n\t}\n\n\ttablet = internals.userAgent.indexOf(\"Touch\") !== -1 || (internals.android && !internals.androidPhone);\n};\n\nconst supportsTouch = (): boolean => internals.touch;\nconst isSafari = (): boolean => internals.safari;\nconst isChrome = (): boolean => internals.chrome;\nconst isFirefox = (): boolean => internals.firefox;\n\nconst isTablet = (): boolean => {\n\tdetectTablet();\n\treturn (internals.touch || isWindows8OrAbove()) && tablet;\n};\n\nconst isPhone = (): boolean => {\n\tdetectTablet();\n\treturn internals.touch && !tablet;\n};\n\nconst isDesktop = (): boolean => {\n\tif (isSSR) {\n\t\treturn false;\n\t}\n\treturn (!isTablet() && !isPhone()) || isWindows8OrAbove();\n};\n\nconst isCombi = (): boolean => {\n\treturn isTablet() && isDesktop();\n};\n\nconst isIOS = (): boolean => {\n\treturn internals.iOS;\n};\n\nconst isMac = (): boolean => {\n\treturn internals.macOS;\n};\n\nconst isAndroid = (): boolean => {\n\treturn internals.android || internals.androidPhone;\n};\n\nexport {\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n\tisMac,\n};\n"]}
@@ -1,7 +1,3 @@
1
- import createStyleInHead from "./util/createStyleInHead.js";
2
- import createLinkInHead from "./util/createLinkInHead.js";
3
- import { shouldUseLinks, getUrl } from "./CSP.js";
4
- import { isSafari } from "./Device.js";
5
1
  import { getCurrentRuntimeIndex, compareRuntimes } from "./Runtimes.js";
6
2
  const isSSR = typeof document === "undefined";
7
3
  const getStyleId = (name, value) => {
@@ -16,89 +12,32 @@ const shouldUpdate = (runtimeIndex) => {
16
12
  const createStyle = (data, name, value = "", theme) => {
17
13
  const content = typeof data === "string" ? data : data.content;
18
14
  const currentRuntimeIndex = getCurrentRuntimeIndex();
19
- if (shouldUseLinks()) {
20
- const attributes = {};
21
- attributes[name] = value;
22
- if (theme) {
23
- attributes["data-ui5-runtime-index"] = currentRuntimeIndex;
24
- attributes["data-ui5-theme"] = theme;
25
- }
26
- const href = getUrl(data.packageName, data.fileName);
27
- createLinkInHead(href, attributes);
28
- }
29
- else if (document.adoptedStyleSheets && !isSafari()) {
30
- const stylesheet = new CSSStyleSheet();
31
- stylesheet.replaceSync(content);
32
- stylesheet._ui5StyleId = getStyleId(name, value); // set an id so that we can find the style later
33
- if (theme) {
34
- stylesheet._ui5RuntimeIndex = currentRuntimeIndex;
35
- stylesheet._ui5Theme = theme;
36
- }
37
- document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];
38
- }
39
- else {
40
- const attributes = {};
41
- attributes[name] = value;
42
- if (theme) {
43
- attributes["data-ui5-runtime-index"] = currentRuntimeIndex;
44
- attributes["data-ui5-theme"] = theme;
45
- }
46
- createStyleInHead(content, attributes);
47
- }
15
+ const stylesheet = new CSSStyleSheet();
16
+ stylesheet.replaceSync(content);
17
+ stylesheet._ui5StyleId = getStyleId(name, value); // set an id so that we can find the style later
18
+ if (theme) {
19
+ stylesheet._ui5RuntimeIndex = currentRuntimeIndex;
20
+ stylesheet._ui5Theme = theme;
21
+ }
22
+ document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];
48
23
  };
49
24
  const updateStyle = (data, name, value = "", theme) => {
50
25
  const content = typeof data === "string" ? data : data.content;
51
26
  const currentRuntimeIndex = getCurrentRuntimeIndex();
52
- if (shouldUseLinks()) {
53
- const link = document.querySelector(`head>link[${name}="${value}"]`);
54
- const href = getUrl(data.packageName, data.fileName);
55
- if (!theme) {
56
- link.href = href;
57
- }
58
- else {
59
- const linkRuntimeIndex = link.getAttribute("data-ui5-runtime-index") || undefined;
60
- const linkTheme = link.getAttribute("data-ui5-theme");
61
- if (linkTheme !== theme || shouldUpdate(linkRuntimeIndex)) {
62
- link.href = href;
63
- link.setAttribute("data-ui5-runtime-index", String(currentRuntimeIndex));
64
- link.setAttribute("data-ui5-theme", theme);
65
- }
66
- }
27
+ const stylesheet = document.adoptedStyleSheets.find(sh => sh._ui5StyleId === getStyleId(name, value));
28
+ if (!stylesheet) {
29
+ return;
67
30
  }
68
- else if (document.adoptedStyleSheets && !isSafari()) {
69
- const stylesheet = document.adoptedStyleSheets.find(sh => sh._ui5StyleId === getStyleId(name, value));
70
- if (!stylesheet) {
71
- return;
72
- }
73
- if (!theme) {
74
- stylesheet.replaceSync(content || "");
75
- }
76
- else {
77
- const stylesheetRuntimeIndex = stylesheet._ui5RuntimeIndex;
78
- const stylesheetTheme = stylesheet._ui5Theme;
79
- if (stylesheetTheme !== theme || shouldUpdate(stylesheetRuntimeIndex)) {
80
- stylesheet.replaceSync(content || "");
81
- stylesheet._ui5RuntimeIndex = String(currentRuntimeIndex);
82
- stylesheet._ui5Theme = theme;
83
- }
84
- }
31
+ if (!theme) {
32
+ stylesheet.replaceSync(content || "");
85
33
  }
86
34
  else {
87
- const style = document.querySelector(`head>style[${name}="${value}"]`);
88
- if (!style) {
89
- return;
90
- }
91
- if (!theme) {
92
- style.textContent = content || "";
93
- }
94
- else {
95
- const styleRuntimeIndex = style.getAttribute("data-ui5-runtime-index") || undefined;
96
- const styleTheme = style.getAttribute("data-ui5-theme");
97
- if (styleTheme !== theme || shouldUpdate(styleRuntimeIndex)) {
98
- style.textContent = content || "";
99
- style.setAttribute("data-ui5-runtime-index", String(currentRuntimeIndex));
100
- style.setAttribute("data-ui5-theme", theme);
101
- }
35
+ const stylesheetRuntimeIndex = stylesheet._ui5RuntimeIndex;
36
+ const stylesheetTheme = stylesheet._ui5Theme;
37
+ if (stylesheetTheme !== theme || shouldUpdate(stylesheetRuntimeIndex)) {
38
+ stylesheet.replaceSync(content || "");
39
+ stylesheet._ui5RuntimeIndex = String(currentRuntimeIndex);
40
+ stylesheet._ui5Theme = theme;
102
41
  }
103
42
  }
104
43
  };
@@ -106,27 +45,10 @@ const hasStyle = (name, value = "") => {
106
45
  if (isSSR) {
107
46
  return true;
108
47
  }
109
- if (shouldUseLinks()) {
110
- return !!document.querySelector(`head>link[${name}="${value}"]`);
111
- }
112
- const styleElement = document.querySelector(`head>style[${name}="${value}"]`);
113
- if (document.adoptedStyleSheets && !isSafari()) {
114
- return !!styleElement || !!document.adoptedStyleSheets.find(sh => sh._ui5StyleId === getStyleId(name, value));
115
- }
116
- return !!styleElement;
48
+ return !!document.adoptedStyleSheets.find(sh => sh._ui5StyleId === getStyleId(name, value));
117
49
  };
118
50
  const removeStyle = (name, value = "") => {
119
- if (shouldUseLinks()) {
120
- const linkElement = document.querySelector(`head>link[${name}="${value}"]`);
121
- linkElement?.parentElement?.removeChild(linkElement);
122
- }
123
- else if (document.adoptedStyleSheets && !isSafari()) {
124
- document.adoptedStyleSheets = document.adoptedStyleSheets.filter(sh => sh._ui5StyleId !== getStyleId(name, value));
125
- }
126
- else {
127
- const styleElement = document.querySelector(`head > style[${name}="${value}"]`);
128
- styleElement?.parentElement?.removeChild(styleElement);
129
- }
51
+ document.adoptedStyleSheets = document.adoptedStyleSheets.filter(sh => sh._ui5StyleId !== getStyleId(name, value));
130
52
  };
131
53
  const createOrUpdateStyle = (data, name, value = "", theme) => {
132
54
  if (hasStyle(name, value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedStyles.js","sourceRoot":"","sources":["../src/ManagedStyles.ts"],"names":[],"mappings":"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","sourcesContent":["import createStyleInHead from \"./util/createStyleInHead.js\";\nimport createLinkInHead from \"./util/createLinkInHead.js\";\nimport { shouldUseLinks, getUrl } from \"./CSP.js\";\nimport { StyleData, StyleDataCSP } from \"./types.js\";\nimport { isSafari } from \"./Device.js\";\nimport { getCurrentRuntimeIndex, compareRuntimes } from \"./Runtimes.js\";\n\nconst isSSR = typeof document === \"undefined\";\n\nconst getStyleId = (name: string, value: string) => {\n\treturn value ? `${name}|${value}` : name;\n};\n\nconst shouldUpdate = (runtimeIndex: string | undefined) => {\n\tif (runtimeIndex === undefined) {\n\t\treturn true;\n\t}\n\treturn compareRuntimes(getCurrentRuntimeIndex(), parseInt(runtimeIndex)) === 1; // 1 means the current is newer, 0 means the same, -1 means the resource's runtime is newer\n};\n\nconst createStyle = (data: StyleData, name: string, value = \"\", theme?: string) => {\n\tconst content = typeof data === \"string\" ? data : data.content;\n\tconst currentRuntimeIndex = getCurrentRuntimeIndex();\n\n\tif (shouldUseLinks()) {\n\t\tconst attributes = {} as Record<string, any>;\n\t\tattributes[name] = value;\n\t\tif (theme) {\n\t\t\tattributes[\"data-ui5-runtime-index\"] = currentRuntimeIndex;\n\t\t\tattributes[\"data-ui5-theme\"] = theme;\n\t\t}\n\t\tconst href = getUrl((data as StyleDataCSP).packageName, (data as StyleDataCSP).fileName);\n\t\tcreateLinkInHead(href, attributes);\n\t} else if (document.adoptedStyleSheets && !isSafari()) {\n\t\tconst stylesheet = new CSSStyleSheet();\n\t\tstylesheet.replaceSync(content);\n\t\t(stylesheet as Record<string, any>)._ui5StyleId = getStyleId(name, value); // set an id so that we can find the style later\n\t\tif (theme) {\n\t\t\t(stylesheet as Record<string, any>)._ui5RuntimeIndex = currentRuntimeIndex;\n\t\t\t(stylesheet as Record<string, any>)._ui5Theme = theme;\n\t\t}\n\t\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n\t} else {\n\t\tconst attributes = {} as Record<string, any>;\n\t\tattributes[name] = value;\n\t\tif (theme) {\n\t\t\tattributes[\"data-ui5-runtime-index\"] = currentRuntimeIndex;\n\t\t\tattributes[\"data-ui5-theme\"] = theme;\n\t\t}\n\t\tcreateStyleInHead(content, attributes);\n\t}\n};\n\nconst updateStyle = (data: StyleData, name: string, value = \"\", theme?: string) => {\n\tconst content = typeof data === \"string\" ? data : data.content;\n\tconst currentRuntimeIndex = getCurrentRuntimeIndex();\n\n\tif (shouldUseLinks()) {\n\t\tconst link = document.querySelector(`head>link[${name}=\"${value}\"]`) as HTMLLinkElement;\n\t\tconst href = getUrl((data as StyleDataCSP).packageName, (data as StyleDataCSP).fileName);\n\n\t\tif (!theme) {\n\t\t\tlink.href = href;\n\t\t} else {\n\t\t\tconst linkRuntimeIndex = link.getAttribute(\"data-ui5-runtime-index\") || undefined;\n\t\t\tconst linkTheme = link.getAttribute(\"data-ui5-theme\");\n\t\t\tif (linkTheme !== theme || shouldUpdate(linkRuntimeIndex)) {\n\t\t\t\tlink.href = href;\n\t\t\t\tlink.setAttribute(\"data-ui5-runtime-index\", String(currentRuntimeIndex));\n\t\t\t\tlink.setAttribute(\"data-ui5-theme\", theme);\n\t\t\t}\n\t\t}\n\t} else if (document.adoptedStyleSheets && !isSafari()) {\n\t\tconst stylesheet = document.adoptedStyleSheets.find(sh => (sh as Record<string, any>)._ui5StyleId === getStyleId(name, value));\n\t\tif (!stylesheet) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!theme) {\n\t\t\tstylesheet.replaceSync(content || \"\");\n\t\t} else {\n\t\t\tconst stylesheetRuntimeIndex: string | undefined = (stylesheet as Record<string, any>)._ui5RuntimeIndex;\n\t\t\tconst stylesheetTheme: string | undefined = (stylesheet as Record<string, any>)._ui5Theme;\n\t\t\tif (stylesheetTheme !== theme || shouldUpdate(stylesheetRuntimeIndex)) {\n\t\t\t\tstylesheet.replaceSync(content || \"\");\n\t\t\t\t(stylesheet as Record<string, any>)._ui5RuntimeIndex = String(currentRuntimeIndex);\n\t\t\t\t(stylesheet as Record<string, any>)._ui5Theme = theme;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconst style = document.querySelector(`head>style[${name}=\"${value}\"]`);\n\t\tif (!style) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!theme) {\n\t\t\tstyle.textContent = content || \"\";\n\t\t} else {\n\t\t\tconst styleRuntimeIndex = style.getAttribute(\"data-ui5-runtime-index\") || undefined;\n\t\t\tconst styleTheme = style.getAttribute(\"data-ui5-theme\");\n\t\t\tif (styleTheme !== theme || shouldUpdate(styleRuntimeIndex)) {\n\t\t\t\tstyle.textContent = content || \"\";\n\t\t\t\tstyle.setAttribute(\"data-ui5-runtime-index\", String(currentRuntimeIndex));\n\t\t\t\tstyle.setAttribute(\"data-ui5-theme\", theme);\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst hasStyle = (name: string, value = \"\"): boolean => {\n\tif (isSSR) {\n\t\treturn true;\n\t}\n\tif (shouldUseLinks()) {\n\t\treturn !!document.querySelector(`head>link[${name}=\"${value}\"]`);\n\t}\n\n\tconst styleElement = document.querySelector(`head>style[${name}=\"${value}\"]`);\n\n\tif (document.adoptedStyleSheets && !isSafari()) {\n\t\treturn !!styleElement || !!document.adoptedStyleSheets.find(sh => (sh as Record<string, any>)._ui5StyleId === getStyleId(name, value));\n\t}\n\n\treturn !!styleElement;\n};\n\nconst removeStyle = (name: string, value = \"\") => {\n\tif (shouldUseLinks()) {\n\t\tconst linkElement = document.querySelector(`head>link[${name}=\"${value}\"]`);\n\t\tlinkElement?.parentElement?.removeChild(linkElement);\n\t} else if (document.adoptedStyleSheets && !isSafari()) {\n\t\tdocument.adoptedStyleSheets = document.adoptedStyleSheets.filter(sh => (sh as Record<string, any>)._ui5StyleId !== getStyleId(name, value));\n\t} else {\n\t\tconst styleElement = document.querySelector(`head > style[${name}=\"${value}\"]`);\n\t\tstyleElement?.parentElement?.removeChild(styleElement);\n\t}\n};\n\nconst createOrUpdateStyle = (data: StyleData, name: string, value = \"\", theme?: string) => {\n\tif (hasStyle(name, value)) {\n\t\tupdateStyle(data, name, value, theme);\n\t} else {\n\t\tcreateStyle(data, name, value, theme);\n\t}\n};\n\nconst mergeStyles = (style1?: StyleData, style2?: StyleData) => {\n\tif (style1 === undefined) {\n\t\treturn style2;\n\t}\n\tif (style2 === undefined) {\n\t\treturn style1;\n\t}\n\tconst style2Content = typeof style2 === \"string\" ? style2 : style2.content;\n\tif (typeof style1 === \"string\") {\n\t\treturn `${style1} ${style2Content}`;\n\t}\n\treturn {\n\t\tcontent: `${style1.content} ${style2Content}`,\n\t\tpackageName: style1.packageName,\n\t\tfileName: style1.fileName,\n\t};\n};\n\nexport {\n\tcreateStyle,\n\thasStyle,\n\tupdateStyle,\n\tremoveStyle,\n\tcreateOrUpdateStyle,\n\tmergeStyles,\n};\n\nexport type {\n\tStyleData,\n\tStyleDataCSP,\n};\n"]}
1
+ {"version":3,"file":"ManagedStyles.js","sourceRoot":"","sources":["../src/ManagedStyles.ts"],"names":[],"mappings":"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","sourcesContent":["import { StyleData, StyleDataCSP } from \"./types.js\";\nimport { getCurrentRuntimeIndex, compareRuntimes } from \"./Runtimes.js\";\n\nconst isSSR = typeof document === \"undefined\";\n\nconst getStyleId = (name: string, value: string) => {\n\treturn value ? `${name}|${value}` : name;\n};\n\nconst shouldUpdate = (runtimeIndex: string | undefined) => {\n\tif (runtimeIndex === undefined) {\n\t\treturn true;\n\t}\n\treturn compareRuntimes(getCurrentRuntimeIndex(), parseInt(runtimeIndex)) === 1; // 1 means the current is newer, 0 means the same, -1 means the resource's runtime is newer\n};\n\nconst createStyle = (data: StyleData, name: string, value = \"\", theme?: string) => {\n\tconst content = typeof data === \"string\" ? data : data.content;\n\tconst currentRuntimeIndex = getCurrentRuntimeIndex();\n\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(content);\n\t(stylesheet as Record<string, any>)._ui5StyleId = getStyleId(name, value); // set an id so that we can find the style later\n\tif (theme) {\n\t\t(stylesheet as Record<string, any>)._ui5RuntimeIndex = currentRuntimeIndex;\n\t\t(stylesheet as Record<string, any>)._ui5Theme = theme;\n\t}\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst updateStyle = (data: StyleData, name: string, value = \"\", theme?: string) => {\n\tconst content = typeof data === \"string\" ? data : data.content;\n\tconst currentRuntimeIndex = getCurrentRuntimeIndex();\n\n\tconst stylesheet = document.adoptedStyleSheets.find(sh => (sh as Record<string, any>)._ui5StyleId === getStyleId(name, value));\n\tif (!stylesheet) {\n\t\treturn;\n\t}\n\n\tif (!theme) {\n\t\tstylesheet.replaceSync(content || \"\");\n\t} else {\n\t\tconst stylesheetRuntimeIndex: string | undefined = (stylesheet as Record<string, any>)._ui5RuntimeIndex;\n\t\tconst stylesheetTheme: string | undefined = (stylesheet as Record<string, any>)._ui5Theme;\n\t\tif (stylesheetTheme !== theme || shouldUpdate(stylesheetRuntimeIndex)) {\n\t\t\tstylesheet.replaceSync(content || \"\");\n\t\t\t(stylesheet as Record<string, any>)._ui5RuntimeIndex = String(currentRuntimeIndex);\n\t\t\t(stylesheet as Record<string, any>)._ui5Theme = theme;\n\t\t}\n\t}\n};\n\nconst hasStyle = (name: string, value = \"\"): boolean => {\n\tif (isSSR) {\n\t\treturn true;\n\t}\n\n\treturn !!document.adoptedStyleSheets.find(sh => (sh as Record<string, any>)._ui5StyleId === getStyleId(name, value));\n};\n\nconst removeStyle = (name: string, value = \"\") => {\n\tdocument.adoptedStyleSheets = document.adoptedStyleSheets.filter(sh => (sh as Record<string, any>)._ui5StyleId !== getStyleId(name, value));\n};\n\nconst createOrUpdateStyle = (data: StyleData, name: string, value = \"\", theme?: string) => {\n\tif (hasStyle(name, value)) {\n\t\tupdateStyle(data, name, value, theme);\n\t} else {\n\t\tcreateStyle(data, name, value, theme);\n\t}\n};\n\nconst mergeStyles = (style1?: StyleData, style2?: StyleData) => {\n\tif (style1 === undefined) {\n\t\treturn style2;\n\t}\n\tif (style2 === undefined) {\n\t\treturn style1;\n\t}\n\tconst style2Content = typeof style2 === \"string\" ? style2 : style2.content;\n\tif (typeof style1 === \"string\") {\n\t\treturn `${style1} ${style2Content}`;\n\t}\n\treturn {\n\t\tcontent: `${style1.content} ${style2Content}`,\n\t\tpackageName: style1.packageName,\n\t\tfileName: style1.fileName,\n\t};\n};\n\nexport {\n\tcreateStyle,\n\thasStyle,\n\tupdateStyle,\n\tremoveStyle,\n\tcreateOrUpdateStyle,\n\tmergeStyles,\n};\n\nexport type {\n\tStyleData,\n\tStyleDataCSP,\n};\n"]}
@@ -1,10 +1,9 @@
1
1
  import "@ui5/webcomponents-base/dist/ssr-dom.js";
2
2
  import UI5ElementMetadata, { Slot, SlotValue, State, PropertyValue, Metadata } from "./UI5ElementMetadata.js";
3
3
  import EventProvider from "./EventProvider.js";
4
- import StaticAreaItem from "./StaticAreaItem.js";
5
4
  import type { TemplateFunction, TemplateFunctionResult } from "./renderer/executeTemplate.js";
6
5
  import type { AccessibilityInfo, PromiseResolve, ComponentStylesData, ClassMap } from "./types.js";
7
- type Renderer = (templateResult: TemplateFunctionResult, container: HTMLElement | DocumentFragment, styleStrOrHrefsArr: string | Array<string> | undefined, forStaticArea: boolean, options: RendererOptions) => void;
6
+ type Renderer = (templateResult: TemplateFunctionResult, container: HTMLElement | DocumentFragment, options: RendererOptions) => void;
8
7
  type RendererOptions = {
9
8
  /**
10
9
  * An object to use as the `this` value for event listeners. It's often
@@ -49,15 +48,9 @@ declare abstract class UI5Element extends HTMLElement {
49
48
  _doNotSyncAttributes: Set<string>;
50
49
  _state: State;
51
50
  _getRealDomRef?: () => HTMLElement;
52
- staticAreaItem?: StaticAreaItem;
53
51
  static template?: TemplateFunction;
54
- static staticAreaTemplate?: TemplateFunction;
55
52
  static _metadata: UI5ElementMetadata;
56
- /**
57
- * @deprecated
58
- */
59
- static render: Renderer;
60
- static renderer?: Renderer;
53
+ static renderer: Renderer;
61
54
  constructor();
62
55
  /**
63
56
  * Returns a unique ID for this UI5 Element
@@ -67,7 +60,6 @@ declare abstract class UI5Element extends HTMLElement {
67
60
  */
68
61
  get _id(): string;
69
62
  render(): object;
70
- renderStatic(): object;
71
63
  /**
72
64
  * Do not call this method from derivatives of UI5Element, use "onEnterDOM" only
73
65
  * @private
@@ -203,9 +195,9 @@ declare abstract class UI5Element extends HTMLElement {
203
195
  * 1) children: immediate children (HTML elements or text nodes) were added, removed or reordered in the slot
204
196
  * 2) textcontent: text nodes in the slot changed value (or nested text nodes were added or changed value). Can only trigger for slots of "type: Node"
205
197
  * 3) slotchange: a slot element, slotted inside that slot had its "slotchange" event listener called. This practically means that transitively slotted children changed.
206
- * Can only trigger if the child of a slot is a slot element itself.
198
+ * Can only trigger if the child of a slot is a slot element itself.
207
199
  * 4) childchange: indicates that a UI5Element child in that slot was invalidated and in turn invalidated the component.
208
- * Can only trigger for slots with "invalidateOnChildChange" metadata descriptor
200
+ * Can only trigger for slots with "invalidateOnChildChange" metadata descriptor
209
201
  *
210
202
  * - newValue: the new value of the property (for type="property" only)
211
203
  *
@@ -317,14 +309,6 @@ declare abstract class UI5Element extends HTMLElement {
317
309
  * @private
318
310
  */
319
311
  static _needsShadowDOM(): boolean;
320
- /**
321
- * @private
322
- */
323
- static _needsStaticArea(): boolean;
324
- /**
325
- * @public
326
- */
327
- getStaticAreaItemDomRef(): Promise<ShadowRoot | null>;
328
312
  /**
329
313
  * @private
330
314
  */
@@ -339,11 +323,6 @@ declare abstract class UI5Element extends HTMLElement {
339
323
  * @protected
340
324
  */
341
325
  static styles: ComponentStylesData;
342
- /**
343
- * Returns the Static Area CSS for this UI5 Web Component Class
344
- * @protected
345
- */
346
- static get staticAreaStyles(): ComponentStylesData;
347
326
  /**
348
327
  * Returns an array with the dependencies for this UI5 Web Component, which could be:
349
328
  * - composed components (used in its shadow root or static area item)
@@ -385,5 +364,5 @@ declare abstract class UI5Element extends HTMLElement {
385
364
  */
386
365
  declare const instanceOfUI5Element: (object: any) => object is UI5Element;
387
366
  export default UI5Element;
388
- export { instanceOfUI5Element };
367
+ export { instanceOfUI5Element, };
389
368
  export type { ChangeInfo, Renderer, RendererOptions, };
@@ -4,11 +4,9 @@ import merge from "./thirdparty/merge.js";
4
4
  import { boot } from "./Boot.js";
5
5
  import UI5ElementMetadata from "./UI5ElementMetadata.js";
6
6
  import EventProvider from "./EventProvider.js";
7
- import getSingletonElementInstance from "./util/getSingletonElementInstance.js";
8
- import StaticAreaItem from "./StaticAreaItem.js";
9
7
  import updateShadowRoot from "./updateShadowRoot.js";
10
8
  import { shouldIgnoreCustomElement } from "./IgnoreCustomElements.js";
11
- import { renderDeferred, renderImmediately, cancelRender } from "./Render.js";
9
+ import { renderDeferred, renderImmediately, cancelRender, } from "./Render.js";
12
10
  import { registerTag, isTagRegistered, recordTagRegistrationFailure } from "./CustomElementsRegistry.js";
13
11
  import { observeDOMNode, unobserveDOMNode } from "./DOMObserver.js";
14
12
  import { skipOriginalEvent } from "./config/NoConflict.js";
@@ -18,7 +16,6 @@ import isValidPropertyName from "./util/isValidPropertyName.js";
18
16
  import { getSlotName, getSlottedNodesList } from "./util/SlotsHelper.js";
19
17
  import arraysAreEqual from "./util/arraysAreEqual.js";
20
18
  import { markAsRtlAware } from "./locale/RTLAwareRegistry.js";
21
- import preloadLinks from "./theming/preloadLinks.js";
22
19
  import executeTemplate from "./renderer/executeTemplate.js";
23
20
  let autoId = 0;
24
21
  const elementTimeouts = new Map();
@@ -40,6 +37,22 @@ function _invalidate(changeInfo) {
40
37
  renderDeferred(this);
41
38
  this._invalidationEventProvider.fireEvent("invalidate", { ...changeInfo, target: this });
42
39
  }
40
+ /**
41
+ * looks up a property descsriptor including in the prototype chain
42
+ * @param proto the starting prototype
43
+ * @param name the property to look for
44
+ * @returns the property descriptor if found directly or in the prototype chaing, undefined if not found
45
+ */
46
+ function getPropertyDescriptor(proto, name) {
47
+ do {
48
+ const descriptor = Object.getOwnPropertyDescriptor(proto, name);
49
+ if (descriptor) {
50
+ return descriptor;
51
+ }
52
+ // go up the prototype chain
53
+ proto = Object.getPrototypeOf(proto);
54
+ } while (proto && proto !== HTMLElement.prototype);
55
+ }
43
56
  /**
44
57
  * @class
45
58
  * Base class for all UI5 Web Components
@@ -68,7 +81,8 @@ class UI5Element extends HTMLElement {
68
81
  this._state = { ...ctor.getMetadata().getInitialState() };
69
82
  this._upgradeAllProperties();
70
83
  if (ctor._needsShadowDOM()) {
71
- this.attachShadow({ mode: "open" });
84
+ const defaultOptions = { mode: "open" };
85
+ this.attachShadow({ ...defaultOptions, ...ctor.getMetadata().getShadowRootOptions() });
72
86
  }
73
87
  }
74
88
  /**
@@ -87,10 +101,6 @@ class UI5Element extends HTMLElement {
87
101
  const template = this.constructor.template;
88
102
  return executeTemplate(template, this);
89
103
  }
90
- renderStatic() {
91
- const template = this.constructor.staticAreaTemplate;
92
- return executeTemplate(template, this);
93
- }
94
104
  /**
95
105
  * Do not call this method from derivatives of UI5Element, use "onEnterDOM" only
96
106
  * @private
@@ -131,9 +141,6 @@ class UI5Element extends HTMLElement {
131
141
  this.onExitDOM();
132
142
  this._fullyConnected = false;
133
143
  }
134
- if (this.staticAreaItem && this.staticAreaItem.parentElement) {
135
- this.staticAreaItem.parentElement.removeChild(this.staticAreaItem);
136
- }
137
144
  cancelRender(this);
138
145
  }
139
146
  /**
@@ -510,9 +517,9 @@ class UI5Element extends HTMLElement {
510
517
  * 1) children: immediate children (HTML elements or text nodes) were added, removed or reordered in the slot
511
518
  * 2) textcontent: text nodes in the slot changed value (or nested text nodes were added or changed value). Can only trigger for slots of "type: Node"
512
519
  * 3) slotchange: a slot element, slotted inside that slot had its "slotchange" event listener called. This practically means that transitively slotted children changed.
513
- * Can only trigger if the child of a slot is a slot element itself.
520
+ * Can only trigger if the child of a slot is a slot element itself.
514
521
  * 4) childchange: indicates that a UI5Element child in that slot was invalidated and in turn invalidated the component.
515
- * Can only trigger for slots with "invalidateOnChildChange" metadata descriptor
522
+ * Can only trigger for slots with "invalidateOnChildChange" metadata descriptor
516
523
  *
517
524
  * - newValue: the new value of the property (for type="property" only)
518
525
  *
@@ -563,9 +570,6 @@ class UI5Element extends HTMLElement {
563
570
  if (ctor._needsShadowDOM()) {
564
571
  updateShadowRoot(this);
565
572
  }
566
- if (this.staticAreaItem) {
567
- this.staticAreaItem.update();
568
- }
569
573
  // Safari requires that children get the slot attribute only after the slot tags have been rendered in the shadow DOM
570
574
  if (hasIndividualSlots) {
571
575
  this._assignIndividualSlotsToChildren();
@@ -605,11 +609,7 @@ class UI5Element extends HTMLElement {
605
609
  if (!this.shadowRoot || this.shadowRoot.children.length === 0) {
606
610
  return;
607
611
  }
608
- const children = [...this.shadowRoot.children].filter(child => !["link", "style"].includes(child.localName));
609
- if (children.length !== 1) {
610
- 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`); // eslint-disable-line
611
- }
612
- return children[0];
612
+ return this.shadowRoot.children[0];
613
613
  }
614
614
  /**
615
615
  * Returns the DOM Element marked with "data-sap-focus-ref" inside the template.
@@ -752,28 +752,6 @@ class UI5Element extends HTMLElement {
752
752
  static _needsShadowDOM() {
753
753
  return !!this.template || Object.prototype.hasOwnProperty.call(this.prototype, "render");
754
754
  }
755
- /**
756
- * @private
757
- */
758
- static _needsStaticArea() {
759
- return !!this.staticAreaTemplate || Object.prototype.hasOwnProperty.call(this.prototype, "renderStatic");
760
- }
761
- /**
762
- * @public
763
- */
764
- getStaticAreaItemDomRef() {
765
- if (!this.constructor._needsStaticArea()) {
766
- throw new Error("This component does not use the static area");
767
- }
768
- if (!this.staticAreaItem) {
769
- this.staticAreaItem = StaticAreaItem.createInstance();
770
- this.staticAreaItem.setOwnerElement(this);
771
- }
772
- if (!this.staticAreaItem.parentElement) {
773
- getSingletonElementInstance("ui5-static-area").appendChild(this.staticAreaItem);
774
- }
775
- return this.staticAreaItem.getDomRef();
776
- }
777
755
  /**
778
756
  * @private
779
757
  */
@@ -798,7 +776,7 @@ class UI5Element extends HTMLElement {
798
776
  if (propData.multiple && propData.defaultValue) {
799
777
  throw new Error(`Cannot set a default value for property "${prop}". All multiple properties are empty arrays by default.`);
800
778
  }
801
- const descriptor = Object.getOwnPropertyDescriptor(proto, prop);
779
+ const descriptor = getPropertyDescriptor(proto, prop);
802
780
  // if the decorator is on a setter, proxy the new setter to it
803
781
  let origSet;
804
782
  if (descriptor?.set) {
@@ -895,13 +873,6 @@ class UI5Element extends HTMLElement {
895
873
  }
896
874
  }
897
875
  }
898
- /**
899
- * Returns the Static Area CSS for this UI5 Web Component Class
900
- * @protected
901
- */
902
- static get staticAreaStyles() {
903
- return "";
904
- }
905
876
  /**
906
877
  * Returns an array with the dependencies for this UI5 Web Component, which could be:
907
878
  * - composed components (used in its shadow root or static area item)
@@ -958,7 +929,6 @@ class UI5Element extends HTMLElement {
958
929
  this._generateAccessors();
959
930
  registerTag(tag);
960
931
  customElements.define(tag, this);
961
- preloadLinks(this);
962
932
  }
963
933
  return this;
964
934
  }
@@ -999,5 +969,5 @@ const instanceOfUI5Element = (object) => {
999
969
  return "isUI5Element" in object;
1000
970
  };
1001
971
  export default UI5Element;
1002
- export { instanceOfUI5Element };
972
+ export { instanceOfUI5Element, };
1003
973
  //# sourceMappingURL=UI5Element.js.map