@ui5/webcomponents-base 0.0.0-0fcda382e → 0.0.0-10f3c0dc7

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 (1385) hide show
  1. package/.npsrc.json +3 -0
  2. package/AGENTS.md +195 -0
  3. package/CHANGELOG.md +3262 -0
  4. package/CLAUDE.md +1 -0
  5. package/LICENSE.txt +201 -0
  6. package/README.md +51 -11
  7. package/cypress.config.js +3 -0
  8. package/dist/.tsbuildinfobuild +1 -0
  9. package/dist/AssetRegistry.d.ts +5 -0
  10. package/dist/AssetRegistry.js +6 -9
  11. package/dist/AssetRegistry.js.map +1 -0
  12. package/dist/Assets-fetch.d.ts +1 -0
  13. package/dist/Assets-fetch.js +3 -0
  14. package/dist/Assets-fetch.js.map +1 -0
  15. package/dist/Assets-node.d.ts +12 -0
  16. package/dist/Assets-node.js +14 -0
  17. package/dist/Assets-node.js.map +1 -0
  18. package/dist/Assets.d.ts +1 -0
  19. package/dist/Assets.js +3 -0
  20. package/dist/Assets.js.map +1 -0
  21. package/dist/Boot.d.ts +11 -0
  22. package/dist/Boot.js +105 -0
  23. package/dist/Boot.js.map +1 -0
  24. package/dist/CustomElementsRegistry.d.ts +6 -0
  25. package/dist/CustomElementsRegistry.js +76 -18
  26. package/dist/CustomElementsRegistry.js.map +1 -0
  27. package/dist/CustomElementsScope.d.ts +7 -0
  28. package/dist/CustomElementsScope.js +11 -0
  29. package/dist/CustomElementsScope.js.map +1 -0
  30. package/dist/CustomElementsScopeUtils.d.ts +71 -0
  31. package/dist/CustomElementsScopeUtils.js +119 -0
  32. package/dist/CustomElementsScopeUtils.js.map +1 -0
  33. package/dist/DOMObserver.d.ts +11 -0
  34. package/dist/DOMObserver.js +23 -0
  35. package/dist/DOMObserver.js.map +1 -0
  36. package/dist/Device.d.ts +27 -0
  37. package/dist/Device.js +163 -815
  38. package/dist/Device.js.map +1 -0
  39. package/dist/DragAndDrop.d.ts +2 -0
  40. package/dist/DragAndDrop.js +5 -0
  41. package/dist/DragAndDrop.js.map +1 -0
  42. package/dist/EventProvider.d.ts +25 -0
  43. package/dist/EventProvider.js +67 -70
  44. package/dist/EventProvider.js.map +1 -0
  45. package/dist/FeaturesRegistry.d.ts +3 -0
  46. package/dist/FeaturesRegistry.js +5 -7
  47. package/dist/FeaturesRegistry.js.map +1 -0
  48. package/dist/FontFace.css +36 -0
  49. package/dist/FontFace.d.ts +2 -0
  50. package/dist/FontFace.js +18 -69
  51. package/dist/FontFace.js.map +1 -0
  52. package/dist/IgnoreCustomElements.d.ts +25 -0
  53. package/dist/IgnoreCustomElements.js +37 -0
  54. package/dist/IgnoreCustomElements.js.map +1 -0
  55. package/dist/InitialConfiguration.d.ts +35 -0
  56. package/dist/InitialConfiguration.js +158 -104
  57. package/dist/InitialConfiguration.js.map +1 -0
  58. package/dist/Keys.d.ts +67 -0
  59. package/dist/Keys.js +185 -157
  60. package/dist/Keys.js.map +1 -0
  61. package/dist/Location.d.ts +11 -0
  62. package/dist/Location.js +49 -0
  63. package/dist/Location.js.map +1 -0
  64. package/dist/ManagedStyles.d.ts +7 -0
  65. package/dist/ManagedStyles.js +69 -0
  66. package/dist/ManagedStyles.js.map +1 -0
  67. package/dist/MediaRange.d.ts +31 -0
  68. package/dist/MediaRange.js +88 -0
  69. package/dist/MediaRange.js.map +1 -0
  70. package/dist/PropertiesFileFormat.d.ts +8 -0
  71. package/dist/PropertiesFileFormat.js +85 -0
  72. package/dist/PropertiesFileFormat.js.map +1 -0
  73. package/dist/Render.d.ts +55 -0
  74. package/dist/Render.js +155 -0
  75. package/dist/Render.js.map +1 -0
  76. package/dist/RenderQueue.d.ts +19 -0
  77. package/dist/RenderQueue.js +53 -39
  78. package/dist/RenderQueue.js.map +1 -0
  79. package/dist/Runtimes.d.ts +32 -0
  80. package/dist/Runtimes.js +98 -0
  81. package/dist/Runtimes.js.map +1 -0
  82. package/dist/ScrollbarStyles.d.ts +2 -0
  83. package/dist/ScrollbarStyles.js +9 -0
  84. package/dist/ScrollbarStyles.js.map +1 -0
  85. package/dist/SystemCSSVars.d.ts +2 -0
  86. package/dist/SystemCSSVars.js +7 -0
  87. package/dist/SystemCSSVars.js.map +1 -0
  88. package/dist/Theming.d.ts +3 -0
  89. package/dist/Theming.js +3 -2
  90. package/dist/Theming.js.map +1 -0
  91. package/dist/UI5Element.d.ts +451 -0
  92. package/dist/UI5Element.js +1171 -883
  93. package/dist/UI5Element.js.map +1 -0
  94. package/dist/UI5ElementMetadata.d.ts +159 -0
  95. package/dist/UI5ElementMetadata.js +237 -164
  96. package/dist/UI5ElementMetadata.js.map +1 -0
  97. package/dist/animations/AnimationQueue.d.ts +8 -0
  98. package/dist/animations/AnimationQueue.js +31 -38
  99. package/dist/animations/AnimationQueue.js.map +1 -0
  100. package/dist/animations/animate.d.ts +14 -0
  101. package/dist/animations/animate.js +46 -51
  102. package/dist/animations/animate.js.map +1 -0
  103. package/dist/animations/scroll.d.ts +5 -0
  104. package/dist/animations/scroll.js +18 -27
  105. package/dist/animations/scroll.js.map +1 -0
  106. package/dist/animations/slideDown.d.ts +5 -0
  107. package/dist/animations/slideDown.js +53 -78
  108. package/dist/animations/slideDown.js.map +1 -0
  109. package/dist/animations/slideUp.d.ts +5 -0
  110. package/dist/animations/slideUp.js +49 -70
  111. package/dist/animations/slideUp.js.map +1 -0
  112. package/dist/asset-registries/Icons.d.ts +74 -0
  113. package/dist/asset-registries/Icons.js +180 -24
  114. package/dist/asset-registries/Icons.js.map +1 -0
  115. package/dist/asset-registries/Illustrations.d.ts +144 -0
  116. package/dist/asset-registries/Illustrations.js +158 -0
  117. package/dist/asset-registries/Illustrations.js.map +1 -0
  118. package/dist/asset-registries/LocaleData.d.ts +7 -0
  119. package/dist/asset-registries/LocaleData.js +126 -114
  120. package/dist/asset-registries/LocaleData.js.map +1 -0
  121. package/dist/asset-registries/Themes.d.ts +12 -0
  122. package/dist/asset-registries/Themes.js +58 -78
  123. package/dist/asset-registries/Themes.js.map +1 -0
  124. package/dist/asset-registries/i18n.d.ts +23 -0
  125. package/dist/asset-registries/i18n.js +83 -60
  126. package/dist/asset-registries/i18n.js.map +1 -0
  127. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  128. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  129. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  130. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  131. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  132. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  133. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  134. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  135. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  136. package/dist/config/AnimationMode.d.ts +14 -0
  137. package/dist/config/AnimationMode.js +28 -10
  138. package/dist/config/AnimationMode.js.map +1 -0
  139. package/dist/config/CalendarType.d.ts +15 -0
  140. package/dist/config/CalendarType.js +36 -14
  141. package/dist/config/CalendarType.js.map +1 -0
  142. package/dist/config/ConfigurationReset.d.ts +4 -0
  143. package/dist/config/ConfigurationReset.js +11 -0
  144. package/dist/config/ConfigurationReset.js.map +1 -0
  145. package/dist/config/ConfigurationSync.d.ts +16 -0
  146. package/dist/config/ConfigurationSync.js +42 -0
  147. package/dist/config/ConfigurationSync.js.map +1 -0
  148. package/dist/config/Fonts.d.ts +16 -0
  149. package/dist/config/Fonts.js +30 -0
  150. package/dist/config/Fonts.js.map +1 -0
  151. package/dist/config/FormatSettings.d.ts +15 -0
  152. package/dist/config/FormatSettings.js +19 -9
  153. package/dist/config/FormatSettings.js.map +1 -0
  154. package/dist/config/Icons.d.ts +40 -0
  155. package/dist/config/Icons.js +44 -0
  156. package/dist/config/Icons.js.map +1 -0
  157. package/dist/config/Language.d.ts +41 -0
  158. package/dist/config/Language.js +97 -10
  159. package/dist/config/Language.js.map +1 -0
  160. package/dist/config/NoConflict.d.ts +20 -0
  161. package/dist/config/NoConflict.js +45 -41
  162. package/dist/config/NoConflict.js.map +1 -0
  163. package/dist/config/Theme.d.ts +51 -0
  164. package/dist/config/Theme.js +101 -24
  165. package/dist/config/Theme.js.map +1 -0
  166. package/dist/config/ThemeRoot.d.ts +29 -0
  167. package/dist/config/ThemeRoot.js +68 -0
  168. package/dist/config/ThemeRoot.js.map +1 -0
  169. package/dist/config/Timezone.d.ts +17 -0
  170. package/dist/config/Timezone.js +34 -0
  171. package/dist/config/Timezone.js.map +1 -0
  172. package/dist/config/Tooltips.d.ts +19 -0
  173. package/dist/config/Tooltips.js +29 -0
  174. package/dist/config/Tooltips.js.map +1 -0
  175. package/dist/config/UrlParams.d.ts +20 -0
  176. package/dist/config/UrlParams.js +30 -0
  177. package/dist/config/UrlParams.js.map +1 -0
  178. package/dist/connectToComponent.d.ts +9 -0
  179. package/dist/connectToComponent.js +59 -0
  180. package/dist/connectToComponent.js.map +1 -0
  181. package/dist/converters/DOMReference.d.ts +5 -0
  182. package/dist/converters/DOMReference.js +13 -0
  183. package/dist/converters/DOMReference.js.map +1 -0
  184. package/dist/createReactComponent.d.ts +26 -0
  185. package/dist/createReactComponent.js +51 -0
  186. package/dist/createReactComponent.js.map +1 -0
  187. package/dist/css/BusyIndicator.css +80 -0
  188. package/dist/css/MultipleDragGhost.css +17 -0
  189. package/dist/css/OpenUI5PopupStyles.css +10 -0
  190. package/dist/css/ScrollbarStyles.css +3 -0
  191. package/dist/css/SystemCSSVars.css +34 -0
  192. package/dist/custom-elements-internal.json +2962 -0
  193. package/dist/custom-elements.json +2659 -0
  194. package/dist/decorators/bound.d.ts +1 -0
  195. package/dist/decorators/bound.js +34 -0
  196. package/dist/decorators/bound.js.map +1 -0
  197. package/dist/decorators/customElement.d.ts +63 -0
  198. package/dist/decorators/customElement.js +45 -0
  199. package/dist/decorators/customElement.js.map +1 -0
  200. package/dist/decorators/event-strict.d.ts +15 -0
  201. package/dist/decorators/event-strict.js +26 -0
  202. package/dist/decorators/event-strict.js.map +1 -0
  203. package/dist/decorators/event.d.ts +16 -0
  204. package/dist/decorators/event.js +27 -0
  205. package/dist/decorators/event.js.map +1 -0
  206. package/dist/decorators/i18n.d.ts +17 -0
  207. package/dist/decorators/i18n.js +32 -0
  208. package/dist/decorators/i18n.js.map +1 -0
  209. package/dist/decorators/property.d.ts +9 -0
  210. package/dist/decorators/property.js +24 -0
  211. package/dist/decorators/property.js.map +1 -0
  212. package/dist/decorators/query.d.ts +25 -0
  213. package/dist/decorators/query.js +32 -0
  214. package/dist/decorators/query.js.map +1 -0
  215. package/dist/decorators/queryAll.d.ts +27 -0
  216. package/dist/decorators/queryAll.js +34 -0
  217. package/dist/decorators/queryAll.js.map +1 -0
  218. package/dist/decorators/slot-strict.d.ts +27 -0
  219. package/dist/decorators/slot-strict.js +54 -0
  220. package/dist/decorators/slot-strict.js.map +1 -0
  221. package/dist/decorators/slot.d.ts +27 -0
  222. package/dist/decorators/slot.js +55 -0
  223. package/dist/decorators/slot.js.map +1 -0
  224. package/dist/decorators.d.ts +9 -0
  225. package/dist/decorators.js +10 -0
  226. package/dist/decorators.js.map +1 -0
  227. package/dist/delegate/ItemNavigation.d.ts +114 -0
  228. package/dist/delegate/ItemNavigation.js +311 -274
  229. package/dist/delegate/ItemNavigation.js.map +1 -0
  230. package/dist/delegate/ResizeHandler.d.ts +23 -0
  231. package/dist/delegate/ResizeHandler.js +82 -63
  232. package/dist/delegate/ResizeHandler.js.map +1 -0
  233. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  234. package/dist/delegate/ScrollEnablement.js +159 -153
  235. package/dist/delegate/ScrollEnablement.js.map +1 -0
  236. package/dist/features/F6Navigation.d.ts +21 -0
  237. package/dist/features/F6Navigation.js +198 -0
  238. package/dist/features/F6Navigation.js.map +1 -0
  239. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  240. package/dist/features/InputElementsFormSupport.js +61 -0
  241. package/dist/features/InputElementsFormSupport.js.map +1 -0
  242. package/dist/features/LegacyDateFormats.d.ts +18 -0
  243. package/dist/features/LegacyDateFormats.js +20 -0
  244. package/dist/features/LegacyDateFormats.js.map +1 -0
  245. package/dist/features/OpenUI5Element.d.ts +9 -0
  246. package/dist/features/OpenUI5Element.js +5 -0
  247. package/dist/features/OpenUI5Element.js.map +1 -0
  248. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  249. package/dist/features/OpenUI5Enablement.js +96 -0
  250. package/dist/features/OpenUI5Enablement.js.map +1 -0
  251. package/dist/features/OpenUI5Support.d.ts +45 -0
  252. package/dist/features/OpenUI5Support.js +183 -86
  253. package/dist/features/OpenUI5Support.js.map +1 -0
  254. package/dist/features/insertOpenUI5PopupStyles.d.ts +2 -0
  255. package/dist/features/insertOpenUI5PopupStyles.js +9 -0
  256. package/dist/features/insertOpenUI5PopupStyles.js.map +1 -0
  257. package/dist/features/patchPatcher.d.ts +12 -0
  258. package/dist/features/patchPatcher.js +21 -0
  259. package/dist/features/patchPatcher.js.map +1 -0
  260. package/dist/features/patchPopup.d.ts +33 -0
  261. package/dist/features/patchPopup.js +192 -0
  262. package/dist/features/patchPopup.js.map +1 -0
  263. package/dist/generated/AssetParameters.d.ts +6 -0
  264. package/dist/generated/AssetParameters.js +4 -9
  265. package/dist/generated/AssetParameters.js.map +1 -0
  266. package/dist/generated/VersionInfo.d.ts +10 -0
  267. package/dist/generated/VersionInfo.js +11 -0
  268. package/dist/generated/VersionInfo.js.map +1 -0
  269. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -0
  270. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -0
  271. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -0
  272. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -0
  273. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -0
  274. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  275. package/dist/generated/assets/i18n/messagebundle_da.json +1 -0
  276. package/dist/generated/assets/i18n/messagebundle_de.json +1 -0
  277. package/dist/generated/assets/i18n/messagebundle_el.json +1 -0
  278. package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
  279. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  280. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  281. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  282. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  283. package/dist/generated/assets/i18n/messagebundle_es.json +1 -0
  284. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  285. package/dist/generated/assets/i18n/messagebundle_et.json +1 -0
  286. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -0
  287. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -0
  288. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  289. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -0
  290. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -0
  291. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -0
  292. package/dist/generated/assets/i18n/messagebundle_id.json +1 -0
  293. package/dist/generated/assets/i18n/messagebundle_it.json +1 -0
  294. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -0
  295. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -0
  296. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -0
  297. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -0
  298. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -0
  299. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -0
  300. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -0
  301. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -0
  302. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -0
  303. package/dist/generated/assets/i18n/messagebundle_no.json +1 -0
  304. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -0
  305. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -0
  306. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  307. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -0
  308. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -0
  309. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -0
  310. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -0
  311. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -0
  312. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -0
  313. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -0
  314. package/dist/generated/assets/i18n/messagebundle_th.json +1 -0
  315. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -0
  316. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -0
  317. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -0
  318. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
  319. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
  320. package/dist/generated/css/BusyIndicator.css.d.ts +2 -0
  321. package/dist/generated/css/BusyIndicator.css.js +2 -0
  322. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  323. package/dist/generated/css/FontFace.css.d.ts +2 -0
  324. package/dist/generated/css/FontFace.css.js +37 -0
  325. package/dist/generated/css/FontFace.css.js.map +1 -0
  326. package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
  327. package/dist/generated/css/MultipleDragGhost.css.js +2 -0
  328. package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
  329. package/dist/generated/css/OpenUI5PopupStyles.css.d.ts +2 -0
  330. package/dist/generated/css/OpenUI5PopupStyles.css.js +2 -0
  331. package/dist/generated/css/OpenUI5PopupStyles.css.js.map +1 -0
  332. package/dist/generated/css/ScrollbarStyles.css.d.ts +2 -0
  333. package/dist/generated/css/ScrollbarStyles.css.js +2 -0
  334. package/dist/generated/css/ScrollbarStyles.css.js.map +1 -0
  335. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -0
  336. package/dist/generated/css/SystemCSSVars.css.js +2 -0
  337. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  338. package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
  339. package/dist/generated/i18n/i18n-defaults.js +3 -0
  340. package/dist/generated/i18n/i18n-defaults.js.map +1 -0
  341. package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
  342. package/dist/generated/json-imports/i18n-fetch.js +2 -0
  343. package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
  344. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  345. package/dist/generated/json-imports/i18n-node.js +2 -0
  346. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  347. package/dist/generated/json-imports/i18n.d.ts +1 -0
  348. package/dist/generated/json-imports/i18n.js +2 -0
  349. package/dist/generated/json-imports/i18n.js.map +1 -0
  350. package/dist/getSharedResource.d.ts +11 -0
  351. package/dist/getSharedResource.js +40 -0
  352. package/dist/getSharedResource.js.map +1 -0
  353. package/dist/global.d.ts +40 -0
  354. package/dist/i18nBundle.d.ts +41 -0
  355. package/dist/i18nBundle.js +71 -28
  356. package/dist/i18nBundle.js.map +1 -0
  357. package/dist/index.d.ts +51 -0
  358. package/dist/index.js +93 -0
  359. package/dist/index.js.map +1 -0
  360. package/dist/jsx-dev-runtime.d.ts +4 -0
  361. package/dist/jsx-dev-runtime.js +43 -0
  362. package/dist/jsx-dev-runtime.js.map +1 -0
  363. package/dist/jsx-runtime.d.ts +51 -0
  364. package/dist/jsx-runtime.js +27 -0
  365. package/dist/jsx-runtime.js.map +1 -0
  366. package/dist/jsx-utils.d.ts +3 -0
  367. package/dist/jsx-utils.js +48 -0
  368. package/dist/jsx-utils.js.map +1 -0
  369. package/dist/locale/Locale.d.ts +22 -0
  370. package/dist/locale/Locale.js +75 -87
  371. package/dist/locale/Locale.js.map +1 -0
  372. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  373. package/dist/locale/RTLAwareRegistry.js +9 -0
  374. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  375. package/dist/locale/applyDirection.d.ts +11 -0
  376. package/dist/locale/applyDirection.js +18 -0
  377. package/dist/locale/applyDirection.js.map +1 -0
  378. package/dist/locale/directionChange.d.ts +15 -0
  379. package/dist/locale/directionChange.js +24 -0
  380. package/dist/locale/directionChange.js.map +1 -0
  381. package/dist/locale/getEffectiveDir.d.ts +2 -0
  382. package/dist/locale/getEffectiveDir.js +8 -0
  383. package/dist/locale/getEffectiveDir.js.map +1 -0
  384. package/dist/locale/getLocale.d.ts +7 -0
  385. package/dist/locale/getLocale.js +28 -21
  386. package/dist/locale/getLocale.js.map +1 -0
  387. package/dist/locale/languageChange.d.ts +5 -0
  388. package/dist/locale/languageChange.js +14 -0
  389. package/dist/locale/languageChange.js.map +1 -0
  390. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  391. package/dist/locale/nextFallbackLocale.js +19 -19
  392. package/dist/locale/nextFallbackLocale.js.map +1 -0
  393. package/dist/locale/normalizeLocale.d.ts +7 -0
  394. package/dist/locale/normalizeLocale.js +34 -41
  395. package/dist/locale/normalizeLocale.js.map +1 -0
  396. package/dist/prod/AssetRegistry.js +2 -0
  397. package/dist/prod/AssetRegistry.js.map +7 -0
  398. package/dist/prod/Assets-fetch.js +2 -0
  399. package/dist/prod/Assets-fetch.js.map +7 -0
  400. package/dist/prod/Assets-node.js +2 -0
  401. package/dist/prod/Assets-node.js.map +7 -0
  402. package/dist/prod/Assets.js +2 -0
  403. package/dist/prod/Assets.js.map +7 -0
  404. package/dist/prod/Boot.js +2 -0
  405. package/dist/prod/Boot.js.map +7 -0
  406. package/dist/prod/CustomElementsRegistry.js +10 -0
  407. package/dist/prod/CustomElementsRegistry.js.map +7 -0
  408. package/dist/prod/CustomElementsScope.js +2 -0
  409. package/dist/prod/CustomElementsScope.js.map +7 -0
  410. package/dist/prod/CustomElementsScopeUtils.js +2 -0
  411. package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
  412. package/dist/prod/DOMObserver.js +2 -0
  413. package/dist/prod/DOMObserver.js.map +7 -0
  414. package/dist/prod/Device.js +2 -0
  415. package/dist/prod/Device.js.map +7 -0
  416. package/dist/prod/DragAndDrop.js +2 -0
  417. package/dist/prod/DragAndDrop.js.map +7 -0
  418. package/dist/prod/EventProvider.js +2 -0
  419. package/dist/prod/EventProvider.js.map +7 -0
  420. package/dist/prod/FeaturesRegistry.js +2 -0
  421. package/dist/prod/FeaturesRegistry.js.map +7 -0
  422. package/dist/prod/FontFace.js +2 -0
  423. package/dist/prod/FontFace.js.map +7 -0
  424. package/dist/prod/IgnoreCustomElements.js +2 -0
  425. package/dist/prod/IgnoreCustomElements.js.map +7 -0
  426. package/dist/prod/InitialConfiguration.js +2 -0
  427. package/dist/prod/InitialConfiguration.js.map +7 -0
  428. package/dist/prod/Keys.js +2 -0
  429. package/dist/prod/Keys.js.map +7 -0
  430. package/dist/prod/Location.js +2 -0
  431. package/dist/prod/Location.js.map +7 -0
  432. package/dist/prod/ManagedStyles.js +2 -0
  433. package/dist/prod/ManagedStyles.js.map +7 -0
  434. package/dist/prod/MediaRange.js +2 -0
  435. package/dist/prod/MediaRange.js.map +7 -0
  436. package/dist/prod/PropertiesFileFormat.js +3 -0
  437. package/dist/prod/PropertiesFileFormat.js.map +7 -0
  438. package/dist/prod/Render.js +2 -0
  439. package/dist/prod/Render.js.map +7 -0
  440. package/dist/prod/RenderQueue.js +2 -0
  441. package/dist/prod/RenderQueue.js.map +7 -0
  442. package/dist/prod/Runtimes.js +2 -0
  443. package/dist/prod/Runtimes.js.map +7 -0
  444. package/dist/prod/ScrollbarStyles.js +2 -0
  445. package/dist/prod/ScrollbarStyles.js.map +7 -0
  446. package/dist/prod/SystemCSSVars.js +2 -0
  447. package/dist/prod/SystemCSSVars.js.map +7 -0
  448. package/dist/prod/Theming.js +2 -0
  449. package/dist/prod/Theming.js.map +7 -0
  450. package/dist/prod/UI5Element.js +2 -0
  451. package/dist/prod/UI5Element.js.map +7 -0
  452. package/dist/prod/UI5ElementMetadata.js +2 -0
  453. package/dist/prod/UI5ElementMetadata.js.map +7 -0
  454. package/dist/prod/animations/AnimationQueue.js +2 -0
  455. package/dist/prod/animations/AnimationQueue.js.map +7 -0
  456. package/dist/prod/animations/animate.js +2 -0
  457. package/dist/prod/animations/animate.js.map +7 -0
  458. package/dist/prod/animations/scroll.js +2 -0
  459. package/dist/prod/animations/scroll.js.map +7 -0
  460. package/dist/prod/animations/slideDown.js +2 -0
  461. package/dist/prod/animations/slideDown.js.map +7 -0
  462. package/dist/prod/animations/slideUp.js +2 -0
  463. package/dist/prod/animations/slideUp.js.map +7 -0
  464. package/dist/prod/asset-registries/Icons.js +2 -0
  465. package/dist/prod/asset-registries/Icons.js.map +7 -0
  466. package/dist/prod/asset-registries/Illustrations.js +2 -0
  467. package/dist/prod/asset-registries/Illustrations.js.map +7 -0
  468. package/dist/prod/asset-registries/LocaleData.js +2 -0
  469. package/dist/prod/asset-registries/LocaleData.js.map +7 -0
  470. package/dist/prod/asset-registries/Themes.js +2 -0
  471. package/dist/prod/asset-registries/Themes.js.map +7 -0
  472. package/dist/prod/asset-registries/i18n.js +2 -0
  473. package/dist/prod/asset-registries/i18n.js.map +7 -0
  474. package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
  475. package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
  476. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
  477. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
  478. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
  479. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
  480. package/dist/prod/config/AnimationMode.js +2 -0
  481. package/dist/prod/config/AnimationMode.js.map +7 -0
  482. package/dist/prod/config/CalendarType.js +2 -0
  483. package/dist/prod/config/CalendarType.js.map +7 -0
  484. package/dist/prod/config/ConfigurationReset.js +2 -0
  485. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  486. package/dist/prod/config/ConfigurationSync.js +2 -0
  487. package/dist/prod/config/ConfigurationSync.js.map +7 -0
  488. package/dist/prod/config/Fonts.js +2 -0
  489. package/dist/prod/config/Fonts.js.map +7 -0
  490. package/dist/prod/config/FormatSettings.js +2 -0
  491. package/dist/prod/config/FormatSettings.js.map +7 -0
  492. package/dist/prod/config/Icons.js +2 -0
  493. package/dist/prod/config/Icons.js.map +7 -0
  494. package/dist/prod/config/Language.js +2 -0
  495. package/dist/prod/config/Language.js.map +7 -0
  496. package/dist/prod/config/NoConflict.js +2 -0
  497. package/dist/prod/config/NoConflict.js.map +7 -0
  498. package/dist/prod/config/Theme.js +2 -0
  499. package/dist/prod/config/Theme.js.map +7 -0
  500. package/dist/prod/config/ThemeRoot.js +2 -0
  501. package/dist/prod/config/ThemeRoot.js.map +7 -0
  502. package/dist/prod/config/Timezone.js +2 -0
  503. package/dist/prod/config/Timezone.js.map +7 -0
  504. package/dist/prod/config/Tooltips.js +2 -0
  505. package/dist/prod/config/Tooltips.js.map +7 -0
  506. package/dist/prod/config/UrlParams.js +2 -0
  507. package/dist/prod/config/UrlParams.js.map +7 -0
  508. package/dist/prod/connectToComponent.js +2 -0
  509. package/dist/prod/connectToComponent.js.map +7 -0
  510. package/dist/prod/converters/DOMReference.js +2 -0
  511. package/dist/prod/converters/DOMReference.js.map +7 -0
  512. package/dist/prod/createReactComponent.js +2 -0
  513. package/dist/prod/createReactComponent.js.map +7 -0
  514. package/dist/prod/decorators/bound.js +2 -0
  515. package/dist/prod/decorators/bound.js.map +7 -0
  516. package/dist/prod/decorators/customElement.js +2 -0
  517. package/dist/prod/decorators/customElement.js.map +7 -0
  518. package/dist/prod/decorators/event-strict.js +2 -0
  519. package/dist/prod/decorators/event-strict.js.map +7 -0
  520. package/dist/prod/decorators/event.js +2 -0
  521. package/dist/prod/decorators/event.js.map +7 -0
  522. package/dist/prod/decorators/i18n.js +2 -0
  523. package/dist/prod/decorators/i18n.js.map +7 -0
  524. package/dist/prod/decorators/property.js +2 -0
  525. package/dist/prod/decorators/property.js.map +7 -0
  526. package/dist/prod/decorators/query.js +2 -0
  527. package/dist/prod/decorators/query.js.map +7 -0
  528. package/dist/prod/decorators/queryAll.js +2 -0
  529. package/dist/prod/decorators/queryAll.js.map +7 -0
  530. package/dist/prod/decorators/slot-strict.js +2 -0
  531. package/dist/prod/decorators/slot-strict.js.map +7 -0
  532. package/dist/prod/decorators/slot.js +2 -0
  533. package/dist/prod/decorators/slot.js.map +7 -0
  534. package/dist/prod/decorators.js +2 -0
  535. package/dist/prod/decorators.js.map +7 -0
  536. package/dist/prod/delegate/ItemNavigation.js +2 -0
  537. package/dist/prod/delegate/ItemNavigation.js.map +7 -0
  538. package/dist/prod/delegate/ResizeHandler.js +2 -0
  539. package/dist/prod/delegate/ResizeHandler.js.map +7 -0
  540. package/dist/prod/delegate/ScrollEnablement.js +2 -0
  541. package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
  542. package/dist/prod/features/F6Navigation.js +2 -0
  543. package/dist/prod/features/F6Navigation.js.map +7 -0
  544. package/dist/prod/features/InputElementsFormSupport.js +2 -0
  545. package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
  546. package/dist/prod/features/LegacyDateFormats.js +2 -0
  547. package/dist/prod/features/LegacyDateFormats.js.map +7 -0
  548. package/dist/prod/features/OpenUI5Element.js +2 -0
  549. package/dist/prod/features/OpenUI5Element.js.map +7 -0
  550. package/dist/prod/features/OpenUI5Enablement.js +21 -0
  551. package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
  552. package/dist/prod/features/OpenUI5Support.js +2 -0
  553. package/dist/prod/features/OpenUI5Support.js.map +7 -0
  554. package/dist/prod/features/insertOpenUI5PopupStyles.js +2 -0
  555. package/dist/prod/features/insertOpenUI5PopupStyles.js.map +7 -0
  556. package/dist/prod/features/patchPatcher.js +2 -0
  557. package/dist/prod/features/patchPatcher.js.map +7 -0
  558. package/dist/prod/features/patchPopup.js +2 -0
  559. package/dist/prod/features/patchPopup.js.map +7 -0
  560. package/dist/prod/generated/AssetParameters.js +2 -0
  561. package/dist/prod/generated/AssetParameters.js.map +7 -0
  562. package/dist/prod/generated/VersionInfo.js +2 -0
  563. package/dist/prod/generated/VersionInfo.js.map +7 -0
  564. package/dist/prod/generated/assets/i18n/messagebundle_ar.json +1 -0
  565. package/dist/prod/generated/assets/i18n/messagebundle_bg.json +1 -0
  566. package/dist/prod/generated/assets/i18n/messagebundle_ca.json +1 -0
  567. package/dist/prod/generated/assets/i18n/messagebundle_cnr.json +1 -0
  568. package/dist/prod/generated/assets/i18n/messagebundle_cs.json +1 -0
  569. package/dist/prod/generated/assets/i18n/messagebundle_cy.json +1 -0
  570. package/dist/prod/generated/assets/i18n/messagebundle_da.json +1 -0
  571. package/dist/prod/generated/assets/i18n/messagebundle_de.json +1 -0
  572. package/dist/prod/generated/assets/i18n/messagebundle_el.json +1 -0
  573. package/dist/prod/generated/assets/i18n/messagebundle_en.json +1 -0
  574. package/dist/prod/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  575. package/dist/prod/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  576. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  577. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  578. package/dist/prod/generated/assets/i18n/messagebundle_es.json +1 -0
  579. package/dist/prod/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  580. package/dist/prod/generated/assets/i18n/messagebundle_et.json +1 -0
  581. package/dist/prod/generated/assets/i18n/messagebundle_fi.json +1 -0
  582. package/dist/prod/generated/assets/i18n/messagebundle_fr.json +1 -0
  583. package/dist/prod/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  584. package/dist/prod/generated/assets/i18n/messagebundle_hi.json +1 -0
  585. package/dist/prod/generated/assets/i18n/messagebundle_hr.json +1 -0
  586. package/dist/prod/generated/assets/i18n/messagebundle_hu.json +1 -0
  587. package/dist/prod/generated/assets/i18n/messagebundle_id.json +1 -0
  588. package/dist/prod/generated/assets/i18n/messagebundle_it.json +1 -0
  589. package/dist/prod/generated/assets/i18n/messagebundle_iw.json +1 -0
  590. package/dist/prod/generated/assets/i18n/messagebundle_ja.json +1 -0
  591. package/dist/prod/generated/assets/i18n/messagebundle_kk.json +1 -0
  592. package/dist/prod/generated/assets/i18n/messagebundle_ko.json +1 -0
  593. package/dist/prod/generated/assets/i18n/messagebundle_lt.json +1 -0
  594. package/dist/prod/generated/assets/i18n/messagebundle_lv.json +1 -0
  595. package/dist/prod/generated/assets/i18n/messagebundle_mk.json +1 -0
  596. package/dist/prod/generated/assets/i18n/messagebundle_ms.json +1 -0
  597. package/dist/prod/generated/assets/i18n/messagebundle_nl.json +1 -0
  598. package/dist/prod/generated/assets/i18n/messagebundle_no.json +1 -0
  599. package/dist/prod/generated/assets/i18n/messagebundle_pl.json +1 -0
  600. package/dist/prod/generated/assets/i18n/messagebundle_pt.json +1 -0
  601. package/dist/prod/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  602. package/dist/prod/generated/assets/i18n/messagebundle_ro.json +1 -0
  603. package/dist/prod/generated/assets/i18n/messagebundle_ru.json +1 -0
  604. package/dist/prod/generated/assets/i18n/messagebundle_sh.json +1 -0
  605. package/dist/prod/generated/assets/i18n/messagebundle_sk.json +1 -0
  606. package/dist/prod/generated/assets/i18n/messagebundle_sl.json +1 -0
  607. package/dist/prod/generated/assets/i18n/messagebundle_sr.json +1 -0
  608. package/dist/prod/generated/assets/i18n/messagebundle_sv.json +1 -0
  609. package/dist/prod/generated/assets/i18n/messagebundle_th.json +1 -0
  610. package/dist/prod/generated/assets/i18n/messagebundle_tr.json +1 -0
  611. package/dist/prod/generated/assets/i18n/messagebundle_uk.json +1 -0
  612. package/dist/prod/generated/assets/i18n/messagebundle_vi.json +1 -0
  613. package/dist/prod/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
  614. package/dist/prod/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
  615. package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
  616. package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
  617. package/dist/prod/generated/css/FontFace.css.js +37 -0
  618. package/dist/prod/generated/css/FontFace.css.js.map +7 -0
  619. package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
  620. package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
  621. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js +2 -0
  622. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js.map +7 -0
  623. package/dist/prod/generated/css/ScrollbarStyles.css.js +2 -0
  624. package/dist/prod/generated/css/ScrollbarStyles.css.js.map +7 -0
  625. package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
  626. package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
  627. package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
  628. package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
  629. package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
  630. package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
  631. package/dist/prod/generated/json-imports/i18n-node.js +2 -0
  632. package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
  633. package/dist/prod/generated/json-imports/i18n.js +2 -0
  634. package/dist/prod/generated/json-imports/i18n.js.map +7 -0
  635. package/dist/prod/getSharedResource.js +2 -0
  636. package/dist/prod/getSharedResource.js.map +7 -0
  637. package/dist/prod/global.d.js +2 -0
  638. package/dist/prod/global.d.js.map +7 -0
  639. package/dist/prod/i18nBundle.js +2 -0
  640. package/dist/prod/i18nBundle.js.map +7 -0
  641. package/dist/prod/index.js +2 -0
  642. package/dist/prod/index.js.map +7 -0
  643. package/dist/prod/jsx-dev-runtime.js +2 -0
  644. package/dist/prod/jsx-dev-runtime.js.map +7 -0
  645. package/dist/prod/jsx-runtime.js +2 -0
  646. package/dist/prod/jsx-runtime.js.map +7 -0
  647. package/dist/prod/jsx-utils.js +2 -0
  648. package/dist/prod/jsx-utils.js.map +7 -0
  649. package/dist/prod/locale/Locale.js +2 -0
  650. package/dist/prod/locale/Locale.js.map +7 -0
  651. package/dist/prod/locale/RTLAwareRegistry.js +2 -0
  652. package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
  653. package/dist/prod/locale/applyDirection.js +2 -0
  654. package/dist/prod/locale/applyDirection.js.map +7 -0
  655. package/dist/prod/locale/directionChange.js +2 -0
  656. package/dist/prod/locale/directionChange.js.map +7 -0
  657. package/dist/prod/locale/getEffectiveDir.js +2 -0
  658. package/dist/prod/locale/getEffectiveDir.js.map +7 -0
  659. package/dist/prod/locale/getLocale.js +2 -0
  660. package/dist/prod/locale/getLocale.js.map +7 -0
  661. package/dist/prod/locale/languageChange.js +2 -0
  662. package/dist/prod/locale/languageChange.js.map +7 -0
  663. package/dist/prod/locale/nextFallbackLocale.js +2 -0
  664. package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
  665. package/dist/prod/locale/normalizeLocale.js +2 -0
  666. package/dist/prod/locale/normalizeLocale.js.map +7 -0
  667. package/dist/prod/renderer/JsxRenderer.js +2 -0
  668. package/dist/prod/renderer/JsxRenderer.js.map +7 -0
  669. package/dist/prod/renderer/LitRenderer.js +2 -0
  670. package/dist/prod/renderer/LitRenderer.js.map +7 -0
  671. package/dist/prod/renderer/directives/style-map.js +6 -0
  672. package/dist/prod/renderer/directives/style-map.js.map +7 -0
  673. package/dist/prod/renderer/executeTemplate.js +2 -0
  674. package/dist/prod/renderer/executeTemplate.js.map +7 -0
  675. package/dist/prod/sap/base/Log.js +736 -0
  676. package/dist/prod/sap/base/assert.js +34 -0
  677. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
  678. package/dist/prod/sap/base/security/URLListValidator.js +410 -0
  679. package/dist/prod/sap/base/security/encodeCSS.js +40 -0
  680. package/dist/prod/sap/base/security/encodeXML.js +53 -0
  681. package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
  682. package/dist/prod/sap/base/strings/toHex.js +33 -0
  683. package/dist/prod/sap/base/util/now.js +22 -0
  684. package/dist/prod/sap/base/util/uid.js +27 -0
  685. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3612 -0
  686. package/dist/prod/ssr-dom-shim.js +2 -0
  687. package/dist/prod/ssr-dom-shim.js.map +7 -0
  688. package/dist/prod/ssr-dom.js +2 -0
  689. package/dist/prod/ssr-dom.js.map +7 -0
  690. package/dist/prod/theming/CustomStyle.js +2 -0
  691. package/dist/prod/theming/CustomStyle.js.map +7 -0
  692. package/dist/prod/theming/ThemeLoaded.js +2 -0
  693. package/dist/prod/theming/ThemeLoaded.js.map +7 -0
  694. package/dist/prod/theming/ThemeRegistered.js +2 -0
  695. package/dist/prod/theming/ThemeRegistered.js.map +7 -0
  696. package/dist/prod/theming/applyTheme.js +2 -0
  697. package/dist/prod/theming/applyTheme.js.map +7 -0
  698. package/dist/prod/theming/componentStyles.js +3 -0
  699. package/dist/prod/theming/componentStyles.js.map +7 -0
  700. package/dist/prod/theming/getConstructableStyle.js +2 -0
  701. package/dist/prod/theming/getConstructableStyle.js.map +7 -0
  702. package/dist/prod/theming/getEffectiveStyle.js +2 -0
  703. package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
  704. package/dist/prod/theming/getStylesString.js +2 -0
  705. package/dist/prod/theming/getStylesString.js.map +7 -0
  706. package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
  707. package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
  708. package/dist/prod/thirdparty/_merge.js +2 -0
  709. package/dist/prod/thirdparty/_merge.js.map +7 -0
  710. package/dist/prod/thirdparty/isPlainObject.js +2 -0
  711. package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
  712. package/dist/prod/thirdparty/merge.js +2 -0
  713. package/dist/prod/thirdparty/merge.js.map +7 -0
  714. package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
  715. package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
  716. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
  717. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
  718. package/dist/prod/thirdparty/preact/jsxRuntime.module.js +1 -0
  719. package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
  720. package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
  721. package/dist/prod/thirdparty/preact/preact.module.js +1 -0
  722. package/dist/prod/types/AnimationMode.js +2 -0
  723. package/dist/prod/types/AnimationMode.js.map +7 -0
  724. package/dist/prod/types/CalendarType.js +2 -0
  725. package/dist/prod/types/CalendarType.js.map +7 -0
  726. package/dist/prod/types/InvisibleMessageMode.js +2 -0
  727. package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
  728. package/dist/prod/types/ItemNavigationBehavior.js +2 -0
  729. package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
  730. package/dist/prod/types/MovePlacement.js +2 -0
  731. package/dist/prod/types/MovePlacement.js.map +7 -0
  732. package/dist/prod/types/NavigationMode.js +2 -0
  733. package/dist/prod/types/NavigationMode.js.map +7 -0
  734. package/dist/prod/types/Orientation.js +2 -0
  735. package/dist/prod/types/Orientation.js.map +7 -0
  736. package/dist/prod/types/SortOrder.js +2 -0
  737. package/dist/prod/types/SortOrder.js.map +7 -0
  738. package/dist/prod/types/ValueState.js +2 -0
  739. package/dist/prod/types/ValueState.js.map +7 -0
  740. package/dist/prod/types.js +2 -0
  741. package/dist/prod/types.js.map +7 -0
  742. package/dist/prod/updateShadowRoot.js +2 -0
  743. package/dist/prod/updateShadowRoot.js.map +7 -0
  744. package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
  745. package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
  746. package/dist/prod/util/Caret.js +2 -0
  747. package/dist/prod/util/Caret.js.map +7 -0
  748. package/dist/prod/util/ColorConversion.js +2 -0
  749. package/dist/prod/util/ColorConversion.js.map +7 -0
  750. package/dist/prod/util/FetchHelper.js +2 -0
  751. package/dist/prod/util/FetchHelper.js.map +7 -0
  752. package/dist/prod/util/FocusableElements.js +2 -0
  753. package/dist/prod/util/FocusableElements.js.map +7 -0
  754. package/dist/prod/util/HTMLSanitizer.js +2 -0
  755. package/dist/prod/util/HTMLSanitizer.js.map +7 -0
  756. package/dist/prod/util/InvisibleMessage.js +2 -0
  757. package/dist/prod/util/InvisibleMessage.js.map +7 -0
  758. package/dist/prod/util/PopupUtils.js +2 -0
  759. package/dist/prod/util/PopupUtils.js.map +7 -0
  760. package/dist/prod/util/SelectionAssistant.js +2 -0
  761. package/dist/prod/util/SelectionAssistant.js.map +7 -0
  762. package/dist/prod/util/SlotsHelper.js +2 -0
  763. package/dist/prod/util/SlotsHelper.js.map +7 -0
  764. package/dist/prod/util/StringHelper.js +2 -0
  765. package/dist/prod/util/StringHelper.js.map +7 -0
  766. package/dist/prod/util/TabbableElements.js +2 -0
  767. package/dist/prod/util/TabbableElements.js.map +7 -0
  768. package/dist/prod/util/arraysAreEqual.js +2 -0
  769. package/dist/prod/util/arraysAreEqual.js.map +7 -0
  770. package/dist/prod/util/clamp.js +2 -0
  771. package/dist/prod/util/clamp.js.map +7 -0
  772. package/dist/prod/util/createInstanceChecker.js +2 -0
  773. package/dist/prod/util/createInstanceChecker.js.map +7 -0
  774. package/dist/prod/util/createLinkInHead.js +2 -0
  775. package/dist/prod/util/createLinkInHead.js.map +7 -0
  776. package/dist/prod/util/createMultiInstanceChecker.js +2 -0
  777. package/dist/prod/util/createMultiInstanceChecker.js.map +7 -0
  778. package/dist/prod/util/debounce.js +2 -0
  779. package/dist/prod/util/debounce.js.map +7 -0
  780. package/dist/prod/util/detectNavigatorLanguage.js +2 -0
  781. package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
  782. package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
  783. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
  784. package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
  785. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
  786. package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
  787. package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
  788. package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
  789. package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
  790. package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
  791. package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
  792. package/dist/prod/util/escapeRegex.js +2 -0
  793. package/dist/prod/util/escapeRegex.js.map +7 -0
  794. package/dist/prod/util/fixSafariActiveState.js +2 -0
  795. package/dist/prod/util/fixSafariActiveState.js.map +7 -0
  796. package/dist/prod/util/formatMessage.js +2 -0
  797. package/dist/prod/util/formatMessage.js.map +7 -0
  798. package/dist/prod/util/generateHighlightedMarkup.js +2 -0
  799. package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
  800. package/dist/prod/util/generateHighlightedMarkupFirstMatch.js +2 -0
  801. package/dist/prod/util/generateHighlightedMarkupFirstMatch.js.map +7 -0
  802. package/dist/prod/util/getActiveElement.js +2 -0
  803. package/dist/prod/util/getActiveElement.js.map +7 -0
  804. package/dist/prod/util/getClassCopy.js +2 -0
  805. package/dist/prod/util/getClassCopy.js.map +7 -0
  806. package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
  807. package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
  808. package/dist/prod/util/getEffectiveContentDensity.js +2 -0
  809. package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
  810. package/dist/prod/util/getFastNavigationGroups.js +2 -0
  811. package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
  812. package/dist/prod/util/getFileExtension.js +2 -0
  813. package/dist/prod/util/getFileExtension.js.map +7 -0
  814. package/dist/prod/util/getNormalizedTarget.js +2 -0
  815. package/dist/prod/util/getNormalizedTarget.js.map +7 -0
  816. package/dist/prod/util/getParentElement.js +2 -0
  817. package/dist/prod/util/getParentElement.js.map +7 -0
  818. package/dist/prod/util/getSingletonElementInstance.js +2 -0
  819. package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
  820. package/dist/prod/util/hash2str.js +2 -0
  821. package/dist/prod/util/hash2str.js.map +7 -0
  822. package/dist/prod/util/isElementClickable.js +2 -0
  823. package/dist/prod/util/isElementClickable.js.map +7 -0
  824. package/dist/prod/util/isElementHidden.js +2 -0
  825. package/dist/prod/util/isElementHidden.js.map +7 -0
  826. package/dist/prod/util/isElementInView.js +2 -0
  827. package/dist/prod/util/isElementInView.js.map +7 -0
  828. package/dist/prod/util/isElementTabbable.js +2 -0
  829. package/dist/prod/util/isElementTabbable.js.map +7 -0
  830. package/dist/prod/util/isEventMarked.js +2 -0
  831. package/dist/prod/util/isEventMarked.js.map +7 -0
  832. package/dist/prod/util/isValidPropertyName.js +2 -0
  833. package/dist/prod/util/isValidPropertyName.js.map +7 -0
  834. package/dist/prod/util/throttle.js +2 -0
  835. package/dist/prod/util/throttle.js.map +7 -0
  836. package/dist/prod/util/toLowercaseEnumValue.js +2 -0
  837. package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
  838. package/dist/prod/util/valueStateNavigation.js +2 -0
  839. package/dist/prod/util/valueStateNavigation.js.map +7 -0
  840. package/dist/prod/util/whenDOMReady.js +2 -0
  841. package/dist/prod/util/whenDOMReady.js.map +7 -0
  842. package/dist/prod/util/willShowContent.js +2 -0
  843. package/dist/prod/util/willShowContent.js.map +7 -0
  844. package/dist/prod/validateThemeRoot.js +2 -0
  845. package/dist/prod/validateThemeRoot.js.map +7 -0
  846. package/dist/react18/createReactComponent.d.ts +38 -0
  847. package/dist/react18/createReactComponent.js +112 -0
  848. package/dist/react18/createReactComponent.js.map +1 -0
  849. package/dist/renderer/JsxRenderer.d.ts +3 -0
  850. package/dist/renderer/JsxRenderer.js +26 -0
  851. package/dist/renderer/JsxRenderer.js.map +1 -0
  852. package/dist/renderer/LitRenderer.d.ts +14 -0
  853. package/dist/renderer/LitRenderer.js +33 -12
  854. package/dist/renderer/LitRenderer.js.map +1 -0
  855. package/dist/renderer/directives/style-map.d.ts +13 -0
  856. package/dist/renderer/directives/style-map.js +72 -0
  857. package/dist/renderer/directives/style-map.js.map +1 -0
  858. package/dist/renderer/executeTemplate.d.ts +12 -0
  859. package/dist/renderer/executeTemplate.js +12 -0
  860. package/dist/renderer/executeTemplate.js.map +1 -0
  861. package/dist/sap/base/Log.js +736 -0
  862. package/dist/sap/base/assert.js +34 -0
  863. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  864. package/dist/sap/base/security/URLListValidator.js +410 -0
  865. package/dist/sap/base/security/encodeCSS.js +40 -0
  866. package/dist/sap/base/security/encodeXML.js +53 -0
  867. package/dist/sap/base/security/sanitizeHTML.js +38 -0
  868. package/dist/sap/base/strings/toHex.js +33 -0
  869. package/dist/sap/base/util/now.js +22 -0
  870. package/dist/sap/base/util/uid.js +27 -0
  871. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3612 -0
  872. package/dist/ssr-dom-shim.d.ts +1 -0
  873. package/dist/ssr-dom-shim.js +63 -0
  874. package/dist/ssr-dom-shim.js.map +1 -0
  875. package/dist/ssr-dom.d.ts +1 -0
  876. package/dist/ssr-dom.js +3 -0
  877. package/dist/ssr-dom.js.map +1 -0
  878. package/dist/theming/CustomStyle.d.ts +6 -0
  879. package/dist/theming/CustomStyle.js +46 -17
  880. package/dist/theming/CustomStyle.js.map +1 -0
  881. package/dist/theming/ThemeLoaded.d.ts +5 -0
  882. package/dist/theming/ThemeLoaded.js +14 -0
  883. package/dist/theming/ThemeLoaded.js.map +1 -0
  884. package/dist/theming/ThemeRegistered.d.ts +4 -0
  885. package/dist/theming/ThemeRegistered.js +11 -0
  886. package/dist/theming/ThemeRegistered.js.map +1 -0
  887. package/dist/theming/applyTheme.d.ts +4 -0
  888. package/dist/theming/applyTheme.js +79 -69
  889. package/dist/theming/applyTheme.js.map +1 -0
  890. package/dist/theming/componentStyles.d.ts +3 -0
  891. package/dist/theming/componentStyles.js +15 -0
  892. package/dist/theming/componentStyles.js.map +1 -0
  893. package/dist/theming/getConstructableStyle.d.ts +9 -0
  894. package/dist/theming/getConstructableStyle.js +15 -15
  895. package/dist/theming/getConstructableStyle.js.map +1 -0
  896. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  897. package/dist/theming/getEffectiveStyle.js +23 -13
  898. package/dist/theming/getEffectiveStyle.js.map +1 -0
  899. package/dist/theming/getStylesString.d.ts +3 -0
  900. package/dist/theming/getStylesString.js +9 -0
  901. package/dist/theming/getStylesString.js.map +1 -0
  902. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  903. package/dist/theming/getThemeDesignerTheme.js +74 -60
  904. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  905. package/dist/thirdparty/_merge.d.ts +2 -0
  906. package/dist/thirdparty/_merge.js +7 -4
  907. package/dist/thirdparty/_merge.js.map +1 -0
  908. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  909. package/dist/thirdparty/isPlainObject.js +11 -10
  910. package/dist/thirdparty/isPlainObject.js.map +1 -0
  911. package/dist/thirdparty/merge.d.ts +2 -0
  912. package/dist/thirdparty/merge.js +4 -8
  913. package/dist/thirdparty/merge.js.map +1 -0
  914. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  915. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  916. package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
  917. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  918. package/dist/thirdparty/preact/preact.module.js +1 -0
  919. package/dist/types/AnimationMode.d.ts +24 -0
  920. package/dist/types/AnimationMode.js +25 -6
  921. package/dist/types/AnimationMode.js.map +1 -0
  922. package/dist/types/CalendarType.d.ts +28 -0
  923. package/dist/types/CalendarType.js +26 -18
  924. package/dist/types/CalendarType.js.map +1 -0
  925. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  926. package/dist/types/InvisibleMessageMode.js +20 -0
  927. package/dist/types/InvisibleMessageMode.js.map +1 -0
  928. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  929. package/dist/types/ItemNavigationBehavior.js +16 -17
  930. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  931. package/dist/types/MovePlacement.d.ts +20 -0
  932. package/dist/types/MovePlacement.js +22 -0
  933. package/dist/types/MovePlacement.js.map +1 -0
  934. package/dist/types/NavigationMode.d.ts +24 -0
  935. package/dist/types/NavigationMode.js +25 -5
  936. package/dist/types/NavigationMode.js.map +1 -0
  937. package/dist/types/Orientation.d.ts +16 -0
  938. package/dist/types/Orientation.js +18 -0
  939. package/dist/types/Orientation.js.map +1 -0
  940. package/dist/types/SortOrder.d.ts +24 -0
  941. package/dist/types/SortOrder.js +26 -0
  942. package/dist/types/SortOrder.js.map +1 -0
  943. package/dist/types/ValueState.d.ts +28 -0
  944. package/dist/types/ValueState.js +27 -19
  945. package/dist/types/ValueState.js.map +1 -0
  946. package/dist/types.d.ts +49 -0
  947. package/dist/types.js +2 -0
  948. package/dist/types.js.map +1 -0
  949. package/dist/updateShadowRoot.d.ts +7 -0
  950. package/dist/updateShadowRoot.js +18 -0
  951. package/dist/updateShadowRoot.js.map +1 -0
  952. package/dist/util/AccessibilityTextsHelper.d.ts +17 -0
  953. package/dist/util/AccessibilityTextsHelper.js +199 -0
  954. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  955. package/dist/util/Caret.d.ts +7 -0
  956. package/dist/util/Caret.js +23 -0
  957. package/dist/util/Caret.js.map +1 -0
  958. package/dist/util/ColorConversion.d.ts +31 -0
  959. package/dist/util/ColorConversion.js +354 -0
  960. package/dist/util/ColorConversion.js.map +1 -0
  961. package/dist/util/FetchHelper.d.ts +3 -0
  962. package/dist/util/FetchHelper.js +19 -25
  963. package/dist/util/FetchHelper.js.map +1 -0
  964. package/dist/util/FocusableElements.d.ts +4 -0
  965. package/dist/util/FocusableElements.js +96 -56
  966. package/dist/util/FocusableElements.js.map +1 -0
  967. package/dist/util/HTMLSanitizer.d.ts +5 -0
  968. package/dist/util/HTMLSanitizer.js +6 -0
  969. package/dist/util/HTMLSanitizer.js.map +1 -0
  970. package/dist/util/InvisibleMessage.d.ts +10 -0
  971. package/dist/util/InvisibleMessage.js +56 -0
  972. package/dist/util/InvisibleMessage.js.map +1 -0
  973. package/dist/util/PopupUtils.d.ts +5 -0
  974. package/dist/util/PopupUtils.js +60 -0
  975. package/dist/util/PopupUtils.js.map +1 -0
  976. package/dist/util/SelectionAssistant.d.ts +12 -0
  977. package/dist/util/SelectionAssistant.js +71 -0
  978. package/dist/util/SelectionAssistant.js.map +1 -0
  979. package/dist/util/SlotsHelper.d.ts +9 -0
  980. package/dist/util/SlotsHelper.js +30 -0
  981. package/dist/util/SlotsHelper.js.map +1 -0
  982. package/dist/util/StringHelper.d.ts +5 -0
  983. package/dist/util/StringHelper.js +32 -21
  984. package/dist/util/StringHelper.js.map +1 -0
  985. package/dist/util/TabbableElements.d.ts +17 -0
  986. package/dist/util/TabbableElements.js +46 -43
  987. package/dist/util/TabbableElements.js.map +1 -0
  988. package/dist/util/arraysAreEqual.d.ts +2 -0
  989. package/dist/util/arraysAreEqual.js +13 -0
  990. package/dist/util/arraysAreEqual.js.map +1 -0
  991. package/dist/util/clamp.d.ts +9 -0
  992. package/dist/util/clamp.js +13 -0
  993. package/dist/util/clamp.js.map +1 -0
  994. package/dist/util/createInstanceChecker.d.ts +2 -0
  995. package/dist/util/createInstanceChecker.js +8 -0
  996. package/dist/util/createInstanceChecker.js.map +1 -0
  997. package/dist/util/createLinkInHead.d.ts +7 -0
  998. package/dist/util/createLinkInHead.js +21 -0
  999. package/dist/util/createLinkInHead.js.map +1 -0
  1000. package/dist/util/createMultiInstanceChecker.d.ts +2 -0
  1001. package/dist/util/createMultiInstanceChecker.js +19 -0
  1002. package/dist/util/createMultiInstanceChecker.js.map +1 -0
  1003. package/dist/util/debounce.d.ts +2 -0
  1004. package/dist/util/debounce.js +15 -0
  1005. package/dist/util/debounce.js.map +1 -0
  1006. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  1007. package/dist/util/detectNavigatorLanguage.js +13 -11
  1008. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  1009. package/dist/util/dragAndDrop/DragRegistry.d.ts +39 -0
  1010. package/dist/util/dragAndDrop/DragRegistry.js +62 -0
  1011. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  1012. package/dist/util/dragAndDrop/findClosestPosition.d.ts +12 -0
  1013. package/dist/util/dragAndDrop/findClosestPosition.js +106 -0
  1014. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  1015. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  1016. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  1017. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  1018. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  1019. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  1020. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  1021. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  1022. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  1023. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  1024. package/dist/util/escapeRegex.d.ts +8 -0
  1025. package/dist/util/escapeRegex.js +11 -0
  1026. package/dist/util/escapeRegex.js.map +1 -0
  1027. package/dist/util/fixSafariActiveState.d.ts +2 -0
  1028. package/dist/util/fixSafariActiveState.js +11 -0
  1029. package/dist/util/fixSafariActiveState.js.map +1 -0
  1030. package/dist/util/formatMessage.d.ts +2 -0
  1031. package/dist/util/formatMessage.js +15 -19
  1032. package/dist/util/formatMessage.js.map +1 -0
  1033. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  1034. package/dist/util/generateHighlightedMarkup.js +41 -0
  1035. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  1036. package/dist/util/generateHighlightedMarkupFirstMatch.d.ts +10 -0
  1037. package/dist/util/generateHighlightedMarkupFirstMatch.js +36 -0
  1038. package/dist/util/generateHighlightedMarkupFirstMatch.js.map +1 -0
  1039. package/dist/util/getActiveElement.d.ts +2 -0
  1040. package/dist/util/getActiveElement.js +9 -0
  1041. package/dist/util/getActiveElement.js.map +1 -0
  1042. package/dist/util/getClassCopy.d.ts +443 -0
  1043. package/dist/util/getClassCopy.js +10 -0
  1044. package/dist/util/getClassCopy.js.map +1 -0
  1045. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  1046. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  1047. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  1048. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  1049. package/dist/util/getEffectiveContentDensity.js +4 -0
  1050. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  1051. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  1052. package/dist/util/getFastNavigationGroups.js +56 -0
  1053. package/dist/util/getFastNavigationGroups.js.map +1 -0
  1054. package/dist/util/getFileExtension.d.ts +12 -0
  1055. package/dist/util/getFileExtension.js +9 -11
  1056. package/dist/util/getFileExtension.js.map +1 -0
  1057. package/dist/util/getNormalizedTarget.d.ts +7 -0
  1058. package/dist/util/getNormalizedTarget.js +14 -0
  1059. package/dist/util/getNormalizedTarget.js.map +1 -0
  1060. package/dist/util/getParentElement.d.ts +2 -0
  1061. package/dist/util/getParentElement.js +5 -0
  1062. package/dist/util/getParentElement.js.map +1 -0
  1063. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  1064. package/dist/util/getSingletonElementInstance.js +19 -0
  1065. package/dist/util/getSingletonElementInstance.js.map +1 -0
  1066. package/dist/util/hash2str.d.ts +1 -0
  1067. package/dist/util/hash2str.js +14 -0
  1068. package/dist/util/hash2str.js.map +1 -0
  1069. package/dist/util/isElementClickable.d.ts +2 -0
  1070. package/dist/util/isElementClickable.js +16 -0
  1071. package/dist/util/isElementClickable.js.map +1 -0
  1072. package/dist/util/isElementHidden.d.ts +2 -0
  1073. package/dist/util/isElementHidden.js +9 -0
  1074. package/dist/util/isElementHidden.js.map +1 -0
  1075. package/dist/util/isElementInView.d.ts +6 -0
  1076. package/dist/util/isElementInView.js +12 -0
  1077. package/dist/util/isElementInView.js.map +1 -0
  1078. package/dist/util/isElementTabbable.d.ts +9 -0
  1079. package/dist/util/isElementTabbable.js +30 -0
  1080. package/dist/util/isElementTabbable.js.map +1 -0
  1081. package/dist/util/isEventMarked.d.ts +2 -0
  1082. package/dist/util/isEventMarked.js +6 -0
  1083. package/dist/util/isEventMarked.js.map +1 -0
  1084. package/dist/util/isValidPropertyName.d.ts +8 -0
  1085. package/dist/util/isValidPropertyName.js +19 -14
  1086. package/dist/util/isValidPropertyName.js.map +1 -0
  1087. package/dist/util/throttle.d.ts +2 -0
  1088. package/dist/util/throttle.js +20 -0
  1089. package/dist/util/throttle.js.map +1 -0
  1090. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  1091. package/dist/util/toLowercaseEnumValue.js +4 -0
  1092. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  1093. package/dist/util/valueStateNavigation.d.ts +8 -0
  1094. package/dist/util/valueStateNavigation.js +40 -0
  1095. package/dist/util/valueStateNavigation.js.map +1 -0
  1096. package/dist/util/whenDOMReady.d.ts +2 -0
  1097. package/dist/util/whenDOMReady.js +11 -10
  1098. package/dist/util/whenDOMReady.js.map +1 -0
  1099. package/dist/util/willShowContent.d.ts +2 -0
  1100. package/dist/util/willShowContent.js +7 -0
  1101. package/dist/util/willShowContent.js.map +1 -0
  1102. package/dist/validateThemeRoot.d.ts +2 -0
  1103. package/dist/validateThemeRoot.js +60 -0
  1104. package/dist/validateThemeRoot.js.map +1 -0
  1105. package/dist/vscode.html-custom-data.json +22 -0
  1106. package/package-scripts.cjs +105 -0
  1107. package/package.json +70 -22
  1108. package/src/css/BusyIndicator.css +80 -0
  1109. package/src/css/MultipleDragGhost.css +17 -0
  1110. package/src/css/OpenUI5PopupStyles.css +10 -0
  1111. package/src/css/ScrollbarStyles.css +3 -0
  1112. package/src/css/SystemCSSVars.css +34 -0
  1113. package/src/i18n/messagebundle.properties +5 -0
  1114. package/src/i18n/messagebundle_ar.properties +2 -0
  1115. package/src/i18n/messagebundle_bg.properties +2 -0
  1116. package/src/i18n/messagebundle_ca.properties +2 -0
  1117. package/src/i18n/messagebundle_cnr.properties +2 -0
  1118. package/src/i18n/messagebundle_cs.properties +2 -0
  1119. package/src/i18n/messagebundle_cy.properties +2 -0
  1120. package/src/i18n/messagebundle_da.properties +2 -0
  1121. package/src/i18n/messagebundle_de.properties +2 -0
  1122. package/src/i18n/messagebundle_el.properties +2 -0
  1123. package/src/i18n/messagebundle_en.properties +2 -0
  1124. package/src/i18n/messagebundle_en_GB.properties +2 -0
  1125. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  1126. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  1127. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  1128. package/src/i18n/messagebundle_es.properties +2 -0
  1129. package/src/i18n/messagebundle_es_MX.properties +2 -0
  1130. package/src/i18n/messagebundle_et.properties +2 -0
  1131. package/src/i18n/messagebundle_fi.properties +2 -0
  1132. package/src/i18n/messagebundle_fr.properties +2 -0
  1133. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  1134. package/src/i18n/messagebundle_hi.properties +2 -0
  1135. package/src/i18n/messagebundle_hr.properties +2 -0
  1136. package/src/i18n/messagebundle_hu.properties +2 -0
  1137. package/src/i18n/messagebundle_id.properties +2 -0
  1138. package/src/i18n/messagebundle_it.properties +2 -0
  1139. package/src/i18n/messagebundle_iw.properties +2 -0
  1140. package/src/i18n/messagebundle_ja.properties +2 -0
  1141. package/src/i18n/messagebundle_kk.properties +2 -0
  1142. package/src/i18n/messagebundle_ko.properties +2 -0
  1143. package/src/i18n/messagebundle_lt.properties +2 -0
  1144. package/src/i18n/messagebundle_lv.properties +2 -0
  1145. package/src/i18n/messagebundle_mk.properties +2 -0
  1146. package/src/i18n/messagebundle_ms.properties +2 -0
  1147. package/src/i18n/messagebundle_nl.properties +2 -0
  1148. package/src/i18n/messagebundle_no.properties +2 -0
  1149. package/src/i18n/messagebundle_pl.properties +2 -0
  1150. package/src/i18n/messagebundle_pt.properties +2 -0
  1151. package/src/i18n/messagebundle_pt_PT.properties +2 -0
  1152. package/src/i18n/messagebundle_ro.properties +2 -0
  1153. package/src/i18n/messagebundle_ru.properties +2 -0
  1154. package/src/i18n/messagebundle_sh.properties +2 -0
  1155. package/src/i18n/messagebundle_sk.properties +2 -0
  1156. package/src/i18n/messagebundle_sl.properties +2 -0
  1157. package/src/i18n/messagebundle_sr.properties +2 -0
  1158. package/src/i18n/messagebundle_sv.properties +2 -0
  1159. package/src/i18n/messagebundle_th.properties +2 -0
  1160. package/src/i18n/messagebundle_tr.properties +2 -0
  1161. package/src/i18n/messagebundle_uk.properties +2 -0
  1162. package/src/i18n/messagebundle_vi.properties +2 -0
  1163. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  1164. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  1165. package/src/react18/createReactComponent.tsx +140 -0
  1166. package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
  1167. package/src/thirdparty/preact/preact.module.js +1 -0
  1168. package/src/thirdparty/preact/version.txt +1 -0
  1169. package/tsconfig.json +19 -0
  1170. package/.eslintignore +0 -11
  1171. package/bundle.es5.js +0 -28
  1172. package/bundle.esm.js +0 -49
  1173. package/config/.eslintrc.js +0 -3
  1174. package/config/rollup.config.js +0 -1
  1175. package/config/wdio.conf.js +0 -1
  1176. package/dist/RenderScheduler.js +0 -146
  1177. package/dist/SVGIconRegistry.js +0 -60
  1178. package/dist/StaticArea.js +0 -41
  1179. package/dist/StaticAreaItem.js +0 -105
  1180. package/dist/animations/config.js +0 -5
  1181. package/dist/boot.js +0 -32
  1182. package/dist/compatibility/DOMObserver.js +0 -62
  1183. package/dist/compatibility/patchNodeValue.js +0 -24
  1184. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  1185. package/dist/config/RTL.js +0 -31
  1186. package/dist/delegate/CustomResize.js +0 -78
  1187. package/dist/delegate/NativeResize.js +0 -44
  1188. package/dist/features/browsersupport/Edge.js +0 -6
  1189. package/dist/features/browsersupport/IE11.js +0 -41
  1190. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  1191. package/dist/renderer/ifDefined.js +0 -21
  1192. package/dist/resources/bundle.es5.js +0 -212
  1193. package/dist/resources/bundle.es5.js.map +0 -1
  1194. package/dist/resources/bundle.esm.js +0 -129
  1195. package/dist/resources/bundle.esm.js.map +0 -1
  1196. package/dist/test-resources/assets/Themes.js +0 -13
  1197. package/dist/test-resources/elements/Child.js +0 -35
  1198. package/dist/test-resources/elements/Generic.js +0 -84
  1199. package/dist/test-resources/elements/GenericExt.js +0 -26
  1200. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  1201. package/dist/test-resources/elements/Parent.js +0 -37
  1202. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  1203. package/dist/test-resources/pages/AllTestElements.html +0 -42
  1204. package/dist/test-resources/pages/Configuration.html +0 -20
  1205. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  1206. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  1207. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  1208. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  1209. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  1210. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  1211. package/dist/test-resources/specs/Theming.spec.js +0 -31
  1212. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  1213. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  1214. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  1215. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  1216. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  1217. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  1218. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  1219. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  1220. package/dist/theming/CSSVarsPonyfill.js +0 -24
  1221. package/dist/theming/adaptCSSForIE.js +0 -90
  1222. package/dist/theming/createComponentStyleTag.js +0 -49
  1223. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  1224. package/dist/thirdparty/Array.from.js +0 -16
  1225. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  1226. package/dist/thirdparty/Array.prototype.find.js +0 -46
  1227. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  1228. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  1229. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  1230. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  1231. package/dist/thirdparty/Number.isInteger.js +0 -5
  1232. package/dist/thirdparty/Number.isNaN.js +0 -1
  1233. package/dist/thirdparty/Number.parseInt.js +0 -1
  1234. package/dist/thirdparty/Object.assign.js +0 -31
  1235. package/dist/thirdparty/Object.entries.js +0 -11
  1236. package/dist/thirdparty/Symbol.js +0 -2
  1237. package/dist/thirdparty/WeakSet.js +0 -27
  1238. package/dist/thirdparty/es6-string-methods.js +0 -182
  1239. package/dist/thirdparty/events-polyfills.js +0 -89
  1240. package/dist/thirdparty/fetch.js +0 -1
  1241. package/dist/thirdparty/template.js +0 -600
  1242. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  1243. package/dist/types/CSSSize.js +0 -9
  1244. package/dist/types/DataType.js +0 -25
  1245. package/dist/types/Integer.js +0 -9
  1246. package/dist/types/PopupState.js +0 -37
  1247. package/dist/util/createStyleInHead.js +0 -18
  1248. package/dist/util/findNodeOwner.js +0 -35
  1249. package/dist/util/isDescendantOf.js +0 -15
  1250. package/dist/util/isNodeClickable.js +0 -19
  1251. package/dist/util/isNodeHidden.js +0 -13
  1252. package/dist/util/isNodeTabbable.js +0 -28
  1253. package/dist/webcomponentsjs/LICENSE.md +0 -19
  1254. package/dist/webcomponentsjs/README.md +0 -229
  1255. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  1256. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  1257. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  1258. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  1259. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  1260. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  1261. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  1262. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  1263. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  1264. package/dist/webcomponentsjs/package.json +0 -46
  1265. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  1266. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  1267. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  1268. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  1269. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  1270. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  1271. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  1272. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  1273. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  1274. package/index.js +0 -4
  1275. package/lib/generate-asset-parameters/index.js +0 -22
  1276. package/package-scripts.js +0 -47
  1277. package/src/AssetRegistry.js +0 -9
  1278. package/src/CustomElementsRegistry.js +0 -23
  1279. package/src/Device.js +0 -823
  1280. package/src/EventProvider.js +0 -73
  1281. package/src/FeaturesRegistry.js +0 -11
  1282. package/src/FontFace.js +0 -73
  1283. package/src/InitialConfiguration.js +0 -131
  1284. package/src/Keys.js +0 -161
  1285. package/src/RenderQueue.js +0 -42
  1286. package/src/RenderScheduler.js +0 -146
  1287. package/src/SVGIconRegistry.js +0 -60
  1288. package/src/StaticArea.js +0 -41
  1289. package/src/StaticAreaItem.js +0 -105
  1290. package/src/Theming.js +0 -3
  1291. package/src/UI5Element.js +0 -898
  1292. package/src/UI5ElementMetadata.js +0 -173
  1293. package/src/animations/AnimationQueue.js +0 -42
  1294. package/src/animations/animate.js +0 -53
  1295. package/src/animations/config.js +0 -5
  1296. package/src/animations/scroll.js +0 -28
  1297. package/src/animations/slideDown.js +0 -79
  1298. package/src/animations/slideUp.js +0 -71
  1299. package/src/asset-registries/Icons.js +0 -24
  1300. package/src/asset-registries/LocaleData.js +0 -125
  1301. package/src/asset-registries/Themes.js +0 -87
  1302. package/src/asset-registries/i18n.js +0 -79
  1303. package/src/boot.js +0 -32
  1304. package/src/compatibility/DOMObserver.js +0 -62
  1305. package/src/compatibility/patchNodeValue.js +0 -24
  1306. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  1307. package/src/config/AnimationMode.js +0 -13
  1308. package/src/config/CalendarType.js +0 -18
  1309. package/src/config/FormatSettings.js +0 -13
  1310. package/src/config/Language.js +0 -12
  1311. package/src/config/NoConflict.js +0 -51
  1312. package/src/config/RTL.js +0 -31
  1313. package/src/config/Theme.js +0 -28
  1314. package/src/delegate/CustomResize.js +0 -78
  1315. package/src/delegate/ItemNavigation.js +0 -278
  1316. package/src/delegate/NativeResize.js +0 -44
  1317. package/src/delegate/ResizeHandler.js +0 -66
  1318. package/src/delegate/ScrollEnablement.js +0 -159
  1319. package/src/features/OpenUI5Support.js +0 -90
  1320. package/src/features/browsersupport/Edge.js +0 -6
  1321. package/src/features/browsersupport/IE11.js +0 -41
  1322. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  1323. package/src/i18nBundle.js +0 -33
  1324. package/src/locale/Locale.js +0 -91
  1325. package/src/locale/getLocale.js +0 -31
  1326. package/src/locale/nextFallbackLocale.js +0 -28
  1327. package/src/locale/normalizeLocale.js +0 -54
  1328. package/src/renderer/LitRenderer.js +0 -15
  1329. package/src/renderer/ifDefined.js +0 -21
  1330. package/src/theming/CSSVarsPonyfill.js +0 -24
  1331. package/src/theming/CustomStyle.js +0 -19
  1332. package/src/theming/adaptCSSForIE.js +0 -90
  1333. package/src/theming/applyTheme.js +0 -81
  1334. package/src/theming/createComponentStyleTag.js +0 -49
  1335. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  1336. package/src/theming/getConstructableStyle.js +0 -25
  1337. package/src/theming/getEffectiveStyle.js +0 -15
  1338. package/src/theming/getThemeDesignerTheme.js +0 -67
  1339. package/src/thirdparty/Array.from.js +0 -16
  1340. package/src/thirdparty/Array.prototype.fill.js +0 -44
  1341. package/src/thirdparty/Array.prototype.find.js +0 -46
  1342. package/src/thirdparty/Array.prototype.includes.js +0 -51
  1343. package/src/thirdparty/Element.prototype.closest.js +0 -11
  1344. package/src/thirdparty/Element.prototype.matches.js +0 -6
  1345. package/src/thirdparty/Map.prototype.keys.js +0 -9
  1346. package/src/thirdparty/Number.isInteger.js +0 -5
  1347. package/src/thirdparty/Number.isNaN.js +0 -1
  1348. package/src/thirdparty/Number.parseInt.js +0 -1
  1349. package/src/thirdparty/Object.assign.js +0 -31
  1350. package/src/thirdparty/Object.entries.js +0 -11
  1351. package/src/thirdparty/Symbol.js +0 -2
  1352. package/src/thirdparty/WeakSet.js +0 -27
  1353. package/src/thirdparty/_merge.js +0 -32
  1354. package/src/thirdparty/es6-string-methods.js +0 -182
  1355. package/src/thirdparty/events-polyfills.js +0 -89
  1356. package/src/thirdparty/fetch.js +0 -1
  1357. package/src/thirdparty/isPlainObject.js +0 -18
  1358. package/src/thirdparty/merge.js +0 -10
  1359. package/src/thirdparty/template.js +0 -600
  1360. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  1361. package/src/types/AnimationMode.js +0 -7
  1362. package/src/types/CSSSize.js +0 -9
  1363. package/src/types/CalendarType.js +0 -22
  1364. package/src/types/DataType.js +0 -25
  1365. package/src/types/Integer.js +0 -9
  1366. package/src/types/ItemNavigationBehavior.js +0 -21
  1367. package/src/types/NavigationMode.js +0 -6
  1368. package/src/types/PopupState.js +0 -37
  1369. package/src/types/ValueState.js +0 -22
  1370. package/src/util/FetchHelper.js +0 -31
  1371. package/src/util/FocusableElements.js +0 -60
  1372. package/src/util/StringHelper.js +0 -26
  1373. package/src/util/TabbableElements.js +0 -47
  1374. package/src/util/createStyleInHead.js +0 -18
  1375. package/src/util/detectNavigatorLanguage.js +0 -13
  1376. package/src/util/findNodeOwner.js +0 -35
  1377. package/src/util/formatMessage.js +0 -23
  1378. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  1379. package/src/util/getFileExtension.js +0 -21
  1380. package/src/util/isDescendantOf.js +0 -15
  1381. package/src/util/isNodeClickable.js +0 -19
  1382. package/src/util/isNodeHidden.js +0 -13
  1383. package/src/util/isNodeTabbable.js +0 -28
  1384. package/src/util/isValidPropertyName.js +0 -23
  1385. package/src/util/whenDOMReady.js +0 -13
