// AUTO-GENERATED by `wrnexus dev` - do not edit. // Typed routes support required, optional, and catch-all parameters. export interface Routes { "/": Record; "/accessibility": Record; "/advanced-forms": Record; "/base": Record; "/block-library": Record; "/colors": Record; "/components/accordion": Record; "/components/advanced-select": Record; "/components/alert": Record; "/components/announcement-bar": Record; "/components/auth-form": Record; "/components/auth-split-layout": Record; "/components/avatar": Record; "/components/avatar-group": Record; "/components/back-to-top": Record; "/components/badge": Record; "/components/blockquote": Record; "/components/breadcrumb": Record; "/components/button": Record; "/components/button-group": Record; "/components/card": Record; "/components/carousel": Record; "/components/chart": Record; "/components/chat-bubble": Record; "/components/checkbox": Record; "/components/clipboard": Record; "/components/collapse": Record; "/components/color-picker": Record; "/components/columns": Record; "/components/combo-box": Record; "/components/confetti": Record; "/components/container": Record; "/components/context-menu": Record; "/components/ctasection": Record; "/components/custom-scrollbar": Record; "/components/data-map": Record; "/components/data-table": Record; "/components/date-picker": Record; "/components/device-frame": Record; "/components/divider": Record; "/components/drag-and-drop": Record; "/components/drawer": Record; "/components/dropdown": Record; "/components/feature-card": Record; "/components/feature-grid": Record; "/components/feature-icon-card": Record; "/components/file-input": Record; "/components/file-upload-progress": Record; "/components/footer": Record; "/components/grid": Record; "/components/hero": Record; "/components/hero-actions": Record; "/components/image": Record; "/components/input": Record; "/components/input-group": Record; "/components/input-number": Record; "/components/kbd": Record; "/components/layout-splitter": Record; "/components/legend-indicator": Record; "/components/link": Record; "/components/list": Record; "/components/list-group": Record; "/components/map": Record; "/components/marketing-section-header": Record; "/components/marquee": Record; "/components/mega-menu": Record; "/components/metric-card": Record; "/components/metric-grid": Record; "/components/modal": Record; "/components/nav": Record; "/components/navbar": Record; "/components/page-header": Record; "/components/pagination": Record; "/components/pin-input": Record; "/components/popover": Record; "/components/portal-dashboard": Record; "/components/preference-switcher": Record; "/components/progress": Record; "/components/public-page-shell": Record; "/components/radio": Record; "/components/range-slider": Record; "/components/rating": Record; "/components/scrollspy": Record; "/components/search-box": Record; "/components/section": Record; "/components/section-header": Record; "/components/select": Record; "/components/sidebar": Record; "/components/skeleton": Record; "/components/spinner": Record; "/components/split-hero": Record; "/components/stats-bar": Record; "/components/stepper": Record; "/components/strong-password": Record; "/components/styled-icon": Record; "/components/switch": Record; "/components/tabs": Record; "/components/text-link": Record; "/components/textarea": Record; "/components/time-picker": Record; "/components/timeline": Record; "/components/toaster": Record; "/components/toggle-count": Record; "/components/toggle-password": Record; "/components/tooltip": Record; "/components/tree-view": Record; "/components/typography": Record; "/components/wysiwyg-editor": Record; "/core": Record; "/dark-mode": Record; "/data": Record; "/docs": Record; "/fonts": Record; "/forms": Record; "/framework-guides": Record; "/installation": Record; "/integrations": Record; "/layout": Record; "/marketing": Record; "/navigation": Record; "/overlays": Record; "/resources": Record; "/sizing": Record; "/tables": Record; "/templates": Record; "/themes": Record; "/v06-functions": Record; "/v06-imports": Record; "/v06-migration": Record; "/v06-outputs": Record; "/v06-runtime": Record; "/v06-state": Record; "/v06-stores": Record; "/v06-types": Record; } export interface RouteNames { "index": "/"; "accessibility": "/accessibility"; "advanced.forms": "/advanced-forms"; "base": "/base"; "block.library": "/block-library"; "colors": "/colors"; "components.accordion": "/components/accordion"; "components.advanced.select": "/components/advanced-select"; "components.alert": "/components/alert"; "components.announcement.bar": "/components/announcement-bar"; "components.auth.form": "/components/auth-form"; "components.auth.split.layout": "/components/auth-split-layout"; "components.avatar": "/components/avatar"; "components.avatar.group": "/components/avatar-group"; "components.back.to.top": "/components/back-to-top"; "components.badge": "/components/badge"; "components.blockquote": "/components/blockquote"; "components.breadcrumb": "/components/breadcrumb"; "components.button": "/components/button"; "components.button.group": "/components/button-group"; "components.card": "/components/card"; "components.carousel": "/components/carousel"; "components.chart": "/components/chart"; "components.chat.bubble": "/components/chat-bubble"; "components.checkbox": "/components/checkbox"; "components.clipboard": "/components/clipboard"; "components.collapse": "/components/collapse"; "components.color.picker": "/components/color-picker"; "components.columns": "/components/columns"; "components.combo.box": "/components/combo-box"; "components.confetti": "/components/confetti"; "components.container": "/components/container"; "components.context.menu": "/components/context-menu"; "components.ctasection": "/components/ctasection"; "components.custom.scrollbar": "/components/custom-scrollbar"; "components.data.map": "/components/data-map"; "components.data.table": "/components/data-table"; "components.date.picker": "/components/date-picker"; "components.device.frame": "/components/device-frame"; "components.divider": "/components/divider"; "components.drag.and.drop": "/components/drag-and-drop"; "components.drawer": "/components/drawer"; "components.dropdown": "/components/dropdown"; "components.feature.card": "/components/feature-card"; "components.feature.grid": "/components/feature-grid"; "components.feature.icon.card": "/components/feature-icon-card"; "components.file.input": "/components/file-input"; "components.file.upload.progress": "/components/file-upload-progress"; "components.footer": "/components/footer"; "components.grid": "/components/grid"; "components.hero": "/components/hero"; "components.hero.actions": "/components/hero-actions"; "components.image": "/components/image"; "components.input": "/components/input"; "components.input.group": "/components/input-group"; "components.input.number": "/components/input-number"; "components.kbd": "/components/kbd"; "components.layout.splitter": "/components/layout-splitter"; "components.legend.indicator": "/components/legend-indicator"; "components.link": "/components/link"; "components.list": "/components/list"; "components.list.group": "/components/list-group"; "components.map": "/components/map"; "components.marketing.section.header": "/components/marketing-section-header"; "components.marquee": "/components/marquee"; "components.mega.menu": "/components/mega-menu"; "components.metric.card": "/components/metric-card"; "components.metric.grid": "/components/metric-grid"; "components.modal": "/components/modal"; "components.nav": "/components/nav"; "components.navbar": "/components/navbar"; "components.page.header": "/components/page-header"; "components.pagination": "/components/pagination"; "components.pin.input": "/components/pin-input"; "components.popover": "/components/popover"; "components.portal.dashboard": "/components/portal-dashboard"; "components.preference.switcher": "/components/preference-switcher"; "components.progress": "/components/progress"; "components.public.page.shell": "/components/public-page-shell"; "components.radio": "/components/radio"; "components.range.slider": "/components/range-slider"; "components.rating": "/components/rating"; "components.scrollspy": "/components/scrollspy"; "components.search.box": "/components/search-box"; "components.section": "/components/section"; "components.section.header": "/components/section-header"; "components.select": "/components/select"; "components.sidebar": "/components/sidebar"; "components.skeleton": "/components/skeleton"; "components.spinner": "/components/spinner"; "components.split.hero": "/components/split-hero"; "components.stats.bar": "/components/stats-bar"; "components.stepper": "/components/stepper"; "components.strong.password": "/components/strong-password"; "components.styled.icon": "/components/styled-icon"; "components.switch": "/components/switch"; "components.tabs": "/components/tabs"; "components.text.link": "/components/text-link"; "components.textarea": "/components/textarea"; "components.time.picker": "/components/time-picker"; "components.timeline": "/components/timeline"; "components.toaster": "/components/toaster"; "components.toggle.count": "/components/toggle-count"; "components.toggle.password": "/components/toggle-password"; "components.tooltip": "/components/tooltip"; "components.tree.view": "/components/tree-view"; "components.typography": "/components/typography"; "components.wysiwyg.editor": "/components/wysiwyg-editor"; "core": "/core"; "dark.mode": "/dark-mode"; "data": "/data"; "docs": "/docs"; "fonts": "/fonts"; "forms": "/forms"; "framework.guides": "/framework-guides"; "installation": "/installation"; "integrations": "/integrations"; "layout": "/layout"; "marketing": "/marketing"; "navigation": "/navigation"; "overlays": "/overlays"; "resources": "/resources"; "sizing": "/sizing"; "tables": "/tables"; "templates": "/templates"; "themes": "/themes"; "v06.functions": "/v06-functions"; "v06.imports": "/v06-imports"; "v06.migration": "/v06-migration"; "v06.outputs": "/v06-outputs"; "v06.runtime": "/v06-runtime"; "v06.state": "/v06-state"; "v06.stores": "/v06-stores"; "v06.types": "/v06-types"; } export interface RouteQueries { [path: string]: Record; } export type RoutePath = keyof Routes; export type RouteName = keyof RouteNames; export type RouteQuery

