@ui5/webcomponents-base 0.0.0-7a547f8cc → 0.0.0-7c7170d4a

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 (551) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +1273 -0
  3. package/README.md +5 -8
  4. package/config/wdio.conf.cjs +392 -0
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/AssetRegistry.d.ts +2 -2
  7. package/dist/AssetRegistry.js +2 -2
  8. package/dist/AssetRegistry.js.map +1 -1
  9. package/dist/Boot.d.ts +6 -4
  10. package/dist/Boot.js +31 -6
  11. package/dist/Boot.js.map +1 -1
  12. package/dist/CustomElementsRegistry.js.map +1 -1
  13. package/dist/CustomElementsScope.d.ts +4 -4
  14. package/dist/CustomElementsScope.js +2 -2
  15. package/dist/CustomElementsScope.js.map +1 -1
  16. package/dist/CustomElementsScopeUtils.d.ts +8 -1
  17. package/dist/CustomElementsScopeUtils.js +13 -1
  18. package/dist/CustomElementsScopeUtils.js.map +1 -1
  19. package/dist/DOMObserver.js.map +1 -1
  20. package/dist/Device.d.ts +2 -2
  21. package/dist/Device.js +14 -12
  22. package/dist/Device.js.map +1 -1
  23. package/dist/EventProvider.js +1 -1
  24. package/dist/EventProvider.js.map +1 -1
  25. package/dist/FeaturesRegistry.js.map +1 -1
  26. package/dist/FontFace.js +1 -1
  27. package/dist/FontFace.js.map +1 -1
  28. package/dist/IgnoreCustomElements.d.ts +25 -0
  29. package/dist/IgnoreCustomElements.js +37 -0
  30. package/dist/IgnoreCustomElements.js.map +1 -0
  31. package/dist/InitialConfiguration.d.ts +7 -2
  32. package/dist/InitialConfiguration.js +16 -6
  33. package/dist/InitialConfiguration.js.map +1 -1
  34. package/dist/Keys.d.ts +7 -1
  35. package/dist/Keys.js +113 -106
  36. package/dist/Keys.js.map +1 -1
  37. package/dist/ManagedStyles.d.ts +5 -4
  38. package/dist/ManagedStyles.js +54 -52
  39. package/dist/ManagedStyles.js.map +1 -1
  40. package/dist/MarkedEvents.js.map +1 -1
  41. package/dist/MediaRange.d.ts +6 -12
  42. package/dist/MediaRange.js +21 -31
  43. package/dist/MediaRange.js.map +1 -1
  44. package/dist/PropertiesFileFormat.js.map +1 -1
  45. package/dist/Render.js.map +1 -1
  46. package/dist/RenderQueue.js.map +1 -1
  47. package/dist/Runtimes.js.map +1 -1
  48. package/dist/StaticArea.d.ts +3 -0
  49. package/dist/StaticArea.js +4 -3
  50. package/dist/StaticArea.js.map +1 -1
  51. package/dist/SystemCSSVars.js.map +1 -1
  52. package/dist/Theming.js.map +1 -1
  53. package/dist/UI5Element.d.ts +59 -58
  54. package/dist/UI5Element.js +165 -116
  55. package/dist/UI5Element.js.map +1 -1
  56. package/dist/UI5ElementMetadata.d.ts +13 -13
  57. package/dist/UI5ElementMetadata.js +26 -15
  58. package/dist/UI5ElementMetadata.js.map +1 -1
  59. package/dist/animations/AnimationQueue.js.map +1 -1
  60. package/dist/animations/animate.js.map +1 -1
  61. package/dist/animations/scroll.js.map +1 -1
  62. package/dist/animations/slideDown.js.map +1 -1
  63. package/dist/animations/slideUp.js.map +1 -1
  64. package/dist/asset-registries/Icons.d.ts +22 -13
  65. package/dist/asset-registries/Icons.js +63 -31
  66. package/dist/asset-registries/Icons.js.map +1 -1
  67. package/dist/asset-registries/Illustrations.d.ts +3 -1
  68. package/dist/asset-registries/Illustrations.js +51 -20
  69. package/dist/asset-registries/Illustrations.js.map +1 -1
  70. package/dist/asset-registries/LocaleData.js +1 -1
  71. package/dist/asset-registries/LocaleData.js.map +1 -1
  72. package/dist/asset-registries/Themes.d.ts +5 -3
  73. package/dist/asset-registries/Themes.js +28 -10
  74. package/dist/asset-registries/Themes.js.map +1 -1
  75. package/dist/asset-registries/i18n.d.ts +2 -2
  76. package/dist/asset-registries/i18n.js +12 -5
  77. package/dist/asset-registries/i18n.js.map +1 -1
  78. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  79. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  80. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  81. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  82. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  83. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  84. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  85. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  86. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  87. package/dist/config/AnimationMode.d.ts +2 -2
  88. package/dist/config/AnimationMode.js +2 -1
  89. package/dist/config/AnimationMode.js.map +1 -1
  90. package/dist/config/CalendarType.d.ts +8 -1
  91. package/dist/config/CalendarType.js +18 -2
  92. package/dist/config/CalendarType.js.map +1 -1
  93. package/dist/config/FormatSettings.d.ts +5 -1
  94. package/dist/config/FormatSettings.js +5 -1
  95. package/dist/config/FormatSettings.js.map +1 -1
  96. package/dist/config/Icons.d.ts +31 -21
  97. package/dist/config/Icons.js +28 -32
  98. package/dist/config/Icons.js.map +1 -1
  99. package/dist/config/Language.d.ts +11 -2
  100. package/dist/config/Language.js +19 -4
  101. package/dist/config/Language.js.map +1 -1
  102. package/dist/config/NoConflict.js +1 -0
  103. package/dist/config/NoConflict.js.map +1 -1
  104. package/dist/config/Theme.d.ts +16 -5
  105. package/dist/config/Theme.js +35 -9
  106. package/dist/config/Theme.js.map +1 -1
  107. package/dist/config/ThemeRoot.d.ts +27 -0
  108. package/dist/config/ThemeRoot.js +57 -0
  109. package/dist/config/ThemeRoot.js.map +1 -0
  110. package/dist/config/Timezone.d.ts +17 -0
  111. package/dist/config/Timezone.js +30 -0
  112. package/dist/config/Timezone.js.map +1 -0
  113. package/dist/connectToComponent.d.ts +9 -0
  114. package/dist/connectToComponent.js +59 -0
  115. package/dist/connectToComponent.js.map +1 -0
  116. package/dist/css/FontFace.css +47 -17
  117. package/dist/css/SystemCSSVars.css +0 -8
  118. package/dist/decorators/customElement.d.ts +17 -2
  119. package/dist/decorators/customElement.js +31 -5
  120. package/dist/decorators/customElement.js.map +1 -1
  121. package/dist/decorators/event.d.ts +5 -2
  122. package/dist/decorators/event.js +6 -6
  123. package/dist/decorators/event.js.map +1 -1
  124. package/dist/decorators/property.js +6 -6
  125. package/dist/decorators/property.js.map +1 -1
  126. package/dist/decorators/slot.js +9 -9
  127. package/dist/decorators/slot.js.map +1 -1
  128. package/dist/decorators.d.ts +5 -0
  129. package/dist/decorators.js +6 -0
  130. package/dist/decorators.js.map +1 -0
  131. package/dist/delegate/ItemNavigation.d.ts +9 -8
  132. package/dist/delegate/ItemNavigation.js +13 -14
  133. package/dist/delegate/ItemNavigation.js.map +1 -1
  134. package/dist/delegate/ResizeHandler.d.ts +4 -6
  135. package/dist/delegate/ResizeHandler.js +11 -11
  136. package/dist/delegate/ResizeHandler.js.map +1 -1
  137. package/dist/delegate/ScrollEnablement.js +2 -2
  138. package/dist/delegate/ScrollEnablement.js.map +1 -1
  139. package/dist/features/F6Navigation.js.map +1 -1
  140. package/dist/features/InputElementsFormSupport.d.ts +18 -0
  141. package/dist/features/InputElementsFormSupport.js +40 -0
  142. package/dist/features/InputElementsFormSupport.js.map +1 -0
  143. package/dist/features/LegacyDateFormats.d.ts +18 -0
  144. package/dist/features/LegacyDateFormats.js +20 -0
  145. package/dist/features/LegacyDateFormats.js.map +1 -0
  146. package/dist/features/OpenUI5Element.js.map +1 -1
  147. package/dist/features/OpenUI5Enablement.d.ts +1 -1
  148. package/dist/features/OpenUI5Enablement.js.map +1 -1
  149. package/dist/features/OpenUI5Support.d.ts +16 -5
  150. package/dist/features/OpenUI5Support.js +89 -46
  151. package/dist/features/OpenUI5Support.js.map +1 -1
  152. package/dist/features/patchPatcher.d.ts +11 -0
  153. package/dist/features/patchPatcher.js +11 -0
  154. package/dist/features/patchPatcher.js.map +1 -0
  155. package/dist/features/patchPopup.d.ts +14 -0
  156. package/dist/features/patchPopup.js +50 -0
  157. package/dist/features/patchPopup.js.map +1 -0
  158. package/dist/generated/AssetParameters.d.ts +6 -0
  159. package/dist/generated/AssetParameters.js +4 -9
  160. package/dist/generated/AssetParameters.js.map +1 -0
  161. package/dist/generated/VersionInfo.d.ts +10 -0
  162. package/dist/generated/VersionInfo.js +9 -8
  163. package/dist/generated/VersionInfo.js.map +1 -0
  164. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  165. package/dist/generated/css/FontFace.css.js +1 -1
  166. package/dist/generated/css/FontFace.css.js.map +1 -1
  167. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  168. package/dist/generated/css/SystemCSSVars.css.js +1 -1
  169. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  170. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  171. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +8 -10
  172. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  173. package/dist/getSharedResource.d.ts +1 -1
  174. package/dist/getSharedResource.js +8 -2
  175. package/dist/getSharedResource.js.map +1 -1
  176. package/dist/global.d.ts +2 -0
  177. package/dist/i18nBundle.d.ts +2 -4
  178. package/dist/i18nBundle.js +3 -5
  179. package/dist/i18nBundle.js.map +1 -1
  180. package/dist/locale/Locale.js.map +1 -1
  181. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  182. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  183. package/dist/locale/applyDirection.d.ts +3 -2
  184. package/dist/locale/applyDirection.js +3 -2
  185. package/dist/locale/applyDirection.js.map +1 -1
  186. package/dist/locale/directionChange.js.map +1 -1
  187. package/dist/locale/getEffectiveDir.d.ts +1 -1
  188. package/dist/locale/getEffectiveDir.js +3 -19
  189. package/dist/locale/getEffectiveDir.js.map +1 -1
  190. package/dist/locale/getLocale.js.map +1 -1
  191. package/dist/locale/languageChange.js.map +1 -1
  192. package/dist/locale/nextFallbackLocale.js.map +1 -1
  193. package/dist/locale/normalizeLocale.js.map +1 -1
  194. package/dist/locale/timezoneChange.d.ts +5 -0
  195. package/dist/renderer/LitRenderer.d.ts +5 -5
  196. package/dist/renderer/LitRenderer.js +2 -8
  197. package/dist/renderer/LitRenderer.js.map +1 -1
  198. package/dist/renderer/directives/style-map.d.ts +13 -0
  199. package/dist/renderer/directives/style-map.js +59 -59
  200. package/dist/renderer/directives/style-map.js.map +1 -0
  201. package/dist/renderer/executeTemplate.d.ts +8 -0
  202. package/dist/renderer/executeTemplate.js +2 -1
  203. package/dist/renderer/executeTemplate.js.map +1 -1
  204. package/dist/sap/base/Log.js +698 -188
  205. package/dist/sap/base/assert.js +28 -1
  206. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  207. package/dist/sap/base/security/URLListValidator.js +253 -6
  208. package/dist/sap/base/security/encodeCSS.js +34 -8
  209. package/dist/sap/base/security/encodeXML.js +47 -17
  210. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  211. package/dist/sap/base/strings/toHex.js +27 -2
  212. package/dist/sap/base/util/now.js +24 -3
  213. package/dist/sap/base/util/uid.js +27 -0
  214. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  215. package/dist/ssr-dom-shim.d.ts +1 -0
  216. package/dist/ssr-dom-shim.js +12 -0
  217. package/dist/ssr-dom-shim.js.map +1 -0
  218. package/dist/ssr-dom.d.ts +0 -0
  219. package/dist/ssr-dom.js +0 -0
  220. package/dist/theming/CustomStyle.js.map +1 -1
  221. package/dist/theming/ThemeLoaded.js.map +1 -1
  222. package/dist/theming/ThemeRegistered.d.ts +4 -0
  223. package/dist/theming/ThemeRegistered.js +11 -0
  224. package/dist/theming/ThemeRegistered.js.map +1 -0
  225. package/dist/theming/applyTheme.js +8 -7
  226. package/dist/theming/applyTheme.js.map +1 -1
  227. package/dist/theming/getConstructableStyle.d.ts +1 -1
  228. package/dist/theming/getConstructableStyle.js +3 -3
  229. package/dist/theming/getConstructableStyle.js.map +1 -1
  230. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  231. package/dist/theming/getEffectiveStyle.js +5 -12
  232. package/dist/theming/getEffectiveStyle.js.map +1 -1
  233. package/dist/theming/getStylesString.d.ts +1 -1
  234. package/dist/theming/getStylesString.js.map +1 -1
  235. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  236. package/dist/thirdparty/_merge.js.map +1 -1
  237. package/dist/thirdparty/isPlainObject.js.map +1 -1
  238. package/dist/thirdparty/merge.js.map +1 -1
  239. package/dist/types/AnimationMode.d.ts +0 -8
  240. package/dist/types/AnimationMode.js +0 -8
  241. package/dist/types/AnimationMode.js.map +1 -1
  242. package/dist/types/AriaHasPopup.d.ts +32 -0
  243. package/dist/types/AriaHasPopup.js +34 -0
  244. package/dist/types/AriaHasPopup.js.map +1 -0
  245. package/dist/types/AriaLandmarkRole.d.ts +79 -0
  246. package/dist/types/AriaLandmarkRole.js +81 -0
  247. package/dist/types/AriaLandmarkRole.js.map +1 -0
  248. package/dist/types/AriaRole.d.ts +27 -0
  249. package/dist/types/AriaRole.js +29 -0
  250. package/dist/types/AriaRole.js.map +1 -0
  251. package/dist/types/CSSColor.d.ts +0 -5
  252. package/dist/types/CSSColor.js +0 -5
  253. package/dist/types/CSSColor.js.map +1 -1
  254. package/dist/types/CSSSize.d.ts +11 -0
  255. package/dist/types/CSSSize.js +14 -0
  256. package/dist/types/CSSSize.js.map +1 -0
  257. package/dist/types/CalendarType.d.ts +0 -9
  258. package/dist/types/CalendarType.js +0 -9
  259. package/dist/types/CalendarType.js.map +1 -1
  260. package/dist/types/DOMReference.d.ts +1 -5
  261. package/dist/types/DOMReference.js +1 -5
  262. package/dist/types/DOMReference.js.map +1 -1
  263. package/dist/types/DataType.d.ts +1 -6
  264. package/dist/types/DataType.js +1 -6
  265. package/dist/types/DataType.js.map +1 -1
  266. package/dist/types/Float.d.ts +0 -4
  267. package/dist/types/Float.js +0 -4
  268. package/dist/types/Float.js.map +1 -1
  269. package/dist/types/Integer.d.ts +0 -4
  270. package/dist/types/Integer.js +0 -4
  271. package/dist/types/Integer.js.map +1 -1
  272. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  273. package/dist/types/InvisibleMessageMode.js +4 -11
  274. package/dist/types/InvisibleMessageMode.js.map +1 -1
  275. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  276. package/dist/types/ItemNavigationBehavior.js +0 -6
  277. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  278. package/dist/types/MovePlacement.d.ts +20 -0
  279. package/dist/types/MovePlacement.js +22 -0
  280. package/dist/types/MovePlacement.js.map +1 -0
  281. package/dist/types/NavigationMode.d.ts +0 -8
  282. package/dist/types/NavigationMode.js +0 -8
  283. package/dist/types/NavigationMode.js.map +1 -1
  284. package/dist/types/Orientation.d.ts +16 -0
  285. package/dist/types/Orientation.js +18 -0
  286. package/dist/types/Orientation.js.map +1 -0
  287. package/dist/types/ValueState.d.ts +3 -17
  288. package/dist/types/ValueState.js +3 -17
  289. package/dist/types/ValueState.js.map +1 -1
  290. package/dist/types.d.ts +24 -1
  291. package/dist/types.js.map +1 -1
  292. package/dist/updateShadowRoot.d.ts +1 -2
  293. package/dist/updateShadowRoot.js +5 -21
  294. package/dist/updateShadowRoot.js.map +1 -1
  295. package/dist/util/AriaLabelHelper.d.ts +10 -1
  296. package/dist/util/AriaLabelHelper.js +135 -8
  297. package/dist/util/AriaLabelHelper.js.map +1 -1
  298. package/dist/util/Caret.js.map +1 -1
  299. package/dist/util/ColorConversion.js +200 -195
  300. package/dist/util/ColorConversion.js.map +1 -1
  301. package/dist/util/FetchHelper.js.map +1 -1
  302. package/dist/util/FocusableElements.js +4 -3
  303. package/dist/util/FocusableElements.js.map +1 -1
  304. package/dist/util/HTMLSanitizer.js.map +1 -1
  305. package/dist/util/InvisibleMessage.js.map +1 -1
  306. package/dist/util/PopupUtils.d.ts +1 -3
  307. package/dist/util/PopupUtils.js +1 -15
  308. package/dist/util/PopupUtils.js.map +1 -1
  309. package/dist/util/SlotsHelper.js.map +1 -1
  310. package/dist/util/StringHelper.js.map +1 -1
  311. package/dist/util/TabbableElements.js.map +1 -1
  312. package/dist/util/arraysAreEqual.js.map +1 -1
  313. package/dist/util/clamp.js +2 -1
  314. package/dist/util/clamp.js.map +1 -1
  315. package/dist/util/createLinkInHead.d.ts +1 -1
  316. package/dist/util/createLinkInHead.js +1 -1
  317. package/dist/util/createLinkInHead.js.map +1 -1
  318. package/dist/util/debounce.js.map +1 -1
  319. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  320. package/dist/util/detectNavigatorLanguage.js +6 -1
  321. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  322. package/dist/util/dragAndDrop/DragRegistry.d.ts +12 -0
  323. package/dist/util/dragAndDrop/DragRegistry.js +68 -0
  324. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  325. package/dist/util/dragAndDrop/findClosestPosition.d.ts +7 -0
  326. package/dist/util/dragAndDrop/findClosestPosition.js +59 -0
  327. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  328. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  329. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  330. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  331. package/dist/util/escapeRegex.js.map +1 -1
  332. package/dist/util/formatMessage.js.map +1 -1
  333. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  334. package/dist/util/getActiveElement.js.map +1 -1
  335. package/dist/util/getClassCopy.d.ts +68 -48
  336. package/dist/util/getClassCopy.js.map +1 -1
  337. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  338. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  339. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  340. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  341. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  342. package/dist/util/getFastNavigationGroups.js.map +1 -1
  343. package/dist/util/getFileExtension.js.map +1 -1
  344. package/dist/util/getNormalizedTarget.js.map +1 -1
  345. package/dist/util/getParentElement.d.ts +2 -0
  346. package/dist/util/getParentElement.js +5 -0
  347. package/dist/util/getParentElement.js.map +1 -0
  348. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  349. package/dist/util/getSingletonElementInstance.js +11 -2
  350. package/dist/util/getSingletonElementInstance.js.map +1 -1
  351. package/dist/util/isElementClickable.js.map +1 -1
  352. package/dist/util/isElementContainingBlock.d.ts +2 -0
  353. package/dist/util/isElementContainingBlock.js +11 -0
  354. package/dist/util/isElementContainingBlock.js.map +1 -0
  355. package/dist/util/isElementHidden.js.map +1 -1
  356. package/dist/util/isElementInView.js.map +1 -1
  357. package/dist/util/isElementTabbable.js.map +1 -1
  358. package/dist/util/isValidPropertyName.js.map +1 -1
  359. package/dist/util/whenDOMReady.js.map +1 -1
  360. package/dist/util/willShowContent.js.map +1 -1
  361. package/dist/validateThemeRoot.js +14 -13
  362. package/dist/validateThemeRoot.js.map +1 -1
  363. package/index.js +211 -1
  364. package/{package-scripts.js → package-scripts.cjs} +26 -23
  365. package/package.json +24 -8
  366. package/src/css/FontFace.css +47 -17
  367. package/src/css/SystemCSSVars.css +0 -8
  368. package/tsconfig.json +7 -0
  369. package/.eslintignore +0 -16
  370. package/bundle.esm.js +0 -60
  371. package/config/wdio.conf.js +0 -1
  372. package/dist/CSP.d.ts +0 -30
  373. package/dist/CSP.js +0 -51
  374. package/dist/CSP.js.map +0 -1
  375. package/dist/StaticAreaItem.d.ts +0 -36
  376. package/dist/StaticAreaItem.js +0 -99
  377. package/dist/StaticAreaItem.js.map +0 -1
  378. package/dist/api.json +0 -1
  379. package/dist/assets/bundle.esm.c3e922da.js +0 -56
  380. package/dist/assets-meta/IconCollectionsAlias.d.ts +0 -17
  381. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  382. package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
  383. package/dist/config/RTL.d.ts +0 -7
  384. package/dist/config/RTL.js +0 -37
  385. package/dist/config/RTL.js.map +0 -1
  386. package/dist/config/ThemeRoots.d.ts +0 -4
  387. package/dist/config/ThemeRoots.js +0 -28
  388. package/dist/config/ThemeRoots.js.map +0 -1
  389. package/dist/decorators/fastNavigation.d.ts +0 -7
  390. package/dist/decorators/fastNavigation.js +0 -13
  391. package/dist/decorators/fastNavigation.js.map +0 -1
  392. package/dist/decorators/languageAware.d.ts +0 -7
  393. package/dist/decorators/languageAware.js +0 -13
  394. package/dist/decorators/languageAware.js.map +0 -1
  395. package/dist/decorators/themeAware.d.ts +0 -7
  396. package/dist/decorators/themeAware.js +0 -13
  397. package/dist/decorators/themeAware.js.map +0 -1
  398. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  399. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  400. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  401. package/dist/theming/preloadLinks.d.ts +0 -3
  402. package/dist/theming/preloadLinks.js +0 -19
  403. package/dist/theming/preloadLinks.js.map +0 -1
  404. package/dist/util/createStyleInHead.d.ts +0 -8
  405. package/dist/util/createStyleInHead.js +0 -18
  406. package/dist/util/createStyleInHead.js.map +0 -1
  407. package/lib/generate-asset-parameters/index.js +0 -25
  408. package/lib/generate-styles/index.js +0 -31
  409. package/lib/generate-version-info/index.js +0 -32
  410. package/src/AssetRegistry.ts +0 -11
  411. package/src/Boot.ts +0 -65
  412. package/src/CSP.ts +0 -66
  413. package/src/CustomElementsRegistry.ts +0 -98
  414. package/src/CustomElementsScope.ts +0 -33
  415. package/src/CustomElementsScopeUtils.ts +0 -115
  416. package/src/DOMObserver.ts +0 -28
  417. package/src/Device.ts +0 -203
  418. package/src/EventProvider.ts +0 -87
  419. package/src/FeaturesRegistry.ts +0 -14
  420. package/src/FontFace.ts +0 -31
  421. package/src/InitialConfiguration.ts +0 -207
  422. package/src/Keys.ts +0 -295
  423. package/src/ManagedStyles.ts +0 -92
  424. package/src/MarkedEvents.ts +0 -20
  425. package/src/MediaRange.ts +0 -110
  426. package/src/PropertiesFileFormat.ts +0 -95
  427. package/src/Render.ts +0 -180
  428. package/src/RenderQueue.ts +0 -71
  429. package/src/Runtimes.ts +0 -114
  430. package/src/StaticArea.ts +0 -3
  431. package/src/StaticAreaItem.ts +0 -113
  432. package/src/SystemCSSVars.ts +0 -10
  433. package/src/Theming.ts +0 -4
  434. package/src/UI5Element.ts +0 -1156
  435. package/src/UI5ElementMetadata.ts +0 -389
  436. package/src/animations/AnimationQueue.ts +0 -43
  437. package/src/animations/animate.ts +0 -64
  438. package/src/animations/scroll.ts +0 -21
  439. package/src/animations/slideDown.ts +0 -72
  440. package/src/animations/slideUp.ts +0 -67
  441. package/src/asset-registries/Icons.ts +0 -162
  442. package/src/asset-registries/Illustrations.ts +0 -75
  443. package/src/asset-registries/LocaleData.ts +0 -172
  444. package/src/asset-registries/Themes.ts +0 -67
  445. package/src/asset-registries/i18n.ts +0 -118
  446. package/src/assets-meta/IconCollectionsAlias.ts +0 -18
  447. package/src/config/AnimationMode.ts +0 -33
  448. package/src/config/CalendarType.ts +0 -23
  449. package/src/config/FormatSettings.ts +0 -21
  450. package/src/config/Icons.ts +0 -59
  451. package/src/config/Language.ts +0 -72
  452. package/src/config/NoConflict.ts +0 -67
  453. package/src/config/RTL.ts +0 -45
  454. package/src/config/Theme.ts +0 -64
  455. package/src/config/ThemeRoots.ts +0 -41
  456. package/src/decorators/customElement.ts +0 -17
  457. package/src/decorators/event.ts +0 -28
  458. package/src/decorators/fastNavigation.ts +0 -14
  459. package/src/decorators/languageAware.ts +0 -14
  460. package/src/decorators/property.ts +0 -30
  461. package/src/decorators/slot.ts +0 -49
  462. package/src/decorators/themeAware.ts +0 -14
  463. package/src/delegate/ItemNavigation.ts +0 -393
  464. package/src/delegate/ResizeHandler.ts +0 -100
  465. package/src/delegate/ScrollEnablement.ts +0 -224
  466. package/src/features/F6Navigation.ts +0 -195
  467. package/src/features/OpenUI5Element.ts +0 -11
  468. package/src/features/OpenUI5Enablement.ts +0 -117
  469. package/src/features/OpenUI5Support.ts +0 -148
  470. package/src/generated/css/BusyIndicator.css.ts +0 -9
  471. package/src/generated/css/FontFace.css.ts +0 -9
  472. package/src/generated/css/OverrideFontFace.css.ts +0 -9
  473. package/src/generated/css/SystemCSSVars.css.ts +0 -9
  474. package/src/getSharedResource.ts +0 -39
  475. package/src/global.d.ts +0 -38
  476. package/src/i18nBundle.ts +0 -108
  477. package/src/locale/Locale.ts +0 -101
  478. package/src/locale/RTLAwareRegistry.ts +0 -16
  479. package/src/locale/applyDirection.ts +0 -18
  480. package/src/locale/directionChange.ts +0 -34
  481. package/src/locale/getEffectiveDir.ts +0 -28
  482. package/src/locale/getLocale.ts +0 -46
  483. package/src/locale/languageChange.ts +0 -24
  484. package/src/locale/nextFallbackLocale.ts +0 -28
  485. package/src/locale/normalizeLocale.ts +0 -56
  486. package/src/renderer/LitRenderer.ts +0 -60
  487. package/src/renderer/directives/style-map.js +0 -72
  488. package/src/renderer/executeTemplate.ts +0 -40
  489. package/src/theming/CustomStyle.ts +0 -64
  490. package/src/theming/ThemeLoaded.ts +0 -24
  491. package/src/theming/applyTheme.ts +0 -90
  492. package/src/theming/getConstructableStyle.ts +0 -31
  493. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  494. package/src/theming/getEffectiveStyle.ts +0 -41
  495. package/src/theming/getStylesString.ts +0 -15
  496. package/src/theming/getThemeDesignerTheme.ts +0 -101
  497. package/src/theming/preloadLinks.ts +0 -24
  498. package/src/thirdparty/_merge.ts +0 -32
  499. package/src/thirdparty/isPlainObject.ts +0 -18
  500. package/src/thirdparty/merge.ts +0 -5
  501. package/src/types/AnimationMode.ts +0 -33
  502. package/src/types/CSSColor.ts +0 -20
  503. package/src/types/CalendarType.ts +0 -38
  504. package/src/types/DOMReference.ts +0 -28
  505. package/src/types/DataType.ts +0 -51
  506. package/src/types/Float.ts +0 -25
  507. package/src/types/Integer.ts +0 -25
  508. package/src/types/InvisibleMessageMode.ts +0 -27
  509. package/src/types/ItemNavigationBehavior.ts +0 -26
  510. package/src/types/NavigationMode.ts +0 -33
  511. package/src/types/ValueState.ts +0 -47
  512. package/src/types.ts +0 -30
  513. package/src/updateShadowRoot.ts +0 -37
  514. package/src/util/AriaLabelHelper.ts +0 -63
  515. package/src/util/Caret.ts +0 -28
  516. package/src/util/ColorConversion.ts +0 -399
  517. package/src/util/FetchHelper.ts +0 -31
  518. package/src/util/FocusableElements.ts +0 -92
  519. package/src/util/HTMLSanitizer.ts +0 -9
  520. package/src/util/InvisibleMessage.ts +0 -69
  521. package/src/util/PopupUtils.ts +0 -112
  522. package/src/util/SlotsHelper.ts +0 -39
  523. package/src/util/StringHelper.ts +0 -26
  524. package/src/util/TabbableElements.ts +0 -70
  525. package/src/util/arraysAreEqual.ts +0 -15
  526. package/src/util/clamp.ts +0 -12
  527. package/src/util/createLinkInHead.ts +0 -25
  528. package/src/util/createStyleInHead.ts +0 -20
  529. package/src/util/debounce.ts +0 -18
  530. package/src/util/detectNavigatorLanguage.ts +0 -13
  531. package/src/util/escapeRegex.ts +0 -11
  532. package/src/util/formatMessage.ts +0 -24
  533. package/src/util/generateHighlightedMarkup.ts +0 -43
  534. package/src/util/getActiveElement.ts +0 -11
  535. package/src/util/getClassCopy.ts +0 -12
  536. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  537. package/src/util/getEffectiveContentDensity.ts +0 -5
  538. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  539. package/src/util/getFastNavigationGroups.ts +0 -63
  540. package/src/util/getFileExtension.ts +0 -21
  541. package/src/util/getNormalizedTarget.ts +0 -16
  542. package/src/util/getSingletonElementInstance.ts +0 -13
  543. package/src/util/isElementClickable.ts +0 -19
  544. package/src/util/isElementHidden.ts +0 -9
  545. package/src/util/isElementInView.ts +0 -15
  546. package/src/util/isElementTabbable.ts +0 -37
  547. package/src/util/isValidPropertyName.ts +0 -29
  548. package/src/util/whenDOMReady.ts +0 -13
  549. package/src/util/willShowContent.ts +0 -7
  550. package/src/validateThemeRoot.ts +0 -58
  551. package/used-modules.txt +0 -10
