@silicajs/theme-amethyst 0.1.1 → 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/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({ navigation, config, children, }: ThemeSiteLayoutProps): react_jsx_runtime.JSX.Element;
11
- declare function PageRenderer({ page, graph, manifest }: ThemePageProps): react_jsx_runtime.JSX.Element;
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
- navigation,
52
+ navigationEndpoint,
53
53
  config,
54
54
  children
55
55
  }) {
56
56
  return /* @__PURE__ */ jsxs(SidebarProvider, { children: [
57
- /* @__PURE__ */ jsx(Sidebar, { navigation, config }),
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, graph, manifest }) {
75
- const hasBreadcrumb = page.slug !== "index" && page.slug.includes("/");
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
- hasBreadcrumb ? /* @__PURE__ */ jsx(
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.entry.tags.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2 pt-1", children: page.entry.tags.map((tag) => /* @__PURE__ */ jsxs(
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, { graph, slug: page.slug, manifest }) })
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 navigation,\n config,\n children,\n}: ThemeSiteLayoutProps) {\n return (\n <SidebarProvider>\n <Sidebar navigation={navigation} 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, graph, manifest }: ThemePageProps) {\n const hasBreadcrumb = page.slug !== \"index\" && page.slug.includes(\"/\");\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 {hasBreadcrumb ? (\n <Breadcrumbs\n slug={page.slug}\n allSlugs={manifest.allSlugs}\n className=\"text-xs\"\n />\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.entry.tags.length > 0 ? (\n <div className=\"flex flex-wrap gap-2 pt-1\">\n {page.entry.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 graph={graph} slug={page.slug} manifest={manifest} />\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,YAAwB,QAAgB;AAAA,IACjD,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,OAAO,SAAS,GAAmB;AACtE,QAAM,gBAAgB,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,GAAG;AACrE,SACE,qBAAC,SAAI,WAAU,4FACb;AAAA,yBAAC,aAAQ,WAAU,WACjB;AAAA,2BAAC,YAAO,WAAU,6BACf;AAAA,wBACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,KAAK;AAAA,YACX,UAAU,SAAS;AAAA,YACnB,WAAU;AAAA;AAAA,QACZ,IACE;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,MAAM,KAAK,SAAS,IACxB,oBAAC,SAAI,WAAU,6BACZ,eAAK,MAAM,KAAK,IAAI,CAAC,QACpB;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,OAAc,MAAM,KAAK,MAAM,UAAoB,GAChE;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":[]}
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 { ThemeNavigationEntry, ThemeLayoutConfig } from '@silicajs/core/theme';
2
+ import { ThemeLayoutConfig } from '@silicajs/core/theme';
3
3
 
4
4
  type SidebarProps = {
5
- navigation: {
6
- entries: ThemeNavigationEntry[];
7
- };
5
+ navigationEndpoint: string;
8
6
  config: ThemeLayoutConfig;
9
7
  };
10
- declare function Sidebar({ navigation, config }: SidebarProps): react_jsx_runtime.JSX.Element;
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({ navigation, config }) {
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, { entries: navigation.entries }) }) }) }),
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
  ] });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/sidebar.tsx"],"sourcesContent":["\"use client\";\n\nimport { Suspense } from \"react\";\nimport type {\n ThemeLayoutConfig,\n ThemeNavigationEntry,\n} 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 navigation: {\n entries: ThemeNavigationEntry[];\n };\n config: ThemeLayoutConfig;\n};\n\nexport function Sidebar({ navigation, 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 entries={navigation.entries} />\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":";AAmCQ,SACE,KADF;AAjCR,SAAS,gBAAgB;AAKzB;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;AASA,SAAS,QAAQ,EAAE,YAAY,OAAO,GAAiB;AAC5D,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,SAAS,WAAW,SAAS,GAC1C,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":[]}
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.1.1",
3
+ "version": "0.2.0",
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.2",
28
- "@silicajs/core": "^0.1.1",
27
+ "@silicajs/components": "^0.2.0",
28
+ "@silicajs/core": "^0.2.0",
29
29
  "@silicajs/ui": "^0.1.2",
30
30
  "@tailwindcss/typography": "^0.5.18",
31
31
  "class-variance-authority": "^0.7.1",