// Generated by scripts/generate-showcase.mjs. Do not edit directly.
page TreeViewDetail {
layout = "showcase"
state playground_title = ctx.url.searchParams.get("pg_title") ?? "Project files"
state playground_description = ctx.url.searchParams.get("pg_description") ?? ""
state playground_items = JSON.parse(ctx.url.searchParams.get("pg_items") ?? "[{\"value\":\"src\",\"label\":\"src\",\"children\":[{\"value\":\"pages\",\"label\":\"pages\",\"children\":[{\"value\":\"home\",\"label\":\"index.wrn\"}]},{\"value\":\"styles\",\"label\":\"styles.css\"}]},{\"value\":\"readme\",\"label\":\"README.md\"}]")
state playground_valueKey = ctx.url.searchParams.get("pg_valueKey") ?? "value"
state playground_labelKey = ctx.url.searchParams.get("pg_labelKey") ?? "label"
state playground_defaultExpanded = JSON.parse(ctx.url.searchParams.get("pg_defaultExpanded") ?? "[\"src\"]")
state playground_selected = ctx.url.searchParams.get("pg_selected") ?? ""
state playground_size = ctx.url.searchParams.get("pg_size") ?? "default"
state playground_color = ctx.url.searchParams.get("pg_color") ?? "primary"
state playground_class = ctx.url.searchParams.get("pg_class") ?? ""
seo {
title = "Tree View"
description = "Theme-aware, responsive tree view component."
}
view {
Components / Base / Tree View
Interactive playground Configure Tree View Change any prop and inspect the server-rendered component immediately.
Live preview
page TreeViewExample {
state items = [
{
"value": "src",
"label": "src",
"children": [
{
"value": "pages",
"label": "pages",
"children": [
{
"value": "home",
"label": "index.wrn"
}
]
} ,
{
"value": "styles",
"label": "styles.css"
}
]
} ,
{
"value": "readme",
"label": "README.md"
}
]
state defaultExpanded = [
"src"
]
view {
<TreeView
title="Project files"
items="{ items} "
defaultExpanded="{ defaultExpanded} "
/>
}
}
Event output Interact with the preview to inspect the typed payload.
Live examples Designed for real product surfaces Compare configurations and resize the browser to check responsive behavior.
page TreeViewExample {
state items = [
{
"value": "src",
"label": "src",
"children": [
{
"value": "pages",
"label": "pages",
"children": [
{
"value": "home",
"label": "index.wrn"
}
]
} ,
{
"value": "styles",
"label": "styles.css"
}
]
} ,
{
"value": "readme",
"label": "README.md"
}
]
state defaultExpanded = [
"src"
]
view {
<TreeView
title="Project files"
items="{ items} "
defaultExpanded="{ defaultExpanded} "
/>
}
}
page TreeViewExample {
state items = [
{
"value": "src",
"label": "src",
"children": [
{
"value": "pages",
"label": "pages",
"children": [
{
"value": "home",
"label": "index.wrn"
}
]
} ,
{
"value": "styles",
"label": "styles.css"
}
]
} ,
{
"value": "readme",
"label": "README.md"
}
]
state defaultExpanded = [
"src"
]
view {
<TreeView
title="Project files"
items="{ items} "
defaultExpanded="{ defaultExpanded} "
/>
}
}
page TreeViewExample {
state items = [
{
"value": "src",
"label": "src",
"children": [
{
"value": "pages",
"label": "pages",
"children": [
{
"value": "home",
"label": "index.wrn"
}
]
} ,
{
"value": "styles",
"label": "styles.css"
}
]
} ,
{
"value": "readme",
"label": "README.md"
}
]
state defaultExpanded = [
"src"
]
view {
<TreeView
title="Project files"
items="{ items} "
defaultExpanded="{ defaultExpanded} "
/>
}
}
Component outputs Receive every typed component output Use declarative output handlers in .wrn files or register a direct output handler from JavaScript. The canonical API exposes payload and does not require event.detail.
@selectFires when an item, option, card, or result is selected.
@toggleFires when the component changes between open and closed or on and off states.
@expandFires when the component emits the expand event.
@collapseFires when the component emits the collapse event.
<TreeView
@select='console.log(payload)'
@toggle='console.log(payload)'
@expand='console.log(payload)'
@collapse='console.log(payload)'
/> Direct output handlers.js import { registerOutputHandler } from "@wrnexus/csr/outputs"
const component = document.querySelector("[data-ui-component=\"TreeView\"], [data-component=\"TreeView\"]")
if (component) registerOutputHandler(component, "select", (payload) => {
console.log("select", payload)
} )
if (component) registerOutputHandler(component, "toggle", (payload) => {
console.log("toggle", payload)
} )
if (component) registerOutputHandler(component, "expand", (payload) => {
console.log("expand", payload)
} )
if (component) registerOutputHandler(component, "collapse", (payload) => {
console.log("collapse", payload)
} )
Component API Props and configuration All content and behavior shown above is supplied through these props and slots.
Prop Type Default Required titlestring "Tree View"No descriptionstring ""No itemsunknown[] []No valueKeystring "value"No labelKeystring "label"No defaultExpandedunknown[] []No selectedstring ""No sizestring "default"No colorstring "primary"No classstring ""No
}
}