Skip to content

コンポーネントリファレンス

すべてのWireweaveコンポーネントの完全なリファレンスと例です。

共通プロパティ (Common Props)

すべてのコンポーネントは以下の共通プロパティをサポートしています。コアタイプシステムから継承され、すべてのコンポーネントで使用できます。

スペーシング (Spacing)

属性タイプ説明
pnumberパディング(全方向)
pxnumber水平パディング
pynumber垂直パディング
ptnumber上パディング
prnumber右パディング
pbnumber下パディング
plnumber左パディング
mnumberマージン(全方向)
mxnumber | auto水平マージン
mynumber垂直マージン
mtnumber上マージン
mrnumber右マージン
mbnumber下マージン
mlnumber左マージン

スペーシング値はトークンスケールを使用します:0=0px、1=4px、2=8px、3=12px、4=16px、5=20px、6=24px、8=32px。明示的な単位も指定できます(例:p=16pxm=2rem)。

サイジング (Sizing)

属性タイプ説明
wnumber | full | auto | screen | fit
hnumber | full | auto | screen高さ
minWnumber最小幅
maxWnumber最大幅
minHnumber最小高さ
maxHnumber最大高さ

フレックス (Flex)

属性タイプ説明
flexboolean | numberフレックス拡大
directionrow | column | row-reverse | column-reverseフレックス方向
justifystart | center | end | between | around | evenly主軸の揃え
alignstart | center | end | stretch | baseline交差軸の揃え
wrapboolean折り返しを許可
gapnumber子要素の間隔

位置 (Position)

属性タイプ説明
xnumberX位置(絶対位置指定)
ynumberY位置(絶対位置指定)

外観 (Appearance)

属性タイプ説明
bgmuted | primary | secondary背景色
borderbooleanボーダー表示

インタラクティブプロパティ (Interactive Props)

以下のコンポーネントはインタラクティブプロパティをサポートしています:buttonlinkcardimageavatarbadgeicon

属性タイプ説明
navigatestring別のページまたはURLに移動
opensstringidでモーダル、ドロワー、またはオーバーレイ要素を開く
togglesstringidで要素の表示/非表示状態を切り替え
actionstringカスタムアクション識別子(例:"submit"、"logout")
wireframe
button "Open Settings" opens="settings-modal"
button "Go Home" navigate="/home"
icon "menu" toggles="sidebar"
card action="select-item" { }

Layout

ページ構造を定義するコンポーネントです。

page

ページルートコンテナ。すべてのレイアウトの出発点です。

wireframe
page "Dashboard" centered {
  // コンテンツ
}
属性タイプ説明
titlestringページタイトル
viewportstringビューポートサイズ(例:"1440x900")
devicestringデバイスプリセット(以下参照)
centeredbooleanコンテンツを中央揃え
p, px, pynumberパディング
gapnumber子要素の間隔

デバイスプリセット:

カテゴリプリセットサイズ説明
デスクトップdesktop-sm1280×800小型ノートPC
desktop1440×900デスクトップ(デフォルト)
desktop-lg1920×1080Full HD
desktop-xl2560×1440QHD
タブレットipad1024×768iPad(横向き)
ipad-portrait768×1024iPad(縦向き)
ipad-pro1366×1024iPad Pro 12.9"
ipad-pro-portrait1024×1366iPad Pro 12.9"(縦向き)
モバイルiphone-se375×667iPhone SE
iphone14390×844iPhone 14
iphone14-pro393×852iPhone 14 Pro
iphone14-pro-max430×932iPhone 14 Pro Max
android360×800Android
android-lg412×915Android Large

ページヘッダー領域。ナビゲーション、ロゴなどを配置します。

wireframe
header border {
  row justify=between {
    title "Logo" level=3
    nav { }
  }
}
属性タイプ説明
borderboolean下部ボーダー
p, px, pynumberパディング
gapnumber子要素の間隔
justifystring主軸の揃え
alignstring交差軸の揃え

