@ui5/webcomponents-base 0.0.0-c638668a1 → 0.0.0-c6c04c609

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 (629) hide show
  1. package/.eslintignore +6 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +833 -0
  4. package/README.md +33 -6
  5. package/bundle.esm.js +20 -11
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/AssetRegistry.d.ts +5 -0
  8. package/dist/AssetRegistry.js +3 -8
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +55 -45
  12. package/dist/Boot.js.map +1 -0
  13. package/{src/CSP.js → dist/CSP.d.ts} +8 -37
  14. package/dist/CSP.js +16 -24
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +66 -83
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -108
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  23. package/dist/CustomElementsScopeUtils.js +102 -0
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -54
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +13 -0
  29. package/dist/Device.js +155 -96
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -82
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -10
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +14 -19
  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 +28 -0
  44. package/dist/InitialConfiguration.js +126 -131
  45. package/dist/InitialConfiguration.js.map +1 -0
  46. package/dist/Keys.d.ts +61 -0
  47. package/dist/Keys.js +178 -267
  48. package/dist/Keys.js.map +1 -0
  49. package/dist/ManagedStyles.d.ts +9 -0
  50. package/dist/ManagedStyles.js +140 -70
  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 +54 -65
  57. package/dist/MediaRange.js.map +1 -0
  58. package/dist/PropertiesFileFormat.d.ts +8 -0
  59. package/dist/PropertiesFileFormat.js +72 -82
  60. package/dist/PropertiesFileFormat.js.map +1 -0
  61. package/dist/Render.d.ts +47 -0
  62. package/dist/Render.js +81 -113
  63. package/dist/Render.js.map +1 -0
  64. package/dist/RenderQueue.d.ts +19 -0
  65. package/dist/RenderQueue.js +52 -62
  66. package/dist/RenderQueue.js.map +1 -0
  67. package/dist/Runtimes.d.ts +27 -0
  68. package/dist/Runtimes.js +49 -70
  69. package/dist/Runtimes.js.map +1 -0
  70. package/dist/StaticArea.d.ts +3 -0
  71. package/dist/StaticArea.js +5 -1
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +37 -0
  74. package/dist/StaticAreaItem.js +88 -87
  75. package/dist/StaticAreaItem.js.map +1 -0
  76. package/dist/SystemCSSVars.d.ts +2 -0
  77. package/dist/SystemCSSVars.js +4 -5
  78. package/dist/SystemCSSVars.js.map +1 -0
  79. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  80. package/dist/Theming.js +1 -1
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +394 -0
  83. package/dist/UI5Element.js +944 -985
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -314
  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 +39 -0
  105. package/dist/asset-registries/Icons.js +120 -123
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +18 -0
  108. package/dist/asset-registries/Illustrations.js +80 -25
  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 +104 -127
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +12 -0
  114. package/dist/asset-registries/Themes.js +57 -67
  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 +61 -81
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  122. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  125. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  128. package/dist/assets/Boot-34b7cea0.css +1 -0
  129. package/dist/assets/Boot-442448c1.js +9 -0
  130. package/dist/assets/bundle.esm-21077c57.js +50 -0
  131. package/dist/config/AnimationMode.d.ts +14 -0
  132. package/dist/config/AnimationMode.js +21 -18
  133. package/dist/config/AnimationMode.js.map +1 -0
  134. package/dist/config/CalendarType.d.ts +15 -0
  135. package/dist/config/CalendarType.js +31 -14
  136. package/dist/config/CalendarType.js.map +1 -0
  137. package/dist/config/FormatSettings.d.ts +15 -0
  138. package/dist/config/FormatSettings.js +15 -9
  139. package/dist/config/FormatSettings.js.map +1 -0
  140. package/dist/config/Icons.d.ts +40 -0
  141. package/dist/config/Icons.js +44 -0
  142. package/dist/config/Icons.js.map +1 -0
  143. package/dist/config/Language.d.ts +40 -0
  144. package/dist/config/Language.js +43 -43
  145. package/dist/config/Language.js.map +1 -0
  146. package/dist/config/NoConflict.d.ts +20 -0
  147. package/dist/config/NoConflict.js +41 -41
  148. package/dist/config/NoConflict.js.map +1 -0
  149. package/dist/config/RTL.d.ts +7 -0
  150. package/dist/config/RTL.js +26 -20
  151. package/dist/config/RTL.js.map +1 -0
  152. package/dist/config/Theme.d.ts +38 -0
  153. package/dist/config/Theme.js +57 -29
  154. package/dist/config/Theme.js.map +1 -0
  155. package/dist/config/ThemeRoot.d.ts +29 -0
  156. package/dist/config/ThemeRoot.js +59 -0
  157. package/dist/config/ThemeRoot.js.map +1 -0
  158. package/dist/config/Timezone.d.ts +17 -0
  159. package/dist/config/Timezone.js +30 -0
  160. package/dist/config/Timezone.js.map +1 -0
  161. package/dist/connectToComponent.d.ts +9 -0
  162. package/dist/connectToComponent.js +59 -0
  163. package/dist/connectToComponent.js.map +1 -0
  164. package/dist/css/BusyIndicator.css +80 -0
  165. package/dist/css/FontFace.css +54 -15
  166. package/dist/decorators/customElement.d.ts +23 -0
  167. package/dist/decorators/customElement.js +37 -0
  168. package/dist/decorators/customElement.js.map +1 -0
  169. package/dist/decorators/event.d.ts +10 -0
  170. package/dist/decorators/event.js +24 -0
  171. package/dist/decorators/event.js.map +1 -0
  172. package/dist/decorators/property.d.ts +9 -0
  173. package/dist/decorators/property.js +24 -0
  174. package/dist/decorators/property.js.map +1 -0
  175. package/dist/decorators/slot.d.ts +9 -0
  176. package/dist/decorators/slot.js +37 -0
  177. package/dist/decorators/slot.js.map +1 -0
  178. package/dist/delegate/ItemNavigation.d.ts +114 -0
  179. package/dist/delegate/ItemNavigation.js +276 -312
  180. package/dist/delegate/ItemNavigation.js.map +1 -0
  181. package/dist/delegate/ResizeHandler.d.ts +25 -0
  182. package/dist/delegate/ResizeHandler.js +72 -91
  183. package/dist/delegate/ResizeHandler.js.map +1 -0
  184. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  185. package/dist/delegate/ScrollEnablement.js +157 -180
  186. package/dist/delegate/ScrollEnablement.js.map +1 -0
  187. package/dist/features/F6Navigation.d.ts +19 -0
  188. package/dist/features/F6Navigation.js +145 -100
  189. package/dist/features/F6Navigation.js.map +1 -0
  190. package/dist/features/LegacyDateFormats.d.ts +18 -0
  191. package/dist/features/LegacyDateFormats.js +20 -0
  192. package/dist/features/LegacyDateFormats.js.map +1 -0
  193. package/dist/features/OpenUI5Element.d.ts +9 -0
  194. package/dist/features/OpenUI5Element.js +5 -0
  195. package/dist/features/OpenUI5Element.js.map +1 -0
  196. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  197. package/dist/features/OpenUI5Enablement.js +96 -0
  198. package/dist/features/OpenUI5Enablement.js.map +1 -0
  199. package/dist/features/OpenUI5Support.d.ts +36 -0
  200. package/dist/features/OpenUI5Support.js +151 -121
  201. package/dist/features/OpenUI5Support.js.map +1 -0
  202. package/dist/generated/AssetParameters.js +3 -1
  203. package/dist/generated/VersionInfo.js +3 -3
  204. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  205. package/dist/generated/css/BusyIndicator.css.js +7 -0
  206. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  207. package/dist/generated/css/FontFace.css.d.ts +3 -0
  208. package/dist/generated/css/FontFace.css.js +7 -5
  209. package/dist/generated/css/FontFace.css.js.map +1 -0
  210. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  211. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  212. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  213. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  214. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  215. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  216. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  217. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  218. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  219. package/dist/getSharedResource.d.ts +11 -0
  220. package/dist/getSharedResource.js +28 -18
  221. package/dist/getSharedResource.js.map +1 -0
  222. package/dist/global.d.ts +40 -0
  223. package/dist/i18nBundle.d.ts +43 -0
  224. package/dist/i18nBundle.js +57 -64
  225. package/dist/i18nBundle.js.map +1 -0
  226. package/dist/locale/Locale.d.ts +22 -0
  227. package/dist/locale/Locale.js +75 -87
  228. package/dist/locale/Locale.js.map +1 -0
  229. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  230. package/dist/locale/RTLAwareRegistry.js +6 -11
  231. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  232. package/dist/locale/applyDirection.d.ts +10 -0
  233. package/dist/locale/applyDirection.js +7 -7
  234. package/dist/locale/applyDirection.js.map +1 -0
  235. package/dist/locale/directionChange.d.ts +15 -0
  236. package/dist/locale/directionChange.js +7 -15
  237. package/dist/locale/directionChange.js.map +1 -0
  238. package/dist/locale/getEffectiveDir.d.ts +2 -0
  239. package/dist/locale/getEffectiveDir.js +20 -24
  240. package/dist/locale/getEffectiveDir.js.map +1 -0
  241. package/dist/locale/getLocale.d.ts +7 -0
  242. package/dist/locale/getLocale.js +26 -29
  243. package/dist/locale/getLocale.js.map +1 -0
  244. package/dist/locale/languageChange.d.ts +5 -0
  245. package/dist/locale/languageChange.js +8 -16
  246. package/dist/locale/languageChange.js.map +1 -0
  247. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  248. package/dist/locale/nextFallbackLocale.js +15 -19
  249. package/dist/locale/nextFallbackLocale.js.map +1 -0
  250. package/dist/locale/normalizeLocale.d.ts +7 -0
  251. package/dist/locale/normalizeLocale.js +34 -41
  252. package/dist/locale/normalizeLocale.js.map +1 -0
  253. package/dist/renderer/LitRenderer.d.ts +14 -0
  254. package/dist/renderer/LitRenderer.js +31 -24
  255. package/dist/renderer/LitRenderer.js.map +1 -0
  256. package/dist/renderer/executeTemplate.d.ts +13 -0
  257. package/dist/renderer/executeTemplate.js +20 -7
  258. package/dist/renderer/executeTemplate.js.map +1 -0
  259. package/dist/sap/base/Log.js +28 -29
  260. package/dist/sap/base/assert.js +5 -6
  261. package/dist/sap/base/security/URLListValidator.js +13 -2
  262. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  263. package/dist/theming/CustomStyle.d.ts +6 -0
  264. package/dist/theming/CustomStyle.js +33 -45
  265. package/dist/theming/CustomStyle.js.map +1 -0
  266. package/dist/theming/ThemeLoaded.d.ts +5 -0
  267. package/dist/theming/ThemeLoaded.js +8 -16
  268. package/dist/theming/ThemeLoaded.js.map +1 -0
  269. package/dist/theming/ThemeRegistered.d.ts +4 -0
  270. package/dist/theming/ThemeRegistered.js +11 -0
  271. package/dist/theming/ThemeRegistered.js.map +1 -0
  272. package/dist/theming/applyTheme.d.ts +2 -0
  273. package/dist/theming/applyTheme.js +61 -64
  274. package/dist/theming/applyTheme.js.map +1 -0
  275. package/dist/theming/getConstructableStyle.d.ts +9 -0
  276. package/dist/theming/getConstructableStyle.js +12 -17
  277. package/dist/theming/getConstructableStyle.js.map +1 -0
  278. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  279. package/dist/theming/getEffectiveLinksHrefs.js +13 -16
  280. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  281. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  282. package/dist/theming/getEffectiveStyle.js +25 -23
  283. package/dist/theming/getEffectiveStyle.js.map +1 -0
  284. package/dist/theming/getStylesString.d.ts +3 -0
  285. package/dist/theming/getStylesString.js +9 -13
  286. package/dist/theming/getStylesString.js.map +1 -0
  287. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  288. package/dist/theming/getThemeDesignerTheme.js +72 -79
  289. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  290. package/dist/theming/preloadLinks.d.ts +3 -0
  291. package/dist/theming/preloadLinks.js +13 -17
  292. package/dist/theming/preloadLinks.js.map +1 -0
  293. package/dist/thirdparty/_merge.d.ts +2 -0
  294. package/dist/thirdparty/_merge.js +7 -4
  295. package/dist/thirdparty/_merge.js.map +1 -0
  296. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  297. package/dist/thirdparty/isPlainObject.js +11 -10
  298. package/dist/thirdparty/isPlainObject.js.map +1 -0
  299. package/dist/thirdparty/merge.d.ts +2 -0
  300. package/dist/thirdparty/merge.js +4 -8
  301. package/dist/thirdparty/merge.js.map +1 -0
  302. package/dist/types/AnimationMode.d.ts +32 -0
  303. package/dist/types/AnimationMode.js +33 -6
  304. package/dist/types/AnimationMode.js.map +1 -0
  305. package/dist/types/CSSColor.d.ts +15 -0
  306. package/dist/types/CSSColor.js +14 -5
  307. package/dist/types/CSSColor.js.map +1 -0
  308. package/dist/types/CSSSize.d.ts +15 -0
  309. package/dist/types/CSSSize.js +14 -5
  310. package/dist/types/CSSSize.js.map +1 -0
  311. package/dist/types/CalendarType.d.ts +37 -0
  312. package/dist/types/CalendarType.js +35 -18
  313. package/dist/types/CalendarType.js.map +1 -0
  314. package/dist/types/DOMReference.d.ts +17 -0
  315. package/dist/types/DOMReference.js +25 -0
  316. package/dist/types/DOMReference.js.map +1 -0
  317. package/dist/types/DataType.d.ts +25 -0
  318. package/dist/types/DataType.js +33 -26
  319. package/dist/types/DataType.js.map +1 -0
  320. package/dist/types/Float.d.ts +17 -0
  321. package/dist/types/Float.js +17 -10
  322. package/dist/types/Float.js.map +1 -0
  323. package/dist/types/Integer.d.ts +17 -0
  324. package/dist/types/Integer.js +17 -9
  325. package/dist/types/Integer.js.map +1 -0
  326. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  327. package/dist/types/InvisibleMessageMode.js +20 -23
  328. package/dist/types/InvisibleMessageMode.js.map +1 -0
  329. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  330. package/dist/types/ItemNavigationBehavior.js +22 -12
  331. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  332. package/dist/types/NavigationMode.d.ts +32 -0
  333. package/dist/types/NavigationMode.js +33 -6
  334. package/dist/types/NavigationMode.js.map +1 -0
  335. package/dist/types/ValueState.d.ts +42 -0
  336. package/dist/types/ValueState.js +41 -19
  337. package/dist/types/ValueState.js.map +1 -0
  338. package/dist/types.d.ts +18 -0
  339. package/dist/types.js +2 -0
  340. package/dist/types.js.map +1 -0
  341. package/dist/updateShadowRoot.d.ts +8 -0
  342. package/dist/updateShadowRoot.js +30 -18
  343. package/dist/updateShadowRoot.js.map +1 -0
  344. package/dist/util/AriaLabelHelper.d.ts +15 -0
  345. package/dist/util/AriaLabelHelper.js +166 -36
  346. package/dist/util/AriaLabelHelper.js.map +1 -0
  347. package/dist/util/Caret.d.ts +7 -0
  348. package/dist/util/Caret.js +16 -38
  349. package/dist/util/Caret.js.map +1 -0
  350. package/dist/util/ColorConversion.d.ts +30 -0
  351. package/dist/util/ColorConversion.js +321 -348
  352. package/dist/util/ColorConversion.js.map +1 -0
  353. package/dist/util/FetchHelper.d.ts +3 -0
  354. package/dist/util/FetchHelper.js +19 -25
  355. package/dist/util/FetchHelper.js.map +1 -0
  356. package/dist/util/FocusableElements.d.ts +4 -0
  357. package/dist/util/FocusableElements.js +64 -71
  358. package/dist/util/FocusableElements.js.map +1 -0
  359. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  360. package/dist/util/HTMLSanitizer.js +4 -5
  361. package/dist/util/HTMLSanitizer.js.map +1 -0
  362. package/dist/util/InvisibleMessage.d.ts +10 -0
  363. package/dist/util/InvisibleMessage.js +42 -44
  364. package/dist/util/InvisibleMessage.js.map +1 -0
  365. package/dist/util/PopupUtils.d.ts +7 -0
  366. package/dist/util/PopupUtils.js +58 -77
  367. package/dist/util/PopupUtils.js.map +1 -0
  368. package/dist/util/SlotsHelper.d.ts +9 -0
  369. package/dist/util/SlotsHelper.js +22 -35
  370. package/dist/util/SlotsHelper.js.map +1 -0
  371. package/dist/util/StringHelper.d.ts +3 -0
  372. package/dist/util/StringHelper.js +17 -20
  373. package/dist/util/StringHelper.js.map +1 -0
  374. package/dist/util/TabbableElements.d.ts +17 -0
  375. package/dist/util/TabbableElements.js +53 -43
  376. package/dist/util/TabbableElements.js.map +1 -0
  377. package/dist/util/arraysAreEqual.d.ts +2 -0
  378. package/dist/util/arraysAreEqual.js +10 -12
  379. package/dist/util/arraysAreEqual.js.map +1 -0
  380. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  381. package/dist/util/clamp.js +2 -2
  382. package/dist/util/clamp.js.map +1 -0
  383. package/dist/util/createLinkInHead.d.ts +7 -0
  384. package/dist/util/createLinkInHead.js +14 -12
  385. package/dist/util/createLinkInHead.js.map +1 -0
  386. package/dist/util/createStyleInHead.d.ts +8 -0
  387. package/dist/util/createStyleInHead.js +10 -10
  388. package/dist/util/createStyleInHead.js.map +1 -0
  389. package/dist/util/debounce.d.ts +2 -0
  390. package/dist/util/debounce.js +6 -8
  391. package/dist/util/debounce.js.map +1 -0
  392. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  393. package/dist/util/detectNavigatorLanguage.js +7 -10
  394. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  395. package/dist/util/escapeRegex.d.ts +8 -0
  396. package/dist/util/escapeRegex.js +8 -7
  397. package/dist/util/escapeRegex.js.map +1 -0
  398. package/dist/util/formatMessage.d.ts +2 -0
  399. package/dist/util/formatMessage.js +15 -19
  400. package/dist/util/formatMessage.js.map +1 -0
  401. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  402. package/dist/util/generateHighlightedMarkup.js +26 -27
  403. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  404. package/dist/util/getActiveElement.d.ts +2 -0
  405. package/dist/util/getActiveElement.js +6 -8
  406. package/dist/util/getActiveElement.js.map +1 -0
  407. package/dist/util/getClassCopy.d.ts +402 -0
  408. package/dist/util/getClassCopy.js +7 -7
  409. package/dist/util/getClassCopy.js.map +1 -0
  410. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  411. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  412. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  413. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  414. package/dist/util/getEffectiveContentDensity.js +2 -3
  415. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  416. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  417. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  418. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  419. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  420. package/dist/util/getFastNavigationGroups.js +51 -0
  421. package/dist/util/getFastNavigationGroups.js.map +1 -0
  422. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  423. package/dist/util/getFileExtension.js +9 -11
  424. package/dist/util/getFileExtension.js.map +1 -0
  425. package/dist/util/getNormalizedTarget.d.ts +7 -0
  426. package/dist/util/getNormalizedTarget.js +14 -0
  427. package/dist/util/getNormalizedTarget.js.map +1 -0
  428. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  429. package/dist/util/getSingletonElementInstance.js +17 -11
  430. package/dist/util/getSingletonElementInstance.js.map +1 -0
  431. package/dist/util/isElementClickable.d.ts +2 -0
  432. package/dist/util/isElementClickable.js +16 -0
  433. package/dist/util/isElementClickable.js.map +1 -0
  434. package/dist/util/isElementHidden.d.ts +2 -0
  435. package/dist/util/isElementHidden.js +8 -0
  436. package/dist/util/isElementHidden.js.map +1 -0
  437. package/dist/util/isElementInView.d.ts +6 -0
  438. package/dist/util/isElementInView.js +6 -9
  439. package/dist/util/isElementInView.js.map +1 -0
  440. package/dist/util/isElementTabbable.d.ts +9 -0
  441. package/dist/util/isElementTabbable.js +30 -0
  442. package/dist/util/isElementTabbable.js.map +1 -0
  443. package/dist/util/isValidPropertyName.d.ts +8 -0
  444. package/dist/util/isValidPropertyName.js +16 -17
  445. package/dist/util/isValidPropertyName.js.map +1 -0
  446. package/dist/util/whenDOMReady.d.ts +2 -0
  447. package/dist/util/whenDOMReady.js +11 -10
  448. package/dist/util/whenDOMReady.js.map +1 -0
  449. package/dist/util/willShowContent.d.ts +2 -0
  450. package/dist/util/willShowContent.js +7 -0
  451. package/dist/util/willShowContent.js.map +1 -0
  452. package/dist/validateThemeRoot.d.ts +2 -0
  453. package/dist/validateThemeRoot.js +48 -0
  454. package/dist/validateThemeRoot.js.map +1 -0
  455. package/index.js +227 -1
  456. package/lib/generate-asset-parameters/index.js +11 -5
  457. package/lib/generate-styles/index.js +26 -13
  458. package/lib/generate-version-info/index.js +18 -13
  459. package/package-scripts.cjs +71 -0
  460. package/package.json +8 -6
  461. package/src/css/BusyIndicator.css +80 -0
  462. package/src/css/FontFace.css +54 -15
  463. package/tsconfig.json +14 -0
  464. package/config/rollup.config.js +0 -1
  465. package/config/wdio.conf.js +0 -1
  466. package/dist/RenderScheduler.js +0 -44
  467. package/dist/animations/config.js +0 -5
  468. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  469. package/dist/isLegacyBrowser.js +0 -3
  470. package/dist/resources/bundle.esm.js +0 -37
  471. package/dist/resources/bundle.esm.js.map +0 -1
  472. package/dist/test-resources/assets/Themes.js +0 -17
  473. package/dist/test-resources/elements/Child.js +0 -35
  474. package/dist/test-resources/elements/Generic.js +0 -84
  475. package/dist/test-resources/elements/GenericExt.js +0 -26
  476. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  477. package/dist/test-resources/elements/Parent.js +0 -41
  478. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  479. package/dist/test-resources/pages/AllTestElements.html +0 -42
  480. package/dist/test-resources/pages/Configuration.html +0 -18
  481. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  482. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  483. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  484. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  485. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  486. package/dist/test-resources/pages/i18n.html +0 -33
  487. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  488. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  489. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  490. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  491. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  492. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  493. package/dist/test-resources/specs/Theming.spec.js +0 -33
  494. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  495. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  496. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  497. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  498. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  499. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  500. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  501. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  502. package/dist/types/PopupState.js +0 -37
  503. package/dist/util/findNodeOwner.js +0 -35
  504. package/dist/util/isDescendantOf.js +0 -15
  505. package/dist/util/isNodeClickable.js +0 -19
  506. package/dist/util/isNodeHidden.js +0 -9
  507. package/dist/util/isNodeTabbable.js +0 -28
  508. package/dist/util/setToArray.js +0 -10
  509. package/hash.txt +0 -1
  510. package/package-scripts.js +0 -67
  511. package/src/AssetRegistry.js +0 -11
  512. package/src/Boot.js +0 -61
  513. package/src/CustomElementsRegistry.js +0 -95
  514. package/src/CustomElementsScope.js +0 -108
  515. package/src/DOMObserver.js +0 -65
  516. package/src/Device.js +0 -116
  517. package/src/EventProvider.js +0 -85
  518. package/src/FeaturesRegistry.js +0 -14
  519. package/src/FontFace.js +0 -30
  520. package/src/InitialConfiguration.js +0 -166
  521. package/src/Keys.js +0 -271
  522. package/src/ManagedStyles.js +0 -83
  523. package/src/MediaRange.js +0 -109
  524. package/src/PropertiesFileFormat.js +0 -95
  525. package/src/Render.js +0 -175
  526. package/src/RenderQueue.js +0 -66
  527. package/src/RenderScheduler.js +0 -44
  528. package/src/Runtimes.js +0 -107
  529. package/src/StaticArea.js +0 -3
  530. package/src/StaticAreaItem.js +0 -101
  531. package/src/SystemCSSVars.js +0 -10
  532. package/src/UI5Element.js +0 -1023
  533. package/src/UI5ElementMetadata.js +0 -327
  534. package/src/animations/AnimationQueue.js +0 -42
  535. package/src/animations/animate.js +0 -53
  536. package/src/animations/config.js +0 -5
  537. package/src/animations/scroll.js +0 -28
  538. package/src/animations/slideDown.js +0 -79
  539. package/src/animations/slideUp.js +0 -71
  540. package/src/asset-registries/Icons.js +0 -139
  541. package/src/asset-registries/Illustrations.js +0 -30
  542. package/src/asset-registries/LocaleData.js +0 -159
  543. package/src/asset-registries/Themes.js +0 -78
  544. package/src/asset-registries/i18n.js +0 -121
  545. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  546. package/src/config/AnimationMode.js +0 -23
  547. package/src/config/CalendarType.js +0 -18
  548. package/src/config/FormatSettings.js +0 -13
  549. package/src/config/Language.js +0 -68
  550. package/src/config/NoConflict.js +0 -51
  551. package/src/config/RTL.js +0 -31
  552. package/src/config/Theme.js +0 -42
  553. package/src/delegate/ItemNavigation.js +0 -351
  554. package/src/delegate/ResizeHandler.js +0 -106
  555. package/src/delegate/ScrollEnablement.js +0 -188
  556. package/src/features/F6Navigation.js +0 -106
  557. package/src/features/OpenUI5Support.js +0 -125
  558. package/src/getSharedResource.js +0 -30
  559. package/src/i18nBundle.js +0 -86
  560. package/src/isLegacyBrowser.js +0 -3
  561. package/src/locale/Locale.js +0 -91
  562. package/src/locale/RTLAwareRegistry.js +0 -14
  563. package/src/locale/applyDirection.js +0 -17
  564. package/src/locale/directionChange.js +0 -32
  565. package/src/locale/getEffectiveDir.js +0 -28
  566. package/src/locale/getLocale.js +0 -41
  567. package/src/locale/languageChange.js +0 -22
  568. package/src/locale/nextFallbackLocale.js +0 -28
  569. package/src/locale/normalizeLocale.js +0 -54
  570. package/src/renderer/LitRenderer.js +0 -34
  571. package/src/renderer/executeTemplate.js +0 -17
  572. package/src/theming/CustomStyle.js +0 -60
  573. package/src/theming/ThemeLoaded.js +0 -22
  574. package/src/theming/applyTheme.js +0 -79
  575. package/src/theming/getConstructableStyle.js +0 -30
  576. package/src/theming/getEffectiveLinksHrefs.js +0 -20
  577. package/src/theming/getEffectiveStyle.js +0 -30
  578. package/src/theming/getStylesString.js +0 -15
  579. package/src/theming/getThemeDesignerTheme.js +0 -87
  580. package/src/theming/preloadLinks.js +0 -23
  581. package/src/thirdparty/_merge.js +0 -32
  582. package/src/thirdparty/isPlainObject.js +0 -18
  583. package/src/thirdparty/merge.js +0 -10
  584. package/src/types/AnimationMode.js +0 -7
  585. package/src/types/CSSColor.js +0 -9
  586. package/src/types/CSSSize.js +0 -9
  587. package/src/types/CalendarType.js +0 -22
  588. package/src/types/DataType.js +0 -37
  589. package/src/types/Float.js +0 -14
  590. package/src/types/Integer.js +0 -13
  591. package/src/types/InvisibleMessageMode.js +0 -30
  592. package/src/types/ItemNavigationBehavior.js +0 -16
  593. package/src/types/NavigationMode.js +0 -7
  594. package/src/types/PopupState.js +0 -37
  595. package/src/types/ValueState.js +0 -22
  596. package/src/updateShadowRoot.js +0 -30
  597. package/src/util/AriaLabelHelper.js +0 -41
  598. package/src/util/Caret.js +0 -45
  599. package/src/util/ColorConversion.js +0 -370
  600. package/src/util/FetchHelper.js +0 -31
  601. package/src/util/FocusableElements.js +0 -79
  602. package/src/util/InvisibleMessage.js +0 -58
  603. package/src/util/PopupUtils.js +0 -93
  604. package/src/util/SlotsHelper.js +0 -43
  605. package/src/util/StringHelper.js +0 -26
  606. package/src/util/TabbableElements.js +0 -47
  607. package/src/util/arraysAreEqual.js +0 -15
  608. package/src/util/createLinkInHead.js +0 -19
  609. package/src/util/createStyleInHead.js +0 -18
  610. package/src/util/debounce.js +0 -17
  611. package/src/util/detectNavigatorLanguage.js +0 -13
  612. package/src/util/escapeRegex.js +0 -10
  613. package/src/util/findNodeOwner.js +0 -35
  614. package/src/util/formatMessage.js +0 -23
  615. package/src/util/generateHighlightedMarkup.js +0 -42
  616. package/src/util/getActiveElement.js +0 -11
  617. package/src/util/getClassCopy.js +0 -10
  618. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  619. package/src/util/getEffectiveContentDensity.js +0 -5
  620. package/src/util/getSingletonElementInstance.js +0 -13
  621. package/src/util/isDescendantOf.js +0 -15
  622. package/src/util/isElementInView.js +0 -15
  623. package/src/util/isNodeClickable.js +0 -19
  624. package/src/util/isNodeHidden.js +0 -9
  625. package/src/util/isNodeTabbable.js +0 -28
  626. package/src/util/isValidPropertyName.js +0 -29
  627. package/src/util/setToArray.js +0 -10
  628. package/src/util/whenDOMReady.js +0 -13
  629. /package/{config/.eslintrc.js → .eslintrc.cjs} +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,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/hash.txt DELETED
