Aksell UI - demo

Native elements

Preview

Sed ultricies dolor non ante vulputate hendrerit. Vivamus sit amet suscipit sapien. Nulla iaculis eros a elit pharetra egestas.

Typography

Aliquam lobortis vitae nibh nec rhoncus. Morbi mattis neque eget efficitur feugiat. Vivamus porta nunc a erat mattis, mattis feugiat turpis pretium. Quisque sed tristique felis.

"Maecenas vehicula metus tellus, vitae congue turpis hendrerit non. Nam at dui sit amet ipsum cursus ornare."
- Phasellus eget lacinia

Lists

  • Aliquam lobortis lacus eu libero ornare facilisis.
  • Nam et magna at libero scelerisque egestas.
  • Suspendisse id nisl ut leo finibus vehicula quis eu ex.
  • Proin ultricies turpis et volutpat vehicula.

Inline text elements

Link

Bold

Italic

Underline

Deleted

Inserted

Strikethrough

Small

Text Sub

Text Sup

Abbr.

Kbd

Highlighted

Heading 3

Integer bibendum malesuada libero vel eleifend. Fusce iaculis turpis ipsum, at efficitur sem scelerisque vel. Aliquam auctor diam ut purus cursus fringilla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Heading 4

Cras fermentum velit vitae auctor aliquet. Nunc non congue urna, at blandit nibh. Donec ac fermentum felis. Vivamus tincidunt arcu ut lacus hendrerit, eget mattis dui finibus.

Heading 5

Donec nec egestas nulla. Sed varius placerat felis eu suscipit. Mauris maximus ante in consequat luctus. Morbi euismod sagittis efficitur. Aenean non eros orci. Vivamus ut diam sem.

Heading 6

Ut sed quam non mauris placerat consequat vitae id risus. Vestibulum tincidunt nulla ut tortor posuere, vitae malesuada tortor molestie. Sed nec interdum dolor. Vestibulum id auctor nisi, a efficitur sem. Aliquam sollicitudin efficitur turpis, sollicitudin hendrerit ligula semper id. Nunc risus felis, egestas eu tristique eget, convallis in velit.

Image from unsplash.com

Form elements

Curabitur consequat lacus at lacus porta finibus.
Checkboxes
Radio buttons
Switches

Accordions

Accordion 1

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque urna diam, tincidunt nec porta sed, auctor id velit. Etiam venenatis nisl ut orci consequat, vitae tempus quam commodo. Nulla non mauris ipsum. Aliquam eu posuere orci. Nulla convallis lectus rutrum quam hendrerit, in facilisis elit sollicitudin. Mauris pulvinar pulvinar mi, dictum tristique elit auctor quis. Maecenas ac ipsum ultrices, porta turpis sit amet, congue turpis.

Accordion 2
  • Vestibulum id elit quis massa interdum sodales.
  • Nunc quis eros vel odio pretium tincidunt nec quis neque.
  • Quisque sed eros non eros ornare elementum.
  • Cras sed libero aliquet, porta dolor quis, dapibus ipsum.

Article

Nullam dui arcu, malesuada et sodales eu, efficitur vitae dolor. Sed ultricies dolor non ante vulputate hendrerit. Vivamus sit amet suscipit sapien. Nulla iaculis eros a elit pharetra egestas. Nunc placerat facilisis cursus. Sed vestibulum metus eget dolor pharetra rutrum.

Duis nec elit placerat, suscipit nibh quis, finibus neque.

Group

Progress bar

Loading

