@ui5/webcomponents-base 0.0.0-d0bcf47c7 → 0.0.0-d1315d658

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 (760) hide show
  1. package/.eslintignore +9 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +924 -0
  4. package/README.md +57 -7
  5. package/bundle.esm.js +37 -26
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/AssetRegistry.d.ts +5 -0
  8. package/dist/AssetRegistry.js +6 -9
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +71 -0
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +78 -0
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -0
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/dist/CustomElementsScopeUtils.js +90 -0
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +23 -0
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +159 -816
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -70
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +22 -63
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/IgnoreCustomElements.d.ts +27 -0
  41. package/dist/IgnoreCustomElements.js +39 -0
  42. package/dist/IgnoreCustomElements.js.map +1 -0
  43. package/dist/InitialConfiguration.d.ts +27 -0
  44. package/dist/InitialConfiguration.js +132 -102
  45. package/dist/InitialConfiguration.js.map +1 -0
  46. package/dist/Keys.d.ts +61 -0
  47. package/dist/Keys.js +182 -0
  48. package/dist/Keys.js.map +1 -0
  49. package/dist/ManagedStyles.d.ts +8 -0
  50. package/dist/ManagedStyles.js +84 -0
  51. package/dist/ManagedStyles.js.map +1 -0
  52. package/dist/MarkedEvents.d.ts +9 -0
  53. package/dist/MarkedEvents.js +15 -0
  54. package/dist/MarkedEvents.js.map +1 -0
  55. package/dist/MediaRange.d.ts +37 -0
  56. package/dist/MediaRange.js +98 -0
  57. package/dist/MediaRange.js.map +1 -0
  58. package/dist/PropertiesFileFormat.d.ts +8 -0
  59. package/dist/PropertiesFileFormat.js +85 -0
  60. package/dist/PropertiesFileFormat.js.map +1 -0
  61. package/dist/Render.d.ts +47 -0
  62. package/dist/Render.js +143 -0
  63. package/dist/Render.js.map +1 -0
  64. package/dist/RenderQueue.d.ts +19 -0
  65. package/dist/RenderQueue.js +53 -39
  66. package/dist/RenderQueue.js.map +1 -0
  67. package/dist/Runtimes.d.ts +27 -0
  68. package/dist/Runtimes.js +86 -0
  69. package/dist/Runtimes.js.map +1 -0
  70. package/dist/StaticArea.d.ts +3 -0
  71. package/dist/StaticArea.js +7 -0
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +37 -0
  74. package/dist/StaticAreaItem.js +105 -0
  75. package/dist/StaticAreaItem.js.map +1 -0
  76. package/dist/SystemCSSVars.d.ts +2 -0
  77. package/dist/SystemCSSVars.js +9 -0
  78. package/dist/SystemCSSVars.js.map +1 -0
  79. package/dist/Theming.d.ts +3 -0
  80. package/dist/Theming.js +4 -45
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +380 -0
  83. package/dist/UI5Element.js +953 -819
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -143
  87. package/dist/UI5ElementMetadata.js.map +1 -0
  88. package/dist/animations/AnimationQueue.d.ts +8 -0
  89. package/dist/animations/AnimationQueue.js +31 -38
  90. package/dist/animations/AnimationQueue.js.map +1 -0
  91. package/dist/animations/animate.d.ts +14 -0
  92. package/dist/animations/animate.js +46 -51
  93. package/dist/animations/animate.js.map +1 -0
  94. package/dist/animations/scroll.d.ts +5 -0
  95. package/dist/animations/scroll.js +18 -27
  96. package/dist/animations/scroll.js.map +1 -0
  97. package/dist/animations/slideDown.d.ts +5 -0
  98. package/dist/animations/slideDown.js +53 -78
  99. package/dist/animations/slideDown.js.map +1 -0
  100. package/dist/animations/slideUp.d.ts +5 -0
  101. package/dist/animations/slideUp.js +49 -70
  102. package/dist/animations/slideUp.js.map +1 -0
  103. package/dist/api.json +1 -0
  104. package/dist/asset-registries/Icons.d.ts +38 -0
  105. package/dist/asset-registries/Icons.js +125 -24
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +17 -0
  108. package/dist/asset-registries/Illustrations.js +46 -0
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +127 -92
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +11 -0
  114. package/dist/asset-registries/Themes.js +42 -65
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +84 -58
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/assets/Boot.34b7cea0.css +1 -0
  120. package/dist/assets/Boot.f668b2d0.js +9 -0
  121. package/dist/assets/bundle.esm.88a9eda7.js +50 -0
  122. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  123. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  124. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  125. package/dist/config/AnimationMode.d.ts +14 -0
  126. package/dist/config/AnimationMode.js +23 -6
  127. package/dist/config/AnimationMode.js.map +1 -0
  128. package/dist/config/CalendarType.d.ts +8 -0
  129. package/dist/config/CalendarType.js +15 -14
  130. package/dist/config/CalendarType.js.map +1 -0
  131. package/dist/config/FormatSettings.d.ts +15 -0
  132. package/dist/config/FormatSettings.js +16 -6
  133. package/dist/config/FormatSettings.js.map +1 -0
  134. package/dist/config/Icons.d.ts +55 -0
  135. package/dist/config/Icons.js +103 -0
  136. package/dist/config/Icons.js.map +1 -0
  137. package/dist/config/Language.d.ts +40 -0
  138. package/dist/config/Language.js +66 -7
  139. package/dist/config/Language.js.map +1 -0
  140. package/dist/config/NoConflict.d.ts +20 -0
  141. package/dist/config/NoConflict.js +41 -34
  142. package/dist/config/NoConflict.js.map +1 -0
  143. package/dist/config/RTL.d.ts +7 -0
  144. package/dist/config/RTL.js +26 -20
  145. package/dist/config/RTL.js.map +1 -0
  146. package/dist/config/Theme.d.ts +38 -0
  147. package/dist/config/Theme.js +65 -19
  148. package/dist/config/Theme.js.map +1 -0
  149. package/dist/config/ThemeRoot.d.ts +29 -0
  150. package/dist/config/ThemeRoot.js +59 -0
  151. package/dist/config/ThemeRoot.js.map +1 -0
  152. package/dist/config/Timezone.d.ts +17 -0
  153. package/dist/config/Timezone.js +30 -0
  154. package/dist/config/Timezone.js.map +1 -0
  155. package/dist/css/BusyIndicator.css +80 -0
  156. package/dist/css/FontFace.css +84 -0
  157. package/dist/css/OverrideFontFace.css +32 -0
  158. package/dist/css/SystemCSSVars.css +17 -0
  159. package/dist/decorators/customElement.d.ts +23 -0
  160. package/dist/decorators/customElement.js +37 -0
  161. package/dist/decorators/customElement.js.map +1 -0
  162. package/dist/decorators/event.d.ts +10 -0
  163. package/dist/decorators/event.js +24 -0
  164. package/dist/decorators/event.js.map +1 -0
  165. package/dist/decorators/property.d.ts +9 -0
  166. package/dist/decorators/property.js +24 -0
  167. package/dist/decorators/property.js.map +1 -0
  168. package/dist/decorators/slot.d.ts +9 -0
  169. package/dist/decorators/slot.js +37 -0
  170. package/dist/decorators/slot.js.map +1 -0
  171. package/dist/delegate/ItemNavigation.d.ts +113 -0
  172. package/dist/delegate/ItemNavigation.js +312 -231
  173. package/dist/delegate/ItemNavigation.js.map +1 -0
  174. package/dist/delegate/ResizeHandler.d.ts +25 -0
  175. package/dist/delegate/ResizeHandler.js +84 -63
  176. package/dist/delegate/ResizeHandler.js.map +1 -0
  177. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  178. package/dist/delegate/ScrollEnablement.js +159 -74
  179. package/dist/delegate/ScrollEnablement.js.map +1 -0
  180. package/dist/features/F6Navigation.d.ts +19 -0
  181. package/dist/features/F6Navigation.js +151 -0
  182. package/dist/features/F6Navigation.js.map +1 -0
  183. package/dist/features/LegacyDateFormats.d.ts +18 -0
  184. package/dist/features/LegacyDateFormats.js +20 -0
  185. package/dist/features/LegacyDateFormats.js.map +1 -0
  186. package/dist/features/OpenUI5Element.d.ts +9 -0
  187. package/dist/features/OpenUI5Element.js +5 -0
  188. package/dist/features/OpenUI5Element.js.map +1 -0
  189. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  190. package/dist/features/OpenUI5Enablement.js +96 -0
  191. package/dist/features/OpenUI5Enablement.js.map +1 -0
  192. package/dist/features/OpenUI5Support.d.ts +36 -0
  193. package/dist/features/OpenUI5Support.js +154 -0
  194. package/dist/features/OpenUI5Support.js.map +1 -0
  195. package/dist/generated/AssetParameters.js +15 -0
  196. package/dist/generated/VersionInfo.js +10 -0
  197. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  198. package/dist/generated/css/BusyIndicator.css.js +7 -0
  199. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  200. package/dist/generated/css/FontFace.css.d.ts +3 -0
  201. package/dist/generated/css/FontFace.css.js +7 -0
  202. package/dist/generated/css/FontFace.css.js.map +1 -0
  203. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  204. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  205. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  206. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  207. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  208. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  209. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  210. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  211. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  212. package/dist/getSharedResource.d.ts +11 -0
  213. package/dist/getSharedResource.js +40 -0
  214. package/dist/getSharedResource.js.map +1 -0
  215. package/dist/global.d.ts +40 -0
  216. package/dist/i18nBundle.d.ts +43 -0
  217. package/dist/i18nBundle.js +74 -30
  218. package/dist/i18nBundle.js.map +1 -0
  219. package/dist/locale/Locale.d.ts +22 -0
  220. package/dist/locale/Locale.js +79 -0
  221. package/dist/locale/Locale.js.map +1 -0
  222. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  223. package/dist/locale/RTLAwareRegistry.js +9 -0
  224. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  225. package/dist/locale/applyDirection.d.ts +10 -0
  226. package/dist/locale/applyDirection.js +17 -0
  227. package/dist/locale/applyDirection.js.map +1 -0
  228. package/dist/locale/directionChange.d.ts +15 -0
  229. package/dist/locale/directionChange.js +24 -0
  230. package/dist/locale/directionChange.js.map +1 -0
  231. package/dist/locale/getEffectiveDir.d.ts +2 -0
  232. package/dist/locale/getEffectiveDir.js +24 -0
  233. package/dist/locale/getEffectiveDir.js.map +1 -0
  234. package/dist/locale/getLocale.d.ts +7 -0
  235. package/dist/locale/getLocale.js +38 -0
  236. package/dist/locale/getLocale.js.map +1 -0
  237. package/dist/locale/languageChange.d.ts +5 -0
  238. package/dist/locale/languageChange.js +14 -0
  239. package/dist/locale/languageChange.js.map +1 -0
  240. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  241. package/dist/locale/nextFallbackLocale.js +24 -0
  242. package/dist/locale/nextFallbackLocale.js.map +1 -0
  243. package/dist/locale/normalizeLocale.d.ts +7 -0
  244. package/dist/locale/normalizeLocale.js +47 -0
  245. package/dist/locale/normalizeLocale.js.map +1 -0
  246. package/dist/renderer/LitRenderer.d.ts +14 -0
  247. package/dist/renderer/LitRenderer.js +38 -12
  248. package/dist/renderer/LitRenderer.js.map +1 -0
  249. package/dist/renderer/directives/style-map.js +72 -0
  250. package/dist/renderer/executeTemplate.d.ts +13 -0
  251. package/dist/renderer/executeTemplate.js +30 -0
  252. package/dist/renderer/executeTemplate.js.map +1 -0
  253. package/dist/sap/base/Log.js +240 -0
  254. package/dist/sap/base/assert.js +7 -0
  255. package/dist/sap/base/security/URLListValidator.js +159 -0
  256. package/dist/sap/base/security/encodeCSS.js +14 -0
  257. package/dist/sap/base/security/encodeXML.js +23 -0
  258. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  259. package/dist/sap/base/strings/toHex.js +8 -0
  260. package/dist/sap/base/util/now.js +7 -0
  261. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  262. package/dist/theming/CustomStyle.d.ts +6 -0
  263. package/dist/theming/CustomStyle.js +46 -17
  264. package/dist/theming/CustomStyle.js.map +1 -0
  265. package/dist/theming/ThemeLoaded.d.ts +5 -0
  266. package/dist/theming/ThemeLoaded.js +14 -0
  267. package/dist/theming/ThemeLoaded.js.map +1 -0
  268. package/dist/theming/ThemeRegistered.d.ts +4 -0
  269. package/dist/theming/ThemeRegistered.js +11 -0
  270. package/dist/theming/ThemeRegistered.js.map +1 -0
  271. package/dist/theming/applyTheme.d.ts +2 -0
  272. package/dist/theming/applyTheme.js +77 -0
  273. package/dist/theming/applyTheme.js.map +1 -0
  274. package/dist/theming/getConstructableStyle.d.ts +9 -0
  275. package/dist/theming/getConstructableStyle.js +25 -0
  276. package/dist/theming/getConstructableStyle.js.map +1 -0
  277. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  278. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  279. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  280. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  281. package/dist/theming/getEffectiveStyle.js +32 -0
  282. package/dist/theming/getEffectiveStyle.js.map +1 -0
  283. package/dist/theming/getStylesString.d.ts +3 -0
  284. package/dist/theming/getStylesString.js +11 -0
  285. package/dist/theming/getStylesString.js.map +1 -0
  286. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  287. package/dist/theming/getThemeDesignerTheme.js +80 -0
  288. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  289. package/dist/theming/preloadLinks.d.ts +3 -0
  290. package/dist/theming/preloadLinks.js +19 -0
  291. package/dist/theming/preloadLinks.js.map +1 -0
  292. package/dist/thirdparty/_merge.d.ts +2 -0
  293. package/dist/thirdparty/_merge.js +35 -0
  294. package/dist/thirdparty/_merge.js.map +1 -0
  295. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  296. package/dist/thirdparty/isPlainObject.js +19 -0
  297. package/dist/thirdparty/isPlainObject.js.map +1 -0
  298. package/dist/thirdparty/merge.d.ts +2 -0
  299. package/dist/thirdparty/merge.js +6 -0
  300. package/dist/thirdparty/merge.js.map +1 -0
  301. package/dist/types/AnimationMode.d.ts +32 -0
  302. package/dist/types/AnimationMode.js +33 -6
  303. package/dist/types/AnimationMode.js.map +1 -0
  304. package/dist/types/CSSColor.d.ts +15 -0
  305. package/dist/types/CSSColor.js +18 -0
  306. package/dist/types/CSSColor.js.map +1 -0
  307. package/dist/types/CalendarType.d.ts +37 -0
  308. package/dist/types/CalendarType.js +39 -0
  309. package/dist/types/CalendarType.js.map +1 -0
  310. package/dist/types/DOMReference.d.ts +17 -0
  311. package/dist/types/DOMReference.js +25 -0
  312. package/dist/types/DOMReference.js.map +1 -0
  313. package/dist/types/DataType.d.ts +25 -0
  314. package/dist/types/DataType.js +33 -14
  315. package/dist/types/DataType.js.map +1 -0
  316. package/dist/types/Float.d.ts +17 -0
  317. package/dist/types/Float.js +21 -0
  318. package/dist/types/Float.js.map +1 -0
  319. package/dist/types/Integer.d.ts +17 -0
  320. package/dist/types/Integer.js +17 -5
  321. package/dist/types/Integer.js.map +1 -0
  322. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  323. package/dist/types/InvisibleMessageMode.js +27 -0
  324. package/dist/types/InvisibleMessageMode.js.map +1 -0
  325. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  326. package/dist/types/ItemNavigationBehavior.js +22 -17
  327. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  328. package/dist/types/NavigationMode.d.ts +32 -0
  329. package/dist/types/NavigationMode.js +33 -5
  330. package/dist/types/NavigationMode.js.map +1 -0
  331. package/dist/types/ValueState.d.ts +42 -0
  332. package/dist/types/ValueState.js +41 -18
  333. package/dist/types/ValueState.js.map +1 -0
  334. package/dist/types.d.ts +18 -0
  335. package/dist/types.js +2 -0
  336. package/dist/types.js.map +1 -0
  337. package/dist/updateShadowRoot.d.ts +8 -0
  338. package/dist/updateShadowRoot.js +41 -0
  339. package/dist/updateShadowRoot.js.map +1 -0
  340. package/dist/util/AriaLabelHelper.d.ts +15 -0
  341. package/dist/util/AriaLabelHelper.js +171 -0
  342. package/dist/util/AriaLabelHelper.js.map +1 -0
  343. package/dist/util/Caret.d.ts +7 -0
  344. package/dist/util/Caret.js +23 -0
  345. package/dist/util/Caret.js.map +1 -0
  346. package/dist/util/ColorConversion.d.ts +30 -0
  347. package/dist/util/ColorConversion.js +337 -0
  348. package/dist/util/ColorConversion.js.map +1 -0
  349. package/dist/util/FetchHelper.d.ts +3 -0
  350. package/dist/util/FetchHelper.js +19 -25
  351. package/dist/util/FetchHelper.js.map +1 -0
  352. package/dist/util/FocusableElements.d.ts +4 -0
  353. package/dist/util/FocusableElements.js +68 -56
  354. package/dist/util/FocusableElements.js.map +1 -0
  355. package/dist/util/HTMLSanitizer.d.ts +3 -0
  356. package/dist/util/HTMLSanitizer.js +6 -0
  357. package/dist/util/HTMLSanitizer.js.map +1 -0
  358. package/dist/util/InvisibleMessage.d.ts +10 -0
  359. package/dist/util/InvisibleMessage.js +56 -0
  360. package/dist/util/InvisibleMessage.js.map +1 -0
  361. package/dist/util/PopupUtils.d.ts +7 -0
  362. package/dist/util/PopupUtils.js +74 -0
  363. package/dist/util/PopupUtils.js.map +1 -0
  364. package/dist/util/SlotsHelper.d.ts +9 -0
  365. package/dist/util/SlotsHelper.js +30 -0
  366. package/dist/util/SlotsHelper.js.map +1 -0
  367. package/dist/util/StringHelper.d.ts +3 -0
  368. package/dist/util/StringHelper.js +21 -9
  369. package/dist/util/StringHelper.js.map +1 -0
  370. package/dist/util/TabbableElements.d.ts +17 -0
  371. package/dist/util/TabbableElements.js +53 -40
  372. package/dist/util/TabbableElements.js.map +1 -0
  373. package/dist/util/arraysAreEqual.d.ts +2 -0
  374. package/dist/util/arraysAreEqual.js +13 -0
  375. package/dist/util/arraysAreEqual.js.map +1 -0
  376. package/dist/util/clamp.d.ts +9 -0
  377. package/dist/util/clamp.js +12 -0
  378. package/dist/util/clamp.js.map +1 -0
  379. package/dist/util/createLinkInHead.d.ts +7 -0
  380. package/dist/util/createLinkInHead.js +21 -0
  381. package/dist/util/createLinkInHead.js.map +1 -0
  382. package/dist/util/createStyleInHead.d.ts +8 -0
  383. package/dist/util/createStyleInHead.js +10 -10
  384. package/dist/util/createStyleInHead.js.map +1 -0
  385. package/dist/util/debounce.d.ts +2 -0
  386. package/dist/util/debounce.js +15 -0
  387. package/dist/util/debounce.js.map +1 -0
  388. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  389. package/dist/util/detectNavigatorLanguage.js +8 -9
  390. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  391. package/dist/util/escapeRegex.d.ts +8 -0
  392. package/dist/util/escapeRegex.js +11 -0
  393. package/dist/util/escapeRegex.js.map +1 -0
  394. package/dist/util/formatMessage.d.ts +2 -0
  395. package/dist/util/formatMessage.js +15 -19
  396. package/dist/util/formatMessage.js.map +1 -0
  397. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  398. package/dist/util/generateHighlightedMarkup.js +41 -0
  399. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  400. package/dist/util/getActiveElement.d.ts +2 -0
  401. package/dist/util/getActiveElement.js +9 -0
  402. package/dist/util/getActiveElement.js.map +1 -0
  403. package/dist/util/getClassCopy.d.ts +400 -0
  404. package/dist/util/getClassCopy.js +10 -0
  405. package/dist/util/getClassCopy.js.map +1 -0
  406. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  407. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  408. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  409. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  410. package/dist/util/getEffectiveContentDensity.js +4 -0
  411. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  412. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  413. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  414. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  415. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  416. package/dist/util/getFastNavigationGroups.js +51 -0
  417. package/dist/util/getFastNavigationGroups.js.map +1 -0
  418. package/dist/util/getFileExtension.d.ts +12 -0
  419. package/dist/util/getFileExtension.js +19 -0
  420. package/dist/util/getFileExtension.js.map +1 -0
  421. package/dist/util/getNormalizedTarget.d.ts +7 -0
  422. package/dist/util/getNormalizedTarget.js +14 -0
  423. package/dist/util/getNormalizedTarget.js.map +1 -0
  424. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  425. package/dist/util/getSingletonElementInstance.js +19 -0
  426. package/dist/util/getSingletonElementInstance.js.map +1 -0
  427. package/dist/util/isElementClickable.d.ts +2 -0
  428. package/dist/util/isElementClickable.js +16 -0
  429. package/dist/util/isElementClickable.js.map +1 -0
  430. package/dist/util/isElementHidden.d.ts +2 -0
  431. package/dist/util/isElementHidden.js +8 -0
  432. package/dist/util/isElementHidden.js.map +1 -0
  433. package/dist/util/isElementInView.d.ts +6 -0
  434. package/dist/util/isElementInView.js +12 -0
  435. package/dist/util/isElementInView.js.map +1 -0
  436. package/dist/util/isElementTabbable.d.ts +9 -0
  437. package/dist/util/isElementTabbable.js +30 -0
  438. package/dist/util/isElementTabbable.js.map +1 -0
  439. package/dist/util/isValidPropertyName.d.ts +8 -0
  440. package/dist/util/isValidPropertyName.js +20 -12
  441. package/dist/util/isValidPropertyName.js.map +1 -0
  442. package/dist/util/whenDOMReady.d.ts +2 -0
  443. package/dist/util/whenDOMReady.js +11 -10
  444. package/dist/util/whenDOMReady.js.map +1 -0
  445. package/dist/util/willShowContent.d.ts +2 -0
  446. package/dist/util/willShowContent.js +7 -0
  447. package/dist/util/willShowContent.js.map +1 -0
  448. package/dist/validateThemeRoot.d.ts +2 -0
  449. package/dist/validateThemeRoot.js +48 -0
  450. package/dist/validateThemeRoot.js.map +1 -0
  451. package/index.js +228 -2
  452. package/lib/generate-asset-parameters/index.js +27 -0
  453. package/lib/generate-styles/index.js +31 -0
  454. package/lib/generate-version-info/index.js +32 -0
  455. package/package-scripts.cjs +71 -0
  456. package/package.json +23 -14
  457. package/src/css/BusyIndicator.css +80 -0
  458. package/src/css/FontFace.css +84 -0
  459. package/src/css/OverrideFontFace.css +32 -0
  460. package/src/css/SystemCSSVars.css +17 -0
  461. package/src/renderer/directives/style-map.js +72 -0
  462. package/tsconfig.json +14 -0
  463. package/used-modules.txt +10 -0
  464. package/bundle.es5.js +0 -31
  465. package/config/rollup.config.js +0 -1
  466. package/config/wdio.conf.js +0 -1
  467. package/dist/Assets.js +0 -2
  468. package/dist/CSS.js +0 -48
  469. package/dist/ContentDensity.js +0 -20
  470. package/dist/FormatSettings.js +0 -31
  471. package/dist/Locale.js +0 -101
  472. package/dist/LocaleProvider.js +0 -34
  473. package/dist/RenderScheduler.js +0 -160
  474. package/dist/ResourceLoaderOverrides.js +0 -38
  475. package/dist/SVGIconRegistry.js +0 -54
  476. package/dist/animations/config.js +0 -5
  477. package/dist/boot.js +0 -28
  478. package/dist/cldr/en.js +0 -4788
  479. package/dist/compatibility/DOMObserver.js +0 -62
  480. package/dist/compatibility/patchNodeValue.js +0 -24
  481. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  482. package/dist/config/CompactSize.js +0 -23
  483. package/dist/dates/CalendarDate.js +0 -203
  484. package/dist/dates/CalendarDatesRegistry.js +0 -17
  485. package/dist/dates/CalendarType.js +0 -22
  486. package/dist/dates/CalendarUtils.js +0 -99
  487. package/dist/delegate/CustomResize.js +0 -78
  488. package/dist/delegate/NativeResize.js +0 -44
  489. package/dist/events/EventEnrichment.js +0 -38
  490. package/dist/events/PseudoEvents.js +0 -58
  491. package/dist/features/browsersupport/Edge.js +0 -6
  492. package/dist/features/browsersupport/IE11.js +0 -41
  493. package/dist/features/calendar/Buddhist.js +0 -1
  494. package/dist/features/calendar/Islamic.js +0 -1
  495. package/dist/features/calendar/Japanese.js +0 -1
  496. package/dist/features/calendar/Persian.js +0 -1
  497. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  498. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  499. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  500. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  501. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  502. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  503. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  504. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  505. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  506. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  507. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  508. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  509. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  510. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  511. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  512. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  513. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  514. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  515. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  516. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  517. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  518. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  519. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  520. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  521. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  522. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  523. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  524. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  525. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  526. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  527. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  528. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  529. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  530. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  531. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  532. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  533. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  534. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  535. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  536. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  537. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  538. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  539. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  540. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  541. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  542. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  543. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  544. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  545. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  546. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  547. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  548. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  549. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  550. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  551. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  552. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  553. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  554. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  555. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  556. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  557. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  558. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  559. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  560. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  561. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  562. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  563. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  564. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  565. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  566. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  567. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  568. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  569. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  570. package/dist/json-imports/LocaleData.js +0 -171
  571. package/dist/renderer/ifDefined.js +0 -21
  572. package/dist/resources/bundle.es5.js +0 -212
  573. package/dist/resources/bundle.es5.js.map +0 -1
  574. package/dist/resources/bundle.esm.js +0 -123
  575. package/dist/resources/bundle.esm.js.map +0 -1
  576. package/dist/shims/Core-shim.js +0 -52
  577. package/dist/shims/jquery-shim.js +0 -89
  578. package/dist/test-resources/assets/Themes.js +0 -11
  579. package/dist/test-resources/elements/Child.js +0 -35
  580. package/dist/test-resources/elements/DensityAware.js +0 -14
  581. package/dist/test-resources/elements/Generic.js +0 -83
  582. package/dist/test-resources/elements/GenericExt.js +0 -26
  583. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  584. package/dist/test-resources/elements/Parent.js +0 -36
  585. package/dist/test-resources/pages/AllTestElements.html +0 -42
  586. package/dist/test-resources/pages/Configuration.html +0 -20
  587. package/dist/test-resources/pages/ConfigurationScript.html +0 -37
  588. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -34
  589. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -69
  590. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -53
  591. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  592. package/dist/test-resources/specs/Theming.spec.js +0 -31
  593. package/dist/test-resources/specs/UI5ElementDensityAware.spec.js +0 -51
  594. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  595. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  596. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  597. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  598. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  599. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  600. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  601. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  602. package/dist/theming/StyleInjection.js +0 -67
  603. package/dist/theming/ThemeBundle.js +0 -29
  604. package/dist/thirdparty/Array.from.js +0 -16
  605. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  606. package/dist/thirdparty/Array.prototype.find.js +0 -46
  607. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  608. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  609. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  610. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  611. package/dist/thirdparty/Number.isInteger.js +0 -5
  612. package/dist/thirdparty/Number.isNaN.js +0 -1
  613. package/dist/thirdparty/Number.parseInt.js +0 -1
  614. package/dist/thirdparty/Object.assign.js +0 -31
  615. package/dist/thirdparty/Object.entries.js +0 -11
  616. package/dist/thirdparty/Symbol.js +0 -2
  617. package/dist/thirdparty/WeakSet.js +0 -27
  618. package/dist/thirdparty/events-polyfills.js +0 -89
  619. package/dist/thirdparty/fetch.js +0 -1
  620. package/dist/thirdparty/template.js +0 -600
  621. package/dist/types/CSSSize.js +0 -9
  622. package/dist/types/PopupState.js +0 -37
  623. package/dist/util/CSSTransformUtils.js +0 -90
  624. package/dist/util/isDescendantOf.js +0 -15
  625. package/dist/util/isNodeClickable.js +0 -19
  626. package/dist/util/isNodeHidden.js +0 -13
  627. package/dist/util/isNodeTabbable.js +0 -28
  628. package/dist/util/normalizeLocale.js +0 -77
  629. package/dist/webcomponentsjs/LICENSE.md +0 -19
  630. package/dist/webcomponentsjs/README.md +0 -229
  631. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  632. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  633. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  634. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  635. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  636. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  637. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  638. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  639. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  640. package/dist/webcomponentsjs/package.json +0 -46
  641. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  642. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  643. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  644. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  645. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  646. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  647. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  648. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  649. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  650. package/package-scripts.js +0 -42
  651. package/src/AssetRegistry.js +0 -9
  652. package/src/Assets.js +0 -2
  653. package/src/CSS.js +0 -48
  654. package/src/ContentDensity.js +0 -20
  655. package/src/Device.js +0 -823
  656. package/src/EventProvider.js +0 -73
  657. package/src/FeaturesRegistry.js +0 -11
  658. package/src/FontFace.js +0 -66
  659. package/src/FormatSettings.js +0 -31
  660. package/src/InitialConfiguration.js +0 -126
  661. package/src/Locale.js +0 -101
  662. package/src/LocaleProvider.js +0 -34
  663. package/src/RenderQueue.js +0 -42
  664. package/src/RenderScheduler.js +0 -160
  665. package/src/ResourceLoaderOverrides.js +0 -38
  666. package/src/SVGIconRegistry.js +0 -54
  667. package/src/Theming.js +0 -45
  668. package/src/UI5Element.js +0 -834
  669. package/src/UI5ElementMetadata.js +0 -156
  670. package/src/animations/AnimationQueue.js +0 -42
  671. package/src/animations/animate.js +0 -53
  672. package/src/animations/config.js +0 -5
  673. package/src/animations/scroll.js +0 -28
  674. package/src/animations/slideDown.js +0 -79
  675. package/src/animations/slideUp.js +0 -71
  676. package/src/asset-registries/Icons.js +0 -24
  677. package/src/asset-registries/LocaleData.js +0 -101
  678. package/src/asset-registries/Themes.js +0 -75
  679. package/src/asset-registries/i18n.js +0 -75
  680. package/src/boot.js +0 -28
  681. package/src/cldr/en.js +0 -4788
  682. package/src/compatibility/DOMObserver.js +0 -62
  683. package/src/compatibility/patchNodeValue.js +0 -24
  684. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  685. package/src/config/AnimationMode.js +0 -9
  686. package/src/config/CalendarType.js +0 -18
  687. package/src/config/CompactSize.js +0 -23
  688. package/src/config/FormatSettings.js +0 -9
  689. package/src/config/Language.js +0 -9
  690. package/src/config/NoConflict.js +0 -44
  691. package/src/config/RTL.js +0 -31
  692. package/src/config/Theme.js +0 -24
  693. package/src/dates/CalendarDate.js +0 -203
  694. package/src/dates/CalendarDatesRegistry.js +0 -17
  695. package/src/dates/CalendarType.js +0 -22
  696. package/src/dates/CalendarUtils.js +0 -99
  697. package/src/delegate/CustomResize.js +0 -78
  698. package/src/delegate/ItemNavigation.js +0 -235
  699. package/src/delegate/NativeResize.js +0 -44
  700. package/src/delegate/ResizeHandler.js +0 -66
  701. package/src/delegate/ScrollEnablement.js +0 -80
  702. package/src/events/EventEnrichment.js +0 -38
  703. package/src/events/PseudoEvents.js +0 -58
  704. package/src/features/browsersupport/Edge.js +0 -6
  705. package/src/features/browsersupport/IE11.js +0 -41
  706. package/src/features/calendar/Buddhist.js +0 -1
  707. package/src/features/calendar/Islamic.js +0 -1
  708. package/src/features/calendar/Japanese.js +0 -1
  709. package/src/features/calendar/Persian.js +0 -1
  710. package/src/i18nBundle.js +0 -35
  711. package/src/json-imports/LocaleData.js +0 -171
  712. package/src/renderer/LitRenderer.js +0 -15
  713. package/src/renderer/ifDefined.js +0 -21
  714. package/src/shims/Core-shim.js +0 -52
  715. package/src/shims/jquery-shim.js +0 -89
  716. package/src/theming/CustomStyle.js +0 -19
  717. package/src/theming/StyleInjection.js +0 -67
  718. package/src/theming/ThemeBundle.js +0 -29
  719. package/src/thirdparty/Array.from.js +0 -16
  720. package/src/thirdparty/Array.prototype.fill.js +0 -44
  721. package/src/thirdparty/Array.prototype.find.js +0 -46
  722. package/src/thirdparty/Array.prototype.includes.js +0 -51
  723. package/src/thirdparty/Element.prototype.closest.js +0 -11
  724. package/src/thirdparty/Element.prototype.matches.js +0 -6
  725. package/src/thirdparty/Map.prototype.keys.js +0 -9
  726. package/src/thirdparty/Number.isInteger.js +0 -5
  727. package/src/thirdparty/Number.isNaN.js +0 -1
  728. package/src/thirdparty/Number.parseInt.js +0 -1
  729. package/src/thirdparty/Object.assign.js +0 -31
  730. package/src/thirdparty/Object.entries.js +0 -11
  731. package/src/thirdparty/Symbol.js +0 -2
  732. package/src/thirdparty/WeakSet.js +0 -27
  733. package/src/thirdparty/events-polyfills.js +0 -89
  734. package/src/thirdparty/fetch.js +0 -1
  735. package/src/thirdparty/template.js +0 -600
  736. package/src/types/AnimationMode.js +0 -7
  737. package/src/types/CSSSize.js +0 -9
  738. package/src/types/DataType.js +0 -25
  739. package/src/types/Integer.js +0 -9
  740. package/src/types/ItemNavigationBehavior.js +0 -21
  741. package/src/types/NavigationMode.js +0 -6
  742. package/src/types/PopupState.js +0 -37
  743. package/src/types/ValueState.js +0 -21
  744. package/src/util/CSSTransformUtils.js +0 -90
  745. package/src/util/FetchHelper.js +0 -31
  746. package/src/util/FocusableElements.js +0 -60
  747. package/src/util/StringHelper.js +0 -11
  748. package/src/util/TabbableElements.js +0 -44
  749. package/src/util/createStyleInHead.js +0 -18
  750. package/src/util/detectNavigatorLanguage.js +0 -11
  751. package/src/util/formatMessage.js +0 -23
  752. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  753. package/src/util/isDescendantOf.js +0 -15
  754. package/src/util/isNodeClickable.js +0 -19
  755. package/src/util/isNodeHidden.js +0 -13
  756. package/src/util/isNodeTabbable.js +0 -28
  757. package/src/util/isValidPropertyName.js +0 -20
  758. package/src/util/normalizeLocale.js +0 -77
  759. package/src/util/whenDOMReady.js +0 -13
  760. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
