bento-get 1.98.1-0

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/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/cli.js ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import Pastel from 'pastel';
3
+ const app = new Pastel({
4
+ importMeta: import.meta,
5
+ name: 'bento-get',
6
+ });
7
+ await app.run();
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2NsaS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUUzQixNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNyQixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7SUFDdkIsSUFBSSxFQUFFLFdBQVc7Q0FDbEIsQ0FBQyxDQUFBO0FBRUYsTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUEifQ==
@@ -0,0 +1,7 @@
1
+ import zod from 'zod';
2
+ export declare const args: zod.ZodTuple<[zod.ZodString, zod.ZodString], null>;
3
+ type Props = {
4
+ args: zod.infer<typeof args>;
5
+ };
6
+ export default function Add({ args }: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import zod from 'zod';
4
+ export const args = zod.tuple([zod.string(), zod.string()]);
5
+ // const categories = ['forms', 'elements', 'shells', 'animations', 'ecommerce', 'user']
6
+ export default function Add({ args }) {
7
+ // if `bento add` show Select with categories.
8
+ // then show Select with category sections.
9
+ // if `bento add <category>` show Select with category sections.
10
+ return (_jsxs(Text, { children: ["Adding now ", args[0], " to ", args[1]] }));
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbW1hbmRzL2FkZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDMUIsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFBO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFNM0Qsd0ZBQXdGO0FBQ3hGLE1BQU0sQ0FBQyxPQUFPLFVBQVUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFTO0lBQ3pDLDhDQUE4QztJQUM5QywyQ0FBMkM7SUFDM0MsZ0VBQWdFO0lBQ2hFLE9BQU8sQ0FDTCxNQUFDLElBQUksOEJBQ1MsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsSUFDM0IsQ0FDUixDQUFBO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ export declare const AppContext: import("react").Context<{
3
+ tokenStore: {};
4
+ copyToClipboard: boolean;
5
+ setCopyToClipboard: () => void;
6
+ results: never[];
7
+ setResults: () => void;
8
+ selectedId: number;
9
+ setSelectedId: () => void;
10
+ input: string;
11
+ setInput: () => void;
12
+ setInstallcomponent: () => void;
13
+ install: null;
14
+ }>;
15
+ export default function Search(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,203 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // @ts-nocheck
3
+ import { Alert, Badge, Spinner } from '@inkjs/ui';
4
+ import Conf from 'conf';
5
+ import { copy } from 'copy-paste';
6
+ import Fuse from 'fuse.js';
7
+ import { Box, Spacer, Text, useApp, useInput } from 'ink';
8
+ import TextInput from 'ink-text-input';
9
+ import open from 'open';
10
+ import { createContext, useContext, useEffect, useState } from 'react';
11
+ import { componentsList } from '../components.js';
12
+ import { useGithubAuth } from '../hooks/useGithubAuth.js';
13
+ import { useInstallComponent } from '../hooks/useInstallComponent.js';
14
+ const tokenStore = new Conf({ projectName: 'bento-cli' });
15
+ const handleKeypress = (_, key, appContext) => {
16
+ const { selectedId, setSelectedId, setInstall, results, copyToClipboard, setCopyToClipboard, } = appContext;
17
+ if (_ === 'c' && appContext.install.installingComponent) {
18
+ setCopyToClipboard(true);
19
+ }
20
+ if (key.escape && !appContext.install.installingComponent?.isOSS) {
21
+ appContext.setInstall((prev) => ({
22
+ ...prev,
23
+ installingComponent: null,
24
+ enterToOpenBrowser: false,
25
+ }));
26
+ return;
27
+ }
28
+ if (key.return &&
29
+ !appContext.install.installingComponent?.isOSS &&
30
+ appContext.install.enterToOpenBrowser) {
31
+ open('https://github.com/login/device');
32
+ }
33
+ if (appContext.install.installingComponent?.isOSS)
34
+ return;
35
+ if (!key)
36
+ return;
37
+ if (key.escape) {
38
+ appContext.exit();
39
+ }
40
+ if (key.upArrow) {
41
+ selectedId > -1 && setSelectedId(selectedId - 1);
42
+ }
43
+ if (key.downArrow) {
44
+ selectedId < appContext.results.length - 1 && setSelectedId(selectedId + 1);
45
+ }
46
+ if (key.return) {
47
+ setInstall((prev) => ({
48
+ ...prev,
49
+ installingComponent: results[selectedId]?.item,
50
+ }));
51
+ }
52
+ };
53
+ export const AppContext = createContext({
54
+ tokenStore: {},
55
+ copyToClipboard: false,
56
+ setCopyToClipboard: () => { },
57
+ results: [],
58
+ setResults: () => { },
59
+ selectedId: -1,
60
+ setSelectedId: () => { },
61
+ input: '',
62
+ setInput: () => { },
63
+ setInstallcomponent: () => { },
64
+ install: null,
65
+ });
66
+ const SearchBar = () => {
67
+ const appContext = useContext(AppContext);
68
+ const search = (query) => {
69
+ const fuse = new Fuse(componentsList, {
70
+ keys: ['name', 'category', 'categorySection'],
71
+ });
72
+ return fuse.search(query);
73
+ };
74
+ const handleChange = (value) => {
75
+ if (appContext.install.installingComponent?.isOSS)
76
+ return;
77
+ appContext.setInput(value);
78
+ const results = search(value);
79
+ appContext.setResults(results);
80
+ appContext.setSelectedId(-1);
81
+ };
82
+ return (_jsxs(Box, { marginX: 1, justifyContent: "space-between", children: [_jsxs(Box, { children: [_jsx(Text, { bold: true, children: "Search: " }), _jsx(TextInput, { value: appContext.input, onChange: handleChange, marginRight: 'auto' })] }), _jsx(ResultsCounter, {})] }));
83
+ };
84
+ const ResultsContainer = () => {
85
+ const appContext = useContext(AppContext);
86
+ return (_jsxs(Box, { flexDirection: "column", display: appContext.results.length ? 'flex' : 'none', children: [_jsx(Box, { flexDirection: "column", borderStyle: "round", paddingX: 1, gap: 1, children: appContext.results.slice(0, 5).map((result, i) => (_jsx(ResultCard, { result: result, isSelected: appContext.selectedId === i }, result.item.fileName))) }), _jsx(Footer, {})] }));
87
+ };
88
+ const Footer = () => {
89
+ return (_jsx(Box, { flexDirection: "row", justifyContent: "flex-end", marginRight: 1, children: _jsxs(Text, { children: [_jsx(Text, { underline: true, children: "ESC" }), " to exit"] }) }));
90
+ };
91
+ const InstalledBadge = ({ item }) => {
92
+ const appContext = useContext(AppContext);
93
+ const componentIsInstalled = appContext.install?.installedComponents
94
+ ?.map((component) => component.fileName)
95
+ .includes(item.fileName);
96
+ if (!appContext.install?.installedComponents)
97
+ return null;
98
+ return (componentIsInstalled && (_jsx(Box, { marginLeft: 1, children: _jsx(Badge, { color: "green", children: "Installed" }) })));
99
+ };
100
+ const ResultCard = ({ result, isSelected }) => {
101
+ const appContext = useContext(AppContext);
102
+ return (_jsxs(Box, { flexDirection: "row", minWidth: '100%', children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { textWrap: "nowrap", bold: true, style: { textWrap: 'nowrap' }, color: "gray", children: (() => {
103
+ switch (true) {
104
+ case appContext.install.installingComponent && isSelected:
105
+ return '';
106
+ case appContext.install.installingComponent:
107
+ return ' ';
108
+ case isSelected:
109
+ return '❯ ';
110
+ default:
111
+ return ' ';
112
+ }
113
+ })() }), appContext.install.installingComponent && isSelected && _jsx(InstallComponent, {}), _jsx(Text, { bold: true, style: { textWrap: 'nowrap' }, color: isSelected ? 'white' : 'black', children: result.item?.name }), _jsx(InstalledBadge, { item: result.item })] }), _jsx(Spacer, {}), _jsx(TypeOfComponentAccess, { item: result.item }), _jsx(CategorySectionBadge, { item: result.item })] }));
114
+ };
115
+ const CategorySectionBadge = ({ item }) => {
116
+ const appContext = useContext(AppContext);
117
+ return (_jsx(Box, { marginLeft: 1, gap: 1, children: _jsxs(Text, { color: 'black', backgroundColor: 'white', children: [' ', item?.category.charAt(0).toUpperCase() + item?.category.slice(1), " ", '>', ' ', item?.categorySection.charAt(0).toUpperCase() +
118
+ item?.categorySection.slice(1), ' '] }) }));
119
+ };
120
+ const TypeOfComponentAccess = ({ item }) => {
121
+ const appContext = useContext(AppContext);
122
+ return (_jsx(Box, { marginLeft: 1, gap: 1, display: item?.isOSS ? 'flex' : 'none', children: _jsx(Text, { color: 'black', backgroundColor: 'gray', children: "OSS" }) }));
123
+ };
124
+ const ResultsCounter = () => {
125
+ const appContext = useContext(AppContext);
126
+ return (_jsx(Box, { children: !!appContext.results.length && (_jsxs(Text, { bold: true, color: "gray", children: [appContext.results.length, " result", appContext.results.length > 1 ? 's' : ''] })) }));
127
+ };
128
+ const InstallComponent = () => {
129
+ const appContext = useContext(AppContext);
130
+ return (_jsx(Box, { children: appContext.install.installingComponent ? (_jsx(Box, { children: _jsx(Spinner, { label: "Installing " }) })) : (_jsx(Box, { marginRight: 2 })) }));
131
+ };
132
+ const UsageBanner = () => {
133
+ return (_jsxs(Alert, { variant: "info", children: ["Search any component by category, section or name. ", _jsx(Text, { underline: true, children: "Up" }), " and", ' ', _jsx(Text, { underline: true, children: "down" }), " arrows to select. ", _jsx(Text, { underline: true, children: "Enter" }), " to install."] }));
134
+ };
135
+ const CodeAuthScreen = () => {
136
+ const appContext = useContext(AppContext);
137
+ const { data, isLoading } = useGithubAuth();
138
+ useEffect(() => {
139
+ appContext.setInstall((prev) => ({
140
+ ...prev,
141
+ enterToOpenBrowser: true,
142
+ }));
143
+ return () => {
144
+ appContext.setCopyToClipboard(false);
145
+ };
146
+ }, []);
147
+ appContext.tokenStore.onDidChange('token', (newvalue, oldvalue) => {
148
+ appContext.setInstall((prev) => ({
149
+ ...prev,
150
+ tokenIsInstalled: true,
151
+ }));
152
+ });
153
+ if (appContext.copyToClipboard)
154
+ copy(data?.user_code);
155
+ return (_jsxs(Box, { flexDirection: "column", display: "flex", children: [_jsxs(Alert, { variant: "info", children: ["Press ", _jsx(Text, { underline: true, children: "Enter" }), " to open browser window and authenticate to your Github account with the following auth code."] }), _jsxs(Box, { justifyContent: "space-between", paddingRight: 1, children: [_jsxs(Text, { children: [' < ', _jsx(Text, { underline: true, children: "ESC" }), " to go Back"] }), appContext.copyToClipboard ? (_jsx(Text, { color: "green", children: "copied!" })) : (_jsxs(Text, { children: ["Hit ", _jsx(Text, { underline: true, children: "c" }), " to copy to clipboard"] }))] }), _jsx(Box, { flexDirection: "row", borderStyle: "round", paddingY: 1, justifyContent: "center", children: appContext.install.tokenIsInstalled ? (_jsx(Box, { paddingY: 1, children: _jsx(Text, { color: "green", children: "Github Authentication Successful \u2714\uFE0E" }) })) : isLoading ? (_jsx(Box, { paddingY: 1, children: _jsx(Spinner, { label: "Loading..." }) })) : (data?.user_code?.split('')?.map((item, key) => (_jsx(Box, { flexDirection: "column", ...(item !== '-' && { borderStyle: 'round' }), paddingX: 1, gap: 1, width: item !== '-' ? 5 : 3, height: 3, alignItems: "center", justifyContent: "center", children: _jsx(Text, { width: 5, children: item }) }, key)))) })] }));
156
+ };
157
+ export default function Search() {
158
+ const [results, setResults] = useState([]);
159
+ const [selectedId, setSelectedId] = useState(-1);
160
+ const [input, setInput] = useState('');
161
+ const [install, setInstall] = useState({
162
+ installingComponent: null,
163
+ installedComponents: [],
164
+ enterToOpenBrowser: false,
165
+ tokenIsInstalled: false,
166
+ });
167
+ const [copyToClipboard, setCopyToClipboard] = useState(false);
168
+ const { exit } = useApp();
169
+ const { access_token } = tokenStore?.get('token') ?? {};
170
+ // tokenStore.delete("token");
171
+ useInput((_, key) => handleKeypress(_, key, {
172
+ tokenStore,
173
+ copyToClipboard,
174
+ setCopyToClipboard,
175
+ exit,
176
+ results,
177
+ setResults,
178
+ selectedId,
179
+ setSelectedId,
180
+ input,
181
+ setInput,
182
+ setInstall,
183
+ install,
184
+ }));
185
+ return (_jsx(AppContext.Provider, { value: {
186
+ tokenStore,
187
+ copyToClipboard,
188
+ setCopyToClipboard,
189
+ results,
190
+ setResults,
191
+ selectedId,
192
+ setSelectedId,
193
+ input,
194
+ setInput,
195
+ install,
196
+ setInstall,
197
+ }, children: _jsx(Provider, { children: _jsx(Box, { flexDirection: "column", children: (install.installingComponent?.isOSS ?? true) || access_token ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(UsageBanner, {}), _jsx(SearchBar, {}), _jsx(ResultsContainer, {})] })) : (_jsx(Box, { flexDirection: "column", children: _jsx(CodeAuthScreen, {}) })) }) }) }));
198
+ }
199
+ const Provider = ({ children }) => {
200
+ useInstallComponent();
201
+ return _jsx(_Fragment, { children: children });
202
+ };
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvY29tbWFuZHMvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxjQUFjO0FBQ2QsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ2pELE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUN6RCxPQUFPLFNBQVMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBRXJFLE1BQU0sVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7QUFFekQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO0lBQzVDLE1BQU0sRUFDSixVQUFVLEVBQ1YsYUFBYSxFQUNiLFVBQVUsRUFDVixPQUFPLEVBQ1AsZUFBZSxFQUNmLGtCQUFrQixHQUNuQixHQUFHLFVBQVUsQ0FBQTtJQUVkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxVQUFVLENB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
@@ -0,0 +1,10 @@
1
+ export type ComponentSchema = {
2
+ name: string;
3
+ category: string;
4
+ categorySection: string;
5
+ fileName: string;
6
+ isOSS: boolean;
7
+ componentPath: string;
8
+ fileNamePath: string;
9
+ };
10
+ export declare const componentsList: ComponentSchema[];