@ui5/webcomponents-base 0.0.0-35e2c9666 → 0.0.0-37338d49d

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 (1089) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +2019 -0
  3. package/README.md +25 -9
  4. package/cypress/specs/Accessor.cy.ts +79 -0
  5. package/cypress/specs/Boot.cy.ts +19 -0
  6. package/cypress/specs/ConfigurationChange.cy.ts +41 -0
  7. package/cypress/specs/ConfigurationScript.cy.ts +116 -0
  8. package/cypress/specs/ConfigurationURL.cy.ts +182 -0
  9. package/cypress/specs/CustomMount.cy.ts +34 -0
  10. package/cypress/specs/CustomTheme.cy.ts +36 -0
  11. package/cypress/specs/EventProvider.cy.ts +59 -0
  12. package/cypress/specs/SystemDOMElements.cy.ts +8 -0
  13. package/cypress/specs/Theming.cy.ts +74 -0
  14. package/cypress/specs/UI5ElementInvalidation.cy.ts +207 -0
  15. package/cypress/specs/UI5ElementLifecycle.cy.ts +82 -0
  16. package/cypress/specs/UI5ElementListenForChildPropChanges.cy.ts +62 -0
  17. package/cypress/specs/UI5ElementMetadataExt.cy.ts +42 -0
  18. package/cypress/specs/UI5ElementPropertyValidation.cy.ts +16 -0
  19. package/cypress/specs/UI5ElementPropsAndAttrs.cy.ts +113 -0
  20. package/cypress/specs/UI5ElementShadowDOM.cy.ts +30 -0
  21. package/cypress/specs/UI5ElementSlots.cy.ts +116 -0
  22. package/cypress/specs/WithComplexTemplate.cy.ts +32 -0
  23. package/cypress/tsconfig.json +20 -0
  24. package/cypress.config.js +3 -0
  25. package/dist/.tsbuildinfobuild +1 -0
  26. package/dist/AssetRegistry.d.ts +5 -0
  27. package/dist/AssetRegistry.js +3 -8
  28. package/dist/AssetRegistry.js.map +1 -0
  29. package/dist/Boot.d.ts +10 -0
  30. package/dist/Boot.js +60 -44
  31. package/dist/Boot.js.map +1 -0
  32. package/dist/CustomElementsRegistry.d.ts +5 -0
  33. package/dist/CustomElementsRegistry.js +66 -83
  34. package/dist/CustomElementsRegistry.js.map +1 -0
  35. package/dist/CustomElementsScope.d.ts +7 -0
  36. package/dist/CustomElementsScope.js +11 -108
  37. package/dist/CustomElementsScope.js.map +1 -0
  38. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  39. package/dist/CustomElementsScopeUtils.js +102 -0
  40. package/dist/CustomElementsScopeUtils.js.map +1 -0
  41. package/dist/DOMObserver.d.ts +11 -0
  42. package/dist/DOMObserver.js +12 -54
  43. package/dist/DOMObserver.js.map +1 -0
  44. package/dist/Device.d.ts +27 -0
  45. package/dist/Device.js +151 -96
  46. package/dist/Device.js.map +1 -0
  47. package/dist/EventProvider.d.ts +25 -0
  48. package/dist/EventProvider.js +67 -82
  49. package/dist/EventProvider.js.map +1 -0
  50. package/dist/FeaturesRegistry.d.ts +18 -0
  51. package/dist/FeaturesRegistry.js +40 -9
  52. package/dist/FeaturesRegistry.js.map +1 -0
  53. package/dist/FontFace.d.ts +2 -0
  54. package/dist/FontFace.js +19 -19
  55. package/dist/FontFace.js.map +1 -0
  56. package/dist/IgnoreCustomElements.d.ts +25 -0
  57. package/dist/IgnoreCustomElements.js +37 -0
  58. package/dist/IgnoreCustomElements.js.map +1 -0
  59. package/dist/InitialConfiguration.d.ts +34 -0
  60. package/dist/InitialConfiguration.js +144 -131
  61. package/dist/InitialConfiguration.js.map +1 -0
  62. package/dist/Keys.d.ts +64 -0
  63. package/dist/Keys.js +180 -289
  64. package/dist/Keys.js.map +1 -0
  65. package/dist/Location.d.ts +11 -0
  66. package/dist/Location.js +49 -0
  67. package/dist/Location.js.map +1 -0
  68. package/dist/ManagedStyles.d.ts +7 -0
  69. package/dist/ManagedStyles.js +59 -73
  70. package/dist/ManagedStyles.js.map +1 -0
  71. package/dist/MediaRange.d.ts +31 -0
  72. package/dist/MediaRange.js +62 -83
  73. package/dist/MediaRange.js.map +1 -0
  74. package/dist/PropertiesFileFormat.d.ts +8 -0
  75. package/dist/PropertiesFileFormat.js +72 -82
  76. package/dist/PropertiesFileFormat.js.map +1 -0
  77. package/dist/Render.d.ts +47 -0
  78. package/dist/Render.js +81 -113
  79. package/dist/Render.js.map +1 -0
  80. package/dist/RenderQueue.d.ts +19 -0
  81. package/dist/RenderQueue.js +52 -62
  82. package/dist/RenderQueue.js.map +1 -0
  83. package/dist/Runtimes.d.ts +27 -0
  84. package/dist/Runtimes.js +60 -70
  85. package/dist/Runtimes.js.map +1 -0
  86. package/dist/SystemCSSVars.d.ts +2 -0
  87. package/dist/SystemCSSVars.js +4 -5
  88. package/dist/SystemCSSVars.js.map +1 -0
  89. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  90. package/dist/Theming.js +1 -1
  91. package/dist/Theming.js.map +1 -0
  92. package/dist/UI5Element.d.ts +415 -0
  93. package/dist/UI5Element.js +1093 -993
  94. package/dist/UI5Element.js.map +1 -0
  95. package/dist/UI5ElementMetadata.d.ts +164 -0
  96. package/dist/UI5ElementMetadata.js +244 -318
  97. package/dist/UI5ElementMetadata.js.map +1 -0
  98. package/dist/animations/AnimationQueue.d.ts +8 -0
  99. package/dist/animations/AnimationQueue.js +31 -38
  100. package/dist/animations/AnimationQueue.js.map +1 -0
  101. package/dist/animations/animate.d.ts +14 -0
  102. package/dist/animations/animate.js +46 -51
  103. package/dist/animations/animate.js.map +1 -0
  104. package/dist/animations/scroll.d.ts +5 -0
  105. package/dist/animations/scroll.js +18 -27
  106. package/dist/animations/scroll.js.map +1 -0
  107. package/dist/animations/slideDown.d.ts +5 -0
  108. package/dist/animations/slideDown.js +53 -78
  109. package/dist/animations/slideDown.js.map +1 -0
  110. package/dist/animations/slideUp.d.ts +5 -0
  111. package/dist/animations/slideUp.js +49 -70
  112. package/dist/animations/slideUp.js.map +1 -0
  113. package/dist/asset-registries/Icons.d.ts +39 -0
  114. package/dist/asset-registries/Icons.js +120 -123
  115. package/dist/asset-registries/Icons.js.map +1 -0
  116. package/dist/asset-registries/Illustrations.d.ts +19 -0
  117. package/dist/asset-registries/Illustrations.js +72 -25
  118. package/dist/asset-registries/Illustrations.js.map +1 -0
  119. package/dist/asset-registries/LocaleData.d.ts +7 -0
  120. package/dist/asset-registries/LocaleData.js +104 -132
  121. package/dist/asset-registries/LocaleData.js.map +1 -0
  122. package/dist/asset-registries/Themes.d.ts +9 -0
  123. package/dist/asset-registries/Themes.js +56 -67
  124. package/dist/asset-registries/Themes.js.map +1 -0
  125. package/dist/asset-registries/i18n.d.ts +23 -0
  126. package/dist/asset-registries/i18n.js +64 -83
  127. package/dist/asset-registries/i18n.js.map +1 -0
  128. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  129. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  130. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  131. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  132. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  133. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  134. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  135. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  136. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  137. package/dist/config/AnimationMode.d.ts +14 -0
  138. package/dist/config/AnimationMode.js +26 -18
  139. package/dist/config/AnimationMode.js.map +1 -0
  140. package/dist/config/CalendarType.d.ts +15 -0
  141. package/dist/config/CalendarType.js +36 -14
  142. package/dist/config/CalendarType.js.map +1 -0
  143. package/dist/config/ConfigurationReset.d.ts +4 -0
  144. package/dist/config/ConfigurationReset.js +11 -0
  145. package/dist/config/ConfigurationReset.js.map +1 -0
  146. package/dist/config/Fonts.d.ts +16 -0
  147. package/dist/config/Fonts.js +30 -0
  148. package/dist/config/Fonts.js.map +1 -0
  149. package/dist/config/FormatSettings.d.ts +15 -0
  150. package/dist/config/FormatSettings.js +19 -9
  151. package/dist/config/FormatSettings.js.map +1 -0
  152. package/dist/config/Icons.d.ts +40 -0
  153. package/dist/config/Icons.js +44 -0
  154. package/dist/config/Icons.js.map +1 -0
  155. package/dist/config/Language.d.ts +40 -0
  156. package/dist/config/Language.js +52 -44
  157. package/dist/config/Language.js.map +1 -0
  158. package/dist/config/NoConflict.d.ts +20 -0
  159. package/dist/config/NoConflict.js +45 -41
  160. package/dist/config/NoConflict.js.map +1 -0
  161. package/dist/config/Theme.d.ts +39 -0
  162. package/dist/config/Theme.js +64 -36
  163. package/dist/config/Theme.js.map +1 -0
  164. package/dist/config/ThemeRoot.d.ts +27 -0
  165. package/dist/config/ThemeRoot.js +61 -0
  166. package/dist/config/ThemeRoot.js.map +1 -0
  167. package/dist/config/Timezone.d.ts +17 -0
  168. package/dist/config/Timezone.js +34 -0
  169. package/dist/config/Timezone.js.map +1 -0
  170. package/dist/config/Tooltips.d.ts +19 -0
  171. package/dist/config/Tooltips.js +29 -0
  172. package/dist/config/Tooltips.js.map +1 -0
  173. package/dist/connectToComponent.d.ts +9 -0
  174. package/dist/connectToComponent.js +59 -0
  175. package/dist/connectToComponent.js.map +1 -0
  176. package/dist/converters/DOMReference.d.ts +5 -0
  177. package/dist/converters/DOMReference.js +13 -0
  178. package/dist/converters/DOMReference.js.map +1 -0
  179. package/dist/css/BusyIndicator.css +80 -0
  180. package/dist/css/FontFace.css +67 -16
  181. package/dist/css/SystemCSSVars.css +0 -8
  182. package/dist/custom-elements-internal.json +2721 -0
  183. package/dist/custom-elements.json +2455 -0
  184. package/dist/decorators/bound.d.ts +1 -0
  185. package/dist/decorators/bound.js +34 -0
  186. package/dist/decorators/bound.js.map +1 -0
  187. package/dist/decorators/customElement.d.ts +62 -0
  188. package/dist/decorators/customElement.js +48 -0
  189. package/dist/decorators/customElement.js.map +1 -0
  190. package/dist/decorators/event-strict.d.ts +15 -0
  191. package/dist/decorators/event-strict.js +26 -0
  192. package/dist/decorators/event-strict.js.map +1 -0
  193. package/dist/decorators/event.d.ts +16 -0
  194. package/dist/decorators/event.js +27 -0
  195. package/dist/decorators/event.js.map +1 -0
  196. package/dist/decorators/i18n.d.ts +17 -0
  197. package/dist/decorators/i18n.js +26 -0
  198. package/dist/decorators/i18n.js.map +1 -0
  199. package/dist/decorators/property.d.ts +9 -0
  200. package/dist/decorators/property.js +24 -0
  201. package/dist/decorators/property.js.map +1 -0
  202. package/dist/decorators/query.d.ts +25 -0
  203. package/dist/decorators/query.js +32 -0
  204. package/dist/decorators/query.js.map +1 -0
  205. package/dist/decorators/queryAll.d.ts +27 -0
  206. package/dist/decorators/queryAll.js +34 -0
  207. package/dist/decorators/queryAll.js.map +1 -0
  208. package/dist/decorators/slot.d.ts +9 -0
  209. package/dist/decorators/slot.js +37 -0
  210. package/dist/decorators/slot.js.map +1 -0
  211. package/dist/decorators.d.ts +8 -0
  212. package/dist/decorators.js +9 -0
  213. package/dist/decorators.js.map +1 -0
  214. package/dist/delegate/ItemNavigation.d.ts +114 -0
  215. package/dist/delegate/ItemNavigation.js +283 -319
  216. package/dist/delegate/ItemNavigation.js.map +1 -0
  217. package/dist/delegate/ResizeHandler.d.ts +23 -0
  218. package/dist/delegate/ResizeHandler.js +70 -91
  219. package/dist/delegate/ResizeHandler.js.map +1 -0
  220. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  221. package/dist/delegate/ScrollEnablement.js +157 -180
  222. package/dist/delegate/ScrollEnablement.js.map +1 -0
  223. package/dist/features/F6Navigation.d.ts +19 -0
  224. package/dist/features/F6Navigation.js +164 -102
  225. package/dist/features/F6Navigation.js.map +1 -0
  226. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  227. package/dist/features/InputElementsFormSupport.js +39 -0
  228. package/dist/features/InputElementsFormSupport.js.map +1 -0
  229. package/dist/features/LegacyDateFormats.d.ts +18 -0
  230. package/dist/features/LegacyDateFormats.js +20 -0
  231. package/dist/features/LegacyDateFormats.js.map +1 -0
  232. package/dist/features/OpenUI5Element.d.ts +9 -0
  233. package/dist/features/OpenUI5Element.js +5 -0
  234. package/dist/features/OpenUI5Element.js.map +1 -0
  235. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  236. package/dist/features/OpenUI5Enablement.js +96 -0
  237. package/dist/features/OpenUI5Enablement.js.map +1 -0
  238. package/dist/features/OpenUI5Support.d.ts +34 -0
  239. package/dist/features/OpenUI5Support.js +140 -122
  240. package/dist/features/OpenUI5Support.js.map +1 -0
  241. package/dist/features/patchPatcher.d.ts +11 -0
  242. package/dist/features/patchPatcher.js +11 -0
  243. package/dist/features/patchPatcher.js.map +1 -0
  244. package/dist/features/patchPopup.d.ts +15 -0
  245. package/dist/features/patchPopup.js +61 -0
  246. package/dist/features/patchPopup.js.map +1 -0
  247. package/dist/generated/AssetParameters.d.ts +6 -0
  248. package/dist/generated/AssetParameters.js +4 -9
  249. package/dist/generated/AssetParameters.js.map +1 -0
  250. package/dist/generated/VersionInfo.d.ts +10 -0
  251. package/dist/generated/VersionInfo.js +9 -8
  252. package/dist/generated/VersionInfo.js.map +1 -0
  253. package/dist/generated/css/BusyIndicator.css.d.ts +2 -0
  254. package/dist/generated/css/BusyIndicator.css.js +2 -0
  255. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  256. package/dist/generated/css/FontFace.css.d.ts +2 -0
  257. package/dist/generated/css/FontFace.css.js +2 -5
  258. package/dist/generated/css/FontFace.css.js.map +1 -0
  259. package/dist/generated/css/OverrideFontFace.css.d.ts +2 -0
  260. package/dist/generated/css/OverrideFontFace.css.js +2 -5
  261. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  262. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -0
  263. package/dist/generated/css/SystemCSSVars.css.js +2 -5
  264. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  265. package/dist/getSharedResource.d.ts +11 -0
  266. package/dist/getSharedResource.js +28 -18
  267. package/dist/getSharedResource.js.map +1 -0
  268. package/dist/global.d.ts +40 -0
  269. package/dist/i18nBundle.d.ts +41 -0
  270. package/dist/i18nBundle.js +54 -64
  271. package/dist/i18nBundle.js.map +1 -0
  272. package/dist/index.d.ts +8 -0
  273. package/dist/jsx-dev-runtime.d.ts +4 -0
  274. package/dist/jsx-dev-runtime.js +43 -0
  275. package/dist/jsx-dev-runtime.js.map +1 -0
  276. package/dist/jsx-runtime.d.ts +50 -0
  277. package/dist/jsx-runtime.js +27 -0
  278. package/dist/jsx-runtime.js.map +1 -0
  279. package/dist/jsx-utils.d.ts +3 -0
  280. package/dist/jsx-utils.js +39 -0
  281. package/dist/jsx-utils.js.map +1 -0
  282. package/dist/locale/Locale.d.ts +22 -0
  283. package/dist/locale/Locale.js +75 -87
  284. package/dist/locale/Locale.js.map +1 -0
  285. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  286. package/dist/locale/RTLAwareRegistry.js +6 -11
  287. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  288. package/dist/locale/applyDirection.d.ts +11 -0
  289. package/dist/locale/applyDirection.js +8 -7
  290. package/dist/locale/applyDirection.js.map +1 -0
  291. package/dist/locale/directionChange.d.ts +15 -0
  292. package/dist/locale/directionChange.js +7 -15
  293. package/dist/locale/directionChange.js.map +1 -0
  294. package/dist/locale/getEffectiveDir.d.ts +2 -0
  295. package/dist/locale/getEffectiveDir.js +6 -26
  296. package/dist/locale/getEffectiveDir.js.map +1 -0
  297. package/dist/locale/getLocale.d.ts +7 -0
  298. package/dist/locale/getLocale.js +26 -29
  299. package/dist/locale/getLocale.js.map +1 -0
  300. package/dist/locale/languageChange.d.ts +5 -0
  301. package/dist/locale/languageChange.js +8 -16
  302. package/dist/locale/languageChange.js.map +1 -0
  303. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  304. package/dist/locale/nextFallbackLocale.js +15 -19
  305. package/dist/locale/nextFallbackLocale.js.map +1 -0
  306. package/dist/locale/normalizeLocale.d.ts +7 -0
  307. package/dist/locale/normalizeLocale.js +34 -41
  308. package/dist/locale/normalizeLocale.js.map +1 -0
  309. package/dist/prod/AssetRegistry.js +2 -0
  310. package/dist/prod/AssetRegistry.js.map +7 -0
  311. package/dist/prod/Boot.js +2 -0
  312. package/dist/prod/Boot.js.map +7 -0
  313. package/dist/prod/CustomElementsRegistry.js +10 -0
  314. package/dist/prod/CustomElementsRegistry.js.map +7 -0
  315. package/dist/prod/CustomElementsScope.js +2 -0
  316. package/dist/prod/CustomElementsScope.js.map +7 -0
  317. package/dist/prod/CustomElementsScopeUtils.js +2 -0
  318. package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
  319. package/dist/prod/DOMObserver.js +2 -0
  320. package/dist/prod/DOMObserver.js.map +7 -0
  321. package/dist/prod/Device.js +2 -0
  322. package/dist/prod/Device.js.map +7 -0
  323. package/dist/prod/EventProvider.js +2 -0
  324. package/dist/prod/EventProvider.js.map +7 -0
  325. package/dist/prod/FeaturesRegistry.js +2 -0
  326. package/dist/prod/FeaturesRegistry.js.map +7 -0
  327. package/dist/prod/FontFace.js +2 -0
  328. package/dist/prod/FontFace.js.map +7 -0
  329. package/dist/prod/IgnoreCustomElements.js +2 -0
  330. package/dist/prod/IgnoreCustomElements.js.map +7 -0
  331. package/dist/prod/InitialConfiguration.js +2 -0
  332. package/dist/prod/InitialConfiguration.js.map +7 -0
  333. package/dist/prod/Keys.js +2 -0
  334. package/dist/prod/Keys.js.map +7 -0
  335. package/dist/prod/Location.js +2 -0
  336. package/dist/prod/Location.js.map +7 -0
  337. package/dist/prod/ManagedStyles.js +2 -0
  338. package/dist/prod/ManagedStyles.js.map +7 -0
  339. package/dist/prod/MediaRange.js +2 -0
  340. package/dist/prod/MediaRange.js.map +7 -0
  341. package/dist/prod/PropertiesFileFormat.js +3 -0
  342. package/dist/prod/PropertiesFileFormat.js.map +7 -0
  343. package/dist/prod/Render.js +2 -0
  344. package/dist/prod/Render.js.map +7 -0
  345. package/dist/prod/RenderQueue.js +2 -0
  346. package/dist/prod/RenderQueue.js.map +7 -0
  347. package/dist/prod/Runtimes.js +2 -0
  348. package/dist/prod/Runtimes.js.map +7 -0
  349. package/dist/prod/SystemCSSVars.js +2 -0
  350. package/dist/prod/SystemCSSVars.js.map +7 -0
  351. package/dist/prod/Theming.js +2 -0
  352. package/dist/prod/Theming.js.map +7 -0
  353. package/dist/prod/UI5Element.js +2 -0
  354. package/dist/prod/UI5Element.js.map +7 -0
  355. package/dist/prod/UI5ElementMetadata.js +2 -0
  356. package/dist/prod/UI5ElementMetadata.js.map +7 -0
  357. package/dist/prod/animations/AnimationQueue.js +2 -0
  358. package/dist/prod/animations/AnimationQueue.js.map +7 -0
  359. package/dist/prod/animations/animate.js +2 -0
  360. package/dist/prod/animations/animate.js.map +7 -0
  361. package/dist/prod/animations/scroll.js +2 -0
  362. package/dist/prod/animations/scroll.js.map +7 -0
  363. package/dist/prod/animations/slideDown.js +2 -0
  364. package/dist/prod/animations/slideDown.js.map +7 -0
  365. package/dist/prod/animations/slideUp.js +2 -0
  366. package/dist/prod/animations/slideUp.js.map +7 -0
  367. package/dist/prod/asset-registries/Icons.js +2 -0
  368. package/dist/prod/asset-registries/Icons.js.map +7 -0
  369. package/dist/prod/asset-registries/Illustrations.js +2 -0
  370. package/dist/prod/asset-registries/Illustrations.js.map +7 -0
  371. package/dist/prod/asset-registries/LocaleData.js +2 -0
  372. package/dist/prod/asset-registries/LocaleData.js.map +7 -0
  373. package/dist/prod/asset-registries/Themes.js +2 -0
  374. package/dist/prod/asset-registries/Themes.js.map +7 -0
  375. package/dist/prod/asset-registries/i18n.js +2 -0
  376. package/dist/prod/asset-registries/i18n.js.map +7 -0
  377. package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
  378. package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
  379. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
  380. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
  381. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
  382. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
  383. package/dist/prod/config/AnimationMode.js +2 -0
  384. package/dist/prod/config/AnimationMode.js.map +7 -0
  385. package/dist/prod/config/CalendarType.js +2 -0
  386. package/dist/prod/config/CalendarType.js.map +7 -0
  387. package/dist/prod/config/ConfigurationReset.js +2 -0
  388. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  389. package/dist/prod/config/Fonts.js +2 -0
  390. package/dist/prod/config/Fonts.js.map +7 -0
  391. package/dist/prod/config/FormatSettings.js +2 -0
  392. package/dist/prod/config/FormatSettings.js.map +7 -0
  393. package/dist/prod/config/Icons.js +2 -0
  394. package/dist/prod/config/Icons.js.map +7 -0
  395. package/dist/prod/config/Language.js +2 -0
  396. package/dist/prod/config/Language.js.map +7 -0
  397. package/dist/prod/config/NoConflict.js +2 -0
  398. package/dist/prod/config/NoConflict.js.map +7 -0
  399. package/dist/prod/config/Theme.js +2 -0
  400. package/dist/prod/config/Theme.js.map +7 -0
  401. package/dist/prod/config/ThemeRoot.js +2 -0
  402. package/dist/prod/config/ThemeRoot.js.map +7 -0
  403. package/dist/prod/config/Timezone.js +2 -0
  404. package/dist/prod/config/Timezone.js.map +7 -0
  405. package/dist/prod/config/Tooltips.js +2 -0
  406. package/dist/prod/config/Tooltips.js.map +7 -0
  407. package/dist/prod/connectToComponent.js +2 -0
  408. package/dist/prod/connectToComponent.js.map +7 -0
  409. package/dist/prod/converters/DOMReference.js +2 -0
  410. package/dist/prod/converters/DOMReference.js.map +7 -0
  411. package/dist/prod/decorators/bound.js +2 -0
  412. package/dist/prod/decorators/bound.js.map +7 -0
  413. package/dist/prod/decorators/customElement.js +2 -0
  414. package/dist/prod/decorators/customElement.js.map +7 -0
  415. package/dist/prod/decorators/event-strict.js +2 -0
  416. package/dist/prod/decorators/event-strict.js.map +7 -0
  417. package/dist/prod/decorators/event.js +2 -0
  418. package/dist/prod/decorators/event.js.map +7 -0
  419. package/dist/prod/decorators/i18n.js +2 -0
  420. package/dist/prod/decorators/i18n.js.map +7 -0
  421. package/dist/prod/decorators/property.js +2 -0
  422. package/dist/prod/decorators/property.js.map +7 -0
  423. package/dist/prod/decorators/query.js +2 -0
  424. package/dist/prod/decorators/query.js.map +7 -0
  425. package/dist/prod/decorators/queryAll.js +2 -0
  426. package/dist/prod/decorators/queryAll.js.map +7 -0
  427. package/dist/prod/decorators/slot.js +2 -0
  428. package/dist/prod/decorators/slot.js.map +7 -0
  429. package/dist/prod/decorators.js +2 -0
  430. package/dist/prod/decorators.js.map +7 -0
  431. package/dist/prod/delegate/ItemNavigation.js +2 -0
  432. package/dist/prod/delegate/ItemNavigation.js.map +7 -0
  433. package/dist/prod/delegate/ResizeHandler.js +2 -0
  434. package/dist/prod/delegate/ResizeHandler.js.map +7 -0
  435. package/dist/prod/delegate/ScrollEnablement.js +2 -0
  436. package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
  437. package/dist/prod/features/F6Navigation.js +2 -0
  438. package/dist/prod/features/F6Navigation.js.map +7 -0
  439. package/dist/prod/features/InputElementsFormSupport.js +2 -0
  440. package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
  441. package/dist/prod/features/LegacyDateFormats.js +2 -0
  442. package/dist/prod/features/LegacyDateFormats.js.map +7 -0
  443. package/dist/prod/features/OpenUI5Element.js +2 -0
  444. package/dist/prod/features/OpenUI5Element.js.map +7 -0
  445. package/dist/prod/features/OpenUI5Enablement.js +21 -0
  446. package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
  447. package/dist/prod/features/OpenUI5Support.js +2 -0
  448. package/dist/prod/features/OpenUI5Support.js.map +7 -0
  449. package/dist/prod/features/patchPatcher.js +2 -0
  450. package/dist/prod/features/patchPatcher.js.map +7 -0
  451. package/dist/prod/features/patchPopup.js +2 -0
  452. package/dist/prod/features/patchPopup.js.map +7 -0
  453. package/dist/prod/generated/AssetParameters.js +2 -0
  454. package/dist/prod/generated/AssetParameters.js.map +7 -0
  455. package/dist/prod/generated/VersionInfo.js +2 -0
  456. package/dist/prod/generated/VersionInfo.js.map +7 -0
  457. package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
  458. package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
  459. package/dist/prod/generated/css/FontFace.css.js +2 -0
  460. package/dist/prod/generated/css/FontFace.css.js.map +7 -0
  461. package/dist/prod/generated/css/OverrideFontFace.css.js +2 -0
  462. package/dist/prod/generated/css/OverrideFontFace.css.js.map +7 -0
  463. package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
  464. package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
  465. package/dist/prod/getSharedResource.js +2 -0
  466. package/dist/prod/getSharedResource.js.map +7 -0
  467. package/dist/prod/global.d.js +2 -0
  468. package/dist/prod/global.d.js.map +7 -0
  469. package/dist/prod/i18nBundle.js +2 -0
  470. package/dist/prod/i18nBundle.js.map +7 -0
  471. package/dist/prod/index.d.js +2 -0
  472. package/dist/prod/index.d.js.map +7 -0
  473. package/dist/prod/jsx-dev-runtime.js +2 -0
  474. package/dist/prod/jsx-dev-runtime.js.map +7 -0
  475. package/dist/prod/jsx-runtime.js +2 -0
  476. package/dist/prod/jsx-runtime.js.map +7 -0
  477. package/dist/prod/jsx-utils.js +2 -0
  478. package/dist/prod/jsx-utils.js.map +7 -0
  479. package/dist/prod/locale/Locale.js +2 -0
  480. package/dist/prod/locale/Locale.js.map +7 -0
  481. package/dist/prod/locale/RTLAwareRegistry.js +2 -0
  482. package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
  483. package/dist/prod/locale/applyDirection.js +2 -0
  484. package/dist/prod/locale/applyDirection.js.map +7 -0
  485. package/dist/prod/locale/directionChange.js +2 -0
  486. package/dist/prod/locale/directionChange.js.map +7 -0
  487. package/dist/prod/locale/getEffectiveDir.js +2 -0
  488. package/dist/prod/locale/getEffectiveDir.js.map +7 -0
  489. package/dist/prod/locale/getLocale.js +2 -0
  490. package/dist/prod/locale/getLocale.js.map +7 -0
  491. package/dist/prod/locale/languageChange.js +2 -0
  492. package/dist/prod/locale/languageChange.js.map +7 -0
  493. package/dist/prod/locale/nextFallbackLocale.js +2 -0
  494. package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
  495. package/dist/prod/locale/normalizeLocale.js +2 -0
  496. package/dist/prod/locale/normalizeLocale.js.map +7 -0
  497. package/dist/prod/renderer/JsxRenderer.js +2 -0
  498. package/dist/prod/renderer/JsxRenderer.js.map +7 -0
  499. package/dist/prod/renderer/LitRenderer.js +2 -0
  500. package/dist/prod/renderer/LitRenderer.js.map +7 -0
  501. package/dist/prod/renderer/directives/style-map.js +6 -0
  502. package/dist/prod/renderer/directives/style-map.js.map +7 -0
  503. package/dist/prod/renderer/executeTemplate.js +2 -0
  504. package/dist/prod/renderer/executeTemplate.js.map +7 -0
  505. package/dist/prod/sap/base/Log.js +750 -0
  506. package/dist/prod/sap/base/assert.js +34 -0
  507. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
  508. package/dist/prod/sap/base/security/URLListValidator.js +406 -0
  509. package/dist/prod/sap/base/security/encodeCSS.js +40 -0
  510. package/dist/prod/sap/base/security/encodeXML.js +53 -0
  511. package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
  512. package/dist/prod/sap/base/strings/toHex.js +33 -0
  513. package/dist/prod/sap/base/util/now.js +28 -0
  514. package/dist/prod/sap/base/util/uid.js +27 -0
  515. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  516. package/dist/prod/ssr-dom-shim.js +2 -0
  517. package/dist/prod/ssr-dom-shim.js.map +7 -0
  518. package/dist/prod/ssr-dom.js +2 -0
  519. package/dist/prod/ssr-dom.js.map +7 -0
  520. package/dist/prod/theming/CustomStyle.js +2 -0
  521. package/dist/prod/theming/CustomStyle.js.map +7 -0
  522. package/dist/prod/theming/ThemeLoaded.js +2 -0
  523. package/dist/prod/theming/ThemeLoaded.js.map +7 -0
  524. package/dist/prod/theming/ThemeRegistered.js +2 -0
  525. package/dist/prod/theming/ThemeRegistered.js.map +7 -0
  526. package/dist/prod/theming/applyTheme.js +2 -0
  527. package/dist/prod/theming/applyTheme.js.map +7 -0
  528. package/dist/prod/theming/getConstructableStyle.js +2 -0
  529. package/dist/prod/theming/getConstructableStyle.js.map +7 -0
  530. package/dist/prod/theming/getEffectiveStyle.js +2 -0
  531. package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
  532. package/dist/prod/theming/getStylesString.js +2 -0
  533. package/dist/prod/theming/getStylesString.js.map +7 -0
  534. package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
  535. package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
  536. package/dist/prod/thirdparty/_merge.js +2 -0
  537. package/dist/prod/thirdparty/_merge.js.map +7 -0
  538. package/dist/prod/thirdparty/isPlainObject.js +2 -0
  539. package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
  540. package/dist/prod/thirdparty/merge.js +2 -0
  541. package/dist/prod/thirdparty/merge.js.map +7 -0
  542. package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
  543. package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
  544. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
  545. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
  546. package/dist/prod/thirdparty/preact/jsxRuntime.module.js +2 -0
  547. package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
  548. package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
  549. package/dist/prod/thirdparty/preact/preact.module.js +2 -0
  550. package/dist/prod/types/AnimationMode.js +2 -0
  551. package/dist/prod/types/AnimationMode.js.map +7 -0
  552. package/dist/prod/types/CalendarType.js +2 -0
  553. package/dist/prod/types/CalendarType.js.map +7 -0
  554. package/dist/prod/types/InvisibleMessageMode.js +2 -0
  555. package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
  556. package/dist/prod/types/ItemNavigationBehavior.js +2 -0
  557. package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
  558. package/dist/prod/types/MovePlacement.js +2 -0
  559. package/dist/prod/types/MovePlacement.js.map +7 -0
  560. package/dist/prod/types/NavigationMode.js +2 -0
  561. package/dist/prod/types/NavigationMode.js.map +7 -0
  562. package/dist/prod/types/Orientation.js +2 -0
  563. package/dist/prod/types/Orientation.js.map +7 -0
  564. package/dist/prod/types/ValueState.js +2 -0
  565. package/dist/prod/types/ValueState.js.map +7 -0
  566. package/dist/prod/types.js +2 -0
  567. package/dist/prod/types.js.map +7 -0
  568. package/dist/prod/updateShadowRoot.js +2 -0
  569. package/dist/prod/updateShadowRoot.js.map +7 -0
  570. package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
  571. package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
  572. package/dist/prod/util/Caret.js +2 -0
  573. package/dist/prod/util/Caret.js.map +7 -0
  574. package/dist/prod/util/ColorConversion.js +2 -0
  575. package/dist/prod/util/ColorConversion.js.map +7 -0
  576. package/dist/prod/util/FetchHelper.js +2 -0
  577. package/dist/prod/util/FetchHelper.js.map +7 -0
  578. package/dist/prod/util/FocusableElements.js +2 -0
  579. package/dist/prod/util/FocusableElements.js.map +7 -0
  580. package/dist/prod/util/HTMLSanitizer.js +2 -0
  581. package/dist/prod/util/HTMLSanitizer.js.map +7 -0
  582. package/dist/prod/util/InvisibleMessage.js +2 -0
  583. package/dist/prod/util/InvisibleMessage.js.map +7 -0
  584. package/dist/prod/util/PopupUtils.js +2 -0
  585. package/dist/prod/util/PopupUtils.js.map +7 -0
  586. package/dist/prod/util/SelectionAssistant.js +2 -0
  587. package/dist/prod/util/SelectionAssistant.js.map +7 -0
  588. package/dist/prod/util/SlotsHelper.js +2 -0
  589. package/dist/prod/util/SlotsHelper.js.map +7 -0
  590. package/dist/prod/util/StringHelper.js +2 -0
  591. package/dist/prod/util/StringHelper.js.map +7 -0
  592. package/dist/prod/util/TabbableElements.js +2 -0
  593. package/dist/prod/util/TabbableElements.js.map +7 -0
  594. package/dist/prod/util/arraysAreEqual.js +2 -0
  595. package/dist/prod/util/arraysAreEqual.js.map +7 -0
  596. package/dist/prod/util/clamp.js +2 -0
  597. package/dist/prod/util/clamp.js.map +7 -0
  598. package/dist/prod/util/createLinkInHead.js +2 -0
  599. package/dist/prod/util/createLinkInHead.js.map +7 -0
  600. package/dist/prod/util/debounce.js +2 -0
  601. package/dist/prod/util/debounce.js.map +7 -0
  602. package/dist/prod/util/detectNavigatorLanguage.js +2 -0
  603. package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
  604. package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
  605. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
  606. package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
  607. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
  608. package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
  609. package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
  610. package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
  611. package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
  612. package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
  613. package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
  614. package/dist/prod/util/escapeRegex.js +2 -0
  615. package/dist/prod/util/escapeRegex.js.map +7 -0
  616. package/dist/prod/util/fixSafariActiveState.js +2 -0
  617. package/dist/prod/util/fixSafariActiveState.js.map +7 -0
  618. package/dist/prod/util/formatMessage.js +2 -0
  619. package/dist/prod/util/formatMessage.js.map +7 -0
  620. package/dist/prod/util/generateHighlightedMarkup.js +2 -0
  621. package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
  622. package/dist/prod/util/getActiveElement.js +2 -0
  623. package/dist/prod/util/getActiveElement.js.map +7 -0
  624. package/dist/prod/util/getClassCopy.js +2 -0
  625. package/dist/prod/util/getClassCopy.js.map +7 -0
  626. package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
  627. package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
  628. package/dist/prod/util/getEffectiveContentDensity.js +2 -0
  629. package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
  630. package/dist/prod/util/getEffectiveScrollbarStyle.js +26 -0
  631. package/dist/prod/util/getEffectiveScrollbarStyle.js.map +7 -0
  632. package/dist/prod/util/getFastNavigationGroups.js +2 -0
  633. package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
  634. package/dist/prod/util/getFileExtension.js +2 -0
  635. package/dist/prod/util/getFileExtension.js.map +7 -0
  636. package/dist/prod/util/getNormalizedTarget.js +2 -0
  637. package/dist/prod/util/getNormalizedTarget.js.map +7 -0
  638. package/dist/prod/util/getSingletonElementInstance.js +2 -0
  639. package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
  640. package/dist/prod/util/hash2str.js +2 -0
  641. package/dist/prod/util/hash2str.js.map +7 -0
  642. package/dist/prod/util/isElementClickable.js +2 -0
  643. package/dist/prod/util/isElementClickable.js.map +7 -0
  644. package/dist/prod/util/isElementHidden.js +2 -0
  645. package/dist/prod/util/isElementHidden.js.map +7 -0
  646. package/dist/prod/util/isElementInView.js +2 -0
  647. package/dist/prod/util/isElementInView.js.map +7 -0
  648. package/dist/prod/util/isElementTabbable.js +2 -0
  649. package/dist/prod/util/isElementTabbable.js.map +7 -0
  650. package/dist/prod/util/isValidPropertyName.js +2 -0
  651. package/dist/prod/util/isValidPropertyName.js.map +7 -0
  652. package/dist/prod/util/toLowercaseEnumValue.js +2 -0
  653. package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
  654. package/dist/prod/util/whenDOMReady.js +2 -0
  655. package/dist/prod/util/whenDOMReady.js.map +7 -0
  656. package/dist/prod/util/willShowContent.js +2 -0
  657. package/dist/prod/util/willShowContent.js.map +7 -0
  658. package/dist/prod/validateThemeRoot.js +2 -0
  659. package/dist/prod/validateThemeRoot.js.map +7 -0
  660. package/dist/renderer/JsxRenderer.d.ts +3 -0
  661. package/dist/renderer/JsxRenderer.js +16 -0
  662. package/dist/renderer/JsxRenderer.js.map +1 -0
  663. package/dist/renderer/LitRenderer.d.ts +14 -0
  664. package/dist/renderer/LitRenderer.js +26 -24
  665. package/dist/renderer/LitRenderer.js.map +1 -0
  666. package/dist/renderer/directives/style-map.d.ts +13 -0
  667. package/dist/renderer/directives/style-map.js +59 -59
  668. package/dist/renderer/directives/style-map.js.map +1 -0
  669. package/dist/renderer/executeTemplate.d.ts +12 -0
  670. package/dist/renderer/executeTemplate.js +2 -7
  671. package/dist/renderer/executeTemplate.js.map +1 -0
  672. package/dist/sap/base/Log.js +705 -196
  673. package/dist/sap/base/assert.js +31 -5
  674. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  675. package/dist/sap/base/security/URLListValidator.js +265 -7
  676. package/dist/sap/base/security/encodeCSS.js +34 -8
  677. package/dist/sap/base/security/encodeXML.js +47 -17
  678. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  679. package/dist/sap/base/strings/toHex.js +27 -2
  680. package/dist/sap/base/util/now.js +24 -3
  681. package/dist/sap/base/util/uid.js +27 -0
  682. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +113 -98
  683. package/dist/ssr-dom-shim.d.ts +1 -0
  684. package/dist/ssr-dom-shim.js +12 -0
  685. package/dist/ssr-dom-shim.js.map +1 -0
  686. package/dist/ssr-dom.d.ts +1 -0
  687. package/dist/ssr-dom.js +3 -0
  688. package/dist/ssr-dom.js.map +1 -0
  689. package/dist/theming/CustomStyle.d.ts +6 -0
  690. package/dist/theming/CustomStyle.js +33 -45
  691. package/dist/theming/CustomStyle.js.map +1 -0
  692. package/dist/theming/ThemeLoaded.d.ts +5 -0
  693. package/dist/theming/ThemeLoaded.js +8 -16
  694. package/dist/theming/ThemeLoaded.js.map +1 -0
  695. package/dist/theming/ThemeRegistered.d.ts +4 -0
  696. package/dist/theming/ThemeRegistered.js +11 -0
  697. package/dist/theming/ThemeRegistered.js.map +1 -0
  698. package/dist/theming/applyTheme.d.ts +2 -0
  699. package/dist/theming/applyTheme.js +61 -64
  700. package/dist/theming/applyTheme.js.map +1 -0
  701. package/dist/theming/getConstructableStyle.d.ts +9 -0
  702. package/dist/theming/getConstructableStyle.js +13 -18
  703. package/dist/theming/getConstructableStyle.js.map +1 -0
  704. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  705. package/dist/theming/getEffectiveStyle.js +19 -24
  706. package/dist/theming/getEffectiveStyle.js.map +1 -0
  707. package/dist/theming/getStylesString.d.ts +3 -0
  708. package/dist/theming/getStylesString.js +7 -13
  709. package/dist/theming/getStylesString.js.map +1 -0
  710. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  711. package/dist/theming/getThemeDesignerTheme.js +73 -79
  712. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  713. package/dist/thirdparty/_merge.d.ts +2 -0
  714. package/dist/thirdparty/_merge.js +7 -4
  715. package/dist/thirdparty/_merge.js.map +1 -0
  716. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  717. package/dist/thirdparty/isPlainObject.js +11 -10
  718. package/dist/thirdparty/isPlainObject.js.map +1 -0
  719. package/dist/thirdparty/merge.d.ts +2 -0
  720. package/dist/thirdparty/merge.js +4 -8
  721. package/dist/thirdparty/merge.js.map +1 -0
  722. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  723. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  724. package/dist/thirdparty/preact/jsxRuntime.module.js +2 -0
  725. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  726. package/dist/thirdparty/preact/preact.module.js +2 -0
  727. package/dist/types/AnimationMode.d.ts +24 -0
  728. package/dist/types/AnimationMode.js +25 -6
  729. package/dist/types/AnimationMode.js.map +1 -0
  730. package/dist/types/CalendarType.d.ts +28 -0
  731. package/dist/types/CalendarType.js +26 -18
  732. package/dist/types/CalendarType.js.map +1 -0
  733. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  734. package/dist/types/InvisibleMessageMode.js +12 -22
  735. package/dist/types/InvisibleMessageMode.js.map +1 -0
  736. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  737. package/dist/types/ItemNavigationBehavior.js +16 -12
  738. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  739. package/dist/types/MovePlacement.d.ts +20 -0
  740. package/dist/types/MovePlacement.js +22 -0
  741. package/dist/types/MovePlacement.js.map +1 -0
  742. package/dist/types/NavigationMode.d.ts +24 -0
  743. package/dist/types/NavigationMode.js +25 -6
  744. package/dist/types/NavigationMode.js.map +1 -0
  745. package/dist/types/Orientation.d.ts +16 -0
  746. package/dist/types/Orientation.js +18 -0
  747. package/dist/types/Orientation.js.map +1 -0
  748. package/dist/types/ValueState.d.ts +28 -0
  749. package/dist/types/ValueState.js +27 -19
  750. package/dist/types/ValueState.js.map +1 -0
  751. package/dist/types.d.ts +41 -0
  752. package/dist/types.js +2 -0
  753. package/dist/types.js.map +1 -0
  754. package/dist/updateShadowRoot.d.ts +7 -0
  755. package/dist/updateShadowRoot.js +10 -23
  756. package/dist/updateShadowRoot.js.map +1 -0
  757. package/dist/util/AccessibilityTextsHelper.d.ts +17 -0
  758. package/dist/util/AccessibilityTextsHelper.js +199 -0
  759. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  760. package/dist/util/Caret.d.ts +7 -0
  761. package/dist/util/Caret.js +16 -38
  762. package/dist/util/Caret.js.map +1 -0
  763. package/dist/util/ColorConversion.d.ts +31 -0
  764. package/dist/util/ColorConversion.js +329 -347
  765. package/dist/util/ColorConversion.js.map +1 -0
  766. package/dist/util/FetchHelper.d.ts +3 -0
  767. package/dist/util/FetchHelper.js +19 -25
  768. package/dist/util/FetchHelper.js.map +1 -0
  769. package/dist/util/FocusableElements.d.ts +4 -0
  770. package/dist/util/FocusableElements.js +66 -71
  771. package/dist/util/FocusableElements.js.map +1 -0
  772. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  773. package/dist/util/HTMLSanitizer.js +4 -5
  774. package/dist/util/HTMLSanitizer.js.map +1 -0
  775. package/dist/util/InvisibleMessage.d.ts +10 -0
  776. package/dist/util/InvisibleMessage.js +41 -45
  777. package/dist/util/InvisibleMessage.js.map +1 -0
  778. package/dist/util/PopupUtils.d.ts +5 -0
  779. package/dist/util/PopupUtils.js +53 -86
  780. package/dist/util/PopupUtils.js.map +1 -0
  781. package/dist/util/SelectionAssistant.d.ts +12 -0
  782. package/dist/util/SelectionAssistant.js +79 -0
  783. package/dist/util/SelectionAssistant.js.map +1 -0
  784. package/dist/util/SlotsHelper.d.ts +9 -0
  785. package/dist/util/SlotsHelper.js +22 -35
  786. package/dist/util/SlotsHelper.js.map +1 -0
  787. package/dist/util/StringHelper.d.ts +5 -0
  788. package/dist/util/StringHelper.js +32 -21
  789. package/dist/util/StringHelper.js.map +1 -0
  790. package/dist/util/TabbableElements.d.ts +17 -0
  791. package/dist/util/TabbableElements.js +46 -47
  792. package/dist/util/TabbableElements.js.map +1 -0
  793. package/dist/util/arraysAreEqual.d.ts +2 -0
  794. package/dist/util/arraysAreEqual.js +10 -12
  795. package/dist/util/arraysAreEqual.js.map +1 -0
  796. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  797. package/dist/util/clamp.js +3 -2
  798. package/dist/util/clamp.js.map +1 -0
  799. package/dist/util/createLinkInHead.d.ts +7 -0
  800. package/dist/util/createLinkInHead.js +15 -13
  801. package/dist/util/createLinkInHead.js.map +1 -0
  802. package/dist/util/debounce.d.ts +2 -0
  803. package/dist/util/debounce.js +6 -8
  804. package/dist/util/debounce.js.map +1 -0
  805. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  806. package/dist/util/detectNavigatorLanguage.js +13 -11
  807. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  808. package/dist/util/dragAndDrop/DragRegistry.d.ts +33 -0
  809. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  810. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  811. package/dist/util/dragAndDrop/findClosestPosition.d.ts +11 -0
  812. package/dist/util/dragAndDrop/findClosestPosition.js +102 -0
  813. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  814. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  815. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  816. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  817. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  818. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  819. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  820. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  821. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  822. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  823. package/dist/util/escapeRegex.d.ts +8 -0
  824. package/dist/util/escapeRegex.js +8 -7
  825. package/dist/util/escapeRegex.js.map +1 -0
  826. package/dist/util/fixSafariActiveState.d.ts +2 -0
  827. package/dist/util/fixSafariActiveState.js +11 -0
  828. package/dist/util/fixSafariActiveState.js.map +1 -0
  829. package/dist/util/formatMessage.d.ts +2 -0
  830. package/dist/util/formatMessage.js +15 -19
  831. package/dist/util/formatMessage.js.map +1 -0
  832. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  833. package/dist/util/generateHighlightedMarkup.js +26 -27
  834. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  835. package/dist/util/getActiveElement.d.ts +2 -0
  836. package/dist/util/getActiveElement.js +6 -8
  837. package/dist/util/getActiveElement.js.map +1 -0
  838. package/dist/util/getClassCopy.d.ts +439 -0
  839. package/dist/util/getClassCopy.js +7 -7
  840. package/dist/util/getClassCopy.js.map +1 -0
  841. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  842. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  843. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  844. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  845. package/dist/util/getEffectiveContentDensity.js +2 -3
  846. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  847. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  848. package/dist/util/getEffectiveScrollbarStyle.js +34 -0
  849. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  850. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  851. package/dist/util/getFastNavigationGroups.js +51 -0
  852. package/dist/util/getFastNavigationGroups.js.map +1 -0
  853. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  854. package/dist/util/getFileExtension.js +9 -11
  855. package/dist/util/getFileExtension.js.map +1 -0
  856. package/dist/util/getNormalizedTarget.d.ts +7 -0
  857. package/dist/util/getNormalizedTarget.js +14 -0
  858. package/dist/util/getNormalizedTarget.js.map +1 -0
  859. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  860. package/dist/util/getSingletonElementInstance.js +17 -11
  861. package/dist/util/getSingletonElementInstance.js.map +1 -0
  862. package/dist/util/hash2str.d.ts +1 -0
  863. package/dist/util/hash2str.js +14 -0
  864. package/dist/util/hash2str.js.map +1 -0
  865. package/dist/util/isElementClickable.d.ts +2 -0
  866. package/dist/util/isElementClickable.js +16 -0
  867. package/dist/util/isElementClickable.js.map +1 -0
  868. package/dist/util/isElementHidden.d.ts +2 -0
  869. package/dist/util/isElementHidden.js +8 -0
  870. package/dist/util/isElementHidden.js.map +1 -0
  871. package/dist/util/isElementInView.d.ts +6 -0
  872. package/dist/util/isElementInView.js +6 -9
  873. package/dist/util/isElementInView.js.map +1 -0
  874. package/dist/util/isElementTabbable.d.ts +9 -0
  875. package/dist/util/isElementTabbable.js +30 -0
  876. package/dist/util/isElementTabbable.js.map +1 -0
  877. package/dist/util/isValidPropertyName.d.ts +8 -0
  878. package/dist/util/isValidPropertyName.js +16 -17
  879. package/dist/util/isValidPropertyName.js.map +1 -0
  880. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  881. package/dist/util/toLowercaseEnumValue.js +4 -0
  882. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  883. package/dist/util/whenDOMReady.d.ts +2 -0
  884. package/dist/util/whenDOMReady.js +11 -10
  885. package/dist/util/whenDOMReady.js.map +1 -0
  886. package/dist/util/willShowContent.d.ts +2 -0
  887. package/dist/util/willShowContent.js +7 -0
  888. package/dist/util/willShowContent.js.map +1 -0
  889. package/dist/validateThemeRoot.d.ts +2 -0
  890. package/dist/validateThemeRoot.js +49 -0
  891. package/dist/validateThemeRoot.js.map +1 -0
  892. package/dist/vscode.html-custom-data.json +22 -0
  893. package/index.js +205 -1
  894. package/package-scripts.cjs +74 -0
  895. package/package.json +34 -11
  896. package/src/css/BusyIndicator.css +80 -0
  897. package/src/css/FontFace.css +67 -16
  898. package/src/css/SystemCSSVars.css +0 -8
  899. package/src/thirdparty/preact/jsxRuntime.module.js +2 -0
  900. package/src/thirdparty/preact/preact.module.js +2 -0
  901. package/src/thirdparty/preact/version.txt +1 -0
  902. package/tsconfig.json +20 -0
  903. package/.eslintignore +0 -14
  904. package/bundle.esm.js +0 -58
  905. package/config/.eslintrc.js +0 -3
  906. package/config/rollup.config.js +0 -1
  907. package/config/wdio.conf.js +0 -1
  908. package/dist/CSP.js +0 -59
  909. package/dist/RenderScheduler.js +0 -44
  910. package/dist/StaticArea.js +0 -3
  911. package/dist/StaticAreaItem.js +0 -101
  912. package/dist/animations/config.js +0 -5
  913. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  914. package/dist/config/RTL.js +0 -31
  915. package/dist/isLegacyBrowser.js +0 -3
  916. package/dist/resources/bundle.esm.js +0 -37
  917. package/dist/resources/bundle.esm.js.map +0 -1
  918. package/dist/test-resources/assets/Themes.js +0 -17
  919. package/dist/test-resources/elements/Child.js +0 -35
  920. package/dist/test-resources/elements/Generic.js +0 -84
  921. package/dist/test-resources/elements/GenericExt.js +0 -26
  922. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  923. package/dist/test-resources/elements/Parent.js +0 -41
  924. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  925. package/dist/test-resources/pages/AllTestElements.html +0 -42
  926. package/dist/test-resources/pages/Configuration.html +0 -18
  927. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  928. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  929. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  930. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  931. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  932. package/dist/test-resources/pages/i18n.html +0 -33
  933. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  934. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  935. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  936. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  937. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  938. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  939. package/dist/test-resources/specs/Theming.spec.js +0 -33
  940. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  941. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  942. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  943. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  944. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  945. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  946. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  947. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  948. package/dist/theming/getEffectiveLinksHrefs.js +0 -20
  949. package/dist/theming/preloadLinks.js +0 -23
  950. package/dist/types/CSSColor.js +0 -9
  951. package/dist/types/CSSSize.js +0 -9
  952. package/dist/types/DataType.js +0 -37
  953. package/dist/types/Float.js +0 -14
  954. package/dist/types/Integer.js +0 -13
  955. package/dist/types/PopupState.js +0 -37
  956. package/dist/util/AriaLabelHelper.js +0 -41
  957. package/dist/util/createStyleInHead.js +0 -18
  958. package/dist/util/findNodeOwner.js +0 -35
  959. package/dist/util/isDescendantOf.js +0 -15
  960. package/dist/util/isNodeClickable.js +0 -19
  961. package/dist/util/isNodeHidden.js +0 -9
  962. package/dist/util/isNodeTabbable.js +0 -28
  963. package/dist/util/setToArray.js +0 -10
  964. package/hash.txt +0 -1
  965. package/lib/generate-asset-parameters/index.js +0 -21
  966. package/lib/generate-styles/index.js +0 -18
  967. package/lib/generate-version-info/index.js +0 -27
  968. package/package-scripts.js +0 -62
  969. package/src/AssetRegistry.js +0 -11
  970. package/src/Boot.js +0 -59
  971. package/src/CSP.js +0 -59
  972. package/src/CustomElementsRegistry.js +0 -95
  973. package/src/CustomElementsScope.js +0 -108
  974. package/src/DOMObserver.js +0 -65
  975. package/src/Device.js +0 -116
  976. package/src/EventProvider.js +0 -85
  977. package/src/FeaturesRegistry.js +0 -14
  978. package/src/FontFace.js +0 -30
  979. package/src/InitialConfiguration.js +0 -166
  980. package/src/Keys.js +0 -295
  981. package/src/ManagedStyles.js +0 -83
  982. package/src/MediaRange.js +0 -109
  983. package/src/PropertiesFileFormat.js +0 -95
  984. package/src/Render.js +0 -175
  985. package/src/RenderQueue.js +0 -66
  986. package/src/RenderScheduler.js +0 -44
  987. package/src/Runtimes.js +0 -107
  988. package/src/StaticArea.js +0 -3
  989. package/src/StaticAreaItem.js +0 -101
  990. package/src/SystemCSSVars.js +0 -10
  991. package/src/UI5Element.js +0 -1023
  992. package/src/UI5ElementMetadata.js +0 -327
  993. package/src/animations/AnimationQueue.js +0 -42
  994. package/src/animations/animate.js +0 -53
  995. package/src/animations/config.js +0 -5
  996. package/src/animations/scroll.js +0 -28
  997. package/src/animations/slideDown.js +0 -79
  998. package/src/animations/slideUp.js +0 -71
  999. package/src/asset-registries/Icons.js +0 -139
  1000. package/src/asset-registries/Illustrations.js +0 -30
  1001. package/src/asset-registries/LocaleData.js +0 -164
  1002. package/src/asset-registries/Themes.js +0 -78
  1003. package/src/asset-registries/i18n.js +0 -121
  1004. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  1005. package/src/config/AnimationMode.js +0 -23
  1006. package/src/config/CalendarType.js +0 -18
  1007. package/src/config/FormatSettings.js +0 -13
  1008. package/src/config/Language.js +0 -68
  1009. package/src/config/NoConflict.js +0 -51
  1010. package/src/config/RTL.js +0 -31
  1011. package/src/config/Theme.js +0 -53
  1012. package/src/delegate/ItemNavigation.js +0 -351
  1013. package/src/delegate/ResizeHandler.js +0 -106
  1014. package/src/delegate/ScrollEnablement.js +0 -188
  1015. package/src/features/F6Navigation.js +0 -108
  1016. package/src/features/OpenUI5Support.js +0 -125
  1017. package/src/getSharedResource.js +0 -30
  1018. package/src/i18nBundle.js +0 -86
  1019. package/src/isLegacyBrowser.js +0 -3
  1020. package/src/locale/Locale.js +0 -91
  1021. package/src/locale/RTLAwareRegistry.js +0 -14
  1022. package/src/locale/applyDirection.js +0 -17
  1023. package/src/locale/directionChange.js +0 -32
  1024. package/src/locale/getEffectiveDir.js +0 -28
  1025. package/src/locale/getLocale.js +0 -41
  1026. package/src/locale/languageChange.js +0 -22
  1027. package/src/locale/nextFallbackLocale.js +0 -28
  1028. package/src/locale/normalizeLocale.js +0 -54
  1029. package/src/renderer/LitRenderer.js +0 -34
  1030. package/src/renderer/directives/style-map.js +0 -72
  1031. package/src/renderer/executeTemplate.js +0 -17
  1032. package/src/theming/CustomStyle.js +0 -60
  1033. package/src/theming/ThemeLoaded.js +0 -22
  1034. package/src/theming/applyTheme.js +0 -79
  1035. package/src/theming/getConstructableStyle.js +0 -30
  1036. package/src/theming/getEffectiveLinksHrefs.js +0 -20
  1037. package/src/theming/getEffectiveStyle.js +0 -30
  1038. package/src/theming/getStylesString.js +0 -15
  1039. package/src/theming/getThemeDesignerTheme.js +0 -87
  1040. package/src/theming/preloadLinks.js +0 -23
  1041. package/src/thirdparty/_merge.js +0 -32
  1042. package/src/thirdparty/isPlainObject.js +0 -18
  1043. package/src/thirdparty/merge.js +0 -10
  1044. package/src/types/AnimationMode.js +0 -7
  1045. package/src/types/CSSColor.js +0 -9
  1046. package/src/types/CSSSize.js +0 -9
  1047. package/src/types/CalendarType.js +0 -22
  1048. package/src/types/DataType.js +0 -37
  1049. package/src/types/Float.js +0 -14
  1050. package/src/types/Integer.js +0 -13
  1051. package/src/types/InvisibleMessageMode.js +0 -30
  1052. package/src/types/ItemNavigationBehavior.js +0 -16
  1053. package/src/types/NavigationMode.js +0 -7
  1054. package/src/types/PopupState.js +0 -37
  1055. package/src/types/ValueState.js +0 -22
  1056. package/src/updateShadowRoot.js +0 -30
  1057. package/src/util/AriaLabelHelper.js +0 -41
  1058. package/src/util/Caret.js +0 -45
  1059. package/src/util/ColorConversion.js +0 -370
  1060. package/src/util/FetchHelper.js +0 -31
  1061. package/src/util/FocusableElements.js +0 -79
  1062. package/src/util/InvisibleMessage.js +0 -60
  1063. package/src/util/PopupUtils.js +0 -93
  1064. package/src/util/SlotsHelper.js +0 -43
  1065. package/src/util/StringHelper.js +0 -26
  1066. package/src/util/TabbableElements.js +0 -51
  1067. package/src/util/arraysAreEqual.js +0 -15
  1068. package/src/util/createLinkInHead.js +0 -19
  1069. package/src/util/createStyleInHead.js +0 -18
  1070. package/src/util/debounce.js +0 -17
  1071. package/src/util/detectNavigatorLanguage.js +0 -13
  1072. package/src/util/escapeRegex.js +0 -10
  1073. package/src/util/findNodeOwner.js +0 -35
  1074. package/src/util/formatMessage.js +0 -23
  1075. package/src/util/generateHighlightedMarkup.js +0 -42
  1076. package/src/util/getActiveElement.js +0 -11
  1077. package/src/util/getClassCopy.js +0 -10
  1078. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  1079. package/src/util/getEffectiveContentDensity.js +0 -5
  1080. package/src/util/getSingletonElementInstance.js +0 -13
  1081. package/src/util/isDescendantOf.js +0 -15
  1082. package/src/util/isElementInView.js +0 -15
  1083. package/src/util/isNodeClickable.js +0 -19
  1084. package/src/util/isNodeHidden.js +0 -9
  1085. package/src/util/isNodeTabbable.js +0 -28
  1086. package/src/util/isValidPropertyName.js +0 -29
  1087. package/src/util/setToArray.js +0 -10
  1088. package/src/util/whenDOMReady.js +0 -13
  1089. package/used-modules.txt +0 -10
