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

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 (745) hide show
  1. package/.eslintignore +3 -0
  2. package/CHANGELOG.md +453 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +28 -17
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +6 -10
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +8 -0
  9. package/dist/Boot.js +44 -0
  10. package/dist/Boot.js.map +1 -0
  11. package/dist/CSP.d.ts +30 -0
  12. package/dist/CSP.js +51 -0
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +69 -30
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +11 -0
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +90 -0
  22. package/dist/CustomElementsScopeUtils.js.map +1 -0
  23. package/dist/DOMObserver.d.ts +11 -0
  24. package/dist/DOMObserver.js +23 -0
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +11 -0
  27. package/dist/Device.js +82 -816
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -78
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -7
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +21 -69
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +119 -103
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +174 -166
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +77 -0
  46. package/dist/ManagedStyles.js.map +1 -0
  47. package/dist/MediaRange.d.ts +36 -0
  48. package/dist/MediaRange.js +96 -0
  49. package/dist/MediaRange.js.map +1 -0
  50. package/dist/PropertiesFileFormat.d.ts +8 -0
  51. package/dist/PropertiesFileFormat.js +85 -0
  52. package/dist/PropertiesFileFormat.js.map +1 -0
  53. package/dist/Render.d.ts +47 -0
  54. package/dist/Render.js +143 -0
  55. package/dist/Render.js.map +1 -0
  56. package/dist/RenderQueue.d.ts +19 -0
  57. package/dist/RenderQueue.js +53 -39
  58. package/dist/RenderQueue.js.map +1 -0
  59. package/dist/Runtimes.d.ts +27 -0
  60. package/dist/Runtimes.js +86 -0
  61. package/dist/Runtimes.js.map +1 -0
  62. package/dist/StaticArea.d.ts +0 -0
  63. package/dist/StaticArea.js +4 -39
  64. package/dist/StaticArea.js.map +1 -0
  65. package/dist/StaticAreaItem.d.ts +36 -0
  66. package/dist/StaticAreaItem.js +92 -98
  67. package/dist/StaticAreaItem.js.map +1 -0
  68. package/dist/SystemCSSVars.d.ts +2 -0
  69. package/dist/SystemCSSVars.js +6 -28
  70. package/dist/SystemCSSVars.js.map +1 -0
  71. package/dist/Theming.d.ts +3 -0
  72. package/dist/Theming.js +3 -2
  73. package/dist/Theming.js.map +1 -0
  74. package/dist/UI5Element.d.ts +371 -0
  75. package/dist/UI5Element.js +922 -969
  76. package/dist/UI5Element.js.map +1 -0
  77. package/dist/UI5ElementMetadata.d.ts +147 -0
  78. package/dist/UI5ElementMetadata.js +261 -174
  79. package/dist/UI5ElementMetadata.js.map +1 -0
  80. package/dist/animations/AnimationQueue.d.ts +8 -0
  81. package/dist/animations/AnimationQueue.js +31 -38
  82. package/dist/animations/AnimationQueue.js.map +1 -0
  83. package/dist/animations/animate.d.ts +14 -0
  84. package/dist/animations/animate.js +46 -51
  85. package/dist/animations/animate.js.map +1 -0
  86. package/dist/animations/scroll.d.ts +5 -0
  87. package/dist/animations/scroll.js +18 -27
  88. package/dist/animations/scroll.js.map +1 -0
  89. package/dist/animations/slideDown.d.ts +5 -0
  90. package/dist/animations/slideDown.js +53 -78
  91. package/dist/animations/slideDown.js.map +1 -0
  92. package/dist/animations/slideUp.d.ts +5 -0
  93. package/dist/animations/slideUp.js +49 -70
  94. package/dist/animations/slideUp.js.map +1 -0
  95. package/dist/api.json +1 -0
  96. package/dist/asset-registries/Icons.d.ts +30 -0
  97. package/dist/asset-registries/Icons.js +104 -31
  98. package/dist/asset-registries/Icons.js.map +1 -0
  99. package/dist/asset-registries/Illustrations.d.ts +16 -0
  100. package/dist/asset-registries/Illustrations.js +46 -0
  101. package/dist/asset-registries/Illustrations.js.map +1 -0
  102. package/dist/asset-registries/LocaleData.d.ts +7 -0
  103. package/dist/asset-registries/LocaleData.js +125 -114
  104. package/dist/asset-registries/LocaleData.js.map +1 -0
  105. package/dist/asset-registries/Themes.d.ts +10 -0
  106. package/dist/asset-registries/Themes.js +39 -76
  107. package/dist/asset-registries/Themes.js.map +1 -0
  108. package/dist/asset-registries/i18n.d.ts +23 -0
  109. package/dist/asset-registries/i18n.js +71 -82
  110. package/dist/asset-registries/i18n.js.map +1 -0
  111. package/dist/assets/bundle.esm.72c1d211.js +56 -0
  112. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  113. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  114. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  115. package/dist/config/AnimationMode.d.ts +14 -0
  116. package/dist/config/AnimationMode.js +23 -10
  117. package/dist/config/AnimationMode.js.map +1 -0
  118. package/dist/config/CalendarType.d.ts +8 -0
  119. package/dist/config/CalendarType.js +13 -12
  120. package/dist/config/CalendarType.js.map +1 -0
  121. package/dist/config/FormatSettings.d.ts +11 -0
  122. package/dist/config/FormatSettings.js +10 -8
  123. package/dist/config/FormatSettings.js.map +1 -0
  124. package/dist/config/Icons.d.ts +30 -0
  125. package/dist/config/Icons.js +48 -0
  126. package/dist/config/Icons.js.map +1 -0
  127. package/dist/config/Language.d.ts +31 -0
  128. package/dist/config/Language.js +44 -29
  129. package/dist/config/Language.js.map +1 -0
  130. package/dist/config/NoConflict.d.ts +20 -0
  131. package/dist/config/NoConflict.js +40 -41
  132. package/dist/config/NoConflict.js.map +1 -0
  133. package/dist/config/RTL.d.ts +7 -0
  134. package/dist/config/RTL.js +23 -20
  135. package/dist/config/RTL.js.map +1 -0
  136. package/dist/config/Theme.d.ts +28 -0
  137. package/dist/config/Theme.js +45 -22
  138. package/dist/config/Theme.js.map +1 -0
  139. package/dist/config/ThemeRoots.d.ts +4 -0
  140. package/dist/config/ThemeRoots.js +28 -0
  141. package/dist/config/ThemeRoots.js.map +1 -0
  142. package/dist/css/BusyIndicator.css +80 -0
  143. package/dist/css/FontFace.css +66 -0
  144. package/dist/css/OverrideFontFace.css +32 -0
  145. package/dist/css/SystemCSSVars.css +17 -0
  146. package/dist/delegate/ItemNavigation.d.ts +113 -0
  147. package/dist/delegate/ItemNavigation.js +312 -278
  148. package/dist/delegate/ItemNavigation.js.map +1 -0
  149. package/dist/delegate/ResizeHandler.d.ts +24 -0
  150. package/dist/delegate/ResizeHandler.js +80 -62
  151. package/dist/delegate/ResizeHandler.js.map +1 -0
  152. package/dist/delegate/ScrollEnablement.d.ts +43 -0
  153. package/dist/delegate/ScrollEnablement.js +159 -153
  154. package/dist/delegate/ScrollEnablement.js.map +1 -0
  155. package/dist/features/F6Navigation.d.ts +16 -0
  156. package/dist/features/F6Navigation.js +112 -0
  157. package/dist/features/F6Navigation.js.map +1 -0
  158. package/dist/features/OpenUI5Element.d.ts +9 -0
  159. package/dist/features/OpenUI5Element.js +5 -0
  160. package/dist/features/OpenUI5Element.js.map +1 -0
  161. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  162. package/dist/features/OpenUI5Enablement.js +96 -0
  163. package/dist/features/OpenUI5Enablement.js.map +1 -0
  164. package/dist/features/OpenUI5Support.d.ts +23 -0
  165. package/dist/features/OpenUI5Support.js +93 -86
  166. package/dist/features/OpenUI5Support.js.map +1 -0
  167. package/dist/generated/AssetParameters.js +1 -1
  168. package/dist/generated/VersionInfo.js +10 -0
  169. package/dist/generated/css/BusyIndicator.css.js +5 -0
  170. package/dist/generated/css/FontFace.css.js +5 -0
  171. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  172. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  173. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  174. package/dist/getSharedResource.d.ts +11 -0
  175. package/dist/getSharedResource.js +26 -0
  176. package/dist/getSharedResource.js.map +1 -0
  177. package/dist/i18nBundle.d.ts +43 -0
  178. package/dist/i18nBundle.js +73 -28
  179. package/dist/i18nBundle.js.map +1 -0
  180. package/dist/locale/Locale.d.ts +22 -0
  181. package/dist/locale/Locale.js +75 -87
  182. package/dist/locale/Locale.js.map +1 -0
  183. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  184. package/dist/locale/RTLAwareRegistry.js +6 -11
  185. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  186. package/dist/locale/applyDirection.d.ts +10 -0
  187. package/dist/locale/applyDirection.js +10 -8
  188. package/dist/locale/applyDirection.js.map +1 -0
  189. package/dist/locale/directionChange.d.ts +15 -0
  190. package/dist/locale/directionChange.js +24 -0
  191. package/dist/locale/directionChange.js.map +1 -0
  192. package/dist/locale/getEffectiveDir.d.ts +2 -0
  193. package/dist/locale/getEffectiveDir.js +24 -0
  194. package/dist/locale/getEffectiveDir.js.map +1 -0
  195. package/dist/locale/getLocale.d.ts +7 -0
  196. package/dist/locale/getLocale.js +28 -21
  197. package/dist/locale/getLocale.js.map +1 -0
  198. package/dist/locale/languageChange.d.ts +5 -0
  199. package/dist/locale/languageChange.js +8 -16
  200. package/dist/locale/languageChange.js.map +1 -0
  201. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  202. package/dist/locale/nextFallbackLocale.js +15 -19
  203. package/dist/locale/nextFallbackLocale.js.map +1 -0
  204. package/dist/locale/normalizeLocale.d.ts +7 -0
  205. package/dist/locale/normalizeLocale.js +34 -41
  206. package/dist/locale/normalizeLocale.js.map +1 -0
  207. package/dist/renderer/LitRenderer.d.ts +14 -0
  208. package/dist/renderer/LitRenderer.js +38 -12
  209. package/dist/renderer/LitRenderer.js.map +1 -0
  210. package/dist/renderer/directives/style-map.js +72 -0
  211. package/dist/renderer/executeTemplate.d.ts +13 -0
  212. package/dist/renderer/executeTemplate.js +30 -0
  213. package/dist/renderer/executeTemplate.js.map +1 -0
  214. package/dist/sap/base/Log.js +241 -0
  215. package/dist/sap/base/assert.js +8 -0
  216. package/dist/sap/base/security/URLListValidator.js +148 -0
  217. package/dist/sap/base/security/encodeCSS.js +14 -0
  218. package/dist/sap/base/security/encodeXML.js +23 -0
  219. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  220. package/dist/sap/base/strings/toHex.js +8 -0
  221. package/dist/sap/base/util/now.js +7 -0
  222. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  223. package/dist/theming/CustomStyle.d.ts +6 -0
  224. package/dist/theming/CustomStyle.js +44 -17
  225. package/dist/theming/CustomStyle.js.map +1 -0
  226. package/dist/theming/ThemeLoaded.d.ts +5 -0
  227. package/dist/theming/ThemeLoaded.js +14 -0
  228. package/dist/theming/ThemeLoaded.js.map +1 -0
  229. package/dist/theming/applyTheme.d.ts +2 -0
  230. package/dist/theming/applyTheme.js +63 -69
  231. package/dist/theming/applyTheme.js.map +1 -0
  232. package/dist/theming/getConstructableStyle.d.ts +9 -0
  233. package/dist/theming/getConstructableStyle.js +15 -15
  234. package/dist/theming/getConstructableStyle.js.map +1 -0
  235. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  236. package/dist/theming/getEffectiveLinksHrefs.js +16 -0
  237. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  238. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  239. package/dist/theming/getEffectiveStyle.js +30 -13
  240. package/dist/theming/getEffectiveStyle.js.map +1 -0
  241. package/dist/theming/getStylesString.d.ts +3 -0
  242. package/dist/theming/getStylesString.js +10 -0
  243. package/dist/theming/getStylesString.js.map +1 -0
  244. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  245. package/dist/theming/getThemeDesignerTheme.js +73 -60
  246. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  247. package/dist/theming/preloadLinks.d.ts +3 -0
  248. package/dist/theming/preloadLinks.js +19 -0
  249. package/dist/theming/preloadLinks.js.map +1 -0
  250. package/dist/thirdparty/_merge.d.ts +2 -0
  251. package/dist/thirdparty/_merge.js +7 -4
  252. package/dist/thirdparty/_merge.js.map +1 -0
  253. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  254. package/dist/thirdparty/isPlainObject.js +11 -10
  255. package/dist/thirdparty/isPlainObject.js.map +1 -0
  256. package/dist/thirdparty/merge.d.ts +2 -0
  257. package/dist/thirdparty/merge.js +4 -8
  258. package/dist/thirdparty/merge.js.map +1 -0
  259. package/dist/types/AnimationMode.d.ts +32 -0
  260. package/dist/types/AnimationMode.js +33 -6
  261. package/dist/types/AnimationMode.js.map +1 -0
  262. package/dist/types/CSSColor.d.ts +16 -0
  263. package/dist/types/CSSColor.js +19 -0
  264. package/dist/types/CSSColor.js.map +1 -0
  265. package/dist/types/CalendarType.d.ts +37 -0
  266. package/dist/types/CalendarType.js +35 -18
  267. package/dist/types/CalendarType.js.map +1 -0
  268. package/dist/types/DOMReference.d.ts +17 -0
  269. package/dist/types/DOMReference.js +25 -0
  270. package/dist/types/DOMReference.js.map +1 -0
  271. package/dist/types/DataType.d.ts +25 -0
  272. package/dist/types/DataType.js +32 -13
  273. package/dist/types/DataType.js.map +1 -0
  274. package/dist/types/Float.d.ts +18 -0
  275. package/dist/types/Float.js +18 -6
  276. package/dist/types/Float.js.map +1 -0
  277. package/dist/types/Integer.d.ts +18 -0
  278. package/dist/types/Integer.js +18 -5
  279. package/dist/types/Integer.js.map +1 -0
  280. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  281. package/dist/types/InvisibleMessageMode.js +27 -0
  282. package/dist/types/InvisibleMessageMode.js.map +1 -0
  283. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  284. package/dist/types/ItemNavigationBehavior.js +22 -17
  285. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  286. package/dist/types/NavigationMode.d.ts +32 -0
  287. package/dist/types/NavigationMode.js +33 -6
  288. package/dist/types/NavigationMode.js.map +1 -0
  289. package/dist/types/ValueState.d.ts +42 -0
  290. package/dist/types/ValueState.js +41 -19
  291. package/dist/types/ValueState.js.map +1 -0
  292. package/dist/types.d.ts +13 -0
  293. package/dist/types.js +2 -0
  294. package/dist/types.js.map +1 -0
  295. package/dist/updateShadowRoot.d.ts +8 -0
  296. package/dist/updateShadowRoot.js +34 -0
  297. package/dist/updateShadowRoot.js.map +1 -0
  298. package/dist/util/AriaLabelHelper.d.ts +6 -0
  299. package/dist/util/AriaLabelHelper.js +44 -0
  300. package/dist/util/AriaLabelHelper.js.map +1 -0
  301. package/dist/util/Caret.d.ts +7 -0
  302. package/dist/util/Caret.js +23 -0
  303. package/dist/util/Caret.js.map +1 -0
  304. package/dist/util/ColorConversion.d.ts +33 -0
  305. package/dist/util/ColorConversion.js +337 -0
  306. package/dist/util/ColorConversion.js.map +1 -0
  307. package/dist/util/FetchHelper.d.ts +3 -0
  308. package/dist/util/FetchHelper.js +19 -25
  309. package/dist/util/FetchHelper.js.map +1 -0
  310. package/dist/util/FocusableElements.d.ts +3 -0
  311. package/dist/util/FocusableElements.js +57 -61
  312. package/dist/util/FocusableElements.js.map +1 -0
  313. package/dist/util/HTMLSanitizer.d.ts +3 -0
  314. package/dist/util/HTMLSanitizer.js +6 -0
  315. package/dist/util/HTMLSanitizer.js.map +1 -0
  316. package/dist/util/InvisibleMessage.d.ts +10 -0
  317. package/dist/util/InvisibleMessage.js +56 -0
  318. package/dist/util/InvisibleMessage.js.map +1 -0
  319. package/dist/util/PopupUtils.d.ts +7 -0
  320. package/dist/util/PopupUtils.js +74 -0
  321. package/dist/util/PopupUtils.js.map +1 -0
  322. package/dist/util/SlotsHelper.d.ts +9 -0
  323. package/dist/util/SlotsHelper.js +30 -0
  324. package/dist/util/SlotsHelper.js.map +1 -0
  325. package/dist/util/StringHelper.d.ts +3 -0
  326. package/dist/util/StringHelper.js +17 -20
  327. package/dist/util/StringHelper.js.map +1 -0
  328. package/dist/util/TabbableElements.d.ts +3 -0
  329. package/dist/util/TabbableElements.js +39 -43
  330. package/dist/util/TabbableElements.js.map +1 -0
  331. package/dist/util/arraysAreEqual.d.ts +2 -0
  332. package/dist/util/arraysAreEqual.js +13 -0
  333. package/dist/util/arraysAreEqual.js.map +1 -0
  334. package/dist/util/clamp.d.ts +9 -0
  335. package/dist/util/clamp.js +12 -0
  336. package/dist/util/clamp.js.map +1 -0
  337. package/dist/util/createLinkInHead.d.ts +7 -0
  338. package/dist/util/createLinkInHead.js +21 -0
  339. package/dist/util/createLinkInHead.js.map +1 -0
  340. package/dist/util/createStyleInHead.d.ts +8 -0
  341. package/dist/util/createStyleInHead.js +10 -10
  342. package/dist/util/createStyleInHead.js.map +1 -0
  343. package/dist/util/debounce.d.ts +2 -0
  344. package/dist/util/debounce.js +15 -0
  345. package/dist/util/debounce.js.map +1 -0
  346. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  347. package/dist/util/detectNavigatorLanguage.js +7 -10
  348. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  349. package/dist/util/escapeRegex.d.ts +8 -0
  350. package/dist/util/escapeRegex.js +11 -0
  351. package/dist/util/escapeRegex.js.map +1 -0
  352. package/dist/util/formatMessage.d.ts +2 -0
  353. package/dist/util/formatMessage.js +15 -19
  354. package/dist/util/formatMessage.js.map +1 -0
  355. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  356. package/dist/util/generateHighlightedMarkup.js +41 -0
  357. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  358. package/dist/util/getActiveElement.d.ts +2 -0
  359. package/dist/util/getActiveElement.js +9 -0
  360. package/dist/util/getActiveElement.js.map +1 -0
  361. package/dist/util/getClassCopy.d.ts +398 -0
  362. package/dist/util/getClassCopy.js +10 -0
  363. package/dist/util/getClassCopy.js.map +1 -0
  364. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  365. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  366. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  367. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  368. package/dist/util/getEffectiveContentDensity.js +4 -0
  369. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  370. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  371. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  372. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  373. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  374. package/dist/util/getFastNavigationGroups.js +51 -0
  375. package/dist/util/getFastNavigationGroups.js.map +1 -0
  376. package/dist/util/getFileExtension.d.ts +12 -0
  377. package/dist/util/getFileExtension.js +9 -11
  378. package/dist/util/getFileExtension.js.map +1 -0
  379. package/dist/util/getNormalizedTarget.d.ts +7 -0
  380. package/dist/util/getNormalizedTarget.js +14 -0
  381. package/dist/util/getNormalizedTarget.js.map +1 -0
  382. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  383. package/dist/util/getSingletonElementInstance.js +10 -0
  384. package/dist/util/getSingletonElementInstance.js.map +1 -0
  385. package/dist/util/isDefaultSlotProvided.d.ts +2 -0
  386. package/dist/util/isDefaultSlotProvided.js +10 -0
  387. package/dist/util/isDefaultSlotProvided.js.map +1 -0
  388. package/dist/util/isElementClickable.d.ts +2 -0
  389. package/dist/util/isElementClickable.js +16 -0
  390. package/dist/util/isElementClickable.js.map +1 -0
  391. package/dist/util/isElementHidden.d.ts +2 -0
  392. package/dist/util/isElementHidden.js +8 -0
  393. package/dist/util/isElementHidden.js.map +1 -0
  394. package/dist/util/isElementInView.d.ts +6 -0
  395. package/dist/util/isElementInView.js +12 -0
  396. package/dist/util/isElementInView.js.map +1 -0
  397. package/dist/util/isElementTabbable.d.ts +2 -0
  398. package/dist/util/isElementTabbable.js +22 -0
  399. package/dist/util/isElementTabbable.js.map +1 -0
  400. package/dist/util/isValidPropertyName.d.ts +8 -0
  401. package/dist/util/isValidPropertyName.js +18 -18
  402. package/dist/util/isValidPropertyName.js.map +1 -0
  403. package/dist/util/whenDOMReady.d.ts +2 -0
  404. package/dist/util/whenDOMReady.js +11 -10
  405. package/dist/util/whenDOMReady.js.map +1 -0
  406. package/dist/validateThemeRoot.d.ts +2 -0
  407. package/dist/validateThemeRoot.js +47 -0
  408. package/dist/validateThemeRoot.js.map +1 -0
  409. package/global.d.ts +44 -0
  410. package/index.js +1 -1
  411. package/lib/generate-asset-parameters/index.js +8 -5
  412. package/lib/generate-styles/index.js +26 -0
  413. package/lib/generate-version-info/index.js +32 -0
  414. package/package-scripts.js +48 -28
  415. package/package.json +21 -13
  416. package/src/AssetRegistry.ts +11 -0
  417. package/src/Boot.ts +61 -0
  418. package/src/CSP.ts +66 -0
  419. package/src/CustomElementsRegistry.ts +98 -0
  420. package/src/CustomElementsScope.ts +33 -0
  421. package/src/CustomElementsScopeUtils.ts +115 -0
  422. package/src/DOMObserver.ts +28 -0
  423. package/src/Device.ts +121 -0
  424. package/src/EventProvider.ts +87 -0
  425. package/src/FeaturesRegistry.ts +14 -0
  426. package/src/FontFace.ts +31 -0
  427. package/src/InitialConfiguration.ts +207 -0
  428. package/src/Keys.ts +295 -0
  429. package/src/ManagedStyles.ts +92 -0
  430. package/src/MediaRange.ts +109 -0
  431. package/src/{util/parseProperties.js → PropertiesFileFormat.ts} +14 -8
  432. package/src/Render.ts +180 -0
  433. package/src/RenderQueue.ts +71 -0
  434. package/src/Runtimes.ts +114 -0
  435. package/src/StaticArea.ts +3 -0
  436. package/src/StaticAreaItem.ts +113 -0
  437. package/src/SystemCSSVars.ts +10 -0
  438. package/src/Theming.ts +4 -0
  439. package/src/UI5Element.ts +1125 -0
  440. package/src/UI5ElementMetadata.ts +364 -0
  441. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  442. package/src/animations/animate.ts +64 -0
  443. package/src/animations/scroll.ts +21 -0
  444. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  445. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  446. package/src/asset-registries/Icons.ts +161 -0
  447. package/src/asset-registries/Illustrations.ts +73 -0
  448. package/src/asset-registries/LocaleData.ts +172 -0
  449. package/src/asset-registries/Themes.ts +67 -0
  450. package/src/asset-registries/i18n.ts +118 -0
  451. package/src/assets-meta/IconCollectionsAlias.ts +18 -0
  452. package/src/config/AnimationMode.ts +33 -0
  453. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  454. package/src/config/FormatSettings.ts +21 -0
  455. package/src/config/Icons.ts +59 -0
  456. package/src/config/Language.ts +72 -0
  457. package/src/config/NoConflict.ts +67 -0
  458. package/src/config/{RTL.js → RTL.ts} +14 -4
  459. package/src/config/Theme.ts +64 -0
  460. package/src/config/ThemeRoots.ts +41 -0
  461. package/src/css/BusyIndicator.css +80 -0
  462. package/src/css/FontFace.css +66 -0
  463. package/src/css/OverrideFontFace.css +32 -0
  464. package/src/css/SystemCSSVars.css +17 -0
  465. package/src/delegate/ItemNavigation.ts +393 -0
  466. package/src/delegate/ResizeHandler.ts +95 -0
  467. package/src/delegate/ScrollEnablement.ts +215 -0
  468. package/src/features/F6Navigation.ts +141 -0
  469. package/src/features/OpenUI5Element.ts +11 -0
  470. package/src/features/OpenUI5Enablement.ts +117 -0
  471. package/src/features/OpenUI5Support.ts +148 -0
  472. package/src/getSharedResource.ts +30 -0
  473. package/src/i18nBundle.ts +108 -0
  474. package/src/locale/{Locale.js → Locale.ts} +15 -5
  475. package/src/locale/RTLAwareRegistry.ts +16 -0
  476. package/src/locale/applyDirection.ts +18 -0
  477. package/src/locale/directionChange.ts +34 -0
  478. package/src/locale/getEffectiveDir.ts +28 -0
  479. package/src/locale/{getLocale.js → getLocale.ts} +20 -5
  480. package/src/locale/languageChange.ts +24 -0
  481. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  482. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +4 -2
  483. package/src/renderer/LitRenderer.ts +60 -0
  484. package/src/renderer/directives/style-map.js +72 -0
  485. package/src/renderer/executeTemplate.ts +40 -0
  486. package/src/theming/CustomStyle.ts +62 -0
  487. package/src/theming/ThemeLoaded.ts +24 -0
  488. package/src/theming/applyTheme.ts +90 -0
  489. package/src/theming/getConstructableStyle.ts +31 -0
  490. package/src/theming/getEffectiveLinksHrefs.ts +24 -0
  491. package/src/theming/getEffectiveStyle.ts +41 -0
  492. package/src/theming/getStylesString.ts +13 -0
  493. package/src/theming/getThemeDesignerTheme.ts +101 -0
  494. package/src/theming/preloadLinks.ts +24 -0
  495. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  496. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  497. package/src/thirdparty/merge.ts +5 -0
  498. package/src/types/AnimationMode.ts +33 -0
  499. package/src/types/CSSColor.ts +20 -0
  500. package/src/types/CalendarType.ts +38 -0
  501. package/src/types/DOMReference.ts +28 -0
  502. package/src/types/DataType.ts +51 -0
  503. package/src/types/Float.ts +25 -0
  504. package/src/types/Integer.ts +25 -0
  505. package/src/types/InvisibleMessageMode.ts +27 -0
  506. package/src/types/ItemNavigationBehavior.ts +26 -0
  507. package/src/types/NavigationMode.ts +33 -0
  508. package/src/types/ValueState.ts +47 -0
  509. package/src/types.ts +22 -0
  510. package/src/updateShadowRoot.ts +37 -0
  511. package/src/util/AriaLabelHelper.ts +63 -0
  512. package/src/util/Caret.ts +28 -0
  513. package/src/util/ColorConversion.ts +394 -0
  514. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  515. package/src/util/FocusableElements.ts +80 -0
  516. package/src/util/HTMLSanitizer.ts +9 -0
  517. package/src/util/InvisibleMessage.ts +69 -0
  518. package/src/util/PopupUtils.ts +114 -0
  519. package/src/util/SlotsHelper.ts +39 -0
  520. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  521. package/src/util/TabbableElements.ts +56 -0
  522. package/src/util/arraysAreEqual.ts +15 -0
  523. package/src/util/clamp.ts +12 -0
  524. package/src/util/createLinkInHead.ts +25 -0
  525. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  526. package/src/util/debounce.ts +18 -0
  527. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  528. package/src/util/escapeRegex.ts +11 -0
  529. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  530. package/src/util/generateHighlightedMarkup.ts +43 -0
  531. package/src/util/getActiveElement.ts +11 -0
  532. package/src/util/getClassCopy.ts +12 -0
  533. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  534. package/src/util/getEffectiveContentDensity.ts +5 -0
  535. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  536. package/src/util/getFastNavigationGroups.ts +63 -0
  537. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  538. package/src/util/getNormalizedTarget.ts +16 -0
  539. package/src/util/getSingletonElementInstance.ts +13 -0
  540. package/src/util/isDefaultSlotProvided.ts +11 -0
  541. package/src/util/isElementClickable.ts +19 -0
  542. package/src/util/isElementHidden.ts +9 -0
  543. package/src/util/isElementInView.ts +15 -0
  544. package/src/util/isElementTabbable.ts +28 -0
  545. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +7 -6
  546. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  547. package/src/validateThemeRoot.ts +58 -0
  548. package/tsconfig.json +13 -0
  549. package/used-modules.txt +10 -0
  550. package/bundle.es5.js +0 -28
  551. package/config/.eslintrc.js +0 -3
  552. package/config/rollup.config.js +0 -1
  553. package/dist/RenderScheduler.js +0 -178
  554. package/dist/SVGIconRegistry.js +0 -60
  555. package/dist/animations/config.js +0 -5
  556. package/dist/boot.js +0 -34
  557. package/dist/compatibility/DOMObserver.js +0 -62
  558. package/dist/compatibility/patchNodeValue.js +0 -24
  559. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  560. package/dist/delegate/CustomResize.js +0 -78
  561. package/dist/delegate/NativeResize.js +0 -44
  562. package/dist/features/PropertiesFormatSupport.js +0 -8
  563. package/dist/features/browsersupport/Edge.js +0 -6
  564. package/dist/features/browsersupport/IE11.js +0 -41
  565. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  566. package/dist/renderer/ifDefined.js +0 -21
  567. package/dist/resources/bundle.es5.js +0 -212
  568. package/dist/resources/bundle.es5.js.map +0 -1
  569. package/dist/resources/bundle.esm.js +0 -129
  570. package/dist/resources/bundle.esm.js.map +0 -1
  571. package/dist/test-resources/assets/Themes.js +0 -13
  572. package/dist/test-resources/elements/Child.js +0 -35
  573. package/dist/test-resources/elements/Generic.js +0 -84
  574. package/dist/test-resources/elements/GenericExt.js +0 -26
  575. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  576. package/dist/test-resources/elements/Parent.js +0 -37
  577. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  578. package/dist/test-resources/pages/AllTestElements.html +0 -42
  579. package/dist/test-resources/pages/Configuration.html +0 -20
  580. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  581. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  582. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  583. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  584. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  585. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  586. package/dist/test-resources/specs/Theming.spec.js +0 -31
  587. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  588. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  589. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  590. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  591. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  592. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  593. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  594. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  595. package/dist/theming/CSSVarsPonyfill.js +0 -24
  596. package/dist/theming/adaptCSSForIE.js +0 -90
  597. package/dist/theming/createComponentStyleTag.js +0 -49
  598. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  599. package/dist/thirdparty/Array.from.js +0 -16
  600. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  601. package/dist/thirdparty/Array.prototype.find.js +0 -46
  602. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  603. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  604. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  605. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  606. package/dist/thirdparty/Number.isInteger.js +0 -5
  607. package/dist/thirdparty/Number.isNaN.js +0 -1
  608. package/dist/thirdparty/Number.parseInt.js +0 -1
  609. package/dist/thirdparty/Object.assign.js +0 -31
  610. package/dist/thirdparty/Object.entries.js +0 -11
  611. package/dist/thirdparty/Symbol.js +0 -2
  612. package/dist/thirdparty/WeakSet.js +0 -27
  613. package/dist/thirdparty/es6-string-methods.js +0 -182
  614. package/dist/thirdparty/events-polyfills.js +0 -89
  615. package/dist/thirdparty/fetch.js +0 -1
  616. package/dist/thirdparty/template.js +0 -600
  617. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  618. package/dist/types/CSSSize.js +0 -9
  619. package/dist/types/PopupState.js +0 -37
  620. package/dist/util/findNodeOwner.js +0 -35
  621. package/dist/util/isDescendantOf.js +0 -15
  622. package/dist/util/isNodeClickable.js +0 -19
  623. package/dist/util/isNodeHidden.js +0 -9
  624. package/dist/util/isNodeTabbable.js +0 -28
  625. package/dist/util/isSlot.js +0 -3
  626. package/dist/util/parseProperties.js +0 -89
  627. package/dist/util/setToArray.js +0 -10
  628. package/dist/webcomponentsjs/LICENSE.md +0 -19
  629. package/dist/webcomponentsjs/README.md +0 -229
  630. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  631. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  632. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  633. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  634. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  635. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  636. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  637. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  638. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  639. package/dist/webcomponentsjs/package.json +0 -46
  640. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  641. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  642. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  643. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  644. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  645. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  646. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  647. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  648. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  649. package/src/AssetRegistry.js +0 -10
  650. package/src/CustomElementsRegistry.js +0 -39
  651. package/src/Device.js +0 -823
  652. package/src/EventProvider.js +0 -81
  653. package/src/FeaturesRegistry.js +0 -11
  654. package/src/FontFace.js +0 -73
  655. package/src/InitialConfiguration.js +0 -131
  656. package/src/Keys.js +0 -170
  657. package/src/RenderQueue.js +0 -42
  658. package/src/RenderScheduler.js +0 -178
  659. package/src/SVGIconRegistry.js +0 -60
  660. package/src/StaticArea.js +0 -41
  661. package/src/StaticAreaItem.js +0 -105
  662. package/src/SystemCSSVars.js +0 -31
  663. package/src/Theming.js +0 -3
  664. package/src/UI5Element.js +0 -992
  665. package/src/UI5ElementMetadata.js +0 -187
  666. package/src/animations/animate.js +0 -53
  667. package/src/animations/config.js +0 -5
  668. package/src/animations/scroll.js +0 -28
  669. package/src/asset-registries/Icons.js +0 -31
  670. package/src/asset-registries/LocaleData.js +0 -125
  671. package/src/asset-registries/Themes.js +0 -87
  672. package/src/asset-registries/i18n.js +0 -106
  673. package/src/boot.js +0 -34
  674. package/src/compatibility/DOMObserver.js +0 -62
  675. package/src/compatibility/patchNodeValue.js +0 -24
  676. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  677. package/src/config/AnimationMode.js +0 -13
  678. package/src/config/FormatSettings.js +0 -13
  679. package/src/config/Language.js +0 -41
  680. package/src/config/NoConflict.js +0 -51
  681. package/src/config/Theme.js +0 -28
  682. package/src/delegate/CustomResize.js +0 -78
  683. package/src/delegate/ItemNavigation.js +0 -282
  684. package/src/delegate/NativeResize.js +0 -44
  685. package/src/delegate/ResizeHandler.js +0 -65
  686. package/src/delegate/ScrollEnablement.js +0 -159
  687. package/src/features/OpenUI5Support.js +0 -90
  688. package/src/features/PropertiesFormatSupport.js +0 -8
  689. package/src/features/browsersupport/Edge.js +0 -6
  690. package/src/features/browsersupport/IE11.js +0 -41
  691. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  692. package/src/i18nBundle.js +0 -33
  693. package/src/locale/RTLAwareRegistry.js +0 -14
  694. package/src/locale/applyDirection.js +0 -15
  695. package/src/locale/languageChange.js +0 -22
  696. package/src/renderer/LitRenderer.js +0 -15
  697. package/src/renderer/ifDefined.js +0 -21
  698. package/src/theming/CSSVarsPonyfill.js +0 -24
  699. package/src/theming/CustomStyle.js +0 -19
  700. package/src/theming/adaptCSSForIE.js +0 -90
  701. package/src/theming/applyTheme.js +0 -81
  702. package/src/theming/createComponentStyleTag.js +0 -49
  703. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  704. package/src/theming/getConstructableStyle.js +0 -25
  705. package/src/theming/getEffectiveStyle.js +0 -15
  706. package/src/theming/getThemeDesignerTheme.js +0 -67
  707. package/src/thirdparty/Array.from.js +0 -16
  708. package/src/thirdparty/Array.prototype.fill.js +0 -44
  709. package/src/thirdparty/Array.prototype.find.js +0 -46
  710. package/src/thirdparty/Array.prototype.includes.js +0 -51
  711. package/src/thirdparty/Element.prototype.closest.js +0 -11
  712. package/src/thirdparty/Element.prototype.matches.js +0 -6
  713. package/src/thirdparty/Map.prototype.keys.js +0 -9
  714. package/src/thirdparty/Number.isInteger.js +0 -5
  715. package/src/thirdparty/Number.isNaN.js +0 -1
  716. package/src/thirdparty/Number.parseInt.js +0 -1
  717. package/src/thirdparty/Object.assign.js +0 -31
  718. package/src/thirdparty/Object.entries.js +0 -11
  719. package/src/thirdparty/Symbol.js +0 -2
  720. package/src/thirdparty/WeakSet.js +0 -27
  721. package/src/thirdparty/es6-string-methods.js +0 -182
  722. package/src/thirdparty/events-polyfills.js +0 -89
  723. package/src/thirdparty/fetch.js +0 -1
  724. package/src/thirdparty/merge.js +0 -10
  725. package/src/thirdparty/template.js +0 -600
  726. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  727. package/src/types/AnimationMode.js +0 -7
  728. package/src/types/CSSSize.js +0 -9
  729. package/src/types/CalendarType.js +0 -22
  730. package/src/types/DataType.js +0 -25
  731. package/src/types/Float.js +0 -10
  732. package/src/types/Integer.js +0 -9
  733. package/src/types/ItemNavigationBehavior.js +0 -21
  734. package/src/types/NavigationMode.js +0 -7
  735. package/src/types/PopupState.js +0 -37
  736. package/src/types/ValueState.js +0 -22
  737. package/src/util/FocusableElements.js +0 -66
  738. package/src/util/TabbableElements.js +0 -47
  739. package/src/util/findNodeOwner.js +0 -35
  740. package/src/util/isDescendantOf.js +0 -15
  741. package/src/util/isNodeClickable.js +0 -19
  742. package/src/util/isNodeHidden.js +0 -9
  743. package/src/util/isNodeTabbable.js +0 -28
  744. package/src/util/isSlot.js +0 -3
  745. package/src/util/setToArray.js +0 -10
