shadcn-studio-extension-cli 0.1.11 → 0.2.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/THIRD_PARTY_LICENSES.txt +1 -1
- package/dist/build-meta.json +6 -6
- package/dist/index.cjs +3 -7
- package/dist/index.cjs.map +3 -3
- package/dist/toolbar-app/.vite/manifest.json +4 -4
- package/dist/toolbar-app/{index-DZzSFjno.js → index-B0k7lxog.js} +13 -22
- package/dist/toolbar-app/{index-ChCX2CjU.js → index-BEof4Zuj.js} +13 -12
- package/dist/toolbar-app/{index-BZHOXnId.js → index-BWhYIR3j.js} +5 -4
- package/dist/toolbar-app/index-BZPb_m5H.js +15301 -0
- package/dist/toolbar-app/index-CcQR8qhj.js +2 -2
- package/dist/toolbar-app/index-CkT0X5qN.js +8918 -0
- package/dist/toolbar-app/{index-pswOz6KO.js → index-DSOLAkGe.js} +29 -24
- package/dist/toolbar-app/{index-rW3Giydl.js → index-DVhsFHfB.js} +6 -5
- package/dist/toolbar-app/{index-hjBNHl28.js → index-DfTwb8mq.js} +5 -5
- package/dist/toolbar-app/{index-BsmHzFJI.js → index-KEJk4WhW.js} +24 -9
- package/dist/toolbar-app/index-qh9EWxJX.js +8918 -0
- package/dist/toolbar-app/index.js +18 -56
- package/dist/toolbar-app/plugin-sdk.js +2 -2
- package/package.json +1 -1
- package/dist/toolbar-app/index-C5kLbmuE.js +0 -8917
- package/dist/toolbar-app/index-CK3aj61v.js +0 -8916
- package/dist/toolbar-app/index-COSu8H98.js +0 -8918
- package/dist/toolbar-app/index-CPzOXT0l.js +0 -8884
- package/dist/toolbar-app/index-CQOfGa9p.js +0 -8916
- package/dist/toolbar-app/index-CZ2quOq0.js +0 -8917
- package/dist/toolbar-app/index-CoMQvcfw.js +0 -8880
- package/dist/toolbar-app/index-CtdhG9I0.js +0 -8905
- package/dist/toolbar-app/index-DJ16UPrG.js +0 -8912
- package/dist/toolbar-app/index-DKAggkAP.js +0 -8880
- package/dist/toolbar-app/index-D_JMEWJE.js +0 -8892
- package/dist/toolbar-app/index-LNolXi86.js +0 -8901
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_index-
|
|
3
|
-
"file": "index-
|
|
2
|
+
"_index-B0k7lxog.js": {
|
|
3
|
+
"file": "index-B0k7lxog.js",
|
|
4
4
|
"name": "index"
|
|
5
5
|
},
|
|
6
6
|
"src/index.ts": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"src": "src/index.ts",
|
|
10
10
|
"isEntry": true,
|
|
11
11
|
"imports": [
|
|
12
|
-
"_index-
|
|
12
|
+
"_index-B0k7lxog.js"
|
|
13
13
|
]
|
|
14
14
|
},
|
|
15
15
|
"src/plugin-sdk/index.tsx": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"src": "src/plugin-sdk/index.tsx",
|
|
19
19
|
"isEntry": true,
|
|
20
20
|
"imports": [
|
|
21
|
-
"_index-
|
|
21
|
+
"_index-B0k7lxog.js"
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
24
|
"style.css": {
|
|
@@ -3038,7 +3038,7 @@ var baseSelectedElementSchema = external_exports.object({
|
|
|
3038
3038
|
installationCommand: external_exports.string().describe("The installation command for the theme.")
|
|
3039
3039
|
}), promptActionSchema = external_exports.enum(["copy", "send", "both"]).describe(
|
|
3040
3040
|
"Action to take when triggering the prompt: copy to clipboard only, send to IDE only, or both"
|
|
3041
|
-
),
|
|
3041
|
+
), userMessageMetadataSchema = external_exports.object({
|
|
3042
3042
|
currentUrl: external_exports.string().max(1024).url().nullable(),
|
|
3043
3043
|
currentTitle: external_exports.string().max(256).nullable(),
|
|
3044
3044
|
currentZoomLevel: external_exports.number(),
|
|
@@ -3055,8 +3055,7 @@ var baseSelectedElementSchema = external_exports.object({
|
|
|
3055
3055
|
selectedThemes: external_exports.array(selectedThemeSchema).max(20).describe("Selected themes"),
|
|
3056
3056
|
selectedDocs: external_exports.array(selectedDocSchema).max(20).describe("Selected documentation items"),
|
|
3057
3057
|
selectedBlocks: external_exports.array(selectedBlockSchema).max(20).describe("Selected code blocks"),
|
|
3058
|
-
promptAction: promptActionSchema.optional().default("send").describe("Action to take when triggering the prompt")
|
|
3059
|
-
cliVersion: CliVersionSchema.default("v3").describe("The version of the Shadcn CLI used.")
|
|
3058
|
+
promptAction: promptActionSchema.optional().default("send").describe("Action to take when triggering the prompt")
|
|
3060
3059
|
}), userMessageContentItemSchema = external_exports.discriminatedUnion("type", [
|
|
3061
3060
|
external_exports.object({
|
|
3062
3061
|
type: external_exports.literal("text"),
|
|
@@ -4864,7 +4863,7 @@ async function checkAgentOnPort(port, path = "/stagewise/info") {
|
|
|
4864
4863
|
}
|
|
4865
4864
|
async function scanForAgents(startPort = DEFAULT_STARTING_PORT) {
|
|
4866
4865
|
console.info(
|
|
4867
|
-
`[Shadcn IDE Extension] The following errors are expected ✅
|
|
4866
|
+
`[Shadcn Studio IDE Extension] The following errors are expected ✅
|
|
4868
4867
|
|
|
4869
4868
|
They happen because we're searching for available agents...`
|
|
4870
4869
|
), console.debug(
|
|
@@ -8291,7 +8290,7 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8291
8290
|
// content: truncateString(doc.code || '', 32768),
|
|
8292
8291
|
}), getLicenseDataFromStorage = () => {
|
|
8293
8292
|
try {
|
|
8294
|
-
const stored = localStorage.getItem("
|
|
8293
|
+
const stored = localStorage.getItem("shadcnstudio_license_key");
|
|
8295
8294
|
if (stored) {
|
|
8296
8295
|
const parsed = JSON.parse(stored);
|
|
8297
8296
|
return {
|
|
@@ -8303,20 +8302,20 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8303
8302
|
console.warn("Failed to get license data:", error);
|
|
8304
8303
|
}
|
|
8305
8304
|
return { email: null, licenseKey: null };
|
|
8306
|
-
}, getSelectedBlockInfo = (block
|
|
8307
|
-
const
|
|
8305
|
+
}, getSelectedBlockInfo = (block) => {
|
|
8306
|
+
const blockInstallationCmd = `npx shadcn@latest add @ss-blocks/${block.name}`;
|
|
8308
8307
|
return {
|
|
8309
8308
|
name: block.name,
|
|
8310
8309
|
description: block.description,
|
|
8311
8310
|
installationCommand: blockInstallationCmd
|
|
8312
8311
|
};
|
|
8313
|
-
}, getSelectedThemeInfo = (theme
|
|
8314
|
-
const { email, licenseKey } = getLicenseDataFromStorage(), themeInstallCommand =
|
|
8312
|
+
}, getSelectedThemeInfo = (theme) => {
|
|
8313
|
+
const { email, licenseKey } = getLicenseDataFromStorage(), themeInstallCommand = theme.type === "user" ? email && licenseKey ? `npx shadcn@latest apply "https://shadcnstudio.com/r/themes/${theme.name}.json?email=${email}&license_key=${licenseKey}"` : `npx shadcn@latest apply "https://shadcnstudio.com/r/themes/${theme.name}.json"` : `npx shadcn@latest apply "https://shadcnstudio.com/r/themes/${theme.name}.json"`;
|
|
8315
8314
|
return {
|
|
8316
8315
|
name: theme.name,
|
|
8317
8316
|
installationCommand: themeInstallCommand
|
|
8318
8317
|
};
|
|
8319
|
-
}, collectUserMessageMetadata = (selectedElements, selectedDocs = [], selectedBlocks = [], selectedThemes = [], promptAction = "both"
|
|
8318
|
+
}, collectUserMessageMetadata = (selectedElements, selectedDocs = [], selectedBlocks = [], selectedThemes = [], promptAction = "both") => {
|
|
8320
8319
|
const iframeWindow = getIFrameWindow();
|
|
8321
8320
|
return {
|
|
8322
8321
|
currentUrl: truncateString(iframeWindow == null ? void 0 : iframeWindow.location.href, 1024),
|
|
@@ -8330,7 +8329,6 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8330
8329
|
selectedBlocks,
|
|
8331
8330
|
selectedThemes,
|
|
8332
8331
|
promptAction,
|
|
8333
|
-
cliVersion,
|
|
8334
8332
|
viewportResolution: {
|
|
8335
8333
|
width: iframeWindow == null ? void 0 : iframeWindow.innerWidth,
|
|
8336
8334
|
height: iframeWindow == null ? void 0 : iframeWindow.innerHeight
|
|
@@ -8345,8 +8343,7 @@ function loadStateFromStorage() {
|
|
|
8345
8343
|
return {
|
|
8346
8344
|
minimized: parsed.minimized,
|
|
8347
8345
|
theme: parsed.theme,
|
|
8348
|
-
promptAction: parsed.promptAction
|
|
8349
|
-
cliVersion: parsed.cliVersion
|
|
8346
|
+
promptAction: parsed.promptAction
|
|
8350
8347
|
};
|
|
8351
8348
|
} catch (error) {
|
|
8352
8349
|
return console.error("Failed to load state from storage:", error), {};
|
|
@@ -8372,7 +8369,6 @@ function AppStateProvider({ children }) {
|
|
|
8372
8369
|
minimized: storedState.minimized ?? !1,
|
|
8373
8370
|
theme: storedState.theme ?? "system",
|
|
8374
8371
|
promptAction: storedState.promptAction ?? "send",
|
|
8375
|
-
cliVersion: storedState.cliVersion ?? "v3",
|
|
8376
8372
|
requestMainAppBlock: () => 0,
|
|
8377
8373
|
// These will be replaced by the actual implementations
|
|
8378
8374
|
requestMainAppUnblock: () => 0,
|
|
@@ -8391,8 +8387,6 @@ function AppStateProvider({ children }) {
|
|
|
8391
8387
|
setTheme: () => {
|
|
8392
8388
|
},
|
|
8393
8389
|
setPromptAction: () => {
|
|
8394
|
-
},
|
|
8395
|
-
setCliVersion: () => {
|
|
8396
8390
|
}
|
|
8397
8391
|
};
|
|
8398
8392
|
});
|
|
@@ -8468,8 +8462,6 @@ function AppStateProvider({ children }) {
|
|
|
8468
8462
|
setState((prev) => ({ ...prev, theme }));
|
|
8469
8463
|
}, []), setPromptAction = useCallback((promptAction) => {
|
|
8470
8464
|
setState((prev) => ({ ...prev, promptAction }));
|
|
8471
|
-
}, []), setCliVersion = useCallback((cliVersion) => {
|
|
8472
|
-
setState((prev) => ({ ...prev, cliVersion }));
|
|
8473
8465
|
}, []), value = {
|
|
8474
8466
|
requestMainAppBlock,
|
|
8475
8467
|
requestMainAppUnblock,
|
|
@@ -8485,9 +8477,7 @@ function AppStateProvider({ children }) {
|
|
|
8485
8477
|
theme: state.theme,
|
|
8486
8478
|
setTheme,
|
|
8487
8479
|
promptAction: state.promptAction,
|
|
8488
|
-
setPromptAction
|
|
8489
|
-
cliVersion: state.cliVersion,
|
|
8490
|
-
setCliVersion
|
|
8480
|
+
setPromptAction
|
|
8491
8481
|
};
|
|
8492
8482
|
return /* @__PURE__ */ jsx(AppContext.Provider, { value, children });
|
|
8493
8483
|
}
|
|
@@ -8883,9 +8873,10 @@ export {
|
|
|
8883
8873
|
ConfigProvider as C,
|
|
8884
8874
|
PanelFooter as D,
|
|
8885
8875
|
cva as E,
|
|
8886
|
-
|
|
8876
|
+
getLicenseDataFromStorage as F,
|
|
8887
8877
|
Glassy as G,
|
|
8888
8878
|
HotkeyActions as H,
|
|
8879
|
+
AppStateProvider as I,
|
|
8889
8880
|
PanelsProvider as P,
|
|
8890
8881
|
useAppState as a,
|
|
8891
8882
|
usePlugins as b,
|
|
@@ -3038,7 +3038,7 @@ var baseSelectedElementSchema = external_exports.object({
|
|
|
3038
3038
|
installationCommand: external_exports.string().describe("The installation command for the theme.")
|
|
3039
3039
|
}), promptActionSchema = external_exports.enum(["copy", "send", "both"]).describe(
|
|
3040
3040
|
"Action to take when triggering the prompt: copy to clipboard only, send to IDE only, or both"
|
|
3041
|
-
), CliVersionSchema = external_exports.enum(["v3"
|
|
3041
|
+
), CliVersionSchema = external_exports.enum(["v3"]).describe("The version of the Shadcn CLI used."), userMessageMetadataSchema = external_exports.object({
|
|
3042
3042
|
currentUrl: external_exports.string().max(1024).url().nullable(),
|
|
3043
3043
|
currentTitle: external_exports.string().max(256).nullable(),
|
|
3044
3044
|
currentZoomLevel: external_exports.number(),
|
|
@@ -4864,7 +4864,7 @@ async function checkAgentOnPort(port, path = "/stagewise/info") {
|
|
|
4864
4864
|
}
|
|
4865
4865
|
async function scanForAgents(startPort = DEFAULT_STARTING_PORT) {
|
|
4866
4866
|
console.info(
|
|
4867
|
-
`[Shadcn IDE Extension] The following errors are expected ✅
|
|
4867
|
+
`[Shadcn Studio IDE Extension] The following errors are expected ✅
|
|
4868
4868
|
|
|
4869
4869
|
They happen because we're searching for available agents...`
|
|
4870
4870
|
), console.debug(
|
|
@@ -8291,7 +8291,7 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8291
8291
|
// content: truncateString(doc.code || '', 32768),
|
|
8292
8292
|
}), getLicenseDataFromStorage = () => {
|
|
8293
8293
|
try {
|
|
8294
|
-
const stored = localStorage.getItem("
|
|
8294
|
+
const stored = localStorage.getItem("shadcnstudio_license_key");
|
|
8295
8295
|
if (stored) {
|
|
8296
8296
|
const parsed = JSON.parse(stored);
|
|
8297
8297
|
return {
|
|
@@ -8303,15 +8303,15 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8303
8303
|
console.warn("Failed to get license data:", error);
|
|
8304
8304
|
}
|
|
8305
8305
|
return { email: null, licenseKey: null };
|
|
8306
|
-
}, getSelectedBlockInfo = (block,
|
|
8307
|
-
const
|
|
8306
|
+
}, getSelectedBlockInfo = (block, _cliVersion) => {
|
|
8307
|
+
const blockInstallationCmd = `npx shadcn@latest add @ss-blocks/${block.name}`;
|
|
8308
8308
|
return {
|
|
8309
8309
|
name: block.name,
|
|
8310
8310
|
description: block.description,
|
|
8311
8311
|
installationCommand: blockInstallationCmd
|
|
8312
8312
|
};
|
|
8313
|
-
}, getSelectedThemeInfo = (theme,
|
|
8314
|
-
const
|
|
8313
|
+
}, getSelectedThemeInfo = (theme, _cliVersion) => {
|
|
8314
|
+
const themeInstallCommand = `npx shadcn@latest add @ss-themes/${theme.name}`;
|
|
8315
8315
|
return {
|
|
8316
8316
|
name: theme.name,
|
|
8317
8317
|
installationCommand: themeInstallCommand
|
|
@@ -8346,7 +8346,7 @@ function loadStateFromStorage() {
|
|
|
8346
8346
|
minimized: parsed.minimized,
|
|
8347
8347
|
theme: parsed.theme,
|
|
8348
8348
|
promptAction: parsed.promptAction,
|
|
8349
|
-
cliVersion:
|
|
8349
|
+
cliVersion: "v3"
|
|
8350
8350
|
};
|
|
8351
8351
|
} catch (error) {
|
|
8352
8352
|
return console.error("Failed to load state from storage:", error), {};
|
|
@@ -8400,9 +8400,10 @@ function AppStateProvider({ children }) {
|
|
|
8400
8400
|
saveStateToStorage({
|
|
8401
8401
|
minimized: state.minimized,
|
|
8402
8402
|
theme: state.theme,
|
|
8403
|
-
promptAction: state.promptAction
|
|
8403
|
+
promptAction: state.promptAction,
|
|
8404
|
+
cliVersion: state.cliVersion
|
|
8404
8405
|
});
|
|
8405
|
-
}, [state.minimized, state.theme, state.promptAction]), useEffect(() => {
|
|
8406
|
+
}, [state.minimized, state.theme, state.promptAction, state.cliVersion]), useEffect(() => {
|
|
8406
8407
|
const applyTheme = () => {
|
|
8407
8408
|
const toolbarElement = document.querySelector(
|
|
8408
8409
|
"#stagewise-companion-anchor"
|
|
@@ -8468,8 +8469,8 @@ function AppStateProvider({ children }) {
|
|
|
8468
8469
|
setState((prev) => ({ ...prev, theme }));
|
|
8469
8470
|
}, []), setPromptAction = useCallback((promptAction) => {
|
|
8470
8471
|
setState((prev) => ({ ...prev, promptAction }));
|
|
8471
|
-
}, []), setCliVersion = useCallback((
|
|
8472
|
-
setState((prev) => ({ ...prev, cliVersion }));
|
|
8472
|
+
}, []), setCliVersion = useCallback((_cliVersion) => {
|
|
8473
|
+
setState((prev) => ({ ...prev, cliVersion: "v3" }));
|
|
8473
8474
|
}, []), value = {
|
|
8474
8475
|
requestMainAppBlock,
|
|
8475
8476
|
requestMainAppUnblock,
|
|
@@ -8304,14 +8304,14 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8304
8304
|
}
|
|
8305
8305
|
return { email: null, licenseKey: null };
|
|
8306
8306
|
}, getSelectedBlockInfo = (block, cliVersion) => {
|
|
8307
|
-
const { email, licenseKey } = getLicenseDataFromStorage(), blockInstallationCmd =
|
|
8307
|
+
const { email, licenseKey } = getLicenseDataFromStorage(), blockInstallationCmd = `npx shadcn@latest add @ss-blocks/${block.name}`;
|
|
8308
8308
|
return {
|
|
8309
8309
|
name: block.name,
|
|
8310
8310
|
description: block.description,
|
|
8311
8311
|
installationCommand: blockInstallationCmd
|
|
8312
8312
|
};
|
|
8313
8313
|
}, getSelectedThemeInfo = (theme, cliVersion) => {
|
|
8314
|
-
const { email, licenseKey } = getLicenseDataFromStorage(), themeInstallCommand =
|
|
8314
|
+
const { email, licenseKey } = getLicenseDataFromStorage(), themeInstallCommand = `npx shadcn@latest add @ss-themes/${theme.name}`;
|
|
8315
8315
|
return {
|
|
8316
8316
|
name: theme.name,
|
|
8317
8317
|
installationCommand: themeInstallCommand
|
|
@@ -8400,9 +8400,10 @@ function AppStateProvider({ children }) {
|
|
|
8400
8400
|
saveStateToStorage({
|
|
8401
8401
|
minimized: state.minimized,
|
|
8402
8402
|
theme: state.theme,
|
|
8403
|
-
promptAction: state.promptAction
|
|
8403
|
+
promptAction: state.promptAction,
|
|
8404
|
+
cliVersion: state.cliVersion
|
|
8404
8405
|
});
|
|
8405
|
-
}, [state.minimized, state.theme, state.promptAction]), useEffect(() => {
|
|
8406
|
+
}, [state.minimized, state.theme, state.promptAction, state.cliVersion]), useEffect(() => {
|
|
8406
8407
|
const applyTheme = () => {
|
|
8407
8408
|
const toolbarElement = document.querySelector(
|
|
8408
8409
|
"#stagewise-companion-anchor"
|