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

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 (1211) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +3000 -0
  3. package/LICENSE.txt +201 -0
  4. package/README.md +51 -11
  5. package/cypress.config.js +3 -0
  6. package/dist/.tsbuildinfobuild +1 -0
  7. package/dist/AssetRegistry.d.ts +5 -0
  8. package/dist/AssetRegistry.js +6 -10
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Assets-fetch.d.ts +1 -0
  11. package/dist/Assets-fetch.js +3 -0
  12. package/dist/Assets-fetch.js.map +1 -0
  13. package/dist/Assets-node.d.ts +12 -0
  14. package/dist/Assets-node.js +14 -0
  15. package/dist/Assets-node.js.map +1 -0
  16. package/dist/Assets.d.ts +1 -0
  17. package/dist/Assets.js +3 -0
  18. package/dist/Assets.js.map +1 -0
  19. package/dist/Boot.d.ts +10 -0
  20. package/dist/Boot.js +77 -0
  21. package/dist/Boot.js.map +1 -0
  22. package/dist/CustomElementsRegistry.d.ts +6 -0
  23. package/dist/CustomElementsRegistry.js +72 -30
  24. package/dist/CustomElementsRegistry.js.map +1 -0
  25. package/dist/CustomElementsScope.d.ts +7 -0
  26. package/dist/CustomElementsScope.js +11 -0
  27. package/dist/CustomElementsScope.js.map +1 -0
  28. package/dist/CustomElementsScopeUtils.d.ts +64 -0
  29. package/dist/CustomElementsScopeUtils.js +109 -0
  30. package/dist/CustomElementsScopeUtils.js.map +1 -0
  31. package/dist/DOMObserver.d.ts +11 -0
  32. package/dist/DOMObserver.js +23 -0
  33. package/dist/DOMObserver.js.map +1 -0
  34. package/dist/Device.d.ts +27 -0
  35. package/dist/Device.js +163 -815
  36. package/dist/Device.js.map +1 -0
  37. package/dist/DragAndDrop.d.ts +2 -0
  38. package/dist/DragAndDrop.js +5 -0
  39. package/dist/DragAndDrop.js.map +1 -0
  40. package/dist/EventProvider.d.ts +25 -0
  41. package/dist/EventProvider.js +67 -78
  42. package/dist/EventProvider.js.map +1 -0
  43. package/dist/FeaturesRegistry.d.ts +3 -0
  44. package/dist/FeaturesRegistry.js +5 -7
  45. package/dist/FeaturesRegistry.js.map +1 -0
  46. package/dist/FontFace.d.ts +2 -0
  47. package/dist/FontFace.js +18 -69
  48. package/dist/FontFace.js.map +1 -0
  49. package/dist/IgnoreCustomElements.d.ts +25 -0
  50. package/dist/IgnoreCustomElements.js +37 -0
  51. package/dist/IgnoreCustomElements.js.map +1 -0
  52. package/dist/InitialConfiguration.d.ts +34 -0
  53. package/dist/InitialConfiguration.js +159 -104
  54. package/dist/InitialConfiguration.js.map +1 -0
  55. package/dist/Keys.d.ts +67 -0
  56. package/dist/Keys.js +183 -164
  57. package/dist/Keys.js.map +1 -0
  58. package/dist/Location.d.ts +11 -0
  59. package/dist/Location.js +49 -0
  60. package/dist/Location.js.map +1 -0
  61. package/dist/ManagedStyles.d.ts +7 -0
  62. package/dist/ManagedStyles.js +69 -0
  63. package/dist/ManagedStyles.js.map +1 -0
  64. package/dist/MediaRange.d.ts +31 -0
  65. package/dist/MediaRange.js +88 -0
  66. package/dist/MediaRange.js.map +1 -0
  67. package/dist/PropertiesFileFormat.d.ts +8 -0
  68. package/dist/PropertiesFileFormat.js +85 -0
  69. package/dist/PropertiesFileFormat.js.map +1 -0
  70. package/dist/Render.d.ts +47 -0
  71. package/dist/Render.js +143 -0
  72. package/dist/Render.js.map +1 -0
  73. package/dist/RenderQueue.d.ts +19 -0
  74. package/dist/RenderQueue.js +53 -39
  75. package/dist/RenderQueue.js.map +1 -0
  76. package/dist/Runtimes.d.ts +27 -0
  77. package/dist/Runtimes.js +97 -0
  78. package/dist/Runtimes.js.map +1 -0
  79. package/dist/ScrollbarStyles.d.ts +2 -0
  80. package/dist/ScrollbarStyles.js +9 -0
  81. package/dist/ScrollbarStyles.js.map +1 -0
  82. package/dist/SystemCSSVars.d.ts +2 -0
  83. package/dist/SystemCSSVars.js +6 -28
  84. package/dist/SystemCSSVars.js.map +1 -0
  85. package/dist/Theming.d.ts +3 -0
  86. package/dist/Theming.js +3 -2
  87. package/dist/Theming.js.map +1 -0
  88. package/dist/UI5Element.d.ts +434 -0
  89. package/dist/UI5Element.js +1130 -975
  90. package/dist/UI5Element.js.map +1 -0
  91. package/dist/UI5ElementMetadata.d.ts +159 -0
  92. package/dist/UI5ElementMetadata.js +237 -178
  93. package/dist/UI5ElementMetadata.js.map +1 -0
  94. package/dist/animations/AnimationQueue.d.ts +8 -0
  95. package/dist/animations/AnimationQueue.js +31 -38
  96. package/dist/animations/AnimationQueue.js.map +1 -0
  97. package/dist/animations/animate.d.ts +14 -0
  98. package/dist/animations/animate.js +46 -51
  99. package/dist/animations/animate.js.map +1 -0
  100. package/dist/animations/scroll.d.ts +5 -0
  101. package/dist/animations/scroll.js +18 -27
  102. package/dist/animations/scroll.js.map +1 -0
  103. package/dist/animations/slideDown.d.ts +5 -0
  104. package/dist/animations/slideDown.js +53 -78
  105. package/dist/animations/slideDown.js.map +1 -0
  106. package/dist/animations/slideUp.d.ts +5 -0
  107. package/dist/animations/slideUp.js +49 -70
  108. package/dist/animations/slideUp.js.map +1 -0
  109. package/dist/asset-registries/Icons.d.ts +73 -0
  110. package/dist/asset-registries/Icons.js +179 -31
  111. package/dist/asset-registries/Icons.js.map +1 -0
  112. package/dist/asset-registries/Illustrations.d.ts +144 -0
  113. package/dist/asset-registries/Illustrations.js +158 -0
  114. package/dist/asset-registries/Illustrations.js.map +1 -0
  115. package/dist/asset-registries/LocaleData.d.ts +7 -0
  116. package/dist/asset-registries/LocaleData.js +126 -114
  117. package/dist/asset-registries/LocaleData.js.map +1 -0
  118. package/dist/asset-registries/Themes.d.ts +9 -0
  119. package/dist/asset-registries/Themes.js +57 -77
  120. package/dist/asset-registries/Themes.js.map +1 -0
  121. package/dist/asset-registries/i18n.d.ts +23 -0
  122. package/dist/asset-registries/i18n.js +80 -84
  123. package/dist/asset-registries/i18n.js.map +1 -0
  124. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  125. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  126. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  127. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  128. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  129. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  130. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  131. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  132. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  133. package/dist/config/AnimationMode.d.ts +14 -0
  134. package/dist/config/AnimationMode.js +28 -10
  135. package/dist/config/AnimationMode.js.map +1 -0
  136. package/dist/config/CalendarType.d.ts +15 -0
  137. package/dist/config/CalendarType.js +36 -14
  138. package/dist/config/CalendarType.js.map +1 -0
  139. package/dist/config/ConfigurationReset.d.ts +4 -0
  140. package/dist/config/ConfigurationReset.js +11 -0
  141. package/dist/config/ConfigurationReset.js.map +1 -0
  142. package/dist/config/Fonts.d.ts +16 -0
  143. package/dist/config/Fonts.js +30 -0
  144. package/dist/config/Fonts.js.map +1 -0
  145. package/dist/config/FormatSettings.d.ts +15 -0
  146. package/dist/config/FormatSettings.js +19 -9
  147. package/dist/config/FormatSettings.js.map +1 -0
  148. package/dist/config/Icons.d.ts +40 -0
  149. package/dist/config/Icons.js +44 -0
  150. package/dist/config/Icons.js.map +1 -0
  151. package/dist/config/Language.d.ts +41 -0
  152. package/dist/config/Language.js +75 -29
  153. package/dist/config/Language.js.map +1 -0
  154. package/dist/config/NoConflict.d.ts +20 -0
  155. package/dist/config/NoConflict.js +45 -41
  156. package/dist/config/NoConflict.js.map +1 -0
  157. package/dist/config/Theme.d.ts +39 -0
  158. package/dist/config/Theme.js +74 -22
  159. package/dist/config/Theme.js.map +1 -0
  160. package/dist/config/ThemeRoot.d.ts +29 -0
  161. package/dist/config/ThemeRoot.js +63 -0
  162. package/dist/config/ThemeRoot.js.map +1 -0
  163. package/dist/config/Timezone.d.ts +17 -0
  164. package/dist/config/Timezone.js +34 -0
  165. package/dist/config/Timezone.js.map +1 -0
  166. package/dist/config/Tooltips.d.ts +19 -0
  167. package/dist/config/Tooltips.js +29 -0
  168. package/dist/config/Tooltips.js.map +1 -0
  169. package/dist/connectToComponent.d.ts +9 -0
  170. package/dist/connectToComponent.js +59 -0
  171. package/dist/connectToComponent.js.map +1 -0
  172. package/dist/converters/DOMReference.d.ts +5 -0
  173. package/dist/converters/DOMReference.js +13 -0
  174. package/dist/converters/DOMReference.js.map +1 -0
  175. package/dist/css/BusyIndicator.css +80 -0
  176. package/dist/css/MultipleDragGhost.css +17 -0
  177. package/dist/css/OpenUI5PopupStyles.css +10 -0
  178. package/dist/css/ScrollbarStyles.css +3 -0
  179. package/dist/css/SystemCSSVars.css +9 -0
  180. package/dist/custom-elements-internal.json +2869 -0
  181. package/dist/custom-elements.json +2566 -0
  182. package/dist/decorators/bound.d.ts +1 -0
  183. package/dist/decorators/bound.js +34 -0
  184. package/dist/decorators/bound.js.map +1 -0
  185. package/dist/decorators/customElement.d.ts +63 -0
  186. package/dist/decorators/customElement.js +45 -0
  187. package/dist/decorators/customElement.js.map +1 -0
  188. package/dist/decorators/event-strict.d.ts +15 -0
  189. package/dist/decorators/event-strict.js +26 -0
  190. package/dist/decorators/event-strict.js.map +1 -0
  191. package/dist/decorators/event.d.ts +16 -0
  192. package/dist/decorators/event.js +27 -0
  193. package/dist/decorators/event.js.map +1 -0
  194. package/dist/decorators/i18n.d.ts +17 -0
  195. package/dist/decorators/i18n.js +32 -0
  196. package/dist/decorators/i18n.js.map +1 -0
  197. package/dist/decorators/property.d.ts +9 -0
  198. package/dist/decorators/property.js +24 -0
  199. package/dist/decorators/property.js.map +1 -0
  200. package/dist/decorators/query.d.ts +25 -0
  201. package/dist/decorators/query.js +32 -0
  202. package/dist/decorators/query.js.map +1 -0
  203. package/dist/decorators/queryAll.d.ts +27 -0
  204. package/dist/decorators/queryAll.js +34 -0
  205. package/dist/decorators/queryAll.js.map +1 -0
  206. package/dist/decorators/slot.d.ts +9 -0
  207. package/dist/decorators/slot.js +37 -0
  208. package/dist/decorators/slot.js.map +1 -0
  209. package/dist/decorators.d.ts +8 -0
  210. package/dist/decorators.js +9 -0
  211. package/dist/decorators.js.map +1 -0
  212. package/dist/delegate/ItemNavigation.d.ts +114 -0
  213. package/dist/delegate/ItemNavigation.js +311 -278
  214. package/dist/delegate/ItemNavigation.js.map +1 -0
  215. package/dist/delegate/ResizeHandler.d.ts +23 -0
  216. package/dist/delegate/ResizeHandler.js +82 -62
  217. package/dist/delegate/ResizeHandler.js.map +1 -0
  218. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  219. package/dist/delegate/ScrollEnablement.js +159 -153
  220. package/dist/delegate/ScrollEnablement.js.map +1 -0
  221. package/dist/features/F6Navigation.d.ts +20 -0
  222. package/dist/features/F6Navigation.js +194 -0
  223. package/dist/features/F6Navigation.js.map +1 -0
  224. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  225. package/dist/features/InputElementsFormSupport.js +39 -0
  226. package/dist/features/InputElementsFormSupport.js.map +1 -0
  227. package/dist/features/LegacyDateFormats.d.ts +18 -0
  228. package/dist/features/LegacyDateFormats.js +20 -0
  229. package/dist/features/LegacyDateFormats.js.map +1 -0
  230. package/dist/features/OpenUI5Element.d.ts +9 -0
  231. package/dist/features/OpenUI5Element.js +5 -0
  232. package/dist/features/OpenUI5Element.js.map +1 -0
  233. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  234. package/dist/features/OpenUI5Enablement.js +96 -0
  235. package/dist/features/OpenUI5Enablement.js.map +1 -0
  236. package/dist/features/OpenUI5Support.d.ts +39 -0
  237. package/dist/features/OpenUI5Support.js +153 -87
  238. package/dist/features/OpenUI5Support.js.map +1 -0
  239. package/dist/features/insertOpenUI5PopupStyles.d.ts +2 -0
  240. package/dist/features/insertOpenUI5PopupStyles.js +9 -0
  241. package/dist/features/insertOpenUI5PopupStyles.js.map +1 -0
  242. package/dist/features/patchPatcher.d.ts +12 -0
  243. package/dist/features/patchPatcher.js +21 -0
  244. package/dist/features/patchPatcher.js.map +1 -0
  245. package/dist/features/patchPopup.d.ts +33 -0
  246. package/dist/features/patchPopup.js +163 -0
  247. package/dist/features/patchPopup.js.map +1 -0
  248. package/dist/generated/AssetParameters.d.ts +6 -0
  249. package/dist/generated/AssetParameters.js +4 -9
  250. package/dist/generated/AssetParameters.js.map +1 -0
  251. package/dist/generated/VersionInfo.d.ts +10 -0
  252. package/dist/generated/VersionInfo.js +11 -0
  253. package/dist/generated/VersionInfo.js.map +1 -0
  254. package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
  255. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  256. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  257. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  258. package/dist/generated/css/BusyIndicator.css.d.ts +2 -0
  259. package/dist/generated/css/BusyIndicator.css.js +2 -0
  260. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  261. package/dist/generated/css/FontFace.css.d.ts +2 -0
  262. package/dist/generated/css/FontFace.css.js +37 -0
  263. package/dist/generated/css/FontFace.css.js.map +1 -0
  264. package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
  265. package/dist/generated/css/MultipleDragGhost.css.js +2 -0
  266. package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
  267. package/dist/generated/css/OpenUI5PopupStyles.css.d.ts +2 -0
  268. package/dist/generated/css/OpenUI5PopupStyles.css.js +2 -0
  269. package/dist/generated/css/OpenUI5PopupStyles.css.js.map +1 -0
  270. package/dist/generated/css/ScrollbarStyles.css.d.ts +2 -0
  271. package/dist/generated/css/ScrollbarStyles.css.js +2 -0
  272. package/dist/generated/css/ScrollbarStyles.css.js.map +1 -0
  273. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -0
  274. package/dist/generated/css/SystemCSSVars.css.js +2 -0
  275. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  276. package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
  277. package/dist/generated/i18n/i18n-defaults.js +3 -0
  278. package/dist/generated/i18n/i18n-defaults.js.map +1 -0
  279. package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
  280. package/dist/generated/json-imports/i18n-fetch.js +2 -0
  281. package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
  282. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  283. package/dist/generated/json-imports/i18n-node.js +2 -0
  284. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  285. package/dist/generated/json-imports/i18n.d.ts +1 -0
  286. package/dist/generated/json-imports/i18n.js +2 -0
  287. package/dist/generated/json-imports/i18n.js.map +1 -0
  288. package/dist/getSharedResource.d.ts +11 -0
  289. package/dist/getSharedResource.js +40 -0
  290. package/dist/getSharedResource.js.map +1 -0
  291. package/dist/global.d.ts +40 -0
  292. package/dist/i18nBundle.d.ts +41 -0
  293. package/dist/i18nBundle.js +71 -28
  294. package/dist/i18nBundle.js.map +1 -0
  295. package/dist/index.d.ts +49 -0
  296. package/dist/index.js +91 -0
  297. package/dist/index.js.map +1 -0
  298. package/dist/jsx-dev-runtime.d.ts +4 -0
  299. package/dist/jsx-dev-runtime.js +43 -0
  300. package/dist/jsx-dev-runtime.js.map +1 -0
  301. package/dist/jsx-runtime.d.ts +51 -0
  302. package/dist/jsx-runtime.js +27 -0
  303. package/dist/jsx-runtime.js.map +1 -0
  304. package/dist/jsx-utils.d.ts +3 -0
  305. package/dist/jsx-utils.js +48 -0
  306. package/dist/jsx-utils.js.map +1 -0
  307. package/dist/locale/Locale.d.ts +22 -0
  308. package/dist/locale/Locale.js +75 -87
  309. package/dist/locale/Locale.js.map +1 -0
  310. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  311. package/dist/locale/RTLAwareRegistry.js +6 -11
  312. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  313. package/dist/locale/applyDirection.d.ts +11 -0
  314. package/dist/locale/applyDirection.js +11 -8
  315. package/dist/locale/applyDirection.js.map +1 -0
  316. package/dist/locale/directionChange.d.ts +15 -0
  317. package/dist/locale/directionChange.js +24 -0
  318. package/dist/locale/directionChange.js.map +1 -0
  319. package/dist/locale/getEffectiveDir.d.ts +2 -0
  320. package/dist/locale/getEffectiveDir.js +8 -0
  321. package/dist/locale/getEffectiveDir.js.map +1 -0
  322. package/dist/locale/getLocale.d.ts +7 -0
  323. package/dist/locale/getLocale.js +28 -21
  324. package/dist/locale/getLocale.js.map +1 -0
  325. package/dist/locale/languageChange.d.ts +5 -0
  326. package/dist/locale/languageChange.js +8 -16
  327. package/dist/locale/languageChange.js.map +1 -0
  328. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  329. package/dist/locale/nextFallbackLocale.js +19 -19
  330. package/dist/locale/nextFallbackLocale.js.map +1 -0
  331. package/dist/locale/normalizeLocale.d.ts +7 -0
  332. package/dist/locale/normalizeLocale.js +34 -41
  333. package/dist/locale/normalizeLocale.js.map +1 -0
  334. package/dist/prod/AssetRegistry.js +2 -0
  335. package/dist/prod/AssetRegistry.js.map +7 -0
  336. package/dist/prod/Assets-fetch.js +2 -0
  337. package/dist/prod/Assets-fetch.js.map +7 -0
  338. package/dist/prod/Assets-node.js +2 -0
  339. package/dist/prod/Assets-node.js.map +7 -0
  340. package/dist/prod/Assets.js +2 -0
  341. package/dist/prod/Assets.js.map +7 -0
  342. package/dist/prod/Boot.js +2 -0
  343. package/dist/prod/Boot.js.map +7 -0
  344. package/dist/prod/CustomElementsRegistry.js +10 -0
  345. package/dist/prod/CustomElementsRegistry.js.map +7 -0
  346. package/dist/prod/CustomElementsScope.js +2 -0
  347. package/dist/prod/CustomElementsScope.js.map +7 -0
  348. package/dist/prod/CustomElementsScopeUtils.js +2 -0
  349. package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
  350. package/dist/prod/DOMObserver.js +2 -0
  351. package/dist/prod/DOMObserver.js.map +7 -0
  352. package/dist/prod/Device.js +2 -0
  353. package/dist/prod/Device.js.map +7 -0
  354. package/dist/prod/DragAndDrop.js +2 -0
  355. package/dist/prod/DragAndDrop.js.map +7 -0
  356. package/dist/prod/EventProvider.js +2 -0
  357. package/dist/prod/EventProvider.js.map +7 -0
  358. package/dist/prod/FeaturesRegistry.js +2 -0
  359. package/dist/prod/FeaturesRegistry.js.map +7 -0
  360. package/dist/prod/FontFace.js +2 -0
  361. package/dist/prod/FontFace.js.map +7 -0
  362. package/dist/prod/IgnoreCustomElements.js +2 -0
  363. package/dist/prod/IgnoreCustomElements.js.map +7 -0
  364. package/dist/prod/InitialConfiguration.js +2 -0
  365. package/dist/prod/InitialConfiguration.js.map +7 -0
  366. package/dist/prod/Keys.js +2 -0
  367. package/dist/prod/Keys.js.map +7 -0
  368. package/dist/prod/Location.js +2 -0
  369. package/dist/prod/Location.js.map +7 -0
  370. package/dist/prod/ManagedStyles.js +2 -0
  371. package/dist/prod/ManagedStyles.js.map +7 -0
  372. package/dist/prod/MediaRange.js +2 -0
  373. package/dist/prod/MediaRange.js.map +7 -0
  374. package/dist/prod/PropertiesFileFormat.js +3 -0
  375. package/dist/prod/PropertiesFileFormat.js.map +7 -0
  376. package/dist/prod/Render.js +2 -0
  377. package/dist/prod/Render.js.map +7 -0
  378. package/dist/prod/RenderQueue.js +2 -0
  379. package/dist/prod/RenderQueue.js.map +7 -0
  380. package/dist/prod/Runtimes.js +2 -0
  381. package/dist/prod/Runtimes.js.map +7 -0
  382. package/dist/prod/ScrollbarStyles.js +2 -0
  383. package/dist/prod/ScrollbarStyles.js.map +7 -0
  384. package/dist/prod/SystemCSSVars.js +2 -0
  385. package/dist/prod/SystemCSSVars.js.map +7 -0
  386. package/dist/prod/Theming.js +2 -0
  387. package/dist/prod/Theming.js.map +7 -0
  388. package/dist/prod/UI5Element.js +2 -0
  389. package/dist/prod/UI5Element.js.map +7 -0
  390. package/dist/prod/UI5ElementMetadata.js +2 -0
  391. package/dist/prod/UI5ElementMetadata.js.map +7 -0
  392. package/dist/prod/animations/AnimationQueue.js +2 -0
  393. package/dist/prod/animations/AnimationQueue.js.map +7 -0
  394. package/dist/prod/animations/animate.js +2 -0
  395. package/dist/prod/animations/animate.js.map +7 -0
  396. package/dist/prod/animations/scroll.js +2 -0
  397. package/dist/prod/animations/scroll.js.map +7 -0
  398. package/dist/prod/animations/slideDown.js +2 -0
  399. package/dist/prod/animations/slideDown.js.map +7 -0
  400. package/dist/prod/animations/slideUp.js +2 -0
  401. package/dist/prod/animations/slideUp.js.map +7 -0
  402. package/dist/prod/asset-registries/Icons.js +2 -0
  403. package/dist/prod/asset-registries/Icons.js.map +7 -0
  404. package/dist/prod/asset-registries/Illustrations.js +2 -0
  405. package/dist/prod/asset-registries/Illustrations.js.map +7 -0
  406. package/dist/prod/asset-registries/LocaleData.js +2 -0
  407. package/dist/prod/asset-registries/LocaleData.js.map +7 -0
  408. package/dist/prod/asset-registries/Themes.js +2 -0
  409. package/dist/prod/asset-registries/Themes.js.map +7 -0
  410. package/dist/prod/asset-registries/i18n.js +2 -0
  411. package/dist/prod/asset-registries/i18n.js.map +7 -0
  412. package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
  413. package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
  414. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
  415. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
  416. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
  417. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
  418. package/dist/prod/config/AnimationMode.js +2 -0
  419. package/dist/prod/config/AnimationMode.js.map +7 -0
  420. package/dist/prod/config/CalendarType.js +2 -0
  421. package/dist/prod/config/CalendarType.js.map +7 -0
  422. package/dist/prod/config/ConfigurationReset.js +2 -0
  423. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  424. package/dist/prod/config/Fonts.js +2 -0
  425. package/dist/prod/config/Fonts.js.map +7 -0
  426. package/dist/prod/config/FormatSettings.js +2 -0
  427. package/dist/prod/config/FormatSettings.js.map +7 -0
  428. package/dist/prod/config/Icons.js +2 -0
  429. package/dist/prod/config/Icons.js.map +7 -0
  430. package/dist/prod/config/Language.js +2 -0
  431. package/dist/prod/config/Language.js.map +7 -0
  432. package/dist/prod/config/NoConflict.js +2 -0
  433. package/dist/prod/config/NoConflict.js.map +7 -0
  434. package/dist/prod/config/Theme.js +2 -0
  435. package/dist/prod/config/Theme.js.map +7 -0
  436. package/dist/prod/config/ThemeRoot.js +2 -0
  437. package/dist/prod/config/ThemeRoot.js.map +7 -0
  438. package/dist/prod/config/Timezone.js +2 -0
  439. package/dist/prod/config/Timezone.js.map +7 -0
  440. package/dist/prod/config/Tooltips.js +2 -0
  441. package/dist/prod/config/Tooltips.js.map +7 -0
  442. package/dist/prod/connectToComponent.js +2 -0
  443. package/dist/prod/connectToComponent.js.map +7 -0
  444. package/dist/prod/converters/DOMReference.js +2 -0
  445. package/dist/prod/converters/DOMReference.js.map +7 -0
  446. package/dist/prod/decorators/bound.js +2 -0
  447. package/dist/prod/decorators/bound.js.map +7 -0
  448. package/dist/prod/decorators/customElement.js +2 -0
  449. package/dist/prod/decorators/customElement.js.map +7 -0
  450. package/dist/prod/decorators/event-strict.js +2 -0
  451. package/dist/prod/decorators/event-strict.js.map +7 -0
  452. package/dist/prod/decorators/event.js +2 -0
  453. package/dist/prod/decorators/event.js.map +7 -0
  454. package/dist/prod/decorators/i18n.js +2 -0
  455. package/dist/prod/decorators/i18n.js.map +7 -0
  456. package/dist/prod/decorators/property.js +2 -0
  457. package/dist/prod/decorators/property.js.map +7 -0
  458. package/dist/prod/decorators/query.js +2 -0
  459. package/dist/prod/decorators/query.js.map +7 -0
  460. package/dist/prod/decorators/queryAll.js +2 -0
  461. package/dist/prod/decorators/queryAll.js.map +7 -0
  462. package/dist/prod/decorators/slot.js +2 -0
  463. package/dist/prod/decorators/slot.js.map +7 -0
  464. package/dist/prod/decorators.js +2 -0
  465. package/dist/prod/decorators.js.map +7 -0
  466. package/dist/prod/delegate/ItemNavigation.js +2 -0
  467. package/dist/prod/delegate/ItemNavigation.js.map +7 -0
  468. package/dist/prod/delegate/ResizeHandler.js +2 -0
  469. package/dist/prod/delegate/ResizeHandler.js.map +7 -0
  470. package/dist/prod/delegate/ScrollEnablement.js +2 -0
  471. package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
  472. package/dist/prod/features/F6Navigation.js +2 -0
  473. package/dist/prod/features/F6Navigation.js.map +7 -0
  474. package/dist/prod/features/InputElementsFormSupport.js +2 -0
  475. package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
  476. package/dist/prod/features/LegacyDateFormats.js +2 -0
  477. package/dist/prod/features/LegacyDateFormats.js.map +7 -0
  478. package/dist/prod/features/OpenUI5Element.js +2 -0
  479. package/dist/prod/features/OpenUI5Element.js.map +7 -0
  480. package/dist/prod/features/OpenUI5Enablement.js +21 -0
  481. package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
  482. package/dist/prod/features/OpenUI5Support.js +2 -0
  483. package/dist/prod/features/OpenUI5Support.js.map +7 -0
  484. package/dist/prod/features/insertOpenUI5PopupStyles.js +2 -0
  485. package/dist/prod/features/insertOpenUI5PopupStyles.js.map +7 -0
  486. package/dist/prod/features/patchPatcher.js +2 -0
  487. package/dist/prod/features/patchPatcher.js.map +7 -0
  488. package/dist/prod/features/patchPopup.js +2 -0
  489. package/dist/prod/features/patchPopup.js.map +7 -0
  490. package/dist/prod/generated/AssetParameters.js +2 -0
  491. package/dist/prod/generated/AssetParameters.js.map +7 -0
  492. package/dist/prod/generated/VersionInfo.js +2 -0
  493. package/dist/prod/generated/VersionInfo.js.map +7 -0
  494. package/dist/prod/generated/assets/i18n/messagebundle_en.json +1 -0
  495. package/dist/prod/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  496. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  497. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  498. package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
  499. package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
  500. package/dist/prod/generated/css/FontFace.css.js +37 -0
  501. package/dist/prod/generated/css/FontFace.css.js.map +7 -0
  502. package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
  503. package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
  504. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js +2 -0
  505. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js.map +7 -0
  506. package/dist/prod/generated/css/ScrollbarStyles.css.js +2 -0
  507. package/dist/prod/generated/css/ScrollbarStyles.css.js.map +7 -0
  508. package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
  509. package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
  510. package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
  511. package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
  512. package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
  513. package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
  514. package/dist/prod/generated/json-imports/i18n-node.js +2 -0
  515. package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
  516. package/dist/prod/generated/json-imports/i18n.js +2 -0
  517. package/dist/prod/generated/json-imports/i18n.js.map +7 -0
  518. package/dist/prod/getSharedResource.js +2 -0
  519. package/dist/prod/getSharedResource.js.map +7 -0
  520. package/dist/prod/global.d.js +2 -0
  521. package/dist/prod/global.d.js.map +7 -0
  522. package/dist/prod/i18nBundle.js +2 -0
  523. package/dist/prod/i18nBundle.js.map +7 -0
  524. package/dist/prod/index.js +2 -0
  525. package/dist/prod/index.js.map +7 -0
  526. package/dist/prod/jsx-dev-runtime.js +2 -0
  527. package/dist/prod/jsx-dev-runtime.js.map +7 -0
  528. package/dist/prod/jsx-runtime.js +2 -0
  529. package/dist/prod/jsx-runtime.js.map +7 -0
  530. package/dist/prod/jsx-utils.js +2 -0
  531. package/dist/prod/jsx-utils.js.map +7 -0
  532. package/dist/prod/locale/Locale.js +2 -0
  533. package/dist/prod/locale/Locale.js.map +7 -0
  534. package/dist/prod/locale/RTLAwareRegistry.js +2 -0
  535. package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
  536. package/dist/prod/locale/applyDirection.js +2 -0
  537. package/dist/prod/locale/applyDirection.js.map +7 -0
  538. package/dist/prod/locale/directionChange.js +2 -0
  539. package/dist/prod/locale/directionChange.js.map +7 -0
  540. package/dist/prod/locale/getEffectiveDir.js +2 -0
  541. package/dist/prod/locale/getEffectiveDir.js.map +7 -0
  542. package/dist/prod/locale/getLocale.js +2 -0
  543. package/dist/prod/locale/getLocale.js.map +7 -0
  544. package/dist/prod/locale/languageChange.js +2 -0
  545. package/dist/prod/locale/languageChange.js.map +7 -0
  546. package/dist/prod/locale/nextFallbackLocale.js +2 -0
  547. package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
  548. package/dist/prod/locale/normalizeLocale.js +2 -0
  549. package/dist/prod/locale/normalizeLocale.js.map +7 -0
  550. package/dist/prod/renderer/JsxRenderer.js +2 -0
  551. package/dist/prod/renderer/JsxRenderer.js.map +7 -0
  552. package/dist/prod/renderer/LitRenderer.js +2 -0
  553. package/dist/prod/renderer/LitRenderer.js.map +7 -0
  554. package/dist/prod/renderer/directives/style-map.js +6 -0
  555. package/dist/prod/renderer/directives/style-map.js.map +7 -0
  556. package/dist/prod/renderer/executeTemplate.js +2 -0
  557. package/dist/prod/renderer/executeTemplate.js.map +7 -0
  558. package/dist/prod/sap/base/Log.js +750 -0
  559. package/dist/prod/sap/base/assert.js +34 -0
  560. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
  561. package/dist/prod/sap/base/security/URLListValidator.js +406 -0
  562. package/dist/prod/sap/base/security/encodeCSS.js +40 -0
  563. package/dist/prod/sap/base/security/encodeXML.js +53 -0
  564. package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
  565. package/dist/prod/sap/base/strings/toHex.js +33 -0
  566. package/dist/prod/sap/base/util/now.js +28 -0
  567. package/dist/prod/sap/base/util/uid.js +27 -0
  568. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  569. package/dist/prod/ssr-dom-shim.js +2 -0
  570. package/dist/prod/ssr-dom-shim.js.map +7 -0
  571. package/dist/prod/ssr-dom.js +2 -0
  572. package/dist/prod/ssr-dom.js.map +7 -0
  573. package/dist/prod/theming/CustomStyle.js +2 -0
  574. package/dist/prod/theming/CustomStyle.js.map +7 -0
  575. package/dist/prod/theming/ThemeLoaded.js +2 -0
  576. package/dist/prod/theming/ThemeLoaded.js.map +7 -0
  577. package/dist/prod/theming/ThemeRegistered.js +2 -0
  578. package/dist/prod/theming/ThemeRegistered.js.map +7 -0
  579. package/dist/prod/theming/applyTheme.js +2 -0
  580. package/dist/prod/theming/applyTheme.js.map +7 -0
  581. package/dist/prod/theming/getConstructableStyle.js +2 -0
  582. package/dist/prod/theming/getConstructableStyle.js.map +7 -0
  583. package/dist/prod/theming/getEffectiveStyle.js +2 -0
  584. package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
  585. package/dist/prod/theming/getStylesString.js +2 -0
  586. package/dist/prod/theming/getStylesString.js.map +7 -0
  587. package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
  588. package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
  589. package/dist/prod/thirdparty/_merge.js +2 -0
  590. package/dist/prod/thirdparty/_merge.js.map +7 -0
  591. package/dist/prod/thirdparty/isPlainObject.js +2 -0
  592. package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
  593. package/dist/prod/thirdparty/merge.js +2 -0
  594. package/dist/prod/thirdparty/merge.js.map +7 -0
  595. package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
  596. package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
  597. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
  598. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
  599. package/dist/prod/thirdparty/preact/jsxRuntime.module.js +1 -0
  600. package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
  601. package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
  602. package/dist/prod/thirdparty/preact/preact.module.js +1 -0
  603. package/dist/prod/types/AnimationMode.js +2 -0
  604. package/dist/prod/types/AnimationMode.js.map +7 -0
  605. package/dist/prod/types/CalendarType.js +2 -0
  606. package/dist/prod/types/CalendarType.js.map +7 -0
  607. package/dist/prod/types/InvisibleMessageMode.js +2 -0
  608. package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
  609. package/dist/prod/types/ItemNavigationBehavior.js +2 -0
  610. package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
  611. package/dist/prod/types/MovePlacement.js +2 -0
  612. package/dist/prod/types/MovePlacement.js.map +7 -0
  613. package/dist/prod/types/NavigationMode.js +2 -0
  614. package/dist/prod/types/NavigationMode.js.map +7 -0
  615. package/dist/prod/types/Orientation.js +2 -0
  616. package/dist/prod/types/Orientation.js.map +7 -0
  617. package/dist/prod/types/SortOrder.js +2 -0
  618. package/dist/prod/types/SortOrder.js.map +7 -0
  619. package/dist/prod/types/ValueState.js +2 -0
  620. package/dist/prod/types/ValueState.js.map +7 -0
  621. package/dist/prod/types.js +2 -0
  622. package/dist/prod/types.js.map +7 -0
  623. package/dist/prod/updateShadowRoot.js +2 -0
  624. package/dist/prod/updateShadowRoot.js.map +7 -0
  625. package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
  626. package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
  627. package/dist/prod/util/Caret.js +2 -0
  628. package/dist/prod/util/Caret.js.map +7 -0
  629. package/dist/prod/util/ColorConversion.js +2 -0
  630. package/dist/prod/util/ColorConversion.js.map +7 -0
  631. package/dist/prod/util/FetchHelper.js +2 -0
  632. package/dist/prod/util/FetchHelper.js.map +7 -0
  633. package/dist/prod/util/FocusableElements.js +2 -0
  634. package/dist/prod/util/FocusableElements.js.map +7 -0
  635. package/dist/prod/util/HTMLSanitizer.js +2 -0
  636. package/dist/prod/util/HTMLSanitizer.js.map +7 -0
  637. package/dist/prod/util/InvisibleMessage.js +2 -0
  638. package/dist/prod/util/InvisibleMessage.js.map +7 -0
  639. package/dist/prod/util/PopupUtils.js +2 -0
  640. package/dist/prod/util/PopupUtils.js.map +7 -0
  641. package/dist/prod/util/SelectionAssistant.js +2 -0
  642. package/dist/prod/util/SelectionAssistant.js.map +7 -0
  643. package/dist/prod/util/SlotsHelper.js +2 -0
  644. package/dist/prod/util/SlotsHelper.js.map +7 -0
  645. package/dist/prod/util/StringHelper.js +2 -0
  646. package/dist/prod/util/StringHelper.js.map +7 -0
  647. package/dist/prod/util/TabbableElements.js +2 -0
  648. package/dist/prod/util/TabbableElements.js.map +7 -0
  649. package/dist/prod/util/arraysAreEqual.js +2 -0
  650. package/dist/prod/util/arraysAreEqual.js.map +7 -0
  651. package/dist/prod/util/clamp.js +2 -0
  652. package/dist/prod/util/clamp.js.map +7 -0
  653. package/dist/prod/util/createLinkInHead.js +2 -0
  654. package/dist/prod/util/createLinkInHead.js.map +7 -0
  655. package/dist/prod/util/debounce.js +2 -0
  656. package/dist/prod/util/debounce.js.map +7 -0
  657. package/dist/prod/util/detectNavigatorLanguage.js +2 -0
  658. package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
  659. package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
  660. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
  661. package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
  662. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
  663. package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
  664. package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
  665. package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
  666. package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
  667. package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
  668. package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
  669. package/dist/prod/util/escapeRegex.js +2 -0
  670. package/dist/prod/util/escapeRegex.js.map +7 -0
  671. package/dist/prod/util/fixSafariActiveState.js +2 -0
  672. package/dist/prod/util/fixSafariActiveState.js.map +7 -0
  673. package/dist/prod/util/formatMessage.js +2 -0
  674. package/dist/prod/util/formatMessage.js.map +7 -0
  675. package/dist/prod/util/generateHighlightedMarkup.js +2 -0
  676. package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
  677. package/dist/prod/util/getActiveElement.js +2 -0
  678. package/dist/prod/util/getActiveElement.js.map +7 -0
  679. package/dist/prod/util/getClassCopy.js +2 -0
  680. package/dist/prod/util/getClassCopy.js.map +7 -0
  681. package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
  682. package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
  683. package/dist/prod/util/getEffectiveContentDensity.js +2 -0
  684. package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
  685. package/dist/prod/util/getFastNavigationGroups.js +2 -0
  686. package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
  687. package/dist/prod/util/getFileExtension.js +2 -0
  688. package/dist/prod/util/getFileExtension.js.map +7 -0
  689. package/dist/prod/util/getNormalizedTarget.js +2 -0
  690. package/dist/prod/util/getNormalizedTarget.js.map +7 -0
  691. package/dist/prod/util/getParentElement.js +2 -0
  692. package/dist/prod/util/getParentElement.js.map +7 -0
  693. package/dist/prod/util/getSingletonElementInstance.js +2 -0
  694. package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
  695. package/dist/prod/util/hash2str.js +2 -0
  696. package/dist/prod/util/hash2str.js.map +7 -0
  697. package/dist/prod/util/isElementClickable.js +2 -0
  698. package/dist/prod/util/isElementClickable.js.map +7 -0
  699. package/dist/prod/util/isElementHidden.js +2 -0
  700. package/dist/prod/util/isElementHidden.js.map +7 -0
  701. package/dist/prod/util/isElementInView.js +2 -0
  702. package/dist/prod/util/isElementInView.js.map +7 -0
  703. package/dist/prod/util/isElementTabbable.js +2 -0
  704. package/dist/prod/util/isElementTabbable.js.map +7 -0
  705. package/dist/prod/util/isEventMarked.js +2 -0
  706. package/dist/prod/util/isEventMarked.js.map +7 -0
  707. package/dist/prod/util/isValidPropertyName.js +2 -0
  708. package/dist/prod/util/isValidPropertyName.js.map +7 -0
  709. package/dist/prod/util/throttle.js +2 -0
  710. package/dist/prod/util/throttle.js.map +7 -0
  711. package/dist/prod/util/toLowercaseEnumValue.js +2 -0
  712. package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
  713. package/dist/prod/util/valueStateNavigation.js +2 -0
  714. package/dist/prod/util/valueStateNavigation.js.map +7 -0
  715. package/dist/prod/util/whenDOMReady.js +2 -0
  716. package/dist/prod/util/whenDOMReady.js.map +7 -0
  717. package/dist/prod/util/willShowContent.js +2 -0
  718. package/dist/prod/util/willShowContent.js.map +7 -0
  719. package/dist/prod/validateThemeRoot.js +2 -0
  720. package/dist/prod/validateThemeRoot.js.map +7 -0
  721. package/dist/renderer/JsxRenderer.d.ts +3 -0
  722. package/dist/renderer/JsxRenderer.js +26 -0
  723. package/dist/renderer/JsxRenderer.js.map +1 -0
  724. package/dist/renderer/LitRenderer.d.ts +14 -0
  725. package/dist/renderer/LitRenderer.js +33 -12
  726. package/dist/renderer/LitRenderer.js.map +1 -0
  727. package/dist/renderer/directives/style-map.d.ts +13 -0
  728. package/dist/renderer/directives/style-map.js +72 -0
  729. package/dist/renderer/directives/style-map.js.map +1 -0
  730. package/dist/renderer/executeTemplate.d.ts +12 -0
  731. package/dist/renderer/executeTemplate.js +12 -0
  732. package/dist/renderer/executeTemplate.js.map +1 -0
  733. package/dist/sap/base/Log.js +750 -0
  734. package/dist/sap/base/assert.js +34 -0
  735. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  736. package/dist/sap/base/security/URLListValidator.js +406 -0
  737. package/dist/sap/base/security/encodeCSS.js +40 -0
  738. package/dist/sap/base/security/encodeXML.js +53 -0
  739. package/dist/sap/base/security/sanitizeHTML.js +38 -0
  740. package/dist/sap/base/strings/toHex.js +33 -0
  741. package/dist/sap/base/util/now.js +28 -0
  742. package/dist/sap/base/util/uid.js +27 -0
  743. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  744. package/dist/ssr-dom-shim.d.ts +1 -0
  745. package/dist/ssr-dom-shim.js +63 -0
  746. package/dist/ssr-dom-shim.js.map +1 -0
  747. package/dist/ssr-dom.d.ts +1 -0
  748. package/dist/ssr-dom.js +3 -0
  749. package/dist/ssr-dom.js.map +1 -0
  750. package/dist/theming/CustomStyle.d.ts +6 -0
  751. package/dist/theming/CustomStyle.js +46 -17
  752. package/dist/theming/CustomStyle.js.map +1 -0
  753. package/dist/theming/ThemeLoaded.d.ts +5 -0
  754. package/dist/theming/ThemeLoaded.js +14 -0
  755. package/dist/theming/ThemeLoaded.js.map +1 -0
  756. package/dist/theming/ThemeRegistered.d.ts +4 -0
  757. package/dist/theming/ThemeRegistered.js +11 -0
  758. package/dist/theming/ThemeRegistered.js.map +1 -0
  759. package/dist/theming/applyTheme.d.ts +4 -0
  760. package/dist/theming/applyTheme.js +69 -69
  761. package/dist/theming/applyTheme.js.map +1 -0
  762. package/dist/theming/getConstructableStyle.d.ts +9 -0
  763. package/dist/theming/getConstructableStyle.js +15 -15
  764. package/dist/theming/getConstructableStyle.js.map +1 -0
  765. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  766. package/dist/theming/getEffectiveStyle.js +23 -13
  767. package/dist/theming/getEffectiveStyle.js.map +1 -0
  768. package/dist/theming/getStylesString.d.ts +3 -0
  769. package/dist/theming/getStylesString.js +9 -0
  770. package/dist/theming/getStylesString.js.map +1 -0
  771. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  772. package/dist/theming/getThemeDesignerTheme.js +74 -60
  773. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  774. package/dist/thirdparty/_merge.d.ts +2 -0
  775. package/dist/thirdparty/_merge.js +7 -4
  776. package/dist/thirdparty/_merge.js.map +1 -0
  777. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  778. package/dist/thirdparty/isPlainObject.js +11 -10
  779. package/dist/thirdparty/isPlainObject.js.map +1 -0
  780. package/dist/thirdparty/merge.d.ts +2 -0
  781. package/dist/thirdparty/merge.js +4 -8
  782. package/dist/thirdparty/merge.js.map +1 -0
  783. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  784. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  785. package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
  786. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  787. package/dist/thirdparty/preact/preact.module.js +1 -0
  788. package/dist/types/AnimationMode.d.ts +24 -0
  789. package/dist/types/AnimationMode.js +25 -6
  790. package/dist/types/AnimationMode.js.map +1 -0
  791. package/dist/types/CalendarType.d.ts +28 -0
  792. package/dist/types/CalendarType.js +26 -18
  793. package/dist/types/CalendarType.js.map +1 -0
  794. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  795. package/dist/types/InvisibleMessageMode.js +20 -0
  796. package/dist/types/InvisibleMessageMode.js.map +1 -0
  797. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  798. package/dist/types/ItemNavigationBehavior.js +16 -17
  799. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  800. package/dist/types/MovePlacement.d.ts +20 -0
  801. package/dist/types/MovePlacement.js +22 -0
  802. package/dist/types/MovePlacement.js.map +1 -0
  803. package/dist/types/NavigationMode.d.ts +24 -0
  804. package/dist/types/NavigationMode.js +25 -6
  805. package/dist/types/NavigationMode.js.map +1 -0
  806. package/dist/types/Orientation.d.ts +16 -0
  807. package/dist/types/Orientation.js +18 -0
  808. package/dist/types/Orientation.js.map +1 -0
  809. package/dist/types/SortOrder.d.ts +24 -0
  810. package/dist/types/SortOrder.js +26 -0
  811. package/dist/types/SortOrder.js.map +1 -0
  812. package/dist/types/ValueState.d.ts +28 -0
  813. package/dist/types/ValueState.js +27 -19
  814. package/dist/types/ValueState.js.map +1 -0
  815. package/dist/types.d.ts +47 -0
  816. package/dist/types.js +2 -0
  817. package/dist/types.js.map +1 -0
  818. package/dist/updateShadowRoot.d.ts +7 -0
  819. package/dist/updateShadowRoot.js +17 -0
  820. package/dist/updateShadowRoot.js.map +1 -0
  821. package/dist/util/AccessibilityTextsHelper.d.ts +17 -0
  822. package/dist/util/AccessibilityTextsHelper.js +199 -0
  823. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  824. package/dist/util/Caret.d.ts +7 -0
  825. package/dist/util/Caret.js +23 -0
  826. package/dist/util/Caret.js.map +1 -0
  827. package/dist/util/ColorConversion.d.ts +31 -0
  828. package/dist/util/ColorConversion.js +354 -0
  829. package/dist/util/ColorConversion.js.map +1 -0
  830. package/dist/util/FetchHelper.d.ts +3 -0
  831. package/dist/util/FetchHelper.js +19 -25
  832. package/dist/util/FetchHelper.js.map +1 -0
  833. package/dist/util/FocusableElements.d.ts +4 -0
  834. package/dist/util/FocusableElements.js +95 -61
  835. package/dist/util/FocusableElements.js.map +1 -0
  836. package/dist/util/HTMLSanitizer.d.ts +5 -0
  837. package/dist/util/HTMLSanitizer.js +6 -0
  838. package/dist/util/HTMLSanitizer.js.map +1 -0
  839. package/dist/util/InvisibleMessage.d.ts +10 -0
  840. package/dist/util/InvisibleMessage.js +56 -0
  841. package/dist/util/InvisibleMessage.js.map +1 -0
  842. package/dist/util/PopupUtils.d.ts +5 -0
  843. package/dist/util/PopupUtils.js +60 -0
  844. package/dist/util/PopupUtils.js.map +1 -0
  845. package/dist/util/SelectionAssistant.d.ts +12 -0
  846. package/dist/util/SelectionAssistant.js +71 -0
  847. package/dist/util/SelectionAssistant.js.map +1 -0
  848. package/dist/util/SlotsHelper.d.ts +9 -0
  849. package/dist/util/SlotsHelper.js +30 -0
  850. package/dist/util/SlotsHelper.js.map +1 -0
  851. package/dist/util/StringHelper.d.ts +5 -0
  852. package/dist/util/StringHelper.js +32 -21
  853. package/dist/util/StringHelper.js.map +1 -0
  854. package/dist/util/TabbableElements.d.ts +17 -0
  855. package/dist/util/TabbableElements.js +46 -43
  856. package/dist/util/TabbableElements.js.map +1 -0
  857. package/dist/util/arraysAreEqual.d.ts +2 -0
  858. package/dist/util/arraysAreEqual.js +13 -0
  859. package/dist/util/arraysAreEqual.js.map +1 -0
  860. package/dist/util/clamp.d.ts +9 -0
  861. package/dist/util/clamp.js +13 -0
  862. package/dist/util/clamp.js.map +1 -0
  863. package/dist/util/createLinkInHead.d.ts +7 -0
  864. package/dist/util/createLinkInHead.js +21 -0
  865. package/dist/util/createLinkInHead.js.map +1 -0
  866. package/dist/util/debounce.d.ts +2 -0
  867. package/dist/util/debounce.js +15 -0
  868. package/dist/util/debounce.js.map +1 -0
  869. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  870. package/dist/util/detectNavigatorLanguage.js +13 -11
  871. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  872. package/dist/util/dragAndDrop/DragRegistry.d.ts +39 -0
  873. package/dist/util/dragAndDrop/DragRegistry.js +58 -0
  874. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  875. package/dist/util/dragAndDrop/findClosestPosition.d.ts +12 -0
  876. package/dist/util/dragAndDrop/findClosestPosition.js +106 -0
  877. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  878. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  879. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  880. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  881. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  882. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  883. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  884. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  885. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  886. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  887. package/dist/util/escapeRegex.d.ts +8 -0
  888. package/dist/util/escapeRegex.js +11 -0
  889. package/dist/util/escapeRegex.js.map +1 -0
  890. package/dist/util/fixSafariActiveState.d.ts +2 -0
  891. package/dist/util/fixSafariActiveState.js +11 -0
  892. package/dist/util/fixSafariActiveState.js.map +1 -0
  893. package/dist/util/formatMessage.d.ts +2 -0
  894. package/dist/util/formatMessage.js +15 -19
  895. package/dist/util/formatMessage.js.map +1 -0
  896. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  897. package/dist/util/generateHighlightedMarkup.js +41 -0
  898. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  899. package/dist/util/getActiveElement.d.ts +2 -0
  900. package/dist/util/getActiveElement.js +9 -0
  901. package/dist/util/getActiveElement.js.map +1 -0
  902. package/dist/util/getClassCopy.d.ts +442 -0
  903. package/dist/util/getClassCopy.js +10 -0
  904. package/dist/util/getClassCopy.js.map +1 -0
  905. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  906. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  907. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  908. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  909. package/dist/util/getEffectiveContentDensity.js +4 -0
  910. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  911. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  912. package/dist/util/getFastNavigationGroups.js +56 -0
  913. package/dist/util/getFastNavigationGroups.js.map +1 -0
  914. package/dist/util/getFileExtension.d.ts +12 -0
  915. package/dist/util/getFileExtension.js +9 -11
  916. package/dist/util/getFileExtension.js.map +1 -0
  917. package/dist/util/getNormalizedTarget.d.ts +7 -0
  918. package/dist/util/getNormalizedTarget.js +14 -0
  919. package/dist/util/getNormalizedTarget.js.map +1 -0
  920. package/dist/util/getParentElement.d.ts +2 -0
  921. package/dist/util/getParentElement.js +5 -0
  922. package/dist/util/getParentElement.js.map +1 -0
  923. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  924. package/dist/util/getSingletonElementInstance.js +19 -0
  925. package/dist/util/getSingletonElementInstance.js.map +1 -0
  926. package/dist/util/hash2str.d.ts +1 -0
  927. package/dist/util/hash2str.js +14 -0
  928. package/dist/util/hash2str.js.map +1 -0
  929. package/dist/util/isElementClickable.d.ts +2 -0
  930. package/dist/util/isElementClickable.js +16 -0
  931. package/dist/util/isElementClickable.js.map +1 -0
  932. package/dist/util/isElementHidden.d.ts +2 -0
  933. package/dist/util/isElementHidden.js +9 -0
  934. package/dist/util/isElementHidden.js.map +1 -0
  935. package/dist/util/isElementInView.d.ts +6 -0
  936. package/dist/util/isElementInView.js +12 -0
  937. package/dist/util/isElementInView.js.map +1 -0
  938. package/dist/util/isElementTabbable.d.ts +9 -0
  939. package/dist/util/isElementTabbable.js +30 -0
  940. package/dist/util/isElementTabbable.js.map +1 -0
  941. package/dist/util/isEventMarked.d.ts +2 -0
  942. package/dist/util/isEventMarked.js +6 -0
  943. package/dist/util/isEventMarked.js.map +1 -0
  944. package/dist/util/isValidPropertyName.d.ts +8 -0
  945. package/dist/util/isValidPropertyName.js +18 -18
  946. package/dist/util/isValidPropertyName.js.map +1 -0
  947. package/dist/util/throttle.d.ts +2 -0
  948. package/dist/util/throttle.js +20 -0
  949. package/dist/util/throttle.js.map +1 -0
  950. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  951. package/dist/util/toLowercaseEnumValue.js +4 -0
  952. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  953. package/dist/util/valueStateNavigation.d.ts +8 -0
  954. package/dist/util/valueStateNavigation.js +40 -0
  955. package/dist/util/valueStateNavigation.js.map +1 -0
  956. package/dist/util/whenDOMReady.d.ts +2 -0
  957. package/dist/util/whenDOMReady.js +11 -10
  958. package/dist/util/whenDOMReady.js.map +1 -0
  959. package/dist/util/willShowContent.d.ts +2 -0
  960. package/dist/util/willShowContent.js +7 -0
  961. package/dist/util/willShowContent.js.map +1 -0
  962. package/dist/validateThemeRoot.d.ts +2 -0
  963. package/dist/validateThemeRoot.js +53 -0
  964. package/dist/validateThemeRoot.js.map +1 -0
  965. package/dist/vscode.html-custom-data.json +22 -0
  966. package/package-scripts.cjs +105 -0
  967. package/package.json +60 -23
  968. package/src/css/BusyIndicator.css +80 -0
  969. package/src/css/MultipleDragGhost.css +17 -0
  970. package/src/css/OpenUI5PopupStyles.css +10 -0
  971. package/src/css/ScrollbarStyles.css +3 -0
  972. package/src/css/SystemCSSVars.css +9 -0
  973. package/src/i18n/messagebundle.properties +5 -0
  974. package/src/i18n/messagebundle_en.properties +2 -0
  975. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  976. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  977. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  978. package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
  979. package/src/thirdparty/preact/preact.module.js +1 -0
  980. package/src/thirdparty/preact/version.txt +1 -0
  981. package/tsconfig.json +19 -0
  982. package/.eslintignore +0 -11
  983. package/bundle.es5.js +0 -28
  984. package/bundle.esm.js +0 -49
  985. package/config/.eslintrc.js +0 -3
  986. package/config/rollup.config.js +0 -1
  987. package/config/wdio.conf.js +0 -1
  988. package/dist/RenderScheduler.js +0 -178
  989. package/dist/SVGIconRegistry.js +0 -60
  990. package/dist/StaticArea.js +0 -41
  991. package/dist/StaticAreaItem.js +0 -105
  992. package/dist/animations/config.js +0 -5
  993. package/dist/boot.js +0 -34
  994. package/dist/compatibility/DOMObserver.js +0 -62
  995. package/dist/compatibility/patchNodeValue.js +0 -24
  996. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  997. package/dist/config/RTL.js +0 -31
  998. package/dist/delegate/CustomResize.js +0 -78
  999. package/dist/delegate/NativeResize.js +0 -44
  1000. package/dist/features/PropertiesFormatSupport.js +0 -8
  1001. package/dist/features/browsersupport/Edge.js +0 -6
  1002. package/dist/features/browsersupport/IE11.js +0 -41
  1003. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  1004. package/dist/renderer/ifDefined.js +0 -21
  1005. package/dist/resources/bundle.es5.js +0 -212
  1006. package/dist/resources/bundle.es5.js.map +0 -1
  1007. package/dist/resources/bundle.esm.js +0 -129
  1008. package/dist/resources/bundle.esm.js.map +0 -1
  1009. package/dist/test-resources/assets/Themes.js +0 -13
  1010. package/dist/test-resources/elements/Child.js +0 -35
  1011. package/dist/test-resources/elements/Generic.js +0 -84
  1012. package/dist/test-resources/elements/GenericExt.js +0 -26
  1013. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  1014. package/dist/test-resources/elements/Parent.js +0 -37
  1015. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  1016. package/dist/test-resources/pages/AllTestElements.html +0 -42
  1017. package/dist/test-resources/pages/Configuration.html +0 -20
  1018. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  1019. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  1020. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  1021. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  1022. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  1023. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  1024. package/dist/test-resources/specs/Theming.spec.js +0 -31
  1025. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  1026. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  1027. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  1028. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  1029. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  1030. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  1031. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  1032. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  1033. package/dist/theming/CSSVarsPonyfill.js +0 -24
  1034. package/dist/theming/adaptCSSForIE.js +0 -90
  1035. package/dist/theming/createComponentStyleTag.js +0 -49
  1036. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  1037. package/dist/thirdparty/Array.from.js +0 -16
  1038. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  1039. package/dist/thirdparty/Array.prototype.find.js +0 -46
  1040. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  1041. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  1042. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  1043. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  1044. package/dist/thirdparty/Number.isInteger.js +0 -5
  1045. package/dist/thirdparty/Number.isNaN.js +0 -1
  1046. package/dist/thirdparty/Number.parseInt.js +0 -1
  1047. package/dist/thirdparty/Object.assign.js +0 -31
  1048. package/dist/thirdparty/Object.entries.js +0 -11
  1049. package/dist/thirdparty/Symbol.js +0 -2
  1050. package/dist/thirdparty/WeakSet.js +0 -27
  1051. package/dist/thirdparty/es6-string-methods.js +0 -182
  1052. package/dist/thirdparty/events-polyfills.js +0 -89
  1053. package/dist/thirdparty/fetch.js +0 -1
  1054. package/dist/thirdparty/template.js +0 -600
  1055. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  1056. package/dist/types/CSSSize.js +0 -9
  1057. package/dist/types/DataType.js +0 -25
  1058. package/dist/types/Float.js +0 -10
  1059. package/dist/types/Integer.js +0 -9
  1060. package/dist/types/PopupState.js +0 -37
  1061. package/dist/util/createStyleInHead.js +0 -18
  1062. package/dist/util/findNodeOwner.js +0 -35
  1063. package/dist/util/isDescendantOf.js +0 -15
  1064. package/dist/util/isNodeClickable.js +0 -19
  1065. package/dist/util/isNodeHidden.js +0 -9
  1066. package/dist/util/isNodeTabbable.js +0 -28
  1067. package/dist/util/isSlot.js +0 -3
  1068. package/dist/util/parseProperties.js +0 -89
  1069. package/dist/util/setToArray.js +0 -10
  1070. package/dist/webcomponentsjs/LICENSE.md +0 -19
  1071. package/dist/webcomponentsjs/README.md +0 -229
  1072. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  1073. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  1074. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  1075. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  1076. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  1077. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  1078. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  1079. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  1080. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  1081. package/dist/webcomponentsjs/package.json +0 -46
  1082. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  1083. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  1084. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  1085. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  1086. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  1087. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  1088. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  1089. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  1090. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  1091. package/index.js +0 -4
  1092. package/lib/generate-asset-parameters/index.js +0 -22
  1093. package/package-scripts.js +0 -47
  1094. package/src/AssetRegistry.js +0 -10
  1095. package/src/CustomElementsRegistry.js +0 -39
  1096. package/src/Device.js +0 -823
  1097. package/src/EventProvider.js +0 -81
  1098. package/src/FeaturesRegistry.js +0 -11
  1099. package/src/FontFace.js +0 -73
  1100. package/src/InitialConfiguration.js +0 -131
  1101. package/src/Keys.js +0 -170
  1102. package/src/RenderQueue.js +0 -42
  1103. package/src/RenderScheduler.js +0 -178
  1104. package/src/SVGIconRegistry.js +0 -60
  1105. package/src/StaticArea.js +0 -41
  1106. package/src/StaticAreaItem.js +0 -105
  1107. package/src/SystemCSSVars.js +0 -31
  1108. package/src/Theming.js +0 -3
  1109. package/src/UI5Element.js +0 -992
  1110. package/src/UI5ElementMetadata.js +0 -187
  1111. package/src/animations/AnimationQueue.js +0 -42
  1112. package/src/animations/animate.js +0 -53
  1113. package/src/animations/config.js +0 -5
  1114. package/src/animations/scroll.js +0 -28
  1115. package/src/animations/slideDown.js +0 -79
  1116. package/src/animations/slideUp.js +0 -71
  1117. package/src/asset-registries/Icons.js +0 -31
  1118. package/src/asset-registries/LocaleData.js +0 -125
  1119. package/src/asset-registries/Themes.js +0 -87
  1120. package/src/asset-registries/i18n.js +0 -106
  1121. package/src/boot.js +0 -34
  1122. package/src/compatibility/DOMObserver.js +0 -62
  1123. package/src/compatibility/patchNodeValue.js +0 -24
  1124. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  1125. package/src/config/AnimationMode.js +0 -13
  1126. package/src/config/CalendarType.js +0 -18
  1127. package/src/config/FormatSettings.js +0 -13
  1128. package/src/config/Language.js +0 -41
  1129. package/src/config/NoConflict.js +0 -51
  1130. package/src/config/RTL.js +0 -31
  1131. package/src/config/Theme.js +0 -28
  1132. package/src/delegate/CustomResize.js +0 -78
  1133. package/src/delegate/ItemNavigation.js +0 -282
  1134. package/src/delegate/NativeResize.js +0 -44
  1135. package/src/delegate/ResizeHandler.js +0 -65
  1136. package/src/delegate/ScrollEnablement.js +0 -159
  1137. package/src/features/OpenUI5Support.js +0 -90
  1138. package/src/features/PropertiesFormatSupport.js +0 -8
  1139. package/src/features/browsersupport/Edge.js +0 -6
  1140. package/src/features/browsersupport/IE11.js +0 -41
  1141. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  1142. package/src/i18nBundle.js +0 -33
  1143. package/src/locale/Locale.js +0 -91
  1144. package/src/locale/RTLAwareRegistry.js +0 -14
  1145. package/src/locale/applyDirection.js +0 -15
  1146. package/src/locale/getLocale.js +0 -31
  1147. package/src/locale/languageChange.js +0 -22
  1148. package/src/locale/nextFallbackLocale.js +0 -28
  1149. package/src/locale/normalizeLocale.js +0 -54
  1150. package/src/renderer/LitRenderer.js +0 -15
  1151. package/src/renderer/ifDefined.js +0 -21
  1152. package/src/theming/CSSVarsPonyfill.js +0 -24
  1153. package/src/theming/CustomStyle.js +0 -19
  1154. package/src/theming/adaptCSSForIE.js +0 -90
  1155. package/src/theming/applyTheme.js +0 -81
  1156. package/src/theming/createComponentStyleTag.js +0 -49
  1157. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  1158. package/src/theming/getConstructableStyle.js +0 -25
  1159. package/src/theming/getEffectiveStyle.js +0 -15
  1160. package/src/theming/getThemeDesignerTheme.js +0 -67
  1161. package/src/thirdparty/Array.from.js +0 -16
  1162. package/src/thirdparty/Array.prototype.fill.js +0 -44
  1163. package/src/thirdparty/Array.prototype.find.js +0 -46
  1164. package/src/thirdparty/Array.prototype.includes.js +0 -51
  1165. package/src/thirdparty/Element.prototype.closest.js +0 -11
  1166. package/src/thirdparty/Element.prototype.matches.js +0 -6
  1167. package/src/thirdparty/Map.prototype.keys.js +0 -9
  1168. package/src/thirdparty/Number.isInteger.js +0 -5
  1169. package/src/thirdparty/Number.isNaN.js +0 -1
  1170. package/src/thirdparty/Number.parseInt.js +0 -1
  1171. package/src/thirdparty/Object.assign.js +0 -31
  1172. package/src/thirdparty/Object.entries.js +0 -11
  1173. package/src/thirdparty/Symbol.js +0 -2
  1174. package/src/thirdparty/WeakSet.js +0 -27
  1175. package/src/thirdparty/_merge.js +0 -32
  1176. package/src/thirdparty/es6-string-methods.js +0 -182
  1177. package/src/thirdparty/events-polyfills.js +0 -89
  1178. package/src/thirdparty/fetch.js +0 -1
  1179. package/src/thirdparty/isPlainObject.js +0 -18
  1180. package/src/thirdparty/merge.js +0 -10
  1181. package/src/thirdparty/template.js +0 -600
  1182. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  1183. package/src/types/AnimationMode.js +0 -7
  1184. package/src/types/CSSSize.js +0 -9
  1185. package/src/types/CalendarType.js +0 -22
  1186. package/src/types/DataType.js +0 -25
  1187. package/src/types/Float.js +0 -10
  1188. package/src/types/Integer.js +0 -9
  1189. package/src/types/ItemNavigationBehavior.js +0 -21
  1190. package/src/types/NavigationMode.js +0 -7
  1191. package/src/types/PopupState.js +0 -37
  1192. package/src/types/ValueState.js +0 -22
  1193. package/src/util/FetchHelper.js +0 -31
  1194. package/src/util/FocusableElements.js +0 -66
  1195. package/src/util/StringHelper.js +0 -26
  1196. package/src/util/TabbableElements.js +0 -47
  1197. package/src/util/createStyleInHead.js +0 -18
  1198. package/src/util/detectNavigatorLanguage.js +0 -13
  1199. package/src/util/findNodeOwner.js +0 -35
  1200. package/src/util/formatMessage.js +0 -23
  1201. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  1202. package/src/util/getFileExtension.js +0 -21
  1203. package/src/util/isDescendantOf.js +0 -15
  1204. package/src/util/isNodeClickable.js +0 -19
  1205. package/src/util/isNodeHidden.js +0 -9
  1206. package/src/util/isNodeTabbable.js +0 -28
  1207. package/src/util/isSlot.js +0 -3
  1208. package/src/util/isValidPropertyName.js +0 -28
  1209. package/src/util/parseProperties.js +0 -89
  1210. package/src/util/setToArray.js +0 -10
  1211. package/src/util/whenDOMReady.js +0 -13