@@ -0,0 +1,16 @@
1
+ const rClickable = /^(?:a|area)$/i;
2
+ const rFocusable = /^(?:input|select|textarea|button)$/i;
3
+ const isElementClickable = (el) => {
4
+ if (el.disabled) {
5
+ return false;
6
+ }
7
+ const tabIndex = el.getAttribute("tabindex");
8
+ if (tabIndex !== null && tabIndex !== undefined) {
9
+ return parseInt(tabIndex) >= 0;
10
+ }
11
+ return rFocusable.test(el.nodeName)
12
+ || (rClickable.test(el.nodeName)
13
+ && !!el.href);
14
+ };
15
+ export default isElementClickable;
16
+ //# sourceMappingURL=isElementClickable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementClickable.js","sourceRoot":"","sources":["../../src/util/isElementClickable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,eAAe,CAAC;AACnC,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAEzD,MAAM,kBAAkB,GAAG,CAAC,EAAe,EAAW,EAAE;IACvD,IAAK,EAAwB,CAAC,QAAQ,EAAE;QACvC,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;QAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;WAC/B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;eAC7B,CAAC,CAAE,EAAsB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const isElementHidden: (el: HTMLElement) => boolean;
2
+ export default isElementHidden;
@@ -0,0 +1,8 @@
1
+ const isElementHidden = (el) => {
2
+ if (el.nodeName === "SLOT") {
3
+ return false;
4
+ }
5
+ return (el.offsetWidth <= 0 && el.offsetHeight <= 0) || (el.style && el.style.visibility === "hidden");
6
+ };
7
+ export default isElementHidden;
8
+ //# sourceMappingURL=isElementHidden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementHidden.js","sourceRoot":"","sources":["../../src/util/isElementHidden.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE;IAC3C,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,EAAE;QAC3B,OAAO,KAAK,CAAC;KACb;IAED,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;AACxG,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Determines if the element is within the viewport.
3
+ * @param el {HTMLElement}
4
+ */
5
+ declare const isElementInView: (el: HTMLElement) => boolean;
6
+ export default isElementInView;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Determines if the element is within the viewport.
3
+ * @param el {HTMLElement}
4
+ */
5
+ const isElementInView = (el) => {
6
+ const rect = el.getBoundingClientRect();
7
+ return (rect.top >= 0 && rect.left >= 0
8
+ && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
9
+ && rect.right <= (window.innerWidth || document.documentElement.clientWidth));
10
+ };
11
+ export default isElementInView;
12
+ //# sourceMappingURL=isElementInView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementInView.js","sourceRoot":"","sources":["../../src/util/isElementInView.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;IAExC,OAAO,CACN,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;WAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;WAC5E,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAC7E,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const isElementTabbable: (el: HTMLElement) => boolean | undefined;
2
+ export default isElementTabbable;
@@ -0,0 +1,22 @@
1
+ import isElementHidden from "./isElementHidden.js";
2
+ const isElementTabbable = (el) => {
3
+ if (!el) {
4
+ return false;
5
+ }
6
+ const nodeName = el.nodeName.toLowerCase();
7
+ if (el.hasAttribute("data-sap-no-tab-ref")) {
8
+ return false;
9
+ }
10
+ if (isElementHidden(el)) {
11
+ return false;
12
+ }
13
+ const tabIndex = el.getAttribute("tabindex");
14
+ if (tabIndex !== null && tabIndex !== undefined) {
15
+ return parseInt(tabIndex) >= 0;
16
+ }
17
+ if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
18
+ return !el.disabled;
19
+ }
20
+ };
21
+ export default isElementTabbable;
22
+ //# sourceMappingURL=isElementTabbable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementTabbable.js","sourceRoot":"","sources":["../../src/util/isElementTabbable.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,MAAM,iBAAiB,GAAG,CAAC,EAAe,EAAE,EAAE;IAC7C,IAAI,CAAC,EAAE,EAAE;QACR,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;QAC3C,OAAO,KAAK,CAAC;KACb;IAED,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;QAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,IAAI,QAAQ,KAAK,GAAG,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC7E,OAAO,CAAE,EAAsB,CAAC,QAAQ,CAAC;KACzC;AACF,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Checks whether a property name is valid (does not collide with existing DOM API properties)
3
+ *
4
+ * @param name
5
+ * @returns {boolean}
6
+ */
7
+ declare const isValidPropertyName: (name: string) => boolean;
8
+ export default isValidPropertyName;
@@ -1,28 +1,28 @@
1
1
  // Note: disabled is present in IE so we explicitly allow it here.
