@ui5/webcomponents-base 0.0.0-32b659ddc → 0.0.0-33967dd12

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 (754) hide show
  1. package/.eslintignore +9 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +924 -0
  4. package/README.md +57 -7
  5. package/bundle.esm.js +36 -22
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/AssetRegistry.d.ts +5 -0
  8. package/dist/AssetRegistry.js +6 -9
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +71 -0
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +78 -0
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -0
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/dist/CustomElementsScopeUtils.js +90 -0
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +23 -0
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +159 -816
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -70
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +21 -69
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/IgnoreCustomElements.d.ts +27 -0
  41. package/dist/IgnoreCustomElements.js +39 -0
  42. package/dist/IgnoreCustomElements.js.map +1 -0
  43. package/dist/InitialConfiguration.d.ts +27 -0
  44. package/dist/InitialConfiguration.js +130 -104
  45. package/dist/InitialConfiguration.js.map +1 -0
  46. package/dist/Keys.d.ts +61 -0
  47. package/dist/Keys.js +182 -0
  48. package/dist/Keys.js.map +1 -0
  49. package/dist/ManagedStyles.d.ts +8 -0
  50. package/dist/ManagedStyles.js +84 -0
  51. package/dist/ManagedStyles.js.map +1 -0
  52. package/dist/MarkedEvents.d.ts +9 -0
  53. package/dist/MarkedEvents.js +15 -0
  54. package/dist/MarkedEvents.js.map +1 -0
  55. package/dist/MediaRange.d.ts +37 -0
  56. package/dist/MediaRange.js +98 -0
  57. package/dist/MediaRange.js.map +1 -0
  58. package/dist/PropertiesFileFormat.d.ts +8 -0
  59. package/dist/PropertiesFileFormat.js +85 -0
  60. package/dist/PropertiesFileFormat.js.map +1 -0
  61. package/dist/Render.d.ts +47 -0
  62. package/dist/Render.js +143 -0
  63. package/dist/Render.js.map +1 -0
  64. package/dist/RenderQueue.d.ts +19 -0
  65. package/dist/RenderQueue.js +53 -39
  66. package/dist/RenderQueue.js.map +1 -0
  67. package/dist/Runtimes.d.ts +27 -0
  68. package/dist/Runtimes.js +86 -0
  69. package/dist/Runtimes.js.map +1 -0
  70. package/dist/StaticArea.d.ts +3 -0
  71. package/dist/StaticArea.js +4 -38
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +37 -0
  74. package/dist/StaticAreaItem.js +98 -83
  75. package/dist/StaticAreaItem.js.map +1 -0
  76. package/dist/SystemCSSVars.d.ts +2 -0
  77. package/dist/SystemCSSVars.js +9 -0
  78. package/dist/SystemCSSVars.js.map +1 -0
  79. package/dist/Theming.d.ts +3 -0
  80. package/dist/Theming.js +4 -55
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +380 -0
  83. package/dist/UI5Element.js +950 -851
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -151
  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 +136 -24
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +17 -0
  108. package/dist/asset-registries/Illustrations.js +46 -0
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +126 -98
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +11 -0
  114. package/dist/asset-registries/Themes.js +42 -65
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +84 -57
  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.4ba9c8eb.js +9 -0
  130. package/dist/assets/bundle.esm.3c881d7f.js +50 -0
  131. package/dist/config/AnimationMode.d.ts +14 -0
  132. package/dist/config/AnimationMode.js +23 -10
  133. package/dist/config/AnimationMode.js.map +1 -0
  134. package/dist/config/CalendarType.d.ts +8 -0
  135. package/dist/config/CalendarType.js +14 -17
  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 +66 -10
  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 +65 -23
  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/css/BusyIndicator.css +80 -0
  162. package/dist/css/FontFace.css +84 -0
  163. package/dist/css/OverrideFontFace.css +32 -0
  164. package/dist/css/SystemCSSVars.css +17 -0
  165. package/dist/decorators/customElement.d.ts +23 -0
  166. package/dist/decorators/customElement.js +37 -0
  167. package/dist/decorators/customElement.js.map +1 -0
  168. package/dist/decorators/event.d.ts +10 -0
  169. package/dist/decorators/event.js +24 -0
  170. package/dist/decorators/event.js.map +1 -0
  171. package/dist/decorators/property.d.ts +9 -0
  172. package/dist/decorators/property.js +24 -0
  173. package/dist/decorators/property.js.map +1 -0
  174. package/dist/decorators/slot.d.ts +9 -0
  175. package/dist/decorators/slot.js +37 -0
  176. package/dist/decorators/slot.js.map +1 -0
  177. package/dist/delegate/ItemNavigation.d.ts +113 -0
  178. package/dist/delegate/ItemNavigation.js +312 -274
  179. package/dist/delegate/ItemNavigation.js.map +1 -0
  180. package/dist/delegate/ResizeHandler.d.ts +25 -0
  181. package/dist/delegate/ResizeHandler.js +84 -63
  182. package/dist/delegate/ResizeHandler.js.map +1 -0
  183. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  184. package/dist/delegate/ScrollEnablement.js +159 -100
  185. package/dist/delegate/ScrollEnablement.js.map +1 -0
  186. package/dist/features/F6Navigation.d.ts +19 -0
  187. package/dist/features/F6Navigation.js +151 -0
  188. package/dist/features/F6Navigation.js.map +1 -0
  189. package/dist/features/LegacyDateFormats.d.ts +18 -0
  190. package/dist/features/LegacyDateFormats.js +20 -0
  191. package/dist/features/LegacyDateFormats.js.map +1 -0
  192. package/dist/features/OpenUI5Element.d.ts +9 -0
  193. package/dist/features/OpenUI5Element.js +5 -0
  194. package/dist/features/OpenUI5Element.js.map +1 -0
  195. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  196. package/dist/features/OpenUI5Enablement.js +96 -0
  197. package/dist/features/OpenUI5Enablement.js.map +1 -0
  198. package/dist/features/OpenUI5Support.d.ts +36 -0
  199. package/dist/features/OpenUI5Support.js +151 -73
  200. package/dist/features/OpenUI5Support.js.map +1 -0
  201. package/dist/generated/AssetParameters.js +15 -0
  202. package/dist/generated/VersionInfo.js +10 -0
  203. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  204. package/dist/generated/css/BusyIndicator.css.js +7 -0
  205. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  206. package/dist/generated/css/FontFace.css.d.ts +3 -0
  207. package/dist/generated/css/FontFace.css.js +7 -0
  208. package/dist/generated/css/FontFace.css.js.map +1 -0
  209. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  210. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  211. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  212. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  213. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  214. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  215. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  216. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  217. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  218. package/dist/getSharedResource.d.ts +11 -0
  219. package/dist/getSharedResource.js +40 -0
  220. package/dist/getSharedResource.js.map +1 -0
  221. package/dist/global.d.ts +40 -0
  222. package/dist/i18nBundle.d.ts +43 -0
  223. package/dist/i18nBundle.js +74 -30
  224. package/dist/i18nBundle.js.map +1 -0
  225. package/dist/locale/Locale.d.ts +22 -0
  226. package/dist/locale/Locale.js +79 -0
  227. package/dist/locale/Locale.js.map +1 -0
  228. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  229. package/dist/locale/RTLAwareRegistry.js +9 -0
  230. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  231. package/dist/locale/applyDirection.d.ts +10 -0
  232. package/dist/locale/applyDirection.js +17 -0
  233. package/dist/locale/applyDirection.js.map +1 -0
  234. package/dist/locale/directionChange.d.ts +15 -0
  235. package/dist/locale/directionChange.js +24 -0
  236. package/dist/locale/directionChange.js.map +1 -0
  237. package/dist/locale/getEffectiveDir.d.ts +2 -0
  238. package/dist/locale/getEffectiveDir.js +24 -0
  239. package/dist/locale/getEffectiveDir.js.map +1 -0
  240. package/dist/locale/getLocale.d.ts +7 -0
  241. package/dist/locale/getLocale.js +38 -0
  242. package/dist/locale/getLocale.js.map +1 -0
  243. package/dist/locale/languageChange.d.ts +5 -0
  244. package/dist/locale/languageChange.js +14 -0
  245. package/dist/locale/languageChange.js.map +1 -0
  246. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  247. package/dist/locale/nextFallbackLocale.js +24 -0
  248. package/dist/locale/nextFallbackLocale.js.map +1 -0
  249. package/dist/locale/normalizeLocale.d.ts +7 -0
  250. package/dist/locale/normalizeLocale.js +47 -0
  251. package/dist/locale/normalizeLocale.js.map +1 -0
  252. package/dist/renderer/LitRenderer.d.ts +14 -0
  253. package/dist/renderer/LitRenderer.js +38 -12
  254. package/dist/renderer/LitRenderer.js.map +1 -0
  255. package/dist/renderer/directives/style-map.js +72 -0
  256. package/dist/renderer/executeTemplate.d.ts +13 -0
  257. package/dist/renderer/executeTemplate.js +30 -0
  258. package/dist/renderer/executeTemplate.js.map +1 -0
  259. package/dist/sap/base/Log.js +240 -0
  260. package/dist/sap/base/assert.js +7 -0
  261. package/dist/sap/base/security/URLListValidator.js +159 -0
  262. package/dist/sap/base/security/encodeCSS.js +14 -0
  263. package/dist/sap/base/security/encodeXML.js +23 -0
  264. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  265. package/dist/sap/base/strings/toHex.js +8 -0
  266. package/dist/sap/base/util/now.js +7 -0
  267. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  268. package/dist/theming/CustomStyle.d.ts +6 -0
  269. package/dist/theming/CustomStyle.js +46 -17
  270. package/dist/theming/CustomStyle.js.map +1 -0
  271. package/dist/theming/ThemeLoaded.d.ts +5 -0
  272. package/dist/theming/ThemeLoaded.js +14 -0
  273. package/dist/theming/ThemeLoaded.js.map +1 -0
  274. package/dist/theming/ThemeRegistered.d.ts +4 -0
  275. package/dist/theming/ThemeRegistered.js +11 -0
  276. package/dist/theming/ThemeRegistered.js.map +1 -0
  277. package/dist/theming/applyTheme.d.ts +2 -0
  278. package/dist/theming/applyTheme.js +77 -0
  279. package/dist/theming/applyTheme.js.map +1 -0
  280. package/dist/theming/getConstructableStyle.d.ts +9 -0
  281. package/dist/theming/getConstructableStyle.js +25 -0
  282. package/dist/theming/getConstructableStyle.js.map +1 -0
  283. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  284. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  285. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  286. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  287. package/dist/theming/getEffectiveStyle.js +32 -0
  288. package/dist/theming/getEffectiveStyle.js.map +1 -0
  289. package/dist/theming/getStylesString.d.ts +3 -0
  290. package/dist/theming/getStylesString.js +11 -0
  291. package/dist/theming/getStylesString.js.map +1 -0
  292. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  293. package/dist/theming/getThemeDesignerTheme.js +80 -0
  294. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  295. package/dist/theming/preloadLinks.d.ts +3 -0
  296. package/dist/theming/preloadLinks.js +19 -0
  297. package/dist/theming/preloadLinks.js.map +1 -0
  298. package/dist/thirdparty/_merge.d.ts +2 -0
  299. package/dist/thirdparty/_merge.js +35 -0
  300. package/dist/thirdparty/_merge.js.map +1 -0
  301. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  302. package/dist/thirdparty/isPlainObject.js +19 -0
  303. package/dist/thirdparty/isPlainObject.js.map +1 -0
  304. package/dist/thirdparty/merge.d.ts +2 -0
  305. package/dist/thirdparty/merge.js +6 -0
  306. package/dist/thirdparty/merge.js.map +1 -0
  307. package/dist/types/AnimationMode.d.ts +32 -0
  308. package/dist/types/AnimationMode.js +33 -6
  309. package/dist/types/AnimationMode.js.map +1 -0
  310. package/dist/types/CSSColor.d.ts +15 -0
  311. package/dist/types/CSSColor.js +18 -0
  312. package/dist/types/CSSColor.js.map +1 -0
  313. package/dist/types/CalendarType.d.ts +37 -0
  314. package/dist/types/CalendarType.js +39 -0
  315. package/dist/types/CalendarType.js.map +1 -0
  316. package/dist/types/DOMReference.d.ts +17 -0
  317. package/dist/types/DOMReference.js +25 -0
  318. package/dist/types/DOMReference.js.map +1 -0
  319. package/dist/types/DataType.d.ts +25 -0
  320. package/dist/types/DataType.js +33 -14
  321. package/dist/types/DataType.js.map +1 -0
  322. package/dist/types/Float.d.ts +17 -0
  323. package/dist/types/Float.js +21 -0
  324. package/dist/types/Float.js.map +1 -0
  325. package/dist/types/Integer.d.ts +17 -0
  326. package/dist/types/Integer.js +17 -5
  327. package/dist/types/Integer.js.map +1 -0
  328. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  329. package/dist/types/InvisibleMessageMode.js +27 -0
  330. package/dist/types/InvisibleMessageMode.js.map +1 -0
  331. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  332. package/dist/types/ItemNavigationBehavior.js +22 -17
  333. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  334. package/dist/types/NavigationMode.d.ts +32 -0
  335. package/dist/types/NavigationMode.js +33 -5
  336. package/dist/types/NavigationMode.js.map +1 -0
  337. package/dist/types/ValueState.d.ts +42 -0
  338. package/dist/types/ValueState.js +41 -19
  339. package/dist/types/ValueState.js.map +1 -0
  340. package/dist/types.d.ts +18 -0
  341. package/dist/types.js +2 -0
  342. package/dist/types.js.map +1 -0
  343. package/dist/updateShadowRoot.d.ts +8 -0
  344. package/dist/updateShadowRoot.js +41 -0
  345. package/dist/updateShadowRoot.js.map +1 -0
  346. package/dist/util/AriaLabelHelper.d.ts +15 -0
  347. package/dist/util/AriaLabelHelper.js +171 -0
  348. package/dist/util/AriaLabelHelper.js.map +1 -0
  349. package/dist/util/Caret.d.ts +7 -0
  350. package/dist/util/Caret.js +23 -0
  351. package/dist/util/Caret.js.map +1 -0
  352. package/dist/util/ColorConversion.d.ts +30 -0
  353. package/dist/util/ColorConversion.js +337 -0
  354. package/dist/util/ColorConversion.js.map +1 -0
  355. package/dist/util/FetchHelper.d.ts +3 -0
  356. package/dist/util/FetchHelper.js +19 -25
  357. package/dist/util/FetchHelper.js.map +1 -0
  358. package/dist/util/FocusableElements.d.ts +4 -0
  359. package/dist/util/FocusableElements.js +68 -56
  360. package/dist/util/FocusableElements.js.map +1 -0
  361. package/dist/util/HTMLSanitizer.d.ts +3 -0
  362. package/dist/util/HTMLSanitizer.js +6 -0
  363. package/dist/util/HTMLSanitizer.js.map +1 -0
  364. package/dist/util/InvisibleMessage.d.ts +10 -0
  365. package/dist/util/InvisibleMessage.js +56 -0
  366. package/dist/util/InvisibleMessage.js.map +1 -0
  367. package/dist/util/PopupUtils.d.ts +7 -0
  368. package/dist/util/PopupUtils.js +74 -0
  369. package/dist/util/PopupUtils.js.map +1 -0
  370. package/dist/util/SlotsHelper.d.ts +9 -0
  371. package/dist/util/SlotsHelper.js +30 -0
  372. package/dist/util/SlotsHelper.js.map +1 -0
  373. package/dist/util/StringHelper.d.ts +3 -0
  374. package/dist/util/StringHelper.js +17 -20
  375. package/dist/util/StringHelper.js.map +1 -0
  376. package/dist/util/TabbableElements.d.ts +17 -0
  377. package/dist/util/TabbableElements.js +53 -40
  378. package/dist/util/TabbableElements.js.map +1 -0
  379. package/dist/util/arraysAreEqual.d.ts +2 -0
  380. package/dist/util/arraysAreEqual.js +13 -0
  381. package/dist/util/arraysAreEqual.js.map +1 -0
  382. package/dist/util/clamp.d.ts +9 -0
  383. package/dist/util/clamp.js +12 -0
  384. package/dist/util/clamp.js.map +1 -0
  385. package/dist/util/createLinkInHead.d.ts +7 -0
  386. package/dist/util/createLinkInHead.js +21 -0
  387. package/dist/util/createLinkInHead.js.map +1 -0
  388. package/dist/util/createStyleInHead.d.ts +8 -0
  389. package/dist/util/createStyleInHead.js +10 -10
  390. package/dist/util/createStyleInHead.js.map +1 -0
  391. package/dist/util/debounce.d.ts +2 -0
  392. package/dist/util/debounce.js +15 -0
  393. package/dist/util/debounce.js.map +1 -0
  394. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  395. package/dist/util/detectNavigatorLanguage.js +8 -9
  396. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  397. package/dist/util/escapeRegex.d.ts +8 -0
  398. package/dist/util/escapeRegex.js +11 -0
  399. package/dist/util/escapeRegex.js.map +1 -0
  400. package/dist/util/formatMessage.d.ts +2 -0
  401. package/dist/util/formatMessage.js +15 -19
  402. package/dist/util/formatMessage.js.map +1 -0
  403. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  404. package/dist/util/generateHighlightedMarkup.js +41 -0
  405. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  406. package/dist/util/getActiveElement.d.ts +2 -0
  407. package/dist/util/getActiveElement.js +9 -0
  408. package/dist/util/getActiveElement.js.map +1 -0
  409. package/dist/util/getClassCopy.d.ts +400 -0
  410. package/dist/util/getClassCopy.js +10 -0
  411. package/dist/util/getClassCopy.js.map +1 -0
  412. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  413. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  414. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  415. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  416. package/dist/util/getEffectiveContentDensity.js +4 -0
  417. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  418. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  419. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  420. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  421. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  422. package/dist/util/getFastNavigationGroups.js +51 -0
  423. package/dist/util/getFastNavigationGroups.js.map +1 -0
  424. package/dist/util/getFileExtension.d.ts +12 -0
  425. package/dist/util/getFileExtension.js +19 -0
  426. package/dist/util/getFileExtension.js.map +1 -0
  427. package/dist/util/getNormalizedTarget.d.ts +7 -0
  428. package/dist/util/getNormalizedTarget.js +14 -0
  429. package/dist/util/getNormalizedTarget.js.map +1 -0
  430. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  431. package/dist/util/getSingletonElementInstance.js +19 -0
  432. package/dist/util/getSingletonElementInstance.js.map +1 -0
  433. package/dist/util/isElementClickable.d.ts +2 -0
  434. package/dist/util/isElementClickable.js +16 -0
  435. package/dist/util/isElementClickable.js.map +1 -0
  436. package/dist/util/isElementHidden.d.ts +2 -0
  437. package/dist/util/isElementHidden.js +8 -0
  438. package/dist/util/isElementHidden.js.map +1 -0
  439. package/dist/util/isElementInView.d.ts +6 -0
  440. package/dist/util/isElementInView.js +12 -0
  441. package/dist/util/isElementInView.js.map +1 -0
  442. package/dist/util/isElementTabbable.d.ts +9 -0
  443. package/dist/util/isElementTabbable.js +30 -0
  444. package/dist/util/isElementTabbable.js.map +1 -0
  445. package/dist/util/isValidPropertyName.d.ts +8 -0
  446. package/dist/util/isValidPropertyName.js +20 -12
  447. package/dist/util/isValidPropertyName.js.map +1 -0
  448. package/dist/util/whenDOMReady.d.ts +2 -0
  449. package/dist/util/whenDOMReady.js +11 -10
  450. package/dist/util/whenDOMReady.js.map +1 -0
  451. package/dist/util/willShowContent.d.ts +2 -0
  452. package/dist/util/willShowContent.js +7 -0
  453. package/dist/util/willShowContent.js.map +1 -0
  454. package/dist/validateThemeRoot.d.ts +2 -0
  455. package/dist/validateThemeRoot.js +48 -0
  456. package/dist/validateThemeRoot.js.map +1 -0
  457. package/index.js +228 -2
  458. package/lib/generate-asset-parameters/index.js +27 -0
  459. package/lib/generate-styles/index.js +31 -0
  460. package/lib/generate-version-info/index.js +32 -0
  461. package/package-scripts.cjs +71 -0
  462. package/package.json +21 -13
  463. package/src/css/BusyIndicator.css +80 -0
  464. package/src/css/FontFace.css +84 -0
  465. package/src/css/OverrideFontFace.css +32 -0
  466. package/src/css/SystemCSSVars.css +17 -0
  467. package/src/renderer/directives/style-map.js +72 -0
  468. package/tsconfig.json +14 -0
  469. package/used-modules.txt +10 -0
  470. package/bundle.es5.js +0 -28
  471. package/config/rollup.config.js +0 -1
  472. package/config/wdio.conf.js +0 -1
  473. package/dist/Assets.js +0 -2
  474. package/dist/CSS.js +0 -48
  475. package/dist/FormatSettings.js +0 -31
  476. package/dist/Locale.js +0 -101
  477. package/dist/LocaleProvider.js +0 -34
  478. package/dist/RenderScheduler.js +0 -165
  479. package/dist/ResourceLoaderOverrides.js +0 -38
  480. package/dist/SVGIconRegistry.js +0 -54
  481. package/dist/animations/config.js +0 -5
  482. package/dist/boot.js +0 -32
  483. package/dist/compatibility/DOMObserver.js +0 -62
  484. package/dist/compatibility/patchNodeValue.js +0 -24
  485. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  486. package/dist/dates/CalendarDate.js +0 -203
  487. package/dist/dates/CalendarType.js +0 -22
  488. package/dist/dates/CalendarUtils.js +0 -99
  489. package/dist/delegate/CustomResize.js +0 -78
  490. package/dist/delegate/NativeResize.js +0 -44
  491. package/dist/events/PseudoEvents.js +0 -58
  492. package/dist/features/browsersupport/Edge.js +0 -6
  493. package/dist/features/browsersupport/IE11.js +0 -41
  494. package/dist/features/calendar/Buddhist.js +0 -1
  495. package/dist/features/calendar/Islamic.js +0 -1
  496. package/dist/features/calendar/Japanese.js +0 -1
  497. package/dist/features/calendar/Persian.js +0 -1
  498. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5906
  499. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5906
  500. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5906
  501. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4979
  502. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4996
  503. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5498
  504. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4888
  505. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4916
  506. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4917
  507. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4915
  508. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4883
  509. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4883
  510. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4970
  511. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4962
  512. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4971
  513. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4977
  514. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4971
  515. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4972
  516. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4971
  517. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4972
  518. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4973
  519. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4972
  520. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4912
  521. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4914
  522. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4913
  523. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4914
  524. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4913
  525. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4915
  526. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4913
  527. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4915
  528. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4914
  529. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4967
  530. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4883
  531. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -5008
  532. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4979
  533. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4979
  534. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4973
  535. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4997
  536. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4979
  537. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5378
  538. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4829
  539. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4919
  540. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4856
  541. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4658
  542. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4950
  543. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4950
  544. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4830
  545. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4725
  546. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4738
  547. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5481
  548. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -5112
  549. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4515
  550. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4977
  551. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4884
  552. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4884
  553. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5176
  554. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4805
  555. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4940
  556. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -5090
  557. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5407
  558. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5407
  559. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5370
  560. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5340
  561. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -5126
  562. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -5011
  563. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4797
  564. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4979
  565. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5353
  566. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4673
  567. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4632
  568. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4640
  569. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4640
  570. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4728
  571. package/dist/json-imports/LocaleData.js +0 -171
  572. package/dist/renderer/ifDefined.js +0 -21
  573. package/dist/resources/bundle.es5.js +0 -212
  574. package/dist/resources/bundle.es5.js.map +0 -1
  575. package/dist/resources/bundle.esm.js +0 -123
  576. package/dist/resources/bundle.esm.js.map +0 -1
  577. package/dist/shims/Core-shim.js +0 -53
  578. package/dist/test-resources/assets/Themes.js +0 -13
  579. package/dist/test-resources/dev-helpers/ExternalThemePresent.js +0 -3
  580. package/dist/test-resources/elements/Child.js +0 -35
  581. package/dist/test-resources/elements/Generic.js +0 -84
  582. package/dist/test-resources/elements/GenericExt.js +0 -26
  583. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  584. package/dist/test-resources/elements/Parent.js +0 -37
  585. package/dist/test-resources/pages/AllTestElements.html +0 -40
  586. package/dist/test-resources/pages/Configuration.html +0 -20
  587. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  588. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  589. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  590. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  591. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  592. package/dist/test-resources/specs/Theming.spec.js +0 -31
  593. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  594. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  595. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  596. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  597. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  598. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  599. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  600. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  601. package/dist/theming/StyleInjection.js +0 -67
  602. package/dist/thirdparty/Array.from.js +0 -16
  603. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  604. package/dist/thirdparty/Array.prototype.find.js +0 -46
  605. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  606. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  607. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  608. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  609. package/dist/thirdparty/Number.isInteger.js +0 -5
  610. package/dist/thirdparty/Number.isNaN.js +0 -1
  611. package/dist/thirdparty/Number.parseInt.js +0 -1
  612. package/dist/thirdparty/Object.assign.js +0 -31
  613. package/dist/thirdparty/Object.entries.js +0 -11
  614. package/dist/thirdparty/Symbol.js +0 -2
  615. package/dist/thirdparty/WeakSet.js +0 -27
  616. package/dist/thirdparty/events-polyfills.js +0 -89
  617. package/dist/thirdparty/fetch.js +0 -1
  618. package/dist/thirdparty/template.js +0 -600
  619. package/dist/types/CSSSize.js +0 -9
  620. package/dist/types/PopupState.js +0 -37
  621. package/dist/util/CSSTransformUtils.js +0 -90
  622. package/dist/util/isDescendantOf.js +0 -15
  623. package/dist/util/isNodeClickable.js +0 -19
  624. package/dist/util/isNodeHidden.js +0 -13
  625. package/dist/util/isNodeTabbable.js +0 -28
  626. package/dist/util/normalizeLocale.js +0 -77
  627. package/dist/webcomponentsjs/LICENSE.md +0 -19
  628. package/dist/webcomponentsjs/README.md +0 -229
  629. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  630. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  631. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  632. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  633. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  634. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  635. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  636. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  637. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  638. package/dist/webcomponentsjs/package.json +0 -46
  639. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  640. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  641. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  642. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  643. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  644. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  645. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  646. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  647. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  648. package/package-scripts.js +0 -42
  649. package/src/AssetRegistry.js +0 -9
  650. package/src/Assets.js +0 -2
  651. package/src/CSS.js +0 -48
  652. package/src/Device.js +0 -823
  653. package/src/EventProvider.js +0 -73
  654. package/src/FeaturesRegistry.js +0 -11
  655. package/src/FontFace.js +0 -73
  656. package/src/FormatSettings.js +0 -31
  657. package/src/InitialConfiguration.js +0 -130
  658. package/src/Locale.js +0 -101
  659. package/src/LocaleProvider.js +0 -34
  660. package/src/RenderQueue.js +0 -42
  661. package/src/RenderScheduler.js +0 -165
  662. package/src/ResourceLoaderOverrides.js +0 -38
  663. package/src/SVGIconRegistry.js +0 -54
  664. package/src/StaticArea.js +0 -41
  665. package/src/StaticAreaItem.js +0 -90
  666. package/src/Theming.js +0 -55
  667. package/src/UI5Element.js +0 -869
  668. package/src/UI5ElementMetadata.js +0 -164
  669. package/src/animations/AnimationQueue.js +0 -42
  670. package/src/animations/animate.js +0 -53
  671. package/src/animations/config.js +0 -5
  672. package/src/animations/scroll.js +0 -28
  673. package/src/animations/slideDown.js +0 -79
  674. package/src/animations/slideUp.js +0 -71
  675. package/src/asset-registries/Icons.js +0 -24
  676. package/src/asset-registries/LocaleData.js +0 -108
  677. package/src/asset-registries/Themes.js +0 -75
  678. package/src/asset-registries/i18n.js +0 -74
  679. package/src/boot.js +0 -32
  680. package/src/compatibility/DOMObserver.js +0 -62
  681. package/src/compatibility/patchNodeValue.js +0 -24
  682. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  683. package/src/config/AnimationMode.js +0 -13
  684. package/src/config/CalendarType.js +0 -22
  685. package/src/config/FormatSettings.js +0 -13
  686. package/src/config/Language.js +0 -12
  687. package/src/config/NoConflict.js +0 -51
  688. package/src/config/RTL.js +0 -31
  689. package/src/config/Theme.js +0 -28
  690. package/src/dates/CalendarDate.js +0 -203
  691. package/src/dates/CalendarType.js +0 -22
  692. package/src/dates/CalendarUtils.js +0 -99
  693. package/src/delegate/CustomResize.js +0 -78
  694. package/src/delegate/ItemNavigation.js +0 -278
  695. package/src/delegate/NativeResize.js +0 -44
  696. package/src/delegate/ResizeHandler.js +0 -66
  697. package/src/delegate/ScrollEnablement.js +0 -106
  698. package/src/events/PseudoEvents.js +0 -58
  699. package/src/features/OpenUI5Support.js +0 -76
  700. package/src/features/browsersupport/Edge.js +0 -6
  701. package/src/features/browsersupport/IE11.js +0 -41
  702. package/src/features/calendar/Buddhist.js +0 -1
  703. package/src/features/calendar/Islamic.js +0 -1
  704. package/src/features/calendar/Japanese.js +0 -1
  705. package/src/features/calendar/Persian.js +0 -1
  706. package/src/i18nBundle.js +0 -35
  707. package/src/json-imports/LocaleData.js +0 -171
  708. package/src/renderer/LitRenderer.js +0 -15
  709. package/src/renderer/ifDefined.js +0 -21
  710. package/src/shims/Core-shim.js +0 -53
  711. package/src/theming/CustomStyle.js +0 -19
  712. package/src/theming/StyleInjection.js +0 -67
  713. package/src/thirdparty/Array.from.js +0 -16
  714. package/src/thirdparty/Array.prototype.fill.js +0 -44
  715. package/src/thirdparty/Array.prototype.find.js +0 -46
  716. package/src/thirdparty/Array.prototype.includes.js +0 -51
  717. package/src/thirdparty/Element.prototype.closest.js +0 -11
  718. package/src/thirdparty/Element.prototype.matches.js +0 -6
  719. package/src/thirdparty/Map.prototype.keys.js +0 -9
  720. package/src/thirdparty/Number.isInteger.js +0 -5
  721. package/src/thirdparty/Number.isNaN.js +0 -1
  722. package/src/thirdparty/Number.parseInt.js +0 -1
  723. package/src/thirdparty/Object.assign.js +0 -31
  724. package/src/thirdparty/Object.entries.js +0 -11
  725. package/src/thirdparty/Symbol.js +0 -2
  726. package/src/thirdparty/WeakSet.js +0 -27
  727. package/src/thirdparty/events-polyfills.js +0 -89
  728. package/src/thirdparty/fetch.js +0 -1
  729. package/src/thirdparty/template.js +0 -600
  730. package/src/types/AnimationMode.js +0 -7
  731. package/src/types/CSSSize.js +0 -9
  732. package/src/types/DataType.js +0 -25
  733. package/src/types/Integer.js +0 -9
  734. package/src/types/ItemNavigationBehavior.js +0 -21
  735. package/src/types/NavigationMode.js +0 -6
  736. package/src/types/PopupState.js +0 -37
  737. package/src/types/ValueState.js +0 -22
  738. package/src/util/CSSTransformUtils.js +0 -90
  739. package/src/util/FetchHelper.js +0 -31
  740. package/src/util/FocusableElements.js +0 -60
  741. package/src/util/StringHelper.js +0 -26
  742. package/src/util/TabbableElements.js +0 -44
  743. package/src/util/createStyleInHead.js +0 -18
  744. package/src/util/detectNavigatorLanguage.js +0 -11
  745. package/src/util/formatMessage.js +0 -23
  746. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  747. package/src/util/isDescendantOf.js +0 -15
  748. package/src/util/isNodeClickable.js +0 -19
  749. package/src/util/isNodeHidden.js +0 -13
  750. package/src/util/isNodeTabbable.js +0 -28
  751. package/src/util/isValidPropertyName.js +0 -20
  752. package/src/util/normalizeLocale.js +0 -77
  753. package/src/util/whenDOMReady.js +0 -13
  754. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,56 @@
