Newer
Older
vmk-ui-kit / demo / partials / step-cards.html
@Eugene Sukhodolskiy Eugene Sukhodolskiy 20 hours ago 3 KB so many changes
<section class="demo-section" aria-labelledby="step-cards-heading">
  <h2 id="step-cards-heading">Step & Scheduled Campaign Cards</h2>
  <p>Step progress cards from <em>Card - Step</em> and scheduled campaign cards from <em>Card - Scheduled Campaign</em> Figma frames.</p>

  <div class="demo-row" style="align-items: flex-start;">
    <article class="step-card">
      <span class="step-card__badge">Step 1</span>
      <h3 class="step-card__title">Define Your Audience Goals</h3>
      <p class="step-card__description">Tell us your focus — we’ll shape your contact list and segments.</p>
      <button class="step-card__action step-card__action--done" type="button">
        <i class="ph ph-check-circle"></i> Done
      </button>
    </article>

    <article class="step-card">
      <span class="step-card__badge">Step 1</span>
      <h3 class="step-card__title">Define Your Audience Goals</h3>
      <p class="step-card__description">Tell us your focus — we’ll shape your contact list and segments.</p>
      <button class="step-card__action" type="button">Get started</button>
    </article>

    <article class="scheduled-campaign-card scheduled-campaign-card--scheduled">
      <h3 class="scheduled-campaign-card__title">Summer Sale 2025</h3>
      <p class="scheduled-campaign-card__meta">Email • All subscribers</p>
    </article>

    <article class="scheduled-campaign-card scheduled-campaign-card--draft">
      <h3 class="scheduled-campaign-card__title">Summer Sale 2025</h3>
      <p class="scheduled-campaign-card__meta">Email • All subscribers</p>
    </article>
  </div>

  <h3>Vue step & scheduled campaign cards</h3>
  <div id="vue-step-card-app" class="vue-mount"></div>
  <script type="module">
    import { createApp } from "vue";
    import { GnStepCard, GnScheduledCampaignCard } from "/vue/index.js";

    createApp({
      components: { GnStepCard, GnScheduledCampaignCard },
      data() {
        return {
          stepDone: {
            step: 1,
            total: 6,
            title: "Define Your Audience Goals",
            description: "Tell us your focus — we’ll shape your contact list and segments.",
            done: true,
            actionLabel: "Done"
          },
          stepDefault: {
            step: 1,
            total: 6,
            title: "Define Your Audience Goals",
            description: "Tell us your focus — we’ll shape your contact list and segments."
          },
          scheduled: {
            title: "Summer Sale 2025",
            status: "scheduled",
            meta: ["Email", "All subscribers"]
          },
          draft: {
            title: "Summer Sale 2025",
            status: "draft",
            meta: ["Email", "All subscribers"]
          }
        };
      },
      template: `
        <div class="demo-row" style="align-items: flex-start;">
          <gn-step-card v-bind="stepDone" />
          <gn-step-card v-bind="stepDefault" />
          <gn-scheduled-campaign-card v-bind="scheduled" />
          <gn-scheduled-campaign-card v-bind="draft" />
        </div>
      `
    }).mount("#vue-step-card-app");
  </script>
</section>