@ui5/webcomponents-base 2.0.0-rc.3 → 2.0.0-rc.5

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 (364) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +1 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Boot.js +1 -1
  5. package/dist/Boot.js.map +1 -1
  6. package/dist/Keys.d.ts +2 -1
  7. package/dist/Keys.js +2 -1
  8. package/dist/Keys.js.map +1 -1
  9. package/dist/UI5Element.d.ts +9 -1
  10. package/dist/UI5Element.js +73 -12
  11. package/dist/UI5Element.js.map +1 -1
  12. package/dist/UI5ElementMetadata.d.ts +5 -0
  13. package/dist/UI5ElementMetadata.js +6 -0
  14. package/dist/UI5ElementMetadata.js.map +1 -1
  15. package/dist/config/AnimationMode.js +2 -1
  16. package/dist/config/AnimationMode.js.map +1 -1
  17. package/dist/custom-elements-internal.json +6 -15
  18. package/dist/custom-elements.json +6 -15
  19. package/dist/decorators/customElement.d.ts +1 -0
  20. package/dist/decorators/customElement.js +5 -2
  21. package/dist/decorators/customElement.js.map +1 -1
  22. package/dist/features/InputElementsFormSupport.d.ts +18 -0
  23. package/dist/features/InputElementsFormSupport.js +40 -0
  24. package/dist/features/InputElementsFormSupport.js.map +1 -0
  25. package/dist/generated/VersionInfo.js +3 -3
  26. package/dist/generated/VersionInfo.js.map +1 -1
  27. package/dist/prod/AssetRegistry.js +2 -0
  28. package/dist/prod/AssetRegistry.js.map +7 -0
  29. package/dist/prod/Boot.js +2 -0
  30. package/dist/prod/Boot.js.map +7 -0
  31. package/dist/prod/CustomElementsRegistry.js +10 -0
  32. package/dist/prod/CustomElementsRegistry.js.map +7 -0
  33. package/dist/prod/CustomElementsScope.js +2 -0
  34. package/dist/prod/CustomElementsScope.js.map +7 -0
  35. package/dist/prod/CustomElementsScopeUtils.js +2 -0
  36. package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
  37. package/dist/prod/DOMObserver.js +2 -0
  38. package/dist/prod/DOMObserver.js.map +7 -0
  39. package/dist/prod/Device.js +2 -0
  40. package/dist/prod/Device.js.map +7 -0
  41. package/dist/prod/EventProvider.js +2 -0
  42. package/dist/prod/EventProvider.js.map +7 -0
  43. package/dist/prod/FeaturesRegistry.js +2 -0
  44. package/dist/prod/FeaturesRegistry.js.map +7 -0
  45. package/dist/prod/FontFace.js +2 -0
  46. package/dist/prod/FontFace.js.map +7 -0
  47. package/dist/prod/IgnoreCustomElements.js +2 -0
  48. package/dist/prod/IgnoreCustomElements.js.map +7 -0
  49. package/dist/prod/InitialConfiguration.js +2 -0
  50. package/dist/prod/InitialConfiguration.js.map +7 -0
  51. package/dist/prod/Keys.js +2 -0
  52. package/dist/prod/Keys.js.map +7 -0
  53. package/dist/prod/ManagedStyles.js +2 -0
  54. package/dist/prod/ManagedStyles.js.map +7 -0
  55. package/dist/prod/MarkedEvents.js +2 -0
  56. package/dist/prod/MarkedEvents.js.map +7 -0
  57. package/dist/prod/MediaRange.js +2 -0
  58. package/dist/prod/MediaRange.js.map +7 -0
  59. package/dist/prod/PropertiesFileFormat.js +3 -0
  60. package/dist/prod/PropertiesFileFormat.js.map +7 -0
  61. package/dist/prod/Render.js +2 -0
  62. package/dist/prod/Render.js.map +7 -0
  63. package/dist/prod/RenderQueue.js +2 -0
  64. package/dist/prod/RenderQueue.js.map +7 -0
  65. package/dist/prod/Runtimes.js +2 -0
  66. package/dist/prod/Runtimes.js.map +7 -0
  67. package/dist/prod/SystemCSSVars.js +2 -0
  68. package/dist/prod/SystemCSSVars.js.map +7 -0
  69. package/dist/prod/Theming.js +2 -0
  70. package/dist/prod/Theming.js.map +7 -0
  71. package/dist/prod/UI5Element.js +2 -0
  72. package/dist/prod/UI5Element.js.map +7 -0
  73. package/dist/prod/UI5ElementMetadata.js +2 -0
  74. package/dist/prod/UI5ElementMetadata.js.map +7 -0
  75. package/dist/prod/animations/AnimationQueue.js +2 -0
  76. package/dist/prod/animations/AnimationQueue.js.map +7 -0
  77. package/dist/prod/animations/animate.js +2 -0
  78. package/dist/prod/animations/animate.js.map +7 -0
  79. package/dist/prod/animations/scroll.js +2 -0
  80. package/dist/prod/animations/scroll.js.map +7 -0
  81. package/dist/prod/animations/slideDown.js +2 -0
  82. package/dist/prod/animations/slideDown.js.map +7 -0
  83. package/dist/prod/animations/slideUp.js +2 -0
  84. package/dist/prod/animations/slideUp.js.map +7 -0
  85. package/dist/prod/asset-registries/Icons.js +2 -0
  86. package/dist/prod/asset-registries/Icons.js.map +7 -0
  87. package/dist/prod/asset-registries/Illustrations.js +2 -0
  88. package/dist/prod/asset-registries/Illustrations.js.map +7 -0
  89. package/dist/prod/asset-registries/LocaleData.js +2 -0
  90. package/dist/prod/asset-registries/LocaleData.js.map +7 -0
  91. package/dist/prod/asset-registries/Themes.js +2 -0
  92. package/dist/prod/asset-registries/Themes.js.map +7 -0
  93. package/dist/prod/asset-registries/i18n.js +2 -0
  94. package/dist/prod/asset-registries/i18n.js.map +7 -0
  95. package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
  96. package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
  97. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
  98. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
  99. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
  100. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
  101. package/dist/prod/config/AnimationMode.js +2 -0
  102. package/dist/prod/config/AnimationMode.js.map +7 -0
  103. package/dist/prod/config/CalendarType.js +2 -0
  104. package/dist/prod/config/CalendarType.js.map +7 -0
  105. package/dist/prod/config/FormatSettings.js +2 -0
  106. package/dist/prod/config/FormatSettings.js.map +7 -0
  107. package/dist/prod/config/Icons.js +2 -0
  108. package/dist/prod/config/Icons.js.map +7 -0
  109. package/dist/prod/config/Language.js +2 -0
  110. package/dist/prod/config/Language.js.map +7 -0
  111. package/dist/prod/config/NoConflict.js +2 -0
  112. package/dist/prod/config/NoConflict.js.map +7 -0
  113. package/dist/prod/config/Theme.js +2 -0
  114. package/dist/prod/config/Theme.js.map +7 -0
  115. package/dist/prod/config/ThemeRoot.js +2 -0
  116. package/dist/prod/config/ThemeRoot.js.map +7 -0
  117. package/dist/prod/config/Timezone.js +2 -0
  118. package/dist/prod/config/Timezone.js.map +7 -0
  119. package/dist/prod/connectToComponent.js +2 -0
  120. package/dist/prod/connectToComponent.js.map +7 -0
  121. package/dist/prod/decorators/customElement.js +2 -0
  122. package/dist/prod/decorators/customElement.js.map +7 -0
  123. package/dist/prod/decorators/event.js +2 -0
  124. package/dist/prod/decorators/event.js.map +7 -0
  125. package/dist/prod/decorators/property.js +2 -0
  126. package/dist/prod/decorators/property.js.map +7 -0
  127. package/dist/prod/decorators/slot.js +2 -0
  128. package/dist/prod/decorators/slot.js.map +7 -0
  129. package/dist/prod/decorators.js +2 -0
  130. package/dist/prod/decorators.js.map +7 -0
  131. package/dist/prod/delegate/ItemNavigation.js +2 -0
  132. package/dist/prod/delegate/ItemNavigation.js.map +7 -0
  133. package/dist/prod/delegate/ResizeHandler.js +2 -0
  134. package/dist/prod/delegate/ResizeHandler.js.map +7 -0
  135. package/dist/prod/delegate/ScrollEnablement.js +2 -0
  136. package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
  137. package/dist/prod/features/F6Navigation.js +2 -0
  138. package/dist/prod/features/F6Navigation.js.map +7 -0
  139. package/dist/prod/features/InputElementsFormSupport.js +2 -0
  140. package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
  141. package/dist/prod/features/LegacyDateFormats.js +2 -0
  142. package/dist/prod/features/LegacyDateFormats.js.map +7 -0
  143. package/dist/prod/features/OpenUI5Element.js +2 -0
  144. package/dist/prod/features/OpenUI5Element.js.map +7 -0
  145. package/dist/prod/features/OpenUI5Enablement.js +21 -0
  146. package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
  147. package/dist/prod/features/OpenUI5Support.js +2 -0
  148. package/dist/prod/features/OpenUI5Support.js.map +7 -0
  149. package/dist/prod/features/patchPatcher.js +2 -0
  150. package/dist/prod/features/patchPatcher.js.map +7 -0
  151. package/dist/prod/features/patchPopup.js +2 -0
  152. package/dist/prod/features/patchPopup.js.map +7 -0
  153. package/dist/prod/generated/AssetParameters.js +2 -0
  154. package/dist/prod/generated/AssetParameters.js.map +7 -0
  155. package/dist/prod/generated/VersionInfo.js +2 -0
  156. package/dist/prod/generated/VersionInfo.js.map +7 -0
  157. package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
  158. package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
  159. package/dist/prod/generated/css/FontFace.css.js +2 -0
  160. package/dist/prod/generated/css/FontFace.css.js.map +7 -0
  161. package/dist/prod/generated/css/OverrideFontFace.css.js +2 -0
  162. package/dist/prod/generated/css/OverrideFontFace.css.js.map +7 -0
  163. package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
  164. package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
  165. package/dist/prod/generated/templates/elements/WithComplexTemplateTemplate.lit.js +2 -0
  166. package/dist/prod/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +7 -0
  167. package/dist/prod/getSharedResource.js +2 -0
  168. package/dist/prod/getSharedResource.js.map +7 -0
  169. package/dist/prod/global.d.js +2 -0
  170. package/dist/prod/global.d.js.map +7 -0
  171. package/dist/prod/i18nBundle.js +2 -0
  172. package/dist/prod/i18nBundle.js.map +7 -0
  173. package/dist/prod/locale/Locale.js +2 -0
  174. package/dist/prod/locale/Locale.js.map +7 -0
  175. package/dist/prod/locale/RTLAwareRegistry.js +2 -0
  176. package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
  177. package/dist/prod/locale/applyDirection.js +2 -0
  178. package/dist/prod/locale/applyDirection.js.map +7 -0
  179. package/dist/prod/locale/directionChange.js +2 -0
  180. package/dist/prod/locale/directionChange.js.map +7 -0
  181. package/dist/prod/locale/getEffectiveDir.js +2 -0
  182. package/dist/prod/locale/getEffectiveDir.js.map +7 -0
  183. package/dist/prod/locale/getLocale.js +2 -0
  184. package/dist/prod/locale/getLocale.js.map +7 -0
  185. package/dist/prod/locale/languageChange.js +2 -0
  186. package/dist/prod/locale/languageChange.js.map +7 -0
  187. package/dist/prod/locale/nextFallbackLocale.js +2 -0
  188. package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
  189. package/dist/prod/locale/normalizeLocale.js +2 -0
  190. package/dist/prod/locale/normalizeLocale.js.map +7 -0
  191. package/dist/prod/renderer/LitRenderer.js +2 -0
  192. package/dist/prod/renderer/LitRenderer.js.map +7 -0
  193. package/dist/prod/renderer/directives/style-map.js +6 -0
  194. package/dist/prod/renderer/directives/style-map.js.map +7 -0
  195. package/dist/prod/renderer/executeTemplate.js +2 -0
  196. package/dist/prod/renderer/executeTemplate.js.map +7 -0
  197. package/dist/prod/sap/base/Log.js +750 -0
  198. package/dist/prod/sap/base/assert.js +34 -0
  199. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
  200. package/dist/prod/sap/base/security/URLListValidator.js +406 -0
  201. package/dist/prod/sap/base/security/encodeCSS.js +40 -0
  202. package/dist/prod/sap/base/security/encodeXML.js +53 -0
  203. package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
  204. package/dist/prod/sap/base/strings/toHex.js +33 -0
  205. package/dist/prod/sap/base/util/now.js +28 -0
  206. package/dist/prod/sap/base/util/uid.js +27 -0
  207. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  208. package/dist/prod/ssr-dom-shim.js +2 -0
  209. package/dist/prod/ssr-dom-shim.js.map +7 -0
  210. package/dist/prod/ssr-dom.js +2 -0
  211. package/dist/prod/ssr-dom.js.map +7 -0
  212. package/dist/prod/theming/CustomStyle.js +2 -0
  213. package/dist/prod/theming/CustomStyle.js.map +7 -0
  214. package/dist/prod/theming/ThemeLoaded.js +2 -0
  215. package/dist/prod/theming/ThemeLoaded.js.map +7 -0
  216. package/dist/prod/theming/ThemeRegistered.js +2 -0
  217. package/dist/prod/theming/ThemeRegistered.js.map +7 -0
  218. package/dist/prod/theming/applyTheme.js +2 -0
  219. package/dist/prod/theming/applyTheme.js.map +7 -0
  220. package/dist/prod/theming/getConstructableStyle.js +2 -0
  221. package/dist/prod/theming/getConstructableStyle.js.map +7 -0
  222. package/dist/prod/theming/getEffectiveStyle.js +2 -0
  223. package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
  224. package/dist/prod/theming/getStylesString.js +2 -0
  225. package/dist/prod/theming/getStylesString.js.map +7 -0
  226. package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
  227. package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
  228. package/dist/prod/thirdparty/_merge.js +2 -0
  229. package/dist/prod/thirdparty/_merge.js.map +7 -0
  230. package/dist/prod/thirdparty/isPlainObject.js +2 -0
  231. package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
  232. package/dist/prod/thirdparty/merge.js +2 -0
  233. package/dist/prod/thirdparty/merge.js.map +7 -0
  234. package/dist/prod/types/AnimationMode.js +2 -0
  235. package/dist/prod/types/AnimationMode.js.map +7 -0
  236. package/dist/prod/types/AriaHasPopup.js +2 -0
  237. package/dist/prod/types/AriaHasPopup.js.map +7 -0
  238. package/dist/prod/types/AriaLandmarkRole.js +2 -0
  239. package/dist/prod/types/AriaLandmarkRole.js.map +7 -0
  240. package/dist/prod/types/AriaRole.js +2 -0
  241. package/dist/prod/types/AriaRole.js.map +7 -0
  242. package/dist/prod/types/CSSColor.js +2 -0
  243. package/dist/prod/types/CSSColor.js.map +7 -0
  244. package/dist/prod/types/CSSSize.js +2 -0
  245. package/dist/prod/types/CSSSize.js.map +7 -0
  246. package/dist/prod/types/CalendarType.js +2 -0
  247. package/dist/prod/types/CalendarType.js.map +7 -0
  248. package/dist/prod/types/DOMReference.js +2 -0
  249. package/dist/prod/types/DOMReference.js.map +7 -0
  250. package/dist/prod/types/DataType.js +2 -0
  251. package/dist/prod/types/DataType.js.map +7 -0
  252. package/dist/prod/types/Float.js +2 -0
  253. package/dist/prod/types/Float.js.map +7 -0
  254. package/dist/prod/types/Integer.js +2 -0
  255. package/dist/prod/types/Integer.js.map +7 -0
  256. package/dist/prod/types/InvisibleMessageMode.js +2 -0
  257. package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
  258. package/dist/prod/types/ItemNavigationBehavior.js +2 -0
  259. package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
  260. package/dist/prod/types/MovePlacement.js +2 -0
  261. package/dist/prod/types/MovePlacement.js.map +7 -0
  262. package/dist/prod/types/NavigationMode.js +2 -0
  263. package/dist/prod/types/NavigationMode.js.map +7 -0
  264. package/dist/prod/types/Orientation.js +2 -0
  265. package/dist/prod/types/Orientation.js.map +7 -0
  266. package/dist/prod/types/ValueState.js +2 -0
  267. package/dist/prod/types/ValueState.js.map +7 -0
  268. package/dist/prod/types.js +2 -0
  269. package/dist/prod/types.js.map +7 -0
  270. package/dist/prod/updateShadowRoot.js +2 -0
  271. package/dist/prod/updateShadowRoot.js.map +7 -0
  272. package/dist/prod/util/AriaLabelHelper.js +2 -0
  273. package/dist/prod/util/AriaLabelHelper.js.map +7 -0
  274. package/dist/prod/util/Caret.js +2 -0
  275. package/dist/prod/util/Caret.js.map +7 -0
  276. package/dist/prod/util/ColorConversion.js +2 -0
  277. package/dist/prod/util/ColorConversion.js.map +7 -0
  278. package/dist/prod/util/FetchHelper.js +2 -0
  279. package/dist/prod/util/FetchHelper.js.map +7 -0
  280. package/dist/prod/util/FocusableElements.js +2 -0
  281. package/dist/prod/util/FocusableElements.js.map +7 -0
  282. package/dist/prod/util/HTMLSanitizer.js +2 -0
  283. package/dist/prod/util/HTMLSanitizer.js.map +7 -0
  284. package/dist/prod/util/InvisibleMessage.js +2 -0
  285. package/dist/prod/util/InvisibleMessage.js.map +7 -0
  286. package/dist/prod/util/PopupUtils.js +2 -0
  287. package/dist/prod/util/PopupUtils.js.map +7 -0
  288. package/dist/prod/util/SlotsHelper.js +2 -0
  289. package/dist/prod/util/SlotsHelper.js.map +7 -0
  290. package/dist/prod/util/StringHelper.js +2 -0
  291. package/dist/prod/util/StringHelper.js.map +7 -0
  292. package/dist/prod/util/TabbableElements.js +2 -0
  293. package/dist/prod/util/TabbableElements.js.map +7 -0
  294. package/dist/prod/util/arraysAreEqual.js +2 -0
  295. package/dist/prod/util/arraysAreEqual.js.map +7 -0
  296. package/dist/prod/util/clamp.js +2 -0
  297. package/dist/prod/util/clamp.js.map +7 -0
  298. package/dist/prod/util/createLinkInHead.js +2 -0
  299. package/dist/prod/util/createLinkInHead.js.map +7 -0
  300. package/dist/prod/util/debounce.js +2 -0
  301. package/dist/prod/util/debounce.js.map +7 -0
  302. package/dist/prod/util/detectNavigatorLanguage.js +2 -0
  303. package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
  304. package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
  305. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
  306. package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
  307. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
  308. package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
  309. package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
  310. package/dist/prod/util/escapeRegex.js +2 -0
  311. package/dist/prod/util/escapeRegex.js.map +7 -0
  312. package/dist/prod/util/formatMessage.js +2 -0
  313. package/dist/prod/util/formatMessage.js.map +7 -0
  314. package/dist/prod/util/generateHighlightedMarkup.js +2 -0
  315. package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
  316. package/dist/prod/util/getActiveElement.js +2 -0
  317. package/dist/prod/util/getActiveElement.js.map +7 -0
  318. package/dist/prod/util/getClassCopy.js +2 -0
  319. package/dist/prod/util/getClassCopy.js.map +7 -0
  320. package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
  321. package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
  322. package/dist/prod/util/getEffectiveContentDensity.js +2 -0
  323. package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
  324. package/dist/prod/util/getEffectiveScrollbarStyle.js +2 -0
  325. package/dist/prod/util/getEffectiveScrollbarStyle.js.map +7 -0
  326. package/dist/prod/util/getFastNavigationGroups.js +2 -0
  327. package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
  328. package/dist/prod/util/getFileExtension.js +2 -0
  329. package/dist/prod/util/getFileExtension.js.map +7 -0
  330. package/dist/prod/util/getNormalizedTarget.js +2 -0
  331. package/dist/prod/util/getNormalizedTarget.js.map +7 -0
  332. package/dist/prod/util/getParentElement.js +2 -0
  333. package/dist/prod/util/getParentElement.js.map +7 -0
  334. package/dist/prod/util/getSingletonElementInstance.js +2 -0
  335. package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
  336. package/dist/prod/util/isElementClickable.js +2 -0
  337. package/dist/prod/util/isElementClickable.js.map +7 -0
  338. package/dist/prod/util/isElementContainingBlock.js +2 -0
  339. package/dist/prod/util/isElementContainingBlock.js.map +7 -0
  340. package/dist/prod/util/isElementHidden.js +2 -0
  341. package/dist/prod/util/isElementHidden.js.map +7 -0
  342. package/dist/prod/util/isElementInView.js +2 -0
  343. package/dist/prod/util/isElementInView.js.map +7 -0
  344. package/dist/prod/util/isElementTabbable.js +2 -0
  345. package/dist/prod/util/isElementTabbable.js.map +7 -0
  346. package/dist/prod/util/isValidPropertyName.js +2 -0
  347. package/dist/prod/util/isValidPropertyName.js.map +7 -0
  348. package/dist/prod/util/whenDOMReady.js +2 -0
  349. package/dist/prod/util/whenDOMReady.js.map +7 -0
  350. package/dist/prod/util/willShowContent.js +2 -0
  351. package/dist/prod/util/willShowContent.js.map +7 -0
  352. package/dist/prod/validateThemeRoot.js +2 -0
  353. package/dist/prod/validateThemeRoot.js.map +7 -0
  354. package/dist/renderer/executeTemplate.d.ts +8 -0
  355. package/dist/renderer/executeTemplate.js +1 -0
  356. package/dist/renderer/executeTemplate.js.map +1 -1
  357. package/dist/util/InvisibleMessage.js +2 -2
  358. package/dist/util/InvisibleMessage.js.map +1 -1
  359. package/dist/util/getClassCopy.d.ts +9 -1
  360. package/package-scripts.cjs +5 -0
  361. package/package.json +11 -5
  362. package/dist/StaticArea.d.ts +0 -3
  363. package/dist/StaticArea.js +0 -7
  364. package/dist/StaticArea.js.map +0 -1
