@fluentui/web-components 3.0.0-beta.83 → 3.0.0-beta.84

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.
Files changed (152) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/dist/dts/accordion-item/accordion-item.base.d.ts +71 -0
  3. package/dist/dts/accordion-item/accordion-item.d.ts +1 -71
  4. package/dist/dts/accordion-item/index.d.ts +2 -1
  5. package/dist/dts/anchor-button/anchor-button.base.d.ts +144 -0
  6. package/dist/dts/anchor-button/anchor-button.d.ts +2 -144
  7. package/dist/dts/anchor-button/index.d.ts +2 -1
  8. package/dist/dts/avatar/avatar.base.d.ts +42 -0
  9. package/dist/dts/avatar/avatar.d.ts +2 -42
  10. package/dist/dts/avatar/index.d.ts +2 -1
  11. package/dist/dts/button/button.base.d.ts +242 -0
  12. package/dist/dts/button/button.d.ts +2 -242
  13. package/dist/dts/button/index.d.ts +2 -1
  14. package/dist/dts/checkbox/checkbox.base.d.ts +288 -0
  15. package/dist/dts/checkbox/checkbox.d.ts +1 -288
  16. package/dist/dts/checkbox/index.d.ts +2 -1
  17. package/dist/dts/divider/divider.base.d.ts +49 -0
  18. package/dist/dts/divider/divider.d.ts +2 -49
  19. package/dist/dts/divider/index.d.ts +2 -1
  20. package/dist/dts/dropdown/dropdown.base.d.ts +418 -0
  21. package/dist/dts/dropdown/dropdown.d.ts +2 -418
  22. package/dist/dts/dropdown/dropdown.options.d.ts +1 -1
  23. package/dist/dts/dropdown/dropdown.template.d.ts +1 -1
  24. package/dist/dts/dropdown/index.d.ts +2 -1
  25. package/dist/dts/field/field.base.d.ts +120 -0
  26. package/dist/dts/field/field.d.ts +2 -120
  27. package/dist/dts/field/index.d.ts +2 -1
  28. package/dist/dts/link/link.d.ts +1 -1
  29. package/dist/dts/listbox/listbox.d.ts +1 -1
  30. package/dist/dts/progress-bar/index.d.ts +2 -1
  31. package/dist/dts/progress-bar/progress-bar.base.d.ts +73 -0
  32. package/dist/dts/progress-bar/progress-bar.d.ts +2 -73
  33. package/dist/dts/radio/radio.d.ts +1 -1
  34. package/dist/dts/rating-display/index.d.ts +2 -1
  35. package/dist/dts/rating-display/rating-display.base.d.ts +89 -0
  36. package/dist/dts/rating-display/rating-display.d.ts +1 -89
  37. package/dist/dts/spinner/index.d.ts +2 -1
  38. package/dist/dts/spinner/spinner.base.d.ts +14 -0
  39. package/dist/dts/spinner/spinner.d.ts +1 -14
  40. package/dist/dts/switch/switch.d.ts +1 -1
  41. package/dist/dts/tablist/index.d.ts +2 -1
  42. package/dist/dts/tablist/tablist.base.d.ts +95 -0
  43. package/dist/dts/tablist/tablist.d.ts +2 -95
  44. package/dist/dts/tabs/tabs.base.d.ts +90 -0
  45. package/dist/dts/tabs/tabs.d.ts +2 -90
  46. package/dist/dts/text-input/index.d.ts +2 -1
  47. package/dist/dts/text-input/text-input.base.d.ts +393 -0
  48. package/dist/dts/text-input/text-input.d.ts +2 -393
  49. package/dist/dts/textarea/index.d.ts +2 -1
  50. package/dist/dts/textarea/textarea.base.d.ts +347 -0
  51. package/dist/dts/textarea/textarea.d.ts +2 -347
  52. package/dist/esm/accordion/accordion.js +1 -1
  53. package/dist/esm/accordion/accordion.js.map +1 -1
  54. package/dist/esm/accordion-item/accordion-item.base.js +94 -0
  55. package/dist/esm/accordion-item/accordion-item.base.js.map +1 -0
  56. package/dist/esm/accordion-item/accordion-item.js +2 -91
  57. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  58. package/dist/esm/accordion-item/index.js +2 -1
  59. package/dist/esm/accordion-item/index.js.map +1 -1
  60. package/dist/esm/anchor-button/anchor-button.base.js +147 -0
  61. package/dist/esm/anchor-button/anchor-button.base.js.map +1 -0
  62. package/dist/esm/anchor-button/anchor-button.js +3 -145
  63. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  64. package/dist/esm/anchor-button/index.js +2 -1
  65. package/dist/esm/anchor-button/index.js.map +1 -1
  66. package/dist/esm/avatar/avatar.base.js +28 -0
  67. package/dist/esm/avatar/avatar.base.js.map +1 -0
  68. package/dist/esm/avatar/avatar.js +2 -26
  69. package/dist/esm/avatar/avatar.js.map +1 -1
  70. package/dist/esm/avatar/index.js +2 -1
  71. package/dist/esm/avatar/index.js.map +1 -1
  72. package/dist/esm/button/button.base.js +283 -0
  73. package/dist/esm/button/button.base.js.map +1 -0
  74. package/dist/esm/button/button.js +3 -281
  75. package/dist/esm/button/button.js.map +1 -1
  76. package/dist/esm/button/button.styles.js +2 -1
  77. package/dist/esm/button/button.styles.js.map +1 -1
  78. package/dist/esm/button/index.js +2 -1
  79. package/dist/esm/button/index.js.map +1 -1
  80. package/dist/esm/checkbox/checkbox.base.js +366 -0
  81. package/dist/esm/checkbox/checkbox.base.js.map +1 -0
  82. package/dist/esm/checkbox/checkbox.js +2 -363
  83. package/dist/esm/checkbox/checkbox.js.map +1 -1
  84. package/dist/esm/checkbox/index.js +2 -1
  85. package/dist/esm/checkbox/index.js.map +1 -1
  86. package/dist/esm/divider/divider.base.js +61 -0
  87. package/dist/esm/divider/divider.base.js.map +1 -0
  88. package/dist/esm/divider/divider.js +3 -58
  89. package/dist/esm/divider/divider.js.map +1 -1
  90. package/dist/esm/divider/index.js +2 -1
  91. package/dist/esm/divider/index.js.map +1 -1
  92. package/dist/esm/dropdown/dropdown.base.js +677 -0
  93. package/dist/esm/dropdown/dropdown.base.js.map +1 -0
  94. package/dist/esm/dropdown/dropdown.js +3 -674
  95. package/dist/esm/dropdown/dropdown.js.map +1 -1
  96. package/dist/esm/dropdown/index.js +2 -1
  97. package/dist/esm/dropdown/index.js.map +1 -1
  98. package/dist/esm/field/field.base.js +189 -0
  99. package/dist/esm/field/field.base.js.map +1 -0
  100. package/dist/esm/field/field.js +3 -187
  101. package/dist/esm/field/field.js.map +1 -1
  102. package/dist/esm/field/index.js +2 -1
  103. package/dist/esm/field/index.js.map +1 -1
  104. package/dist/esm/link/link.js +1 -1
  105. package/dist/esm/link/link.js.map +1 -1
  106. package/dist/esm/progress-bar/index.js +2 -1
  107. package/dist/esm/progress-bar/index.js.map +1 -1
  108. package/dist/esm/progress-bar/progress-bar.base.js +90 -0
  109. package/dist/esm/progress-bar/progress-bar.base.js.map +1 -0
  110. package/dist/esm/progress-bar/progress-bar.js +3 -87
  111. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  112. package/dist/esm/radio/radio.js +1 -1
  113. package/dist/esm/radio/radio.js.map +1 -1
  114. package/dist/esm/rating-display/index.js +2 -1
  115. package/dist/esm/rating-display/index.js.map +1 -1
  116. package/dist/esm/rating-display/rating-display.base.js +94 -0
  117. package/dist/esm/rating-display/rating-display.base.js.map +1 -0
  118. package/dist/esm/rating-display/rating-display.js +2 -92
  119. package/dist/esm/rating-display/rating-display.js.map +1 -1
  120. package/dist/esm/spinner/index.js +2 -1
  121. package/dist/esm/spinner/index.js.map +1 -1
  122. package/dist/esm/spinner/spinner.base.js +18 -0
  123. package/dist/esm/spinner/spinner.base.js.map +1 -0
  124. package/dist/esm/spinner/spinner.js +2 -17
  125. package/dist/esm/spinner/spinner.js.map +1 -1
  126. package/dist/esm/switch/switch.js +1 -1
  127. package/dist/esm/switch/switch.js.map +1 -1
  128. package/dist/esm/tablist/index.js +2 -1
  129. package/dist/esm/tablist/index.js.map +1 -1
  130. package/dist/esm/tablist/tablist.base.js +248 -0
  131. package/dist/esm/tablist/tablist.base.js.map +1 -0
  132. package/dist/esm/tablist/tablist.js +3 -245
  133. package/dist/esm/tablist/tablist.js.map +1 -1
  134. package/dist/esm/tabs/tabs.base.js +279 -0
  135. package/dist/esm/tabs/tabs.base.js.map +1 -0
  136. package/dist/esm/tabs/tabs.js +2 -276
  137. package/dist/esm/tabs/tabs.js.map +1 -1
  138. package/dist/esm/text-input/index.js +2 -1
  139. package/dist/esm/text-input/index.js.map +1 -1
  140. package/dist/esm/text-input/text-input.base.js +409 -0
  141. package/dist/esm/text-input/text-input.base.js.map +1 -0
  142. package/dist/esm/text-input/text-input.js +3 -407
  143. package/dist/esm/text-input/text-input.js.map +1 -1
  144. package/dist/esm/textarea/index.js +2 -1
  145. package/dist/esm/textarea/index.js.map +1 -1
  146. package/dist/esm/textarea/textarea.base.js +494 -0
  147. package/dist/esm/textarea/textarea.base.js.map +1 -0
  148. package/dist/esm/textarea/textarea.js +3 -491
  149. package/dist/esm/textarea/textarea.js.map +1 -1
  150. package/dist/web-components.js +682 -555
  151. package/dist/web-components.min.js +269 -269
  152. package/package.json +5 -1
