import type { TreeNode } from './tree-node.svelte'; import type { Snippet } from 'svelte'; type Props = { /** Root node, or array of root nodes. */ nodes: TreeNode | readonly TreeNode[]; /** Show a success checkmark on the selected node when it has no actions. */ showSelectedCheckmark?: boolean; /** Optional content rendered above the nodes (e.g. a header). */ header?: Snippet; }; /** * Tree — hierarchical, collapsible node list driven by `TreeNode` model instances. Each `TreeNode` * holds its own expanded / selected state, children, optional icon / count / actions, and an optional * drag config (reorder or move-to-folder). Build the model with `new TreeNode({ … })` and pass the * root(s) as `nodes`. * * Click selects a node — selection is the single source of truth. Keyboard: the current row is the tab * stop (native focus + `:focus-visible`), ↑/↓ move between visible rows, →/← expand-or-enter / collapse-or-leave, * Home/End jump to first/last, Enter/Space select. * * ### CSS Custom Properties * | Property | Description | Default | * |---|---|---| * | `--sc-kit--tree-node--icon--size` | Node icon box | `20px` | * | `--sc-kit--tree-node--font-size` | Node label font size | `--sc-kit--font-size--sm` | * | `--sc-kit--tree-node--padding-inline` | Row inline padding | `8px` | * | `--sc-kit--tree-node--padding-block` | Row vertical padding | `6px` | * | `--sc-kit--tree-node--indent` | Per-level indent | `16px` | */ declare const Cmp: import("svelte").Component; type Cmp = ReturnType; export default Cmp;