<main>
      <!-- Preview -->
      <section id="preview">
        <h3>Preview</h3>
        <p>
          Sed ultricies dolor non ante vulputate hendrerit. Vivamus sit amet suscipit sapien. Nulla
          iaculis eros a elit pharetra egestas.
        </p>
        <form>
          <input type="text" name="firstname" placeholder="First name" aria-label="First name" required="">
          <input type="email" name="email" placeholder="Email address" aria-label="Email address" autocomplete="email" required="">
          <button type="submit">Subscribe</button>
          <fieldset>
            <label for="terms">
              <input type="checkbox" role="switch" id="terms" name="terms">
              I agree to the
              <a href="#" onclick="event.preventDefault()">Privacy Policy</a>
            </label>
          </fieldset>
        </form>
      </section>
      <!-- ./ Preview -->

      <!-- Typography-->
      <section id="typography">
        <h3>Typography</h3>
        <p>
          Aliquam lobortis vitae nibh nec rhoncus. Morbi mattis neque eget efficitur feugiat.
          Vivamus porta nunc a erat mattis, mattis feugiat turpis pretium. Quisque sed tristique
          felis.
        </p>

        <!-- Blockquote-->
        <blockquote>
          "Maecenas vehicula metus tellus, vitae congue turpis hendrerit non. Nam at dui sit amet
          ipsum cursus ornare."
          <footer>
            <cite>- Phasellus eget lacinia</cite>
          </footer>
        </blockquote>

        <!-- Lists-->
        <h3>Lists</h3>
        <ul>
          <li>Aliquam lobortis lacus eu libero ornare facilisis.</li>
          <li>Nam et magna at libero scelerisque egestas.</li>
          <li>Suspendisse id nisl ut leo finibus vehicula quis eu ex.</li>
          <li>Proin ultricies turpis et volutpat vehicula.</li>
        </ul>

        <!-- Inline text elements-->
        <h3>Inline text elements</h3>
        <p><a href="#" onclick="event.preventDefault()">Link</a></p>
        <p><strong>Bold</strong></p>
        <p><em>Italic</em></p>
        <p><u>Underline</u></p>
        <p><del>Deleted</del></p>
        <p><ins>Inserted</ins></p>
        <p><s>Strikethrough</s></p>
        <p><small>Small </small></p>
        <p>Text <sub>Sub</sub></p>
        <p>Text <sup>Sup</sup></p>
        <p>
          <abbr title="Abbreviation" data-tooltip="Abbreviation">Abbr.</abbr>
        </p>
        <p><kbd>Kbd</kbd></p>
        <p><mark>Highlighted</mark></p>

        <!-- Headings-->
        <h3>Heading 3</h3>
        <p>
          Integer bibendum malesuada libero vel eleifend. Fusce iaculis turpis ipsum, at efficitur
          sem scelerisque vel. Aliquam auctor diam ut purus cursus fringilla. Class aptent taciti
          sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
        </p>
        <h4>Heading 4</h4>
        <p>
          Cras fermentum velit vitae auctor aliquet. Nunc non congue urna, at blandit nibh. Donec ac
          fermentum felis. Vivamus tincidunt arcu ut lacus hendrerit, eget mattis dui finibus.
        </p>
        <h5>Heading 5</h5>
        <p>
          Donec nec egestas nulla. Sed varius placerat felis eu suscipit. Mauris maximus ante in
          consequat luctus. Morbi euismod sagittis efficitur. Aenean non eros orci. Vivamus ut diam
          sem.
        </p>
        <h6>Heading 6</h6>
        <p>
          Ut sed quam non mauris placerat consequat vitae id risus. Vestibulum tincidunt nulla ut
          tortor posuere, vitae malesuada tortor molestie. Sed nec interdum dolor. Vestibulum id
          auctor nisi, a efficitur sem. Aliquam sollicitudin efficitur turpis, sollicitudin
          hendrerit ligula semper id. Nunc risus felis, egestas eu tristique eget, convallis in
          velit.
        </p>

        <!-- Medias-->
        <figure>
          <img src="https://placehold.co/2000x1000">
          <figcaption>
            Image from
            <a href="https://unsplash.com/photos/a562ZEFKW8I" target="_blank">unsplash.com</a>
          </figcaption>
        </figure>
      </section>
      <!-- ./ Typography-->

      <!-- Form elements-->
      <section id="form">
        <form>
          <h3>Form elements</h3>

          <!-- Search -->
          <label for="search">Search</label>
          <input type="search" id="search" name="search" placeholder="Search">

          <!-- Text -->
          <label for="text">Text</label>
          <input type="text" id="text" name="text" placeholder="Text">
          <small>Curabitur consequat lacus at lacus porta finibus.</small>

          <!-- Select -->
          <label for="select">Select</label>
          <select id="select" name="select" required="">
            <option value="" selected="">Select…</option>
            <option>…</option>
          </select>

          <!-- File browser -->
          <label for="file">File browser
            <input type="file" id="file" name="file">
          </label>

          <!-- Range slider control -->
          <label for="range">Range slider
            <input type="range" min="0" max="100" value="50" id="range" name="range">
          </label>

          <!-- States -->

          <label for="valid">
            Valid
            <input type="text" id="valid" name="valid" placeholder="Valid" aria-invalid="false">
          </label>
          <label for="invalid">
            Invalid
            <input type="text" id="invalid" name="invalid" placeholder="Invalid" aria-invalid="true">
          </label>
          <label for="disabled">
            Disabled
            <input type="text" id="disabled" name="disabled" placeholder="Disabled" disabled="">
          </label>

          <!-- Date-->
          <label for="date">Date
            <input type="date" id="date" name="date">
          </label>

          <!-- Time-->
          <label for="time">Time
            <input type="time" id="time" name="time">
          </label>

          <!-- Color-->
          <label for="color">Color
            <input type="color" id="color" name="color" value="#245ebc">
          </label>

          <!-- Checkboxes -->
          <fieldset>
            <legend><strong>Checkboxes</strong></legend>
            <label for="checkbox-1">
              <input type="checkbox" id="checkbox-1" name="checkbox-1" checked="">
              Checkbox
            </label>
            <label for="checkbox-2">
              <input type="checkbox" id="checkbox-2" name="checkbox-2">
              Checkbox
            </label>
          </fieldset>

          <!-- Radio buttons -->
          <fieldset>
            <legend><strong>Radio buttons</strong></legend>
            <label for="radio-1">
              <input type="radio" id="radio-1" name="radio" value="radio-1" checked="">
              Radio button
            </label>
            <label for="radio-2">
              <input type="radio" id="radio-2" name="radio" value="radio-2">
              Radio button
            </label>
          </fieldset>

          <!-- Switch -->
          <fieldset>
            <legend><strong>Switches</strong></legend>
            <label for="switch-1">
              <input type="checkbox" id="switch-1" name="switch-1" role="switch" checked="">
              Switch
            </label>
            <label for="switch-2">
              <input type="checkbox" id="switch-2" name="switch-2" role="switch">
              Switch
            </label>
          </fieldset>

          <!-- Buttons -->
          <input type="reset" value="Reset" onclick="event.preventDefault()">
          <input type="submit" value="Submit" onclick="event.preventDefault()">
        </form>
      </section>
      <!-- ./ Form elements-->

      <!-- Modal -->
      <section id="modal">
        <h3>Modal</h3>
        <button class="contrast" onclick="modalExample.showModal()">Launch demo modal</button>
      </section>
      <!-- ./ Modal -->

      <!-- Accordions -->
      <section id="accordions">
        <h3>Accordions</h3>
        <details>
          <summary>Accordion 1</summary>
          <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque urna diam,
            tincidunt nec porta sed, auctor id velit. Etiam venenatis nisl ut orci consequat, vitae
            tempus quam commodo. Nulla non mauris ipsum. Aliquam eu posuere orci. Nulla convallis
            lectus rutrum quam hendrerit, in facilisis elit sollicitudin. Mauris pulvinar pulvinar
            mi, dictum tristique elit auctor quis. Maecenas ac ipsum ultrices, porta turpis sit
            amet, congue turpis.
          </p>
        </details>
        <details open="">
          <summary>Accordion 2</summary>
          <ul>
            <li>Vestibulum id elit quis massa interdum sodales.</li>
            <li>Nunc quis eros vel odio pretium tincidunt nec quis neque.</li>
            <li>Quisque sed eros non eros ornare elementum.</li>
            <li>Cras sed libero aliquet, porta dolor quis, dapibus ipsum.</li>
          </ul>
        </details>
      </section>
      <!-- ./ Accordions -->

      <!-- Article-->
      <article id="article">
        <h3>Article</h3>
        <p>
          Nullam dui arcu, malesuada et sodales eu, efficitur vitae dolor. Sed ultricies dolor non
          ante vulputate hendrerit. Vivamus sit amet suscipit sapien. Nulla iaculis eros a elit
          pharetra egestas. Nunc placerat facilisis cursus. Sed vestibulum metus eget dolor pharetra
          rutrum.
        </p>
        <footer>
          <small>Duis nec elit placerat, suscipit nibh quis, finibus neque.</small>
        </footer>
      </article>
      <!-- ./ Article-->

      <!-- Group -->
      <section id="group">
        <h3>Group</h3>
        <form>
          <fieldset role="group">
            <input name="email" type="email" placeholder="Enter your email" autocomplete="email">
            <input type="submit" value="Subscribe">
          </fieldset>
        </form>
      </section>
      <!-- ./ Group -->

      <!-- Progress -->
      <section id="progress">
        <h3>Progress bar</h3>
        <progress id="progress-1" value="25" max="100"></progress>
        <progress id="progress-2"></progress>
      </section>
      <!-- ./ Progress -->

      <!-- Loading -->
      <section id="loading">
        <h3>Loading</h3>
        <article aria-busy="true"></article>
        <button aria-busy="true">Please wait…</button>
      </section>
      <!-- ./ Loading -->
    </main>

