@ui5/webcomponents-base 0.0.0-4180fe799 → 0.0.0-4237771ff

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 (639) hide show
  1. package/.eslintignore +7 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1015 -0
  4. package/README.md +33 -6
  5. package/bundle.esm.js +20 -11
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/.tsbuildinfo +1 -0
  8. package/dist/AssetRegistry.d.ts +5 -0
  9. package/dist/AssetRegistry.js +3 -8
  10. package/dist/AssetRegistry.js.map +1 -0
  11. package/dist/Boot.d.ts +9 -0
  12. package/dist/Boot.js +56 -28
  13. package/dist/Boot.js.map +1 -0
  14. package/{src/CSP.js → dist/CSP.d.ts} +8 -37
  15. package/dist/CSP.js +16 -24
  16. package/dist/CSP.js.map +1 -0
  17. package/dist/CustomElementsRegistry.d.ts +5 -0
  18. package/dist/CustomElementsRegistry.js +69 -30
  19. package/dist/CustomElementsRegistry.js.map +1 -0
  20. package/dist/CustomElementsScope.d.ts +7 -0
  21. package/dist/CustomElementsScope.js +11 -108
  22. package/dist/CustomElementsScope.js.map +1 -0
  23. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  24. package/dist/CustomElementsScopeUtils.js +102 -0
  25. package/dist/CustomElementsScopeUtils.js.map +1 -0
  26. package/dist/DOMObserver.d.ts +11 -0
  27. package/dist/DOMObserver.js +12 -54
  28. package/dist/DOMObserver.js.map +1 -0
  29. package/dist/Device.d.ts +13 -0
  30. package/dist/Device.js +157 -89
  31. package/dist/Device.js.map +1 -0
  32. package/dist/EventProvider.d.ts +25 -0
  33. package/dist/EventProvider.js +67 -82
  34. package/dist/EventProvider.js.map +1 -0
  35. package/dist/FeaturesRegistry.d.ts +3 -0
  36. package/dist/FeaturesRegistry.js +5 -7
  37. package/dist/FeaturesRegistry.js.map +1 -0
  38. package/dist/FontFace.d.ts +2 -0
  39. package/dist/FontFace.js +14 -19
  40. package/dist/FontFace.js.map +1 -0
  41. package/dist/IgnoreCustomElements.d.ts +27 -0
  42. package/dist/IgnoreCustomElements.js +39 -0
  43. package/dist/IgnoreCustomElements.js.map +1 -0
  44. package/dist/InitialConfiguration.d.ts +28 -0
  45. package/dist/InitialConfiguration.js +126 -131
  46. package/dist/InitialConfiguration.js.map +1 -0
  47. package/dist/Keys.d.ts +61 -0
  48. package/dist/Keys.js +175 -242
  49. package/dist/Keys.js.map +1 -0
  50. package/dist/ManagedStyles.d.ts +9 -0
  51. package/dist/ManagedStyles.js +140 -70
  52. package/dist/ManagedStyles.js.map +1 -0
  53. package/dist/MarkedEvents.d.ts +9 -0
  54. package/dist/MarkedEvents.js +15 -0
  55. package/dist/MarkedEvents.js.map +1 -0
  56. package/dist/MediaRange.d.ts +37 -0
  57. package/dist/MediaRange.js +54 -65
  58. package/dist/MediaRange.js.map +1 -0
  59. package/dist/PropertiesFileFormat.d.ts +8 -0
  60. package/dist/PropertiesFileFormat.js +72 -82
  61. package/dist/PropertiesFileFormat.js.map +1 -0
  62. package/dist/Render.d.ts +47 -0
  63. package/dist/Render.js +81 -113
  64. package/dist/Render.js.map +1 -0
  65. package/dist/RenderQueue.d.ts +19 -0
  66. package/dist/RenderQueue.js +52 -62
  67. package/dist/RenderQueue.js.map +1 -0
  68. package/dist/Runtimes.d.ts +27 -0
  69. package/dist/Runtimes.js +86 -0
  70. package/dist/Runtimes.js.map +1 -0
  71. package/dist/StaticArea.d.ts +3 -0
  72. package/dist/StaticArea.js +5 -1
  73. package/dist/StaticArea.js.map +1 -0
  74. package/dist/StaticAreaItem.d.ts +37 -0
  75. package/dist/StaticAreaItem.js +88 -84
  76. package/dist/StaticAreaItem.js.map +1 -0
  77. package/dist/SystemCSSVars.d.ts +2 -0
  78. package/dist/SystemCSSVars.js +4 -5
  79. package/dist/SystemCSSVars.js.map +1 -0
  80. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  81. package/dist/Theming.js +1 -1
  82. package/dist/Theming.js.map +1 -0
  83. package/dist/UI5Element.d.ts +394 -0
  84. package/dist/UI5Element.js +946 -980
  85. package/dist/UI5Element.js.map +1 -0
  86. package/dist/UI5ElementMetadata.d.ts +151 -0
  87. package/dist/UI5ElementMetadata.js +278 -306
  88. package/dist/UI5ElementMetadata.js.map +1 -0
  89. package/dist/animations/AnimationQueue.d.ts +8 -0
  90. package/dist/animations/AnimationQueue.js +31 -38
  91. package/dist/animations/AnimationQueue.js.map +1 -0
  92. package/dist/animations/animate.d.ts +14 -0
  93. package/dist/animations/animate.js +46 -51
  94. package/dist/animations/animate.js.map +1 -0
  95. package/dist/animations/scroll.d.ts +5 -0
  96. package/dist/animations/scroll.js +18 -27
  97. package/dist/animations/scroll.js.map +1 -0
  98. package/dist/animations/slideDown.d.ts +5 -0
  99. package/dist/animations/slideDown.js +53 -78
  100. package/dist/animations/slideDown.js.map +1 -0
  101. package/dist/animations/slideUp.d.ts +5 -0
  102. package/dist/animations/slideUp.js +49 -70
  103. package/dist/animations/slideUp.js.map +1 -0
  104. package/dist/api.json +1 -0
  105. package/dist/asset-registries/Icons.d.ts +39 -0
  106. package/dist/asset-registries/Icons.js +120 -123
  107. package/dist/asset-registries/Icons.js.map +1 -0
  108. package/dist/asset-registries/Illustrations.d.ts +18 -0
  109. package/dist/asset-registries/Illustrations.js +79 -25
  110. package/dist/asset-registries/Illustrations.js.map +1 -0
  111. package/dist/asset-registries/LocaleData.d.ts +7 -0
  112. package/dist/asset-registries/LocaleData.js +104 -127
  113. package/dist/asset-registries/LocaleData.js.map +1 -0
  114. package/dist/asset-registries/Themes.d.ts +12 -0
  115. package/dist/asset-registries/Themes.js +57 -67
  116. package/dist/asset-registries/Themes.js.map +1 -0
  117. package/dist/asset-registries/i18n.d.ts +23 -0
  118. package/dist/asset-registries/i18n.js +62 -81
  119. package/dist/asset-registries/i18n.js.map +1 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  122. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  125. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  128. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  129. package/dist/config/AnimationMode.d.ts +14 -0
  130. package/dist/config/AnimationMode.js +21 -18
  131. package/dist/config/AnimationMode.js.map +1 -0
  132. package/dist/config/CalendarType.d.ts +15 -0
  133. package/dist/config/CalendarType.js +31 -14
  134. package/dist/config/CalendarType.js.map +1 -0
  135. package/dist/config/FormatSettings.d.ts +15 -0
  136. package/dist/config/FormatSettings.js +15 -9
  137. package/dist/config/FormatSettings.js.map +1 -0
  138. package/dist/config/Icons.d.ts +40 -0
  139. package/dist/config/Icons.js +44 -0
  140. package/dist/config/Icons.js.map +1 -0
  141. package/dist/config/Language.d.ts +40 -0
  142. package/dist/config/Language.js +43 -43
  143. package/dist/config/Language.js.map +1 -0
  144. package/dist/config/NoConflict.d.ts +20 -0
  145. package/dist/config/NoConflict.js +41 -41
  146. package/dist/config/NoConflict.js.map +1 -0
  147. package/dist/config/RTL.d.ts +7 -0
  148. package/dist/config/RTL.js +26 -20
  149. package/dist/config/RTL.js.map +1 -0
  150. package/dist/config/Theme.d.ts +38 -0
  151. package/dist/config/Theme.js +57 -29
  152. package/dist/config/Theme.js.map +1 -0
  153. package/dist/config/ThemeRoot.d.ts +29 -0
  154. package/dist/config/ThemeRoot.js +59 -0
  155. package/dist/config/ThemeRoot.js.map +1 -0
  156. package/dist/config/Timezone.d.ts +17 -0
  157. package/dist/config/Timezone.js +30 -0
  158. package/dist/config/Timezone.js.map +1 -0
  159. package/dist/connectToComponent.d.ts +9 -0
  160. package/dist/connectToComponent.js +59 -0
  161. package/dist/connectToComponent.js.map +1 -0
  162. package/dist/css/BusyIndicator.css +80 -0
  163. package/dist/css/FontFace.css +67 -16
  164. package/dist/decorators/customElement.d.ts +23 -0
  165. package/dist/decorators/customElement.js +37 -0
  166. package/dist/decorators/customElement.js.map +1 -0
  167. package/dist/decorators/event.d.ts +10 -0
  168. package/dist/decorators/event.js +24 -0
  169. package/dist/decorators/event.js.map +1 -0
  170. package/dist/decorators/property.d.ts +9 -0
  171. package/dist/decorators/property.js +24 -0
  172. package/dist/decorators/property.js.map +1 -0
  173. package/dist/decorators/slot.d.ts +9 -0
  174. package/dist/decorators/slot.js +37 -0
  175. package/dist/decorators/slot.js.map +1 -0
  176. package/dist/delegate/ItemNavigation.d.ts +114 -0
  177. package/dist/delegate/ItemNavigation.js +276 -312
  178. package/dist/delegate/ItemNavigation.js.map +1 -0
  179. package/dist/delegate/ResizeHandler.d.ts +25 -0
  180. package/dist/delegate/ResizeHandler.js +72 -91
  181. package/dist/delegate/ResizeHandler.js.map +1 -0
  182. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  183. package/dist/delegate/ScrollEnablement.js +157 -180
  184. package/dist/delegate/ScrollEnablement.js.map +1 -0
  185. package/dist/features/F6Navigation.d.ts +19 -0
  186. package/dist/features/F6Navigation.js +151 -0
  187. package/dist/features/F6Navigation.js.map +1 -0
  188. package/dist/features/LegacyDateFormats.d.ts +18 -0
  189. package/dist/features/LegacyDateFormats.js +20 -0
  190. package/dist/features/LegacyDateFormats.js.map +1 -0
  191. package/dist/features/OpenUI5Element.d.ts +9 -0
  192. package/dist/features/OpenUI5Element.js +5 -0
  193. package/dist/features/OpenUI5Element.js.map +1 -0
  194. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  195. package/dist/features/OpenUI5Enablement.js +96 -0
  196. package/dist/features/OpenUI5Enablement.js.map +1 -0
  197. package/dist/features/OpenUI5Support.d.ts +36 -0
  198. package/dist/features/OpenUI5Support.js +151 -121
  199. package/dist/features/OpenUI5Support.js.map +1 -0
  200. package/dist/generated/AssetParameters.d.ts +6 -0
  201. package/dist/generated/AssetParameters.js +4 -9
  202. package/dist/generated/AssetParameters.js.map +1 -0
  203. package/dist/generated/VersionInfo.d.ts +10 -0
  204. package/dist/generated/VersionInfo.js +11 -0
  205. package/dist/generated/VersionInfo.js.map +1 -0
  206. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  207. package/dist/generated/css/BusyIndicator.css.js +7 -0
  208. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  209. package/dist/generated/css/FontFace.css.d.ts +3 -0
  210. package/dist/generated/css/FontFace.css.js +7 -5
  211. package/dist/generated/css/FontFace.css.js.map +1 -0
  212. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  213. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  214. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  215. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  216. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  217. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  218. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  219. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  220. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  221. package/dist/getSharedResource.d.ts +11 -0
  222. package/dist/getSharedResource.js +28 -18
  223. package/dist/getSharedResource.js.map +1 -0
  224. package/dist/global.d.ts +40 -0
  225. package/dist/i18nBundle.d.ts +43 -0
  226. package/dist/i18nBundle.js +57 -64
  227. package/dist/i18nBundle.js.map +1 -0
  228. package/dist/locale/Locale.d.ts +22 -0
  229. package/dist/locale/Locale.js +75 -87
  230. package/dist/locale/Locale.js.map +1 -0
  231. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  232. package/dist/locale/RTLAwareRegistry.js +6 -11
  233. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  234. package/dist/locale/applyDirection.d.ts +10 -0
  235. package/dist/locale/applyDirection.js +7 -7
  236. package/dist/locale/applyDirection.js.map +1 -0
  237. package/dist/locale/directionChange.d.ts +15 -0
  238. package/dist/locale/directionChange.js +7 -15
  239. package/dist/locale/directionChange.js.map +1 -0
  240. package/dist/locale/getEffectiveDir.d.ts +2 -0
  241. package/dist/locale/getEffectiveDir.js +20 -24
  242. package/dist/locale/getEffectiveDir.js.map +1 -0
  243. package/dist/locale/getLocale.d.ts +7 -0
  244. package/dist/locale/getLocale.js +26 -29
  245. package/dist/locale/getLocale.js.map +1 -0
  246. package/dist/locale/languageChange.d.ts +5 -0
  247. package/dist/locale/languageChange.js +8 -16
  248. package/dist/locale/languageChange.js.map +1 -0
  249. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  250. package/dist/locale/nextFallbackLocale.js +15 -19
  251. package/dist/locale/nextFallbackLocale.js.map +1 -0
  252. package/dist/locale/normalizeLocale.d.ts +7 -0
  253. package/dist/locale/normalizeLocale.js +34 -41
  254. package/dist/locale/normalizeLocale.js.map +1 -0
  255. package/dist/renderer/LitRenderer.d.ts +14 -0
  256. package/dist/renderer/LitRenderer.js +31 -24
  257. package/dist/renderer/LitRenderer.js.map +1 -0
  258. package/dist/renderer/executeTemplate.d.ts +13 -0
  259. package/dist/renderer/executeTemplate.js +20 -7
  260. package/dist/renderer/executeTemplate.js.map +1 -0
  261. package/dist/sap/base/Log.js +28 -29
  262. package/dist/sap/base/assert.js +5 -6
  263. package/dist/sap/base/security/URLListValidator.js +13 -2
  264. package/dist/sap/base/security/encodeCSS.js +14 -0
  265. package/dist/sap/base/security/encodeXML.js +23 -0
  266. package/dist/sap/base/strings/toHex.js +8 -0
  267. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  268. package/dist/theming/CustomStyle.d.ts +6 -0
  269. package/dist/theming/CustomStyle.js +39 -31
  270. package/dist/theming/CustomStyle.js.map +1 -0
  271. package/dist/theming/ThemeLoaded.d.ts +5 -0
  272. package/dist/theming/ThemeLoaded.js +8 -16
  273. package/dist/theming/ThemeLoaded.js.map +1 -0
  274. package/dist/theming/ThemeRegistered.d.ts +4 -0
  275. package/dist/theming/ThemeRegistered.js +11 -0
  276. package/dist/theming/ThemeRegistered.js.map +1 -0
  277. package/dist/theming/applyTheme.d.ts +2 -0
  278. package/dist/theming/applyTheme.js +61 -60
  279. package/dist/theming/applyTheme.js.map +1 -0
  280. package/dist/theming/getConstructableStyle.d.ts +9 -0
  281. package/dist/theming/getConstructableStyle.js +12 -17
  282. package/dist/theming/getConstructableStyle.js.map +1 -0
  283. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  284. package/dist/theming/getEffectiveLinksHrefs.js +13 -16
  285. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  286. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  287. package/dist/theming/getEffectiveStyle.js +25 -23
  288. package/dist/theming/getEffectiveStyle.js.map +1 -0
  289. package/dist/theming/getStylesString.d.ts +3 -0
  290. package/dist/theming/getStylesString.js +9 -13
  291. package/dist/theming/getStylesString.js.map +1 -0
  292. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  293. package/dist/theming/getThemeDesignerTheme.js +73 -61
  294. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  295. package/dist/theming/preloadLinks.d.ts +3 -0
  296. package/dist/theming/preloadLinks.js +13 -17
  297. package/dist/theming/preloadLinks.js.map +1 -0
  298. package/dist/thirdparty/_merge.d.ts +2 -0
  299. package/dist/thirdparty/_merge.js +7 -4
  300. package/dist/thirdparty/_merge.js.map +1 -0
  301. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  302. package/dist/thirdparty/isPlainObject.js +11 -10
  303. package/dist/thirdparty/isPlainObject.js.map +1 -0
  304. package/dist/thirdparty/merge.d.ts +2 -0
  305. package/dist/thirdparty/merge.js +4 -8
  306. package/dist/thirdparty/merge.js.map +1 -0
  307. package/dist/types/AnimationMode.d.ts +32 -0
  308. package/dist/types/AnimationMode.js +33 -6
  309. package/dist/types/AnimationMode.js.map +1 -0
  310. package/dist/types/CSSColor.d.ts +15 -0
  311. package/dist/types/CSSColor.js +14 -5
  312. package/dist/types/CSSColor.js.map +1 -0
  313. package/dist/types/CSSSize.d.ts +15 -0
  314. package/dist/types/CSSSize.js +14 -5
  315. package/dist/types/CSSSize.js.map +1 -0
  316. package/dist/types/CalendarType.d.ts +37 -0
  317. package/dist/types/CalendarType.js +35 -18
  318. package/dist/types/CalendarType.js.map +1 -0
  319. package/dist/types/DOMReference.d.ts +17 -0
  320. package/dist/types/DOMReference.js +25 -0
  321. package/dist/types/DOMReference.js.map +1 -0
  322. package/dist/types/DataType.d.ts +25 -0
  323. package/dist/types/DataType.js +33 -26
  324. package/dist/types/DataType.js.map +1 -0
  325. package/dist/types/Float.d.ts +17 -0
  326. package/dist/types/Float.js +17 -10
  327. package/dist/types/Float.js.map +1 -0
  328. package/dist/types/Integer.d.ts +17 -0
  329. package/dist/types/Integer.js +17 -9
  330. package/dist/types/Integer.js.map +1 -0
  331. package/dist/types/InvisibleMessageMode.d.ts +26 -0
  332. package/dist/types/InvisibleMessageMode.js +18 -22
  333. package/dist/types/InvisibleMessageMode.js.map +1 -0
  334. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  335. package/dist/types/ItemNavigationBehavior.js +22 -12
  336. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  337. package/dist/types/NavigationMode.d.ts +32 -0
  338. package/dist/types/NavigationMode.js +33 -6
  339. package/dist/types/NavigationMode.js.map +1 -0
  340. package/dist/types/ValueState.d.ts +42 -0
  341. package/dist/types/ValueState.js +41 -19
  342. package/dist/types/ValueState.js.map +1 -0
  343. package/dist/types.d.ts +18 -0
  344. package/dist/types.js +2 -0
  345. package/dist/types.js.map +1 -0
  346. package/dist/updateShadowRoot.d.ts +8 -0
  347. package/dist/updateShadowRoot.js +30 -18
  348. package/dist/updateShadowRoot.js.map +1 -0
  349. package/dist/util/AriaLabelHelper.d.ts +15 -0
  350. package/dist/util/AriaLabelHelper.js +166 -36
  351. package/dist/util/AriaLabelHelper.js.map +1 -0
  352. package/dist/util/Caret.d.ts +7 -0
  353. package/dist/util/Caret.js +16 -38
  354. package/dist/util/Caret.js.map +1 -0
  355. package/dist/util/ColorConversion.d.ts +30 -0
  356. package/dist/util/ColorConversion.js +320 -348
  357. package/dist/util/ColorConversion.js.map +1 -0
  358. package/dist/util/FetchHelper.d.ts +3 -0
  359. package/dist/util/FetchHelper.js +19 -25
  360. package/dist/util/FetchHelper.js.map +1 -0
  361. package/dist/util/FocusableElements.d.ts +4 -0
  362. package/dist/util/FocusableElements.js +67 -72
  363. package/dist/util/FocusableElements.js.map +1 -0
  364. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  365. package/dist/util/HTMLSanitizer.js +4 -5
  366. package/dist/util/HTMLSanitizer.js.map +1 -0
  367. package/dist/util/InvisibleMessage.d.ts +10 -0
  368. package/dist/util/InvisibleMessage.js +42 -44
  369. package/dist/util/InvisibleMessage.js.map +1 -0
  370. package/dist/util/PopupUtils.d.ts +7 -0
  371. package/dist/util/PopupUtils.js +58 -77
  372. package/dist/util/PopupUtils.js.map +1 -0
  373. package/dist/util/SlotsHelper.d.ts +9 -0
  374. package/dist/util/SlotsHelper.js +22 -35
  375. package/dist/util/SlotsHelper.js.map +1 -0
  376. package/dist/util/StringHelper.d.ts +3 -0
  377. package/dist/util/StringHelper.js +17 -20
  378. package/dist/util/StringHelper.js.map +1 -0
  379. package/dist/util/TabbableElements.d.ts +17 -0
  380. package/dist/util/TabbableElements.js +53 -43
  381. package/dist/util/TabbableElements.js.map +1 -0
  382. package/dist/util/arraysAreEqual.d.ts +2 -0
  383. package/dist/util/arraysAreEqual.js +10 -12
  384. package/dist/util/arraysAreEqual.js.map +1 -0
  385. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  386. package/dist/util/clamp.js +2 -2
  387. package/dist/util/clamp.js.map +1 -0
  388. package/dist/util/createLinkInHead.d.ts +7 -0
  389. package/dist/util/createLinkInHead.js +14 -12
  390. package/dist/util/createLinkInHead.js.map +1 -0
  391. package/dist/util/createStyleInHead.d.ts +8 -0
  392. package/dist/util/createStyleInHead.js +10 -10
  393. package/dist/util/createStyleInHead.js.map +1 -0
  394. package/dist/util/debounce.d.ts +2 -0
  395. package/dist/util/debounce.js +6 -8
  396. package/dist/util/debounce.js.map +1 -0
  397. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  398. package/dist/util/detectNavigatorLanguage.js +7 -10
  399. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  400. package/dist/util/escapeRegex.d.ts +8 -0
  401. package/dist/util/escapeRegex.js +11 -0
  402. package/dist/util/escapeRegex.js.map +1 -0
  403. package/dist/util/formatMessage.d.ts +2 -0
  404. package/dist/util/formatMessage.js +15 -19
  405. package/dist/util/formatMessage.js.map +1 -0
  406. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  407. package/dist/util/generateHighlightedMarkup.js +41 -0
  408. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  409. package/dist/util/getActiveElement.d.ts +2 -0
  410. package/dist/util/getActiveElement.js +6 -8
  411. package/dist/util/getActiveElement.js.map +1 -0
  412. package/dist/util/getClassCopy.d.ts +416 -0
  413. package/dist/util/getClassCopy.js +7 -7
  414. package/dist/util/getClassCopy.js.map +1 -0
  415. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  416. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  417. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  418. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  419. package/dist/util/getEffectiveContentDensity.js +2 -3
  420. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  421. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  422. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  423. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  424. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  425. package/dist/util/getFastNavigationGroups.js +51 -0
  426. package/dist/util/getFastNavigationGroups.js.map +1 -0
  427. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  428. package/dist/util/getFileExtension.js +9 -11
  429. package/dist/util/getFileExtension.js.map +1 -0
  430. package/dist/util/getNormalizedTarget.d.ts +7 -0
  431. package/dist/util/getNormalizedTarget.js +14 -0
  432. package/dist/util/getNormalizedTarget.js.map +1 -0
  433. package/dist/util/getParentElement.d.ts +2 -0
  434. package/dist/util/getParentElement.js +5 -0
  435. package/dist/util/getParentElement.js.map +1 -0
  436. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  437. package/dist/util/getSingletonElementInstance.js +17 -11
  438. package/dist/util/getSingletonElementInstance.js.map +1 -0
  439. package/dist/util/isElementClickable.d.ts +2 -0
  440. package/dist/util/isElementClickable.js +16 -0
  441. package/dist/util/isElementClickable.js.map +1 -0
  442. package/dist/util/isElementContainingBlock.d.ts +2 -0
  443. package/dist/util/isElementContainingBlock.js +11 -0
  444. package/dist/util/isElementContainingBlock.js.map +1 -0
  445. package/dist/util/isElementHidden.d.ts +2 -0
  446. package/dist/util/isElementHidden.js +8 -0
  447. package/dist/util/isElementHidden.js.map +1 -0
  448. package/dist/util/isElementInView.d.ts +6 -0
  449. package/dist/util/isElementInView.js +6 -9
  450. package/dist/util/isElementInView.js.map +1 -0
  451. package/dist/util/isElementTabbable.d.ts +9 -0
  452. package/dist/util/isElementTabbable.js +30 -0
  453. package/dist/util/isElementTabbable.js.map +1 -0
  454. package/dist/util/isValidPropertyName.d.ts +8 -0
  455. package/dist/util/isValidPropertyName.js +16 -17
  456. package/dist/util/isValidPropertyName.js.map +1 -0
  457. package/dist/util/whenDOMReady.d.ts +2 -0
  458. package/dist/util/whenDOMReady.js +11 -10
  459. package/dist/util/whenDOMReady.js.map +1 -0
  460. package/dist/util/willShowContent.d.ts +2 -0
  461. package/dist/util/willShowContent.js +7 -0
  462. package/dist/util/willShowContent.js.map +1 -0
  463. package/dist/validateThemeRoot.d.ts +2 -0
  464. package/dist/validateThemeRoot.js +48 -0
  465. package/dist/validateThemeRoot.js.map +1 -0
  466. package/index.js +227 -1
  467. package/lib/generate-asset-parameters/index.js +11 -5
  468. package/lib/generate-styles/index.js +26 -13
  469. package/lib/generate-version-info/index.js +32 -0
  470. package/package-scripts.cjs +70 -0
  471. package/package.json +12 -7
  472. package/src/css/BusyIndicator.css +80 -0
  473. package/src/css/FontFace.css +67 -16
  474. package/tsconfig.json +17 -0
  475. package/used-modules.txt +4 -1
  476. package/config/rollup.config.js +0 -1
  477. package/config/wdio.conf.js +0 -1
  478. package/dist/RenderScheduler.js +0 -44
  479. package/dist/animations/config.js +0 -5
  480. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  481. package/dist/isLegacyBrowser.js +0 -3
  482. package/dist/resources/bundle.esm.js +0 -37
  483. package/dist/resources/bundle.esm.js.map +0 -1
  484. package/dist/test-resources/assets/Themes.js +0 -17
  485. package/dist/test-resources/elements/Child.js +0 -35
  486. package/dist/test-resources/elements/Generic.js +0 -84
  487. package/dist/test-resources/elements/GenericExt.js +0 -26
  488. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  489. package/dist/test-resources/elements/Parent.js +0 -41
  490. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  491. package/dist/test-resources/pages/AllTestElements.html +0 -42
  492. package/dist/test-resources/pages/Configuration.html +0 -18
  493. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  494. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  495. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  496. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  497. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  498. package/dist/test-resources/pages/i18n.html +0 -33
  499. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  500. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  501. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  502. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  503. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  504. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  505. package/dist/test-resources/specs/Theming.spec.js +0 -33
  506. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  507. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  508. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  509. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  510. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  511. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  512. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  513. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  514. package/dist/types/PopupState.js +0 -37
  515. package/dist/util/encodeCSS.js +0 -24
  516. package/dist/util/findNodeOwner.js +0 -35
  517. package/dist/util/isDescendantOf.js +0 -15
  518. package/dist/util/isNodeClickable.js +0 -19
  519. package/dist/util/isNodeHidden.js +0 -9
  520. package/dist/util/isNodeTabbable.js +0 -28
  521. package/dist/util/setToArray.js +0 -10
  522. package/hash.txt +0 -1
  523. package/package-scripts.js +0 -65
  524. package/src/AssetRegistry.js +0 -11
  525. package/src/Boot.js +0 -43
  526. package/src/CustomElementsRegistry.js +0 -39
  527. package/src/CustomElementsScope.js +0 -108
  528. package/src/DOMObserver.js +0 -65
  529. package/src/Device.js +0 -107
  530. package/src/EventProvider.js +0 -85
  531. package/src/FeaturesRegistry.js +0 -11
  532. package/src/FontFace.js +0 -30
  533. package/src/InitialConfiguration.js +0 -166
  534. package/src/Keys.js +0 -248
  535. package/src/ManagedStyles.js +0 -83
  536. package/src/MediaRange.js +0 -109
  537. package/src/PropertiesFileFormat.js +0 -95
  538. package/src/Render.js +0 -175
  539. package/src/RenderQueue.js +0 -66
  540. package/src/RenderScheduler.js +0 -44
  541. package/src/StaticArea.js +0 -3
  542. package/src/StaticAreaItem.js +0 -98
  543. package/src/SystemCSSVars.js +0 -10
  544. package/src/UI5Element.js +0 -1018
  545. package/src/UI5ElementMetadata.js +0 -319
  546. package/src/animations/AnimationQueue.js +0 -42
  547. package/src/animations/animate.js +0 -53
  548. package/src/animations/config.js +0 -5
  549. package/src/animations/scroll.js +0 -28
  550. package/src/animations/slideDown.js +0 -79
  551. package/src/animations/slideUp.js +0 -71
  552. package/src/asset-registries/Icons.js +0 -139
  553. package/src/asset-registries/Illustrations.js +0 -30
  554. package/src/asset-registries/LocaleData.js +0 -159
  555. package/src/asset-registries/Themes.js +0 -78
  556. package/src/asset-registries/i18n.js +0 -121
  557. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  558. package/src/config/AnimationMode.js +0 -23
  559. package/src/config/CalendarType.js +0 -18
  560. package/src/config/FormatSettings.js +0 -13
  561. package/src/config/Language.js +0 -68
  562. package/src/config/NoConflict.js +0 -51
  563. package/src/config/RTL.js +0 -31
  564. package/src/config/Theme.js +0 -42
  565. package/src/delegate/ItemNavigation.js +0 -351
  566. package/src/delegate/ResizeHandler.js +0 -106
  567. package/src/delegate/ScrollEnablement.js +0 -188
  568. package/src/features/OpenUI5Support.js +0 -125
  569. package/src/getSharedResource.js +0 -30
  570. package/src/i18nBundle.js +0 -86
  571. package/src/isLegacyBrowser.js +0 -3
  572. package/src/locale/Locale.js +0 -91
  573. package/src/locale/RTLAwareRegistry.js +0 -14
  574. package/src/locale/applyDirection.js +0 -17
  575. package/src/locale/directionChange.js +0 -32
  576. package/src/locale/getEffectiveDir.js +0 -28
  577. package/src/locale/getLocale.js +0 -41
  578. package/src/locale/languageChange.js +0 -22
  579. package/src/locale/nextFallbackLocale.js +0 -28
  580. package/src/locale/normalizeLocale.js +0 -54
  581. package/src/renderer/LitRenderer.js +0 -34
  582. package/src/renderer/executeTemplate.js +0 -17
  583. package/src/theming/CustomStyle.js +0 -40
  584. package/src/theming/ThemeLoaded.js +0 -22
  585. package/src/theming/applyTheme.js +0 -75
  586. package/src/theming/getConstructableStyle.js +0 -30
  587. package/src/theming/getEffectiveLinksHrefs.js +0 -20
  588. package/src/theming/getEffectiveStyle.js +0 -30
  589. package/src/theming/getStylesString.js +0 -15
  590. package/src/theming/getThemeDesignerTheme.js +0 -68
  591. package/src/theming/preloadLinks.js +0 -23
  592. package/src/thirdparty/_merge.js +0 -32
  593. package/src/thirdparty/isPlainObject.js +0 -18
  594. package/src/thirdparty/merge.js +0 -10
  595. package/src/types/AnimationMode.js +0 -7
  596. package/src/types/CSSColor.js +0 -9
  597. package/src/types/CSSSize.js +0 -9
  598. package/src/types/CalendarType.js +0 -22
  599. package/src/types/DataType.js +0 -37
  600. package/src/types/Float.js +0 -14
  601. package/src/types/Integer.js +0 -13
  602. package/src/types/InvisibleMessageMode.js +0 -30
  603. package/src/types/ItemNavigationBehavior.js +0 -16
  604. package/src/types/NavigationMode.js +0 -7
  605. package/src/types/PopupState.js +0 -37
  606. package/src/types/ValueState.js +0 -22
  607. package/src/updateShadowRoot.js +0 -30
  608. package/src/util/AriaLabelHelper.js +0 -41
  609. package/src/util/Caret.js +0 -45
  610. package/src/util/ColorConversion.js +0 -370
  611. package/src/util/FetchHelper.js +0 -31
  612. package/src/util/FocusableElements.js +0 -77
  613. package/src/util/InvisibleMessage.js +0 -58
  614. package/src/util/PopupUtils.js +0 -93
  615. package/src/util/SlotsHelper.js +0 -43
  616. package/src/util/StringHelper.js +0 -26
  617. package/src/util/TabbableElements.js +0 -47
  618. package/src/util/arraysAreEqual.js +0 -15
  619. package/src/util/createLinkInHead.js +0 -19
  620. package/src/util/createStyleInHead.js +0 -18
  621. package/src/util/debounce.js +0 -17
  622. package/src/util/detectNavigatorLanguage.js +0 -13
  623. package/src/util/encodeCSS.js +0 -24
  624. package/src/util/findNodeOwner.js +0 -35
  625. package/src/util/formatMessage.js +0 -23
  626. package/src/util/getActiveElement.js +0 -11
  627. package/src/util/getClassCopy.js +0 -10
  628. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  629. package/src/util/getEffectiveContentDensity.js +0 -5
  630. package/src/util/getSingletonElementInstance.js +0 -13
  631. package/src/util/isDescendantOf.js +0 -15
  632. package/src/util/isElementInView.js +0 -15
  633. package/src/util/isNodeClickable.js +0 -19
  634. package/src/util/isNodeHidden.js +0 -9
  635. package/src/util/isNodeTabbable.js +0 -28
  636. package/src/util/isValidPropertyName.js +0 -29
  637. package/src/util/setToArray.js +0 -10
  638. package/src/util/whenDOMReady.js +0 -13
  639. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,319 +0,0 @@
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
-
7
- /**
8
- *
9
- * @class
10
- * @public
11
- */
12
- 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
- * Returns an object with key-value pairs of properties and their metadata definitions
193
- * @public
194
- */
195
- getProperties() {
196
- return this.metadata.properties || {};
197
- }
198
-
199
- /**
200
- * Returns an object with key-value pairs of events and their metadata definitions
201
- * @public
202
- */
203
- getEvents() {
204
- return this.metadata.events || {};
205
- }
206
-
207
- /**
208
- * Determines whether this UI5 Element has any translatable texts (needs to be invalidated upon language change)
209
- * @returns {boolean}
210
- */
211
- isLanguageAware() {
212
- return !!this.metadata.languageAware;
213
- }
214
-
215
- /**
216
- * Determines whether this UI5 Element has any theme dependant carachteristics.
217
- * @returns {boolean}
218
- */
219
- isThemeAware() {
220
- return !!this.metadata.themeAware;
221
- }
222
-
223
- /**
224
- * Matches a changed entity (property/slot) with the given name against the "invalidateOnChildChange" configuration
225
- * and determines whether this should cause and invalidation
226
- *
227
- * @param slotName the name of the slot in which a child was changed
228
- * @param type the type of change in the child: "property" or "slot"
229
- * @param name the name of the property/slot that changed
230
- * @returns {boolean}
231
- */
232
- shouldInvalidateOnChildChange(slotName, type, name) {
233
- const config = this.getSlots()[slotName].invalidateOnChildChange;
234
-
235
- // invalidateOnChildChange was not set in the slot metadata - by default child changes do not affect the component
236
- if (config === undefined) {
237
- return false;
238
- }
239
-
240
- // The simple format was used: invalidateOnChildChange: true/false;
241
- if (typeof config === "boolean") {
242
- return config;
243
- }
244
-
245
- // The complex format was used: invalidateOnChildChange: { properties, slots }
246
- if (typeof config === "object") {
247
- // A property was changed
248
- if (type === "property") {
249
- // The config object does not have a properties field
250
- if (config.properties === undefined) {
251
- return false;
252
- }
253
-
254
- // The config object has the short format: properties: true/false
255
- if (typeof config.properties === "boolean") {
256
- return config.properties;
257
- }
258
-
259
- // The config object has the complex format: properties: [...]
260
- if (Array.isArray(config.properties)) {
261
- return config.properties.includes(name);
262
- }
263
-
264
- throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected");
265
- }
266
-
267
- // A slot was changed
268
- if (type === "slot") {
269
- // The config object does not have a slots field
270
- if (config.slots === undefined) {
271
- return false;
272
- }
273
-
274
- // The config object has the short format: slots: true/false
275
- if (typeof config.slots === "boolean") {
276
- return config.slots;
277
- }
278
-
279
- // The config object has the complex format: slots: [...]
280
- if (Array.isArray(config.slots)) {
281
- return config.slots.includes(name);
282
- }
283
-
284
- throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected");
285
- }
286
- }
287
-
288
- throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected");
289
- }
290
- }
291
-
292
- const validateSingleProperty = (value, propData) => {
293
- const propertyType = propData.type;
294
-
295
- if (propertyType === Boolean) {
296
- return typeof value === "boolean" ? value : false;
297
- }
298
- if (propertyType === String) {
299
- return (typeof value === "string" || typeof value === "undefined" || value === null) ? value : value.toString();
300
- }
301
- if (propertyType === Object) {
302
- return typeof value === "object" ? value : propData.defaultValue;
303
- }
304
- if (isDescendantOf(propertyType, DataType)) {
305
- return propertyType.isValid(value) ? value : propData.defaultValue;
306
- }
307
- };
308
-
309
- const validateSingleSlot = (value, slotData) => {
310
- value && getSlottedElements(value).forEach(el => {
311
- if (!(el instanceof slotData.type)) {
312
- throw new Error(`${el} is not of type ${slotData.type}`);
313
- }
314
- });
315
-
316
- return value;
317
- };
318
-
319
- export default UI5ElementMetadata;
@@ -1,42 +0,0 @@
1
- const tasks = new WeakMap();
2
-
3
- class AnimationQueue {
4
- static get tasks() {
5
- return tasks;
6
- }
7
-
8
- static enqueue(element, task) {
9
- if (!tasks.has(element)) {
10
- tasks.set(element, []);
11
- }
12
-
13
- tasks.get(element).push(task);
14
- }
15
-
16
- static run(element, task) {
17
- if (!tasks.has(element)) {
18
- tasks.set(element, []);
19
- }
20
-
21
- return task().then(() => {
22
- const elementTasks = tasks.get(element);
23
-
24
- if (elementTasks.length > 0) {
25
- return AnimationQueue.run(element, elementTasks.shift());
26
- }
27
- tasks.delete(element);
28
- });
29
- }
30
-
31
- static push(element, task) {
32
- const elementTasks = tasks.get(element);
33
-
34
- if (elementTasks) {
35
- AnimationQueue.enqueue(element, task);
36
- } else {
37
- AnimationQueue.run(element, task);
38
- }
39
- }
40
- }
41
-
42
- export default AnimationQueue;
@@ -1,53 +0,0 @@
1
- import AnimationQueue from "./AnimationQueue.js";
2
- import animationConfig from "./config.js";
3
-
4
- export default ({
5
- beforeStart = animationConfig.identity,
6
- duration = animationConfig.defaultDuration,
7
- element = animationConfig.element,
8
- progress: progressCallback = animationConfig.identity,
9
- }) => {
10
- let start = null;
11
- let stopped = false;
12
- let animationFrame;
13
- let stop;
14
- let animate;
15
-
16
- const promise = new Promise((resolve, reject) => {
17
- animate = timestamp => {
18
- start = start || timestamp;
19
-
20
- const timeElapsed = timestamp - start;
21
- const remaining = duration - timeElapsed;
22
-
23
- if (timeElapsed <= duration) {
24
- const progress = 1 - remaining / duration; // easing formula (currently linear)
25
- progressCallback(progress);
26
- animationFrame = !stopped && requestAnimationFrame(animate);
27
- } else {
28
- progressCallback(1);
29
- resolve();
30
- }
31
- };
32
-
33
- stop = () => {
34
- stopped = true;
35
- cancelAnimationFrame(animationFrame);
36
- reject(new Error("animation stopped"));
37
- };
38
- }).catch(oReason => oReason);
39
-
40
- AnimationQueue.push(element, () => {
41
- beforeStart();
42
- requestAnimationFrame(animate);
43
-
44
- return new Promise(resolve => {
45
- promise.then(() => resolve());
46
- });
47
- });
48
-
49
- return {
50
- promise: () => promise,
51
- stop: () => stop,
52
- };
53
- };
@@ -1,5 +0,0 @@
1
- export default {
2
- defaultDuration: 400,
3
- element: document.createElement("DIV"),
4
- identity: () => {},
5
- };
@@ -1,28 +0,0 @@
1
- import animate from "./animate.js";
2
- import animationConfig from "./config.js";
3
-
4
- export default ({
5
- element = animationConfig.element,
6
- duration = animationConfig.duration,
7
- progress: progressCallback = animationConfig.identity,
8
- dx = 0,
9
- dy = 0,
10
- }) => {
11
- let scrollLeft;
12
- let scrollTop;
13
-
14
- return animate({
15
- beforeStart: () => {
16
- scrollLeft = element.scrollLeft;
17
- scrollTop = element.scrollTop;
18
- },
19
- duration,
20
- element,
21
- progress: progress => {
22
- progressCallback(progress);
23
-
24
- element.scrollLeft = scrollLeft + (progress * dx); // easing - linear
25
- element.scrollTop = scrollTop + (progress * dy); // easing - linear
26
- },
27
- });
28
- };
@@ -1,79 +0,0 @@
1
- import animationConfig from "./config.js";
2
- import animate from "./animate.js";
3
-
4
- export default ({
5
- element = animationConfig.element,
6
- duration = animationConfig.defaultDuration,
7
- progress: progressCallback = animationConfig.identity,
8
- }) => {
9
- let computedStyles,
10
- paddingTop,
11
- paddingBottom,
12
- marginTop,
13
- marginBottom,
14
- height;
15
- let storedOverflow,
16
- storedPaddingTop,
17
- storedPaddingBottom,
18
- storedMarginTop,
19
- storedMarginBottom,
20
- storedHeight;
21
-
22
- const animation = animate({
23
- beforeStart: () => {
24
- // Show the element to measure its properties
25
- element.style.display = "block";
26
-
27
- // Get Computed styles
28
- computedStyles = getComputedStyle(element);
29
- paddingTop = parseFloat(computedStyles.paddingTop);
30
- paddingBottom = parseFloat(computedStyles.paddingBottom);
31
- marginTop = parseFloat(computedStyles.marginTop);
32
- marginBottom = parseFloat(computedStyles.marginBottom);
33
- height = parseFloat(computedStyles.height);
34
-
35
- // Store inline styles
36
- storedOverflow = element.style.overflow;
37
- storedPaddingTop = element.style.paddingTop;
38
- storedPaddingBottom = element.style.paddingBottom;
39
- storedMarginTop = element.style.marginTop;
40
- storedMarginBottom = element.style.marginBottom;
41
- storedHeight = element.style.height;
42
-
43
- element.style.overflow = "hidden";
44
- element.style.paddingTop = 0;
45
- element.style.paddingBottom = 0;
46
- element.style.marginTop = 0;
47
- element.style.marginBottom = 0;
48
- element.style.height = 0;
49
- },
50
- duration,
51
- element,
52
- progress(progress) {
53
- progressCallback(progress);
54
-
55
- // WORKAROUND
56
- element.style.display = "block";
57
- // END OF WORKAROUND
58
-
59
- /* eslint-disable */
60
- element.style.paddingTop = 0 + (paddingTop * progress) + "px";
61
- element.style.paddingBottom = 0 + (paddingBottom * progress) + "px";
62
- element.style.marginTop = 0 + (marginTop * progress) + "px";
63
- element.style.marginBottom = 0 + (marginBottom * progress) + "px";
64
- element.style.height = 0 + (height * progress) + "px";
65
- /* eslint-enable */
66
- },
67
- });
68
-
69
- animation.promise().then(() => {
70
- element.style.overflow = storedOverflow;
71
- element.style.paddingTop = storedPaddingTop;
72
- element.style.paddingBottom = storedPaddingBottom;
73
- element.style.marginTop = storedMarginTop;
74
- element.style.marginBottom = storedMarginBottom;
75
- element.style.height = storedHeight;
76
- });
77
-
78
- return animation;
79
- };
@@ -1,71 +0,0 @@
1
- import animationConfig from "./config.js";
2
- import animate from "./animate.js";
3
-
4
- export default ({
5
- element = animationConfig.element,
6
- duration = animationConfig.defaultDuration,
7
- progress: progressCallback = animationConfig.identity,
8
- }) => {
9
- // Get Computed styles
10
- let computedStyles,
11
- paddingTop,
12
- paddingBottom,
13
- marginTop,
14
- marginBottom,
15
- height;
16
-
17
- // Store inline styles
18
- let storedOverflow,
19
- storedPaddingTop,
20
- storedPaddingBottom,
21
- storedMarginTop,
22
- storedMarginBottom,
23
- storedHeight;
24
-
25
- const animation = animate({
26
- beforeStart: () => {
27
- // Get Computed styles
28
- computedStyles = getComputedStyle(element);
29
- paddingTop = parseFloat(computedStyles.paddingTop);
30
- paddingBottom = parseFloat(computedStyles.paddingBottom);
31
- marginTop = parseFloat(computedStyles.marginTop);
32
- marginBottom = parseFloat(computedStyles.marginBottom);
33
- height = parseFloat(computedStyles.height);
34
-
35
- // Store inline styles
36
- storedOverflow = element.style.overflow;
37
- storedPaddingTop = element.style.paddingTop;
38
- storedPaddingBottom = element.style.paddingBottom;
39
- storedMarginTop = element.style.marginTop;
40
- storedMarginBottom = element.style.marginBottom;
41
- storedHeight = element.style.height;
42
-
43
- element.style.overflow = "hidden";
44
- },
45
- duration,
46
- element,
47
- progress(progress) {
48
- progressCallback(progress);
49
-
50
- element.style.paddingTop = `${paddingTop - (paddingTop * progress)}px`;
51
- element.style.paddingBottom = `${paddingBottom - (paddingBottom * progress)}px`;
52
- element.style.marginTop = `${marginTop - (marginTop * progress)}px`;
53
- element.style.marginBottom = `${marginBottom - (marginBottom * progress)}px`;
54
- element.style.height = `${height - (height * progress)}px`;
55
- },
56
- });
57
-
58
- animation.promise().then(oReason => {
59
- if (!(oReason instanceof Error)) {
60
- element.style.overflow = storedOverflow;
61
- element.style.paddingTop = storedPaddingTop;
62
- element.style.paddingBottom = storedPaddingBottom;
63
- element.style.marginTop = storedMarginTop;
64
- element.style.marginBottom = storedMarginBottom;
65
- element.style.height = storedHeight;
66
- element.style.display = "none";
67
- }
68
- });
69
-
70
- return animation;
71
- };