@ui5/webcomponents-base 0.0.0-e818f286e → 0.0.0-ee3bbe46b

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 (618) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +75 -0
  3. package/bundle.esm.js +5 -1
  4. package/dist/AssetRegistry.d.ts +5 -0
  5. package/dist/AssetRegistry.js +2 -7
  6. package/dist/AssetRegistry.js.map +1 -0
  7. package/dist/Boot.d.ts +8 -0
  8. package/dist/Boot.js +29 -44
  9. package/dist/Boot.js.map +1 -0
  10. package/dist/CSP.d.ts +30 -0
  11. package/dist/CSP.js +16 -24
  12. package/dist/CSP.js.map +1 -0
  13. package/dist/CustomElementsRegistry.d.ts +5 -0
  14. package/dist/CustomElementsRegistry.js +66 -83
  15. package/dist/CustomElementsRegistry.js.map +1 -0
  16. package/dist/CustomElementsScope.d.ts +7 -0
  17. package/dist/CustomElementsScope.js +10 -29
  18. package/dist/CustomElementsScope.js.map +1 -0
  19. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  20. package/dist/CustomElementsScopeUtils.js +34 -52
  21. package/dist/CustomElementsScopeUtils.js.map +1 -0
  22. package/dist/DOMObserver.d.ts +11 -0
  23. package/dist/DOMObserver.js +12 -54
  24. package/dist/DOMObserver.js.map +1 -0
  25. package/dist/Device.d.ts +12 -0
  26. package/dist/Device.js +53 -83
  27. package/dist/Device.js.map +1 -0
  28. package/dist/EventProvider.d.ts +25 -0
  29. package/dist/EventProvider.js +67 -82
  30. package/dist/EventProvider.js.map +1 -0
  31. package/dist/FeaturesRegistry.d.ts +3 -0
  32. package/dist/FeaturesRegistry.js +5 -10
  33. package/dist/FeaturesRegistry.js.map +1 -0
  34. package/dist/FontFace.d.ts +2 -0
  35. package/dist/FontFace.js +14 -19
  36. package/dist/FontFace.js.map +1 -0
  37. package/dist/InitialConfiguration.d.ts +22 -0
  38. package/dist/InitialConfiguration.js +112 -131
  39. package/dist/InitialConfiguration.js.map +1 -0
  40. package/dist/Keys.d.ts +57 -0
  41. package/dist/Keys.js +174 -291
  42. package/dist/Keys.js.map +1 -0
  43. package/dist/ManagedStyles.d.ts +8 -0
  44. package/dist/ManagedStyles.js +62 -68
  45. package/dist/ManagedStyles.js.map +1 -0
  46. package/dist/MarkedEvents.d.ts +9 -0
  47. package/dist/MarkedEvents.js +15 -0
  48. package/dist/MarkedEvents.js.map +1 -0
  49. package/dist/MediaRange.d.ts +37 -0
  50. package/dist/MediaRange.js +54 -65
  51. package/dist/MediaRange.js.map +1 -0
  52. package/dist/PropertiesFileFormat.d.ts +8 -0
  53. package/dist/PropertiesFileFormat.js +72 -82
  54. package/dist/PropertiesFileFormat.js.map +1 -0
  55. package/dist/Render.d.ts +47 -0
  56. package/dist/Render.js +81 -113
  57. package/dist/Render.js.map +1 -0
  58. package/dist/RenderQueue.d.ts +19 -0
  59. package/dist/RenderQueue.js +52 -62
  60. package/dist/RenderQueue.js.map +1 -0
  61. package/dist/Runtimes.d.ts +27 -0
  62. package/dist/Runtimes.js +49 -70
  63. package/dist/Runtimes.js.map +1 -0
  64. package/dist/StaticArea.d.ts +0 -0
  65. package/dist/StaticArea.js +4 -1
  66. package/dist/StaticArea.js.map +1 -0
  67. package/dist/StaticAreaItem.d.ts +36 -0
  68. package/dist/StaticAreaItem.js +84 -86
  69. package/dist/StaticAreaItem.js.map +1 -0
  70. package/dist/SystemCSSVars.d.ts +2 -0
  71. package/dist/SystemCSSVars.js +4 -5
  72. package/dist/SystemCSSVars.js.map +1 -0
  73. package/dist/Theming.d.ts +3 -0
  74. package/dist/Theming.js +1 -1
  75. package/dist/Theming.js.map +1 -0
  76. package/dist/UI5Element.d.ts +373 -0
  77. package/dist/UI5Element.js +928 -994
  78. package/dist/UI5Element.js.map +1 -0
  79. package/dist/UI5ElementMetadata.d.ts +150 -0
  80. package/dist/UI5ElementMetadata.js +277 -313
  81. package/dist/UI5ElementMetadata.js.map +1 -0
  82. package/dist/animations/AnimationQueue.d.ts +8 -0
  83. package/dist/animations/AnimationQueue.js +31 -38
  84. package/dist/animations/AnimationQueue.js.map +1 -0
  85. package/dist/animations/animate.d.ts +14 -0
  86. package/dist/animations/animate.js +46 -51
  87. package/dist/animations/animate.js.map +1 -0
  88. package/dist/animations/scroll.d.ts +5 -0
  89. package/dist/animations/scroll.js +18 -27
  90. package/dist/animations/scroll.js.map +1 -0
  91. package/dist/animations/slideDown.d.ts +5 -0
  92. package/dist/animations/slideDown.js +53 -78
  93. package/dist/animations/slideDown.js.map +1 -0
  94. package/dist/animations/slideUp.d.ts +5 -0
  95. package/dist/animations/slideUp.js +49 -70
  96. package/dist/animations/slideUp.js.map +1 -0
  97. package/dist/api.json +1 -0
  98. package/dist/asset-registries/Icons.d.ts +30 -0
  99. package/dist/asset-registries/Icons.js +85 -116
  100. package/dist/asset-registries/Icons.js.map +1 -0
  101. package/dist/asset-registries/Illustrations.d.ts +17 -0
  102. package/dist/asset-registries/Illustrations.js +41 -25
  103. package/dist/asset-registries/Illustrations.js.map +1 -0
  104. package/dist/asset-registries/LocaleData.d.ts +7 -0
  105. package/dist/asset-registries/LocaleData.js +104 -132
  106. package/dist/asset-registries/LocaleData.js.map +1 -0
  107. package/dist/asset-registries/Themes.d.ts +10 -0
  108. package/dist/asset-registries/Themes.js +36 -68
  109. package/dist/asset-registries/Themes.js.map +1 -0
  110. package/dist/asset-registries/i18n.d.ts +23 -0
  111. package/dist/asset-registries/i18n.js +52 -80
  112. package/dist/asset-registries/i18n.js.map +1 -0
  113. package/dist/assets/bundle.esm.97ee5164.js +56 -0
  114. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  115. package/dist/assets-meta/IconCollectionsAlias.js +4 -4
  116. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  117. package/dist/config/AnimationMode.d.ts +14 -0
  118. package/dist/config/AnimationMode.js +21 -18
  119. package/dist/config/AnimationMode.js.map +1 -0
  120. package/dist/config/CalendarType.d.ts +8 -0
  121. package/dist/config/CalendarType.js +13 -12
  122. package/dist/config/CalendarType.js.map +1 -0
  123. package/dist/config/FormatSettings.d.ts +11 -0
  124. package/dist/config/FormatSettings.js +10 -8
  125. package/dist/config/FormatSettings.js.map +1 -0
  126. package/dist/config/Icons.d.ts +30 -0
  127. package/dist/config/Icons.js +28 -32
  128. package/dist/config/Icons.js.map +1 -0
  129. package/dist/config/Language.d.ts +31 -0
  130. package/dist/config/Language.js +31 -43
  131. package/dist/config/Language.js.map +1 -0
  132. package/dist/config/NoConflict.d.ts +20 -0
  133. package/dist/config/NoConflict.js +40 -41
  134. package/dist/config/NoConflict.js.map +1 -0
  135. package/dist/config/RTL.d.ts +7 -0
  136. package/dist/config/RTL.js +23 -20
  137. package/dist/config/RTL.js.map +1 -0
  138. package/dist/config/Theme.d.ts +28 -0
  139. package/dist/config/Theme.js +34 -36
  140. package/dist/config/Theme.js.map +1 -0
  141. package/dist/config/ThemeRoots.d.ts +4 -0
  142. package/dist/config/ThemeRoots.js +28 -0
  143. package/dist/config/ThemeRoots.js.map +1 -0
  144. package/dist/css/FontFace.css +9 -18
  145. package/dist/decorators/customElement.d.ts +8 -0
  146. package/dist/decorators/customElement.js +16 -0
  147. package/dist/decorators/customElement.js.map +1 -0
  148. package/dist/decorators/event.d.ts +10 -0
  149. package/dist/decorators/event.js +24 -0
  150. package/dist/decorators/event.js.map +1 -0
  151. package/dist/decorators/fastNavigation.d.ts +7 -0
  152. package/dist/decorators/fastNavigation.js +13 -0
  153. package/dist/decorators/fastNavigation.js.map +1 -0
  154. package/dist/decorators/languageAware.d.ts +7 -0
  155. package/dist/decorators/languageAware.js +13 -0
  156. package/dist/decorators/languageAware.js.map +1 -0
  157. package/dist/decorators/property.d.ts +9 -0
  158. package/dist/decorators/property.js +24 -0
  159. package/dist/decorators/property.js.map +1 -0
  160. package/dist/decorators/slot.d.ts +9 -0
  161. package/dist/decorators/slot.js +37 -0
  162. package/dist/decorators/slot.js.map +1 -0
  163. package/dist/decorators/themeAware.d.ts +7 -0
  164. package/dist/decorators/themeAware.js +13 -0
  165. package/dist/decorators/themeAware.js.map +1 -0
  166. package/dist/delegate/ItemNavigation.d.ts +113 -0
  167. package/dist/delegate/ItemNavigation.js +277 -317
  168. package/dist/delegate/ItemNavigation.js.map +1 -0
  169. package/dist/delegate/ResizeHandler.d.ts +24 -0
  170. package/dist/delegate/ResizeHandler.js +68 -91
  171. package/dist/delegate/ResizeHandler.js.map +1 -0
  172. package/dist/delegate/ScrollEnablement.d.ts +48 -0
  173. package/dist/delegate/ScrollEnablement.js +157 -180
  174. package/dist/delegate/ScrollEnablement.js.map +1 -0
  175. package/dist/features/F6Navigation.d.ts +16 -0
  176. package/dist/features/F6Navigation.js +106 -104
  177. package/dist/features/F6Navigation.js.map +1 -0
  178. package/dist/features/OpenUI5Element.d.ts +9 -0
  179. package/dist/features/OpenUI5Element.js +5 -0
  180. package/dist/features/OpenUI5Element.js.map +1 -0
  181. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  182. package/dist/features/OpenUI5Enablement.js +89 -112
  183. package/dist/features/OpenUI5Enablement.js.map +1 -0
  184. package/dist/features/OpenUI5Support.d.ts +23 -0
  185. package/dist/features/OpenUI5Support.js +91 -119
  186. package/dist/features/OpenUI5Support.js.map +1 -0
  187. package/dist/generated/VersionInfo.js +3 -3
  188. package/dist/generated/css/FontFace.css.js +1 -1
  189. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  190. package/dist/getSharedResource.d.ts +11 -0
  191. package/dist/getSharedResource.js +12 -16
  192. package/dist/getSharedResource.js.map +1 -0
  193. package/dist/i18nBundle.d.ts +43 -0
  194. package/dist/i18nBundle.js +56 -64
  195. package/dist/i18nBundle.js.map +1 -0
  196. package/dist/locale/Locale.d.ts +22 -0
  197. package/dist/locale/Locale.js +75 -87
  198. package/dist/locale/Locale.js.map +1 -0
  199. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  200. package/dist/locale/RTLAwareRegistry.js +6 -11
  201. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  202. package/dist/locale/applyDirection.d.ts +10 -0
  203. package/dist/locale/applyDirection.js +7 -7
  204. package/dist/locale/applyDirection.js.map +1 -0
  205. package/dist/locale/directionChange.d.ts +15 -0
  206. package/dist/locale/directionChange.js +7 -15
  207. package/dist/locale/directionChange.js.map +1 -0
  208. package/dist/locale/getEffectiveDir.d.ts +2 -0
  209. package/dist/locale/getEffectiveDir.js +20 -24
  210. package/dist/locale/getEffectiveDir.js.map +1 -0
  211. package/dist/locale/getLocale.d.ts +7 -0
  212. package/dist/locale/getLocale.js +26 -29
  213. package/dist/locale/getLocale.js.map +1 -0
  214. package/dist/locale/languageChange.d.ts +5 -0
  215. package/dist/locale/languageChange.js +8 -16
  216. package/dist/locale/languageChange.js.map +1 -0
  217. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  218. package/dist/locale/nextFallbackLocale.js +15 -19
  219. package/dist/locale/nextFallbackLocale.js.map +1 -0
  220. package/dist/locale/normalizeLocale.d.ts +7 -0
  221. package/dist/locale/normalizeLocale.js +34 -41
  222. package/dist/locale/normalizeLocale.js.map +1 -0
  223. package/dist/renderer/LitRenderer.d.ts +14 -0
  224. package/dist/renderer/LitRenderer.js +28 -39
  225. package/dist/renderer/LitRenderer.js.map +1 -0
  226. package/dist/renderer/executeTemplate.d.ts +13 -0
  227. package/dist/renderer/executeTemplate.js +12 -16
  228. package/dist/renderer/executeTemplate.js.map +1 -0
  229. package/dist/sap/base/Log.js +28 -29
  230. package/dist/sap/base/assert.js +5 -6
  231. package/dist/sap/base/security/URLListValidator.js +13 -2
  232. package/dist/theming/CustomStyle.d.ts +6 -0
  233. package/dist/theming/CustomStyle.js +29 -43
  234. package/dist/theming/CustomStyle.js.map +1 -0
  235. package/dist/theming/ThemeLoaded.d.ts +5 -0
  236. package/dist/theming/ThemeLoaded.js +8 -16
  237. package/dist/theming/ThemeLoaded.js.map +1 -0
  238. package/dist/theming/applyTheme.d.ts +2 -0
  239. package/dist/theming/applyTheme.js +60 -64
  240. package/dist/theming/applyTheme.js.map +1 -0
  241. package/dist/theming/getConstructableStyle.d.ts +9 -0
  242. package/dist/theming/getConstructableStyle.js +12 -17
  243. package/dist/theming/getConstructableStyle.js.map +1 -0
  244. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  245. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  246. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  247. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  248. package/dist/theming/getEffectiveStyle.js +24 -31
  249. package/dist/theming/getEffectiveStyle.js.map +1 -0
  250. package/dist/theming/getStylesString.d.ts +3 -0
  251. package/dist/theming/getStylesString.js +9 -13
  252. package/dist/theming/getStylesString.js.map +1 -0
  253. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  254. package/dist/theming/getThemeDesignerTheme.js +72 -79
  255. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  256. package/dist/theming/preloadLinks.d.ts +3 -0
  257. package/dist/theming/preloadLinks.js +13 -17
  258. package/dist/theming/preloadLinks.js.map +1 -0
  259. package/dist/thirdparty/_merge.d.ts +2 -0
  260. package/dist/thirdparty/_merge.js +7 -4
  261. package/dist/thirdparty/_merge.js.map +1 -0
  262. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  263. package/dist/thirdparty/isPlainObject.js +11 -10
  264. package/dist/thirdparty/isPlainObject.js.map +1 -0
  265. package/dist/thirdparty/merge.d.ts +2 -0
  266. package/dist/thirdparty/merge.js +4 -8
  267. package/dist/thirdparty/merge.js.map +1 -0
  268. package/dist/types/AnimationMode.d.ts +32 -0
  269. package/dist/types/AnimationMode.js +33 -6
  270. package/dist/types/AnimationMode.js.map +1 -0
  271. package/dist/types/CSSColor.d.ts +16 -0
  272. package/dist/types/CSSColor.js +15 -5
  273. package/dist/types/CSSColor.js.map +1 -0
  274. package/dist/types/CalendarType.d.ts +37 -0
  275. package/dist/types/CalendarType.js +35 -18
  276. package/dist/types/CalendarType.js.map +1 -0
  277. package/dist/types/DOMReference.d.ts +17 -0
  278. package/dist/types/DOMReference.js +25 -0
  279. package/dist/types/DOMReference.js.map +1 -0
  280. package/dist/types/DataType.d.ts +25 -0
  281. package/dist/types/DataType.js +33 -26
  282. package/dist/types/DataType.js.map +1 -0
  283. package/dist/types/Float.d.ts +18 -0
  284. package/dist/types/Float.js +18 -10
  285. package/dist/types/Float.js.map +1 -0
  286. package/dist/types/Integer.d.ts +18 -0
  287. package/dist/types/Integer.js +18 -9
  288. package/dist/types/Integer.js.map +1 -0
  289. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  290. package/dist/types/InvisibleMessageMode.js +20 -23
  291. package/dist/types/InvisibleMessageMode.js.map +1 -0
  292. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  293. package/dist/types/ItemNavigationBehavior.js +22 -12
  294. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  295. package/dist/types/NavigationMode.d.ts +32 -0
  296. package/dist/types/NavigationMode.js +33 -6
  297. package/dist/types/NavigationMode.js.map +1 -0
  298. package/dist/types/ValueState.d.ts +42 -0
  299. package/dist/types/ValueState.js +41 -19
  300. package/dist/types/ValueState.js.map +1 -0
  301. package/dist/types.d.ts +17 -0
  302. package/dist/types.js +2 -0
  303. package/dist/types.js.map +1 -0
  304. package/dist/updateShadowRoot.d.ts +8 -0
  305. package/dist/updateShadowRoot.js +21 -16
  306. package/dist/updateShadowRoot.js.map +1 -0
  307. package/dist/util/AriaLabelHelper.d.ts +6 -0
  308. package/dist/util/AriaLabelHelper.js +37 -32
  309. package/dist/util/AriaLabelHelper.js.map +1 -0
  310. package/dist/util/Caret.d.ts +7 -0
  311. package/dist/util/Caret.js +16 -25
  312. package/dist/util/Caret.js.map +1 -0
  313. package/dist/util/ColorConversion.d.ts +30 -0
  314. package/dist/util/ColorConversion.js +311 -372
  315. package/dist/util/ColorConversion.js.map +1 -0
  316. package/dist/util/FetchHelper.d.ts +3 -0
  317. package/dist/util/FetchHelper.js +19 -25
  318. package/dist/util/FetchHelper.js.map +1 -0
  319. package/dist/util/FocusableElements.d.ts +4 -0
  320. package/dist/util/FocusableElements.js +54 -71
  321. package/dist/util/FocusableElements.js.map +1 -0
  322. package/dist/util/HTMLSanitizer.d.ts +3 -0
  323. package/dist/util/HTMLSanitizer.js +4 -5
  324. package/dist/util/HTMLSanitizer.js.map +1 -0
  325. package/dist/util/InvisibleMessage.d.ts +10 -0
  326. package/dist/util/InvisibleMessage.js +40 -53
  327. package/dist/util/InvisibleMessage.js.map +1 -0
  328. package/dist/util/PopupUtils.d.ts +7 -0
  329. package/dist/util/PopupUtils.js +57 -76
  330. package/dist/util/PopupUtils.js.map +1 -0
  331. package/dist/util/SlotsHelper.d.ts +9 -0
  332. package/dist/util/SlotsHelper.js +22 -35
  333. package/dist/util/SlotsHelper.js.map +1 -0
  334. package/dist/util/StringHelper.d.ts +3 -0
  335. package/dist/util/StringHelper.js +17 -20
  336. package/dist/util/StringHelper.js.map +1 -0
  337. package/dist/util/TabbableElements.d.ts +17 -0
  338. package/dist/util/TabbableElements.js +53 -47
  339. package/dist/util/TabbableElements.js.map +1 -0
  340. package/dist/util/arraysAreEqual.d.ts +2 -0
  341. package/dist/util/arraysAreEqual.js +10 -12
  342. package/dist/util/arraysAreEqual.js.map +1 -0
  343. package/dist/util/clamp.d.ts +9 -0
  344. package/dist/util/clamp.js +2 -2
  345. package/dist/util/clamp.js.map +1 -0
  346. package/dist/util/createLinkInHead.d.ts +7 -0
  347. package/dist/util/createLinkInHead.js +14 -12
  348. package/dist/util/createLinkInHead.js.map +1 -0
  349. package/dist/util/createStyleInHead.d.ts +8 -0
  350. package/dist/util/createStyleInHead.js +10 -10
  351. package/dist/util/createStyleInHead.js.map +1 -0
  352. package/dist/util/debounce.d.ts +2 -0
  353. package/dist/util/debounce.js +6 -8
  354. package/dist/util/debounce.js.map +1 -0
  355. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  356. package/dist/util/detectNavigatorLanguage.js +7 -10
  357. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  358. package/dist/util/escapeRegex.d.ts +8 -0
  359. package/dist/util/escapeRegex.js +8 -7
  360. package/dist/util/escapeRegex.js.map +1 -0
  361. package/dist/util/formatMessage.d.ts +2 -0
  362. package/dist/util/formatMessage.js +15 -19
  363. package/dist/util/formatMessage.js.map +1 -0
  364. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  365. package/dist/util/generateHighlightedMarkup.js +26 -27
  366. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  367. package/dist/util/getActiveElement.d.ts +2 -0
  368. package/dist/util/getActiveElement.js +6 -8
  369. package/dist/util/getActiveElement.js.map +1 -0
  370. package/dist/util/getClassCopy.d.ts +400 -0
  371. package/dist/util/getClassCopy.js +7 -7
  372. package/dist/util/getClassCopy.js.map +1 -0
  373. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  374. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  375. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  376. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  377. package/dist/util/getEffectiveContentDensity.js +2 -3
  378. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  379. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  380. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  381. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  382. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  383. package/dist/util/getFastNavigationGroups.js +51 -0
  384. package/dist/util/getFastNavigationGroups.js.map +1 -0
  385. package/dist/util/getFileExtension.d.ts +12 -0
  386. package/dist/util/getFileExtension.js +9 -11
  387. package/dist/util/getFileExtension.js.map +1 -0
  388. package/dist/util/getNormalizedTarget.d.ts +7 -0
  389. package/dist/util/getNormalizedTarget.js +7 -9
  390. package/dist/util/getNormalizedTarget.js.map +1 -0
  391. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  392. package/dist/util/getSingletonElementInstance.js +7 -10
  393. package/dist/util/getSingletonElementInstance.js.map +1 -0
  394. package/dist/util/isElementClickable.d.ts +2 -0
  395. package/dist/util/isElementClickable.js +16 -0
  396. package/dist/util/isElementClickable.js.map +1 -0
  397. package/dist/util/isElementHidden.d.ts +2 -0
  398. package/dist/util/isElementHidden.js +8 -0
  399. package/dist/util/isElementHidden.js.map +1 -0
  400. package/dist/util/isElementInView.d.ts +6 -0
  401. package/dist/util/isElementInView.js +6 -9
  402. package/dist/util/isElementInView.js.map +1 -0
  403. package/dist/util/isElementTabbable.d.ts +9 -0
  404. package/dist/util/isElementTabbable.js +30 -0
  405. package/dist/util/isElementTabbable.js.map +1 -0
  406. package/dist/util/isValidPropertyName.d.ts +8 -0
  407. package/dist/util/isValidPropertyName.js +16 -17
  408. package/dist/util/isValidPropertyName.js.map +1 -0
  409. package/dist/util/whenDOMReady.d.ts +2 -0
  410. package/dist/util/whenDOMReady.js +11 -10
  411. package/dist/util/whenDOMReady.js.map +1 -0
  412. package/dist/util/willShowContent.d.ts +2 -0
  413. package/dist/util/willShowContent.js +7 -0
  414. package/dist/util/willShowContent.js.map +1 -0
  415. package/dist/validateThemeRoot.d.ts +2 -0
  416. package/dist/validateThemeRoot.js +47 -0
  417. package/dist/validateThemeRoot.js.map +1 -0
  418. package/global.d.ts +44 -0
  419. package/lib/generate-styles/index.js +1 -1
  420. package/package-scripts.js +15 -4
  421. package/package.json +4 -4
  422. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  423. package/src/Boot.ts +61 -0
  424. package/src/{CSP.js → CSP.ts} +14 -7
  425. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
  426. package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
  427. package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
  428. package/src/DOMObserver.ts +28 -0
  429. package/src/{Device.js → Device.ts} +17 -14
  430. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  431. package/src/FeaturesRegistry.ts +14 -0
  432. package/src/{FontFace.js → FontFace.ts} +3 -2
  433. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +53 -12
  434. package/src/Keys.ts +295 -0
  435. package/src/ManagedStyles.ts +92 -0
  436. package/src/MarkedEvents.ts +20 -0
  437. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  438. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  439. package/src/{Render.js → Render.ts} +25 -20
  440. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  441. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  442. package/src/{StaticArea.js → StaticArea.ts} +0 -0
  443. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +30 -18
  444. package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  445. package/src/{Theming.js → Theming.ts} +0 -0
  446. package/src/{UI5Element.js → UI5Element.ts} +270 -148
  447. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
  448. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  449. package/src/animations/animate.ts +64 -0
  450. package/src/animations/scroll.ts +21 -0
  451. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  452. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  453. package/src/asset-registries/{Icons.js → Icons.ts} +64 -37
  454. package/src/asset-registries/Illustrations.ts +75 -0
  455. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +36 -28
  456. package/src/asset-registries/{Themes.js → Themes.ts} +14 -29
  457. package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
  458. package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -0
  459. package/src/config/AnimationMode.ts +33 -0
  460. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  461. package/src/config/FormatSettings.ts +21 -0
  462. package/src/config/{Icons.js → Icons.ts} +19 -12
  463. package/src/config/{Language.js → Language.ts} +22 -18
  464. package/src/config/NoConflict.ts +67 -0
  465. package/src/config/{RTL.js → RTL.ts} +14 -4
  466. package/src/config/Theme.ts +64 -0
  467. package/src/config/ThemeRoots.ts +41 -0
  468. package/src/css/FontFace.css +9 -18
  469. package/src/decorators/customElement.ts +17 -0
  470. package/src/decorators/event.ts +28 -0
  471. package/src/decorators/fastNavigation.ts +14 -0
  472. package/src/decorators/languageAware.ts +14 -0
  473. package/src/decorators/property.ts +30 -0
  474. package/src/decorators/slot.ts +49 -0
  475. package/src/decorators/themeAware.ts +14 -0
  476. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +56 -19
  477. package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
  478. package/src/delegate/ScrollEnablement.ts +221 -0
  479. package/src/features/F6Navigation.ts +141 -0
  480. package/src/features/OpenUI5Element.ts +11 -0
  481. package/src/features/OpenUI5Enablement.ts +117 -0
  482. package/src/features/OpenUI5Support.ts +148 -0
  483. package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
  484. package/src/{i18nBundle.js → i18nBundle.ts} +44 -22
  485. package/src/locale/{Locale.js → Locale.ts} +15 -5
  486. package/src/locale/RTLAwareRegistry.ts +16 -0
  487. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  488. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  489. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  490. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  491. package/src/locale/languageChange.ts +24 -0
  492. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  493. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +4 -2
  494. package/src/renderer/LitRenderer.ts +60 -0
  495. package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
  496. package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
  497. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  498. package/src/theming/{applyTheme.js → applyTheme.ts} +22 -11
  499. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  500. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  501. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
  502. package/src/theming/getStylesString.ts +15 -0
  503. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  504. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  505. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  506. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  507. package/src/thirdparty/merge.ts +5 -0
  508. package/src/types/AnimationMode.ts +33 -0
  509. package/src/types/{CSSColor.js → CSSColor.ts} +12 -1
  510. package/src/types/CalendarType.ts +38 -0
  511. package/src/types/DOMReference.ts +28 -0
  512. package/src/types/DataType.ts +51 -0
  513. package/src/types/Float.ts +25 -0
  514. package/src/types/Integer.ts +25 -0
  515. package/src/types/InvisibleMessageMode.ts +27 -0
  516. package/src/types/ItemNavigationBehavior.ts +26 -0
  517. package/src/types/NavigationMode.ts +33 -0
  518. package/src/types/ValueState.ts +47 -0
  519. package/src/types.ts +28 -0
  520. package/src/updateShadowRoot.ts +37 -0
  521. package/src/util/AriaLabelHelper.ts +63 -0
  522. package/src/util/{Caret.js → Caret.ts} +5 -9
  523. package/src/util/{ColorConversion.js → ColorConversion.ts} +182 -181
  524. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  525. package/src/util/FocusableElements.ts +82 -0
  526. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  527. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
  528. package/src/util/PopupUtils.ts +114 -0
  529. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  530. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  531. package/src/util/TabbableElements.ts +70 -0
  532. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  533. package/src/util/{clamp.js → clamp.ts} +1 -1
  534. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +10 -4
  535. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  536. package/src/util/{debounce.js → debounce.ts} +5 -4
  537. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  538. package/src/util/escapeRegex.ts +11 -0
  539. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  540. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  541. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  542. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  543. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  544. package/src/util/getEffectiveContentDensity.ts +5 -0
  545. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  546. package/src/util/getFastNavigationGroups.ts +63 -0
  547. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  548. package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
  549. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  550. package/src/util/isElementClickable.ts +19 -0
  551. package/src/util/isElementHidden.ts +9 -0
  552. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  553. package/src/util/isElementTabbable.ts +37 -0
  554. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  555. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  556. package/src/util/willShowContent.ts +7 -0
  557. package/src/validateThemeRoot.ts +58 -0
  558. package/tsconfig.json +13 -0
  559. package/dist/RenderScheduler.js +0 -44
  560. package/dist/animations/config.js +0 -5
  561. package/dist/assets/bundle.esm.81ba431e.js +0 -43
  562. package/dist/types/CSSSize.js +0 -9
  563. package/dist/types/PopupState.js +0 -37
  564. package/dist/util/isDefaultSlotProvided.js +0 -11
  565. package/dist/util/isDescendantOf.js +0 -15
  566. package/dist/util/isNodeClickable.js +0 -19
  567. package/dist/util/isNodeHidden.js +0 -9
  568. package/dist/util/isNodeTabbable.js +0 -28
  569. package/dist/util/setToArray.js +0 -10
  570. package/hash.txt +0 -1
  571. package/src/Boot.js +0 -59
  572. package/src/DOMObserver.js +0 -65
  573. package/src/FeaturesRegistry.js +0 -14
  574. package/src/Keys.js +0 -295
  575. package/src/ManagedStyles.js +0 -83
  576. package/src/RenderScheduler.js +0 -44
  577. package/src/animations/animate.js +0 -53
  578. package/src/animations/config.js +0 -5
  579. package/src/animations/scroll.js +0 -28
  580. package/src/asset-registries/Illustrations.js +0 -30
  581. package/src/config/AnimationMode.js +0 -23
  582. package/src/config/FormatSettings.js +0 -13
  583. package/src/config/NoConflict.js +0 -51
  584. package/src/config/Theme.js +0 -53
  585. package/src/delegate/ScrollEnablement.js +0 -188
  586. package/src/features/F6Navigation.js +0 -110
  587. package/src/features/OpenUI5Enablement.js +0 -119
  588. package/src/features/OpenUI5Support.js +0 -125
  589. package/src/locale/RTLAwareRegistry.js +0 -14
  590. package/src/locale/languageChange.js +0 -22
  591. package/src/renderer/LitRenderer.js +0 -52
  592. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  593. package/src/theming/getStylesString.js +0 -15
  594. package/src/thirdparty/merge.js +0 -10
  595. package/src/types/AnimationMode.js +0 -7
  596. package/src/types/CSSSize.js +0 -9
  597. package/src/types/CalendarType.js +0 -22
  598. package/src/types/DataType.js +0 -37
  599. package/src/types/Float.js +0 -14
  600. package/src/types/Integer.js +0 -13
  601. package/src/types/InvisibleMessageMode.js +0 -30
  602. package/src/types/ItemNavigationBehavior.js +0 -16
  603. package/src/types/NavigationMode.js +0 -7
  604. package/src/types/PopupState.js +0 -37
  605. package/src/types/ValueState.js +0 -22
  606. package/src/updateShadowRoot.js +0 -29
  607. package/src/util/AriaLabelHelper.js +0 -39
  608. package/src/util/FocusableElements.js +0 -79
  609. package/src/util/PopupUtils.js +0 -93
  610. package/src/util/TabbableElements.js +0 -51
  611. package/src/util/escapeRegex.js +0 -10
  612. package/src/util/getEffectiveContentDensity.js +0 -5
  613. package/src/util/isDefaultSlotProvided.js +0 -11
  614. package/src/util/isDescendantOf.js +0 -15
  615. package/src/util/isNodeClickable.js +0 -19
  616. package/src/util/isNodeHidden.js +0 -9
  617. package/src/util/isNodeTabbable.js +0 -28
  618. package/src/util/setToArray.js +0 -10
