@ui5/webcomponents-base 0.0.0-1b5f0ec39 → 0.0.0-1c3388f4d

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 (895) hide show
  1. package/CHANGELOG.md +2047 -0
  2. package/README.md +6 -12
  3. package/cypress.config.js +3 -0
  4. package/dist/.tsbuildinfobuild +1 -0
  5. package/dist/AssetRegistry.d.ts +2 -2
  6. package/dist/AssetRegistry.js +2 -2
  7. package/dist/AssetRegistry.js.map +1 -1
  8. package/dist/Assets-fetch.d.ts +1 -0
  9. package/dist/Assets-fetch.js +3 -0
  10. package/dist/Assets-fetch.js.map +1 -0
  11. package/dist/Assets-node.d.ts +12 -0
  12. package/dist/Assets-node.js +14 -0
  13. package/dist/Assets-node.js.map +1 -0
  14. package/dist/Assets.d.ts +1 -0
  15. package/dist/Assets.js +3 -0
  16. package/dist/Assets.js.map +1 -0
  17. package/dist/Boot.d.ts +3 -2
  18. package/dist/Boot.js +12 -8
  19. package/dist/Boot.js.map +1 -1
  20. package/dist/CustomElementsRegistry.d.ts +2 -1
  21. package/dist/CustomElementsRegistry.js +5 -2
  22. package/dist/CustomElementsRegistry.js.map +1 -1
  23. package/dist/CustomElementsScope.d.ts +4 -4
  24. package/dist/CustomElementsScope.js +2 -2
  25. package/dist/CustomElementsScope.js.map +1 -1
  26. package/dist/CustomElementsScopeUtils.d.ts +12 -3
  27. package/dist/CustomElementsScopeUtils.js +21 -2
  28. package/dist/CustomElementsScopeUtils.js.map +1 -1
  29. package/dist/DOMObserver.js.map +1 -1
  30. package/dist/Device.d.ts +17 -2
  31. package/dist/Device.js +19 -14
  32. package/dist/Device.js.map +1 -1
  33. package/dist/DragAndDrop.d.ts +2 -0
  34. package/dist/DragAndDrop.js +5 -0
  35. package/dist/DragAndDrop.js.map +1 -0
  36. package/dist/EventProvider.js +1 -1
  37. package/dist/EventProvider.js.map +1 -1
  38. package/dist/FontFace.js +6 -9
  39. package/dist/FontFace.js.map +1 -1
  40. package/dist/IgnoreCustomElements.d.ts +25 -0
  41. package/dist/IgnoreCustomElements.js +37 -0
  42. package/dist/IgnoreCustomElements.js.map +1 -0
  43. package/dist/InitialConfiguration.d.ts +10 -3
  44. package/dist/InitialConfiguration.js +39 -9
  45. package/dist/InitialConfiguration.js.map +1 -1
  46. package/dist/Keys.d.ts +11 -1
  47. package/dist/Keys.js +117 -106
  48. package/dist/Keys.js.map +1 -1
  49. package/dist/Location.d.ts +11 -0
  50. package/dist/Location.js +49 -0
  51. package/dist/Location.js.map +1 -0
  52. package/dist/ManagedStyles.d.ts +5 -6
  53. package/dist/ManagedStyles.js +45 -53
  54. package/dist/ManagedStyles.js.map +1 -1
  55. package/dist/MediaRange.d.ts +6 -12
  56. package/dist/MediaRange.js +21 -31
  57. package/dist/MediaRange.js.map +1 -1
  58. package/dist/PropertiesFileFormat.js.map +1 -1
  59. package/dist/Render.js.map +1 -1
  60. package/dist/RenderQueue.js.map +1 -1
  61. package/dist/Runtimes.js +11 -0
  62. package/dist/Runtimes.js.map +1 -1
  63. package/dist/SystemCSSVars.js.map +1 -1
  64. package/dist/UI5Element.d.ts +122 -75
  65. package/dist/UI5Element.js +413 -230
  66. package/dist/UI5Element.js.map +1 -1
  67. package/dist/UI5ElementMetadata.d.ts +36 -27
  68. package/dist/UI5ElementMetadata.js +27 -72
  69. package/dist/UI5ElementMetadata.js.map +1 -1
  70. package/dist/animations/AnimationQueue.js.map +1 -1
  71. package/dist/animations/animate.js.map +1 -1
  72. package/dist/animations/slideUp.js.map +1 -1
  73. package/dist/asset-registries/Icons.d.ts +45 -10
  74. package/dist/asset-registries/Icons.js +79 -25
  75. package/dist/asset-registries/Icons.js.map +1 -1
  76. package/dist/asset-registries/Illustrations.d.ts +2 -0
  77. package/dist/asset-registries/Illustrations.js +51 -20
  78. package/dist/asset-registries/Illustrations.js.map +1 -1
  79. package/dist/asset-registries/LocaleData.js +1 -1
  80. package/dist/asset-registries/LocaleData.js.map +1 -1
  81. package/dist/asset-registries/Themes.d.ts +5 -7
  82. package/dist/asset-registries/Themes.js +27 -12
  83. package/dist/asset-registries/Themes.js.map +1 -1
  84. package/dist/asset-registries/i18n.d.ts +2 -2
  85. package/dist/asset-registries/i18n.js +4 -3
  86. package/dist/asset-registries/i18n.js.map +1 -1
  87. package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.d.ts +1 -2
  88. package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.js +1 -2
  89. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  90. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  91. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  92. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  93. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  94. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  95. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  96. package/dist/config/AnimationMode.d.ts +2 -2
  97. package/dist/config/AnimationMode.js +6 -1
  98. package/dist/config/AnimationMode.js.map +1 -1
  99. package/dist/config/CalendarType.d.ts +8 -1
  100. package/dist/config/CalendarType.js +23 -2
  101. package/dist/config/CalendarType.js.map +1 -1
  102. package/dist/config/ConfigurationReset.d.ts +4 -0
  103. package/dist/config/ConfigurationReset.js +11 -0
  104. package/dist/config/ConfigurationReset.js.map +1 -0
  105. package/dist/config/Fonts.d.ts +16 -0
  106. package/dist/config/Fonts.js +30 -0
  107. package/dist/config/Fonts.js.map +1 -0
  108. package/dist/config/FormatSettings.js +4 -0
  109. package/dist/config/FormatSettings.js.map +1 -1
  110. package/dist/config/Icons.d.ts +9 -24
  111. package/dist/config/Icons.js +8 -67
  112. package/dist/config/Icons.js.map +1 -1
  113. package/dist/config/Language.d.ts +3 -2
  114. package/dist/config/Language.js +23 -4
  115. package/dist/config/Language.js.map +1 -1
  116. package/dist/config/NoConflict.js +4 -0
  117. package/dist/config/NoConflict.js.map +1 -1
  118. package/dist/config/Theme.d.ts +4 -3
  119. package/dist/config/Theme.js +18 -8
  120. package/dist/config/Theme.js.map +1 -1
  121. package/dist/config/ThemeRoot.d.ts +29 -0
  122. package/dist/config/ThemeRoot.js +63 -0
  123. package/dist/config/ThemeRoot.js.map +1 -0
  124. package/dist/config/Timezone.d.ts +1 -1
  125. package/dist/config/Timezone.js +5 -1
  126. package/dist/config/Timezone.js.map +1 -1
  127. package/dist/config/Tooltips.d.ts +19 -0
  128. package/dist/config/Tooltips.js +29 -0
  129. package/dist/config/Tooltips.js.map +1 -0
  130. package/dist/connectToComponent.d.ts +9 -0
  131. package/dist/connectToComponent.js +59 -0
  132. package/dist/connectToComponent.js.map +1 -0
  133. package/dist/converters/DOMReference.d.ts +5 -0
  134. package/dist/converters/DOMReference.js +13 -0
  135. package/dist/converters/DOMReference.js.map +1 -0
  136. package/dist/css/MultipleDragGhost.css +17 -0
  137. package/dist/css/SystemCSSVars.css +0 -8
  138. package/dist/custom-elements-internal.json +2839 -0
  139. package/dist/custom-elements.json +2536 -0
  140. package/dist/decorators/bound.d.ts +1 -0
  141. package/dist/decorators/bound.js +34 -0
  142. package/dist/decorators/bound.js.map +1 -0
  143. package/dist/decorators/customElement.d.ts +43 -3
  144. package/dist/decorators/customElement.js +14 -6
  145. package/dist/decorators/customElement.js.map +1 -1
  146. package/dist/decorators/event-strict.d.ts +15 -0
  147. package/dist/decorators/event-strict.js +26 -0
  148. package/dist/decorators/event-strict.js.map +1 -0
  149. package/dist/decorators/event.d.ts +8 -2
  150. package/dist/decorators/event.js +3 -0
  151. package/dist/decorators/event.js.map +1 -1
  152. package/dist/decorators/i18n.d.ts +17 -0
  153. package/dist/decorators/i18n.js +32 -0
  154. package/dist/decorators/i18n.js.map +1 -0
  155. package/dist/decorators/property.d.ts +1 -1
  156. package/dist/decorators/property.js +1 -1
  157. package/dist/decorators/property.js.map +1 -1
  158. package/dist/decorators/query.d.ts +25 -0
  159. package/dist/decorators/query.js +32 -0
  160. package/dist/decorators/query.js.map +1 -0
  161. package/dist/decorators/queryAll.d.ts +27 -0
  162. package/dist/decorators/queryAll.js +34 -0
  163. package/dist/decorators/queryAll.js.map +1 -0
  164. package/dist/decorators/slot.d.ts +1 -1
  165. package/dist/decorators/slot.js.map +1 -1
  166. package/dist/decorators.d.ts +8 -0
  167. package/dist/decorators.js +9 -0
  168. package/dist/decorators.js.map +1 -0
  169. package/dist/delegate/ItemNavigation.d.ts +9 -8
  170. package/dist/delegate/ItemNavigation.js +13 -14
  171. package/dist/delegate/ItemNavigation.js.map +1 -1
  172. package/dist/delegate/ResizeHandler.d.ts +4 -6
  173. package/dist/delegate/ResizeHandler.js +4 -6
  174. package/dist/delegate/ResizeHandler.js.map +1 -1
  175. package/dist/delegate/ScrollEnablement.js +2 -2
  176. package/dist/delegate/ScrollEnablement.js.map +1 -1
  177. package/dist/features/F6Navigation.d.ts +4 -3
  178. package/dist/features/F6Navigation.js +50 -16
  179. package/dist/features/F6Navigation.js.map +1 -1
  180. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  181. package/dist/features/InputElementsFormSupport.js +39 -0
  182. package/dist/features/InputElementsFormSupport.js.map +1 -0
  183. package/dist/features/LegacyDateFormats.js.map +1 -1
  184. package/dist/features/OpenUI5Enablement.d.ts +3 -3
  185. package/dist/features/OpenUI5Enablement.js.map +1 -1
  186. package/dist/features/OpenUI5Support.d.ts +18 -6
  187. package/dist/features/OpenUI5Support.js +103 -46
  188. package/dist/features/OpenUI5Support.js.map +1 -1
  189. package/dist/features/patchPatcher.d.ts +11 -0
  190. package/dist/features/patchPatcher.js +11 -0
  191. package/dist/features/patchPatcher.js.map +1 -0
  192. package/dist/features/patchPopup.d.ts +18 -0
  193. package/dist/features/patchPopup.js +88 -0
  194. package/dist/features/patchPopup.js.map +1 -0
  195. package/dist/generated/AssetParameters.d.ts +6 -0
  196. package/dist/generated/AssetParameters.js +3 -10
  197. package/dist/generated/AssetParameters.js.map +1 -0
  198. package/dist/generated/VersionInfo.d.ts +10 -0
  199. package/dist/generated/VersionInfo.js +9 -8
  200. package/dist/generated/VersionInfo.js.map +1 -0
  201. package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
  202. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  203. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  204. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  205. package/dist/generated/css/BusyIndicator.css.d.ts +2 -3
  206. package/dist/generated/css/BusyIndicator.css.js +1 -6
  207. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  208. package/dist/generated/css/FontFace.css.d.ts +2 -3
  209. package/dist/generated/css/FontFace.css.js +36 -6
  210. package/dist/generated/css/FontFace.css.js.map +1 -1
  211. package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
  212. package/dist/generated/css/MultipleDragGhost.css.js +2 -0
  213. package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
  214. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -3
  215. package/dist/generated/css/SystemCSSVars.css.js +1 -6
  216. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  217. package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
  218. package/dist/generated/i18n/i18n-defaults.js +3 -0
  219. package/dist/generated/i18n/i18n-defaults.js.map +1 -0
  220. package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
  221. package/dist/generated/json-imports/i18n-fetch.js +26 -0
  222. package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
  223. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  224. package/dist/generated/json-imports/i18n-node.js +26 -0
  225. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  226. package/dist/generated/json-imports/i18n.d.ts +1 -0
  227. package/dist/generated/json-imports/i18n.js +26 -0
  228. package/dist/generated/json-imports/i18n.js.map +1 -0
  229. package/dist/getSharedResource.js +7 -1
  230. package/dist/getSharedResource.js.map +1 -1
  231. package/dist/i18nBundle.d.ts +2 -4
  232. package/dist/i18nBundle.js +3 -5
  233. package/dist/i18nBundle.js.map +1 -1
  234. package/dist/index.d.ts +49 -0
  235. package/dist/index.js +91 -0
  236. package/dist/index.js.map +1 -0
  237. package/dist/jsx-dev-runtime.d.ts +4 -0
  238. package/dist/jsx-dev-runtime.js +43 -0
  239. package/dist/jsx-dev-runtime.js.map +1 -0
  240. package/dist/jsx-runtime.d.ts +51 -0
  241. package/dist/jsx-runtime.js +27 -0
  242. package/dist/jsx-runtime.js.map +1 -0
  243. package/dist/jsx-utils.d.ts +3 -0
  244. package/dist/jsx-utils.js +48 -0
  245. package/dist/jsx-utils.js.map +1 -0
  246. package/dist/locale/Locale.js.map +1 -1
  247. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  248. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  249. package/dist/locale/applyDirection.d.ts +3 -2
  250. package/dist/locale/applyDirection.js +3 -2
  251. package/dist/locale/applyDirection.js.map +1 -1
  252. package/dist/locale/getEffectiveDir.d.ts +1 -1
  253. package/dist/locale/getEffectiveDir.js +3 -19
  254. package/dist/locale/getEffectiveDir.js.map +1 -1
  255. package/dist/locale/getLocale.js.map +1 -1
  256. package/dist/locale/nextFallbackLocale.js +6 -2
  257. package/dist/locale/nextFallbackLocale.js.map +1 -1
  258. package/dist/locale/normalizeLocale.js.map +1 -1
  259. package/dist/prod/AssetRegistry.js +2 -0
  260. package/dist/prod/AssetRegistry.js.map +7 -0
  261. package/dist/prod/Assets-fetch.js +2 -0
  262. package/dist/prod/Assets-fetch.js.map +7 -0
  263. package/dist/prod/Assets-node.js +2 -0
  264. package/dist/prod/Assets-node.js.map +7 -0
  265. package/dist/prod/Assets.js +2 -0
  266. package/dist/prod/Assets.js.map +7 -0
  267. package/dist/prod/Boot.js +2 -0
  268. package/dist/prod/Boot.js.map +7 -0
  269. package/dist/prod/CustomElementsRegistry.js +10 -0
  270. package/dist/prod/CustomElementsRegistry.js.map +7 -0
  271. package/dist/prod/CustomElementsScope.js +2 -0
  272. package/dist/prod/CustomElementsScope.js.map +7 -0
  273. package/dist/prod/CustomElementsScopeUtils.js +2 -0
  274. package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
  275. package/dist/prod/DOMObserver.js +2 -0
  276. package/dist/prod/DOMObserver.js.map +7 -0
  277. package/dist/prod/Device.js +2 -0
  278. package/dist/prod/Device.js.map +7 -0
  279. package/dist/prod/DragAndDrop.js +2 -0
  280. package/dist/prod/DragAndDrop.js.map +7 -0
  281. package/dist/prod/EventProvider.js +2 -0
  282. package/dist/prod/EventProvider.js.map +7 -0
  283. package/dist/prod/FeaturesRegistry.js +2 -0
  284. package/dist/prod/FeaturesRegistry.js.map +7 -0
  285. package/dist/prod/FontFace.js +2 -0
  286. package/dist/prod/FontFace.js.map +7 -0
  287. package/dist/prod/IgnoreCustomElements.js +2 -0
  288. package/dist/prod/IgnoreCustomElements.js.map +7 -0
  289. package/dist/prod/InitialConfiguration.js +2 -0
  290. package/dist/prod/InitialConfiguration.js.map +7 -0
  291. package/dist/prod/Keys.js +2 -0
  292. package/dist/prod/Keys.js.map +7 -0
  293. package/dist/prod/Location.js +2 -0
  294. package/dist/prod/Location.js.map +7 -0
  295. package/dist/prod/ManagedStyles.js +2 -0
  296. package/dist/prod/ManagedStyles.js.map +7 -0
  297. package/dist/prod/MediaRange.js +2 -0
  298. package/dist/prod/MediaRange.js.map +7 -0
  299. package/dist/prod/PropertiesFileFormat.js +3 -0
  300. package/dist/prod/PropertiesFileFormat.js.map +7 -0
  301. package/dist/prod/Render.js +2 -0
  302. package/dist/prod/Render.js.map +7 -0
  303. package/dist/prod/RenderQueue.js +2 -0
  304. package/dist/prod/RenderQueue.js.map +7 -0
  305. package/dist/prod/Runtimes.js +2 -0
  306. package/dist/prod/Runtimes.js.map +7 -0
  307. package/dist/prod/SystemCSSVars.js +2 -0
  308. package/dist/prod/SystemCSSVars.js.map +7 -0
  309. package/dist/prod/Theming.js +2 -0
  310. package/dist/prod/Theming.js.map +7 -0
  311. package/dist/prod/UI5Element.js +2 -0
  312. package/dist/prod/UI5Element.js.map +7 -0
  313. package/dist/prod/UI5ElementMetadata.js +2 -0
  314. package/dist/prod/UI5ElementMetadata.js.map +7 -0
  315. package/dist/prod/animations/AnimationQueue.js +2 -0
  316. package/dist/prod/animations/AnimationQueue.js.map +7 -0
  317. package/dist/prod/animations/animate.js +2 -0
  318. package/dist/prod/animations/animate.js.map +7 -0
  319. package/dist/prod/animations/scroll.js +2 -0
  320. package/dist/prod/animations/scroll.js.map +7 -0
  321. package/dist/prod/animations/slideDown.js +2 -0
  322. package/dist/prod/animations/slideDown.js.map +7 -0
  323. package/dist/prod/animations/slideUp.js +2 -0
  324. package/dist/prod/animations/slideUp.js.map +7 -0
  325. package/dist/prod/asset-registries/Icons.js +2 -0
  326. package/dist/prod/asset-registries/Icons.js.map +7 -0
  327. package/dist/prod/asset-registries/Illustrations.js +2 -0
  328. package/dist/prod/asset-registries/Illustrations.js.map +7 -0
  329. package/dist/prod/asset-registries/LocaleData.js +2 -0
  330. package/dist/prod/asset-registries/LocaleData.js.map +7 -0
  331. package/dist/prod/asset-registries/Themes.js +2 -0
  332. package/dist/prod/asset-registries/Themes.js.map +7 -0
  333. package/dist/prod/asset-registries/i18n.js +2 -0
  334. package/dist/prod/asset-registries/i18n.js.map +7 -0
  335. package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
  336. package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
  337. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
  338. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
  339. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
  340. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
  341. package/dist/prod/config/AnimationMode.js +2 -0
  342. package/dist/prod/config/AnimationMode.js.map +7 -0
  343. package/dist/prod/config/CalendarType.js +2 -0
  344. package/dist/prod/config/CalendarType.js.map +7 -0
  345. package/dist/prod/config/ConfigurationReset.js +2 -0
  346. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  347. package/dist/prod/config/Fonts.js +2 -0
  348. package/dist/prod/config/Fonts.js.map +7 -0
  349. package/dist/prod/config/FormatSettings.js +2 -0
  350. package/dist/prod/config/FormatSettings.js.map +7 -0
  351. package/dist/prod/config/Icons.js +2 -0
  352. package/dist/prod/config/Icons.js.map +7 -0
  353. package/dist/prod/config/Language.js +2 -0
  354. package/dist/prod/config/Language.js.map +7 -0
  355. package/dist/prod/config/NoConflict.js +2 -0
  356. package/dist/prod/config/NoConflict.js.map +7 -0
  357. package/dist/prod/config/Theme.js +2 -0
  358. package/dist/prod/config/Theme.js.map +7 -0
  359. package/dist/prod/config/ThemeRoot.js +2 -0
  360. package/dist/prod/config/ThemeRoot.js.map +7 -0
  361. package/dist/prod/config/Timezone.js +2 -0
  362. package/dist/prod/config/Timezone.js.map +7 -0
  363. package/dist/prod/config/Tooltips.js +2 -0
  364. package/dist/prod/config/Tooltips.js.map +7 -0
  365. package/dist/prod/connectToComponent.js +2 -0
  366. package/dist/prod/connectToComponent.js.map +7 -0
  367. package/dist/prod/converters/DOMReference.js +2 -0
  368. package/dist/prod/converters/DOMReference.js.map +7 -0
  369. package/dist/prod/decorators/bound.js +2 -0
  370. package/dist/prod/decorators/bound.js.map +7 -0
  371. package/dist/prod/decorators/customElement.js +2 -0
  372. package/dist/prod/decorators/customElement.js.map +7 -0
  373. package/dist/prod/decorators/event-strict.js +2 -0
  374. package/dist/prod/decorators/event-strict.js.map +7 -0
  375. package/dist/prod/decorators/event.js +2 -0
  376. package/dist/prod/decorators/event.js.map +7 -0
  377. package/dist/prod/decorators/i18n.js +2 -0
  378. package/dist/prod/decorators/i18n.js.map +7 -0
  379. package/dist/prod/decorators/property.js +2 -0
  380. package/dist/prod/decorators/property.js.map +7 -0
  381. package/dist/prod/decorators/query.js +2 -0
  382. package/dist/prod/decorators/query.js.map +7 -0
  383. package/dist/prod/decorators/queryAll.js +2 -0
  384. package/dist/prod/decorators/queryAll.js.map +7 -0
  385. package/dist/prod/decorators/slot.js +2 -0
  386. package/dist/prod/decorators/slot.js.map +7 -0
  387. package/dist/prod/decorators.js +2 -0
  388. package/dist/prod/decorators.js.map +7 -0
  389. package/dist/prod/delegate/ItemNavigation.js +2 -0
  390. package/dist/prod/delegate/ItemNavigation.js.map +7 -0
  391. package/dist/prod/delegate/ResizeHandler.js +2 -0
  392. package/dist/prod/delegate/ResizeHandler.js.map +7 -0
  393. package/dist/prod/delegate/ScrollEnablement.js +2 -0
  394. package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
  395. package/dist/prod/features/F6Navigation.js +2 -0
  396. package/dist/prod/features/F6Navigation.js.map +7 -0
  397. package/dist/prod/features/InputElementsFormSupport.js +2 -0
  398. package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
  399. package/dist/prod/features/LegacyDateFormats.js +2 -0
  400. package/dist/prod/features/LegacyDateFormats.js.map +7 -0
  401. package/dist/prod/features/OpenUI5Element.js +2 -0
  402. package/dist/prod/features/OpenUI5Element.js.map +7 -0
  403. package/dist/prod/features/OpenUI5Enablement.js +21 -0
  404. package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
  405. package/dist/prod/features/OpenUI5Support.js +2 -0
  406. package/dist/prod/features/OpenUI5Support.js.map +7 -0
  407. package/dist/prod/features/patchPatcher.js +2 -0
  408. package/dist/prod/features/patchPatcher.js.map +7 -0
  409. package/dist/prod/features/patchPopup.js +2 -0
  410. package/dist/prod/features/patchPopup.js.map +7 -0
  411. package/dist/prod/generated/AssetParameters.js +2 -0
  412. package/dist/prod/generated/AssetParameters.js.map +7 -0
  413. package/dist/prod/generated/VersionInfo.js +2 -0
  414. package/dist/prod/generated/VersionInfo.js.map +7 -0
  415. package/dist/prod/generated/assets/i18n/messagebundle_en.json +1 -0
  416. package/dist/prod/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  417. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  418. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  419. package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
  420. package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
  421. package/dist/prod/generated/css/FontFace.css.js +37 -0
  422. package/dist/prod/generated/css/FontFace.css.js.map +7 -0
  423. package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
  424. package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
  425. package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
  426. package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
  427. package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
  428. package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
  429. package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
  430. package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
  431. package/dist/prod/generated/json-imports/i18n-node.js +2 -0
  432. package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
  433. package/dist/prod/generated/json-imports/i18n.js +2 -0
  434. package/dist/prod/generated/json-imports/i18n.js.map +7 -0
  435. package/dist/prod/getSharedResource.js +2 -0
  436. package/dist/prod/getSharedResource.js.map +7 -0
  437. package/dist/prod/global.d.js +2 -0
  438. package/dist/prod/global.d.js.map +7 -0
  439. package/dist/prod/i18nBundle.js +2 -0
  440. package/dist/prod/i18nBundle.js.map +7 -0
  441. package/dist/prod/index.js +2 -0
  442. package/dist/prod/index.js.map +7 -0
  443. package/dist/prod/jsx-dev-runtime.js +2 -0
  444. package/dist/prod/jsx-dev-runtime.js.map +7 -0
  445. package/dist/prod/jsx-runtime.js +2 -0
  446. package/dist/prod/jsx-runtime.js.map +7 -0
  447. package/dist/prod/jsx-utils.js +2 -0
  448. package/dist/prod/jsx-utils.js.map +7 -0
  449. package/dist/prod/locale/Locale.js +2 -0
  450. package/dist/prod/locale/Locale.js.map +7 -0
  451. package/dist/prod/locale/RTLAwareRegistry.js +2 -0
  452. package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
  453. package/dist/prod/locale/applyDirection.js +2 -0
  454. package/dist/prod/locale/applyDirection.js.map +7 -0
  455. package/dist/prod/locale/directionChange.js +2 -0
  456. package/dist/prod/locale/directionChange.js.map +7 -0
  457. package/dist/prod/locale/getEffectiveDir.js +2 -0
  458. package/dist/prod/locale/getEffectiveDir.js.map +7 -0
  459. package/dist/prod/locale/getLocale.js +2 -0
  460. package/dist/prod/locale/getLocale.js.map +7 -0
  461. package/dist/prod/locale/languageChange.js +2 -0
  462. package/dist/prod/locale/languageChange.js.map +7 -0
  463. package/dist/prod/locale/nextFallbackLocale.js +2 -0
  464. package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
  465. package/dist/prod/locale/normalizeLocale.js +2 -0
  466. package/dist/prod/locale/normalizeLocale.js.map +7 -0
  467. package/dist/prod/renderer/JsxRenderer.js +2 -0
  468. package/dist/prod/renderer/JsxRenderer.js.map +7 -0
  469. package/dist/prod/renderer/LitRenderer.js +2 -0
  470. package/dist/prod/renderer/LitRenderer.js.map +7 -0
  471. package/dist/prod/renderer/directives/style-map.js +6 -0
  472. package/dist/prod/renderer/directives/style-map.js.map +7 -0
  473. package/dist/prod/renderer/executeTemplate.js +2 -0
  474. package/dist/prod/renderer/executeTemplate.js.map +7 -0
  475. package/dist/prod/sap/base/Log.js +750 -0
  476. package/dist/prod/sap/base/assert.js +34 -0
  477. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
  478. package/dist/prod/sap/base/security/URLListValidator.js +406 -0
  479. package/dist/prod/sap/base/security/encodeCSS.js +40 -0
  480. package/dist/prod/sap/base/security/encodeXML.js +53 -0
  481. package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
  482. package/dist/prod/sap/base/strings/toHex.js +33 -0
  483. package/dist/prod/sap/base/util/now.js +28 -0
  484. package/dist/prod/sap/base/util/uid.js +27 -0
  485. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  486. package/dist/prod/ssr-dom-shim.js +2 -0
  487. package/dist/prod/ssr-dom-shim.js.map +7 -0
  488. package/dist/prod/ssr-dom.js +2 -0
  489. package/dist/prod/ssr-dom.js.map +7 -0
  490. package/dist/prod/theming/CustomStyle.js +2 -0
  491. package/dist/prod/theming/CustomStyle.js.map +7 -0
  492. package/dist/prod/theming/ThemeLoaded.js +2 -0
  493. package/dist/prod/theming/ThemeLoaded.js.map +7 -0
  494. package/dist/prod/theming/ThemeRegistered.js +2 -0
  495. package/dist/prod/theming/ThemeRegistered.js.map +7 -0
  496. package/dist/prod/theming/applyTheme.js +2 -0
  497. package/dist/prod/theming/applyTheme.js.map +7 -0
  498. package/dist/prod/theming/getConstructableStyle.js +2 -0
  499. package/dist/prod/theming/getConstructableStyle.js.map +7 -0
  500. package/dist/prod/theming/getEffectiveStyle.js +2 -0
  501. package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
  502. package/dist/prod/theming/getStylesString.js +2 -0
  503. package/dist/prod/theming/getStylesString.js.map +7 -0
  504. package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
  505. package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
  506. package/dist/prod/thirdparty/_merge.js +2 -0
  507. package/dist/prod/thirdparty/_merge.js.map +7 -0
  508. package/dist/prod/thirdparty/isPlainObject.js +2 -0
  509. package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
  510. package/dist/prod/thirdparty/merge.js +2 -0
  511. package/dist/prod/thirdparty/merge.js.map +7 -0
  512. package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
  513. package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
  514. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
  515. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
  516. package/dist/prod/thirdparty/preact/jsxRuntime.module.js +1 -0
  517. package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
  518. package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
  519. package/dist/prod/thirdparty/preact/preact.module.js +1 -0
  520. package/dist/prod/types/AnimationMode.js +2 -0
  521. package/dist/prod/types/AnimationMode.js.map +7 -0
  522. package/dist/prod/types/CalendarType.js +2 -0
  523. package/dist/prod/types/CalendarType.js.map +7 -0
  524. package/dist/prod/types/InvisibleMessageMode.js +2 -0
  525. package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
  526. package/dist/prod/types/ItemNavigationBehavior.js +2 -0
  527. package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
  528. package/dist/prod/types/MovePlacement.js +2 -0
  529. package/dist/prod/types/MovePlacement.js.map +7 -0
  530. package/dist/prod/types/NavigationMode.js +2 -0
  531. package/dist/prod/types/NavigationMode.js.map +7 -0
  532. package/dist/prod/types/Orientation.js +2 -0
  533. package/dist/prod/types/Orientation.js.map +7 -0
  534. package/dist/prod/types/SortOrder.js +2 -0
  535. package/dist/prod/types/SortOrder.js.map +7 -0
  536. package/dist/prod/types/ValueState.js +2 -0
  537. package/dist/prod/types/ValueState.js.map +7 -0
  538. package/dist/prod/types.js +2 -0
  539. package/dist/prod/types.js.map +7 -0
  540. package/dist/prod/updateShadowRoot.js +2 -0
  541. package/dist/prod/updateShadowRoot.js.map +7 -0
  542. package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
  543. package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
  544. package/dist/prod/util/Caret.js +2 -0
  545. package/dist/prod/util/Caret.js.map +7 -0
  546. package/dist/prod/util/ColorConversion.js +2 -0
  547. package/dist/prod/util/ColorConversion.js.map +7 -0
  548. package/dist/prod/util/FetchHelper.js +2 -0
  549. package/dist/prod/util/FetchHelper.js.map +7 -0
  550. package/dist/prod/util/FocusableElements.js +2 -0
  551. package/dist/prod/util/FocusableElements.js.map +7 -0
  552. package/dist/prod/util/HTMLSanitizer.js +2 -0
  553. package/dist/prod/util/HTMLSanitizer.js.map +7 -0
  554. package/dist/prod/util/InvisibleMessage.js +2 -0
  555. package/dist/prod/util/InvisibleMessage.js.map +7 -0
  556. package/dist/prod/util/PopupUtils.js +2 -0
  557. package/dist/prod/util/PopupUtils.js.map +7 -0
  558. package/dist/prod/util/SelectionAssistant.js +2 -0
  559. package/dist/prod/util/SelectionAssistant.js.map +7 -0
  560. package/dist/prod/util/SlotsHelper.js +2 -0
  561. package/dist/prod/util/SlotsHelper.js.map +7 -0
  562. package/dist/prod/util/StringHelper.js +2 -0
  563. package/dist/prod/util/StringHelper.js.map +7 -0
  564. package/dist/prod/util/TabbableElements.js +2 -0
  565. package/dist/prod/util/TabbableElements.js.map +7 -0
  566. package/dist/prod/util/arraysAreEqual.js +2 -0
  567. package/dist/prod/util/arraysAreEqual.js.map +7 -0
  568. package/dist/prod/util/clamp.js +2 -0
  569. package/dist/prod/util/clamp.js.map +7 -0
  570. package/dist/prod/util/createLinkInHead.js +2 -0
  571. package/dist/prod/util/createLinkInHead.js.map +7 -0
  572. package/dist/prod/util/debounce.js +2 -0
  573. package/dist/prod/util/debounce.js.map +7 -0
  574. package/dist/prod/util/detectNavigatorLanguage.js +2 -0
  575. package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
  576. package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
  577. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
  578. package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
  579. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
  580. package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
  581. package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
  582. package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
  583. package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
  584. package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
  585. package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
  586. package/dist/prod/util/escapeRegex.js +2 -0
  587. package/dist/prod/util/escapeRegex.js.map +7 -0
  588. package/dist/prod/util/fixSafariActiveState.js +2 -0
  589. package/dist/prod/util/fixSafariActiveState.js.map +7 -0
  590. package/dist/prod/util/formatMessage.js +2 -0
  591. package/dist/prod/util/formatMessage.js.map +7 -0
  592. package/dist/prod/util/generateHighlightedMarkup.js +2 -0
  593. package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
  594. package/dist/prod/util/getActiveElement.js +2 -0
  595. package/dist/prod/util/getActiveElement.js.map +7 -0
  596. package/dist/prod/util/getClassCopy.js +2 -0
  597. package/dist/prod/util/getClassCopy.js.map +7 -0
  598. package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
  599. package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
  600. package/dist/prod/util/getEffectiveContentDensity.js +2 -0
  601. package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
  602. package/dist/prod/util/getEffectiveScrollbarStyle.js +28 -0
  603. package/dist/prod/util/getEffectiveScrollbarStyle.js.map +7 -0
  604. package/dist/prod/util/getFastNavigationGroups.js +2 -0
  605. package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
  606. package/dist/prod/util/getFileExtension.js +2 -0
  607. package/dist/prod/util/getFileExtension.js.map +7 -0
  608. package/dist/prod/util/getNormalizedTarget.js +2 -0
  609. package/dist/prod/util/getNormalizedTarget.js.map +7 -0
  610. package/dist/prod/util/getParentElement.js +2 -0
  611. package/dist/prod/util/getParentElement.js.map +7 -0
  612. package/dist/prod/util/getSingletonElementInstance.js +2 -0
  613. package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
  614. package/dist/prod/util/hash2str.js +2 -0
  615. package/dist/prod/util/hash2str.js.map +7 -0
  616. package/dist/prod/util/isElementClickable.js +2 -0
  617. package/dist/prod/util/isElementClickable.js.map +7 -0
  618. package/dist/prod/util/isElementHidden.js +2 -0
  619. package/dist/prod/util/isElementHidden.js.map +7 -0
  620. package/dist/prod/util/isElementInView.js +2 -0
  621. package/dist/prod/util/isElementInView.js.map +7 -0
  622. package/dist/prod/util/isElementTabbable.js +2 -0
  623. package/dist/prod/util/isElementTabbable.js.map +7 -0
  624. package/dist/prod/util/isValidPropertyName.js +2 -0
  625. package/dist/prod/util/isValidPropertyName.js.map +7 -0
  626. package/dist/prod/util/throttle.js +2 -0
  627. package/dist/prod/util/throttle.js.map +7 -0
  628. package/dist/prod/util/toLowercaseEnumValue.js +2 -0
  629. package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
  630. package/dist/prod/util/valueStateNavigation.js +2 -0
  631. package/dist/prod/util/valueStateNavigation.js.map +7 -0
  632. package/dist/prod/util/whenDOMReady.js +2 -0
  633. package/dist/prod/util/whenDOMReady.js.map +7 -0
  634. package/dist/prod/util/willShowContent.js +2 -0
  635. package/dist/prod/util/willShowContent.js.map +7 -0
  636. package/dist/prod/validateThemeRoot.js +2 -0
  637. package/dist/prod/validateThemeRoot.js.map +7 -0
  638. package/dist/renderer/JsxRenderer.d.ts +3 -0
  639. package/dist/renderer/JsxRenderer.js +26 -0
  640. package/dist/renderer/JsxRenderer.js.map +1 -0
  641. package/dist/renderer/LitRenderer.d.ts +3 -3
  642. package/dist/renderer/LitRenderer.js +5 -10
  643. package/dist/renderer/LitRenderer.js.map +1 -1
  644. package/dist/renderer/directives/style-map.d.ts +13 -0
  645. package/dist/renderer/directives/style-map.js +59 -59
  646. package/dist/renderer/directives/style-map.js.map +1 -0
  647. package/dist/renderer/executeTemplate.d.ts +3 -4
  648. package/dist/renderer/executeTemplate.js +1 -19
  649. package/dist/renderer/executeTemplate.js.map +1 -1
  650. package/dist/sap/base/Log.js +698 -188
  651. package/dist/sap/base/assert.js +28 -1
  652. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  653. package/dist/sap/base/security/URLListValidator.js +253 -6
  654. package/dist/sap/base/security/encodeCSS.js +34 -8
  655. package/dist/sap/base/security/encodeXML.js +47 -17
  656. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  657. package/dist/sap/base/strings/toHex.js +27 -2
  658. package/dist/sap/base/util/now.js +24 -3
  659. package/dist/sap/base/util/uid.js +27 -0
  660. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +113 -98
  661. package/dist/ssr-dom-shim.d.ts +1 -0
  662. package/dist/ssr-dom-shim.js +63 -0
  663. package/dist/ssr-dom-shim.js.map +1 -0
  664. package/dist/ssr-dom.d.ts +1 -0
  665. package/dist/ssr-dom.js +3 -0
  666. package/dist/ssr-dom.js.map +1 -0
  667. package/dist/theming/CustomStyle.js.map +1 -1
  668. package/dist/theming/applyTheme.d.ts +2 -0
  669. package/dist/theming/applyTheme.js +15 -9
  670. package/dist/theming/applyTheme.js.map +1 -1
  671. package/dist/theming/getConstructableStyle.d.ts +2 -2
  672. package/dist/theming/getConstructableStyle.js +3 -3
  673. package/dist/theming/getConstructableStyle.js.map +1 -1
  674. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  675. package/dist/theming/getEffectiveStyle.js +5 -12
  676. package/dist/theming/getEffectiveStyle.js.map +1 -1
  677. package/dist/theming/getStylesString.js +2 -4
  678. package/dist/theming/getStylesString.js.map +1 -1
  679. package/dist/theming/getThemeDesignerTheme.js +2 -1
  680. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  681. package/dist/thirdparty/_merge.js.map +1 -1
  682. package/dist/thirdparty/isPlainObject.js.map +1 -1
  683. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  684. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  685. package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
  686. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  687. package/dist/thirdparty/preact/preact.module.js +1 -0
  688. package/dist/types/AnimationMode.d.ts +0 -8
  689. package/dist/types/AnimationMode.js +0 -8
  690. package/dist/types/AnimationMode.js.map +1 -1
  691. package/dist/types/CalendarType.d.ts +0 -9
  692. package/dist/types/CalendarType.js +0 -9
  693. package/dist/types/CalendarType.js.map +1 -1
  694. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  695. package/dist/types/InvisibleMessageMode.js +4 -11
  696. package/dist/types/InvisibleMessageMode.js.map +1 -1
  697. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  698. package/dist/types/ItemNavigationBehavior.js +0 -6
  699. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  700. package/dist/types/MovePlacement.d.ts +20 -0
  701. package/dist/types/MovePlacement.js +22 -0
  702. package/dist/types/MovePlacement.js.map +1 -0
  703. package/dist/types/NavigationMode.d.ts +0 -8
  704. package/dist/types/NavigationMode.js +0 -8
  705. package/dist/types/NavigationMode.js.map +1 -1
  706. package/dist/types/Orientation.d.ts +16 -0
  707. package/dist/types/Orientation.js +18 -0
  708. package/dist/types/Orientation.js.map +1 -0
  709. package/dist/types/SortOrder.d.ts +24 -0
  710. package/dist/types/SortOrder.js +26 -0
  711. package/dist/types/SortOrder.js.map +1 -0
  712. package/dist/types/ValueState.d.ts +3 -17
  713. package/dist/types/ValueState.js +3 -17
  714. package/dist/types/ValueState.js.map +1 -1
  715. package/dist/types.d.ts +42 -14
  716. package/dist/types.js.map +1 -1
  717. package/dist/updateShadowRoot.d.ts +1 -2
  718. package/dist/updateShadowRoot.js +4 -25
  719. package/dist/updateShadowRoot.js.map +1 -1
  720. package/dist/util/{AriaLabelHelper.d.ts → AccessibilityTextsHelper.d.ts} +4 -2
  721. package/dist/util/{AriaLabelHelper.js → AccessibilityTextsHelper.js} +36 -8
  722. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  723. package/dist/util/Caret.js.map +1 -1
  724. package/dist/util/ColorConversion.d.ts +2 -1
  725. package/dist/util/ColorConversion.js +233 -216
  726. package/dist/util/ColorConversion.js.map +1 -1
  727. package/dist/util/FetchHelper.js.map +1 -1
  728. package/dist/util/FocusableElements.js +43 -15
  729. package/dist/util/FocusableElements.js.map +1 -1
  730. package/dist/util/HTMLSanitizer.d.ts +2 -0
  731. package/dist/util/HTMLSanitizer.js +2 -2
  732. package/dist/util/HTMLSanitizer.js.map +1 -1
  733. package/dist/util/InvisibleMessage.js +2 -2
  734. package/dist/util/InvisibleMessage.js.map +1 -1
  735. package/dist/util/PopupUtils.d.ts +1 -3
  736. package/dist/util/PopupUtils.js +1 -15
  737. package/dist/util/PopupUtils.js.map +1 -1
  738. package/dist/util/SelectionAssistant.d.ts +12 -0
  739. package/dist/util/SelectionAssistant.js +79 -0
  740. package/dist/util/SelectionAssistant.js.map +1 -0
  741. package/dist/util/SlotsHelper.js.map +1 -1
  742. package/dist/util/StringHelper.d.ts +3 -1
  743. package/dist/util/StringHelper.js +15 -1
  744. package/dist/util/StringHelper.js.map +1 -1
  745. package/dist/util/TabbableElements.js +3 -10
  746. package/dist/util/TabbableElements.js.map +1 -1
  747. package/dist/util/arraysAreEqual.js.map +1 -1
  748. package/dist/util/clamp.js +2 -1
  749. package/dist/util/clamp.js.map +1 -1
  750. package/dist/util/createLinkInHead.d.ts +1 -1
  751. package/dist/util/createLinkInHead.js +1 -1
  752. package/dist/util/createLinkInHead.js.map +1 -1
  753. package/dist/util/debounce.js.map +1 -1
  754. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  755. package/dist/util/detectNavigatorLanguage.js +6 -1
  756. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  757. package/dist/util/dragAndDrop/DragRegistry.d.ts +39 -0
  758. package/dist/util/dragAndDrop/DragRegistry.js +58 -0
  759. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  760. package/dist/util/dragAndDrop/findClosestPosition.d.ts +12 -0
  761. package/dist/util/dragAndDrop/findClosestPosition.js +106 -0
  762. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  763. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  764. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  765. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  766. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  767. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  768. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  769. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  770. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  771. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  772. package/dist/util/fixSafariActiveState.d.ts +2 -0
  773. package/dist/util/fixSafariActiveState.js +11 -0
  774. package/dist/util/fixSafariActiveState.js.map +1 -0
  775. package/dist/util/formatMessage.js.map +1 -1
  776. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  777. package/dist/util/getActiveElement.js.map +1 -1
  778. package/dist/util/getClassCopy.d.ts +146 -102
  779. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  780. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  781. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  782. package/dist/util/getEffectiveScrollbarStyle.d.ts +1 -1
  783. package/dist/util/getEffectiveScrollbarStyle.js +33 -1
  784. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  785. package/dist/util/getFastNavigationGroups.js +6 -1
  786. package/dist/util/getFastNavigationGroups.js.map +1 -1
  787. package/dist/util/getFileExtension.js.map +1 -1
  788. package/dist/util/getNormalizedTarget.js.map +1 -1
  789. package/dist/util/getParentElement.d.ts +2 -0
  790. package/dist/util/getParentElement.js +5 -0
  791. package/dist/util/getParentElement.js.map +1 -0
  792. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  793. package/dist/util/getSingletonElementInstance.js +11 -2
  794. package/dist/util/getSingletonElementInstance.js.map +1 -1
  795. package/dist/util/hash2str.d.ts +1 -0
  796. package/dist/util/hash2str.js +14 -0
  797. package/dist/util/hash2str.js.map +1 -0
  798. package/dist/util/isElementClickable.js.map +1 -1
  799. package/dist/util/isElementHidden.js +2 -1
  800. package/dist/util/isElementHidden.js.map +1 -1
  801. package/dist/util/isElementTabbable.js +2 -2
  802. package/dist/util/isElementTabbable.js.map +1 -1
  803. package/dist/util/isValidPropertyName.js.map +1 -1
  804. package/dist/util/throttle.d.ts +2 -0
  805. package/dist/util/throttle.js +20 -0
  806. package/dist/util/throttle.js.map +1 -0
  807. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  808. package/dist/util/toLowercaseEnumValue.js +4 -0
  809. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  810. package/dist/util/valueStateNavigation.d.ts +8 -0
  811. package/dist/util/valueStateNavigation.js +40 -0
  812. package/dist/util/valueStateNavigation.js.map +1 -0
  813. package/dist/util/whenDOMReady.js.map +1 -1
  814. package/dist/validateThemeRoot.js +9 -4
  815. package/dist/validateThemeRoot.js.map +1 -1
  816. package/dist/vscode.html-custom-data.json +22 -0
  817. package/package-scripts.cjs +37 -23
  818. package/package.json +38 -11
  819. package/src/css/MultipleDragGhost.css +17 -0
  820. package/src/css/SystemCSSVars.css +0 -8
  821. package/src/i18n/messagebundle.properties +5 -0
  822. package/src/i18n/messagebundle_en.properties +2 -0
  823. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  824. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  825. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  826. package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
  827. package/src/thirdparty/preact/preact.module.js +1 -0
  828. package/src/thirdparty/preact/version.txt +1 -0
  829. package/tsconfig.json +18 -13
  830. package/.eslintignore +0 -16
  831. package/.eslintrc.cjs +0 -3
  832. package/bundle.esm.js +0 -64
  833. package/config/wdio.conf.cjs +0 -400
  834. package/dist/CSP.d.ts +0 -30
  835. package/dist/CSP.js +0 -51
  836. package/dist/CSP.js.map +0 -1
  837. package/dist/MarkedEvents.d.ts +0 -9
  838. package/dist/MarkedEvents.js +0 -15
  839. package/dist/MarkedEvents.js.map +0 -1
  840. package/dist/StaticArea.d.ts +0 -3
  841. package/dist/StaticArea.js +0 -7
  842. package/dist/StaticArea.js.map +0 -1
  843. package/dist/StaticAreaItem.d.ts +0 -36
  844. package/dist/StaticAreaItem.js +0 -99
  845. package/dist/StaticAreaItem.js.map +0 -1
  846. package/dist/api.json +0 -1
  847. package/dist/assets/Boot.34b7cea0.css +0 -1
  848. package/dist/assets/Boot.d494a34b.js +0 -9
  849. package/dist/assets/bundle.esm.91633eab.js +0 -50
  850. package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
  851. package/dist/config/RTL.d.ts +0 -7
  852. package/dist/config/RTL.js +0 -37
  853. package/dist/config/RTL.js.map +0 -1
  854. package/dist/config/ThemeRoots.d.ts +0 -4
  855. package/dist/config/ThemeRoots.js +0 -28
  856. package/dist/config/ThemeRoots.js.map +0 -1
  857. package/dist/css/FontFace.css +0 -66
  858. package/dist/css/OverrideFontFace.css +0 -32
  859. package/dist/generated/css/OverrideFontFace.css.d.ts +0 -3
  860. package/dist/generated/css/OverrideFontFace.css.js +0 -7
  861. package/dist/generated/css/OverrideFontFace.css.js.map +0 -1
  862. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -11
  863. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  864. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  865. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  866. package/dist/theming/preloadLinks.d.ts +0 -3
  867. package/dist/theming/preloadLinks.js +0 -19
  868. package/dist/theming/preloadLinks.js.map +0 -1
  869. package/dist/types/CSSColor.d.ts +0 -15
  870. package/dist/types/CSSColor.js +0 -18
  871. package/dist/types/CSSColor.js.map +0 -1
  872. package/dist/types/DOMReference.d.ts +0 -17
  873. package/dist/types/DOMReference.js +0 -25
  874. package/dist/types/DOMReference.js.map +0 -1
  875. package/dist/types/DataType.d.ts +0 -25
  876. package/dist/types/DataType.js +0 -44
  877. package/dist/types/DataType.js.map +0 -1
  878. package/dist/types/Float.d.ts +0 -17
  879. package/dist/types/Float.js +0 -21
  880. package/dist/types/Float.js.map +0 -1
  881. package/dist/types/Integer.d.ts +0 -17
  882. package/dist/types/Integer.js +0 -21
  883. package/dist/types/Integer.js.map +0 -1
  884. package/dist/util/AriaLabelHelper.js.map +0 -1
  885. package/dist/util/createStyleInHead.d.ts +0 -8
  886. package/dist/util/createStyleInHead.js +0 -18
  887. package/dist/util/createStyleInHead.js.map +0 -1
  888. package/index.js +0 -230
  889. package/lib/generate-asset-parameters/index.js +0 -27
  890. package/lib/generate-styles/index.js +0 -31
  891. package/lib/generate-version-info/index.js +0 -32
  892. package/src/css/FontFace.css +0 -66
  893. package/src/css/OverrideFontFace.css +0 -32
  894. package/src/renderer/directives/style-map.js +0 -72
  895. package/used-modules.txt +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"PropertiesFileFormat.js","sourceRoot":"","sources":["../src/PropertiesFileFormat.ts"],"names":[],"mappings":"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","sourcesContent":["const flatstr = typeof window.chrome === \"object\" || typeof window.v8 === \"object\" ? (s: string, iConcatOps: number) => {\n\tif (iConcatOps > 2 && 40 * iConcatOps > s.length) {\n\t\tNumber(s);\n\t}\n\treturn s;\n} : (s: string) => s;\n\nconst rLines = /(?:\\r\\n|\\r|\\n|^)[ \\t\\f]*/;\nconst rEscapesOrSeparator = /(\\\\u[0-9a-fA-F]{0,4})|(\\\\.)|(\\\\$)|([ \\t\\f]*[ \\t\\f:=][ \\t\\f]*)/g;\nconst rEscapes = /(\\\\u[0-9a-fA-F]{0,4})|(\\\\.)|(\\\\$)/g;\nconst mEscapes = {\n\t\"\\\\f\": \"\\f\",\n\t\"\\\\n\": \"\\n\",\n\t\"\\\\r\": \"\\r\",\n\t\"\\\\t\": \"\\t\",\n};\n\n/**\n * Parses a .properties format\n * @param {string} sText the contents a of a .properties file\n * @returns a object with key/value pairs parsed from the .properties file format\n * @public\n */\nconst parseProperties = (sText: string) => {\n\tconst properties = {},\n\t\taLines = sText.split(rLines);\n\n\tlet sLine,\n\t\trMatcher,\n\t\tsKey,\n\t\tsValue: string,\n\t\ti,\n\t\tm,\n\t\tiLastIndex,\n\t\tiConcatOps: number;\n\n\tconst append = (s: string) => {\n\t\tif (sValue) {\n\t\t\tsValue = `${sValue}${s}`;\n\t\t\tiConcatOps++;\n\t\t} else {\n\t\t\tsValue = s;\n\t\t\tiConcatOps = 0;\n\t\t}\n\t};\n\n\tfor (i = 0; i < aLines.length; i++) {\n\t\tsLine = aLines[i];\n\t\tconst skipLine = sLine === \"\" || sLine.charAt(0) === \"#\" || sLine.charAt(0) === \"!\";\n\n\t\tif (!skipLine) {\n\t\t\trMatcher = rEscapesOrSeparator;\n\t\t\tiLastIndex = 0;\n\t\t\trMatcher.lastIndex = iLastIndex;\n\t\t\tsKey = null;\n\t\t\tsValue = \"\";\n\t\t\tm = rMatcher.exec(sLine);\n\t\t\twhile (m !== null) {\n\t\t\t\tif (iLastIndex < m.index) {\n\t\t\t\t\tappend(sLine.slice(iLastIndex, m.index));\n\t\t\t\t}\n\t\t\t\tiLastIndex = rMatcher.lastIndex;\n\t\t\t\tif (m[1]) {\n\t\t\t\t\tif (m[1].length !== 6) {\n\t\t\t\t\t\tthrow new Error(`Incomplete Unicode Escape '${m[1]}'`);\n\t\t\t\t\t}\n\t\t\t\t\tappend(String.fromCharCode(parseInt(m[1].slice(2), 16)));\n\t\t\t\t} else if (m[2]) {\n\t\t\t\t\tappend(mEscapes[m[2] as keyof typeof mEscapes] || m[2].slice(1));\n\t\t\t\t} else if (m[3]) {\n\t\t\t\t\tsLine = aLines[++i];\n\t\t\t\t\tiLastIndex = 0;\n\t\t\t\t\trMatcher.lastIndex = iLastIndex;\n\t\t\t\t} else if (m[4]) {\n\t\t\t\t\tsKey = sValue;\n\t\t\t\t\tsValue = \"\";\n\t\t\t\t\trMatcher = rEscapes;\n\t\t\t\t\trMatcher.lastIndex = iLastIndex;\n\t\t\t\t}\n\t\t\t\tm = rMatcher.exec(sLine);\n\t\t\t}\n\t\t\tif (iLastIndex < sLine.length) {\n\t\t\t\tappend(sLine.slice(iLastIndex));\n\t\t\t}\n\t\t\tif (sKey == null) {\n\t\t\t\tsKey = sValue;\n\t\t\t\tsValue = \"\";\n\t\t\t}\n\t\t\t(properties as Record<string, any>)[sKey] = flatstr(sValue, sValue ? iConcatOps! : 0);\n\t\t}\n\t}\n\treturn properties;\n};\n\nexport default parseProperties;\n"]}
