@ui5/webcomponents-base 0.0.0-2647941ee → 0.0.0-274170508

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 (353) hide show
  1. package/.eslintignore +3 -0
  2. package/CHANGELOG.md +314 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +20 -20
  5. package/dist/AssetRegistry.js +8 -9
  6. package/dist/Boot.js +59 -0
  7. package/dist/CSP.js +59 -0
  8. package/dist/CustomElementsRegistry.js +60 -4
  9. package/dist/CustomElementsScope.js +20 -98
  10. package/dist/CustomElementsScopeUtils.js +108 -0
  11. package/dist/DOMObserver.js +65 -0
  12. package/dist/Device.js +71 -773
  13. package/dist/EventProvider.js +30 -26
  14. package/dist/FeaturesRegistry.js +4 -1
  15. package/dist/FontFace.js +7 -95
  16. package/dist/InitialConfiguration.js +37 -21
  17. package/dist/Keys.js +98 -0
  18. package/dist/ManagedStyles.js +83 -0
  19. package/dist/MediaRange.js +109 -0
  20. package/dist/{util/parseProperties.js → PropertiesFileFormat.js} +6 -0
  21. package/dist/Render.js +175 -0
  22. package/dist/RenderScheduler.js +16 -138
  23. package/dist/Runtimes.js +107 -0
  24. package/dist/StaticArea.js +1 -29
  25. package/dist/StaticAreaItem.js +58 -65
  26. package/dist/SystemCSSVars.js +4 -25
  27. package/dist/UI5Element.js +322 -387
  28. package/dist/UI5ElementMetadata.js +132 -17
  29. package/dist/asset-registries/Icons.js +118 -15
  30. package/dist/asset-registries/Illustrations.js +30 -0
  31. package/dist/asset-registries/LocaleData.js +97 -68
  32. package/dist/asset-registries/Themes.js +29 -35
  33. package/dist/asset-registries/i18n.js +62 -49
  34. package/dist/assets/bundle.esm.3bc98648.js +43 -0
  35. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  36. package/dist/config/Icons.js +52 -0
  37. package/dist/config/Language.js +18 -20
  38. package/dist/config/Theme.js +25 -0
  39. package/dist/css/BusyIndicator.css +80 -0
  40. package/dist/css/FontFace.css +66 -0
  41. package/dist/css/OverrideFontFace.css +32 -0
  42. package/dist/css/SystemCSSVars.css +17 -0
  43. package/dist/delegate/ItemNavigation.js +238 -201
  44. package/dist/delegate/ResizeHandler.js +78 -37
  45. package/dist/delegate/ScrollEnablement.js +49 -20
  46. package/dist/features/F6Navigation.js +110 -0
  47. package/dist/features/OpenUI5Enablement.js +119 -0
  48. package/dist/features/OpenUI5Support.js +41 -6
  49. package/dist/generated/AssetParameters.js +1 -1
  50. package/dist/generated/VersionInfo.js +10 -0
  51. package/dist/generated/css/BusyIndicator.css.js +5 -0
  52. package/dist/generated/css/FontFace.css.js +5 -0
  53. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  54. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  55. package/dist/i18nBundle.js +39 -5
  56. package/dist/locale/applyDirection.js +6 -4
  57. package/dist/locale/directionChange.js +32 -0
  58. package/dist/locale/getEffectiveDir.js +28 -0
  59. package/dist/locale/languageChange.js +1 -1
  60. package/dist/renderer/LitRenderer.js +39 -18
  61. package/dist/renderer/directives/style-map.js +72 -0
  62. package/dist/renderer/executeTemplate.js +19 -2
  63. package/dist/sap/base/Log.js +241 -0
  64. package/dist/sap/base/assert.js +8 -0
  65. package/dist/sap/base/security/URLListValidator.js +148 -0
  66. package/dist/sap/base/security/encodeCSS.js +14 -0
  67. package/dist/sap/base/security/encodeXML.js +23 -0
  68. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  69. package/dist/sap/base/strings/toHex.js +8 -0
  70. package/dist/sap/base/util/now.js +7 -0
  71. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  72. package/dist/theming/CustomStyle.js +25 -5
  73. package/dist/theming/applyTheme.js +11 -16
  74. package/dist/theming/getConstructableStyle.js +7 -6
  75. package/dist/theming/getEffectiveLinksHrefs.js +27 -0
  76. package/dist/theming/getEffectiveStyle.js +24 -8
  77. package/dist/theming/getStylesString.js +4 -2
  78. package/dist/theming/getThemeDesignerTheme.js +25 -5
  79. package/dist/theming/preloadLinks.js +23 -0
  80. package/dist/types/CSSColor.js +9 -0
  81. package/dist/types/DOMReference.js +24 -0
  82. package/dist/types/DataType.js +12 -0
  83. package/dist/types/Float.js +4 -0
  84. package/dist/types/Integer.js +4 -0
  85. package/dist/types/InvisibleMessageMode.js +30 -0
  86. package/dist/types/ItemNavigationBehavior.js +2 -7
  87. package/dist/updateShadowRoot.js +29 -0
  88. package/dist/util/AriaLabelHelper.js +6 -8
  89. package/dist/util/Caret.js +32 -0
  90. package/dist/util/ColorConversion.js +398 -0
  91. package/dist/util/FocusableElements.js +13 -7
  92. package/dist/util/HTMLSanitizer.js +7 -0
  93. package/dist/util/InvisibleMessage.js +69 -0
  94. package/dist/util/PopupUtils.js +93 -0
  95. package/dist/util/SlotsHelper.js +43 -0
  96. package/dist/util/TabbableElements.js +5 -1
  97. package/dist/util/arraysAreEqual.js +15 -0
  98. package/dist/util/clamp.js +12 -0
  99. package/dist/util/createLinkInHead.js +19 -0
  100. package/dist/util/debounce.js +17 -0
  101. package/dist/util/escapeRegex.js +10 -0
  102. package/dist/util/generateHighlightedMarkup.js +42 -0
  103. package/dist/util/getActiveElement.js +11 -0
  104. package/dist/util/getClassCopy.js +10 -0
  105. package/dist/util/getEffectiveContentDensity.js +5 -0
  106. package/dist/util/getEffectiveScrollbarStyle.js +5 -0
  107. package/dist/util/getNormalizedTarget.js +16 -0
  108. package/dist/util/isDefaultSlotProvided.js +11 -0
  109. package/dist/util/isElementInView.js +15 -0
  110. package/dist/util/isNodeHidden.js +1 -1
  111. package/dist/util/isNodeTabbable.js +4 -4
  112. package/hash.txt +1 -0
  113. package/index.js +1 -1
  114. package/lib/generate-asset-parameters/index.js +8 -5
  115. package/lib/generate-styles/index.js +26 -0
  116. package/lib/generate-version-info/index.js +32 -0
  117. package/package-scripts.js +37 -28
  118. package/package.json +20 -13
  119. package/src/AssetRegistry.js +8 -9
  120. package/src/Boot.js +59 -0
  121. package/src/CSP.js +59 -0
  122. package/src/CustomElementsRegistry.js +60 -4
  123. package/src/CustomElementsScope.js +20 -98
  124. package/src/CustomElementsScopeUtils.js +108 -0
  125. package/src/DOMObserver.js +65 -0
  126. package/src/Device.js +71 -773
  127. package/src/EventProvider.js +30 -26
  128. package/src/FeaturesRegistry.js +4 -1
  129. package/src/FontFace.js +7 -95
  130. package/src/InitialConfiguration.js +37 -21
  131. package/src/Keys.js +98 -0
  132. package/src/ManagedStyles.js +83 -0
  133. package/src/MediaRange.js +109 -0
  134. package/src/{util/parseProperties.js → PropertiesFileFormat.js} +6 -0
  135. package/src/Render.js +175 -0
  136. package/src/RenderScheduler.js +16 -138
  137. package/src/Runtimes.js +107 -0
  138. package/src/StaticArea.js +1 -29
  139. package/src/StaticAreaItem.js +58 -65
  140. package/src/SystemCSSVars.js +4 -25
  141. package/src/UI5Element.js +322 -387
  142. package/src/UI5ElementMetadata.js +132 -17
  143. package/src/asset-registries/Icons.js +118 -15
  144. package/src/asset-registries/Illustrations.js +30 -0
  145. package/src/asset-registries/LocaleData.js +97 -68
  146. package/src/asset-registries/Themes.js +29 -35
  147. package/src/asset-registries/i18n.js +62 -49
  148. package/src/assets-meta/IconCollectionsAlias.js +18 -0
  149. package/src/config/Icons.js +52 -0
  150. package/src/config/Language.js +18 -20
  151. package/src/config/Theme.js +25 -0
  152. package/src/css/BusyIndicator.css +80 -0
  153. package/src/css/FontFace.css +66 -0
  154. package/src/css/OverrideFontFace.css +32 -0
  155. package/src/css/SystemCSSVars.css +17 -0
  156. package/src/delegate/ItemNavigation.js +238 -201
  157. package/src/delegate/ResizeHandler.js +78 -37
  158. package/src/delegate/ScrollEnablement.js +49 -20
  159. package/src/features/F6Navigation.js +110 -0
  160. package/src/features/OpenUI5Enablement.js +119 -0
  161. package/src/features/OpenUI5Support.js +41 -6
  162. package/src/i18nBundle.js +39 -5
  163. package/src/locale/applyDirection.js +6 -4
  164. package/src/locale/directionChange.js +32 -0
  165. package/src/locale/getEffectiveDir.js +28 -0
  166. package/src/locale/languageChange.js +1 -1
  167. package/src/renderer/LitRenderer.js +39 -18
  168. package/src/renderer/directives/style-map.js +72 -0
  169. package/src/renderer/executeTemplate.js +19 -2
  170. package/src/theming/CustomStyle.js +25 -5
  171. package/src/theming/applyTheme.js +11 -16
  172. package/src/theming/getConstructableStyle.js +7 -6
  173. package/src/theming/getEffectiveLinksHrefs.js +27 -0
  174. package/src/theming/getEffectiveStyle.js +24 -8
  175. package/src/theming/getStylesString.js +4 -2
  176. package/src/theming/getThemeDesignerTheme.js +25 -5
  177. package/src/theming/preloadLinks.js +23 -0
  178. package/src/types/CSSColor.js +9 -0
  179. package/src/types/DOMReference.js +24 -0
  180. package/src/types/DataType.js +12 -0
  181. package/src/types/Float.js +4 -0
  182. package/src/types/Integer.js +4 -0
  183. package/src/types/InvisibleMessageMode.js +30 -0
  184. package/src/types/ItemNavigationBehavior.js +2 -7
  185. package/src/updateShadowRoot.js +29 -0
  186. package/src/util/AriaLabelHelper.js +6 -8
  187. package/src/util/Caret.js +32 -0
  188. package/src/util/ColorConversion.js +398 -0
  189. package/src/util/FocusableElements.js +13 -7
  190. package/src/util/HTMLSanitizer.js +7 -0
  191. package/src/util/InvisibleMessage.js +69 -0
  192. package/src/util/PopupUtils.js +93 -0
  193. package/src/util/SlotsHelper.js +43 -0
  194. package/src/util/TabbableElements.js +5 -1
  195. package/src/util/arraysAreEqual.js +15 -0
  196. package/src/util/clamp.js +12 -0
  197. package/src/util/createLinkInHead.js +19 -0
  198. package/src/util/debounce.js +17 -0
  199. package/src/util/escapeRegex.js +10 -0
  200. package/src/util/generateHighlightedMarkup.js +42 -0
  201. package/src/util/getActiveElement.js +11 -0
  202. package/src/util/getClassCopy.js +10 -0
  203. package/src/util/getEffectiveContentDensity.js +5 -0
  204. package/src/util/getEffectiveScrollbarStyle.js +5 -0
  205. package/src/util/getNormalizedTarget.js +16 -0
  206. package/src/util/isDefaultSlotProvided.js +11 -0
  207. package/src/util/isElementInView.js +15 -0
  208. package/src/util/isNodeHidden.js +1 -1
  209. package/src/util/isNodeTabbable.js +4 -4
  210. package/used-modules.txt +10 -0
  211. package/bundle.es5.js +0 -28
  212. package/config/.eslintrc.js +0 -3
  213. package/config/rollup.config.js +0 -1
  214. package/dist/SVGIconRegistry.js +0 -73
  215. package/dist/boot.js +0 -34
  216. package/dist/compatibility/DOMObserver.js +0 -62
  217. package/dist/compatibility/patchNodeValue.js +0 -24
  218. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  219. package/dist/config/AssetsPath.js +0 -17
  220. package/dist/delegate/CustomResize.js +0 -78
  221. package/dist/delegate/NativeResize.js +0 -45
  222. package/dist/features/PropertiesFormatSupport.js +0 -8
  223. package/dist/features/browsersupport/Edge.js +0 -6
  224. package/dist/features/browsersupport/IE11.js +0 -42
  225. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  226. package/dist/renderer/ifDefined.js +0 -21
  227. package/dist/renderer/scopeHTML.js +0 -32
  228. package/dist/resources/bundle.es5.js +0 -212
  229. package/dist/resources/bundle.es5.js.map +0 -1
  230. package/dist/resources/bundle.esm.js +0 -129
  231. package/dist/resources/bundle.esm.js.map +0 -1
  232. package/dist/test-resources/assets/Themes.js +0 -17
  233. package/dist/test-resources/elements/Child.js +0 -35
  234. package/dist/test-resources/elements/Generic.js +0 -84
  235. package/dist/test-resources/elements/GenericExt.js +0 -26
  236. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  237. package/dist/test-resources/elements/Parent.js +0 -37
  238. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  239. package/dist/test-resources/pages/AllTestElements.html +0 -42
  240. package/dist/test-resources/pages/Configuration.html +0 -20
  241. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  242. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  243. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  244. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  245. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  246. package/dist/test-resources/pages/i18n.html +0 -40
  247. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  248. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  249. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  250. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  251. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  252. package/dist/test-resources/specs/Theming.spec.js +0 -31
  253. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  254. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
  255. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  256. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  257. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  258. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  259. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  260. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  261. package/dist/theming/CSSVarsPonyfill.js +0 -68
  262. package/dist/theming/adaptCSSForIE.js +0 -95
  263. package/dist/theming/createComponentStyleTag.js +0 -54
  264. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  265. package/dist/thirdparty/Array.from.js +0 -16
  266. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  267. package/dist/thirdparty/Array.prototype.find.js +0 -46
  268. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  269. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  270. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  271. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  272. package/dist/thirdparty/Number.isInteger.js +0 -5
  273. package/dist/thirdparty/Number.isNaN.js +0 -1
  274. package/dist/thirdparty/Number.parseFloat.js +0 -1
  275. package/dist/thirdparty/Number.parseInt.js +0 -1
  276. package/dist/thirdparty/Object.assign.js +0 -31
  277. package/dist/thirdparty/Object.entries.js +0 -11
  278. package/dist/thirdparty/Symbol.js +0 -2
  279. package/dist/thirdparty/WeakSet.js +0 -27
  280. package/dist/thirdparty/es6-string-methods.js +0 -182
  281. package/dist/thirdparty/events-polyfills.js +0 -89
  282. package/dist/thirdparty/fetch.js +0 -1
  283. package/dist/thirdparty/template.js +0 -600
  284. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  285. package/dist/types/CalendarSelection.js +0 -17
  286. package/dist/util/EffectiveAssetPath.js +0 -27
  287. package/dist/util/encodeCSS.js +0 -24
  288. package/dist/util/findNodeOwner.js +0 -35
  289. package/dist/util/isSlot.js +0 -3
  290. package/dist/webcomponentsjs/LICENSE.md +0 -19
  291. package/dist/webcomponentsjs/README.md +0 -229
  292. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  293. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  294. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  295. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  296. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  297. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  298. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  299. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  300. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  301. package/dist/webcomponentsjs/package.json +0 -46
  302. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  303. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  304. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  305. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  306. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  307. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  308. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  309. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  310. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  311. package/src/SVGIconRegistry.js +0 -73
  312. package/src/boot.js +0 -34
  313. package/src/compatibility/DOMObserver.js +0 -62
  314. package/src/compatibility/patchNodeValue.js +0 -24
  315. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  316. package/src/config/AssetsPath.js +0 -17
  317. package/src/delegate/CustomResize.js +0 -78
  318. package/src/delegate/NativeResize.js +0 -45
  319. package/src/features/PropertiesFormatSupport.js +0 -8
  320. package/src/features/browsersupport/Edge.js +0 -6
  321. package/src/features/browsersupport/IE11.js +0 -42
  322. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  323. package/src/renderer/ifDefined.js +0 -21
  324. package/src/renderer/scopeHTML.js +0 -32
  325. package/src/theming/CSSVarsPonyfill.js +0 -68
  326. package/src/theming/adaptCSSForIE.js +0 -95
  327. package/src/theming/createComponentStyleTag.js +0 -54
  328. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  329. package/src/thirdparty/Array.from.js +0 -16
  330. package/src/thirdparty/Array.prototype.fill.js +0 -44
  331. package/src/thirdparty/Array.prototype.find.js +0 -46
  332. package/src/thirdparty/Array.prototype.includes.js +0 -51
  333. package/src/thirdparty/Element.prototype.closest.js +0 -11
  334. package/src/thirdparty/Element.prototype.matches.js +0 -6
  335. package/src/thirdparty/Map.prototype.keys.js +0 -9
  336. package/src/thirdparty/Number.isInteger.js +0 -5
  337. package/src/thirdparty/Number.isNaN.js +0 -1
  338. package/src/thirdparty/Number.parseFloat.js +0 -1
  339. package/src/thirdparty/Number.parseInt.js +0 -1
  340. package/src/thirdparty/Object.assign.js +0 -31
  341. package/src/thirdparty/Object.entries.js +0 -11
  342. package/src/thirdparty/Symbol.js +0 -2
  343. package/src/thirdparty/WeakSet.js +0 -27
  344. package/src/thirdparty/es6-string-methods.js +0 -182
  345. package/src/thirdparty/events-polyfills.js +0 -89
  346. package/src/thirdparty/fetch.js +0 -1
  347. package/src/thirdparty/template.js +0 -600
  348. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  349. package/src/types/CalendarSelection.js +0 -17
  350. package/src/util/EffectiveAssetPath.js +0 -27
  351. package/src/util/encodeCSS.js +0 -24
  352. package/src/util/findNodeOwner.js +0 -35
  353. package/src/util/isSlot.js +0 -3
