File size: 2,153 Bytes
f5d2194
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
export function eyebrow(text) {
  const root = document.createElement("div");
  root.className = "eyebrow";
  const tick = document.createElement("span");
  tick.className = "tick";
  tick.textContent = "◆";
  const label = document.createElement("span");
  label.textContent = text;
  root.append(tick, label);
  return root;
}

export function sectionCard({ eyebrow: eyebrowText, id } = {}) {
  const root = document.createElement("section");
  root.className = "card";
  if (id) root.id = id;
  if (eyebrowText) root.append(eyebrow(eyebrowText));
  return root;
}

export function previewBanner({ title = "Research preview", text }) {
  const root = document.createElement("div");
  root.className = "preview-banner";
  root.setAttribute("role", "note");
  const strong = document.createElement("strong");
  strong.textContent = title;
  const span = document.createElement("span");
  span.textContent = text;
  root.append(strong, span);
  return root;
}

export function hero({ eyebrow: eyebrowText = "Desert Ant Labs · on-device models", name, lead, accent }) {
  const root = sectionCard({ eyebrow: eyebrowText });
  const heading = document.createElement("h1");
  heading.className = "display";
  heading.append(document.createTextNode(name));
  const dot = document.createElement("span");
  dot.className = "dot";
  dot.textContent = ".";
  heading.append(dot);
  root.append(heading);
  if (lead || accent) {
    const p = document.createElement("p");
    p.className = "lead";
    if (lead) p.append(document.createTextNode(accent ? `${lead} ` : lead));
    if (accent) {
      const mark = document.createElement("span");
      mark.className = "accent";
      mark.textContent = accent;
      p.append(mark);
    }
    root.append(p);
  }
  return root;
}

export function brandFooter({ note = `Runs local · ${new Date().getFullYear()}` } = {}) {
  const root = document.createElement("div");
  root.className = "brand-footer";
  const left = document.createElement("span");
  left.textContent = "Desert Ant Labs";
  const right = document.createElement("span");
  right.textContent = note;
  root.append(left, right);
  return root;
}