@pokit/tabs-opentui 0.0.22 → 0.0.23
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.
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +7 -1
- package/dist/tabbed-view.d.ts +1 -1
- package/dist/tabbed-view.d.ts.map +1 -1
- package/dist/tabs-app.d.ts.map +1 -1
- package/dist/tabs-app.js +2 -2
- package/package.json +5 -5
- package/src/adapter.tsx +7 -1
- package/src/tabbed-view.tsx +1 -1
- package/src/tabs-app.tsx +7 -4
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAwB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK/E;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAwB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK/E;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CA8G/C;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE,mBAAwB,GAChC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA4GzB"}
|
package/dist/adapter.js
CHANGED
|
@@ -88,8 +88,11 @@ export function createTabsAdapter() {
|
|
|
88
88
|
const handleFatalError = () => {
|
|
89
89
|
cleanup();
|
|
90
90
|
};
|
|
91
|
-
const handleExit = () => {
|
|
91
|
+
const handleExit = (code) => {
|
|
92
92
|
cleanup();
|
|
93
|
+
if (code === 130) {
|
|
94
|
+
process.exit(130);
|
|
95
|
+
}
|
|
93
96
|
};
|
|
94
97
|
// Use React.createElement to bypass OpenTUI's JSX type constraints for class components
|
|
95
98
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -173,6 +176,9 @@ export function createEventAdapter(bus, options = {}) {
|
|
|
173
176
|
const handleExit = (code) => {
|
|
174
177
|
cleanup();
|
|
175
178
|
options.onExit?.(code);
|
|
179
|
+
if (code === 130) {
|
|
180
|
+
process.exit(130);
|
|
181
|
+
}
|
|
176
182
|
};
|
|
177
183
|
// Handle fatal errors from error boundary
|
|
178
184
|
const handleFatalError = () => {
|
package/dist/tabbed-view.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ type TabbedViewProps = {
|
|
|
9
9
|
tabs: TabProcess[];
|
|
10
10
|
activeIndex: number;
|
|
11
11
|
onActiveIndexChange: (index: number) => void;
|
|
12
|
-
onQuit: () => void;
|
|
12
|
+
onQuit: (reason: 'user' | 'interrupt') => void;
|
|
13
13
|
onQuitRequest: () => void;
|
|
14
14
|
onRestart: (index: number) => void;
|
|
15
15
|
onKill: (index: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabbed-view.d.ts","sourceRoot":"","sources":["../src/tabbed-view.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAY,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAWnD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"tabbed-view.d.ts","sourceRoot":"","sources":["../src/tabbed-view.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAY,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAWnD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AA6JF,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,EAAE,eAAe,GAAG,KAAK,CAAC,SAAS,CA+FnC"}
|
package/dist/tabs-app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-app.d.ts","sourceRoot":"","sources":["../src/tabs-app.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAOF,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,GAAG,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"tabs-app.d.ts","sourceRoot":"","sources":["../src/tabs-app.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAOF,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,GAAG,KAAK,CAAC,SAAS,CAoWjF"}
|
package/dist/tabs-app.js
CHANGED
|
@@ -261,9 +261,9 @@ export function TabsApp({ items, options, onExit }) {
|
|
|
261
261
|
const handleQuitRequest = useCallback(() => {
|
|
262
262
|
setQuitConfirmPending((prev) => !prev);
|
|
263
263
|
}, []);
|
|
264
|
-
const handleQuit = useCallback(() => {
|
|
264
|
+
const handleQuit = useCallback((reason) => {
|
|
265
265
|
killAll();
|
|
266
|
-
onExit(0);
|
|
266
|
+
onExit(reason === 'interrupt' ? 130 : 0);
|
|
267
267
|
}, [killAll, onExit]);
|
|
268
268
|
const handleEnterFocusMode = useCallback(() => {
|
|
269
269
|
const proc = processesRef.current[activeIndex];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pokit/tabs-opentui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"description": "OpenTUI-based tab renderer for pok CLI applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/bun": "latest",
|
|
55
55
|
"@types/react": "^19.2.0",
|
|
56
|
-
"@pokit/core": "0.0.
|
|
57
|
-
"@pokit/tabs-core": "0.0.
|
|
56
|
+
"@pokit/core": "0.0.23",
|
|
57
|
+
"@pokit/tabs-core": "0.0.23"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
-
"@pokit/core": "0.0.
|
|
61
|
-
"@pokit/tabs-core": "0.0.
|
|
60
|
+
"@pokit/core": "0.0.23",
|
|
61
|
+
"@pokit/tabs-core": "0.0.23"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
64
|
"bun": ">=1.0.0"
|
package/src/adapter.tsx
CHANGED
|
@@ -107,8 +107,11 @@ export function createTabsAdapter(): TabsAdapter {
|
|
|
107
107
|
cleanup();
|
|
108
108
|
};
|
|
109
109
|
|
|
110
|
-
const handleExit = () => {
|
|
110
|
+
const handleExit = (code: number) => {
|
|
111
111
|
cleanup();
|
|
112
|
+
if (code === 130) {
|
|
113
|
+
process.exit(130);
|
|
114
|
+
}
|
|
112
115
|
};
|
|
113
116
|
|
|
114
117
|
// Use React.createElement to bypass OpenTUI's JSX type constraints for class components
|
|
@@ -219,6 +222,9 @@ export function createEventAdapter(
|
|
|
219
222
|
const handleExit = (code: number) => {
|
|
220
223
|
cleanup();
|
|
221
224
|
options.onExit?.(code);
|
|
225
|
+
if (code === 130) {
|
|
226
|
+
process.exit(130);
|
|
227
|
+
}
|
|
222
228
|
};
|
|
223
229
|
|
|
224
230
|
// Handle fatal errors from error boundary
|
package/src/tabbed-view.tsx
CHANGED
|
@@ -21,7 +21,7 @@ type TabbedViewProps = {
|
|
|
21
21
|
tabs: TabProcess[];
|
|
22
22
|
activeIndex: number;
|
|
23
23
|
onActiveIndexChange: (index: number) => void;
|
|
24
|
-
onQuit: () => void;
|
|
24
|
+
onQuit: (reason: 'user' | 'interrupt') => void;
|
|
25
25
|
onQuitRequest: () => void;
|
|
26
26
|
onRestart: (index: number) => void;
|
|
27
27
|
onKill: (index: number) => void;
|
package/src/tabs-app.tsx
CHANGED
|
@@ -324,10 +324,13 @@ export function TabsApp({ items, options, onExit }: TabsAppProps): React.ReactNo
|
|
|
324
324
|
setQuitConfirmPending((prev) => !prev);
|
|
325
325
|
}, []);
|
|
326
326
|
|
|
327
|
-
const handleQuit = useCallback(
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
327
|
+
const handleQuit = useCallback(
|
|
328
|
+
(reason: 'user' | 'interrupt') => {
|
|
329
|
+
killAll();
|
|
330
|
+
onExit(reason === 'interrupt' ? 130 : 0);
|
|
331
|
+
},
|
|
332
|
+
[killAll, onExit]
|
|
333
|
+
);
|
|
331
334
|
|
|
332
335
|
const handleEnterFocusMode = useCallback(() => {
|
|
333
336
|
const proc = processesRef.current[activeIndex];
|