@@ -1,31 +1,179 @@
1
- import { registerIcon, registerCollectionPromise } from "../SVGIconRegistry.js";
2
- import { fetchJsonOnce } from "../util/FetchHelper.js";
3
-
4
- const registerIconBundle = async (collectionName, bundleData) => {
5
- let resolveFn;
6
- const collectionFetched = new Promise(resolve => {
7
- resolveFn = resolve;
8
- });
9
- registerCollectionPromise(collectionName, collectionFetched);
10
-
11
- if (typeof bundleData !== "object") { // not inlined from build -> fetch it
12
- bundleData = await fetchJsonOnce(bundleData);
13
- }
14
- fillRegistry(bundleData);
15
- resolveFn();
16
- };
17
-
18
- const fillRegistry = bundleData => {
19
- Object.keys(bundleData.data).forEach(iconName => {
20
- const iconData = bundleData.data[iconName];
21
-
22
- registerIcon(iconName, {
23
- pathData: iconData.path,
24
- ltr: iconData.ltr,
25
- accData: iconData.acc,
26
- collection: bundleData.collection,
27
- });
28
- });
29
- };
30
-
31
- export { registerIconBundle }; // eslint-disable-line
1
+ import getSharedResource from "../getSharedResource.js";
2
+ import { getIconCollectionByAlias } from "./util/IconCollectionsAlias.js";
3
+ import { registerIconCollectionForTheme } from "./util/IconCollectionsByTheme.js";
4
+ import getEffectiveIconCollection from "./util/getIconCollectionByTheme.js";
5
+ import { getI18nBundle } from "../i18nBundle.js";
6
+ const DEFAULT_THEME_FAMILY = "legacy"; // includes sap_fiori_*
7
+ const loaders = new Map();
8
+ const registry = getSharedResource("SVGIcons.registry", new Map());
9
+ const iconCollectionPromises = getSharedResource("SVGIcons.promises", new Map());
10
+ const ICON_NOT_FOUND = "ICON_NOT_FOUND";
11
+ const registerIconLoader = (collectionName, loader) => {
12
+ loaders.set(collectionName, loader);
13
+ };
14
+ const _loadIconCollectionOnce = async (collectionName) => {
15
+ if (!iconCollectionPromises.has(collectionName)) {
16
+ if (!loaders.has(collectionName)) {
17
+ throw new Error(`No loader registered for the ${collectionName} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);
18
+ }
19
+ const loadIcons = loaders.get(collectionName);
20
+ iconCollectionPromises.set(collectionName, loadIcons(collectionName));
21
+ }
22
+ return iconCollectionPromises.get(collectionName);
23
+ };
24
+ const _fillRegistry = (bundleData) => {
25
+ Object.keys(bundleData.data).forEach(iconName => {
26
+ const iconData = bundleData.data[iconName];
27
+ registerIcon(iconName, {
28
+ pathData: (iconData.path || iconData.paths),
29
+ ltr: iconData.ltr,
30
+ accData: iconData.acc,
31
+ collection: bundleData.collection,
32
+ packageName: bundleData.packageName,
33
+ });
34
+ });
35
+ };
36
+ /**
37
+ * Registers a SVG icon with the given name and associated icon data.
38
+ *
39
+ * This method is used to add an icon to the registry, making it available for use
40
+ * in the application.
41
+ *
42
+ * @public
43
+ * @param { string } name - The name of the icon to register.
44
+ * @param { IconData } iconData - The data associated with the icon: `collection`, `pathData`, `packageName`
45
+ * `customTemplate`, `viewBox`, `ltr`, `accData`.
46
+ *
47
+ * <b>Note:</b> Properties `pathData` and `customTemplate` are mutually exclusive.
48
+ * If both are set, `customTemplate` will be used.
49
+ */
50
+ const registerIcon = (name, iconData) => {
51
+ const key = `${iconData.collection}/${name}`;
52
+ const data = {
53
+ collection: iconData.collection,
54
+ packageName: iconData.packageName,
55
+ pathData: iconData.pathData,
56
+ viewBox: iconData.viewBox,
57
+ ltr: iconData.ltr,
58
+ accData: iconData.accData,
59
+ customTemplate: iconData.customTemplate,
60
+ };
61
+ registry.set(key, data);
62
+ };
63
+ /**
64
+ * Registers a SVG icon in the registry with the given name and icon data.
65
+ *
66
+ * <b>Note:</b> This method is unsafe as it allows the SVG content to be passed as a string
67
+ * through the `customTemplateAsString` property of the `iconData`.
68
+ * Ensure that the SVG content is properly validated.
69
+ * Improperly sanitized SVG strings can lead to security vulnerabilities such as XSS (Cross-Site Scripting).
70
+ *
71
+ * @public
72
+ * @param { string } name - The name of the icon to register.
73
+ * @param { UnsafeIconData } iconData - The data for the icon: `collection`, `customTemplateAsString`, `packageName`
74
+ * `viewBox`, `ltr` and `accData`.
75
+ * @since 2.14.0
76
+ */
77
+ const unsafeRegisterIcon = (name, iconData) => {
78
+ const key = `${iconData.collection}/${name}`;
79
+ const data = {
80
+ collection: iconData.collection,
81
+ customTemplateAsString: iconData.customTemplateAsString,
82
+ packageName: iconData.packageName,
83
+ viewBox: iconData.viewBox,
84
+ ltr: iconData.ltr,
85
+ accData: iconData.accData,
86
+ };
87
+ registry.set(key, data);
88
+ };
89
+ /**
90
+ * Processes the full icon name and splits it into - "name", "collection".
91
+ * - removes legacy protocol ("sap-icon://")
92
+ * - resolves aliases (f.e "SAP-icons-TNT/actor" => "tnt/actor")
93
+ *
94
+ * @param { string } name
95
+ * @return { object }
96
+ */
97
+ const processName = (name) => {
98
+ // silently support ui5-compatible URIs
99
+ if (name.startsWith("sap-icon://")) {
100
+ name = name.replace("sap-icon://", "");
101
+ }
102
+ let collection;
103
+ [name, collection] = name.split("/").reverse();
104
+ name = name.replace("icon-", "");
105
+ if (collection) {
106
+ collection = getIconCollectionByAlias(collection);
107
+ }
108
+ return { name, collection };
109
+ };
110
+ const getIconDataSync = (iconName) => {
111
+ const { name, collection } = processName(iconName);
112
+ return getRegisteredIconData(collection, name);
113
+ };
114
+ const getIconData = async (iconName) => {
115
+ const { name, collection } = processName(iconName);
116
+ let iconData = ICON_NOT_FOUND;
117
+ try {
118
+ iconData = (await _loadIconCollectionOnce(getEffectiveIconCollection(collection)));
119
+ }
120
+ catch (error) {
121
+ const e = error;
122
+ console.error(e.message); /* eslint-disable-line */
123
+ }
124
+ if (iconData === ICON_NOT_FOUND) {
125
+ return iconData;
126
+ }
127
+ const registeredIconData = getRegisteredIconData(collection, name);
128
+ if (registeredIconData) {
129
+ return registeredIconData;
130
+ }
131
+ // not filled by another await. many getters will await on the same loader, but fill only once
132
+ if (Array.isArray(iconData)) {
133
+ iconData.forEach(data => {
134
+ _fillRegistry(data);
135
+ registerIconCollectionForTheme(collection, { [data.themeFamily || DEFAULT_THEME_FAMILY]: data.collection });
136
+ });
137
+ }
138
+ else {
139
+ _fillRegistry(iconData);
140
+ }
141
+ return getRegisteredIconData(collection, name);
142
+ };
143
+ const getRegisteredIconData = (collection, name) => {
144
+ const registryKey = `${getEffectiveIconCollection(collection)}/${name}`;
145
+ return registry.get(registryKey);
146
+ };
147
+ /**
148
+ * Returns the accessible name for the given icon,
149
+ * or undefined if accessible name is not present.
150
+ *
151
+ * @param { string } name
152
+ * @return { Promise }
153
+ */
154
+ const getIconAccessibleName = async (name) => {
155
+ if (!name) {
156
+ return;
157
+ }
158
+ let iconData = getIconDataSync(name);
159
+ if (!iconData) {
160
+ iconData = await getIconData(name);
161
+ }
162
+ if (iconData && iconData !== ICON_NOT_FOUND && iconData.accData) {
163
+ if (iconData.packageName) {
164
+ const i18nBundle = await getI18nBundle(iconData.packageName);
165
+ return i18nBundle.getText(iconData.accData);
166
+ }
167
+ return iconData.accData?.defaultText || "";
168
+ }
169
+ };
170
+ // test page usage only
171
+ const _getRegisteredNames = async () => {
172
+ // fetch one icon of each collection to trigger the bundle load
173
+ await getIconData("edit");
174
+ await getIconData("tnt/arrow");
175
+ await getIconData("business-suite/3d");
176
+ return Array.from(registry.keys());
177
+ };
178
+ export { registerIconLoader, getIconData, getIconDataSync, getIconAccessibleName, registerIcon, unsafeRegisterIcon, _getRegisteredNames, };
179
+ //# sourceMappingURL=Icons.js.map
@@ -0,0 +1 @@
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 \"./util/IconCollectionsAlias.js\";\nimport { registerIconCollectionForTheme } from \"./util/IconCollectionsByTheme.js\";\nimport getEffectiveIconCollection from \"./util/getIconCollectionByTheme.js\";\nimport { getI18nBundle } from \"../i18nBundle.js\";\nimport type { I18nText } from \"../i18nBundle.js\";\nimport type { TemplateFunction } from \"../renderer/executeTemplate.js\";\n\nconst DEFAULT_THEME_FAMILY = \"legacy\"; // includes sap_fiori_*\n\ntype IconLoader = (collectionName: string) => Promise<CollectionData | Array<CollectionData>>;\n\ntype CollectionData = {\n\tcollection: string,\n\tpackageName: string,\n\tthemeFamily?: \"legacy\" | \"sap_horizon\",\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 IconDatabase = {\n\tcollection: string;\n\tpackageName?: string;\n\tviewBox?: string;\n\tltr?: boolean;\n\taccData?: I18nText;\n}\n\ntype IconData = IconDatabase & {\n\tpathData?: string | string[];\n\tcustomTemplate?: TemplateFunction;\n};\n\ntype UnsafeIconData = IconDatabase & {\n\tcustomTemplateAsString: string;\n};\n\nconst loaders = new Map<string, IconLoader>();\nconst registry = getSharedResource<Map<string, IconData | UnsafeIconData>>(\"SVGIcons.registry\", new Map());\nconst iconCollectionPromises = getSharedResource<Map<string, Promise<CollectionData| Array<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/**\n * Registers a SVG icon with the given name and associated icon data.\n *\n * This method is used to add an icon to the registry, making it available for use\n * in the application.\n *\n * @public\n * @param { string } name - The name of the icon to register.\n * @param { IconData } iconData - The data associated with the icon: `collection`, `pathData`, `packageName`\n * `customTemplate`, `viewBox`, `ltr`, `accData`.\n *\n * <b>Note:</b> Properties `pathData` and `customTemplate` are mutually exclusive.\n * If both are set, `customTemplate` will be used.\n */\nconst registerIcon = (name: string, iconData: IconData) => { // eslint-disable-line\n\tconst key = `${iconData.collection}/${name}`;\n\n\tconst data: IconData = {\n\t\tcollection: iconData.collection,\n\t\tpackageName: iconData.packageName,\n\t\tpathData: iconData.pathData,\n\t\tviewBox: iconData.viewBox,\n\t\tltr: iconData.ltr,\n\t\taccData: iconData.accData,\n\t\tcustomTemplate: iconData.customTemplate,\n\t};\n\n\tregistry.set(key, data);\n};\n\n/**\n * Registers a SVG icon in the registry with the given name and icon data.\n *\n * <b>Note:</b> This method is unsafe as it allows the SVG content to be passed as a string\n * through the `customTemplateAsString` property of the `iconData`.\n * Ensure that the SVG content is properly validated.\n * Improperly sanitized SVG strings can lead to security vulnerabilities such as XSS (Cross-Site Scripting).\n *\n * @public\n * @param { string } name - The name of the icon to register.\n * @param { UnsafeIconData } iconData - The data for the icon: `collection`, `customTemplateAsString`, `packageName`\n * `viewBox`, `ltr` and `accData`.\n * @since 2.14.0\n */\nconst unsafeRegisterIcon = (name: string, iconData: UnsafeIconData) => {\n\tconst key = `${iconData.collection}/${name}`;\n\n\tconst data: UnsafeIconData = {\n\t\tcollection: iconData.collection,\n\t\tcustomTemplateAsString: iconData.customTemplateAsString,\n\t\tpackageName: iconData.packageName,\n\t\tviewBox: iconData.viewBox,\n\t\tltr: iconData.ltr,\n\t\taccData: iconData.accData,\n\t};\n\n\tregistry.set(key, data);\n};\n\n/**\n * Processes the full icon name and splits it into - \"name\", \"collection\".\n * - removes legacy protocol (\"sap-icon://\")\n * - resolves aliases (f.e \"SAP-icons-TNT/actor\" => \"tnt/actor\")\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\tif (collection) {\n\t\tcollection = getIconCollectionByAlias(collection);\n\t}\n\treturn { name, collection };\n};\n\nconst getIconDataSync = (iconName: string) => {\n\tconst { name, collection } = processName(iconName);\n\treturn getRegisteredIconData(collection, name);\n};\n\nconst getIconData = async (iconName: string) => {\n\tconst { name, collection } = processName(iconName);\n\n\tlet iconData: string | CollectionData | Array<CollectionData> = ICON_NOT_FOUND;\n\ttry {\n\t\ticonData = (await _loadIconCollectionOnce(getEffectiveIconCollection(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\tconst registeredIconData = getRegisteredIconData(collection, name);\n\n\tif (registeredIconData) {\n\t\treturn registeredIconData;\n\t}\n\n\t// not filled by another await. many getters will await on the same loader, but fill only once\n\tif (Array.isArray(iconData)) {\n\t\ticonData.forEach(data => {\n\t\t\t_fillRegistry(data);\n\t\t\tregisterIconCollectionForTheme(collection, { [data.themeFamily || DEFAULT_THEME_FAMILY]: data.collection });\n\t\t});\n\t} else {\n\t\t_fillRegistry(iconData as CollectionData);\n\t}\n\n\treturn getRegisteredIconData(collection, name);\n};\n\nconst getRegisteredIconData = (collection: string, name: string) => {\n\tconst registryKey = `${getEffectiveIconCollection(collection)}/${name}`;\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 | undefined): 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\tif (iconData.packageName) {\n\t\t\tconst i18nBundle = await getI18nBundle(iconData.packageName);\n\t\t\treturn i18nBundle.getText(iconData.accData);\n\t\t}\n\t\treturn iconData.accData?.defaultText || \"\";\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\tunsafeRegisterIcon,\n\t_getRegisteredNames,\n};\n\nexport type {\n\tIconData,\n\tUnsafeIconData,\n\tCollectionData,\n};\n"]}
@@ -0,0 +1,144 @@
1
+ import type { I18nText } from "../i18nBundle.js";
2
+ import type { TemplateFunction } from "../renderer/executeTemplate.js";
3
+ /**
4
+ * Loader function for lazy-loading illustration data.
5
+ */
6
+ type IllustrationLoader = (illustrationName: string) => Promise<UnsafeIllustrationData>;
7
+ /**
8
+ * Database properties shared by all illustration types.
9
+ */
10
+ type IllustrationDatabase = {
11
+ /** The illustration title text (supports i18n) */
12
+ title: I18nText;
13
+ /** The illustration subtitle text (supports i18n) */
14
+ subtitle: I18nText;
15
+ };
16
+ /**
17
+ * Illustration properties using template functions (recommended).
18
+ *
19
+ * @public
20
+ */
21
+ type IllustrationProperties = IllustrationDatabase & {
22
+ /** Template function for the medium variant (M breakpoint, ≤ 681px) */
23
+ dialogTemplate?: TemplateFunction;
24
+ /** Template function for the large variant (L breakpoint, > 681px) */
25
+ sceneTemplate?: TemplateFunction;
26
+ /** Template function for the small variant (S breakpoint, ≤ 360px) */
27
+ spotTemplate?: TemplateFunction;
28
+ /** Template function for the extra small variant (XS breakpoint, ≤ 260px) */
29
+ dotTemplate?: TemplateFunction;
30
+ };
31
+ /**
32
+ * Illustration properties using raw SVG strings (unsafe).
33
+ *
34
+ * @public
35
+ */
36
+ type UnsafeIllustrationProperties = IllustrationDatabase & {
37
+ /** SVG content for the medium variant (M breakpoint, ≤ 681px) */
38
+ dialogSvg: string;
39
+ /** SVG content for the large variant (L breakpoint, > 681px) */
40
+ sceneSvg: string;
41
+ /** SVG content for the small variant (S breakpoint, ≤ 360px) */
42
+ spotSvg: string;
43
+ /** SVG content for the extra small variant (XS breakpoint, ≤ 260px) */
44
+ dotSvg: string;
45
+ };
46
+ /**
47
+ * Complete illustration data for registration (recommended).
48
+ *
49
+ * @public
50
+ */
51
+ type IllustrationData = IllustrationProperties & {
52
+ /** The illustration set identifier (e.g., "custom") */
53
+ set: string;
54
+ /** Collection identifier (defaults to "V4") */
55
+ collection?: string;
56
+ };
57
+ /**
58
+ * Complete unsafe illustration data for registration.
59
+ *
60
+ * @public
61
+ */
62
+ type UnsafeIllustrationData = UnsafeIllustrationProperties & {
63
+ /** The illustration set identifier (e.g., "custom") */
64
+ set: string;
65
+ /** Collection identifier (defaults to "V4") */
66
+ collection?: string;
67
+ };
68
+ /**
69
+ * Registers a custom illustration in the global registry using template functions.
70
+ *
71
+ * This is the recommended way to register illustrations as it accepts template functions
72
+ * instead of raw SVG strings, preventing XSS vulnerabilities.
73
+ *
74
+ * @param name - The name of the illustration (without set prefix)
75
+ * @param data - The illustration data (see {@link IllustrationData})
76
+ *
77
+ * @public
78
+ * @since 2.17.0
79
+ * @example
80
+ * ```js
81
+ * import { registerIllustration } from "@ui5/webcomponents-base/dist/asset-registries/Illustrations.js";
82
+ *
83
+ * registerIllustration("EmptyCart", {
84
+ * sceneTemplate: (component) => <svg>...</svg>,
85
+ * dialogTemplate: (component) => <svg>...</svg>,
86
+ * spotTemplate: (component) => <svg>...</svg>,
87
+ * dotTemplate: (component) => <svg>...</svg>,
88
+ * title: "Your cart is empty",
89
+ * subtitle: "Add items to get started",
90
+ * set: "custom"
91
+ * });
92
+ * ```
93
+ */
94
+ declare const registerIllustration: (name: string, data: IllustrationData) => void;
95
+ /**
96
+ * Registers a custom illustration in the global registry.
97
+ *
98
+ * <b>Note:</b> This method is unsafe as it allows the SVG content to be passed as raw strings
99
+ * through the `dialogSvg`, `sceneSvg`, `spotSvg`, and `dotSvg` properties of the `data`.
100
+ * Ensure that the SVG content is properly validated.
101
+ * Improperly sanitized SVG strings can lead to security vulnerabilities such as XSS (Cross-Site Scripting).
102
+ *
103
+ * @param name - The name of the illustration (without set prefix)
104
+ * @param data - The illustration data (see {@link UnsafeIllustrationData})
105
+ *
106
+ * @public
107
+ * @since 2.17.0
108
+ * @example
109
+ * ```js
110
+ * import { unsafeRegisterIllustration } from "@ui5/webcomponents-base/dist/asset-registries/Illustrations.js";
111
+ *
112
+ * unsafeRegisterIllustration("EmptyCart", {
113
+ * sceneSvg: "<svg>...</svg>",
114
+ * dialogSvg: "<svg>...</svg>",
115
+ * spotSvg: "<svg>...</svg>",
116
+ * dotSvg: "<svg>...</svg>",
117
+ * title: "Your cart is empty",
118
+ * subtitle: "Add items to get started",
119
+ * set: "custom"
120
+ * });
121
+ * ```
122
+ */
123
+ declare const unsafeRegisterIllustration: (name: string, data: UnsafeIllustrationData) => void;
124
+ declare const registerIllustrationLoader: (illustrationName: string, loader: IllustrationLoader) => void;
125
+ /**
126
+ * Synchronously retrieves illustration data from the registry.
127
+ *
128
+ * @param illustrationName - The illustration identifier in format "set/name"
129
+ * @returns The illustration properties or undefined if not available
130
+ *
131
+ * @public
132
+ */
133
+ declare const getIllustrationDataSync: (illustrationName: string) => UnsafeIllustrationProperties | IllustrationProperties | undefined;
134
+ /**
135
+ * Asynchronously retrieves illustration data, loading it if necessary.
136
+ *
137
+ * @param illustrationName - The illustration identifier in format "set/name"
138
+ * @returns Promise resolving to illustration properties or undefined
139
+ *
140
+ * @public
141
+ */
142
+ declare const getIllustrationData: (illustrationName: string) => Promise<UnsafeIllustrationProperties | IllustrationProperties | undefined>;
143
+ export { getIllustrationDataSync, registerIllustration, unsafeRegisterIllustration, registerIllustrationLoader, getIllustrationData, };
144
+ export type { IllustrationData, UnsafeIllustrationData, IllustrationProperties, UnsafeIllustrationProperties, };
@@ -0,0 +1,158 @@
1
+ import getSharedResource from "../getSharedResource.js";
2
+ import { getTheme } from "../config/Theme.js";
3
+ const IllustrationCollections = new Map([
4
+ ["sap_horizon", "V5"],
5
+ ["sap_horizon_dark", "V5"],
6
+ ["sap_horizon_hcb", "V5/HC"],
7
+ ["sap_horizon_hcw", "V5/HC"],
8
+ ]);
9
+ const FALLBACK_COLLECTION = "V4";
10
+ const loaders = new Map();
11
+ const registry = getSharedResource("SVGIllustration.registry", new Map());
12
+ const illustrationPromises = getSharedResource("SVGIllustration.promises", new Map());
13
+ const getCollection = () => {
14
+ const theme = getTheme();
15
+ if (IllustrationCollections.has(theme)) {
16
+ return IllustrationCollections.get(theme);
17
+ }
18
+ return FALLBACK_COLLECTION;
19
+ };
20
+ /**
21
+ * Processes the name of the illustration
22
+ * The name is used to generate the registry key and the loader key
23
+ * The registry key is used to store and get the illustration data from the registry
24
+ * The loader key is used to store and get the illustration loader from the loaders map
25
+ * The function generates the correct registry key and loader key based on whether an loader exists for the illustration
26
+ * If there is no loader registered for the collection, it falls back to the default collection
27
+ */
28
+ const processName = (name) => {
29
+ let collection = getCollection();
30
+ const [set, illustrationName] = name.split("/");
31
+ let registryKey = `${set}/${collection}/${illustrationName}`;
32
+ if (!loaders.has(registryKey) && collection !== FALLBACK_COLLECTION) {
33
+ collection = FALLBACK_COLLECTION;
34
+ registryKey = `${set}/${collection}/${illustrationName}`;
35
+ }
36
+ return {
37
+ registryKey,
38
+ collection,
39
+ };
40
+ };
41
+ /**
42
+ * Registers a custom illustration in the global registry using template functions.
43
+ *
44
+ * This is the recommended way to register illustrations as it accepts template functions
45
+ * instead of raw SVG strings, preventing XSS vulnerabilities.
46
+ *
47
+ * @param name - The name of the illustration (without set prefix)
48
+ * @param data - The illustration data (see {@link IllustrationData})
49
+ *
50
+ * @public
51
+ * @since 2.17.0
52
+ * @example
53
+ * ```js
54
+ * import { registerIllustration } from "@ui5/webcomponents-base/dist/asset-registries/Illustrations.js";
55
+ *
56
+ * registerIllustration("EmptyCart", {
57
+ * sceneTemplate: (component) => <svg>...</svg>,
58
+ * dialogTemplate: (component) => <svg>...</svg>,
59
+ * spotTemplate: (component) => <svg>...</svg>,
60
+ * dotTemplate: (component) => <svg>...</svg>,
61
+ * title: "Your cart is empty",
62
+ * subtitle: "Add items to get started",
63
+ * set: "custom"
64
+ * });
65
+ * ```
66
+ */
67
+ const registerIllustration = (name, data) => {
68
+ const collection = data.collection || FALLBACK_COLLECTION;
69
+ registry.set(`${data.set}/${collection}/${name}`, {
70
+ dialogTemplate: data.dialogTemplate,
71
+ sceneTemplate: data.sceneTemplate,
72
+ spotTemplate: data.spotTemplate,
73
+ dotTemplate: data.dotTemplate,
74
+ title: data.title,
75
+ subtitle: data.subtitle,
76
+ });
77
+ };
78
+ /**
79
+ * Registers a custom illustration in the global registry.
80
+ *
81
+ * <b>Note:</b> This method is unsafe as it allows the SVG content to be passed as raw strings
82
+ * through the `dialogSvg`, `sceneSvg`, `spotSvg`, and `dotSvg` properties of the `data`.
83
+ * Ensure that the SVG content is properly validated.
84
+ * Improperly sanitized SVG strings can lead to security vulnerabilities such as XSS (Cross-Site Scripting).
85
+ *
86
+ * @param name - The name of the illustration (without set prefix)
87
+ * @param data - The illustration data (see {@link UnsafeIllustrationData})
88
+ *
89
+ * @public
90
+ * @since 2.17.0
91
+ * @example
92
+ * ```js
93
+ * import { unsafeRegisterIllustration } from "@ui5/webcomponents-base/dist/asset-registries/Illustrations.js";
94
+ *
95
+ * unsafeRegisterIllustration("EmptyCart", {
96
+ * sceneSvg: "<svg>...</svg>",
97
+ * dialogSvg: "<svg>...</svg>",
98
+ * spotSvg: "<svg>...</svg>",
99
+ * dotSvg: "<svg>...</svg>",
100
+ * title: "Your cart is empty",
101
+ * subtitle: "Add items to get started",
102
+ * set: "custom"
103
+ * });
104
+ * ```
105
+ */
106
+ const unsafeRegisterIllustration = (name, data) => {
107
+ const collection = data.collection || FALLBACK_COLLECTION;
108
+ registry.set(`${data.set}/${collection}/${name}`, {
109
+ dialogSvg: data.dialogSvg,
110
+ sceneSvg: data.sceneSvg,
111
+ spotSvg: data.spotSvg,
112
+ dotSvg: data.dotSvg,
113
+ title: data.title,
114
+ subtitle: data.subtitle,
115
+ });
116
+ };
117
+ const registerIllustrationLoader = (illustrationName, loader) => {
118
+ loaders.set(illustrationName, loader);
119
+ };
120
+ const _loadIllustrationOnce = (illustrationName) => {
121
+ const { registryKey } = processName(illustrationName);
122
+ if (!illustrationPromises.has(registryKey)) {
123
+ if (!loaders.has(registryKey)) {
124
+ const illustrationPath = illustrationName.startsWith("fiori/") ? illustrationName.replace("fiori/", "") : illustrationName;
125
+ throw 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.`);
126
+ }
127
+ const loadIllustrations = loaders.get(registryKey);
128
+ illustrationPromises.set(registryKey, loadIllustrations(registryKey));
129
+ }
130
+ return illustrationPromises.get(registryKey);
131
+ };
132
+ /**
133
+ * Synchronously retrieves illustration data from the registry.
134
+ *
135
+ * @param illustrationName - The illustration identifier in format "set/name"
136
+ * @returns The illustration properties or undefined if not available
137
+ *
138
+ * @public
139
+ */
140
+ const getIllustrationDataSync = (illustrationName) => {
141
+ const { registryKey } = processName(illustrationName);
142
+ return registry.get(registryKey);
143
+ };
144
+ /**
145
+ * Asynchronously retrieves illustration data, loading it if necessary.
146
+ *
147
+ * @param illustrationName - The illustration identifier in format "set/name"
148
+ * @returns Promise resolving to illustration properties or undefined
149
+ *
150
+ * @public
151
+ */
152
+ const getIllustrationData = async (illustrationName) => {
153
+ const { registryKey } = processName(illustrationName);
154
+ await _loadIllustrationOnce(illustrationName);
155
+ return registry.get(registryKey);
156
+ };
157
+ export { getIllustrationDataSync, registerIllustration, unsafeRegisterIllustration, registerIllustrationLoader, getIllustrationData, };
158
+ //# sourceMappingURL=Illustrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Illustrations.js","sourceRoot":"","sources":["../../src/asset-registries/Illustrations.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA0E9C,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACvC,CAAC,aAAa,EAAE,IAAI,CAAC;IACrB,CAAC,kBAAkB,EAAE,IAAI,CAAC;IAC1B,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC5B,CAAC,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;AACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAqE,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAC9I,MAAM,oBAAoB,GAAG,iBAAiB,CAA+C,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAEpI,MAAM,aAAa,GAAG,GAAG,EAAE;IAC1B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC5B,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IACpC,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,WAAW,GAAG,GAAG,GAAG,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;IAE7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,UAAU,KAAK,mBAAmB,EAAE,CAAC;QACrE,UAAU,GAAG,mBAAmB,CAAC;QACjC,WAAW,GAAG,GAAG,GAAG,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,WAAW;QACX,UAAU;KACV,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,IAAsB,EAAE,EAAE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAC1D,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,UAAU,IAAI,IAAI,EAAE,EAAE;QACjD,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,IAA4B,EAAE,EAAE;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAC1D,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,UAAU,IAAI,IAAI,EAAE,EAAE;QACjD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,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,CAAC,gBAAwB,EAAE,EAAE;IAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACtD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC3H,MAAM,IAAI,KAAK,CAAC,gCAAgC,gBAAgB,iGAAiG,gBAAgB,uLAAuL,CAAC,CAAC;QAC3W,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;QACpD,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAG,CAAC,gBAAwB,EAAE,EAAE;IAC5D,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;IAC9D,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAEtD,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,GACnB,CAAC","sourcesContent":["import getSharedResource from \"../getSharedResource.js\";\nimport type { I18nText } from \"../i18nBundle.js\";\nimport { getTheme } from \"../config/Theme.js\";\nimport type { TemplateFunction } from \"../renderer/executeTemplate.js\";\n\n/**\n * Loader function for lazy-loading illustration data.\n */\ntype IllustrationLoader = (illustrationName: string) => Promise<UnsafeIllustrationData>;\n\n/**\n * Database properties shared by all illustration types.\n */\ntype IllustrationDatabase = {\n\t/** The illustration title text (supports i18n) */\n\ttitle: I18nText,\n\t/** The illustration subtitle text (supports i18n) */\n\tsubtitle: I18nText,\n};\n\n/**\n * Illustration properties using template functions (recommended).\n *\n * @public\n */\ntype IllustrationProperties = IllustrationDatabase & {\n\t/** Template function for the medium variant (M breakpoint, ≤ 681px) */\n\tdialogTemplate?: TemplateFunction,\n\t/** Template function for the large variant (L breakpoint, > 681px) */\n\tsceneTemplate?: TemplateFunction,\n\t/** Template function for the small variant (S breakpoint, ≤ 360px) */\n\tspotTemplate?: TemplateFunction,\n\t/** Template function for the extra small variant (XS breakpoint, ≤ 260px) */\n\tdotTemplate?: TemplateFunction,\n};\n\n/**\n * Illustration properties using raw SVG strings (unsafe).\n *\n * @public\n */\ntype UnsafeIllustrationProperties = IllustrationDatabase & {\n\t/** SVG content for the medium variant (M breakpoint, ≤ 681px) */\n\tdialogSvg: string,\n\t/** SVG content for the large variant (L breakpoint, > 681px) */\n\tsceneSvg: string,\n\t/** SVG content for the small variant (S breakpoint, ≤ 360px) */\n\tspotSvg: string,\n\t/** SVG content for the extra small variant (XS breakpoint, ≤ 260px) */\n\tdotSvg: string,\n};\n\n/**\n * Complete illustration data for registration (recommended).\n *\n * @public\n */\ntype IllustrationData = IllustrationProperties & {\n\t/** The illustration set identifier (e.g., \"custom\") */\n\tset: string,\n\t/** Collection identifier (defaults to \"V4\") */\n\tcollection?: string,\n};\n\n/**\n * Complete unsafe illustration data for registration.\n *\n * @public\n */\ntype UnsafeIllustrationData = UnsafeIllustrationProperties & {\n\t/** The illustration set identifier (e.g., \"custom\") */\n\tset: string,\n\t/** Collection identifier (defaults to \"V4\") */\n\tcollection?: string,\n};\n\nconst IllustrationCollections = new Map([\n\t[\"sap_horizon\", \"V5\"],\n\t[\"sap_horizon_dark\", \"V5\"],\n\t[\"sap_horizon_hcb\", \"V5/HC\"],\n\t[\"sap_horizon_hcw\", \"V5/HC\"],\n]);\n\nconst FALLBACK_COLLECTION = \"V4\";\n\nconst loaders = new Map<string, IllustrationLoader>();\nconst registry = getSharedResource<Map<string, IllustrationProperties | UnsafeIllustrationProperties>>(\"SVGIllustration.registry\", new Map());\nconst illustrationPromises = getSharedResource<Map<string, Promise<UnsafeIllustrationData>>>(\"SVGIllustration.promises\", new Map());\n\nconst getCollection = () => {\n\tconst theme = getTheme();\n\n\tif (IllustrationCollections.has(theme)) {\n\t\treturn IllustrationCollections.get(theme);\n\t}\n\n\treturn FALLBACK_COLLECTION;\n};\n\n/**\n * Processes the name of the illustration\n * The name is used to generate the registry key and the loader key\n * The registry key is used to store and get the illustration data from the registry\n * The loader key is used to store and get the illustration loader from the loaders map\n * The function generates the correct registry key and loader key based on whether an loader exists for the illustration\n * If there is no loader registered for the collection, it falls back to the default collection\n */\nconst processName = (name: string) => {\n\tlet collection = getCollection();\n\tconst [set, illustrationName] = name.split(\"/\");\n\tlet registryKey = `${set}/${collection}/${illustrationName}`;\n\n\tif (!loaders.has(registryKey) && collection !== FALLBACK_COLLECTION) {\n\t\tcollection = FALLBACK_COLLECTION;\n\t\tregistryKey = `${set}/${collection}/${illustrationName}`;\n\t}\n\n\treturn {\n\t\tregistryKey,\n\t\tcollection,\n\t};\n};\n\n/**\n * Registers a custom illustration in the global registry using template functions.\n *\n * This is the recommended way to register illustrations as it accepts template functions\n * instead of raw SVG strings, preventing XSS vulnerabilities.\n *\n * @param name - The name of the illustration (without set prefix)\n * @param data - The illustration data (see {@link IllustrationData})\n *\n * @public\n * @since 2.17.0\n * @example\n * ```js\n * import { registerIllustration } from \"@ui5/webcomponents-base/dist/asset-registries/Illustrations.js\";\n *\n * registerIllustration(\"EmptyCart\", {\n * sceneTemplate: (component) => <svg>...</svg>,\n * dialogTemplate: (component) => <svg>...</svg>,\n * spotTemplate: (component) => <svg>...</svg>,\n * dotTemplate: (component) => <svg>...</svg>,\n * title: \"Your cart is empty\",\n * subtitle: \"Add items to get started\",\n * set: \"custom\"\n * });\n * ```\n */\nconst registerIllustration = (name: string, data: IllustrationData) => {\n\tconst collection = data.collection || FALLBACK_COLLECTION;\n\tregistry.set(`${data.set}/${collection}/${name}`, {\n\t\tdialogTemplate: data.dialogTemplate,\n\t\tsceneTemplate: data.sceneTemplate,\n\t\tspotTemplate: data.spotTemplate,\n\t\tdotTemplate: data.dotTemplate,\n\t\ttitle: data.title,\n\t\tsubtitle: data.subtitle,\n\t});\n};\n\n/**\n * Registers a custom illustration in the global registry.\n *\n * <b>Note:</b> This method is unsafe as it allows the SVG content to be passed as raw strings\n * through the `dialogSvg`, `sceneSvg`, `spotSvg`, and `dotSvg` properties of the `data`.\n * Ensure that the SVG content is properly validated.\n * Improperly sanitized SVG strings can lead to security vulnerabilities such as XSS (Cross-Site Scripting).\n *\n * @param name - The name of the illustration (without set prefix)\n * @param data - The illustration data (see {@link UnsafeIllustrationData})\n *\n * @public\n * @since 2.17.0\n * @example\n * ```js\n * import { unsafeRegisterIllustration } from \"@ui5/webcomponents-base/dist/asset-registries/Illustrations.js\";\n *\n * unsafeRegisterIllustration(\"EmptyCart\", {\n * sceneSvg: \"<svg>...</svg>\",\n * dialogSvg: \"<svg>...</svg>\",\n * spotSvg: \"<svg>...</svg>\",\n * dotSvg: \"<svg>...</svg>\",\n * title: \"Your cart is empty\",\n * subtitle: \"Add items to get started\",\n * set: \"custom\"\n * });\n * ```\n */\nconst unsafeRegisterIllustration = (name: string, data: UnsafeIllustrationData) => {\n\tconst collection = data.collection || FALLBACK_COLLECTION;\n\tregistry.set(`${data.set}/${collection}/${name}`, {\n\t\tdialogSvg: data.dialogSvg,\n\t\tsceneSvg: data.sceneSvg,\n\t\tspotSvg: data.spotSvg,\n\t\tdotSvg: data.dotSvg,\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 = (illustrationName: string) => {\n\tconst { registryKey } = processName(illustrationName);\n\tif (!illustrationPromises.has(registryKey)) {\n\t\tif (!loaders.has(registryKey)) {\n\t\t\tconst illustrationPath = illustrationName.startsWith(\"fiori/\") ? illustrationName.replace(\"fiori/\", \"\") : 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(registryKey)!;\n\t\tillustrationPromises.set(registryKey, loadIllustrations(registryKey));\n\t}\n\treturn illustrationPromises.get(registryKey);\n};\n\n/**\n * Synchronously retrieves illustration data from the registry.\n *\n * @param illustrationName - The illustration identifier in format \"set/name\"\n * @returns The illustration properties or undefined if not available\n *\n * @public\n */\nconst getIllustrationDataSync = (illustrationName: string) => {\n\tconst { registryKey } = processName(illustrationName);\n\treturn registry.get(registryKey);\n};\n\n/**\n * Asynchronously retrieves illustration data, loading it if necessary.\n *\n * @param illustrationName - The illustration identifier in format \"set/name\"\n * @returns Promise resolving to illustration properties or undefined\n *\n * @public\n */\nconst getIllustrationData = async (illustrationName: string) => {\n\tconst { registryKey } = processName(illustrationName);\n\n\tawait _loadIllustrationOnce(illustrationName);\n\treturn registry.get(registryKey);\n};\n\nexport {\n\tgetIllustrationDataSync,\n\tregisterIllustration,\n\tunsafeRegisterIllustration,\n\tregisterIllustrationLoader,\n\tgetIllustrationData,\n};\n\nexport type {\n\tIllustrationData,\n\tUnsafeIllustrationData,\n\tIllustrationProperties,\n\tUnsafeIllustrationProperties,\n};\n"]}
@@ -0,0 +1,7 @@
1
+ type LocaleDataLoader = (locale: string) => Promise<CLDRData>;
2
+ type CLDRData = Record<string, object | boolean | string>;
3
+ declare const getLocaleData: (localeId: string) => CLDRData;
4
+ declare const fetchCldr: (language: string, region: string, script: string) => Promise<void>;
5
+ declare const registerLocaleDataLoader: (localeId: string, loader: LocaleDataLoader) => void;
6
+ export { registerLocaleDataLoader, fetchCldr, getLocaleData, };
7
+ export type { CLDRData, };