JSPM

  • Created
  • Published
  • Downloads 146
  • Score
    100M100P100Q91556F
  • License MIT

A modern, customizable UI component library with motion primitives and theme support built with React, TypeScript, Tailwind CSS, and shadcn/ui components.

Package Exports

  • passport-ui/accordion
  • passport-ui/alert
  • passport-ui/alert-dialog
  • passport-ui/analytics
  • passport-ui/animated-background
  • passport-ui/aspect-ratio
  • passport-ui/avatar
  • passport-ui/badge
  • passport-ui/blockquote
  • passport-ui/blur-in
  • passport-ui/breadcrumb
  • passport-ui/bullet-list
  • passport-ui/button
  • passport-ui/calendar
  • passport-ui/card
  • passport-ui/carousel
  • passport-ui/checkbox
  • passport-ui/chunk-3HNEZ72K
  • passport-ui/chunk-46YVCT7M
  • passport-ui/chunk-6RUUFOQA
  • passport-ui/chunk-A2DGQUNJ
  • passport-ui/chunk-DVFISRDY
  • passport-ui/chunk-HKK3G2HZ
  • passport-ui/chunk-JKDAFZ2I
  • passport-ui/chunk-JZBF5N2N
  • passport-ui/chunk-R4WFJOCP
  • passport-ui/chunk-VV2YVULU
  • passport-ui/chunk-Y6R2RCYY
  • passport-ui/code-block
  • passport-ui/collapsible
  • passport-ui/combobox
  • passport-ui/command
  • passport-ui/components.json
  • passport-ui/content-container
  • passport-ui/context-menu
  • passport-ui/date-picker
  • passport-ui/dialog
  • passport-ui/drawer
  • passport-ui/dropdown-menu
  • passport-ui/empty-state
  • passport-ui/footer-container
  • passport-ui/form
  • passport-ui/header-container
  • passport-ui/hljs-themes.css
  • passport-ui/hover-card
  • passport-ui/input
  • passport-ui/input-otp
  • passport-ui/label
  • passport-ui/live-region
  • passport-ui/markdown
  • passport-ui/menubar
  • passport-ui/mobile-sidebar-trigger
  • passport-ui/navigation-menu
  • passport-ui/page-layout
  • passport-ui/pagination
  • passport-ui/popover
  • passport-ui/prefetch-link
  • passport-ui/progress
  • passport-ui/radio-group
  • passport-ui/resizable
  • passport-ui/scroll-area
  • passport-ui/select
  • passport-ui/separator
  • passport-ui/sequential-reveal
  • passport-ui/sheet
  • passport-ui/sidebar
  • passport-ui/sidebar-container
  • passport-ui/skeleton
  • passport-ui/slider
  • passport-ui/sonner
  • passport-ui/structured-data
  • passport-ui/styles.css
  • passport-ui/switch
  • passport-ui/table
  • passport-ui/tabs
  • passport-ui/tailwind-colors.css
  • passport-ui/textarea
  • passport-ui/theme-button
  • passport-ui/theme-provider
  • passport-ui/theme-toggle
  • passport-ui/toggle
  • passport-ui/toggle-select
  • passport-ui/tooltip
  • passport-ui/typewriter-text
  • passport-ui/utils
  • passport-ui/visually-hidden

Readme

Passport UI

Passport UI

npm version npm downloads License: MIT Storybook

A React UI component library with motion primitives and theme support built with TypeScript, Tailwind CSS v4, and shadcn/ui components.

View components and documentation at storybook.passportui.com. Installation guide available at passportui.com.

Installation

npm install passport-ui

Using PostCSS

Add the PostCSS plugin to your postcss.config.mjs:

export default {
  plugins: ["@tailwindcss/postcss"],
};

Import Styles

Import the library styles in your main CSS file:

@source "../../node_modules/passport-ui/src"
@import "passport-ui/styles.css";

/* Optional styles based on requirement */
@import "passport-ui/hljs-themes.css"; /* Optional: for code highlighting */
@import "passport-ui/tailwind-colors.css"; /* Optional: dynamic usage of tailwind colors */
  • For themed syntax highlighting in CodeBlock and Markdown components, import the theme styles.
  • For dynamic usage of tailwind colors, import the tailwind colors styles.

Import Pattern

Passport UI uses individual component exports for optimal tree-shaking and React Server Components compatibility. Import components individually:

import { Button } from "passport-ui/button";
import { Card, CardContent } from "passport-ui/card";

function App() {
  return (
    <Card>
      <CardContent>
        <Button>Click me</Button>
      </CardContent>
    </Card>
  );
}

With Theme Support

import { ThemeButton } from "passport-ui/theme-button";
import { ThemeProvider } from "passport-ui/theme-provider";

function App() {
  return (
    <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
      <div className="min-h-screen bg-background text-foreground">
        <ThemeButton />
        {/* Your app content */}
      </div>
    </ThemeProvider>
  );
}

Available Themes

  • Light - Light theme
  • Dark - Dark theme
  • System - System theme

Use ThemeProvider to wrap your app and ThemeButton to toggle between themes.

Available Components

Layout Containers

Providers

Components

Hooks

Composables

Motion Primitives