claude-code-plus-plus 0.2.0 → 0.2.2

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 (441) hide show
  1. package/dist/cli/commands/index.js +5 -1
  2. package/dist/cli/commands/index.js.map +1 -1
  3. package/dist/cli/commands/start.js +4 -1
  4. package/dist/cli/commands/start.js.map +1 -1
  5. package/dist/cli/index.js +18 -3
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/parser.js +8 -3
  8. package/dist/cli/parser.js.map +1 -1
  9. package/dist/cli/validators.js +30 -20
  10. package/dist/cli/validators.js.map +1 -1
  11. package/dist/config/defaults.js +10 -5
  12. package/dist/config/defaults.js.map +1 -1
  13. package/dist/config/index.js +24 -4
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/config/loader.js +29 -20
  16. package/dist/config/loader.js.map +1 -1
  17. package/dist/config/paths.js +30 -21
  18. package/dist/config/paths.js.map +1 -1
  19. package/dist/config/schema.js +6 -2
  20. package/dist/config/schema.js.map +1 -1
  21. package/dist/git/index.js +6 -1
  22. package/dist/git/index.js.map +1 -1
  23. package/dist/git/worktree.js +18 -13
  24. package/dist/git/worktree.js.map +1 -1
  25. package/dist/index.js +41 -6
  26. package/dist/index.js.map +1 -1
  27. package/dist/launcher/index.d.ts.map +1 -1
  28. package/dist/launcher/index.js +60 -26
  29. package/dist/launcher/index.js.map +1 -1
  30. package/dist/platform/clipboard.js +22 -15
  31. package/dist/platform/clipboard.js.map +1 -1
  32. package/dist/platform/detector.js +37 -22
  33. package/dist/platform/detector.js.map +1 -1
  34. package/dist/platform/index.js +42 -4
  35. package/dist/platform/index.js.map +1 -1
  36. package/dist/platform/paths.js +61 -48
  37. package/dist/platform/paths.js.map +1 -1
  38. package/dist/platform/shell.js +35 -27
  39. package/dist/platform/shell.js.map +1 -1
  40. package/dist/sidebar/app.d.ts.map +1 -1
  41. package/dist/sidebar/app.js +73 -39
  42. package/dist/sidebar/app.js.map +1 -1
  43. package/dist/sidebar/index.js +4 -2
  44. package/dist/sidebar/index.js.map +1 -1
  45. package/dist/sidebar/input.js +12 -5
  46. package/dist/sidebar/input.js.map +1 -1
  47. package/dist/sidebar/render.js +102 -90
  48. package/dist/sidebar/render.js.map +1 -1
  49. package/dist/terminal/bar-handler.js +9 -7
  50. package/dist/terminal/bar-handler.js.map +1 -1
  51. package/dist/terminal/bar-render.js +6 -2
  52. package/dist/terminal/bar-render.js.map +1 -1
  53. package/dist/terminal/index.js +6 -1
  54. package/dist/terminal/index.js.map +1 -1
  55. package/dist/tmux/commands.js +18 -11
  56. package/dist/tmux/commands.js.map +1 -1
  57. package/dist/tmux/index.js +33 -7
  58. package/dist/tmux/index.js.map +1 -1
  59. package/dist/tmux/pane.js +76 -51
  60. package/dist/tmux/pane.js.map +1 -1
  61. package/dist/types.js +4 -1
  62. package/dist/types.js.map +1 -1
  63. package/dist/utils/async.js +16 -7
  64. package/dist/utils/async.js.map +1 -1
  65. package/dist/utils/errors.js +31 -14
  66. package/dist/utils/errors.js.map +1 -1
  67. package/dist/utils/id.js +19 -10
  68. package/dist/utils/id.js.map +1 -1
  69. package/dist/utils/index.js +65 -6
  70. package/dist/utils/index.js.map +1 -1
  71. package/dist/utils/logger.js +17 -10
  72. package/dist/utils/logger.js.map +1 -1
  73. package/dist/utils/string.js +22 -10
  74. package/dist/utils/string.js.map +1 -1
  75. package/dist/utils/validation.js +28 -13
  76. package/dist/utils/validation.js.map +1 -1
  77. package/package.json +4 -4
  78. package/dist/app.d.ts +0 -52
  79. package/dist/app.d.ts.map +0 -1
  80. package/dist/app.js +0 -318
  81. package/dist/app.js.map +0 -1
  82. package/dist/core/index.d.ts +0 -14
  83. package/dist/core/index.d.ts.map +0 -1
  84. package/dist/core/index.js +0 -14
  85. package/dist/core/index.js.map +0 -1
  86. package/dist/core/session/index.d.ts +0 -7
  87. package/dist/core/session/index.d.ts.map +0 -1
  88. package/dist/core/session/index.js +0 -6
  89. package/dist/core/session/index.js.map +0 -1
  90. package/dist/core/session/session-manager.d.ts +0 -46
  91. package/dist/core/session/session-manager.d.ts.map +0 -1
  92. package/dist/core/session/session-manager.js +0 -245
  93. package/dist/core/session/session-manager.js.map +0 -1
  94. package/dist/core/session/session.d.ts +0 -44
  95. package/dist/core/session/session.d.ts.map +0 -1
  96. package/dist/core/session/session.js +0 -78
  97. package/dist/core/session/session.js.map +0 -1
  98. package/dist/core/terminal/index.d.ts +0 -7
  99. package/dist/core/terminal/index.d.ts.map +0 -1
  100. package/dist/core/terminal/index.js +0 -6
  101. package/dist/core/terminal/index.js.map +0 -1
  102. package/dist/core/terminal/terminal-manager.d.ts +0 -36
  103. package/dist/core/terminal/terminal-manager.d.ts.map +0 -1
  104. package/dist/core/terminal/terminal-manager.js +0 -182
  105. package/dist/core/terminal/terminal-manager.js.map +0 -1
  106. package/dist/core/terminal/terminal.d.ts +0 -27
  107. package/dist/core/terminal/terminal.d.ts.map +0 -1
  108. package/dist/core/terminal/terminal.js +0 -38
  109. package/dist/core/terminal/terminal.js.map +0 -1
  110. package/dist/core/workspace/index.d.ts +0 -7
  111. package/dist/core/workspace/index.d.ts.map +0 -1
  112. package/dist/core/workspace/index.js +0 -6
  113. package/dist/core/workspace/index.js.map +0 -1
  114. package/dist/core/workspace/workspace-manager.d.ts +0 -59
  115. package/dist/core/workspace/workspace-manager.d.ts.map +0 -1
  116. package/dist/core/workspace/workspace-manager.js +0 -224
  117. package/dist/core/workspace/workspace-manager.js.map +0 -1
  118. package/dist/core/workspace/workspace.d.ts +0 -56
  119. package/dist/core/workspace/workspace.d.ts.map +0 -1
  120. package/dist/core/workspace/workspace.js +0 -96
  121. package/dist/core/workspace/workspace.js.map +0 -1
  122. package/dist/core/worktree/index.d.ts +0 -7
  123. package/dist/core/worktree/index.d.ts.map +0 -1
  124. package/dist/core/worktree/index.js +0 -6
  125. package/dist/core/worktree/index.js.map +0 -1
  126. package/dist/core/worktree/worktree-manager.d.ts +0 -47
  127. package/dist/core/worktree/worktree-manager.d.ts.map +0 -1
  128. package/dist/core/worktree/worktree-manager.js +0 -170
  129. package/dist/core/worktree/worktree-manager.js.map +0 -1
  130. package/dist/core/worktree/worktree.d.ts +0 -35
  131. package/dist/core/worktree/worktree.d.ts.map +0 -1
  132. package/dist/core/worktree/worktree.js +0 -50
  133. package/dist/core/worktree/worktree.js.map +0 -1
  134. package/dist/core/worktree-manager.d.ts +0 -26
  135. package/dist/core/worktree-manager.d.ts.map +0 -1
  136. package/dist/core/worktree-manager.js +0 -177
  137. package/dist/core/worktree-manager.js.map +0 -1
  138. package/dist/events/bus.d.ts +0 -76
  139. package/dist/events/bus.d.ts.map +0 -1
  140. package/dist/events/bus.js +0 -223
  141. package/dist/events/bus.js.map +0 -1
  142. package/dist/events/handlers/index.d.ts +0 -28
  143. package/dist/events/handlers/index.d.ts.map +0 -1
  144. package/dist/events/handlers/index.js +0 -44
  145. package/dist/events/handlers/index.js.map +0 -1
  146. package/dist/events/handlers/session-events.d.ts +0 -12
  147. package/dist/events/handlers/session-events.d.ts.map +0 -1
  148. package/dist/events/handlers/session-events.js +0 -38
  149. package/dist/events/handlers/session-events.js.map +0 -1
  150. package/dist/events/handlers/terminal-events.d.ts +0 -12
  151. package/dist/events/handlers/terminal-events.d.ts.map +0 -1
  152. package/dist/events/handlers/terminal-events.js +0 -37
  153. package/dist/events/handlers/terminal-events.js.map +0 -1
  154. package/dist/events/handlers/ui-events.d.ts +0 -11
  155. package/dist/events/handlers/ui-events.d.ts.map +0 -1
  156. package/dist/events/handlers/ui-events.js +0 -202
  157. package/dist/events/handlers/ui-events.js.map +0 -1
  158. package/dist/events/index.d.ts +0 -9
  159. package/dist/events/index.d.ts.map +0 -1
  160. package/dist/events/index.js +0 -10
  161. package/dist/events/index.js.map +0 -1
  162. package/dist/multiplexer/base.d.ts +0 -73
  163. package/dist/multiplexer/base.d.ts.map +0 -1
  164. package/dist/multiplexer/base.js +0 -68
  165. package/dist/multiplexer/base.js.map +0 -1
  166. package/dist/multiplexer/factory.d.ts +0 -28
  167. package/dist/multiplexer/factory.d.ts.map +0 -1
  168. package/dist/multiplexer/factory.js +0 -72
  169. package/dist/multiplexer/factory.js.map +0 -1
  170. package/dist/multiplexer/index.d.ts +0 -14
  171. package/dist/multiplexer/index.d.ts.map +0 -1
  172. package/dist/multiplexer/index.js +0 -15
  173. package/dist/multiplexer/index.js.map +0 -1
  174. package/dist/multiplexer/tmux/index.d.ts +0 -9
  175. package/dist/multiplexer/tmux/index.d.ts.map +0 -1
  176. package/dist/multiplexer/tmux/index.js +0 -7
  177. package/dist/multiplexer/tmux/index.js.map +0 -1
  178. package/dist/multiplexer/tmux/tmux-commands.d.ts +0 -96
  179. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +0 -1
  180. package/dist/multiplexer/tmux/tmux-commands.js +0 -282
  181. package/dist/multiplexer/tmux/tmux-commands.js.map +0 -1
  182. package/dist/multiplexer/tmux/tmux-config.d.ts +0 -57
  183. package/dist/multiplexer/tmux/tmux-config.d.ts.map +0 -1
  184. package/dist/multiplexer/tmux/tmux-config.js +0 -103
  185. package/dist/multiplexer/tmux/tmux-config.js.map +0 -1
  186. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +0 -94
  187. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +0 -1
  188. package/dist/multiplexer/tmux/tmux-multiplexer.js +0 -302
  189. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +0 -1
  190. package/dist/multiplexer/windows/index.d.ts +0 -5
  191. package/dist/multiplexer/windows/index.d.ts.map +0 -1
  192. package/dist/multiplexer/windows/index.js +0 -5
  193. package/dist/multiplexer/windows/index.js.map +0 -1
  194. package/dist/multiplexer/windows/windows-multiplexer.d.ts +0 -61
  195. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +0 -1
  196. package/dist/multiplexer/windows/windows-multiplexer.js +0 -151
  197. package/dist/multiplexer/windows/windows-multiplexer.js.map +0 -1
  198. package/dist/services/claude/claude-detector.d.ts +0 -37
  199. package/dist/services/claude/claude-detector.d.ts.map +0 -1
  200. package/dist/services/claude/claude-detector.js +0 -83
  201. package/dist/services/claude/claude-detector.js.map +0 -1
  202. package/dist/services/claude/claude-service.d.ts +0 -57
  203. package/dist/services/claude/claude-service.d.ts.map +0 -1
  204. package/dist/services/claude/claude-service.js +0 -108
  205. package/dist/services/claude/claude-service.js.map +0 -1
  206. package/dist/services/claude/index.d.ts +0 -7
  207. package/dist/services/claude/index.d.ts.map +0 -1
  208. package/dist/services/claude/index.js +0 -6
  209. package/dist/services/claude/index.js.map +0 -1
  210. package/dist/services/git/branch-service.d.ts +0 -64
  211. package/dist/services/git/branch-service.d.ts.map +0 -1
  212. package/dist/services/git/branch-service.js +0 -217
  213. package/dist/services/git/branch-service.js.map +0 -1
  214. package/dist/services/git/git-service.d.ts +0 -44
  215. package/dist/services/git/git-service.d.ts.map +0 -1
  216. package/dist/services/git/git-service.js +0 -145
  217. package/dist/services/git/git-service.js.map +0 -1
  218. package/dist/services/git/index.d.ts +0 -8
  219. package/dist/services/git/index.d.ts.map +0 -1
  220. package/dist/services/git/index.js +0 -7
  221. package/dist/services/git/index.js.map +0 -1
  222. package/dist/services/git/worktree-service.d.ts +0 -61
  223. package/dist/services/git/worktree-service.d.ts.map +0 -1
  224. package/dist/services/git/worktree-service.js +0 -243
  225. package/dist/services/git/worktree-service.js.map +0 -1
  226. package/dist/services/index.d.ts +0 -12
  227. package/dist/services/index.d.ts.map +0 -1
  228. package/dist/services/index.js +0 -12
  229. package/dist/services/index.js.map +0 -1
  230. package/dist/services/process/index.d.ts +0 -8
  231. package/dist/services/process/index.d.ts.map +0 -1
  232. package/dist/services/process/index.js +0 -6
  233. package/dist/services/process/index.js.map +0 -1
  234. package/dist/services/process/process-monitor.d.ts +0 -98
  235. package/dist/services/process/process-monitor.d.ts.map +0 -1
  236. package/dist/services/process/process-monitor.js +0 -173
  237. package/dist/services/process/process-monitor.js.map +0 -1
  238. package/dist/services/process/process-spawner.d.ts +0 -55
  239. package/dist/services/process/process-spawner.d.ts.map +0 -1
  240. package/dist/services/process/process-spawner.js +0 -93
  241. package/dist/services/process/process-spawner.js.map +0 -1
  242. package/dist/sidebar.d.ts +0 -13
  243. package/dist/sidebar.d.ts.map +0 -1
  244. package/dist/sidebar.js +0 -1535
  245. package/dist/sidebar.js.map +0 -1
  246. package/dist/state/actions.d.ts +0 -49
  247. package/dist/state/actions.d.ts.map +0 -1
  248. package/dist/state/actions.js +0 -512
  249. package/dist/state/actions.js.map +0 -1
  250. package/dist/state/index.d.ts +0 -16
  251. package/dist/state/index.d.ts.map +0 -1
  252. package/dist/state/index.js +0 -28
  253. package/dist/state/index.js.map +0 -1
  254. package/dist/state/middleware/index.d.ts +0 -7
  255. package/dist/state/middleware/index.d.ts.map +0 -1
  256. package/dist/state/middleware/index.js +0 -6
  257. package/dist/state/middleware/index.js.map +0 -1
  258. package/dist/state/middleware/logger.d.ts +0 -22
  259. package/dist/state/middleware/logger.d.ts.map +0 -1
  260. package/dist/state/middleware/logger.js +0 -45
  261. package/dist/state/middleware/logger.js.map +0 -1
  262. package/dist/state/middleware/persistence.d.ts +0 -29
  263. package/dist/state/middleware/persistence.d.ts.map +0 -1
  264. package/dist/state/middleware/persistence.js +0 -71
  265. package/dist/state/middleware/persistence.js.map +0 -1
  266. package/dist/state/persistence/file-adapter.d.ts +0 -48
  267. package/dist/state/persistence/file-adapter.d.ts.map +0 -1
  268. package/dist/state/persistence/file-adapter.js +0 -96
  269. package/dist/state/persistence/file-adapter.js.map +0 -1
  270. package/dist/state/persistence/index.d.ts +0 -8
  271. package/dist/state/persistence/index.d.ts.map +0 -1
  272. package/dist/state/persistence/index.js +0 -6
  273. package/dist/state/persistence/index.js.map +0 -1
  274. package/dist/state/persistence/serializer.d.ts +0 -41
  275. package/dist/state/persistence/serializer.d.ts.map +0 -1
  276. package/dist/state/persistence/serializer.js +0 -114
  277. package/dist/state/persistence/serializer.js.map +0 -1
  278. package/dist/state/selectors.d.ts +0 -67
  279. package/dist/state/selectors.d.ts.map +0 -1
  280. package/dist/state/selectors.js +0 -177
  281. package/dist/state/selectors.js.map +0 -1
  282. package/dist/state/store.d.ts +0 -86
  283. package/dist/state/store.d.ts.map +0 -1
  284. package/dist/state/store.js +0 -161
  285. package/dist/state/store.js.map +0 -1
  286. package/dist/state/types.d.ts +0 -269
  287. package/dist/state/types.d.ts.map +0 -1
  288. package/dist/state/types.js +0 -7
  289. package/dist/state/types.js.map +0 -1
  290. package/dist/state.d.ts +0 -53
  291. package/dist/state.d.ts.map +0 -1
  292. package/dist/state.js +0 -101
  293. package/dist/state.js.map +0 -1
  294. package/dist/terminal-manager.d.ts +0 -16
  295. package/dist/terminal-manager.d.ts.map +0 -1
  296. package/dist/terminal-manager.js +0 -364
  297. package/dist/terminal-manager.js.map +0 -1
  298. package/dist/tmux.d.ts +0 -163
  299. package/dist/tmux.d.ts.map +0 -1
  300. package/dist/tmux.js +0 -360
  301. package/dist/tmux.js.map +0 -1
  302. package/dist/types/config.d.ts +0 -103
  303. package/dist/types/config.d.ts.map +0 -1
  304. package/dist/types/config.js +0 -7
  305. package/dist/types/config.js.map +0 -1
  306. package/dist/types/entities.d.ts +0 -88
  307. package/dist/types/entities.d.ts.map +0 -1
  308. package/dist/types/entities.js +0 -8
  309. package/dist/types/entities.js.map +0 -1
  310. package/dist/types/events.d.ts +0 -156
  311. package/dist/types/events.d.ts.map +0 -1
  312. package/dist/types/events.js +0 -8
  313. package/dist/types/events.js.map +0 -1
  314. package/dist/types/index.d.ts +0 -11
  315. package/dist/types/index.d.ts.map +0 -1
  316. package/dist/types/index.js +0 -8
  317. package/dist/types/index.js.map +0 -1
  318. package/dist/types/multiplexer.d.ts +0 -238
  319. package/dist/types/multiplexer.d.ts.map +0 -1
  320. package/dist/types/multiplexer.js +0 -8
  321. package/dist/types/multiplexer.js.map +0 -1
  322. package/dist/ui/components/base.d.ts +0 -155
  323. package/dist/ui/components/base.d.ts.map +0 -1
  324. package/dist/ui/components/base.js +0 -269
  325. package/dist/ui/components/base.js.map +0 -1
  326. package/dist/ui/components/index.d.ts +0 -10
  327. package/dist/ui/components/index.d.ts.map +0 -1
  328. package/dist/ui/components/index.js +0 -10
  329. package/dist/ui/components/index.js.map +0 -1
  330. package/dist/ui/components/input-field.d.ts +0 -98
  331. package/dist/ui/components/input-field.d.ts.map +0 -1
  332. package/dist/ui/components/input-field.js +0 -274
  333. package/dist/ui/components/input-field.js.map +0 -1
  334. package/dist/ui/components/list.d.ts +0 -94
  335. package/dist/ui/components/list.d.ts.map +0 -1
  336. package/dist/ui/components/list.js +0 -294
  337. package/dist/ui/components/list.js.map +0 -1
  338. package/dist/ui/components/modal.d.ts +0 -83
  339. package/dist/ui/components/modal.d.ts.map +0 -1
  340. package/dist/ui/components/modal.js +0 -249
  341. package/dist/ui/components/modal.js.map +0 -1
  342. package/dist/ui/components/tabs.d.ts +0 -97
  343. package/dist/ui/components/tabs.d.ts.map +0 -1
  344. package/dist/ui/components/tabs.js +0 -252
  345. package/dist/ui/components/tabs.js.map +0 -1
  346. package/dist/ui/components/text.d.ts +0 -60
  347. package/dist/ui/components/text.d.ts.map +0 -1
  348. package/dist/ui/components/text.js +0 -224
  349. package/dist/ui/components/text.js.map +0 -1
  350. package/dist/ui/index.d.ts +0 -12
  351. package/dist/ui/index.d.ts.map +0 -1
  352. package/dist/ui/index.js +0 -18
  353. package/dist/ui/index.js.map +0 -1
  354. package/dist/ui/input/index.d.ts +0 -8
  355. package/dist/ui/input/index.d.ts.map +0 -1
  356. package/dist/ui/input/index.js +0 -8
  357. package/dist/ui/input/index.js.map +0 -1
  358. package/dist/ui/input/input-manager.d.ts +0 -83
  359. package/dist/ui/input/input-manager.d.ts.map +0 -1
  360. package/dist/ui/input/input-manager.js +0 -200
  361. package/dist/ui/input/input-manager.js.map +0 -1
  362. package/dist/ui/input/keybindings.d.ts +0 -47
  363. package/dist/ui/input/keybindings.d.ts.map +0 -1
  364. package/dist/ui/input/keybindings.js +0 -168
  365. package/dist/ui/input/keybindings.js.map +0 -1
  366. package/dist/ui/input/keyboard.d.ts +0 -24
  367. package/dist/ui/input/keyboard.d.ts.map +0 -1
  368. package/dist/ui/input/keyboard.js +0 -230
  369. package/dist/ui/input/keyboard.js.map +0 -1
  370. package/dist/ui/input/mouse.d.ts +0 -44
  371. package/dist/ui/input/mouse.d.ts.map +0 -1
  372. package/dist/ui/input/mouse.js +0 -161
  373. package/dist/ui/input/mouse.js.map +0 -1
  374. package/dist/ui/layout/box.d.ts +0 -63
  375. package/dist/ui/layout/box.d.ts.map +0 -1
  376. package/dist/ui/layout/box.js +0 -160
  377. package/dist/ui/layout/box.js.map +0 -1
  378. package/dist/ui/layout/constraints.d.ts +0 -77
  379. package/dist/ui/layout/constraints.d.ts.map +0 -1
  380. package/dist/ui/layout/constraints.js +0 -154
  381. package/dist/ui/layout/constraints.js.map +0 -1
  382. package/dist/ui/layout/flex.d.ts +0 -59
  383. package/dist/ui/layout/flex.d.ts.map +0 -1
  384. package/dist/ui/layout/flex.js +0 -163
  385. package/dist/ui/layout/flex.js.map +0 -1
  386. package/dist/ui/layout/index.d.ts +0 -7
  387. package/dist/ui/layout/index.d.ts.map +0 -1
  388. package/dist/ui/layout/index.js +0 -7
  389. package/dist/ui/layout/index.js.map +0 -1
  390. package/dist/ui/modals/delete-modal.d.ts +0 -27
  391. package/dist/ui/modals/delete-modal.d.ts.map +0 -1
  392. package/dist/ui/modals/delete-modal.js +0 -59
  393. package/dist/ui/modals/delete-modal.js.map +0 -1
  394. package/dist/ui/modals/index.d.ts +0 -7
  395. package/dist/ui/modals/index.d.ts.map +0 -1
  396. package/dist/ui/modals/index.js +0 -7
  397. package/dist/ui/modals/index.js.map +0 -1
  398. package/dist/ui/modals/input-modal.d.ts +0 -66
  399. package/dist/ui/modals/input-modal.d.ts.map +0 -1
  400. package/dist/ui/modals/input-modal.js +0 -185
  401. package/dist/ui/modals/input-modal.js.map +0 -1
  402. package/dist/ui/modals/quit-modal.d.ts +0 -30
  403. package/dist/ui/modals/quit-modal.d.ts.map +0 -1
  404. package/dist/ui/modals/quit-modal.js +0 -65
  405. package/dist/ui/modals/quit-modal.js.map +0 -1
  406. package/dist/ui/renderer/ansi.d.ts +0 -206
  407. package/dist/ui/renderer/ansi.d.ts.map +0 -1
  408. package/dist/ui/renderer/ansi.js +0 -318
  409. package/dist/ui/renderer/ansi.js.map +0 -1
  410. package/dist/ui/renderer/canvas.d.ts +0 -126
  411. package/dist/ui/renderer/canvas.d.ts.map +0 -1
  412. package/dist/ui/renderer/canvas.js +0 -346
  413. package/dist/ui/renderer/canvas.js.map +0 -1
  414. package/dist/ui/renderer/colors.d.ts +0 -65
  415. package/dist/ui/renderer/colors.d.ts.map +0 -1
  416. package/dist/ui/renderer/colors.js +0 -260
  417. package/dist/ui/renderer/colors.js.map +0 -1
  418. package/dist/ui/renderer/index.d.ts +0 -8
  419. package/dist/ui/renderer/index.d.ts.map +0 -1
  420. package/dist/ui/renderer/index.js +0 -8
  421. package/dist/ui/renderer/index.js.map +0 -1
  422. package/dist/ui/renderer/symbols.d.ts +0 -176
  423. package/dist/ui/renderer/symbols.d.ts.map +0 -1
  424. package/dist/ui/renderer/symbols.js +0 -246
  425. package/dist/ui/renderer/symbols.js.map +0 -1
  426. package/dist/ui/views/index.d.ts +0 -7
  427. package/dist/ui/views/index.d.ts.map +0 -1
  428. package/dist/ui/views/index.js +0 -7
  429. package/dist/ui/views/index.js.map +0 -1
  430. package/dist/ui/views/sidebar-view.d.ts +0 -89
  431. package/dist/ui/views/sidebar-view.d.ts.map +0 -1
  432. package/dist/ui/views/sidebar-view.js +0 -259
  433. package/dist/ui/views/sidebar-view.js.map +0 -1
  434. package/dist/ui/views/terminal-bar-view.d.ts +0 -67
  435. package/dist/ui/views/terminal-bar-view.d.ts.map +0 -1
  436. package/dist/ui/views/terminal-bar-view.js +0 -172
  437. package/dist/ui/views/terminal-bar-view.js.map +0 -1
  438. package/dist/ui/views/welcome-view.d.ts +0 -34
  439. package/dist/ui/views/welcome-view.d.ts.map +0 -1
  440. package/dist/ui/views/welcome-view.js +0 -116
  441. package/dist/ui/views/welcome-view.js.map +0 -1
