@ui5/webcomponents-base 0.0.0-1e08ebdef → 0.0.0-1f45608ac

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 (677) hide show
  1. package/.eslintignore +3 -1
  2. package/CHANGELOG.md +414 -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 -29
  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 +69 -30
  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 -93
  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 -7
  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 -244
  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 +86 -0
  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 -84
  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 -981
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -306
  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/bundle.esm.9718f067.js +24 -0
  116. package/dist/assets/i18nBundle.7fb08e25.js +37 -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 +151 -0
  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 +10 -0
  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/applyTheme.d.ts +2 -0
  251. package/dist/theming/applyTheme.js +60 -64
  252. package/dist/theming/applyTheme.js.map +1 -0
  253. package/dist/theming/getConstructableStyle.d.ts +9 -0
  254. package/dist/theming/getConstructableStyle.js +12 -17
  255. package/dist/theming/getConstructableStyle.js.map +1 -0
  256. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  257. package/dist/theming/getEffectiveLinksHrefs.js +13 -16
  258. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  259. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  260. package/dist/theming/getEffectiveStyle.js +25 -23
  261. package/dist/theming/getEffectiveStyle.js.map +1 -0
  262. package/dist/theming/getStylesString.d.ts +3 -0
  263. package/dist/theming/getStylesString.js +9 -13
  264. package/dist/theming/getStylesString.js.map +1 -0
  265. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  266. package/dist/theming/getThemeDesignerTheme.js +72 -79
  267. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  268. package/dist/theming/preloadLinks.d.ts +3 -0
  269. package/dist/theming/preloadLinks.js +13 -17
  270. package/dist/theming/preloadLinks.js.map +1 -0
  271. package/dist/thirdparty/_merge.d.ts +2 -0
  272. package/dist/thirdparty/_merge.js +7 -4
  273. package/dist/thirdparty/_merge.js.map +1 -0
  274. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  275. package/dist/thirdparty/isPlainObject.js +11 -10
  276. package/dist/thirdparty/isPlainObject.js.map +1 -0
  277. package/dist/thirdparty/merge.d.ts +2 -0
  278. package/dist/thirdparty/merge.js +4 -8
  279. package/dist/thirdparty/merge.js.map +1 -0
  280. package/dist/types/AnimationMode.d.ts +32 -0
  281. package/dist/types/AnimationMode.js +33 -6
  282. package/dist/types/AnimationMode.js.map +1 -0
  283. package/dist/types/CSSColor.d.ts +15 -0
  284. package/dist/types/CSSColor.js +14 -5
  285. package/dist/types/CSSColor.js.map +1 -0
  286. package/dist/types/CalendarType.d.ts +37 -0
  287. package/dist/types/CalendarType.js +35 -18
  288. package/dist/types/CalendarType.js.map +1 -0
  289. package/dist/types/DOMReference.d.ts +17 -0
  290. package/dist/types/DOMReference.js +25 -0
  291. package/dist/types/DOMReference.js.map +1 -0
  292. package/dist/types/DataType.d.ts +25 -0
  293. package/dist/types/DataType.js +33 -26
  294. package/dist/types/DataType.js.map +1 -0
  295. package/dist/types/Float.d.ts +17 -0
  296. package/dist/types/Float.js +17 -10
  297. package/dist/types/Float.js.map +1 -0
  298. package/dist/types/Integer.d.ts +17 -0
  299. package/dist/types/Integer.js +17 -9
  300. package/dist/types/Integer.js.map +1 -0
  301. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  302. package/dist/types/InvisibleMessageMode.js +20 -23
  303. package/dist/types/InvisibleMessageMode.js.map +1 -0
  304. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  305. package/dist/types/ItemNavigationBehavior.js +22 -12
  306. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  307. package/dist/types/NavigationMode.d.ts +32 -0
  308. package/dist/types/NavigationMode.js +33 -6
  309. package/dist/types/NavigationMode.js.map +1 -0
  310. package/dist/types/ValueState.d.ts +42 -0
  311. package/dist/types/ValueState.js +41 -19
  312. package/dist/types/ValueState.js.map +1 -0
  313. package/dist/types.d.ts +18 -0
  314. package/dist/types.js +2 -0
  315. package/dist/types.js.map +1 -0
  316. package/dist/updateShadowRoot.d.ts +8 -0
  317. package/dist/updateShadowRoot.js +25 -17
  318. package/dist/updateShadowRoot.js.map +1 -0
  319. package/dist/util/AriaLabelHelper.d.ts +15 -0
  320. package/dist/util/AriaLabelHelper.js +166 -36
  321. package/dist/util/AriaLabelHelper.js.map +1 -0
  322. package/dist/util/Caret.d.ts +7 -0
  323. package/dist/util/Caret.js +16 -38
  324. package/dist/util/Caret.js.map +1 -0
  325. package/dist/util/ColorConversion.d.ts +30 -0
  326. package/dist/util/ColorConversion.js +315 -348
  327. package/dist/util/ColorConversion.js.map +1 -0
  328. package/dist/util/FetchHelper.d.ts +3 -0
  329. package/dist/util/FetchHelper.js +19 -25
  330. package/dist/util/FetchHelper.js.map +1 -0
  331. package/dist/util/FocusableElements.d.ts +4 -0
  332. package/dist/util/FocusableElements.js +66 -72
  333. package/dist/util/FocusableElements.js.map +1 -0
  334. package/dist/util/HTMLSanitizer.d.ts +3 -0
  335. package/dist/util/HTMLSanitizer.js +4 -5
  336. package/dist/util/HTMLSanitizer.js.map +1 -0
  337. package/dist/util/InvisibleMessage.d.ts +10 -0
  338. package/dist/util/InvisibleMessage.js +42 -44
  339. package/dist/util/InvisibleMessage.js.map +1 -0
  340. package/dist/util/PopupUtils.d.ts +7 -0
  341. package/dist/util/PopupUtils.js +58 -77
  342. package/dist/util/PopupUtils.js.map +1 -0
  343. package/dist/util/SlotsHelper.d.ts +9 -0
  344. package/dist/util/SlotsHelper.js +22 -35
  345. package/dist/util/SlotsHelper.js.map +1 -0
  346. package/dist/util/StringHelper.d.ts +3 -0
  347. package/dist/util/StringHelper.js +17 -20
  348. package/dist/util/StringHelper.js.map +1 -0
  349. package/dist/util/TabbableElements.d.ts +17 -0
  350. package/dist/util/TabbableElements.js +53 -43
  351. package/dist/util/TabbableElements.js.map +1 -0
  352. package/dist/util/arraysAreEqual.d.ts +2 -0
  353. package/dist/util/arraysAreEqual.js +10 -12
  354. package/dist/util/arraysAreEqual.js.map +1 -0
  355. package/dist/util/clamp.d.ts +9 -0
  356. package/dist/util/clamp.js +2 -2
  357. package/dist/util/clamp.js.map +1 -0
  358. package/dist/util/createLinkInHead.d.ts +7 -0
  359. package/dist/util/createLinkInHead.js +14 -12
  360. package/dist/util/createLinkInHead.js.map +1 -0
  361. package/dist/util/createStyleInHead.d.ts +8 -0
  362. package/dist/util/createStyleInHead.js +10 -10
  363. package/dist/util/createStyleInHead.js.map +1 -0
  364. package/dist/util/debounce.d.ts +2 -0
  365. package/dist/util/debounce.js +6 -8
  366. package/dist/util/debounce.js.map +1 -0
  367. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  368. package/dist/util/detectNavigatorLanguage.js +7 -10
  369. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  370. package/dist/util/escapeRegex.d.ts +8 -0
  371. package/dist/util/escapeRegex.js +8 -7
  372. package/dist/util/escapeRegex.js.map +1 -0
  373. package/dist/util/formatMessage.d.ts +2 -0
  374. package/dist/util/formatMessage.js +15 -19
  375. package/dist/util/formatMessage.js.map +1 -0
  376. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  377. package/dist/util/generateHighlightedMarkup.js +26 -27
  378. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  379. package/dist/util/getActiveElement.d.ts +2 -0
  380. package/dist/util/getActiveElement.js +6 -8
  381. package/dist/util/getActiveElement.js.map +1 -0
  382. package/dist/util/getClassCopy.d.ts +398 -0
  383. package/dist/util/getClassCopy.js +7 -7
  384. package/dist/util/getClassCopy.js.map +1 -0
  385. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  386. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  387. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  388. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  389. package/dist/util/getEffectiveContentDensity.js +2 -3
  390. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  391. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  392. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  393. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  394. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  395. package/dist/util/getFastNavigationGroups.js +51 -0
  396. package/dist/util/getFastNavigationGroups.js.map +1 -0
  397. package/dist/util/getFileExtension.d.ts +12 -0
  398. package/dist/util/getFileExtension.js +9 -11
  399. package/dist/util/getFileExtension.js.map +1 -0
  400. package/dist/util/getNormalizedTarget.d.ts +7 -0
  401. package/dist/util/getNormalizedTarget.js +14 -0
  402. package/dist/util/getNormalizedTarget.js.map +1 -0
  403. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  404. package/dist/util/getSingletonElementInstance.js +7 -10
  405. package/dist/util/getSingletonElementInstance.js.map +1 -0
  406. package/dist/util/isElementClickable.d.ts +2 -0
  407. package/dist/util/isElementClickable.js +16 -0
  408. package/dist/util/isElementClickable.js.map +1 -0
  409. package/dist/util/isElementHidden.d.ts +2 -0
  410. package/dist/util/isElementHidden.js +8 -0
  411. package/dist/util/isElementHidden.js.map +1 -0
  412. package/dist/util/isElementInView.d.ts +6 -0
  413. package/dist/util/isElementInView.js +6 -9
  414. package/dist/util/isElementInView.js.map +1 -0
  415. package/dist/util/isElementTabbable.d.ts +9 -0
  416. package/dist/util/isElementTabbable.js +30 -0
  417. package/dist/util/isElementTabbable.js.map +1 -0
  418. package/dist/util/isValidPropertyName.d.ts +8 -0
  419. package/dist/util/isValidPropertyName.js +16 -17
  420. package/dist/util/isValidPropertyName.js.map +1 -0
  421. package/dist/util/whenDOMReady.d.ts +2 -0
  422. package/dist/util/whenDOMReady.js +11 -10
  423. package/dist/util/whenDOMReady.js.map +1 -0
  424. package/dist/util/willShowContent.d.ts +2 -0
  425. package/dist/util/willShowContent.js +7 -0
  426. package/dist/util/willShowContent.js.map +1 -0
  427. package/dist/validateThemeRoot.d.ts +2 -0
  428. package/dist/validateThemeRoot.js +47 -0
  429. package/dist/validateThemeRoot.js.map +1 -0
  430. package/lib/generate-asset-parameters/index.js +8 -4
  431. package/lib/generate-styles/index.js +24 -11
  432. package/lib/generate-version-info/index.js +32 -0
  433. package/package-scripts.js +34 -28
  434. package/package.json +7 -7
  435. package/src/Boot.ts +76 -0
  436. package/src/{CSP.js → CSP.ts} +14 -7
  437. package/src/CustomElementsRegistry.ts +98 -0
  438. package/src/CustomElementsScope.ts +33 -0
  439. package/src/{CustomElementsScope.js → CustomElementsScopeUtils.ts} +14 -7
  440. package/src/DOMObserver.ts +28 -0
  441. package/src/Device.ts +203 -0
  442. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  443. package/src/FeaturesRegistry.ts +14 -0
  444. package/src/{FontFace.js → FontFace.ts} +3 -2
  445. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +54 -13
  446. package/src/Keys.ts +295 -0
  447. package/src/ManagedStyles.ts +92 -0
  448. package/src/MarkedEvents.ts +20 -0
  449. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  450. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  451. package/src/{Render.js → Render.ts} +25 -20
  452. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  453. package/src/Runtimes.ts +114 -0
  454. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +33 -18
  455. package/src/{UI5Element.js → UI5Element.ts} +289 -149
  456. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +129 -59
  457. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  458. package/src/animations/animate.ts +64 -0
  459. package/src/animations/scroll.ts +21 -0
  460. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  461. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  462. package/src/asset-registries/Icons.ts +161 -0
  463. package/src/asset-registries/Illustrations.ts +75 -0
  464. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +42 -29
  465. package/src/asset-registries/Themes.ts +72 -0
  466. package/src/asset-registries/{i18n.js → i18n.ts} +21 -24
  467. package/src/assets-meta/IconCollectionsAlias.ts +41 -0
  468. package/src/config/AnimationMode.ts +33 -0
  469. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  470. package/src/config/FormatSettings.ts +35 -0
  471. package/src/config/Icons.ts +126 -0
  472. package/src/config/{Language.js → Language.ts} +22 -18
  473. package/src/config/NoConflict.ts +67 -0
  474. package/src/config/{RTL.js → RTL.ts} +18 -4
  475. package/src/config/Theme.ts +64 -0
  476. package/src/config/ThemeRoots.ts +41 -0
  477. package/src/css/BusyIndicator.css +80 -0
  478. package/src/css/FontFace.css +31 -10
  479. package/src/decorators/customElement.ts +57 -0
  480. package/src/decorators/event.ts +28 -0
  481. package/src/decorators/property.ts +30 -0
  482. package/src/decorators/slot.ts +49 -0
  483. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +65 -23
  484. package/src/delegate/ResizeHandler.ts +100 -0
  485. package/src/delegate/ScrollEnablement.ts +224 -0
  486. package/src/features/F6Navigation.ts +195 -0
  487. package/src/features/LegacyDateFormats.ts +40 -0
  488. package/src/features/OpenUI5Element.ts +11 -0
  489. package/src/features/OpenUI5Enablement.ts +117 -0
  490. package/src/features/OpenUI5Support.ts +153 -0
  491. package/src/generated/css/BusyIndicator.css.ts +9 -0
  492. package/src/generated/css/FontFace.css.ts +9 -0
  493. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  494. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  495. package/src/{getSharedResource.js → getSharedResource.ts} +13 -4
  496. package/src/global.d.ts +38 -0
  497. package/src/{i18nBundle.js → i18nBundle.ts} +44 -22
  498. package/src/locale/{Locale.js → Locale.ts} +15 -5
  499. package/src/locale/RTLAwareRegistry.ts +16 -0
  500. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  501. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  502. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  503. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  504. package/src/locale/languageChange.ts +24 -0
  505. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  506. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  507. package/src/renderer/LitRenderer.ts +60 -0
  508. package/src/renderer/executeTemplate.ts +40 -0
  509. package/src/theming/{CustomStyle.js → CustomStyle.ts} +16 -12
  510. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  511. package/src/theming/{applyTheme.js → applyTheme.ts} +22 -11
  512. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  513. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  514. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +15 -4
  515. package/src/theming/getStylesString.ts +15 -0
  516. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  517. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  518. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  519. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  520. package/src/thirdparty/merge.ts +5 -0
  521. package/src/types/AnimationMode.ts +33 -0
  522. package/src/types/{CSSColor.js → CSSColor.ts} +11 -1
  523. package/src/types/CalendarType.ts +38 -0
  524. package/src/types/DOMReference.ts +28 -0
  525. package/src/types/DataType.ts +51 -0
  526. package/src/types/Float.ts +24 -0
  527. package/src/types/Integer.ts +24 -0
  528. package/src/types/InvisibleMessageMode.ts +27 -0
  529. package/src/types/ItemNavigationBehavior.ts +26 -0
  530. package/src/types/NavigationMode.ts +33 -0
  531. package/src/types/ValueState.ts +47 -0
  532. package/src/types.ts +30 -0
  533. package/src/updateShadowRoot.ts +42 -0
  534. package/src/util/AriaLabelHelper.ts +218 -0
  535. package/src/util/Caret.ts +28 -0
  536. package/src/util/ColorConversion.ts +399 -0
  537. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  538. package/src/util/FocusableElements.ts +92 -0
  539. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  540. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +25 -14
  541. package/src/util/PopupUtils.ts +112 -0
  542. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  543. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  544. package/src/util/TabbableElements.ts +70 -0
  545. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  546. package/src/util/{clamp.js → clamp.ts} +1 -1
  547. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +10 -4
  548. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  549. package/src/util/{debounce.js → debounce.ts} +5 -4
  550. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  551. package/src/util/escapeRegex.ts +11 -0
  552. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  553. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  554. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  555. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  556. package/src/util/getEffectiveContentDensity.ts +5 -0
  557. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  558. package/src/util/getFastNavigationGroups.ts +63 -0
  559. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  560. package/src/util/getNormalizedTarget.ts +16 -0
  561. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  562. package/src/util/isElementClickable.ts +19 -0
  563. package/src/util/isElementHidden.ts +9 -0
  564. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  565. package/src/util/isElementTabbable.ts +37 -0
  566. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  567. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  568. package/src/util/willShowContent.ts +7 -0
  569. package/src/validateThemeRoot.ts +58 -0
  570. package/tsconfig.json +13 -0
  571. package/config/.eslintrc.js +0 -3
  572. package/config/rollup.config.js +0 -1
  573. package/dist/RenderScheduler.js +0 -44
  574. package/dist/animations/config.js +0 -5
  575. package/dist/isLegacyBrowser.js +0 -3
  576. package/dist/resources/bundle.esm.js +0 -37
  577. package/dist/resources/bundle.esm.js.map +0 -1
  578. package/dist/test-resources/assets/Themes.js +0 -17
  579. package/dist/test-resources/elements/Child.js +0 -35
  580. package/dist/test-resources/elements/Generic.js +0 -84
  581. package/dist/test-resources/elements/GenericExt.js +0 -26
  582. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  583. package/dist/test-resources/elements/Parent.js +0 -41
  584. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  585. package/dist/test-resources/pages/AllTestElements.html +0 -42
  586. package/dist/test-resources/pages/Configuration.html +0 -18
  587. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  588. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  589. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  590. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  591. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  592. package/dist/test-resources/pages/i18n.html +0 -33
  593. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  594. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  595. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  596. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  597. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  598. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  599. package/dist/test-resources/specs/Theming.spec.js +0 -33
  600. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  601. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  602. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  603. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  604. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  605. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  606. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  607. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  608. package/dist/types/CSSSize.js +0 -9
  609. package/dist/types/PopupState.js +0 -37
  610. package/dist/util/findNodeOwner.js +0 -35
  611. package/dist/util/isDescendantOf.js +0 -15
  612. package/dist/util/isNodeClickable.js +0 -19
  613. package/dist/util/isNodeHidden.js +0 -9
  614. package/dist/util/isNodeTabbable.js +0 -28
  615. package/dist/util/setToArray.js +0 -10
  616. package/hash.txt +0 -1
  617. package/src/Boot.js +0 -43
  618. package/src/CustomElementsRegistry.js +0 -39
  619. package/src/DOMObserver.js +0 -65
  620. package/src/Device.js +0 -113
  621. package/src/FeaturesRegistry.js +0 -11
  622. package/src/Keys.js +0 -248
  623. package/src/ManagedStyles.js +0 -83
  624. package/src/RenderScheduler.js +0 -44
  625. package/src/animations/animate.js +0 -53
  626. package/src/animations/config.js +0 -5
  627. package/src/animations/scroll.js +0 -28
  628. package/src/asset-registries/Icons.js +0 -139
  629. package/src/asset-registries/Illustrations.js +0 -30
  630. package/src/asset-registries/Themes.js +0 -78
  631. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  632. package/src/config/AnimationMode.js +0 -23
  633. package/src/config/FormatSettings.js +0 -13
  634. package/src/config/NoConflict.js +0 -51
  635. package/src/config/Theme.js +0 -42
  636. package/src/delegate/ResizeHandler.js +0 -106
  637. package/src/delegate/ScrollEnablement.js +0 -188
  638. package/src/features/OpenUI5Support.js +0 -125
  639. package/src/isLegacyBrowser.js +0 -3
  640. package/src/locale/RTLAwareRegistry.js +0 -14
  641. package/src/locale/languageChange.js +0 -22
  642. package/src/renderer/LitRenderer.js +0 -34
  643. package/src/renderer/executeTemplate.js +0 -17
  644. package/src/theming/getEffectiveLinksHrefs.js +0 -20
  645. package/src/theming/getStylesString.js +0 -15
  646. package/src/thirdparty/merge.js +0 -10
  647. package/src/types/AnimationMode.js +0 -7
  648. package/src/types/CSSSize.js +0 -9
  649. package/src/types/CalendarType.js +0 -22
  650. package/src/types/DataType.js +0 -37
  651. package/src/types/Float.js +0 -14
  652. package/src/types/Integer.js +0 -13
  653. package/src/types/InvisibleMessageMode.js +0 -30
  654. package/src/types/ItemNavigationBehavior.js +0 -16
  655. package/src/types/NavigationMode.js +0 -7
  656. package/src/types/PopupState.js +0 -37
  657. package/src/types/ValueState.js +0 -22
  658. package/src/updateShadowRoot.js +0 -30
  659. package/src/util/AriaLabelHelper.js +0 -41
  660. package/src/util/Caret.js +0 -45
  661. package/src/util/ColorConversion.js +0 -370
  662. package/src/util/FocusableElements.js +0 -77
  663. package/src/util/PopupUtils.js +0 -93
  664. package/src/util/TabbableElements.js +0 -47
  665. package/src/util/escapeRegex.js +0 -10
  666. package/src/util/findNodeOwner.js +0 -35
  667. package/src/util/getEffectiveContentDensity.js +0 -5
  668. package/src/util/isDescendantOf.js +0 -15
  669. package/src/util/isNodeClickable.js +0 -19
  670. package/src/util/isNodeHidden.js +0 -9
  671. package/src/util/isNodeTabbable.js +0 -28
  672. package/src/util/setToArray.js +0 -10
  673. /package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  674. /package/src/{StaticArea.js → StaticArea.ts} +0 -0
  675. /package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  676. /package/src/{Theming.js → Theming.ts} +0 -0
  677. /package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
