@ui5/webcomponents-base 0.0.0-c3dd3f45d → 0.0.0-c41f1b293

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 (667) hide show
  1. package/.eslintignore +9 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +817 -0
  4. package/README.md +57 -7
  5. package/bundle.esm.js +36 -18
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/AssetRegistry.d.ts +5 -0
  8. package/dist/AssetRegistry.js +6 -9
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +71 -0
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +78 -0
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -0
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/dist/CustomElementsScopeUtils.js +90 -0
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +23 -0
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +159 -816
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -70
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +21 -69
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/IgnoreCustomElements.d.ts +27 -0
  41. package/dist/IgnoreCustomElements.js +39 -0
  42. package/dist/IgnoreCustomElements.js.map +1 -0
  43. package/dist/InitialConfiguration.d.ts +27 -0
  44. package/dist/InitialConfiguration.js +129 -103
  45. package/dist/InitialConfiguration.js.map +1 -0
  46. package/dist/Keys.d.ts +57 -0
  47. package/dist/Keys.js +175 -158
  48. package/dist/Keys.js.map +1 -0
  49. package/dist/ManagedStyles.d.ts +8 -0
  50. package/dist/ManagedStyles.js +84 -0
  51. package/dist/ManagedStyles.js.map +1 -0
  52. package/dist/MarkedEvents.d.ts +9 -0
  53. package/dist/MarkedEvents.js +15 -0
  54. package/dist/MarkedEvents.js.map +1 -0
  55. package/dist/MediaRange.d.ts +37 -0
  56. package/dist/MediaRange.js +98 -0
  57. package/dist/MediaRange.js.map +1 -0
  58. package/dist/PropertiesFileFormat.d.ts +8 -0
  59. package/dist/PropertiesFileFormat.js +85 -0
  60. package/dist/PropertiesFileFormat.js.map +1 -0
  61. package/dist/Render.d.ts +47 -0
  62. package/dist/Render.js +143 -0
  63. package/dist/Render.js.map +1 -0
  64. package/dist/RenderQueue.d.ts +19 -0
  65. package/dist/RenderQueue.js +53 -39
  66. package/dist/RenderQueue.js.map +1 -0
  67. package/dist/Runtimes.d.ts +27 -0
  68. package/dist/Runtimes.js +86 -0
  69. package/dist/Runtimes.js.map +1 -0
  70. package/dist/StaticArea.d.ts +3 -0
  71. package/dist/StaticArea.js +4 -38
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +36 -0
  74. package/dist/StaticAreaItem.js +95 -98
  75. package/dist/StaticAreaItem.js.map +1 -0
  76. package/dist/SystemCSSVars.d.ts +2 -0
  77. package/dist/SystemCSSVars.js +9 -0
  78. package/dist/SystemCSSVars.js.map +1 -0
  79. package/dist/Theming.d.ts +3 -0
  80. package/dist/Theming.js +3 -6
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +380 -0
  83. package/dist/UI5Element.js +948 -854
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -160
  87. package/dist/UI5ElementMetadata.js.map +1 -0
  88. package/dist/animations/AnimationQueue.d.ts +8 -0
  89. package/dist/animations/AnimationQueue.js +31 -38
  90. package/dist/animations/AnimationQueue.js.map +1 -0
  91. package/dist/animations/animate.d.ts +14 -0
  92. package/dist/animations/animate.js +46 -51
  93. package/dist/animations/animate.js.map +1 -0
  94. package/dist/animations/scroll.d.ts +5 -0
  95. package/dist/animations/scroll.js +18 -27
  96. package/dist/animations/scroll.js.map +1 -0
  97. package/dist/animations/slideDown.d.ts +5 -0
  98. package/dist/animations/slideDown.js +53 -78
  99. package/dist/animations/slideDown.js.map +1 -0
  100. package/dist/animations/slideUp.d.ts +5 -0
  101. package/dist/animations/slideUp.js +49 -70
  102. package/dist/animations/slideUp.js.map +1 -0
  103. package/dist/api.json +1 -0
  104. package/dist/asset-registries/Icons.d.ts +38 -0
  105. package/dist/asset-registries/Icons.js +125 -24
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +17 -0
  108. package/dist/asset-registries/Illustrations.js +46 -0
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +125 -116
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +11 -0
  114. package/dist/asset-registries/Themes.js +42 -65
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +81 -54
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/assets/Boot.18e749cb.js +9 -0
  120. package/dist/assets/Boot.34b7cea0.css +1 -0
  121. package/dist/assets/bundle.esm.179dce7c.js +50 -0
  122. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  123. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  124. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  125. package/dist/config/AnimationMode.d.ts +14 -0
  126. package/dist/config/AnimationMode.js +23 -10
  127. package/dist/config/AnimationMode.js.map +1 -0
  128. package/dist/config/CalendarType.d.ts +8 -0
  129. package/dist/config/CalendarType.js +13 -12
  130. package/dist/config/CalendarType.js.map +1 -0
  131. package/dist/config/FormatSettings.d.ts +15 -0
  132. package/dist/config/FormatSettings.js +15 -9
  133. package/dist/config/FormatSettings.js.map +1 -0
  134. package/dist/config/Icons.d.ts +55 -0
  135. package/dist/config/Icons.js +103 -0
  136. package/dist/config/Icons.js.map +1 -0
  137. package/dist/config/Language.d.ts +40 -0
  138. package/dist/config/Language.js +66 -10
  139. package/dist/config/Language.js.map +1 -0
  140. package/dist/config/NoConflict.d.ts +20 -0
  141. package/dist/config/NoConflict.js +41 -41
  142. package/dist/config/NoConflict.js.map +1 -0
  143. package/dist/config/RTL.d.ts +7 -0
  144. package/dist/config/RTL.js +26 -20
  145. package/dist/config/RTL.js.map +1 -0
  146. package/dist/config/Theme.d.ts +38 -0
  147. package/dist/config/Theme.js +64 -22
  148. package/dist/config/Theme.js.map +1 -0
  149. package/dist/config/ThemeRoot.d.ts +29 -0
  150. package/dist/config/ThemeRoot.js +59 -0
  151. package/dist/config/ThemeRoot.js.map +1 -0
  152. package/dist/config/Timezone.d.ts +17 -0
  153. package/dist/config/Timezone.js +30 -0
  154. package/dist/config/Timezone.js.map +1 -0
  155. package/dist/css/BusyIndicator.css +80 -0
  156. package/dist/css/FontFace.css +66 -0
  157. package/dist/css/OverrideFontFace.css +32 -0
  158. package/dist/css/SystemCSSVars.css +17 -0
  159. package/dist/decorators/customElement.d.ts +23 -0
  160. package/dist/decorators/customElement.js +37 -0
  161. package/dist/decorators/customElement.js.map +1 -0
  162. package/dist/decorators/event.d.ts +10 -0
  163. package/dist/decorators/event.js +24 -0
  164. package/dist/decorators/event.js.map +1 -0
  165. package/dist/decorators/property.d.ts +9 -0
  166. package/dist/decorators/property.js +24 -0
  167. package/dist/decorators/property.js.map +1 -0
  168. package/dist/decorators/slot.d.ts +9 -0
  169. package/dist/decorators/slot.js +37 -0
  170. package/dist/decorators/slot.js.map +1 -0
  171. package/dist/delegate/ItemNavigation.d.ts +113 -0
  172. package/dist/delegate/ItemNavigation.js +312 -274
  173. package/dist/delegate/ItemNavigation.js.map +1 -0
  174. package/dist/delegate/ResizeHandler.d.ts +25 -0
  175. package/dist/delegate/ResizeHandler.js +84 -63
  176. package/dist/delegate/ResizeHandler.js.map +1 -0
  177. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  178. package/dist/delegate/ScrollEnablement.js +159 -100
  179. package/dist/delegate/ScrollEnablement.js.map +1 -0
  180. package/dist/features/F6Navigation.d.ts +19 -0
  181. package/dist/features/F6Navigation.js +151 -0
  182. package/dist/features/F6Navigation.js.map +1 -0
  183. package/dist/features/LegacyDateFormats.d.ts +18 -0
  184. package/dist/features/LegacyDateFormats.js +20 -0
  185. package/dist/features/LegacyDateFormats.js.map +1 -0
  186. package/dist/features/OpenUI5Element.d.ts +9 -0
  187. package/dist/features/OpenUI5Element.js +5 -0
  188. package/dist/features/OpenUI5Element.js.map +1 -0
  189. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  190. package/dist/features/OpenUI5Enablement.js +96 -0
  191. package/dist/features/OpenUI5Enablement.js.map +1 -0
  192. package/dist/features/OpenUI5Support.d.ts +26 -0
  193. package/dist/features/OpenUI5Support.js +95 -72
  194. package/dist/features/OpenUI5Support.js.map +1 -0
  195. package/dist/generated/AssetParameters.js +15 -0
  196. package/dist/generated/VersionInfo.js +10 -0
  197. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  198. package/dist/generated/css/BusyIndicator.css.js +7 -0
  199. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  200. package/dist/generated/css/FontFace.css.d.ts +3 -0
  201. package/dist/generated/css/FontFace.css.js +7 -0
  202. package/dist/generated/css/FontFace.css.js.map +1 -0
  203. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  204. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  205. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  206. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  207. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  208. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  209. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  210. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  211. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  212. package/dist/getSharedResource.d.ts +11 -0
  213. package/dist/getSharedResource.js +40 -0
  214. package/dist/getSharedResource.js.map +1 -0
  215. package/dist/global.d.ts +40 -0
  216. package/dist/i18nBundle.d.ts +43 -0
  217. package/dist/i18nBundle.js +74 -30
  218. package/dist/i18nBundle.js.map +1 -0
  219. package/dist/locale/Locale.d.ts +22 -0
  220. package/dist/locale/Locale.js +75 -87
  221. package/dist/locale/Locale.js.map +1 -0
  222. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  223. package/dist/locale/RTLAwareRegistry.js +9 -0
  224. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  225. package/dist/locale/applyDirection.d.ts +10 -0
  226. package/dist/locale/applyDirection.js +17 -0
  227. package/dist/locale/applyDirection.js.map +1 -0
  228. package/dist/locale/directionChange.d.ts +15 -0
  229. package/dist/locale/directionChange.js +24 -0
  230. package/dist/locale/directionChange.js.map +1 -0
  231. package/dist/locale/getEffectiveDir.d.ts +2 -0
  232. package/dist/locale/getEffectiveDir.js +24 -0
  233. package/dist/locale/getEffectiveDir.js.map +1 -0
  234. package/dist/locale/getLocale.d.ts +7 -0
  235. package/dist/locale/getLocale.js +28 -21
  236. package/dist/locale/getLocale.js.map +1 -0
  237. package/dist/locale/languageChange.d.ts +5 -0
  238. package/dist/locale/languageChange.js +14 -0
  239. package/dist/locale/languageChange.js.map +1 -0
  240. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  241. package/dist/locale/nextFallbackLocale.js +16 -18
  242. package/dist/locale/nextFallbackLocale.js.map +1 -0
  243. package/dist/locale/normalizeLocale.d.ts +7 -0
  244. package/dist/locale/normalizeLocale.js +36 -41
  245. package/dist/locale/normalizeLocale.js.map +1 -0
  246. package/dist/renderer/LitRenderer.d.ts +14 -0
  247. package/dist/renderer/LitRenderer.js +38 -12
  248. package/dist/renderer/LitRenderer.js.map +1 -0
  249. package/dist/renderer/directives/style-map.js +72 -0
  250. package/dist/renderer/executeTemplate.d.ts +13 -0
  251. package/dist/renderer/executeTemplate.js +30 -0
  252. package/dist/renderer/executeTemplate.js.map +1 -0
  253. package/dist/sap/base/Log.js +240 -0
  254. package/dist/sap/base/assert.js +7 -0
  255. package/dist/sap/base/security/URLListValidator.js +159 -0
  256. package/dist/sap/base/security/encodeCSS.js +14 -0
  257. package/dist/sap/base/security/encodeXML.js +23 -0
  258. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  259. package/dist/sap/base/strings/toHex.js +8 -0
  260. package/dist/sap/base/util/now.js +7 -0
  261. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  262. package/dist/theming/CustomStyle.d.ts +6 -0
  263. package/dist/theming/CustomStyle.js +46 -17
  264. package/dist/theming/CustomStyle.js.map +1 -0
  265. package/dist/theming/ThemeLoaded.d.ts +5 -0
  266. package/dist/theming/ThemeLoaded.js +14 -0
  267. package/dist/theming/ThemeLoaded.js.map +1 -0
  268. package/dist/theming/ThemeRegistered.d.ts +4 -0
  269. package/dist/theming/ThemeRegistered.js +11 -0
  270. package/dist/theming/ThemeRegistered.js.map +1 -0
  271. package/dist/theming/applyTheme.d.ts +2 -0
  272. package/dist/theming/applyTheme.js +74 -17
  273. package/dist/theming/applyTheme.js.map +1 -0
  274. package/dist/theming/getConstructableStyle.d.ts +9 -0
  275. package/dist/theming/getConstructableStyle.js +15 -15
  276. package/dist/theming/getConstructableStyle.js.map +1 -0
  277. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  278. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  279. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  280. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  281. package/dist/theming/getEffectiveStyle.js +30 -13
  282. package/dist/theming/getEffectiveStyle.js.map +1 -0
  283. package/dist/theming/getStylesString.d.ts +3 -0
  284. package/dist/theming/getStylesString.js +11 -0
  285. package/dist/theming/getStylesString.js.map +1 -0
  286. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  287. package/dist/theming/getThemeDesignerTheme.js +80 -0
  288. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  289. package/dist/theming/preloadLinks.d.ts +3 -0
  290. package/dist/theming/preloadLinks.js +19 -0
  291. package/dist/theming/preloadLinks.js.map +1 -0
  292. package/dist/thirdparty/_merge.d.ts +2 -0
  293. package/dist/thirdparty/_merge.js +7 -4
  294. package/dist/thirdparty/_merge.js.map +1 -0
  295. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  296. package/dist/thirdparty/isPlainObject.js +11 -10
  297. package/dist/thirdparty/isPlainObject.js.map +1 -0
  298. package/dist/thirdparty/merge.d.ts +2 -0
  299. package/dist/thirdparty/merge.js +4 -8
  300. package/dist/thirdparty/merge.js.map +1 -0
  301. package/dist/types/AnimationMode.d.ts +32 -0
  302. package/dist/types/AnimationMode.js +33 -6
  303. package/dist/types/AnimationMode.js.map +1 -0
  304. package/dist/types/CSSColor.d.ts +15 -0
  305. package/dist/types/CSSColor.js +18 -0
  306. package/dist/types/CSSColor.js.map +1 -0
  307. package/dist/types/CalendarType.d.ts +37 -0
  308. package/dist/types/CalendarType.js +35 -18
  309. package/dist/types/CalendarType.js.map +1 -0
  310. package/dist/types/DOMReference.d.ts +17 -0
  311. package/dist/types/DOMReference.js +25 -0
  312. package/dist/types/DOMReference.js.map +1 -0
  313. package/dist/types/DataType.d.ts +25 -0
  314. package/dist/types/DataType.js +33 -14
  315. package/dist/types/DataType.js.map +1 -0
  316. package/dist/types/Float.d.ts +17 -0
  317. package/dist/types/Float.js +21 -0
  318. package/dist/types/Float.js.map +1 -0
  319. package/dist/types/Integer.d.ts +17 -0
  320. package/dist/types/Integer.js +17 -5
  321. package/dist/types/Integer.js.map +1 -0
  322. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  323. package/dist/types/InvisibleMessageMode.js +27 -0
  324. package/dist/types/InvisibleMessageMode.js.map +1 -0
  325. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  326. package/dist/types/ItemNavigationBehavior.js +22 -17
  327. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  328. package/dist/types/NavigationMode.d.ts +32 -0
  329. package/dist/types/NavigationMode.js +33 -5
  330. package/dist/types/NavigationMode.js.map +1 -0
  331. package/dist/types/ValueState.d.ts +42 -0
  332. package/dist/types/ValueState.js +41 -19
  333. package/dist/types/ValueState.js.map +1 -0
  334. package/dist/types.d.ts +18 -0
  335. package/dist/types.js +2 -0
  336. package/dist/types.js.map +1 -0
  337. package/dist/updateShadowRoot.d.ts +8 -0
  338. package/dist/updateShadowRoot.js +41 -0
  339. package/dist/updateShadowRoot.js.map +1 -0
  340. package/dist/util/AriaLabelHelper.d.ts +15 -0
  341. package/dist/util/AriaLabelHelper.js +171 -0
  342. package/dist/util/AriaLabelHelper.js.map +1 -0
  343. package/dist/util/Caret.d.ts +7 -0
  344. package/dist/util/Caret.js +23 -0
  345. package/dist/util/Caret.js.map +1 -0
  346. package/dist/util/ColorConversion.d.ts +30 -0
  347. package/dist/util/ColorConversion.js +337 -0
  348. package/dist/util/ColorConversion.js.map +1 -0
  349. package/dist/util/FetchHelper.d.ts +3 -0
  350. package/dist/util/FetchHelper.js +19 -25
  351. package/dist/util/FetchHelper.js.map +1 -0
  352. package/dist/util/FocusableElements.d.ts +4 -0
  353. package/dist/util/FocusableElements.js +68 -56
  354. package/dist/util/FocusableElements.js.map +1 -0
  355. package/dist/util/HTMLSanitizer.d.ts +3 -0
  356. package/dist/util/HTMLSanitizer.js +6 -0
  357. package/dist/util/HTMLSanitizer.js.map +1 -0
  358. package/dist/util/InvisibleMessage.d.ts +10 -0
  359. package/dist/util/InvisibleMessage.js +56 -0
  360. package/dist/util/InvisibleMessage.js.map +1 -0
  361. package/dist/util/PopupUtils.d.ts +7 -0
  362. package/dist/util/PopupUtils.js +74 -0
  363. package/dist/util/PopupUtils.js.map +1 -0
  364. package/dist/util/SlotsHelper.d.ts +9 -0
  365. package/dist/util/SlotsHelper.js +30 -0
  366. package/dist/util/SlotsHelper.js.map +1 -0
  367. package/dist/util/StringHelper.d.ts +3 -0
  368. package/dist/util/StringHelper.js +17 -20
  369. package/dist/util/StringHelper.js.map +1 -0
  370. package/dist/util/TabbableElements.d.ts +17 -0
  371. package/dist/util/TabbableElements.js +53 -39
  372. package/dist/util/TabbableElements.js.map +1 -0
  373. package/dist/util/arraysAreEqual.d.ts +2 -0
  374. package/dist/util/arraysAreEqual.js +13 -0
  375. package/dist/util/arraysAreEqual.js.map +1 -0
  376. package/dist/util/clamp.d.ts +9 -0
  377. package/dist/util/clamp.js +12 -0
  378. package/dist/util/clamp.js.map +1 -0
  379. package/dist/util/createLinkInHead.d.ts +7 -0
  380. package/dist/util/createLinkInHead.js +21 -0
  381. package/dist/util/createLinkInHead.js.map +1 -0
  382. package/dist/util/createStyleInHead.d.ts +8 -0
  383. package/dist/util/createStyleInHead.js +10 -10
  384. package/dist/util/createStyleInHead.js.map +1 -0
  385. package/dist/util/debounce.d.ts +2 -0
  386. package/dist/util/debounce.js +15 -0
  387. package/dist/util/debounce.js.map +1 -0
  388. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  389. package/dist/util/detectNavigatorLanguage.js +8 -9
  390. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  391. package/dist/util/escapeRegex.d.ts +8 -0
  392. package/dist/util/escapeRegex.js +11 -0
  393. package/dist/util/escapeRegex.js.map +1 -0
  394. package/dist/util/formatMessage.d.ts +2 -0
  395. package/dist/util/formatMessage.js +15 -19
  396. package/dist/util/formatMessage.js.map +1 -0
  397. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  398. package/dist/util/generateHighlightedMarkup.js +41 -0
  399. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  400. package/dist/util/getActiveElement.d.ts +2 -0
  401. package/dist/util/getActiveElement.js +9 -0
  402. package/dist/util/getActiveElement.js.map +1 -0
  403. package/dist/util/getClassCopy.d.ts +400 -0
  404. package/dist/util/getClassCopy.js +10 -0
  405. package/dist/util/getClassCopy.js.map +1 -0
  406. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  407. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  408. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  409. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  410. package/dist/util/getEffectiveContentDensity.js +4 -0
  411. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  412. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  413. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  414. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  415. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  416. package/dist/util/getFastNavigationGroups.js +51 -0
  417. package/dist/util/getFastNavigationGroups.js.map +1 -0
  418. package/dist/util/getFileExtension.d.ts +12 -0
  419. package/dist/util/getFileExtension.js +19 -0
  420. package/dist/util/getFileExtension.js.map +1 -0
  421. package/dist/util/getNormalizedTarget.d.ts +7 -0
  422. package/dist/util/getNormalizedTarget.js +14 -0
  423. package/dist/util/getNormalizedTarget.js.map +1 -0
  424. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  425. package/dist/util/getSingletonElementInstance.js +19 -0
  426. package/dist/util/getSingletonElementInstance.js.map +1 -0
  427. package/dist/util/isElementClickable.d.ts +2 -0
  428. package/dist/util/isElementClickable.js +16 -0
  429. package/dist/util/isElementClickable.js.map +1 -0
  430. package/dist/util/isElementHidden.d.ts +2 -0
  431. package/dist/util/isElementHidden.js +8 -0
  432. package/dist/util/isElementHidden.js.map +1 -0
  433. package/dist/util/isElementInView.d.ts +6 -0
  434. package/dist/util/isElementInView.js +12 -0
  435. package/dist/util/isElementInView.js.map +1 -0
  436. package/dist/util/isElementTabbable.d.ts +9 -0
  437. package/dist/util/isElementTabbable.js +30 -0
  438. package/dist/util/isElementTabbable.js.map +1 -0
  439. package/dist/util/isValidPropertyName.d.ts +8 -0
  440. package/dist/util/isValidPropertyName.js +20 -12
  441. package/dist/util/isValidPropertyName.js.map +1 -0
  442. package/dist/util/whenDOMReady.d.ts +2 -0
  443. package/dist/util/whenDOMReady.js +11 -10
  444. package/dist/util/whenDOMReady.js.map +1 -0
  445. package/dist/util/willShowContent.d.ts +2 -0
  446. package/dist/util/willShowContent.js +7 -0
  447. package/dist/util/willShowContent.js.map +1 -0
  448. package/dist/validateThemeRoot.d.ts +2 -0
  449. package/dist/validateThemeRoot.js +48 -0
  450. package/dist/validateThemeRoot.js.map +1 -0
  451. package/index.js +228 -2
  452. package/lib/generate-asset-parameters/index.js +27 -0
  453. package/lib/generate-styles/index.js +31 -0
  454. package/lib/generate-version-info/index.js +32 -0
  455. package/package-scripts.cjs +71 -0
  456. package/package.json +21 -12
  457. package/src/css/BusyIndicator.css +80 -0
  458. package/src/css/FontFace.css +66 -0
  459. package/src/css/OverrideFontFace.css +32 -0
  460. package/src/css/SystemCSSVars.css +17 -0
  461. package/src/renderer/directives/style-map.js +72 -0
  462. package/tsconfig.json +14 -0
  463. package/used-modules.txt +10 -0
  464. package/bundle.es5.js +0 -28
  465. package/config/rollup.config.js +0 -1
  466. package/config/wdio.conf.js +0 -1
  467. package/dist/RenderScheduler.js +0 -165
  468. package/dist/SVGIconRegistry.js +0 -60
  469. package/dist/animations/config.js +0 -5
  470. package/dist/boot.js +0 -32
  471. package/dist/compatibility/DOMObserver.js +0 -62
  472. package/dist/compatibility/patchNodeValue.js +0 -24
  473. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  474. package/dist/delegate/CustomResize.js +0 -78
  475. package/dist/delegate/NativeResize.js +0 -44
  476. package/dist/features/browsersupport/Edge.js +0 -6
  477. package/dist/features/browsersupport/IE11.js +0 -41
  478. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  479. package/dist/renderer/ifDefined.js +0 -21
  480. package/dist/resources/bundle.es5.js +0 -212
  481. package/dist/resources/bundle.es5.js.map +0 -1
  482. package/dist/resources/bundle.esm.js +0 -129
  483. package/dist/resources/bundle.esm.js.map +0 -1
  484. package/dist/test-resources/assets/Themes.js +0 -13
  485. package/dist/test-resources/dev-helpers/ExternalThemePresent.js +0 -3
  486. package/dist/test-resources/elements/Child.js +0 -35
  487. package/dist/test-resources/elements/Generic.js +0 -84
  488. package/dist/test-resources/elements/GenericExt.js +0 -26
  489. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  490. package/dist/test-resources/elements/Parent.js +0 -37
  491. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  492. package/dist/test-resources/pages/AllTestElements.html +0 -42
  493. package/dist/test-resources/pages/Configuration.html +0 -20
  494. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  495. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  496. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  497. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  498. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  499. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  500. package/dist/test-resources/specs/Theming.spec.js +0 -31
  501. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  502. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  503. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  504. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  505. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  506. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  507. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  508. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  509. package/dist/theming/CSSVarsPonyfill.js +0 -25
  510. package/dist/theming/ExternalThemePresent.js +0 -12
  511. package/dist/theming/adaptCSSForIE.js +0 -90
  512. package/dist/theming/createComponentStyleTag.js +0 -32
  513. package/dist/theming/createThemePropertiesStyleTag.js +0 -27
  514. package/dist/thirdparty/Array.from.js +0 -16
  515. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  516. package/dist/thirdparty/Array.prototype.find.js +0 -46
  517. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  518. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  519. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  520. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  521. package/dist/thirdparty/Number.isInteger.js +0 -5
  522. package/dist/thirdparty/Number.isNaN.js +0 -1
  523. package/dist/thirdparty/Number.parseInt.js +0 -1
  524. package/dist/thirdparty/Object.assign.js +0 -31
  525. package/dist/thirdparty/Object.entries.js +0 -11
  526. package/dist/thirdparty/Symbol.js +0 -2
  527. package/dist/thirdparty/WeakSet.js +0 -27
  528. package/dist/thirdparty/es6-string-methods.js +0 -182
  529. package/dist/thirdparty/events-polyfills.js +0 -89
  530. package/dist/thirdparty/fetch.js +0 -1
  531. package/dist/thirdparty/template.js +0 -600
  532. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  533. package/dist/types/CSSSize.js +0 -9
  534. package/dist/types/PopupState.js +0 -37
  535. package/dist/util/isDescendantOf.js +0 -15
  536. package/dist/util/isNodeClickable.js +0 -19
  537. package/dist/util/isNodeHidden.js +0 -13
  538. package/dist/util/isNodeTabbable.js +0 -28
  539. package/dist/webcomponentsjs/LICENSE.md +0 -19
  540. package/dist/webcomponentsjs/README.md +0 -229
  541. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  542. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  543. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  544. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  545. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  546. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  547. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  548. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  549. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  550. package/dist/webcomponentsjs/package.json +0 -46
  551. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  552. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  553. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  554. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  555. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  556. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  557. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  558. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  559. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  560. package/package-scripts.js +0 -41
  561. package/src/AssetRegistry.js +0 -9
  562. package/src/Device.js +0 -823
  563. package/src/EventProvider.js +0 -73
  564. package/src/FeaturesRegistry.js +0 -11
  565. package/src/FontFace.js +0 -73
  566. package/src/InitialConfiguration.js +0 -130
  567. package/src/Keys.js +0 -161
  568. package/src/RenderQueue.js +0 -42
  569. package/src/RenderScheduler.js +0 -165
  570. package/src/SVGIconRegistry.js +0 -60
  571. package/src/StaticArea.js +0 -41
  572. package/src/StaticAreaItem.js +0 -105
  573. package/src/Theming.js +0 -7
  574. package/src/UI5Element.js +0 -874
  575. package/src/UI5ElementMetadata.js +0 -173
  576. package/src/animations/AnimationQueue.js +0 -42
  577. package/src/animations/animate.js +0 -53
  578. package/src/animations/config.js +0 -5
  579. package/src/animations/scroll.js +0 -28
  580. package/src/animations/slideDown.js +0 -79
  581. package/src/animations/slideUp.js +0 -71
  582. package/src/asset-registries/Icons.js +0 -24
  583. package/src/asset-registries/LocaleData.js +0 -127
  584. package/src/asset-registries/Themes.js +0 -75
  585. package/src/asset-registries/i18n.js +0 -74
  586. package/src/boot.js +0 -32
  587. package/src/compatibility/DOMObserver.js +0 -62
  588. package/src/compatibility/patchNodeValue.js +0 -24
  589. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  590. package/src/config/AnimationMode.js +0 -13
  591. package/src/config/CalendarType.js +0 -18
  592. package/src/config/FormatSettings.js +0 -13
  593. package/src/config/Language.js +0 -12
  594. package/src/config/NoConflict.js +0 -51
  595. package/src/config/RTL.js +0 -31
  596. package/src/config/Theme.js +0 -28
  597. package/src/delegate/CustomResize.js +0 -78
  598. package/src/delegate/ItemNavigation.js +0 -278
  599. package/src/delegate/NativeResize.js +0 -44
  600. package/src/delegate/ResizeHandler.js +0 -66
  601. package/src/delegate/ScrollEnablement.js +0 -106
  602. package/src/features/OpenUI5Support.js +0 -76
  603. package/src/features/browsersupport/Edge.js +0 -6
  604. package/src/features/browsersupport/IE11.js +0 -41
  605. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  606. package/src/i18nBundle.js +0 -35
  607. package/src/locale/Locale.js +0 -91
  608. package/src/locale/getLocale.js +0 -31
  609. package/src/locale/nextFallbackLocale.js +0 -26
  610. package/src/locale/normalizeLocale.js +0 -52
  611. package/src/renderer/LitRenderer.js +0 -15
  612. package/src/renderer/ifDefined.js +0 -21
  613. package/src/theming/CSSVarsPonyfill.js +0 -25
  614. package/src/theming/CustomStyle.js +0 -19
  615. package/src/theming/ExternalThemePresent.js +0 -12
  616. package/src/theming/adaptCSSForIE.js +0 -90
  617. package/src/theming/applyTheme.js +0 -19
  618. package/src/theming/createComponentStyleTag.js +0 -32
  619. package/src/theming/createThemePropertiesStyleTag.js +0 -27
  620. package/src/theming/getConstructableStyle.js +0 -25
  621. package/src/theming/getEffectiveStyle.js +0 -15
  622. package/src/thirdparty/Array.from.js +0 -16
  623. package/src/thirdparty/Array.prototype.fill.js +0 -44
  624. package/src/thirdparty/Array.prototype.find.js +0 -46
  625. package/src/thirdparty/Array.prototype.includes.js +0 -51
  626. package/src/thirdparty/Element.prototype.closest.js +0 -11
  627. package/src/thirdparty/Element.prototype.matches.js +0 -6
  628. package/src/thirdparty/Map.prototype.keys.js +0 -9
  629. package/src/thirdparty/Number.isInteger.js +0 -5
  630. package/src/thirdparty/Number.isNaN.js +0 -1
  631. package/src/thirdparty/Number.parseInt.js +0 -1
  632. package/src/thirdparty/Object.assign.js +0 -31
  633. package/src/thirdparty/Object.entries.js +0 -11
  634. package/src/thirdparty/Symbol.js +0 -2
  635. package/src/thirdparty/WeakSet.js +0 -27
  636. package/src/thirdparty/_merge.js +0 -32
  637. package/src/thirdparty/es6-string-methods.js +0 -182
  638. package/src/thirdparty/events-polyfills.js +0 -89
  639. package/src/thirdparty/fetch.js +0 -1
  640. package/src/thirdparty/isPlainObject.js +0 -18
  641. package/src/thirdparty/merge.js +0 -10
  642. package/src/thirdparty/template.js +0 -600
  643. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  644. package/src/types/AnimationMode.js +0 -7
  645. package/src/types/CSSSize.js +0 -9
  646. package/src/types/CalendarType.js +0 -22
  647. package/src/types/DataType.js +0 -25
  648. package/src/types/Integer.js +0 -9
  649. package/src/types/ItemNavigationBehavior.js +0 -21
  650. package/src/types/NavigationMode.js +0 -6
  651. package/src/types/PopupState.js +0 -37
  652. package/src/types/ValueState.js +0 -22
  653. package/src/util/FetchHelper.js +0 -31
  654. package/src/util/FocusableElements.js +0 -60
  655. package/src/util/StringHelper.js +0 -26
  656. package/src/util/TabbableElements.js +0 -43
  657. package/src/util/createStyleInHead.js +0 -18
  658. package/src/util/detectNavigatorLanguage.js +0 -11
  659. package/src/util/formatMessage.js +0 -23
  660. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  661. package/src/util/isDescendantOf.js +0 -15
  662. package/src/util/isNodeClickable.js +0 -19
  663. package/src/util/isNodeHidden.js +0 -13
  664. package/src/util/isNodeTabbable.js +0 -28
  665. package/src/util/isValidPropertyName.js +0 -20
  666. package/src/util/whenDOMReady.js +0 -13
  667. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2018 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+
