@ui5/webcomponents-base 0.0.0-2f7664755 → 0.0.0-31ad69296

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 (531) hide show
  1. package/.eslintignore +6 -4
  2. package/.eslintrc.cjs +3 -0
  3. package/.npsrc.json +3 -0
  4. package/CHANGELOG.md +895 -0
  5. package/README.md +6 -1
  6. package/bundle.esm.js +9 -3
  7. package/config/wdio.conf.cjs +400 -0
  8. package/dist/.tsbuildinfo +1 -0
  9. package/dist/AssetRegistry.d.ts +2 -2
  10. package/dist/AssetRegistry.js +2 -2
  11. package/dist/AssetRegistry.js.map +1 -1
  12. package/dist/Boot.d.ts +6 -4
  13. package/dist/Boot.js +36 -6
  14. package/dist/Boot.js.map +1 -1
  15. package/dist/CSP.d.ts +9 -6
  16. package/dist/CSP.js +9 -6
  17. package/dist/CSP.js.map +1 -1
  18. package/dist/CustomElementsRegistry.js.map +1 -1
  19. package/dist/CustomElementsScope.d.ts +4 -4
  20. package/dist/CustomElementsScope.js +2 -2
  21. package/dist/CustomElementsScope.js.map +1 -1
  22. package/dist/CustomElementsScopeUtils.d.ts +8 -1
  23. package/dist/CustomElementsScopeUtils.js +13 -1
  24. package/dist/CustomElementsScopeUtils.js.map +1 -1
  25. package/dist/DOMObserver.js.map +1 -1
  26. package/dist/Device.d.ts +2 -1
  27. package/dist/Device.js +119 -35
  28. package/dist/Device.js.map +1 -1
  29. package/dist/EventProvider.js +1 -1
  30. package/dist/EventProvider.js.map +1 -1
  31. package/dist/FeaturesRegistry.js.map +1 -1
  32. package/dist/FontFace.js +1 -1
  33. package/dist/FontFace.js.map +1 -1
  34. package/dist/IgnoreCustomElements.d.ts +25 -0
  35. package/dist/IgnoreCustomElements.js +37 -0
  36. package/dist/IgnoreCustomElements.js.map +1 -0
  37. package/dist/InitialConfiguration.d.ts +7 -2
  38. package/dist/InitialConfiguration.js +17 -7
  39. package/dist/InitialConfiguration.js.map +1 -1
  40. package/dist/Keys.d.ts +5 -1
  41. package/dist/Keys.js +109 -106
  42. package/dist/Keys.js.map +1 -1
  43. package/dist/ManagedStyles.d.ts +5 -4
  44. package/dist/ManagedStyles.js +95 -15
  45. package/dist/ManagedStyles.js.map +1 -1
  46. package/dist/MarkedEvents.js.map +1 -1
  47. package/dist/MediaRange.d.ts +6 -12
  48. package/dist/MediaRange.js +21 -31
  49. package/dist/MediaRange.js.map +1 -1
  50. package/dist/PropertiesFileFormat.js.map +1 -1
  51. package/dist/Render.js.map +1 -1
  52. package/dist/RenderQueue.js.map +1 -1
  53. package/dist/Runtimes.js.map +1 -1
  54. package/dist/StaticArea.d.ts +3 -0
  55. package/dist/StaticArea.js +4 -3
  56. package/dist/StaticArea.js.map +1 -1
  57. package/dist/StaticAreaItem.d.ts +3 -4
  58. package/dist/StaticAreaItem.js +10 -9
  59. package/dist/StaticAreaItem.js.map +1 -1
  60. package/dist/SystemCSSVars.js.map +1 -1
  61. package/dist/Theming.js.map +1 -1
  62. package/dist/UI5Element.d.ts +54 -39
  63. package/dist/UI5Element.js +119 -68
  64. package/dist/UI5Element.js.map +1 -1
  65. package/dist/UI5ElementMetadata.d.ts +6 -13
  66. package/dist/UI5ElementMetadata.js +17 -15
  67. package/dist/UI5ElementMetadata.js.map +1 -1
  68. package/dist/animations/AnimationQueue.js.map +1 -1
  69. package/dist/animations/animate.js.map +1 -1
  70. package/dist/animations/scroll.js.map +1 -1
  71. package/dist/animations/slideDown.js.map +1 -1
  72. package/dist/animations/slideUp.js.map +1 -1
  73. package/dist/asset-registries/Icons.d.ts +22 -13
  74. package/dist/asset-registries/Icons.js +63 -31
  75. package/dist/asset-registries/Icons.js.map +1 -1
  76. package/dist/asset-registries/Illustrations.d.ts +3 -1
  77. package/dist/asset-registries/Illustrations.js +51 -20
  78. package/dist/asset-registries/Illustrations.js.map +1 -1
  79. package/dist/asset-registries/LocaleData.js +1 -1
  80. package/dist/asset-registries/LocaleData.js.map +1 -1
  81. package/dist/asset-registries/Themes.d.ts +5 -3
  82. package/dist/asset-registries/Themes.js +28 -10
  83. package/dist/asset-registries/Themes.js.map +1 -1
  84. package/dist/asset-registries/i18n.d.ts +2 -2
  85. package/dist/asset-registries/i18n.js +12 -5
  86. package/dist/asset-registries/i18n.js.map +1 -1
  87. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  88. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  89. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  90. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  91. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  92. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  93. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  94. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  95. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  96. package/dist/config/AnimationMode.d.ts +2 -2
  97. package/dist/config/AnimationMode.js +1 -1
  98. package/dist/config/AnimationMode.js.map +1 -1
  99. package/dist/config/CalendarType.d.ts +8 -1
  100. package/dist/config/CalendarType.js +18 -2
  101. package/dist/config/CalendarType.js.map +1 -1
  102. package/dist/config/FormatSettings.d.ts +5 -1
  103. package/dist/config/FormatSettings.js +5 -1
  104. package/dist/config/FormatSettings.js.map +1 -1
  105. package/dist/config/Icons.d.ts +31 -21
  106. package/dist/config/Icons.js +28 -32
  107. package/dist/config/Icons.js.map +1 -1
  108. package/dist/config/Language.d.ts +11 -2
  109. package/dist/config/Language.js +19 -4
  110. package/dist/config/Language.js.map +1 -1
  111. package/dist/config/NoConflict.js +1 -0
  112. package/dist/config/NoConflict.js.map +1 -1
  113. package/dist/config/Theme.d.ts +15 -5
  114. package/dist/config/Theme.js +31 -9
  115. package/dist/config/Theme.js.map +1 -1
  116. package/dist/config/ThemeRoot.d.ts +27 -0
  117. package/dist/config/ThemeRoot.js +57 -0
  118. package/dist/config/ThemeRoot.js.map +1 -0
  119. package/dist/config/Timezone.d.ts +17 -0
  120. package/dist/config/Timezone.js +30 -0
  121. package/dist/config/Timezone.js.map +1 -0
  122. package/dist/connectToComponent.d.ts +9 -0
  123. package/dist/connectToComponent.js +59 -0
  124. package/dist/connectToComponent.js.map +1 -0
  125. package/dist/css/FontFace.css +47 -17
  126. package/dist/css/SystemCSSVars.css +0 -8
  127. package/dist/custom-elements-internal.json +2863 -0
  128. package/dist/custom-elements.json +2593 -0
  129. package/dist/decorators/customElement.d.ts +17 -2
  130. package/dist/decorators/customElement.js +25 -5
  131. package/dist/decorators/customElement.js.map +1 -1
  132. package/dist/decorators/event.d.ts +5 -2
  133. package/dist/decorators/event.js +6 -6
  134. package/dist/decorators/event.js.map +1 -1
  135. package/dist/decorators/property.js +6 -6
  136. package/dist/decorators/property.js.map +1 -1
  137. package/dist/decorators/slot.js +9 -9
  138. package/dist/decorators/slot.js.map +1 -1
  139. package/dist/decorators.d.ts +5 -0
  140. package/dist/decorators.js +6 -0
  141. package/dist/decorators.js.map +1 -0
  142. package/dist/delegate/ItemNavigation.d.ts +9 -8
  143. package/dist/delegate/ItemNavigation.js +13 -14
  144. package/dist/delegate/ItemNavigation.js.map +1 -1
  145. package/dist/delegate/ResizeHandler.d.ts +6 -7
  146. package/dist/delegate/ResizeHandler.js +11 -9
  147. package/dist/delegate/ResizeHandler.js.map +1 -1
  148. package/dist/delegate/ScrollEnablement.js +2 -2
  149. package/dist/delegate/ScrollEnablement.js.map +1 -1
  150. package/dist/features/F6Navigation.d.ts +3 -0
  151. package/dist/features/F6Navigation.js +77 -38
  152. package/dist/features/F6Navigation.js.map +1 -1
  153. package/dist/features/LegacyDateFormats.d.ts +18 -0
  154. package/dist/features/LegacyDateFormats.js +20 -0
  155. package/dist/features/LegacyDateFormats.js.map +1 -0
  156. package/dist/features/OpenUI5Element.js.map +1 -1
  157. package/dist/features/OpenUI5Enablement.d.ts +1 -1
  158. package/dist/features/OpenUI5Enablement.js.map +1 -1
  159. package/dist/features/OpenUI5Support.d.ts +16 -3
  160. package/dist/features/OpenUI5Support.js +96 -33
  161. package/dist/features/OpenUI5Support.js.map +1 -1
  162. package/dist/features/patchPopup.d.ts +10 -0
  163. package/dist/features/patchPopup.js +15 -0
  164. package/dist/features/patchPopup.js.map +1 -0
  165. package/dist/generated/AssetParameters.d.ts +6 -0
  166. package/dist/generated/AssetParameters.js +4 -9
  167. package/dist/generated/AssetParameters.js.map +1 -0
  168. package/dist/generated/VersionInfo.d.ts +10 -0
  169. package/dist/generated/VersionInfo.js +9 -8
  170. package/dist/generated/VersionInfo.js.map +1 -0
  171. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  172. package/dist/generated/css/FontFace.css.js +1 -1
  173. package/dist/generated/css/FontFace.css.js.map +1 -1
  174. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  175. package/dist/generated/css/SystemCSSVars.css.js +1 -1
  176. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  177. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  178. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +8 -10
  179. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  180. package/dist/getSharedResource.d.ts +1 -1
  181. package/dist/getSharedResource.js +16 -2
  182. package/dist/getSharedResource.js.map +1 -1
  183. package/dist/global.d.ts +2 -0
  184. package/dist/i18nBundle.d.ts +2 -4
  185. package/dist/i18nBundle.js +3 -5
  186. package/dist/i18nBundle.js.map +1 -1
  187. package/dist/locale/Locale.js.map +1 -1
  188. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  189. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  190. package/dist/locale/applyDirection.d.ts +3 -2
  191. package/dist/locale/applyDirection.js +3 -2
  192. package/dist/locale/applyDirection.js.map +1 -1
  193. package/dist/locale/directionChange.js.map +1 -1
  194. package/dist/locale/getEffectiveDir.d.ts +1 -1
  195. package/dist/locale/getEffectiveDir.js +3 -19
  196. package/dist/locale/getEffectiveDir.js.map +1 -1
  197. package/dist/locale/getLocale.js.map +1 -1
  198. package/dist/locale/languageChange.js.map +1 -1
  199. package/dist/locale/nextFallbackLocale.js.map +1 -1
  200. package/dist/locale/normalizeLocale.js.map +1 -1
  201. package/dist/renderer/LitRenderer.d.ts +5 -5
  202. package/dist/renderer/LitRenderer.js.map +1 -1
  203. package/dist/renderer/directives/style-map.d.ts +13 -0
  204. package/dist/renderer/directives/style-map.js +59 -59
  205. package/dist/renderer/directives/style-map.js.map +1 -0
  206. package/dist/renderer/executeTemplate.js +1 -1
  207. package/dist/renderer/executeTemplate.js.map +1 -1
  208. package/dist/sap/base/Log.js +698 -188
  209. package/dist/sap/base/assert.js +28 -1
  210. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  211. package/dist/sap/base/security/URLListValidator.js +253 -6
  212. package/dist/sap/base/security/encodeCSS.js +34 -8
  213. package/dist/sap/base/security/encodeXML.js +47 -17
  214. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  215. package/dist/sap/base/strings/toHex.js +27 -2
  216. package/dist/sap/base/util/now.js +24 -3
  217. package/dist/sap/base/util/uid.js +27 -0
  218. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +113 -98
  219. package/dist/ssr-dom-shim.d.ts +1 -0
  220. package/dist/ssr-dom-shim.js +12 -0
  221. package/dist/ssr-dom-shim.js.map +1 -0
  222. package/dist/ssr-dom.d.ts +0 -0
  223. package/dist/ssr-dom.js +3 -0
  224. package/dist/ssr-dom.js.map +1 -0
  225. package/dist/theming/CustomStyle.js +7 -5
  226. package/dist/theming/CustomStyle.js.map +1 -1
  227. package/dist/theming/ThemeLoaded.js.map +1 -1
  228. package/dist/theming/ThemeRegistered.d.ts +4 -0
  229. package/dist/theming/ThemeRegistered.js +11 -0
  230. package/dist/theming/ThemeRegistered.js.map +1 -0
  231. package/dist/theming/applyTheme.js +8 -7
  232. package/dist/theming/applyTheme.js.map +1 -1
  233. package/dist/theming/getConstructableStyle.js.map +1 -1
  234. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -1
  235. package/dist/theming/getEffectiveStyle.js.map +1 -1
  236. package/dist/theming/getStylesString.d.ts +1 -1
  237. package/dist/theming/getStylesString.js.map +1 -1
  238. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  239. package/dist/theming/preloadLinks.js.map +1 -1
  240. package/dist/thirdparty/_merge.js.map +1 -1
  241. package/dist/thirdparty/isPlainObject.js.map +1 -1
  242. package/dist/thirdparty/merge.js.map +1 -1
  243. package/dist/types/AnimationMode.d.ts +0 -8
  244. package/dist/types/AnimationMode.js +0 -8
  245. package/dist/types/AnimationMode.js.map +1 -1
  246. package/dist/types/CSSColor.d.ts +0 -5
  247. package/dist/types/CSSColor.js +0 -5
  248. package/dist/types/CSSColor.js.map +1 -1
  249. package/dist/types/CSSSize.d.ts +11 -0
  250. package/dist/types/CSSSize.js +14 -0
  251. package/dist/types/CSSSize.js.map +1 -0
  252. package/dist/types/CalendarType.d.ts +0 -9
  253. package/dist/types/CalendarType.js +0 -9
  254. package/dist/types/CalendarType.js.map +1 -1
  255. package/dist/types/DOMReference.d.ts +1 -5
  256. package/dist/types/DOMReference.js +1 -5
  257. package/dist/types/DOMReference.js.map +1 -1
  258. package/dist/types/DataType.d.ts +1 -6
  259. package/dist/types/DataType.js +1 -6
  260. package/dist/types/DataType.js.map +1 -1
  261. package/dist/types/Float.d.ts +0 -4
  262. package/dist/types/Float.js +0 -4
  263. package/dist/types/Float.js.map +1 -1
  264. package/dist/types/Integer.d.ts +0 -4
  265. package/dist/types/Integer.js +0 -4
  266. package/dist/types/Integer.js.map +1 -1
  267. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  268. package/dist/types/InvisibleMessageMode.js +4 -11
  269. package/dist/types/InvisibleMessageMode.js.map +1 -1
  270. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  271. package/dist/types/ItemNavigationBehavior.js +0 -6
  272. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  273. package/dist/types/MovePlacement.d.ts +20 -0
  274. package/dist/types/MovePlacement.js +22 -0
  275. package/dist/types/MovePlacement.js.map +1 -0
  276. package/dist/types/NavigationMode.d.ts +0 -8
  277. package/dist/types/NavigationMode.js +0 -8
  278. package/dist/types/NavigationMode.js.map +1 -1
  279. package/dist/types/Orientation.d.ts +16 -0
  280. package/dist/types/Orientation.js +18 -0
  281. package/dist/types/Orientation.js.map +1 -0
  282. package/dist/types/ValueState.d.ts +0 -14
  283. package/dist/types/ValueState.js +0 -14
  284. package/dist/types/ValueState.js.map +1 -1
  285. package/dist/types.d.ts +11 -1
  286. package/dist/types.js.map +1 -1
  287. package/dist/updateShadowRoot.js +13 -5
  288. package/dist/updateShadowRoot.js.map +1 -1
  289. package/dist/util/AriaLabelHelper.d.ts +10 -1
  290. package/dist/util/AriaLabelHelper.js +135 -8
  291. package/dist/util/AriaLabelHelper.js.map +1 -1
  292. package/dist/util/Caret.js.map +1 -1
  293. package/dist/util/ColorConversion.js +200 -195
  294. package/dist/util/ColorConversion.js.map +1 -1
  295. package/dist/util/FetchHelper.js.map +1 -1
  296. package/dist/util/FocusableElements.js +4 -3
  297. package/dist/util/FocusableElements.js.map +1 -1
  298. package/dist/util/HTMLSanitizer.js.map +1 -1
  299. package/dist/util/InvisibleMessage.js.map +1 -1
  300. package/dist/util/PopupUtils.js +1 -1
  301. package/dist/util/PopupUtils.js.map +1 -1
  302. package/dist/util/SlotsHelper.js.map +1 -1
  303. package/dist/util/StringHelper.js.map +1 -1
  304. package/dist/util/TabbableElements.js.map +1 -1
  305. package/dist/util/arraysAreEqual.js.map +1 -1
  306. package/dist/util/clamp.js +2 -1
  307. package/dist/util/clamp.js.map +1 -1
  308. package/dist/util/createLinkInHead.d.ts +1 -1
  309. package/dist/util/createLinkInHead.js +1 -1
  310. package/dist/util/createLinkInHead.js.map +1 -1
  311. package/dist/util/createStyleInHead.d.ts +1 -1
  312. package/dist/util/createStyleInHead.js +1 -1
  313. package/dist/util/createStyleInHead.js.map +1 -1
  314. package/dist/util/debounce.js.map +1 -1
  315. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  316. package/dist/util/detectNavigatorLanguage.js +6 -1
  317. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  318. package/dist/util/dragAndDrop/DragRegistry.d.ts +12 -0
  319. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  320. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  321. package/dist/util/dragAndDrop/findClosestPosition.d.ts +7 -0
  322. package/dist/util/dragAndDrop/findClosestPosition.js +59 -0
  323. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  324. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  325. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  326. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  327. package/dist/util/escapeRegex.js.map +1 -1
  328. package/dist/util/formatMessage.js.map +1 -1
  329. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  330. package/dist/util/getActiveElement.js.map +1 -1
  331. package/dist/util/getClassCopy.d.ts +63 -43
  332. package/dist/util/getClassCopy.js.map +1 -1
  333. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  334. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  335. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  336. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  337. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  338. package/dist/util/getFastNavigationGroups.js.map +1 -1
  339. package/dist/util/getFileExtension.js.map +1 -1
  340. package/dist/util/getNormalizedTarget.js.map +1 -1
  341. package/dist/util/getParentElement.d.ts +2 -0
  342. package/dist/util/getParentElement.js +5 -0
  343. package/dist/util/getParentElement.js.map +1 -0
  344. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  345. package/dist/util/getSingletonElementInstance.js +11 -2
  346. package/dist/util/getSingletonElementInstance.js.map +1 -1
  347. package/dist/util/isElementClickable.js.map +1 -1
  348. package/dist/util/isElementContainingBlock.d.ts +2 -0
  349. package/dist/util/isElementContainingBlock.js +11 -0
  350. package/dist/util/isElementContainingBlock.js.map +1 -0
  351. package/dist/util/isElementHidden.js.map +1 -1
  352. package/dist/util/isElementInView.js.map +1 -1
  353. package/dist/util/isElementTabbable.js.map +1 -1
  354. package/dist/util/isValidPropertyName.js.map +1 -1
  355. package/dist/util/whenDOMReady.js.map +1 -1
  356. package/dist/util/willShowContent.js.map +1 -1
  357. package/dist/validateThemeRoot.js +14 -13
  358. package/dist/validateThemeRoot.js.map +1 -1
  359. package/dist/vscode.html-custom-data.json +22 -0
  360. package/index.js +225 -1
  361. package/lib/generate-asset-parameters/index.js +6 -4
  362. package/lib/generate-styles/index.js +3 -3
  363. package/lib/generate-version-info/index.js +3 -3
  364. package/{package-scripts.js → package-scripts.cjs} +22 -22
  365. package/package.json +15 -6
  366. package/src/css/FontFace.css +47 -17
  367. package/src/css/SystemCSSVars.css +0 -8
  368. package/tsconfig.json +7 -0
  369. package/used-modules.txt +4 -0
  370. package/config/wdio.conf.js +0 -1
  371. package/dist/api.json +0 -1
  372. package/dist/assets/bundle.esm.8fc86dc4.js +0 -56
  373. package/dist/assets-meta/IconCollectionsAlias.d.ts +0 -17
  374. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  375. package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
  376. package/dist/config/RTL.d.ts +0 -7
  377. package/dist/config/RTL.js +0 -34
  378. package/dist/config/RTL.js.map +0 -1
  379. package/dist/config/ThemeRoots.d.ts +0 -4
  380. package/dist/config/ThemeRoots.js +0 -28
  381. package/dist/config/ThemeRoots.js.map +0 -1
  382. package/dist/decorators/fastNavigation.d.ts +0 -7
  383. package/dist/decorators/fastNavigation.js +0 -13
  384. package/dist/decorators/fastNavigation.js.map +0 -1
  385. package/dist/decorators/languageAware.d.ts +0 -7
  386. package/dist/decorators/languageAware.js +0 -13
  387. package/dist/decorators/languageAware.js.map +0 -1
  388. package/dist/decorators/themeAware.d.ts +0 -7
  389. package/dist/decorators/themeAware.js +0 -13
  390. package/dist/decorators/themeAware.js.map +0 -1
  391. package/src/AssetRegistry.ts +0 -11
  392. package/src/Boot.ts +0 -61
  393. package/src/CSP.ts +0 -66
  394. package/src/CustomElementsRegistry.ts +0 -98
  395. package/src/CustomElementsScope.ts +0 -33
  396. package/src/CustomElementsScopeUtils.ts +0 -115
  397. package/src/DOMObserver.ts +0 -28
  398. package/src/Device.ts +0 -124
  399. package/src/EventProvider.ts +0 -87
  400. package/src/FeaturesRegistry.ts +0 -14
  401. package/src/FontFace.ts +0 -31
  402. package/src/InitialConfiguration.ts +0 -207
  403. package/src/Keys.ts +0 -295
  404. package/src/ManagedStyles.ts +0 -92
  405. package/src/MarkedEvents.ts +0 -20
  406. package/src/MediaRange.ts +0 -110
  407. package/src/PropertiesFileFormat.ts +0 -95
  408. package/src/Render.ts +0 -180
  409. package/src/RenderQueue.ts +0 -71
  410. package/src/Runtimes.ts +0 -114
  411. package/src/StaticArea.ts +0 -3
  412. package/src/StaticAreaItem.ts +0 -113
  413. package/src/SystemCSSVars.ts +0 -10
  414. package/src/Theming.ts +0 -4
  415. package/src/UI5Element.ts +0 -1156
  416. package/src/UI5ElementMetadata.ts +0 -389
  417. package/src/animations/AnimationQueue.ts +0 -43
  418. package/src/animations/animate.ts +0 -64
  419. package/src/animations/scroll.ts +0 -21
  420. package/src/animations/slideDown.ts +0 -72
  421. package/src/animations/slideUp.ts +0 -67
  422. package/src/asset-registries/Icons.ts +0 -162
  423. package/src/asset-registries/Illustrations.ts +0 -75
  424. package/src/asset-registries/LocaleData.ts +0 -172
  425. package/src/asset-registries/Themes.ts +0 -67
  426. package/src/asset-registries/i18n.ts +0 -118
  427. package/src/assets-meta/IconCollectionsAlias.ts +0 -18
  428. package/src/config/AnimationMode.ts +0 -33
  429. package/src/config/CalendarType.ts +0 -23
  430. package/src/config/FormatSettings.ts +0 -21
  431. package/src/config/Icons.ts +0 -59
  432. package/src/config/Language.ts +0 -72
  433. package/src/config/NoConflict.ts +0 -67
  434. package/src/config/RTL.ts +0 -41
  435. package/src/config/Theme.ts +0 -64
  436. package/src/config/ThemeRoots.ts +0 -41
  437. package/src/decorators/customElement.ts +0 -17
  438. package/src/decorators/event.ts +0 -28
  439. package/src/decorators/fastNavigation.ts +0 -14
  440. package/src/decorators/languageAware.ts +0 -14
  441. package/src/decorators/property.ts +0 -30
  442. package/src/decorators/slot.ts +0 -49
  443. package/src/decorators/themeAware.ts +0 -14
  444. package/src/delegate/ItemNavigation.ts +0 -393
  445. package/src/delegate/ResizeHandler.ts +0 -95
  446. package/src/delegate/ScrollEnablement.ts +0 -224
  447. package/src/features/F6Navigation.ts +0 -141
  448. package/src/features/OpenUI5Element.ts +0 -11
  449. package/src/features/OpenUI5Enablement.ts +0 -117
  450. package/src/features/OpenUI5Support.ts +0 -148
  451. package/src/generated/css/BusyIndicator.css.ts +0 -9
  452. package/src/generated/css/FontFace.css.ts +0 -9
  453. package/src/generated/css/OverrideFontFace.css.ts +0 -9
  454. package/src/generated/css/SystemCSSVars.css.ts +0 -9
  455. package/src/getSharedResource.ts +0 -30
  456. package/src/global.d.ts +0 -38
  457. package/src/i18nBundle.ts +0 -108
  458. package/src/locale/Locale.ts +0 -101
  459. package/src/locale/RTLAwareRegistry.ts +0 -16
  460. package/src/locale/applyDirection.ts +0 -18
  461. package/src/locale/directionChange.ts +0 -34
  462. package/src/locale/getEffectiveDir.ts +0 -28
  463. package/src/locale/getLocale.ts +0 -46
  464. package/src/locale/languageChange.ts +0 -24
  465. package/src/locale/nextFallbackLocale.ts +0 -28
  466. package/src/locale/normalizeLocale.ts +0 -56
  467. package/src/renderer/LitRenderer.ts +0 -60
  468. package/src/renderer/directives/style-map.js +0 -72
  469. package/src/renderer/executeTemplate.ts +0 -40
  470. package/src/theming/CustomStyle.ts +0 -62
  471. package/src/theming/ThemeLoaded.ts +0 -24
  472. package/src/theming/applyTheme.ts +0 -90
  473. package/src/theming/getConstructableStyle.ts +0 -31
  474. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  475. package/src/theming/getEffectiveStyle.ts +0 -41
  476. package/src/theming/getStylesString.ts +0 -15
  477. package/src/theming/getThemeDesignerTheme.ts +0 -101
  478. package/src/theming/preloadLinks.ts +0 -24
  479. package/src/thirdparty/_merge.ts +0 -32
  480. package/src/thirdparty/isPlainObject.ts +0 -18
  481. package/src/thirdparty/merge.ts +0 -5
  482. package/src/types/AnimationMode.ts +0 -33
  483. package/src/types/CSSColor.ts +0 -20
  484. package/src/types/CalendarType.ts +0 -38
  485. package/src/types/DOMReference.ts +0 -28
  486. package/src/types/DataType.ts +0 -51
  487. package/src/types/Float.ts +0 -25
  488. package/src/types/Integer.ts +0 -25
  489. package/src/types/InvisibleMessageMode.ts +0 -27
  490. package/src/types/ItemNavigationBehavior.ts +0 -26
  491. package/src/types/NavigationMode.ts +0 -33
  492. package/src/types/ValueState.ts +0 -47
  493. package/src/types.ts +0 -30
  494. package/src/updateShadowRoot.ts +0 -37
  495. package/src/util/AriaLabelHelper.ts +0 -63
  496. package/src/util/Caret.ts +0 -28
  497. package/src/util/ColorConversion.ts +0 -399
  498. package/src/util/FetchHelper.ts +0 -31
  499. package/src/util/FocusableElements.ts +0 -92
  500. package/src/util/HTMLSanitizer.ts +0 -9
  501. package/src/util/InvisibleMessage.ts +0 -69
  502. package/src/util/PopupUtils.ts +0 -112
  503. package/src/util/SlotsHelper.ts +0 -39
  504. package/src/util/StringHelper.ts +0 -26
  505. package/src/util/TabbableElements.ts +0 -70
  506. package/src/util/arraysAreEqual.ts +0 -15
  507. package/src/util/clamp.ts +0 -12
  508. package/src/util/createLinkInHead.ts +0 -25
  509. package/src/util/createStyleInHead.ts +0 -20
  510. package/src/util/debounce.ts +0 -18
  511. package/src/util/detectNavigatorLanguage.ts +0 -13
  512. package/src/util/escapeRegex.ts +0 -11
  513. package/src/util/formatMessage.ts +0 -24
  514. package/src/util/generateHighlightedMarkup.ts +0 -43
  515. package/src/util/getActiveElement.ts +0 -11
  516. package/src/util/getClassCopy.ts +0 -12
  517. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  518. package/src/util/getEffectiveContentDensity.ts +0 -5
  519. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  520. package/src/util/getFastNavigationGroups.ts +0 -63
  521. package/src/util/getFileExtension.ts +0 -21
  522. package/src/util/getNormalizedTarget.ts +0 -16
  523. package/src/util/getSingletonElementInstance.ts +0 -13
  524. package/src/util/isElementClickable.ts +0 -19
  525. package/src/util/isElementHidden.ts +0 -9
  526. package/src/util/isElementInView.ts +0 -15
  527. package/src/util/isElementTabbable.ts +0 -37
  528. package/src/util/isValidPropertyName.ts +0 -29
  529. package/src/util/whenDOMReady.ts +0 -13
  530. package/src/util/willShowContent.ts +0 -7
  531. package/src/validateThemeRoot.ts +0 -58