@@ -0,0 +1,63 @@
1
+ let groups: Array<HTMLElement> = [];
2
+
3
+ const isFastNavGroupElemenet = (el: HTMLElement) => {
4
+ return el.getAttribute("data-sap-ui-fastnavgroup") === "true";
5
+ };
6
+
7
+ const isElementVisible = (el: HTMLElement) => {
8
+ const style = window.getComputedStyle(el);
9
+
10
+ return style.width !== "0px"
11
+ && style.height !== "0px"
12
+ && style.opacity !== "0"
13
+ && style.display !== "none"
14
+ && style.visibility !== "hidden";
15
+ };
16
+
17
+ const findFastNavigationGroups = (container: HTMLElement, startFromContainer?: boolean) => {
18
+ let child,
19
+ assignedElements,
20
+ index = 0;
21
+
22
+ if (!isElementVisible(container)) {
23
+ return;
24
+ }
25
+
26
+ if (isFastNavGroupElemenet(container)) {
27
+ groups.push(container);
28
+ }
29
+
30
+ if (container.shadowRoot) {
31
+ child = container.shadowRoot.firstChild;
32
+ } else if (container instanceof HTMLSlotElement && container.assignedNodes()) {
33
+ assignedElements = container.assignedNodes();
34
+ child = assignedElements[0];
35
+ } else if (startFromContainer) {
36
+ child = container;
37
+ } else {
38
+ child = container.firstElementChild;
39
+ }
40
+
41
+ while (child) {
42
+ const originalChild: HTMLElement = child as HTMLElement;
43
+ if (!child) {
44
+ return;
45
+ }
46
+
47
+ if (child.nodeType === 1) {
48
+ findFastNavigationGroups(child as HTMLElement, false);
49
+ }
50
+
51
+ child = assignedElements && assignedElements.length ? assignedElements[++index] : originalChild.nextElementSibling;
52
+ }
53
+ };
54
+
55
+ const getFastNavigationGroups = (container: HTMLElement) => {
56
+ groups = [];
57
+
58
+ findFastNavigationGroups(container, true);
59
+
60
+ return groups;
61
+ };
62
+
63
+ export default getFastNavigationGroups;
@@ -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 o=()=>{const t=navigator.languages;return t&&t[0]||navigator.language||navigator.userLanguage||navigator.browserLanguage||s},a={},r=a.hasOwnProperty,c=a.toString,l=r.toString,d=l.call(Object),u=function(t){var e,s;return!(!t||"[object Object]"!==c.call(t))&&(!(e=Object.getPrototypeOf(t))||"function"==typeof(s=r.call(e,"constructor")&&e.constructor)&&l.call(s)===d)},h=Object.create(null),p=function(){var t,e,s,n,i,o,a=arguments[2]||{},r=3,c=arguments.length,l=arguments[0]||!1,d=arguments[1]?void 0:h;for("object"!=typeof a&&"function"!=typeof a&&(a={});r<c;r++)if(null!=(i=arguments[r]))for(n in i)t=a[n],s=i[n],"__proto__"!==n&&a!==s&&(l&&s&&(u(s)||(e=Array.isArray(s)))?(e?(e=!1,o=t&&Array.isArray(t)?t:[]):o=t&&u(t)?t:{},a[n]=p(l,arguments[1],o,s)):s!==d&&(a[n]=s));return a},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 v=!1,y={animationMode:"full",theme:e,rtl:null,language:null,calendarType:null,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const _=new Map;_.set("true",!0),_.set("false",!1);const w=(t,e,s)=>{const n=e.toLowerCase(),i=t.split(`${s}-`)[1];_.has(e)&&(e=_.get(n)),e=((t,e)=>"theme"===t&&e.includes("@")?e.split("@")[0]:e)(i,e),y[i]=e},A=()=>{v||((()=>{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&&(y=g(y,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();y=g(y,e)})(),v=!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 S=new b,$=t=>{S.attachEvent("languageChange",t)};const E=t=>{const e=[];return t.forEach((t=>{e.push(t)})),e},C=new Set,M=new Set;let L;const O=t=>{C.add(t)},T=()=>{console.warn(`The following tags have already been defined by a different UI5 Web Components version: ${E(M).join(", ")}`),M.clear()},P=new Set,x=new Set,I=new b,N=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 D,k,R,U;const j=async t=>{N.add(t),await B()},H=t=>{I.fireEvent("beforeComponentRender",t),x.add(t),t._render()},B=async()=>{U||(U=new Promise((t=>{window.requestAnimationFrame((()=>{N.process(H),U=null,t(),R||(R=setTimeout((()=>{R=void 0,N.isEmpty()&&Z()}),200))}))}))),await U},V=()=>{const t=E(C).map((t=>customElements.whenDefined(t)));return Promise.all(t)},z=async()=>{await V(),await(D||(D=new Promise((t=>{k=t,window.requestAnimationFrame((()=>{N.isEmpty()&&(D=void 0,t())}))})),D))},Z=()=>{N.isEmpty()&&k&&(k(),k=void 0,D=void 0)},F=async t=>{x.forEach((e=>{const s=e.constructor.getMetadata().getTag(),n=(i=e.constructor,P.has(i));var i;const o=e.constructor.getMetadata().isLanguageAware(),a=e.constructor.getMetadata().isThemeAware();(!t||t.tag===s||t.rtlAware&&n||t.languageAware&&o||t.themeAware&&a)&&j(e)})),await z()};let W,q;const G=()=>(void 0===W&&(A(),W=y.language),W),K=()=>{var t;return void 0===q&&(A(),t=y.fetchDefaultLanguage,q=t),q},J=/^((?:[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 Y{constructor(t){const e=J.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 X=new Map,Q=t=>(X.has(t)||X.set(t,new Y(t)),X.get(t)),tt=t=>{try{if(t&&"string"==typeof t)return Q(t)}catch(t){}},et=t=>t?tt(t):G()?Q(G()):tt(o()),st=/^((?:[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,nt=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,it={he:"iw",yi:"ji",id:"in",sr:"sh"},ot=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:""},at=new Set,rt=new Set,ct=new Map,lt=new Map,dt=new Map,ut=(t,e)=>{ct.set(t,e)},ht=(t,e)=>{const s=`${t}/${e}`;return dt.has(s)},pt=async t=>{const e=et().getLanguage(),i=et().getRegion();let o=(t=>{let e;if(!t)return n;if("string"==typeof t&&(e=st.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,o=e[6];return t=it[t]||t,o&&(e=nt.exec(o))||i&&(e=nt.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(;o!==s&&!ht(t,o);)o=ot(o);const a=K();if(o!==s||a)if(ht(t,o))try{const e=await((t,e)=>{const s=`${t}/${e}`,n=dt.get(s);return lt.get(s)||lt.set(s,n(e)),lt.get(s)})(t,o);ut(t,e)}catch(t){rt.has(t.message)||(rt.add(t.message),console.error(t.message))}else(t=>{at.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.`),at.add(t))})(t);else ut(t,null)};$((()=>{const t=[...ct.keys()];return Promise.all(t.map(pt))}));const gt=new Map,ft=new Map,mt=new Map,vt=new Set;let yt=!1;const _t={iw:"he",ji:"yi",in:"id",sh:"sr"},wt=t=>{yt||(console.warn(`[LocaleData] Supported locale "${t}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),yt=!0)},At=(t,e)=>{gt.set(t,e)},bt=async(t,e,s)=>{const o=((t,e,s)=>{"no"===(t=t&&_t[t]||t)&&(t="nb"),"zh"!==t||e||("Hans"===s?e="CN":"Hant"===s&&(e="TW"));let o=`${t}_${e}`;return i.includes(o)?ft.has(o)?o:(wt(o),n):(o=t,i.includes(o)?ft.has(o)?o:(wt(o),n):n)})(t,e,s),a=m("OpenUI5Support");if(a){const t=a.getLocaleDataObject();if(t)return void At(o,t)}try{const t=await(t=>{const e=ft.get(t);return mt.get(t)||mt.set(t,e(t)),mt.get(t)})(o);At(o,t)}catch(t){vt.has(t.message)||(vt.add(t.message),console.error(t.message))}};var St,$t;St="en",$t=async t=>(await fetch("https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/en.json")).json(),ft.set(St,$t),$((()=>{const t=et();return bt(t.getLanguage(),t.getRegion(),t.getScript())}));const Et=new Map,Ct=new Map,Mt=new Set,Lt=new Set,Ot=(t,e,s)=>{Ct.set(`${t}/${e}`,s),Mt.add(t),Lt.add(e)},Tt=async(t,s)=>{const n=Et.get(`${t}_${s}`);if(void 0!==n)return n;if(!Lt.has(s)){const s=[...Lt.values()].join(", ");return console.warn(`You have requested a non-registered theme - falling back to ${e}. Registered themes are: ${s}`),Et.get(`${t}_${e}`)}const i=Ct.get(`${t}/${s}`);if(!i)return void console.error(`Theme [${s}] not registered for package [${t}]`);let o;try{o=await i(s)}catch(e){return void console.error(t,e.message)}const a=o._||o;return Et.set(`${t}_${s}`,a),a},Pt=()=>Mt,xt=(t,e=document.body)=>{let s=document.querySelector(t);return s||(s=document.createElement(t),e.insertBefore(s,e.firstChild))},It=(t,e)=>{const s=t.split(".");let n=xt("ui5-shared-resources",document.head);for(let t=0;t<s.length;t++){const i=s[t],o=t===s.length-1;Object.prototype.hasOwnProperty.call(n,i)||(n[i]=o?e:{}),n=n[i]}return n},Nt={"SAP-icons-TNT":"tnt",BusinessSuiteInAppSymbols:"business-suite",horizon:"SAP-icons-v5"},Dt=(t,e)=>e?`${t}|${e}`:t,kt=(t,e,s="")=>{const n="string"==typeof t?t:t.content;if(document.adoptedStyleSheets){const t=new CSSStyleSheet;t.replaceSync(n),t._ui5StyleId=Dt(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)}},Rt=(t,e="")=>document.adoptedStyleSheets?!!document.adoptedStyleSheets.find((s=>s._ui5StyleId===Dt(t,e))):!!document.querySelector(`head>style[${t}="${e}"]`),Ut=(t,e,s="")=>{Rt(e,s)?((t,e,s="")=>{const n="string"==typeof t?t:t.content;document.adoptedStyleSheets?document.adoptedStyleSheets.find((t=>t._ui5StyleId===Dt(e,s))).replaceSync(n||""):document.querySelector(`head>style[${e}="${s}"]`).textContent=n||""})(t,e,s):kt(t,e,s)},jt=new Set,Ht=()=>{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(jt.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),jt.add("decode")))}try{return JSON.parse(t)}catch(t){jt.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),jt.add("parse"))}}})(t);return(t=>{let e,s;try{e=t.Path.match(/\.([^.]+)\.css_variables$/)[1],s=t.Extends[0]}catch(e){return void(jt.has("object")||(console.warn("Malformed theme metadata Object",t),jt.add("object")))}return{themeName:e,baseThemeName:s}})(e)},Bt=new b,Vt="@ui5/webcomponents-theming",zt=async t=>{if(!Pt().has(Vt))return;const e=await Tt(Vt,t);e&&Ut(e,"data-ui5-theme-properties",Vt)},Zt=()=>{((t,e="")=>{if(document.adoptedStyleSheets)document.adoptedStyleSheets=document.adoptedStyleSheets.filter((s=>s._ui5StyleId!==Dt(t,e)));else{const s=document.querySelector(`head > style[${t}="${e}"]`);s&&s.parentElement.removeChild(s)}})("data-ui5-theme-properties",Vt)},Ft=async t=>{const e=(()=>{const t=Ht();if(t)return t;const e=m("OpenUI5Support");if(e&&e.cssVariablesLoaded())return{themeName:e.getConfigurationSettingsObject().theme}})();e&&t===e.themeName?Zt():await zt(t);const s=(t=>Lt.has(t))(t)?t:e&&e.baseThemeName;await(async t=>{Pt().forEach((async e=>{if(e===Vt)return;const s=await Tt(e,t);s&&Ut(s,"data-ui5-theme-properties",e)}))})(s),(t=>{Bt.fireEvent("themeLoaded",t)})(t)};let Wt;const qt=()=>(void 0===Wt&&(A(),Wt=y.theme),Wt),Gt=async t=>{Wt!==t&&(Wt=t,await Ft(Wt),await F({themeAware:!0}))},Kt=new Map,Jt=It("SVGIcons.registry",new Map),Yt=It("SVGIcons.promises",new Map),Xt=(t,{pathData:e,ltr:s,accData:n,collection:i,packageName:o}={})=>{i||(i=te());const a=`${i}/${t}`;Jt.set(a,{pathData:e,ltr:s,accData:n,packageName:o})},Qt=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||te(),e=ee(e),{name:t=t.replace("icon-",""),collection:e,registryKey:`${e}/${t}`}})(t);let n="ICON_NOT_FOUND";try{n=await(async t=>{if(!Yt.has(t)){if(!Kt.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=Kt.get(t);Yt.set(t,e(t))}return Yt.get(t)})(e)}catch(t){console.error(t.message)}return"ICON_NOT_FOUND"===n?n:(Jt.has(s)||(t=>{Object.keys(t.data).forEach((e=>{const s=t.data[e];Xt(e,{pathData:s.path,ltr:s.ltr,accData:s.acc,collection:t.collection,packageName:t.packageName})}))})(n),Jt.get(s))},te=()=>(t=>{const e=qt();return e===t||e===`${t}_exp`})("sap_horizon")?"SAP-icons-v5":"SAP-icons",ee=t=>Nt[t]?Nt[t]:t,se=It("PopupUtilsData",{});se.currentZIndex=se.currentZIndex||100;const ne=()=>se.currentZIndex,ie=()=>{const t=window.sap;return t&&t.ui&&"function"==typeof t.ui.getCore&&t.ui.getCore()};var oe,ae;oe="OpenUI5Support",ae={isLoaded:()=>!!ie(),init:()=>{const t=ie();return t?new Promise((e=>{t.attachInit((()=>{window.sap.ui.require(["sap/ui/core/LocaleData","sap/ui/core/Popup"],((t,s)=>{s.setInitialZIndex(ne()),e()}))}))})):Promise.resolve()},getConfigurationSettingsObject:()=>{const t=ie();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=ie();if(!t)return;const e=t.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(e.getLocale())._get()},attachListeners:()=>{ie()&&(()=>{const t=ie(),e=t.getConfiguration();t.attachThemeChanged((async()=>{await Gt(e.getTheme())}))})()},cssVariablesLoaded:()=>{if(!ie())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(!ie())return;return window.sap.ui.require("sap/ui/core/Popup").getNextZIndex()},setInitialZIndex:()=>{if(!ie())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex(ne())}},f.set(oe,ae);var re={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")}'},ce={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 le=()=>{Rt("data-ui5-font-face")||kt(re,"data-ui5-font-face")},de=()=>{Rt("data-ui5-font-face-override")||kt(ce,"data-ui5-font-face-override")};var ue={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 he=!1;const pe=new b,ge=async()=>{if(he)return;const t=m("OpenUI5Support");t&&await t.init(),await new Promise((t=>{document.body?t():document.addEventListener("DOMContentLoaded",(()=>{t()}))})),await Ft(qt()),t&&t.attachListeners(),(()=>{const t=m("OpenUI5Support");t&&t.isLoaded()||le(),de()})(),Rt("data-ui5-system-css-vars")||kt(ue,"data-ui5-system-css-vars"),await pe.fireEventAsync("boot"),he=!0};class fe{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 me=(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},ve=new Map,ye=new Map,_e=t=>{if(!ve.has(t)){const e=Ae(t.split("-"));ve.set(t,e)}return ve.get(t)},we=t=>{if(!ye.has(t)){const e=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();ye.set(t,e)}return ye.get(t)},Ae=t=>t.map(((t,e)=>0===e?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())).join(""),be=t=>t&&t instanceof HTMLElement&&"slot"===t.localName,Se=t=>be(t)?t.assignedNodes({flatten:!0}).filter((t=>t instanceof HTMLElement)):[t];let $e={include:[/^ui5-/],exclude:[]};const Ee=new Map,Ce=t=>{if(!Ee.has(t)){const e=$e.include.some((e=>t.match(e)))&&!$e.exclude.some((e=>t.match(e)));Ee.set(t,e)}return Ee.get(t)},Me=t=>{Ce(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=>Oe(t,e))):Oe(t,e)}static validateSlotValue(t,e){return Te(t,e)}getPureTag(){return this.metadata.tag}getTag(){const t=this.metadata.tag,e=Me(t);return e?`${t}-${e}`:t}getAltTag(){const t=this.metadata.altTag;if(!t)return;const e=Me(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(we)}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}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 Oe=(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:me(s,fe)?s.isValid(t)?t:e.defaultValue:void 0},Te=(t,e)=>(t&&Se(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 Pe=It("CustomStyle.eventProvider",new b),xe=t=>{Pe.attachEvent("CustomCSSChange",t)},Ie=It("CustomStyle.customCSSFor",{});xe((t=>{F({tag:t})}));const Ne=t=>Array.isArray(t)?De(t.filter((t=>!!t))).map((t=>"string"==typeof t?t:t.content)).join(" "):"string"==typeof t?t:t.content,De=t=>t.reduce(((t,e)=>t.concat(Array.isArray(e)?De(e):e)),[]),ke=new Map;xe((t=>{ke.delete(`${t}_normal`)}));const Re=(t,e=!1)=>{const s=t.getMetadata().getTag(),n=`${s}_${e?"static":"normal"}`;if(!ke.has(n)){let i;if(e)i=Ne(t.staticAreaStyles);else{const e=(t=>Ie[t]?Ie[t].join(""):"")(s)||"";i=`${Ne(t.styles)} ${e}`}ke.set(n,i)}return ke.get(n)},Ue=new Map;xe((t=>{Ue.delete(`${t}_normal`)}));const je=(t,e=!1)=>{let s;const n=e?"staticAreaTemplate":"template",i=e?t.staticAreaItem.shadowRoot:t.shadowRoot,o=((t,e)=>{const s=e.constructor.getUniqueDependencies().map((t=>t.getMetadata().getPureTag())).filter(Ce);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(!Ue.has(s)){const n=Re(t,e),i=new CSSStyleSheet;i.replaceSync(n),Ue.set(s,[i])}return Ue.get(s)})(t.constructor,e):window.ShadyDOM||(s=Re(t.constructor,e)),t.constructor.render(o,i,s,{host:t})};const He={iw:"he",ji:"yi",in:"id",sh:"sr"},Be=(t=>{const e=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(t);return e&&e[2]?e[2].split(/,/):null})("$cldr-rtl-locales:ar,fa,he$")||[],Ve=()=>{const t=(A(),y.rtl);return null!==t?!!t:(t=>(t=t&&He[t]||t,Be.indexOf(t)>=0))(G()||o())},ze=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:Ve()?"rtl":void 0};class Ze extends HTMLElement{constructor(){super(),this._rendered=!1,this.attachShadow({mode:"open"})}setOwnerElement(t){this.ownerElement=t,this.classList.add(this.ownerElement._id)}update(){this._rendered&&(this._updateContentDensity(),this._updateDirection(),je(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=ze(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}async getDomRef(){return this._updateContentDensity(),this._rendered||(this._rendered=!0,je(this.ownerElement,!0)),await z(),this.shadowRoot}static getTag(){const t="ui5-static-area-item",e=Me(t);return e?`${t}-${e}`:t}static createInstance(){return customElements.get(Ze.getTag())||customElements.define(Ze.getTag(),Ze),document.createElement(this.getTag())}}const Fe=new WeakMap;const We=(t,e,s)=>{const n=((t,e,s)=>{const n=new MutationObserver(e);return n.observe(t,s),n})(t,e,s);Fe.set(t,n)},qe=["value-changed"];let Ge;const Ke=()=>(void 0===Ge&&(A(),Ge=y.noConflict),Ge),Je=t=>{const e=Ke();return!(t=>qe.includes(t))(t)&&(!0===e||!(t=>{const e=Ke();return!(e.events&&e.events.includes&&e.events.includes(t))})(t))},Ye=["disabled","title","hidden","role","draggable"],Xe=t=>{if(Ye.includes(t)||t.startsWith("aria"))return!0;return![HTMLElement,Element,Node].some((e=>e.prototype.hasOwnProperty(t)))},Qe=(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},ts=(t,e)=>class extends t{constructor(){super(),e&&e()}};var es;es=function(){function t(t){var e=!0,s=!1,n=null,i={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function o(t){return!!(t&&t!==document&&"HTML"!==t.nodeName&&"BODY"!==t.nodeName&&"classList"in t&&"contains"in t.classList)}function a(t){t.classList.contains("focus-visible")||(t.classList.add("focus-visible"),t.setAttribute("data-focus-visible-added",""))}function r(t){e=!1}function c(){document.addEventListener("mousemove",l),document.addEventListener("mousedown",l),document.addEventListener("mouseup",l),document.addEventListener("pointermove",l),document.addEventListener("pointerdown",l),document.addEventListener("pointerup",l),document.addEventListener("touchmove",l),document.addEventListener("touchstart",l),document.addEventListener("touchend",l)}function l(t){t.target.nodeName&&"html"===t.target.nodeName.toLowerCase()||(e=!1,document.removeEventListener("mousemove",l),document.removeEventListener("mousedown",l),document.removeEventListener("mouseup",l),document.removeEventListener("pointermove",l),document.removeEventListener("pointerdown",l),document.removeEventListener("pointerup",l),document.removeEventListener("touchmove",l),document.removeEventListener("touchstart",l),document.removeEventListener("touchend",l))}document.addEventListener("keydown",(function(s){s.metaKey||s.altKey||s.ctrlKey||(o(t.activeElement)&&a(t.activeElement),e=!0)}),!0),document.addEventListener("mousedown",r,!0),document.addEventListener("pointerdown",r,!0),document.addEventListener("touchstart",r,!0),document.addEventListener("visibilitychange",(function(t){"hidden"===document.visibilityState&&(s&&(e=!0),c())}),!0),c(),t.addEventListener("focus",(function(t){var s,n,r;o(t.target)&&(e||(s=t.target,n=s.type,"INPUT"===(r=s.tagName)&&i[n]&&!s.readOnly||"TEXTAREA"===r&&!s.readOnly||s.isContentEditable))&&a(t.target)}),!0),t.addEventListener("blur",(function(t){var e;o(t.target)&&(t.target.classList.contains("focus-visible")||t.target.hasAttribute("data-focus-visible-added"))&&(s=!0,window.clearTimeout(n),n=window.setTimeout((function(){s=!1}),100),(e=t.target).hasAttribute("data-focus-visible-added")&&(e.classList.remove("focus-visible"),e.removeAttribute("data-focus-visible-added")))}),!0),t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host?t.host.setAttribute("data-js-focus-visible",""):t.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if("undefined"!=typeof window&&"undefined"!=typeof document){var e;window.applyFocusVisiblePolyfill=t;try{e=new CustomEvent("focus-visible-polyfill-ready")}catch(t){(e=document.createEvent("CustomEvent")).initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(e)}"undefined"!=typeof document&&t(document)},"object"==typeof exports&&"undefined"!=typeof module?es():"function"==typeof define&&define.amd?define(es):es();let ss=0;const ns=new Map,is=new Map;function os(t){this._suppressInvalidation||(this.onInvalidation(t),this._changedState.push(t),j(this),this._eventProvider.fireEvent("invalidate",{...t,target:this}))}class as 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_"+ ++ss),this.__id}async connectedCallback(){this.setAttribute(this.constructor.getMetadata().getPureTag(),"");const t=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!0,t&&(this._startObservingDOMChildren(),await this._processChildren()),this._inDOM&&(H(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,N.remove(e),x.delete(e)}_startObservingDOMChildren(){if(!this.constructor.getMetadata().hasSlots())return;const t=this.constructor.getMetadata().canSlotText(),e={childList:!0,subtree:t,characterData:t};We(this,this._processChildren.bind(this),e)}_stopObservingDOMChildren(){(t=>{const e=Fe.get(t);e&&((t=>{t.disconnect()})(e),Fe.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 o=new Map,a=new Map,r=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=(o.get(n)||0)+1;o.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=ns.get(t);s||(s=new Promise((t=>setTimeout(t,1e3))),ns.set(t,s)),await Promise.race([e,s])}window.customElements.upgrade(e)}}(e=this.constructor.getMetadata().constructor.validateSlotValue(e,i)).isUI5Element&&i.invalidateOnChildChange&&e.attachInvalidate(this._getChildChangeListener(n)),be(e)&&this._attachSlotChange(e,n);const r=i.propertyName||n;a.has(r)?a.get(r).push({child:e,idx:s}):a.set(r,[{child:e,idx:s}])}));await Promise.all(r),a.forEach(((t,e)=>{this._state[e]=t.sort(((t,e)=>t.idx-e.idx)).map((t=>t.child))}));let c=!1;for(const[e,s]of Object.entries(t)){const t=s.propertyName||e;Qe(n.get(t),this._state[t])||(os.call(this,{type:"slot",name:i.get(t),reason:"children"}),c=!0)}c||os.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const s=e.propertyName||t;this._state[s].forEach((e=>{e&&e.isUI5Element&&e.detachInvalidate(this._getChildChangeListener(t)),be(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)&&os.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-/,""),o=_e(i);if(n.hasOwnProperty(o)){const t=n[o].type;t===Boolean?s=null!==s:me(t,fe)&&(s=t.attributeToProperty(s)),this[o]=s}}_updateAttribute(t,e){if(!this.constructor.getMetadata().hasAttribute(t))return;const s=this.constructor.getMetadata().getProperties()[t].type,n=we(t),i=this.getAttribute(n);s===Boolean?!0===e&&null===i?this.setAttribute(n,""):!1===e&&null!==i&&this.removeAttribute(n):me(s,fe)?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){os.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()&&je(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),o=_e(t);return o!==t?i&&this._fireEvent(o,e,s):i}_fireEvent(t,e,s=!1,n=!0){const i=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:n,cancelable:s}),o=this.dispatchEvent(i);if(Je(t))return o;const a=new CustomEvent(t,{detail:e,composed:!1,bubbles:n,cancelable:s});return this.dispatchEvent(a)&&o}getSlottedNodes(t){return this[t].reduce(((t,e)=>t.concat(Se(e))),[])}get effectiveDir(){var t;return t=this.constructor,P.add(t),ze(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=Ze.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||xt("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(Xe(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?!Qe(i,t):me(n.type,fe)?!n.type.valuesAreEqual(i,t):i!==t,s&&(this._state[e]=t,os.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)){Xe(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(!is.has(this)){const t=this.dependencies.filter(((t,e,s)=>s.indexOf(t)===e));is.set(this,t)}return is.get(this)}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map((t=>t.define())))}static async onDefine(){return Promise.resolve()}static async define(){await ge(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),e=this.getMetadata().getAltTag(),s=(t=>C.has(t))(t),n=customElements.get(t);return n&&!s?(t=>{M.add(t),L||(L=setTimeout((()=>{T(),L=void 0}),1e3))})(t):n||(this._generateAccessors(),O(t),window.customElements.define(t,this),e&&!customElements.get(e)&&(O(e),window.customElements.define(e,ts(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!==as;)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 rs;const cs=globalThis.trustedTypes,ls=cs?cs.createPolicy("lit-html",{createHTML:t=>t}):void 0,ds=`lit$${(Math.random()+"").slice(9)}$`,us="?"+ds,hs=`<${us}>`,ps=document,gs=(t="")=>ps.createComment(t),fs=t=>null===t||"object"!=typeof t&&"function"!=typeof t,ms=Array.isArray,vs=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ys=/-->/g,_s=/>/g,ws=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,As=/'/g,bs=/"/g,Ss=/^(?:script|style|textarea)$/i,$s=(t=>(e,...s)=>({_$litType$:t,strings:e,values:s}))(1),Es=Symbol.for("lit-noChange"),Cs=Symbol.for("lit-nothing"),Ms=new WeakMap,Ls=ps.createTreeWalker(ps,129,null,!1),Os=(t,e)=>{const s=t.length-1,n=[];let i,o=2===e?"<svg>":"",a=vs;for(let e=0;e<s;e++){const s=t[e];let r,c,l=-1,d=0;for(;d<s.length&&(a.lastIndex=d,c=a.exec(s),null!==c);)d=a.lastIndex,a===vs?"!--"===c[1]?a=ys:void 0!==c[1]?a=_s:void 0!==c[2]?(Ss.test(c[2])&&(i=RegExp("</"+c[2],"g")),a=ws):void 0!==c[3]&&(a=ws):a===ws?">"===c[0]?(a=null!=i?i:vs,l=-1):void 0===c[1]?l=-2:(l=a.lastIndex-c[2].length,r=c[1],a=void 0===c[3]?ws:'"'===c[3]?bs:As):a===bs||a===As?a=ws:a===ys||a===_s?a=vs:(a=ws,i=void 0);const u=a===ws&&t[e+1].startsWith("/>")?" ":"";o+=a===vs?s+hs:l>=0?(n.push(r),s.slice(0,l)+"$lit$"+s.slice(l)+ds+u):s+ds+(-2===l?(n.push(void 0),e):u)}const r=o+(t[s]||"<?>")+(2===e?"</svg>":"");return[void 0!==ls?ls.createHTML(r):r,n]};class Ts{constructor({strings:t,_$litType$:e},s){let n;this.parts=[];let i=0,o=0;const a=t.length-1,r=this.parts,[c,l]=Os(t,e);if(this.el=Ts.createElement(c,s),Ls.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=Ls.nextNode())&&r.length<a;){if(1===n.nodeType){if(n.hasAttributes()){const t=[];for(const e of n.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(ds)){const s=l[o++];if(t.push(e),void 0!==s){const t=n.getAttribute(s.toLowerCase()+"$lit$").split(ds),e=/([.?@])?(.*)/.exec(s);r.push({type:1,index:i,name:e[2],strings:t,ctor:"."===e[1]?Ds:"?"===e[1]?ks:"@"===e[1]?Rs:Ns})}else r.push({type:6,index:i})}for(const e of t)n.removeAttribute(e)}if(Ss.test(n.tagName)){const t=n.textContent.split(ds),e=t.length-1;if(e>0){n.textContent=cs?cs.emptyScript:"";for(let s=0;s<e;s++)n.append(t[s],gs()),Ls.nextNode(),r.push({type:2,index:++i});n.append(t[e],gs())}}}else if(8===n.nodeType)if(n.data===us)r.push({type:2,index:i});else{let t=-1;for(;-1!==(t=n.data.indexOf(ds,t+1));)r.push({type:7,index:i}),t+=ds.length-1}i++}}static createElement(t,e){const s=ps.createElement("template");return s.innerHTML=t,s}}function Ps(t,e,s=t,n){var i,o,a,r;if(e===Es)return e;let c=void 0!==n?null===(i=s._$Cl)||void 0===i?void 0:i[n]:s._$Cu;const l=fs(e)?void 0:e._$litDirective$;return(null==c?void 0:c.constructor)!==l&&(null===(o=null==c?void 0:c._$AO)||void 0===o||o.call(c,!1),void 0===l?c=void 0:(c=new l(t),c._$AT(t,s,n)),void 0!==n?(null!==(a=(r=s)._$Cl)&&void 0!==a?a:r._$Cl=[])[n]=c:s._$Cu=c),void 0!==c&&(e=Ps(t,c._$AS(t,e.values),c,n)),e}class xs{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:ps).importNode(s,!0);Ls.currentNode=i;let o=Ls.nextNode(),a=0,r=0,c=n[0];for(;void 0!==c;){if(a===c.index){let e;2===c.type?e=new Is(o,o.nextSibling,this,t):1===c.type?e=new c.ctor(o,c.name,c.strings,this,t):6===c.type&&(e=new Us(o,this,t)),this.v.push(e),c=n[++r]}a!==(null==c?void 0:c.index)&&(o=Ls.nextNode(),a++)}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 Is{constructor(t,e,s,n){var i;this.type=2,this._$AH=Cs,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=Ps(this,t,e),fs(t)?t===Cs||null==t||""===t?(this._$AH!==Cs&&this._$AR(),this._$AH=Cs):t!==this._$AH&&t!==Es&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):(t=>{var e;return ms(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!==Cs&&fs(this._$AH)?this._$AA.nextSibling.data=t:this.S(ps.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=Ts.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 xs(i,this),e=t.p(this.options);t.m(s),this.S(e),this._$AH=t}}_$AC(t){let e=Ms.get(t.strings);return void 0===e&&Ms.set(t.strings,e=new Ts(t)),e}M(t){ms(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 Is(this.A(gs()),this.A(gs()),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 Ns{constructor(t,e,s,n,i){this.type=1,this._$AH=Cs,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=Cs}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,s,n){const i=this.strings;let o=!1;if(void 0===i)t=Ps(this,t,e,0),o=!fs(t)||t!==this._$AH&&t!==Es,o&&(this._$AH=t);else{const n=t;let a,r;for(t=i[0],a=0;a<i.length-1;a++)r=Ps(this,n[s+a],e,a),r===Es&&(r=this._$AH[a]),o||(o=!fs(r)||r!==this._$AH[a]),r===Cs?t=Cs:t!==Cs&&(t+=(null!=r?r:"")+i[a+1]),this._$AH[a]=r}o&&!n&&this.k(t)}k(t){t===Cs?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class Ds extends Ns{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===Cs?void 0:t}}class ks extends Ns{constructor(){super(...arguments),this.type=4}k(t){t&&t!==Cs?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name)}}class Rs extends Ns{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=Ps(this,t,e,0))&&void 0!==s?s:Cs)===Es)return;const n=this._$AH,i=t===Cs&&n!==Cs||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,o=t!==Cs&&(n===Cs||i);i&&this.element.removeEventListener(this.name,this,n),o&&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 Us{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){Ps(this,t)}}const js=window.litHtmlPolyfillSupport;null==js||js(Ts,Is),(null!==(rs=globalThis.litHtmlVersions)&&void 0!==rs?rs:globalThis.litHtmlVersions=[]).push("2.0.1");
7
- /**
8
- * @license
9
- * Copyright 2020 Google LLC
10
- * SPDX-License-Identifier: BSD-3-Clause
11
- */
12
- const Hs=new Map,Bs=(t=>(e,...s)=>{var n;const i=s.length;let o,a;const r=[],c=[];let l,d=0,u=!1;for(;d<i;){for(l=e[d];d<i&&void 0!==(a=s[d],o=null===(n=a)||void 0===n?void 0:n._$litStatic$);)l+=o+e[++d],u=!0;c.push(a),r.push(l),d++}if(d===i&&r.push(e[i]),u){const t=r.join("$$lit$$");void 0===(e=Hs.get(t))&&Hs.set(t,e=r),s=c}return t(e,...s)})($s),Vs=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 zs 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=Cs,t.type!==Vs)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===Cs||null==t)return this.vt=void 0,this.it=t;if(t===Es)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:[]}}}zs.directiveName="unsafeHTML",zs.resultType=1;const Zs=(t,e,s,{host:n}={})=>{"string"==typeof s?t=Bs`<style>${s}</style>${t}`:Array.isArray(s)&&s.length&&(t=Bs`${s.map((t=>Bs`<link type="text/css" rel="stylesheet" href="${t}">`))}${t}`),((t,e,s)=>{var n,i;const o=null!==(n=null==s?void 0:s.renderBefore)&&void 0!==n?n:e;let a=o._$litPart$;if(void 0===a){const t=null!==(i=null==s?void 0:s.renderBefore)&&void 0!==i?i:null;o._$litPart$=a=new Is(e.insertBefore(gs(),t),t,void 0,null!=s?s:{})}a._$AI(t)})(t,e,{host:n})},Fs={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 Ws extends as{static get metadata(){return Fs}static get render(){return Zs}static get template(){return t=>Bs`<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(){}}Ws.define();const qs={tag:"ui5-test-no-shadow"};(class extends as{static get metadata(){return qs}}).define();const Gs={tag:"ui5-test-parent",managedSlots:!0,slots:{default:{type:Node,invalidateOnChildChange:{properties:["prop1"]}},items:{type:HTMLElement,invalidateOnChildChange:{properties:!0}}}};(class extends as{static get metadata(){return Gs}static get render(){return Zs}static get template(){return t=>Bs`<div>
29
- <slot></slot>
30
- </div>`}}).define();const Ks={tag:"ui5-test-child",properties:{prop1:{type:String},prop2:{type:String},prop3:{type:String}}};(class extends as{static get metadata(){return Ks}static get render(){return Zs}static get template(){return t=>Bs`<div></div>`}}).define();const Js={tag:"ui5-with-static-area",properties:{staticContent:{type:Boolean}},slots:{}};(class extends as{static get metadata(){return Js}static get render(){return Zs}static get template(){return t=>Bs`
31
- <div dir=${t.effectiveDir}>
32
- WithStaticArea works!
33
- </div>`}static get staticAreaTemplate(){return t=>Bs`
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 Ys={tag:"ui5-test-generic-ext",properties:{extProp:{type:String},strProp:{defaultValue:"Ext"}},slots:{extSlot:{type:HTMLElement}}};(class extends Ws{static get metadata(){return Ys}}).define();Ot("@ui5/webcomponents-base-test","sap_fiori_3",(()=>":root{ --var1: red; }")),Ot("@ui5/webcomponents-base-test","sap_fiori_3_dark",(()=>":root{ --var1: green; }")),Ot("@ui5/webcomponents-base-test","sap_belize",(()=>":root{ --var1: blue; }")),Ot("@ui5/webcomponents-base-test","sap_belize_hcb",(()=>":root{ --var1: orange; }")),Ot("@ui5/webcomponents-base-test","sap_belize_hcw",(()=>":root{ --var1: orange; }")),Ot("@ui5/webcomponents-base-test","sap_fiori_3_hcb",(()=>":root{ --var1: yellow; }")),Ot("@ui5/webcomponents-base-test","sap_fiori_3_hcw",(()=>":root{ --var1: yellow; }"));const Xs=navigator.userAgent,Qs=/(msie|trident)/i.test(Xs),tn=!Qs&&/(Chrome|CriOS)/.test(Xs);!Qs&&!tn&&/(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(Xs),!Qs&&/webkit/.test(Xs);const en=-1!==navigator.platform.indexOf("Win");navigator.platform.match(/iPhone|iPad|iPod/)||navigator.userAgent.match(/Mac/)&&document;!en&&/Android/.test(Xs)&&/(?=android)(?=.*mobile)/i.test(Xs),/ipad/i.test(Xs);const sn=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,nn=new Map;class on{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,ct.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 o=(o=e)||[],i.replace(sn,((t,e,s,n,i)=>{if(e)return"'";if(s)return s.replace(/''/g,"'");if(n)return String(o[parseInt(n)]);throw new Error(`[i18n]: pattern syntax error at pos ${i}`)}));var o}}let an;const rn={Gregorian:"Gregorian",Islamic:"Islamic",Japanese:"Japanese",Buddhist:"Buddhist",Persian:"Persian"};class cn extends fe{static isValid(t){return!!rn[t]}}let ln;cn.generateTypeAccessors(rn);let dn;const un=new b;window.isIE=()=>Qs,window.registerThemePropertiesLoader=Ot,window["sap-ui-webcomponents-bundle"]={configuration:{getAnimationMode:()=>(void 0===an&&(A(),an=y.animationMode),an),getLanguage:G,getTheme:qt,setTheme:Gt,getNoConflict:Ke,setNoConflict:t=>{Ge=t},getCalendarType:()=>(void 0===ln&&(A(),ln=y.calendarType),cn.isValid(ln)?ln:cn.Gregorian),getRTL:Ve,getFirstDayOfWeek:()=>(void 0===dn&&(A(),dn=y.formatSettings),dn.firstDayOfWeek)},getIconNames:async()=>(await Qt("edit"),await Qt("tnt/arrow"),await Qt("business-suite/3d"),Array.from(Jt.keys())),registerI18nLoader:(t,e,s)=>{const n=`${t}/${e}`;dt.set(n,s)},getI18nBundle:async t=>(await pt(t),(t=>{if(nn.has(t))return nn.get(t);const e=new on(t);return nn.set(t,e),e})(t)),renderFinished:z,applyDirection:async()=>{const t=un.fireEvent("directionChange");await Promise.all(t),await F({rtlAware:!0})},EventProvider:b};
37
- //# sourceMappingURL=bundle.esm.js.map