7
+ /**
8
+ * This is the original style-map.js directive from lit-html 2 with the only difference that "render" is not called even for the first rendering (update is used instead)
9
+ */
10
+
11
+ import { noChange } from 'lit-html';
12
+ import { directive, Directive, PartType, } from 'lit-html/directive.js';
13
+ class StyleMapDirective extends Directive {
14
+ constructor(partInfo) {
15
+ var _a;
16
+ super(partInfo);
17
+ if (partInfo.type !== PartType.ATTRIBUTE ||
18
+ partInfo.name !== 'style' ||
19
+ ((_a = partInfo.strings) === null || _a === void 0 ? void 0 : _a.length) > 2) {
20
+ throw new Error('The `styleMap` directive must be used in the `style` attribute ' +
21
+ 'and must be the only part in the attribute.');
22
+ }
23
+ }
24
+ render(styleInfo) {
25
+ return "";
26
+ }
27
+ update(part, [styleInfo]) {
28
+ const { style } = part.element;
29
+ if (this._previousStyleProperties === undefined) {
30
+ this._previousStyleProperties = new Set();
31
+ for (const name in styleInfo) {
32
+ this._previousStyleProperties.add(name);
33
+ }
34
+ // return this.render(styleInfo);
35
+ }
36
+ // Remove old properties that no longer exist in styleInfo
37
+ // We use forEach() instead of for-of so that re don't require down-level
38
+ // iteration.
39
+ this._previousStyleProperties.forEach((name) => {
40
+ // If the name isn't in styleInfo or it's null/undefined
41
+ if (styleInfo[name] == null) {
42
+ this._previousStyleProperties.delete(name);
43
+ if (name.includes('-')) {
44
+ style.removeProperty(name);
45
+ }
46
+ else {
47
+ // Note reset using empty string (vs null) as IE11 does not always
48
+ // reset via null (https://developer.mozilla.org/en-US/docs/Web/API/ElementCSSInlineStyle/style#setting_styles)
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ style[name] = '';
51
+ }
52
+ }
53
+ });
54
+ // Add or update properties
55
+ for (const name in styleInfo) {
56
+ const value = styleInfo[name];
57
+ if (value != null) {
58
+ this._previousStyleProperties.add(name);
59
+ if (name.includes('-')) {
60
+ style.setProperty(name, value);
61
+ }
62
+ else {
63
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
64
+ style[name] = value;
65
+ }
66
+ }
67
+ }
68
+ return noChange;
69
+ }
70
+ }
71
+
72
+ export const styleMap = directive(StyleMapDirective);
package/tsconfig.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "include": ["src/**/*", "src/global.d.ts"],
3
+ "compilerOptions": {
4
+ "target": "ES2021",
5
+ // Generate d.ts files
6
+ "declaration": true,
7
+ "outDir": "dist",
8
+ "skipLibCheck": true,
9
+ "sourceMap": true,
10
+ "inlineSources": true,
11
+ "strict": true,
12
+ "moduleResolution": "node",
13
+ },
14
+ }
@@ -0,0 +1,10 @@
1
+ # Needed files from OpenUI5
2
+
3
+ sap/base/util/now.js
4
+ sap/base/Log.js
5
+ sap/base/assert.js
6
+ sap/base/security/URLListValidator.js
7
+ sap/base/security/sanitizeHTML.js
8
+ sap/base/strings/toHex.js
9
+ sap/base/security/encodeXML.js
10
+ sap/base/security/encodeCSS.js
package/bundle.es5.js DELETED
@@ -1,28 +0,0 @@
1
- // ES5 bundle targets IE11 only
2
- import "./dist/features/browsersupport/IE11.js";
3
-
4
- import "./bundle.esm.js";
5
-
6
- import { getAnimationMode } from "./dist/config/AnimationMode.js";
7
- import { getLanguage } from "./dist/config/Language.js";
8
- import { getCalendarType } from "./dist/config/CalendarType.js";
9
- import { getTheme, setTheme } from "./dist/config/Theme.js";
10
- import { getNoConflict, setNoConflict } from "./dist/config/NoConflict.js";
11
- import { getRTL } from "./dist/config/RTL.js";
12
- import { getFirstDayOfWeek } from "./dist/config/FormatSettings.js";
13
- import { getRegisteredNames as getIconNames } from "./dist/SVGIconRegistry.js"
14
- const configuration = {
15
- getAnimationMode,
16
- getLanguage,
17
- getTheme,
18
- setTheme,
19
- getNoConflict,
20
- setNoConflict,
21
- getCalendarType,
22
- getRTL,
23
- getFirstDayOfWeek,
24
- };
25
- export {
26
- configuration,
27
- getIconNames,
28
- };
@@ -1 +0,0 @@
1
- module.exports = require("@ui5/webcomponents-tools/components-package/rollup.js");
@@ -1 +0,0 @@
1
- module.exports = require("@ui5/webcomponents-tools/components-package/wdio.js");
@@ -1,165 +0,0 @@
1
- import RenderQueue from "./RenderQueue.js";
2
-
3
- const MAX_RERENDER_COUNT = 10;
4
-
5
- // Tells whether a render task is currently scheduled
6
- let renderTaskId;
7
-
8
- // Queue for invalidated web components
9
- const invalidatedWebComponents = new RenderQueue();
10
-
11
- let renderTaskPromise,
12
- renderTaskPromiseResolve,
13
- taskResult;
14
-
15
- let mutationObserverTimer;
16
-
17
- /**
18
- * Class that manages the rendering/re-rendering of web components
19
- * This is always asynchronous
20
- */
21
- class RenderScheduler {
22
- constructor() {
23
- throw new Error("Static class");
24
- }
25
-
26
- /**
27
- * Queues a web component for re-rendering
28
- * @param webComponent
29
- */
30
- static renderDeferred(webComponent) {
31
- // Enqueue the web component
32
- const res = invalidatedWebComponents.add(webComponent);
33
-
34
- // Schedule a rendering task
35
- RenderScheduler.scheduleRenderTask();
36
- return res;
37
- }
38
-
39
- static renderImmediately(webComponent) {
40
- // Enqueue the web component
41
- const res = invalidatedWebComponents.add(webComponent);
42
-
43
- // Immediately start a render task
44
- RenderScheduler.runRenderTask();
45
- return res;
46
- }
47
-
48
- /**
49
- * Schedules a rendering task, if not scheduled already
50
- */
51
- static scheduleRenderTask() {
52
- if (!renderTaskId) {
53
- // renderTaskId = window.setTimeout(RenderScheduler.renderWebComponents, 3000); // Task
54
- // renderTaskId = Promise.resolve().then(RenderScheduler.renderWebComponents); // Micro task
55
- renderTaskId = window.requestAnimationFrame(RenderScheduler.renderWebComponents); // AF
56
- }
57
- }
58
-
59
- static runRenderTask() {
60
- if (!renderTaskId) {
61
- renderTaskId = 1; // prevent another rendering task from being scheduled, all web components should use this task
62
- RenderScheduler.renderWebComponents();
63
- }
64
- }
65
-
66
- static renderWebComponents() {
67
- // console.log("------------- NEW RENDER TASK ---------------");
68
-
69
- let webComponentInfo,
70
- webComponent,
71
- promise;
72
- const renderStats = new Map();
73
- while (webComponentInfo = invalidatedWebComponents.shift()) { // eslint-disable-line
74
- webComponent = webComponentInfo.webComponent;
75
- promise = webComponentInfo.promise;
76
-
77
- const timesRerendered = renderStats.get(webComponent) || 0;
78
- if (timesRerendered > MAX_RERENDER_COUNT) {
79
- // console.warn("WARNING RERENDER", webComponent);
80
- throw new Error(`Web component re-rendered too many times this task, max allowed is: ${MAX_RERENDER_COUNT}`);
81
- }
82
- webComponent._render();
83
- promise._deferredResolve();
84
- renderStats.set(webComponent, timesRerendered + 1);
85
- }
86
-
87
- // wait for Mutation observer just in case
88
- if (!mutationObserverTimer) {
89
- mutationObserverTimer = setTimeout(() => {
90
- mutationObserverTimer = undefined;
91
- if (invalidatedWebComponents.getList().length === 0) {
92
- RenderScheduler._resolveTaskPromise();
93
- }
94
- }, 200);
95
- }
96
-
97
- renderTaskId = undefined;
98
- }
99
-
100
- /**
101
- * return a promise that will be resolved once all invalidated web components are rendered
102
- */
103
- static whenDOMUpdated() {
104
- if (renderTaskPromise) {
105
- return renderTaskPromise;
106
- }
107
-
108
- renderTaskPromise = new Promise(resolve => {
109
- renderTaskPromiseResolve = resolve;
110
- window.requestAnimationFrame(() => {
111
- if (invalidatedWebComponents.getList().length === 0) {
112
- renderTaskPromise = undefined;
113
- resolve();
114
- }
115
- });
116
- });
117
-
118
- return renderTaskPromise;
119
- }
120
-
121
- static getNotDefinedComponents() {
122
- return Array.from(document.querySelectorAll("*")).filter(el => el.localName.startsWith("ui5-") && !el.isUI5Element);
123
- }
124
-
125
- /**
126
- * return a promise that will be resolved once all ui5 webcomponents on the page have their shadow root ready
127
- */
128
- static async whenShadowDOMReady() {
129
- const undefinedElements = this.getNotDefinedComponents();
130
-
131
- const definedPromises = undefinedElements.map(
132
- el => customElements.whenDefined(el.localName)
133
- );
134
- const timeoutPromise = new Promise(resolve => setTimeout(resolve, 5000));
135
-
136
- await Promise.race([Promise.all(definedPromises), timeoutPromise]);
137
- const stillUndefined = this.getNotDefinedComponents();
138
- if (stillUndefined.length) {
139
- // eslint-disable-next-line
140
- console.warn("undefined elements after 5 seconds are: " + [...stillUndefined].map(el => el.localName).join(" ; "));
141
- }
142
-
143
- return Promise.resolve();
144
- }
145
-
146
- static async whenFinished() {
147
- await RenderScheduler.whenShadowDOMReady();
148
- await RenderScheduler.whenDOMUpdated();
149
- }
150
-
151
- static _resolveTaskPromise() {
152
- if (invalidatedWebComponents.getList().length > 0) {
153
- // More updates are pending. Resolve will be called again
154
- return;
155
- }
156
-
157
- if (renderTaskPromiseResolve) {
158
- renderTaskPromiseResolve.call(this, taskResult);
159
- renderTaskPromiseResolve = undefined;
160
- renderTaskPromise = undefined;
161
- }
162
- }
163
- }
164
-
165
- export default RenderScheduler;
@@ -1,60 +0,0 @@
1
- const registry = new Map();
2
- const iconCollectionPromises = new Map();
3
-
4
- const ICON_NOT_FOUND = "ICON_NOT_FOUND";
5
- const DEFAULT_COLLECTION = "SAP-icons";
6
-
7
- const calcKey = (name, collection) => {
8
- // silently support ui5-compatible URIs
9
- if (name.startsWith("sap-icon://")) {
10
- name = name.replace("sap-icon://", "");
11
- [name, collection] = name.split("/").reverse();
12
- }
13
- collection = collection || DEFAULT_COLLECTION;
14
- return `${collection}:${name}`;
15
- };
16
-
17
- const registerIcon = (name, { pathData, accData, collection } = {}) => {
18
- const key = calcKey(name, collection);
19
- registry.set(key, { pathData, accData });
20
- };
21
-
22
- const getIconDataSync = (name, collection = DEFAULT_COLLECTION) => {
23
- const key = calcKey(name, collection);
24
- return registry.get(key);
25
- };
26
-
27
- const getIconData = async (name, collection = DEFAULT_COLLECTION) => {
28
- const key = calcKey(name, collection);
29
-
30
- if (!iconCollectionPromises.has(collection)) {
31
- iconCollectionPromises.set(collection, Promise.resolve(ICON_NOT_FOUND));
32
- }
33
-
34
- const iconData = await iconCollectionPromises.get(collection);
35
-
36
- if (iconData === ICON_NOT_FOUND) {
37
- return iconData;
38
- }
39
-
40
- return registry.get(key);
41
- };
42
-
43
- const getRegisteredNames = async () => {
44
- if (iconCollectionPromises.has(DEFAULT_COLLECTION)) {
45
- await iconCollectionPromises.get(DEFAULT_COLLECTION);
46
- }
47
- return Array.from(registry.keys()).map(k => k.split(":")[1]);
48
- };
49
-
50
- const registerCollectionPromise = (collection, promise) => {
51
- iconCollectionPromises.set(collection, promise);
52
- };
53
-
54
- export {
55
- getIconData,
56
- getIconDataSync,
57
- registerIcon,
58
- getRegisteredNames,
59
- registerCollectionPromise,
60
- };
@@ -1,5 +0,0 @@
1
- export default {
2
- defaultDuration: 400,
3
- element: document.createElement("DIV"),
4
- identity: () => {},
5
- };
package/dist/boot.js DELETED
@@ -1,32 +0,0 @@
1
- import whenDOMReady from "./util/whenDOMReady.js";
2
- import insertFontFace from "./FontFace.js";
3
- import { getTheme } from "./config/Theme.js";
4
- import applyTheme from "./theming/applyTheme.js";
5
- import whenPolyfillLoaded from "./compatibility/whenPolyfillLoaded.js";
6
- import { getFeature } from "./FeaturesRegistry.js";
7
-
8
- let bootPromise;
9
- const OpenUI5Support = getFeature("OpenUI5Support");
10
-
11
- const boot = () => {
12
- if (bootPromise) {
13
- return bootPromise;
14
- }
15
-
16
- bootPromise = new Promise(async resolve => {
17
- if (OpenUI5Support) {
18
- await OpenUI5Support.init();
19
- }
20
-
21
- await whenDOMReady();
22
- await applyTheme(getTheme());
23
- OpenUI5Support && OpenUI5Support.attachListeners();
24
- insertFontFace();
25
- await whenPolyfillLoaded();
26
- resolve();
27
- });
28
-
29
- return bootPromise;
30
- };
31
-
32
- export default boot;
@@ -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,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";