@rak200/ui 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,21 +29,12 @@ npm install @rak200/ui
29
29
  import '@rak200/ui';
30
30
  </script>
31
31
 
32
- <ui-field>
33
- <label slot="label">Amount</label>
34
- <ui-input><input type="number" name="amount" /></ui-input>
35
- <span slot="help">In BRL, two decimals.</span>
36
- </ui-field>
37
-
38
- <ui-field>
39
- <label slot="label">Currency</label>
40
- <ui-select>
41
- <select name="currency">
42
- <option value="brl">Real</option>
43
- <option value="usd">Dollar</option>
44
- </select>
45
- </ui-select>
46
- </ui-field>
32
+ <ui-input label="Amount" help="In BRL, two decimals." type="number" name="amount"></ui-input>
33
+
34
+ <ui-select label="Currency" name="currency">
35
+ <ui-option value="brl">Real</ui-option>
36
+ <ui-option value="usd">Dollar</ui-option>
37
+ </ui-select>
47
38
 
48
39
  <ui-switch label="Email notifications" name="notify" checked></ui-switch>
49
40
 
@@ -86,9 +77,10 @@ schemes rather than one.
86
77
 
87
78
  ## Status
88
79
 
89
- **v0.** Seventeen components — `<ui-button>`, `<ui-card>`, `<ui-field>`, `<ui-dialog>`, `<ui-input>`,
90
- `<ui-textarea>`, `<ui-checkbox>`, `<ui-switch>`, `<ui-select>`, `<ui-radio-group>`, `<ui-radio>`,
91
- `<ui-tooltip>`, `<ui-toaster>`, `<ui-toast>`, `<ui-menu>`, `<ui-table>` and `<ui-icon>` — the token layer
80
+ **v0.** Nineteen components — `<ui-button>`, `<ui-card>`, `<ui-field>`, `<ui-dialog>`, `<ui-input>`,
81
+ `<ui-textarea>`, `<ui-checkbox>`, `<ui-switch>`, `<ui-select>`, `<ui-option>`, `<ui-optgroup>`,
82
+ `<ui-radio-group>`, `<ui-radio>`, `<ui-tooltip>`, `<ui-toaster>`, `<ui-toast>`, `<ui-menu>`,
83
+ `<ui-table>` and `<ui-icon>` — the token layer
92
84
  under them, and an adopted glyph set, built to the ecosystem's full quality bar rather than
93
85
  sketched: type-checked at the strictest available setting, formatted, tested in a real browser and
94
86
  **asserted against axe** for WCAG A/AA, 100% coverage and **100% mutation score**, scanned, and
package/dist/field.d.ts CHANGED
@@ -6,9 +6,11 @@ import { LitElement, type TemplateResult } from 'lit';
6
6
  * Written once here rather than per control that needs it, because copies of one wiring are
7
7
  * copies of one chance to get it subtly wrong.
8
8
  *
9
- * **`<ui-checkbox>` and `<ui-switch>` are not among them any more.** They render their label,
10
- * their message and their `aria-invalid` beside the control, in one tree scope, so there is
11
- * nothing scattered here to point at anything — see `docs/checkbox.md`.
9
+ * **None of this package's own form controls are among them any more.** `<ui-checkbox>`,
10
+ * `<ui-switch>`, `<ui-input>`, `<ui-textarea>` and `<ui-select>` each render their label, their
11
+ * message and their `aria-invalid` beside the control, in one tree scope, so there is nothing
12
+ * scattered here to point at anything. What is left is a control the host wrote, and
13
+ * {@link UiRadioGroup}, which is named by reference rather than by containment.
12
14
  *
13
15
  * **Everything is slotted, and that is forced rather than chosen.** An ARIA relationship
14
16
  * by IDREF does not cross a shadow boundary: a `<label for>` rendered in this element's
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../src/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAMjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,OAAQ,SAAQ,UAAU;;IACnC,gBAAyB,MAAM,0BAuB7B;IAeO,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAK5B,YAAY,IAAI,IAAI;IAIpB,MAAM,IAAI,cAAc;CAmLpC;AAQD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,UAAU,EAAE,OAAO,CAAC;KACvB;CACJ"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../src/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAMjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,OAAQ,SAAQ,UAAU;;IACnC,gBAAyB,MAAM,0BAuB7B;IAeO,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAK5B,YAAY,IAAI,IAAI;IAIpB,MAAM,IAAI,cAAc;CAmLpC;AAQD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,UAAU,EAAE,OAAO,CAAC;KACvB;CACJ"}
package/dist/field.js CHANGED
@@ -9,9 +9,11 @@ let sequence = 0;
9
9
  * Written once here rather than per control that needs it, because copies of one wiring are
