@noxion/renderer 0.1.0 → 0.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAA0B,EAC1B,OAA6C,EAC7C,SAAS,GACV,EAAE,eAAe,2CAOjB"}
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAA0B,EAC1B,OAA6C,EAC7C,SAAS,GACV,EAAE,eAAe,2CAUjB"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { FileText } from "lucide-react";
2
3
  export function EmptyState({ title = "Nothing here yet", message = "Check back later for new content.", className, }) {
3
- return (_jsxs("div", { className: className ? `noxion-empty-state ${className}` : "noxion-empty-state", children: [_jsx("h2", { className: "noxion-empty-state__title", children: title }), _jsx("p", { className: "noxion-empty-state__message", children: message })] }));
4
+ return (_jsxs("div", { className: className ? `noxion-empty-state ${className}` : "noxion-empty-state", children: [_jsx("span", { className: "noxion-empty-state__icon", children: _jsx(FileText, { size: 32, strokeWidth: 1.5 }) }), _jsx("h2", { className: "noxion-empty-state__title", children: title }), _jsx("p", { className: "noxion-empty-state__message", children: message })] }));
4
5
  }
5
6
  //# sourceMappingURL=EmptyState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":";AAMA,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,GAAG,kBAAkB,EAC1B,OAAO,GAAG,mCAAmC,EAC7C,SAAS,GACO;IAChB,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC,CAAC,oBAAoB,aAClF,aAAI,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAM,EACtD,YAAG,SAAS,EAAC,6BAA6B,YAAE,OAAO,GAAK,IACpD,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQxC,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,GAAG,kBAAkB,EAC1B,OAAO,GAAG,mCAAmC,EAC7C,SAAS,GACO;IAChB,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC,CAAC,oBAAoB,aAClF,eAAM,SAAS,EAAC,0BAA0B,YACxC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,GACnC,EACP,aAAI,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAM,EACtD,YAAG,SAAS,EAAC,6BAA6B,YAAE,OAAO,GAAK,IACpD,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAkB3F"}
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAmB3F"}
@@ -1,6 +1,7 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { ArrowUpRight } from "lucide-react";
2
3
  export function Footer({ siteName, author, className }) {
3
4
  const year = new Date().getFullYear();
4
- return (_jsxs("footer", { className: className ? `noxion-footer ${className}` : "noxion-footer", children: [_jsxs("span", { className: "noxion-footer__copyright", children: ["\u00A9 ", year, " ", author ?? siteName] }), _jsx("a", { href: "https://github.com/jiwonme/noxion", target: "_blank", rel: "noopener noreferrer", className: "noxion-footer__powered-by", children: "Powered by Noxion" })] }));
5
+ return (_jsxs("footer", { className: className ? `noxion-footer ${className}` : "noxion-footer", children: [_jsxs("span", { className: "noxion-footer__copyright", children: ["\u00A9 ", year, " ", author ?? siteName] }), _jsxs("a", { href: "https://github.com/jiwonme/noxion", target: "_blank", rel: "noopener noreferrer", className: "noxion-footer__powered-by", children: ["Powered by Noxion", _jsx(ArrowUpRight, { size: 12, strokeWidth: 2 })] })] }));
5
6
  }
6
7
  //# sourceMappingURL=Footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAwC;IAC1F,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEtC,OAAO,CACL,kBAAQ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,aAC3E,gBAAM,SAAS,EAAC,0BAA0B,wBAChC,IAAI,OAAG,MAAM,IAAI,QAAQ,IAC5B,EACP,YACE,IAAI,EAAC,mCAAmC,EACxC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,2BAA2B,kCAGnC,IACG,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAwC;IAC1F,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEtC,OAAO,CACL,kBAAQ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,aAC3E,gBAAM,SAAS,EAAC,0BAA0B,wBAChC,IAAI,OAAG,MAAM,IAAI,QAAQ,IAC5B,EACP,aACE,IAAI,EAAC,mCAAmC,EACxC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,2BAA2B,kCAGrC,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,IACxC,IACG,CACV,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAe,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAkBpG"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAe,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAsBpG"}
@@ -1,5 +1,7 @@
1
+ "use client";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ThemeToggle } from "./ThemeToggle";
2
4
  export function Header({ siteName, navigation = [], className }) {
3
- return (_jsxs("header", { className: className ? `noxion-header ${className}` : "noxion-header", children: [_jsx("a", { href: "/", className: "noxion-header__logo", children: siteName }), navigation.length > 0 && (_jsx("nav", { className: "noxion-header__nav", children: navigation.map((item) => (_jsx("a", { href: item.href, className: "noxion-header__nav-link", children: item.label }, item.href))) }))] }));
5
+ return (_jsxs("header", { className: className ? `noxion-header ${className}` : "noxion-header", children: [_jsx("a", { href: "/", className: "noxion-header__logo", children: siteName }), navigation.length > 0 && (_jsx("nav", { className: "noxion-header__nav", children: navigation.map((item) => (_jsx("a", { href: item.href, className: "noxion-header__nav-link", children: item.label }, item.href))) })), _jsx("div", { className: "noxion-header__actions", children: _jsx(ThemeToggle, {}) })] }));
4
6
  }
