termui 0.1.0 → 0.1.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.
- package/dist/chunk-B2VO7M2O.js +3493 -0
- package/dist/chunk-B2VO7M2O.js.map +1 -0
- package/dist/chunk-ZZKFZA2U.js +694 -0
- package/dist/chunk-ZZKFZA2U.js.map +1 -0
- package/dist/components.d.ts +668 -0
- package/dist/components.js +130 -0
- package/dist/components.js.map +1 -0
- package/dist/core.d.ts +144 -0
- package/dist/core.js +99 -0
- package/dist/core.js.map +1 -0
- package/dist/hooks-YADffFjU.d.ts +237 -0
- package/dist/hooks.d.ts +3 -0
- package/dist/hooks.js +29 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +225 -0
- package/dist/index.js.map +1 -0
- package/package.json +41 -10
- package/packages/cli/package.json +0 -36
- package/packages/components/dist/data/List.d.ts +0 -15
- package/packages/components/dist/data/List.d.ts.map +0 -1
- package/packages/components/dist/data/List.js +0 -40
- package/packages/components/dist/data/List.js.map +0 -1
- package/packages/components/dist/data/Table.d.ts +0 -17
- package/packages/components/dist/data/Table.d.ts.map +0 -1
- package/packages/components/dist/data/Table.js +0 -74
- package/packages/components/dist/data/Table.js.map +0 -1
- package/packages/components/dist/data/index.d.ts +0 -5
- package/packages/components/dist/data/index.d.ts.map +0 -1
- package/packages/components/dist/data/index.js +0 -3
- package/packages/components/dist/data/index.js.map +0 -1
- package/packages/components/dist/feedback/Alert.d.ts +0 -10
- package/packages/components/dist/feedback/Alert.d.ts.map +0 -1
- package/packages/components/dist/feedback/Alert.js +0 -23
- package/packages/components/dist/feedback/Alert.js.map +0 -1
- package/packages/components/dist/feedback/ProgressBar.d.ts +0 -13
- package/packages/components/dist/feedback/ProgressBar.d.ts.map +0 -1
- package/packages/components/dist/feedback/ProgressBar.js +0 -13
- package/packages/components/dist/feedback/ProgressBar.js.map +0 -1
- package/packages/components/dist/feedback/Spinner.d.ts +0 -9
- package/packages/components/dist/feedback/Spinner.d.ts.map +0 -1
- package/packages/components/dist/feedback/Spinner.js +0 -26
- package/packages/components/dist/feedback/Spinner.js.map +0 -1
- package/packages/components/dist/feedback/index.d.ts +0 -7
- package/packages/components/dist/feedback/index.d.ts.map +0 -1
- package/packages/components/dist/feedback/index.js +0 -4
- package/packages/components/dist/feedback/index.js.map +0 -1
- package/packages/components/dist/forms/Form.d.ts +0 -22
- package/packages/components/dist/forms/Form.d.ts.map +0 -1
- package/packages/components/dist/forms/Form.js +0 -45
- package/packages/components/dist/forms/Form.js.map +0 -1
- package/packages/components/dist/forms/index.d.ts +0 -3
- package/packages/components/dist/forms/index.d.ts.map +0 -1
- package/packages/components/dist/forms/index.js +0 -2
- package/packages/components/dist/forms/index.js.map +0 -1
- package/packages/components/dist/index.d.ts +0 -11
- package/packages/components/dist/index.d.ts.map +0 -1
- package/packages/components/dist/index.js +0 -21
- package/packages/components/dist/index.js.map +0 -1
- package/packages/components/dist/input/TextInput.d.ts +0 -14
- package/packages/components/dist/input/TextInput.d.ts.map +0 -1
- package/packages/components/dist/input/TextInput.js +0 -44
- package/packages/components/dist/input/TextInput.js.map +0 -1
- package/packages/components/dist/input/index.d.ts +0 -3
- package/packages/components/dist/input/index.d.ts.map +0 -1
- package/packages/components/dist/input/index.js +0 -2
- package/packages/components/dist/input/index.js.map +0 -1
- package/packages/components/dist/layout/Box.d.ts +0 -11
- package/packages/components/dist/layout/Box.d.ts.map +0 -1
- package/packages/components/dist/layout/Box.js +0 -18
- package/packages/components/dist/layout/Box.js.map +0 -1
- package/packages/components/dist/layout/Grid.d.ts +0 -8
- package/packages/components/dist/layout/Grid.d.ts.map +0 -1
- package/packages/components/dist/layout/Grid.js +0 -12
- package/packages/components/dist/layout/Grid.js.map +0 -1
- package/packages/components/dist/layout/ScrollView.d.ts +0 -9
- package/packages/components/dist/layout/ScrollView.d.ts.map +0 -1
- package/packages/components/dist/layout/ScrollView.js +0 -26
- package/packages/components/dist/layout/ScrollView.js.map +0 -1
- package/packages/components/dist/layout/Stack.d.ts +0 -12
- package/packages/components/dist/layout/Stack.d.ts.map +0 -1
- package/packages/components/dist/layout/Stack.js +0 -6
- package/packages/components/dist/layout/Stack.js.map +0 -1
- package/packages/components/dist/layout/index.d.ts +0 -9
- package/packages/components/dist/layout/index.d.ts.map +0 -1
- package/packages/components/dist/layout/index.js +0 -5
- package/packages/components/dist/layout/index.js.map +0 -1
- package/packages/components/dist/navigation/Tabs.d.ts +0 -15
- package/packages/components/dist/navigation/Tabs.d.ts.map +0 -1
- package/packages/components/dist/navigation/Tabs.js +0 -34
- package/packages/components/dist/navigation/Tabs.js.map +0 -1
- package/packages/components/dist/navigation/index.d.ts +0 -3
- package/packages/components/dist/navigation/index.d.ts.map +0 -1
- package/packages/components/dist/navigation/index.js +0 -2
- package/packages/components/dist/navigation/index.js.map +0 -1
- package/packages/components/dist/overlays/Modal.d.ts +0 -10
- package/packages/components/dist/overlays/Modal.d.ts.map +0 -1
- package/packages/components/dist/overlays/Modal.js +0 -16
- package/packages/components/dist/overlays/Modal.js.map +0 -1
- package/packages/components/dist/overlays/index.d.ts +0 -3
- package/packages/components/dist/overlays/index.d.ts.map +0 -1
- package/packages/components/dist/overlays/index.js +0 -2
- package/packages/components/dist/overlays/index.js.map +0 -1
- package/packages/components/dist/selection/Checkbox.d.ts +0 -10
- package/packages/components/dist/selection/Checkbox.d.ts.map +0 -1
- package/packages/components/dist/selection/Checkbox.js +0 -26
- package/packages/components/dist/selection/Checkbox.js.map +0 -1
- package/packages/components/dist/selection/Select.d.ts +0 -17
- package/packages/components/dist/selection/Select.d.ts.map +0 -1
- package/packages/components/dist/selection/Select.js +0 -44
- package/packages/components/dist/selection/Select.js.map +0 -1
- package/packages/components/dist/selection/index.d.ts +0 -5
- package/packages/components/dist/selection/index.d.ts.map +0 -1
- package/packages/components/dist/selection/index.js +0 -3
- package/packages/components/dist/selection/index.js.map +0 -1
- package/packages/components/dist/typography/Badge.d.ts +0 -9
- package/packages/components/dist/typography/Badge.d.ts.map +0 -1
- package/packages/components/dist/typography/Badge.js +0 -18
- package/packages/components/dist/typography/Badge.js.map +0 -1
- package/packages/components/dist/typography/Text.d.ts +0 -15
- package/packages/components/dist/typography/Text.d.ts.map +0 -1
- package/packages/components/dist/typography/Text.js +0 -6
- package/packages/components/dist/typography/Text.js.map +0 -1
- package/packages/components/dist/typography/index.d.ts +0 -5
- package/packages/components/dist/typography/index.d.ts.map +0 -1
- package/packages/components/dist/typography/index.js +0 -3
- package/packages/components/dist/typography/index.js.map +0 -1
- package/packages/components/dist/utility/Panel.d.ts +0 -14
- package/packages/components/dist/utility/Panel.d.ts.map +0 -1
- package/packages/components/dist/utility/Panel.js +0 -8
- package/packages/components/dist/utility/Panel.js.map +0 -1
- package/packages/components/dist/utility/Toggle.d.ts +0 -11
- package/packages/components/dist/utility/Toggle.d.ts.map +0 -1
- package/packages/components/dist/utility/Toggle.js +0 -23
- package/packages/components/dist/utility/Toggle.js.map +0 -1
- package/packages/components/dist/utility/index.d.ts +0 -5
- package/packages/components/dist/utility/index.d.ts.map +0 -1
- package/packages/components/dist/utility/index.js +0 -3
- package/packages/components/dist/utility/index.js.map +0 -1
- package/packages/components/package.json +0 -36
- package/packages/core/dist/hooks/index.d.ts +0 -18
- package/packages/core/dist/hooks/index.d.ts.map +0 -1
- package/packages/core/dist/hooks/index.js +0 -13
- package/packages/core/dist/hooks/index.js.map +0 -1
- package/packages/core/dist/hooks/useAnimation.d.ts +0 -7
- package/packages/core/dist/hooks/useAnimation.d.ts.map +0 -1
- package/packages/core/dist/hooks/useAnimation.js +0 -40
- package/packages/core/dist/hooks/useAnimation.js.map +0 -1
- package/packages/core/dist/hooks/useAsync.d.ts +0 -25
- package/packages/core/dist/hooks/useAsync.d.ts.map +0 -1
- package/packages/core/dist/hooks/useAsync.js +0 -37
- package/packages/core/dist/hooks/useAsync.js.map +0 -1
- package/packages/core/dist/hooks/useClipboard.d.ts +0 -9
- package/packages/core/dist/hooks/useClipboard.d.ts.map +0 -1
- package/packages/core/dist/hooks/useClipboard.js +0 -14
- package/packages/core/dist/hooks/useClipboard.js.map +0 -1
- package/packages/core/dist/hooks/useFocus.d.ts +0 -10
- package/packages/core/dist/hooks/useFocus.d.ts.map +0 -1
- package/packages/core/dist/hooks/useFocus.js +0 -6
- package/packages/core/dist/hooks/useFocus.js.map +0 -1
- package/packages/core/dist/hooks/useFocusManager.d.ts +0 -9
- package/packages/core/dist/hooks/useFocusManager.d.ts.map +0 -1
- package/packages/core/dist/hooks/useFocusManager.js +0 -6
- package/packages/core/dist/hooks/useFocusManager.js.map +0 -1
- package/packages/core/dist/hooks/useInput.d.ts +0 -22
- package/packages/core/dist/hooks/useInput.d.ts.map +0 -1
- package/packages/core/dist/hooks/useInput.js +0 -6
- package/packages/core/dist/hooks/useInput.js.map +0 -1
- package/packages/core/dist/hooks/useInterval.d.ts +0 -6
- package/packages/core/dist/hooks/useInterval.d.ts.map +0 -1
- package/packages/core/dist/hooks/useInterval.js +0 -18
- package/packages/core/dist/hooks/useInterval.js.map +0 -1
- package/packages/core/dist/hooks/useKeymap.d.ts +0 -13
- package/packages/core/dist/hooks/useKeymap.d.ts.map +0 -1
- package/packages/core/dist/hooks/useKeymap.js +0 -36
- package/packages/core/dist/hooks/useKeymap.js.map +0 -1
- package/packages/core/dist/hooks/useMouse.d.ts +0 -19
- package/packages/core/dist/hooks/useMouse.d.ts.map +0 -1
- package/packages/core/dist/hooks/useMouse.js +0 -60
- package/packages/core/dist/hooks/useMouse.js.map +0 -1
- package/packages/core/dist/hooks/useResize.d.ts +0 -7
- package/packages/core/dist/hooks/useResize.d.ts.map +0 -1
- package/packages/core/dist/hooks/useResize.js +0 -27
- package/packages/core/dist/hooks/useResize.js.map +0 -1
- package/packages/core/dist/hooks/useTerminal.d.ts +0 -4
- package/packages/core/dist/hooks/useTerminal.d.ts.map +0 -1
- package/packages/core/dist/hooks/useTerminal.js +0 -17
- package/packages/core/dist/hooks/useTerminal.js.map +0 -1
- package/packages/core/dist/hooks/useTheme.d.ts +0 -2
- package/packages/core/dist/hooks/useTheme.d.ts.map +0 -1
- package/packages/core/dist/hooks/useTheme.js +0 -3
- package/packages/core/dist/hooks/useTheme.js.map +0 -1
- package/packages/core/dist/index.d.ts +0 -4
- package/packages/core/dist/index.d.ts.map +0 -1
- package/packages/core/dist/index.js +0 -7
- package/packages/core/dist/index.js.map +0 -1
- package/packages/core/dist/styling/ThemeProvider.d.ts +0 -15
- package/packages/core/dist/styling/ThemeProvider.d.ts.map +0 -1
- package/packages/core/dist/styling/ThemeProvider.js +0 -44
- package/packages/core/dist/styling/ThemeProvider.js.map +0 -1
- package/packages/core/dist/styling/index.d.ts +0 -7
- package/packages/core/dist/styling/index.d.ts.map +0 -1
- package/packages/core/dist/styling/index.js +0 -7
- package/packages/core/dist/styling/index.js.map +0 -1
- package/packages/core/dist/styling/style.d.ts +0 -25
- package/packages/core/dist/styling/style.d.ts.map +0 -1
- package/packages/core/dist/styling/style.js +0 -57
- package/packages/core/dist/styling/style.js.map +0 -1
- package/packages/core/dist/styling/themes/default.d.ts +0 -3
- package/packages/core/dist/styling/themes/default.d.ts.map +0 -1
- package/packages/core/dist/styling/themes/default.js +0 -49
- package/packages/core/dist/styling/themes/default.js.map +0 -1
- package/packages/core/dist/styling/themes/dracula.d.ts +0 -3
- package/packages/core/dist/styling/themes/dracula.d.ts.map +0 -1
- package/packages/core/dist/styling/themes/dracula.js +0 -49
- package/packages/core/dist/styling/themes/dracula.js.map +0 -1
- package/packages/core/dist/styling/themes/nord.d.ts +0 -3
- package/packages/core/dist/styling/themes/nord.d.ts.map +0 -1
- package/packages/core/dist/styling/themes/nord.js +0 -49
- package/packages/core/dist/styling/themes/nord.js.map +0 -1
- package/packages/core/dist/styling/tokens.d.ts +0 -57
- package/packages/core/dist/styling/tokens.d.ts.map +0 -1
- package/packages/core/dist/styling/tokens.js +0 -6
- package/packages/core/dist/styling/tokens.js.map +0 -1
- package/packages/core/dist/terminal/ansi.d.ts +0 -107
- package/packages/core/dist/terminal/ansi.d.ts.map +0 -1
- package/packages/core/dist/terminal/ansi.js +0 -153
- package/packages/core/dist/terminal/ansi.js.map +0 -1
- package/packages/core/dist/terminal/capabilities.d.ts +0 -21
- package/packages/core/dist/terminal/capabilities.d.ts.map +0 -1
- package/packages/core/dist/terminal/capabilities.js +0 -74
- package/packages/core/dist/terminal/capabilities.js.map +0 -1
- package/packages/core/dist/terminal/index.d.ts +0 -3
- package/packages/core/dist/terminal/index.d.ts.map +0 -1
- package/packages/core/dist/terminal/index.js +0 -3
- package/packages/core/dist/terminal/index.js.map +0 -1
- package/packages/core/package.json +0 -49
- package/registry/components/alert/meta.json +0 -9
- package/registry/components/badge/meta.json +0 -9
- package/registry/components/box/meta.json +0 -9
- package/registry/components/checkbox/meta.json +0 -9
- package/registry/components/form/meta.json +0 -9
- package/registry/components/grid/meta.json +0 -9
- package/registry/components/list/meta.json +0 -9
- package/registry/components/modal/meta.json +0 -9
- package/registry/components/panel/meta.json +0 -9
- package/registry/components/progress-bar/meta.json +0 -9
- package/registry/components/scroll-view/meta.json +0 -9
- package/registry/components/select/meta.json +0 -9
- package/registry/components/spinner/meta.json +0 -9
- package/registry/components/stack/meta.json +0 -9
- package/registry/components/table/meta.json +0 -9
- package/registry/components/tabs/meta.json +0 -9
- package/registry/components/text/meta.json +0 -9
- package/registry/components/text-input/meta.json +0 -9
- package/registry/components/toggle/meta.json +0 -9
- package/registry/schema.json +0 -178
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/overlays/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface CheckboxProps {
|
|
2
|
-
checked?: boolean;
|
|
3
|
-
onChange?: (checked: boolean) => void;
|
|
4
|
-
label?: string;
|
|
5
|
-
indeterminate?: boolean;
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
id?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function Checkbox({ checked: controlledChecked, onChange, label, indeterminate, disabled, id, }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../src/selection/Checkbox.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EACR,KAAK,EACL,aAAqB,EACrB,QAAgB,EAChB,EAAE,GACH,EAAE,aAAa,2CAwCf"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { useInput, useFocus, useTheme } from '@termui/core';
|
|
5
|
-
export function Checkbox({ checked: controlledChecked, onChange, label, indeterminate = false, disabled = false, id, }) {
|
|
6
|
-
const [internalChecked, setInternalChecked] = useState(false);
|
|
7
|
-
const theme = useTheme();
|
|
8
|
-
const { isFocused } = useFocus({ id });
|
|
9
|
-
const checked = controlledChecked ?? internalChecked;
|
|
10
|
-
useInput((input) => {
|
|
11
|
-
if (!isFocused || disabled)
|
|
12
|
-
return;
|
|
13
|
-
if (input === ' ') {
|
|
14
|
-
const next = !checked;
|
|
15
|
-
onChange ? onChange(next) : setInternalChecked(next);
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
const icon = indeterminate ? '▪' : checked ? '■' : '□';
|
|
19
|
-
const iconColor = disabled
|
|
20
|
-
? theme.colors.mutedForeground
|
|
21
|
-
: checked || indeterminate
|
|
22
|
-
? theme.colors.primary
|
|
23
|
-
: theme.colors.border;
|
|
24
|
-
return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: isFocused ? theme.colors.focusRing : iconColor, bold: isFocused, children: icon }), label && (_jsx(Text, { color: disabled ? theme.colors.mutedForeground : theme.colors.foreground, dimColor: disabled, children: label }))] }));
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/selection/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAW5D,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EACR,KAAK,EACL,aAAa,GAAG,KAAK,EACrB,QAAQ,GAAG,KAAK,EAChB,EAAE,GACY;IACd,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,iBAAiB,IAAI,eAAe,CAAC;IAErD,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,IAAI,CAAC,SAAS,IAAI,QAAQ;YAAE,OAAO;QACnC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;YACtB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,MAAM,SAAS,GAAG,QAAQ;QACxB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe;QAC9B,CAAC,CAAC,OAAO,IAAI,aAAa;YAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;YACtB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAExB,OAAO,CACL,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aACT,KAAC,IAAI,IACH,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACrD,IAAI,EAAE,SAAS,YAEd,IAAI,GACA,EACN,KAAK,IAAI,CACR,KAAC,IAAI,IACH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EACxE,QAAQ,EAAE,QAAQ,YAEjB,KAAK,GACD,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface SelectOption<T = string> {
|
|
2
|
-
value: T;
|
|
3
|
-
label: string;
|
|
4
|
-
hint?: string;
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface SelectProps<T = string> {
|
|
8
|
-
options: SelectOption<T>[];
|
|
9
|
-
value?: T;
|
|
10
|
-
onChange?: (value: T) => void;
|
|
11
|
-
onSubmit?: (value: T) => void;
|
|
12
|
-
label?: string;
|
|
13
|
-
cursor?: string;
|
|
14
|
-
cursorColor?: string;
|
|
15
|
-
}
|
|
16
|
-
export declare function Select<T = string>({ options, value: controlledValue, onChange, onSubmit, label, cursor, cursorColor, }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
-
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/selection/Select.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,MAAM;IACtC,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM;IACrC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,EACjC,OAAO,EACP,KAAK,EAAE,eAAe,EACtB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAY,EACZ,WAAW,GACZ,EAAE,WAAW,CAAC,CAAC,CAAC,2CA8DhB"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { useInput, useTheme } from '@termui/core';
|
|
5
|
-
export function Select({ options, value: controlledValue, onChange, onSubmit, label, cursor = '›', cursorColor, }) {
|
|
6
|
-
const theme = useTheme();
|
|
7
|
-
const [activeIndex, setActiveIndex] = useState(0);
|
|
8
|
-
const resolvedCursorColor = cursorColor ?? theme.colors.primary;
|
|
9
|
-
useInput((input, key) => {
|
|
10
|
-
if (key.upArrow) {
|
|
11
|
-
setActiveIndex((i) => {
|
|
12
|
-
let next = i - 1;
|
|
13
|
-
while (next >= 0 && options[next]?.disabled)
|
|
14
|
-
next--;
|
|
15
|
-
return next < 0 ? i : next;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
else if (key.downArrow) {
|
|
19
|
-
setActiveIndex((i) => {
|
|
20
|
-
let next = i + 1;
|
|
21
|
-
while (next < options.length && options[next]?.disabled)
|
|
22
|
-
next++;
|
|
23
|
-
return next >= options.length ? i : next;
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
else if (key.return) {
|
|
27
|
-
const opt = options[activeIndex];
|
|
28
|
-
if (opt && !opt.disabled) {
|
|
29
|
-
onChange?.(opt.value);
|
|
30
|
-
onSubmit?.(opt.value);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
return (_jsxs(Box, { flexDirection: "column", children: [label && _jsx(Text, { bold: true, children: label }), options.map((opt, idx) => {
|
|
35
|
-
const isActive = idx === activeIndex;
|
|
36
|
-
const isSelected = controlledValue !== undefined && opt.value === controlledValue;
|
|
37
|
-
return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: isActive ? resolvedCursorColor : undefined, children: isActive ? cursor : ' ' }), _jsx(Text, { color: opt.disabled
|
|
38
|
-
? theme.colors.mutedForeground
|
|
39
|
-
: isActive
|
|
40
|
-
? resolvedCursorColor
|
|
41
|
-
: theme.colors.foreground, bold: isActive || isSelected, dimColor: opt.disabled, children: opt.label }), opt.hint && (_jsx(Text, { color: theme.colors.mutedForeground, dimColor: true, children: opt.hint }))] }, idx));
|
|
42
|
-
})] }));
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/selection/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/selection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/selection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export type BadgeVariant = 'default' | 'success' | 'warning' | 'error' | 'info' | 'secondary';
|
|
2
|
-
export interface BadgeProps {
|
|
3
|
-
children: string;
|
|
4
|
-
variant?: BadgeVariant;
|
|
5
|
-
color?: string;
|
|
6
|
-
bold?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare function Badge({ children, variant, color, bold }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/typography/Badge.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;AAE9F,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAmB,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,UAAU,2CAmBvF"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import { useTheme } from '@termui/core';
|
|
4
|
-
export function Badge({ children, variant = 'default', color, bold = false }) {
|
|
5
|
-
const theme = useTheme();
|
|
6
|
-
const variantColor = color ?? (() => {
|
|
7
|
-
switch (variant) {
|
|
8
|
-
case 'success': return theme.colors.success;
|
|
9
|
-
case 'warning': return theme.colors.warning;
|
|
10
|
-
case 'error': return theme.colors.error;
|
|
11
|
-
case 'info': return theme.colors.info;
|
|
12
|
-
case 'secondary': return theme.colors.secondary;
|
|
13
|
-
default: return theme.colors.primary;
|
|
14
|
-
}
|
|
15
|
-
})();
|
|
16
|
-
return (_jsx(Box, { borderStyle: "round", borderColor: variantColor, paddingX: 1, children: _jsx(Text, { color: variantColor, bold: bold, children: children }) }));
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=Badge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../src/typography/Badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAWxC,MAAM,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,EAAc;IACtF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;QAClC,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,SAAS,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5C,KAAK,SAAS,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5C,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACxC,KAAK,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,KAAK,WAAW,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;YAChD,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,YAC7D,KAAC,IAAI,IAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,YAAG,QAAQ,GAAQ,GACpD,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
export interface TextProps {
|
|
3
|
-
children?: ReactNode;
|
|
4
|
-
bold?: boolean;
|
|
5
|
-
italic?: boolean;
|
|
6
|
-
underline?: boolean;
|
|
7
|
-
strikethrough?: boolean;
|
|
8
|
-
dim?: boolean;
|
|
9
|
-
inverse?: boolean;
|
|
10
|
-
color?: string;
|
|
11
|
-
backgroundColor?: string;
|
|
12
|
-
wrap?: 'wrap' | 'end' | 'truncate' | 'truncate-start' | 'truncate-middle';
|
|
13
|
-
}
|
|
14
|
-
export declare function Text({ children, bold, italic, underline, strikethrough, dim, inverse, color, backgroundColor, wrap, }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/typography/Text.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;CAC3E;AAED,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,aAAa,EACb,GAAG,EACH,OAAO,EACP,KAAK,EACL,eAAe,EACf,IAAI,GACL,EAAE,SAAS,2CAgBX"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Text as InkText } from 'ink';
|
|
3
|
-
export function Text({ children, bold, italic, underline, strikethrough, dim, inverse, color, backgroundColor, wrap, }) {
|
|
4
|
-
return (_jsx(InkText, { bold: bold, italic: italic, underline: underline, strikethrough: strikethrough, dimColor: dim, inverse: inverse, color: color, backgroundColor: backgroundColor, wrap: wrap, children: children }));
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=Text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/typography/Text.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,KAAK,CAAC;AAgBtC,MAAM,UAAU,IAAI,CAAC,EACnB,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,aAAa,EACb,GAAG,EACH,OAAO,EACP,KAAK,EACL,eAAe,EACf,IAAI,GACM;IACV,OAAO,CACL,KAAC,OAAO,IACN,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,YAET,QAAQ,GACD,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/typography/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/typography/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
export interface PanelProps {
|
|
3
|
-
title?: string;
|
|
4
|
-
titleColor?: string;
|
|
5
|
-
borderColor?: string;
|
|
6
|
-
borderStyle?: 'single' | 'double' | 'round' | 'bold' | 'singleDouble' | 'doubleSingle' | 'classic';
|
|
7
|
-
width?: number;
|
|
8
|
-
height?: number;
|
|
9
|
-
paddingX?: number;
|
|
10
|
-
paddingY?: number;
|
|
11
|
-
children?: ReactNode;
|
|
12
|
-
}
|
|
13
|
-
export declare function Panel({ title, titleColor, borderColor, borderStyle, width, height, paddingX, paddingY, children, }: PanelProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
-
//# sourceMappingURL=Panel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../src/utility/Panel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC;IACnG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAY,EACZ,QAAY,EACZ,QAAQ,GACT,EAAE,UAAU,2CAqBZ"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import { useTheme } from '@termui/core';
|
|
4
|
-
export function Panel({ title, titleColor, borderColor, borderStyle, width, height, paddingX = 1, paddingY = 0, children, }) {
|
|
5
|
-
const theme = useTheme();
|
|
6
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: borderStyle ?? theme.border.style, borderColor: borderColor ?? theme.colors.border, width: width, height: height, children: [title && (_jsx(Box, { paddingX: paddingX, borderStyle: "single", borderColor: borderColor ?? theme.colors.border, children: _jsx(Text, { bold: true, color: titleColor ?? theme.colors.primary, children: title }) })), _jsx(Box, { flexDirection: "column", paddingX: paddingX, paddingY: paddingY, children: children })] }));
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=Panel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../src/utility/Panel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAexC,MAAM,UAAU,KAAK,CAAC,EACpB,KAAK,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,CAAC,EACZ,QAAQ,GAAG,CAAC,EACZ,QAAQ,GACG;IACX,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAC9C,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAC/C,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,aAEb,KAAK,IAAI,CACR,KAAC,GAAG,IAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,YAC3F,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,YAAG,KAAK,GAAQ,GAChE,CACP,EACD,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,YAC/D,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface ToggleProps {
|
|
2
|
-
checked?: boolean;
|
|
3
|
-
onChange?: (checked: boolean) => void;
|
|
4
|
-
label?: string;
|
|
5
|
-
onLabel?: string;
|
|
6
|
-
offLabel?: string;
|
|
7
|
-
id?: string;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare function Toggle({ checked: controlledChecked, onChange, label, onLabel, offLabel, id, disabled, }: ToggleProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
//# sourceMappingURL=Toggle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../src/utility/Toggle.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EACR,KAAK,EACL,OAAc,EACd,QAAgB,EAChB,EAAE,EACF,QAAgB,GACjB,EAAE,WAAW,2CA4Bb"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { useInput, useFocus, useTheme } from '@termui/core';
|
|
5
|
-
export function Toggle({ checked: controlledChecked, onChange, label, onLabel = 'ON', offLabel = 'OFF', id, disabled = false, }) {
|
|
6
|
-
const theme = useTheme();
|
|
7
|
-
const { isFocused } = useFocus({ id });
|
|
8
|
-
const [internalChecked, setInternalChecked] = useState(false);
|
|
9
|
-
const checked = controlledChecked ?? internalChecked;
|
|
10
|
-
useInput((input) => {
|
|
11
|
-
if (!isFocused || disabled)
|
|
12
|
-
return;
|
|
13
|
-
if (input === ' ') {
|
|
14
|
-
const next = !checked;
|
|
15
|
-
onChange ? onChange(next) : setInternalChecked(next);
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
const trackColor = checked ? theme.colors.success : theme.colors.mutedForeground;
|
|
19
|
-
const focusColor = isFocused ? theme.colors.focusRing : trackColor;
|
|
20
|
-
const stateLabel = checked ? onLabel : offLabel;
|
|
21
|
-
return (_jsxs(Box, { gap: 1, alignItems: "center", children: [_jsx(Box, { borderStyle: "round", borderColor: focusColor, paddingX: 1, children: _jsxs(Text, { color: focusColor, bold: checked, children: [checked ? '●' : '○', " ", stateLabel] }) }), label && _jsx(Text, { color: disabled ? theme.colors.mutedForeground : theme.colors.foreground, children: label })] }));
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=Toggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../../src/utility/Toggle.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAY5D,MAAM,UAAU,MAAM,CAAC,EACrB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EACR,KAAK,EACL,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,KAAK,EAChB,EAAE,EACF,QAAQ,GAAG,KAAK,GACJ;IACZ,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,iBAAiB,IAAI,eAAe,CAAC;IAErD,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,IAAI,CAAC,SAAS,IAAI,QAAQ;YAAE,OAAO;QACnC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;YACtB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;IACjF,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEhD,OAAO,CACL,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,aAC9B,KAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,YAC3D,MAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,aACnC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAG,UAAU,IAC5B,GACH,EACL,KAAK,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,YAAG,KAAK,GAAQ,IACpG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@termui/components",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "TermUI component library — 90+ terminal UI components",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.js"
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
"scripts": {
|
|
15
|
-
"build": "tsc -p tsconfig.build.json",
|
|
16
|
-
"dev": "tsc -p tsconfig.build.json --watch",
|
|
17
|
-
"test": "vitest run",
|
|
18
|
-
"test:watch": "vitest",
|
|
19
|
-
"typecheck": "tsc --noEmit"
|
|
20
|
-
},
|
|
21
|
-
"dependencies": {
|
|
22
|
-
"@termui/core": "workspace:*",
|
|
23
|
-
"ink": "^5.0.0",
|
|
24
|
-
"react": "^18.0.0"
|
|
25
|
-
},
|
|
26
|
-
"peerDependencies": {
|
|
27
|
-
"react": "^18.0.0"
|
|
28
|
-
},
|
|
29
|
-
"devDependencies": {
|
|
30
|
-
"@types/react": "^18.0.0",
|
|
31
|
-
"@types/node": "^20.0.0",
|
|
32
|
-
"vitest": "^1.0.0",
|
|
33
|
-
"typescript": "^5.4.0",
|
|
34
|
-
"@vitest/coverage-v8": "^1.0.0"
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export { useInput } from './useInput.js';
|
|
2
|
-
export { useFocus } from './useFocus.js';
|
|
3
|
-
export { useFocusManager } from './useFocusManager.js';
|
|
4
|
-
export { useTheme } from './useTheme.js';
|
|
5
|
-
export { useTerminal } from './useTerminal.js';
|
|
6
|
-
export { useAnimation } from './useAnimation.js';
|
|
7
|
-
export { useInterval } from './useInterval.js';
|
|
8
|
-
export { useClipboard } from './useClipboard.js';
|
|
9
|
-
export { useKeymap } from './useKeymap.js';
|
|
10
|
-
export { useMouse } from './useMouse.js';
|
|
11
|
-
export { useResize } from './useResize.js';
|
|
12
|
-
export { useAsync } from './useAsync.js';
|
|
13
|
-
export type { Key, InputHandler } from './useInput.js';
|
|
14
|
-
export type { TerminalSize } from './useResize.js';
|
|
15
|
-
export type { MouseEvent, MouseButton } from './useMouse.js';
|
|
16
|
-
export type { KeyBinding } from './useKeymap.js';
|
|
17
|
-
export type { AsyncState } from './useAsync.js';
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export { useInput } from './useInput.js';
|
|
2
|
-
export { useFocus } from './useFocus.js';
|
|
3
|
-
export { useFocusManager } from './useFocusManager.js';
|
|
4
|
-
export { useTheme } from './useTheme.js';
|
|
5
|
-
export { useTerminal } from './useTerminal.js';
|
|
6
|
-
export { useAnimation } from './useAnimation.js';
|
|
7
|
-
export { useInterval } from './useInterval.js';
|
|
8
|
-
export { useClipboard } from './useClipboard.js';
|
|
9
|
-
export { useKeymap } from './useKeymap.js';
|
|
10
|
-
export { useMouse } from './useMouse.js';
|
|
11
|
-
export { useResize } from './useResize.js';
|
|
12
|
-
export { useAsync } from './useAsync.js';
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Frame-based animation hook at configurable fps.
|
|
3
|
-
* Returns the current frame index (increments every tick).
|
|
4
|
-
* All instances at the same fps share a single interval for efficient batching.
|
|
5
|
-
*/
|
|
6
|
-
export declare function useAnimation(fps?: number): number;
|
|
7
|
-
//# sourceMappingURL=useAnimation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimation.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnimation.ts"],"names":[],"mappings":"AA8BA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAK,GAAG,MAAM,CAW7C"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
2
|
-
const pool = new Map();
|
|
3
|
-
function subscribe(ms, cb) {
|
|
4
|
-
if (!pool.has(ms)) {
|
|
5
|
-
const entry = { id: null, tick: 0, subs: new Set() };
|
|
6
|
-
entry.id = setInterval(() => {
|
|
7
|
-
entry.tick++;
|
|
8
|
-
for (const sub of entry.subs)
|
|
9
|
-
sub(entry.tick);
|
|
10
|
-
}, ms);
|
|
11
|
-
pool.set(ms, entry);
|
|
12
|
-
}
|
|
13
|
-
pool.get(ms).subs.add(cb);
|
|
14
|
-
}
|
|
15
|
-
function unsubscribe(ms, cb) {
|
|
16
|
-
const entry = pool.get(ms);
|
|
17
|
-
if (!entry)
|
|
18
|
-
return;
|
|
19
|
-
entry.subs.delete(cb);
|
|
20
|
-
if (entry.subs.size === 0) {
|
|
21
|
-
clearInterval(entry.id);
|
|
22
|
-
pool.delete(ms);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Frame-based animation hook at configurable fps.
|
|
27
|
-
* Returns the current frame index (increments every tick).
|
|
28
|
-
* All instances at the same fps share a single interval for efficient batching.
|
|
29
|
-
*/
|
|
30
|
-
export function useAnimation(fps = 12) {
|
|
31
|
-
const [frame, setFrame] = useState(0);
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
const ms = Math.round(1000 / fps);
|
|
34
|
-
const cb = (tick) => setFrame(tick);
|
|
35
|
-
subscribe(ms, cb);
|
|
36
|
-
return () => unsubscribe(ms, cb);
|
|
37
|
-
}, [fps]);
|
|
38
|
-
return frame;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=useAnimation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimation.js","sourceRoot":"","sources":["../../src/hooks/useAnimation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAM5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuF,CAAC;AAE5G,SAAS,SAAS,CAAC,EAAU,EAAE,EAAc;IAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,IAAiD,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,EAAc,EAAE,CAAC;QAC9G,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC1B,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI;gBAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,EAAU,EAAE,EAAc;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAG,GAAG,EAAE;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAClC,MAAM,EAAE,GAAe,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClB,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export type AsyncState<T> = {
|
|
2
|
-
status: 'idle';
|
|
3
|
-
data: null;
|
|
4
|
-
error: null;
|
|
5
|
-
} | {
|
|
6
|
-
status: 'loading';
|
|
7
|
-
data: null;
|
|
8
|
-
error: null;
|
|
9
|
-
} | {
|
|
10
|
-
status: 'success';
|
|
11
|
-
data: T;
|
|
12
|
-
error: null;
|
|
13
|
-
} | {
|
|
14
|
-
status: 'error';
|
|
15
|
-
data: null;
|
|
16
|
-
error: Error;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Async data loading hook with loading/error/data states.
|
|
20
|
-
* Automatically cancels stale requests.
|
|
21
|
-
*/
|
|
22
|
-
export declare function useAsync<T>(asyncFn: () => Promise<T>, deps?: unknown[]): AsyncState<T> & {
|
|
23
|
-
refetch: () => void;
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=useAsync.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsync.d.ts","sourceRoot":"","sources":["../../src/hooks/useAsync.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,CAAC,CAAC,IACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAElD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,IAAI,GAAE,OAAO,EAAO,GACnB,UAAU,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAiCzC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect, useCallback, useRef } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Async data loading hook with loading/error/data states.
|
|
4
|
-
* Automatically cancels stale requests.
|
|
5
|
-
*/
|
|
6
|
-
export function useAsync(asyncFn, deps = []) {
|
|
7
|
-
const [state, setState] = useState({
|
|
8
|
-
status: 'idle',
|
|
9
|
-
data: null,
|
|
10
|
-
error: null,
|
|
11
|
-
});
|
|
12
|
-
const mountedRef = useRef(true);
|
|
13
|
-
const execute = useCallback(async () => {
|
|
14
|
-
setState({ status: 'loading', data: null, error: null });
|
|
15
|
-
try {
|
|
16
|
-
const data = await asyncFn();
|
|
17
|
-
if (mountedRef.current) {
|
|
18
|
-
setState({ status: 'success', data, error: null });
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
catch (e) {
|
|
22
|
-
if (mountedRef.current) {
|
|
23
|
-
setState({ status: 'error', data: null, error: e instanceof Error ? e : new Error(String(e)) });
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27
|
-
}, deps);
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
mountedRef.current = true;
|
|
30
|
-
execute();
|
|
31
|
-
return () => {
|
|
32
|
-
mountedRef.current = false;
|
|
33
|
-
};
|
|
34
|
-
}, [execute]);
|
|
35
|
-
return { ...state, refetch: execute };
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=useAsync.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsync.js","sourceRoot":"","sources":["../../src/hooks/useAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAQjE;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAyB,EACzB,OAAkB,EAAE;IAEpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB;QAChD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QACH,uDAAuD;IACvD,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,OAAO,EAAE,CAAC;QACV,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OSC 52 clipboard hook.
|
|
3
|
-
* write() sends data to the terminal's clipboard via OSC 52.
|
|
4
|
-
* Note: read() is not universally supported; returns null on unsupported terminals.
|
|
5
|
-
*/
|
|
6
|
-
export declare function useClipboard(): {
|
|
7
|
-
write: (text: string) => void;
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=useClipboard.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClipboard.d.ts","sourceRoot":"","sources":["../../src/hooks/useClipboard.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,YAAY;kBACO,MAAM;EAKxC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { osc } from '../terminal/ansi.js';
|
|
3
|
-
/**
|
|
4
|
-
* OSC 52 clipboard hook.
|
|
5
|
-
* write() sends data to the terminal's clipboard via OSC 52.
|
|
6
|
-
* Note: read() is not universally supported; returns null on unsupported terminals.
|
|
7
|
-
*/
|
|
8
|
-
export function useClipboard() {
|
|
9
|
-
const write = useCallback((text) => {
|
|
10
|
-
process.stdout.write(osc.clipboardWrite(text));
|
|
11
|
-
}, []);
|
|
12
|
-
return { write };
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=useClipboard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClipboard.js","sourceRoot":"","sources":["../../src/hooks/useClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/** Single component focus state — delegates to Ink's useFocus */
|
|
2
|
-
export declare function useFocus(options?: {
|
|
3
|
-
autoFocus?: boolean;
|
|
4
|
-
isActive?: boolean;
|
|
5
|
-
id?: string;
|
|
6
|
-
}): {
|
|
7
|
-
isFocused: boolean;
|
|
8
|
-
focus: (id: string) => void;
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=useFocus.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFocus.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocus.ts"],"names":[],"mappings":"AAEA,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAE1F"}
|