1
+ {"version":3,"file":"PropertiesFileFormat.js","sourceRoot":"","sources":["../src/PropertiesFileFormat.ts"],"names":[],"mappings":"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","sourcesContent":["const flatstr = typeof window.chrome === \"object\" || typeof window.v8 === \"object\" ? (s: string, iConcatOps: number) => {\n\tif (iConcatOps > 2 && 40 * iConcatOps > s.length) {\n\t\tNumber(s);\n\t}\n\treturn s;\n} : (s: string) => s;\n\nconst rLines = /(?:\\r\\n|\\r|\\n|^)[ \\t\\f]*/;\nconst rEscapesOrSeparator = /(\\\\u[0-9a-fA-F]{0,4})|(\\\\.)|(\\\\$)|([ \\t\\f]*[ \\t\\f:=][ \\t\\f]*)/g;\nconst rEscapes = /(\\\\u[0-9a-fA-F]{0,4})|(\\\\.)|(\\\\$)/g;\nconst mEscapes = {\n\t\"\\\\f\": \"\\f\",\n\t\"\\\\n\": \"\\n\",\n\t\"\\\\r\": \"\\r\",\n\t\"\\\\t\": \"\\t\",\n};\n\n/**\n * Parses a .properties format\n * @param {string} sText the contents a of a .properties file\n * @returns a object with key/value pairs parsed from the .properties file format\n * @public\n */\nconst parseProperties = (sText: string) => {\n\tconst properties = {},\n\t\taLines = sText.split(rLines);\n\n\tlet sLine,\n\t\trMatcher,\n\t\tsKey,\n\t\tsValue: string,\n\t\ti,\n\t\tm,\n\t\tiLastIndex,\n\t\tiConcatOps: number;\n\n\tconst append = (s: string) => {\n\t\tif (sValue) {\n\t\t\tsValue = `${sValue}${s}`;\n\t\t\tiConcatOps++;\n\t\t} else {\n\t\t\tsValue = s;\n\t\t\tiConcatOps = 0;\n\t\t}\n\t};\n\n\tfor (i = 0; i < aLines.length; i++) {\n\t\tsLine = aLines[i];\n\t\tconst skipLine = sLine === \"\" || sLine.charAt(0) === \"#\" || sLine.charAt(0) === \"!\";\n\n\t\tif (!skipLine) {\n\t\t\trMatcher = rEscapesOrSeparator;\n\t\t\tiLastIndex = 0;\n\t\t\trMatcher.lastIndex = iLastIndex;\n\t\t\tsKey = null;\n\t\t\tsValue = \"\";\n\t\t\tm = rMatcher.exec(sLine);\n\t\t\twhile (m !== null) {\n\t\t\t\tif (iLastIndex < m.index) {\n\t\t\t\t\tappend(sLine.slice(iLastIndex, m.index));\n\t\t\t\t}\n\t\t\t\tiLastIndex = rMatcher.lastIndex;\n\t\t\t\tif (m[1]) {\n\t\t\t\t\tif (m[1].length !== 6) {\n\t\t\t\t\t\tthrow new Error(`Incomplete Unicode Escape '${m[1]}'`);\n\t\t\t\t\t}\n\t\t\t\t\tappend(String.fromCharCode(parseInt(m[1].slice(2), 16)));\n\t\t\t\t} else if (m[2]) {\n\t\t\t\t\tappend(mEscapes[m[2] as keyof typeof mEscapes] || m[2].slice(1));\n\t\t\t\t} else if (m[3]) {\n\t\t\t\t\tsLine = aLines[++i];\n\t\t\t\t\tiLastIndex = 0;\n\t\t\t\t\trMatcher.lastIndex = iLastIndex;\n\t\t\t\t} else if (m[4]) {\n\t\t\t\t\tsKey = sValue;\n\t\t\t\t\tsValue = \"\";\n\t\t\t\t\trMatcher = rEscapes;\n\t\t\t\t\trMatcher.lastIndex = iLastIndex;\n\t\t\t\t}\n\t\t\t\tm = rMatcher.exec(sLine);\n\t\t\t}\n\t\t\tif (iLastIndex < sLine.length) {\n\t\t\t\tappend(sLine.slice(iLastIndex));\n\t\t\t}\n\t\t\tif (sKey == null) {\n\t\t\t\tsKey = sValue;\n\t\t\t\tsValue = \"\";\n\t\t\t}\n\t\t\t(properties as Record<string, any>)[sKey] = flatstr(sValue, sValue ? iConcatOps! : 0);\n\t\t}\n\t}\n\treturn properties;\n};\n\nexport default parseProperties;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Render.js","sourceRoot":"","sources":["../src/Render.ts"],"names":[],"mappings":"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","sourcesContent":["import EventProvider from \"./EventProvider.js\";\nimport RenderQueue from \"./RenderQueue.js\";\nimport { getAllRegisteredTags } from \"./CustomElementsRegistry.js\";\nimport { isRtlAware } from \"./locale/RTLAwareRegistry.js\";\nimport type UI5Element from \"./UI5Element.js\";\nimport { PromiseResolve, Timeout } from \"./types.js\";\n\ntype BeforeComponentRenderCallback = (webComponent: UI5Element) => void;\n\nconst registeredElements = new Set<UI5Element>();\nconst eventProvider = new EventProvider<UI5Element, void>();\n\nconst invalidatedWebComponents = new RenderQueue(); // Queue for invalidated web components\n\nlet renderTaskPromise: Promise<void> | undefined,\n\trenderTaskPromiseResolve: PromiseResolve | undefined;\n\nlet mutationObserverTimer: Timeout | undefined;\n\nlet queuePromise: Promise<void> | null;\n\n/**\n * Schedules a render task (if not already scheduled) to render the component\n *\n * @param webComponent\n * @returns {Promise}\n */\nconst renderDeferred = async (webComponent: UI5Element) => {\n\t// Enqueue the web component\n\tinvalidatedWebComponents.add(webComponent);\n\n\t// Schedule a rendering task\n\tawait scheduleRenderTask();\n};\n\n/**\n * Renders a component synchronously and adds it to the registry of rendered components\n *\n * @param webComponent\n */\nconst renderImmediately = (webComponent: UI5Element) => {\n\teventProvider.fireEvent(\"beforeComponentRender\", webComponent);\n\tregisteredElements.add(webComponent);\n\twebComponent._render();\n};\n\n/**\n * Cancels the rendering of a component, if awaiting to be rendered, and removes it from the registry of rendered components\n *\n * @param webComponent\n */\nconst cancelRender = (webComponent: UI5Element) => {\n\tinvalidatedWebComponents.remove(webComponent);\n\tregisteredElements.delete(webComponent);\n};\n\n/**\n * Schedules a rendering task, if not scheduled already\n */\nconst scheduleRenderTask = async () => {\n\tif (!queuePromise) {\n\t\tqueuePromise = new Promise<void>(resolve => {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// Render all components in the queue\n\n\t\t\t\t// console.log(`--------------------RENDER TASK START------------------------------`); // eslint-disable-line\n\t\t\t\tinvalidatedWebComponents.process(renderImmediately);\n\t\t\t\t// console.log(`--------------------RENDER TASK END------------------------------`); // eslint-disable-line\n\n\t\t\t\t// Resolve the promise so that callers of renderDeferred can continue\n\t\t\t\tqueuePromise = null;\n\t\t\t\tresolve();\n\n\t\t\t\t// Wait for Mutation observer before the render task is considered finished\n\t\t\t\tif (!mutationObserverTimer) {\n\t\t\t\t\tmutationObserverTimer = setTimeout(() => {\n\t\t\t\t\t\tmutationObserverTimer = undefined;\n\t\t\t\t\t\tif (invalidatedWebComponents.isEmpty()) {\n\t\t\t\t\t\t\t_resolveTaskPromise();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 200);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tawait queuePromise;\n};\n\n/**\n * return a promise that will be resolved once all invalidated web components are rendered\n */\nconst whenDOMUpdated = () => {\n\tif (renderTaskPromise) {\n\t\treturn renderTaskPromise;\n\t}\n\n\trenderTaskPromise = new Promise<void>(resolve => {\n\t\trenderTaskPromiseResolve = resolve;\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tif (invalidatedWebComponents.isEmpty()) {\n\t\t\t\trenderTaskPromise = undefined;\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n\n\treturn renderTaskPromise;\n};\n\nconst whenAllCustomElementsAreDefined = () => {\n\tconst definedPromises = getAllRegisteredTags().map(tag => customElements.whenDefined(tag));\n\treturn Promise.all(definedPromises);\n};\n\nconst renderFinished = async () => {\n\tawait whenAllCustomElementsAreDefined();\n\tawait whenDOMUpdated();\n};\n\nconst _resolveTaskPromise = () => {\n\tif (!invalidatedWebComponents.isEmpty()) {\n\t\t// More updates are pending. Resolve will be called again\n\t\treturn;\n\t}\n\n\tif (renderTaskPromiseResolve) {\n\t\trenderTaskPromiseResolve();\n\t\trenderTaskPromiseResolve = undefined;\n\t\trenderTaskPromise = undefined;\n\t}\n};\n\n/**\n * Re-renders all UI5 Elements on the page, with the option to specify filters to rerender only some components.\n *\n * Usage:\n * reRenderAllUI5Elements() -> re-renders all components\n * reRenderAllUI5Elements({tag: \"ui5-button\"}) -> re-renders only instances of ui5-button\n * reRenderAllUI5Elements({rtlAware: true}) -> re-renders only rtlAware components\n * reRenderAllUI5Elements({languageAware: true}) -> re-renders only languageAware components\n * reRenderAllUI5Elements({themeAware: true}) -> re-renders only themeAware components\n * reRenderAllUI5Elements({rtlAware: true, languageAware: true}) -> re-renders components that are rtlAware or languageAware\n * etc...\n *\n * @public\n * @param {object|undefined} filters - Object with keys that can be \"rtlAware\" or \"languageAware\"\n * @returns {Promise<void>}\n */\nconst reRenderAllUI5Elements = async (filters?: {tag?: string, rtlAware?: boolean, languageAware?: boolean, themeAware?: boolean}) => {\n\tregisteredElements.forEach((element: UI5Element) => {\n\t\tconst ctor = element.constructor as typeof UI5Element;\n\t\tconst tag = ctor.getMetadata().getTag();\n\t\tconst rtlAware = isRtlAware(ctor);\n\t\tconst languageAware = ctor.getMetadata().isLanguageAware();\n\t\tconst themeAware = ctor.getMetadata().isThemeAware();\n\t\tif (!filters || (filters.tag === tag) || (filters.rtlAware && rtlAware) || (filters.languageAware && languageAware) || (filters.themeAware && themeAware)) {\n\t\t\trenderDeferred(element);\n\t\t}\n\t});\n\tawait renderFinished();\n};\n\nconst attachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {\n\teventProvider.attachEvent(\"beforeComponentRender\", listener);\n};\n\nconst detachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {\n\teventProvider.detachEvent(\"beforeComponentRender\", listener);\n};\n\nexport {\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n\treRenderAllUI5Elements,\n\tattachBeforeComponentRender,\n\tdetachBeforeComponentRender,\n};\n"]}
1
+ {"version":3,"file":"Render.js","sourceRoot":"","sources":["../src/Render.ts"],"names":[],"mappings":"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","sourcesContent":["import EventProvider from \"./EventProvider.js\";\nimport RenderQueue from \"./RenderQueue.js\";\nimport { getAllRegisteredTags } from \"./CustomElementsRegistry.js\";\nimport { isRtlAware } from \"./locale/RTLAwareRegistry.js\";\nimport type UI5Element from \"./UI5Element.js\";\nimport type { PromiseResolve, Timeout } from \"./types.js\";\n\ntype BeforeComponentRenderCallback = (webComponent: UI5Element) => void;\n\nconst registeredElements = new Set<UI5Element>();\nconst eventProvider = new EventProvider<UI5Element, void>();\n\nconst invalidatedWebComponents = new RenderQueue(); // Queue for invalidated web components\n\nlet renderTaskPromise: Promise<void> | undefined,\n\trenderTaskPromiseResolve: PromiseResolve | undefined;\n\nlet mutationObserverTimer: Timeout | undefined;\n\nlet queuePromise: Promise<void> | null;\n\n/**\n * Schedules a render task (if not already scheduled) to render the component\n *\n * @param webComponent\n * @returns {Promise}\n */\nconst renderDeferred = async (webComponent: UI5Element) => {\n\t// Enqueue the web component\n\tinvalidatedWebComponents.add(webComponent);\n\n\t// Schedule a rendering task\n\tawait scheduleRenderTask();\n};\n\n/**\n * Renders a component synchronously and adds it to the registry of rendered components\n *\n * @param webComponent\n */\nconst renderImmediately = (webComponent: UI5Element) => {\n\teventProvider.fireEvent(\"beforeComponentRender\", webComponent);\n\tregisteredElements.add(webComponent);\n\twebComponent._render();\n};\n\n/**\n * Cancels the rendering of a component, if awaiting to be rendered, and removes it from the registry of rendered components\n *\n * @param webComponent\n */\nconst cancelRender = (webComponent: UI5Element) => {\n\tinvalidatedWebComponents.remove(webComponent);\n\tregisteredElements.delete(webComponent);\n};\n\n/**\n * Schedules a rendering task, if not scheduled already\n */\nconst scheduleRenderTask = async () => {\n\tif (!queuePromise) {\n\t\tqueuePromise = new Promise<void>(resolve => {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// Render all components in the queue\n\n\t\t\t\t// console.log(`--------------------RENDER TASK START------------------------------`); // eslint-disable-line\n\t\t\t\tinvalidatedWebComponents.process(renderImmediately);\n\t\t\t\t// console.log(`--------------------RENDER TASK END------------------------------`); // eslint-disable-line\n\n\t\t\t\t// Resolve the promise so that callers of renderDeferred can continue\n\t\t\t\tqueuePromise = null;\n\t\t\t\tresolve();\n\n\t\t\t\t// Wait for Mutation observer before the render task is considered finished\n\t\t\t\tif (!mutationObserverTimer) {\n\t\t\t\t\tmutationObserverTimer = setTimeout(() => {\n\t\t\t\t\t\tmutationObserverTimer = undefined;\n\t\t\t\t\t\tif (invalidatedWebComponents.isEmpty()) {\n\t\t\t\t\t\t\t_resolveTaskPromise();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 200);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tawait queuePromise;\n};\n\n/**\n * return a promise that will be resolved once all invalidated web components are rendered\n */\nconst whenDOMUpdated = () => {\n\tif (renderTaskPromise) {\n\t\treturn renderTaskPromise;\n\t}\n\n\trenderTaskPromise = new Promise<void>(resolve => {\n\t\trenderTaskPromiseResolve = resolve;\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tif (invalidatedWebComponents.isEmpty()) {\n\t\t\t\trenderTaskPromise = undefined;\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n\n\treturn renderTaskPromise;\n};\n\nconst whenAllCustomElementsAreDefined = () => {\n\tconst definedPromises = getAllRegisteredTags().map(tag => customElements.whenDefined(tag));\n\treturn Promise.all(definedPromises);\n};\n\nconst renderFinished = async () => {\n\tawait whenAllCustomElementsAreDefined();\n\tawait whenDOMUpdated();\n};\n\nconst _resolveTaskPromise = () => {\n\tif (!invalidatedWebComponents.isEmpty()) {\n\t\t// More updates are pending. Resolve will be called again\n\t\treturn;\n\t}\n\n\tif (renderTaskPromiseResolve) {\n\t\trenderTaskPromiseResolve();\n\t\trenderTaskPromiseResolve = undefined;\n\t\trenderTaskPromise = undefined;\n\t}\n};\n\n/**\n * Re-renders all UI5 Elements on the page, with the option to specify filters to rerender only some components.\n *\n * Usage:\n * reRenderAllUI5Elements() -> re-renders all components\n * reRenderAllUI5Elements({tag: \"ui5-button\"}) -> re-renders only instances of ui5-button\n * reRenderAllUI5Elements({rtlAware: true}) -> re-renders only rtlAware components\n * reRenderAllUI5Elements({languageAware: true}) -> re-renders only languageAware components\n * reRenderAllUI5Elements({themeAware: true}) -> re-renders only themeAware components\n * reRenderAllUI5Elements({rtlAware: true, languageAware: true}) -> re-renders components that are rtlAware or languageAware\n * etc...\n *\n * @public\n * @param {object|undefined} filters - Object with keys that can be \"rtlAware\" or \"languageAware\"\n * @returns {Promise<void>}\n */\nconst reRenderAllUI5Elements = async (filters?: {tag?: string, rtlAware?: boolean, languageAware?: boolean, themeAware?: boolean}) => {\n\tregisteredElements.forEach((element: UI5Element) => {\n\t\tconst ctor = element.constructor as typeof UI5Element;\n\t\tconst tag = ctor.getMetadata().getTag();\n\t\tconst rtlAware = isRtlAware(ctor);\n\t\tconst languageAware = ctor.getMetadata().isLanguageAware();\n\t\tconst themeAware = ctor.getMetadata().isThemeAware();\n\t\tif (!filters || (filters.tag === tag) || (filters.rtlAware && rtlAware) || (filters.languageAware && languageAware) || (filters.themeAware && themeAware)) {\n\t\t\trenderDeferred(element);\n\t\t}\n\t});\n\tawait renderFinished();\n};\n\nconst attachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {\n\teventProvider.attachEvent(\"beforeComponentRender\", listener);\n};\n\nconst detachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {\n\teventProvider.detachEvent(\"beforeComponentRender\", listener);\n};\n\nexport {\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n\treRenderAllUI5Elements,\n\tattachBeforeComponentRender,\n\tdetachBeforeComponentRender,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderQueue.js","sourceRoot":"","sources":["../src/RenderQueue.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,WAAW;IAIhB;QACC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,4CAA4C;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,yBAAyB;IACnD,CAAC;IAED,GAAG,CAAC,YAAwB;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAClC,OAAO;SACP;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,YAAwB;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACnC,OAAO;SACP;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,YAAY,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,YAAY,CAAC;SACpB;IACF,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,YAAwB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,QAAkC;QACzC,IAAI,YAAY,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;QAE5C,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,OAAO,YAAY,EAAE;YACpB,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,cAAc,GAAG,iBAAiB,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,qEAAqE,iBAAiB,EAAE,CAAC,CAAC;aAC1G;YACD,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;YAC5C,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;SAC5B;IACF,CAAC;CACD;AAED,eAAe,WAAW,CAAC","sourcesContent":["import type UI5Element from \"./UI5Element.js\";\n\nconst MAX_PROCESS_COUNT = 10;\n\nclass RenderQueue {\n\tlist: Array<UI5Element>;\n\tlookup: Set<UI5Element>;\n\n\tconstructor() {\n\t\tthis.list = []; // Used to store the web components in order\n\t\tthis.lookup = new Set(); // Used for faster search\n\t}\n\n\tadd(webComponent: UI5Element) {\n\t\tif (this.lookup.has(webComponent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.list.push(webComponent);\n\t\tthis.lookup.add(webComponent);\n\t}\n\n\tremove(webComponent: UI5Element) {\n\t\tif (!this.lookup.has(webComponent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.list = this.list.filter(item => item !== webComponent);\n\t\tthis.lookup.delete(webComponent);\n\t}\n\n\tshift() {\n\t\tconst webComponent = this.list.shift();\n\t\tif (webComponent) {\n\t\t\tthis.lookup.delete(webComponent);\n\t\t\treturn webComponent;\n\t\t}\n\t}\n\n\tisEmpty() {\n\t\treturn this.list.length === 0;\n\t}\n\n\tisAdded(webComponent: UI5Element) {\n\t\treturn this.lookup.has(webComponent);\n\t}\n\n\t/**\n\t * Processes the whole queue by executing the callback on each component,\n\t * while also imposing restrictions on how many times a component may be processed.\n\t *\n\t * @param callback - function with one argument (the web component to be processed)\n\t */\n\tprocess(callback: (el: UI5Element) => void) {\n\t\tlet webComponent;\n\t\tconst stats = new Map<UI5Element, number>();\n\n\t\twebComponent = this.shift();\n\t\twhile (webComponent) {\n\t\t\tconst timesProcessed = stats.get(webComponent) || 0;\n\t\t\tif (timesProcessed > MAX_PROCESS_COUNT) {\n\t\t\t\tthrow new Error(`Web component processed too many times this task, max allowed is: ${MAX_PROCESS_COUNT}`);\n\t\t\t}\n\t\t\tcallback(webComponent);\n\t\t\tstats.set(webComponent, timesProcessed + 1);\n\t\t\twebComponent = this.shift();\n\t\t}\n\t}\n}\n\nexport default RenderQueue;\n"]}
1
+ {"version":3,"file":"RenderQueue.js","sourceRoot":"","sources":["../src/RenderQueue.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,WAAW;IAIhB;QACC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,4CAA4C;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,yBAAyB;IACnD,CAAC;IAED,GAAG,CAAC,YAAwB;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,YAAwB;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,YAAY,CAAC;QACrB,CAAC;IACF,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,YAAwB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,QAAkC;QACzC,IAAI,YAAY,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;QAE5C,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,OAAO,YAAY,EAAE,CAAC;YACrB,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,qEAAqE,iBAAiB,EAAE,CAAC,CAAC;YAC3G,CAAC;YACD,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;YAC5C,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;CACD;AAED,eAAe,WAAW,CAAC","sourcesContent":["import type UI5Element from \"./UI5Element.js\";\n\nconst MAX_PROCESS_COUNT = 10;\n\nclass RenderQueue {\n\tlist: Array<UI5Element>;\n\tlookup: Set<UI5Element>;\n\n\tconstructor() {\n\t\tthis.list = []; // Used to store the web components in order\n\t\tthis.lookup = new Set(); // Used for faster search\n\t}\n\n\tadd(webComponent: UI5Element) {\n\t\tif (this.lookup.has(webComponent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.list.push(webComponent);\n\t\tthis.lookup.add(webComponent);\n\t}\n\n\tremove(webComponent: UI5Element) {\n\t\tif (!this.lookup.has(webComponent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.list = this.list.filter(item => item !== webComponent);\n\t\tthis.lookup.delete(webComponent);\n\t}\n\n\tshift() {\n\t\tconst webComponent = this.list.shift();\n\t\tif (webComponent) {\n\t\t\tthis.lookup.delete(webComponent);\n\t\t\treturn webComponent;\n\t\t}\n\t}\n\n\tisEmpty() {\n\t\treturn this.list.length === 0;\n\t}\n\n\tisAdded(webComponent: UI5Element) {\n\t\treturn this.lookup.has(webComponent);\n\t}\n\n\t/**\n\t * Processes the whole queue by executing the callback on each component,\n\t * while also imposing restrictions on how many times a component may be processed.\n\t *\n\t * @param callback - function with one argument (the web component to be processed)\n\t */\n\tprocess(callback: (el: UI5Element) => void) {\n\t\tlet webComponent;\n\t\tconst stats = new Map<UI5Element, number>();\n\n\t\twebComponent = this.shift();\n\t\twhile (webComponent) {\n\t\t\tconst timesProcessed = stats.get(webComponent) || 0;\n\t\t\tif (timesProcessed > MAX_PROCESS_COUNT) {\n\t\t\t\tthrow new Error(`Web component processed too many times this task, max allowed is: ${MAX_PROCESS_COUNT}`);\n\t\t\t}\n\t\t\tcallback(webComponent);\n\t\t\tstats.set(webComponent, timesProcessed + 1);\n\t\t\twebComponent = this.shift();\n\t\t}\n\t}\n}\n\nexport default RenderQueue;\n"]}
package/dist/Runtimes.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { getAllRegisteredTags } from "./CustomElementsRegistry.js";
2
+ import { getCustomElementsScopingRules, getCustomElementsScopingSuffix } from "./CustomElementsScopeUtils.js";
1
3
  import VersionInfo from "./generated/VersionInfo.js";
2
4
  import getSharedResource from "./getSharedResource.js";
3
5
  let currentRuntimeIndex;
@@ -18,6 +20,15 @@ const registerCurrentRuntime = () => {
18
20
  const versionInfo = VersionInfo;
19
21
  Runtimes.push({
20
22
  ...versionInfo,
23
+ get scopingSuffix() {
24
+ return getCustomElementsScopingSuffix();
25
+ },
26
+ get registeredTags() {
27
+ return getAllRegisteredTags();
28
+ },
29
+ get scopingRules() {
30
+ return getCustomElementsScopingRules();
31
+ },
21
32
  alias: currentRuntimeAlias,
22
33
  description: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : ""}`,
23
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Runtimes.js","sourceRoot":"","sources":["../src/Runtimes.ts"],"names":[],"mappings":"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","sourcesContent":["import VersionInfo from \"./generated/VersionInfo.js\";\nimport getSharedResource from \"./getSharedResource.js\";\n\ntype RuntimeData = VersionInfo & {\n\talias: string,\n\tdescription: string,\n};\n\nlet currentRuntimeIndex: number;\nlet currentRuntimeAlias = \"\";\n\nconst compareCache = new Map<string, number>();\n\n/**\n * Central registry where all runtimes register themselves by pushing an object.\n * The index in the registry servers as an ID for the runtime.\n * @type {*}\n */\nconst Runtimes = getSharedResource<Array<RuntimeData>>(\"Runtimes\", []);\n\n/**\n * Registers the current runtime in the shared runtimes resource registry\n */\nconst registerCurrentRuntime = () => {\n\tif (currentRuntimeIndex === undefined) {\n\t\tcurrentRuntimeIndex = Runtimes.length;\n\t\tconst versionInfo = VersionInfo;\n\n\t\tRuntimes.push({\n\t\t\t...versionInfo,\n\t\t\talias: currentRuntimeAlias,\n\t\t\tdescription: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : \"\"}`,\n\t\t});\n\t}\n};\n\n/**\n * Returns the index of the current runtime's object in the shared runtimes resource registry\n * @returns {*}\n */\nconst getCurrentRuntimeIndex = () => {\n\treturn currentRuntimeIndex;\n};\n\n/**\n * Compares two runtimes and returns 1 if the first is of a bigger version, -1 if the second is of a bigger version, and 0 if equal\n * @param index1 The index of the first runtime to compare\n * @param index2 The index of the second runtime to compare\n * @returns {number}\n */\nconst compareRuntimes = (index1: number, index2: number) => {\n\tconst cacheIndex = `${index1},${index2}`;\n\tif (compareCache.has(cacheIndex)) {\n\t\treturn compareCache.get(cacheIndex)!;\n\t}\n\n\tconst runtime1 = Runtimes[index1];\n\tconst runtime2 = Runtimes[index2];\n\n\tif (!runtime1 || !runtime2) {\n\t\tthrow new Error(\"Invalid runtime index supplied\");\n\t}\n\n\t// If any of the two is a next version, bigger buildTime wins\n\tif (runtime1.isNext || runtime2.isNext) {\n\t\treturn runtime1.buildTime - runtime2.buildTime;\n\t}\n\n\t// If major versions differ, bigger one wins\n\tconst majorDiff = runtime1.major - runtime2.major;\n\tif (majorDiff) {\n\t\treturn majorDiff;\n\t}\n\n\t// If minor versions differ, bigger one wins\n\tconst minorDiff = runtime1.minor - runtime2.minor;\n\tif (minorDiff) {\n\t\treturn minorDiff;\n\t}\n\n\t// If patch versions differ, bigger one wins\n\tconst patchDiff = runtime1.patch - runtime2.patch;\n\tif (patchDiff) {\n\t\treturn patchDiff;\n\t}\n\n\t// Bigger suffix wins, f.e. rc10 > rc9\n\t// Important: suffix is alphanumeric, must use natural compare\n\tconst collator = new Intl.Collator(undefined, { numeric: true, sensitivity: \"base\" });\n\tconst result = collator.compare(runtime1.suffix, runtime2.suffix);\n\n\tcompareCache.set(cacheIndex, result);\n\treturn result;\n};\n\n/**\n * Set an alias for the the current app/library/microfrontend which will appear in debug messages and console warnings\n * @param alias\n */\nconst setRuntimeAlias = (alias: string) => {\n\tcurrentRuntimeAlias = alias;\n};\n\nconst getAllRuntimes = () => {\n\treturn Runtimes;\n};\n\nexport {\n\tgetCurrentRuntimeIndex,\n\tregisterCurrentRuntime,\n\tcompareRuntimes,\n\tsetRuntimeAlias,\n\tgetAllRuntimes,\n};\n"]}
1
+ {"version":3,"file":"Runtimes.js","sourceRoot":"","sources":["../src/Runtimes.ts"],"names":[],"mappings":"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","sourcesContent":["import { getAllRegisteredTags } from \"./CustomElementsRegistry.js\";\nimport { getCustomElementsScopingRules, getCustomElementsScopingSuffix } from \"./CustomElementsScopeUtils.js\";\nimport VersionInfo from \"./generated/VersionInfo.js\";\nimport getSharedResource from \"./getSharedResource.js\";\n\ntype RuntimeData = VersionInfo & {\n\talias: string,\n\tdescription: string,\n};\n\nlet currentRuntimeIndex: number;\nlet currentRuntimeAlias = \"\";\n\nconst compareCache = new Map<string, number>();\n\n/**\n * Central registry where all runtimes register themselves by pushing an object.\n * The index in the registry servers as an ID for the runtime.\n * @type {*}\n */\nconst Runtimes = getSharedResource<Array<RuntimeData>>(\"Runtimes\", []);\n\n/**\n * Registers the current runtime in the shared runtimes resource registry\n */\nconst registerCurrentRuntime = () => {\n\tif (currentRuntimeIndex === undefined) {\n\t\tcurrentRuntimeIndex = Runtimes.length;\n\t\tconst versionInfo = VersionInfo;\n\n\t\tRuntimes.push({\n\t\t\t...versionInfo,\n\t\t\tget scopingSuffix() {\n\t\t\t\treturn getCustomElementsScopingSuffix();\n\t\t\t},\n\t\t\tget registeredTags() {\n\t\t\t\treturn getAllRegisteredTags();\n\t\t\t},\n\t\t\tget scopingRules() {\n\t\t\t\treturn getCustomElementsScopingRules();\n\t\t\t},\n\t\t\talias: currentRuntimeAlias,\n\t\t\tdescription: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : \"\"}`,\n\t\t});\n\t}\n};\n\n/**\n * Returns the index of the current runtime's object in the shared runtimes resource registry\n * @returns {*}\n */\nconst getCurrentRuntimeIndex = () => {\n\treturn currentRuntimeIndex;\n};\n\n/**\n * Compares two runtimes and returns 1 if the first is of a bigger version, -1 if the second is of a bigger version, and 0 if equal\n * @param index1 The index of the first runtime to compare\n * @param index2 The index of the second runtime to compare\n * @returns {number}\n */\nconst compareRuntimes = (index1: number, index2: number) => {\n\tconst cacheIndex = `${index1},${index2}`;\n\tif (compareCache.has(cacheIndex)) {\n\t\treturn compareCache.get(cacheIndex)!;\n\t}\n\n\tconst runtime1 = Runtimes[index1];\n\tconst runtime2 = Runtimes[index2];\n\n\tif (!runtime1 || !runtime2) {\n\t\tthrow new Error(\"Invalid runtime index supplied\");\n\t}\n\n\t// If any of the two is a next version, bigger buildTime wins\n\tif (runtime1.isNext || runtime2.isNext) {\n\t\treturn runtime1.buildTime - runtime2.buildTime;\n\t}\n\n\t// If major versions differ, bigger one wins\n\tconst majorDiff = runtime1.major - runtime2.major;\n\tif (majorDiff) {\n\t\treturn majorDiff;\n\t}\n\n\t// If minor versions differ, bigger one wins\n\tconst minorDiff = runtime1.minor - runtime2.minor;\n\tif (minorDiff) {\n\t\treturn minorDiff;\n\t}\n\n\t// If patch versions differ, bigger one wins\n\tconst patchDiff = runtime1.patch - runtime2.patch;\n\tif (patchDiff) {\n\t\treturn patchDiff;\n\t}\n\n\t// Bigger suffix wins, f.e. rc10 > rc9\n\t// Important: suffix is alphanumeric, must use natural compare\n\tconst collator = new Intl.Collator(undefined, { numeric: true, sensitivity: \"base\" });\n\tconst result = collator.compare(runtime1.suffix, runtime2.suffix);\n\n\tcompareCache.set(cacheIndex, result);\n\treturn result;\n};\n\n/**\n * Set an alias for the the current app/library/microfrontend which will appear in debug messages and console warnings\n * @param alias\n */\nconst setRuntimeAlias = (alias: string) => {\n\tcurrentRuntimeAlias = alias;\n};\n\nconst getAllRuntimes = () => {\n\treturn Runtimes;\n};\n\nexport {\n\tgetCurrentRuntimeIndex,\n\tregisterCurrentRuntime,\n\tcompareRuntimes,\n\tsetRuntimeAlias,\n\tgetAllRuntimes,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SystemCSSVars.js","sourceRoot":"","sources":["../src/SystemCSSVars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAEjE,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;QAC1C,WAAW,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;KACvD;AACF,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { hasStyle, createStyle } from \"./ManagedStyles.js\";\nimport systemCSSVars from \"./generated/css/SystemCSSVars.css.js\";\n\nconst insertSystemCSSVars = () => {\n\tif (!hasStyle(\"data-ui5-system-css-vars\")) {\n\t\tcreateStyle(systemCSSVars, \"data-ui5-system-css-vars\");\n\t}\n};\n\nexport default insertSystemCSSVars;\n"]}
1
+ {"version":3,"file":"SystemCSSVars.js","sourceRoot":"","sources":["../src/SystemCSSVars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAEjE,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC3C,WAAW,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;IACxD,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { hasStyle, createStyle } from \"./ManagedStyles.js\";\nimport systemCSSVars from \"./generated/css/SystemCSSVars.css.js\";\n\nconst insertSystemCSSVars = () => {\n\tif (!hasStyle(\"data-ui5-system-css-vars\")) {\n\t\tcreateStyle(systemCSSVars, \"data-ui5-system-css-vars\");\n\t}\n};\n\nexport default insertSystemCSSVars;\n"]}
@@ -1,16 +1,12 @@
1
- import UI5ElementMetadata, { Slot, SlotValue, State, PropertyValue, Metadata } from "./UI5ElementMetadata.js";
1
+ import "@ui5/webcomponents-base/dist/ssr-dom.js";
2
+ import type { JSX } from "./jsx-runtime.js";
3
+ import UI5ElementMetadata from "./UI5ElementMetadata.js";
4
+ import type { Slot, SlotValue, State, PropertyValue, Metadata } from "./UI5ElementMetadata.js";
2
5
  import EventProvider from "./EventProvider.js";
3
- import StaticAreaItem from "./StaticAreaItem.js";
4
- import type { TemplateFunction, TemplateFunctionResult } from "./renderer/executeTemplate.js";
5
- import type { PromiseResolve, ComponentStylesData, ClassMap } from "./types.js";
6
- type Renderer = (templateResult: TemplateFunctionResult, container: HTMLElement | DocumentFragment, styleStrOrHrefsArr: string | Array<string> | undefined, forStaticArea: boolean, options: RendererOptions) => void;
7
- type RendererOptions = {
8
- /**
9
- * An object to use as the `this` value for event listeners. It's often
10
- * useful to set this to the host component rendering a template.
11
- */
12
- host?: object;
13
- };
6
+ import type { TemplateFunction } from "./renderer/executeTemplate.js";
7
+ import type { AccessibilityInfo, PromiseResolve, ComponentStylesData, ClassMap } from "./types.js";
8
+ import type I18nBundle from "./i18nBundle.js";
9
+ type Renderer = (instance: UI5Element, container: HTMLElement | DocumentFragment) => void;
14
10
  type ChangeInfo = {
15
11
  type: "property" | "slot";
16
12
  name: string;
@@ -25,42 +21,68 @@ type InvalidationInfo = ChangeInfo & {
25
21
  };
26
22
  type ChildChangeListener = (param: InvalidationInfo) => void;
27
23
  type SlotChangeListener = (this: HTMLSlotElement, ev: Event) => void;
24
+ type SlottedChild = Record<string, any>;
25
+ type NotEqual<X, Y> = true extends Equal<X, Y> ? false : true;
26
+ type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2) ? true : false;
27
+ type IsAny<T, Y, N> = 0 extends (1 & T) ? Y : N;
28
+ type KebabToCamel<T extends string> = T extends `${infer H}-${infer J}${infer K}` ? `${Uncapitalize<H>}${Capitalize<J>}${KebabToCamel<K>}` : T;
29
+ type KebabToPascal<T extends string> = Capitalize<KebabToCamel<T>>;
30
+ type GlobalHTMLAttributeNames = "accesskey" | "autocapitalize" | "autofocus" | "autocomplete" | "contenteditable" | "contextmenu" | "class" | "dir" | "draggable" | "enterkeyhint" | "hidden" | "id" | "inputmode" | "lang" | "nonce" | "part" | "exportparts" | "pattern" | "slot" | "spellcheck" | "style" | "tabIndex" | "tabindex" | "title" | "translate" | "ref" | "inert";
31
+ type ElementProps<I> = Partial<Omit<I, keyof HTMLElement>>;
32
+ type TargetedCustomEvent<D, T> = Omit<CustomEvent<D>, "currentTarget"> & {
33
+ currentTarget: T;
34
+ };
35
+ type TargetedEventHandler<D, T> = {
36
+ asMethod(e: TargetedCustomEvent<D, T>): void;
37
+ }["asMethod"];
38
+ type Convert<T, K extends UI5Element> = {
39
+ [Property in keyof T as `on${KebabToPascal<string & Property>}`]: IsAny<T[Property], any, TargetedEventHandler<T[Property], K>>;
40
+ };
28
41
  /**
42
+ * @class
29
43
  * Base class for all UI5 Web Components
30
44
  *
31
- * @class
32
- * @constructor
33
- * @author SAP SE
34
- * @alias sap.ui.webc.base.UI5Element
35
45
  * @extends HTMLElement
36
46
  * @public
37
47
  */
38
48
  declare abstract class UI5Element extends HTMLElement {
49
+ eventDetails: NotEqual<this, UI5Element> extends true ? object : {
50
+ [k: string]: any;
51
+ };
52
+ _jsxEvents: Omit<JSX.DOMAttributes<this>, keyof Convert<this["eventDetails"], this> | "onClose" | "onToggle" | "onChange" | "onSelect" | "onInput"> & Convert<this["eventDetails"], this>;
53
+ _jsxProps: Pick<JSX.AllHTMLAttributes<HTMLElement>, GlobalHTMLAttributeNames> & ElementProps<this> & Partial<this["_jsxEvents"]> & {
54
+ key?: any;
55
+ };
39
56
  __id?: string;
40
57
  _suppressInvalidation: boolean;
41
58
  _changedState: Array<ChangeInfo>;
42
- _eventProvider: EventProvider<InvalidationInfo, void>;
59
+ _invalidationEventProvider: EventProvider<InvalidationInfo, void>;
60
+ _componentStateFinalizedEventProvider: EventProvider<void, void>;
43
61
  _inDOM: boolean;
44
62
  _fullyConnected: boolean;
45
63
  _childChangeListeners: Map<string, ChildChangeListener>;
64
+ _slotsAssignedNodes: WeakMap<HTMLSlotElement, Array<SlotValue>>;
46
65
  _slotChangeListeners: Map<string, SlotChangeListener>;
47
66
  _domRefReadyPromise: Promise<void> & {
48
67
  _deferredResolve?: PromiseResolve;
49
68
  };
50
69
  _doNotSyncAttributes: Set<string>;
70
+ __shouldHydrate: boolean;
51
71
  _state: State;
52
- _onComponentStateFinalized?: () => void;
72
+ _internals: ElementInternals;
73
+ _individualSlot?: string;
53
74
  _getRealDomRef?: () => HTMLElement;
54
- staticAreaItem?: StaticAreaItem;
55
75
  static template?: TemplateFunction;
56
- static staticAreaTemplate?: TemplateFunction;
57
76
  static _metadata: UI5ElementMetadata;
77
+ static renderer: Renderer;
78
+ initializedProperties: Map<string, unknown>;
79
+ _rendered: boolean;
80
+ constructor();
81
+ _initShadowRoot(): void;
58
82
  /**
59
- * @deprecated
83
+ * Note: this "slotchange" listener is for slots, rendered in the component's shadow root
60
84
  */
61
- static render: Renderer;
62
- static renderer?: Renderer;
63
- constructor();
85
+ _onShadowRootSlotChange(e: Event): void;
64
86
  /**
65
87
  * Returns a unique ID for this UI5 Element
66
88
  *
@@ -68,6 +90,7 @@ declare abstract class UI5Element extends HTMLElement {
68
90
  * @protected
69
91
  */
70
92
  get _id(): string;
93
+ render(): object;
71
94
  /**
72
95
  * Do not call this method from derivatives of UI5Element, use "onEnterDOM" only
73
96
  * @private
@@ -123,22 +146,22 @@ declare abstract class UI5Element extends HTMLElement {
123
146
  /**
124
147
  * Attach a callback that will be executed whenever the component is invalidated
125
148
  *
126
- * @param {InvalidationInfo} callback
149
+ * @param callback
127
150
  * @public
128
151
  */
129
152
  attachInvalidate(callback: (param: InvalidationInfo) => void): void;
130
153
  /**
131
154
  * Detach the callback that is executed whenever the component is invalidated
132
155
  *
133
- * @param {InvalidationInfo} callback
156
+ * @param callback
134
157
  * @public
135
158
  */
136
159
  detachInvalidate(callback: (param: InvalidationInfo) => void): void;
137
160
  /**
138
161
  * Callback that is executed whenever a monitored child changes its state
139
162
  *
140
- * @param {sting} slotName the slot in which a child was invalidated
141
- * @param { ChangeInfo } childChangeInfo the changeInfo object for the child in the given slot
163
+ * @param slotName the slot in which a child was invalidated
164
+ * @param childChangeInfo the changeInfo object for the child in the given slot
142
165
  * @private
143
166
  */
144
167
  _onChildChange(slotName: string, childChangeInfo: ChangeInfo): void;
@@ -147,44 +170,37 @@ declare abstract class UI5Element extends HTMLElement {
147
170
  * @private
148
171
  */
149
172
  attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
173
+ formAssociatedCallback(): void;
174
+ static get formAssociated(): boolean;
150
175
  /**
151
176
  * @private
152
177
  */
153
178
  _updateAttribute(name: string, newValue: PropertyValue): void;
154
- /**
155
- * @private
156
- */
157
- _upgradeProperty(this: Record<string, any>, propertyName: string): void;
158
- /**
159
- * @private
160
- */
161
- _upgradeAllProperties(): void;
162
179
  /**
163
180
  * Returns a singleton event listener for the "change" event of a child in a given slot
164
181
  *
165
182
  * @param slotName the name of the slot, where the child is
166
- * @returns {ChildChangeListener}
167
183
  * @private
168
184
  */
169
- _getChildChangeListener(slotName: string): ChildChangeListener | undefined;
185
+ _getChildChangeListener(slotName: string): ChildChangeListener;
170
186
  /**
171
187
  * Returns a singleton slotchange event listener that invalidates the component due to changes in the given slot
172
188
  *
173
189
  * @param slotName the name of the slot, where the slot element (whose slotchange event we're listening to) is
174
- * @returns {SlotChangeListener}
175
190
  * @private
176
191
  */
177
192
  _getSlotChangeListener(slotName: string): SlotChangeListener;
178
193
  /**
179
194
  * @private
180
195
  */
181
- _attachSlotChange(child: HTMLSlotElement, slotName: string): void;
196
+ _attachSlotChange(slot: HTMLSlotElement, slotName: string, invalidateOnChildChange: boolean): void;
182
197
  /**
183
198
  * @private
184
199
  */
185
200
  _detachSlotChange(child: HTMLSlotElement, slotName: string): void;
186
201
  /**
187
202
  * Whenever a slot element is slotted inside a UI5 Web Component, its slotchange event invalidates the component
203
+ * Note: this "slotchange" listener is for slots that are children of the component (in the light dom, as opposed to slots rendered by the component in the shadow root)
188
204
  *
189
205
  * @param slotName the name of the slot, where the slot element (whose slotchange event we're listening to) is
190
206
  * @private
@@ -205,9 +221,9 @@ declare abstract class UI5Element extends HTMLElement {
205
221
  * 1) children: immediate children (HTML elements or text nodes) were added, removed or reordered in the slot
206
222
  * 2) textcontent: text nodes in the slot changed value (or nested text nodes were added or changed value). Can only trigger for slots of "type: Node"
207
223
  * 3) slotchange: a slot element, slotted inside that slot had its "slotchange" event listener called. This practically means that transitively slotted children changed.
208
- * Can only trigger if the child of a slot is a slot element itself.
224
+ * Can only trigger if the child of a slot is a slot element itself.
209
225
  * 4) childchange: indicates that a UI5Element child in that slot was invalidated and in turn invalidated the component.
210
- * Can only trigger for slots with "invalidateOnChildChange" metadata descriptor
226
+ * Can only trigger for slots with "invalidateOnChildChange" metadata descriptor
211
227
  *
212
228
  * - newValue: the new value of the property (for type="property" only)
213
229
  *
@@ -218,6 +234,7 @@ declare abstract class UI5Element extends HTMLElement {
218
234
  * @public
219
235
  */
220
236
  onInvalidation(changeInfo: ChangeInfo): void;
237
+ updateAttributes(): void;
221
238
  /**
222
239
  * Do not call this method directly, only intended to be called by js
223
240
  * @protected
@@ -231,7 +248,7 @@ declare abstract class UI5Element extends HTMLElement {
231
248
  * @private
232
249
  */
233
250
  _waitForDomRef(): Promise<void> & {
234
- _deferredResolve?: PromiseResolve | undefined;
251
+ _deferredResolve?: PromiseResolve;
235
252
  };
236
253
  /**
237
254
  * Returns the DOM Element inside the Shadow Root that corresponds to the opening tag in the UI5 Web Component's template
@@ -255,7 +272,7 @@ declare abstract class UI5Element extends HTMLElement {
255
272
  getFocusDomRefAsync(): Promise<HTMLElement | undefined>;
256
273
  /**
257
274
  * Set the focus to the element, returned by "getFocusDomRef()" (marked by "data-sap-focus-ref")
258
- * @param {FocusOptions} focusOptions additional options for the focus
275
+ * @param focusOptions additional options for the focus
259
276
  * @public
260
277
  */
261
278
  focus(focusOptions?: FocusOptions): Promise<void>;
@@ -266,48 +283,80 @@ declare abstract class UI5Element extends HTMLElement {
266
283
  * @param data - additional data for the event
267
284
  * @param cancelable - true, if the user can call preventDefault on the event object
268
285
  * @param bubbles - true, if the event bubbles
269
- * @returns {boolean} false, if the event was cancelled (preventDefault called), true otherwise
286
+ * @returns false, if the event was cancelled (preventDefault called), true otherwise
287
+ * @deprecated use fireDecoratorEvent instead
270
288
  */
271
289
  fireEvent<T>(name: string, data?: T, cancelable?: boolean, bubbles?: boolean): boolean;
290
+ /**
291
+ * Fires a custom event, configured via the "event" decorator.
292
+ * @public
293
+ * @param name - name of the event
294
+ * @param data - additional data for the event
295
+ * @returns false, if the event was cancelled (preventDefault called), true otherwise
296
+ */
297
+ fireDecoratorEvent<N extends keyof this["eventDetails"]>(name: N, data?: this["eventDetails"][N] | undefined): boolean;
272
298
  _fireEvent<T>(name: string, data?: T, cancelable?: boolean, bubbles?: boolean): boolean;
299
+ getEventData(name: string): {
300
+ detail?: Record<string, object>;
301
+ cancelable?: boolean;
302
+ bubbles?: boolean;
303
+ };
273
304
  /**
274
305
  * Returns the actual children, associated with a slot.
275
306
  * Useful when there are transitive slots in nested component scenarios and you don't want to get a list of the slots, but rather of their content.
276
307
  * @public
277
308
  */
278
- getSlottedNodes<T = Node>(slotName: string): T[];
309
+ getSlottedNodes<T = Node>(slotName: string): Array<T>;
310
+ /**
311
+ * Attach a callback that will be executed whenever the component's state is finalized
312
+ *
313
+ * @param callback
314
+ * @public
315
+ */
316
+ attachComponentStateFinalized(callback: () => void): void;
317
+ /**
318
+ * Detach the callback that is executed whenever the component's state is finalized
319
+ *
320
+ * @param callback
321
+ * @public
322
+ */
323
+ detachComponentStateFinalized(callback: () => void): void;
279
324
  /**
280
325
  * Determines whether the component should be rendered in RTL mode or not.
281
326
  * Returns: "rtl", "ltr" or undefined
282
327
  *
283
328
  * @public
284
- * @returns {String|undefined}
329
+ * @default undefined
285
330
  */
286
331
  get effectiveDir(): string | undefined;
287
332
  /**
288
333
  * Used to duck-type UI5 elements without using instanceof
289
- * @returns {boolean}
290
334
  * @public
335
+ * @default true
291
336
  */
292
337
  get isUI5Element(): boolean;
338
+ get isUI5AbstractElement(): boolean;
293
339
  get classes(): ClassMap;
294
340
  /**
295
- * Do not override this method in derivatives of UI5Element, use metadata properties instead
341
+ * Returns the component accessibility info.
296
342
  * @private
297
343
  */
298
- static get observedAttributes(): string[];
344
+ get accessibilityInfo(): AccessibilityInfo;
299
345
  /**
346
+ * Do not override this method in derivatives of UI5Element, use metadata properties instead
300
347
  * @private
301
348
  */
302
- static _needsShadowDOM(): boolean;
349
+ static get observedAttributes(): string[];
303
350
  /**
351
+ * Returns all tags, used inside component's template subject to scoping.
352
+ * returns {Array[]} // TODO add @
304
353
  * @private
305
354
  */
306
- static _needsStaticArea(): boolean;
355
+ static get tagsToScope(): Array<string>;
307
356
  /**
308
- * @public
357
+ * @private
309
358
  */
310
- getStaticAreaItemDomRef(): Promise<ShadowRoot | null>;
359
+ static _needsShadowDOM(): boolean;
311
360
  /**
312
361
  * @private
313
362
  */
@@ -321,58 +370,56 @@ declare abstract class UI5Element extends HTMLElement {
321
370
  * Returns the CSS for this UI5 Web Component Class
322
371
  * @protected
323
372
  */
324
- static get styles(): ComponentStylesData;
325
- /**
326
- * Returns the Static Area CSS for this UI5 Web Component Class
327
- * @protected
328
- */
329
- static get staticAreaStyles(): ComponentStylesData;
373
+ static styles: ComponentStylesData;
330
374
  /**
331
375
  * Returns an array with the dependencies for this UI5 Web Component, which could be:
332
- * - composed components (used in its shadow root or static area item)
376
+ * - composed components (used in its shadow root)
333
377
  * - slotted components that the component may need to communicate with
334
378
  *
379
+ * @deprecated no longer necessary for jsxRenderer-enabled components
335
380
  * @protected
336
381
  */
337
382
  static get dependencies(): Array<typeof UI5Element>;
383
+ static cacheUniqueDependencies(this: typeof UI5Element): void;
338
384
  /**
339
385
  * Returns a list of the unique dependencies for this UI5 Web Component
340
386
  *
341
387
  * @public
342
388
  */
343
- static getUniqueDependencies(this: typeof UI5Element): (typeof UI5Element)[];
344
- /**
345
- * Returns a promise that resolves whenever all dependencies for this UI5 Web Component have resolved
346
- *
347
- * @returns {Promise}
348
- */
349
- static whenDependenciesDefined(): Promise<Array<typeof UI5Element>>;
389
+ static getUniqueDependencies(this: typeof UI5Element): Array<typeof UI5Element>;
350
390
  /**
351
391
  * Hook that will be called upon custom element definition
352
392
  *
353
393
  * @protected
354
- * @returns {Promise<void>}
394
+ * @deprecated use the "i18n" decorator for fetching message bundles and the "cldr" option in the "customElements" decorator for fetching CLDR
355
395
  */
356
396
  static onDefine(): Promise<void>;
397
+ static fetchI18nBundles(): Promise<I18nBundle[]>;
398
+ static fetchCLDR(): Promise<void>;
399
+ static asyncFinished: boolean;
400
+ static definePromise: Promise<void> | undefined;
401
+ static i18nBundleStorage: Record<string, I18nBundle>;
402
+ static get i18nBundles(): Record<string, I18nBundle>;
357
403
  /**
358
404
  * Registers a UI5 Web Component in the browser window object
359
405
  * @public
360
- * @returns {Promise<UI5Element>}
361
406
  */
362
- static define(): Promise<typeof UI5Element>;
407
+ static define(): typeof UI5Element;
363
408
  /**
364
409
  * Returns an instance of UI5ElementMetadata.js representing this UI5 Web Component's full metadata (its and its parents')
365
410
  * Note: not to be confused with the "get metadata()" method, which returns an object for this class's metadata only
366
411
  * @public
367
- * @returns {UI5ElementMetadata}
368
412
  */
369
413
  static getMetadata(): UI5ElementMetadata;
414
+ get validity(): ValidityState;
415
+ get validationMessage(): string;
416
+ checkValidity(): boolean;
417
+ reportValidity(): boolean;
370
418
  }
371
419
  /**
372
420
  * Always use duck-typing to cover all runtimes on the page.
373
- * @returns {boolean}
374
421
  */
375
422
  declare const instanceOfUI5Element: (object: any) => object is UI5Element;
376
423
  export default UI5Element;
377
- export { instanceOfUI5Element };
378
- export type { ChangeInfo, Renderer, RendererOptions, };
424
+ export { instanceOfUI5Element, };
425
+ export type { ChangeInfo, InvalidationInfo, Renderer, SlottedChild, };