claude-code-plus-plus 0.2.1 → 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 (365) hide show
  1. package/package.json +1 -1
  2. package/dist/app.d.ts +0 -52
  3. package/dist/app.d.ts.map +0 -1
  4. package/dist/app.js +0 -318
  5. package/dist/app.js.map +0 -1
  6. package/dist/core/index.d.ts +0 -14
  7. package/dist/core/index.d.ts.map +0 -1
  8. package/dist/core/index.js +0 -14
  9. package/dist/core/index.js.map +0 -1
  10. package/dist/core/session/index.d.ts +0 -7
  11. package/dist/core/session/index.d.ts.map +0 -1
  12. package/dist/core/session/index.js +0 -6
  13. package/dist/core/session/index.js.map +0 -1
  14. package/dist/core/session/session-manager.d.ts +0 -46
  15. package/dist/core/session/session-manager.d.ts.map +0 -1
  16. package/dist/core/session/session-manager.js +0 -245
  17. package/dist/core/session/session-manager.js.map +0 -1
  18. package/dist/core/session/session.d.ts +0 -44
  19. package/dist/core/session/session.d.ts.map +0 -1
  20. package/dist/core/session/session.js +0 -78
  21. package/dist/core/session/session.js.map +0 -1
  22. package/dist/core/terminal/index.d.ts +0 -7
  23. package/dist/core/terminal/index.d.ts.map +0 -1
  24. package/dist/core/terminal/index.js +0 -6
  25. package/dist/core/terminal/index.js.map +0 -1
  26. package/dist/core/terminal/terminal-manager.d.ts +0 -36
  27. package/dist/core/terminal/terminal-manager.d.ts.map +0 -1
  28. package/dist/core/terminal/terminal-manager.js +0 -182
  29. package/dist/core/terminal/terminal-manager.js.map +0 -1
  30. package/dist/core/terminal/terminal.d.ts +0 -27
  31. package/dist/core/terminal/terminal.d.ts.map +0 -1
  32. package/dist/core/terminal/terminal.js +0 -38
  33. package/dist/core/terminal/terminal.js.map +0 -1
  34. package/dist/core/workspace/index.d.ts +0 -7
  35. package/dist/core/workspace/index.d.ts.map +0 -1
  36. package/dist/core/workspace/index.js +0 -6
  37. package/dist/core/workspace/index.js.map +0 -1
  38. package/dist/core/workspace/workspace-manager.d.ts +0 -59
  39. package/dist/core/workspace/workspace-manager.d.ts.map +0 -1
  40. package/dist/core/workspace/workspace-manager.js +0 -224
  41. package/dist/core/workspace/workspace-manager.js.map +0 -1
  42. package/dist/core/workspace/workspace.d.ts +0 -56
  43. package/dist/core/workspace/workspace.d.ts.map +0 -1
  44. package/dist/core/workspace/workspace.js +0 -96
  45. package/dist/core/workspace/workspace.js.map +0 -1
  46. package/dist/core/worktree/index.d.ts +0 -7
  47. package/dist/core/worktree/index.d.ts.map +0 -1
  48. package/dist/core/worktree/index.js +0 -6
  49. package/dist/core/worktree/index.js.map +0 -1
  50. package/dist/core/worktree/worktree-manager.d.ts +0 -47
  51. package/dist/core/worktree/worktree-manager.d.ts.map +0 -1
  52. package/dist/core/worktree/worktree-manager.js +0 -170
  53. package/dist/core/worktree/worktree-manager.js.map +0 -1
  54. package/dist/core/worktree/worktree.d.ts +0 -35
  55. package/dist/core/worktree/worktree.d.ts.map +0 -1
  56. package/dist/core/worktree/worktree.js +0 -50
  57. package/dist/core/worktree/worktree.js.map +0 -1
  58. package/dist/core/worktree-manager.d.ts +0 -26
  59. package/dist/core/worktree-manager.d.ts.map +0 -1
  60. package/dist/core/worktree-manager.js +0 -177
  61. package/dist/core/worktree-manager.js.map +0 -1
  62. package/dist/events/bus.d.ts +0 -76
  63. package/dist/events/bus.d.ts.map +0 -1
  64. package/dist/events/bus.js +0 -223
  65. package/dist/events/bus.js.map +0 -1
  66. package/dist/events/handlers/index.d.ts +0 -28
  67. package/dist/events/handlers/index.d.ts.map +0 -1
  68. package/dist/events/handlers/index.js +0 -44
  69. package/dist/events/handlers/index.js.map +0 -1
  70. package/dist/events/handlers/session-events.d.ts +0 -12
  71. package/dist/events/handlers/session-events.d.ts.map +0 -1
  72. package/dist/events/handlers/session-events.js +0 -38
  73. package/dist/events/handlers/session-events.js.map +0 -1
  74. package/dist/events/handlers/terminal-events.d.ts +0 -12
  75. package/dist/events/handlers/terminal-events.d.ts.map +0 -1
  76. package/dist/events/handlers/terminal-events.js +0 -37
  77. package/dist/events/handlers/terminal-events.js.map +0 -1
  78. package/dist/events/handlers/ui-events.d.ts +0 -11
  79. package/dist/events/handlers/ui-events.d.ts.map +0 -1
  80. package/dist/events/handlers/ui-events.js +0 -202
  81. package/dist/events/handlers/ui-events.js.map +0 -1
  82. package/dist/events/index.d.ts +0 -9
  83. package/dist/events/index.d.ts.map +0 -1
  84. package/dist/events/index.js +0 -10
  85. package/dist/events/index.js.map +0 -1
  86. package/dist/multiplexer/base.d.ts +0 -73
  87. package/dist/multiplexer/base.d.ts.map +0 -1
  88. package/dist/multiplexer/base.js +0 -68
  89. package/dist/multiplexer/base.js.map +0 -1
  90. package/dist/multiplexer/factory.d.ts +0 -28
  91. package/dist/multiplexer/factory.d.ts.map +0 -1
  92. package/dist/multiplexer/factory.js +0 -72
  93. package/dist/multiplexer/factory.js.map +0 -1
  94. package/dist/multiplexer/index.d.ts +0 -14
  95. package/dist/multiplexer/index.d.ts.map +0 -1
  96. package/dist/multiplexer/index.js +0 -15
  97. package/dist/multiplexer/index.js.map +0 -1
  98. package/dist/multiplexer/tmux/index.d.ts +0 -9
  99. package/dist/multiplexer/tmux/index.d.ts.map +0 -1
  100. package/dist/multiplexer/tmux/index.js +0 -7
  101. package/dist/multiplexer/tmux/index.js.map +0 -1
  102. package/dist/multiplexer/tmux/tmux-commands.d.ts +0 -96
  103. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +0 -1
  104. package/dist/multiplexer/tmux/tmux-commands.js +0 -282
  105. package/dist/multiplexer/tmux/tmux-commands.js.map +0 -1
  106. package/dist/multiplexer/tmux/tmux-config.d.ts +0 -57
  107. package/dist/multiplexer/tmux/tmux-config.d.ts.map +0 -1
  108. package/dist/multiplexer/tmux/tmux-config.js +0 -103
  109. package/dist/multiplexer/tmux/tmux-config.js.map +0 -1
  110. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +0 -94
  111. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +0 -1
  112. package/dist/multiplexer/tmux/tmux-multiplexer.js +0 -302
  113. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +0 -1
  114. package/dist/multiplexer/windows/index.d.ts +0 -5
  115. package/dist/multiplexer/windows/index.d.ts.map +0 -1
  116. package/dist/multiplexer/windows/index.js +0 -5
  117. package/dist/multiplexer/windows/index.js.map +0 -1
  118. package/dist/multiplexer/windows/windows-multiplexer.d.ts +0 -61
  119. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +0 -1
  120. package/dist/multiplexer/windows/windows-multiplexer.js +0 -151
  121. package/dist/multiplexer/windows/windows-multiplexer.js.map +0 -1
  122. package/dist/services/claude/claude-detector.d.ts +0 -37
  123. package/dist/services/claude/claude-detector.d.ts.map +0 -1
  124. package/dist/services/claude/claude-detector.js +0 -83
  125. package/dist/services/claude/claude-detector.js.map +0 -1
  126. package/dist/services/claude/claude-service.d.ts +0 -57
  127. package/dist/services/claude/claude-service.d.ts.map +0 -1
  128. package/dist/services/claude/claude-service.js +0 -108
  129. package/dist/services/claude/claude-service.js.map +0 -1
  130. package/dist/services/claude/index.d.ts +0 -7
  131. package/dist/services/claude/index.d.ts.map +0 -1
  132. package/dist/services/claude/index.js +0 -6
  133. package/dist/services/claude/index.js.map +0 -1
  134. package/dist/services/git/branch-service.d.ts +0 -64
  135. package/dist/services/git/branch-service.d.ts.map +0 -1
  136. package/dist/services/git/branch-service.js +0 -217
  137. package/dist/services/git/branch-service.js.map +0 -1
  138. package/dist/services/git/git-service.d.ts +0 -44
  139. package/dist/services/git/git-service.d.ts.map +0 -1
  140. package/dist/services/git/git-service.js +0 -145
  141. package/dist/services/git/git-service.js.map +0 -1
  142. package/dist/services/git/index.d.ts +0 -8
  143. package/dist/services/git/index.d.ts.map +0 -1
  144. package/dist/services/git/index.js +0 -7
  145. package/dist/services/git/index.js.map +0 -1
  146. package/dist/services/git/worktree-service.d.ts +0 -61
  147. package/dist/services/git/worktree-service.d.ts.map +0 -1
  148. package/dist/services/git/worktree-service.js +0 -243
  149. package/dist/services/git/worktree-service.js.map +0 -1
  150. package/dist/services/index.d.ts +0 -12
  151. package/dist/services/index.d.ts.map +0 -1
  152. package/dist/services/index.js +0 -12
  153. package/dist/services/index.js.map +0 -1
  154. package/dist/services/process/index.d.ts +0 -8
  155. package/dist/services/process/index.d.ts.map +0 -1
  156. package/dist/services/process/index.js +0 -6
  157. package/dist/services/process/index.js.map +0 -1
  158. package/dist/services/process/process-monitor.d.ts +0 -98
  159. package/dist/services/process/process-monitor.d.ts.map +0 -1
  160. package/dist/services/process/process-monitor.js +0 -173
  161. package/dist/services/process/process-monitor.js.map +0 -1
  162. package/dist/services/process/process-spawner.d.ts +0 -55
  163. package/dist/services/process/process-spawner.d.ts.map +0 -1
  164. package/dist/services/process/process-spawner.js +0 -93
  165. package/dist/services/process/process-spawner.js.map +0 -1
  166. package/dist/sidebar.d.ts +0 -13
  167. package/dist/sidebar.d.ts.map +0 -1
  168. package/dist/sidebar.js +0 -1535
  169. package/dist/sidebar.js.map +0 -1
  170. package/dist/state/actions.d.ts +0 -49
  171. package/dist/state/actions.d.ts.map +0 -1
  172. package/dist/state/actions.js +0 -512
  173. package/dist/state/actions.js.map +0 -1
  174. package/dist/state/index.d.ts +0 -16
  175. package/dist/state/index.d.ts.map +0 -1
  176. package/dist/state/index.js +0 -28
  177. package/dist/state/index.js.map +0 -1
  178. package/dist/state/middleware/index.d.ts +0 -7
  179. package/dist/state/middleware/index.d.ts.map +0 -1
  180. package/dist/state/middleware/index.js +0 -6
  181. package/dist/state/middleware/index.js.map +0 -1
  182. package/dist/state/middleware/logger.d.ts +0 -22
  183. package/dist/state/middleware/logger.d.ts.map +0 -1
  184. package/dist/state/middleware/logger.js +0 -45
  185. package/dist/state/middleware/logger.js.map +0 -1
  186. package/dist/state/middleware/persistence.d.ts +0 -29
  187. package/dist/state/middleware/persistence.d.ts.map +0 -1
  188. package/dist/state/middleware/persistence.js +0 -71
  189. package/dist/state/middleware/persistence.js.map +0 -1
  190. package/dist/state/persistence/file-adapter.d.ts +0 -48
  191. package/dist/state/persistence/file-adapter.d.ts.map +0 -1
  192. package/dist/state/persistence/file-adapter.js +0 -96
  193. package/dist/state/persistence/file-adapter.js.map +0 -1
  194. package/dist/state/persistence/index.d.ts +0 -8
  195. package/dist/state/persistence/index.d.ts.map +0 -1
  196. package/dist/state/persistence/index.js +0 -6
  197. package/dist/state/persistence/index.js.map +0 -1
  198. package/dist/state/persistence/serializer.d.ts +0 -41
  199. package/dist/state/persistence/serializer.d.ts.map +0 -1
  200. package/dist/state/persistence/serializer.js +0 -114
  201. package/dist/state/persistence/serializer.js.map +0 -1
  202. package/dist/state/selectors.d.ts +0 -67
  203. package/dist/state/selectors.d.ts.map +0 -1
  204. package/dist/state/selectors.js +0 -177
  205. package/dist/state/selectors.js.map +0 -1
  206. package/dist/state/store.d.ts +0 -86
  207. package/dist/state/store.d.ts.map +0 -1
  208. package/dist/state/store.js +0 -161
  209. package/dist/state/store.js.map +0 -1
  210. package/dist/state/types.d.ts +0 -269
  211. package/dist/state/types.d.ts.map +0 -1
  212. package/dist/state/types.js +0 -7
  213. package/dist/state/types.js.map +0 -1
  214. package/dist/state.d.ts +0 -53
  215. package/dist/state.d.ts.map +0 -1
  216. package/dist/state.js +0 -101
  217. package/dist/state.js.map +0 -1
  218. package/dist/terminal-manager.d.ts +0 -16
  219. package/dist/terminal-manager.d.ts.map +0 -1
  220. package/dist/terminal-manager.js +0 -364
  221. package/dist/terminal-manager.js.map +0 -1
  222. package/dist/tmux.d.ts +0 -163
  223. package/dist/tmux.d.ts.map +0 -1
  224. package/dist/tmux.js +0 -360
  225. package/dist/tmux.js.map +0 -1
  226. package/dist/types/config.d.ts +0 -103
  227. package/dist/types/config.d.ts.map +0 -1
  228. package/dist/types/config.js +0 -7
  229. package/dist/types/config.js.map +0 -1
  230. package/dist/types/entities.d.ts +0 -88
  231. package/dist/types/entities.d.ts.map +0 -1
  232. package/dist/types/entities.js +0 -8
  233. package/dist/types/entities.js.map +0 -1
  234. package/dist/types/events.d.ts +0 -156
  235. package/dist/types/events.d.ts.map +0 -1
  236. package/dist/types/events.js +0 -8
  237. package/dist/types/events.js.map +0 -1
  238. package/dist/types/index.d.ts +0 -11
  239. package/dist/types/index.d.ts.map +0 -1
  240. package/dist/types/index.js +0 -8
  241. package/dist/types/index.js.map +0 -1
  242. package/dist/types/multiplexer.d.ts +0 -238
  243. package/dist/types/multiplexer.d.ts.map +0 -1
  244. package/dist/types/multiplexer.js +0 -8
  245. package/dist/types/multiplexer.js.map +0 -1
  246. package/dist/ui/components/base.d.ts +0 -155
  247. package/dist/ui/components/base.d.ts.map +0 -1
  248. package/dist/ui/components/base.js +0 -269
  249. package/dist/ui/components/base.js.map +0 -1
  250. package/dist/ui/components/index.d.ts +0 -10
  251. package/dist/ui/components/index.d.ts.map +0 -1
  252. package/dist/ui/components/index.js +0 -10
  253. package/dist/ui/components/index.js.map +0 -1
  254. package/dist/ui/components/input-field.d.ts +0 -98
  255. package/dist/ui/components/input-field.d.ts.map +0 -1
  256. package/dist/ui/components/input-field.js +0 -274
  257. package/dist/ui/components/input-field.js.map +0 -1
  258. package/dist/ui/components/list.d.ts +0 -94
  259. package/dist/ui/components/list.d.ts.map +0 -1
  260. package/dist/ui/components/list.js +0 -294
  261. package/dist/ui/components/list.js.map +0 -1
  262. package/dist/ui/components/modal.d.ts +0 -83
  263. package/dist/ui/components/modal.d.ts.map +0 -1
  264. package/dist/ui/components/modal.js +0 -249
  265. package/dist/ui/components/modal.js.map +0 -1
  266. package/dist/ui/components/tabs.d.ts +0 -97
  267. package/dist/ui/components/tabs.d.ts.map +0 -1
  268. package/dist/ui/components/tabs.js +0 -252
  269. package/dist/ui/components/tabs.js.map +0 -1
  270. package/dist/ui/components/text.d.ts +0 -60
  271. package/dist/ui/components/text.d.ts.map +0 -1
  272. package/dist/ui/components/text.js +0 -224
  273. package/dist/ui/components/text.js.map +0 -1
  274. package/dist/ui/index.d.ts +0 -12
  275. package/dist/ui/index.d.ts.map +0 -1
  276. package/dist/ui/index.js +0 -18
  277. package/dist/ui/index.js.map +0 -1
  278. package/dist/ui/input/index.d.ts +0 -8
  279. package/dist/ui/input/index.d.ts.map +0 -1
  280. package/dist/ui/input/index.js +0 -8
  281. package/dist/ui/input/index.js.map +0 -1
  282. package/dist/ui/input/input-manager.d.ts +0 -83
  283. package/dist/ui/input/input-manager.d.ts.map +0 -1
  284. package/dist/ui/input/input-manager.js +0 -200
  285. package/dist/ui/input/input-manager.js.map +0 -1
  286. package/dist/ui/input/keybindings.d.ts +0 -47
  287. package/dist/ui/input/keybindings.d.ts.map +0 -1
  288. package/dist/ui/input/keybindings.js +0 -168
  289. package/dist/ui/input/keybindings.js.map +0 -1
  290. package/dist/ui/input/keyboard.d.ts +0 -24
  291. package/dist/ui/input/keyboard.d.ts.map +0 -1
  292. package/dist/ui/input/keyboard.js +0 -230
  293. package/dist/ui/input/keyboard.js.map +0 -1
  294. package/dist/ui/input/mouse.d.ts +0 -44
  295. package/dist/ui/input/mouse.d.ts.map +0 -1
  296. package/dist/ui/input/mouse.js +0 -161
  297. package/dist/ui/input/mouse.js.map +0 -1
  298. package/dist/ui/layout/box.d.ts +0 -63
  299. package/dist/ui/layout/box.d.ts.map +0 -1
  300. package/dist/ui/layout/box.js +0 -160
  301. package/dist/ui/layout/box.js.map +0 -1
  302. package/dist/ui/layout/constraints.d.ts +0 -77
  303. package/dist/ui/layout/constraints.d.ts.map +0 -1
  304. package/dist/ui/layout/constraints.js +0 -154
  305. package/dist/ui/layout/constraints.js.map +0 -1
  306. package/dist/ui/layout/flex.d.ts +0 -59
  307. package/dist/ui/layout/flex.d.ts.map +0 -1
  308. package/dist/ui/layout/flex.js +0 -163
  309. package/dist/ui/layout/flex.js.map +0 -1
  310. package/dist/ui/layout/index.d.ts +0 -7
  311. package/dist/ui/layout/index.d.ts.map +0 -1
  312. package/dist/ui/layout/index.js +0 -7
  313. package/dist/ui/layout/index.js.map +0 -1
  314. package/dist/ui/modals/delete-modal.d.ts +0 -27
  315. package/dist/ui/modals/delete-modal.d.ts.map +0 -1
  316. package/dist/ui/modals/delete-modal.js +0 -59
  317. package/dist/ui/modals/delete-modal.js.map +0 -1
  318. package/dist/ui/modals/index.d.ts +0 -7
  319. package/dist/ui/modals/index.d.ts.map +0 -1
  320. package/dist/ui/modals/index.js +0 -7
  321. package/dist/ui/modals/index.js.map +0 -1
  322. package/dist/ui/modals/input-modal.d.ts +0 -66
  323. package/dist/ui/modals/input-modal.d.ts.map +0 -1
  324. package/dist/ui/modals/input-modal.js +0 -185
  325. package/dist/ui/modals/input-modal.js.map +0 -1
  326. package/dist/ui/modals/quit-modal.d.ts +0 -30
  327. package/dist/ui/modals/quit-modal.d.ts.map +0 -1
  328. package/dist/ui/modals/quit-modal.js +0 -65
  329. package/dist/ui/modals/quit-modal.js.map +0 -1
  330. package/dist/ui/renderer/ansi.d.ts +0 -206
  331. package/dist/ui/renderer/ansi.d.ts.map +0 -1
  332. package/dist/ui/renderer/ansi.js +0 -318
  333. package/dist/ui/renderer/ansi.js.map +0 -1
  334. package/dist/ui/renderer/canvas.d.ts +0 -126
  335. package/dist/ui/renderer/canvas.d.ts.map +0 -1
  336. package/dist/ui/renderer/canvas.js +0 -346
  337. package/dist/ui/renderer/canvas.js.map +0 -1
  338. package/dist/ui/renderer/colors.d.ts +0 -65
  339. package/dist/ui/renderer/colors.d.ts.map +0 -1
  340. package/dist/ui/renderer/colors.js +0 -260
  341. package/dist/ui/renderer/colors.js.map +0 -1
  342. package/dist/ui/renderer/index.d.ts +0 -8
  343. package/dist/ui/renderer/index.d.ts.map +0 -1
  344. package/dist/ui/renderer/index.js +0 -8
  345. package/dist/ui/renderer/index.js.map +0 -1
  346. package/dist/ui/renderer/symbols.d.ts +0 -176
  347. package/dist/ui/renderer/symbols.d.ts.map +0 -1
  348. package/dist/ui/renderer/symbols.js +0 -246
  349. package/dist/ui/renderer/symbols.js.map +0 -1
  350. package/dist/ui/views/index.d.ts +0 -7
  351. package/dist/ui/views/index.d.ts.map +0 -1
  352. package/dist/ui/views/index.js +0 -7
  353. package/dist/ui/views/index.js.map +0 -1
  354. package/dist/ui/views/sidebar-view.d.ts +0 -89
  355. package/dist/ui/views/sidebar-view.d.ts.map +0 -1
  356. package/dist/ui/views/sidebar-view.js +0 -259
  357. package/dist/ui/views/sidebar-view.js.map +0 -1
  358. package/dist/ui/views/terminal-bar-view.d.ts +0 -67
  359. package/dist/ui/views/terminal-bar-view.d.ts.map +0 -1
  360. package/dist/ui/views/terminal-bar-view.js +0 -172
  361. package/dist/ui/views/terminal-bar-view.js.map +0 -1
  362. package/dist/ui/views/welcome-view.d.ts +0 -34
  363. package/dist/ui/views/welcome-view.d.ts.map +0 -1
  364. package/dist/ui/views/welcome-view.js +0 -116
  365. package/dist/ui/views/welcome-view.js.map +0 -1