1
+ import InvisibleMessageMode from "../types/InvisibleMessageMode.js";
2
+ import getSingletonElementInstance from "./getSingletonElementInstance.js";
3
+ import { attachBoot } from "../Boot.js";
4
+ let politeSpan;
5
+ let assertiveSpan;
6
+ const setOutOfViewportStyles = (el) => {
7
+ el.style.position = "absolute";
8
+ el.style.clip = "rect(1px,1px,1px,1px)";
9
+ el.style.userSelect = "none";
10
+ el.style.left = "-1000px";
11
+ el.style.top = "-1000px";
12
+ el.style.pointerEvents = "none";
13
+ };
14
+ attachBoot(() => {
15
+ if (politeSpan && assertiveSpan) {
16
+ return;
17
+ }
18
+ politeSpan = document.createElement("span");
19
+ assertiveSpan = document.createElement("span");
20
+ politeSpan.classList.add("ui5-invisiblemessage-polite");
21
+ assertiveSpan.classList.add("ui5-invisiblemessage-assertive");
22
+ politeSpan.setAttribute("aria-live", "polite");
23
+ assertiveSpan.setAttribute("aria-live", "assertive");
24
+ politeSpan.setAttribute("role", "alert");
25
+ assertiveSpan.setAttribute("role", "alert");
26
+ setOutOfViewportStyles(politeSpan);
27
+ setOutOfViewportStyles(assertiveSpan);
28
+ getSingletonElementInstance("ui5-static-area").appendChild(politeSpan);
29
+ getSingletonElementInstance("ui5-static-area").appendChild(assertiveSpan);
30
+ });
31
+ /**
32
+ * Inserts the string into the respective span, depending on the mode provided.
33
+ *
34
+ * @param { string } message String to be announced by the screen reader.
35
+ * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.
36
+ * @public
37
+ */
38
+ const announce = (message, mode) => {
39
+ // If no type is presented, fallback to polite announcement.
40
+ const span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;
41
+ // Set textContent to empty string in order to trigger screen reader's announcement.
42
+ span.textContent = "";
43
+ span.textContent = message;
44
+ if (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {
45
+ 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
46
+ }
47
+ // clear the span in order to avoid reading it out while in JAWS reading node
48
+ setTimeout(() => {
49
+ // ensure that we clear the text node only if no announce is made in the meantime
50
+ if (span.textContent === message) {
51
+ span.textContent = "";
52
+ }
53
+ }, 3000);
54
+ };
55
+ export default announce;
56
+ //# sourceMappingURL=InvisibleMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvisibleMessage.js","sourceRoot":"","sources":["../../src/util/InvisibleMessage.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,IAAI,UAAuB,CAAC;AAC5B,IAAI,aAA0B,CAAC;AAE/B,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC/B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACxC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAC7B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;IACzB,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACjC,CAAC,CAAC;AAEF,UAAU,CAAC,GAAG,EAAE;IACf,IAAI,UAAU,IAAI,aAAa,EAAE;QAChC,OAAO;KACP;IAED,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACxD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9D,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/C,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAErD,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEtC,2BAA2B,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACvE,2BAA2B,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,IAA+B,EAAE,EAAE;IACrE,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAElF,oFAAoF;IACpF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAE3B,IAAI,IAAI,KAAK,oBAAoB,CAAC,SAAS,IAAI,IAAI,KAAK,oBAAoB,CAAC,MAAM,EAAE;QACpF,OAAO,CAAC,IAAI,CAAC,0IAA0I,CAAC,CAAC,CAAC,sBAAsB;KAChL;IAED,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE;QACf,iFAAiF;QACjF,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACtB;IACF,CAAC,EAAE,IAAI,CAAC,CAAC;AACV,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import InvisibleMessageMode from \"../types/InvisibleMessageMode.js\";\nimport getSingletonElementInstance from \"./getSingletonElementInstance.js\";\nimport { attachBoot } from \"../Boot.js\";\n\nlet politeSpan: HTMLElement;\nlet assertiveSpan: HTMLElement;\n\nconst setOutOfViewportStyles = (el: HTMLElement) => {\n\tel.style.position = \"absolute\";\n\tel.style.clip = \"rect(1px,1px,1px,1px)\";\n\tel.style.userSelect = \"none\";\n\tel.style.left = \"-1000px\";\n\tel.style.top = \"-1000px\";\n\tel.style.pointerEvents = \"none\";\n};\n\nattachBoot(() => {\n\tif (politeSpan && assertiveSpan) {\n\t\treturn;\n\t}\n\n\tpoliteSpan = document.createElement(\"span\");\n\tassertiveSpan = document.createElement(\"span\");\n\n\tpoliteSpan.classList.add(\"ui5-invisiblemessage-polite\");\n\tassertiveSpan.classList.add(\"ui5-invisiblemessage-assertive\");\n\n\tpoliteSpan.setAttribute(\"aria-live\", \"polite\");\n\tassertiveSpan.setAttribute(\"aria-live\", \"assertive\");\n\n\tpoliteSpan.setAttribute(\"role\", \"alert\");\n\tassertiveSpan.setAttribute(\"role\", \"alert\");\n\n\tsetOutOfViewportStyles(politeSpan);\n\tsetOutOfViewportStyles(assertiveSpan);\n\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(politeSpan);\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(assertiveSpan);\n});\n\n/**\n * Inserts the string into the respective span, depending on the mode provided.\n *\n * @param { string } message String to be announced by the screen reader.\n * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.\n * @public\n */\nconst announce = (message: string, mode: `${InvisibleMessageMode}`) => {\n\t// If no type is presented, fallback to polite announcement.\n\tconst span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;\n\n\t// Set textContent to empty string in order to trigger screen reader's announcement.\n\tspan.textContent = \"\";\n\tspan.textContent = message;\n\n\tif (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {\n\t\tconsole.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\n\t}\n\n\t// clear the span in order to avoid reading it out while in JAWS reading node\n\tsetTimeout(() => {\n\t\t// ensure that we clear the text node only if no announce is made in the meantime\n\t\tif (span.textContent === message) {\n\t\t\tspan.textContent = \"\";\n\t\t}\n\t}, 3000);\n};\n\nexport default announce;\n"]}
@@ -0,0 +1,7 @@
1
+ declare const getFocusedElement: () => HTMLElement | null;
2
+ declare const isFocusedElementWithinNode: (node: HTMLElement) => boolean;
3
+ declare const isClickInRect: (e: MouseEvent | TouchEvent, rect: DOMRect) => boolean;
4
+ declare const getClosedPopupParent: (el: HTMLElement) => HTMLElement;
5
+ declare const getNextZIndex: () => number | undefined;
6
+ declare const getCurrentZIndex: () => number;
7
+ export { getFocusedElement, isClickInRect, getClosedPopupParent, getNextZIndex, getCurrentZIndex, isFocusedElementWithinNode, };
@@ -0,0 +1,74 @@
1
+ import getSharedResource from "../getSharedResource.js";
2
+ import { getFeature } from "../FeaturesRegistry.js";
3
+ import getActiveElement from "./getActiveElement.js";
4
+ const popupUtilsData = getSharedResource("PopupUtilsData", { currentZIndex: 100 });
5
+ const getFocusedElement = () => {
6
+ const element = getActiveElement();
7
+ return (element && typeof element.focus === "function") ? element : null;
8
+ };
9
+ const isFocusedElementWithinNode = (node) => {
10
+ const fe = getFocusedElement();
11
+ if (fe) {
12
+ return isNodeContainedWithin(node, fe);
13
+ }
14
+ return false;
15
+ };
16
+ const isNodeContainedWithin = (parent, child) => {
17
+ let currentNode = parent;
18
+ if (currentNode.shadowRoot) {
19
+ const children = Array.from(currentNode.shadowRoot.children);
20
+ currentNode = children.find(n => n.localName !== "style");
21
+ if (!currentNode) {
22
+ return false;
23
+ }
24
+ }
25
+ if (currentNode === child) {
26
+ return true;
27
+ }
28
+ const childNodes = currentNode.localName === "slot" ? currentNode.assignedNodes() : currentNode.children;
29
+ if (childNodes) {
30
+ return Array.from(childNodes).some(n => isNodeContainedWithin(n, child));
31
+ }
32
+ return false;
33
+ };
34
+ const isPointInRect = (x, y, rect) => {
35
+ return x >= rect.left && x <= rect.right
36
+ && y >= rect.top && y <= rect.bottom;
37
+ };
38
+ const isClickInRect = (e, rect) => {
39
+ let x;
40
+ let y;
41
+ if (e instanceof MouseEvent) {
42
+ x = e.clientX;
43
+ y = e.clientY;
44
+ }
45
+ else {
46
+ const touch = e.touches[0];
47
+ x = touch.clientX;
48
+ y = touch.clientY;
49
+ }
50
+ return isPointInRect(x, y, rect);
51
+ };
52
+ function instanceOfPopup(object) {
53
+ return "isUI5Element" in object && "_show" in object;
54
+ }
55
+ const getClosedPopupParent = (el) => {
56
+ const parent = el.parentElement || (el.getRootNode && el.getRootNode().host);
57
+ if (parent && ((instanceOfPopup(parent) || parent === document.documentElement))) {
58
+ return parent;
59
+ }
60
+ return getClosedPopupParent(parent);
61
+ };
62
+ const getNextZIndex = () => {
63
+ const openUI5Support = getFeature("OpenUI5Support");
64
+ if (openUI5Support && openUI5Support.isOpenUI5Detected()) { // use OpenUI5 for getting z-index values, if loaded
65
+ return openUI5Support.getNextZIndex();
66
+ }
67
+ popupUtilsData.currentZIndex += 2;
68
+ return popupUtilsData.currentZIndex;
69
+ };
70
+ const getCurrentZIndex = () => {
71
+ return popupUtilsData.currentZIndex;
72
+ };
73
+ export { getFocusedElement, isClickInRect, getClosedPopupParent, getNextZIndex, getCurrentZIndex, isFocusedElementWithinNode, };
74
+ //# sourceMappingURL=PopupUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupUtils.js","sourceRoot":"","sources":["../../src/util/PopupUtils.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAOrD,MAAM,cAAc,GAAG,iBAAiB,CAAiB,gBAAgB,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;AAEnG,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,gBAAgB,EAAiB,CAAC;IAClD,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,IAAiB,EAAE,EAAE;IACxD,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAE/B,IAAI,EAAE,EAAE;QACP,OAAO,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACvC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,MAAmB,EAAE,KAAkB,EAAW,EAAE;IAClF,IAAI,WAAW,GAA4B,MAAM,CAAC;IAElD,IAAI,WAAW,CAAC,UAAU,EAAE;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAuB,CAAC;QACnF,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,WAAW,EAAE;YACjB,OAAO,KAAK,CAAC;SACb;KACD;IAED,IAAI,WAAW,KAAK,KAAK,EAAE;QAC1B,OAAO,IAAI,CAAC;KACZ;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAE,WAA+B,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;IAE9H,IAAI,UAAU,EAAE;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;KACxF;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,IAAa,EAAE,EAAE;IAC7D,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;WACpC,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,CAA0B,EAAE,IAAa,EAAE,EAAE;IACnE,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC;IAEN,IAAI,CAAC,YAAY,UAAU,EAAE;QAC5B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACd,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;KACd;SAAM;QACN,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAClB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;KAClB;IAED,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAMF,SAAS,eAAe,CAAC,MAAW;IACnC,OAAO,cAAc,IAAI,MAAM,IAAI,OAAO,IAAI,MAAM,CAAC;AACtD,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,EAAe,EAAe,EAAE;IAC7D,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,WAAW,IAAK,EAAE,CAAC,WAAW,EAAiB,CAAC,IAAI,CAAC,CAAC;IAE7F,IAAI,MAAM,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE;QACjF,OAAO,MAAqB,CAAC;KAC7B;IAED,OAAO,oBAAoB,CAAC,MAAqB,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,GAAG,EAAE;IAC1B,MAAM,cAAc,GAAG,UAAU,CAAwB,gBAAgB,CAAC,CAAC;IAC3E,IAAI,cAAc,IAAI,cAAc,CAAC,iBAAiB,EAAE,EAAE,EAAE,oDAAoD;QAC/G,OAAO,cAAc,CAAC,aAAa,EAAE,CAAC;KACtC;IAED,cAAc,CAAC,aAAa,IAAI,CAAC,CAAC;IAClC,OAAO,cAAc,CAAC,aAAa,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC7B,OAAO,cAAc,CAAC,aAAa,CAAC;AACrC,CAAC,CAAC;AAEF,OAAO,EACN,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,0BAA0B,GAC1B,CAAC","sourcesContent":["import getSharedResource from \"../getSharedResource.js\";\nimport { getFeature } from \"../FeaturesRegistry.js\";\nimport getActiveElement from \"./getActiveElement.js\";\nimport type OpenUI5Support from \"../features/OpenUI5Support.js\";\n\ntype PopupUtilsData = {\n\tcurrentZIndex: number\n};\n\nconst popupUtilsData = getSharedResource<PopupUtilsData>(\"PopupUtilsData\", { currentZIndex: 100 });\n\nconst getFocusedElement = () => {\n\tconst element = getActiveElement() as HTMLElement;\n\treturn (element && typeof element.focus === \"function\") ? element : null;\n};\n\nconst isFocusedElementWithinNode = (node: HTMLElement) => {\n\tconst fe = getFocusedElement();\n\n\tif (fe) {\n\t\treturn isNodeContainedWithin(node, fe);\n\t}\n\n\treturn false;\n};\n\nconst isNodeContainedWithin = (parent: HTMLElement, child: HTMLElement): boolean => {\n\tlet currentNode: HTMLElement | undefined = parent;\n\n\tif (currentNode.shadowRoot) {\n\t\tconst children = Array.from(currentNode.shadowRoot.children) as Array<HTMLElement>;\n\t\tcurrentNode = children.find(n => n.localName !== \"style\");\n\n\t\tif (!currentNode) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (currentNode === child) {\n\t\treturn true;\n\t}\n\n\tconst childNodes = currentNode.localName === \"slot\" ? (currentNode as HTMLSlotElement).assignedNodes() : currentNode.children;\n\n\tif (childNodes) {\n\t\treturn Array.from(childNodes).some(n => isNodeContainedWithin(n as HTMLElement, child));\n\t}\n\n\treturn false;\n};\n\nconst isPointInRect = (x: number, y: number, rect: DOMRect) => {\n\treturn x >= rect.left && x <= rect.right\n\t\t&& y >= rect.top && y <= rect.bottom;\n};\n\nconst isClickInRect = (e: MouseEvent | TouchEvent, rect: DOMRect) => {\n\tlet x;\n\tlet y;\n\n\tif (e instanceof MouseEvent) {\n\t\tx = e.clientX;\n\t\ty = e.clientY;\n\t} else {\n\t\tconst touch = e.touches[0];\n\t\tx = touch.clientX;\n\t\ty = touch.clientY;\n\t}\n\n\treturn isPointInRect(x, y, rect);\n};\n\ninterface PopupInterface { // Refactor: replace with Popup.js\n\t_show: () => void,\n\topen: boolean,\n}\nfunction instanceOfPopup(object: any): object is PopupInterface {\n\treturn \"isUI5Element\" in object && \"_show\" in object;\n}\n\nconst getClosedPopupParent = (el: HTMLElement): HTMLElement => {\n\tconst parent = el.parentElement || (el.getRootNode && (el.getRootNode() as ShadowRoot).host);\n\n\tif (parent && ((instanceOfPopup(parent) || parent === document.documentElement))) {\n\t\treturn parent as HTMLElement;\n\t}\n\n\treturn getClosedPopupParent(parent as HTMLElement);\n};\n\nconst getNextZIndex = () => {\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\tif (openUI5Support && openUI5Support.isOpenUI5Detected()) { // use OpenUI5 for getting z-index values, if loaded\n\t\treturn openUI5Support.getNextZIndex();\n\t}\n\n\tpopupUtilsData.currentZIndex += 2;\n\treturn popupUtilsData.currentZIndex;\n};\n\nconst getCurrentZIndex = () => {\n\treturn popupUtilsData.currentZIndex;\n};\n\nexport {\n\tgetFocusedElement,\n\tisClickInRect,\n\tgetClosedPopupParent,\n\tgetNextZIndex,\n\tgetCurrentZIndex,\n\tisFocusedElementWithinNode,\n};\n"]}
@@ -0,0 +1,9 @@
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
+ declare const getSlotName: (node: Node) => string;
7
+ declare const getSlottedNodes: (node: Node) => Node[];
8
+ declare const getSlottedNodesList: (nodeList: Array<Node>) => Node[];
9
+ export { getSlotName, getSlottedNodes, getSlottedNodesList, };
@@ -0,0 +1,30 @@
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
+ // Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)
12
+ const slot = node.getAttribute("slot");
13
+ if (slot) {
14
+ const match = slot.match(/^(.+?)-\d+$/);
15
+ return match ? match[1] : slot;
16
+ }
17
+ // Use default slot as a fallback
18
+ return "default";
19
+ };
20
+ const getSlottedNodes = (node) => {
21
+ if (node instanceof HTMLSlotElement) {
22
+ return node.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);
23
+ }
24
+ return [node];
25
+ };
26
+ const getSlottedNodesList = (nodeList) => {
27
+ return nodeList.reduce((acc, curr) => acc.concat(getSlottedNodes(curr)), []);
28
+ };
29
+ export { getSlotName, getSlottedNodes, getSlottedNodesList, };
30
+ //# sourceMappingURL=SlotsHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotsHelper.js","sourceRoot":"","sources":["../../src/util/SlotsHelper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,GAAG,CAAC,IAAU,EAAE,EAAE;IAClC,6CAA6C;IAC7C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC,EAAE;QACnC,OAAO,SAAS,CAAC;KACjB;IAED,kGAAkG;IAClG,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KAC/B;IAED,iCAAiC;IACjC,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,EAAE;IACtC,IAAI,IAAI,YAAY,eAAe,EAAE;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,CAAC;KACzF;IAED,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAAqB,EAAE,EAAE;IACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAiB,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,OAAO,EACN,WAAW,EACX,eAAe,EACf,mBAAmB,GACnB,CAAC","sourcesContent":["/**\n * Determines the slot to which a node should be assigned\n * @param node Text node or HTML element\n * @returns {string}\n */\nconst getSlotName = (node: Node) => {\n\t// Text nodes can only go to the default slot\n\tif (!(node instanceof HTMLElement)) {\n\t\treturn \"default\";\n\t}\n\n\t// Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)\n\tconst slot = node.getAttribute(\"slot\");\n\tif (slot) {\n\t\tconst match = slot.match(/^(.+?)-\\d+$/);\n\t\treturn match ? match[1] : slot;\n\t}\n\n\t// Use default slot as a fallback\n\treturn \"default\";\n};\n\nconst getSlottedNodes = (node: Node) => {\n\tif (node instanceof HTMLSlotElement) {\n\t\treturn node.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);\n\t}\n\n\treturn [node];\n};\n\nconst getSlottedNodesList = (nodeList: Array<Node>) => {\n\treturn nodeList.reduce((acc, curr) => acc.concat(getSlottedNodes(curr)), [] as Array<Node>);\n};\n\nexport {\n\tgetSlotName,\n\tgetSlottedNodes,\n\tgetSlottedNodesList,\n};\n"]}
@@ -0,0 +1,3 @@
1
+ declare const kebabToCamelCase: (string: string) => string;
2
+ declare const camelToKebabCase: (string: string) => string;
3
+ export { kebabToCamelCase, camelToKebabCase };
@@ -1,26 +1,23 @@
1
1
  const kebabToCamelMap = new Map();
