@ui5/webcomponents-base 1.9.3 → 1.10.0

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 (609) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +0 -8
  3. package/bundle.esm.js +4 -1
  4. package/dist/AssetRegistry.d.ts +5 -0
  5. package/dist/AssetRegistry.js +2 -7
  6. package/dist/AssetRegistry.js.map +1 -0
  7. package/dist/Boot.d.ts +8 -0
  8. package/dist/Boot.js +29 -48
  9. package/dist/Boot.js.map +1 -0
  10. package/dist/CSP.d.ts +30 -0
  11. package/dist/CSP.js +16 -24
  12. package/dist/CSP.js.map +1 -0
  13. package/dist/CustomElementsRegistry.d.ts +5 -0
  14. package/dist/CustomElementsRegistry.js +66 -83
  15. package/dist/CustomElementsRegistry.js.map +1 -0
  16. package/dist/CustomElementsScope.d.ts +7 -0
  17. package/dist/CustomElementsScope.js +10 -29
  18. package/dist/CustomElementsScope.js.map +1 -0
  19. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  20. package/dist/CustomElementsScopeUtils.js +34 -52
  21. package/dist/CustomElementsScopeUtils.js.map +1 -0
  22. package/dist/DOMObserver.d.ts +11 -0
  23. package/dist/DOMObserver.js +12 -54
  24. package/dist/DOMObserver.js.map +1 -0
  25. package/dist/Device.d.ts +12 -0
  26. package/dist/Device.js +53 -83
  27. package/dist/Device.js.map +1 -0
  28. package/dist/EventProvider.d.ts +25 -0
  29. package/dist/EventProvider.js +67 -82
  30. package/dist/EventProvider.js.map +1 -0
  31. package/dist/FeaturesRegistry.d.ts +3 -0
  32. package/dist/FeaturesRegistry.js +5 -10
  33. package/dist/FeaturesRegistry.js.map +1 -0
  34. package/dist/FontFace.d.ts +2 -0
  35. package/dist/FontFace.js +14 -19
  36. package/dist/FontFace.js.map +1 -0
  37. package/dist/InitialConfiguration.d.ts +22 -0
  38. package/dist/InitialConfiguration.js +107 -146
  39. package/dist/InitialConfiguration.js.map +1 -0
  40. package/dist/Keys.d.ts +57 -0
  41. package/dist/Keys.js +174 -291
  42. package/dist/Keys.js.map +1 -0
  43. package/dist/ManagedStyles.d.ts +8 -0
  44. package/dist/ManagedStyles.js +62 -68
  45. package/dist/ManagedStyles.js.map +1 -0
  46. package/dist/MarkedEvents.d.ts +9 -0
  47. package/dist/MarkedEvents.js +15 -0
  48. package/dist/MarkedEvents.js.map +1 -0
  49. package/dist/MediaRange.d.ts +37 -0
  50. package/dist/MediaRange.js +54 -65
  51. package/dist/MediaRange.js.map +1 -0
  52. package/dist/PropertiesFileFormat.d.ts +8 -0
  53. package/dist/PropertiesFileFormat.js +72 -82
  54. package/dist/PropertiesFileFormat.js.map +1 -0
  55. package/dist/Render.d.ts +47 -0
  56. package/dist/Render.js +81 -113
  57. package/dist/Render.js.map +1 -0
  58. package/dist/RenderQueue.d.ts +19 -0
  59. package/dist/RenderQueue.js +52 -62
  60. package/dist/RenderQueue.js.map +1 -0
  61. package/dist/Runtimes.d.ts +27 -0
  62. package/dist/Runtimes.js +49 -70
  63. package/dist/Runtimes.js.map +1 -0
  64. package/dist/StaticArea.d.ts +0 -0
  65. package/dist/StaticArea.js +4 -1
  66. package/dist/StaticArea.js.map +1 -0
  67. package/dist/StaticAreaItem.d.ts +36 -0
  68. package/dist/StaticAreaItem.js +84 -94
  69. package/dist/StaticAreaItem.js.map +1 -0
  70. package/dist/SystemCSSVars.d.ts +2 -0
  71. package/dist/SystemCSSVars.js +4 -5
  72. package/dist/SystemCSSVars.js.map +1 -0
  73. package/dist/Theming.d.ts +3 -0
  74. package/dist/Theming.js +1 -1
  75. package/dist/Theming.js.map +1 -0
  76. package/dist/UI5Element.d.ts +373 -0
  77. package/dist/UI5Element.js +928 -1006
  78. package/dist/UI5Element.js.map +1 -0
  79. package/dist/UI5ElementMetadata.d.ts +150 -0
  80. package/dist/UI5ElementMetadata.js +277 -313
  81. package/dist/UI5ElementMetadata.js.map +1 -0
  82. package/dist/animations/AnimationQueue.d.ts +8 -0
  83. package/dist/animations/AnimationQueue.js +31 -38
  84. package/dist/animations/AnimationQueue.js.map +1 -0
  85. package/dist/animations/animate.d.ts +14 -0
  86. package/dist/animations/animate.js +46 -51
  87. package/dist/animations/animate.js.map +1 -0
  88. package/dist/animations/scroll.d.ts +5 -0
  89. package/dist/animations/scroll.js +18 -27
  90. package/dist/animations/scroll.js.map +1 -0
  91. package/dist/animations/slideDown.d.ts +5 -0
  92. package/dist/animations/slideDown.js +53 -78
  93. package/dist/animations/slideDown.js.map +1 -0
  94. package/dist/animations/slideUp.d.ts +5 -0
  95. package/dist/animations/slideUp.js +49 -70
  96. package/dist/animations/slideUp.js.map +1 -0
  97. package/dist/api.json +1 -1
  98. package/dist/asset-registries/Icons.d.ts +30 -0
  99. package/dist/asset-registries/Icons.js +85 -118
  100. package/dist/asset-registries/Icons.js.map +1 -0
  101. package/dist/asset-registries/Illustrations.d.ts +17 -0
  102. package/dist/asset-registries/Illustrations.js +37 -50
  103. package/dist/asset-registries/Illustrations.js.map +1 -0
  104. package/dist/asset-registries/LocaleData.d.ts +7 -0
  105. package/dist/asset-registries/LocaleData.js +104 -126
  106. package/dist/asset-registries/LocaleData.js.map +1 -0
  107. package/dist/asset-registries/Themes.d.ts +10 -0
  108. package/dist/asset-registries/Themes.js +36 -68
  109. package/dist/asset-registries/Themes.js.map +1 -0
  110. package/dist/asset-registries/i18n.d.ts +23 -0
  111. package/dist/asset-registries/i18n.js +52 -80
  112. package/dist/asset-registries/i18n.js.map +1 -0
  113. package/dist/assets/bundle.esm.3d967c4e.js +56 -0
  114. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  115. package/dist/assets-meta/IconCollectionsAlias.js +4 -4
  116. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  117. package/dist/config/AnimationMode.d.ts +14 -0
  118. package/dist/config/AnimationMode.js +21 -18
  119. package/dist/config/AnimationMode.js.map +1 -0
  120. package/dist/config/CalendarType.d.ts +8 -0
  121. package/dist/config/CalendarType.js +13 -12
  122. package/dist/config/CalendarType.js.map +1 -0
  123. package/dist/config/FormatSettings.d.ts +11 -0
  124. package/dist/config/FormatSettings.js +10 -8
  125. package/dist/config/FormatSettings.js.map +1 -0
  126. package/dist/config/Icons.d.ts +30 -0
  127. package/dist/config/Icons.js +28 -32
  128. package/dist/config/Icons.js.map +1 -0
  129. package/dist/config/Language.d.ts +31 -0
  130. package/dist/config/Language.js +31 -43
  131. package/dist/config/Language.js.map +1 -0
  132. package/dist/config/NoConflict.d.ts +20 -0
  133. package/dist/config/NoConflict.js +40 -41
  134. package/dist/config/NoConflict.js.map +1 -0
  135. package/dist/config/RTL.d.ts +7 -0
  136. package/dist/config/RTL.js +23 -20
  137. package/dist/config/RTL.js.map +1 -0
  138. package/dist/config/Theme.d.ts +28 -0
  139. package/dist/config/Theme.js +34 -36
  140. package/dist/config/Theme.js.map +1 -0
  141. package/dist/config/ThemeRoots.d.ts +4 -0
  142. package/dist/config/ThemeRoots.js +18 -29
  143. package/dist/config/ThemeRoots.js.map +1 -0
  144. package/dist/decorators/customElement.d.ts +8 -0
  145. package/dist/decorators/customElement.js +16 -0
  146. package/dist/decorators/customElement.js.map +1 -0
  147. package/dist/decorators/event.d.ts +10 -0
  148. package/dist/decorators/event.js +24 -0
  149. package/dist/decorators/event.js.map +1 -0
  150. package/dist/decorators/fastNavigation.d.ts +7 -0
  151. package/dist/decorators/fastNavigation.js +13 -0
  152. package/dist/decorators/fastNavigation.js.map +1 -0
  153. package/dist/decorators/languageAware.d.ts +7 -0
  154. package/dist/decorators/languageAware.js +13 -0
  155. package/dist/decorators/languageAware.js.map +1 -0
  156. package/dist/decorators/property.d.ts +9 -0
  157. package/dist/decorators/property.js +24 -0
  158. package/dist/decorators/property.js.map +1 -0
  159. package/dist/decorators/slot.d.ts +9 -0
  160. package/dist/decorators/slot.js +37 -0
  161. package/dist/decorators/slot.js.map +1 -0
  162. package/dist/decorators/themeAware.d.ts +7 -0
  163. package/dist/decorators/themeAware.js +13 -0
  164. package/dist/decorators/themeAware.js.map +1 -0
  165. package/dist/delegate/ItemNavigation.d.ts +113 -0
  166. package/dist/delegate/ItemNavigation.js +277 -317
  167. package/dist/delegate/ItemNavigation.js.map +1 -0
  168. package/dist/delegate/ResizeHandler.d.ts +24 -0
  169. package/dist/delegate/ResizeHandler.js +68 -91
  170. package/dist/delegate/ResizeHandler.js.map +1 -0
  171. package/dist/delegate/ScrollEnablement.d.ts +48 -0
  172. package/dist/delegate/ScrollEnablement.js +157 -180
  173. package/dist/delegate/ScrollEnablement.js.map +1 -0
  174. package/dist/features/F6Navigation.d.ts +16 -0
  175. package/dist/features/F6Navigation.js +105 -109
  176. package/dist/features/F6Navigation.js.map +1 -0
  177. package/dist/features/OpenUI5Element.d.ts +9 -0
  178. package/dist/features/OpenUI5Element.js +5 -0
  179. package/dist/features/OpenUI5Element.js.map +1 -0
  180. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  181. package/dist/features/OpenUI5Enablement.js +89 -112
  182. package/dist/features/OpenUI5Enablement.js.map +1 -0
  183. package/dist/features/OpenUI5Support.d.ts +23 -0
  184. package/dist/features/OpenUI5Support.js +91 -120
  185. package/dist/features/OpenUI5Support.js.map +1 -0
  186. package/dist/generated/VersionInfo.js +4 -4
  187. package/dist/getSharedResource.d.ts +11 -0
  188. package/dist/getSharedResource.js +12 -16
  189. package/dist/getSharedResource.js.map +1 -0
  190. package/dist/i18nBundle.d.ts +43 -0
  191. package/dist/i18nBundle.js +56 -64
  192. package/dist/i18nBundle.js.map +1 -0
  193. package/dist/locale/Locale.d.ts +22 -0
  194. package/dist/locale/Locale.js +75 -87
  195. package/dist/locale/Locale.js.map +1 -0
  196. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  197. package/dist/locale/RTLAwareRegistry.js +6 -11
  198. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  199. package/dist/locale/applyDirection.d.ts +10 -0
  200. package/dist/locale/applyDirection.js +7 -7
  201. package/dist/locale/applyDirection.js.map +1 -0
  202. package/dist/locale/directionChange.d.ts +15 -0
  203. package/dist/locale/directionChange.js +7 -15
  204. package/dist/locale/directionChange.js.map +1 -0
  205. package/dist/locale/getEffectiveDir.d.ts +2 -0
  206. package/dist/locale/getEffectiveDir.js +20 -24
  207. package/dist/locale/getEffectiveDir.js.map +1 -0
  208. package/dist/locale/getLocale.d.ts +7 -0
  209. package/dist/locale/getLocale.js +26 -29
  210. package/dist/locale/getLocale.js.map +1 -0
  211. package/dist/locale/languageChange.d.ts +5 -0
  212. package/dist/locale/languageChange.js +8 -16
  213. package/dist/locale/languageChange.js.map +1 -0
  214. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  215. package/dist/locale/nextFallbackLocale.js +15 -19
  216. package/dist/locale/nextFallbackLocale.js.map +1 -0
  217. package/dist/locale/normalizeLocale.d.ts +7 -0
  218. package/dist/locale/normalizeLocale.js +34 -41
  219. package/dist/locale/normalizeLocale.js.map +1 -0
  220. package/dist/renderer/LitRenderer.d.ts +14 -0
  221. package/dist/renderer/LitRenderer.js +28 -39
  222. package/dist/renderer/LitRenderer.js.map +1 -0
  223. package/dist/renderer/executeTemplate.d.ts +13 -0
  224. package/dist/renderer/executeTemplate.js +12 -16
  225. package/dist/renderer/executeTemplate.js.map +1 -0
  226. package/dist/sap/base/Log.js +28 -29
  227. package/dist/sap/base/assert.js +5 -6
  228. package/dist/sap/base/security/URLListValidator.js +13 -2
  229. package/dist/theming/CustomStyle.d.ts +6 -0
  230. package/dist/theming/CustomStyle.js +29 -43
  231. package/dist/theming/CustomStyle.js.map +1 -0
  232. package/dist/theming/ThemeLoaded.d.ts +5 -0
  233. package/dist/theming/ThemeLoaded.js +8 -16
  234. package/dist/theming/ThemeLoaded.js.map +1 -0
  235. package/dist/theming/applyTheme.d.ts +2 -0
  236. package/dist/theming/applyTheme.js +59 -68
  237. package/dist/theming/applyTheme.js.map +1 -0
  238. package/dist/theming/getConstructableStyle.d.ts +9 -0
  239. package/dist/theming/getConstructableStyle.js +12 -17
  240. package/dist/theming/getConstructableStyle.js.map +1 -0
  241. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  242. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  243. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  244. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  245. package/dist/theming/getEffectiveStyle.js +24 -31
  246. package/dist/theming/getEffectiveStyle.js.map +1 -0
  247. package/dist/theming/getStylesString.d.ts +3 -0
  248. package/dist/theming/getStylesString.js +9 -13
  249. package/dist/theming/getStylesString.js.map +1 -0
  250. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  251. package/dist/theming/getThemeDesignerTheme.js +72 -79
  252. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  253. package/dist/theming/preloadLinks.d.ts +3 -0
  254. package/dist/theming/preloadLinks.js +13 -17
  255. package/dist/theming/preloadLinks.js.map +1 -0
  256. package/dist/thirdparty/_merge.d.ts +2 -0
  257. package/dist/thirdparty/_merge.js +7 -4
  258. package/dist/thirdparty/_merge.js.map +1 -0
  259. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  260. package/dist/thirdparty/isPlainObject.js +11 -10
  261. package/dist/thirdparty/isPlainObject.js.map +1 -0
  262. package/dist/thirdparty/merge.d.ts +2 -0
  263. package/dist/thirdparty/merge.js +4 -8
  264. package/dist/thirdparty/merge.js.map +1 -0
  265. package/dist/types/AnimationMode.d.ts +32 -0
  266. package/dist/types/AnimationMode.js +33 -6
  267. package/dist/types/AnimationMode.js.map +1 -0
  268. package/dist/types/CSSColor.d.ts +16 -0
  269. package/dist/types/CSSColor.js +6 -7
  270. package/dist/types/CSSColor.js.map +1 -0
  271. package/dist/types/CalendarType.d.ts +37 -0
  272. package/dist/types/CalendarType.js +33 -53
  273. package/dist/types/CalendarType.js.map +1 -0
  274. package/dist/types/DOMReference.d.ts +17 -0
  275. package/dist/types/DOMReference.js +12 -15
  276. package/dist/types/DOMReference.js.map +1 -0
  277. package/dist/types/DataType.d.ts +25 -0
  278. package/dist/types/DataType.js +33 -32
  279. package/dist/types/DataType.js.map +1 -0
  280. package/dist/types/Float.d.ts +18 -0
  281. package/dist/types/Float.js +9 -12
  282. package/dist/types/Float.js.map +1 -0
  283. package/dist/types/Integer.d.ts +18 -0
  284. package/dist/types/Integer.js +9 -11
  285. package/dist/types/Integer.js.map +1 -0
  286. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  287. package/dist/types/InvisibleMessageMode.js +19 -38
  288. package/dist/types/InvisibleMessageMode.js.map +1 -0
  289. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  290. package/dist/types/ItemNavigationBehavior.js +22 -12
  291. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  292. package/dist/types/NavigationMode.d.ts +32 -0
  293. package/dist/types/NavigationMode.js +33 -6
  294. package/dist/types/NavigationMode.js.map +1 -0
  295. package/dist/types/ValueState.d.ts +42 -0
  296. package/dist/types/ValueState.js +38 -58
  297. package/dist/types/ValueState.js.map +1 -0
  298. package/dist/types.d.ts +18 -0
  299. package/dist/types.js +2 -0
  300. package/dist/types.js.map +1 -0
  301. package/dist/updateShadowRoot.d.ts +8 -0
  302. package/dist/updateShadowRoot.js +21 -16
  303. package/dist/updateShadowRoot.js.map +1 -0
  304. package/dist/util/AriaLabelHelper.d.ts +6 -0
  305. package/dist/util/AriaLabelHelper.js +34 -46
  306. package/dist/util/AriaLabelHelper.js.map +1 -0
  307. package/dist/util/Caret.d.ts +7 -0
  308. package/dist/util/Caret.js +16 -25
  309. package/dist/util/Caret.js.map +1 -0
  310. package/dist/util/ColorConversion.d.ts +30 -0
  311. package/dist/util/ColorConversion.js +311 -372
  312. package/dist/util/ColorConversion.js.map +1 -0
  313. package/dist/util/FetchHelper.d.ts +3 -0
  314. package/dist/util/FetchHelper.js +19 -25
  315. package/dist/util/FetchHelper.js.map +1 -0
  316. package/dist/util/FocusableElements.d.ts +4 -0
  317. package/dist/util/FocusableElements.js +54 -71
  318. package/dist/util/FocusableElements.js.map +1 -0
  319. package/dist/util/HTMLSanitizer.d.ts +3 -0
  320. package/dist/util/HTMLSanitizer.js +4 -5
  321. package/dist/util/HTMLSanitizer.js.map +1 -0
  322. package/dist/util/InvisibleMessage.d.ts +10 -0
  323. package/dist/util/InvisibleMessage.js +40 -53
  324. package/dist/util/InvisibleMessage.js.map +1 -0
  325. package/dist/util/PopupUtils.d.ts +7 -0
  326. package/dist/util/PopupUtils.js +58 -77
  327. package/dist/util/PopupUtils.js.map +1 -0
  328. package/dist/util/SlotsHelper.d.ts +9 -0
  329. package/dist/util/SlotsHelper.js +22 -35
  330. package/dist/util/SlotsHelper.js.map +1 -0
  331. package/dist/util/StringHelper.d.ts +3 -0
  332. package/dist/util/StringHelper.js +17 -20
  333. package/dist/util/StringHelper.js.map +1 -0
  334. package/dist/util/TabbableElements.d.ts +17 -0
  335. package/dist/util/TabbableElements.js +53 -47
  336. package/dist/util/TabbableElements.js.map +1 -0
  337. package/dist/util/arraysAreEqual.d.ts +2 -0
  338. package/dist/util/arraysAreEqual.js +10 -12
  339. package/dist/util/arraysAreEqual.js.map +1 -0
  340. package/dist/util/clamp.d.ts +9 -0
  341. package/dist/util/clamp.js +2 -2
  342. package/dist/util/clamp.js.map +1 -0
  343. package/dist/util/createLinkInHead.d.ts +7 -0
  344. package/dist/util/createLinkInHead.js +14 -17
  345. package/dist/util/createLinkInHead.js.map +1 -0
  346. package/dist/util/createStyleInHead.d.ts +8 -0
  347. package/dist/util/createStyleInHead.js +10 -10
  348. package/dist/util/createStyleInHead.js.map +1 -0
  349. package/dist/util/debounce.d.ts +2 -0
  350. package/dist/util/debounce.js +6 -8
  351. package/dist/util/debounce.js.map +1 -0
  352. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  353. package/dist/util/detectNavigatorLanguage.js +7 -10
  354. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  355. package/dist/util/escapeRegex.d.ts +8 -0
  356. package/dist/util/escapeRegex.js +8 -7
  357. package/dist/util/escapeRegex.js.map +1 -0
  358. package/dist/util/formatMessage.d.ts +2 -0
  359. package/dist/util/formatMessage.js +15 -19
  360. package/dist/util/formatMessage.js.map +1 -0
  361. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  362. package/dist/util/generateHighlightedMarkup.js +26 -27
  363. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  364. package/dist/util/getActiveElement.d.ts +2 -0
  365. package/dist/util/getActiveElement.js +6 -8
  366. package/dist/util/getActiveElement.js.map +1 -0
  367. package/dist/util/getClassCopy.d.ts +400 -0
  368. package/dist/util/getClassCopy.js +7 -7
  369. package/dist/util/getClassCopy.js.map +1 -0
  370. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  371. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  372. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  373. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  374. package/dist/util/getEffectiveContentDensity.js +2 -3
  375. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  376. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  377. package/dist/util/getEffectiveScrollbarStyle.js +1 -2
  378. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  379. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  380. package/dist/util/getFastNavigationGroups.js +44 -56
  381. package/dist/util/getFastNavigationGroups.js.map +1 -0
  382. package/dist/util/getFileExtension.d.ts +12 -0
  383. package/dist/util/getFileExtension.js +9 -11
  384. package/dist/util/getFileExtension.js.map +1 -0
  385. package/dist/util/getNormalizedTarget.d.ts +7 -0
  386. package/dist/util/getNormalizedTarget.js +7 -9
  387. package/dist/util/getNormalizedTarget.js.map +1 -0
  388. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  389. package/dist/util/getSingletonElementInstance.js +7 -10
  390. package/dist/util/getSingletonElementInstance.js.map +1 -0
  391. package/dist/util/isElementClickable.d.ts +2 -0
  392. package/dist/util/isElementClickable.js +16 -0
  393. package/dist/util/isElementClickable.js.map +1 -0
  394. package/dist/util/isElementHidden.d.ts +2 -0
  395. package/dist/util/isElementHidden.js +8 -0
  396. package/dist/util/isElementHidden.js.map +1 -0
  397. package/dist/util/isElementInView.d.ts +6 -0
  398. package/dist/util/isElementInView.js +6 -9
  399. package/dist/util/isElementInView.js.map +1 -0
  400. package/dist/util/isElementTabbable.d.ts +9 -0
  401. package/dist/util/isElementTabbable.js +30 -0
  402. package/dist/util/isElementTabbable.js.map +1 -0
  403. package/dist/util/isValidPropertyName.d.ts +8 -0
  404. package/dist/util/isValidPropertyName.js +16 -17
  405. package/dist/util/isValidPropertyName.js.map +1 -0
  406. package/dist/util/whenDOMReady.d.ts +2 -0
  407. package/dist/util/whenDOMReady.js +11 -10
  408. package/dist/util/whenDOMReady.js.map +1 -0
  409. package/dist/util/willShowContent.d.ts +2 -0
  410. package/dist/util/willShowContent.js +7 -0
  411. package/dist/util/willShowContent.js.map +1 -0
  412. package/dist/validateThemeRoot.d.ts +2 -0
  413. package/dist/validateThemeRoot.js +41 -52
  414. package/dist/validateThemeRoot.js.map +1 -0
  415. package/global.d.ts +44 -0
  416. package/package-scripts.js +14 -5
  417. package/package.json +4 -4
  418. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  419. package/src/Boot.ts +61 -0
  420. package/src/{CSP.js → CSP.ts} +14 -7
  421. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
  422. package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
  423. package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
  424. package/src/DOMObserver.ts +28 -0
  425. package/src/{Device.js → Device.ts} +17 -14
  426. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  427. package/src/FeaturesRegistry.ts +14 -0
  428. package/src/{FontFace.js → FontFace.ts} +3 -2
  429. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +33 -12
  430. package/src/Keys.ts +295 -0
  431. package/src/ManagedStyles.ts +92 -0
  432. package/src/MarkedEvents.ts +20 -0
  433. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  434. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  435. package/src/{Render.js → Render.ts} +25 -20
  436. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  437. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  438. package/src/{StaticArea.js → StaticArea.ts} +0 -0
  439. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +26 -22
  440. package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  441. package/src/{Theming.js → Theming.ts} +0 -0
  442. package/src/{UI5Element.js → UI5Element.ts} +263 -153
  443. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
  444. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  445. package/src/animations/animate.ts +64 -0
  446. package/src/animations/scroll.ts +21 -0
  447. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  448. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  449. package/src/asset-registries/{Icons.js → Icons.ts} +63 -38
  450. package/src/asset-registries/Illustrations.ts +75 -0
  451. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +35 -21
  452. package/src/asset-registries/{Themes.js → Themes.ts} +14 -29
  453. package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
  454. package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -0
  455. package/src/config/AnimationMode.ts +33 -0
  456. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  457. package/src/config/FormatSettings.ts +21 -0
  458. package/src/config/{Icons.js → Icons.ts} +19 -12
  459. package/src/config/{Language.js → Language.ts} +22 -18
  460. package/src/config/NoConflict.ts +67 -0
  461. package/src/config/{RTL.js → RTL.ts} +14 -4
  462. package/src/config/Theme.ts +64 -0
  463. package/src/config/{ThemeRoots.js → ThemeRoots.ts} +9 -7
  464. package/src/decorators/customElement.ts +17 -0
  465. package/src/decorators/event.ts +28 -0
  466. package/src/decorators/fastNavigation.ts +14 -0
  467. package/src/decorators/languageAware.ts +14 -0
  468. package/src/decorators/property.ts +30 -0
  469. package/src/decorators/slot.ts +49 -0
  470. package/src/decorators/themeAware.ts +14 -0
  471. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +56 -19
  472. package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
  473. package/src/delegate/ScrollEnablement.ts +221 -0
  474. package/src/features/{F6Navigation.js → F6Navigation.ts} +50 -25
  475. package/src/features/OpenUI5Element.ts +11 -0
  476. package/src/features/OpenUI5Enablement.ts +117 -0
  477. package/src/features/OpenUI5Support.ts +148 -0
  478. package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
  479. package/src/{i18nBundle.js → i18nBundle.ts} +45 -23
  480. package/src/locale/{Locale.js → Locale.ts} +15 -5
  481. package/src/locale/RTLAwareRegistry.ts +16 -0
  482. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  483. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  484. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  485. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  486. package/src/locale/languageChange.ts +24 -0
  487. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  488. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  489. package/src/renderer/LitRenderer.ts +60 -0
  490. package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
  491. package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
  492. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  493. package/src/theming/{applyTheme.js → applyTheme.ts} +16 -10
  494. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  495. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  496. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
  497. package/src/theming/getStylesString.ts +15 -0
  498. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  499. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  500. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  501. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  502. package/src/thirdparty/merge.ts +5 -0
  503. package/src/types/AnimationMode.ts +33 -0
  504. package/src/types/{CSSColor.js → CSSColor.ts} +3 -3
  505. package/src/types/CalendarType.ts +38 -0
  506. package/src/types/{DOMReference.js → DOMReference.ts} +4 -4
  507. package/src/types/DataType.ts +51 -0
  508. package/src/types/{Float.js → Float.ts} +5 -5
  509. package/src/types/{Integer.js → Integer.ts} +5 -4
  510. package/src/types/InvisibleMessageMode.ts +27 -0
  511. package/src/types/ItemNavigationBehavior.ts +26 -0
  512. package/src/types/NavigationMode.ts +33 -0
  513. package/src/types/ValueState.ts +47 -0
  514. package/src/types.ts +30 -0
  515. package/src/updateShadowRoot.ts +37 -0
  516. package/src/util/AriaLabelHelper.ts +63 -0
  517. package/src/util/{Caret.js → Caret.ts} +5 -9
  518. package/src/util/{ColorConversion.js → ColorConversion.ts} +183 -182
  519. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  520. package/src/util/FocusableElements.ts +82 -0
  521. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  522. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
  523. package/src/util/PopupUtils.ts +112 -0
  524. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  525. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  526. package/src/util/TabbableElements.ts +70 -0
  527. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  528. package/src/util/{clamp.js → clamp.ts} +1 -1
  529. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +6 -5
  530. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  531. package/src/util/{debounce.js → debounce.ts} +5 -4
  532. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  533. package/src/util/escapeRegex.ts +11 -0
  534. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  535. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  536. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  537. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  538. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  539. package/src/util/getEffectiveContentDensity.ts +5 -0
  540. package/src/util/{getEffectiveScrollbarStyle.js → getEffectiveScrollbarStyle.ts} +0 -0
  541. package/src/util/{getFastNavigationGroups.js → getFastNavigationGroups.ts} +10 -10
  542. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  543. package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
  544. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  545. package/src/util/isElementClickable.ts +19 -0
  546. package/src/util/isElementHidden.ts +9 -0
  547. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  548. package/src/util/isElementTabbable.ts +37 -0
  549. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  550. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  551. package/src/util/willShowContent.ts +7 -0
  552. package/src/{validateThemeRoot.js → validateThemeRoot.ts} +4 -4
  553. package/tsconfig.json +13 -0
  554. package/dist/RenderScheduler.js +0 -44
  555. package/dist/animations/config.js +0 -5
  556. package/dist/assets/bundle.esm.e2bd78ba.js +0 -55
  557. package/dist/types/CSSSize.js +0 -20
  558. package/dist/types/PopupState.js +0 -57
  559. package/dist/util/isDefaultSlotProvided.js +0 -11
  560. package/dist/util/isDescendantOf.js +0 -15
  561. package/dist/util/isNodeClickable.js +0 -19
  562. package/dist/util/isNodeHidden.js +0 -9
  563. package/dist/util/isNodeTabbable.js +0 -28
  564. package/dist/util/setToArray.js +0 -10
  565. package/src/Boot.js +0 -63
  566. package/src/DOMObserver.js +0 -65
  567. package/src/FeaturesRegistry.js +0 -14
  568. package/src/Keys.js +0 -295
  569. package/src/ManagedStyles.js +0 -83
  570. package/src/RenderScheduler.js +0 -44
  571. package/src/animations/animate.js +0 -53
  572. package/src/animations/config.js +0 -5
  573. package/src/animations/scroll.js +0 -28
  574. package/src/asset-registries/Illustrations.js +0 -59
  575. package/src/config/AnimationMode.js +0 -23
  576. package/src/config/FormatSettings.js +0 -13
  577. package/src/config/NoConflict.js +0 -51
  578. package/src/config/Theme.js +0 -53
  579. package/src/delegate/ScrollEnablement.js +0 -188
  580. package/src/features/OpenUI5Enablement.js +0 -119
  581. package/src/features/OpenUI5Support.js +0 -126
  582. package/src/locale/RTLAwareRegistry.js +0 -14
  583. package/src/locale/languageChange.js +0 -22
  584. package/src/renderer/LitRenderer.js +0 -52
  585. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  586. package/src/theming/getStylesString.js +0 -15
  587. package/src/thirdparty/merge.js +0 -10
  588. package/src/types/AnimationMode.js +0 -7
  589. package/src/types/CSSSize.js +0 -20
  590. package/src/types/CalendarType.js +0 -59
  591. package/src/types/DataType.js +0 -43
  592. package/src/types/InvisibleMessageMode.js +0 -46
  593. package/src/types/ItemNavigationBehavior.js +0 -16
  594. package/src/types/NavigationMode.js +0 -7
  595. package/src/types/PopupState.js +0 -57
  596. package/src/types/ValueState.js +0 -64
  597. package/src/updateShadowRoot.js +0 -29
  598. package/src/util/AriaLabelHelper.js +0 -56
  599. package/src/util/FocusableElements.js +0 -79
  600. package/src/util/PopupUtils.js +0 -93
  601. package/src/util/TabbableElements.js +0 -51
  602. package/src/util/escapeRegex.js +0 -10
  603. package/src/util/getEffectiveContentDensity.js +0 -5
  604. package/src/util/isDefaultSlotProvided.js +0 -11
  605. package/src/util/isDescendantOf.js +0 -15
  606. package/src/util/isNodeClickable.js +0 -19
  607. package/src/util/isNodeHidden.js +0 -9
  608. package/src/util/isNodeTabbable.js +0 -28
  609. package/src/util/setToArray.js +0 -10
