@ui5/webcomponents-base 0.0.0-7d5f73b20 → 0.0.0-81513ce21

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 (392) hide show
  1. package/.eslintignore +4 -4
  2. package/.eslintrc.cjs +3 -0
  3. package/.npsrc.json +3 -0
  4. package/CHANGELOG.md +185 -0
  5. package/bundle.esm.js +5 -1
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/AssetRegistry.js.map +1 -1
  8. package/dist/Boot.d.ts +4 -3
  9. package/dist/Boot.js +31 -4
  10. package/dist/Boot.js.map +1 -1
  11. package/dist/CSP.js.map +1 -1
  12. package/dist/CustomElementsRegistry.js.map +1 -1
  13. package/dist/CustomElementsScope.js.map +1 -1
  14. package/dist/CustomElementsScopeUtils.js.map +1 -1
  15. package/dist/DOMObserver.js.map +1 -1
  16. package/dist/Device.js +109 -34
  17. package/dist/Device.js.map +1 -1
  18. package/dist/EventProvider.js +1 -1
  19. package/dist/EventProvider.js.map +1 -1
  20. package/dist/FeaturesRegistry.js.map +1 -1
  21. package/dist/FontFace.js.map +1 -1
  22. package/dist/InitialConfiguration.d.ts +6 -1
  23. package/dist/InitialConfiguration.js +11 -2
  24. package/dist/InitialConfiguration.js.map +1 -1
  25. package/dist/Keys.js.map +1 -1
  26. package/dist/ManagedStyles.js.map +1 -1
  27. package/dist/MarkedEvents.js.map +1 -1
  28. package/dist/MediaRange.js.map +1 -1
  29. package/dist/PropertiesFileFormat.js.map +1 -1
  30. package/dist/Render.js.map +1 -1
  31. package/dist/RenderQueue.js.map +1 -1
  32. package/dist/Runtimes.js.map +1 -1
  33. package/dist/StaticArea.d.ts +3 -0
  34. package/dist/StaticArea.js +4 -3
  35. package/dist/StaticArea.js.map +1 -1
  36. package/dist/StaticAreaItem.js.map +1 -1
  37. package/dist/SystemCSSVars.js.map +1 -1
  38. package/dist/Theming.js.map +1 -1
  39. package/dist/UI5Element.d.ts +20 -14
  40. package/dist/UI5Element.js +18 -22
  41. package/dist/UI5Element.js.map +1 -1
  42. package/dist/UI5ElementMetadata.js.map +1 -1
  43. package/dist/animations/AnimationQueue.js.map +1 -1
  44. package/dist/animations/animate.js.map +1 -1
  45. package/dist/animations/scroll.js.map +1 -1
  46. package/dist/animations/slideDown.js.map +1 -1
  47. package/dist/animations/slideUp.js.map +1 -1
  48. package/dist/api.json +1 -1
  49. package/dist/asset-registries/Icons.d.ts +18 -10
  50. package/dist/asset-registries/Icons.js +44 -23
  51. package/dist/asset-registries/Icons.js.map +1 -1
  52. package/dist/asset-registries/Illustrations.d.ts +1 -1
  53. package/dist/asset-registries/Illustrations.js.map +1 -1
  54. package/dist/asset-registries/LocaleData.js.map +1 -1
  55. package/dist/asset-registries/Themes.d.ts +1 -0
  56. package/dist/asset-registries/Themes.js +2 -0
  57. package/dist/asset-registries/Themes.js.map +1 -1
  58. package/dist/asset-registries/i18n.js +9 -3
  59. package/dist/asset-registries/i18n.js.map +1 -1
  60. package/dist/assets/Boot.34b7cea0.css +1 -0
  61. package/dist/assets/Boot.de8032fc.js +9 -0
  62. package/dist/assets/bundle.esm.6ca2666f.js +50 -0
  63. package/dist/assets-meta/IconCollectionsAlias.d.ts +24 -10
  64. package/dist/assets-meta/IconCollectionsAlias.js +29 -9
  65. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -1
  66. package/dist/config/AnimationMode.js.map +1 -1
  67. package/dist/config/CalendarType.js.map +1 -1
  68. package/dist/config/FormatSettings.d.ts +5 -1
  69. package/dist/config/FormatSettings.js +5 -1
  70. package/dist/config/FormatSettings.js.map +1 -1
  71. package/dist/config/Icons.d.ts +43 -18
  72. package/dist/config/Icons.js +81 -26
  73. package/dist/config/Icons.js.map +1 -1
  74. package/dist/config/Language.d.ts +10 -1
  75. package/dist/config/Language.js +13 -1
  76. package/dist/config/Language.js.map +1 -1
  77. package/dist/config/NoConflict.js +1 -0
  78. package/dist/config/NoConflict.js.map +1 -1
  79. package/dist/config/RTL.js +3 -0
  80. package/dist/config/RTL.js.map +1 -1
  81. package/dist/config/Theme.d.ts +15 -5
  82. package/dist/config/Theme.js +25 -6
  83. package/dist/config/Theme.js.map +1 -1
  84. package/dist/config/ThemeRoots.js.map +1 -1
  85. package/dist/config/Timezone.d.ts +17 -0
  86. package/dist/config/Timezone.js +30 -0
  87. package/dist/config/Timezone.js.map +1 -0
  88. package/dist/decorators/customElement.d.ts +17 -2
  89. package/dist/decorators/customElement.js +26 -5
  90. package/dist/decorators/customElement.js.map +1 -1
  91. package/dist/decorators/event.js +6 -6
  92. package/dist/decorators/event.js.map +1 -1
  93. package/dist/decorators/property.js +6 -6
  94. package/dist/decorators/property.js.map +1 -1
  95. package/dist/decorators/slot.js +9 -9
  96. package/dist/decorators/slot.js.map +1 -1
  97. package/dist/delegate/ItemNavigation.js.map +1 -1
  98. package/dist/delegate/ResizeHandler.d.ts +2 -1
  99. package/dist/delegate/ResizeHandler.js +7 -3
  100. package/dist/delegate/ResizeHandler.js.map +1 -1
  101. package/dist/delegate/ScrollEnablement.js.map +1 -1
  102. package/dist/features/F6Navigation.d.ts +3 -0
  103. package/dist/features/F6Navigation.js +77 -38
  104. package/dist/features/F6Navigation.js.map +1 -1
  105. package/dist/features/LegacyDateFormats.d.ts +18 -0
  106. package/dist/features/LegacyDateFormats.js +20 -0
  107. package/dist/features/LegacyDateFormats.js.map +1 -0
  108. package/dist/features/OpenUI5Element.js.map +1 -1
  109. package/dist/features/OpenUI5Enablement.js.map +1 -1
  110. package/dist/features/OpenUI5Support.d.ts +3 -0
  111. package/dist/features/OpenUI5Support.js +2 -0
  112. package/dist/features/OpenUI5Support.js.map +1 -1
  113. package/dist/generated/AssetParameters.js +2 -0
  114. package/dist/generated/VersionInfo.js +3 -3
  115. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  116. package/dist/generated/css/FontFace.css.js.map +1 -1
  117. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  118. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  119. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  120. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +8 -10
  121. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  122. package/dist/getSharedResource.d.ts +1 -1
  123. package/dist/getSharedResource.js +10 -2
  124. package/dist/getSharedResource.js.map +1 -1
  125. package/dist/global.d.ts +2 -0
  126. package/dist/i18nBundle.js +2 -1
  127. package/dist/i18nBundle.js.map +1 -1
  128. package/dist/locale/Locale.js.map +1 -1
  129. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  130. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  131. package/dist/locale/applyDirection.js.map +1 -1
  132. package/dist/locale/directionChange.js.map +1 -1
  133. package/dist/locale/getEffectiveDir.js.map +1 -1
  134. package/dist/locale/getLocale.js.map +1 -1
  135. package/dist/locale/languageChange.js.map +1 -1
  136. package/dist/locale/nextFallbackLocale.js.map +1 -1
  137. package/dist/locale/normalizeLocale.js.map +1 -1
  138. package/dist/renderer/LitRenderer.d.ts +3 -3
  139. package/dist/renderer/LitRenderer.js.map +1 -1
  140. package/dist/renderer/executeTemplate.js +1 -1
  141. package/dist/renderer/executeTemplate.js.map +1 -1
  142. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  143. package/dist/theming/CustomStyle.js +7 -5
  144. package/dist/theming/CustomStyle.js.map +1 -1
  145. package/dist/theming/ThemeLoaded.js.map +1 -1
  146. package/dist/theming/ThemeRegistered.d.ts +4 -0
  147. package/dist/theming/ThemeRegistered.js +11 -0
  148. package/dist/theming/ThemeRegistered.js.map +1 -0
  149. package/dist/theming/applyTheme.js.map +1 -1
  150. package/dist/theming/getConstructableStyle.js.map +1 -1
  151. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -1
  152. package/dist/theming/getEffectiveStyle.js.map +1 -1
  153. package/dist/theming/getStylesString.d.ts +1 -1
  154. package/dist/theming/getStylesString.js.map +1 -1
  155. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  156. package/dist/theming/preloadLinks.js.map +1 -1
  157. package/dist/thirdparty/_merge.js.map +1 -1
  158. package/dist/thirdparty/isPlainObject.js.map +1 -1
  159. package/dist/thirdparty/merge.js.map +1 -1
  160. package/dist/types/AnimationMode.d.ts +1 -1
  161. package/dist/types/AnimationMode.js +1 -1
  162. package/dist/types/AnimationMode.js.map +1 -1
  163. package/dist/types/CSSColor.d.ts +0 -1
  164. package/dist/types/CSSColor.js +0 -1
  165. package/dist/types/CSSColor.js.map +1 -1
  166. package/dist/types/CalendarType.d.ts +1 -1
  167. package/dist/types/CalendarType.js +1 -1
  168. package/dist/types/CalendarType.js.map +1 -1
  169. package/dist/types/DOMReference.js.map +1 -1
  170. package/dist/types/DataType.js.map +1 -1
  171. package/dist/types/Float.d.ts +0 -1
  172. package/dist/types/Float.js +0 -1
  173. package/dist/types/Float.js.map +1 -1
  174. package/dist/types/Integer.d.ts +0 -1
  175. package/dist/types/Integer.js +0 -1
  176. package/dist/types/Integer.js.map +1 -1
  177. package/dist/types/InvisibleMessageMode.d.ts +1 -1
  178. package/dist/types/InvisibleMessageMode.js +1 -1
  179. package/dist/types/InvisibleMessageMode.js.map +1 -1
  180. package/dist/types/ItemNavigationBehavior.d.ts +1 -1
  181. package/dist/types/ItemNavigationBehavior.js +1 -1
  182. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  183. package/dist/types/NavigationMode.d.ts +1 -1
  184. package/dist/types/NavigationMode.js +1 -1
  185. package/dist/types/NavigationMode.js.map +1 -1
  186. package/dist/types/ValueState.d.ts +1 -1
  187. package/dist/types/ValueState.js +1 -1
  188. package/dist/types/ValueState.js.map +1 -1
  189. package/dist/types.d.ts +1 -1
  190. package/dist/types.js.map +1 -1
  191. package/dist/updateShadowRoot.js +11 -4
  192. package/dist/updateShadowRoot.js.map +1 -1
  193. package/dist/util/AriaLabelHelper.d.ts +10 -1
  194. package/dist/util/AriaLabelHelper.js +135 -8
  195. package/dist/util/AriaLabelHelper.js.map +1 -1
  196. package/dist/util/Caret.js.map +1 -1
  197. package/dist/util/ColorConversion.js.map +1 -1
  198. package/dist/util/FetchHelper.js.map +1 -1
  199. package/dist/util/FocusableElements.js +4 -3
  200. package/dist/util/FocusableElements.js.map +1 -1
  201. package/dist/util/HTMLSanitizer.js.map +1 -1
  202. package/dist/util/InvisibleMessage.js.map +1 -1
  203. package/dist/util/PopupUtils.js.map +1 -1
  204. package/dist/util/SlotsHelper.js.map +1 -1
  205. package/dist/util/StringHelper.js.map +1 -1
  206. package/dist/util/TabbableElements.js.map +1 -1
  207. package/dist/util/arraysAreEqual.js.map +1 -1
  208. package/dist/util/clamp.js.map +1 -1
  209. package/dist/util/createLinkInHead.js.map +1 -1
  210. package/dist/util/createStyleInHead.js.map +1 -1
  211. package/dist/util/debounce.js.map +1 -1
  212. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  213. package/dist/util/escapeRegex.js.map +1 -1
  214. package/dist/util/formatMessage.js.map +1 -1
  215. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  216. package/dist/util/getActiveElement.js.map +1 -1
  217. package/dist/util/getClassCopy.d.ts +9 -9
  218. package/dist/util/getClassCopy.js.map +1 -1
  219. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  220. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  221. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  222. package/dist/util/getFastNavigationGroups.js.map +1 -1
  223. package/dist/util/getFileExtension.js.map +1 -1
  224. package/dist/util/getNormalizedTarget.js.map +1 -1
  225. package/dist/util/getSingletonElementInstance.js.map +1 -1
  226. package/dist/util/isElementClickable.js.map +1 -1
  227. package/dist/util/isElementHidden.js.map +1 -1
  228. package/dist/util/isElementInView.js.map +1 -1
  229. package/dist/util/isElementTabbable.js.map +1 -1
  230. package/dist/util/isValidPropertyName.js.map +1 -1
  231. package/dist/util/whenDOMReady.js.map +1 -1
  232. package/dist/util/willShowContent.js.map +1 -1
  233. package/dist/validateThemeRoot.js +14 -13
  234. package/dist/validateThemeRoot.js.map +1 -1
  235. package/index.js +227 -1
  236. package/lib/generate-asset-parameters/index.js +4 -2
  237. package/lib/generate-styles/index.js +3 -3
  238. package/lib/generate-version-info/index.js +1 -1
  239. package/{package-scripts.js → package-scripts.cjs} +9 -5
  240. package/package.json +5 -4
  241. package/tsconfig.json +3 -1
  242. package/config/wdio.conf.js +0 -1
  243. package/dist/assets/bundle.esm.5c683084.js +0 -56
  244. package/dist/decorators/fastNavigation.d.ts +0 -7
  245. package/dist/decorators/fastNavigation.js +0 -13
  246. package/dist/decorators/fastNavigation.js.map +0 -1
  247. package/dist/decorators/languageAware.d.ts +0 -7
  248. package/dist/decorators/languageAware.js +0 -13
  249. package/dist/decorators/languageAware.js.map +0 -1
  250. package/dist/decorators/themeAware.d.ts +0 -7
  251. package/dist/decorators/themeAware.js +0 -13
  252. package/dist/decorators/themeAware.js.map +0 -1
  253. package/src/AssetRegistry.ts +0 -11
  254. package/src/Boot.ts +0 -61
  255. package/src/CSP.ts +0 -66
  256. package/src/CustomElementsRegistry.ts +0 -98
  257. package/src/CustomElementsScope.ts +0 -33
  258. package/src/CustomElementsScopeUtils.ts +0 -115
  259. package/src/DOMObserver.ts +0 -28
  260. package/src/Device.ts +0 -124
  261. package/src/EventProvider.ts +0 -87
  262. package/src/FeaturesRegistry.ts +0 -14
  263. package/src/FontFace.ts +0 -31
  264. package/src/InitialConfiguration.ts +0 -207
  265. package/src/Keys.ts +0 -295
  266. package/src/ManagedStyles.ts +0 -92
  267. package/src/MarkedEvents.ts +0 -20
  268. package/src/MediaRange.ts +0 -110
  269. package/src/PropertiesFileFormat.ts +0 -95
  270. package/src/Render.ts +0 -180
  271. package/src/RenderQueue.ts +0 -71
  272. package/src/Runtimes.ts +0 -114
  273. package/src/StaticArea.ts +0 -3
  274. package/src/StaticAreaItem.ts +0 -113
  275. package/src/SystemCSSVars.ts +0 -10
  276. package/src/Theming.ts +0 -4
  277. package/src/UI5Element.ts +0 -1156
  278. package/src/UI5ElementMetadata.ts +0 -389
  279. package/src/animations/AnimationQueue.ts +0 -43
  280. package/src/animations/animate.ts +0 -64
  281. package/src/animations/scroll.ts +0 -21
  282. package/src/animations/slideDown.ts +0 -72
  283. package/src/animations/slideUp.ts +0 -67
  284. package/src/asset-registries/Icons.ts +0 -162
  285. package/src/asset-registries/Illustrations.ts +0 -75
  286. package/src/asset-registries/LocaleData.ts +0 -172
  287. package/src/asset-registries/Themes.ts +0 -67
  288. package/src/asset-registries/i18n.ts +0 -118
  289. package/src/assets-meta/IconCollectionsAlias.ts +0 -18
  290. package/src/config/AnimationMode.ts +0 -33
  291. package/src/config/CalendarType.ts +0 -23
  292. package/src/config/FormatSettings.ts +0 -21
  293. package/src/config/Icons.ts +0 -59
  294. package/src/config/Language.ts +0 -72
  295. package/src/config/NoConflict.ts +0 -67
  296. package/src/config/RTL.ts +0 -41
  297. package/src/config/Theme.ts +0 -64
  298. package/src/config/ThemeRoots.ts +0 -41
  299. package/src/decorators/customElement.ts +0 -17
  300. package/src/decorators/event.ts +0 -28
  301. package/src/decorators/fastNavigation.ts +0 -14
  302. package/src/decorators/languageAware.ts +0 -14
  303. package/src/decorators/property.ts +0 -30
  304. package/src/decorators/slot.ts +0 -49
  305. package/src/decorators/themeAware.ts +0 -14
  306. package/src/delegate/ItemNavigation.ts +0 -393
  307. package/src/delegate/ResizeHandler.ts +0 -95
  308. package/src/delegate/ScrollEnablement.ts +0 -224
  309. package/src/features/F6Navigation.ts +0 -141
  310. package/src/features/OpenUI5Element.ts +0 -11
  311. package/src/features/OpenUI5Enablement.ts +0 -117
  312. package/src/features/OpenUI5Support.ts +0 -148
  313. package/src/generated/css/BusyIndicator.css.ts +0 -9
  314. package/src/generated/css/FontFace.css.ts +0 -9
  315. package/src/generated/css/OverrideFontFace.css.ts +0 -9
  316. package/src/generated/css/SystemCSSVars.css.ts +0 -9
  317. package/src/getSharedResource.ts +0 -30
  318. package/src/global.d.ts +0 -38
  319. package/src/i18nBundle.ts +0 -108
  320. package/src/locale/Locale.ts +0 -101
  321. package/src/locale/RTLAwareRegistry.ts +0 -16
  322. package/src/locale/applyDirection.ts +0 -18
  323. package/src/locale/directionChange.ts +0 -34
  324. package/src/locale/getEffectiveDir.ts +0 -28
  325. package/src/locale/getLocale.ts +0 -46
  326. package/src/locale/languageChange.ts +0 -24
  327. package/src/locale/nextFallbackLocale.ts +0 -28
  328. package/src/locale/normalizeLocale.ts +0 -56
  329. package/src/renderer/LitRenderer.ts +0 -60
  330. package/src/renderer/executeTemplate.ts +0 -40
  331. package/src/theming/CustomStyle.ts +0 -62
  332. package/src/theming/ThemeLoaded.ts +0 -24
  333. package/src/theming/applyTheme.ts +0 -90
  334. package/src/theming/getConstructableStyle.ts +0 -31
  335. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  336. package/src/theming/getEffectiveStyle.ts +0 -41
  337. package/src/theming/getStylesString.ts +0 -15
  338. package/src/theming/getThemeDesignerTheme.ts +0 -101
  339. package/src/theming/preloadLinks.ts +0 -24
  340. package/src/thirdparty/_merge.ts +0 -32
  341. package/src/thirdparty/isPlainObject.ts +0 -18
  342. package/src/thirdparty/merge.ts +0 -5
  343. package/src/types/AnimationMode.ts +0 -33
  344. package/src/types/CSSColor.ts +0 -20
  345. package/src/types/CalendarType.ts +0 -38
  346. package/src/types/DOMReference.ts +0 -28
  347. package/src/types/DataType.ts +0 -51
  348. package/src/types/Float.ts +0 -25
  349. package/src/types/Integer.ts +0 -25
  350. package/src/types/InvisibleMessageMode.ts +0 -27
  351. package/src/types/ItemNavigationBehavior.ts +0 -26
  352. package/src/types/NavigationMode.ts +0 -33
  353. package/src/types/ValueState.ts +0 -47
  354. package/src/types.ts +0 -30
  355. package/src/updateShadowRoot.ts +0 -37
  356. package/src/util/AriaLabelHelper.ts +0 -63
  357. package/src/util/Caret.ts +0 -28
  358. package/src/util/ColorConversion.ts +0 -399
  359. package/src/util/FetchHelper.ts +0 -31
  360. package/src/util/FocusableElements.ts +0 -92
  361. package/src/util/HTMLSanitizer.ts +0 -9
  362. package/src/util/InvisibleMessage.ts +0 -69
  363. package/src/util/PopupUtils.ts +0 -112
  364. package/src/util/SlotsHelper.ts +0 -39
  365. package/src/util/StringHelper.ts +0 -26
  366. package/src/util/TabbableElements.ts +0 -70
  367. package/src/util/arraysAreEqual.ts +0 -15
  368. package/src/util/clamp.ts +0 -12
  369. package/src/util/createLinkInHead.ts +0 -25
  370. package/src/util/createStyleInHead.ts +0 -20
  371. package/src/util/debounce.ts +0 -18
  372. package/src/util/detectNavigatorLanguage.ts +0 -13
  373. package/src/util/escapeRegex.ts +0 -11
  374. package/src/util/formatMessage.ts +0 -24
  375. package/src/util/generateHighlightedMarkup.ts +0 -43
  376. package/src/util/getActiveElement.ts +0 -11
  377. package/src/util/getClassCopy.ts +0 -12
  378. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  379. package/src/util/getEffectiveContentDensity.ts +0 -5
  380. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  381. package/src/util/getFastNavigationGroups.ts +0 -63
  382. package/src/util/getFileExtension.ts +0 -21
  383. package/src/util/getNormalizedTarget.ts +0 -16
  384. package/src/util/getSingletonElementInstance.ts +0 -13
  385. package/src/util/isElementClickable.ts +0 -19
  386. package/src/util/isElementHidden.ts +0 -9
  387. package/src/util/isElementInView.ts +0 -15
  388. package/src/util/isElementTabbable.ts +0 -37
  389. package/src/util/isValidPropertyName.ts +0 -29
  390. package/src/util/whenDOMReady.ts +0 -13
  391. package/src/util/willShowContent.ts +0 -7
  392. package/src/validateThemeRoot.ts +0 -58
@@ -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
- };