@ui5/webcomponents-base 0.0.0-d9933bd82 → 0.0.0-d9b978d1d

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 (689) hide show
  1. package/.eslintignore +8 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1160 -0
  4. package/README.md +58 -7
  5. package/bundle.esm.js +36 -18
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/.tsbuildinfo +1 -0
  8. package/dist/AssetRegistry.d.ts +5 -0
  9. package/dist/AssetRegistry.js +6 -9
  10. package/dist/AssetRegistry.js.map +1 -0
  11. package/dist/Boot.d.ts +9 -0
  12. package/dist/Boot.js +71 -0
  13. package/dist/Boot.js.map +1 -0
  14. package/dist/CSP.d.ts +30 -0
  15. package/dist/CSP.js +51 -0
  16. package/dist/CSP.js.map +1 -0
  17. package/dist/CustomElementsRegistry.d.ts +5 -0
  18. package/dist/CustomElementsRegistry.js +73 -18
  19. package/dist/CustomElementsRegistry.js.map +1 -0
  20. package/dist/CustomElementsScope.d.ts +7 -0
  21. package/dist/CustomElementsScope.js +11 -0
  22. package/dist/CustomElementsScope.js.map +1 -0
  23. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  24. package/dist/CustomElementsScopeUtils.js +102 -0
  25. package/dist/CustomElementsScopeUtils.js.map +1 -0
  26. package/dist/DOMObserver.d.ts +11 -0
  27. package/dist/DOMObserver.js +23 -0
  28. package/dist/DOMObserver.js.map +1 -0
  29. package/dist/Device.d.ts +13 -0
  30. package/dist/Device.js +167 -815
  31. package/dist/Device.js.map +1 -0
  32. package/dist/EventProvider.d.ts +25 -0
  33. package/dist/EventProvider.js +67 -70
  34. package/dist/EventProvider.js.map +1 -0
  35. package/dist/FeaturesRegistry.d.ts +3 -0
  36. package/dist/FeaturesRegistry.js +5 -7
  37. package/dist/FeaturesRegistry.js.map +1 -0
  38. package/dist/FontFace.d.ts +2 -0
  39. package/dist/FontFace.js +21 -69
  40. package/dist/FontFace.js.map +1 -0
  41. package/dist/IgnoreCustomElements.d.ts +27 -0
  42. package/dist/IgnoreCustomElements.js +39 -0
  43. package/dist/IgnoreCustomElements.js.map +1 -0
  44. package/dist/InitialConfiguration.d.ts +28 -0
  45. package/dist/InitialConfiguration.js +133 -103
  46. package/dist/InitialConfiguration.js.map +1 -0
  47. package/dist/Keys.d.ts +61 -0
  48. package/dist/Keys.js +177 -157
  49. package/dist/Keys.js.map +1 -0
  50. package/dist/ManagedStyles.d.ts +9 -0
  51. package/dist/ManagedStyles.js +153 -0
  52. package/dist/ManagedStyles.js.map +1 -0
  53. package/dist/MarkedEvents.d.ts +9 -0
  54. package/dist/MarkedEvents.js +15 -0
  55. package/dist/MarkedEvents.js.map +1 -0
  56. package/dist/MediaRange.d.ts +37 -0
  57. package/dist/MediaRange.js +98 -0
  58. package/dist/MediaRange.js.map +1 -0
  59. package/dist/PropertiesFileFormat.d.ts +8 -0
  60. package/dist/PropertiesFileFormat.js +85 -0
  61. package/dist/PropertiesFileFormat.js.map +1 -0
  62. package/dist/Render.d.ts +47 -0
  63. package/dist/Render.js +143 -0
  64. package/dist/Render.js.map +1 -0
  65. package/dist/RenderQueue.d.ts +19 -0
  66. package/dist/RenderQueue.js +53 -39
  67. package/dist/RenderQueue.js.map +1 -0
  68. package/dist/Runtimes.d.ts +27 -0
  69. package/dist/Runtimes.js +86 -0
  70. package/dist/Runtimes.js.map +1 -0
  71. package/dist/StaticArea.d.ts +3 -0
  72. package/dist/StaticArea.js +4 -38
  73. package/dist/StaticArea.js.map +1 -0
  74. package/dist/StaticAreaItem.d.ts +37 -0
  75. package/dist/StaticAreaItem.js +95 -98
  76. package/dist/StaticAreaItem.js.map +1 -0
  77. package/dist/SystemCSSVars.d.ts +2 -0
  78. package/dist/SystemCSSVars.js +9 -0
  79. package/dist/SystemCSSVars.js.map +1 -0
  80. package/dist/Theming.d.ts +3 -0
  81. package/dist/Theming.js +3 -2
  82. package/dist/Theming.js.map +1 -0
  83. package/dist/UI5Element.d.ts +394 -0
  84. package/dist/UI5Element.js +964 -906
  85. package/dist/UI5Element.js.map +1 -0
  86. package/dist/UI5ElementMetadata.d.ts +151 -0
  87. package/dist/UI5ElementMetadata.js +278 -158
  88. package/dist/UI5ElementMetadata.js.map +1 -0
  89. package/dist/animations/AnimationQueue.d.ts +8 -0
  90. package/dist/animations/AnimationQueue.js +31 -38
  91. package/dist/animations/AnimationQueue.js.map +1 -0
  92. package/dist/animations/animate.d.ts +14 -0
  93. package/dist/animations/animate.js +46 -51
  94. package/dist/animations/animate.js.map +1 -0
  95. package/dist/animations/scroll.d.ts +5 -0
  96. package/dist/animations/scroll.js +18 -27
  97. package/dist/animations/scroll.js.map +1 -0
  98. package/dist/animations/slideDown.d.ts +5 -0
  99. package/dist/animations/slideDown.js +53 -78
  100. package/dist/animations/slideDown.js.map +1 -0
  101. package/dist/animations/slideUp.d.ts +5 -0
  102. package/dist/animations/slideUp.js +49 -70
  103. package/dist/animations/slideUp.js.map +1 -0
  104. package/dist/api.json +1 -0
  105. package/dist/asset-registries/Icons.d.ts +39 -0
  106. package/dist/asset-registries/Icons.js +136 -24
  107. package/dist/asset-registries/Icons.js.map +1 -0
  108. package/dist/asset-registries/Illustrations.d.ts +18 -0
  109. package/dist/asset-registries/Illustrations.js +84 -0
  110. package/dist/asset-registries/Illustrations.js.map +1 -0
  111. package/dist/asset-registries/LocaleData.d.ts +7 -0
  112. package/dist/asset-registries/LocaleData.js +125 -114
  113. package/dist/asset-registries/LocaleData.js.map +1 -0
  114. package/dist/asset-registries/Themes.d.ts +12 -0
  115. package/dist/asset-registries/Themes.js +58 -77
  116. package/dist/asset-registries/Themes.js.map +1 -0
  117. package/dist/asset-registries/i18n.d.ts +23 -0
  118. package/dist/asset-registries/i18n.js +81 -58
  119. package/dist/asset-registries/i18n.js.map +1 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  122. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  125. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  128. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  129. package/dist/config/AnimationMode.d.ts +14 -0
  130. package/dist/config/AnimationMode.js +23 -10
  131. package/dist/config/AnimationMode.js.map +1 -0
  132. package/dist/config/CalendarType.d.ts +15 -0
  133. package/dist/config/CalendarType.js +31 -14
  134. package/dist/config/CalendarType.js.map +1 -0
  135. package/dist/config/FormatSettings.d.ts +15 -0
  136. package/dist/config/FormatSettings.js +15 -9
  137. package/dist/config/FormatSettings.js.map +1 -0
  138. package/dist/config/Icons.d.ts +40 -0
  139. package/dist/config/Icons.js +44 -0
  140. package/dist/config/Icons.js.map +1 -0
  141. package/dist/config/Language.d.ts +40 -0
  142. package/dist/config/Language.js +66 -10
  143. package/dist/config/Language.js.map +1 -0
  144. package/dist/config/NoConflict.d.ts +20 -0
  145. package/dist/config/NoConflict.js +41 -41
  146. package/dist/config/NoConflict.js.map +1 -0
  147. package/dist/config/RTL.d.ts +7 -0
  148. package/dist/config/RTL.js +26 -20
  149. package/dist/config/RTL.js.map +1 -0
  150. package/dist/config/Theme.d.ts +38 -0
  151. package/dist/config/Theme.js +64 -22
  152. package/dist/config/Theme.js.map +1 -0
  153. package/dist/config/ThemeRoot.d.ts +29 -0
  154. package/dist/config/ThemeRoot.js +59 -0
  155. package/dist/config/ThemeRoot.js.map +1 -0
  156. package/dist/config/Timezone.d.ts +17 -0
  157. package/dist/config/Timezone.js +30 -0
  158. package/dist/config/Timezone.js.map +1 -0
  159. package/dist/connectToComponent.d.ts +9 -0
  160. package/dist/connectToComponent.js +59 -0
  161. package/dist/connectToComponent.js.map +1 -0
  162. package/dist/css/BusyIndicator.css +80 -0
  163. package/dist/css/FontFace.css +96 -0
  164. package/dist/css/OverrideFontFace.css +32 -0
  165. package/dist/css/SystemCSSVars.css +17 -0
  166. package/dist/decorators/customElement.d.ts +23 -0
  167. package/dist/decorators/customElement.js +37 -0
  168. package/dist/decorators/customElement.js.map +1 -0
  169. package/dist/decorators/event.d.ts +10 -0
  170. package/dist/decorators/event.js +24 -0
  171. package/dist/decorators/event.js.map +1 -0
  172. package/dist/decorators/property.d.ts +9 -0
  173. package/dist/decorators/property.js +24 -0
  174. package/dist/decorators/property.js.map +1 -0
  175. package/dist/decorators/slot.d.ts +9 -0
  176. package/dist/decorators/slot.js +37 -0
  177. package/dist/decorators/slot.js.map +1 -0
  178. package/dist/delegate/ItemNavigation.d.ts +114 -0
  179. package/dist/delegate/ItemNavigation.js +311 -274
  180. package/dist/delegate/ItemNavigation.js.map +1 -0
  181. package/dist/delegate/ResizeHandler.d.ts +25 -0
  182. package/dist/delegate/ResizeHandler.js +84 -63
  183. package/dist/delegate/ResizeHandler.js.map +1 -0
  184. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  185. package/dist/delegate/ScrollEnablement.js +159 -153
  186. package/dist/delegate/ScrollEnablement.js.map +1 -0
  187. package/dist/features/F6Navigation.d.ts +19 -0
  188. package/dist/features/F6Navigation.js +151 -0
  189. package/dist/features/F6Navigation.js.map +1 -0
  190. package/dist/features/LegacyDateFormats.d.ts +18 -0
  191. package/dist/features/LegacyDateFormats.js +20 -0
  192. package/dist/features/LegacyDateFormats.js.map +1 -0
  193. package/dist/features/OpenUI5Element.d.ts +9 -0
  194. package/dist/features/OpenUI5Element.js +5 -0
  195. package/dist/features/OpenUI5Element.js.map +1 -0
  196. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  197. package/dist/features/OpenUI5Enablement.js +96 -0
  198. package/dist/features/OpenUI5Enablement.js.map +1 -0
  199. package/dist/features/OpenUI5Support.d.ts +36 -0
  200. package/dist/features/OpenUI5Support.js +152 -87
  201. package/dist/features/OpenUI5Support.js.map +1 -0
  202. package/dist/generated/AssetParameters.d.ts +6 -0
  203. package/dist/generated/AssetParameters.js +4 -9
  204. package/dist/generated/AssetParameters.js.map +1 -0
  205. package/dist/generated/VersionInfo.d.ts +10 -0
  206. package/dist/generated/VersionInfo.js +11 -0
  207. package/dist/generated/VersionInfo.js.map +1 -0
  208. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  209. package/dist/generated/css/BusyIndicator.css.js +7 -0
  210. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  211. package/dist/generated/css/FontFace.css.d.ts +3 -0
  212. package/dist/generated/css/FontFace.css.js +7 -0
  213. package/dist/generated/css/FontFace.css.js.map +1 -0
  214. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  215. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  216. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  217. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  218. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  219. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  220. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  221. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  222. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  223. package/dist/getSharedResource.d.ts +11 -0
  224. package/dist/getSharedResource.js +40 -0
  225. package/dist/getSharedResource.js.map +1 -0
  226. package/dist/global.d.ts +40 -0
  227. package/dist/i18nBundle.d.ts +43 -0
  228. package/dist/i18nBundle.js +74 -28
  229. package/dist/i18nBundle.js.map +1 -0
  230. package/dist/locale/Locale.d.ts +22 -0
  231. package/dist/locale/Locale.js +75 -87
  232. package/dist/locale/Locale.js.map +1 -0
  233. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  234. package/dist/locale/RTLAwareRegistry.js +9 -0
  235. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  236. package/dist/locale/applyDirection.d.ts +10 -0
  237. package/dist/locale/applyDirection.js +17 -0
  238. package/dist/locale/applyDirection.js.map +1 -0
  239. package/dist/locale/directionChange.d.ts +15 -0
  240. package/dist/locale/directionChange.js +24 -0
  241. package/dist/locale/directionChange.js.map +1 -0
  242. package/dist/locale/getEffectiveDir.d.ts +2 -0
  243. package/dist/locale/getEffectiveDir.js +24 -0
  244. package/dist/locale/getEffectiveDir.js.map +1 -0
  245. package/dist/locale/getLocale.d.ts +7 -0
  246. package/dist/locale/getLocale.js +28 -21
  247. package/dist/locale/getLocale.js.map +1 -0
  248. package/dist/locale/languageChange.d.ts +5 -0
  249. package/dist/locale/languageChange.js +14 -0
  250. package/dist/locale/languageChange.js.map +1 -0
  251. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  252. package/dist/locale/nextFallbackLocale.js +15 -19
  253. package/dist/locale/nextFallbackLocale.js.map +1 -0
  254. package/dist/locale/normalizeLocale.d.ts +7 -0
  255. package/dist/locale/normalizeLocale.js +34 -41
  256. package/dist/locale/normalizeLocale.js.map +1 -0
  257. package/dist/renderer/LitRenderer.d.ts +14 -0
  258. package/dist/renderer/LitRenderer.js +38 -12
  259. package/dist/renderer/LitRenderer.js.map +1 -0
  260. package/dist/renderer/directives/style-map.js +72 -0
  261. package/dist/renderer/executeTemplate.d.ts +13 -0
  262. package/dist/renderer/executeTemplate.js +30 -0
  263. package/dist/renderer/executeTemplate.js.map +1 -0
  264. package/dist/sap/base/Log.js +240 -0
  265. package/dist/sap/base/assert.js +7 -0
  266. package/dist/sap/base/security/URLListValidator.js +159 -0
  267. package/dist/sap/base/security/encodeCSS.js +14 -0
  268. package/dist/sap/base/security/encodeXML.js +23 -0
  269. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  270. package/dist/sap/base/strings/toHex.js +8 -0
  271. package/dist/sap/base/util/now.js +7 -0
  272. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  273. package/dist/theming/CustomStyle.d.ts +6 -0
  274. package/dist/theming/CustomStyle.js +46 -17
  275. package/dist/theming/CustomStyle.js.map +1 -0
  276. package/dist/theming/ThemeLoaded.d.ts +5 -0
  277. package/dist/theming/ThemeLoaded.js +14 -0
  278. package/dist/theming/ThemeLoaded.js.map +1 -0
  279. package/dist/theming/ThemeRegistered.d.ts +4 -0
  280. package/dist/theming/ThemeRegistered.js +11 -0
  281. package/dist/theming/ThemeRegistered.js.map +1 -0
  282. package/dist/theming/applyTheme.d.ts +2 -0
  283. package/dist/theming/applyTheme.js +64 -69
  284. package/dist/theming/applyTheme.js.map +1 -0
  285. package/dist/theming/getConstructableStyle.d.ts +9 -0
  286. package/dist/theming/getConstructableStyle.js +15 -15
  287. package/dist/theming/getConstructableStyle.js.map +1 -0
  288. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  289. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  290. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  291. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  292. package/dist/theming/getEffectiveStyle.js +30 -13
  293. package/dist/theming/getEffectiveStyle.js.map +1 -0
  294. package/dist/theming/getStylesString.d.ts +3 -0
  295. package/dist/theming/getStylesString.js +11 -0
  296. package/dist/theming/getStylesString.js.map +1 -0
  297. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  298. package/dist/theming/getThemeDesignerTheme.js +73 -60
  299. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  300. package/dist/theming/preloadLinks.d.ts +3 -0
  301. package/dist/theming/preloadLinks.js +19 -0
  302. package/dist/theming/preloadLinks.js.map +1 -0
  303. package/dist/thirdparty/_merge.d.ts +2 -0
  304. package/dist/thirdparty/_merge.js +7 -4
  305. package/dist/thirdparty/_merge.js.map +1 -0
  306. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  307. package/dist/thirdparty/isPlainObject.js +11 -10
  308. package/dist/thirdparty/isPlainObject.js.map +1 -0
  309. package/dist/thirdparty/merge.d.ts +2 -0
  310. package/dist/thirdparty/merge.js +4 -8
  311. package/dist/thirdparty/merge.js.map +1 -0
  312. package/dist/types/AnimationMode.d.ts +32 -0
  313. package/dist/types/AnimationMode.js +33 -6
  314. package/dist/types/AnimationMode.js.map +1 -0
  315. package/dist/types/CSSColor.d.ts +15 -0
  316. package/dist/types/CSSColor.js +18 -0
  317. package/dist/types/CSSColor.js.map +1 -0
  318. package/dist/types/CSSSize.d.ts +15 -0
  319. package/dist/types/CSSSize.js +14 -5
  320. package/dist/types/CSSSize.js.map +1 -0
  321. package/dist/types/CalendarType.d.ts +37 -0
  322. package/dist/types/CalendarType.js +35 -18
  323. package/dist/types/CalendarType.js.map +1 -0
  324. package/dist/types/DOMReference.d.ts +17 -0
  325. package/dist/types/DOMReference.js +25 -0
  326. package/dist/types/DOMReference.js.map +1 -0
  327. package/dist/types/DataType.d.ts +25 -0
  328. package/dist/types/DataType.js +33 -14
  329. package/dist/types/DataType.js.map +1 -0
  330. package/dist/types/Float.d.ts +17 -0
  331. package/dist/types/Float.js +21 -0
  332. package/dist/types/Float.js.map +1 -0
  333. package/dist/types/Integer.d.ts +17 -0
  334. package/dist/types/Integer.js +17 -5
  335. package/dist/types/Integer.js.map +1 -0
  336. package/dist/types/InvisibleMessageMode.d.ts +26 -0
  337. package/dist/types/InvisibleMessageMode.js +26 -0
  338. package/dist/types/InvisibleMessageMode.js.map +1 -0
  339. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  340. package/dist/types/ItemNavigationBehavior.js +22 -17
  341. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  342. package/dist/types/NavigationMode.d.ts +32 -0
  343. package/dist/types/NavigationMode.js +33 -5
  344. package/dist/types/NavigationMode.js.map +1 -0
  345. package/dist/types/ValueState.d.ts +42 -0
  346. package/dist/types/ValueState.js +41 -19
  347. package/dist/types/ValueState.js.map +1 -0
  348. package/dist/types.d.ts +18 -0
  349. package/dist/types.js +2 -0
  350. package/dist/types.js.map +1 -0
  351. package/dist/updateShadowRoot.d.ts +8 -0
  352. package/dist/updateShadowRoot.js +42 -0
  353. package/dist/updateShadowRoot.js.map +1 -0
  354. package/dist/util/AriaLabelHelper.d.ts +15 -0
  355. package/dist/util/AriaLabelHelper.js +171 -0
  356. package/dist/util/AriaLabelHelper.js.map +1 -0
  357. package/dist/util/Caret.d.ts +7 -0
  358. package/dist/util/Caret.js +23 -0
  359. package/dist/util/Caret.js.map +1 -0
  360. package/dist/util/ColorConversion.d.ts +30 -0
  361. package/dist/util/ColorConversion.js +342 -0
  362. package/dist/util/ColorConversion.js.map +1 -0
  363. package/dist/util/FetchHelper.d.ts +3 -0
  364. package/dist/util/FetchHelper.js +19 -25
  365. package/dist/util/FetchHelper.js.map +1 -0
  366. package/dist/util/FocusableElements.d.ts +4 -0
  367. package/dist/util/FocusableElements.js +68 -56
  368. package/dist/util/FocusableElements.js.map +1 -0
  369. package/dist/util/HTMLSanitizer.d.ts +3 -0
  370. package/dist/util/HTMLSanitizer.js +6 -0
  371. package/dist/util/HTMLSanitizer.js.map +1 -0
  372. package/dist/util/InvisibleMessage.d.ts +10 -0
  373. package/dist/util/InvisibleMessage.js +56 -0
  374. package/dist/util/InvisibleMessage.js.map +1 -0
  375. package/dist/util/PopupUtils.d.ts +7 -0
  376. package/dist/util/PopupUtils.js +74 -0
  377. package/dist/util/PopupUtils.js.map +1 -0
  378. package/dist/util/SlotsHelper.d.ts +9 -0
  379. package/dist/util/SlotsHelper.js +30 -0
  380. package/dist/util/SlotsHelper.js.map +1 -0
  381. package/dist/util/StringHelper.d.ts +3 -0
  382. package/dist/util/StringHelper.js +17 -20
  383. package/dist/util/StringHelper.js.map +1 -0
  384. package/dist/util/TabbableElements.d.ts +17 -0
  385. package/dist/util/TabbableElements.js +53 -43
  386. package/dist/util/TabbableElements.js.map +1 -0
  387. package/dist/util/arraysAreEqual.d.ts +2 -0
  388. package/dist/util/arraysAreEqual.js +13 -0
  389. package/dist/util/arraysAreEqual.js.map +1 -0
  390. package/dist/util/clamp.d.ts +9 -0
  391. package/dist/util/clamp.js +12 -0
  392. package/dist/util/clamp.js.map +1 -0
  393. package/dist/util/createLinkInHead.d.ts +7 -0
  394. package/dist/util/createLinkInHead.js +21 -0
  395. package/dist/util/createLinkInHead.js.map +1 -0
  396. package/dist/util/createStyleInHead.d.ts +8 -0
  397. package/dist/util/createStyleInHead.js +10 -10
  398. package/dist/util/createStyleInHead.js.map +1 -0
  399. package/dist/util/debounce.d.ts +2 -0
  400. package/dist/util/debounce.js +15 -0
  401. package/dist/util/debounce.js.map +1 -0
  402. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  403. package/dist/util/detectNavigatorLanguage.js +7 -10
  404. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  405. package/dist/util/escapeRegex.d.ts +8 -0
  406. package/dist/util/escapeRegex.js +11 -0
  407. package/dist/util/escapeRegex.js.map +1 -0
  408. package/dist/util/formatMessage.d.ts +2 -0
  409. package/dist/util/formatMessage.js +15 -19
  410. package/dist/util/formatMessage.js.map +1 -0
  411. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  412. package/dist/util/generateHighlightedMarkup.js +41 -0
  413. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  414. package/dist/util/getActiveElement.d.ts +2 -0
  415. package/dist/util/getActiveElement.js +9 -0
  416. package/dist/util/getActiveElement.js.map +1 -0
  417. package/dist/util/getClassCopy.d.ts +416 -0
  418. package/dist/util/getClassCopy.js +10 -0
  419. package/dist/util/getClassCopy.js.map +1 -0
  420. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  421. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  422. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  423. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  424. package/dist/util/getEffectiveContentDensity.js +4 -0
  425. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  426. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  427. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  428. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  429. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  430. package/dist/util/getFastNavigationGroups.js +51 -0
  431. package/dist/util/getFastNavigationGroups.js.map +1 -0
  432. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  433. package/dist/util/getFileExtension.js +9 -11
  434. package/dist/util/getFileExtension.js.map +1 -0
  435. package/dist/util/getNormalizedTarget.d.ts +7 -0
  436. package/dist/util/getNormalizedTarget.js +14 -0
  437. package/dist/util/getNormalizedTarget.js.map +1 -0
  438. package/dist/util/getParentElement.d.ts +2 -0
  439. package/dist/util/getParentElement.js +5 -0
  440. package/dist/util/getParentElement.js.map +1 -0
  441. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  442. package/dist/util/getSingletonElementInstance.js +19 -0
  443. package/dist/util/getSingletonElementInstance.js.map +1 -0
  444. package/dist/util/isElementClickable.d.ts +2 -0
  445. package/dist/util/isElementClickable.js +16 -0
  446. package/dist/util/isElementClickable.js.map +1 -0
  447. package/dist/util/isElementContainingBlock.d.ts +2 -0
  448. package/dist/util/isElementContainingBlock.js +11 -0
  449. package/dist/util/isElementContainingBlock.js.map +1 -0
  450. package/dist/util/isElementHidden.d.ts +2 -0
  451. package/dist/util/isElementHidden.js +8 -0
  452. package/dist/util/isElementHidden.js.map +1 -0
  453. package/dist/util/isElementInView.d.ts +6 -0
  454. package/dist/util/isElementInView.js +12 -0
  455. package/dist/util/isElementInView.js.map +1 -0
  456. package/dist/util/isElementTabbable.d.ts +9 -0
  457. package/dist/util/isElementTabbable.js +30 -0
  458. package/dist/util/isElementTabbable.js.map +1 -0
  459. package/dist/util/isValidPropertyName.d.ts +8 -0
  460. package/dist/util/isValidPropertyName.js +19 -14
  461. package/dist/util/isValidPropertyName.js.map +1 -0
  462. package/dist/util/whenDOMReady.d.ts +2 -0
  463. package/dist/util/whenDOMReady.js +11 -10
  464. package/dist/util/whenDOMReady.js.map +1 -0
  465. package/dist/util/willShowContent.d.ts +2 -0
  466. package/dist/util/willShowContent.js +7 -0
  467. package/dist/util/willShowContent.js.map +1 -0
  468. package/dist/validateThemeRoot.d.ts +2 -0
  469. package/dist/validateThemeRoot.js +48 -0
  470. package/dist/validateThemeRoot.js.map +1 -0
  471. package/index.js +228 -2
  472. package/lib/generate-asset-parameters/index.js +11 -6
  473. package/lib/generate-styles/index.js +31 -0
  474. package/lib/generate-version-info/index.js +32 -0
  475. package/package-scripts.cjs +70 -0
  476. package/package.json +25 -13
  477. package/src/css/BusyIndicator.css +80 -0
  478. package/src/css/FontFace.css +96 -0
  479. package/src/css/OverrideFontFace.css +32 -0
  480. package/src/css/SystemCSSVars.css +17 -0
  481. package/src/renderer/directives/style-map.js +72 -0
  482. package/tsconfig.json +17 -0
  483. package/used-modules.txt +10 -0
  484. package/bundle.es5.js +0 -28
  485. package/config/rollup.config.js +0 -1
  486. package/config/wdio.conf.js +0 -1
  487. package/dist/RenderScheduler.js +0 -146
  488. package/dist/SVGIconRegistry.js +0 -60
  489. package/dist/animations/config.js +0 -5
  490. package/dist/boot.js +0 -32
  491. package/dist/compatibility/DOMObserver.js +0 -62
  492. package/dist/compatibility/patchNodeValue.js +0 -24
  493. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  494. package/dist/delegate/CustomResize.js +0 -78
  495. package/dist/delegate/NativeResize.js +0 -44
  496. package/dist/features/browsersupport/Edge.js +0 -6
  497. package/dist/features/browsersupport/IE11.js +0 -41
  498. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  499. package/dist/renderer/ifDefined.js +0 -21
  500. package/dist/resources/bundle.es5.js +0 -212
  501. package/dist/resources/bundle.es5.js.map +0 -1
  502. package/dist/resources/bundle.esm.js +0 -129
  503. package/dist/resources/bundle.esm.js.map +0 -1
  504. package/dist/test-resources/assets/Themes.js +0 -13
  505. package/dist/test-resources/elements/Child.js +0 -35
  506. package/dist/test-resources/elements/Generic.js +0 -84
  507. package/dist/test-resources/elements/GenericExt.js +0 -26
  508. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  509. package/dist/test-resources/elements/Parent.js +0 -37
  510. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  511. package/dist/test-resources/pages/AllTestElements.html +0 -42
  512. package/dist/test-resources/pages/Configuration.html +0 -20
  513. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  514. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  515. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  516. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  517. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  518. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  519. package/dist/test-resources/specs/Theming.spec.js +0 -31
  520. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  521. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  522. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  523. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  524. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  525. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  526. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  527. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  528. package/dist/theming/CSSVarsPonyfill.js +0 -24
  529. package/dist/theming/adaptCSSForIE.js +0 -90
  530. package/dist/theming/createComponentStyleTag.js +0 -49
  531. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  532. package/dist/thirdparty/Array.from.js +0 -16
  533. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  534. package/dist/thirdparty/Array.prototype.find.js +0 -46
  535. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  536. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  537. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  538. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  539. package/dist/thirdparty/Number.isInteger.js +0 -5
  540. package/dist/thirdparty/Number.isNaN.js +0 -1
  541. package/dist/thirdparty/Number.parseInt.js +0 -1
  542. package/dist/thirdparty/Object.assign.js +0 -31
  543. package/dist/thirdparty/Object.entries.js +0 -11
  544. package/dist/thirdparty/Symbol.js +0 -2
  545. package/dist/thirdparty/WeakSet.js +0 -27
  546. package/dist/thirdparty/es6-string-methods.js +0 -182
  547. package/dist/thirdparty/events-polyfills.js +0 -89
  548. package/dist/thirdparty/fetch.js +0 -1
  549. package/dist/thirdparty/template.js +0 -600
  550. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  551. package/dist/types/PopupState.js +0 -37
  552. package/dist/util/findNodeOwner.js +0 -35
  553. package/dist/util/isDescendantOf.js +0 -15
  554. package/dist/util/isNodeClickable.js +0 -19
  555. package/dist/util/isNodeHidden.js +0 -13
  556. package/dist/util/isNodeTabbable.js +0 -28
  557. package/dist/util/isSlot.js +0 -3
  558. package/dist/webcomponentsjs/LICENSE.md +0 -19
  559. package/dist/webcomponentsjs/README.md +0 -229
  560. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  561. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  562. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  563. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  564. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  565. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  566. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  567. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  568. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  569. package/dist/webcomponentsjs/package.json +0 -46
  570. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  571. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  572. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  573. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  574. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  575. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  576. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  577. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  578. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  579. package/package-scripts.js +0 -47
  580. package/src/AssetRegistry.js +0 -9
  581. package/src/CustomElementsRegistry.js +0 -23
  582. package/src/Device.js +0 -823
  583. package/src/EventProvider.js +0 -73
  584. package/src/FeaturesRegistry.js +0 -11
  585. package/src/FontFace.js +0 -73
  586. package/src/InitialConfiguration.js +0 -131
  587. package/src/Keys.js +0 -161
  588. package/src/RenderQueue.js +0 -42
  589. package/src/RenderScheduler.js +0 -146
  590. package/src/SVGIconRegistry.js +0 -60
  591. package/src/StaticArea.js +0 -41
  592. package/src/StaticAreaItem.js +0 -105
  593. package/src/Theming.js +0 -3
  594. package/src/UI5Element.js +0 -926
  595. package/src/UI5ElementMetadata.js +0 -171
  596. package/src/animations/AnimationQueue.js +0 -42
  597. package/src/animations/animate.js +0 -53
  598. package/src/animations/config.js +0 -5
  599. package/src/animations/scroll.js +0 -28
  600. package/src/animations/slideDown.js +0 -79
  601. package/src/animations/slideUp.js +0 -71
  602. package/src/asset-registries/Icons.js +0 -24
  603. package/src/asset-registries/LocaleData.js +0 -125
  604. package/src/asset-registries/Themes.js +0 -87
  605. package/src/asset-registries/i18n.js +0 -79
  606. package/src/boot.js +0 -32
  607. package/src/compatibility/DOMObserver.js +0 -62
  608. package/src/compatibility/patchNodeValue.js +0 -24
  609. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  610. package/src/config/AnimationMode.js +0 -13
  611. package/src/config/CalendarType.js +0 -18
  612. package/src/config/FormatSettings.js +0 -13
  613. package/src/config/Language.js +0 -12
  614. package/src/config/NoConflict.js +0 -51
  615. package/src/config/RTL.js +0 -31
  616. package/src/config/Theme.js +0 -28
  617. package/src/delegate/CustomResize.js +0 -78
  618. package/src/delegate/ItemNavigation.js +0 -278
  619. package/src/delegate/NativeResize.js +0 -44
  620. package/src/delegate/ResizeHandler.js +0 -66
  621. package/src/delegate/ScrollEnablement.js +0 -159
  622. package/src/features/OpenUI5Support.js +0 -90
  623. package/src/features/browsersupport/Edge.js +0 -6
  624. package/src/features/browsersupport/IE11.js +0 -41
  625. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  626. package/src/i18nBundle.js +0 -33
  627. package/src/locale/Locale.js +0 -91
  628. package/src/locale/getLocale.js +0 -31
  629. package/src/locale/nextFallbackLocale.js +0 -28
  630. package/src/locale/normalizeLocale.js +0 -54
  631. package/src/renderer/LitRenderer.js +0 -15
  632. package/src/renderer/ifDefined.js +0 -21
  633. package/src/theming/CSSVarsPonyfill.js +0 -24
  634. package/src/theming/CustomStyle.js +0 -19
  635. package/src/theming/adaptCSSForIE.js +0 -90
  636. package/src/theming/applyTheme.js +0 -81
  637. package/src/theming/createComponentStyleTag.js +0 -49
  638. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  639. package/src/theming/getConstructableStyle.js +0 -25
  640. package/src/theming/getEffectiveStyle.js +0 -15
  641. package/src/theming/getThemeDesignerTheme.js +0 -67
  642. package/src/thirdparty/Array.from.js +0 -16
  643. package/src/thirdparty/Array.prototype.fill.js +0 -44
  644. package/src/thirdparty/Array.prototype.find.js +0 -46
  645. package/src/thirdparty/Array.prototype.includes.js +0 -51
  646. package/src/thirdparty/Element.prototype.closest.js +0 -11
  647. package/src/thirdparty/Element.prototype.matches.js +0 -6
  648. package/src/thirdparty/Map.prototype.keys.js +0 -9
  649. package/src/thirdparty/Number.isInteger.js +0 -5
  650. package/src/thirdparty/Number.isNaN.js +0 -1
  651. package/src/thirdparty/Number.parseInt.js +0 -1
  652. package/src/thirdparty/Object.assign.js +0 -31
  653. package/src/thirdparty/Object.entries.js +0 -11
  654. package/src/thirdparty/Symbol.js +0 -2
  655. package/src/thirdparty/WeakSet.js +0 -27
  656. package/src/thirdparty/_merge.js +0 -32
  657. package/src/thirdparty/es6-string-methods.js +0 -182
  658. package/src/thirdparty/events-polyfills.js +0 -89
  659. package/src/thirdparty/fetch.js +0 -1
  660. package/src/thirdparty/isPlainObject.js +0 -18
  661. package/src/thirdparty/merge.js +0 -10
  662. package/src/thirdparty/template.js +0 -600
  663. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  664. package/src/types/AnimationMode.js +0 -7
  665. package/src/types/CSSSize.js +0 -9
  666. package/src/types/CalendarType.js +0 -22
  667. package/src/types/DataType.js +0 -25
  668. package/src/types/Integer.js +0 -9
  669. package/src/types/ItemNavigationBehavior.js +0 -21
  670. package/src/types/NavigationMode.js +0 -6
  671. package/src/types/PopupState.js +0 -37
  672. package/src/types/ValueState.js +0 -22
  673. package/src/util/FetchHelper.js +0 -31
  674. package/src/util/FocusableElements.js +0 -60
  675. package/src/util/StringHelper.js +0 -26
  676. package/src/util/TabbableElements.js +0 -47
  677. package/src/util/createStyleInHead.js +0 -18
  678. package/src/util/detectNavigatorLanguage.js +0 -13
  679. package/src/util/findNodeOwner.js +0 -35
  680. package/src/util/formatMessage.js +0 -23
  681. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  682. package/src/util/isDescendantOf.js +0 -15
  683. package/src/util/isNodeClickable.js +0 -19
  684. package/src/util/isNodeHidden.js +0 -13
  685. package/src/util/isNodeTabbable.js +0 -28
  686. package/src/util/isSlot.js +0 -3
  687. package/src/util/isValidPropertyName.js +0 -23
  688. package/src/util/whenDOMReady.js +0 -13
  689. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Returns a singleton HTML element, inserted in given parent element of HTML page,