CSS Buttons

<button class="btn">.btn</button>
<button class="btn btn--outline">.btn.btn--outline</button>
<button class="btn btn--ghost">.btn.btn--ghost</button>
<button class="btn btn--black">.btn.btn--black</button>
<button class="btn btn--black btn--outline">.btn.btn--black.btn--outline</button>
<button class="btn btn--contrast">.btn.btn--contrast</button>
<button class="btn btn--contrast btn--outline">.btn.btn--contrast.btn--outline</button>
<button class="btn btn--white">.btn.btn--white</button>
<button class="btn btn--white btn--outline">.btn.btn--white.btn--outline</button>
<button class="btn btn--primary">.btn.btn--primary</button>
<button class="btn btn--primary btn--outline">.btn.btn--primary.btn--outline</button>
<button class="btn btn--secondary">.btn.btn--secondary</button>
<button class="btn btn--secondary btn--outline">.btn.btn--secondary.btn--outline</button>
<button class="btn btn--accent">.btn.btn--accent</button>
<button class="btn btn--accent btn--outline">.btn.btn--accent.btn--outline</button>
<button class="btn btn--success">.btn.btn--success</button>
<button class="btn btn--success btn--outline">.btn.btn--success.btn--outline</button>
<button class="btn btn--danger">.btn.btn--danger</button>
<button class="btn btn--danger btn--outline">.btn.btn--danger.btn--outline</button>
<button class="btn btn--warning">.btn.btn--warning</button>
<button class="btn btn--warning btn--outline">.btn.btn--warning.btn--outline</button>
<button class="btn btn--sm">.btn.btn--sm</button>
<button class="btn btn--sm btn--outline">.btn.btn--sm.btn--outline</button>

