@opensumi/ide-core-browser 2.21.13-rc-1673328992.0 → 2.21.13

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 (562) hide show
  1. package/lib/application/application-state-service.d.ts +1 -1
  2. package/lib/application/application-state-service.d.ts.map +1 -1
  3. package/lib/application/application-state-service.js.map +1 -1
  4. package/lib/application/application.service.js.map +1 -1
  5. package/lib/authentication/authentication.contribution.js.map +1 -1
  6. package/lib/authentication/authentication.service.js.map +1 -1
  7. package/lib/bootstrap/app.d.ts +35 -2
  8. package/lib/bootstrap/app.d.ts.map +1 -1
  9. package/lib/bootstrap/app.js +8 -8
  10. package/lib/bootstrap/app.js.map +1 -1
  11. package/lib/bootstrap/app.view.d.ts +1 -1
  12. package/lib/bootstrap/app.view.d.ts.map +1 -1
  13. package/lib/bootstrap/connection.d.ts +1 -1
  14. package/lib/bootstrap/connection.d.ts.map +1 -1
  15. package/lib/bootstrap/connection.js +4 -4
  16. package/lib/bootstrap/connection.js.map +1 -1
  17. package/lib/bootstrap/index.d.ts +1 -1
  18. package/lib/bootstrap/index.d.ts.map +1 -1
  19. package/lib/bootstrap/index.js +1 -1
  20. package/lib/bootstrap/index.js.map +1 -1
  21. package/lib/bootstrap/inner-providers.js +1 -1
  22. package/lib/bootstrap/inner-providers.js.map +1 -1
  23. package/lib/bootstrap/lifecycle.service.js.map +1 -1
  24. package/lib/browser-module.js.map +1 -1
  25. package/lib/common/common.command.d.ts +1 -24
  26. package/lib/common/common.command.d.ts.map +1 -1
  27. package/lib/common/common.command.js +6 -42
  28. package/lib/common/common.command.js.map +1 -1
  29. package/lib/common/common.contribution.js.map +1 -1
  30. package/lib/common/common.module.js.map +1 -1
  31. package/lib/common/common.storage.js.map +1 -1
  32. package/lib/components/actions/index.d.ts +2 -2
  33. package/lib/components/actions/index.d.ts.map +1 -1
  34. package/lib/components/actions/index.js +22 -2
  35. package/lib/components/actions/index.js.map +1 -1
  36. package/lib/components/index.d.ts +4 -0
  37. package/lib/components/index.d.ts.map +1 -1
  38. package/lib/components/index.js +4 -0
  39. package/lib/components/index.js.map +1 -1
  40. package/lib/components/layout/box-panel.d.ts +1 -1
  41. package/lib/components/layout/box-panel.d.ts.map +1 -1
  42. package/lib/components/layout/split-panel.d.ts +1 -17
  43. package/lib/components/layout/split-panel.d.ts.map +1 -1
  44. package/lib/components/layout/split-panel.js +16 -16
  45. package/lib/components/layout/split-panel.js.map +1 -1
  46. package/lib/components/layout/split-panel.service.js.map +1 -1
  47. package/lib/components/progressbar/index.d.ts +2 -2
  48. package/lib/components/progressbar/index.d.ts.map +1 -1
  49. package/lib/components/progressbar/index.js +10 -2
  50. package/lib/components/progressbar/index.js.map +1 -1
  51. package/lib/components/progressbar/styles.module.less +31 -0
  52. package/lib/components/recycle-tree/index.d.ts +2 -0
  53. package/lib/components/recycle-tree/index.d.ts.map +1 -0
  54. package/lib/components/recycle-tree/index.js +5 -0
  55. package/lib/components/recycle-tree/index.js.map +1 -0
  56. package/lib/components/recycle-tree/recycle-tree.view.d.ts +82 -0
  57. package/lib/components/recycle-tree/recycle-tree.view.d.ts.map +1 -0
  58. package/lib/components/recycle-tree/recycle-tree.view.js +188 -0
  59. package/lib/components/recycle-tree/recycle-tree.view.js.map +1 -0
  60. package/lib/components/scroll/index.d.ts +68 -0
  61. package/lib/components/scroll/index.d.ts.map +1 -0
  62. package/lib/components/scroll/index.js +279 -0
  63. package/lib/components/scroll/index.js.map +1 -0
  64. package/lib/components/scroll/scroll.module.less +108 -0
  65. package/lib/components/scrollbar/index.d.ts +2 -0
  66. package/lib/components/scrollbar/index.d.ts.map +1 -0
  67. package/lib/components/scrollbar/index.js +5 -0
  68. package/lib/components/scrollbar/index.js.map +1 -0
  69. package/lib/components/scrollbar/scrollbar.less +36 -0
  70. package/lib/components/scrollbar/scrollbar.view.d.ts +7 -0
  71. package/lib/components/scrollbar/scrollbar.view.d.ts.map +1 -0
  72. package/lib/components/scrollbar/scrollbar.view.js +11 -0
  73. package/lib/components/scrollbar/scrollbar.view.js.map +1 -0
  74. package/lib/components/tree/index.d.ts +4 -0
  75. package/lib/components/tree/index.d.ts.map +1 -0
  76. package/lib/components/tree/index.js +7 -0
  77. package/lib/components/tree/index.js.map +1 -0
  78. package/lib/components/tree/tree-node.view.d.ts +26 -0
  79. package/lib/components/tree/tree-node.view.d.ts.map +1 -0
  80. package/lib/components/tree/tree-node.view.js +350 -0
  81. package/lib/components/tree/tree-node.view.js.map +1 -0
  82. package/lib/components/tree/tree.module.less +296 -0
  83. package/lib/components/tree/tree.view.d.ts +132 -0
  84. package/lib/components/tree/tree.view.d.ts.map +1 -0
  85. package/lib/components/tree/tree.view.js +238 -0
  86. package/lib/components/tree/tree.view.js.map +1 -0
  87. package/lib/contextkey/resource.d.ts +1 -1
  88. package/lib/contextkey/resource.d.ts.map +1 -1
  89. package/lib/contextkey/testing.d.ts +0 -1
  90. package/lib/contextkey/testing.d.ts.map +1 -1
  91. package/lib/contextkey/testing.js +1 -2
  92. package/lib/contextkey/testing.js.map +1 -1
  93. package/lib/core-preferences.d.ts +2 -3
  94. package/lib/core-preferences.d.ts.map +1 -1
  95. package/lib/core-preferences.js +1 -1
  96. package/lib/core-preferences.js.map +1 -1
  97. package/lib/dom/index.d.ts +1 -1
  98. package/lib/dom/index.d.ts.map +1 -1
  99. package/lib/encoding-registry.js.map +1 -1
  100. package/lib/extensions/extensions-point.service.js.map +1 -1
  101. package/lib/hash-calculate/hash-calculate.contribution.js.map +1 -1
  102. package/lib/index.d.ts +1 -1
  103. package/lib/index.d.ts.map +1 -1
  104. package/lib/index.js +1 -1
  105. package/lib/index.js.map +1 -1
  106. package/lib/keybinding/keybinding.js.map +1 -1
  107. package/lib/keyboard/keyboard-layout-provider.d.ts +2 -2
  108. package/lib/keyboard/keyboard-layout-provider.d.ts.map +1 -1
  109. package/lib/keyboard/keyboard-layout-provider.js +13 -13
  110. package/lib/keyboard/keyboard-layout-provider.js.map +1 -1
  111. package/lib/keyboard/keyboard-layout-service.js.map +1 -1
  112. package/lib/keyboard/keys.d.ts +2 -2
  113. package/lib/keyboard/keys.d.ts.map +1 -1
  114. package/lib/keyboard/layouts/_.contribution.js +3 -3
  115. package/lib/keyboard/layouts/_.contribution.js.map +1 -1
  116. package/lib/layout/accordion/tab-bar-toolbar.js.map +1 -1
  117. package/lib/layout/accordion/view-context-key.registry.js.map +1 -1
  118. package/lib/layout/layout-hooks.d.ts +1 -1
  119. package/lib/layout/layout-hooks.d.ts.map +1 -1
  120. package/lib/layout/layout-hooks.js +3 -1
  121. package/lib/layout/layout-hooks.js.map +1 -1
  122. package/lib/layout/layout-state.js.map +1 -1
  123. package/lib/layout/layout.interface.d.ts +1 -1
  124. package/lib/layout/layout.interface.d.ts.map +1 -1
  125. package/lib/layout/layout.js.map +1 -1
  126. package/lib/logger/browser-logger.js.map +1 -1
  127. package/lib/markdown/index.d.ts +1 -1
  128. package/lib/markdown/index.d.ts.map +1 -1
  129. package/lib/markdown/index.js +31 -4
  130. package/lib/markdown/index.js.map +1 -1
  131. package/lib/menu/next/base.d.ts +4 -4
  132. package/lib/menu/next/base.d.ts.map +1 -1
  133. package/lib/menu/next/base.js.map +1 -1
  134. package/lib/menu/next/ctxmenu-service.js +10 -10
  135. package/lib/menu/next/ctxmenu-service.js.map +1 -1
  136. package/lib/menu/next/menu-service.js +6 -6
  137. package/lib/menu/next/menu-service.js.map +1 -1
  138. package/lib/menu/next/menu.contrib.interface.d.ts +15 -16
  139. package/lib/menu/next/menu.contrib.interface.d.ts.map +1 -1
  140. package/lib/menu/next/menu.contrib.interface.js.map +1 -1
  141. package/lib/menu/next/menu.interface.d.ts +2 -2
  142. package/lib/menu/next/menu.interface.d.ts.map +1 -1
  143. package/lib/menu/next/menu.interface.js.map +1 -1
  144. package/lib/menu/next/menubar-service.js +10 -10
  145. package/lib/menu/next/menubar-service.js.map +1 -1
  146. package/lib/menu/next/renderer/ctxmenu/browser.js.map +1 -1
  147. package/lib/menu/next/renderer/ctxmenu/electron.js.map +1 -1
  148. package/lib/menu/next/toolbar-action.service.d.ts +1 -1
  149. package/lib/menu/next/toolbar-action.service.d.ts.map +1 -1
  150. package/lib/menu/next/toolbar-action.service.js.map +1 -1
  151. package/lib/monaco/index.d.ts +3 -7
  152. package/lib/monaco/index.d.ts.map +1 -1
  153. package/lib/monaco/index.js.map +1 -1
  154. package/lib/opener/command-opener.js.map +1 -1
  155. package/lib/opener/default-opener.js.map +1 -1
  156. package/lib/opener/http-opener.js.map +1 -1
  157. package/lib/opener/opener.contribution.js.map +1 -1
  158. package/lib/opener/opener.service.js.map +1 -1
  159. package/lib/preferences/early-preferences.js +4 -4
  160. package/lib/preferences/early-preferences.js.map +1 -1
  161. package/lib/preferences/preference-configurations.js +1 -1
  162. package/lib/preferences/preference-configurations.js.map +1 -1
  163. package/lib/preferences/preference-contribution.d.ts +2 -1
  164. package/lib/preferences/preference-contribution.d.ts.map +1 -1
  165. package/lib/preferences/preference-contribution.js +20 -23
  166. package/lib/preferences/preference-contribution.js.map +1 -1
  167. package/lib/preferences/preference-provider.js.map +1 -1
  168. package/lib/preferences/preference-proxy.d.ts +3 -2
  169. package/lib/preferences/preference-proxy.d.ts.map +1 -1
  170. package/lib/preferences/preference-proxy.js.map +1 -1
  171. package/lib/preferences/preference-service.d.ts +0 -1
  172. package/lib/preferences/preference-service.d.ts.map +1 -1
  173. package/lib/preferences/preference-service.js +3 -50
  174. package/lib/preferences/preference-service.js.map +1 -1
  175. package/lib/preferences/settings.d.ts +5 -44
  176. package/lib/preferences/settings.d.ts.map +1 -1
  177. package/lib/preferences/settings.js.map +1 -1
  178. package/lib/preferences/types.d.ts +1 -8
  179. package/lib/preferences/types.d.ts.map +1 -1
  180. package/lib/preferences/types.js.map +1 -1
  181. package/lib/progress/progress-bar.d.ts +1 -4
  182. package/lib/progress/progress-bar.d.ts.map +1 -1
  183. package/lib/progress/progress-bar.js +4 -11
  184. package/lib/progress/progress-bar.js.map +1 -1
  185. package/lib/progress/progress-indicator.js.map +1 -1
  186. package/lib/progress/progress.service.js +6 -6
  187. package/lib/progress/progress.service.js.map +1 -1
  188. package/lib/quick-open/index.d.ts +1 -1
  189. package/lib/quick-open/index.d.ts.map +1 -1
  190. package/lib/quick-open/index.js.map +1 -1
  191. package/lib/quick-open/recent-files.js.map +1 -1
  192. package/lib/raw-context-key.d.ts +1 -1
  193. package/lib/raw-context-key.d.ts.map +1 -1
  194. package/lib/raw-context-key.js +4 -4
  195. package/lib/raw-context-key.js.map +1 -1
  196. package/lib/react-providers/config-provider.d.ts +0 -5
  197. package/lib/react-providers/config-provider.d.ts.map +1 -1
  198. package/lib/react-providers/config-provider.js.map +1 -1
  199. package/lib/react-providers/slot.d.ts +2 -2
  200. package/lib/react-providers/slot.d.ts.map +1 -1
  201. package/lib/services/clipboard.service.d.ts +0 -1
  202. package/lib/services/clipboard.service.d.ts.map +1 -1
  203. package/lib/services/clipboard.service.js +30 -17
  204. package/lib/services/clipboard.service.js.map +1 -1
  205. package/lib/services/credentials-service.js.map +1 -1
  206. package/lib/services/crypto-service.js.map +1 -1
  207. package/lib/services/external-uri.service.js.map +1 -1
  208. package/lib/services/label-service.js.map +1 -1
  209. package/lib/services/storage-service.d.ts +0 -1
  210. package/lib/services/storage-service.d.ts.map +1 -1
  211. package/lib/services/storage-service.js +2 -13
  212. package/lib/services/storage-service.js.map +1 -1
  213. package/lib/style/icon/icon.d.ts +2 -3
  214. package/lib/style/icon/icon.d.ts.map +1 -1
  215. package/lib/style/icon/icon.js +1 -5
  216. package/lib/style/icon/icon.js.map +1 -1
  217. package/lib/style/icon/ide-iconfont.d.ts +1 -1
  218. package/lib/style/icon/ide-iconfont.d.ts.map +1 -1
  219. package/lib/style/icon/ide-iconfont.js +1 -1
  220. package/lib/style/icon/ide-iconfont.js.map +1 -1
  221. package/lib/style/icon/index.less +0 -13
  222. package/lib/toolbar/components/button.js +12 -12
  223. package/lib/toolbar/components/button.js.map +1 -1
  224. package/lib/toolbar/toolbar.popover.registry.js.map +1 -1
  225. package/lib/toolbar/toolbar.registry.d.ts +1 -1
  226. package/lib/toolbar/toolbar.registry.d.ts.map +1 -1
  227. package/lib/toolbar/toolbar.registry.js.map +1 -1
  228. package/lib/toolbar/types.d.ts +1 -1
  229. package/lib/toolbar/types.d.ts.map +1 -1
  230. package/lib/tree/index.d.ts +4 -0
  231. package/lib/tree/index.d.ts.map +1 -0
  232. package/lib/tree/index.js +7 -0
  233. package/lib/tree/index.js.map +1 -0
  234. package/lib/tree/tree-expansion.d.ts +16 -0
  235. package/lib/tree/tree-expansion.d.ts.map +1 -0
  236. package/lib/tree/tree-expansion.js +20 -0
  237. package/lib/tree/tree-expansion.js.map +1 -0
  238. package/lib/tree/tree-selection.d.ts +48 -0
  239. package/lib/tree/tree-selection.d.ts.map +1 -0
  240. package/lib/tree/tree-selection.js +64 -0
  241. package/lib/tree/tree-selection.js.map +1 -0
  242. package/lib/tree/tree.d.ts +195 -0
  243. package/lib/tree/tree.d.ts.map +1 -0
  244. package/lib/tree/tree.js +108 -0
  245. package/lib/tree/tree.js.map +1 -0
  246. package/lib/utils/json.d.ts +5 -5
  247. package/lib/utils/json.d.ts.map +1 -1
  248. package/lib/utils/label.d.ts.map +1 -1
  249. package/lib/utils/label.js +9 -16
  250. package/lib/utils/label.js.map +1 -1
  251. package/lib/utils/parse.d.ts +1 -2
  252. package/lib/utils/parse.d.ts.map +1 -1
  253. package/lib/utils/parse.js +1 -10
  254. package/lib/utils/parse.js.map +1 -1
  255. package/lib/variable/variable.d.ts +1 -1
  256. package/lib/variable/variable.d.ts.map +1 -1
  257. package/lib/variable/variable.js.map +1 -1
  258. package/lib/window/window.service.js.map +1 -1
  259. package/package.json +11 -9
  260. package/lib/bootstrap/app.interface.d.ts +0 -39
  261. package/lib/bootstrap/app.interface.d.ts.map +0 -1
  262. package/lib/bootstrap/app.interface.js +0 -3
  263. package/lib/bootstrap/app.interface.js.map +0 -1
  264. package/lib/contextkey/search.d.ts +0 -24
  265. package/lib/contextkey/search.d.ts.map +0 -1
  266. package/lib/contextkey/search.js +0 -29
  267. package/lib/contextkey/search.js.map +0 -1
  268. package/lib/file-decoration.d.ts +0 -10
  269. package/lib/file-decoration.d.ts.map +0 -1
  270. package/lib/file-decoration.js +0 -3
  271. package/lib/file-decoration.js.map +0 -1
  272. package/lib/monaco/merge-editor-widget.d.ts +0 -53
  273. package/lib/monaco/merge-editor-widget.d.ts.map +0 -1
  274. package/lib/monaco/merge-editor-widget.js +0 -107
  275. package/lib/monaco/merge-editor-widget.js.map +0 -1
  276. package/lib/react-hooks/useThrottleFn/index.d.ts +0 -13
  277. package/lib/react-hooks/useThrottleFn/index.d.ts.map +0 -1
  278. package/lib/react-hooks/useThrottleFn/index.js +0 -20
  279. package/lib/react-hooks/useThrottleFn/index.js.map +0 -1
  280. package/src/application/application-state-service.ts +0 -54
  281. package/src/application/application.service.ts +0 -51
  282. package/src/application/index.ts +0 -2
  283. package/src/authentication/authentication.contribution.ts +0 -35
  284. package/src/authentication/authentication.service.ts +0 -517
  285. package/src/bootstrap/app.interface.ts +0 -46
  286. package/src/bootstrap/app.ts +0 -710
  287. package/src/bootstrap/app.view.tsx +0 -88
  288. package/src/bootstrap/connection.ts +0 -116
  289. package/src/bootstrap/index.ts +0 -3
  290. package/src/bootstrap/inner-providers.ts +0 -297
  291. package/src/bootstrap/lifecycle.service.ts +0 -19
  292. package/src/browser-module.ts +0 -24
  293. package/src/common/common.command.ts +0 -1018
  294. package/src/common/common.contribution.ts +0 -343
  295. package/src/common/common.define.ts +0 -55
  296. package/src/common/common.module.ts +0 -33
  297. package/src/common/common.storage.ts +0 -22
  298. package/src/common/container-id.ts +0 -12
  299. package/src/common/index.ts +0 -4
  300. package/src/components/actions/index.tsx +0 -486
  301. package/src/components/actions/placements.ts +0 -47
  302. package/src/components/actions/styles.module.less +0 -144
  303. package/src/components/badge/index.tsx +0 -1
  304. package/src/components/index.ts +0 -22
  305. package/src/components/layout/box-panel.tsx +0 -88
  306. package/src/components/layout/default-layout.tsx +0 -61
  307. package/src/components/layout/index.ts +0 -4
  308. package/src/components/layout/layout.ts +0 -80
  309. package/src/components/layout/split-panel.service.ts +0 -56
  310. package/src/components/layout/split-panel.tsx +0 -315
  311. package/src/components/layout/styles.module.less +0 -21
  312. package/src/components/loading/index.ts +0 -1
  313. package/src/components/loading/loading.less +0 -14
  314. package/src/components/loading/loading.view.tsx +0 -7
  315. package/src/components/loading/media/loading-dark.svg +0 -52
  316. package/src/components/loading/media/loading-hc.svg +0 -52
  317. package/src/components/loading/media/loading.svg +0 -52
  318. package/src/components/popover/styles.module.less +0 -81
  319. package/src/components/portal/index.tsx +0 -13
  320. package/src/components/progressbar/index.tsx +0 -3
  321. package/src/components/resize/resize.module.less +0 -78
  322. package/src/components/resize/resize.tsx +0 -663
  323. package/src/components/select/index.tsx +0 -12
  324. package/src/components/select/styles.less +0 -6
  325. package/src/context-key.ts +0 -48
  326. package/src/contextkey/dialog.ts +0 -3
  327. package/src/contextkey/explorer.ts +0 -26
  328. package/src/contextkey/index.ts +0 -6
  329. package/src/contextkey/outline.ts +0 -4
  330. package/src/contextkey/resource.ts +0 -61
  331. package/src/contextkey/search.ts +0 -30
  332. package/src/contextkey/terminal.ts +0 -7
  333. package/src/contextkey/testing.ts +0 -9
  334. package/src/contextkey/workspace.ts +0 -7
  335. package/src/core-preferences.ts +0 -318
  336. package/src/dom/index.ts +0 -176
  337. package/src/encoding-registry.ts +0 -83
  338. package/src/extensions/extensions-point.service.ts +0 -78
  339. package/src/extensions/index.ts +0 -3
  340. package/src/extensions/schema/browserViews.ts +0 -96
  341. package/src/extensions/schema/menu.ts +0 -245
  342. package/src/extensions/schema/opensumiExtensionPackageSchema.ts +0 -12
  343. package/src/extensions/schema/toolbar.ts +0 -338
  344. package/src/extensions/schema/vscodeExtensionPackageSchema.ts +0 -330
  345. package/src/file-decoration.ts +0 -10
  346. package/src/fs/index.ts +0 -12
  347. package/src/hash-calculate/hash-calculate.contribution.ts +0 -19
  348. package/src/index.ts +0 -42
  349. package/src/keybinding/index.ts +0 -1
  350. package/src/keybinding/keybinding.ts +0 -908
  351. package/src/keyboard/index.ts +0 -3
  352. package/src/keyboard/keyboard-layout-provider.ts +0 -412
  353. package/src/keyboard/keyboard-layout-service.ts +0 -449
  354. package/src/keyboard/keys.ts +0 -748
  355. package/src/keyboard/layouts/_.contribution.ts +0 -24
  356. package/src/keyboard/layouts/cz.win.ts +0 -168
  357. package/src/keyboard/layouts/de-swiss.win.ts +0 -168
  358. package/src/keyboard/layouts/de.darwin.ts +0 -131
  359. package/src/keyboard/layouts/de.linux.ts +0 -186
  360. package/src/keyboard/layouts/de.win.ts +0 -168
  361. package/src/keyboard/layouts/dk.win.ts +0 -168
  362. package/src/keyboard/layouts/dvorak.darwin.ts +0 -131
  363. package/src/keyboard/layouts/en-belgian.win.ts +0 -168
  364. package/src/keyboard/layouts/en-ext.darwin.ts +0 -131
  365. package/src/keyboard/layouts/en-in.win.ts +0 -168
  366. package/src/keyboard/layouts/en-intl.darwin.ts +0 -131
  367. package/src/keyboard/layouts/en-intl.win.ts +0 -168
  368. package/src/keyboard/layouts/en-uk.darwin.ts +0 -131
  369. package/src/keyboard/layouts/en-uk.win.ts +0 -168
  370. package/src/keyboard/layouts/en.darwin.ts +0 -139
  371. package/src/keyboard/layouts/en.linux.ts +0 -186
  372. package/src/keyboard/layouts/en.win.ts +0 -173
  373. package/src/keyboard/layouts/es-latin.win.ts +0 -168
  374. package/src/keyboard/layouts/es.darwin.ts +0 -131
  375. package/src/keyboard/layouts/es.linux.ts +0 -186
  376. package/src/keyboard/layouts/es.win.ts +0 -168
  377. package/src/keyboard/layouts/fr.darwin.ts +0 -131
  378. package/src/keyboard/layouts/fr.linux.ts +0 -186
  379. package/src/keyboard/layouts/fr.win.ts +0 -168
  380. package/src/keyboard/layouts/hu.win.ts +0 -168
  381. package/src/keyboard/layouts/it.darwin.ts +0 -131
  382. package/src/keyboard/layouts/it.win.ts +0 -168
  383. package/src/keyboard/layouts/jp-roman.darwin.ts +0 -131
  384. package/src/keyboard/layouts/jp.darwin.ts +0 -131
  385. package/src/keyboard/layouts/ko.darwin.ts +0 -131
  386. package/src/keyboard/layouts/layout.contribution.darwin.ts +0 -23
  387. package/src/keyboard/layouts/layout.contribution.linux.ts +0 -12
  388. package/src/keyboard/layouts/layout.contribution.ts +0 -9
  389. package/src/keyboard/layouts/layout.contribution.win.ts +0 -29
  390. package/src/keyboard/layouts/no.win.ts +0 -168
  391. package/src/keyboard/layouts/pl.darwin.ts +0 -131
  392. package/src/keyboard/layouts/pl.win.ts +0 -168
  393. package/src/keyboard/layouts/pt-br.win.ts +0 -169
  394. package/src/keyboard/layouts/pt.darwin.ts +0 -131
  395. package/src/keyboard/layouts/pt.win.ts +0 -168
  396. package/src/keyboard/layouts/ru.darwin.ts +0 -131
  397. package/src/keyboard/layouts/ru.linux.ts +0 -186
  398. package/src/keyboard/layouts/ru.win.ts +0 -168
  399. package/src/keyboard/layouts/sv.darwin.ts +0 -131
  400. package/src/keyboard/layouts/sv.win.ts +0 -168
  401. package/src/keyboard/layouts/thai.win.ts +0 -168
  402. package/src/keyboard/layouts/tr.win.ts +0 -168
  403. package/src/keyboard/layouts/zh-hans.darwin.ts +0 -131
  404. package/src/layout/accordion/tab-bar-toolbar.tsx +0 -59
  405. package/src/layout/accordion/view-context-key.registry.ts +0 -34
  406. package/src/layout/constants.ts +0 -7
  407. package/src/layout/index.ts +0 -5
  408. package/src/layout/layout-hooks.ts +0 -68
  409. package/src/layout/layout-state.ts +0 -107
  410. package/src/layout/layout.interface.ts +0 -101
  411. package/src/layout/layout.ts +0 -80
  412. package/src/layout/view-id.ts +0 -18
  413. package/src/logger/browser-logger.ts +0 -51
  414. package/src/logger/index.ts +0 -1
  415. package/src/markdown/index.tsx +0 -30
  416. package/src/menu/next/base.ts +0 -513
  417. package/src/menu/next/ctxmenu-service.ts +0 -188
  418. package/src/menu/next/index.ts +0 -10
  419. package/src/menu/next/menu-id.ts +0 -86
  420. package/src/menu/next/menu-service.ts +0 -252
  421. package/src/menu/next/menu-util.ts +0 -77
  422. package/src/menu/next/menu.contrib.interface.ts +0 -79
  423. package/src/menu/next/menu.interface.ts +0 -253
  424. package/src/menu/next/menubar-service.ts +0 -211
  425. package/src/menu/next/renderer/ctxmenu/base.ts +0 -18
  426. package/src/menu/next/renderer/ctxmenu/browser.ts +0 -45
  427. package/src/menu/next/renderer/ctxmenu/electron.ts +0 -207
  428. package/src/menu/next/toolbar-action.service.ts +0 -132
  429. package/src/monaco/index.ts +0 -136
  430. package/src/monaco/merge-editor-widget.ts +0 -159
  431. package/src/opener/command-opener.ts +0 -42
  432. package/src/opener/default-opener.ts +0 -31
  433. package/src/opener/http-opener.ts +0 -25
  434. package/src/opener/index.ts +0 -19
  435. package/src/opener/opener.contribution.ts +0 -57
  436. package/src/opener/opener.service.ts +0 -66
  437. package/src/preferences/early-preferences.ts +0 -117
  438. package/src/preferences/index.ts +0 -9
  439. package/src/preferences/preference-configurations.ts +0 -77
  440. package/src/preferences/preference-contribution.ts +0 -395
  441. package/src/preferences/preference-provider.ts +0 -414
  442. package/src/preferences/preference-proxy.ts +0 -291
  443. package/src/preferences/preference-scope.ts +0 -3
  444. package/src/preferences/preference-service.ts +0 -623
  445. package/src/preferences/settings.ts +0 -90
  446. package/src/preferences/types.ts +0 -119
  447. package/src/progress/index.ts +0 -58
  448. package/src/progress/progress-bar.tsx +0 -34
  449. package/src/progress/progress-indicator.ts +0 -90
  450. package/src/progress/progress.module.less +0 -46
  451. package/src/progress/progress.service.tsx +0 -429
  452. package/src/quick-open/index.ts +0 -655
  453. package/src/quick-open/recent-files.ts +0 -68
  454. package/src/raw-context-key.ts +0 -116
  455. package/src/react-hooks/event.tsx +0 -80
  456. package/src/react-hooks/hot-key.tsx +0 -58
  457. package/src/react-hooks/index.ts +0 -3
  458. package/src/react-hooks/injectable-hooks.tsx +0 -35
  459. package/src/react-hooks/portal-hooks.tsx +0 -38
  460. package/src/react-hooks/useThrottleFn/index.ts +0 -34
  461. package/src/react-providers/config-provider.tsx +0 -264
  462. package/src/react-providers/index.tsx +0 -2
  463. package/src/react-providers/slot.module.less +0 -19
  464. package/src/react-providers/slot.tsx +0 -242
  465. package/src/services/clipboard.service.ts +0 -92
  466. package/src/services/credentials-service.ts +0 -91
  467. package/src/services/crypto-service.ts +0 -23
  468. package/src/services/external-uri.service.ts +0 -68
  469. package/src/services/index.ts +0 -7
  470. package/src/services/label-service.ts +0 -386
  471. package/src/services/status-bar-service.ts +0 -108
  472. package/src/services/storage-service.ts +0 -201
  473. package/src/style/codicons/README.md +0 -22
  474. package/src/style/codicons/codicon-animations.css +0 -15
  475. package/src/style/codicons/generator.js +0 -15
  476. package/src/style/entry.less +0 -25
  477. package/src/style/icon/fileicons/file-default.svg +0 -1
  478. package/src/style/icon/fileicons/folder-default.svg +0 -1
  479. package/src/style/icon/fileicons.less +0 -20
  480. package/src/style/icon/icon.ts +0 -547
  481. package/src/style/icon/ide-iconfont.ts +0 -13
  482. package/src/style/icon/index.less +0 -67
  483. package/src/style/icon/seti.woff +0 -0
  484. package/src/style/icon/symbol-icons/boolean-dark.svg +0 -3
  485. package/src/style/icon/symbol-icons/boolean-light.svg +0 -3
  486. package/src/style/icon/symbol-icons/class-dark.svg +0 -3
  487. package/src/style/icon/symbol-icons/class-light.svg +0 -3
  488. package/src/style/icon/symbol-icons/constant-dark.svg +0 -4
  489. package/src/style/icon/symbol-icons/constant-light.svg +0 -4
  490. package/src/style/icon/symbol-icons/enumerator-dark.svg +0 -3
  491. package/src/style/icon/symbol-icons/enumerator-item-dark.svg +0 -3
  492. package/src/style/icon/symbol-icons/enumerator-item-light.svg +0 -3
  493. package/src/style/icon/symbol-icons/enumerator-light.svg +0 -3
  494. package/src/style/icon/symbol-icons/event-dark.svg +0 -3
  495. package/src/style/icon/symbol-icons/event-light.svg +0 -3
  496. package/src/style/icon/symbol-icons/field-dark.svg +0 -3
  497. package/src/style/icon/symbol-icons/field-light.svg +0 -3
  498. package/src/style/icon/symbol-icons/file-dark.svg +0 -3
  499. package/src/style/icon/symbol-icons/file-light.svg +0 -3
  500. package/src/style/icon/symbol-icons/indexer-dark.svg +0 -3
  501. package/src/style/icon/symbol-icons/indexer-light.svg +0 -3
  502. package/src/style/icon/symbol-icons/interface-dark.svg +0 -3
  503. package/src/style/icon/symbol-icons/interface-light.svg +0 -3
  504. package/src/style/icon/symbol-icons/keyword-dark.svg +0 -3
  505. package/src/style/icon/symbol-icons/keyword-light.svg +0 -3
  506. package/src/style/icon/symbol-icons/method-dark.svg +0 -3
  507. package/src/style/icon/symbol-icons/method-light.svg +0 -3
  508. package/src/style/icon/symbol-icons/namespace-dark.svg +0 -3
  509. package/src/style/icon/symbol-icons/namespace-light.svg +0 -3
  510. package/src/style/icon/symbol-icons/numeric-dark.svg +0 -3
  511. package/src/style/icon/symbol-icons/numeric-light.svg +0 -3
  512. package/src/style/icon/symbol-icons/operator-dark.svg +0 -3
  513. package/src/style/icon/symbol-icons/operator-light.svg +0 -3
  514. package/src/style/icon/symbol-icons/property-dark.svg +0 -3
  515. package/src/style/icon/symbol-icons/property-light.svg +0 -3
  516. package/src/style/icon/symbol-icons/snippet-dark.svg +0 -3
  517. package/src/style/icon/symbol-icons/snippet-light.svg +0 -3
  518. package/src/style/icon/symbol-icons/string-dark.svg +0 -3
  519. package/src/style/icon/symbol-icons/string-light.svg +0 -3
  520. package/src/style/icon/symbol-icons/structure-dark.svg +0 -3
  521. package/src/style/icon/symbol-icons/structure-light.svg +0 -3
  522. package/src/style/icon/symbol-icons/symbol-icons.css +0 -284
  523. package/src/style/icon/symbol-icons/template-dark.svg +0 -3
  524. package/src/style/icon/symbol-icons/template-light.svg +0 -3
  525. package/src/style/icon/symbol-icons/variable-dark.svg +0 -3
  526. package/src/style/icon/symbol-icons/variable-light.svg +0 -3
  527. package/src/style/icon.less +0 -8
  528. package/src/style/index.less +0 -14
  529. package/src/style/monaco-override.less +0 -116
  530. package/src/style/normalize.less +0 -92
  531. package/src/style/octicons/octicons-cdn.css +0 -720
  532. package/src/style/octicons/octicons.css +0 -714
  533. package/src/style/octicons/octicons.html +0 -1882
  534. package/src/style/octicons/octicons.svg +0 -582
  535. package/src/style/octicons/octicons.ttf +0 -0
  536. package/src/style/override.less +0 -97
  537. package/src/style/toolbar.less +0 -199
  538. package/src/style/utilities.less +0 -8
  539. package/src/style/variable.less +0 -8
  540. package/src/terminal/index.ts +0 -7
  541. package/src/toolbar/components/auto-complete.tsx +0 -0
  542. package/src/toolbar/components/button.tsx +0 -440
  543. package/src/toolbar/components/index.ts +0 -2
  544. package/src/toolbar/components/select.tsx +0 -189
  545. package/src/toolbar/index.ts +0 -3
  546. package/src/toolbar/toolbar.popover.registry.ts +0 -32
  547. package/src/toolbar/toolbar.registry.ts +0 -352
  548. package/src/toolbar/toolbar.tsx +0 -710
  549. package/src/toolbar/types.ts +0 -383
  550. package/src/utils/create-overlay.tsx +0 -53
  551. package/src/utils/electron.ts +0 -92
  552. package/src/utils/env.ts +0 -26
  553. package/src/utils/icon.ts +0 -13
  554. package/src/utils/index.ts +0 -7
  555. package/src/utils/json.ts +0 -251
  556. package/src/utils/label.tsx +0 -36
  557. package/src/utils/parse.ts +0 -82
  558. package/src/utils/react-hooks.ts +0 -118
  559. package/src/variable/index.ts +0 -1
  560. package/src/variable/variable.ts +0 -84
  561. package/src/window/index.ts +0 -34
  562. package/src/window/window.service.ts +0 -100