@@ -1,161 +0,0 @@
1
- /**
2
- * Mouse Input Parser
3
- *
4
- * Parses SGR (Select Graphic Rendition) mouse tracking events.
5
- */
6
- // ============================================================================
7
- // Constants
8
- // ============================================================================
9
- // SGR mouse protocol button codes
10
- const BUTTON_LEFT = 0;
11
- const BUTTON_MIDDLE = 1;
12
- const BUTTON_RIGHT = 2;
13
- const BUTTON_RELEASE = 3;
14
- const BUTTON_SCROLL_UP = 64;
15
- const BUTTON_SCROLL_DOWN = 65;
16
- // Modifier bit flags
17
- const MODIFIER_SHIFT = 4;
18
- const MODIFIER_ALT = 8;
19
- const MODIFIER_CTRL = 16;
20
- const MOTION_FLAG = 32;
21
- // ============================================================================
22
- // Parser Functions
23
- // ============================================================================
24
- /**
25
- * Parse SGR mouse input
26
- *
27
- * SGR format: ESC [ < Cb ; Cx ; Cy M (press) or m (release)
28
- * where Cb is the button code, Cx is x coordinate, Cy is y coordinate
29
- */
30
- export function parseMouseInput(data) {
31
- // Match SGR mouse sequence: \x1b[<Cb;Cx;Cy[Mm]
32
- const match = data.match(/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/);
33
- if (!match) {
34
- return null;
35
- }
36
- const [, buttonCodeStr, xStr, yStr, action] = match;
37
- const buttonCode = parseInt(buttonCodeStr, 10);
38
- const x = parseInt(xStr, 10);
39
- const y = parseInt(yStr, 10);
40
- const isRelease = action === 'm';
41
- return parseButtonCode(buttonCode, x, y, isRelease);
42
- }
43
- /**
44
- * Parse the button code into button and modifiers
45
- */
46
- function parseButtonCode(code, x, y, isRelease) {
47
- // Extract modifiers
48
- const modifiers = {
49
- shift: (code & MODIFIER_SHIFT) !== 0,
50
- alt: (code & MODIFIER_ALT) !== 0,
51
- ctrl: (code & MODIFIER_CTRL) !== 0,
52
- };
53
- // Check for motion
54
- const isMotion = (code & MOTION_FLAG) !== 0;
55
- // Extract base button code (lower 2 bits + scroll bits)
56
- const baseButton = code & 0b11000011;
57
- // Determine button and action
58
- let button = 'none';
59
- let eventAction = 'press';
60
- let scrollDirection;
61
- if (isMotion) {
62
- eventAction = 'move';
63
- switch (baseButton & 0b11) {
64
- case BUTTON_LEFT:
65
- button = 'left';
66
- break;
67
- case BUTTON_MIDDLE:
68
- button = 'middle';
69
- break;
70
- case BUTTON_RIGHT:
71
- button = 'right';
72
- break;
73
- default:
74
- button = 'none';
75
- }
76
- }
77
- else if (baseButton >= BUTTON_SCROLL_UP) {
78
- eventAction = 'scroll';
79
- button = 'none';
80
- scrollDirection = baseButton === BUTTON_SCROLL_UP ? 'up' : 'down';
81
- }
82
- else if (isRelease) {
83
- eventAction = 'release';
84
- // On release, we can't always determine the button
85
- button = 'none';
86
- }
87
- else {
88
- eventAction = 'press';
89
- switch (baseButton) {
90
- case BUTTON_LEFT:
91
- button = 'left';
92
- break;
93
- case BUTTON_MIDDLE:
94
- button = 'middle';
95
- break;
96
- case BUTTON_RIGHT:
97
- button = 'right';
98
- break;
99
- default:
100
- button = 'none';
101
- }
102
- }
103
- return {
104
- x,
105
- y,
106
- button,
107
- action: eventAction,
108
- scrollDirection,
109
- modifiers,
110
- };
111
- }
112
- /**
113
- * Check if input looks like a mouse sequence
114
- */
115
- export function isMouseSequence(data) {
116
- return data.startsWith('\x1b[<');
117
- }
118
- /**
119
- * Format mouse event for display
120
- */
121
- export function formatMouseEvent(event) {
122
- const parts = [];
123
- if (event.modifiers.ctrl)
124
- parts.push('Ctrl');
125
- if (event.modifiers.alt)
126
- parts.push('Alt');
127
- if (event.modifiers.shift)
128
- parts.push('Shift');
129
- if (event.action === 'scroll') {
130
- parts.push(`Scroll ${event.scrollDirection}`);
131
- }
132
- else {
133
- if (event.button !== 'none') {
134
- parts.push(`${event.button} ${event.action}`);
135
- }
136
- else {
137
- parts.push(event.action);
138
- }
139
- }
140
- parts.push(`at (${event.x}, ${event.y})`);
141
- return parts.join(' ');
142
- }
143
- /**
144
- * Check if a mouse event is within a rectangular region
145
- */
146
- export function isInRegion(event, x, y, width, height) {
147
- return (event.x >= x &&
148
- event.x < x + width &&
149
- event.y >= y &&
150
- event.y < y + height);
151
- }
152
- /**
153
- * Get relative position within a region
154
- */
155
- export function getRelativePosition(event, regionX, regionY) {
156
- return {
157
- x: event.x - regionX,
158
- y: event.y - regionY,
159
- };
160
- }
161
- //# sourceMappingURL=mouse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../../src/ui/input/mouse.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- /**
2
- * Box Layout
3
- *
4
- * Box model calculations with padding, margin, and borders.
5
- */
6
- import type { Bounds, Size } from './constraints';
7
- export interface Spacing {
8
- top: number;
9
- right: number;
10
- bottom: number;
11
- left: number;
12
- }
13
- export interface BoxConfig {
14
- margin?: Partial<Spacing>;
15
- padding?: Partial<Spacing>;
16
- border?: Partial<Spacing>;
17
- }
18
- export interface BoxMetrics {
19
- margin: Spacing;
20
- padding: Spacing;
21
- border: Spacing;
22
- outerBounds: Bounds;
23
- borderBounds: Bounds;
24
- innerBounds: Bounds;
25
- contentBounds: Bounds;
26
- }
27
- /**
28
- * Create spacing with all values set to the same number
29
- */
30
- export declare function uniformSpacing(value: number): Spacing;
31
- /**
32
- * Create spacing from partial values (missing = 0)
33
- */
34
- export declare function createSpacing(partial?: Partial<Spacing>): Spacing;
35
- /**
36
- * Create horizontal/vertical spacing
37
- */
38
- export declare function hvSpacing(horizontal: number, vertical: number): Spacing;
39
- /**
40
- * Get total horizontal spacing
41
- */
42
- export declare function getHorizontalSpacing(spacing: Spacing): number;
43
- /**
44
- * Get total vertical spacing
45
- */
46
- export declare function getVerticalSpacing(spacing: Spacing): number;
47
- /**
48
- * Calculate box metrics from outer bounds and config
49
- */
50
- export declare function calculateBox(outerBounds: Bounds, config?: BoxConfig): BoxMetrics;
51
- /**
52
- * Calculate minimum size needed for content
53
- */
54
- export declare function calculateMinSize(contentSize: Size, config?: BoxConfig): Size;
55
- /**
56
- * Calculate available content size from total size
57
- */
58
- export declare function calculateContentSize(totalSize: Size, config?: BoxConfig): Size;
59
- /**
60
- * Get the total chrome (margin + border + padding) size
61
- */
62
- export declare function getChromeSize(config?: BoxConfig): Size;
63
- //# sourceMappingURL=box.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../../src/ui/layout/box.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMlD,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO,CAOrE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAE3D;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,SAAc,GAAG,UAAU,CAsCpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,GAAE,SAAc,GAAG,IAAI,CAuBhF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,GAAE,SAAc,GAAG,IAAI,CA2BlF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,SAAc,GAAG,IAAI,CAqB1D"}
@@ -1,160 +0,0 @@
1
- /**
2
- * Box Layout
3
- *
4
- * Box model calculations with padding, margin, and borders.
5
- */
6
- // ============================================================================
7
- // Helper Functions
8
- // ============================================================================
9
- /**
10
- * Create spacing with all values set to the same number
11
- */
12
- export function uniformSpacing(value) {
13
- return { top: value, right: value, bottom: value, left: value };
14
- }
15
- /**
16
- * Create spacing from partial values (missing = 0)
17
- */
18
- export function createSpacing(partial = {}) {
19
- return {
20
- top: partial.top ?? 0,
21
- right: partial.right ?? 0,
22
- bottom: partial.bottom ?? 0,
23
- left: partial.left ?? 0,
24
- };
25
- }
26
- /**
27
- * Create horizontal/vertical spacing
28
- */
29
- export function hvSpacing(horizontal, vertical) {
30
- return {
31
- top: vertical,
32
- right: horizontal,
33
- bottom: vertical,
34
- left: horizontal,
35
- };
36
- }
37
- /**
38
- * Get total horizontal spacing
39
- */
40
- export function getHorizontalSpacing(spacing) {
41
- return spacing.left + spacing.right;
42
- }
43
- /**
44
- * Get total vertical spacing
45
- */
46
- export function getVerticalSpacing(spacing) {
47
- return spacing.top + spacing.bottom;
48
- }
49
- // ============================================================================
50
- // Box Calculations
51
- // ============================================================================
52
- /**
53
- * Calculate box metrics from outer bounds and config
54
- */
55
- export function calculateBox(outerBounds, config = {}) {
56
- const margin = createSpacing(config.margin);
57
- const border = createSpacing(config.border);
58
- const padding = createSpacing(config.padding);
59
- // Border box (after margin)
60
- const borderBounds = {
61
- x: outerBounds.x + margin.left,
62
- y: outerBounds.y + margin.top,
63
- width: Math.max(0, outerBounds.width - margin.left - margin.right),
64
- height: Math.max(0, outerBounds.height - margin.top - margin.bottom),
65
- };
66
- // Inner box (after border)
67
- const innerBounds = {
68
- x: borderBounds.x + border.left,
69
- y: borderBounds.y + border.top,
70
- width: Math.max(0, borderBounds.width - border.left - border.right),
71
- height: Math.max(0, borderBounds.height - border.top - border.bottom),
72
- };
73
- // Content box (after padding)
74
- const contentBounds = {
75
- x: innerBounds.x + padding.left,
76
- y: innerBounds.y + padding.top,
77
- width: Math.max(0, innerBounds.width - padding.left - padding.right),
78
- height: Math.max(0, innerBounds.height - padding.top - padding.bottom),
79
- };
80
- return {
81
- margin,
82
- padding,
83
- border,
84
- outerBounds,
85
- borderBounds,
86
- innerBounds,
87
- contentBounds,
88
- };
89
- }
90
- /**
91
- * Calculate minimum size needed for content
92
- */
93
- export function calculateMinSize(contentSize, config = {}) {
94
- const margin = createSpacing(config.margin);
95
- const border = createSpacing(config.border);
96
- const padding = createSpacing(config.padding);
97
- return {
98
- width: contentSize.width +
99
- padding.left +
100
- padding.right +
101
- border.left +
102
- border.right +
103
- margin.left +
104
- margin.right,
105
- height: contentSize.height +
106
- padding.top +
107
- padding.bottom +
108
- border.top +
109
- border.bottom +
110
- margin.top +
111
- margin.bottom,
112
- };
113
- }
114
- /**
115
- * Calculate available content size from total size
116
- */
117
- export function calculateContentSize(totalSize, config = {}) {
118
- const margin = createSpacing(config.margin);
119
- const border = createSpacing(config.border);
120
- const padding = createSpacing(config.padding);
121
- return {
122
- width: Math.max(0, totalSize.width -
123
- padding.left -
124
- padding.right -
125
- border.left -
126
- border.right -
127
- margin.left -
128
- margin.right),
129
- height: Math.max(0, totalSize.height -
130
- padding.top -
131
- padding.bottom -
132
- border.top -
133
- border.bottom -
134
- margin.top -
135
- margin.bottom),
136
- };
137
- }
138
- /**
139
- * Get the total chrome (margin + border + padding) size
140
- */
141
- export function getChromeSize(config = {}) {
142
- const margin = createSpacing(config.margin);
143
- const border = createSpacing(config.border);
144
- const padding = createSpacing(config.padding);
145
- return {
146
- width: margin.left +
147
- margin.right +
148
- border.left +
149
- border.right +
150
- padding.left +
151
- padding.right,
152
- height: margin.top +
153
- margin.bottom +
154
- border.top +
155
- border.bottom +
156
- padding.top +
157
- padding.bottom,
158
- };
159
- }
160
- //# sourceMappingURL=box.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"box.js","sourceRoot":"","sources":["../../../src/ui/layout/box.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- /**
2
- * Size Constraints
3
- *
4
- * Types and utilities for managing size constraints.
5
- */
6
- export interface Size {
7
- width: number;
8
- height: number;
9
- }
10
- export interface SizeConstraints {
11
- minWidth?: number;
12
- maxWidth?: number;
13
- minHeight?: number;
14
- maxHeight?: number;
15
- preferredWidth?: number;
16
- preferredHeight?: number;
17
- }
18
- export interface Position {
19
- x: number;
20
- y: number;
21
- }
22
- export interface Bounds {
23
- x: number;
24
- y: number;
25
- width: number;
26
- height: number;
27
- }
28
- /**
29
- * Apply constraints to a size
30
- */
31
- export declare function constrainSize(size: Size, constraints: SizeConstraints): Size;
32
- /**
33
- * Get preferred size with constraints
34
- */
35
- export declare function getPreferredSize(available: Size, constraints: SizeConstraints): Size;
36
- /**
37
- * Check if size fits within constraints
38
- */
39
- export declare function fitsConstraints(size: Size, constraints: SizeConstraints): boolean;
40
- /**
41
- * Merge two constraint sets (later overrides earlier)
42
- */
43
- export declare function mergeConstraints(base: SizeConstraints, override: SizeConstraints): SizeConstraints;
44
- /**
45
- * Create bounds from position and size
46
- */
47
- export declare function createBounds(position: Position, size: Size): Bounds;
48
- /**
49
- * Check if a point is within bounds
50
- */
51
- export declare function containsPoint(bounds: Bounds, point: Position): boolean;
52
- /**
53
- * Check if two bounds intersect
54
- */
55
- export declare function boundsIntersect(a: Bounds, b: Bounds): boolean;
56
- /**
57
- * Get intersection of two bounds (or null if no intersection)
58
- */
59
- export declare function boundsIntersection(a: Bounds, b: Bounds): Bounds | null;
60
- /**
61
- * Expand bounds by a margin
62
- */
63
- export declare function expandBounds(bounds: Bounds, margin: number): Bounds;
64
- /**
65
- * Shrink bounds by a margin
66
- */
67
- export declare function shrinkBounds(bounds: Bounds, margin: number): Bounds;
68
- /**
69
- * Get inner bounds (content area with padding)
70
- */
71
- export declare function getInnerBounds(bounds: Bounds, padding: {
72
- top?: number;
73
- right?: number;
74
- bottom?: number;
75
- left?: number;
76
- }): Bounds;
77
- //# sourceMappingURL=constraints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../../src/ui/layout/constraints.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,GAAG,IAAI,CAiB5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,eAAe,GAC3B,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,GAAG,OAAO,CAcjF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,eAAe,GACxB,eAAe,CASjB;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAOnE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAOtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAO7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACxE,MAAM,CAYR"}
@@ -1,154 +0,0 @@
1
- /**
2
- * Size Constraints
3
- *
4
- * Types and utilities for managing size constraints.
5
- */
6
- // ============================================================================
7
- // Constraint Functions
8
- // ============================================================================
9
- /**
10
- * Apply constraints to a size
11
- */
12
- export function constrainSize(size, constraints) {
13
- let { width, height } = size;
14
- if (constraints.minWidth !== undefined) {
15
- width = Math.max(width, constraints.minWidth);
16
- }
17
- if (constraints.maxWidth !== undefined) {
18
- width = Math.min(width, constraints.maxWidth);
19
- }
20
- if (constraints.minHeight !== undefined) {
21
- height = Math.max(height, constraints.minHeight);
22
- }
23
- if (constraints.maxHeight !== undefined) {
24
- height = Math.min(height, constraints.maxHeight);
25
- }
26
- return { width, height };
27
- }
28
- /**
29
- * Get preferred size with constraints
30
- */
31
- export function getPreferredSize(available, constraints) {
32
- let width = constraints.preferredWidth ?? available.width;
33
- let height = constraints.preferredHeight ?? available.height;
34
- return constrainSize({ width, height }, constraints);
35
- }
36
- /**
37
- * Check if size fits within constraints
38
- */
39
- export function fitsConstraints(size, constraints) {
40
- if (constraints.minWidth !== undefined && size.width < constraints.minWidth) {
41
- return false;
42
- }
43
- if (constraints.maxWidth !== undefined && size.width > constraints.maxWidth) {
44
- return false;
45
- }
46
- if (constraints.minHeight !== undefined && size.height < constraints.minHeight) {
47
- return false;
48
- }
49
- if (constraints.maxHeight !== undefined && size.height > constraints.maxHeight) {
50
- return false;
51
- }
52
- return true;
53
- }
54
- /**
55
- * Merge two constraint sets (later overrides earlier)
56
- */
57
- export function mergeConstraints(base, override) {
58
- return {
59
- minWidth: override.minWidth ?? base.minWidth,
60
- maxWidth: override.maxWidth ?? base.maxWidth,
61
- minHeight: override.minHeight ?? base.minHeight,
62
- maxHeight: override.maxHeight ?? base.maxHeight,
63
- preferredWidth: override.preferredWidth ?? base.preferredWidth,
64
- preferredHeight: override.preferredHeight ?? base.preferredHeight,
65
- };
66
- }
67
- // ============================================================================
68
- // Bounds Functions
69
- // ============================================================================
70
- /**
71
- * Create bounds from position and size
72
- */
73
- export function createBounds(position, size) {
74
- return {
75
- x: position.x,
76
- y: position.y,
77
- width: size.width,
78
- height: size.height,
79
- };
80
- }
81
- /**
82
- * Check if a point is within bounds
83
- */
84
- export function containsPoint(bounds, point) {
85
- return (point.x >= bounds.x &&
86
- point.x < bounds.x + bounds.width &&
87
- point.y >= bounds.y &&
88
- point.y < bounds.y + bounds.height);
89
- }
90
- /**
91
- * Check if two bounds intersect
92
- */
93
- export function boundsIntersect(a, b) {
94
- return (a.x < b.x + b.width &&
95
- a.x + a.width > b.x &&
96
- a.y < b.y + b.height &&
97
- a.y + a.height > b.y);
98
- }
99
- /**
100
- * Get intersection of two bounds (or null if no intersection)
101
- */
102
- export function boundsIntersection(a, b) {
103
- if (!boundsIntersect(a, b)) {
104
- return null;
105
- }
106
- const x = Math.max(a.x, b.x);
107
- const y = Math.max(a.y, b.y);
108
- const right = Math.min(a.x + a.width, b.x + b.width);
109
- const bottom = Math.min(a.y + a.height, b.y + b.height);
110
- return {
111
- x,
112
- y,
113
- width: right - x,
114
- height: bottom - y,
115
- };
116
- }
117
- /**
118
- * Expand bounds by a margin
119
- */
120
- export function expandBounds(bounds, margin) {
121
- return {
122
- x: bounds.x - margin,
123
- y: bounds.y - margin,
124
- width: bounds.width + margin * 2,
125
- height: bounds.height + margin * 2,
126
- };
127
- }
128
- /**
129
- * Shrink bounds by a margin
130
- */
131
- export function shrinkBounds(bounds, margin) {
132
- return {
133
- x: bounds.x + margin,
134
- y: bounds.y + margin,
135
- width: Math.max(0, bounds.width - margin * 2),
136
- height: Math.max(0, bounds.height - margin * 2),
137
- };
138
- }
139
- /**
140
- * Get inner bounds (content area with padding)
141
- */
142
- export function getInnerBounds(bounds, padding) {
143
- const top = padding.top ?? 0;
144
- const right = padding.right ?? 0;
145
- const bottom = padding.bottom ?? 0;
146
- const left = padding.left ?? 0;
147
- return {
148
- x: bounds.x + left,
149
- y: bounds.y + top,
150
- width: Math.max(0, bounds.width - left - right),
151
- height: Math.max(0, bounds.height - top - bottom),
152
- };
153
- }
154
- //# sourceMappingURL=constraints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../../src/ui/layout/constraints.ts"],"names":[],"mappings":"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"}