Forms
Cascader
Selects one value by drilling through dependent levels of a hierarchy.
01
See it and copy it
Framework example
Choose Astro, React, or Elements to compare native usage against the shared visual output. Each example assumes the framework-level setup is already complete.
Framework usage
Switch targets to compare the adapter code. The preview stays visually stable because all three packages share the same tokens andui-* class contract.---
import { Cascader } from '@santi020k/lumen-astro'
---
<Cascader
placeholder="Select category"
options={[
{
children: [
{ label: 'Item A1', value: 'a1' },
{ label: 'Item A2', value: 'a2' }
],
label: 'Category A',
value: 'a'
},
{
children: [{ label: 'Item B1', value: 'b1' }],
label: 'Category B',
value: 'b'
}
]}
/>import { Cascader } from '@santi020k/lumen-react'
export const Example = () => (
<>
<Cascader
placeholder="Select category"
options={[
{
children: [
{ label: 'Item A1', value: 'a1' },
{ label: 'Item A2', value: 'a2' }
],
label: 'Category A',
value: 'a'
},
{
children: [{ label: 'Item B1', value: 'b1' }],
label: 'Category B',
value: 'b'
}
]}
/>
</>
)<script type="module">
import { defineLumenElements } from '@santi020k/lumen-elements/define'
defineLumenElements()
</script>
<lumen-cascader
placeholder="Select category"
options={[
{
children: [
{ label: 'Item A1', value: 'a1' },
{ label: 'Item A2', value: 'a2' }
],
label: 'Category A',
value: 'a'
},
{
children: [{ label: 'Item B1', value: 'b1' }],
label: 'Category B',
value: 'b'
}
]}></lumen-cascader>02
Choose your target
Add this component
Choose the package for your runtime. All adapters share the Lumen stylesheet. Use the matching registry command when you want a local wrapper for that framework.
pnpm add @santi020k/lumen-astropnpm add @santi020k/lumen-astrolumen add Cascaderlumen add Cascaderpnpm add @santi020k/lumen-reactpnpm add @santi020k/lumen-reactlumen add Cascader --target reactlumen add Cascader --target reactpnpm add @santi020k/lumen-elementspnpm add @santi020k/lumen-elementslumen add Cascader --target elementslumen add Cascader --target elementsAPI reference
Lumen-specific props and runtime attributes for the Astro primitive. React props follow the same names; Elements use equivalent kebab-case attributes where custom elements expose them.
| Attribute | Values | Default | Description |
|---|---|---|---|
| options | CascaderOption[] | [] | Defines the hierarchical option branches. |
| name | string | - | Sets the submitted field name. |
| placeholder | string | "Select" | Sets the trigger text before a path is selected. |
| class, className | string | "" | Merges custom classes with the generated ui-* root classes. |
| ...native attributes | HTML attributes | - | Forwards standard attributes to the root element unless the component consumes them. |