main

メインコンテンツ領域。

wireframe
main {
  // メインコンテンツ
}

main scroll {
  // スクロール可能なコンテンツ
}
属性タイプ説明
scrollboolean垂直スクロールを有効化
p, px, pynumberパディング
gapnumber子要素の間隔

ページフッター領域。

wireframe
footer border {
  text "Copyright 2026" muted
}
属性タイプ説明
borderboolean上部ボーダー

サイドバー領域。

wireframe
sidebar position=left w=240 {
  nav vertical { }
}
属性タイプ説明
positionleft | rightサイドバーの位置
wnumber

section

セクション領域。コンテンツを論理的にグループ化します。

wireframe
section title="Settings" expanded {
  // コンテンツ
}
属性タイプ説明
titlestringセクションタイトル
expandedboolean展開状態

Grid

フレックスレイアウト用のコンポーネントです。

row

水平方向のフレックスコンテナ。

wireframe
row gap=4 justify=between align=center {
  button "Cancel" secondary
  button "Submit" primary
}
属性タイプ説明
gapnumber子要素の間隔
justifystart | center | end | between | around | evenly主軸の揃え
alignstart | center | end | stretch | baseline交差軸の揃え
wrapboolean折り返しを許可

col

垂直方向のフレックスコンテナまたはグリッドカラム。

wireframe
row {
  col span=6 { }
  col span=6 { }
}

col scroll {
  // スクロール可能なカラム
}
属性タイプ説明
span1-12グリッドカラム幅
sm, md, lg, xlnumberレスポンシブカラム幅
scrollboolean垂直スクロールを有効化
ordernumberフレックス順序
gapnumber子要素の間隔

stack

垂直スタックコンテナ。各子要素がコンテンツの高さ分だけ占有します(flex: 0 0 auto)。colと異なり、残りのスペースを埋めません。

wireframe
stack gap=4 {
  text "Item 1"
  text "Item 2"
  text "Item 3"
}
属性タイプ説明
gapnumber子要素の間隔
borderbooleanボーダー表示
bgmuted | primary | secondary背景色

relative

絶対位置オーバーレイコンテナ。子要素にxy属性を使用して正確な配置ができます。

wireframe
relative w=300 h=200 {
  image w=full h=full
  badge "New" x=10 y=10
}
属性タイプ説明
wnumber
hnumber高さ

Container

コンテンツをグループ化するコンポーネントです。

card

カードコンポーネント。コンテンツをグループ化して表示します。インタラクティブプロパティをサポートしています。

wireframe
card title="Settings" shadow=md border {
  // コンテンツ
}
属性タイプ説明
titlestringカードタイトル
shadownone | sm | md | lg | xlシャドウサイズ
borderbooleanボーダー表示
pnumberパディング

モーダルダイアログ。オーバーレイ上にコンテンツを表示します。

wireframe
modal "Confirm Delete" id="delete-modal" {
  text "Are you sure?"
  row justify=end gap=2 {
    button "Cancel" secondary
    button "Delete" danger
  }
}
属性タイプ説明
titlestringモーダルタイトル
idstringopens/togglesでターゲットするための一意の識別子
w, hnumber幅、高さ

drawer

ドロワーパネル。画面端からスライドします。

wireframe
drawer "Menu" id="side-menu" position=left {
  nav vertical { }
}
属性タイプ説明
titlestringドロワータイトル
idstringopens/togglesでターゲットするための一意の識別子
positionleft | right | top | bottom位置

accordion

アコーディオン。折りたたみ可能なコンテンツパネルです。

wireframe
accordion "Advanced Settings" {
  // コンテンツ
}
属性タイプ説明
titlestringアコーディオンタイトル

Text

テキストを表示するコンポーネントです。

text

通常のテキストを表示します。

