@ui5/webcomponents-base 0.0.0-dc3ccac50 → 0.0.0-dcd8e5389

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 (614) hide show
  1. package/.eslintignore +7 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +558 -0
  4. package/README.md +28 -6
  5. package/bundle.esm.js +17 -11
  6. package/config/wdio.conf.cjs +400 -0
  7. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  8. package/dist/AssetRegistry.js +2 -7
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +56 -28
  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 +69 -30
  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 +55 -0
  23. package/{src/CustomElementsScope.js → dist/CustomElementsScopeUtils.js} +34 -52
  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 +12 -0
  29. package/dist/Device.js +148 -89
  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 -7
  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/InitialConfiguration.d.ts +27 -0
  41. package/dist/InitialConfiguration.js +121 -131
  42. package/dist/InitialConfiguration.js.map +1 -0
  43. package/dist/Keys.d.ts +57 -0
  44. package/dist/Keys.js +174 -244
  45. package/dist/Keys.js.map +1 -0
  46. package/dist/ManagedStyles.d.ts +8 -0
  47. package/dist/ManagedStyles.js +62 -68
  48. package/dist/ManagedStyles.js.map +1 -0
  49. package/dist/MarkedEvents.d.ts +9 -0
  50. package/dist/MarkedEvents.js +15 -0
  51. package/dist/MarkedEvents.js.map +1 -0
  52. package/dist/MediaRange.d.ts +37 -0
  53. package/dist/MediaRange.js +54 -65
  54. package/dist/MediaRange.js.map +1 -0
  55. package/dist/PropertiesFileFormat.d.ts +8 -0
  56. package/dist/PropertiesFileFormat.js +72 -82
  57. package/dist/PropertiesFileFormat.js.map +1 -0
  58. package/dist/Render.d.ts +47 -0
  59. package/dist/Render.js +81 -113
  60. package/dist/Render.js.map +1 -0
  61. package/dist/RenderQueue.d.ts +19 -0
  62. package/dist/RenderQueue.js +52 -62
  63. package/dist/RenderQueue.js.map +1 -0
  64. package/dist/Runtimes.d.ts +27 -0
  65. package/dist/Runtimes.js +86 -0
  66. package/dist/Runtimes.js.map +1 -0
  67. package/dist/StaticArea.d.ts +3 -0
  68. package/dist/StaticArea.js +5 -1
  69. package/dist/StaticArea.js.map +1 -0
  70. package/dist/StaticAreaItem.d.ts +36 -0
  71. package/dist/StaticAreaItem.js +85 -84
  72. package/dist/StaticAreaItem.js.map +1 -0
  73. package/dist/SystemCSSVars.d.ts +2 -0
  74. package/dist/SystemCSSVars.js +4 -5
  75. package/dist/SystemCSSVars.js.map +1 -0
  76. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  77. package/dist/Theming.js +1 -1
  78. package/dist/Theming.js.map +1 -0
  79. package/dist/UI5Element.d.ts +380 -0
  80. package/dist/UI5Element.js +926 -980
  81. package/dist/UI5Element.js.map +1 -0
  82. package/dist/UI5ElementMetadata.d.ts +150 -0
  83. package/dist/UI5ElementMetadata.js +278 -306
  84. package/dist/UI5ElementMetadata.js.map +1 -0
  85. package/dist/animations/AnimationQueue.d.ts +8 -0
  86. package/dist/animations/AnimationQueue.js +31 -38
  87. package/dist/animations/AnimationQueue.js.map +1 -0
  88. package/dist/animations/animate.d.ts +14 -0
  89. package/dist/animations/animate.js +46 -51
  90. package/dist/animations/animate.js.map +1 -0
  91. package/dist/animations/scroll.d.ts +5 -0
  92. package/dist/animations/scroll.js +18 -27
  93. package/dist/animations/scroll.js.map +1 -0
  94. package/dist/animations/slideDown.d.ts +5 -0
  95. package/dist/animations/slideDown.js +53 -78
  96. package/dist/animations/slideDown.js.map +1 -0
  97. package/dist/animations/slideUp.d.ts +5 -0
  98. package/dist/animations/slideUp.js +49 -70
  99. package/dist/animations/slideUp.js.map +1 -0
  100. package/dist/api.json +1 -0
  101. package/dist/asset-registries/Icons.d.ts +38 -0
  102. package/dist/asset-registries/Icons.js +109 -123
  103. package/dist/asset-registries/Icons.js.map +1 -0
  104. package/dist/asset-registries/Illustrations.d.ts +17 -0
  105. package/dist/asset-registries/Illustrations.js +41 -25
  106. package/dist/asset-registries/Illustrations.js.map +1 -0
  107. package/dist/asset-registries/LocaleData.d.ts +7 -0
  108. package/dist/asset-registries/LocaleData.js +104 -127
  109. package/dist/asset-registries/LocaleData.js.map +1 -0
  110. package/dist/asset-registries/Themes.d.ts +11 -0
  111. package/dist/asset-registries/Themes.js +40 -66
  112. package/dist/asset-registries/Themes.js.map +1 -0
  113. package/dist/asset-registries/i18n.d.ts +23 -0
  114. package/dist/asset-registries/i18n.js +61 -81
  115. package/dist/asset-registries/i18n.js.map +1 -0
  116. package/dist/assets/Boot.34b7cea0.css +1 -0
  117. package/dist/assets/Boot.f21d1bf8.js +9 -0
  118. package/dist/assets/bundle.esm.fff719c1.js +50 -0
  119. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  120. package/dist/assets-meta/IconCollectionsAlias.js +30 -10
  121. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  122. package/dist/config/AnimationMode.d.ts +14 -0
  123. package/dist/config/AnimationMode.js +21 -18
  124. package/dist/config/AnimationMode.js.map +1 -0
  125. package/dist/config/CalendarType.d.ts +8 -0
  126. package/dist/config/CalendarType.js +13 -12
  127. package/dist/config/CalendarType.js.map +1 -0
  128. package/dist/config/FormatSettings.d.ts +15 -0
  129. package/dist/config/FormatSettings.js +15 -9
  130. package/dist/config/FormatSettings.js.map +1 -0
  131. package/dist/config/Icons.d.ts +55 -0
  132. package/dist/config/Icons.js +103 -0
  133. package/dist/config/Icons.js.map +1 -0
  134. package/dist/config/Language.d.ts +40 -0
  135. package/dist/config/Language.js +43 -43
  136. package/dist/config/Language.js.map +1 -0
  137. package/dist/config/NoConflict.d.ts +20 -0
  138. package/dist/config/NoConflict.js +41 -41
  139. package/dist/config/NoConflict.js.map +1 -0
  140. package/dist/config/RTL.d.ts +7 -0
  141. package/dist/config/RTL.js +26 -20
  142. package/dist/config/RTL.js.map +1 -0
  143. package/dist/config/Theme.d.ts +38 -0
  144. package/dist/config/Theme.js +57 -29
  145. package/dist/config/Theme.js.map +1 -0
  146. package/dist/config/ThemeRoots.d.ts +4 -0
  147. package/dist/config/ThemeRoots.js +28 -0
  148. package/dist/config/ThemeRoots.js.map +1 -0
  149. package/dist/config/Timezone.d.ts +17 -0
  150. package/dist/config/Timezone.js +30 -0
  151. package/dist/config/Timezone.js.map +1 -0
  152. package/dist/css/BusyIndicator.css +80 -0
  153. package/dist/css/FontFace.css +31 -10
  154. package/dist/decorators/customElement.d.ts +23 -0
  155. package/dist/decorators/customElement.js +37 -0
  156. package/dist/decorators/customElement.js.map +1 -0
  157. package/dist/decorators/event.d.ts +10 -0
  158. package/dist/decorators/event.js +24 -0
  159. package/dist/decorators/event.js.map +1 -0
  160. package/dist/decorators/property.d.ts +9 -0
  161. package/dist/decorators/property.js +24 -0
  162. package/dist/decorators/property.js.map +1 -0
  163. package/dist/decorators/slot.d.ts +9 -0
  164. package/dist/decorators/slot.js +37 -0
  165. package/dist/decorators/slot.js.map +1 -0
  166. package/dist/delegate/ItemNavigation.d.ts +113 -0
  167. package/dist/delegate/ItemNavigation.js +277 -312
  168. package/dist/delegate/ItemNavigation.js.map +1 -0
  169. package/dist/delegate/ResizeHandler.d.ts +25 -0
  170. package/dist/delegate/ResizeHandler.js +72 -91
  171. package/dist/delegate/ResizeHandler.js.map +1 -0
  172. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  173. package/dist/delegate/ScrollEnablement.js +157 -180
  174. package/dist/delegate/ScrollEnablement.js.map +1 -0
  175. package/dist/features/F6Navigation.d.ts +19 -0
  176. package/dist/features/F6Navigation.js +151 -0
  177. package/dist/features/F6Navigation.js.map +1 -0
  178. package/dist/features/LegacyDateFormats.d.ts +18 -0
  179. package/dist/features/LegacyDateFormats.js +20 -0
  180. package/dist/features/LegacyDateFormats.js.map +1 -0
  181. package/dist/features/OpenUI5Element.d.ts +9 -0
  182. package/dist/features/OpenUI5Element.js +5 -0
  183. package/dist/features/OpenUI5Element.js.map +1 -0
  184. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  185. package/dist/features/OpenUI5Enablement.js +96 -0
  186. package/dist/features/OpenUI5Enablement.js.map +1 -0
  187. package/dist/features/OpenUI5Support.d.ts +26 -0
  188. package/dist/features/OpenUI5Support.js +93 -119
  189. package/dist/features/OpenUI5Support.js.map +1 -0
  190. package/dist/generated/AssetParameters.js +3 -1
  191. package/dist/generated/VersionInfo.js +10 -0
  192. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  193. package/dist/generated/css/BusyIndicator.css.js +7 -0
  194. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  195. package/dist/generated/css/FontFace.css.d.ts +3 -0
  196. package/dist/generated/css/FontFace.css.js +7 -5
  197. package/dist/generated/css/FontFace.css.js.map +1 -0
  198. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  199. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  200. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  201. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  202. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  203. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  204. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  205. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  206. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  207. package/dist/getSharedResource.d.ts +11 -0
  208. package/dist/getSharedResource.js +22 -18
  209. package/dist/getSharedResource.js.map +1 -0
  210. package/dist/global.d.ts +40 -0
  211. package/dist/i18nBundle.d.ts +43 -0
  212. package/dist/i18nBundle.js +56 -64
  213. package/dist/i18nBundle.js.map +1 -0
  214. package/dist/locale/Locale.d.ts +22 -0
  215. package/dist/locale/Locale.js +75 -87
  216. package/dist/locale/Locale.js.map +1 -0
  217. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  218. package/dist/locale/RTLAwareRegistry.js +6 -11
  219. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  220. package/dist/locale/applyDirection.d.ts +10 -0
  221. package/dist/locale/applyDirection.js +7 -7
  222. package/dist/locale/applyDirection.js.map +1 -0
  223. package/dist/locale/directionChange.d.ts +15 -0
  224. package/dist/locale/directionChange.js +7 -15
  225. package/dist/locale/directionChange.js.map +1 -0
  226. package/dist/locale/getEffectiveDir.d.ts +2 -0
  227. package/dist/locale/getEffectiveDir.js +20 -24
  228. package/dist/locale/getEffectiveDir.js.map +1 -0
  229. package/dist/locale/getLocale.d.ts +7 -0
  230. package/dist/locale/getLocale.js +26 -29
  231. package/dist/locale/getLocale.js.map +1 -0
  232. package/dist/locale/languageChange.d.ts +5 -0
  233. package/dist/locale/languageChange.js +8 -16
  234. package/dist/locale/languageChange.js.map +1 -0
  235. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  236. package/dist/locale/nextFallbackLocale.js +15 -19
  237. package/dist/locale/nextFallbackLocale.js.map +1 -0
  238. package/dist/locale/normalizeLocale.d.ts +7 -0
  239. package/dist/locale/normalizeLocale.js +34 -41
  240. package/dist/locale/normalizeLocale.js.map +1 -0
  241. package/dist/renderer/LitRenderer.d.ts +14 -0
  242. package/dist/renderer/LitRenderer.js +31 -24
  243. package/dist/renderer/LitRenderer.js.map +1 -0
  244. package/dist/renderer/executeTemplate.d.ts +13 -0
  245. package/dist/renderer/executeTemplate.js +20 -7
  246. package/dist/renderer/executeTemplate.js.map +1 -0
  247. package/dist/sap/base/Log.js +28 -29
  248. package/dist/sap/base/assert.js +5 -6
  249. package/dist/sap/base/security/URLListValidator.js +13 -2
  250. package/dist/sap/base/security/encodeCSS.js +14 -0
  251. package/dist/sap/base/security/encodeXML.js +23 -0
  252. package/dist/sap/base/strings/toHex.js +8 -0
  253. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  254. package/dist/theming/CustomStyle.d.ts +6 -0
  255. package/dist/theming/CustomStyle.js +39 -31
  256. package/dist/theming/CustomStyle.js.map +1 -0
  257. package/dist/theming/ThemeLoaded.d.ts +5 -0
  258. package/dist/theming/ThemeLoaded.js +8 -16
  259. package/dist/theming/ThemeLoaded.js.map +1 -0
  260. package/dist/theming/ThemeRegistered.d.ts +4 -0
  261. package/dist/theming/ThemeRegistered.js +11 -0
  262. package/dist/theming/ThemeRegistered.js.map +1 -0
  263. package/dist/theming/applyTheme.d.ts +2 -0
  264. package/dist/theming/applyTheme.js +60 -60
  265. package/dist/theming/applyTheme.js.map +1 -0
  266. package/dist/theming/getConstructableStyle.d.ts +9 -0
  267. package/dist/theming/getConstructableStyle.js +12 -17
  268. package/dist/theming/getConstructableStyle.js.map +1 -0
  269. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  270. package/dist/theming/getEffectiveLinksHrefs.js +13 -16
  271. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  272. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  273. package/dist/theming/getEffectiveStyle.js +25 -23
  274. package/dist/theming/getEffectiveStyle.js.map +1 -0
  275. package/dist/theming/getStylesString.d.ts +3 -0
  276. package/dist/theming/getStylesString.js +9 -13
  277. package/dist/theming/getStylesString.js.map +1 -0
  278. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  279. package/dist/theming/getThemeDesignerTheme.js +73 -61
  280. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  281. package/dist/theming/preloadLinks.d.ts +3 -0
  282. package/dist/theming/preloadLinks.js +13 -17
  283. package/dist/theming/preloadLinks.js.map +1 -0
  284. package/dist/thirdparty/_merge.d.ts +2 -0
  285. package/dist/thirdparty/_merge.js +7 -4
  286. package/dist/thirdparty/_merge.js.map +1 -0
  287. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  288. package/dist/thirdparty/isPlainObject.js +11 -10
  289. package/dist/thirdparty/isPlainObject.js.map +1 -0
  290. package/dist/thirdparty/merge.d.ts +2 -0
  291. package/dist/thirdparty/merge.js +4 -8
  292. package/dist/thirdparty/merge.js.map +1 -0
  293. package/dist/types/AnimationMode.d.ts +32 -0
  294. package/dist/types/AnimationMode.js +33 -6
  295. package/dist/types/AnimationMode.js.map +1 -0
  296. package/dist/types/CSSColor.d.ts +15 -0
  297. package/dist/types/CSSColor.js +14 -5
  298. package/dist/types/CSSColor.js.map +1 -0
  299. package/dist/types/CalendarType.d.ts +37 -0
  300. package/dist/types/CalendarType.js +35 -18
  301. package/dist/types/CalendarType.js.map +1 -0
  302. package/dist/types/DOMReference.d.ts +17 -0
  303. package/dist/types/DOMReference.js +25 -0
  304. package/dist/types/DOMReference.js.map +1 -0
  305. package/dist/types/DataType.d.ts +25 -0
  306. package/dist/types/DataType.js +33 -26
  307. package/dist/types/DataType.js.map +1 -0
  308. package/dist/types/Float.d.ts +17 -0
  309. package/dist/types/Float.js +17 -10
  310. package/dist/types/Float.js.map +1 -0
  311. package/dist/types/Integer.d.ts +17 -0
  312. package/dist/types/Integer.js +17 -9
  313. package/dist/types/Integer.js.map +1 -0
  314. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  315. package/dist/types/InvisibleMessageMode.js +20 -23
  316. package/dist/types/InvisibleMessageMode.js.map +1 -0
  317. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  318. package/dist/types/ItemNavigationBehavior.js +22 -12
  319. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  320. package/dist/types/NavigationMode.d.ts +32 -0
  321. package/dist/types/NavigationMode.js +33 -6
  322. package/dist/types/NavigationMode.js.map +1 -0
  323. package/dist/types/ValueState.d.ts +42 -0
  324. package/dist/types/ValueState.js +41 -19
  325. package/dist/types/ValueState.js.map +1 -0
  326. package/dist/types.d.ts +18 -0
  327. package/dist/types.js +2 -0
  328. package/dist/types.js.map +1 -0
  329. package/dist/updateShadowRoot.d.ts +8 -0
  330. package/dist/updateShadowRoot.js +29 -18
  331. package/dist/updateShadowRoot.js.map +1 -0
  332. package/dist/util/AriaLabelHelper.d.ts +15 -0
  333. package/dist/util/AriaLabelHelper.js +166 -36
  334. package/dist/util/AriaLabelHelper.js.map +1 -0
  335. package/dist/util/Caret.d.ts +7 -0
  336. package/dist/util/Caret.js +16 -38
  337. package/dist/util/Caret.js.map +1 -0
  338. package/dist/util/ColorConversion.d.ts +30 -0
  339. package/dist/util/ColorConversion.js +315 -348
  340. package/dist/util/ColorConversion.js.map +1 -0
  341. package/dist/util/FetchHelper.d.ts +3 -0
  342. package/dist/util/FetchHelper.js +19 -25
  343. package/dist/util/FetchHelper.js.map +1 -0
  344. package/dist/util/FocusableElements.d.ts +4 -0
  345. package/dist/util/FocusableElements.js +67 -72
  346. package/dist/util/FocusableElements.js.map +1 -0
  347. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  348. package/dist/util/HTMLSanitizer.js +4 -5
  349. package/dist/util/HTMLSanitizer.js.map +1 -0
  350. package/dist/util/InvisibleMessage.d.ts +10 -0
  351. package/dist/util/InvisibleMessage.js +42 -44
  352. package/dist/util/InvisibleMessage.js.map +1 -0
  353. package/dist/util/PopupUtils.d.ts +7 -0
  354. package/dist/util/PopupUtils.js +58 -77
  355. package/dist/util/PopupUtils.js.map +1 -0
  356. package/dist/util/SlotsHelper.d.ts +9 -0
  357. package/dist/util/SlotsHelper.js +22 -35
  358. package/dist/util/SlotsHelper.js.map +1 -0
  359. package/dist/util/StringHelper.d.ts +3 -0
  360. package/dist/util/StringHelper.js +17 -20
  361. package/dist/util/StringHelper.js.map +1 -0
  362. package/dist/util/TabbableElements.d.ts +17 -0
  363. package/dist/util/TabbableElements.js +53 -43
  364. package/dist/util/TabbableElements.js.map +1 -0
  365. package/dist/util/arraysAreEqual.d.ts +2 -0
  366. package/dist/util/arraysAreEqual.js +10 -12
  367. package/dist/util/arraysAreEqual.js.map +1 -0
  368. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  369. package/dist/util/clamp.js +2 -2
  370. package/dist/util/clamp.js.map +1 -0
  371. package/dist/util/createLinkInHead.d.ts +7 -0
  372. package/dist/util/createLinkInHead.js +14 -12
  373. package/dist/util/createLinkInHead.js.map +1 -0
  374. package/dist/util/createStyleInHead.d.ts +8 -0
  375. package/dist/util/createStyleInHead.js +10 -10
  376. package/dist/util/createStyleInHead.js.map +1 -0
  377. package/dist/util/debounce.d.ts +2 -0
  378. package/dist/util/debounce.js +6 -8
  379. package/dist/util/debounce.js.map +1 -0
  380. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  381. package/dist/util/detectNavigatorLanguage.js +7 -10
  382. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  383. package/dist/util/escapeRegex.d.ts +8 -0
  384. package/dist/util/escapeRegex.js +11 -0
  385. package/dist/util/escapeRegex.js.map +1 -0
  386. package/dist/util/formatMessage.d.ts +2 -0
  387. package/dist/util/formatMessage.js +15 -19
  388. package/dist/util/formatMessage.js.map +1 -0
  389. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  390. package/dist/util/generateHighlightedMarkup.js +41 -0
  391. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  392. package/dist/util/getActiveElement.d.ts +2 -0
  393. package/dist/util/getActiveElement.js +6 -8
  394. package/dist/util/getActiveElement.js.map +1 -0
  395. package/dist/util/getClassCopy.d.ts +400 -0
  396. package/dist/util/getClassCopy.js +7 -7
  397. package/dist/util/getClassCopy.js.map +1 -0
  398. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  399. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  400. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  401. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  402. package/dist/util/getEffectiveContentDensity.js +2 -3
  403. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  404. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  405. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  406. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  407. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  408. package/dist/util/getFastNavigationGroups.js +51 -0
  409. package/dist/util/getFastNavigationGroups.js.map +1 -0
  410. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  411. package/dist/util/getFileExtension.js +9 -11
  412. package/dist/util/getFileExtension.js.map +1 -0
  413. package/dist/util/getNormalizedTarget.d.ts +7 -0
  414. package/dist/util/getNormalizedTarget.js +14 -0
  415. package/dist/util/getNormalizedTarget.js.map +1 -0
  416. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  417. package/dist/util/getSingletonElementInstance.js +7 -10
  418. package/dist/util/getSingletonElementInstance.js.map +1 -0
  419. package/dist/util/isElementClickable.d.ts +2 -0
  420. package/dist/util/isElementClickable.js +16 -0
  421. package/dist/util/isElementClickable.js.map +1 -0
  422. package/dist/util/isElementHidden.d.ts +2 -0
  423. package/dist/util/isElementHidden.js +8 -0
  424. package/dist/util/isElementHidden.js.map +1 -0
  425. package/dist/util/isElementInView.d.ts +6 -0
  426. package/dist/util/isElementInView.js +6 -9
  427. package/dist/util/isElementInView.js.map +1 -0
  428. package/dist/util/isElementTabbable.d.ts +9 -0
  429. package/dist/util/isElementTabbable.js +30 -0
  430. package/dist/util/isElementTabbable.js.map +1 -0
  431. package/dist/util/isValidPropertyName.d.ts +8 -0
  432. package/dist/util/isValidPropertyName.js +16 -17
  433. package/dist/util/isValidPropertyName.js.map +1 -0
  434. package/dist/util/whenDOMReady.d.ts +2 -0
  435. package/dist/util/whenDOMReady.js +11 -10
  436. package/dist/util/whenDOMReady.js.map +1 -0
  437. package/dist/util/willShowContent.d.ts +2 -0
  438. package/dist/util/willShowContent.js +7 -0
  439. package/dist/util/willShowContent.js.map +1 -0
  440. package/dist/validateThemeRoot.d.ts +2 -0
  441. package/dist/validateThemeRoot.js +48 -0
  442. package/dist/validateThemeRoot.js.map +1 -0
  443. package/index.js +227 -1
  444. package/lib/generate-asset-parameters/index.js +11 -5
  445. package/lib/generate-styles/index.js +26 -13
  446. package/lib/generate-version-info/index.js +32 -0
  447. package/package-scripts.cjs +71 -0
  448. package/package.json +8 -6
  449. package/src/css/BusyIndicator.css +80 -0
  450. package/src/css/FontFace.css +31 -10
  451. package/tsconfig.json +14 -0
  452. package/used-modules.txt +4 -1
  453. package/config/rollup.config.js +0 -1
  454. package/config/wdio.conf.js +0 -1
  455. package/dist/RenderScheduler.js +0 -44
  456. package/dist/animations/config.js +0 -5
  457. package/dist/isLegacyBrowser.js +0 -3
  458. package/dist/resources/bundle.esm.js +0 -37
  459. package/dist/resources/bundle.esm.js.map +0 -1
  460. package/dist/test-resources/assets/Themes.js +0 -17
  461. package/dist/test-resources/elements/Child.js +0 -35
  462. package/dist/test-resources/elements/Generic.js +0 -84
  463. package/dist/test-resources/elements/GenericExt.js +0 -26
  464. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  465. package/dist/test-resources/elements/Parent.js +0 -41
  466. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  467. package/dist/test-resources/pages/AllTestElements.html +0 -42
  468. package/dist/test-resources/pages/Configuration.html +0 -18
  469. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  470. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  471. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  472. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  473. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  474. package/dist/test-resources/pages/i18n.html +0 -33
  475. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  476. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  477. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  478. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  479. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  480. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  481. package/dist/test-resources/specs/Theming.spec.js +0 -33
  482. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  483. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  484. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  485. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  486. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  487. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  488. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  489. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  490. package/dist/types/CSSSize.js +0 -9
  491. package/dist/types/PopupState.js +0 -37
  492. package/dist/util/encodeCSS.js +0 -24
  493. package/dist/util/findNodeOwner.js +0 -35
  494. package/dist/util/isDescendantOf.js +0 -15
  495. package/dist/util/isNodeClickable.js +0 -19
  496. package/dist/util/isNodeHidden.js +0 -9
  497. package/dist/util/isNodeTabbable.js +0 -28
  498. package/dist/util/setToArray.js +0 -10
  499. package/hash.txt +0 -1
  500. package/package-scripts.js +0 -65
  501. package/src/Boot.js +0 -43
  502. package/src/CustomElementsRegistry.js +0 -39
  503. package/src/DOMObserver.js +0 -65
  504. package/src/Device.js +0 -107
  505. package/src/EventProvider.js +0 -85
  506. package/src/FeaturesRegistry.js +0 -11
  507. package/src/FontFace.js +0 -30
  508. package/src/InitialConfiguration.js +0 -166
  509. package/src/Keys.js +0 -248
  510. package/src/ManagedStyles.js +0 -83
  511. package/src/MediaRange.js +0 -109
  512. package/src/PropertiesFileFormat.js +0 -95
  513. package/src/Render.js +0 -175
  514. package/src/RenderQueue.js +0 -66
  515. package/src/RenderScheduler.js +0 -44
  516. package/src/StaticArea.js +0 -3
  517. package/src/StaticAreaItem.js +0 -98
  518. package/src/SystemCSSVars.js +0 -10
  519. package/src/UI5Element.js +0 -1018
  520. package/src/UI5ElementMetadata.js +0 -319
  521. package/src/animations/AnimationQueue.js +0 -42
  522. package/src/animations/animate.js +0 -53
  523. package/src/animations/config.js +0 -5
  524. package/src/animations/scroll.js +0 -28
  525. package/src/animations/slideDown.js +0 -79
  526. package/src/animations/slideUp.js +0 -71
  527. package/src/asset-registries/Icons.js +0 -139
  528. package/src/asset-registries/Illustrations.js +0 -30
  529. package/src/asset-registries/LocaleData.js +0 -159
  530. package/src/asset-registries/Themes.js +0 -78
  531. package/src/asset-registries/i18n.js +0 -121
  532. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  533. package/src/config/AnimationMode.js +0 -23
  534. package/src/config/CalendarType.js +0 -18
  535. package/src/config/FormatSettings.js +0 -13
  536. package/src/config/Language.js +0 -68
  537. package/src/config/NoConflict.js +0 -51
  538. package/src/config/RTL.js +0 -31
  539. package/src/config/Theme.js +0 -42
  540. package/src/delegate/ItemNavigation.js +0 -351
  541. package/src/delegate/ResizeHandler.js +0 -106
  542. package/src/delegate/ScrollEnablement.js +0 -188
  543. package/src/features/OpenUI5Support.js +0 -125
  544. package/src/getSharedResource.js +0 -30
  545. package/src/i18nBundle.js +0 -86
  546. package/src/isLegacyBrowser.js +0 -3
  547. package/src/locale/Locale.js +0 -91
  548. package/src/locale/RTLAwareRegistry.js +0 -14
  549. package/src/locale/applyDirection.js +0 -17
  550. package/src/locale/directionChange.js +0 -32
  551. package/src/locale/getEffectiveDir.js +0 -28
  552. package/src/locale/getLocale.js +0 -41
  553. package/src/locale/languageChange.js +0 -22
  554. package/src/locale/nextFallbackLocale.js +0 -28
  555. package/src/locale/normalizeLocale.js +0 -54
  556. package/src/renderer/LitRenderer.js +0 -34
  557. package/src/renderer/executeTemplate.js +0 -17
  558. package/src/theming/CustomStyle.js +0 -40
  559. package/src/theming/ThemeLoaded.js +0 -22
  560. package/src/theming/applyTheme.js +0 -75
  561. package/src/theming/getConstructableStyle.js +0 -30
  562. package/src/theming/getEffectiveLinksHrefs.js +0 -20
  563. package/src/theming/getEffectiveStyle.js +0 -30
  564. package/src/theming/getStylesString.js +0 -15
  565. package/src/theming/getThemeDesignerTheme.js +0 -68
  566. package/src/theming/preloadLinks.js +0 -23
  567. package/src/thirdparty/_merge.js +0 -32
  568. package/src/thirdparty/isPlainObject.js +0 -18
  569. package/src/thirdparty/merge.js +0 -10
  570. package/src/types/AnimationMode.js +0 -7
  571. package/src/types/CSSColor.js +0 -9
  572. package/src/types/CSSSize.js +0 -9
  573. package/src/types/CalendarType.js +0 -22
  574. package/src/types/DataType.js +0 -37
  575. package/src/types/Float.js +0 -14
  576. package/src/types/Integer.js +0 -13
  577. package/src/types/InvisibleMessageMode.js +0 -30
  578. package/src/types/ItemNavigationBehavior.js +0 -16
  579. package/src/types/NavigationMode.js +0 -7
  580. package/src/types/PopupState.js +0 -37
  581. package/src/types/ValueState.js +0 -22
  582. package/src/updateShadowRoot.js +0 -30
  583. package/src/util/AriaLabelHelper.js +0 -41
  584. package/src/util/Caret.js +0 -45
  585. package/src/util/ColorConversion.js +0 -370
  586. package/src/util/FetchHelper.js +0 -31
  587. package/src/util/FocusableElements.js +0 -77
  588. package/src/util/InvisibleMessage.js +0 -58
  589. package/src/util/PopupUtils.js +0 -93
  590. package/src/util/SlotsHelper.js +0 -43
  591. package/src/util/StringHelper.js +0 -26
  592. package/src/util/TabbableElements.js +0 -47
  593. package/src/util/arraysAreEqual.js +0 -15
  594. package/src/util/createLinkInHead.js +0 -19
  595. package/src/util/createStyleInHead.js +0 -18
  596. package/src/util/debounce.js +0 -17
  597. package/src/util/detectNavigatorLanguage.js +0 -13
  598. package/src/util/encodeCSS.js +0 -24
  599. package/src/util/findNodeOwner.js +0 -35
  600. package/src/util/formatMessage.js +0 -23
  601. package/src/util/getActiveElement.js +0 -11
  602. package/src/util/getClassCopy.js +0 -10
  603. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  604. package/src/util/getEffectiveContentDensity.js +0 -5
  605. package/src/util/getSingletonElementInstance.js +0 -13
  606. package/src/util/isDescendantOf.js +0 -15
  607. package/src/util/isElementInView.js +0 -15
  608. package/src/util/isNodeClickable.js +0 -19
  609. package/src/util/isNodeHidden.js +0 -9
  610. package/src/util/isNodeTabbable.js +0 -28
  611. package/src/util/isValidPropertyName.js +0 -29
  612. package/src/util/setToArray.js +0 -10
  613. package/src/util/whenDOMReady.js +0 -13
  614. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,77 +0,0 @@
