cc98-cli 0.3.0 → 0.4.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 (143) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/dist/api/client.d.ts +14 -0
  3. package/dist/api/client.d.ts.map +1 -1
  4. package/dist/api/client.js +83 -8
  5. package/dist/api/client.js.map +1 -1
  6. package/dist/api/types.d.ts +13 -0
  7. package/dist/api/types.d.ts.map +1 -1
  8. package/dist/api/webvpn.d.ts +68 -0
  9. package/dist/api/webvpn.d.ts.map +1 -0
  10. package/dist/api/webvpn.js +311 -0
  11. package/dist/api/webvpn.js.map +1 -0
  12. package/dist/cli/commands/board.js +1 -1
  13. package/dist/cli/commands/board.js.map +1 -1
  14. package/dist/cli/commands/forum.js +1 -1
  15. package/dist/cli/commands/forum.js.map +1 -1
  16. package/dist/cli/commands/login.js +1 -1
  17. package/dist/cli/commands/login.js.map +1 -1
  18. package/dist/cli/commands/logout.js +2 -2
  19. package/dist/cli/commands/logout.js.map +1 -1
  20. package/dist/cli/commands/me.js +1 -1
  21. package/dist/cli/commands/me.js.map +1 -1
  22. package/dist/cli/commands/message.js +1 -1
  23. package/dist/cli/commands/message.js.map +1 -1
  24. package/dist/cli/commands/notice.js +1 -1
  25. package/dist/cli/commands/notice.js.map +1 -1
  26. package/dist/cli/commands/post.js +1 -1
  27. package/dist/cli/commands/post.js.map +1 -1
  28. package/dist/cli/commands/search.js +1 -1
  29. package/dist/cli/commands/search.js.map +1 -1
  30. package/dist/cli/commands/topic.js +1 -1
  31. package/dist/cli/commands/topic.js.map +1 -1
  32. package/dist/cli/commands/update.d.ts.map +1 -1
  33. package/dist/cli/commands/update.js +49 -3
  34. package/dist/cli/commands/update.js.map +1 -1
  35. package/dist/cli/commands/user.js +1 -1
  36. package/dist/cli/commands/user.js.map +1 -1
  37. package/dist/cli/commands/vpn.d.ts +2 -0
  38. package/dist/cli/commands/vpn.d.ts.map +1 -0
  39. package/dist/cli/commands/vpn.js +200 -0
  40. package/dist/cli/commands/vpn.js.map +1 -0
  41. package/dist/cli/context.d.ts +2 -2
  42. package/dist/cli/context.d.ts.map +1 -1
  43. package/dist/cli/context.js +20 -2
  44. package/dist/cli/context.js.map +1 -1
  45. package/dist/cli/router.d.ts.map +1 -1
  46. package/dist/cli/router.js +5 -1
  47. package/dist/cli/router.js.map +1 -1
  48. package/dist/main.js +0 -0
  49. package/dist/storage/image-cache.d.ts +32 -0
  50. package/dist/storage/image-cache.d.ts.map +1 -0
  51. package/dist/storage/image-cache.js +90 -0
  52. package/dist/storage/image-cache.js.map +1 -0
  53. package/dist/storage/settings-store.d.ts +10 -0
  54. package/dist/storage/settings-store.d.ts.map +1 -0
  55. package/dist/storage/settings-store.js +37 -0
  56. package/dist/storage/settings-store.js.map +1 -0
  57. package/dist/storage/vpn-store.d.ts +39 -0
  58. package/dist/storage/vpn-store.d.ts.map +1 -0
  59. package/dist/storage/vpn-store.js +94 -0
  60. package/dist/storage/vpn-store.js.map +1 -0
  61. package/dist/tui/app.d.ts.map +1 -1
  62. package/dist/tui/app.js +13 -1
  63. package/dist/tui/app.js.map +1 -1
  64. package/dist/tui/components/content.d.ts +1 -0
  65. package/dist/tui/components/content.d.ts.map +1 -1
  66. package/dist/tui/components/content.js +26 -8
  67. package/dist/tui/components/content.js.map +1 -1
  68. package/dist/tui/components/overview.d.ts.map +1 -1
  69. package/dist/tui/components/overview.js +18 -8
  70. package/dist/tui/components/overview.js.map +1 -1
  71. package/dist/tui/components/sidebar.d.ts.map +1 -1
  72. package/dist/tui/components/sidebar.js +0 -1
  73. package/dist/tui/components/sidebar.js.map +1 -1
  74. package/dist/tui/components/status.d.ts +3 -0
  75. package/dist/tui/components/status.d.ts.map +1 -1
  76. package/dist/tui/components/status.js +28 -9
  77. package/dist/tui/components/status.js.map +1 -1
  78. package/dist/tui/controller.d.ts +22 -0
  79. package/dist/tui/controller.d.ts.map +1 -1
  80. package/dist/tui/controller.js +573 -134
  81. package/dist/tui/controller.js.map +1 -1
  82. package/dist/tui/helpers.d.ts.map +1 -1
  83. package/dist/tui/helpers.js +19 -10
  84. package/dist/tui/helpers.js.map +1 -1
  85. package/dist/tui/keybindings.d.ts +24 -0
  86. package/dist/tui/keybindings.d.ts.map +1 -0
  87. package/dist/tui/keybindings.js +207 -0
  88. package/dist/tui/keybindings.js.map +1 -0
  89. package/dist/tui/navigation.d.ts.map +1 -1
  90. package/dist/tui/navigation.js +1 -1
  91. package/dist/tui/navigation.js.map +1 -1
  92. package/dist/tui/renderer.d.ts.map +1 -1
  93. package/dist/tui/renderer.js +50 -20
  94. package/dist/tui/renderer.js.map +1 -1
  95. package/dist/tui/state/store.d.ts.map +1 -1
  96. package/dist/tui/state/store.js +14 -2
  97. package/dist/tui/state/store.js.map +1 -1
  98. package/dist/tui/state/types.d.ts +21 -1
  99. package/dist/tui/state/types.d.ts.map +1 -1
  100. package/dist/tui/topic-reader.d.ts +9 -1
  101. package/dist/tui/topic-reader.d.ts.map +1 -1
  102. package/dist/tui/topic-reader.js +39 -16
  103. package/dist/tui/topic-reader.js.map +1 -1
  104. package/dist/tui/ubb-renderer.d.ts.map +1 -1
  105. package/dist/tui/ubb-renderer.js +176 -12
  106. package/dist/tui/ubb-renderer.js.map +1 -1
  107. package/dist/update.d.ts +4 -1
  108. package/dist/update.d.ts.map +1 -1
  109. package/dist/update.js +71 -11
  110. package/dist/update.js.map +1 -1
  111. package/dist/version.d.ts +2 -2
  112. package/dist/version.d.ts.map +1 -1
  113. package/dist/version.js +10 -2
  114. package/dist/version.js.map +1 -1
  115. package/package.json +1 -1
  116. package/dist/tui/app-new.d.ts +0 -2
  117. package/dist/tui/app-new.d.ts.map +0 -1
  118. package/dist/tui/app-new.js +0 -2589
  119. package/dist/tui/app-new.js.map +0 -1
  120. package/dist/tui/app-old.d.ts +0 -2
  121. package/dist/tui/app-old.d.ts.map +0 -1
  122. package/dist/tui/app-old.js +0 -2589
  123. package/dist/tui/app-old.js.map +0 -1
  124. package/dist/tui/components/layout.d.ts +0 -3
  125. package/dist/tui/components/layout.d.ts.map +0 -1
  126. package/dist/tui/components/layout.js +0 -464
  127. package/dist/tui/components/layout.js.map +0 -1
  128. package/dist/tui/keymap/actions.d.ts +0 -9
  129. package/dist/tui/keymap/actions.d.ts.map +0 -1
  130. package/dist/tui/keymap/actions.js +0 -208
  131. package/dist/tui/keymap/actions.js.map +0 -1
  132. package/dist/tui/keymap/bindings.d.ts +0 -5
  133. package/dist/tui/keymap/bindings.d.ts.map +0 -1
  134. package/dist/tui/keymap/bindings.js +0 -138
  135. package/dist/tui/keymap/bindings.js.map +0 -1
  136. package/dist/tui/keymap/index.d.ts +0 -4
  137. package/dist/tui/keymap/index.d.ts.map +0 -1
  138. package/dist/tui/keymap/index.js +0 -5
  139. package/dist/tui/keymap/index.js.map +0 -1
  140. package/dist/tui/keymap/types.d.ts +0 -17
  141. package/dist/tui/keymap/types.d.ts.map +0 -1
  142. package/dist/tui/keymap/types.js +0 -3
  143. package/dist/tui/keymap/types.js.map +0 -1