wireframe
text "Regular text"
text "Muted description" muted
text "Important" weight=bold size=lg
text "Large heading" size=3xl align=justify
属性タイプ説明
sizexs | sm | base | md | lg | xl | 2xl | 3xlテキストサイズ
weightnormal | medium | semibold | boldフォントウェイト
alignleft | center | right | justifyテキスト揃え
mutedbooleanミュートスタイル

title

タイトル要素。h1〜h6見出しを表示します。

wireframe
title "Main Title" level=1
title "Subtitle" level=2
title "Section" level=3
属性タイプ説明
level1-6見出しレベル
sizestringテキストサイズ
alignstringテキスト揃え

クリック可能なハイパーリンクを表示します。インタラクティブプロパティをサポートしています。

wireframe
link "Learn more" href="/docs"
link "GitHub" href="https://github.com" external
属性タイプ説明
hrefstringリンクURL
externalboolean外部リンク(新しいタブ)

Input

ユーザー入力を受け取るコンポーネントです。

input

入力フィールド。テキスト、メール、パスワードなどを入力します。

wireframe
input "Email" inputType=email placeholder="Enter email"
input "Password" inputType=password
input "Name" required disabled
属性タイプ説明
labelstringラベルテキスト
inputTypetext | email | password | number | tel | url | search | date入力タイプ
placeholderstringプレースホルダー
valuestringデフォルト値
disabledboolean無効状態
requiredboolean必須入力
readonlyboolean読み取り専用
iconstringアイコン
sizesm | md | lg入力サイズ

textarea

複数行入力フィールド。

wireframe
textarea "Message" placeholder="Enter your message" rows=4
textarea "Bio" value="Hello world" required
属性タイプ説明
labelstringラベルテキスト
placeholderstringプレースホルダー
valuestringデフォルト値
rowsnumber行数
disabledboolean無効状態
requiredboolean必須入力

select

ドロップダウン選択。

wireframe
select "Country" placeholder="国を選択" options=["日本", "アメリカ", "イギリス"]
select "Status" options=["アクティブ", "非アクティブ"] value="アクティブ"
属性タイプ説明
labelstringラベルテキスト
placeholderstringプレースホルダー
optionsarrayオプションリスト
valuestring選択された値
disabledboolean無効状態
requiredboolean必須入力

checkbox

チェックボックス。真偽値を選択します。

wireframe
checkbox "Remember me"
checkbox "I agree to terms" checked
属性タイプ説明
labelstringラベルテキスト
checkedbooleanチェック状態
disabledboolean無効状態

radio

ラジオボタン。グループ内で1つを選択します。

wireframe
radio "Option A" name="options"
radio "Option B" name="options" checked
属性タイプ説明
labelstringラベルテキスト
namestringグループ名
checkedboolean選択状態
disabledboolean無効状態

switch

トグルスイッチ。オン/オフ状態を切り替えます。

wireframe
switch "Dark mode"
switch "Notifications" checked
属性タイプ説明
labelstringラベルテキスト
checkedbooleanアクティブ状態
disabledboolean無効状態

slider

スライダー。範囲内の値を選択します。

wireframe
slider "Volume" min=0 max=100 value=50
属性タイプ説明
labelstringラベルテキスト
minnumber最小値
maxnumber最大値
valuenumber現在値
stepnumberステップ増分
disabledboolean無効状態

button

ボタン要素。クリック可能なボタンを表示します。インタラクティブプロパティをサポートしています。

wireframe
button "Submit" primary
button "Cancel" secondary
button "Delete" danger outline
button "Loading..." primary loading
属性タイプ説明
primarybooleanプライマリ強調スタイル
secondarybooleanセカンダリスタイル
outlinebooleanアウトラインスタイル
ghostbooleanゴースト/透明スタイル
dangerboolean危険/削除スタイル
sizexs | sm | md | lg | xlボタンサイズ
iconstringアイコン
disabledboolean無効状態
loadingbooleanローディング状態

Display

ビジュアル要素を表示するコンポーネントです。

image

画像を表示します。インタラクティブプロパティをサポートしています。

