@ui5/webcomponents-base 0.0.0-974b11d82 → 0.0.0-97db186fd

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 (390) hide show
  1. package/.eslintignore +4 -4
  2. package/.eslintrc.cjs +3 -0
  3. package/.npsrc.json +3 -0
  4. package/CHANGELOG.md +195 -0
  5. package/README.md +4 -0
  6. package/bundle.esm.js +5 -0
  7. package/config/wdio.conf.cjs +400 -0
  8. package/dist/AssetRegistry.js.map +1 -1
  9. package/dist/Boot.d.ts +4 -3
  10. package/dist/Boot.js +27 -4
  11. package/dist/Boot.js.map +1 -1
  12. package/dist/CSP.js.map +1 -1
  13. package/dist/CustomElementsRegistry.js.map +1 -1
  14. package/dist/CustomElementsScope.js.map +1 -1
  15. package/dist/CustomElementsScopeUtils.js.map +1 -1
  16. package/dist/DOMObserver.js.map +1 -1
  17. package/dist/Device.js.map +1 -1
  18. package/dist/EventProvider.js +1 -1
  19. package/dist/EventProvider.js.map +1 -1
  20. package/dist/FeaturesRegistry.js.map +1 -1
  21. package/dist/FontFace.js.map +1 -1
  22. package/dist/IgnoreCustomElements.d.ts +27 -0
  23. package/dist/IgnoreCustomElements.js +39 -0
  24. package/dist/IgnoreCustomElements.js.map +1 -0
  25. package/dist/InitialConfiguration.d.ts +6 -1
  26. package/dist/InitialConfiguration.js +10 -1
  27. package/dist/InitialConfiguration.js.map +1 -1
  28. package/dist/Keys.js.map +1 -1
  29. package/dist/ManagedStyles.js +9 -2
  30. package/dist/ManagedStyles.js.map +1 -1
  31. package/dist/MarkedEvents.js.map +1 -1
  32. package/dist/MediaRange.js.map +1 -1
  33. package/dist/PropertiesFileFormat.js.map +1 -1
  34. package/dist/Render.js.map +1 -1
  35. package/dist/RenderQueue.js.map +1 -1
  36. package/dist/Runtimes.js.map +1 -1
  37. package/dist/StaticArea.d.ts +3 -0
  38. package/dist/StaticArea.js +4 -3
  39. package/dist/StaticArea.js.map +1 -1
  40. package/dist/StaticAreaItem.js +3 -0
  41. package/dist/StaticAreaItem.js.map +1 -1
  42. package/dist/SystemCSSVars.js.map +1 -1
  43. package/dist/Theming.js.map +1 -1
  44. package/dist/UI5Element.d.ts +3 -7
  45. package/dist/UI5Element.js +24 -24
  46. package/dist/UI5Element.js.map +1 -1
  47. package/dist/UI5ElementMetadata.js.map +1 -1
  48. package/dist/animations/AnimationQueue.js.map +1 -1
  49. package/dist/animations/animate.js.map +1 -1
  50. package/dist/animations/scroll.js.map +1 -1
  51. package/dist/animations/slideDown.js.map +1 -1
  52. package/dist/animations/slideUp.js.map +1 -1
  53. package/dist/api.json +1 -1
  54. package/dist/asset-registries/Icons.d.ts +17 -9
  55. package/dist/asset-registries/Icons.js +23 -2
  56. package/dist/asset-registries/Icons.js.map +1 -1
  57. package/dist/asset-registries/Illustrations.js.map +1 -1
  58. package/dist/asset-registries/LocaleData.js.map +1 -1
  59. package/dist/asset-registries/Themes.js +2 -0
  60. package/dist/asset-registries/Themes.js.map +1 -1
  61. package/dist/asset-registries/i18n.js +9 -3
  62. package/dist/asset-registries/i18n.js.map +1 -1
  63. package/dist/assets/Boot.34b7cea0.css +1 -0
  64. package/dist/assets/Boot.7594c895.js +9 -0
  65. package/dist/assets/bundle.esm.37a629e7.js +50 -0
  66. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -1
  67. package/dist/config/AnimationMode.d.ts +2 -2
  68. package/dist/config/AnimationMode.js +1 -1
  69. package/dist/config/AnimationMode.js.map +1 -1
  70. package/dist/config/CalendarType.js.map +1 -1
  71. package/dist/config/FormatSettings.js.map +1 -1
  72. package/dist/config/Icons.js +5 -5
  73. package/dist/config/Icons.js.map +1 -1
  74. package/dist/config/Language.d.ts +10 -1
  75. package/dist/config/Language.js +13 -1
  76. package/dist/config/Language.js.map +1 -1
  77. package/dist/config/NoConflict.js +1 -0
  78. package/dist/config/NoConflict.js.map +1 -1
  79. package/dist/config/RTL.js.map +1 -1
  80. package/dist/config/Theme.d.ts +15 -5
  81. package/dist/config/Theme.js +25 -6
  82. package/dist/config/Theme.js.map +1 -1
  83. package/dist/config/ThemeRoot.d.ts +29 -0
  84. package/dist/config/ThemeRoot.js +59 -0
  85. package/dist/config/ThemeRoot.js.map +1 -0
  86. package/dist/config/Timezone.d.ts +17 -0
  87. package/dist/config/Timezone.js +30 -0
  88. package/dist/config/Timezone.js.map +1 -0
  89. package/dist/decorators/customElement.js +14 -8
  90. package/dist/decorators/customElement.js.map +1 -1
  91. package/dist/decorators/event.js +6 -6
  92. package/dist/decorators/event.js.map +1 -1
  93. package/dist/decorators/property.js +6 -6
  94. package/dist/decorators/property.js.map +1 -1
  95. package/dist/decorators/slot.js +9 -9
  96. package/dist/decorators/slot.js.map +1 -1
  97. package/dist/delegate/ItemNavigation.js.map +1 -1
  98. package/dist/delegate/ResizeHandler.js +7 -5
  99. package/dist/delegate/ResizeHandler.js.map +1 -1
  100. package/dist/delegate/ScrollEnablement.js.map +1 -1
  101. package/dist/features/F6Navigation.js.map +1 -1
  102. package/dist/features/LegacyDateFormats.js.map +1 -1
  103. package/dist/features/OpenUI5Element.js.map +1 -1
  104. package/dist/features/OpenUI5Enablement.js.map +1 -1
  105. package/dist/features/OpenUI5Support.d.ts +1 -0
  106. package/dist/features/OpenUI5Support.js +1 -0
  107. package/dist/features/OpenUI5Support.js.map +1 -1
  108. package/dist/generated/AssetParameters.js +2 -0
  109. package/dist/generated/VersionInfo.js +3 -3
  110. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  111. package/dist/generated/css/FontFace.css.js.map +1 -1
  112. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  113. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  114. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  115. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +8 -10
  116. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  117. package/dist/getSharedResource.d.ts +1 -1
  118. package/dist/getSharedResource.js +8 -2
  119. package/dist/getSharedResource.js.map +1 -1
  120. package/dist/global.d.ts +2 -0
  121. package/dist/i18nBundle.js +2 -1
  122. package/dist/i18nBundle.js.map +1 -1
  123. package/dist/locale/Locale.js.map +1 -1
  124. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  125. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  126. package/dist/locale/applyDirection.js.map +1 -1
  127. package/dist/locale/directionChange.js.map +1 -1
  128. package/dist/locale/getEffectiveDir.js.map +1 -1
  129. package/dist/locale/getLocale.js.map +1 -1
  130. package/dist/locale/languageChange.js.map +1 -1
  131. package/dist/locale/nextFallbackLocale.js.map +1 -1
  132. package/dist/locale/normalizeLocale.js.map +1 -1
  133. package/dist/renderer/LitRenderer.js.map +1 -1
  134. package/dist/renderer/executeTemplate.js +1 -1
  135. package/dist/renderer/executeTemplate.js.map +1 -1
  136. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  137. package/dist/theming/CustomStyle.js.map +1 -1
  138. package/dist/theming/ThemeLoaded.js.map +1 -1
  139. package/dist/theming/ThemeRegistered.d.ts +4 -0
  140. package/dist/theming/ThemeRegistered.js +11 -0
  141. package/dist/theming/ThemeRegistered.js.map +1 -0
  142. package/dist/theming/applyTheme.js +3 -2
  143. package/dist/theming/applyTheme.js.map +1 -1
  144. package/dist/theming/getConstructableStyle.js.map +1 -1
  145. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -1
  146. package/dist/theming/getEffectiveStyle.js.map +1 -1
  147. package/dist/theming/getStylesString.js.map +1 -1
  148. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  149. package/dist/theming/preloadLinks.js.map +1 -1
  150. package/dist/thirdparty/_merge.js.map +1 -1
  151. package/dist/thirdparty/isPlainObject.js.map +1 -1
  152. package/dist/thirdparty/merge.js.map +1 -1
  153. package/dist/types/AnimationMode.d.ts +1 -1
  154. package/dist/types/AnimationMode.js +1 -1
  155. package/dist/types/AnimationMode.js.map +1 -1
  156. package/dist/types/CSSColor.d.ts +0 -1
  157. package/dist/types/CSSColor.js +0 -1
  158. package/dist/types/CSSColor.js.map +1 -1
  159. package/dist/types/CalendarType.d.ts +1 -1
  160. package/dist/types/CalendarType.js +1 -1
  161. package/dist/types/CalendarType.js.map +1 -1
  162. package/dist/types/DOMReference.js.map +1 -1
  163. package/dist/types/DataType.js.map +1 -1
  164. package/dist/types/Float.d.ts +0 -1
  165. package/dist/types/Float.js +0 -1
  166. package/dist/types/Float.js.map +1 -1
  167. package/dist/types/Integer.d.ts +0 -1
  168. package/dist/types/Integer.js +0 -1
  169. package/dist/types/Integer.js.map +1 -1
  170. package/dist/types/InvisibleMessageMode.d.ts +1 -1
  171. package/dist/types/InvisibleMessageMode.js +1 -1
  172. package/dist/types/InvisibleMessageMode.js.map +1 -1
  173. package/dist/types/ItemNavigationBehavior.d.ts +1 -1
  174. package/dist/types/ItemNavigationBehavior.js +1 -1
  175. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  176. package/dist/types/NavigationMode.d.ts +1 -1
  177. package/dist/types/NavigationMode.js +1 -1
  178. package/dist/types/NavigationMode.js.map +1 -1
  179. package/dist/types/ValueState.d.ts +1 -1
  180. package/dist/types/ValueState.js +1 -1
  181. package/dist/types/ValueState.js.map +1 -1
  182. package/dist/types.d.ts +1 -1
  183. package/dist/types.js.map +1 -1
  184. package/dist/updateShadowRoot.js +7 -4
  185. package/dist/updateShadowRoot.js.map +1 -1
  186. package/dist/util/AriaLabelHelper.js.map +1 -1
  187. package/dist/util/Caret.js.map +1 -1
  188. package/dist/util/ColorConversion.js.map +1 -1
  189. package/dist/util/FetchHelper.js.map +1 -1
  190. package/dist/util/FocusableElements.js +4 -3
  191. package/dist/util/FocusableElements.js.map +1 -1
  192. package/dist/util/HTMLSanitizer.js.map +1 -1
  193. package/dist/util/InvisibleMessage.d.ts +1 -1
  194. package/dist/util/InvisibleMessage.js.map +1 -1
  195. package/dist/util/PopupUtils.js.map +1 -1
  196. package/dist/util/SlotsHelper.js.map +1 -1
  197. package/dist/util/StringHelper.js.map +1 -1
  198. package/dist/util/TabbableElements.js.map +1 -1
  199. package/dist/util/arraysAreEqual.js.map +1 -1
  200. package/dist/util/clamp.js.map +1 -1
  201. package/dist/util/createLinkInHead.js.map +1 -1
  202. package/dist/util/createStyleInHead.js.map +1 -1
  203. package/dist/util/debounce.js.map +1 -1
  204. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  205. package/dist/util/escapeRegex.js.map +1 -1
  206. package/dist/util/formatMessage.js.map +1 -1
  207. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  208. package/dist/util/getActiveElement.js.map +1 -1
  209. package/dist/util/getClassCopy.d.ts +2 -1
  210. package/dist/util/getClassCopy.js.map +1 -1
  211. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  212. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  213. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  214. package/dist/util/getFastNavigationGroups.js.map +1 -1
  215. package/dist/util/getFileExtension.js.map +1 -1
  216. package/dist/util/getNormalizedTarget.js.map +1 -1
  217. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  218. package/dist/util/getSingletonElementInstance.js +11 -2
  219. package/dist/util/getSingletonElementInstance.js.map +1 -1
  220. package/dist/util/isElementClickable.js.map +1 -1
  221. package/dist/util/isElementHidden.js.map +1 -1
  222. package/dist/util/isElementInView.js.map +1 -1
  223. package/dist/util/isElementTabbable.js.map +1 -1
  224. package/dist/util/isValidPropertyName.js.map +1 -1
  225. package/dist/util/whenDOMReady.js.map +1 -1
  226. package/dist/util/willShowContent.js.map +1 -1
  227. package/dist/validateThemeRoot.js +14 -13
  228. package/dist/validateThemeRoot.js.map +1 -1
  229. package/index.js +227 -1
  230. package/lib/generate-asset-parameters/index.js +4 -2
  231. package/lib/generate-styles/index.js +3 -3
  232. package/lib/generate-version-info/index.js +1 -1
  233. package/{package-scripts.js → package-scripts.cjs} +4 -4
  234. package/package.json +5 -4
  235. package/tsconfig.json +1 -0
  236. package/config/wdio.conf.js +0 -1
  237. package/dist/assets/bundle.esm.ea2cc5c5.js +0 -60
  238. package/dist/config/ThemeRoots.d.ts +0 -4
  239. package/dist/config/ThemeRoots.js +0 -28
  240. package/dist/config/ThemeRoots.js.map +0 -1
  241. package/dist/decorators/fastNavigation.d.ts +0 -7
  242. package/dist/decorators/fastNavigation.js +0 -13
  243. package/dist/decorators/fastNavigation.js.map +0 -1
  244. package/dist/decorators/languageAware.d.ts +0 -7
  245. package/dist/decorators/languageAware.js +0 -13
  246. package/dist/decorators/languageAware.js.map +0 -1
  247. package/dist/decorators/themeAware.d.ts +0 -7
  248. package/dist/decorators/themeAware.js +0 -13
  249. package/dist/decorators/themeAware.js.map +0 -1
  250. package/src/AssetRegistry.ts +0 -11
  251. package/src/Boot.ts +0 -65
  252. package/src/CSP.ts +0 -66
  253. package/src/CustomElementsRegistry.ts +0 -98
  254. package/src/CustomElementsScope.ts +0 -33
  255. package/src/CustomElementsScopeUtils.ts +0 -115
  256. package/src/DOMObserver.ts +0 -28
  257. package/src/Device.ts +0 -203
  258. package/src/EventProvider.ts +0 -87
  259. package/src/FeaturesRegistry.ts +0 -14
  260. package/src/FontFace.ts +0 -31
  261. package/src/InitialConfiguration.ts +0 -207
  262. package/src/Keys.ts +0 -295
  263. package/src/ManagedStyles.ts +0 -92
  264. package/src/MarkedEvents.ts +0 -20
  265. package/src/MediaRange.ts +0 -110
  266. package/src/PropertiesFileFormat.ts +0 -95
  267. package/src/Render.ts +0 -180
  268. package/src/RenderQueue.ts +0 -71
  269. package/src/Runtimes.ts +0 -114
  270. package/src/StaticArea.ts +0 -3
  271. package/src/StaticAreaItem.ts +0 -113
  272. package/src/SystemCSSVars.ts +0 -10
  273. package/src/Theming.ts +0 -4
  274. package/src/UI5Element.ts +0 -1175
  275. package/src/UI5ElementMetadata.ts +0 -389
  276. package/src/animations/AnimationQueue.ts +0 -43
  277. package/src/animations/animate.ts +0 -64
  278. package/src/animations/scroll.ts +0 -21
  279. package/src/animations/slideDown.ts +0 -72
  280. package/src/animations/slideUp.ts +0 -67
  281. package/src/asset-registries/Icons.ts +0 -161
  282. package/src/asset-registries/Illustrations.ts +0 -75
  283. package/src/asset-registries/LocaleData.ts +0 -172
  284. package/src/asset-registries/Themes.ts +0 -72
  285. package/src/asset-registries/i18n.ts +0 -118
  286. package/src/assets-meta/IconCollectionsAlias.ts +0 -41
  287. package/src/config/AnimationMode.ts +0 -33
  288. package/src/config/CalendarType.ts +0 -23
  289. package/src/config/FormatSettings.ts +0 -35
  290. package/src/config/Icons.ts +0 -126
  291. package/src/config/Language.ts +0 -72
  292. package/src/config/NoConflict.ts +0 -67
  293. package/src/config/RTL.ts +0 -45
  294. package/src/config/Theme.ts +0 -64
  295. package/src/config/ThemeRoots.ts +0 -41
  296. package/src/decorators/customElement.ts +0 -57
  297. package/src/decorators/event.ts +0 -28
  298. package/src/decorators/fastNavigation.ts +0 -14
  299. package/src/decorators/languageAware.ts +0 -14
  300. package/src/decorators/property.ts +0 -30
  301. package/src/decorators/slot.ts +0 -49
  302. package/src/decorators/themeAware.ts +0 -14
  303. package/src/delegate/ItemNavigation.ts +0 -393
  304. package/src/delegate/ResizeHandler.ts +0 -100
  305. package/src/delegate/ScrollEnablement.ts +0 -224
  306. package/src/features/F6Navigation.ts +0 -195
  307. package/src/features/LegacyDateFormats.ts +0 -40
  308. package/src/features/OpenUI5Element.ts +0 -11
  309. package/src/features/OpenUI5Enablement.ts +0 -117
  310. package/src/features/OpenUI5Support.ts +0 -153
  311. package/src/generated/css/BusyIndicator.css.ts +0 -9
  312. package/src/generated/css/FontFace.css.ts +0 -9
  313. package/src/generated/css/OverrideFontFace.css.ts +0 -9
  314. package/src/generated/css/SystemCSSVars.css.ts +0 -9
  315. package/src/getSharedResource.ts +0 -39
  316. package/src/global.d.ts +0 -38
  317. package/src/i18nBundle.ts +0 -108
  318. package/src/locale/Locale.ts +0 -101
  319. package/src/locale/RTLAwareRegistry.ts +0 -16
  320. package/src/locale/applyDirection.ts +0 -18
  321. package/src/locale/directionChange.ts +0 -34
  322. package/src/locale/getEffectiveDir.ts +0 -28
  323. package/src/locale/getLocale.ts +0 -46
  324. package/src/locale/languageChange.ts +0 -24
  325. package/src/locale/nextFallbackLocale.ts +0 -28
  326. package/src/locale/normalizeLocale.ts +0 -56
  327. package/src/renderer/LitRenderer.ts +0 -60
  328. package/src/renderer/executeTemplate.ts +0 -40
  329. package/src/theming/CustomStyle.ts +0 -64
  330. package/src/theming/ThemeLoaded.ts +0 -24
  331. package/src/theming/applyTheme.ts +0 -90
  332. package/src/theming/getConstructableStyle.ts +0 -31
  333. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  334. package/src/theming/getEffectiveStyle.ts +0 -41
  335. package/src/theming/getStylesString.ts +0 -15
  336. package/src/theming/getThemeDesignerTheme.ts +0 -101
  337. package/src/theming/preloadLinks.ts +0 -24
  338. package/src/thirdparty/_merge.ts +0 -32
  339. package/src/thirdparty/isPlainObject.ts +0 -18
  340. package/src/thirdparty/merge.ts +0 -5
  341. package/src/types/AnimationMode.ts +0 -33
  342. package/src/types/CSSColor.ts +0 -20
  343. package/src/types/CalendarType.ts +0 -38
  344. package/src/types/DOMReference.ts +0 -28
  345. package/src/types/DataType.ts +0 -51
  346. package/src/types/Float.ts +0 -25
  347. package/src/types/Integer.ts +0 -25
  348. package/src/types/InvisibleMessageMode.ts +0 -27
  349. package/src/types/ItemNavigationBehavior.ts +0 -26
  350. package/src/types/NavigationMode.ts +0 -33
  351. package/src/types/ValueState.ts +0 -47
  352. package/src/types.ts +0 -30
  353. package/src/updateShadowRoot.ts +0 -42
  354. package/src/util/AriaLabelHelper.ts +0 -218
  355. package/src/util/Caret.ts +0 -28
  356. package/src/util/ColorConversion.ts +0 -399
  357. package/src/util/FetchHelper.ts +0 -31
  358. package/src/util/FocusableElements.ts +0 -92
  359. package/src/util/HTMLSanitizer.ts +0 -9
  360. package/src/util/InvisibleMessage.ts +0 -69
  361. package/src/util/PopupUtils.ts +0 -112
  362. package/src/util/SlotsHelper.ts +0 -39
  363. package/src/util/StringHelper.ts +0 -26
  364. package/src/util/TabbableElements.ts +0 -70
  365. package/src/util/arraysAreEqual.ts +0 -15
  366. package/src/util/clamp.ts +0 -12
  367. package/src/util/createLinkInHead.ts +0 -25
  368. package/src/util/createStyleInHead.ts +0 -20
  369. package/src/util/debounce.ts +0 -18
  370. package/src/util/detectNavigatorLanguage.ts +0 -13
  371. package/src/util/escapeRegex.ts +0 -11
  372. package/src/util/formatMessage.ts +0 -24
  373. package/src/util/generateHighlightedMarkup.ts +0 -43
  374. package/src/util/getActiveElement.ts +0 -11
  375. package/src/util/getClassCopy.ts +0 -12
  376. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  377. package/src/util/getEffectiveContentDensity.ts +0 -5
  378. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  379. package/src/util/getFastNavigationGroups.ts +0 -63
  380. package/src/util/getFileExtension.ts +0 -21
  381. package/src/util/getNormalizedTarget.ts +0 -16
  382. package/src/util/getSingletonElementInstance.ts +0 -13
  383. package/src/util/isElementClickable.ts +0 -19
  384. package/src/util/isElementHidden.ts +0 -9
  385. package/src/util/isElementInView.ts +0 -15
  386. package/src/util/isElementTabbable.ts +0 -37
  387. package/src/util/isValidPropertyName.ts +0 -29
  388. package/src/util/whenDOMReady.ts +0 -13
  389. package/src/util/willShowContent.ts +0 -7
  390. package/src/validateThemeRoot.ts +0 -58