@@ -1,224 +0,0 @@
1
- import { supportsTouch } from "../Device.js";
2
- import EventProvider from "../EventProvider.js";
3
- import scroll from "../animations/scroll.js";
4
- import type UI5Element from "../UI5Element.js";
5
-
6
- const scrollEventName = "scroll";
7
- const touchEndEventName = supportsTouch() ? "touchend" : "mouseup";
8
-
9
- type ScrollEnablementEventListenerParam = {
10
- isLeft: boolean;
11
- isRight: boolean
12
- }
13
- type ScrollEnablementEventListenerReturn = void;
14
-
15
- class ScrollEnablement extends EventProvider<ScrollEnablementEventListenerParam, ScrollEnablementEventListenerReturn> {
16
- containerComponent: UI5Element;
17
- mouseMove: (event: MouseEvent | TouchEvent) => void;
18
- mouseUp: (event: MouseEvent | TouchEvent) => void;
19
- touchStart: (event: MouseEvent | TouchEvent) => void;
20
- cachedValue: { dragX: number, dragY: number };
21
- startX: number;
22
- startY: number;
23
- _container?: HTMLElement;
24
- supportsTouch = supportsTouch();
25
- _canScroll?: boolean;
26
- _prevDragX?: number;
27
- _prevDragY?: number;
28
-
29
- constructor(containerComponent: UI5Element) {
30
- super();
31
- this.containerComponent = containerComponent;
32
- this.mouseMove = this.ontouchmove.bind(this);
33
- this.mouseUp = this.ontouchend.bind(this);
34
- this.touchStart = this.ontouchstart.bind(this);
35
-
36
- this.supportsTouch = supportsTouch();
37
-
38
- // On Android devices touchmove is thrown one more time than neccessary (together with touchend)
39
- // so we have to cache the previus coordinates in order to provide correct parameters in the
40
- // event for Android
41
- this.cachedValue = { dragX: 0, dragY: 0 };
42
-
43
- // In components like Carousel you need to know if the user has clicked on something or swiped
44
- // in order to throw the needed event or not
45
- this.startX = 0;
46
- this.startY = 0;
47
-
48
- if (this.supportsTouch) {
49
- containerComponent.addEventListener("touchstart", this.touchStart, { passive: true });
50
- containerComponent.addEventListener("touchmove", this.mouseMove, { passive: true });
51
- containerComponent.addEventListener("touchend", this.mouseUp, { passive: true });
52
- } else {
53
- containerComponent.addEventListener("mousedown", this.touchStart, { passive: true });
54
- }
55
- }
56
-
57
- set scrollContainer(container: HTMLElement) {
58
- this._container = container;
59
- }
60
-
61
- get scrollContainer() {
62
- return this._container!;
63
- }
64
-
65
- /**
66
- * Scrolls the container to the left/top position, retrying retryCount times, if the container is not yet painted
67
- *
68
- * @param left
69
- * @param top
70
- * @param retryCount
71
- * @param retryInterval
72
- * @returns {Promise<void>} resolved when scrolled successfully
73
- */
74
- async scrollTo(left: number, top: number, retryCount = 0, retryInterval = 0) {
75
- let containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;
76
-
77
- /* eslint-disable no-loop-func, no-await-in-loop */
78
- while (!containerPainted && retryCount > 0) {
79
- await new Promise<void>(resolve => {
80
- setTimeout(() => {
81
- containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;
82
- retryCount--;
83
- resolve();
84
- }, retryInterval);
85
- });
86
- }
87
- /* eslint-disable no-loop-func, no-await-in-loop */
88
-
89
- this._container!.scrollLeft = left;
90
- this._container!.scrollTop = top;
91
- }
92
-
93
- move(dx: number, dy: number, disableAnimation: boolean) {
94
- if (disableAnimation) {
95
- this._container!.scrollLeft += dx;
96
- this._container!.scrollTop += dy;
97
- return;
98
- }
99
-
100
- if (this._container) {
101
- return scroll(this._container, dx, dy);
102
- }
103
- }
104
-
105
- getScrollLeft() {
106
- return this._container!.scrollLeft;
107
- }
108
-
109
- getScrollTop() {
110
- return this._container!.scrollTop;
111
- }
112
-
113
- _isTouchInside(event: TouchEvent | MouseEvent) {
114
- let touch = null;
115
- if (this.supportsTouch && event instanceof TouchEvent) {
116
- touch = event.touches[0];
117
- }
118
-
119
- const rect = this._container!.getBoundingClientRect();
120
- const x = this.supportsTouch ? (touch as TouchInit).clientX : (event as MouseEvent).x;
121
- const y = this.supportsTouch ? (touch as TouchInit).clientY : (event as MouseEvent).y;
122
-
123
- return x! >= rect.left && x! <= rect.right
124
- && y! >= rect.top && y! <= rect.bottom;
125
- }
126
-
127
- ontouchstart(event: TouchEvent | MouseEvent) {
128
- let touch = null;
129
- if (this.supportsTouch && event instanceof TouchEvent) {
130
- touch = event.touches[0];
131
- }
132
-
133
- if (!this.supportsTouch) {
134
- document.addEventListener("mouseup", this.mouseUp, { passive: true });
135
- document.addEventListener("mousemove", this.mouseMove, { passive: true });
136
- } else {
137
- // Needed only on mobile
138
- this.startX = touch!.pageX;
139
- this.startY = touch!.pageY;
140
- }
141
-
142
- if (this.supportsTouch && event instanceof TouchEvent) {
143
- this._prevDragX = touch!.pageX;
144
- this._prevDragY = touch!.pageY;
145
- }
146
-
147
- if (event instanceof MouseEvent) {
148
- this._prevDragX = event.x;
149
- this._prevDragY = event.y;
150
- }
151
-
152
- this._canScroll = this._isTouchInside(event);
153
- }
154
-
155
- ontouchmove(event: TouchEvent | MouseEvent) {
156
- if (!this._canScroll) {
157
- return;
158
- }
159
-
160
- const container = this._container;
161
- const touch = this.supportsTouch ? (event as TouchEvent).touches[0] : null;
162
-
163
- const dragX = this.supportsTouch ? (touch as TouchInit).pageX : (event as MouseEvent).x;
164
- const dragY = this.supportsTouch ? (touch as TouchInit).pageY : (event as MouseEvent).y;
165
-
166
- container!.scrollLeft += this._prevDragX! - dragX!;
167
- container!.scrollTop += this._prevDragY! - dragY!;
168
-
169
- this.fireEvent(scrollEventName, {
170
- isLeft: dragX! > this._prevDragX!,
171
- isRight: dragX! < this._prevDragX!,
172
- });
173
-
174
- this.cachedValue.dragX = this._prevDragX!;
175
- this.cachedValue.dragY = this._prevDragY!;
176
-
177
- this._prevDragX = dragX;
178
- this._prevDragY = dragY;
179
- }
180
-
181
- ontouchend(event: TouchEvent | MouseEvent) {
182
- if (this.supportsTouch) {
183
- const deltaX = Math.abs((event as TouchEvent).changedTouches[0].pageX - this.startX);
184
- const deltaY = Math.abs((event as TouchEvent).changedTouches[0].pageY - this.startY);
185
-
186
- if (deltaX < 10 && deltaY < 10) {
187
- return;
188
- }
189
- }
190
-
191
- if (!this._canScroll) {
192
- return;
193
- }
194
-
195
- const container = this._container;
196
- const dragX = this.supportsTouch ? (event as TouchEvent).changedTouches[0].pageX : (event as MouseEvent).x;
197
- const dragY = this.supportsTouch ? (event as TouchEvent).changedTouches[0].pageY : (event as MouseEvent).y;
198
-
199
- container!.scrollLeft += this._prevDragX! - dragX;
200
- container!.scrollTop += this._prevDragY! - dragY;
201
-
202
- const useCachedValues = dragX === this._prevDragX;
203
- const _dragX = useCachedValues ? this.cachedValue.dragX : dragX;
204
- // const _dragY = useCachedValues ? this.cachedValue.dragY : dragY; add if needed
205
-
206
- this.fireEvent(touchEndEventName, {
207
- isLeft: _dragX < this._prevDragX!,
208
- isRight: _dragX > this._prevDragX!,
209
- });
210
-
211
- this._prevDragX = dragX;
212
- this._prevDragY = dragY;
213
-
214
- if (!this.supportsTouch) {
215
- document.removeEventListener("mousemove", this.mouseMove);
216
- document.removeEventListener("mouseup", this.mouseUp);
217
- }
218
- }
219
- }
220
-
221
- export default ScrollEnablement;
222
- export type {
223
- ScrollEnablementEventListenerParam,
224
- };
@@ -1,141 +0,0 @@
1
- import { registerFeature } from "../FeaturesRegistry.js";
2
- import { isF6Next, isF6Previous } from "../Keys.js";
3
- import { instanceOfUI5Element } from "../UI5Element.js";
4
- import { getFirstFocusableElement } from "../util/FocusableElements.js";
5
- import getFastNavigationGroups from "../util/getFastNavigationGroups.js";
6
-
7
- class F6Navigation {
8
- static _instance: F6Navigation;
9
- keydownHandler: (event: KeyboardEvent) => void;
10
- selectedGroup: HTMLElement | null = null;
11
- groups: Array<HTMLElement> = [];
12
-
13
- constructor() {
14
- this.keydownHandler = this._keydownHandler.bind(this) as (event: KeyboardEvent) => void;
15
- this.attachEventListeners();
16
- }
17
-
18
- attachEventListeners() {
19
- document.addEventListener("keydown", this.keydownHandler);
20
- }
21
-
22
- async _keydownHandler(event: KeyboardEvent) {
23
- if (isF6Next(event)) {
24
- this.updateGroups();
25
-
26
- if (this.groups.length < 1) {
27
- return;
28
- }
29
-
30
- event.preventDefault();
31
-
32
- let nextIndex = -1;
33
- let nextElement;
34
- if (this.selectedGroup) {
35
- nextIndex = this.groups.indexOf(this.selectedGroup);
36
- }
37
-
38
- if (nextIndex > -1) {
39
- if (nextIndex + 1 >= this.groups.length) {
40
- nextElement = this.groups[0];
41
- } else {
42
- nextElement = this.groups[nextIndex + 1];
43
- }
44
- } else {
45
- nextElement = this.groups[0];
46
- }
47
-
48
- const nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;
49
-
50
- if (nextElementDomRef) {
51
- const elementToFocus = await getFirstFocusableElement(nextElementDomRef, true);
52
- elementToFocus?.focus();
53
- }
54
- }
55
-
56
- if (isF6Previous(event)) {
57
- this.updateGroups();
58
-
59
- if (this.groups.length < 1) {
60
- return;
61
- }
62
-
63
- event.preventDefault();
64
-
65
- let nextIndex = -1;
66
- let nextElement;
67
- if (this.selectedGroup) {
68
- nextIndex = this.groups.indexOf(this.selectedGroup);
69
- }
70
-
71
- if (nextIndex > 0) {
72
- // Handle the situation where the first focusable element of two neighbor groups is the same
73
- // For example:
74
- // <ui5-flexible-column-layout>
75
- // <ui5-list>
76
- // <ui5-li>List Item</ui5-li>
77
- // </ui5-list>
78
- // </ui5-flexible-column-layout>
79
- // Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)
80
-
81
- const firstFocusable = await getFirstFocusableElement(this.groups[nextIndex - 1], true);
82
- const shouldSkipParent = firstFocusable === await getFirstFocusableElement(this.groups[nextIndex], true);
83
-
84
- nextElement = this.groups[shouldSkipParent ? nextIndex - 2 : nextIndex - 1];
85
- } else {
86
- nextElement = this.groups[this.groups.length - 1];
87
- }
88
-
89
- const nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;
90
-
91
- if (nextElementDomRef) {
92
- const elementToFocus = await getFirstFocusableElement(nextElementDomRef, true);
93
- elementToFocus?.focus();
94
- }
95
- }
96
- }
97
-
98
- removeEventListeners() {
99
- document.removeEventListener("keydown", this.keydownHandler);
100
- }
101
-
102
- updateGroups() {
103
- this.setSelectedGroup();
104
- this.groups = getFastNavigationGroups(document.body);
105
- }
106
-
107
- setSelectedGroup(root: DocumentOrShadowRoot = window.document) {
108
- const htmlElement = window.document.querySelector("html");
109
- let element: Element | null | ParentNode = this.deepActive(root);
110
-
111
- while (element && (element as Element).getAttribute("data-sap-ui-fastnavgroup") !== "true" && element !== htmlElement) {
112
- element = element.parentElement ? element.parentNode : (element.parentNode as ShadowRoot).host;
113
- }
114
-
115
- this.selectedGroup = element as HTMLElement;
116
- }
117
-
118
- deepActive(root: DocumentOrShadowRoot): Element | null {
119
- if (root.activeElement && root.activeElement.shadowRoot) {
120
- return this.deepActive(root.activeElement.shadowRoot);
121
- }
122
-
123
- return root.activeElement;
124
- }
125
-
126
- destroy() {
127
- this.removeEventListeners();
128
- }
129
-
130
- static init() {
131
- if (!this._instance) {
132
- this._instance = new F6Navigation();
133
- }
134
-
135
- return this._instance;
136
- }
137
- }
138
-
139
- registerFeature("F6Navigation", F6Navigation);
140
-
141
- export default F6Navigation;
@@ -1,11 +0,0 @@
1
- import UI5Element from "../UI5Element.js";
2
-
3
- class OpenUI5Element extends UI5Element {
4
- __isBusy?: boolean;
5
- isOpenUI5Component?: boolean;
6
- __suppressFocusIn?: () => void;
7
- __suppressFocusBack?: (e: KeyboardEvent) => void;
8
- __redirectFocus?: boolean;
9
- }
10
-
11
- export default OpenUI5Element;
@@ -1,117 +0,0 @@
1
- import { TemplateResult } from "lit-html";
2
- import { registerFeature } from "../FeaturesRegistry.js";
3
- import BusyIndicatorStyles from "../generated/css/BusyIndicator.css.js";
4
- import merge from "../thirdparty/merge.js";
5
- import {
6
- isTabPrevious,
7
- } from "../Keys.js";
8
-
9
- import type UI5Element from "../UI5Element.js";
10
- import type OpenUI5Element from "./OpenUI5Element.js";
11
-
12
- const busyIndicatorMetadata = {
13
- properties: {
14
- __isBusy: {
15
- type: Boolean,
16
- },
17
- },
18
- };
19
-
20
- class OpenUI5Enablement {
21
- static wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult) {
22
- if (host.isOpenUI5Component && host.__isBusy) {
23
- templateResult = html`
24
- <div class="busy-indicator-wrapper">
25
- <span tabindex="0" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>
26
- ${templateResult}
27
- <div class="busy-indicator-overlay"></div>
28
- <div busy-indicator
29
- class="busy-indicator-busy-area"
30
- tabindex="0"
31
- role="progressbar"
32
- @keydown=${host.__suppressFocusBack}
33
- aria-valuemin="0"
34
- aria-valuemax="100"
35
- aria-valuetext="Busy">
36
- <div>
37
- <div class="busy-indicator-circle circle-animation-0"></div>
38
- <div class="busy-indicator-circle circle-animation-1"></div>
39
- <div class="busy-indicator-circle circle-animation-2"></div>
40
- </div>
41
- </div>
42
- </div>`;
43
- }
44
-
45
- return templateResult;
46
- }
47
-
48
- static enrichBusyIndicatorSettings(klass: typeof UI5Element) {
49
- OpenUI5Enablement.enrichBusyIndicatorMetadata(klass);
50
- OpenUI5Enablement.enrichBusyIndicatorMethods(klass.prototype);
51
- }
52
-
53
- static enrichBusyIndicatorMetadata(klass: typeof UI5Element) {
54
- klass.metadata = merge(klass.metadata, busyIndicatorMetadata);
55
- }
56
-
57
- static enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype) {
58
- Object.defineProperties(UI5ElementPrototype, {
59
- "__redirectFocus": { value: true, writable: true },
60
- "__suppressFocusBack": {
61
- get() {
62
- return {
63
- handleEvent: (e: KeyboardEvent) => {
64
- if (isTabPrevious(e)) {
65
- const beforeElem = this.shadowRoot.querySelector("[busy-indicator-before-span]");
66
- this.__redirectFocus = false;
67
- beforeElem.focus();
68
- this.__redirectFocus = true;
69
- }
70
- },
71
- capture: true,
72
- passive: false,
73
- };
74
- },
75
- },
76
- "isOpenUI5Component": { get: () => { return true; } },
77
- });
78
-
79
- UI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {
80
- const busyIndicator = this.shadowRoot?.querySelector("[busy-indicator]") as HTMLElement;
81
- if (busyIndicator && this.__redirectFocus) {
82
- busyIndicator.focus();
83
- }
84
- };
85
-
86
- UI5ElementPrototype.getDomRef = function getDomRef() {
87
- // If a component set _getRealDomRef to its children, use the return value of this function
88
- if (typeof this._getRealDomRef === "function") {
89
- return this._getRealDomRef();
90
- }
91
-
92
- if (!this.shadowRoot || this.shadowRoot.children.length === 0) {
93
- return;
94
- }
95
-
96
- const children = [...this.shadowRoot.children].filter(child => !["link", "style"].includes(child.localName));
97
-
98
- if (children.length !== 1) {
99
- console.warn(`The shadow DOM for ${(this.constructor as typeof UI5Element).getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`); // eslint-disable-line
100
- }
101
-
102
- if (this.__isBusy) {
103
- return children[0].querySelector(".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)") as HTMLElement;
104
- }
105
-
106
- return children[0] as HTMLElement;
107
- };
108
- }
109
-
110
- static getBusyIndicatorStyles() {
111
- return BusyIndicatorStyles;
112
- }
113
- }
114
-
115
- registerFeature("OpenUI5Enablement", OpenUI5Enablement);
116
-
117
- export default OpenUI5Enablement;
@@ -1,148 +0,0 @@
1
- import { registerFeature } from "../FeaturesRegistry.js";
2
- import { setTheme } from "../config/Theme.js";
3
- import { getCurrentZIndex } from "../util/PopupUtils.js";
4
- import { CLDRData } from "../asset-registries/LocaleData.js";
5
-
6
- type OpenUI5Popup = {
7
- setInitialZIndex: (zIndex: number) => void,
8
- getNextZIndex: () => number,
9
- };
10
-
11
- type OpenUI5Core = {
12
- attachInit: (callback: () => void) => void,
13
- attachThemeChanged: (callback: () => Promise<void>) => void,
14
- getConfiguration: () => OpenUI5CoreConfiguration,
15
- };
16
-
17
- type OpenUI5CoreConfiguration = {
18
- getAnimationMode: () => string,
19
- getLanguage: () => string,
20
- getTheme: () => string,
21
- getThemeRoot: () => string,
22
- getRTL: () => string,
23
- getCalendarType: () => string,
24
- getLocale: () => string,
25
- };
26
-
27
- type LocaleData = {
28
- getInstance: (locale: string) => Locale,
29
- }
30
-
31
- type Locale = {
32
- getFirstDayOfWeek: () => number,
33
- _get: () => CLDRData,
34
- };
35
-
36
- const getCore = () => {
37
- return window.sap?.ui?.getCore?.() as OpenUI5Core;
38
- };
39
-
40
- class OpenUI5Support {
41
- static isLoaded() {
42
- return !!getCore();
43
- }
44
-
45
- static init() {
46
- const core = getCore();
47
- if (!core) {
48
- return Promise.resolve();
49
- }
50
-
51
- return new Promise<void>(resolve => {
52
- core.attachInit(() => {
53
- window.sap.ui.require(["sap/ui/core/LocaleData", "sap/ui/core/Popup"], (LocaleData: LocaleData, Popup: OpenUI5Popup) => {
54
- Popup.setInitialZIndex(getCurrentZIndex());
55
- resolve();
56
- });
57
- });
58
- });
59
- }
60
-
61
- static getConfigurationSettingsObject() {
62
- const core = getCore();
63
- if (!core) {
64
- return;
65
- }
66
-
67
- const config = core.getConfiguration();
68
- const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
69
-
70
- return {
71
- animationMode: config.getAnimationMode(),
72
- language: config.getLanguage(),
73
- theme: config.getTheme(),
74
- themeRoot: config.getThemeRoot(),
75
- rtl: config.getRTL(),
76
- calendarType: config.getCalendarType(),
77
- formatSettings: {
78
- firstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,
79
- },
80
- };
81
- }
82
-
83
- static getLocaleDataObject() {
84
- const core = getCore();
85
- if (!core) {
86
- return;
87
- }
88
-
89
- const config = core.getConfiguration();
90
- const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData") as LocaleData;
91
- return LocaleData.getInstance(config.getLocale())._get();
92
- }
93
-
94
- static _listenForThemeChange() {
95
- const core = getCore();
96
- const config = core.getConfiguration();
97
- core.attachThemeChanged(async () => {
98
- await setTheme(config.getTheme());
99
- });
100
- }
101
-
102
- static attachListeners() {
103
- const core = getCore();
104
- if (!core) {
105
- return;
106
- }
107
-
108
- OpenUI5Support._listenForThemeChange();
109
- }
110
-
111
- static cssVariablesLoaded() {
112
- const core = getCore();
113
- if (!core) {
114
- return;
115
- }
116
-
117
- const link = [...document.head.children].find(el => el.id === "sap-ui-theme-sap.ui.core") as HTMLLinkElement; // more reliable than querySelector early
118
- if (!link) {
119
- return;
120
- }
121
-
122
- return !!link.href.match(/\/css(-|_)variables\.css/);
123
- }
124
-
125
- static getNextZIndex() {
126
- const core = getCore();
127
- if (!core) {
128
- return;
129
- }
130
-
131
- const Popup = window.sap.ui.require("sap/ui/core/Popup") as OpenUI5Popup;
132
- return Popup.getNextZIndex();
133
- }
134
-
135
- static setInitialZIndex() {
136
- const core = getCore();
137
- if (!core) {
138
- return;
139
- }
140
-
141
- const Popup = window.sap.ui.require("sap/ui/core/Popup") as OpenUI5Popup;
142
- Popup.setInitialZIndex(getCurrentZIndex());
143
- }
144
- }
145
-
146
- registerFeature("OpenUI5Support", OpenUI5Support);
147
-
148
- export default OpenUI5Support;
@@ -1,9 +0,0 @@
1
- import type { StyleData } from "../../types.js";
2
-
3
- const styleData: StyleData = {
4
- packageName: "@ui5/webcomponents-base",
5
- fileName: "BusyIndicator.css",
6
- content: `.busy-indicator-wrapper{position:relative;height:100%;width:100%}.busy-indicator-overlay{display:var(--ui5_web_components_busy_indicator_display);position:absolute;inset:0;background:var(--ui5_web_components_busy_indicator_background-color);z-index:99}.busy-indicator-busy-area{display:var(--ui5_web_components_busy_indicator_display);position:absolute;z-index:99;inset:0;justify-content:center;align-items:center;background-color:inherit;flex-direction:column;color:var(--_ui5_busy_indicator_color)}:host([__is-busy]) .busy-indicator-wrapper>:not(.busy-indicator-busy-area):not(.busy-indicator-overlay):not([busy-indicator-before-span]){--ui5_web_components_busy_indicator_display:none}.busy-indicator-busy-area:focus{outline:var(--_ui5_busy_indicator_focus_outline);outline-offset:-.125rem}.busy-indicator-circle{width:1rem;height:1rem;display:inline-block;background-color:currentColor;border-radius:50%}.circle-animation-0{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11)}.circle-animation-1{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.2s}.circle-animation-2{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.4s}.sapUiLocalBusy{--ui5_web_components_busy_indicator_display:none}.busy-indicator-wrapper [ui5-busy-indicator]{display:none}@keyframes grow{0%,100%,50%{-webkit-transform:scale(.5);-moz-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}25%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}`,
7
- };
8
-
9
- export default styleData;
@@ -1,9 +0,0 @@
1
- import type { StyleData } from "../../types.js";
2
-
3
- const styleData: StyleData = {
4
- packageName: "@ui5/webcomponents-base",
5
- fileName: "FontFace.css",
6
- content: `@font-face{font-family:"72";font-style:normal;font-weight:400;src:local("72"),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:local('72-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72";font-style:normal;font-weight:700;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:local('72-Bold-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Bold';font-style:normal;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Boldfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Light';font-style:normal;src:local('72-Light'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Lightfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:local('72Black'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2")}`,
7
- };
8
-
9
- export default styleData;
@@ -1,9 +0,0 @@
1
- import type { StyleData } from "../../types.js";
2
-
3
- const styleData: StyleData = {
4
- packageName: "@ui5/webcomponents-base",
5
- fileName: "OverrideFontFace.css",
6
- content: `@font-face{font-family:'72override';unicode-range:U+0102-0103,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EB7,U+1EB8-1EC7,U+1EC8-1ECB,U+1ECC-1EE3,U+1EE4-1EF1,U+1EF4-1EF7;src:local('Arial'),local('Helvetica'),local('sans-serif')}`,
7
- };
8
-
9
- export default styleData;
@@ -1,9 +0,0 @@
1
- import type { StyleData } from "../../types.js";
2
-
3
- const styleData: StyleData = {
4
- packageName: "@ui5/webcomponents-base",
5
- fileName: "SystemCSSVars.css",
6
- content: `:root{--_ui5_content_density:cozy}.sapUiSizeCompact,.ui5-content-density-compact,[data-ui5-compact-size]{--_ui5_content_density:compact}[dir=rtl]{--_ui5_dir:rtl}[dir=ltr]{--_ui5_dir:ltr}`,
7
- };
8
-
9
- export default styleData;