@@ -1,9 +1,16 @@
1
- let suf;
2
- let rulesObj = {
1
+ let suf: string;
2
+
3
+ type Rules = {
4
+ include: Array<RegExp>,
5
+ exclude: Array<RegExp>,
6
+ };
7
+
8
+ let rulesObj: Rules = {
3
9
  include: [/^ui5-/],
4
10
  exclude: [],
5
11
  };
6
- const tagsCache = new Map(); // true/false means the tag should/should not be cached, undefined means not known yet.
12
+
13
+ const tagsCache = new Map<string, boolean>(); // true/false means the tag should/should not be cached, undefined means not known yet.
7
14
 
8
15
  /**
9
16
  * Sets the suffix to be used for custom elements scoping, f.e. pass "demo" to get tags such as "ui5-button-demo".
@@ -12,7 +19,7 @@ const tagsCache = new Map(); // true/false means the tag should/should not be ca
12
19
  * @public
13
20
  * @param suffix The scoping suffix
14
21
  */
15
- const setCustomElementsScopingSuffix = suffix => {
22
+ const setCustomElementsScopingSuffix = (suffix: string) => {
16
23
  if (!suffix.match(/^[a-zA-Z0-9_-]+$/)) {
17
24
  throw new Error("Only alphanumeric characters and dashes allowed for the scoping suffix");
18
25
  }
@@ -39,7 +46,7 @@ const getCustomElementsScopingSuffix = () => {
39
46
  * @param rules Object with "include" and "exclude" properties, both arrays of regular expressions. Note that "include"
40
47
  * rules are applied first and "exclude" rules second.
41
48
  */
42
- const setCustomElementsScopingRules = rules => {
49
+ const setCustomElementsScopingRules = (rules: Rules) => {
43
50
  if (!rules || !rules.include) {
44
51
  throw new Error(`"rules" must be an object with at least an "include" property`);
45
52
  }
@@ -76,7 +83,7 @@ const getCustomElementsScopingRules = () => {
76
83
  * @public
77
84
  * @param tag
78
85
  */
79
- const shouldScopeCustomElement = tag => {
86
+ const shouldScopeCustomElement = (tag: string) => {
80
87
  if (!tagsCache.has(tag)) {
81
88
  const result = rulesObj.include.some(rule => tag.match(rule)) && !rulesObj.exclude.some(rule => tag.match(rule));
82
89
  tagsCache.set(tag, result);
@@ -92,7 +99,7 @@ const shouldScopeCustomElement = tag => {
92
99
  * @param tag
93
100
  * @returns {String}
94
101
  */
95
- const getEffectiveScopingSuffixForTag = tag => {
102
+ const getEffectiveScopingSuffixForTag = (tag: string) => {
96
103
  if (shouldScopeCustomElement(tag)) {
97
104
  return getCustomElementsScopingSuffix();
98
105
  }
@@ -0,0 +1,28 @@
1
+ const observers = new WeakMap<Node, MutationObserver>();
2
+
3
+ /**
4
+ * @param node
5
+ * @param callback
6
+ * @param options
7
+ */
8
+ const observeDOMNode = (node: Node, callback: MutationCallback, options?: MutationObserverInit) => {
9
+ const observer = new MutationObserver(callback);
10
+ observers.set(node, observer);
11
+ observer.observe(node, options);
12
+ };
13
+
14
+ /**
15
+ * @param node
16
+ */
17
+ const unobserveDOMNode = (node: Node) => {
18
+ const observer = observers.get(node);
19
+ if (observer) {
20
+ observer.disconnect();
21
+ observers.delete(node);
22
+ }
23
+ };
24
+
25
+ export {
26
+ observeDOMNode,
27
+ unobserveDOMNode,
28
+ };
@@ -2,10 +2,11 @@ const ua = navigator.userAgent;
2
2
  const touch = "ontouchstart" in window || navigator.maxTouchPoints > 0;
3
3
  const ie = /(msie|trident)/i.test(ua);
4
4
  const chrome = !ie && /(Chrome|CriOS)/.test(ua);
5
+ const firefox = /Firefox/.test(ua);
5
6
  const safari = !ie && !chrome && /(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(ua);
6
7
  const webkit = !ie && /webkit/.test(ua);
7
8
  const windows = navigator.platform.indexOf("Win") !== -1;
8
- const iOS = navigator.platform.match(/iPhone|iPad|iPod/) || (navigator.userAgent.match(/Mac/) && "ontouchend" in document);
9
+ const iOS = !!(navigator.platform.match(/iPhone|iPad|iPod/)) || !!(navigator.userAgent.match(/Mac/) && "ontouchend" in document);
9
10
  const android = !windows && /Android/.test(ua);
10
11
  const androidPhone = android && /(?=android)(?=.*mobile)/i.test(ua);
11
12
  const ipad = /ipad/i.test(ua) || (/Macintosh/i.test(ua) && "ontouchend" in document);
@@ -13,9 +14,9 @@ const ipad = /ipad/i.test(ua) || (/Macintosh/i.test(ua) && "ontouchend" in docum
13
14
  // "Request Desktop Website -> All websites" (for more infos see: https://forums.developer.apple.com/thread/119186).
14
15
  // Therefore the OS is detected as MACINTOSH instead of iOS and the device is a tablet if the Device.support.touch is true.
15
16
 
16
- let windowsVersion;
17
- let webkitVersion;
18
- let tablet;
17
+ let windowsVersion: number;
18
+ let webkitVersion: number;
19
+ let tablet: boolean;
19
20
 
20
21
  const isWindows8OrAbove = () => {
21
22
  if (!windows) {
@@ -76,34 +77,35 @@ const detectTablet = () => {
76
77
  tablet = (ie && ua.indexOf("Touch") !== -1) || (android && !androidPhone);
77
78
  };
78
79
 
79
- const supportsTouch = () => touch;
80
- const isIE = () => ie;
81
- const isSafari = () => safari;
82
- const isChrome = () => chrome;
80
+ const supportsTouch = (): boolean => touch;
81
+ const isIE = (): boolean => ie;
82
+ const isSafari = (): boolean => safari;
83
+ const isChrome = (): boolean => chrome;
84
+ const isFirefox = (): boolean => firefox;
83
85
 
84
- const isTablet = () => {
86
+ const isTablet = (): boolean => {
85
87
  detectTablet();
86
88
  return (touch || isWindows8OrAbove()) && tablet;
87
89
  };
88
90
 
89
- const isPhone = () => {
91
+ const isPhone = (): boolean => {
90
92
  detectTablet();
91
93
  return touch && !tablet;
92
94
  };
93
95
 
94
- const isDesktop = () => {
96
+ const isDesktop = (): boolean => {
95
97
  return (!isTablet() && !isPhone()) || isWindows8OrAbove();
96
98
  };
97
99
 
98
- const isCombi = () => {
100
+ const isCombi = (): boolean => {
99
101
  return isTablet() && isDesktop();
100
102
  };
101
103
 
102
- const isIOS = () => {
104
+ const isIOS = (): boolean => {
103
105
  return iOS;
104
106
  };
105
107
 
106
- const isAndroid = () => {
108
+ const isAndroid = (): boolean => {
107
109
  return android || androidPhone;
108
110
  };
109
111
 
@@ -112,6 +114,7 @@ export {
112
114
  isIE,
113
115
  isSafari,
114
116
  isChrome,
117
+ isFirefox,
115
118
  isPhone,
116
119
  isTablet,
117
120
  isDesktop,
@@ -1,9 +1,11 @@
1
- class EventProvider {
1
+ class EventProvider<EventListenerParam, EventListenerReturn> {
2
+ _eventRegistry: Map<string, Array<(param: EventListenerParam) => EventListenerReturn>>;
3
+
2
4
  constructor() {
3
5
  this._eventRegistry = new Map();
4
6
  }
5
7
 
6
- attachEvent(eventName, fnFunction) {
8
+ attachEvent(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {
7
9
  const eventRegistry = this._eventRegistry;
8
10
  const eventListeners = eventRegistry.get(eventName);
9
11
 
@@ -17,7 +19,7 @@ class EventProvider {
17
19
  }
18
20
  }
19
21
 
20
- detachEvent(eventName, fnFunction) {
22
+ detachEvent(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {
21
23
  const eventRegistry = this._eventRegistry;
22
24
  const eventListeners = eventRegistry.get(eventName);
23
25
 
@@ -42,7 +44,7 @@ class EventProvider {
42
44
  * @param data optional data to pass to each event listener
43
45
  * @returns {Array} an array with the results of all event listeners
44
46
  */
45
- fireEvent(eventName, data) {
47
+ fireEvent(eventName: string, data: EventListenerParam) {
46
48
  const eventRegistry = this._eventRegistry;
47
49
  const eventListeners = eventRegistry.get(eventName);
48
50
 
@@ -62,11 +64,11 @@ class EventProvider {
62
64
  * @param data optional data to pass to each event listener
63
65
  * @returns {Promise} a promise that will resolve when all listeners have resolved
64
66
  */
65
- fireEventAsync(eventName, data) {
67
+ fireEventAsync(eventName: string, data: EventListenerParam) {
66
68
  return Promise.all(this.fireEvent(eventName, data));
67
69
  }
68
70
 
69
- isHandlerAttached(eventName, fnFunction) {
71
+ isHandlerAttached(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {
70
72
  const eventRegistry = this._eventRegistry;
71
73
  const eventListeners = eventRegistry.get(eventName);
72
74
 
@@ -77,7 +79,7 @@ class EventProvider {
77
79
  return eventListeners.includes(fnFunction);
78
80
  }
79
81
 
80
- hasListeners(eventName) {
82
+ hasListeners(eventName: string) {
81
83
  return !!this._eventRegistry.get(eventName);
82
84
  }
83
85
  }
@@ -0,0 +1,14 @@
1
+ const features = new Map<string, any>();
2
+
3
+ const registerFeature = (name: string, feature: object) => {
4
+ features.set(name, feature);
5
+ };
6
+
7
+ const getFeature = <T>(name: string): T => {
8
+ return features.get(name) as T;
9
+ };
10
+
11
+ export {
12
+ registerFeature,
13
+ getFeature,
14
+ };
@@ -2,12 +2,13 @@ import { hasStyle, createStyle } from "./ManagedStyles.js";
2
2
  import { getFeature } from "./FeaturesRegistry.js";
3
3
  import fontFaceCSS from "./generated/css/FontFace.css.js";
4
4
  import overrideFontFaceCSS from "./generated/css/OverrideFontFace.css.js";
5
+ import type OpenUI5Support from "./features/OpenUI5Support.js";
5
6
 
6
7
  const insertFontFace = () => {
7
- const OpenUI5Support = getFeature("OpenUI5Support");
8
+ const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
8
9
 
9
10
  // Only set the main font if there is no OpenUI5 support, or there is, but OpenUI5 is not loaded
10
- if (!OpenUI5Support || !OpenUI5Support.isLoaded()) {
11
+ if (!openUI5Support || !openUI5Support.isLoaded()) {
11
12
  insertMainFontFace();
12
13
  }
13
14
 
@@ -1,15 +1,34 @@
1
1
  import merge from "./thirdparty/merge.js";
2
2
  import { getFeature } from "./FeaturesRegistry.js";
3
3
  import { DEFAULT_THEME } from "./generated/AssetParameters.js";
4
+ import validateThemeRoot from "./validateThemeRoot.js";
5
+ import type OpenUI5Support from "./features/OpenUI5Support";
6
+ import type { FormatSettings } from "./config/FormatSettings.js";
7
+ import AnimationMode from "./types/AnimationMode.js";
8
+ import CalendarType from "./types/CalendarType.js";
4
9
 
5
10
  let initialized = false;
6
11
 
7
- let initialConfig = {
8
- animationMode: "full",
12
+ type InitialConfig = {
13
+ [key: string]: any,
14
+ animationMode: AnimationMode,
15
+ theme: string,
16
+ themeRoot: string | undefined,
17
+ rtl: boolean | undefined,
18
+ language: string | undefined,
19
+ calendarType: CalendarType | undefined,
20
+ noConflict: boolean,
21
+ formatSettings: FormatSettings,
22
+ fetchDefaultLanguage: boolean,
23
+ };
24
+
25
+ let initialConfig: InitialConfig = {
26
+ animationMode: AnimationMode.Full,
9
27
  theme: DEFAULT_THEME,
10
- rtl: null,
11
- language: null,
12
- calendarType: null,
28
+ themeRoot: undefined,
29
+ rtl: undefined,
30
+ language: undefined,
31
+ calendarType: undefined,
13
32
  noConflict: false, // no URL
14
33
  formatSettings: {},
15
34
  fetchDefaultLanguage: false,
@@ -26,6 +45,11 @@ const getTheme = () => {
26
45
  return initialConfig.theme;
27
46
  };
28
47
 
48
+ const getThemeRoot = () => {
49
+ initConfiguration();
50
+ return initialConfig.themeRoot;
51
+ };
52
+
29
53
  const getRTL = () => {
30
54
  initConfiguration();
31
55
  return initialConfig.rtl;
@@ -51,6 +75,10 @@ const getNoConflict = () => {
51
75
  return initialConfig.noConflict;
52
76
  };
53
77
 
78
+ /**
79
+ * Get the configured calendar type
80
+ * @returns { String } the name of the configured calendar type
81
+ */
54
82
  const getCalendarType = () => {
55
83
  initConfiguration();
56
84
  return initialConfig.calendarType;
@@ -106,7 +134,13 @@ const parseURLParameters = () => {
106
134
  });
107
135
  };
108
136
 
109
- const normalizeParamValue = (param, value) => {
137
+ const normalizeThemeRootParamValue = (value: string) => {
138
+ const themeRoot = value.split("@")[1];
139
+
140
+ return validateThemeRoot(themeRoot);
141
+ };
142
+
143
+ const normalizeThemeParamValue = (param: string, value: string) => {
110
144
  if (param === "theme" && value.includes("@")) { // the theme parameter might have @<URL-TO-THEME> in the value - strip this
111
145
  return value.split("@")[0];
112
146
  }
@@ -114,7 +148,7 @@ const normalizeParamValue = (param, value) => {
114
148
  return value;
115
149
  };
116
150
 
117
- const applyURLParam = (key, value, paramType) => {
151
+ const applyURLParam = (key: string, value: string, paramType: string) => {
118
152
  const lowerCaseValue = value.toLowerCase();
119
153
  const param = key.split(`${paramType}-`)[1];
120
154
 
@@ -122,18 +156,24 @@ const applyURLParam = (key, value, paramType) => {
122
156
  value = booleanMapping.get(lowerCaseValue);
123
157
  }
124
158
 
125
- value = normalizeParamValue(param, value);
159
+ if (param === "theme") {
160
+ initialConfig.theme = normalizeThemeParamValue(param, value);
126
161
 
127
- initialConfig[param] = value;
162
+ if (value && value.includes("@")) {
163
+ initialConfig.themeRoot = normalizeThemeRootParamValue(value);
164
+ }
165
+ } else {
166
+ initialConfig[param] = value;
167
+ }
128
168
  };
129
169
 
130
170
  const applyOpenUI5Configuration = () => {
131
- const OpenUI5Support = getFeature("OpenUI5Support");
132
- if (!OpenUI5Support || !OpenUI5Support.isLoaded()) {
171
+ const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
172
+ if (!openUI5Support || !openUI5Support.isLoaded()) {
133
173
  return;
134
174
  }
135
175
 
136
- const OpenUI5Config = OpenUI5Support.getConfigurationSettingsObject();
176
+ const OpenUI5Config = openUI5Support.getConfigurationSettingsObject();
137
177
  initialConfig = merge(initialConfig, OpenUI5Config);
138
178
  };
139
179
 
@@ -157,6 +197,7 @@ const initConfiguration = () => {
157
197
  export {
158
198
  getAnimationMode,
159
199
  getTheme,
200
+ getThemeRoot,
160
201
  getRTL,
161
202
  getLanguage,
162
203
  getFetchDefaultLanguage,
package/src/Keys.ts ADDED
@@ -0,0 +1,295 @@
1
+ enum KeyCodes {
2
+ BACKSPACE = 8,
3
+ TAB = 9,
4
+ ENTER = 13,
5
+ SHIFT = 16,
6
+ CONTROL = 17,
7
+ ALT = 18,
8
+ BREAK = 19,
9
+ CAPS_LOCK = 20,
10
+ ESCAPE = 27,
11
+ SPACE = 32,
12
+ PAGE_UP = 33,
13
+ PAGE_DOWN = 34,
14
+ END = 35,
15
+ HOME = 36,
16
+ ARROW_LEFT = 37,
17
+ ARROW_UP = 38,
18
+ ARROW_RIGHT = 39,
19
+ ARROW_DOWN = 40,
20
+ PRINT = 44,
21
+ INSERT = 45,
22
+ DELETE = 46,
23
+ DIGIT_0 = 48,
24
+ DIGIT_1 = 49,
25
+ DIGIT_2 = 50,
26
+ DIGIT_3 = 51,
27
+ DIGIT_4 = 52,
28
+ DIGIT_5 = 53,
29
+ DIGIT_6 = 54,
30
+ DIGIT_7 = 55,
31
+ DIGIT_8 = 56,
32
+ DIGIT_9 = 57,
33
+ A = 65,
34
+ B = 66,
35
+ C = 67,
36
+ D = 68,
37
+ E = 69,
38
+ F = 70,
39
+ G = 71,
40
+ H = 72,
41
+ I = 73,
42
+ J = 74,
43
+ K = 75,
44
+ L = 76,
45
+ M = 77,
46
+ N = 78,
47
+ O = 79,
48
+ P = 80,
49
+ Q = 81,
50
+ R = 82,
51
+ S = 83,
52
+ T = 84,
53
+ U = 85,
54
+ V = 86,
55
+ W = 87,
56
+ X = 88,
57
+ Y = 89,
58
+ Z = 90,
59
+ WINDOWS = 91,
60
+ CONTEXT_MENU = 93,
61
+ TURN_OFF = 94,
62
+ SLEEP = 95,
63
+ NUMPAD_0 = 96,
64
+ NUMPAD_1 = 97,
65
+ NUMPAD_2 = 98,
66
+ NUMPAD_3 = 99,
67
+ NUMPAD_4 = 100,
68
+ NUMPAD_5 = 101,
69
+ NUMPAD_6 = 102,
70
+ NUMPAD_7 = 103,
71
+ NUMPAD_8 = 104,
72
+ NUMPAD_9 = 105,
73
+ NUMPAD_ASTERISK = 106,
74
+ NUMPAD_PLUS = 107,
75
+ NUMPAD_MINUS = 109,
76
+ NUMPAD_COMMA = 110,
77
+ NUMPAD_SLASH = 111,
78
+ F1 = 112,
79
+ F2 = 113,
80
+ F3 = 114,
81
+ F4 = 115,
82
+ F5 = 116,
83
+ F6 = 117,
84
+ F7 = 118,
85
+ F8 = 119,
86
+ F9 = 120,
87
+ F10 = 121,
88
+ F11 = 122,
89
+ F12 = 123,
90
+ NUM_LOCK = 144,
91
+ SCROLL_LOCK = 145,
92
+ OPEN_BRACKET = 186,
93
+ PLUS = 187,
94
+ COMMA = 188,
95
+ SLASH = 189,
96
+ DOT = 190,
97
+ PIPE = 191,
98
+ SEMICOLON = 192,
99
+ MINUS = 219,
100
+ GREAT_ACCENT = 220,
101
+ EQUALS = 221,
102
+ SINGLE_QUOTE = 222,
103
+ BACKSLASH = 226,
104
+ }
105
+
106
+ const isEnter = (event: KeyboardEvent): boolean => (event.key ? event.key === "Enter" : event.keyCode === KeyCodes.ENTER) && !hasModifierKeys(event);
107
+
108
+ const isEnterShift = (event: KeyboardEvent): boolean => (event.key ? event.key === "Enter" : event.keyCode === KeyCodes.ENTER) && checkModifierKeys(event, false, false, true);
109
+
110
+ const isSpace = (event: KeyboardEvent): boolean => (event.key ? (event.key === "Spacebar" || event.key === " ") : event.keyCode === KeyCodes.SPACE) && !hasModifierKeys(event);
111
+
112
+ const isSpaceShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === "Spacebar" || event.key === " ") : event.keyCode === KeyCodes.SPACE) && checkModifierKeys(event, false, false, true);
113
+
114
+ const isSpaceCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "Spacebar" || event.key === " ") : event.keyCode === KeyCodes.SPACE) && checkModifierKeys(event, true, false, false);
115
+
116
+ const isLeft = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowLeft" || event.key === "Left") : event.keyCode === KeyCodes.ARROW_LEFT) && !hasModifierKeys(event);
117
+
118
+ const isRight = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowRight" || event.key === "Right") : event.keyCode === KeyCodes.ARROW_RIGHT) && !hasModifierKeys(event);
119
+
120
+ const isUp = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowUp" || event.key === "Up") : event.keyCode === KeyCodes.ARROW_UP) && !hasModifierKeys(event);
121
+
122
+ const isDown = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowDown" || event.key === "Down") : event.keyCode === KeyCodes.ARROW_DOWN) && !hasModifierKeys(event);
123
+
124
+ const isLeftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowLeft" || event.key === "Left") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, true, false, false);
125
+
126
+ const isRightCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowRight" || event.key === "Right") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, true, false, false);
127
+
128
+ const isUpCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowUp" || event.key === "Up") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, false, false);
129
+
130
+ const isDownCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowDown" || event.key === "Down") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, false, false);
131
+
132
+ const isUpShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowUp" || event.key === "Up") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, false, false, true);
133
+
134
+ const isDownShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowDown" || event.key === "Down") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, false, false, true);
135
+
136
+ const isUpAlt = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowUp" || event.key === "Up") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, false, true, false);
137
+
138
+ const isDownAlt = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowDown" || event.key === "Down") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, false, true, false);
139
+
140
+ const isLeftShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowLeft" || event.key === "Left") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, false, false, true);
141
+
142
+ const isRightShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowRight" || event.key === "Right") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, false, false, true);
143
+
144
+ const isLeftShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowLeft" || event.key === "Left") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, true, false, true);
145
+
146
+ const isRightShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowRight" || event.key === "Right") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, true, false, true);
147
+
148
+ const isUpShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowUp" || event.key === "Up") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, false, true);
149
+
150
+ const isDownShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === "ArrowDown" || event.key === "Down") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, false, true);
151
+
152
+ const isHome = (event: KeyboardEvent): boolean => (event.key ? event.key === "Home" : event.keyCode === KeyCodes.HOME) && !hasModifierKeys(event);
153
+
154
+ const isEnd = (event: KeyboardEvent): boolean => (event.key ? event.key === "End" : event.keyCode === KeyCodes.END) && !hasModifierKeys(event);
155
+
156
+ const isHomeCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === "Home" : event.keyCode === KeyCodes.HOME) && checkModifierKeys(event, true, false, false);
157
+
158
+ const isHomeShift = (event: KeyboardEvent): boolean => (event.key ? event.key === "Home" : event.keyCode === KeyCodes.HOME) && checkModifierKeys(event, false, false, true);
159
+
160
+ const isEndCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === "End" : event.keyCode === KeyCodes.END) && checkModifierKeys(event, true, false, false);
161
+
162
+ const isEndShift = (event: KeyboardEvent): boolean => (event.key ? event.key === "End" : event.keyCode === KeyCodes.END) && checkModifierKeys(event, false, false, true);
163
+
164
+ const isEscape = (event: KeyboardEvent): boolean => (event.key ? event.key === "Escape" || event.key === "Esc" : event.keyCode === KeyCodes.ESCAPE) && !hasModifierKeys(event);
165
+
166
+ const isTabNext = (event: KeyboardEvent): boolean => (event.key ? event.key === "Tab" : event.keyCode === KeyCodes.TAB) && !hasModifierKeys(event);
167
+
168
+ const isTabPrevious = (event: KeyboardEvent): boolean => (event.key ? event.key === "Tab" : event.keyCode === KeyCodes.TAB) && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ false, /* Shift */ true);
169
+
170
+ const isBackSpace = (event: KeyboardEvent): boolean => (event.key ? event.key === "Backspace" : event.keyCode === KeyCodes.BACKSPACE) && !hasModifierKeys(event);
171
+
172
+ const isDelete = (event: KeyboardEvent): boolean => (event.key ? event.key === "Delete" : event.keyCode === KeyCodes.DELETE) && !hasModifierKeys(event);
173
+
174
+ const isDeleteShift = (event: KeyboardEvent): boolean => (event.key ? event.key === "Delete" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, false, false, true);
175
+
176
+ const isInsertShift = (event: KeyboardEvent): boolean => (event.key ? event.key === "Insert" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, false, false, true);
177
+
178
+ const isInsertCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === "Insert" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, true, false, false);
179
+
180
+ const isPageUp = (event: KeyboardEvent): boolean => (event.key ? event.key === "PageUp" : event.keyCode === KeyCodes.PAGE_UP) && !hasModifierKeys(event);
181
+
182
+ const isPageDown = (event: KeyboardEvent): boolean => (event.key ? event.key === "PageDown" : event.keyCode === KeyCodes.PAGE_DOWN) && !hasModifierKeys(event);
183
+
184
+ const isPageUpShift = (event: KeyboardEvent): boolean => (event.key ? event.key === "PageUp" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, false, false, true);
185
+
186
+ const isPageUpAlt = (event: KeyboardEvent): boolean => (event.key ? event.key === "PageUp" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, false, true, false);
187
+
188
+ const isPageDownShift = (event: KeyboardEvent): boolean => (event.key ? event.key === "PageDown" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, false, false, true);
189
+
190
+ const isPageDownAlt = (event: KeyboardEvent): boolean => (event.key ? event.key === "PageDown" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, false, true, false);
191
+
192
+ const isPageUpShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === "PageUp" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, true, false, true);
193
+
194
+ const isPageDownShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === "PageDown" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, true, false, true);
195
+
196
+ const isPlus = (event: KeyboardEvent): boolean => (event.key ? event.key === "+" : event.keyCode === KeyCodes.PLUS) || (event.keyCode === KeyCodes.NUMPAD_PLUS && !hasModifierKeys(event));
197
+
198
+ const isMinus = (event: KeyboardEvent): boolean => (event.key ? event.key === "-" : event.keyCode === KeyCodes.MINUS) || (event.keyCode === KeyCodes.NUMPAD_MINUS && !hasModifierKeys(event));
199
+
200
+ const isShow = (event: KeyboardEvent): boolean => {
201
+ if (event.key) {
202
+ return isF4(event) || isShowByArrows(event);
203
+ }
204
+
205
+ return (event.keyCode === KeyCodes.F4 && !hasModifierKeys(event)) || (event.keyCode === KeyCodes.ARROW_DOWN && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ true, /* Shift */ false));
206
+ };
207
+
208
+ const isF4 = (event: KeyboardEvent): boolean => {
209
+ return event.key === "F4" && !hasModifierKeys(event);
210
+ };
211
+
212
+ const isF4Shift = (event: KeyboardEvent): boolean => (event.key ? event.key === "F4" : event.keyCode === KeyCodes.F4) && checkModifierKeys(event, false, false, true);
213
+
214
+ const isF6Next = (event: KeyboardEvent): boolean => ((event.key ? event.key === "F6" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, false))
215
+ || ((event.key ? (event.key === "ArrowDown" || event.key === "Down") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, true, false));
216
+
217
+ const isF6Previous = (event: KeyboardEvent): boolean => ((event.key ? event.key === "F6" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, true))
218
+ || ((event.key ? (event.key === "ArrowUp" || event.key === "Up") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, true, false));
219
+
220
+ const isF7 = (event: KeyboardEvent): boolean => (event.key ? event.key === "F7" : event.keyCode === KeyCodes.F7) && !hasModifierKeys(event);
221
+
222
+ const isShowByArrows = (event: KeyboardEvent): boolean => {
223
+ return ((event.key === "ArrowDown" || event.key === "Down") || (event.key === "ArrowUp" || event.key === "Up")) && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ true, /* Shift */ false);
224
+ };
225
+
226
+ const isShift = (event: KeyboardEvent): boolean => event.key === "Shift" || event.keyCode === KeyCodes.SHIFT;
227
+
228
+ const isCtrlA = (event: KeyboardEvent): boolean => ((event.key === "A" || event.key === "a") || event.which === KeyCodes.A) && checkModifierKeys(event, true, false, false);
229
+
230
+ const isCtrlV = (event: KeyboardEvent): boolean => ((event.key === "V" || event.key === "v") || event.which === KeyCodes.V) && checkModifierKeys(event, true, false, false);
231
+
232
+ const hasModifierKeys = (event: KeyboardEvent): boolean => event.shiftKey || event.altKey || getCtrlKey(event);
233
+
234
+ const getCtrlKey = (event: KeyboardEvent): boolean => !!(event.metaKey || event.ctrlKey); // double negation doesn't have effect on boolean but ensures null and undefined are equivalent to false.
235
+
236
+ const checkModifierKeys = (event: KeyboardEvent, bCtrlKey: boolean, bAltKey: boolean, bShiftKey: boolean):boolean => event.shiftKey === bShiftKey && event.altKey === bAltKey && getCtrlKey(event) === bCtrlKey;
237
+
238
+ export {
239
+ isEnter,
240
+ isEnterShift,
241
+ isSpace,
242
+ isSpaceShift,
243
+ isSpaceCtrl,
244
+ isLeft,
245
+ isRight,
246
+ isUp,
247
+ isDown,
248
+ isLeftCtrl,
249
+ isRightCtrl,
250
+ isUpCtrl,
251
+ isDownCtrl,
252
+ isUpShift,
253
+ isDownShift,
254
+ isUpAlt,
255
+ isDownAlt,
256
+ isLeftShift,
257
+ isRightShift,
258
+ isLeftShiftCtrl,
259
+ isRightShiftCtrl,
260
+ isUpShiftCtrl,
261
+ isDownShiftCtrl,
262
+ isHome,
263
+ isEnd,
264
+ isPlus,
265
+ isMinus,
266
+ isHomeCtrl,
267
+ isEndCtrl,
268
+ isHomeShift,
269
+ isEndShift,
270
+ isEscape,
271
+ isTabNext,
272
+ isTabPrevious,
273
+ isBackSpace,
274
+ isDelete,
275
+ isShow,
276
+ isF4,
277
+ isF4Shift,
278
+ isF6Previous,
279
+ isF6Next,
280
+ isF7,
281
+ isPageUp,
282
+ isPageDown,
283
+ isPageUpShift,
284
+ isPageUpAlt,
285
+ isPageDownShift,
286
+ isPageDownAlt,
287
+ isPageUpShiftCtrl,
288
+ isPageDownShiftCtrl,
289
+ isShift,
290
+ isCtrlA,
291
+ isCtrlV,
292
+ isDeleteShift,
293
+ isInsertShift,
294
+ isInsertCtrl,
295
+ };