1
- import isNodeHidden from "./isNodeHidden.js";
2
- import isNodeClickable from "./isNodeClickable.js";
3
-
4
- const isFocusTrap = el => {
5
- return el.hasAttribute("data-ui5-focus-trap");
6
- };
7
-
8
- const getFirstFocusableElement = async container => {
9
- if (!container || isNodeHidden(container)) {
10
- return null;
11
- }
12
-
13
- return findFocusableElement(container, true);
14
- };
15
-
16
- const getLastFocusableElement = async container => {
17
- if (!container || isNodeHidden(container)) {
18
- return null;
19
- }
20
-
21
- return findFocusableElement(container, false);
22
- };
23
-
24
- const isElemFocusable = el => {
25
- return el.hasAttribute("data-ui5-focus-redirect") || !isNodeHidden(el);
26
- };
27
-
28
- const findFocusableElement = async (container, forward) => {
29
- let child;
30
-
31
- if (container.shadowRoot) {
32
- child = forward ? container.shadowRoot.firstChild : container.shadowRoot.lastChild;
33
- } else if (container.assignedNodes && container.assignedNodes()) {
34
- const assignedElements = container.assignedNodes();
35
- child = forward ? assignedElements[0] : assignedElements[assignedElements.length - 1];
36
- } else {
37
- child = forward ? container.firstChild : container.lastChild;
38
- }
39
-
40
- let focusableDescendant;
41
-
42
- /* eslint-disable no-await-in-loop */
43
-
44
- while (child) {
45
- const originalChild = child;
46
-
47
- if (child.isUI5Element) {
48
- child = await child.getFocusDomRefAsync();
49
- }
50
-
51
- if (!child) {
52
- return null;
53
- }
54
-
55
- if (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {
56
- if (isNodeClickable(child)) {
57
- return (child && typeof child.focus === "function") ? child : null;
58
- }
59
-
60
- focusableDescendant = await findFocusableElement(child, forward);
61
- if (focusableDescendant) {
62
- return (focusableDescendant && typeof focusableDescendant.focus === "function") ? focusableDescendant : null;
63
- }
64
- }
65
-
66
- child = forward ? originalChild.nextSibling : originalChild.previousSibling;
67
- }
68
-
69
- /* eslint-enable no-await-in-loop */
70
-
71
- return null;
72
- };
73
-
74
- export {
75
- getFirstFocusableElement,
76
- getLastFocusableElement,
77
- };
@@ -1,58 +0,0 @@
1
- import InvisibleMessageMode from "../types/InvisibleMessageMode.js";
2
- import getSingletonElementInstance from "./getSingletonElementInstance.js";
3
- import { attachBoot } from "../Boot.js";
4
-
5
- let politeSpan;
6
- let assertiveSpan;
7
-
8
- attachBoot(() => {
9
- if (politeSpan && assertiveSpan) {
10
- return;
11
- }
12
-
13
- const styles = `position: absolute;
14
- clip: rect(1px,1px,1px,1px);
15
- user-select: none;
16
- left: -1000px;
17
- top: -1000px;
18
- pointer-events: none;`;
19
-
20
- politeSpan = document.createElement("span");
21
- assertiveSpan = document.createElement("span");
22
-
23
- politeSpan.classList.add("ui5-invisiblemessage-polite");
24
- assertiveSpan.classList.add("ui5-invisiblemessage-assertive");
25
-
26
- politeSpan.setAttribute("aria-live", "polite");
27
- assertiveSpan.setAttribute("aria-live", "assertive");
28
-
29
- politeSpan.setAttribute("role", "alert");
30
- assertiveSpan.setAttribute("role", "alert");
31
-
32
- politeSpan.style.cssText = styles;
33
- assertiveSpan.style.cssText = styles;
34
-
35
- getSingletonElementInstance("ui5-static-area").appendChild(politeSpan);
36
- getSingletonElementInstance("ui5-static-area").appendChild(assertiveSpan);
37
- });
38
-
39
- /**
40
- * Inserts the string into the respective span, depending on the mode provided.
41
- *
42
- * @param {string} message String to be announced by the screen reader.
43
- * @param {sap.ui.core.InvisibleMessageMode} mode The mode to be inserted in the aria-live attribute.
44
- */
45
- const announce = (message, mode) => {
46
- // If no type is presented, fallback to polite announcement.
47
- const span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;
48
-
49
- // Set textContent to empty string in order to trigger screen reader's announcement.
50
- span.textContent = "";
51
- span.textContent = message;
52
-
53
- if (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {
54
- console.warn(`You have entered an invalid mode. Valid values are: "Polite" and "Assertive". The framework will automatically set the mode to "Polite".`); // eslint-disable-line
55
- }
56
- };
57
-
58
- export default announce;
@@ -1,93 +0,0 @@
1
- import getSharedResource from "../getSharedResource.js";
2
- import { getFeature } from "../FeaturesRegistry.js";
3
- import getActiveElement from "./getActiveElement.js";
4
-
5
- const PopupUtilsData = getSharedResource("PopupUtilsData", {});
6
- PopupUtilsData.currentZIndex = PopupUtilsData.currentZIndex || 100;
7
-
8
- const getFocusedElement = () => {
9
- const element = getActiveElement();
10
- return (element && typeof element.focus === "function") ? element : null;
11
- };
12
-
13
- const isFocusedElementWithinNode = node => {
14
- const fe = getFocusedElement();
15
-
16
- if (fe) {
17
- return isNodeContainedWithin(node, fe);
18
- }
19
-
20
- return false;
21
- };
22
-
23
- const isNodeContainedWithin = (parent, child) => {
24
- let currentNode = parent;
25
-
26
- if (currentNode.shadowRoot) {
27
- currentNode = Array.from(currentNode.shadowRoot.children).find(n => n.localName !== "style");
28
- }
29
-
30
- if (currentNode === child) {
31
- return true;
32
- }
33
-
34
- const childNodes = currentNode.localName === "slot" ? currentNode.assignedNodes() : currentNode.children;
35
-
36
- if (childNodes) {
37
- return Array.from(childNodes).some(n => isNodeContainedWithin(n, child));
38
- }
39
- };
40
-
41
- const isPointInRect = (x, y, rect) => {
42
- return x >= rect.left && x <= rect.right
43
- && y >= rect.top && y <= rect.bottom;
44
- };
45
-
46
- const isClickInRect = (event, rect) => {
47
- let x;
48
- let y;
49
-
50
- if (event.touches) {
51
- const touch = event.touches[0];
52
- x = touch.clientX;
53
- y = touch.clientY;
54
- } else {
55
- x = event.clientX;
56
- y = event.clientY;
57
- }
58
-
59
- return isPointInRect(x, y, rect);
60
- };
61
-
62
- const getClosedPopupParent = el => {
63
- const parent = el.parentElement || (el.getRootNode && el.getRootNode().host);
64
-
65
- if (parent && ((parent.showAt && parent.isUI5Element) || (parent.open && parent.isUI5Element) || parent === document.documentElement)) {
66
- return parent;
67
- }
68
-
69
- return getClosedPopupParent(parent);
70
- };
71
-
72
- const getNextZIndex = () => {
73
- const OpenUI5Support = getFeature("OpenUI5Support");
74
- if (OpenUI5Support && OpenUI5Support.isLoaded()) { // use OpenUI5 for getting z-index values, if loaded
75
- return OpenUI5Support.getNextZIndex();
76
- }
77
-
78
- PopupUtilsData.currentZIndex += 2;
79
- return PopupUtilsData.currentZIndex;
80
- };
81
-
82
- const getCurrentZIndex = () => {
83
- return PopupUtilsData.currentZIndex;
84
- };
85
-
86
- export {
87
- getFocusedElement,
88
- isClickInRect,
89
- getClosedPopupParent,
90
- getNextZIndex,
91
- getCurrentZIndex,
92
- isFocusedElementWithinNode,
93
- };
@@ -1,43 +0,0 @@
1
- /**
2
- * Determines the slot to which a node should be assigned
3
- * @param node Text node or HTML element
4
- * @returns {string}
5
- */
6
- const getSlotName = node => {
7
- // Text nodes can only go to the default slot
8
- if (!(node instanceof HTMLElement)) {
9
- return "default";
10
- }
11
-
12
- // Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)
13
- const slot = node.getAttribute("slot");
14
- if (slot) {
15
- const match = slot.match(/^(.+?)-\d+$/);
16
- return match ? match[1] : slot;
17
- }
18
-
19
- // Use default slot as a fallback
20
- return "default";
21
- };
22
-
23
- const isSlot = el => el && el instanceof HTMLElement && el.localName === "slot";
24
-
25
- const getSlottedElements = el => {
26
- if (isSlot(el)) {
27
- return el.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);
28
- }
29
-
30
- return [el];
31
- };
32
-
33
- const getSlottedElementsList = elList => {
34
- const reducer = (acc, curr) => acc.concat(getSlottedElements(curr));
35
- return elList.reduce(reducer, []);
36
- };
37
-
38
- export {
39
- getSlotName,
40
- isSlot,
41
- getSlottedElements,
42
- getSlottedElementsList,
43
- };
@@ -1,26 +0,0 @@
1
- const kebabToCamelMap = new Map();
2
- const camelToKebabMap = new Map();
3
-
4
- const kebabToCamelCase = string => {
5
- if (!kebabToCamelMap.has(string)) {
6
- const result = toCamelCase(string.split("-"));
7
- kebabToCamelMap.set(string, result);
8
- }
9
- return kebabToCamelMap.get(string);
10
- };
11
-
12
- const camelToKebabCase = string => {
13
- if (!camelToKebabMap.has(string)) {
14
- const result = string.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
15
- camelToKebabMap.set(string, result);
16
- }
17
- return camelToKebabMap.get(string);
18
- };
19
-
20
- const toCamelCase = parts => {
21
- return parts.map((string, index) => {
22
- return index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
23
- }).join("");
24
- };
25
-
26
- export { kebabToCamelCase, camelToKebabCase };
@@ -1,47 +0,0 @@
1
- import isNodeTabbable from "./isNodeTabbable.js";
2
-
3
- const getTabbableElements = node => {
4
- return getTabbables(node.children);
5
- };
6
-
7
- const getLastTabbableElement = node => {
8
- const tabbables = getTabbables(node.children);
9
- return tabbables.length ? tabbables[tabbables.length - 1] : null;
10
- };
11
-
12
- const getTabbables = (nodes, tabbables) => {
13
- const tabbablesNodes = tabbables || [];
14
-
15
- if (!nodes) {
16
- return tabbablesNodes;
17
- }
18
-
19
- Array.from(nodes).forEach(currentNode => {
20
- if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE || currentNode.hasAttribute("data-sap-no-tab-ref")) {
21
- return;
22
- }
23
-
24
- if (currentNode.shadowRoot) {
25
- // get the root node of the ShadowDom (1st none style tag)
26
- const children = currentNode.shadowRoot.children;
27
- currentNode = Array.from(children).find(node => node.tagName !== "STYLE");
28
- }
29
-
30
- if (isNodeTabbable(currentNode)) {
31
- tabbablesNodes.push(currentNode);
32
- }
33
-
34
- if (currentNode.tagName === "SLOT") {
35
- getTabbables(currentNode.assignedNodes(), tabbablesNodes);
36
- } else {
37
- getTabbables(currentNode.children, tabbablesNodes);
38
- }
39
- });
40
-
41
- return tabbablesNodes;
42
- };
43
-
44
- export {
45
- getTabbableElements,
46
- getLastTabbableElement,
47
- };
@@ -1,15 +0,0 @@
1
- const arraysAreEqual = (arr1, arr2) => {
2
- if (arr1.length !== arr2.length) {
3
- return false;
4
- }
5
-
6
- for (let i = 0; i < arr1.length; i++) {
7
- if (arr1[i] !== arr2[i]) {
8
- return false;
9
- }
10
- }
11
-
12
- return true;
13
- };
14
-
15
- export default arraysAreEqual;
@@ -1,19 +0,0 @@
1
- /**
2
- * Creates a <link> tag in the <head> tag
3
- * @param href - the CSS
4
- * @param attributes - optional attributes to add to the tag
5
- * @returns {HTMLElement}
6
- */
7
- const createLinkInHead = (href, attributes = {}) => {
8
- const link = document.createElement("link");
9
- link.type = "text/css";
10
- link.rel = "stylesheet";
11
-
12
- Object.entries(attributes).forEach(pair => link.setAttribute(...pair));
13
-
14
- link.href = href;
15
- document.head.appendChild(link);
16
- return link;
17
- };
18
-
19
- export default createLinkInHead;
@@ -1,18 +0,0 @@
1
- /**
2
- * Creates a <style> tag in the <head> tag
3
- * @param cssText - the CSS
4
- * @param attributes - optional attributes to add to the tag
5
- * @returns {HTMLElement}
6
- */
7
- const createStyleInHead = (cssText, attributes = {}) => {
8
- const style = document.createElement("style");
9
- style.type = "text/css";
10
-
11
- Object.entries(attributes).forEach(pair => style.setAttribute(...pair));
12
-
13
- style.textContent = cssText;
14
- document.head.appendChild(style);
15
- return style;
16
- };
17
-
18
- export default createStyleInHead;
@@ -1,17 +0,0 @@
1
- /**
2
- * Delays function execution by given threshold.
3
- * @param fn {Function}
4
- * @param delay {Integer}
5
- */
6
-
7
- let debounceInterval = null;
8
-
9
- const debounce = (fn, delay) => {
10
- clearTimeout(debounceInterval);
11
- debounceInterval = setTimeout(() => {
12
- debounceInterval = null;
13
- fn();
14
- }, delay);
15
- };
16
-
17
- export default debounce;
@@ -1,13 +0,0 @@
1
- import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
2
-
3
- export default () => {
4
- const browserLanguages = navigator.languages;
5
-
6
- const navigatorLanguage = () => {
7
- return navigator.language;
8
- };
9
-
10
- const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage() || navigator.userLanguage || navigator.browserLanguage;
11
-
12
- return rawLocale || DEFAULT_LANGUAGE;
13
- };
@@ -1,24 +0,0 @@
1
- const rCSS = /[\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xff\u2028\u2029][0-9A-Fa-f]?/g; // eslint-disable-line
2
-
3
- const toHex = (iChar, iLength) => {
4
- let sHex = iChar.toString(16);
5
- if (iLength) {
6
- sHex = sHex.padStart(iLength, "0");
7
- }
8
- return sHex;
9
- };
10
-
11
- const fnCSS = sChar => {
12
- const iChar = sChar.charCodeAt(0);
13
- if (sChar.length === 1) {
14
- return `\\${toHex(iChar)}`;
15
- }
16
-
17
- return `\\${toHex(iChar)} ${sChar.substr(1)}`;
18
- };
19
-
20
- const encodeCSS = string => {
21
- return string.replace(rCSS, fnCSS);
22
- };
23
-
24
- export default encodeCSS;
@@ -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,23 +0,0 @@
1
- const messageFormatRegEX = /('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g;
2
-
3
- const formatMessage = (text, values) => {
4
- values = values || [];
5
-
6
- return text.replace(messageFormatRegEX, ($0, $1, $2, $3, offset) => {
7
- if ($1) {
8
- return '\''; /* eslint-disable-line */
9
- }
10
-
11
- if ($2) {
12
- return $2.replace(/''/g, '\''); /* eslint-disable-line */
13
- }
14
-
15
- if ($3) {
16
- return String(values[parseInt($3)]);
17
- }
18
-
19
- throw new Error(`[i18n]: pattern syntax error at pos ${offset}`);
20
- });
21
- };
22
-
23
- export default formatMessage;
@@ -1,11 +0,0 @@
1
- const getActiveElement = () => {
2
- let element = document.activeElement;
3
-
4
- while (element && element.shadowRoot && element.shadowRoot.activeElement) {
5
- element = element.shadowRoot.activeElement;
6
- }
7
-
8
- return element;
9
- };
10
-
11
- export default getActiveElement;
@@ -1,10 +0,0 @@
1
- const getClassCopy = (klass, constructorCallback) => {
2
- return class classCopy extends klass {
3
- constructor() {
4
- super();
5
- constructorCallback && constructorCallback();
6
- }
7
- };
8
- };
9
-
10
- export default getClassCopy;
@@ -1,4 +0,0 @@
1
- export default value => {
2
- const m = /\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(value);
3
- return m && m[2] ? m[2].split(/,/) : null;
4
- };
@@ -1,5 +0,0 @@
1
- const GLOBAL_CONTENT_DENSITY_CSS_VAR = "--_ui5_content_density";
2
-
3
- const getEffectiveContentDensity = el => getComputedStyle(el).getPropertyValue(GLOBAL_CONTENT_DENSITY_CSS_VAR);
4
-
5
- export default getEffectiveContentDensity;
@@ -1,13 +0,0 @@
1
- const getSingletonElementInstance = (tag, parentElement = document.body) => {
2
- let el = document.querySelector(tag);
3
-
4
- if (el) {
5
- return el;
6
- }
7
-
8
- el = document.createElement(tag);
9
-
10
- return parentElement.insertBefore(el, parentElement.firstChild);
11
- };
12
-
13
- export default getSingletonElementInstance;
@@ -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,15 +0,0 @@
1
- /**
2
- * Determines if the element is within the viewport.
3
- * @param el {HTMLElement}
4
- */
5
- const isElementInView = el => {
6
- const rect = el.getBoundingClientRect();
7
-
8
- return (
9
- rect.top >= 0 && rect.left >= 0
10
- && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
11
- && rect.right <= (window.innerWidth || document.documentElement.clientWidth)
12
- );
13
- };
14
-
15
- export default isElementInView;
@@ -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.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;