wcl_wdoc 0.11.2-alpha

WCL documentation format — build structured docs with WCL, render to HTML
    export let widget_c4_person = (b) => {
        let w = attr_or(b, "width", 100)
        let h = attr_or(b, "height", 130)
        let name = attr_or(b, "label", "Person")
        let desc = attr_or(b, "description", "")
        let color = attr_or(b, "color", "var(--color-link)")
        let bg_fill = attr_or(b, "background_fill", color)
        let label_fill = attr_or(b, "label_fill", "#fff")
        let muted_fill = attr_or(b, "muted_fill", label_fill)
        let hr = 18
        let by = hr * 2 + 4
        let base = [
            { kind = "circle", x = w / 2 - hr, y = 0, r = hr, fill = bg_fill },
            { kind = "rect", x = 0, y = by, width = w, height = h - by, rx = 4, fill = bg_fill },
            { kind = "text", x = 0, y = by, width = w, height = 22,
              content = name, font_size = 14, fill = label_fill }
        ]
        let desc_part = desc != "" ? [{ kind = "text", x = 4, y = by + 22,
            width = w - 8, height = 16, content = desc, font_size = 10,
            fill = muted_fill, opacity = 0.8 }] : []
        concat(base, desc_part)
    }