PillArrowBtn

---
import PillArrowBtn from "@aksell/ui/pillarrowbtn";
---
<PillArrowBtn
    title="Button"
    variant="primary"
    onclick="alert('Clicked!')"
/>
<PillArrowBtn title="Link" href="#" variant="primary" />
import { PillArrowBtn } from "@aksell/ui/react";
import "@aksell/ui/pillarrowbtn.css";

<PillArrowBtn
    title="Button"
    variant="primary"
    onClick={() => alert('Clicked!')}
/>
<PillArrowBtn title="Link" href="#" variant="primary" />
import "@aksell/ui/wc";
import "@aksell/ui/pillarrowbtn.css";

<pill-arrow-btn title="Button" variant="primary"></pill-arrow-btn>
<pill-arrow-btn title="Link" href="#" variant="primary"></pill-arrow-btn>
---
import PillArrowBtn from "@aksell/ui/pillarrowbtn";
---
<PillArrowBtn
    title="Button"
    variant="darkaccent"
    onclick="alert('Clicked!')"
/>
<PillArrowBtn title="Link" href="#" variant="darkaccent" />
import { PillArrowBtn } from "@aksell/ui/react";
import "@aksell/ui/pillarrowbtn.css";

<PillArrowBtn
    title="Button"
    variant="darkaccent"
    onClick={() => alert('Clicked!')}
/>
<PillArrowBtn title="Link" href="#" variant="darkaccent" />
import "@aksell/ui/wc";
import "@aksell/ui/pillarrowbtn.css";

<pill-arrow-btn title="Button" variant="darkaccent"></pill-arrow-btn>
<pill-arrow-btn title="Link" href="#" variant="darkaccent"></pill-arrow-btn>
---
import PillArrowBtn from "@aksell/ui/pillarrowbtn";
---
<PillArrowBtn
    title="Button"
    variant="dark"
    onclick="alert('Clicked!')"
/>
<PillArrowBtn title="Link" href="#" variant="dark" />
import { PillArrowBtn } from "@aksell/ui/react";
import "@aksell/ui/pillarrowbtn.css";

<PillArrowBtn
    title="Button"
    variant="dark"
    onClick={() => alert('Clicked!')}
/>
<PillArrowBtn title="Link" href="#" variant="dark" />
import "@aksell/ui/wc";
import "@aksell/ui/pillarrowbtn.css";

<pill-arrow-btn title="Button" variant="dark"></pill-arrow-btn>
<pill-arrow-btn title="Link" href="#" variant="dark"></pill-arrow-btn>

Toast

<button id="trigger-toast" class="btn">Show Toast</button>

<script>
  import { showToast } from "@aksell/ui/toast";

  document.getElementById("trigger-toast")?.addEventListener("click", () => {
    showToast("Operation successful!", { variant: "success" });
  });
</script>


showToast("Hello", { position: "top-right" });