@@ -1,327 +1,253 @@
1
- import DataType from "./types/DataType.js";
2
- import isDescendantOf from "./util/isDescendantOf.js";
3
- import { camelToKebabCase } from "./util/StringHelper.js";
4
- import { getSlottedElements } from "./util/SlotsHelper.js";
5
- import { getEffectiveScopingSuffixForTag } from "./CustomElementsScope.js";
6
-
1
+ import { camelToKebabCase, kebabToCamelCase } from "./util/StringHelper.js";
2
+ import { getSlottedNodes } from "./util/SlotsHelper.js";
3
+ import { getEffectiveScopingSuffixForTag } from "./CustomElementsScopeUtils.js";
7
4
  /**
8
- *
9
5
  * @class
10
6
  * @public
11
7
  */
12
8
  class UI5ElementMetadata {
13
- constructor(metadata) {
14
- this.metadata = metadata;
15
- }
16
-
17
- getInitialState() {
18
- if (Object.prototype.hasOwnProperty.call(this, "_initialState")) {
19
- return this._initialState;
20
- }
21
-
22
- const initialState = {};
23
- const slotsAreManaged = this.slotsAreManaged();
24
-
25
- // Initialize properties
26
- const props = this.getProperties();
27
- for (const propName in props) { // eslint-disable-line
28
- const propType = props[propName].type;
29
- const propDefaultValue = props[propName].defaultValue;
30
-
31
- if (propType === Boolean) {
32
- initialState[propName] = false;
33
-
34
- if (propDefaultValue !== undefined) {
35
- console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default"); // eslint-disable-line
36
- }
37
- } else if (props[propName].multiple) {
38
- initialState[propName] = [];
39
- } else if (propType === Object) {
40
- initialState[propName] = "defaultValue" in props[propName] ? props[propName].defaultValue : {};
41
- } else if (propType === String) {
42
- initialState[propName] = "defaultValue" in props[propName] ? props[propName].defaultValue : "";
43
- } else {
44
- initialState[propName] = propDefaultValue;
45
- }
46
- }
47
-
48
- // Initialize slots
49
- if (slotsAreManaged) {
50
- const slots = this.getSlots();
51
- for (const [slotName, slotData] of Object.entries(slots)) { // eslint-disable-line
52
- const propertyName = slotData.propertyName || slotName;
53
- initialState[propertyName] = [];
54
- }
55
- }
56
-
57
- this._initialState = initialState;
58
- return initialState;
59
- }
60
-
61
- /**
62
- * Only intended for use by UI5Element.js
63
- * @protected
64
- */
65
- static validatePropertyValue(value, propData) {
66
- const isMultiple = propData.multiple;
67
- if (isMultiple) {
68
- return value.map(propValue => validateSingleProperty(propValue, propData));
69
- }
70
- return validateSingleProperty(value, propData);
71
- }
72
-
73
- /**
74
- * Only intended for use by UI5Element.js
75
- * @protected
76
- */
77
- static validateSlotValue(value, slotData) {
78
- return validateSingleSlot(value, slotData);
79
- }
80
-
81
- /**
82
- * Returns the tag of the UI5 Element without the scope
83
- * @public
84
- */
85
- getPureTag() {
86
- return this.metadata.tag;
87
- }
88
-
89
- /**
90
- * Returns the tag of the UI5 Element
91
- * @public
92
- */
93
- getTag() {
94
- const pureTag = this.metadata.tag;
95
- const suffix = getEffectiveScopingSuffixForTag(pureTag);
96
- if (!suffix) {
97
- return pureTag;
98
- }
99
-
100
- return `${pureTag}-${suffix}`;
101
- }
102
-
103
- /**
104
- * Used to get the tag we need to register for backwards compatibility
105
- * @public
106
- */
107
- getAltTag() {
108
- const pureAltTag = this.metadata.altTag;
109
- if (!pureAltTag) {
110
- return;
111
- }
112
-
113
- const suffix = getEffectiveScopingSuffixForTag(pureAltTag);
114
- if (!suffix) {
115
- return pureAltTag;
116
- }
117
-
118
- return `${pureAltTag}-${suffix}`;
119
- }
120
-
121
- /**
122
- * Determines whether a property should have an attribute counterpart
123
- * @public
124
- * @param propName
125
- * @returns {boolean}
126
- */
127
- hasAttribute(propName) {
128
- const propData = this.getProperties()[propName];
129
- return propData.type !== Object && !propData.noAttribute && !propData.multiple;
130
- }
131
-
132
- /**
133
- * Returns an array with the properties of the UI5 Element (in camelCase)
134
- * @public
135
- * @returns {string[]}
136
- */
137
- getPropertiesList() {
138
- return Object.keys(this.getProperties());
139
- }
140
-
141
- /**
142
- * Returns an array with the attributes of the UI5 Element (in kebab-case)
143
- * @public
144
- * @returns {string[]}
145
- */
146
- getAttributesList() {
147
- return this.getPropertiesList().filter(this.hasAttribute, this).map(camelToKebabCase);
148
- }
149
-
150
- /**
151
- * Returns an object with key-value pairs of slots and their metadata definitions
152
- * @public
153
- */
154
- getSlots() {
155
- return this.metadata.slots || {};
156
- }
157
-
158
- /**
159
- * Determines whether this UI5 Element has a default slot of type Node, therefore can slot text
160
- * @returns {boolean}
161
- */
162
- canSlotText() {
163
- const defaultSlot = this.getSlots().default;
164
- return defaultSlot && defaultSlot.type === Node;
165
- }
166
-
167
- /**
168
- * Determines whether this UI5 Element supports any slots
169
- * @public
170
- */
171
- hasSlots() {
172
- return !!Object.entries(this.getSlots()).length;
173
- }
174
-
175
- /**
176
- * Determines whether this UI5 Element supports any slots with "individualSlots: true"
177
- * @public
178
- */
179
- hasIndividualSlots() {
180
- return this.slotsAreManaged() && Object.entries(this.getSlots()).some(([_slotName, slotData]) => slotData.individualSlots);
181
- }
182
-
183
- /**
184
- * Determines whether this UI5 Element needs to invalidate if children are added/removed/changed
185
- * @public
186
- */
187
- slotsAreManaged() {
188
- return !!this.metadata.managedSlots;
189
- }
190
-
191
- /**
192
- * Determines whether this control supports F6 fast navigation
193
- * @public
194
- */
195
- supportsF6FastNavigation() {
196
- return !!this.metadata.fastNavigation;
197
- }
198
-
199
- /**
200
- * Returns an object with key-value pairs of properties and their metadata definitions
201
- * @public
202
- */
203
- getProperties() {
204
- return this.metadata.properties || {};
205
- }
206
-
207
- /**
208
- * Returns an object with key-value pairs of events and their metadata definitions
209
- * @public
210
- */
211
- getEvents() {
212
- return this.metadata.events || {};
213
- }
214
-
215
- /**
216
- * Determines whether this UI5 Element has any translatable texts (needs to be invalidated upon language change)
217
- * @returns {boolean}
218
- */
219
- isLanguageAware() {
220
- return !!this.metadata.languageAware;
221
- }
222
-
223
- /**
224
- * Determines whether this UI5 Element has any theme dependant carachteristics.
225
- * @returns {boolean}
226
- */
227
- isThemeAware() {
228
- return !!this.metadata.themeAware;
229
- }
230
-
231
- /**
232
- * Matches a changed entity (property/slot) with the given name against the "invalidateOnChildChange" configuration
233
- * and determines whether this should cause and invalidation
234
- *
235
- * @param slotName the name of the slot in which a child was changed
236
- * @param type the type of change in the child: "property" or "slot"
237
- * @param name the name of the property/slot that changed
238
- * @returns {boolean}
239
- */
240
- shouldInvalidateOnChildChange(slotName, type, name) {
241
- const config = this.getSlots()[slotName].invalidateOnChildChange;
242
-
243
- // invalidateOnChildChange was not set in the slot metadata - by default child changes do not affect the component
244
- if (config === undefined) {
245
- return false;
246
- }
247
-
248
- // The simple format was used: invalidateOnChildChange: true/false;
249
- if (typeof config === "boolean") {
250
- return config;
251
- }
252
-
253
- // The complex format was used: invalidateOnChildChange: { properties, slots }
254
- if (typeof config === "object") {
255
- // A property was changed
256
- if (type === "property") {
257
- // The config object does not have a properties field
258
- if (config.properties === undefined) {
259
- return false;
260
- }
261
-
262
- // The config object has the short format: properties: true/false
263
- if (typeof config.properties === "boolean") {
264
- return config.properties;
265
- }
266
-
267
- // The config object has the complex format: properties: [...]
268
- if (Array.isArray(config.properties)) {
269
- return config.properties.includes(name);
270
- }
271
-
272
- throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected");
273
- }
274
-
275
- // A slot was changed
276
- if (type === "slot") {
277
- // The config object does not have a slots field
278
- if (config.slots === undefined) {
279
- return false;
280
- }
281
-
282
- // The config object has the short format: slots: true/false
283
- if (typeof config.slots === "boolean") {
284
- return config.slots;
285
- }
286
-
287
- // The config object has the complex format: slots: [...]
288
- if (Array.isArray(config.slots)) {
289
- return config.slots.includes(name);
290
- }
291
-
292
- throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected");
293
- }
294
- }
295
-
296
- throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected");
297
- }
9
+ constructor(metadata) {
10
+ this.metadata = metadata;
11
+ }
12
+ getInitialState() {
13
+ if (Object.prototype.hasOwnProperty.call(this, "_initialState")) {
14
+ return this._initialState;
15
+ }
16
+ const initialState = {};
17
+ const slotsAreManaged = this.slotsAreManaged();
18
+ // Initialize slots
19
+ if (slotsAreManaged) {
20
+ const slots = this.getSlots();
21
+ for (const [slotName, slotData] of Object.entries(slots)) { // eslint-disable-line
22
+ const propertyName = slotData.propertyName || slotName;
23
+ initialState[propertyName] = [];
24
+ initialState[kebabToCamelCase(propertyName)] = initialState[propertyName];
25
+ }
26
+ }
27
+ this._initialState = initialState;
28
+ return initialState;
29
+ }
30
+ /**
31
+ * Validates the slot's value and returns it if correct
32
+ * or throws an exception if not.
33
+ * **Note:** Only intended for use by UI5Element.js
34
+ * @public
35
+ */
36
+ static validateSlotValue(value, slotData) {
37
+ return validateSingleSlot(value, slotData);
38
+ }
39
+ /**
40
+ * Returns the tag of the UI5 Element without the scope
41
+ * @public
42
+ */
43
+ getPureTag() {
44
+ return this.metadata.tag || "";
45
+ }
46
+ /**
47
+ * Returns the tag of the UI5 Element without the scope
48
+ * @private
49
+ */
50
+ getFeatures() {
51
+ return this.metadata.features || [];
52
+ }
53
+ /**
54
+ * Returns the tag of the UI5 Element
55
+ * @public
56
+ */
57
+ getTag() {
58
+ const pureTag = this.metadata.tag;
59
+ if (!pureTag) {
60
+ return "";
61
+ }
62
+ const suffix = getEffectiveScopingSuffixForTag(pureTag);
63
+ if (!suffix) {
64
+ return pureTag;
65
+ }
66
+ return `${pureTag}-${suffix}`;
67
+ }
68
+ /**
69
+ * Determines whether a property should have an attribute counterpart
70
+ * @public
71
+ * @param propName
72
+ */
73
+ hasAttribute(propName) {
74
+ const propData = this.getProperties()[propName];
75
+ return propData.type !== Object && propData.type !== Array && !propData.noAttribute;
76
+ }
77
+ /**
78
+ * Returns an array with the properties of the UI5 Element (in camelCase)
79
+ * @public
80
+ */
81
+ getPropertiesList() {
82
+ return Object.keys(this.getProperties());
83
+ }
84
+ /**
85
+ * Returns an array with the attributes of the UI5 Element (in kebab-case)
86
+ * @public
87
+ */
88
+ getAttributesList() {
89
+ return this.getPropertiesList().filter(this.hasAttribute.bind(this)).map(camelToKebabCase);
90
+ }
91
+ /**
92
+ * Determines whether this UI5 Element has a default slot of type Node, therefore can slot text
93
+ */
94
+ canSlotText() {
95
+ return (this.getSlots().default)?.type === Node;
96
+ }
97
+ /**
98
+ * Determines whether this UI5 Element supports any slots
99
+ * @public
100
+ */
101
+ hasSlots() {
102
+ return !!Object.entries(this.getSlots()).length;
103
+ }
104
+ /**
105
+ * Determines whether this UI5 Element supports any slots with "individualSlots: true"
106
+ * @public
107
+ */
108
+ hasIndividualSlots() {
109
+ return this.slotsAreManaged() && Object.values(this.getSlots()).some(slotData => slotData.individualSlots);
110
+ }
111
+ /**
112
+ * Determines whether this UI5 Element needs to invalidate if children are added/removed/changed
113
+ * @public
114
+ */
115
+ slotsAreManaged() {
116
+ return !!this.metadata.managedSlots;
117
+ }
118
+ /**
119
+ * Determines whether this control supports F6 fast navigation
120
+ * @public
121
+ */
122
+ supportsF6FastNavigation() {
123
+ return !!this.metadata.fastNavigation;
124
+ }
125
+ /**
126
+ * Returns an object with key-value pairs of properties and their metadata definitions
127
+ * @public
128
+ */
129
+ getProperties() {
130
+ if (!this.metadata.properties) {
131
+ this.metadata.properties = {};
132
+ }
133
+ return this.metadata.properties;
134
+ }
135
+ /**
136
+ * Returns an object with key-value pairs of events and their metadata definitions
137
+ * @public
138
+ */
139
+ getEvents() {
140
+ if (!this.metadata.events) {
141
+ this.metadata.events = {};
142
+ }
143
+ return this.metadata.events;
144
+ }
145
+ /**
146
+ * Returns an object with key-value pairs of slots and their metadata definitions
147
+ * @public
148
+ */
149
+ getSlots() {
150
+ if (!this.metadata.slots) {
151
+ this.metadata.slots = {};
152
+ }
153
+ return this.metadata.slots;
154
+ }
155
+ /**
156
+ * Determines whether this UI5 Element has any translatable texts (needs to be invalidated upon language change)
157
+ */
158
+ isLanguageAware() {
159
+ return !!this.metadata.languageAware;
160
+ }
161
+ /**
162
+ * Determines whether this UI5 Element has any theme dependant carachteristics.
163
+ */
164
+ isThemeAware() {
165
+ return !!this.metadata.themeAware;
166
+ }
167
+ /**
168
+ * Determines whether this UI5 Element needs CLDR assets to be fetched to work correctly
169
+ */
170
+ needsCLDR() {
171
+ return !!this.metadata.cldr;
172
+ }
173
+ getShadowRootOptions() {
174
+ return this.metadata.shadowRootOptions || {};
175
+ }
176
+ /**
177
+ * Determines whether this UI5 Element has any theme dependant carachteristics.
178
+ */
179
+ isFormAssociated() {
180
+ return !!this.metadata.formAssociated;
181
+ }
182
+ /**
183
+ * Matches a changed entity (property/slot) with the given name against the "invalidateOnChildChange" configuration
184
+ * and determines whether this should cause and invalidation
185
+ *
186
+ * @param slotName the name of the slot in which a child was changed
187
+ * @param type the type of change in the child: "property" or "slot"
188
+ * @param name the name of the property/slot that changed
189
+ */
190
+ shouldInvalidateOnChildChange(slotName, type, name) {
191
+ const config = this.getSlots()[slotName].invalidateOnChildChange;
192
+ // invalidateOnChildChange was not set in the slot metadata - by default child changes do not affect the component
193
+ if (config === undefined) {
194
+ return false;
195
+ }
196
+ // The simple format was used: invalidateOnChildChange: true/false;
197
+ if (typeof config === "boolean") {
198
+ return config;
199
+ }
200
+ // The complex format was used: invalidateOnChildChange: { properties, slots }
201
+ if (typeof config === "object") {
202
+ // A property was changed
203
+ if (type === "property") {
204
+ // The config object does not have a properties field
205
+ if (config.properties === undefined) {
206
+ return false;
207
+ }
208
+ // The config object has the short format: properties: true/false
209
+ if (typeof config.properties === "boolean") {
210
+ return config.properties;
211
+ }
212
+ // The config object has the complex format: properties: [...]
213
+ if (Array.isArray(config.properties)) {
214
+ return config.properties.includes(name);
215
+ }
216
+ throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected");
217
+ }
218
+ // A slot was changed
219
+ if (type === "slot") {
220
+ // The config object does not have a slots field
221
+ if (config.slots === undefined) {
222
+ return false;
223
+ }
224
+ // The config object has the short format: slots: true/false
225
+ if (typeof config.slots === "boolean") {
226
+ return config.slots;
227
+ }
228
+ // The config object has the complex format: slots: [...]
229
+ if (Array.isArray(config.slots)) {
230
+ return config.slots.includes(name);
231
+ }
232
+ throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected");
233
+ }
234
+ }
235
+ throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected");
236
+ }
237
+ getI18n() {
238
+ if (!this.metadata.i18n) {
239
+ this.metadata.i18n = {};
240
+ }
241
+ return this.metadata.i18n;
242
+ }
298
243
  }
