@pokit/tabs-ink 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/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- 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/src/types.ts +1 -1
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.tsx"],"names":[],"mappings":"AAOA,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":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAwB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK/E;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAoH/C;AAMD,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,CAgFzB"}
|
package/dist/adapter.js
CHANGED
|
@@ -84,8 +84,11 @@ export function createTabsAdapter() {
|
|
|
84
84
|
const handleFatalError = () => {
|
|
85
85
|
cleanup();
|
|
86
86
|
};
|
|
87
|
-
const result = render(_jsx(TabsErrorBoundary, { onFatalError: handleFatalError, children: _jsx(TabsApp, { items: items, options: options, onExit: () => {
|
|
87
|
+
const result = render(_jsx(TabsErrorBoundary, { onFatalError: handleFatalError, children: _jsx(TabsApp, { items: items, options: options, onExit: (code) => {
|
|
88
88
|
cleanup();
|
|
89
|
+
if (code === 130) {
|
|
90
|
+
process.exit(130);
|
|
91
|
+
}
|
|
89
92
|
} }) }), {
|
|
90
93
|
exitOnCtrlC: false, // We handle quit ourselves
|
|
91
94
|
incrementalRendering: true, // Only update changed lines to reduce flicker
|
|
@@ -158,6 +161,9 @@ export function createEventAdapter(bus, options = {}) {
|
|
|
158
161
|
const handleExit = (code) => {
|
|
159
162
|
cleanup();
|
|
160
163
|
options.onExit?.(code);
|
|
164
|
+
if (code === 130) {
|
|
165
|
+
process.exit(130);
|
|
166
|
+
}
|
|
161
167
|
};
|
|
162
168
|
// Handle fatal errors from error boundary
|
|
163
169
|
const handleFatalError = () => {
|
package/dist/tabbed-view.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ type TabbedViewProps = {
|
|
|
3
3
|
tabs: TabProcess[];
|
|
4
4
|
activeIndex: number;
|
|
5
5
|
onActiveIndexChange: (index: number) => void;
|
|
6
|
-
onQuit: () => void;
|
|
6
|
+
onQuit: (reason: 'user' | 'interrupt') => void;
|
|
7
7
|
onQuitRequest: () => void;
|
|
8
8
|
onRestart: (index: number) => void;
|
|
9
9
|
onKill: (index: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabbed-view.d.ts","sourceRoot":"","sources":["../src/tabbed-view.tsx"],"names":[],"mappings":"AACA,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":"AACA,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,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAyMF,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,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,EAAE,eAAe,2CAqGjB"}
|
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":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIxD,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,
|
|
1
|
+
{"version":3,"file":"tabs-app.d.ts","sourceRoot":"","sources":["../src/tabs-app.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIxD,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,2CAkS/D"}
|
package/dist/tabs-app.js
CHANGED
|
@@ -200,9 +200,9 @@ export function TabsApp({ items, options, onExit }) {
|
|
|
200
200
|
const handleQuitRequest = useCallback(() => {
|
|
201
201
|
setQuitConfirmPending((prev) => !prev);
|
|
202
202
|
}, []);
|
|
203
|
-
const handleQuit = useCallback(() => {
|
|
203
|
+
const handleQuit = useCallback((reason) => {
|
|
204
204
|
killAll();
|
|
205
|
-
onExit(0);
|
|
205
|
+
onExit(reason === 'interrupt' ? 130 : 0);
|
|
206
206
|
}, [killAll, onExit]);
|
|
207
207
|
const handleEnterFocusMode = useCallback(() => {
|
|
208
208
|
const proc = processesRef.current[activeIndex];
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMrE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMpD;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG;IACxC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMrE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMpD;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG;IACxC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pokit/tabs-ink",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"description": "Ink-based tab renderer for pok CLI applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/bun": "latest",
|
|
53
53
|
"@types/react": "^19.2.0",
|
|
54
|
-
"@pokit/core": "0.0.
|
|
55
|
-
"@pokit/tabs-core": "0.0.
|
|
54
|
+
"@pokit/core": "0.0.23",
|
|
55
|
+
"@pokit/tabs-core": "0.0.23"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"@pokit/core": "0.0.
|
|
59
|
-
"@pokit/tabs-core": "0.0.
|
|
58
|
+
"@pokit/core": "0.0.23",
|
|
59
|
+
"@pokit/tabs-core": "0.0.23"
|
|
60
60
|
},
|
|
61
61
|
"engines": {
|
|
62
62
|
"bun": ">=1.0.0"
|
package/src/adapter.tsx
CHANGED
|
@@ -103,8 +103,11 @@ export function createTabsAdapter(): TabsAdapter {
|
|
|
103
103
|
<TabsApp
|
|
104
104
|
items={items}
|
|
105
105
|
options={options}
|
|
106
|
-
onExit={() => {
|
|
106
|
+
onExit={(code) => {
|
|
107
107
|
cleanup();
|
|
108
|
+
if (code === 130) {
|
|
109
|
+
process.exit(130);
|
|
110
|
+
}
|
|
108
111
|
}}
|
|
109
112
|
/>
|
|
110
113
|
</TabsErrorBoundary>,
|
|
@@ -204,6 +207,9 @@ export function createEventAdapter(
|
|
|
204
207
|
const handleExit = (code: number) => {
|
|
205
208
|
cleanup();
|
|
206
209
|
options.onExit?.(code);
|
|
210
|
+
if (code === 130) {
|
|
211
|
+
process.exit(130);
|
|
212
|
+
}
|
|
207
213
|
};
|
|
208
214
|
|
|
209
215
|
// Handle fatal errors from error boundary
|
package/src/tabbed-view.tsx
CHANGED
|
@@ -14,7 +14,7 @@ type TabbedViewProps = {
|
|
|
14
14
|
tabs: TabProcess[];
|
|
15
15
|
activeIndex: number;
|
|
16
16
|
onActiveIndexChange: (index: number) => void;
|
|
17
|
-
onQuit: () => void;
|
|
17
|
+
onQuit: (reason: 'user' | 'interrupt') => void;
|
|
18
18
|
onQuitRequest: () => void;
|
|
19
19
|
onRestart: (index: number) => void;
|
|
20
20
|
onKill: (index: number) => void;
|
package/src/tabs-app.tsx
CHANGED
|
@@ -251,10 +251,13 @@ export function TabsApp({ items, options, onExit }: TabsAppProps) {
|
|
|
251
251
|
setQuitConfirmPending((prev) => !prev);
|
|
252
252
|
}, []);
|
|
253
253
|
|
|
254
|
-
const handleQuit = useCallback(
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
254
|
+
const handleQuit = useCallback(
|
|
255
|
+
(reason: 'user' | 'interrupt') => {
|
|
256
|
+
killAll();
|
|
257
|
+
onExit(reason === 'interrupt' ? 130 : 0);
|
|
258
|
+
},
|
|
259
|
+
[killAll, onExit]
|
|
260
|
+
);
|
|
258
261
|
|
|
259
262
|
const handleEnterFocusMode = useCallback(() => {
|
|
260
263
|
const proc = processesRef.current[activeIndex];
|
package/src/types.ts
CHANGED