wireframe
image src="/photo.jpg" alt="Photo" w=200 h=150
属性タイプ説明
srcstring画像ソースURL
altstring代替テキスト
wnumber
hnumber高さ

placeholder

画像やコンテンツのプレースホルダーです。

wireframe
placeholder "Image" w=300 h=200
属性タイプ説明
labelstringラベルテキスト
wnumber
hnumber高さ

avatar

ユーザープロフィール画像を表示します。インタラクティブプロパティをサポートしています。

wireframe
avatar "John Doe"
avatar "JD" size=lg src
属性タイプ説明
namestring名前(イニシャル生成)
srcboolean画像表示
sizexs | sm | md | lg | xl | numberサイズ

badge

ステータスやカウントを小さなラベルで表示します。インタラクティブプロパティをサポートしています。

wireframe
badge "New"
badge "Active" variant=success
badge "3" variant=danger pill
badge "!" anchor=top-right
属性タイプ説明
variantdefault | primary | secondary | success | warning | danger | infoスタイルバリアント
pillboolean丸みのある角
iconstringアイコン
sizexs | sm | md | lgサイズ
anchortop-left | top-right | bottom-left | bottom-right | ...オーバーレイコンテナ内のアンカー位置

icon

アイコンを表示します。インタラクティブプロパティをサポートしています。

wireframe
icon "home"
icon "settings" size=lg muted
属性タイプ説明
namestringアイコン名
sizexs | sm | md | lg | xl | numberサイズ
mutedbooleanミュートスタイル

divider

区切り線要素。コンテンツを視覚的に分離します。

wireframe
divider
divider my=4
divider vertical
属性タイプ説明
verticalboolean垂直方向
m, my, mxnumberマージン

Data

データを表示するコンポーネントです。

table

テーブルコンポーネント。データを表形式で表示します。

簡潔構文(配列の配列):

wireframe
table [["Name", "Email", "Role"], ["John", "john@example.com", "Admin"], ["Jane", "jane@example.com", "User"]]

ブロック構文(columns + row):

wireframe
table striped hover bordered {
  columns ["Name", "Email", "Role"]
  row ["John", "john@example.com", "Admin"]
  row ["Jane", "jane@example.com", "User"]
}
属性タイプ説明
columnsarrayカラムヘッダー
stripedbooleanストライプ行
borderedbooleanボーダースタイル
hoverbooleanホバー効果

list

リストコンポーネント。項目をリストとして表示します。

配列構文

wireframe
list ["Apple", "Banana", "Cherry"]
list ["First", "Second", "Third"] ordered

ブロック構文(ネスト対応):

wireframe
list {
  item "Fruits" {
    item "Apple"
    item "Banana"
  }
  item "Vegetables" {
    item "Carrot"
    item "Potato"
  }
}
属性タイプ説明
orderedboolean順序付きリスト
nonebooleanリストスタイルなし
gapnumber項目の間隔

Feedback

ユーザーにフィードバックを提供するコンポーネントです。

alert

アラート要素。ユーザーにメッセージを表示します。

wireframe
alert "Operation successful" variant=success
alert "Please check your input" variant=warning
alert "An error occurred" variant=danger dismissible
属性タイプ説明
variantsuccess | warning | danger | infoスタイルバリアント
dismissibleboolean閉じることができる
iconstringアイコン

toast

トースト通知。一時的なメッセージを表示します。

wireframe
toast "Saved!" position=top-right variant=success
属性タイプ説明
positiontop-left | top-center | top-right | bottom-left | bottom-center | bottom-right位置
variantsuccess | warning | danger | infoスタイルバリアント

progress

プログレスバー。進行状況を表示します。

wireframe
progress value=75
progress value=50 label="Uploading..."
progress indeterminate
属性タイプ説明
valuenumber進行値(0-100)
maxnumber最大値
labelstringラベルテキスト
indeterminateboolean不確定状態

spinner

ローディングスピナー。ローディング状態を表示します。