299
-
300
- const validateSingleProperty = (value, propData) => {
301
- const propertyType = propData.type;
302
-
303
- if (propertyType === Boolean) {
304
- return typeof value === "boolean" ? value : false;
305
- }
306
- if (propertyType === String) {
307
- return (typeof value === "string" || typeof value === "undefined" || value === null) ? value : value.toString();
308
- }
309
- if (propertyType === Object) {
310
- return typeof value === "object" ? value : propData.defaultValue;
311
- }
312
- if (isDescendantOf(propertyType, DataType)) {
313
- return propertyType.isValid(value) ? value : propData.defaultValue;
314
- }
315
- };
316
-
317
244
  const validateSingleSlot = (value, slotData) => {
318
- value && getSlottedElements(value).forEach(el => {
319
- if (!(el instanceof slotData.type)) {
320
- throw new Error(`${el} is not of type ${slotData.type}`);
321
- }
322
- });
323
-
324
- return value;
245
+ value && getSlottedNodes(value).forEach(el => {
246
+ if (!(el instanceof slotData.type)) {
247
+ throw new Error(`The element is not of type ${slotData.type.toString()}`);
248
+ }
249
+ });
250
+ return value;
325
251
  };
326
-
327
252
  export default UI5ElementMetadata;
253
+ //# sourceMappingURL=UI5ElementMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UI5ElementMetadata.js","sourceRoot":"","sources":["../src/UI5ElementMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelToKebabCase, kebabToCamelCase } from \"./util/StringHelper.js\";\nimport { getSlottedNodes } from \"./util/SlotsHelper.js\";\nimport { getEffectiveScopingSuffixForTag } from \"./CustomElementsScopeUtils.js\";\nimport type UI5Element from \"./UI5Element.js\";\n\ntype SlotInvalidation = {\n\tproperties: boolean | Array<string>,\n\tslots: boolean | Array<string>,\n}\n\ntype Slot = {\n\ttype: typeof Node | typeof HTMLElement,\n\tdefault?: boolean,\n\tpropertyName?: string,\n\tindividualSlots?: boolean,\n\tinvalidateOnChildChange?: boolean | SlotInvalidation,\n};\n\ntype SlotValue = Node;\n\ntype Property = {\n\ttype?: BooleanConstructor | StringConstructor | ObjectConstructor | NumberConstructor | ArrayConstructor,\n\tnoAttribute?: boolean,\n\tconverter?: {\n\t\tfromAttribute(value: string | null, type: unknown): string | number | boolean | null | undefined,\n\t\ttoAttribute(value: unknown, type: unknown): string | null,\n\t}\n}\n\ntype PropertyValue = boolean | number | string | object | undefined | null;\n\ntype EventData = Record<string, { detail?: Record<string, object>, cancelable?: boolean, bubbles?: boolean }>;\n\ntype I18nBundleAccessorValue = {\n\tbundleName: string,\n\ttarget: typeof UI5Element\n};\n\ntype I18nBundleAccessors = Record<string, I18nBundleAccessorValue>;\n\ntype Metadata = {\n\ttag?: string,\n\tmanagedSlots?: boolean,\n\tproperties?: Record<string, Property>,\n\tslots?: Record<string, Slot>,\n\tevents?: EventData,\n\tfastNavigation?: boolean,\n\tthemeAware?: boolean,\n\tlanguageAware?: boolean,\n\tcldr?: boolean,\n\tformAssociated?: boolean,\n\tshadowRootOptions?: Partial<ShadowRootInit>\n\tfeatures?: Array<string>\n\ti18n?: I18nBundleAccessors\n};\n\ntype State = Record<string, PropertyValue | Array<SlotValue>>;\n\n/**\n * @class\n * @public\n */\nclass UI5ElementMetadata {\n\tmetadata: Metadata;\n\t_initialState: State | undefined;\n\n\tconstructor(metadata: Metadata) {\n\t\tthis.metadata = metadata;\n\t}\n\n\tgetInitialState() {\n\t\tif (Object.prototype.hasOwnProperty.call(this, \"_initialState\")) {\n\t\t\treturn this._initialState!;\n\t\t}\n\t\tconst initialState: State = {};\n\t\tconst slotsAreManaged = this.slotsAreManaged();\n\n\t\t// Initialize slots\n\t\tif (slotsAreManaged) {\n\t\t\tconst slots = this.getSlots();\n\t\t\tfor (const [slotName, slotData] of Object.entries<Slot>(slots)) { // eslint-disable-line\n\t\t\t\tconst propertyName = slotData.propertyName || slotName;\n\t\t\t\tinitialState[propertyName] = [];\n\t\t\t\tinitialState[kebabToCamelCase(propertyName)] = initialState[propertyName];\n\t\t\t}\n\t\t}\n\n\t\tthis._initialState = initialState;\n\t\treturn initialState;\n\t}\n\n\t/**\n\t * Validates the slot's value and returns it if correct\n\t * or throws an exception if not.\n\t * **Note:** Only intended for use by UI5Element.js\n\t * @public\n\t */\n\tstatic validateSlotValue(value: Node, slotData: Slot): Node {\n\t\treturn validateSingleSlot(value, slotData);\n\t}\n\n\t/**\n\t * Returns the tag of the UI5 Element without the scope\n\t * @public\n\t */\n\tgetPureTag(): string {\n\t\treturn this.metadata.tag || \"\";\n\t}\n\n\t/**\n\t * Returns the tag of the UI5 Element without the scope\n\t * @private\n\t */\n\tgetFeatures(): Array<string> {\n\t\treturn this.metadata.features || [];\n\t}\n\n\t/**\n\t * Returns the tag of the UI5 Element\n\t * @public\n\t */\n\tgetTag(): string {\n\t\tconst pureTag = this.metadata.tag;\n\n\t\tif (!pureTag) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst suffix = getEffectiveScopingSuffixForTag(pureTag);\n\t\tif (!suffix) {\n\t\t\treturn pureTag;\n\t\t}\n\n\t\treturn `${pureTag}-${suffix}`;\n\t}\n\n\t/**\n\t * Determines whether a property should have an attribute counterpart\n\t * @public\n\t * @param propName\n\t */\n\thasAttribute(propName: string): boolean {\n\t\tconst propData = this.getProperties()[propName];\n\t\treturn propData.type !== Object && propData.type !== Array && !propData.noAttribute;\n\t}\n\n\t/**\n\t * Returns an array with the properties of the UI5 Element (in camelCase)\n\t * @public\n\t */\n\tgetPropertiesList(): Array<string> {\n\t\treturn Object.keys(this.getProperties());\n\t}\n\n\t/**\n\t * Returns an array with the attributes of the UI5 Element (in kebab-case)\n\t * @public\n\t */\n\tgetAttributesList(): Array<string> {\n\t\treturn this.getPropertiesList().filter(this.hasAttribute.bind(this)).map(camelToKebabCase);\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element has a default slot of type Node, therefore can slot text\n\t */\n\tcanSlotText() {\n\t\treturn (this.getSlots().default)?.type === Node;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element supports any slots\n\t * @public\n\t */\n\thasSlots(): boolean {\n\t\treturn !!Object.entries(this.getSlots()).length;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element supports any slots with \"individualSlots: true\"\n\t * @public\n\t */\n\thasIndividualSlots(): boolean {\n\t\treturn this.slotsAreManaged() && Object.values(this.getSlots()).some(slotData => slotData.individualSlots);\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element needs to invalidate if children are added/removed/changed\n\t * @public\n\t */\n\tslotsAreManaged(): boolean {\n\t\treturn !!this.metadata.managedSlots;\n\t}\n\n\t/**\n\t * Determines whether this control supports F6 fast navigation\n\t * @public\n\t */\n\tsupportsF6FastNavigation(): boolean {\n\t\treturn !!this.metadata.fastNavigation;\n\t}\n\n\t/**\n\t * Returns an object with key-value pairs of properties and their metadata definitions\n\t * @public\n\t */\n\tgetProperties(): Record<string, Property> {\n\t\tif (!this.metadata.properties) {\n\t\t\tthis.metadata.properties = {};\n\t\t}\n\t\treturn this.metadata.properties;\n\t}\n\n\t/**\n\t * Returns an object with key-value pairs of events and their metadata definitions\n\t * @public\n\t */\n\tgetEvents(): EventData {\n\t\tif (!this.metadata.events) {\n\t\t\tthis.metadata.events = {};\n\t\t}\n\t\treturn this.metadata.events;\n\t}\n\n\t/**\n\t * Returns an object with key-value pairs of slots and their metadata definitions\n\t * @public\n\t */\n\t getSlots(): Record<string, Slot> {\n\t\tif (!this.metadata.slots) {\n\t\t\tthis.metadata.slots = {};\n\t\t}\n\t\treturn this.metadata.slots;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element has any translatable texts (needs to be invalidated upon language change)\n\t */\n\tisLanguageAware(): boolean {\n\t\treturn !!this.metadata.languageAware;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element has any theme dependant carachteristics.\n\t */\n\t isThemeAware(): boolean {\n\t\treturn !!this.metadata.themeAware;\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element needs CLDR assets to be fetched to work correctly\n\t */\n\tneedsCLDR(): boolean {\n\t\treturn !!this.metadata.cldr;\n\t}\n\n\tgetShadowRootOptions(): Partial<ShadowRootInit> {\n\t\treturn this.metadata.shadowRootOptions || {};\n\t}\n\n\t/**\n\t * Determines whether this UI5 Element has any theme dependant carachteristics.\n\t */\n\t isFormAssociated(): boolean {\n\t\treturn !!this.metadata.formAssociated;\n\t}\n\n\t/**\n\t * Matches a changed entity (property/slot) with the given name against the \"invalidateOnChildChange\" configuration\n\t * and determines whether this should cause and invalidation\n\t *\n\t * @param slotName the name of the slot in which a child was changed\n\t * @param type the type of change in the child: \"property\" or \"slot\"\n\t * @param name the name of the property/slot that changed\n\t */\n\tshouldInvalidateOnChildChange(slotName: string, type: \"property\" | \"slot\", name: string): boolean {\n\t\tconst config = this.getSlots()[slotName].invalidateOnChildChange;\n\n\t\t// invalidateOnChildChange was not set in the slot metadata - by default child changes do not affect the component\n\t\tif (config === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The simple format was used: invalidateOnChildChange: true/false;\n\t\tif (typeof config === \"boolean\") {\n\t\t\treturn config;\n\t\t}\n\n\t\t// The complex format was used: invalidateOnChildChange: { properties, slots }\n\t\tif (typeof config === \"object\") {\n\t\t\t// A property was changed\n\t\t\tif (type === \"property\") {\n\t\t\t\t// The config object does not have a properties field\n\t\t\t\tif (config.properties === undefined) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// The config object has the short format: properties: true/false\n\t\t\t\tif (typeof config.properties === \"boolean\") {\n\t\t\t\t\treturn config.properties;\n\t\t\t\t}\n\n\t\t\t\t// The config object has the complex format: properties: [...]\n\t\t\t\tif (Array.isArray(config.properties)) {\n\t\t\t\t\treturn config.properties.includes(name);\n\t\t\t\t}\n\n\t\t\t\tthrow new Error(\"Wrong format for invalidateOnChildChange.properties: boolean or array is expected\");\n\t\t\t}\n\n\t\t\t// A slot was changed\n\t\t\tif (type === \"slot\") {\n\t\t\t\t// The config object does not have a slots field\n\t\t\t\tif (config.slots === undefined) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// The config object has the short format: slots: true/false\n\t\t\t\tif (typeof config.slots === \"boolean\") {\n\t\t\t\t\treturn config.slots;\n\t\t\t\t}\n\n\t\t\t\t// The config object has the complex format: slots: [...]\n\t\t\t\tif (Array.isArray(config.slots)) {\n\t\t\t\t\treturn config.slots.includes(name);\n\t\t\t\t}\n\n\t\t\t\tthrow new Error(\"Wrong format for invalidateOnChildChange.slots: boolean or array is expected\");\n\t\t\t}\n\t\t}\n\n\t\tthrow new Error(\"Wrong format for invalidateOnChildChange: boolean or object is expected\");\n\t}\n\n\tgetI18n(): I18nBundleAccessors {\n\t\tif (!this.metadata.i18n) {\n\t\t\tthis.metadata.i18n = {};\n\t\t}\n\t\treturn this.metadata.i18n;\n\t}\n}\n\nconst validateSingleSlot = (value: Node, slotData: Slot) => {\n\tvalue && getSlottedNodes(value).forEach(el => {\n\t\tif (!(el instanceof slotData.type)) {\n\t\t\tthrow new Error(`The element is not of type ${slotData.type.toString()}`);\n\t\t}\n\t});\n\n\treturn value;\n};\n\nexport default UI5ElementMetadata;\nexport type {\n\tProperty,\n\tPropertyValue,\n\tSlot,\n\tSlotValue,\n\tEventData,\n\tState,\n\tMetadata,\n};\n"]}
@@ -0,0 +1,8 @@
1
+ type TaskType = () => Promise<void>;
2
+ declare class AnimationQueue {
3
+ static get tasks(): WeakMap<HTMLElement, TaskType[]>;
4
+ static enqueue(element: HTMLElement, task: TaskType): void;
5
+ static run(element: HTMLElement, task: TaskType): Promise<void>;
6
+ static push(element: HTMLElement, task: TaskType): void;
7
+ }
8
+ export default AnimationQueue;