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