@difizen/libro-core 0.0.0-snapshot-20241017072317

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 (433) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +280 -0
  3. package/es/add-cell/index.d.ts +4 -0
  4. package/es/add-cell/index.d.ts.map +1 -0
  5. package/es/add-cell/index.js +3 -0
  6. package/es/add-cell/index.less +38 -0
  7. package/es/add-cell/libro-add-cell-module.d.ts +3 -0
  8. package/es/add-cell/libro-add-cell-module.d.ts.map +1 -0
  9. package/es/add-cell/libro-add-cell-module.js +4 -0
  10. package/es/add-cell/libro-add-cell-slot-contribution.d.ts +11 -0
  11. package/es/add-cell/libro-add-cell-slot-contribution.d.ts.map +1 -0
  12. package/es/add-cell/libro-add-cell-slot-contribution.js +59 -0
  13. package/es/add-cell/libro-add-cell-view.d.ts +21 -0
  14. package/es/add-cell/libro-add-cell-view.d.ts.map +1 -0
  15. package/es/add-cell/libro-add-cell-view.js +121 -0
  16. package/es/cell/index.d.ts +10 -0
  17. package/es/cell/index.d.ts.map +1 -0
  18. package/es/cell/index.js +9 -0
  19. package/es/cell/libro-cell-contribution.d.ts +12 -0
  20. package/es/cell/libro-cell-contribution.d.ts.map +1 -0
  21. package/es/cell/libro-cell-contribution.js +47 -0
  22. package/es/cell/libro-cell-model.d.ts +29 -0
  23. package/es/cell/libro-cell-model.d.ts.map +1 -0
  24. package/es/cell/libro-cell-model.js +130 -0
  25. package/es/cell/libro-cell-module.d.ts +10 -0
  26. package/es/cell/libro-cell-module.d.ts.map +1 -0
  27. package/es/cell/libro-cell-module.js +30 -0
  28. package/es/cell/libro-cell-protocol.d.ts +44 -0
  29. package/es/cell/libro-cell-protocol.d.ts.map +1 -0
  30. package/es/cell/libro-cell-protocol.js +11 -0
  31. package/es/cell/libro-cell-service.d.ts +28 -0
  32. package/es/cell/libro-cell-service.d.ts.map +1 -0
  33. package/es/cell/libro-cell-service.js +245 -0
  34. package/es/cell/libro-cell-view.d.ts +74 -0
  35. package/es/cell/libro-cell-view.d.ts.map +1 -0
  36. package/es/cell/libro-cell-view.js +239 -0
  37. package/es/cell/libro-edit-cell-view.d.ts +44 -0
  38. package/es/cell/libro-edit-cell-view.d.ts.map +1 -0
  39. package/es/cell/libro-edit-cell-view.js +256 -0
  40. package/es/cell/libro-executable-cell-model.d.ts +14 -0
  41. package/es/cell/libro-executable-cell-model.d.ts.map +1 -0
  42. package/es/cell/libro-executable-cell-model.js +7 -0
  43. package/es/cell/libro-executable-cell-view.d.ts +34 -0
  44. package/es/cell/libro-executable-cell-view.d.ts.map +1 -0
  45. package/es/cell/libro-executable-cell-view.js +74 -0
  46. package/es/cell/libro-markdown-cell-model.d.ts +9 -0
  47. package/es/cell/libro-markdown-cell-model.d.ts.map +1 -0
  48. package/es/cell/libro-markdown-cell-model.js +7 -0
  49. package/es/collapse-service.d.ts +36 -0
  50. package/es/collapse-service.d.ts.map +1 -0
  51. package/es/collapse-service.js +55 -0
  52. package/es/command/document-commands.d.ts +5 -0
  53. package/es/command/document-commands.d.ts.map +1 -0
  54. package/es/command/document-commands.js +21 -0
  55. package/es/command/index.d.ts +7 -0
  56. package/es/command/index.d.ts.map +1 -0
  57. package/es/command/index.js +6 -0
  58. package/es/command/kernel-command.d.ts +5 -0
  59. package/es/command/kernel-command.d.ts.map +1 -0
  60. package/es/command/kernel-command.js +40 -0
  61. package/es/command/libro-command-contribution.d.ts +13 -0
  62. package/es/command/libro-command-contribution.d.ts.map +1 -0
  63. package/es/command/libro-command-contribution.js +1842 -0
  64. package/es/command/libro-command-register.d.ts +21 -0
  65. package/es/command/libro-command-register.d.ts.map +1 -0
  66. package/es/command/libro-command-register.js +111 -0
  67. package/es/command/module.d.ts +3 -0
  68. package/es/command/module.d.ts.map +1 -0
  69. package/es/command/module.js +4 -0
  70. package/es/command/notebook-commands.d.ts +6 -0
  71. package/es/command/notebook-commands.d.ts.map +1 -0
  72. package/es/command/notebook-commands.js +472 -0
  73. package/es/components/cell-protocol.d.ts +20 -0
  74. package/es/components/cell-protocol.d.ts.map +1 -0
  75. package/es/components/cell-protocol.js +4 -0
  76. package/es/components/dnd-cell-item-render.d.ts +16 -0
  77. package/es/components/dnd-cell-item-render.d.ts.map +1 -0
  78. package/es/components/dnd-cell-item-render.js +364 -0
  79. package/es/components/dnd-component/custom-drag-layer.d.ts +9 -0
  80. package/es/components/dnd-component/custom-drag-layer.d.ts.map +1 -0
  81. package/es/components/dnd-component/custom-drag-layer.js +140 -0
  82. package/es/components/dnd-component/default-dnd-content.d.ts +11 -0
  83. package/es/components/dnd-component/default-dnd-content.d.ts.map +1 -0
  84. package/es/components/dnd-component/default-dnd-content.js +292 -0
  85. package/es/components/dnd-component/dnd-context.d.ts +3 -0
  86. package/es/components/dnd-component/dnd-context.d.ts.map +1 -0
  87. package/es/components/dnd-component/dnd-context.js +20 -0
  88. package/es/components/dnd-component/dnd-list.d.ts +14 -0
  89. package/es/components/dnd-component/dnd-list.d.ts.map +1 -0
  90. package/es/components/dnd-component/dnd-list.js +182 -0
  91. package/es/components/dnd-component/index.d.ts +5 -0
  92. package/es/components/dnd-component/index.d.ts.map +1 -0
  93. package/es/components/dnd-component/index.js +4 -0
  94. package/es/components/dnd-component/index.less +8 -0
  95. package/es/components/dnd-component/overscanIndices-getter.d.ts +22 -0
  96. package/es/components/dnd-component/overscanIndices-getter.d.ts.map +1 -0
  97. package/es/components/dnd-component/overscanIndices-getter.js +58 -0
  98. package/es/components/dnd-component/virtualized-manager.d.ts +19 -0
  99. package/es/components/dnd-component/virtualized-manager.d.ts.map +1 -0
  100. package/es/components/dnd-component/virtualized-manager.js +60 -0
  101. package/es/components/index.d.ts +6 -0
  102. package/es/components/index.d.ts.map +1 -0
  103. package/es/components/index.js +5 -0
  104. package/es/components/libro-component.d.ts +5 -0
  105. package/es/components/libro-component.d.ts.map +1 -0
  106. package/es/components/libro-component.js +35 -0
  107. package/es/components/libro-side-toolbar-menu.d.ts +21 -0
  108. package/es/components/libro-side-toolbar-menu.d.ts.map +1 -0
  109. package/es/components/libro-side-toolbar-menu.js +58 -0
  110. package/es/components/libro-view-header.d.ts +3 -0
  111. package/es/components/libro-view-header.d.ts.map +1 -0
  112. package/es/components/libro-view-header.js +37 -0
  113. package/es/components/libro-virtualized-render.d.ts +15 -0
  114. package/es/components/libro-virtualized-render.d.ts.map +1 -0
  115. package/es/components/libro-virtualized-render.js +174 -0
  116. package/es/content/index.d.ts +6 -0
  117. package/es/content/index.d.ts.map +1 -0
  118. package/es/content/index.js +5 -0
  119. package/es/content/libro-content-contribution.d.ts +11 -0
  120. package/es/content/libro-content-contribution.d.ts.map +1 -0
  121. package/es/content/libro-content-contribution.js +31 -0
  122. package/es/content/libro-content-module.d.ts +3 -0
  123. package/es/content/libro-content-module.d.ts.map +1 -0
  124. package/es/content/libro-content-module.js +6 -0
  125. package/es/content/libro-content-protocol.d.ts +13 -0
  126. package/es/content/libro-content-protocol.d.ts.map +1 -0
  127. package/es/content/libro-content-protocol.js +3 -0
  128. package/es/content/libro-content-service.d.ts +11 -0
  129. package/es/content/libro-content-service.d.ts.map +1 -0
  130. package/es/content/libro-content-service.js +63 -0
  131. package/es/content/libro-save-content-contribution.d.ts +6 -0
  132. package/es/content/libro-save-content-contribution.d.ts.map +1 -0
  133. package/es/content/libro-save-content-contribution.js +27 -0
  134. package/es/formatter/index.d.ts +6 -0
  135. package/es/formatter/index.d.ts.map +1 -0
  136. package/es/formatter/index.js +5 -0
  137. package/es/formatter/libro-formatter-json-contribution.d.ts +18 -0
  138. package/es/formatter/libro-formatter-json-contribution.d.ts.map +1 -0
  139. package/es/formatter/libro-formatter-json-contribution.js +41 -0
  140. package/es/formatter/libro-formatter-manager.d.ts +16 -0
  141. package/es/formatter/libro-formatter-manager.d.ts.map +1 -0
  142. package/es/formatter/libro-formatter-manager.js +86 -0
  143. package/es/formatter/libro-formatter-module.d.ts +3 -0
  144. package/es/formatter/libro-formatter-module.d.ts.map +1 -0
  145. package/es/formatter/libro-formatter-module.js +7 -0
  146. package/es/formatter/libro-formatter-protocol.d.ts +37 -0
  147. package/es/formatter/libro-formatter-protocol.d.ts.map +1 -0
  148. package/es/formatter/libro-formatter-protocol.js +18 -0
  149. package/es/formatter/libro-formatter-string-contribution.d.ts +18 -0
  150. package/es/formatter/libro-formatter-string-contribution.d.ts.map +1 -0
  151. package/es/formatter/libro-formatter-string-contribution.js +41 -0
  152. package/es/formatter/libro-formatter-trans-default-contribution.d.ts +7 -0
  153. package/es/formatter/libro-formatter-trans-default-contribution.d.ts.map +1 -0
  154. package/es/formatter/libro-formatter-trans-default-contribution.js +19 -0
  155. package/es/index.d.ts +26 -0
  156. package/es/index.d.ts.map +1 -0
  157. package/es/index.js +25 -0
  158. package/es/index.less +781 -0
  159. package/es/libro-context-key.d.ts +26 -0
  160. package/es/libro-context-key.d.ts.map +1 -0
  161. package/es/libro-context-key.js +84 -0
  162. package/es/libro-keybind-registry.d.ts +5 -0
  163. package/es/libro-keybind-registry.d.ts.map +1 -0
  164. package/es/libro-keybind-registry.js +68 -0
  165. package/es/libro-model.d.ts +145 -0
  166. package/es/libro-model.d.ts.map +1 -0
  167. package/es/libro-model.js +921 -0
  168. package/es/libro-protocol.d.ts +315 -0
  169. package/es/libro-protocol.d.ts.map +1 -0
  170. package/es/libro-protocol.js +47 -0
  171. package/es/libro-service.d.ts +69 -0
  172. package/es/libro-service.d.ts.map +1 -0
  173. package/es/libro-service.js +303 -0
  174. package/es/libro-setting-contribution.d.ts +5 -0
  175. package/es/libro-setting-contribution.d.ts.map +1 -0
  176. package/es/libro-setting-contribution.js +23 -0
  177. package/es/libro-setting.d.ts +12 -0
  178. package/es/libro-setting.d.ts.map +1 -0
  179. package/es/libro-setting.js +101 -0
  180. package/es/libro-view-tracker.d.ts +6 -0
  181. package/es/libro-view-tracker.d.ts.map +1 -0
  182. package/es/libro-view-tracker.js +13 -0
  183. package/es/libro-view.d.ts +170 -0
  184. package/es/libro-view.d.ts.map +1 -0
  185. package/es/libro-view.js +2077 -0
  186. package/es/libro-workspace-service.d.ts +17 -0
  187. package/es/libro-workspace-service.d.ts.map +1 -0
  188. package/es/libro-workspace-service.js +36 -0
  189. package/es/material-from-designer.d.ts +31 -0
  190. package/es/material-from-designer.d.ts.map +1 -0
  191. package/es/material-from-designer.js +697 -0
  192. package/es/module.d.ts +3 -0
  193. package/es/module.d.ts.map +1 -0
  194. package/es/module.js +71 -0
  195. package/es/output/index.d.ts +6 -0
  196. package/es/output/index.d.ts.map +1 -0
  197. package/es/output/index.js +5 -0
  198. package/es/output/output-area.d.ts +51 -0
  199. package/es/output/output-area.d.ts.map +1 -0
  200. package/es/output/output-area.js +399 -0
  201. package/es/output/output-contribution.d.ts +10 -0
  202. package/es/output/output-contribution.d.ts.map +1 -0
  203. package/es/output/output-contribution.js +36 -0
  204. package/es/output/output-model.d.ts +28 -0
  205. package/es/output/output-model.d.ts.map +1 -0
  206. package/es/output/output-model.js +105 -0
  207. package/es/output/output-module.d.ts +3 -0
  208. package/es/output/output-module.d.ts.map +1 -0
  209. package/es/output/output-module.js +6 -0
  210. package/es/output/output-protocol.d.ts +134 -0
  211. package/es/output/output-protocol.d.ts.map +1 -0
  212. package/es/output/output-protocol.js +16 -0
  213. package/es/settings/index.d.ts +5 -0
  214. package/es/settings/index.d.ts.map +1 -0
  215. package/es/settings/index.js +4 -0
  216. package/es/settings/index.less +3 -0
  217. package/es/settings/module.d.ts +3 -0
  218. package/es/settings/module.d.ts.map +1 -0
  219. package/es/settings/module.js +4 -0
  220. package/es/settings/setting-editor/configuration-panel-view.d.ts +13 -0
  221. package/es/settings/setting-editor/configuration-panel-view.d.ts.map +1 -0
  222. package/es/settings/setting-editor/configuration-panel-view.js +115 -0
  223. package/es/settings/setting-editor/configuration-render-contribution.d.ts +6 -0
  224. package/es/settings/setting-editor/configuration-render-contribution.d.ts.map +1 -0
  225. package/es/settings/setting-editor/configuration-render-contribution.js +77 -0
  226. package/es/settings/setting-editor/default-node-render.d.ts +9 -0
  227. package/es/settings/setting-editor/default-node-render.d.ts.map +1 -0
  228. package/es/settings/setting-editor/default-node-render.js +79 -0
  229. package/es/settings/setting-editor/index.d.ts +7 -0
  230. package/es/settings/setting-editor/index.d.ts.map +1 -0
  231. package/es/settings/setting-editor/index.js +6 -0
  232. package/es/settings/setting-editor/index.less +12 -0
  233. package/es/settings/setting-editor/module.d.ts +3 -0
  234. package/es/settings/setting-editor/module.d.ts.map +1 -0
  235. package/es/settings/setting-editor/module.js +11 -0
  236. package/es/settings/setting-editor/setting-editor-view.d.ts +15 -0
  237. package/es/settings/setting-editor/setting-editor-view.d.ts.map +1 -0
  238. package/es/settings/setting-editor/setting-editor-view.js +169 -0
  239. package/es/settings/setting-editor/setting-tree-service.d.ts +9 -0
  240. package/es/settings/setting-editor/setting-tree-service.d.ts.map +1 -0
  241. package/es/settings/setting-editor/setting-tree-service.js +118 -0
  242. package/es/settings/setting-editor/setting-tree-view.d.ts +19 -0
  243. package/es/settings/setting-editor/setting-tree-view.d.ts.map +1 -0
  244. package/es/settings/setting-editor/setting-tree-view.js +87 -0
  245. package/es/settings/settings-contribution.d.ts +7 -0
  246. package/es/settings/settings-contribution.d.ts.map +1 -0
  247. package/es/settings/settings-contribution.js +36 -0
  248. package/es/settings/settings-modal.d.ts +5 -0
  249. package/es/settings/settings-modal.d.ts.map +1 -0
  250. package/es/settings/settings-modal.js +53 -0
  251. package/es/settings/settings-modal.less +3 -0
  252. package/es/settings/settings-protocol.d.ts +4 -0
  253. package/es/settings/settings-protocol.d.ts.map +1 -0
  254. package/es/settings/settings-protocol.js +5 -0
  255. package/es/slot/index.d.ts +5 -0
  256. package/es/slot/index.d.ts.map +1 -0
  257. package/es/slot/index.js +4 -0
  258. package/es/slot/libro-slot-manager.d.ts +13 -0
  259. package/es/slot/libro-slot-manager.d.ts.map +1 -0
  260. package/es/slot/libro-slot-manager.js +66 -0
  261. package/es/slot/libro-slot-protocol.d.ts +19 -0
  262. package/es/slot/libro-slot-protocol.d.ts.map +1 -0
  263. package/es/slot/libro-slot-protocol.js +5 -0
  264. package/es/slot/libro-slot-view.d.ts +9 -0
  265. package/es/slot/libro-slot-view.d.ts.map +1 -0
  266. package/es/slot/libro-slot-view.js +81 -0
  267. package/es/slot/module.d.ts +3 -0
  268. package/es/slot/module.d.ts.map +1 -0
  269. package/es/slot/module.js +5 -0
  270. package/es/theme/libro-color-registry.d.ts +6 -0
  271. package/es/theme/libro-color-registry.d.ts.map +1 -0
  272. package/es/theme/libro-color-registry.js +515 -0
  273. package/es/toolbar/all-outputs-scroll-icon.d.ts +3 -0
  274. package/es/toolbar/all-outputs-scroll-icon.d.ts.map +1 -0
  275. package/es/toolbar/all-outputs-scroll-icon.js +10 -0
  276. package/es/toolbar/change-cell-to-selector.d.ts +5 -0
  277. package/es/toolbar/change-cell-to-selector.d.ts.map +1 -0
  278. package/es/toolbar/change-cell-to-selector.js +51 -0
  279. package/es/toolbar/hide-all-selector.d.ts +5 -0
  280. package/es/toolbar/hide-all-selector.d.ts.map +1 -0
  281. package/es/toolbar/hide-all-selector.js +99 -0
  282. package/es/toolbar/index.d.ts +4 -0
  283. package/es/toolbar/index.d.ts.map +1 -0
  284. package/es/toolbar/index.js +3 -0
  285. package/es/toolbar/index.less +59 -0
  286. package/es/toolbar/libro-toolbar-protocol.d.ts +4 -0
  287. package/es/toolbar/libro-toolbar-protocol.d.ts.map +1 -0
  288. package/es/toolbar/libro-toolbar-protocol.js +1 -0
  289. package/es/toolbar/libro-toolbar.d.ts +9 -0
  290. package/es/toolbar/libro-toolbar.d.ts.map +1 -0
  291. package/es/toolbar/libro-toolbar.js +275 -0
  292. package/es/toolbar/module.d.ts +3 -0
  293. package/es/toolbar/module.d.ts.map +1 -0
  294. package/es/toolbar/module.js +5 -0
  295. package/es/toolbar/restart-clear-outputs-contribution.d.ts +5 -0
  296. package/es/toolbar/restart-clear-outputs-contribution.d.ts.map +1 -0
  297. package/es/toolbar/restart-clear-outputs-contribution.js +23 -0
  298. package/es/toolbar/restart-clear-outputs-modal.d.ts +5 -0
  299. package/es/toolbar/restart-clear-outputs-modal.d.ts.map +1 -0
  300. package/es/toolbar/restart-clear-outputs-modal.js +30 -0
  301. package/es/toolbar/save-icon.d.ts +3 -0
  302. package/es/toolbar/save-icon.d.ts.map +1 -0
  303. package/es/toolbar/save-icon.js +54 -0
  304. package/es/toolbar/shutdown-contribution.d.ts +5 -0
  305. package/es/toolbar/shutdown-contribution.d.ts.map +1 -0
  306. package/es/toolbar/shutdown-contribution.js +23 -0
  307. package/es/toolbar/shutdown-modal.d.ts +5 -0
  308. package/es/toolbar/shutdown-modal.d.ts.map +1 -0
  309. package/es/toolbar/shutdown-modal.js +30 -0
  310. package/es/toolbar/side-toolar-more-select.d.ts +4 -0
  311. package/es/toolbar/side-toolar-more-select.d.ts.map +1 -0
  312. package/es/toolbar/side-toolar-more-select.js +161 -0
  313. package/es/typings/index.d.ts +1 -0
  314. package/es/virtualized-manager-helper.d.ts +11 -0
  315. package/es/virtualized-manager-helper.d.ts.map +1 -0
  316. package/es/virtualized-manager-helper.js +51 -0
  317. package/es/virtualized-manager.d.ts +23 -0
  318. package/es/virtualized-manager.d.ts.map +1 -0
  319. package/es/virtualized-manager.js +65 -0
  320. package/package.json +73 -0
  321. package/src/add-cell/index.less +38 -0
  322. package/src/add-cell/index.ts +3 -0
  323. package/src/add-cell/libro-add-cell-module.ts +9 -0
  324. package/src/add-cell/libro-add-cell-slot-contribution.ts +28 -0
  325. package/src/add-cell/libro-add-cell-view.tsx +99 -0
  326. package/src/cell/README.md +14 -0
  327. package/src/cell/index.ts +9 -0
  328. package/src/cell/libro-cell-contribution.ts +34 -0
  329. package/src/cell/libro-cell-model.ts +119 -0
  330. package/src/cell/libro-cell-module.ts +40 -0
  331. package/src/cell/libro-cell-protocol.ts +55 -0
  332. package/src/cell/libro-cell-service.ts +158 -0
  333. package/src/cell/libro-cell-view.tsx +156 -0
  334. package/src/cell/libro-edit-cell-view.tsx +205 -0
  335. package/src/cell/libro-executable-cell-model.ts +32 -0
  336. package/src/cell/libro-executable-cell-view.ts +86 -0
  337. package/src/cell/libro-markdown-cell-model.ts +20 -0
  338. package/src/collapse-service.ts +69 -0
  339. package/src/command/document-commands.ts +24 -0
  340. package/src/command/index.ts +6 -0
  341. package/src/command/kernel-command.ts +42 -0
  342. package/src/command/libro-command-contribution.ts +1346 -0
  343. package/src/command/libro-command-register.ts +168 -0
  344. package/src/command/module.ts +9 -0
  345. package/src/command/notebook-commands.ts +502 -0
  346. package/src/components/cell-protocol.ts +26 -0
  347. package/src/components/dnd-cell-item-render.tsx +465 -0
  348. package/src/components/dnd-component/custom-drag-layer.tsx +144 -0
  349. package/src/components/dnd-component/default-dnd-content.tsx +330 -0
  350. package/src/components/dnd-component/dnd-context.tsx +28 -0
  351. package/src/components/dnd-component/dnd-list.tsx +211 -0
  352. package/src/components/dnd-component/index.less +12 -0
  353. package/src/components/dnd-component/index.tsx +4 -0
  354. package/src/components/dnd-component/overscanIndices-getter.ts +92 -0
  355. package/src/components/dnd-component/virtualized-manager.ts +34 -0
  356. package/src/components/index.ts +5 -0
  357. package/src/components/libro-component.tsx +30 -0
  358. package/src/components/libro-side-toolbar-menu.tsx +82 -0
  359. package/src/components/libro-view-header.tsx +33 -0
  360. package/src/components/libro-virtualized-render.tsx +178 -0
  361. package/src/content/index.ts +5 -0
  362. package/src/content/libro-content-contribution.ts +16 -0
  363. package/src/content/libro-content-module.ts +17 -0
  364. package/src/content/libro-content-protocol.ts +14 -0
  365. package/src/content/libro-content-service.ts +48 -0
  366. package/src/content/libro-save-content-contribution.ts +12 -0
  367. package/src/formatter/index.ts +5 -0
  368. package/src/formatter/libro-formatter-json-contribution.ts +42 -0
  369. package/src/formatter/libro-formatter-manager.ts +85 -0
  370. package/src/formatter/libro-formatter-module.ts +19 -0
  371. package/src/formatter/libro-formatter-protocol.ts +63 -0
  372. package/src/formatter/libro-formatter-string-contribution.ts +41 -0
  373. package/src/formatter/libro-formatter-trans-default-contribution.ts +15 -0
  374. package/src/index.less +789 -0
  375. package/src/index.spec.ts +12 -0
  376. package/src/index.tsx +25 -0
  377. package/src/libro-context-key.ts +84 -0
  378. package/src/libro-keybind-registry.ts +43 -0
  379. package/src/libro-model.ts +710 -0
  380. package/src/libro-protocol.ts +435 -0
  381. package/src/libro-service.ts +234 -0
  382. package/src/libro-setting-contribution.ts +28 -0
  383. package/src/libro-setting.ts +110 -0
  384. package/src/libro-view-tracker.ts +9 -0
  385. package/src/libro-view.tsx +1532 -0
  386. package/src/libro-workspace-service.ts +28 -0
  387. package/src/material-from-designer.tsx +579 -0
  388. package/src/module.ts +121 -0
  389. package/src/output/index.ts +5 -0
  390. package/src/output/output-area.tsx +286 -0
  391. package/src/output/output-contribution.ts +14 -0
  392. package/src/output/output-model.tsx +70 -0
  393. package/src/output/output-module.ts +10 -0
  394. package/src/output/output-protocol.ts +168 -0
  395. package/src/settings/index.less +3 -0
  396. package/src/settings/index.ts +4 -0
  397. package/src/settings/module.ts +8 -0
  398. package/src/settings/setting-editor/configuration-panel-view.tsx +89 -0
  399. package/src/settings/setting-editor/configuration-render-contribution.ts +81 -0
  400. package/src/settings/setting-editor/default-node-render.tsx +65 -0
  401. package/src/settings/setting-editor/index.less +12 -0
  402. package/src/settings/setting-editor/index.ts +6 -0
  403. package/src/settings/setting-editor/module.ts +17 -0
  404. package/src/settings/setting-editor/setting-editor-view.tsx +93 -0
  405. package/src/settings/setting-editor/setting-tree-service.ts +82 -0
  406. package/src/settings/setting-editor/setting-tree-view.tsx +95 -0
  407. package/src/settings/settings-contribution.tsx +24 -0
  408. package/src/settings/settings-modal.less +3 -0
  409. package/src/settings/settings-modal.tsx +51 -0
  410. package/src/settings/settings-protocol.ts +7 -0
  411. package/src/slot/index.ts +4 -0
  412. package/src/slot/libro-slot-manager.ts +38 -0
  413. package/src/slot/libro-slot-protocol.ts +28 -0
  414. package/src/slot/libro-slot-view.tsx +48 -0
  415. package/src/slot/module.ts +9 -0
  416. package/src/theme/libro-color-registry.ts +386 -0
  417. package/src/toolbar/all-outputs-scroll-icon.tsx +19 -0
  418. package/src/toolbar/change-cell-to-selector.tsx +67 -0
  419. package/src/toolbar/hide-all-selector.tsx +126 -0
  420. package/src/toolbar/index.less +59 -0
  421. package/src/toolbar/index.ts +3 -0
  422. package/src/toolbar/libro-toolbar-protocol.ts +4 -0
  423. package/src/toolbar/libro-toolbar.tsx +231 -0
  424. package/src/toolbar/module.ts +11 -0
  425. package/src/toolbar/restart-clear-outputs-contribution.tsx +10 -0
  426. package/src/toolbar/restart-clear-outputs-modal.tsx +37 -0
  427. package/src/toolbar/save-icon.tsx +47 -0
  428. package/src/toolbar/shutdown-contribution.tsx +10 -0
  429. package/src/toolbar/shutdown-modal.tsx +37 -0
  430. package/src/toolbar/side-toolar-more-select.tsx +177 -0
  431. package/src/typings/index.d.ts +1 -0
  432. package/src/virtualized-manager-helper.ts +29 -0
  433. package/src/virtualized-manager.ts +47 -0