@@ -0,0 +1,90 @@
1
+ import { FASTElement } from '@microsoft/fast-element';
2
+ import { TabsOrientation } from './tabs.options.js';
3
+ /**
4
+ * A Tabs component that wraps a collection of tab and tab panel elements.
5
+ *
6
+ * @public
7
+ */
8
+ export declare class BaseTabs extends FASTElement {
9
+ /**
10
+ * The orientation
11
+ * @public
12
+ * @remarks
13
+ * HTML Attribute: orientation
14
+ */
15
+ orientation: TabsOrientation;
16
+ /**
17
+ * @internal
18
+ */
19
+ orientationChanged(): void;
20
+ /**
21
+ * The id of the active tab
22
+ *
23
+ * @public
24
+ * @remarks
25
+ * HTML Attribute: activeid
26
+ */
27
+ activeid: string;
28
+ /**
29
+ * @internal
30
+ */
31
+ activeidChanged(oldValue: string, newValue: string): void;
32
+ /**
33
+ * @internal
34
+ */
35
+ tabs: HTMLElement[];
36
+ /**
37
+ * @internal
38
+ */
39
+ tabsChanged(): void;
40
+ /**
41
+ * @internal
42
+ */
43
+ tabpanels: HTMLElement[];
44
+ /**
45
+ * @internal
46
+ */
47
+ tabpanelsChanged(): void;
48
+ /**
49
+ * A reference to the active tab
50
+ * @public
51
+ */
52
+ activetab: HTMLElement;
53
+ private prevActiveTabIndex;
54
+ private activeTabIndex;
55
+ private tabIds;
56
+ private tabpanelIds;
57
+ private change;
58
+ private isDisabledElement;
59
+ private isHiddenElement;
60
+ private isFocusableElement;
61
+ private getActiveIndex;
62
+ /**
63
+ * Function that is invoked whenever the selected tab or the tab collection changes.
64
+ *
65
+ * @public
66
+ */
67
+ protected setTabs(): void;
68
+ private setTabPanels;
69
+ private getTabIds;
70
+ private getTabPanelIds;
71
+ private setComponent;
72
+ private handleTabClick;
73
+ private isHorizontal;
74
+ private handleTabKeyDown;
75
+ /**
76
+ * The adjust method for FASTTabs
77
+ * @public
78
+ * @remarks
79
+ * This method allows the active index to be adjusted by numerical increments
80
+ */
81
+ adjust(adjustment: number): void;
82
+ private adjustForward;
83
+ private adjustBackward;
84
+ private moveToTabByIndex;
85
+ private focusTab;
86
+ /**
87
+ * @internal
88
+ */
89
+ connectedCallback(): void;
90
+ }
@@ -1,94 +1,6 @@
1
- import { FASTElement } from '@microsoft/fast-element';
2
1
  import { StartEnd } from '../patterns/index.js';