@@ -1,60 +0,0 @@
1
- /**
2
- * Text Component
3
- *
4
- * Renders styled text with optional truncation and alignment.
5
- */
6
- import type { Canvas } from '../renderer';
7
- import type { Bounds, Size } from '../layout';
8
- import { Component, type ComponentProps } from './base';
9
- export type TextAlign = 'left' | 'center' | 'right';
10
- export interface TextProps extends ComponentProps {
11
- text?: string;
12
- align?: TextAlign;
13
- wrap?: boolean;
14
- ellipsis?: boolean;
15
- }
16
- export declare class Text extends Component {
17
- private text;
18
- private align;
19
- private wrap;
20
- private ellipsis;
21
- constructor(props?: TextProps);
22
- /**
23
- * Set the text content
24
- */
25
- setText(text: string): void;
26
- /**
27
- * Get the text content
28
- */
29
- getText(): string;
30
- /**
31
- * Set text alignment
32
- */
33
- setAlign(align: TextAlign): void;
34
- getPreferredSize(): Size;
35
- getMinSize(): Size;
36
- render(canvas: Canvas, bounds: Bounds): void;
37
- private renderSingleLine;
38
- private renderWrapped;
39
- }
40
- /**
41
- * Truncate text to fit within width
42
- */
43
- export declare function truncate(text: string, maxWidth: number): string;
44
- /**
45
- * Truncate text with ellipsis
46
- */
47
- export declare function truncateWithEllipsis(text: string, maxWidth: number): string;
48
- /**
49
- * Wrap text to fit within width
50
- */
51
- export declare function wrapText(text: string, maxWidth: number): string[];
52
- /**
53
- * Pad text to width
54
- */
55
- export declare function padText(text: string, width: number, align?: TextAlign): string;
56
- /**
57
- * Create a Text component
58
- */
59
- export declare function createText(props?: TextProps): Text;
60
- //# sourceMappingURL=text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/ui/components/text.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAMxD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,qBAAa,IAAK,SAAQ,SAAS;IACjC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAiB;gBAErB,KAAK,GAAE,SAAc;IAQjC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIhC,gBAAgB,IAAI,IAAI;IAWxB,UAAU,IAAI,IAAI;IAIlB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAY5C,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,aAAa;CA6BtB;AAMD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS3E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAiDjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,SAAkB,GAAG,MAAM,CAmBtF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAE,SAAc,GAAG,IAAI,CAEtD"}
@@ -1,224 +0,0 @@
1
- /**
2
- * Text Component
3
- *
4
- * Renders styled text with optional truncation and alignment.
5
- */
6
- import { visibleLength, stripAnsi } from '../renderer/ansi';
7
- import { Component } from './base';
8
- // ============================================================================
9
- // Text Component
10
- // ============================================================================
11
- export class Text extends Component {
12
- text = '';
13
- align = 'left';
14
- wrap = false;
15
- ellipsis = true;
16
- constructor(props = {}) {
17
- super(props);
18
- this.text = props.text ?? '';
19
- this.align = props.align ?? 'left';
20
- this.wrap = props.wrap ?? false;
21
- this.ellipsis = props.ellipsis ?? true;
22
- }
23
- /**
24
- * Set the text content
25
- */
26
- setText(text) {
27
- this.text = text;
28
- }
29
- /**
30
- * Get the text content
31
- */
32
- getText() {
33
- return this.text;
34
- }
35
- /**
36
- * Set text alignment
37
- */
38
- setAlign(align) {
39
- this.align = align;
40
- }
41
- getPreferredSize() {
42
- if (this.wrap) {
43
- // When wrapping, width is flexible but we need at least 1 character
44
- return { width: 1, height: 1 };
45
- }
46
- return {
47
- width: visibleLength(this.text),
48
- height: 1,
49
- };
50
- }
51
- getMinSize() {
52
- return { width: 1, height: 1 };
53
- }
54
- render(canvas, bounds) {
55
- if (!this.visible || bounds.width < 1 || bounds.height < 1) {
56
- return;
57
- }
58
- if (this.wrap) {
59
- this.renderWrapped(canvas, bounds);
60
- }
61
- else {
62
- this.renderSingleLine(canvas, bounds);
63
- }
64
- }
65
- renderSingleLine(canvas, bounds) {
66
- let displayText = this.text;
67
- const textWidth = visibleLength(displayText);
68
- // Truncate if necessary
69
- if (textWidth > bounds.width) {
70
- if (this.ellipsis && bounds.width > 3) {
71
- displayText = truncateWithEllipsis(displayText, bounds.width);
72
- }
73
- else {
74
- displayText = truncate(displayText, bounds.width);
75
- }
76
- }
77
- // Calculate x position based on alignment
78
- const displayWidth = visibleLength(displayText);
79
- let x = bounds.x;
80
- switch (this.align) {
81
- case 'center':
82
- x = bounds.x + Math.floor((bounds.width - displayWidth) / 2);
83
- break;
84
- case 'right':
85
- x = bounds.x + bounds.width - displayWidth;
86
- break;
87
- }
88
- canvas.drawText(x, bounds.y, stripAnsi(displayText), this.style);
89
- }
90
- renderWrapped(canvas, bounds) {
91
- const lines = wrapText(this.text, bounds.width);
92
- const maxLines = bounds.height;
93
- for (let i = 0; i < Math.min(lines.length, maxLines); i++) {
94
- let line = lines[i];
95
- // If this is the last visible line and there's more, add ellipsis
96
- if (i === maxLines - 1 && lines.length > maxLines) {
97
- if (this.ellipsis && bounds.width > 3) {
98
- line = truncateWithEllipsis(line, bounds.width);
99
- }
100
- }
101
- // Calculate x position based on alignment
102
- const lineWidth = visibleLength(line);
103
- let x = bounds.x;
104
- switch (this.align) {
105
- case 'center':
106
- x = bounds.x + Math.floor((bounds.width - lineWidth) / 2);
107
- break;
108
- case 'right':
109
- x = bounds.x + bounds.width - lineWidth;
110
- break;
111
- }
112
- canvas.drawText(x, bounds.y + i, stripAnsi(line), this.style);
113
- }
114
- }
115
- }
116
- // ============================================================================
117
- // Helper Functions
118
- // ============================================================================
119
- /**
120
- * Truncate text to fit within width
121
- */
122
- export function truncate(text, maxWidth) {
123
- const stripped = stripAnsi(text);
124
- if (stripped.length <= maxWidth) {
125
- return stripped;
126
- }
127
- return stripped.substring(0, maxWidth);
128
- }
129
- /**
130
- * Truncate text with ellipsis
131
- */
132
- export function truncateWithEllipsis(text, maxWidth) {
133
- const stripped = stripAnsi(text);
134
- if (stripped.length <= maxWidth) {
135
- return stripped;
136
- }
137
- if (maxWidth <= 3) {
138
- return stripped.substring(0, maxWidth);
139
- }
140
- return stripped.substring(0, maxWidth - 1) + '…';
141
- }
142
- /**
143
- * Wrap text to fit within width
144
- */
145
- export function wrapText(text, maxWidth) {
146
- if (maxWidth < 1)
147
- return [];
148
- const stripped = stripAnsi(text);
149
- const words = stripped.split(/\s+/);
150
- const lines = [];
151
- let currentLine = '';
152
- for (const word of words) {
153
- if (word.length === 0)
154
- continue;
155
- if (currentLine.length === 0) {
156
- // Start of new line
157
- if (word.length > maxWidth) {
158
- // Word is too long, need to break it
159
- let remaining = word;
160
- while (remaining.length > maxWidth) {
161
- lines.push(remaining.substring(0, maxWidth));
162
- remaining = remaining.substring(maxWidth);
163
- }
164
- currentLine = remaining;
165
- }
166
- else {
167
- currentLine = word;
168
- }
169
- }
170
- else if (currentLine.length + 1 + word.length <= maxWidth) {
171
- // Word fits on current line
172
- currentLine += ' ' + word;
173
- }
174
- else {
175
- // Word doesn't fit, start new line
176
- lines.push(currentLine);
177
- if (word.length > maxWidth) {
178
- // Word is too long, need to break it
179
- let remaining = word;
180
- while (remaining.length > maxWidth) {
181
- lines.push(remaining.substring(0, maxWidth));
182
- remaining = remaining.substring(maxWidth);
183
- }
184
- currentLine = remaining;
185
- }
186
- else {
187
- currentLine = word;
188
- }
189
- }
190
- }
191
- if (currentLine.length > 0) {
192
- lines.push(currentLine);
193
- }
194
- return lines.length > 0 ? lines : [''];
195
- }
196
- /**
197
- * Pad text to width
198
- */
199
- export function padText(text, width, align = 'left') {
200
- const stripped = stripAnsi(text);
201
- const textWidth = stripped.length;
202
- if (textWidth >= width) {
203
- return stripped.substring(0, width);
204
- }
205
- const padding = width - textWidth;
206
- switch (align) {
207
- case 'left':
208
- return stripped + ' '.repeat(padding);
209
- case 'right':
210
- return ' '.repeat(padding) + stripped;
211
- case 'center': {
212
- const left = Math.floor(padding / 2);
213
- const right = padding - left;
214
- return ' '.repeat(left) + stripped + ' '.repeat(right);
215
- }
216
- }
217
- }
218
- /**
219
- * Create a Text component
220
- */
221
- export function createText(props = {}) {
222
- return new Text(props);
223
- }
224
- //# sourceMappingURL=text.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/ui/components/text.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAuB,MAAM,QAAQ,CAAC;AAexD,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,OAAO,IAAK,SAAQ,SAAS;IACzB,IAAI,GAAW,EAAE,CAAC;IAClB,KAAK,GAAc,MAAM,CAAC;IAC1B,IAAI,GAAY,KAAK,CAAC;IACtB,QAAQ,GAAY,IAAI,CAAC;IAEjC,YAAY,QAAmB,EAAE;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAgB;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,oEAAoE;YACpE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACjC,CAAC;QACD,OAAO;YACL,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAAc;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,MAAc,EAAE,MAAc;QACrD,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAE7C,wBAAwB;QACxB,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACtC,WAAW,GAAG,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACjB,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,OAAO;gBACV,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;gBAC3C,MAAM;QACV,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,MAAc;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1D,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,kEAAkE;YAClE,IAAI,CAAC,KAAK,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBACtC,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACjB,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,QAAQ;oBACX,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1D,MAAM;gBACR,KAAK,OAAO;oBACV,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;oBACxC,MAAM;YACV,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,QAAgB;IACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,QAAgB;IACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,QAAgB;IACrD,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEhC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,oBAAoB;YACpB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAC3B,qCAAqC;gBACrC,IAAI,SAAS,GAAG,IAAI,CAAC;gBACrB,OAAO,SAAS,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC7C,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBACD,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC5D,4BAA4B;YAC5B,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAC3B,qCAAqC;gBACrC,IAAI,SAAS,GAAG,IAAI,CAAC;gBACrB,OAAO,SAAS,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC7C,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBACD,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,KAAa,EAAE,QAAmB,MAAM;IAC5E,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;IAClC,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IAClC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;QACxC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;YAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAmB,EAAE;IAC9C,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * UI Module
3
- *
4
- * User interface components and rendering.
5
- */
6
- export * from './renderer';
7
- export * from './input';
8
- export * from './layout';
9
- export { Component, ContainerComponent, resetComponentIdCounter, type HitResult, type ComponentProps, Text, createText, truncate, truncateWithEllipsis, wrapText, padText, type TextAlign, type TextProps, List, createList, type ListItem, type ListProps, type ListSelectHandler, Tabs, createTabs, type Tab, type TabsProps, type TabSelectHandler, type TabCloseHandler, InputField, createInputField, type InputFieldProps, type InputChangeHandler, type InputSubmitHandler as InputFieldSubmitHandler, Modal, createModal, ConfirmModal, createConfirmModal, type ModalProps, type ModalCloseHandler, type ConfirmModalProps, type ConfirmHandler, } from './components';
10
- export * from './views';
11
- export { QuitModal, createQuitModal, type QuitAction, type QuitHandler, type QuitModalProps, InputModal, createInputModal, createWorktreeModal, createSessionModal, createRenameModal, type InputModalProps, type InputSubmitHandler as ModalInputSubmitHandler, type InputCancelHandler, DeleteModal, createDeleteModal, createWorktreeDeleteModal, createSessionDeleteModal, type DeleteModalProps, } from './modals';
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,KAAK,SAAS,EACd,KAAK,SAAS,EACd,IAAI,EACJ,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,IAAI,EACJ,UAAU,EACV,KAAK,GAAG,EACR,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,UAAU,EACV,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,IAAI,uBAAuB,EAClD,KAAK,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAGtB,cAAc,SAAS,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,IAAI,uBAAuB,EAClD,KAAK,kBAAkB,EACvB,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC"}
package/dist/ui/index.js DELETED
@@ -1,18 +0,0 @@
1
- /**
2
- * UI Module
3
- *
4
- * User interface components and rendering.
5
- */
6
- // Renderer
7
- export * from './renderer';
8
- // Input
9
- export * from './input';
10
- // Layout
11
- export * from './layout';
12
- // Components
13
- export { Component, ContainerComponent, resetComponentIdCounter, Text, createText, truncate, truncateWithEllipsis, wrapText, padText, List, createList, Tabs, createTabs, InputField, createInputField, Modal, createModal, ConfirmModal, createConfirmModal, } from './components';
14
- // Views
15
- export * from './views';
16
- // Modals
17
- export { QuitModal, createQuitModal, InputModal, createInputModal, createWorktreeModal, createSessionModal, createRenameModal, DeleteModal, createDeleteModal, createWorktreeDeleteModal, createSessionDeleteModal, } from './modals';
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,WAAW;AACX,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,SAAS;AACT,cAAc,UAAU,CAAC;AAEzB,aAAa;AACb,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EAGvB,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,QAAQ,EACR,OAAO,EAGP,IAAI,EACJ,UAAU,EAIV,IAAI,EACJ,UAAU,EAKV,UAAU,EACV,gBAAgB,EAIhB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,GAKnB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,SAAS;AACT,OAAO,EACL,SAAS,EACT,eAAe,EAIf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAIjB,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,GAEzB,MAAM,UAAU,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Input Module
3
- */
4
- export { parseKeyInput, matchesKey, formatKeyEvent, type KeyEvent, } from './keyboard';
5
- export { parseMouseInput, isMouseSequence, formatMouseEvent, isInRegion, getRelativePosition, type MouseEvent, } from './mouse';
6
- export { DEFAULT_KEYBINDINGS, getAction, getBindingsForContext, getBindingForAction, getAllBindingsForAction, addBinding, removeBinding, resetBindings, getHelpText, type ActionName, type Keybinding, } from './keybindings';
7
- export { InputManager, getInputManager, createInputManager, resetInputManager, type KeyHandler, type MouseHandler, } from './input-manager';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/input/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,KAAK,QAAQ,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,KAAK,UAAU,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Input Module
3
- */
4
- export { parseKeyInput, matchesKey, formatKeyEvent, } from './keyboard';
5
- export { parseMouseInput, isMouseSequence, formatMouseEvent, isInRegion, getRelativePosition, } from './mouse';
6
- export { DEFAULT_KEYBINDINGS, getAction, getBindingsForContext, getBindingForAction, getAllBindingsForAction, addBinding, removeBinding, resetBindings, getHelpText, } from './keybindings';
7
- export { InputManager, getInputManager, createInputManager, resetInputManager, } from './input-manager';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/input/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,GAEf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,mBAAmB,GAEpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,GAGZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAGlB,MAAM,iBAAiB,CAAC"}
@@ -1,83 +0,0 @@
1
- /**
2
- * Input Manager
3
- *
4
- * Unified input handling for keyboard and mouse events.
5
- */
6
- import type { ReadStream, WriteStream } from 'tty';
7
- import { type KeyEvent } from './keyboard';
8
- import { type MouseEvent } from './mouse';
9
- export type KeyHandler = (event: KeyEvent) => void;
10
- export type MouseHandler = (event: MouseEvent) => void;
11
- interface InputManagerOptions {
12
- enableMouse?: boolean;
13
- stdin?: ReadStream;
14
- stdout?: WriteStream;
15
- }
16
- export declare class InputManager {
17
- private stdin;
18
- private stdout;
19
- private keyHandlers;
20
- private mouseHandlers;
21
- private running;
22
- private mouseEnabled;
23
- private dataHandler;
24
- constructor(options?: InputManagerOptions);
25
- /**
26
- * Start listening for input
27
- */
28
- start(enableMouse?: boolean): void;
29
- /**
30
- * Stop listening for input
31
- */
32
- stop(): void;
33
- /**
34
- * Enable mouse tracking
35
- */
36
- enableMouse(): void;
37
- /**
38
- * Disable mouse tracking
39
- */
40
- disableMouse(): void;
41
- /**
42
- * Handle raw input data
43
- */
44
- private handleInput;
45
- /**
46
- * Emit a key event to all handlers
47
- */
48
- private emitKeyEvent;
49
- /**
50
- * Emit a mouse event to all handlers
51
- */
52
- private emitMouseEvent;
53
- /**
54
- * Register a key handler
55
- */
56
- onKey(handler: KeyHandler): () => void;
57
- /**
58
- * Register a mouse handler
59
- */
60
- onMouse(handler: MouseHandler): () => void;
61
- /**
62
- * Check if input manager is running
63
- */
64
- isRunning(): boolean;
65
- /**
66
- * Check if mouse is enabled
67
- */
68
- isMouseEnabled(): boolean;
69
- }
70
- /**
71
- * Get or create the global input manager
72
- */
73
- export declare function getInputManager(options?: InputManagerOptions): InputManager;
74
- /**
75
- * Create a new input manager (for testing or multiple instances)
76
- */
77
- export declare function createInputManager(options?: InputManagerOptions): InputManager;
78
- /**
79
- * Reset the global input manager
80
- */
81
- export declare function resetInputManager(): void;
82
- export {};
83
- //# sourceMappingURL=input-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-manager.d.ts","sourceRoot":"","sources":["../../../src/ui/input/input-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAGnD,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAO5E,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAEvD,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,WAAW,CAAyC;gBAEhD,OAAO,GAAE,mBAAwB;IAK7C;;OAEG;IACH,KAAK,CAAC,WAAW,GAAE,OAAc,GAAG,IAAI;IAwBxC;;OAEG;IACH,IAAI,IAAI,IAAI;IAsBZ;;OAEG;IACH,WAAW,IAAI,IAAI;IAMnB;;OAEG;IACH,YAAY,IAAI,IAAI;IAMpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAiBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,IAAI;IAOtC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,IAAI;IAO1C;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,cAAc,IAAI,OAAO;CAG1B;AAQD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAK3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAE9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC"}
@@ -1,200 +0,0 @@
1
- /**
2
- * Input Manager
3
- *
4
- * Unified input handling for keyboard and mouse events.
5
- */
6
- import { getEventBus } from '../../events';
7
- import { parseKeyInput } from './keyboard';
8
- import { parseMouseInput, isMouseSequence } from './mouse';
9
- import * as ansi from '../renderer/ansi';
10
- // ============================================================================
11
- // Input Manager Class
12
- // ============================================================================
13
- export class InputManager {
14
- stdin;
15
- stdout;
16
- keyHandlers = new Set();
17
- mouseHandlers = new Set();
18
- running = false;
19
- mouseEnabled = false;
20
- dataHandler = null;
21
- constructor(options = {}) {
22
- this.stdin = options.stdin ?? process.stdin;
23
- this.stdout = options.stdout ?? process.stdout;
24
- }
25
- /**
26
- * Start listening for input
27
- */
28
- start(enableMouse = true) {
29
- if (this.running)
30
- return;
31
- this.running = true;
32
- // Put stdin in raw mode
33
- if (this.stdin.isTTY) {
34
- this.stdin.setRawMode(true);
35
- }
36
- // Enable mouse if requested
37
- if (enableMouse) {
38
- this.enableMouse();
39
- }
40
- // Set up data handler
41
- this.dataHandler = (data) => {
42
- this.handleInput(data);
43
- };
44
- this.stdin.on('data', this.dataHandler);
45
- // Resume stdin
46
- this.stdin.resume();
47
- }
48
- /**
49
- * Stop listening for input
50
- */
51
- stop() {
52
- if (!this.running)
53
- return;
54
- this.running = false;
55
- // Disable mouse
56
- if (this.mouseEnabled) {
57
- this.disableMouse();
58
- }
59
- // Remove data handler
60
- if (this.dataHandler) {
61
- this.stdin.off('data', this.dataHandler);
62
- this.dataHandler = null;
63
- }
64
- // Restore stdin
65
- if (this.stdin.isTTY) {
66
- this.stdin.setRawMode(false);
67
- }
68
- this.stdin.pause();
69
- }
70
- /**
71
- * Enable mouse tracking
72
- */
73
- enableMouse() {
74
- if (this.mouseEnabled)
75
- return;
76
- this.mouseEnabled = true;
77
- this.stdout.write(ansi.enableMouse());
78
- }
79
- /**
80
- * Disable mouse tracking
81
- */
82
- disableMouse() {
83
- if (!this.mouseEnabled)
84
- return;
85
- this.mouseEnabled = false;
86
- this.stdout.write(ansi.disableMouse());
87
- }
88
- /**
89
- * Handle raw input data
90
- */
91
- handleInput(data) {
92
- const str = data.toString('utf8');
93
- // Check if it's a mouse event
94
- if (isMouseSequence(str)) {
95
- const mouseEvent = parseMouseInput(str);
96
- if (mouseEvent) {
97
- this.emitMouseEvent(mouseEvent);
98
- return;
99
- }
100
- }
101
- // Parse as keyboard input
102
- const keyEvent = parseKeyInput(data);
103
- this.emitKeyEvent(keyEvent);
104
- }
105
- /**
106
- * Emit a key event to all handlers
107
- */
108
- emitKeyEvent(event) {
109
- // Emit to local handlers
110
- for (const handler of this.keyHandlers) {
111
- handler(event);
112
- }
113
- // Emit to event bus
114
- const eventBus = getEventBus();
115
- eventBus.emit('ui:key', {
116
- key: event.key,
117
- raw: event.raw,
118
- modifiers: event.modifiers,
119
- });
120
- }
121
- /**
122
- * Emit a mouse event to all handlers
123
- */
124
- emitMouseEvent(event) {
125
- // Emit to local handlers
126
- for (const handler of this.mouseHandlers) {
127
- handler(event);
128
- }
129
- // Emit to event bus
130
- const eventBus = getEventBus();
131
- // Convert button type to match event type (exclude 'none')
132
- const button = event.button === 'none' ? 'left' : event.button;
133
- eventBus.emit('ui:mouse', {
134
- x: event.x,
135
- y: event.y,
136
- button,
137
- action: event.action,
138
- scrollDirection: event.scrollDirection,
139
- });
140
- }
141
- /**
142
- * Register a key handler
143
- */
144
- onKey(handler) {
145
- this.keyHandlers.add(handler);
146
- return () => {
147
- this.keyHandlers.delete(handler);
148
- };
149
- }
150
- /**
151
- * Register a mouse handler
152
- */
153
- onMouse(handler) {
154
- this.mouseHandlers.add(handler);
155
- return () => {
156
- this.mouseHandlers.delete(handler);
157
- };
158
- }
159
- /**
160
- * Check if input manager is running
161
- */
162
- isRunning() {
163
- return this.running;
164
- }
165
- /**
166
- * Check if mouse is enabled
167
- */
168
- isMouseEnabled() {
169
- return this.mouseEnabled;
170
- }
171
- }
172
- // ============================================================================
173
- // Factory Functions
174
- // ============================================================================
175
- let globalInputManager = null;
176
- /**
177
- * Get or create the global input manager
178
- */
179
- export function getInputManager(options) {
180
- if (!globalInputManager) {
181
- globalInputManager = new InputManager(options);
182
- }
183
- return globalInputManager;
184
- }
185
- /**
186
- * Create a new input manager (for testing or multiple instances)
187
- */
188
- export function createInputManager(options) {
189
- return new InputManager(options);
190
- }
191
- /**
192
- * Reset the global input manager
193
- */
194
- export function resetInputManager() {
195
- if (globalInputManager) {
196
- globalInputManager.stop();
197
- globalInputManager = null;
198
- }
199
- }
200
- //# sourceMappingURL=input-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-manager.js","sourceRoot":"","sources":["../../../src/ui/input/input-manager.ts"],"names":[],"mappings":"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"}