@ui5/webcomponents-base 0.0.0-c6d8872f3 → 0.0.0-cf069fb29

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 (351) hide show
  1. package/.eslintignore +5 -0
  2. package/CHANGELOG.md +293 -0
  3. package/README.md +26 -2
  4. package/bundle.esm.js +17 -7
  5. package/dist/AssetRegistry.js +8 -6
  6. package/dist/Boot.js +61 -0
  7. package/dist/CSP.js +59 -0
  8. package/dist/CustomElementsRegistry.js +95 -0
  9. package/dist/CustomElementsScope.js +108 -0
  10. package/dist/DOMObserver.js +65 -0
  11. package/dist/Device.js +69 -776
  12. package/dist/EventProvider.js +38 -26
  13. package/dist/FeaturesRegistry.js +4 -1
  14. package/dist/FontFace.js +19 -62
  15. package/dist/InitialConfiguration.js +45 -9
  16. package/dist/Keys.js +112 -2
  17. package/dist/ManagedStyles.js +83 -0
  18. package/dist/MediaRange.js +109 -0
  19. package/dist/PropertiesFileFormat.js +95 -0
  20. package/dist/Render.js +175 -0
  21. package/dist/RenderQueue.js +41 -17
  22. package/dist/RenderScheduler.js +24 -145
  23. package/dist/Runtimes.js +107 -0
  24. package/dist/StaticArea.js +1 -39
  25. package/dist/StaticAreaItem.js +61 -50
  26. package/dist/SystemCSSVars.js +10 -0
  27. package/dist/Theming.js +2 -5
  28. package/dist/UI5Element.js +448 -297
  29. package/dist/UI5ElementMetadata.js +173 -19
  30. package/dist/asset-registries/Icons.js +129 -14
  31. package/dist/asset-registries/Illustrations.js +30 -0
  32. package/dist/asset-registries/LocaleData.js +100 -68
  33. package/dist/asset-registries/Themes.js +35 -32
  34. package/dist/asset-registries/i18n.js +76 -29
  35. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  36. package/dist/config/AnimationMode.js +11 -1
  37. package/dist/config/Language.js +58 -2
  38. package/dist/config/Theme.js +14 -0
  39. package/dist/css/FontFace.css +45 -0
  40. package/dist/css/OverrideFontFace.css +32 -0
  41. package/dist/css/SystemCSSVars.css +17 -0
  42. package/dist/delegate/ItemNavigation.js +244 -171
  43. package/dist/delegate/ResizeHandler.js +78 -38
  44. package/dist/delegate/ScrollEnablement.js +101 -19
  45. package/dist/features/F6Navigation.js +106 -0
  46. package/dist/features/OpenUI5Support.js +56 -7
  47. package/dist/generated/AssetParameters.js +13 -0
  48. package/dist/generated/VersionInfo.js +10 -0
  49. package/dist/generated/css/FontFace.css.js +5 -0
  50. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  51. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  52. package/dist/getSharedResource.js +30 -0
  53. package/dist/i18nBundle.js +59 -8
  54. package/dist/isLegacyBrowser.js +3 -0
  55. package/dist/locale/RTLAwareRegistry.js +14 -0
  56. package/dist/locale/applyDirection.js +17 -0
  57. package/dist/locale/directionChange.js +32 -0
  58. package/dist/locale/getEffectiveDir.js +28 -0
  59. package/dist/locale/getLocale.js +12 -2
  60. package/dist/locale/languageChange.js +22 -0
  61. package/dist/locale/nextFallbackLocale.js +6 -4
  62. package/dist/locale/normalizeLocale.js +7 -1
  63. package/dist/renderer/LitRenderer.js +26 -7
  64. package/dist/renderer/directives/style-map.js +72 -0
  65. package/dist/renderer/executeTemplate.js +17 -0
  66. package/dist/resources/bundle.esm.js +20 -106
  67. package/dist/resources/bundle.esm.js.map +1 -1
  68. package/dist/sap/base/Log.js +241 -0
  69. package/dist/sap/base/assert.js +8 -0
  70. package/dist/sap/base/security/URLListValidator.js +148 -0
  71. package/dist/sap/base/security/encodeCSS.js +14 -0
  72. package/dist/sap/base/security/encodeXML.js +23 -0
  73. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  74. package/dist/sap/base/strings/toHex.js +8 -0
  75. package/dist/sap/base/util/now.js +7 -0
  76. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  77. package/dist/test-resources/assets/Themes.js +10 -6
  78. package/dist/test-resources/elements/Parent.js +6 -2
  79. package/dist/test-resources/elements/WithStaticArea.js +77 -0
  80. package/dist/test-resources/pages/AllTestElements.html +5 -3
  81. package/dist/test-resources/pages/Configuration.html +0 -2
  82. package/dist/test-resources/pages/ConfigurationScript.html +1 -3
  83. package/dist/test-resources/pages/assets/messagebundle_de.properties +1 -0
  84. package/dist/test-resources/pages/assets/messagebundle_en.properties +1 -0
  85. package/dist/test-resources/pages/assets/messagebundle_es.properties +1 -0
  86. package/dist/test-resources/pages/assets/messagebundle_fr.properties +1 -0
  87. package/dist/test-resources/pages/i18n.html +33 -0
  88. package/dist/test-resources/specs/ConfigurationChange.spec.js +11 -9
  89. package/dist/test-resources/specs/ConfigurationScript.spec.js +25 -23
  90. package/dist/test-resources/specs/ConfigurationURL.spec.js +65 -17
  91. package/dist/test-resources/specs/CustomTheme.spec.js +9 -7
  92. package/dist/test-resources/specs/EventProvider.spec.js +63 -0
  93. package/dist/test-resources/specs/StaticArea.spec.js +78 -0
  94. package/dist/test-resources/specs/Theming.spec.js +12 -10
  95. package/dist/test-resources/specs/UI5ElementInvalidation.js +54 -70
  96. package/dist/test-resources/specs/UI5ElementLifecycle.js +19 -14
  97. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +25 -51
  98. package/dist/test-resources/specs/UI5ElementMetadataExt.js +9 -7
  99. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +7 -5
  100. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +37 -35
  101. package/dist/test-resources/specs/UI5ElementShadowDOM.js +10 -8
  102. package/dist/test-resources/specs/UI5ElementSlots.js +10 -8
  103. package/dist/theming/CustomStyle.js +47 -6
  104. package/dist/theming/ThemeLoaded.js +22 -0
  105. package/dist/theming/applyTheme.js +69 -9
  106. package/dist/theming/getConstructableStyle.js +15 -10
  107. package/dist/theming/getEffectiveLinksHrefs.js +20 -0
  108. package/dist/theming/getEffectiveStyle.js +23 -8
  109. package/dist/theming/getStylesString.js +15 -0
  110. package/dist/theming/getThemeDesignerTheme.js +87 -0
  111. package/dist/theming/preloadLinks.js +23 -0
  112. package/dist/types/CSSColor.js +9 -0
  113. package/dist/types/CalendarType.js +1 -1
  114. package/dist/types/DataType.js +13 -1
  115. package/dist/types/Float.js +14 -0
  116. package/dist/types/Integer.js +4 -0
  117. package/dist/types/InvisibleMessageMode.js +30 -0
  118. package/dist/types/ItemNavigationBehavior.js +2 -7
  119. package/dist/types/NavigationMode.js +1 -0
  120. package/dist/types/PopupState.js +1 -1
  121. package/dist/types/ValueState.js +1 -1
  122. package/dist/updateShadowRoot.js +30 -0
  123. package/dist/util/AriaLabelHelper.js +41 -0
  124. package/dist/util/Caret.js +45 -0
  125. package/dist/util/ColorConversion.js +370 -0
  126. package/dist/util/FocusableElements.js +30 -11
  127. package/dist/util/HTMLSanitizer.js +7 -0
  128. package/dist/util/InvisibleMessage.js +58 -0
  129. package/dist/util/PopupUtils.js +93 -0
  130. package/dist/util/SlotsHelper.js +43 -0
  131. package/dist/util/TabbableElements.js +5 -1
  132. package/dist/util/arraysAreEqual.js +15 -0
  133. package/dist/util/clamp.js +12 -0
  134. package/dist/util/createLinkInHead.js +19 -0
  135. package/dist/util/debounce.js +17 -0
  136. package/dist/util/detectNavigatorLanguage.js +3 -1
  137. package/dist/util/escapeRegex.js +10 -0
  138. package/dist/util/findNodeOwner.js +35 -0
  139. package/dist/util/generateHighlightedMarkup.js +42 -0
  140. package/dist/util/getActiveElement.js +11 -0
  141. package/dist/util/getClassCopy.js +10 -0
  142. package/dist/util/getEffectiveContentDensity.js +5 -0
  143. package/dist/util/getFileExtension.js +21 -0
  144. package/dist/util/getSingletonElementInstance.js +13 -0
  145. package/dist/util/isElementInView.js +15 -0
  146. package/dist/util/isNodeHidden.js +1 -5
  147. package/dist/util/isNodeTabbable.js +4 -4
  148. package/dist/util/isValidPropertyName.js +11 -2
  149. package/dist/util/setToArray.js +10 -0
  150. package/hash.txt +1 -0
  151. package/index.js +1 -1
  152. package/lib/generate-asset-parameters/index.js +21 -0
  153. package/lib/generate-styles/index.js +18 -0
  154. package/lib/generate-version-info/index.js +27 -0
  155. package/package-scripts.js +43 -17
  156. package/package.json +19 -12
  157. package/src/AssetRegistry.js +8 -6
  158. package/src/Boot.js +61 -0
  159. package/src/CSP.js +59 -0
  160. package/src/CustomElementsRegistry.js +95 -0
  161. package/src/CustomElementsScope.js +108 -0
  162. package/src/DOMObserver.js +65 -0
  163. package/src/Device.js +69 -776
  164. package/src/EventProvider.js +38 -26
  165. package/src/FeaturesRegistry.js +4 -1
  166. package/src/FontFace.js +19 -62
  167. package/src/InitialConfiguration.js +45 -9
  168. package/src/Keys.js +112 -2
  169. package/src/ManagedStyles.js +83 -0
  170. package/src/MediaRange.js +109 -0
  171. package/src/PropertiesFileFormat.js +95 -0
  172. package/src/Render.js +175 -0
  173. package/src/RenderQueue.js +41 -17
  174. package/src/RenderScheduler.js +24 -145
  175. package/src/Runtimes.js +107 -0
  176. package/src/StaticArea.js +1 -39
  177. package/src/StaticAreaItem.js +61 -50
  178. package/src/SystemCSSVars.js +10 -0
  179. package/src/Theming.js +2 -5
  180. package/src/UI5Element.js +448 -297
  181. package/src/UI5ElementMetadata.js +173 -19
  182. package/src/asset-registries/Icons.js +129 -14
  183. package/src/asset-registries/Illustrations.js +30 -0
  184. package/src/asset-registries/LocaleData.js +100 -68
  185. package/src/asset-registries/Themes.js +35 -32
  186. package/src/asset-registries/i18n.js +76 -29
  187. package/src/assets-meta/IconCollectionsAlias.js +18 -0
  188. package/src/config/AnimationMode.js +11 -1
  189. package/src/config/Language.js +58 -2
  190. package/src/config/Theme.js +14 -0
  191. package/src/css/FontFace.css +45 -0
  192. package/src/css/OverrideFontFace.css +32 -0
  193. package/src/css/SystemCSSVars.css +17 -0
  194. package/src/delegate/ItemNavigation.js +244 -171
  195. package/src/delegate/ResizeHandler.js +78 -38
  196. package/src/delegate/ScrollEnablement.js +101 -19
  197. package/src/features/F6Navigation.js +106 -0
  198. package/src/features/OpenUI5Support.js +56 -7
  199. package/src/getSharedResource.js +30 -0
  200. package/src/i18nBundle.js +59 -8
  201. package/src/isLegacyBrowser.js +3 -0
  202. package/src/locale/RTLAwareRegistry.js +14 -0
  203. package/src/locale/applyDirection.js +17 -0
  204. package/src/locale/directionChange.js +32 -0
  205. package/src/locale/getEffectiveDir.js +28 -0
  206. package/src/locale/getLocale.js +12 -2
  207. package/src/locale/languageChange.js +22 -0
  208. package/src/locale/nextFallbackLocale.js +6 -4
  209. package/src/locale/normalizeLocale.js +7 -1
  210. package/src/renderer/LitRenderer.js +26 -7
  211. package/src/renderer/directives/style-map.js +72 -0
  212. package/src/renderer/executeTemplate.js +17 -0
  213. package/src/theming/CustomStyle.js +47 -6
  214. package/src/theming/ThemeLoaded.js +22 -0
  215. package/src/theming/applyTheme.js +69 -9
  216. package/src/theming/getConstructableStyle.js +15 -10
  217. package/src/theming/getEffectiveLinksHrefs.js +20 -0
  218. package/src/theming/getEffectiveStyle.js +23 -8
  219. package/src/theming/getStylesString.js +15 -0
  220. package/src/theming/getThemeDesignerTheme.js +87 -0
  221. package/src/theming/preloadLinks.js +23 -0
  222. package/src/types/CSSColor.js +9 -0
  223. package/src/types/CalendarType.js +1 -1
  224. package/src/types/DataType.js +13 -1
  225. package/src/types/Float.js +14 -0
  226. package/src/types/Integer.js +4 -0
  227. package/src/types/InvisibleMessageMode.js +30 -0
  228. package/src/types/ItemNavigationBehavior.js +2 -7
  229. package/src/types/NavigationMode.js +1 -0
  230. package/src/types/PopupState.js +1 -1
  231. package/src/types/ValueState.js +1 -1
  232. package/src/updateShadowRoot.js +30 -0
  233. package/src/util/AriaLabelHelper.js +41 -0
  234. package/src/util/Caret.js +45 -0
  235. package/src/util/ColorConversion.js +370 -0
  236. package/src/util/FocusableElements.js +30 -11
  237. package/src/util/HTMLSanitizer.js +7 -0
  238. package/src/util/InvisibleMessage.js +58 -0
  239. package/src/util/PopupUtils.js +93 -0
  240. package/src/util/SlotsHelper.js +43 -0
  241. package/src/util/TabbableElements.js +5 -1
  242. package/src/util/arraysAreEqual.js +15 -0
  243. package/src/util/clamp.js +12 -0
  244. package/src/util/createLinkInHead.js +19 -0
  245. package/src/util/debounce.js +17 -0
  246. package/src/util/detectNavigatorLanguage.js +3 -1
  247. package/src/util/escapeRegex.js +10 -0
  248. package/src/util/findNodeOwner.js +35 -0
  249. package/src/util/generateHighlightedMarkup.js +42 -0
  250. package/src/util/getActiveElement.js +11 -0
  251. package/src/util/getClassCopy.js +10 -0
  252. package/src/util/getEffectiveContentDensity.js +5 -0
  253. package/src/util/getFileExtension.js +21 -0
  254. package/src/util/getSingletonElementInstance.js +13 -0
  255. package/src/util/isElementInView.js +15 -0
  256. package/src/util/isNodeHidden.js +1 -5
  257. package/src/util/isNodeTabbable.js +4 -4
  258. package/src/util/isValidPropertyName.js +11 -2
  259. package/src/util/setToArray.js +10 -0
  260. package/used-modules.txt +10 -0
  261. package/bundle.es5.js +0 -28
  262. package/dist/SVGIconRegistry.js +0 -60
  263. package/dist/boot.js +0 -32
  264. package/dist/compatibility/DOMObserver.js +0 -62
  265. package/dist/compatibility/patchNodeValue.js +0 -24
  266. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  267. package/dist/delegate/CustomResize.js +0 -78
  268. package/dist/delegate/NativeResize.js +0 -44
  269. package/dist/features/browsersupport/Edge.js +0 -6
  270. package/dist/features/browsersupport/IE11.js +0 -41
  271. package/dist/renderer/ifDefined.js +0 -21
  272. package/dist/resources/bundle.es5.js +0 -212
  273. package/dist/resources/bundle.es5.js.map +0 -1
  274. package/dist/test-resources/dev-helpers/ExternalThemePresent.js +0 -3
  275. package/dist/theming/CSSVarsPonyfill.js +0 -25
  276. package/dist/theming/ExternalThemePresent.js +0 -12
  277. package/dist/theming/adaptCSSForIE.js +0 -90
  278. package/dist/theming/createComponentStyleTag.js +0 -32
  279. package/dist/theming/createThemePropertiesStyleTag.js +0 -27
  280. package/dist/thirdparty/Array.from.js +0 -16
  281. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  282. package/dist/thirdparty/Array.prototype.find.js +0 -46
  283. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  284. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  285. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  286. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  287. package/dist/thirdparty/Number.isInteger.js +0 -5
  288. package/dist/thirdparty/Number.isNaN.js +0 -1
  289. package/dist/thirdparty/Number.parseInt.js +0 -1
  290. package/dist/thirdparty/Object.assign.js +0 -31
  291. package/dist/thirdparty/Object.entries.js +0 -11
  292. package/dist/thirdparty/Symbol.js +0 -2
  293. package/dist/thirdparty/WeakSet.js +0 -27
  294. package/dist/thirdparty/es6-string-methods.js +0 -182
  295. package/dist/thirdparty/events-polyfills.js +0 -89
  296. package/dist/thirdparty/fetch.js +0 -1
  297. package/dist/thirdparty/template.js +0 -600
  298. package/dist/webcomponentsjs/LICENSE.md +0 -19
  299. package/dist/webcomponentsjs/README.md +0 -229
  300. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  301. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  302. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  303. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  304. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  305. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  306. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  307. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  308. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  309. package/dist/webcomponentsjs/package.json +0 -46
  310. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  311. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  312. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  313. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  314. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  315. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  316. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  317. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  318. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  319. package/src/SVGIconRegistry.js +0 -60
  320. package/src/boot.js +0 -32
  321. package/src/compatibility/DOMObserver.js +0 -62
  322. package/src/compatibility/patchNodeValue.js +0 -24
  323. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  324. package/src/delegate/CustomResize.js +0 -78
  325. package/src/delegate/NativeResize.js +0 -44
  326. package/src/features/browsersupport/Edge.js +0 -6
  327. package/src/features/browsersupport/IE11.js +0 -41
  328. package/src/renderer/ifDefined.js +0 -21
  329. package/src/theming/CSSVarsPonyfill.js +0 -25
  330. package/src/theming/ExternalThemePresent.js +0 -12
  331. package/src/theming/adaptCSSForIE.js +0 -90
  332. package/src/theming/createComponentStyleTag.js +0 -32
  333. package/src/theming/createThemePropertiesStyleTag.js +0 -27
  334. package/src/thirdparty/Array.from.js +0 -16
  335. package/src/thirdparty/Array.prototype.fill.js +0 -44
  336. package/src/thirdparty/Array.prototype.find.js +0 -46
  337. package/src/thirdparty/Array.prototype.includes.js +0 -51
  338. package/src/thirdparty/Element.prototype.closest.js +0 -11
  339. package/src/thirdparty/Element.prototype.matches.js +0 -6
  340. package/src/thirdparty/Map.prototype.keys.js +0 -9
  341. package/src/thirdparty/Number.isInteger.js +0 -5
  342. package/src/thirdparty/Number.isNaN.js +0 -1
  343. package/src/thirdparty/Number.parseInt.js +0 -1
  344. package/src/thirdparty/Object.assign.js +0 -31
  345. package/src/thirdparty/Object.entries.js +0 -11
  346. package/src/thirdparty/Symbol.js +0 -2
  347. package/src/thirdparty/WeakSet.js +0 -27
  348. package/src/thirdparty/es6-string-methods.js +0 -182
  349. package/src/thirdparty/events-polyfills.js +0 -89
  350. package/src/thirdparty/fetch.js +0 -1
  351. package/src/thirdparty/template.js +0 -600