3
- import { TabsAppearance, TabsOrientation, type TabsSize } from './tabs.options.js';
4
- /**
5
- * A Tabs component that wraps a collection of tab and tab panel elements.
6
- *
7
- * @public
8
- */
9
- export declare class BaseTabs extends FASTElement {
10
- /**
11
- * The orientation
12
- * @public
13
- * @remarks
14
- * HTML Attribute: orientation
15
- */
16
- orientation: TabsOrientation;
17
- /**
18
- * @internal
19
- */
20
- orientationChanged(): void;
21
- /**
22
- * The id of the active tab
23
- *
24
- * @public
25
- * @remarks
26
- * HTML Attribute: activeid
27
- */
28
- activeid: string;
29
- /**
30
- * @internal
31
- */
32
- activeidChanged(oldValue: string, newValue: string): void;
33
- /**
34
- * @internal
35
- */
36
- tabs: HTMLElement[];
37
- /**
38
- * @internal
39
- */
40
- tabsChanged(): void;
41
- /**
42
- * @internal
43
- */
44
- tabpanels: HTMLElement[];
45
- /**
46
- * @internal
47
- */
48
- tabpanelsChanged(): void;
49
- /**
50
- * A reference to the active tab
51
- * @public
52
- */
53
- activetab: HTMLElement;
54
- private prevActiveTabIndex;
55
- private activeTabIndex;
56
- private tabIds;
57
- private tabpanelIds;
58
- private change;
59
- private isDisabledElement;
60
- private isHiddenElement;
61
- private isFocusableElement;
62
- private getActiveIndex;
63
- /**
64
- * Function that is invoked whenever the selected tab or the tab collection changes.
65
- *
66
- * @public
67
- */
68
- protected setTabs(): void;
69
- private setTabPanels;
70
- private getTabIds;
71
- private getTabPanelIds;
72
- private setComponent;
73
- private handleTabClick;
74
- private isHorizontal;
75
- private handleTabKeyDown;
76
- /**
77
- * The adjust method for FASTTabs
78
- * @public
79
- * @remarks
80
- * This method allows the active index to be adjusted by numerical increments
81
- */
82
- adjust(adjustment: number): void;
83
- private adjustForward;
84
- private adjustBackward;
85
- private moveToTabByIndex;
86
- private focusTab;
87
- /**
88
- * @internal
89
- */
90
- connectedCallback(): void;
91
- }
2
+ import { BaseTabs } from './tabs.base.js';
3
+ import { TabsAppearance, type TabsSize } from './tabs.options.js';
92
4
  export declare class Tabs extends BaseTabs {
93
5
  /**
94
6
  * activeTabData
@@ -1,5 +1,6 @@
1
1
  export { definition as TextInputDefinition } from './text-input.definition.js';
2
- export { BaseTextInput, TextInput } from './text-input.js';
2
+ export { BaseTextInput } from './text-input.base.js';
3
+ export { TextInput } from './text-input.js';
3
4
  export { TextInputAppearance, TextInputControlSize, TextInputType } from './text-input.options.js';
4
5
  export type { TextInputOptions } from './text-input.options.js';
5
6
  export { styles as TextInputStyles } from './text-input.styles.js';
@@ -0,0 +1,393 @@
1
+ import { FASTElement } from '@microsoft/fast-element';
2
+ import { TextInputType } from './text-input.options.js';
3
+ /**
4
+ * A Text Input Custom HTML Element.
5
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input | `<input>`} element.
6
+ *
7
+ * @slot start - Content which can be provided before the input
8
+ * @slot end - Content which can be provided after the input
9
+ * @slot - The default slot for button content
10
+ * @csspart label - The internal `<label>` element
11
+ * @csspart root - the root container for the internal control
12
+ * @csspart control - The internal `<input>` control
13
+ * @public
14
+ */
15
+ export declare class BaseTextInput extends FASTElement {
16
+ /**
17
+ * Indicates the element's autocomplete state.
18
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Attributes/autocomplete | `autocomplete`} attribute
19
+ *
20
+ * @public
21
+ * @remarks
22
+ * HTML Attribute: `autocomplete`
23
+ */
24
+ autocomplete?: string;
25
+ /**
26
+ * Indicates that the element should get focus after the page finishes loading.
27
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Element/input#autofocus | `autofocus`} attribute
28
+ *
29
+ * @public
30
+ * @remarks
31
+ * HTML Attribute: `autofocus`
32
+ */
33
+ autofocus: boolean;
34
+ /**
35
+ * The current value of the input.
36
+ * @public
37
+ * @remarks
38
+ * HTML Attribute: `current-value`
39
+ */
40
+ currentValue: string;
41
+ /**
42
+ * Tracks the current value of the input.
43
+ *
44
+ * @param prev - the previous value
45
+ * @param next - the next value
46
+ *
47
+ * @internal
48
+ */
49
+ currentValueChanged(prev: string, next: string): void;
50
+ /**
51
+ * The default slotted content. This is the content that appears in the text field label.
52
+ *
53
+ * @internal
54
+ */
55
+ defaultSlottedNodes: Node[];
56
+ /**
57
+ * Updates the control label visibility based on the presence of default slotted content.
58
+ *
59
+ * @internal
60
+ */
61
+ defaultSlottedNodesChanged(prev: Node[] | undefined, next: Node[] | undefined): void;
62
+ /**
63
+ * Sets the directionality of the element to be submitted with form data.
64
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Attributes/dirname | `dirname`} attribute
65
+ *
66
+ * @public
67
+ * @remarks
68
+ * HTML Attribute: `dirname`
69
+ */
70
+ dirname?: string;
71
+ /**
72
+ * Sets the element's disabled state.
73
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Attributes/disabled | `disabled`} attribute
74
+ *
75
+ * @public
76
+ * @remarks
77
+ * HTML Attribute: `disabled`
78
+ */
79
+ disabled?: boolean;
80
+ /**
81
+ * The id of a form to associate the element to.
82
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Element/input#form | `form`} attribute
83
+ *
84
+ * @public
85
+ * @remarks
86
+ * HTML Attribute: `form`
87
+ */
88
+ formAttribute?: string;
89
+ /**
90
+ * The initial value of the input.
91
+ *
92
+ * @public
93
+ * @remarks
94
+ * HTML Attribute: `value`
95
+ */
96
+ initialValue: string;
97
+ /**
98
+ * Sets the value of the element to the initial value.
99
+ *
100
+ * @internal
101
+ */
102
+ initialValueChanged(): void;
103
+ /**
104
+ * Allows associating a `<datalist>` to the element by ID.
105
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Element/input#list | `list`} attribute
106
+ *
107
+ * @public
108
+ * @remarks
109
+ * HTML Attribute: `list`
110
+ */
111
+ list: string;
112
+ /**
113
+ * The maximum number of characters a user can enter.
114
+ *
115
+ * @public
116
+ * @remarks
117
+ * HTML Attribute: `maxlength`
118
+ */
119
+ maxlength: number;
120
+ /**
121
+ * The minimum number of characters a user can enter.
122
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Attributes/minlength | `minlength`} attribute
123
+ *
124
+ * @public
125
+ * @remarks
126
+ * HTML Attribute: `minlength`
127
+ */
128
+ minlength: number;
129
+ /**
130
+ * Indicates that a comma-separated list of email addresses can be entered. This attribute is only valid when `type="email"`.
131
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Attributes/multiple | `multiple`} attribute
132
+ *
133
+ * @public
134
+ * @remarks
135
+ * HTML Attribute: `multiple`
136
+ */
137
+ multiple: boolean;
138
+ /**
139
+ * The name of the element. This element's value will be surfaced during form submission under the provided name.
140
+ *
141
+ * @public
142
+ * @remarks
143
+ * HTML Attribute: `name`
144
+ */
145
+ name: string;
146
+ /**
147
+ * A regular expression that the value must match to pass validation.
148
+ *
149
+ * @public
150
+ * @remarks
151
+ * HTML Attribute: `pattern`
152
+ */
153
+ pattern: string;
154
+ /**
155
+ * Sets the placeholder value of the element, generally used to provide a hint to the user.
156
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Attributes/placeholder | `placeholder`} attribute
157
+ *
158
+ * @public
159
+ * @remarks
160
+ * HTML Attribute: `placeholder`
161
+ * This attribute is not a valid substitute for a label.
162
+ */
163
+ placeholder: string;
164
+ /**
165
+ * When true, the control will be immutable by user interaction.
166
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Attributes/readonly | `readonly`} attribute
167
+ *
168
+ * @public
169
+ * @remarks
170
+ * HTML Attribute: `readonly`
171
+ */
172
+ readOnly?: boolean;
173
+ /**
174
+ * Syncs the `ElementInternals.ariaReadOnly` property when the `readonly` property changes.
175
+ *
176
+ * @internal
177
+ */
178
+ readOnlyChanged(): void;
179
+ /**
180
+ * The element's required attribute.
181
+ *
182
+ * @public
183
+ * @remarks
184
+ * HTML Attribute: `required`
185
+ */
186
+ required: boolean;
187
+ /**
188
+ * Syncs the element's internal `aria-required` state with the `required` attribute.
189
+ *
190
+ * @param previous - the previous required state
191
+ * @param next - the current required state
192
+ *
193
+ * @internal
194
+ */
195
+ requiredChanged(previous: boolean, next: boolean): void;
196
+ /**
197
+ * Sets the width of the element to a specified number of characters.
198
+ *
199
+ * @public
200
+ * @remarks
201
+ * HTML Attribute: `size`
202
+ */
203
+ size: number;
204
+ /**
205
+ * Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.
206
+ * @see The {@link https://developer.mozilla.org/docs/Web/HTML/Global_attributes/spellcheck | `spellcheck`} attribute
207
+ *
208
+ * @public
209
+ * @remarks
210
+ * HTML Attribute: `spellcheck`
211
+ */
212
+ spellcheck: boolean;
213
+ /**
214
+ * Allows setting a type or mode of text.
215
+ *
216
+ * @public
217
+ * @remarks
218
+ * HTML Attribute: `type`
219
+ */
220
+ type: TextInputType;
221
+ /**
222
+ * A reference to the internal input element.
223
+ *
224
+ * @internal
225
+ */
226
+ control: HTMLInputElement;
227
+ /**
228
+ * A reference to the internal label element.
229
+ *
230
+ * @internal
231
+ */
232
+ controlLabel: HTMLLabelElement;
233
+ /**
234
+ * Indicates that the value has been changed by the user.
235
+ *
236
+ * @internal
237
+ */
238
+ private dirtyValue;
239
+ /**
240
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
241
+ *
242
+ * @internal
243
+ */
244
+ elementInternals: ElementInternals;
245
+ /**
246
+ * The form-associated flag.
247
+ * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
248
+ *
249
+ * @public
250
+ */
251
+ static readonly formAssociated = true;
252
+ /**
253
+ * The element's validity state.
254
+ *
255
+ * @public
256
+ * @remarks
257
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/validity | `ElementInternals.validity`} property.
258
+ */
259
+ get validity(): ValidityState;
260
+ /**
261
+ * The validation message.
262
+ *
263
+ * @public
264
+ * @remarks
265
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/validationMessage | `ElementInternals.validationMessage`} property.
266
+ */
267
+ get validationMessage(): string;
268
+ /**
269
+ * The current value of the input.
270
+ * @public
271
+ */
272
+ get value(): string;
273
+ set value(value: string);
274
+ /**
275
+ * Determines if the control can be submitted for constraint validation.
276
+ *
277
+ * @public
278
+ * @remarks
279
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/willValidate | `ElementInternals.willValidate`} property.
280
+ */
281
+ get willValidate(): boolean;
282
+ /**
283
+ * The associated form element.
284
+ *
285
+ * @public
286
+ * @remarks
287
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/form | `ElementInternals.form`} property.
288
+ */
289
+ get form(): HTMLFormElement | null;
290
+ /**
291
+ * Handles the internal control's `keypress` event.
292
+ *
293
+ * @internal
294
+ */
295
+ beforeinputHandler(e: InputEvent): boolean | void;
296
+ /**
297
+ * Change event handler for inner control.
298
+ *
299
+ * @internal
300
+ * @privateRemarks
301
+ * "Change" events are not `composable` so they will not permeate the shadow DOM boundary. This function effectively
302
+ * proxies the change event, emitting a `change` event whenever the internal control emits a `change` event.
303
+ */
304
+ changeHandler(e: InputEvent): boolean | void;
305
+ /**
306
+ * Checks the validity of the element and returns the result.
307
+ *
308
+ * @public
309
+ * @remarks
310
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/checkValidity | `HTMLInputElement.checkValidity()`} method.
311
+ */
312
+ checkValidity(): boolean;
313
+ /**
314
+ * Clicks the inner control when the component is clicked.
315
+ *
316
+ * @param e - the event object
317
+ */
318
+ clickHandler(e: MouseEvent): boolean | void;
319
+ connectedCallback(): void;
320
+ /**
321
+ * Focuses the inner control when the component is focused.
322
+ *
323
+ * @param e - the event object
324
+ * @public
325
+ */
326
+ focusinHandler(e: FocusEvent): boolean | void;
327
+ /**
328
+ * Resets the value to its initial value when the form is reset.
329
+ *
330
+ * @internal
331
+ */
332
+ formResetCallback(): void;
333
+ /**
334
+ * Handles implicit form submission when the user presses the "Enter" key.
335
+ *
336
+ * @internal
337
+ */
338
+ private implicitSubmit;
339
+ /**
340
+ * Handles the internal control's `input` event.
341
+ *
342
+ * @internal
343
+ */
344
+ inputHandler(e: InputEvent): boolean | void;
345
+ /**
346
+ * Handles the internal control's `keydown` event.
347
+ *
348
+ * @param e - the event object
349
+ * @internal
350
+ */
351
+ keydownHandler(e: KeyboardEvent): boolean | void;
352
+ /**
353
+ * Selects all the text in the text field.
354
+ *
355
+ * @public
356
+ * @privateRemarks
357
+ * The `select` event does not permeate the shadow DOM boundary. This function effectively proxies the event,
358
+ * emitting a `select` event whenever the internal control emits a `select` event
359
+ *
360
+ */
361
+ select(): void;
362
+ /**
363
+ * Sets the custom validity message.
364
+ * @param message - The message to set
365
+ *
366
+ * @public
367
+ */
368
+ setCustomValidity(message: string): void;
369
+ /**
370
+ * Reports the validity of the element.
371
+ *
372
+ * @public
373
+ * @remarks
374
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/reportValidity | `HTMLInputElement.reportValidity()`} method.
375
+ */
376
+ reportValidity(): boolean;
377
+ /**
378
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/setFormValue | `ElementInternals.setFormValue()`} method.
379
+ *
380
+ * @internal
381
+ */
382
+ setFormValue(value: File | string | FormData | null, state?: File | string | FormData | null): void;
383
+ /**
384
+ * Sets the validity of the control.
385
+ *
386
+ * @param flags - Validity flags. If not provided, the control's `validity` will be used.
387
+ * @param message - Optional message to supply. If not provided, the control's `validationMessage` will be used. If the control does not have a `validationMessage`, the message will be empty.
388
+ * @param anchor - Optional anchor to use for the validation message. If not provided, the control will be used.
389
+ *
390
+ * @internal
391
+ */
392
+ setValidity(flags?: Partial<ValidityState>, message?: string, anchor?: HTMLElement): void;
393
+ }