@@ -1 +1 @@
1
- {"version":3,"file":"UI5ElementMetadata.js","sourceRoot":"","sources":["../src/UI5ElementMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UI5ElementMetadata.js","sourceRoot":"","sources":["../src/UI5ElementMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import DataType from \"./types/DataType.js\";\nimport { camelToKebabCase } from \"./util/StringHelper.js\";\nimport { getSlottedNodes } from \"./util/SlotsHelper.js\";\nimport { getEffectiveScopingSuffixForTag } from \"./CustomElementsScopeUtils.js\";\n\ntype SlotInvalidation = {\n\tproperties: boolean | Array<string>,\n\tslots: boolean | Array<string>,\n}\n\ntype Slot = {\n\ttype: typeof Node | typeof HTMLElement,\n\tdefault?: boolean,\n\tpropertyName?: string,\n\tindividualSlots?: boolean,\n\tinvalidateOnChildChange?: boolean | SlotInvalidation,\n};\n\ntype SlotValue = Node;\n\ntype Property = {\n\ttype?: BooleanConstructor | StringConstructor | ObjectConstructor | DataType\n\tvalidator?: DataType,\n\tdefaultValue?: PropertyValue,\n\tnoAttribute?: boolean,\n\tmultiple?: boolean,\n\tcompareValues?: boolean,\n}\n\ntype PropertyValue = boolean | number | string | object | undefined | null | DataType;\n\ntype EventData = Record<string, object>;\n\ntype Metadata = {\n\ttag?: string,\n\tmanagedSlots?: boolean,\n\tproperties?: Record<string, Property>,\n\tslots?: Record<string, Slot>,\n\tevents?: EventData,\n\tfastNavigation?: boolean,\n\tthemeAware?: boolean,\n\tlanguageAware?: boolean,\n};\n\ntype State = Record<string, PropertyValue | Array<SlotValue>>;\n\n/**\n *\n * @class\n * @public\n */\nclass UI5ElementMetadata {\n\tmetadata: Metadata;\n\t_initialState: State | undefined;\n\n\tconstructor(metadata: Metadata) {\n\t\tthis.metadata = metadata;\n\t}\n\n\tgetInitialState() {\n\t\tif (Object.prototype.hasOwnProperty.call(this, \"_initialState\")) {\n\t\t\treturn this._initialState!;\n\t\t}\n\t\tconst initialState: State = {};\n\t\tconst slotsAreManaged = this.slotsAreManaged();\n\n\t\t// Initialize properties\n\t\tconst props = this.getProperties();\n\t\tfor (const propName in props) { // eslint-disable-line\n\t\t\tconst propType = props[propName].type;\n\t\t\tconst propDefaultValue = props[propName].defaultValue;\n\n\t\t\tif (propType === Boolean) {\n\t\t\t\tinitialState[propName] = false;\n\n\t\t\t\tif (propDefaultValue !== undefined) {\n\t\t\t\t\tconsole.warn(\"The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default\"); // eslint-disable-line\n\t\t\t\t}\n\t\t\t} else if (props[propName].multiple) {\n\t\t\t\tinitialState[propName] = [];\n\t\t\t} else if (propType === Object) {\n\t\t\t\tinitialState[propName] = \"defaultValue\" in props[propName] ? props[propName].defaultValue : {};\n\t\t\t} else if (propType === String) {\n\t\t\t\tinitialState[propName] = \"defaultValue\" in props[propName] ? props[propName].defaultValue : \"\";\n\t\t\t} else {\n\t\t\t\tinitialState[propName] = propDefaultValue;\n\t\t\t}\n\t\t}\n\n\t\t// Initialize slots\n\t\tif (slotsAreManaged) {\n\t\t\tconst slots = this.getSlots();\n\t\t\tfor (const [slotName, slotData] of Object.entries<Slot>(slots)) { // eslint-disable-line\n\t\t\t\tconst propertyName = slotData.propertyName || slotName;\n\t\t\t\tinitialState[propertyName] = [];\n\t\t\t}\n\t\t}\n\n\t\tthis._initialState = initialState;\n\t\treturn initialState;\n\t}\n\n\t/**\n\t * Validates the property's value and returns it if correct\n\t * or returns the default value if not.\n\t * <b>Note:</b> Only intended for use by UI5Element.js\n\t * @public\n\t */\n\tstatic validatePropertyValue(value: PropertyValue, propData: Property) {\n\t\tconst isMultiple = propData.multiple;\n\t\tif (isMultiple && value) {\n\t\t\treturn (value as Array<PropertyValue>).map((propValue: PropertyValue) => validateSingleProperty(propValue, propData));\n\t\t}\n\t\treturn validateSingleProperty(value, propData);\n\t}\n\n\t/**\n\t * Validates the slot's value and returns it if correct\n\t * or throws an exception if not.\n\t * <b>Note:</b> Only intended for use by UI5Element.js\n\t * @pubic\n\t */\n\tstatic validateSlotValue(value: Node, slotData: Slot) {\n\t\treturn validateSingleSlot(value, slotData);\n\t}\n\n\t/**\n\t * Returns the tag of the UI5 Element without the scope\n\t * @public\n\t */\n\tgetPureTag() {\n\t\treturn this.metadata.tag || \"\";\n\t}\n\n\t/**\n\t * Returns the tag of the UI5 Element\n\t * @public\n\t */\n\tgetTag() {\n\t\tconst pureTag = this.metadata.tag;\n\n\t\tif (!pureTag) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst suffix = getEffectiveScopingSuffixForTag(pureTag);\n\t\tif (!suffix) {\n\t\t\treturn pureTag;\n\t\t}\n\n\t\treturn `${pureTag}-${suffix}`;\n\t}\n\n\t/**\n\t * Determines whether a property should have an attribute counterpart\n\t * @public\n\t * @param propName\n\t * @returns {boolean}\n\t */\n\thasAttribute(propName: string) {\n\t\tconst propData = this.getProperties()[propName];\n\t\treturn propData.type !== Object && !propData.noAttribute && !propData.multiple;\n\t}\n\n\t/**\n\t * Returns an array with the properties of the UI5 Element (in camelCase)\n\t * @public\n\t * @returns {string[]}\n\t */\n\tgetPropertiesList() {\n\t\treturn Object.keys(this.getProperties());\n\t}\n\n\t/**\n\t * Returns an array with the attributes of the UI5 Element (in kebab-case)\n\t * @public\n\t * @returns {string[]}\n\t */\n\tgetAttributesList() {\n\t\treturn this.getPropertiesList().filter(this.hasAttribute.bind(this)).map(camelToKebabCase);\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element has a default slot of type Node, therefore can slot text\n\t * @returns {boolean}\n\t */\n\tcanSlotText() {\n\t\tconst defaultSlot = this.getSlots().default;\n\t\treturn defaultSlot && defaultSlot.type === Node;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element supports any slots\n\t * @public\n\t */\n\thasSlots() {\n\t\treturn !!Object.entries(this.getSlots()).length;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element supports any slots with \"individualSlots: true\"\n\t * @public\n\t */\n\thasIndividualSlots() {\n\t\treturn this.slotsAreManaged() && Object.values(this.getSlots()).some(slotData => slotData.individualSlots);\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element needs to invalidate if children are added/removed/changed\n\t * @public\n\t */\n\tslotsAreManaged() {\n\t\treturn !!this.metadata.managedSlots;\n\t}\n\n\t/**\n\t * Determines whether this control supports F6 fast navigation\n\t * @public\n\t */\n\tsupportsF6FastNavigation() {\n\t\treturn !!this.metadata.fastNavigation;\n\t}\n\n\t/**\n\t * Returns an object with key-value pairs of properties and their metadata definitions\n\t * @public\n\t */\n\tgetProperties() {\n\t\tif (!this.metadata.properties) {\n\t\t\tthis.metadata.properties = {};\n\t\t}\n\t\treturn this.metadata.properties;\n\t}\n\n\t/**\n\t * Returns an object with key-value pairs of events and their metadata definitions\n\t * @public\n\t */\n\tgetEvents() {\n\t\tif (!this.metadata.events) {\n\t\t\tthis.metadata.events = {};\n\t\t}\n\t\treturn this.metadata.events;\n\t}\n\n\t/**\n\t * Returns an object with key-value pairs of slots and their metadata definitions\n\t * @public\n\t */\n\t getSlots() {\n\t\tif (!this.metadata.slots) {\n\t\t\tthis.metadata.slots = {};\n\t\t}\n\t\treturn this.metadata.slots;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element has any translatable texts (needs to be invalidated upon language change)\n\t * @returns {boolean}\n\t */\n\tisLanguageAware() {\n\t\treturn !!this.metadata.languageAware;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element has any theme dependant carachteristics.\n\t * @returns {boolean}\n\t */\n\t isThemeAware() {\n\t\treturn !!this.metadata.themeAware;\n\t}\n\n\t/**\n\t * Matches a changed entity (property/slot) with the given name against the \"invalidateOnChildChange\" configuration\n\t * and determines whether this should cause and invalidation\n\t *\n\t * @param slotName the name of the slot in which a child was changed\n\t * @param type the type of change in the child: \"property\" or \"slot\"\n\t * @param name the name of the property/slot that changed\n\t * @returns {boolean}\n\t */\n\tshouldInvalidateOnChildChange(slotName: string, type: \"property\" | \"slot\", name: string) {\n\t\tconst config = this.getSlots()[slotName].invalidateOnChildChange;\n\n\t\t// invalidateOnChildChange was not set in the slot metadata - by default child changes do not affect the component\n\t\tif (config === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The simple format was used: invalidateOnChildChange: true/false;\n\t\tif (typeof config === \"boolean\") {\n\t\t\treturn config;\n\t\t}\n\n\t\t// The complex format was used: invalidateOnChildChange: { properties, slots }\n\t\tif (typeof config === \"object\") {\n\t\t\t// A property was changed\n\t\t\tif (type === \"property\") {\n\t\t\t\t// The config object does not have a properties field\n\t\t\t\tif (config.properties === undefined) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// The config object has the short format: properties: true/false\n\t\t\t\tif (typeof config.properties === \"boolean\") {\n\t\t\t\t\treturn config.properties;\n\t\t\t\t}\n\n\t\t\t\t// The config object has the complex format: properties: [...]\n\t\t\t\tif (Array.isArray(config.properties)) {\n\t\t\t\t\treturn config.properties.includes(name);\n\t\t\t\t}\n\n\t\t\t\tthrow new Error(\"Wrong format for invalidateOnChildChange.properties: boolean or array is expected\");\n\t\t\t}\n\n\t\t\t// A slot was changed\n\t\t\tif (type === \"slot\") {\n\t\t\t\t// The config object does not have a slots field\n\t\t\t\tif (config.slots === undefined) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// The config object has the short format: slots: true/false\n\t\t\t\tif (typeof config.slots === \"boolean\") {\n\t\t\t\t\treturn config.slots;\n\t\t\t\t}\n\n\t\t\t\t// The config object has the complex format: slots: [...]\n\t\t\t\tif (Array.isArray(config.slots)) {\n\t\t\t\t\treturn config.slots.includes(name);\n\t\t\t\t}\n\n\t\t\t\tthrow new Error(\"Wrong format for invalidateOnChildChange.slots: boolean or array is expected\");\n\t\t\t}\n\t\t}\n\n\t\tthrow new Error(\"Wrong format for invalidateOnChildChange: boolean or object is expected\");\n\t}\n}\n\nconst validateSingleProperty = (value: PropertyValue, propData: Property) => {\n\tconst propertyType = propData.type;\n\tlet propertyValidator = propData.validator;\n\n\tif (propertyType && (propertyType as typeof DataType).isDataTypeClass) {\n\t\tpropertyValidator = propertyType as typeof DataType;\n\t}\n\n\tif (propertyValidator) {\n\t\treturn (propertyValidator as typeof DataType).isValid(value) ? value : propData.defaultValue;\n\t}\n\n\tif (!propertyType || propertyType === String) {\n\t\treturn (typeof value === \"string\" || typeof value === \"undefined\" || value === null) ? value : value.toString();\n\t}\n\n\tif (propertyType === Boolean) {\n\t\treturn typeof value === \"boolean\" ? value : false;\n\t}\n\n\tif (propertyType === Object) {\n\t\treturn typeof value === \"object\" ? value : propData.defaultValue;\n\t}\n\n\t// Check if \"value\" is part of the enum (propertyType) values and return the defaultValue if not found.\n\treturn value as string in propertyType ? value : propData.defaultValue;\n};\n\nconst validateSingleSlot = (value: Node, slotData: Slot) => {\n\tvalue && getSlottedNodes(value).forEach(el => {\n\t\tif (!(el instanceof slotData.type)) {\n\t\t\tthrow new Error(`The element is not of type ${slotData.type.toString()}`);\n\t\t}\n\t});\n\n\treturn value;\n};\n\nexport default UI5ElementMetadata;\nexport type {\n\tProperty,\n\tPropertyValue,\n\tSlot,\n\tSlotValue,\n\tEventData,\n\tState,\n\tMetadata,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationQueue.js","sourceRoot":"","sources":["../../src/animations/AnimationQueue.ts"],"names":[],"mappings":"AACA,MAAM,KAAK,GAAG,IAAI,OAAO,EAAgC,CAAC;AAE1D,MAAM,cAAc;IACnB,MAAM,KAAK,KAAK;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAoB,EAAE,IAAc;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACvB;QAED,KAAK,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAoB,EAAE,IAAc;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACvB;QAED,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAExC,IAAI,YAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,OAAO,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,YAAa,CAAC,KAAK,EAAG,CAAC,CAAC;aAC3D;YACD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAoB,EAAE,IAAc;QAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,YAAY,EAAE;YACjB,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACtC;aAAM;YACN,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAClC;IACF,CAAC;CACD;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"AnimationQueue.js","sourceRoot":"","sources":["../../src/animations/AnimationQueue.ts"],"names":[],"mappings":"AACA,MAAM,KAAK,GAAG,IAAI,OAAO,EAAgC,CAAC;AAE1D,MAAM,cAAc;IACnB,MAAM,KAAK,KAAK;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAoB,EAAE,IAAc;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACvB;QAED,KAAK,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAoB,EAAE,IAAc;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACvB;QAED,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAExC,IAAI,YAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,OAAO,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,YAAa,CAAC,KAAK,EAAG,CAAC,CAAC;aAC3D;YACD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAoB,EAAE,IAAc;QAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,YAAY,EAAE;YACjB,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACtC;aAAM;YACN,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAClC;IACF,CAAC;CACD;AAED,eAAe,cAAc,CAAC","sourcesContent":["type TaskType =\t() => Promise<void>;\nconst tasks = new WeakMap<HTMLElement, Array<TaskType>>();\n\nclass AnimationQueue {\n\tstatic get tasks() {\n\t\treturn tasks;\n\t}\n\n\tstatic enqueue(element: HTMLElement, task: TaskType) {\n\t\tif (!tasks.has(element)) {\n\t\t\ttasks.set(element, []);\n\t\t}\n\n\t\ttasks.get(element)!.push(task);\n\t}\n\n\tstatic run(element: HTMLElement, task: TaskType): Promise<void> {\n\t\tif (!tasks.has(element)) {\n\t\t\ttasks.set(element, []);\n\t\t}\n\n\t\treturn task().then(() => {\n\t\t\tconst elementTasks = tasks.get(element);\n\n\t\t\tif (elementTasks!.length > 0) {\n\t\t\t\treturn AnimationQueue.run(element, elementTasks!.shift()!);\n\t\t\t}\n\t\t\ttasks.delete(element);\n\t\t});\n\t}\n\n\tstatic push(element: HTMLElement, task: TaskType) {\n\t\tconst elementTasks = tasks.get(element);\n\n\t\tif (elementTasks) {\n\t\t\tAnimationQueue.enqueue(element, task);\n\t\t} else {\n\t\t\tAnimationQueue.run(element, task);\n\t\t}\n\t}\n}\n\nexport default AnimationQueue;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"animate.js","sourceRoot":"","sources":["../../src/animations/animate.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AASjD,MAAM,OAAO,GAAG,CAAC,OAAuB,EAAE,EAAE;IAC3C,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,cAAsB,CAAC;IAC3B,IAAI,IAAgB,CAAC;IACrB,IAAI,gBAA6C,CAAC;IAElD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,gBAAgB,GAAG,SAAS,CAAC,EAAE;YAC9B,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;YAE3B,MAAM,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;YACtC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC;YAEjD,IAAI,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpC,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,oCAAoC;gBAC7F,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,EAAE;oBACb,cAAc,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;iBACzD;aACD;iBAAM;gBACN,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnB,OAAO,EAAE,CAAC;aACV;QACF,CAAC,CAAC;QAEF,IAAI,GAAG,GAAG,EAAE;YACX,OAAO,GAAG,IAAI,CAAC;YACf,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC;IACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAa,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAEpC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE;QACzC,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE;YAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;SACtB;QAED,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAExC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KAChB,CAAC;AACH,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"animate.js","sourceRoot":"","sources":["../../src/animations/animate.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AASjD,MAAM,OAAO,GAAG,CAAC,OAAuB,EAAE,EAAE;IAC3C,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,cAAsB,CAAC;IAC3B,IAAI,IAAgB,CAAC;IACrB,IAAI,gBAA6C,CAAC;IAElD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,gBAAgB,GAAG,SAAS,CAAC,EAAE;YAC9B,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;YAE3B,MAAM,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;YACtC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC;YAEjD,IAAI,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpC,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,oCAAoC;gBAC7F,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,EAAE;oBACb,cAAc,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;iBACzD;aACD;iBAAM;gBACN,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnB,OAAO,EAAE,CAAC;aACV;QACF,CAAC,CAAC;QAEF,IAAI,GAAG,GAAG,EAAE;YACX,OAAO,GAAG,IAAI,CAAC;YACf,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC;IACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAa,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAEpC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE;QACzC,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE;YAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;SACtB;QAED,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAExC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KAChB,CAAC;AACH,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,eAAe,OAAO,CAAC","sourcesContent":["import AnimationQueue from \"./AnimationQueue.js\";\n\ntype AnimateOptions = {\n\tbeforeStart?: () => void,\n\tduration: number,\n\telement: HTMLElement,\n\tadvance: (p: number) => void,\n};\n\nconst animate = (options: AnimateOptions) => {\n\tlet start: number | null = null;\n\tlet stopped = false;\n\tlet animationFrame: number;\n\tlet stop: () => void;\n\tlet advanceAnimation: (timestamp: number) => void;\n\n\tconst promise = new Promise<void>((resolve, reject) => {\n\t\tadvanceAnimation = timestamp => {\n\t\t\tstart = start || timestamp;\n\n\t\t\tconst timeElapsed = timestamp - start;\n\t\t\tconst remaining = options.duration - timeElapsed;\n\n\t\t\tif (timeElapsed <= options.duration) {\n\t\t\t\tconst currentAdvance = 1 - remaining / options.duration; // easing formula (currently linear)\n\t\t\t\toptions.advance(currentAdvance);\n\t\t\t\tif (!stopped) {\n\t\t\t\t\tanimationFrame = requestAnimationFrame(advanceAnimation);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toptions.advance(1);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\n\t\tstop = () => {\n\t\t\tstopped = true;\n\t\t\tcancelAnimationFrame(animationFrame);\n\t\t\treject(new Error(\"animation stopped\"));\n\t\t};\n\t}).catch((reason: Error) => reason);\n\n\tAnimationQueue.push(options.element, () => {\n\t\tif (typeof options.beforeStart === \"function\") {\n\t\t\toptions.beforeStart();\n\t\t}\n\n\t\trequestAnimationFrame(advanceAnimation);\n\n\t\treturn new Promise(resolve => {\n\t\t\tpromise.then(() => resolve());\n\t\t});\n\t});\n\n\treturn {\n\t\tpromise: () => promise,\n\t\tstop: () => stop,\n\t};\n};\nconst duration = 400;\n\nexport { duration };\nexport type { AnimateOptions };\nexport default animate;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/animations/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,OAAoB,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;IAC/D,IAAI,UAAkB,CAAC;IACvB,IAAI,SAAiB,CAAC;IAEtB,OAAO,OAAO,CAAC;QACd,WAAW,EAAE,GAAG,EAAE;YACjB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YAChC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,CAAC;QACD,QAAQ;QACR,OAAO;QACP,OAAO,EAAE,QAAQ,CAAC,EAAE;YACnB,OAAO,CAAC,UAAU,GAAG,UAAU,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB;YACrE,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB;QACpE,CAAC;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/animations/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,OAAoB,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;IAC/D,IAAI,UAAkB,CAAC;IACvB,IAAI,SAAiB,CAAC;IAEtB,OAAO,OAAO,CAAC;QACd,WAAW,EAAE,GAAG,EAAE;YACjB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YAChC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,CAAC;QACD,QAAQ;QACR,OAAO;QACP,OAAO,EAAE,QAAQ,CAAC,EAAE;YACnB,OAAO,CAAC,UAAU,GAAG,UAAU,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB;YACrE,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB;QACpE,CAAC;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import animate, { duration } from \"./animate.js\";\n\nconst scroll = (element: HTMLElement, dx: number, dy: number) => {\n\tlet scrollLeft: number;\n\tlet scrollTop: number;\n\n\treturn animate({\n\t\tbeforeStart: () => {\n\t\t\tscrollLeft = element.scrollLeft;\n\t\t\tscrollTop = element.scrollTop;\n\t\t},\n\t\tduration,\n\t\telement,\n\t\tadvance: progress => {\n\t\t\telement.scrollLeft = scrollLeft + (progress * dx); // easing - linear\n\t\t\telement.scrollTop = scrollTop + (progress * dy); // easing - linear\n\t\t},\n\t});\n};\n\nexport default scroll;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"slideDown.js","sourceRoot":"","sources":["../../src/animations/slideDown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slideDown.js","sourceRoot":"","sources":["../../src/animations/slideDown.ts"],"names":[],"mappings":"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","sourcesContent":["import animate, { duration } from \"./animate.js\";\n\nconst slideDown = (element: HTMLElement) => {\n\tlet computedStyles: CSSStyleDeclaration,\n\t\tpaddingTop: number,\n\t\tpaddingBottom: number,\n\t\tmarginTop: number,\n\t\tmarginBottom: number,\n\t\theight: number;\n\tlet storedOverflow: string,\n\t\tstoredPaddingTop: string,\n\t\tstoredPaddingBottom: string,\n\t\tstoredMarginTop: string,\n\t\tstoredMarginBottom: string,\n\t\tstoredHeight: string;\n\n\tconst animation = animate({\n\t\tbeforeStart: () => {\n\t\t\t// Show the element to measure its properties\n\t\t\telement.style.display = \"block\";\n\n\t\t\t// Get Computed styles\n\t\t\tcomputedStyles = getComputedStyle(element);\n\t\t\tpaddingTop = parseFloat(computedStyles.paddingTop);\n\t\t\tpaddingBottom = parseFloat(computedStyles.paddingBottom);\n\t\t\tmarginTop = parseFloat(computedStyles.marginTop);\n\t\t\tmarginBottom = parseFloat(computedStyles.marginBottom);\n\t\t\theight = parseFloat(computedStyles.height);\n\n\t\t\t// Store inline styles\n\t\t\tstoredOverflow = element.style.overflow;\n\t\t\tstoredPaddingTop = element.style.paddingTop;\n\t\t\tstoredPaddingBottom = element.style.paddingBottom;\n\t\t\tstoredMarginTop = element.style.marginTop;\n\t\t\tstoredMarginBottom = element.style.marginBottom;\n\t\t\tstoredHeight = element.style.height;\n\n\t\t\telement.style.overflow = \"hidden\";\n\t\t\telement.style.paddingTop = \"0\";\n\t\t\telement.style.paddingBottom = \"0\";\n\t\t\telement.style.marginTop = \"0\";\n\t\t\telement.style.marginBottom = \"0\";\n\t\t\telement.style.height = \"0\";\n\t\t},\n\t\tduration,\n\t\telement,\n\t\tadvance: progress => {\n\t\t\t// WORKAROUND\n\t\t\telement.style.display = \"block\";\n\t\t\t// END OF WORKAROUND\n\n\t\t\telement.style.paddingTop = `${(paddingTop * progress)}px`;\n\t\t\telement.style.paddingBottom = `${(paddingBottom * progress)}px`;\n\t\t\telement.style.marginTop = `${(marginTop * progress)}px`;\n\t\t\telement.style.marginBottom = `${(marginBottom * progress)}px`;\n\t\t\telement.style.height = `${(height * progress)}px`;\n\t\t},\n\t});\n\n\tanimation.promise().then(() => {\n\t\telement.style.overflow = storedOverflow;\n\t\telement.style.paddingTop = storedPaddingTop;\n\t\telement.style.paddingBottom = storedPaddingBottom;\n\t\telement.style.marginTop = storedMarginTop;\n\t\telement.style.marginBottom = storedMarginBottom;\n\t\telement.style.height = storedHeight;\n\t});\n\n\treturn animation;\n};\n\nexport default slideDown;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"slideUp.js","sourceRoot":"","sources":["../../src/animations/slideUp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slideUp.js","sourceRoot":"","sources":["../../src/animations/slideUp.ts"],"names":[],"mappings":"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","sourcesContent":["import animate, { duration } from \"./animate.js\";\n\nconst slideUp = (element: HTMLElement) => {\n\t// Get Computed styles\n\tlet computedStyles: CSSStyleDeclaration,\n\t\tpaddingTop: number,\n\t\tpaddingBottom: number,\n\t\tmarginTop: number,\n\t\tmarginBottom: number,\n\t\theight: number;\n\n\t// Store inline styles\n\tlet storedOverflow: string,\n\t\tstoredPaddingTop: string,\n\t\tstoredPaddingBottom: string,\n\t\tstoredMarginTop: string,\n\t\tstoredMarginBottom: string,\n\t\tstoredHeight: string;\n\n\tconst animation = animate({\n\t\tbeforeStart: () => {\n\t\t\t// Get Computed styles\n\t\t\tconst el = element;\n\t\t\tcomputedStyles = getComputedStyle(el);\n\t\t\tpaddingTop = parseFloat(computedStyles.paddingTop);\n\t\t\tpaddingBottom = parseFloat(computedStyles.paddingBottom);\n\t\t\tmarginTop = parseFloat(computedStyles.marginTop);\n\t\t\tmarginBottom = parseFloat(computedStyles.marginBottom);\n\t\t\theight = parseFloat(computedStyles.height);\n\n\t\t\t// Store inline styles\n\t\t\tstoredOverflow = el.style.overflow;\n\t\t\tstoredPaddingTop = el.style.paddingTop;\n\t\t\tstoredPaddingBottom = el.style.paddingBottom;\n\t\t\tstoredMarginTop = el.style.marginTop;\n\t\t\tstoredMarginBottom = el.style.marginBottom;\n\t\t\tstoredHeight = el.style.height;\n\n\t\t\tel.style.overflow = \"hidden\";\n\t\t},\n\t\tduration,\n\t\telement,\n\t\tadvance: progress => {\n\t\t\telement.style.paddingTop = `${paddingTop - (paddingTop * progress)}px`;\n\t\t\telement.style.paddingBottom = `${paddingBottom - (paddingBottom * progress)}px`;\n\t\t\telement.style.marginTop = `${marginTop - (marginTop * progress)}px`;\n\t\t\telement.style.marginBottom = `${marginBottom - (marginBottom * progress)}px`;\n\t\t\telement.style.height = `${height - (height * progress)}px`;\n\t\t},\n\t});\n\n\tanimation.promise().then(reason => {\n\t\tif (!(reason instanceof Error)) {\n\t\t\telement.style.overflow = storedOverflow;\n\t\t\telement.style.paddingTop = storedPaddingTop;\n\t\t\telement.style.paddingBottom = storedPaddingBottom;\n\t\t\telement.style.marginTop = storedMarginTop;\n\t\t\telement.style.marginBottom = storedMarginBottom;\n\t\t\telement.style.height = storedHeight;\n\t\t\telement.style.display = \"none\";\n\t\t}\n\t});\n\n\treturn animation;\n};\n\nexport default slideUp;\n"]}
package/dist/api.json CHANGED
@@ -1 +1 @@
1
- {"$schema-ref":"http://schemas.sap.com/sapui5/designtime/api.json/1.0","version":"1.62","symbols":[{"kind":"class","name":"I18nBundle","basename":"I18nBundle","resource":"i18nBundle.js","module":"i18nBundle","visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"getText","visibility":"public","returnValue":{"type":"string"},"parameters":[{"name":"textObj","type":"Object|String","optional":false,"description":"key/defaultText pair or just the key"},{"name":"params","type":"undefined","optional":false,"description":"Values for the placeholders"}],"description":"Returns a text in the currently loaded language"}]},{"kind":"class","name":"ItemNavigation","basename":"ItemNavigation","resource":"delegate/ItemNavigation.js","module":"delegate/ItemNavigation","visibility":"public","description":"The ItemNavigation class manages the calculations to determine the correct \"tabindex\" for a group of related items inside a root component. Important: ItemNavigation only does the calculations and does not change \"tabindex\" directly, this is a responsibility of the developer.\n\nThe keys that trigger ItemNavigation are: - Up/down - Left/right - Home/End\n\nUsage: 1) Use the \"getItemsCallback\" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.\n\nEach item passed to ItemNavigation via \"getItemsCallback\" must be: - A) either a UI5Element with a \"_tabIndex\" property - B) or an Object with \"id\" and \"_tabIndex\" properties which represents a part of the root component's shadow DOM. The \"id\" must be a valid ID within the shadow root of the component ItemNavigation operates on. This object must not be a DOM object because, as said, ItemNavigation will not set \"tabindex\" on it. It must be a representation of a DOM object only and the developer has the responsibility to update the \"tabindex\" in the component's DOM. - C) a combination of the above\n\nWhenever the user navigates with the keyboard, ItemNavigation will modify the \"_tabIndex\" properties of the items. It is the items' responsibilities to re-render themselves and apply the correct value of \"tabindex\" (i.e. to map the \"_tabIndex\" ItemNavigation set to them to the \"tabindex\" property). If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their \"_tabIndex\" property. If the items are Objects with \"id\" and \"_tabIndex\" however, it is the developer's responsibility to apply these and the easiest way is to have the root component invalidated by ItemNavigation. To do so, set the \"affectedPropertiesNames\" constructor property to point to one or more of the root component's properties that need refreshing when \"_tabIndex\" is changed deeply.\n\n2) Call the \"setCurrentItem\" method of ItemNavigation whenever you want to change the current item. This is most commonly required if the user for example clicks on an item and thus selects it directly. Pass as the only argument to \"setCurrentItem\" the item that becomes current (must be one of the items, returned by \"getItemsCallback\").","constructor":{"visibility":"public","parameters":[{"name":"rootWebComponent","type":"undefined","optional":false,"description":"the component to operate on (component that slots or contains within its shadow root the items the user navigates among)"},{"name":"options","type":"ItemNavigationOptions","optional":false,"description":"Object with configuration options: - currentIndex: the index of the item that will be initially selected (from which navigation will begin) - navigationMode (Auto|Horizontal|Vertical): whether the items are displayed horizontally (Horizontal), vertically (Vertical) or as a matrix (Auto) meaning the user can navigate in both directions (up/down and left/right) - rowSize: tells how many items per row there are when the items are not rendered as a flat list but rather as a matrix. Relevant for navigationMode=Auto - skipItemsSize: tells how many items upon PAGE_UP and PAGE_DOWN should be skipped to applying the focus on the next item - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items Static means that nothing happens if the user tries to navigate beyond the first/last item. Cycling means that when the user navigates beyond the last item they go to the first and vice versa. - getItemsCallback: function that, when called, returns an array with all items the user can navigate among - affectedPropertiesNames: a list of metadata properties on the root component which, upon user navigation, will be reassigned by address thus causing the root component to invalidate"}]},"methods":[{"name":"setCurrentItem","visibility":"public","parameters":[{"name":"current","type":"undefined","optional":false,"description":"the new selected item"}],"description":"Call this method to set a new \"current\" (selected) item in the item navigation Note: the item passed to this function must be one of the items, returned by the getItemsCallback function"},{"name":"setRowSize","visibility":"public","parameters":[{"name":"newRowSize","type":"undefined","optional":false}],"description":"Call this method to dynamically change the row size"}]},{"kind":"namespace","name":"MediaRange.RANGESETS","basename":"RANGESETS","resource":"MediaRange.js","module":"MediaRange","export":"RANGESETS","static":true,"visibility":"public","description":"Enumeration containing the names and settings of predefined screen width media query range sets.","properties":[{"name":"RANGE_4STEPS","visibility":"public","static":true,"type":"undefined","description":"A 4-step range set (S-M-L-XL).\n\nThe ranges of this set are: <ul> <li><code>\"S\"</code>: For screens smaller than 600 pixels.</li> <li><code>\"M\"</code>: For screens greater than or equal to 600 pixels and smaller than 1024 pixels.</li> <li><code>\"L\"</code>: For screens greater than or equal to 1024 pixels and smaller than 1440 pixels.</li> <li><code>\"XL\"</code>: For screens greater than or equal to 1440 pixels.</li> </ul>"}],"slots":[]},{"kind":"class","name":"ResizeHandler","basename":"ResizeHandler","resource":"delegate/ResizeHandler.js","module":"delegate/ResizeHandler","visibility":"public","description":"Allows to register/deregister resize observers for a DOM element","constructor":{"visibility":"public"},"methods":[{"name":"deregister","visibility":"public","static":true,"parameters":[{"name":"element","type":"*","optional":false,"description":"UI5 Web Component or DOM Element to be unobserved"},{"name":"callback","type":"*","optional":false,"description":"Callback to be removed"}]},{"name":"register","visibility":"public","static":true,"parameters":[{"name":"element","type":"*","optional":false,"description":"UI5 Web Component or DOM Element to be observed"},{"name":"callback","type":"*","optional":false,"description":"Callback to be executed"}]}]},{"kind":"class","name":"sap.ui.webc.base.types.AnimationMode","basename":"AnimationMode","resource":"types/AnimationMode.js","module":"types/AnimationMode","static":true,"visibility":"public","description":"Different types of AnimationMode.","constructor":{"visibility":"public"},"properties":[{"name":"Basic","visibility":"public","type":"Basic"},{"name":"Full","visibility":"public","type":"Full"},{"name":"Minimal","visibility":"public","type":"Minimal"},{"name":"None","visibility":"public","type":"None"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.types.CalendarType","basename":"CalendarType","resource":"types/CalendarType.js","module":"types/CalendarType","static":true,"visibility":"public","description":"Different calendar types.","constructor":{"visibility":"public"},"properties":[{"name":"Buddhist","visibility":"public","type":"Buddhist"},{"name":"Gregorian","visibility":"public","type":"Gregorian"},{"name":"Islamic","visibility":"public","type":"Islamic"},{"name":"Japanese","visibility":"public","type":"Japanese"},{"name":"Persian","visibility":"public","type":"Persian"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.types.CSSColor","basename":"CSSColor","resource":"types/CSSColor.js","module":"types/CSSColor","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"CSSColor data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.DataType","basename":"DataType","resource":"types/DataType.js","module":"types/DataType","static":true,"visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"isValid","visibility":"public","static":true,"returnValue":{"type":"Boolean"},"description":"Checks if the value is valid for its data type."}]},{"kind":"class","name":"sap.ui.webc.base.types.DOMReference","basename":"DOMReference","resource":"types/DOMReference.js","module":"types/DOMReference","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"DOM Element reference or ID. <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.Float","basename":"Float","resource":"types/Float.js","module":"types/Float","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"Float data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.Integer","basename":"Integer","resource":"types/Integer.js","module":"types/Integer","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"Integer data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.InvisibleMessageMode","basename":"InvisibleMessageMode","resource":"types/InvisibleMessageMode.js","module":"types/InvisibleMessageMode","static":true,"visibility":"public","description":"Enumeration for different mode behaviors of the InvisibleMessage.","constructor":{"visibility":"public"},"properties":[{"name":"Assertive","visibility":"public","type":"Assertive","description":"Indicates that updates to the region have the highest priority and should be presented to the user immediately."},{"name":"Polite","visibility":"public","type":"Polite","description":"Indicates that updates to the region should be presented at the next graceful opportunity, such as at the end of reading the current sentence, or when the user pauses typing."}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.types.ItemNavigationBehavior","basename":"ItemNavigationBehavior","resource":"types/ItemNavigationBehavior.js","module":"types/ItemNavigationBehavior","static":true,"visibility":"public","description":"Different behavior for ItemNavigation.","constructor":{"visibility":"public"},"properties":[{"name":"Cyclic","visibility":"public","type":"Cyclic","description":"Cycling behavior: navigating past the last item continues with the first and vice versa."},{"name":"Static","visibility":"public","type":"Static","description":"Static behavior: navigations stops at the first or last item."}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.types.NavigationMode","basename":"NavigationMode","resource":"types/NavigationMode.js","module":"types/NavigationMode","static":true,"visibility":"public","description":"Different navigation modes for ItemNavigation.","constructor":{"visibility":"public"},"properties":[{"name":"Auto","visibility":"public","type":"Auto"},{"name":"Horizontal","visibility":"public","type":"Horizontal"},{"name":"Paging","visibility":"public","type":"Paging"},{"name":"Vertical","visibility":"public","type":"Vertical"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.types.ValueState","basename":"ValueState","resource":"types/ValueState.js","module":"types/ValueState","static":true,"visibility":"public","description":"Different types of ValueStates.","constructor":{"visibility":"public"},"properties":[{"name":"Error","visibility":"public","type":"Error"},{"name":"Information","visibility":"public","type":"Information"},{"name":"None","visibility":"public","type":"None"},{"name":"Success","visibility":"public","type":"Success"},{"name":"Warning","visibility":"public","type":"Warning"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.UI5Element","basename":"UI5Element","resource":"UI5Element.js","module":"UI5Element","static":true,"visibility":"public","extends":"HTMLElement","constructor":{"visibility":"public"},"properties":[{"name":"_id","visibility":"protected","type":"undefined","description":"Returns a unique ID for this UI5 Element","deprecated":{"text":"- This property is not guaranteed in future releases"}},{"name":"dependencies","visibility":"protected","static":true,"type":"undefined","description":"Returns an array with the dependencies for this UI5 Web Component, which could be: - composed components (used in its shadow root or static area item) - slotted components that the component may need to communicate with"},{"name":"effectiveDir","visibility":"public","type":"undefined","description":"Determines whether the component should be rendered in RTL mode or not. Returns: \"rtl\", \"ltr\" or undefined"},{"name":"isUI5Element","visibility":"public","type":"undefined","description":"Used to duck-type UI5 elements without using instanceof"},{"name":"metadata","visibility":"protected","static":true,"type":"undefined","description":"Sets a new metadata object for this UI5 Web Component Class"},{"name":"staticAreaStyles","visibility":"protected","static":true,"type":"undefined","description":"Returns the Static Area CSS for this UI5 Web Component Class"},{"name":"styles","visibility":"protected","static":true,"type":"undefined","description":"Returns the CSS for this UI5 Web Component Class"}],"slots":[],"methods":[{"name":"_render","visibility":"protected","description":"Do not call this method directly, only intended to be called by js"},{"name":"attachInvalidate","visibility":"public","parameters":[{"name":"callback","type":"InvalidationInfo","optional":false}],"description":"Attach a callback that will be executed whenever the component is invalidated"},{"name":"define","visibility":"public","static":true,"returnValue":{"type":"Promise.<UI5Element>"},"description":"Registers a UI5 Web Component in the browser window object"},{"name":"detachInvalidate","visibility":"public","parameters":[{"name":"callback","type":"InvalidationInfo","optional":false}],"description":"Detach the callback that is executed whenever the component is invalidated"},{"name":"fireEvent","visibility":"public","returnValue":{"type":"boolean","description":"false, if the event was cancelled (preventDefault called), true otherwise"},"parameters":[{"name":"name","type":"undefined","optional":false,"description":"name of the event"},{"name":"data","type":"undefined","optional":false,"description":"additional data for the event"},{"name":"cancelable","type":"undefined","optional":false,"defaultValue":false,"description":"true, if the user can call preventDefault on the event object"},{"name":"bubbles","type":"undefined","optional":false,"defaultValue":true,"description":"true, if the event bubbles"}]},{"name":"focus","visibility":"public","parameters":[{"name":"focusOptions","type":"FocusOptions","optional":false,"description":"additional options for the focus"}],"description":"Set the focus to the element, returned by \"getFocusDomRef()\" (marked by \"data-sap-focus-ref\")"},{"name":"getDomRef","visibility":"public","description":"Returns the DOM Element inside the Shadow Root that corresponds to the opening tag in the UI5 Web Component's template *Note:* For logical (abstract) elements (items, options, etc...), returns the part of the parent's DOM that represents this option Use this method instead of \"this.shadowRoot\" to read the Shadow DOM, if ever necessary"},{"name":"getFocusDomRef","visibility":"public","description":"Returns the DOM Element marked with \"data-sap-focus-ref\" inside the template. This is the element that will receive the focus by default."},{"name":"getFocusDomRefAsync","visibility":"public","description":"Waits for dom ref and then returns the DOM Element marked with \"data-sap-focus-ref\" inside the template. This is the element that will receive the focus by default."},{"name":"getMetadata","visibility":"public","static":true,"returnValue":{"type":"UI5ElementMetadata"},"description":"Returns an instance of UI5ElementMetadata.js representing this UI5 Web Component's full metadata (its and its parents') Note: not to be confused with the \"get metadata()\" method, which returns an object for this class's metadata only"},{"name":"getSlottedNodes","visibility":"public","description":"Returns the actual children, associated with a slot. Useful when there are transitive slots in nested component scenarios and you don't want to get a list of the slots, but rather of their content."},{"name":"getStaticAreaItemDomRef","visibility":"public"},{"name":"getUniqueDependencies","visibility":"public","static":true,"description":"Returns a list of the unique dependencies for this UI5 Web Component"},{"name":"onAfterRendering","visibility":"public","description":"Called every time after the component renders."},{"name":"onBeforeRendering","visibility":"public","description":"Called every time before the component renders."},{"name":"onDefine","visibility":"protected","static":true,"returnValue":{"type":"Promise.<void>"},"description":"Hook that will be called upon custom element definition"},{"name":"onEnterDOM","visibility":"public","description":"Called on connectedCallback - added to the DOM."},{"name":"onExitDOM","visibility":"public","description":"Called on disconnectedCallback - removed from the DOM."},{"name":"onInvalidation","visibility":"public","parameters":[{"name":"changeInfo","type":"undefined","optional":false,"description":"An object with information about the change that caused invalidation. The object can have the following properties: - type: (property|slot) tells what caused the invalidation 1) property: a property value was changed either directly or as a result of changing the corresponding attribute 2) slot: a slotted node(nodes) changed in one of several ways (see \"reason\")\n\n- name: the name of the property or slot that caused the invalidation\n\n- reason: (children|textcontent|childchange|slotchange) relevant only for type=\"slot\" only and tells exactly what changed in the slot 1) children: immediate children (HTML elements or text nodes) were added, removed or reordered in the slot 2) textcontent: text nodes in the slot changed value (or nested text nodes were added or changed value). Can only trigger for slots of \"type: Node\" 3) slotchange: a slot element, slotted inside that slot had its \"slotchange\" event listener called. This practically means that transitively slotted children changed. Can only trigger if the child of a slot is a slot element itself. 4) childchange: indicates that a UI5Element child in that slot was invalidated and in turn invalidated the component. Can only trigger for slots with \"invalidateOnChildChange\" metadata descriptor\n\n- newValue: the new value of the property (for type=\"property\" only)\n\n- oldValue: the old value of the property (for type=\"property\" only)\n\n- child the child that was changed (for type=\"slot\" and reason=\"childchange\" only)"}],"description":"A callback that is executed each time an already rendered component is invalidated (scheduled for re-rendering)"}]},{"kind":"class","name":"UI5ElementMetadata","basename":"UI5ElementMetadata","resource":"UI5ElementMetadata.js","module":"UI5ElementMetadata","export":"","visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"getAttributesList","visibility":"public","returnValue":{"type":"string[]"},"description":"Returns an array with the attributes of the UI5 Element (in kebab-case)"},{"name":"getEvents","visibility":"public","description":"Returns an object with key-value pairs of events and their metadata definitions"},{"name":"getProperties","visibility":"public","description":"Returns an object with key-value pairs of properties and their metadata definitions"},{"name":"getPropertiesList","visibility":"public","returnValue":{"type":"string[]"},"description":"Returns an array with the properties of the UI5 Element (in camelCase)"},{"name":"getPureTag","visibility":"public","description":"Returns the tag of the UI5 Element without the scope"},{"name":"getSlots","visibility":"public","description":"Returns an object with key-value pairs of slots and their metadata definitions"},{"name":"getTag","visibility":"public","description":"Returns the tag of the UI5 Element"},{"name":"hasAttribute","visibility":"public","returnValue":{"type":"boolean"},"parameters":[{"name":"propName","type":"undefined","optional":false}],"description":"Determines whether a property should have an attribute counterpart"},{"name":"hasIndividualSlots","visibility":"public","description":"Determines whether this UI5 Element supports any slots with \"individualSlots: true\""},{"name":"hasSlots","visibility":"public","description":"Determines whether this UI5 Element supports any slots"},{"name":"slotsAreManaged","visibility":"public","description":"Determines whether this UI5 Element needs to invalidate if children are added/removed/changed"},{"name":"supportsF6FastNavigation","visibility":"public","description":"Determines whether this control supports F6 fast navigation"},{"name":"validatePropertyValue","visibility":"public","static":true,"description":"Validates the property's value and returns it if correct or returns the default value if not. <b>Note:</b> Only intended for use by UI5Element.js"}]}]}
1
+ {"$schema-ref":"http://schemas.sap.com/sapui5/designtime/api.json/1.0","version":"1.62","symbols":[{"kind":"class","name":"I18nBundle","basename":"I18nBundle","resource":"i18nBundle.js","module":"i18nBundle","visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"getText","visibility":"public","returnValue":{"type":"string"},"parameters":[{"name":"textObj","type":"Object|String","optional":false,"description":"key/defaultText pair or just the key"},{"name":"params","type":"undefined","optional":false,"description":"Values for the placeholders"}],"description":"Returns a text in the currently loaded language"}]},{"kind":"class","name":"ItemNavigation","basename":"ItemNavigation","resource":"delegate/ItemNavigation.js","module":"delegate/ItemNavigation","visibility":"public","description":"The ItemNavigation class manages the calculations to determine the correct \"tabindex\" for a group of related items inside a root component. Important: ItemNavigation only does the calculations and does not change \"tabindex\" directly, this is a responsibility of the developer.\n\nThe keys that trigger ItemNavigation are: - Up/down - Left/right - Home/End\n\nUsage: 1) Use the \"getItemsCallback\" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.\n\nEach item passed to ItemNavigation via \"getItemsCallback\" must be: - A) either a UI5Element with a \"_tabIndex\" property - B) or an Object with \"id\" and \"_tabIndex\" properties which represents a part of the root component's shadow DOM. The \"id\" must be a valid ID within the shadow root of the component ItemNavigation operates on. This object must not be a DOM object because, as said, ItemNavigation will not set \"tabindex\" on it. It must be a representation of a DOM object only and the developer has the responsibility to update the \"tabindex\" in the component's DOM. - C) a combination of the above\n\nWhenever the user navigates with the keyboard, ItemNavigation will modify the \"_tabIndex\" properties of the items. It is the items' responsibilities to re-render themselves and apply the correct value of \"tabindex\" (i.e. to map the \"_tabIndex\" ItemNavigation set to them to the \"tabindex\" property). If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their \"_tabIndex\" property. If the items are Objects with \"id\" and \"_tabIndex\" however, it is the developer's responsibility to apply these and the easiest way is to have the root component invalidated by ItemNavigation. To do so, set the \"affectedPropertiesNames\" constructor property to point to one or more of the root component's properties that need refreshing when \"_tabIndex\" is changed deeply.\n\n2) Call the \"setCurrentItem\" method of ItemNavigation whenever you want to change the current item. This is most commonly required if the user for example clicks on an item and thus selects it directly. Pass as the only argument to \"setCurrentItem\" the item that becomes current (must be one of the items, returned by \"getItemsCallback\").","constructor":{"visibility":"public","parameters":[{"name":"rootWebComponent","type":"undefined","optional":false,"description":"the component to operate on (component that slots or contains within its shadow root the items the user navigates among)"},{"name":"options","type":"ItemNavigationOptions","optional":false,"description":"Object with configuration options: - currentIndex: the index of the item that will be initially selected (from which navigation will begin) - navigationMode (Auto|Horizontal|Vertical): whether the items are displayed horizontally (Horizontal), vertically (Vertical) or as a matrix (Auto) meaning the user can navigate in both directions (up/down and left/right) - rowSize: tells how many items per row there are when the items are not rendered as a flat list but rather as a matrix. Relevant for navigationMode=Auto - skipItemsSize: tells how many items upon PAGE_UP and PAGE_DOWN should be skipped to applying the focus on the next item - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items Static means that nothing happens if the user tries to navigate beyond the first/last item. Cycling means that when the user navigates beyond the last item they go to the first and vice versa. - getItemsCallback: function that, when called, returns an array with all items the user can navigate among - affectedPropertiesNames: a list of metadata properties on the root component which, upon user navigation, will be reassigned by address thus causing the root component to invalidate"}]},"methods":[{"name":"setCurrentItem","visibility":"public","parameters":[{"name":"current","type":"undefined","optional":false,"description":"the new selected item"}],"description":"Call this method to set a new \"current\" (selected) item in the item navigation Note: the item passed to this function must be one of the items, returned by the getItemsCallback function"},{"name":"setRowSize","visibility":"public","parameters":[{"name":"newRowSize","type":"undefined","optional":false}],"description":"Call this method to dynamically change the row size"}]},{"kind":"namespace","name":"MediaRange.RANGESETS","basename":"RANGESETS","resource":"MediaRange.js","module":"MediaRange","export":"RANGESETS","static":true,"visibility":"public","description":"Enumeration containing the names and settings of predefined screen width media query range sets.","properties":[{"name":"RANGE_4STEPS","visibility":"public","static":true,"type":"undefined","description":"A 4-step range set (S-M-L-XL).\n\nThe ranges of this set are: <ul> <li><code>\"S\"</code>: For screens smaller than 600 pixels.</li> <li><code>\"M\"</code>: For screens greater than or equal to 600 pixels and smaller than 1024 pixels.</li> <li><code>\"L\"</code>: For screens greater than or equal to 1024 pixels and smaller than 1440 pixels.</li> <li><code>\"XL\"</code>: For screens greater than or equal to 1440 pixels.</li> </ul>"}],"slots":[]},{"kind":"class","name":"ResizeHandler","basename":"ResizeHandler","resource":"delegate/ResizeHandler.js","module":"delegate/ResizeHandler","visibility":"public","description":"Allows to register/deregister resize observers for a DOM element","constructor":{"visibility":"public"},"methods":[{"name":"deregister","visibility":"public","static":true,"parameters":[{"name":"element","type":"*","optional":false,"description":"UI5 Web Component or DOM Element to be unobserved"},{"name":"callback","type":"*","optional":false,"description":"Callback to be removed"}]},{"name":"register","visibility":"public","static":true,"parameters":[{"name":"element","type":"*","optional":false,"description":"UI5 Web Component or DOM Element to be observed"},{"name":"callback","type":"*","optional":false,"description":"Callback to be executed"}]}]},{"kind":"enum","name":"sap.ui.webc.base.types.AnimationMode","basename":"AnimationMode","resource":"types/AnimationMode.js","module":"types/AnimationMode","static":true,"visibility":"public","description":"Different types of AnimationMode.","properties":[{"name":"Basic","visibility":"public","type":"Basic"},{"name":"Full","visibility":"public","type":"Full"},{"name":"Minimal","visibility":"public","type":"Minimal"},{"name":"None","visibility":"public","type":"None"}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.CalendarType","basename":"CalendarType","resource":"types/CalendarType.js","module":"types/CalendarType","static":true,"visibility":"public","description":"Different calendar types.","properties":[{"name":"Buddhist","visibility":"public","type":"Buddhist"},{"name":"Gregorian","visibility":"public","type":"Gregorian"},{"name":"Islamic","visibility":"public","type":"Islamic"},{"name":"Japanese","visibility":"public","type":"Japanese"},{"name":"Persian","visibility":"public","type":"Persian"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.types.CSSColor","basename":"CSSColor","resource":"types/CSSColor.js","module":"types/CSSColor","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"CSSColor data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.DataType","basename":"DataType","resource":"types/DataType.js","module":"types/DataType","static":true,"visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"isValid","visibility":"public","static":true,"returnValue":{"type":"Boolean"},"description":"Checks if the value is valid for its data type."}]},{"kind":"class","name":"sap.ui.webc.base.types.DOMReference","basename":"DOMReference","resource":"types/DOMReference.js","module":"types/DOMReference","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"DOM Element reference or ID. <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.Float","basename":"Float","resource":"types/Float.js","module":"types/Float","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"Float data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.Integer","basename":"Integer","resource":"types/Integer.js","module":"types/Integer","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"Integer data type.","constructor":{"visibility":"public"}},{"kind":"enum","name":"sap.ui.webc.base.types.InvisibleMessageMode","basename":"InvisibleMessageMode","resource":"types/InvisibleMessageMode.js","module":"types/InvisibleMessageMode","static":true,"visibility":"public","description":"Enumeration for different mode behaviors of the InvisibleMessage.","properties":[{"name":"Assertive","visibility":"public","type":"Assertive","description":"Indicates that updates to the region have the highest priority and should be presented to the user immediately."},{"name":"Polite","visibility":"public","type":"Polite","description":"Indicates that updates to the region should be presented at the next graceful opportunity, such as at the end of reading the current sentence, or when the user pauses typing."}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.ItemNavigationBehavior","basename":"ItemNavigationBehavior","resource":"types/ItemNavigationBehavior.js","module":"types/ItemNavigationBehavior","static":true,"visibility":"public","description":"Different behavior for ItemNavigation.","properties":[{"name":"Cyclic","visibility":"public","type":"Cyclic","description":"Cycling behavior: navigating past the last item continues with the first and vice versa."},{"name":"Static","visibility":"public","type":"Static","description":"Static behavior: navigations stops at the first or last item."}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.NavigationMode","basename":"NavigationMode","resource":"types/NavigationMode.js","module":"types/NavigationMode","static":true,"visibility":"public","description":"Different navigation modes for ItemNavigation.","properties":[{"name":"Auto","visibility":"public","type":"Auto"},{"name":"Horizontal","visibility":"public","type":"Horizontal"},{"name":"Paging","visibility":"public","type":"Paging"},{"name":"Vertical","visibility":"public","type":"Vertical"}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.ValueState","basename":"ValueState","resource":"types/ValueState.js","module":"types/ValueState","static":true,"visibility":"public","description":"Different types of ValueStates.","properties":[{"name":"Error","visibility":"public","type":"Error"},{"name":"Information","visibility":"public","type":"Information"},{"name":"None","visibility":"public","type":"None"},{"name":"Success","visibility":"public","type":"Success"},{"name":"Warning","visibility":"public","type":"Warning"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.UI5Element","basename":"UI5Element","resource":"UI5Element.js","module":"UI5Element","static":true,"visibility":"public","extends":"HTMLElement","constructor":{"visibility":"public"},"properties":[{"name":"_id","visibility":"protected","type":"undefined","description":"Returns a unique ID for this UI5 Element","deprecated":{"text":"- This property is not guaranteed in future releases"}},{"name":"dependencies","visibility":"protected","static":true,"type":"undefined","description":"Returns an array with the dependencies for this UI5 Web Component, which could be: - composed components (used in its shadow root or static area item) - slotted components that the component may need to communicate with"},{"name":"effectiveDir","visibility":"public","type":"undefined","description":"Determines whether the component should be rendered in RTL mode or not. Returns: \"rtl\", \"ltr\" or undefined"},{"name":"isUI5Element","visibility":"public","type":"undefined","description":"Used to duck-type UI5 elements without using instanceof"},{"name":"metadata","visibility":"protected","static":true,"type":"undefined","description":"Returns the metadata object for this UI5 Web Component Class"},{"name":"staticAreaStyles","visibility":"protected","static":true,"type":"undefined","description":"Returns the Static Area CSS for this UI5 Web Component Class"},{"name":"styles","visibility":"protected","static":true,"type":"undefined","description":"Returns the CSS for this UI5 Web Component Class"}],"slots":[],"methods":[{"name":"_render","visibility":"protected","description":"Do not call this method directly, only intended to be called by js"},{"name":"attachInvalidate","visibility":"public","parameters":[{"name":"callback","type":"InvalidationInfo","optional":false}],"description":"Attach a callback that will be executed whenever the component is invalidated"},{"name":"define","visibility":"public","static":true,"returnValue":{"type":"Promise.<UI5Element>"},"description":"Registers a UI5 Web Component in the browser window object"},{"name":"detachInvalidate","visibility":"public","parameters":[{"name":"callback","type":"InvalidationInfo","optional":false}],"description":"Detach the callback that is executed whenever the component is invalidated"},{"name":"fireEvent","visibility":"public","returnValue":{"type":"boolean","description":"false, if the event was cancelled (preventDefault called), true otherwise"},"parameters":[{"name":"name","type":"undefined","optional":false,"description":"name of the event"},{"name":"data","type":"undefined","optional":false,"description":"additional data for the event"},{"name":"cancelable","type":"undefined","optional":false,"defaultValue":false,"description":"true, if the user can call preventDefault on the event object"},{"name":"bubbles","type":"undefined","optional":false,"defaultValue":true,"description":"true, if the event bubbles"}]},{"name":"focus","visibility":"public","parameters":[{"name":"focusOptions","type":"FocusOptions","optional":false,"description":"additional options for the focus"}],"description":"Set the focus to the element, returned by \"getFocusDomRef()\" (marked by \"data-sap-focus-ref\")"},{"name":"getDomRef","visibility":"public","description":"Returns the DOM Element inside the Shadow Root that corresponds to the opening tag in the UI5 Web Component's template *Note:* For logical (abstract) elements (items, options, etc...), returns the part of the parent's DOM that represents this option Use this method instead of \"this.shadowRoot\" to read the Shadow DOM, if ever necessary"},{"name":"getFocusDomRef","visibility":"public","description":"Returns the DOM Element marked with \"data-sap-focus-ref\" inside the template. This is the element that will receive the focus by default."},{"name":"getFocusDomRefAsync","visibility":"public","description":"Waits for dom ref and then returns the DOM Element marked with \"data-sap-focus-ref\" inside the template. This is the element that will receive the focus by default."},{"name":"getMetadata","visibility":"public","static":true,"returnValue":{"type":"UI5ElementMetadata"},"description":"Returns an instance of UI5ElementMetadata.js representing this UI5 Web Component's full metadata (its and its parents') Note: not to be confused with the \"get metadata()\" method, which returns an object for this class's metadata only"},{"name":"getSlottedNodes","visibility":"public","description":"Returns the actual children, associated with a slot. Useful when there are transitive slots in nested component scenarios and you don't want to get a list of the slots, but rather of their content."},{"name":"getStaticAreaItemDomRef","visibility":"public"},{"name":"getUniqueDependencies","visibility":"public","static":true,"description":"Returns a list of the unique dependencies for this UI5 Web Component"},{"name":"onAfterRendering","visibility":"public","description":"Called every time after the component renders."},{"name":"onBeforeRendering","visibility":"public","description":"Called every time before the component renders."},{"name":"onDefine","visibility":"protected","static":true,"returnValue":{"type":"Promise.<void>"},"description":"Hook that will be called upon custom element definition"},{"name":"onEnterDOM","visibility":"public","description":"Called on connectedCallback - added to the DOM."},{"name":"onExitDOM","visibility":"public","description":"Called on disconnectedCallback - removed from the DOM."},{"name":"onInvalidation","visibility":"public","parameters":[{"name":"changeInfo","type":"undefined","optional":false,"description":"An object with information about the change that caused invalidation. The object can have the following properties: - type: (property|slot) tells what caused the invalidation 1) property: a property value was changed either directly or as a result of changing the corresponding attribute 2) slot: a slotted node(nodes) changed in one of several ways (see \"reason\")\n\n- name: the name of the property or slot that caused the invalidation\n\n- reason: (children|textcontent|childchange|slotchange) relevant only for type=\"slot\" only and tells exactly what changed in the slot 1) children: immediate children (HTML elements or text nodes) were added, removed or reordered in the slot 2) textcontent: text nodes in the slot changed value (or nested text nodes were added or changed value). Can only trigger for slots of \"type: Node\" 3) slotchange: a slot element, slotted inside that slot had its \"slotchange\" event listener called. This practically means that transitively slotted children changed. Can only trigger if the child of a slot is a slot element itself. 4) childchange: indicates that a UI5Element child in that slot was invalidated and in turn invalidated the component. Can only trigger for slots with \"invalidateOnChildChange\" metadata descriptor\n\n- newValue: the new value of the property (for type=\"property\" only)\n\n- oldValue: the old value of the property (for type=\"property\" only)\n\n- child the child that was changed (for type=\"slot\" and reason=\"childchange\" only)"}],"description":"A callback that is executed each time an already rendered component is invalidated (scheduled for re-rendering)"}]},{"kind":"class","name":"UI5ElementMetadata","basename":"UI5ElementMetadata","resource":"UI5ElementMetadata.js","module":"UI5ElementMetadata","export":"","visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"getAttributesList","visibility":"public","returnValue":{"type":"string[]"},"description":"Returns an array with the attributes of the UI5 Element (in kebab-case)"},{"name":"getEvents","visibility":"public","description":"Returns an object with key-value pairs of events and their metadata definitions"},{"name":"getProperties","visibility":"public","description":"Returns an object with key-value pairs of properties and their metadata definitions"},{"name":"getPropertiesList","visibility":"public","returnValue":{"type":"string[]"},"description":"Returns an array with the properties of the UI5 Element (in camelCase)"},{"name":"getPureTag","visibility":"public","description":"Returns the tag of the UI5 Element without the scope"},{"name":"getSlots","visibility":"public","description":"Returns an object with key-value pairs of slots and their metadata definitions"},{"name":"getTag","visibility":"public","description":"Returns the tag of the UI5 Element"},{"name":"hasAttribute","visibility":"public","returnValue":{"type":"boolean"},"parameters":[{"name":"propName","type":"undefined","optional":false}],"description":"Determines whether a property should have an attribute counterpart"},{"name":"hasIndividualSlots","visibility":"public","description":"Determines whether this UI5 Element supports any slots with \"individualSlots: true\""},{"name":"hasSlots","visibility":"public","description":"Determines whether this UI5 Element supports any slots"},{"name":"slotsAreManaged","visibility":"public","description":"Determines whether this UI5 Element needs to invalidate if children are added/removed/changed"},{"name":"supportsF6FastNavigation","visibility":"public","description":"Determines whether this control supports F6 fast navigation"},{"name":"validatePropertyValue","visibility":"public","static":true,"description":"Validates the property's value and returns it if correct or returns the default value if not. <b>Note:</b> Only intended for use by UI5Element.js"}]}]}
@@ -1,23 +1,23 @@
1
- import { I18nText } from "../i18nBundle.js";
2
- import { TemplateFunction } from "../renderer/executeTemplate.js";
1
+ import type { I18nText } from "../i18nBundle.js";
2
+ import type { TemplateFunction } from "../renderer/executeTemplate.js";
3
3
  type IconLoader = (collectionName: string) => Promise<CollectionData>;
