@sapphire-sh/ui 0.10.0 → 0.12.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/lib/Nav.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from 'react';
1
2
  export interface NavItem {
2
3
  href: string;
3
4
  label: string;
@@ -6,6 +7,7 @@ export interface NavItem {
6
7
  export interface NavProps {
7
8
  brand: string;
8
9
  items: readonly NavItem[];
10
+ actions?: ReactNode;
9
11
  }
10
- export declare const Nav: ({ brand, items }: NavProps) => import("react").JSX.Element;
12
+ export declare const Nav: ({ brand, items, actions }: NavProps) => import("react").JSX.Element;
11
13
  //# sourceMappingURL=Nav.d.ts.map
package/lib/Nav.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Nav.d.ts","sourceRoot":"","sources":["../src/Nav.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CAC1B;AASD,eAAO,MAAM,GAAG,qBAAsB,QAAQ,gCAoC7C,CAAC"}
1
+ {"version":3,"file":"Nav.d.ts","sourceRoot":"","sources":["../src/Nav.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,CAAC;CACpB;AASD,eAAO,MAAM,GAAG,8BAA+B,QAAQ,gCAqCtD,CAAC"}
package/lib/Nav.js CHANGED
@@ -7,13 +7,13 @@ const LINK_CLASS = 'block rounded-md px-2.5 py-1 text-sm';
7
7
  const CURRENT_LINK_CLASS = 'bg-accent-soft text-accent-ink';
8
8
  const IDLE_LINK_CLASS = 'text-muted hover:text-foreground';
9
9
  const flattenNavItems = (items) => items.flatMap((item) => [item, ...flattenNavItems(item.children ?? [])]);
10
- export const Nav = ({ brand, items }) => {
10
+ export const Nav = ({ brand, items, actions }) => {
11
11
  const pathname = usePathname();
12
12
  const current = currentNavHref(pathname, flattenNavItems(items));
13
13
  const renderLink = (item) => {
14
14
  const isCurrent = item.href === current;
15
15
  return (_jsx(Link, { href: item.href, "aria-current": isCurrent ? 'page' : undefined, className: `${LINK_CLASS} ${isCurrent ? CURRENT_LINK_CLASS : IDLE_LINK_CLASS}`, children: item.label }));
16
16
  };
17
- return (_jsxs("nav", { className: "flex items-center gap-4 border-b border-border bg-surface px-4 py-2", children: [_jsx("span", { className: "font-semibold text-foreground", children: brand }), _jsx("ul", { className: "flex items-center gap-1", children: items.map((item) => (_jsxs("li", { className: "group relative", children: [renderLink(item), item.children !== undefined && (_jsx("ul", { className: "invisible absolute top-full left-0 z-10 min-w-40 rounded-md border border-border bg-surface p-1 group-focus-within:visible group-hover:visible", children: item.children.map((child) => (_jsx("li", { children: renderLink(child) }, child.href))) }))] }, item.href))) })] }));
17
+ return (_jsxs("nav", { className: "flex items-center gap-4 border-b border-border bg-surface px-4 py-2", children: [_jsx("span", { className: "font-semibold text-foreground", children: brand }), _jsx("ul", { className: "flex items-center gap-1", children: items.map((item) => (_jsxs("li", { className: "group relative", children: [renderLink(item), item.children !== undefined && (_jsx("ul", { className: "invisible absolute top-full left-0 z-10 min-w-40 rounded-md border border-border bg-surface p-1 group-focus-within:visible group-hover:visible", children: item.children.map((child) => (_jsx("li", { children: renderLink(child) }, child.href))) }))] }, item.href))) }), actions !== undefined && _jsx("div", { className: "ml-auto", children: actions })] }));
18
18
  };
19
19
  //# sourceMappingURL=Nav.js.map
package/lib/Nav.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Nav.js","sourceRoot":"","sources":["../src/Nav.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAa9C,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,eAAe,GAAG,kCAAkC,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAa,EAAE,CAChE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAY,EAAE,EAAE;IACjD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;QACxC,OAAO,CACN,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,CAAC,IAAI,kBACD,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC5C,SAAS,EAAE,GAAG,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,EAAE,YAE7E,IAAI,CAAC,KAAK,GACL,CACP,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACN,eAAK,SAAS,EAAC,qEAAqE,aACnF,eAAM,SAAS,EAAC,+BAA+B,YAAE,KAAK,GAAQ,EAC9D,aAAI,SAAS,EAAC,yBAAyB,YACrC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACpB,cAAoB,SAAS,EAAC,gBAAgB,aAC5C,UAAU,CAAC,IAAI,CAAC,EAChB,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAC/B,aAAI,SAAS,EAAC,gJAAgJ,YAC5J,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,uBAAsB,UAAU,CAAC,KAAK,CAAC,IAA9B,KAAK,CAAC,IAAI,CAA0B,CAC7C,CAAC,GACE,CACL,KARO,IAAI,CAAC,IAAI,CASb,CACL,CAAC,GACE,IACA,CACN,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"Nav.js","sourceRoot":"","sources":["../src/Nav.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,eAAe,GAAG,kCAAkC,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAa,EAAE,CAChE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAY,EAAE,EAAE;IAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;QACxC,OAAO,CACN,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,CAAC,IAAI,kBACD,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC5C,SAAS,EAAE,GAAG,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,EAAE,YAE7E,IAAI,CAAC,KAAK,GACL,CACP,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACN,eAAK,SAAS,EAAC,qEAAqE,aACnF,eAAM,SAAS,EAAC,+BAA+B,YAAE,KAAK,GAAQ,EAC9D,aAAI,SAAS,EAAC,yBAAyB,YACrC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACpB,cAAoB,SAAS,EAAC,gBAAgB,aAC5C,UAAU,CAAC,IAAI,CAAC,EAChB,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAC/B,aAAI,SAAS,EAAC,gJAAgJ,YAC5J,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,uBAAsB,UAAU,CAAC,KAAK,CAAC,IAA9B,KAAK,CAAC,IAAI,CAA0B,CAC7C,CAAC,GACE,CACL,KARO,IAAI,CAAC,IAAI,CASb,CACL,CAAC,GACE,EACJ,OAAO,KAAK,SAAS,IAAI,cAAK,SAAS,EAAC,SAAS,YAAE,OAAO,GAAO,IAC7D,CACN,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type ColorScheme = 'light' | 'dark';
2
+ export declare const ThemeToggle: () => import("react").JSX.Element;
3
+ //# sourceMappingURL=ThemeToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../src/ThemeToggle.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAwB3C,eAAO,MAAM,WAAW,mCAoBvB,CAAC"}
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Moon, Sun } from 'lucide-react';
4
+ import { useState, useSyncExternalStore } from 'react';
5
+ import { Button } from './Button.js';
6
+ const DARK_QUERY = '(prefers-color-scheme: dark)';
7
+ const subscribe = (onChange) => {
8
+ const query = window.matchMedia(DARK_QUERY);
9
+ query.addEventListener('change', onChange);
10
+ return () => {
11
+ query.removeEventListener('change', onChange);
12
+ };
13
+ };
14
+ const getSnapshot = () => (window.matchMedia(DARK_QUERY).matches ? 'dark' : 'light');
15
+ const getServerSnapshot = () => 'light';
16
+ const readPressedScheme = () => {
17
+ if (typeof document === 'undefined') {
18
+ return null;
19
+ }
20
+ const { theme } = document.documentElement.dataset;
21
+ return theme === 'light' || theme === 'dark' ? theme : null;
22
+ };
23
+ export const ThemeToggle = () => {
24
+ const systemScheme = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
25
+ const [pressedScheme, setPressedScheme] = useState(readPressedScheme);
26
+ const scheme = pressedScheme ?? systemScheme;
27
+ const Icon = scheme === 'dark' ? Sun : Moon;
28
+ return (_jsx(Button, { variant: "ghost", "aria-label": "Dark mode", "aria-pressed": scheme === 'dark', onClick: () => {
29
+ const next = scheme === 'dark' ? 'light' : 'dark';
30
+ setPressedScheme(next);
31
+ document.documentElement.dataset.theme = next;
32
+ }, children: _jsx(Icon, { "aria-hidden": true, className: "size-4" }) }));
33
+ };
34
+ //# sourceMappingURL=ThemeToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeToggle.js","sourceRoot":"","sources":["../src/ThemeToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,MAAM,UAAU,GAAG,8BAA8B,CAAC;AAElD,MAAM,SAAS,GAAG,CAAC,QAAoB,EAAE,EAAE;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,OAAO,GAAG,EAAE;QACX,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAElG,MAAM,iBAAiB,GAAG,GAAgB,EAAE,CAAC,OAAO,CAAC;AAErD,MAAM,iBAAiB,GAAG,GAAuB,EAAE;IAClD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;IACnD,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC/B,MAAM,YAAY,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACrF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAqB,iBAAiB,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,aAAa,IAAI,YAAY,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5C,OAAO,CACN,KAAC,MAAM,IACN,OAAO,EAAC,OAAO,gBACJ,WAAW,kBACR,MAAM,KAAK,MAAM,EAC/B,OAAO,EAAE,GAAG,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAClD,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/C,CAAC,YAED,KAAC,IAAI,yBAAa,SAAS,EAAC,QAAQ,GAAG,GAC/B,CACT,CAAC;AACH,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export { currentNavHref } from './navHref.js';
9
9
  export { Pagination } from './Pagination.js';
10
10
  export { paginationTargets } from './paginationTargets.js';
11
11
  export { LoadingBlock, Spinner } from './Spinner.js';
12
+ export { ThemeToggle } from './ThemeToggle.js';
12
13
  export { ToastProvider, useToast } from './Toast.js';
13
14
  export { colorTokens } from './tokens.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
package/lib/index.js CHANGED
@@ -9,6 +9,7 @@ export { currentNavHref } from './navHref.js';
9
9
  export { Pagination } from './Pagination.js';
10
10
  export { paginationTargets } from './paginationTargets.js';
11
11
  export { LoadingBlock, Spinner } from './Spinner.js';
12
+ export { ThemeToggle } from './ThemeToggle.js';
12
13
  export { ToastProvider, useToast } from './Toast.js';
13
14
  export { colorTokens } from './tokens.js';
14
15
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
package/lib/theme.css CHANGED
@@ -1,5 +1,5 @@
1
1
  :root {
2
- --background: oklch(0.985 0.004 255);
2
+ --background: oklch(1 0 0);
3
3
  --surface: oklch(1 0 0);
4
4
  --raised: oklch(0.955 0.007 255);
5
5
  --border: oklch(0.895 0.01 255);
@@ -19,7 +19,7 @@
19
19
  }
20
20
 
21
21
  @media (prefers-color-scheme: dark) {
22
- :root {
22
+ :root:not([data-theme='light']) {
23
23
  color-scheme: dark;
24
24
  --background: oklch(0.17 0.012 255);
25
25
  --surface: oklch(0.21 0.014 255);
@@ -41,6 +41,27 @@
41
41
  }
42
42
  }
43
43
 
44
+ :root[data-theme='dark'] {
45
+ color-scheme: dark;
46
+ --background: oklch(0.17 0.012 255);
47
+ --surface: oklch(0.21 0.014 255);
48
+ --raised: oklch(0.25 0.016 255);
49
+ --border: oklch(0.32 0.016 255);
50
+ --foreground: oklch(0.94 0.008 255);
51
+ --muted: oklch(0.69 0.015 255);
52
+ --faint: oklch(0.45 0.014 255);
53
+ --accent: oklch(0.72 0.14 255);
54
+ --accent-foreground: oklch(0.17 0.02 255);
55
+ --accent-soft: oklch(0.31 0.06 255);
56
+ --accent-ink: oklch(0.84 0.09 255);
57
+ --danger: oklch(0.71 0.16 25);
58
+ --success: oklch(0.75 0.13 150);
59
+ --warning: oklch(0.828 0.189 84.4);
60
+ --mark-rose: oklch(0.712 0.194 13.4);
61
+ --mark-violet: oklch(0.811 0.111 293.6);
62
+ --mark-slate: oklch(0.869 0.022 252.9);
63
+ }
64
+
44
65
  @theme inline {
45
66
  --color-background: var(--background);
46
67
  --color-surface: var(--surface);
package/lib/tokens.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export const colorTokens = {
2
2
  light: {
3
- background: 'oklch(0.985 0.004 255)',
3
+ background: 'oklch(1 0 0)',
4
4
  surface: 'oklch(1 0 0)',
5
5
  raised: 'oklch(0.955 0.007 255)',
6
6
  border: 'oklch(0.895 0.01 255)',
package/lib/tokens.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,KAAK,EAAE;QACN,UAAU,EAAE,wBAAwB;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,uBAAuB;QAC/B,UAAU,EAAE,sBAAsB;QAClC,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,mBAAmB,EAAE,iBAAiB;QACtC,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,yBAAyB;QACtC,aAAa,EAAE,yBAAyB;QACxC,YAAY,EAAE,0BAA0B;KACxC;IACD,IAAI,EAAE;QACL,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,uBAAuB;QAC/B,UAAU,EAAE,uBAAuB;QACnC,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,mBAAmB,EAAE,sBAAsB;QAC3C,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,yBAAyB;QAClC,WAAW,EAAE,yBAAyB;QACtC,aAAa,EAAE,0BAA0B;QACzC,YAAY,EAAE,0BAA0B;KACxC;CACD,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,KAAK,EAAE;QACN,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,uBAAuB;QAC/B,UAAU,EAAE,sBAAsB;QAClC,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,mBAAmB,EAAE,iBAAiB;QACtC,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,yBAAyB;QACtC,aAAa,EAAE,yBAAyB;QACxC,YAAY,EAAE,0BAA0B;KACxC;IACD,IAAI,EAAE;QACL,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,uBAAuB;QAC/B,UAAU,EAAE,uBAAuB;QACnC,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,mBAAmB,EAAE,sBAAsB;QAC3C,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,yBAAyB;QAClC,WAAW,EAAE,yBAAyB;QACtC,aAAa,EAAE,0BAA0B;QACzC,YAAY,EAAE,0BAA0B;KACxC;CACD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapphire-sh/ui",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "description": "@sapphire-sh/ui",
5
5
  "type": "module",
6
6
  "sideEffects": [