@@ -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\tviewBox?: string,\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\tviewBox: iconData.viewBox,\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":"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","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, };
@@ -1,125 +1,137 @@
1
- import { fetchJsonOnce } from "../util/FetchHelper.js";
2
- import { getFeature } from "../FeaturesRegistry.js";
1
+ import { attachLanguageChange } from "../locale/languageChange.js";
2
+ import getLocale from "../locale/getLocale.js";
3
3
  import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from "../generated/AssetParameters.js";
4
-
5
- const resources = new Map();
6
- const cldrData = {};
7
- const cldrUrls = {};
8
-
9
- // externally configurable mapping function for resolving (localeId -> URL)
10
- // default implementation - ui5 CDN
11
- let cldrMappingFn = locale => `https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/${locale}.json`;
12
-
4
+ import { getFeature } from "../FeaturesRegistry.js";
5
+ const localeDataMap = new Map();
6
+ const loaders = new Map();
7
+ const cldrPromises = new Map();
8
+ const reportedErrors = new Set();
9
+ let warningShown = false;
13
10
  const M_ISO639_OLD_TO_NEW = {
14
- "iw": "he",
15
- "ji": "yi",
16
- "in": "id",
17
- "sh": "sr",
11
+ "iw": "he",
12
+ "ji": "yi",
13
+ "in": "id",
14
+ };
15
+ const _showAssetsWarningOnce = (localeId) => {
16
+ if (warningShown) {
17
+ return;
18
+ }
19
+ console.warn(`[LocaleData] Supported locale "${localeId}" not configured, import the "Assets.js" module from the webcomponents package you are using.`); /* eslint-disable-line */
20
+ warningShown = true;
18
21
  };
