diff --git a/.publish/ai/package.json b/.publish/ai/package.json index d30609eb..e59c74ed 100644 --- a/.publish/ai/package.json +++ b/.publish/ai/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ai", - "version": "0.5.1", + "version": "0.5.10", "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 fcd87efd..3c861948 100644 --- a/.publish/authz/package.json +++ b/.publish/authz/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/authz", - "version": "0.5.1", + "version": "0.5.10", "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 21cd4405..e490338e 100644 --- a/.publish/cli/package.json +++ b/.publish/cli/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/cli", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/cli — part of the WrNexus framework.", "license": "MIT", @@ -28,18 +28,18 @@ "wrnexus": "./dist/index.js" }, "dependencies": { - "@wrnexus/core": "^0.5.1", - "@wrnexus/router": "^0.5.1", - "@wrnexus/csr": "^0.5.1", - "@wrnexus/compiler": "^0.5.1", - "@wrnexus/styles": "^0.5.1", - "@wrnexus/dev-server": "^0.5.1", - "@wrnexus/ui": "^0.5.1", - "@wrnexus/validation": "^0.5.1", - "@wrnexus/i18n": "^0.5.1", - "@wrnexus/db": "^0.5.1", - "@wrnexus/plugin": "^0.5.1", - "@wrnexus/syntax": "^0.5.1" + "@wrnexus/core": "^0.5.10", + "@wrnexus/router": "^0.5.10", + "@wrnexus/csr": "^0.5.10", + "@wrnexus/compiler": "^0.5.10", + "@wrnexus/styles": "^0.5.10", + "@wrnexus/dev-server": "^0.5.10", + "@wrnexus/ui": "^0.5.10", + "@wrnexus/validation": "^0.5.10", + "@wrnexus/i18n": "^0.5.10", + "@wrnexus/db": "^0.5.10", + "@wrnexus/plugin": "^0.5.10", + "@wrnexus/syntax": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/compiler/package.json b/.publish/compiler/package.json index c9d89e6a..cc0fbefd 100644 --- a/.publish/compiler/package.json +++ b/.publish/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/compiler", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/compiler — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/syntax": "^0.5.1" + "@wrnexus/syntax": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/core/package.json b/.publish/core/package.json index 52020a47..59f9294e 100644 --- a/.publish/core/package.json +++ b/.publish/core/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/core", - "version": "0.5.1", + "version": "0.5.10", "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 71123d31..6b17c97c 100644 --- a/.publish/csr/package.json +++ b/.publish/csr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/csr", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/csr — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.5.1" + "@wrnexus/core": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/db/package.json b/.publish/db/package.json index dea37566..f906adbc 100644 --- a/.publish/db/package.json +++ b/.publish/db/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/db", - "version": "0.5.1", + "version": "0.5.10", "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 bcd62ac6..2d68550a 100644 --- a/.publish/dev-server/package.json +++ b/.publish/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-server", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/dev-server — part of the WrNexus framework.", "license": "MIT", @@ -25,20 +25,20 @@ } }, "dependencies": { - "@wrnexus/core": "^0.5.1", - "@wrnexus/dev-toolbar": "^0.5.1", - "@wrnexus/router": "^0.5.1", - "@wrnexus/ssr": "^0.5.1", - "@wrnexus/csr": "^0.5.1", - "@wrnexus/compiler": "^0.5.1", - "@wrnexus/styles": "^0.5.1", - "@wrnexus/ui": "^0.5.1", - "@wrnexus/validation": "^0.5.1", - "@wrnexus/i18n": "^0.5.1", - "@wrnexus/db": "^0.5.1", - "@wrnexus/pubsub": "^0.5.1", - "@wrnexus/uploader": "^0.5.1", - "@wrnexus/plugin": "^0.5.1" + "@wrnexus/core": "^0.5.10", + "@wrnexus/dev-toolbar": "^0.5.10", + "@wrnexus/router": "^0.5.10", + "@wrnexus/ssr": "^0.5.10", + "@wrnexus/csr": "^0.5.10", + "@wrnexus/compiler": "^0.5.10", + "@wrnexus/styles": "^0.5.10", + "@wrnexus/ui": "^0.5.10", + "@wrnexus/validation": "^0.5.10", + "@wrnexus/i18n": "^0.5.10", + "@wrnexus/db": "^0.5.10", + "@wrnexus/pubsub": "^0.5.10", + "@wrnexus/uploader": "^0.5.10", + "@wrnexus/plugin": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/dev-toolbar/package.json b/.publish/dev-toolbar/package.json index e17f604c..ae4760e7 100644 --- a/.publish/dev-toolbar/package.json +++ b/.publish/dev-toolbar/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-toolbar", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/dev-toolbar — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/encryption/package.json b/.publish/encryption/package.json index 1e2bd293..d2971bcb 100644 --- a/.publish/encryption/package.json +++ b/.publish/encryption/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/encryption", - "version": "0.5.1", + "version": "0.5.10", "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 5139cd55..876010e3 100644 --- a/.publish/helpers/package.json +++ b/.publish/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/helpers", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "Safe convenience helpers for WrNexus request contexts and common application flows.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.5.1" + "@wrnexus/core": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/i18n/package.json b/.publish/i18n/package.json index 16e5bc43..37c8ed19 100644 --- a/.publish/i18n/package.json +++ b/.publish/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/i18n", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/i18n — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.5.1" + "@wrnexus/core": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/jwt/package.json b/.publish/jwt/package.json index 610f5b82..92647973 100644 --- a/.publish/jwt/package.json +++ b/.publish/jwt/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/jwt", - "version": "0.5.1", + "version": "0.5.10", "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 24e704ea..5326aca8 100644 --- a/.publish/mobile/package.json +++ b/.publish/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/mobile", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/mobile — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/native": "^0.5.1" + "@wrnexus/native": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/native/package.json b/.publish/native/package.json index 9a1f9d34..02f2cc12 100644 --- a/.publish/native/package.json +++ b/.publish/native/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/native", - "version": "0.5.1", + "version": "0.5.10", "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 034cedbb..a332ef95 100644 --- a/.publish/oauth/package.json +++ b/.publish/oauth/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/oauth", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/oauth — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/plugin/package.json b/.publish/plugin/package.json index 12411b4b..bd494417 100644 --- a/.publish/plugin/package.json +++ b/.publish/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/plugin", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/plugin — part of the WrNexus framework.", "license": "MIT", @@ -33,7 +33,7 @@ } }, "dependencies": { - "@wrnexus/syntax": "^0.5.1" + "@wrnexus/syntax": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/pubsub/package.json b/.publish/pubsub/package.json index 176c29dc..ba69a496 100644 --- a/.publish/pubsub/package.json +++ b/.publish/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/pubsub", - "version": "0.5.1", + "version": "0.5.10", "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 19c2db64..1848a1b1 100644 --- a/.publish/queue/package.json +++ b/.publish/queue/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/queue", - "version": "0.5.1", + "version": "0.5.10", "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 35d3e818..85938559 100644 --- a/.publish/reactive/package.json +++ b/.publish/reactive/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/reactive", - "version": "0.5.1", + "version": "0.5.10", "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 074466d0..4fc9b4b3 100644 --- a/.publish/router/package.json +++ b/.publish/router/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/router", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/router — part of the WrNexus framework.", "license": "MIT", @@ -21,8 +21,8 @@ } }, "dependencies": { - "@wrnexus/compiler": "^0.5.1", - "@wrnexus/core": "^0.5.1" + "@wrnexus/compiler": "^0.5.10", + "@wrnexus/core": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/ssr/package.json b/.publish/ssr/package.json index 28afcd68..a55019b1 100644 --- a/.publish/ssr/package.json +++ b/.publish/ssr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ssr", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/ssr — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.5.1" + "@wrnexus/core": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/styles/package.json b/.publish/styles/package.json index fd69119d..90013b69 100644 --- a/.publish/styles/package.json +++ b/.publish/styles/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/styles", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/styles — part of the WrNexus framework.", "license": "MIT", @@ -21,9 +21,9 @@ } }, "dependencies": { - "@wrnexus/uploader": "^0.5.1", - "@wrnexus/core": "^0.5.1", - "@wrnexus/plugin": "^0.5.1" + "@wrnexus/uploader": "^0.5.10", + "@wrnexus/core": "^0.5.10", + "@wrnexus/plugin": "^0.5.10" }, "files": [ "dist" diff --git a/.publish/syntax/package.json b/.publish/syntax/package.json index eb8ff6ae..6ede2db6 100644 --- a/.publish/syntax/package.json +++ b/.publish/syntax/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/syntax", - "version": "0.5.1", + "version": "0.5.10", "type": "module", "description": "@wrnexus/syntax — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/test/package.json b/.publish/test/package.json index ffd45fd8..53bd036b 100644 --- a/.publish/test/package.json +++ b/.publish/test/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/test", - "version": "0.5.1", + "version": "0.5.10", "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 a677da9c..e4a9acef 100644 --- a/.publish/tracking/package.json +++ b/.publish/tracking/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/tracking", - "version": "0.5.1", + "version": "0.5.10", "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 5cfe2a91..c845e5c9 100644 --- a/.publish/ui/COMPONENTS.md +++ b/.publish/ui/COMPONENTS.md @@ -1,6 +1,6 @@ # WRNexus UI component reference -This reference is generated from the 85 packaged `.wrn` component sources. Props marked required have no default; all others show their runtime default. +This reference is generated from the 90 packaged `.wrn` component sources. Props marked required have no default; all others show their runtime default. ## Advanced-forms @@ -330,15 +330,35 @@ Theme-aware, responsive tree view component. - Slots: `default` - Events: `select`, `toggle`, `expand`, `collapse` +## Blocks + +### PortalDashboard + +Responsive portal dashboard with metrics, actions, tasks, and updates. + +- Mount: `data-component="PortalDashboard"` +- Props: `size: string = "default"`, `color: string = "primary"`, `eyebrow: string = "Overview"`, `eyebrowKey: string = ""`, `title: string = "Dashboard"`, `titleKey: string = ""`, `description: string = ""`, `descriptionKey: string = ""`, `userName: string = ""`, `metrics: string = []`, `actions: string = []`, `updates: string = []`, `tasks: string = []`, `class: string = ""` +- Slots: `hero-action` +- Events: `action`, `navigate` + ## Forms +### AuthForm + +Reusable authentication form for sign-in, registration, recovery, reset, and MFA. + +- Mount: `data-component="AuthForm"` +- Props: `size: string = "default"`, `color: string = "primary"`, `mode: string = "sign-in"`, `action: string = "/api/auth/login"`, `method: string = "post"`, `title: string = "Sign in"`, `description: string = ""`, `returnTo: string = ""`, `schema: string = ""`, `showRemember: boolean = true`, `showName: boolean = true`, `submitLabel: string = "Continue"`, `class: string = ""` +- Slots: `default` +- Events: `submit`, `change`, `input`, `focus`, `blur` + ### Checkbox Theme-aware, responsive checkbox component. - Mount: `data-component="Checkbox"` - Props: `size: string = "default"`, `color: string = "primary"`, `id: string = ""`, `name: string = ""`, `label: string = "Checkbox"`, `hiddenLabel: boolean = false`, `placeholder: string = ""`, `variant: string = "normal"`, `icon: string = ""`, `iconPosition: string = "start"`, `value: string = "on"`, `values: string = []`, `options: string = []`, `checked: boolean = false`, `indeterminate: boolean = false`, `orientation: string = "vertical"`, `card: boolean = false`, `rightAligned: boolean = false`, `list: boolean = false`, `helperText: string = ""`, `cornerHint: string = ""`, `error: string = ""`, `inline: boolean = false`, `readonly: boolean = false`, `disabled: boolean = false`, `required: boolean = false`, `class: string = ""` -- Slots: None +- Slots: `default` - Events: `input`, `change`, `focus`, `blur`, `invalid` ### ColorPicker @@ -543,6 +563,15 @@ Theme-aware, responsive wysiwyg editor component. ## Layout +### AuthSplitLayout + +Responsive 50/50 authentication layout with content and form regions. + +- Mount: `data-component="AuthSplitLayout"` +- Props: `size: string = "default"`, `color: string = "primary"`, `eyebrow: string = "Secure identity"`, `title: string = "Welcome back"`, `description: string = ""`, `brand: string = "Police Management System"`, `features: string = []`, `class: string = ""` +- Slots: `aside-extra`, `form` +- Events: None + ### Columns Theme-aware, responsive columns component. @@ -644,6 +673,15 @@ Theme-aware, responsive breadcrumb component. - Slots: `default` - Events: `navigate`, `click` +### Footer + +Responsive application footer with structured links and pre/post content slots. + +- Mount: `data-component="Footer"` +- Props: `size: string = "default"`, `color: string = "primary"`, `label: string = "Footer navigation"`, `items: string = []`, `columns: number = 3`, `maxWidth: string = "compact"`, `copyright: string = ""`, `class: string = ""` +- Slots: `pre-footer`, `post-footer`, `copyright-left`, `copyright-right` +- Events: `select`, `action` + ### MegaMenu Theme-aware, responsive mega menu component. @@ -667,9 +705,9 @@ Theme-aware, responsive nav component. Theme-aware, responsive navbar component. - Mount: `data-component="Navbar"` -- Props: `size: string = "default"`, `color: string = "primary"`, `label: string = "Navbar"`, `items: string = []`, `active: string = ""`, `orientation: string = "horizontal"`, `class: string = ""` -- Slots: `default` -- Events: `toggle`, `open`, `close` +- Props: `size: string = "default"`, `color: string = "primary"`, `label: string = "Primary navigation"`, `topbarLabel: string = "Utility navigation"`, `brand: string = {}`, `items: string = []`, `actions: string = []`, `active: string = ""`, `sticky: boolean = false`, `openOnHover: boolean = false`, `maxWidth: string = "full"`, `mobileLabel: string = "Toggle navigation"`, `class: string = ""` +- Slots: `topbar`, `actions` +- Events: `toggle`, `open`, `close`, `select`, `action` ### Pagination @@ -680,6 +718,15 @@ Theme-aware, responsive pagination component. - Slots: `default` - Events: `change`, `previous`, `next` +### PreferenceSwitcher + +Accessible theme, accent color, and language preference controls. + +- Mount: `data-component="PreferenceSwitcher"` +- Props: `size: string = "default"`, `color: string = "primary"`, `themeLabel: string = "Theme"`, `colorLabel: string = "Accent color"`, `languageLabel: string = "Language"`, `languages: string = [`, `colors: string = [`, `compact: boolean = true`, `class: string = ""` +- Slots: None +- Events: `theme`, `color`, `language` + ### Scrollspy Theme-aware, responsive scrollspy component. @@ -694,9 +741,9 @@ Theme-aware, responsive scrollspy component. Theme-aware, responsive sidebar component. - Mount: `data-component="Sidebar"` -- Props: `size: string = "default"`, `color: string = "primary"`, `label: string = "Sidebar"`, `items: string = []`, `active: string = ""`, `orientation: string = "horizontal"`, `class: string = ""` +- Props: `size: string = "default"`, `color: string = "primary"`, `label: string = "Sidebar"`, `items: string = []`, `active: string = ""`, `orientation: string = "horizontal"`, `mobileLabel: string = "Open navigation"`, `class: string = ""` - Slots: `default` -- Events: `toggle`, `open`, `close` +- Events: `toggle`, `open`, `close`, `select` ### Stepper @@ -741,9 +788,9 @@ Theme-aware, responsive drawer component. Theme-aware, responsive dropdown component. - Mount: `data-component="Dropdown"` -- Props: `size: string = "default"`, `color: string = "primary"`, `title: string = "Dropdown"`, `description: string = ""`, `open: boolean = false`, `placement: string = "bottom"`, `closeLabel: string = "Close"`, `class: string = ""` -- Slots: `default` -- Events: `open`, `close`, `select`, `change` +- Props: `size: string = "default"`, `color: string = "primary"`, `label: string = "Open menu"`, `items: string = []`, `placement: string = "end"`, `class: string = ""` +- Slots: `trigger`, `header`, `footer` +- Events: `toggle`, `open`, `close`, `select` ### Modal diff --git a/.publish/ui/component-catalog.json b/.publish/ui/component-catalog.json index a0744d62..1b3bfeb3 100644 --- a/.publish/ui/component-catalog.json +++ b/.publish/ui/component-catalog.json @@ -191,6 +191,11 @@ "category": "navigation", "purpose": "Theme-aware, responsive navbar component." }, + { + "name": "Footer", + "category": "navigation", + "purpose": "Responsive application footer with structured links and pre/post content slots." + }, { "name": "MegaMenu", "category": "navigation", @@ -429,6 +434,26 @@ "name": "WysiwygEditor", "category": "integrations", "purpose": "Theme-aware, responsive wysiwyg editor component." + }, + { + "name": "PreferenceSwitcher", + "category": "navigation", + "purpose": "Accessible theme, accent color, and language preference controls." + }, + { + "name": "PortalDashboard", + "category": "blocks", + "purpose": "Responsive portal dashboard with metrics, actions, tasks, and updates." + }, + { + "name": "AuthSplitLayout", + "category": "layout", + "purpose": "Responsive 50/50 authentication layout with content and form regions." + }, + { + "name": "AuthForm", + "category": "forms", + "purpose": "Reusable authentication form for sign-in, registration, recovery, reset, and MFA." } ] } diff --git a/.publish/ui/component-reference.json b/.publish/ui/component-reference.json index 32d524f1..5d977840 100644 --- a/.publish/ui/component-reference.json +++ b/.publish/ui/component-reference.json @@ -1,6 +1,6 @@ { "generatedFrom": "packages/ui/components/*.wrn", - "count": 85, + "count": 90, "components": [ { "name": "Accordion", @@ -675,6 +675,154 @@ "events": ["dismiss", "action"], "source": "components/alert.wrn" }, + { + "name": "AuthForm", + "mount": "AuthForm", + "category": "forms", + "purpose": "Reusable authentication form for sign-in, registration, recovery, reset, and MFA.", + "props": [ + { + "name": "size", + "type": "string", + "required": false, + "default": "\"default\"" + }, + { + "name": "color", + "type": "string", + "required": false, + "default": "\"primary\"" + }, + { + "name": "mode", + "type": "string", + "required": false, + "default": "\"sign-in\"" + }, + { + "name": "action", + "type": "string", + "required": false, + "default": "\"/api/auth/login\"" + }, + { + "name": "method", + "type": "string", + "required": false, + "default": "\"post\"" + }, + { + "name": "title", + "type": "string", + "required": false, + "default": "\"Sign in\"" + }, + { + "name": "description", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "returnTo", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "schema", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "showRemember", + "type": "boolean", + "required": false, + "default": "true" + }, + { + "name": "showName", + "type": "boolean", + "required": false, + "default": "true" + }, + { + "name": "submitLabel", + "type": "string", + "required": false, + "default": "\"Continue\"" + }, + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + } + ], + "slots": ["default"], + "events": ["submit", "change", "input", "focus", "blur"], + "source": "components/AuthForm.wrn" + }, + { + "name": "AuthSplitLayout", + "mount": "AuthSplitLayout", + "category": "layout", + "purpose": "Responsive 50/50 authentication layout with content and form regions.", + "props": [ + { + "name": "size", + "type": "string", + "required": false, + "default": "\"default\"" + }, + { + "name": "color", + "type": "string", + "required": false, + "default": "\"primary\"" + }, + { + "name": "eyebrow", + "type": "string", + "required": false, + "default": "\"Secure identity\"" + }, + { + "name": "title", + "type": "string", + "required": false, + "default": "\"Welcome back\"" + }, + { + "name": "description", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "brand", + "type": "string", + "required": false, + "default": "\"Police Management System\"" + }, + { + "name": "features", + "type": "string", + "required": false, + "default": "[]" + }, + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + } + ], + "slots": ["aside-extra", "form"], + "events": [], + "source": "components/AuthSplitLayout.wrn" + }, { "name": "Avatar", "mount": "Avatar", @@ -2062,7 +2210,7 @@ "default": "\"\"" } ], - "slots": [], + "slots": ["default"], "events": ["input", "change", "focus", "blur", "invalid"], "source": "components/Checkbox.wrn" }, @@ -3436,34 +3584,22 @@ "default": "\"primary\"" }, { - "name": "title", + "name": "label", "type": "string", "required": false, - "default": "\"Dropdown\"" + "default": "\"Open menu\"" }, { - "name": "description", + "name": "items", "type": "string", "required": false, - "default": "\"\"" - }, - { - "name": "open", - "type": "boolean", - "required": false, - "default": "false" + "default": "[]" }, { "name": "placement", "type": "string", "required": false, - "default": "\"bottom\"" - }, - { - "name": "closeLabel", - "type": "string", - "required": false, - "default": "\"Close\"" + "default": "\"end\"" }, { "name": "class", @@ -3472,8 +3608,8 @@ "default": "\"\"" } ], - "slots": ["default"], - "events": ["open", "close", "select", "change"], + "slots": ["trigger", "header", "footer"], + "events": ["toggle", "open", "close", "select"], "source": "components/Dropdown.wrn" }, { @@ -3755,6 +3891,65 @@ "events": ["cancel", "retry", "complete"], "source": "components/FileUploadProgress.wrn" }, + { + "name": "Footer", + "mount": "Footer", + "category": "navigation", + "purpose": "Responsive application footer with structured links and pre/post content slots.", + "props": [ + { + "name": "size", + "type": "string", + "required": false, + "default": "\"default\"" + }, + { + "name": "color", + "type": "string", + "required": false, + "default": "\"primary\"" + }, + { + "name": "label", + "type": "string", + "required": false, + "default": "\"Footer navigation\"" + }, + { + "name": "items", + "type": "string", + "required": false, + "default": "[]" + }, + { + "name": "columns", + "type": "number", + "required": false, + "default": "3" + }, + { + "name": "maxWidth", + "type": "string", + "required": false, + "default": "\"compact\"" + }, + { + "name": "copyright", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + } + ], + "slots": ["pre-footer", "post-footer", "copyright-left", "copyright-right"], + "events": ["select", "action"], + "source": "components/Footer.wrn" + }, { "name": "Grid", "mount": "Grid", @@ -5039,7 +5234,19 @@ "name": "label", "type": "string", "required": false, - "default": "\"Navbar\"" + "default": "\"Primary navigation\"" + }, + { + "name": "topbarLabel", + "type": "string", + "required": false, + "default": "\"Utility navigation\"" + }, + { + "name": "brand", + "type": "string", + "required": false, + "default": "{}" }, { "name": "items", @@ -5047,6 +5254,12 @@ "required": false, "default": "[]" }, + { + "name": "actions", + "type": "string", + "required": false, + "default": "[]" + }, { "name": "active", "type": "string", @@ -5054,10 +5267,28 @@ "default": "\"\"" }, { - "name": "orientation", + "name": "sticky", + "type": "boolean", + "required": false, + "default": "false" + }, + { + "name": "openOnHover", + "type": "boolean", + "required": false, + "default": "false" + }, + { + "name": "maxWidth", "type": "string", "required": false, - "default": "\"horizontal\"" + "default": "\"full\"" + }, + { + "name": "mobileLabel", + "type": "string", + "required": false, + "default": "\"Toggle navigation\"" }, { "name": "class", @@ -5066,8 +5297,8 @@ "default": "\"\"" } ], - "slots": ["default"], - "events": ["toggle", "open", "close"], + "slots": ["topbar", "actions"], + "events": ["toggle", "open", "close", "select", "action"], "source": "components/Navbar.wrn" }, { @@ -5349,6 +5580,166 @@ "events": ["open", "close"], "source": "components/Popover.wrn" }, + { + "name": "PortalDashboard", + "mount": "PortalDashboard", + "category": "blocks", + "purpose": "Responsive portal dashboard with metrics, actions, tasks, and updates.", + "props": [ + { + "name": "size", + "type": "string", + "required": false, + "default": "\"default\"" + }, + { + "name": "color", + "type": "string", + "required": false, + "default": "\"primary\"" + }, + { + "name": "eyebrow", + "type": "string", + "required": false, + "default": "\"Overview\"" + }, + { + "name": "eyebrowKey", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "title", + "type": "string", + "required": false, + "default": "\"Dashboard\"" + }, + { + "name": "titleKey", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "description", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "descriptionKey", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "userName", + "type": "string", + "required": false, + "default": "\"\"" + }, + { + "name": "metrics", + "type": "string", + "required": false, + "default": "[]" + }, + { + "name": "actions", + "type": "string", + "required": false, + "default": "[]" + }, + { + "name": "updates", + "type": "string", + "required": false, + "default": "[]" + }, + { + "name": "tasks", + "type": "string", + "required": false, + "default": "[]" + }, + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + } + ], + "slots": ["hero-action"], + "events": ["action", "navigate"], + "source": "components/PortalDashboard.wrn" + }, + { + "name": "PreferenceSwitcher", + "mount": "PreferenceSwitcher", + "category": "navigation", + "purpose": "Accessible theme, accent color, and language preference controls.", + "props": [ + { + "name": "size", + "type": "string", + "required": false, + "default": "\"default\"" + }, + { + "name": "color", + "type": "string", + "required": false, + "default": "\"primary\"" + }, + { + "name": "themeLabel", + "type": "string", + "required": false, + "default": "\"Theme\"" + }, + { + "name": "colorLabel", + "type": "string", + "required": false, + "default": "\"Accent color\"" + }, + { + "name": "languageLabel", + "type": "string", + "required": false, + "default": "\"Language\"" + }, + { + "name": "languages", + "type": "string", + "required": false, + "default": "[" + }, + { + "name": "colors", + "type": "string", + "required": false, + "default": "[" + }, + { + "name": "compact", + "type": "boolean", + "required": false, + "default": "true" + }, + { + "name": "class", + "type": "string", + "required": false, + "default": "\"\"" + } + ], + "slots": [], + "events": ["theme", "color", "language"], + "source": "components/PreferenceSwitcher.wrn" + }, { "name": "Progress", "mount": "Progress", @@ -6110,6 +6501,12 @@ "required": false, "default": "\"horizontal\"" }, + { + "name": "mobileLabel", + "type": "string", + "required": false, + "default": "\"Open navigation\"" + }, { "name": "class", "type": "string", @@ -6118,7 +6515,7 @@ } ], "slots": ["default"], - "events": ["toggle", "open", "close"], + "events": ["toggle", "open", "close", "select"], "source": "components/Sidebar.wrn" }, { diff --git a/.publish/ui/components/AvatarGroup.wrn b/.publish/ui/components/AvatarGroup.wrn index 1bb009c6..45623306 100644 --- a/.publish/ui/components/AvatarGroup.wrn +++ b/.publish/ui/components/AvatarGroup.wrn @@ -53,7 +53,9 @@ component AvatarGroup { role="group" aria-label="Avatar group" > -