@ui5/webcomponents-base 0.0.0-cc312800a → 0.0.0-cf50976ce

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 (209) hide show
  1. package/.eslintignore +3 -1
  2. package/CHANGELOG.md +280 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +13 -11
  5. package/dist/Boot.js +34 -18
  6. package/dist/CSP.js +59 -0
  7. package/dist/CustomElementsRegistry.js +60 -4
  8. package/dist/CustomElementsScope.js +20 -98
  9. package/dist/CustomElementsScopeUtils.js +108 -0
  10. package/dist/Device.js +22 -1
  11. package/dist/EventProvider.js +19 -25
  12. package/dist/FeaturesRegistry.js +4 -1
  13. package/dist/FontFace.js +7 -95
  14. package/dist/InitialConfiguration.js +31 -14
  15. package/dist/Keys.js +62 -0
  16. package/dist/ManagedStyles.js +83 -0
  17. package/dist/Render.js +3 -1
  18. package/dist/Runtimes.js +107 -0
  19. package/dist/StaticAreaItem.js +15 -10
  20. package/dist/SystemCSSVars.js +4 -25
  21. package/dist/UI5Element.js +71 -60
  22. package/dist/UI5ElementMetadata.js +18 -2
  23. package/dist/asset-registries/Icons.js +26 -9
  24. package/dist/asset-registries/Illustrations.js +30 -0
  25. package/dist/asset-registries/LocaleData.js +18 -4
  26. package/dist/asset-registries/Themes.js +6 -2
  27. package/dist/asset-registries/i18n.js +3 -1
  28. package/dist/assets/bundle.esm.83f057b4.js +43 -0
  29. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  30. package/dist/config/Icons.js +52 -0
  31. package/dist/config/Theme.js +25 -0
  32. package/dist/css/BusyIndicator.css +80 -0
  33. package/dist/css/FontFace.css +66 -0
  34. package/dist/css/OverrideFontFace.css +32 -0
  35. package/dist/css/SystemCSSVars.css +17 -0
  36. package/dist/delegate/ItemNavigation.js +75 -4
  37. package/dist/delegate/ScrollEnablement.js +7 -1
  38. package/dist/features/F6Navigation.js +110 -0
  39. package/dist/features/OpenUI5Enablement.js +119 -0
  40. package/dist/generated/AssetParameters.js +1 -1
  41. package/dist/generated/VersionInfo.js +10 -0
  42. package/dist/generated/css/BusyIndicator.css.js +5 -0
  43. package/dist/generated/css/FontFace.css.js +5 -0
  44. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  45. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  46. package/dist/i18nBundle.js +34 -3
  47. package/dist/renderer/LitRenderer.js +39 -18
  48. package/dist/renderer/directives/style-map.js +72 -0
  49. package/dist/renderer/executeTemplate.js +19 -2
  50. package/dist/sap/base/Log.js +241 -0
  51. package/dist/sap/base/assert.js +8 -0
  52. package/dist/sap/base/security/URLListValidator.js +148 -0
  53. package/dist/sap/base/security/encodeCSS.js +14 -0
  54. package/dist/sap/base/security/encodeXML.js +23 -0
  55. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  56. package/dist/sap/base/strings/toHex.js +8 -0
  57. package/dist/sap/base/util/now.js +7 -0
  58. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  59. package/dist/theming/CustomStyle.js +23 -3
  60. package/dist/theming/applyTheme.js +11 -10
  61. package/dist/theming/getEffectiveLinksHrefs.js +27 -0
  62. package/dist/theming/getEffectiveStyle.js +9 -0
  63. package/dist/theming/getStylesString.js +4 -2
  64. package/dist/theming/getThemeDesignerTheme.js +25 -5
  65. package/dist/theming/preloadLinks.js +23 -0
  66. package/dist/types/DOMReference.js +24 -0
  67. package/dist/types/DataType.js +12 -0
  68. package/dist/types/Float.js +4 -0
  69. package/dist/types/Integer.js +4 -0
  70. package/dist/types/InvisibleMessageMode.js +30 -0
  71. package/dist/updateShadowRoot.js +9 -6
  72. package/dist/util/AriaLabelHelper.js +6 -8
  73. package/dist/util/Caret.js +1 -14
  74. package/dist/util/ColorConversion.js +30 -2
  75. package/dist/util/FocusableElements.js +13 -7
  76. package/dist/util/HTMLSanitizer.js +7 -0
  77. package/dist/util/InvisibleMessage.js +69 -0
  78. package/dist/util/PopupUtils.js +1 -1
  79. package/dist/util/TabbableElements.js +5 -1
  80. package/dist/util/createLinkInHead.js +19 -0
  81. package/dist/util/escapeRegex.js +10 -0
  82. package/dist/util/generateHighlightedMarkup.js +42 -0
  83. package/dist/util/getEffectiveScrollbarStyle.js +5 -0
  84. package/dist/util/getNormalizedTarget.js +16 -0
  85. package/dist/util/isDefaultSlotProvided.js +11 -0
  86. package/dist/util/isNodeHidden.js +1 -1
  87. package/dist/util/isNodeTabbable.js +4 -4
  88. package/hash.txt +1 -1
  89. package/index.js +1 -1
  90. package/lib/generate-asset-parameters/index.js +8 -5
  91. package/lib/generate-styles/index.js +26 -0
  92. package/lib/generate-version-info/index.js +32 -0
  93. package/package-scripts.js +36 -23
  94. package/package.json +18 -9
  95. package/src/Boot.js +34 -18
  96. package/src/CSP.js +59 -0
  97. package/src/CustomElementsRegistry.js +60 -4
  98. package/src/CustomElementsScope.js +20 -98
  99. package/src/CustomElementsScopeUtils.js +108 -0
  100. package/src/Device.js +22 -1
  101. package/src/EventProvider.js +19 -25
  102. package/src/FeaturesRegistry.js +4 -1
  103. package/src/FontFace.js +7 -95
  104. package/src/InitialConfiguration.js +31 -14
  105. package/src/Keys.js +62 -0
  106. package/src/ManagedStyles.js +83 -0
  107. package/src/Render.js +3 -1
  108. package/src/Runtimes.js +107 -0
  109. package/src/StaticAreaItem.js +15 -10
  110. package/src/SystemCSSVars.js +4 -25
  111. package/src/UI5Element.js +71 -60
  112. package/src/UI5ElementMetadata.js +18 -2
  113. package/src/asset-registries/Icons.js +26 -9
  114. package/src/asset-registries/Illustrations.js +30 -0
  115. package/src/asset-registries/LocaleData.js +18 -4
  116. package/src/asset-registries/Themes.js +6 -2
  117. package/src/asset-registries/i18n.js +3 -1
  118. package/src/assets-meta/IconCollectionsAlias.js +18 -0
  119. package/src/config/Icons.js +52 -0
  120. package/src/config/Theme.js +25 -0
  121. package/src/css/BusyIndicator.css +80 -0
  122. package/src/css/FontFace.css +66 -0
  123. package/src/css/OverrideFontFace.css +32 -0
  124. package/src/css/SystemCSSVars.css +17 -0
  125. package/src/delegate/ItemNavigation.js +75 -4
  126. package/src/delegate/ScrollEnablement.js +7 -1
  127. package/src/features/F6Navigation.js +110 -0
  128. package/src/features/OpenUI5Enablement.js +119 -0
  129. package/src/i18nBundle.js +34 -3
  130. package/src/renderer/LitRenderer.js +39 -18
  131. package/src/renderer/directives/style-map.js +72 -0
  132. package/src/renderer/executeTemplate.js +19 -2
  133. package/src/theming/CustomStyle.js +23 -3
  134. package/src/theming/applyTheme.js +11 -10
  135. package/src/theming/getEffectiveLinksHrefs.js +27 -0
  136. package/src/theming/getEffectiveStyle.js +9 -0
  137. package/src/theming/getStylesString.js +4 -2
  138. package/src/theming/getThemeDesignerTheme.js +25 -5
  139. package/src/theming/preloadLinks.js +23 -0
  140. package/src/types/DOMReference.js +24 -0
  141. package/src/types/DataType.js +12 -0
  142. package/src/types/Float.js +4 -0
  143. package/src/types/Integer.js +4 -0
  144. package/src/types/InvisibleMessageMode.js +30 -0
  145. package/src/updateShadowRoot.js +9 -6
  146. package/src/util/AriaLabelHelper.js +6 -8
  147. package/src/util/Caret.js +1 -14
  148. package/src/util/ColorConversion.js +30 -2
  149. package/src/util/FocusableElements.js +13 -7
  150. package/src/util/HTMLSanitizer.js +7 -0
  151. package/src/util/InvisibleMessage.js +69 -0
  152. package/src/util/PopupUtils.js +1 -1
  153. package/src/util/TabbableElements.js +5 -1
  154. package/src/util/createLinkInHead.js +19 -0
  155. package/src/util/escapeRegex.js +10 -0
  156. package/src/util/generateHighlightedMarkup.js +42 -0
  157. package/src/util/getEffectiveScrollbarStyle.js +5 -0
  158. package/src/util/getNormalizedTarget.js +16 -0
  159. package/src/util/isDefaultSlotProvided.js +11 -0
  160. package/src/util/isNodeHidden.js +1 -1
  161. package/src/util/isNodeTabbable.js +4 -4
  162. package/used-modules.txt +10 -0
  163. package/config/.eslintrc.js +0 -3
  164. package/config/rollup.config.js +0 -1
  165. package/dist/config/AssetsPath.js +0 -17
  166. package/dist/isLegacyBrowser.js +0 -3
  167. package/dist/renderer/ifDefined.js +0 -21
  168. package/dist/renderer/scopeHTML.js +0 -32
  169. package/dist/resources/bundle.esm.js +0 -121
  170. package/dist/resources/bundle.esm.js.map +0 -1
  171. package/dist/test-resources/assets/Themes.js +0 -17
  172. package/dist/test-resources/elements/Child.js +0 -35
  173. package/dist/test-resources/elements/Generic.js +0 -84
  174. package/dist/test-resources/elements/GenericExt.js +0 -26
  175. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  176. package/dist/test-resources/elements/Parent.js +0 -41
  177. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  178. package/dist/test-resources/pages/AllTestElements.html +0 -39
  179. package/dist/test-resources/pages/Configuration.html +0 -18
  180. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  181. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  182. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  183. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  184. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  185. package/dist/test-resources/pages/i18n.html +0 -35
  186. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  187. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  188. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -47
  189. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  190. package/dist/test-resources/specs/StaticArea.spec.js +0 -36
  191. package/dist/test-resources/specs/Theming.spec.js +0 -33
  192. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  193. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  194. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  195. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  196. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  197. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  198. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  199. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  200. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  201. package/dist/util/encodeCSS.js +0 -24
  202. package/dist/util/findNodeOwner.js +0 -35
  203. package/src/config/AssetsPath.js +0 -17
  204. package/src/isLegacyBrowser.js +0 -3
  205. package/src/renderer/ifDefined.js +0 -21
  206. package/src/renderer/scopeHTML.js +0 -32
  207. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  208. package/src/util/encodeCSS.js +0 -24
  209. package/src/util/findNodeOwner.js +0 -35
