import type { LayoutMode } from "./types"; import { wbAudioIcon, wbButtonIcon, wbDividerIcon, wbH1Icon, wbH2Icon, wbH4Icon, wbH3Icon, wbIconIcon, wbImageIcon, wbTextIcon, wbH6Icon, wbH5Icon, wbLabelIcon, wbVideoIcon, wbLinkIcon, wbTextareaIcon } from "../assets/icons"; import { TemplateResult } from "lit"; export function tileGlyph(type: string): TemplateResult | string { switch (type) { case "h1": return wbH1Icon; case "h2": return wbH2Icon; case "h3": return wbH3Icon; case "h4": return wbH4Icon; case "h5": return wbH5Icon; case "h6": return wbH6Icon; case "paragraph": return wbTextIcon; case "label": return wbLabelIcon; case "image": return wbImageIcon; case "video": return wbVideoIcon; case "audio": return wbAudioIcon; case "icon": return wbIconIcon; case "button": return wbButtonIcon; case "link": return wbLinkIcon; case "divider": return wbDividerIcon; case "textarea": return wbTextareaIcon; case "container": return "⬚"; default: return type.slice(0, 2).toUpperCase(); } } export function componentSyntaxHint(type: string): string { switch (type) { // ── Headings ───────────────────────────────────────────────────────────── case "h1": return `

Heading 1

`; case "h2": return `

Heading 2

`; case "h3": return `

Heading 3

`; case "h4": return `

Heading 4

`; case "h5": return `
Heading 5
`; case "h6": return `
Heading 6
`; // ── Text ───────────────────────────────────────────────────────────────── case "paragraph": return `

Your text here…

`; case "label": return `Label text`; case "textarea": return ``; // ── Media ───────────────────────────────────────────────────────────────── case "image": return `Description`; case "video": return ( `` ); case "audio": return ( `` ); case "icon": return ( `\n` + `` ); // ── Interactive ─────────────────────────────────────────────────────────── case "button": return ``; case "link": return `Link text`; // ── Structure ───────────────────────────────────────────────────────────── case "divider": return `
`; // ── Container ───────────────────────────────────────────────────────────── case "container": return ( `
\n` + ` \n` + `
` ); default: return ``; } } // --------------------------------------------------------------------------- // layoutTitle // --------------------------------------------------------------------------- export function layoutTitle(mode: LayoutMode): string { switch (mode) { case "freeform": return "Freeform"; case "flow": return "Flow"; case "flex": return "Flex"; case "grid": return "Grid"; } }