Components
GitApp UI

API

All exports come from the package root:

import { /* … */ } from "@dev-bench/gitapp-ui";

Selector components

ExportKindSummary
ProviderSelectorcomponentPick GitHub / Gitea / GitLab + optional custom host. Driven by IProviderSelectorModel.
RepoPickerSheetcomponentList user repos with search and access filtering. Driven by IRepoPickerModel.
RepoRowcomponentSingle repo row used inside RepoPickerSheet (also exported for custom layouts).
ConnectionPanelcomponentCombined provider + token + host configuration for first-run / settings flows. Driven by IConnectionModel.

Types: ProviderSelectorProps, IProviderSelectorModel, RepoPickerSheetProps, IRepoPickerModel, RepoInfo, RepoAccess, ConnectionPanelProps, IConnectionModel, ConnectionErrorKind, ConnectionSuccess.

Theme

ExportKindSummary
ThemeProvidercomponentInjects a Theme into all descendants.
useThemehookReads the current theme.
defaultLightThemeconstBuilt-in light palette + tokens.
mergeThemefunctionDeep-merge a partial theme over a base theme.

Types: Theme, ThemeColors, ThemeFonts, ThemeRadii, ThemeShadow, ThemeShadows, ThemeSpacing, ThemeTypography.

Primitives

ExportKindSummary
BannercomponentInline banner for warnings / errors / info.
ButtoncomponentPrimary / secondary / danger / ghost variants in three sizes.
ChipcomponentSmall status tag tinted by StatusTone.
DotcomponentSingle dot indicator (online / offline / error pulse).
IconcomponentRN-svg glyph keyed by IconName.
SkeletoncomponentAnimated placeholder block.
SpinnercomponentIndeterminate progress spinner.

Types: IconName.

Cross-component types

ExportKindSummary
ResourceconstConstructors for the Resource<T> discriminated union (idle / loading / ready / error).
ResourceTtypeAlias for Resource<T> (the generic union itself, separate from the constructors object).
Errtype{ message: string; cause?: unknown }.
StatusTonetype"neutral" | "brand" | "success" | "warn" | "danger" | "info" | "mine" | "theirs" | "merged".
ProviderIdtype"github" | "gitea" | "gitlab".
Connectivitytype{ kind: "online" } | { kind: "offline" } | { kind: "uncertain" }.

Strings

ExportKindSummary
PLACEHOLDER_HOST_EXAMPLESconstExample host strings shown in form inputs. Move to your i18n catalogue when you localize.

Source-only distribution

This package publishes .tsx source — there is no dist/. Your bundler runs JSX/TS at build time, which means:

  • You must not import this package from a Node ESM environment that lacks a TS loader.
  • Type-checking happens in your app's tsc pass against the package's ambient react-native peer dep — no separate .d.ts files are emitted.

See the generated JSDoc reference for full type signatures.

On this page