2
- // Others, such as ariaLabel, we explicitly override, so valid too
3
- const whitelist = [
4
- "disabled",
5
- "ariaLabel",
6
- "ariaExpanded",
7
- "title",
2
+ // Others, such as title/hidden, we explicitly override, so valid too
3
+ const allowList = [
4
+ "disabled",
5
+ "title",
6
+ "hidden",
7
+ "role",
8
+ "draggable",
8
9
  ];
9
-
10
10
  /**
11
11
  * Checks whether a property name is valid (does not collide with existing DOM API properties)
12
12
  *
13
13
  * @param name
14
14
  * @returns {boolean}
15
15
  */
16
- const isValidPropertyName = name => {
17
- if (whitelist.includes(name)) {
18
- return true;
19
- }
20
- const classes = [
21
- HTMLElement,
22
- Element,
23
- Node,
24
- ];
25
- return !classes.some(klass => klass.prototype.hasOwnProperty(name)); // eslint-disable-line
16
+ const isValidPropertyName = (name) => {
17
+ if (allowList.includes(name) || name.startsWith("aria")) {
18
+ return true;
19
+ }
20
+ const classes = [
21
+ HTMLElement,
22
+ Element,
23
+ Node,
24
+ ];
25
+ return !classes.some(klass => klass.prototype.hasOwnProperty(name)); // eslint-disable-line
26
26
  };
27
-
28
27
  export default isValidPropertyName;
28
+ //# sourceMappingURL=isValidPropertyName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidPropertyName.js","sourceRoot":"","sources":["../../src/util/isValidPropertyName.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,qEAAqE;AACrE,MAAM,SAAS,GAAG;IACjB,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,WAAW;CACX,CAAC;AAEF;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACxD,OAAO,IAAI,CAAC;KACZ;IACD,MAAM,OAAO,GAAG;QACf,WAAW;QACX,OAAO;QACP,IAAI;KACJ,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB;AAC5F,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const whenDOMReady: () => Promise<void>;
2
+ export default whenDOMReady;
@@ -1,13 +1,14 @@
1
1
  const whenDOMReady = () => {
2
- return new Promise(resolve => {
3
- if (document.body) {
4
- resolve();
5
- } else {
6
- document.addEventListener("DOMContentLoaded", () => {
7
- resolve();
8
- });
9
- }
10
- });
2
+ return new Promise(resolve => {
3
+ if (document.body) {
4
+ resolve();
5
+ }
6
+ else {
7
+ document.addEventListener("DOMContentLoaded", () => {
8
+ resolve();
9
+ });
10
+ }
11
+ });
11
12
  };
12
-
13
13
  export default whenDOMReady;
14
+ //# sourceMappingURL=whenDOMReady.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whenDOMReady.js","sourceRoot":"","sources":["../../src/util/whenDOMReady.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAClC,IAAI,QAAQ,CAAC,IAAI,EAAE;YAClB,OAAO,EAAE,CAAC;SACV;aAAM;YACN,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAClD,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;SACH;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const validateThemeRoot: (themeRoot: string) => string | undefined;
2
+ export default validateThemeRoot;
@@ -0,0 +1,47 @@
1
+ const getMetaTagValue = (metaTagName) => {
2
+ const metaTag = document.querySelector(`META[name="${metaTagName}"]`), metaTagContent = metaTag && metaTag.getAttribute("content");
3
+ return metaTagContent;
4
+ };
5
+ const validateThemeOrigin = (origin) => {
6
+ const allowedOrigins = getMetaTagValue("sap-allowedThemeOrigins");
7
+ return allowedOrigins && allowedOrigins.split(",").some(allowedOrigin => {
8
+ return allowedOrigin === "*" || origin === allowedOrigin.trim();
9
+ });
10
+ };
11
+ const buildCorrectUrl = (oldUrl, newOrigin) => {
12
+ const oldUrlPath = new URL(oldUrl).pathname;
13
+ return new URL(oldUrlPath, newOrigin).toString();
14
+ };
15
+ const validateThemeRoot = (themeRoot) => {
16
+ let themeRootURL, resultUrl;
17
+ try {
18
+ themeRootURL = new URL(themeRoot);
19
+ const origin = themeRootURL.origin;
20
+ themeRootURL = themeRootURL.toString();
21
+ if (themeRootURL.startsWith(".") || themeRootURL.startsWith("/")) {
22
+ // Handle relative url
23
+ // new URL("/newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
24
+ // new URL("./newExmPath", "http://example.com/exmPath") => http://example.com/exmPath/newExmPath
25
+ // new URL("../newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
26
+ resultUrl = new URL(themeRootURL, window.location.href).toString();
27
+ }
28
+ else if (origin && validateThemeOrigin(origin)) {
29
+ // If origin is allowed, use it
30
+ resultUrl = themeRootURL.toString();
31
+ }
32
+ else {
33
+ // If origin is not allow and the URL is not relative, we have to replace the origin
34
+ // with current location
35
+ resultUrl = buildCorrectUrl(themeRootURL, window.location.href);
36
+ }
37
+ if (!resultUrl.endsWith("/")) {
38
+ resultUrl = `${resultUrl}/`;
39
+ }
40
+ return `${resultUrl}UI5/`;
41
+ }
42
+ catch (e) {
43
+ // Catch if URL is not correct
44
+ }
45
+ };
46
+ export default validateThemeRoot;
47
+ //# sourceMappingURL=validateThemeRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateThemeRoot.js","sourceRoot":"","sources":["../src/validateThemeRoot.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,WAAW,IAAI,CAAC,EACpE,cAAc,GAAG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAE7D,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,MAAM,cAAc,GAAG,eAAe,CAAC,yBAAyB,CAAC,CAAC;IAElE,OAAO,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QACvE,OAAO,aAAa,KAAK,GAAG,IAAI,MAAM,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAE5C,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,IAAI,YAAY,EACf,SAAS,CAAC;IAEX,IAAI;QACH,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAEnC,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAEvC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACjE,sBAAsB;YACtB,wFAAwF;YACxF,iGAAiG;YACjG,0FAA0F;YAC1F,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE;aAAM,IAAI,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;YACjD,+BAA+B;YAC/B,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;SACpC;aAAM;YACN,oFAAoF;YACpF,wBAAwB;YACxB,SAAS,GAAG,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC7B,SAAS,GAAG,GAAG,SAAS,GAAG,CAAC;SAC5B;QAED,OAAO,GAAG,SAAS,MAAM,CAAC;KAC1B;IAAC,OAAO,CAAC,EAAE;QACX,8BAA8B;KAC9B;AACF,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/global.d.ts ADDED
@@ -0,0 +1,44 @@
1
+ import { StyleData } from "./src/types.js";
2
+
3
+ export {};
4
+
5
+ declare global {
6
+
7
+ type VersionInfo = {
8
+ version: string,
9
+ major: number,
10
+ minor: number,
11
+ patch: number,
12
+ suffix: string,
13
+ isNext: boolean,
14
+ buildTime: number,
15
+ }
16
+
17
+ interface Window {
18
+ sap: any;
19
+ chrome: any;
20
+ v8: any;
21
+ }
22
+ module "*.css.js" {
23
+ const content: StyleData;
24
+ export default content;
25
+ }
26
+
27
+ module "*generated/AssetParameters.js" {
28
+ const DEFAULT_THEME: string;
29
+ const DEFAULT_LANGUAGE: string;
30
+ const DEFAULT_LOCALE: string;
31
+ const SUPPORTED_LOCALES: Array<string>;
32
+ export {
33
+ DEFAULT_THEME,
34
+ DEFAULT_LANGUAGE,
35
+ DEFAULT_LOCALE,
36
+ SUPPORTED_LOCALES,
37
+ };
38
+ }
39
+
40
+ module "*generated/VersionInfo.js" {
41
+ const content: VersionInfo;
42
+ export default content;
43
+ }
44
+ }
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import UI5Element from "./src/UI5Element.js";
1
+ import UI5Element from "./dist/UI5Element.js";
2
2
 
3
3
  export default UI5Element;
4
4
  export { UI5Element };
@@ -1,6 +1,4 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const mkdirp = require('mkdirp');
1
+ const fs = require('fs').promises;
4
2
  const assets = require('@ui5/webcomponents-tools/assets-meta.js');
5
3
 
6
4
  const fileContent = `const assetParameters = ${JSON.stringify(assets)};
@@ -17,6 +15,11 @@ export {
17
15
  SUPPORTED_LOCALES,
18
16
  };`;
19
17
 
20
- mkdirp.sync("dist/generated/");
21
- fs.writeFileSync("dist/generated/AssetParameters.js", fileContent);
18
+ const generate = async () => {
19
+ await fs.mkdir("dist/generated/", { recursive: true });
20
+ return fs.writeFile("dist/generated/AssetParameters.js", fileContent);
21
+ }
22
22
 
23
+ generate().then(() => {
24
+ console.log("Assets parameters generated.");
25
+ });
@@ -0,0 +1,26 @@
1
+ const fs = require('fs').promises;
2
+ const path = require('path');
3
+ const CleanCSS = require('clean-css');
4
+
5
+ const generate = async () => {
6
+ await fs.mkdir("dist/generated/css/", {recursive: true});
7
+
8
+ const files = (await fs.readdir("src/css/")).filter(file => file.endsWith(".css"));
9
+ const filesPromises = files.map(async file => {
10
+ let content = await fs.readFile(path.join("src/css/", file));
11
+ const res = new CleanCSS().minify(`${content}`);
12
+ content = `export default {
13
+ packageName: "@ui5/webcomponents-base",
14
+ fileName: "${file}",
15
+ content: \`${res.styles}\`
16
+ };`;
17
+
18
+ return fs.writeFile(path.join("dist/generated/css/", `${file}.js`), content);
19
+ });
20
+
21
+ return Promise.all(filesPromises);
22
+ };
23
+
24
+ generate().then(() => {
25
+ console.log("Styles files generated.");
26
+ });
@@ -0,0 +1,32 @@
1
+ const fs = require('fs').promises;
2
+
3
+ const generate = async () => {
4
+ const version = JSON.parse(await fs.readFile("package.json")).version;
5
+
6
+ // Parse version
7
+ const matches = version.match(/^([0-9]+)\.([0-9]+)\.([0-9]+)(.*)$/);
8
+ if (!matches) {
9
+ throw new Error("Unsupported version format");
10
+ }
11
+
12
+ const isNext = version.match(/[a-f0-9]{9}$/);
13
+ const buildTime = Math.floor(new Date().getTime() / 1000);
14
+
15
+ const fileContent = `const VersionInfo = {
16
+ version: "${version}",
17
+ major: ${matches[1]},
18
+ minor: ${matches[2]},
19
+ patch: ${matches[3]},
20
+ suffix: "${matches[4]}",
21
+ isNext: ${isNext ? "true" : "false"},
22
+ buildTime: ${buildTime},
23
+ };
24
+ export default VersionInfo;`;
25
+
26
+ await fs.mkdir("dist/generated/", { recursive: true });
27
+ await fs.writeFile("dist/generated/VersionInfo.js", fileContent);
28
+ }
29
+
30
+ generate().then(() => {
31
+ console.log("Version info file generated.");
32
+ });
@@ -1,44 +1,64 @@
1
- const path = require("path");
2
1
  const resolve = require("resolve");
3
-
4
- const serveConfig = `../tools/components-package/serve.json`;
5
- const port = `9191`;
2
+ const path = require("path");
6
3
 
7
4
  const assetParametersScript = resolve.sync("@ui5/webcomponents-base/lib/generate-asset-parameters/index.js");
5
+ const stylesScript = resolve.sync("@ui5/webcomponents-base/lib/generate-styles/index.js");
6
+ const versionScript = resolve.sync("@ui5/webcomponents-base/lib/generate-version-info/index.js");
7
+ const copyUsedModules = resolve.sync("@ui5/webcomponents-tools/lib/copy-list/index.js");
8
+ const esmAbsToRel = resolve.sync("@ui5/webcomponents-tools/lib/esm-abs-to-rel/index.js");
9
+ const preprocessJSDocScript = resolve.sync("@ui5/webcomponents-tools/lib/jsdoc/preprocess.js");
10
+
11
+ const LIB = path.join(__dirname, `../tools/lib/`);
12
+
13
+ const viteConfig = `-c "${require.resolve("@ui5/webcomponents-tools/components-package/vite.config.js")}"`;
14
+ const eslintConfig = `--config ${require.resolve("@ui5/webcomponents-tools/components-package/eslint.js")}`;
8
15
 
9
16
  const scripts = {
10
- clean: "rimraf dist",
11
- lint: "eslint . --config config/.eslintrc.js",
12
- prepare: "nps clean copy generateAssetParameters",
17
+ clean: "rimraf dist && rimraf .port",
18
+ lint: `eslint . ${eslintConfig}`,
19
+ prepare: "nps clean integrate copy typescript generateAssetParameters generateVersionInfo generateStyles generateTemplates generateAPI",
20
+ typescript: "tsc",
21
+ integrate: {
22
+ default: "nps integrate.copy-used-modules integrate.replace-amd integrate.amd-to-es6 integrate.esm-abs-to-rel integrate.third-party",
23
+ "copy-used-modules": `node "${copyUsedModules}" ./used-modules.txt dist/`,
24
+ "replace-amd": "replace-in-file sap.ui.define define dist/**/*.js",
25
+ "amd-to-es6": "amdtoes6 --src=dist/ --replace --glob=**/*.js",
26
+ "esm-abs-to-rel": `node "${esmAbsToRel}" dist/ dist/`,
27
+ "third-party": {
28
+ default: "nps integrate.third-party.copy integrate.third-party.fix",
29
+ copy: "mkdirp dist/sap/ui/thirdparty/ && copy-and-watch ../../node_modules/@openui5/sap.ui.core/src/sap/ui/thirdparty/caja-html-sanitizer.js dist/sap/ui/thirdparty/",
30
+ fix: "replace-in-file 240 xA0 dist/sap/ui/thirdparty/caja-html-sanitizer.js"
31
+ },
32
+ },
13
33
  build: {
14
- default: "nps lint prepare build.bundle",
15
- bundle: "rollup --config config/rollup.config.js --environment ES5_BUILD",
34
+ default: `nps lint prepare build.bundle`,
35
+ bundle: `vite build ${viteConfig}`,
16
36
  },
17
37
  copy: {
18
- default: "nps copy.src copy.test copy.webcomponents-polyfill",
19
- src: "copy-and-watch \"src/**/*.js\" dist/",
20
- test: "copy-and-watch \"test/**/*.*\" dist/test-resources",
21
- "webcomponents-polyfill": "copy-and-watch \"../../node_modules/@webcomponents/webcomponentsjs/**/*.*\" dist/webcomponentsjs/",
38
+ default: "nps copy.src",
39
+ src: `copy-and-watch "src/**/*.{js,css}" dist/`,
22
40
  },
23
41
  generateAssetParameters: `node "${assetParametersScript}"`,
42
+ generateVersionInfo: `node "${versionScript}"`,
43
+ generateStyles: `node "${stylesScript}"`,
44
+ generateTemplates: `mkdirp dist/generated/templates && node "${LIB}/hbs2ui5/index.js" -d test/elements -o dist/generated/templates`,
45
+ generateAPI: {
46
+ default: "nps generateAPI.prepare generateAPI.preprocess generateAPI.jsdoc generateAPI.cleanup",
47
+ prepare: `copy-and-watch "dist/**/*.js" jsdoc-dist/`,
48
+ preprocess: `node "${preprocessJSDocScript}" jsdoc-dist/`,
49
+ jsdoc: `jsdoc -c "${LIB}/jsdoc/configTypescript.json"`,
50
+ cleanup: "rimraf jsdoc-dist/"
51
+ },
24
52
  watch: {
25
- default: 'concurrently "nps watch.test" "nps watch.src" "nps watch.bundle"',
53
+ default: 'concurrently "nps watch.src" "nps watch.styles" "nps watch.typescript"',
54
+ withBundle: 'concurrently "nps watch.src" "nps watch.bundle" "nps watch.styles" "nps watch.typescript"',
26
55
  src: 'nps "copy.src --watch --skip-initial-copy"',
27
- test: 'nps "copy.test --watch --skip-initial-copy"',
28
- bundle: "rollup --config config/rollup.config.js -w --environment ES5_BUILD,DEV",
29
- },
30
- dev: 'concurrently "nps serve" "nps watch"',
31
- start: "nps prepare dev",
32
- serve: {
33
- default: "nps serve.prepare serve.run",
34
- prepare: `copy-and-watch "${serveConfig}" dist/`,
35
- run: `serve --no-clipboard -l ${port} dist`,
36
- },
37
- test: {
38
- // --success first - report the exit code of the test run (first command to finish), as serve is always terminated and has a non-0 exit code
39
- default: 'concurrently "nps serve" "nps test.run" --kill-others --success first',
40
- run: "cross-env WDIO_LOG_LEVEL=error FORCE_COLOR=0 wdio config/wdio.conf.js",
56
+ typescript: 'tsc --watch',
57
+ bundle: `node ${LIB}/dev-server/dev-server.js ${viteConfig}`,
58
+ styles: 'chokidar "src/css/*.css" -c "nps generateStyles"'
41
59
  },
60
+ start: "nps prepare watch.withBundle",
61
+ test: `node "${LIB}/test-runner/test-runner.js"`,
42
62
  };
43
63
 
44
64
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/webcomponents-base",
3
- "version": "0.0.0-dff5837d7",
3
+ "version": "0.0.0-e0658a650",
4
4
  "description": "UI5 Web Components: webcomponents.base",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -15,6 +15,13 @@
15
15
  "url": "https://github.com/SAP/ui5-webcomponents.git",
16
16
  "directory": "packages/base"
17
17
  },
18
+ "exports": {
19
+ ".": "./index.js",
20
+ "./dist/*": "./dist/*",
21
+ "./package.json": "./package.json",
22
+ "./bundle.esm.js": "./bundle.esm.js",
23
+ "./*": "./dist/*"
24
+ },
18
25
  "scripts": {
19
26
  "clean": "nps clean",
20
27
  "lint": "nps lint",
@@ -24,19 +31,20 @@
24
31
  "prepublishOnly": "npm run clean && npm run build"
25
32
  },
26
33
  "dependencies": {
27
- "css-vars-ponyfill": "^2.1.2",
28
- "lit-html": "^1.0.0",
29
- "regenerator-runtime": "0.12.1",
30
- "url-search-params-polyfill": "^5.0.0"
34
+ "lit-html": "^2.0.1"
31
35
  },
32
36
  "devDependencies": {
33
- "@ui5/webcomponents-tools": "0.0.0-dff5837d7",
34
- "chromedriver": "latest",
35
- "array-uniq": "^2.0.0",
36
- "copy-and-watch": "^0.1.4",
37
- "eslint": "^5.13.0",
38
- "eslint-config-airbnb-base": "^13.1.0",
39
- "npm-run-all": "^4.1.5",
40
- "path-exists-cli": "^1.0.0"
37
+ "@buxlabs/amd-to-es6": "0.16.1",
38
+ "@openui5/sap.ui.core": "1.101.0",
39
+ "@ui5/webcomponents-tools": "0.0.0-e0658a650",
40
+ "chromedriver": "106.0.1",
41
+ "clean-css": "^5.2.2",
42
+ "copy-and-watch": "^0.1.5",
43
+ "cross-env": "^7.0.3",
44
+ "eslint": "^7.22.0",
45
+ "mkdirp": "^1.0.4",
46
+ "replace-in-file": "^6.3.5",
47
+ "resolve": "^1.20.0",
48
+ "typescript": "^4.9.3"
41
49
  }
42
50
  }