@@ -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,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,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,45 +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
- NativeResize.observedObjects.delete(ref);
41
- }
42
- }
43
- }
44
-
45
- export default NativeResize;
@@ -1,8 +0,0 @@
1
- import { registerFeature } from "../FeaturesRegistry.js";
2
- import parseProperties from "../util/parseProperties.js";
3
-
4
- const PropertiesFormatSupport = {
5
- parser: parseProperties,
6
- };
7
-
8
- registerFeature("PropertiesFormatSupport", PropertiesFormatSupport);
@@ -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,42 +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.parseFloat.js";
22
- import "../../thirdparty/Number.parseInt.js";
23
-
24
- // Element
25
- import "../../thirdparty/Element.prototype.matches.js";
26
- import "../../thirdparty/Element.prototype.closest.js";
27
-
28
- // WeakSet
29
- import "../../thirdparty/WeakSet.js";
30
-
31
- // fetch
32
- import "../../thirdparty/fetch.js";
33
-
34
- // async - await
35
- import "regenerator-runtime/runtime.js";
36
-
37
- // Plus all polyfills needed for Edge are also needed for IE11
38
- import "./Edge.js";
39
-
40
- window.CSSVarsPonyfill = {
41
- cssVars,
42
- };
@@ -1,5 +0,0 @@
1
- // All web components polyfills (including platform) with "window" passed as argument to the iife
2
- import "../../thirdparty/webcomponents-sd-ce-pf.js";
3
-
4
- // All IE11 polyfills, needed by the project itself
5
- import "./IE11.js";
@@ -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;