Skip to content

feat(MattiUI): Upgrade to Material Design 3 with full Jetpack Compose-aligned component library#2

Draft
Copilot wants to merge 3 commits into
mainfrom
copilot/update-to-latest-material-design
Draft

feat(MattiUI): Upgrade to Material Design 3 with full Jetpack Compose-aligned component library#2
Copilot wants to merge 3 commits into
mainfrom
copilot/update-to-latest-material-design

Conversation

Copilot AI commented Mar 24, 2026

Copy link
Copy Markdown

MattiUI had a small set of rough M2-era components with no theming system. This PR introduces a complete Material Design 3 component library with an environment-based theme, using Jetpack Compose M3 naming conventions, plus a fully rewritten sample project showcasing all components via SwiftUI previews.

Theme System (Sources/MattiUI/Theme/)

  • MaterialColorScheme — 30 M3 color roles, baseline light/dark purple palettes, public Color(m3hex:) extension
  • MaterialTypography — full type scale (displayLargelabelSmall) with font, line-height, and letter-spacing
  • MaterialShapes — shape scale (extraSmall 4pt → full 50pt)
  • MaterialTheme — environment-injected via .materialTheme() / @Environment(\.materialTheme)
MyApp()
    .materialTheme(.init(colorScheme: .light))

New Components (Jetpack Compose M3 naming)

Category Components
Buttons FilledButton, OutlinedButton, TextButton, ElevatedButton, FilledTonalButton
FAB FloatingActionButton, SmallFloatingActionButton, LargeFloatingActionButton, ExtendedFloatingActionButton
Cards ElevatedCard, FilledCard, OutlinedCard
Chips AssistChip, FilterChip, InputChip, SuggestionChip
Text Fields FilledTextField, OutlinedTextField (floating label, icons, error state)
Selection MaterialSwitch (thumb icon + spring animation), MaterialCheckbox, MaterialRadioButton, MaterialRadioGroup
Progress LinearProgressIndicator, CircularProgressIndicator (determinate + indeterminate)
Navigation NavigationBar + NavigationBarItem (M3 active indicator pill)
App Bars TopAppBar, CenterAlignedTopAppBar, MediumTopAppBar, LargeTopAppBar
Misc AlertDialog, Badge, BadgedBox, MaterialDivider, Snackbar + .snackbar(data:onAction:) modifier

Sample Project

ContentView.swift replaced with a 4-tab showcase app (NavigationBar-driven: Buttons, Cards & Chips, Inputs, Misc) demonstrating every component with live PreviewProviders per section.

Backward Compatibility

All original components (MaterialButton, Card, MaterialToggle, MaterialDateTimePicker, Rating, ContainerWithFloatingButton) are untouched.

Original prompt

I need you to update this repository to use the latest material design from Google and provide examples in SwiftUI previews on a sample project so that we can see how they look and match it as close as you can to what material design has use similar naming conventions for the components of android jet pack compose


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits March 24, 2026 00:22
…e project showcase

Co-authored-by: techguy0711 <32556867+techguy0711@users.noreply.github.com>
Agent-Logs-Url: https://github.com/techguy0711/MattiUI/sessions/a5b903bf-84ac-4dd8-aa23-6dac7867ea90
… fix chip padding logic

Co-authored-by: techguy0711 <32556867+techguy0711@users.noreply.github.com>
Agent-Logs-Url: https://github.com/techguy0711/MattiUI/sessions/a5b903bf-84ac-4dd8-aa23-6dac7867ea90
Copilot AI changed the title [WIP] Update repository to use latest material design with SwiftUI previews feat(MattiUI): Upgrade to Material Design 3 with full Jetpack Compose-aligned component library Mar 24, 2026
Copilot AI requested a review from techguy0711 March 24, 2026 00:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants