Components Catalog

NowKit ships a complete Jetpack Compose + Material 3 design system — 40+ components, all themed by your brand color and icon pack. They live in core/designsystem/ and every component is prefixed Kit (KitButton, KitTextField, …).

See them live. On your Home screen, tap Browse kit components to open the in-app Components Catalog screen — every component rendered in your colors, with real previews. It's the fastest way to see what's available. (Delete it in three places when you're done exploring: the screen file, its Route, and the Home button.)

The in-app Components Catalog scrolling through every component in the kit's brand color.

You consume components through the theme — e.g. icons via KitTheme.icons.back, colors via KitTheme.colors, spacing via KitTheme.spacing. Every component that takes an icon also accepts a per-call-site override.

This page is the index. For each component's screenshot, usage code, and features, see the detailed pages:

Full screens built from these → the Screens section. Non-UI engines (auth, purchases, analytics, AI) → Managers & Repositories.


Foundation

The design tokens everything is built on (core/designsystem/foundation/ + theme/):

  • Spacing / Shape / Elevation tokens
  • Color scheme — derived entirely from your one brand color (light + dark + containers)
  • Typography — full Material 3 type scale
  • Icons — pluggable packs: MaterialKitIcons (default), FeatherKitIcons, TablerKitIcons, swappable kit-wide via LocalKitIcons
  • Edge-to-edge + light/dark/system theming

Buttons & inputs

ComponentWhat it is
KitButtonPrimary / secondary / text / loading variants
KitTextFieldText input with label, error, helper
KitPasswordFieldPassword input with show/hide
KitSearchFieldSearch box with magnifier + clear
KitOtpFieldN-cell one-time-code entry
KitSliderValue slider
KitStepper+/− number stepper
KitSegmentedButtonSingle-choice segmented row
KitDropdownMenuGeneric exposed dropdown <T>
KitDatePickerModal + inline date pickers

Containers & lists

ComponentWhat it is
KitCardPlain + clickable card
KitListItemStandard list row
KitDisclosureGroupExpandable group
KitSwipeableRowSwipe-to-action row
KitLazyGridFixed + adaptive grids
KitBottomSheetModal bottom sheet
KitDialogPlain + destructive dialogs

Feedback & status

ComponentWhat it is
KitSnackbar4 severity styles — .info() .success() .warning() .error()
KitBannerInline banner, 4 styles, dismissible
KitLinearProgressDeterminate + indeterminate progress
KitShimmer / KitSkeletonLoading placeholders
KitPullToRefreshPull-to-refresh wrapper
KitBadgeNumber / text / dot overlay
KitRatingBarTappable 5-star rating

State views

Full-screen or inline (core/designsystem/state/):

  • KitLoadingState / KitInlineLoading
  • KitEmptyState
  • KitErrorState
  • KitSuccessState
  • KitBottomNavScaffold + KitBottomNavBar + KitBottomNavItem (with badges)
  • KitFab — single + extended floating action button

Settings rows

Compose your Settings screen from (core/designsystem/settings/):

  • SettingsSection, SettingsDivider
  • ToggleRow, NavRow, AccountRow, DangerRow
  • LegalLinks

Onboarding

  • KitOnboardingPager + KitPageIndicator — the 3-page intro
  • (Personalised questionnaire onboarding via /kit-design-onboarding)

Pricing / paywall pieces

  • KitPricingCard — tier card
  • KitFeatureRow, KitBulletRow — feature lists

Ops components

For the update gate + changelog (core/designsystem/ops/):

  • KitUpdateSheet — force / soft update prompts
  • KitWhatsNewSheet — version-bump changelog popup
  • KitMaintenanceScreen — full-screen maintenance mode

Permission flows

Two layers (core/designsystem/permission/ + feature/permissions/):

  • KitPermissionPrimer / KitPermissionPrimerSheet — bottom-sheet rationale
  • KitPermissionScreen — full-screen flow (icon → rationale → Allow / Skip; auto-swaps to "Open Settings" when the OS permanently denies)
  • 8 prebuilt screens: Notifications, Camera, Microphone, Photo, Contacts, Calendar, Location, Motion

WebView

  • KitWebView — embedded web view (JS off by default; prefer Custom Tabs for external links)

Utilities

Helper classes in core/util/ and elsewhere:

  • CustomTabs — open URLs in Chrome Custom Tabs
  • PlayStoreLauncher — open your Play listing (the "Rate" button)
  • EmailLaunchermailto: with subject/body
  • KitHaptics — semantic haptics (lightTap, success, …)
  • SecureDataStore — encrypted key storage (AES-GCM + Android Keystore)

Next: Features Reference — how auth, paywall, analytics, AI, and ops work underneath these components.