wireframe
spinner
spinner size=lg label="Loading..."
属性タイプ説明
sizexs | sm | md | lg | xl | numberサイズ
labelstringラベルテキスト

Overlay

オーバーレイUIコンポーネントです。

tooltip

ツールチップ要素。ホバー時に追加情報を表示します。

wireframe
tooltip "Click to save" position=top {
  button "Save" primary
}
属性タイプ説明
contentstringツールチップ内容
positiontop | right | bottom | left位置

popover

ポップオーバー。クリック時に追加コンテンツを表示します。

wireframe
popover title="Options" {
  // コンテンツ
}
属性タイプ説明
titlestringポップオーバータイトル

ドロップダウンメニュー。クリック時にメニューが展開します。

配列構文

wireframe
dropdown ["Edit", "Delete", "---", "Cancel"]

"---"を使用して項目間に区切り線を挿入します。

ブロック構文(icon、href、danger、disabled対応):

wireframe
dropdown {
  item "Edit" icon="edit"
  item "Duplicate" icon="copy"
  divider
  item "Delete" icon="trash" danger
}
属性タイプ説明
itemsarrayメニュー項目

項目属性(ブロック構文):

属性タイプ説明
labelstring項目ラベル
iconstring項目アイコン
hrefstringリンクURL
dangerboolean危険スタイル
disabledboolean無効状態

ナビゲーションコンポーネントです。

ナビゲーション領域。メニュー項目を配置します。

配列構文

wireframe
nav ["Home", "About", "Contact"]

ブロック構文(グループ、区切り線、アイコン、アクティブ状態対応):

wireframe
nav vertical {
  group "Main" {
    item "Dashboard" icon="home" active
    item "Settings" icon="settings"
  }
  divider
  group "Tools" {
    item "Analytics" icon="chart"
    item "Reports" icon="file"
  }
}
属性タイプ説明
verticalboolean垂直方向
gapnumber項目の間隔
itemsarrayナビゲーション項目(配列構文)

項目属性(ブロック構文):

属性タイプ説明
labelstring項目ラベル
iconstring項目アイコン
hrefstringリンクURL
activebooleanアクティブ状態
disabledboolean無効状態

tabs

タブコンポーネント。複数のパネルをタブで切り替えます。

配列 + ブロック構文

wireframe
tabs ["General", "Security", "Notifications"] active=0 {
  tab "General" {
    text "General settings content"
  }
  tab "Security" {
    text "Security settings content"
  }
  tab "Notifications" {
    text "Notification preferences"
  }
}
属性タイプ説明
itemsarrayタブラベル
activenumberアクティブタブインデックス

パンくずリスト。現在の位置をパスとして表示します。

配列構文

wireframe
breadcrumb ["Home", "Products", "Detail"]
属性タイプ説明
itemsarrayパンくず項目(文字列または{label, href})

Annotation

ワイヤーフレームを番号マーカーと説明パネルで文書化するコンポーネントです。

marker

番号マーカーオーバーレイ。UI要素に配置してアノテーションパネルで参照します。

wireframe
marker 1
marker 2 color=blue
marker 3 anchor=top-right color=red
属性タイプ説明
colorblue | red | green | yellow | purple | orangeマーカーの色
anchortop-left | top-center | top-right | center-left | center | center-right | bottom-left | bottom-center | bottom-rightrelativeコンテナ内の位置

annotations

アノテーションパネルコンテナ。item子要素と共に詳細な説明を含みます。

wireframe
annotations title="画面説明" {
  item 1 "ログインボタン" {
    text "OAuth連携予定"
  }
  item 2 "パスワードフィールド" {
    text "最低8文字以上必要"
  }
}
属性タイプ説明
titlestringパネルタイトル

item

個別アノテーション項目。annotationsの子要素としてマーカー番号とタイトルを持ちます。

wireframe
item 1 "ボタン説明" {
  text "詳細な説明内容"
  text "追加の注記" muted
}

Released under the MIT License.