Skip to content

Components ​

All 46 components, faithful to the React originals and verified against them. Most live in prism-ui; charts in prism-charts, glass in prism-glass, icons in prism-icons. The desktop sample instantiates every one.

Components build on a Material 3 base where it fits and are styled entirely from PrismTheme tokens. Interactive and custom-drawn components carry Modifier.semantics { } for screen readers.

Actions & feedback ​

ComponentAPINotes
ButtonPrismButton4 variants × tone × 3 sizes, leading/trailing icon
TagPrismTagtone pill; selected ring; working remove (×)
BadgePrismBadgecount/dot, max, floats over content
BannerPrismBannertinted, tone icon, action + close
ToastPrismToastneutral/success/error variants + auto icon
SpinnerPrismSpinnerCircularProgressIndicator; label / showLabel
ProgressBarPrismProgressBarLinearProgressIndicator; tone; determinate/indeterminate
SkeletonPrismSkeletontext / rect / circle variants, lines
PageControlPrismPageControldot indicator; tappable when onChange set
StateViewPrismStateViewempty/error: icon + title + description + action

Inputs & forms ​

ComponentAPINotes
TextFieldPrismTextFieldOutlinedTextField + label / help / error
TextareaPrismTextareamulti-line input
SearchFieldPrismSearchFieldsearch icon + conditional clear
SelectPrismSelectExposedDropdownMenuBox (generic <T>)
SwitchPrismSwitchtoken-styled Material 3 Switch
CheckboxPrismCheckboxTriStateCheckbox
RadioPrismRadio / PrismRadioGroupRadioButton + selectableGroup
SliderPrismSlideroptional label + value readout
StepperPrismStepper−/+ with min/max/step bounds
DatePickerPrismDatePicker42-cell month grid, pure-Kotlin date math
WheelPickerPrismWheelPickersnap-fling drum; single- or multi-column
ComponentAPINotes
TabsPrismTabs2px accent underline
SegmentedControlPrismSegmentedControlper-segment background toggle
TabBarPrismTabBarNavigationBar over a translucent material
NavBarPrismNavBar3-slot top bar + large-title, back button
BreadcrumbPrismBreadcrumbclickable trail + chevron separators

Overlays & disclosure ​

ComponentAPINotes
ModalPrismModalcentered Dialog + scrim
AlertPrismAlertAlertDialog; destructive / stacked
SheetPrismSheetslide-in bottom sheet + scrim
PopoverPrismPopoverPopup, 4 placements, outside/Esc dismiss
TooltipPrismTooltiphover/focus/press driven bubble
MenuPrismMenuDropdownMenu; items, danger, separators
DisclosurePrismDisclosureanimated accordion + rotating chevron

Containers & content ​

ComponentAPINotes
CardPrismCardmedia slot + eyebrow/title/description/footer
ListPrismList / PrismListRowleading/title/subtitle/trailing/chevron
TablePrismTableright-aligned numerics, hairline rows
GridPrismGridresponsive columns (generic <T>)
AvatarPrismAvatar / PrismAvatarGroupinitials + presence dot; overlap "+N"
ImagePrismImageaspect-ratio box + gradient scrim + placeholder

Charts ​

ComponentAPINotes
BarChartPrismBarChartproportional bars, one accent
LineChartPrismLineChartCanvas polyline + area gradient
ProgressRingPrismProgressRingdrawArc ring + center label

Glass ​

ComponentAPINotes
MaterialPrismMaterialfrosted surface, 4 thicknesses, progressive
LiquidGlassPrismLiquidGlassfloating translucent capsule

Glass fidelity

prism-glass ships a dependency-free translucent approximation that compiles on every target. Live backdrop blur (Haze / RenderEffect on Android 12+, Skia shader elsewhere) plugs in behind the same API. Pixel-faithful Apple-native glass is web-only by design.

Foundation ​

ComponentAPINotes
IconPrismIcon / PrismIcons46-icon set, runtime strokeWidth
ThemeProviderPrismThemesee Theming

Released under the MIT License.