diff --git a/.publish/ai/package.json b/.publish/ai/package.json index a59423b5..4030288c 100644 --- a/.publish/ai/package.json +++ b/.publish/ai/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ai", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.", "license": "MIT", diff --git a/.publish/authz/package.json b/.publish/authz/package.json index 69553fb7..25f0ed47 100644 --- a/.publish/authz/package.json +++ b/.publish/authz/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/authz", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/authz — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/cli/package.json b/.publish/cli/package.json index 63afdd31..e08be189 100644 --- a/.publish/cli/package.json +++ b/.publish/cli/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/cli", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/cli — part of the WrNexus framework.", "license": "MIT", @@ -28,16 +28,16 @@ "wrnexus": "./dist/index.js" }, "dependencies": { - "@wrnexus/core": "^0.2.60", - "@wrnexus/router": "^0.2.60", - "@wrnexus/csr": "^0.2.60", - "@wrnexus/compiler": "^0.2.60", - "@wrnexus/styles": "^0.2.60", - "@wrnexus/dev-server": "^0.2.60", - "@wrnexus/ui": "^0.2.60", - "@wrnexus/validation": "^0.2.60", - "@wrnexus/i18n": "^0.2.60", - "@wrnexus/db": "^0.2.60" + "@wrnexus/core": "^0.2.61", + "@wrnexus/router": "^0.2.61", + "@wrnexus/csr": "^0.2.61", + "@wrnexus/compiler": "^0.2.61", + "@wrnexus/styles": "^0.2.61", + "@wrnexus/dev-server": "^0.2.61", + "@wrnexus/ui": "^0.2.61", + "@wrnexus/validation": "^0.2.61", + "@wrnexus/i18n": "^0.2.61", + "@wrnexus/db": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/compiler/package.json b/.publish/compiler/package.json index f22d228c..3552f68a 100644 --- a/.publish/compiler/package.json +++ b/.publish/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/compiler", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/compiler — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/core/package.json b/.publish/core/package.json index 72d6fb55..7d1c485a 100644 --- a/.publish/core/package.json +++ b/.publish/core/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/core", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/core — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/csr/package.json b/.publish/csr/package.json index ca9c43c6..49c04523 100644 --- a/.publish/csr/package.json +++ b/.publish/csr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/csr", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/csr — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.60" + "@wrnexus/core": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/db/package.json b/.publish/db/package.json index 3d37c20e..c44ccea8 100644 --- a/.publish/db/package.json +++ b/.publish/db/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/db", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/db — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/dev-server/package.json b/.publish/dev-server/package.json index c54b1d10..ffdd5c8e 100644 --- a/.publish/dev-server/package.json +++ b/.publish/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-server", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/dev-server — part of the WrNexus framework.", "license": "MIT", @@ -25,18 +25,18 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.60", - "@wrnexus/router": "^0.2.60", - "@wrnexus/ssr": "^0.2.60", - "@wrnexus/csr": "^0.2.60", - "@wrnexus/compiler": "^0.2.60", - "@wrnexus/styles": "^0.2.60", - "@wrnexus/ui": "^0.2.60", - "@wrnexus/validation": "^0.2.60", - "@wrnexus/i18n": "^0.2.60", - "@wrnexus/db": "^0.2.60", - "@wrnexus/pubsub": "^0.2.60", - "@wrnexus/uploader": "^0.2.60" + "@wrnexus/core": "^0.2.61", + "@wrnexus/router": "^0.2.61", + "@wrnexus/ssr": "^0.2.61", + "@wrnexus/csr": "^0.2.61", + "@wrnexus/compiler": "^0.2.61", + "@wrnexus/styles": "^0.2.61", + "@wrnexus/ui": "^0.2.61", + "@wrnexus/validation": "^0.2.61", + "@wrnexus/i18n": "^0.2.61", + "@wrnexus/db": "^0.2.61", + "@wrnexus/pubsub": "^0.2.61", + "@wrnexus/uploader": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/encryption/package.json b/.publish/encryption/package.json index 57a74ee1..76a70733 100644 --- a/.publish/encryption/package.json +++ b/.publish/encryption/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/encryption", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/encryption — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/helpers/package.json b/.publish/helpers/package.json index 785ec80e..f0e4bdd5 100644 --- a/.publish/helpers/package.json +++ b/.publish/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/helpers", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "Safe convenience helpers for WrNexus request contexts and common application flows.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.60" + "@wrnexus/core": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/i18n/package.json b/.publish/i18n/package.json index 8cba2cdd..ca79185f 100644 --- a/.publish/i18n/package.json +++ b/.publish/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/i18n", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/i18n — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.60" + "@wrnexus/core": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/jwt/package.json b/.publish/jwt/package.json index 16770dbf..c63886a9 100644 --- a/.publish/jwt/package.json +++ b/.publish/jwt/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/jwt", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/jwt — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/mobile/package.json b/.publish/mobile/package.json index c89e16d6..3f359d64 100644 --- a/.publish/mobile/package.json +++ b/.publish/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/mobile", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/mobile — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/native": "^0.2.60" + "@wrnexus/native": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/native/package.json b/.publish/native/package.json index 451f5c3f..c17faabb 100644 --- a/.publish/native/package.json +++ b/.publish/native/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/native", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/native — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/oauth/package.json b/.publish/oauth/package.json index a809b4cd..8f32f596 100644 --- a/.publish/oauth/package.json +++ b/.publish/oauth/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/oauth", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/oauth — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/pubsub/package.json b/.publish/pubsub/package.json index e96c41bb..816ef154 100644 --- a/.publish/pubsub/package.json +++ b/.publish/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/pubsub", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/pubsub — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/queue/package.json b/.publish/queue/package.json index 18e2d086..c0dd132b 100644 --- a/.publish/queue/package.json +++ b/.publish/queue/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/queue", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/queue — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/reactive/package.json b/.publish/reactive/package.json index 2eebfb98..9db7b658 100644 --- a/.publish/reactive/package.json +++ b/.publish/reactive/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/reactive", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/reactive — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/router/package.json b/.publish/router/package.json index c9c69b7a..5b85c7ff 100644 --- a/.publish/router/package.json +++ b/.publish/router/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/router", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/router — part of the WrNexus framework.", "license": "MIT", @@ -21,8 +21,8 @@ } }, "dependencies": { - "@wrnexus/compiler": "^0.2.60", - "@wrnexus/core": "^0.2.60" + "@wrnexus/compiler": "^0.2.61", + "@wrnexus/core": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/ssr/package.json b/.publish/ssr/package.json index b4bbd569..1fa60ddf 100644 --- a/.publish/ssr/package.json +++ b/.publish/ssr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ssr", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/ssr — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.60" + "@wrnexus/core": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/styles/package.json b/.publish/styles/package.json index e6fd73f3..4c43811b 100644 --- a/.publish/styles/package.json +++ b/.publish/styles/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/styles", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/styles — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/uploader": "^0.2.60" + "@wrnexus/uploader": "^0.2.61" }, "files": [ "dist" diff --git a/.publish/test/package.json b/.publish/test/package.json index fa9fc56b..ee9d6925 100644 --- a/.publish/test/package.json +++ b/.publish/test/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/test", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/test — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/tracking/package.json b/.publish/tracking/package.json index f20d63a7..7b570f86 100644 --- a/.publish/tracking/package.json +++ b/.publish/tracking/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/tracking", - "version": "0.2.60", + "version": "0.2.61", "type": "module", "description": "@wrnexus/tracking — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/ui/COMPONENTS.md b/.publish/ui/COMPONENTS.md index ee784449..26e199c0 100644 --- a/.publish/ui/COMPONENTS.md +++ b/.publish/ui/COMPONENTS.md @@ -297,7 +297,7 @@ Reusable hero secondary action component. Reusable icon button component. - Mount: `data-component="IconButton"` -- Props: `label: string = "Action"`, `icon: string = "•"`, `variant: string = "ghost"`, `disabled: boolean = false` +- Props: `class: string = ""`, `label: string = "Action"`, `icon: string = "•"`, `variant: string = "ghost"`, `disabled: boolean = false` - Slots: None - Events: None @@ -650,7 +650,7 @@ Reusable accessible tooltip component. Reusable accordion component. - Mount: `data-component="Accordion"` -- Props: `title: string = "Question"`, `open: boolean = false` +- Props: `class: string = ""`, `title: string = "Question"`, `open: boolean = false` - Slots: `default` - Events: `click` @@ -695,7 +695,7 @@ Reusable analytics dashboard preview component. Reusable api endpoint card component. - Mount: `data-component="ApiEndpointCard"` -- Props: `method: string = "GET"`, `path: string = "/api/example"`, `description: string = ""` +- Props: `class: string = ""`, `method: string = "GET"`, `path: string = "/api/example"`, `description: string = ""` - Slots: `default` - Events: None @@ -830,7 +830,7 @@ Reusable availability calendar component. Reusable avatar component. - Mount: `data-component="Avatar"` -- Props: `src: string = ""`, `alt: string = ""`, `initials: string = "WR"`, `size: string = "md"` +- Props: `class: string = ""`, `src: string = ""`, `alt: string = ""`, `initials: string = "WR"`, `size: string = "md"` - Slots: None - Events: None @@ -1055,7 +1055,7 @@ Reusable code component. Reusable code block component. - Mount: `data-component="CodeBlock"` -- Props: `language: string = "text"`, `filename: string = ""`, `code: string = ""` +- Props: `class: string = ""`, `language: string = "text"`, `filename: string = ""`, `code: string = ""` - Slots: None - Events: `click` @@ -1460,7 +1460,7 @@ Reusable favicon upload component. Reusable feature card component. - Mount: `data-component="FeatureCard"` -- Props: `icon: string = "✦"`, `title: string = "Feature"`, `description: string = ""`, `href: string = ""` +- Props: `class: string = ""`, `icon: string = "✦"`, `title: string = "Feature"`, `description: string = ""`, `href: string = ""` - Slots: None - Events: None @@ -1514,7 +1514,7 @@ Reusable file size label component. Reusable file upload component. - Mount: `data-component="FileUpload"` -- Props: `id: string = "file"`, `name: string = "file"`, `label: string = "Upload file"`, `accept: string = ""`, `multiple: boolean = false`, `help: string = "Drag and drop or browse"` +- Props: `class: string = ""`, `id: string = "file"`, `name: string = "file"`, `label: string = "Upload file"`, `accept: string = ""`, `multiple: boolean = false`, `help: string = "Drag and drop or browse"` - Slots: None - Events: None @@ -1559,7 +1559,7 @@ Reusable form component. Reusable form error summary component. - Mount: `data-component="FormErrorSummary"` -- Props: `title: string = "Please fix the following"`, `visible: boolean = true` +- Props: `class: string = ""`, `title: string = "Please fix the following"`, `visible: boolean = true` - Slots: `default` - Events: None @@ -2135,7 +2135,7 @@ Reusable pricing contact form component. Reusable pricing plan card component. - Mount: `data-component="PricingPlanCard"` -- Props: `name: string = "Starter"`, `description: string = ""`, `price: string = "₹0"`, `period: string = "/month"`, `featured: boolean = false`, `ctaLabel: string = "Choose plan"`, `ctaHref: string = "#"` +- Props: `class: string = ""`, `name: string = "Starter"`, `description: string = ""`, `price: string = "₹0"`, `period: string = "/month"`, `featured: boolean = false`, `ctaLabel: string = "Choose plan"`, `ctaHref: string = "#"` - Slots: `default` - Events: None @@ -2531,7 +2531,7 @@ Reusable sms composer component. Reusable stat card component. - Mount: `data-component="StatCard"` -- Props: `label: string = "Metric"`, `value: string = "0"`, `change: string = ""`, `trend: string = "neutral"` +- Props: `class: string = ""`, `label: string = "Metric"`, `value: string = "0"`, `change: string = ""`, `trend: string = "neutral"` - Slots: None - Events: None @@ -2576,7 +2576,7 @@ Reusable support request form component. Reusable tabs component. - Mount: `data-component="Tabs"` -- Props: `active: string = "first"` +- Props: `class: string = ""`, `active: string = "first"` - Slots: `first`, `second` - Events: `click` @@ -2612,7 +2612,7 @@ Reusable terminal block component. Reusable testimonial card component. - Mount: `data-component="TestimonialCard"` -- Props: `quote: string = "Great product."`, `name: string = "Customer"`, `role: string = ""`, `company: string = ""`, `avatar: string = ""` +- Props: `class: string = ""`, `quote: string = "Great product."`, `name: string = "Customer"`, `role: string = ""`, `company: string = ""`, `avatar: string = ""` - Slots: None - Events: None @@ -2639,7 +2639,7 @@ Reusable theme switcher component. Reusable timeline item component. - Mount: `data-component="TimelineItem"` -- Props: `title: string = "Event"`, `date: string = ""`, `description: string = ""`, `status: string = "default"` +- Props: `class: string = ""`, `title: string = "Event"`, `date: string = ""`, `description: string = ""`, `status: string = "default"` - Slots: None - Events: None @@ -2657,7 +2657,7 @@ Reusable toast icon component. Reusable tooltip component. - Mount: `data-component="Tooltip"` -- Props: `text: string = "Helpful information"`, `position: string = "top"` +- Props: `class: string = ""`, `text: string = "Helpful information"`, `position: string = "top"` - Slots: `default` - Events: None @@ -2884,7 +2884,7 @@ Reusable zoom slider component. Reusable announcement bar component. - Mount: `data-component="AnnouncementBar"` -- Props: `badge: string = "New"`, `message: string = "WrNexus Organizations is now available."`, `description: string = "Build secure multi-tenant applications with teams, roles, domains, and enterprise SSO."`, `href: string = "/organizations"`, `actionLabel: string = "Explore organizations"`, `ariaLabel: string = "Announcement"` +- Props: `class: string = ""`, `badge: string = "New"`, `message: string = "WrNexus Organizations is now available."`, `description: string = "Build secure multi-tenant applications with teams, roles, domains, and enterprise SSO."`, `href: string = "/organizations"`, `actionLabel: string = "Explore organizations"`, `ariaLabel: string = "Announcement"` - Slots: None - Events: `click` @@ -2902,7 +2902,7 @@ Reusable aspect ratio component. Reusable back to top component. - Mount: `data-component="BackToTop"` -- Props: `label: string = "Back to top"`, `assistiveLabel: string = "Return to the top of the page"`, `threshold: number = 500` +- Props: `class: string = ""`, `label: string = "Back to top"`, `assistiveLabel: string = "Return to the top of the page"`, `threshold: number = 500` - Slots: None - Events: `click` @@ -2911,7 +2911,7 @@ Reusable back to top component. Reusable breadcrumbs component. - Mount: `data-component="Breadcrumbs"` -- Props: `homeLabel: string = "Home"`, `homeHref: string = "/"`, `current: string = "Current page"` +- Props: `class: string = ""`, `homeLabel: string = "Home"`, `homeHref: string = "/"`, `current: string = "Current page"` - Slots: None - Events: None @@ -2920,7 +2920,7 @@ Reusable breadcrumbs component. Reusable checkbox component. - Mount: `data-component="Checkbox"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Checkbox"`, `description: string = ""`, `checked: boolean = false`, `disabled: boolean = false` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Checkbox"`, `description: string = ""`, `checked: boolean = false`, `disabled: boolean = false` - Slots: None - Events: None @@ -2992,7 +2992,7 @@ Reusable divider component. Reusable drawer component. - Mount: `data-component="Drawer"` -- Props: `title: string = "Panel"`, `open: boolean = false`, `side: string = "right"` +- Props: `class: string = ""`, `title: string = "Panel"`, `open: boolean = false`, `side: string = "right"` - Slots: `default` - Events: `click` @@ -3001,7 +3001,7 @@ Reusable drawer component. Reusable faq component. - Mount: `data-component="FAQ"` -- Props: `eyebrow: string = ""`, `title: string = "Frequently asked questions"`, `description: string = ""`, `items: string = []`, `centered: boolean = true`, `allowMultiple: boolean = false`, `defaultOpenIndex: number = 0` +- Props: `class: string = ""`, `eyebrow: string = ""`, `title: string = "Frequently asked questions"`, `description: string = ""`, `items: string = []`, `centered: boolean = true`, `allowMultiple: boolean = false`, `defaultOpenIndex: number = 0` - Slots: None - Events: None @@ -3010,7 +3010,7 @@ Reusable faq component. Reusable faqaccordion component. - Mount: `data-component="FAQAccordion"` -- Props: `eyebrow: string = ""`, `title: string = "Frequently asked questions"`, `description: string = ""`, `items: string = []`, `centered: boolean = true`, `compact: boolean = false`, `allowMultiple: boolean = false`, `defaultOpenIndex: number = 0`, `showContact: boolean = false`, `contactText: string = "Still have questions?"`, `contactLabel: string = "Contact support"`, `contactHref: string = "/support"` +- Props: `class: string = ""`, `eyebrow: string = ""`, `title: string = "Frequently asked questions"`, `description: string = ""`, `items: string = []`, `centered: boolean = true`, `compact: boolean = false`, `allowMultiple: boolean = false`, `defaultOpenIndex: number = 0`, `showContact: boolean = false`, `contactText: string = "Still have questions?"`, `contactLabel: string = "Contact support"`, `contactHref: string = "/support"` - Slots: None - Events: `click` @@ -3109,7 +3109,7 @@ Reusable link component. Reusable logo cloud component. - Mount: `data-component="LogoCloud"` -- Props: `title: string = "Trusted by modern teams"` +- Props: `class: string = ""`, `title: string = "Trusted by modern teams"` - Slots: `default` - Events: None @@ -3118,7 +3118,7 @@ Reusable logo cloud component. Reusable modal component. - Mount: `data-component="Modal"` -- Props: `title: string = "Dialog"`, `description: string = ""`, `open: boolean = false`, `size: string = "md"`, `closeLabel: string = "Close"` +- Props: `class: string = ""`, `title: string = "Dialog"`, `description: string = ""`, `open: boolean = false`, `size: string = "md"`, `closeLabel: string = "Close"` - Slots: `default` - Events: `click` @@ -3172,7 +3172,7 @@ Reusable page shell component. Reusable pagination component. - Mount: `data-component="Pagination"` -- Props: `page: number = 1`, `totalPages: number = 1`, `previousHref: string = "#"`, `nextHref: string = "#"` +- Props: `class: string = ""`, `page: number = 1`, `totalPages: number = 1`, `previousHref: string = "#"`, `nextHref: string = "#"` - Slots: None - Events: None @@ -3199,7 +3199,7 @@ Reusable progress component. Reusable progress bar component. - Mount: `data-component="ProgressBar"` -- Props: `value: number = 0`, `max: number = 100`, `label: string = "Progress"`, `showValue: boolean = true` +- Props: `class: string = ""`, `value: number = 0`, `max: number = 100`, `label: string = "Progress"`, `showValue: boolean = true` - Slots: None - Events: None @@ -3208,7 +3208,7 @@ Reusable progress bar component. Reusable public footer component. - Mount: `data-component="PublicFooter"` -- Props: `brand: string = "WRNexusJS"`, `description: string = "SSR-first, Bun-native full-stack framework."`, `copyright: string = "© 2026 WorkRoot Workspace"` +- Props: `class: string = ""`, `brand: string = "WRNexusJS"`, `description: string = "SSR-first, Bun-native full-stack framework."`, `copyright: string = "© 2026 WorkRoot Workspace"` - Slots: `default` - Events: None @@ -3217,7 +3217,7 @@ Reusable public footer component. Reusable radio component. - Mount: `data-component="Radio"` -- Props: `id: string = ""`, `name: string = "choice"`, `value: string = ""`, `label: string = "Option"`, `description: string = ""`, `checked: boolean = false`, `disabled: boolean = false` +- Props: `class: string = ""`, `id: string = ""`, `name: string = "choice"`, `value: string = ""`, `label: string = "Option"`, `description: string = ""`, `checked: boolean = false`, `disabled: boolean = false` - Slots: None - Events: None @@ -3253,7 +3253,7 @@ Reusable section heading component. Reusable select component. - Mount: `data-component="Select"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Select"`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Select"`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false` - Slots: `default` - Events: None @@ -3271,7 +3271,7 @@ Reusable spacer component. Reusable spinner component. - Mount: `data-component="Spinner"` -- Props: `label: string = "Loading"`, `size: string = "md"` +- Props: `class: string = ""`, `label: string = "Loading"`, `size: string = "md"` - Slots: None - Events: None @@ -3316,7 +3316,7 @@ Reusable surface component. Reusable switch component. - Mount: `data-component="Switch"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Switch"`, `description: string = ""`, `checked: boolean = false`, `disabled: boolean = false` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Switch"`, `description: string = ""`, `checked: boolean = false`, `disabled: boolean = false` - Slots: None - Events: `click` @@ -3334,7 +3334,7 @@ Reusable tag component. Reusable textarea component. - Mount: `data-component="Textarea"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Message"`, `value: string = ""`, `placeholder: string = ""`, `rows: number = 5`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Message"`, `value: string = ""`, `placeholder: string = ""`, `rows: number = 5`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false` - Slots: None - Events: None @@ -3352,7 +3352,7 @@ Reusable theme-toggle component. Reusable toast component. - Mount: `data-component="Toast"` -- Props: `title: string = "Saved"`, `description: string = ""`, `variant: string = "success"`, `duration: number = 5000` +- Props: `class: string = ""`, `title: string = "Saved"`, `description: string = ""`, `variant: string = "success"`, `duration: number = 5000` - Slots: None - Events: `click` @@ -4047,7 +4047,7 @@ Reusable subprocessor table component. Reusable table component. - Mount: `data-component="Table"` -- Props: `caption: string = "Data table"`, `responsive: boolean = true` +- Props: `class: string = ""`, `caption: string = "Data table"`, `responsive: boolean = true` - Slots: `default` - Events: None @@ -4121,7 +4121,7 @@ Reusable account status banner component. Reusable alert component. - Mount: `data-component="Alert"` -- Props: `title: string = "Notice"`, `description: string = ""`, `variant: string = "info"`, `dismissible: boolean = false` +- Props: `class: string = ""`, `title: string = "Notice"`, `description: string = ""`, `variant: string = "info"`, `dismissible: boolean = false` - Slots: `default` - Events: `click` @@ -4166,7 +4166,7 @@ Reusable api version badge component. Reusable badge component. - Mount: `data-component="Badge"` -- Props: `label: string = "Badge"`, `variant: string = "neutral"` +- Props: `class: string = ""`, `label: string = "Badge"`, `variant: string = "neutral"` - Slots: None - Events: None @@ -4175,7 +4175,7 @@ Reusable badge component. Reusable banner component. - Mount: `data-component="Banner"` -- Props: `text: string = "Announcement"`, `href: string = ""`, `actionLabel: string = "Learn more"`, `variant: string = "brand"` +- Props: `class: string = ""`, `text: string = "Announcement"`, `href: string = ""`, `actionLabel: string = "Learn more"`, `variant: string = "brand"` - Slots: None - Events: None @@ -4265,7 +4265,7 @@ Reusable coming soon state component. Reusable cookie banner component. - Mount: `data-component="CookieBanner"` -- Props: `title: string = "We use cookies"`, `description: string = "We use essential cookies and optional analytics to improve your experience."`, `privacyHref: string = "/privacy"` +- Props: `class: string = ""`, `title: string = "We use cookies"`, `description: string = "We use essential cookies and optional analytics to improve your experience."`, `privacyHref: string = "/privacy"` - Slots: None - Events: `click` @@ -4292,7 +4292,7 @@ Reusable deprecated feature alert component. Reusable empty state component. - Mount: `data-component="EmptyState"` -- Props: `icon: string = "◇"`, `title: string = "Nothing here yet"`, `description: string = ""`, `actionLabel: string = ""`, `actionHref: string = "#"` +- Props: `class: string = ""`, `icon: string = "◇"`, `title: string = "Nothing here yet"`, `description: string = ""`, `actionLabel: string = ""`, `actionHref: string = "#"` - Slots: None - Events: None @@ -4301,7 +4301,7 @@ Reusable empty state component. Reusable error state component. - Mount: `data-component="ErrorState"` -- Props: `code: string = "500"`, `title: string = "Something went wrong"`, `description: string = "Please try again."`, `actionLabel: string = "Try again"`, `actionHref: string = "/"` +- Props: `class: string = ""`, `code: string = "500"`, `title: string = "Something went wrong"`, `description: string = "Please try again."`, `actionLabel: string = "Try again"`, `actionHref: string = "/"` - Slots: None - Events: None @@ -4688,7 +4688,7 @@ Reusable sms segment counter component. Reusable status badge component. - Mount: `data-component="StatusBadge"` -- Props: `status: string = "operational"` +- Props: `class: string = ""`, `status: string = "operational"` - Slots: None - Events: None @@ -5167,7 +5167,7 @@ Reusable current password input component. Reusable date input component. - Mount: `data-component="DateInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Date"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Date"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -5176,7 +5176,7 @@ Reusable date input component. Reusable date picker component. - Mount: `data-component="DatePicker"` -- Props: `id: string = "date"`, `name: string = "date"`, `label: string = "Date"`, `value: string = ""`, `min: string = ""`, `max: string = ""`, `required: boolean = false` +- Props: `class: string = ""`, `id: string = "date"`, `name: string = "date"`, `label: string = "Date"`, `value: string = ""`, `min: string = ""`, `max: string = ""`, `required: boolean = false` - Slots: None - Events: None @@ -5185,7 +5185,7 @@ Reusable date picker component. Reusable date range picker component. - Mount: `data-component="DateRangePicker"` -- Props: `label: string = "Date range"`, `startName: string = "startDate"`, `endName: string = "endDate"` +- Props: `class: string = ""`, `label: string = "Date range"`, `startName: string = "startDate"`, `endName: string = "endDate"` - Slots: None - Events: None @@ -5194,7 +5194,7 @@ Reusable date range picker component. Reusable date time input component. - Mount: `data-component="DateTimeInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "DateTime"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "DateTime"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -5293,7 +5293,7 @@ Reusable email body editor component. Reusable email input component. - Mount: `data-component="EmailInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Email"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Email"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -5401,7 +5401,7 @@ Reusable font weight picker component. Reusable form field component. - Mount: `data-component="FormField"` -- Props: `label: string = "Field"`, `help: string = ""`, `error: string = ""`, `required: boolean = false` +- Props: `class: string = ""`, `label: string = "Field"`, `help: string = ""`, `error: string = ""`, `required: boolean = false` - Slots: `default` - Events: None @@ -5824,7 +5824,7 @@ Reusable new password input component. Reusable number input component. - Mount: `data-component="NumberInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Number"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Number"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -5842,7 +5842,7 @@ Reusable organization selector component. Reusable otp input component. - Mount: `data-component="OtpInput"` -- Props: `name: string = "otp"`, `length: number = 6`, `label: string = "Verification code"` +- Props: `class: string = ""`, `name: string = "otp"`, `length: number = 6`, `label: string = "Verification code"` - Slots: None - Events: None @@ -5851,7 +5851,7 @@ Reusable otp input component. Reusable password input component. - Mount: `data-component="PasswordInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Password"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Password"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -5896,7 +5896,7 @@ Reusable permission selector component. Reusable phone input component. - Mount: `data-component="PhoneInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Phone"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Phone"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -6085,7 +6085,7 @@ Reusable quiet hours picker component. Reusable radio group component. - Mount: `data-component="RadioGroup"` -- Props: `label: string = "Choose one"`, `name: string = "choice"` +- Props: `class: string = ""`, `label: string = "Choose one"`, `name: string = "choice"` - Slots: `default` - Events: None @@ -6256,7 +6256,7 @@ Reusable schedule message picker component. Reusable schedule picker component. - Mount: `data-component="SchedulePicker"` -- Props: `label: string = "Schedule"` +- Props: `class: string = ""`, `label: string = "Schedule"` - Slots: None - Events: None @@ -6274,7 +6274,7 @@ Reusable sdk language selector component. Reusable search input component. - Mount: `data-component="SearchInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Search"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Search"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -6454,7 +6454,7 @@ Reusable template variable input component. Reusable text input component. - Mount: `data-component="TextInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Text"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Text"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -6472,7 +6472,7 @@ Reusable theme color picker component. Reusable time input component. - Mount: `data-component="TimeInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Time"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Time"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -6517,7 +6517,7 @@ Reusable timezone aware time picker component. Reusable timezone selector component. - Mount: `data-component="TimezoneSelector"` -- Props: `id: string = "timezone"`, `name: string = "timezone"`, `label: string = "Timezone"` +- Props: `class: string = ""`, `id: string = "timezone"`, `name: string = "timezone"`, `label: string = "Timezone"` - Slots: None - Events: None @@ -6553,7 +6553,7 @@ Reusable token input component. Reusable url input component. - Mount: `data-component="UrlInput"` -- Props: `id: string = ""`, `name: string = ""`, `label: string = "Url"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` +- Props: `class: string = ""`, `id: string = ""`, `name: string = ""`, `label: string = "Url"`, `value: string = ""`, `placeholder: string = ""`, `help: string = ""`, `error: string = ""`, `required: boolean = false`, `disabled: boolean = false`, `readonly: boolean = false`, `autocomplete: string = ""` - Slots: None - Events: None @@ -6834,7 +6834,7 @@ Reusable contact page shell component. Reusable c t a section component. - Mount: `data-component="CTASection"` -- Props: `eyebrow: string = "Ready?"`, `title: string = "Start building today"`, `description: string = ""`, `primaryLabel: string = "Get started"`, `primaryHref: string = "#"`, `secondaryLabel: string = "Contact sales"`, `secondaryHref: string = "#"` +- Props: `class: string = ""`, `eyebrow: string = "Ready?"`, `title: string = "Start building today"`, `description: string = ""`, `primaryLabel: string = "Get started"`, `primaryHref: string = "#"`, `secondaryLabel: string = "Contact sales"`, `secondaryHref: string = "#"` - Slots: None - Events: None @@ -6933,7 +6933,7 @@ Reusable header component. Reusable hero component. - Mount: `data-component="Hero"` -- Props: `eyebrow: string = ""`, `title: string = "Build faster with WRNexusJS"`, `highlight: string = ""`, `description: string = ""`, `primaryLabel: string = "Get started"`, `primaryHref: string = "#"`, `secondaryLabel: string = "Learn more"`, `secondaryHref: string = "#"`, `align: string = "center"` +- Props: `class: string = ""`, `eyebrow: string = ""`, `title: string = "Build faster with WRNexusJS"`, `highlight: string = ""`, `description: string = ""`, `primaryLabel: string = "Get started"`, `primaryHref: string = "#"`, `secondaryLabel: string = "Learn more"`, `secondaryHref: string = "#"`, `align: string = "center"` - Slots: `default` - Events: None @@ -6969,7 +6969,7 @@ Reusable legal document header component. Reusable legal document layout component. - Mount: `data-component="LegalDocumentLayout"` -- Props: `title: string = "Legal document"`, `effectiveDate: string = ""`, `updatedDate: string = ""` +- Props: `class: string = ""`, `title: string = "Legal document"`, `effectiveDate: string = ""`, `updatedDate: string = ""` - Slots: `toc`, `default` - Events: None @@ -7113,7 +7113,7 @@ Reusable product page shell component. Reusable public header component. - Mount: `data-component="PublicHeader"` -- Props: `brand: string = "WRNexusJS"`, `homeHref: string = "/"`, `signInHref: string = "/signin"`, `ctaHref: string = "/start"`, `ctaLabel: string = "Get started"` +- Props: `class: string = ""`, `brand: string = "WRNexusJS"`, `homeHref: string = "/"`, `signInHref: string = "/signin"`, `ctaHref: string = "/start"`, `ctaLabel: string = "Get started"` - Slots: `default`, `mobile` - Events: `click` @@ -7176,7 +7176,7 @@ Reusable section component. Reusable section header component. - Mount: `data-component="SectionHeader"` -- Props: `eyebrow: string = ""`, `title: string = "Section title"`, `description: string = ""`, `align: string = "left"` +- Props: `class: string = ""`, `eyebrow: string = ""`, `title: string = "Section title"`, `description: string = ""`, `align: string = "left"` - Slots: `default` - Events: None @@ -7439,7 +7439,7 @@ Reusable developers menu component. Reusable dropdown menu component. - Mount: `data-component="DropdownMenu"` -- Props: `label: string = "Menu"` +- Props: `class: string = ""`, `label: string = "Menu"` - Slots: `default` - Events: `click` @@ -7972,7 +7972,7 @@ Reusable tenant isolation diagram component. Reusable timeline component. - Mount: `data-component="Timeline"` -- Props: `title: string = "Timeline"` +- Props: `class: string = ""`, `title: string = "Timeline"` - Slots: `default` - Events: None diff --git a/.publish/ui/component-reference.json b/.publish/ui/component-reference.json index 1a446b1e..561a5c4f 100644 --- a/.publish/ui/component-reference.json +++ b/.publish/ui/component-reference.json @@ -550,6 +550,12 @@ "category": "content", "purpose": "Reusable accordion component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -1038,6 +1044,12 @@ "category": "feedback", "purpose": "Reusable alert component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -1291,6 +1303,12 @@ "category": "core", "purpose": "Reusable announcement bar component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "badge", "type": "string", @@ -1462,6 +1480,12 @@ "category": "content", "purpose": "Reusable api endpoint card component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "method", "type": "string", @@ -3250,6 +3274,12 @@ "category": "content", "purpose": "Reusable avatar component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "src", "type": "string", @@ -3456,6 +3486,12 @@ "category": "core", "purpose": "Reusable back to top component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -3485,6 +3521,12 @@ "category": "feedback", "purpose": "Reusable badge component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -3567,6 +3609,12 @@ "category": "feedback", "purpose": "Reusable banner component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "text", "type": "string", @@ -4451,6 +4499,12 @@ "category": "core", "purpose": "Reusable breadcrumbs component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "homeLabel", "type": "string", @@ -6871,6 +6925,12 @@ "category": "core", "purpose": "Reusable checkbox component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -7530,6 +7590,12 @@ "category": "content", "purpose": "Reusable code block component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "language", "type": "string", @@ -9932,6 +9998,12 @@ "category": "feedback", "purpose": "Reusable cookie banner component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -11242,6 +11314,12 @@ "category": "layout", "purpose": "Reusable c t a section component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "eyebrow", "type": "string", @@ -11826,6 +11904,12 @@ "category": "forms", "purpose": "Reusable date input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -11903,6 +11987,12 @@ "category": "forms", "purpose": "Reusable date picker component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -12015,6 +12105,12 @@ "category": "forms", "purpose": "Reusable date range picker component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -12103,6 +12199,12 @@ "category": "forms", "purpose": "Reusable date time input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -13934,6 +14036,12 @@ "category": "core", "purpose": "Reusable drawer component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -13963,6 +14071,12 @@ "category": "overlays", "purpose": "Reusable dropdown menu component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -14405,6 +14519,12 @@ "category": "forms", "purpose": "Reusable email input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -14559,6 +14679,12 @@ "category": "feedback", "purpose": "Reusable empty state component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "icon", "type": "string", @@ -15271,6 +15397,12 @@ "category": "feedback", "purpose": "Reusable error state component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "code", "type": "string", @@ -15883,6 +16015,12 @@ "category": "core", "purpose": "Reusable faq component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "eyebrow", "type": "string", @@ -15936,6 +16074,12 @@ "category": "core", "purpose": "Reusable faqaccordion component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "eyebrow", "type": "string", @@ -16155,6 +16299,12 @@ "category": "content", "purpose": "Reusable feature card component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "icon", "type": "string", @@ -17067,6 +17217,12 @@ "category": "content", "purpose": "Reusable file upload component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -18156,6 +18312,12 @@ "category": "content", "purpose": "Reusable form error summary component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -18179,6 +18341,12 @@ "category": "forms", "purpose": "Reusable form field component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -19495,6 +19663,12 @@ "category": "layout", "purpose": "Reusable hero component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "eyebrow", "type": "string", @@ -20646,6 +20820,12 @@ "category": "actions", "purpose": "Reusable icon button component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -23421,6 +23601,12 @@ "category": "layout", "purpose": "Reusable legal document layout component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -24716,6 +24902,12 @@ "category": "core", "purpose": "Reusable logo cloud component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -26624,6 +26816,12 @@ "category": "core", "purpose": "Reusable modal component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -27825,6 +28023,12 @@ "category": "forms", "purpose": "Reusable number input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -28432,6 +28636,12 @@ "category": "forms", "purpose": "Reusable otp input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "name", "type": "string", @@ -28695,6 +28905,12 @@ "category": "core", "purpose": "Reusable pagination component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "page", "type": "number", @@ -28953,6 +29169,12 @@ "category": "forms", "purpose": "Reusable password input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -29544,6 +29766,12 @@ "category": "forms", "purpose": "Reusable phone input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -31236,6 +31464,12 @@ "category": "content", "purpose": "Reusable pricing plan card component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "name", "type": "string", @@ -32511,6 +32745,12 @@ "category": "core", "purpose": "Reusable progress bar component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "value", "type": "number", @@ -33065,6 +33305,12 @@ "category": "core", "purpose": "Reusable public footer component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "brand", "type": "string", @@ -33094,6 +33340,12 @@ "category": "layout", "purpose": "Reusable public header component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "brand", "type": "string", @@ -33731,6 +33983,12 @@ "category": "core", "purpose": "Reusable radio component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -33784,6 +34042,12 @@ "category": "forms", "purpose": "Reusable radio group component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -36775,6 +37039,12 @@ "category": "forms", "purpose": "Reusable schedule picker component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -37274,6 +37544,12 @@ "category": "forms", "purpose": "Reusable search input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -37828,6 +38104,12 @@ "category": "layout", "purpose": "Reusable section header component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "eyebrow", "type": "string", @@ -38239,6 +38521,12 @@ "category": "core", "purpose": "Reusable select component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -40009,6 +40297,12 @@ "category": "core", "purpose": "Reusable spinner component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -40295,6 +40589,12 @@ "category": "content", "purpose": "Reusable stat card component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "label", "type": "string", @@ -40407,6 +40707,12 @@ "category": "feedback", "purpose": "Reusable status badge component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "status", "type": "string", @@ -41430,6 +41736,12 @@ "category": "core", "purpose": "Reusable switch component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -41477,6 +41789,12 @@ "category": "data", "purpose": "Reusable table component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "caption", "type": "string", @@ -41629,6 +41947,12 @@ "category": "content", "purpose": "Reusable tabs component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "active", "type": "string", @@ -42342,6 +42666,12 @@ "category": "content", "purpose": "Reusable testimonial card component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "quote", "type": "string", @@ -42483,6 +42813,12 @@ "category": "core", "purpose": "Reusable textarea component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -42554,6 +42890,12 @@ "category": "forms", "purpose": "Reusable text input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -42884,6 +43226,12 @@ "category": "forms", "purpose": "Reusable time input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -42961,6 +43309,12 @@ "category": "visualization", "purpose": "Reusable timeline component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -43025,6 +43379,12 @@ "category": "content", "purpose": "Reusable timeline item component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -43362,6 +43722,12 @@ "category": "forms", "purpose": "Reusable timezone selector component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", @@ -43391,6 +43757,12 @@ "category": "core", "purpose": "Reusable toast component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "title", "type": "string", @@ -43810,6 +44182,12 @@ "category": "content", "purpose": "Reusable tooltip component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "text", "type": "string", @@ -44580,6 +44958,12 @@ "category": "forms", "purpose": "Reusable url input component.", "props": [ + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + }, { "name": "id", "type": "string", diff --git a/.publish/ui/components/Accordion.wrn b/.publish/ui/components/Accordion.wrn index a9acfda1..739f130c 100644 --- a/.publish/ui/components/Accordion.wrn +++ b/.publish/ui/components/Accordion.wrn @@ -1,5 +1,6 @@ component Accordion { props { + class = "" title = "Question" open = false } @@ -7,7 +8,7 @@ component Accordion { state expanded = open view { -
+
{code}
+
{filename || language}
{code}
} } diff --git a/.publish/ui/components/CookieBanner.wrn b/.publish/ui/components/CookieBanner.wrn index 0d52ec67..af715639 100644 --- a/.publish/ui/components/CookieBanner.wrn +++ b/.publish/ui/components/CookieBanner.wrn @@ -1,11 +1,12 @@ component CookieBanner { props { + class = "" title = "We use cookies" description = "We use essential cookies and optional analytics to improve your experience." privacyHref = "/privacy" } state visible = true view { - + } } diff --git a/.publish/ui/components/DateInput.wrn b/.publish/ui/components/DateInput.wrn index cf3d5acd..626844e8 100644 --- a/.publish/ui/components/DateInput.wrn +++ b/.publish/ui/components/DateInput.wrn @@ -1,5 +1,6 @@ component DateInput { props { + class = "" id: string = "" name: string = "" label: string = "Date" @@ -13,7 +14,7 @@ component DateInput { autocomplete: string = "" } view { -
+

{help}

diff --git a/.publish/ui/components/DatePicker.wrn b/.publish/ui/components/DatePicker.wrn index dc13ae55..57b5c294 100644 --- a/.publish/ui/components/DatePicker.wrn +++ b/.publish/ui/components/DatePicker.wrn @@ -1,5 +1,6 @@ component DatePicker { props { + class = "" id: string = "date" name: string = "date" label: string = "Date" @@ -9,6 +10,6 @@ component DatePicker { required: boolean = false } view { - + } } diff --git a/.publish/ui/components/DateRangePicker.wrn b/.publish/ui/components/DateRangePicker.wrn index 9d51a33e..9ffb7dc6 100644 --- a/.publish/ui/components/DateRangePicker.wrn +++ b/.publish/ui/components/DateRangePicker.wrn @@ -1,10 +1,11 @@ component DateRangePicker { props { + class = "" label = "Date range" startName = "startDate" endName = "endDate" } view { -
{label}
+
{label}
} } diff --git a/.publish/ui/components/DateTimeInput.wrn b/.publish/ui/components/DateTimeInput.wrn index 7c27351b..3f1fb792 100644 --- a/.publish/ui/components/DateTimeInput.wrn +++ b/.publish/ui/components/DateTimeInput.wrn @@ -1,5 +1,6 @@ component DateTimeInput { props { + class = "" id = "" name = "" label = "DateTime" @@ -13,7 +14,7 @@ component DateTimeInput { autocomplete = "" } view { -
+

{help}

diff --git a/.publish/ui/components/Drawer.wrn b/.publish/ui/components/Drawer.wrn index 7d249ead..3a8ea618 100644 --- a/.publish/ui/components/Drawer.wrn +++ b/.publish/ui/components/Drawer.wrn @@ -1,11 +1,12 @@ component Drawer { props { + class = "" title = "Panel" open = false side = "right" } state visible = open view { - + } } diff --git a/.publish/ui/components/DropdownMenu.wrn b/.publish/ui/components/DropdownMenu.wrn index ed27afbb..ea34d28c 100644 --- a/.publish/ui/components/DropdownMenu.wrn +++ b/.publish/ui/components/DropdownMenu.wrn @@ -1,9 +1,10 @@ component DropdownMenu { props { + class = "" label = "Menu" } state open = false view { -
+
} } diff --git a/.publish/ui/components/EmailInput.wrn b/.publish/ui/components/EmailInput.wrn index b35d84d3..9b6bd85f 100644 --- a/.publish/ui/components/EmailInput.wrn +++ b/.publish/ui/components/EmailInput.wrn @@ -1,5 +1,6 @@ component EmailInput { props { + class = "" id = "" name = "" label = "Email" @@ -13,7 +14,7 @@ component EmailInput { autocomplete = "" } view { -
+

{help}

diff --git a/.publish/ui/components/EmptyState.wrn b/.publish/ui/components/EmptyState.wrn index f1bd4a73..1959bb46 100644 --- a/.publish/ui/components/EmptyState.wrn +++ b/.publish/ui/components/EmptyState.wrn @@ -1,5 +1,6 @@ component EmptyState { props { + class = "" icon = "◇" title = "Nothing here yet" description = "" @@ -7,6 +8,6 @@ component EmptyState { actionHref = "#" } view { -
{icon}

{title}

{description}

{actionLabel}
+
{icon}

{title}

{description}

{actionLabel}
} } diff --git a/.publish/ui/components/ErrorState.wrn b/.publish/ui/components/ErrorState.wrn index a04c3bf1..65bf64ff 100644 --- a/.publish/ui/components/ErrorState.wrn +++ b/.publish/ui/components/ErrorState.wrn @@ -1,5 +1,6 @@ component ErrorState { props { + class = "" code = "500" title = "Something went wrong" description = "Please try again." @@ -7,6 +8,6 @@ component ErrorState { actionHref = "/" } view { -
{code}

{title}

{description}

{actionLabel}
+
{code}

{title}

{description}

{actionLabel}
} } diff --git a/.publish/ui/components/FAQ.wrn b/.publish/ui/components/FAQ.wrn index f5b96261..bc205fde 100644 --- a/.publish/ui/components/FAQ.wrn +++ b/.publish/ui/components/FAQ.wrn @@ -1,5 +1,6 @@ component FAQ { props { + class = "" eyebrow = "" title = "Frequently asked questions" description = "" @@ -8,5 +9,5 @@ component FAQ { allowMultiple = false defaultOpenIndex = 0 } - view { } + view { } } diff --git a/.publish/ui/components/FAQAccordion.wrn b/.publish/ui/components/FAQAccordion.wrn index ae8a6cde..520692d7 100644 --- a/.publish/ui/components/FAQAccordion.wrn +++ b/.publish/ui/components/FAQAccordion.wrn @@ -1,5 +1,6 @@ component FAQAccordion { props { + class = "" eyebrow = "" title = "Frequently asked questions" description = "" @@ -41,7 +42,7 @@ component FAQAccordion { view {
{icon}

{title}

{description}

Learn more → + } } diff --git a/.publish/ui/components/FileUpload.wrn b/.publish/ui/components/FileUpload.wrn index 505e14a4..f31cbfb4 100644 --- a/.publish/ui/components/FileUpload.wrn +++ b/.publish/ui/components/FileUpload.wrn @@ -1,5 +1,6 @@ component FileUpload { props { + class = "" id = "file" name = "file" label = "Upload file" @@ -8,6 +9,6 @@ component FileUpload { help = "Drag and drop or browse" } view { - + } } diff --git a/.publish/ui/components/FormErrorSummary.wrn b/.publish/ui/components/FormErrorSummary.wrn index de99a058..bfca2381 100644 --- a/.publish/ui/components/FormErrorSummary.wrn +++ b/.publish/ui/components/FormErrorSummary.wrn @@ -1,9 +1,10 @@ component FormErrorSummary { props { + class = "" title = "Please fix the following" visible = true } view { - + } } diff --git a/.publish/ui/components/FormField.wrn b/.publish/ui/components/FormField.wrn index 4ab7a609..77b98a2d 100644 --- a/.publish/ui/components/FormField.wrn +++ b/.publish/ui/components/FormField.wrn @@ -1,11 +1,12 @@ component FormField { props { + class = "" label = "Field" help = "" error = "" required = false } view { -
{label}*

{help}

+
{label}*

{help}

} } diff --git a/.publish/ui/components/Hero.wrn b/.publish/ui/components/Hero.wrn index 2008458d..b8aac408 100644 --- a/.publish/ui/components/Hero.wrn +++ b/.publish/ui/components/Hero.wrn @@ -1,5 +1,6 @@ component Hero { props { + class = "" eyebrow = "" title = "Build faster with WRNexusJS" highlight = "" @@ -11,6 +12,6 @@ component Hero { align = "center" } view { -

{title} {highlight}

{description}

+

{title} {highlight}

{description}

} } diff --git a/.publish/ui/components/IconButton.wrn b/.publish/ui/components/IconButton.wrn index 6f42850e..86877d10 100644 --- a/.publish/ui/components/IconButton.wrn +++ b/.publish/ui/components/IconButton.wrn @@ -1,9 +1,10 @@ component IconButton { props { + class = "" label = "Action" icon = "•" variant = "ghost" disabled = false } - view { } + view { } } diff --git a/.publish/ui/components/LegalDocumentLayout.wrn b/.publish/ui/components/LegalDocumentLayout.wrn index f2866f3f..b248c5ac 100644 --- a/.publish/ui/components/LegalDocumentLayout.wrn +++ b/.publish/ui/components/LegalDocumentLayout.wrn @@ -1,10 +1,11 @@ component LegalDocumentLayout { props { + class = "" title = "Legal document" effectiveDate = "" updatedDate = "" } view { -

{title}

Effective: {effectiveDate}Updated: {updatedDate}
+

{title}

Effective: {effectiveDate}Updated: {updatedDate}
} } diff --git a/.publish/ui/components/LogoCloud.wrn b/.publish/ui/components/LogoCloud.wrn index 1d367671..41d26bbc 100644 --- a/.publish/ui/components/LogoCloud.wrn +++ b/.publish/ui/components/LogoCloud.wrn @@ -1,8 +1,9 @@ component LogoCloud { props { + class = "" title = "Trusted by modern teams" } view { -

{title}

+

{title}

} } diff --git a/.publish/ui/components/Modal.wrn b/.publish/ui/components/Modal.wrn index 3c0217da..bd6df0c9 100644 --- a/.publish/ui/components/Modal.wrn +++ b/.publish/ui/components/Modal.wrn @@ -1,5 +1,6 @@ component Modal { props { + class = "" title = "Dialog" description = "" open = false @@ -8,6 +9,6 @@ component Modal { } state visible = open view { - + } } diff --git a/.publish/ui/components/NumberInput.wrn b/.publish/ui/components/NumberInput.wrn index 592150b4..ad1e405f 100644 --- a/.publish/ui/components/NumberInput.wrn +++ b/.publish/ui/components/NumberInput.wrn @@ -1,5 +1,6 @@ component NumberInput { props { + class = "" id = "" name = "" label = "Number" @@ -13,7 +14,7 @@ component NumberInput { autocomplete = "" } view { -
+

{help}

diff --git a/.publish/ui/components/OtpInput.wrn b/.publish/ui/components/OtpInput.wrn index 7cc19d47..b95a481a 100644 --- a/.publish/ui/components/OtpInput.wrn +++ b/.publish/ui/components/OtpInput.wrn @@ -1,10 +1,11 @@ component OtpInput { props { + class = "" name = "otp" length = 6 label = "Verification code" } view { -
{label}
+
{label}
} } diff --git a/.publish/ui/components/Pagination.wrn b/.publish/ui/components/Pagination.wrn index e5853b8b..712d1d3c 100644 --- a/.publish/ui/components/Pagination.wrn +++ b/.publish/ui/components/Pagination.wrn @@ -1,11 +1,12 @@ component Pagination { props { + class = "" page = 1 totalPages = 1 previousHref = "#" nextHref = "#" } view { - + } } diff --git a/.publish/ui/components/PasswordInput.wrn b/.publish/ui/components/PasswordInput.wrn index 7761b3bf..c46b6daa 100644 --- a/.publish/ui/components/PasswordInput.wrn +++ b/.publish/ui/components/PasswordInput.wrn @@ -1,5 +1,6 @@ component PasswordInput { props { + class = "" id = "" name = "" label = "Password" @@ -13,7 +14,7 @@ component PasswordInput { autocomplete = "" } view { -
+

{help}

diff --git a/.publish/ui/components/PhoneInput.wrn b/.publish/ui/components/PhoneInput.wrn index 8a61a4f7..1ef30d27 100644 --- a/.publish/ui/components/PhoneInput.wrn +++ b/.publish/ui/components/PhoneInput.wrn @@ -1,5 +1,6 @@ component PhoneInput { props { + class = "" id = "" name = "" label = "Phone" @@ -13,7 +14,7 @@ component PhoneInput { autocomplete = "" } view { -
+

{help}

diff --git a/.publish/ui/components/PricingPlanCard.wrn b/.publish/ui/components/PricingPlanCard.wrn index c40bc9d3..390ab051 100644 --- a/.publish/ui/components/PricingPlanCard.wrn +++ b/.publish/ui/components/PricingPlanCard.wrn @@ -1,5 +1,6 @@ component PricingPlanCard { props { + class = "" name = "Starter" description = "" price = "₹0" @@ -9,6 +10,6 @@ component PricingPlanCard { ctaHref = "#" } view { - + } } diff --git a/.publish/ui/components/ProgressBar.wrn b/.publish/ui/components/ProgressBar.wrn index 112c7ba1..268da3ca 100644 --- a/.publish/ui/components/ProgressBar.wrn +++ b/.publish/ui/components/ProgressBar.wrn @@ -1,11 +1,12 @@ component ProgressBar { props { + class = "" value = 0 max = 100 label = "Progress" showValue = true } view { -
{label}{value}%
+
{label}{value}%
} } diff --git a/.publish/ui/components/PublicFooter.wrn b/.publish/ui/components/PublicFooter.wrn index d78dd08b..daea9e2d 100644 --- a/.publish/ui/components/PublicFooter.wrn +++ b/.publish/ui/components/PublicFooter.wrn @@ -1,10 +1,11 @@ component PublicFooter { props { + class = "" brand = "WRNexusJS" description = "SSR-first, Bun-native full-stack framework." copyright = "© 2026 WorkRoot Workspace" } view { -
{brand}

{description}

{copyright}
+
{brand}

{description}

{copyright}
} } diff --git a/.publish/ui/components/PublicHeader.wrn b/.publish/ui/components/PublicHeader.wrn index 7af3caf2..db9c0ac6 100644 --- a/.publish/ui/components/PublicHeader.wrn +++ b/.publish/ui/components/PublicHeader.wrn @@ -1,5 +1,6 @@ component PublicHeader { props { + class = "" brand = "WRNexusJS" homeHref = "/" signInHref = "/signin" @@ -8,6 +9,6 @@ component PublicHeader { } state mobileOpen = false view { -
+
} } diff --git a/.publish/ui/components/RadioGroup.wrn b/.publish/ui/components/RadioGroup.wrn index f0332343..8d89c736 100644 --- a/.publish/ui/components/RadioGroup.wrn +++ b/.publish/ui/components/RadioGroup.wrn @@ -1,9 +1,10 @@ component RadioGroup { props { + class = "" label = "Choose one" name = "choice" } view { -
{label}
+
{label}
} } diff --git a/.publish/ui/components/SchedulePicker.wrn b/.publish/ui/components/SchedulePicker.wrn index c3a64bd2..51ea45d6 100644 --- a/.publish/ui/components/SchedulePicker.wrn +++ b/.publish/ui/components/SchedulePicker.wrn @@ -1,8 +1,9 @@ component SchedulePicker { props { + class = "" label = "Schedule" } view { -
{label}
+
{label}
} } diff --git a/.publish/ui/components/SearchInput.wrn b/.publish/ui/components/SearchInput.wrn index d74df598..4fcf2dcc 100644 --- a/.publish/ui/components/SearchInput.wrn +++ b/.publish/ui/components/SearchInput.wrn @@ -1,5 +1,6 @@ component SearchInput { props { + class = "" id = "" name = "" label = "Search" @@ -13,7 +14,7 @@ component SearchInput { autocomplete = "" } view { -
+

{help}

diff --git a/.publish/ui/components/SectionHeader.wrn b/.publish/ui/components/SectionHeader.wrn index 41313925..030df5e3 100644 --- a/.publish/ui/components/SectionHeader.wrn +++ b/.publish/ui/components/SectionHeader.wrn @@ -1,11 +1,12 @@ component SectionHeader { props { + class = "" eyebrow = "" title = "Section title" description = "" align = "left" } view { -

{eyebrow}

{title}

{description}

+

{eyebrow}

{title}

{description}

} } diff --git a/.publish/ui/components/StatCard.wrn b/.publish/ui/components/StatCard.wrn index c29c69a6..29f07204 100644 --- a/.publish/ui/components/StatCard.wrn +++ b/.publish/ui/components/StatCard.wrn @@ -1,11 +1,12 @@ component StatCard { props { + class = "" label = "Metric" value = "0" change = "" trend = "neutral" } view { -

{label}

{value}

{trend === 'up' ? '↑' : trend === 'down' ? '↓' : ''} {change}
+

{label}

{value}

{trend === 'up' ? '↑' : trend === 'down' ? '↓' : ''} {change}
} } diff --git a/.publish/ui/components/StatusBadge.wrn b/.publish/ui/components/StatusBadge.wrn index cfbaeda7..b4c2bf8c 100644 --- a/.publish/ui/components/StatusBadge.wrn +++ b/.publish/ui/components/StatusBadge.wrn @@ -1,8 +1,9 @@ component StatusBadge { props { + class = "" status = "operational" } view { - {status} + {status} } } diff --git a/.publish/ui/components/Tabs.wrn b/.publish/ui/components/Tabs.wrn index a4a5b832..3f207391 100644 --- a/.publish/ui/components/Tabs.wrn +++ b/.publish/ui/components/Tabs.wrn @@ -1,9 +1,10 @@ component Tabs { props { + class = "" active = "first" } state current = active view { -
+
} } diff --git a/.publish/ui/components/TestimonialCard.wrn b/.publish/ui/components/TestimonialCard.wrn index d18622a9..657e9b2f 100644 --- a/.publish/ui/components/TestimonialCard.wrn +++ b/.publish/ui/components/TestimonialCard.wrn @@ -1,5 +1,6 @@ component TestimonialCard { props { + class = "" quote = "Great product." name = "Customer" role = "" @@ -7,6 +8,6 @@ component TestimonialCard { avatar = "" } view { -
“{quote}”
{name}
{role} · {company}
+
“{quote}”
{name}
{role} · {company}
} } diff --git a/.publish/ui/components/TextInput.wrn b/.publish/ui/components/TextInput.wrn index d764d29a..c585ae4c 100644 --- a/.publish/ui/components/TextInput.wrn +++ b/.publish/ui/components/TextInput.wrn @@ -1,5 +1,6 @@ component TextInput { props { + class = "" id = "" name = "" label = "Text" @@ -13,7 +14,7 @@ component TextInput { autocomplete = "" } view { -
+

{help}

diff --git a/.publish/ui/components/TimeInput.wrn b/.publish/ui/components/TimeInput.wrn index db359c80..2f492c68 100644 --- a/.publish/ui/components/TimeInput.wrn +++ b/.publish/ui/components/TimeInput.wrn @@ -1,5 +1,6 @@ component TimeInput { props { + class = "" id = "" name = "" label = "Time" @@ -13,7 +14,7 @@ component TimeInput { autocomplete = "" } view { -
+

{help}

diff --git a/.publish/ui/components/Timeline.wrn b/.publish/ui/components/Timeline.wrn index 67383575..c3879653 100644 --- a/.publish/ui/components/Timeline.wrn +++ b/.publish/ui/components/Timeline.wrn @@ -1,8 +1,9 @@ component Timeline { props { + class = "" title = "Timeline" } view { -

{title}

+

{title}

} } diff --git a/.publish/ui/components/TimelineItem.wrn b/.publish/ui/components/TimelineItem.wrn index bee45a78..760e7376 100644 --- a/.publish/ui/components/TimelineItem.wrn +++ b/.publish/ui/components/TimelineItem.wrn @@ -1,11 +1,12 @@ component TimelineItem { props { + class = "" title = "Event" date = "" description = "" status = "default" } view { -
  • {title}

    {description}

  • +
  • {title}

    {description}

  • } } diff --git a/.publish/ui/components/TimezoneSelector.wrn b/.publish/ui/components/TimezoneSelector.wrn index 5c99e272..3d138c39 100644 --- a/.publish/ui/components/TimezoneSelector.wrn +++ b/.publish/ui/components/TimezoneSelector.wrn @@ -1,10 +1,11 @@ component TimezoneSelector { props { + class = "" id = "timezone" name = "timezone" label = "Timezone" } view { - + } } diff --git a/.publish/ui/components/Toast.wrn b/.publish/ui/components/Toast.wrn index 36e4ca6c..dd9a4ce1 100644 --- a/.publish/ui/components/Toast.wrn +++ b/.publish/ui/components/Toast.wrn @@ -1,5 +1,6 @@ component Toast { props { + class = "" title = "Saved" description = "" variant = "success" @@ -7,6 +8,6 @@ component Toast { } state visible = true view { -
    {variant === 'success' ? '✓' : variant === 'danger' ? '!' : 'i'}

    {title}

    {description}

    +
    {variant === 'success' ? '✓' : variant === 'danger' ? '!' : 'i'}

    {title}

    {description}

    } } diff --git a/.publish/ui/components/UrlInput.wrn b/.publish/ui/components/UrlInput.wrn index 2fdb643a..b9fd0534 100644 --- a/.publish/ui/components/UrlInput.wrn +++ b/.publish/ui/components/UrlInput.wrn @@ -1,5 +1,6 @@ component UrlInput { props { + class = "" id = "" name = "" label = "Url" @@ -13,7 +14,7 @@ component UrlInput { autocomplete = "" } view { -
    +

    {help}

    diff --git a/.publish/ui/components/alert.wrn b/.publish/ui/components/alert.wrn index fa2105eb..c675700f 100644 --- a/.publish/ui/components/alert.wrn +++ b/.publish/ui/components/alert.wrn @@ -1,5 +1,6 @@ component Alert { props { + class = "" title = "Notice" description = "" variant = "info" @@ -12,7 +13,7 @@ component Alert {