3
+ * used mostly to store and share global resources between multiple UI5 Web Components runtimes.
4
+ *
5
+ * @param { string } tag the element tag/selector
6
+ * @param { HTMLElement } parentElement the parent element to insert the singleton element instance
7
+ * @param { Function } createEl a factory function for the element instantiation, by default document.createElement is used
8
+ * @returns { Element }
9
+ */
10
+ declare const getSingletonElementInstance: (tag: string, parentElement?: HTMLElement, createEl?: () => Element) => Element;
11
+ export default getSingletonElementInstance;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Returns a singleton HTML element, inserted in given parent element of HTML page,
3
+ * used mostly to store and share global resources between multiple UI5 Web Components runtimes.
4
+ *
5
+ * @param { string } tag the element tag/selector
6
+ * @param { HTMLElement } parentElement the parent element to insert the singleton element instance
7
+ * @param { Function } createEl a factory function for the element instantiation, by default document.createElement is used
8
+ * @returns { Element }
9
+ */
10
+ const getSingletonElementInstance = (tag, parentElement = document.body, createEl) => {
11
+ let el = document.querySelector(tag);
12
+ if (el) {
13
+ return el;
14
+ }
15
+ el = createEl ? createEl() : document.createElement(tag);
16
+ return parentElement.insertBefore(el, parentElement.firstChild);
17
+ };
18
+ export default getSingletonElementInstance;
19
+ //# sourceMappingURL=getSingletonElementInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSingletonElementInstance.js","sourceRoot":"","sources":["../../src/util/getSingletonElementInstance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,2BAA2B,GAAG,CAAC,GAAW,EAAE,gBAA6B,QAAQ,CAAC,IAAI,EAAE,QAAwB,EAAE,EAAE;IACzH,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,EAAE,EAAE;QACP,OAAO,EAAE,CAAC;KACV;IAED,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAEzD,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,eAAe,2BAA2B,CAAC","sourcesContent":["/**\n * Returns a singleton HTML element, inserted in given parent element of HTML page,\n * used mostly to store and share global resources between multiple UI5 Web Components runtimes.\n *\n * @param { string } tag the element tag/selector\n * @param { HTMLElement } parentElement the parent element to insert the singleton element instance\n * @param { Function } createEl a factory function for the element instantiation, by default document.createElement is used\n * @returns { Element }\n */\nconst getSingletonElementInstance = (tag: string, parentElement: HTMLElement = document.body, createEl?: () => Element) => {\n\tlet el = document.querySelector(tag);\n\n\tif (el) {\n\t\treturn el;\n\t}\n\n\tel = createEl ? createEl() : document.createElement(tag);\n\n\treturn parentElement.insertBefore(el, parentElement.firstChild);\n};\n\nexport default getSingletonElementInstance;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const isElementClickable: (el: HTMLElement) => boolean;
2
+ export default isElementClickable;
@@ -0,0 +1,16 @@
1
+ const rClickable = /^(?:a|area)$/i;
2
+ const rFocusable = /^(?:input|select|textarea|button)$/i;
3
+ const isElementClickable = (el) => {
4
+ if (el.disabled) {
5
+ return false;
6
+ }
7
+ const tabIndex = el.getAttribute("tabindex");
8
+ if (tabIndex !== null && tabIndex !== undefined) {
9
+ return parseInt(tabIndex) >= 0;
10
+ }
11
+ return rFocusable.test(el.nodeName)
12
+ || (rClickable.test(el.nodeName)
13
+ && !!el.href);
14
+ };
15
+ export default isElementClickable;
16
+ //# sourceMappingURL=isElementClickable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementClickable.js","sourceRoot":"","sources":["../../src/util/isElementClickable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,eAAe,CAAC;AACnC,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAEzD,MAAM,kBAAkB,GAAG,CAAC,EAAe,EAAW,EAAE;IACvD,IAAK,EAAwB,CAAC,QAAQ,EAAE;QACvC,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;QAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;WAC/B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;eAC7B,CAAC,CAAE,EAAsB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["const rClickable = /^(?:a|area)$/i;\nconst rFocusable = /^(?:input|select|textarea|button)$/i;\n\nconst isElementClickable = (el: HTMLElement): boolean => {\n\tif ((el as HTMLButtonElement).disabled) {\n\t\treturn false;\n\t}\n\n\tconst tabIndex = el.getAttribute(\"tabindex\");\n\tif (tabIndex !== null && tabIndex !== undefined) {\n\t\treturn parseInt(tabIndex) >= 0;\n\t}\n\n\treturn rFocusable.test(el.nodeName)\n\t\t|| (rClickable.test(el.nodeName)\n\t\t&& !!(el as HTMLLinkElement).href);\n};\n\nexport default isElementClickable;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const isElementContainingBlock: (el: HTMLElement) => boolean | "";
2
+ export default isElementContainingBlock;
@@ -0,0 +1,11 @@
1
+ const isElementContainingBlock = (el) => {
2
+ const computedStyle = getComputedStyle(el);
3
+ return ["size", "inline-size"].indexOf(computedStyle.containerType) > -1
4
+ || ["transform", "perspective"].indexOf(computedStyle.willChange) > -1
5
+ || ["layout", "paint", "strict", "content"].indexOf(computedStyle.contain) > -1
6
+ || (computedStyle.transform && computedStyle.transform !== "none")
7
+ || (computedStyle.perspective && computedStyle.perspective !== "none")
8
+ || (computedStyle.backdropFilter && computedStyle.backdropFilter !== "none");
9
+ };
10
+ export default isElementContainingBlock;
11
+ //# sourceMappingURL=isElementContainingBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementContainingBlock.js","sourceRoot":"","sources":["../../src/util/isElementContainingBlock.ts"],"names":[],"mappings":"AAAA,MAAM,wBAAwB,GAAG,CAAC,EAAe,EAAE,EAAE;IACpD,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;WACrE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;WACnE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;WAC5E,CAAC,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,KAAK,MAAM,CAAC;WAC/D,CAAC,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,KAAK,MAAM,CAAC;WACnE,CAAC,aAAa,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC","sourcesContent":["const isElementContainingBlock = (el: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(el);\n\n\treturn [\"size\", \"inline-size\"].indexOf(computedStyle.containerType) > -1\n\t|| [\"transform\", \"perspective\"].indexOf(computedStyle.willChange) > -1\n\t|| [\"layout\", \"paint\", \"strict\", \"content\"].indexOf(computedStyle.contain) > -1\n\t|| (computedStyle.transform && computedStyle.transform !== \"none\")\n\t|| (computedStyle.perspective && computedStyle.perspective !== \"none\")\n\t|| (computedStyle.backdropFilter && computedStyle.backdropFilter !== \"none\");\n};\n\nexport default isElementContainingBlock;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const isElementHidden: (el: HTMLElement) => boolean;
2
+ export default isElementHidden;
@@ -0,0 +1,8 @@
1
+ const isElementHidden = (el) => {
2
+ if (el.nodeName === "SLOT") {
3
+ return false;
4
+ }
5
+ return (el.offsetWidth <= 0 && el.offsetHeight <= 0) || (el.style && el.style.visibility === "hidden");
6
+ };
7
+ export default isElementHidden;
8
+ //# sourceMappingURL=isElementHidden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementHidden.js","sourceRoot":"","sources":["../../src/util/isElementHidden.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE;IAC3C,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,EAAE;QAC3B,OAAO,KAAK,CAAC;KACb;IAED,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;AACxG,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["const isElementHidden = (el: HTMLElement) => {\n\tif (el.nodeName === \"SLOT\") {\n\t\treturn false;\n\t}\n\n\treturn (el.offsetWidth <= 0 && el.offsetHeight <= 0) || (el.style && el.style.visibility === \"hidden\");\n};\n\nexport default isElementHidden;\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Determines if the element is within the viewport.
3
+ * @param el {HTMLElement}
4
+ */
5
+ declare const isElementInView: (el: HTMLElement) => boolean;
6
+ export default isElementInView;
@@ -0,0 +1,12 @@
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
+ return (rect.top >= 0 && rect.left >= 0
8
+ && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
9
+ && rect.right <= (window.innerWidth || document.documentElement.clientWidth));
10
+ };
11
+ export default isElementInView;
12
+ //# sourceMappingURL=isElementInView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementInView.js","sourceRoot":"","sources":["../../src/util/isElementInView.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;IAExC,OAAO,CACN,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;WAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;WAC5E,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAC7E,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["/**\n * Determines if the element is within the viewport.\n * @param el {HTMLElement}\n */\nconst isElementInView = (el: HTMLElement) => {\n\tconst rect = el.getBoundingClientRect();\n\n\treturn (\n\t\trect.top >= 0 && rect.left >= 0\n\t\t\t&& rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n\t\t\t&& rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t);\n};\n\nexport default isElementInView;\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns if the HTMLElement is tabbable.
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 { boolean } true if the element is tabbable or false - if not
7
+ */
8
+ declare const isElementTabbable: (el: HTMLElement) => boolean;
9
+ export default isElementTabbable;
@@ -0,0 +1,30 @@
1
+ import isElementHidden from "./isElementHidden.js";
2
+ /**
3
+ * Returns if the HTMLElement is tabbable.
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 { boolean } true if the element is tabbable or false - if not
8
+ */
9
+ const isElementTabbable = (el) => {
10
+ if (!el) {
11
+ return false;
12
+ }
13
+ const nodeName = el.nodeName.toLowerCase();
14
+ if (el.hasAttribute("data-sap-no-tab-ref")) {
15
+ return false;
16
+ }
17
+ if (isElementHidden(el)) {
18
+ return false;
19
+ }
20
+ const tabIndex = el.getAttribute("tabindex");
21
+ if (tabIndex !== null && tabIndex !== undefined) {
22
+ return parseInt(tabIndex) >= 0;
23
+ }
24
+ if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
25
+ return !el.disabled;
26
+ }
27
+ return false;
28
+ };
29
+ export default isElementTabbable;
30
+ //# sourceMappingURL=isElementTabbable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementTabbable.js","sourceRoot":"","sources":["../../src/util/isElementTabbable.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CAAC,EAAe,EAAW,EAAE;IACtD,IAAI,CAAC,EAAE,EAAE;QACR,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;QAC3C,OAAO,KAAK,CAAC;KACb;IAED,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;QAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,IAAI,QAAQ,KAAK,GAAG,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC7E,OAAO,CAAE,EAAsB,CAAC,QAAQ,CAAC;KACzC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import isElementHidden from \"./isElementHidden.js\";\n\n/**\n * Returns if the HTMLElement is tabbable.\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 { boolean } true if the element is tabbable or false - if not\n */\nconst isElementTabbable = (el: HTMLElement): boolean => {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst nodeName = el.nodeName.toLowerCase();\n\n\tif (el.hasAttribute(\"data-sap-no-tab-ref\")) {\n\t\treturn false;\n\t}\n\n\tif (isElementHidden(el)) {\n\t\treturn false;\n\t}\n\n\tconst tabIndex = el.getAttribute(\"tabindex\");\n\tif (tabIndex !== null && tabIndex !== undefined) {\n\t\treturn parseInt(tabIndex) >= 0;\n\t}\n\n\tif (nodeName === \"a\" || /input|select|textarea|button|object/.test(nodeName)) {\n\t\treturn !(el as HTMLLinkElement).disabled;\n\t}\n\n\treturn false;\n};\n\nexport default isElementTabbable;\n"]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Checks whether a property name is valid (does not collide with existing DOM API properties)
3
+ *
4
+ * @param name
5
+ * @returns {boolean}
6
+ */
7
+ declare const isValidPropertyName: (name: string) => boolean;
8
+ export default isValidPropertyName;
@@ -1,23 +1,28 @@
1
1
  // Note: disabled is present in IE so we explicitly allow it here.
