Newer
Older
vmk-ui-kit / demo / partials / buttons.html
<section class="demo-section">
  <h2>Buttons</h2>

  <h3>Variants</h3>
  <div class="demo-row">
    <button class="btn btn-primary btn-md">Primary</button>
    <button class="btn btn-secondary btn-md">Secondary</button>
    <button class="btn btn-tertiary btn-md">Tertiary</button>
    <button class="btn btn-accent btn-md">Accent</button>
    <button class="btn btn-success btn-md">Success</button>
    <button class="btn btn-warning btn-md">Warning</button>
    <button class="btn btn-info btn-md">Info</button>
    <button class="btn btn-danger btn-md">Danger</button>
    <button class="btn btn-error btn-md">Error</button>
  </div>

  <h3>Sizes</h3>
  <div class="demo-row">
    <button class="btn btn-primary btn-lg">Large</button>
    <button class="btn btn-primary btn-md">Medium</button>
    <button class="btn btn-primary btn-sm">Small</button>
    <button class="btn btn-primary btn-xs">Xsmall</button>
    <button class="btn btn-primary btn-xxs">XXsmall</button>
  </div>

  <h3>With icon</h3>
  <div class="demo-row">
    <button class="btn btn-primary btn-md with-icon">
      <i class="ph ph-plus"></i>
      Add item
    </button>
    <button class="btn btn-secondary btn-md with-icon">
      <i class="ph ph-arrow-right"></i>
      Next
    </button>
    <button class="btn btn-tertiary btn-md with-icon">
      <i class="ph ph-plus"></i>
      New
    </button>
  </div>

  <h3>Icon only</h3>
  <div class="demo-row">
    <button class="btn btn-primary btn-md btn-icon-only" aria-label="Add">
      <i class="ph ph-plus"></i>
    </button>
    <button class="btn btn-secondary btn-md btn-icon-only" aria-label="Next">
      <i class="ph ph-arrow-right"></i>
    </button>
    <button class="btn btn-tertiary btn-md btn-icon-only" aria-label="Close">
      <i class="ph ph-x"></i>
    </button>
  </div>

  <h3>States</h3>
  <div class="demo-row">
    <button class="btn btn-primary btn-md">Default</button>
    <button class="btn btn-primary btn-md is-hover">Hover</button>
    <button class="btn btn-primary btn-md is-active">Active</button>
    <button class="btn btn-primary btn-md" disabled>Disabled</button>
  </div>
  <div class="demo-row">
    <button class="btn btn-secondary btn-md">Default</button>
    <button class="btn btn-secondary btn-md is-hover">Hover</button>
    <button class="btn btn-secondary btn-md is-active">Active</button>
    <button class="btn btn-secondary btn-md" disabled>Disabled</button>
  </div>
  <div class="demo-row">
    <button class="btn btn-tertiary btn-md">Default</button>
    <button class="btn btn-tertiary btn-md is-hover">Hover</button>
    <button class="btn btn-tertiary btn-md is-active">Active</button>
    <button class="btn btn-tertiary btn-md" disabled>Disabled</button>
  </div>
  <div class="demo-row">
    <button class="btn btn-primary btn-md is-loading">
      <i class="ph ph-spinner"></i>
      Loading
    </button>
    <button class="btn btn-secondary btn-md is-loading">
      <i class="ph ph-spinner"></i>
      Loading
    </button>
    <button class="btn btn-tertiary btn-md is-loading">
      <i class="ph ph-spinner"></i>
      Loading
    </button>
  </div>

  <h3>Destructive variants</h3>
  <div class="demo-row">
    <button class="btn btn-danger btn-md">Danger primary</button>
    <button class="btn btn-danger-secondary btn-md">Danger secondary</button>
    <button class="btn btn-danger-tertiary btn-md">Danger tertiary</button>
  </div>

  <h3>Vue buttons</h3>
  <div id="vue-buttons-app" class="vue-mount"></div>
  <script type="module">
    import { createApp } from "vue";
    import { GnButton } from "/vue/index.js";

    createApp({
      components: { GnButton },
      data() {
        return {
          variants: ["primary", "secondary", "accent", "success", "warning", "info", "danger"],
          sizes: ["lg", "md", "sm", "xs", "xxs"]
        };
      },
      template: `
        <div class="demo-row">
          <gn-button v-for="v in variants" :key="v" :variant="v" size="md">{{ v }}</gn-button>
        </div>
        <div class="demo-row">
          <gn-button v-for="s in sizes" :key="s" variant="primary" :size="s">{{ s }}</gn-button>
        </div>
        <div class="demo-row">
          <gn-button variant="primary" icon="ph-plus">With icon</gn-button>
          <gn-button variant="secondary" loading>Loading</gn-button>
          <gn-button variant="tertiary" disabled>Disabled</gn-button>
        </div>
      `
    }).mount("#vue-buttons-app");
  </script>
</section>