@ui5/webcomponents-base 0.0.0-1929d08ff → 0.0.0-1cc5f5e54

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 (681) hide show
  1. package/.eslintignore +2 -1
  2. package/CHANGELOG.md +359 -0
  3. package/README.md +28 -6
  4. package/bundle.esm.js +15 -11
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +2 -7
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +9 -0
  9. package/dist/Boot.js +43 -45
  10. package/dist/Boot.js.map +1 -0
  11. package/dist/CSP.d.ts +30 -0
  12. package/dist/CSP.js +16 -24
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +66 -83
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +11 -108
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +90 -0
  22. package/dist/CustomElementsScopeUtils.js.map +1 -0
  23. package/dist/DOMObserver.d.ts +11 -0
  24. package/dist/DOMObserver.js +12 -54
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +12 -0
  27. package/dist/Device.js +146 -96
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -82
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -10
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +14 -19
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +112 -131
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +174 -276
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +62 -68
  46. package/dist/ManagedStyles.js.map +1 -0
  47. package/dist/MarkedEvents.d.ts +9 -0
  48. package/dist/MarkedEvents.js +15 -0
  49. package/dist/MarkedEvents.js.map +1 -0
  50. package/dist/MediaRange.d.ts +37 -0
  51. package/dist/MediaRange.js +54 -65
  52. package/dist/MediaRange.js.map +1 -0
  53. package/dist/PropertiesFileFormat.d.ts +8 -0
  54. package/dist/PropertiesFileFormat.js +72 -82
  55. package/dist/PropertiesFileFormat.js.map +1 -0
  56. package/dist/Render.d.ts +47 -0
  57. package/dist/Render.js +81 -113
  58. package/dist/Render.js.map +1 -0
  59. package/dist/RenderQueue.d.ts +19 -0
  60. package/dist/RenderQueue.js +52 -62
  61. package/dist/RenderQueue.js.map +1 -0
  62. package/dist/Runtimes.d.ts +27 -0
  63. package/dist/Runtimes.js +49 -70
  64. package/dist/Runtimes.js.map +1 -0
  65. package/dist/StaticArea.d.ts +0 -0
  66. package/dist/StaticArea.js +4 -1
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +85 -87
  70. package/dist/StaticAreaItem.js.map +1 -0
  71. package/dist/SystemCSSVars.d.ts +2 -0
  72. package/dist/SystemCSSVars.js +4 -5
  73. package/dist/SystemCSSVars.js.map +1 -0
  74. package/dist/Theming.d.ts +3 -0
  75. package/dist/Theming.js +1 -1
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +378 -0
  78. package/dist/UI5Element.js +917 -985
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -314
  82. package/dist/UI5ElementMetadata.js.map +1 -0
  83. package/dist/animations/AnimationQueue.d.ts +8 -0
  84. package/dist/animations/AnimationQueue.js +31 -38
  85. package/dist/animations/AnimationQueue.js.map +1 -0
  86. package/dist/animations/animate.d.ts +14 -0
  87. package/dist/animations/animate.js +46 -51
  88. package/dist/animations/animate.js.map +1 -0
  89. package/dist/animations/scroll.d.ts +5 -0
  90. package/dist/animations/scroll.js +18 -27
  91. package/dist/animations/scroll.js.map +1 -0
  92. package/dist/animations/slideDown.d.ts +5 -0
  93. package/dist/animations/slideDown.js +53 -78
  94. package/dist/animations/slideDown.js.map +1 -0
  95. package/dist/animations/slideUp.d.ts +5 -0
  96. package/dist/animations/slideUp.js +49 -70
  97. package/dist/animations/slideUp.js.map +1 -0
  98. package/dist/api.json +1 -0
  99. package/dist/asset-registries/Icons.d.ts +30 -0
  100. package/dist/asset-registries/Icons.js +88 -123
  101. package/dist/asset-registries/Icons.js.map +1 -0
  102. package/dist/asset-registries/Illustrations.d.ts +17 -0
  103. package/dist/asset-registries/Illustrations.js +41 -25
  104. package/dist/asset-registries/Illustrations.js.map +1 -0
  105. package/dist/asset-registries/LocaleData.d.ts +7 -0
  106. package/dist/asset-registries/LocaleData.js +104 -127
  107. package/dist/asset-registries/LocaleData.js.map +1 -0
  108. package/dist/asset-registries/Themes.d.ts +11 -0
  109. package/dist/asset-registries/Themes.js +38 -66
  110. package/dist/asset-registries/Themes.js.map +1 -0
  111. package/dist/asset-registries/i18n.d.ts +23 -0
  112. package/dist/asset-registries/i18n.js +55 -81
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/Boot.6335ce08.css +1 -0
  115. package/dist/assets/Boot.9e7914e9.js +9 -0
  116. package/dist/assets/bundle.esm.567239ca.js +52 -0
  117. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  118. package/dist/assets-meta/IconCollectionsAlias.js +30 -10
  119. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  120. package/dist/config/AnimationMode.d.ts +14 -0
  121. package/dist/config/AnimationMode.js +21 -18
  122. package/dist/config/AnimationMode.js.map +1 -0
  123. package/dist/config/CalendarType.d.ts +8 -0
  124. package/dist/config/CalendarType.js +13 -12
  125. package/dist/config/CalendarType.js.map +1 -0
  126. package/dist/config/FormatSettings.d.ts +15 -0
  127. package/dist/config/FormatSettings.js +15 -9
  128. package/dist/config/FormatSettings.js.map +1 -0
  129. package/dist/config/Icons.d.ts +55 -0
  130. package/dist/config/Icons.js +103 -0
  131. package/dist/config/Icons.js.map +1 -0
  132. package/dist/config/Language.d.ts +31 -0
  133. package/dist/config/Language.js +31 -43
  134. package/dist/config/Language.js.map +1 -0
  135. package/dist/config/NoConflict.d.ts +20 -0
  136. package/dist/config/NoConflict.js +40 -41
  137. package/dist/config/NoConflict.js.map +1 -0
  138. package/dist/config/RTL.d.ts +7 -0
  139. package/dist/config/RTL.js +26 -20
  140. package/dist/config/RTL.js.map +1 -0
  141. package/dist/config/Theme.d.ts +28 -0
  142. package/dist/config/Theme.js +38 -29
  143. package/dist/config/Theme.js.map +1 -0
  144. package/dist/config/ThemeRoots.d.ts +4 -0
  145. package/dist/config/ThemeRoots.js +28 -0
  146. package/dist/config/ThemeRoots.js.map +1 -0
  147. package/dist/css/BusyIndicator.css +80 -0
  148. package/dist/css/FontFace.css +31 -10
  149. package/dist/decorators/customElement.d.ts +23 -0
  150. package/dist/decorators/customElement.js +31 -0
  151. package/dist/decorators/customElement.js.map +1 -0
  152. package/dist/decorators/event.d.ts +10 -0
  153. package/dist/decorators/event.js +24 -0
  154. package/dist/decorators/event.js.map +1 -0
  155. package/dist/decorators/property.d.ts +9 -0
  156. package/dist/decorators/property.js +24 -0
  157. package/dist/decorators/property.js.map +1 -0
  158. package/dist/decorators/slot.d.ts +9 -0
  159. package/dist/decorators/slot.js +37 -0
  160. package/dist/decorators/slot.js.map +1 -0
  161. package/dist/delegate/ItemNavigation.d.ts +113 -0
  162. package/dist/delegate/ItemNavigation.js +277 -312
  163. package/dist/delegate/ItemNavigation.js.map +1 -0
  164. package/dist/delegate/ResizeHandler.d.ts +25 -0
  165. package/dist/delegate/ResizeHandler.js +70 -91
  166. package/dist/delegate/ResizeHandler.js.map +1 -0
  167. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  168. package/dist/delegate/ScrollEnablement.js +157 -180
  169. package/dist/delegate/ScrollEnablement.js.map +1 -0
  170. package/dist/features/F6Navigation.d.ts +19 -0
  171. package/dist/features/F6Navigation.js +145 -100
  172. package/dist/features/F6Navigation.js.map +1 -0
  173. package/dist/features/LegacyDateFormats.d.ts +18 -0
  174. package/dist/features/LegacyDateFormats.js +20 -0
  175. package/dist/features/LegacyDateFormats.js.map +1 -0
  176. package/dist/features/OpenUI5Element.d.ts +9 -0
  177. package/dist/features/OpenUI5Element.js +5 -0
  178. package/dist/features/OpenUI5Element.js.map +1 -0
  179. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  180. package/dist/features/OpenUI5Enablement.js +96 -0
  181. package/dist/features/OpenUI5Enablement.js.map +1 -0
  182. package/dist/features/OpenUI5Support.d.ts +25 -0
  183. package/dist/features/OpenUI5Support.js +92 -119
  184. package/dist/features/OpenUI5Support.js.map +1 -0
  185. package/dist/generated/AssetParameters.js +1 -1
  186. package/dist/generated/VersionInfo.js +3 -3
  187. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  188. package/dist/generated/css/BusyIndicator.css.js +7 -0
  189. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  190. package/dist/generated/css/FontFace.css.d.ts +3 -0
  191. package/dist/generated/css/FontFace.css.js +7 -5
  192. package/dist/generated/css/FontFace.css.js.map +1 -0
  193. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  194. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  195. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  196. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  197. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  198. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  199. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  200. package/dist/getSharedResource.d.ts +11 -0
  201. package/dist/getSharedResource.js +21 -17
  202. package/dist/getSharedResource.js.map +1 -0
  203. package/dist/global.d.ts +38 -0
  204. package/dist/i18nBundle.d.ts +43 -0
  205. package/dist/i18nBundle.js +56 -64
  206. package/dist/i18nBundle.js.map +1 -0
  207. package/dist/locale/Locale.d.ts +22 -0
  208. package/dist/locale/Locale.js +75 -87
  209. package/dist/locale/Locale.js.map +1 -0
  210. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  211. package/dist/locale/RTLAwareRegistry.js +6 -11
  212. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  213. package/dist/locale/applyDirection.d.ts +10 -0
  214. package/dist/locale/applyDirection.js +7 -7
  215. package/dist/locale/applyDirection.js.map +1 -0
  216. package/dist/locale/directionChange.d.ts +15 -0
  217. package/dist/locale/directionChange.js +7 -15
  218. package/dist/locale/directionChange.js.map +1 -0
  219. package/dist/locale/getEffectiveDir.d.ts +2 -0
  220. package/dist/locale/getEffectiveDir.js +20 -24
  221. package/dist/locale/getEffectiveDir.js.map +1 -0
  222. package/dist/locale/getLocale.d.ts +7 -0
  223. package/dist/locale/getLocale.js +26 -29
  224. package/dist/locale/getLocale.js.map +1 -0
  225. package/dist/locale/languageChange.d.ts +5 -0
  226. package/dist/locale/languageChange.js +8 -16
  227. package/dist/locale/languageChange.js.map +1 -0
  228. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  229. package/dist/locale/nextFallbackLocale.js +15 -19
  230. package/dist/locale/nextFallbackLocale.js.map +1 -0
  231. package/dist/locale/normalizeLocale.d.ts +7 -0
  232. package/dist/locale/normalizeLocale.js +34 -41
  233. package/dist/locale/normalizeLocale.js.map +1 -0
  234. package/dist/renderer/LitRenderer.d.ts +14 -0
  235. package/dist/renderer/LitRenderer.js +31 -24
  236. package/dist/renderer/LitRenderer.js.map +1 -0
  237. package/dist/renderer/executeTemplate.d.ts +13 -0
  238. package/dist/renderer/executeTemplate.js +20 -7
  239. package/dist/renderer/executeTemplate.js.map +1 -0
  240. package/dist/sap/base/Log.js +28 -29
  241. package/dist/sap/base/assert.js +5 -6
  242. package/dist/sap/base/security/URLListValidator.js +13 -2
  243. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  244. package/dist/theming/CustomStyle.d.ts +6 -0
  245. package/dist/theming/CustomStyle.js +33 -45
  246. package/dist/theming/CustomStyle.js.map +1 -0
  247. package/dist/theming/ThemeLoaded.d.ts +5 -0
  248. package/dist/theming/ThemeLoaded.js +8 -16
  249. package/dist/theming/ThemeLoaded.js.map +1 -0
  250. package/dist/theming/ThemeRegistered.d.ts +5 -0
  251. package/dist/theming/ThemeRegistered.js +14 -0
  252. package/dist/theming/ThemeRegistered.js.map +1 -0
  253. package/dist/theming/applyTheme.d.ts +2 -0
  254. package/dist/theming/applyTheme.js +60 -64
  255. package/dist/theming/applyTheme.js.map +1 -0
  256. package/dist/theming/getConstructableStyle.d.ts +9 -0
  257. package/dist/theming/getConstructableStyle.js +12 -17
  258. package/dist/theming/getConstructableStyle.js.map +1 -0
  259. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  260. package/dist/theming/getEffectiveLinksHrefs.js +13 -16
  261. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  262. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  263. package/dist/theming/getEffectiveStyle.js +25 -23
  264. package/dist/theming/getEffectiveStyle.js.map +1 -0
  265. package/dist/theming/getStylesString.d.ts +3 -0
  266. package/dist/theming/getStylesString.js +9 -13
  267. package/dist/theming/getStylesString.js.map +1 -0
  268. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  269. package/dist/theming/getThemeDesignerTheme.js +72 -79
  270. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  271. package/dist/theming/preloadLinks.d.ts +3 -0
  272. package/dist/theming/preloadLinks.js +13 -17
  273. package/dist/theming/preloadLinks.js.map +1 -0
  274. package/dist/thirdparty/_merge.d.ts +2 -0
  275. package/dist/thirdparty/_merge.js +7 -4
  276. package/dist/thirdparty/_merge.js.map +1 -0
  277. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  278. package/dist/thirdparty/isPlainObject.js +11 -10
  279. package/dist/thirdparty/isPlainObject.js.map +1 -0
  280. package/dist/thirdparty/merge.d.ts +2 -0
  281. package/dist/thirdparty/merge.js +4 -8
  282. package/dist/thirdparty/merge.js.map +1 -0
  283. package/dist/types/AnimationMode.d.ts +32 -0
  284. package/dist/types/AnimationMode.js +33 -6
  285. package/dist/types/AnimationMode.js.map +1 -0
  286. package/dist/types/CSSColor.d.ts +15 -0
  287. package/dist/types/CSSColor.js +14 -5
  288. package/dist/types/CSSColor.js.map +1 -0
  289. package/dist/types/CalendarType.d.ts +37 -0
  290. package/dist/types/CalendarType.js +35 -18
  291. package/dist/types/CalendarType.js.map +1 -0
  292. package/dist/types/DOMReference.d.ts +17 -0
  293. package/dist/types/DOMReference.js +25 -0
  294. package/dist/types/DOMReference.js.map +1 -0
  295. package/dist/types/DataType.d.ts +25 -0
  296. package/dist/types/DataType.js +33 -26
  297. package/dist/types/DataType.js.map +1 -0
  298. package/dist/types/Float.d.ts +17 -0
  299. package/dist/types/Float.js +17 -10
  300. package/dist/types/Float.js.map +1 -0
  301. package/dist/types/Integer.d.ts +17 -0
  302. package/dist/types/Integer.js +17 -9
  303. package/dist/types/Integer.js.map +1 -0
  304. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  305. package/dist/types/InvisibleMessageMode.js +20 -23
  306. package/dist/types/InvisibleMessageMode.js.map +1 -0
  307. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  308. package/dist/types/ItemNavigationBehavior.js +22 -12
  309. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  310. package/dist/types/NavigationMode.d.ts +32 -0
  311. package/dist/types/NavigationMode.js +33 -6
  312. package/dist/types/NavigationMode.js.map +1 -0
  313. package/dist/types/ValueState.d.ts +42 -0
  314. package/dist/types/ValueState.js +41 -19
  315. package/dist/types/ValueState.js.map +1 -0
  316. package/dist/types.d.ts +18 -0
  317. package/dist/types.js +2 -0
  318. package/dist/types.js.map +1 -0
  319. package/dist/updateShadowRoot.d.ts +8 -0
  320. package/dist/updateShadowRoot.js +25 -17
  321. package/dist/updateShadowRoot.js.map +1 -0
  322. package/dist/util/AriaLabelHelper.d.ts +15 -0
  323. package/dist/util/AriaLabelHelper.js +166 -36
  324. package/dist/util/AriaLabelHelper.js.map +1 -0
  325. package/dist/util/Caret.d.ts +7 -0
  326. package/dist/util/Caret.js +16 -38
  327. package/dist/util/Caret.js.map +1 -0
  328. package/dist/util/ColorConversion.d.ts +30 -0
  329. package/dist/util/ColorConversion.js +315 -348
  330. package/dist/util/ColorConversion.js.map +1 -0
  331. package/dist/util/FetchHelper.d.ts +3 -0
  332. package/dist/util/FetchHelper.js +19 -25
  333. package/dist/util/FetchHelper.js.map +1 -0
  334. package/dist/util/FocusableElements.d.ts +4 -0
  335. package/dist/util/FocusableElements.js +63 -71
  336. package/dist/util/FocusableElements.js.map +1 -0
  337. package/dist/util/HTMLSanitizer.d.ts +3 -0
  338. package/dist/util/HTMLSanitizer.js +4 -5
  339. package/dist/util/HTMLSanitizer.js.map +1 -0
  340. package/dist/util/InvisibleMessage.d.ts +10 -0
  341. package/dist/util/InvisibleMessage.js +41 -45
  342. package/dist/util/InvisibleMessage.js.map +1 -0
  343. package/dist/util/PopupUtils.d.ts +7 -0
  344. package/dist/util/PopupUtils.js +58 -77
  345. package/dist/util/PopupUtils.js.map +1 -0
  346. package/dist/util/SlotsHelper.d.ts +9 -0
  347. package/dist/util/SlotsHelper.js +22 -35
  348. package/dist/util/SlotsHelper.js.map +1 -0
  349. package/dist/util/StringHelper.d.ts +3 -0
  350. package/dist/util/StringHelper.js +17 -20
  351. package/dist/util/StringHelper.js.map +1 -0
  352. package/dist/util/TabbableElements.d.ts +17 -0
  353. package/dist/util/TabbableElements.js +53 -47
  354. package/dist/util/TabbableElements.js.map +1 -0
  355. package/dist/util/arraysAreEqual.d.ts +2 -0
  356. package/dist/util/arraysAreEqual.js +10 -12
  357. package/dist/util/arraysAreEqual.js.map +1 -0
  358. package/dist/util/clamp.d.ts +9 -0
  359. package/dist/util/clamp.js +2 -2
  360. package/dist/util/clamp.js.map +1 -0
  361. package/dist/util/createLinkInHead.d.ts +7 -0
  362. package/dist/util/createLinkInHead.js +14 -12
  363. package/dist/util/createLinkInHead.js.map +1 -0
  364. package/dist/util/createStyleInHead.d.ts +8 -0
  365. package/dist/util/createStyleInHead.js +10 -10
  366. package/dist/util/createStyleInHead.js.map +1 -0
  367. package/dist/util/debounce.d.ts +2 -0
  368. package/dist/util/debounce.js +6 -8
  369. package/dist/util/debounce.js.map +1 -0
  370. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  371. package/dist/util/detectNavigatorLanguage.js +7 -10
  372. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  373. package/dist/util/escapeRegex.d.ts +8 -0
  374. package/dist/util/escapeRegex.js +8 -7
  375. package/dist/util/escapeRegex.js.map +1 -0
  376. package/dist/util/formatMessage.d.ts +2 -0
  377. package/dist/util/formatMessage.js +15 -19
  378. package/dist/util/formatMessage.js.map +1 -0
  379. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  380. package/dist/util/generateHighlightedMarkup.js +26 -27
  381. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  382. package/dist/util/getActiveElement.d.ts +2 -0
  383. package/dist/util/getActiveElement.js +6 -8
  384. package/dist/util/getActiveElement.js.map +1 -0
  385. package/dist/util/getClassCopy.d.ts +398 -0
  386. package/dist/util/getClassCopy.js +7 -7
  387. package/dist/util/getClassCopy.js.map +1 -0
  388. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  389. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  390. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  391. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  392. package/dist/util/getEffectiveContentDensity.js +2 -3
  393. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  394. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  395. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  396. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  397. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  398. package/dist/util/getFastNavigationGroups.js +51 -0
  399. package/dist/util/getFastNavigationGroups.js.map +1 -0
  400. package/dist/util/getFileExtension.d.ts +12 -0
  401. package/dist/util/getFileExtension.js +9 -11
  402. package/dist/util/getFileExtension.js.map +1 -0
  403. package/dist/util/getNormalizedTarget.d.ts +7 -0
  404. package/dist/util/getNormalizedTarget.js +14 -0
  405. package/dist/util/getNormalizedTarget.js.map +1 -0
  406. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  407. package/dist/util/getSingletonElementInstance.js +7 -10
  408. package/dist/util/getSingletonElementInstance.js.map +1 -0
  409. package/dist/util/isElementClickable.d.ts +2 -0
  410. package/dist/util/isElementClickable.js +16 -0
  411. package/dist/util/isElementClickable.js.map +1 -0
  412. package/dist/util/isElementHidden.d.ts +2 -0
  413. package/dist/util/isElementHidden.js +8 -0
  414. package/dist/util/isElementHidden.js.map +1 -0
  415. package/dist/util/isElementInView.d.ts +6 -0
  416. package/dist/util/isElementInView.js +6 -9
  417. package/dist/util/isElementInView.js.map +1 -0
  418. package/dist/util/isElementTabbable.d.ts +9 -0
  419. package/dist/util/isElementTabbable.js +30 -0
  420. package/dist/util/isElementTabbable.js.map +1 -0
  421. package/dist/util/isValidPropertyName.d.ts +8 -0
  422. package/dist/util/isValidPropertyName.js +16 -17
  423. package/dist/util/isValidPropertyName.js.map +1 -0
  424. package/dist/util/whenDOMReady.d.ts +2 -0
  425. package/dist/util/whenDOMReady.js +11 -10
  426. package/dist/util/whenDOMReady.js.map +1 -0
  427. package/dist/util/willShowContent.d.ts +2 -0
  428. package/dist/util/willShowContent.js +7 -0
  429. package/dist/util/willShowContent.js.map +1 -0
  430. package/dist/validateThemeRoot.d.ts +2 -0
  431. package/dist/validateThemeRoot.js +47 -0
  432. package/dist/validateThemeRoot.js.map +1 -0
  433. package/lib/generate-asset-parameters/index.js +8 -4
  434. package/lib/generate-styles/index.js +24 -11
  435. package/lib/generate-version-info/index.js +18 -13
  436. package/package-scripts.js +32 -28
  437. package/package.json +7 -6
  438. package/src/Boot.ts +76 -0
  439. package/src/{CSP.js → CSP.ts} +14 -7
  440. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +20 -17
  441. package/src/CustomElementsScope.ts +33 -0
  442. package/src/{CustomElementsScope.js → CustomElementsScopeUtils.ts} +14 -7
  443. package/src/DOMObserver.ts +28 -0
  444. package/src/Device.ts +203 -0
  445. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  446. package/src/FeaturesRegistry.ts +14 -0
  447. package/src/{FontFace.js → FontFace.ts} +3 -2
  448. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +54 -13
  449. package/src/Keys.ts +295 -0
  450. package/src/ManagedStyles.ts +92 -0
  451. package/src/MarkedEvents.ts +20 -0
  452. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  453. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  454. package/src/{Render.js → Render.ts} +25 -20
  455. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  456. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  457. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +31 -19
  458. package/src/{UI5Element.js → UI5Element.ts} +287 -151
  459. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +121 -59
  460. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  461. package/src/animations/animate.ts +64 -0
  462. package/src/animations/scroll.ts +21 -0
  463. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  464. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  465. package/src/asset-registries/Icons.ts +161 -0
  466. package/src/asset-registries/Illustrations.ts +75 -0
  467. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +42 -29
  468. package/src/asset-registries/Themes.ts +72 -0
  469. package/src/asset-registries/{i18n.js → i18n.ts} +21 -24
  470. package/src/assets-meta/IconCollectionsAlias.ts +41 -0
  471. package/src/config/AnimationMode.ts +33 -0
  472. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  473. package/src/config/FormatSettings.ts +35 -0
  474. package/src/config/Icons.ts +126 -0
  475. package/src/config/{Language.js → Language.ts} +22 -18
  476. package/src/config/NoConflict.ts +67 -0
  477. package/src/config/{RTL.js → RTL.ts} +18 -4
  478. package/src/config/Theme.ts +64 -0
  479. package/src/config/ThemeRoots.ts +41 -0
  480. package/src/css/BusyIndicator.css +80 -0
  481. package/src/css/FontFace.css +31 -10
  482. package/src/decorators/customElement.ts +57 -0
  483. package/src/decorators/event.ts +28 -0
  484. package/src/decorators/property.ts +30 -0
  485. package/src/decorators/slot.ts +49 -0
  486. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +65 -23
  487. package/src/delegate/ResizeHandler.ts +100 -0
  488. package/src/delegate/ScrollEnablement.ts +224 -0
  489. package/src/features/F6Navigation.ts +195 -0
  490. package/src/features/LegacyDateFormats.ts +40 -0
  491. package/src/features/OpenUI5Element.ts +11 -0
  492. package/src/features/OpenUI5Enablement.ts +117 -0
  493. package/src/features/OpenUI5Support.ts +153 -0
  494. package/src/generated/css/BusyIndicator.css.ts +9 -0
  495. package/src/generated/css/FontFace.css.ts +9 -0
  496. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  497. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  498. package/src/{getSharedResource.js → getSharedResource.ts} +13 -4
  499. package/src/global.d.ts +38 -0
  500. package/src/{i18nBundle.js → i18nBundle.ts} +44 -22
  501. package/src/locale/{Locale.js → Locale.ts} +15 -5
  502. package/src/locale/RTLAwareRegistry.ts +16 -0
  503. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  504. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  505. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  506. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  507. package/src/locale/languageChange.ts +24 -0
  508. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  509. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  510. package/src/renderer/LitRenderer.ts +60 -0
  511. package/src/renderer/executeTemplate.ts +40 -0
  512. package/src/theming/{CustomStyle.js → CustomStyle.ts} +16 -12
  513. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  514. package/src/theming/ThemeRegistered.ts +24 -0
  515. package/src/theming/{applyTheme.js → applyTheme.ts} +22 -11
  516. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  517. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  518. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +15 -4
  519. package/src/theming/getStylesString.ts +15 -0
  520. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  521. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  522. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  523. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  524. package/src/thirdparty/merge.ts +5 -0
  525. package/src/types/AnimationMode.ts +33 -0
  526. package/src/types/{CSSColor.js → CSSColor.ts} +11 -1
  527. package/src/types/CalendarType.ts +38 -0
  528. package/src/types/DOMReference.ts +28 -0
  529. package/src/types/DataType.ts +51 -0
  530. package/src/types/Float.ts +24 -0
  531. package/src/types/Integer.ts +24 -0
  532. package/src/types/InvisibleMessageMode.ts +27 -0
  533. package/src/types/ItemNavigationBehavior.ts +26 -0
  534. package/src/types/NavigationMode.ts +33 -0
  535. package/src/types/ValueState.ts +47 -0
  536. package/src/types.ts +30 -0
  537. package/src/updateShadowRoot.ts +42 -0
  538. package/src/util/AriaLabelHelper.ts +218 -0
  539. package/src/util/Caret.ts +28 -0
  540. package/src/util/ColorConversion.ts +399 -0
  541. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  542. package/src/util/FocusableElements.ts +92 -0
  543. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  544. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +15 -6
  545. package/src/util/PopupUtils.ts +112 -0
  546. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  547. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  548. package/src/util/TabbableElements.ts +70 -0
  549. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  550. package/src/util/{clamp.js → clamp.ts} +1 -1
  551. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +10 -4
  552. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  553. package/src/util/{debounce.js → debounce.ts} +5 -4
  554. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  555. package/src/util/escapeRegex.ts +11 -0
  556. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  557. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  558. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  559. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  560. package/src/util/getEffectiveContentDensity.ts +5 -0
  561. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  562. package/src/util/getFastNavigationGroups.ts +63 -0
  563. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  564. package/src/util/getNormalizedTarget.ts +16 -0
  565. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  566. package/src/util/isElementClickable.ts +19 -0
  567. package/src/util/isElementHidden.ts +9 -0
  568. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  569. package/src/util/isElementTabbable.ts +37 -0
  570. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  571. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  572. package/src/util/willShowContent.ts +7 -0
  573. package/src/validateThemeRoot.ts +58 -0
  574. package/tsconfig.json +13 -0
  575. package/config/.eslintrc.js +0 -3
  576. package/config/rollup.config.js +0 -1
  577. package/dist/RenderScheduler.js +0 -44
  578. package/dist/animations/config.js +0 -5
  579. package/dist/isLegacyBrowser.js +0 -3
  580. package/dist/resources/bundle.esm.js +0 -37
  581. package/dist/resources/bundle.esm.js.map +0 -1
  582. package/dist/test-resources/assets/Themes.js +0 -17
  583. package/dist/test-resources/elements/Child.js +0 -35
  584. package/dist/test-resources/elements/Generic.js +0 -84
  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 -41
  588. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  589. package/dist/test-resources/pages/AllTestElements.html +0 -42
  590. package/dist/test-resources/pages/Configuration.html +0 -18
  591. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  592. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  593. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  594. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  595. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  596. package/dist/test-resources/pages/i18n.html +0 -33
  597. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  598. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  599. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  600. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  601. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  602. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  603. package/dist/test-resources/specs/Theming.spec.js +0 -33
  604. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  605. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  606. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  607. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  608. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  609. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  610. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  611. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  612. package/dist/types/CSSSize.js +0 -9
  613. package/dist/types/PopupState.js +0 -37
  614. package/dist/util/findNodeOwner.js +0 -35
  615. package/dist/util/isDescendantOf.js +0 -15
  616. package/dist/util/isNodeClickable.js +0 -19
  617. package/dist/util/isNodeHidden.js +0 -9
  618. package/dist/util/isNodeTabbable.js +0 -28
  619. package/dist/util/setToArray.js +0 -10
  620. package/hash.txt +0 -1
  621. package/src/Boot.js +0 -59
  622. package/src/DOMObserver.js +0 -65
  623. package/src/Device.js +0 -116
  624. package/src/FeaturesRegistry.js +0 -14
  625. package/src/Keys.js +0 -280
  626. package/src/ManagedStyles.js +0 -83
  627. package/src/RenderScheduler.js +0 -44
  628. package/src/animations/animate.js +0 -53
  629. package/src/animations/config.js +0 -5
  630. package/src/animations/scroll.js +0 -28
  631. package/src/asset-registries/Icons.js +0 -139
  632. package/src/asset-registries/Illustrations.js +0 -30
  633. package/src/asset-registries/Themes.js +0 -78
  634. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  635. package/src/config/AnimationMode.js +0 -23
  636. package/src/config/FormatSettings.js +0 -13
  637. package/src/config/NoConflict.js +0 -51
  638. package/src/config/Theme.js +0 -42
  639. package/src/delegate/ResizeHandler.js +0 -106
  640. package/src/delegate/ScrollEnablement.js +0 -188
  641. package/src/features/F6Navigation.js +0 -106
  642. package/src/features/OpenUI5Support.js +0 -125
  643. package/src/isLegacyBrowser.js +0 -3
  644. package/src/locale/RTLAwareRegistry.js +0 -14
  645. package/src/locale/languageChange.js +0 -22
  646. package/src/renderer/LitRenderer.js +0 -34
  647. package/src/renderer/executeTemplate.js +0 -17
  648. package/src/theming/getEffectiveLinksHrefs.js +0 -20
  649. package/src/theming/getStylesString.js +0 -15
  650. package/src/thirdparty/merge.js +0 -10
  651. package/src/types/AnimationMode.js +0 -7
  652. package/src/types/CSSSize.js +0 -9
  653. package/src/types/CalendarType.js +0 -22
  654. package/src/types/DataType.js +0 -37
  655. package/src/types/Float.js +0 -14
  656. package/src/types/Integer.js +0 -13
  657. package/src/types/InvisibleMessageMode.js +0 -30
  658. package/src/types/ItemNavigationBehavior.js +0 -16
  659. package/src/types/NavigationMode.js +0 -7
  660. package/src/types/PopupState.js +0 -37
  661. package/src/types/ValueState.js +0 -22
  662. package/src/updateShadowRoot.js +0 -30
  663. package/src/util/AriaLabelHelper.js +0 -41
  664. package/src/util/Caret.js +0 -45
  665. package/src/util/ColorConversion.js +0 -370
  666. package/src/util/FocusableElements.js +0 -79
  667. package/src/util/PopupUtils.js +0 -93
  668. package/src/util/TabbableElements.js +0 -51
  669. package/src/util/escapeRegex.js +0 -10
  670. package/src/util/findNodeOwner.js +0 -35
  671. package/src/util/getEffectiveContentDensity.js +0 -5
  672. package/src/util/isDescendantOf.js +0 -15
  673. package/src/util/isNodeClickable.js +0 -19
  674. package/src/util/isNodeHidden.js +0 -9
  675. package/src/util/isNodeTabbable.js +0 -28
  676. package/src/util/setToArray.js +0 -10
  677. /package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  678. /package/src/{StaticArea.js → StaticArea.ts} +0 -0
  679. /package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  680. /package/src/{Theming.js → Theming.ts} +0 -0
  681. /package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