= P extends keyof RouteQueries ? RouteQueries[P] : Record; type RouteValue = string | readonly string[] | undefined; function encodeRouteValue(value: RouteValue, catchAll: boolean): string { if (value === undefined) return ""; const values = Array.isArray(value) ? value : catchAll ? String(value).split("/") : [String(value)]; return values.map((part) => encodeURIComponent(part)).join("/"); } function buildHref(path: string, params: Record = {}): string { const output: string[] = []; for (const segment of path.split("/").filter(Boolean)) { let name: string | undefined; let optional = false; let catchAll = false; if (segment.startsWith("[[") && segment.endsWith("]]")) { optional = true; name = segment.slice(2, -2); } else if (segment.startsWith("[") && segment.endsWith("]")) { name = segment.slice(1, -1); if (name.endsWith("?")) { optional = true; name = name.slice(0, -1); } } if (!name) { output.push(segment); continue; } if (name.startsWith("...")) { catchAll = true; name = name.slice(3); } const value = params[name]; if (value === undefined && optional) continue; if (value === undefined) throw new Error(`WRN-ROUTE-MISSING-PARAM: Missing route parameter '${name}'.`); output.push(encodeRouteValue(value, catchAll)); } return "/" + output.filter(Boolean).join("/"); } export function href

( path: P, ...args: keyof Routes[P] extends never ? [] : Record extends Routes[P] ? [params?: Routes[P]] : [params: Routes[P]] ): string { const params = (args[0] ?? {}) as Record; return buildHref(String(path), params); } export function route( name: N, ...args: keyof Routes[RouteNames[N]] extends never ? [params?: Routes[RouteNames[N]], query?: RouteQuery] : Record extends Routes[RouteNames[N]] ? [params?: Routes[RouteNames[N]], query?: RouteQuery] : [params: Routes[RouteNames[N]], query?: RouteQuery] ): string { const paths: Record = { "index": "/", "accessibility": "/accessibility", "advanced.forms": "/advanced-forms", "base": "/base", "block.library": "/block-library", "colors": "/colors", "components.accordion": "/components/accordion", "components.advanced.select": "/components/advanced-select", "components.alert": "/components/alert", "components.announcement.bar": "/components/announcement-bar", "components.auth.form": "/components/auth-form", "components.auth.split.layout": "/components/auth-split-layout", "components.avatar": "/components/avatar", "components.avatar.group": "/components/avatar-group", "components.back.to.top": "/components/back-to-top", "components.badge": "/components/badge", "components.blockquote": "/components/blockquote", "components.breadcrumb": "/components/breadcrumb", "components.button": "/components/button", "components.button.group": "/components/button-group", "components.card": "/components/card", "components.carousel": "/components/carousel", "components.chart": "/components/chart", "components.chat.bubble": "/components/chat-bubble", "components.checkbox": "/components/checkbox", "components.clipboard": "/components/clipboard", "components.collapse": "/components/collapse", "components.color.picker": "/components/color-picker", "components.columns": "/components/columns", "components.combo.box": "/components/combo-box", "components.confetti": "/components/confetti", "components.container": "/components/container", "components.context.menu": "/components/context-menu", "components.ctasection": "/components/ctasection", "components.custom.scrollbar": "/components/custom-scrollbar", "components.data.map": "/components/data-map", "components.data.table": "/components/data-table", "components.date.picker": "/components/date-picker", "components.device.frame": "/components/device-frame", "components.divider": "/components/divider", "components.drag.and.drop": "/components/drag-and-drop", "components.drawer": "/components/drawer", "components.dropdown": "/components/dropdown", "components.feature.card": "/components/feature-card", "components.feature.grid": "/components/feature-grid", "components.feature.icon.card": "/components/feature-icon-card", "components.file.input": "/components/file-input", "components.file.upload.progress": "/components/file-upload-progress", "components.footer": "/components/footer", "components.grid": "/components/grid", "components.hero": "/components/hero", "components.hero.actions": "/components/hero-actions", "components.image": "/components/image", "components.input": "/components/input", "components.input.group": "/components/input-group", "components.input.number": "/components/input-number", "components.kbd": "/components/kbd", "components.layout.splitter": "/components/layout-splitter", "components.legend.indicator": "/components/legend-indicator", "components.link": "/components/link", "components.list": "/components/list", "components.list.group": "/components/list-group", "components.map": "/components/map", "components.marketing.section.header": "/components/marketing-section-header", "components.marquee": "/components/marquee", "components.mega.menu": "/components/mega-menu", "components.metric.card": "/components/metric-card", "components.metric.grid": "/components/metric-grid", "components.modal": "/components/modal", "components.nav": "/components/nav", "components.navbar": "/components/navbar", "components.page.header": "/components/page-header", "components.pagination": "/components/pagination", "components.pin.input": "/components/pin-input", "components.popover": "/components/popover", "components.portal.dashboard": "/components/portal-dashboard", "components.preference.switcher": "/components/preference-switcher", "components.progress": "/components/progress", "components.public.page.shell": "/components/public-page-shell", "components.radio": "/components/radio", "components.range.slider": "/components/range-slider", "components.rating": "/components/rating", "components.scrollspy": "/components/scrollspy", "components.search.box": "/components/search-box", "components.section": "/components/section", "components.section.header": "/components/section-header", "components.select": "/components/select", "components.sidebar": "/components/sidebar", "components.skeleton": "/components/skeleton", "components.spinner": "/components/spinner", "components.split.hero": "/components/split-hero", "components.stats.bar": "/components/stats-bar", "components.stepper": "/components/stepper", "components.strong.password": "/components/strong-password", "components.styled.icon": "/components/styled-icon", "components.switch": "/components/switch", "components.tabs": "/components/tabs", "components.text.link": "/components/text-link", "components.textarea": "/components/textarea", "components.time.picker": "/components/time-picker", "components.timeline": "/components/timeline", "components.toaster": "/components/toaster", "components.toggle.count": "/components/toggle-count", "components.toggle.password": "/components/toggle-password", "components.tooltip": "/components/tooltip", "components.tree.view": "/components/tree-view", "components.typography": "/components/typography", "components.wysiwyg.editor": "/components/wysiwyg-editor", "core": "/core", "dark.mode": "/dark-mode", "data": "/data", "docs": "/docs", "fonts": "/fonts", "forms": "/forms", "framework.guides": "/framework-guides", "installation": "/installation", "integrations": "/integrations", "layout": "/layout", "marketing": "/marketing", "navigation": "/navigation", "overlays": "/overlays", "resources": "/resources", "sizing": "/sizing", "tables": "/tables", "templates": "/templates", "themes": "/themes", "v06.functions": "/v06-functions", "v06.imports": "/v06-imports", "v06.migration": "/v06-migration", "v06.outputs": "/v06-outputs", "v06.runtime": "/v06-runtime", "v06.state": "/v06-state", "v06.stores": "/v06-stores", "v06.types": "/v06-types" } as Record; const output = buildHref(paths[name], (args[0] ?? {}) as Record); const query = args[1]; if (!query) return output; const search = new URLSearchParams(); for (const [key, value] of Object.entries(query)) if (value !== undefined && value !== null) search.set(key, String(value)); const text = search.toString(); return text ? `${output}?${text}` : output; }