2
- // Others, such as ariaLabel, we explicitly override, so valid too
3
- const whitelist = ["disabled", "ariaLabel"];
4
-
2
+ // Others, such as title/hidden, we explicitly override, so valid too
3
+ const allowList = [
4
+ "disabled",
5
+ "title",
6
+ "hidden",
7
+ "role",
8
+ "draggable",
9
+ ];
5
10
  /**
6
11
  * Checks whether a property name is valid (does not collide with existing DOM API properties)
7
12
  *
8
13
  * @param name
9
14
  * @returns {boolean}
10
15
  */
11
- const isValidPropertyName = name => {
12
- if (whitelist.includes(name)) {
13
- return true;
14
- }
15
- const classes = [
16
- HTMLElement,
17
- Element,
18
- Node,
19
- ];
20
- return !classes.some(klass => klass.prototype.hasOwnProperty(name)); // eslint-disable-line
16
+ const isValidPropertyName = (name) => {
17
+ if (allowList.includes(name) || name.startsWith("aria")) {
18
+ return true;
19
+ }
20
+ const classes = [
21
+ HTMLElement,
22
+ Element,
23
+ Node,
24
+ ];
25
+ return !classes.some(klass => klass.prototype.hasOwnProperty(name)); // eslint-disable-line
21
26
  };
22
-
23
27
  export default isValidPropertyName;
28
+ //# sourceMappingURL=isValidPropertyName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidPropertyName.js","sourceRoot":"","sources":["../../src/util/isValidPropertyName.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,qEAAqE;AACrE,MAAM,SAAS,GAAG;IACjB,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,WAAW;CACX,CAAC;AAEF;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACxD,OAAO,IAAI,CAAC;KACZ;IACD,MAAM,OAAO,GAAG;QACf,WAAW;QACX,OAAO;QACP,IAAI;KACJ,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB;AAC5F,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["// Note: disabled is present in IE so we explicitly allow it here.\n// Others, such as title/hidden, we explicitly override, so valid too\nconst allowList = [\n\t\"disabled\",\n\t\"title\",\n\t\"hidden\",\n\t\"role\",\n\t\"draggable\",\n];\n\n/**\n * Checks whether a property name is valid (does not collide with existing DOM API properties)\n *\n * @param name\n * @returns {boolean}\n */\nconst isValidPropertyName = (name: string) => {\n\tif (allowList.includes(name) || name.startsWith(\"aria\")) {\n\t\treturn true;\n\t}\n\tconst classes = [\n\t\tHTMLElement,\n\t\tElement,\n\t\tNode,\n\t];\n\treturn !classes.some(klass => klass.prototype.hasOwnProperty(name)); // eslint-disable-line\n};\n\nexport default isValidPropertyName;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const whenDOMReady: () => Promise<void>;
2
+ export default whenDOMReady;
@@ -1,13 +1,14 @@
1
1
  const whenDOMReady = () => {
2
- return new Promise(resolve => {
3
- if (document.body) {
4
- resolve();
5
- } else {
6
- document.addEventListener("DOMContentLoaded", () => {
7
- resolve();
8
- });
9
- }
10
- });
2
+ return new Promise(resolve => {
3
+ if (document.body) {
4
+ resolve();
5
+ }
6
+ else {
7
+ document.addEventListener("DOMContentLoaded", () => {
8
+ resolve();
9
+ });
10
+ }
11
+ });
11
12
  };
12
-
13
13
  export default whenDOMReady;
14
+ //# sourceMappingURL=whenDOMReady.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whenDOMReady.js","sourceRoot":"","sources":["../../src/util/whenDOMReady.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAClC,IAAI,QAAQ,CAAC,IAAI,EAAE;YAClB,OAAO,EAAE,CAAC;SACV;aAAM;YACN,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAClD,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;SACH;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["const whenDOMReady = () => {\n\treturn new Promise<void>(resolve => {\n\t\tif (document.body) {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tdocument.addEventListener(\"DOMContentLoaded\", () => {\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t});\n};\n\nexport default whenDOMReady;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const willShowContent: (childNodes: Array<Node>) => boolean;
2
+ export default willShowContent;
@@ -0,0 +1,7 @@
1
+ const willShowContent = (childNodes) => {
2
+ return Array.from(childNodes).filter(node => {
3
+ return node.nodeType !== Node.COMMENT_NODE && (node.nodeType !== Node.TEXT_NODE || (node.nodeValue || "").trim().length !== 0);
4
+ }).length > 0;
5
+ };
6
+ export default willShowContent;
7
+ //# sourceMappingURL=willShowContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"willShowContent.js","sourceRoot":"","sources":["../../src/util/willShowContent.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,UAAuB,EAAE,EAAE;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3C,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAChI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["const willShowContent = (childNodes: Array<Node>) => {\n\treturn Array.from(childNodes).filter(node => {\n\t\treturn node.nodeType !== Node.COMMENT_NODE && (node.nodeType !== Node.TEXT_NODE || (node.nodeValue || \"\").trim().length !== 0);\n\t}).length > 0;\n};\n\nexport default willShowContent;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const validateThemeRoot: (themeRoot: string) => string | undefined;
2
+ export default validateThemeRoot;
@@ -0,0 +1,48 @@
1
+ const getMetaTagValue = (metaTagName) => {
2
+ const metaTag = document.querySelector(`META[name="${metaTagName}"]`), metaTagContent = metaTag && metaTag.getAttribute("content");
3
+ return metaTagContent;
4
+ };
5
+ const validateThemeOrigin = (origin) => {
6
+ const allowedOrigins = getMetaTagValue("sap-allowedThemeOrigins");
7
+ return allowedOrigins && allowedOrigins.split(",").some(allowedOrigin => {
8
+ return allowedOrigin === "*" || origin === allowedOrigin.trim();
9
+ });
10
+ };
11
+ const buildCorrectUrl = (oldUrl, newOrigin) => {
12
+ const oldUrlPath = new URL(oldUrl).pathname;
13
+ return new URL(oldUrlPath, newOrigin).toString();
14
+ };
15
+ const validateThemeRoot = (themeRoot) => {
16
+ let resultUrl;
17
+ try {
18
+ if (themeRoot.startsWith(".") || themeRoot.startsWith("/")) {
19
+ // Handle relative url
20
+ // new URL("/newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
21
+ // new URL("./newExmPath", "http://example.com/exmPath") => http://example.com/exmPath/newExmPath
22
+ // new URL("../newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
23
+ resultUrl = new URL(themeRoot, window.location.href).toString();
24
+ }
25
+ else {
26
+ const themeRootURL = new URL(themeRoot);
27
+ const origin = themeRootURL.origin;
28
+ if (origin && validateThemeOrigin(origin)) {
29
+ // If origin is allowed, use it
30
+ resultUrl = themeRootURL.toString();
31
+ }
32
+ else {
33
+ // If origin is not allow and the URL is not relative, we have to replace the origin
34
+ // with current location
35
+ resultUrl = buildCorrectUrl(themeRootURL.toString(), window.location.href);
36
+ }
37
+ }
38
+ if (!resultUrl.endsWith("/")) {
39
+ resultUrl = `${resultUrl}/`;
40
+ }
41
+ return `${resultUrl}UI5/`;
42
+ }
43
+ catch (e) {
44
+ // Catch if URL is not correct
45
+ }
46
+ };
47
+ export default validateThemeRoot;
48
+ //# sourceMappingURL=validateThemeRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateThemeRoot.js","sourceRoot":"","sources":["../src/validateThemeRoot.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,WAAW,IAAI,CAAC,EACpE,cAAc,GAAG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAE7D,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,MAAM,cAAc,GAAG,eAAe,CAAC,yBAAyB,CAAC,CAAC;IAElE,OAAO,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QACvE,OAAO,aAAa,KAAK,GAAG,IAAI,MAAM,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAE5C,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,IAAI,SAAS,CAAC;IAEd,IAAI;QACH,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC3D,sBAAsB;YACtB,wFAAwF;YACxF,iGAAiG;YACjG,0FAA0F;YAC1F,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;SAChE;aAAM;YACN,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;YAEnC,IAAI,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;gBAC1C,+BAA+B;gBAC/B,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;aACpC;iBAAM;gBACN,oFAAoF;gBACpF,wBAAwB;gBACxB,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC3E;SACD;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC7B,SAAS,GAAG,GAAG,SAAS,GAAG,CAAC;SAC5B;QAED,OAAO,GAAG,SAAS,MAAM,CAAC;KAC1B;IAAC,OAAO,CAAC,EAAE;QACX,8BAA8B;KAC9B;AACF,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["const getMetaTagValue = (metaTagName: string) => {\n\tconst metaTag = document.querySelector(`META[name=\"${metaTagName}\"]`),\n\t\tmetaTagContent = metaTag && metaTag.getAttribute(\"content\");\n\n\treturn metaTagContent;\n};\n\nconst validateThemeOrigin = (origin: string) => {\n\tconst allowedOrigins = getMetaTagValue(\"sap-allowedThemeOrigins\");\n\n\treturn allowedOrigins && allowedOrigins.split(\",\").some(allowedOrigin => {\n\t\treturn allowedOrigin === \"*\" || origin === allowedOrigin.trim();\n\t});\n};\n\nconst buildCorrectUrl = (oldUrl: string, newOrigin: string) => {\n\tconst oldUrlPath = new URL(oldUrl).pathname;\n\n\treturn new URL(oldUrlPath, newOrigin).toString();\n};\n\nconst validateThemeRoot = (themeRoot: string) => {\n\tlet resultUrl;\n\n\ttry {\n\t\tif (themeRoot.startsWith(\".\") || themeRoot.startsWith(\"/\")) {\n\t\t\t// Handle relative url\n\t\t\t// new URL(\"/newExmPath\", \"http://example.com/exmPath\") => http://example.com/newExmPath\n\t\t\t// new URL(\"./newExmPath\", \"http://example.com/exmPath\") => http://example.com/exmPath/newExmPath\n\t\t\t// new URL(\"../newExmPath\", \"http://example.com/exmPath\") => http://example.com/newExmPath\n\t\t\tresultUrl = new URL(themeRoot, window.location.href).toString();\n\t\t} else {\n\t\t\tconst themeRootURL = new URL(themeRoot);\n\t\t\tconst origin = themeRootURL.origin;\n\n\t\t\tif (origin && validateThemeOrigin(origin)) {\n\t\t\t\t// If origin is allowed, use it\n\t\t\t\tresultUrl = themeRootURL.toString();\n\t\t\t} else {\n\t\t\t\t// If origin is not allow and the URL is not relative, we have to replace the origin\n\t\t\t\t// with current location\n\t\t\t\tresultUrl = buildCorrectUrl(themeRootURL.toString(), window.location.href);\n\t\t\t}\n\t\t}\n\n\t\tif (!resultUrl.endsWith(\"/\")) {\n\t\t\tresultUrl = `${resultUrl}/`;\n\t\t}\n\n\t\treturn `${resultUrl}UI5/`;\n\t} catch (e) {\n\t\t// Catch if URL is not correct\n\t}\n};\n\nexport default validateThemeRoot;\n"]}
package/index.js CHANGED
@@ -1,4 +1,230 @@
1
- import UI5Element from "./src/UI5Element.js";
1
+ // animations/
2
+ import scroll from "./dist/animations/scroll.js";
3
+ import slideDown from "./dist/animations/slideDown.js";
4
+ import slideUp from "./dist/animations/slideUp.js";
5
+
6
+ // config/
7
+ import { getAnimationMode, setAnimationMode } from "./dist/config/AnimationMode.js";
8
+ import { getCalendarType } from "./dist/config/CalendarType.js";
9
+ import { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from "./dist/config/FormatSettings.js";
10
+ import {
11
+ setDefaultIconCollection,
12
+ getDefaultIconCollection,
13
+ } from "./dist/config/Icons.js";
14
+ import { RegisteredIconCollection } from "./dist/asset-registries/util/IconCollectionsByTheme.js";
15
+ import getEffectiveIconCollection from "./dist/asset-registries/util/getIconCollectionsByTheme.js";
16
+ import {
17
+ getLanguage,
18
+ setLanguage,
19
+ getDefaultLanguage,
20
+ setFetchDefaultLanguage,
21
+ getFetchDefaultLanguage,
22
+ } from "./dist/config/Language.js";
23
+ import { getNoConflict, setNoConflict } from "./dist/config/NoConflict.js";
24
+ import { getRTL } from "./dist/config/RTL.js";
25
+ import {
26
+ getTheme,
27
+ setTheme,
28
+ getDefaultTheme,
29
+ } from "./dist/config/Theme.js";
30
+
31
+ // decorators/
32
+ import customElement from "./dist/decorators/customElement.js";
33
+ import event from "./dist/decorators/event.js";
34
+ import property from "./dist/decorators/property.js";
35
+ import slot from "./dist/decorators/slot.js";
36
+
37
+ // delegate/
38
+ import ItemNavigation from "./dist/delegate/ItemNavigation.js";
39
+ import ResizeHandler from "./dist/delegate/ResizeHandler.js";
40
+ import ScrollEnablement from "./dist/delegate/ScrollEnablement.js";
41
+
42
+ // locale/
43
+ import applyDirection from "./dist/locale/applyDirection.js";
44
+ import { attachDirectionChange, detachDirectionChange } from "./dist/locale/directionChange.js";
45
+ import getEffectiveDir from "./dist/locale/getEffectiveDir.js";
46
+ import { attachLanguageChange, detachLanguageChange } from "./dist/locale/languageChange.js";
47
+
48
+ // util/
49
+ import { URLListValidator, sanitizeHTML } from "./dist/util/HTMLSanitizer.js";
50
+
51
+ // Assets.ts
52
+ import { registerI18nLoader } from "./dist/asset-registries/i18n.js";
53
+ import { registerLocaleDataLoader } from "./dist/asset-registries/LocaleData.js";
54
+ import { registerThemePropertiesLoader } from "./dist/asset-registries/Themes.js";
55
+ import { registerIconLoader } from "./dist/asset-registries/Icons.js";
56
+
57
+ // Boot.ts
58
+ import { attachBoot } from "./dist/Boot.js";
59
+
60
+ // CSP.ts
61
+ import {
62
+ setPackageCSSRoot,
63
+ setUseLinks,
64
+ setPreloadLinks,
65
+ } from "./dist/CSP.js";
66
+
67
+ // CustomElementsScope.ts
68
+ import {
69
+ setCustomElementsScopingSuffix,
70
+ getCustomElementsScopingSuffix,
71
+ setCustomElementsScopingRules,
72
+ getCustomElementsScopingRules,
73
+ getEffectiveScopingSuffixForTag,
74
+ } from "./dist/CustomElementsScope.js";
75
+
76
+ // Device.ts
77
+ import {
78
+ supportsTouch,
79
+ isIE,
80
+ isSafari,
81
+ isChrome,
82
+ isFirefox,
83
+ isPhone,
84
+ isTablet,
85
+ isDesktop,
86
+ isCombi,
87
+ isIOS,
88
+ isAndroid,
89
+ } from "./dist/Device.js";
90
+
91
+ // EventProvider.ts
92
+ import EventProvider from "./dist/EventProvider.js";
93
+
94
+ // i18nBundle.ts
95
+ import I18nBundle, { getI18nBundle, registerCustomI18nBundleGetter } from "./dist/i18nBundle.js";
96
+
97
+ // MediaRange.ts
98
+ import MediaRange from "./dist/MediaRange.js";
99
+
100
+ // PropertiesFileFormat.ts
101
+ import parseProperties from "./dist/PropertiesFileFormat.js";
102
+
103
+ // Render.ts
104
+ import {
105
+ renderDeferred,
106
+ renderImmediately,
107
+ cancelRender,
108
+ renderFinished,
109
+ } from "./dist/Render.js";
110
+
111
+ // Theming.ts
112
+ import { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from "./dist/Theming.js";
113
+
114
+ // UI5Element.ts
115
+ import UI5Element from "./dist/UI5Element.js";
2
116
 
3
117
  export default UI5Element;
4
- export { UI5Element };
118
+ export {
119
+ // animations/
120
+ scroll,
121
+ slideDown,
122
+ slideUp,
123
+
124
+ // config/
125
+ getAnimationMode,
126
+ setAnimationMode,
127
+ getCalendarType,
128
+ getFirstDayOfWeek,
129
+ getLegacyDateCalendarCustomizing,
130
+ setDefaultIconCollection,
131
+ getDefaultIconCollection,
132
+ getEffectiveIconCollection,
133
+ RegisteredIconCollection,
134
+ getLanguage,
135
+ setLanguage,
136
+ getDefaultLanguage,
137
+ setFetchDefaultLanguage,
138
+ getFetchDefaultLanguage,
139
+ getNoConflict,
140
+ setNoConflict,
141
+ getRTL,
142
+ getTheme,
143
+ setTheme,
144
+ getDefaultTheme,
145
+
146
+ // decorators/
147
+ customElement,
148
+ event,
149
+ property,
150
+ slot,
151
+
152
+ // delegate/
153
+ ItemNavigation,
154
+ ResizeHandler,
155
+ ScrollEnablement,
156
+
157
+ // locale/
158
+ applyDirection,
159
+ attachDirectionChange,
160
+ detachDirectionChange,
161
+ getEffectiveDir,
162
+ attachLanguageChange,
163
+ detachLanguageChange,
164
+
165
+ // util/
166
+ URLListValidator,
167
+ sanitizeHTML,
168
+
169
+ // Assets.ts
170
+ registerI18nLoader,
171
+ registerLocaleDataLoader,
172
+ registerThemePropertiesLoader,
173
+ registerIconLoader,
174
+
175
+ // Boot.ts
176
+ attachBoot,
177
+
178
+ // CSP.ts
179
+ setPackageCSSRoot,
180
+ setUseLinks,
181
+ setPreloadLinks,
182
+
183
+ // CustomElementsScope.ts
184
+ setCustomElementsScopingSuffix,
185
+ getCustomElementsScopingSuffix,
186
+ setCustomElementsScopingRules,
187
+ getCustomElementsScopingRules,
188
+ getEffectiveScopingSuffixForTag,
189
+
190
+ // Device.ts
191
+ supportsTouch,
192
+ isIE,
193
+ isSafari,
194
+ isChrome,
195
+ isFirefox,
196
+ isPhone,
197
+ isTablet,
198
+ isDesktop,
199
+ isCombi,
200
+ isIOS,
201
+ isAndroid,
202
+
203
+ // EventProvider.ts
204
+ EventProvider,
205
+
206
+ // i18nBundle.ts
207
+ I18nBundle,
208
+ getI18nBundle,
209
+ registerCustomI18nBundleGetter,
210
+
211
+ // MediaRange.ts
212
+ MediaRange,
213
+
214
+ // PropertiesFileFormat.ts
215
+ parseProperties,
216
+
217
+ // Render.ts
218
+ renderDeferred,
219
+ renderImmediately,
220
+ cancelRender,
221
+ renderFinished,
222
+
223
+ // Theming.ts
224
+ addCustomCSS,
225
+ attachThemeLoaded,
226
+ detachThemeLoaded,
227
+
228
+ // UI5Element.ts
229
+ UI5Element,
230
+ };
@@ -1,22 +1,27 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const mkdirp = require('mkdirp');
4
- const assets = require('@ui5/webcomponents-tools/assets-meta.js');
1
+ import fs from "fs/promises";
2
+ import assets from "@ui5/webcomponents-tools/assets-meta.js";
5
3
 
6
4
  const fileContent = `const assetParameters = ${JSON.stringify(assets)};
7
5
 
8
6
  const DEFAULT_THEME = assetParameters.themes.default;
7
+ const SUPPORTED_THEMES = assetParameters.themes.all;
9
8
  const DEFAULT_LANGUAGE = assetParameters.languages.default;
10
9
  const DEFAULT_LOCALE = assetParameters.locales.default;
11
10
  const SUPPORTED_LOCALES = assetParameters.locales.all;
12
11
 
13
12
  export {
14
13
  DEFAULT_THEME,
14
+ SUPPORTED_THEMES,
15
15
  DEFAULT_LANGUAGE,
16
16
  DEFAULT_LOCALE,
17
17
  SUPPORTED_LOCALES,
18
18
  };`;
19
19
 
20
- mkdirp.sync("dist/generated/");
21
- fs.writeFileSync("dist/generated/AssetParameters.js", fileContent);
20
+ const generate = async () => {
21
+ await fs.mkdir("src/generated/", { recursive: true });
22
+ return fs.writeFile("src/generated/AssetParameters.ts", fileContent);
23
+ }
22
24
 
25
+ generate().then(() => {
26
+ console.log("Assets parameters generated.");
27
+ });