achery-ui 0.10.1 → 0.10.3

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.
@@ -87,5 +87,5 @@ var accentColors = {
87
87
  var accentColorNames = Object.keys(accentColors);
88
88
 
89
89
  export { accentColorNames, accentColors, palette };
90
- //# sourceMappingURL=chunk-NDOQ2YVM.js.map
91
- //# sourceMappingURL=chunk-NDOQ2YVM.js.map
90
+ //# sourceMappingURL=chunk-SZRZ6HQ6.js.map
91
+ //# sourceMappingURL=chunk-SZRZ6HQ6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tokens/palette.ts","../src/tokens/accents.ts"],"names":[],"mappings":"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","file":"chunk-SZRZ6HQ6.js","sourcesContent":["export const palette = {\n ink: '#1f1d18',\n inkDeep: '#14130f',\n\n paper: '#fbf8f0',\n paperWarm: '#f0e9d6',\n paperToasted: '#e6dec5',\n cream: '#e8dfc8',\n creamSoft: '#d8cdb0',\n\n mossDeep: '#2e3a20',\n moss: '#4a5a32',\n mossMid: '#6b7a48',\n mossLight: '#8da866',\n sage: '#b6c898',\n\n terracotta: '#c46a3a',\n terracottaDeep: '#a05526',\n terracottaLight: '#d97a4a',\n\n plum: '#5d4a6a',\n plumMid: '#7a5e8a',\n plumLight: '#8b6fa8',\n\n rust: '#8a3a22',\n ochre: '#b8924a',\n\n leather: '#6b3a26',\n leatherMid: '#8a4e34',\n leatherLight: '#a86a48',\n\n copper: '#b8742a',\n copperDeep: '#8a531a',\n copperLight: '#d68f48',\n copperPatina: '#5a7a6a',\n\n silver: '#a8a098',\n silverDeep: '#6e6a62',\n silverLight: '#c8c0b6',\n\n wood: '#7a5a3a',\n woodLight: '#a88660',\n woodDeep: '#4a3422',\n\n gold: '#c69a4a',\n goldDeep: '#9a7430',\n goldLight: '#e0bc70',\n\n success: '#6ba03d',\n} as const\n\nexport type PaletteKey = keyof typeof palette\n","import { palette } from './palette'\nimport type { AccentColor } from '../types/theme'\n\nexport type { AccentColor }\n\nexport const accentColors: Record<AccentColor, {\n readonly main: string\n readonly light: string\n readonly deep: string\n readonly fg: string\n readonly fgDark: string\n}> = {\n terracotta: {\n main: palette.terracotta,\n light: palette.terracottaLight,\n deep: palette.terracottaDeep,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n moss: {\n main: palette.moss,\n light: palette.mossLight,\n deep: palette.mossDeep,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n plum: {\n main: palette.plum,\n light: palette.plumLight,\n deep: palette.plum,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n ochre: {\n main: palette.ochre,\n light: palette.goldLight,\n deep: palette.goldDeep,\n fg: palette.ink,\n fgDark: palette.ink,\n },\n rust: {\n main: palette.rust,\n light: palette.terracotta,\n deep: palette.rust,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n copper: {\n main: palette.copper,\n light: palette.copperLight,\n deep: palette.copperDeep,\n fg: palette.ink,\n fgDark: palette.ink,\n },\n} as const\n\nexport const accentColorNames = Object.keys(accentColors) as AccentColor[]\n"]}
@@ -91,5 +91,5 @@ var accentColorNames = Object.keys(accentColors);
91
91
  exports.accentColorNames = accentColorNames;
92
92
  exports.accentColors = accentColors;
93
93
  exports.palette = palette;
94
- //# sourceMappingURL=chunk-LJ24EJ3N.cjs.map
95
- //# sourceMappingURL=chunk-LJ24EJ3N.cjs.map
94
+ //# sourceMappingURL=chunk-V5XG7NXB.cjs.map
95
+ //# sourceMappingURL=chunk-V5XG7NXB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tokens/palette.ts","../src/tokens/accents.ts"],"names":[],"mappings":"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","file":"chunk-V5XG7NXB.cjs","sourcesContent":["export const palette = {\n ink: '#1f1d18',\n inkDeep: '#14130f',\n\n paper: '#fbf8f0',\n paperWarm: '#f0e9d6',\n paperToasted: '#e6dec5',\n cream: '#e8dfc8',\n creamSoft: '#d8cdb0',\n\n mossDeep: '#2e3a20',\n moss: '#4a5a32',\n mossMid: '#6b7a48',\n mossLight: '#8da866',\n sage: '#b6c898',\n\n terracotta: '#c46a3a',\n terracottaDeep: '#a05526',\n terracottaLight: '#d97a4a',\n\n plum: '#5d4a6a',\n plumMid: '#7a5e8a',\n plumLight: '#8b6fa8',\n\n rust: '#8a3a22',\n ochre: '#b8924a',\n\n leather: '#6b3a26',\n leatherMid: '#8a4e34',\n leatherLight: '#a86a48',\n\n copper: '#b8742a',\n copperDeep: '#8a531a',\n copperLight: '#d68f48',\n copperPatina: '#5a7a6a',\n\n silver: '#a8a098',\n silverDeep: '#6e6a62',\n silverLight: '#c8c0b6',\n\n wood: '#7a5a3a',\n woodLight: '#a88660',\n woodDeep: '#4a3422',\n\n gold: '#c69a4a',\n goldDeep: '#9a7430',\n goldLight: '#e0bc70',\n\n success: '#6ba03d',\n} as const\n\nexport type PaletteKey = keyof typeof palette\n","import { palette } from './palette'\nimport type { AccentColor } from '../types/theme'\n\nexport type { AccentColor }\n\nexport const accentColors: Record<AccentColor, {\n readonly main: string\n readonly light: string\n readonly deep: string\n readonly fg: string\n readonly fgDark: string\n}> = {\n terracotta: {\n main: palette.terracotta,\n light: palette.terracottaLight,\n deep: palette.terracottaDeep,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n moss: {\n main: palette.moss,\n light: palette.mossLight,\n deep: palette.mossDeep,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n plum: {\n main: palette.plum,\n light: palette.plumLight,\n deep: palette.plum,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n ochre: {\n main: palette.ochre,\n light: palette.goldLight,\n deep: palette.goldDeep,\n fg: palette.ink,\n fgDark: palette.ink,\n },\n rust: {\n main: palette.rust,\n light: palette.terracotta,\n deep: palette.rust,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n copper: {\n main: palette.copper,\n light: palette.copperLight,\n deep: palette.copperDeep,\n fg: palette.ink,\n fgDark: palette.ink,\n },\n} as const\n\nexport const accentColorNames = Object.keys(accentColors) as AccentColor[]\n"]}
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLJ24EJ3N_cjs = require('./chunk-LJ24EJ3N.cjs');
3
+ var chunkV5XG7NXB_cjs = require('./chunk-V5XG7NXB.cjs');
4
4
  var chunkWMF2ZDRE_cjs = require('./chunk-WMF2ZDRE.cjs');
5
5
  var react = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -2410,7 +2410,7 @@ function AppBar({
2410
2410
  ] }) }),
