@ui5/webcomponents-base 0.0.0-701b14e36 → 0.0.0-760fbb471

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 (601) hide show
  1. package/.eslintignore +2 -0
  2. package/CHANGELOG.md +265 -0
  3. package/README.md +28 -6
  4. package/bundle.esm.js +15 -11
  5. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  6. package/dist/AssetRegistry.js +2 -7
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +9 -0
  9. package/dist/Boot.js +56 -44
  10. package/dist/Boot.js.map +1 -0
  11. package/{src/CSP.js → dist/CSP.d.ts} +8 -37
  12. package/dist/CSP.js +16 -24
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +66 -83
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +10 -29
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +34 -52
  22. package/dist/CustomElementsScopeUtils.js.map +1 -0
  23. package/dist/DOMObserver.d.ts +11 -0
  24. package/dist/DOMObserver.js +12 -54
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +12 -0
  27. package/dist/Device.js +145 -100
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -82
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -10
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +14 -19
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +112 -131
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +174 -291
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +62 -68
  46. package/dist/ManagedStyles.js.map +1 -0
  47. package/dist/MarkedEvents.d.ts +9 -0
  48. package/dist/MarkedEvents.js +15 -0
  49. package/dist/MarkedEvents.js.map +1 -0
  50. package/dist/MediaRange.d.ts +37 -0
  51. package/dist/MediaRange.js +54 -65
  52. package/dist/MediaRange.js.map +1 -0
  53. package/dist/PropertiesFileFormat.d.ts +8 -0
  54. package/dist/PropertiesFileFormat.js +72 -82
  55. package/dist/PropertiesFileFormat.js.map +1 -0
  56. package/dist/Render.d.ts +47 -0
  57. package/dist/Render.js +81 -113
  58. package/dist/Render.js.map +1 -0
  59. package/dist/RenderQueue.d.ts +19 -0
  60. package/dist/RenderQueue.js +52 -62
  61. package/dist/RenderQueue.js.map +1 -0
  62. package/dist/Runtimes.d.ts +27 -0
  63. package/dist/Runtimes.js +49 -70
  64. package/dist/Runtimes.js.map +1 -0
  65. package/dist/StaticArea.d.ts +0 -0
  66. package/dist/StaticArea.js +4 -1
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +84 -86
  70. package/dist/StaticAreaItem.js.map +1 -0
  71. package/dist/SystemCSSVars.d.ts +2 -0
  72. package/dist/SystemCSSVars.js +4 -5
  73. package/dist/SystemCSSVars.js.map +1 -0
  74. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  75. package/dist/Theming.js +1 -1
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +378 -0
  78. package/dist/UI5Element.js +917 -995
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +277 -313
  82. package/dist/UI5ElementMetadata.js.map +1 -0
  83. package/dist/animations/AnimationQueue.d.ts +8 -0
  84. package/dist/animations/AnimationQueue.js +31 -38
  85. package/dist/animations/AnimationQueue.js.map +1 -0
  86. package/dist/animations/animate.d.ts +14 -0
  87. package/dist/animations/animate.js +46 -51
  88. package/dist/animations/animate.js.map +1 -0
  89. package/dist/animations/scroll.d.ts +5 -0
  90. package/dist/animations/scroll.js +18 -27
  91. package/dist/animations/scroll.js.map +1 -0
  92. package/dist/animations/slideDown.d.ts +5 -0
  93. package/dist/animations/slideDown.js +53 -78
  94. package/dist/animations/slideDown.js.map +1 -0
  95. package/dist/animations/slideUp.d.ts +5 -0
  96. package/dist/animations/slideUp.js +49 -70
  97. package/dist/animations/slideUp.js.map +1 -0
  98. package/dist/api.json +1 -0
  99. package/dist/asset-registries/Icons.d.ts +30 -0
  100. package/dist/asset-registries/Icons.js +88 -119
  101. package/dist/asset-registries/Icons.js.map +1 -0
  102. package/dist/asset-registries/Illustrations.d.ts +17 -0
  103. package/dist/asset-registries/Illustrations.js +41 -25
  104. package/dist/asset-registries/Illustrations.js.map +1 -0
  105. package/dist/asset-registries/LocaleData.d.ts +7 -0
  106. package/dist/asset-registries/LocaleData.js +104 -132
  107. package/dist/asset-registries/LocaleData.js.map +1 -0
  108. package/dist/asset-registries/Themes.d.ts +11 -0
  109. package/dist/asset-registries/Themes.js +38 -68
  110. package/dist/asset-registries/Themes.js.map +1 -0
  111. package/dist/asset-registries/i18n.d.ts +23 -0
  112. package/dist/asset-registries/i18n.js +61 -81
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/Boot.34b7cea0.css +1 -0
  115. package/dist/assets/Boot.412e1d69.js +9 -0
  116. package/dist/assets/bundle.esm.189c8cd6.js +52 -0
  117. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  118. package/dist/assets-meta/IconCollectionsAlias.js +30 -10
  119. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  120. package/dist/config/AnimationMode.d.ts +14 -0
  121. package/dist/config/AnimationMode.js +21 -18
  122. package/dist/config/AnimationMode.js.map +1 -0
  123. package/dist/config/CalendarType.d.ts +8 -0
  124. package/dist/config/CalendarType.js +13 -12
  125. package/dist/config/CalendarType.js.map +1 -0
  126. package/dist/config/FormatSettings.d.ts +15 -0
  127. package/dist/config/FormatSettings.js +15 -9
  128. package/dist/config/FormatSettings.js.map +1 -0
  129. package/dist/config/Icons.d.ts +55 -0
  130. package/dist/config/Icons.js +88 -37
  131. package/dist/config/Icons.js.map +1 -0
  132. package/dist/config/Language.d.ts +40 -0
  133. package/dist/config/Language.js +43 -43
  134. package/dist/config/Language.js.map +1 -0
  135. package/dist/config/NoConflict.d.ts +20 -0
  136. package/dist/config/NoConflict.js +40 -41
  137. package/dist/config/NoConflict.js.map +1 -0
  138. package/dist/config/RTL.d.ts +7 -0
  139. package/dist/config/RTL.js +26 -20
  140. package/dist/config/RTL.js.map +1 -0
  141. package/dist/config/Theme.d.ts +37 -0
  142. package/dist/config/Theme.js +46 -36
  143. package/dist/config/Theme.js.map +1 -0
  144. package/dist/config/ThemeRoots.d.ts +4 -0
  145. package/dist/config/ThemeRoots.js +28 -0
  146. package/dist/config/ThemeRoots.js.map +1 -0
  147. package/dist/css/BusyIndicator.css +4 -0
  148. package/dist/css/FontFace.css +9 -18
  149. package/dist/decorators/customElement.d.ts +23 -0
  150. package/dist/decorators/customElement.js +31 -0
  151. package/dist/decorators/customElement.js.map +1 -0
  152. package/dist/decorators/event.d.ts +10 -0
  153. package/dist/decorators/event.js +24 -0
  154. package/dist/decorators/event.js.map +1 -0
  155. package/dist/decorators/property.d.ts +9 -0
  156. package/dist/decorators/property.js +24 -0
  157. package/dist/decorators/property.js.map +1 -0
  158. package/dist/decorators/slot.d.ts +9 -0
  159. package/dist/decorators/slot.js +37 -0
  160. package/dist/decorators/slot.js.map +1 -0
  161. package/dist/delegate/ItemNavigation.d.ts +113 -0
  162. package/dist/delegate/ItemNavigation.js +277 -312
  163. package/dist/delegate/ItemNavigation.js.map +1 -0
  164. package/dist/delegate/ResizeHandler.d.ts +25 -0
  165. package/dist/delegate/ResizeHandler.js +70 -91
  166. package/dist/delegate/ResizeHandler.js.map +1 -0
  167. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  168. package/dist/delegate/ScrollEnablement.js +157 -180
  169. package/dist/delegate/ScrollEnablement.js.map +1 -0
  170. package/dist/features/F6Navigation.d.ts +19 -0
  171. package/dist/features/F6Navigation.js +145 -100
  172. package/dist/features/F6Navigation.js.map +1 -0
  173. package/dist/features/LegacyDateFormats.d.ts +18 -0
  174. package/dist/features/LegacyDateFormats.js +20 -0
  175. package/dist/features/LegacyDateFormats.js.map +1 -0
  176. package/dist/features/OpenUI5Element.d.ts +9 -0
  177. package/dist/features/OpenUI5Element.js +5 -0
  178. package/dist/features/OpenUI5Element.js.map +1 -0
  179. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  180. package/dist/features/OpenUI5Enablement.js +89 -112
  181. package/dist/features/OpenUI5Enablement.js.map +1 -0
  182. package/dist/features/OpenUI5Support.d.ts +25 -0
  183. package/dist/features/OpenUI5Support.js +92 -119
  184. package/dist/features/OpenUI5Support.js.map +1 -0
  185. package/dist/generated/VersionInfo.js +3 -3
  186. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  187. package/dist/generated/css/BusyIndicator.css.js +7 -5
  188. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  189. package/dist/generated/css/FontFace.css.d.ts +3 -0
  190. package/dist/generated/css/FontFace.css.js +7 -5
  191. package/dist/generated/css/FontFace.css.js.map +1 -0
  192. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  193. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  194. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  195. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  196. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  197. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  198. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  199. package/dist/getSharedResource.d.ts +11 -0
  200. package/dist/getSharedResource.js +21 -17
  201. package/dist/getSharedResource.js.map +1 -0
  202. package/dist/global.d.ts +38 -0
  203. package/dist/i18nBundle.d.ts +43 -0
  204. package/dist/i18nBundle.js +56 -64
  205. package/dist/i18nBundle.js.map +1 -0
  206. package/dist/locale/Locale.d.ts +22 -0
  207. package/dist/locale/Locale.js +75 -87
  208. package/dist/locale/Locale.js.map +1 -0
  209. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  210. package/dist/locale/RTLAwareRegistry.js +6 -11
  211. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  212. package/dist/locale/applyDirection.d.ts +10 -0
  213. package/dist/locale/applyDirection.js +7 -7
  214. package/dist/locale/applyDirection.js.map +1 -0
  215. package/dist/locale/directionChange.d.ts +15 -0
  216. package/dist/locale/directionChange.js +7 -15
  217. package/dist/locale/directionChange.js.map +1 -0
  218. package/dist/locale/getEffectiveDir.d.ts +2 -0
  219. package/dist/locale/getEffectiveDir.js +20 -24
  220. package/dist/locale/getEffectiveDir.js.map +1 -0
  221. package/dist/locale/getLocale.d.ts +7 -0
  222. package/dist/locale/getLocale.js +26 -29
  223. package/dist/locale/getLocale.js.map +1 -0
  224. package/dist/locale/languageChange.d.ts +5 -0
  225. package/dist/locale/languageChange.js +8 -16
  226. package/dist/locale/languageChange.js.map +1 -0
  227. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  228. package/dist/locale/nextFallbackLocale.js +15 -19
  229. package/dist/locale/nextFallbackLocale.js.map +1 -0
  230. package/dist/locale/normalizeLocale.d.ts +7 -0
  231. package/dist/locale/normalizeLocale.js +34 -41
  232. package/dist/locale/normalizeLocale.js.map +1 -0
  233. package/dist/renderer/LitRenderer.d.ts +14 -0
  234. package/dist/renderer/LitRenderer.js +28 -39
  235. package/dist/renderer/LitRenderer.js.map +1 -0
  236. package/dist/renderer/executeTemplate.d.ts +13 -0
  237. package/dist/renderer/executeTemplate.js +12 -16
  238. package/dist/renderer/executeTemplate.js.map +1 -0
  239. package/dist/sap/base/Log.js +28 -29
  240. package/dist/sap/base/assert.js +5 -6
  241. package/dist/sap/base/security/URLListValidator.js +13 -2
  242. package/dist/theming/CustomStyle.d.ts +6 -0
  243. package/dist/theming/CustomStyle.js +33 -45
  244. package/dist/theming/CustomStyle.js.map +1 -0
  245. package/dist/theming/ThemeLoaded.d.ts +5 -0
  246. package/dist/theming/ThemeLoaded.js +8 -16
  247. package/dist/theming/ThemeLoaded.js.map +1 -0
  248. package/dist/theming/ThemeRegistered.d.ts +4 -0
  249. package/dist/theming/ThemeRegistered.js +11 -0
  250. package/dist/theming/ThemeRegistered.js.map +1 -0
  251. package/dist/theming/applyTheme.d.ts +2 -0
  252. package/dist/theming/applyTheme.js +60 -64
  253. package/dist/theming/applyTheme.js.map +1 -0
  254. package/dist/theming/getConstructableStyle.d.ts +9 -0
  255. package/dist/theming/getConstructableStyle.js +12 -17
  256. package/dist/theming/getConstructableStyle.js.map +1 -0
  257. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  258. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  259. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  260. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  261. package/dist/theming/getEffectiveStyle.js +24 -31
  262. package/dist/theming/getEffectiveStyle.js.map +1 -0
  263. package/dist/theming/getStylesString.d.ts +3 -0
  264. package/dist/theming/getStylesString.js +9 -13
  265. package/dist/theming/getStylesString.js.map +1 -0
  266. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  267. package/dist/theming/getThemeDesignerTheme.js +72 -79
  268. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  269. package/dist/theming/preloadLinks.d.ts +3 -0
  270. package/dist/theming/preloadLinks.js +13 -17
  271. package/dist/theming/preloadLinks.js.map +1 -0
  272. package/dist/thirdparty/_merge.d.ts +2 -0
  273. package/dist/thirdparty/_merge.js +7 -4
  274. package/dist/thirdparty/_merge.js.map +1 -0
  275. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  276. package/dist/thirdparty/isPlainObject.js +11 -10
  277. package/dist/thirdparty/isPlainObject.js.map +1 -0
  278. package/dist/thirdparty/merge.d.ts +2 -0
  279. package/dist/thirdparty/merge.js +4 -8
  280. package/dist/thirdparty/merge.js.map +1 -0
  281. package/dist/types/AnimationMode.d.ts +32 -0
  282. package/dist/types/AnimationMode.js +33 -6
  283. package/dist/types/AnimationMode.js.map +1 -0
  284. package/dist/types/CSSColor.d.ts +15 -0
  285. package/dist/types/CSSColor.js +14 -5
  286. package/dist/types/CSSColor.js.map +1 -0
  287. package/dist/types/CalendarType.d.ts +37 -0
  288. package/dist/types/CalendarType.js +35 -18
  289. package/dist/types/CalendarType.js.map +1 -0
  290. package/dist/types/DOMReference.d.ts +17 -0
  291. package/dist/types/DOMReference.js +25 -0
  292. package/dist/types/DOMReference.js.map +1 -0
  293. package/dist/types/DataType.d.ts +25 -0
  294. package/dist/types/DataType.js +33 -26
  295. package/dist/types/DataType.js.map +1 -0
  296. package/dist/types/Float.d.ts +17 -0
  297. package/dist/types/Float.js +17 -10
  298. package/dist/types/Float.js.map +1 -0
  299. package/dist/types/Integer.d.ts +17 -0
  300. package/dist/types/Integer.js +17 -9
  301. package/dist/types/Integer.js.map +1 -0
  302. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  303. package/dist/types/InvisibleMessageMode.js +20 -23
  304. package/dist/types/InvisibleMessageMode.js.map +1 -0
  305. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  306. package/dist/types/ItemNavigationBehavior.js +22 -12
  307. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  308. package/dist/types/NavigationMode.d.ts +32 -0
  309. package/dist/types/NavigationMode.js +33 -6
  310. package/dist/types/NavigationMode.js.map +1 -0
  311. package/dist/types/ValueState.d.ts +42 -0
  312. package/dist/types/ValueState.js +41 -19
  313. package/dist/types/ValueState.js.map +1 -0
  314. package/dist/types.d.ts +18 -0
  315. package/dist/types.js +2 -0
  316. package/dist/types.js.map +1 -0
  317. package/dist/updateShadowRoot.d.ts +8 -0
  318. package/dist/updateShadowRoot.js +25 -17
  319. package/dist/updateShadowRoot.js.map +1 -0
  320. package/dist/util/AriaLabelHelper.d.ts +15 -0
  321. package/dist/util/AriaLabelHelper.js +166 -36
  322. package/dist/util/AriaLabelHelper.js.map +1 -0
  323. package/dist/util/Caret.d.ts +7 -0
  324. package/dist/util/Caret.js +16 -38
  325. package/dist/util/Caret.js.map +1 -0
  326. package/dist/util/ColorConversion.d.ts +30 -0
  327. package/dist/util/ColorConversion.js +315 -348
  328. package/dist/util/ColorConversion.js.map +1 -0
  329. package/dist/util/FetchHelper.d.ts +3 -0
  330. package/dist/util/FetchHelper.js +19 -25
  331. package/dist/util/FetchHelper.js.map +1 -0
  332. package/dist/util/FocusableElements.d.ts +4 -0
  333. package/dist/util/FocusableElements.js +63 -71
  334. package/dist/util/FocusableElements.js.map +1 -0
  335. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  336. package/dist/util/HTMLSanitizer.js +4 -5
  337. package/dist/util/HTMLSanitizer.js.map +1 -0
  338. package/dist/util/InvisibleMessage.d.ts +10 -0
  339. package/dist/util/InvisibleMessage.js +41 -45
  340. package/dist/util/InvisibleMessage.js.map +1 -0
  341. package/dist/util/PopupUtils.d.ts +7 -0
  342. package/dist/util/PopupUtils.js +58 -77
  343. package/dist/util/PopupUtils.js.map +1 -0
  344. package/dist/util/SlotsHelper.d.ts +9 -0
  345. package/dist/util/SlotsHelper.js +22 -35
  346. package/dist/util/SlotsHelper.js.map +1 -0
  347. package/dist/util/StringHelper.d.ts +3 -0
  348. package/dist/util/StringHelper.js +17 -20
  349. package/dist/util/StringHelper.js.map +1 -0
  350. package/dist/util/TabbableElements.d.ts +17 -0
  351. package/dist/util/TabbableElements.js +53 -47
  352. package/dist/util/TabbableElements.js.map +1 -0
  353. package/dist/util/arraysAreEqual.d.ts +2 -0
  354. package/dist/util/arraysAreEqual.js +10 -12
  355. package/dist/util/arraysAreEqual.js.map +1 -0
  356. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  357. package/dist/util/clamp.js +2 -2
  358. package/dist/util/clamp.js.map +1 -0
  359. package/dist/util/createLinkInHead.d.ts +7 -0
  360. package/dist/util/createLinkInHead.js +14 -12
  361. package/dist/util/createLinkInHead.js.map +1 -0
  362. package/dist/util/createStyleInHead.d.ts +8 -0
  363. package/dist/util/createStyleInHead.js +10 -10
  364. package/dist/util/createStyleInHead.js.map +1 -0
  365. package/dist/util/debounce.d.ts +2 -0
  366. package/dist/util/debounce.js +6 -8
  367. package/dist/util/debounce.js.map +1 -0
  368. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  369. package/dist/util/detectNavigatorLanguage.js +7 -10
  370. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  371. package/dist/util/escapeRegex.d.ts +8 -0
  372. package/dist/util/escapeRegex.js +8 -7
  373. package/dist/util/escapeRegex.js.map +1 -0
  374. package/dist/util/formatMessage.d.ts +2 -0
  375. package/dist/util/formatMessage.js +15 -19
  376. package/dist/util/formatMessage.js.map +1 -0
  377. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  378. package/dist/util/generateHighlightedMarkup.js +26 -27
  379. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  380. package/dist/util/getActiveElement.d.ts +2 -0
  381. package/dist/util/getActiveElement.js +6 -8
  382. package/dist/util/getActiveElement.js.map +1 -0
  383. package/dist/util/getClassCopy.d.ts +398 -0
  384. package/dist/util/getClassCopy.js +7 -7
  385. package/dist/util/getClassCopy.js.map +1 -0
  386. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  387. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  388. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  389. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  390. package/dist/util/getEffectiveContentDensity.js +2 -3
  391. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  392. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  393. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  394. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  395. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  396. package/dist/util/getFastNavigationGroups.js +51 -0
  397. package/dist/util/getFastNavigationGroups.js.map +1 -0
  398. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  399. package/dist/util/getFileExtension.js +9 -11
  400. package/dist/util/getFileExtension.js.map +1 -0
  401. package/{src/util/getNormalizedTarget.js → dist/util/getNormalizedTarget.d.ts} +1 -10
  402. package/dist/util/getNormalizedTarget.js +7 -9
  403. package/dist/util/getNormalizedTarget.js.map +1 -0
  404. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  405. package/dist/util/getSingletonElementInstance.js +7 -10
  406. package/dist/util/getSingletonElementInstance.js.map +1 -0
  407. package/dist/util/isElementClickable.d.ts +2 -0
  408. package/dist/util/isElementClickable.js +16 -0
  409. package/dist/util/isElementClickable.js.map +1 -0
  410. package/dist/util/isElementHidden.d.ts +2 -0
  411. package/dist/util/isElementHidden.js +8 -0
  412. package/dist/util/isElementHidden.js.map +1 -0
  413. package/dist/util/isElementInView.d.ts +6 -0
  414. package/dist/util/isElementInView.js +6 -9
  415. package/dist/util/isElementInView.js.map +1 -0
  416. package/dist/util/isElementTabbable.d.ts +9 -0
  417. package/dist/util/isElementTabbable.js +30 -0
  418. package/dist/util/isElementTabbable.js.map +1 -0
  419. package/dist/util/isValidPropertyName.d.ts +8 -0
  420. package/dist/util/isValidPropertyName.js +16 -17
  421. package/dist/util/isValidPropertyName.js.map +1 -0
  422. package/dist/util/whenDOMReady.d.ts +2 -0
  423. package/dist/util/whenDOMReady.js +11 -10
  424. package/dist/util/whenDOMReady.js.map +1 -0
  425. package/dist/util/willShowContent.d.ts +2 -0
  426. package/dist/util/willShowContent.js +7 -0
  427. package/dist/util/willShowContent.js.map +1 -0
  428. package/dist/validateThemeRoot.d.ts +2 -0
  429. package/dist/validateThemeRoot.js +47 -0
  430. package/dist/validateThemeRoot.js.map +1 -0
  431. package/lib/generate-styles/index.js +10 -5
  432. package/package-scripts.js +30 -18
  433. package/package.json +5 -4
  434. package/src/css/BusyIndicator.css +4 -0
  435. package/src/css/FontFace.css +9 -18
  436. package/tsconfig.json +14 -0
  437. package/config/rollup.config.js +0 -1
  438. package/dist/RenderScheduler.js +0 -44
  439. package/dist/animations/config.js +0 -5
  440. package/dist/isLegacyBrowser.js +0 -3
  441. package/dist/resources/bundle.esm.js +0 -32
  442. package/dist/resources/bundle.esm.js.map +0 -1
  443. package/dist/test-resources/assets/Themes.js +0 -17
  444. package/dist/test-resources/elements/Child.js +0 -35
  445. package/dist/test-resources/elements/Generic.js +0 -84
  446. package/dist/test-resources/elements/GenericExt.js +0 -26
  447. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  448. package/dist/test-resources/elements/Parent.js +0 -41
  449. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  450. package/dist/test-resources/pages/AllTestElements.html +0 -42
  451. package/dist/test-resources/pages/Configuration.html +0 -18
  452. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  453. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  454. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  455. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  456. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  457. package/dist/test-resources/pages/i18n.html +0 -33
  458. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  459. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  460. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  461. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  462. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  463. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  464. package/dist/test-resources/specs/Theming.spec.js +0 -44
  465. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  466. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  467. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  468. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  469. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  470. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  471. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  472. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  473. package/dist/types/CSSSize.js +0 -9
  474. package/dist/types/PopupState.js +0 -37
  475. package/dist/util/findNodeOwner.js +0 -35
  476. package/dist/util/isDescendantOf.js +0 -15
  477. package/dist/util/isNodeClickable.js +0 -19
  478. package/dist/util/isNodeHidden.js +0 -9
  479. package/dist/util/isNodeTabbable.js +0 -28
  480. package/dist/util/setToArray.js +0 -10
  481. package/src/Boot.js +0 -59
  482. package/src/CustomElementsRegistry.js +0 -95
  483. package/src/CustomElementsScope.js +0 -30
  484. package/src/CustomElementsScopeUtils.js +0 -108
  485. package/src/DOMObserver.js +0 -65
  486. package/src/Device.js +0 -121
  487. package/src/EventProvider.js +0 -85
  488. package/src/FeaturesRegistry.js +0 -14
  489. package/src/FontFace.js +0 -30
  490. package/src/InitialConfiguration.js +0 -166
  491. package/src/Keys.js +0 -295
  492. package/src/ManagedStyles.js +0 -83
  493. package/src/MediaRange.js +0 -109
  494. package/src/PropertiesFileFormat.js +0 -95
  495. package/src/Render.js +0 -175
  496. package/src/RenderQueue.js +0 -66
  497. package/src/RenderScheduler.js +0 -44
  498. package/src/Runtimes.js +0 -107
  499. package/src/StaticArea.js +0 -3
  500. package/src/StaticAreaItem.js +0 -101
  501. package/src/SystemCSSVars.js +0 -10
  502. package/src/UI5Element.js +0 -1033
  503. package/src/UI5ElementMetadata.js +0 -327
  504. package/src/animations/AnimationQueue.js +0 -42
  505. package/src/animations/animate.js +0 -53
  506. package/src/animations/config.js +0 -5
  507. package/src/animations/scroll.js +0 -28
  508. package/src/animations/slideDown.js +0 -79
  509. package/src/animations/slideUp.js +0 -71
  510. package/src/asset-registries/Icons.js +0 -135
  511. package/src/asset-registries/Illustrations.js +0 -30
  512. package/src/asset-registries/LocaleData.js +0 -164
  513. package/src/asset-registries/Themes.js +0 -82
  514. package/src/asset-registries/i18n.js +0 -121
  515. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  516. package/src/config/AnimationMode.js +0 -23
  517. package/src/config/CalendarType.js +0 -18
  518. package/src/config/FormatSettings.js +0 -13
  519. package/src/config/Icons.js +0 -52
  520. package/src/config/Language.js +0 -68
  521. package/src/config/NoConflict.js +0 -51
  522. package/src/config/RTL.js +0 -31
  523. package/src/config/Theme.js +0 -53
  524. package/src/delegate/ItemNavigation.js +0 -351
  525. package/src/delegate/ResizeHandler.js +0 -106
  526. package/src/delegate/ScrollEnablement.js +0 -188
  527. package/src/features/F6Navigation.js +0 -106
  528. package/src/features/OpenUI5Enablement.js +0 -119
  529. package/src/features/OpenUI5Support.js +0 -125
  530. package/src/getSharedResource.js +0 -30
  531. package/src/i18nBundle.js +0 -86
  532. package/src/isLegacyBrowser.js +0 -3
  533. package/src/locale/Locale.js +0 -91
  534. package/src/locale/RTLAwareRegistry.js +0 -14
  535. package/src/locale/applyDirection.js +0 -17
  536. package/src/locale/directionChange.js +0 -32
  537. package/src/locale/getEffectiveDir.js +0 -28
  538. package/src/locale/getLocale.js +0 -41
  539. package/src/locale/languageChange.js +0 -22
  540. package/src/locale/nextFallbackLocale.js +0 -28
  541. package/src/locale/normalizeLocale.js +0 -54
  542. package/src/renderer/LitRenderer.js +0 -52
  543. package/src/renderer/executeTemplate.js +0 -34
  544. package/src/theming/CustomStyle.js +0 -60
  545. package/src/theming/ThemeLoaded.js +0 -22
  546. package/src/theming/applyTheme.js +0 -79
  547. package/src/theming/getConstructableStyle.js +0 -30
  548. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  549. package/src/theming/getEffectiveStyle.js +0 -39
  550. package/src/theming/getStylesString.js +0 -15
  551. package/src/theming/getThemeDesignerTheme.js +0 -87
  552. package/src/theming/preloadLinks.js +0 -23
  553. package/src/thirdparty/_merge.js +0 -32
  554. package/src/thirdparty/isPlainObject.js +0 -18
  555. package/src/thirdparty/merge.js +0 -10
  556. package/src/types/AnimationMode.js +0 -7
  557. package/src/types/CSSColor.js +0 -9
  558. package/src/types/CSSSize.js +0 -9
  559. package/src/types/CalendarType.js +0 -22
  560. package/src/types/DataType.js +0 -37
  561. package/src/types/Float.js +0 -14
  562. package/src/types/Integer.js +0 -13
  563. package/src/types/InvisibleMessageMode.js +0 -30
  564. package/src/types/ItemNavigationBehavior.js +0 -16
  565. package/src/types/NavigationMode.js +0 -7
  566. package/src/types/PopupState.js +0 -37
  567. package/src/types/ValueState.js +0 -22
  568. package/src/updateShadowRoot.js +0 -30
  569. package/src/util/AriaLabelHelper.js +0 -41
  570. package/src/util/Caret.js +0 -45
  571. package/src/util/ColorConversion.js +0 -370
  572. package/src/util/FetchHelper.js +0 -31
  573. package/src/util/FocusableElements.js +0 -79
  574. package/src/util/InvisibleMessage.js +0 -60
  575. package/src/util/PopupUtils.js +0 -93
  576. package/src/util/SlotsHelper.js +0 -43
  577. package/src/util/StringHelper.js +0 -26
  578. package/src/util/TabbableElements.js +0 -51
  579. package/src/util/arraysAreEqual.js +0 -15
  580. package/src/util/createLinkInHead.js +0 -19
  581. package/src/util/createStyleInHead.js +0 -18
  582. package/src/util/debounce.js +0 -17
  583. package/src/util/detectNavigatorLanguage.js +0 -13
  584. package/src/util/escapeRegex.js +0 -10
  585. package/src/util/findNodeOwner.js +0 -35
  586. package/src/util/formatMessage.js +0 -23
  587. package/src/util/generateHighlightedMarkup.js +0 -42
  588. package/src/util/getActiveElement.js +0 -11
  589. package/src/util/getClassCopy.js +0 -10
  590. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  591. package/src/util/getEffectiveContentDensity.js +0 -5
  592. package/src/util/getSingletonElementInstance.js +0 -13
  593. package/src/util/isDescendantOf.js +0 -15
  594. package/src/util/isElementInView.js +0 -15
  595. package/src/util/isNodeClickable.js +0 -19
  596. package/src/util/isNodeHidden.js +0 -9
  597. package/src/util/isNodeTabbable.js +0 -28
  598. package/src/util/isValidPropertyName.js +0 -29
  599. package/src/util/setToArray.js +0 -10
  600. package/src/util/whenDOMReady.js +0 -13
  601. /package/{config/.eslintrc.js → .eslintrc.js} +0 -0
