Skip to content
Built for Shopify のデザインを。 すぐに使えます。

Shopify Polaris.
Vue 3 で型付きに。

Shopify の Polaris web components(s-button, s-text-field, s-modal、...)をラップした型付き Vue 3 コンポーネント。Vue 専用のデザインシステムを別途学ぶ必要はありません。

<STextField v-model="name" />
<SButton variant="primary">Save</SButton>

Shopify Polaris 向け Vue 3 wrapper

Polaris のすべてを。学び直しは不要。

62

型付きの props と events

すべての wrapper の props と events は Shopify 公式の Custom Elements Manifest から生成されるため、実際のコンポーネント API と一致する補完と型チェックが得られます。

17

17 個のフォームコンポーネントで v-model

テキストフィールド、チェックボックス、スイッチ、セレクト、選択リスト、日付ピッカーなどが、最初から v-model に対応しています。各要素に対応する正しい prop と event の組み合わせにマッピングされます。

壊れずに縮退する

未知の props は $attrs を通じてそのまま渡され、スロットの内容もそのまま転送されます。古いバージョンの wrapper でも既存のコードが壊れることはなく、新しい機能の型がないだけです。

マニフェストと同期

コンポーネントと型の定義は Shopify の Custom Elements Manifest から直接生成されるため、wrapper は CDN 上の Polaris runtime と常に一致します。

Vue のための型付き Polaris web components ​

Shopify の Polaris web components (<s-button>、<s-text-field>、<s-modal> など)はどのフレームワークでも動作しますが、Vue の テンプレートでは型のないカスタム要素にすぎません。補完も、prop のチェックも、v-model もありません。 polaris-vue-elements は、Shopify の Custom Elements Manifest から生成した薄い Vue 3 コンポーネントで 各要素をラップします。Polaris runtime はこれまでどおり Shopify の CDN から読み込まれます。

vue
<script setup lang="ts">
import { ref } from 'vue'
import { SButton, STextField } from 'polaris-vue-elements'

const name = ref('')
</script>

<template>
  <STextField v-model="name" label="Store name" />
  <SButton variant="primary">Save</SButton>
</template>

すべてのコンポーネント ​

MIT ライセンスの下で公開されています。Vue ロゴは Evan You によるもの(CC BY-NC-SA 4.0)。