@ui5/webcomponents-base 0.0.0-dff5837d7 → 0.0.0-e0658a650

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 (745) hide show
  1. package/.eslintignore +3 -0
  2. package/CHANGELOG.md +453 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +28 -17
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +6 -10
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +8 -0
  9. package/dist/Boot.js +44 -0
  10. package/dist/Boot.js.map +1 -0
  11. package/dist/CSP.d.ts +30 -0
  12. package/dist/CSP.js +51 -0
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +69 -30
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +11 -0
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +90 -0
  22. package/dist/CustomElementsScopeUtils.js.map +1 -0
  23. package/dist/DOMObserver.d.ts +11 -0
  24. package/dist/DOMObserver.js +23 -0
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +11 -0
  27. package/dist/Device.js +82 -816
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -78
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -7
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +21 -69
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +119 -103
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +174 -166
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +77 -0
  46. package/dist/ManagedStyles.js.map +1 -0
  47. package/dist/MediaRange.d.ts +36 -0
  48. package/dist/MediaRange.js +96 -0
  49. package/dist/MediaRange.js.map +1 -0
  50. package/dist/PropertiesFileFormat.d.ts +8 -0
  51. package/dist/PropertiesFileFormat.js +85 -0
  52. package/dist/PropertiesFileFormat.js.map +1 -0
  53. package/dist/Render.d.ts +47 -0
  54. package/dist/Render.js +143 -0
  55. package/dist/Render.js.map +1 -0
  56. package/dist/RenderQueue.d.ts +19 -0
  57. package/dist/RenderQueue.js +53 -39
  58. package/dist/RenderQueue.js.map +1 -0
  59. package/dist/Runtimes.d.ts +27 -0
  60. package/dist/Runtimes.js +86 -0
  61. package/dist/Runtimes.js.map +1 -0
  62. package/dist/StaticArea.d.ts +0 -0
  63. package/dist/StaticArea.js +4 -39
  64. package/dist/StaticArea.js.map +1 -0
  65. package/dist/StaticAreaItem.d.ts +36 -0
  66. package/dist/StaticAreaItem.js +92 -98
  67. package/dist/StaticAreaItem.js.map +1 -0
  68. package/dist/SystemCSSVars.d.ts +2 -0
  69. package/dist/SystemCSSVars.js +6 -28
  70. package/dist/SystemCSSVars.js.map +1 -0
  71. package/dist/Theming.d.ts +3 -0
  72. package/dist/Theming.js +3 -2
  73. package/dist/Theming.js.map +1 -0
  74. package/dist/UI5Element.d.ts +371 -0
  75. package/dist/UI5Element.js +922 -969
  76. package/dist/UI5Element.js.map +1 -0
  77. package/dist/UI5ElementMetadata.d.ts +147 -0
  78. package/dist/UI5ElementMetadata.js +261 -174
  79. package/dist/UI5ElementMetadata.js.map +1 -0
  80. package/dist/animations/AnimationQueue.d.ts +8 -0
  81. package/dist/animations/AnimationQueue.js +31 -38
  82. package/dist/animations/AnimationQueue.js.map +1 -0
  83. package/dist/animations/animate.d.ts +14 -0
  84. package/dist/animations/animate.js +46 -51
  85. package/dist/animations/animate.js.map +1 -0
  86. package/dist/animations/scroll.d.ts +5 -0
  87. package/dist/animations/scroll.js +18 -27
  88. package/dist/animations/scroll.js.map +1 -0
  89. package/dist/animations/slideDown.d.ts +5 -0
  90. package/dist/animations/slideDown.js +53 -78
  91. package/dist/animations/slideDown.js.map +1 -0
  92. package/dist/animations/slideUp.d.ts +5 -0
  93. package/dist/animations/slideUp.js +49 -70
  94. package/dist/animations/slideUp.js.map +1 -0
  95. package/dist/api.json +1 -0
  96. package/dist/asset-registries/Icons.d.ts +30 -0
  97. package/dist/asset-registries/Icons.js +104 -31
  98. package/dist/asset-registries/Icons.js.map +1 -0
  99. package/dist/asset-registries/Illustrations.d.ts +16 -0
  100. package/dist/asset-registries/Illustrations.js +46 -0
  101. package/dist/asset-registries/Illustrations.js.map +1 -0
  102. package/dist/asset-registries/LocaleData.d.ts +7 -0
  103. package/dist/asset-registries/LocaleData.js +125 -114
  104. package/dist/asset-registries/LocaleData.js.map +1 -0
  105. package/dist/asset-registries/Themes.d.ts +10 -0
  106. package/dist/asset-registries/Themes.js +39 -76
  107. package/dist/asset-registries/Themes.js.map +1 -0
  108. package/dist/asset-registries/i18n.d.ts +23 -0
  109. package/dist/asset-registries/i18n.js +71 -82
  110. package/dist/asset-registries/i18n.js.map +1 -0
  111. package/dist/assets/bundle.esm.72c1d211.js +56 -0
  112. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  113. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  114. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  115. package/dist/config/AnimationMode.d.ts +14 -0
  116. package/dist/config/AnimationMode.js +23 -10
  117. package/dist/config/AnimationMode.js.map +1 -0
  118. package/dist/config/CalendarType.d.ts +8 -0
  119. package/dist/config/CalendarType.js +13 -12
  120. package/dist/config/CalendarType.js.map +1 -0
  121. package/dist/config/FormatSettings.d.ts +11 -0
  122. package/dist/config/FormatSettings.js +10 -8
  123. package/dist/config/FormatSettings.js.map +1 -0
  124. package/dist/config/Icons.d.ts +30 -0
  125. package/dist/config/Icons.js +48 -0
  126. package/dist/config/Icons.js.map +1 -0
  127. package/dist/config/Language.d.ts +31 -0
  128. package/dist/config/Language.js +44 -29
  129. package/dist/config/Language.js.map +1 -0
  130. package/dist/config/NoConflict.d.ts +20 -0
  131. package/dist/config/NoConflict.js +40 -41
  132. package/dist/config/NoConflict.js.map +1 -0
  133. package/dist/config/RTL.d.ts +7 -0
  134. package/dist/config/RTL.js +23 -20
  135. package/dist/config/RTL.js.map +1 -0
  136. package/dist/config/Theme.d.ts +28 -0
  137. package/dist/config/Theme.js +45 -22
  138. package/dist/config/Theme.js.map +1 -0
  139. package/dist/config/ThemeRoots.d.ts +4 -0
  140. package/dist/config/ThemeRoots.js +28 -0
  141. package/dist/config/ThemeRoots.js.map +1 -0
  142. package/dist/css/BusyIndicator.css +80 -0
  143. package/dist/css/FontFace.css +66 -0
  144. package/dist/css/OverrideFontFace.css +32 -0
  145. package/dist/css/SystemCSSVars.css +17 -0
  146. package/dist/delegate/ItemNavigation.d.ts +113 -0
  147. package/dist/delegate/ItemNavigation.js +312 -278
  148. package/dist/delegate/ItemNavigation.js.map +1 -0
  149. package/dist/delegate/ResizeHandler.d.ts +24 -0
  150. package/dist/delegate/ResizeHandler.js +80 -62
  151. package/dist/delegate/ResizeHandler.js.map +1 -0
  152. package/dist/delegate/ScrollEnablement.d.ts +43 -0
  153. package/dist/delegate/ScrollEnablement.js +159 -153
  154. package/dist/delegate/ScrollEnablement.js.map +1 -0
  155. package/dist/features/F6Navigation.d.ts +16 -0
  156. package/dist/features/F6Navigation.js +112 -0
  157. package/dist/features/F6Navigation.js.map +1 -0
  158. package/dist/features/OpenUI5Element.d.ts +9 -0
  159. package/dist/features/OpenUI5Element.js +5 -0
  160. package/dist/features/OpenUI5Element.js.map +1 -0
  161. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  162. package/dist/features/OpenUI5Enablement.js +96 -0
  163. package/dist/features/OpenUI5Enablement.js.map +1 -0
  164. package/dist/features/OpenUI5Support.d.ts +23 -0
  165. package/dist/features/OpenUI5Support.js +93 -86
  166. package/dist/features/OpenUI5Support.js.map +1 -0
  167. package/dist/generated/AssetParameters.js +1 -1
  168. package/dist/generated/VersionInfo.js +10 -0
  169. package/dist/generated/css/BusyIndicator.css.js +5 -0
  170. package/dist/generated/css/FontFace.css.js +5 -0
  171. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  172. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  173. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  174. package/dist/getSharedResource.d.ts +11 -0
  175. package/dist/getSharedResource.js +26 -0
  176. package/dist/getSharedResource.js.map +1 -0
  177. package/dist/i18nBundle.d.ts +43 -0
  178. package/dist/i18nBundle.js +73 -28
  179. package/dist/i18nBundle.js.map +1 -0
  180. package/dist/locale/Locale.d.ts +22 -0
  181. package/dist/locale/Locale.js +75 -87
  182. package/dist/locale/Locale.js.map +1 -0
  183. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  184. package/dist/locale/RTLAwareRegistry.js +6 -11
  185. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  186. package/dist/locale/applyDirection.d.ts +10 -0
  187. package/dist/locale/applyDirection.js +10 -8
  188. package/dist/locale/applyDirection.js.map +1 -0
  189. package/dist/locale/directionChange.d.ts +15 -0
  190. package/dist/locale/directionChange.js +24 -0
  191. package/dist/locale/directionChange.js.map +1 -0
  192. package/dist/locale/getEffectiveDir.d.ts +2 -0
  193. package/dist/locale/getEffectiveDir.js +24 -0
  194. package/dist/locale/getEffectiveDir.js.map +1 -0
  195. package/dist/locale/getLocale.d.ts +7 -0
  196. package/dist/locale/getLocale.js +28 -21
  197. package/dist/locale/getLocale.js.map +1 -0
  198. package/dist/locale/languageChange.d.ts +5 -0
  199. package/dist/locale/languageChange.js +8 -16
  200. package/dist/locale/languageChange.js.map +1 -0
  201. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  202. package/dist/locale/nextFallbackLocale.js +15 -19
  203. package/dist/locale/nextFallbackLocale.js.map +1 -0
  204. package/dist/locale/normalizeLocale.d.ts +7 -0
  205. package/dist/locale/normalizeLocale.js +34 -41
  206. package/dist/locale/normalizeLocale.js.map +1 -0
  207. package/dist/renderer/LitRenderer.d.ts +14 -0
  208. package/dist/renderer/LitRenderer.js +38 -12
  209. package/dist/renderer/LitRenderer.js.map +1 -0
  210. package/dist/renderer/directives/style-map.js +72 -0
  211. package/dist/renderer/executeTemplate.d.ts +13 -0
  212. package/dist/renderer/executeTemplate.js +30 -0
  213. package/dist/renderer/executeTemplate.js.map +1 -0
  214. package/dist/sap/base/Log.js +241 -0
  215. package/dist/sap/base/assert.js +8 -0
  216. package/dist/sap/base/security/URLListValidator.js +148 -0
  217. package/dist/sap/base/security/encodeCSS.js +14 -0
  218. package/dist/sap/base/security/encodeXML.js +23 -0
  219. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  220. package/dist/sap/base/strings/toHex.js +8 -0
  221. package/dist/sap/base/util/now.js +7 -0
  222. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  223. package/dist/theming/CustomStyle.d.ts +6 -0
  224. package/dist/theming/CustomStyle.js +44 -17
  225. package/dist/theming/CustomStyle.js.map +1 -0
  226. package/dist/theming/ThemeLoaded.d.ts +5 -0
  227. package/dist/theming/ThemeLoaded.js +14 -0
  228. package/dist/theming/ThemeLoaded.js.map +1 -0
  229. package/dist/theming/applyTheme.d.ts +2 -0
  230. package/dist/theming/applyTheme.js +63 -69
  231. package/dist/theming/applyTheme.js.map +1 -0
  232. package/dist/theming/getConstructableStyle.d.ts +9 -0
  233. package/dist/theming/getConstructableStyle.js +15 -15
  234. package/dist/theming/getConstructableStyle.js.map +1 -0
  235. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  236. package/dist/theming/getEffectiveLinksHrefs.js +16 -0
  237. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  238. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  239. package/dist/theming/getEffectiveStyle.js +30 -13
  240. package/dist/theming/getEffectiveStyle.js.map +1 -0
  241. package/dist/theming/getStylesString.d.ts +3 -0
  242. package/dist/theming/getStylesString.js +10 -0
  243. package/dist/theming/getStylesString.js.map +1 -0
  244. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  245. package/dist/theming/getThemeDesignerTheme.js +73 -60
  246. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  247. package/dist/theming/preloadLinks.d.ts +3 -0
  248. package/dist/theming/preloadLinks.js +19 -0
  249. package/dist/theming/preloadLinks.js.map +1 -0
  250. package/dist/thirdparty/_merge.d.ts +2 -0
  251. package/dist/thirdparty/_merge.js +7 -4
  252. package/dist/thirdparty/_merge.js.map +1 -0
  253. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  254. package/dist/thirdparty/isPlainObject.js +11 -10
  255. package/dist/thirdparty/isPlainObject.js.map +1 -0
  256. package/dist/thirdparty/merge.d.ts +2 -0
  257. package/dist/thirdparty/merge.js +4 -8
  258. package/dist/thirdparty/merge.js.map +1 -0
  259. package/dist/types/AnimationMode.d.ts +32 -0
  260. package/dist/types/AnimationMode.js +33 -6
  261. package/dist/types/AnimationMode.js.map +1 -0
  262. package/dist/types/CSSColor.d.ts +16 -0
  263. package/dist/types/CSSColor.js +19 -0
  264. package/dist/types/CSSColor.js.map +1 -0
  265. package/dist/types/CalendarType.d.ts +37 -0
  266. package/dist/types/CalendarType.js +35 -18
  267. package/dist/types/CalendarType.js.map +1 -0
  268. package/dist/types/DOMReference.d.ts +17 -0
  269. package/dist/types/DOMReference.js +25 -0
  270. package/dist/types/DOMReference.js.map +1 -0
  271. package/dist/types/DataType.d.ts +25 -0
  272. package/dist/types/DataType.js +32 -13
  273. package/dist/types/DataType.js.map +1 -0
  274. package/dist/types/Float.d.ts +18 -0
  275. package/dist/types/Float.js +18 -6
  276. package/dist/types/Float.js.map +1 -0
  277. package/dist/types/Integer.d.ts +18 -0
  278. package/dist/types/Integer.js +18 -5
  279. package/dist/types/Integer.js.map +1 -0
  280. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  281. package/dist/types/InvisibleMessageMode.js +27 -0
  282. package/dist/types/InvisibleMessageMode.js.map +1 -0
  283. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  284. package/dist/types/ItemNavigationBehavior.js +22 -17
  285. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  286. package/dist/types/NavigationMode.d.ts +32 -0
  287. package/dist/types/NavigationMode.js +33 -6
  288. package/dist/types/NavigationMode.js.map +1 -0
  289. package/dist/types/ValueState.d.ts +42 -0
  290. package/dist/types/ValueState.js +41 -19
  291. package/dist/types/ValueState.js.map +1 -0
  292. package/dist/types.d.ts +13 -0
  293. package/dist/types.js +2 -0
  294. package/dist/types.js.map +1 -0
  295. package/dist/updateShadowRoot.d.ts +8 -0
  296. package/dist/updateShadowRoot.js +34 -0
  297. package/dist/updateShadowRoot.js.map +1 -0
  298. package/dist/util/AriaLabelHelper.d.ts +6 -0
  299. package/dist/util/AriaLabelHelper.js +44 -0
  300. package/dist/util/AriaLabelHelper.js.map +1 -0
  301. package/dist/util/Caret.d.ts +7 -0
  302. package/dist/util/Caret.js +23 -0
  303. package/dist/util/Caret.js.map +1 -0
  304. package/dist/util/ColorConversion.d.ts +33 -0
  305. package/dist/util/ColorConversion.js +337 -0
  306. package/dist/util/ColorConversion.js.map +1 -0
  307. package/dist/util/FetchHelper.d.ts +3 -0
  308. package/dist/util/FetchHelper.js +19 -25
  309. package/dist/util/FetchHelper.js.map +1 -0
  310. package/dist/util/FocusableElements.d.ts +3 -0
  311. package/dist/util/FocusableElements.js +57 -61
  312. package/dist/util/FocusableElements.js.map +1 -0
  313. package/dist/util/HTMLSanitizer.d.ts +3 -0
  314. package/dist/util/HTMLSanitizer.js +6 -0
  315. package/dist/util/HTMLSanitizer.js.map +1 -0
  316. package/dist/util/InvisibleMessage.d.ts +10 -0
  317. package/dist/util/InvisibleMessage.js +56 -0
  318. package/dist/util/InvisibleMessage.js.map +1 -0
  319. package/dist/util/PopupUtils.d.ts +7 -0
  320. package/dist/util/PopupUtils.js +74 -0
  321. package/dist/util/PopupUtils.js.map +1 -0
  322. package/dist/util/SlotsHelper.d.ts +9 -0
  323. package/dist/util/SlotsHelper.js +30 -0
  324. package/dist/util/SlotsHelper.js.map +1 -0
  325. package/dist/util/StringHelper.d.ts +3 -0
  326. package/dist/util/StringHelper.js +17 -20
  327. package/dist/util/StringHelper.js.map +1 -0
  328. package/dist/util/TabbableElements.d.ts +3 -0
  329. package/dist/util/TabbableElements.js +39 -43
  330. package/dist/util/TabbableElements.js.map +1 -0
  331. package/dist/util/arraysAreEqual.d.ts +2 -0
  332. package/dist/util/arraysAreEqual.js +13 -0
  333. package/dist/util/arraysAreEqual.js.map +1 -0
  334. package/dist/util/clamp.d.ts +9 -0
  335. package/dist/util/clamp.js +12 -0
  336. package/dist/util/clamp.js.map +1 -0
  337. package/dist/util/createLinkInHead.d.ts +7 -0
  338. package/dist/util/createLinkInHead.js +21 -0
  339. package/dist/util/createLinkInHead.js.map +1 -0
  340. package/dist/util/createStyleInHead.d.ts +8 -0
  341. package/dist/util/createStyleInHead.js +10 -10
  342. package/dist/util/createStyleInHead.js.map +1 -0
  343. package/dist/util/debounce.d.ts +2 -0
  344. package/dist/util/debounce.js +15 -0
  345. package/dist/util/debounce.js.map +1 -0
  346. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  347. package/dist/util/detectNavigatorLanguage.js +7 -10
  348. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  349. package/dist/util/escapeRegex.d.ts +8 -0
  350. package/dist/util/escapeRegex.js +11 -0
  351. package/dist/util/escapeRegex.js.map +1 -0
  352. package/dist/util/formatMessage.d.ts +2 -0
  353. package/dist/util/formatMessage.js +15 -19
  354. package/dist/util/formatMessage.js.map +1 -0
  355. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  356. package/dist/util/generateHighlightedMarkup.js +41 -0
  357. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  358. package/dist/util/getActiveElement.d.ts +2 -0
  359. package/dist/util/getActiveElement.js +9 -0
  360. package/dist/util/getActiveElement.js.map +1 -0
  361. package/dist/util/getClassCopy.d.ts +398 -0
  362. package/dist/util/getClassCopy.js +10 -0
  363. package/dist/util/getClassCopy.js.map +1 -0
  364. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  365. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  366. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  367. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  368. package/dist/util/getEffectiveContentDensity.js +4 -0
  369. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  370. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  371. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  372. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  373. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  374. package/dist/util/getFastNavigationGroups.js +51 -0
  375. package/dist/util/getFastNavigationGroups.js.map +1 -0
  376. package/dist/util/getFileExtension.d.ts +12 -0
  377. package/dist/util/getFileExtension.js +9 -11
  378. package/dist/util/getFileExtension.js.map +1 -0
  379. package/dist/util/getNormalizedTarget.d.ts +7 -0
  380. package/dist/util/getNormalizedTarget.js +14 -0
  381. package/dist/util/getNormalizedTarget.js.map +1 -0
  382. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  383. package/dist/util/getSingletonElementInstance.js +10 -0
  384. package/dist/util/getSingletonElementInstance.js.map +1 -0
  385. package/dist/util/isDefaultSlotProvided.d.ts +2 -0
  386. package/dist/util/isDefaultSlotProvided.js +10 -0
  387. package/dist/util/isDefaultSlotProvided.js.map +1 -0
  388. package/dist/util/isElementClickable.d.ts +2 -0
  389. package/dist/util/isElementClickable.js +16 -0
  390. package/dist/util/isElementClickable.js.map +1 -0
  391. package/dist/util/isElementHidden.d.ts +2 -0
  392. package/dist/util/isElementHidden.js +8 -0
  393. package/dist/util/isElementHidden.js.map +1 -0
  394. package/dist/util/isElementInView.d.ts +6 -0
  395. package/dist/util/isElementInView.js +12 -0
  396. package/dist/util/isElementInView.js.map +1 -0
  397. package/dist/util/isElementTabbable.d.ts +2 -0
  398. package/dist/util/isElementTabbable.js +22 -0
  399. package/dist/util/isElementTabbable.js.map +1 -0
  400. package/dist/util/isValidPropertyName.d.ts +8 -0
  401. package/dist/util/isValidPropertyName.js +18 -18
  402. package/dist/util/isValidPropertyName.js.map +1 -0
  403. package/dist/util/whenDOMReady.d.ts +2 -0
  404. package/dist/util/whenDOMReady.js +11 -10
  405. package/dist/util/whenDOMReady.js.map +1 -0
  406. package/dist/validateThemeRoot.d.ts +2 -0
  407. package/dist/validateThemeRoot.js +47 -0
  408. package/dist/validateThemeRoot.js.map +1 -0
  409. package/global.d.ts +44 -0
  410. package/index.js +1 -1
  411. package/lib/generate-asset-parameters/index.js +8 -5
  412. package/lib/generate-styles/index.js +26 -0
  413. package/lib/generate-version-info/index.js +32 -0
  414. package/package-scripts.js +48 -28
  415. package/package.json +21 -13
  416. package/src/AssetRegistry.ts +11 -0
  417. package/src/Boot.ts +61 -0
  418. package/src/CSP.ts +66 -0
  419. package/src/CustomElementsRegistry.ts +98 -0
  420. package/src/CustomElementsScope.ts +33 -0
  421. package/src/CustomElementsScopeUtils.ts +115 -0
  422. package/src/DOMObserver.ts +28 -0
  423. package/src/Device.ts +121 -0
  424. package/src/EventProvider.ts +87 -0
  425. package/src/FeaturesRegistry.ts +14 -0
  426. package/src/FontFace.ts +31 -0
  427. package/src/InitialConfiguration.ts +207 -0
  428. package/src/Keys.ts +295 -0
  429. package/src/ManagedStyles.ts +92 -0
  430. package/src/MediaRange.ts +109 -0
  431. package/src/{util/parseProperties.js → PropertiesFileFormat.ts} +14 -8
  432. package/src/Render.ts +180 -0
  433. package/src/RenderQueue.ts +71 -0
  434. package/src/Runtimes.ts +114 -0
  435. package/src/StaticArea.ts +3 -0
  436. package/src/StaticAreaItem.ts +113 -0
  437. package/src/SystemCSSVars.ts +10 -0
  438. package/src/Theming.ts +4 -0
  439. package/src/UI5Element.ts +1125 -0
  440. package/src/UI5ElementMetadata.ts +364 -0
  441. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  442. package/src/animations/animate.ts +64 -0
  443. package/src/animations/scroll.ts +21 -0
  444. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  445. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  446. package/src/asset-registries/Icons.ts +161 -0
  447. package/src/asset-registries/Illustrations.ts +73 -0
  448. package/src/asset-registries/LocaleData.ts +172 -0
  449. package/src/asset-registries/Themes.ts +67 -0
  450. package/src/asset-registries/i18n.ts +118 -0
  451. package/src/assets-meta/IconCollectionsAlias.ts +18 -0
  452. package/src/config/AnimationMode.ts +33 -0
  453. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  454. package/src/config/FormatSettings.ts +21 -0
  455. package/src/config/Icons.ts +59 -0
  456. package/src/config/Language.ts +72 -0
  457. package/src/config/NoConflict.ts +67 -0
  458. package/src/config/{RTL.js → RTL.ts} +14 -4
  459. package/src/config/Theme.ts +64 -0
  460. package/src/config/ThemeRoots.ts +41 -0
  461. package/src/css/BusyIndicator.css +80 -0
  462. package/src/css/FontFace.css +66 -0
  463. package/src/css/OverrideFontFace.css +32 -0
  464. package/src/css/SystemCSSVars.css +17 -0
  465. package/src/delegate/ItemNavigation.ts +393 -0
  466. package/src/delegate/ResizeHandler.ts +95 -0
  467. package/src/delegate/ScrollEnablement.ts +215 -0
  468. package/src/features/F6Navigation.ts +141 -0
  469. package/src/features/OpenUI5Element.ts +11 -0
  470. package/src/features/OpenUI5Enablement.ts +117 -0
  471. package/src/features/OpenUI5Support.ts +148 -0
  472. package/src/getSharedResource.ts +30 -0
  473. package/src/i18nBundle.ts +108 -0
  474. package/src/locale/{Locale.js → Locale.ts} +15 -5
  475. package/src/locale/RTLAwareRegistry.ts +16 -0
  476. package/src/locale/applyDirection.ts +18 -0
  477. package/src/locale/directionChange.ts +34 -0
  478. package/src/locale/getEffectiveDir.ts +28 -0
  479. package/src/locale/{getLocale.js → getLocale.ts} +20 -5
  480. package/src/locale/languageChange.ts +24 -0
  481. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  482. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +4 -2
  483. package/src/renderer/LitRenderer.ts +60 -0
  484. package/src/renderer/directives/style-map.js +72 -0
  485. package/src/renderer/executeTemplate.ts +40 -0
  486. package/src/theming/CustomStyle.ts +62 -0
  487. package/src/theming/ThemeLoaded.ts +24 -0
  488. package/src/theming/applyTheme.ts +90 -0
  489. package/src/theming/getConstructableStyle.ts +31 -0
  490. package/src/theming/getEffectiveLinksHrefs.ts +24 -0
  491. package/src/theming/getEffectiveStyle.ts +41 -0
  492. package/src/theming/getStylesString.ts +13 -0
  493. package/src/theming/getThemeDesignerTheme.ts +101 -0
  494. package/src/theming/preloadLinks.ts +24 -0
  495. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  496. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  497. package/src/thirdparty/merge.ts +5 -0
  498. package/src/types/AnimationMode.ts +33 -0
  499. package/src/types/CSSColor.ts +20 -0
  500. package/src/types/CalendarType.ts +38 -0
  501. package/src/types/DOMReference.ts +28 -0
  502. package/src/types/DataType.ts +51 -0
  503. package/src/types/Float.ts +25 -0
  504. package/src/types/Integer.ts +25 -0
  505. package/src/types/InvisibleMessageMode.ts +27 -0
  506. package/src/types/ItemNavigationBehavior.ts +26 -0
  507. package/src/types/NavigationMode.ts +33 -0
  508. package/src/types/ValueState.ts +47 -0
  509. package/src/types.ts +22 -0
  510. package/src/updateShadowRoot.ts +37 -0
  511. package/src/util/AriaLabelHelper.ts +63 -0
  512. package/src/util/Caret.ts +28 -0
  513. package/src/util/ColorConversion.ts +394 -0
  514. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  515. package/src/util/FocusableElements.ts +80 -0
  516. package/src/util/HTMLSanitizer.ts +9 -0
  517. package/src/util/InvisibleMessage.ts +69 -0
  518. package/src/util/PopupUtils.ts +114 -0
  519. package/src/util/SlotsHelper.ts +39 -0
  520. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  521. package/src/util/TabbableElements.ts +56 -0
  522. package/src/util/arraysAreEqual.ts +15 -0
  523. package/src/util/clamp.ts +12 -0
  524. package/src/util/createLinkInHead.ts +25 -0
  525. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  526. package/src/util/debounce.ts +18 -0
  527. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  528. package/src/util/escapeRegex.ts +11 -0
  529. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  530. package/src/util/generateHighlightedMarkup.ts +43 -0
  531. package/src/util/getActiveElement.ts +11 -0
  532. package/src/util/getClassCopy.ts +12 -0
  533. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  534. package/src/util/getEffectiveContentDensity.ts +5 -0
  535. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  536. package/src/util/getFastNavigationGroups.ts +63 -0
  537. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  538. package/src/util/getNormalizedTarget.ts +16 -0
  539. package/src/util/getSingletonElementInstance.ts +13 -0
  540. package/src/util/isDefaultSlotProvided.ts +11 -0
  541. package/src/util/isElementClickable.ts +19 -0
  542. package/src/util/isElementHidden.ts +9 -0
  543. package/src/util/isElementInView.ts +15 -0
  544. package/src/util/isElementTabbable.ts +28 -0
  545. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +7 -6
  546. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  547. package/src/validateThemeRoot.ts +58 -0
  548. package/tsconfig.json +13 -0
  549. package/used-modules.txt +10 -0
  550. package/bundle.es5.js +0 -28
  551. package/config/.eslintrc.js +0 -3
  552. package/config/rollup.config.js +0 -1
  553. package/dist/RenderScheduler.js +0 -178
  554. package/dist/SVGIconRegistry.js +0 -60
  555. package/dist/animations/config.js +0 -5
  556. package/dist/boot.js +0 -34
  557. package/dist/compatibility/DOMObserver.js +0 -62
  558. package/dist/compatibility/patchNodeValue.js +0 -24
  559. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  560. package/dist/delegate/CustomResize.js +0 -78
  561. package/dist/delegate/NativeResize.js +0 -44
  562. package/dist/features/PropertiesFormatSupport.js +0 -8
  563. package/dist/features/browsersupport/Edge.js +0 -6
  564. package/dist/features/browsersupport/IE11.js +0 -41
  565. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  566. package/dist/renderer/ifDefined.js +0 -21
  567. package/dist/resources/bundle.es5.js +0 -212
  568. package/dist/resources/bundle.es5.js.map +0 -1
  569. package/dist/resources/bundle.esm.js +0 -129
  570. package/dist/resources/bundle.esm.js.map +0 -1
  571. package/dist/test-resources/assets/Themes.js +0 -13
  572. package/dist/test-resources/elements/Child.js +0 -35
  573. package/dist/test-resources/elements/Generic.js +0 -84
  574. package/dist/test-resources/elements/GenericExt.js +0 -26
  575. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  576. package/dist/test-resources/elements/Parent.js +0 -37
  577. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  578. package/dist/test-resources/pages/AllTestElements.html +0 -42
  579. package/dist/test-resources/pages/Configuration.html +0 -20
  580. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  581. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  582. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  583. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  584. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  585. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  586. package/dist/test-resources/specs/Theming.spec.js +0 -31
  587. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  588. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  589. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  590. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  591. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  592. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  593. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  594. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  595. package/dist/theming/CSSVarsPonyfill.js +0 -24
  596. package/dist/theming/adaptCSSForIE.js +0 -90
  597. package/dist/theming/createComponentStyleTag.js +0 -49
  598. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  599. package/dist/thirdparty/Array.from.js +0 -16
  600. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  601. package/dist/thirdparty/Array.prototype.find.js +0 -46
  602. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  603. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  604. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  605. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  606. package/dist/thirdparty/Number.isInteger.js +0 -5
  607. package/dist/thirdparty/Number.isNaN.js +0 -1
  608. package/dist/thirdparty/Number.parseInt.js +0 -1
  609. package/dist/thirdparty/Object.assign.js +0 -31
  610. package/dist/thirdparty/Object.entries.js +0 -11
  611. package/dist/thirdparty/Symbol.js +0 -2
  612. package/dist/thirdparty/WeakSet.js +0 -27
  613. package/dist/thirdparty/es6-string-methods.js +0 -182
  614. package/dist/thirdparty/events-polyfills.js +0 -89
  615. package/dist/thirdparty/fetch.js +0 -1
  616. package/dist/thirdparty/template.js +0 -600
  617. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  618. package/dist/types/CSSSize.js +0 -9
  619. package/dist/types/PopupState.js +0 -37
  620. package/dist/util/findNodeOwner.js +0 -35
  621. package/dist/util/isDescendantOf.js +0 -15
  622. package/dist/util/isNodeClickable.js +0 -19
  623. package/dist/util/isNodeHidden.js +0 -9
  624. package/dist/util/isNodeTabbable.js +0 -28
  625. package/dist/util/isSlot.js +0 -3
  626. package/dist/util/parseProperties.js +0 -89
  627. package/dist/util/setToArray.js +0 -10
  628. package/dist/webcomponentsjs/LICENSE.md +0 -19
  629. package/dist/webcomponentsjs/README.md +0 -229
  630. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  631. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  632. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  633. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  634. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  635. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  636. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  637. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  638. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  639. package/dist/webcomponentsjs/package.json +0 -46
  640. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  641. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  642. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  643. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  644. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  645. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  646. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  647. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  648. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  649. package/src/AssetRegistry.js +0 -10
  650. package/src/CustomElementsRegistry.js +0 -39
  651. package/src/Device.js +0 -823
  652. package/src/EventProvider.js +0 -81
  653. package/src/FeaturesRegistry.js +0 -11
  654. package/src/FontFace.js +0 -73
  655. package/src/InitialConfiguration.js +0 -131
  656. package/src/Keys.js +0 -170
  657. package/src/RenderQueue.js +0 -42
  658. package/src/RenderScheduler.js +0 -178
  659. package/src/SVGIconRegistry.js +0 -60
  660. package/src/StaticArea.js +0 -41
  661. package/src/StaticAreaItem.js +0 -105
  662. package/src/SystemCSSVars.js +0 -31
  663. package/src/Theming.js +0 -3
  664. package/src/UI5Element.js +0 -992
  665. package/src/UI5ElementMetadata.js +0 -187
  666. package/src/animations/animate.js +0 -53
  667. package/src/animations/config.js +0 -5
  668. package/src/animations/scroll.js +0 -28
  669. package/src/asset-registries/Icons.js +0 -31
  670. package/src/asset-registries/LocaleData.js +0 -125
  671. package/src/asset-registries/Themes.js +0 -87
  672. package/src/asset-registries/i18n.js +0 -106
  673. package/src/boot.js +0 -34
  674. package/src/compatibility/DOMObserver.js +0 -62
  675. package/src/compatibility/patchNodeValue.js +0 -24
  676. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  677. package/src/config/AnimationMode.js +0 -13
  678. package/src/config/FormatSettings.js +0 -13
  679. package/src/config/Language.js +0 -41
  680. package/src/config/NoConflict.js +0 -51
  681. package/src/config/Theme.js +0 -28
  682. package/src/delegate/CustomResize.js +0 -78
  683. package/src/delegate/ItemNavigation.js +0 -282
  684. package/src/delegate/NativeResize.js +0 -44
  685. package/src/delegate/ResizeHandler.js +0 -65
  686. package/src/delegate/ScrollEnablement.js +0 -159
  687. package/src/features/OpenUI5Support.js +0 -90
  688. package/src/features/PropertiesFormatSupport.js +0 -8
  689. package/src/features/browsersupport/Edge.js +0 -6
  690. package/src/features/browsersupport/IE11.js +0 -41
  691. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  692. package/src/i18nBundle.js +0 -33
  693. package/src/locale/RTLAwareRegistry.js +0 -14
  694. package/src/locale/applyDirection.js +0 -15
  695. package/src/locale/languageChange.js +0 -22
  696. package/src/renderer/LitRenderer.js +0 -15
  697. package/src/renderer/ifDefined.js +0 -21
  698. package/src/theming/CSSVarsPonyfill.js +0 -24
  699. package/src/theming/CustomStyle.js +0 -19
  700. package/src/theming/adaptCSSForIE.js +0 -90
  701. package/src/theming/applyTheme.js +0 -81
  702. package/src/theming/createComponentStyleTag.js +0 -49
  703. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  704. package/src/theming/getConstructableStyle.js +0 -25
  705. package/src/theming/getEffectiveStyle.js +0 -15
  706. package/src/theming/getThemeDesignerTheme.js +0 -67
  707. package/src/thirdparty/Array.from.js +0 -16
  708. package/src/thirdparty/Array.prototype.fill.js +0 -44
  709. package/src/thirdparty/Array.prototype.find.js +0 -46
  710. package/src/thirdparty/Array.prototype.includes.js +0 -51
  711. package/src/thirdparty/Element.prototype.closest.js +0 -11
  712. package/src/thirdparty/Element.prototype.matches.js +0 -6
  713. package/src/thirdparty/Map.prototype.keys.js +0 -9
  714. package/src/thirdparty/Number.isInteger.js +0 -5
  715. package/src/thirdparty/Number.isNaN.js +0 -1
  716. package/src/thirdparty/Number.parseInt.js +0 -1
  717. package/src/thirdparty/Object.assign.js +0 -31
  718. package/src/thirdparty/Object.entries.js +0 -11
  719. package/src/thirdparty/Symbol.js +0 -2
  720. package/src/thirdparty/WeakSet.js +0 -27
  721. package/src/thirdparty/es6-string-methods.js +0 -182
  722. package/src/thirdparty/events-polyfills.js +0 -89
  723. package/src/thirdparty/fetch.js +0 -1
  724. package/src/thirdparty/merge.js +0 -10
  725. package/src/thirdparty/template.js +0 -600
  726. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  727. package/src/types/AnimationMode.js +0 -7
  728. package/src/types/CSSSize.js +0 -9
  729. package/src/types/CalendarType.js +0 -22
  730. package/src/types/DataType.js +0 -25
  731. package/src/types/Float.js +0 -10
  732. package/src/types/Integer.js +0 -9
  733. package/src/types/ItemNavigationBehavior.js +0 -21
  734. package/src/types/NavigationMode.js +0 -7
  735. package/src/types/PopupState.js +0 -37
  736. package/src/types/ValueState.js +0 -22
  737. package/src/util/FocusableElements.js +0 -66
  738. package/src/util/TabbableElements.js +0 -47
  739. package/src/util/findNodeOwner.js +0 -35
  740. package/src/util/isDescendantOf.js +0 -15
  741. package/src/util/isNodeClickable.js +0 -19
  742. package/src/util/isNodeHidden.js +0 -9
  743. package/src/util/isNodeTabbable.js +0 -28
  744. package/src/util/isSlot.js +0 -3
  745. package/src/util/setToArray.js +0 -10