@@ -1,208 +0,0 @@
1
- // 动作定义
2
- // 动作注册表
3
- const actions = new Map();
4
- // 注册动作
5
- export function registerAction(def) {
6
- actions.set(def.name, def);
7
- }
8
- // 获取动作
9
- export function getAction(name) {
10
- return actions.get(name);
11
- }
12
- // 执行动作
13
- export async function executeAction(name, state, params) {
14
- const action = actions.get(name);
15
- if (!action) {
16
- console.error(`Unknown action: ${name}`);
17
- return;
18
- }
19
- await action.fn(state, params);
20
- }
21
- // 获取所有动作
22
- export function getAllActions() {
23
- return Array.from(actions.values());
24
- }
25
- // 获取动作描述(用于帮助文档)
26
- export function getActionDesc(name) {
27
- return actions.get(name)?.desc;
28
- }
29
- // 注册内置动作
30
- export function registerBuiltinActions() {
31
- // 导航动作
32
- registerAction({
33
- name: "arrow",
34
- fn: (state, params) => {
35
- const direction = params?.direction || "next";
36
- const amount = params?.amount ? parseInt(params.amount) : 1;
37
- if (direction === "next") {
38
- state.itemIndex = Math.min(state.items.length - 1, state.itemIndex + amount);
39
- }
40
- else if (direction === "prev") {
41
- state.itemIndex = Math.max(0, state.itemIndex - amount);
42
- }
43
- else if (direction === "top") {
44
- state.itemIndex = 0;
45
- }
46
- else if (direction === "bottom") {
47
- state.itemIndex = state.items.length - 1;
48
- }
49
- },
50
- desc: "移动光标"
51
- });
52
- registerAction({
53
- name: "enter",
54
- fn: (state) => {
55
- // 进入选中的项目
56
- const selected = state.items[state.itemIndex];
57
- if (selected?.topicId !== undefined) {
58
- state.mode = "topic";
59
- // 加载帖子...
60
- }
61
- else if (selected?.boardId !== undefined) {
62
- // 进入版面...
63
- }
64
- },
65
- desc: "进入选中项"
66
- });
67
- registerAction({
68
- name: "leave",
69
- fn: (state) => {
70
- // 返回上一级
71
- if (state.mode === "topic") {
72
- state.mode = "list";
73
- state.focus = "content";
74
- }
75
- else if (state.parentList) {
76
- // 恢复父列表...
77
- }
78
- else {
79
- state.focus = "nav";
80
- }
81
- },
82
- desc: "返回上一级"
83
- });
84
- registerAction({
85
- name: "refresh",
86
- fn: (state) => {
87
- // 刷新当前视图
88
- state.loading = true;
89
- },
90
- desc: "刷新当前视图"
91
- });
92
- registerAction({
93
- name: "quit",
94
- fn: () => {
95
- // 退出
96
- process.exit(0);
97
- },
98
- desc: "退出程序"
99
- });
100
- registerAction({
101
- name: "search",
102
- fn: (state) => {
103
- // 打开搜索
104
- state.modal = "search";
105
- state.searchQuery = "";
106
- state.searchResults = [];
107
- state.searchMode = "topics";
108
- },
109
- desc: "打开搜索"
110
- });
111
- registerAction({
112
- name: "help",
113
- fn: (state) => {
114
- // 打开帮助
115
- state.modal = state.modal === "help" ? null : "help";
116
- },
117
- desc: "显示/关闭帮助"
118
- });
119
- registerAction({
120
- name: "menu",
121
- fn: (state) => {
122
- // 打开菜单
123
- state.modal = "menu";
124
- state.menuIndex = 0;
125
- },
126
- desc: "打开操作菜单"
127
- });
128
- // 帖子动作
129
- registerAction({
130
- name: "favorite",
131
- fn: (state) => {
132
- // 收藏/取消收藏
133
- if (state.topic) {
134
- // 执行收藏操作...
135
- }
136
- },
137
- desc: "收藏/取消收藏"
138
- });
139
- registerAction({
140
- name: "like",
141
- fn: (state) => {
142
- // 点赞
143
- if (state.topic) {
144
- // 执行点赞操作...
145
- }
146
- },
147
- desc: "点赞"
148
- });
149
- registerAction({
150
- name: "dislike",
151
- fn: (state) => {
152
- // 踩
153
- if (state.topic) {
154
- // 执行踩操作...
155
- }
156
- },
157
- desc: "踩"
158
- });
159
- registerAction({
160
- name: "user-detail",
161
- fn: (state) => {
162
- // 显示用户详情
163
- state.modal = "user";
164
- },
165
- desc: "显示用户详情"
166
- });
167
- // 输入动作
168
- registerAction({
169
- name: "input",
170
- fn: (state, params) => {
171
- // 打开输入框
172
- state.inputMode = true;
173
- state.inputPrompt = params?.prompt || "";
174
- state.inputValue = "";
175
- },
176
- desc: "打开输入框"
177
- });
178
- registerAction({
179
- name: "submit",
180
- fn: (state) => {
181
- // 提交输入
182
- if (state.inputCallback) {
183
- state.inputCallback(state.inputValue);
184
- }
185
- state.inputMode = false;
186
- state.inputValue = "";
187
- },
188
- desc: "提交输入"
189
- });
190
- registerAction({
191
- name: "cancel",
192
- fn: (state) => {
193
- // 取消输入
194
- state.inputMode = false;
195
- state.inputValue = "";
196
- },
197
- desc: "取消输入"
198
- });
199
- registerAction({
200
- name: "backspace",
201
- fn: (state) => {
202
- // 删除字符
203
- state.inputValue = state.inputValue.slice(0, -1);
204
- },
205
- desc: "删除字符"
206
- });
207
- }
208
- //# sourceMappingURL=actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/tui/keymap/actions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { KeyBinding, Keymap, KeyMode } from "./types.js";
2
- export declare function createDefaultKeymap(): Keymap;
3
- export declare function getKeybindingsForMode(keymap: Keymap, mode: KeyMode): KeyBinding[];
4
- export declare function findKeyBinding(keymap: Keymap, mode: KeyMode, key: string): KeyBinding | undefined;
5
- //# sourceMappingURL=bindings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/tui/keymap/bindings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG9D,wBAAgB,mBAAmB,IAAI,MAAM,CAW5C;AAoID,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,UAAU,EAAE,CAEjF;AAGD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,MAAM,GACV,UAAU,GAAG,SAAS,CAGxB"}
@@ -1,138 +0,0 @@
1
- // 快捷键绑定配置
2
- // 创建默认快捷键映射
3
- export function createDefaultKeymap() {
4
- return {
5
- list: createListBindings(),
6
- topic: createTopicBindings(),
7
- settings: createSettingsBindings(),
8
- input: createInputBindings(),
9
- search: createSearchBindings(),
10
- user: createUserBindings(),
11
- menu: createMenuBindings(),
12
- help: createHelpBindings()
13
- };
14
- }
15
- // 列表模式快捷键
16
- function createListBindings() {
17
- return [
18
- // 导航
19
- { key: "j", action: "arrow", desc: "下一项", mode: "list", params: { direction: "next" } },
20
- { key: "k", action: "arrow", desc: "上一项", mode: "list", params: { direction: "prev" } },
21
- { key: "\x1b[B", action: "arrow", desc: "下一项", mode: "list", params: { direction: "next" } },
22
- { key: "\x1b[A", action: "arrow", desc: "上一项", mode: "list", params: { direction: "prev" } },
23
- // 进入/返回
24
- { key: "l", action: "enter", desc: "进入", mode: "list" },
25
- { key: "\x1b[C", action: "enter", desc: "进入", mode: "list" },
26
- { key: "\r", action: "enter", desc: "进入", mode: "list" },
27
- { key: "h", action: "leave", desc: "返回", mode: "list" },
28
- { key: "\x1b[D", action: "leave", desc: "返回", mode: "list" },
29
- { key: "\x1b", action: "leave", desc: "返回", mode: "list" },
30
- // 加载更多
31
- { key: "n", action: "load-more", desc: "加载更多", mode: "list" },
32
- { key: " ", action: "load-more", desc: "加载更多", mode: "list" },
33
- // 操作
34
- { key: "r", action: "refresh", desc: "刷新", mode: "list" },
35
- { key: "/", action: "search", desc: "搜索", mode: "list" },
36
- { key: "o", action: "menu", desc: "菜单", mode: "list" },
37
- { key: "?", action: "help", desc: "帮助", mode: "list" },
38
- { key: "q", action: "quit", desc: "退出", mode: "list" },
39
- { key: "\u0003", action: "quit", desc: "退出", mode: "list" }
40
- ];
41
- }
42
- // 帖子阅读模式快捷键
43
- function createTopicBindings() {
44
- return [
45
- // 滚动
46
- { key: "j", action: "scroll", desc: "下一行", mode: "topic", params: { direction: "down" } },
47
- { key: "k", action: "scroll", desc: "上一行", mode: "topic", params: { direction: "up" } },
48
- { key: "\x1b[B", action: "scroll", desc: "下一行", mode: "topic", params: { direction: "down" } },
49
- { key: "\x1b[A", action: "scroll", desc: "上一行", mode: "topic", params: { direction: "up" } },
50
- // 翻页
51
- { key: "n", action: "next-page", desc: "下一页", mode: "topic" },
52
- { key: " ", action: "next-page", desc: "下一页", mode: "topic" },
53
- // 楼层跳转
54
- { key: "[", action: "prev-floor", desc: "上一楼层", mode: "topic" },
55
- { key: "]", action: "next-floor", desc: "下一楼层", mode: "topic" },
56
- { key: "【", action: "prev-floor", desc: "上一楼层", mode: "topic" },
57
- { key: "】", action: "next-floor", desc: "下一楼层", mode: "topic" },
58
- // 操作
59
- { key: "s", action: "favorite", desc: "收藏/取消收藏", mode: "topic" },
60
- { key: "l", action: "like", desc: "点赞", mode: "topic" },
61
- { key: "d", action: "dislike", desc: "踩", mode: "topic" },
62
- { key: "u", action: "user-detail", desc: "查看用户", mode: "topic" },
63
- { key: "r", action: "refresh", desc: "刷新", mode: "topic" },
64
- { key: "o", action: "menu", desc: "菜单", mode: "topic" },
65
- // 返回
66
- { key: "h", action: "leave", desc: "返回", mode: "topic" },
67
- { key: "\x1b[D", action: "leave", desc: "返回", mode: "topic" },
68
- { key: "\x1b", action: "leave", desc: "返回", mode: "topic" }
69
- ];
70
- }
71
- // 设置模式快捷键
72
- function createSettingsBindings() {
73
- return [
74
- { key: "j", action: "arrow", desc: "下一项", mode: "settings", params: { direction: "next" } },
75
- { key: "k", action: "arrow", desc: "上一项", mode: "settings", params: { direction: "prev" } },
76
- { key: "l", action: "enter", desc: "执行", mode: "settings" },
77
- { key: "\r", action: "enter", desc: "执行", mode: "settings" },
78
- { key: "h", action: "leave", desc: "返回", mode: "settings" },
79
- { key: "\x1b", action: "leave", desc: "返回", mode: "settings" }
80
- ];
81
- }
82
- // 输入模式快捷键
83
- function createInputBindings() {
84
- return [
85
- { key: "\r", action: "submit", desc: "提交", mode: "input" },
86
- { key: "\x1b", action: "cancel", desc: "取消", mode: "input" },
87
- { key: "\x7f", action: "backspace", desc: "删除", mode: "input" }
88
- ];
89
- }
90
- // 搜索模式快捷键
91
- function createSearchBindings() {
92
- return [
93
- { key: "\r", action: "search-submit", desc: "搜索", mode: "search" },
94
- { key: "\t", action: "search-toggle-mode", desc: "切换模式", mode: "search" },
95
- { key: "\x1b", action: "cancel", desc: "关闭", mode: "search" },
96
- { key: "\x7f", action: "backspace", desc: "删除", mode: "search" }
97
- ];
98
- }
99
- // 用户详情模式快捷键
100
- function createUserBindings() {
101
- return [
102
- { key: "f", action: "toggle-follow", desc: "关注/取消关注", mode: "user" },
103
- { key: "m", action: "send-message", desc: "发私信", mode: "user" },
104
- { key: "\x1b", action: "cancel", desc: "关闭", mode: "user" }
105
- ];
106
- }
107
- // 菜单模式快捷键
108
- function createMenuBindings() {
109
- return [
110
- { key: "j", action: "arrow", desc: "下一项", mode: "menu", params: { direction: "next" } },
111
- { key: "k", action: "arrow", desc: "上一项", mode: "menu", params: { direction: "prev" } },
112
- { key: "\r", action: "enter", desc: "执行", mode: "menu" },
113
- { key: "l", action: "enter", desc: "执行", mode: "menu" },
114
- { key: "h", action: "cancel", desc: "关闭", mode: "menu" },
115
- { key: "o", action: "cancel", desc: "关闭", mode: "menu" },
116
- { key: "\x1b", action: "cancel", desc: "关闭", mode: "menu" }
117
- ];
118
- }
119
- // 帮助模式快捷键
120
- function createHelpBindings() {
121
- return [
122
- { key: "j", action: "arrow", desc: "下一行", mode: "help", params: { direction: "next" } },
123
- { key: "k", action: "arrow", desc: "上一行", mode: "help", params: { direction: "prev" } },
124
- { key: "\x1b", action: "cancel", desc: "关闭", mode: "help" },
125
- { key: "?", action: "cancel", desc: "关闭", mode: "help" },
126
- { key: "\r", action: "cancel", desc: "关闭", mode: "help" }
127
- ];
128
- }
129
- // 获取当前模式的快捷键
130
- export function getKeybindingsForMode(keymap, mode) {
131
- return keymap[mode] || [];
132
- }
133
- // 查找匹配的快捷键绑定
134
- export function findKeyBinding(keymap, mode, key) {
135
- const bindings = keymap[mode] || [];
136
- return bindings.find(b => b.key === key);
137
- }
138
- //# sourceMappingURL=bindings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../src/tui/keymap/bindings.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export * from "./types.js";
2
- export * from "./actions.js";
3
- export * from "./bindings.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/keymap/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -1,5 +0,0 @@
1
- // 快捷键模块导出
2
- export * from "./types.js";
3
- export * from "./actions.js";
4
- export * from "./bindings.js";
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/keymap/index.ts"],"names":[],"mappings":"AAAA,UAAU;AAEV,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { TuiState } from "../state/types.js";
2
- export type ActionFn = (state: TuiState, params?: Record<string, string>) => void | Promise<void>;
3
- export interface KeyBinding {
4
- key: string;
5
- action: string;
6
- desc: string;
7
- mode: KeyMode;
8
- params?: Record<string, string>;
9
- }
10
- export type KeyMode = "list" | "topic" | "settings" | "input" | "search" | "user" | "menu" | "help";
11
- export interface ActionDef {
12
- name: string;
13
- fn: ActionFn;
14
- desc: string;
15
- }
16
- export type Keymap = Record<KeyMode, KeyBinding[]>;
17
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tui/keymap/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,MAAM,MAAM,QAAQ,GAAG,CACrB,KAAK,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAG1B,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAGD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAGpG,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- // 快捷键类型定义
2
- export {};
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tui/keymap/types.ts"],"names":[],"mappings":"AAAA,UAAU"}