Commit Graph

7 Commits

Author SHA1 Message Date
6cb3184130 Split AdditionalServicesStep into IncludedServicesStep + ExtrasStep
- IncludedServicesStep: package inclusions at no cost (dressing, viewing,
  prayers, funeral announcement). Sub-options render inside parent card.
- ExtrasStep: optional paid extras for lead generation (catering, music,
  coffin bearing, newspaper notice). POA support, tally of priced items.
- AddOnOption: children prop (sub-options inside card), priceLabel prop
  (custom text like "Price on application" in brand copper italic)
- Flattened sub-option pattern: inline toggle rows inside parent card
  instead of nested card-in-card ("Russian doll") pattern
- Coffin bearing now uses toggle + bearer type radio (consistent UX)
- Removed old AdditionalServicesStep (replaced by two new pages)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 12:10:26 +11:00
a8354cc8dd VenueServicesStep page + AddOnOption price colour fix
- New VenueServicesStep (step 7c): venue-specific service toggles
  with compact venue card, availability notices, AddOnOption toggles
  with "View more" for long descriptions, conditional tally total
- AddOnOption: price colour changed from text.secondary to primary
  (copper) for consistency with all other price displays in the system
- 5 stories: Default, WithNotice, PrePlanning, WithSelections, Minimal
- Component registry updated with VenueDetailStep + VenueServicesStep

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 21:39:22 +11:00
577adf7f13 Retroactive review Phase 2.2: audit priority molecules, fix P0/P1
- AddOnOption: add aria-disabled when disabled (P1 a11y)
- ProviderCardCompact: add maxLines={1} on name to prevent overflow (P2 UX)
- ServiceOption: price uses labelLg variant instead of h6 + hardcoded fontWeight (P1 theming)

Audit scores: ServiceOption 13/20, AddOnOption 14/20, ProviderCardCompact 15/20

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 18:31:04 +11:00
047d913960 format: Apply Prettier to existing codebase
Formatting-only changes across all component and story files.
No logic or behaviour changes — only whitespace, line breaks, and trailing commas.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 16:42:16 +11:00
f6b51ae7d4 Fix AddOnOption alignment + quieten "View more" link
- Centre-align heading row so switch aligns with short headings (Flowers edge case)
- Remove margin between heading and price — tucks directly underneath
- "View more" link: caption size + text.secondary colour + weight 400 (both components)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 21:25:20 +11:00
274671fdc6 Add expandable descriptions + fix AddOnOption layout
AddOnOption:
- Move price to its own row below heading (was squeezed between name and switch)
- Switch pins to top-right with alignItems: flex-start
- Long headings now wrap cleanly without layout pressure

Both AddOnOption + ServiceOption:
- Add optional maxDescriptionLines prop for CSS line-clamp truncation
- "View more" / "View less" toggle appears only when text is actually truncated
- Omit prop for no limit (default, backwards compatible)
- stopPropagation on toggle so clicking it doesn't trigger card selection

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 21:20:58 +11:00
1e7fbc0dc5 Add AddOnOption molecule — toggleable add-on with Switch
- Composes Card (interactive, selected) + Typography + Switch
- Maps to Figma ListItemAddItem (2350:40658) — toggle for optional extras
- Heading + optional price + description + Switch right-aligned
- Selected state via Card brand border + warm bg when checked
- Clicking anywhere on card toggles the switch (stopPropagation on switch)
- aria-labelledby connects switch to heading text
- 7 stories: Default, Checked, ServiceAddOns (interactive list with total),
  WithoutPrice, WithoutDescription, Disabled, EdgeCases

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