19
-
20
22
  const calcLocale = (language, region, script) => {
21
- // normalize language and handle special cases
22
- language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
23
- // Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
24
- if (language === "no") {
25
- language = "nb";
26
- }
27
- // Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
28
- if (language === "zh" && !region) {
29
- if (script === "Hans") {
30
- region = "CN";
31
- } else if (script === "Hant") {
32
- region = "TW";
33
- }
34
- }
35
-
36
- // try language + region
37
- let localeId = `${language}_${region}`;
38
- if (!SUPPORTED_LOCALES.includes(localeId)) {
39
- // fallback to language only
40
- localeId = language;
41
- }
42
- if (!SUPPORTED_LOCALES.includes(localeId)) {
43
- // fallback to english
44
- localeId = DEFAULT_LOCALE;
45
- }
46
-
47
- return localeId;
23
+ // normalize language and handle special cases
24
+ language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
25
+ // Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
26
+ if (language === "no") {
27
+ language = "nb";
28
+ }
29
+ // Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
30
+ if (language === "zh" && !region) {
31
+ if (script === "Hans") {
32
+ region = "CN";
33
+ }
34
+ else if (script === "Hant") {
35
+ region = "TW";
36
+ }
37
+ }
38
+ // Special case 3: for Serbian, there are cyrillic and latin scripts, "sh" and "sr-latn" map to "latin", "sr" maps to cyrillic.
39
+ if (language === "sh" || (language === "sr" && script === "Latn")) {
40
+ language = "sr";
41
+ region = "Latn";
42
+ }
43
+ // try language + region
44
+ let localeId = `${language}_${region}`;
45
+ if (SUPPORTED_LOCALES.includes(localeId)) {
46
+ if (loaders.has(localeId)) {
47
+ // supported and has loader
48
+ return localeId;
49
+ }
50
+ // supported, no loader - fallback to default and warn
51
+ _showAssetsWarningOnce(localeId);
52
+ return DEFAULT_LOCALE;
53
+ }
54
+ // not supported, try language only
55
+ localeId = language;
56
+ if (SUPPORTED_LOCALES.includes(localeId)) {
57
+ if (loaders.has(localeId)) {
58
+ // supported and has loader
59
+ return localeId;
60
+ }
61
+ // supported, no loader - fallback to default and warn
62
+ _showAssetsWarningOnce(localeId);
63
+ return DEFAULT_LOCALE;
64
+ }
65
+ // not supported - fallback to default locale
66
+ return DEFAULT_LOCALE;
48
67
  };