@@ -0,0 +1,11 @@
1
+ import { registerI18nLoader } from "./asset-registries/i18n.js";
2
+ import { registerLocaleDataLoader } from "./asset-registries/LocaleData.js";
3
+ import { registerThemePropertiesLoader } from "./asset-registries/Themes.js";
4
+ import { registerIconLoader } from "./asset-registries/Icons.js";
5
+
6
+ export {
7
+ registerI18nLoader,
8
+ registerLocaleDataLoader,
9
+ registerThemePropertiesLoader,
10
+ registerIconLoader,
11
+ };
package/src/Boot.ts ADDED
@@ -0,0 +1,61 @@
1
+ import whenDOMReady from "./util/whenDOMReady.js";
2
+ import insertFontFace from "./FontFace.js";
3
+ import insertSystemCSSVars from "./SystemCSSVars.js";
4
+ import { getTheme } from "./config/Theme.js";
5
+ import applyTheme from "./theming/applyTheme.js";
6
+ import { registerCurrentRuntime } from "./Runtimes.js";
7
+ import { getFeature } from "./FeaturesRegistry.js";
8
+ import type OpenUI5Support from "./features/OpenUI5Support.js";
9
+ import type F6Navigation from "./features/F6Navigation.js";
10
+ import { PromiseResolve } from "./types.js";
11
+
12
+ let bootPromise: Promise<void>;
13
+
14
+ /**
15
+ * Attach a callback that will be executed on boot
16
+ * @public
17
+ * @param listener
18
+ */
19
+ const attachBoot = async (listener: () => void) => {
20
+ await boot();
21
+ listener();
22
+ };
23
+
24
+ const boot = async (): Promise<void> => {
25
+ if (bootPromise !== undefined) {
26
+ return bootPromise;
27
+ }
28
+
29
+ const bootExecutor = async (resolve: PromiseResolve) => {
30
+ registerCurrentRuntime();
31
+
32
+ const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
33
+ const isOpenUI5Loaded = openUI5Support ? openUI5Support.isLoaded() : false;
34
+ const f6Navigation = getFeature<typeof F6Navigation>("F6Navigation");
35
+
36
+ if (openUI5Support) {
37
+ await openUI5Support.init();
38
+ }
39
+
40
+ if (f6Navigation && !isOpenUI5Loaded) {
41
+ f6Navigation.init();
42
+ }
43
+
44
+ await whenDOMReady();
45
+ await applyTheme(getTheme());
46
+ openUI5Support && openUI5Support.attachListeners();
47
+ insertFontFace();
48
+ insertSystemCSSVars();
49
+
50
+ resolve();
51
+ };
52
+
53
+ bootPromise = new Promise(bootExecutor as (resolve: PromiseResolve) => void);
54
+
55
+ return bootPromise;
56
+ };
57
+
58
+ export {
59
+ boot,
60
+ attachBoot,
61
+ };