[package]
name = "leptos-shadcn-ui"
version = "0.9.0"
edition = "2021"
description = "A comprehensive collection of beautiful, accessible UI components built for Leptos v0.8+, inspired by shadcn/ui. Features production-ready infrastructure with automated WASM testing, E2E integration, performance benchmarking, and accessibility automation. Core components with 100% test coverage, cross-browser compatibility, and WCAG compliance. Fully compatible with Leptos v0.8 attribute system."
homepage = "https://github.com/cloud-shuttle/leptos-shadcn-ui"
repository = "https://github.com/cloud-shuttle/leptos-shadcn-ui"
license = "MIT"
authors = ["CloudShuttle <info@cloudshuttle.com>"]
keywords = ["leptos", "ui", "components", "shadcn", "web"]
categories = ["wasm", "gui", "web-programming"]
readme = "../../README.md"
rust-version = "1.70"

[dependencies]
# Core Leptos dependencies (v0.8.x)
leptos = "0.8"
leptos_router = "0.8"
leptos-node-ref = "0.2"
leptos-struct-component = "0.2"
leptos-style = "0.2"

# Individual component packages (published dependencies for v0.9.0 release)
leptos-shadcn-button = { version = "0.9.0", path = "../leptos/button", optional = true }
leptos-shadcn-input = { version = "0.9.0", path = "../leptos/input", optional = true }
leptos-shadcn-label = { version = "0.9.0", path = "../leptos/label", optional = true }
leptos-shadcn-checkbox = { version = "0.9.0", path = "../leptos/checkbox", optional = true }
leptos-shadcn-switch = { version = "0.9.0", path = "../leptos/switch", optional = true }
leptos-shadcn-radio-group = { version = "0.9.0", path = "../leptos/radio-group", optional = true }
leptos-shadcn-select = { version = "0.9.0", path = "../leptos/select", optional = true }
leptos-shadcn-textarea = { version = "0.9.0", path = "../leptos/textarea", optional = true }
leptos-shadcn-card = { version = "0.9.0", path = "../leptos/card", optional = true }
leptos-shadcn-separator = { version = "0.9.0", path = "../leptos/separator", optional = true }
leptos-shadcn-tabs = { version = "0.9.0", path = "../leptos/tabs", optional = true }
leptos-shadcn-accordion = { version = "0.9.0", path = "../leptos/accordion", optional = true }
leptos-shadcn-dialog = { version = "0.9.0", path = "../leptos/dialog", optional = true }
leptos-shadcn-popover = { version = "0.9.0", path = "../leptos/popover", optional = true }
leptos-shadcn-tooltip = { version = "0.9.0", path = "../leptos/tooltip", optional = true }
leptos-shadcn-alert = { version = "0.9.0", path = "../leptos/alert", optional = true }
leptos-shadcn-badge = { version = "0.9.0", path = "../leptos/badge", optional = true }
leptos-shadcn-skeleton = { version = "0.9.0", path = "../leptos/skeleton", optional = true }
leptos-shadcn-progress = { version = "0.9.0", path = "../leptos/progress", optional = true }
leptos-shadcn-toast = { version = "0.9.0", path = "../leptos/toast", optional = true }
leptos-shadcn-table = { version = "0.9.0", path = "../leptos/table", optional = true }
leptos-shadcn-calendar = { version = "0.9.0", path = "../leptos/calendar", optional = true }
leptos-shadcn-date-picker = { version = "0.9.0", path = "../leptos/date-picker", optional = true }
leptos-shadcn-pagination = { version = "0.9.0", path = "../leptos/pagination", optional = true }
leptos-shadcn-slider = { version = "0.9.0", path = "../leptos/slider", optional = true }
leptos-shadcn-toggle = { version = "0.9.0", path = "../leptos/toggle", optional = true }
leptos-shadcn-carousel = { version = "0.9.0", path = "../leptos/carousel", optional = true }

# Advanced components (published dependencies for v0.9.0 release)
leptos-shadcn-form = { version = "0.9.0", path = "../leptos/form", optional = true }
leptos-shadcn-combobox = { version = "0.9.0", path = "../leptos/combobox", optional = true }
leptos-shadcn-command = { version = "0.9.0", path = "../leptos/command", optional = true }
leptos-shadcn-input-otp = { version = "0.9.0", path = "../leptos/input-otp", optional = true }
leptos-shadcn-breadcrumb = { version = "0.9.0", path = "../leptos/breadcrumb", optional = true }
leptos-shadcn-navigation-menu = { version = "0.9.0", path = "../leptos/navigation-menu", optional = true }
leptos-shadcn-context-menu = { version = "0.9.0", path = "../leptos/context-menu", optional = true }
leptos-shadcn-dropdown-menu = { version = "0.9.0", path = "../leptos/dropdown-menu", optional = true }
leptos-shadcn-menubar = { version = "0.9.0", path = "../leptos/menubar", optional = true }
leptos-shadcn-hover-card = { version = "0.9.0", path = "../leptos/hover-card", optional = true }
leptos-shadcn-aspect-ratio = { version = "0.9.0", path = "../leptos/aspect-ratio", optional = true }
leptos-shadcn-collapsible = { version = "0.9.0", path = "../leptos/collapsible", optional = true }
leptos-shadcn-scroll-area = { version = "0.9.0", path = "../leptos/scroll-area", optional = true }
leptos-shadcn-sheet = { version = "0.9.0", path = "../leptos/sheet", optional = true }
leptos-shadcn-drawer = { version = "0.9.0", path = "../leptos/drawer", optional = true }
leptos-shadcn-alert-dialog = { version = "0.9.0", path = "../leptos/alert-dialog", optional = true }
leptos-shadcn-avatar = { version = "0.9.0", path = "../leptos/avatar", optional = true }
leptos-shadcn-resizable = { version = "0.9.0", path = "../leptos/resizable", optional = true }
leptos-shadcn-performance-audit = { version = "0.1.0", path = "../../performance-audit", optional = true }

