@ui5/webcomponents-base 0.0.0-2bd2204ed → 0.0.0-2cf9f07f8

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 (755) hide show
  1. package/.eslintignore +9 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +973 -0
  4. package/README.md +57 -7
  5. package/bundle.esm.js +37 -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 +62 -0
  23. package/dist/CustomElementsScopeUtils.js +102 -0
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +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 +22 -63
  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 +133 -96
  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 +78 -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 +7 -0
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +37 -0
  74. package/dist/StaticAreaItem.js +102 -0
  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 -45
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +380 -0
  83. package/dist/UI5Element.js +950 -790
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -135
  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 +18 -0
  108. package/dist/asset-registries/Illustrations.js +85 -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 +127 -92
  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 -58
  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.d9d05525.js +9 -0
  130. package/dist/assets/bundle.esm.f99c9fc6.js +50 -0
  131. package/dist/config/AnimationMode.d.ts +14 -0
  132. package/dist/config/AnimationMode.js +23 -6
  133. package/dist/config/AnimationMode.js.map +1 -0
  134. package/dist/config/CalendarType.d.ts +8 -0
  135. package/dist/config/CalendarType.js +15 -14
  136. package/dist/config/CalendarType.js.map +1 -0
  137. package/dist/config/FormatSettings.d.ts +15 -0
  138. package/dist/config/FormatSettings.js +16 -6
  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 -7
  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 -34
  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 -19
  154. package/dist/config/Theme.js.map +1 -0
  155. package/dist/config/ThemeRoot.d.ts +29 -0
  156. package/dist/config/ThemeRoot.js +59 -0
  157. package/dist/config/ThemeRoot.js.map +1 -0
  158. package/dist/config/Timezone.d.ts +17 -0
  159. package/dist/config/Timezone.js +30 -0
  160. package/dist/config/Timezone.js.map +1 -0
  161. package/dist/connectToComponent.d.ts +9 -0
  162. package/dist/connectToComponent.js +59 -0
  163. package/dist/connectToComponent.js.map +1 -0
  164. package/dist/css/BusyIndicator.css +80 -0
  165. package/dist/css/FontFace.css +84 -0
  166. package/dist/css/OverrideFontFace.css +32 -0
  167. package/dist/css/SystemCSSVars.css +17 -0
  168. package/dist/decorators/customElement.d.ts +23 -0
  169. package/dist/decorators/customElement.js +37 -0
  170. package/dist/decorators/customElement.js.map +1 -0
  171. package/dist/decorators/event.d.ts +10 -0
  172. package/dist/decorators/event.js +24 -0
  173. package/dist/decorators/event.js.map +1 -0
  174. package/dist/decorators/property.d.ts +9 -0
  175. package/dist/decorators/property.js +24 -0
  176. package/dist/decorators/property.js.map +1 -0
  177. package/dist/decorators/slot.d.ts +9 -0
  178. package/dist/decorators/slot.js +37 -0
  179. package/dist/decorators/slot.js.map +1 -0
  180. package/dist/delegate/ItemNavigation.d.ts +113 -0
  181. package/dist/delegate/ItemNavigation.js +312 -230
  182. package/dist/delegate/ItemNavigation.js.map +1 -0
  183. package/dist/delegate/ResizeHandler.d.ts +25 -0
  184. package/dist/delegate/ResizeHandler.js +84 -63
  185. package/dist/delegate/ResizeHandler.js.map +1 -0
  186. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  187. package/dist/delegate/ScrollEnablement.js +159 -74
  188. package/dist/delegate/ScrollEnablement.js.map +1 -0
  189. package/dist/features/F6Navigation.d.ts +19 -0
  190. package/dist/features/F6Navigation.js +151 -0
  191. package/dist/features/F6Navigation.js.map +1 -0
  192. package/dist/features/LegacyDateFormats.d.ts +18 -0
  193. package/dist/features/LegacyDateFormats.js +20 -0
  194. package/dist/features/LegacyDateFormats.js.map +1 -0
  195. package/dist/features/OpenUI5Element.d.ts +9 -0
  196. package/dist/features/OpenUI5Element.js +5 -0
  197. package/dist/features/OpenUI5Element.js.map +1 -0
  198. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  199. package/dist/features/OpenUI5Enablement.js +96 -0
  200. package/dist/features/OpenUI5Enablement.js.map +1 -0
  201. package/dist/features/OpenUI5Support.d.ts +36 -0
  202. package/dist/features/OpenUI5Support.js +154 -0
  203. package/dist/features/OpenUI5Support.js.map +1 -0
  204. package/dist/generated/AssetParameters.js +15 -0
  205. package/dist/generated/VersionInfo.js +10 -0
  206. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  207. package/dist/generated/css/BusyIndicator.css.js +7 -0
  208. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  209. package/dist/generated/css/FontFace.css.d.ts +3 -0
  210. package/dist/generated/css/FontFace.css.js +7 -0
  211. package/dist/generated/css/FontFace.css.js.map +1 -0
  212. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  213. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  214. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  215. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  216. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  217. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  218. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  219. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  220. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  221. package/dist/getSharedResource.d.ts +11 -0
  222. package/dist/getSharedResource.js +40 -0
  223. package/dist/getSharedResource.js.map +1 -0
  224. package/dist/global.d.ts +40 -0
  225. package/dist/i18nBundle.d.ts +43 -0
  226. package/dist/i18nBundle.js +74 -30
  227. package/dist/i18nBundle.js.map +1 -0
  228. package/dist/locale/Locale.d.ts +22 -0
  229. package/dist/locale/Locale.js +79 -0
  230. package/dist/locale/Locale.js.map +1 -0
  231. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  232. package/dist/locale/RTLAwareRegistry.js +9 -0
  233. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  234. package/dist/locale/applyDirection.d.ts +10 -0
  235. package/dist/locale/applyDirection.js +17 -0
  236. package/dist/locale/applyDirection.js.map +1 -0
  237. package/dist/locale/directionChange.d.ts +15 -0
  238. package/dist/locale/directionChange.js +24 -0
  239. package/dist/locale/directionChange.js.map +1 -0
  240. package/dist/locale/getEffectiveDir.d.ts +2 -0
  241. package/dist/locale/getEffectiveDir.js +24 -0
  242. package/dist/locale/getEffectiveDir.js.map +1 -0
  243. package/dist/locale/getLocale.d.ts +7 -0
  244. package/dist/locale/getLocale.js +38 -0
  245. package/dist/locale/getLocale.js.map +1 -0
  246. package/dist/locale/languageChange.d.ts +5 -0
  247. package/dist/locale/languageChange.js +14 -0
  248. package/dist/locale/languageChange.js.map +1 -0
  249. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  250. package/dist/locale/nextFallbackLocale.js +24 -0
  251. package/dist/locale/nextFallbackLocale.js.map +1 -0
  252. package/dist/locale/normalizeLocale.d.ts +7 -0
  253. package/dist/locale/normalizeLocale.js +47 -0
  254. package/dist/locale/normalizeLocale.js.map +1 -0
  255. package/dist/renderer/LitRenderer.d.ts +14 -0
  256. package/dist/renderer/LitRenderer.js +38 -12
  257. package/dist/renderer/LitRenderer.js.map +1 -0
  258. package/dist/renderer/directives/style-map.js +72 -0
  259. package/dist/renderer/executeTemplate.d.ts +13 -0
  260. package/dist/renderer/executeTemplate.js +30 -0
  261. package/dist/renderer/executeTemplate.js.map +1 -0
  262. package/dist/sap/base/Log.js +240 -0
  263. package/dist/sap/base/assert.js +7 -0
  264. package/dist/sap/base/security/URLListValidator.js +159 -0
  265. package/dist/sap/base/security/encodeCSS.js +14 -0
  266. package/dist/sap/base/security/encodeXML.js +23 -0
  267. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  268. package/dist/sap/base/strings/toHex.js +8 -0
  269. package/dist/sap/base/util/now.js +7 -0
  270. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  271. package/dist/theming/CustomStyle.d.ts +6 -0
  272. package/dist/theming/CustomStyle.js +46 -17
  273. package/dist/theming/CustomStyle.js.map +1 -0
  274. package/dist/theming/ThemeLoaded.d.ts +5 -0
  275. package/dist/theming/ThemeLoaded.js +14 -0
  276. package/dist/theming/ThemeLoaded.js.map +1 -0
  277. package/dist/theming/ThemeRegistered.d.ts +4 -0
  278. package/dist/theming/ThemeRegistered.js +11 -0
  279. package/dist/theming/ThemeRegistered.js.map +1 -0
  280. package/dist/theming/applyTheme.d.ts +2 -0
  281. package/dist/theming/applyTheme.js +76 -0
  282. package/dist/theming/applyTheme.js.map +1 -0
  283. package/dist/theming/getConstructableStyle.d.ts +9 -0
  284. package/dist/theming/getConstructableStyle.js +25 -0
  285. package/dist/theming/getConstructableStyle.js.map +1 -0
  286. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  287. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  288. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  289. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  290. package/dist/theming/getEffectiveStyle.js +32 -0
  291. package/dist/theming/getEffectiveStyle.js.map +1 -0
  292. package/dist/theming/getStylesString.d.ts +3 -0
  293. package/dist/theming/getStylesString.js +11 -0
  294. package/dist/theming/getStylesString.js.map +1 -0
  295. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  296. package/dist/theming/getThemeDesignerTheme.js +80 -0
  297. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  298. package/dist/theming/preloadLinks.d.ts +3 -0
  299. package/dist/theming/preloadLinks.js +19 -0
  300. package/dist/theming/preloadLinks.js.map +1 -0
  301. package/dist/thirdparty/_merge.d.ts +2 -0
  302. package/dist/thirdparty/_merge.js +35 -0
  303. package/dist/thirdparty/_merge.js.map +1 -0
  304. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  305. package/dist/thirdparty/isPlainObject.js +19 -0
  306. package/dist/thirdparty/isPlainObject.js.map +1 -0
  307. package/dist/thirdparty/merge.d.ts +2 -0
  308. package/dist/thirdparty/merge.js +6 -0
  309. package/dist/thirdparty/merge.js.map +1 -0
  310. package/dist/types/AnimationMode.d.ts +32 -0
  311. package/dist/types/AnimationMode.js +33 -6
  312. package/dist/types/AnimationMode.js.map +1 -0
  313. package/dist/types/CSSColor.d.ts +15 -0
  314. package/dist/types/CSSColor.js +18 -0
  315. package/dist/types/CSSColor.js.map +1 -0
  316. package/dist/types/CalendarType.d.ts +37 -0
  317. package/dist/types/CalendarType.js +39 -0
  318. package/dist/types/CalendarType.js.map +1 -0
  319. package/dist/types/DOMReference.d.ts +17 -0
  320. package/dist/types/DOMReference.js +25 -0
  321. package/dist/types/DOMReference.js.map +1 -0
  322. package/dist/types/DataType.d.ts +25 -0
  323. package/dist/types/DataType.js +33 -14
  324. package/dist/types/DataType.js.map +1 -0
  325. package/dist/types/Float.d.ts +17 -0
  326. package/dist/types/Float.js +21 -0
  327. package/dist/types/Float.js.map +1 -0
  328. package/dist/types/Integer.d.ts +17 -0
  329. package/dist/types/Integer.js +17 -5
  330. package/dist/types/Integer.js.map +1 -0
  331. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  332. package/dist/types/InvisibleMessageMode.js +27 -0
  333. package/dist/types/InvisibleMessageMode.js.map +1 -0
  334. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  335. package/dist/types/ItemNavigationBehavior.js +22 -17
  336. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  337. package/dist/types/NavigationMode.d.ts +32 -0
  338. package/dist/types/NavigationMode.js +33 -5
  339. package/dist/types/NavigationMode.js.map +1 -0
  340. package/dist/types/ValueState.d.ts +42 -0
  341. package/dist/types/ValueState.js +41 -18
  342. package/dist/types/ValueState.js.map +1 -0
  343. package/dist/types.d.ts +18 -0
  344. package/dist/types.js +2 -0
  345. package/dist/types.js.map +1 -0
  346. package/dist/updateShadowRoot.d.ts +8 -0
  347. package/dist/updateShadowRoot.js +42 -0
  348. package/dist/updateShadowRoot.js.map +1 -0
  349. package/dist/util/AriaLabelHelper.d.ts +15 -0
  350. package/dist/util/AriaLabelHelper.js +171 -0
  351. package/dist/util/AriaLabelHelper.js.map +1 -0
  352. package/dist/util/Caret.d.ts +7 -0
  353. package/dist/util/Caret.js +23 -0
  354. package/dist/util/Caret.js.map +1 -0
  355. package/dist/util/ColorConversion.d.ts +30 -0
  356. package/dist/util/ColorConversion.js +337 -0
  357. package/dist/util/ColorConversion.js.map +1 -0
  358. package/dist/util/FetchHelper.d.ts +3 -0
  359. package/dist/util/FetchHelper.js +19 -25
  360. package/dist/util/FetchHelper.js.map +1 -0
  361. package/dist/util/FocusableElements.d.ts +4 -0
  362. package/dist/util/FocusableElements.js +68 -56
  363. package/dist/util/FocusableElements.js.map +1 -0
  364. package/dist/util/HTMLSanitizer.d.ts +3 -0
  365. package/dist/util/HTMLSanitizer.js +6 -0
  366. package/dist/util/HTMLSanitizer.js.map +1 -0
  367. package/dist/util/InvisibleMessage.d.ts +10 -0
  368. package/dist/util/InvisibleMessage.js +56 -0
  369. package/dist/util/InvisibleMessage.js.map +1 -0
  370. package/dist/util/PopupUtils.d.ts +7 -0
  371. package/dist/util/PopupUtils.js +74 -0
  372. package/dist/util/PopupUtils.js.map +1 -0
  373. package/dist/util/SlotsHelper.d.ts +9 -0
  374. package/dist/util/SlotsHelper.js +30 -0
  375. package/dist/util/SlotsHelper.js.map +1 -0
  376. package/dist/util/StringHelper.d.ts +3 -0
  377. package/dist/util/StringHelper.js +21 -9
  378. package/dist/util/StringHelper.js.map +1 -0
  379. package/dist/util/TabbableElements.d.ts +17 -0
  380. package/dist/util/TabbableElements.js +53 -40
  381. package/dist/util/TabbableElements.js.map +1 -0
  382. package/dist/util/arraysAreEqual.d.ts +2 -0
  383. package/dist/util/arraysAreEqual.js +13 -0
  384. package/dist/util/arraysAreEqual.js.map +1 -0
  385. package/dist/util/clamp.d.ts +9 -0
  386. package/dist/util/clamp.js +12 -0
  387. package/dist/util/clamp.js.map +1 -0
  388. package/dist/util/createLinkInHead.d.ts +7 -0
  389. package/dist/util/createLinkInHead.js +21 -0
  390. package/dist/util/createLinkInHead.js.map +1 -0
  391. package/dist/util/createStyleInHead.d.ts +8 -0
  392. package/dist/util/createStyleInHead.js +10 -10
  393. package/dist/util/createStyleInHead.js.map +1 -0
  394. package/dist/util/debounce.d.ts +2 -0
  395. package/dist/util/debounce.js +15 -0
  396. package/dist/util/debounce.js.map +1 -0
  397. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  398. package/dist/util/detectNavigatorLanguage.js +8 -9
  399. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  400. package/dist/util/escapeRegex.d.ts +8 -0
  401. package/dist/util/escapeRegex.js +11 -0
  402. package/dist/util/escapeRegex.js.map +1 -0
  403. package/dist/util/formatMessage.d.ts +2 -0
  404. package/dist/util/formatMessage.js +15 -19
  405. package/dist/util/formatMessage.js.map +1 -0
  406. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  407. package/dist/util/generateHighlightedMarkup.js +41 -0
  408. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  409. package/dist/util/getActiveElement.d.ts +2 -0
  410. package/dist/util/getActiveElement.js +9 -0
  411. package/dist/util/getActiveElement.js.map +1 -0
  412. package/dist/util/getClassCopy.d.ts +400 -0
  413. package/dist/util/getClassCopy.js +10 -0
  414. package/dist/util/getClassCopy.js.map +1 -0
  415. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  416. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  417. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  418. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  419. package/dist/util/getEffectiveContentDensity.js +4 -0
  420. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  421. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  422. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  423. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  424. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  425. package/dist/util/getFastNavigationGroups.js +51 -0
  426. package/dist/util/getFastNavigationGroups.js.map +1 -0
  427. package/dist/util/getFileExtension.d.ts +12 -0
  428. package/dist/util/getFileExtension.js +19 -0
  429. package/dist/util/getFileExtension.js.map +1 -0
  430. package/dist/util/getNormalizedTarget.d.ts +7 -0
  431. package/dist/util/getNormalizedTarget.js +14 -0
  432. package/dist/util/getNormalizedTarget.js.map +1 -0
  433. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  434. package/dist/util/getSingletonElementInstance.js +19 -0
  435. package/dist/util/getSingletonElementInstance.js.map +1 -0
  436. package/dist/util/isElementClickable.d.ts +2 -0
  437. package/dist/util/isElementClickable.js +16 -0
  438. package/dist/util/isElementClickable.js.map +1 -0
  439. package/dist/util/isElementHidden.d.ts +2 -0
  440. package/dist/util/isElementHidden.js +8 -0
  441. package/dist/util/isElementHidden.js.map +1 -0
  442. package/dist/util/isElementInView.d.ts +6 -0
  443. package/dist/util/isElementInView.js +12 -0
  444. package/dist/util/isElementInView.js.map +1 -0
  445. package/dist/util/isElementTabbable.d.ts +9 -0
  446. package/dist/util/isElementTabbable.js +30 -0
  447. package/dist/util/isElementTabbable.js.map +1 -0
  448. package/dist/util/isValidPropertyName.d.ts +8 -0
  449. package/dist/util/isValidPropertyName.js +20 -12
  450. package/dist/util/isValidPropertyName.js.map +1 -0
  451. package/dist/util/whenDOMReady.d.ts +2 -0
  452. package/dist/util/whenDOMReady.js +11 -10
  453. package/dist/util/whenDOMReady.js.map +1 -0
  454. package/dist/util/willShowContent.d.ts +2 -0
  455. package/dist/util/willShowContent.js +7 -0
  456. package/dist/util/willShowContent.js.map +1 -0
  457. package/dist/validateThemeRoot.d.ts +2 -0
  458. package/dist/validateThemeRoot.js +48 -0
  459. package/dist/validateThemeRoot.js.map +1 -0
  460. package/index.js +228 -2
  461. package/lib/generate-asset-parameters/index.js +27 -0
  462. package/lib/generate-styles/index.js +31 -0
  463. package/lib/generate-version-info/index.js +32 -0
  464. package/package-scripts.cjs +71 -0
  465. package/package.json +23 -14
  466. package/src/css/BusyIndicator.css +80 -0
  467. package/src/css/FontFace.css +84 -0
  468. package/src/css/OverrideFontFace.css +32 -0
  469. package/src/css/SystemCSSVars.css +17 -0
  470. package/src/renderer/directives/style-map.js +72 -0
  471. package/tsconfig.json +14 -0
  472. package/used-modules.txt +10 -0
  473. package/bundle.es5.js +0 -28
  474. package/config/rollup.config.js +0 -1
  475. package/config/wdio.conf.js +0 -1
  476. package/dist/Assets.js +0 -2
  477. package/dist/CSS.js +0 -48
  478. package/dist/FormatSettings.js +0 -31
  479. package/dist/Locale.js +0 -101
  480. package/dist/LocaleProvider.js +0 -34
  481. package/dist/RenderScheduler.js +0 -160
  482. package/dist/ResourceLoaderOverrides.js +0 -38
  483. package/dist/SVGIconRegistry.js +0 -54
  484. package/dist/animations/config.js +0 -5
  485. package/dist/boot.js +0 -25
  486. package/dist/compatibility/DOMObserver.js +0 -62
  487. package/dist/compatibility/patchNodeValue.js +0 -24
  488. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  489. package/dist/dates/CalendarDate.js +0 -203
  490. package/dist/dates/CalendarType.js +0 -22
  491. package/dist/dates/CalendarUtils.js +0 -99
  492. package/dist/delegate/CustomResize.js +0 -78
  493. package/dist/delegate/NativeResize.js +0 -44
  494. package/dist/events/PseudoEvents.js +0 -58
  495. package/dist/features/browsersupport/Edge.js +0 -6
  496. package/dist/features/browsersupport/IE11.js +0 -41
  497. package/dist/features/calendar/Buddhist.js +0 -1
  498. package/dist/features/calendar/Islamic.js +0 -1
  499. package/dist/features/calendar/Japanese.js +0 -1
  500. package/dist/features/calendar/Persian.js +0 -1
  501. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  502. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  503. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  504. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  505. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  506. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  507. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  508. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  509. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  510. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  511. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  512. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  513. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  514. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  515. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  516. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  517. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  518. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  519. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  520. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  521. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  522. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  523. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  524. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  525. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  526. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  527. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  528. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  529. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  530. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  531. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  532. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  533. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  534. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  535. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  536. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  537. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  538. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  539. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  540. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  541. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  542. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  543. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  544. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  545. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  546. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  547. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  548. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  549. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  550. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  551. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  552. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  553. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  554. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  555. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  556. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  557. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  558. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  559. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  560. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  561. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  562. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  563. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  564. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  565. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  566. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  567. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  568. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  569. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  570. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  571. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  572. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  573. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  574. package/dist/json-imports/LocaleData.js +0 -171
  575. package/dist/renderer/ifDefined.js +0 -21
  576. package/dist/resources/bundle.es5.js +0 -12468
  577. package/dist/resources/bundle.es5.js.map +0 -1
  578. package/dist/resources/bundle.esm.js +0 -7325
  579. package/dist/resources/bundle.esm.js.map +0 -1
  580. package/dist/shims/Core-shim.js +0 -52
  581. package/dist/shims/jquery-shim.js +0 -89
  582. package/dist/test-resources/assets/Themes.js +0 -11
  583. package/dist/test-resources/elements/Child.js +0 -35
  584. package/dist/test-resources/elements/Generic.js +0 -83
  585. package/dist/test-resources/elements/GenericExt.js +0 -26
  586. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  587. package/dist/test-resources/elements/Parent.js +0 -36
  588. package/dist/test-resources/pages/AllTestElements.html +0 -42
  589. package/dist/test-resources/pages/Configuration.html +0 -20
  590. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  591. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  592. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  593. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  594. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  595. package/dist/test-resources/specs/Theming.spec.js +0 -31
  596. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  597. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  598. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  599. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  600. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  601. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  602. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  603. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  604. package/dist/theming/StyleInjection.js +0 -67
  605. package/dist/thirdparty/Array.from.js +0 -16
  606. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  607. package/dist/thirdparty/Array.prototype.find.js +0 -46
  608. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  609. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  610. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  611. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  612. package/dist/thirdparty/Number.isInteger.js +0 -5
  613. package/dist/thirdparty/Number.isNaN.js +0 -1
  614. package/dist/thirdparty/Number.parseInt.js +0 -1
  615. package/dist/thirdparty/Object.assign.js +0 -31
  616. package/dist/thirdparty/Object.entries.js +0 -11
  617. package/dist/thirdparty/Symbol.js +0 -2
  618. package/dist/thirdparty/WeakSet.js +0 -27
  619. package/dist/thirdparty/events-polyfills.js +0 -89
  620. package/dist/thirdparty/fetch.js +0 -1
  621. package/dist/thirdparty/template.js +0 -600
  622. package/dist/types/CSSSize.js +0 -9
  623. package/dist/types/PopupState.js +0 -37
  624. package/dist/util/CSSTransformUtils.js +0 -90
  625. package/dist/util/isDescendantOf.js +0 -15
  626. package/dist/util/isNodeClickable.js +0 -19
  627. package/dist/util/isNodeHidden.js +0 -13
  628. package/dist/util/isNodeTabbable.js +0 -28
  629. package/dist/util/normalizeLocale.js +0 -77
  630. package/dist/webcomponentsjs/LICENSE.md +0 -19
  631. package/dist/webcomponentsjs/README.md +0 -229
  632. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  633. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  634. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  635. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  636. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  637. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  638. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  639. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  640. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  641. package/dist/webcomponentsjs/package.json +0 -46
  642. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  643. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  644. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  645. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  646. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  647. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  648. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  649. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  650. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  651. package/package-scripts.js +0 -42
  652. package/src/AssetRegistry.js +0 -9
  653. package/src/Assets.js +0 -2
  654. package/src/CSS.js +0 -48
  655. package/src/Device.js +0 -823
  656. package/src/EventProvider.js +0 -73
  657. package/src/FeaturesRegistry.js +0 -11
  658. package/src/FontFace.js +0 -66
  659. package/src/FormatSettings.js +0 -31
  660. package/src/InitialConfiguration.js +0 -119
  661. package/src/Locale.js +0 -101
  662. package/src/LocaleProvider.js +0 -34
  663. package/src/RenderQueue.js +0 -42
  664. package/src/RenderScheduler.js +0 -160
  665. package/src/ResourceLoaderOverrides.js +0 -38
  666. package/src/SVGIconRegistry.js +0 -54
  667. package/src/Theming.js +0 -45
  668. package/src/UI5Element.js +0 -805
  669. package/src/UI5ElementMetadata.js +0 -148
  670. package/src/animations/AnimationQueue.js +0 -42
  671. package/src/animations/animate.js +0 -53
  672. package/src/animations/config.js +0 -5
  673. package/src/animations/scroll.js +0 -28
  674. package/src/animations/slideDown.js +0 -79
  675. package/src/animations/slideUp.js +0 -71
  676. package/src/asset-registries/Icons.js +0 -24
  677. package/src/asset-registries/LocaleData.js +0 -101
  678. package/src/asset-registries/Themes.js +0 -75
  679. package/src/asset-registries/i18n.js +0 -75
  680. package/src/boot.js +0 -25
  681. package/src/compatibility/DOMObserver.js +0 -62
  682. package/src/compatibility/patchNodeValue.js +0 -24
  683. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  684. package/src/config/AnimationMode.js +0 -9
  685. package/src/config/CalendarType.js +0 -18
  686. package/src/config/FormatSettings.js +0 -9
  687. package/src/config/Language.js +0 -9
  688. package/src/config/NoConflict.js +0 -44
  689. package/src/config/RTL.js +0 -31
  690. package/src/config/Theme.js +0 -24
  691. package/src/dates/CalendarDate.js +0 -203
  692. package/src/dates/CalendarType.js +0 -22
  693. package/src/dates/CalendarUtils.js +0 -99
  694. package/src/delegate/CustomResize.js +0 -78
  695. package/src/delegate/ItemNavigation.js +0 -234
  696. package/src/delegate/NativeResize.js +0 -44
  697. package/src/delegate/ResizeHandler.js +0 -66
  698. package/src/delegate/ScrollEnablement.js +0 -80
  699. package/src/events/PseudoEvents.js +0 -58
  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 -52
  711. package/src/shims/jquery-shim.js +0 -89
  712. package/src/theming/CustomStyle.js +0 -19
  713. package/src/theming/StyleInjection.js +0 -67
  714. package/src/thirdparty/Array.from.js +0 -16
  715. package/src/thirdparty/Array.prototype.fill.js +0 -44
  716. package/src/thirdparty/Array.prototype.find.js +0 -46
  717. package/src/thirdparty/Array.prototype.includes.js +0 -51
  718. package/src/thirdparty/Element.prototype.closest.js +0 -11
  719. package/src/thirdparty/Element.prototype.matches.js +0 -6
  720. package/src/thirdparty/Map.prototype.keys.js +0 -9
  721. package/src/thirdparty/Number.isInteger.js +0 -5
  722. package/src/thirdparty/Number.isNaN.js +0 -1
  723. package/src/thirdparty/Number.parseInt.js +0 -1
  724. package/src/thirdparty/Object.assign.js +0 -31
  725. package/src/thirdparty/Object.entries.js +0 -11
  726. package/src/thirdparty/Symbol.js +0 -2
  727. package/src/thirdparty/WeakSet.js +0 -27
  728. package/src/thirdparty/events-polyfills.js +0 -89
  729. package/src/thirdparty/fetch.js +0 -1
  730. package/src/thirdparty/template.js +0 -600
  731. package/src/types/AnimationMode.js +0 -7
  732. package/src/types/CSSSize.js +0 -9
  733. package/src/types/DataType.js +0 -25
  734. package/src/types/Integer.js +0 -9
  735. package/src/types/ItemNavigationBehavior.js +0 -21
  736. package/src/types/NavigationMode.js +0 -6
  737. package/src/types/PopupState.js +0 -37
  738. package/src/types/ValueState.js +0 -21
  739. package/src/util/CSSTransformUtils.js +0 -90
  740. package/src/util/FetchHelper.js +0 -31
  741. package/src/util/FocusableElements.js +0 -60
  742. package/src/util/StringHelper.js +0 -11
  743. package/src/util/TabbableElements.js +0 -44
  744. package/src/util/createStyleInHead.js +0 -18
  745. package/src/util/detectNavigatorLanguage.js +0 -11
  746. package/src/util/formatMessage.js +0 -23
  747. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  748. package/src/util/isDescendantOf.js +0 -15
  749. package/src/util/isNodeClickable.js +0 -19
  750. package/src/util/isNodeHidden.js +0 -13
  751. package/src/util/isNodeTabbable.js +0 -28
  752. package/src/util/isValidPropertyName.js +0 -20
  753. package/src/util/normalizeLocale.js +0 -77
  754. package/src/util/whenDOMReady.js +0 -13
  755. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,20 @@