@@ -1,399 +0,0 @@
1
- /**
2
- *
3
- * @param {String} color Color in one of the following formats: RGBA or HEX
4
- */
5
-
6
- type ColorHSL = {
7
- h: number,
8
- s: number,
9
- l: number,
10
- };
11
-
12
- type ColorRGB = {
13
- r: number,
14
- b: number,
15
- g: number,
16
- };
17
-
18
- /**
19
- * Map of CSS colors to hex representation
20
- */
21
- enum CSSColors {
22
- aliceblue = "f0f8ff",
23
- antiquewhite = "faebd7",
24
- aqua = "00ffff",
25
- aquamarine = "7fffd4",
26
- azure = "f0ffff",
27
- beige = "f5f5dc",
28
- bisque = "ffe4c4",
29
- black = "000000",
30
- blanchedalmond = "ffebcd",
31
- blue = "0000ff",
32
- blueviolet = "8a2be2",
33
- brown = "a52a2a",
34
- burlywood = "deb887",
35
- cadetblue = "5f9ea0",
36
- chartreuse = "7fff00",
37
- chocolate = "d2691e",
38
- coral = "ff7f50",
39
- cornflowerblue = "6495ed",
40
- cornsilk = "fff8dc",
41
- crimson = "dc143c",
42
- cyan = "00ffff",
43
- darkblue = "00008b",
44
- darkcyan = "008b8b",
45
- darkgoldenrod = "b8860b",
46
- darkgray = "a9a9a9",
47
- darkgrey = "a9a9a9",
48
- darkgreen = "006400",
49
- darkkhaki = "bdb76b",
50
- darkmagenta = "8b008b",
51
- darkolivegreen = "556b2f",
52
- darkorange = "ff8c00",
53
- darkorchid = "9932cc",
54
- darkred = "8b0000",
55
- darksalmon = "e9967a",
56
- darkseagreen = "8fbc8f",
57
- darkslateblue = "483d8b",
58
- darkslategray = "2f4f4f",
59
- darkslategrey = "2f4f4f",
60
- darkturquoise = "00ced1",
61
- darkviolet = "9400d3",
62
- deeppink = "ff1493",
63
- deepskyblue = "00bfff",
64
- dimgray = "696969",
65
- dimgrey = "696969",
66
- dodgerblue = "1e90ff",
67
- firebrick = "b22222",
68
- floralwhite = "fffaf0",
69
- forestgreen = "228b22",
70
- fuchsia = "ff00ff",
71
- gainsboro = "dcdcdc",
72
- ghostwhite = "f8f8ff",
73
- gold = "ffd700",
74
- goldenrod = "daa520",
75
- gray = "808080",
76
- grey = "808080",
77
- green = "008000",
78
- greenyellow = "adff2f",
79
- honeydew = "f0fff0",
80
- hotpink = "ff69b4",
81
- indianred = "cd5c5c",
82
- indigo = "4b0082",
83
- ivory = "fffff0",
84
- khaki = "f0e68c",
85
- lavender = "e6e6fa",
86
- lavenderblush = "fff0f5",
87
- lawngreen = "7cfc00",
88
- lemonchiffon = "fffacd",
89
- lightblue = "add8e6",
90
- lightcoral = "f08080",
91
- lightcyan = "e0ffff",
92
- lightgoldenrodyellow = "fafad2",
93
- lightgray = "d3d3d3",
94
- lightgrey = "d3d3d3",
95
- lightgreen = "90ee90",
96
- lightpink = "ffb6c1",
97
- lightsalmon = "ffa07a",
98
- lightseagreen = "20b2aa",
99
- lightskyblue = "87cefa",
100
- lightslategray = "778899",
101
- lightslategrey = "778899",
102
- lightsteelblue = "b0c4de",
103
- lightyellow = "ffffe0",
104
- lime = "00ff00",
105
- limegreen = "32cd32",
106
- linen = "faf0e6",
107
- magenta = "ff00ff",
108
- maroon = "800000",
109
- mediumaquamarine = "66cdaa",
110
- mediumblue = "0000cd",
111
- mediumorchid = "ba55d3",
112
- mediumpurple = "9370db",
113
- mediumseagreen = "3cb371",
114
- mediumslateblue = "7b68ee",
115
- mediumspringgreen = "00fa9a",
116
- mediumturquoise = "48d1cc",
117
- mediumvioletred = "c71585",
118
- midnightblue = "191970",
119
- mintcream = "f5fffa",
120
- mistyrose = "ffe4e1",
121
- moccasin = "ffe4b5",
122
- navajowhite = "ffdead",
123
- navy = "000080",
124
- oldlace = "fdf5e6",
125
- olive = "808000",
126
- olivedrab = "6b8e23",
127
- orange = "ffa500",
128
- orangered = "ff4500",
129
- orchid = "da70d6",
130
- palegoldenrod = "eee8aa",
131
- palegreen = "98fb98",
132
- paleturquoise = "afeeee",
133
- palevioletred = "db7093",
134
- papayawhip = "ffefd5",
135
- peachpuff = "ffdab9",
136
- peru = "cd853f",
137
- pink = "ffc0cb",
138
- plum = "dda0dd",
139
- powderblue = "b0e0e6",
140
- purple = "800080",
141
- red = "ff0000",
142
- rosybrown = "bc8f8f",
143
- royalblue = "4169e1",
144
- saddlebrown = "8b4513",
145
- salmon = "fa8072",
146
- sandybrown = "f4a460",
147
- seagreen = "2e8b57",
148
- seashell = "fff5ee",
149
- sienna = "a0522d",
150
- silver = "c0c0c0",
151
- skyblue = "87ceeb",
152
- slateblue = "6a5acd",
153
- slategray = "708090",
154
- slategrey = "708090",
155
- snow = "fffafa",
156
- springgreen = "00ff7f",
157
- steelblue = "4682b4",
158
- tan = "d2b48c",
159
- teal = "008080",
160
- thistle = "d8bfd8",
161
- tomato = "ff6347",
162
- turquoise = "40e0d0",
163
- violet = "ee82ee",
164
- wheat = "f5deb3",
165
- white = "ffffff",
166
- whitesmoke = "f5f5f5",
167
- yellow = "ffff00",
168
- yellowgreen = "9acd32",
169
- transparent = "00000000",
170
- }
171
-
172
- const getRGBColor = (color: string): ColorRGB => {
173
- if (color.startsWith("rgba")) {
174
- return RGBAToRGB(color);
175
- }
176
-
177
- if (color.startsWith("rgb")) {
178
- return RGBStringToRGBObject(color);
179
- }
180
-
181
- // HEX
182
- if (color.indexOf("#") === 0) {
183
- // Shorthand Syntax
184
- if (color.length === 4) {
185
- color = `${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;
186
- } else {
187
- color = color.slice(1, color.length);
188
- }
189
- }
190
-
191
- // Css Color
192
- if (color in CSSColors) {
193
- color = CSSColors[color as keyof typeof CSSColors];
194
- }
195
-
196
- return HEXToRGB(color);
197
- };
198
-
199
- /**
200
- * Return an object with the properties for each of the main colors(red, green, blue)
201
- * @param {String} color Receives a color in the following format: "rgba(0, 0, 0, 1)
202
- */
203
- const RGBAToRGB = (color: string): ColorRGB => {
204
- const openingBracketIndex = color.indexOf("("),
205
- commasIndexes = [];
206
-
207
- for (let i = 0; i < color.length; i++) {
208
- if (color[i] === ",") {
209
- commasIndexes.push(i);
210
- }
211
- }
212
-
213
- return {
214
- r: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),
215
- g: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),
216
- b: parseInt(color.slice(commasIndexes[1] + 1, commasIndexes[2]).trim()),
217
- };
218
- };
219
-
220
- /**
221
- * Return an object with the properties for each of the main colors(red, green, blue)
222
- * @param {String} color Receives a color in the following format: "rgb(0, 0, 0)
223
- */
224
- const RGBStringToRGBObject = (color: string): ColorRGB => {
225
- const openingBracketIndex = color.indexOf("("),
226
- closingBraketIndex = color.indexOf(")"),
227
- commasIndexes = [];
228
-
229
- for (let i = 0; i < color.length; i++) {
230
- if (color[i] === ",") {
231
- commasIndexes.push(i);
232
- }
233
- }
234
-
235
- return {
236
- r: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),
237
- g: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),
238
- b: parseInt(color.slice(commasIndexes[1] + 1, closingBraketIndex).trim()),
239
- };
240
- };
241
-
242
- const HSLToRGB = (color: ColorHSL): ColorRGB => {
243
- // Formula taken from https://www.rapidtables.com/convert/color/hsl-to-rgb.html
244
- const C = (1 - Math.abs((2 * color.l) - 1)) * color.s,
245
- X = C * (1 - Math.abs(((color.h / 60) % 2) - 1)),
246
- m = color.l - C / 2;
247
-
248
- let tempColor: ColorRGB;
249
- switch (Math.round(color.h / 60)) {
250
- // 0 ≤ H < 60
251
- case 0:
252
- tempColor = {
253
- r: C,
254
- g: X,
255
- b: 0,
256
- };
257
- break;
258
-
259
- // 60 ≤ H < 120
260
- case 1:
261
- tempColor = {
262
- r: X,
263
- g: C,
264
- b: 0,
265
- };
266
- break;
267
-
268
- // 120 ≤ H < 180
269
- case 2:
270
- tempColor = {
271
- r: 0,
272
- g: C,
273
- b: X,
274
- };
275
- break;
276
-
277
- // 180 ≤ H < 240
278
- case 3:
279
- tempColor = {
280
- r: 0,
281
- g: X,
282
- b: C,
283
- };
284
- break;
285
-
286
- // 240 ≤ H < 300
287
- case 4:
288
- tempColor = {
289
- r: X,
290
- g: 0,
291
- b: C,
292
- };
293
- break;
294
-
295
- // 300 ≤ H < 360
296
- default:
297
- tempColor = {
298
- r: C,
299
- g: 0,
300
- b: X,
301
- };
302
- }
303
-
304
- return {
305
- r: Math.floor((tempColor.r + m) * 255),
306
- g: Math.floor((tempColor.g + m) * 255),
307
- b: Math.floor((tempColor.b + m) * 255),
308
- };
309
- };
310
-
311
- const HEXToRGB = (hex: string): ColorRGB => {
312
- // Please make sure you pass a valid 6 digit hex color
313
- // In the implementation of this method we assume that the hex argument is a 6 digit valid hex color
314
-
315
- return {
316
- r: parseInt(hex.substr(0, 2), 16),
317
- g: parseInt(hex.substr(2, 2), 16),
318
- b: parseInt(hex.substr(4, 2), 16),
319
- };
320
- };
321
-
322
- /**
323
- * Returns the hex value of the color as string
324
- * @param {Object} color Receives an object with the properties for each of the main colors(r, g, b)
325
- */
326
- const RGBtoHEX = (color: ColorRGB): string => {
327
- const hexMap = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E"];
328
- let hexValue = "#";
329
-
330
- let divisionNumber = color.r / 16;
331
- let remainder = color.r % 16;
332
- hexValue += String(hexMap[Math.floor(divisionNumber)]);
333
- hexValue += String(hexMap[remainder]);
334
-
335
- divisionNumber = color.g / 16;
336
- remainder = color.g % 16;
337
- hexValue += String(hexMap[Math.floor(divisionNumber)]);
338
- hexValue += String(hexMap[remainder]);
339
-
340
- divisionNumber = color.b / 16;
341
- remainder = color.b % 16;
342
- hexValue += String(hexMap[Math.floor(divisionNumber)]);
343
- hexValue += String(hexMap[remainder]);
344
-
345
- return hexValue;
346
- };
347
-
348
- const RGBToHSL = (color: ColorRGB): ColorHSL => {
349
- const R = color.r / 255,
350
- G = color.g / 255,
351
- B = color.b / 255,
352
- max = Math.max(R, G, B),
353
- min = Math.min(R, G, B),
354
- delta = max - min;
355
-
356
- let h = 0,
357
- s;
358
-
359
- // Hue calculation
360
- if (delta === 0) {
361
- h = 0;
362
- } else if (max === R) {
363
- h = 60 * (((G - B) / delta) % 6);
364
- } else if (max === G) {
365
- h = 60 * (((B - R) / delta) + 2);
366
- } else if (max === B) {
367
- h = 60 * (((R - G) / delta) + 4);
368
- }
369
-
370
- // Lightness calculation
371
- const l = (max + min) / 2;
372
-
373
- // Saturation calculation
374
- if (delta === 0) {
375
- s = 0;
376
- } else {
377
- s = delta / (1 - Math.abs(2 * l - 1));
378
- }
379
-
380
- return {
381
- h,
382
- s,
383
- l,
384
- };
385
- };
386
-
387
- export {
388
- getRGBColor,
389
- HSLToRGB,
390
- HEXToRGB,
391
- RGBToHSL,
392
- RGBStringToRGBObject,
393
- RGBtoHEX,
394
- };
395
-
396
- export type {
397
- ColorHSL,
398
- ColorRGB,
399
- };
@@ -1,31 +0,0 @@
1
- const fetchPromises = new Map<string, Promise<Response>>();
2
- const jsonPromises = new Map<string, Promise<any>>();
3
- const textPromises = new Map<string, Promise<string>>();
4
-
5
- const fetchTextOnce = async (url: string) => {
6
- if (!fetchPromises.get(url)) {
7
- fetchPromises.set(url, fetch(url));
8
- }
9
- const response = await fetchPromises.get(url);
10
-
11
- if (response && !textPromises.get(url)) {
12
- textPromises.set(url, response.text());
13
- }
14
-
15
- return textPromises.get(url);
16
- };
17
-
18
- const fetchJsonOnce = async (url: string) => {
19
- if (!fetchPromises.get(url)) {
20
- fetchPromises.set(url, fetch(url));
21
- }
22
- const response = await fetchPromises.get(url);
23
-
24
- if (response && !jsonPromises.get(url)) {
25
- jsonPromises.set(url, response.json());
26
- }
27
-
28
- return jsonPromises.get(url);
29
- };
30
-
31
- export { fetchTextOnce, fetchJsonOnce };
@@ -1,92 +0,0 @@
1
- import isElementHidden from "./isElementHidden.js";
2
- import isElementClickable from "./isElementClickable.js";
3
- import { instanceOfUI5Element } from "../UI5Element.js";
4
-
5
- type FocusableElementPromise = Promise<HTMLElement | null>;
6
-
7
- const isFocusTrap = (el: HTMLElement) => {
8
- return el.hasAttribute("data-ui5-focus-trap");
9
- };
10
-
11
- const getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {
12
- if (!container || isElementHidden(container)) {
13
- return null;
14
- }
15
-
16
- return findFocusableElement(container, true, startFromContainer);
17
- };
18
-
19
- const getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {
20
- if (!container || isElementHidden(container)) {
21
- return null;
22
- }
23
-
24
- return findFocusableElement(container, false, startFromContainer);
25
- };
26
-
27
- const isElemFocusable = (el: HTMLElement) => {
28
- return el.hasAttribute("data-ui5-focus-redirect") || !isElementHidden(el);
29
- };
30
-
31
- const findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {
32
- let child: HTMLElement | undefined;
33
- let assignedElements;
34
- let currentIndex = -1;
35
-
36
- if (container.shadowRoot) {
37
- child = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;
38
- } else if (container instanceof HTMLSlotElement && container.assignedNodes()) {
39
- assignedElements = container.assignedNodes();
40
- currentIndex = forward ? 0 : assignedElements.length - 1;
41
- child = assignedElements[currentIndex] as HTMLElement;
42
- } else if (startFromContainer) {
43
- child = container;
44
- } else {
45
- child = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;
46
- }
47
-
48
- let focusableDescendant;
49
-
50
- /* eslint-disable no-await-in-loop */
51
-
52
- while (child) {
53
- const originalChild: HTMLElement | undefined = child;
54
-
55
- if (instanceOfUI5Element(child)) {
56
- child = await child.getFocusDomRefAsync();
57
- }
58
-
59
- if (!child) {
60
- return null;
61
- }
62
-
63
- if (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {
64
- if (isElementClickable(child)) {
65
- return (child && typeof child.focus === "function") ? child : null;
66
- }
67
-
68
- focusableDescendant = await findFocusableElement(child, forward);
69
- if (focusableDescendant) {
70
- return (focusableDescendant && typeof focusableDescendant.focus === "function") ? focusableDescendant : null;
71
- }
72
- }
73
-
74
- child = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;
75
-
76
- // If the child element is not part of the currently assigned element,
77
- // we have to check the next element assigned to the slot or continue with the next sibling of the slot,
78
- // otherwise, the nextSibling is the next element inside the light DOM
79
- if (assignedElements && !assignedElements[currentIndex].contains(child)) {
80
- child = assignedElements[++currentIndex] as HTMLElement;
81
- }
82
- }
83
-
84
- /* eslint-enable no-await-in-loop */
85
-
86
- return null;
87
- };
88
-
89
- export {
90
- getFirstFocusableElement,
91
- getLastFocusableElement,
92
- };
@@ -1,9 +0,0 @@
1
- // @ts-ignore
2
- import sanitizeHTML from "../sap/base/security/sanitizeHTML.js";
3
- // @ts-ignore
4
- import URLListValidator from "../sap/base/security/URLListValidator.js";
5
-
6
- export {
7
- URLListValidator,
8
- sanitizeHTML,
9
- };
@@ -1,69 +0,0 @@
1
- import InvisibleMessageMode from "../types/InvisibleMessageMode.js";
2
- import getSingletonElementInstance from "./getSingletonElementInstance.js";
3
- import { attachBoot } from "../Boot.js";
4
-
5
- let politeSpan: HTMLElement;
6
- let assertiveSpan: HTMLElement;
7
-
8
- const setOutOfViewportStyles = (el: HTMLElement) => {
9
- el.style.position = "absolute";
10
- el.style.clip = "rect(1px,1px,1px,1px)";
11
- el.style.userSelect = "none";
12
- el.style.left = "-1000px";
13
- el.style.top = "-1000px";
14
- el.style.pointerEvents = "none";
15
- };
16
-
17
- attachBoot(() => {
18
- if (politeSpan && assertiveSpan) {
19
- return;
20
- }
21
-
22
- politeSpan = document.createElement("span");
23
- assertiveSpan = document.createElement("span");
24
-
25
- politeSpan.classList.add("ui5-invisiblemessage-polite");
26
- assertiveSpan.classList.add("ui5-invisiblemessage-assertive");
27
-
28
- politeSpan.setAttribute("aria-live", "polite");
29
- assertiveSpan.setAttribute("aria-live", "assertive");
30
-
31
- politeSpan.setAttribute("role", "alert");
32
- assertiveSpan.setAttribute("role", "alert");
33
-
34
- setOutOfViewportStyles(politeSpan);
35
- setOutOfViewportStyles(assertiveSpan);
36
-
37
- getSingletonElementInstance("ui5-static-area").appendChild(politeSpan);
38
- getSingletonElementInstance("ui5-static-area").appendChild(assertiveSpan);
39
- });
40
-
41
- /**
42
- * Inserts the string into the respective span, depending on the mode provided.
43
- *
44
- * @param { string } message String to be announced by the screen reader.
45
- * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.
46
- * @public
47
- */
48
- const announce = (message: string, mode: InvisibleMessageMode) => {
49
- // If no type is presented, fallback to polite announcement.
50
- const span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;
51
-
52
- // Set textContent to empty string in order to trigger screen reader's announcement.
53
- span.textContent = "";
54
- span.textContent = message;
55
-
56
- if (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {
57
- console.warn(`You have entered an invalid mode. Valid values are: "Polite" and "Assertive". The framework will automatically set the mode to "Polite".`); // eslint-disable-line
58
- }
59
-
60
- // clear the span in order to avoid reading it out while in JAWS reading node
61
- setTimeout(() => {
62
- // ensure that we clear the text node only if no announce is made in the meantime
63
- if (span.textContent === message) {
64
- span.textContent = "";
65
- }
66
- }, 3000);
67
- };
68
-
69
- export default announce;
@@ -1,112 +0,0 @@
1
- import getSharedResource from "../getSharedResource.js";
2
- import { getFeature } from "../FeaturesRegistry.js";
3
- import getActiveElement from "./getActiveElement.js";
4
- import type OpenUI5Support from "../features/OpenUI5Support.js";
5
-
6
- type PopupUtilsData = {
7
- currentZIndex: number
8
- };
9
-
10
- const popupUtilsData = getSharedResource<PopupUtilsData>("PopupUtilsData", { currentZIndex: 100 });
11
-
12
- const getFocusedElement = () => {
13
- const element = getActiveElement() as HTMLElement;
14
- return (element && typeof element.focus === "function") ? element : null;
15
- };
16
-
17
- const isFocusedElementWithinNode = (node: HTMLElement) => {
18
- const fe = getFocusedElement();
19
-
20
- if (fe) {
21
- return isNodeContainedWithin(node, fe);
22
- }
23
-
24
- return false;
25
- };
26
-
27
- const isNodeContainedWithin = (parent: HTMLElement, child: HTMLElement): boolean => {
28
- let currentNode: HTMLElement | undefined = parent;
29
-
30
- if (currentNode.shadowRoot) {
31
- const children = Array.from(currentNode.shadowRoot.children) as Array<HTMLElement>;
32
- currentNode = children.find(n => n.localName !== "style");
33
-
34
- if (!currentNode) {
35
- return false;
36
- }
37
- }
38
-
39
- if (currentNode === child) {
40
- return true;
41
- }
42
-
43
- const childNodes = currentNode.localName === "slot" ? (currentNode as HTMLSlotElement).assignedNodes() : currentNode.children;
44
-
45
- if (childNodes) {
46
- return Array.from(childNodes).some(n => isNodeContainedWithin(n as HTMLElement, child));
47
- }
48
-
49
- return false;
50
- };
51
-
52
- const isPointInRect = (x: number, y: number, rect: DOMRect) => {
53
- return x >= rect.left && x <= rect.right
54
- && y >= rect.top && y <= rect.bottom;
55
- };
56
-
57
- const isClickInRect = (e: MouseEvent | TouchEvent, rect: DOMRect) => {
58
- let x;
59
- let y;
60
-
61
- if (e instanceof MouseEvent) {
62
- x = e.clientX;
63
- y = e.clientY;
64
- } else {
65
- const touch = e.touches[0];
66
- x = touch.clientX;
67
- y = touch.clientY;
68
- }
69
-
70
- return isPointInRect(x, y, rect);
71
- };
72
-
73
- interface PopupInterface { // Refactor: replace with Popup.js
74
- _show: () => void,
75
- open: boolean,
76
- }
77
- function instanceOfPopup(object: any): object is PopupInterface {
78
- return "isUI5Element" in object && "_show" in object;
79
- }
80
-
81
- const getClosedPopupParent = (el: HTMLElement): HTMLElement => {
82
- const parent = el.parentElement || (el.getRootNode && (el.getRootNode() as ShadowRoot).host);
83
-
84
- if (parent && ((instanceOfPopup(parent) || parent === document.documentElement))) {
85
- return parent as HTMLElement;
86
- }
87
-
88
- return getClosedPopupParent(parent as HTMLElement);
89
- };
90
-
91
- const getNextZIndex = () => {
92
- const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
93
- if (openUI5Support && openUI5Support.isLoaded()) { // use OpenUI5 for getting z-index values, if loaded
94
- return openUI5Support.getNextZIndex();
95
- }
96
-
97
- popupUtilsData.currentZIndex += 2;
98
- return popupUtilsData.currentZIndex;
99
- };
100
-
101
- const getCurrentZIndex = () => {
102
- return popupUtilsData.currentZIndex;
103
- };
104
-
105
- export {
106
- getFocusedElement,
107
- isClickInRect,
108
- getClosedPopupParent,
109
- getNextZIndex,
110
- getCurrentZIndex,
111
- isFocusedElementWithinNode,
112
- };