@e280/quay
Version:
File-browser and outliner UI for the web
30 lines (21 loc) • 751 B
text/typescript
import {html, shadowComponent} from "@benev/slate"
import themeCss from "../../theme.css.js"
import {findLocalGroup} from "../../utils/find-local-group.js"
import {CodexItem} from "../../../logic/aspects/codex/parts/codex-item.js"
export const QuayBreadcrumb = shadowComponent(use => {
use.css(themeCss)
const group = findLocalGroup(use.element)
const {trail, config: {codex, renderLabel}} = group
const click = (item: CodexItem) => (e: Event) => group.trail.setTrail(e, item)
return html`
<sl-breadcrumb>
${trail.signal.value.map(item => html`
<sl-breadcrumb-item @click="${click(item)}">
${item === null
? "root"
: renderLabel(codex.require(item.id))}
</sl-breadcrumb-item>
`)}
</sl-breadcrumb>
`
})