@silicajs/theme-amethyst 0.1.1 → 0.2.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/index.d.ts +2 -2
- package/dist/index.js +7 -14
- package/dist/index.js.map +1 -1
- package/dist/sidebar.d.ts +3 -5
- package/dist/sidebar.js +2 -2
- package/dist/sidebar.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ import { Mermaid } from './mermaid.js';
|
|
|
7
7
|
import 'react';
|
|
8
8
|
|
|
9
9
|
declare function RootLayout({ config, children, Provider, }: ThemeRootLayoutProps): react_jsx_runtime.JSX.Element;
|
|
10
|
-
declare function SiteLayout({
|
|
11
|
-
declare function PageRenderer({ page,
|
|
10
|
+
declare function SiteLayout({ navigationEndpoint, config, children, }: ThemeSiteLayoutProps): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function PageRenderer({ page, breadcrumbs, backlinks }: ThemePageProps): react_jsx_runtime.JSX.Element;
|
|
12
12
|
declare const components: {
|
|
13
13
|
"silica-callout": typeof Callout;
|
|
14
14
|
"silica-code-block": typeof CodeBlock;
|
package/dist/index.js
CHANGED
|
@@ -49,12 +49,12 @@ function RootLayout({
|
|
|
49
49
|
] });
|
|
50
50
|
}
|
|
51
51
|
function SiteLayout({
|
|
52
|
-
|
|
52
|
+
navigationEndpoint,
|
|
53
53
|
config,
|
|
54
54
|
children
|
|
55
55
|
}) {
|
|
56
56
|
return /* @__PURE__ */ jsxs(SidebarProvider, { children: [
|
|
57
|
-
/* @__PURE__ */ jsx(Sidebar, {
|
|
57
|
+
/* @__PURE__ */ jsx(Sidebar, { navigationEndpoint, config }),
|
|
58
58
|
/* @__PURE__ */ jsxs(SidebarInset, { children: [
|
|
59
59
|
/* @__PURE__ */ jsxs("header", { className: "sticky top-0 z-10 flex h-12 shrink-0 items-center gap-2 border-b border-border bg-background px-3 md:hidden", children: [
|
|
60
60
|
/* @__PURE__ */ jsx(SidebarTrigger, {}),
|
|
@@ -71,23 +71,16 @@ function SiteLayout({
|
|
|
71
71
|
] })
|
|
72
72
|
] });
|
|
73
73
|
}
|
|
74
|
-
function PageRenderer({ page,
|
|
75
|
-
const
|
|
74
|
+
function PageRenderer({ page, breadcrumbs, backlinks }) {
|
|
75
|
+
const hasBreadcrumbs = breadcrumbs.length > 0;
|
|
76
76
|
return /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-6xl px-8 py-12 lg:grid lg:grid-cols-[minmax(0,1fr)_14rem] lg:gap-12", children: [
|
|
77
77
|
/* @__PURE__ */ jsxs("article", { className: "min-w-0", children: [
|
|
78
78
|
/* @__PURE__ */ jsxs("header", { className: "mb-10 flex flex-col gap-3", children: [
|
|
79
|
-
|
|
80
|
-
Breadcrumbs,
|
|
81
|
-
{
|
|
82
|
-
slug: page.slug,
|
|
83
|
-
allSlugs: manifest.allSlugs,
|
|
84
|
-
className: "text-xs"
|
|
85
|
-
}
|
|
86
|
-
) : null,
|
|
79
|
+
hasBreadcrumbs ? /* @__PURE__ */ jsx(Breadcrumbs, { items: breadcrumbs, className: "text-xs" }) : null,
|
|
87
80
|
/* @__PURE__ */ jsx("h1", { className: "text-4xl font-bold tracking-tight text-foreground", children: page.title }),
|
|
88
81
|
page.description ? /* @__PURE__ */ jsx("p", { className: "text-lg leading-relaxed text-muted-foreground", children: page.description }) : null,
|
|
89
82
|
/* @__PURE__ */ jsx(PageProperties, { frontmatter: page.frontmatter }),
|
|
90
|
-
page.
|
|
83
|
+
page.tags.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2 pt-1", children: page.tags.map((tag) => /* @__PURE__ */ jsxs(
|
|
91
84
|
SilicaLink,
|
|
92
85
|
{
|
|
93
86
|
href: tagToHref(tag),
|
|
@@ -101,7 +94,7 @@ function PageRenderer({ page, graph, manifest }) {
|
|
|
101
94
|
)) }) : null
|
|
102
95
|
] }),
|
|
103
96
|
/* @__PURE__ */ jsx("div", { className: "prose max-w-none", children: page.content }),
|
|
104
|
-
/* @__PURE__ */ jsx("div", { className: "mt-16", children: /* @__PURE__ */ jsx(Backlinks, {
|
|
97
|
+
/* @__PURE__ */ jsx("div", { className: "mt-16", children: /* @__PURE__ */ jsx(Backlinks, { backlinks }) })
|
|
105
98
|
] }),
|
|
106
99
|
/* @__PURE__ */ jsx("aside", { className: "mt-12 hidden lg:sticky lg:top-12 lg:mt-0 lg:block lg:self-start", children: /* @__PURE__ */ jsx(TableOfContents, { toc: page.toc }) })
|
|
107
100
|
] });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { tagToHref } from \"@silicajs/core/runtime\";\nimport type {\n ThemePageProps,\n ThemeRootLayoutProps,\n ThemeSiteLayoutProps,\n} from \"@silicajs/core/theme\";\nimport {\n Backlinks,\n Breadcrumbs,\n PageProperties,\n SilicaLink,\n TableOfContents,\n} from \"@silicajs/components\";\nimport {\n SidebarInset,\n SidebarProvider,\n SidebarTrigger,\n} from \"@silicajs/ui/components/sidebar\";\n\nimport { Callout } from \"./callout.js\";\nimport { CodeBlock } from \"./code-block.js\";\nimport { Embed } from \"./embed.js\";\nimport { Mermaid } from \"./mermaid.js\";\nimport { Sidebar } from \"./sidebar.js\";\n\nfunction DefaultProvider({ children }: { children: ReactNode }) {\n return <>{children}</>;\n}\n\nconst THEME_INIT_SCRIPT = String.raw`\n(function () {\n try {\n var storageKey = \"silica-theme\";\n var root = document.documentElement;\n var stored = window.localStorage.getItem(storageKey);\n var theme =\n stored === \"dark\" || stored === \"light\"\n ? stored\n : window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"dark\"\n : \"light\";\n\n root.classList.remove(\"dark\", \"light\");\n root.classList.add(theme);\n } catch (_) {}\n})();\n`;\n\nexport function RootLayout({\n config,\n children,\n Provider = DefaultProvider,\n}: ThemeRootLayoutProps) {\n return (\n <html lang=\"en\" suppressHydrationWarning>\n <head>\n <script dangerouslySetInnerHTML={{ __html: THEME_INIT_SCRIPT }} />\n </head>\n <body className=\"min-h-svh bg-background font-sans text-foreground antialiased\">\n <Provider>{children}</Provider>\n </body>\n </html>\n );\n}\n\nexport function SiteLayout({\n
|
|
1
|
+
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { tagToHref } from \"@silicajs/core/runtime\";\nimport type {\n ThemePageProps,\n ThemeRootLayoutProps,\n ThemeSiteLayoutProps,\n} from \"@silicajs/core/theme\";\nimport {\n Backlinks,\n Breadcrumbs,\n PageProperties,\n SilicaLink,\n TableOfContents,\n} from \"@silicajs/components\";\nimport {\n SidebarInset,\n SidebarProvider,\n SidebarTrigger,\n} from \"@silicajs/ui/components/sidebar\";\n\nimport { Callout } from \"./callout.js\";\nimport { CodeBlock } from \"./code-block.js\";\nimport { Embed } from \"./embed.js\";\nimport { Mermaid } from \"./mermaid.js\";\nimport { Sidebar } from \"./sidebar.js\";\n\nfunction DefaultProvider({ children }: { children: ReactNode }) {\n return <>{children}</>;\n}\n\nconst THEME_INIT_SCRIPT = String.raw`\n(function () {\n try {\n var storageKey = \"silica-theme\";\n var root = document.documentElement;\n var stored = window.localStorage.getItem(storageKey);\n var theme =\n stored === \"dark\" || stored === \"light\"\n ? stored\n : window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"dark\"\n : \"light\";\n\n root.classList.remove(\"dark\", \"light\");\n root.classList.add(theme);\n } catch (_) {}\n})();\n`;\n\nexport function RootLayout({\n config,\n children,\n Provider = DefaultProvider,\n}: ThemeRootLayoutProps) {\n return (\n <html lang=\"en\" suppressHydrationWarning>\n <head>\n <script dangerouslySetInnerHTML={{ __html: THEME_INIT_SCRIPT }} />\n </head>\n <body className=\"min-h-svh bg-background font-sans text-foreground antialiased\">\n <Provider>{children}</Provider>\n </body>\n </html>\n );\n}\n\nexport function SiteLayout({\n navigationEndpoint,\n config,\n children,\n}: ThemeSiteLayoutProps) {\n return (\n <SidebarProvider>\n <Sidebar navigationEndpoint={navigationEndpoint} config={config} />\n <SidebarInset>\n <header className=\"sticky top-0 z-10 flex h-12 shrink-0 items-center gap-2 border-b border-border bg-background px-3 md:hidden\">\n <SidebarTrigger />\n <SilicaLink\n href=\"/\"\n className=\"truncate text-sm font-semibold tracking-tight text-foreground\"\n >\n {config.title}\n </SilicaLink>\n </header>\n {children}\n </SidebarInset>\n </SidebarProvider>\n );\n}\n\nexport function PageRenderer({ page, breadcrumbs, backlinks }: ThemePageProps) {\n const hasBreadcrumbs = breadcrumbs.length > 0;\n return (\n <div className=\"mx-auto w-full max-w-6xl px-8 py-12 lg:grid lg:grid-cols-[minmax(0,1fr)_14rem] lg:gap-12\">\n <article className=\"min-w-0\">\n <header className=\"mb-10 flex flex-col gap-3\">\n {hasBreadcrumbs ? (\n <Breadcrumbs items={breadcrumbs} className=\"text-xs\" />\n ) : null}\n <h1 className=\"text-4xl font-bold tracking-tight text-foreground\">\n {page.title}\n </h1>\n {page.description ? (\n <p className=\"text-lg leading-relaxed text-muted-foreground\">\n {page.description}\n </p>\n ) : null}\n <PageProperties frontmatter={page.frontmatter} />\n {page.tags.length > 0 ? (\n <div className=\"flex flex-wrap gap-2 pt-1\">\n {page.tags.map((tag) => (\n <SilicaLink\n key={tag}\n href={tagToHref(tag)}\n className=\"inline-flex h-6 items-center rounded-full border border-border px-2 text-xs text-muted-foreground transition-colors hover:border-primary/40 hover:text-foreground\"\n >\n <span className=\"text-muted-foreground/70\">#</span>\n <span className=\"ml-0.5\">{tag}</span>\n </SilicaLink>\n ))}\n </div>\n ) : null}\n </header>\n <div className=\"prose max-w-none\">{page.content}</div>\n <div className=\"mt-16\">\n <Backlinks backlinks={backlinks} />\n </div>\n </article>\n <aside className=\"mt-12 hidden lg:sticky lg:top-12 lg:mt-0 lg:block lg:self-start\">\n <TableOfContents toc={page.toc} />\n </aside>\n </div>\n );\n}\n\nexport const components = {\n \"silica-callout\": Callout,\n \"silica-code-block\": CodeBlock,\n \"silica-embed\": Embed,\n \"silica-mermaid\": Mermaid,\n};\n\nexport default { RootLayout, SiteLayout, PageRenderer, components };\n"],"mappings":"AA2BS,wBA4BL,YA5BK;AA1BT,SAAS,iBAAiB;AAM1B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,aAAa;AACtB,SAAS,eAAe;AACxB,SAAS,eAAe;AAExB,SAAS,gBAAgB,EAAE,SAAS,GAA4B;AAC9D,SAAO,gCAAG,UAAS;AACrB;AAEA,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmB1B,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA,WAAW;AACb,GAAyB;AACvB,SACE,qBAAC,UAAK,MAAK,MAAK,0BAAwB,MACtC;AAAA,wBAAC,UACC,8BAAC,YAAO,yBAAyB,EAAE,QAAQ,kBAAkB,GAAG,GAClE;AAAA,IACA,oBAAC,UAAK,WAAU,iEACd,8BAAC,YAAU,UAAS,GACtB;AAAA,KACF;AAEJ;AAEO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,SACE,qBAAC,mBACC;AAAA,wBAAC,WAAQ,oBAAwC,QAAgB;AAAA,IACjE,qBAAC,gBACC;AAAA,2BAAC,YAAO,WAAU,+GAChB;AAAA,4BAAC,kBAAe;AAAA,QAChB;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAU;AAAA,YAET,iBAAO;AAAA;AAAA,QACV;AAAA,SACF;AAAA,MACC;AAAA,OACH;AAAA,KACF;AAEJ;AAEO,SAAS,aAAa,EAAE,MAAM,aAAa,UAAU,GAAmB;AAC7E,QAAM,iBAAiB,YAAY,SAAS;AAC5C,SACE,qBAAC,SAAI,WAAU,4FACb;AAAA,yBAAC,aAAQ,WAAU,WACjB;AAAA,2BAAC,YAAO,WAAU,6BACf;AAAA,yBACC,oBAAC,eAAY,OAAO,aAAa,WAAU,WAAU,IACnD;AAAA,QACJ,oBAAC,QAAG,WAAU,qDACX,eAAK,OACR;AAAA,QACC,KAAK,cACJ,oBAAC,OAAE,WAAU,iDACV,eAAK,aACR,IACE;AAAA,QACJ,oBAAC,kBAAe,aAAa,KAAK,aAAa;AAAA,QAC9C,KAAK,KAAK,SAAS,IAClB,oBAAC,SAAI,WAAU,6BACZ,eAAK,KAAK,IAAI,CAAC,QACd;AAAA,UAAC;AAAA;AAAA,YAEC,MAAM,UAAU,GAAG;AAAA,YACnB,WAAU;AAAA,YAEV;AAAA,kCAAC,UAAK,WAAU,4BAA2B,eAAC;AAAA,cAC5C,oBAAC,UAAK,WAAU,UAAU,eAAI;AAAA;AAAA;AAAA,UALzB;AAAA,QAMP,CACD,GACH,IACE;AAAA,SACN;AAAA,MACA,oBAAC,SAAI,WAAU,oBAAoB,eAAK,SAAQ;AAAA,MAChD,oBAAC,SAAI,WAAU,SACb,8BAAC,aAAU,WAAsB,GACnC;AAAA,OACF;AAAA,IACA,oBAAC,WAAM,WAAU,mEACf,8BAAC,mBAAgB,KAAK,KAAK,KAAK,GAClC;AAAA,KACF;AAEJ;AAEO,MAAM,aAAa;AAAA,EACxB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;AAEA,IAAO,gBAAQ,EAAE,YAAY,YAAY,cAAc,WAAW;","names":[]}
|
package/dist/sidebar.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { ThemeLayoutConfig } from '@silicajs/core/theme';
|
|
3
3
|
|
|
4
4
|
type SidebarProps = {
|
|
5
|
-
|
|
6
|
-
entries: ThemeNavigationEntry[];
|
|
7
|
-
};
|
|
5
|
+
navigationEndpoint: string;
|
|
8
6
|
config: ThemeLayoutConfig;
|
|
9
7
|
};
|
|
10
|
-
declare function Sidebar({
|
|
8
|
+
declare function Sidebar({ navigationEndpoint, config }: SidebarProps): react_jsx_runtime.JSX.Element;
|
|
11
9
|
|
|
12
10
|
export { Sidebar, type SidebarProps };
|
package/dist/sidebar.js
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
SidebarHeader,
|
|
18
18
|
SidebarRail
|
|
19
19
|
} from "@silicajs/ui/components/sidebar";
|
|
20
|
-
function Sidebar({
|
|
20
|
+
function Sidebar({ navigationEndpoint, config }) {
|
|
21
21
|
return /* @__PURE__ */ jsxs(ShadcnSidebar, { children: [
|
|
22
22
|
/* @__PURE__ */ jsxs(SidebarHeader, { className: "gap-3 border-b border-sidebar-border", children: [
|
|
23
23
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 px-1 pt-1", children: [
|
|
@@ -33,7 +33,7 @@ function Sidebar({ navigation, config }) {
|
|
|
33
33
|
] }),
|
|
34
34
|
/* @__PURE__ */ jsx("div", { className: "px-1 pb-1", children: /* @__PURE__ */ jsx(SearchTrigger, { className: "w-full justify-start" }) })
|
|
35
35
|
] }),
|
|
36
|
-
/* @__PURE__ */ jsx(SidebarContent, { children: /* @__PURE__ */ jsx(SidebarGroup, { children: /* @__PURE__ */ jsx(SidebarGroupContent, { children: /* @__PURE__ */ jsx(VaultTree, {
|
|
36
|
+
/* @__PURE__ */ jsx(SidebarContent, { children: /* @__PURE__ */ jsx(SidebarGroup, { children: /* @__PURE__ */ jsx(SidebarGroupContent, { children: /* @__PURE__ */ jsx(VaultTree, { navigationEndpoint }) }) }) }),
|
|
37
37
|
config.authEnabled ? /* @__PURE__ */ jsx(SidebarFooter, { className: "border-t border-sidebar-border p-2", children: /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(UserMenu, { logo: config.logo }) }) }) : null,
|
|
38
38
|
/* @__PURE__ */ jsx(SidebarRail, {})
|
|
39
39
|
] });
|
package/dist/sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/sidebar.tsx"],"sourcesContent":["\"use client\";\n\nimport { Suspense } from \"react\";\nimport type {
|
|
1
|
+
{"version":3,"sources":["../src/sidebar.tsx"],"sourcesContent":["\"use client\";\n\nimport { Suspense } from \"react\";\nimport type { ThemeLayoutConfig } from \"@silicajs/core/theme\";\nimport {\n DarkModeToggle,\n SearchTrigger,\n SilicaLink,\n UserMenu,\n VaultTree,\n} from \"@silicajs/components\";\nimport {\n Sidebar as ShadcnSidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupContent,\n SidebarHeader,\n SidebarRail,\n} from \"@silicajs/ui/components/sidebar\";\n\nexport type SidebarProps = {\n navigationEndpoint: string;\n config: ThemeLayoutConfig;\n};\n\nexport function Sidebar({ navigationEndpoint, config }: SidebarProps) {\n return (\n <ShadcnSidebar>\n <SidebarHeader className=\"gap-3 border-b border-sidebar-border\">\n <div className=\"flex items-center justify-between gap-2 px-1 pt-1\">\n <SilicaLink\n href=\"/\"\n className=\"truncate text-sm font-semibold tracking-tight text-foreground\"\n >\n {config.title}\n </SilicaLink>\n <DarkModeToggle />\n </div>\n <div className=\"px-1 pb-1\">\n <SearchTrigger className=\"w-full justify-start\" />\n </div>\n </SidebarHeader>\n <SidebarContent>\n <SidebarGroup>\n <SidebarGroupContent>\n <VaultTree navigationEndpoint={navigationEndpoint} />\n </SidebarGroupContent>\n </SidebarGroup>\n </SidebarContent>\n {config.authEnabled ? (\n <SidebarFooter className=\"border-t border-sidebar-border p-2\">\n <Suspense fallback={null}>\n <UserMenu logo={config.logo} />\n </Suspense>\n </SidebarFooter>\n ) : null}\n <SidebarRail />\n </ShadcnSidebar>\n );\n}\n"],"mappings":";AA8BQ,SACE,KADF;AA5BR,SAAS,gBAAgB;AAEzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOA,SAAS,QAAQ,EAAE,oBAAoB,OAAO,GAAiB;AACpE,SACE,qBAAC,iBACC;AAAA,yBAAC,iBAAc,WAAU,wCACvB;AAAA,2BAAC,SAAI,WAAU,qDACb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAU;AAAA,YAET,iBAAO;AAAA;AAAA,QACV;AAAA,QACA,oBAAC,kBAAe;AAAA,SAClB;AAAA,MACA,oBAAC,SAAI,WAAU,aACb,8BAAC,iBAAc,WAAU,wBAAuB,GAClD;AAAA,OACF;AAAA,IACA,oBAAC,kBACC,8BAAC,gBACC,8BAAC,uBACC,8BAAC,aAAU,oBAAwC,GACrD,GACF,GACF;AAAA,IACC,OAAO,cACN,oBAAC,iBAAc,WAAU,sCACvB,8BAAC,YAAS,UAAU,MAClB,8BAAC,YAAS,MAAM,OAAO,MAAM,GAC/B,GACF,IACE;AAAA,IACJ,oBAAC,eAAY;AAAA,KACf;AAEJ;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silicajs/theme-amethyst",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Amethyst theme for Silica — Tailwind v4 + Base UI, violet accent, Mintlify-style layout.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"test": "vitest run --passWithNoTests"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@silicajs/components": "^0.1
|
|
28
|
-
"@silicajs/core": "^0.
|
|
27
|
+
"@silicajs/components": "^0.2.1",
|
|
28
|
+
"@silicajs/core": "^0.3.0",
|
|
29
29
|
"@silicajs/ui": "^0.1.2",
|
|
30
30
|
"@tailwindcss/typography": "^0.5.18",
|
|
31
31
|
"class-variance-authority": "^0.7.1",
|