JSPM

  • Created
  • Published
  • Downloads 48
  • Score
    100M100P100Q94012F
  • 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-3ERIBAI6
  • passport-ui/chunk-46YVCT7M
  • passport-ui/chunk-4YRNTVHG
  • passport-ui/chunk-A2DGQUNJ
  • passport-ui/chunk-BWLAOSKP
  • passport-ui/chunk-MYVX5GBC
  • passport-ui/chunk-OKCCCVUP
  • passport-ui/chunk-R2CFJ2C2
  • passport-ui/chunk-VV2YVULU
  • passport-ui/chunk-WUKKWTSM
  • 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/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/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

Built on top of shadcn/ui's excellent foundation, but designed as a complete library solution. Explore the collection of 75+ premium components, composed with Tailwind CSS, Radix UI, and Motion.

View documentation at passportui.com. If you're someone who loves Storybook, you can view the components at storybook.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"; /* for code highlighting */
@import "passport-ui/tailwind-colors.css"; /* for runtime usage */
  • 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