← Back to rendered page

title: Indicators & signaling
shell: standard

components:
  - type: breadcrumb
    items:
      - label: Home
        href: ../index.html
      - label: Components
        href: index.html
      - label: Indicators

  - type: header
    title: Indicators & signaling
    eyebrow: Reference
    subtitle: badge, tag, status, progress_bar, kbd, divider

  # ── badge ──────────────────────────────────
  - type: section
    eyebrow: badge
    heading: Short colored label
    components:
      - type: markdown
        body: "Tiny label with a color variant. Use inside cards, next to titles, or anywhere you need a status pip. 5 variants:"

      - type: columns
        equal_heights: true
        columns:
          - - type: badge
              label: Default
          - - type: badge
              label: Healthy
              color: green
          - - type: badge
              label: At risk
              color: yellow
          - - type: badge
              label: Critical
              color: red
          - - type: badge
              label: Beta
              color: teal

      - type: code
        language: yaml
        code: |
          - type: badge
            label: Healthy
            color: green        # default | green | yellow | red | teal

  # ── tag ────────────────────────────────────
  - type: section
    eyebrow: tag
    heading: Monospace label
    components:
      - type: markdown
        body: "Pill-shaped decorative tag. Outlined, monospace. Great for categories, topic chips, or code-like labels."

      - type: button_group
        buttons: []
      - type: columns
        columns:
          - - type: tag
              label: design-system
          - - type: tag
              label: breaking
              color: red
          - - type: tag
              label: v2
              color: teal
          - - type: tag
              label: stable
              color: green

      - type: code
        language: yaml
        code: |
          - type: tag
            label: design-system
            color: teal          # default | green | yellow | red | teal

  # ── status ─────────────────────────────────
  - type: section
    eyebrow: status
    heading: Dot + label
    components:
      - type: markdown
        body: "A colored dot next to a label — the classic Operational / Degraded / Down pattern."

      - type: columns
        columns:
          - - type: status
              label: Operational
              color: green
          - - type: status
              label: Degraded
              color: yellow
          - - type: status
              label: Down
              color: red
          - - type: status
              label: Scheduled maintenance
              color: teal

      - type: code
        language: yaml
        code: |
          - type: status
            label: Operational
            color: green          # default | green | yellow | red | teal

  # ── progress_bar ───────────────────────────
  - type: section
    eyebrow: progress_bar
    heading: Horizontal progress
    components:
      - type: markdown
        body: "Linear progress fill with optional label, percentage readout, and trailing detail. Purely static — no indeterminate animation."

      - type: progress_bar
        value: 94
        label: Scan coverage
        color: green
        detail: 94 of 100 accounts connected

      - type: progress_bar
        value: 41
        label: Adoption
        color: yellow
        detail: Target 70% by end of Q2

      - type: progress_bar
        value: 12
        label: Spam flags
        color: red

      - type: code
        language: yaml
        code: |
          - type: progress_bar
            value: 94                  # 0-100
            label: Scan coverage       # optional
            color: green               # default | green | yellow | red | teal
            detail: 94 of 100 accounts # optional

  # ── kbd ────────────────────────────────────
  - type: section
    eyebrow: kbd
    heading: Keyboard keys
    components:
      - type: markdown
        body: "Inline keyboard key styling. Pass a list of keys — they render joined by `+`. Great in docs and shortcut hints."

      - type: columns
        columns:
          - - type: kbd
              keys: [Cmd, K]
          - - type: kbd
              keys: [Ctrl, Shift, P]
          - - type: kbd
              keys: ["/"]

      - type: code
        language: yaml
        code: |
          - type: kbd
            keys: [Cmd, K]    # renders as Cmd+K

  # ── divider ────────────────────────────────
  - type: section
    eyebrow: divider
    heading: Horizontal rule
    components:
      - type: markdown
        body: "Plain horizontal line or line-with-centered-label to break up long pages."

      - type: divider

      - type: markdown
        body: "_Plain divider above, labeled below:_"

      - type: divider
        label: Operational data

      - type: code
        language: yaml
        code: |
          - type: divider             # plain hr

          - type: divider             # labeled
            label: Operational data

  - type: callout
    variant: info
    title: Next up
    body: Interactive components bring client-side behavior — sortable/filterable tables, tab groups, accordions. All vanilla JS, no framework.
    links:
      - label: Interactive
        href: interactive.html
        variant: primary
      - label: All components
        href: index.html
        variant: secondary