Editable
fandhe-frontend-pre-styled-ui の editable mod が提供するスタイル済み Editable 部品です。
関連 API: fandhe-frontend-pre-styled-ui API / fandhe-frontend-headless-ui API
Demo
preview/edit の 2 モードを切り替えるインプレース編集。input/preview は data-* と hidden 属性で排他表示されます。
Ada Lovelace
Grace Hopper
Locked value
Features
- `size` variant クラスを `root` へ付与し、headless-ui の `editable::root` へ委譲する。
- `mode`(`EditMode::Preview`/`Edit`)・`activation_mode`・`submit_mode` の各軸をそのまま引数で受け取る。
Anatomy
root
label
area
input
preview
control
edit-trigger
submit-trigger
cancel-triggerAPI Reference
Arguments
| Name | Type | Default | Description |
|---|---|---|---|
| size | Size | Size::Md | サイズ variant。 |
| mode | EditMode | EditMode::Preview | プレビュー/編集の表示モード。 |
| disabled | bool | false | 無効化状態。 |
| readonly | bool | false | 読み取り専用状態。 |
| activation_mode | EditableActivationMode | EditableActivationMode::default() | 編集モードへの遷移トリガー(クリック/ダブルクリック等)。 |
| submit_mode | EditableSubmitMode | EditableSubmitMode::default() | 確定操作(Enter/blur 等)の種別。 |
| attrs | Vec<(&str, &str)> | root パーツへ合成する追加属性。 | |
| children | Vec<Node> | root 配下の子ノード。 |
Data Attributes
| Part | Attribute | Observed Values |
|---|---|---|
| area | data-state | edit, preview |
| cancel-trigger | data-state | edit |
| control | data-state | edit, preview |
| edit-trigger | data-disabled | |
| edit-trigger | data-state | preview |
| input | data-disabled | |
| input | data-state | edit, preview |
| label | data-disabled | |
| label | data-state | edit, preview |
| preview | data-state | edit, preview |
| root | data-activation-mode | focus |
| root | data-disabled | |
| root | data-state | edit, preview |
| root | data-submit-mode | both |
| submit-trigger | data-state | edit |
CSS Variables
| Variable | Default |
|---|---|
| --fandhe-editable-font-size | var(--fandhe-font-font-size-sm) |