shadcn-studio-extension-cli 0.1.10 → 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-B0k7lxog.js +8907 -0
- package/dist/toolbar-app/{index-DZzSFjno.js → index-BEof4Zuj.js} +15 -13
- 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-ChCX2CjU.js → index-DfTwb8mq.js} +10 -9
- 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 +90 -77
- 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
|
@@ -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(
|
|
@@ -5057,7 +5056,7 @@ function AgentProvider({ children }) {
|
|
|
5057
5056
|
), scanAgents()) : (console.debug(
|
|
5058
5057
|
`[AgentProvider] Starting retry attempts for port ${port}...`
|
|
5059
5058
|
), startRetryConnection(port), console.info(
|
|
5060
|
-
"[
|
|
5059
|
+
"[Shadcn/studio IDE Extension] Searching for available agents after connection loss..."
|
|
5061
5060
|
), scanAgents());
|
|
5062
5061
|
},
|
|
5063
5062
|
() => {
|
|
@@ -8289,7 +8288,21 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8289
8288
|
category: doc.category
|
|
8290
8289
|
// Note: content could be added here if we fetch it separately
|
|
8291
8290
|
// content: truncateString(doc.code || '', 32768),
|
|
8292
|
-
}),
|
|
8291
|
+
}), getLicenseDataFromStorage = () => {
|
|
8292
|
+
try {
|
|
8293
|
+
const stored = localStorage.getItem("shadcnstudio_license_key");
|
|
8294
|
+
if (stored) {
|
|
8295
|
+
const parsed = JSON.parse(stored);
|
|
8296
|
+
return {
|
|
8297
|
+
email: parsed.email || null,
|
|
8298
|
+
licenseKey: parsed.licenseKey || null
|
|
8299
|
+
};
|
|
8300
|
+
}
|
|
8301
|
+
} catch (error) {
|
|
8302
|
+
console.warn("Failed to get license data:", error);
|
|
8303
|
+
}
|
|
8304
|
+
return { email: null, licenseKey: null };
|
|
8305
|
+
}, getSelectedBlockInfo = (block) => {
|
|
8293
8306
|
const blockInstallationCmd = `npx shadcn@latest add @ss-blocks/${block.name}`;
|
|
8294
8307
|
return {
|
|
8295
8308
|
name: block.name,
|
|
@@ -8297,12 +8310,12 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8297
8310
|
installationCommand: blockInstallationCmd
|
|
8298
8311
|
};
|
|
8299
8312
|
}, getSelectedThemeInfo = (theme) => {
|
|
8300
|
-
const themeInstallCommand = `npx shadcn@latest
|
|
8313
|
+
const themeInstallCommand = `npx shadcn@latest apply "https://shadcnstudio.com/r/themes/${theme.name}.json"`;
|
|
8301
8314
|
return {
|
|
8302
8315
|
name: theme.name,
|
|
8303
8316
|
installationCommand: themeInstallCommand
|
|
8304
8317
|
};
|
|
8305
|
-
}, collectUserMessageMetadata = (selectedElements, selectedDocs = [], selectedBlocks = [], selectedThemes = [], promptAction = "both"
|
|
8318
|
+
}, collectUserMessageMetadata = (selectedElements, selectedDocs = [], selectedBlocks = [], selectedThemes = [], promptAction = "both") => {
|
|
8306
8319
|
const iframeWindow = getIFrameWindow();
|
|
8307
8320
|
return {
|
|
8308
8321
|
currentUrl: truncateString(iframeWindow == null ? void 0 : iframeWindow.location.href, 1024),
|
|
@@ -8316,7 +8329,6 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8316
8329
|
selectedBlocks,
|
|
8317
8330
|
selectedThemes,
|
|
8318
8331
|
promptAction,
|
|
8319
|
-
cliVersion,
|
|
8320
8332
|
viewportResolution: {
|
|
8321
8333
|
width: iframeWindow == null ? void 0 : iframeWindow.innerWidth,
|
|
8322
8334
|
height: iframeWindow == null ? void 0 : iframeWindow.innerHeight
|
|
@@ -8331,8 +8343,7 @@ function loadStateFromStorage() {
|
|
|
8331
8343
|
return {
|
|
8332
8344
|
minimized: parsed.minimized,
|
|
8333
8345
|
theme: parsed.theme,
|
|
8334
|
-
promptAction: parsed.promptAction
|
|
8335
|
-
cliVersion: parsed.cliVersion
|
|
8346
|
+
promptAction: parsed.promptAction
|
|
8336
8347
|
};
|
|
8337
8348
|
} catch (error) {
|
|
8338
8349
|
return console.error("Failed to load state from storage:", error), {};
|
|
@@ -8358,7 +8369,6 @@ function AppStateProvider({ children }) {
|
|
|
8358
8369
|
minimized: storedState.minimized ?? !1,
|
|
8359
8370
|
theme: storedState.theme ?? "system",
|
|
8360
8371
|
promptAction: storedState.promptAction ?? "send",
|
|
8361
|
-
cliVersion: storedState.cliVersion ?? "v3",
|
|
8362
8372
|
requestMainAppBlock: () => 0,
|
|
8363
8373
|
// These will be replaced by the actual implementations
|
|
8364
8374
|
requestMainAppUnblock: () => 0,
|
|
@@ -8377,8 +8387,6 @@ function AppStateProvider({ children }) {
|
|
|
8377
8387
|
setTheme: () => {
|
|
8378
8388
|
},
|
|
8379
8389
|
setPromptAction: () => {
|
|
8380
|
-
},
|
|
8381
|
-
setCliVersion: () => {
|
|
8382
8390
|
}
|
|
8383
8391
|
};
|
|
8384
8392
|
});
|
|
@@ -8454,8 +8462,6 @@ function AppStateProvider({ children }) {
|
|
|
8454
8462
|
setState((prev) => ({ ...prev, theme }));
|
|
8455
8463
|
}, []), setPromptAction = useCallback((promptAction) => {
|
|
8456
8464
|
setState((prev) => ({ ...prev, promptAction }));
|
|
8457
|
-
}, []), setCliVersion = useCallback((cliVersion) => {
|
|
8458
|
-
setState((prev) => ({ ...prev, cliVersion }));
|
|
8459
8465
|
}, []), value = {
|
|
8460
8466
|
requestMainAppBlock,
|
|
8461
8467
|
requestMainAppUnblock,
|
|
@@ -8471,9 +8477,7 @@ function AppStateProvider({ children }) {
|
|
|
8471
8477
|
theme: state.theme,
|
|
8472
8478
|
setTheme,
|
|
8473
8479
|
promptAction: state.promptAction,
|
|
8474
|
-
setPromptAction
|
|
8475
|
-
cliVersion: state.cliVersion,
|
|
8476
|
-
setCliVersion
|
|
8480
|
+
setPromptAction
|
|
8477
8481
|
};
|
|
8478
8482
|
return /* @__PURE__ */ jsx(AppContext.Provider, { value, children });
|
|
8479
8483
|
}
|
|
@@ -8821,11 +8825,11 @@ function Button({
|
|
|
8821
8825
|
size === "sm" && "h-8",
|
|
8822
8826
|
size === "md" && "h-12",
|
|
8823
8827
|
size === "lg" && "h-16",
|
|
8824
|
-
variant === "primary" && "bg-
|
|
8828
|
+
variant === "primary" && "bg-zinc-900 dark:bg-zinc-100 dark:text-zinc-900",
|
|
8825
8829
|
variant === "secondary" && "bg-black/5 text-zinc-950/70",
|
|
8826
|
-
variant === "outline" && "border border-zinc-
|
|
8827
|
-
variant === "ghost" && "bg-transparent text-
|
|
8828
|
-
glassy && "origin-center rounded-xl border border-black/10 ring-1 ring-white/20 transition-all duration-150 ease-out after:absolute after:inset-0 after:size-full after:content-normal after:rounded-[inherit] after:bg-gradient-to-b after:from-white/5 after:to-white/0 after:transition-colors after:duration-150 after:ease-out hover:border-black/5 hover:shadow-xs hover:after:from-
|
|
8830
|
+
variant === "outline" && "border border-zinc-300 bg-white text-zinc-700 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-300",
|
|
8831
|
+
variant === "ghost" && "bg-transparent text-zinc-700 dark:text-zinc-300",
|
|
8832
|
+
glassy && "origin-center rounded-xl border border-black/10 ring-1 ring-white/20 transition-all duration-150 ease-out after:absolute after:inset-0 after:size-full after:content-normal after:rounded-[inherit] after:bg-gradient-to-b after:from-white/5 after:to-white/0 after:transition-colors after:duration-150 after:ease-out hover:border-black/5 hover:shadow-xs hover:after:from-zinc-50/20 hover:after:to-zinc-50/15 active:scale-[98%] active:border-black/15 active:shadow-inset active:after:from-transparent active:after:to-transparent disabled:pointer-events-none disabled:bg-black/5 disabled:text-foreground/60 disabled:opacity-30",
|
|
8829
8833
|
className
|
|
8830
8834
|
),
|
|
8831
8835
|
type: "submit",
|
|
@@ -8869,9 +8873,10 @@ export {
|
|
|
8869
8873
|
ConfigProvider as C,
|
|
8870
8874
|
PanelFooter as D,
|
|
8871
8875
|
cva as E,
|
|
8872
|
-
|
|
8876
|
+
getLicenseDataFromStorage as F,
|
|
8873
8877
|
Glassy as G,
|
|
8874
8878
|
HotkeyActions as H,
|
|
8879
|
+
AppStateProvider as I,
|
|
8875
8880
|
PanelsProvider as P,
|
|
8876
8881
|
useAppState as a,
|
|
8877
8882
|
usePlugins as b,
|
|
@@ -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(
|
|
@@ -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"
|
|
@@ -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
|
|
@@ -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"
|
|
@@ -4863,7 +4863,7 @@ async function checkAgentOnPort(port, path = "/stagewise/info") {
|
|
|
4863
4863
|
}
|
|
4864
4864
|
async function scanForAgents(startPort = DEFAULT_STARTING_PORT) {
|
|
4865
4865
|
console.info(
|
|
4866
|
-
`[Shadcn IDE Extension] The following errors are expected ✅
|
|
4866
|
+
`[Shadcn Studio IDE Extension] The following errors are expected ✅
|
|
4867
4867
|
|
|
4868
4868
|
They happen because we're searching for available agents...`
|
|
4869
4869
|
), console.debug(
|
|
@@ -5056,7 +5056,7 @@ function AgentProvider({ children }) {
|
|
|
5056
5056
|
), scanAgents()) : (console.debug(
|
|
5057
5057
|
`[AgentProvider] Starting retry attempts for port ${port}...`
|
|
5058
5058
|
), startRetryConnection(port), console.info(
|
|
5059
|
-
"[
|
|
5059
|
+
"[Shadcn/studio IDE Extension] Searching for available agents after connection loss..."
|
|
5060
5060
|
), scanAgents());
|
|
5061
5061
|
},
|
|
5062
5062
|
() => {
|
|
@@ -8288,7 +8288,21 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8288
8288
|
category: doc.category
|
|
8289
8289
|
// Note: content could be added here if we fetch it separately
|
|
8290
8290
|
// content: truncateString(doc.code || '', 32768),
|
|
8291
|
-
}),
|
|
8291
|
+
}), getLicenseDataFromStorage = () => {
|
|
8292
|
+
try {
|
|
8293
|
+
const stored = localStorage.getItem("shadcnstudio_license_key");
|
|
8294
|
+
if (stored) {
|
|
8295
|
+
const parsed = JSON.parse(stored);
|
|
8296
|
+
return {
|
|
8297
|
+
email: parsed.email || null,
|
|
8298
|
+
licenseKey: parsed.licenseKey || null
|
|
8299
|
+
};
|
|
8300
|
+
}
|
|
8301
|
+
} catch (error) {
|
|
8302
|
+
console.warn("Failed to get license data:", error);
|
|
8303
|
+
}
|
|
8304
|
+
return { email: null, licenseKey: null };
|
|
8305
|
+
}, getSelectedBlockInfo = (block) => {
|
|
8292
8306
|
const blockInstallationCmd = `npx shadcn@latest add @ss-blocks/${block.name}`;
|
|
8293
8307
|
return {
|
|
8294
8308
|
name: block.name,
|
|
@@ -8296,7 +8310,7 @@ const generateId = (length = 16) => Math.random().toString(36).substring(2, leng
|
|
|
8296
8310
|
installationCommand: blockInstallationCmd
|
|
8297
8311
|
};
|
|
8298
8312
|
}, getSelectedThemeInfo = (theme) => {
|
|
8299
|
-
const themeInstallCommand = `npx shadcn@latest add
|
|
8313
|
+
const themeInstallCommand = `npx shadcn@latest add @ss-themes/${theme.name}`;
|
|
8300
8314
|
return {
|
|
8301
8315
|
name: theme.name,
|
|
8302
8316
|
installationCommand: themeInstallCommand
|
|
@@ -8811,11 +8825,11 @@ function Button({
|
|
|
8811
8825
|
size === "sm" && "h-8",
|
|
8812
8826
|
size === "md" && "h-12",
|
|
8813
8827
|
size === "lg" && "h-16",
|
|
8814
|
-
variant === "primary" && "bg-
|
|
8828
|
+
variant === "primary" && "bg-zinc-900 dark:bg-zinc-100 dark:text-zinc-900",
|
|
8815
8829
|
variant === "secondary" && "bg-black/5 text-zinc-950/70",
|
|
8816
|
-
variant === "outline" && "border border-zinc-
|
|
8817
|
-
variant === "ghost" && "bg-transparent text-
|
|
8818
|
-
glassy && "origin-center rounded-xl border border-black/10 ring-1 ring-white/20 transition-all duration-150 ease-out after:absolute after:inset-0 after:size-full after:content-normal after:rounded-[inherit] after:bg-gradient-to-b after:from-white/5 after:to-white/0 after:transition-colors after:duration-150 after:ease-out hover:border-black/5 hover:shadow-xs hover:after:from-
|
|
8830
|
+
variant === "outline" && "border border-zinc-300 bg-white text-zinc-700 dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-300",
|
|
8831
|
+
variant === "ghost" && "bg-transparent text-zinc-700 dark:text-zinc-300",
|
|
8832
|
+
glassy && "origin-center rounded-xl border border-black/10 ring-1 ring-white/20 transition-all duration-150 ease-out after:absolute after:inset-0 after:size-full after:content-normal after:rounded-[inherit] after:bg-gradient-to-b after:from-white/5 after:to-white/0 after:transition-colors after:duration-150 after:ease-out hover:border-black/5 hover:shadow-xs hover:after:from-zinc-50/20 hover:after:to-zinc-50/15 active:scale-[98%] active:border-black/15 active:shadow-inset active:after:from-transparent active:after:to-transparent disabled:pointer-events-none disabled:bg-black/5 disabled:text-foreground/60 disabled:opacity-30",
|
|
8819
8833
|
className
|
|
8820
8834
|
),
|
|
8821
8835
|
type: "submit",
|
|
@@ -8859,9 +8873,10 @@ export {
|
|
|
8859
8873
|
ConfigProvider as C,
|
|
8860
8874
|
PanelFooter as D,
|
|
8861
8875
|
cva as E,
|
|
8862
|
-
|
|
8876
|
+
getLicenseDataFromStorage as F,
|
|
8863
8877
|
Glassy as G,
|
|
8864
8878
|
HotkeyActions as H,
|
|
8879
|
+
AppStateProvider as I,
|
|
8865
8880
|
PanelsProvider as P,
|
|
8866
8881
|
useAppState as a,
|
|
8867
8882
|
usePlugins as b,
|