10
10
  * copies of one chance to get it subtly wrong.
11
11
  *
12
- * **`<ui-checkbox>` and `<ui-switch>` are not among them any more.** They render their label,
13
- * their message and their `aria-invalid` beside the control, in one tree scope, so there is
14
- * nothing scattered here to point at anything — see `docs/checkbox.md`.
12
+ * **None of this package's own form controls are among them any more.** `<ui-checkbox>`,
13
+ * `<ui-switch>`, `<ui-input>`, `<ui-textarea>` and `<ui-select>` each render their label, their
14
+ * message and their `aria-invalid` beside the control, in one tree scope, so there is nothing
15
+ * scattered here to point at anything. What is left is a control the host wrote, and
16
+ * {@link UiRadioGroup}, which is named by reference rather than by containment.
15
17
  *
16
18
  * **Everything is slotted, and that is forced rather than chosen.** An ARIA relationship
17
19
  * by IDREF does not cross a shadow boundary: a `<label for>` rendered in this element's
package/dist/field.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../src/field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../src/field.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { UiIcon, register } from './icon.js';
7
7
  export { UiInput, UiTextarea } from './input.js';
8
8
  export { UiMenu } from './menu.js';
9
9
  export { UiRadio, UiRadioGroup, type RadioOrientation } from './radio.js';
10
- export { UiSelect } from './select.js';
10
+ export { UiOptgroup, UiOption, UiSelect } from './select.js';
11
11
  export { UiTable } from './table.js';
12
12
  export { UiToast, UiToaster, type ToastVariant } from './toast.js';
13
13
  export { UiTooltip } from './tooltip.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACH,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,EACf,KAAK,KAAK,EACV,KAAK,YAAY,GACpB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACH,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,EACf,KAAK,KAAK,EACV,KAAK,YAAY,GACpB,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ export { UiIcon, register } from './icon.js';
7
7
  export { UiInput, UiTextarea } from './input.js';
8
8
  export { UiMenu } from './menu.js';
9
9
  export { UiRadio, UiRadioGroup } from './radio.js';
10
- export { UiSelect } from './select.js';
10
+ export { UiOptgroup, UiOption, UiSelect } from './select.js';
11
11
  export { UiTable } from './table.js';
12
12
  export { UiToast, UiToaster } from './toast.js';
13
13
  export { UiTooltip } from './tooltip.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAyB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACH,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,GAGlB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAyB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACH,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,GAGlB,MAAM,aAAa,CAAC"}
package/dist/input.d.ts CHANGED
@@ -1,57 +1,354 @@
1
- import { LitElement, type CSSResult, type TemplateResult } from 'lit';
1
+ import { LitElement, nothing, type CSSResult, type TemplateResult } from 'lit';
2
2
  /**
3
- * A styled native form control.
3
+ * A styled native form control, and the wiring that used to sit around it.
4
4
  *
5
- * The control is the host's own, slotted in rather than rendered here, and that is the
6
- * single decision this component is made of. {@link UiInput} and {@link UiTextarea} carry
7
- * the appearance; the element inside carries everything else.
5
+ * **The control is this element's**, rendered into its shadow root together with its
6
+ * label, its help text and its message — so the IDREFs resolve in one tree scope and
7
+ * `<ui-field>` has nothing left to point at. What a host writes is the tag and its
8
+ * attributes.
9
+ *
10
+ * **The element is the form control**, through `ElementInternals`: an `<input>` in a
11
+ * shadow root has no form owner, so the value reaches a submit because this element passes
12
+ * it on. **Constraint validation is not reimplemented** — the inner control still computes
13
+ * its own, `type="email"` and `min` and `pattern` included, and this element hands the
14
+ * whole `ValidityState` over with the message the engine wrote. Measured: a bad address
15
+ * reports `typeMismatch` with the browser's own wording.
8
16
  */