@@ -0,0 +1,168 @@
1
+ import type {
2
+ Command,
3
+ CommandHandler,
4
+ CommandHandlerWithContext,
5
+ CommandRegistry,
6
+ KeybindingRegistry,
7
+ } from '@difizen/mana-app';
8
+ import { inject, singleton } from '@difizen/mana-app';
9
+
10
+ import type { CellView, NotebookView } from '../libro-protocol.js';
11
+ import { LibroContextKeys } from '../libro-protocol.js';
12
+ import { LibroService } from '../libro-service.js';
13
+
14
+ export interface GeneralLibroCommandHandler extends CommandHandler {
15
+ execute: (
16
+ cell?: CellView,
17
+ libro?: NotebookView,
18
+ position?: string,
19
+ options?: any,
20
+ ) => void;
21
+ isVisible?: (
22
+ cell?: CellView,
23
+ libro?: NotebookView,
24
+ position?: string,
25
+ options?: any,
26
+ ) => boolean;
27
+ isEnabled?: (
28
+ cell?: CellView,
29
+ libro?: NotebookView,
30
+ position?: string,
31
+ options?: any,
32
+ ) => boolean;
33
+ isActive?: (
34
+ cell?: CellView,
35
+ libro?: NotebookView,
36
+ position?: string,
37
+ options?: any,
38
+ ) => boolean;
39
+ }
40
+
41
+ @singleton()
42
+ export class LibroCommandRegister {
43
+ @inject(LibroService) protected readonly libroService: LibroService;
44
+ registerKeybinds(
45
+ keybindings: KeybindingRegistry,
46
+ commands: Record<
47
+ string,
48
+ Command & {
49
+ keybind?: string | string[];
50
+ when?: string;
51
+ preventDefault?: boolean;
52
+ stopPropagation?: boolean;
53
+ }
54
+ >,
55
+ needActive = true,
56
+ needFocus = true,
57
+ ) {
58
+ const keys = Object.keys(commands);
59
+ for (const key of keys) {
60
+ const command = commands[key];
61
+ if (command.keybind) {
62
+ const needFocusStr = needFocus ? LibroContextKeys.focus : '';
63
+ const needActiveStr = needActive ? LibroContextKeys.active : '';
64
+ const when = [needFocusStr, needActiveStr, command.when]
65
+ .filter(Boolean)
66
+ .join(' && ');
67
+ if (command.keybind instanceof Array) {
68
+ command.keybind.forEach((keybind) => {
69
+ keybindings.registerKeybinding({
70
+ command: command.id,
71
+ keybinding: keybind,
72
+ when: when,
73
+ preventDefault: command.preventDefault,
74
+ stopPropagation: command.stopPropagation,
75
+ });
76
+ });
77
+ } else {
78
+ keybindings.registerKeybinding({
79
+ command: command.id,
80
+ keybinding: command.keybind,
81
+ when: when,
82
+ preventDefault: command.preventDefault,
83
+ stopPropagation: command.stopPropagation,
84
+ });
85
+ }
86
+ }
87
+ }
88
+ }
89
+ toGeneralCommandArgs = (
90
+ ctx: LibroCommandRegister,
91
+ cell?: CellView,
92
+ libro?: NotebookView,
93
+ position?: string,
94
+ options?: any,
95
+ ): [CellView | undefined, NotebookView | undefined, string | undefined, any] => {
96
+ const libroView = libro || ctx.libroService.active;
97
+ const cellView = cell || libroView?.model?.active;
98
+ return [cellView, libroView, position, options];
99
+ };
100
+ registerLibroCommand(
101
+ registry: CommandRegistry,
102
+ command: Command,
103
+ handler: GeneralLibroCommandHandler,
104
+ ) {
105
+ const commandHandler: CommandHandlerWithContext<LibroCommandRegister> = {
106
+ execute: (
107
+ ctx,
108
+ cell?: CellView,
109
+ libro?: NotebookView,
110
+ position?: string,
111
+ options?: any,
112
+ ) => {
113
+ return handler.execute(
114
+ ...this.toGeneralCommandArgs(ctx, cell, libro, position, options),
115
+ );
116
+ },
117
+ };
118
+ if (handler.isEnabled) {
119
+ commandHandler.isEnabled = (
120
+ ctx,
121
+ cell?: CellView,
122
+ libro?: NotebookView,
123
+ position?: string,
124
+ options?: any,
125
+ ) => {
126
+ if (!handler.isEnabled) {
127
+ return true;
128
+ }
129
+ return handler.isEnabled(
130
+ ...this.toGeneralCommandArgs(ctx, cell, libro, position, options),
131
+ );
132
+ };
133
+ }
134
+ if (handler.isVisible) {
135
+ commandHandler.isVisible = (
136
+ ctx,
137
+ cell?: CellView,
138
+ libro?: NotebookView,
139
+ position?: string,
140
+ options?: any,
141
+ ) => {
142
+ if (!handler.isVisible) {
143
+ return true;
144
+ }
145
+ return handler.isVisible(
146
+ ...this.toGeneralCommandArgs(ctx, cell, libro, position, options),
147
+ );
148
+ };
149
+ }
150
+ if (handler.isActive) {
151
+ commandHandler.isActive = (
152
+ ctx,
153
+ cell?: CellView,
154
+ libro?: NotebookView,
155
+ position?: string,
156
+ options?: any,
157
+ ) => {
158
+ if (!handler.isActive) {
159
+ return false;
160
+ }
161
+ return handler.isActive(
162
+ ...this.toGeneralCommandArgs(ctx, cell, libro, position, options),
163
+ );
164
+ };
165
+ }
166
+ registry.registerCommandWithContext(command, this, commandHandler);
167
+ }
168
+ }
@@ -0,0 +1,9 @@
1
+ import { ManaModule } from '@difizen/mana-app';
2
+
3
+ import { LibroCommandContribution } from './libro-command-contribution.js';
4
+ import { LibroCommandRegister } from './libro-command-register.js';
5
+
6
+ export const LibroCommandModule = ManaModule.create().register(
7
+ LibroCommandContribution,
8
+ LibroCommandRegister,
9
+ );
@@ -0,0 +1,502 @@
1
+ import {
2
+ PlusOutlined,
3
+ PlayCircleOutlined,
4
+ CopyOutlined,
5
+ ScissorOutlined,
6
+ SnippetsOutlined,
7
+ EyeOutlined,
8
+ EyeInvisibleOutlined,
9
+ // ReloadOutlined,
10
+ PoweroffOutlined,
11
+ } from '@ant-design/icons';
12
+ import type { Command } from '@difizen/mana-app';
13
+ import { l10n } from '@difizen/mana-l10n';
14
+
15
+ import {
16
+ Undo,
17
+ Redo,
18
+ Reload,
19
+ ClearOutlined,
20
+ MoveUpOutlined,
21
+ MoveDownOutlined,
22
+ DeleteOutlined,
23
+ MoreOutlined,
24
+ PauseCircleOutlined,
25
+ } from '../material-from-designer.js';
26
+
27
+ export const NotebookCommands: Record<
28
+ string,
29
+ Command & { keybind?: string | string[] | undefined; when?: string | undefined }
30
+ > = {
31
+ //#region libro command
32
+ ChangeCellTo: {
33
+ id: 'notebook:change-cell-to',
34
+ },
35
+
36
+ Interrupt: {
37
+ id: 'notebook:interrupt',
38
+ label: `Interrupt`,
39
+ icon: PauseCircleOutlined,
40
+ },
41
+
42
+ //#endregion
43
+
44
+ //#region jupyterlab command
45
+ ChangeCellToCode: {
46
+ id: 'notebook:change-cell-to-code',
47
+ label: `Change to Code Cell Type`,
48
+ keybind: 'Y',
49
+ when: 'commandMode',
50
+ },
51
+ ChangeCellToHeading1: {
52
+ id: 'notebook:change-cell-to-heading-1',
53
+ label: `Change to Heading 1`,
54
+ keybind: '1',
55
+ when: 'commandMode',
56
+ },
57
+ ChangeCellToHeading2: {
58
+ id: 'notebook:change-cell-to-heading-2',
59
+ label: `Change to Heading 1`,
60
+ keybind: '2',
61
+ when: 'commandMode',
62
+ },
63
+ ChangeCellToHeading3: {
64
+ id: 'notebook:change-cell-to-heading-3',
65
+ label: `Change to Heading 1`,
66
+ keybind: '3',
67
+ when: 'commandMode',
68
+ },
69
+ ChangeCellToHeading4: {
70
+ id: 'notebook:change-cell-to-heading-4',
71
+ label: `Change to Heading 1`,
72
+ keybind: '4',
73
+ when: 'commandMode',
74
+ },
75
+ ChangeCellToHeading5: {
76
+ id: 'notebook:change-cell-to-heading-5',
77
+ label: `Change to Heading 1`,
78
+ keybind: '5',
79
+ when: 'commandMode',
80
+ },
81
+ ChangeCellToHeading6: {
82
+ id: 'notebook:change-cell-to-heading-6',
83
+ label: `Change to Heading 1`,
84
+ keybind: '6',
85
+ when: 'commandMode',
86
+ },
87
+ ChangeCellToMarkdown: {
88
+ id: 'notebook:change-cell-to-markdown',
89
+ label: `Change to Markdown Cell Type`,
90
+ keybind: 'M',
91
+ when: 'commandMode',
92
+ },
93
+ ChangeCellToRaw: {
94
+ id: 'notebook:change-cell-to-raw',
95
+ label: `Change to Raw Cell Type`,
96
+ keybind: 'R',
97
+ when: 'commandMode',
98
+ },
99
+ ClearAllCellOutput: {
100
+ id: 'notebook:clear-all-cell-outputs',
101
+ label: `Clear Outputs of All Cells`,
102
+ icon: ClearOutlined,
103
+ },
104
+ ClearCellOutput: {
105
+ id: 'notebook:clear-cell-outputs',
106
+ label: `Clear Cell Output`,
107
+ },
108
+ CloseAndShutdown: {
109
+ id: 'notebook:close-and-shutdown',
110
+ label: `Close Editor and Shut Down Kernel`,
111
+ icon: PoweroffOutlined,
112
+ },
113
+ // TODO: 确定命令含义
114
+ CollapseAllHeadings: {
115
+ id: 'notebook:collapse-all-headings',
116
+ label: `Collapse All Headings`,
117
+ keybind: 'ctrlcmd+shift+left',
118
+ },
119
+ CopyCell: {
120
+ id: 'notebook:copy-cell',
121
+ label: `Copy Cells`,
122
+ keybind: 'C',
123
+ icon: CopyOutlined,
124
+ when: 'commandMode',
125
+ },
126
+ // TODO: 确定命令含义
127
+ CopyToClipboard: {
128
+ id: 'notebook:copy-to-clipboard',
129
+ label: `Copy Output to Clipboard`,
130
+ },
131
+ // TODO: 确定命令含义
132
+ CreateOutputView: {
133
+ id: 'notebook:create-output-view',
134
+ label: `Create New View for Cell Output`,
135
+ },
136
+ CutCell: {
137
+ id: 'notebook:cut-cell',
138
+ label: `Cut Cells`,
139
+ keybind: 'x',
140
+ icon: ScissorOutlined,
141
+ when: 'commandMode',
142
+ },
143
+ DeleteCell: {
144
+ id: 'notebook:delete-cell',
145
+ label: `Delete Cells`,
146
+ icon: DeleteOutlined,
147
+ keybind: 'D D',
148
+ when: 'commandMode',
149
+ },
150
+ DeselectAll: {
151
+ id: 'notebook:deselect-all',
152
+ label: `Deselect All Cells`,
153
+ },
154
+ DisableOutputScrolling: {
155
+ id: 'notebook:disable-output-scrolling',
156
+ label: `Disable Scrolling for Outputs`,
157
+ },
158
+ DuplicateBelow: {
159
+ id: 'notebook:duplicate-below',
160
+ label: `Duplicate Cells Below`,
161
+ },
162
+ EnableOutputScrolling: {
163
+ id: 'notebook:enable-output-scrolling',
164
+ label: `Enable Scrolling for Outputs`,
165
+ },
166
+ EnableOrDisableAllOutputScrolling: {
167
+ id: 'notebook:enable-or-disable-all-output-scrolling',
168
+ label: `Enable Or Disable Scrolling for all Outputs`,
169
+ },
170
+ EnterCommandMode: {
171
+ id: 'notebook:enter-command-mode',
172
+ label: `Enter Command Mode`,
173
+ keybind: 'esc',
174
+ },
175
+ EnterEditMode: {
176
+ id: 'notebook:enter-edit-mode',
177
+ label: `Enter Edit Mode`,
178
+ keybind: 'enter',
179
+ when: 'commandMode',
180
+ },
181
+
182
+ ExpandAllHeadings: {
183
+ id: 'notebook:expand-all-headings',
184
+ label: `Expand All Headings`,
185
+ keybind: 'ctrlcmd+shift+right',
186
+ when: 'commandMode',
187
+ },
188
+
189
+ ExportToFormat: {
190
+ id: 'notebook:export-to-format',
191
+ label: `Save and Export Notebook to the given format`,
192
+ },
193
+
194
+ ExtendMarkedCellsAbove: {
195
+ id: 'notebook:extend-marked-cells-above',
196
+ label: `Extend Selection Above`,
197
+ keybind: ['shift+up', 'shift+K'],
198
+ when: 'commandMode',
199
+ },
200
+ ExtendMarkedCellsBelow: {
201
+ id: 'notebook:extend-marked-cells-below',
202
+ label: `Extend Selection Below`,
203
+ keybind: ['shift+down', 'shift+J'],
204
+ when: 'commandMode',
205
+ },
206
+ //TODO:
207
+ ExtendMarkedCellsBottom: {
208
+ id: 'notebook:extend-marked-cells-bottom',
209
+ label: `Extend Selection to Bottom`,
210
+ keybind: 'shift+end',
211
+ when: 'commandMode',
212
+ },
213
+ //TODO:
214
+ ExtendMarkedCellsTop: {
215
+ id: 'notebook:extend-marked-cells-top',
216
+ label: `Extend Selection to Top`,
217
+ keybind: 'shift+home',
218
+ when: 'commandMode',
219
+ },
220
+ HideAllCell: {
221
+ id: 'notebook:hide-all-cell',
222
+ },
223
+ HideAllCellCode: {
224
+ id: 'notebook:hide-all-cell-code',
225
+ label: `Collapse All Code`,
226
+ },
227
+ HideAllCellOutput: {
228
+ id: 'notebook:hide-all-cell-output',
229
+ label: `Collapse All Outputs`,
230
+ },
231
+ HideCellCode: {
232
+ id: 'notebook:hide-cell-code',
233
+ label: `Collapse Selected Code`,
234
+ },
235
+ HideOrShowCellCode: {
236
+ id: 'notebook:hide-or-show-cell-code',
237
+ label: `Hide or show Selected Code`,
238
+ keybind: `ctrlcmd+'`,
239
+ },
240
+ HideCellOutputs: {
241
+ id: 'notebook:hide-cell-outputs',
242
+ label: `Collapse Selected Outputs`,
243
+ icon: EyeInvisibleOutlined,
244
+ },
245
+ HideOrShowOutputs: {
246
+ id: 'notebook:hide-or-show-outputs',
247
+ label: `Hide or show Selected outputs`,
248
+ keybind: 'ctrlcmd+o',
249
+ },
250
+ InsertCellAbove: {
251
+ id: 'notebook:insert-cell-above',
252
+ label: `Insert Cell Above`,
253
+ keybind: 'A',
254
+ when: 'commandMode',
255
+ },
256
+ InsertCellBelow: {
257
+ id: 'notebook:insert-cell-below',
258
+ label: `Insert Cell Below`,
259
+ keybind: 'B',
260
+ icon: PlusOutlined,
261
+ when: 'commandMode',
262
+ },
263
+ InsertHeadingAbove: {
264
+ id: 'notebook:insert-heading-above',
265
+ label: `Insert Heading Above Current Heading`,
266
+ keybind: 'shift+A',
267
+ when: 'commandMode',
268
+ },
269
+ InsertHeadingBelow: {
270
+ id: 'notebook:insert-heading-below',
271
+ label: `Insert Heading Below Current Heading`,
272
+ keybind: 'shift+B',
273
+ when: 'commandMode',
274
+ },
275
+ MergeCellAbove: {
276
+ id: 'notebook:merge-cell-above',
277
+ label: `Merge Cell Above`,
278
+ keybind: 'ctrlcmd+backspace',
279
+ when: 'commandMode',
280
+ },
281
+ MergeCellBelow: {
282
+ id: 'notebook:merge-cell-below',
283
+ label: `Merge Cell Below`,
284
+ keybind: 'ctrlcmd+shift+M',
285
+ when: 'commandMode',
286
+ },
287
+ MergeCells: {
288
+ id: 'notebook:merge-cells',
289
+ label: `Merge Selected Cells`,
290
+ keybind: 'shift+M',
291
+ when: 'commandMode',
292
+ },
293
+ MoveCellDown: {
294
+ id: 'notebook:move-cell-down',
295
+ label: `Move Cells Down`,
296
+ keybind: 'ctrlcmd+shift+down',
297
+ icon: MoveDownOutlined,
298
+ when: 'commandMode',
299
+ },
300
+ MoveCellUp: {
301
+ id: 'notebook:move-cell-up',
302
+ label: `Move Cells Up`,
303
+ keybind: 'ctrlcmd+shift+up',
304
+ icon: MoveUpOutlined,
305
+ when: 'commandMode',
306
+ },
307
+ MoveCursorDown: {
308
+ id: 'notebook:move-cursor-down',
309
+ label: `Select Cell Below`,
310
+ keybind: ['down', 'J'],
311
+ when: 'commandMode',
312
+ },
313
+ MoveCursorUp: {
314
+ id: 'notebook:move-cursor-up',
315
+ label: `Select Cell Above`,
316
+ keybind: ['up', 'K'],
317
+ when: 'commandMode',
318
+ },
319
+
320
+ MoveCursorHeadingAboveOrCollapse: {
321
+ id: 'notebook:move-cursor-heading-above-or-collapse',
322
+ label: `Select Heading Above or Collapse Heading`,
323
+ keybind: 'left',
324
+ when: 'commandMode',
325
+ },
326
+ MoveCursorHeadingBelowOrExpand: {
327
+ id: 'notebook:move-cursor-heading-below-or-expand',
328
+ label: `Select Heading Below or Expand Heading`,
329
+ keybind: 'right',
330
+ when: 'commandMode',
331
+ },
332
+ PasteAndReplaceCell: {
333
+ id: 'notebook:paste-and-replace-cell',
334
+ label: `Paste Cells and Replace`,
335
+ },
336
+ PasteCellAbove: {
337
+ id: 'notebook:paste-cell-above',
338
+ label: `Paste Cells Above`,
339
+ },
340
+ PasteCellBelow: {
341
+ id: 'notebook:paste-cell-below',
342
+ label: `Paste Cells Below`,
343
+ keybind: 'V',
344
+ icon: SnippetsOutlined,
345
+ when: 'commandMode',
346
+ },
347
+ Redo: {
348
+ id: 'notebook:redo',
349
+ label: `Redo`,
350
+ },
351
+ RedoCellAction: {
352
+ id: 'notebook:redo-cell-action',
353
+ label: `Redo Cell Operation`,
354
+ icon: Redo,
355
+ keybind: 'shift+Z',
356
+ when: 'commandMode',
357
+ },
358
+ RenderAllMarkdown: {
359
+ id: 'notebook:render-all-markdown',
360
+ label: `Render All Markdown Cells`,
361
+ },
362
+ ReplaceSelection: {
363
+ id: 'notebook:replace-selection',
364
+ label: `Replace Selection in Notebook Cell`,
365
+ },
366
+ RestartAndRunToSelected: {
367
+ id: 'notebook:restart-and-run-to-selected',
368
+ label: l10n.t('Restart and Run up to Selected Cell'),
369
+ },
370
+ RestartClearOutput: {
371
+ id: 'notebook:restart-clear-output',
372
+ label: l10n.t('Restart and Clear Outputs of All Cells'),
373
+ icon: Reload,
374
+ },
375
+ RestartRunAll: {
376
+ id: 'notebook:restart-run-all',
377
+ label: l10n.t('Restart and Run All Cells'),
378
+ },
379
+ RunAllAbove: {
380
+ id: 'notebook:run-all-above',
381
+ label: `Run All Above Selected Cell`,
382
+ },
383
+ RunAllBelow: {
384
+ id: 'notebook:run-all-below',
385
+ label: `Run All Below Selected Cell`,
386
+ },
387
+ RunAllCells: {
388
+ id: 'notebook:run-all-cells',
389
+ label: `Run All Cells`,
390
+ },
391
+ RunCell: {
392
+ id: 'notebook:run-cell',
393
+ icon: PlayCircleOutlined,
394
+ // label: `Run Selected Cells and Don't Advance`,
395
+ keybind: 'ctrlcmd+enter',
396
+ },
397
+ TopToolbarRunSelect: {
398
+ id: 'notebook:top-toolbar-run-select',
399
+ },
400
+ SideToolbarRunSelect: {
401
+ id: 'notebook:side-toolbar-run-select',
402
+ },
403
+ RunCellAndInsertBelow: {
404
+ id: 'notebook:run-cell-and-insert-below',
405
+ label: `Run Selected Cells and Insert Below`,
406
+ keybind: 'alt+enter',
407
+ },
408
+ RunCellAndSelectNext: {
409
+ id: 'notebook:run-cell-and-select-next',
410
+ label: `Run Selected Cells and Select Below`,
411
+ keybind: 'shift+enter',
412
+ },
413
+ // TODO: 确认是否保留
414
+ RunInConsole: {
415
+ id: 'notebook:run-in-console',
416
+ label: `Run Selected Text or Current Line in Console`,
417
+ },
418
+ // TODO:
419
+ SelectAll: {
420
+ id: 'notebook:select-all',
421
+ label: `Select All Cells`,
422
+ keybind: 'ctrlcmd+A',
423
+ when: 'commandMode',
424
+ },
425
+ SelectLastRunCell: {
426
+ id: 'notebook:select-last-run-cell',
427
+ label: `Select current running or last run cell`,
428
+ },
429
+ // TODO: 确认命令含义
430
+ SetSideBySideRatio: {
431
+ id: 'notebook:set-side-by-side-ratio',
432
+ label: `Set Side by Side Ratio`,
433
+ },
434
+ ShowAllCell: {
435
+ id: 'notebook:show-all-cell',
436
+ label: `Expand All Cell`,
437
+ },
438
+ ShowAllCellCode: {
439
+ id: 'notebook:show-all-cell-code',
440
+ label: `Expand All Code`,
441
+ },
442
+ ShowAllCellOutputs: {
443
+ id: 'notebook:show-all-cell-outputs',
444
+ label: `Expand All Outputs`,
445
+ icon: EyeOutlined,
446
+ },
447
+ ShowCellCode: {
448
+ id: 'notebook:show-cell-code',
449
+ label: `Expand Selected Code`,
450
+ },
451
+ ShowCellOutputs: {
452
+ id: 'notebook:show-cell-outputs',
453
+ label: `Expand Selected Outputs`,
454
+ },
455
+ SplitCellAntCursor: {
456
+ id: 'notebook:split-cell-at-cursor',
457
+ label: `Split Cell`,
458
+ keybind: 'ctrlcmd+shift+-',
459
+ },
460
+ ToggleAllCellLineNumbers: {
461
+ id: 'notebook:toggle-all-cell-line-numbers',
462
+ label: `Show Line Numbers`,
463
+ keybind: 'shift+L',
464
+ },
465
+ ToggleAutoclosingBrackets: {
466
+ id: 'notebook:toggle-autoclosing-brackets',
467
+ label: `Auto Close Brackets for All Notebook Cell Types`,
468
+ },
469
+ ToggleHeadingCollapse: {
470
+ id: 'notebook:toggle-heading-collapse',
471
+ label: `Toggle Collapse Notebook Heading`,
472
+ },
473
+ ToggleRenderSideBySideCurrent: {
474
+ id: 'notebook:toggle-render-side-by-side-current',
475
+ label: `Render Side-by-Side`,
476
+ keybind: 'shift+R',
477
+ when: 'commandMode',
478
+ },
479
+ Trust: {
480
+ id: 'notebook:trust',
481
+ label: `Trust Notebook`,
482
+ },
483
+ Undo: {
484
+ id: 'notebook:undo',
485
+ label: `Undo`,
486
+ },
487
+ UndoCellAction: {
488
+ id: 'notebook:undo-cell-action',
489
+ label: `Undo Cell Operation`,
490
+ keybind: 'Z',
491
+ icon: Undo,
492
+ when: 'commandMode',
493
+ },
494
+ More: {
495
+ id: 'notebook:more',
496
+ icon: MoreOutlined,
497
+ },
498
+ InsertCellBottom: {
499
+ id: 'notebook:insert-cell-bottom',
500
+ },
501
+ //#endregion
502
+ };
@@ -0,0 +1,26 @@
1
+ import type { FC } from 'react';
2
+
3
+ import type { CellOptions, CellView } from '../libro-protocol.js';
4
+
5
+ export type CellExecutionTimeProvider = FC<{ cell: CellView }>;
6
+
7
+ export const CellExecutionTimeProvider = Symbol('CellExecutionTimeProvider');
8
+
9
+ export type CellInputBottonBlankProvider = FC<{ cell: CellView }>;
10
+
11
+ export const CellInputBottonBlankProvider = Symbol('CellInputBottonBlankProvider');
12
+
13
+ export type CellOutputBottomBlankProvider = FC<{ cell: CellView }>;
14
+
15
+ export const CellOutputBottomBlankProvider = Symbol('CellOutputBottomBlankProvider');
16
+
17
+ export type CellOutputVisulizationProvider = FC<{ cell: CellView }>;
18
+
19
+ export const CellOutputVisulizationProvider = Symbol('CellOutputVisulizationProvider');
20
+
21
+ export type BetweenCellProvider = FC<{
22
+ index: number;
23
+ addCell: (option: CellOptions, position?: number | undefined) => Promise<void>;
24
+ }>;
25
+
26
+ export const BetweenCellProvider = Symbol('BetweenCellProvider');