package/dist/Boot.js ADDED
@@ -0,0 +1,71 @@
1
+ import whenDOMReady from "./util/whenDOMReady.js";
2
+ import EventProvider from "./EventProvider.js";
3
+ import insertFontFace from "./FontFace.js";
4
+ import insertSystemCSSVars from "./SystemCSSVars.js";
5
+ import { getTheme } from "./config/Theme.js";
6
+ import applyTheme from "./theming/applyTheme.js";
7
+ import { registerCurrentRuntime } from "./Runtimes.js";
8
+ import { getFeature } from "./FeaturesRegistry.js";
9
+ import { attachThemeRegistered } from "./theming/ThemeRegistered.js";
10
+ let booted = false;
11
+ let bootPromise;
12
+ const eventProvider = new EventProvider();
13
+ /**
14
+ * Attaches a callback that will be executed after boot finishes.
15
+ * <b>Note:</b> If the framework already booted, the callback will be immediately executed.
16
+ * @public
17
+ * @param { Function } listener
18
+ */
19
+ const attachBoot = (listener) => {
20
+ if (!booted) {
21
+ eventProvider.attachEvent("boot", listener);
22
+ return;
23
+ }
24
+ listener();
25
+ };
26
+ const boot = async () => {
27
+ if (bootPromise !== undefined) {
28
+ return bootPromise;
29
+ }
30
+ const bootExecutor = async (resolve) => {
31
+ if (typeof document === "undefined") {
32
+ resolve();
33
+ return;
34
+ }
35
+ attachThemeRegistered(onThemeRegistered);
36
+ registerCurrentRuntime();
37
+ const openUI5Support = getFeature("OpenUI5Support");
38
+ const isOpenUI5Loaded = openUI5Support ? openUI5Support.isOpenUI5Detected() : false;
39
+ const f6Navigation = getFeature("F6Navigation");
40
+ if (openUI5Support) {
41
+ await openUI5Support.init();
42
+ }
43
+ if (f6Navigation && !isOpenUI5Loaded) {
44
+ f6Navigation.init();
45
+ }
46
+ await whenDOMReady();
47
+ await applyTheme(getTheme());
48
+ openUI5Support && openUI5Support.attachListeners();
49
+ insertFontFace();
50
+ insertSystemCSSVars();
51
+ resolve();
52
+ booted = true;
53
+ await eventProvider.fireEventAsync("boot");
54
+ };
55
+ bootPromise = new Promise(bootExecutor);
56
+ return bootPromise;
57
+ };
58
+ /**
59
+ * Callback, executed after theme properties registration
60
+ * to apply the newly registered theme.
61
+ * @private
62
+ * @param { string } theme
63
+ */
64
+ const onThemeRegistered = (theme) => {
65
+ const currentTheme = getTheme();
66
+ if (booted && theme === currentTheme) {
67
+ applyTheme(currentTheme);
68
+ }
69
+ };
70
+ export { boot, attachBoot, };
71
+ //# sourceMappingURL=Boot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Boot.js","sourceRoot":"","sources":["../src/Boot.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,cAAc,MAAM,eAAe,CAAC;AAC3C,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,IAAI,WAA0B,CAAC;AAC/B,MAAM,aAAa,GAAG,IAAI,aAAa,EAAc,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAE,EAAE;IAC3C,IAAI,CAAC,MAAM,EAAE;QACZ,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO;KACP;IAED,QAAQ,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACtC,IAAI,WAAW,KAAK,SAAS,EAAE;QAC9B,OAAO,WAAW,CAAC;KACnB;IAED,MAAM,YAAY,GAAG,KAAK,EAAE,OAAuB,EAAE,EAAE;QACtD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACpC,OAAO,EAAE,CAAC;YACV,OAAO;SACP;QAED,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAEzC,sBAAsB,EAAE,CAAC;QAEzB,MAAM,cAAc,GAAG,UAAU,CAAwB,gBAAgB,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpF,MAAM,YAAY,GAAG,UAAU,CAAsB,cAAc,CAAC,CAAC;QAErE,IAAI,cAAc,EAAE;YACnB,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;SAC5B;QAED,IAAI,YAAY,IAAI,CAAC,eAAe,EAAE;YACrC,YAAY,CAAC,IAAI,EAAE,CAAC;SACpB;QAED,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7B,cAAc,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;QACnD,cAAc,EAAE,CAAC;QACjB,mBAAmB,EAAE,CAAC;QAEtB,OAAO,EAAE,CAAC;QAEV,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,WAAW,GAAG,IAAI,OAAO,CAAC,YAAiD,CAAC,CAAC;IAC7E,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAChC,IAAI,MAAM,IAAI,KAAK,KAAK,YAAY,EAAE;QACrC,UAAU,CAAC,YAAY,CAAC,CAAC;KACzB;AACF,CAAC,CAAC;AAEF,OAAO,EACN,IAAI,EACJ,UAAU,GACV,CAAC","sourcesContent":["import whenDOMReady from \"./util/whenDOMReady.js\";\nimport EventProvider from \"./EventProvider.js\";\nimport insertFontFace from \"./FontFace.js\";\nimport insertSystemCSSVars from \"./SystemCSSVars.js\";\nimport { getTheme } from \"./config/Theme.js\";\nimport applyTheme from \"./theming/applyTheme.js\";\nimport { registerCurrentRuntime } from \"./Runtimes.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\nimport type F6Navigation from \"./features/F6Navigation.js\";\nimport { PromiseResolve } from \"./types.js\";\nimport { attachThemeRegistered } from \"./theming/ThemeRegistered.js\";\n\nlet booted = false;\nlet bootPromise: Promise<void>;\nconst eventProvider = new EventProvider<void, void>();\n\n/**\n * Attaches a callback that will be executed after boot finishes.\n * <b>Note:</b> If the framework already booted, the callback will be immediately executed.\n * @public\n * @param { Function } listener\n */\nconst attachBoot = (listener: () => void) => {\n\tif (!booted) {\n\t\teventProvider.attachEvent(\"boot\", listener);\n\t\treturn;\n\t}\n\n\tlistener();\n};\n\nconst boot = async (): Promise<void> => {\n\tif (bootPromise !== undefined) {\n\t\treturn bootPromise;\n\t}\n\n\tconst bootExecutor = async (resolve: PromiseResolve) => {\n\t\tif (typeof document === \"undefined\") {\n\t\t\tresolve();\n\t\t\treturn;\n\t\t}\n\n\t\tattachThemeRegistered(onThemeRegistered);\n\n\t\tregisterCurrentRuntime();\n\n\t\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\t\tconst isOpenUI5Loaded = openUI5Support ? openUI5Support.isOpenUI5Detected() : false;\n\t\tconst f6Navigation = getFeature<typeof F6Navigation>(\"F6Navigation\");\n\n\t\tif (openUI5Support) {\n\t\t\tawait openUI5Support.init();\n\t\t}\n\n\t\tif (f6Navigation && !isOpenUI5Loaded) {\n\t\t\tf6Navigation.init();\n\t\t}\n\n\t\tawait whenDOMReady();\n\t\tawait applyTheme(getTheme());\n\t\topenUI5Support && openUI5Support.attachListeners();\n\t\tinsertFontFace();\n\t\tinsertSystemCSSVars();\n\n\t\tresolve();\n\n\t\tbooted = true;\n\t\tawait eventProvider.fireEventAsync(\"boot\");\n\t};\n\n\tbootPromise = new Promise(bootExecutor as (resolve: PromiseResolve) => void);\n\treturn bootPromise;\n};\n\n/**\n * Callback, executed after theme properties registration\n * to apply the newly registered theme.\n * @private\n * @param { string } theme\n */\nconst onThemeRegistered = (theme: string) => {\n\tconst currentTheme = getTheme();\n\tif (booted && theme === currentTheme) {\n\t\tapplyTheme(currentTheme);\n\t}\n};\n\nexport {\n\tboot,\n\tattachBoot,\n};\n"]}
package/dist/CSP.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Use this function to provide the path to the directory where the css resources for the given package will be served from.
3
+ *
4
+ * @public
5
+ * @param packageName name of the package that is being configured
6
+ * @param root path, accessible by the server that will serve the css resources
7
+ */
8
+ declare const setPackageCSSRoot: (packageName: string, root: string) => void;
9
+ declare const getUrl: (packageName: string, path: string) => string;
10
+ /**
11
+ * Call this function to enable or disable the usage of <link> tags instead of <style> tags to achieve CSP compliance
12
+ * Example: "setUseLinks(true)" will unconditionally use <link> tags for all browsers;
13
+ * Example: "setUseLinks(!document.adoptedStyleSheets) will only enable the usage of <link> tags for browsers that do not support constructable stylesheets.
14
+ *
15
+ * @public
16
+ * @param use whether links will be used
17
+ */
18
+ declare const setUseLinks: (use: boolean) => void;
19
+ /**
20
+ * Call this function to enable or disable the preloading of <link> tags.
21
+ * Note: only taken into account when <link> tags are being used.
22
+ * Note: links are being preloaded by default, so call "setPreloadLinks(false)" to opt out of this.
23
+ *
24
+ * @public
25
+ * @param preload
26
+ */
27
+ declare const setPreloadLinks: (preload: boolean) => void;
28
+ declare const shouldUseLinks: () => boolean;
29
+ declare const shouldPreloadLinks: () => boolean;
30
+ export { setPackageCSSRoot, getUrl, setUseLinks, setPreloadLinks, shouldUseLinks, shouldPreloadLinks, };
package/dist/CSP.js ADDED
@@ -0,0 +1,51 @@
1
+ const roots = new Map();
2
+ let useLinks = false;
3
+ let preloadLinks = true;
4
+ /**
5
+ * Use this function to provide the path to the directory where the css resources for the given package will be served from.
6
+ *
7
+ * @public
8
+ * @param packageName name of the package that is being configured
9
+ * @param root path, accessible by the server that will serve the css resources
10
+ */
11
+ const setPackageCSSRoot = (packageName, root) => {
12
+ roots.set(packageName, root);
13
+ };
14
+ const getUrl = (packageName, path) => {
15
+ const packageCSSRoot = roots.get(packageName);
16
+ if (!packageCSSRoot) {
17
+ console.warn(`Root path to the CSS resources ${packageName} not provided - use "setPackageCSSRoot" to provide the root.`); // eslint-disable-line
18
+ return "";
19
+ }
20
+ return `${packageCSSRoot}${path}`;
21
+ };
22
+ /**
23
+ * Call this function to enable or disable the usage of <link> tags instead of <style> tags to achieve CSP compliance
24
+ * Example: "setUseLinks(true)" will unconditionally use <link> tags for all browsers;
25
+ * Example: "setUseLinks(!document.adoptedStyleSheets) will only enable the usage of <link> tags for browsers that do not support constructable stylesheets.
26
+ *
27
+ * @public
28
+ * @param use whether links will be used
29
+ */
30
+ const setUseLinks = (use) => {
31
+ useLinks = use;
32
+ };
33
+ /**
34
+ * Call this function to enable or disable the preloading of <link> tags.
35
+ * Note: only taken into account when <link> tags are being used.
36
+ * Note: links are being preloaded by default, so call "setPreloadLinks(false)" to opt out of this.
37
+ *
38
+ * @public
39
+ * @param preload
40
+ */
41
+ const setPreloadLinks = (preload) => {
42
+ preloadLinks = preload;
43
+ };
44
+ const shouldUseLinks = () => {
45
+ return useLinks;
46
+ };
47
+ const shouldPreloadLinks = () => {
48
+ return preloadLinks;
49
+ };
50
+ export { setPackageCSSRoot, getUrl, setUseLinks, setPreloadLinks, shouldUseLinks, shouldPreloadLinks, };
51
+ //# sourceMappingURL=CSP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSP.js","sourceRoot":"","sources":["../src/CSP.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,YAAY,GAAG,IAAI,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,IAAY,EAAE,EAAE;IAC/D,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,IAAY,EAAE,EAAE;IACpD,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,CAAC,cAAc,EAAE;QACpB,OAAO,CAAC,IAAI,CAAC,kCAAkC,WAAW,8DAA8D,CAAC,CAAC,CAAC,sBAAsB;QACjJ,OAAO,EAAE,CAAC;KACV;IAED,OAAO,GAAG,cAAc,GAAG,IAAI,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,EAAE;IACpC,QAAQ,GAAG,GAAG,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC5C,YAAY,GAAG,OAAO,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,EAAE;IAC3B,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC/B,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAEF,OAAO,EACN,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,GAClB,CAAC","sourcesContent":["const roots = new Map<string, string>();\nlet useLinks = false;\nlet preloadLinks = true;\n\n/**\n * Use this function to provide the path to the directory where the css resources for the given package will be served from.\n *\n * @public\n * @param packageName name of the package that is being configured\n * @param root path, accessible by the server that will serve the css resources\n */\nconst setPackageCSSRoot = (packageName: string, root: string) => {\n\troots.set(packageName, root);\n};\n\nconst getUrl = (packageName: string, path: string) => {\n\tconst packageCSSRoot = roots.get(packageName);\n\n\tif (!packageCSSRoot) {\n\t\tconsole.warn(`Root path to the CSS resources ${packageName} not provided - use \"setPackageCSSRoot\" to provide the root.`); // eslint-disable-line\n\t\treturn \"\";\n\t}\n\n\treturn `${packageCSSRoot}${path}`;\n};\n\n/**\n * Call this function to enable or disable the usage of <link> tags instead of <style> tags to achieve CSP compliance\n * Example: \"setUseLinks(true)\" will unconditionally use <link> tags for all browsers;\n * Example: \"setUseLinks(!document.adoptedStyleSheets) will only enable the usage of <link> tags for browsers that do not support constructable stylesheets.\n *\n * @public\n * @param use whether links will be used\n */\nconst setUseLinks = (use: boolean) => {\n\tuseLinks = use;\n};\n\n/**\n * Call this function to enable or disable the preloading of <link> tags.\n * Note: only taken into account when <link> tags are being used.\n * Note: links are being preloaded by default, so call \"setPreloadLinks(false)\" to opt out of this.\n *\n * @public\n * @param preload\n */\nconst setPreloadLinks = (preload: boolean) => {\n\tpreloadLinks = preload;\n};\n\nconst shouldUseLinks = () => {\n\treturn useLinks;\n};\n\nconst shouldPreloadLinks = () => {\n\treturn preloadLinks;\n};\n\nexport {\n\tsetPackageCSSRoot,\n\tgetUrl,\n\tsetUseLinks,\n\tsetPreloadLinks,\n\tshouldUseLinks,\n\tshouldPreloadLinks,\n};\n"]}
@@ -0,0 +1,5 @@
1
+ declare const registerTag: (tag: string) => void;
2
+ declare const isTagRegistered: (tag: string) => boolean;
3
+ declare const getAllRegisteredTags: () => string[];
4
+ declare const recordTagRegistrationFailure: (tag: string) => void;
5
+ export { registerTag, isTagRegistered, getAllRegisteredTags, recordTagRegistrationFailure, };
@@ -0,0 +1,78 @@
1
+ import getSharedResource from "./getSharedResource.js";
2
+ import { getCurrentRuntimeIndex, compareRuntimes, getAllRuntimes } from "./Runtimes.js";
3
+ const Tags = getSharedResource("Tags", new Map());
4
+ const Definitions = new Set();
5
+ let Failures = new Map();
6
+ let failureTimeout;
7
+ const UNKNOWN_RUNTIME = -1;
8
+ const registerTag = (tag) => {
9
+ Definitions.add(tag);
10
+ Tags.set(tag, getCurrentRuntimeIndex());
11
+ };
12
+ const isTagRegistered = (tag) => {
13
+ return Definitions.has(tag);
14
+ };
15
+ const getAllRegisteredTags = () => {
16
+ return [...Definitions.values()];
17
+ };
18
+ const recordTagRegistrationFailure = (tag) => {
19
+ let tagRegRuntimeIndex = Tags.get(tag);
20
+ if (tagRegRuntimeIndex === undefined) {
21
+ tagRegRuntimeIndex = UNKNOWN_RUNTIME; // If the tag is taken, but not registered in Tags, then a version before 1.1.0 defined it => use the "unknown" key
22
+ }
23
+ if (!Failures.has(tagRegRuntimeIndex)) {
24
+ Failures.set(tagRegRuntimeIndex, new Set());
25
+ }
26
+ Failures.get(tagRegRuntimeIndex).add(tag);
27
+ if (!failureTimeout) {
28
+ failureTimeout = setTimeout(() => {
29
+ displayFailedRegistrations();
30
+ Failures = new Map();
31
+ failureTimeout = undefined;
32
+ }, 1000);
33
+ }
34
+ };
35
+ const displayFailedRegistrations = () => {
36
+ const allRuntimes = getAllRuntimes();
37
+ const currentRuntimeIndex = getCurrentRuntimeIndex();
38
+ const currentRuntime = allRuntimes[currentRuntimeIndex];
39
+ let message = `Multiple UI5 Web Components instances detected.`;
40
+ if (allRuntimes.length > 1) {
41
+ message = `${message}\nLoading order (versions before 1.1.0 not listed): ${allRuntimes.map(runtime => `\n${runtime.description}`).join("")}`;
42
+ }
43
+ [...Failures.keys()].forEach(otherRuntimeIndex => {
44
+ let comparison;
45
+ let otherRuntime;
46
+ if (otherRuntimeIndex === UNKNOWN_RUNTIME) { // version < 1.1.0 defined the tag
47
+ comparison = 1; // the current runtime is considered newer
48
+ otherRuntime = {
49
+ description: `Older unknown runtime`,
50
+ };
51
+ }
52
+ else {
53
+ comparison = compareRuntimes(currentRuntimeIndex, otherRuntimeIndex);
54
+ otherRuntime = allRuntimes[otherRuntimeIndex];
55
+ }
56
+ let compareWord;
57
+ if (comparison > 0) {
58
+ compareWord = "an older";
59
+ }
60
+ else if (comparison < 0) {
61
+ compareWord = "a newer";
62
+ }
63
+ else {
64
+ compareWord = "the same";
65
+ }
66
+ message = `${message}\n\n"${currentRuntime.description}" failed to define ${Failures.get(otherRuntimeIndex).size} tag(s) as they were defined by a runtime of ${compareWord} version "${otherRuntime.description}": ${([...Failures.get(otherRuntimeIndex)]).sort().join(", ")}.`;
67
+ if (comparison > 0) {
68
+ message = `${message}\nWARNING! If your code uses features of the above web components, unavailable in ${otherRuntime.description}, it might not work as expected!`;
69
+ }
70
+ else {
71
+ message = `${message}\nSince the above web components were defined by the same or newer version runtime, they should be compatible with your code.`;
72
+ }
73
+ });
74
+ message = `${message}\n\nTo prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`;
75
+ console.warn(message); // eslint-disable-line
76
+ };
77
+ export { registerTag, isTagRegistered, getAllRegisteredTags, recordTagRegistrationFailure, };
78
+ //# sourceMappingURL=CustomElementsRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomElementsRegistry.js","sourceRoot":"","sources":["../src/CustomElementsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGxF,MAAM,IAAI,GAAG,iBAAiB,CAAsB,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AACvE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AAEtC,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC9C,IAAI,cAAmC,CAAC;AAExC,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC;AAE3B,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;IACnC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;IACvC,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACjC,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,GAAW,EAAE,EAAE;IACpD,IAAI,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,kBAAkB,KAAK,SAAS,EAAE;QACrC,kBAAkB,GAAG,eAAe,CAAC,CAAC,mHAAmH;KACzJ;IAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;QACtC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;KAC5C;IACD,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,cAAc,EAAE;QACpB,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,0BAA0B,EAAE,CAAC;YAC7B,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,cAAc,GAAG,SAAS,CAAC;QAC5B,CAAC,EAAE,IAAI,CAAC,CAAC;KACT;AACF,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,GAAG,EAAE;IACvC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;IACrD,MAAM,cAAc,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAExD,IAAI,OAAO,GAAG,iDAAiD,CAAC;IAEhE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,GAAG,GAAG,OAAO,uDAAuD,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;KAC7I;IAED,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;QAChD,IAAI,UAAkB,CAAC;QACvB,IAAI,YAAY,CAAC;QAEjB,IAAI,iBAAiB,KAAK,eAAe,EAAE,EAAE,kCAAkC;YAC9E,UAAU,GAAG,CAAC,CAAC,CAAC,0CAA0C;YAC1D,YAAY,GAAG;gBACd,WAAW,EAAE,uBAAuB;aACpC,CAAC;SACF;aAAM;YACN,UAAU,GAAG,eAAe,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;YACrE,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;SAC9C;QAED,IAAI,WAAW,CAAC;QAChB,IAAI,UAAU,GAAG,CAAC,EAAE;YACnB,WAAW,GAAG,UAAU,CAAC;SACzB;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE;YAC1B,WAAW,GAAG,SAAS,CAAC;SACxB;aAAM;YACN,WAAW,GAAG,UAAU,CAAC;SACzB;QACD,OAAO,GAAG,GAAG,OAAO,QAAQ,cAAc,CAAC,WAAW,sBAAsB,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC,IAAI,gDAAgD,WAAW,aAAa,YAAY,CAAC,WAAW,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEpR,IAAI,UAAU,GAAG,CAAC,EAAE;YACnB,OAAO,GAAG,GAAG,OAAO,qFAAqF,YAAY,CAAC,WAAW,kCAAkC,CAAC;SACpK;aAAM;YACN,OAAO,GAAG,GAAG,OAAO,+HAA+H,CAAC;SACpJ;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,GAAG,OAAO,oNAAoN,CAAC;IAEzO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;AAC9C,CAAC,CAAC;AAEF,OAAO,EACN,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,4BAA4B,GAC5B,CAAC","sourcesContent":["import getSharedResource from \"./getSharedResource.js\";\nimport { getCurrentRuntimeIndex, compareRuntimes, getAllRuntimes } from \"./Runtimes.js\";\nimport { Timeout } from \"./types.js\";\n\nconst Tags = getSharedResource<Map<string, number>>(\"Tags\", new Map());\nconst Definitions = new Set<string>();\n\nlet Failures = new Map<number, Set<string>>();\nlet failureTimeout: Timeout | undefined;\n\nconst UNKNOWN_RUNTIME = -1;\n\nconst registerTag = (tag: string) => {\n\tDefinitions.add(tag);\n\tTags.set(tag, getCurrentRuntimeIndex());\n};\n\nconst isTagRegistered = (tag: string) => {\n\treturn Definitions.has(tag);\n};\n\nconst getAllRegisteredTags = () => {\n\treturn [...Definitions.values()];\n};\n\nconst recordTagRegistrationFailure = (tag: string) => {\n\tlet tagRegRuntimeIndex = Tags.get(tag);\n\tif (tagRegRuntimeIndex === undefined) {\n\t\ttagRegRuntimeIndex = UNKNOWN_RUNTIME; // If the tag is taken, but not registered in Tags, then a version before 1.1.0 defined it => use the \"unknown\" key\n\t}\n\n\tif (!Failures.has(tagRegRuntimeIndex)) {\n\t\tFailures.set(tagRegRuntimeIndex, new Set());\n\t}\n\tFailures.get(tagRegRuntimeIndex)!.add(tag);\n\n\tif (!failureTimeout) {\n\t\tfailureTimeout = setTimeout(() => {\n\t\t\tdisplayFailedRegistrations();\n\t\t\tFailures = new Map();\n\t\t\tfailureTimeout = undefined;\n\t\t}, 1000);\n\t}\n};\n\nconst displayFailedRegistrations = () => {\n\tconst allRuntimes = getAllRuntimes();\n\tconst currentRuntimeIndex = getCurrentRuntimeIndex();\n\tconst currentRuntime = allRuntimes[currentRuntimeIndex];\n\n\tlet message = `Multiple UI5 Web Components instances detected.`;\n\n\tif (allRuntimes.length > 1) {\n\t\tmessage = `${message}\\nLoading order (versions before 1.1.0 not listed): ${allRuntimes.map(runtime => `\\n${runtime.description}`).join(\"\")}`;\n\t}\n\n\t[...Failures.keys()].forEach(otherRuntimeIndex => {\n\t\tlet comparison: number;\n\t\tlet otherRuntime;\n\n\t\tif (otherRuntimeIndex === UNKNOWN_RUNTIME) { // version < 1.1.0 defined the tag\n\t\t\tcomparison = 1; // the current runtime is considered newer\n\t\t\totherRuntime = {\n\t\t\t\tdescription: `Older unknown runtime`,\n\t\t\t};\n\t\t} else {\n\t\t\tcomparison = compareRuntimes(currentRuntimeIndex, otherRuntimeIndex);\n\t\t\totherRuntime = allRuntimes[otherRuntimeIndex];\n\t\t}\n\n\t\tlet compareWord;\n\t\tif (comparison > 0) {\n\t\t\tcompareWord = \"an older\";\n\t\t} else if (comparison < 0) {\n\t\t\tcompareWord = \"a newer\";\n\t\t} else {\n\t\t\tcompareWord = \"the same\";\n\t\t}\n\t\tmessage = `${message}\\n\\n\"${currentRuntime.description}\" failed to define ${Failures.get(otherRuntimeIndex)!.size} tag(s) as they were defined by a runtime of ${compareWord} version \"${otherRuntime.description}\": ${([...Failures.get(otherRuntimeIndex)!]).sort().join(\", \")}.`;\n\n\t\tif (comparison > 0) {\n\t\t\tmessage = `${message}\\nWARNING! If your code uses features of the above web components, unavailable in ${otherRuntime.description}, it might not work as expected!`;\n\t\t} else {\n\t\t\tmessage = `${message}\\nSince the above web components were defined by the same or newer version runtime, they should be compatible with your code.`;\n\t\t}\n\t});\n\n\tmessage = `${message}\\n\\nTo prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`;\n\n\tconsole.warn(message); // eslint-disable-line\n};\n\nexport {\n\tregisterTag,\n\tisTagRegistered,\n\tgetAllRegisteredTags,\n\trecordTagRegistrationFailure,\n};\n"]}
@@ -0,0 +1,7 @@
1
+ import { setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, shouldScopeCustomElement, getEffectiveScopingSuffixForTag } from "./CustomElementsScopeUtils.js";
2
+ declare class LitStatic {
3
+ static html: (strings: TemplateStringsArray, ...values: unknown[]) => import("lit-html").TemplateResult<1 | 2>;
4
+ static svg: (strings: TemplateStringsArray, ...values: unknown[]) => import("lit-html").TemplateResult<1 | 2>;
5
+ static unsafeStatic: (value: string) => object;
6
+ }
7
+ export { LitStatic, setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, shouldScopeCustomElement, getEffectiveScopingSuffixForTag, };
@@ -0,0 +1,11 @@
1
+ import { html, svg, unsafeStatic, } from "lit-html/static.js";
2
+ import { setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, shouldScopeCustomElement, getEffectiveScopingSuffixForTag, } from "./CustomElementsScopeUtils.js";
3
+ import { registerFeature } from "./FeaturesRegistry.js";
4
+ class LitStatic {
5
+ }
6
+ LitStatic.html = html;
7
+ LitStatic.svg = svg;
8
+ LitStatic.unsafeStatic = unsafeStatic;
9
+ registerFeature("LitStatic", LitStatic);
10
+ export { LitStatic, setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, shouldScopeCustomElement, getEffectiveScopingSuffixForTag, };
11
+ //# sourceMappingURL=CustomElementsScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomElementsScope.js","sourceRoot":"","sources":["../src/CustomElementsScope.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,IAAI,EACJ,GAAG,EACH,YAAY,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,+BAA+B,GAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,SAAS;;AACP,cAAI,GAAG,IAAI,CAAC;AACZ,aAAG,GAAG,GAAG,CAAC;AACV,sBAAY,GAA8B,YAAY,CAAC;AAG/D,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAExC,OAAO,EACN,SAAS,EACT,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,+BAA+B,GAC/B,CAAC","sourcesContent":["import {\n\thtml,\n\tsvg,\n\tunsafeStatic,\n} from \"lit-html/static.js\";\n\nimport {\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tshouldScopeCustomElement,\n\tgetEffectiveScopingSuffixForTag,\n} from \"./CustomElementsScopeUtils.js\";\nimport { registerFeature } from \"./FeaturesRegistry.js\";\n\nclass LitStatic {\n\tstatic html = html;\n\tstatic svg = svg;\n\tstatic unsafeStatic: (value: string) => object = unsafeStatic;\n}\n\nregisterFeature(\"LitStatic\", LitStatic);\n\nexport {\n\tLitStatic,\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tshouldScopeCustomElement,\n\tgetEffectiveScopingSuffixForTag,\n};\n"]}
@@ -0,0 +1,55 @@
1
+ type Rules = {
2
+ include: Array<RegExp>;
3
+ exclude: Array<RegExp>;
4
+ };
5
+ /**
6
+ * Sets the suffix to be used for custom elements scoping, f.e. pass "demo" to get tags such as "ui5-button-demo".
7
+ * Note: by default all tags starting with "ui5-" will be scoped, unless you change this by calling "setCustomElementsScopingRules"
8
+ *
9
+ * @public
10
+ * @param suffix The scoping suffix
11
+ */
12
+ declare const setCustomElementsScopingSuffix: (suffix: string) => void;
13
+ /**
14
+ * Returns the currently set scoping suffix, or undefined if not set.
15
+ *
16
+ * @public
17
+ * @returns {String|undefined}
18
+ */
19
+ declare const getCustomElementsScopingSuffix: () => string;
20
+ /**
21
+ * Sets the rules, governing which custom element tags to scope and which not, f.e.
22
+ * setCustomElementsScopingRules({include: [/^ui5-/]}, exclude: [/^ui5-mylib-/, /^ui5-carousel$/]);
23
+ * will scope all elements starting with "ui5-" but not the ones starting with "ui5-mylib-" and not "ui5-carousel".
24
+ *
25
+ * @public
26
+ * @param rules Object with "include" and "exclude" properties, both arrays of regular expressions. Note that "include"
27
+ * rules are applied first and "exclude" rules second.
28
+ */
29
+ declare const setCustomElementsScopingRules: (rules: Rules) => void;
30
+ /**
31
+ * Returns the rules, governing which custom element tags to scope and which not. By default, all elements
32
+ * starting with "ui5-" are scoped. The default rules are: {include: [/^ui5-/]}.
33
+ *
34
+ * @public
35
+ * @returns {Object}
36
+ */
37
+ declare const getCustomElementsScopingRules: () => Rules;
38
+ /**
39
+ * Determines whether custom elements with the given tag should be scoped or not.
40
+ * The tag is first matched against the "include" rules and then against the "exclude" rules and the
41
+ * result is cached until new rules are set.
42
+ *
43
+ * @public
44
+ * @param tag
45
+ */
46
+ declare const shouldScopeCustomElement: (tag: string) => boolean | undefined;
47
+ /**
48
+ * Returns the currently set scoping suffix, if any and if the tag should be scoped, or undefined otherwise.
49
+ *
50
+ * @public
51
+ * @param tag
52
+ * @returns {String}
53
+ */
54
+ declare const getEffectiveScopingSuffixForTag: (tag: string) => string | undefined;
55
+ export { setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, shouldScopeCustomElement, getEffectiveScopingSuffixForTag, };
@@ -0,0 +1,90 @@
1
+ let suf;
2
+ let rulesObj = {
3
+ include: [/^ui5-/],
4
+ exclude: [],
5
+ };
6
+ const tagsCache = new Map(); // true/false means the tag should/should not be cached, undefined means not known yet.
7
+ /**
8
+ * Sets the suffix to be used for custom elements scoping, f.e. pass "demo" to get tags such as "ui5-button-demo".
9
+ * Note: by default all tags starting with "ui5-" will be scoped, unless you change this by calling "setCustomElementsScopingRules"
10
+ *
11
+ * @public
12
+ * @param suffix The scoping suffix
13
+ */
14
+ const setCustomElementsScopingSuffix = (suffix) => {
15
+ if (!suffix.match(/^[a-zA-Z0-9_-]+$/)) {
16
+ throw new Error("Only alphanumeric characters and dashes allowed for the scoping suffix");
17
+ }
18
+ suf = suffix;
19
+ };
20
+ /**
21
+ * Returns the currently set scoping suffix, or undefined if not set.
22
+ *
23
+ * @public
24
+ * @returns {String|undefined}
25
+ */
26
+ const getCustomElementsScopingSuffix = () => {
27
+ return suf;
28
+ };
29
+ /**
30
+ * Sets the rules, governing which custom element tags to scope and which not, f.e.
31
+ * setCustomElementsScopingRules({include: [/^ui5-/]}, exclude: [/^ui5-mylib-/, /^ui5-carousel$/]);
32
+ * will scope all elements starting with "ui5-" but not the ones starting with "ui5-mylib-" and not "ui5-carousel".
33
+ *
34
+ * @public
35
+ * @param rules Object with "include" and "exclude" properties, both arrays of regular expressions. Note that "include"
36
+ * rules are applied first and "exclude" rules second.
37
+ */
38
+ const setCustomElementsScopingRules = (rules) => {
39
+ if (!rules || !rules.include) {
40
+ throw new Error(`"rules" must be an object with at least an "include" property`);
41
+ }
42
+ if (!Array.isArray(rules.include) || rules.include.some(rule => !(rule instanceof RegExp))) {
43
+ throw new Error(`"rules.include" must be an array of regular expressions`);
44
+ }
45
+ if (rules.exclude && (!Array.isArray(rules.exclude) || rules.exclude.some(rule => !(rule instanceof RegExp)))) {
46
+ throw new Error(`"rules.exclude" must be an array of regular expressions`);
47
+ }
48
+ rules.exclude = rules.exclude || [];
49
+ rulesObj = rules;
50
+ tagsCache.clear(); // reset the cache upon setting new rules
51
+ };
52
+ /**
53
+ * Returns the rules, governing which custom element tags to scope and which not. By default, all elements
54
+ * starting with "ui5-" are scoped. The default rules are: {include: [/^ui5-/]}.
55
+ *
56
+ * @public
57
+ * @returns {Object}
58
+ */
59
+ const getCustomElementsScopingRules = () => {
60
+ return rulesObj;
61
+ };
62
+ /**
63
+ * Determines whether custom elements with the given tag should be scoped or not.
64
+ * The tag is first matched against the "include" rules and then against the "exclude" rules and the
65
+ * result is cached until new rules are set.
66
+ *
67
+ * @public
68
+ * @param tag
69
+ */
70
+ const shouldScopeCustomElement = (tag) => {
71
+ if (!tagsCache.has(tag)) {
72
+ const result = rulesObj.include.some(rule => tag.match(rule)) && !rulesObj.exclude.some(rule => tag.match(rule));
73
+ tagsCache.set(tag, result);
74
+ }
75
+ return tagsCache.get(tag);
76
+ };
77
+ /**
78
+ * Returns the currently set scoping suffix, if any and if the tag should be scoped, or undefined otherwise.
79
+ *
80
+ * @public
81
+ * @param tag
82
+ * @returns {String}
83
+ */
84
+ const getEffectiveScopingSuffixForTag = (tag) => {
85
+ if (shouldScopeCustomElement(tag)) {
86
+ return getCustomElementsScopingSuffix();
87
+ }
88
+ };
89
+ export { setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, shouldScopeCustomElement, getEffectiveScopingSuffixForTag, };
90
+ //# sourceMappingURL=CustomElementsScopeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomElementsScopeUtils.js","sourceRoot":"","sources":["../src/CustomElementsScopeUtils.ts"],"names":[],"mappings":"AAAA,IAAI,GAAW,CAAC;AAOhB,IAAI,QAAQ,GAAU;IACrB,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC,CAAC,uFAAuF;AAErI;;;;;;GAMG;AACH,MAAM,8BAA8B,GAAG,CAAC,MAAc,EAAE,EAAE;IACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;KAC1F;IAED,GAAG,GAAG,MAAM,CAAC;AACd,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,8BAA8B,GAAG,GAAG,EAAE;IAC3C,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,6BAA6B,GAAG,CAAC,KAAY,EAAE,EAAE;IACtD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;KACjF;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,CAAC,EAAE;QAC3F,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;KAC3E;IAED,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE;QAC9G,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;KAC3E;IAED,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,yCAAyC;AAC7D,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAG,GAAG,EAAE;IAC1C,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE;IAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjH,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC3B;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,+BAA+B,GAAG,CAAC,GAAW,EAAE,EAAE;IACvD,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE;QAClC,OAAO,8BAA8B,EAAE,CAAC;KACxC;AACF,CAAC,CAAC;AAEF,OAAO,EACN,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,+BAA+B,GAC/B,CAAC","sourcesContent":["let suf: string;\n\ntype Rules = {\n\tinclude: Array<RegExp>,\n\texclude: Array<RegExp>,\n};\n\nlet rulesObj: Rules = {\n\tinclude: [/^ui5-/],\n\texclude: [],\n};\n\nconst tagsCache = new Map<string, boolean>(); // true/false means the tag should/should not be cached, undefined means not known yet.\n\n/**\n * Sets the suffix to be used for custom elements scoping, f.e. pass \"demo\" to get tags such as \"ui5-button-demo\".\n * Note: by default all tags starting with \"ui5-\" will be scoped, unless you change this by calling \"setCustomElementsScopingRules\"\n *\n * @public\n * @param suffix The scoping suffix\n */\nconst setCustomElementsScopingSuffix = (suffix: string) => {\n\tif (!suffix.match(/^[a-zA-Z0-9_-]+$/)) {\n\t\tthrow new Error(\"Only alphanumeric characters and dashes allowed for the scoping suffix\");\n\t}\n\n\tsuf = suffix;\n};\n\n/**\n * Returns the currently set scoping suffix, or undefined if not set.\n *\n * @public\n * @returns {String|undefined}\n */\nconst getCustomElementsScopingSuffix = () => {\n\treturn suf;\n};\n\n/**\n * Sets the rules, governing which custom element tags to scope and which not, f.e.\n * setCustomElementsScopingRules({include: [/^ui5-/]}, exclude: [/^ui5-mylib-/, /^ui5-carousel$/]);\n * will scope all elements starting with \"ui5-\" but not the ones starting with \"ui5-mylib-\" and not \"ui5-carousel\".\n *\n * @public\n * @param rules Object with \"include\" and \"exclude\" properties, both arrays of regular expressions. Note that \"include\"\n * rules are applied first and \"exclude\" rules second.\n */\nconst setCustomElementsScopingRules = (rules: Rules) => {\n\tif (!rules || !rules.include) {\n\t\tthrow new Error(`\"rules\" must be an object with at least an \"include\" property`);\n\t}\n\n\tif (!Array.isArray(rules.include) || rules.include.some(rule => !(rule instanceof RegExp))) {\n\t\tthrow new Error(`\"rules.include\" must be an array of regular expressions`);\n\t}\n\n\tif (rules.exclude && (!Array.isArray(rules.exclude) || rules.exclude.some(rule => !(rule instanceof RegExp)))) {\n\t\tthrow new Error(`\"rules.exclude\" must be an array of regular expressions`);\n\t}\n\n\trules.exclude = rules.exclude || [];\n\trulesObj = rules;\n\ttagsCache.clear(); // reset the cache upon setting new rules\n};\n\n/**\n * Returns the rules, governing which custom element tags to scope and which not. By default, all elements\n * starting with \"ui5-\" are scoped. The default rules are: {include: [/^ui5-/]}.\n *\n * @public\n * @returns {Object}\n */\nconst getCustomElementsScopingRules = () => {\n\treturn rulesObj;\n};\n\n/**\n * Determines whether custom elements with the given tag should be scoped or not.\n * The tag is first matched against the \"include\" rules and then against the \"exclude\" rules and the\n * result is cached until new rules are set.\n *\n * @public\n * @param tag\n */\nconst shouldScopeCustomElement = (tag: string) => {\n\tif (!tagsCache.has(tag)) {\n\t\tconst result = rulesObj.include.some(rule => tag.match(rule)) && !rulesObj.exclude.some(rule => tag.match(rule));\n\t\ttagsCache.set(tag, result);\n\t}\n\n\treturn tagsCache.get(tag);\n};\n\n/**\n * Returns the currently set scoping suffix, if any and if the tag should be scoped, or undefined otherwise.\n *\n * @public\n * @param tag\n * @returns {String}\n */\nconst getEffectiveScopingSuffixForTag = (tag: string) => {\n\tif (shouldScopeCustomElement(tag)) {\n\t\treturn getCustomElementsScopingSuffix();\n\t}\n};\n\nexport {\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tshouldScopeCustomElement,\n\tgetEffectiveScopingSuffixForTag,\n};\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @param node
3
+ * @param callback
4
+ * @param options
5
+ */
6
+ declare const observeDOMNode: (node: Node, callback: MutationCallback, options?: MutationObserverInit) => void;
7
+ /**
8
+ * @param node
9
+ */
10
+ declare const unobserveDOMNode: (node: Node) => void;
11
+ export { observeDOMNode, unobserveDOMNode, };
@@ -0,0 +1,23 @@
1
+ const observers = new WeakMap();
2
+ /**
3
+ * @param node
4
+ * @param callback
5
+ * @param options
6
+ */
7
+ const observeDOMNode = (node, callback, options) => {
8
+ const observer = new MutationObserver(callback);
9
+ observers.set(node, observer);
10
+ observer.observe(node, options);
11
+ };
12
+ /**
13
+ * @param node
14
+ */
15
+ const unobserveDOMNode = (node) => {
16
+ const observer = observers.get(node);
17
+ if (observer) {
18
+ observer.disconnect();
19
+ observers.delete(node);
20
+ }
21
+ };
22
+ export { observeDOMNode, unobserveDOMNode, };
23
+ //# sourceMappingURL=DOMObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DOMObserver.js","sourceRoot":"","sources":["../src/DOMObserver.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,IAAI,OAAO,EAA0B,CAAC;AAExD;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,QAA0B,EAAE,OAA8B,EAAE,EAAE;IACjG,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAChD,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,EAAE;IACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,QAAQ,EAAE;QACb,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACvB;AACF,CAAC,CAAC;AAEF,OAAO,EACN,cAAc,EACd,gBAAgB,GAChB,CAAC","sourcesContent":["const observers = new WeakMap<Node, MutationObserver>();\n\n/**\n * @param node\n * @param callback\n * @param options\n */\nconst observeDOMNode = (node: Node, callback: MutationCallback, options?: MutationObserverInit) => {\n\tconst observer = new MutationObserver(callback);\n\tobservers.set(node, observer);\n\tobserver.observe(node, options);\n};\n\n/**\n * @param node\n */\nconst unobserveDOMNode = (node: Node) => {\n\tconst observer = observers.get(node);\n\tif (observer) {\n\t\tobserver.disconnect();\n\t\tobservers.delete(node);\n\t}\n};\n\nexport {\n\tobserveDOMNode,\n\tunobserveDOMNode,\n};\n"]}
@@ -0,0 +1,12 @@
1
+ declare const supportsTouch: () => boolean;
2
+ declare const isIE: () => boolean;
3
+ declare const isSafari: () => boolean;
4
+ declare const isChrome: () => boolean;
5
+ declare const isFirefox: () => boolean;
6
+ declare const isTablet: () => boolean;
7
+ declare const isPhone: () => boolean;
8
+ declare const isDesktop: () => boolean;
9
+ declare const isCombi: () => boolean;
10
+ declare const isIOS: () => boolean;
11
+ declare const isAndroid: () => boolean;
12
+ export { supportsTouch, isIE, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid, };