mirror of
https://github.com/cloud-shuttle/leptos-shadcn-ui.git
synced 2025-12-22 22:00:00 +00:00
- Fixed compilation errors in menubar, combobox, and drawer packages - Updated to tailwind-rs-core v0.4.0 and tailwind-rs-wasm v0.4.0 for WASM compatibility - Cleaned up unused variable warnings across packages - Updated release documentation with WASM integration details - Demo working with dynamic color API and Tailwind CSS generation - All 25+ core components ready for crates.io publication Key features: ✅ WASM compatibility (no more tokio/mio dependencies) ✅ Dynamic Tailwind CSS class generation ✅ Type-safe color utilities ✅ Production-ready component library
144 lines
6.4 KiB
Plaintext
144 lines
6.4 KiB
Plaintext
[package]
|
|
name = "enhanced-lazy-loading-demo"
|
|
description = "Enhanced lazy loading system with advanced search, filters, and professional UI"
|
|
publish = false
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Your Name <your.email@example.com>"]
|
|
license = "MIT"
|
|
repository = "https://github.com/your-username/enhanced-lazy-loading"
|
|
keywords = ["leptos", "lazy-loading", "component-library", "ui-components"]
|
|
categories = ["web-programming", "gui", "development-tools"]
|
|
|
|
# Production build profiles with aggressive optimization
|
|
[profile.release]
|
|
opt-level = 3
|
|
codegen-units = 1
|
|
strip = true
|
|
incremental = false
|
|
lto = true
|
|
|
|
[profile.release.package."*"]
|
|
opt-level = 3
|
|
codegen-units = 1
|
|
strip = true
|
|
|
|
# Feature sets for different optimization levels
|
|
[features]
|
|
default = []
|
|
essential = []
|
|
essential_with_icons = ["button", "input", "label", "card", "separator", "default_theme", "new_york_theme"]
|
|
all_components = [
|
|
"button", "input", "label", "card", "separator", "alert", "badge", "checkbox", "switch",
|
|
"radio-group", "select", "textarea", "tabs", "accordion", "dialog", "popover", "tooltip",
|
|
"toast", "skeleton", "progress", "slider", "table", "pagination", "aspect-ratio",
|
|
"alert-dialog", "scroll-area", "hover-card", "command", "breadcrumb", "dropdown-menu",
|
|
"context-menu", "navigation-menu", "input-otp", "default_theme", "new_york_theme"
|
|
]
|
|
|
|
# Individual component features
|
|
button = ["dep:leptos-shadcn-button"]
|
|
input = ["dep:leptos-shadcn-input"]
|
|
label = ["dep:leptos-shadcn-label"]
|
|
card = ["dep:leptos-shadcn-card"]
|
|
separator = ["dep:leptos-shadcn-separator"]
|
|
alert = ["dep:leptos-shadcn-alert"]
|
|
badge = ["dep:leptos-shadcn-badge"]
|
|
checkbox = ["dep:leptos-shadcn-checkbox"]
|
|
switch = ["dep:leptos-shadcn-switch"]
|
|
radio-group = ["dep:leptos-shadcn-radio-group"]
|
|
select = ["dep:leptos-shadcn-select"]
|
|
textarea = ["dep:leptos-shadcn-textarea"]
|
|
tabs = ["dep:leptos-shadcn-tabs"]
|
|
accordion = ["dep:leptos-shadcn-accordion"]
|
|
dialog = ["dep:leptos-shadcn-dialog"]
|
|
popover = ["dep:leptos-shadcn-popover"]
|
|
tooltip = ["dep:leptos-shadcn-tooltip"]
|
|
toast = ["dep:leptos-shadcn-toast"]
|
|
skeleton = ["dep:leptos-shadcn-skeleton"]
|
|
progress = ["dep:leptos-shadcn-progress"]
|
|
slider = ["dep:leptos-shadcn-slider"]
|
|
table = ["dep:leptos-shadcn-table"]
|
|
pagination = ["dep:leptos-shadcn-pagination"]
|
|
aspect-ratio = ["dep:leptos-shadcn-aspect-ratio"]
|
|
alert-dialog = ["dep:leptos-shadcn-alert-dialog"]
|
|
scroll-area = ["dep:leptos-shadcn-scroll-area"]
|
|
hover-card = ["dep:leptos-shadcn-hover-card"]
|
|
command = ["dep:leptos-shadcn-command"]
|
|
breadcrumb = ["dep:leptos-shadcn-breadcrumb"]
|
|
dropdown-menu = ["dep:leptos-shadcn-dropdown-menu"]
|
|
context-menu = ["dep:leptos-shadcn-context-menu"]
|
|
navigation-menu = ["dep:leptos-shadcn-navigation-menu"]
|
|
input-otp = ["dep:leptos-shadcn-input-otp"]
|
|
default_theme = []
|
|
new_york_theme = []
|
|
|
|
[dependencies]
|
|
console_error_panic_hook = "0.1"
|
|
console_log = "1.0"
|
|
leptos = { version = "0.8", features = ["csr"] }
|
|
leptos_router = "0.8"
|
|
log = "0.4"
|
|
|
|
# Include all available components
|
|
leptos-shadcn-button = { path = "../../packages/leptos/button", optional = true }
|
|
leptos-shadcn-input = { path = "../../packages/leptos/input", optional = true }
|
|
leptos-shadcn-label = { path = "../../packages/leptos/label", optional = true }
|
|
leptos-shadcn-card = { path = "../../packages/leptos/card", optional = true }
|
|
leptos-shadcn-separator = { path = "../../packages/leptos/separator", optional = true }
|
|
leptos-shadcn-alert = { path = "../../packages/leptos/alert", optional = true }
|
|
leptos-shadcn-badge = { path = "../../packages/leptos/badge", optional = true }
|
|
leptos-shadcn-checkbox = { path = "../../packages/leptos/checkbox", optional = true }
|
|
leptos-shadcn-switch = { path = "../../packages/leptos/switch", optional = true }
|
|
leptos-shadcn-radio-group = { path = "../../packages/leptos/radio-group", optional = true }
|
|
leptos-shadcn-select = { path = "../../packages/leptos/select", optional = true }
|
|
leptos-shadcn-textarea = { path = "../../packages/leptos/textarea", optional = true }
|
|
leptos-shadcn-tabs = { path = "../../packages/leptos/tabs", optional = true }
|
|
leptos-shadcn-accordion = { path = "../../packages/leptos/accordion", optional = true }
|
|
leptos-shadcn-dialog = { path = "../../packages/leptos/dialog", optional = true }
|
|
leptos-shadcn-popover = { path = "../../packages/leptos/popover", optional = true }
|
|
leptos-shadcn-tooltip = { path = "../../packages/leptos/tooltip", optional = true }
|
|
leptos-shadcn-toast = { path = "../../packages/leptos/toast", optional = true }
|
|
leptos-shadcn-skeleton = { path = "../../packages/leptos/skeleton", optional = true }
|
|
leptos-shadcn-progress = { path = "../../packages/leptos/progress", optional = true }
|
|
leptos-shadcn-slider = { path = "../../packages/leptos/slider", optional = true }
|
|
leptos-shadcn-table = { path = "../../packages/leptos/table", optional = true }
|
|
leptos-shadcn-pagination = { path = "../../packages/leptos/pagination", optional = true }
|
|
leptos-shadcn-aspect-ratio = { path = "../../packages/leptos/aspect-ratio", optional = true }
|
|
leptos-shadcn-alert-dialog = { path = "../../packages/leptos/alert-dialog", optional = true }
|
|
leptos-shadcn-scroll-area = { path = "../../packages/leptos/scroll-area", optional = true }
|
|
leptos-shadcn-hover-card = { path = "../../packages/leptos/hover-card", optional = true }
|
|
leptos-shadcn-command = { path = "../../packages/leptos/command", optional = true }
|
|
leptos-shadcn-breadcrumb = { path = "../../packages/leptos/breadcrumb", optional = true }
|
|
leptos-shadcn-dropdown-menu = { path = "../../packages/leptos/dropdown-menu", optional = true }
|
|
leptos-shadcn-context-menu = { path = "../../packages/leptos/context-menu", optional = true }
|
|
leptos-shadcn-navigation-menu = { path = "../../packages/leptos/navigation-menu", optional = true }
|
|
leptos-shadcn-input-otp = { path = "../../packages/leptos/input-otp", optional = true }
|
|
|
|
# Icons are now handled with inline SVG (zero dependencies)
|
|
gloo-timers = { version = "0.3.0", features = ["futures"] }
|
|
|
|
# WASM loading and dynamic import support
|
|
wasm-bindgen = "0.2"
|
|
web-sys = "0.3"
|
|
js-sys = "0.3"
|
|
wasm-bindgen-futures = "0.4"
|
|
|
|
# UUID support for WASM
|
|
uuid = { version = "1.0", features = ["v4", "js"] }
|
|
|
|
# Force getrandom to use WASM-compatible version
|
|
getrandom = { version = "0.2", features = ["js"] }
|
|
|
|
# WASM-specific configuration
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
getrandom = { version = "0.2", features = ["js"] }
|
|
|
|
# tailwind-rs-core for dynamic styling
|
|
tailwind-rs-core = "0.3.0"
|
|
tailwind-rs-leptos = "0.3.0"
|
|
|
|
# Binary target for the demo
|
|
[[bin]]
|
|
name = "enhanced-lazy-loading-demo"
|
|
path = "src/main.rs" |