@@ -1,62 +0,0 @@
1
- // Shorthands
2
- const w = window;
3
-
4
- // Map of observer objects per dom node
5
- const observers = new WeakMap();
6
-
7
- /**
8
- * Implements universal DOM node observation methods.
9
- */
10
- class DOMObserver {
11
- constructor() {
12
- throw new Error("Static class");
13
- }
14
-
15
- /**
16
- * This function abstracts out mutation observer usage inside shadow DOM.
17
- * For native shadow DOM the native mutation observer is used.
18
- * When the polyfill is used, the observeChildren ShadyDOM method is used instead.
19
- *
20
- * @throws Exception
21
- * Note: does not allow several mutation observers per node. If there is a valid use-case, this behavior can be changed.
22
- *
23
- * @param node
24
- * @param callback
25
- * @param options - Only used for the native mutation observer
26
- */
27
- static observeDOMNode(node, callback, options) {
28
- let observerObject = observers.get(node);
29
- if (observerObject) {
30
- throw new Error("A mutation/ShadyDOM observer is already assigned to this node.");
31
- }
32
-
33
- if (w.ShadyDOM) {
34
- observerObject = w.ShadyDOM.observeChildren(node, callback);
35
- } else {
36
- observerObject = new MutationObserver(callback);
37
- observerObject.observe(node, options);
38
- }
39
-
40
- observers.set(node, observerObject);
41
- }
42
-
43
- /**
44
- * De-registers the mutation observer, depending on its type
45
- * @param node
46
- */
47
- static unobserveDOMNode(node) {
48
- const observerObject = observers.get(node);
49
- if (!observerObject) {
50
- return;
51
- }
52
-
53
- if (observerObject instanceof MutationObserver) {
54
- observerObject.disconnect();
55
- } else {
56
- w.ShadyDOM.unobserveChildren(observerObject);
57
- }
58
- observers.delete(node);
59
- }
60
- }
61
-
62
- export default DOMObserver;
@@ -1,24 +0,0 @@
1
- const patchNodeValue = () => {
2
- if (!window.ShadyDOM) {
3
- return;
4
- }
5
- const nativeNodeValue = Object.getOwnPropertyDescriptor(Node.prototype, "nodeValue");
6
- Object.defineProperty(Node.prototype, "nodeValue", {
7
- get() {
8
- return nativeNodeValue.get.apply(this);
9
- },
10
- set(text) {
11
- nativeNodeValue.set.apply(this, arguments); // eslint-disable-line
12
-
13
- // Call manually the mutation observer callback
14
- const parentElement = this.parentNode;
15
- if (parentElement instanceof HTMLElement && parentElement.isUI5Element) {
16
- parentElement._processChildren();
17
- }
18
- },
19
- });
20
- };
21
-
22
- patchNodeValue();
23
-
24
- export default {};
@@ -1,26 +0,0 @@
1
- let polyfillLoadedPromise;
2
-
3
- const whenPolyfillLoaded = () => {
4
- if (polyfillLoadedPromise) {
5
- return polyfillLoadedPromise;
6
- }
7
-
8
- polyfillLoadedPromise = new Promise(resolve => {
9
- if (window.WebComponents
10
- && !window.WebComponents.ready
11
- && window.WebComponents.waitFor) {
12
- // the polyfill loader is present
13
- window.WebComponents.waitFor(() => {
14
- // the polyfills are loaded, safe to execute code depending on their APIs
15
- resolve();
16
- });
17
- } else {
18
- // polyfill loader missing, modern browsers only
19
- resolve();
20
- }
21
- });
22
-
23
- return polyfillLoadedPromise;
24
- };
25
-
26
- export default whenPolyfillLoaded;
@@ -1,78 +0,0 @@
1
- const INTERVAL = 300;
2
-
3
- class CustomResize {
4
- static initialize() {
5
- CustomResize.initialized = false;
6
- CustomResize.resizeInterval = undefined;
7
- CustomResize.resizeListeners = new Map();
8
- }
9
-
10
- static attachListener(ref, callback) {
11
- const observedObject = CustomResize.resizeListeners.get(ref);
12
- const existingCallbacks = observedObject ? observedObject.callbacks : [];
13
-
14
- CustomResize.resizeListeners.set(ref, {
15
- width: ref ? ref.offsetWidth : 0,
16
- height: ref ? ref.offsetHeight : 0,
17
- callbacks: existingCallbacks.concat(callback),
18
- });
19
-
20
- CustomResize.initListener();
21
- }
22
-
23
- static initListener() {
24
- if (CustomResize.resizeListeners.size > 0 && !CustomResize.initialized) {
25
- CustomResize.resizeInterval = setInterval(CustomResize.checkListeners.bind(CustomResize), INTERVAL);
26
- }
27
- }
28
-
29
- static checkListeners() {
30
- CustomResize.resizeListeners.forEach((entry, ref) => {
31
- const changed = CustomResize.checkSizes(entry, ref);
32
-
33
- if (changed || (entry && !entry._hasBeenRendered)) {
34
- CustomResize.updateSizes(entry, ref.offsetWidth, ref.offsetHeight);
35
- entry.callbacks.forEach(el => el());
36
- entry._hasBeenRendered = true;
37
- }
38
- });
39
- }
40
-
41
- static updateSizes(sizes, newWidth, newHeight) {
42
- sizes.width = newWidth;
43
- sizes.height = newHeight;
44
- }
45
-
46
- static checkSizes(entry, ref) {
47
- const oldHeight = entry.height;
48
- const oldWidth = entry.width;
49
- const newHeight = ref.offsetHeight;
50
- const newWidth = ref.offsetWidth;
51
-
52
- return ((oldHeight !== newHeight) || oldWidth !== newWidth);
53
- }
54
-
55
- static detachListener(ref, callback) {
56
- const listenerObject = CustomResize.resizeListeners.get(ref);
57
- const callbacks = listenerObject ? listenerObject.callbacks : [];
58
- const filteredCallbacks = callbacks.filter(fn => fn !== callback);
59
-
60
- if (!listenerObject || (callbacks.length === filteredCallbacks.length && callbacks.length !== 0)) {
61
- return;
62
- }
63
-
64
- CustomResize.resizeListeners.set(ref, Object.assign(listenerObject, { callbacks: filteredCallbacks }));
65
-
66
- if (!filteredCallbacks.length) {
67
- listenerObject.callbacks = null;
68
- CustomResize.resizeListeners.delete(ref);
69
- }
70
-
71
- if (CustomResize.resizeListeners.size === 0) {
72
- CustomResize.initialized = false;
73
- clearInterval(CustomResize.resizeInterval);
74
- }
75
- }
76
- }
77
-
78
- export default CustomResize;
@@ -1,44 +0,0 @@
1
- class NativeResize {
2
- static initialize() {
3
- NativeResize.resizeObserver = new window.ResizeObserver(entries => {
4
- // call attached callbacks
5
- entries.forEach(entry => {
6
- const callbacks = NativeResize.observedObjects.get(entry.target);
7
-
8
- callbacks.forEach(el => el());
9
- });
10
- });
11
-
12
- NativeResize.observedObjects = new Map();
13
- }
14
-
15
- static attachListener(ref, callback) {
16
- const observedDOMs = NativeResize.observedObjects;
17
- const callbacks = observedDOMs.get(ref) || [];
18
-
19
- // if no callbacks has been added for this ref - start observing it
20
- if (!callbacks.length) {
21
- NativeResize.resizeObserver.observe(ref);
22
- }
23
-
24
- // save the callbacks in an array
25
- observedDOMs.set(ref, [...callbacks, callback]);
26
- }
27
-
28
- static detachListener(ref, callback) {
29
- const callbacks = NativeResize.observedObjects.get(ref) || [];
30
- const filteredCallbacks = callbacks.filter(fn => fn !== callback);
31
-
32
- if (!callbacks.length || (callbacks.length === filteredCallbacks.length && callbacks.length !== 0)) {
33
- return;
34
- }
35
-
36
- NativeResize.observedObjects.set(ref, filteredCallbacks);
37
-
38
- if (!filteredCallbacks.length) {
39
- NativeResize.resizeObserver.unobserve(ref);
40
- }
41
- }
42
- }
43
-
44
- export default NativeResize;
@@ -1,6 +0,0 @@
1
- // URLSearchParams
2
- import "url-search-params-polyfill/index.js";
3
-
4
-
5
- // "pseudo mutation observer" fix for nodeValue
6
- import "../../compatibility/patchNodeValue.js";
@@ -1,41 +0,0 @@
1
- // CSS Custom Properties
2
- import cssVars from "css-vars-ponyfill/dist/css-vars-ponyfill.esm.js";
3
-
4
- // String
5
- import "../../thirdparty/es6-string-methods.js";
6
-
7
- // Object
8
- import "../../thirdparty/Object.entries.js";
9
-
10
- // Array
11
- import "../../thirdparty/Array.prototype.fill.js";
12
- import "../../thirdparty/Array.prototype.find.js";
13
- import "../../thirdparty/Array.prototype.includes.js";
14
-
15
- // Map
16
- import "../../thirdparty/Map.prototype.keys.js";
17
-
18
- // Number
19
- import "../../thirdparty/Number.isInteger.js";
20
- import "../../thirdparty/Number.isNaN.js";
21
- import "../../thirdparty/Number.parseInt.js";
22
-
23
- // Element
24
- import "../../thirdparty/Element.prototype.matches.js";
25
- import "../../thirdparty/Element.prototype.closest.js";
26
-
27
- // WeakSet
28
- import "../../thirdparty/WeakSet.js";
29
-
30
- // fetch
31
- import "../../thirdparty/fetch.js";
32
-
33
- // async - await
34
- import "regenerator-runtime/runtime.js";
35
-
36
- // Plus all polyfills needed for Edge are also needed for IE11
37
- import "./Edge.js";
38
-
39
- window.CSSVarsPonyfill = {
40
- cssVars,
41
- };
@@ -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
- });