Transfer

2つのリスト間でアイテムを移動させる転送コンポーネントです。権限の割り当てやカテゴリの移動に使用します。

Basic

jui-transfer の最も基本的な使用例です。

With Titles

source-titletarget-title でパネルのタイトルを設定できます。

show-search を有効にすると、各パネルに検索ボックスが表示されます。

Disabled

disabled で全体を無効にできます。

アクセシビリティ

  • WAI-ARIA:
    • 各パネルには適切な rolearia-label が設定されています。
    • 移動ボタンには aria-labelmove-left-label / move-right-label)でラベルを設定できます。
  • キーボードナビゲーション:
    • Tab で各パネルや操作ボタン間を移動できます。
    • Space でチェックボックスを切り替えられます。
    • Enter で移動ボタンを実行できます。

CSS カスタムプロパティ

このコンポーネント固有のカスタムプロパティはありません。グローバルのデザイントークン(--jui-color-border, --jui-color-surface, --jui-color-brand 等)を参照して描画されます。

ブラウザ対応

このコンポーネントが使用しているブラウザ機能と対応状況です。

機能用途ChromeFirefoxSafariステータス
CSS Flexboxレイアウト制御29+28+9+Baseline 2015
CSS 変数 (var())デザイントークン・カラー適用49+31+9.1+Baseline 2017

💡 いずれの機能も主要ブラウザで広く対応済みです。

関連コンポーネント

  • Table — テーブル表示
  • Checkbox — チェックボックス
  • Button — アクションボタン

プロパティ

コンポーネントが受け付ける属性(Props)の一覧と詳細仕様です。

PropertyAttributeDescriptionTypeDefault
dataSourcedata-sourceソースデータ(JSON文字列 or 配列)TransferItem[] | string'[]'
disableddisabled全体の無効状態booleanfalse
moveLeftLabelmove-left-label左移動ボタンのラベルstring'Move left'
moveRightLabelmove-right-label右移動ボタンのラベルstring'Move right'
searchPlaceholdersearch-placeholder検索プレースホルダーstring'Search'
showSearchshow-search検索ボックスの表示booleanfalse
sourceTitlesource-titleソース列タイトルstring'Source'
targetKeystarget-keysターゲットキー(JSON文字列 or 配列)string | string[]'[]'
targetTitletarget-titleターゲット列タイトルstring'Target'

イベント

コンポーネントから発火するカスタムイベントの一覧です。

EventDescriptionType
juiChange転送時に発火CustomEvent<{ targetKeys: string[]; direction: "left" | "right"; moveKeys: string[]; }>
juiSearch検索時に発火CustomEvent<{ direction: "left" | "right"; value: string; }>

シャドウパーツ

CSSから直接スタイリング可能な内部要素(Parts)の一覧です。

PartDescription
"header"パネルヘッダー
"move-btn"移動ボタン(左右の両方)
"panel"左右のリストパネル

Built with StencilJS