package/dist/Boot.js CHANGED
@@ -31,12 +31,12 @@ const boot = async () => {
31
31
  return bootPromise;
32
32
  }
33
33
  const bootExecutor = async (resolve) => {
34
+ registerCurrentRuntime();
34
35
  if (typeof document === "undefined") {
35
36
  resolve();
36
37
  return;
37
38
  }
38
39
  attachThemeRegistered(onThemeRegistered);
39
- registerCurrentRuntime();
40
40
  const openUI5Support = getFeature("OpenUI5Support");
41
41
  const isOpenUI5Loaded = openUI5Support ? openUI5Support.isOpenUI5Detected() : false;
42
42
  const f6Navigation = getFeature("F6Navigation");
package/dist/Boot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Boot.js","sourceRoot":"","sources":["../src/Boot.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,cAAc,MAAM,eAAe,CAAC;AAC3C,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,IAAI,WAA0B,CAAC;AAC/B,MAAM,aAAa,GAAG,IAAI,aAAa,EAAc,CAAC;AAEtD,MAAM,QAAQ,GAAG,GAAY,EAAE;IAC9B,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAE,EAAE;IAC3C,IAAI,CAAC,MAAM,EAAE;QACZ,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO;KACP;IAED,QAAQ,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACtC,IAAI,WAAW,KAAK,SAAS,EAAE;QAC9B,OAAO,WAAW,CAAC;KACnB;IAED,MAAM,YAAY,GAAG,KAAK,EAAE,OAAuB,EAAE,EAAE;QACtD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACpC,OAAO,EAAE,CAAC;YACV,OAAO;SACP;QAED,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAEzC,sBAAsB,EAAE,CAAC;QAEzB,MAAM,cAAc,GAAG,UAAU,CAAwB,gBAAgB,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpF,MAAM,YAAY,GAAG,UAAU,CAAsB,cAAc,CAAC,CAAC;QAErE,IAAI,cAAc,EAAE;YACnB,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;SAC5B;QAED,IAAI,YAAY,IAAI,CAAC,eAAe,EAAE;YACrC,YAAY,CAAC,IAAI,EAAE,CAAC;SACpB;QAED,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7B,cAAc,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;QACnD,cAAc,EAAE,CAAC;QACjB,mBAAmB,EAAE,CAAC;QAEtB,OAAO,EAAE,CAAC;QAEV,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,WAAW,GAAG,IAAI,OAAO,CAAC,YAAiD,CAAC,CAAC;IAC7E,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,IAAI,MAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,EAAE,EAAE,qDAAqD;QAC1F,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;KACvB;AACF,CAAC,CAAC;AAEF,OAAO,EACN,IAAI,EACJ,UAAU,EACV,QAAQ,GACR,CAAC","sourcesContent":["import whenDOMReady from \"./util/whenDOMReady.js\";\nimport EventProvider from \"./EventProvider.js\";\nimport insertFontFace from \"./FontFace.js\";\nimport insertSystemCSSVars from \"./SystemCSSVars.js\";\nimport { getTheme } from \"./config/Theme.js\";\nimport applyTheme from \"./theming/applyTheme.js\";\nimport { registerCurrentRuntime } from \"./Runtimes.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\nimport type F6Navigation from \"./features/F6Navigation.js\";\nimport { PromiseResolve } from \"./types.js\";\nimport { attachThemeRegistered } from \"./theming/ThemeRegistered.js\";\n\nlet booted = false;\nlet bootPromise: Promise<void>;\nconst eventProvider = new EventProvider<void, void>();\n\nconst isBooted = (): boolean => {\n\treturn booted;\n};\n\n/**\n * Attaches a callback that will be executed after boot finishes.\n * **Note:** If the framework already booted, the callback will be immediately executed.\n * @public\n * @param { Function } listener\n */\nconst attachBoot = (listener: () => void) => {\n\tif (!booted) {\n\t\teventProvider.attachEvent(\"boot\", listener);\n\t\treturn;\n\t}\n\n\tlistener();\n};\n\nconst boot = async (): Promise<void> => {\n\tif (bootPromise !== undefined) {\n\t\treturn bootPromise;\n\t}\n\n\tconst bootExecutor = async (resolve: PromiseResolve) => {\n\t\tif (typeof document === \"undefined\") {\n\t\t\tresolve();\n\t\t\treturn;\n\t\t}\n\n\t\tattachThemeRegistered(onThemeRegistered);\n\n\t\tregisterCurrentRuntime();\n\n\t\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\t\tconst isOpenUI5Loaded = openUI5Support ? openUI5Support.isOpenUI5Detected() : false;\n\t\tconst f6Navigation = getFeature<typeof F6Navigation>(\"F6Navigation\");\n\n\t\tif (openUI5Support) {\n\t\t\tawait openUI5Support.init();\n\t\t}\n\n\t\tif (f6Navigation && !isOpenUI5Loaded) {\n\t\t\tf6Navigation.init();\n\t\t}\n\n\t\tawait whenDOMReady();\n\t\tawait applyTheme(getTheme());\n\t\topenUI5Support && openUI5Support.attachListeners();\n\t\tinsertFontFace();\n\t\tinsertSystemCSSVars();\n\n\t\tresolve();\n\n\t\tbooted = true;\n\t\tawait eventProvider.fireEventAsync(\"boot\");\n\t};\n\n\tbootPromise = new Promise(bootExecutor as (resolve: PromiseResolve) => void);\n\treturn bootPromise;\n};\n\n/**\n * Callback, executed after theme properties registration\n * to apply the newly registered theme.\n * @private\n * @param { string } theme\n */\nconst onThemeRegistered = (theme: string) => {\n\tif (booted && theme === getTheme()) { // getTheme should only be called if \"booted\" is true\n\t\tapplyTheme(getTheme());\n\t}\n};\n\nexport {\n\tboot,\n\tattachBoot,\n\tisBooted,\n};\n"]}
1
+ {"version":3,"file":"Boot.js","sourceRoot":"","sources":["../src/Boot.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,cAAc,MAAM,eAAe,CAAC;AAC3C,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,IAAI,WAA0B,CAAC;AAC/B,MAAM,aAAa,GAAG,IAAI,aAAa,EAAc,CAAC;AAEtD,MAAM,QAAQ,GAAG,GAAY,EAAE;IAC9B,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAE,EAAE;IAC3C,IAAI,CAAC,MAAM,EAAE;QACZ,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO;KACP;IAED,QAAQ,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACtC,IAAI,WAAW,KAAK,SAAS,EAAE;QAC9B,OAAO,WAAW,CAAC;KACnB;IAED,MAAM,YAAY,GAAG,KAAK,EAAE,OAAuB,EAAE,EAAE;QACtD,sBAAsB,EAAE,CAAC;QAEzB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACpC,OAAO,EAAE,CAAC;YACV,OAAO;SACP;QAED,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAEzC,MAAM,cAAc,GAAG,UAAU,CAAwB,gBAAgB,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpF,MAAM,YAAY,GAAG,UAAU,CAAsB,cAAc,CAAC,CAAC;QAErE,IAAI,cAAc,EAAE;YACnB,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;SAC5B;QAED,IAAI,YAAY,IAAI,CAAC,eAAe,EAAE;YACrC,YAAY,CAAC,IAAI,EAAE,CAAC;SACpB;QAED,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7B,cAAc,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;QACnD,cAAc,EAAE,CAAC;QACjB,mBAAmB,EAAE,CAAC;QAEtB,OAAO,EAAE,CAAC;QAEV,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,WAAW,GAAG,IAAI,OAAO,CAAC,YAAiD,CAAC,CAAC;IAC7E,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,IAAI,MAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,EAAE,EAAE,qDAAqD;QAC1F,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;KACvB;AACF,CAAC,CAAC;AAEF,OAAO,EACN,IAAI,EACJ,UAAU,EACV,QAAQ,GACR,CAAC","sourcesContent":["import whenDOMReady from \"./util/whenDOMReady.js\";\nimport EventProvider from \"./EventProvider.js\";\nimport insertFontFace from \"./FontFace.js\";\nimport insertSystemCSSVars from \"./SystemCSSVars.js\";\nimport { getTheme } from \"./config/Theme.js\";\nimport applyTheme from \"./theming/applyTheme.js\";\nimport { registerCurrentRuntime } from \"./Runtimes.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\nimport type F6Navigation from \"./features/F6Navigation.js\";\nimport { PromiseResolve } from \"./types.js\";\nimport { attachThemeRegistered } from \"./theming/ThemeRegistered.js\";\n\nlet booted = false;\nlet bootPromise: Promise<void>;\nconst eventProvider = new EventProvider<void, void>();\n\nconst isBooted = (): boolean => {\n\treturn booted;\n};\n\n/**\n * Attaches a callback that will be executed after boot finishes.\n * **Note:** If the framework already booted, the callback will be immediately executed.\n * @public\n * @param { Function } listener\n */\nconst attachBoot = (listener: () => void) => {\n\tif (!booted) {\n\t\teventProvider.attachEvent(\"boot\", listener);\n\t\treturn;\n\t}\n\n\tlistener();\n};\n\nconst boot = async (): Promise<void> => {\n\tif (bootPromise !== undefined) {\n\t\treturn bootPromise;\n\t}\n\n\tconst bootExecutor = async (resolve: PromiseResolve) => {\n\t\tregisterCurrentRuntime();\n\n\t\tif (typeof document === \"undefined\") {\n\t\t\tresolve();\n\t\t\treturn;\n\t\t}\n\n\t\tattachThemeRegistered(onThemeRegistered);\n\n\t\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\t\tconst isOpenUI5Loaded = openUI5Support ? openUI5Support.isOpenUI5Detected() : false;\n\t\tconst f6Navigation = getFeature<typeof F6Navigation>(\"F6Navigation\");\n\n\t\tif (openUI5Support) {\n\t\t\tawait openUI5Support.init();\n\t\t}\n\n\t\tif (f6Navigation && !isOpenUI5Loaded) {\n\t\t\tf6Navigation.init();\n\t\t}\n\n\t\tawait whenDOMReady();\n\t\tawait applyTheme(getTheme());\n\t\topenUI5Support && openUI5Support.attachListeners();\n\t\tinsertFontFace();\n\t\tinsertSystemCSSVars();\n\n\t\tresolve();\n\n\t\tbooted = true;\n\t\tawait eventProvider.fireEventAsync(\"boot\");\n\t};\n\n\tbootPromise = new Promise(bootExecutor as (resolve: PromiseResolve) => void);\n\treturn bootPromise;\n};\n\n/**\n * Callback, executed after theme properties registration\n * to apply the newly registered theme.\n * @private\n * @param { string } theme\n */\nconst onThemeRegistered = (theme: string) => {\n\tif (booted && theme === getTheme()) { // getTheme should only be called if \"booted\" is true\n\t\tapplyTheme(getTheme());\n\t}\n};\n\nexport {\n\tboot,\n\tattachBoot,\n\tisBooted,\n};\n"]}
package/dist/Keys.d.ts CHANGED
@@ -49,6 +49,7 @@ declare const isShow: (event: KeyboardEvent) => boolean;
49
49
  declare const isF2: (event: KeyboardEvent) => boolean;
50
50
  declare const isF4: (event: KeyboardEvent) => boolean;
51
51
  declare const isF4Shift: (event: KeyboardEvent) => boolean;
52
+ declare const isF10Shift: (event: KeyboardEvent) => boolean;
52
53
  declare const isF6Next: (event: KeyboardEvent) => boolean;
53
54
  declare const isF6Previous: (event: KeyboardEvent) => boolean;
54
55
  declare const isF7: (event: KeyboardEvent) => boolean;
@@ -59,4 +60,4 @@ declare const isKeyA: (event: KeyboardEvent) => boolean;
59
60
  declare const isKeyP: (event: KeyboardEvent) => boolean;
60
61
  declare const isNumber: (event: KeyboardEvent) => boolean;
61
62
  declare const isColon: (event: KeyboardEvent) => boolean;
62
- export { isEnter, isEnterShift, isSpace, isSpaceShift, isSpaceCtrl, isLeft, isRight, isUp, isDown, isLeftCtrl, isRightCtrl, isUpCtrl, isDownCtrl, isUpShift, isDownShift, isUpAlt, isDownAlt, isLeftShift, isRightShift, isLeftShiftCtrl, isRightShiftCtrl, isUpShiftCtrl, isDownShiftCtrl, isHome, isEnd, isPlus, isMinus, isHomeCtrl, isEndCtrl, isHomeShift, isEndShift, isEscape, isTabNext, isTabPrevious, isBackSpace, isDelete, isShow, isF2, isF4, isF4Shift, isF6Previous, isF6Next, isF7, isPageUp, isPageDown, isPageUpShift, isPageUpAlt, isPageDownShift, isPageDownAlt, isPageUpShiftCtrl, isPageDownShiftCtrl, isShift, isCtrlA, isCtrlV, isKeyA, isKeyP, isDeleteShift, isInsertShift, isInsertCtrl, isNumber, isColon, };
63
+ export { isEnter, isEnterShift, isSpace, isSpaceShift, isSpaceCtrl, isLeft, isRight, isUp, isDown, isLeftCtrl, isRightCtrl, isUpCtrl, isDownCtrl, isUpShift, isDownShift, isUpAlt, isDownAlt, isLeftShift, isRightShift, isLeftShiftCtrl, isRightShiftCtrl, isUpShiftCtrl, isDownShiftCtrl, isHome, isEnd, isPlus, isMinus, isHomeCtrl, isEndCtrl, isHomeShift, isEndShift, isEscape, isTabNext, isTabPrevious, isBackSpace, isDelete, isShow, isF2, isF4, isF4Shift, isF10Shift, isF6Previous, isF6Next, isF7, isPageUp, isPageDown, isPageUpShift, isPageUpAlt, isPageDownShift, isPageDownAlt, isPageUpShiftCtrl, isPageDownShiftCtrl, isShift, isCtrlA, isCtrlV, isKeyA, isKeyP, isDeleteShift, isInsertShift, isInsertCtrl, isNumber, isColon, };
package/dist/Keys.js CHANGED
@@ -162,6 +162,7 @@ const isF4 = (event) => {
162
162
  return event.key === "F4" && !hasModifierKeys(event);
163
163
  };
164
164
  const isF4Shift = (event) => (event.key ? event.key === "F4" : event.keyCode === KeyCodes.F4) && checkModifierKeys(event, false, false, true);
165
+ const isF10Shift = (event) => (event.key ? event.key === "F10" : event.keyCode === KeyCodes.F10) && checkModifierKeys(event, false, false, true);
165
166
  const isF6Next = (event) => ((event.key ? event.key === "F6" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, false))
166
167
  || ((event.key ? (event.key === "ArrowDown" || event.key === "Down") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, true, false));
167
168
  const isF6Previous = (event) => ((event.key ? event.key === "F6" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, true))
@@ -180,5 +181,5 @@ const getCtrlKey = (event) => !!(event.metaKey || event.ctrlKey); // double nega
180
181
  const checkModifierKeys = (event, bCtrlKey, bAltKey, bShiftKey) => event.shiftKey === bShiftKey && event.altKey === bAltKey && getCtrlKey(event) === bCtrlKey;
181
182
  const isNumber = (event) => ((event.key ? "0123456789".indexOf(event.key) !== -1 : event.keyCode >= KeyCodes.DIGIT_0 && event.keyCode <= KeyCodes.DIGIT_9) && checkModifierKeys(event, false, false, false));
182
183
  const isColon = (event) => ((event.key ? event.key === ":" : event.keyCode === KeyCodes.COLON) && checkModifierKeys(event, false, false, true));
183
- export { isEnter, isEnterShift, isSpace, isSpaceShift, isSpaceCtrl, isLeft, isRight, isUp, isDown, isLeftCtrl, isRightCtrl, isUpCtrl, isDownCtrl, isUpShift, isDownShift, isUpAlt, isDownAlt, isLeftShift, isRightShift, isLeftShiftCtrl, isRightShiftCtrl, isUpShiftCtrl, isDownShiftCtrl, isHome, isEnd, isPlus, isMinus, isHomeCtrl, isEndCtrl, isHomeShift, isEndShift, isEscape, isTabNext, isTabPrevious, isBackSpace, isDelete, isShow, isF2, isF4, isF4Shift, isF6Previous, isF6Next, isF7, isPageUp, isPageDown, isPageUpShift, isPageUpAlt, isPageDownShift, isPageDownAlt, isPageUpShiftCtrl, isPageDownShiftCtrl, isShift, isCtrlA, isCtrlV, isKeyA, isKeyP, isDeleteShift, isInsertShift, isInsertCtrl, isNumber, isColon, };
184
+ export { isEnter, isEnterShift, isSpace, isSpaceShift, isSpaceCtrl, isLeft, isRight, isUp, isDown, isLeftCtrl, isRightCtrl, isUpCtrl, isDownCtrl, isUpShift, isDownShift, isUpAlt, isDownAlt, isLeftShift, isRightShift, isLeftShiftCtrl, isRightShiftCtrl, isUpShiftCtrl, isDownShiftCtrl, isHome, isEnd, isPlus, isMinus, isHomeCtrl, isEndCtrl, isHomeShift, isEndShift, isEscape, isTabNext, isTabPrevious, isBackSpace, isDelete, isShow, isF2, isF4, isF4Shift, isF10Shift, isF6Previous, isF6Next, isF7, isPageUp, isPageDown, isPageUpShift, isPageUpAlt, isPageDownShift, isPageDownAlt, isPageUpShiftCtrl, isPageDownShiftCtrl, isShift, isCtrlA, isCtrlV, isKeyA, isKeyP, isDeleteShift, isInsertShift, isInsertCtrl, isNumber, isColon, };
184
185
  //# sourceMappingURL=Keys.js.map
package/dist/Keys.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Keys.js","sourceRoot":"","sources":["../src/Keys.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;IAChB,SAAS,EAAE,CAAC;IACZ,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,eAAe,EAAE,GAAG;IACpB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,GAAG;IACV,YAAY,EAAE,GAAG;IACjB,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;CACL,CAAC;AAGX,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAErJ,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAE/K,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAE/K,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzM,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAExM,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAEvL,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAE3L,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAE/K,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAEvL,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEhN,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEpN,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAExM,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEhN,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzM,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEjN,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAEvM,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/M,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEjN,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAErN,MAAM,eAAe,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEpN,MAAM,gBAAgB,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAExN,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAE5M,MAAM,eAAe,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEpN,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAElJ,MAAM,KAAK,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAE/I,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3K,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAE5K,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAExK,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzK,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAE/K,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAEnJ,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AAE7M,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAEjK,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAExJ,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAElL,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAElL,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEjL,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAEzJ,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAE/J,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEnL,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAEjL,MAAM,eAAe,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzL,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAEvL,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEtL,MAAM,mBAAmB,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAE5L,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3L,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,YAAY,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9L,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAW,EAAE;IAChD,IAAI,KAAK,CAAC,GAAG,EAAE;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;KAC5C;IAED,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,IAAI,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/L,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAW,EAAE;IAC9C,OAAO,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAW,EAAE;IAC9C,OAAO,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEtK,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;OACnK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAE/J,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;OACtK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAEzJ,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAE5I,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAW,EAAE;IACxD,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAClM,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC;AAE7G,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE5K,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE5K,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE5K,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE5K,MAAM,eAAe,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AAE/G,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yGAAyG;AAEnM,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAE,QAAiB,EAAE,OAAgB,EAAE,SAAkB,EAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AAEhN,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAErO,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAExK,OAAO,EACN,OAAO,EACP,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,UAAU,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,OAAO,EACP,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,OAAO,GACP,CAAC","sourcesContent":["const KeyCodes = {\n\tBACKSPACE: 8,\n\tTAB: 9,\n\tENTER: 13,\n\tSHIFT: 16,\n\tCONTROL: 17,\n\tALT: 18,\n\tBREAK: 19,\n\tCAPS_LOCK: 20,\n\tESCAPE: 27,\n\tSPACE: 32,\n\tPAGE_UP: 33,\n\tPAGE_DOWN: 34,\n\tEND: 35,\n\tHOME: 36,\n\tARROW_LEFT: 37,\n\tARROW_UP: 38,\n\tARROW_RIGHT: 39,\n\tARROW_DOWN: 40,\n\tPRINT: 44,\n\tINSERT: 45,\n\tDELETE: 46,\n\tDIGIT_0: 48,\n\tDIGIT_1: 49,\n\tDIGIT_2: 50,\n\tDIGIT_3: 51,\n\tDIGIT_4: 52,\n\tDIGIT_5: 53,\n\tDIGIT_6: 54,\n\tDIGIT_7: 55,\n\tDIGIT_8: 56,\n\tDIGIT_9: 57,\n\tA: 65,\n\tB: 66,\n\tC: 67,\n\tD: 68,\n\tE: 69,\n\tF: 70,\n\tG: 71,\n\tH: 72,\n\tI: 73,\n\tJ: 74,\n\tK: 75,\n\tL: 76,\n\tM: 77,\n\tN: 78,\n\tO: 79,\n\tP: 80,\n\tQ: 81,\n\tR: 82,\n\tS: 83,\n\tT: 84,\n\tU: 85,\n\tV: 86,\n\tW: 87,\n\tX: 88,\n\tY: 89,\n\tZ: 90,\n\tWINDOWS: 91,\n\tCONTEXT_MENU: 93,\n\tTURN_OFF: 94,\n\tSLEEP: 95,\n\tNUMPAD_0: 96,\n\tNUMPAD_1: 97,\n\tNUMPAD_2: 98,\n\tNUMPAD_3: 99,\n\tNUMPAD_4: 100,\n\tNUMPAD_5: 101,\n\tNUMPAD_6: 102,\n\tNUMPAD_7: 103,\n\tNUMPAD_8: 104,\n\tNUMPAD_9: 105,\n\tNUMPAD_ASTERISK: 106,\n\tNUMPAD_PLUS: 107,\n\tNUMPAD_MINUS: 109,\n\tNUMPAD_COMMA: 110,\n\tNUMPAD_SLASH: 111,\n\tF1: 112,\n\tF2: 113,\n\tF3: 114,\n\tF4: 115,\n\tF5: 116,\n\tF6: 117,\n\tF7: 118,\n\tF8: 119,\n\tF9: 120,\n\tF10: 121,\n\tF11: 122,\n\tF12: 123,\n\tNUM_LOCK: 144,\n\tSCROLL_LOCK: 145,\n\tCOLON: 186,\n\tPLUS: 187,\n\tCOMMA: 188,\n\tSLASH: 189,\n\tDOT: 190,\n\tPIPE: 191,\n\tSEMICOLON: 192,\n\tMINUS: 219,\n\tGREAT_ACCENT: 220,\n\tEQUALS: 221,\n\tSINGLE_QUOTE: 222,\n\tBACKSLASH: 226,\n} as const;\ntype KeyCodes = typeof KeyCodes[keyof typeof KeyCodes];\n\nconst isEnter = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Enter\" : event.keyCode === KeyCodes.ENTER) && !hasModifierKeys(event);\n\nconst isEnterShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Enter\" : event.keyCode === KeyCodes.ENTER) && checkModifierKeys(event, false, false, true);\n\nconst isSpace = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && !hasModifierKeys(event);\n\nconst isSpaceShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && checkModifierKeys(event, false, false, true);\n\nconst isSpaceCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && checkModifierKeys(event, true, false, false);\n\nconst isLeft = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && !hasModifierKeys(event);\n\nconst isRight = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && !hasModifierKeys(event);\n\nconst isUp = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && !hasModifierKeys(event);\n\nconst isDown = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && !hasModifierKeys(event);\n\nconst isLeftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, true, false, false);\n\nconst isRightCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, true, false, false);\n\nconst isUpCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, false, false);\n\nconst isDownCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, false, false);\n\nconst isUpShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, false, false, true);\n\nconst isDownShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, false, false, true);\n\nconst isUpAlt = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, false, true, false);\n\nconst isDownAlt = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, false, true, false);\n\nconst isLeftShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, false, false, true);\n\nconst isRightShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, false, false, true);\n\nconst isLeftShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, true, false, true);\n\nconst isRightShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, true, false, true);\n\nconst isUpShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, false, true);\n\nconst isDownShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, false, true);\n\nconst isHome = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && !hasModifierKeys(event);\n\nconst isEnd = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && !hasModifierKeys(event);\n\nconst isHomeCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && checkModifierKeys(event, true, false, false);\n\nconst isHomeShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && checkModifierKeys(event, false, false, true);\n\nconst isEndCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && checkModifierKeys(event, true, false, false);\n\nconst isEndShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && checkModifierKeys(event, false, false, true);\n\nconst isEscape = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Escape\" || event.key === \"Esc\" : event.keyCode === KeyCodes.ESCAPE) && !hasModifierKeys(event);\n\nconst isTabNext = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Tab\" : event.keyCode === KeyCodes.TAB) && !hasModifierKeys(event);\n\nconst isTabPrevious = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Tab\" : event.keyCode === KeyCodes.TAB) && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ false, /* Shift */ true);\n\nconst isBackSpace = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Backspace\" : event.keyCode === KeyCodes.BACKSPACE) && !hasModifierKeys(event);\n\nconst isDelete = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Delete\" : event.keyCode === KeyCodes.DELETE) && !hasModifierKeys(event);\n\nconst isDeleteShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Delete\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, false, false, true);\n\nconst isInsertShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Insert\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, false, false, true);\n\nconst isInsertCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Insert\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, true, false, false);\n\nconst isPageUp = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && !hasModifierKeys(event);\n\nconst isPageDown = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && !hasModifierKeys(event);\n\nconst isPageUpShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, false, false, true);\n\nconst isPageUpAlt = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, false, true, false);\n\nconst isPageDownShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, false, false, true);\n\nconst isPageDownAlt = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, false, true, false);\n\nconst isPageUpShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, true, false, true);\n\nconst isPageDownShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, true, false, true);\n\nconst isPlus = (event: KeyboardEvent): boolean => (event.key ? event.key === \"+\" : event.keyCode === KeyCodes.PLUS) || (event.keyCode === KeyCodes.NUMPAD_PLUS && !hasModifierKeys(event));\n\nconst isMinus = (event: KeyboardEvent): boolean => (event.key ? event.key === \"-\" : event.keyCode === KeyCodes.MINUS) || (event.keyCode === KeyCodes.NUMPAD_MINUS && !hasModifierKeys(event));\n\nconst isShow = (event: KeyboardEvent): boolean => {\n\tif (event.key) {\n\t\treturn isF4(event) || isShowByArrows(event);\n\t}\n\n\treturn (event.keyCode === KeyCodes.F4 && !hasModifierKeys(event)) || (event.keyCode === KeyCodes.ARROW_DOWN && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ true, /* Shift */ false));\n};\n\nconst isF2 = (event: KeyboardEvent): boolean => {\n\treturn event.key === \"F2\" && !hasModifierKeys(event);\n};\n\nconst isF4 = (event: KeyboardEvent): boolean => {\n\treturn event.key === \"F4\" && !hasModifierKeys(event);\n};\n\nconst isF4Shift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"F4\" : event.keyCode === KeyCodes.F4) && checkModifierKeys(event, false, false, true);\n\nconst isF6Next = (event: KeyboardEvent): boolean => ((event.key ? event.key === \"F6\" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, false))\n\t|| ((event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, true, false));\n\nconst isF6Previous = (event: KeyboardEvent): boolean => ((event.key ? event.key === \"F6\" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, true))\n\t|| ((event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, true, false));\n\nconst isF7 = (event: KeyboardEvent): boolean => (event.key ? event.key === \"F7\" : event.keyCode === KeyCodes.F7) && !hasModifierKeys(event);\n\nconst isShowByArrows = (event: KeyboardEvent): boolean => {\n\treturn ((event.key === \"ArrowDown\" || event.key === \"Down\") || (event.key === \"ArrowUp\" || event.key === \"Up\")) && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ true, /* Shift */ false);\n};\n\nconst isShift = (event: KeyboardEvent): boolean => event.key === \"Shift\" || event.keyCode === KeyCodes.SHIFT;\n\nconst isCtrlA = (event: KeyboardEvent): boolean => ((event.key === \"A\" || event.key === \"a\") || event.which === KeyCodes.A) && checkModifierKeys(event, true, false, false);\n\nconst isCtrlV = (event: KeyboardEvent): boolean => ((event.key === \"V\" || event.key === \"v\") || event.which === KeyCodes.V) && checkModifierKeys(event, true, false, false);\n\nconst isKeyA = (event: KeyboardEvent): boolean => ((event.key === \"A\" || event.key === \"a\") || event.which === KeyCodes.A) && checkModifierKeys(event, false, false, false);\n\nconst isKeyP = (event: KeyboardEvent): boolean => ((event.key === \"P\" || event.key === \"p\") || event.which === KeyCodes.P) && checkModifierKeys(event, false, false, false);\n\nconst hasModifierKeys = (event: KeyboardEvent): boolean => event.shiftKey || event.altKey || getCtrlKey(event);\n\nconst 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.\n\nconst checkModifierKeys = (event: KeyboardEvent, bCtrlKey: boolean, bAltKey: boolean, bShiftKey: boolean):boolean => event.shiftKey === bShiftKey && event.altKey === bAltKey && getCtrlKey(event) === bCtrlKey;\n\nconst isNumber = (event: KeyboardEvent): boolean => ((event.key ? \"0123456789\".indexOf(event.key) !== -1 : event.keyCode >= KeyCodes.DIGIT_0 && event.keyCode <= KeyCodes.DIGIT_9) && checkModifierKeys(event, false, false, false));\n\nconst isColon = (event: KeyboardEvent): boolean => ((event.key ? event.key === \":\" : event.keyCode === KeyCodes.COLON) && checkModifierKeys(event, false, false, true));\n\nexport {\n\tisEnter,\n\tisEnterShift,\n\tisSpace,\n\tisSpaceShift,\n\tisSpaceCtrl,\n\tisLeft,\n\tisRight,\n\tisUp,\n\tisDown,\n\tisLeftCtrl,\n\tisRightCtrl,\n\tisUpCtrl,\n\tisDownCtrl,\n\tisUpShift,\n\tisDownShift,\n\tisUpAlt,\n\tisDownAlt,\n\tisLeftShift,\n\tisRightShift,\n\tisLeftShiftCtrl,\n\tisRightShiftCtrl,\n\tisUpShiftCtrl,\n\tisDownShiftCtrl,\n\tisHome,\n\tisEnd,\n\tisPlus,\n\tisMinus,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisHomeShift,\n\tisEndShift,\n\tisEscape,\n\tisTabNext,\n\tisTabPrevious,\n\tisBackSpace,\n\tisDelete,\n\tisShow,\n\tisF2,\n\tisF4,\n\tisF4Shift,\n\tisF6Previous,\n\tisF6Next,\n\tisF7,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageUpAlt,\n\tisPageDownShift,\n\tisPageDownAlt,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisShift,\n\tisCtrlA,\n\tisCtrlV,\n\tisKeyA,\n\tisKeyP,\n\tisDeleteShift,\n\tisInsertShift,\n\tisInsertCtrl,\n\tisNumber,\n\tisColon,\n};\n"]}
1
+ {"version":3,"file":"Keys.js","sourceRoot":"","sources":["../src/Keys.ts"],"names":[],"mappings":"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","sourcesContent":["const KeyCodes = {\n\tBACKSPACE: 8,\n\tTAB: 9,\n\tENTER: 13,\n\tSHIFT: 16,\n\tCONTROL: 17,\n\tALT: 18,\n\tBREAK: 19,\n\tCAPS_LOCK: 20,\n\tESCAPE: 27,\n\tSPACE: 32,\n\tPAGE_UP: 33,\n\tPAGE_DOWN: 34,\n\tEND: 35,\n\tHOME: 36,\n\tARROW_LEFT: 37,\n\tARROW_UP: 38,\n\tARROW_RIGHT: 39,\n\tARROW_DOWN: 40,\n\tPRINT: 44,\n\tINSERT: 45,\n\tDELETE: 46,\n\tDIGIT_0: 48,\n\tDIGIT_1: 49,\n\tDIGIT_2: 50,\n\tDIGIT_3: 51,\n\tDIGIT_4: 52,\n\tDIGIT_5: 53,\n\tDIGIT_6: 54,\n\tDIGIT_7: 55,\n\tDIGIT_8: 56,\n\tDIGIT_9: 57,\n\tA: 65,\n\tB: 66,\n\tC: 67,\n\tD: 68,\n\tE: 69,\n\tF: 70,\n\tG: 71,\n\tH: 72,\n\tI: 73,\n\tJ: 74,\n\tK: 75,\n\tL: 76,\n\tM: 77,\n\tN: 78,\n\tO: 79,\n\tP: 80,\n\tQ: 81,\n\tR: 82,\n\tS: 83,\n\tT: 84,\n\tU: 85,\n\tV: 86,\n\tW: 87,\n\tX: 88,\n\tY: 89,\n\tZ: 90,\n\tWINDOWS: 91,\n\tCONTEXT_MENU: 93,\n\tTURN_OFF: 94,\n\tSLEEP: 95,\n\tNUMPAD_0: 96,\n\tNUMPAD_1: 97,\n\tNUMPAD_2: 98,\n\tNUMPAD_3: 99,\n\tNUMPAD_4: 100,\n\tNUMPAD_5: 101,\n\tNUMPAD_6: 102,\n\tNUMPAD_7: 103,\n\tNUMPAD_8: 104,\n\tNUMPAD_9: 105,\n\tNUMPAD_ASTERISK: 106,\n\tNUMPAD_PLUS: 107,\n\tNUMPAD_MINUS: 109,\n\tNUMPAD_COMMA: 110,\n\tNUMPAD_SLASH: 111,\n\tF1: 112,\n\tF2: 113,\n\tF3: 114,\n\tF4: 115,\n\tF5: 116,\n\tF6: 117,\n\tF7: 118,\n\tF8: 119,\n\tF9: 120,\n\tF10: 121,\n\tF11: 122,\n\tF12: 123,\n\tNUM_LOCK: 144,\n\tSCROLL_LOCK: 145,\n\tCOLON: 186,\n\tPLUS: 187,\n\tCOMMA: 188,\n\tSLASH: 189,\n\tDOT: 190,\n\tPIPE: 191,\n\tSEMICOLON: 192,\n\tMINUS: 219,\n\tGREAT_ACCENT: 220,\n\tEQUALS: 221,\n\tSINGLE_QUOTE: 222,\n\tBACKSLASH: 226,\n} as const;\ntype KeyCodes = typeof KeyCodes[keyof typeof KeyCodes];\n\nconst isEnter = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Enter\" : event.keyCode === KeyCodes.ENTER) && !hasModifierKeys(event);\n\nconst isEnterShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Enter\" : event.keyCode === KeyCodes.ENTER) && checkModifierKeys(event, false, false, true);\n\nconst isSpace = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && !hasModifierKeys(event);\n\nconst isSpaceShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && checkModifierKeys(event, false, false, true);\n\nconst isSpaceCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"Spacebar\" || event.key === \" \") : event.keyCode === KeyCodes.SPACE) && checkModifierKeys(event, true, false, false);\n\nconst isLeft = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && !hasModifierKeys(event);\n\nconst isRight = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && !hasModifierKeys(event);\n\nconst isUp = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && !hasModifierKeys(event);\n\nconst isDown = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && !hasModifierKeys(event);\n\nconst isLeftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, true, false, false);\n\nconst isRightCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, true, false, false);\n\nconst isUpCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, false, false);\n\nconst isDownCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, false, false);\n\nconst isUpShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, false, false, true);\n\nconst isDownShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, false, false, true);\n\nconst isUpAlt = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, false, true, false);\n\nconst isDownAlt = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, false, true, false);\n\nconst isLeftShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, false, false, true);\n\nconst isRightShift = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, false, false, true);\n\nconst isLeftShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowLeft\" || event.key === \"Left\") : event.keyCode === KeyCodes.ARROW_LEFT) && checkModifierKeys(event, true, false, true);\n\nconst isRightShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowRight\" || event.key === \"Right\") : event.keyCode === KeyCodes.ARROW_RIGHT) && checkModifierKeys(event, true, false, true);\n\nconst isUpShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, false, true);\n\nconst isDownShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, false, true);\n\nconst isHome = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && !hasModifierKeys(event);\n\nconst isEnd = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && !hasModifierKeys(event);\n\nconst isHomeCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && checkModifierKeys(event, true, false, false);\n\nconst isHomeShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Home\" : event.keyCode === KeyCodes.HOME) && checkModifierKeys(event, false, false, true);\n\nconst isEndCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && checkModifierKeys(event, true, false, false);\n\nconst isEndShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"End\" : event.keyCode === KeyCodes.END) && checkModifierKeys(event, false, false, true);\n\nconst isEscape = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Escape\" || event.key === \"Esc\" : event.keyCode === KeyCodes.ESCAPE) && !hasModifierKeys(event);\n\nconst isTabNext = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Tab\" : event.keyCode === KeyCodes.TAB) && !hasModifierKeys(event);\n\nconst isTabPrevious = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Tab\" : event.keyCode === KeyCodes.TAB) && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ false, /* Shift */ true);\n\nconst isBackSpace = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Backspace\" : event.keyCode === KeyCodes.BACKSPACE) && !hasModifierKeys(event);\n\nconst isDelete = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Delete\" : event.keyCode === KeyCodes.DELETE) && !hasModifierKeys(event);\n\nconst isDeleteShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Delete\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, false, false, true);\n\nconst isInsertShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Insert\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, false, false, true);\n\nconst isInsertCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"Insert\" : event.keyCode === KeyCodes.DELETE) && checkModifierKeys(event, true, false, false);\n\nconst isPageUp = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && !hasModifierKeys(event);\n\nconst isPageDown = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && !hasModifierKeys(event);\n\nconst isPageUpShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, false, false, true);\n\nconst isPageUpAlt = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, false, true, false);\n\nconst isPageDownShift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, false, false, true);\n\nconst isPageDownAlt = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, false, true, false);\n\nconst isPageUpShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageUp\" : event.keyCode === KeyCodes.PAGE_UP) && checkModifierKeys(event, true, false, true);\n\nconst isPageDownShiftCtrl = (event: KeyboardEvent): boolean => (event.key ? event.key === \"PageDown\" : event.keyCode === KeyCodes.PAGE_DOWN) && checkModifierKeys(event, true, false, true);\n\nconst isPlus = (event: KeyboardEvent): boolean => (event.key ? event.key === \"+\" : event.keyCode === KeyCodes.PLUS) || (event.keyCode === KeyCodes.NUMPAD_PLUS && !hasModifierKeys(event));\n\nconst isMinus = (event: KeyboardEvent): boolean => (event.key ? event.key === \"-\" : event.keyCode === KeyCodes.MINUS) || (event.keyCode === KeyCodes.NUMPAD_MINUS && !hasModifierKeys(event));\n\nconst isShow = (event: KeyboardEvent): boolean => {\n\tif (event.key) {\n\t\treturn isF4(event) || isShowByArrows(event);\n\t}\n\n\treturn (event.keyCode === KeyCodes.F4 && !hasModifierKeys(event)) || (event.keyCode === KeyCodes.ARROW_DOWN && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ true, /* Shift */ false));\n};\n\nconst isF2 = (event: KeyboardEvent): boolean => {\n\treturn event.key === \"F2\" && !hasModifierKeys(event);\n};\n\nconst isF4 = (event: KeyboardEvent): boolean => {\n\treturn event.key === \"F4\" && !hasModifierKeys(event);\n};\n\nconst isF4Shift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"F4\" : event.keyCode === KeyCodes.F4) && checkModifierKeys(event, false, false, true);\n\nconst isF10Shift = (event: KeyboardEvent): boolean => (event.key ? event.key === \"F10\" : event.keyCode === KeyCodes.F10) && checkModifierKeys(event, false, false, true);\n\nconst isF6Next = (event: KeyboardEvent): boolean => ((event.key ? event.key === \"F6\" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, false))\n\t|| ((event.key ? (event.key === \"ArrowDown\" || event.key === \"Down\") : event.keyCode === KeyCodes.ARROW_DOWN) && checkModifierKeys(event, true, true, false));\n\nconst isF6Previous = (event: KeyboardEvent): boolean => ((event.key ? event.key === \"F6\" : event.keyCode === KeyCodes.F6) && checkModifierKeys(event, false, false, true))\n\t|| ((event.key ? (event.key === \"ArrowUp\" || event.key === \"Up\") : event.keyCode === KeyCodes.ARROW_UP) && checkModifierKeys(event, true, true, false));\n\nconst isF7 = (event: KeyboardEvent): boolean => (event.key ? event.key === \"F7\" : event.keyCode === KeyCodes.F7) && !hasModifierKeys(event);\n\nconst isShowByArrows = (event: KeyboardEvent): boolean => {\n\treturn ((event.key === \"ArrowDown\" || event.key === \"Down\") || (event.key === \"ArrowUp\" || event.key === \"Up\")) && checkModifierKeys(event, /* Ctrl */ false, /* Alt */ true, /* Shift */ false);\n};\n\nconst isShift = (event: KeyboardEvent): boolean => event.key === \"Shift\" || event.keyCode === KeyCodes.SHIFT;\n\nconst isCtrlA = (event: KeyboardEvent): boolean => ((event.key === \"A\" || event.key === \"a\") || event.which === KeyCodes.A) && checkModifierKeys(event, true, false, false);\n\nconst isCtrlV = (event: KeyboardEvent): boolean => ((event.key === \"V\" || event.key === \"v\") || event.which === KeyCodes.V) && checkModifierKeys(event, true, false, false);\n\nconst isKeyA = (event: KeyboardEvent): boolean => ((event.key === \"A\" || event.key === \"a\") || event.which === KeyCodes.A) && checkModifierKeys(event, false, false, false);\n\nconst isKeyP = (event: KeyboardEvent): boolean => ((event.key === \"P\" || event.key === \"p\") || event.which === KeyCodes.P) && checkModifierKeys(event, false, false, false);\n\nconst hasModifierKeys = (event: KeyboardEvent): boolean => event.shiftKey || event.altKey || getCtrlKey(event);\n\nconst 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.\n\nconst checkModifierKeys = (event: KeyboardEvent, bCtrlKey: boolean, bAltKey: boolean, bShiftKey: boolean):boolean => event.shiftKey === bShiftKey && event.altKey === bAltKey && getCtrlKey(event) === bCtrlKey;\n\nconst isNumber = (event: KeyboardEvent): boolean => ((event.key ? \"0123456789\".indexOf(event.key) !== -1 : event.keyCode >= KeyCodes.DIGIT_0 && event.keyCode <= KeyCodes.DIGIT_9) && checkModifierKeys(event, false, false, false));\n\nconst isColon = (event: KeyboardEvent): boolean => ((event.key ? event.key === \":\" : event.keyCode === KeyCodes.COLON) && checkModifierKeys(event, false, false, true));\n\nexport {\n\tisEnter,\n\tisEnterShift,\n\tisSpace,\n\tisSpaceShift,\n\tisSpaceCtrl,\n\tisLeft,\n\tisRight,\n\tisUp,\n\tisDown,\n\tisLeftCtrl,\n\tisRightCtrl,\n\tisUpCtrl,\n\tisDownCtrl,\n\tisUpShift,\n\tisDownShift,\n\tisUpAlt,\n\tisDownAlt,\n\tisLeftShift,\n\tisRightShift,\n\tisLeftShiftCtrl,\n\tisRightShiftCtrl,\n\tisUpShiftCtrl,\n\tisDownShiftCtrl,\n\tisHome,\n\tisEnd,\n\tisPlus,\n\tisMinus,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisHomeShift,\n\tisEndShift,\n\tisEscape,\n\tisTabNext,\n\tisTabPrevious,\n\tisBackSpace,\n\tisDelete,\n\tisShow,\n\tisF2,\n\tisF4,\n\tisF4Shift,\n\tisF10Shift,\n\tisF6Previous,\n\tisF6Next,\n\tisF7,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageUpAlt,\n\tisPageDownShift,\n\tisPageDownAlt,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisShift,\n\tisCtrlA,\n\tisCtrlV,\n\tisKeyA,\n\tisKeyP,\n\tisDeleteShift,\n\tisInsertShift,\n\tisInsertCtrl,\n\tisNumber,\n\tisColon,\n};\n"]}
@@ -41,12 +41,14 @@ declare abstract class UI5Element extends HTMLElement {
41
41
  _inDOM: boolean;
42
42
  _fullyConnected: boolean;
43
43
  _childChangeListeners: Map<string, ChildChangeListener>;
44
+ _slotsAssignedNodes: WeakMap<HTMLSlotElement, Array<SlotValue>>;
44
45
  _slotChangeListeners: Map<string, SlotChangeListener>;
45
46
  _domRefReadyPromise: Promise<void> & {
46
47
  _deferredResolve?: PromiseResolve;
47
48
  };
48
49
  _doNotSyncAttributes: Set<string>;
49
50
  _state: State;
51
+ _internals?: ElementInternals;
50
52
  _getRealDomRef?: () => HTMLElement;
51
53
  static template?: TemplateFunction;
52
54
  static _metadata: UI5ElementMetadata;
@@ -139,6 +141,8 @@ declare abstract class UI5Element extends HTMLElement {
139
141
  * @private
140
142
  */
141
143
  attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
144
+ formAssociatedCallback(): void;
145
+ static get formAssociated(): boolean;
142
146
  /**
143
147
  * @private
144
148
  */
@@ -168,7 +172,7 @@ declare abstract class UI5Element extends HTMLElement {
168
172
  /**
169
173
  * @private
170
174
  */
171
- _attachSlotChange(child: HTMLSlotElement, slotName: string): void;
175
+ _attachSlotChange(slot: HTMLSlotElement, slotName: string, invalidateOnChildChange: boolean): void;
172
176
  /**
173
177
  * @private
174
178
  */
@@ -358,6 +362,10 @@ declare abstract class UI5Element extends HTMLElement {
358
362
  * @public
359
363
  */
360
364
  static getMetadata(): UI5ElementMetadata;
365
+ get validity(): ValidityState | undefined;
366
+ get validationMessage(): string | undefined;
367
+ checkValidity(): boolean | undefined;
368
+ reportValidity(): boolean | undefined;
361
369
  }
362
370
  /**
363
371
  * Always use duck-typing to cover all runtimes on the page.
@@ -16,7 +16,9 @@ import isValidPropertyName from "./util/isValidPropertyName.js";
16
16
  import { getSlotName, getSlottedNodesList } from "./util/SlotsHelper.js";
17
17
  import arraysAreEqual from "./util/arraysAreEqual.js";
18
18
  import { markAsRtlAware } from "./locale/RTLAwareRegistry.js";
19
- import executeTemplate from "./renderer/executeTemplate.js";
19
+ import executeTemplate, { getTagsToScope } from "./renderer/executeTemplate.js";
20
+ import { attachFormElementInternals, setFormValue } from "./features/InputElementsFormSupport.js";
21
+ const DEV_MODE = true;
20
22
  let autoId = 0;
21
23
  const elementTimeouts = new Map();
22
24
  const uniqueDependenciesCache = new Map();
@@ -78,6 +80,7 @@ class UI5Element extends HTMLElement {
78
80
  });
79
81
  this._domRefReadyPromise._deferredResolve = deferredResolve;
80
82
  this._doNotSyncAttributes = new Set(); // attributes that are excluded from attributeChangedCallback synchronization
83
+ this._slotsAssignedNodes = new WeakMap(); // map of all nodes, slotted (directly or transitively) per component slot
81
84
  this._state = { ...ctor.getMetadata().getInitialState() };
82
85
  this._upgradeAllProperties();
83
86
  if (ctor._needsShadowDOM()) {
@@ -106,6 +109,27 @@ class UI5Element extends HTMLElement {
106
109
  * @private
107
110
  */
108
111
  async connectedCallback() {
112
+ if (DEV_MODE) {
113
+ const rootNode = this.getRootNode();
114
+ // when an element is connected, check if it exists in the `dependencies` of the parent
115
+ if (rootNode instanceof ShadowRoot && instanceOfUI5Element(rootNode.host)) {
116
+ const klass = rootNode.host.constructor;
117
+ const hasDependency = getTagsToScope(rootNode.host).includes(this.constructor.getMetadata().getPureTag());
118
+ if (!hasDependency) {
119
+ // eslint-disable-next-line no-console
120
+ console.error(`[UI5-FWK] ${this.constructor.getMetadata().getTag()} not found in dependencies of ${klass.getMetadata().getTag()}`);
121
+ }
122
+ }
123
+ }
124
+ if (DEV_MODE) {
125
+ const props = this.constructor.getMetadata().getProperties();
126
+ for (const [prop, propData] of Object.entries(props)) { // eslint-disable-line
127
+ if (Object.hasOwn(this, prop)) {
128
+ // eslint-disable-next-line no-console
129
+ console.error(`[UI5-FWK] ${this.constructor.getMetadata().getTag()} has a property [${prop}] that is shadowed by the instance. Updates to this property will not invalidate the component. Possible reason is TS target ES2022 or TS useDefineForClassFields`);
130
+ }
131
+ }
132
+ }
109
133
  const ctor = this.constructor;
110
134
  this.setAttribute(ctor.getMetadata().getPureTag(), "");
111
135
  if (ctor.getMetadata().supportsF6FastNavigation()) {
@@ -258,13 +282,11 @@ class UI5Element extends HTMLElement {
258
282
  // Listen for any invalidation on the child if invalidateOnChildChange is true or an object (ignore when false or not set)
259
283
  if (instanceOfUI5Element(child) && slotData.invalidateOnChildChange) {
260
284
  const childChangeListener = this._getChildChangeListener(slotName);
261
- if (childChangeListener) {
262
- child.attachInvalidate.call(child, childChangeListener);
263
- }
285
+ child.attachInvalidate.call(child, childChangeListener);
264
286
  }
265
287
  // Listen for the slotchange event if the child is a slot itself
266
288
  if (child instanceof HTMLSlotElement) {
267
- this._attachSlotChange(child, slotName);
289
+ this._attachSlotChange(child, slotName, !!slotData.invalidateOnChildChange);
268
290
  }
269
291
  const propertyName = slotData.propertyName || slotName;
270
292
  if (slottedChildrenMap.has(propertyName)) {
@@ -291,6 +313,9 @@ class UI5Element extends HTMLElement {
291
313
  reason: "children",
292
314
  });
293
315
  invalidated = true;
316
+ if (ctor.getMetadata().isFormAssociated()) {
317
+ setFormValue(this);
318
+ }
294
319
  }
295
320
  }
296
321
  // If none of the slots had an invalidation due to changes to immediate children,
@@ -313,9 +338,7 @@ class UI5Element extends HTMLElement {
313
338
  children.forEach(child => {
314
339
  if (instanceOfUI5Element(child)) {
315
340
  const childChangeListener = this._getChildChangeListener(slotName);
316
- if (childChangeListener) {
317
- child.detachInvalidate.call(child, childChangeListener);
318
- }
341
+ child.detachInvalidate.call(child, childChangeListener);
319
342
  }
320
343
  if (child instanceof HTMLSlotElement) {
321
344
  this._detachSlotChange(child, slotName);
@@ -392,6 +415,16 @@ class UI5Element extends HTMLElement {
392
415
  this[nameInCamelCase] = newPropertyValue;
393
416
  }
394
417
  }
418
+ formAssociatedCallback() {
419
+ const ctor = this.constructor;
420
+ if (!ctor.getMetadata().isFormAssociated()) {
421
+ return;
422
+ }
423
+ attachFormElementInternals(this);
424
+ }
425
+ static get formAssociated() {
426
+ return this.getMetadata().isFormAssociated();
427
+ }
395
428
  /**
396
429
  * @private
397
430
  */
@@ -478,11 +511,32 @@ class UI5Element extends HTMLElement {
478
511
  /**
479
512
  * @private
480
513
  */
481
- _attachSlotChange(child, slotName) {
514
+ _attachSlotChange(slot, slotName, invalidateOnChildChange) {
482
515
  const slotChangeListener = this._getSlotChangeListener(slotName);
483
- if (slotChangeListener) {
484
- child.addEventListener("slotchange", slotChangeListener);
485
- }
516
+ slot.addEventListener("slotchange", (e) => {
517
+ slotChangeListener.call(slot, e);
518
+ if (invalidateOnChildChange) {
519
+ // Detach listeners for UI5 Elements that used to be in this slot
520
+ const previousChildren = this._slotsAssignedNodes.get(slot);
521
+ if (previousChildren) {
522
+ previousChildren.forEach(child => {
523
+ if (instanceOfUI5Element(child)) {
524
+ const childChangeListener = this._getChildChangeListener(slotName);
525
+ child.detachInvalidate.call(child, childChangeListener);
526
+ }
527
+ });
528
+ }
529
+ // Attach listeners for UI5 Elements that are now in this slot
530
+ const newChildren = getSlottedNodesList([slot]);
531
+ this._slotsAssignedNodes.set(slot, newChildren);
532
+ newChildren.forEach(child => {
533
+ if (instanceOfUI5Element(child)) {
534
+ const childChangeListener = this._getChildChangeListener(slotName);
535
+ child.attachInvalidate.call(child, childChangeListener);
536
+ }
537
+ });
538
+ }
539
+ });
486
540
  }
487
541
  /**
488
542
  * @private
@@ -847,6 +901,9 @@ class UI5Element extends HTMLElement {
847
901
  newValue: value,
848
902
  oldValue: oldState,
849
903
  });
904
+ if (ctor.getMetadata().isFormAssociated()) {
905
+ setFormValue(this);
906
+ }
850
907
  this._updateAttribute(prop, value);
851
908
  }
852
909
  },
@@ -952,6 +1009,10 @@ class UI5Element extends HTMLElement {
952
1009
  this._metadata = new UI5ElementMetadata(mergedMetadata);
953
1010
  return this._metadata;
954
1011
  }
1012
+ get validity() { return this._internals?.validity; }
1013
+ get validationMessage() { return this._internals?.validationMessage; }
1014
+ checkValidity() { return this._internals?.checkValidity(); }
1015
+ reportValidity() { return this._internals?.reportValidity(); }
955
1016
  }
956
1017
  /**
957
1018
  * Returns the metadata object for this UI5 Web Component Class