2411
2411
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: actions, children: [
2412
2412
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: actionsInner, children: [
2413
- onAccentChange && /* @__PURE__ */ jsxRuntime.jsx("div", { className: accentPicker, role: "group", "aria-label": "Brand colour", children: chunkLJ24EJ3N_cjs.accentColorNames.map((name) => /* @__PURE__ */ jsxRuntime.jsx(
2413
+ onAccentChange && /* @__PURE__ */ jsxRuntime.jsx("div", { className: accentPicker, role: "group", "aria-label": "Brand colour", children: chunkV5XG7NXB_cjs.accentColorNames.map((name) => /* @__PURE__ */ jsxRuntime.jsx(
2414
2414
  "button",
2415
2415
  {
2416
2416
  className: accentSwatch,
@@ -2418,7 +2418,7 @@ function AppBar({
2418
2418
  onClick: () => onAccentChange(name),
2419
2419
  "aria-label": name,
2420
2420
  "aria-pressed": name === accent,
2421
- style: { background: chunkLJ24EJ3N_cjs.accentColors[name].main }
2421
+ style: { background: chunkV5XG7NXB_cjs.accentColors[name].main }
2422
2422
  },
2423
2423
  name
2424
2424
  )) }),
package/dist/index.d.cts CHANGED
@@ -1,71 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode, SVGProps, HTMLAttributes, ElementType, ButtonHTMLAttributes, InputHTMLAttributes, SelectHTMLAttributes, TextareaHTMLAttributes, ComponentType, CSSProperties } from 'react';
3
- import { A as AccentColor } from './accents-DrqL1lLe.cjs';
3
+ import { T as ThemeMode, A as AccentColor, a as AccentDial, M as MaterialSignature, b as ThemeContextValue, c as MaterialIntensity } from './theme-DOaMliRj.cjs';
4
4
  import * as _vanilla_extract_recipes from '@vanilla-extract/recipes';
5
5
  import { RecipeVariants } from '@vanilla-extract/recipes';
6
6
 
7
- /**
8
- * The user's colour-mode **preference**.
9
- * - `'light'` / `'dark'` — explicit override
10
- * - `'system'` — follow the OS `prefers-color-scheme` media query
11
- */
12
- type ThemeMode = 'light' | 'dark' | 'system';
13
- /** The **resolved** colour mode actually applied to the DOM — always `'light'` or `'dark'`. */
14
- type ResolvedTheme = 'light' | 'dark';
15
- /**
16
- * Controls how loudly the accent runs across the working UI.
17
- * Set once on the project root via `<AcheryProvider defaultDial="chrome">`.
18
- *
19
- * - `'underline'` — accent only on links, focus rings, and the active-tab underline
20
- * - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outline buttons (default)
21
- * - `'surface'` — one signature panel floods with accent colour (`.signature-surface`)
22
- */
23
- type AccentDial = 'underline' | 'chrome' | 'surface';
24
- /**
25
- * The hero material a project uses for its contained, occasional objects
26
- * (modals, dialogs, featured cards, receipts).
27
- *
28
- * - `'none'` — no material signature; objects use plain paper/ink (default)
29
- * - `'leather'` — cordovan + gilt; warm, bookish
30
- * - `'wood'` — walnut + pewter; honest, mid-tone
31
- * - `'copper'` — oxidised copper + patina; energetic, high-contrast
32
- */
33
- type MaterialSignature = 'none' | 'leather' | 'wood' | 'copper';
34
- /**
35
- * How much of the material surfaces on a `.material` object.
36
- *
37
- * - `'chrome'` — material only as a spine/trim + metal accents; paper body (default)
38
- * - `'surface'` — material header band over a paper body
39
- * - `'full'` — the whole object in material; reserve for rare, celebratory moments
40
- */
41
- type MaterialIntensity = 'chrome' | 'surface' | 'full';
42
- /**
43
- * Value provided by {@link ThemeContext} and returned by {@link useTheme}.
44
- * Gives components read/write access to the active theme, accent, dial, and material.
45
- */
46
- interface ThemeContextValue {
47
- /** The user's colour-mode preference (`'light'` | `'dark'` | `'system'`). */
48
- mode: ThemeMode;
49
- /** The resolved colour applied to the DOM — always `'light'` or `'dark'`. */
50
- theme: ResolvedTheme;
51
- /** Set the colour-mode preference. */
52
- setTheme: (theme: ThemeMode) => void;
53
- /** Toggle between `'light'` and `'dark'` (skips `'system'`). */
54
- toggleTheme: () => void;
55
- /** Currently active accent colour. */
56
- accent: AccentColor;
57
- /** Set the accent colour. */
58
- setAccent: (accent: AccentColor) => void;
59
- /** How loudly the accent runs across the working UI. */
60
- dial: AccentDial;
61
- /** Set the accent dial. */
62
- setDial: (dial: AccentDial) => void;
63
- /** The hero material signature for this project. */
64
- material: MaterialSignature;
65
- /** Set the material signature. */
66
- setMaterial: (material: MaterialSignature) => void;
67
- }
68
-
69
7
  /** Props for the {@link AcheryProvider} component. */
70
8
  interface AcheryProviderProps {
71
9
  children: ReactNode;
@@ -2180,4 +2118,4 @@ interface SegmentedControlProps<T extends string = string> {
2180
2118
  */
2181
2119
  declare const SegmentedControl: <T extends string>({ options, value, onChange, size, disabled, className, }: SegmentedControlProps<T>) => react_jsx_runtime.JSX.Element;
2182
2120
 
2183
- export { AccentColor, type AccentDial, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, ColourInput, type ColourInputProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, ConfirmDialogProvider, type ConfirmOptions, DatePicker, type DatePickerProps, DetailRail, type DetailRailProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, GlyphAliases, GlyphCategories, type GlyphCategory, type GlyphName, GlyphPicker, type GlyphPickerProps, type GlyphProps, type GlyphSearchResult, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, MaterialCard, type MaterialCardProps, type MaterialIntensity, type MaterialSignature, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, glyphCategory, glyphLabel, searchGlyphs, useConfirm, useTheme, useToast, vars };
2121
+ export { AccentColor, AccentDial, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, ColourInput, type ColourInputProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, ConfirmDialogProvider, type ConfirmOptions, DatePicker, type DatePickerProps, DetailRail, type DetailRailProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, GlyphAliases, GlyphCategories, type GlyphCategory, type GlyphName, GlyphPicker, type GlyphPickerProps, type GlyphProps, type GlyphSearchResult, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, MaterialCard, type MaterialCardProps, MaterialIntensity, MaterialSignature, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, glyphCategory, glyphLabel, searchGlyphs, useConfirm, useTheme, useToast, vars };
package/dist/index.d.ts CHANGED
@@ -1,71 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode, SVGProps, HTMLAttributes, ElementType, ButtonHTMLAttributes, InputHTMLAttributes, SelectHTMLAttributes, TextareaHTMLAttributes, ComponentType, CSSProperties } from 'react';
3
- import { A as AccentColor } from './accents-DrqL1lLe.js';
3
+ import { T as ThemeMode, A as AccentColor, a as AccentDial, M as MaterialSignature, b as ThemeContextValue, c as MaterialIntensity } from './theme-DOaMliRj.js';
4
4
  import * as _vanilla_extract_recipes from '@vanilla-extract/recipes';
5
5
  import { RecipeVariants } from '@vanilla-extract/recipes';
6
6
 
7
- /**
8
- * The user's colour-mode **preference**.
9
- * - `'light'` / `'dark'` — explicit override
10
- * - `'system'` — follow the OS `prefers-color-scheme` media query
11
- */
12
- type ThemeMode = 'light' | 'dark' | 'system';
13
- /** The **resolved** colour mode actually applied to the DOM — always `'light'` or `'dark'`. */
14
- type ResolvedTheme = 'light' | 'dark';
15
- /**
16
- * Controls how loudly the accent runs across the working UI.
17
- * Set once on the project root via `<AcheryProvider defaultDial="chrome">`.
18
- *
19
- * - `'underline'` — accent only on links, focus rings, and the active-tab underline
20
- * - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outline buttons (default)
21
- * - `'surface'` — one signature panel floods with accent colour (`.signature-surface`)
22
- */
23
- type AccentDial = 'underline' | 'chrome' | 'surface';
24
- /**
25
- * The hero material a project uses for its contained, occasional objects
26
- * (modals, dialogs, featured cards, receipts).
27
- *
28
- * - `'none'` — no material signature; objects use plain paper/ink (default)
29
- * - `'leather'` — cordovan + gilt; warm, bookish
30
- * - `'wood'` — walnut + pewter; honest, mid-tone
31
- * - `'copper'` — oxidised copper + patina; energetic, high-contrast
32
- */
33
- type MaterialSignature = 'none' | 'leather' | 'wood' | 'copper';
34
- /**
35
- * How much of the material surfaces on a `.material` object.
36
- *
37
- * - `'chrome'` — material only as a spine/trim + metal accents; paper body (default)
38
- * - `'surface'` — material header band over a paper body
39
- * - `'full'` — the whole object in material; reserve for rare, celebratory moments
40
- */
41
- type MaterialIntensity = 'chrome' | 'surface' | 'full';
42
- /**
43
- * Value provided by {@link ThemeContext} and returned by {@link useTheme}.
44
- * Gives components read/write access to the active theme, accent, dial, and material.
45
- */
46
- interface ThemeContextValue {
47
- /** The user's colour-mode preference (`'light'` | `'dark'` | `'system'`). */
48
- mode: ThemeMode;
49
- /** The resolved colour applied to the DOM — always `'light'` or `'dark'`. */
50
- theme: ResolvedTheme;
51
- /** Set the colour-mode preference. */
52
- setTheme: (theme: ThemeMode) => void;
53
- /** Toggle between `'light'` and `'dark'` (skips `'system'`). */
54
- toggleTheme: () => void;
55
- /** Currently active accent colour. */
56
- accent: AccentColor;
57
- /** Set the accent colour. */
58
- setAccent: (accent: AccentColor) => void;
59
- /** How loudly the accent runs across the working UI. */
60
- dial: AccentDial;
61
- /** Set the accent dial. */
62
- setDial: (dial: AccentDial) => void;
63
- /** The hero material signature for this project. */
64
- material: MaterialSignature;
65
- /** Set the material signature. */
66
- setMaterial: (material: MaterialSignature) => void;
67
- }
68
-
69
7
  /** Props for the {@link AcheryProvider} component. */
70
8
  interface AcheryProviderProps {
71
9
  children: ReactNode;
@@ -2180,4 +2118,4 @@ interface SegmentedControlProps<T extends string = string> {
2180
2118
  */
2181
2119
  declare const SegmentedControl: <T extends string>({ options, value, onChange, size, disabled, className, }: SegmentedControlProps<T>) => react_jsx_runtime.JSX.Element;
2182
2120
 
2183
- export { AccentColor, type AccentDial, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, ColourInput, type ColourInputProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, ConfirmDialogProvider, type ConfirmOptions, DatePicker, type DatePickerProps, DetailRail, type DetailRailProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, GlyphAliases, GlyphCategories, type GlyphCategory, type GlyphName, GlyphPicker, type GlyphPickerProps, type GlyphProps, type GlyphSearchResult, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, MaterialCard, type MaterialCardProps, type MaterialIntensity, type MaterialSignature, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, glyphCategory, glyphLabel, searchGlyphs, useConfirm, useTheme, useToast, vars };
2121
+ export { AccentColor, AccentDial, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, ColourInput, type ColourInputProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, ConfirmDialogProvider, type ConfirmOptions, DatePicker, type DatePickerProps, DetailRail, type DetailRailProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, GlyphAliases, GlyphCategories, type GlyphCategory, type GlyphName, GlyphPicker, type GlyphPickerProps, type GlyphProps, type GlyphSearchResult, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, MaterialCard, type MaterialCardProps, MaterialIntensity, MaterialSignature, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, glyphCategory, glyphLabel, searchGlyphs, useConfirm, useTheme, useToast, vars };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { accentColorNames, accentColors } from './chunk-NDOQ2YVM.js';
1
+ import { accentColorNames, accentColors } from './chunk-SZRZ6HQ6.js';
2
2
  import { __glob } from './chunk-QKQ47GQZ.js';
3
3
  import { createContext, useState, useEffect, useCallback, useContext, Suspense, useRef, useMemo, useId, lazy } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -0,0 +1,68 @@
1
+ /**
2
+ * The user's colour-mode **preference**.
3
+ * - `'light'` / `'dark'` — explicit override
4
+ * - `'system'` — follow the OS `prefers-color-scheme` media query
5
+ */
6
+ type ThemeMode = 'light' | 'dark' | 'system';
7
+ /** The **resolved** colour mode actually applied to the DOM — always `'light'` or `'dark'`. */
8
+ type ResolvedTheme = 'light' | 'dark';
9
+ /**
10
+ * Controls how loudly the accent runs across the working UI.
11
+ * Set once on the project root via `<AcheryProvider defaultDial="chrome">`.
12
+ *
13
+ * - `'underline'` — accent only on links, focus rings, and the active-tab underline
14
+ * - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outline buttons (default)
15
+ * - `'surface'` — one signature panel floods with accent colour (`.signature-surface`)
16
+ */
17
+ /**
18
+ * The accent colour palette.
19
+ * Matches the keys of `accentColors` in `src/tokens/accents.ts` — keep them in sync.
20
+ */
21
+ type AccentColor = 'terracotta' | 'moss' | 'plum' | 'ochre' | 'rust' | 'copper';
22
+ type AccentDial = 'underline' | 'chrome' | 'surface';
23
+ /**
24
+ * The hero material a project uses for its contained, occasional objects
25
+ * (modals, dialogs, featured cards, receipts).
26
+ *
27
+ * - `'none'` — no material signature; objects use plain paper/ink (default)
28
+ * - `'leather'` — cordovan + gilt; warm, bookish
29
+ * - `'wood'` — walnut + pewter; honest, mid-tone
30
+ * - `'copper'` — oxidised copper + patina; energetic, high-contrast
31
+ */
32
+ type MaterialSignature = 'none' | 'leather' | 'wood' | 'copper';
33
+ /**
34
+ * How much of the material surfaces on a `.material` object.
35
+ *
36
+ * - `'chrome'` — material only as a spine/trim + metal accents; paper body (default)
37
+ * - `'surface'` — material header band over a paper body
38
+ * - `'full'` — the whole object in material; reserve for rare, celebratory moments
39
+ */
40
+ type MaterialIntensity = 'chrome' | 'surface' | 'full';
41
+ /**
42
+ * Value provided by {@link ThemeContext} and returned by {@link useTheme}.
43
+ * Gives components read/write access to the active theme, accent, dial, and material.
44
+ */
45
+ interface ThemeContextValue {
46
+ /** The user's colour-mode preference (`'light'` | `'dark'` | `'system'`). */
47
+ mode: ThemeMode;
48
+ /** The resolved colour applied to the DOM — always `'light'` or `'dark'`. */
49
+ theme: ResolvedTheme;
50
+ /** Set the colour-mode preference. */
51
+ setTheme: (theme: ThemeMode) => void;
52
+ /** Toggle between `'light'` and `'dark'` (skips `'system'`). */
53
+ toggleTheme: () => void;
54
+ /** Currently active accent colour. */
55
+ accent: AccentColor;
56
+ /** Set the accent colour. */
57
+ setAccent: (accent: AccentColor) => void;
58
+ /** How loudly the accent runs across the working UI. */
59
+ dial: AccentDial;
60
+ /** Set the accent dial. */
61
+ setDial: (dial: AccentDial) => void;
62
+ /** The hero material signature for this project. */
63
+ material: MaterialSignature;
64
+ /** Set the material signature. */
65
+ setMaterial: (material: MaterialSignature) => void;
66
+ }
67
+
68
+ export type { AccentColor as A, MaterialSignature as M, ThemeMode as T, AccentDial as a, ThemeContextValue as b, MaterialIntensity as c };
@@ -0,0 +1,68 @@
1
+ /**
2
+ * The user's colour-mode **preference**.
3
+ * - `'light'` / `'dark'` — explicit override
4
+ * - `'system'` — follow the OS `prefers-color-scheme` media query
5
+ */
6
+ type ThemeMode = 'light' | 'dark' | 'system';
7
+ /** The **resolved** colour mode actually applied to the DOM — always `'light'` or `'dark'`. */
8
+ type ResolvedTheme = 'light' | 'dark';
9
+ /**
10
+ * Controls how loudly the accent runs across the working UI.
11
+ * Set once on the project root via `<AcheryProvider defaultDial="chrome">`.
12
+ *
13
+ * - `'underline'` — accent only on links, focus rings, and the active-tab underline
14
+ * - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outline buttons (default)
15
+ * - `'surface'` — one signature panel floods with accent colour (`.signature-surface`)
16
+ */
17
+ /**
18
+ * The accent colour palette.
19
+ * Matches the keys of `accentColors` in `src/tokens/accents.ts` — keep them in sync.
20
+ */
21
+ type AccentColor = 'terracotta' | 'moss' | 'plum' | 'ochre' | 'rust' | 'copper';
22
+ type AccentDial = 'underline' | 'chrome' | 'surface';
23
+ /**
24
+ * The hero material a project uses for its contained, occasional objects
25
+ * (modals, dialogs, featured cards, receipts).
26
+ *
27
+ * - `'none'` — no material signature; objects use plain paper/ink (default)
28
+ * - `'leather'` — cordovan + gilt; warm, bookish
29
+ * - `'wood'` — walnut + pewter; honest, mid-tone
30
+ * - `'copper'` — oxidised copper + patina; energetic, high-contrast
31
+ */
32
+ type MaterialSignature = 'none' | 'leather' | 'wood' | 'copper';
33
+ /**
34
+ * How much of the material surfaces on a `.material` object.
35
+ *
36
+ * - `'chrome'` — material only as a spine/trim + metal accents; paper body (default)
37
+ * - `'surface'` — material header band over a paper body
38
+ * - `'full'` — the whole object in material; reserve for rare, celebratory moments
39
+ */
40
+ type MaterialIntensity = 'chrome' | 'surface' | 'full';
41
+ /**
42
+ * Value provided by {@link ThemeContext} and returned by {@link useTheme}.
43
+ * Gives components read/write access to the active theme, accent, dial, and material.
44
+ */
45
+ interface ThemeContextValue {
46
+ /** The user's colour-mode preference (`'light'` | `'dark'` | `'system'`). */
47
+ mode: ThemeMode;
48
+ /** The resolved colour applied to the DOM — always `'light'` or `'dark'`. */
49
+ theme: ResolvedTheme;
50
+ /** Set the colour-mode preference. */
51
+ setTheme: (theme: ThemeMode) => void;
52
+ /** Toggle between `'light'` and `'dark'` (skips `'system'`). */
53
+ toggleTheme: () => void;
54
+ /** Currently active accent colour. */
55
+ accent: AccentColor;
56
+ /** Set the accent colour. */
57
+ setAccent: (accent: AccentColor) => void;
58
+ /** How loudly the accent runs across the working UI. */
59
+ dial: AccentDial;
60
+ /** Set the accent dial. */
61
+ setDial: (dial: AccentDial) => void;
62
+ /** The hero material signature for this project. */
63
+ material: MaterialSignature;
64
+ /** Set the material signature. */
65
+ setMaterial: (material: MaterialSignature) => void;
66
+ }
67
+
68
+ export type { AccentColor as A, MaterialSignature as M, ThemeMode as T, AccentDial as a, ThemeContextValue as b, MaterialIntensity as c };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLJ24EJ3N_cjs = require('../chunk-LJ24EJ3N.cjs');
3
+ var chunkV5XG7NXB_cjs = require('../chunk-V5XG7NXB.cjs');
4
4
  require('../chunk-WMF2ZDRE.cjs');
5
5
 
6
6
  // src/tokens/spacing.ts
@@ -103,86 +103,86 @@ var zIndex = {
103
103
  // src/tokens/semantic.ts
104
104
  var materialDefaults = {
105
105
  // Material system — leather signature defaults; overridden by setMaterial in native context
106
- materialLeather: chunkLJ24EJ3N_cjs.palette.leather,
107
- materialLeatherFg: chunkLJ24EJ3N_cjs.palette.paper,
108
- materialWood: chunkLJ24EJ3N_cjs.palette.wood,
109
- materialWoodFg: chunkLJ24EJ3N_cjs.palette.paper,
110
- materialCopper: chunkLJ24EJ3N_cjs.palette.copper,
111
- materialCopperFg: chunkLJ24EJ3N_cjs.palette.ink,
112
- gold: chunkLJ24EJ3N_cjs.palette.gold,
113
- goldDeep: chunkLJ24EJ3N_cjs.palette.goldDeep,
114
- goldLight: chunkLJ24EJ3N_cjs.palette.goldLight,
115
- silverLight: chunkLJ24EJ3N_cjs.palette.silverLight,
116
- silverDeep: chunkLJ24EJ3N_cjs.palette.silverDeep,
117
- copperPatina: chunkLJ24EJ3N_cjs.palette.copperPatina
106
+ materialLeather: chunkV5XG7NXB_cjs.palette.leather,
107
+ materialLeatherFg: chunkV5XG7NXB_cjs.palette.paper,
108
+ materialWood: chunkV5XG7NXB_cjs.palette.wood,
109
+ materialWoodFg: chunkV5XG7NXB_cjs.palette.paper,
110
+ materialCopper: chunkV5XG7NXB_cjs.palette.copper,
111
+ materialCopperFg: chunkV5XG7NXB_cjs.palette.ink,
112
+ gold: chunkV5XG7NXB_cjs.palette.gold,
113
+ goldDeep: chunkV5XG7NXB_cjs.palette.goldDeep,
114
+ goldLight: chunkV5XG7NXB_cjs.palette.goldLight,
115
+ silverLight: chunkV5XG7NXB_cjs.palette.silverLight,
116
+ silverDeep: chunkV5XG7NXB_cjs.palette.silverDeep,
117
+ copperPatina: chunkV5XG7NXB_cjs.palette.copperPatina
118
118
  };
119
119
  var lightTokens = {
120
- bg: chunkLJ24EJ3N_cjs.palette.paper,
121
- bg2: chunkLJ24EJ3N_cjs.palette.paperWarm,
122
- bgSunken: chunkLJ24EJ3N_cjs.palette.paperToasted,
120
+ bg: chunkV5XG7NXB_cjs.palette.paper,
121
+ bg2: chunkV5XG7NXB_cjs.palette.paperWarm,
122
+ bgSunken: chunkV5XG7NXB_cjs.palette.paperToasted,
123
123
  surface: "#fdfaf3",
124
- surface2: chunkLJ24EJ3N_cjs.palette.paperWarm,
125
- fg: chunkLJ24EJ3N_cjs.palette.ink,
124
+ surface2: chunkV5XG7NXB_cjs.palette.paperWarm,
125
+ fg: chunkV5XG7NXB_cjs.palette.ink,
126
126
  fg2: "#4a463c",
127
127
  fg3: "#6e6a5e",
128
128
  fgMute: "#8a8576",
129
- border: chunkLJ24EJ3N_cjs.palette.ink,
129
+ border: chunkV5XG7NXB_cjs.palette.ink,
130
130
  border2: "#6e6a5e",
131
131
  borderMute: "#b8ad94",
132
- rule: chunkLJ24EJ3N_cjs.palette.inkDeep,
133
- accent: chunkLJ24EJ3N_cjs.palette.terracotta,
134
- accentFg: chunkLJ24EJ3N_cjs.palette.paper,
135
- accent2: chunkLJ24EJ3N_cjs.palette.moss,
136
- accent3: chunkLJ24EJ3N_cjs.palette.plum,
137
- success: chunkLJ24EJ3N_cjs.palette.success,
138
- warn: chunkLJ24EJ3N_cjs.palette.ochre,
139
- danger: chunkLJ24EJ3N_cjs.palette.rust,
140
- info: chunkLJ24EJ3N_cjs.palette.plumMid,
141
- selectionBg: chunkLJ24EJ3N_cjs.palette.ochre,
142
- selectionFg: chunkLJ24EJ3N_cjs.palette.ink,
132
+ rule: chunkV5XG7NXB_cjs.palette.inkDeep,
133
+ accent: chunkV5XG7NXB_cjs.palette.terracotta,
134
+ accentFg: chunkV5XG7NXB_cjs.palette.paper,
135
+ accent2: chunkV5XG7NXB_cjs.palette.moss,
136
+ accent3: chunkV5XG7NXB_cjs.palette.plum,
137
+ success: chunkV5XG7NXB_cjs.palette.success,
138
+ warn: chunkV5XG7NXB_cjs.palette.ochre,
139
+ danger: chunkV5XG7NXB_cjs.palette.rust,
140
+ info: chunkV5XG7NXB_cjs.palette.plumMid,
141
+ selectionBg: chunkV5XG7NXB_cjs.palette.ochre,
142
+ selectionFg: chunkV5XG7NXB_cjs.palette.ink,
143
143
  ...materialDefaults
144
144
  };
145
145
  var darkTokens = {
146
- bg: chunkLJ24EJ3N_cjs.palette.inkDeep,
146
+ bg: chunkV5XG7NXB_cjs.palette.inkDeep,
147
147
  bg2: "#1f1d18",
148
148
  bgSunken: "#0c0b08",
149
149
  surface: "#26241e",
150
150
  surface2: "#2d2a23",
151
- fg: chunkLJ24EJ3N_cjs.palette.cream,
151
+ fg: chunkV5XG7NXB_cjs.palette.cream,
152
152
  fg2: "#b8ad94",
153
153
  fg3: "#8a8576",
154
154
  fgMute: "#6e6a5e",
155
- border: chunkLJ24EJ3N_cjs.palette.cream,
155
+ border: chunkV5XG7NXB_cjs.palette.cream,
156
156
  border2: "#8a8576",
157
157
  borderMute: "#4a463c",
158
- rule: chunkLJ24EJ3N_cjs.palette.cream,
159
- accent: chunkLJ24EJ3N_cjs.palette.terracottaLight,
160
- accentFg: chunkLJ24EJ3N_cjs.palette.inkDeep,
161
- accent2: chunkLJ24EJ3N_cjs.palette.mossLight,
162
- accent3: chunkLJ24EJ3N_cjs.palette.plumLight,
158
+ rule: chunkV5XG7NXB_cjs.palette.cream,
159
+ accent: chunkV5XG7NXB_cjs.palette.terracottaLight,
160
+ accentFg: chunkV5XG7NXB_cjs.palette.inkDeep,
161
+ accent2: chunkV5XG7NXB_cjs.palette.mossLight,
162
+ accent3: chunkV5XG7NXB_cjs.palette.plumLight,
163
163
  success: "#7fba4a",
164
- warn: chunkLJ24EJ3N_cjs.palette.ochre,
165
- danger: chunkLJ24EJ3N_cjs.palette.terracotta,
166
- info: chunkLJ24EJ3N_cjs.palette.plumMid,
167
- selectionBg: chunkLJ24EJ3N_cjs.palette.mossLight,
168
- selectionFg: chunkLJ24EJ3N_cjs.palette.inkDeep,
164
+ warn: chunkV5XG7NXB_cjs.palette.ochre,
165
+ danger: chunkV5XG7NXB_cjs.palette.terracotta,
166
+ info: chunkV5XG7NXB_cjs.palette.plumMid,
167
+ selectionBg: chunkV5XG7NXB_cjs.palette.mossLight,
168
+ selectionFg: chunkV5XG7NXB_cjs.palette.inkDeep,
169
169
  ...materialDefaults,
170
170
  // In dark mode, gilt is bumped to gold-light so it stays legible on dark paper
171
- goldDeep: chunkLJ24EJ3N_cjs.palette.goldLight,
172
- silverDeep: chunkLJ24EJ3N_cjs.palette.silverLight
171
+ goldDeep: chunkV5XG7NXB_cjs.palette.goldLight,
172
+ silverDeep: chunkV5XG7NXB_cjs.palette.silverLight
173
173
  };
174
174
 
175
175
  Object.defineProperty(exports, "accentColorNames", {
176
176
  enumerable: true,
177
- get: function () { return chunkLJ24EJ3N_cjs.accentColorNames; }
177
+ get: function () { return chunkV5XG7NXB_cjs.accentColorNames; }
178
178
  });
179
179
  Object.defineProperty(exports, "accentColors", {
180
180
  enumerable: true,
181
- get: function () { return chunkLJ24EJ3N_cjs.accentColors; }
181
+ get: function () { return chunkV5XG7NXB_cjs.accentColors; }
182
182
  });
183
183
  Object.defineProperty(exports, "palette", {
184
184
  enumerable: true,
185
- get: function () { return chunkLJ24EJ3N_cjs.palette; }
185
+ get: function () { return chunkV5XG7NXB_cjs.palette; }
186
186
  });
187
187
  exports.darkTokens = darkTokens;
188
188
  exports.duration = duration;
@@ -1,4 +1,4 @@
1
- export { A as AccentColor, a as accentColorNames, b as accentColors } from '../accents-DrqL1lLe.cjs';
1
+ import { A as AccentColor } from '../theme-DOaMliRj.cjs';
2
2
 
3
3
  declare const palette: {
4
4
  readonly ink: "#1f1d18";
@@ -41,6 +41,15 @@ declare const palette: {
41
41
  };
42
42
  type PaletteKey = keyof typeof palette;
43
43
 
44
+ declare const accentColors: Record<AccentColor, {
45
+ readonly main: string;
46
+ readonly light: string;
47
+ readonly deep: string;
48
+ readonly fg: string;
49
+ readonly fgDark: string;
50
+ }>;
51
+ declare const accentColorNames: AccentColor[];
52
+
44
53
  declare const spacingScale: readonly [0, 2, 4, 6, 8, 12, 16, 20, 24, 32, 40, 56, 80];
45
54
  declare const spacing: {
46
55
  readonly sp0: 0;
@@ -209,4 +218,4 @@ declare const darkTokens: {
209
218
  };
210
219
  type SemanticTokens = typeof lightTokens | typeof darkTokens;
211
220
 
212
- export { type PaletteKey, type SemanticTokens, darkTokens, duration, easing, fontFamilies, fontSizes, fontWeights, googleFontsUrl, letterSpacings, lightTokens, lineHeights, palette, px, radius, shadows, spacing, spacingScale, zIndex };
221
+ export { AccentColor, type PaletteKey, type SemanticTokens, accentColorNames, accentColors, darkTokens, duration, easing, fontFamilies, fontSizes, fontWeights, googleFontsUrl, letterSpacings, lightTokens, lineHeights, palette, px, radius, shadows, spacing, spacingScale, zIndex };
@@ -1,4 +1,4 @@
1
- export { A as AccentColor, a as accentColorNames, b as accentColors } from '../accents-DrqL1lLe.js';
1
+ import { A as AccentColor } from '../theme-DOaMliRj.js';
2
2
 
3
3
  declare const palette: {
4
4
  readonly ink: "#1f1d18";
@@ -41,6 +41,15 @@ declare const palette: {
41
41
  };
42
42
  type PaletteKey = keyof typeof palette;
43
43
 
44
+ declare const accentColors: Record<AccentColor, {
45
+ readonly main: string;
46
+ readonly light: string;
47
+ readonly deep: string;
48
+ readonly fg: string;
49
+ readonly fgDark: string;
50
+ }>;
51
+ declare const accentColorNames: AccentColor[];
52
+
44
53
  declare const spacingScale: readonly [0, 2, 4, 6, 8, 12, 16, 20, 24, 32, 40, 56, 80];
45
54
  declare const spacing: {
46
55
  readonly sp0: 0;
@@ -209,4 +218,4 @@ declare const darkTokens: {
209
218
  };
210
219
  type SemanticTokens = typeof lightTokens | typeof darkTokens;
211
220
 
212
- export { type PaletteKey, type SemanticTokens, darkTokens, duration, easing, fontFamilies, fontSizes, fontWeights, googleFontsUrl, letterSpacings, lightTokens, lineHeights, palette, px, radius, shadows, spacing, spacingScale, zIndex };
221
+ export { AccentColor, type PaletteKey, type SemanticTokens, accentColorNames, accentColors, darkTokens, duration, easing, fontFamilies, fontSizes, fontWeights, googleFontsUrl, letterSpacings, lightTokens, lineHeights, palette, px, radius, shadows, spacing, spacingScale, zIndex };
@@ -1,5 +1,5 @@
1
- import { palette } from '../chunk-NDOQ2YVM.js';
2
- export { accentColorNames, accentColors, palette } from '../chunk-NDOQ2YVM.js';
1
+ import { palette } from '../chunk-SZRZ6HQ6.js';
2
+ export { accentColorNames, accentColors, palette } from '../chunk-SZRZ6HQ6.js';
3
3
  import '../chunk-QKQ47GQZ.js';
4
4
 
5
5
  // src/tokens/spacing.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "achery-ui",
3
- "version": "0.10.1",
3
+ "version": "0.10.3",
4
4
  "description": "Achery Workshop design system — autumn alchemy, hard edges, botanical marginalia.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -4,11 +4,13 @@ import { useTheme } from '../theme/ThemeContext'
4
4
 
5
5
  export type BadgeTone = 'neutral' | 'saved' | 'drafting' | 'stopped' | 'archived'
6
6
  export type BadgeVariant = 'outline' | 'solid'
7
+ export type BadgeSize = 'sm' | 'md' | 'lg'
7
8
 
8
9
  export interface BadgeProps {
9
10
  tone?: BadgeTone
10
11
  variant?: BadgeVariant
11
12
  dot?: boolean
13
+ size?: BadgeSize
12
14
  children: string
13
15
  style?: ViewStyle
14
16
  }
@@ -24,7 +26,9 @@ function toneColors(tone: BadgeTone, variant: BadgeVariant, isDark: boolean) {
24
26
  return map[tone]
25
27
  }
26
28
 
27
- export function Badge({ tone = 'neutral', variant = 'outline', dot = false, children, style }: BadgeProps) {
29
+ const badgeFontSize: Record<BadgeSize, number> = { sm: 10, md: 11, lg: 12 }
30
+
31
+ export function Badge({ tone = 'neutral', variant = 'outline', dot = false, size = 'md', children, style }: BadgeProps) {
28
32
  const { tokens, dark } = useTheme()
29
33
  const colors = toneColors(tone, variant, dark)
30
34
 
@@ -51,7 +55,7 @@ export function Badge({ tone = 'neutral', variant = 'outline', dot = false, chil
51
55
  {dot && (
52
56
  <View style={{ width: 6, height: 6, borderRadius: 3, backgroundColor: colors.fg }} />
53
57
  )}
54
- <Text style={{ color: fg, fontSize: 11, fontWeight: fontWeights.semibold.toString() as any, letterSpacing: 0.5 }}>
58
+ <Text style={{ color: fg, fontSize: badgeFontSize[size], fontWeight: fontWeights.semibold.toString() as any, letterSpacing: 0.5 }}>
55
59
  {children}
56
60
  </Text>
57
61
  </View>
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from 'react'
1
2
  import { TouchableOpacity, View, Text, StyleSheet, type ViewStyle } from 'react-native'
2
3
  import { spacing, fontWeights } from 'achery-ui/tokens'
3
4
  import { useTheme } from '../theme/ThemeContext'
@@ -9,7 +10,7 @@ export type ButtonSize = 'sm' | 'md' | 'lg'
9
10
  export interface ButtonProps {
10
11
  variant?: ButtonVariant
11
12
  size?: ButtonSize
12
- children: string
13
+ children: ReactNode
13
14
  onPress?: () => void
14
15
  disabled?: boolean
15
16
  style?: ViewStyle
@@ -37,6 +38,14 @@ function makeColors(variant: ButtonVariant, tokens: SemanticTokens) {
37
38
  export function Button({ variant = 'secondary', size = 'md', children, onPress, disabled, style }: ButtonProps) {
38
39
  const { tokens } = useTheme()
39
40
  const colors = makeColors(variant, tokens)
41
+ const textStyle = {
42
+ color: disabled ? tokens.fgMute : colors.label,
43
+ fontSize: fontSize[size],
44
+ fontWeight: fontWeights.semibold.toString() as any,
45
+ letterSpacing: 0.01 * fontSize[size],
46
+ }
47
+
48
+ const isString = typeof children === 'string'
40
49
 
41
50
  return (
42
51
  <TouchableOpacity
@@ -52,20 +61,18 @@ export function Button({ variant = 'secondary', size = 'md', children, onPress,
52
61
  paddingHorizontal: paddingH[size],
53
62
  alignSelf: 'flex-start',
54
63
  opacity: disabled ? 0.5 : 1,
64
+ flexDirection: 'row',
65
+ alignItems: 'center',
66
+ gap: spacing.sp2,
55
67
  },
56
68
  style,
57
69
  ]}
58
70
  >
59
- <Text
60
- style={{
61
- color: disabled ? tokens.fgMute : colors.label,
62
- fontSize: fontSize[size],
63
- fontWeight: fontWeights.semibold.toString() as any,
64
- letterSpacing: 0.01 * fontSize[size],
65
- }}
66
- >
67
- {children}
68
- </Text>
71
+ {isString ? (
72
+ <Text style={textStyle}>{children}</Text>
73
+ ) : (
74
+ children
75
+ )}
69
76
  </TouchableOpacity>
70
77
  )
71
78
  }
@@ -44,7 +44,7 @@ export const Glyph = ({ name, size = 24, color, accessibilityLabel, style }: Nat
44
44
  width={size}
45
45
  height={size}
46
46
  color={resolvedColor}
47
- style={style}
47
+ {...(style !== undefined && { style })}
48
48
  />
49
49
  )
50
50
  }
@@ -1,4 +1,4 @@
1
- import { View, TextInput, Text, type TextInputProps, type TextStyle, type ViewStyle } from 'react-native'
1
+ import { View, TextInput, Text, type TextInputProps, type ViewStyle } from 'react-native'
2
2
  import { spacing, fontWeights } from 'achery-ui/tokens'
3
3
  import { useTheme } from '../theme/ThemeContext'
4
4
 
@@ -32,7 +32,6 @@ export function Field({ label, hint, error, children, style }: FieldProps) {
32
32
 
33
33
  export interface InputProps extends TextInputProps {
34
34
  error?: boolean
35
- style?: ViewStyle
36
35
  }
37
36
 
38
37
  export function Input({ error, style, ...props }: InputProps) {
@@ -61,7 +60,6 @@ export interface TextareaProps extends TextInputProps {
61
60
  error?: boolean
62
61
  /** Approximate number of visible lines. @default 4 */
63
62
  rows?: number
64
- style?: TextStyle
65
63
  }
66
64
 
67
65
  /**
@@ -60,7 +60,7 @@ export const Skeleton = ({ lines = 3, width, block = false, height = 80, style }
60
60
  {Array.from({ length: lines }).map((_, i) => (
61
61
  <Animated.View
62
62
  key={i}
63
- style={[baseStyle, { height: LINE_HEIGHT, width: lineWidths[i] ?? '100%' }, { opacity }]}
63
+ style={[baseStyle, { height: LINE_HEIGHT, width: (lineWidths[i] ?? '100%') as any }, { opacity }]}
64
64
  />
65
65
  ))}
66
66
  </View>
@@ -1,6 +1,6 @@
1
- import { useState } from 'react'
1
+ import { useState, type ReactNode } from 'react'
2
2
  import { ScrollView, TouchableOpacity, View, Text } from 'react-native'
3
- import type { ViewStyle, ReactNode } from 'react-native'
3
+ import type { ViewStyle } from 'react-native'
4
4
  import { spacing, fontWeights } from 'achery-ui/tokens'
5
5
  import { useTheme } from '../theme/ThemeContext'
6
6
 
@@ -2,17 +2,18 @@ export { NativeThemeProvider, useTheme } from './theme/ThemeContext'
2
2
  export type { NativeThemeProviderProps, NativeThemeContextValue } from './theme/ThemeContext'
3
3
 
4
4
  export {
5
- Text, Button, Card, Badge, Field, Input, MaterialCard, MaterialEyebrow,
5
+ Text, Button, Card, Badge, Field, Input, Textarea, MaterialCard, MaterialEyebrow,
6
6
  Glyph, GlyphPicker,
7
7
  Skeleton, ProgressBar, Checkbox, Toggle, Tabs,
8
8
  ToastProvider, useToast,
9
+ StatusDot, SegmentedControl, ScreenNav,
9
10
  } from './components/index'
10
11
  export type {
11
12
  TextProps,
12
13
  ButtonProps, ButtonVariant, ButtonSize,
13
14
  CardProps, CardVariant, CardPadding,
14
15
  BadgeProps, BadgeTone, BadgeVariant,
15
- FieldProps, InputProps,
16
+ FieldProps, InputProps, TextareaProps,
16
17
  NativeMaterialCardProps, MaterialIntensity,
17
18
  NativeGlyphProps,
18
19
  GlyphPickerProps,
@@ -22,6 +23,9 @@ export type {
22
23
  ToggleProps,
23
24
  TabsProps, TabItem,
24
25
  ToastProviderProps, ToastData, ToastOptions,
26
+ StatusDotProps,
27
+ SegmentedControlProps, NativeSegmentOption,
28
+ ScreenNavProps,
25
29
  } from './components/index'
26
30
 
27
31
  // Glyph utilities — pure TS, work on native
@@ -1,5 +1,3 @@
1
- import type { AccentColor } from '../tokens/accents'
2
-
3
1
  /**
4
2
  * The user's colour-mode **preference**.
5
3
  * - `'light'` / `'dark'` — explicit override
@@ -18,6 +16,12 @@ export type ResolvedTheme = 'light' | 'dark'
18
16
  * - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outline buttons (default)
19
17
  * - `'surface'` — one signature panel floods with accent colour (`.signature-surface`)
20
18
  */
19
+ /**
20
+ * The accent colour palette.
21
+ * Matches the keys of `accentColors` in `src/tokens/accents.ts` — keep them in sync.
22
+ */
23
+ export type AccentColor = 'terracotta' | 'moss' | 'plum' | 'ochre' | 'rust' | 'copper'
24
+
21
25
  export type AccentDial = 'underline' | 'chrome' | 'surface'
22
26
 
23
27
  /**
@@ -66,5 +70,3 @@ export interface ThemeContextValue {
66
70
  /** Set the material signature. */
67
71
  setMaterial: (material: MaterialSignature) => void
68
72
  }
69
-
70
- export type { AccentColor }
@@ -1,48 +0,0 @@
1
- declare const accentColors: {
2
- readonly terracotta: {
3
- readonly main: "#c46a3a";
4
- readonly light: "#d97a4a";
5
- readonly deep: "#a05526";
6
- readonly fg: "#fbf8f0";
7
- readonly fgDark: "#14130f";
8
- };
9
- readonly moss: {
10
- readonly main: "#4a5a32";
11
- readonly light: "#8da866";
12
- readonly deep: "#2e3a20";
13
- readonly fg: "#fbf8f0";
14
- readonly fgDark: "#14130f";
15
- };
16
- readonly plum: {
17
- readonly main: "#5d4a6a";
18
- readonly light: "#8b6fa8";
19
- readonly deep: "#5d4a6a";
20
- readonly fg: "#fbf8f0";
21
- readonly fgDark: "#14130f";
22
- };
23
- readonly ochre: {
24
- readonly main: "#b8924a";
25
- readonly light: "#e0bc70";
26
- readonly deep: "#9a7430";
27
- readonly fg: "#1f1d18";
28
- readonly fgDark: "#1f1d18";
29
- };
30
- readonly rust: {
31
- readonly main: "#8a3a22";
32
- readonly light: "#c46a3a";
33
- readonly deep: "#8a3a22";
34
- readonly fg: "#fbf8f0";
35
- readonly fgDark: "#14130f";
36
- };
37
- readonly copper: {
38
- readonly main: "#b8742a";
39
- readonly light: "#d68f48";
40
- readonly deep: "#8a531a";
41
- readonly fg: "#1f1d18";
42
- readonly fgDark: "#1f1d18";
43
- };
44
- };
45
- type AccentColor = keyof typeof accentColors;
46
- declare const accentColorNames: AccentColor[];
47
-
48
- export { type AccentColor as A, accentColorNames as a, accentColors as b };
@@ -1,48 +0,0 @@
1
- declare const accentColors: {
2
- readonly terracotta: {
3
- readonly main: "#c46a3a";
4
- readonly light: "#d97a4a";
5
- readonly deep: "#a05526";
6
- readonly fg: "#fbf8f0";
7
- readonly fgDark: "#14130f";
8
- };
9
- readonly moss: {
10
- readonly main: "#4a5a32";
11
- readonly light: "#8da866";
12
- readonly deep: "#2e3a20";
13
- readonly fg: "#fbf8f0";
14
- readonly fgDark: "#14130f";
15
- };
16
- readonly plum: {
17
- readonly main: "#5d4a6a";
18
- readonly light: "#8b6fa8";
19
- readonly deep: "#5d4a6a";
20
- readonly fg: "#fbf8f0";
21
- readonly fgDark: "#14130f";
22
- };
23
- readonly ochre: {
24
- readonly main: "#b8924a";
25
- readonly light: "#e0bc70";
26
- readonly deep: "#9a7430";
27
- readonly fg: "#1f1d18";
28
- readonly fgDark: "#1f1d18";
29
- };
30
- readonly rust: {
31
- readonly main: "#8a3a22";
32
- readonly light: "#c46a3a";
33
- readonly deep: "#8a3a22";
34
- readonly fg: "#fbf8f0";
35
- readonly fgDark: "#14130f";
36
- };
37
- readonly copper: {
38
- readonly main: "#b8742a";
39
- readonly light: "#d68f48";
40
- readonly deep: "#8a531a";
41
- readonly fg: "#1f1d18";
42
- readonly fgDark: "#1f1d18";
43
- };
44
- };
45
- type AccentColor = keyof typeof accentColors;
46
- declare const accentColorNames: AccentColor[];
47
-
48
- export { type AccentColor as A, accentColorNames as a, accentColors as b };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tokens/palette.ts","../src/tokens/accents.ts"],"names":[],"mappings":"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","file":"chunk-LJ24EJ3N.cjs","sourcesContent":["export const palette = {\n ink: '#1f1d18',\n inkDeep: '#14130f',\n\n paper: '#fbf8f0',\n paperWarm: '#f0e9d6',\n paperToasted: '#e6dec5',\n cream: '#e8dfc8',\n creamSoft: '#d8cdb0',\n\n mossDeep: '#2e3a20',\n moss: '#4a5a32',\n mossMid: '#6b7a48',\n mossLight: '#8da866',\n sage: '#b6c898',\n\n terracotta: '#c46a3a',\n terracottaDeep: '#a05526',\n terracottaLight: '#d97a4a',\n\n plum: '#5d4a6a',\n plumMid: '#7a5e8a',\n plumLight: '#8b6fa8',\n\n rust: '#8a3a22',\n ochre: '#b8924a',\n\n leather: '#6b3a26',\n leatherMid: '#8a4e34',\n leatherLight: '#a86a48',\n\n copper: '#b8742a',\n copperDeep: '#8a531a',\n copperLight: '#d68f48',\n copperPatina: '#5a7a6a',\n\n silver: '#a8a098',\n silverDeep: '#6e6a62',\n silverLight: '#c8c0b6',\n\n wood: '#7a5a3a',\n woodLight: '#a88660',\n woodDeep: '#4a3422',\n\n gold: '#c69a4a',\n goldDeep: '#9a7430',\n goldLight: '#e0bc70',\n\n success: '#6ba03d',\n} as const\n\nexport type PaletteKey = keyof typeof palette\n","import { palette } from './palette'\n\nexport const accentColors = {\n terracotta: {\n main: palette.terracotta,\n light: palette.terracottaLight,\n deep: palette.terracottaDeep,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n moss: {\n main: palette.moss,\n light: palette.mossLight,\n deep: palette.mossDeep,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n plum: {\n main: palette.plum,\n light: palette.plumLight,\n deep: palette.plum,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n ochre: {\n main: palette.ochre,\n light: palette.goldLight,\n deep: palette.goldDeep,\n fg: palette.ink,\n fgDark: palette.ink,\n },\n rust: {\n main: palette.rust,\n light: palette.terracotta,\n deep: palette.rust,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n copper: {\n main: palette.copper,\n light: palette.copperLight,\n deep: palette.copperDeep,\n fg: palette.ink,\n fgDark: palette.ink,\n },\n} as const\n\nexport type AccentColor = keyof typeof accentColors\nexport const accentColorNames = Object.keys(accentColors) as AccentColor[]\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tokens/palette.ts","../src/tokens/accents.ts"],"names":[],"mappings":"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","file":"chunk-NDOQ2YVM.js","sourcesContent":["export const palette = {\n ink: '#1f1d18',\n inkDeep: '#14130f',\n\n paper: '#fbf8f0',\n paperWarm: '#f0e9d6',\n paperToasted: '#e6dec5',\n cream: '#e8dfc8',\n creamSoft: '#d8cdb0',\n\n mossDeep: '#2e3a20',\n moss: '#4a5a32',\n mossMid: '#6b7a48',\n mossLight: '#8da866',\n sage: '#b6c898',\n\n terracotta: '#c46a3a',\n terracottaDeep: '#a05526',\n terracottaLight: '#d97a4a',\n\n plum: '#5d4a6a',\n plumMid: '#7a5e8a',\n plumLight: '#8b6fa8',\n\n rust: '#8a3a22',\n ochre: '#b8924a',\n\n leather: '#6b3a26',\n leatherMid: '#8a4e34',\n leatherLight: '#a86a48',\n\n copper: '#b8742a',\n copperDeep: '#8a531a',\n copperLight: '#d68f48',\n copperPatina: '#5a7a6a',\n\n silver: '#a8a098',\n silverDeep: '#6e6a62',\n silverLight: '#c8c0b6',\n\n wood: '#7a5a3a',\n woodLight: '#a88660',\n woodDeep: '#4a3422',\n\n gold: '#c69a4a',\n goldDeep: '#9a7430',\n goldLight: '#e0bc70',\n\n success: '#6ba03d',\n} as const\n\nexport type PaletteKey = keyof typeof palette\n","import { palette } from './palette'\n\nexport const accentColors = {\n terracotta: {\n main: palette.terracotta,\n light: palette.terracottaLight,\n deep: palette.terracottaDeep,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n moss: {\n main: palette.moss,\n light: palette.mossLight,\n deep: palette.mossDeep,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n plum: {\n main: palette.plum,\n light: palette.plumLight,\n deep: palette.plum,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n ochre: {\n main: palette.ochre,\n light: palette.goldLight,\n deep: palette.goldDeep,\n fg: palette.ink,\n fgDark: palette.ink,\n },\n rust: {\n main: palette.rust,\n light: palette.terracotta,\n deep: palette.rust,\n fg: palette.paper,\n fgDark: palette.inkDeep,\n },\n copper: {\n main: palette.copper,\n light: palette.copperLight,\n deep: palette.copperDeep,\n fg: palette.ink,\n fgDark: palette.ink,\n },\n} as const\n\nexport type AccentColor = keyof typeof accentColors\nexport const accentColorNames = Object.keys(accentColors) as AccentColor[]\n"]}