Newer
Older
vmk-ui-kit / demo / partials / element-card.html
@Eugene Sukhodolskiy Eugene Sukhodolskiy 20 hours ago 2 KB so many changes
<section class="demo-section" aria-labelledby="element-card-heading">
  <h2 id="element-card-heading">Element Card</h2>
  <p>Compact icon-label tiles from the <em>Element Card</em> Figma frame.</p>

  <div class="demo-row" style="gap: 16px; align-items: flex-start;">
    <button class="element-card" type="button">
      <span class="element-card__icon"><i class="ph ph-heart"></i></span>
      <span class="element-card__label">Улюблене</span>
    </button>
    <button class="element-card is-selected" type="button">
      <span class="element-card__icon"><i class="ph ph-copy"></i></span>
      <span class="element-card__label">Від ріелторів</span>
    </button>
    <button class="element-card" type="button">
      <span class="element-card__badge">Pro</span>
      <span class="element-card__icon"><i class="ph ph-shield"></i></span>
      <span class="element-card__label">Приватність</span>
    </button>
    <button class="element-card" type="button">
      <span class="element-card__icon"><i class="ph ph-house"></i></span>
      <span class="element-card__label">Мої об'єкти</span>
    </button>
    <button class="element-card" type="button">
      <span class="element-card__icon"><i class="ph ph-clock-counter-clockwise"></i></span>
      <span class="element-card__label">Лід-радар</span>
    </button>
    <button class="element-card" type="button">
      <span class="element-card__icon"><i class="ph ph-users"></i></span>
      <span class="element-card__label">Мої клієнти</span>
    </button>
  </div>

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

    createApp({
      components: { GnElementCard },
      data() {
        return {
          selected: "agents",
          items: [
            { label: "Улюблене", icon: "ph-heart", key: "favorites" },
            { label: "Від ріелторів", icon: "ph-copy", key: "agents" },
            { label: "Приватність", icon: "ph-shield", key: "privacy", badge: "Pro" },
            { label: "Мої об'єкти", icon: "ph-house", key: "objects" },
            { label: "Лід-радар", icon: "ph-clock-counter-clockwise", key: "radar" },
            { label: "Мої клієнти", icon: "ph-users", key: "clients" }
          ]
        };
      },
      template: `
        <div style="display: flex; gap: 16px; align-items: flex-start;">
          <gn-element-card
            v-for="item in items"
            :key="item.key"
            :label="item.label"
            :icon="item.icon"
            :badge="item.badge"
            :selected="selected === item.key"
            @select="selected = item.key"
          />
        </div>
      `
    }).mount("#vue-element-card-app");
  </script>
</section>