Skip to content

feat: Build in new component style affordances - #839

Merged
cb-ekuersch merged 6 commits into
masterfrom
erich/customer-component-config
Aug 11, 2026
Merged

cb-ekuersch merged 6 commits into
masterfrom
erich/customer-component-config

Conversation

@cb-ekuersch

@cb-ekuersch cb-ekuersch commented Aug 10, 2026 •

Copy link
Copy Markdown
Contributor

What changed? Why?

  • Accordion (web + mobile): add borderRadius and showItemSeparators props, register with the Component Config system, and add static styles/classNames support (web) for config-driven customization.
  • AccordionItem (web + mobile): add borderRadius prop, showHeaderBorder, and register with the Component Config system.
  • AccordionHeader (web + mobile): extract padding props onto BaseProps for config-driven spacing, keep the header Pressable transparent while inactive, add tertiaryTitle/caretSize/background props, and move style from BaseProps to Props.
  • AccordionPanel / Collapsible (web + mobile): move style from BaseProps to Props for consistency with the rest of the library.
  • Switch (web + mobile): add variant prop for convenience - setting background is already possible
image
  • SegmentedTabs (web + mobile): add equalWidth prop so tabs stretch to fill their container equally (web also auto-defaults width to 100% when set).
image
  • Build out a "Retail Theme / Config" demo in the expo app playground to preview these affordances alongside a ported custom CDS theme for the Retail product team.

Root cause (required for bugfixes)

UI changes

New demo for custom theme/config

retail.config.demo.mov

Testing

How has it been tested?

  • Unit tests
  • Interaction tests
  • Pseudo State tests
  • Manual - Web
  • Manual - Android (Emulator / Device)
  • Manual - iOS (Emulator / Device)

Testing instructions

Illustrations/Icons Checklist

Required if this PR changes files under packages/illustrations/** or packages/icons/**

  • verified visreg changes with Terran (include link to visreg run/approval)
  • all illustration/icons names have been reviewed by Dom and/or Terran

Change management

type=routine
risk=low
impact=sev5

automerge=false

@cb-heimdall

cb-heimdall commented Aug 10, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Heimdall Review Status

Requirement Status More Info
Reviews ✅ 1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 1
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1
CODEOWNERS ✅ See below

✅ CODEOWNERS

Code Owner Status Calculation
ui-systems-eng-team ✅ 1/1
Denominator calculation
Additional CODEOWNERS Requirement
Show calculation
Sum 0
0
From CODEOWNERS 1
Sum 1

@github-actions

github-actions Bot commented Aug 10, 2026 •

Copy link
Copy Markdown
Contributor

cb-ekuersch and others added 4 commits August 11, 2026 14:22
Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
… Tabs, SegmentedTabs and add more style customization options to some other components
Adds a `variant` prop (primary/positive/negative) to Switch on mobile and web
that sets the track's checked background using the same semantic colors as
other control components, while the `background` prop and custom styles
still take priority. Also adds a 0.5px `bgLine` border around the switch
head/handle (already present on web; now added to mobile) without changing
its size, plus story examples for the new variants.

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread packages/web/src/tabs/SegmentedTabs.tsx Outdated
Address PR feedback by setting alignSelf/width defaults directly in the
destructuring instead of computing separate resolved variables, on both
mobile and web.

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread apps/expo-app/src/playground/customerComponentConfig/retailCDSTheme.ts Outdated
adrienzheng-cb
adrienzheng-cb previously approved these changes Aug 11, 2026
@cb-ekuersch
cb-ekuersch merged commit 9ae65e3 into master Aug 11, 2026
35 checks passed
@cb-ekuersch
cb-ekuersch deleted the erich/customer-component-config branch August 11, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

4 participants