diff --git a/docs/packages/ui-inputs.md b/docs/packages/ui-inputs.md index 08fc5b5..08789a1 100644 --- a/docs/packages/ui-inputs.md +++ b/docs/packages/ui-inputs.md @@ -292,6 +292,8 @@ The default slot receives `{controlId, errorId, required, invalid, describedby}` | `DateInput` | `min`, `max` (ISO `YYYY-MM-DD`) | `string \| null` | `''` | | `Textarea` | `rows`, `placeholder` | `string \| null` | `''` | +**IME input.** `TextInput` and `Textarea` follow Vue's own `v-model` on a text field: while an input method (Japanese, Chinese, Korean, …) is composing, the candidate `input` events emit nothing, and the composed value is emitted once on `compositionend`. Swapping a native `v-model` for one of these controls does not hand you every candidate. + See [Nullable values](#nullable-values) for why the models are nullable and what each input emits when cleared. ### The select family @@ -305,7 +307,7 @@ See [Nullable values](#nullable-values) for why the models are nullable and what | `id` | `string` | — | Required. Pairs the trigger with a label/error | | `placeholder` | `string` | `'Select…'` | | | `disabled` | `boolean` | `false` | | -| `alphabeticalSort` | `boolean` | `true` | Sorts rendered options by display string | +| `alphabeticalSort` | `boolean` | `false` | Sorts rendered options by display string; off keeps caller order | | `required` | `boolean` | `false` | Conveyed via `aria-required` | | `invalid` | `boolean` | `false` | Invalid styling + `aria-invalid` | | `describedby` | `string` | — | Id of the paired error element | @@ -437,7 +439,7 @@ The **`as` escape hatch is discouraged**. Where a button genuinely cannot be use ### Attribute fall-through -Props the components do not declare — `name`, `autocomplete`, `inputmode`, `data-*`, … — fall through to the underlying native control via Vue's attribute inheritance. You do not need a declared prop to make a field participate in autofill or a native form post. (`Checkbox` and `Switch` re-aim attrs at the native **input** — their root is the wrapping `