4
4
  type CollectionData = {
5
5
  collection: string;
6
6
  packageName: string;
7
7
  version?: string;
8
8
  data: Record<string, {
9
- path: string;
10
- paths: Array<string>;
11
- ltr: boolean;
12
- acc: I18nText;
9
+ path?: string;
10
+ paths?: Array<string>;
11
+ ltr?: boolean;
12
+ acc?: I18nText;
13
13
  }>;
14
14
  };
15
15
  type IconData = {
16
16
  collection: string;
17
17
  packageName: string;
18
18
  pathData: string | Array<string>;
19
- ltr: boolean;
20
- accData: I18nText;
19
+ ltr?: boolean;
20
+ accData?: I18nText;
21
21
  customTemplate?: TemplateFunction;
22
22
  viewBox?: string;
23
23
  };
@@ -25,6 +25,14 @@ declare const registerIconLoader: (collectionName: string, loader: IconLoader) =
25
25
  declare const registerIcon: (name: string, iconData: IconData) => void;
26
26
  declare const getIconDataSync: (name: string) => IconData | undefined;
27
27
  declare const getIconData: (name: string) => Promise<IconData | "ICON_NOT_FOUND" | undefined>;
28
+ /**
29
+ * Returns the accessible name for the given icon,
30
+ * or undefined if accessible name is not present.
31
+ *
32
+ * @param { string } name
33
+ * @return { Promise }
34
+ */
35
+ declare const getIconAccessibleName: (name: string) => Promise<string | undefined>;
28
36
  declare const _getRegisteredNames: () => Promise<string[]>;