@@ -5,10 +5,10 @@
5
5
  * "file.with.many.dots.doc" -> ".doc"
6
6
  * ".gitignore" -> ""
7
7
  *
8
- * @param fileName - the file name
9
- * @returns {string}
8
+ * @param { string } fileName - the file name
9
+ * @returns { string }
10
10
  */
11
- const getFileExtension = fileName => {
11
+ const getFileExtension = (fileName: string) => {
12
12
  const dotPos = fileName.lastIndexOf(".");
13
13
 
14
14
  if (dotPos < 1) {
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Returns the normalized event target in cases when it has shadow root.
3
+ * @param {Object} target The original event target
4
+ * @returns {Object} The normalized target
5
+ */
6
+ const getNormalizedTarget = (target: HTMLElement) => {
7
+ let element = target;
8
+
9
+ if (target.shadowRoot && target.shadowRoot.activeElement) {
10
+ element = target.shadowRoot.activeElement as HTMLElement;
11
+ }
12
+
13
+ return element;
14
+ };
15
+
16
+ export default getNormalizedTarget;
@@ -1,4 +1,4 @@
1
- const getSingletonElementInstance = (tag, parentElement = document.body) => {
1
+ const getSingletonElementInstance = (tag: string, parentElement: HTMLElement = document.body) => {
2
2
  let el = document.querySelector(tag);
3
3
 
4
4
  if (el) {
@@ -0,0 +1,19 @@
1
+ const rClickable = /^(?:a|area)$/i;
2
+ const rFocusable = /^(?:input|select|textarea|button)$/i;
3
+
4
+ const isElementClickable = (el: HTMLElement): boolean => {
5
+ if ((el as HTMLButtonElement).disabled) {
6
+ return false;
7
+ }
8
+
9
+ const tabIndex = el.getAttribute("tabindex");
10
+ if (tabIndex !== null && tabIndex !== undefined) {
11
+ return parseInt(tabIndex) >= 0;
12
+ }
13
+
14
+ return rFocusable.test(el.nodeName)
15
+ || (rClickable.test(el.nodeName)
16
+ && !!(el as HTMLLinkElement).href);
17
+ };
18
+
19
+ export default isElementClickable;
@@ -0,0 +1,9 @@
1
+ const isElementHidden = (el: HTMLElement) => {
2
+ if (el.nodeName === "SLOT") {
3
+ return false;
4
+ }
5
+
6
+ return (el.offsetWidth <= 0 && el.offsetHeight <= 0) || (el.style && el.style.visibility === "hidden");
7
+ };
8
+
9
+ export default isElementHidden;
@@ -2,7 +2,7 @@
2
2
  * Determines if the element is within the viewport.
3
3
  * @param el {HTMLElement}
4
4
  */
5
- const isElementInView = el => {
5
+ const isElementInView = (el: HTMLElement) => {
6
6
  const rect = el.getBoundingClientRect();
7
7
 
8
8
  return (
@@ -0,0 +1,37 @@
1
+ import isElementHidden from "./isElementHidden.js";
2
+
3
+ /**
4
+ * Returns if the HTMLElement is tabbable.
5
+ *
6
+ * @public
7
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
8
+ * @returns { boolean } true if the element is tabbable or false - if not
9
+ */
10
+ const isElementTabbable = (el: HTMLElement): boolean => {
11
+ if (!el) {
12
+ return false;
13
+ }
14
+
15
+ const nodeName = el.nodeName.toLowerCase();
16
+
17
+ if (el.hasAttribute("data-sap-no-tab-ref")) {
18
+ return false;
19
+ }
20
+
21
+ if (isElementHidden(el)) {
22
+ return false;
23
+ }
24
+
25
+ const tabIndex = el.getAttribute("tabindex");
26
+ if (tabIndex !== null && tabIndex !== undefined) {
27
+ return parseInt(tabIndex) >= 0;
28
+ }
29
+
30
+ if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
31
+ return !(el as HTMLLinkElement).disabled;
32
+ }
33
+
34
+ return false;
35
+ };
36
+
37
+ export default isElementTabbable;
@@ -14,7 +14,7 @@ const allowList = [
14
14
  * @param name
15
15
  * @returns {boolean}
16
16
  */
17
- const isValidPropertyName = name => {
17
+ const isValidPropertyName = (name: string) => {
18
18
  if (allowList.includes(name) || name.startsWith("aria")) {
19
19
  return true;
20
20
  }
@@ -1,5 +1,5 @@
1
1
  const whenDOMReady = () => {
2
- return new Promise(resolve => {
2
+ return new Promise<void>(resolve => {
3
3
  if (document.body) {
4
4
  resolve();
5
5
  } else {
@@ -0,0 +1,7 @@
1
+ const willShowContent = (childNodes: Array<Node>) => {
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
+
7
+ export default willShowContent;
@@ -0,0 +1,58 @@
1
+ const getMetaTagValue = (metaTagName: string) => {
2
+ const metaTag = document.querySelector(`META[name="${metaTagName}"]`),
3
+ metaTagContent = metaTag && metaTag.getAttribute("content");
4
+
5
+ return metaTagContent;
6
+ };
7
+
8
+ const validateThemeOrigin = (origin: string) => {
9
+ const allowedOrigins = getMetaTagValue("sap-allowedThemeOrigins");
10
+
11
+ return allowedOrigins && allowedOrigins.split(",").some(allowedOrigin => {
12
+ return allowedOrigin === "*" || origin === allowedOrigin.trim();
13
+ });
14
+ };
15
+
16
+ const buildCorrectUrl = (oldUrl: string, newOrigin: string) => {
17
+ const oldUrlPath = new URL(oldUrl).pathname;
18
+
19
+ return new URL(oldUrlPath, newOrigin).toString();
20
+ };
21
+
22
+ const validateThemeRoot = (themeRoot: string) => {
23
+ let themeRootURL,
24
+ resultUrl;
25
+
26
+ try {
27
+ themeRootURL = new URL(themeRoot);
28
+
29
+ const origin = themeRootURL.origin;
30
+
31
+ themeRootURL = themeRootURL.toString();
32
+
33
+ if (themeRootURL.startsWith(".") || themeRootURL.startsWith("/")) {
34
+ // Handle relative url
35
+ // new URL("/newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
36
+ // new URL("./newExmPath", "http://example.com/exmPath") => http://example.com/exmPath/newExmPath
37
+ // new URL("../newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
38
+ resultUrl = new URL(themeRootURL, window.location.href).toString();
39
+ } else if (origin && validateThemeOrigin(origin)) {
40
+ // If origin is allowed, use it
41
+ resultUrl = themeRootURL.toString();
42
+ } else {
43
+ // If origin is not allow and the URL is not relative, we have to replace the origin
44
+ // with current location
45
+ resultUrl = buildCorrectUrl(themeRootURL, window.location.href);
46
+ }
47
+
48
+ if (!resultUrl.endsWith("/")) {
49
+ resultUrl = `${resultUrl}/`;
50
+ }
51
+
52
+ return `${resultUrl}UI5/`;
53
+ } catch (e) {
54
+ // Catch if URL is not correct
55
+ }
56
+ };
57
+
58
+ export default validateThemeRoot;
package/tsconfig.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "include": ["src/**/*", "src/global.d.ts"],
3
+ "compilerOptions": {
4
+ "target": "ES2021",
5
+ // Generate d.ts files
6
+ "declaration": true,
7
+ "outDir": "dist",
8
+ "skipLibCheck": true,
9
+ "sourceMap": true,
10
+ "strict": true,
11
+ "moduleResolution": "node",
12
+ },
13
+ }
@@ -1,3 +0,0 @@
1
- const config = require("@ui5/webcomponents-tools/components-package/eslint.js");
2
-
3
- module.exports = config;
@@ -1 +0,0 @@
1
- module.exports = require("@ui5/webcomponents-tools/components-package/rollup.js");
@@ -1,44 +0,0 @@
1
- import {
2
- renderDeferred,
3
- renderImmediately,
4
- renderFinished,
5
- } from "./Render.js";
6
-
7
- /**
8
- * @deprecated Use the Render.js module instead
9
- */
10
- class RenderScheduler {
11
- /**
12
- * Schedules a render task (if not already scheduled) to render the component
13
- *
14
- * @param webComponent
15
- * @returns {Promise}
16
- * @deprecated Use renderDeferred from the Render.js module instead
17
- */
18
- static async renderDeferred(webComponent) {
19
- console.log("RenderScheduler.renderDeferred is deprecated, please use renderDeferred, exported by Render.js instead"); // eslint-disable-line
20
- await renderDeferred(webComponent);
21
- }
22
-
23
- /**
24
- * Renders a component synchronously
25
- *
26
- * @param webComponent
27
- * @deprecated Use renderImmediately from the Render.js module instead
28
- */
29
- static renderImmediately(webComponent) {
30
- console.log("RenderScheduler.renderImmediately is deprecated, please use renderImmediately, exported by Render.js instead"); // eslint-disable-line
31
- return renderImmediately(webComponent);
32
- }
33
-
34
- /**
35
- * @deprecated Use renderFinished from the Render.js module instead
36
- * @returns {Promise<void>}
37
- */
38
- static async whenFinished() {
39
- console.log("RenderScheduler.whenFinished is deprecated, please use renderFinished, exported by Render.js instead"); // eslint-disable-line
40
- await renderFinished();
41
- }
42
- }
43
-
44
- export default RenderScheduler;
@@ -1,5 +0,0 @@
1
- export default {
2
- defaultDuration: 400,
3
- element: document.createElement("DIV"),
4
- identity: () => {},
5
- };
@@ -1,3 +0,0 @@
1
- const isLegacyBrowser = () => !!window.ShadyDOM;
2
-
3
- export default isLegacyBrowser;
@@ -1,37 +0,0 @@
1
- const t={default:"en",all:["ar","ar_EG","ar_SA","bg","ca","cs","da","de","de_AT","de_CH","el","el_CY","en","en_AU","en_GB","en_HK","en_IE","en_IN","en_NZ","en_PG","en_SG","en_ZA","es","es_AR","es_BO","es_CL","es_CO","es_MX","es_PE","es_UY","es_VE","et","fa","fi","fr","fr_BE","fr_CA","fr_CH","fr_LU","he","hi","hr","hu","id","it","it_CH","ja","kk","ko","lt","lv","ms","nb","nl","nl_BE","pl","pt","pt_PT","ro","ru","ru_UA","sk","sl","sr","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]},e={default:"sap_fiori_3",all:["sap_fiori_3","sap_fiori_3_dark","sap_belize","sap_belize_hcb","sap_belize_hcw","sap_fiori_3_hcb","sap_fiori_3_hcw","sap_horizon","sap_horizon_exp"]}.default,s={default:"en",all:["ar","bg","ca","cs","cy","da","de","el","en","en_GB","en_US_sappsd","en_US_saprigi","en_US_saptrc","es","es_MX","et","fi","fr","fr_CA","hi","hr","hu","in","it","iw","ja","kk","ko","lt","lv","ms","nl","no","pl","pt_PT","pt","ro","ru","sh","sk","sl","sv","th","tr","uk","vi","zh_CN","zh_TW"]}.default,n=t.default,i=t.all;var a=()=>{const t=navigator.languages;return t&&t[0]||navigator.language||navigator.userLanguage||navigator.browserLanguage||s},r={},o=r.hasOwnProperty,l=r.toString,c=o.toString,d=c.call(Object),h=function(t){var e,s;return!(!t||"[object Object]"!==l.call(t))&&(!(e=Object.getPrototypeOf(t))||"function"==typeof(s=o.call(e,"constructor")&&e.constructor)&&c.call(s)===d)},u=Object.create(null),p=function(){var t,e,s,n,i,a,r=arguments[2]||{},o=3,l=arguments.length,c=arguments[0]||!1,d=arguments[1]?void 0:u;for("object"!=typeof r&&"function"!=typeof r&&(r={});o<l;o++)if(null!=(i=arguments[o]))for(n in i)t=r[n],s=i[n],"__proto__"!==n&&r!==s&&(c&&s&&(h(s)||(e=Array.isArray(s)))?(e?(e=!1,a=t&&Array.isArray(t)?t:[]):a=t&&h(t)?t:{},r[n]=p(c,arguments[1],a,s)):s!==d&&(r[n]=s));return r},g=function(){var t=[!0,!1];return t.push.apply(t,arguments),p.apply(null,t)};const f=new Map,m=t=>f.get(t);let y=!1,_={animationMode:"full",theme:e,rtl:null,language:null,calendarType:null,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const v=new Map;v.set("true",!0),v.set("false",!1);const w=(t,e,s)=>{const n=e.toLowerCase(),i=t.split(`${s}-`)[1];v.has(e)&&(e=v.get(n)),e=((t,e)=>"theme"===t&&e.includes("@")?e.split("@")[0]:e)(i,e),_[i]=e},A=()=>{y||((()=>{const t=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let e;if(t){try{e=JSON.parse(t.innerHTML)}catch(t){console.warn("Incorrect data-sap-ui-config format. Please use JSON")}e&&(_=g(_,e))}})(),(()=>{const t=new URLSearchParams(window.location.search);t.forEach(((t,e)=>{const s=e.split("sap-").length;0!==s&&s!==e.split("sap-ui-").length&&w(e,t,"sap")})),t.forEach(((t,e)=>{e.startsWith("sap-ui")&&w(e,t,"sap-ui")}))})(),(()=>{const t=m("OpenUI5Support");if(!t||!t.isLoaded())return;const e=t.getConfigurationSettingsObject();_=g(_,e)})(),y=!0)};class b{constructor(){this._eventRegistry=new Map}attachEvent(t,e){const s=this._eventRegistry,n=s.get(t);Array.isArray(n)?n.includes(e)||n.push(e):s.set(t,[e])}detachEvent(t,e){const s=this._eventRegistry,n=s.get(t);if(!n)return;const i=n.indexOf(e);-1!==i&&n.splice(i,1),0===n.length&&s.delete(t)}fireEvent(t,e){const s=this._eventRegistry.get(t);return s?s.map((t=>t.call(this,e))):[]}fireEventAsync(t,e){return Promise.all(this.fireEvent(t,e))}isHandlerAttached(t,e){const s=this._eventRegistry.get(t);return!!s&&s.includes(e)}hasListeners(t){return!!this._eventRegistry.get(t)}}const $=new b,S=t=>{$.attachEvent("languageChange",t)};const C=t=>{const e=[];return t.forEach((t=>{e.push(t)})),e},E=(t,e=document.body)=>{let s=document.querySelector(t);return s||(s=document.createElement(t),e.insertBefore(s,e.firstChild))},M=(t,e)=>{const s=t.split(".");let n=E("ui5-shared-resources",document.head);for(let t=0;t<s.length;t++){const i=s[t],a=t===s.length-1;Object.prototype.hasOwnProperty.call(n,i)||(n[i]=a?e:{}),n=n[i]}return n},O={version:"0.0.0-1929d08ff",major:0,minor:0,patch:0,suffix:"-1929d08ff",isNext:!0,buildTime:1645526869};let x;const T=new Map,P=M("Runtimes",[]),I=()=>x,L=M("Tags",new Map),N=new Set;let k,D={};const R=t=>{N.add(t),L.set(t,I())},j=()=>{const t=P,e=I(),s=t[e];let n="Multiple UI5 Web Components instances detected.";t.length>1&&(n=`${n}\nLoading order (versions before 1.1.0 not listed): ${t.map((t=>`\n${t.description}`)).join("")}`),Object.keys(D).forEach((i=>{let a,r,o;"unknown"===i?(a=1,r={description:"Older unknown runtime"}):(a=((t,e)=>{const s=`${t},${e}`;if(T.has(s))return T.get(s);const n=P[t],i=P[e];if(!n||!i)throw new Error("Invalid runtime index supplied");if(n.isNext||i.isNext)return n.buildTime-i.buildTime;const a=n.major-i.major;if(a)return a;const r=n.minor-i.minor;if(r)return r;const o=n.patch-i.patch;if(o)return o;const l=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(n.suffix,i.suffix);return T.set(s,l),l})(e,i),r=t[i]),o=a>0?"an older":a<0?"a newer":"the same",n=`${n}\n\n"${s.description}" failed to define ${D[i].size} tag(s) as they were defined by a runtime of ${o} version "${r.description}": ${C(D[i]).sort().join(", ")}.`,n=a>0?`${n}\nWARNING! If your code uses features of the above web components, unavailable in ${r.description}, it might not work as expected!`:`${n}\nSince the above web components were defined by the same or newer version runtime, they should be compatible with your code.`})),n=`${n}\n\nTo prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/master/docs/2-advanced/03-scoping.md.`,console.warn(n)},U=new Set,H=new Set,B=new b,V=new class{constructor(){this.list=[],this.lookup=new Set}add(t){this.lookup.has(t)||(this.list.push(t),this.lookup.add(t))}remove(t){this.lookup.has(t)&&(this.list=this.list.filter((e=>e!==t)),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return 0===this.list.length}isAdded(t){return this.lookup.has(t)}process(t){let e;const s=new Map;for(e=this.shift();e;){const n=s.get(e)||0;if(n>10)throw new Error("Web component processed too many times this task, max allowed is: 10");t(e),s.set(e,n+1),e=this.shift()}}};let z,Z,F,W;const q=async t=>{V.add(t),await J()},G=t=>{B.fireEvent("beforeComponentRender",t),H.add(t),t._render()},J=async()=>{W||(W=new Promise((t=>{window.requestAnimationFrame((()=>{V.process(G),W=null,t(),F||(F=setTimeout((()=>{F=void 0,V.isEmpty()&&X()}),200))}))}))),await W},K=()=>{const t=C(N).map((t=>customElements.whenDefined(t)));return Promise.all(t)},Y=async()=>{await K(),await(z||(z=new Promise((t=>{Z=t,window.requestAnimationFrame((()=>{V.isEmpty()&&(z=void 0,t())}))})),z))},X=()=>{V.isEmpty()&&Z&&(Z(),Z=void 0,z=void 0)},Q=async t=>{H.forEach((e=>{const s=e.constructor.getMetadata().getTag(),n=(i=e.constructor,U.has(i));var i;const a=e.constructor.getMetadata().isLanguageAware(),r=e.constructor.getMetadata().isThemeAware();(!t||t.tag===s||t.rtlAware&&n||t.languageAware&&a||t.themeAware&&r)&&q(e)})),await Y()};let tt,et;const st=()=>(void 0===tt&&(A(),tt=_.language),tt),nt=()=>{var t;return void 0===et&&(A(),t=_.fetchDefaultLanguage,et=t),et},it=/^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;class at{constructor(t){const e=it.exec(t.replace(/_/g,"-"));if(null===e)throw new Error(`The given language ${t} does not adhere to BCP-47.`);this.sLocaleId=t,this.sLanguage=e[1]||null,this.sScript=e[2]||null,this.sRegion=e[3]||null,this.sVariant=e[4]&&e[4].slice(1)||null,this.sExtension=e[5]&&e[5].slice(1)||null,this.sPrivateUse=e[6]||null,this.sLanguage&&(this.sLanguage=this.sLanguage.toLowerCase()),this.sScript&&(this.sScript=this.sScript.toLowerCase().replace(/^[a-z]/,(t=>t.toUpperCase()))),this.sRegion&&(this.sRegion=this.sRegion.toUpperCase())}getLanguage(){return this.sLanguage}getScript(){return this.sScript}getRegion(){return this.sRegion}getVariant(){return this.sVariant}getVariantSubtags(){return this.sVariant?this.sVariant.split("-"):[]}getExtension(){return this.sExtension}getExtensionSubtags(){return this.sExtension?this.sExtension.slice(2).split("-"):[]}getPrivateUse(){return this.sPrivateUse}getPrivateUseSubtags(){return this.sPrivateUse?this.sPrivateUse.slice(2).split("-"):[]}hasPrivateUseSubtag(t){return this.getPrivateUseSubtags().indexOf(t)>=0}toString(){const t=[this.sLanguage];return this.sScript&&t.push(this.sScript),this.sRegion&&t.push(this.sRegion),this.sVariant&&t.push(this.sVariant),this.sExtension&&t.push(this.sExtension),this.sPrivateUse&&t.push(this.sPrivateUse),t.join("-")}}const rt=new Map,ot=t=>(rt.has(t)||rt.set(t,new at(t)),rt.get(t)),lt=t=>{try{if(t&&"string"==typeof t)return ot(t)}catch(t){}},ct=t=>t?lt(t):st()?ot(st()):lt(a()),dt=/^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i,ht=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,ut={he:"iw",yi:"ji",id:"in",sr:"sh"},pt=t=>{if(!t)return n;if("zh_HK"===t)return"zh_TW";const e=t.lastIndexOf("_");return e>=0?t.slice(0,e):t!==n?n:""},gt=new Set,ft=new Set,mt=new Map,yt=new Map,_t=new Map,vt=(t,e)=>{mt.set(t,e)},wt=(t,e)=>{const s=`${t}/${e}`;return _t.has(s)},At=async t=>{const e=ct().getLanguage(),i=ct().getRegion();let a=(t=>{let e;if(!t)return n;if("string"==typeof t&&(e=dt.exec(t.replace(/_/g,"-")))){let t=e[1].toLowerCase(),s=e[3]?e[3].toUpperCase():void 0;const n=e[2]?e[2].toLowerCase():void 0,i=e[4]?e[4].slice(1):void 0,a=e[6];return t=ut[t]||t,a&&(e=ht.exec(a))||i&&(e=ht.exec(i))?`en_US_${e[1].toLowerCase()}`:("zh"!==t||s||("hans"===n?s="CN":"hant"===n&&(s="TW")),t+(s?"_"+s+(i?"_"+i.replace("-","_"):""):""))}})(e+(i?`-${i}`:""));for(;a!==s&&!wt(t,a);)a=pt(a);const r=nt();if(a!==s||r)if(wt(t,a))try{const e=await((t,e)=>{const s=`${t}/${e}`,n=_t.get(s);return yt.get(s)||yt.set(s,n(e)),yt.get(s)})(t,a);vt(t,e)}catch(t){ft.has(t.message)||(ft.add(t.message),console.error(t.message))}else(t=>{gt.has(t)||(console.warn(`[${t}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${t}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`),gt.add(t))})(t);else vt(t,null)};S((()=>{const t=[...mt.keys()];return Promise.all(t.map(At))}));const bt=new Map,$t=new Map,St=new Map,Ct=new Set;let Et=!1;const Mt={iw:"he",ji:"yi",in:"id",sh:"sr"},Ot=t=>{Et||(console.warn(`[LocaleData] Supported locale "${t}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),Et=!0)},xt=(t,e)=>{bt.set(t,e)},Tt=async(t,e,s)=>{const a=((t,e,s)=>{"no"===(t=t&&Mt[t]||t)&&(t="nb"),"zh"!==t||e||("Hans"===s?e="CN":"Hant"===s&&(e="TW"));let a=`${t}_${e}`;return i.includes(a)?$t.has(a)?a:(Ot(a),n):(a=t,i.includes(a)?$t.has(a)?a:(Ot(a),n):n)})(t,e,s),r=m("OpenUI5Support");if(r){const t=r.getLocaleDataObject();if(t)return void xt(a,t)}try{const t=await(t=>{const e=$t.get(t);return St.get(t)||St.set(t,e(t)),St.get(t)})(a);xt(a,t)}catch(t){Ct.has(t.message)||(Ct.add(t.message),console.error(t.message))}};var Pt,It;Pt="en",It=async t=>(await fetch("https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/en.json")).json(),$t.set(Pt,It),S((()=>{const t=ct();return Tt(t.getLanguage(),t.getRegion(),t.getScript())}));const Lt=new Map,Nt=new Map,kt=new Set,Dt=new Set,Rt=(t,e,s)=>{Nt.set(`${t}/${e}`,s),kt.add(t),Dt.add(e)},jt=async(t,s)=>{const n=Lt.get(`${t}_${s}`);if(void 0!==n)return n;if(!Dt.has(s)){const s=[...Dt.values()].join(", ");return console.warn(`You have requested a non-registered theme - falling back to ${e}. Registered themes are: ${s}`),Lt.get(`${t}_${e}`)}const i=Nt.get(`${t}/${s}`);if(!i)return void console.error(`Theme [${s}] not registered for package [${t}]`);let a;try{a=await i(s)}catch(e){return void console.error(t,e.message)}const r=a._||a;return Lt.set(`${t}_${s}`,r),r},Ut=()=>kt,Ht={"SAP-icons-TNT":"tnt",BusinessSuiteInAppSymbols:"business-suite",horizon:"SAP-icons-v5"},Bt=(t,e)=>e?`${t}|${e}`:t,Vt=(t,e,s="")=>{const n="string"==typeof t?t:t.content;if(document.adoptedStyleSheets){const t=new CSSStyleSheet;t.replaceSync(n),t._ui5StyleId=Bt(e,s),document.adoptedStyleSheets=[...document.adoptedStyleSheets,t]}else{const t={};t[e]=s,((t,e={})=>{const s=document.createElement("style");s.type="text/css",Object.entries(e).forEach((t=>s.setAttribute(...t))),s.textContent=t,document.head.appendChild(s)})(n,t)}},zt=(t,e="")=>document.adoptedStyleSheets?!!document.adoptedStyleSheets.find((s=>s._ui5StyleId===Bt(t,e))):!!document.querySelector(`head>style[${t}="${e}"]`),Zt=(t,e,s="")=>{zt(e,s)?((t,e,s="")=>{const n="string"==typeof t?t:t.content;document.adoptedStyleSheets?document.adoptedStyleSheets.find((t=>t._ui5StyleId===Bt(e,s))).replaceSync(n||""):document.querySelector(`head>style[${e}="${s}"]`).textContent=n||""})(t,e,s):Vt(t,e,s)},Ft=new Set,Wt=()=>{const t=(()=>{let t=document.querySelector(".sapThemeMetaData-Base-baseLib")||document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");if(t)return getComputedStyle(t).backgroundImage;t=document.createElement("span"),t.style.display="none",t.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(t);let e=getComputedStyle(t).backgroundImage;return"none"===e&&(t.classList.add("sapThemeMetaData-UI5-sap-ui-core"),e=getComputedStyle(t).backgroundImage),document.body.removeChild(t),e})();if(!t||"none"===t)return;const e=(t=>{const e=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(t);if(e&&e.length>=2){let t=e[1];if(t=t.replace(/\\"/g,'"'),"{"!==t.charAt(0)&&"}"!==t.charAt(t.length-1))try{t=decodeURIComponent(t)}catch(t){return void(Ft.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),Ft.add("decode")))}try{return JSON.parse(t)}catch(t){Ft.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),Ft.add("parse"))}}})(t);return(t=>{let e,s;try{e=t.Path.match(/\.([^.]+)\.css_variables$/)[1],s=t.Extends[0]}catch(e){return void(Ft.has("object")||(console.warn("Malformed theme metadata Object",t),Ft.add("object")))}return{themeName:e,baseThemeName:s}})(e)},qt=new b,Gt="@ui5/webcomponents-theming",Jt=async t=>{if(!Ut().has(Gt))return;const e=await jt(Gt,t);e&&Zt(e,"data-ui5-theme-properties",Gt)},Kt=()=>{((t,e="")=>{if(document.adoptedStyleSheets)document.adoptedStyleSheets=document.adoptedStyleSheets.filter((s=>s._ui5StyleId!==Bt(t,e)));else{const s=document.querySelector(`head > style[${t}="${e}"]`);s&&s.parentElement.removeChild(s)}})("data-ui5-theme-properties",Gt)},Yt=async t=>{const e=(()=>{const t=Wt();if(t)return t;const e=m("OpenUI5Support");if(e&&e.cssVariablesLoaded())return{themeName:e.getConfigurationSettingsObject().theme}})();e&&t===e.themeName?Kt():await Jt(t);const s=(t=>Dt.has(t))(t)?t:e&&e.baseThemeName;await(async t=>{Ut().forEach((async e=>{if(e===Gt)return;const s=await jt(e,t);s&&Zt(s,"data-ui5-theme-properties",e)}))})(s),(t=>{qt.fireEvent("themeLoaded",t)})(t)};let Xt;const Qt=()=>(void 0===Xt&&(A(),Xt=_.theme),Xt),te=async t=>{Xt!==t&&(Xt=t,await Yt(Xt),await Q({themeAware:!0}))},ee=new Map,se=M("SVGIcons.registry",new Map),ne=M("SVGIcons.promises",new Map),ie=(t,{pathData:e,ltr:s,accData:n,collection:i,packageName:a}={})=>{i||(i=re());const r=`${i}/${t}`;se.set(r,{pathData:e,ltr:s,accData:n,packageName:a})},ae=async t=>{const{collection:e,registryKey:s}=(t=>{let e;return t.startsWith("sap-icon://")&&(t=t.replace("sap-icon://","")),[t,e]=t.split("/").reverse(),e=e||re(),e=oe(e),{name:t=t.replace("icon-",""),collection:e,registryKey:`${e}/${t}`}})(t);let n="ICON_NOT_FOUND";try{n=await(async t=>{if(!ne.has(t)){if(!ee.has(t))throw new Error(`No loader registered for the ${t} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const e=ee.get(t);ne.set(t,e(t))}return ne.get(t)})(e)}catch(t){console.error(t.message)}return"ICON_NOT_FOUND"===n?n:(se.has(s)||(t=>{Object.keys(t.data).forEach((e=>{const s=t.data[e];ie(e,{pathData:s.path,ltr:s.ltr,accData:s.acc,collection:t.collection,packageName:t.packageName})}))})(n),se.get(s))},re=()=>(t=>{const e=Qt();return e===t||e===`${t}_exp`})("sap_horizon")?"SAP-icons-v5":"SAP-icons",oe=t=>Ht[t]?Ht[t]:t,le=M("PopupUtilsData",{});le.currentZIndex=le.currentZIndex||100;const ce=()=>le.currentZIndex,de=()=>{const t=window.sap;return t&&t.ui&&"function"==typeof t.ui.getCore&&t.ui.getCore()};var he,ue;he="OpenUI5Support",ue={isLoaded:()=>!!de(),init:()=>{const t=de();return t?new Promise((e=>{t.attachInit((()=>{window.sap.ui.require(["sap/ui/core/LocaleData","sap/ui/core/Popup"],((t,s)=>{s.setInitialZIndex(ce()),e()}))}))})):Promise.resolve()},getConfigurationSettingsObject:()=>{const t=de();if(!t)return;const e=t.getConfiguration(),s=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:e.getAnimationMode(),language:e.getLanguage(),theme:e.getTheme(),rtl:e.getRTL(),calendarType:e.getCalendarType(),formatSettings:{firstDayOfWeek:s?s.getInstance(e.getLocale()).getFirstDayOfWeek():void 0}}},getLocaleDataObject:()=>{const t=de();if(!t)return;const e=t.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(e.getLocale())._get()},attachListeners:()=>{de()&&(()=>{const t=de(),e=t.getConfiguration();t.attachThemeChanged((async()=>{await te(e.getTheme())}))})()},cssVariablesLoaded:()=>{if(!de())return;const t=[...document.head.children].find((t=>"sap-ui-theme-sap.ui.core"===t.id));return t?!!t.href.match(/\/css(-|_)variables\.css/):void 0},getNextZIndex:()=>{if(!de())return;return window.sap.ui.require("sap/ui/core/Popup").getNextZIndex()},setInitialZIndex:()=>{if(!de())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex(ce())}},f.set(he,ue);var pe={packageName:"@ui5/webcomponents-base",fileName:"FontFace.css",content:'@font-face{font-family:"72";font-style:normal;font-weight:400;src:local("72"),url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents) format("woff")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:local(\'72-full\'),url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents) format("woff")}@font-face{font-family:"72";font-style:normal;font-weight:700;src:local(\'72-Bold\'),url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff")}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:local(\'72-Bold-full\'),url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2"),url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff")}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:local(\'72Black\'),url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2"),url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff?ui5-webcomponents) format("woff")}'},ge={packageName:"@ui5/webcomponents-base",fileName:"OverrideFontFace.css",content:"@font-face{font-family:'72override';unicode-range:U+0102-0103,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EB7,U+1EB8-1EC7,U+1EC8-1ECB,U+1ECC-1EE3,U+1EE4-1EF1,U+1EF4-1EF7;src:local('Arial'),local('Helvetica'),local('sans-serif')}"};const fe=()=>{zt("data-ui5-font-face")||Vt(pe,"data-ui5-font-face")},me=()=>{zt("data-ui5-font-face-override")||Vt(ge,"data-ui5-font-face-override")};var ye={packageName:"@ui5/webcomponents-base",fileName:"SystemCSSVars.css",content:":root{--_ui5_content_density:cozy}.sapUiSizeCompact,.ui5-content-density-compact,[data-ui5-compact-size]{--_ui5_content_density:compact}[dir=rtl]{--_ui5_dir:rtl}[dir=ltr]{--_ui5_dir:ltr}"};let _e;const ve=async()=>_e||(_e=new Promise((async t=>{void 0===x&&(x=P.length,P.push({...O,alias:"",description:`Runtime ${x} - ver ${O.version}`}));const e=m("OpenUI5Support"),s=m("F6Navigation");e?await e.init():s&&s.init(),await new Promise((t=>{document.body?t():document.addEventListener("DOMContentLoaded",(()=>{t()}))})),await Yt(Qt()),e&&e.attachListeners(),(()=>{const t=m("OpenUI5Support");t&&t.isLoaded()||fe(),me()})(),zt("data-ui5-system-css-vars")||Vt(ye,"data-ui5-system-css-vars"),t()})),_e);class we{static isValid(t){}static attributeToProperty(t){return t}static propertyToAttribute(t){return`${t}`}static valuesAreEqual(t,e){return t===e}static generateTypeAccessors(t){Object.keys(t).forEach((e=>{Object.defineProperty(this,e,{get:()=>t[e]})}))}}const Ae=(t,e,s=!1)=>{if("function"!=typeof t||"function"!=typeof e)return!1;if(s&&t===e)return!0;let n=t;do{n=Object.getPrototypeOf(n)}while(null!==n&&n!==e);return n===e},be=new Map,$e=new Map,Se=t=>{if(!be.has(t)){const e=Ee(t.split("-"));be.set(t,e)}return be.get(t)},Ce=t=>{if(!$e.has(t)){const e=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();$e.set(t,e)}return $e.get(t)},Ee=t=>t.map(((t,e)=>0===e?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())).join(""),Me=t=>t&&t instanceof HTMLElement&&"slot"===t.localName,Oe=t=>Me(t)?t.assignedNodes({flatten:!0}).filter((t=>t instanceof HTMLElement)):[t];let xe={include:[/^ui5-/],exclude:[]};const Te=new Map,Pe=t=>{if(!Te.has(t)){const e=xe.include.some((e=>t.match(e)))&&!xe.exclude.some((e=>t.match(e)));Te.set(t,e)}return Te.get(t)},Ie=t=>{Pe(t)};class Le{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},e=this.slotsAreManaged(),s=this.getProperties();for(const e in s){const n=s[e].type,i=s[e].defaultValue;n===Boolean?(t[e]=!1,void 0!==i&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):s[e].multiple?t[e]=[]:t[e]=n===Object?"defaultValue"in s[e]?s[e].defaultValue:{}:n===String?"defaultValue"in s[e]?s[e].defaultValue:"":i}if(e){const e=this.getSlots();for(const[s,n]of Object.entries(e)){t[n.propertyName||s]=[]}}return this._initialState=t,t}static validatePropertyValue(t,e){return e.multiple?t.map((t=>Ne(t,e))):Ne(t,e)}static validateSlotValue(t,e){return ke(t,e)}getPureTag(){return this.metadata.tag}getTag(){const t=this.metadata.tag,e=Ie(t);return e?`${t}-${e}`:t}getAltTag(){const t=this.metadata.altTag;if(!t)return;const e=Ie(t);return e?`${t}-${e}`:t}hasAttribute(t){const e=this.getProperties()[t];return e.type!==Object&&!e.noAttribute&&!e.multiple}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute,this).map(Ce)}getSlots(){return this.metadata.slots||{}}canSlotText(){const t=this.getSlots().default;return t&&t.type===Node}hasSlots(){return!!Object.entries(this.getSlots()).length}hasIndividualSlots(){return this.slotsAreManaged()&&Object.entries(this.getSlots()).some((([t,e])=>e.individualSlots))}slotsAreManaged(){return!!this.metadata.managedSlots}supportsF6FastNavigation(){return!!this.metadata.fastNavigation}getProperties(){return this.metadata.properties||{}}getEvents(){return this.metadata.events||{}}isLanguageAware(){return!!this.metadata.languageAware}isThemeAware(){return!!this.metadata.themeAware}shouldInvalidateOnChildChange(t,e,s){const n=this.getSlots()[t].invalidateOnChildChange;if(void 0===n)return!1;if("boolean"==typeof n)return n;if("object"==typeof n){if("property"===e){if(void 0===n.properties)return!1;if("boolean"==typeof n.properties)return n.properties;if(Array.isArray(n.properties))return n.properties.includes(s);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if("slot"===e){if(void 0===n.slots)return!1;if("boolean"==typeof n.slots)return n.slots;if(Array.isArray(n.slots))return n.slots.includes(s);throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected")}}throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected")}}const Ne=(t,e)=>{const s=e.type;return s===Boolean?"boolean"==typeof t&&t:s===String?"string"==typeof t||null==t?t:t.toString():s===Object?"object"==typeof t?t:e.defaultValue:Ae(s,we)?s.isValid(t)?t:e.defaultValue:void 0},ke=(t,e)=>(t&&Oe(t).forEach((t=>{if(!(t instanceof e.type))throw new Error(`${t} is not of type ${e.type}`)})),t);customElements.get("ui5-static-area")||customElements.define("ui5-static-area",class extends HTMLElement{});const De=M("CustomStyle.eventProvider",new b),Re=t=>{De.attachEvent("CustomCSSChange",t)},je=M("CustomStyle.customCSSFor",{});Re((t=>{Q({tag:t})}));const Ue=t=>Array.isArray(t)?He(t.filter((t=>!!t))).map((t=>"string"==typeof t?t:t.content)).join(" "):"string"==typeof t?t:t.content,He=t=>t.reduce(((t,e)=>t.concat(Array.isArray(e)?He(e):e)),[]),Be=new Map;Re((t=>{Be.delete(`${t}_normal`)}));const Ve=(t,e=!1)=>{const s=t.getMetadata().getTag(),n=`${s}_${e?"static":"normal"}`;if(!Be.has(n)){let i;if(e)i=Ue(t.staticAreaStyles);else{const e=(t=>je[t]?je[t].join(""):"")(s)||"";i=`${Ue(t.styles)} ${e}`}Be.set(n,i)}return Be.get(n)},ze=new Map;Re((t=>{ze.delete(`${t}_normal`)}));const Ze=(t,e=!1)=>{let s;const n=e?"staticAreaTemplate":"template",i=e?t.staticAreaItem.shadowRoot:t.shadowRoot,a=((t,e)=>{const s=e.constructor.getUniqueDependencies().map((t=>t.getMetadata().getPureTag())).filter(Pe);return t(e,s,void 0)})(t.constructor[n],t);document.adoptedStyleSheets?i.adoptedStyleSheets=((t,e=!1)=>{const s=`${t.getMetadata().getTag()}_${e?"static":"normal"}`;if(!ze.has(s)){const n=Ve(t,e),i=new CSSStyleSheet;i.replaceSync(n),ze.set(s,[i])}return ze.get(s)})(t.constructor,e):window.ShadyDOM||(s=Ve(t.constructor,e)),t.constructor.render(a,i,s,{host:t})};const Fe={iw:"he",ji:"yi",in:"id",sh:"sr"},We=(t=>{const e=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(t);return e&&e[2]?e[2].split(/,/):null})("$cldr-rtl-locales:ar,fa,he$")||[],qe=()=>{const t=(A(),_.rtl);return null!==t?!!t:(t=>(t=t&&Fe[t]||t,We.indexOf(t)>=0))(st()||a())},Ge=t=>{const e=window.document,s=["ltr","rtl"],n=getComputedStyle(t).getPropertyValue("--_ui5_dir");return s.includes(n)?n:s.includes(t.dir)?t.dir:s.includes(e.documentElement.dir)?e.documentElement.dir:s.includes(e.body.dir)?e.body.dir:qe()?"rtl":void 0};class Je extends HTMLElement{constructor(){super(),this._rendered=!1,this.attachShadow({mode:"open"})}setOwnerElement(t){this.ownerElement=t,this.classList.add(this.ownerElement._id),this.ownerElement.hasAttribute("data-ui5-static-stable")&&this.setAttribute("data-ui5-stable",this.ownerElement.getAttribute("data-ui5-static-stable"))}update(){this._rendered&&(this._updateContentDensity(),this._updateDirection(),Ze(this.ownerElement,!0))}_updateContentDensity(){var t;"compact"===(t=this.ownerElement,getComputedStyle(t).getPropertyValue("--_ui5_content_density"))?(this.classList.add("sapUiSizeCompact"),this.classList.add("ui5-content-density-compact")):(this.classList.remove("sapUiSizeCompact"),this.classList.remove("ui5-content-density-compact"))}_updateDirection(){const t=Ge(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}async getDomRef(){return this._updateContentDensity(),this._rendered||(this._rendered=!0,Ze(this.ownerElement,!0)),await Y(),this.shadowRoot}static getTag(){const t="ui5-static-area-item",e=Ie(t);return e?`${t}-${e}`:t}static createInstance(){return customElements.get(Je.getTag())||customElements.define(Je.getTag(),Je),document.createElement(this.getTag())}}const Ke=new WeakMap;const Ye=(t,e,s)=>{const n=((t,e,s)=>{const n=new MutationObserver(e);return n.observe(t,s),n})(t,e,s);Ke.set(t,n)},Xe=["value-changed"];let Qe;const ts=()=>(void 0===Qe&&(A(),Qe=_.noConflict),Qe),es=t=>{const e=ts();return!(t=>Xe.includes(t))(t)&&(!0===e||!(t=>{const e=ts();return!(e.events&&e.events.includes&&e.events.includes(t))})(t))},ss=["disabled","title","hidden","role","draggable"],ns=t=>{if(ss.includes(t)||t.startsWith("aria"))return!0;return![HTMLElement,Element,Node].some((e=>e.prototype.hasOwnProperty(t)))},is=(t,e)=>{if(t.length!==e.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0},as=(t,e)=>class extends t{constructor(){super(),e&&e()}};let rs=0;const os=new Map,ls=new Map;function cs(t){this._suppressInvalidation||(this.onInvalidation(t),this._changedState.push(t),q(this),this._eventProvider.fireEvent("invalidate",{...t,target:this}))}class ds extends HTMLElement{constructor(){let t;super(),this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new b,this._domRefReadyPromise=new Promise((e=>{t=e})),this._domRefReadyPromise._deferredResolve=t,this._initializeState(),this._upgradeAllProperties(),this.constructor._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id="ui5wc_"+ ++rs),this.__id}async connectedCallback(){this.setAttribute(this.constructor.getMetadata().getPureTag(),""),this.constructor.getMetadata().supportsF6FastNavigation()&&this.setAttribute("data-sap-ui-fastnavgroup","true");const t=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!0,t&&(this._startObservingDOMChildren(),await this._processChildren()),this._inDOM&&(G(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,"function"==typeof this.onEnterDOM&&this.onEnterDOM())}disconnectedCallback(){const t=this.constructor.getMetadata().slotsAreManaged();var e;this._inDOM=!1,t&&this._stopObservingDOMChildren(),this._fullyConnected&&("function"==typeof this.onExitDOM&&this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),e=this,V.remove(e),H.delete(e)}_startObservingDOMChildren(){if(!this.constructor.getMetadata().hasSlots())return;const t=this.constructor.getMetadata().canSlotText(),e={childList:!0,subtree:t,characterData:t};Ye(this,this._processChildren.bind(this),e)}_stopObservingDOMChildren(){(t=>{const e=Ke.get(t);e&&((t=>{t.disconnect()})(e),Ke.delete(t))})(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor.getMetadata().getSlots(),e=this.constructor.getMetadata().canSlotText(),s=Array.from(e?this.childNodes:this.children),n=new Map,i=new Map;for(const[e,s]of Object.entries(t)){const t=s.propertyName||e;i.set(t,e),n.set(t,[...this._state[t]]),this._clearSlot(e,s)}const a=new Map,r=new Map,o=s.map((async(e,s)=>{const n=(t=>{if(!(t instanceof HTMLElement))return"default";const e=t.getAttribute("slot");if(e){const t=e.match(/^(.+?)-\d+$/);return t?t[1]:e}return"default"})(e),i=t[n];if(void 0===i){const s=Object.keys(t).join(", ");return void console.warn(`Unknown slotName: ${n}, ignoring`,e,`Valid values are: ${s}`)}if(i.individualSlots){const t=(a.get(n)||0)+1;a.set(n,t),e._individualSlot=`${n}-${t}`}if(e instanceof HTMLElement){const t=e.localName;if(t.includes("-")){if(!window.customElements.get(t)){const e=window.customElements.whenDefined(t);let s=os.get(t);s||(s=new Promise((t=>setTimeout(t,1e3))),os.set(t,s)),await Promise.race([e,s])}window.customElements.upgrade(e)}}if((e=this.constructor.getMetadata().constructor.validateSlotValue(e,i)).isUI5Element&&i.invalidateOnChildChange){(e.attachInvalidate||e._attachChange).bind(e)(this._getChildChangeListener(n))}Me(e)&&this._attachSlotChange(e,n);const o=i.propertyName||n;r.has(o)?r.get(o).push({child:e,idx:s}):r.set(o,[{child:e,idx:s}])}));await Promise.all(o),r.forEach(((t,e)=>{this._state[e]=t.sort(((t,e)=>t.idx-e.idx)).map((t=>t.child))}));let l=!1;for(const[e,s]of Object.entries(t)){const t=s.propertyName||e;is(n.get(t),this._state[t])||(cs.call(this,{type:"slot",name:i.get(t),reason:"children"}),l=!0)}l||cs.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const s=e.propertyName||t;this._state[s].forEach((e=>{if(e&&e.isUI5Element){(e.detachInvalidate||e._detachChange).bind(e)(this._getChildChangeListener(t))}Me(e)&&this._detachSlotChange(e,t)})),this._state[s]=[]}attachInvalidate(t){this._eventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._eventProvider.detachEvent("invalidate",t)}_onChildChange(t,e){this.constructor.getMetadata().shouldInvalidateOnChildChange(t,e.type,e.name)&&cs.call(this,{type:"slot",name:t,reason:"childchange",child:e.target})}attributeChangedCallback(t,e,s){const n=this.constructor.getMetadata().getProperties(),i=t.replace(/^ui5-/,""),a=Se(i);if(n.hasOwnProperty(a)){const t=n[a].type;t===Boolean?s=null!==s:Ae(t,we)&&(s=t.attributeToProperty(s)),this[a]=s}}_updateAttribute(t,e){if(!this.constructor.getMetadata().hasAttribute(t))return;const s=this.constructor.getMetadata().getProperties()[t].type,n=Ce(t),i=this.getAttribute(n);s===Boolean?!0===e&&null===i?this.setAttribute(n,""):!1===e&&null!==i&&this.removeAttribute(n):Ae(s,we)?this.setAttribute(n,s.propertyToAttribute(e)):"object"!=typeof e&&i!==e&&this.setAttribute(n,e)}_upgradeProperty(t){if(this.hasOwnProperty(t)){const e=this[t];delete this[t],this[t]=e}}_upgradeAllProperties(){this.constructor.getMetadata().getPropertiesList().forEach(this._upgradeProperty,this)}_initializeState(){this._state={...this.constructor.getMetadata().getInitialState()}}_getChildChangeListener(t){return this._childChangeListeners.has(t)||this._childChangeListeners.set(t,this._onChildChange.bind(this,t)),this._childChangeListeners.get(t)}_getSlotChangeListener(t){return this._slotChangeListeners.has(t)||this._slotChangeListeners.set(t,this._onSlotChange.bind(this,t)),this._slotChangeListeners.get(t)}_attachSlotChange(t,e){t.addEventListener("slotchange",this._getSlotChangeListener(e))}_detachSlotChange(t,e){t.removeEventListener("slotchange",this._getSlotChangeListener(e))}_onSlotChange(t){cs.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,"function"==typeof this.onBeforeRendering&&this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],this.constructor._needsShadowDOM()&&Ze(this),this.staticAreaItem&&this.staticAreaItem.update(),t&&this._assignIndividualSlotsToChildren(),"function"==typeof this.onAfterRendering&&this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach((t=>{t._individualSlot&&t.setAttribute("slot",t._individualSlot)}))}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if("function"==typeof this._getRealDomRef)return this._getRealDomRef();if(!this.shadowRoot||0===this.shadowRoot.children.length)return;const t=[...this.shadowRoot.children].filter((t=>!["link","style"].includes(t.localName)));return 1!==t.length&&console.warn(`The shadow DOM for ${this.constructor.getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`),t[0]}getFocusDomRef(){const t=this.getDomRef();if(t){return t.querySelector("[data-sap-focus-ref]")||t}}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(){await this._waitForDomRef();const t=this.getFocusDomRef();t&&"function"==typeof t.focus&&t.focus()}fireEvent(t,e,s=!1,n=!0){const i=this._fireEvent(t,e,s,n),a=Se(t);return a!==t?i&&this._fireEvent(a,e,s):i}_fireEvent(t,e,s=!1,n=!0){const i=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:n,cancelable:s}),a=this.dispatchEvent(i);if(es(t))return a;const r=new CustomEvent(t,{detail:e,composed:!1,bubbles:n,cancelable:s});return this.dispatchEvent(r)&&a}getSlottedNodes(t){return this[t].reduce(((t,e)=>t.concat(Oe(e))),[])}get effectiveDir(){var t;return t=this.constructor,U.add(t),Ge(this)}get isUI5Element(){return!0}static get observedAttributes(){return this.getMetadata().getAttributesList()}static _needsShadowDOM(){return!!this.template}static _needsStaticArea(){return!!this.staticAreaTemplate}getStaticAreaItemDomRef(){if(!this.constructor._needsStaticArea())throw new Error("This component does not use the static area");return this.staticAreaItem||(this.staticAreaItem=Je.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||E("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,e=this.getMetadata().slotsAreManaged(),s=this.getMetadata().getProperties();for(const[e,n]of Object.entries(s)){if(ns(e)||console.warn(`"${e}" is not a valid property name. Use a name that does not collide with DOM APIs`),n.type===Boolean&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All booleans are false by default.`);if(n.type===Array)throw new Error(`Wrong type for property "${e}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(n.type===Object&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All properties of type "Object" are empty objects by default.`);if(n.multiple&&n.defaultValue)throw new Error(`Cannot set a default value for property "${e}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,e,{get(){if(void 0!==this._state[e])return this._state[e];const t=n.defaultValue;return n.type!==Boolean&&(n.type===String?t:n.multiple?[]:t)},set(t){let s;t=this.constructor.getMetadata().constructor.validatePropertyValue(t,n);const i=this._state[e];s=n.multiple&&n.compareValues?!is(i,t):Ae(n.type,we)?!n.type.valuesAreEqual(i,t):i!==t,s&&(this._state[e]=t,cs.call(this,{type:"property",name:e,newValue:t,oldValue:i}),this._updateAttribute(e,t))}})}if(e){const e=this.getMetadata().getSlots();for(const[s,n]of Object.entries(e)){ns(s)||console.warn(`"${s}" is not a valid property name. Use a name that does not collide with DOM APIs`);const e=n.propertyName||s;Object.defineProperty(t,e,{get(){return void 0!==this._state[e]?this._state[e]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get metadata(){return{}}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!ls.has(this)){const t=this.dependencies.filter(((t,e,s)=>s.indexOf(t)===e));ls.set(this,t)}return ls.get(this)}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map((t=>t.define())))}static async onDefine(){return Promise.resolve()}static async define(){await ve(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),e=this.getMetadata().getAltTag(),s=(t=>N.has(t))(t),n=customElements.get(t);return n&&!s?(t=>{let e=L.get(t);void 0===e&&(e="unknown"),D[e]=D[e]||new Set,D[e].add(t),k||(k=setTimeout((()=>{j(),D={},k=void 0}),1e3))})(t):n||(this._generateAccessors(),R(t),window.customElements.define(t,this),e&&!customElements.get(e)&&(R(e),window.customElements.define(e,as(this,(()=>{console.log(`The ${e} tag is deprecated and will be removed in the next release, please use ${t} instead.`)}))))),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const t=[this.metadata];let e=this;for(;e!==ds;)e=Object.getPrototypeOf(e),t.unshift(e.metadata);const s=g({},...t);return this._metadata=new Le(s),this._metadata}}
2
- /**
3
- * @license
4
- * Copyright 2017 Google LLC
5
- * SPDX-License-Identifier: BSD-3-Clause
6
- */var hs;const us=globalThis.trustedTypes,ps=us?us.createPolicy("lit-html",{createHTML:t=>t}):void 0,gs=`lit$${(Math.random()+"").slice(9)}$`,fs="?"+gs,ms=`<${fs}>`,ys=document,_s=(t="")=>ys.createComment(t),vs=t=>null===t||"object"!=typeof t&&"function"!=typeof t,ws=Array.isArray,As=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,bs=/-->/g,$s=/>/g,Ss=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,Cs=/'/g,Es=/"/g,Ms=/^(?:script|style|textarea)$/i,Os=(t=>(e,...s)=>({_$litType$:t,strings:e,values:s}))(1),xs=Symbol.for("lit-noChange"),Ts=Symbol.for("lit-nothing"),Ps=new WeakMap,Is=ys.createTreeWalker(ys,129,null,!1),Ls=(t,e)=>{const s=t.length-1,n=[];let i,a=2===e?"<svg>":"",r=As;for(let e=0;e<s;e++){const s=t[e];let o,l,c=-1,d=0;for(;d<s.length&&(r.lastIndex=d,l=r.exec(s),null!==l);)d=r.lastIndex,r===As?"!--"===l[1]?r=bs:void 0!==l[1]?r=$s:void 0!==l[2]?(Ms.test(l[2])&&(i=RegExp("</"+l[2],"g")),r=Ss):void 0!==l[3]&&(r=Ss):r===Ss?">"===l[0]?(r=null!=i?i:As,c=-1):void 0===l[1]?c=-2:(c=r.lastIndex-l[2].length,o=l[1],r=void 0===l[3]?Ss:'"'===l[3]?Es:Cs):r===Es||r===Cs?r=Ss:r===bs||r===$s?r=As:(r=Ss,i=void 0);const h=r===Ss&&t[e+1].startsWith("/>")?" ":"";a+=r===As?s+ms:c>=0?(n.push(o),s.slice(0,c)+"$lit$"+s.slice(c)+gs+h):s+gs+(-2===c?(n.push(void 0),e):h)}const o=a+(t[s]||"<?>")+(2===e?"</svg>":"");return[void 0!==ps?ps.createHTML(o):o,n]};class Ns{constructor({strings:t,_$litType$:e},s){let n;this.parts=[];let i=0,a=0;const r=t.length-1,o=this.parts,[l,c]=Ls(t,e);if(this.el=Ns.createElement(l,s),Is.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=Is.nextNode())&&o.length<r;){if(1===n.nodeType){if(n.hasAttributes()){const t=[];for(const e of n.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(gs)){const s=c[a++];if(t.push(e),void 0!==s){const t=n.getAttribute(s.toLowerCase()+"$lit$").split(gs),e=/([.?@])?(.*)/.exec(s);o.push({type:1,index:i,name:e[2],strings:t,ctor:"."===e[1]?Us:"?"===e[1]?Hs:"@"===e[1]?Bs:js})}else o.push({type:6,index:i})}for(const e of t)n.removeAttribute(e)}if(Ms.test(n.tagName)){const t=n.textContent.split(gs),e=t.length-1;if(e>0){n.textContent=us?us.emptyScript:"";for(let s=0;s<e;s++)n.append(t[s],_s()),Is.nextNode(),o.push({type:2,index:++i});n.append(t[e],_s())}}}else if(8===n.nodeType)if(n.data===fs)o.push({type:2,index:i});else{let t=-1;for(;-1!==(t=n.data.indexOf(gs,t+1));)o.push({type:7,index:i}),t+=gs.length-1}i++}}static createElement(t,e){const s=ys.createElement("template");return s.innerHTML=t,s}}function ks(t,e,s=t,n){var i,a,r,o;if(e===xs)return e;let l=void 0!==n?null===(i=s._$Cl)||void 0===i?void 0:i[n]:s._$Cu;const c=vs(e)?void 0:e._$litDirective$;return(null==l?void 0:l.constructor)!==c&&(null===(a=null==l?void 0:l._$AO)||void 0===a||a.call(l,!1),void 0===c?l=void 0:(l=new c(t),l._$AT(t,s,n)),void 0!==n?(null!==(r=(o=s)._$Cl)&&void 0!==r?r:o._$Cl=[])[n]=l:s._$Cu=l),void 0!==l&&(e=ks(t,l._$AS(t,e.values),l,n)),e}class Ds{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:s},parts:n}=this._$AD,i=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:ys).importNode(s,!0);Is.currentNode=i;let a=Is.nextNode(),r=0,o=0,l=n[0];for(;void 0!==l;){if(r===l.index){let e;2===l.type?e=new Rs(a,a.nextSibling,this,t):1===l.type?e=new l.ctor(a,l.name,l.strings,this,t):6===l.type&&(e=new Vs(a,this,t)),this.v.push(e),l=n[++o]}r!==(null==l?void 0:l.index)&&(a=Is.nextNode(),r++)}return i}m(t){let e=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class Rs{constructor(t,e,s,n){var i;this.type=2,this._$AH=Ts,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=n,this._$Cg=null===(i=null==n?void 0:n.isConnected)||void 0===i||i}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=ks(this,t,e),vs(t)?t===Ts||null==t||""===t?(this._$AH!==Ts&&this._$AR(),this._$AH=Ts):t!==this._$AH&&t!==xs&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):(t=>{var e;return ws(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(t)?this.M(t):this.$(t)}A(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}S(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==Ts&&vs(this._$AH)?this._$AA.nextSibling.data=t:this.S(ys.createTextNode(t)),this._$AH=t}T(t){var e;const{values:s,_$litType$:n}=t,i="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=Ns.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===i)this._$AH.m(s);else{const t=new Ds(i,this),e=t.p(this.options);t.m(s),this.S(e),this._$AH=t}}_$AC(t){let e=Ps.get(t.strings);return void 0===e&&Ps.set(t.strings,e=new Ns(t)),e}M(t){ws(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,n=0;for(const i of t)n===e.length?e.push(s=new Rs(this.A(_s()),this.A(_s()),this,this.options)):s=e[n],s._$AI(i),n++;n<e.length&&(this._$AR(s&&s._$AB.nextSibling,n),e.length=n)}_$AR(t=this._$AA.nextSibling,e){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class js{constructor(t,e,s,n,i){this.type=1,this._$AH=Ts,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=i,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=Ts}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,s,n){const i=this.strings;let a=!1;if(void 0===i)t=ks(this,t,e,0),a=!vs(t)||t!==this._$AH&&t!==xs,a&&(this._$AH=t);else{const n=t;let r,o;for(t=i[0],r=0;r<i.length-1;r++)o=ks(this,n[s+r],e,r),o===xs&&(o=this._$AH[r]),a||(a=!vs(o)||o!==this._$AH[r]),o===Ts?t=Ts:t!==Ts&&(t+=(null!=o?o:"")+i[r+1]),this._$AH[r]=o}a&&!n&&this.k(t)}k(t){t===Ts?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class Us extends js{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===Ts?void 0:t}}class Hs extends js{constructor(){super(...arguments),this.type=4}k(t){t&&t!==Ts?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name)}}class Bs extends js{constructor(t,e,s,n,i){super(t,e,s,n,i),this.type=5}_$AI(t,e=this){var s;if((t=null!==(s=ks(this,t,e,0))&&void 0!==s?s:Ts)===xs)return;const n=this._$AH,i=t===Ts&&n!==Ts||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,a=t!==Ts&&(n===Ts||i);i&&this.element.removeEventListener(this.name,this,n),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Vs{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){ks(this,t)}}const zs=window.litHtmlPolyfillSupport;null==zs||zs(Ns,Rs),(null!==(hs=globalThis.litHtmlVersions)&&void 0!==hs?hs:globalThis.litHtmlVersions=[]).push("2.0.1");
7
- /**
8
- * @license
9
- * Copyright 2020 Google LLC
10
- * SPDX-License-Identifier: BSD-3-Clause
11
- */
12
- const Zs=new Map,Fs=(t=>(e,...s)=>{var n;const i=s.length;let a,r;const o=[],l=[];let c,d=0,h=!1;for(;d<i;){for(c=e[d];d<i&&void 0!==(r=s[d],a=null===(n=r)||void 0===n?void 0:n._$litStatic$);)c+=a+e[++d],h=!0;l.push(r),o.push(c),d++}if(d===i&&o.push(e[i]),h){const t=o.join("$$lit$$");void 0===(e=Zs.get(t))&&Zs.set(t,e=o),s=l}return t(e,...s)})(Os),Ws=2;
13
- /**
14
- * @license
15
- * Copyright 2017 Google LLC
16
- * SPDX-License-Identifier: BSD-3-Clause
17
- */
18
- /**
19
- * @license
20
- * Copyright 2017 Google LLC
21
- * SPDX-License-Identifier: BSD-3-Clause
22
- */
23
- class qs extends class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}{constructor(t){if(super(t),this.it=Ts,t.type!==Ws)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===Ts||null==t)return this.vt=void 0,this.it=t;if(t===xs)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.vt;this.it=t;const e=[t];return e.raw=e,this.vt={_$litType$:this.constructor.resultType,strings:e,values:[]}}}qs.directiveName="unsafeHTML",qs.resultType=1;const Gs=(t,e,s,{host:n}={})=>{"string"==typeof s?t=Fs`<style>${s}</style>${t}`:Array.isArray(s)&&s.length&&(t=Fs`${s.map((t=>Fs`<link type="text/css" rel="stylesheet" href="${t}">`))}${t}`),((t,e,s)=>{var n,i;const a=null!==(n=null==s?void 0:s.renderBefore)&&void 0!==n?n:e;let r=a._$litPart$;if(void 0===r){const t=null!==(i=null==s?void 0:s.renderBefore)&&void 0!==i?i:null;a._$litPart$=r=new Rs(e.insertBefore(_s(),t),t,void 0,null!=s?s:{})}r._$AI(t)})(t,e,{host:n})},Js={tag:"ui5-test-generic",properties:{strProp:{type:String},boolProp:{type:Boolean},objectProp:{type:Object},noAttributeProp:{type:String,noAttribute:!0},multiProp:{type:String,multiple:!0},defaultValueProp:{type:String,defaultValue:"Hello"}},managedSlots:!0,slots:{default:{type:Node},other:{type:HTMLElement},individual:{type:HTMLElement,individualSlots:!0},named:{type:HTMLElement,propertyName:"items"}}};class Ks extends ds{static get metadata(){return Js}static get render(){return Gs}static get template(){return t=>Fs`<div><p>
24
- <slot></slot>
25
- <slot name="other"></slot>
26
- <slot name="individual-1"></slot>
27
- <slot name="individual-2"></slot>
28
- </p></div>`}static get styles(){return":host {\n display: inline-block;\n border: 1px solid black;\n color: var(--var1);\n }"}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}Ks.define();const Ys={tag:"ui5-test-no-shadow"};(class extends ds{static get metadata(){return Ys}}).define();const Xs={tag:"ui5-test-parent",managedSlots:!0,slots:{default:{type:Node,invalidateOnChildChange:{properties:["prop1"]}},items:{type:HTMLElement,invalidateOnChildChange:{properties:!0}}}};(class extends ds{static get metadata(){return Xs}static get render(){return Gs}static get template(){return t=>Fs`<div>
29
- <slot></slot>
30
- </div>`}}).define();const Qs={tag:"ui5-test-child",properties:{prop1:{type:String},prop2:{type:String},prop3:{type:String}}};(class extends ds{static get metadata(){return Qs}static get render(){return Gs}static get template(){return t=>Fs`<div></div>`}}).define();const tn={tag:"ui5-with-static-area",properties:{staticContent:{type:Boolean}},slots:{}};(class extends ds{static get metadata(){return tn}static get render(){return Gs}static get template(){return t=>Fs`
31
- <div dir=${t.effectiveDir}>
32
- WithStaticArea works!
33
- </div>`}static get staticAreaTemplate(){return t=>Fs`
34
- <div class="ui5-with-static-area-content">
35
- Static area content.
36
- </div>`}static get styles(){return"\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tborder: 1px solid black;\n\t\t\t\tcolor: red;\n\t\t\t}"}async addStaticArea(){if(!this.staticContent)return;const t=await this.getStaticAreaItemDomRef();return this.responsivePopover=t.querySelector(".ui5-with-static-area-content"),this.responsivePopover}onBeforeRendering(){this.addStaticArea()}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}).define();const en={tag:"ui5-test-generic-ext",properties:{extProp:{type:String},strProp:{defaultValue:"Ext"}},slots:{extSlot:{type:HTMLElement}}};(class extends Ks{static get metadata(){return en}}).define();Rt("@ui5/webcomponents-base-test","sap_fiori_3",(()=>":root{ --var1: red; }")),Rt("@ui5/webcomponents-base-test","sap_fiori_3_dark",(()=>":root{ --var1: green; }")),Rt("@ui5/webcomponents-base-test","sap_belize",(()=>":root{ --var1: blue; }")),Rt("@ui5/webcomponents-base-test","sap_belize_hcb",(()=>":root{ --var1: orange; }")),Rt("@ui5/webcomponents-base-test","sap_belize_hcw",(()=>":root{ --var1: orange; }")),Rt("@ui5/webcomponents-base-test","sap_fiori_3_hcb",(()=>":root{ --var1: yellow; }")),Rt("@ui5/webcomponents-base-test","sap_fiori_3_hcw",(()=>":root{ --var1: yellow; }"));const sn=navigator.userAgent,nn=/(msie|trident)/i.test(sn),an=!nn&&/(Chrome|CriOS)/.test(sn);!nn&&!an&&/(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(sn),!nn&&/webkit/.test(sn);const rn=-1!==navigator.platform.indexOf("Win");navigator.platform.match(/iPhone|iPad|iPod/)||navigator.userAgent.match(/Mac/)&&document;!rn&&/Android/.test(sn)&&/(?=android)(?=.*mobile)/i.test(sn),/ipad/i.test(sn)||/Macintosh/i.test(sn)&&document;const on=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,ln=new Map;class cn{constructor(t){this.packageName=t}getText(t,...e){if("string"==typeof t&&(t={key:t,defaultText:t}),!t||!t.key)return"";const s=(n=this.packageName,mt.get(n));var n;s&&!s[t.key]&&console.warn(`Key ${t.key} not found in the i18n bundle, the default text will be used`);const i=s&&s[t.key]?s[t.key]:t.defaultText||t.key;return a=(a=e)||[],i.replace(on,((t,e,s,n,i)=>{if(e)return"'";if(s)return s.replace(/''/g,"'");if(n)return String(a[parseInt(n)]);throw new Error(`[i18n]: pattern syntax error at pos ${i}`)}));var a}}let dn;const hn={Gregorian:"Gregorian",Islamic:"Islamic",Japanese:"Japanese",Buddhist:"Buddhist",Persian:"Persian"};class un extends we{static isValid(t){return!!hn[t]}}let pn;un.generateTypeAccessors(hn);let gn;const fn=new b;window.isIE=()=>nn,window.registerThemePropertiesLoader=Rt,window["sap-ui-webcomponents-bundle"]={configuration:{getAnimationMode:()=>(void 0===dn&&(A(),dn=_.animationMode),dn),getLanguage:st,getTheme:Qt,setTheme:te,getNoConflict:ts,setNoConflict:t=>{Qe=t},getCalendarType:()=>(void 0===pn&&(A(),pn=_.calendarType),un.isValid(pn)?pn:un.Gregorian),getRTL:qe,getFirstDayOfWeek:()=>(void 0===gn&&(A(),gn=_.formatSettings),gn.firstDayOfWeek)},getIconNames:async()=>(await ae("edit"),await ae("tnt/arrow"),await ae("business-suite/3d"),Array.from(se.keys())),registerI18nLoader:(t,e,s)=>{const n=`${t}/${e}`;_t.set(n,s)},getI18nBundle:async t=>(await At(t),(t=>{if(ln.has(t))return ln.get(t);const e=new cn(t);return ln.set(t,e),e})(t)),renderFinished:Y,applyDirection:async()=>{const t=fn.fireEvent("directionChange");await Promise.all(t),await Q({rtlAware:!0})},EventProvider:b};
37
- //# sourceMappingURL=bundle.esm.js.map