1
+ type NoConflictData = boolean | {
2
+ events: Array<string>;
3
+ };
4
+ /**
5
+ * Returns if the "noConflict" configuration is set.
6
+ * @public
7
+ * @returns { NoConflictData }
8
+ */
9
+ declare const getNoConflict: () => NoConflictData;
10
+ /**
11
+ * Sets the "noConflict" mode.
12
+ * - When "false" (default value), all custom events are fired with and without the "ui5-" prefix.
13
+ * - When "true", all custom events are fired with the "ui5-" prefix only.
14
+ * - When an object is supplied, just the specified events will be fired with the "ui5-" prefix.
15
+ * @public
16
+ * @param { NoConflictData } noConflictData
17
+ */
18
+ declare const setNoConflict: (noConflictData: NoConflictData) => void;
19
+ declare const skipOriginalEvent: (eventName: string) => boolean;
20
+ export { getNoConflict, setNoConflict, skipOriginalEvent, };
@@ -1,44 +1,51 @@
1
1
  import { getNoConflict as getConfiguredNoConflict } from "../InitialConfiguration.js";
2
-
3
2
  // Fire these events even with noConflict: true
4
3
  const excludeList = [
5
- "value-changed",
4
+ "value-changed",
5
+ "click",
6
6
  ];
7
-
8
- const shouldFireOriginalEvent = eventName => {
9
- return excludeList.includes(eventName);
7
+ let noConflict;
8
+ const shouldFireOriginalEvent = (eventName) => {
9
+ return excludeList.includes(eventName);
10
10
  };
11
-
12
- let noConflict = getConfiguredNoConflict();
13
-
14
- const shouldNotFireOriginalEvent = eventName => {
15
- return !(noConflict.events && noConflict.events.includes && noConflict.events.includes(eventName));
11
+ const shouldNotFireOriginalEvent = (eventName) => {
12
+ const nc = getNoConflict();
13
+ // return !(nc.events && nc.events.includes && nc.events.includes(eventName));
14
+ return !(typeof nc !== "boolean" && nc.events && nc.events.includes && nc.events.includes(eventName));
16
15
  };
17
-
16
+ /**
17
+ * Returns if the "noConflict" configuration is set.
18
+ * @public
19
+ * @returns { NoConflictData }
20
+ */
18
21
  const getNoConflict = () => {
19
- return noConflict;
22
+ if (noConflict === undefined) {
23
+ noConflict = getConfiguredNoConflict();
24
+ }
25
+ return noConflict;
20
26
  };
21
-
22
- const skipOriginalEvent = eventName => {
23
- // Always fire these events
24
- if (shouldFireOriginalEvent(eventName)) {
25
- return false;
26
- }
27
-
28
- // Read from the configuration
29
- if (noConflict === true) {
30
- return true;
31
- }
32
-
33
- return !shouldNotFireOriginalEvent(eventName);
27
+ /**
28
+ * Sets the "noConflict" mode.
29
+ * - When "false" (default value), all custom events are fired with and without the "ui5-" prefix.
30
+ * - When "true", all custom events are fired with the "ui5-" prefix only.
31
+ * - When an object is supplied, just the specified events will be fired with the "ui5-" prefix.
32
+ * @public
33
+ * @param { NoConflictData } noConflictData
34
+ */
35
+ const setNoConflict = (noConflictData) => {
36
+ noConflict = noConflictData;
34
37
  };
35
-
36
- const setNoConflict = noConflictData => {
37
- noConflict = noConflictData;
38
- };
39
-
40
- export {
41
- getNoConflict,
42
- setNoConflict,
43
- skipOriginalEvent,
38
+ const skipOriginalEvent = (eventName) => {
39
+ const nc = getNoConflict();
40
+ // Always fire these events
41
+ if (shouldFireOriginalEvent(eventName)) {
42
+ return false;
43
+ }
44
+ // Read from the configuration
45
+ if (nc === true) {
46
+ return true;
47
+ }
48
+ return !shouldNotFireOriginalEvent(eventName);
44
49
  };
50
+ export { getNoConflict, setNoConflict, skipOriginalEvent, };
51
+ //# sourceMappingURL=NoConflict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoConflict.js","sourceRoot":"","sources":["../../src/config/NoConflict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,+CAA+C;AAC/C,MAAM,WAAW,GAAG;IACnB,eAAe;IACf,OAAO;CACP,CAAC;AAIF,IAAI,UAA0B,CAAC;AAE/B,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACrD,OAAO,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,SAAiB,EAAE,EAAE;IACxD,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3B,8EAA8E;IAC9E,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG,GAAmB,EAAE;IAC1C,IAAI,UAAU,KAAK,SAAS,EAAE;QAC7B,UAAU,GAAG,uBAAuB,EAAE,CAAC;KACvC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,CAAC,cAA8B,EAAE,EAAE;IACxD,UAAU,GAAG,cAAc,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,KAAK,CAAC;KACb;IAED,8BAA8B;IAC9B,IAAI,EAAE,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,OAAO,EACN,aAAa,EACb,aAAa,EACb,iBAAiB,GACjB,CAAC","sourcesContent":["import { getNoConflict as getConfiguredNoConflict } from \"../InitialConfiguration.js\";\n\n// Fire these events even with noConflict: true\nconst excludeList = [\n\t\"value-changed\",\n\t\"click\",\n];\n\ntype NoConflictData = boolean | { events: Array<string>};\n\nlet noConflict: NoConflictData;\n\nconst shouldFireOriginalEvent = (eventName: string) => {\n\treturn excludeList.includes(eventName);\n};\n\nconst shouldNotFireOriginalEvent = (eventName: string) => {\n\tconst nc = getNoConflict();\n\t// return !(nc.events && nc.events.includes && nc.events.includes(eventName));\n\treturn !(typeof nc !== \"boolean\" && nc.events && nc.events.includes && nc.events.includes(eventName));\n};\n\n/**\n * Returns if the \"noConflict\" configuration is set.\n * @public\n * @returns { NoConflictData }\n */\nconst getNoConflict = (): NoConflictData => {\n\tif (noConflict === undefined) {\n\t\tnoConflict = getConfiguredNoConflict();\n\t}\n\n\treturn noConflict;\n};\n\n/**\n * Sets the \"noConflict\" mode.\n * - When \"false\" (default value), all custom events are fired with and without the \"ui5-\" prefix.\n * - When \"true\", all custom events are fired with the \"ui5-\" prefix only.\n * - When an object is supplied, just the specified events will be fired with the \"ui5-\" prefix.\n * @public\n * @param { NoConflictData } noConflictData\n */\nconst setNoConflict = (noConflictData: NoConflictData) => {\n\tnoConflict = noConflictData;\n};\n\nconst skipOriginalEvent = (eventName: string) => {\n\tconst nc = getNoConflict();\n\n\t// Always fire these events\n\tif (shouldFireOriginalEvent(eventName)) {\n\t\treturn false;\n\t}\n\n\t// Read from the configuration\n\tif (nc === true) {\n\t\treturn true;\n\t}\n\n\treturn !shouldNotFireOriginalEvent(eventName);\n};\n\nexport {\n\tgetNoConflict,\n\tsetNoConflict,\n\tskipOriginalEvent,\n};\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Gets the effective RTL setting by first checking the configuration
3
+ * and if not set using the currently set language or the navigator language if the language is not explicitly set.
4
+ * @returns {boolean} whether RTL should be used
5
+ */
6
+ declare const getRTL: () => boolean;
7
+ export { getRTL };
@@ -2,30 +2,36 @@ import { getRTL as getConfiguredRTL } from "../InitialConfiguration.js";
2
2
  import { getLanguage } from "./Language.js";
3
3
  import getDesigntimePropertyAsArray from "../util/getDesigntimePropertyAsArray.js";
4
4
  import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
5
-
6
5
  const M_ISO639_OLD_TO_NEW = {
7
- "iw": "he",
8
- "ji": "yi",
9
- "in": "id",
10
- "sh": "sr",
6
+ "iw": "he",
7
+ "ji": "yi",
8
+ "in": "id",
9
+ "sh": "sr",
11
10
  };
12
-
13
11
  const A_RTL_LOCALES = getDesigntimePropertyAsArray("$cldr-rtl-locales:ar,fa,he$") || [];
14
-
15
- const impliesRTL = language => {
16
- language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
17
-
18
- return A_RTL_LOCALES.indexOf(language) >= 0;
12
+ /**
13
+ * Checks whether the language is using RTL
14
+ * @param {string} language
15
+ * @returns {boolean} whether the language is using RTL
16
+ */
17
+ const impliesRTL = (language) => {
18
+ language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
19
+ return A_RTL_LOCALES.indexOf(language) >= 0;
19
20
  };
20
-
21
+ /**
22
+ * Gets the effective RTL setting by first checking the configuration
23
+ * and if not set using the currently set language or the navigator language if the language is not explicitly set.
24
+ * @returns {boolean} whether RTL should be used
25
+ */
21
26
  const getRTL = () => {
22
- const configurationRTL = getConfiguredRTL();
23
-
24
- if (configurationRTL !== null) {
25
- return !!configurationRTL;
26
- }
27
-
28
- return impliesRTL(getLanguage() || detectNavigatorLanguage());
27
+ if (typeof document === "undefined") {
28
+ return false;
29
+ }
30
+ const configurationRTL = getConfiguredRTL();
31
+ if (configurationRTL !== undefined) {
32
+ return !!configurationRTL;
33
+ }
34
+ return impliesRTL(getLanguage() || detectNavigatorLanguage());
29
35
  };
30
-
31
36
  export { getRTL }; // eslint-disable-line
37
+ //# sourceMappingURL=RTL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTL.js","sourceRoot":"","sources":["../../src/config/RTL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,4BAA4B,MAAM,yCAAyC,CAAC;AACnF,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AAEzE,MAAM,mBAAmB,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,aAAa,GAAG,4BAA4B,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;AAExF;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvC,QAAQ,GAAG,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAA4C,CAAC,CAAC,IAAI,QAAQ,CAAC;IAEvG,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,GAAG,GAAY,EAAE;IAC5B,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACpC,OAAO,KAAK,CAAC;KACb;IAED,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAE5C,IAAI,gBAAgB,KAAK,SAAS,EAAE;QACnC,OAAO,CAAC,CAAC,gBAAgB,CAAC;KAC1B;IAED,OAAO,UAAU,CAAC,WAAW,EAAE,IAAI,uBAAuB,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,sBAAsB","sourcesContent":["import { getRTL as getConfiguredRTL } from \"../InitialConfiguration.js\";\nimport { getLanguage } from \"./Language.js\";\nimport getDesigntimePropertyAsArray from \"../util/getDesigntimePropertyAsArray.js\";\nimport detectNavigatorLanguage from \"../util/detectNavigatorLanguage.js\";\n\nconst M_ISO639_OLD_TO_NEW = {\n\t\"iw\": \"he\",\n\t\"ji\": \"yi\",\n\t\"in\": \"id\",\n\t\"sh\": \"sr\",\n};\n\nconst A_RTL_LOCALES = getDesigntimePropertyAsArray(\"$cldr-rtl-locales:ar,fa,he$\") || [];\n\n/**\n * Checks whether the language is using RTL\n * @param {string} language\n * @returns {boolean} whether the language is using RTL\n */\nconst impliesRTL = (language: string) => {\n\tlanguage = (language && M_ISO639_OLD_TO_NEW[language as keyof typeof M_ISO639_OLD_TO_NEW]) || language;\n\n\treturn A_RTL_LOCALES.indexOf(language) >= 0;\n};\n\n/**\n * Gets the effective RTL setting by first checking the configuration\n * and if not set using the currently set language or the navigator language if the language is not explicitly set.\n * @returns {boolean} whether RTL should be used\n */\nconst getRTL = (): boolean => {\n\tif (typeof document === \"undefined\") {\n\t\treturn false;\n\t}\n\n\tconst configurationRTL = getConfiguredRTL();\n\n\tif (configurationRTL !== undefined) {\n\t\treturn !!configurationRTL;\n\t}\n\n\treturn impliesRTL(getLanguage() || detectNavigatorLanguage());\n};\n\nexport { getRTL }; // eslint-disable-line\n"]}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Returns the current theme.
3
+ * @public
4
+ * @returns {string} the current theme name
5
+ */
6
+ declare const getTheme: () => string;
7
+ /**
8
+ * Applies a new theme after fetching its assets from the network.
9
+ * @public
10
+ * @param {string} theme the name of the new theme
11
+ * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
12
+ */
13
+ declare const setTheme: (theme: string) => Promise<void>;
14
+ /**
15
+ * Returns the default theme.
16
+ *
17
+ * Note: Default theme might be different than the configurated one.
18
+ *
19
+ * @public
20
+ * @returns {string}
21
+ */
22
+ declare const getDefaultTheme: () => string;
23
+ /**
24
+ * Returns if the given theme name is the one currently applied.
25
+ * @private
26
+ * @param {string} theme
27
+ * @returns {boolean}
28
+ */
29
+ declare const isTheme: (theme: string) => boolean;
30
+ /**
31
+ * Returns if the currently set theme is part of legacy theme families ("sap_belize" or "sap_fiori_3").
32
+ * <b>Note</b>: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.
33
+ *
34
+ * @private
35
+ * @returns { boolean }
36
+ */
37
+ declare const isLegacyThemeFamily: () => boolean;
38
+ export { getTheme, setTheme, isTheme, isLegacyThemeFamily, getDefaultTheme, };
@@ -1,24 +1,70 @@
1
1
  import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
- import { _applyTheme } from "../Theming.js";
3
-
4
- let theme = getConfiguredTheme();
5
-
2
+ import { reRenderAllUI5Elements } from "../Render.js";
3
+ import applyTheme from "../theming/applyTheme.js";
4
+ import getThemeDesignerTheme from "../theming/getThemeDesignerTheme.js";
5
+ import { DEFAULT_THEME, SUPPORTED_THEMES } from "../generated/AssetParameters.js";
6
+ let curTheme;
7
+ /**
8
+ * Returns the current theme.
9
+ * @public
10
+ * @returns {string} the current theme name
11
+ */
6
12
  const getTheme = () => {
7
- return theme;
13
+ if (curTheme === undefined) {
14
+ curTheme = getConfiguredTheme();
15
+ }
16
+ return curTheme;
8
17
  };
9
-
10
- const setTheme = async newTheme => {
11
- if (theme === newTheme) {
12
- return;
13
- }
14
-
15
- theme = newTheme;
16
-
17
- // Update CSS Custom Properties
18
- await _applyTheme(theme);
18
+ /**
19
+ * Applies a new theme after fetching its assets from the network.
20
+ * @public
21
+ * @param {string} theme the name of the new theme
22
+ * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
23
+ */
24
+ const setTheme = async (theme) => {
25
+ if (curTheme === theme) {
26
+ return;
27
+ }
28
+ curTheme = theme;
29
+ // Update CSS Custom Properties
30
+ await applyTheme(curTheme);
31
+ await reRenderAllUI5Elements({ themeAware: true });
19
32
  };
20
-
21
- export {
22
- getTheme,
23
- setTheme,
33
+ /**
34
+ * Returns the default theme.
35
+ *
36
+ * Note: Default theme might be different than the configurated one.
37
+ *
38
+ * @public
39
+ * @returns {string}
40
+ */
41
+ const getDefaultTheme = () => {
42
+ return DEFAULT_THEME;
24
43
  };
44
+ /**
45
+ * Returns if the given theme name is the one currently applied.
46
+ * @private
47
+ * @param {string} theme
48
+ * @returns {boolean}
49
+ */
50
+ const isTheme = (theme) => {
51
+ const currentTheme = getTheme();
52
+ return currentTheme === theme || currentTheme === `${theme}_exp`;
53
+ };
54
+ /**
55
+ * Returns if the currently set theme is part of legacy theme families ("sap_belize" or "sap_fiori_3").
56
+ * <b>Note</b>: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.
57
+ *
58
+ * @private
59
+ * @returns { boolean }
60
+ */
61
+ const isLegacyThemeFamily = () => {
62
+ const currentTheme = getTheme();
63
+ if (!isKnownTheme(currentTheme)) {
64
+ return !getThemeDesignerTheme()?.baseThemeName?.startsWith("sap_horizon");
65
+ }
66
+ return !currentTheme.startsWith("sap_horizon");
67
+ };
68
+ const isKnownTheme = (theme) => SUPPORTED_THEMES.includes(theme);
69
+ export { getTheme, setTheme, isTheme, isLegacyThemeFamily, getDefaultTheme, };
70
+ //# sourceMappingURL=Theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../src/config/Theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAElF,IAAI,QAAgB,CAAC;AAErB;;;;GAIG;AACH,MAAM,QAAQ,GAAG,GAAW,EAAE;IAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC3B,QAAQ,GAAG,kBAAkB,EAAE,CAAC;KAChC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;IACvD,IAAI,QAAQ,KAAK,KAAK,EAAE;QACvB,OAAO;KACP;IAED,QAAQ,GAAG,KAAK,CAAC;IAEjB,+BAA+B;IAC/B,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,GAAW,EAAE;IACpC,OAAO,aAAa,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;IACjC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAChC,OAAO,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,GAAG,KAAK,MAAM,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAEhC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;QAChC,OAAO,CAAC,qBAAqB,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;KAC1E;IAED,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEzE,OAAO,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,eAAe,GACf,CAAC","sourcesContent":["import { getTheme as getConfiguredTheme } from \"../InitialConfiguration.js\";\nimport { reRenderAllUI5Elements } from \"../Render.js\";\nimport applyTheme from \"../theming/applyTheme.js\";\nimport getThemeDesignerTheme from \"../theming/getThemeDesignerTheme.js\";\nimport { DEFAULT_THEME, SUPPORTED_THEMES } from \"../generated/AssetParameters.js\";\n\nlet curTheme: string;\n\n/**\n * Returns the current theme.\n * @public\n * @returns {string} the current theme name\n */\nconst getTheme = (): string => {\n\tif (curTheme === undefined) {\n\t\tcurTheme = getConfiguredTheme();\n\t}\n\n\treturn curTheme;\n};\n\n/**\n * Applies a new theme after fetching its assets from the network.\n * @public\n * @param {string} theme the name of the new theme\n * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM\n */\nconst setTheme = async (theme: string): Promise<void> => {\n\tif (curTheme === theme) {\n\t\treturn;\n\t}\n\n\tcurTheme = theme;\n\n\t// Update CSS Custom Properties\n\tawait applyTheme(curTheme);\n\tawait reRenderAllUI5Elements({ themeAware: true });\n};\n\n/**\n * Returns the default theme.\n *\n * Note: Default theme might be different than the configurated one.\n *\n * @public\n * @returns {string}\n */\nconst getDefaultTheme = (): string => {\n\treturn DEFAULT_THEME;\n};\n\n/**\n * Returns if the given theme name is the one currently applied.\n * @private\n * @param {string} theme\n * @returns {boolean}\n */\nconst isTheme = (theme: string) => {\n\tconst currentTheme = getTheme();\n\treturn currentTheme === theme || currentTheme === `${theme}_exp`;\n};\n\n/**\n * Returns if the currently set theme is part of legacy theme families (\"sap_belize\" or \"sap_fiori_3\").\n * <b>Note</b>: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.\n *\n * @private\n * @returns { boolean }\n */\nconst isLegacyThemeFamily = () => {\n\tconst currentTheme = getTheme();\n\n\tif (!isKnownTheme(currentTheme)) {\n\t\treturn !getThemeDesignerTheme()?.baseThemeName?.startsWith(\"sap_horizon\");\n\t}\n\n\treturn !currentTheme.startsWith(\"sap_horizon\");\n};\n\nconst isKnownTheme = (theme: string) => SUPPORTED_THEMES.includes(theme);\n\nexport {\n\tgetTheme,\n\tsetTheme,\n\tisTheme,\n\tisLegacyThemeFamily,\n\tgetDefaultTheme,\n};\n"]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Returns the current theme root.
3
+ *
4
+ * @public
5
+ * @since 1.14.0
6
+ * @returns { string } the current theme root
7
+ */
8
+ declare const getThemeRoot: () => string | undefined;
9
+ /**
10
+ * Sets theme root for the current theme.
11
+ * When set, the framework will validate the theme root and fetch the theme styles (CSS variables) from this location.
12
+ *
13
+ * <b>Note:</b> The feature is specific to custom themes, created with the `UI Theme Designer`.
14
+ * The provided theme root is used only as a base to construct the actual location of the theme styles: `{themeRoot}/.../css_variables.css`.
15
+ *
16
+ * <br/>
17
+ *
18
+ * <b>Note:</b> Certain security restrictions will apply before fetching the theme assets.
19
+ * Absolute URLs to a different origin than the current page will result in using the current page as an origin.
20
+ * To allow specific origins, use &lt;meta name="sap-allowedThemeOrigins" content="https://my-example-host.com/"&gt; tag inside the &lt;head&gt; of the page.
21
+ *
22
+ * @public
23
+ * @since 1.14.0
24
+ * @param { string } themeRoot the new theme root
25
+ * @returns { Promise<void> }
26
+ */
27
+ declare const setThemeRoot: (themeRoot: string) => Promise<void> | undefined;
28
+ declare const attachCustomThemeStylesToHead: (theme: string) => Promise<void>;
29
+ export { getThemeRoot, setThemeRoot, attachCustomThemeStylesToHead, };
@@ -0,0 +1,59 @@
1
+ import createLinkInHead from "../util/createLinkInHead.js";
2
+ import validateThemeRoot from "../validateThemeRoot.js";
3
+ import { getThemeRoot as getConfiguredThemeRoot } from "../InitialConfiguration.js";
4
+ import { getTheme } from "./Theme.js";
5
+ let currThemeRoot;
6
+ /**
7
+ * Returns the current theme root.
8
+ *
9
+ * @public
10
+ * @since 1.14.0
11
+ * @returns { string } the current theme root
12
+ */
13
+ const getThemeRoot = () => {
14
+ if (currThemeRoot === undefined) {
15
+ currThemeRoot = getConfiguredThemeRoot();
16
+ }
17
+ return currThemeRoot;
18
+ };
19
+ /**
20
+ * Sets theme root for the current theme.
21
+ * When set, the framework will validate the theme root and fetch the theme styles (CSS variables) from this location.
22
+ *
23
+ * <b>Note:</b> The feature is specific to custom themes, created with the `UI Theme Designer`.
24
+ * The provided theme root is used only as a base to construct the actual location of the theme styles: `{themeRoot}/.../css_variables.css`.
25
+ *
26
+ * <br/>
27
+ *
28
+ * <b>Note:</b> Certain security restrictions will apply before fetching the theme assets.
29
+ * Absolute URLs to a different origin than the current page will result in using the current page as an origin.
30
+ * To allow specific origins, use &lt;meta name="sap-allowedThemeOrigins" content="https://my-example-host.com/"&gt; tag inside the &lt;head&gt; of the page.
31
+ *
32
+ * @public
33
+ * @since 1.14.0
34
+ * @param { string } themeRoot the new theme root
35
+ * @returns { Promise<void> }
36
+ */
37
+ const setThemeRoot = (themeRoot) => {
38
+ if (currThemeRoot === themeRoot) {
39
+ return;
40
+ }
41
+ currThemeRoot = themeRoot;
42
+ if (!validateThemeRoot(themeRoot)) {
43
+ console.warn(`The ${themeRoot} is not valid. Check the allowed origins as suggested in the "setThemeRoot" description.`); // eslint-disable-line
44
+ return;
45
+ }
46
+ return attachCustomThemeStylesToHead(getTheme());
47
+ };
48
+ const formatThemeLink = (theme) => {
49
+ return `${getThemeRoot()}Base/baseLib/${theme}/css_variables.css`; // theme root is always set at this point.
50
+ };
51
+ const attachCustomThemeStylesToHead = async (theme) => {
52
+ const link = document.querySelector(`[sap-ui-webcomponents-theme="${theme}"]`);
53
+ if (link) {
54
+ document.head.removeChild(link);
55
+ }
56
+ await createLinkInHead(formatThemeLink(theme), { "sap-ui-webcomponents-theme": theme });
57
+ };
58
+ export { getThemeRoot, setThemeRoot, attachCustomThemeStylesToHead, };
59
+ //# sourceMappingURL=ThemeRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeRoot.js","sourceRoot":"","sources":["../../src/config/ThemeRoot.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,IAAI,aAAiC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,GAAuB,EAAE;IAC7C,IAAI,aAAa,KAAK,SAAS,EAAE;QAChC,aAAa,GAAG,sBAAsB,EAAE,CAAC;KACzC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY,GAAG,CAAC,SAAiB,EAA6B,EAAE;IACrE,IAAI,aAAa,KAAK,SAAS,EAAE;QAChC,OAAO;KACP;IAED,aAAa,GAAG,SAAS,CAAC;IAE1B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;QAClC,OAAO,CAAC,IAAI,CAAC,OAAO,SAAS,0FAA0F,CAAC,CAAC,CAAC,sBAAsB;QAChJ,OAAO;KACP;IAED,OAAO,6BAA6B,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IACzC,OAAO,GAAG,YAAY,EAAG,gBAAgB,KAAK,oBAAoB,CAAC,CAAC,0CAA0C;AAC/G,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;IAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,gCAAgC,KAAK,IAAI,CAAC,CAAC;IAE/E,IAAI,IAAI,EAAE;QACT,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAChC;IAED,MAAM,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,6BAA6B,GAC7B,CAAC","sourcesContent":["import createLinkInHead from \"../util/createLinkInHead.js\";\nimport validateThemeRoot from \"../validateThemeRoot.js\";\nimport { getThemeRoot as getConfiguredThemeRoot } from \"../InitialConfiguration.js\";\nimport { getTheme } from \"./Theme.js\";\n\nlet currThemeRoot: string | undefined;\n\n/**\n * Returns the current theme root.\n *\n * @public\n * @since 1.14.0\n * @returns { string } the current theme root\n */\nconst getThemeRoot = (): string | undefined => {\n\tif (currThemeRoot === undefined) {\n\t\tcurrThemeRoot = getConfiguredThemeRoot();\n\t}\n\n\treturn currThemeRoot;\n};\n\n/**\n * Sets theme root for the current theme.\n * When set, the framework will validate the theme root and fetch the theme styles (CSS variables) from this location.\n *\n * <b>Note:</b> The feature is specific to custom themes, created with the `UI Theme Designer`.\n * The provided theme root is used only as a base to construct the actual location of the theme styles: `{themeRoot}/.../css_variables.css`.\n *\n * <br/>\n *\n * <b>Note:</b> Certain security restrictions will apply before fetching the theme assets.\n * Absolute URLs to a different origin than the current page will result in using the current page as an origin.\n * To allow specific origins, use &lt;meta name=\"sap-allowedThemeOrigins\" content=\"https://my-example-host.com/\"&gt; tag inside the &lt;head&gt; of the page.\n *\n * @public\n * @since 1.14.0\n * @param { string } themeRoot the new theme root\n * @returns { Promise<void> }\n */\nconst setThemeRoot = (themeRoot: string): Promise<void> | undefined => {\n\tif (currThemeRoot === themeRoot) {\n\t\treturn;\n\t}\n\n\tcurrThemeRoot = themeRoot;\n\n\tif (!validateThemeRoot(themeRoot)) {\n\t\tconsole.warn(`The ${themeRoot} is not valid. Check the allowed origins as suggested in the \"setThemeRoot\" description.`); // eslint-disable-line\n\t\treturn;\n\t}\n\n\treturn attachCustomThemeStylesToHead(getTheme());\n};\n\nconst formatThemeLink = (theme: string) => {\n\treturn `${getThemeRoot()!}Base/baseLib/${theme}/css_variables.css`; // theme root is always set at this point.\n};\n\nconst attachCustomThemeStylesToHead = async (theme: string): Promise<void> => {\n\tconst link = document.querySelector(`[sap-ui-webcomponents-theme=\"${theme}\"]`);\n\n\tif (link) {\n\t\tdocument.head.removeChild(link);\n\t}\n\n\tawait createLinkInHead(formatThemeLink(theme), { \"sap-ui-webcomponents-theme\": theme });\n};\n\nexport {\n\tgetThemeRoot,\n\tsetThemeRoot,\n\tattachCustomThemeStylesToHead,\n};\n"]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns the configured IANA timezone ID.
3
+ *
4
+ * @private
5
+ * @returns {string}
6
+ */
7
+ declare const getTimezone: () => string | undefined;
8
+ /**
9
+ * Sets the IANA timezone ID.
10
+ * <b>For example:</b> "America/New_York", "Europe/London", "Australia/Sydney", "Asia/Bishkek", etc.
11
+ *>
12
+ * @param {string} timezone
13
+ * @private
14
+ * @returns { Promise<void> }
15
+ */
16
+ declare const setTimezone: (timezone: string) => void;
17
+ export { getTimezone, setTimezone, };
@@ -0,0 +1,30 @@
1
+ import { getTimezone as getConfiguredTimezone } from "../InitialConfiguration.js";
2
+ let currTimezone;
3
+ /**
4
+ * Returns the configured IANA timezone ID.
5
+ *
6
+ * @private
7
+ * @returns {string}
8
+ */
9
+ const getTimezone = () => {
10
+ if (currTimezone === undefined) {
11
+ currTimezone = getConfiguredTimezone();
12
+ }
13
+ return currTimezone;
14
+ };
15
+ /**
16
+ * Sets the IANA timezone ID.
17
+ * <b>For example:</b> "America/New_York", "Europe/London", "Australia/Sydney", "Asia/Bishkek", etc.
18
+ *>
19
+ * @param {string} timezone
20
+ * @private
21
+ * @returns { Promise<void> }
22
+ */
23
+ const setTimezone = (timezone) => {
24
+ if (currTimezone === timezone) {
25
+ return;
26
+ }
27
+ currTimezone = timezone;
28
+ };
29
+ export { getTimezone, setTimezone, };
30
+ //# sourceMappingURL=Timezone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timezone.js","sourceRoot":"","sources":["../../src/config/Timezone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAElF,IAAI,YAAgC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,WAAW,GAAG,GAAuB,EAAE;IAC5C,IAAI,YAAY,KAAK,SAAS,EAAE;QAC/B,YAAY,GAAG,qBAAqB,EAAE,CAAC;KACvC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;IACxC,IAAI,YAAY,KAAK,QAAQ,EAAE;QAC9B,OAAO;KACP;IAED,YAAY,GAAG,QAAQ,CAAC;AACzB,CAAC,CAAC;AAEF,OAAO,EACN,WAAW,EACX,WAAW,GACX,CAAC","sourcesContent":["import { getTimezone as getConfiguredTimezone } from \"../InitialConfiguration.js\";\n\nlet currTimezone: string | undefined;\n\n/**\n * Returns the configured IANA timezone ID.\n *\n * @private\n * @returns {string}\n */\nconst getTimezone = (): string | undefined => {\n\tif (currTimezone === undefined) {\n\t\tcurrTimezone = getConfiguredTimezone();\n\t}\n\treturn currTimezone;\n};\n\n/**\n * Sets the IANA timezone ID.\n * <b>For example:</b> \"America/New_York\", \"Europe/London\", \"Australia/Sydney\", \"Asia/Bishkek\", etc.\n *>\n * @param {string} timezone\n * @private\n * @returns { Promise<void> }\n */\nconst setTimezone = (timezone: string) => {\n\tif (currTimezone === timezone) {\n\t\treturn;\n\t}\n\n\tcurrTimezone = timezone;\n};\n\nexport {\n\tgetTimezone,\n\tsetTimezone,\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import type UI5Element from "./UI5Element.js";
2
+ type ConnectOptions = {
3
+ host: UI5Element;
4
+ propName: string;
5
+ onConnect?: (friend: HTMLElement) => void;
6
+ onDisconnect?: (friend: HTMLElement) => void;
7
+ };
8
+ declare const connectToComponent: (options: ConnectOptions) => HTMLElement | undefined;
9
+ export default connectToComponent;
@@ -0,0 +1,59 @@
1
+ import { renderDeferred } from "./Render.js";
2
+ const MISSING_ELEMENT_POLL_TIMEOUT = 500; // how often to poll for not-yet-in-DOM friend elements
3
+ const connections = new Map();
4
+ const intervals = new Map();
5
+ const connectToComponent = (options) => {
6
+ const host = options.host;
7
+ const propName = options.propName;
8
+ const friend = host[propName];
9
+ let connectedTo;
10
+ if (friend === undefined || friend === "") {
11
+ connectedTo = undefined; // do not return early even if a "menu" property is not set - it may have been set before and cleanup must run
12
+ }
13
+ else if (friend instanceof HTMLElement) {
14
+ connectedTo = friend;
15
+ }
16
+ else {
17
+ const rootNode = host.getRootNode();
18
+ connectedTo = (rootNode.getElementById && rootNode.getElementById(friend)) || undefined;
19
+ }
20
+ const key = `${host._id}-${propName}`;
21
+ const prevConnectedTo = connections.get(key);
22
+ // Not connected - return undefined
23
+ if (!connectedTo) {
24
+ if (prevConnectedTo) { // but first disconnect, if needed
25
+ options.onDisconnect && options.onDisconnect(prevConnectedTo);
26
+ connections.delete(key);
27
+ }
28
+ // if friend element not in DOM yet, start polling
29
+ if (typeof friend === "string" && friend && !intervals.has(key)) {
30
+ const interval = setInterval(() => {
31
+ const rootNode = host.getRootNode();
32
+ const found = (rootNode.getElementById && rootNode.getElementById(friend));
33
+ if (found) {
34
+ clearInterval(intervals.get(key));
35
+ intervals.delete(key);
36
+ renderDeferred(host);
37
+ }
38
+ }, MISSING_ELEMENT_POLL_TIMEOUT);
39
+ intervals.set(key, interval);
40
+ }
41
+ return;
42
+ }
43
+ // If connected, but still polling, stop polling
44
+ if (intervals.has(key)) {
45
+ clearInterval(intervals.get(key));
46
+ intervals.delete(key);
47
+ }
48
+ // Connected - either for the first time, or to something else
49
+ if (prevConnectedTo !== connectedTo) {
50
+ if (prevConnectedTo) {
51
+ options.onDisconnect && options.onDisconnect(prevConnectedTo);
52
+ }
53
+ options.onConnect && options.onConnect(connectedTo);
54
+ connections.set(key, connectedTo);
55
+ }
56
+ return connections.get(key);
57
+ };
58
+ export default connectToComponent;
59
+ //# sourceMappingURL=connectToComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectToComponent.js","sourceRoot":"","sources":["../src/connectToComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,4BAA4B,GAAG,GAAG,CAAC,CAAC,uDAAuD;AACjG,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AACnD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;AAS9C,MAAM,kBAAkB,GAAG,CAAC,OAAuB,EAA2B,EAAE;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAA6B,CAAqC,CAAC;IAEvF,IAAI,WAAoC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE;QAC1C,WAAW,GAAG,SAAS,CAAC,CAAC,8GAA8G;KACvI;SAAM,IAAI,MAAM,YAAY,WAAW,EAAE;QACzC,WAAW,GAAG,MAAM,CAAC;KACrB;SAAM;QACN,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAc,CAAC;QAChD,WAAW,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC;KACxF;IAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;IACtC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE7C,mCAAmC;IACnC,IAAI,CAAC,WAAW,EAAE;QACjB,IAAI,eAAe,EAAE,EAAE,kCAAkC;YACxD,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC9D,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB;QAED,kDAAkD;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAChE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAc,CAAC;gBAChD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;gBAE3E,IAAI,KAAK,EAAE;oBACV,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtB,cAAc,CAAC,IAAI,CAAC,CAAC;iBACrB;YACF,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACjC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SAC7B;QAED,OAAO;KACP;IAED,gDAAgD;IAChD,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvB,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACtB;IAED,8DAA8D;IAC9D,IAAI,eAAe,KAAK,WAAW,EAAE;QACpC,IAAI,eAAe,EAAE;YACpB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;SAC9D;QACD,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;KAClC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import type UI5Element from \"./UI5Element.js\";\nimport { renderDeferred } from \"./Render.js\";\nimport { Interval } from \"./types.js\";\n\nconst MISSING_ELEMENT_POLL_TIMEOUT = 500; // how often to poll for not-yet-in-DOM friend elements\nconst connections = new Map<string, HTMLElement>();\nconst intervals = new Map<string, Interval>();\n\ntype ConnectOptions = {\n\thost: UI5Element;\n\tpropName: string;\n\tonConnect?: (friend: HTMLElement) => void;\n\tonDisconnect?: (friend: HTMLElement) => void;\n}\n\nconst connectToComponent = (options: ConnectOptions): HTMLElement | undefined => {\n\tconst host = options.host;\n\tconst propName = options.propName;\n\tconst friend = host[propName as keyof typeof host] as HTMLElement | string | undefined;\n\n\tlet connectedTo: HTMLElement | undefined;\n\tif (friend === undefined || friend === \"\") {\n\t\tconnectedTo = undefined; // do not return early even if a \"menu\" property is not set - it may have been set before and cleanup must run\n\t} else if (friend instanceof HTMLElement) {\n\t\tconnectedTo = friend;\n\t} else {\n\t\tconst rootNode = host.getRootNode() as Document;\n\t\tconnectedTo = (rootNode.getElementById && rootNode.getElementById(friend)) || undefined;\n\t}\n\n\tconst key = `${host._id}-${propName}`;\n\tconst prevConnectedTo = connections.get(key);\n\n\t// Not connected - return undefined\n\tif (!connectedTo) {\n\t\tif (prevConnectedTo) { // but first disconnect, if needed\n\t\t\toptions.onDisconnect && options.onDisconnect(prevConnectedTo);\n\t\t\tconnections.delete(key);\n\t\t}\n\n\t\t// if friend element not in DOM yet, start polling\n\t\tif (typeof friend === \"string\" && friend && !intervals.has(key)) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tconst rootNode = host.getRootNode() as Document;\n\t\t\t\tconst found = (rootNode.getElementById && rootNode.getElementById(friend));\n\n\t\t\t\tif (found) {\n\t\t\t\t\tclearInterval(intervals.get(key));\n\t\t\t\t\tintervals.delete(key);\n\t\t\t\t\trenderDeferred(host);\n\t\t\t\t}\n\t\t\t}, MISSING_ELEMENT_POLL_TIMEOUT);\n\t\t\tintervals.set(key, interval);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t// If connected, but still polling, stop polling\n\tif (intervals.has(key)) {\n\t\tclearInterval(intervals.get(key));\n\t\tintervals.delete(key);\n\t}\n\n\t// Connected - either for the first time, or to something else\n\tif (prevConnectedTo !== connectedTo) {\n\t\tif (prevConnectedTo) {\n\t\t\toptions.onDisconnect && options.onDisconnect(prevConnectedTo);\n\t\t}\n\t\toptions.onConnect && options.onConnect(connectedTo);\n\t\tconnections.set(key, connectedTo);\n\t}\n\n\treturn connections.get(key);\n};\n\nexport default connectToComponent;\n"]}
@@ -0,0 +1,80 @@
1
+ .busy-indicator-wrapper {
2
+ position: relative;
3
+ height: 100%;
4
+ width: 100%;
5
+ }
6
+
7
+ .busy-indicator-overlay {
8
+ display: var(--ui5_web_components_busy_indicator_display);
9
+ position: absolute;
10
+ inset: 0;
11
+ background: var(--ui5_web_components_busy_indicator_background-color);
12
+ z-index: 99;
13
+ }
14
+
15
+ .busy-indicator-busy-area {
16
+ display: var(--ui5_web_components_busy_indicator_display);
17
+ position: absolute;
18
+ z-index: 99;
19
+ inset: 0;
20
+ justify-content: center;
21
+ align-items: center;
22
+ background-color: inherit;
23
+ flex-direction: column;
24
+ color: var(--_ui5_busy_indicator_color);
25
+ }
26
+
27
+ :host([__is-busy]) .busy-indicator-wrapper > :not(.busy-indicator-busy-area):not(.busy-indicator-overlay):not([busy-indicator-before-span]) {
28
+ --ui5_web_components_busy_indicator_display: none;
29
+ }
30
+
31
+ .busy-indicator-busy-area:focus {
32
+ outline: var(--_ui5_busy_indicator_focus_outline);
33
+ outline-offset: -.125rem;
34
+ }
35
+
36
+ .busy-indicator-circle {
37
+ width: 1rem;
38
+ height: 1rem;
39
+ display: inline-block;
40
+ background-color: currentColor;
41
+ border-radius: 50%;
42
+ }
43
+
44
+ .circle-animation-0 {
45
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
46
+ }
47
+
48
+ .circle-animation-1 {
49
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
50
+ animation-delay: 200ms;
51
+ }
52
+
53
+ .circle-animation-2 {
54
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
55
+ animation-delay: 400ms;
56
+ }
57
+
58
+ .sapUiLocalBusy {
59
+ --ui5_web_components_busy_indicator_display: none;
60
+ }
61
+
62
+ .busy-indicator-wrapper [ui5-busy-indicator] {
63
+ display: none;
64
+ }
65
+
66
+ @keyframes grow {
67
+ 0%, 50%, 100% {
68
+ -webkit-transform: scale(0.5);
69
+ -moz-transform: scale(0.5);
70
+ -ms-transform: scale(0.5);
71
+ transform: scale(0.5);
72
+ }
73
+
74
+ 25% {
75
+ -webkit-transform: scale(1);
76
+ -moz-transform: scale(1);
77
+ -ms-transform: scale(1);
78
+ transform: scale(1);
79
+ }
80
+ }