BillTracker/client/components/ui
null e2d4a9f703 feat(settings): theme "System" + reduce-motion (plan Tier 1)
- ThemeContext gains a 'system' theme that follows prefers-color-scheme and
  updates live when the OS flips; exposes resolvedTheme (consumed by Sonner) and
  keeps the <meta theme-color> in sync. Pre-bundle inline script in index.html
  prevents a light/dark flash. Both theme selectors (Settings ThemeCards +
  theme-toggle dropdown) gain the System option.
- New MotionPreferenceContext mounts framer-motion <MotionConfig>; a Reduce-motion
  toggle (localStorage device pref) forces reducedMotion="always" (else "user",
  which still respects the OS).
- Add an accessible SettingHelp tooltip (focusable button + aria-label) wrapped by
  a page-level TooltipProvider; used for the System + Reduce-motion explanations.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 15:50:37 -05:00
..
Skeleton.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
alert-dialog.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
badge.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
button.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
card.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
checkbox.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
collapsible.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
dialog.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
dropdown-menu.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
input-dialog.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
input.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
label.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
save-status.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
select.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
sonner.tsx feat(settings): theme "System" + reduce-motion (plan Tier 1) 2026-07-05 15:50:37 -05:00
switch.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
table.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
tabs.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
theme-toggle.tsx feat(settings): theme "System" + reduce-motion (plan Tier 1) 2026-07-05 15:50:37 -05:00
tooltip.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00