29
- export { registerIconLoader, getIconData, getIconDataSync, registerIcon, _getRegisteredNames, };
37
+ export { registerIconLoader, getIconData, getIconDataSync, getIconAccessibleName, registerIcon, _getRegisteredNames, };
30
38
  export type { IconData, CollectionData, };
@@ -1,6 +1,7 @@
1
1
  import getSharedResource from "../getSharedResource.js";
2
2
  import { getIconCollectionByAlias } from "../assets-meta/IconCollectionsAlias.js";
3
3
  import { getEffectiveIconCollection } from "../config/Icons.js";
4
+ import { getI18nBundle } from "../i18nBundle.js";
4
5
  const loaders = new Map();
5
6
  const registry = getSharedResource("SVGIcons.registry", new Map());
6
7
  const iconCollectionPromises = getSharedResource("SVGIcons.promises", new Map());
@@ -22,7 +23,7 @@ const _fillRegistry = (bundleData) => {
22
23
  Object.keys(bundleData.data).forEach(iconName => {
23
24
  const iconData = bundleData.data[iconName];
24
25
  registerIcon(iconName, {
25
- pathData: iconData.path || iconData.paths,
26
+ pathData: (iconData.path || iconData.paths),
26
27
  ltr: iconData.ltr,
27
28
  accData: iconData.acc,
28
29
  collection: bundleData.collection,
@@ -92,6 +93,26 @@ const getIconData = async (name) => {
92
93
  }
93
94
  return registry.get(registryKey);
94
95
  };
96
+ /**
97
+ * Returns the accessible name for the given icon,
98
+ * or undefined if accessible name is not present.
99
+ *
100
+ * @param { string } name
101
+ * @return { Promise }
102
+ */
103
+ const getIconAccessibleName = async (name) => {
104
+ if (!name) {
105
+ return;
106
+ }
107
+ let iconData = getIconDataSync(name);
108
+ if (!iconData) {
109
+ iconData = await getIconData(name);
110
+ }
111
+ if (iconData && iconData !== ICON_NOT_FOUND && iconData.accData) {
112
+ const i18nBundle = await getI18nBundle(iconData.packageName);
113
+ return i18nBundle.getText(iconData.accData);
114
+ }
115
+ };
95
116
  // test page usage only
96
117
  const _getRegisteredNames = async () => {
97
118
  // fetch one icon of each collection to trigger the bundle load
@@ -100,5 +121,5 @@ const _getRegisteredNames = async () => {
100
121
  await getIconData("business-suite/3d");
101
122
  return Array.from(registry.keys());
102
123
  };
103
- export { registerIconLoader, getIconData, getIconDataSync, registerIcon, _getRegisteredNames, };
124
+ export { registerIconLoader, getIconData, getIconDataSync, getIconAccessibleName, registerIcon, _getRegisteredNames, };
104
125
  //# sourceMappingURL=Icons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/asset-registries/Icons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/asset-registries/Icons.ts"],"names":[],"mappings":"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","sourcesContent":["import getSharedResource from \"../getSharedResource.js\";\nimport { getIconCollectionByAlias } from \"../assets-meta/IconCollectionsAlias.js\";\nimport { getEffectiveIconCollection } from \"../config/Icons.js\";\nimport { getI18nBundle } from \"../i18nBundle.js\";\nimport type { I18nText } from \"../i18nBundle.js\";\nimport type { TemplateFunction } from \"../renderer/executeTemplate.js\";\n\ntype IconLoader = (collectionName: string) => Promise<CollectionData>;\n\ntype CollectionData = {\n\tcollection: string,\n\tpackageName: string,\n\tversion?: string,\n\tdata: Record<string, {\n\t\tpath?: string,\n\t\tpaths?: Array<string>,\n\t\tltr?: boolean,\n\t\tacc?: I18nText,\n\t}>,\n};\n\ntype IconData = {\n\tcollection: string,\n\tpackageName: string,\n\tpathData: string | Array<string>,\n\tltr?: boolean,\n\taccData?: I18nText,\n\tcustomTemplate?: TemplateFunction,\n\tviewBox?: string,\n};\n\nconst loaders = new Map<string, IconLoader>();\nconst registry = getSharedResource<Map<string, IconData>>(\"SVGIcons.registry\", new Map());\nconst iconCollectionPromises = getSharedResource<Map<string, Promise<CollectionData>>>(\"SVGIcons.promises\", new Map());\n\nconst ICON_NOT_FOUND = \"ICON_NOT_FOUND\";\n\nconst registerIconLoader = (collectionName: string, loader: IconLoader) => {\n\tloaders.set(collectionName, loader);\n};\n\nconst _loadIconCollectionOnce = async (collectionName: string) => {\n\tif (!iconCollectionPromises.has(collectionName)) {\n\t\tif (!loaders.has(collectionName)) {\n\t\t\tthrow new Error(`No loader registered for the ${collectionName} icons collection. Probably you forgot to import the \"AllIcons.js\" module for the respective package.`);\n\t\t}\n\n\t\tconst loadIcons = loaders.get(collectionName)!;\n\t\ticonCollectionPromises.set(collectionName, loadIcons(collectionName));\n\t}\n\n\treturn iconCollectionPromises.get(collectionName);\n};\n\nconst _fillRegistry = (bundleData: CollectionData) => {\n\tObject.keys(bundleData.data).forEach(iconName => {\n\t\tconst iconData = bundleData.data[iconName];\n\n\t\tregisterIcon(iconName, {\n\t\t\tpathData: (iconData.path || iconData.paths)!,\n\t\t\tltr: iconData.ltr,\n\t\t\taccData: iconData.acc,\n\t\t\tcollection: bundleData.collection,\n\t\t\tpackageName: bundleData.packageName,\n\t\t});\n\t});\n};\n\n// set\nconst registerIcon = (name: string, iconData: IconData) => { // eslint-disable-line\n\tconst key = `${iconData.collection}/${name}`;\n\n\tregistry.set(key, {\n\t\tpathData: iconData.pathData,\n\t\tltr: iconData.ltr,\n\t\taccData: iconData.accData,\n\t\tpackageName: iconData.packageName,\n\t\tcustomTemplate: iconData.customTemplate,\n\t\tviewBox: iconData.viewBox,\n\t\tcollection: iconData.collection,\n\t});\n};\n\n/**\n * Processes the full icon name and splits it into - \"name\", \"collection\"\n * to form the proper registry key (\"collection/name\") under which the icon is registered:\n *\n * - removes legacy protocol (\"sap-icon://\")\n * - resolves aliases (f.e \"SAP-icons-TNT/actor\" => \"tnt/actor\")\n * - determines theme dependant icon collection (f.e \"home\" => \"SAP-icons-v4/home\" in Quartz | \"SAP-icons-v5/home\" in Horizon)\n *\n * @param { string } name\n * @return { object }\n */\nconst processName = (name: string) => {\n\t// silently support ui5-compatible URIs\n\tif (name.startsWith(\"sap-icon://\")) {\n\t\tname = name.replace(\"sap-icon://\", \"\");\n\t}\n\n\tlet collection: string;\n\t[name, collection] = name.split(\"/\").reverse();\n\n\tname = name.replace(\"icon-\", \"\");\n\n\tif (collection) {\n\t\tcollection = getIconCollectionByAlias(collection);\n\t}\n\tcollection = getEffectiveIconCollection(collection);\n\n\tconst registryKey = `${collection}/${name}`;\n\treturn { name, collection, registryKey };\n};\n\nconst getIconDataSync = (name: string) => {\n\tconst { registryKey } = processName(name);\n\treturn registry.get(registryKey);\n};\n\nconst getIconData = async (name: string) => {\n\tconst { collection, registryKey } = processName(name);\n\n\tlet iconData: string | CollectionData = ICON_NOT_FOUND;\n\ttry {\n\t\ticonData = (await _loadIconCollectionOnce(collection))!;\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tconsole.error(e.message); /* eslint-disable-line */\n\t}\n\n\tif (iconData === ICON_NOT_FOUND) {\n\t\treturn iconData;\n\t}\n\n\tif (!registry.has(registryKey)) {\n\t\t// not filled by another await. many getters will await on the same loader, but fill only once\n\t\t_fillRegistry(iconData as CollectionData);\n\t}\n\treturn registry.get(registryKey);\n};\n\n/**\n * Returns the accessible name for the given icon,\n * or undefined if accessible name is not present.\n *\n * @param { string } name\n * @return { Promise }\n */\nconst getIconAccessibleName = async (name: string): Promise<string | undefined> => {\n\tif (!name) {\n\t\treturn;\n\t}\n\n\tlet iconData: typeof ICON_NOT_FOUND | IconData | undefined = getIconDataSync(name);\n\n\tif (!iconData) {\n\t\ticonData = await getIconData(name);\n\t}\n\n\tif (iconData && iconData !== ICON_NOT_FOUND && iconData.accData) {\n\t\tconst i18nBundle = await getI18nBundle(iconData.packageName);\n\t\treturn i18nBundle.getText(iconData.accData);\n\t}\n};\n\n// test page usage only\nconst _getRegisteredNames = async () => {\n\t// fetch one icon of each collection to trigger the bundle load\n\tawait getIconData(\"edit\");\n\tawait getIconData(\"tnt/arrow\");\n\tawait getIconData(\"business-suite/3d\");\n\treturn Array.from(registry.keys());\n};\n\nexport {\n\tregisterIconLoader,\n\tgetIconData,\n\tgetIconDataSync,\n\tgetIconAccessibleName,\n\tregisterIcon,\n\t_getRegisteredNames,\n};\n\nexport type {\n\tIconData,\n\tCollectionData,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Illustrations.js","sourceRoot":"","sources":["../../src/asset-registries/Illustrations.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAiBxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;AACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAsC,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAC/G,MAAM,oBAAoB,GAAG,iBAAiB,CAAyC,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAE9H,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,IAAsB,EAAE,EAAE;IACrE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,gBAAwB,EAAE,MAA0B,EAAE,EAAE;IAC3F,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;IAChE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;QAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YACnC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC/H,MAAM,IAAI,KAAK,CAAC,gCAAgC,gBAAgB,iGAAiG,gBAAgB,uLAAuL,CAAC,CAAC;SAC1W;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAE,CAAC;QACzD,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;KAChF;IACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,gBAAwB,EAAE,EAAE;IAC5D,IAAI,GAAG,GAAG,OAAO,CAAC;IAElB,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACvC,GAAG,GAAG,KAAK,CAAC;QACZ,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACxD;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;IAC9D,IAAI,GAAG,GAAG,OAAO,CAAC;IAElB,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACvC,GAAG,GAAG,KAAK,CAAC;QACZ,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACxD;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,GACnB,CAAC"}
1
+ {"version":3,"file":"Illustrations.js","sourceRoot":"","sources":["../../src/asset-registries/Illustrations.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAiBxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;AACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAsC,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAC/G,MAAM,oBAAoB,GAAG,iBAAiB,CAAyC,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAE9H,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,IAAsB,EAAE,EAAE;IACrE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,gBAAwB,EAAE,MAA0B,EAAE,EAAE;IAC3F,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;IAChE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;QAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YACnC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC/H,MAAM,IAAI,KAAK,CAAC,gCAAgC,gBAAgB,iGAAiG,gBAAgB,uLAAuL,CAAC,CAAC;SAC1W;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAE,CAAC;QACzD,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;KAChF;IACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,gBAAwB,EAAE,EAAE;IAC5D,IAAI,GAAG,GAAG,OAAO,CAAC;IAElB,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACvC,GAAG,GAAG,KAAK,CAAC;QACZ,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACxD;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;IAC9D,IAAI,GAAG,GAAG,OAAO,CAAC;IAElB,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACvC,GAAG,GAAG,KAAK,CAAC;QACZ,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACxD;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,GACnB,CAAC","sourcesContent":["import getSharedResource from \"../getSharedResource.js\";\nimport type { I18nText } from \"../i18nBundle.js\";\n\ntype IllustrationLoader = (illustrationName: string) => Promise<IllustrationData>;\n\ntype IllustrationProperties = {\n\tdialogSvg: string,\n\tsceneSvg: string,\n\tspotSvg: string,\n\ttitle: I18nText,\n\tsubtitle: I18nText,\n};\n\ntype IllustrationData = IllustrationProperties & {\n\tset: string,\n};\n\nconst loaders = new Map<string, IllustrationLoader>();\nconst registry = getSharedResource<Map<string, IllustrationProperties>>(\"SVGIllustration.registry\", new Map());\nconst illustrationPromises = getSharedResource<Map<string, Promise<IllustrationData>>>(\"SVGIllustration.promises\", new Map());\n\nconst registerIllustration = (name: string, data: IllustrationData) => {\n\tregistry.set(`${data.set}/${name}`, {\n\t\tdialogSvg: data.dialogSvg,\n\t\tsceneSvg: data.sceneSvg,\n\t\tspotSvg: data.spotSvg,\n\t\ttitle: data.title,\n\t\tsubtitle: data.subtitle,\n\t});\n};\n\nconst registerIllustrationLoader = (illustrationName: string, loader: IllustrationLoader) => {\n\tloaders.set(illustrationName, loader);\n};\n\nconst _loadIllustrationOnce = async (illustrationName: string) => {\n\tif (!illustrationPromises.has(illustrationName)) {\n\t\tif (!loaders.has(illustrationName)) {\n\t\t\tconst illustrationPath = illustrationName.startsWith(\"Tnt\") ? `tnt/${illustrationName.replace(/^Tnt/, \"\")}` : illustrationName;\n\t\t\tthrow new Error(`No loader registered for the ${illustrationName} illustration. Probably you forgot to import the \"@ui5/webcomponents-fiori/dist/illustrations/${illustrationPath}.js\" module. Or you can import the \"@ui5/webcomponents-fiori/dist/illustrations/AllIllustrations.js\" module that will make all illustrations available, but fetch only the ones used.`);\n\t\t}\n\n\t\tconst loadIllustrations = loaders.get(illustrationName)!;\n\t\tillustrationPromises.set(illustrationName, loadIllustrations(illustrationName));\n\t}\n\treturn illustrationPromises.get(illustrationName);\n};\n\nconst getIllustrationDataSync = (illustrationName: string) => {\n\tlet set = \"fiori\";\n\n\tif (illustrationName.startsWith(\"Tnt\")) {\n\t\tset = \"tnt\";\n\t\tillustrationName = illustrationName.replace(/^Tnt/, \"\");\n\t}\n\treturn registry.get(`${set}/${illustrationName}`);\n};\n\nconst getIllustrationData = async (illustrationName: string) => {\n\tlet set = \"fiori\";\n\n\tawait _loadIllustrationOnce(illustrationName);\n\tif (illustrationName.startsWith(\"Tnt\")) {\n\t\tset = \"tnt\";\n\t\tillustrationName = illustrationName.replace(/^Tnt/, \"\");\n\t}\n\treturn registry.get(`${set}/${illustrationName}`);\n};\n\nexport {\n\tgetIllustrationDataSync,\n\tregisterIllustration,\n\tregisterIllustrationLoader,\n\tgetIllustrationData,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LocaleData.js","sourceRoot":"","sources":["../../src/asset-registries/LocaleData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocaleData.js","sourceRoot":"","sources":["../../src/asset-registries/LocaleData.ts"],"names":[],"mappings":"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","sourcesContent":["import { attachLanguageChange } from \"../locale/languageChange.js\";\nimport getLocale from \"../locale/getLocale.js\";\nimport { DEFAULT_LOCALE, SUPPORTED_LOCALES } from \"../generated/AssetParameters.js\";\nimport { getFeature } from \"../FeaturesRegistry.js\";\nimport type OpenUI5Support from \"../features/OpenUI5Support.js\";\n\ntype LocaleDataLoader = (locale: string) => Promise<CLDRData>;\ntype CLDRData = Record<string, object | boolean | string>;\n\nconst localeDataMap = new Map<string, CLDRData>();\nconst loaders = new Map<string, LocaleDataLoader>();\nconst cldrPromises = new Map<string, Promise<CLDRData>>();\nconst reportedErrors = new Set<string>();\nlet warningShown = false;\n\nconst M_ISO639_OLD_TO_NEW = {\n\t\"iw\": \"he\",\n\t\"ji\": \"yi\",\n\t\"in\": \"id\",\n};\n\nconst _showAssetsWarningOnce = (localeId: string) => {\n\tif (warningShown) {\n\t\treturn;\n\t}\n\n\tconsole.warn(`[LocaleData] Supported locale \"${localeId}\" not configured, import the \"Assets.js\" module from the webcomponents package you are using.`); /* eslint-disable-line */\n\n\twarningShown = true;\n};\n\nconst calcLocale = (language: string, region: string, script: string) => {\n\t// normalize language and handle special cases\n\tlanguage = (language && M_ISO639_OLD_TO_NEW[language as keyof typeof M_ISO639_OLD_TO_NEW]) || language;\n\t// Special case 1: in an SAP context, the inclusive language code \"no\" always means Norwegian Bokmal (\"nb\")\n\tif (language === \"no\") {\n\t\tlanguage = \"nb\";\n\t}\n\t// Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)\n\tif (language === \"zh\" && !region) {\n\t\tif (script === \"Hans\") {\n\t\t\tregion = \"CN\";\n\t\t} else if (script === \"Hant\") {\n\t\t\tregion = \"TW\";\n\t\t}\n\t}\n\n\t// Special case 3: for Serbian, there are cyrillic and latin scripts, \"sh\" and \"sr-latn\" map to \"latin\", \"sr\" maps to cyrillic.\n\tif (language === \"sh\" || (language === \"sr\" && script === \"Latn\")) {\n\t\tlanguage = \"sr\";\n\t\tregion = \"Latn\";\n\t}\n\n\t// try language + region\n\tlet localeId = `${language}_${region}`;\n\tif (SUPPORTED_LOCALES.includes(localeId)) {\n\t\tif (loaders.has(localeId)) {\n\t\t\t// supported and has loader\n\t\t\treturn localeId;\n\t\t}\n\n\t\t// supported, no loader - fallback to default and warn\n\t\t_showAssetsWarningOnce(localeId);\n\t\treturn DEFAULT_LOCALE;\n\t}\n\n\t// not supported, try language only\n\tlocaleId = language;\n\tif (SUPPORTED_LOCALES.includes(localeId)) {\n\t\tif (loaders.has(localeId)) {\n\t\t\t// supported and has loader\n\t\t\treturn localeId;\n\t\t}\n\n\t\t// supported, no loader - fallback to default and warn\n\t\t_showAssetsWarningOnce(localeId);\n\t\treturn DEFAULT_LOCALE;\n\t}\n\n\t// not supported - fallback to default locale\n\treturn DEFAULT_LOCALE;\n};\n\n// internal set data\nconst setLocaleData = (localeId: string, content: CLDRData) => {\n\tlocaleDataMap.set(localeId, content);\n};\n\n// external getSync\nconst getLocaleData = (localeId: string) => {\n\t// if there is no loader, the default fallback was fetched and a warning was given - use default locale instead\n\tif (!loaders.has(localeId)) {\n\t\tlocaleId = DEFAULT_LOCALE;\n\t}\n\n\tconst content = localeDataMap.get(localeId);\n\tif (!content) {\n\t\tthrow new Error(`CLDR data for locale ${localeId} is not loaded!`);\n\t}\n\n\treturn content;\n};\n\n// load bundle over the network once\nconst _loadCldrOnce = (localeId: string) => {\n\tif (!cldrPromises.get(localeId)) {\n\t\tconst loadCldr = loaders.get(localeId);\n\n\t\tif (!loadCldr) {\n\t\t\tthrow new Error(`CLDR data for locale ${localeId} is not loaded!`);\n\t\t}\n\n\t\tcldrPromises.set(localeId, loadCldr(localeId));\n\t}\n\n\treturn cldrPromises.get(localeId);\n};\n\n// external getAsync\nconst fetchCldr = async (language: string, region: string, script: string) => {\n\tconst localeId = calcLocale(language, region, script);\n\n\t// reuse OpenUI5 CLDR if present\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\tif (openUI5Support) {\n\t\tconst cldrContent = openUI5Support.getLocaleDataObject();\n\t\tif (cldrContent) {\n\t\t\t// only if openui5 actually returned valid content\n\t\t\tsetLocaleData(localeId, cldrContent);\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// fetch it\n\ttry {\n\t\tconst cldrContent = await _loadCldrOnce(localeId);\n\t\tsetLocaleData(localeId, cldrContent as CLDRData);\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tif (!reportedErrors.has(e.message)) {\n\t\t\treportedErrors.add(e.message);\n\t\t\tconsole.error(e.message); /* eslint-disable-line */\n\t\t}\n\t}\n};\n\nconst registerLocaleDataLoader = (localeId: string, loader: LocaleDataLoader) => {\n\tloaders.set(localeId, loader);\n};\n\n// register default loader for \"en\" from ui5 CDN (dev workflow without assets)\nregisterLocaleDataLoader(\"en\", async () => {\n\tconst cldrContent = await fetch(`https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json`);\n\treturn cldrContent.json() as Promise<CLDRData>;\n});\n\n// When the language changes dynamically (the user calls setLanguage),\n// re-fetch the required CDRD data.\nattachLanguageChange(() => {\n\tconst locale = getLocale();\n\treturn fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());\n});\n\nexport {\n\tregisterLocaleDataLoader,\n\tfetchCldr,\n\tgetLocaleData,\n};\n\nexport type {\n\tCLDRData,\n};\n"]}
@@ -1,4 +1,5 @@
1
1
  import { DEFAULT_THEME } from "../generated/AssetParameters.js";
2
+ import { fireThemeRegistered } from "../theming/ThemeRegistered.js";
2
3
  const themeStyles = new Map();
3
4
  const loaders = new Map();
4
5
  const registeredPackages = new Set();
@@ -7,6 +8,7 @@ const registerThemePropertiesLoader = (packageName, themeName, loader) => {
7
8
  loaders.set(`${packageName}/${themeName}`, loader);
8
9
  registeredPackages.add(packageName);
9
10
  registeredThemes.add(themeName);
11
+ fireThemeRegistered(themeName);
10
12
  };
11
13
  const getThemeProperties = async (packageName, themeName) => {
12
14
  const style = themeStyles.get(`${packageName}_${themeName}`);
@@ -1 +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"}
1
+ {"version":3,"file":"Themes.js","sourceRoot":"","sources":["../../src/asset-registries/Themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAKpE,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;IAChC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAChC,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","sourcesContent":["import { DEFAULT_THEME } from \"../generated/AssetParameters.js\";\nimport { StyleData, StyleDataCSP } from \"../types.js\";\nimport { fireThemeRegistered } from \"../theming/ThemeRegistered.js\";\n\ntype ThemeData = {_: StyleDataCSP } | StyleDataCSP | string;\ntype ThemeLoader = (themeName: string) => Promise<ThemeData>;\n\nconst themeStyles = new Map<string, StyleData>();\nconst loaders = new Map<string, ThemeLoader>();\nconst registeredPackages = new Set<string>();\nconst registeredThemes = new Set<string>();\n\nconst registerThemePropertiesLoader = (packageName: string, themeName: string, loader: ThemeLoader) => {\n\tloaders.set(`${packageName}/${themeName}`, loader);\n\tregisteredPackages.add(packageName);\n\tregisteredThemes.add(themeName);\n\tfireThemeRegistered(themeName);\n};\n\nconst getThemeProperties = async (packageName: string, themeName: string) => {\n\tconst style = themeStyles.get(`${packageName}_${themeName}`);\n\tif (style !== undefined) { // it's valid for style to be an empty string\n\t\treturn style;\n\t}\n\n\tif (!registeredThemes.has(themeName)) {\n\t\tconst regThemesStr = [...registeredThemes.values()].join(\", \");\n\t\tconsole.warn(`You have requested a non-registered theme ${themeName} - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */\n\t\treturn _getThemeProperties(packageName, DEFAULT_THEME);\n\t}\n\n\treturn _getThemeProperties(packageName, themeName);\n};\n\nconst _getThemeProperties = async (packageName: string, themeName: string) => {\n\tconst loader = loaders.get(`${packageName}/${themeName}`);\n\tif (!loader) {\n\t\t// no themes for package\n\t\tconsole.error(`Theme [${themeName}] not registered for package [${packageName}]`); /* eslint-disable-line */\n\t\treturn;\n\t}\n\tlet data;\n\ttry {\n\t\tdata = await loader(themeName);\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tconsole.error(packageName, e.message); /* eslint-disable-line */\n\t\treturn;\n\t}\n\tconst themeProps = (data as {_: StyleDataCSP})._ || data; // Refactor: remove _ everywhere\n\n\tthemeStyles.set(`${packageName}_${themeName}`, themeProps);\n\treturn themeProps;\n};\n\nconst getRegisteredPackages = () => {\n\treturn registeredPackages;\n};\n\nconst isThemeRegistered = (theme: string) => {\n\treturn registeredThemes.has(theme);\n};\n\nexport {\n\tregisterThemePropertiesLoader,\n\tgetThemeProperties,\n\tgetRegisteredPackages,\n\tisThemeRegistered,\n};\n\nexport type {\n\tThemeData,\n\tThemeLoader,\n};\n"]}
@@ -48,6 +48,9 @@ const _showAssetsWarningOnce = (packageName) => {
48
48
  warningShown.add(packageName);
49
49
  }
50
50
  };
51
+ const useFallbackBundle = (packageName, localeId) => {
52
+ return localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId);
53
+ };
51
54
  /**
52
55
  * This method preforms the asynchronous task of fetching the actual text resources. It will fetch
53
56
  * each text resource over the network once (even for multiple calls to the same method).
@@ -60,9 +63,12 @@ const _showAssetsWarningOnce = (packageName) => {
60
63
  const fetchI18nBundle = async (packageName) => {
61
64
  const language = getLocale().getLanguage();
62
65
  const region = getLocale().getRegion();
63
- let localeId = normalizeLocale(language + (region ? `-${region}` : ``));
64
- while (localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId)) {
65
- localeId = nextFallbackLocale(localeId);
66
+ let localeId = language + (region ? `-${region}` : ``);
67
+ if (useFallbackBundle(packageName, localeId)) {
68
+ localeId = normalizeLocale(localeId);
69
+ while (useFallbackBundle(packageName, localeId)) {
70
+ localeId = nextFallbackLocale(localeId);
71
+ }
66
72
  }
67
73
  // use default language unless configured to always fetch it from the network
68
74
  const fetchDefaultLanguage = getFetchDefaultLanguage();
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/asset-registries/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/asset-registries/i18n.ts"],"names":[],"mappings":"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","sourcesContent":["import getLocale from \"../locale/getLocale.js\";\nimport { attachLanguageChange } from \"../locale/languageChange.js\";\nimport normalizeLocale from \"../locale/normalizeLocale.js\";\nimport nextFallbackLocale from \"../locale/nextFallbackLocale.js\";\nimport { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\nimport { getFetchDefaultLanguage } from \"../config/Language.js\";\n\ntype I18nLoader = (localeId: string) => Promise<I18nData>;\ntype I18nData = Record<string, string>;\n\n// contains package names for which the warning has been shown\nconst warningShown = new Set();\nconst reportedErrors = new Set();\n\nconst bundleData = new Map<string, I18nData | null>();\nconst bundlePromises = new Map<string, Promise<I18nData>>();\nconst loaders = new Map<string, I18nLoader>();\n\n/**\n * Registers i18n loader function for given package and locale.\n *\n * @public\n * @param {string} packageName for which package this loader can fetch data\n * @param {string} localeId locale that this loader can handle\n * @param {function} loader async function that will be passed a localeId and should return a JSON object\n */\nconst registerI18nLoader = (packageName: string, localeId: string, loader: I18nLoader) => {\n\t// register loader by key\n\tconst bundleKey = `${packageName}/${localeId}`;\n\tloaders.set(bundleKey, loader);\n};\n\nconst _setI18nBundleData = (packageName: string, data: I18nData | null) => {\n\tbundleData.set(packageName, data);\n};\n\nconst getI18nBundleData = (packageName: string) => {\n\treturn bundleData.get(packageName);\n};\n\nconst _hasLoader = (packageName: string, localeId: string) => {\n\tconst bundleKey = `${packageName}/${localeId}`;\n\treturn loaders.has(bundleKey);\n};\n\n// load bundle over the network once\nconst _loadMessageBundleOnce = (packageName: string, localeId: string) => {\n\tconst bundleKey = `${packageName}/${localeId}`;\n\tconst loadMessageBundle = loaders.get(bundleKey);\n\n\tif (loadMessageBundle && !bundlePromises.get(bundleKey)) {\n\t\tbundlePromises.set(bundleKey, loadMessageBundle(localeId));\n\t}\n\n\treturn bundlePromises.get(bundleKey)!; // Investigate if i18n loader exists and this won't return undefined.\n};\n\nconst _showAssetsWarningOnce = (packageName: string) => {\n\tif (!warningShown.has(packageName)) {\n\t\tconsole.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */\n\t\t\t` 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 */\n\t\twarningShown.add(packageName);\n\t}\n};\n\nconst useFallbackBundle = (packageName: string, localeId: string) => {\n\treturn localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId);\n};\n\n/**\n * This method preforms the asynchronous task of fetching the actual text resources. It will fetch\n * each text resource over the network once (even for multiple calls to the same method).\n * It should be fully finished before the i18nBundle class is created in the webcomponents.\n * This method uses the bundle URLs that are populated by the <code>registerI18nBundle</code> method.\n * To simplify the usage, the synchronization of both methods happens internally for the same <code>bundleId</code>\n * @param {packageName} packageName the NPM package name\n * @public\n */\nconst fetchI18nBundle = async (packageName: string) => {\n\tconst language = getLocale().getLanguage();\n\tconst region = getLocale().getRegion();\n\tlet localeId = language + (region ? `-${region}` : ``);\n\n\tif (useFallbackBundle(packageName, localeId)) {\n\t\tlocaleId = normalizeLocale(localeId);\n\n\t\twhile (useFallbackBundle(packageName, localeId)) {\n\t\t\tlocaleId = nextFallbackLocale(localeId);\n\t\t}\n\t}\n\n\t// use default language unless configured to always fetch it from the network\n\tconst fetchDefaultLanguage = getFetchDefaultLanguage();\n\tif (localeId === DEFAULT_LANGUAGE && !fetchDefaultLanguage) {\n\t\t_setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)\n\t\treturn;\n\t}\n\n\tif (!_hasLoader(packageName, localeId)) {\n\t\t_showAssetsWarningOnce(packageName);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst data = await _loadMessageBundleOnce(packageName, localeId);\n\t\t_setI18nBundleData(packageName, data);\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tif (!reportedErrors.has(e.message)) {\n\t\t\treportedErrors.add(e.message);\n\t\t\tconsole.error(e.message); /* eslint-disable-line */\n\t\t}\n\t}\n};\n\n// When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles\nattachLanguageChange((lang: string /* eslint-disable-line */) => {\n\tconst allPackages = [...bundleData.keys()];\n\treturn Promise.all(allPackages.map(fetchI18nBundle));\n});\n\nexport {\n\tregisterI18nLoader,\n\tfetchI18nBundle,\n\tgetI18nBundleData,\n};\n"]}
@@ -0,0 +1 @@
1
+ .content{color:var(--customCol);background-color:var(--customBg)}