@@ -1,3 +0,0 @@
1
- export * from './keys';
2
- export * from './keyboard-layout-service';
3
- export * from './keyboard-layout-provider';
@@ -1,412 +0,0 @@
1
- import { Injectable, Autowired } from '@opensumi/di';
2
- import { isOSX, Emitter, Deferred, ILogger, isWindows } from '@opensumi/ide-core-common';
3
- import {
4
- KeyboardNativeLayoutService,
5
- KeyboardLayoutChangeNotifierService,
6
- KeyValidationInput,
7
- IKeymapInfo,
8
- ILinuxKeyboardLayoutInfo,
9
- IMacKeyboardLayoutInfo,
10
- KeymapInfo,
11
- getKeyboardLayoutId,
12
- } from '@opensumi/ide-core-common/lib/keyboard';
13
-
14
- import { GlobalBrowserStorageService } from '../services';
15
-
16
- import { KeyCode } from './keys';
17
- import { KeyboardLayoutContribution, requireRegister } from './layouts/layout.contribution';
18
-
19
- export const KeyValidator = Symbol('KeyValidator');
20
-
21
- export interface KeyValidator {
22
- validateKeyCode(keyCode: KeyCode): void;
23
- }
24
-
25
- export type KeyboardLayoutSource = 'navigator.keyboard' | 'user-choice' | 'pressed-keys';
26
-
27
- @Injectable()
28
- export class BrowserKeyboardLayoutImpl
29
- implements KeyboardNativeLayoutService, KeyboardLayoutChangeNotifierService, KeyValidator
30
- {
31
- @Autowired(ILogger)
32
- protected readonly logger: ILogger;
33
-
34
- @Autowired(GlobalBrowserStorageService)
35
- private readonly browserStorageService: GlobalBrowserStorageService;
36
-
37
- protected readonly initialized = new Deferred<void>();
38
- protected readonly nativeLayoutChanged = new Emitter<KeymapInfo>();
39
-
40
- get onDidChangeNativeLayout() {
41
- return this.nativeLayoutChanged.event;
42
- }
43
-
44
- protected readonly tester = new KeyboardTester();
45
- protected source: KeyboardLayoutSource = 'pressed-keys';
46
- protected currentLayout: KeymapInfo | null;
47
-
48
- get allLayoutData() {
49
- return this.tester.keymapInfos.slice();
50
- }
51
-
52
- get currentLayoutData() {
53
- return this.currentLayout;
54
- }
55
-
56
- get currentLayoutSource() {
57
- return this.source;
58
- }
59
-
60
- constructor() {
61
- this.initialize();
62
- }
63
-
64
- get whenReady() {
65
- return this.initialized.promise;
66
- }
67
-
68
- protected async initialize(): Promise<void> {
69
- this.loadState();
70
- const keyboard = (navigator as NavigatorExtension).keyboard;
71
- if (keyboard && keyboard.addEventListener) {
72
- keyboard.addEventListener('layoutchange', async () => {
73
- const newLayout = await this.getNativeLayout();
74
- if (newLayout) {
75
- this.nativeLayoutChanged.fire(newLayout);
76
- }
77
- });
78
- }
79
- this.initialized.resolve();
80
- }
81
-
82
- /**
83
- * 获取当前合适的用户键盘布局
84
- * 用户选择或是自动检测
85
- */
86
- async getNativeLayout(): Promise<KeymapInfo | void> {
87
- await this.whenReady;
88
- if (this.source === 'user-choice' && this.currentLayout) {
89
- return this.currentLayout;
90
- }
91
- const [layout, source] = await this.autodetect();
92
- if (layout) {
93
- this.setCurrent(layout, source);
94
- return layout;
95
- }
96
- }
97
-
98
- /**
99
- * 设置 user-choice 的键盘数据
100
- */
101
- async setLayoutData(layout: KeymapInfo | 'autodetect'): Promise<KeymapInfo | null> {
102
- if (layout === 'autodetect') {
103
- if (this.source === 'user-choice') {
104
- const [newLayout, source] = await this.autodetect();
105
- if (newLayout) {
106
- this.setCurrent(newLayout, source);
107
- this.nativeLayoutChanged.fire(newLayout);
108
- return newLayout;
109
- }
110
- }
111
- return this.currentLayout;
112
- } else {
113
- if (this.source !== 'user-choice' || layout !== this.currentLayout) {
114
- this.setCurrent(layout, 'user-choice');
115
- this.nativeLayoutChanged.fire(layout);
116
- }
117
- return layout;
118
- }
119
- }
120
-
121
- /**
122
- * 将 KeyCode 校验转化为 KeyValidationInput 校验
123
- */
124
- validateKeyCode(keyCode: KeyCode): void {
125
- if (keyCode.key && keyCode.character) {
126
- this.validateKey({
127
- code: keyCode.key.code,
128
- character: keyCode.character,
129
- shiftKey: keyCode.shift,
130
- ctrlKey: keyCode.ctrl,
131
- altKey: keyCode.alt,
132
- });
133
- }
134
- }
135
-
136
- /**
137
- * 使用给定的按键组合和键来测试所有已知的键盘布局所产生的字符。
138
- * 匹配度越高得分越高可参考(KeyboardTester实现)。
139
- * 如果得分最高的键盘布局发生改吧,触发键盘布局变化事件。
140
- */
141
- private validateKey(keyCode: KeyValidationInput): void {
142
- if (this.source !== 'pressed-keys') {
143
- return;
144
- }
145
- const accepted = this.tester.updateScores(keyCode);
146
- if (!accepted) {
147
- return;
148
- }
149
- const layout = this.selectLayout();
150
- if (layout && layout !== this.currentLayout) {
151
- this.setCurrent(layout, 'pressed-keys');
152
- this.nativeLayoutChanged.fire(layout);
153
- }
154
- }
155
-
156
- protected setCurrent(layout: KeymapInfo, source: KeyboardLayoutSource): void {
157
- this.currentLayout = layout;
158
- this.source = source;
159
- this.saveState();
160
- if (this.tester.inputCount && (source === 'pressed-keys' || source === 'navigator.keyboard')) {
161
- const from = source === 'pressed-keys' ? 'pressed keys' : 'browser API';
162
- this.logger.debug(`Detected keyboard layout from ${from}: ${JSON.stringify(layout.layout)}`);
163
- }
164
- }
165
-
166
- protected async autodetect(): Promise<[KeymapInfo | null, KeyboardLayoutSource]> {
167
- const keyboard = (navigator as NavigatorExtension).keyboard;
168
- if (keyboard && keyboard.getLayoutMap) {
169
- try {
170
- const layoutMap = await keyboard.getLayoutMap();
171
- this.testLayoutMap(layoutMap);
172
- return [this.selectLayout(), 'navigator.keyboard'];
173
- } catch (error) {
174
- this.logger.warn('Failed to obtain keyboard layout map.', error);
175
- }
176
- }
177
- return [this.selectLayout(), 'pressed-keys'];
178
- }
179
-
180
- /**
181
- * @param layoutMap a keyboard layout map according to https://wicg.github.io/keyboard-map/
182
- */
183
- protected testLayoutMap(layoutMap: KeyboardLayoutMap): void {
184
- this.tester.reset();
185
- for (const [code, key] of layoutMap.entries()) {
186
- this.tester.updateScores({ code, character: key });
187
- }
188
- }
189
-
190
- /**
191
- * 根据当前检测到的语言 navigator.language
192
- * 及浏览器中获取到的操作系统信息选择合适的键盘布局
193
- */
194
- protected selectLayout(): KeymapInfo | null {
195
- const keymapInfos = this.tester.keymapInfos;
196
- const scores = this.tester.scores;
197
- const topScore = this.tester.topScore;
198
- const language = navigator.language;
199
- let topScoringCount = 0;
200
- for (let i = 0; i < keymapInfos.length; i++) {
201
- if (scores[i] === topScore) {
202
- const candidate = keymapInfos[i];
203
- if (isOSX) {
204
- if (language && language.startsWith((candidate.layout as IMacKeyboardLayoutInfo).lang)) {
205
- return candidate;
206
- }
207
- } else if (!isWindows) {
208
- // windows 环境不需要考虑
209
- if (language && language.startsWith((candidate.layout as ILinuxKeyboardLayoutInfo).layout)) {
210
- return candidate;
211
- }
212
- }
213
- topScoringCount++;
214
- }
215
- }
216
- if (topScoringCount >= 1) {
217
- return keymapInfos.find((_, i) => scores[i] === topScore)!;
218
- }
219
- return this.tester.getUSStandardLayout();
220
- }
221
-
222
- protected saveState(): void {
223
- const data: LayoutProviderState = {
224
- tester: this.tester.getState(),
225
- source: this.source,
226
- currentLayoutId: this.currentLayout ? getKeyboardLayoutId(this.currentLayout?.layout) : undefined,
227
- };
228
- // 全局只需要共用一份存储即可
229
- return this.browserStorageService.setData('keyboard', data);
230
- }
231
-
232
- protected loadState() {
233
- const data = this.browserStorageService.getData<LayoutProviderState>('keyboard');
234
- if (data) {
235
- this.tester.setState(data.tester || {});
236
- this.source = data.source || 'pressed-keys';
237
- if (data.currentLayoutId) {
238
- const layout = this.tester.keymapInfos.find((c) => getKeyboardLayoutId(c.layout) === data.currentLayoutId);
239
- if (layout) {
240
- this.currentLayout = layout;
241
- }
242
- } else {
243
- this.currentLayout = this.tester.getUSStandardLayout();
244
- }
245
- }
246
- }
247
- }
248
-
249
- export interface LayoutProviderState {
250
- tester?: KeyboardTesterState;
251
- source?: KeyboardLayoutSource;
252
- currentLayoutId?: string;
253
- }
254
-
255
- export interface KeyboardTesterState {
256
- scores?: { [id: string]: number };
257
- topScore?: number;
258
- testedInputs?: { [key: string]: string };
259
- }
260
-
261
- /**
262
- * 通过对比用户输入 Key Codes 得到的解析结果,处理所有已知键盘布局分数
263
- */
264
- export class KeyboardTester {
265
- readonly scores: number[];
266
- topScore = 0;
267
-
268
- private readonly testedInputs = new Map<string, string>();
269
-
270
- private _keymapInfos: KeymapInfo[] = [];
271
- protected readonly initialized = new Deferred();
272
-
273
- get inputCount() {
274
- return this.testedInputs.size;
275
- }
276
-
277
- get keymapInfos() {
278
- return this._keymapInfos;
279
- }
280
-
281
- constructor() {
282
- requireRegister();
283
- const keymapInfos: IKeymapInfo[] = KeyboardLayoutContribution.INSTANCE.layoutInfos;
284
- this._keymapInfos.push(
285
- ...keymapInfos.map(
286
- (info) => new KeymapInfo(info.layout, info.secondaryLayouts, info.mapping, info.isUserKeyboardLayout),
287
- ),
288
- );
289
- this.initialized.resolve(true);
290
- this.scores = this.keymapInfos.map(() => 0);
291
- }
292
-
293
- reset(): void {
294
- for (let i = 0; i < this.scores.length; i++) {
295
- this.scores[i] = 0;
296
- }
297
- this.topScore = 0;
298
- this.testedInputs.clear();
299
- }
300
-
301
- updateScores(input: KeyValidationInput): boolean {
302
- let property: 'value' | 'withShift' | 'withAltGr' | 'withShiftAltGr';
303
- if (input.shiftKey && input.altKey) {
304
- property = 'withShiftAltGr';
305
- } else if (input.shiftKey) {
306
- property = 'withShift';
307
- } else if (input.altKey) {
308
- property = 'withAltGr';
309
- } else {
310
- property = 'value';
311
- }
312
- const inputKey = `${input.code}.${property}`;
313
- if (this.testedInputs.has(inputKey)) {
314
- if (this.testedInputs.get(inputKey) === input.character) {
315
- return false;
316
- } else {
317
- /**
318
- * 相同的按键输入输出了不同的字符
319
- * 可能发生了键盘布局变化,重置所有计算后的分数
320
- */
321
- this.reset();
322
- }
323
- }
324
-
325
- const scores = this.scores;
326
- for (let i = 0; i < this.keymapInfos.length; i++) {
327
- scores[i] += this.testCandidate(this.keymapInfos[i], input, property);
328
- if (scores[i] > this.topScore) {
329
- this.topScore = scores[i];
330
- }
331
- }
332
- this.testedInputs.set(inputKey, input.character);
333
- return true;
334
- }
335
-
336
- protected testCandidate(
337
- candidate: KeymapInfo,
338
- input: KeyValidationInput,
339
- property: 'value' | 'withShift' | 'withAltGr' | 'withShiftAltGr',
340
- ): number {
341
- const keyMapping = candidate.mapping[input.code];
342
- if (keyMapping && keyMapping[property]) {
343
- return keyMapping[property] === input.character ? 1 : 0;
344
- } else {
345
- return 0;
346
- }
347
- }
348
-
349
- getState(): KeyboardTesterState {
350
- const scores: { [id: string]: number } = {};
351
- for (let i = 0; i < this.scores.length; i++) {
352
- scores[getKeyboardLayoutId(this.keymapInfos[i].layout)] = this.scores[i];
353
- }
354
- const testedInputs: { [key: string]: string } = {};
355
- for (const [key, character] of this.testedInputs.entries()) {
356
- testedInputs[key] = character;
357
- }
358
- return {
359
- scores,
360
- topScore: this.topScore,
361
- testedInputs,
362
- };
363
- }
364
-
365
- setState(state: KeyboardTesterState): void {
366
- this.reset();
367
- if (state.scores) {
368
- const layoutIds = this.keymapInfos.map((info) => getKeyboardLayoutId(info.layout));
369
- for (const id in state.scores) {
370
- if (state.scores.hasOwnProperty(id)) {
371
- const index = layoutIds.indexOf(id);
372
- if (index > 0) {
373
- this.scores[index] = state.scores[id];
374
- }
375
- }
376
- }
377
- }
378
- if (state.topScore) {
379
- this.topScore = state.topScore;
380
- }
381
- if (state.testedInputs) {
382
- for (const key in state.testedInputs) {
383
- if (state.testedInputs.hasOwnProperty(key)) {
384
- this.testedInputs.set(key, state.testedInputs[key]);
385
- }
386
- }
387
- }
388
- }
389
-
390
- getUSStandardLayout() {
391
- const usStandardLayouts = this.keymapInfos.filter((layout) => layout.layout.isUSStandard);
392
-
393
- if (usStandardLayouts.length) {
394
- return usStandardLayouts[0];
395
- }
396
- return null;
397
- }
398
- }
399
-
400
- /**
401
- * API specified by https://wicg.github.io/keyboard-map/
402
- */
403
- interface NavigatorExtension extends Navigator {
404
- keyboard: Keyboard;
405
- }
406
-
407
- interface Keyboard {
408
- getLayoutMap(): Promise<KeyboardLayoutMap>;
409
- addEventListener(type: 'layoutchange', listener: EventListenerOrEventListenerObject): void;
410
- }
411
-
412
- type KeyboardLayoutMap = Map<string, string>;