Commit Graph

166 Commits

Author SHA1 Message Date
2f9b719f01 Fix Chip small size label padding
Bump small chip label padding from MUI default 8px to 12px (spacing.3)
to match medium size — pill border-radius eats into perceived spacing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 16:49:58 +11:00
21877ce4e6 Add Chip atom component
- Interactive tag for filtering, selection, and dismissible labels
- Wraps MUI Chip with FA tokens: 12 component tokens (height, padding, font, icon sizes)
- Two variants (filled/outlined) × two colours (default/primary) × two sizes (sm/md)
- Custom `selected` prop promotes to brand colour with warm bg (outlined)
- MUI theme overrides: soft tonal fills, branded outlines, hover/focus states
- 10 Storybook stories including interactive filter and removable tag demos
- Preflight passed all 5 checks

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 16:45:24 +11:00
1188eef96e Update memory files — end of session
- Mark Button, Typography, Input as done (were still review)
- Add session 2026-03-25i log for impeccable integration
- Document component status: 5 done, 10 atoms/molecules/organisms planned

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 16:37:54 +11:00
cb57bc3042 Integrate impeccable design quality tools
Selective integration from pbakaus/impeccable (Apache 2.0):

Reference material (docs/reference/impeccable/):
- 7 design guides: typography, color-and-contrast, spatial-design,
  motion-design, interaction-design, responsive-design, ux-writing
- 3 critique references: cognitive-load, heuristics-scoring, personas
- 4 skill references for internal use: audit, critique, polish,
  frontend-design (anti-patterns list)

New skills:
- /audit — technical quality scoring (0-20) across 5 dimensions:
  accessibility, performance, theming, responsive, design quality
- /critique — UX design review using Nielsen's 10 heuristics (0-40),
  adapted for FA's sensitive audience context

Updated skills:
- /review-component — added interactive states checklist and design
  anti-patterns checklist (8 checks each)
- /preflight — added visual QA spot-check section (transitions,
  focus-visible, touch targets, spacing consistency)

No code changes — all existing components, tokens, and theme untouched.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 16:35:39 +11:00
e67e8f46f7 Add large size to Badge
- Add lg tokens: height 32px, paddingX 16px, fontSize 14px, iconSize 16px
- Refactor component to use size map instead of ternary
- Update stories: Sizes now shows all three, CompleteMatrix includes large

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 16:08:17 +11:00
d1ae1a6f27 Update memory files for Badge atom
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 16:05:54 +11:00
eb1099a4d0 Add Badge atom component
- Create badge component tokens (height, paddingX, fontSize, iconSize,
  iconGap, borderRadius for sm/md sizes) — 10 tokens
- Build Badge component: pill-shaped status indicator label
  - 6 colours: default, brand, success, warning, error, info
  - 2 variants: soft (tonal, default) and filled (solid)
  - 2 sizes: small (22px) and medium (26px)
  - Optional leading icon prop
  - All colours use CSS variables from token system (no hardcoded hex)
- Create 10 Storybook stories: Default, AllColoursSoft, AllColoursFilled,
  WithIcons, WithIconsFilled, Sizes, SmallSizes, InPriceCard,
  ServiceStatus, CompleteMatrix
- Regenerate token pipeline outputs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 16:05:04 +11:00
ab14af9cc6 Mark Card atom as done
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:50:38 +11:00
d3bfa2dd6a Fix Card selection layout shift and add transitions
- Reserve 2px border on all cards (transparent for elevated, coloured
  for outlined) so selected state only changes colour, not width
- Add 150ms ease-in-out transitions for border-color and background-color
  consistent with Button/Input interactive timing
- Remove borderWidth/borderStyle from selected sx (now handled by theme)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:49:38 +11:00
a899c9a376 Update memory files for Card selected state
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:46:38 +11:00
74ee0b87da Add selected state and hover background to Card
- Add `selected` prop: brand border (warm gold) + warm background tint (brand.50)
- Add hover background fill (neutral.50) for interactive cards
- Add 3 new card tokens: border.selected, background.hover, background.selected
- Add stories: Selected, OptionSelect (single-select), MultiSelect (toggle),
  OnDifferentBackgrounds (white vs grey surface comparison)
- Informed by FA 1.0 Figma ListItemPurchaseOption pattern (node 2349:39505)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:45:57 +11:00
3be3afd80c Update memory files for Card atom
- Component registry: Card → review with full details
- Session log: Add session 2026-03-25f entry
- Token registry: Add card component tokens

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:32:02 +11:00
7169a6559b Add Card atom component
- Create card component tokens (borderRadius, padding, shadow, border, background)
- Build Card component with elevated/outlined variants, interactive hover, padding presets
- Add MUI theme overrides using card tokens (shadow.md resting, border for outlined)
- Create 8 Storybook stories: Default, Variants, Interactive, PaddingPresets,
  PriceCardPreview, ServiceOptionPreview, WithImage, RichContent
- Regenerate token pipeline outputs (7 new card tokens)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:31:10 +11:00
e4f9edd97f Add preflight quality check skill
Runs 5 checks before commit: TypeScript compilation, Storybook build,
token sync verification, hardcoded values scan, and component exports.
Integrates with the git workflow to catch issues before they hit the repo.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:22:10 +11:00
82a7b843f8 Add git workflow and fix .gitignore
- Add Gitea remote and commit-after-work workflow to CLAUDE.md
- Fix .gitignore: correct storybook-static path, remove stale tokens.ts entry
- Track generated token outputs (tokens.css, tokens.js) for clone-and-run

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:12:54 +11:00
732c872576 Initial commit: FA 2.0 Design System foundation
Token pipeline (Style Dictionary v4, DTCG format):
- Primitive tokens: colour palettes (brand, sage, neutral, feedback),
  typography (3 font families, 21-variant type scale), spacing (4px grid),
  border radius, shadows, opacity
- Semantic tokens: text, surface, border, interactive, feedback colours;
  typography roles; layout spacing
- Component tokens: Button (4 sizes), Input (2 sizes)
- Generated outputs: CSS custom properties, JS ES6 module, flat JSON

Atoms (3 components):
- Button: contained/soft/outlined/text × primary/secondary, 4 sizes,
  loading state, underline for text variant
- Typography: 21 variants across display/heading/body/label/caption/overline,
  maxLines truncation
- Input: external label, helper text, error/success validation,
  start/end icons, required indicator, 2 sizes, multiline support

Infrastructure:
- MUI v5 theme with full token mapping
- Storybook 8 with autodocs
- Claude Code agents and skills for token/component workflows
- Design system documentation and cross-session memory

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:08:15 +11:00