@@ -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) {
@@ -3,11 +3,11 @@
3
3
  * @param {Object} target The original event target
4
4
  * @returns {Object} The normalized target
5
5
  */
6
- const getNormalizedTarget = target => {
6
+ const getNormalizedTarget = (target: HTMLElement) => {
7
7
  let element = target;
8
8
 
9
9
  if (target.shadowRoot && target.shadowRoot.activeElement) {
10
- element = target.shadowRoot.activeElement;
10
+ element = target.shadowRoot.activeElement as HTMLElement;
11
11
  }
12
12
 
13
13
  return element;
@@ -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;
@@ -1,11 +1,11 @@
1
- const getMetaTagValue = metaTagName => {
1
+ const getMetaTagValue = (metaTagName: string) => {
2
2
  const metaTag = document.querySelector(`META[name="${metaTagName}"]`),
3
3
  metaTagContent = metaTag && metaTag.getAttribute("content");
4
4
 
5
5
  return metaTagContent;
6
6
  };
7
7
 
8
- const validateThemeOrigin = origin => {
8
+ const validateThemeOrigin = (origin: string) => {
9
9
  const allowedOrigins = getMetaTagValue("sap-allowedThemeOrigins");
10
10
 
11
11
  return allowedOrigins && allowedOrigins.split(",").some(allowedOrigin => {
@@ -13,13 +13,13 @@ const validateThemeOrigin = origin => {
13
13
  });
14
14
  };
15
15
 
16
- const buildCorrectUrl = (oldUrl, newOrigin) => {
16
+ const buildCorrectUrl = (oldUrl: string, newOrigin: string) => {
17
17
  const oldUrlPath = new URL(oldUrl).pathname;
18
18
 
19
19
  return new URL(oldUrlPath, newOrigin).toString();
20
20
  };
21
21
 
22
- const validateThemeRoot = themeRoot => {
22
+ const validateThemeRoot = (themeRoot: string) => {
23
23
  let themeRootURL,
24
24
  resultUrl;
25
25
 
package/tsconfig.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "include": ["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,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,55 +0,0 @@
1
- const Zs=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerpolicy&&(i.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?i.credentials="include":r.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}};Zs();const _t={themes:{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_dark","sap_horizon_hcb","sap_horizon_hcw","sap_horizon_exp"]},languages:{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"]},locales:{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","sr_Latn","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]}},Vt=_t.themes.default,zt=_t.languages.default,O=_t.locales.default,ue=_t.locales.all;var Je=()=>{const e=navigator.languages,t=()=>navigator.language;return e&&e[0]||t()||navigator.userLanguage||navigator.browserLanguage||zt},Xe={},Ye=Xe.hasOwnProperty,qs=Xe.toString,Qe=Ye.toString,Gs=Qe.call(Object),de=function(e){var t,s;return!e||qs.call(e)!=="[object Object]"?!1:(t=Object.getPrototypeOf(e),t?(s=Ye.call(t,"constructor")&&t.constructor,typeof s=="function"&&Qe.call(s)===Gs):!0)},Ks=Object.create(null),ts=function(){var e,t,s,n,r,i,o=arguments[2]||{},a=3,c=arguments.length,l=arguments[0]||!1,d=arguments[1]?void 0:Ks;for(typeof o!="object"&&typeof o!="function"&&(o={});a<c;a++)if((r=arguments[a])!=null)for(n in r)e=o[n],s=r[n],!(n==="__proto__"||o===s)&&(l&&s&&(de(s)||(t=Array.isArray(s)))?(t?(t=!1,i=e&&Array.isArray(e)?e:[]):i=e&&de(e)?e:{},o[n]=ts(l,arguments[1],i,s)):s!==d&&(o[n]=s));return o},te=function(){var e=[!0,!1];return e.push.apply(e,arguments),ts.apply(null,e)};const es=new Map,Js=(e,t)=>{es.set(e,t)},S=e=>es.get(e),Xs=e=>{const t=document.querySelector(`META[name="${e}"]`);return t&&t.getAttribute("content")},Ys=e=>{const t=Xs("sap-allowedThemeOrigins");return t&&t.split(",").some(s=>s==="*"||e===s.trim())},Qs=(e,t)=>{const s=new URL(e).pathname;return new URL(s,t).toString()},tn=e=>{let t,s;try{t=new URL(e);const n=t.origin;return t=t.toString(),t.startsWith(".")||t.startsWith("/")?s=new URL(t,window.location.href).toString():n&&Ys(n)?s=t.toString():s=Qs(t,window.location.href),s.endsWith("/")||(s=`${s}/`),`${s}UI5/`}catch{}};let he=!1,y={animationMode:"full",theme:Vt,themeRoot:null,rtl:null,language:null,calendarType:null,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const en=()=>($(),y.animationMode),sn=()=>($(),y.theme),nn=()=>($(),y.themeRoot),rn=()=>($(),y.rtl),on=()=>($(),y.language),an=()=>($(),y.fetchDefaultLanguage),cn=()=>($(),y.noConflict),ln=()=>($(),y.calendarType),un=()=>($(),y.formatSettings),ft=new Map;ft.set("true",!0);ft.set("false",!1);const dn=()=>{const e=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let t;if(e){try{t=JSON.parse(e.innerHTML)}catch{console.warn("Incorrect data-sap-ui-config format. Please use JSON")}t&&(y=te(y,t))}},hn=()=>{const e=new URLSearchParams(window.location.search);e.forEach((t,s)=>{const n=s.split("sap-").length;n===0||n===s.split("sap-ui-").length||fe(s,t,"sap")}),e.forEach((t,s)=>{!s.startsWith("sap-ui")||fe(s,t,"sap-ui")})},fn=e=>{const t=e.split("@")[1];return tn(t)},pn=(e,t)=>e==="theme"&&t.includes("@")?t.split("@")[0]:t,fe=(e,t,s)=>{const n=t.toLowerCase(),r=e.split(`${s}-`)[1];ft.has(t)&&(t=ft.get(n)),r==="theme"?(y.theme=pn(r,t),t&&t.includes("@")&&(y.themeRoot=fn(t))):y[r]=t},gn=()=>{const e=S("OpenUI5Support");if(!e||!e.isLoaded())return;const t=e.getConfigurationSettingsObject();y=te(y,t)},$=()=>{he||(dn(),hn(),gn(),he=!0)};class R{constructor(){this._eventRegistry=new Map}attachEvent(t,s){const n=this._eventRegistry,r=n.get(t);if(!Array.isArray(r)){n.set(t,[s]);return}r.includes(s)||r.push(s)}detachEvent(t,s){const n=this._eventRegistry,r=n.get(t);if(!r)return;const i=r.indexOf(s);i!==-1&&r.splice(i,1),r.length===0&&n.delete(t)}fireEvent(t,s){const r=this._eventRegistry.get(t);return r?r.map(i=>i.call(this,s)):[]}fireEventAsync(t,s){return Promise.all(this.fireEvent(t,s))}isHandlerAttached(t,s){const r=this._eventRegistry.get(t);return r?r.includes(s):!1}hasListeners(t){return!!this._eventRegistry.get(t)}}const mn=new R,yn="languageChange",ss=e=>{mn.attachEvent(yn,e)},pe=10;class _n{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(s=>s!==t),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return this.list.length===0}isAdded(t){return this.lookup.has(t)}process(t){let s;const n=new Map;for(s=this.shift();s;){const r=n.get(s)||0;if(r>pe)throw new Error(`Web component processed too many times this task, max allowed is: ${pe}`);t(s),n.set(s,r+1),s=this.shift()}}}const ns=e=>{const t=[];return e.forEach(s=>{t.push(s)}),t},rs=(e,t=document.body)=>{let s=document.querySelector(e);return s||(s=document.createElement(e),t.insertBefore(s,t.firstChild))},wn=()=>rs("ui5-shared-resources",document.head),x=(e,t)=>{const s=e.split(".");let n=wn();for(let r=0;r<s.length;r++){const i=s[r],o=r===s.length-1;Object.prototype.hasOwnProperty.call(n,i)||(n[i]=o?t:{}),n=n[i]}return n},ge={version:"1.9.3",major:1,minor:9,patch:3,suffix:"",isNext:!1,buildTime:1671194601};let at,vn="";const $t=new Map,G=x("Runtimes",[]),An=()=>{at===void 0&&(at=G.length,G.push({...ge,alias:vn,description:`Runtime ${at} - ver ${ge.version}`}))},is=()=>at,Sn=(e,t)=>{const s=`${e},${t}`;if($t.has(s))return $t.get(s);const n=G[e],r=G[t];if(!n||!r)throw new Error("Invalid runtime index supplied");if(n.isNext||r.isNext)return n.buildTime-r.buildTime;const i=n.major-r.major;if(i)return i;const o=n.minor-r.minor;if(o)return o;const a=n.patch-r.patch;if(a)return a;const l=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(n.suffix,r.suffix);return $t.set(s,l),l},$n=()=>G,os=x("Tags",new Map),ee=new Set;let M={},bt;const as="unknown",me=e=>{ee.add(e),os.set(e,is())},bn=e=>ee.has(e),Cn=()=>ns(ee),Tn=e=>{let t=os.get(e);t===void 0&&(t=as),M[t]=M[t]||new Set,M[t].add(e),bt||(bt=setTimeout(()=>{En(),M={},bt=void 0},1e3))},En=()=>{const e=$n(),t=is(),s=e[t];let n="Multiple UI5 Web Components instances detected.";e.length>1&&(n=`${n}
2
- Loading order (versions before 1.1.0 not listed): ${e.map(r=>`
3
- ${r.description}`).join("")}`),Object.keys(M).forEach(r=>{let i,o;r===as?(i=1,o={description:"Older unknown runtime"}):(i=Sn(t,r),o=e[r]);let a;i>0?a="an older":i<0?a="a newer":a="the same",n=`${n}
4
-
5
- "${s.description}" failed to define ${M[r].size} tag(s) as they were defined by a runtime of ${a} version "${o.description}": ${ns(M[r]).sort().join(", ")}.`,i>0?n=`${n}
6
- WARNING! If your code uses features of the above web components, unavailable in ${o.description}, it might not work as expected!`:n=`${n}
7
- Since the above web components were defined by the same or newer version runtime, they should be compatible with your code.`}),n=`${n}
8
-
9
- To prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`,console.warn(n)},cs=new Set,Ln=e=>{cs.add(e)},Mn=e=>cs.has(e),se=new Set,On=new R,H=new _n;let D,ct,Ct,rt;const ls=async e=>{H.add(e),await In()},us=e=>{On.fireEvent("beforeComponentRender",e),se.add(e),e._render()},Pn=e=>{H.remove(e),se.delete(e)},In=async()=>{rt||(rt=new Promise(e=>{window.requestAnimationFrame(()=>{H.process(us),rt=null,e(),Ct||(Ct=setTimeout(()=>{Ct=void 0,H.isEmpty()&&Dn()},200))})})),await rt},Rn=()=>D||(D=new Promise(e=>{ct=e,window.requestAnimationFrame(()=>{H.isEmpty()&&(D=void 0,e())})}),D),xn=()=>{const e=Cn().map(t=>customElements.whenDefined(t));return Promise.all(e)},ne=async()=>{await xn(),await Rn()},Dn=()=>{!H.isEmpty()||ct&&(ct(),ct=void 0,D=void 0)},re=async e=>{se.forEach(t=>{const s=t.constructor.getMetadata().getTag(),n=Mn(t.constructor),r=t.constructor.getMetadata().isLanguageAware(),i=t.constructor.getMetadata().isThemeAware();(!e||e.tag===s||e.rtlAware&&n||e.languageAware&&r||e.themeAware&&i)&&ls(t)}),await ne()};let Tt,Wt;const pt=()=>(Tt===void 0&&(Tt=on()),Tt),Un=e=>{Wt=e},kn=()=>(Wt===void 0&&Un(an()),Wt),Nn=/^((?:[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 Hn{constructor(t){const s=Nn.exec(t.replace(/_/g,"-"));if(s===null)throw new Error(`The given language ${t} does not adhere to BCP-47.`);this.sLocaleId=t,this.sLanguage=s[1]||null,this.sScript=s[2]||null,this.sRegion=s[3]||null,this.sVariant=s[4]&&s[4].slice(1)||null,this.sExtension=s[5]&&s[5].slice(1)||null,this.sPrivateUse=s[6]||null,this.sLanguage&&(this.sLanguage=this.sLanguage.toLowerCase()),this.sScript&&(this.sScript=this.sScript.toLowerCase().replace(/^[a-z]/,n=>n.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 Et=new Map,ds=e=>(Et.has(e)||Et.set(e,new Hn(e)),Et.get(e)),ye=e=>{try{if(e&&typeof e=="string")return ds(e)}catch{}},Zt=e=>e?ye(e):pt()?ds(pt()):ye(Je()),Bn=/^((?:[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,_e=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,jn={he:"iw",yi:"ji",id:"in",sr:"sh"},Fn=e=>{let t;if(!e)return O;if(typeof e=="string"&&(t=Bn.exec(e.replace(/_/g,"-")))){let s=t[1].toLowerCase(),n=t[3]?t[3].toUpperCase():void 0;const r=t[2]?t[2].toLowerCase():void 0,i=t[4]?t[4].slice(1):void 0,o=t[6];return s=jn[s]||s,o&&(t=_e.exec(o))||i&&(t=_e.exec(i))?`en_US_${t[1].toLowerCase()}`:(s==="zh"&&!n&&(r==="hans"?n="CN":r==="hant"&&(n="TW")),s+(n?"_"+n+(i?"_"+i.replace("-","_"):""):""))}},Vn=e=>{if(!e)return O;if(e==="zh_HK")return"zh_TW";const t=e.lastIndexOf("_");return t>=0?e.slice(0,t):e!==O?O:""},we=new Set,ve=new Set,ie=new Map,Lt=new Map,oe=new Map,zn=(e,t,s)=>{const n=`${e}/${t}`;oe.set(n,s)},Ae=(e,t)=>{ie.set(e,t)},Wn=e=>ie.get(e),Se=(e,t)=>{const s=`${e}/${t}`;return oe.has(s)},Zn=(e,t)=>{const s=`${e}/${t}`,n=oe.get(s);return Lt.get(s)||Lt.set(s,n(t)),Lt.get(s)},qn=e=>{we.has(e)||(console.warn(`[${e}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${e}/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.`),we.add(e))},hs=async e=>{const t=Zt().getLanguage(),s=Zt().getRegion();let n=Fn(t+(s?`-${s}`:""));for(;n!==zt&&!Se(e,n);)n=Vn(n);const r=kn();if(n===zt&&!r){Ae(e,null);return}if(!Se(e,n)){qn(e);return}try{const i=await Zn(e,n);Ae(e,i)}catch(i){ve.has(i.message)||(ve.add(i.message),console.error(i.message))}};ss(()=>{const e=[...ie.keys()];return Promise.all(e.map(hs))});const Gn=new Map,gt=new Map,Mt=new Map,$e=new Set;let be=!1;const Kn={iw:"he",ji:"yi",in:"id"},Ce=e=>{be||(console.warn(`[LocaleData] Supported locale "${e}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),be=!0)},Jn=(e,t,s)=>{e=e&&Kn[e]||e,e==="no"&&(e="nb"),e==="zh"&&!t&&(s==="Hans"?t="CN":s==="Hant"&&(t="TW")),(e==="sh"||e==="sr"&&s==="Latn")&&(e="sr",t="Latn");let n=`${e}_${t}`;return ue.includes(n)||(n=e,ue.includes(n))?gt.has(n)?n:(Ce(n),O):O},Te=(e,t)=>{Gn.set(e,t)},Xn=e=>{const t=gt.get(e);return Mt.get(e)||Mt.set(e,t(e)),Mt.get(e)},Yn=async(e,t,s)=>{const n=Jn(e,t,s),r=S("OpenUI5Support");if(r){const i=r.getLocaleDataObject();if(i){Te(n,i);return}}try{const i=await Xn(n);Te(n,i)}catch(i){$e.has(i.message)||($e.add(i.message),console.error(i.message))}},Qn=(e,t)=>{gt.set(e,t)};Qn("en",async e=>(await fetch("https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json")).json());ss(()=>{const e=Zt();return Yn(e.getLanguage(),e.getRegion(),e.getScript())});const fs=new Map,ps=new Map,gs=new Set,mt=new Set,C=(e,t,s)=>{ps.set(`${e}/${t}`,s),gs.add(e),mt.add(t)},ms=async(e,t)=>{const s=fs.get(`${e}_${t}`);if(s!==void 0)return s;if(!mt.has(t)){const n=[...mt.values()].join(", ");return console.warn(`You have requested a non-registered theme ${t} - falling back to ${Vt}. Registered themes are: ${n}`),Ee(e,Vt)}return Ee(e,t)},Ee=async(e,t)=>{const s=ps.get(`${e}/${t}`);if(!s){console.error(`Theme [${t}] not registered for package [${e}]`);return}let n;try{n=await s(t)}catch(i){console.error(e,i.message);return}const r=n._||n;return fs.set(`${e}_${t}`,r),r},ys=()=>gs,tr=e=>mt.has(e),Le={"SAP-icons-TNT":"tnt",BusinessSuiteInAppSymbols:"business-suite",horizon:"SAP-icons-v5"},er=(e,t={})=>{const s=document.createElement("style");return s.type="text/css",Object.entries(t).forEach(n=>s.setAttribute(...n)),s.textContent=e,document.head.appendChild(s),s},sr=(e,t={})=>{const s=document.createElement("link");return s.type="text/css",s.rel="stylesheet",Object.entries(t).forEach(n=>s.setAttribute(...n)),s.href=e,document.head.appendChild(s),new Promise(n=>{s.addEventListener("load",n),s.addEventListener("error",n)})},wt=(e,t)=>t?`${e}|${t}`:e,vt=(e,t,s="")=>{const n=typeof e=="string"?e:e.content;if(document.adoptedStyleSheets){const r=new CSSStyleSheet;r.replaceSync(n),r._ui5StyleId=wt(t,s),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r]}else{const r={};r[t]=s,er(n,r)}},nr=(e,t,s="")=>{const n=typeof e=="string"?e:e.content;document.adoptedStyleSheets?document.adoptedStyleSheets.find(r=>r._ui5StyleId===wt(t,s)).replaceSync(n||""):document.querySelector(`head>style[${t}="${s}"]`).textContent=n||""},At=(e,t="")=>document.adoptedStyleSheets?!!document.adoptedStyleSheets.find(s=>s._ui5StyleId===wt(e,t)):!!document.querySelector(`head>style[${e}="${t}"]`),rr=(e,t="")=>{if(document.adoptedStyleSheets)document.adoptedStyleSheets=document.adoptedStyleSheets.filter(s=>s._ui5StyleId!==wt(e,t));else{const s=document.querySelector(`head > style[${e}="${t}"]`);s&&s.parentElement.removeChild(s)}},_s=(e,t,s="")=>{At(t,s)?nr(e,t,s):vt(e,t,s)},U=new Set,ir=()=>{let e=document.querySelector(".sapThemeMetaData-Base-baseLib")||document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");if(e)return getComputedStyle(e).backgroundImage;e=document.createElement("span"),e.style.display="none",e.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(e);let t=getComputedStyle(e).backgroundImage;return t==="none"&&(e.classList.add("sapThemeMetaData-UI5-sap-ui-core"),t=getComputedStyle(e).backgroundImage),document.body.removeChild(e),t},or=e=>{const t=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(e);if(t&&t.length>=2){let s=t[1];if(s=s.replace(/\\"/g,'"'),s.charAt(0)!=="{"&&s.charAt(s.length-1)!=="}")try{s=decodeURIComponent(s)}catch{U.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),U.add("decode"));return}try{return JSON.parse(s)}catch{U.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),U.add("parse"))}}},ar=e=>{let t,s;try{t=e.Path.match(/\.([^.]+)\.css_variables$/)[1],s=e.Extends[0]}catch{U.has("object")||(console.warn("Malformed theme metadata Object",e),U.add("object"));return}return{themeName:t,baseThemeName:s}},Me=()=>{const e=ir();if(!e||e==="none")return;const t=or(e);return ar(t)},cr=new R,lr="themeLoaded",ur=e=>cr.fireEvent(lr,e);let Ot;const ws=()=>(Ot===void 0&&(Ot=nn()),Ot),dr=e=>`${ws()}Base/baseLib/${e}/css_variables.css`,hr=async e=>{const t=document.querySelector(`[sap-ui-webcomponents-theme="${e}"]`);t&&document.head.removeChild(t),await sr(dr(e),{"sap-ui-webcomponents-theme":e})},K="@ui5/webcomponents-theming",fr=()=>ys().has(K),pr=async e=>{if(!fr())return;const t=await ms(K,e);t&&_s(t,"data-ui5-theme-properties",K)},gr=()=>{rr("data-ui5-theme-properties",K)},mr=async e=>{ys().forEach(async s=>{if(s===K)return;const n=await ms(s,e);n&&_s(n,"data-ui5-theme-properties",s)})},yr=async e=>{const t=Me();if(t)return t;const s=S("OpenUI5Support");if(s){if(s.cssVariablesLoaded())return{themeName:s.getConfigurationSettingsObject().theme}}else if(ws())return await hr(e),Me()},vs=async e=>{const t=await yr(e);!t||e!==t.themeName?await pr(e):gr();const s=tr(e)?e:t&&t.baseThemeName;await mr(s),ur(e)};let k;const St=()=>(k===void 0&&(k=sn()),k),As=async e=>{k!==e&&(k=e,await vs(k),await re({themeAware:!0}))},_r=e=>St().startsWith(e),wr=new Map,Ss=()=>{const e=St(),t=wr.get(e);return t||(_r("sap_horizon")?"SAP-icons-v5":"SAP-icons")},Oe=new Map,yt=x("SVGIcons.registry",new Map),Pt=x("SVGIcons.promises",new Map),Pe="ICON_NOT_FOUND",vr=async e=>{if(!Pt.has(e)){if(!Oe.has(e))throw new Error(`No loader registered for the ${e} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const t=Oe.get(e);Pt.set(e,t(e))}return Pt.get(e)},Ar=e=>{Object.keys(e.data).forEach(t=>{const s=e.data[t];Sr(t,{pathData:s.path||s.paths,ltr:s.ltr,accData:s.acc,collection:e.collection,packageName:e.packageName})})},Sr=(e,{pathData:t,ltr:s,accData:n,collection:r,packageName:i,customTemplate:o,viewBox:a}={})=>{r||(r=Ss());const c=`${r}/${e}`;yt.set(c,{pathData:t,ltr:s,accData:n,packageName:i,customTemplate:o,viewBox:a})},$r=e=>{e.startsWith("sap-icon://")&&(e=e.replace("sap-icon://",""));let t;[e,t]=e.split("/").reverse(),t=t||Ss(),t=Cr(t),e=e.replace("icon-","");const s=`${t}/${e}`;return{name:e,collection:t,registryKey:s}},It=async e=>{const{collection:t,registryKey:s}=$r(e);let n=Pe;try{n=await vr(t)}catch(r){console.error(r.message)}return n===Pe?n:(yt.has(s)||Ar(n),yt.get(s))},br=async()=>(await It("edit"),await It("tnt/arrow"),await It("business-suite/3d"),Array.from(yt.keys())),Cr=e=>Le[e]?Le[e]:e,qt=x("PopupUtilsData",{});qt.currentZIndex=qt.currentZIndex||100;const $s=()=>qt.currentZIndex,b=()=>{const e=window.sap;return e&&e.ui&&typeof e.ui.getCore=="function"&&e.ui.getCore()},Tr=()=>!!b(),Er=()=>{const e=b();return e?new Promise(t=>{e.attachInit(()=>{window.sap.ui.require(["sap/ui/core/LocaleData","sap/ui/core/Popup"],(s,n)=>{n.setInitialZIndex($s()),t()})})}):Promise.resolve()},Lr=()=>{const e=b();if(!e)return;const t=e.getConfiguration(),s=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:t.getAnimationMode(),language:t.getLanguage(),theme:t.getTheme(),themeRoot:t.getThemeRoot(),rtl:t.getRTL(),calendarType:t.getCalendarType(),formatSettings:{firstDayOfWeek:s?s.getInstance(t.getLocale()).getFirstDayOfWeek():void 0}}},Mr=()=>{const e=b();if(!e)return;const t=e.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(t.getLocale())._get()},Or=()=>{const e=b(),t=e.getConfiguration();e.attachThemeChanged(async()=>{await As(t.getTheme())})},Pr=()=>{!b()||Or()},Ir=()=>{if(!b())return;const t=[...document.head.children].find(s=>s.id==="sap-ui-theme-sap.ui.core");if(!!t)return!!t.href.match(/\/css(-|_)variables\.css/)},Rr=()=>b()?window.sap.ui.require("sap/ui/core/Popup").getNextZIndex():void 0,xr=()=>{if(!b())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex($s())},Dr={isLoaded:Tr,init:Er,getConfigurationSettingsObject:Lr,getLocaleDataObject:Mr,attachListeners:Pr,cssVariablesLoaded:Ir,getNextZIndex:Rr,setInitialZIndex:xr};Js("OpenUI5Support",Dr);const Ur=()=>new Promise(e=>{document.body?e():document.addEventListener("DOMContentLoaded",()=>{e()})});var kr={packageName:"@ui5/webcomponents-base",fileName:"FontFace.css",content:`@font-face{font-family:"72";font-style:normal;font-weight:400;src:local("72"),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:local('72-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72";font-style:normal;font-weight:700;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:local('72-Bold-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Bold';font-style:normal;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Boldfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Light';font-style:normal;src:local('72-Light'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Lightfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:local('72Black'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2")}`},Nr={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 Hr=()=>{const e=S("OpenUI5Support");(!e||!e.isLoaded())&&Br(),jr()},Br=()=>{At("data-ui5-font-face")||vt(kr,"data-ui5-font-face")},jr=()=>{At("data-ui5-font-face-override")||vt(Nr,"data-ui5-font-face-override")};var Fr={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}"};const Vr=()=>{At("data-ui5-system-css-vars")||vt(Fr,"data-ui5-system-css-vars")};let it;const zr=async()=>it||(it=new Promise(async e=>{An();const t=S("OpenUI5Support"),s=t?t.isLoaded():!1,n=S("F6Navigation");t&&await t.init(),n&&!s&&n.init(),await Ur(),await vs(St()),t&&t.attachListeners(),Hr(),Vr(),e()}),it);class Z{static isValid(t){}static attributeToProperty(t){return t}static propertyToAttribute(t){return`${t}`}static valuesAreEqual(t,s){return t===s}static generateTypeAccessors(t){Object.keys(t).forEach(s=>{Object.defineProperty(this,s,{get(){return t[s]}})})}}const lt=(e,t,s=!1)=>{if(typeof e!="function"||typeof t!="function")return!1;if(s&&e===t)return!0;let n=e;do n=Object.getPrototypeOf(n);while(n!==null&&n!==t);return n===t},Rt=new Map,xt=new Map,Ie=e=>{if(!Rt.has(e)){const t=Wr(e.split("-"));Rt.set(e,t)}return Rt.get(e)},bs=e=>{if(!xt.has(e)){const t=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();xt.set(e,t)}return xt.get(e)},Wr=e=>e.map((t,s)=>s===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(""),Zr=e=>{if(!(e instanceof HTMLElement))return"default";const t=e.getAttribute("slot");if(t){const s=t.match(/^(.+?)-\d+$/);return s?s[1]:t}return"default"},Gt=e=>e&&e instanceof HTMLElement&&e.localName==="slot",Cs=e=>Gt(e)?e.assignedNodes({flatten:!0}).filter(t=>t instanceof HTMLElement):[e],qr=e=>{const t=(s,n)=>s.concat(Cs(n));return e.reduce(t,[])};let Gr,Re={include:[/^ui5-/],exclude:[]};const Dt=new Map,Ts=()=>Gr,Kt=e=>{if(!Dt.has(e)){const t=Re.include.some(s=>e.match(s))&&!Re.exclude.some(s=>e.match(s));Dt.set(e,t)}return Dt.get(e)},Jt=e=>{if(Kt(e))return Ts()};class Kr{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},s=this.slotsAreManaged(),n=this.getProperties();for(const r in n){const i=n[r].type,o=n[r].defaultValue;i===Boolean?(t[r]=!1,o!==void 0&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):n[r].multiple?t[r]=[]:i===Object?t[r]="defaultValue"in n[r]?n[r].defaultValue:{}:i===String?t[r]="defaultValue"in n[r]?n[r].defaultValue:"":t[r]=o}if(s){const r=this.getSlots();for(const[i,o]of Object.entries(r)){const a=o.propertyName||i;t[a]=[]}}return this._initialState=t,t}static validatePropertyValue(t,s){return s.multiple?t.map(r=>xe(r,s)):xe(t,s)}static validateSlotValue(t,s){return Jr(t,s)}getPureTag(){return this.metadata.tag}getTag(){const t=this.metadata.tag,s=Jt(t);return s?`${t}-${s}`:t}getAltTag(){const t=this.metadata.altTag;if(!t)return;const s=Jt(t);return s?`${t}-${s}`:t}hasAttribute(t){const s=this.getProperties()[t];return s.type!==Object&&!s.noAttribute&&!s.multiple}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute,this).map(bs)}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,s])=>s.individualSlots)}slotsAreManaged(){return!!this.metadata.managedSlots}supportsF6FastNavigation(){return!!this.metadata.fastNavigation}getProperties(){return this.metadata.properties||{}}getEvents(){return this.metadata.events||{}}isLanguageAware(){return!!this.metadata.languageAware}isThemeAware(){return!!this.metadata.themeAware}shouldInvalidateOnChildChange(t,s,n){const r=this.getSlots()[t].invalidateOnChildChange;if(r===void 0)return!1;if(typeof r=="boolean")return r;if(typeof r=="object"){if(s==="property"){if(r.properties===void 0)return!1;if(typeof r.properties=="boolean")return r.properties;if(Array.isArray(r.properties))return r.properties.includes(n);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if(s==="slot"){if(r.slots===void 0)return!1;if(typeof r.slots=="boolean")return r.slots;if(Array.isArray(r.slots))return r.slots.includes(n);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 xe=(e,t)=>{const s=t.type;if(s===Boolean)return typeof e=="boolean"?e:!1;if(s===String)return typeof e=="string"||typeof e=="undefined"||e===null?e:e.toString();if(s===Object)return typeof e=="object"?e:t.defaultValue;if(lt(s,Z))return s.isValid(e)?e:t.defaultValue},Jr=(e,t)=>(e&&Cs(e).forEach(s=>{if(!(s instanceof t.type))throw new Error(`${s} is not of type ${t.type}`)}),e);customElements.get("ui5-static-area")||customElements.define("ui5-static-area",class extends HTMLElement{});const Xr=(e,t)=>{const s=Yr(t),n=Ts();return e(t,s,n)},Yr=e=>{const t=e.constructor.getMetadata().getPureTag(),s=e.constructor.getUniqueDependencies().map(n=>n.getMetadata().getPureTag()).filter(Kt);return Kt(t)&&s.push(t),s},Qr=x("CustomStyle.eventProvider",new R),ti="CustomCSSChange",ae=e=>{Qr.attachEvent(ti,e)},De=x("CustomStyle.customCSSFor",{});ae(e=>{re({tag:e})});const ei=e=>De[e]?De[e].join(""):"",Ut=e=>Array.isArray(e)?Es(e.filter(t=>!!t)).map(t=>typeof t=="string"?t:t.content).join(" "):typeof e=="string"?e:e.content,Es=e=>e.reduce((t,s)=>t.concat(Array.isArray(s)?Es(s):s),[]),ut=new Map;ae(e=>{ut.delete(`${e}_normal`)});const Ls=(e,t=!1)=>{const s=e.getMetadata().getTag(),n=`${s}_${t?"static":"normal"}`,r=S("OpenUI5Enablement");if(!ut.has(n)){let i,o="";if(r&&(o=Ut(r.getBusyIndicatorStyles())),t)i=Ut(e.staticAreaStyles);else{const a=ei(s)||"";i=`${Ut(e.styles)} ${a}`}i=`${i} ${o}`,ut.set(n,i)}return ut.get(n)},dt=new Map;ae(e=>{dt.delete(`${e}_normal`)});const si=(e,t=!1)=>{const n=`${e.getMetadata().getTag()}_${t?"static":"normal"}`;if(!dt.has(n)){const r=Ls(e,t),i=new CSSStyleSheet;i.replaceSync(r),dt.set(n,[i])}return dt.get(n)},Xt=(e,t=!1)=>{let s;const n=t?"staticAreaTemplate":"template",r=t?e.staticAreaItem.shadowRoot:e.shadowRoot,i=Xr(e.constructor[n],e);document.adoptedStyleSheets?r.adoptedStyleSheets=si(e.constructor,t):s=Ls(e.constructor,t),e.constructor.render(i,r,s,t,{host:e})},ni="--_ui5_content_density",ri=e=>getComputedStyle(e).getPropertyValue(ni);var ii=e=>{const t=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(e);return t&&t[2]?t[2].split(/,/):null};const oi={iw:"he",ji:"yi",in:"id",sh:"sr"},ai=ii("$cldr-rtl-locales:ar,fa,he$")||[],ci=e=>(e=e&&oi[e]||e,ai.indexOf(e)>=0),Ms=()=>{const e=rn();return e!==null?!!e:ci(pt()||Je())},li="--_ui5_dir",Os=e=>{const t=window.document,s=["ltr","rtl"],n=getComputedStyle(e).getPropertyValue(li);return s.includes(n)?n:s.includes(e.dir)?e.dir:s.includes(t.documentElement.dir)?t.documentElement.dir:s.includes(t.body.dir)?t.body.dir:Ms()?"rtl":void 0};class q extends HTMLElement{constructor(){super(),this._rendered=!1,this.attachShadow({mode:"open"}),this.pureTagName="ui5-static-area-item",this.popupIntegrationAttr="data-sap-ui-integration-popup-content"}setOwnerElement(t){this.ownerElement=t,this.classList.add(this.ownerElement._id),this.ownerElement.hasAttribute("data-ui5-static-stable")&&this.setAttribute("data-ui5-stable",this.ownerElement.getAttribute("data-ui5-static-stable"))}update(){this._rendered&&(this._updateAdditionalAttrs(),this._updateContentDensity(),this._updateDirection(),Xt(this.ownerElement,!0))}_updateContentDensity(){ri(this.ownerElement)==="compact"?(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=Os(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}_updateAdditionalAttrs(){this.setAttribute(this.pureTagName,""),this.setAttribute(this.popupIntegrationAttr,"")}async getDomRef(){return this._updateContentDensity(),this._rendered||(this._rendered=!0,Xt(this.ownerElement,!0)),await ne(),this.shadowRoot}static getTag(){const t="ui5-static-area-item",s=Jt(t);return s?`${t}-${s}`:t}static createInstance(){return customElements.get(q.getTag())||customElements.define(q.getTag(),q),document.createElement(this.getTag())}}const Yt=new WeakMap;let ui=(e,t,s)=>{const n=new MutationObserver(t);return n.observe(e,s),n},di=e=>{e.disconnect()};const hi=(e,t,s)=>{const n=ui(e,t,s);Yt.set(e,n)},fi=e=>{const t=Yt.get(e);t&&(di(t),Yt.delete(e))},pi=["value-changed"],gi=e=>pi.includes(e);let ht;const mi=e=>{const t=ce();return!(t.events&&t.events.includes&&t.events.includes(e))},ce=()=>(ht===void 0&&(ht=cn()),ht),yi=e=>{const t=ce();return gi(e)?!1:t===!0?!0:!mi(e)},_i=e=>{ht=e},wi=["disabled","title","hidden","role","draggable"],Ue=e=>wi.includes(e)||e.startsWith("aria")?!0:![HTMLElement,Element,Node].some(s=>s.prototype.hasOwnProperty(e)),ke=(e,t)=>{if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(e[s]!==t[s])return!1;return!0},vi=(e,t)=>class extends e{constructor(){super(),t&&t()}};let Ai=0;const Ne=new Map,kt=new Map;function V(e){this._suppressInvalidation||(this.onInvalidation(e),this._changedState.push(e),ls(this),this._eventProvider.fireEvent("invalidate",{...e,target:this}))}let He={};class T extends HTMLElement{constructor(){super(),this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new R;let t;this._domRefReadyPromise=new Promise(s=>{t=s}),this._domRefReadyPromise._deferredResolve=t,this._doNotSyncAttributes=new Set,this._initializeState(),this._upgradeAllProperties(),this.constructor._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id=`ui5wc_${++Ai}`),this.__id}async connectedCallback(){this.setAttribute(this.constructor.getMetadata().getPureTag(),""),this.constructor.getMetadata().supportsF6FastNavigation()&&this.setAttribute("data-sap-ui-fastnavgroup","true");const t=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!0,t&&(this._startObservingDOMChildren(),await this._processChildren()),this._inDOM&&(us(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,typeof this.onEnterDOM=="function"&&this.onEnterDOM())}disconnectedCallback(){const t=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,t&&this._stopObservingDOMChildren(),this._fullyConnected&&(typeof this.onExitDOM=="function"&&this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),Pn(this)}_startObservingDOMChildren(){if(!this.constructor.getMetadata().hasSlots())return;const s=this.constructor.getMetadata().canSlotText(),n={childList:!0,subtree:s,characterData:s};hi(this,this._processChildren.bind(this),n)}_stopObservingDOMChildren(){fi(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor.getMetadata().getSlots(),s=this.constructor.getMetadata().canSlotText(),n=Array.from(s?this.childNodes:this.children),r=new Map,i=new Map;for(const[d,h]of Object.entries(t)){const u=h.propertyName||d;i.set(u,d),r.set(u,[...this._state[u]]),this._clearSlot(d,h)}const o=new Map,a=new Map,c=n.map(async(d,h)=>{const u=Zr(d),f=t[u];if(f===void 0){const p=Object.keys(t).join(", ");console.warn(`Unknown slotName: ${u}, ignoring`,d,`Valid values are: ${p}`);return}if(f.individualSlots){const p=(o.get(u)||0)+1;o.set(u,p),d._individualSlot=`${u}-${p}`}if(d instanceof HTMLElement){const p=d.localName;if(p.includes("-")){if(!window.customElements.get(p)){const st=window.customElements.whenDefined(p);let nt=Ne.get(p);nt||(nt=new Promise(Ws=>setTimeout(Ws,1e3)),Ne.set(p,nt)),await Promise.race([st,nt])}window.customElements.upgrade(d)}}d=this.constructor.getMetadata().constructor.validateSlotValue(d,f),d.isUI5Element&&f.invalidateOnChildChange&&(d.attachInvalidate||d._attachChange).bind(d)(this._getChildChangeListener(u)),Gt(d)&&this._attachSlotChange(d,u);const g=f.propertyName||u;a.has(g)?a.get(g).push({child:d,idx:h}):a.set(g,[{child:d,idx:h}])});await Promise.all(c),a.forEach((d,h)=>{this._state[h]=d.sort((u,f)=>u.idx-f.idx).map(u=>u.child)});let l=!1;for(const[d,h]of Object.entries(t)){const u=h.propertyName||d;ke(r.get(u),this._state[u])||(V.call(this,{type:"slot",name:i.get(u),reason:"children"}),l=!0)}l||V.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,s){const n=s.propertyName||t;this._state[n].forEach(i=>{i&&i.isUI5Element&&(i.detachInvalidate||i._detachChange).bind(i)(this._getChildChangeListener(t)),Gt(i)&&this._detachSlotChange(i,t)}),this._state[n]=[]}attachInvalidate(t){this._eventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._eventProvider.detachEvent("invalidate",t)}_onChildChange(t,s){!this.constructor.getMetadata().shouldInvalidateOnChildChange(t,s.type,s.name)||V.call(this,{type:"slot",name:t,reason:"childchange",child:s.target})}attributeChangedCallback(t,s,n){if(this._doNotSyncAttributes.has(t))return;const r=this.constructor.getMetadata().getProperties(),i=t.replace(/^ui5-/,""),o=Ie(i);if(r.hasOwnProperty(o)){const a=r[o].type;a===Boolean?n=n!==null:lt(a,Z)&&(n=a.attributeToProperty(n)),this[o]=n}}_updateAttribute(t,s){if(!this.constructor.getMetadata().hasAttribute(t))return;const r=this.constructor.getMetadata().getProperties()[t].type,i=bs(t),o=this.getAttribute(i);if(r===Boolean)s===!0&&o===null?this.setAttribute(i,""):s===!1&&o!==null&&this.removeAttribute(i);else if(lt(r,Z)){const a=r.propertyToAttribute(s);a===null?(this._doNotSyncAttributes.add(i),this.removeAttribute(i),this._doNotSyncAttributes.delete(i)):this.setAttribute(i,a)}else typeof s!="object"&&o!==s&&this.setAttribute(i,s)}_upgradeProperty(t){if(this.hasOwnProperty(t)){const s=this[t];delete this[t],this[t]=s}}_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,s){t.addEventListener("slotchange",this._getSlotChangeListener(s))}_detachSlotChange(t,s){t.removeEventListener("slotchange",this._getSlotChangeListener(s))}_onSlotChange(t){V.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,typeof this.onBeforeRendering=="function"&&this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],this.constructor._needsShadowDOM()&&Xt(this),this.staticAreaItem&&this.staticAreaItem.update(),t&&this._assignIndividualSlotsToChildren(),typeof this.onAfterRendering=="function"&&this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach(s=>{s._individualSlot&&s.setAttribute("slot",s._individualSlot)})}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(typeof this._getRealDomRef=="function")return this._getRealDomRef();if(!this.shadowRoot||this.shadowRoot.children.length===0)return;const t=[...this.shadowRoot.children].filter(s=>!["link","style"].includes(s.localName));return t.length!==1&&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&&typeof t.focus=="function"&&t.focus()}fireEvent(t,s,n=!1,r=!0){const i=this._fireEvent(t,s,n,r),o=Ie(t);return o!==t?i&&this._fireEvent(o,s,n):i}_fireEvent(t,s,n=!1,r=!0){const i=new CustomEvent(`ui5-${t}`,{detail:s,composed:!1,bubbles:r,cancelable:n}),o=this.dispatchEvent(i);if(yi(t))return o;const a=new CustomEvent(t,{detail:s,composed:!1,bubbles:r,cancelable:n});return this.dispatchEvent(a)&&o}getSlottedNodes(t){return qr(this[t])}get effectiveDir(){return Ln(this.constructor),Os(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=q.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||rs("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,s=this.getMetadata().slotsAreManaged(),n=this.getMetadata().getProperties();for(const[r,i]of Object.entries(n)){if(Ue(r)||console.warn(`"${r}" is not a valid property name. Use a name that does not collide with DOM APIs`),i.type===Boolean&&i.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All booleans are false by default.`);if(i.type===Array)throw new Error(`Wrong type for property "${r}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(i.type===Object&&i.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All properties of type "Object" are empty objects by default.`);if(i.multiple&&i.defaultValue)throw new Error(`Cannot set a default value for property "${r}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,r,{get(){if(this._state[r]!==void 0)return this._state[r];const o=i.defaultValue;return i.type===Boolean?!1:i.type===String?o:i.multiple?[]:o},set(o){let a;o=this.constructor.getMetadata().constructor.validatePropertyValue(o,i);const c=this._state[r];i.multiple&&i.compareValues?a=!ke(c,o):lt(i.type,Z)?a=!i.type.valuesAreEqual(c,o):a=c!==o,a&&(this._state[r]=o,V.call(this,{type:"property",name:r,newValue:o,oldValue:c}),this._updateAttribute(r,o))}})}if(s){const r=this.getMetadata().getSlots();for(const[i,o]of Object.entries(r)){Ue(i)||console.warn(`"${i}" is not a valid property name. Use a name that does not collide with DOM APIs`);const a=o.propertyName||i;Object.defineProperty(t,a,{get(){return this._state[a]!==void 0?this._state[a]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get metadata(){return He}static set metadata(t){He=t}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!kt.has(this)){const t=this.dependencies.filter((s,n,r)=>r.indexOf(s)===n);kt.set(this,t)}return kt.get(this)}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map(t=>t.define()))}static async onDefine(){return Promise.resolve()}static async define(){await zr(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),s=this.getMetadata().getAltTag(),n=bn(t),r=customElements.get(t);return r&&!n?Tn(t):r||(this._generateAccessors(),me(t),window.customElements.define(t,this),s&&!customElements.get(s)&&(me(s),window.customElements.define(s,vi(this,()=>{console.log(`The ${s} 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 s=this;for(;s!==T;)s=Object.getPrototypeOf(s),t.unshift(s.metadata);const n=te({},...t);return this._metadata=new Kr(n),this._metadata}}/**
10
- * @license
11
- * Copyright 2017 Google LLC
12
- * SPDX-License-Identifier: BSD-3-Clause
13
- */var Nt;const B=globalThis.trustedTypes,Be=B?B.createPolicy("lit-html",{createHTML:e=>e}):void 0,A=`lit$${(Math.random()+"").slice(9)}$`,le="?"+A,Si=`<${le}>`,j=document,J=(e="")=>j.createComment(e),X=e=>e===null||typeof e!="object"&&typeof e!="function",Ps=Array.isArray,Is=e=>{var t;return Ps(e)||typeof((t=e)===null||t===void 0?void 0:t[Symbol.iterator])=="function"},z=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,je=/-->/g,Fe=/>/g,E=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,Ve=/'/g,ze=/"/g,Rs=/^(?:script|style|textarea|title)$/i,$i=e=>(t,...s)=>({_$litType$:e,strings:t,values:s}),bi=$i(1),P=Symbol.for("lit-noChange"),m=Symbol.for("lit-nothing"),We=new WeakMap,Ci=(e,t,s)=>{var n,r;const i=(n=s==null?void 0:s.renderBefore)!==null&&n!==void 0?n:t;let o=i._$litPart$;if(o===void 0){const a=(r=s==null?void 0:s.renderBefore)!==null&&r!==void 0?r:null;i._$litPart$=o=new F(t.insertBefore(J(),a),a,void 0,s!=null?s:{})}return o._$AI(e),o},N=j.createTreeWalker(j,129,null,!1),xs=(e,t)=>{const s=e.length-1,n=[];let r,i=t===2?"<svg>":"",o=z;for(let c=0;c<s;c++){const l=e[c];let d,h,u=-1,f=0;for(;f<l.length&&(o.lastIndex=f,h=o.exec(l),h!==null);)f=o.lastIndex,o===z?h[1]==="!--"?o=je:h[1]!==void 0?o=Fe:h[2]!==void 0?(Rs.test(h[2])&&(r=RegExp("</"+h[2],"g")),o=E):h[3]!==void 0&&(o=E):o===E?h[0]===">"?(o=r!=null?r:z,u=-1):h[1]===void 0?u=-2:(u=o.lastIndex-h[2].length,d=h[1],o=h[3]===void 0?E:h[3]==='"'?ze:Ve):o===ze||o===Ve?o=E:o===je||o===Fe?o=z:(o=E,r=void 0);const g=o===E&&e[c+1].startsWith("/>")?" ":"";i+=o===z?l+Si:u>=0?(n.push(d),l.slice(0,u)+"$lit$"+l.slice(u)+A+g):l+A+(u===-2?(n.push(void 0),c):g)}const a=i+(e[s]||"<?>")+(t===2?"</svg>":"");if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return[Be!==void 0?Be.createHTML(a):a,n]};class Y{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let i=0,o=0;const a=t.length-1,c=this.parts,[l,d]=xs(t,s);if(this.el=Y.createElement(l,n),N.currentNode=this.el.content,s===2){const h=this.el.content,u=h.firstChild;u.remove(),h.append(...u.childNodes)}for(;(r=N.nextNode())!==null&&c.length<a;){if(r.nodeType===1){if(r.hasAttributes()){const h=[];for(const u of r.getAttributeNames())if(u.endsWith("$lit$")||u.startsWith(A)){const f=d[o++];if(h.push(u),f!==void 0){const g=r.getAttribute(f.toLowerCase()+"$lit$").split(A),p=/([.?@])?(.*)/.exec(f);c.push({type:1,index:i,name:p[2],strings:g,ctor:p[1]==="."?Us:p[1]==="?"?ks:p[1]==="@"?Ns:Q})}else c.push({type:6,index:i})}for(const u of h)r.removeAttribute(u)}if(Rs.test(r.tagName)){const h=r.textContent.split(A),u=h.length-1;if(u>0){r.textContent=B?B.emptyScript:"";for(let f=0;f<u;f++)r.append(h[f],J()),N.nextNode(),c.push({type:2,index:++i});r.append(h[u],J())}}}else if(r.nodeType===8)if(r.data===le)c.push({type:2,index:i});else{let h=-1;for(;(h=r.data.indexOf(A,h+1))!==-1;)c.push({type:7,index:i}),h+=A.length-1}i++}}static createElement(t,s){const n=j.createElement("template");return n.innerHTML=t,n}}function I(e,t,s=e,n){var r,i,o,a;if(t===P)return t;let c=n!==void 0?(r=s._$Cl)===null||r===void 0?void 0:r[n]:s._$Cu;const l=X(t)?void 0:t._$litDirective$;return(c==null?void 0:c.constructor)!==l&&((i=c==null?void 0:c._$AO)===null||i===void 0||i.call(c,!1),l===void 0?c=void 0:(c=new l(e),c._$AT(e,s,n)),n!==void 0?((o=(a=s)._$Cl)!==null&&o!==void 0?o:a._$Cl=[])[n]=c:s._$Cu=c),c!==void 0&&(t=I(e,c._$AS(e,t.values),c,n)),t}class Ds{constructor(t,s){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var s;const{el:{content:n},parts:r}=this._$AD,i=((s=t==null?void 0:t.creationScope)!==null&&s!==void 0?s:j).importNode(n,!0);N.currentNode=i;let o=N.nextNode(),a=0,c=0,l=r[0];for(;l!==void 0;){if(a===l.index){let d;l.type===2?d=new F(o,o.nextSibling,this,t):l.type===1?d=new l.ctor(o,l.name,l.strings,this,t):l.type===6&&(d=new Hs(o,this,t)),this.v.push(d),l=r[++c]}a!==(l==null?void 0:l.index)&&(o=N.nextNode(),a++)}return i}m(t){let s=0;for(const n of this.v)n!==void 0&&(n.strings!==void 0?(n._$AI(t,n,s),s+=n.strings.length-2):n._$AI(t[s])),s++}}class F{constructor(t,s,n,r){var i;this.type=2,this._$AH=m,this._$AN=void 0,this._$AA=t,this._$AB=s,this._$AM=n,this.options=r,this._$Cg=(i=r==null?void 0:r.isConnected)===null||i===void 0||i}get _$AU(){var t,s;return(s=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&s!==void 0?s:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&t.nodeType===11&&(t=s.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,s=this){t=I(this,t,s),X(t)?t===m||t==null||t===""?(this._$AH!==m&&this._$AR(),this._$AH=m):t!==this._$AH&&t!==P&&this.$(t):t._$litType$!==void 0?this.T(t):t.nodeType!==void 0?this.k(t):Is(t)?this.S(t):this.$(t)}M(t,s=this._$AB){return this._$AA.parentNode.insertBefore(t,s)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==m&&X(this._$AH)?this._$AA.nextSibling.data=t:this.k(j.createTextNode(t)),this._$AH=t}T(t){var s;const{values:n,_$litType$:r}=t,i=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=Y.createElement(r.h,this.options)),r);if(((s=this._$AH)===null||s===void 0?void 0:s._$AD)===i)this._$AH.m(n);else{const o=new Ds(i,this),a=o.p(this.options);o.m(n),this.k(a),this._$AH=o}}_$AC(t){let s=We.get(t.strings);return s===void 0&&We.set(t.strings,s=new Y(t)),s}S(t){Ps(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let n,r=0;for(const i of t)r===s.length?s.push(n=new F(this.M(J()),this.M(J()),this,this.options)):n=s[r],n._$AI(i),r++;r<s.length&&(this._$AR(n&&n._$AB.nextSibling,r),s.length=r)}_$AR(t=this._$AA.nextSibling,s){var n;for((n=this._$AP)===null||n===void 0||n.call(this,!1,!0,s);t&&t!==this._$AB;){const r=t.nextSibling;t.remove(),t=r}}setConnected(t){var s;this._$AM===void 0&&(this._$Cg=t,(s=this._$AP)===null||s===void 0||s.call(this,t))}}class Q{constructor(t,s,n,r,i){this.type=1,this._$AH=m,this._$AN=void 0,this.element=t,this.name=s,this._$AM=r,this.options=i,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=m}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,s=this,n,r){const i=this.strings;let o=!1;if(i===void 0)t=I(this,t,s,0),o=!X(t)||t!==this._$AH&&t!==P,o&&(this._$AH=t);else{const a=t;let c,l;for(t=i[0],c=0;c<i.length-1;c++)l=I(this,a[n+c],s,c),l===P&&(l=this._$AH[c]),o||(o=!X(l)||l!==this._$AH[c]),l===m?t=m:t!==m&&(t+=(l!=null?l:"")+i[c+1]),this._$AH[c]=l}o&&!r&&this.C(t)}C(t){t===m?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!=null?t:"")}}class Us extends Q{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===m?void 0:t}}const Ti=B?B.emptyScript:"";class ks extends Q{constructor(){super(...arguments),this.type=4}C(t){t&&t!==m?this.element.setAttribute(this.name,Ti):this.element.removeAttribute(this.name)}}class Ns extends Q{constructor(t,s,n,r,i){super(t,s,n,r,i),this.type=5}_$AI(t,s=this){var n;if((t=(n=I(this,t,s,0))!==null&&n!==void 0?n:m)===P)return;const r=this._$AH,i=t===m&&r!==m||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==m&&(r===m||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var s,n;typeof this._$AH=="function"?this._$AH.call((n=(s=this.options)===null||s===void 0?void 0:s.host)!==null&&n!==void 0?n:this.element,t):this._$AH.handleEvent(t)}}class Hs{constructor(t,s,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=s,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){I(this,t)}}const Ei={L:"$lit$",P:A,V:le,I:1,N:xs,R:Ds,j:Is,D:I,H:F,F:Q,O:ks,W:Ns,B:Us,Z:Hs},Ze=window.litHtmlPolyfillSupport;Ze==null||Ze(Y,F),((Nt=globalThis.litHtmlVersions)!==null&&Nt!==void 0?Nt:globalThis.litHtmlVersions=[]).push("2.2.2");/**
14
- * @license
15
- * Copyright 2017 Google LLC
16
- * SPDX-License-Identifier: BSD-3-Clause
17
- */const Bs={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Li=e=>(...t)=>({_$litDirective$:e,values:t});class js{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,s,n){this._$Ct=t,this._$AM=s,this._$Ci=n}_$AS(t,s){return this.update(t,s)}update(t,s){return this.render(...s)}}/**
18
- * @license
19
- * Copyright 2020 Google LLC
20
- * SPDX-License-Identifier: BSD-3-Clause
21
- */const{H:Mi}=Ei,qe=()=>document.createComment(""),W=(e,t,s)=>{var n;const r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(s===void 0){const o=r.insertBefore(qe(),i),a=r.insertBefore(qe(),i);s=new Mi(o,a,e,e.options)}else{const o=s._$AB.nextSibling,a=s._$AM,c=a!==e;if(c){let l;(n=s._$AQ)===null||n===void 0||n.call(s,e),s._$AM=e,s._$AP!==void 0&&(l=e._$AU)!==a._$AU&&s._$AP(l)}if(o!==i||c){let l=s._$AA;for(;l!==o;){const d=l.nextSibling;r.insertBefore(l,i),l=d}}}return s},L=(e,t,s=e)=>(e._$AI(t,s),e),Oi={},Pi=(e,t=Oi)=>e._$AH=t,Ii=e=>e._$AH,Ht=e=>{var t;(t=e._$AP)===null||t===void 0||t.call(e,!1,!0);let s=e._$AA;const n=e._$AB.nextSibling;for(;s!==n;){const r=s.nextSibling;s.remove(),s=r}};/**
22
- * @license
23
- * Copyright 2017 Google LLC
24
- * SPDX-License-Identifier: BSD-3-Clause
25
- */const Ge=(e,t,s)=>{const n=new Map;for(let r=t;r<=s;r++)n.set(e[r],r);return n},Fs=Li(class extends js{constructor(e){if(super(e),e.type!==Bs.CHILD)throw Error("repeat() can only be used in text expressions")}dt(e,t,s){let n;s===void 0?s=t:t!==void 0&&(n=t);const r=[],i=[];let o=0;for(const a of e)r[o]=n?n(a,o):o,i[o]=s(a,o),o++;return{values:i,keys:r}}render(e,t,s){return this.dt(e,t,s).values}update(e,[t,s,n]){var r;const i=Ii(e),{values:o,keys:a}=this.dt(t,s,n);if(!Array.isArray(i))return this.ut=a,o;const c=(r=this.ut)!==null&&r!==void 0?r:this.ut=[],l=[];let d,h,u=0,f=i.length-1,g=0,p=o.length-1;for(;u<=f&&g<=p;)if(i[u]===null)u++;else if(i[f]===null)f--;else if(c[u]===a[g])l[g]=L(i[u],o[g]),u++,g++;else if(c[f]===a[p])l[p]=L(i[f],o[p]),f--,p--;else if(c[u]===a[p])l[p]=L(i[u],o[p]),W(e,l[p+1],i[u]),u++,p--;else if(c[f]===a[g])l[g]=L(i[f],o[g]),W(e,i[u],i[f]),f--,g++;else if(d===void 0&&(d=Ge(a,g,p),h=Ge(c,u,f)),d.has(c[u]))if(d.has(c[f])){const w=h.get(a[g]),et=w!==void 0?i[w]:null;if(et===null){const st=W(e,i[u]);L(st,o[g]),l[g]=st}else l[g]=L(et,o[g]),W(e,i[u],et),i[w]=null;g++}else Ht(i[f]),f--;else Ht(i[u]),u++;for(;g<=p;){const w=W(e,l[p+1]);L(w,o[g]),l[g++]=w}for(;u<=f;){const w=i[u++];w!==null&&Ht(w)}return this.ut=a,Pi(e,l),P}});/**
26
- * @license
27
- * Copyright 2018 Google LLC
28
- * SPDX-License-Identifier: BSD-3-Clause
29
- */const v=e=>e!=null?e:m;/**
30
- * @license
31
- * Copyright 2017 Google LLC
32
- * SPDX-License-Identifier: BSD-3-Clause
33
- */class Ke extends js{constructor(t){if(super(t),this.it=m,t.type!==Bs.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===m||t==null)return this.ft=void 0,this.it=t;if(t===P)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.ft;this.it=t;const s=[t];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}Ke.directiveName="unsafeHTML",Ke.resultType=1;const _=(...e)=>{const t=S("LitStatic");return(t?t.html:bi)(...e)},tt=(e,t,s,n,{host:r}={})=>{const i=S("OpenUI5Enablement");i&&!n&&(e=i.wrapTemplateResultInBusyMarkup(_,r,e)),typeof s=="string"?e=_`<style>${s}</style>${e}`:Array.isArray(s)&&s.length&&(e=_`${s.map(o=>_`<link type="text/css" rel="stylesheet" href="${o}">`)}${e}`),Ci(e,t,{host:r})},Ri={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 Vs extends T{static get metadata(){return Ri}static get render(){return tt}static get template(){return t=>_`<div><p>
34
- <slot></slot>
35
- <slot name="other"></slot>
36
- <slot name="individual-1"></slot>
37
- <slot name="individual-2"></slot>
38
- </p></div>`}static get styles(){return`:host {
39
- display: inline-block;
40
- border: 1px solid black;
41
- color: var(--var1);
42
- }`}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}Vs.define();const xi={tag:"ui5-test-no-shadow"};class Di extends T{static get metadata(){return xi}}Di.define();const Ui={tag:"ui5-test-parent",managedSlots:!0,slots:{default:{type:Node,invalidateOnChildChange:{properties:["prop1"]}},items:{type:HTMLElement,invalidateOnChildChange:{properties:!0}}}};class ki extends T{static get metadata(){return Ui}static get render(){return tt}static get template(){return t=>_`<div>
43
- <slot></slot>
44
- </div>`}}ki.define();const Ni={tag:"ui5-test-child",properties:{prop1:{type:String},prop2:{type:String},prop3:{type:String}}};class Hi extends T{static get metadata(){return Ni}static get render(){return tt}static get template(){return t=>_`<div></div>`}}Hi.define();const Bi={tag:"ui5-with-static-area",properties:{staticContent:{type:Boolean}},slots:{}};class ji extends T{static get metadata(){return Bi}static get render(){return tt}static get template(){return t=>_`
45
- <div dir=${t.effectiveDir}>
46
- WithStaticArea works!
47
- </div>`}static get staticAreaTemplate(){return t=>_`
48
- <div class="ui5-with-static-area-content">
49
- Static area content.
50
- </div>`}static get styles(){return`
51
- :host {
52
- display: inline-block;
53
- border: 1px solid black;
54
- color: red;
55
- }`}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(){}}ji.define();const Fi=(e,t,s)=>_`<div>Root text: ${v(e.text)}${Fs(e.items,(n,r)=>n._id||r,(n,r)=>Vi(n,r,e))} Root text: ${v(e.text)}</div>`,Vi=(e,t,s,n,r)=>_`<h3>Item-${t}</h3>${e.text?zi(e,t,s):void 0}<ul>${Fs(e.words,(i,o)=>i._id||o,(i,o)=>Wi(i,o,s))}</ul>${e.text?Zi(e,t,s):void 0}`,zi=(e,t,s,n,r)=>_`<div class="before-each-content--start--${t}">Root text: ${v(s.text)}, Item text: ${v(e.text)}</div>`,Wi=(e,t,s,n,r)=>_`<li><h3>Word-${t}</h3><div class="nested-each-content--${t}--0">Root Text: ${v(s.text)}, Word text: ${v(e.text)}</div><div class="nested-each-content--${t}--1">Root Text: ${v(s.text)}, Word text: ${v(e.text)}</div></li>`,Zi=(e,t,s,n,r)=>_`<div class="after-each-content--end--${t}">Root text: ${v(s.text)}, Item text: ${v(e.text)}</div>`;class qi extends T{static get metadata(){return{tag:"ui5-test-complex-template"}}static get render(){return tt}static get template(){return Fi}get text(){return"root"}get items(){return[{text:"positives",words:[{text:"word1_good"},{text:"word2_nice"},{text:"word3_kind"}]},{text:"negatives",words:[{text:"word4_bad"},{text:"word5_rude"},{text:"word6_unpolite"}]}]}}qi.define();const Gi={tag:"ui5-test-generic-ext",properties:{extProp:{type:String},strProp:{defaultValue:"Ext"}},slots:{extSlot:{type:HTMLElement}}};class Ki extends Vs{static get metadata(){return Gi}}Ki.define();const Ji=":root{ --var1: red; }",Xi=":root{ --var1: green; }",Yi=":root{ --var1: blue; }",Qi=":root{ --var1: orange; }",to=":root{ --var1: orange; }",eo=":root{ --var1: yellow; }",so=":root{ --var1: yellow; }";C("@ui5/webcomponents-base-test","sap_fiori_3",()=>Ji);C("@ui5/webcomponents-base-test","sap_fiori_3_dark",()=>Xi);C("@ui5/webcomponents-base-test","sap_belize",()=>Yi);C("@ui5/webcomponents-base-test","sap_belize_hcb",()=>Qi);C("@ui5/webcomponents-base-test","sap_belize_hcw",()=>to);C("@ui5/webcomponents-base-test","sap_fiori_3_hcb",()=>eo);C("@ui5/webcomponents-base-test","sap_fiori_3_hcw",()=>so);const no=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,ro=(e,t)=>(t=t||[],e.replace(no,(s,n,r,i,o)=>{if(n)return"'";if(r)return r.replace(/''/g,"'");if(i)return String(t[parseInt(i)]);throw new Error(`[i18n]: pattern syntax error at pos ${o}`)})),Bt=new Map;class io{constructor(t){this.packageName=t}getText(t,...s){if(typeof t=="string"&&(t={key:t,defaultText:t}),!t||!t.key)return"";const n=Wn(this.packageName);n&&!n[t.key]&&console.warn(`Key ${t.key} not found in the i18n bundle, the default text will be used`);const r=n&&n[t.key]?n[t.key]:t.defaultText||t.key;return s.length?ro(r,s):r}}const oo=e=>{if(Bt.has(e))return Bt.get(e);const t=new io(e);return Bt.set(e,t),t},ao=async e=>(await hs(e),oo(e));let jt;const co=()=>(jt===void 0&&(jt=en()),jt),zs={Gregorian:"Gregorian",Islamic:"Islamic",Japanese:"Japanese",Buddhist:"Buddhist",Persian:"Persian"};class Qt extends Z{static isValid(t){return!!zs[t]}}Qt.generateTypeAccessors(zs);let ot;const lo=()=>(ot===void 0&&(ot=ln()),Qt.isValid(ot)?ot:Qt.Gregorian);let Ft;const uo=()=>(Ft===void 0&&(Ft=un()),Ft.firstDayOfWeek),ho=new R,fo="directionChange",po=()=>ho.fireEvent(fo),go=async()=>{const e=po();await Promise.all(e),await re({rtlAware:!0})};window.registerThemePropertiesLoader=C;window["sap-ui-webcomponents-bundle"]={configuration:{getAnimationMode:co,getLanguage:pt,getTheme:St,setTheme:As,getNoConflict:ce,setNoConflict:_i,getCalendarType:lo,getRTL:Ms,getFirstDayOfWeek:uo},getIconNames:br,registerI18nLoader:zn,getI18nBundle:ao,renderFinished:ne,applyDirection:go,EventProvider:R};
@@ -1,20 +0,0 @@
1
- import DataType from "./DataType.js";
2
-
3
- /**
4
- * @class
5
- * CSSSize data type.
6
- *
7
- * @extends sap.ui.webcomponents.base.types.DataType
8
- * @constructor
9
- * @author SAP SE
10
- * @alias sap.ui.webcomponents.base.types.CSSSize
11
- * @public
12
- * @enum {string}
13
- */
14
- class CSSSize extends DataType {
15
- static isValid(value) {
16
- return /^(auto|inherit|[-+]?(0*|([0-9]+|[0-9]*\.[0-9]+)([rR][eE][mM]|[eE][mM]|[eE][xX]|[pP][xX]|[cC][mM]|[mM][mM]|[iI][nN]|[pP][tT]|[pP][cC]|%))|calc\(\s*(\(\s*)*[-+]?(([0-9]+|[0-9]*\.[0-9]+)([rR][eE][mM]|[eE][mM]|[eE][xX]|[pP][xX]|[cC][mM]|[mM][mM]|[iI][nN]|[pP][tT]|[pP][cC]|%)?)(\s*(\)\s*)*(\s[-+]\s|[*\/])\s*(\(\s*)*([-+]?(([0-9]+|[0-9]*\.[0-9]+)([rR][eE][mM]|[eE][mM]|[eE][xX]|[pP][xX]|[cC][mM]|[mM][mM]|[iI][nN]|[pP][tT]|[pP][cC]|%)?)))*\s*(\)\s*)*\))$/.test(value); // eslint-disable-line
17
- }
18
- }
19
-
20
- export default CSSSize;
@@ -1,57 +0,0 @@
1
- import DataType from "./DataType.js";
2
-
3
- /**
4
- * Different types of PopupStates.
5
- * @lends sap.ui.webcomponents.base.types.PopupState.prototype
6
- * @public
7
- */
8
- const PopupStates = {
9
- /**
10
- * Open and currently not changing states.
11
- * @public
12
- * @type {OPEN}
13
- */
14
- OPEN: "OPEN",
15
-
16
- /**
17
- * Closed and currently not changing states.
18
- * @public
19
- * @type {CLOSED}
20
- */
21
- CLOSED: "CLOSED",
22
-
23
- /**
24
- * Already left the CLOSED state, is not OPEN yet, but in the process of getting OPEN.
25
- * @public
26
- * @type {OPENING}
27
- */
28
- OPENING: "OPENING",
29
-
30
- /**
31
- * Still open, but in the process of going to the CLOSED state.
32
- * @public
33
- * @type {CLOSING}
34
- */
35
- CLOSING: "CLOSING",
36
- };
37
-
38
- /**
39
- * @class
40
- * Different types of PopupState.
41
- *
42
- * @extends sap.ui.webcomponents.base.types.DataType
43
- * @constructor
44
- * @author SAP SE
45
- * @alias sap.ui.webcomponents.base.types.PopupState
46
- * @public
47
- * @enum {string}
48
- */
49
- class PopupState extends DataType {
50
- static isValid(value) {
51
- return !!PopupStates[value];
52
- }
53
- }
54
-
55
- PopupState.generateTypeAccessors(PopupStates);
56
-
57
- export default PopupState;
@@ -1,11 +0,0 @@
1
- import { getSlotName } from "./SlotsHelper.js";
2
-
3
- const isDefaultSlotProvided = element => {
4
- return Array.from(element.childNodes).filter(node => {
5
- return node.nodeType !== Node.COMMENT_NODE
6
- && getSlotName(node) === "default"
7
- && (node.nodeType !== Node.TEXT_NODE || node.nodeValue.trim().length !== 0);
8
- }).length > 0;
9
- };
10
-
11
- export default isDefaultSlotProvided;
@@ -1,15 +0,0 @@
1
- const isDescendantOf = (klass, baseKlass, inclusive = false) => {
2
- if (typeof klass !== "function" || typeof baseKlass !== "function") {
3
- return false;
4
- }
5
- if (inclusive && klass === baseKlass) {
6
- return true;
7
- }
8
- let parent = klass;
9
- do {
10
- parent = Object.getPrototypeOf(parent);
11
- } while (parent !== null && parent !== baseKlass);
12
- return parent === baseKlass;
13
- };
14
-
15
- export default isDescendantOf;
@@ -1,19 +0,0 @@
1
- const rClickable = /^(?:a|area)$/i;
2
- const rFocusable = /^(?:input|select|textarea|button)$/i;
3
-
4
- const isNodeClickable = node => {
5
- if (node.disabled) {
6
- return false;
7
- }
8
-
9
- const tabIndex = node.getAttribute("tabindex");
10
- if (tabIndex !== null && tabIndex !== undefined) {
11
- return parseInt(tabIndex) >= 0;
12
- }
13
-
14
- return rFocusable.test(node.nodeName)
15
- || (rClickable.test(node.nodeName)
16
- && node.href);
17
- };
18
-
19
- export default isNodeClickable;
@@ -1,9 +0,0 @@
1
- const isNodeHidden = node => {
2
- if (node.nodeName === "SLOT") {
3
- return false;
4
- }
5
-
6
- return (node.offsetWidth <= 0 && node.offsetHeight <= 0) || (node.style && node.style.visibility === "hidden");
7
- };
8
-
9
- export default isNodeHidden;
@@ -1,28 +0,0 @@
1
- import isNodeHidden from "./isNodeHidden.js";
2
-
3
- const isNodeTabbable = node => {
4
- if (!node) {
5
- return false;
6
- }
7
-
8
- const nodeName = node.nodeName.toLowerCase();
9
-
10
- if (node.hasAttribute("data-sap-no-tab-ref")) {
11
- return false;
12
- }
13
-
14
- if (isNodeHidden(node)) {
15
- return false;
16
- }
17
-
18
- const tabIndex = node.getAttribute("tabindex");
19
- if (tabIndex !== null && tabIndex !== undefined) {
20
- return parseInt(tabIndex) >= 0;
21
- }
22
-
23
- if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
24
- return !node.disabled;
25
- }
26
- };
27
-
28
- export default isNodeTabbable;
@@ -1,10 +0,0 @@
1
- // This is needed as IE11 doesn't have Set.prototype.keys/values/entries, so [...mySet.values()] is not an option
2
- const setToArray = s => {
3
- const arr = [];
4
- s.forEach(item => {
5
- arr.push(item);
6
- });
7
- return arr;
8
- };
9
-
10
- export default setToArray;