5
7
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,EAAwC;IACnG,OAAO,CACL,kBAAQ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,aAC3E,YAAG,IAAI,EAAC,GAAG,EAAC,SAAS,EAAC,qBAAqB,YACxC,QAAQ,GACP,EAEH,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CACxB,cAAK,SAAS,EAAC,oBAAoB,YAChC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,YAAmB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,yBAAyB,YACpE,IAAI,CAAC,KAAK,IADL,IAAI,CAAC,IAAI,CAEb,CACL,CAAC,GACE,CACP,IACM,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,EAAwC;IACnG,OAAO,CACL,kBAAQ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,aAC3E,YAAG,IAAI,EAAC,GAAG,EAAC,SAAS,EAAC,qBAAqB,YACxC,QAAQ,GACP,EAEH,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CACxB,cAAK,SAAS,EAAC,oBAAoB,YAChC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,YAAmB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,yBAAyB,YACpE,IAAI,CAAC,KAAK,IADL,IAAI,CAAC,IAAI,CAEb,CACL,CAAC,GACE,CACP,EAED,cAAK,SAAS,EAAC,wBAAwB,YACrC,KAAC,WAAW,KAAG,GACX,IACC,CACV,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { PostCardProps } from "../theme/types";
2
- export declare function PostCard({ title, slug, date, tags, coverImage, category, description, className, }: PostCardProps & {
2
+ export declare function PostCard({ title, slug, date, tags, coverImage, category, description, author, className, }: PostCardProps & {
3
3
  className?: string;
4
4
  }): import("react/jsx-runtime").JSX.Element;
5
5
  //# sourceMappingURL=PostCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostCard.d.ts","sourceRoot":"","sources":["../../src/components/PostCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,GACV,EAAE,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAgDxC"}
1
+ {"version":3,"file":"PostCard.d.ts","sourceRoot":"","sources":["../../src/components/PostCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAmDxC"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function PostCard({ title, slug, date, tags, coverImage, category, description, className, }) {
2
+ export function PostCard({ title, slug, date, tags, coverImage, category, description, author, className, }) {
3
3
  const hasImage = Boolean(coverImage);
4
4
  const baseClass = hasImage ? "noxion-post-card" : "noxion-post-card noxion-post-card--text-only";
5
5
  const cardClass = className ? `${baseClass} ${className}` : baseClass;
6
- return (_jsxs("a", { href: `/${slug}`, className: cardClass, children: [hasImage && (_jsx("div", { className: "noxion-post-card__cover", children: _jsx("img", { src: coverImage, alt: title, loading: "lazy", decoding: "async", className: "noxion-post-card__cover-image" }) })), _jsxs("div", { className: "noxion-post-card__body", children: [category && (_jsx("span", { className: "noxion-post-card__category", children: category })), _jsx("h3", { className: "noxion-post-card__title", children: title }), description && (_jsx("p", { className: "noxion-post-card__description", children: description })), _jsxs("div", { className: "noxion-post-card__meta", children: [_jsx("time", { dateTime: date, className: "noxion-post-card__date", children: date }), tags.length > 0 && (_jsx("div", { className: "noxion-post-card__tags", children: tags.map((tag) => (_jsx("span", { className: "noxion-post-card__tag", children: tag }, tag))) }))] })] })] }));
6
+ return (_jsxs("a", { href: `/${slug}`, className: cardClass, children: [hasImage && (_jsx("div", { className: "noxion-post-card__cover", children: _jsx("img", { src: coverImage, alt: title, loading: "lazy", decoding: "async", className: "noxion-post-card__cover-image" }) })), _jsxs("div", { className: "noxion-post-card__body", children: [category && (_jsx("span", { className: "noxion-post-card__category", children: category })), _jsx("h3", { className: "noxion-post-card__title", children: title }), description && (_jsx("p", { className: "noxion-post-card__description", children: description })), _jsxs("div", { className: "noxion-post-card__meta", children: [author && (_jsx("span", { className: "noxion-post-card__author", children: author })), _jsx("time", { dateTime: date, className: "noxion-post-card__date", children: date }), tags.length > 0 && (_jsx("div", { className: "noxion-post-card__tags", children: tags.map((tag) => (_jsx("span", { className: "noxion-post-card__tag", children: tag }, tag))) }))] })] })] }));
7
7
  }
8
8
  //# sourceMappingURL=PostCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostCard.js","sourceRoot":"","sources":["../../src/components/PostCard.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,GAC8B;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,8CAA8C,CAAC;IACjG,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,OAAO,CACL,aAAG,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,aACtC,QAAQ,IAAI,CACX,cAAK,SAAS,EAAC,yBAAyB,YACtC,cACE,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,KAAK,EACV,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAC,+BAA+B,GACzC,GACE,CACP,EAED,eAAK,SAAS,EAAC,wBAAwB,aACpC,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,4BAA4B,YAAE,QAAQ,GAAQ,CAC/D,EAED,aAAI,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAM,EAEnD,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,CAC/D,EAED,eAAK,SAAS,EAAC,wBAAwB,aACrC,eAAM,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,wBAAwB,YACrD,IAAI,GACA,EAEN,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB,cAAK,SAAS,EAAC,wBAAwB,YACpC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,eAAgB,SAAS,EAAC,uBAAuB,YAC9C,GAAG,IADK,GAAG,CAEP,CACR,CAAC,GACE,CACP,IACG,IACF,IACJ,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PostCard.js","sourceRoot":"","sources":["../../src/components/PostCard.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,GAC8B;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,8CAA8C,CAAC;IACjG,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,OAAO,CACL,aAAG,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,aACtC,QAAQ,IAAI,CACX,cAAK,SAAS,EAAC,yBAAyB,YACtC,cACE,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,KAAK,EACV,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAC,+BAA+B,GACzC,GACE,CACP,EAED,eAAK,SAAS,EAAC,wBAAwB,aACpC,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,4BAA4B,YAAE,QAAQ,GAAQ,CAC/D,EAED,aAAI,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAM,EAEnD,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,CAC/D,EAED,eAAK,SAAS,EAAC,wBAAwB,aACpC,MAAM,IAAI,CACT,eAAM,SAAS,EAAC,0BAA0B,YAAE,MAAM,GAAQ,CAC3D,EACD,eAAM,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,wBAAwB,YACrD,IAAI,GACA,EAEN,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB,cAAK,SAAS,EAAC,wBAAwB,YACpC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,eAAgB,SAAS,EAAC,uBAAuB,YAC9C,GAAG,IADK,GAAG,CAEP,CACR,CAAC,GACE,CACP,IACG,IACF,IACJ,CACL,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/components/Search.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,WAA+B,EAC/B,SAAS,GACV,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAmCtC"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/components/Search.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,WAA+B,EAC/B,SAAS,GACV,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAsCtC"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useRef, useEffect, useCallback } from "react";
4
+ import { Search as SearchIcon } from "lucide-react";
4
5
  export function Search({ onSearch, placeholder = "Search posts...", className, }) {
5
6
  const inputRef = useRef(null);
6
7
  const debounceRef = useRef(null);
@@ -19,6 +20,6 @@ export function Search({ onSearch, placeholder = "Search posts...", className, }
19
20
  document.addEventListener("keydown", handler);
20
21
  return () => document.removeEventListener("keydown", handler);
21
22
  }, []);
22
- return (_jsxs("div", { className: className ? `noxion-search ${className}` : "noxion-search", children: [_jsx("input", { ref: inputRef, type: "text", placeholder: placeholder, onChange: (e) => handleInput(e.target.value), className: "noxion-search__input" }), _jsx("kbd", { className: "noxion-search__kbd", children: "\u2318K" })] }));
23
+ return (_jsxs("div", { className: className ? `noxion-search ${className}` : "noxion-search", children: [_jsx("span", { className: "noxion-search__icon", children: _jsx(SearchIcon, { size: 14, strokeWidth: 2 }) }), _jsx("input", { ref: inputRef, type: "text", placeholder: placeholder, onChange: (e) => handleInput(e.target.value), className: "noxion-search__input" }), _jsx("kbd", { className: "noxion-search__kbd", children: "\u2318K" })] }));
23
24
  }
24
25
  //# sourceMappingURL=Search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/components/Search.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,WAAW,GAAG,iBAAiB,EAC/B,SAAS,GAC4B;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAa,EAAE,EAAE;QAChB,IAAI,WAAW,CAAC,OAAO;YAAE,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,CAAC,CAAgB,EAAE,EAAE;YACnC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC9C,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,aACxE,gBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5C,SAAS,EAAC,sBAAsB,GAChC,EACF,cAAK,SAAS,EAAC,oBAAoB,wBAAS,IACxC,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/components/Search.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,WAAW,GAAG,iBAAiB,EAC/B,SAAS,GAC4B;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAa,EAAE,EAAE;QAChB,IAAI,WAAW,CAAC,OAAO;YAAE,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,CAAC,CAAgB,EAAE,EAAE;YACnC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC9C,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,aACxE,eAAM,SAAS,EAAC,qBAAqB,YACnC,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,GACnC,EACP,gBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5C,SAAS,EAAC,sBAAsB,GAChC,EACF,cAAK,SAAS,EAAC,oBAAoB,wBAAS,IACxC,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { TagFilterProps } from "../theme/types";
2
- export declare function TagFilter({ tags, selectedTags, onToggle, className }: TagFilterProps & {
2
+ export declare function TagFilter({ tags, selectedTags, onToggle, maxVisible, className }: TagFilterProps & {
3
3
  className?: string;
4
4
  }): import("react/jsx-runtime").JSX.Element | null;
5
5
  //# sourceMappingURL=TagFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TagFilter.d.ts","sourceRoot":"","sources":["../../src/components/TagFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDAkB7G"}
1
+ {"version":3,"file":"TagFilter.d.ts","sourceRoot":"","sources":["../../src/components/TagFilter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,cAAc,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDA4CzH"}
@@ -1,13 +1,19 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- export function TagFilter({ tags, selectedTags, onToggle, className }) {
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ export function TagFilter({ tags, selectedTags, onToggle, maxVisible, className }) {
5
+ const [expanded, setExpanded] = useState(false);
3
6
  if (tags.length === 0)
4
7
  return null;
5
- return (_jsx("div", { className: className ? `noxion-tag-filter ${className}` : "noxion-tag-filter", children: tags.map((tag) => {
6
- const isSelected = selectedTags.includes(tag);
7
- const tagClass = isSelected
8
- ? "noxion-tag-filter__tag noxion-tag-filter__tag--selected"
9
- : "noxion-tag-filter__tag";
10
- return (_jsx("button", { onClick: () => onToggle(tag), type: "button", className: tagClass, children: tag }, tag));
11
- }) }));
8
+ const shouldCollapse = maxVisible !== undefined && tags.length > maxVisible;
9
+ const visibleTags = shouldCollapse && !expanded ? tags.slice(0, maxVisible) : tags;
10
+ const hiddenCount = shouldCollapse ? tags.length - maxVisible : 0;
11
+ return (_jsxs("div", { className: className ? `noxion-tag-filter ${className}` : "noxion-tag-filter", children: [visibleTags.map((tag) => {
12
+ const isSelected = selectedTags.includes(tag);
13
+ const tagClass = isSelected
14
+ ? "noxion-tag-filter__tag noxion-tag-filter__tag--selected"
15
+ : "noxion-tag-filter__tag";
16
+ return (_jsx("button", { onClick: () => onToggle(tag), type: "button", className: tagClass, children: tag }, tag));
17
+ }), shouldCollapse && !expanded && hiddenCount > 0 && (_jsxs("button", { type: "button", onClick: () => setExpanded(true), className: "noxion-tag-filter__tag noxion-tag-filter__tag--more", children: ["+", hiddenCount] })), shouldCollapse && expanded && (_jsx("button", { type: "button", onClick: () => setExpanded(false), className: "noxion-tag-filter__tag noxion-tag-filter__tag--more", children: "Show less" }))] }));
12
18
  }
13
19
  //# sourceMappingURL=TagFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TagFilter.js","sourceRoot":"","sources":["../../src/components/TagFilter.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAA2C;IAC5G,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,YAC/E,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChB,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,UAAU;gBACzB,CAAC,CAAC,yDAAyD;gBAC3D,CAAC,CAAC,wBAAwB,CAAC;YAC7B,OAAO,CACL,iBAAkB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,QAAQ,YAC9E,GAAG,IADO,GAAG,CAEP,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TagFilter.js","sourceRoot":"","sources":["../../src/components/TagFilter.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAA2C;IACxH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,cAAc,GAAG,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC5E,MAAM,WAAW,GAAG,cAAc,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,UAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,aAC/E,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,UAAU;oBACzB,CAAC,CAAC,yDAAyD;oBAC3D,CAAC,CAAC,wBAAwB,CAAC;gBAC7B,OAAO,CACL,iBAAkB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,QAAQ,YAC9E,GAAG,IADO,GAAG,CAEP,CACV,CAAC;YACJ,CAAC,CAAC,EAED,cAAc,IAAI,CAAC,QAAQ,IAAI,WAAW,GAAG,CAAC,IAAI,CACjD,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAChC,SAAS,EAAC,qDAAqD,kBAE7D,WAAW,IACN,CACV,EAEA,cAAc,IAAI,QAAQ,IAAI,CAC7B,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EACjC,SAAS,EAAC,qDAAqD,0BAGxD,CACV,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAoBhE"}
1
+ {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":"AAaA,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAsBhE"}
@@ -1,17 +1,13 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Sun, Moon, Monitor } from "lucide-react";
3
4
  import { useThemePreference } from "../hooks/useTheme";
4
- const ICONS = {
5
- light: "\u2600\uFE0F",
6
- dark: "\uD83C\uDF19",
7
- system: "\uD83D\uDCBB",
8
- };
5
+ const CYCLE = ["system", "light", "dark"];
9
6
  const LABELS = {
10
7
  light: "Light",
11
8
  dark: "Dark",
12
9
  system: "System",
13
10
  };
14
- const CYCLE = ["system", "light", "dark"];
15
11
  export function ThemeToggle({ className }) {
16
12
  const { preference, setPreference } = useThemePreference();
17
13
  const nextPreference = () => {
@@ -19,6 +15,6 @@ export function ThemeToggle({ className }) {
19
15
  const next = CYCLE[(currentIndex + 1) % CYCLE.length];
20
16
  setPreference(next);
21
17
  };
22
- return (_jsx("button", { onClick: nextPreference, type: "button", "aria-label": `Theme: ${LABELS[preference]}. Click to change.`, title: LABELS[preference], className: className ? `noxion-theme-toggle ${className}` : "noxion-theme-toggle", children: ICONS[preference] }));
18
+ return (_jsxs("button", { onClick: nextPreference, type: "button", "aria-label": `Theme: ${LABELS[preference]}. Click to change.`, title: LABELS[preference], className: className ? `noxion-theme-toggle ${className}` : "noxion-theme-toggle", children: [preference === "light" && _jsx(Sun, { size: 16, strokeWidth: 1.75 }), preference === "dark" && _jsx(Moon, { size: 16, strokeWidth: 1.75 }), preference === "system" && _jsx(Monitor, { size: 16, strokeWidth: 1.75 })] }));
23
19
  }
24
20
  //# sourceMappingURL=ThemeToggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeToggle.js","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,kBAAkB,EAAwB,MAAM,mBAAmB,CAAC;AAE7E,MAAM,KAAK,GAAoC;IAC7C,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,cAAc;CACvB,CAAC;AAEF,MAAM,MAAM,GAAoC;IAC9C,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,KAAK,GAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE7D,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAA0B;IAC/D,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE3D,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,iBACE,OAAO,EAAE,cAAc,EACvB,IAAI,EAAC,QAAQ,gBACD,UAAU,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAC5D,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EACzB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,YAEhF,KAAK,CAAC,UAAU,CAAC,GACX,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ThemeToggle.js","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAwB,MAAM,mBAAmB,CAAC;AAE7E,MAAM,KAAK,GAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE7D,MAAM,MAAM,GAAoC;IAC9C,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAA0B;IAC/D,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE3D,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,kBACE,OAAO,EAAE,cAAc,EACvB,IAAI,EAAC,QAAQ,gBACD,UAAU,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAC5D,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EACzB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,aAEhF,UAAU,KAAK,OAAO,IAAI,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,GAAI,EAC9D,UAAU,KAAK,MAAM,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,GAAI,EAC9D,UAAU,KAAK,QAAQ,IAAI,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,GAAI,IAC7D,CACV,CAAC;AACJ,CAAC"}
@@ -100,6 +100,7 @@ export interface TagFilterProps {
100
100
  tags: string[];
101
101
  selectedTags: string[];
102
102
  onToggle: (tag: string) => void;
103
+ maxVisible?: number;
103
104
  }
104
105
  export interface ComponentOverrides {
105
106
  Header?: ComponentType<HeaderProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noxion/renderer",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "React rendering components and theme system for Noxion",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -57,6 +57,7 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@noxion/notion-renderer": "workspace:*",
60
+ "lucide-react": "^0.469.0",
60
61
  "notion-types": "^7.8.2",
61
62
  "notion-utils": "^7.8.2"
62
63
  },
@@ -1,31 +1,31 @@
1
1
  :root {
2
- --noxion-primary: #2563eb;
2
+ --noxion-primary: #000000;
3
3
  --noxion-primaryForeground: #ffffff;
4
4
  --noxion-background: #ffffff;
5
- --noxion-foreground: #171717;
6
- --noxion-muted: #f5f5f5;
7
- --noxion-mutedForeground: #737373;
8
- --noxion-border: #e5e5e5;
9
- --noxion-accent: #f5f5f5;
10
- --noxion-accentForeground: #171717;
5
+ --noxion-foreground: #111111;
6
+ --noxion-muted: #f2f2f2;
7
+ --noxion-mutedForeground: #6b6b6b;
8
+ --noxion-border: #e8e8e8;
9
+ --noxion-accent: #f7f7f7;
10
+ --noxion-accentForeground: #111111;
11
11
  --noxion-card: #ffffff;
12
- --noxion-cardForeground: #171717;
12
+ --noxion-cardForeground: #111111;
13
13
 
14
- --noxion-font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
14
+ --noxion-font-sans: "Geist", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
15
15
  --noxion-font-serif: Georgia, "Times New Roman", serif;
16
- --noxion-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
16
+ --noxion-font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
17
17
 
18
18
  --noxion-spacing-content: 720px;
19
19
  --noxion-spacing-sidebar: 260px;
20
20
  --noxion-border-radius: 0.5rem;
21
21
 
22
- --noxion-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
23
- --noxion-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06);
24
- --noxion-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.08);
22
+ --noxion-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 1px rgba(0, 0, 0, 0.03);
23
+ --noxion-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
24
+ --noxion-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
25
25
 
26
- --noxion-transition-fast: 120ms ease;
27
- --noxion-transition-normal: 200ms ease;
28
- --noxion-transition-slow: 300ms ease;
26
+ --noxion-transition-fast: 100ms cubic-bezier(0.4, 0, 0.2, 1);
27
+ --noxion-transition-normal: 180ms cubic-bezier(0.4, 0, 0.2, 1);
28
+ --noxion-transition-slow: 280ms cubic-bezier(0.4, 0, 0.2, 1);
29
29
 
30
30
  --noxion-breakpoint-sm: 640px;
31
31
  --noxion-breakpoint-md: 768px;
@@ -34,21 +34,21 @@
34
34
  }
35
35
 
36
36
  [data-theme="dark"] {
37
- --noxion-primary: #3b82f6;
38
- --noxion-primaryForeground: #ffffff;
39
- --noxion-background: #0a0a0a;
37
+ --noxion-primary: #ffffff;
38
+ --noxion-primaryForeground: #000000;
39
+ --noxion-background: #0c0c0c;
40
40
  --noxion-foreground: #ededed;
41
41
  --noxion-muted: #1a1a1a;
42
42
  --noxion-mutedForeground: #888888;
43
- --noxion-border: #1f1f1f;
44
- --noxion-accent: #1a1a1a;
43
+ --noxion-border: #272727;
44
+ --noxion-accent: #1e1e1e;
45
45
  --noxion-accentForeground: #ededed;
46
- --noxion-card: #111111;
46
+ --noxion-card: #141414;
47
47
  --noxion-cardForeground: #ededed;
48
48
 
49
- --noxion-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
50
- --noxion-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
51
- --noxion-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.4);
49
+ --noxion-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
50
+ --noxion-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.4);
51
+ --noxion-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
52
52
  }
53
53
 
54
54
  *,
@@ -60,17 +60,19 @@
60
60
  body {
61
61
  margin: 0;
62
62
  font-family: var(--noxion-font-sans);
63
+ font-size: 0.9375rem;
63
64
  color: var(--noxion-foreground);
64
65
  background-color: var(--noxion-background);
65
66
  line-height: 1.6;
66
67
  -webkit-font-smoothing: antialiased;
67
68
  -moz-osx-font-smoothing: grayscale;
68
69
  text-rendering: optimizeLegibility;
70
+ font-feature-settings: "rlig" 1, "calt" 1, "ss01" 1;
69
71
  }
70
72
 
71
73
  ::selection {
72
- background-color: var(--noxion-primary);
73
- color: var(--noxion-primaryForeground);
74
+ background-color: var(--noxion-foreground);
75
+ color: var(--noxion-background);
74
76
  }
75
77
 
76
78
  a {
@@ -95,62 +97,68 @@ img {
95
97
  display: flex;
96
98
  align-items: center;
97
99
  justify-content: space-between;
98
- height: 64px;
99
- padding: 0 1.5rem;
100
+ height: 56px;
101
+ padding: 0 1.25rem;
100
102
  border-bottom: 1px solid var(--noxion-border);
101
- background-color: color-mix(in srgb, var(--noxion-background) 80%, transparent);
102
- backdrop-filter: blur(12px);
103
- -webkit-backdrop-filter: blur(12px);
103
+ background-color: color-mix(in srgb, var(--noxion-background) 82%, transparent);
104
+ backdrop-filter: saturate(180%) blur(16px);
105
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
104
106
  }
105
107
 
106
108
  @media (max-width: 640px) {
107
109
  .noxion-header {
108
- height: 56px;
110
+ height: 52px;
109
111
  padding: 0 1rem;
110
112
  }
111
113
  }
112
114
 
113
115
  .noxion-header__logo {
114
- font-size: 1.125rem;
116
+ font-size: 0.9375rem;
115
117
  font-weight: 600;
116
118
  color: var(--noxion-foreground);
117
119
  text-decoration: none;
118
- letter-spacing: -0.02em;
120
+ letter-spacing: -0.03em;
119
121
  transition: opacity var(--noxion-transition-fast);
120
122
  }
121
123
 
122
124
  .noxion-header__logo:hover {
123
- opacity: 0.7;
125
+ opacity: 0.6;
124
126
  }
125
127
 
126
128
  .noxion-header__nav {
127
129
  display: flex;
128
130
  align-items: center;
129
- gap: 2rem;
131
+ gap: 0.125rem;
130
132
  }
131
133
 
132
134
  @media (max-width: 640px) {
133
135
  .noxion-header__nav {
134
- gap: 1.25rem;
136
+ gap: 0;
135
137
  }
136
138
  }
137
139
 
138
140
  .noxion-header__nav-link {
139
141
  position: relative;
140
- font-size: 0.875rem;
142
+ font-size: 0.8125rem;
143
+ font-weight: 450;
141
144
  color: var(--noxion-mutedForeground);
142
145
  text-decoration: none;
143
- transition: color var(--noxion-transition-fast);
146
+ padding: 0.3125rem 0.625rem;
147
+ border-radius: 0.375rem;
148
+ transition:
149
+ color var(--noxion-transition-fast),
150
+ background-color var(--noxion-transition-fast);
144
151
  }
145
152
 
146
153
  .noxion-header__nav-link:hover {
147
154
  color: var(--noxion-foreground);
155
+ background-color: var(--noxion-muted);
148
156
  }
149
157
 
150
158
  .noxion-header__actions {
151
159
  display: flex;
152
160
  align-items: center;
153
- gap: 0.5rem;
161
+ gap: 0.25rem;
154
162
  }
155
163
 
156
164
  /* ============================================
@@ -161,7 +169,7 @@ img {
161
169
  display: flex;
162
170
  align-items: center;
163
171
  justify-content: space-between;
164
- padding: 2rem 1.5rem;
172
+ padding: 1.5rem 1.25rem;
165
173
  border-top: 1px solid var(--noxion-border);
166
174
  font-size: 0.8125rem;
167
175
  color: var(--noxion-mutedForeground);
@@ -170,20 +178,25 @@ img {
170
178
  @media (max-width: 640px) {
171
179
  .noxion-footer {
172
180
  flex-direction: column;
173
- gap: 0.5rem;
181
+ gap: 0.375rem;
174
182
  text-align: center;
175
- padding: 1.5rem 1rem;
183
+ padding: 1.25rem 1rem;
176
184
  }
177
185
  }
178
186
 
179
187
  .noxion-footer__copyright {
180
188
  color: inherit;
189
+ letter-spacing: -0.01em;
181
190
  }
182
191
 
183
192
  .noxion-footer__powered-by {
193
+ display: inline-flex;
194
+ align-items: center;
195
+ gap: 0.25rem;
184
196
  color: var(--noxion-mutedForeground);
185
197
  text-decoration: none;
186
198
  transition: color var(--noxion-transition-fast);
199
+ letter-spacing: -0.01em;
187
200
  }
188
201
 
189
202
  .noxion-footer__powered-by:hover {
@@ -203,15 +216,13 @@ img {
203
216
  background-color: var(--noxion-card);
204
217
  border: 1px solid var(--noxion-border);
205
218
  transition:
206
- border-color var(--noxion-transition-normal),
207
- box-shadow var(--noxion-transition-normal),
208
- transform var(--noxion-transition-normal);
219
+ border-color var(--noxion-transition-fast),
220
+ box-shadow var(--noxion-transition-fast);
209
221
  }
210
222
 
211
223
  .noxion-post-card:hover {
212
- border-color: var(--noxion-mutedForeground);
224
+ border-color: color-mix(in srgb, var(--noxion-foreground) 30%, transparent);
213
225
  box-shadow: var(--noxion-shadow-md);
214
- transform: translateY(-2px);
215
226
  }
216
227
 
217
228
  .noxion-post-card--text-only {
@@ -222,9 +233,8 @@ img {
222
233
  }
223
234
 
224
235
  .noxion-post-card--text-only:hover {
225
- border-color: var(--noxion-mutedForeground);
236
+ border-bottom-color: color-mix(in srgb, var(--noxion-foreground) 25%, transparent);
226
237
  box-shadow: none;
227
- transform: none;
228
238
  }
229
239
 
230
240
  .noxion-post-card__cover {
@@ -244,46 +254,46 @@ img {
244
254
  }
245
255
 
246
256
  .noxion-post-card:hover .noxion-post-card__cover-image {
247
- transform: scale(1.03);
257
+ transform: scale(1.025);
248
258
  }
249
259
 
250
260
  .noxion-post-card__body {
251
- padding: 1.25rem;
261
+ padding: 1.125rem;
252
262
  }
253
263
 
254
264
  .noxion-post-card--text-only .noxion-post-card__body {
255
- padding: 1.25rem 0;
265
+ padding: 1.125rem 0;
256
266
  }
257
267
 
258
268
  .noxion-post-card__category {
259
269
  display: inline-block;
260
- font-size: 0.75rem;
270
+ font-size: 0.6875rem;
261
271
  font-weight: 500;
262
- color: var(--noxion-primary);
272
+ color: var(--noxion-mutedForeground);
273
+ letter-spacing: 0.04em;
263
274
  text-transform: uppercase;
264
- letter-spacing: 0.05em;
265
275
  margin-bottom: 0.375rem;
266
276
  }
267
277
 
268
278
  .noxion-post-card__title {
269
279
  margin: 0;
270
- font-size: 1.125rem;
280
+ font-size: 1rem;
271
281
  font-weight: 600;
272
282
  color: var(--noxion-cardForeground);
273
283
  line-height: 1.4;
274
- letter-spacing: -0.01em;
284
+ letter-spacing: -0.02em;
275
285
  }
276
286
 
277
287
  .noxion-post-card--text-only .noxion-post-card__title {
278
- font-size: 1.25rem;
279
- letter-spacing: -0.02em;
288
+ font-size: 1.0625rem;
289
+ letter-spacing: -0.025em;
280
290
  }
281
291
 
282
292
  .noxion-post-card__description {
283
- margin: 0.5rem 0 0;
284
- font-size: 0.875rem;
293
+ margin: 0.375rem 0 0;
294
+ font-size: 0.8125rem;
285
295
  color: var(--noxion-mutedForeground);
286
- line-height: 1.5;
296
+ line-height: 1.55;
287
297
  display: -webkit-box;
288
298
  -webkit-line-clamp: 2;
289
299
  -webkit-box-orient: vertical;
@@ -293,27 +303,44 @@ img {
293
303
  .noxion-post-card__meta {
294
304
  display: flex;
295
305
  align-items: center;
296
- gap: 0.75rem;
297
- margin-top: 0.75rem;
306
+ gap: 0.625rem;
307
+ margin-top: 0.875rem;
308
+ }
309
+
310
+ .noxion-post-card__author {
311
+ font-size: 0.75rem;
312
+ font-weight: 500;
313
+ color: var(--noxion-mutedForeground);
314
+ letter-spacing: -0.01em;
315
+ }
316
+
317
+ .noxion-post-card__author + .noxion-post-card__date::before {
318
+ content: "·";
319
+ margin-right: 0.5rem;
320
+ opacity: 0.4;
298
321
  }
299
322
 
300
323
  .noxion-post-card__date {
301
- font-size: 0.8125rem;
324
+ font-size: 0.75rem;
325
+ font-weight: 400;
302
326
  color: var(--noxion-mutedForeground);
327
+ letter-spacing: -0.01em;
303
328
  }
304
329
 
305
330
  .noxion-post-card__tags {
306
331
  display: flex;
307
332
  flex-wrap: wrap;
308
- gap: 0.375rem;
333
+ gap: 0.3125rem;
309
334
  }
310
335
 
311
336
  .noxion-post-card__tag {
312
337
  font-size: 0.6875rem;
313
- padding: 0.125rem 0.5rem;
338
+ font-weight: 500;
339
+ padding: 0.1875rem 0.5rem;
314
340
  border-radius: 9999px;
315
341
  background-color: var(--noxion-muted);
316
342
  color: var(--noxion-mutedForeground);
343
+ letter-spacing: 0;
317
344
  transition: color var(--noxion-transition-fast);
318
345
  }
319
346
 
@@ -327,8 +354,8 @@ img {
327
354
 
328
355
  .noxion-post-list {
329
356
  display: grid;
330
- grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
331
- gap: 1.5rem;
357
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
358
+ gap: 1.25rem;
332
359
  width: 100%;
333
360
  }
334
361
 
@@ -353,12 +380,11 @@ img {
353
380
 
354
381
  .noxion-post-list--list .noxion-post-card:hover {
355
382
  box-shadow: none;
356
- transform: none;
357
- border-color: var(--noxion-mutedForeground);
383
+ border-bottom-color: color-mix(in srgb, var(--noxion-foreground) 25%, transparent);
358
384
  }
359
385
 
360
386
  .noxion-post-list--list .noxion-post-card__body {
361
- padding: 1.25rem 0;
387
+ padding: 1.125rem 0;
362
388
  }
363
389
 
364
390
  /* ============================================
@@ -368,18 +394,35 @@ img {
368
394
  .noxion-search {
369
395
  position: relative;
370
396
  width: 100%;
371
- max-width: 320px;
397
+ max-width: 280px;
398
+ display: flex;
399
+ align-items: center;
400
+ }
401
+
402
+ .noxion-search__icon {
403
+ position: absolute;
404
+ left: 0.625rem;
405
+ top: 50%;
406
+ transform: translateY(-50%);
407
+ color: var(--noxion-mutedForeground);
408
+ pointer-events: none;
409
+ display: flex;
410
+ align-items: center;
411
+ transition: color var(--noxion-transition-fast);
412
+ }
413
+
414
+ .noxion-search:focus-within .noxion-search__icon {
415
+ color: var(--noxion-foreground);
372
416
  }
373
417
 
374
418
  .noxion-search__input {
375
419
  width: 100%;
376
- padding: 0.5rem 0.875rem;
377
- padding-right: 3.5rem;
378
- border-radius: var(--noxion-border-radius);
420
+ padding: 0.4375rem 3rem 0.4375rem 2.125rem;
421
+ border-radius: 0.375rem;
379
422
  border: 1px solid var(--noxion-border);
380
- background-color: var(--noxion-muted);
423
+ background-color: var(--noxion-accent);
381
424
  color: var(--noxion-foreground);
382
- font-size: 0.875rem;
425
+ font-size: 0.8125rem;
383
426
  font-family: inherit;
384
427
  outline: none;
385
428
  transition:
@@ -393,13 +436,13 @@ img {
393
436
  }
394
437
 
395
438
  .noxion-search__input:hover {
396
- border-color: var(--noxion-mutedForeground);
439
+ border-color: color-mix(in srgb, var(--noxion-foreground) 30%, transparent);
397
440
  }
398
441
 
399
442
  .noxion-search__input:focus {
400
443
  border-color: var(--noxion-primary);
401
444
  background-color: var(--noxion-background);
402
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--noxion-primary) 15%, transparent);
445
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--noxion-primary) 10%, transparent);
403
446
  }
404
447
 
405
448
  .noxion-search__kbd {
@@ -408,14 +451,16 @@ img {
408
451
  top: 50%;
409
452
  transform: translateY(-50%);
410
453
  font-family: var(--noxion-font-sans);
411
- font-size: 0.6875rem;
412
- padding: 0.125rem 0.375rem;
454
+ font-size: 0.625rem;
455
+ font-weight: 500;
456
+ padding: 0.125rem 0.3125rem;
413
457
  border-radius: 0.25rem;
414
458
  border: 1px solid var(--noxion-border);
415
459
  background-color: var(--noxion-background);
416
460
  color: var(--noxion-mutedForeground);
417
461
  pointer-events: none;
418
- line-height: 1;
462
+ line-height: 1.4;
463
+ letter-spacing: 0.02em;
419
464
  }
420
465
 
421
466
  /* ============================================
@@ -425,7 +470,7 @@ img {
425
470
  .noxion-tag-filter {
426
471
  display: flex;
427
472
  flex-wrap: wrap;
428
- gap: 0.5rem;
473
+ gap: 0.375rem;
429
474
  }
430
475
 
431
476
  .noxion-tag-filter__tag {
@@ -435,8 +480,10 @@ img {
435
480
  background-color: transparent;
436
481
  color: var(--noxion-mutedForeground);
437
482
  font-size: 0.8125rem;
483
+ font-weight: 450;
438
484
  font-family: inherit;
439
485
  cursor: pointer;
486
+ letter-spacing: -0.01em;
440
487
  transition:
441
488
  color var(--noxion-transition-fast),
442
489
  border-color var(--noxion-transition-fast),
@@ -446,7 +493,8 @@ img {
446
493
 
447
494
  .noxion-tag-filter__tag:hover {
448
495
  color: var(--noxion-foreground);
449
- border-color: var(--noxion-foreground);
496
+ border-color: color-mix(in srgb, var(--noxion-foreground) 35%, transparent);
497
+ background-color: var(--noxion-accent);
450
498
  }
451
499
 
452
500
  .noxion-tag-filter__tag:focus-visible {
@@ -460,9 +508,23 @@ img {
460
508
  }
461
509
 
462
510
  .noxion-tag-filter__tag--selected:hover {
463
- opacity: 0.85;
511
+ opacity: 0.82;
464
512
  color: var(--noxion-background);
465
513
  border-color: var(--noxion-foreground);
514
+ background-color: var(--noxion-foreground);
515
+ }
516
+
517
+ .noxion-tag-filter__tag--more {
518
+ color: var(--noxion-mutedForeground);
519
+ border-style: dashed;
520
+ letter-spacing: 0;
521
+ }
522
+
523
+ .noxion-tag-filter__tag--more:hover {
524
+ background-color: var(--noxion-accent);
525
+ border-style: dashed;
526
+ border-color: color-mix(in srgb, var(--noxion-foreground) 35%, transparent);
527
+ color: var(--noxion-foreground);
466
528
  }
467
529
 
468
530
  /* ============================================
@@ -475,12 +537,12 @@ img {
475
537
  }
476
538
 
477
539
  .noxion-toc__heading {
478
- font-size: 0.6875rem;
540
+ font-size: 0.625rem;
479
541
  font-weight: 600;
480
542
  text-transform: uppercase;
481
- letter-spacing: 0.08em;
543
+ letter-spacing: 0.1em;
482
544
  color: var(--noxion-mutedForeground);
483
- margin-bottom: 0.875rem;
545
+ margin-bottom: 0.75rem;
484
546
  }
485
547
 
486
548
  .noxion-toc__list {
@@ -491,7 +553,7 @@ img {
491
553
  }
492
554
 
493
555
  .noxion-toc__item {
494
- margin-bottom: 0.125rem;
556
+ margin-bottom: 0;
495
557
  }
496
558
 
497
559
  .noxion-toc__link {
@@ -501,7 +563,9 @@ img {
501
563
  border-left: 2px solid transparent;
502
564
  color: var(--noxion-mutedForeground);
503
565
  text-decoration: none;
504
- line-height: 1.4;
566
+ line-height: 1.45;
567
+ font-size: 0.8125rem;
568
+ letter-spacing: -0.01em;
505
569
  transition:
506
570
  color var(--noxion-transition-fast),
507
571
  border-color var(--noxion-transition-fast);
@@ -525,24 +589,22 @@ img {
525
589
  display: inline-flex;
526
590
  align-items: center;
527
591
  justify-content: center;
528
- width: 2rem;
529
- height: 2rem;
530
- border-radius: var(--noxion-border-radius);
531
- border: 1px solid var(--noxion-border);
592
+ width: 1.875rem;
593
+ height: 1.875rem;
594
+ border-radius: 0.375rem;
595
+ border: none;
532
596
  background-color: transparent;
533
597
  cursor: pointer;
534
- font-size: 0.875rem;
535
598
  color: var(--noxion-mutedForeground);
536
599
  transition:
537
600
  color var(--noxion-transition-fast),
538
- border-color var(--noxion-transition-fast),
539
601
  background-color var(--noxion-transition-fast);
540
602
  outline: none;
603
+ padding: 0;
541
604
  }
542
605
 
543
606
  .noxion-theme-toggle:hover {
544
607
  color: var(--noxion-foreground);
545
- border-color: var(--noxion-foreground);
546
608
  background-color: var(--noxion-muted);
547
609
  }
548
610
 
@@ -561,21 +623,29 @@ img {
561
623
  justify-content: center;
562
624
  padding: 5rem 1rem;
563
625
  text-align: center;
626
+ gap: 0.5rem;
627
+ }
628
+
629
+ .noxion-empty-state__icon {
630
+ color: var(--noxion-mutedForeground);
631
+ margin-bottom: 0.75rem;
632
+ opacity: 0.5;
564
633
  }
565
634
 
566
635
  .noxion-empty-state__title {
567
- font-size: 1.25rem;
636
+ font-size: 1.0625rem;
568
637
  font-weight: 600;
569
638
  color: var(--noxion-foreground);
570
- margin: 0 0 0.375rem;
571
- letter-spacing: -0.01em;
639
+ margin: 0;
640
+ letter-spacing: -0.02em;
572
641
  }
573
642
 
574
643
  .noxion-empty-state__message {
575
- font-size: 0.9375rem;
644
+ font-size: 0.875rem;
576
645
  color: var(--noxion-mutedForeground);
577
646
  margin: 0;
578
- max-width: 360px;
647
+ max-width: 340px;
648
+ line-height: 1.55;
579
649
  }
580
650
 
581
651
  /* ============================================
@@ -598,7 +668,7 @@ img {
598
668
  width: 100%;
599
669
  max-width: var(--noxion-spacing-content);
600
670
  margin: 0 auto;
601
- padding: 2.5rem 1.5rem;
671
+ padding: 2.5rem 1.25rem;
602
672
  }
603
673
 
604
674
  @media (max-width: 640px) {