@@ -1,67 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Properties and attributes convert to each other", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests that properties with default values are initialized with the default value", async () => {
9
- const el = await browser.$("#gen");
10
-
11
- assert.strictEqual(await el.getProperty("defaultValueProp"), "Hello", "defaultValueProp is properly initialized");
12
- });
13
-
14
- it("Tests that prop-attr conversion works for string properties", async () => {
15
- const el = await browser.$("#gen");
16
-
17
- await el.setProperty("strProp", "test1");
18
- assert.strictEqual(await el.getAttribute("str-prop"), "test1", "Attribute affected by property change");
19
-
20
- await el.setAttribute("str-prop", "test2");
21
- assert.strictEqual(await el.getProperty("strProp"), "test2", "Property affected by attribute change");
22
- });
23
-
24
- it("Tests that prop-attr conversion works for boolean properties", async () => {
25
- const el = await browser.$("#gen");
26
-
27
- await el.setProperty("boolProp", true);
28
- assert.strictEqual(await el.getAttribute("bool-prop"), "", "Attribute affected by property change");
29
-
30
- await el.setProperty("boolProp", false);
31
- assert.strictEqual(await el.getAttribute("bool-prop"), null, "Attribute affected by property change");
32
-
33
- await el.setAttribute("bool-prop", "");
34
- assert.strictEqual(await el.getProperty("boolProp"), true, "Property affected by attribute change");
35
-
36
- await el.removeAttribute("bool-prop");
37
- assert.strictEqual(await el.getProperty("boolProp"), false, "Property affected by attribute change");
38
- });
39
-
40
- it("Tests that object properties have no attributes", async () => {
41
- const el = await browser.$("#gen");
42
-
43
- await el.setProperty("objectProp", {});
44
- assert.strictEqual(await el.getAttribute("object-prop"), null, "Attribute not there");
45
- });
46
-
47
- it("Tests that array properties have no attributes", async () => {
48
- const el = await browser.$("#gen");
49
-
50
- await el.setProperty("multiProp", ["a", "b"]);
51
- assert.strictEqual(await el.getAttribute("multi-prop"), null, "Attribute not there");
52
- });
53
-
54
- it("Tests that noAttribute properties have no attributes", async () => {
55
- const el = await browser.$("#gen");
56
-
57
- await el.setProperty("noAttributeProp", "some value");
58
- assert.strictEqual(await el.getAttribute("no-attribute-prop"), null, "Attribute not there");
59
- });
60
-
61
- it("Tests that properties with default values do not automatically set attributes", async () => {
62
- const el = await browser.$("#gen");
63
-
64
- assert.strictEqual(await el.getAttribute("default-value-prop"), null, "Attribute not there for defaultValueProp");
65
- });
66
-
67
- });
@@ -1,24 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("The framework can define web components", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests that element's Shadow DOM is rendered if it has a template", async () => {
9
- const res = await browser.executeAsync(done => {
10
- done(document.getElementById("gen").shadowRoot);
11
- });
12
-
13
- assert.strictEqual(!!res, true, "Shadow root created");
14
- assert.strictEqual(await browser.$("#gen").shadow$("div>p").isExisting(), true, "Shadow root content created");
15
- });
16
-
17
- it("Tests that element's Shadow DOM is not rendered if it has no template", async () => {
18
- const res = await browser.executeAsync(done => {
19
- done(document.getElementById("noShadow").shadowRoot);
20
- });
21
-
22
- assert.strictEqual(!!res, false, "Shadow root not created");
23
- });
24
- });
@@ -1,36 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Slots work properly", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests that properties exist on the element for each slot", async () => {
9
- const res = await browser.executeAsync(done => {
10
- const expectedValues = {};
11
-
12
- const el = document.getElementById("withContent");
13
-
14
- expectedValues.default = el.default.length > 0;
15
- expectedValues.other = el.other.length === 2;
16
- expectedValues.individual = el.individual.length === 2;
17
- expectedValues.items = el.items.length === 2;
18
- expectedValues.named = el.named === undefined;
19
-
20
- done(expectedValues);
21
- });
22
-
23
- assert.strictEqual(res.default, true, "There are elements in the default property");
24
- assert.strictEqual(res.other, true, "There are 2 elements in the other property");
25
- assert.strictEqual(res.individual, true, "There are 2 elements in the individual property");
26
- assert.strictEqual(res.items, true, "There are 2 elements in the items property");
27
- assert.strictEqual(res.named, true, "There is no named property as propertyName changed it to items");
28
- });
29
-
30
- it("Tests that individualSlots modifies the slot property of slotted children", async () => {
31
- assert.strictEqual((await browser.$$("#withContent>[slot=individual]")).length, 0, "There are no children with slot=individual");
32
- assert.strictEqual((await browser.$$("#withContent>[slot=individual-1]")).length, 1, "The slot of the first child became individual-1");
33
- assert.strictEqual((await browser.$$("#withContent>[slot=individual-2]")).length, 1, "The slot of the second child became individual-2");
34
- });
35
-
36
- });
@@ -1,9 +0,0 @@
1
- import DataType from "./DataType.js";
2
-
3
- class CSSSize extends DataType {
4
- static isValid(value) {
5
- return /^(auto|inherit|[-+]?(0*|([0-9]+|[0-9]*\.[0-9]+)([rR][eE][mM]|[eE][mM]|[eE][xX]|[pP][xX]|[cC][mM]|[mM][mM]|[iI][nN]|[pP][tT]|[pP][cC]|%))|calc\(\s*(\(\s*)*[-+]?(([0-9]+|[0-9]*\.[0-9]+)([rR][eE][mM]|[eE][mM]|[eE][xX]|[pP][xX]|[cC][mM]|[mM][mM]|[iI][nN]|[pP][tT]|[pP][cC]|%)?)(\s*(\)\s*)*(\s[-+]\s|[*\/])\s*(\(\s*)*([-+]?(([0-9]+|[0-9]*\.[0-9]+)([rR][eE][mM]|[eE][mM]|[eE][xX]|[pP][xX]|[cC][mM]|[mM][mM]|[iI][nN]|[pP][tT]|[pP][cC]|%)?)))*\s*(\)\s*)*\))$/.test(value); // eslint-disable-line
6
- }
7
- }
8
-
9
- export default CSSSize;
@@ -1,37 +0,0 @@
1
- import DataType from "./DataType.js";
2
-
3
- const PopupStates = {
4
- /**
5
- * Open and currently not changing states.
6
- * @public
7
- */
8
- OPEN: "OPEN",
9
-
10
- /**
11
- * Closed and currently not changing states.
12
- * @public
13
- */
14
- CLOSED: "CLOSED",
15
-
16
- /**
17
- * Already left the CLOSED state, is not OPEN yet, but in the process of getting OPEN.
18
- * @public
19
- */
20
- OPENING: "OPENING",
21
-
22
- /**
23
- * Still open, but in the process of going to the CLOSED state.
24
- * @public
25
- */
26
- CLOSING: "CLOSING",
27
- };
28
-
29
- class PopupState extends DataType {
30
- static isValid(value) {
31
- return !!PopupStates[value];
32
- }
33
- }
34
-
35
- PopupState.generateTypeAccessors(PopupStates);
36
-
37
- export default PopupState;
@@ -1,35 +0,0 @@
1
- const findNodeOwner = node => {
2
- if (!(node instanceof HTMLElement)) {
3
- throw new Error("Argument node should be of type HTMLElement");
4
- }
5
-
6
- const ownerTypes = [HTMLHtmlElement, HTMLIFrameElement];
7
- let currentShadowRootFlag = true;
8
- let currentCustomElementFlag = true;
9
-
10
- while (node) {
11
- if (node.toString() === "[object ShadowRoot]") {
12
- // Web Component
13
- // or the shadow root of web component with attached shadow root
14
- if (currentShadowRootFlag) {
15
- currentShadowRootFlag = false;
16
- }
17
- if (!currentCustomElementFlag && !currentShadowRootFlag) {
18
- return node;
19
- }
20
- } else if (node.tagName && node.tagName.indexOf("-") > -1) {
21
- if (currentCustomElementFlag) {
22
- currentCustomElementFlag = false;
23
- } else {
24
- return node;
25
- }
26
- } else if (ownerTypes.indexOf(node.constructor) > -1) {
27
- // Document or Iframe reached
28
- return node;
29
- }
30
-
31
- node = node.parentNode || node.host;
32
- }
33
- };
34
-
35
- export default findNodeOwner;
@@ -1,15 +0,0 @@
1
- const isDescendantOf = (klass, baseKlass, inclusive = false) => {
2
- if (typeof klass !== "function" || typeof baseKlass !== "function") {
3
- return false;
4
- }
5
- if (inclusive && klass === baseKlass) {
6
- return true;
7
- }
8
- let parent = klass;
9
- do {
10
- parent = Object.getPrototypeOf(parent);
11
- } while (parent !== null && parent !== baseKlass);
12
- return parent === baseKlass;
13
- };
14
-
15
- export default isDescendantOf;
@@ -1,19 +0,0 @@
1
- const rClickable = /^(?:a|area)$/i;
2
- const rFocusable = /^(?:input|select|textarea|button)$/i;
3
-
4
- const isNodeClickable = node => {
5
- if (node.disabled) {
6
- return false;
7
- }
8
-
9
- const tabIndex = node.getAttribute("tabindex");
10
- if (tabIndex !== null && tabIndex !== undefined) {
11
- return parseInt(tabIndex) >= 0;
12
- }
13
-
14
- return rFocusable.test(node.nodeName)
15
- || (rClickable.test(node.nodeName)
16
- && node.href);
17
- };
18
-
19
- export default isNodeClickable;
@@ -1,9 +0,0 @@
1
- const isNodeHidden = node => {
2
- if (node.nodeName === "SLOT") {
3
- return false;
4
- }
5
-
6
- return (node.offsetWidth <= 0 && node.offsetHeight <= 0) || (node.style && node.style.visibility === "hidden");
7
- };
8
-
9
- export default isNodeHidden;
@@ -1,28 +0,0 @@
1
- import isNodeHidden from "./isNodeHidden.js";
2
-
3
- const isNodeTabbable = node => {
4
- if (!node) {
5
- return false;
6
- }
7
-
8
- const nodeName = node.nodeName.toLowerCase();
9
-
10
- if (node.hasAttribute("data-sap-no-tab-ref")) {
11
- return false;
12
- }
13
-
14
- if (isNodeHidden(node)) {
15
- return false;
16
- }
17
-
18
- const tabIndex = node.getAttribute("tabindex");
19
- if (tabIndex !== null && tabIndex !== undefined) {
20
- return parseInt(tabIndex) >= 0;
21
- }
22
-
23
- if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
24
- return !node.disabled;
25
- }
26
- };
27
-
28
- export default isNodeTabbable;
@@ -1,10 +0,0 @@
1
- // This is needed as IE11 doesn't have Set.prototype.keys/values/entries, so [...mySet.values()] is not an option
2
- const setToArray = s => {
3
- const arr = [];
4
- s.forEach(item => {
5
- arr.push(item);
6
- });
7
- return arr;
8
- };
9
-
10
- export default setToArray;
package/src/Boot.js DELETED
@@ -1,59 +0,0 @@
1
- import whenDOMReady from "./util/whenDOMReady.js";
2
- import insertFontFace from "./FontFace.js";
3
- import insertSystemCSSVars from "./SystemCSSVars.js";
4
- import { getTheme } from "./config/Theme.js";
5
- import applyTheme from "./theming/applyTheme.js";
6
- import { registerCurrentRuntime } from "./Runtimes.js";
7
- import { getFeature } from "./FeaturesRegistry.js";
8
-
9
- let bootPromise;
10
-
11
- /**
12
- * Attach a callback that will be executed on boot
13
- * @public
14
- * @param listener
15
- */
16
- const attachBoot = async listener => {
17
- await boot();
18
- listener();
19
- };
20
-
21
- const boot = async () => {
22
- if (bootPromise) {
23
- return bootPromise;
24
- }
25
-
26
- /* eslint-disable no-alert, no-async-promise-executor */
27
- /*
28
- Note(since we disable eslint rule):
29
- If an async executor function throws an error, the error will be lost and won't cause the newly-constructed Promise to reject.
30
- This could make it difficult to debug and handle some errors.
31
- */
32
- bootPromise = new Promise(async resolve => {
33
- registerCurrentRuntime();
34
-
35
- const OpenUI5Support = getFeature("OpenUI5Support");
36
- const F6Navigation = getFeature("F6Navigation");
37
- if (OpenUI5Support) {
38
- await OpenUI5Support.init();
39
- } else if (F6Navigation) {
40
- F6Navigation.init();
41
- }
42
-
43
- await whenDOMReady();
44
- await applyTheme(getTheme());
45
- OpenUI5Support && OpenUI5Support.attachListeners();
46
- insertFontFace();
47
- insertSystemCSSVars();
48
-
49
- resolve();
50
- });
51
- /* eslint-enable no-alert, no-async-promise-executor */
52
-
53
- return bootPromise;
54
- };
55
-
56
- export {
57
- boot,
58
- attachBoot,
59
- };
@@ -1,95 +0,0 @@
1
- import setToArray from "./util/setToArray.js";
2
- import getSharedResource from "./getSharedResource.js";
3
- import { getCurrentRuntimeIndex, compareRuntimes, getAllRuntimes } from "./Runtimes.js";
4
-
5
- const Tags = getSharedResource("Tags", new Map());
6
-
7
- const Definitions = new Set();
8
- let Failures = {};
9
- let failureTimeout;
10
-
11
- const UNKNOWN_RUNTIME = "unknown";
12
-
13
- const registerTag = tag => {
14
- Definitions.add(tag);
15
- Tags.set(tag, getCurrentRuntimeIndex());
16
- };
17
-
18
- const isTagRegistered = tag => {
19
- return Definitions.has(tag);
20
- };
21
-
22
- const getAllRegisteredTags = () => {
23
- return setToArray(Definitions);
24
- };
25
-
26
- const recordTagRegistrationFailure = tag => {
27
- let tagRegRuntimeIndex = Tags.get(tag);
28
- if (tagRegRuntimeIndex === undefined) {
29
- tagRegRuntimeIndex = UNKNOWN_RUNTIME; // If the tag is taken, but not registered in Tags, then a version before 1.1.0 defined it => use the "unknown" key
30
- }
31
- Failures[tagRegRuntimeIndex] = Failures[tagRegRuntimeIndex] || new Set();
32
- Failures[tagRegRuntimeIndex].add(tag);
33
-
34
- if (!failureTimeout) {
35
- failureTimeout = setTimeout(() => {
36
- displayFailedRegistrations();
37
- Failures = {};
38
- failureTimeout = undefined;
39
- }, 1000);
40
- }
41
- };
42
-
43
- const displayFailedRegistrations = () => {
44
- const allRuntimes = getAllRuntimes();
45
- const currentRuntimeIndex = getCurrentRuntimeIndex();
46
- const currentRuntime = allRuntimes[currentRuntimeIndex];
47
-
48
- let message = `Multiple UI5 Web Components instances detected.`;
49
-
50
- if (allRuntimes.length > 1) {
51
- message = `${message}\nLoading order (versions before 1.1.0 not listed): ${allRuntimes.map(runtime => `\n${runtime.description}`).join("")}`;
52
- }
53
-
54
- Object.keys(Failures).forEach(otherRuntimeIndex => {
55
- let comparison;
56
- let otherRuntime;
57
-
58
- if (otherRuntimeIndex === UNKNOWN_RUNTIME) { // version < 1.1.0 defined the tag
59
- comparison = 1; // the current runtime is considered newer
60
- otherRuntime = {
61
- description: `Older unknown runtime`,
62
- };
63
- } else {
64
- comparison = compareRuntimes(currentRuntimeIndex, otherRuntimeIndex);
65
- otherRuntime = allRuntimes[otherRuntimeIndex];
66
- }
67
-
68
- let compareWord;
69
- if (comparison > 0) {
70
- compareWord = "an older";
71
- } else if (comparison < 0) {
72
- compareWord = "a newer";
73
- } else {
74
- compareWord = "the same";
75
- }
76
- message = `${message}\n\n"${currentRuntime.description}" failed to define ${Failures[otherRuntimeIndex].size} tag(s) as they were defined by a runtime of ${compareWord} version "${otherRuntime.description}": ${setToArray(Failures[otherRuntimeIndex]).sort().join(", ")}.`;
77
-
78
- if (comparison > 0) {
79
- message = `${message}\nWARNING! If your code uses features of the above web components, unavailable in ${otherRuntime.description}, it might not work as expected!`;
80
- } else {
81
- message = `${message}\nSince the above web components were defined by the same or newer version runtime, they should be compatible with your code.`;
82
- }
83
- });
84
-
85
- message = `${message}\n\nTo prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/master/docs/2-advanced/03-scoping.md.`;
86
-
87
- console.warn(message); // eslint-disable-line
88
- };
89
-
90
- export {
91
- registerTag,
92
- isTagRegistered,
93
- getAllRegisteredTags,
94
- recordTagRegistrationFailure,
95
- };
@@ -1,30 +0,0 @@
1
- import {
2
- html,
3
- svg,
4
- unsafeStatic,
5
- } from "lit-html/static.js";
6
-
7
- import {
8
- setCustomElementsScopingSuffix,
9
- getCustomElementsScopingSuffix,
10
- setCustomElementsScopingRules,
11
- getCustomElementsScopingRules,
12
- shouldScopeCustomElement,
13
- getEffectiveScopingSuffixForTag,
14
- } from "./CustomElementsScopeUtils.js";
15
- import { registerFeature } from "./FeaturesRegistry.js";
16
-
17
- registerFeature("LitStatic", {
18
- html,
19
- svg,
20
- unsafeStatic,
21
- });
22
-
23
- export {
24
- setCustomElementsScopingSuffix,
25
- getCustomElementsScopingSuffix,
26
- setCustomElementsScopingRules,
27
- getCustomElementsScopingRules,
28
- shouldScopeCustomElement,
29
- getEffectiveScopingSuffixForTag,
30
- };
@@ -1,108 +0,0 @@
1
- let suf;
2
- let rulesObj = {
3
- include: [/^ui5-/],
4
- exclude: [],
5
- };
6
- const tagsCache = new Map(); // true/false means the tag should/should not be cached, undefined means not known yet.
7
-
8
- /**
9
- * Sets the suffix to be used for custom elements scoping, f.e. pass "demo" to get tags such as "ui5-button-demo".
10
- * Note: by default all tags starting with "ui5-" will be scoped, unless you change this by calling "setCustomElementsScopingRules"
11
- *
12
- * @public
13
- * @param suffix The scoping suffix
14
- */
15
- const setCustomElementsScopingSuffix = suffix => {
16
- if (!suffix.match(/^[a-zA-Z0-9_-]+$/)) {
17
- throw new Error("Only alphanumeric characters and dashes allowed for the scoping suffix");
18
- }
19
-
20
- suf = suffix;
21
- };
22
-
23
- /**
24
- * Returns the currently set scoping suffix, or undefined if not set.
25
- *
26
- * @public
27
- * @returns {String|undefined}
28
- */
29
- const getCustomElementsScopingSuffix = () => {
30
- return suf;
31
- };
32
-
33
- /**
34
- * Sets the rules, governing which custom element tags to scope and which not, f.e.
35
- * setCustomElementsScopingRules({include: [/^ui5-/]}, exclude: [/^ui5-mylib-/, /^ui5-carousel$/]);
36
- * will scope all elements starting with "ui5-" but not the ones starting with "ui5-mylib-" and not "ui5-carousel".
37
- *
38
- * @public
39
- * @param rules Object with "include" and "exclude" properties, both arrays of regular expressions. Note that "include"
40
- * rules are applied first and "exclude" rules second.
41
- */
42
- const setCustomElementsScopingRules = rules => {
43
- if (!rules || !rules.include) {
44
- throw new Error(`"rules" must be an object with at least an "include" property`);
45
- }
46
-
47
- if (!Array.isArray(rules.include) || rules.include.some(rule => !(rule instanceof RegExp))) {
48
- throw new Error(`"rules.include" must be an array of regular expressions`);
49
- }
50
-
51
- if (rules.exclude && (!Array.isArray(rules.exclude) || rules.exclude.some(rule => !(rule instanceof RegExp)))) {
52
- throw new Error(`"rules.exclude" must be an array of regular expressions`);
53
- }
54
-
55
- rules.exclude = rules.exclude || [];
56
- rulesObj = rules;
57
- tagsCache.clear(); // reset the cache upon setting new rules
58
- };
59
-
60
- /**
61
- * Returns the rules, governing which custom element tags to scope and which not. By default, all elements
62
- * starting with "ui5-" are scoped. The default rules are: {include: [/^ui5-/]}.
63
- *
64
- * @public
65
- * @returns {Object}
66
- */
67
- const getCustomElementsScopingRules = () => {
68
- return rulesObj;
69
- };
70
-
71
- /**
72
- * Determines whether custom elements with the given tag should be scoped or not.
73
- * The tag is first matched against the "include" rules and then against the "exclude" rules and the
74
- * result is cached until new rules are set.
75
- *
76
- * @public
77
- * @param tag
78
- */
79
- const shouldScopeCustomElement = tag => {
80
- if (!tagsCache.has(tag)) {
81
- const result = rulesObj.include.some(rule => tag.match(rule)) && !rulesObj.exclude.some(rule => tag.match(rule));
82
- tagsCache.set(tag, result);
83
- }
84
-
85
- return tagsCache.get(tag);
86
- };
87
-
88
- /**
89
- * Returns the currently set scoping suffix, if any and if the tag should be scoped, or undefined otherwise.
90
- *
91
- * @public
92
- * @param tag
93
- * @returns {String}
94
- */
95
- const getEffectiveScopingSuffixForTag = tag => {
96
- if (shouldScopeCustomElement(tag)) {
97
- return getCustomElementsScopingSuffix();
98
- }
99
- };
100
-
101
- export {
102
- setCustomElementsScopingSuffix,
103
- getCustomElementsScopingSuffix,
104
- setCustomElementsScopingRules,
105
- getCustomElementsScopingRules,
106
- shouldScopeCustomElement,
107
- getEffectiveScopingSuffixForTag,
108
- };
@@ -1,65 +0,0 @@
1
- const observers = new WeakMap(); // We want just one observer per node, store them here -> DOM nodes are keys
2
-
3
- /**
4
- * Default implementation with MutationObserver for browsers with native support
5
- */
6
- let _createObserver = (node, callback, options) => {
7
- const observer = new MutationObserver(callback);
8
- observer.observe(node, options);
9
- return observer;
10
- };
11
-
12
- /**
13
- * Default implementation with MutationObserver for browsers with native support
14
- */
15
- let _destroyObserver = observer => {
16
- observer.disconnect();
17
- };
18
-
19
- /**
20
- * Allows to create an alternative DOM observer implementation
21
- * @param createFn
22
- */
23
- const setCreateObserverCallback = createFn => {
24
- if (typeof createFn === "function") {
25
- _createObserver = createFn;
26
- }
27
- };
28
-
29
- /**
30
- * Allows to create an alternative DOM observer implementation
31
- * @param destroyFn
32
- */
33
- const setDestroyObserverCallback = destroyFn => {
34
- if (typeof destroyFn === "function") {
35
- _destroyObserver = destroyFn;
36
- }
37
- };
38
-
39
- /**
40
- * @param node
41
- * @param callback
42
- * @param options
43
- */
44
- const observeDOMNode = (node, callback, options) => {
45
- const observer = _createObserver(node, callback, options);
46
- observers.set(node, observer);
47
- };
48
-
49
- /**
50
- * @param node
51
- */
52
- const unobserveDOMNode = node => {
53
- const observer = observers.get(node);
54
- if (observer) {
55
- _destroyObserver(observer);
56
- observers.delete(node);
57
- }
58
- };
59
-
60
- export {
61
- setCreateObserverCallback,
62
- setDestroyObserverCallback,
63
- observeDOMNode,
64
- unobserveDOMNode,
65
- };