9
- declare class UiControl extends LitElement {
10
- render(): TemplateResult;
17
+ declare class UiTextField extends LitElement {
18
+ #private;
19
+ static readonly formAssociated = true;
20
+ /**
21
+ * Focus is delegated, so `focus()` and `reportValidity()` reach the control.
22
+ *
23
+ * Neither is optional: the host is not a focusable element, and the second is what the
24
+ * browser calls itself when a form with an invalid control is submitted. Measured, on
25
+ * `<ui-checkbox>` first.
26
+ */
27
+ static readonly shadowRootOptions: {
28
+ delegatesFocus: boolean;
29
+ clonable?: boolean;
30
+ customElementRegistry?: CustomElementRegistry | null;
31
+ mode: ShadowRootMode;
32
+ serializable?: boolean;
33
+ slotAssignment?: SlotAssignmentMode;
34
+ };
35
+ static readonly properties: {
36
+ label: {
37
+ type: StringConstructor;
38
+ reflect: boolean;
39
+ };
40
+ help: {
41
+ type: StringConstructor;
42
+ reflect: boolean;
43
+ };
44
+ error: {
45
+ type: StringConstructor;
46
+ reflect: boolean;
47
+ };
48
+ name: {
49
+ type: StringConstructor;
50
+ reflect: boolean;
51
+ };
52
+ value: {
53
+ type: StringConstructor;
54
+ };
55
+ placeholder: {
56
+ type: StringConstructor;
57
+ reflect: boolean;
58
+ };
59
+ autocomplete: {
60
+ type: StringConstructor;
61
+ reflect: boolean;
62
+ };
63
+ minlength: {
64
+ type: StringConstructor;
65
+ reflect: boolean;
66
+ };
67
+ maxlength: {
68
+ type: StringConstructor;
69
+ reflect: boolean;
70
+ };
71
+ required: {
72
+ type: BooleanConstructor;
73
+ reflect: boolean;
74
+ };
75
+ disabled: {
76
+ type: BooleanConstructor;
77
+ reflect: boolean;
78
+ };
79
+ readonly: {
80
+ type: BooleanConstructor;
81
+ reflect: boolean;
82
+ };
83
+ };
84
+ /**
85
+ * The accessible name, and the text above the control.
86
+ *
87
+ * A plain field rather than the `accessor` keyword, for the reason `src/button.ts`
88
+ * gives beside its own — and so for every property below.
89
+ */
90
+ label: string;
91
+ /** Supporting text under the control, which survives an error rather than yielding. */
92
+ help: string;
93
+ /** The message, which paints the boundary and is announced with the control. */
94
+ error: string;
95
+ /**
96
+ * The name the value is submitted under.
97
+ *
98
+ * **Reflected, and that is a requirement rather than a convenience.** A form names a
99
+ * form-associated custom element's entry from the content attribute, so a host who set
100
+ * only the property would submit nothing at all — silently.
101
+ */
102
+ name: string;
103
+ /**
104
+ * What the control holds.
105
+ *
106
+ * **Not reflected**, the way a native control's `value` IDL attribute is not: the
107
+ * content attribute is the *default* a reset returns to, and one that followed every
108
+ * keystroke would make the default whatever was last typed.
109
+ */
110
+ value: string;
111
+ /** The hint inside an empty control, which is never a substitute for the label. */
112
+ placeholder: string;
113
+ /** What the browser may fill this with. Empty means the attribute is not written. */
114
+ autocomplete: string;
115
+ /** The shortest accepted value, as the attribute spells it. */
116
+ minlength: string;
117
+ /** The longest accepted value, likewise. */
118
+ maxlength: string;
119
+ /** Whether a form is invalid while the control is empty. */
120
+ required: boolean;
121
+ /** Whether the control refuses interaction, and submits nothing. */
122
+ disabled: boolean;
123
+ /** Whether the control shows a value it will not let you change. */
124
+ readonly: boolean;
125
+ /**
126
+ * The value and the validity, which move together here or disagree anywhere.
127
+ *
128
+ * **Iterated rather than asserted**, and there is exactly one control to iterate:
129
+ * `render()` puts it there unconditionally. Written as a query and a null check, the
130
+ * check would be a branch no test could reach — which is a coverage hole and an
131
+ * immortal mutant at once, rather than safety. A loop over what was rendered is total.
132
+ */
133
+ updated(): void;
134
+ /**
135
+ * Mirrors what the person typed back into the property it came from.
136
+ *
137
+ * `input` is composed and leaves the shadow root on its own, retargeted to this
138
+ * element; `change` is not, so the one the control fires stops at the boundary and is
139
+ * re-dispatched. Measured on `<ui-checkbox>`, and the same both times.
140
+ */
141
+ protected readonly typed: (event: Event) => void;
142
+ protected readonly changed: () => void;
143
+ /**
144
+ * A form reset, which returns to the content attribute — `defaultValue` exactly, and
145
+ * a usable default only because `value` is not reflected onto it.
146
+ */
147
+ formResetCallback(): void;
148
+ /** A `<fieldset disabled>` above this element, which reaches it and nothing below. */
149
+ formDisabledCallback(disabled: boolean): void;
150
+ /** Restoring after a back-navigation, where the browser hands the value back. */
151
+ formStateRestoreCallback(state: string | null): void;
152
+ /** The form this element participates in, for a host that needs it. */
153
+ get form(): HTMLFormElement | null;
154
+ /** Whether the control currently satisfies its constraints. */
155
+ get validity(): ValidityState;
156
+ /** The message a form would report for it, empty while the control is valid. */
157
+ get validationMessage(): string;
158
+ /**
159
+ * The label, the help and the message, with the control between them.
160
+ *
161
+ * The control is passed in rather than produced by an overridable hook, for the reason
162
+ * `src/checkbox.ts` gives at its own: a hook whose base implementation returns a
163
+ * default cannot be told from one that returns nothing, and the mutation floor is what
164
+ * reports the difference.
165
+ *
166
+ * **The error is described before the help**, and the help is not replaced by it: a
167
+ * screen reader announces descriptions in order, and help text is usually the format
168
+ * requirement — which is the very suggestion a reader needs in order to recover
169
+ * (WCAG 3.3.3). `<ui-field>` decided that and this carries it.
170
+ */
171
+ protected frame(control: TemplateResult): TemplateResult;
172
+ /** The ids describing the control, in the order a reader needs them. */
173
+ protected described(): string | typeof nothing;
174
+ /** Whether the control announces itself as invalid, which the boundary reads. */
175
+ protected invalid(): string | typeof nothing;
11
176
  }
12
177
  /**
13
- * A text input, styled by the token layer rather than replaced.
14
- *
15
- * **The `<input>` is yours.** You write it, you set its attributes, and it stays in the
16
- * light DOM — so `type`, `required`, `readonly`, `name` and `value` are the platform's
17
- * business and there is no pass-through layer to fall out of step with them. It reaches a
18
- * form submit for the same reason: a native control inside a `<form>` participates
19
- * because it is a native control inside a `<form>`, with no `ElementInternals` and no
20
- * value mirroring. That was the open question on the issue, and the answer is that the
21
- * shape the accessibility rule forced happens to be the shape that answers it.
178
+ * A text input, drawn from the token layer rather than replaced.
22
179
  *
23
- * Composes with {@link UiField}, which finds the control through this wrapper and wires
24
- * the label, the help, the error and `aria-invalid` to it.
180
+ * **You write the tag, not a control.** RFC 0005 reversed the rule this element was built
181
+ * on: the `<input>`, its `<label>`, its help text and its message are rendered together in
182
+ * one shadow root, so the IDREFs resolve and there is nothing left for `<ui-field>` to
183
+ * wire. The attributes below are the platform's own, and the ones it computes with —
184
+ * `type`, `pattern`, `min`, `max`, `step` — are handed to a real `<input>` that validates
185
+ * them itself.
25
186
  *
26
187
  * @example
27
188
  * ```html
28
- * <ui-field>
29
- * <label slot="label">Amount</label>
30
- * <ui-input><input type="number" name="amount" /></ui-input>
31
- * <span slot="help">In BRL, two decimals.</span>
32
- * </ui-field>
189
+ * <ui-input label="Amount" help="In BRL, two decimals." type="number" name="amount"></ui-input>
33
190
  * ```
34
191
  */
35
- export declare class UiInput extends UiControl {
192
+ export declare class UiInput extends UiTextField {
36
193
  static readonly styles: CSSResult;
194
+ static readonly properties: {
195
+ type: {
196
+ type: StringConstructor;
197
+ reflect: boolean;
198
+ };
199
+ inputmode: {
200
+ type: StringConstructor;
201
+ reflect: boolean;
202
+ };
203
+ pattern: {
204
+ type: StringConstructor;
205
+ reflect: boolean;
206
+ };
207
+ min: {
208
+ type: StringConstructor;
209
+ reflect: boolean;
210
+ };
211
+ max: {
212
+ type: StringConstructor;
213
+ reflect: boolean;
214
+ };
215
+ step: {
216
+ type: StringConstructor;
217
+ reflect: boolean;
218
+ };
219
+ label: {
220
+ type: StringConstructor;
221
+ reflect: boolean;
222
+ };
223
+ help: {
224
+ type: StringConstructor;
225
+ reflect: boolean;
226
+ };
227
+ error: {
228
+ type: StringConstructor;
229
+ reflect: boolean;
230
+ };
231
+ name: {
232
+ type: StringConstructor;
233
+ reflect: boolean;
234
+ };
235
+ value: {
236
+ type: StringConstructor;
237
+ };
238
+ placeholder: {
239
+ type: StringConstructor;
240
+ reflect: boolean;
241
+ };
242
+ autocomplete: {
243
+ type: StringConstructor;
244
+ reflect: boolean;
245
+ };
246
+ minlength: {
247
+ type: StringConstructor;
248
+ reflect: boolean;
249
+ };
250
+ maxlength: {
251
+ type: StringConstructor;
252
+ reflect: boolean;
253
+ };
254
+ required: {
255
+ type: BooleanConstructor;
256
+ reflect: boolean;
257
+ };
258
+ disabled: {
259
+ type: BooleanConstructor;
260
+ reflect: boolean;
261
+ };
262
+ readonly: {
263
+ type: BooleanConstructor;
264
+ reflect: boolean;
265
+ };
266
+ };
267
+ /** Which control the platform draws, and which constraints it then applies. */
268
+ type: string;
269
+ /** Which keyboard a touch device offers, where `type` is not the right lever. */
270
+ inputmode: string;
271
+ /** The expression the value must match. Empty means no attribute is written. */
272
+ pattern: string;
273
+ /** The lowest accepted value, likewise. */
274
+ min: string;
275
+ /** The highest accepted value, likewise. */
276
+ max: string;
277
+ /** The granularity the value must fall on, likewise. */
278
+ step: string;
279
+ render(): TemplateResult;
37
280
  }
38
281
  /**
39
- * A multi-line text control, styled by the token layer rather than replaced.
282
+ * A multi-line text control, drawn from the token layer rather than replaced.
40
283
  *
41
- * Everything {@link UiInput} says applies. What differs is two rules: a height to start
42
- * at, and resizing left on the vertical axis — a control that cannot grow is one people
43
- * fight, and one that grows sideways breaks the layout around it.
284
+ * Everything {@link UiInput} says applies. What differs is two rules — a height to start
285
+ * at, and resizing left on the vertical axis, because a control that cannot grow is one
286
+ * people fight and one that grows sideways breaks the layout around it — and that a
287
+ * `<textarea>` has no `type` and no `pattern` to validate against.
44
288
  *
45
289
  * @example
46
290
  * ```html
47
- * <ui-field>
48
- * <label slot="label">Notes</label>
49
- * <ui-textarea><textarea name="notes" rows="4"></textarea></ui-textarea>
50
- * </ui-field>
291
+ * <ui-textarea label="Notes" name="notes" rows="4"></ui-textarea>
51
292
  * ```
52
293
  */
53
- export declare class UiTextarea extends UiControl {
294
+ export declare class UiTextarea extends UiTextField {
54
295
  static readonly styles: CSSResult[];
296
+ static readonly properties: {
297
+ rows: {
298
+ type: StringConstructor;
299
+ reflect: boolean;
300
+ };
301
+ label: {
302
+ type: StringConstructor;
303
+ reflect: boolean;
304
+ };
305
+ help: {
306
+ type: StringConstructor;
307
+ reflect: boolean;
308
+ };
309
+ error: {
310
+ type: StringConstructor;
311
+ reflect: boolean;
312
+ };
313
+ name: {
314
+ type: StringConstructor;
315
+ reflect: boolean;
316
+ };
317
+ value: {
318
+ type: StringConstructor;
319
+ };
320
+ placeholder: {
321
+ type: StringConstructor;
322
+ reflect: boolean;
323
+ };
324
+ autocomplete: {
325
+ type: StringConstructor;
326
+ reflect: boolean;
327
+ };
328
+ minlength: {
329
+ type: StringConstructor;
330
+ reflect: boolean;
331
+ };
332
+ maxlength: {
333
+ type: StringConstructor;
334
+ reflect: boolean;
335
+ };
336
+ required: {
337
+ type: BooleanConstructor;
338
+ reflect: boolean;
339
+ };
340
+ disabled: {
341
+ type: BooleanConstructor;
342
+ reflect: boolean;
343
+ };
344
+ readonly: {
345
+ type: BooleanConstructor;
346
+ reflect: boolean;
347
+ };
348
+ };
349
+ /** How many lines the control starts at. Empty leaves the platform's own default. */
350
+ rows: string;
351
+ render(): TemplateResult;
55
352
  }
56
353
  declare global {
57
354
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAyFjF;;;;;;GAMG;AACH,cAAM,SAAU,SAAQ,UAAU;IACrB,MAAM,IAAI,cAAc;CAGpC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IAClC,gBAAyB,MAAM,EAAE,SAAS,CAAW;CACxD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACrC,gBAAyB,MAAM,EAAE,SAAS,EAAE,CAQ1C;CACL;AAWD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,UAAU,EAAE,OAAO,CAAC;QACpB,aAAa,EAAE,UAAU,CAAC;KAC7B;CACJ"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AA8H1F;;;;;;;;;;;;;;GAcG;AACH,cAAM,WAAY,SAAQ,UAAU;;IAChC,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAQ;IAEtC;;;;;;OAMG;IACH,gBAAyB,iBAAiB;;;;;;;MAGxC;IAEF,gBAAyB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiBjC;IAEF;;;;;OAKG;IACH,KAAK,SAAM;IAEX,uFAAuF;IACvF,IAAI,SAAM;IAEV,gFAAgF;IAChF,KAAK,SAAM;IAEX;;;;;;OAMG;IACH,IAAI,SAAM;IAEV;;;;;;OAMG;IACH,KAAK,SAAM;IAEX,mFAAmF;IACnF,WAAW,SAAM;IAEjB,qFAAqF;IACrF,YAAY,SAAM;IAElB,+DAA+D;IAC/D,SAAS,SAAM;IAEf,4CAA4C;IAC5C,SAAS,SAAM;IAEf,4DAA4D;IAC5D,QAAQ,UAAS;IAEjB,oEAAoE;IACpE,QAAQ,UAAS;IAEjB,oEAAoE;IACpE,QAAQ,UAAS;IAkBjB;;;;;;;OAOG;IACM,OAAO,IAAI,IAAI;IAUxB;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAI,OAAO,KAAK,KAAG,IAAI,CAE7C;IAEF,SAAS,CAAC,QAAQ,CAAC,OAAO,QAAO,IAAI,CAEnC;IAEF;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAIzB,sFAAsF;IACtF,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI7C,iFAAiF;IACjF,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpD,uEAAuE;IACvE,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,gFAAgF;IAChF,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc;IAmBxD,wEAAwE;IACxE,SAAS,CAAC,SAAS,IAAI,MAAM,GAAG,OAAO,OAAO;IAQ9C,iFAAiF;IACjF,SAAS,CAAC,OAAO,IAAI,MAAM,GAAG,OAAO,OAAO;CAG/C;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OAAQ,SAAQ,WAAW;IACpC,gBAAyB,MAAM,EAAE,SAAS,CAAS;IAEnD,gBAAyB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQjC;IAEF,+EAA+E;IAC/E,IAAI,SAAU;IAEd,iFAAiF;IACjF,SAAS,SAAM;IAEf,gFAAgF;IAChF,OAAO,SAAM;IAEb,2CAA2C;IAC3C,GAAG,SAAM;IAET,4CAA4C;IAC5C,GAAG,SAAM;IAET,wDAAwD;IACxD,IAAI,SAAM;IAED,MAAM,IAAI,cAAc;CA2BpC;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,UAAW,SAAQ,WAAW;IACvC,gBAAyB,MAAM,EAAE,SAAS,EAAE,CAQ1C;IAEF,gBAAyB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGjC;IAEF,qFAAqF;IACrF,IAAI,SAAM;IAED,MAAM,IAAI,cAAc;CAsBpC;AAWD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,UAAU,EAAE,OAAO,CAAC;QACpB,aAAa,EAAE,UAAU,CAAC;KAC7B;CACJ"}