# Additional packages (published dependencies for v0.9.0 release)
leptos-shadcn-error-boundary = { version = "0.9.0", path = "../leptos/error-boundary", optional = true }
leptos-shadcn-lazy-loading = { version = "0.9.0", path = "../leptos/lazy-loading", optional = true }
leptos-shadcn-registry = { version = "0.9.0", path = "../leptos/registry", optional = true }

# Additional dependencies
tailwind_fuse = "0.3"
gloo-timers = "0.3"

# WASM-compatible dependencies
getrandom = { version = "0.2", features = ["js"] }
uuid = { version = "1.0", features = ["v4", "js"] }

[features]
default = ["all-components"]
all-components = [
    "button", "input", "label", "checkbox", "switch", "radio-group", "select", "textarea",
    "card", "separator", "tabs", "accordion", "dialog", "popover", "tooltip",
    "alert", "badge", "skeleton", "progress", "toast", "table", "calendar", "date-picker", "pagination",
    "slider", "toggle", "carousel",
    "form", "combobox", "command", "input-otp", "breadcrumb", "navigation-menu", "context-menu", 
    "dropdown-menu", "menubar", "hover-card", "aspect-ratio", "collapsible", "scroll-area", 
    "sheet", "drawer", "alert-dialog", "avatar", "resizable", "error-boundary", "lazy-loading", "performance-audit"
]

# Individual component features
button = ["leptos-shadcn-button"]
input = ["leptos-shadcn-input"]
label = ["leptos-shadcn-label"]
checkbox = ["leptos-shadcn-checkbox"]
switch = ["leptos-shadcn-switch"]
radio-group = ["leptos-shadcn-radio-group"]
select = ["leptos-shadcn-select"]
textarea = ["leptos-shadcn-textarea"]
card = ["leptos-shadcn-card"]
separator = ["leptos-shadcn-separator"]
tabs = ["leptos-shadcn-tabs"]
accordion = ["leptos-shadcn-accordion"]
dialog = ["leptos-shadcn-dialog"]
popover = ["leptos-shadcn-popover"]
tooltip = ["leptos-shadcn-tooltip"]
alert = ["leptos-shadcn-alert"]
badge = ["leptos-shadcn-badge"]
skeleton = ["leptos-shadcn-skeleton"]
progress = ["leptos-shadcn-progress"]
toast = ["leptos-shadcn-toast"]
table = ["leptos-shadcn-table"]
calendar = ["leptos-shadcn-calendar"]
date-picker = ["leptos-shadcn-date-picker"]
pagination = ["leptos-shadcn-pagination"]
slider = ["leptos-shadcn-slider"]
toggle = ["leptos-shadcn-toggle"]
carousel = ["leptos-shadcn-carousel"]
form = ["leptos-shadcn-form"]
combobox = ["leptos-shadcn-combobox"]
command = ["leptos-shadcn-command"]
input-otp = ["leptos-shadcn-input-otp"]
breadcrumb = ["leptos-shadcn-breadcrumb"]
navigation-menu = ["leptos-shadcn-navigation-menu"]
context-menu = ["leptos-shadcn-context-menu"]
dropdown-menu = ["leptos-shadcn-dropdown-menu"]
menubar = ["leptos-shadcn-menubar"]
hover-card = ["leptos-shadcn-hover-card"]
aspect-ratio = ["leptos-shadcn-aspect-ratio"]
collapsible = ["leptos-shadcn-collapsible"]
scroll-area = ["leptos-shadcn-scroll-area"]
sheet = ["leptos-shadcn-sheet"]
drawer = ["leptos-shadcn-drawer"]
alert-dialog = ["leptos-shadcn-alert-dialog"]
avatar = ["leptos-shadcn-avatar"]
resizable = ["leptos-shadcn-resizable"]
performance-audit = ["leptos-shadcn-performance-audit"]
error-boundary = ["leptos-shadcn-error-boundary"]
lazy-loading = ["leptos-shadcn-lazy-loading"]
registry = ["leptos-shadcn-registry"]

# Modern Rust features
modern-rust = []
leptos-v0-8 = []
wasm-optimized = []
quality-assured = []

[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-unknown-linux-gnu"]

[package.metadata.playground]
components = ["button", "card", "input", "dialog"]