@@ -1,87 +1,50 @@
1
- import { fetchJsonOnce, fetchTextOnce } from "../util/FetchHelper.js";
2
1
  import { DEFAULT_THEME } from "../generated/AssetParameters.js";
3
- import getFileExtension from "../util/getFileExtension.js";
4
-
5
- const themeURLs = new Map();
6
2
  const themeStyles = new Map();
3
+ const loaders = new Map();
7
4
  const registeredPackages = new Set();
8
5
  const registeredThemes = new Set();
9
-
10
- /**
11
- * Used to provide CSS Vars for a specific theme for a specific package.
12
- * The CSS Vars can be passed directly as a string (containing them), as an object with a "_" property(containing them in the "_" property), or as a URL.
13
- * This URL must point to a JSON file, containing a "_" property.
14
- *
15
- * Example usage:
16
- * 1) Pass the CSS Vars as a string directly.
17
- * registerThemeProperties("my-package", "my_theme", ":root{--var1: red;}");
18
- * 2) Pass the CSS Vars as an object directly
19
- * registerThemeProperties("my-package", "my_theme", {"_": ":root{--var1: red;}"});
20
- * 3) Pass a URL to a CSS file, containing the CSS Vars. Will be fetched on demand, not upon registration.
21
- * registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.css");
22
- * 4) Pass a URL to a JSON file, containing the CSS Vars in its "_" property. Will be fetched on demand, not upon registration.
23
- * registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.json");
24
- *
25
- * @public
26
- * @param packageName - the NPM package for which CSS Vars are registered
27
- * @param themeName - the theme which the CSS Vars implement
28
- * @param style - can be one of four options: a string, an object with a "_" property, URL to a CSS file, or URL to a JSON file with a "_" property
29
- */
30
- const registerThemeProperties = (packageName, themeName, style) => {
31
- if (style._) {
32
- // JSON object like ({"_": ":root"})
33
- themeStyles.set(`${packageName}_${themeName}`, style._);
34
- } else if (style.includes(":root") || style === "") {
35
- // pure string, including empty string
36
- themeStyles.set(`${packageName}_${themeName}`, style);
37
- } else {
38
- // url for fetching
39
- themeURLs.set(`${packageName}_${themeName}`, style);
40
- }
41
- registeredPackages.add(packageName);
42
- registeredThemes.add(themeName);
6
+ const registerThemePropertiesLoader = (packageName, themeName, loader) => {
7
+ loaders.set(`${packageName}/${themeName}`, loader);
8
+ registeredPackages.add(packageName);
9
+ registeredThemes.add(themeName);
43
10
  };
44
-
45
11
  const getThemeProperties = async (packageName, themeName) => {
46
- const style = themeStyles.get(`${packageName}_${themeName}`);
47
- if (style !== undefined) { // it's valid for style to be an empty string
48
- return style;
49
- }
50
-
51
- if (!registeredThemes.has(themeName)) {
52
- const regThemesStr = [...registeredThemes.values()].join(", ");
53
- console.warn(`You have requested a non-registered theme - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
54
- return themeStyles.get(`${packageName}_${DEFAULT_THEME}`);
55
- }
56
-
57
- const data = await fetchThemeProperties(packageName, themeName);
58
- const themeProps = data._ || data;
59
-
60
- themeStyles.set(`${packageName}_${themeName}`, themeProps);
61
- return themeProps;
12
+ const style = themeStyles.get(`${packageName}_${themeName}`);
13
+ if (style !== undefined) { // it's valid for style to be an empty string
14
+ return style;
15
+ }
16
+ if (!registeredThemes.has(themeName)) {
17
+ const regThemesStr = [...registeredThemes.values()].join(", ");
18
+ console.warn(`You have requested a non-registered theme ${themeName} - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
19
+ return _getThemeProperties(packageName, DEFAULT_THEME);
20
+ }
21
+ return _getThemeProperties(packageName, themeName);
62
22
  };
63
-
64
- const fetchThemeProperties = async (packageName, themeName) => {
65
- const url = themeURLs.get(`${packageName}_${themeName}`);
66
-
67
- if (!url) {
68
- throw new Error(`You have to import the ${packageName}/dist/Assets.js module to switch to additional themes`);
69
- }
70
-
71
- return getFileExtension(url) === ".css" ? fetchTextOnce(url) : fetchJsonOnce(url);
23
+ const _getThemeProperties = async (packageName, themeName) => {
24
+ const loader = loaders.get(`${packageName}/${themeName}`);
25
+ if (!loader) {
26
+ // no themes for package
27
+ console.error(`Theme [${themeName}] not registered for package [${packageName}]`); /* eslint-disable-line */
28
+ return;
29
+ }
30
+ let data;
31
+ try {
32
+ data = await loader(themeName);
33
+ }
34
+ catch (error) {
35
+ const e = error;
36
+ console.error(packageName, e.message); /* eslint-disable-line */
37
+ return;
38
+ }
39
+ const themeProps = data._ || data; // Refactor: remove _ everywhere
40
+ themeStyles.set(`${packageName}_${themeName}`, themeProps);
41
+ return themeProps;
72
42
  };
73
-
74
43
  const getRegisteredPackages = () => {
75
- return registeredPackages;
44
+ return registeredPackages;
76
45
  };
77
-
78
- const isThemeRegistered = theme => {
79
- return registeredThemes.has(theme);
80
- };
81
-
82
- export {
83
- registerThemeProperties,
84
- getThemeProperties,
85
- getRegisteredPackages,
86
- isThemeRegistered,
46
+ const isThemeRegistered = (theme) => {
47
+ return registeredThemes.has(theme);
87
48
  };
49
+ export { registerThemePropertiesLoader, getThemeProperties, getRegisteredPackages, isThemeRegistered, };
50
+ //# sourceMappingURL=Themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Themes.js","sourceRoot":"","sources":["../../src/asset-registries/Themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAMhE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;AACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE3C,MAAM,6BAA6B,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,MAAmB,EAAE,EAAE;IACrG,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;IACnD,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,WAAmB,EAAE,SAAiB,EAAE,EAAE;IAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,EAAE,6CAA6C;QACvE,OAAO,KAAK,CAAC;KACb;IAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACrC,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,6CAA6C,SAAS,sBAAsB,aAAa,4BAA4B,YAAY,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC5K,OAAO,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;KACvD;IAED,OAAO,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,WAAmB,EAAE,SAAiB,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE;QACZ,wBAAwB;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,SAAS,iCAAiC,WAAW,GAAG,CAAC,CAAC,CAAC,yBAAyB;QAC5G,OAAO;KACP;IACD,IAAI,IAAI,CAAC;IACT,IAAI;QACH,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;KAC/B;IAAC,OAAO,KAAc,EAAE;QACxB,MAAM,CAAC,GAAG,KAAc,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;QAChE,OAAO;KACP;IACD,MAAM,UAAU,GAAI,IAA0B,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,gCAAgC;IAE1F,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;IAClC,OAAO,kBAAkB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,OAAO,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,OAAO,EACN,6BAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GACjB,CAAC"}
@@ -0,0 +1,23 @@
1
+ type I18nLoader = (localeId: string) => Promise<I18nData>;
2
+ type I18nData = Record<string, string>;
3
+ /**
4
+ * Registers i18n loader function for given package and locale.
5
+ *
6
+ * @public
7
+ * @param {string} packageName for which package this loader can fetch data
8
+ * @param {string} localeId locale that this loader can handle
9
+ * @param {function} loader async function that will be passed a localeId and should return a JSON object
10
+ */
11
+ declare const registerI18nLoader: (packageName: string, localeId: string, loader: I18nLoader) => void;
12
+ declare const getI18nBundleData: (packageName: string) => I18nData | null | undefined;
13
+ /**
14
+ * This method preforms the asynchronous task of fetching the actual text resources. It will fetch
15
+ * each text resource over the network once (even for multiple calls to the same method).
16
+ * It should be fully finished before the i18nBundle class is created in the webcomponents.
17
+ * This method uses the bundle URLs that are populated by the <code>registerI18nBundle</code> method.
18
+ * To simplify the usage, the synchronization of both methods happens internally for the same <code>bundleId</code>
19
+ * @param {packageName} packageName the NPM package name
20
+ * @public
21
+ */
22
+ declare const fetchI18nBundle: (packageName: string) => Promise<void>;
23
+ export { registerI18nLoader, fetchI18nBundle, getI18nBundleData, };
@@ -1,43 +1,53 @@
1
- import { getFeature } from "../FeaturesRegistry.js";
2
1
  import getLocale from "../locale/getLocale.js";
3
2
  import { attachLanguageChange } from "../locale/languageChange.js";
4
- import { fetchTextOnce } from "../util/FetchHelper.js";
5
3
  import normalizeLocale from "../locale/normalizeLocale.js";
6
4
  import nextFallbackLocale from "../locale/nextFallbackLocale.js";
7
5
  import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
8
-
6
+ import { getFetchDefaultLanguage } from "../config/Language.js";
7
+ // contains package names for which the warning has been shown
8
+ const warningShown = new Set();
9
+ const reportedErrors = new Set();
9
10
  const bundleData = new Map();
10
- const bundleURLs = new Map();
11
-
11
+ const bundlePromises = new Map();
12
+ const loaders = new Map();
12
13
  /**
13
- * Sets a map with texts and ID the are related to.
14
- * @param {string} packageName package ID that the i18n bundle will be related to
15
- * @param {Object} data an object with string locales as keys and text translataions as values
14
+ * Registers i18n loader function for given package and locale.
15
+ *
16
16
  * @public
17
+ * @param {string} packageName for which package this loader can fetch data
18
+ * @param {string} localeId locale that this loader can handle
19
+ * @param {function} loader async function that will be passed a localeId and should return a JSON object
17
20
  */
18
- const setI18nBundleData = (packageName, data) => {
19
- bundleData.set(packageName, data);
21
+ const registerI18nLoader = (packageName, localeId, loader) => {
22
+ // register loader by key
23
+ const bundleKey = `${packageName}/${localeId}`;
24
+ loaders.set(bundleKey, loader);
20
25
  };
21
-
22
- const getI18nBundleData = packageName => {
23
- return bundleData.get(packageName);
26
+ const _setI18nBundleData = (packageName, data) => {
27
+ bundleData.set(packageName, data);
24
28
  };
25
-
26
- /**
27
- * Registers a map of locale/url information, to be used by the <code>fetchI18nBundle</code> method.
28
- * Note: In order to be able to register ".properties" files, you must import the following module:
29
- * import "@ui5/webcomponents-base/dist/features/PropertiesFormatSupport.js";
30
- *
31
- * @param {string} packageName package ID that the i18n bundle will be related to
32
- * @param {Object} bundle an object with string locales as keys and the URLs (in .json or .properties format - see the note above) where the corresponding locale can be fetched from, f.e {"en": "path/en.json", ...}
33
- *
34
- * @public
35
- */
36
- const registerI18nBundle = (packageName, bundle) => {
37
- const oldBundle = bundleURLs.get(packageName) || {};
38
- bundleURLs.set(packageName, Object.assign({}, oldBundle, bundle));
29
+ const getI18nBundleData = (packageName) => {
30
+ return bundleData.get(packageName);
31
+ };
32
+ const _hasLoader = (packageName, localeId) => {
33
+ const bundleKey = `${packageName}/${localeId}`;
34
+ return loaders.has(bundleKey);
35
+ };
36
+ // load bundle over the network once
37
+ const _loadMessageBundleOnce = (packageName, localeId) => {
38
+ const bundleKey = `${packageName}/${localeId}`;
39
+ const loadMessageBundle = loaders.get(bundleKey);
40
+ if (loadMessageBundle && !bundlePromises.get(bundleKey)) {
41
+ bundlePromises.set(bundleKey, loadMessageBundle(localeId));
42
+ }
43
+ return bundlePromises.get(bundleKey); // Investigate if i18n loader exists and this won't return undefined.
44
+ };
45
+ const _showAssetsWarningOnce = (packageName) => {
46
+ if (!warningShown.has(packageName)) {
47
+ console.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */ ` Add \`import "${packageName}/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.`); /* eslint-disable-line */
48
+ warningShown.add(packageName);
49
+ }
39
50
  };
40
-
41
51
  /**
42
52
  * This method preforms the asynchronous task of fetching the actual text resources. It will fetch
43
53
  * each text resource over the network once (even for multiple calls to the same method).
@@ -47,60 +57,39 @@ const registerI18nBundle = (packageName, bundle) => {
47
57
  * @param {packageName} packageName the NPM package name
48
58
  * @public
49
59
  */
50
- const fetchI18nBundle = async packageName => {
51
- const bundlesForPackage = bundleURLs.get(packageName);
52
-
53
- if (!bundlesForPackage) {
54
- console.warn(`Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
55
- ` You need to import ${packageName}/dist/Assets.js with a build tool that supports JSON imports.`); /* eslint-disable-line */
56
- return;
57
- }
58
-
59
- const language = getLocale().getLanguage();
60
-
61
- let localeId = normalizeLocale(language);
62
- while (localeId !== DEFAULT_LANGUAGE && !bundlesForPackage[localeId]) {
63
- localeId = nextFallbackLocale(localeId);
64
- }
65
-
66
- if (!bundlesForPackage[localeId]) {
67
- setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
68
- return;
69
- }
70
-
71
- const bundleURL = bundlesForPackage[localeId];
72
-
73
- if (typeof bundleURL === "object") { // inlined from build
74
- setI18nBundleData(packageName, bundleURL);
75
- return;
76
- }
77
-
78
- const content = await fetchTextOnce(bundleURL);
79
- let parser;
80
- if (content.startsWith("{")) {
81
- parser = JSON.parse;
82
- } else {
83
- const PropertiesFormatSupport = getFeature("PropertiesFormatSupport");
84
- if (!PropertiesFormatSupport) {
85
- throw new Error(`In order to support .properties files, please: import "@ui5/webcomponents-base/dist/features/PropertiesFormatSupport.js";`);
86
- }
87
- parser = PropertiesFormatSupport.parser;
88
- }
89
-
90
- const data = parser(content);
91
-
92
- setI18nBundleData(packageName, data);
60
+ const fetchI18nBundle = async (packageName) => {
61
+ const language = getLocale().getLanguage();
62
+ const region = getLocale().getRegion();
63
+ let localeId = normalizeLocale(language + (region ? `-${region}` : ``));
64
+ while (localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId)) {
65
+ localeId = nextFallbackLocale(localeId);
66
+ }
67
+ // use default language unless configured to always fetch it from the network
68
+ const fetchDefaultLanguage = getFetchDefaultLanguage();
69
+ if (localeId === DEFAULT_LANGUAGE && !fetchDefaultLanguage) {
70
+ _setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
71
+ return;
72
+ }
73
+ if (!_hasLoader(packageName, localeId)) {
74
+ _showAssetsWarningOnce(packageName);
75
+ return;
76
+ }
77
+ try {
78
+ const data = await _loadMessageBundleOnce(packageName, localeId);
79
+ _setI18nBundleData(packageName, data);
80
+ }
81
+ catch (error) {
82
+ const e = error;
83
+ if (!reportedErrors.has(e.message)) {
84
+ reportedErrors.add(e.message);
85
+ console.error(e.message); /* eslint-disable-line */
86
+ }
87
+ }
93
88
  };
94
-
95
89
  // When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
96
- attachLanguageChange(() => {
97
- const allPackages = [...bundleData.keys()];
98
- return Promise.all(allPackages.map(fetchI18nBundle));
90
+ attachLanguageChange((lang /* eslint-disable-line */) => {
91
+ const allPackages = [...bundleData.keys()];
92
+ return Promise.all(allPackages.map(fetchI18nBundle));
99
93
  });
100
-
101
- export {
102
- fetchI18nBundle,
103
- registerI18nBundle,
104
- setI18nBundleData,
105
- getI18nBundleData,
106
- };
94
+ export { registerI18nLoader, fetchI18nBundle, getI18nBundleData, };
95
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/asset-registries/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAKhE,8DAA8D;AAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;AAC/B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;AAEjC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;AACtD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;AAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,MAAkB,EAAE,EAAE;IACxF,yBAAyB;IACzB,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,IAAqB,EAAE,EAAE;IACzE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,EAAE;IACjD,OAAO,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,EAAE;IAC5D,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,oCAAoC;AACpC,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,EAAE;IACxE,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,iBAAiB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACxD,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC3D;IAED,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC,qEAAqE;AAC7G,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,EAAE;IACtD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,6EAA6E,EAAE,yBAAyB,CACpI,kBAAkB,WAAW,4KAA4K,CAAC,CAAC,CAAC,yBAAyB;QACrO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC9B;AACF,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;IACrD,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;IACvC,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAExE,OAAO,QAAQ,KAAK,gBAAgB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE;QAC3E,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;KACxC;IAED,6EAA6E;IAC7E,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,IAAI,QAAQ,KAAK,gBAAgB,IAAI,CAAC,oBAAoB,EAAE;QAC3D,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,2EAA2E;QAClH,OAAO;KACP;IAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE;QACvC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO;KACP;IAED,IAAI;QACH,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjE,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KACtC;IAAC,OAAO,KAAc,EAAE;QACxB,MAAM,CAAC,GAAG,KAAc,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;YACnC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;SACnD;KACD;AACF,CAAC,CAAC;AAEF,8GAA8G;AAC9G,oBAAoB,CAAC,CAAC,IAAY,CAAC,yBAAyB,EAAE,EAAE;IAC/D,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,OAAO,EACN,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GACjB,CAAC"}
@@ -0,0 +1,56 @@
1
+ const qs=function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.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)}};qs();const we={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"]}},he=we.themes.default,fe=we.languages.default,$=we.locales.default,lt=we.locales.all;var Jt=()=>{const t=navigator.languages,e=()=>navigator.language;return t&&t[0]||e()||fe},Xt={},Yt=Xt.hasOwnProperty,Gs=Xt.toString,Qt=Yt.toString,Ks=Qt.call(Object),ut=function(t){var e,s;return!t||Gs.call(t)!=="[object Object]"?!1:(e=Object.getPrototypeOf(t),e?(s=Yt.call(e,"constructor")&&e.constructor,typeof s=="function"&&Qt.call(s)===Ks):!0)},Js=Object.create(null),es=function(t,e,s,n){var r,i,o,a,c,l,f=arguments[2]||{},u=3,d=arguments.length,h=arguments[0]||!1,p=arguments[1]?void 0:Js;for(typeof f!="object"&&typeof f!="function"&&(f={});u<d;u++)if((c=arguments[u])!=null)for(a in c)r=f[a],o=c[a],!(a==="__proto__"||f===o)&&(h&&o&&(ut(o)||(i=Array.isArray(o)))?(i?(i=!1,l=r&&Array.isArray(r)?r:[]):l=r&&ut(r)?r:{},f[a]=es(h,arguments[1],l,o)):o!==p&&(f[a]=o));return f};const Ye=function(t,e){return es(!0,!1,...arguments)},ts=new Map,Xs=(t,e)=>{ts.set(t,e)},b=t=>ts.get(t),Ys=t=>{const e=document.querySelector(`META[name="${t}"]`);return e&&e.getAttribute("content")},Qs=t=>{const e=Ys("sap-allowedThemeOrigins");return e&&e.split(",").some(s=>s==="*"||t===s.trim())},en=(t,e)=>{const s=new URL(t).pathname;return new URL(s,e).toString()},tn=t=>{let e,s;try{e=new URL(t);const n=e.origin;return e=e.toString(),e.startsWith(".")||e.startsWith("/")?s=new URL(e,window.location.href).toString():n&&Qs(n)?s=e.toString():s=en(e,window.location.href),s.endsWith("/")||(s=`${s}/`),`${s}UI5/`}catch{}};var We;(function(t){t.Full="full",t.Basic="basic",t.Minimal="minimal",t.None="none"})(We||(We={}));var sn=We;let dt=!1,_={animationMode:sn.Full,theme:he,themeRoot:void 0,rtl:void 0,language:void 0,calendarType:void 0,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const nn=()=>(C(),_.animationMode),rn=()=>(C(),_.theme),on=()=>(C(),_.themeRoot),an=()=>(C(),_.rtl),cn=()=>(C(),_.language),ln=()=>(C(),_.fetchDefaultLanguage),un=()=>(C(),_.noConflict),dn=()=>(C(),_.calendarType),hn=()=>(C(),_.formatSettings),pe=new Map;pe.set("true",!0);pe.set("false",!1);const fn=()=>{const t=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let e;if(t){try{e=JSON.parse(t.innerHTML)}catch{console.warn("Incorrect data-sap-ui-config format. Please use JSON")}e&&(_=Ye(_,e))}},pn=()=>{const t=new URLSearchParams(window.location.search);t.forEach((e,s)=>{const n=s.split("sap-").length;n===0||n===s.split("sap-ui-").length||ht(s,e,"sap")}),t.forEach((e,s)=>{!s.startsWith("sap-ui")||ht(s,e,"sap-ui")})},gn=t=>{const e=t.split("@")[1];return tn(e)},mn=(t,e)=>t==="theme"&&e.includes("@")?e.split("@")[0]:e,ht=(t,e,s)=>{const n=e.toLowerCase(),r=t.split(`${s}-`)[1];pe.has(e)&&(e=pe.get(n)),r==="theme"?(_.theme=mn(r,e),e&&e.includes("@")&&(_.themeRoot=gn(e))):_[r]=e},yn=()=>{const t=b("OpenUI5Support");if(!t||!t.isLoaded())return;const e=t.getConfigurationSettingsObject();_=Ye(_,e)},C=()=>{dt||(fn(),pn(),yn(),dt=!0)};class O{constructor(){this._eventRegistry=new Map}attachEvent(e,s){const n=this._eventRegistry,r=n.get(e);if(!Array.isArray(r)){n.set(e,[s]);return}r.includes(s)||r.push(s)}detachEvent(e,s){const n=this._eventRegistry,r=n.get(e);if(!r)return;const i=r.indexOf(s);i!==-1&&r.splice(i,1),r.length===0&&n.delete(e)}fireEvent(e,s){const r=this._eventRegistry.get(e);return r?r.map(i=>i.call(this,s)):[]}fireEventAsync(e,s){return Promise.all(this.fireEvent(e,s))}isHandlerAttached(e,s){const r=this._eventRegistry.get(e);return r?r.includes(s):!1}hasListeners(e){return!!this._eventRegistry.get(e)}}const ss=new O,ns="languageChange",rs=t=>{ss.attachEvent(ns,t)},_n=t=>ss.fireEventAsync(ns,t),ft=10;class wn{constructor(){this.list=[],this.lookup=new Set}add(e){this.lookup.has(e)||(this.list.push(e),this.lookup.add(e))}remove(e){!this.lookup.has(e)||(this.list=this.list.filter(s=>s!==e),this.lookup.delete(e))}shift(){const e=this.list.shift();if(e)return this.lookup.delete(e),e}isEmpty(){return this.list.length===0}isAdded(e){return this.lookup.has(e)}process(e){let s;const n=new Map;for(s=this.shift();s;){const r=n.get(s)||0;if(r>ft)throw new Error(`Web component processed too many times this task, max allowed is: ${ft}`);e(s),n.set(s,r+1),s=this.shift()}}}const is=(t,e=document.body)=>{let s=document.querySelector(t);return s||(s=document.createElement(t),e.insertBefore(s,e.firstChild))},vn=()=>is("ui5-shared-resources",document.head),R=(t,e)=>{const s=t.split(".");let n=vn();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?e:{}),n=n[i]}return n},An={version:"0.0.0-e0658a650",major:0,minor:0,patch:0,suffix:"-e0658a650",isNext:!0,buildTime:1669293912};let ae,Sn="";const Te=new Map,K=R("Runtimes",[]),$n=()=>{if(ae===void 0){ae=K.length;const t=An;K.push({...t,alias:Sn,description:`Runtime ${ae} - ver ${t.version}`})}},os=()=>ae,bn=(t,e)=>{const s=`${t},${e}`;if(Te.has(s))return Te.get(s);const n=K[t],r=K[e];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 Te.set(s,l),l},Cn=()=>K,as=R("Tags",new Map),Qe=new Set;let P=new Map,Ee;const cs=-1,Tn=t=>{Qe.add(t),as.set(t,os())},En=t=>Qe.has(t),Ln=()=>[...Qe.values()],Mn=t=>{let e=as.get(t);e===void 0&&(e=cs),P.has(e)||P.set(e,new Set),P.get(e).add(t),Ee||(Ee=setTimeout(()=>{Pn(),P=new Map,Ee=void 0},1e3))},Pn=()=>{const t=Cn(),e=os(),s=t[e];let n="Multiple UI5 Web Components instances detected.";t.length>1&&(n=`${n}
2
+ Loading order (versions before 1.1.0 not listed): ${t.map(r=>`
3
+ ${r.description}`).join("")}`),[...P.keys()].forEach(r=>{let i,o;r===cs?(i=1,o={description:"Older unknown runtime"}):(i=bn(e,r),o=t[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 ${P.get(r).size} tag(s) as they were defined by a runtime of ${a} version "${o.description}": ${[...P.get(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)},ls=new Set,In=t=>{ls.add(t)},xn=t=>ls.has(t),et=new Set,On=new O,B=new wn;let D,ce,Le,re;const us=async t=>{B.add(t),await Dn()},ds=t=>{On.fireEvent("beforeComponentRender",t),et.add(t),t._render()},Rn=t=>{B.remove(t),et.delete(t)},Dn=async()=>{re||(re=new Promise(t=>{window.requestAnimationFrame(()=>{B.process(ds),re=null,t(),Le||(Le=setTimeout(()=>{Le=void 0,B.isEmpty()&&Nn()},200))})})),await re},kn=()=>D||(D=new Promise(t=>{ce=t,window.requestAnimationFrame(()=>{B.isEmpty()&&(D=void 0,t())})}),D),Un=()=>{const t=Ln().map(e=>customElements.whenDefined(e));return Promise.all(t)},tt=async()=>{await Un(),await kn()},Nn=()=>{!B.isEmpty()||ce&&(ce(),ce=void 0,D=void 0)},ve=async t=>{et.forEach(e=>{const s=e.constructor,n=s.getMetadata().getTag(),r=xn(s),i=s.getMetadata().isLanguageAware(),o=s.getMetadata().isThemeAware();(!t||t.tag===n||t.rtlAware&&r||t.languageAware&&i||t.themeAware&&o)&&us(e)}),await tt()};let q,Ze;const st=()=>(q===void 0&&(q=cn()),q),Bn=async t=>{q!==t&&(q=t,await _n(t),await ve({languageAware:!0}))},Hn=t=>{Ze=t},Fn=()=>(Ze===void 0&&Hn(ln()),Ze),jn=/^((?:[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 hs{constructor(e){const s=jn.exec(e.replace(/_/g,"-"));if(s===null)throw new Error(`The given language ${e} does not adhere to BCP-47.`);this.sLocaleId=e,this.sLanguage=s[1]||fe,this.sScript=s[2]||"",this.sRegion=s[3]||"",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(e){return this.getPrivateUseSubtags().indexOf(e)>=0}toString(){const e=[this.sLanguage];return this.sScript&&e.push(this.sScript),this.sRegion&&e.push(this.sRegion),this.sVariant&&e.push(this.sVariant),this.sExtension&&e.push(this.sExtension),this.sPrivateUse&&e.push(this.sPrivateUse),e.join("-")}}const Me=new Map,fs=t=>(Me.has(t)||Me.set(t,new hs(t)),Me.get(t)),pt=t=>{try{if(t&&typeof t=="string")return fs(t)}catch{}return new hs($)},qe=t=>{if(t)return pt(t);const e=st();return e?fs(e):pt(Jt())},Vn=/^((?:[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,gt=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,zn={he:"iw",yi:"ji",id:"in",sr:"sh"},Wn=t=>{let e;if(!t)return $;if(typeof t=="string"&&(e=Vn.exec(t.replace(/_/g,"-")))){let s=e[1].toLowerCase(),n=e[3]?e[3].toUpperCase():void 0;const r=e[2]?e[2].toLowerCase():void 0,i=e[4]?e[4].slice(1):void 0,o=e[6];return s=zn[s]||s,o&&(e=gt.exec(o))||i&&(e=gt.exec(i))?`en_US_${e[1].toLowerCase()}`:(s==="zh"&&!n&&(r==="hans"?n="CN":r==="hant"&&(n="TW")),s+(n?"_"+n+(i?"_"+i.replace("-","_"):""):""))}return $},Zn=t=>{if(!t)return $;if(t==="zh_HK")return"zh_TW";const e=t.lastIndexOf("_");return e>=0?t.slice(0,e):t!==$?$:""},mt=new Set,yt=new Set,nt=new Map,Pe=new Map,rt=new Map,qn=(t,e,s)=>{const n=`${t}/${e}`;rt.set(n,s)},_t=(t,e)=>{nt.set(t,e)},Gn=t=>nt.get(t),wt=(t,e)=>{const s=`${t}/${e}`;return rt.has(s)},Kn=(t,e)=>{const s=`${t}/${e}`,n=rt.get(s);return n&&!Pe.get(s)&&Pe.set(s,n(e)),Pe.get(s)},Jn=t=>{mt.has(t)||(console.warn(`[${t}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${t}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`),mt.add(t))},ps=async t=>{const e=qe().getLanguage(),s=qe().getRegion();let n=Wn(e+(s?`-${s}`:""));for(;n!==fe&&!wt(t,n);)n=Zn(n);const r=Fn();if(n===fe&&!r){_t(t,null);return}if(!wt(t,n)){Jn(t);return}try{const i=await Kn(t,n);_t(t,i)}catch(i){const o=i;yt.has(o.message)||(yt.add(o.message),console.error(o.message))}};rs(t=>{const e=[...nt.keys()];return Promise.all(e.map(ps))});const Xn=new Map,ge=new Map,Ie=new Map,vt=new Set;let At=!1;const Yn={iw:"he",ji:"yi",in:"id"},St=t=>{At||(console.warn(`[LocaleData] Supported locale "${t}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),At=!0)},Qn=(t,e,s)=>{t=t&&Yn[t]||t,t==="no"&&(t="nb"),t==="zh"&&!e&&(s==="Hans"?e="CN":s==="Hant"&&(e="TW")),(t==="sh"||t==="sr"&&s==="Latn")&&(t="sr",e="Latn");let n=`${t}_${e}`;return lt.includes(n)||(n=t,lt.includes(n))?ge.has(n)?n:(St(n),$):$},$t=(t,e)=>{Xn.set(t,e)},er=t=>{if(!Ie.get(t)){const e=ge.get(t);if(!e)throw new Error(`CLDR data for locale ${t} is not loaded!`);Ie.set(t,e(t))}return Ie.get(t)},tr=async(t,e,s)=>{const n=Qn(t,e,s),r=b("OpenUI5Support");if(r){const i=r.getLocaleDataObject();if(i){$t(n,i);return}}try{const i=await er(n);$t(n,i)}catch(i){const o=i;vt.has(o.message)||(vt.add(o.message),console.error(o.message))}},sr=(t,e)=>{ge.set(t,e)};sr("en",async()=>(await fetch("https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json")).json());rs(()=>{const t=qe();return tr(t.getLanguage(),t.getRegion(),t.getScript())});const gs=new Map,ms=new Map,ys=new Set,me=new Set,T=(t,e,s)=>{ms.set(`${t}/${e}`,s),ys.add(t),me.add(e)},_s=async(t,e)=>{const s=gs.get(`${t}_${e}`);if(s!==void 0)return s;if(!me.has(e)){const n=[...me.values()].join(", ");return console.warn(`You have requested a non-registered theme ${e} - falling back to ${he}. Registered themes are: ${n}`),bt(t,he)}return bt(t,e)},bt=async(t,e)=>{const s=ms.get(`${t}/${e}`);if(!s){console.error(`Theme [${e}] not registered for package [${t}]`);return}let n;try{n=await s(e)}catch(i){console.error(t,i.message);return}const r=n._||n;return gs.set(`${t}_${e}`,r),r},ws=()=>ys,nr=t=>me.has(t),Ct={"SAP-icons-TNT":"tnt",BusinessSuiteInAppSymbols:"business-suite",horizon:"SAP-icons-v5"},rr=(t,e)=>{const s=document.createElement("style");return s.type="text/css",e&&Object.entries(e).forEach(n=>s.setAttribute(...n)),s.textContent=t,document.head.appendChild(s),s},ir=(t,e)=>{const s=document.createElement("link");return s.type="text/css",s.rel="stylesheet",e&&Object.entries(e).forEach(n=>s.setAttribute(...n)),s.href=t,document.head.appendChild(s),new Promise(n=>{s.addEventListener("load",n),s.addEventListener("error",n)})},Ae=(t,e)=>e?`${t}|${e}`:t,Se=(t,e,s="")=>{const n=typeof t=="string"?t:t.content;if(document.adoptedStyleSheets){const r=new CSSStyleSheet;r.replaceSync(n),r._ui5StyleId=Ae(e,s),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r]}else{const r={};r[e]=s,rr(n,r)}},or=(t,e,s="")=>{const n=typeof t=="string"?t:t.content;if(document.adoptedStyleSheets){const r=document.adoptedStyleSheets.find(i=>i._ui5StyleId===Ae(e,s));r&&r.replaceSync(n||"")}else{const r=document.querySelector(`head>style[${e}="${s}"]`);r&&(r.textContent=n||"")}},$e=(t,e="")=>document.adoptedStyleSheets?!!document.adoptedStyleSheets.find(s=>s._ui5StyleId===Ae(t,e)):!!document.querySelector(`head>style[${t}="${e}"]`),ar=(t,e="")=>{var s;if(document.adoptedStyleSheets)document.adoptedStyleSheets=document.adoptedStyleSheets.filter(n=>n._ui5StyleId!==Ae(t,e));else{const n=document.querySelector(`head > style[${t}="${e}"]`);(s=n==null?void 0:n.parentElement)==null||s.removeChild(n)}},vs=(t,e,s="")=>{$e(e,s)?or(t,e,s):Se(t,e,s)},k=new Set,cr=()=>{let t=document.querySelector(".sapThemeMetaData-Base-baseLib")||document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");if(t)return getComputedStyle(t).backgroundImage;t=document.createElement("span"),t.style.display="none",t.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(t);let e=getComputedStyle(t).backgroundImage;return e==="none"&&(t.classList.add("sapThemeMetaData-UI5-sap-ui-core"),e=getComputedStyle(t).backgroundImage),document.body.removeChild(t),e},lr=t=>{const e=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(t);if(e&&e.length>=2){let s=e[1];if(s=s.replace(/\\"/g,'"'),s.charAt(0)!=="{"&&s.charAt(s.length-1)!=="}")try{s=decodeURIComponent(s)}catch{k.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),k.add("decode"));return}try{return JSON.parse(s)}catch{k.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),k.add("parse"))}}},ur=t=>{let e,s;try{e=t.Path.match(/\.([^.]+)\.css_variables$/)[1],s=t.Extends[0]}catch{k.has("object")||(console.warn("Malformed theme metadata Object",t),k.add("object"));return}return{themeName:e,baseThemeName:s}},Tt=()=>{const t=cr();if(!t||t==="none")return;const e=lr(t);if(e)return ur(e)},dr=new O,hr="themeLoaded",fr=t=>dr.fireEvent(hr,t);let xe;const As=()=>(xe===void 0&&(xe=on()),xe),pr=t=>`${As()}Base/baseLib/${t}/css_variables.css`,gr=async t=>{const e=document.querySelector(`[sap-ui-webcomponents-theme="${t}"]`);e&&document.head.removeChild(e),await ir(pr(t),{"sap-ui-webcomponents-theme":t})},J="@ui5/webcomponents-theming",mr=()=>ws().has(J),yr=async t=>{if(!mr())return;const e=await _s(J,t);e&&vs(e,"data-ui5-theme-properties",J)},_r=()=>{ar("data-ui5-theme-properties",J)},wr=async t=>{const s=[...ws()].map(async n=>{if(n===J)return;const r=await _s(n,t);r&&vs(r,"data-ui5-theme-properties",n)});return Promise.all(s)},vr=async t=>{var n;const e=Tt();if(e)return e;const s=b("OpenUI5Support");if(s){if(s.cssVariablesLoaded())return{themeName:(n=s.getConfigurationSettingsObject())==null?void 0:n.theme,baseThemeName:""}}else if(As())return await gr(t),Tt()},Ss=async t=>{const e=await vr(t);!e||t!==e.themeName?await yr(t):_r();const s=nr(t)?t:e&&e.baseThemeName;await wr(s||he),fr(t)};let U;const be=()=>(U===void 0&&(U=rn()),U),$s=async t=>{U!==t&&(U=t,await Ss(U),await ve({themeAware:!0}))},Ar=t=>be().startsWith(t),Sr=new Map;var ye;(function(t){t.v4="SAP-icons",t.v5="SAP-icons-v5"})(ye||(ye={}));const bs=()=>{const t=be(),e=Sr.get(t);return e||(Ar("sap_horizon")?ye.v5:ye.v4)},Et=new Map,_e=R("SVGIcons.registry",new Map),Oe=R("SVGIcons.promises",new Map),Lt="ICON_NOT_FOUND",$r=async t=>{if(!Oe.has(t)){if(!Et.has(t))throw new Error(`No loader registered for the ${t} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const e=Et.get(t);Oe.set(t,e(t))}return Oe.get(t)},br=t=>{Object.keys(t.data).forEach(e=>{const s=t.data[e];Cr(e,{pathData:s.path||s.paths,ltr:s.ltr,accData:s.acc,collection:t.collection,packageName:t.packageName})})},Cr=(t,e)=>{e.collection||(e.collection=bs());const s=`${e.collection}/${t}`;_e.set(s,{pathData:e.pathData,ltr:e.ltr,accData:e.accData,packageName:e.packageName,customTemplate:e.customTemplate,viewBox:e.viewBox})},Tr=t=>{t.startsWith("sap-icon://")&&(t=t.replace("sap-icon://",""));let e;[t,e]=t.split("/").reverse(),e=e||bs(),e=Lr(e),t=t.replace("icon-","");const s=`${e}/${t}`;return{name:t,collection:e,registryKey:s}},Re=async t=>{const{collection:e,registryKey:s}=Tr(t);let n=Lt;try{n=await $r(e)}catch(r){console.error(r.message)}return n===Lt?n:(_e.has(s)||br(n),_e.get(s))},Er=async()=>(await Re("edit"),await Re("tnt/arrow"),await Re("business-suite/3d"),Array.from(_e.keys())),Lr=t=>Ct[t]?Ct[t]:t,Mr=R("PopupUtilsData",{currentZIndex:100}),Mt=()=>Mr.currentZIndex,A=()=>{var t,e,s;return(s=(e=(t=window.sap)==null?void 0:t.ui)==null?void 0:e.getCore)==null?void 0:s.call(e)};class it{static isLoaded(){return!!A()}static init(){const e=A();return e?new Promise(s=>{e.attachInit(()=>{window.sap.ui.require(["sap/ui/core/LocaleData","sap/ui/core/Popup"],(n,r)=>{r.setInitialZIndex(Mt()),s()})})}):Promise.resolve()}static getConfigurationSettingsObject(){const e=A();if(!e)return;const s=e.getConfiguration(),n=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:s.getAnimationMode(),language:s.getLanguage(),theme:s.getTheme(),themeRoot:s.getThemeRoot(),rtl:s.getRTL(),calendarType:s.getCalendarType(),formatSettings:{firstDayOfWeek:n?n.getInstance(s.getLocale()).getFirstDayOfWeek():void 0}}}static getLocaleDataObject(){const e=A();if(!e)return;const s=e.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(s.getLocale())._get()}static _listenForThemeChange(){const e=A(),s=e.getConfiguration();e.attachThemeChanged(async()=>{await $s(s.getTheme())})}static attachListeners(){!A()||it._listenForThemeChange()}static cssVariablesLoaded(){if(!A())return;const s=[...document.head.children].find(n=>n.id==="sap-ui-theme-sap.ui.core");if(!!s)return!!s.href.match(/\/css(-|_)variables\.css/)}static getNextZIndex(){return A()?window.sap.ui.require("sap/ui/core/Popup").getNextZIndex():void 0}static setInitialZIndex(){if(!A())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex(Mt())}}Xs("OpenUI5Support",it);const Pr=()=>new Promise(t=>{document.body?t():document.addEventListener("DOMContentLoaded",()=>{t()})});var Ir={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")}`},xr={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 Or=()=>{const t=b("OpenUI5Support");(!t||!t.isLoaded())&&Rr(),Dr()},Rr=()=>{$e("data-ui5-font-face")||Se(Ir,"data-ui5-font-face")},Dr=()=>{$e("data-ui5-font-face-override")||Se(xr,"data-ui5-font-face-override")};var kr={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 Ur=()=>{$e("data-ui5-system-css-vars")||Se(kr,"data-ui5-system-css-vars")};let ie;const Nr=async()=>{if(ie!==void 0)return ie;const t=async e=>{$n();const s=b("OpenUI5Support"),n=s?s.isLoaded():!1,r=b("F6Navigation");s&&await s.init(),r&&!n&&r.init(),await Pr(),await Ss(be()),s&&s.attachListeners(),Or(),Ur(),e()};return ie=new Promise(t),ie},De=new Map,ke=new Map,Pt=t=>{if(!De.has(t)){const e=Br(t.split("-"));De.set(t,e)}return De.get(t)},Cs=t=>{if(!ke.has(t)){const e=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();ke.set(t,e)}return ke.get(t)},Br=t=>t.map((e,s)=>s===0?e.toLowerCase():e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(""),Hr=t=>{if(!(t instanceof HTMLElement))return"default";const e=t.getAttribute("slot");if(e){const s=e.match(/^(.+?)-\d+$/);return s?s[1]:e}return"default"},Ts=t=>t instanceof HTMLSlotElement?t.assignedNodes({flatten:!0}).filter(e=>e instanceof HTMLElement):[t],Fr=t=>t.reduce((e,s)=>e.concat(Ts(s)),[]);let jr,It={include:[/^ui5-/],exclude:[]};const Ue=new Map,Es=()=>jr,Ge=t=>{if(!Ue.has(t)){const e=It.include.some(s=>t.match(s))&&!It.exclude.some(s=>t.match(s));Ue.set(t,e)}return Ue.get(t)},Ls=t=>{if(Ge(t))return Es()};class Vr{constructor(e){this.metadata=e}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const e={},s=this.slotsAreManaged(),n=this.getProperties();for(const r in n){const i=n[r].type,o=n[r].defaultValue;i===Boolean?(e[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?e[r]=[]:i===Object?e[r]="defaultValue"in n[r]?n[r].defaultValue:{}:i===String?e[r]="defaultValue"in n[r]?n[r].defaultValue:"":e[r]=o}if(s){const r=this.getSlots();for(const[i,o]of Object.entries(r)){const a=o.propertyName||i;e[a]=[]}}return this._initialState=e,e}static validatePropertyValue(e,s){return s.multiple&&Array.isArray(e)?e.map(r=>xt(r,s)):xt(e,s)}static validateSlotValue(e,s){return zr(e,s)}getPureTag(){return this.metadata.tag}getTag(){const e=this.metadata.tag,s=Ls(e);return s?`${e}-${s}`:e}hasAttribute(e){const s=this.getProperties()[e];return s.type!==Object&&!s.noAttribute&&!s.multiple}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute.bind(this)).map(Cs)}getSlots(){return this.metadata.slots||{}}canSlotText(){const e=this.getSlots().default;return e&&e.type===Node}hasSlots(){return!!Object.entries(this.getSlots()).length}hasIndividualSlots(){return this.slotsAreManaged()&&Object.values(this.getSlots()).some(e=>e.individualSlots)}slotsAreManaged(){return!!this.metadata.managedSlots}supportsF6FastNavigation(){return!!this.metadata.fastNavigation}getProperties(){return this.metadata.properties||{}}getEvents(){return this.metadata.events||{}}isLanguageAware(){return!!this.metadata.languageAware}isThemeAware(){return!!this.metadata.themeAware}shouldInvalidateOnChildChange(e,s,n){const r=this.getSlots()[e].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 xt=(t,e)=>{const s=e.type;return s===Boolean?typeof t=="boolean"?t:!1:s===String?typeof t=="string"||typeof t=="undefined"||t===null?t:t.toString():s===Object?typeof t=="object"?t:e.defaultValue:s.isDataTypeClass?s.isValid(t)?t:e.defaultValue:t in s?t:e.defaultValue},zr=(t,e)=>(t&&Ts(t).forEach(s=>{if(!(s instanceof e.type))throw new Error(`The element is not of type ${e.type.toString()}`)}),t);customElements.get("ui5-static-area")||customElements.define("ui5-static-area",class extends HTMLElement{});const Wr=(t,e)=>{const s=Zr(e),n=Es();return t(e,s,n)},Zr=t=>{const e=t.constructor,s=e.getMetadata().getPureTag(),n=e.getUniqueDependencies().map(r=>r.getMetadata().getPureTag()).filter(Ge);return Ge(s)&&n.push(s),n},qr=R("CustomStyle.eventProvider",new O),Gr="CustomCSSChange",ot=t=>{qr.attachEvent(Gr,t)},Ot=R("CustomStyle.customCSSFor",{});ot(t=>{ve({tag:t})});const Kr=t=>Ot[t]?Ot[t].join(""):"",Ne=t=>Array.isArray(t)?t.filter(e=>!!e).flat().map(e=>typeof e=="string"?e:e.content).join(" "):typeof t=="string"?t:t.content,le=new Map;ot(t=>{le.delete(`${t}_normal`)});const Ms=(t,e=!1)=>{const s=t.getMetadata().getTag(),n=`${s}_${e?"static":"normal"}`,r=b("OpenUI5Enablement");if(!le.has(n)){let i,o="";if(r&&(o=Ne(r.getBusyIndicatorStyles())),e)i=Ne(t.staticAreaStyles);else{const a=Kr(s)||"";i=`${Ne(t.styles)} ${a}`}i=`${i} ${o}`,le.set(n,i)}return le.get(n)},ue=new Map;ot(t=>{ue.delete(`${t}_normal`)});const Jr=(t,e=!1)=>{const n=`${t.getMetadata().getTag()}_${e?"static":"normal"}`;if(!ue.has(n)){const r=Ms(t,e),i=new CSSStyleSheet;i.replaceSync(r),ue.set(n,[i])}return ue.get(n)},Ke=(t,e=!1)=>{let s;const n=t.constructor,i=n[e?"staticAreaTemplate":"template"],o=e?t.staticAreaItem.shadowRoot:t.shadowRoot,a=Wr(i,t);if(!o){console.warn("There is no shadow root to update");return}document.adoptedStyleSheets?o.adoptedStyleSheets=Jr(n,e):s=Ms(n,e),n.render(a,o,s,e,{host:t})},Xr="--_ui5_content_density",Yr=t=>getComputedStyle(t).getPropertyValue(Xr);var Qr=t=>{const e=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(t);return e&&e[2]?e[2].split(/,/):null};const ei={iw:"he",ji:"yi",in:"id",sh:"sr"},ti=Qr("$cldr-rtl-locales:ar,fa,he$")||[],si=t=>(t=t&&ei[t]||t,ti.indexOf(t)>=0),Ps=()=>{const t=an();return t!==void 0?!!t:si(st()||Jt())},ni="--_ui5_dir",Is=t=>{const e=window.document,s=["ltr","rtl"],n=getComputedStyle(t).getPropertyValue(ni);return s.includes(n)?n:s.includes(t.dir)?t.dir:s.includes(e.documentElement.dir)?e.documentElement.dir:s.includes(e.body.dir)?e.body.dir:Ps()?"rtl":void 0},oe="ui5-static-area-item",ri="data-sap-ui-integration-popup-content";class G extends HTMLElement{constructor(){super(),this._rendered=!1,this.attachShadow({mode:"open"})}setOwnerElement(e){this.ownerElement=e,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(),Ke(this.ownerElement,!0))}_updateContentDensity(){Yr(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(){if(this.ownerElement){const e=Is(this.ownerElement);e?this.setAttribute("dir",e):this.removeAttribute("dir")}}_updateAdditionalAttrs(){this.setAttribute(oe,""),this.setAttribute(ri,"")}async getDomRef(){return this._updateContentDensity(),this._rendered||(this._rendered=!0,Ke(this.ownerElement,!0)),await tt(),this.shadowRoot}static getTag(){const e=Ls(oe);return e?`${oe}-${e}`:oe}static createInstance(){return customElements.get(G.getTag())||customElements.define(G.getTag(),G),document.createElement(this.getTag())}}const Je=new WeakMap,ii=(t,e,s)=>{const n=new MutationObserver(e);Je.set(t,n),n.observe(t,s)},oi=t=>{const e=Je.get(t);e&&(e.disconnect(),Je.delete(t))},ai=["value-changed"];let de;const ci=t=>ai.includes(t),li=t=>{const e=at();return!(typeof e!="boolean"&&e.events&&e.events.includes&&e.events.includes(t))},at=()=>(de===void 0&&(de=un()),de),ui=t=>{de=t},di=t=>{const e=at();return ci(t)?!1:e===!0?!0:!li(t)},hi=["disabled","title","hidden","role","draggable"],Rt=t=>hi.includes(t)||t.startsWith("aria")?!0:![HTMLElement,Element,Node].some(s=>s.prototype.hasOwnProperty(t)),Dt=(t,e)=>{if(t.length!==e.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0};let fi=0;const kt=new Map,Be=new Map;function V(t){this._suppressInvalidation||(this.onInvalidation(t),this._changedState.push(t),us(this),this._eventProvider.fireEvent("invalidate",{...t,target:this}))}let Ut={};class E extends HTMLElement{constructor(){super();const e=this.constructor;this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new O;let s;this._domRefReadyPromise=new Promise(n=>{s=n}),this._domRefReadyPromise._deferredResolve=s,this._doNotSyncAttributes=new Set,this._state={...e.getMetadata().getInitialState()},this._upgradeAllProperties(),e._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id=`ui5wc_${++fi}`),this.__id}async connectedCallback(){const e=this.constructor;this.setAttribute(e.getMetadata().getPureTag(),""),e.getMetadata().supportsF6FastNavigation()&&this.setAttribute("data-sap-ui-fastnavgroup","true");const s=e.getMetadata().slotsAreManaged();this._inDOM=!0,s&&(this._startObservingDOMChildren(),await this._processChildren()),this._inDOM&&(ds(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,this.onEnterDOM())}disconnectedCallback(){const s=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,s&&this._stopObservingDOMChildren(),this._fullyConnected&&(this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),Rn(this)}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}_startObservingDOMChildren(){const e=this.constructor;if(!e.getMetadata().hasSlots())return;const n=e.getMetadata().canSlotText(),r={childList:!0,subtree:n,characterData:n};ii(this,this._processChildren.bind(this),r)}_stopObservingDOMChildren(){oi(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const e=this.constructor,s=e.getMetadata().getSlots(),n=e.getMetadata().canSlotText(),r=Array.from(n?this.childNodes:this.children),i=new Map,o=new Map;for(const[u,d]of Object.entries(s)){const h=d.propertyName||u;o.set(h,u),i.set(h,[...this._state[h]]),this._clearSlot(u,d)}const a=new Map,c=new Map,l=r.map(async(u,d)=>{const h=Hr(u),p=s[h];if(p===void 0){const g=Object.keys(s).join(", ");console.warn(`Unknown slotName: ${h}, ignoring`,u,`Valid values are: ${g}`);return}if(p.individualSlots){const g=(a.get(h)||0)+1;a.set(h,g),u._individualSlot=`${h}-${g}`}if(u instanceof HTMLElement){const g=u.localName;if(g.includes("-")){if(!window.customElements.get(g)){const Ws=window.customElements.whenDefined(g);let ne=kt.get(g);ne||(ne=new Promise(Zs=>setTimeout(Zs,1e3)),kt.set(g,ne)),await Promise.race([Ws,ne])}window.customElements.upgrade(u)}}if(u=e.getMetadata().constructor.validateSlotValue(u,p),Nt(u)&&p.invalidateOnChildChange){const g=this._getChildChangeListener(h);g&&u.attachInvalidate.call(u,g)}u instanceof HTMLSlotElement&&this._attachSlotChange(u,h);const m=p.propertyName||h;c.has(m)?c.get(m).push({child:u,idx:d}):c.set(m,[{child:u,idx:d}])});await Promise.all(l),c.forEach((u,d)=>{this._state[d]=u.sort((h,p)=>h.idx-p.idx).map(h=>h.child)});let f=!1;for(const[u,d]of Object.entries(s)){const h=d.propertyName||u;Dt(i.get(h),this._state[h])||(V.call(this,{type:"slot",name:o.get(h),reason:"children"}),f=!0)}f||V.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(e,s){const n=s.propertyName||e;this._state[n].forEach(i=>{if(Nt(i)){const o=this._getChildChangeListener(e);o&&i.detachInvalidate.call(i,o)}i instanceof HTMLSlotElement&&this._detachSlotChange(i,e)}),this._state[n]=[]}attachInvalidate(e){this._eventProvider.attachEvent("invalidate",e)}detachInvalidate(e){this._eventProvider.detachEvent("invalidate",e)}_onChildChange(e,s){!this.constructor.getMetadata().shouldInvalidateOnChildChange(e,s.type,s.name)||V.call(this,{type:"slot",name:e,reason:"childchange",child:s.target})}attributeChangedCallback(e,s,n){let r;if(this._doNotSyncAttributes.has(e))return;const i=this.constructor.getMetadata().getProperties(),o=e.replace(/^ui5-/,""),a=Pt(o);if(i.hasOwnProperty(a)){const c=i[a].type;c===Boolean?r=n!==null:c.isDataTypeClass?r=c.attributeToProperty(n):r=n,this[a]=r}}_updateAttribute(e,s){const n=this.constructor;if(!n.getMetadata().hasAttribute(e))return;const i=n.getMetadata().getProperties()[e].type,o=Cs(e),a=this.getAttribute(o);if(i===Boolean)s===!0&&a===null?this.setAttribute(o,""):s===!1&&a!==null&&this.removeAttribute(o);else if(i.isDataTypeClass){const c=i.propertyToAttribute(s);c===null?(this._doNotSyncAttributes.add(o),this.removeAttribute(o),this._doNotSyncAttributes.delete(o)):this.setAttribute(o,c)}else typeof s!="object"&&a!==s&&this.setAttribute(o,s)}_upgradeProperty(e){if(this.hasOwnProperty(e)){const s=this[e];delete this[e],this[e]=s}}_upgradeAllProperties(){this.constructor.getMetadata().getPropertiesList().forEach(this._upgradeProperty.bind(this))}_getChildChangeListener(e){return this._childChangeListeners.has(e)||this._childChangeListeners.set(e,this._onChildChange.bind(this,e)),this._childChangeListeners.get(e)}_getSlotChangeListener(e){return this._slotChangeListeners.has(e)||this._slotChangeListeners.set(e,this._onSlotChange.bind(this,e)),this._slotChangeListeners.get(e)}_attachSlotChange(e,s){const n=this._getSlotChangeListener(s);n&&e.addEventListener("slotchange",n)}_detachSlotChange(e,s){e.removeEventListener("slotchange",this._getSlotChangeListener(s))}_onSlotChange(e){V.call(this,{type:"slot",name:e,reason:"slotchange"})}onInvalidation(e){}_render(){const e=this.constructor,s=e.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],e._needsShadowDOM()&&Ke(this),this.staticAreaItem&&this.staticAreaItem.update(),s&&this._assignIndividualSlotsToChildren(),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 e=[...this.shadowRoot.children].filter(s=>!["link","style"].includes(s.localName));return e.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`),e[0]}getFocusDomRef(){const e=this.getDomRef();if(e)return e.querySelector("[data-sap-focus-ref]")||e}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(){await this._waitForDomRef();const e=this.getFocusDomRef();e&&typeof e.focus=="function"&&e.focus()}fireEvent(e,s,n=!1,r=!0){const i=this._fireEvent(e,s,n,r),o=Pt(e);return o!==e?i&&this._fireEvent(o,s,n):i}_fireEvent(e,s,n=!1,r=!0){const i=new CustomEvent(`ui5-${e}`,{detail:s,composed:!1,bubbles:r,cancelable:n}),o=this.dispatchEvent(i);if(di(e))return o;const a=new CustomEvent(e,{detail:s,composed:!1,bubbles:r,cancelable:n});return this.dispatchEvent(a)&&o}getSlottedNodes(e){return Fr(this[e])}get effectiveDir(){return In(this.constructor),Is(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=G.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||is("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const e=this.prototype,s=this.getMetadata().slotsAreManaged(),n=this.getMetadata().getProperties();for(const[r,i]of Object.entries(n)){if(Rt(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(e,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 f=i.type,u=this._state[r];Array.isArray(u)&&Array.isArray(o)&&i.multiple&&i.compareValues?a=!Dt(u,o):f.isDataTypeClass?a=!f.valuesAreEqual(u,o):a=u!==o,a&&(this._state[r]=o,V.call(this,{type:"property",name:r,newValue:o,oldValue:u}),this._updateAttribute(r,o))}})}if(s){const r=this.getMetadata().getSlots();for(const[i,o]of Object.entries(r)){Rt(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(e,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 Ut}static set metadata(e){Ut=e}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!Be.has(this)){const e=this.dependencies.filter((s,n,r)=>r.indexOf(s)===n);Be.set(this,e)}return Be.get(this)||[]}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map(e=>e.define()))}static async onDefine(){return Promise.resolve()}static async define(){await Nr(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const e=this.getMetadata().getTag(),s=En(e),n=customElements.get(e);return n&&!s?Mn(e):n||(this._generateAccessors(),Tn(e),window.customElements.define(e,this)),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const e=[this.metadata];let s=this;for(;s!==E;)s=Object.getPrototypeOf(s),e.unshift(s.metadata);const n=Ye({},...e);return this._metadata=new Vr(n),this._metadata}}const Nt=t=>"isUI5Element"in t;/**
10
+ * @license
11
+ * Copyright 2017 Google LLC
12
+ * SPDX-License-Identifier: BSD-3-Clause
13
+ */var He;const H=globalThis.trustedTypes,Bt=H?H.createPolicy("lit-html",{createHTML:t=>t}):void 0,S=`lit$${(Math.random()+"").slice(9)}$`,ct="?"+S,pi=`<${ct}>`,F=document,X=(t="")=>F.createComment(t),Y=t=>t===null||typeof t!="object"&&typeof t!="function",xs=Array.isArray,Os=t=>{var e;return xs(t)||typeof((e=t)===null||e===void 0?void 0:e[Symbol.iterator])=="function"},z=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ht=/-->/g,Ft=/>/g,L=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,jt=/'/g,Vt=/"/g,Rs=/^(?:script|style|textarea|title)$/i,gi=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),mi=gi(1),I=Symbol.for("lit-noChange"),y=Symbol.for("lit-nothing"),zt=new WeakMap,yi=(t,e,s)=>{var n,r;const i=(n=s==null?void 0:s.renderBefore)!==null&&n!==void 0?n:e;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 j(e.insertBefore(X(),a),a,void 0,s!=null?s:{})}return o._$AI(t),o},N=F.createTreeWalker(F,129,null,!1),Ds=(t,e)=>{const s=t.length-1,n=[];let r,i=e===2?"<svg>":"",o=z;for(let c=0;c<s;c++){const l=t[c];let f,u,d=-1,h=0;for(;h<l.length&&(o.lastIndex=h,u=o.exec(l),u!==null);)h=o.lastIndex,o===z?u[1]==="!--"?o=Ht:u[1]!==void 0?o=Ft:u[2]!==void 0?(Rs.test(u[2])&&(r=RegExp("</"+u[2],"g")),o=L):u[3]!==void 0&&(o=L):o===L?u[0]===">"?(o=r!=null?r:z,d=-1):u[1]===void 0?d=-2:(d=o.lastIndex-u[2].length,f=u[1],o=u[3]===void 0?L:u[3]==='"'?Vt:jt):o===Vt||o===jt?o=L:o===Ht||o===Ft?o=z:(o=L,r=void 0);const p=o===L&&t[c+1].startsWith("/>")?" ":"";i+=o===z?l+pi:d>=0?(n.push(f),l.slice(0,d)+"$lit$"+l.slice(d)+S+p):l+S+(d===-2?(n.push(void 0),c):p)}const a=i+(t[s]||"<?>")+(e===2?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[Bt!==void 0?Bt.createHTML(a):a,n]};class Q{constructor({strings:e,_$litType$:s},n){let r;this.parts=[];let i=0,o=0;const a=e.length-1,c=this.parts,[l,f]=Ds(e,s);if(this.el=Q.createElement(l,n),N.currentNode=this.el.content,s===2){const u=this.el.content,d=u.firstChild;d.remove(),u.append(...d.childNodes)}for(;(r=N.nextNode())!==null&&c.length<a;){if(r.nodeType===1){if(r.hasAttributes()){const u=[];for(const d of r.getAttributeNames())if(d.endsWith("$lit$")||d.startsWith(S)){const h=f[o++];if(u.push(d),h!==void 0){const p=r.getAttribute(h.toLowerCase()+"$lit$").split(S),m=/([.?@])?(.*)/.exec(h);c.push({type:1,index:i,name:m[2],strings:p,ctor:m[1]==="."?Us:m[1]==="?"?Ns:m[1]==="@"?Bs:ee})}else c.push({type:6,index:i})}for(const d of u)r.removeAttribute(d)}if(Rs.test(r.tagName)){const u=r.textContent.split(S),d=u.length-1;if(d>0){r.textContent=H?H.emptyScript:"";for(let h=0;h<d;h++)r.append(u[h],X()),N.nextNode(),c.push({type:2,index:++i});r.append(u[d],X())}}}else if(r.nodeType===8)if(r.data===ct)c.push({type:2,index:i});else{let u=-1;for(;(u=r.data.indexOf(S,u+1))!==-1;)c.push({type:7,index:i}),u+=S.length-1}i++}}static createElement(e,s){const n=F.createElement("template");return n.innerHTML=e,n}}function x(t,e,s=t,n){var r,i,o,a;if(e===I)return e;let c=n!==void 0?(r=s._$Cl)===null||r===void 0?void 0:r[n]:s._$Cu;const l=Y(e)?void 0:e._$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(t),c._$AT(t,s,n)),n!==void 0?((o=(a=s)._$Cl)!==null&&o!==void 0?o:a._$Cl=[])[n]=c:s._$Cu=c),c!==void 0&&(e=x(t,c._$AS(t,e.values),c,n)),e}class ks{constructor(e,s){this.v=[],this._$AN=void 0,this._$AD=e,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(e){var s;const{el:{content:n},parts:r}=this._$AD,i=((s=e==null?void 0:e.creationScope)!==null&&s!==void 0?s:F).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 f;l.type===2?f=new j(o,o.nextSibling,this,e):l.type===1?f=new l.ctor(o,l.name,l.strings,this,e):l.type===6&&(f=new Hs(o,this,e)),this.v.push(f),l=r[++c]}a!==(l==null?void 0:l.index)&&(o=N.nextNode(),a++)}return i}m(e){let s=0;for(const n of this.v)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,s),s+=n.strings.length-2):n._$AI(e[s])),s++}}class j{constructor(e,s,n,r){var i;this.type=2,this._$AH=y,this._$AN=void 0,this._$AA=e,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 e,s;return(s=(e=this._$AM)===null||e===void 0?void 0:e._$AU)!==null&&s!==void 0?s:this._$Cg}get parentNode(){let e=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&e.nodeType===11&&(e=s.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,s=this){e=x(this,e,s),Y(e)?e===y||e==null||e===""?(this._$AH!==y&&this._$AR(),this._$AH=y):e!==this._$AH&&e!==I&&this.$(e):e._$litType$!==void 0?this.T(e):e.nodeType!==void 0?this.k(e):Os(e)?this.S(e):this.$(e)}M(e,s=this._$AB){return this._$AA.parentNode.insertBefore(e,s)}k(e){this._$AH!==e&&(this._$AR(),this._$AH=this.M(e))}$(e){this._$AH!==y&&Y(this._$AH)?this._$AA.nextSibling.data=e:this.k(F.createTextNode(e)),this._$AH=e}T(e){var s;const{values:n,_$litType$:r}=e,i=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=Q.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 ks(i,this),a=o.p(this.options);o.m(n),this.k(a),this._$AH=o}}_$AC(e){let s=zt.get(e.strings);return s===void 0&&zt.set(e.strings,s=new Q(e)),s}S(e){xs(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let n,r=0;for(const i of e)r===s.length?s.push(n=new j(this.M(X()),this.M(X()),this,this.options)):n=s[r],n._$AI(i),r++;r<s.length&&(this._$AR(n&&n._$AB.nextSibling,r),s.length=r)}_$AR(e=this._$AA.nextSibling,s){var n;for((n=this._$AP)===null||n===void 0||n.call(this,!1,!0,s);e&&e!==this._$AB;){const r=e.nextSibling;e.remove(),e=r}}setConnected(e){var s;this._$AM===void 0&&(this._$Cg=e,(s=this._$AP)===null||s===void 0||s.call(this,e))}}class ee{constructor(e,s,n,r,i){this.type=1,this._$AH=y,this._$AN=void 0,this.element=e,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=y}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,s=this,n,r){const i=this.strings;let o=!1;if(i===void 0)e=x(this,e,s,0),o=!Y(e)||e!==this._$AH&&e!==I,o&&(this._$AH=e);else{const a=e;let c,l;for(e=i[0],c=0;c<i.length-1;c++)l=x(this,a[n+c],s,c),l===I&&(l=this._$AH[c]),o||(o=!Y(l)||l!==this._$AH[c]),l===y?e=y:e!==y&&(e+=(l!=null?l:"")+i[c+1]),this._$AH[c]=l}o&&!r&&this.C(e)}C(e){e===y?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e!=null?e:"")}}class Us extends ee{constructor(){super(...arguments),this.type=3}C(e){this.element[this.name]=e===y?void 0:e}}const _i=H?H.emptyScript:"";class Ns extends ee{constructor(){super(...arguments),this.type=4}C(e){e&&e!==y?this.element.setAttribute(this.name,_i):this.element.removeAttribute(this.name)}}class Bs extends ee{constructor(e,s,n,r,i){super(e,s,n,r,i),this.type=5}_$AI(e,s=this){var n;if((e=(n=x(this,e,s,0))!==null&&n!==void 0?n:y)===I)return;const r=this._$AH,i=e===y&&r!==y||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==y&&(r===y||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){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,e):this._$AH.handleEvent(e)}}class Hs{constructor(e,s,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=s,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){x(this,e)}}const wi={L:"$lit$",P:S,V:ct,I:1,N:Ds,R:ks,j:Os,D:x,H:j,F:ee,O:Ns,W:Bs,B:Us,Z:Hs},Wt=window.litHtmlPolyfillSupport;Wt==null||Wt(Q,j),((He=globalThis.litHtmlVersions)!==null&&He!==void 0?He:globalThis.litHtmlVersions=[]).push("2.2.2");/**
14
+ * @license
15
+ * Copyright 2017 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */const Fs={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},vi=t=>(...e)=>({_$litDirective$:t,values:e});class js{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,s,n){this._$Ct=e,this._$AM=s,this._$Ci=n}_$AS(e,s){return this.update(e,s)}update(e,s){return this.render(...s)}}/**
18
+ * @license
19
+ * Copyright 2020 Google LLC
20
+ * SPDX-License-Identifier: BSD-3-Clause
21
+ */const{H:Ai}=wi,Zt=()=>document.createComment(""),W=(t,e,s)=>{var n;const r=t._$AA.parentNode,i=e===void 0?t._$AB:e._$AA;if(s===void 0){const o=r.insertBefore(Zt(),i),a=r.insertBefore(Zt(),i);s=new Ai(o,a,t,t.options)}else{const o=s._$AB.nextSibling,a=s._$AM,c=a!==t;if(c){let l;(n=s._$AQ)===null||n===void 0||n.call(s,t),s._$AM=t,s._$AP!==void 0&&(l=t._$AU)!==a._$AU&&s._$AP(l)}if(o!==i||c){let l=s._$AA;for(;l!==o;){const f=l.nextSibling;r.insertBefore(l,i),l=f}}}return s},M=(t,e,s=t)=>(t._$AI(e,s),t),Si={},$i=(t,e=Si)=>t._$AH=e,bi=t=>t._$AH,Fe=t=>{var e;(e=t._$AP)===null||e===void 0||e.call(t,!1,!0);let s=t._$AA;const n=t._$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 qt=(t,e,s)=>{const n=new Map;for(let r=e;r<=s;r++)n.set(t[r],r);return n},Vs=vi(class extends js{constructor(t){if(super(t),t.type!==Fs.CHILD)throw Error("repeat() can only be used in text expressions")}dt(t,e,s){let n;s===void 0?s=e:e!==void 0&&(n=e);const r=[],i=[];let o=0;for(const a of t)r[o]=n?n(a,o):o,i[o]=s(a,o),o++;return{values:i,keys:r}}render(t,e,s){return this.dt(t,e,s).values}update(t,[e,s,n]){var r;const i=bi(t),{values:o,keys:a}=this.dt(e,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 f,u,d=0,h=i.length-1,p=0,m=o.length-1;for(;d<=h&&p<=m;)if(i[d]===null)d++;else if(i[h]===null)h--;else if(c[d]===a[p])l[p]=M(i[d],o[p]),d++,p++;else if(c[h]===a[m])l[m]=M(i[h],o[m]),h--,m--;else if(c[d]===a[m])l[m]=M(i[d],o[m]),W(t,l[m+1],i[d]),d++,m--;else if(c[h]===a[p])l[p]=M(i[h],o[p]),W(t,i[d],i[h]),h--,p++;else if(f===void 0&&(f=qt(a,p,m),u=qt(c,d,h)),f.has(c[d]))if(f.has(c[h])){const g=u.get(a[p]),se=g!==void 0?i[g]:null;if(se===null){const Ce=W(t,i[d]);M(Ce,o[p]),l[p]=Ce}else l[p]=M(se,o[p]),W(t,i[d],se),i[g]=null;p++}else Fe(i[h]),h--;else Fe(i[d]),d++;for(;p<=m;){const g=W(t,l[m+1]);M(g,o[p]),l[p++]=g}for(;d<=h;){const g=i[d++];g!==null&&Fe(g)}return this.ut=a,$i(t,l),I}});/**
26
+ * @license
27
+ * Copyright 2018 Google LLC
28
+ * SPDX-License-Identifier: BSD-3-Clause
29
+ */const v=t=>t!=null?t:y;/**
30
+ * @license
31
+ * Copyright 2017 Google LLC
32
+ * SPDX-License-Identifier: BSD-3-Clause
33
+ */class Gt extends js{constructor(e){if(super(e),this.it=y,e.type!==Fs.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===y||e==null)return this.ft=void 0,this.it=e;if(e===I)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this.ft;this.it=e;const s=[e];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}Gt.directiveName="unsafeHTML",Gt.resultType=1;const w=(t,...e)=>{const s=b("LitStatic");return(s?s.html:mi)(t,...e)},te=(t,e,s,n,r)=>{const i=b("OpenUI5Enablement");i&&!n&&(t=i.wrapTemplateResultInBusyMarkup(w,r.host,t)),typeof s=="string"?t=w`<style>${s}</style>${t}`:Array.isArray(s)&&s.length&&(t=w`${s.map(o=>w`<link type="text/css" rel="stylesheet" href="${o}">`)}${t}`),yi(t,e,r)},Ci={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 zs extends E{static get metadata(){return Ci}static get render(){return te}static get template(){return e=>w`<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(){}}zs.define();const Ti={tag:"ui5-test-no-shadow"};class Ei extends E{static get metadata(){return Ti}}Ei.define();const Li={tag:"ui5-test-parent",managedSlots:!0,slots:{default:{type:Node,invalidateOnChildChange:{properties:["prop1"]}},items:{type:HTMLElement,invalidateOnChildChange:{properties:!0}}}};class Mi extends E{static get metadata(){return Li}static get render(){return te}static get template(){return e=>w`<div>
43
+ <slot></slot>
44
+ </div>`}}Mi.define();const Pi={tag:"ui5-test-child",properties:{prop1:{type:String},prop2:{type:String},prop3:{type:String}}};class Ii extends E{static get metadata(){return Pi}static get render(){return te}static get template(){return e=>w`<div></div>`}}Ii.define();const xi={tag:"ui5-with-static-area",properties:{staticContent:{type:Boolean}},slots:{}};class Oi extends E{static get metadata(){return xi}static get render(){return te}static get template(){return e=>w`
45
+ <div dir=${e.effectiveDir}>
46
+ WithStaticArea works!
47
+ </div>`}static get staticAreaTemplate(){return e=>w`
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 e=await this.getStaticAreaItemDomRef();return this.responsivePopover=e.querySelector(".ui5-with-static-area-content"),this.responsivePopover}onBeforeRendering(){this.addStaticArea()}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}}Oi.define();const Ri=(t,e,s)=>w`<div>Root text: ${v(t.text)}${Vs(t.items,(n,r)=>n._id||r,(n,r)=>Di(n,r,t))} Root text: ${v(t.text)}</div>`,Di=(t,e,s,n,r)=>w`<h3>Item-${e}</h3>${t.text?ki(t,e,s):void 0}<ul>${Vs(t.words,(i,o)=>i._id||o,(i,o)=>Ui(i,o,s))}</ul>${t.text?Ni(t,e,s):void 0}`,ki=(t,e,s,n,r)=>w`<div class="before-each-content--start--${e}">Root text: ${v(s.text)}, Item text: ${v(t.text)}</div>`,Ui=(t,e,s,n,r)=>w`<li><h3>Word-${e}</h3><div class="nested-each-content--${e}--0">Root Text: ${v(s.text)}, Word text: ${v(t.text)}</div><div class="nested-each-content--${e}--1">Root Text: ${v(s.text)}, Word text: ${v(t.text)}</div></li>`,Ni=(t,e,s,n,r)=>w`<div class="after-each-content--end--${e}">Root text: ${v(s.text)}, Item text: ${v(t.text)}</div>`;class Bi extends E{static get metadata(){return{tag:"ui5-test-complex-template"}}static get render(){return te}static get template(){return Ri}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"}]}]}}Bi.define();const Hi={tag:"ui5-test-generic-ext",properties:{extProp:{type:String},strProp:{defaultValue:"Ext"}},slots:{extSlot:{type:HTMLElement}}};class Fi extends zs{static get metadata(){return Hi}}Fi.define();const ji=":root{ --var1: red; }",Vi=":root{ --var1: green; }",zi=":root{ --var1: blue; }",Wi=":root{ --var1: orange; }",Zi=":root{ --var1: orange; }",qi=":root{ --var1: yellow; }",Gi=":root{ --var1: yellow; }";T("@ui5/webcomponents-base-test","sap_fiori_3",()=>ji);T("@ui5/webcomponents-base-test","sap_fiori_3_dark",()=>Vi);T("@ui5/webcomponents-base-test","sap_belize",()=>zi);T("@ui5/webcomponents-base-test","sap_belize_hcb",()=>Wi);T("@ui5/webcomponents-base-test","sap_belize_hcw",()=>Zi);T("@ui5/webcomponents-base-test","sap_fiori_3_hcb",()=>qi);T("@ui5/webcomponents-base-test","sap_fiori_3_hcw",()=>Gi);const Ki=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,Ji=(t,e)=>(e=e||[],t.replace(Ki,(s,n,r,i,o)=>{if(n)return"'";if(r)return r.replace(/''/g,"'");if(i){const a=typeof i=="string"?parseInt(i):i;return String(e[a])}throw new Error(`[i18n]: pattern syntax error at pos ${o}`)})),je=new Map;class Xi{constructor(e){this.packageName=e}getText(e,...s){if(typeof e=="string"&&(e={key:e,defaultText:e}),!e||!e.key)return"";const n=Gn(this.packageName);n&&!n[e.key]&&console.warn(`Key ${e.key} not found in the i18n bundle, the default text will be used`);const r=n&&n[e.key]?n[e.key]:e.defaultText||e.key;return Ji(r,s)}}const Yi=t=>{if(je.has(t))return je.get(t);const e=new Xi(t);return je.set(t,e),e},Qi=async t=>(await ps(t),Yi(t)),eo=typeof window.chrome=="object"||typeof window.v8=="object"?(t,e)=>(e>2&&40*e>t.length,t):t=>t,to=/(?:\r\n|\r|\n|^)[ \t\f]*/,so=/(\\u[0-9a-fA-F]{0,4})|(\\.)|(\\$)|([ \t\f]*[ \t\f:=][ \t\f]*)/g,no=/(\\u[0-9a-fA-F]{0,4})|(\\.)|(\\$)/g,ro={"\\f":"\f","\\n":`
56
+ `,"\\r":"\r","\\t":" "},io=t=>{const e={},s=t.split(to);let n,r,i,o,a,c,l,f;const u=d=>{o?(o=`${o}${d}`,f++):(o=d,f=0)};for(a=0;a<s.length;a++)if(n=s[a],!(n===""||n.charAt(0)==="#"||n.charAt(0)==="!")){for(r=so,l=0,r.lastIndex=l,i=null,o="",c=r.exec(n);c!==null;){if(l<c.index&&u(n.slice(l,c.index)),l=r.lastIndex,c[1]){if(c[1].length!==6)throw new Error(`Incomplete Unicode Escape '${c[1]}'`);u(String.fromCharCode(parseInt(c[1].slice(2),16)))}else c[2]?u(ro[c[2]]||c[2].slice(1)):c[3]?(n=s[++a],l=0,r.lastIndex=l):c[4]&&(i=o,o="",r=no,r.lastIndex=l);c=r.exec(n)}l<n.length&&u(n.slice(l)),i==null&&(i=o,o=""),e[i]=eo(o,o?f:0)}return e};let Ve;const oo=()=>(Ve===void 0&&(Ve=nn()),Ve);var Xe;(function(t){t.Gregorian="Gregorian",t.Islamic="Islamic",t.Japanese="Japanese",t.Buddhist="Buddhist",t.Persian="Persian"})(Xe||(Xe={}));var Kt=Xe;let Z;const ao=()=>(Z===void 0&&(Z=dn()),Z&&Z in Kt?Z:Kt.Gregorian);let ze;const co=()=>(ze===void 0&&(ze=hn()),ze.firstDayOfWeek),lo=new O,uo="directionChange",ho=()=>lo.fireEvent(uo,void 0),fo=async()=>{const t=ho();await Promise.all(t),await ve({rtlAware:!0})};window.registerThemePropertiesLoader=T;window["sap-ui-webcomponents-bundle"]={configuration:{getAnimationMode:oo,getLanguage:st,setLanguage:Bn,getTheme:be,setTheme:$s,getNoConflict:at,setNoConflict:ui,getCalendarType:ao,getRTL:Ps,getFirstDayOfWeek:co},getIconNames:Er,parseProperties:io,registerI18nLoader:qn,getI18nBundle:Qi,renderFinished:tt,applyDirection:fo,EventProvider:O};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Supported icon collection names and aliases.
3
+ *
4
+ * Users might specify a collection, using both the key and the value in the following key-value pairs,
5
+ * e.g the following pairs are completely exchangeable:
6
+ * "SAP-icons-TNT/actor" and "tnt/actor", "BusinessSuiteInAppSymbols/3d" and "business-suite/3d",
7
+ * "SAP-icons-v5/accept" and "horizon/accept".
8
+ *
9
+ * Note: technically, in the code we maintain the collections under the "value" name - "tnt", "business-suite",
10
+ * SAP-icons-v5" and "SAP-icons"(which does not have an alias).
11
+ */
12
+ declare const IconCollectionsAlias: {
13
+ "SAP-icons-TNT": string;
14
+ BusinessSuiteInAppSymbols: string;
15
+ horizon: string;
16
+ };
17
+ export default IconCollectionsAlias;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Supported icon collection names and aliases.
3
+ *
4
+ * Users might specify a collection, using both the key and the value in the following key-value pairs,
5
+ * e.g the following pairs are completely exchangeable:
6
+ * "SAP-icons-TNT/actor" and "tnt/actor", "BusinessSuiteInAppSymbols/3d" and "business-suite/3d",
7
+ * "SAP-icons-v5/accept" and "horizon/accept".
8
+ *
9
+ * Note: technically, in the code we maintain the collections under the "value" name - "tnt", "business-suite",
10
+ * SAP-icons-v5" and "SAP-icons"(which does not have an alias).
11
+ */
12
+ const IconCollectionsAlias = {
13
+ "SAP-icons-TNT": "tnt",
14
+ "BusinessSuiteInAppSymbols": "business-suite",
15
+ "horizon": "SAP-icons-v5",
16
+ };
17
+ export default IconCollectionsAlias;
18
+ //# sourceMappingURL=IconCollectionsAlias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconCollectionsAlias.js","sourceRoot":"","sources":["../../src/assets-meta/IconCollectionsAlias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,oBAAoB,GAAG;IAC5B,eAAe,EAAE,KAAK;IACtB,2BAA2B,EAAE,gBAAgB;IAC7C,SAAS,EAAE,cAAc;CACzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import AnimationMode from "../types/AnimationMode.js";
2
+ /**
3
+ * Returns the animation mode - "full", "basic", "minimal" or "none".
4
+ * @public
5
+ * @returns { AnimationMode }
6
+ */
7
+ declare const getAnimationMode: () => AnimationMode;
8
+ /**
9
+ * Sets the animation mode - "full", "basic", "minimal" or "none".
10
+ * @public
11
+ * @param { AnimationMode } animationMode
12
+ */
13
+ declare const setAnimationMode: (animationMode: AnimationMode) => void;
14
+ export { getAnimationMode, setAnimationMode, };