@@ -1,17 +0,0 @@
1
- import { getAssetsPath as getConfiguredAssetsPath } from "../InitialConfiguration.js";
2
-
3
- let assetsPath;
4
-
5
- const getAssetsPath = () => {
6
- if (assetsPath === undefined) {
7
- assetsPath = getConfiguredAssetsPath();
8
- }
9
-
10
- return assetsPath;
11
- };
12
-
13
- const setAssetsPath = newAssetsPath => {
14
- assetsPath = newAssetsPath;
15
- };
16
-
17
- export { getAssetsPath, setAssetsPath }; // eslint-disable-line
@@ -1,3 +0,0 @@
1
- const isLegacyBrowser = () => !!window.ShadyDOM;
2
-
3
- export default isLegacyBrowser;
@@ -1,21 +0,0 @@
1
- import {
2
- AttributePart,
3
- directive,
4
- noChange,
5
- } from "lit-html/lit-html.js";
6
-
7
- /*
8
- lit-html directive that removes and attribute if it is undefined
9
- */
10
- export default directive(value => part => {
11
- if ((value === undefined) && part instanceof AttributePart) {
12
- if (value !== part.value) {
13
- const name = part.committer.name;
14
- part.committer.element.removeAttribute(name);
15
- }
16
- } else if (part.committer && part.committer.element && part.committer.element.getAttribute(part.committer.name) === value) {
17
- part.setValue(noChange);
18
- } else {
19
- part.setValue(value);
20
- }
21
- });
@@ -1,32 +0,0 @@
1
- const cache = new Map();
2
-
3
- const scopeHTML = (strings, tags, suffix) => {
4
- if (suffix && tags && tags.length) {
5
- strings = strings.map(string => {
6
- if (cache.has(string)) {
7
- return cache.get(string);
8
- }
9
-
10
- /*
11
- const allTags = [...string.matchAll(/<(ui5-.*?)[> ]/g)].map(x => x[1]);
12
- allTags.forEach(t => {
13
- if (!tags.includes(t)) {
14
- throw new Error(`${t} not found in ${string}`);
15
- // console.log(t, " in ", string);
16
- }
17
- });
18
- */
19
-
20
- let result = string;
21
- tags.forEach(tag => {
22
- result = result.replace(new RegExp(`(</?)(${tag})(/?[> \t\n])`, "g"), `$1$2-${suffix}$3`);
23
- });
24
- cache.set(string, result);
25
- return result;
26
- });
27
- }
28
-
29
- return strings;
30
- };
31
-
32
- export default scopeHTML;
@@ -1,20 +0,0 @@
1
- import createStyleInHead from "../util/createStyleInHead.js";
2
-
3
- /**
4
- * Creates/updates a style element holding all CSS Custom Properties
5
- * @param cssText
6
- * @param packageName
7
- */
8
- const createThemePropertiesStyleTag = (cssText, packageName) => {
9
- const styleElement = document.head.querySelector(`style[data-ui5-theme-properties="${packageName}"]`);
10
- if (styleElement) {
11
- styleElement.textContent = cssText || ""; // in case of undefined
12
- } else {
13
- const attributes = {
14
- "data-ui5-theme-properties": packageName,
15
- };
16
- createStyleInHead(cssText, attributes);
17
- }
18
- };
19
-
20
- export default createThemePropertiesStyleTag;
@@ -1,24 +0,0 @@
1
- const rCSS = /[\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xff\u2028\u2029][0-9A-Fa-f]?/g; // eslint-disable-line
2
-
3
- const toHex = (iChar, iLength) => {
4
- let sHex = iChar.toString(16);
5
- if (iLength) {
6
- sHex = sHex.padStart(iLength, "0");
7
- }
8
- return sHex;
9
- };
10
-
11
- const fnCSS = sChar => {
12
- const iChar = sChar.charCodeAt(0);
13
- if (sChar.length === 1) {
14
- return `\\${toHex(iChar)}`;
15
- }
16
-
17
- return `\\${toHex(iChar)} ${sChar.substr(1)}`;
18
- };
19
-
20
- const encodeCSS = string => {
21
- return string.replace(rCSS, fnCSS);
22
- };
23
-
24
- export default encodeCSS;
@@ -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;