2
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);
3
+ const kebabToCamelCase = (string) => {
4
+ if (!kebabToCamelMap.has(string)) {
5
+ const result = toCamelCase(string.split("-"));
6
+ kebabToCamelMap.set(string, result);
7
+ }
8
+ return kebabToCamelMap.get(string);
10
9
  };
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);
10
+ const camelToKebabCase = (string) => {
11
+ if (!camelToKebabMap.has(string)) {
12
+ const result = string.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
13
+ camelToKebabMap.set(string, result);
14
+ }
15
+ return camelToKebabMap.get(string);
18
16
  };
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("");
17
+ const toCamelCase = (parts) => {
18
+ return parts.map((string, index) => {
19
+ return index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
20
+ }).join("");
24
21
  };
25
-
26
22
  export { kebabToCamelCase, camelToKebabCase };
23
+ //# sourceMappingURL=StringHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringHelper.js","sourceRoot":"","sources":["../../src/util/StringHelper.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAElD,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAClC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["const kebabToCamelMap = new Map<string, string>();\nconst camelToKebabMap = new Map<string, string>();\n\nconst kebabToCamelCase = (string: string) => {\n\tif (!kebabToCamelMap.has(string)) {\n\t\tconst result = toCamelCase(string.split(\"-\"));\n\t\tkebabToCamelMap.set(string, result);\n\t}\n\treturn kebabToCamelMap.get(string)!;\n};\n\nconst camelToKebabCase = (string: string) => {\n\tif (!camelToKebabMap.has(string)) {\n\t\tconst result = string.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n\t\tcamelToKebabMap.set(string, result);\n\t}\n\treturn camelToKebabMap.get(string)!;\n};\n\nconst toCamelCase = (parts: Array<string>) => {\n\treturn parts.map((string, index) => {\n\t\treturn index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n\t}).join(\"\");\n};\n\nexport { kebabToCamelCase, camelToKebabCase };\n"]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns the tabbable elements within the provided HTMLElement.
3
+ *
4
+ * @public
5
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
6
+ * @returns { Array<HTMLElement> } the tabbable elements
7
+ */
8
+ declare const getTabbableElements: (el: HTMLElement) => Array<HTMLElement>;
9
+ /**
10
+ * Returns the last tabbable element within the provided HTMLElement.
11
+ *
12
+ * @public
13
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
14
+ * @returns { HTMLElement | null } the last tabbable element or "null" if not found
15
+ */
16
+ declare const getLastTabbableElement: (el: HTMLElement) => HTMLElement | null;
17
+ export { getTabbableElements, getLastTabbableElement, };
@@ -1,44 +1,57 @@
1
-
2
- import isNodeTabbable from "./isNodeTabbable.js";
3
-
4
- const getTabbableElements = node => {
5
- return getTabbables(node.children);
1
+ import isElementTabbable from "./isElementTabbable.js";
2
+ /**
3
+ * Returns the tabbable elements within the provided HTMLElement.
4
+ *
5
+ * @public
6
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
7
+ * @returns { Array<HTMLElement> } the tabbable elements
8
+ */
9
+ const getTabbableElements = (el) => {
10
+ return getTabbables([...el.children]);
6
11
  };
7
-
8
- const getLastTabbableElement = node => {
9
- const tabbables = getTabbables(node.children);
10
- return tabbables.length ? tabbables[tabbables.length - 1] : null;
12
+ /**
13
+ * Returns the last tabbable element within the provided HTMLElement.
14
+ *
15
+ * @public
16
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
17
+ * @returns { HTMLElement | null } the last tabbable element or "null" if not found
18
+ */
19
+ const getLastTabbableElement = (el) => {
20
+ const tabbables = getTabbables([...el.children]);
21
+ return tabbables.length ? tabbables[tabbables.length - 1] : null;
11
22
  };
12
-
13
23
  const getTabbables = (nodes, tabbables) => {
14
- const tabbablesNodes = tabbables || [];
15
-
16
- Array.from(nodes).forEach(currentNode => {
17
- if (currentNode.nodeType === Node.TEXT_NODE) {
18
- return;
19
- }
20
-
21
- if (currentNode.shadowRoot) {
22
- // get the root node of the ShadowDom (1st none style tag)
23
- const children = currentNode.shadowRoot.children;
24
- currentNode = Array.from(children).find(node => node.tagName !== "STYLE");
25
- }
26
-
27
- if (isNodeTabbable(currentNode)) {
28
- tabbablesNodes.push(currentNode);
29
- }
30
-
31
- if (currentNode.tagName === "SLOT") {
32
- getTabbables(currentNode.assignedNodes(), tabbablesNodes);
33
- } else {
34
- getTabbables(currentNode.children, tabbablesNodes);
35
- }
36
- });
37
-
38
- return tabbablesNodes;
39
- };
40
-
41
- export {
42
- getTabbableElements,
43
- getLastTabbableElement,
24
+ const tabbableElements = tabbables || [];
25
+ if (!nodes) {
26
+ return tabbableElements;
27
+ }
28
+ nodes.forEach(currentNode => {
29
+ if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {
30
+ return;
31
+ }
32
+ let currentElement = currentNode;
33
+ if (currentElement.hasAttribute("data-sap-no-tab-ref")) {
34
+ return;
35
+ }
36
+ if (currentElement.shadowRoot) {
37
+ // get the root node of the ShadowDom (1st none style tag)
38
+ const children = currentElement.shadowRoot.children;
39
+ currentElement = Array.from(children).find(node => node.tagName !== "STYLE");
40
+ }
41
+ if (!currentElement) {
42
+ return;
43
+ }
44
+ if (isElementTabbable(currentElement)) {
45
+ tabbableElements.push(currentElement);
46
+ }
47
+ if (currentElement.tagName === "SLOT") {
48
+ getTabbables(currentElement.assignedNodes(), tabbableElements);
49
+ }
50
+ else {
51
+ getTabbables([...currentElement.children], tabbableElements);
52
+ }
53
+ });
54
+ return tabbableElements;
44
55
  };
56
+ export { getTabbableElements, getLastTabbableElement, };
57
+ //# sourceMappingURL=TabbableElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabbableElements.js","sourceRoot":"","sources":["../../src/util/TabbableElements.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAAC,EAAe,EAAsB,EAAE;IACnE,OAAO,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAsB,EAAE;IACtE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,SAA8B,EAAsB,EAAE;IAC/F,MAAM,gBAAgB,GAAG,SAAS,IAAI,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACX,OAAO,gBAAgB,CAAC;KACxB;IAED,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC3B,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;YAC1F,OAAO;SACP;QAED,IAAI,cAAc,GAAG,WAA0B,CAAC;QAChD,IAAI,cAAc,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;YACvD,OAAO;SACP;QAED,IAAI,cAAc,CAAC,UAAU,EAAE;YAC9B,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC;YACpD,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAgB,CAAC;SAC5F;QAED,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO;SACP;QAED,IAAI,iBAAiB,CAAC,cAAc,CAAC,EAAE;YACtC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACtC;QAED,IAAI,cAAc,CAAC,OAAO,KAAK,MAAM,EAAE;YACtC,YAAY,CAAE,cAAkC,CAAC,aAAa,EAAwB,EAAE,gBAAgB,CAAC,CAAC;SAC1G;aAAM;YACN,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;SAC7D;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AACzB,CAAC,CAAC;AAEF,OAAO,EACN,mBAAmB,EACnB,sBAAsB,GACtB,CAAC","sourcesContent":["import isElementTabbable from \"./isElementTabbable.js\";\n\n/**\n * Returns the tabbable elements within the provided HTMLElement.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { Array<HTMLElement> } the tabbable elements\n */\nconst getTabbableElements = (el: HTMLElement): Array<HTMLElement> => {\n\treturn getTabbables([...el.children]);\n};\n\n/**\n * Returns the last tabbable element within the provided HTMLElement.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { HTMLElement | null } the last tabbable element or \"null\" if not found\n */\nconst getLastTabbableElement = (el: HTMLElement): HTMLElement | null => {\n\tconst tabbables = getTabbables([...el.children]);\n\treturn tabbables.length ? tabbables[tabbables.length - 1] : null;\n};\n\nconst getTabbables = (nodes: Array<Node>, tabbables?: Array<HTMLElement>): Array<HTMLElement> => {\n\tconst tabbableElements = tabbables || [];\n\n\tif (!nodes) {\n\t\treturn tabbableElements;\n\t}\n\n\tnodes.forEach(currentNode => {\n\t\tif (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet currentElement = currentNode as HTMLElement;\n\t\tif (currentElement.hasAttribute(\"data-sap-no-tab-ref\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (currentElement.shadowRoot) {\n\t\t\t// get the root node of the ShadowDom (1st none style tag)\n\t\t\tconst children = currentElement.shadowRoot.children;\n\t\t\tcurrentElement = Array.from(children).find(node => node.tagName !== \"STYLE\") as HTMLElement;\n\t\t}\n\n\t\tif (!currentElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isElementTabbable(currentElement)) {\n\t\t\ttabbableElements.push(currentElement);\n\t\t}\n\n\t\tif (currentElement.tagName === \"SLOT\") {\n\t\t\tgetTabbables((currentElement as HTMLSlotElement).assignedNodes() as Array<HTMLElement>, tabbableElements);\n\t\t} else {\n\t\t\tgetTabbables([...currentElement.children], tabbableElements);\n\t\t}\n\t});\n\n\treturn tabbableElements;\n};\n\nexport {\n\tgetTabbableElements,\n\tgetLastTabbableElement,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ declare const arraysAreEqual: (arr1: Array<any>, arr2: Array<any>) => boolean;
2
+ export default arraysAreEqual;
@@ -0,0 +1,13 @@
1
+ const arraysAreEqual = (arr1, arr2) => {
2
+ if (arr1.length !== arr2.length) {
3
+ return false;
4
+ }
5
+ for (let i = 0; i < arr1.length; i++) {
6
+ if (arr1[i] !== arr2[i]) {
7
+ return false;
8
+ }
9
+ }
10
+ return true;
11
+ };
12
+ export default arraysAreEqual;
13
+ //# sourceMappingURL=arraysAreEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arraysAreEqual.js","sourceRoot":"","sources":["../../src/util/arraysAreEqual.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,CAAC,IAAgB,EAAE,IAAgB,EAAE,EAAE;IAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;QAChC,OAAO,KAAK,CAAC;KACb;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;YACxB,OAAO,KAAK,CAAC;SACb;KACD;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["const arraysAreEqual = (arr1: Array<any>, arr2: Array<any>) => {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tif (arr1[i] !== arr2[i]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n};\n\nexport default arraysAreEqual;\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns a value clamped between an upper bound 'max' and lower bound 'min'.
3
+ * @param {number} val value
4
+ * @param {number} min lower bound
5
+ * @param {number} max upper bound
6
+ * @returns {number}
7
+ */
8
+ declare const clamp: (val: number, min: number, max: number) => number;
9
+ export default clamp;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Returns a value clamped between an upper bound 'max' and lower bound 'min'.
3
+ * @param {number} val value
4
+ * @param {number} min lower bound
5
+ * @param {number} max upper bound
6
+ * @returns {number}
7
+ */
8
+ const clamp = (val, min, max) => {
9
+ return Math.min(Math.max(val, min), max);
10
+ };
11
+ export default clamp;
12
+ //# sourceMappingURL=clamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clamp.js","sourceRoot":"","sources":["../../src/util/clamp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE;IACvD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["/**\n * Returns a value clamped between an upper bound 'max' and lower bound 'min'.\n * @param {number} val value\n * @param {number} min lower bound\n * @param {number} max upper bound\n * @returns {number}\n */\nconst clamp = (val: number, min: number, max: number) => {\n\treturn Math.min(Math.max(val, min), max);\n};\n\nexport default clamp;\n"]}
@@ -0,0 +1,7 @@
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
+ */
6
+ declare const createLinkInHead: (href: string, attributes?: Record<string, string>) => Promise<Event>;
7
+ export default createLinkInHead;
@@ -0,0 +1,21 @@
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
+ */
6
+ const createLinkInHead = (href, attributes) => {
7
+ const link = document.createElement("link");
8
+ link.type = "text/css";
9
+ link.rel = "stylesheet";
10
+ if (attributes) {
11
+ Object.entries(attributes).forEach(pair => link.setAttribute(...pair));
12
+ }
13
+ link.href = href;
14
+ document.head.appendChild(link);
15
+ return new Promise(resolve => {
16
+ link.addEventListener("load", resolve);
17
+ link.addEventListener("error", resolve); // intended
18
+ });
19
+ };
20
+ export default createLinkInHead;
21
+ //# sourceMappingURL=createLinkInHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLinkInHead.js","sourceRoot":"","sources":["../../src/util/createLinkInHead.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,UAAmC,EAAE,EAAE;IAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACvB,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;IAExB,IAAI,UAAU,EAAE;QACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;KACvE;IAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAEjB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhC,OAAO,IAAI,OAAO,CAAQ,OAAO,CAAC,EAAE;QACnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW;IACrD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["/**\n * Creates a <link> tag in the <head> tag\n * @param href - the CSS\n * @param attributes - optional attributes to add to the tag\n */\nconst createLinkInHead = (href: string, attributes?: Record<string, string>) => {\n\tconst link = document.createElement(\"link\");\n\tlink.type = \"text/css\";\n\tlink.rel = \"stylesheet\";\n\n\tif (attributes) {\n\t\tObject.entries(attributes).forEach(pair => link.setAttribute(...pair));\n\t}\n\n\tlink.href = href;\n\n\tdocument.head.appendChild(link);\n\n\treturn new Promise<Event>(resolve => {\n\t\tlink.addEventListener(\"load\", resolve);\n\t\tlink.addEventListener(\"error\", resolve); // intended\n\t});\n};\n\nexport default createLinkInHead;\n"]}
@@ -0,0 +1,8 @@
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
+ declare const createStyleInHead: (cssText: string, attributes?: Record<string, string>) => HTMLStyleElement;
8
+ export default createStyleInHead;
@@ -4,15 +4,15 @@
4
4
  * @param attributes - optional attributes to add to the tag
5
5
  * @returns {HTMLElement}
6
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;
7
+ const createStyleInHead = (cssText, attributes) => {
8
+ const style = document.createElement("style");
9
+ style.type = "text/css";
10
+ if (attributes) {
11
+ Object.entries(attributes).forEach(pair => style.setAttribute(...pair));
12
+ }
13
+ style.textContent = cssText;
14
+ document.head.appendChild(style);
15
+ return style;
16
16
  };
17
-
18
17
  export default createStyleInHead;
18
+ //# sourceMappingURL=createStyleInHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStyleInHead.js","sourceRoot":"","sources":["../../src/util/createStyleInHead.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,UAAmC,EAAE,EAAE;IAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;IAExB,IAAI,UAAU,EAAE;QACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;KACxE;IAED,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["/**\n * Creates a <style> tag in the <head> tag\n * @param cssText - the CSS\n * @param attributes - optional attributes to add to the tag\n * @returns {HTMLElement}\n */\nconst createStyleInHead = (cssText: string, attributes?: Record<string, string>) => {\n\tconst style = document.createElement(\"style\");\n\tstyle.type = \"text/css\";\n\n\tif (attributes) {\n\t\tObject.entries(attributes).forEach(pair => style.setAttribute(...pair));\n\t}\n\n\tstyle.textContent = cssText;\n\tdocument.head.appendChild(style);\n\treturn style;\n};\n\nexport default createStyleInHead;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const debounce: (fn: () => void, delay: number) => void;
2
+ export default debounce;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Delays function execution by given threshold.
3
+ * @param fn {Function}
4
+ * @param delay {Integer}
5
+ */
6
+ let debounceInterval = null;
7
+ const debounce = (fn, delay) => {
8
+ debounceInterval && clearTimeout(debounceInterval);
9
+ debounceInterval = setTimeout(() => {
10
+ debounceInterval = null;
11
+ fn();
12
+ }, delay);
13
+ };
14
+ export default debounce;
15
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/util/debounce.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,IAAI,gBAAgB,GAAmB,IAAI,CAAC;AAE5C,MAAM,QAAQ,GAAG,CAAC,EAAc,EAAE,KAAa,EAAE,EAAE;IAClD,gBAAgB,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;QAClC,gBAAgB,GAAG,IAAI,CAAC;QACxB,EAAE,EAAE,CAAC;IACN,CAAC,EAAE,KAAK,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import { Timeout } from \"../types.js\";\n\n/**\n * Delays function execution by given threshold.\n * @param fn {Function}\n * @param delay {Integer}\n */\nlet debounceInterval: Timeout | null = null;\n\nconst debounce = (fn: () => void, delay: number) => {\n\tdebounceInterval && clearTimeout(debounceInterval);\n\tdebounceInterval = setTimeout(() => {\n\t\tdebounceInterval = null;\n\t\tfn();\n\t}, delay);\n};\n\nexport default debounce;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const _default: () => string;
2
+ export default _default;
@@ -1,11 +1,10 @@
1
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
1
2
  export default () => {
2
- const browserLanguages = navigator.languages;
3
-
4
- const navigatorLanguage = () => {
5
- return navigator.language;
6
- };
7
-
8
- const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage() || navigator.userLanguage || navigator.browserLanguage;
9
-
10
- return rawLocale || "en";
3
+ const browserLanguages = navigator.languages;
4
+ const navigatorLanguage = () => {
5
+ return navigator.language;
6
+ };
7
+ const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();
8
+ return rawLocale || DEFAULT_LANGUAGE;
11
9
  };
10
+ //# sourceMappingURL=detectNavigatorLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectNavigatorLanguage.js","sourceRoot":"","sources":["../../src/util/detectNavigatorLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,eAAe,GAAG,EAAE;IACnB,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC;IAE7C,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC9B,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC;IAEnF,OAAO,SAAS,IAAI,gBAAgB,CAAC;AACtC,CAAC,CAAC","sourcesContent":["import { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nexport default () => {\n\tconst browserLanguages = navigator.languages;\n\n\tconst navigatorLanguage = () => {\n\t\treturn navigator.language;\n\t};\n\n\tconst rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();\n\n\treturn rawLocale || DEFAULT_LANGUAGE;\n};\n"]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Escapes a regular expression text so that it can be used in a regular expression.
3
+ *
4
+ * @param { string } text the string to be interpreted literally
5
+ * @returns { string } the escaped string
6
+ */
7
+ declare const escapeRegex: (text: string) => string;
8
+ export default escapeRegex;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Escapes a regular expression text so that it can be used in a regular expression.
3
+ *
4
+ * @param { string } text the string to be interpreted literally
5
+ * @returns { string } the escaped string
6
+ */
7
+ const escapeRegex = (text) => {
8
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
9
+ };
10
+ export default escapeRegex;
11
+ //# sourceMappingURL=escapeRegex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escapeRegex.js","sourceRoot":"","sources":["../../src/util/escapeRegex.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["/**\n * Escapes a regular expression text so that it can be used in a regular expression.\n *\n * @param { string } text the string to be interpreted literally\n * @returns { string } the escaped string\n */\nconst escapeRegex = (text: string) => {\n\treturn text.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\nexport default escapeRegex;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const formatMessage: (text: string, values: Array<number | string>) => string;
2
+ export default formatMessage;