Connection lost. Reconnecting… attempt 1 of 8
Paused. Your work is held on the server.
Could not reconnect.
This session has expired on the server.
An unhandled error has occurred.
Sedna.UI
v0.17.0 · main

Collections

tier 2 — classes

A set the reader follows or expands: an order with an end (.steps), and detail that unfolds (.accordion, .tree). Rows the reader opens are a list, values compared down a column are a table, and a record of what happened, with when, is a timeline.

Steps

Progress through a sequence that has an order and an end — a wizard, an approval chain. State is data-state on the <li> rather than a modifier class, and the number comes from a CSS counter, so inserting a step is not a renumbering edit.

  1. Reservation received
  2. Reviewed
  3. Awaiting approval
  4. Applied
<ol class="steps" style="max-width:520px">
    <li data-state="done">Reservation received</li>
    <li data-state="done">Reviewed</li>
    <li data-state="current">Awaiting approval</li>
    <li>Applied</li>
</ol>

Accordion

Built on <details>/<summary>, so the open state, the keyboard operation and the announcement all come from the platform, and giving every <details> the same name makes them mutually exclusive. If code has to open one, bind open one way and never write it backtoggle fires when the framework's own diff sets the attribute, so a handler that mirrors the state back into a field will fight it.

What the AI proposed

Reroute to EU-West, confidence 0.87, matched on “VPN” and “disconnect” in the description.

Similar orders

Four in the last 30 days, all resolved by EU-West.

Raw payload

The warehouse record as received.

<div class="accordion" style="max-width:520px">
    <details name="ex-acc" open>
        <summary><i class="ri-robot-line"></i> What the AI proposed</summary>
        <div class="accordion-body">
            <p>Reroute to EU-West, confidence 0.87, matched on &ldquo;VPN&rdquo; and
            &ldquo;disconnect&rdquo; in the description.</p>
        </div>
    </details>
    <details name="ex-acc">
        <summary><i class="ri-history-line"></i> Similar orders</summary>
        <div class="accordion-body">
            <p>Four in the last 30 days, all resolved by EU-West.</p>
        </div>
    </details>
    <details name="ex-acc">
        <summary><i class="ri-file-list-3-line"></i> Raw payload</summary>
        <div class="accordion-body">
            <p>The warehouse record as received.</p>
        </div>
    </details>
</div>

Tree

Nested structure the reader expands — a group hierarchy, a folder of files: nested <ul> inside <details>, for the same reason as the accordion. Do not declare role="tree", which promises single-tab-stop arrow-key navigation through a flattened view that this markup does not implement; .tree-leaf is an item with nothing under it.

<div class="tree" style="max-width:360px">
    <ul>
        <li>
            <details open>
                <summary><i class="ri-building-line"></i> Fulfilment<span class="tree-count">64</span></summary>
                <ul>
                    <li><a class="tree-leaf" href="#" aria-current="true"><i class="ri-user-line"></i> Frontline<span class="tree-count">41</span></a></li>
                    <li><a class="tree-leaf" href="#"><i class="ri-user-line"></i> Escalation<span class="tree-count">23</span></a></li>
                </ul>
            </details>
        </li>
        <li>
            <details>
                <summary><i class="ri-router-line"></i> Network<span class="tree-count">12</span></summary>
                <ul>
                    <li><a class="tree-leaf" href="#"><i class="ri-user-line"></i> On call<span class="tree-count">12</span></a></li>
                </ul>
            </details>
        </li>
        <li><a class="tree-leaf" href="#"><i class="ri-apps-line"></i> Applications<span class="tree-count">3</span></a></li>
    </ul>
</div>