@@ -1 +0,0 @@
1
- 3/RoL3qyFujE4/1ZN8MtO1MKjUE=
@@ -1,67 +0,0 @@
1
- const resolve = require("resolve");
2
-
3
- const assetParametersScript = resolve.sync("@ui5/webcomponents-base/lib/generate-asset-parameters/index.js");
4
- const stylesScript = resolve.sync("@ui5/webcomponents-base/lib/generate-styles/index.js");
5
- const versionScript = resolve.sync("@ui5/webcomponents-base/lib/generate-version-info/index.js");
6
- const serve = resolve.sync("@ui5/webcomponents-tools/lib/serve/index.js");
7
- const generateHash = resolve.sync("@ui5/webcomponents-tools/lib/hash/generate.js");
8
- const hashIsUpToDate = resolve.sync("@ui5/webcomponents-tools/lib/hash/upToDate.js");
9
- const copyUsedModules = resolve.sync("@ui5/webcomponents-tools/lib/copy-list/index.js");
10
- const replaceGlobalCore = resolve.sync("@ui5/webcomponents-tools/lib/replace-global-core/index.js");
11
- const esmAbsToRel = resolve.sync("@ui5/webcomponents-tools/lib/esm-abs-to-rel/index.js");
12
- const UP_TO_DATE = `node "${hashIsUpToDate}" dist/ hash.txt && echo "Up to date."`;
13
-
14
- const scripts = {
15
- clean: "rimraf dist && rimraf .port",
16
- lint: "eslint . --config config/.eslintrc.js",
17
- prepare: "nps clean integrate copy generateAssetParameters generateVersionInfo generateStyles",
18
- integrate: {
19
- default: "nps integrate.copy-used-modules integrate.copy-overlay integrate.replace-amd integrate.replace-export-true integrate.replace-export-false integrate.amd-to-es6 integrate.replace-global-core-usage integrate.esm-abs-to-rel integrate.third-party",
20
- "copy-used-modules": `node "${copyUsedModules}" ./used-modules.txt dist/`,
21
- "copy-overlay": `copy-and-watch "overlay/**/*.js" dist/`,
22
- "replace-amd": "replace-in-file sap.ui.define define dist/**/*.js",
23
- "replace-export-true": `replace-in-file ", /* bExport= */ true" "" dist/**/*.js`,
24
- "replace-export-false": `replace-in-file ", /* bExport= */ false" "" dist/**/*.js`,
25
- "amd-to-es6": "amdtoes6 --src=dist/ --replace --glob=**/*.js",
26
- "replace-global-core-usage": `node "${replaceGlobalCore}" dist/`,
27
- "esm-abs-to-rel": `node "${esmAbsToRel}" dist/ dist/`,
28
- "third-party": {
29
- default: "nps integrate.third-party.copy integrate.third-party.fix",
30
- copy: "mkdirp dist/sap/ui/thirdparty/ && copy-and-watch ../../node_modules/@openui5/sap.ui.core/src/sap/ui/thirdparty/caja-html-sanitizer.js dist/sap/ui/thirdparty/",
31
- fix: "replace-in-file 240 xA0 dist/sap/ui/thirdparty/caja-html-sanitizer.js"
32
- },
33
- },
34
- build: {
35
- default: `${UP_TO_DATE} || nps lint prepare build.bundle hash`,
36
- bundle: "rollup --config config/rollup.config.js",
37
- },
38
- copy: {
39
- default: "nps copy.src copy.test",
40
- src: `copy-and-watch "src/**/*.{js,css}" dist/`,
41
- test: `copy-and-watch "test/**/*.*" dist/test-resources`,
42
- },
43
- generateAssetParameters: `node "${assetParametersScript}"`,
44
- generateVersionInfo: `node "${versionScript}"`,
45
- generateStyles: `node "${stylesScript}"`,
46
- watch: {
47
- default: 'concurrently "nps watch.test" "nps watch.src" "nps watch.bundle" "nps watch.styles"',
48
- src: 'nps "copy.src --watch --skip-initial-copy"',
49
- test: 'nps "copy.test --watch --skip-initial-copy"',
50
- bundle: "rollup --config config/rollup.config.js -w --environment DEV",
51
- styles: 'chokidar "src/css/*.css" -c "nps generateStyles"'
52
- },
53
- dev: 'concurrently "nps serve" "nps watch"',
54
- start: "nps prepare dev",
55
- serve: `node "${serve}" --dir="dist/" --port=9191 --packageName="@ui5/webcomponents-base"`,
56
- test: {
57
- // --success first - report the exit code of the test run (first command to finish), as serve is always terminated and has a non-0 exit code
58
- default: 'concurrently "nps serve" "nps test.run" --kill-others --success first',
59
- run: "cross-env WDIO_LOG_LEVEL=error FORCE_COLOR=0 wdio config/wdio.conf.js",
60
- },
61
- hash: `node "${generateHash}" dist/ hash.txt`,
62
- };
63
-
64
-
65
- module.exports = {
66
- scripts,
67
- };
@@ -1,11 +0,0 @@
1
- import { registerI18nLoader } from "./asset-registries/i18n.js";
2
- import { registerLocaleDataLoader } from "./asset-registries/LocaleData.js";
3
- import { registerThemePropertiesLoader } from "./asset-registries/Themes.js";
4
- import { registerIconLoader } from "./asset-registries/Icons.js";
5
-
6
- export {
7
- registerI18nLoader,
8
- registerLocaleDataLoader,
9
- registerThemePropertiesLoader,
10
- registerIconLoader,
11
- };
package/src/Boot.js DELETED
@@ -1,61 +0,0 @@
1
- import EventProvider from "./EventProvider.js";
2
- import whenDOMReady from "./util/whenDOMReady.js";
3
- import insertFontFace from "./FontFace.js";
4
- import insertSystemCSSVars from "./SystemCSSVars.js";
5
- import { getTheme } from "./config/Theme.js";
6
- import applyTheme from "./theming/applyTheme.js";
7
- import { registerCurrentRuntime } from "./Runtimes.js";
8
- import { getFeature } from "./FeaturesRegistry.js";
9
-
10
- let bootPromise;
11
- const eventProvider = new EventProvider();
12
-
13
- /**
14
- * Attach a callback that will be executed on boot
15
- * @public
16
- * @param listener
17
- */
18
- const attachBoot = listener => {
19
- eventProvider.attachEvent("boot", listener);
20
- };
21
-
22
- const boot = async () => {
23
- if (bootPromise) {
24
- return bootPromise;
25
- }
26
-
27
- /* eslint-disable no-alert, no-async-promise-executor */
28
- /*
29
- Note(since we disable eslint rule):
30
- If an async executor function throws an error, the error will be lost and won't cause the newly-constructed Promise to reject.
31
- This could make it difficult to debug and handle some errors.
32
- */
33
- bootPromise = new Promise(async resolve => {
34
- registerCurrentRuntime();
35
-
36
- const OpenUI5Support = getFeature("OpenUI5Support");
37
- const F6Navigation = getFeature("F6Navigation");
38
- if (OpenUI5Support) {
39
- await OpenUI5Support.init();
40
- } else if (F6Navigation) {
41
- F6Navigation.init();
42
- }
43
-
44
- await whenDOMReady();
45
- await applyTheme(getTheme());
46
- OpenUI5Support && OpenUI5Support.attachListeners();
47
- insertFontFace();
48
- insertSystemCSSVars();
49
- await eventProvider.fireEventAsync("boot");
50
-
51
- resolve();
52
- });
53
- /* eslint-enable no-alert, no-async-promise-executor */
54
-
55
- return bootPromise;
56
- };
57
-
58
- export {
59
- boot,
60
- attachBoot,
61
- };
@@ -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,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
- };