bento-get 2.7.7 → 3.0.0-beta.643.1
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/app/AuthGuard.mjs +35 -45
- package/dist/app/AuthGuard.mjs.map +1 -1
- package/dist/app/AuthGuard.native.js +37 -47
- package/dist/app/AuthGuard.native.js.map +1 -1
- package/dist/app/handle-global-keypress.mjs +93 -98
- package/dist/app/handle-global-keypress.mjs.map +1 -1
- package/dist/app/handle-global-keypress.native.js +105 -110
- package/dist/app/handle-global-keypress.native.js.map +1 -1
- package/dist/cli-components/SearchBar.mjs +39 -37
- package/dist/cli-components/SearchBar.mjs.map +1 -1
- package/dist/cli-components/SearchBar.native.js +42 -41
- package/dist/cli-components/SearchBar.native.js.map +1 -1
- package/dist/cli-components/index.mjs +137 -135
- package/dist/cli-components/index.mjs.map +1 -1
- package/dist/cli-components/index.native.js +155 -153
- package/dist/cli-components/index.native.js.map +1 -1
- package/dist/cli.mjs +4 -2
- package/dist/cli.mjs.map +1 -1
- package/dist/cli.native.js +4 -2
- package/dist/cli.native.js.map +1 -1
- package/dist/commands/add.mjs +9 -6
- package/dist/commands/add.mjs.map +1 -1
- package/dist/commands/add.native.js +10 -7
- package/dist/commands/add.native.js.map +1 -1
- package/dist/commands/index.mjs +133 -135
- package/dist/commands/index.mjs.map +1 -1
- package/dist/commands/index.native.js +145 -147
- package/dist/commands/index.native.js.map +1 -1
- package/dist/components.mjs +1470 -1228
- package/dist/components.mjs.map +1 -1
- package/dist/components.native.js +1470 -1228
- package/dist/components.native.js.map +1 -1
- package/dist/constants.mjs +1 -0
- package/dist/constants.mjs.map +1 -1
- package/dist/constants.native.js +1 -0
- package/dist/constants.native.js.map +1 -1
- package/dist/data/AppContext.mjs +43 -43
- package/dist/data/AppContext.mjs.map +1 -1
- package/dist/data/AppContext.native.js +44 -44
- package/dist/data/AppContext.native.js.map +1 -1
- package/dist/hooks/useFetchComponent.mjs +64 -76
- package/dist/hooks/useFetchComponent.mjs.map +1 -1
- package/dist/hooks/useFetchComponent.native.js +88 -102
- package/dist/hooks/useFetchComponent.native.js.map +1 -1
- package/dist/hooks/useInstallComponent.mjs +130 -138
- package/dist/hooks/useInstallComponent.mjs.map +1 -1
- package/dist/hooks/useInstallComponent.native.js +186 -198
- package/dist/hooks/useInstallComponent.native.js.map +1 -1
- package/dist/install-direct.mjs +110 -120
- package/dist/install-direct.mjs.map +1 -1
- package/dist/install-direct.native.js +179 -195
- package/dist/install-direct.native.js.map +1 -1
- package/dist/screens/CodeAuthScreen.mjs +114 -106
- package/dist/screens/CodeAuthScreen.mjs.map +1 -1
- package/dist/screens/CodeAuthScreen.native.js +116 -108
- package/dist/screens/CodeAuthScreen.native.js.map +1 -1
- package/dist/screens/InstallConfirmScreen.mjs +91 -83
- package/dist/screens/InstallConfirmScreen.mjs.map +1 -1
- package/dist/screens/InstallConfirmScreen.native.js +99 -91
- package/dist/screens/InstallConfirmScreen.native.js.map +1 -1
- package/dist/screens/SearchScreen.mjs +9 -5
- package/dist/screens/SearchScreen.mjs.map +1 -1
- package/dist/screens/SearchScreen.native.js +11 -7
- package/dist/screens/SearchScreen.native.js.map +1 -1
- package/package.json +6 -21
|
@@ -1,155 +1,157 @@
|
|
|
1
1
|
import { Alert, Badge, Spinner } from "@inkjs/ui";
|
|
2
2
|
import { Box, Spacer, Text } from "ink";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { AppContext } from "../data/AppContext.
|
|
4
|
+
import { AppContext } from "../data/AppContext.mjs";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
|
|
6
7
|
const ResultsContainer = () => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
const appContext = React.useContext(AppContext);
|
|
9
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
10
|
+
flexDirection: "column",
|
|
11
|
+
display: appContext.searchResults.length ? "flex" : "none",
|
|
12
|
+
children: [/* @__PURE__ */ jsx(Box, {
|
|
13
|
+
flexDirection: "column",
|
|
14
|
+
borderStyle: "round",
|
|
15
|
+
paddingX: 1,
|
|
16
|
+
gap: 1,
|
|
17
|
+
children: appContext.searchResults.slice(0, 5).map((result, i) => /* @__PURE__ */ jsx(ResultCard, {
|
|
18
|
+
result,
|
|
19
|
+
isSelected: appContext.selectedResultIndex === i
|
|
20
|
+
}, result.item.fileName))
|
|
21
|
+
}), /* @__PURE__ */ jsx(Footer, {})]
|
|
22
|
+
});
|
|
22
23
|
};
|
|
23
24
|
const Footer = () => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
})
|
|
34
|
-
});
|
|
25
|
+
return /* @__PURE__ */ jsx(Box, {
|
|
26
|
+
flexDirection: "row",
|
|
27
|
+
justifyContent: "flex-end",
|
|
28
|
+
marginRight: 1,
|
|
29
|
+
children: /* @__PURE__ */ jsxs(Text, { children: [/* @__PURE__ */ jsx(Text, {
|
|
30
|
+
underline: true,
|
|
31
|
+
children: "ESC"
|
|
32
|
+
}), " to exit"] })
|
|
33
|
+
});
|
|
35
34
|
};
|
|
36
|
-
const InstalledBadge = ({
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
})
|
|
48
|
-
});
|
|
35
|
+
const InstalledBadge = ({ item }) => {
|
|
36
|
+
const appContext = React.useContext(AppContext);
|
|
37
|
+
const isComponentInstalled = appContext.installState?.installedComponents?.map((component) => component.fileName).includes(item.fileName);
|
|
38
|
+
if (!appContext.installState?.installedComponents) return null;
|
|
39
|
+
return isComponentInstalled && /* @__PURE__ */ jsx(Box, {
|
|
40
|
+
marginLeft: 1,
|
|
41
|
+
children: /* @__PURE__ */ jsx(Badge, {
|
|
42
|
+
color: "green",
|
|
43
|
+
children: "Installed"
|
|
44
|
+
})
|
|
45
|
+
});
|
|
49
46
|
};
|
|
50
|
-
const ResultCard = ({
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
item: result.item
|
|
86
|
-
})]
|
|
87
|
-
});
|
|
47
|
+
const ResultCard = ({ result, isSelected }) => {
|
|
48
|
+
const appContext = React.useContext(AppContext);
|
|
49
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
50
|
+
flexDirection: "row",
|
|
51
|
+
minWidth: "100%",
|
|
52
|
+
children: [
|
|
53
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
54
|
+
flexDirection: "row",
|
|
55
|
+
children: [
|
|
56
|
+
/* @__PURE__ */ jsx(Text, {
|
|
57
|
+
bold: true,
|
|
58
|
+
color: "gray",
|
|
59
|
+
children: (() => {
|
|
60
|
+
switch (true) {
|
|
61
|
+
case appContext.installState.installingComponent && isSelected: return "";
|
|
62
|
+
case Boolean(appContext.installState.installingComponent): return " ";
|
|
63
|
+
case isSelected: return "❯ ";
|
|
64
|
+
default: return " ";
|
|
65
|
+
}
|
|
66
|
+
})()
|
|
67
|
+
}),
|
|
68
|
+
appContext.installState.installingComponent && isSelected && /* @__PURE__ */ jsx(InstallingSpinnerLabel, {}),
|
|
69
|
+
/* @__PURE__ */ jsx(Text, {
|
|
70
|
+
bold: true,
|
|
71
|
+
color: isSelected ? "white" : "black",
|
|
72
|
+
children: result.item?.name
|
|
73
|
+
}),
|
|
74
|
+
/* @__PURE__ */ jsx(InstalledBadge, { item: result.item })
|
|
75
|
+
]
|
|
76
|
+
}),
|
|
77
|
+
/* @__PURE__ */ jsx(Spacer, {}),
|
|
78
|
+
/* @__PURE__ */ jsx(ComponentAccessType, { item: result.item }),
|
|
79
|
+
/* @__PURE__ */ jsx(CategorySectionBadge, { item: result.item })
|
|
80
|
+
]
|
|
81
|
+
});
|
|
88
82
|
};
|
|
89
|
-
const CategorySectionBadge = ({
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
83
|
+
const CategorySectionBadge = ({ item }) => {
|
|
84
|
+
const capitalizeFirstLetter = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
|
85
|
+
return /* @__PURE__ */ jsx(Box, {
|
|
86
|
+
marginLeft: 1,
|
|
87
|
+
gap: 1,
|
|
88
|
+
children: /* @__PURE__ */ jsxs(Text, {
|
|
89
|
+
color: "black",
|
|
90
|
+
backgroundColor: "white",
|
|
91
|
+
children: [
|
|
92
|
+
" ",
|
|
93
|
+
capitalizeFirstLetter(item?.category),
|
|
94
|
+
" ",
|
|
95
|
+
">",
|
|
96
|
+
" ",
|
|
97
|
+
capitalizeFirstLetter(item?.categorySection),
|
|
98
|
+
" "
|
|
99
|
+
]
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
102
|
};
|
|
103
|
-
const ComponentAccessType = ({
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
})
|
|
114
|
-
});
|
|
103
|
+
const ComponentAccessType = ({ item }) => {
|
|
104
|
+
return /* @__PURE__ */ jsx(Box, {
|
|
105
|
+
marginLeft: 1,
|
|
106
|
+
gap: 1,
|
|
107
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
108
|
+
color: "black",
|
|
109
|
+
backgroundColor: item?.isOSS ? "green" : "blue",
|
|
110
|
+
children: item?.isOSS ? "FREE" : "PRO"
|
|
111
|
+
})
|
|
112
|
+
});
|
|
115
113
|
};
|
|
116
114
|
const ResultsCounter = () => {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
115
|
+
const appContext = React.useContext(AppContext);
|
|
116
|
+
const resultCount = appContext.searchResults.length;
|
|
117
|
+
return /* @__PURE__ */ jsx(Box, { children: !!resultCount && /* @__PURE__ */ jsxs(Text, {
|
|
118
|
+
bold: true,
|
|
119
|
+
color: "gray",
|
|
120
|
+
children: [
|
|
121
|
+
resultCount,
|
|
122
|
+
" result",
|
|
123
|
+
resultCount > 1 ? "s" : ""
|
|
124
|
+
]
|
|
125
|
+
}) });
|
|
126
126
|
};
|
|
127
127
|
const InstallingSpinnerLabel = () => {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
children: appContext.installState.installingComponent ? /* @__PURE__ */jsx(Box, {
|
|
131
|
-
children: /* @__PURE__ */jsx(Spinner, {
|
|
132
|
-
label: "Installing "
|
|
133
|
-
})
|
|
134
|
-
}) : /* @__PURE__ */jsx(Box, {
|
|
135
|
-
marginRight: 2
|
|
136
|
-
})
|
|
137
|
-
});
|
|
128
|
+
const appContext = React.useContext(AppContext);
|
|
129
|
+
return /* @__PURE__ */ jsx(Box, { children: appContext.installState.installingComponent ? /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Spinner, { label: "Installing " }) }) : /* @__PURE__ */ jsx(Box, { marginRight: 2 }) });
|
|
138
130
|
};
|
|
139
131
|
const UsageBanner = () => {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
132
|
+
return /* @__PURE__ */ jsxs(Alert, {
|
|
133
|
+
variant: "info",
|
|
134
|
+
children: [
|
|
135
|
+
"Search any component by category, section or name. ",
|
|
136
|
+
/* @__PURE__ */ jsx(Text, {
|
|
137
|
+
underline: true,
|
|
138
|
+
children: "Up"
|
|
139
|
+
}),
|
|
140
|
+
" and",
|
|
141
|
+
" ",
|
|
142
|
+
/* @__PURE__ */ jsx(Text, {
|
|
143
|
+
underline: true,
|
|
144
|
+
children: "down"
|
|
145
|
+
}),
|
|
146
|
+
" arrows to select. ",
|
|
147
|
+
/* @__PURE__ */ jsx(Text, {
|
|
148
|
+
underline: true,
|
|
149
|
+
children: "Enter"
|
|
150
|
+
}),
|
|
151
|
+
" to install."
|
|
152
|
+
]
|
|
153
|
+
});
|
|
153
154
|
};
|
|
155
|
+
|
|
154
156
|
export { CategorySectionBadge, ComponentAccessType, Footer, InstalledBadge, InstallingSpinnerLabel, ResultCard, ResultsContainer, ResultsCounter, UsageBanner };
|
|
155
157
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["cli-components/index.js"],"sourcesContent":["import { Alert, Badge, Spinner } from \"@inkjs/ui\";\nimport { Box, Spacer, Text } from \"ink\";\nimport React from \"react\";\nimport { AppContext } from \"../data/AppContext.js\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst ResultsContainer = () => {\n const appContext = React.useContext(AppContext);\n return /* @__PURE__ */ jsxs(\n Box,\n {\n flexDirection: \"column\",\n display: appContext.searchResults.length ? \"flex\" : \"none\",\n children: [\n /* @__PURE__ */ jsx(Box, { flexDirection: \"column\", borderStyle: \"round\", paddingX: 1, gap: 1, children: appContext.searchResults.slice(0, 5).map((result, i) => /* @__PURE__ */ jsx(\n ResultCard,\n {\n result,\n isSelected: appContext.selectedResultIndex === i\n },\n result.item.fileName\n )) }),\n /* @__PURE__ */ jsx(Footer, {})\n ]\n }\n );\n};\nconst Footer = () => {\n return /* @__PURE__ */ jsx(Box, { flexDirection: \"row\", justifyContent: \"flex-end\", marginRight: 1, children: /* @__PURE__ */ jsxs(Text, { children: [\n /* @__PURE__ */ jsx(Text, { underline: true, children: \"ESC\" }),\n \" to exit\"\n ] }) });\n};\nconst InstalledBadge = ({ item }) => {\n const appContext = React.useContext(AppContext);\n const isComponentInstalled = appContext.installState?.installedComponents?.map((component) => component.fileName).includes(item.fileName);\n if (!appContext.installState?.installedComponents) return null;\n return isComponentInstalled && /* @__PURE__ */ jsx(Box, { marginLeft: 1, children: /* @__PURE__ */ jsx(Badge, { color: \"green\", children: \"Installed\" }) });\n};\nconst ResultCard = ({\n result,\n isSelected\n}) => {\n const appContext = React.useContext(AppContext);\n return /* @__PURE__ */ jsxs(Box, { flexDirection: \"row\", minWidth: \"100%\", children: [\n /* @__PURE__ */ jsxs(Box, { flexDirection: \"row\", children: [\n /* @__PURE__ */ jsx(Text, { bold: true, color: \"gray\", children: (() => {\n switch (true) {\n case (appContext.installState.installingComponent && isSelected):\n return \"\";\n case Boolean(appContext.installState.installingComponent):\n return \" \";\n case isSelected:\n return \"\\u276F \";\n default:\n return \" \";\n }\n })() }),\n appContext.installState.installingComponent && isSelected && /* @__PURE__ */ jsx(InstallingSpinnerLabel, {}),\n /* @__PURE__ */ jsx(Text, { bold: true, color: isSelected ? \"white\" : \"black\", children: result.item?.name }),\n /* @__PURE__ */ jsx(InstalledBadge, { item: result.item })\n ] }),\n /* @__PURE__ */ jsx(Spacer, {}),\n /* @__PURE__ */ jsx(ComponentAccessType, { item: result.item }),\n /* @__PURE__ */ jsx(CategorySectionBadge, { item: result.item })\n ] });\n};\nconst CategorySectionBadge = ({ item }) => {\n const capitalizeFirstLetter = (str) => str.charAt(0).toUpperCase() + str.slice(1);\n return /* @__PURE__ */ jsx(Box, { marginLeft: 1, gap: 1, children: /* @__PURE__ */ jsxs(Text, { color: \"black\", backgroundColor: \"white\", children: [\n \" \",\n capitalizeFirstLetter(item?.category),\n \" \",\n \">\",\n \" \",\n capitalizeFirstLetter(item?.categorySection),\n \" \"\n ] }) });\n};\nconst ComponentAccessType = ({ item }) => {\n return /* @__PURE__ */ jsx(Box, { marginLeft: 1, gap: 1, children: /* @__PURE__ */ jsx(Text, { color: \"black\", backgroundColor: item?.isOSS ? \"green\" : \"blue\", children: item?.isOSS ? \"FREE\" : \"PRO\" }) });\n};\nconst ResultsCounter = () => {\n const appContext = React.useContext(AppContext);\n const resultCount = appContext.searchResults.length;\n return /* @__PURE__ */ jsx(Box, { children: !!resultCount && /* @__PURE__ */ jsxs(Text, { bold: true, color: \"gray\", children: [\n resultCount,\n \" result\",\n resultCount > 1 ? \"s\" : \"\"\n ] }) });\n};\nconst InstallingSpinnerLabel = () => {\n const appContext = React.useContext(AppContext);\n return /* @__PURE__ */ jsx(Box, { children: appContext.installState.installingComponent ? /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Spinner, { label: \"Installing \" }) }) : /* @__PURE__ */ jsx(Box, { marginRight: 2 }) });\n};\nconst UsageBanner = () => {\n return /* @__PURE__ */ jsxs(Alert, { variant: \"info\", children: [\n \"Search any component by category, section or name. \",\n /* @__PURE__ */ jsx(Text, { underline: true, children: \"Up\" }),\n \" and\",\n \" \",\n /* @__PURE__ */ jsx(Text, { underline: true, children: \"down\" }),\n \" arrows to select. \",\n /* @__PURE__ */ jsx(Text, { underline: true, children: \"Enter\" }),\n \" to install.\"\n ] });\n};\nexport {\n CategorySectionBadge,\n ComponentAccessType,\n Footer,\n InstalledBadge,\n InstallingSpinnerLabel,\n ResultCard,\n ResultsContainer,\n ResultsCounter,\n UsageBanner\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}
|