49
-
50
-
51
- const resolveMissingMappings = () => {
52
- if (!cldrMappingFn) {
53
- return;
54
- }
55
-
56
- const missingLocales = SUPPORTED_LOCALES.filter(locale => !cldrData[locale] && !cldrUrls[locale]);
57
- missingLocales.forEach(locale => {
58
- cldrUrls[locale] = cldrMappingFn(locale);
59
- });
68
+ // internal set data
69
+ const setLocaleData = (localeId, content) => {
70
+ localeDataMap.set(localeId, content);
60
71
  };
61
-
62
- const registerModuleContent = (moduleName, content) => {
63
- resources.set(moduleName, content);
72
+ // external getSync
73
+ const getLocaleData = (localeId) => {
74
+ // if there is no loader, the default fallback was fetched and a warning was given - use default locale instead
75
+ if (!loaders.has(localeId)) {
76
+ localeId = DEFAULT_LOCALE;
77
+ }
78
+ const content = localeDataMap.get(localeId);
79
+ if (!content) {
80
+ throw new Error(`CLDR data for locale ${localeId} is not loaded!`);
81
+ }
82
+ return content;
64
83
  };
65
-
66
- const getModuleContent = moduleName => {
67
- const moduleContent = resources.get(moduleName);
68
- if (moduleContent) {
69
- return moduleContent;
70
- }
71
-
72
- const missingModule = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
73
- if (missingModule) {
74
- throw new Error(`CLDR data for locale ${missingModule[1]} is not loaded!`);
75
- }
76
-
77
- throw new Error(`Unknown module ${moduleName}`);
84
+ // load bundle over the network once
85
+ const _loadCldrOnce = (localeId) => {
86
+ if (!cldrPromises.get(localeId)) {
87
+ const loadCldr = loaders.get(localeId);
88
+ if (!loadCldr) {
89
+ throw new Error(`CLDR data for locale ${localeId} is not loaded!`);
90
+ }
91
+ cldrPromises.set(localeId, loadCldr(localeId));
92
+ }
93
+ return cldrPromises.get(localeId);
78
94
  };
79
-
95
+ // external getAsync
80
96
  const fetchCldr = async (language, region, script) => {
81
- resolveMissingMappings();
82
- const localeId = calcLocale(language, region, script);
83
-
84
- let cldrObj = cldrData[localeId];
85
- const url = cldrUrls[localeId];
86
-
87
- const OpenUI5Support = getFeature("OpenUI5Support");
88
- if (!cldrObj && OpenUI5Support) {
89
- cldrObj = OpenUI5Support.getLocaleDataObject();
90
- }
91
-
92
- if (cldrObj) {
93
- // inlined from build or fetched independently
94
- registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrObj);
95
- } else if (url) {
96
- // fetch it
97
- const cldrContent = await fetchJsonOnce(url);
98
- registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrContent);
99
- }
100
- };
101
-
102
- const registerCldr = (locale, url) => {
103
- cldrUrls[locale] = url;
104
- };
105
-
106
- const setCldrData = (locale, data) => {
107
- cldrData[locale] = data;
108
- };
109
-
110
- const getCldrData = locale => {
111
- return cldrData[locale];
112
- };
113
-
114
- const _registerMappingFunction = mappingFn => {
115
- cldrMappingFn = mappingFn;
97
+ const localeId = calcLocale(language, region, script);
98
+ // reuse OpenUI5 CLDR if present
99
+ const openUI5Support = getFeature("OpenUI5Support");
100
+ if (openUI5Support) {
101
+ const cldrContent = openUI5Support.getLocaleDataObject();
102
+ if (cldrContent) {
103
+ // only if openui5 actually returned valid content
104
+ setLocaleData(localeId, cldrContent);
105
+ return;
106
+ }
107
+ }
108
+ // fetch it
109
+ try {
110
+ const cldrContent = await _loadCldrOnce(localeId);
111
+ setLocaleData(localeId, cldrContent);
112
+ }
113
+ catch (error) {
114
+ const e = error;
115
+ if (!reportedErrors.has(e.message)) {
116
+ reportedErrors.add(e.message);
117
+ console.error(e.message); /* eslint-disable-line */
118
+ }
119
+ }
116
120
  };
117
-
118
- export {
119
- fetchCldr,
120
- registerCldr,
121
- setCldrData,
122
- getCldrData,
123
- getModuleContent,
124
- _registerMappingFunction,
121
+ const registerLocaleDataLoader = (localeId, loader) => {
122
+ loaders.set(localeId, loader);
125
123
  };
124
+ // register default loader for "en" from ui5 CDN (dev workflow without assets)
125
+ registerLocaleDataLoader("en", async () => {
126
+ console.warn(`[LocaleData] Falling back to loading "en" locale data from CDN.`, /* eslint-disable-line */ `For production usage, please configure locale data loading via the "Assets.js" module of the webcomponents package you are using.`); /* eslint-disable-line */
127
+ const cldrContent = await fetch(`https://cdn.jsdelivr.net/npm/@openui5/sap.ui.core@1.120.17/src/sap/ui/core/cldr/en.json`);
128
+ return cldrContent.json();
129
+ });
130
+ // When the language changes dynamically (the user calls setLanguage),
131
+ // re-fetch the required CDRD data.
132
+ attachLanguageChange(() => {
133
+ const locale = getLocale();
134
+ return fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
135
+ });
136
+ export { registerLocaleDataLoader, fetchCldr, getLocaleData, };
137
+ //# sourceMappingURL=LocaleData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocaleData.js","sourceRoot":"","sources":["../../src/asset-registries/LocaleData.ts"],"names":[],"mappings":"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","sourcesContent":["import { attachLanguageChange } from \"../locale/languageChange.js\";\nimport getLocale from \"../locale/getLocale.js\";\nimport { DEFAULT_LOCALE, SUPPORTED_LOCALES } from \"../generated/AssetParameters.js\";\nimport { getFeature } from \"../FeaturesRegistry.js\";\nimport type OpenUI5Support from \"../features/OpenUI5Support.js\";\n\ntype LocaleDataLoader = (locale: string) => Promise<CLDRData>;\ntype CLDRData = Record<string, object | boolean | string>;\n\nconst localeDataMap = new Map<string, CLDRData>();\nconst loaders = new Map<string, LocaleDataLoader>();\nconst cldrPromises = new Map<string, Promise<CLDRData>>();\nconst reportedErrors = new Set<string>();\nlet warningShown = false;\n\nconst M_ISO639_OLD_TO_NEW = {\n\t\"iw\": \"he\",\n\t\"ji\": \"yi\",\n\t\"in\": \"id\",\n};\n\nconst _showAssetsWarningOnce = (localeId: string) => {\n\tif (warningShown) {\n\t\treturn;\n\t}\n\n\tconsole.warn(`[LocaleData] Supported locale \"${localeId}\" not configured, import the \"Assets.js\" module from the webcomponents package you are using.`); /* eslint-disable-line */\n\n\twarningShown = true;\n};\n\nconst calcLocale = (language: string, region: string, script: string) => {\n\t// normalize language and handle special cases\n\tlanguage = (language && M_ISO639_OLD_TO_NEW[language as keyof typeof M_ISO639_OLD_TO_NEW]) || language;\n\t// Special case 1: in an SAP context, the inclusive language code \"no\" always means Norwegian Bokmal (\"nb\")\n\tif (language === \"no\") {\n\t\tlanguage = \"nb\";\n\t}\n\t// Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)\n\tif (language === \"zh\" && !region) {\n\t\tif (script === \"Hans\") {\n\t\t\tregion = \"CN\";\n\t\t} else if (script === \"Hant\") {\n\t\t\tregion = \"TW\";\n\t\t}\n\t}\n\n\t// Special case 3: for Serbian, there are cyrillic and latin scripts, \"sh\" and \"sr-latn\" map to \"latin\", \"sr\" maps to cyrillic.\n\tif (language === \"sh\" || (language === \"sr\" && script === \"Latn\")) {\n\t\tlanguage = \"sr\";\n\t\tregion = \"Latn\";\n\t}\n\n\t// try language + region\n\tlet localeId = `${language}_${region}`;\n\tif (SUPPORTED_LOCALES.includes(localeId)) {\n\t\tif (loaders.has(localeId)) {\n\t\t\t// supported and has loader\n\t\t\treturn localeId;\n\t\t}\n\n\t\t// supported, no loader - fallback to default and warn\n\t\t_showAssetsWarningOnce(localeId);\n\t\treturn DEFAULT_LOCALE;\n\t}\n\n\t// not supported, try language only\n\tlocaleId = language;\n\tif (SUPPORTED_LOCALES.includes(localeId)) {\n\t\tif (loaders.has(localeId)) {\n\t\t\t// supported and has loader\n\t\t\treturn localeId;\n\t\t}\n\n\t\t// supported, no loader - fallback to default and warn\n\t\t_showAssetsWarningOnce(localeId);\n\t\treturn DEFAULT_LOCALE;\n\t}\n\n\t// not supported - fallback to default locale\n\treturn DEFAULT_LOCALE;\n};\n\n// internal set data\nconst setLocaleData = (localeId: string, content: CLDRData) => {\n\tlocaleDataMap.set(localeId, content);\n};\n\n// external getSync\nconst getLocaleData = (localeId: string) => {\n\t// if there is no loader, the default fallback was fetched and a warning was given - use default locale instead\n\tif (!loaders.has(localeId)) {\n\t\tlocaleId = DEFAULT_LOCALE;\n\t}\n\n\tconst content = localeDataMap.get(localeId);\n\tif (!content) {\n\t\tthrow new Error(`CLDR data for locale ${localeId} is not loaded!`);\n\t}\n\n\treturn content;\n};\n\n// load bundle over the network once\nconst _loadCldrOnce = (localeId: string) => {\n\tif (!cldrPromises.get(localeId)) {\n\t\tconst loadCldr = loaders.get(localeId);\n\n\t\tif (!loadCldr) {\n\t\t\tthrow new Error(`CLDR data for locale ${localeId} is not loaded!`);\n\t\t}\n\n\t\tcldrPromises.set(localeId, loadCldr(localeId));\n\t}\n\n\treturn cldrPromises.get(localeId);\n};\n\n// external getAsync\nconst fetchCldr = async (language: string, region: string, script: string) => {\n\tconst localeId = calcLocale(language, region, script);\n\n\t// reuse OpenUI5 CLDR if present\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\tif (openUI5Support) {\n\t\tconst cldrContent = openUI5Support.getLocaleDataObject();\n\t\tif (cldrContent) {\n\t\t\t// only if openui5 actually returned valid content\n\t\t\tsetLocaleData(localeId, cldrContent);\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// fetch it\n\ttry {\n\t\tconst cldrContent = await _loadCldrOnce(localeId);\n\t\tsetLocaleData(localeId, cldrContent as CLDRData);\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tif (!reportedErrors.has(e.message)) {\n\t\t\treportedErrors.add(e.message);\n\t\t\tconsole.error(e.message); /* eslint-disable-line */\n\t\t}\n\t}\n};\n\nconst registerLocaleDataLoader = (localeId: string, loader: LocaleDataLoader) => {\n\tloaders.set(localeId, loader);\n};\n\n// register default loader for \"en\" from ui5 CDN (dev workflow without assets)\nregisterLocaleDataLoader(\"en\", async () => {\n\tconsole.warn(`[LocaleData] Falling back to loading \"en\" locale data from CDN.`, /* eslint-disable-line */\n\t\t`For production usage, please configure locale data loading via the \"Assets.js\" module of the webcomponents package you are using.`); /* eslint-disable-line */\n\tconst cldrContent = await fetch(`https://cdn.jsdelivr.net/npm/@openui5/sap.ui.core@1.120.17/src/sap/ui/core/cldr/en.json`);\n\treturn cldrContent.json() as Promise<CLDRData>;\n});\n\n// When the language changes dynamically (the user calls setLanguage),\n// re-fetch the required CDRD data.\nattachLanguageChange(() => {\n\tconst locale = getLocale();\n\treturn fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());\n});\n\nexport {\n\tregisterLocaleDataLoader,\n\tfetchCldr,\n\tgetLocaleData,\n};\n\nexport type {\n\tCLDRData,\n};\n"]}